diff --git a/.claude/skills/cfe-borrow/scripts/cfe-borrow.ps1 b/.claude/skills/cfe-borrow/scripts/cfe-borrow.ps1 index f61d36ce..ad422929 100644 --- a/.claude/skills/cfe-borrow/scripts/cfe-borrow.ps1 +++ b/.claude/skills/cfe-borrow/scripts/cfe-borrow.ps1 @@ -1,4 +1,4 @@ -# cfe-borrow v1.22 — Borrow objects from configuration into extension (CFE) (перенос UseAlways/Columns основного реквизита формы) +# cfe-borrow v1.23 — Borrow objects from configuration into extension (CFE) (ссылки параметров выбора по uuid) # Source: https://github.com/Nikolay-Shirokov/cc-1c-skills param( [Parameter(Mandatory)][string]$ExtensionPath, @@ -38,6 +38,34 @@ function Strip-FormBindings { return $xml } +# Ссылки параметров выбора (/) — привязка особого рода: путь лежит +# в и обычным стриппингом не снимается. Когда основной реквизит не заимствован, +# текстовый «Объект.X» в расширении не разрешается («Неверный путь к полю»), поэтому Конфигуратор +# переписывает его в непрозрачную форму «1/0:» — ссылка остаётся рабочей. +# Реквизит, которого в источнике нет, недоступен и по uuid: такую связь вырезаем целиком. +# Путь всегда односегментный (корпусная проверка: 285 из 285 у УТ), глубже — тоже вырезаем. +function Rewrite-ChoiceParameterLinks { + param([string]$xml, $attrUuids) + + if ($xml -notmatch '') { return $xml } + + $xml = [regex]::Replace($xml, '(?s)\s*.*?', { + param($m) + $link = $m.Value + $dp = [regex]::Match($link, ']*>Объект\.([^<]+)') + if (-not $dp.Success) { return $link } + $attrName = $dp.Groups[1].Value + if ($attrUuids.ContainsKey($attrName)) { + return [regex]::Replace($link, '(]*>)Объект\.[^<]+()', "`${1}1/0:$($attrUuids[$attrName])`${2}") + } + return '' + }) + + # Опустевший контейнер платформе не нужен + $xml = [regex]::Replace($xml, '(?s)\s*\s*', '') + return $xml +} + # --- 1. Resolve paths --- if (-not [System.IO.Path]::IsPathRooted($ExtensionPath)) { $ExtensionPath = Join-Path (Get-Location).Path $ExtensionPath @@ -449,6 +477,37 @@ if ($BorrowMainAttribute) { } # --- 10. Helper: read source object XML --- +# Имена реквизитов исходного объекта → uuid. Нужны для непрозрачной формы пути в ссылках +# параметров выбора (см. Rewrite-ChoiceParameterLinks). +function Get-SourceAttributeUuids { + param([string]$typeName, [string]$objName) + + $result = @{} + $dirName = $childTypeDirMap[$typeName] + if (-not $dirName) { return $result } + $srcFile = Join-Path (Join-Path $cfgDir $dirName) "${objName}.xml" + if (-not (Test-Path $srcFile)) { return $result } + + $doc = New-Object System.Xml.XmlDocument + $doc.PreserveWhitespace = $false + $doc.Load($srcFile) + $objEl = $null + foreach ($c in $doc.DocumentElement.ChildNodes) { + if ($c.NodeType -eq 'Element') { $objEl = $c; break } + } + if (-not $objEl) { return $result } + $childObjects = $objEl.SelectSingleNode("*[local-name()='ChildObjects']") + if (-not $childObjects) { return $result } + foreach ($child in $childObjects.ChildNodes) { + if ($child.NodeType -ne 'Element') { continue } + if ($child.LocalName -notin @('Attribute','TabularSection')) { continue } + $uuid = $child.GetAttribute("uuid") + $nameNode = $child.SelectSingleNode("*[local-name()='Properties']/*[local-name()='Name']") + if ($uuid -and $nameNode) { $result[$nameNode.InnerText.Trim()] = $uuid } + } + return $result +} + function Read-SourceObject { param([string]$typeName, [string]$objName) @@ -652,6 +711,11 @@ function Borrow-Form { # Get OuterXml and strip redundant namespace redeclarations (they're on root
) $nsStripPattern = '\s+xmlns(?::\w+)?="[^"]*"' + # uuid реквизитов объекта — только для формы без заимствованного основного реквизита: + # там ссылки параметров выбора переводятся на непрозрачную форму пути + $srcAttrUuids = @{} + if (-not $BorrowMainAttr) { $srcAttrUuids = Get-SourceAttributeUuids $typeName $objName } + # AutoCommandBar: keep ChildItems (buttons with CommandName→0), Autofill→false $autoCmdXml = "" if ($srcAutoCmd) { @@ -663,6 +727,7 @@ function Borrow-Form { $autoCmdXml = [regex]::Replace($autoCmdXml, '\s*[^<]*', '') # Strip data-binding tags whose root attribute isn't borrowed $autoCmdXml = Strip-FormBindings $autoCmdXml ([bool]$BorrowMainAttr) + if (-not $BorrowMainAttr) { $autoCmdXml = Rewrite-ChoiceParameterLinks $autoCmdXml $srcAttrUuids } } # ChildItems: copy full tree, clean up base-config references @@ -675,6 +740,7 @@ function Borrow-Form { # Strip data-binding tags whose root attribute isn't borrowed # (DataPath/TitleDataPath/FooterDataPath/HeaderDataPath/MultipleValue*/RowPicture*) $childItemsXml = Strip-FormBindings $childItemsXml ([bool]$BorrowMainAttr) + if (-not $BorrowMainAttr) { $childItemsXml = Rewrite-ChoiceParameterLinks $childItemsXml $srcAttrUuids } # Strip ExcludedCommand in nested AutoCommandBars (references to standard commands invalid in extension) $childItemsXml = [regex]::Replace($childItemsXml, '\s*[^<]*', '') # Strip TypeLink blocks with human-readable DataPath (Items.XXX — can't convert to UUID) diff --git a/.claude/skills/cfe-borrow/scripts/cfe-borrow.py b/.claude/skills/cfe-borrow/scripts/cfe-borrow.py index 682db134..e6fa21b9 100644 --- a/.claude/skills/cfe-borrow/scripts/cfe-borrow.py +++ b/.claude/skills/cfe-borrow/scripts/cfe-borrow.py @@ -1,5 +1,5 @@ #!/usr/bin/env python3 -# cfe-borrow v1.22 — Borrow objects from configuration into extension (CFE) (перенос UseAlways/Columns основного реквизита формы) +# cfe-borrow v1.23 — Borrow objects from configuration into extension (CFE) (ссылки параметров выбора по uuid) # Source: https://github.com/Nikolay-Shirokov/cc-1c-skills import argparse @@ -58,6 +58,33 @@ def strip_form_bindings(xml, keep_objekt): return xml +def rewrite_choice_parameter_links(xml, attr_uuids): + """Ссылки параметров выбора (/) — привязка особого рода: путь лежит + в и обычным стриппингом не снимается. Когда основной реквизит не заимствован, + текстовый «Объект.X» в расширении не разрешается («Неверный путь к полю»), поэтому Конфигуратор + переписывает его в непрозрачную форму «1/0:» — ссылка остаётся рабочей. + Реквизит, которого в источнике нет, недоступен и по uuid: такую связь вырезаем целиком. + Путь всегда односегментный (корпусная проверка: 285 из 285 у УТ), глубже — тоже вырезаем.""" + if '' not in xml: + return xml + + def repl(m): + link = m.group(0) + dp = re.search(r']*>Объект\.([^<]+)', link) + if not dp: + return link + attr_name = dp.group(1) + if attr_name in attr_uuids: + return re.sub(r'(]*>)Объект\.[^<]+()', + lambda mm: f"{mm.group(1)}1/0:{attr_uuids[attr_name]}{mm.group(2)}", link) + return '' + + xml = re.sub(r'\s*.*?', repl, xml, flags=re.DOTALL) + # Опустевший контейнер платформе не нужен + xml = re.sub(r'\s*\s*', '', xml, flags=re.DOTALL) + return xml + + def decode_numeric_entities(s): """lxml emits numeric character refs (&#xNNNN;) for non-ASCII in some self-closed elements where the PowerShell port writes literal characters. Normalize numeric refs @@ -591,6 +618,45 @@ def main(): borrowed_files = [] # --- Helper functions --- + def get_source_attribute_uuids(type_name, obj_name): + """Имена реквизитов исходного объекта → uuid. Нужны для непрозрачной формы пути в ссылках + параметров выбора (см. rewrite_choice_parameter_links).""" + result = {} + dir_name = CHILD_TYPE_DIR_MAP.get(type_name) + if not dir_name: + return result + src_file = os.path.join(cfg_dir, dir_name, f"{obj_name}.xml") + if not os.path.isfile(src_file): + return result + + tree = etree.parse(src_file, etree.XMLParser(remove_blank_text=True)) + obj_el = None + for c in tree.getroot(): + if isinstance(c.tag, str): + obj_el = c + break + if obj_el is None: + return result + for child in obj_el: + if not isinstance(child.tag, str) or localname(child) != "ChildObjects": + continue + for sub in child: + if not isinstance(sub.tag, str) or localname(sub) not in ("Attribute", "TabularSection"): + continue + uuid_val = sub.get("uuid") + name_val = None + for props in sub: + if isinstance(props.tag, str) and localname(props) == "Properties": + for prop in props: + if isinstance(prop.tag, str) and localname(prop) == "Name": + name_val = (prop.text or "").strip() + break + break + if uuid_val and name_val: + result[name_val] = uuid_val + break + return result + def read_source_object(type_name, obj_name): dir_name = CHILD_TYPE_DIR_MAP.get(type_name) if not dir_name: @@ -1448,6 +1514,10 @@ def main(): ns_strip_pattern = re.compile(r'\s+xmlns(?::\w+)?="[^"]*"') + # uuid реквизитов объекта — только для формы без заимствованного основного реквизита: + # там ссылки параметров выбора переводятся на непрозрачную форму пути + src_attr_uuids = {} if borrow_main_attr else get_source_attribute_uuids(type_name, obj_name) + # AutoCommandBar: keep ChildItems (buttons with CommandName->0), Autofill->false auto_cmd_xml = "" if src_auto_cmd is not None: @@ -1459,6 +1529,8 @@ def main(): auto_cmd_xml = re.sub(r'\s*[^<]*', '', auto_cmd_xml) # Strip data-binding tags whose root attribute isn't borrowed auto_cmd_xml = strip_form_bindings(auto_cmd_xml, borrow_main_attr) + if not borrow_main_attr: + auto_cmd_xml = rewrite_choice_parameter_links(auto_cmd_xml, src_attr_uuids) # ChildItems: copy full tree, clean up base-config references child_items_xml = "" @@ -1475,6 +1547,8 @@ def main(): child_items_xml = re.sub(r'[^<]*', '0', child_items_xml) # Strip data-binding tags whose root attribute isn't borrowed child_items_xml = strip_form_bindings(child_items_xml, borrow_main_attr) + if not borrow_main_attr: + child_items_xml = rewrite_choice_parameter_links(child_items_xml, src_attr_uuids) # Strip ExcludedCommand in nested AutoCommandBars (references to standard commands invalid in extension) child_items_xml = re.sub(r'\s*[^<]*', '', child_items_xml) # Strip TypeLink blocks with human-readable DataPath (Items.XXX) diff --git a/tests/skills/cases/cfe-borrow/form-choice-param-links.json b/tests/skills/cases/cfe-borrow/form-choice-param-links.json new file mode 100644 index 00000000..6516ab8a --- /dev/null +++ b/tests/skills/cases/cfe-borrow/form-choice-param-links.json @@ -0,0 +1,53 @@ +{ + "name": "Заимствование формы без основного реквизита: связь параметров выбора переводится на uuid, висячая вырезается", + "preRun": [ + { + "script": "meta-compile/scripts/meta-compile", + "input": { "type": "Catalog", "name": "Партнеры" }, + "args": { "-JsonPath": "{inputFile}", "-OutputDir": "{workDir}" } + }, + { + "script": "meta-compile/scripts/meta-compile", + "input": { "type": "Catalog", "name": "КонтактныеЛица" }, + "args": { "-JsonPath": "{inputFile}", "-OutputDir": "{workDir}" } + }, + { + "script": "meta-compile/scripts/meta-compile", + "input": { + "type": "Document", "name": "ЗаказПоставщику", + "attributes": [ + { "name": "Партнер", "type": "CatalogRef.Партнеры" }, + { "name": "КонтактноеЛицо", "type": "CatalogRef.КонтактныеЛица" } + ] + }, + "args": { "-JsonPath": "{inputFile}", "-OutputDir": "{workDir}" } + }, + { + "script": "form-add/scripts/form-add", + "args": { "-ObjectPath": "{workDir}/Documents/ЗаказПоставщику.xml", "-FormName": "ФормаДокумента" } + }, + { + "script": "form-compile/scripts/form-compile", + "input": { + "title": "Заказ поставщику", + "elements": [ + { "input": "Партнер", "path": "Объект.Партнер" }, + { + "input": "КонтактноеЛицо", "path": "Объект.КонтактноеЛицо", + "choiceParameterLinks": [ + { "name": "Отбор.Владелец", "dataPath": "Объект.Партнер" }, + { "name": "Отбор.Прочее", "dataPath": "Объект.НетТакогоРеквизита" } + ] + } + ], + "attributes": [ { "name": "Объект", "type": "DocumentObject.ЗаказПоставщику", "main": true } ] + }, + "args": { "-JsonPath": "{inputFile}", "-OutputPath": "{workDir}/Documents/ЗаказПоставщику/Forms/ФормаДокумента/Ext/Form.xml" } + }, + { + "script": "cfe-init/scripts/cfe-init", + "args": { "-Name": "Тест", "-OutputDir": "{workDir}/ext", "-ConfigPath": "{workDir}" } + } + ], + "params": { "extensionPath": "ext", "object": "Document.ЗаказПоставщику.Form.ФормаДокумента" } +} diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-choice-param-links/Catalogs/КонтактныеЛица.xml b/tests/skills/cases/cfe-borrow/snapshots/form-choice-param-links/Catalogs/КонтактныеЛица.xml new file mode 100644 index 00000000..fba607fa --- /dev/null +++ b/tests/skills/cases/cfe-borrow/snapshots/form-choice-param-links/Catalogs/КонтактныеЛица.xml @@ -0,0 +1,91 @@ + + + + + + UUID-002 + UUID-003 + + + UUID-004 + UUID-005 + + + UUID-006 + UUID-007 + + + UUID-008 + UUID-009 + + + UUID-010 + UUID-011 + + + + КонтактныеЛица + + + ru + Контактные лица + + + + false + HierarchyFoldersAndItems + false + 2 + true + true + + ToItems + 9 + 25 + String + Variable + WholeCatalog + false + true + AsDescription + + Auto + InDialog + false + BothWays + + Catalog.КонтактныеЛица.StandardAttribute.Description + Catalog.КонтактныеЛица.StandardAttribute.Code + + Begin + DontUse + Directly + + + + + + + + + + + false + + + Managed + Use + + + + + + Use + Auto + DontUse + false + false + + + + \ No newline at end of file diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-choice-param-links/Catalogs/КонтактныеЛица/Ext/ObjectModule.bsl b/tests/skills/cases/cfe-borrow/snapshots/form-choice-param-links/Catalogs/КонтактныеЛица/Ext/ObjectModule.bsl new file mode 100644 index 00000000..e69de29b diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-choice-param-links/Catalogs/Партнеры.xml b/tests/skills/cases/cfe-borrow/snapshots/form-choice-param-links/Catalogs/Партнеры.xml new file mode 100644 index 00000000..3eb321a3 --- /dev/null +++ b/tests/skills/cases/cfe-borrow/snapshots/form-choice-param-links/Catalogs/Партнеры.xml @@ -0,0 +1,91 @@ + + + + + + UUID-002 + UUID-003 + + + UUID-004 + UUID-005 + + + UUID-006 + UUID-007 + + + UUID-008 + UUID-009 + + + UUID-010 + UUID-011 + + + + Партнеры + + + ru + Партнеры + + + + false + HierarchyFoldersAndItems + false + 2 + true + true + + ToItems + 9 + 25 + String + Variable + WholeCatalog + false + true + AsDescription + + Auto + InDialog + false + BothWays + + Catalog.Партнеры.StandardAttribute.Description + Catalog.Партнеры.StandardAttribute.Code + + Begin + DontUse + Directly + + + + + + + + + + + false + + + Managed + Use + + + + + + Use + Auto + DontUse + false + false + + + + \ No newline at end of file diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-choice-param-links/Catalogs/Партнеры/Ext/ObjectModule.bsl b/tests/skills/cases/cfe-borrow/snapshots/form-choice-param-links/Catalogs/Партнеры/Ext/ObjectModule.bsl new file mode 100644 index 00000000..e69de29b diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-choice-param-links/Configuration.xml b/tests/skills/cases/cfe-borrow/snapshots/form-choice-param-links/Configuration.xml new file mode 100644 index 00000000..82c4b932 --- /dev/null +++ b/tests/skills/cases/cfe-borrow/snapshots/form-choice-param-links/Configuration.xml @@ -0,0 +1,254 @@ + + + + + + UUID-002 + UUID-003 + + + UUID-004 + UUID-005 + + + UUID-006 + UUID-007 + + + UUID-008 + UUID-009 + + + UUID-010 + UUID-011 + + + UUID-012 + UUID-013 + + + UUID-014 + UUID-015 + + + + TestConfig + + + ru + TestConfig + + + + + Version8_3_24 + ManagedApplication + + PlatformApplication + + Russian + + + + + false + false + false + + + + + + + + + + + + + + + + + + + + + + Biometrics + true + + + Location + false + + + BackgroundLocation + false + + + BluetoothPrinters + false + + + WiFiPrinters + false + + + Contacts + false + + + Calendars + false + + + PushNotifications + false + + + LocalNotifications + false + + + InAppPurchases + false + + + PersonalComputerFileExchange + false + + + Ads + false + + + NumberDialing + false + + + CallProcessing + false + + + CallLog + false + + + AutoSendSMS + false + + + ReceiveSMS + false + + + SMSLog + false + + + Camera + false + + + Microphone + false + + + MusicLibrary + false + + + PictureAndVideoLibraries + false + + + AudioPlaybackAndVibration + false + + + BackgroundAudioPlaybackAndVibration + false + + + InstallPackages + false + + + OSBackup + true + + + ApplicationUsageStatistics + false + + + BarcodeScanning + false + + + BackgroundAudioRecording + false + + + AllFilesAccess + false + + + Videoconferences + false + + + NFC + false + + + DocumentScanning + false + + + SpeechToText + false + + + Geofences + false + + + IncomingShareRequests + false + + + AllIncomingShareRequestsTypesProcessing + false + + + + + + Normal + + + Language.Русский + + + + + + Managed + NotAutoFree + DontUse + DontUse + TaxiEnableVersion8_2 + DontUse + Version8_3_24 + + + + Русский + Партнеры + КонтактныеЛица + ЗаказПоставщику + + + \ No newline at end of file diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-choice-param-links/Documents/ЗаказПоставщику.xml b/tests/skills/cases/cfe-borrow/snapshots/form-choice-param-links/Documents/ЗаказПоставщику.xml new file mode 100644 index 00000000..ca3721ff --- /dev/null +++ b/tests/skills/cases/cfe-borrow/snapshots/form-choice-param-links/Documents/ЗаказПоставщику.xml @@ -0,0 +1,162 @@ + + + + + + UUID-002 + UUID-003 + + + UUID-004 + UUID-005 + + + UUID-006 + UUID-007 + + + UUID-008 + UUID-009 + + + UUID-010 + UUID-011 + + + + ЗаказПоставщику + + + ru + Заказ поставщику + + + + true + + String + 11 + Variable + Year + true + true + + + + Document.ЗаказПоставщику.StandardAttribute.Number + + Use + Begin + DontUse + Directly + Document.ЗаказПоставщику.Form.ФормаДокумента + + + + + + Allow + Deny + AutoDelete + WriteSelected + AutoFill + + true + true + false + + Managed + Use + + + + + + Auto + DontUse + false + false + + + + + Партнер + + + ru + Партнер + + + + + cfg:CatalogRef.Партнеры + + false + + + + false + + false + false + + + false + + DontCheck + Items + + + Auto + Auto + + + Auto + DontIndex + Use + Use + + + + + КонтактноеЛицо + + + ru + Контактное лицо + + + + + cfg:CatalogRef.КонтактныеЛица + + false + + + + false + + false + false + + + false + + DontCheck + Items + + + Auto + Auto + + + Auto + DontIndex + Use + Use + + + ФормаДокумента + + + \ No newline at end of file diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-choice-param-links/Documents/ЗаказПоставщику/Ext/ObjectModule.bsl b/tests/skills/cases/cfe-borrow/snapshots/form-choice-param-links/Documents/ЗаказПоставщику/Ext/ObjectModule.bsl new file mode 100644 index 00000000..e69de29b diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-choice-param-links/Documents/ЗаказПоставщику/Forms/ФормаДокумента.xml b/tests/skills/cases/cfe-borrow/snapshots/form-choice-param-links/Documents/ЗаказПоставщику/Forms/ФормаДокумента.xml new file mode 100644 index 00000000..21cbf33a --- /dev/null +++ b/tests/skills/cases/cfe-borrow/snapshots/form-choice-param-links/Documents/ЗаказПоставщику/Forms/ФормаДокумента.xml @@ -0,0 +1,21 @@ + + +
+ + ФормаДокумента + + + ru + ФормаДокумента + + + + Managed + false + + PlatformApplication + MobilePlatformApplication + + +
+
\ No newline at end of file diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-choice-param-links/Documents/ЗаказПоставщику/Forms/ФормаДокумента/Ext/Form.xml b/tests/skills/cases/cfe-borrow/snapshots/form-choice-param-links/Documents/ЗаказПоставщику/Forms/ФормаДокумента/Ext/Form.xml new file mode 100644 index 00000000..0c598eee --- /dev/null +++ b/tests/skills/cases/cfe-borrow/snapshots/form-choice-param-links/Documents/ЗаказПоставщику/Forms/ФормаДокумента/Ext/Form.xml @@ -0,0 +1,44 @@ + +
+ + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Заказ поставщику</v8:content> + </v8:item> + + false + + + + Объект.Партнер + + + + + Объект.КонтактноеЛицо + + + Отбор.Владелец + Объект.Партнер + Clear + + + Отбор.Прочее + Объект.НетТакогоРеквизита + Clear + + + + + + + + + + cfg:DocumentObject.ЗаказПоставщику + + true + true + + + \ No newline at end of file diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-choice-param-links/Documents/ЗаказПоставщику/Forms/ФормаДокумента/Ext/Form/Module.bsl b/tests/skills/cases/cfe-borrow/snapshots/form-choice-param-links/Documents/ЗаказПоставщику/Forms/ФормаДокумента/Ext/Form/Module.bsl new file mode 100644 index 00000000..8ead4cec --- /dev/null +++ b/tests/skills/cases/cfe-borrow/snapshots/form-choice-param-links/Documents/ЗаказПоставщику/Forms/ФормаДокумента/Ext/Form/Module.bsl @@ -0,0 +1,19 @@ +#Область ОбработчикиСобытийФормы + +#КонецОбласти + +#Область ОбработчикиСобытийЭлементовФормы + +#КонецОбласти + +#Область ОбработчикиКомандФормы + +#КонецОбласти + +#Область ОбработчикиОповещений + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +#КонецОбласти \ No newline at end of file diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-choice-param-links/Ext/ClientApplicationInterface.xml b/tests/skills/cases/cfe-borrow/snapshots/form-choice-param-links/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/cfe-borrow/snapshots/form-choice-param-links/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-choice-param-links/Ext/Configuration.xml b/tests/skills/cases/cfe-borrow/snapshots/form-choice-param-links/Ext/Configuration.xml new file mode 100644 index 00000000..f52f5d4b --- /dev/null +++ b/tests/skills/cases/cfe-borrow/snapshots/form-choice-param-links/Ext/Configuration.xml @@ -0,0 +1,72 @@ + + + + + + UUID-002 + UUID-003 + + + UUID-004 + UUID-005 + + + UUID-006 + UUID-007 + + + UUID-008 + UUID-009 + + + UUID-010 + UUID-011 + + + UUID-012 + UUID-013 + + + UUID-014 + UUID-015 + + + + Adopted + Тест + + + ru + Тест + + + + Customization + true + Тест_ + Version8_3_24 + ManagedApplication + + PlatformApplication + + Russian + + Role.Тест_ОсновнаяРоль + + + + Language.Русский + + + + + + TaxiEnableVersion8_2 + + + Русский + Тест_ОсновнаяРоль + ЗаказПоставщику + + + \ No newline at end of file diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-choice-param-links/Ext/Documents/ЗаказПоставщику.xml b/tests/skills/cases/cfe-borrow/snapshots/form-choice-param-links/Ext/Documents/ЗаказПоставщику.xml new file mode 100644 index 00000000..38e69988 --- /dev/null +++ b/tests/skills/cases/cfe-borrow/snapshots/form-choice-param-links/Ext/Documents/ЗаказПоставщику.xml @@ -0,0 +1,36 @@ + + + + + + UUID-002 + UUID-003 + + + UUID-004 + UUID-005 + + + UUID-006 + UUID-007 + + + UUID-008 + UUID-009 + + + UUID-010 + UUID-011 + + + + Adopted + ЗаказПоставщику + + UUID-012 + + +
ФормаДокумента
+
+
+
\ No newline at end of file diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-choice-param-links/Ext/Documents/ЗаказПоставщику/Forms/ФормаДокумента.xml b/tests/skills/cases/cfe-borrow/snapshots/form-choice-param-links/Ext/Documents/ЗаказПоставщику/Forms/ФормаДокумента.xml new file mode 100644 index 00000000..1c49cbb8 --- /dev/null +++ b/tests/skills/cases/cfe-borrow/snapshots/form-choice-param-links/Ext/Documents/ЗаказПоставщику/Forms/ФормаДокумента.xml @@ -0,0 +1,13 @@ + + +
+ + + Adopted + ФормаДокумента + + UUID-002 + Managed + + +
\ No newline at end of file diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-choice-param-links/Ext/Documents/ЗаказПоставщику/Forms/ФормаДокумента/Ext/Form.xml b/tests/skills/cases/cfe-borrow/snapshots/form-choice-param-links/Ext/Documents/ЗаказПоставщику/Forms/ФормаДокумента/Ext/Form.xml new file mode 100644 index 00000000..74ed4b3d --- /dev/null +++ b/tests/skills/cases/cfe-borrow/snapshots/form-choice-param-links/Ext/Documents/ЗаказПоставщику/Forms/ФормаДокумента/Ext/Form.xml @@ -0,0 +1,57 @@ + +
+ + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Заказ поставщику</v8:content> + </v8:item> + + false + + + + + + + + + + Отбор.Владелец + 1/0:UUID-001 + Clear + + + + + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Заказ поставщику</v8:content> + </v8:item> + + false + + + + + + + + + + Отбор.Владелец + 1/0:UUID-001 + Clear + + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-choice-param-links/Ext/Documents/ЗаказПоставщику/Forms/ФормаДокумента/Ext/Form/Module.bsl b/tests/skills/cases/cfe-borrow/snapshots/form-choice-param-links/Ext/Documents/ЗаказПоставщику/Forms/ФормаДокумента/Ext/Form/Module.bsl new file mode 100644 index 00000000..e69de29b diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-choice-param-links/Ext/Languages/Русский.xml b/tests/skills/cases/cfe-borrow/snapshots/form-choice-param-links/Ext/Languages/Русский.xml new file mode 100644 index 00000000..c21624f5 --- /dev/null +++ b/tests/skills/cases/cfe-borrow/snapshots/form-choice-param-links/Ext/Languages/Русский.xml @@ -0,0 +1,13 @@ + + + + + + Adopted + Русский + + UUID-002 + ru + + + \ No newline at end of file diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-choice-param-links/Ext/Roles/Тест_ОсновнаяРоль.xml b/tests/skills/cases/cfe-borrow/snapshots/form-choice-param-links/Ext/Roles/Тест_ОсновнаяРоль.xml new file mode 100644 index 00000000..ec9dfbaf --- /dev/null +++ b/tests/skills/cases/cfe-borrow/snapshots/form-choice-param-links/Ext/Roles/Тест_ОсновнаяРоль.xml @@ -0,0 +1,10 @@ + + + + + Тест_ОсновнаяРоль + + + + + \ No newline at end of file diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-choice-param-links/Languages/Русский.xml b/tests/skills/cases/cfe-borrow/snapshots/form-choice-param-links/Languages/Русский.xml new file mode 100644 index 00000000..37c60d78 --- /dev/null +++ b/tests/skills/cases/cfe-borrow/snapshots/form-choice-param-links/Languages/Русский.xml @@ -0,0 +1,16 @@ + + + + + Русский + + + ru + Русский + + + + ru + + + \ No newline at end of file