Files
cc-1c-skills/tests/skills/cases/meta-compile/document-full.json
T
Nick Shirokov 10933e7386 feat(meta-compile,meta-decompile): поддержка типа Document (Документы) (v1.43/v0.32)
Шестой тип. Базовый роундтрип 151-выборки acc+erp: TOTAL 11450→166 (−98.5%),
match 0→109/151, 0 крашей. Регресс 49/49 ps1+py, ps1==py identical. 1С-cert ✓.

Emit-DocumentProperties переписан на общие хелперы (был легаси-хардкод): выбило
Characteristics/формы/BasedOn/InputByString/презентации — декомпилятор их уже
захватывал, баг был чисто компиляторный. SA-conditional + профиль {Date:ShowError}.

Декомпилятор: Document-блок — нумерация, проведение, RegisterRecords (движения),
Numerator, DataHistory-триплет, checkUnique-дефолт.

Class-2 дефолт-фиксы (рассинхрон компилятор↔декомпилятор↔корпус): createOnInput
DontUse→Use, registerRecordsWritingOnPost WriteModified→WriteSelected,
dataLockControlMode Automatic→Managed.

Новые/исправленные ключи (общее для реквизитов, всплыло на Document): markNegatives,
choiceForm/choiceFoldersAndItems, format/editFormat станд.реквизита (SA-override),
TS fillChecking. TS-суппресс `lineNumber: ""` — opt-out наличия TS-блока стандартных
реквизитов (~6% ТЧ его опускают, правило не выводимо; чинит и хвост Catalog).

verify-snapshots: getStructuralDeps стабит регистры registerRecords по MDObjectRef.

Остаток (~166, 2 узких хвоста): choiceParameters FixedArray data-specific edge +
FillValue станд.реквизита decimal/DTR/пробелы. spec §7.2, кейс document-full.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-06 16:09:05 +03:00

40 lines
1.5 KiB
JSON

{
"name": "Документ: движения, проведение, нумерация, кастомизация ТЧ/реквизитов",
"input": {
"type": "Document",
"name": "РеализацияУслуг",
"comment": "полный документ",
"numberType": "String",
"numberLength": 9,
"posting": "Allow",
"realTimePosting": "Allow",
"registerRecordsWritingOnPost": "WriteModified",
"registerRecords": ["AccumulationRegister.Продажи"],
"standardAttributes": { "Date": { "fillChecking": "ShowError" }, "Number": { "synonym": "Номер документа" } },
"attributes": [
"Контрагент: CatalogRef.Контрагенты",
{ "name": "Сумма", "type": "Number(15,2)", "markNegatives": true },
{ "name": "Ответственный", "type": "CatalogRef.Пользователи" }
],
"tabularSections": [
{
"name": "Услуги",
"fillChecking": "ShowError",
"attributes": ["Номенклатура: CatalogRef.Номенклатура", "Количество: Number(10,3)"]
},
{
"name": "Комментарии",
"lineNumber": "",
"attributes": ["Текст: String(200)"]
}
]
},
"validatePath": "Documents/РеализацияУслуг",
"expect": {
"files": [
"Documents/РеализацияУслуг.xml",
"Documents/РеализацияУслуг/Ext/ObjectModule.bsl"
]
}
}