Repository navigation
Releases
v1.1.2 — числовой ноль и поддержка получателя
Исправления по результатам issue #3.
- Числовой код 0 больше не вызывает
predefined_code_mismatch. Учитываютсяxsi:type="xs:decimal"иCodeType=Numberбез явного типа значения; строковый"0"и ненулевые числа сохраняют предупреждение. - В README, SKILL.md и JSON-подсказке уточнена зависимость возможного отказа
/MergeCfgот поддержки объекта именно в базе-получателе. Частичная загрузка в заблокированный объект тоже запрещена. Для предварительной очистки при разрешённой правке нужны только описание объекта иExt/Predefined.xml; через ibcmd — без форм. - В репозитории и приложениях — патч двух заголовков native MCP с тем же исправлением. Патч прошёл проектный экспорт и проверку применения; это исходники для пересборки, не готовый бинарный пакет MCP.
Собственная проверка: 23 Python-теста; целевой C++-набор без ошибок; 13 случаев паритета Python/C++ без расхождений; XML-фрагменты из приложения к issue проверены обоими построителями как целый объект и заглушка; native MCP собран; build assemble_partial на платформе 8.3.27.2214 во временных базах успешно собрал оба сценария (числовой ноль без предупреждения, строковый код с предупреждением и новой подсказкой).
Изменение поддержки и объединение на базах БК КЗ автора независимо не воспроизводились. Эти наблюдения в документации атрибутированы автору отчёта. Остальные причины «неразрешимых ссылок» из issue #3 этим выпуском не закрываются.
Архив 1c-partial-cf-v1.1.2.zip содержит каталог скилла 1c-partial-cf/ и README. Патч MCP приложен отдельно.
v1.1.1 — предупреждение о коде предопределённых элементов
Скачайте 1c-partial-cf-v1.1.1.zip и распакуйте каталог 1c-partial-cf в каталог skills агента (.claude/skills/, .agents/skills/) с заменой.
Что нового
Предупреждение о коде предопределённых элементов (#3)
У справочника (ПВХ, плана) с CodeLength=0 предопределённый элемент может хранить код — так в типовой БК КЗ 3.0.75.1 у Справочник.ВидыПрочихВыплат. База, загруженная из CF поставщика, код держит, а загрузка XML (и сборка малой CF) его стирает, и /MergeCfg отказывает «Неразрешимые ссылки на объект …»; DoNotMerge не помогает.
- Отчёт перечисляет такие объекты CF — выбранные и заглушки — в
predefined_code_mismatch(object,in_cf:whole/stub,items) с подсказкойpredefined_code_hint. Сборку это не останавливает. - Обход описан в README и
SKILL.md: до объединения убрать код у этих предопределённых элементов в базе-получателе, например частичной загрузкой в неё XML этих объектов из её же выгрузки.
Проверено
Тесты на синтетической выгрузке; на реальной БК КЗ и /MergeCfg новая версия не прогонялась.
v1.1.0 — перенос только своих изменений модулей
Скачайте 1c-partial-cf-v1.1.0.zip и распакуйте каталог 1c-partial-cf в каталог skills агента (.claude/skills/, .agents/skills/) с заменой.
Что нового
Перенос только своих изменений модулей (#2)
--patch— объект, у которого изменены только модули (объекта, менеджера, набора записей, общего модуля, формы, команды), переносится не целиком, а патчами изменённых модулей. Всё остальное в объекте — от базы: свойства, реквизиты, элементы форм, неизменённые модули.--until— конец изменений задачи: переносится--since..--until, без него — до рабочего дерева.--target <выгрузка базы>— изменения задачи накладываются на модули базы-получателя, её правки сохраняются. Если они пересекаются с изменениями задачи, CF не собирается, а модули с маркерами<<<<<<< база/>>>>>>> задачакладутся в<имя>.conflicts/для ручного разбора.--methods— только изменения выбранных методов:CommonModule.Модуль.Метод,Document.Д.ObjectModule.Метод,Document.Д.Form.Форма.Методи т. п.- Патч платформа применяет строго: если база изменилась в этих строках или рядом,
/MergeCfgоткажет и не изменит ничего.
Заглушки больше не меняют базу
При объединении с приоритетом базы заглушка всё же меняла её: переставляла состав функциональных опций, дописывала перевод строки в конец модуля и — если модуль сохранённой команды заглушки отличался от базы — добавляла в базу его методы. Теперь модулей у заглушки, её команд и форм в CF нет, а такие свойства получают DoNotMerge. Проверено на полной типовой конфигурации: выгрузка заглушек и выбранных объектов до и после /MergeCfg совпадает побайтно.
Проверено
1С 8.3.27, Windows: пакетный /MergeCfg на малой базе (все изменения, выбор методов, коммиты одной задачи, конфликт, без --target) и на полной типовой конфигурации (три модуля по 1,7–11 тыс. строк, выбор метода, сотни заглушек).
Ограничения
- Перенос патчами проверен только пакетным
/MergeCfg. DoNotMergeплатформа принимает только для свойства, которое в базе и CF различается: если модуль, непустой в выгрузке, в базе пуст,/MergeCfgоткажет («Неизмененные свойства») — пересоберите CF из выгрузки, совпадающей с базой.