From 3e8159b59119af4fe0844e69543b5b87f8f9ccd0 Mon Sep 17 00:00:00 2001 From: Nick Shirokov Date: Fri, 1 May 2026 14:23:38 +0300 Subject: [PATCH] =?UTF-8?q?feat(web-test):=20=D1=84=D0=BE=D1=80=D0=BC?= =?UTF-8?q?=D1=8B=20=D1=81=D0=BF=D0=B8=D1=81=D0=BA=D0=BE=D0=B2=20=D1=81=20?= =?UTF-8?q?=D0=BF=D1=80=D0=B0=D0=B2=D0=B8=D0=BB=D1=8C=D0=BD=D1=8B=D0=BC?= =?UTF-8?q?=D0=B8=20=D0=BA=D0=BE=D0=BB=D0=BE=D0=BD=D0=BA=D0=B0=D0=BC=D0=B8?= =?UTF-8?q?=20(M1=20Step=202)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Расширение синтетики (пункты 3, 4, 5 из M1): - Контрагенты.КодКПП: новый String реквизит, НЕ выводимый в форму списка (для теста filterList #5 — FieldSelector DLB по скрытой колонке) - Catalog.Контрагенты.ФормаСписка: Code, Description, ИНН, Телефон, Адрес - Catalog.Номенклатура.ФормаСписка: Code, Description, Артикул, ВидНоменклатуры, ДатаПоступления, Цена, Активен (date-колонка для filterList #6) - Document.ПриходнаяНакладная.ФормаСписка: Date, Number, Контрагент, Posted (reference-колонка для filterList #7) Платформенная верификация: 31 шаг, 21.4s. Co-Authored-By: Claude Opus 4.7 (1M context) --- .../integration/build-webtest-config.test.mjs | 90 +++++++++++++++++++ 1 file changed, 90 insertions(+) diff --git a/tests/skills/integration/build-webtest-config.test.mjs b/tests/skills/integration/build-webtest-config.test.mjs index eb3f895d..cbab3962 100644 --- a/tests/skills/integration/build-webtest-config.test.mjs +++ b/tests/skills/integration/build-webtest-config.test.mjs @@ -30,6 +30,7 @@ export const steps = [ { name: 'ИНН', type: 'String', length: 12 }, { name: 'Телефон', type: 'String', length: 20 }, { name: 'Адрес', type: 'String', length: 200 }, + { name: 'КодКПП', type: 'String', length: 9 }, ], }, args: { '-JsonPath': '{inputFile}', '-OutputDir': '{workDir}' }, @@ -191,6 +192,36 @@ export const steps = [ validate: { script: 'form-validate/scripts/form-validate', flag: '-FormPath', path: 'Catalogs/Контрагенты/Forms/ФормаЭлемента/Ext/Form.xml' }, }, + // Форма списка Контрагенты — для filterList тестов. КодКПП НЕ выводим + // в форму — это покрывает FieldSelector DLB ветку (filterList #5) + { + name: 'form-add: Форма списка Контрагенты', + script: 'form-add/scripts/form-add', + args: { '-ObjectPath': '{workDir}/Catalogs/Контрагенты.xml', '-FormName': 'ФормаСписка', '-Purpose': 'List' }, + }, + { + name: 'form-compile: Форма списка Контрагенты', + script: 'form-compile/scripts/form-compile', + input: { + title: 'Контрагенты', + attributes: [ + { name: 'Список', type: 'DynamicList', main: true, + settings: { mainTable: 'Catalog.Контрагенты', dynamicDataRead: true } }, + ], + elements: [ + { table: 'Список', path: 'Список', columns: [ + { input: 'Code', path: 'Список.Code', title: 'Код' }, + { input: 'Description', path: 'Список.Description', title: 'Наименование' }, + { input: 'ИНН', path: 'Список.ИНН', title: 'ИНН' }, + { input: 'Телефон', path: 'Список.Телефон', title: 'Телефон' }, + { input: 'Адрес', path: 'Список.Адрес', title: 'Адрес' }, + ]}, + ], + }, + args: { '-JsonPath': '{inputFile}', '-OutputPath': '{workDir}/Catalogs/Контрагенты/Forms/ФормаСписка/Ext/Form.xml' }, + validate: { script: 'form-validate/scripts/form-validate', flag: '-FormPath', path: 'Catalogs/Контрагенты/Forms/ФормаСписка/Ext/Form.xml' }, + }, + // Форма элемента Номенклатура — 2 вкладки, все типы полей { name: 'form-add: Форма элемента Номенклатура', @@ -227,6 +258,37 @@ export const steps = [ validate: { script: 'form-validate/scripts/form-validate', flag: '-FormPath', path: 'Catalogs/Номенклатура/Forms/ФормаЭлемента/Ext/Form.xml' }, }, + // Форма списка Номенклатура — с колонкой ДатаПоступления для filterList #6 (date pattern) + { + name: 'form-add: Форма списка Номенклатура', + script: 'form-add/scripts/form-add', + args: { '-ObjectPath': '{workDir}/Catalogs/Номенклатура.xml', '-FormName': 'ФормаСписка', '-Purpose': 'List' }, + }, + { + name: 'form-compile: Форма списка Номенклатура', + script: 'form-compile/scripts/form-compile', + input: { + title: 'Номенклатура', + attributes: [ + { name: 'Список', type: 'DynamicList', main: true, + settings: { mainTable: 'Catalog.Номенклатура', dynamicDataRead: true } }, + ], + elements: [ + { table: 'Список', path: 'Список', columns: [ + { input: 'Code', path: 'Список.Code', title: 'Код' }, + { input: 'Description', path: 'Список.Description', title: 'Наименование' }, + { input: 'Артикул', path: 'Список.Артикул', title: 'Артикул' }, + { input: 'ВидНоменклатуры', path: 'Список.ВидНоменклатуры', title: 'Вид номенклатуры' }, + { input: 'ДатаПоступления', path: 'Список.ДатаПоступления', title: 'Дата поступления' }, + { input: 'Цена', path: 'Список.Цена', title: 'Цена' }, + { input: 'Активен', path: 'Список.Активен', title: 'Активен' }, + ]}, + ], + }, + args: { '-JsonPath': '{inputFile}', '-OutputPath': '{workDir}/Catalogs/Номенклатура/Forms/ФормаСписка/Ext/Form.xml' }, + validate: { script: 'form-validate/scripts/form-validate', flag: '-FormPath', path: 'Catalogs/Номенклатура/Forms/ФормаСписка/Ext/Form.xml' }, + }, + // Форма документа ПриходнаяНакладная { name: 'form-add: Форма документа ПриходнаяНакладная', @@ -258,6 +320,34 @@ export const steps = [ validate: { script: 'form-validate/scripts/form-validate', flag: '-FormPath', path: 'Documents/ПриходнаяНакладная/Forms/ФормаДокумента/Ext/Form.xml' }, }, + // Форма списка ПриходнаяНакладная — с колонкой Контрагент для filterList #7 (reference pattern) + { + name: 'form-add: Форма списка ПриходнаяНакладная', + script: 'form-add/scripts/form-add', + args: { '-ObjectPath': '{workDir}/Documents/ПриходнаяНакладная.xml', '-FormName': 'ФормаСписка', '-Purpose': 'List' }, + }, + { + name: 'form-compile: Форма списка ПриходнаяНакладная', + script: 'form-compile/scripts/form-compile', + input: { + title: 'Приходные накладные', + attributes: [ + { name: 'Список', type: 'DynamicList', main: true, + settings: { mainTable: 'Document.ПриходнаяНакладная', dynamicDataRead: true } }, + ], + elements: [ + { table: 'Список', path: 'Список', columns: [ + { input: 'Date', path: 'Список.Date', title: 'Дата' }, + { input: 'Number', path: 'Список.Number', title: 'Номер' }, + { input: 'Контрагент', path: 'Список.Контрагент', title: 'Контрагент' }, + { input: 'Posted', path: 'Список.Posted', title: 'Проведён' }, + ]}, + ], + }, + args: { '-JsonPath': '{inputFile}', '-OutputPath': '{workDir}/Documents/ПриходнаяНакладная/Forms/ФормаСписка/Ext/Form.xml' }, + validate: { script: 'form-validate/scripts/form-validate', flag: '-FormPath', path: 'Documents/ПриходнаяНакладная/Forms/ФормаСписка/Ext/Form.xml' }, + }, + // ── 4. DCS for report ── { name: 'skd-compile: Схема отчёта ОстаткиТоваров',