From 3e726495d59729e493f724172b2d556d57c25607 Mon Sep 17 00:00:00 2001 From: Nick Shirokov Date: Sun, 27 Sep 2026 16:30:48 +0300 Subject: [PATCH] =?UTF-8?q?fix(cfe-borrow):=20=D1=81=D0=B2=D1=8F=D0=B7?= =?UTF-8?q?=D1=8C=20=D0=BD=D0=B0=20=D0=BD=D0=B5=D0=B7=D0=B0=D0=B8=D0=BC?= =?UTF-8?q?=D1=81=D1=82=D0=B2=D0=BE=D0=B2=D0=B0=D0=BD=D0=BD=D1=8B=D0=B9=20?= =?UTF-8?q?=D1=80=D0=B5=D0=BA=D0=B2=D0=B8=D0=B7=D0=B8=D1=82=20=D0=BE=D0=B1?= =?UTF-8?q?=D1=8A=D0=B5=D0=BA=D1=82=D0=B0=20=E2=80=94=20=D1=81=D1=81=D1=8B?= =?UTF-8?q?=D0=BB=D0=BA=D0=B0=20=D0=BD=D0=B0=20=D0=BE=D1=81=D0=BD=D0=BE?= =?UTF-8?q?=D0=B2=D0=BD=D0=BE=D0=B9=20=D1=80=D0=B5=D0=BA=D0=B2=D0=B8=D0=B7?= =?UTF-8?q?=D0=B8=D1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit С -BorrowMainAttribute Form в расширение попадают только реквизиты, используемые формой; путь связи параметров выбора использованием не считается. Связь на такой реквизит (Объект.Ответственный, которого нет на форме) оставалась текстом, и платформа отвергала загрузку: «Неверный путь к полю». Конфигуратор реквизит не заимствует, а связь пишет id основного реквизита — как у стандартного поля (эталон УТ Претензии.ФормаЭлементаСамообслуживание: Объект.Партнер → 1). Навык делает так же: текст — только для реквизита, который попадёт в расширение (тот же сбор, что в Borrow-MainAttribute). Форма эталона совпадает построчно в обоих портах. Найдено ревью диапазона main...dev. Кейсы form-link-codes и -main дополнены реквизитом вне формы. Co-Authored-By: Claude Opus 5.5 (1M context) --- .../skills/cfe-borrow/scripts/cfe-borrow.ps1 | 26 ++++++--- .../skills/cfe-borrow/scripts/cfe-borrow.py | 24 ++++++--- docs/1c-extension-spec.md | 6 ++- .../cfe-borrow/form-link-codes-main.json | 10 ++-- .../cases/cfe-borrow/form-link-codes.json | 8 +-- .../Documents/Размещение.xml | 53 ++++++++++++++++--- .../Forms/ФормаДокумента/Ext/Form.xml | 5 ++ .../Forms/ФормаДокумента/Ext/Form.xml | 10 ++++ .../form-link-codes/Documents/Размещение.xml | 53 ++++++++++++++++--- .../Forms/ФормаДокумента/Ext/Form.xml | 5 ++ .../Forms/ФормаДокумента/Ext/Form.xml | 34 +++++++----- 11 files changed, 184 insertions(+), 50 deletions(-) diff --git a/.claude/skills/cfe-borrow/scripts/cfe-borrow.ps1 b/.claude/skills/cfe-borrow/scripts/cfe-borrow.ps1 index 374a9991c..e9d6136cb 100644 --- a/.claude/skills/cfe-borrow/scripts/cfe-borrow.ps1 +++ b/.claude/skills/cfe-borrow/scripts/cfe-borrow.ps1 @@ -126,7 +126,8 @@ $script:mainAttrKinds = @{ } # Путь связи → текст (разрешается в расширении), код или $null (вырезать). -# $ctx: MainName, MainId, MainBorrowed, MainKind, AttrUuids (имя/«ТЧ.Реквизит» → uuid), +# $ctx: MainName, MainId, MainBorrowed, MainKind, BorrowedNames (реквизиты объекта в расширении; +# $null — все), AttrUuids (имя/«ТЧ.Реквизит» → uuid), # FormAttrIds, FormAttrCols («Реквизит.Колонка» → id), AddCols («<путь таблицы>.Колонка» → id), # Tables (имя элемента-таблицы → @{ Id; Path }). function Resolve-LinkDataPath { @@ -175,10 +176,13 @@ function Resolve-LinkDataPath { if ($main -and $path.StartsWith("$main.", [StringComparison]::Ordinal)) { $rest = $path.Substring($main.Length + 1) if ($ctx.MainBorrowed) { - # Реквизит объекта разрешается текстом и остаётся читаемым. Стандартное поле - # («Объект.Owner», «Объект.Date») — нет: платформа отвергает «Неверный путь к данным». - # Конфигуратор в этом случае оставляет ссылку на сам реквизит (эталон Issue66Example7_1). - if ($ctx.AttrUuids.ContainsKey($rest)) { return $path } + # Заимствованный реквизит объекта разрешается текстом и остаётся читаемым. Стандартное + # поле («Объект.Owner», «Объект.Date») и реквизит, который в расширение не попал (в режиме + # Form заимствуется только используемое формой) — нет: платформа отвергает «Неверный путь + # к полю». Конфигуратор в обоих случаях ставит ссылку на сам основной реквизит (эталоны + # Issue66Example7_1 и УТ Претензии.ФормаЭлементаСамообслуживание). + $borrowed = $null -eq $ctx.BorrowedNames -or $ctx.BorrowedNames.ContainsKey($rest.Split('.')[0]) + if ($borrowed -and $ctx.AttrUuids.ContainsKey($rest)) { return $path } return $ctx.MainId } $segs = $rest.Split('.') @@ -1064,7 +1068,13 @@ function Borrow-Form { # Имена реквизитов объекта нужны в обоих режимах: без заимствования — для кода пути в связях # формы, с заимствованием — чтобы отличить реквизит (разрешается текстом) от стандартного поля $srcAttrUuids = Get-SourceAttributeUuids $typeName $objName - $linkCtx = Get-LinkContext $srcFormEl $srcMainAttrName ([bool]$mainAttrInfo) $srcAttrUuids $formAttrIds + # Реквизиты объекта, которые попадут в расширение: в режиме Form — только используемые формой + # (тот же сбор, что в Borrow-MainAttribute), в режиме All — все ($null) + $borrowedNames = $null + if ($mainAttrInfo -and $BorrowMainAttribute -eq 'Form') { + $borrowedNames = (Collect-FormDataPaths $srcFormXmlPath $srcMainAttrName).FirstLevel + } + $linkCtx = Get-LinkContext $srcFormEl $srcMainAttrName ([bool]$mainAttrInfo) $borrowedNames $srcAttrUuids $formAttrIds # AutoCommandBar: keep ChildItems (buttons with CommandName→0), Autofill→false $autoCmdXml = "" @@ -1678,7 +1688,7 @@ function Get-FormAttributeIds { # Контекст разрешения путей в связях формы (см. Resolve-LinkDataPath) — всё по ИСХОДНОЙ форме: # колонки реквизитов формы, колонки AdditionalColumns, элементы-таблицы и вид основного реквизита. function Get-LinkContext { - param($formEl, [string]$mainName, [bool]$mainBorrowed, $attrUuids, $formAttrIds) + param($formEl, [string]$mainName, [bool]$mainBorrowed, $borrowedNames, $attrUuids, $formAttrIds) $cols = @{}; $addCols = @{}; $tables = @{}; $kind = $null $attrs = $formEl.SelectSingleNode("*[local-name()='Attributes']") @@ -1718,7 +1728,7 @@ function Get-LinkContext { } $mainId = if ($mainName -and $formAttrIds.ContainsKey($mainName)) { $formAttrIds[$mainName] } else { "1" } return @{ - MainName = $mainName; MainId = $mainId; MainBorrowed = $mainBorrowed; MainKind = $kind + MainName = $mainName; MainId = $mainId; MainBorrowed = $mainBorrowed; MainKind = $kind; BorrowedNames = $borrowedNames AttrUuids = $attrUuids; FormAttrIds = $formAttrIds; FormAttrCols = $cols; AddCols = $addCols; Tables = $tables } } diff --git a/.claude/skills/cfe-borrow/scripts/cfe-borrow.py b/.claude/skills/cfe-borrow/scripts/cfe-borrow.py index 4b16c5570..c8d505dd4 100644 --- a/.claude/skills/cfe-borrow/scripts/cfe-borrow.py +++ b/.claude/skills/cfe-borrow/scripts/cfe-borrow.py @@ -147,7 +147,8 @@ MAIN_ATTR_KINDS = { def resolve_link_data_path(path, ctx): """Путь связи → текст (разрешается в расширении), код или None (вырезать). - ctx: MainName, MainId, MainBorrowed, MainKind, AttrUuids (имя/«ТЧ.Реквизит» → uuid), + ctx: MainName, MainId, MainBorrowed, MainKind, BorrowedNames (реквизиты объекта в расширении; + None — все), AttrUuids (имя/«ТЧ.Реквизит» → uuid), FormAttrIds, FormAttrCols («Реквизит.Колонка» → id), AddCols («<путь таблицы>.Колонка» → id), Tables (имя элемента-таблицы → {Id, Path}).""" # Уже код (форма-источник сама из расширения, или висячая ссылка в типовой) — как есть @@ -196,10 +197,13 @@ def resolve_link_data_path(path, ctx): if main and path.startswith(main + '.'): rest = path[len(main) + 1:] if ctx['MainBorrowed']: - # Реквизит объекта разрешается текстом и остаётся читаемым. Стандартное поле - # («Объект.Owner», «Объект.Date») — нет: платформа отвергает «Неверный путь к данным». - # Конфигуратор в этом случае оставляет ссылку на сам реквизит (эталон Issue66Example7_1). - if rest in attr_uuids: + # Заимствованный реквизит объекта разрешается текстом и остаётся читаемым. Стандартное + # поле («Объект.Owner», «Объект.Date») и реквизит, который в расширение не попал (в режиме + # Form заимствуется только используемое формой) — нет: платформа отвергает «Неверный путь + # к полю». Конфигуратор в обоих случаях ставит ссылку на сам основной реквизит (эталоны + # Issue66Example7_1 и УТ Претензии.ФормаЭлементаСамообслуживание). + borrowed = ctx['BorrowedNames'] is None or rest.split('.')[0] in ctx['BorrowedNames'] + if borrowed and rest in attr_uuids: return path return ctx['MainId'] segs = rest.split('.') @@ -1370,7 +1374,7 @@ def main(): break return result - def get_link_context(form_el, main_name, main_borrowed, attr_uuids, form_attr_ids): + def get_link_context(form_el, main_name, main_borrowed, borrowed_names, attr_uuids, form_attr_ids): """Контекст разрешения путей в связях формы (см. resolve_link_data_path) — всё по ИСХОДНОЙ форме: колонки реквизитов формы, колонки AdditionalColumns, элементы-таблицы и вид основного реквизита.""" @@ -1414,6 +1418,7 @@ def main(): break main_id = form_attr_ids.get(main_name, "1") if main_name else "1" return {"MainName": main_name, "MainId": main_id, "MainBorrowed": main_borrowed, "MainKind": kind, + "BorrowedNames": borrowed_names, "AttrUuids": attr_uuids, "FormAttrIds": form_attr_ids, "FormAttrCols": cols, "AddCols": add_cols, "Tables": tables} @@ -2080,8 +2085,13 @@ def main(): # Имена реквизитов объекта нужны в обоих режимах: без заимствования — для кода пути в связях # формы, с заимствованием — чтобы отличить реквизит (разрешается текстом) от стандартного поля src_attr_uuids = get_source_attribute_uuids(type_name, obj_name) + # Реквизиты объекта, которые попадут в расширение: в режиме Form — только используемые формой + # (тот же сбор, что в borrow_main_attribute), в режиме All — все (None) + borrowed_names = None + if main_attr_info is not None and borrow_main_attribute_mode == "Form": + borrowed_names = collect_form_data_paths(src_form_xml_path, src_main_attr_name)["FirstLevel"] link_ctx = get_link_context(src_form_el, src_main_attr_name, main_attr_info is not None, - src_attr_uuids, form_attr_ids) + borrowed_names, src_attr_uuids, form_attr_ids) main_attr_name = main_attr_info["Name"] if main_attr_info else "" if borrow_main_attr and main_attr_info is None: warn(" У формы нет основного реквизита — -BorrowMainAttribute проигнорирован") diff --git a/docs/1c-extension-spec.md b/docs/1c-extension-spec.md index d1b4cd097..04bf76eca 100644 --- a/docs/1c-extension-spec.md +++ b/docs/1c-extension-spec.md @@ -482,11 +482,13 @@ Form.xml заимствованной формы — **двухчастный ф | Путь | Основной реквизит заимствован | Не заимствован | |---|---|---| | `<РеквизитФормы>`, `<РеквизитФормы>.<Колонка>` | код `N`, `N/<колонка>` | то же | - | `Объект.<реквизит/ТЧ/измерение/ресурс>`, `Объект.<ТЧ>.<реквизит>` | текст | `N/0:`, `N/0:/0:` | - | `Объект.<стандартный>` | `N` (ссылка на сам реквизит) | `N/-k` | + | `Объект.<реквизит/ТЧ/измерение/ресурс>`, `Объект.<ТЧ>.<реквизит>` | текст, если реквизит попал в расширение; иначе `N` | `N/0:`, `N/0:/0:` | + | `Объект.<стандартный>` | `N` (ссылка на сам основной реквизит) | `N/-k` | | `Items.<Т>.CurrentData.<Поле>`, `Т` на `Объект.<ТЧ>` | текст | `:CD/0:` · `:CD/:AC` · `:CD/-2` | | `Items.<Т>.CurrentData.<Колонка>`, `Т` на реквизите формы | `:CD/` | то же | + С заимствованным основным реквизитом в режиме `Form` в расширение попадают только реквизиты, используемые формой; путь связи использованием не считается. На реквизит, который так и не попал в расширение, Конфигуратор пишет `N` — как на стандартное поле (эталон УТ `Претензии.ФормаЭлементаСамообслуживание`: `Объект.Партнер` → `1`, реквизит не заимствован). + Здесь `N` и `` — id реквизита и элемента **исходной** формы (в расширении реквизиты перенумерованы в 1000000+, ссылка остаётся в нумерации базы); `` — uuid метаданных источника; `CD` = `02023637-7868-4a5f-8576-835a76e0c9ba` (текущая строка таблицы), `AC` = `5bdad865-f2c5-434b-8041-ba4aad3b6687` (колонка `AdditionalColumns`, `` — её id). Коды `-k` стандартных реквизитов у каждого вида свои (оракул 8.3.27): | Вид | Коды | diff --git a/tests/skills/cases/cfe-borrow/form-link-codes-main.json b/tests/skills/cases/cfe-borrow/form-link-codes-main.json index 63154aec2..8ca52e0cb 100644 --- a/tests/skills/cases/cfe-borrow/form-link-codes-main.json +++ b/tests/skills/cases/cfe-borrow/form-link-codes-main.json @@ -1,5 +1,5 @@ { - "name": "Связи формы с основным реквизитом: пути от него — текстом, от реквизитов формы — кодом (текст платформа отвергает)", + "name": "Связи формы с основным реквизитом: пути от него — текстом, на незаимствованный реквизит и стандартное поле — id основного реквизита, от реквизитов формы — кодом", "preRun": [ { "script": "meta-compile/scripts/meta-compile", @@ -40,7 +40,8 @@ "type": "Document", "name": "Размещение", "attributes": [ - "Склад: CatalogRef.Склады" + "Склад: CatalogRef.Склады", + "Ответственный: CatalogRef.Склады" ], "tabularSections": { "Товары": [ @@ -64,7 +65,7 @@ { "writeFile": { "path": "Documents/Размещение/Forms/ФормаДокумента/Ext/Form.xml", - "content": "\n
\n\t\n\t\t<v8:item>\n\t\t\t<v8:lang>ru</v8:lang>\n\t\t\t<v8:content>Размещение</v8:content>\n\t\t</v8:item>\n\t\n\tfalse\n\t\n\t\n\t\t\n\t\t\tОбъект.Склад\n\t\t\t\n\t\t\t\t\n\t\t\t\t\tОтбор.Дата\n\t\t\t\t\tОбъект.Date\n\t\t\t\t\tClear\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\tОтбор.Номенклатура\n\t\t\t\t\tОбъект.Товары.Номенклатура\n\t\t\t\t\tClear\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\tОтбор.Подбор\n\t\t\t\t\tПодбор.Склад\n\t\t\t\t\tClear\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\tОтбор.Режим\n\t\t\t\t\tРежим\n\t\t\t\t\tClear\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\tОтбор.Нет\n\t\t\t\t\tРежим.Code\n\t\t\t\t\tClear\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\tОбъект.Товары\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\tТовары\n\t\t\t\t\tSearchStringRepresentation\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\tТовары\n\t\t\t\t\tViewStatusRepresentation\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\tТовары\n\t\t\t\t\tSearchControl\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\tОбъект.Товары.Номенклатура\n\t\t\t\t\t\n\t\t\t\t\t\tItems.Товары.CurrentData.Страна\n\t\t\t\t\t\t0\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tОтбор.НомерСтроки\n\t\t\t\t\t\t\tItems.Товары.CurrentData.LineNumber\n\t\t\t\t\t\t\tClear\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\tОбъект.Товары.Страна\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tОтбор.Номенклатура\n\t\t\t\t\t\t\tItems.Товары.CurrentData.Номенклатура\n\t\t\t\t\t\t\tClear\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
\n\t\t\n\t\t\tПодбор\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\tПодбор\n\t\t\t\t\tSearchStringRepresentation\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\tПодбор\n\t\t\t\t\tViewStatusRepresentation\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\tПодбор\n\t\t\t\t\tSearchControl\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\tПодбор.Склад\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tОтбор.Склад\n\t\t\t\t\t\t\tItems.Подбор.CurrentData.Склад\n\t\t\t\t\t\t\tClear\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tОтбор.Страна\n\t\t\t\t\t\t\tItems.Товары.CurrentData.Страна\n\t\t\t\t\t\t\tClear\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
\n\t
\n\t\n\t\t\n\t\t\t\n\t\t\t\tcfg:DocumentObject.Размещение\n\t\t\t\n\t\t\ttrue\n\t\t\ttrue\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tcfg:CatalogRef.Страны\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t<v8:item>\n\t\t\t\t\t<v8:lang>ru</v8:lang>\n\t\t\t\t\t<v8:content>Подбор</v8:content>\n\t\t\t\t</v8:item>\n\t\t\t\n\t\t\t\n\t\t\t\tv8:ValueTable\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\tcfg:CatalogRef.Склады\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t<v8:item>\n\t\t\t\t\t<v8:lang>ru</v8:lang>\n\t\t\t\t\t<v8:content>Режим</v8:content>\n\t\t\t\t</v8:item>\n\t\t\t\n\t\t\t\n\t\t\t\tcfg:CatalogRef.Склады\n\t\t\t\n\t\t\n\t\n" + "content": "\n
\n\t\n\t\t<v8:item>\n\t\t\t<v8:lang>ru</v8:lang>\n\t\t\t<v8:content>Размещение</v8:content>\n\t\t</v8:item>\n\t\n\tfalse\n\t\n\t\n\t\t\n\t\t\tОбъект.Склад\n\t\t\t\n\t\t\t\t\n\t\t\t\t\tОтбор.Ответственный\n\t\t\t\t\tОбъект.Ответственный\n\t\t\t\t\tClear\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\tОтбор.Дата\n\t\t\t\t\tОбъект.Date\n\t\t\t\t\tClear\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\tОтбор.Номенклатура\n\t\t\t\t\tОбъект.Товары.Номенклатура\n\t\t\t\t\tClear\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\tОтбор.Подбор\n\t\t\t\t\tПодбор.Склад\n\t\t\t\t\tClear\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\tОтбор.Режим\n\t\t\t\t\tРежим\n\t\t\t\t\tClear\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\tОтбор.Нет\n\t\t\t\t\tРежим.Code\n\t\t\t\t\tClear\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\tОбъект.Товары\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\tТовары\n\t\t\t\t\tSearchStringRepresentation\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\tТовары\n\t\t\t\t\tViewStatusRepresentation\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\tТовары\n\t\t\t\t\tSearchControl\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\tОбъект.Товары.Номенклатура\n\t\t\t\t\t\n\t\t\t\t\t\tItems.Товары.CurrentData.Страна\n\t\t\t\t\t\t0\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tОтбор.НомерСтроки\n\t\t\t\t\t\t\tItems.Товары.CurrentData.LineNumber\n\t\t\t\t\t\t\tClear\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\tОбъект.Товары.Страна\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tОтбор.Номенклатура\n\t\t\t\t\t\t\tItems.Товары.CurrentData.Номенклатура\n\t\t\t\t\t\t\tClear\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
\n\t\t\n\t\t\tПодбор\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\tПодбор\n\t\t\t\t\tSearchStringRepresentation\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\tПодбор\n\t\t\t\t\tViewStatusRepresentation\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\tПодбор\n\t\t\t\t\tSearchControl\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\tПодбор.Склад\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tОтбор.Склад\n\t\t\t\t\t\t\tItems.Подбор.CurrentData.Склад\n\t\t\t\t\t\t\tClear\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tОтбор.Страна\n\t\t\t\t\t\t\tItems.Товары.CurrentData.Страна\n\t\t\t\t\t\t\tClear\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
\n\t
\n\t\n\t\t\n\t\t\t\n\t\t\t\tcfg:DocumentObject.Размещение\n\t\t\t\n\t\t\ttrue\n\t\t\ttrue\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tcfg:CatalogRef.Страны\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t<v8:item>\n\t\t\t\t\t<v8:lang>ru</v8:lang>\n\t\t\t\t\t<v8:content>Подбор</v8:content>\n\t\t\t\t</v8:item>\n\t\t\t\n\t\t\t\n\t\t\t\tv8:ValueTable\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\tcfg:CatalogRef.Склады\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t<v8:item>\n\t\t\t\t\t<v8:lang>ru</v8:lang>\n\t\t\t\t\t<v8:content>Режим</v8:content>\n\t\t\t\t</v8:item>\n\t\t\t\n\t\t\t\n\t\t\t\tcfg:CatalogRef.Склады\n\t\t\t\n\t\t\n\t\n" } }, { @@ -100,7 +101,8 @@ "Объект.Date", "Items.Подбор", "Подбор.Склад<", - "Режим.Code" + "Режим.Code", + "Объект.Ответственный" ] }, "stdoutContains": [ diff --git a/tests/skills/cases/cfe-borrow/form-link-codes.json b/tests/skills/cases/cfe-borrow/form-link-codes.json index 7da63f593..6577e2cc4 100644 --- a/tests/skills/cases/cfe-borrow/form-link-codes.json +++ b/tests/skills/cases/cfe-borrow/form-link-codes.json @@ -40,7 +40,8 @@ "type": "Document", "name": "Размещение", "attributes": [ - "Склад: CatalogRef.Склады" + "Склад: CatalogRef.Склады", + "Ответственный: CatalogRef.Склады" ], "tabularSections": { "Товары": [ @@ -64,7 +65,7 @@ { "writeFile": { "path": "Documents/Размещение/Forms/ФормаДокумента/Ext/Form.xml", - "content": "\n
\n\t\n\t\t<v8:item>\n\t\t\t<v8:lang>ru</v8:lang>\n\t\t\t<v8:content>Размещение</v8:content>\n\t\t</v8:item>\n\t\n\tfalse\n\t\n\t\n\t\t\n\t\t\tОбъект.Склад\n\t\t\t\n\t\t\t\t\n\t\t\t\t\tОтбор.Дата\n\t\t\t\t\tОбъект.Date\n\t\t\t\t\tClear\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\tОтбор.Номенклатура\n\t\t\t\t\tОбъект.Товары.Номенклатура\n\t\t\t\t\tClear\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\tОтбор.Подбор\n\t\t\t\t\tПодбор.Склад\n\t\t\t\t\tClear\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\tОтбор.Режим\n\t\t\t\t\tРежим\n\t\t\t\t\tClear\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\tОтбор.Нет\n\t\t\t\t\tРежим.Code\n\t\t\t\t\tClear\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\tОбъект.Товары\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\tТовары\n\t\t\t\t\tSearchStringRepresentation\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\tТовары\n\t\t\t\t\tViewStatusRepresentation\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\tТовары\n\t\t\t\t\tSearchControl\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\tОбъект.Товары.Номенклатура\n\t\t\t\t\t\n\t\t\t\t\t\tItems.Товары.CurrentData.Страна\n\t\t\t\t\t\t0\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tОтбор.НомерСтроки\n\t\t\t\t\t\t\tItems.Товары.CurrentData.LineNumber\n\t\t\t\t\t\t\tClear\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\tОбъект.Товары.Страна\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tОтбор.Номенклатура\n\t\t\t\t\t\t\tItems.Товары.CurrentData.Номенклатура\n\t\t\t\t\t\t\tClear\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
\n\t\t\n\t\t\tПодбор\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\tПодбор\n\t\t\t\t\tSearchStringRepresentation\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\tПодбор\n\t\t\t\t\tViewStatusRepresentation\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\tПодбор\n\t\t\t\t\tSearchControl\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\tПодбор.Склад\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tОтбор.Склад\n\t\t\t\t\t\t\tItems.Подбор.CurrentData.Склад\n\t\t\t\t\t\t\tClear\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tОтбор.Страна\n\t\t\t\t\t\t\tItems.Товары.CurrentData.Страна\n\t\t\t\t\t\t\tClear\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
\n\t
\n\t\n\t\t\n\t\t\t\n\t\t\t\tcfg:DocumentObject.Размещение\n\t\t\t\n\t\t\ttrue\n\t\t\ttrue\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tcfg:CatalogRef.Страны\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t<v8:item>\n\t\t\t\t\t<v8:lang>ru</v8:lang>\n\t\t\t\t\t<v8:content>Подбор</v8:content>\n\t\t\t\t</v8:item>\n\t\t\t\n\t\t\t\n\t\t\t\tv8:ValueTable\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\tcfg:CatalogRef.Склады\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t<v8:item>\n\t\t\t\t\t<v8:lang>ru</v8:lang>\n\t\t\t\t\t<v8:content>Режим</v8:content>\n\t\t\t\t</v8:item>\n\t\t\t\n\t\t\t\n\t\t\t\tcfg:CatalogRef.Склады\n\t\t\t\n\t\t\n\t\n" + "content": "\n
\n\t\n\t\t<v8:item>\n\t\t\t<v8:lang>ru</v8:lang>\n\t\t\t<v8:content>Размещение</v8:content>\n\t\t</v8:item>\n\t\n\tfalse\n\t\n\t\n\t\t\n\t\t\tОбъект.Склад\n\t\t\t\n\t\t\t\t\n\t\t\t\t\tОтбор.Ответственный\n\t\t\t\t\tОбъект.Ответственный\n\t\t\t\t\tClear\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\tОтбор.Дата\n\t\t\t\t\tОбъект.Date\n\t\t\t\t\tClear\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\tОтбор.Номенклатура\n\t\t\t\t\tОбъект.Товары.Номенклатура\n\t\t\t\t\tClear\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\tОтбор.Подбор\n\t\t\t\t\tПодбор.Склад\n\t\t\t\t\tClear\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\tОтбор.Режим\n\t\t\t\t\tРежим\n\t\t\t\t\tClear\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\tОтбор.Нет\n\t\t\t\t\tРежим.Code\n\t\t\t\t\tClear\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\tОбъект.Товары\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\tТовары\n\t\t\t\t\tSearchStringRepresentation\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\tТовары\n\t\t\t\t\tViewStatusRepresentation\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\tТовары\n\t\t\t\t\tSearchControl\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\tОбъект.Товары.Номенклатура\n\t\t\t\t\t\n\t\t\t\t\t\tItems.Товары.CurrentData.Страна\n\t\t\t\t\t\t0\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tОтбор.НомерСтроки\n\t\t\t\t\t\t\tItems.Товары.CurrentData.LineNumber\n\t\t\t\t\t\t\tClear\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\tОбъект.Товары.Страна\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tОтбор.Номенклатура\n\t\t\t\t\t\t\tItems.Товары.CurrentData.Номенклатура\n\t\t\t\t\t\t\tClear\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
\n\t\t\n\t\t\tПодбор\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\tПодбор\n\t\t\t\t\tSearchStringRepresentation\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\tПодбор\n\t\t\t\t\tViewStatusRepresentation\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\tПодбор\n\t\t\t\t\tSearchControl\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\tПодбор.Склад\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tОтбор.Склад\n\t\t\t\t\t\t\tItems.Подбор.CurrentData.Склад\n\t\t\t\t\t\t\tClear\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tОтбор.Страна\n\t\t\t\t\t\t\tItems.Товары.CurrentData.Страна\n\t\t\t\t\t\t\tClear\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
\n\t
\n\t\n\t\t\n\t\t\t\n\t\t\t\tcfg:DocumentObject.Размещение\n\t\t\t\n\t\t\ttrue\n\t\t\ttrue\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tcfg:CatalogRef.Страны\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t<v8:item>\n\t\t\t\t\t<v8:lang>ru</v8:lang>\n\t\t\t\t\t<v8:content>Подбор</v8:content>\n\t\t\t\t</v8:item>\n\t\t\t\n\t\t\t\n\t\t\t\tv8:ValueTable\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\tcfg:CatalogRef.Склады\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t<v8:item>\n\t\t\t\t\t<v8:lang>ru</v8:lang>\n\t\t\t\t\t<v8:content>Режим</v8:content>\n\t\t\t\t</v8:item>\n\t\t\t\n\t\t\t\n\t\t\t\tcfg:CatalogRef.Склады\n\t\t\t\n\t\t\n\t\n" } }, { @@ -102,7 +103,8 @@ "Объект.Товары.Номенклатура", "Items.", "Подбор.Склад<", - "Режим.Code" + "Режим.Code", + "Объект.Ответственный" ] }, "stdoutContains": [ diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-link-codes-main/Documents/Размещение.xml b/tests/skills/cases/cfe-borrow/snapshots/form-link-codes-main/Documents/Размещение.xml index 6b26cc0e6..93fcd66e9 100644 --- a/tests/skills/cases/cfe-borrow/snapshots/form-link-codes-main/Documents/Размещение.xml +++ b/tests/skills/cases/cfe-borrow/snapshots/form-link-codes-main/Documents/Размещение.xml @@ -117,16 +117,55 @@ Use + + + Ответственный + + + ru + Ответственный + + + + + cfg:CatalogRef.Склады + + false + + + + false + + false + false + + + false + + DontCheck + Items + + + Auto + Auto + + + Auto + DontIndex + Use + Use + +
ФормаДокумента
- + - UUID-014 - UUID-015 + UUID-015 + UUID-016 - UUID-016 - UUID-017 + UUID-017 + UUID-018 @@ -170,7 +209,7 @@ - + Номенклатура @@ -207,7 +246,7 @@ Use - + Количество diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-link-codes-main/Documents/Размещение/Forms/ФормаДокумента/Ext/Form.xml b/tests/skills/cases/cfe-borrow/snapshots/form-link-codes-main/Documents/Размещение/Forms/ФормаДокумента/Ext/Form.xml index 5d7e540ef..1d5bbfd61 100644 --- a/tests/skills/cases/cfe-borrow/snapshots/form-link-codes-main/Documents/Размещение/Forms/ФормаДокумента/Ext/Form.xml +++ b/tests/skills/cases/cfe-borrow/snapshots/form-link-codes-main/Documents/Размещение/Forms/ФормаДокумента/Ext/Form.xml @@ -12,6 +12,11 @@ Объект.Склад + + Отбор.Ответственный + Объект.Ответственный + Clear + Отбор.Дата Объект.Date diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-link-codes-main/cfe/Documents/Размещение/Forms/ФормаДокумента/Ext/Form.xml b/tests/skills/cases/cfe-borrow/snapshots/form-link-codes-main/cfe/Documents/Размещение/Forms/ФормаДокумента/Ext/Form.xml index ceada8609..857993c58 100644 --- a/tests/skills/cases/cfe-borrow/snapshots/form-link-codes-main/cfe/Documents/Размещение/Forms/ФормаДокумента/Ext/Form.xml +++ b/tests/skills/cases/cfe-borrow/snapshots/form-link-codes-main/cfe/Documents/Размещение/Forms/ФормаДокумента/Ext/Form.xml @@ -12,6 +12,11 @@ Объект.Склад + + Отбор.Ответственный + 39 + Clear + Отбор.Дата 39 @@ -175,6 +180,11 @@ Объект.Склад + + Отбор.Ответственный + 39 + Clear + Отбор.Дата 39 diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-link-codes/Documents/Размещение.xml b/tests/skills/cases/cfe-borrow/snapshots/form-link-codes/Documents/Размещение.xml index 6b26cc0e6..93fcd66e9 100644 --- a/tests/skills/cases/cfe-borrow/snapshots/form-link-codes/Documents/Размещение.xml +++ b/tests/skills/cases/cfe-borrow/snapshots/form-link-codes/Documents/Размещение.xml @@ -117,16 +117,55 @@ Use + + + Ответственный + + + ru + Ответственный + + + + + cfg:CatalogRef.Склады + + false + + + + false + + false + false + + + false + + DontCheck + Items + + + Auto + Auto + + + Auto + DontIndex + Use + Use + +
ФормаДокумента
- + - UUID-014 - UUID-015 + UUID-015 + UUID-016 - UUID-016 - UUID-017 + UUID-017 + UUID-018 @@ -170,7 +209,7 @@ - + Номенклатура @@ -207,7 +246,7 @@ Use - + Количество diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-link-codes/Documents/Размещение/Forms/ФормаДокумента/Ext/Form.xml b/tests/skills/cases/cfe-borrow/snapshots/form-link-codes/Documents/Размещение/Forms/ФормаДокумента/Ext/Form.xml index 5d7e540ef..1d5bbfd61 100644 --- a/tests/skills/cases/cfe-borrow/snapshots/form-link-codes/Documents/Размещение/Forms/ФормаДокумента/Ext/Form.xml +++ b/tests/skills/cases/cfe-borrow/snapshots/form-link-codes/Documents/Размещение/Forms/ФормаДокумента/Ext/Form.xml @@ -12,6 +12,11 @@ Объект.Склад + + Отбор.Ответственный + Объект.Ответственный + Clear + Отбор.Дата Объект.Date diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-link-codes/cfe/Documents/Размещение/Forms/ФормаДокумента/Ext/Form.xml b/tests/skills/cases/cfe-borrow/snapshots/form-link-codes/cfe/Documents/Размещение/Forms/ФормаДокумента/Ext/Form.xml index a05e01ea0..d8b38ad6a 100644 --- a/tests/skills/cases/cfe-borrow/snapshots/form-link-codes/cfe/Documents/Размещение/Forms/ФормаДокумента/Ext/Form.xml +++ b/tests/skills/cases/cfe-borrow/snapshots/form-link-codes/cfe/Documents/Размещение/Forms/ФормаДокумента/Ext/Form.xml @@ -11,6 +11,11 @@ + + Отбор.Ответственный + 39/0:UUID-001 + Clear + Отбор.Дата 39/-3 @@ -18,7 +23,7 @@ Отбор.Номенклатура - 39/0:UUID-001/0:UUID-002 + 39/0:UUID-002/0:UUID-003 Clear @@ -66,13 +71,13 @@ - 4:UUID-003/1:UUID-004 + 4:UUID-004/1:UUID-005 0 Отбор.НомерСтроки - 4:UUID-003/-2 + 4:UUID-004/-2 Clear @@ -83,7 +88,7 @@ Отбор.Номенклатура - 4:UUID-003/0:UUID-002 + 4:UUID-004/0:UUID-003 Clear @@ -125,12 +130,12 @@ Отбор.Склад - 23:UUID-003/41 + 23:UUID-004/41 Clear Отбор.Страна - 4:UUID-003/1:UUID-004 + 4:UUID-004/1:UUID-005 Clear @@ -153,6 +158,11 @@ + + Отбор.Ответственный + 39/0:UUID-001 + Clear + Отбор.Дата 39/-3 @@ -160,7 +170,7 @@ Отбор.Номенклатура - 39/0:UUID-001/0:UUID-002 + 39/0:UUID-002/0:UUID-003 Clear @@ -208,13 +218,13 @@ - 4:UUID-003/1:UUID-004 + 4:UUID-004/1:UUID-005 0 Отбор.НомерСтроки - 4:UUID-003/-2 + 4:UUID-004/-2 Clear @@ -225,7 +235,7 @@ Отбор.Номенклатура - 4:UUID-003/0:UUID-002 + 4:UUID-004/0:UUID-003 Clear @@ -267,12 +277,12 @@ Отбор.Склад - 23:UUID-003/41 + 23:UUID-004/41 Clear Отбор.Страна - 4:UUID-003/1:UUID-004 + 4:UUID-004/1:UUID-005 Clear