saby v8unpack

Публикация № 1529974 09.10.21

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

v8unpack saby

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

v8unpack -  консольная утилита для сборки и распаковки бинарных файлов 1С:Предприятие 8.х (cf, cfe, epf) без использования технологической платформы.

В какой-то момент жить без системы контроля версий на уровне исходников стало совсем не выносимо и обозрев все варианты выбор пал на v8unpack. Однако, без устранения основных недостатков его использование было бы крайне не удобным (плоский список из нечеловекочитаемых файлов, скрытый где-то в дебрях программный код управляемых форм). Сразу скажу, что мы с глубоким уважением относимся к труду авторов v8unpack, данная утилита отлично выполняет все свои функции и без неё создание этого решения было бы не возможным. Кроме этого, её Python-реализация от Infactum была взята за основу без каких либо изменений.

Ключевые отличия от аналогичных утилит:
  • Структура хранения максимально приближена к структуре метаданных, человеко-читаемые имена файлов
  • Программный код всегда хранится в отдельных файлах и может быть разделен на несколько файлов
  • Общие для разных решений объекты метаданных могут автоматически браться из сабмодулей
  • Двоичные данные макетов и картинки хранятся в исходном виде
  • При сборке под 8.2 и 8.1. автоматически комментируются директивы 8.3
  • Файлы хранятся в формате json
  • Достает конфигурации поставщика
  • Видно какие элементы форм были изменены 
Основным назначением нашей версии утилиты являются:
  1. Автоматическая сборка приложений 1С (расширения конфигураций, внешние обработки) для различных платформ и конфигураций из одних и тех же исходников
  2. Удобное и человекочитаемое хранение исходников в системах контроля версий.
Установка (требуется python 3.3+)
pip install v8unpack
Распаковка файла 1С
v8unpack.exe -E d:/sample.cf d:/unpack
Сборка исходников
v8unpack.exe -B d:/unpack d:/repacked.cf
Алгоритм работы

Утилита распаковывает и запаковывает бинарник 1С в 4 этапа:

  1. Распаковка стандартным v8unpack – на выходе текстовые файлы
  2. Конвертация в json
  3. Декодирование заголовков и разбивка по типам метаданных
  4. Организация кода и структуры хранения

 

Исходники и инструкция выложены на GitHub.  

 

На текущий момент утилита покрывает только нужные нам типы метаданных, а мы будем рады любому участию в проекте.

 

update: добавлено много типов объектов метаданных, элементы форм в отдельном файле

update: репозиторий переехал

update: Примеры репозиториев реальных проектов основанных на одинаковых исходниках

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. cprit 843 09.10.21 10:45 Сейчас в теме
2. Businka76 66 09.10.21 20:46 Сейчас в теме
(1) не проверяли. Должно. Напишите если нет
3. Diversus 2291 10.10.21 12:11 Сейчас в теме
Выглядит замечательно!
Есть возможность интеграции с precommit1c? Для автоматического "раскладывания" обработок/отчетов?
И еще, на github выложите релиз с exe если не сложно, чтобы не устанавливать python для сборки.
По идее там можно настроить автосборку, чтобы релизы собирались сами на Github Actions.
PS: Отличная работа!
DrAku1a; Lapitskiy; +2 Ответить
11. Businka76 66 11.10.21 09:25 Сейчас в теме
(3) не понимаю зачем precommit - мне кажется в нашем решении есть все необходимое для автоматического раскладывания, и автосборки. Здесь только краткое описание возможностей, на GitHib более расширенное описание с примерами.

по поводу exeшников - хорошее предложение, попробуем собрать
12. Diversus 2291 11.10.21 12:51 Сейчас в теме
(11) Если говорим о работе в GIT и обработках/отчетах, то precommit1c умеет в автоматическом режиме делать разбор обработки при коммите.
Т.е. меняете обработку, дошли до того, что нужно сделать коммит, деаете его и автоматом раскладывается epf/erf в исходники, и они попадают в коммит.
Это очень удобно и позволяет не задумывать о том, чтобы это делать вручную.
52. Businka76 66 13.09.22 13:20 Сейчас в теме
(12) мы не держим бинарные файлы обработки в git, кроме используем продукты типа sourcetree, где в этом и нет необходимости (не нужно вызывать commit чтобы посмотреть изменения)
Однако, для реализации вашей потребности не требуется каких-то специальных 1C решений, достаточно на git повесить хук запуска v8unpack.
Вот здесь описан пример как это сделать
29. Businka76 66 12.11.21 08:23 Сейчас в теме
(3) выложил exe и его сборщик
4. Evil Beaver 7872 10.10.21 12:56 Сейчас в теме
Все круто, только непонятно чем это лучше штатной выгрузки 1С? Это раньше она была недоделанная и появлялись анпаки и прекоммиты. А сейчас-то зачем?
Дмитрий74Чел; paybaseme; Yashazz; GreenEye; Бэнни; ktb; artbear; +7 Ответить
6. dmpas 416 10.10.21 15:42 Сейчас в теме
(4) ну вдруг человека раздражает, когда при обновлении платформы каждый объект вдруг становится "изменённым".
7. Evil Beaver 7872 10.10.21 16:22 Сейчас в теме
(6) давно такого не наблюдал
8. tormozit 6872 10.10.21 18:11 Сейчас в теме
(4) Платформа делает это очень медленно по крайней мере в не SSH режиме. В SSH режиме интересна скорость выполнения этой операции конфигуратором.
10. Businka76 66 11.10.21 09:21 Сейчас в теме
(4) зачем:
1. нам нужно собирать обработку под 8.1, 8.2, 8.3 из одних исходников
2. нам нужно собирать одно расширение под все версии всех конфигураций из одних исходников
3. нам нужно делать все это в автоматическом по событию системы контроля сборки
4. желательно чтобы это быстро и удобно работало, и требовало минимум софта для установки

в процессе выбора решения мы рассматривали возможности штатной выгрузки, EDT, и различные варианты v8unpack /v8reader
выписали плюсы минусы и выбрали этот вариант.

встроенный механизм отпал по п.1, т.к. мы не нашли возможности собрать из исходников под 8.1 и 8.2.

Если мы какой вариант не учли или не поняли, поделитесь знаниями пожалуйста
VKislitsin; Дмитрий74Чел; +2 Ответить
22. VKislitsin 893 18.10.21 16:03 Сейчас в теме
(10)
нам нужно собирать одно расширение под все версии всех конфигураций из одних исходников

А можете немного подробнее про этот пункт рассказать? Имею ввиду как именно создаете исходники под конкретную конфу из образца.
У меня очень похожая ситуация - есть расширение, которое должно вставать на разные конфигурации, и разные версии этих конфигураций.
23. Businka76 66 19.10.21 09:45 Сейчас в теме
(22) вот тут есть как собирать расширения https://github.com/saby/v8unpack/blob/main/docs/usage.md (Разработка расширений конфигурации), а тут про подход через index.json https://github.com/saby/v8unpack/blob/main/docs/transition.md.

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

надеюсь подойдем к тому, что танцев с uuid не будет (для этого надо научиться формировать список контейнеров в расширении)
24. VKislitsin 893 20.10.21 20:52 Сейчас в теме
(23) Спасибо. Нужно будет попробовать.

Более конкретно попробую спросить. Буду говорить про расширение. Разработка ведется на какой-то одной конфигурации/версии. Затем нужно, не плодя сущности, и не перенося все доработки руками, создать из этой же разработки версию расширения для другой (сходной по задействованным объектам) конфигурации или даже другой версии той же конфигурации (если что-то в ней изменено так, что изначальный вариант расширения уже не встает). Собственно, меня интересует, создаете ли вы исходники для этой новой версии динамически, или они уже лежат в каком-то заготовленном виде и в них обновляются файлы, которые можно безболезненно обновлять, т.е. общие для обоих вариантов?

У меня на 1С сделана разборка - изменение - сборка нового расширения. То есть новые исходники делаются динамически, по описанному алгоритму доработки.
Для разборки и сборки используется v8unpack. Инфлейт-дефлейт 1С-ными силами. Мне бы хотелось и сборку-разборку делать силами 1С, без v8unpack. Я ниже в комментариях спрашивал, нет ли такого решения.
25. Businka76 66 21.10.21 18:24 Сейчас в теме
(24) такого в чистом виде пока нет (создание на базе). мы практически закончили со своими потребностями для внешней обработки, в следующем месяце возьмемся за расширения. потребность ровно такая же как у Вас.
31. VKislitsin 893 20.11.21 13:39 Сейчас в теме
(25) Михаил, у меня еще один вопросик есть: а в чем заключается конвертация в json ? Как выглядит скобко-файл после конвертации?
32. Businka76 66 08.12.21 17:46 Сейчас в теме
(31) как валидный json массив. добавьте параметр --temp temp и можете полюбоваться всеми промежуточными файлами
53. Businka76 66 13.09.22 13:33 Сейчас в теме
(24) по переносу расширений на другие конфигурации концептуально:
1. делаем базовое расширение для основной конфигурации.
2. открываем его на другой конфигурации - смотрим на что ругается, все метаданные общие для обеих расширений при помощи Index файла делаем общими.
3. ещё раз разбираем базовое расширение, теперь в папке под основную конфу остались только специфичные для неё файлы
4. открываем расширение на другой конфигурации, адаптируем под неё, разбираем с тем же index файлом - в исходниках для этой конфы будут только специфичные для неё файлы.
5. делаем по вкусу командные файлы для сборки разборки конкретной конфы и всех вместе.

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

пример расширения под несколько конфигураций добавил внизу статьи
VKislitsin; +1 Ответить
5. dmpas 416 10.10.21 14:00 Сейчас в теме
Вууухуууу! Моё почтение.
9. malikov_pro 1237 10.10.21 20:08 Сейчас в теме
(4) Необходимость наличия лицензии на машине с распаковкой.
В моем случае на сервере только серверная а пользовательский раскиданы по ПК.
С хранилища конфигурации есть альтернативный вариант получения cf/cfe (относительно применения платформы)?
13. fishca 1250 11.10.21 12:59 Сейчас в теме
При распаковке конфигурации теряется информация о режиме совместимости, или я не нашел где она сохраняется?
14. Businka76 66 11.10.21 15:16 Сейчас в теме
(13) сохраняет среди прочего нечитаемого, но т.к. это основной из реквизитов для расширений, добавим в список читаемых свойств (в ближайшей версии), чтобы можно было организовать сборку под разные версии.
оно не может терять, тесты проверяют, что пересобранный файл идентичен первичному. если с какими-то метаданными утилита не умеет работать - она просто упадет при разборе
15. brr 182 11.10.21 15:59 Сейчас в теме
16. Businka76 66 11.10.21 21:58 Сейчас в теме
(13) добавили сборку расширений нужной версии совместимости (в 0.4.1),подробности описаны в разделе Использование
17. fishca 1250 14.10.21 11:44 Сейчас в теме
18. Businka76 66 14.10.21 17:53 Сейчас в теме
19. fishca 1250 15.10.21 14:36 Сейчас в теме
(18) Добавил поддержку Констант https://github.com/saby/v8unpack/pull/5. Может в телеге чат создать для общения?
20. Businka76 66 18.10.21 11:03 Сейчас в теме
(19) залил, добавил будущие вехи, чат можно, киньте телефон личкой
21. VKislitsin 893 18.10.21 15:01 Сейчас в теме
Коллеги, а нет ли реализации v8unpack на языке 1С?
У меня есть (пока неопубликованное) решение по созданию дополнительных (измененных) версий расширения на лету. Инфлэйт-дефлэйт я сделал силами 1С, а вот для сборки-разборки cfe-шника приходится запускать v8unpack. Хотелось бы всё реализовать на чистом 1С.
26. SerVer1C 629 25.10.21 15:07 Сейчас в теме
(21) Боюсь, что на чистом 1С будет о-о-очень медленно работать.
27. VKislitsin 893 25.10.21 15:12 Сейчас в теме
(26) Возможно. Но, на мой взгляд, не всегда скорость работы является критическим фактором. Мы ведь не делаем эту сборку-разборку тысячекратно в единицу времени. Мне думается, что несколько дополнительных секунд здесь не делают погоды.
Вот ведь инфлейт-дефлейт вы сделали средствами платформы :) Я вашу идею использовал, но сделал немного по-другому (покомпактнее).
С распаковкой-запаковкой также хотелось бы обойтись встроенными средствами.
К тому же, расширения обычно небольшого размера, не сравнить с полноценными конфигурациями. И на них разница во времени будет незначительной. Зато добавляется гибкость - при очередном изменении формата, можно поправить без специальных знаний других языков и ожидания от разработчиков.
28. VKislitsin 893 07.11.21 20:28 Сейчас в теме
(27) Реализовал (пока только разборку) на чистом 1С. К моему удивлению, оказалось ничуть не медленнее, чем работает v8unpack. На самом деле, даже чуточку быстрее. Но, возможно, это просто разброс или погрешность в замерах. Проверял на конфе "Управление холдингом" (660Мб). Узким местом получаются дисковые операции - они и определяют время работы.
33. Caliban 131 13.01.22 12:20 Сейчас в теме
(28) Интересно. А где-нибудь можно посмотреть?
34. VKislitsin 893 13.01.22 12:43 Сейчас в теме
(33) Планировал успеть опубликовать до НГ. Но пока не сложилось. Добавил разборку нового формата (8.3.16), а сборка пока недоделана. Плюс облагородить весь код нужно, чтобы не стыдно было показывать. В зависимости от свободного времени, думаю в январе-феврале всё-таки добью и опубликую.
Еще в планах было портировать на oscript, но это можно и после публикации сделать.
35. glek 117 16.03.22 07:49 Сейчас в теме
(34) Как успехи? Где можно посмотреть?
36. VKislitsin 893 16.03.22 13:00 Сейчас в теме
(35) Успехи примерно там же, где и были: всё работает (в нужном мне объеме), но для публикации необходимо приложить некоторые усилия, и до этого не доходят руки - пришлось переключиться на более важные вещи.
Вместе с этой еще одна публикация застряла в черновиках - получение конфигураций и расширений из хранилища в пользовательском режиме, без конфигуратора.
30. VKislitsin 893 20.11.21 13:27 Сейчас в теме
(26) (27) Реализовал и сборку. Также, скорость работы идентична v8unpack.
По замеру производительности в Конфигураторе хорошо видно, что запись на диск занимает 80% всего времени. Разборку при этом можно ускорить примерно вдвое, если не записывать файлы атрибутов (.header).
37. Geroy4ek 31.05.22 10:01 Сейчас в теме
(30) можете поделиться вашим решением ?
38. VKislitsin 893 22.08.22 11:41 Сейчас в теме
39. Businka76 66 22.08.22 21:16 Сейчас в теме
(38)
я правильно понимаю что Ваше решение только этап1 делает? в каком виде мы в итоге получаем исходники в репозитории?
40. VKislitsin 893 22.08.22 21:23 Сейчас в теме
(39) Михаил, мое решение делает точно то же, что и v8unpack. Извлекает (и обратно запаковывает) либо "неразжатые", либо "разжатые" файлы. Всё, больше ничего.
Вернее, я специально выделил этот функционал в отдельную обработку. Потому что, на самом деле, у меня оно является частью проекта по работе с хранилищем. Но это тема для другой (а может быть и нескольких) публикации.
41. Businka76 66 23.08.22 19:10 Сейчас в теме
поскольку у Вас похожие задачи, возможно Вам будет интересно посмотреть каким получился репозиторий из которого собирается расширение КЭДО для ЗУП3 (BASE/CORP/PROF), БУХ3, ЗГУ3, ERP2.

https://github.com/saby-integration/ce_saby

и внешние обработки собирающиеся из тех же исходников для управляемых и обычных форм (для обычных форм пока полурабочий прототип но собирается и запускается)

примечательно что в расширении и обработке используются одни и те же формы обработки несмотря на то что с точки зрения 1С обработка и внешняя обработка это разные типы метаданных

Репа обработки для управляемых форм
Репа обработки для обычных форм



сборкой артефактов и присвоением номера занимается система выпуска, но приложенные cmd которыми пользуются разработчики делают почти то же самое. если клонировать с сабмодулями, то все должно собираться и разбираться
46. VKislitsin 893 10.09.22 10:10 Сейчас в теме
(41) Спасибо! Обязательно посмотрю.
42. zels 170 09.09.22 12:23 Сейчас в теме
Загрузил с github в PyCharm , запустил из него распаковку и сразу ошибки типа

ImportError: attempted relative import with no known parent package
43. Businka76 66 10.09.22 09:30 Сейчас в теме
(42) По вашему сообщению трудно понять, что вы делаете не так (вероятно у вас что то не так с рабочим каталогом). В папке tests есть тесты, которые вы можете запустить. В git и папке docs есть инструкция как запускать. Выше есть ссылки на репозитории реальных проектов включающих командные файлы для его сборки разборки.

попробуйте установить пакет через pip и распаковать как написано в инструкции, или воспользуйтесь exe файлом
47. zels 170 10.09.22 13:59 Сейчас в теме
(43) Вот такой cf-ник не распаковывается
Прикрепленные файлы:
1Cv8АТОЛ.cf
48. Businka76 66 11.09.22 11:41 Сейчас в теме
(47) Косяк, разбор не работал если в макете лежал json файл - поправил, залил, см. версию 0.8.12
49. zels 170 12.09.22 11:31 Сейчас в теме
(48) Вылетела, когда в макете был xml-файл... Еще смущает, что вылетела примерно минут через 40 после запуска.
1C обработка распаковала тот же файл (35Мб) минуты за 2...
51. Businka76 66 13.09.22 12:07 Сейчас в теме
(49) Поправил, теперь в json конвертируются только скобко файлы, остальное считается бинарщиной. попробуйте 0.9.0 если не поможет пришлите образец для тестов.
55. zels 170 13.09.22 17:26 Сейчас в теме
(51) Ошибка такая
17:20:20.673840 Начали - 0:00:00.095737
17:20:20.769577 Распаковываем - 0:00:52.351120
17:21:13.120697 Конвертируем 3000: Json decode form error: 'NoneType' object has no attribute 'append' - AttributeError 'NoneType' object has no attribute 'append' run_in_pool JsonContainerDecoder.decode
Stack:
- : message=AttributeError; detail='NoneType' object has no attribute 'append'; traceback=v8unpack/json_container_decoder.py, decode, line 49;
Теперь вылетела через 2 минут а не через 40...

Образец не могу собрать. На рабочем компе нет возможности передать файлы ни в браузере ни по почте.
56. zels 170 14.09.22 12:56 Сейчас в теме
(51) На таком файле вылетает при конвертации в decode_file
Прикрепленные файлы:
Ошибка.txt
50. zels 170 13.09.22 08:39 Сейчас в теме
(48) Нет, это не xml-макет. Вылетает позже с таким сообщением
3000: Json decode form error: 'NoneType' object has no attribute 'append' - AttributeError 'NoneType' object has no attribute 'append' run_in_pool JsonContainerDecoder.decode
Stack:
- : message=AttributeError; detail='NoneType' object has no attribute 'append'; traceback=v8unpack/json_container_decoder.py, decode, line 47;


Не пойму в чем дело, как отловить
54. Businka76 66 13.09.22 15:07 Сейчас в теме
57. Businka76 66 14.09.22 20:58 Сейчас в теме
(50) попробуйте 0.9.1. ваш файл в ней разбирается, поправил правила разбора многострочного текста и игнорирование лишних закрывающих скобок
58. zels 170 15.09.22 06:35 Сейчас в теме
(57) Теперь такая ошибка
06:24:52.680138 Раcшифровываем3000: Unknown error - IndexError string index out of range - decode include Constant run_in_pool Decoder.decode_include
Stack:
- Constant.decode: message=IndexError; detail=string index out of range; traceback=MetaDataObject/__init__.py, decode, line 39;
- Constant.decode:
- Decoder.decode_include: decode_params=['C:\\Users\\ZELENO~1\\AppData\\Local\\Temp\\tmpg6__xdxx\\decode_stage_2', 'c72ea2ad-446d-11db-82b7-0004759f4c80', 'C:\\Users\\ZELENO~1\\AppData\\Local\\Temp\\tmpg6__xdxx\\decode_stage_3', 'Constant', '803']; message=Unknown error - IndexError string index out of range; detail=decode include Constant;

Непонятно в каком модуле/строке
59. Businka76 66 15.09.22 09:21 Сейчас в теме
(58) да над тестами ошибок надо ещё поработать, а в каком модуле и строке как раз понятно MetaDataObject/__init__.py, decode, line 39,
падает при декодировании заголовков (тип метаданных Константа - файл исходника c72ea2ad-446d-11db-82b7-0004759f4c80)

ну хотя бы конвертацию в json уже преодолели

разбирайте с параметром --temp temp тогда все промежуточные файлы будут здесь же - удобнее найти и скинуть
киньте файл decode_stage_2\c72ea2ad-446d-11db-82b7-0004759f4c80.json

в телеграмм есть группа saby v8unpack или на github есть трекер, не уверен что здесь имеет смысл заниматься доработкой
60. zels 170 15.09.22 13:18 Сейчас в теме
(57) В моем файле Ошибка.txt не лишних скобок. Все точно, специально проверил. Каждой { соотвествует }
61. Businka76 66 15.09.22 21:07 Сейчас в теме
(60) действительно лишних скобок нет, правка на игнорирование закрывающих скобок была лишней.
44. Businka76 66 10.09.22 09:41 Сейчас в теме
(40)
Михаил, мое решение делает точно то же, что и v8unpack

Вы ведь понимаете, что мое решение делает не только то же, что и v8unpack?
45. VKislitsin 893 10.09.22 10:04 Сейчас в теме
(44) Да, прекрасно понимаю. Никакого противопоставления и/или замены не предполагаю. Ветка комментариев вылилась из моего вопроса в (21). В принципе, на базе моего решения, можно реализовать построение дерева конфигурации и раскладку по папкам с именами объектов. Какие-то зачатки для этого функционала там уже есть. Но у меня не было таких потребностей пока.
62. user1861872 20.10.22 15:03 Сейчас в теме
Доброго дня ! Подскажите , попытался использовать ваш скрипт, неудачно. Стоит windows 10 ,Python 3.10 , PIP 22.3. pip install v8unpack выполнилась успешно. При использование команды v8unpack.exe -E c:\1Cv8.cf c:\TEMP получаю ошибку :
Traceback (most recent call last):
File "source.py", line 1, in <module>
ModuleNotFoundError: No module named 'v8unpack'
[7752] Failed to execute script 'source' due to unhandled exception!

Помогите решить пожалуйста .
63. Businka76 66 20.10.22 17:24 Сейчас в теме
(62) в 0.10.0 действительно есть такая ошибка, исправил, обновитесь до 0.10.1
pip install -U v8unpack
отпишитесь по результатам пожалуйста
64. user1861872 21.10.22 07:59 Сейчас в теме
(63) здравствуйте , обновил. Теперь ошибки другие :

C:\Windows\system32>v8unpack.exe -E c:\1Cv8.cf c:\TEMP
Traceback (most recent call last):
File "c:\Users\user\AppData\Local\Programs\Python\Python310\lib\runp­y.py", line 196, in _run_module_as_main
return _run_code(code, main_globals, None,
File "c:\Users\user\AppData\Local\Programs\Python\Python310\lib\runp­y.py", line 86, in _run_code
exec(code, run_globals)
File "C:\Users\user\AppData\Local\Programs\Python\Python310\Scripts\­v8unpack.exe\__main__.py", line 4, in <module>
File "c:\Users\user\AppData\Local\Programs\Python\Python310\lib\site­-packages\v8unpack\__init__.py", line 4, in <module>
from .v8unpack import main, extract, build
File "c:\Users\user\AppData\Local\Programs\Python\Python310\lib\site­-packages\v8unpack\v8unpack.py", line 13, in <module>
from .decoder import decode, encode
File "c:\Users\user\AppData\Local\Programs\Python\Python310\lib\site­-packages\v8unpack\decoder.py", line 5, in <module>
from .MetaObject.Configuration802 import Configuration802
ModuleNotFoundError: No module named 'v8unpack.MetaObject'
65. user1861872 21.10.22 10:09 Сейчас в теме
(63) заработало! Скачал обновленный exe файл и распаковка началась. Огромное спасибо!
67. Businka76 66 26.10.22 09:29 Сейчас в теме
66. Businka76 66 21.10.22 11:53 Сейчас в теме
(65) в версии 0.10 было очень много нового, поторопился с публикацией - модуль и exe-шник не включали все файлы дистрибутива. выпустил 0.10.2 проверил на голой машине
68. abdurohman 25.04.23 00:55 Сейчас в теме
Что за ошибка такая?
ExtException Ошибка декодирования - объекта метаданных "WSReference" файл "decode_stage_1\8bd4ecf6-c3fc-4ec1-a364-6063f780ab73" (WSReference)
Stack:
- WSReference.decode: message=FileNotFoundError; detail=[Errno 2] No such file or directory: 'C:\\Users\\admn1b3k\\AppData\\Local\\Temp\\tmpdovujdem\\decode_stage_1\\8bd4ecf6-c3fc-4ec1-a364-6063f780ab73.0\\info'; traceback=MetaDataObject/__init__.py, decode, line 52;
- WSReference.decode: message=Ошибка декодирования; detail=объекта метаданных "WSReference" файл "decode_stage_1\8bd4ecf6-c3fc-4ec1-a364-6063f780ab73" (WSReference);
- Decoder.decode_include WSReference:
- run_in_pool Decoder.decode_include:
69. Businka76 66 01.05.23 19:32 Сейчас в теме
(68) распаковка WSReference коряво была сделана. исправлено в 0.13.3
70. abdurohman 03.05.23 03:36 Сейчас в теме
(69) Теперь другая ошибка

ExtException Ошибка декодирования - объекта метаданных "Template" файл "0\6c4b89ec-58ca-4c84-81da-bcdc356543b2" (Report\РегламентированныйОтчетЕСПиГПФ\Template)
Stack:
- None: message=ValueError; detail='2' is not a valid TmplType; traceback=versions/Template8x.py, decode_object, line 43;
- Template.decode: message=Ошибка декодирования; detail=объекта метаданных "Template" файл "0\6c4b89ec-58ca-4c84-81da-bcdc356543b2" (Report\РегламентированныйОтчетЕСПиГПФ\Template);
- Decoder.decode_include Template:
- run_in_pool Decoder.decode_include:
72. Businka76 66 07.05.23 16:52 Сейчас в теме
добавил в 0.13.5 все оставшиеся типы метаданных и поддержку шаблона тип 2 = Action Document это оказался
(70)
abdurohman; +1 Ответить
71. Businka76 66 03.05.23 12:22 Сейчас в теме
(70) шаблон с тип 2 распаковщик на текущий момент не умеет
Оставьте свое сообщение

См. также

Infostart Toolkit

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

Простые и удобные инструменты: Консоль запросов, СКД, Редактор объекта, Поиск ссылок и другие. Редактор запросов и кода с раскраской и контекстной подсказкой. Улучшенный конструктор тонкого клиента и др.

10000 руб.

02.09.2020    81095    395    366    

471

SALE! %

PowerTools

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

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

2400 1920 руб.

14.01.2013    164855    1012    0    

770

Многопоточность. Универсальный «Менеджер потоков» 2.1

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

Восстановление партий или взаиморасчетов, расчет зарплаты, пакетное формирование документов или отчетов - теперь все это стало доступнее. * Есть желание повысить скорость работы медленных алгоритмов! Но... * Нет времени думать о реализации многопоточности? * о запуске и остановке потоков? * о поддержании потоков в рабочем состоянии? * о передаче данных в потоки и как получить ответ из потока? * об организации последовательности? Тогда ЭТО - то что надо!!!

5000 руб.

07.02.2018    93717    230    95    

276

Выполнение произвольного кода или запроса с параметрами через Web-сервис (замена COM-подключений)

Инструментарий разработчика Обмен между базами 1C Платформа 1С v8.3 Платные (руб)

В процессе работы в 1С часто возникает потребность получить данные из другой базы.  Обычно это делается через COM-соединение, и время выполнения запроса при этом оставляет желать лучшего. В данной публикации представлено универсальное решение, позволяющее практически моментально выполнить произвольный код или запрос с параметрами в другой информационной базе через Web-сервис.

2400 руб.

24.09.2019    19995    11    14    

19

Универсальная обработка создания связанных документов (универсальный "ввод на основании")

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

Универсальная внешняя обработка призвана предоставить пользователю механизм, позволяющий быстро, в удобной и понятной форме настроить в программе функционал по созданию и заполнению новых документов на основании данных других документов (и не только), т.е. возможность настраивать типовой механизм "ввода на основании" для заполнения создаваемых документов по своим правилам.

2500 руб.

02.04.2017    42242    72    27    

128

Заполнение документа "Корректировка регистров" произвольными данными

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

Внешняя обработка, позволяющая произвольным образом заполнять документ "Корректировка регистров" Предназначена для использования в конфигурациях "Управление торговлей 11", "Управление небольшой фирмой", "ERP Управление предприятием", а также в других конфигурациях, в состав которых входит библиотека стандартных подсистем (БСП) версии 2.2+ и указанный выше документ.

2400 руб.

13.07.2015    46765    155    27    

105

Программное формирование существующих печатных форм

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

Получение списка печатных форм, формирование выбранной печатной формы и сохранение ее в файл.

1 стартмани

17.12.2021    12811    32    RocKeR_13    5    

42

Бустер Конвертации данных 3 (Infostart Toolkit)

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

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

15000 руб.

07.10.2021    11683    2    12    

36

Универсальный редактор данных (УРД)

Инструментарий разработчика Платформа 1С v8.3 Абонемент ($m)

Универсальный редактор данных (УРД) - это лучший инструмент в своем классе, который позволяет редактировать реквизиты и движения объектов

1 стартмани

27.08.2021    16038    206    Adeptus    57    

92

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

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

Программист - это человек, непрерывно принимающий решения. Написание кода не является процессом принятия решения - это всего лишь трансляция ваших желаний. Если вас периодически тяготит написание сотен строк кода ради решения задач, то прошу обратить внимание. Данный продукт позволит существенно сократить время на рутинные операции при разработке. За счет библиотечной реализации сокращается объём кода, а его читаемость повышается. К библиотеке прилагается документация API и шаблоны кода для наиболее популярных методов.

4200 руб.

16.04.2021    10709    2    9    

7

Подсистема "Показатели объектов"

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

Если вашим пользователям нужно вывести в динамический список разные показатели, которые нельзя напрямую получить из таблиц ссылочных объектов, и вы не хотите изменять структуру справочников или документов - тогда эта подсистема для вас. С помощью нее вы сможете в пользовательском режиме создать свой показатель, который будет рассчитываться по формуле или с помощью запроса. Этот показатель вы сможете вывести в динамический список, как любую другую характеристику объекта. Также можно будет настроить отбор или условное оформление с использованием созданного показателя.

2 стартмани

06.03.2021    14517    8    pila86    17    

29

Чтение метаданных 1С из SQL Server и PostgreSQL

Инструментарий разработчика Платформа 1С v8.3 Бесплатно (free)

Описание файла DBNames таблицы Params и файлов объектов метаданных таблицы Config.

16.02.2021    11805    zhichkin    74    

79

FormCodeGenerator Программная доработка форм. Часть 2 (Режим работы "Режим сравнения форм") на примере ERP 2.5

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

Данная публикация является продолжением описания функционирования обработки "FormCodeGenerator " в режиме сравнения форм и генерирования кода на основании сравнения. Подходит для перевода уже доработанных форм с интерактивной доработки на программную. Данный режим работы обработки снизит издержки при дальнейших обновлениях конфигураций.

5 стартмани

21.12.2020    19670    32    huxuxuya    11    

36

DaJet Studio: расширенный язык запросов 1С, очереди сообщений и web сервисы

Инструментарий разработчика Платформа 1С v8.3 Бесплатно (free)

DaJet Studio - разработка и управление скриптами, хранимыми процедурами и функциями, написанными на расширенном языке запросов 1С, а также очередями сообщений и web сервисами, основанными на использовании Microsoft SQL Server.

10.11.2020    12872    126    zhichkin    14    

25

Проверка ведения учета (универсальная)

Инструментарий разработчика Анализ учета Платформа 1С v8.3 Запросы Абонемент ($m)

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

2 стартмани

11.08.2020    11659    61    vozhd    4    

19

Глобальное меню разработчика для управляемых форм

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

Подсистема "Инструменты разработчика". Глобальное контекстное меню разработчика для управляемых форм в толстом клиенте.

03.08.2020    9067    tormozit    29    

94

Внешний регламент для 1С

Инструментарий разработчика Платформа 1С v8.3 Россия Абонемент ($m)

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

1 стартмани

05.03.2020    17444    14    moolex    13    

15

[ЕХТ] Фреймворк для Расширений 1С

Инструментарий разработчика Платформа 1С v8.3 Управляемые формы Платные (руб)

"Фреймворк для Расширений 1С" это универсальное и многофункциональное решение, упрощающее разработку и поддержку создаваемых Расширений. Поставляется в виде комплекта из нескольких Расширений с открытым исходным кодом. Работает в любых Конфигурациях в режиме Управляемого приложения с режимом совместимости 8.3.12 и выше без необходимости внесения изменений в Конфигурацию.

3000 руб.

27.08.2019    15168    3    6    

32

Markdown-editor в 1С (с сохранением в HTML)

Инструментарий разработчика Управляемые формы Конфигурации 1cv8 Абонемент ($m)

В этой обработке вы пишете свой текст, используя синтаксис Markdown, а на выходе получаете чистый HTML-код, избавленный от JS-библиотеки, которая его сформировала. Совместим с Webkit и IE.

1 стартмани

04.07.2019    19920    34    riposte    6    

52

Модель объекта

Инструментарий разработчика Платформа 1С v8.3 Абонемент ($m)

Подсистема позволяет описать модель данных объекта, где описана зависимость между реквизитами, и затем использовать эту модель в разных сценариях работы с объектом. Версия платформы: 8.3.6 и выше. С небольшими доработками будет работать на 8.2.

1 стартмани

30.06.2019    24902    3    vadim1980    5    

17

CFU & CFE - reader (версия 3.1).

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

Обработка для анализа файлов обновлений (.cfu) и расширений (.cfe) в режиме предприятия в любой конфигурации для 1С 8.3.+. Основана на разработке https://infostart.ru/public/97194/.

2 стартмани

21.06.2019    17502    48    vandalsvq    12    

28

Блин, мы забыли включить регламентные задания…

Инструментарий разработчика Платформа 1С v8.3 Абонемент ($m)

Привет, Инфостарт! Сегодня расскажу, как я решил проблему с выключенными регламентными заданиями в рабочих базах. Желая исключить человеческий фактор и минимизировать количество ошибок, я написал небольшую конфигурацию.  В конфигурации два регламентных задания. Первое периодически подключается к кластеру и сохраняет текущие параметры: имя, Сервер БД, базу СУДБ, блокировки входа и регламентных заданий и т.д. Второе задание периодически проверяет эти параметры на ошибки.

1 стартмани

08.04.2019    35060    23    slozhenikin_com    37    

61

Коннектор: удобный HTTP-клиент для 1С:Предприятие 8

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

Коннектор - библиотека для работы с HTTP запросами. Библиотека берет на себя всю рутину работы с HTTP запросами. Буквально в одну строку можно получать данные, отправлять, не заботясь о необходимости конструирования URL, кодирования данных и т.п.

31.01.2019    105819    bonv    262    

875

Конструктор мобильного клиента Simple WMS Client: способ создать полноценный ТСД без мобильной разработки. Теперь новая версия - Simple UI (обновлено 14.11.2019)

Оптовая торговля Производство готовой продукции (работ, услуг) Розничная торговля Учет ОС и НМА Учет ТМЦ Инструментарий разработчика Платформа 1С v8.3 Мобильная платформа Бухгалтерский учет Управленческий учет Абонемент ($m)

Simple WMS Client – это визуальный конструктор мобильного клиента для терминала сбора данных(ТСД) или обычного телефона на Android. Приложение работает в онлайн режиме через интернет или WI-FI, постоянно общаясь с базой посредством http-запросов (вариант для 1С-клиента общается с 1С напрямую как обычный клиент). Можно создавать любые конфигурации мобильного клиента с помощью конструктора и обработчиков на языке 1С (НЕ мобильная платформа). Вся логика приложения и интеграции содержится в обработчиках на стороне 1С. Это очень простой способ создать и развернуть клиентскую часть для WMS системы или для любой другой конфигурации 1С (УТ, УПП, ERP, самописной) с минимумом программирования. Например, можно добавить в учетную систему адресное хранение, учет оборудования и любые другие задачи. Приложение умеет работать не только со штрих-кодами, но и с распознаванием голоса от Google. Это бесплатная и открытая система, не требующая обучения, с возможностью быстро получить результат.

5 стартмани

09.01.2019    78064    286    informa1555    246    

207

Легкое и гибкое управление списком доступных баз 1С у пользователей

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

Когда в локальной сети много пользователей, а еще большое количество различных баз и при этом каждому нужны свои, то администрирование этого зоопарка превращается в АД! Этот комплекс позволяет централизованно управлять списком доступных баз в разрезе пользователей. За пару кликов можно добавить или убрать базу у всех пользователей.

7 стартмани

05.12.2018    30549    30    RomikR    11    

18

Очистка кэша 1С 8 (8.0, 8.1, 8.2, 8.3). Грамотная чистка кэша 1С с сохранением настроек.

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

Эффективное средство для устранения ошибок, возникающих в локальном кэше 1С на клиенте, которым легко сможет воспользоваться пользователь с любым уровнем знаний. Wsf-скрипт, созданный на стандартном языке автоматизации Windows - "WSH JScript", очищает кэш 1С просто, быстро и безопасно. Кроме варианта, очищающего кэш текущего пользователя, имеется также вариант для чистки кэша 1С всех пользователей терминального-сервера.

1 стартмани

04.11.2018    68418    648    Eugen-S    36    

52

Навигатор по конфигурации базы 1С 8.3

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

Универсальная внешняя обработка для просмотра метаданных конфигураций баз 1С 8.3. Отображает свойства и реквизиты объектов конфигурации, их количество, основные права доступа и т.д. Отображаемые характеристики объектов: свойства, реквизиты, стандартные рекизиты, реквизиты табличных частей, предопределенные данные, регистраторы для регистров, движения для документов, команды, чужие команды, подписки на события, подсистемы. Отображает структуру хранения объектов базы данных, для регистров доступен сервис "Управление итогами". Платформа 8.3, управляемые формы. Версия 1.1.0.95 от 07.05.2023

3 стартмани

28.10.2018    60049    537    ROL32    72    

183

Управляемая консоль запросов, отчетов 3.8.9 (расширение, внешняя обработка)

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

Работа с запросом и СКД, Полная поддержка пакетных запросов, временных таблиц, Сравнение результатов, текстов, Разбор структуры запроса в виде дерева, Анализ плана запроса, Групповая обработка

10 стартмани

14.08.2018    159851    3533    Evg-Lylyk    802    

624

Позиционирование в помещении с помощью нейросети по сигналу Wi-Fi. Интерактивная карта склада в 1С с показом позиции

Инструментарий разработчика Платформа 1С v8.3 Абонемент ($m)

Данная публикация содержит в себе редактор и интерактивную карту склада или иного помещения, на которой в реальном времени отображается позиция устройства, координаты которого вычисляются по уровням сигнала нескольких роутеров Wi-Fi. В статье и приложенным к ней разработкам предлагаются инструменты и методика для реализации вычисления точной геопозиции внутри помещений с помощью нейронной сети. Конфигурация написана на релизе 1С:Предприятие 8.3.12.1412, клиентское приложение имеет минимальный уровень совместимости SDK -16.

5 стартмани

09.08.2018    46574    35    informa1555    30    

77

Работа со схемой запроса

Инструментарий разработчика Платформа 1С v8.3 Запросы Абонемент ($m)

Стандартом взаимодействия с реляционной базой данных стал язык SQL. Приемником SQL в 1С является язык запросов. Язык запросов, также как и SQL, является структурированным. Составляющие структуры запроса отвечают на разные вопросы о том, какие данные требуется получить и какие манипуляции с множествами данных необходимо произвести при получении. В простых случаях текст запроса можно написать вручную, однако в сложных случаях, а также при программном формировании, - лучше воспользоваться объектной моделью запроса и использовать объект "Схема запроса". В статье дается описание объектной модели и особенностей работы с ней, а также приводится решение, упрощающее взаимодействие с объектом "Схема запроса".

1 стартмани

24.04.2018    59401    kalyaka    40    

212

Регистры правил [Расширение]

Инструментарий разработчика Платформа 1С v8.3 Управление правами 1С:Управление торговлей 11 Абонемент ($m)

Регистры правил - права доступа, запрет редактирования, автоподстановка реквизитов и т.д.

10 стартмани

15.03.2018    32508    33    33lab    5    

18

Заполняем по шаблону (по умолчанию)

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

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

1 стартмани

08.02.2018    44381    25    mvxyz    17    

79

1С HTML Шаблоны / HTML Templates

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

Быстрая и удобная обработка для работы с шаблонами HTML. Позволяет легко и быстро формировать код HTML.

2040 руб.

27.12.2017    26261    2    10    

9

Программное формирование форматированной строки в стиле html+inline CSS

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

Если вам приходилось работать с форматированными строками программно, то вы знаете, какая это боль. Данное решение облегчает программное формирование таких строк.

1 стартмани

18.11.2017    58878    61    bonv    13    

74

Быстрое удаление неиспользуемых версий 1С:Предприятие 8, кэша метаданных и информационных баз

Инструментарий разработчика Платформа 1С v8.3 Абонемент ($m)

При обновлении платформы 1С:Предприятие 8 предыдущие версии не удаляются. Со временем количество неиспользуемых версий платформы растет. Они занимают место на диске. Для решения этой проблемы предназначена программа OneCleaner. Она позволяет быстро удалить неиспользуемые версии платформы, а также почистить кэш метаданных и удалить ненужные информационные базы данных.

1 стартмани

14.11.2017    39231    109    bonv    17    

48

Закрываем всплывающие сообщения платформы

Инструментарий разработчика Управляемые формы Абонемент ($m)

Принудительное закрывание сообщений платформы 8.3.10.

1 стартмани

10.11.2017    20874    13    RomaH    8    

12

DataReducer — R-консоль для «1С:Предприятия»

Инструментарий разработчика Платформа 1С v8.3 Анализ и прогнозирование Абонемент ($m)

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

10 стартмани

10.07.2017    33629    3    DataReducer    13    

47

Многопоточность. Универсальный «Менеджер потоков» (фреймворк) с отслеживанием зависимости объектов

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

Восстановление партий, расчет зарплаты, пакетное формирование документов или отчетов - теперь все это стало доступнее. * Есть желание повысить скорость работы медленных алгоритмов! Но... * Нет времени думать о реализации многопоточности? * о запуске и остановке потоков? * о поддержании потоков в рабочем состоянии? * о передаче данных в потоки и как получить ответ из потока? * об организации последовательности? Тогда ЭТО - то что надо!!!

26.05.2017    54048    DarkAn    87    

196

Набор подсистем "Умные таблицы"

Инструментарий разработчика Платформа 1С v8.3 Беларусь Россия Казахстан Абонемент ($m)

Данный набор подсистем – прикладная библиотека, призванная помочь программисту 1С быстрее решать ряд типовых задач бизнес-логики, таких как: ведение статусов объектов, отправка почтовых сообщений в определенное время, ведение произвольных таблиц с возможностью редактирования, сохранения и группировки, ориентированные на расчет бюджетных таблиц (план продаж, ретробонусы B2C, проценты по договорам B2B и договорные условия по КАМ), расчет коммерческой политики для бюджетных таблиц, исполнение произвольных алгоритмов с хранением кода в информационной базе, определение рабочих баз, хранение файлов во внешних СУБД (Postgre SQL, MS SQL и MongoDB) и выполнение произвольного кода после изменений ссылочного объекта вне транзакции изменения.

1 стартмани

22.05.2017    49000    119    Silenser    34    

75