mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-06-14 09:54:56 +03:00
bdc38caffa
form-add теперь покрывает и объекты конфигурации, и standalone EPF/ERF source tree (тип определяется из корневого XML, маппинг типов уже был). Изменения form-add scaffold: - Module.bsl: пустые регионы вместо скелета процедуры ПриСозданииНаСервере - Form.xml: убран <Events> (раньше привязывал OnCreateAtServer к процедуре) - Form.xml: <SavedData>true</SavedData> теперь условный — ставится для Catalog/Document/etc (стандарт ERP, 99% форм), не ставится для DataProcessor/Report/External* (где у объекта нет состояния) Это согласуется с workflow: form-compile перегенерирует Form.xml целиком, поэтому привязки в scaffold могут стать orphan; пустые регионы + без Events — корректная стартовая точка, которую form-edit/form-compile наполняют атомарно. Удалён навык epf-add-form (директория + тесты), вызовы заменены на form-add в integration-тестах, в кейсах epf-validate/help-add, в description epf-init/epf-bsp-init, в docs и README. Перегенерированы snapshot'ы 5 навыков (form-add, form-compile, form-edit, form-info, form-validate). Платформенная верификация в 1С 8.3.24 прошла для всех 9 кейсов form-add. Bump form-add v1.3 → v1.4.
75 lines
2.4 KiB
JavaScript
75 lines
2.4 KiB
JavaScript
// platform-epf.test.mjs — Integration test: EPF build/dump roundtrip
|
|
// Requires: 1C platform (1cv8.exe) via .v8-project.json
|
|
// Steps: epf-init → form-add → form-compile → epf-build → epf-dump
|
|
|
|
export const name = 'Сборка и разборка внешней обработки (roundtrip)';
|
|
export const setup = 'none';
|
|
export const requiresPlatform = true;
|
|
|
|
export const steps = [
|
|
// ── 1. Create EPF ──
|
|
{
|
|
name: 'epf-init: пустая обработка',
|
|
script: 'epf-init/scripts/init',
|
|
args: { '-Name': 'RoundtripТест', '-SrcDir': '{workDir}' },
|
|
},
|
|
|
|
// ── 2. Add form to EPF ──
|
|
{
|
|
name: 'form-add: форма обработки',
|
|
script: 'form-add/scripts/form-add',
|
|
args: {
|
|
'-ObjectPath': '{workDir}/RoundtripТест.xml',
|
|
'-FormName': 'Форма',
|
|
},
|
|
},
|
|
|
|
{
|
|
name: 'form-compile: наполнение формы обработки',
|
|
script: 'form-compile/scripts/form-compile',
|
|
input: {
|
|
elements: [
|
|
{ id: 'ПутьКФайлу', type: 'input', path: 'ПутьКФайлу', title: 'Путь к файлу' },
|
|
{ id: 'Загрузить', type: 'button', title: 'Загрузить', action: 'Загрузить' },
|
|
],
|
|
attributes: [
|
|
{ id: 'ПутьКФайлу', type: 'String' },
|
|
],
|
|
commands: [
|
|
{ id: 'Загрузить', title: 'Загрузить' },
|
|
],
|
|
},
|
|
args: { '-FormPath': '{workDir}/RoundtripТест/Forms/Форма', '-JsonPath': '{inputFile}' },
|
|
},
|
|
|
|
// ── 3. Build EPF binary ──
|
|
{
|
|
name: 'epf-build: сборка EPF',
|
|
script: 'epf-build/scripts/epf-build',
|
|
args: {
|
|
'-V8Path': '{v8path}',
|
|
'-SourceFile': '{workDir}/RoundtripТест.xml',
|
|
'-OutputFile': '{workDir}/RoundtripТест.epf',
|
|
},
|
|
},
|
|
|
|
// ── 4. Create temp DB for dump ──
|
|
{
|
|
name: 'db-create: временная ИБ для разборки',
|
|
script: 'db-create/scripts/db-create',
|
|
args: { '-V8Path': '{v8path}', '-InfoBasePath': '{workDir}/tmpdb' },
|
|
},
|
|
|
|
// ── 5. Dump back to XML ──
|
|
{
|
|
name: 'epf-dump: разборка EPF в XML',
|
|
script: 'epf-dump/scripts/epf-dump',
|
|
args: {
|
|
'-V8Path': '{v8path}',
|
|
'-InputFile': '{workDir}/RoundtripТест.epf',
|
|
'-OutputDir': '{workDir}/roundtrip-dump',
|
|
'-InfoBasePath': '{workDir}/tmpdb',
|
|
},
|
|
},
|
|
];
|