diff --git a/.claude/skills/meta-compile/scripts/meta-compile.ps1 b/.claude/skills/meta-compile/scripts/meta-compile.ps1 index bf0d8c54..e5a0b997 100644 --- a/.claude/skills/meta-compile/scripts/meta-compile.ps1 +++ b/.claude/skills/meta-compile/scripts/meta-compile.ps1 @@ -2094,7 +2094,10 @@ function Emit-TabularSection { } # Формат 2.20 (8.3.27): длина номера строки ТЧ (5..9 → до 999 999 999 строк вместо 99 999). # Последним в Properties. Дефолт платформа берёт из режима совместимости на момент создания ТЧ. - if ($script:isFormat220) { + # ТОЛЬКО у объектов с хранением в БД: обработкам и отчётам платформа тег не пишет вовсе + # (проверено на двух конфигурациях: 0 из 235+257 ТЧ обработок и 0 из 106+8 ТЧ отчётов). + # Свойство задаёт разрядность физического номера строки в таблице — у обработок таблицы нет. + if ($script:isFormat220 -and $objectType -notin @("DataProcessor", "Report", "ExternalDataProcessor", "ExternalReport")) { $lnl = if ($null -ne $tsLineNumberLength -and "$tsLineNumberLength" -ne '') { [int]$tsLineNumberLength } else { $script:lineNumberLengthDefault } X "$indent`t`t$lnl" } diff --git a/.claude/skills/meta-compile/scripts/meta-compile.py b/.claude/skills/meta-compile/scripts/meta-compile.py index c420854f..4014521f 100644 --- a/.claude/skills/meta-compile/scripts/meta-compile.py +++ b/.claude/skills/meta-compile/scripts/meta-compile.py @@ -2151,7 +2151,10 @@ def emit_tabular_section(indent, ts_name, columns, object_type, object_name, ts_ X(f'{indent}\t\t{ts_use if ts_use else "ForItem"}') # Формат 2.20 (8.3.27): длина номера строки ТЧ (5..9 → до 999 999 999 строк вместо 99 999). # Последним в Properties. Дефолт платформа берёт из режима совместимости на момент создания ТЧ. - if is_format_220: + # ТОЛЬКО у объектов с хранением в БД: обработкам и отчётам платформа тег не пишет вовсе + # (проверено на двух конфигурациях: 0 из 235+257 ТЧ обработок и 0 из 106+8 ТЧ отчётов). + # Свойство задаёт разрядность физического номера строки в таблице — у обработок таблицы нет. + if is_format_220 and object_type not in ('DataProcessor', 'Report', 'ExternalDataProcessor', 'ExternalReport'): lnl = int(ts_line_number_length) if ts_line_number_length not in (None, '') else line_number_length_default X(f'{indent}\t\t{lnl}') X(f'{indent}\t') diff --git a/tests/skills/cases/meta-compile/format-220-props.json b/tests/skills/cases/meta-compile/format-220-props.json index 4d0a0b26..36301d06 100644 --- a/tests/skills/cases/meta-compile/format-220-props.json +++ b/tests/skills/cases/meta-compile/format-220-props.json @@ -22,6 +22,11 @@ "periodicity": "Day", "dimensions": ["Валюта: CatalogRef.Валюты | master, mainFilter"], "resources": ["Курс: Number(15,4)"] + }, + { + "type": "DataProcessor", + "name": "ЗагрузкаКурсов", + "tabularSections": { "Строки": ["Значение: Число(15,2)"] } } ], "validatePath": "Catalogs/Договоры", diff --git a/tests/skills/cases/meta-compile/snapshots/format-220-props/Configuration.xml b/tests/skills/cases/meta-compile/snapshots/format-220-props/Configuration.xml index 194639db..457894ef 100644 --- a/tests/skills/cases/meta-compile/snapshots/format-220-props/Configuration.xml +++ b/tests/skills/cases/meta-compile/snapshots/format-220-props/Configuration.xml @@ -249,6 +249,7 @@ Валюты Договоры КурсыВалют + ЗагрузкаКурсов \ No newline at end of file diff --git a/tests/skills/cases/meta-compile/snapshots/format-220-props/DataProcessors/ЗагрузкаКурсов.xml b/tests/skills/cases/meta-compile/snapshots/format-220-props/DataProcessors/ЗагрузкаКурсов.xml new file mode 100644 index 00000000..f8825da7 --- /dev/null +++ b/tests/skills/cases/meta-compile/snapshots/format-220-props/DataProcessors/ЗагрузкаКурсов.xml @@ -0,0 +1,129 @@ + + + + + + UUID-002 + UUID-003 + + + UUID-004 + UUID-005 + + + + ЗагрузкаКурсов + + + ru + Загрузка курсов + + + + true + + + false + + + + + + + + UUID-007 + UUID-008 + + + UUID-009 + UUID-010 + + + + Строки + + + ru + Строки + + + + + DontCheck + + + + DontCheck + false + false + Auto + TransformValues + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + + + + Значение + + + ru + Значение + + + + + xs:decimal + + 15 + 2 + Any + + + false + + + + false + + false + false + + + false + 0 + DontCheck + Items + + + Auto + Auto + + + Auto + + + + + + + diff --git a/tests/skills/cases/meta-compile/snapshots/format-220-props/DataProcessors/ЗагрузкаКурсов/Ext/ManagerModule.bsl b/tests/skills/cases/meta-compile/snapshots/format-220-props/DataProcessors/ЗагрузкаКурсов/Ext/ManagerModule.bsl new file mode 100644 index 00000000..e69de29b diff --git a/tests/skills/cases/meta-compile/snapshots/format-220-props/DataProcessors/ЗагрузкаКурсов/Ext/ObjectModule.bsl b/tests/skills/cases/meta-compile/snapshots/format-220-props/DataProcessors/ЗагрузкаКурсов/Ext/ObjectModule.bsl new file mode 100644 index 00000000..e69de29b