mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-06-10 16:14:54 +03:00
feat(web-test): M5-pre #3 — textEdit:false поле + 03-fillfields/direct-edit-form
Расширение синтетики: реквизит Поставщик типа CatalogRef.Контрагенты
добавлен в шапку ПриходнаяНакладная. Элемент формы Поставщик скомпилирован
с textEdit:false (новый DSL ключ form-compile v1.21 из коммита 32bf9c1):
ручной ввод запрещён, селект-кнопки нет, выбор только через форму выбора
по pick-кнопке.
Новый шаг 03-fillfields/direct-edit-form (~7s) — fillFields на Поставщик
('ООО Юг') возвращает method:'form', минуя обычные paste/typeahead/dropdown
ветки. fillFields внутренне детектит textEdit:false и сразу идёт через
форму выбора (selectValue path).
Полный регресс **18/18 зелёный** (8m 40.6s).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -147,6 +147,10 @@ export const steps = [
|
||||
// Источник — составной тип (для 03-fillfields/composite).
|
||||
// Платформа покажет селектор типа в UI перед выбором значения.
|
||||
{ name: 'Источник', type: 'CatalogRef.Контрагенты + CatalogRef.Номенклатура + CatalogRef.Организации' },
|
||||
// Поставщик — обычная ссылка, но на форме элемент с textEdit:false
|
||||
// (для 03-fillfields/direct-edit-form). Ручной ввод запрещён,
|
||||
// выбор только через pick-кнопку → форма выбора.
|
||||
{ name: 'Поставщик', type: 'CatalogRef.Контрагенты' },
|
||||
{ name: 'Комментарий', type: 'String', length: 200 },
|
||||
],
|
||||
tabularSections: [{
|
||||
@@ -601,6 +605,8 @@ export const steps = [
|
||||
{ input: 'Контрагент', path: 'Объект.Контрагент', title: 'Контрагент' },
|
||||
{ input: 'Склад', path: 'Объект.Склад', title: 'Склад' },
|
||||
{ input: 'Источник', path: 'Объект.Источник', title: 'Источник' },
|
||||
// textEdit:false — ручной ввод запрещён, только pick → форма выбора
|
||||
{ input: 'Поставщик', path: 'Объект.Поставщик', title: 'Поставщик', textEdit: false },
|
||||
{ input: 'Комментарий', path: 'Объект.Комментарий', title: 'Комментарий' },
|
||||
{ table: 'Товары', path: 'Объект.Товары', title: 'Товары', changeRowSet: true, columns: [
|
||||
{ input: 'Номенклатура', path: 'Объект.Товары.Номенклатура', title: 'Номенклатура' },
|
||||
|
||||
@@ -154,4 +154,25 @@ export default async function({ navigateSection, openCommand, clickElement, fill
|
||||
|
||||
await closeForm({ save: false });
|
||||
});
|
||||
|
||||
await step('direct-edit-form: textEdit:false → fillFields method=form', async () => {
|
||||
// ПриходнаяНакладная.Поставщик — обычный CatalogRef.Контрагенты, но
|
||||
// элемент формы с textEdit:false: ручной ввод запрещён, выбор только
|
||||
// через форму выбора (не через paste/typeahead/dropdown).
|
||||
await navigateSection('Склад');
|
||||
await openCommand('Приходная накладная');
|
||||
await clickElement('Создать');
|
||||
|
||||
const r = await fillFields({ 'Поставщик': 'ООО Юг' });
|
||||
log('Поставщик method=' + r.filled[0]?.method);
|
||||
assert.equal(r.filled[0]?.ok, true, 'Поставщик заполнен');
|
||||
assert.equal(r.filled[0]?.method, 'form',
|
||||
'textEdit:false принуждает к method=form (минуя paste/typeahead/dropdown)');
|
||||
|
||||
const state = await getFormState();
|
||||
const p = state.fields?.find(f => f.name === 'Поставщик');
|
||||
assert.equal(p?.value, 'ООО Юг', 'значение Поставщик установилось');
|
||||
|
||||
await closeForm({ save: false });
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user