mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-09-08 11:10:52 +03:00
fix(meta-compile,meta-edit): synonym decimal и документация типов без синонима
Ревью собственной работы против плана нашло три упущения. 1. Синоним `decimal(p,s)` был в плане, но в код не попал — после включения отказа компилятора стандартный SQL-тип стал отвергаться. Добавлен в оба навыка и покрыт кейсом. 2. Тип Null в таблице примитивных типов не описан. Голого синонима у него нет и не будет: в DSL он задаётся как `v8:Null`. Заодно сказано прямым текстом, что имя С префиксом проходит как есть — так задаются типы без синонима (`v8:ValueTable`, `ent:AccountType`, `v8ui:Color`). 3. Раздел 9.1 в 1c-form-spec помечен как общий справочник типов, а не «про формы»: там самые полные перечни v8/v8ui/dcs/ent, и они относятся к любому объекту метаданных. Проверено: meta-compile 94/94 и meta-edit 32/32 в обоих рантаймах, 11 гардов, снэпшот sql-type-synonyms с decimal принят платформой. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01NBsZA5cr2WFThtgp7i5WVi
This commit is contained in:
co-authored by
Claude Opus 5
parent
ed160c65b5
commit
6169a7ff93
@@ -80,6 +80,7 @@ JSON DSL для описания объектов метаданных конф
|
||||
| `ValueStorage` | `v8:ValueStorage` (ХранилищеЗначения) |
|
||||
| `UUID` | `v8:UUID` (УникальныйИдентификатор) |
|
||||
| `BinaryData` или `BinaryData(N[,fixed\|variable])` | `xs:base64Binary` + BinaryDataQualifiers (ДвоичныеДанные) |
|
||||
| `v8:Null` | `v8:Null` — тип «Null»; задаётся только с префиксом, голого синонима нет |
|
||||
|
||||
Типы СУБД на входе компилятор переводит сам — соответствие замерено на стенде PostgreSQL и совпадает
|
||||
с тем, что делает Конфигуратор при импорте структуры таблицы:
|
||||
@@ -92,6 +93,10 @@ JSON DSL для описания объектов метаданных конф
|
||||
| `varchar(n)`, `character varying(n)` | `String(n)` | | `bytea` | `BinaryData` |
|
||||
| `numeric(p,s)`, `decimal(p,s)` | `Number(p,s)` | | | |
|
||||
|
||||
Имя типа без префикса, которое не совпало ни с одной из форм выше, компилятор отвергает: так выглядит
|
||||
и опечатка, и неподдержанный тип СУБД. А вот имя С префиксом проходит как есть — так задаются
|
||||
типы, у которых нет синонима в DSL: `v8:Null`, `v8:ValueTable`, `ent:AccountType`, `v8ui:Color`.
|
||||
|
||||
Важное ограничение: типы 1С получает ОТ ДРАЙВЕРА ODBC, а не из схемы БД. Поэтому `boolean`
|
||||
в список НЕ входит: в DSL это Булево, а psqlODBC при реальном импорте отдаёт `Строка(5)` (опция
|
||||
драйвера *Bools as Char*). `text`, `real`, `double precision`, `money`, `json` и массивы не поддержаны —
|
||||
|
||||
Reference in New Issue
Block a user