Парсировщик (НОВЫЙ инструмент для изучения метаданных + загрузка предопределенных значений из табличного документа)

15.08.11

Разработка - Инструментарий разработчика

Обработка, добавляющая наглядности работе программы V8Unpack. Главным преимуществом перед другими программами этого рода является наличие автоматизированной возможности закачать предопределенные элементы в справочники, планы видов характеристик и планы счетов из табличного документа.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Бесплатно
Парсировщик.epf
.epf 365,28Kb
743
743 Скачать бесплатно

Выкладываю свое видение решения давно наболевшей проблемы. Результат еще сырой - буду доделывать. Сообщайте об ошибках.

Всем разработчикам, идеи и начинания которых так или иначе использовались при создании этой обработки громадное спасибо. А именно -

Disa_da - проект V8Unpack 2.0 - использован в качестве начинки обработки

Disa_da - Разбор файла описания1С 81 - использован в скорректированном виде в качестве дополнительного инструмента изучения метаданных

MMF - проект Плагин TotalCommander-а просмотра файлов 1C v8 - все визуальное оформление сделано по образу и подобию

German - использована идея построения дерева предопределенных значений из полученного в результате  обработки V8Unpack-ом служебного файла.

awa - использован накопленный материал по статическим GUID-ам

MAV - в качестве просмотра файлов справки использован HTML-Editor, входящий в состав CD к книге "1С:Предприятие 7.7/8.0 Системное программирование"

Ну, и, собственно сама обработка "Загрузка данных из табличного документа" (с диска ИТС).

Обновление 15.08.2011

Добавлено дерево файлов для удобной навигации по файлам каталога распаковки

Доработаны существующие механизмы по их применимости к обработкам/конфигурациям версии 8.2.

Устранена причина ошибки "не найдена библиотека zlib1"

Все очевидные (для меня, по крайней мере) недочеты исправлены.

 

См. также

SALE! 15%

Инструментарий разработчика Роли и права Запросы СКД Программист Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Конфигурации 1cv8 Платные (руб)

Набор инструментов программиста и специалиста 1С для всех конфигураций на управляемых формах. В состав входят инструменты: Консоль запросов, Консоль СКД, Консоль кода, Редактор объекта, Анализ прав доступа, Метаданные, Поиск ссылок, Сравнение объектов, Все функции, Подписки на события и др. Редактор запросов и кода с раскраской и контекстной подсказкой. Доработанный конструктор запросов тонкого клиента. Продукт хорошо оптимизирован и обладает самым широким функционалом среди всех инструментов, представленных на рынке.

10000 руб.

02.09.2020    159447    872    399    

861

SALE! 15%

Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Системный администратор Программист Руководитель проекта Платформа 1С v8.3 Конфигурации 1cv8 1С:Управление торговлей 10 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP и т.д.). Поддерживаются управляемые и обычные формы. Может выполнять свертку сразу нескольких баз данных и выполнять их автоматически без непосредственного участия пользователя.

8400 7140 руб.

20.08.2024    7775    55    22    

66

Инструментарий разработчика Программист Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Инструмент для написания и отладки кода в режиме «1С:Предприятие». Представляет собой консоль кода с возможностью пошаговой отладки, просмотра значений переменных любых типов, использования процедур и функций, просмотра стека вызовов, вычисления произвольных выражений на встроенном языке в контексте точки останова, синтаксического контроля и остановки по ошибке. В консоли используется удобный редактор кода с подсветкой, контекстной подсказкой, возможностью вызова конструкторов запроса и форматной строки.

9360 руб.

17.05.2024    23438    68    45    

117

SALE! 15%

Инструменты администратора БД Инструментарий разработчика Роли и права Программист Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Расширение позволяет без изменения кода конфигурации выполнять проверки при вводе данных, скрывать от пользователя недоступные ему данные, выполнять код в обработчиках. Не изменяет данные конфигурации, легко устанавливается практически на любую конфигурацию на управляемых формах.

10000 8500 руб.

10.11.2023    10431    36    24    

61

SALE! 15%

Пакетная печать Печатные формы Инструментарий разработчика Программист Платформа 1С v8.3 Запросы 1С:Зарплата и кадры бюджетного учреждения 1С:Конвертация данных 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Платные (руб)

Инструмент, позволяющий абсолютно по-новому взглянуть на процесс разработки печатных форм. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и "прозрачность" разработки, а также навести порядок в многообразии корпоративных печатных форм.

22200 19980 руб.

06.10.2023    15401    35    7    

70

SALE! 35%

Инструментарий разработчика Инструменты администратора БД Системный администратор Программист Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

Универсальный инструмент программиста для администрирования конфигураций. Сборник наиболее часто используемых обработок под единым интерфейсом.

4800 3120 руб.

14.01.2013    187987    1138    0    

912

SALE! 15%

Инструментарий разработчика Программист 8.3.14 1С:Конвертация данных Россия Платные (руб)

Расширение для конфигурации “Конвертация данных 3”. Добавляет подсветку синтаксиса, детальную контекстную подсказку, глобальный поиск по коду.

15000 12750 руб.

07.10.2021    17303    6    32    

42

Инструментарий разработчика Программист Платные (руб)

Менеджер конфигураций 1С — альтернативный стартер информационных баз 1С:Предприятие.

1800 руб.

21.02.2023    7696    8    35    

23
Вознаграждение за ответ
Показать полностью
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. artbear 1563 07.05.10 13:39 Сейчас в теме
Молодец! Уже за идею плюсую
2. German 413 07.05.10 23:14 Сейчас в теме
а может вот так ?

1. Загрузить элементы
2. Изменить им свойство предопределенности?

http://main.1c-ei.ru/Articles/ismeta

так что преимущество под сомнением :)
3. bambr1975 881 08.05.10 10:40 Сейчас в теме
(2) Пальму первенства отбирать не собираюсь. Копаем одно и то же, в разное время и в разном месте. Спасибо за проявленный интерес. Большая честь! :)
4. detec 136 12.06.10 09:40 Сейчас в теме
На 64-битной ОС пишет, что не может найти библиотеку zlibeng.dll. Я её регистрировал и в c:\Windows\System32\, и в c:\Windows\SysWOW64\

А вообще просьба всем тем, кто использует разного рода внешние компоненты в разработках. Тестируйте свои творения под 64-битными ОС. Мир не ограничен узкими окошками 32-битной XP SP2-3. Куча разработок с Инфостарта у меня полетела в мусорку, т.к. не была реализована корректная работа на 64 битах.
Луна5; +1 Ответить
6. bambr1975 881 15.08.11 12:24 Сейчас в теме
(4) Выложил новую версию. Ошибка повторяться не должна.
7. andrewbc 332 23.08.11 23:20 Сейчас в теме
Извиняюсь, но вообще не работает в режиме управляемого приложения под 8.2. Пора бы уже это учитывать. (Это в добавку к (4)).
8. bambr1975 881 24.08.11 18:52 Сейчас в теме
(7) Возможно, позже сделаю.
5. mozz 148 21.04.11 10:26 Сейчас в теме
Автору респект и уважуха!
9. mevgenym 87 08.09.11 09:44 Сейчас в теме
оч хорошо сделано, правда хотел поломатую конфу восстановить, не получилось, но эт неважно
10. karbofos 06.10.11 14:07 Сейчас в теме
Нужная вещь. Беру на вооружение. Автору респект.
11. CaSH_2004 373 07.10.11 22:00 Сейчас в теме
Подскажите страждущему О ИСКУШЕННЫЕ КОВЫРЯЛЩИКИ ВНУТРЕННОСТЕЙ, есть ли какой способ (желательно без танцев с бубном в полнолуние в 13-ю пятницу 13-го числа, если такое бывает) чтобы можно было в обычную обработку (epf) засунуть двоичные данные не заходя в конфигуратор, как например все делают с макетом в конфигураторе - засовывают разные компоненты и другие файлы. Есть потребность но не вижу инструмента, на 7-ке вроде встречал но сейчас (во всяком случае хранение и распаковка как в 1С8) но уже не хочется бедную лохматить.
Отзовитесь О МОГУЩЕСТВЕННЫЕ!!!
12. svvinks 9 10.10.11 19:51 Сейчас в теме
(11) CaSH_2004, Без бубна - это обработку записать в дополнительные обработки и прилепить к ней макет в виде параметра
13. CaSH_2004 373 10.10.11 22:51 Сейчас в теме
(12)Это ты про что? Я хочу в одной обработке все хранить в виде макетов или еще чего, а ты про конфу что-ли?
14. bissov 31 12.12.11 13:03 Сейчас в теме
Это очень круто, спасибо!!!
15. RustIG 1747 30.01.12 02:30 Сейчас в теме
(0) попробовал распаковать базовую версию, добавить предопределенный элемент, далее запаковать файлы в конфу: получилось. Только не понимаю, остается ли базовая версия от таких манипуляций "базовой"? И почему, считается, что "базовые" конфигурации нельзя редактировать, если можно "включить возможность изменения" через настройку поддержки? вопрос скорее организационно-юридический, чем технический. и все же не понимаю - можете прокомментировать? заранее спасибо.
16. bambr1975 881 30.01.12 07:25 Сейчас в теме
Разработка "Парсировщика" носила экспериментационный характер. Всерьез я ничего редактировать таким образом не рекомендую.
Касательно отличий "базовых" версий КОНФИГУРАЦИЙ от "ПРОФ" есть отличный материал - http://infostart.ru/public/98417/
В любом случае - главное отличие этих версий от версий "ПРОФ" в другом строении форм - наверное, именно этим и обеспечивается их монопользовательский режим.
А "включить возможность изменения" в случае наличия у Вас "базовой" ПЛАТФОРМЫ все равно не получится - этот пункт меню будет заблокирован.
17. RustIG 1747 30.01.12 14:03 Сейчас в теме
(16) Спасибо большое за ответ! Нашел ответы на свои вопросы. :)
18. Kaperang 99 26.03.12 11:08 Сейчас в теме
А как закачать предопределенные значения? Копался полчаса, так и не нашел.
19. Kaperang 99 26.03.12 11:13 Сейчас в теме
Вроде нашел. Если у объекта уже есть предопределенные значения, в дереве метаданных у этого объекта уже отображается раздел "Предопределенные". Можно запустить форму просмотра и загрузки предопределенных значений выбрав этот пункт. А как быть, если у объекта нет предопределенных значений и соответствующего раздела в модуле?
20. bambr1975 881 26.03.12 11:30 Сейчас в теме
(19) Kaperang, для этого надо просто хотя бы раз открыть форму предопределенных значений этого объекта в конфигураторе в стандартном режиме (при включенной возможности изменения конфигурации, естественно).
21. Kaperang 99 02.05.12 17:10 Сейчас в теме
Коллега, я снова к Вам с поклоном... :oops:

В прошлый раз Вы мне сформулировали паттерн имени объекта следующего вида "\{\d,[\d]+,\w{8}-\w{4}-\w{4}-\w{4}-\w{12}\},""(\S+?)"",\n?"
Теперьмне нужно сформулировать паттерн синонима объекта. Пример текста для изменения:
"{1,
{47,314e75be-9c96-4a70-a5fb-f73d37e7306f,5e66eea4-01d2-497a-9769-07c9207a4dde,de2fb776-fa0b-4bb3-a39f-f77b7cba2605,f12f2c3d-cb90-439f-8a2c-cb4556571835,2e22d328-007d-41e2-a237-73afc542b898,93f7a53d-21bc-40a9-9026-f5d3dee901ce,4c2e70c5-c785-47b6-bf54-d6f8e2263b15,bcae4342-d29a-4958-8d80-463ca084a4b3,
{0,
{0,
{0,0,961f1aa0-9c85-4fd3-b49a-c081a737f64a},"ааАвтомобили",
{1,"ru","Автомобили"},"Автомобили"}
},2,1,
"

Не поможете по старой памяти?
22. bambr1975 881 02.05.12 17:51 Сейчас в теме
(21) Kaperang - с церемониями Вы явно переборщили
\{\d,[\d]+,\w{8}-\w{4}-\w{4}-\w{4}-\w{12}\},""\S+?"",\n?\{\d+(,[^,]*,""([^""]*(("""")?[^""]*("""")?)*[^""]*)"")*\}
Срабатывает на сложные многоязычные синонимы с множественными кавычками
Искать Match.SubMatches(1) (если синоним многоязычный - нужен доп. цикл для разбора Match.SubMaches(0) - иначе в результат попадет последний найденный - но обычно язык один - этого достаточно для нахождения)
23. Kaperang 99 03.05.12 15:45 Сейчас в теме
Спасибо, помогло!
Правда выскочил забавный баг: параллельно изменились тексты интерфейсов - везде проставился префикс.
Причем, файлик, где хранится сама структура интерфейса, вроде как не затрагивается. Правится только "файл заголовка".
Теоретически названия пунктов меню должны были взяться из этого файлика, т.е. без префиксов. Ан нет, в меню "ааНоменклатура", "ааКонтрагенты" и т.д.
В итоге, подправил через "Групповой поиск и замену".
24. p_kuzmichev 8 05.09.13 15:57 Сейчас в теме
Супер!!! Вот только конфигуратор не видит изменения, внесенные в парсере. Т.е. стандартный механизм сравнения конфигураций, не видит различий в конфах, хотя я их внес в парсере, и, если открыть обьект, они действительно есть. Мало того, можно даже не включая возможности редактирования конфигурации, внести в нее изменения.
25. p_kuzmichev 8 05.09.13 15:58 Сейчас в теме
Супер!!! Вот только конфигуратор не видит изменения, внесенные в парсере. Т.е. стандартный механизм сравнения конфигураций, не видит различий в конфах, хотя я их внес в парсере, и, если открыть обьект, они действительно есть. Мало того, можно даже не включая возможности редактирования конфигурации, внести в нее изменения.
26. bambr1975 881 05.09.13 20:32 Сейчас в теме
(25) p_kuzmichev, если вы загрузите полученную конфигурацию в пустую базу - изменения там будут. У Вас изменения не отобразились, потому что Вы просто накатили полученную конфигурацию на такую же, с теми же идентификаторами версий объектов. А таблица versions у меня не меняется... Поэтому при сравнении (а сравниваются версии объектов, а не их внутреннее представление) ничего не показывает. Парсировщик - не хирургический инструмент. Это скорее, просто инструкция к внутреннему представлению файлов 1С.
27. Madj 31.10.13 10:59 Сейчас в теме
(26) можно ли каким-то образом изменять таблицу versions, чтобы видеть внесенные изменения?
(25) p_kuzmichev, можно загрузить конфигурацию после упаковки в пустую базу, затем воспользоваться "Выгрузить конфигурацию в файлы". И опять же в пустую "Загрузить конфигурацию из файлов" - это покажет изменения, но загрузка таким образом может добавлять свои изменения, например, в ролях. Изменения модей объектов и модулей формы показывает корректно.
28. bambr1975 881 31.10.13 11:15 Сейчас в теме
>можно ли каким-то образом изменять таблицу versions, чтобы видеть внесенные изменения?
(27) Madj, поправочка - не таблицу versions, а внутренний файл versions (ну, с кем не бывает).
Можно, но у меня такой задачи не стояло. Подобным способом вносить изменения в конфигурацию я не рекомендую (об этом уже говорилось). Потому что действительно, как вы и сказали - для этого есть стандартные средства. Правда не подо все задачи они подходят. Но меня, конечно, очень радует, что вам стандартных средств достаточно.
29. Bac3 11.04.15 23:31 Сейчас в теме
Большое спасибо!
Нашел ошибку в своей конфигурации. Исправил

Была ошибка "нарушена целостность структуры конфигурации".
Оказалось что не хватало файла для объекта метаданных перечисления.
Распаковал рабочую базу и взял оттуда скопировал в эту.
Упаковал обратно и все норм стало!
:)
Оставьте свое сообщение