Files
cc-1c-skills/tests/skills/cases/cfe-borrow/form-choice-link-items.json
T
7381b0503c feat(cfe-borrow): связи формы кодируются как у Конфигуратора, а не вырезаются
В заимствованной форме без основного реквизита навык вырезал связи параметров
выбора на Items.<Таблица>.CurrentData.<Поле>, а связи на стандартные поля
(Объект.Owner, Объект.Date) и Объект.<ТЧ>.<Реквизит> — молча. TypeLink на Items.*
вырезался всегда, даже с основным реквизитом. Конфигуратор пишет такие пути кодом.

Код — внутренняя ссылка платформы: в выгрузке она пишет имя, а если имя в форме
не разрешается — код. Грамматика восстановлена оракулом (код в форму конфигурации →
загрузка → выгрузка → имя, 8.3.27) и эталонами Конфигуратора УТ:
<id реквизита> или <id таблицы>:CurrentData, далее 0:<uuid> метаданных источника,
<id колонки>, <id>:<AdditionalColumns> или -k стандартного реквизита (коды своих
для каждого вида объекта — таблица в навыке и в спецификации §5.5.2).

Правило как у Конфигуратора: текст, где он разрешается, иначе код. Путь от
реквизита формы кодируется и с основным реквизитом — текст платформа отвергает
«Неверный путь к полю». TypeLink — то же правило. Некодируемое вырезается, всегда
с предупреждением «Вырезано связей формы». Измерения/ресурсы регистра и реквизиты
ТЧ теперь различаются как реквизиты (с основным реквизитом «Запись.Склад» больше
не подменяется ссылкой на сам реквизит).

Попутно: порядок заимствования ссылочных типов в PS зависел от хеша — теперь
порядок первого упоминания, как в Python-порте. Оба порта, v1.41.

Проверка: четыре формы УТ (ОприходованиеИзлишковТоваров, ЗначенияСвойствОбъектов,
ФормаРасчетыМеждуОрганизациями без и с основным реквизитом) совпадают с выгрузкой
Конфигуратора построчно; все 11 кодов новых кейсов оракул переводит обратно в
исходные пути. Кейсы form-link-codes, -main, -register; form-choice-link-items
ждёт код вместо вырезания.

Проблема и первые данные о кодировке — PR #105.

Co-Authored-By: Sergei Pleshanov <2357qwr@gmail.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-27 15:53:52 +03:00

70 lines
2.8 KiB
JSON

{
"name": "Связь параметров выбора на Items.*.CurrentData без основного реквизита кодируется: id таблицы, CurrentData, uuid реквизита ТЧ",
"preRun": [
{
"script": "meta-compile/scripts/meta-compile",
"input": { "type": "Catalog", "name": "Склады" },
"args": { "-JsonPath": "{inputFile}", "-OutputDir": "{workDir}" }
},
{
"script": "meta-compile/scripts/meta-compile",
"input": { "type": "Catalog", "name": "Ячейки" },
"args": { "-JsonPath": "{inputFile}", "-OutputDir": "{workDir}" }
},
{
"script": "meta-compile/scripts/meta-compile",
"input": {
"type": "Document", "name": "Размещение",
"tabularSections": {
"Строки": [
"Склад: CatalogRef.Склады",
"Ячейка: CatalogRef.Ячейки"
]
}
},
"args": { "-JsonPath": "{inputFile}", "-OutputDir": "{workDir}" }
},
{
"script": "form-add/scripts/form-add",
"args": { "-ObjectPath": "{workDir}/Documents/Размещение.xml", "-FormName": "ФормаДокумента" }
},
{
"script": "form-compile/scripts/form-compile",
"input": {
"title": "Размещение",
"elements": [
{
"table": "Строки", "path": "Объект.Строки",
"columns": [
{ "input": "Склад", "path": "Объект.Строки.Склад" },
{
"input": "Ячейка", "path": "Объект.Строки.Ячейка",
"choiceParameterLinks": [
{ "name": "Отбор.Владелец", "dataPath": "Items.Строки.CurrentData.Склад" }
]
}
]
}
],
"attributes": [ { "name": "Объект", "type": "DocumentObject.Размещение", "main": true } ]
},
"args": { "-JsonPath": "{inputFile}", "-OutputPath": "{workDir}/Documents/Размещение/Forms/ФормаДокумента/Ext/Form.xml" }
},
{
"script": "cfe-init/scripts/cfe-init",
"args": { "-Name": "Тест", "-OutputDir": "{workDir}/cfe", "-ConfigPath": "{workDir}" }
}
],
"params": { "extensionPath": "cfe", "object": "Document.Размещение.Form.ФормаДокумента" },
"expect": {
"fileContains": {
"file": "cfe/Documents/Размещение/Forms/ФормаДокумента/Ext/Form.xml",
"text": ":02023637-7868-4a5f-8576-835a76e0c9ba/0:"
},
"fileNotContains": {
"file": "cfe/Documents/Размещение/Forms/ФормаДокумента/Ext/Form.xml",
"text": "Items.Строки.CurrentData.Склад"
}
}
}