Предпродажная подготовка: инструмент ext_precheck.py для проверки расширения по выгрузке перед поставкой

28.10.26

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

ext_precheck.py сравнивает XML-выгрузку расширения с выгрузкой основной конфигурации: ищет исчезнувшие методы перехватов, устаревшие тела под ИзменениеИКонтроль, пустые свойства и вызовы для ручного разбора. На контрольном наборе отметил 28 из 28 пунктов, пять пакетных команд платформы — 4; на похожем наборе другой модели — 15 из 15. Среди пунктов есть предупреждения и сведения. Медианы пяти запусков по готовым выгрузкам — 0,24–0,35 с на стенде; платформа для анализа файлов не нужна. В архиве Python-скрипт, README и 69 тестов.

Файлы

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

Наименование Скачано Купить файл
ext_precheck.py: проверка выгрузки расширения перед продажей
.zip 66,29Kb ver:1.0
0 5 000 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.
ext_precheck.py: проверка расширения 1С перед продажей
Сравнивает XML-выгрузку расширения с выгрузкой основной конфигурации покупателя и показывает перехваты исчезнувших процедур, устаревшие копии тел под &ИзменениеИКонтроль, пустые свойства, опасные вызовы, лишние заимствования и отсутствие роли.
Версия 1.0Python 3.12, без платформы 1СВыгрузки 8.3.2769 тестов7 SM
Проверено на стенде
28 из 28
контрольных замечаний в NanoDirty отметил инструмент
4 из 28
нашли пять пакетных команд платформы, включая проверку применимости
15 из 15
контрольных пунктов в NanoBlind, собранном другой моделью по общему шаблону
0,24–0,35 с
диапазон медиан пяти запусков по готовым выгрузкам, со стартом Python

Стенд 27.10.2026: Windows 11 Pro, Intel Core i5-2400, 7,9 ГБ ОЗУ, SATA SSD; 1С:Предприятие 8.3.27.2130 x86; основная конфигурация «Нано-УТ 2.0» и выгрузка УТ 11.5.22.77; Python 3.12.10.

 

В 28 пунктах есть ошибки, предупреждения и сведения для ручного разбора; это покрытие контрольного набора, а не доля любых ошибок расширений. Правила разрабатывались на NanoDirty. NanoBlind — новый экземпляр похожего набора, а не независимая проверка всех видов дефектов. Выгрузка конфигураций во время 0,24–0,35 с не входит. На УТ 11.5 проверяли время и P3; применимость перехватов к УТ этим не доказана.

Что делает

Расширение, которое работает у разработчика, у покупателя встречает другую версию типовой. Если перехваченную процедуру переименовали или изменили тело под &ИзменениеИКонтроль, обновление базы, /CheckModules и /CheckConfig на стенде возвращали код 0 и «Ошибок не обнаружено». ext_precheck.py читает две выгрузки, расширения и основной конфигурации той версии, на которой расширение будет работать, и выдаёт список находок с файлом, строкой, цитатой и тем, что исправить. Для анализа готовых выгрузок платформа и база не нужны. Команда платформы /CheckCanApplyConfigurationExtensions в этом же опыте обнаружила обе поломки перехватов; инструмент проверяет их по файлам вместе с остальными правилами.

Как работает

1 Читает выгрузку расширения. Свойства, состав объектов, роли, формы и тексты модулей. Расширение не запускается и в базу не загружается.
2 Сопоставляет с основной конфигурацией. С ключом --base проверяет режим совместимости, наличие перехваченных процедур и совпадение копии тела под &ИзменениеИКонтроль с текущим телом оригинала.
3 Применяет правила P1–P12. Каждая находка получает важность: ошибка, предупреждение или сведения.
4 Пишет отчёт. report.md для чтения и report.json для сборки; при ошибках код возврата 1, при сбое запуска 2. Код 0 допускает предупреждения и сведения и сам по себе не подтверждает готовность к продаже.

Правила

Правило Что проверяет
P1 пустые Поставщик, Синоним, Версия; версия вне формата из 2–4 числовых частей через точки или из одних нулей
P2 пустой префикс имён и собственные объекты без префикса
P3 CompatibilityMode не совпадает с основной конфигурацией; отдельно сравнивается ConfigurationExtensionCompatibilityMode (нужен --base)
P4 назначение расширения; «Исправление» на продажу
P5 &Перед, &После, &Вместо, &ИзменениеИКонтроль на процедуру или модуль, которых нет в основной конфигурации; &Перед/&После на функцию; несовпадение вида метода у &Вместо/&ИзменениеИКонтроль (нужен --base)
P6 копия тела под &ИзменениеИКонтроль расходится с текущим телом оригинала вне блоков #Вставка/#Удаление (нужен --base)
P7 заимствованный объект, в котором ничего не изменено и не добавлено
P8 собственный объект, на который нет ссылок
P9 привилегированный собственный общий модуль
P10 Выполнить(, Вычислить(, отключение безопасного режима, COM, запуск приложений, HTTP, удаление файлов, внешние компоненты; комментарии и строки пропускаются
P11 Сообщить( в серверном коде, длинные закомментированные блоки, команды без обработчика или без элемента формы
P12 нет роли, которая даёт права на собственные объекты расширения

Запуск

Распакуйте архив и перейдите в каталог ext-precheck, где лежит ext_precheck.py. Выгрузки делаются Конфигуратором, затем запускается проверка. Подставьте свои пути вместо обозначений в угловых скобках; пути с пробелами заключайте в кавычки:

Командная строка
1cv8.exe DESIGNER /F <база> /DumpConfigToFiles <каталог расширения> -Extension <имя>
1cv8.exe DESIGNER /F <база> /DumpConfigToFiles <каталог основной>
python ext_precheck.py <каталог расширения> --base <каталог основной> --out report

Если выгрузки расширения нет, можно передать файл .cfe: инструмент сам создаст временную пустую базу, загрузит расширение и выгрузит его. На одном из расширений стенда этот режим занял 12,7 с и требует установленной платформы 1С. Для каждого запуска задавайте новый отдельный каталог --out: подкаталог _work внутри него удаляется после работы. Ключ --keep сохраняет его.

Командная строка
python ext_precheck.py --cfe <файл.cfe> --platform <путь к 1cv8.exe> --base <каталог основной> --out report-cfe-new

Прогон на контрольном расширении: сводка находок по правилам
Прогон на контрольном расширении: сводка находок по правилам

После «обновления типовой» P5 и P6 нашли обе поломки перехватов
После «обновления типовой» P5 и P6 нашли обе поломки перехватов

Границы
  • Инструмент проверяет выгрузки и не запускает расширение: поведение в клиентском приложении он не показывает.
  • Инструмент не проверяет синтаксис и ограничения мобильной платформы; на стенде их проверяли /CheckModules и /CheckConfig; их стоит запускать после инструмента, вместе с /CheckCanApplyConfigurationExtensions.
  • P5/P6 подтверждены опытом только на общих модулях. Полнота поиска и сопоставления перехватов в модулях форм и объектов не подтверждена.
  • Динамически собранное из частей имя объекта правило P8 не видит и может назвать объект неиспользуемым.
  • Предупреждения и сведения требуют ручного разбора: опасный вызов может быть нужен продукту, тогда его стоит описать в инструкции.
  • P7 оценивает заимствования по эвристике, без полного сравнения метаданных. Для P12 нужна полная выгрузка с Rights.xml; отсутствие файла требует проверки полноты исходников. HTTP, назначение «Исправление» и более низкий режим совместимости сами по себе не доказывают неисправность.
  • Без --base правила P3, P5 и P6 выдают сведения о невозможности сравнения.
  • Формат проверен на выгрузках платформы 8.3.27.

Что в архиве

Файл Назначение
ext_precheck.py проверка, правила P1–P12, режимы выгрузки и .cfe
bsl_scan.py разбор модулей: комментарии, строки, аннотации, тела методов
tests/ 69 тестов на фикстурах из настоящих выгрузок платформы
README.md запуск, коды возврата, правила, пределы

Проверено на Python 3.12.10, используется только стандартная библиотека; другие версии Python не проверялись. Распаковывайте Проводником Windows, 7-Zip или Python: unzip из Git Bash портит кириллические имена файлов. Проверить архив после распаковки: python -I -m unittest discover -s tests.

Подробный опыт

Как собиралось контрольное расширение, что нашла каждая пакетная команда платформы и как прошёл сценарий обновления типовой, описано в статье «Проверка расширения перед продажей: 28 контрольных замечаний и пять команд Конфигуратора». В комплекте статьи собраны журналы прогонов, чек-лист и команды опыта. Пока статья остаётся черновиком, ссылка недоступна читателям; перед публикацией витрины нужно проверить её доступность.

 
Нинель Адольевна Щербакова
Нинель Адольевна Щербакова (Ninel_S)
Архитектор • SRE & DevOps инженер • HighLoad 1С
Автор технических публикаций на Infostart. Разработчик NOPik, SRE-Suite-for-1C и мультиагентных ассистентов для экосистемы 1С:Предприятие.

Вступайте в нашу телеграмм-группу Инфостарт

1С:Предприятие Расширения конфигурации Тиражные решения Проверка конфигурации Python

См. также

Разработка Инструментарий разработчика Групповая разработка (Git, хранилище) Разработчик Платные (руб)

Практический курс по работе с AI-агентами для разработчиков 1С уровня middle и senior, а также тимлидов команд: от постановки задач и передачи контекста до создания расширений, интеграций, MCP-инструментов, тестов и проверки готового решения.

50000 руб.

10.09.2026    13998    125    0    

87

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

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

24900 руб.

20.08.2024    83455    432    171    

364

Инструментарий разработчика Роли и права Запросы СКД Разработчик Руководитель проекта 1С:Предприятие 8 Платные (руб)

Инструменты для разработчиков 1С 8.3 и 8.5: Infostart Toolkit. Автоматизация и ускорение разработки на управляемых формах. Легкость работы с 1С.

16500 руб.

02.09.2020    286090    1608    423    

1220

Инструментарий разработчика Разработка Администрирование веб-серверов Системный администратор Разработчик Аналитик Руководитель проекта 1С 8.3 Платные (руб)

Analyzer 1C сводит выгрузку 1С — основную конфигурацию и все расширения — в единый граф знаний. Любой запрос по связям за доли секунды, с пометками «Доб.» / «Заимств.» / «Переопределено». Новое в 2.0 — обновление поставки: сравнение и объединение версий деревом «как в Конфигураторе» с выгрузкой плана решений; поиск конфликтов из-за перехватов расширений и висячих ссылок; загрузка из бинарных .cf/.cfe; циклические зависимости. Плюс анализ влияния, запросы BSL, роли и RLS, граф вызовов. Минута на развёртывание через Docker без необходимости подключения к Интернет. Любая 1С:Предприятие 8.3+.

14000 руб.

17.04.2026    17010    63    62    

74

Пакетная печать Печатные формы Инструментарий разработчика Разработчик 1С:Предприятие 8 Платные (руб)

Расширение для создания и редактирования печатных форм в системе 1С:Предприятие 8.3. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и прозрачность разработки, а также навести порядок в многообразии корпоративных печатных форм. Обновление версии от 21.04.26

22570 руб.

06.10.2023    44334    123    54    

135

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

Первые попытки разработки на 1С с использованием больших языковых моделей (LLM) могут разочаровать. LLMки сильно галлюцинируют, потому что не знают устройства конфигураций 1С, не знают нюансов синтаксиса. Но если дать им подсказки с помощью MCP, то результат получается кардинально лучше. Далее в публикации: MCP для поиска по метаданным 1С, справке синтакс-помощника и проверки синтаксиса.

15250 руб.

25.08.2025    77214    147    41    

154

Разработка Инструментарий разработчика Разработчик Руководитель проекта 1С 8.3 Платные (руб)

Pilot 1C превращает задачу, поставленную обычными словами, в техническое задание, код на встроенном языке и сценарии проверки. Прежде чем что-то предложить, он сверяется с устройством вашей конфигурации через граф Analyzer 1C: существует ли объект, из чего он состоит, кто его вызывает, какие роли дают права. Чего найти не удалось – спрашивает, а не выдумывает. Готовый код проходит более полутора сотен проверок по справочнику языка и стандартам разработки, который приезжает вместе с продуктом. Модель – ваша: любой сервер, совместимый с программным интерфейсом OpenAI, в том числе локальный. Правки в конфигурацию Pilot не вносит – их применяет разработчик.

18300 руб.

11.09.2026    3845    5    0    

10

Инструменты администратора БД Инструментарий разработчика Роли и права Разработчик 1С:Предприятие 8 1C:Бухгалтерия Россия Платные (руб)

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

17000 руб.

10.11.2023    28825    104    46    

107
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. war41k 1432 28.10.26 13:31 Сейчас в теме
Что мешает ПКП проверка совместимости расширения сделать в конфигураторе?
4. Vasvas05 27 28.10.26 14:08 Сейчас в теме
(1) это же интсрумент для автоматизации, чтобы можно запустить и отчет на почту потом отправить
5. war41k 1432 28.10.26 14:20 Сейчас в теме
(4) а я прочитал проверка расширения 1С перед продажей
6. war41k 1432 28.10.26 14:21 Сейчас в теме
(4) Вы это где прочитали?
2. war41k 1432 28.10.26 13:32 Сейчас в теме
3. war41k 1432 28.10.26 13:35 Сейчас в теме
Ваша чудо программа решает режим совместимость конфигурации? а версия языка Русский не сходится с версией конфигурации?
7. Ninel_S 208 28.10.26 16:08 Сейчас в теме
(3) Позвольте поинтересоваться, чего (в итоге) Вы хотите от меня?
Для отправки сообщения требуется регистрация/авторизация