mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-07-14 14:55:16 +03:00
027e6a4a89
У каждой ТЧ ровно один стандартный реквизит — НомерСтроки (LineNumber), и его свойства (синоним/подсказка/полнотекстовый поиск/…) тоже переопределяемы. Раньше компилятор эмитил only-default блок, декомпилятор кастомизацию не ловил. DSL `lineNumber` на объектной форме ТЧ (omit-on-default по каждому свойству): synonym/comment/fullTextSearch/tooltip/format/editFormat/choiceHistoryOnInput. Emit-StandardAttribute расширен (Format/EditFormat через Emit-MLText, ChoiceHistoryOnInput из ov — были захардкожены); Emit-TabularStandardAttributes принимает spec и строит ov. Декомпилятор захватывает из xr:StandardAttribute[@name='LineNumber'] → ключ lineNumber. Покрыта КАСТОМИЗАЦИЯ (в корпусе 2/1728, только synonym — но задокументирован полный набор из 7 свойств). 44/1728 ТЧ блок вовсе ОПУСКАЮТ — правило опущения не выводится (FillChecking/Use не различают опускающие/имеющие), компилятор эмитит блок всегда → not-covered хвост (решение совместное). Аддитивно: all-default блок (1684/1728) эмитится идентично, регрессий нет (TOTAL 78 без изменений). Регресс 47/47 ps1+py, ps1↔py identical. spec §5.1, кейс catalog-ts-linenumber. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>