mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-07-31 16:57:46 +03:00
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>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
4e6c8311d8
commit
10933e7386
@@ -0,0 +1,39 @@
|
||||
{
|
||||
"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"
|
||||
]
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user