Описание формата контейнера 1С (CF, EPF, ERF, CFE) с помощью БНФ. Предлагается внешняя компонента на С

27.11.24

Разработка - Разработка внешних компонент

На чем только не писали работу с контейнером: C++, C#, Python, Delphi (Lazarus), и даже на такой экзотике, как Lua и 1С! Хотите экзотик, их есть у меня! И это… язык C!

Скачать файл

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

Наименование По подписке [?] Купить один файл
Обработка с внешней компонентой на C для работы с контейнером 1С
.epf 3,59Mb ver:2.0.0.2
14
14 Скачать (5 SM) Купить за 3 050 руб.

Зачем?! На C и вправду ничего в экосистеме 1С нет. Или мне не попадалось. И, кроме пополнения списка в статье VKislitsin, хотелось сравнить скорость с платформой 1С. Здесь, правда, возникает проблема: если получить скорость разбора контейнера в компоненте просто, как получить эту скорость в 1С? Приходится прибегать к замеру «по часам», что даёт очень не точный результат.

В Windows в режиме тонкого клиента среднее значение времени получения метаданных из ERP 2.5.12.48 компонентой составляет 640 мс. Открытие того же файла в 1С Конфигураторе 8.3.23.1739 (х64) – около 5 000 мс. Таким образом, прирост скорости в ≈ 8 раз. Но из внешней компоненты возвращается текст в JSON, его разбор и отображение в 1С занимает, вместе с запросом в ВК, ≈ 3000 мс. При таком расчете прирост скорости падает с 8 до ≈ 1,7 раза.

Для тестирования скорости желательно временно отключить Защиту в реальном времени Microsoft Defender (если он у вас включен). Служба Antimalware service executable очень сильно тормозить выполнение ВК. 

 

В Linux, запущенной в Oracle VM VirtualBox, в режиме тонкого клиента среднее значение времени получения метаданных из ERP 2.5.12.48 компонентой составляет 1030 мс. Открытие того же файла в 1С Конфигураторе 8.3.23.1739 (х64) – около 20 000 мс. Таким образом, прирост скорости в ≈ 20 раз. Как неожиданно и... странно!

Для реализации работы в веб-клиенте использовалась обработка из статьи Решение для работы внешней компоненты в веб-браузере под Windows и Linux: 1С + Installer.

Эта статья, в некотором смысле, опирается на работу Андрея Овсянкина Описание формата файлов конфигурации (CF, EPF, ERF) и использует её терминологию.

Работу с контейнером можно разделить на два уровня: уровень файлов и уровень метаданных. В этой статье речь пойдёт больше про уровень файлов и, совсем немного, про уровень метаданных.

Контейнер – файл с конфигурацией (cf),  внешняя обработка (epf), внешний отчет (erf) или расширение (cfe). Если проводить аналогию с файловой системой, то контейнер - это логический диск. Файл внутри контейнера – это поименованная совокупность данных. Файл всегда состоит из двух документов: документа заголовка и документа с содержимым файла. Документ, в свою очередь, состоит из блоков. Блок – это структура из заголовка и следующего строго за ним тела блока. Начиная с версии платформы 8.3.16, появилась новая версия контейнера. Эта версия есть только для конфигурации (cf), и представляет собой адаптацию для работы с 64-х разрядными (UINT64) адресами (старая версия работает с 32-х разрядными (INT32) адресами).

Метаданное – это связанная совокупность файлов. Метаданные – вся структура метаданных в контейнере. В контейнере для работы с метаданными находятся несколько вспомогательных файлов: root, version, versions, copyinfo, configinfo. Root/configinfo – это файл, с которого начинается работа с метаданными контейнера. 

Root используется для конфигурации (cf),  внешней обработке (epf), внешнего отчета (erf), для расширения (cfe) – configinfo. Внутри root файла находится id файла с описанием структуры метаданных.

В файле version находится информация о версии контейнера, например: {{216,0,{80323,0}}}, где 80323 – номер версии. Если номер версии меньше 80316 – версия с 32-х разрядной адресацией, иначе – с 64-х разрядной. Имеет смысл только для конфигурации, в обработке, отчете, расширении всегда 32-х разрядная версия, вне зависимости от того, что написано в файле version.

В файле versions находятся пары «id метаданного», id версии метаданного. Используется для кэширования метаданных. 

В файле copyinfo в формате внутренних данных 1С хранится информация об изменениях. Есть, судя по всему, только во внешних отчётах и обработках.

Configinfo используется в расширении вместо root, version, versions.

В файле с описанием структуры метаданных, в разделах видов метаданных находится список id самих метаданных. Id метаданного совпадает с именем файла атрибутов, содержащим описание метаданного. В этом файле находится список частей метаданного произвольного количества: формы, макеты, команды, перерасчеты. Помимо этого у метаданного, в зависимости от его вида метаданного, могут быть постфиксы единичных частей: модуль объекта, модуль менеджера, справочная информация и так далее.

Например, в ERP 2.5.12.48.cf, у справочника Файлы с id e7b0ae70-0192-456c-9dc5-e66049fa9df2, постфикса модуля объекта (см. ниже таблицу) - 0, то есть, id файла с модулем объекта - id.0, e7b0ae70-0192-456c-9dc5-e66049fa9df2.0. Аналогично, модуль менеджера - e7b0ae70-0192-456c-9dc5-e66049fa9df2.3, справочная информация, e7b0ae70-0192-456c-9dc5-e66049fa9df2.1, предопределенные данные, внезапно!, e7b0ae70-0192-456c-9dc5-e66049fa9df2.1c. Не все постфиксы однозначные и цифровые.

С частями произвольного количества несколько сложнее: нужно в файле атрибутов найти id части, для справочников id форм - fdf816d2-1ead-11d5-b975-0050bae0a95d. Получаем имена файлов формы, например, ФормаВыбора: Атрибуты формы - 5a398637-a06c-4442-9093-a864fa7f049f, Форма и модуль - 5a398637-a06c-4442-9093-a864fa7f049f.0, Справочная информация - 5a398637-a06c-4442-9093-a864fa7f049f.1. Аналогично с макетами, командами, перерасчетами.

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

Виды метаданных    ID вида метаданного    Модуль объекта/ набора записей    Модуль менеджера    Справочная информация    Предопределенные значения    Формы    Команды    Макеты
Неизвестный вид метаданных    39bddf6a-0c3c-452b-921c-d99cfa1c2f1b                            
Подсистемы    37f2fa9a-b276-11d4-9435-004095e12fc7                            
Общие модули    0fe48980-252d-11d6-a3c7-0050bae0a776                            
Параметры сеанса    24c43748-c938-45d0-8d14-01424a72b11e                            
Роли    09736b02-9cac-4e3f-b4f7-d3e9576ab948                            
Общие реквизиты    15794563-ccec-41f6-a83c-ec5f7b9a5bc1                            
Планы обмена    857c4a91-e5f4-4fac-86ec-787626f1c108    2    3    0        87c509ab-3d38-4d67-b379-aca796298578    d5207c64-11d5-4d46-bba2-55b7b07ff4e    3daea016-69b7-4ed4-9453-127911372fe6
Критерии отбора    3e7bfcc0-067d-11d6-a3c7-0050bae0a776        0            00867c40-06b1-11d6-a3c7-0050bae0a776    23fa3b84-220a-40e9-8331-e588bed87f7d    
Подписки на события    4e828da6-0f44-4b5b-b1c0-a2b3cfe7bdcc                            
Регламентные задания    11bdaf85-d5ad-4d91-bb24-aa0eee139052                            
Боты    6e6dc072-b7ac-41e7-8f88-278d25b6da2a    1                        
Функциональные опции    af547940-3268-434f-a3e7-e47d6d2638c3                            
Параметры функциональных опций    30d554db-541e-4f62-8970-a1c6dcfeb2bc                            
Определяемые типы    c045099e-13b9-4fb6-9d50-fca00202971e                            
Хранилища настроек    46b4cd97-fd13-4eaa-aba2-3bddd7699218        8            b8533c0c-2342-4db3-91a2-c2b08cbf6b23        3daea016-69b7-4ed4-9453-127911372fe6
Общие команды    2f1a5187-fb0e-4b05-9489-dc5dd6412348    2        1                
Группы команд    1c57eabe-7349-44b3-b1de-ebfeab67b47d                            
Общие формы    07ee8426-87f1-11d5-b99c-0050bae0a95d            1                
Общие макеты    0c89c792-16c3-11d5-b96b-0050bae0a95d                            
Общие картинки    7dcd43d9-aca5-4926-b549-1842e6a4e8cf                            
XDTO-пакеты    cc9df798-7c94-4616-97d2-7aa0b7bc515e                            
Web-сервисы    8657032e-7740-4e1d-a3ba-5dd6e8afb78f    0                        
HTTP-сервисы    0fffc09c-8f4c-47cc-b41c-8d5c5a221d79    0                        
WS-ссылки    d26096fb-7a5d-4df9-af63-47d04771fa9b                            
Сервисы интеграции    bf3420b0-f6f9-41a0-b83a-fe9d4ab0b65d    0                        
Элементы стиля    58848766-36ea-4076-8800-e91eb49590d7                            
Стили    3e5404af-6ef8-4c73-ad11-91bd2dfac4c8                            
Языки    9cd510ce-abfc-11d4-9434-004095e12fc7                            
Константы    0195e80c-b157-11d4-9435-004095e12fc7    0    1                    
Справочники    cf4abea6-37b2-11d4-940f-008048da11f9    0    3    1    1c    fdf816d2-1ead-11d5-b975-0050bae0a95d    4fe87c89-9ad4-43f6-9fdb-9dc83b3879c6    3daea016-69b7-4ed4-9453-127911372fe6
Документы    061d872a-5787-460e-95ac-ed74ea3a3e84    0    2    1        fb880e93-47d7-4127-9357-a20e69c17545    b544fc6a-2ba3-4885-8fb2-cb289fb6d65e    3daea016-69b7-4ed4-9453-127911372fe6
Нумераторы    36a8e346-9aaa-4af9-bdbd-83be3c177977                            
Последовательности    bc587f20-35d9-11d6-a3c7-0050bae0a776                            
Журналы документов    4612bd75-71b7-4a5c-8cc5-2b0b65f9fa0d        1    0        ec81ad10-ca07-11d5-b9a5-0050bae0a95d    a49a35ce-120a-4c80-8eea-b0618479cd70    3daea016-69b7-4ed4-9453-127911372fe6
Перечисления    f6a80749-5ad7-400b-8519-39dc5dff2542        0            33f2e54b-37ce-4a7a-a569-b648d7aa4634    6d8d73a7-ba29-401d-9032-3872ec2d6433    3daea016-69b7-4ed4-9453-127911372fe6
Отчеты    631b75a0-29e2-11d6-a3c7-0050bae0a776    0    2    1        a3b368c0-29e2-11d6-a3c7-0050bae0a776    e7ff38c0-ec3c-47a0-ae90-20c73ca72246    3daea016-69b7-4ed4-9453-127911372fe6
Обработки    bf845118-327b-4682-b5c6-285d2a0eb296    0    2    1        d5b0e5ed-256d-401c-9c36-f630cafd8a62    45556acb-826a-4f73-898a-6025fc9536e1    3daea016-69b7-4ed4-9453-127911372fe6
Планы видов характеристик    82a1b659-b220-4d94-a9bd-14d757b95a48    15    16    5    7    eb2b78a8-40a6-4b7e-b1b3-6ca9966cbc94    95b5e1d4-abfa-4a16-818d-a5b07b7d3f73    3daea016-69b7-4ed4-9453-127911372fe6
Планы счетов    238e7e88-3c5f-48b2-8a3b-81ebbecb20ed    14    15    5    9    5372e285-03db-4f8c-8565-fe56f1aea40e    0df30176-6865-4787-9fc8-609eb144174f    3daea016-69b7-4ed4-9453-127911372fe6
Планы видов расчета    30b100d6-b29f-47ac-aec7-cb8ca8a54767    1    3    0    2    a7f8f92a-7a4b-484b-937e-42d242e64144    2e90c75b-2f0c-4899-a7d4-5426eaefc96e    3daea016-69b7-4ed4-9453-127911372fe6
Регистры сведений    13134201-f60b-11d5-a3c7-0050bae0a776    1    2    0        13134204-f60b-11d5-a3c7-0050bae0a776    b44ba719-945c-445c-8aab-1088fa4df16e    3daea016-69b7-4ed4-9453-127911372fe6
Регистры накопления    b64d9a40-1642-11d6-a3c7-0050bae0a776    1    2    0        b64d9a44-1642-11d6-a3c7-0050bae0a776    99f328af-a77f-4572-a2d8-80ed20c81890    3daea016-69b7-4ed4-9453-127911372fe6
Регистры бухгалтерии    2deed9b8-0056-4ffe-a473-c20a6c32a0bc    6    7    5        d3b5d6eb-4ea2-4610-a3e2-624d4e815934    7162da60-f7fe-4d78-ad5d-e31700f9af18    3daea016-69b7-4ed4-9453-127911372fe6
Регистры расчета    f2de87a8-64e5-45eb-a22d-b3aedab050e7    1    2    0        a2cb086c-db98-43e4-a1a9-0760ab048f8d    acdf0f11-2d59-4e37-9945-c6721871a8fe    3daea016-69b7-4ed4-9453-127911372fe6
Перерасчеты    274bf899-db0e-4df6-8ab5-67bf6371ec0b    0                        
Бизнес-процессы    fcd3404e-1523-48ce-9bc0-ecdb822684a1    6    8    5        3f7a8120-b71a-4265-98bf-4d9bc09b7719    7a3e533c-f232-40d5-a932-6a311d2480bf    3daea016-69b7-4ed4-9453-127911372fe6
Задачи    3e63355c-1378-4953-be9b-1deb5fb6bec5    6    7    5        3f58cbfb-4172-4e54-be49-561a579bb38b    f27c2152-a2c9-4c30-adb1-130f5eb2590f    3daea016-69b7-4ed4-9453-127911372fe6
Внешние источники данных    5274d9fc-9c3a-4a71-8f5e-a0db8ab23de5                            
Внешние обработки    c3831ec8-d8d5-4f93-8a22-f9bfae07327f    0        1        d5b0e5ed-256d-401c-9c36-f630cafd8a62        3daea016-69b7-4ed4-9453-127911372fe6
Внешние отчеты    e41aff26-25cf-4bb6-b6c1-3f478a75f374    0        1        a3b368c0-29e2-11d6-a3c7-0050bae0a776        3daea016-69b7-4ed4-9453-127911372fe6

Постфиксы частей метаданных переменного количества
 
Описание формата схемы компоновки данных
 
Описание формата табличного документа
 
БНФ - форма Бэкуса - Наура.

<Контейнер 1С> ::= < Контейнер 1С , 32-х адресация>|<Заполнитель, 32-х адресация><Контейнер 1С, 64-х адресация>

БНФ версии с 32-х разрядной адресацией
 
БНФ версии с 64-х разрядной адресацией
 
Описание обработки

Обработка предназначена как для работы с метаданными, так и для работы с контейнером. Для метаданных поддерживается только чтение. Для работы с контейнером: CRUD файлов, выгрузка файлов в директорию и загрузка файлов из директории в контейнер. Для выгрузки и загрузки файлов используется форма с индикатором уровня выполнения процесса. Выполнение этих операций может быть прервано кнопкой Отмена. 

В обработке 5 закладок: Метаданные, Закрытые модули, Файлы, Выгрузить в директорию, Загрузить из директории.

На закладке Метаданные отображается дерево метаданных контейнера, аналогично конфигуратору 1С:

 

При выводе содержимого файла можно задать объём данных: 100Кб, 1Мб, не ограничено. Это сделано из-за того, что отображение больших файлов (versions, например) занимает очень много времени (минут 20).

На закладке Закрытые модули выводятся только те модули, которые закрыты паролями:

 

На закладке Файлы можно просмотреть файловую структуру контейнера. Кроме этого, для каждого файла есть возможность узнать его принадлежность к метаданным.

 

На этой же закладке реализована работа с CRUD: создание, обновление, удаление файла. Для создания и обновления файлов служит форма:

 

В форме создания/обновления файла находятся команды сохранения и загрузки содержимого. Работа этих команд зависит от выбранного типа содержимого файла. По умолчанию это ТекстовыеДанные. В этом режиме содержимым может быть только текст. В текстовом формате в контейнере хранится практически всё: картинки, внешние компоненты, атрибуты и т.д. Двоичные данные (картинки, ВК и т.д.) помещаются в base64.

Но есть 3 исключения: файл Текст (text) закрытого паролем модуля (ДвоичныеДанные), табличный документ (ТабличныйДокумент), схема компоновки данных (СхемаКомпоновкиДанных). Для работы с этими исключениями в типе данных нужно выбрать соответствующее значение. В этом случае обработка преобразует из текстового формата в формат для записи в контейнер. Например, для создания файла с типом макета "Табличным документ", нужно выбрать тип содержимого ТабличныйДокумент и набрать текст самого документа в текстовом формате. При сохранении в контейнер содержимому файла будет добавлен двоичный заголовок. Аналогично с макетом типа "Схема компоновки данных". Что интересно, все остальные типы макетов сохраняются в текстовом формате.

Тот же алгоритм действий при необходимости загрузки/выгрузке содержимого файла на диск. Открываем файл для обновления, сохраняем содержимое на диск. Необходимые двоичные заголовки будут добавлены обработкой. Двоичные данные архива закрытого модуля (файл text) будут извлечены/помещены в base64.

Для создания файла внутри папки следует использовать знак "\" после id. Например, 0004654c-f91f-463d-a529-e23bb363ed21.1\text.

Чтобы удалить папку, необходимо удалить все её файлы.

Описание внешней компоненты
 
Заключение

Данная статья - ещё один маленький шаг к пониманию инфраструктуры 1С. Естественно, в ней возможны ошибки и недоработки. За конструктивную критику буду благодарен.

Update 2023.07.13. Добавлен новый тип метаданных - Интерфейсы. В обработке добавлена новая закладка для отображения закрытых модулей - Список. В ВК добавлен новый метод ЗапароленныеМодулиСписок. В запароленных модулях добавлен вид метаданных Константы. Изменена версия ВК на 1.1.0.1.

Update 2023.07.17. Добавлена поддержка формата метаданных 6 (8.0). Улучшено кэширование данных. Изменена версия ВК на 1.2.0.0. На C всё таки пишут, и это здорово: Статический анализатор кода 1С на Си.

Update 2023.08.11. Добавлена поддержка работы с кэшем 1С (versions), в том числе и для расширений (cfe).  В ВК добавлены методы АктуализироватьVersions и ОбновитьФайлВVersions. В метод НачатьЗагрузкуФайлов добавлен параметр Актуализировать версии кэшей. Добавлена новая форма для работы с файлом versions. Изменена версия ВК на 1.3.0.0. Оптимизирована скорость получения метаданных из ERP 2.5.12.48 с ≈ 3000 мс до ≈ 1350 мс.

Update 2024.04.15. Добавлена возможность работы в Linux 32/64 и в веб-браузерах Chrome и Firefox. На закладке Файлы используется режим пагинации, поскольку в режиме веб-клиента больше 10 000 элементов вызывают зависание на 20-30 минут. Поскольку ПрочитатьJSON в веб-клиенте не поддерживается, используется функция ПрочитатьЗначениеJSON, к тому же, она работает значительно быстрее. Из-за использования этой функции минимальная версия платформы ограничена версией 8.3.23, вместо 8.3.18. Чтобы запустить обработку  на версиях платформы младше 8.3.23, нужно раскомментировать код в конце модуля формы Основная.

Update 2024.11.27. Добавлена поддержка символов с кодами 1-31, кроме 9 (табуляция), 10 (перенос), 13 (возврат коретки). Для отображения символов используется шаблон '#0<код символа с ведущим нулем>;', например, #001; или #031;. Использование кода #000; запрещено и вызывает ошибку.

Исправлены выявленные ошибки.

Проверено на следующих конфигурациях и релизах:

  • 1С:ERP Управление предприятием 2, релизы 2.5.17.157

Контейнер 1С C Внешняя компонента Формат файлов конфигурации

См. также

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

Медиадисплей покупателя может отображать текущую покупку на кассовом месте, показывать видеорекламу, баннеры, во время простоя разворачивать рекламу на весь экран. Экран можно использовать в качестве графического меню-борда в кафе и видеовывески. В качестве устройства отображения можно использовать Android-планшеты, смарт-телевизоры с Android, мониторы или проекторы под управлением Windows или Linux-компьютера. Linux-версия успешно запускается на одноплатных компьютерах Raspberri Pi и Orange Pi. Настраивается ЛЮБОЙ ДИЗАЙН экрана при помощи встроенного графического редактора! Решение можно масштабировать от одного экрана до тысяч экранов с централизованным управлением.

18000 руб.

30.05.2017    53818    9    69    

46

Разработка внешних компонент Телефония, SIP Программист Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Внешняя компонента выполнена по технологии Native API для 1С 8.х, обеспечивает доступ к программным АТС Asterisk (FreePBX, Elastix) через AMI интерфейс. Через него можно управлять многими функциями Asterisk (определение номеров, перевод звонков, набор телефона и т. д.)

2400 руб.

04.05.2018    46986    123    66    

66

Разработка внешних компонент Программист Платформа 1С v8.3 Конфигурации 1cv8 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 Платные (руб)

Внешняя компонента позволяет работать c TWAIN-совместимым оборудованием (сканерами, камерами) . Полностью совместима со стандартной TWAIN-компонентой из БСП и может применяться как ее замена без изменения вызовов, при этом может работать с 64-разрядной платформой, а так же имеет расширенную функциональность, например, сохранение результата непосредственно в PDF без использования сторонних утилит. Прекрасно работает на сервере, тонком клиенте и веб-клиенте (проверена работа в браузерах Google Chrome, Mozilla Firefox и Microsoft Internet Explorer).

3000 руб.

12.05.2020    28419    138    100    

90

Разработка внешних компонент Программист Платформа 1С v8.3 Конфигурации 1cv8 1С:Управление торговлей 11 Платные (руб)

Внешняя компонента для конвертации PDF файлов в картинки без использования дополнительных программ. Работает на сервере и в тонком клиенте.

2400 руб.

25.06.2024    984    2    4    

2

Разработка внешних компонент Программист Платформа 1С v8.3 Платформа 1C v8.2 Платные (руб)

Внешняя компонента, позволяющая посылать команды и получать ответы по GraphQL протоколу из 1С.Может быть использована при интеграции. В 1С работает на стороне "клиента".

4600 руб.

27.06.2023    3476    2    0    

4

Разработка внешних компонент Программист Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Внешняя компонента в виде библиотеки (.dll файл), позволяющая посылать команды и получать ответы по протоколу WebSocket из 1С. Компонента работает только на стороне "клиента".

4440 руб.

22.06.2020    18235    18    33    

22

Разработка внешних компонент Программист Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Позволяет автоматизировать работу с картинками. С помощью компоненты можно измерять размер изображений, поворачивать их, наносить водяные знаки, конвертировать из одного формата в другой. Будет очень полезна для интернет-магазинов и всех, кому постоянно требуется работать с различными графическими форматами. Выполнена по технологии NativeAPI. Работает с форматами: jpg (jpeg), png, bmp, gif, tif

3600 руб.

02.09.2010    77363    72    257    

191

Разработка внешних компонент Программист Платформа 1С v8.3 Конфигурации 1cv8 Россия Бесплатно (free)

В статье описывается приложение-конструктор внешних компонент (native API). Конструктор упрощает процесс разработки за счет удобного добавления всех нужных функций и процедур в графическом режиме, с указанием их параметров и типов параметров. На выходе приложение генерирует готовый код на С++ и Rust и позволяет сразу приступить к реализации, без настройки API компоненты вручную.

04.12.2024    3837    kovalevdmv    26    

69
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. SerVer1C 817 11.07.23 12:42 Сейчас в теме
4. bakmistoff1977 36 11.07.23 14:55 Сейчас в теме
(1) Пока не планирую. Здесь, несколько, академический интерес.
2. ZhokhovM 756 11.07.23 12:59 Сейчас в теме
Не все модули выводятся в обработке + повторяются ветки "Модули конфигурации" в закладке "Закрытые модули".
6. bakmistoff1977 36 11.07.23 15:01 Сейчас в теме
(2) Спасибо. А можно как-то поподробнее, в какой конфигурации это происходит?
7. ZhokhovM 756 11.07.23 15:34 Сейчас в теме
(6)Создайте пустую конфигурацию и добавьте в нее все объекты метаданных. Затем найдите любые модули в этих объектах и попробуйте установить пароль на них. Распакуйте конфигурацию в исходные файлы и обнаружьте, какие модули отсутствуют.
3. ZhokhovM 756 11.07.23 13:13 Сейчас в теме
В таблице видов метаданных с постфиксами единичных частей:
Неизвестный 39bddf6a-0c3c-452b-921c-d99cfa1c2f1b
Это вид метаданных "Интерфейс".
5. bakmistoff1977 36 11.07.23 14:56 Сейчас в теме
(3) Спасибо. Я такие старые версии конфигураций не рассматривал.
8. so-quest 140 16.07.23 07:38 Сейчас в теме
Подписка
prohorp; bakmistoff1977; +2 Ответить
9. Serjik78 1290 22.11.23 17:33 Сейчас в теме
Добрый день, а есть декомпиляция для расширений? (CFE).
10. bakmistoff1977 36 27.11.23 14:16 Сейчас в теме
(9) Добрый день! Извиняюсь, что поздно отвечаю, что-то Инфостарт не показывает сообщения. Эта обработка не про декомпиляцию. Она про работу с контейнером. И расширения *.cfe этой обработкой поддерживаются.
11. Serg2000mr 739 23.11.24 06:35 Сейчас в теме
При начале анализа cf от ERP 2.5.17 выскочила ошибка

Ошибка при вызове метода контекста (ПрочитатьЗначениеJSON)
{ВнешняяОбработка.РаботаСКонтейнером1С.Форма.Основная.Форма(192)}: СтруктураJSON = ПрочитатьЗначениеJSON(СтрокаJSON);
{ВнешняяОбработка.РаботаСКонтейнером1С.Форма.Основная.Форма(2442)}: ВыполнитьОбработкуОповещения(ОписаниеОповещения, Обещание);
по причине:
Строка не является допустимой строкой JSON.
Строка не является допустимой строкой JSON.
12. bakmistoff1977 36 23.11.24 18:11 Сейчас в теме
(11) Спасибо за комментарий.
С конфой Enterprise20_2_5_17_157.cf мне ошибку получить не удалось. Версия платформы: 8.3.23.1739, ОС: win 10, режимы запуска: тонкий и веб клиенты. Напишите, какая у вас версия платформы 1С, ОС, режим запуска. Если возможно, приложите файл с текстом JSON, который возвращается в СтрокаJSON.
13. Serg2000mr 739 23.11.24 20:01 Сейчас в теме
(12) Я проверил типовые cf, на них ошибки нет. В публичный доступ выложить JSON не могу, но при попытке сохранения файла, он обрезается в конце. Размер обрезанного файла 2 980 386 байт
Прикрепленные файлы:
14. Serg2000mr 739 23.11.24 20:37 Сейчас в теме
(13) Я убрал несколько элементов из обрезанного файла и добавил этот хвост. Потом загрузил JSON из файла. После этого структура прочиталась нормально.
15. bakmistoff1977 36 24.11.24 14:29 Сейчас в теме
(14) Кажется, поправил ошибку. На днях выпущу новое обновление. Если вам нужна обработка срочно, попробуйте подключить библиотеку из прикрепленного к этому комментарию архива. В процедуре ПриСозданииНаСервере в обработке нужно будет добавить строчку АдресАрхиваКомпонента = "место расположения dll из архива".
Прикрепленные файлы:
WebExContainer1CWin64_2002.zip
16. Serg2000mr 739 24.11.24 14:43 Сейчас в теме
(15) Да, теперь ошибки нет, спасибо. Работает очень быстро, просто здорово!
bakmistoff1977; +1 Ответить
Оставьте свое сообщение