From 651065093e3575f54d7a0d56b26683bf0099b3e4 Mon Sep 17 00:00:00 2001 From: Nick Shirokov Date: Sat, 26 Sep 2026 18:37:32 +0300 Subject: [PATCH] =?UTF-8?q?fix(cfe-borrow):=20=D0=BA=D0=B0=D1=80=D1=82?= =?UTF-8?q?=D0=B8=D0=BD=D0=BA=D0=B8=20=D1=8D=D0=BB=D0=B5=D0=BC=D0=B5=D0=BD?= =?UTF-8?q?=D1=82=D0=BE=D0=B2=20=D0=B7=D0=B0=D0=B8=D0=BC=D1=81=D1=82=D0=B2?= =?UTF-8?q?=D0=BE=D0=B2=D0=B0=D0=BD=D0=BD=D0=BE=D0=B9=20=D1=84=D0=BE=D1=80?= =?UTF-8?q?=D0=BC=D1=8B=20=D0=BF=D0=B5=D1=80=D0=B5=D0=BD=D0=BE=D1=81=D1=8F?= =?UTF-8?q?=D1=82=D1=81=D1=8F=20=D1=84=D0=B0=D0=B9=D0=BB=D0=B0=D0=BC=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Form.xml заимствованной формы ссылается на встроенные картинки элементов (Picture.png), а сами файлы Ext/Form/Items/<Элемент>/<Файл> в расширение не попадали — платформа отвергала загрузку: «Файл не найден». Поведение сверено с Конфигуратором (8.3.27, формы УТ): - Picture кнопок, RowsPicture/HeaderPicture/ValuesPicture таблиц и полей картинки остаются в обеих частях формы, файлы копируются байт в байт; - у PictureDecoration картинка любого вида выбрасывается из обеих частей, без файла и без заимствования общей картинки. Навык копирует ровно те файлы, на которые ссылается итоговый скелет формы (ссылка xr:Abs -> Items/<имя владельца>/<файл>, точно на 666 ссылках корпуса). Уже лежащий в расширении файл не перезаписывается. Оба порта, v1.38. Раннер тестов пишет и сверяет двоичные файлы эталона побайтно: текстовый путь через UTF-8 портил картинку, и сверка испорченного с испорченным проходила. Проблема и первое решение — PR #102. Co-Authored-By: AndromanPro Co-Authored-By: Claude Opus 5.5 (1M context) --- .../skills/cfe-borrow/scripts/cfe-borrow.ps1 | 57 +++- .../skills/cfe-borrow/scripts/cfe-borrow.py | 56 +++- .gitignore | 2 + .../CommonPictures/Пустая.xml | 17 ++ .../CommonPictures/Пустая/Ext/Picture.xml | 7 + .../Пустая/Ext/Picture/Picture.png | Bin 0 -> 75 bytes .../form-item-pictures/Configuration.xml | 253 +++++++++++++++++ .../form-item-pictures/Documents/Расход.xml | 265 ++++++++++++++++++ .../Documents/Расход/Ext/ObjectModule.bsl | 1 + .../Documents/Расход/Forms/ФормаДокумента.xml | 21 ++ .../Расход/Forms/ФормаДокумента/Ext/Form.xml | 97 +++++++ .../Ext/Form/Items/Логотип/Picture.png | Bin 0 -> 738 bytes .../Ext/Form/Items/Товары/RowsPicture.png | Bin 0 -> 5137 bytes .../ТоварыИндексКартинки/HeaderPicture.png | Bin 0 -> 355 bytes .../ТоварыИндексКартинки/ValuesPicture.png | Bin 0 -> 778 bytes .../Items/ФормаОбновитьКартинкой/Picture.png | Bin 0 -> 1563 bytes .../Forms/ФормаДокумента/Ext/Form/Module.bsl | 19 ++ .../Ext/ClientApplicationInterface.xml | 18 ++ .../form-item-pictures/Languages/Русский.xml | 16 ++ .../form-item-pictures-reborrow.json | 29 ++ .../cases/cfe-borrow/form-item-pictures.json | 35 +++ .../CommonPictures/Пустая.xml | 17 ++ .../CommonPictures/Пустая/Ext/Picture.xml | 7 + .../Пустая/Ext/Picture/Picture.png | Bin 0 -> 75 bytes .../Configuration.xml | 253 +++++++++++++++++ .../Documents/Расход.xml | 265 ++++++++++++++++++ .../Documents/Расход/Ext/ObjectModule.bsl | 0 .../Documents/Расход/Forms/ФормаДокумента.xml | 21 ++ .../Расход/Forms/ФормаДокумента/Ext/Form.xml | 97 +++++++ .../Ext/Form/Items/Логотип/Picture.png | Bin 0 -> 738 bytes .../Ext/Form/Items/Товары/RowsPicture.png | Bin 0 -> 5137 bytes .../ТоварыИндексКартинки/HeaderPicture.png | Bin 0 -> 355 bytes .../ТоварыИндексКартинки/ValuesPicture.png | Bin 0 -> 778 bytes .../Items/ФормаОбновитьКартинкой/Picture.png | Bin 0 -> 1563 bytes .../Forms/ФормаДокумента/Ext/Form/Module.bsl | 19 ++ .../Ext/ClientApplicationInterface.xml | 18 ++ .../Languages/Русский.xml | 16 ++ .../cfe/Configuration.xml | 72 +++++ .../cfe/Documents/Расход.xml | 36 +++ .../Documents/Расход/Forms/ФормаДокумента.xml | 13 + .../Расход/Forms/ФормаДокумента/Ext/Form.xml | 137 +++++++++ .../Ext/Form/Items/Товары/RowsPicture.png | Bin 0 -> 5137 bytes .../ТоварыИндексКартинки/HeaderPicture.png | Bin 0 -> 355 bytes .../ТоварыИндексКартинки/ValuesPicture.png | Bin 0 -> 778 bytes .../Items/ФормаОбновитьКартинкой/Picture.png | 1 + .../Forms/ФормаДокумента/Ext/Form/Module.bsl | 0 .../cfe/Languages/Русский.xml | 13 + .../cfe/Roles/Тест_ОсновнаяРоль.xml | 10 + .../CommonPictures/Пустая.xml | 17 ++ .../CommonPictures/Пустая/Ext/Picture.xml | 7 + .../Пустая/Ext/Picture/Picture.png | Bin 0 -> 75 bytes .../form-item-pictures/Configuration.xml | 253 +++++++++++++++++ .../form-item-pictures/Documents/Расход.xml | 265 ++++++++++++++++++ .../Documents/Расход/Ext/ObjectModule.bsl | 0 .../Documents/Расход/Forms/ФормаДокумента.xml | 21 ++ .../Расход/Forms/ФормаДокумента/Ext/Form.xml | 97 +++++++ .../Ext/Form/Items/Логотип/Picture.png | Bin 0 -> 738 bytes .../Ext/Form/Items/Товары/RowsPicture.png | Bin 0 -> 5137 bytes .../ТоварыИндексКартинки/HeaderPicture.png | Bin 0 -> 355 bytes .../ТоварыИндексКартинки/ValuesPicture.png | Bin 0 -> 778 bytes .../Items/ФормаОбновитьКартинкой/Picture.png | Bin 0 -> 1563 bytes .../Forms/ФормаДокумента/Ext/Form/Module.bsl | 19 ++ .../Ext/ClientApplicationInterface.xml | 18 ++ .../form-item-pictures/Languages/Русский.xml | 16 ++ .../form-item-pictures/cfe/Configuration.xml | 72 +++++ .../cfe/Documents/Расход.xml | 36 +++ .../Documents/Расход/Forms/ФормаДокумента.xml | 13 + .../Расход/Forms/ФормаДокумента/Ext/Form.xml | 137 +++++++++ .../Ext/Form/Items/Товары/RowsPicture.png | Bin 0 -> 5137 bytes .../ТоварыИндексКартинки/HeaderPicture.png | Bin 0 -> 355 bytes .../ТоварыИндексКартинки/ValuesPicture.png | Bin 0 -> 778 bytes .../Items/ФормаОбновитьКартинкой/Picture.png | Bin 0 -> 1563 bytes .../Forms/ФормаДокумента/Ext/Form/Module.bsl | 0 .../cfe/Languages/Русский.xml | 13 + .../cfe/Roles/Тест_ОсновнаяРоль.xml | 10 + tests/skills/runner.mjs | 26 +- 76 files changed, 2901 insertions(+), 7 deletions(-) create mode 100644 tests/skills/cases/cfe-borrow/fixtures/form-item-pictures/CommonPictures/Пустая.xml create mode 100644 tests/skills/cases/cfe-borrow/fixtures/form-item-pictures/CommonPictures/Пустая/Ext/Picture.xml create mode 100644 tests/skills/cases/cfe-borrow/fixtures/form-item-pictures/CommonPictures/Пустая/Ext/Picture/Picture.png create mode 100644 tests/skills/cases/cfe-borrow/fixtures/form-item-pictures/Configuration.xml create mode 100644 tests/skills/cases/cfe-borrow/fixtures/form-item-pictures/Documents/Расход.xml create mode 100644 tests/skills/cases/cfe-borrow/fixtures/form-item-pictures/Documents/Расход/Ext/ObjectModule.bsl create mode 100644 tests/skills/cases/cfe-borrow/fixtures/form-item-pictures/Documents/Расход/Forms/ФормаДокумента.xml create mode 100644 tests/skills/cases/cfe-borrow/fixtures/form-item-pictures/Documents/Расход/Forms/ФормаДокумента/Ext/Form.xml create mode 100644 tests/skills/cases/cfe-borrow/fixtures/form-item-pictures/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/Логотип/Picture.png create mode 100644 tests/skills/cases/cfe-borrow/fixtures/form-item-pictures/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/Товары/RowsPicture.png create mode 100644 tests/skills/cases/cfe-borrow/fixtures/form-item-pictures/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/ТоварыИндексКартинки/HeaderPicture.png create mode 100644 tests/skills/cases/cfe-borrow/fixtures/form-item-pictures/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/ТоварыИндексКартинки/ValuesPicture.png create mode 100644 tests/skills/cases/cfe-borrow/fixtures/form-item-pictures/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/ФормаОбновитьКартинкой/Picture.png create mode 100644 tests/skills/cases/cfe-borrow/fixtures/form-item-pictures/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Module.bsl create mode 100644 tests/skills/cases/cfe-borrow/fixtures/form-item-pictures/Ext/ClientApplicationInterface.xml create mode 100644 tests/skills/cases/cfe-borrow/fixtures/form-item-pictures/Languages/Русский.xml create mode 100644 tests/skills/cases/cfe-borrow/form-item-pictures-reborrow.json create mode 100644 tests/skills/cases/cfe-borrow/form-item-pictures.json create mode 100644 tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/CommonPictures/Пустая.xml create mode 100644 tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/CommonPictures/Пустая/Ext/Picture.xml create mode 100644 tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/CommonPictures/Пустая/Ext/Picture/Picture.png create mode 100644 tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/Configuration.xml create mode 100644 tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/Documents/Расход.xml create mode 100644 tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/Documents/Расход/Ext/ObjectModule.bsl create mode 100644 tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/Documents/Расход/Forms/ФормаДокумента.xml create mode 100644 tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/Documents/Расход/Forms/ФормаДокумента/Ext/Form.xml create mode 100644 tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/Логотип/Picture.png create mode 100644 tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/Товары/RowsPicture.png create mode 100644 tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/ТоварыИндексКартинки/HeaderPicture.png create mode 100644 tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/ТоварыИндексКартинки/ValuesPicture.png create mode 100644 tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/ФормаОбновитьКартинкой/Picture.png create mode 100644 tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Module.bsl create mode 100644 tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/Ext/ClientApplicationInterface.xml create mode 100644 tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/Languages/Русский.xml create mode 100644 tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/cfe/Configuration.xml create mode 100644 tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/cfe/Documents/Расход.xml create mode 100644 tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/cfe/Documents/Расход/Forms/ФормаДокумента.xml create mode 100644 tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/cfe/Documents/Расход/Forms/ФормаДокумента/Ext/Form.xml create mode 100644 tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/cfe/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/Товары/RowsPicture.png create mode 100644 tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/cfe/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/ТоварыИндексКартинки/HeaderPicture.png create mode 100644 tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/cfe/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/ТоварыИндексКартинки/ValuesPicture.png create mode 100644 tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/cfe/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/ФормаОбновитьКартинкой/Picture.png create mode 100644 tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/cfe/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Module.bsl create mode 100644 tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/cfe/Languages/Русский.xml create mode 100644 tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/cfe/Roles/Тест_ОсновнаяРоль.xml create mode 100644 tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/CommonPictures/Пустая.xml create mode 100644 tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/CommonPictures/Пустая/Ext/Picture.xml create mode 100644 tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/CommonPictures/Пустая/Ext/Picture/Picture.png create mode 100644 tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/Configuration.xml create mode 100644 tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/Documents/Расход.xml create mode 100644 tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/Documents/Расход/Ext/ObjectModule.bsl create mode 100644 tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/Documents/Расход/Forms/ФормаДокумента.xml create mode 100644 tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/Documents/Расход/Forms/ФормаДокумента/Ext/Form.xml create mode 100644 tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/Логотип/Picture.png create mode 100644 tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/Товары/RowsPicture.png create mode 100644 tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/ТоварыИндексКартинки/HeaderPicture.png create mode 100644 tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/ТоварыИндексКартинки/ValuesPicture.png create mode 100644 tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/ФормаОбновитьКартинкой/Picture.png create mode 100644 tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Module.bsl create mode 100644 tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/Ext/ClientApplicationInterface.xml create mode 100644 tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/Languages/Русский.xml create mode 100644 tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/cfe/Configuration.xml create mode 100644 tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/cfe/Documents/Расход.xml create mode 100644 tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/cfe/Documents/Расход/Forms/ФормаДокумента.xml create mode 100644 tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/cfe/Documents/Расход/Forms/ФормаДокумента/Ext/Form.xml create mode 100644 tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/cfe/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/Товары/RowsPicture.png create mode 100644 tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/cfe/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/ТоварыИндексКартинки/HeaderPicture.png create mode 100644 tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/cfe/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/ТоварыИндексКартинки/ValuesPicture.png create mode 100644 tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/cfe/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/ФормаОбновитьКартинкой/Picture.png create mode 100644 tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/cfe/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Module.bsl create mode 100644 tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/cfe/Languages/Русский.xml create mode 100644 tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/cfe/Roles/Тест_ОсновнаяРоль.xml diff --git a/.claude/skills/cfe-borrow/scripts/cfe-borrow.ps1 b/.claude/skills/cfe-borrow/scripts/cfe-borrow.ps1 index 43ac8b90b..3850c8c05 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.37 — Borrow objects from configuration into extension (CFE) +# cfe-borrow v1.38 — Borrow objects from configuration into extension (CFE) # Source: https://github.com/Nikolay-Shirokov/cc-1c-skills [CmdletBinding(PositionalBinding=$false)] param( @@ -958,6 +958,20 @@ function Borrow-Form { $autoCmdXml = Rewrite-ChoiceParameterLinks $autoCmdXml $srcAttrUuids $formAttrIds $srcMainAttrName ([bool]$mainAttrInfo) } + # Картинка декорации в заимствованную форму не переносится: Конфигуратор выбрасывает + # у PictureDecoration из обеих частей формы при любом виде картинки (своя, общая, стандартная) + # и не тянет за ней ни файл, ни общую картинку. Замер 8.3.27: 10 декораций в 5 формах УТ. + # Картинки кнопок, таблиц и полей картинки остаются — вместе с файлами, см. копирование ниже. + if ($srcChildItems) { + foreach ($decoPic in @($srcChildItems.SelectNodes(".//*[local-name()='PictureDecoration']/*[local-name()='Picture']"))) { + $prevWs = $decoPic.PreviousSibling + if ($prevWs -and ($prevWs.NodeType -eq 'Whitespace' -or $prevWs.NodeType -eq 'SignificantWhitespace')) { + $decoPic.ParentNode.RemoveChild($prevWs) | Out-Null + } + $decoPic.ParentNode.RemoveChild($decoPic) | Out-Null + } + } + # ChildItems: copy full tree, clean up base-config references $childItemsXml = "" if ($srcChildItems) { @@ -1278,10 +1292,49 @@ function Borrow-Form { Info " Created: $moduleBslFile" } + # 6b. Встроенные картинки элементов. Form.xml ссылается на них как Файл, а сам файл + # лежит в Ext/Form/Items/<Элемент>/<Файл>; без него платформа отвергает расширение («Файл не найден»). + # Конфигуратор копирует их байт в байт. Берём ровно то, на что ссылается скелет (картинки декораций + # выброшены выше). Уже лежащий файл не перезаписываем: его могли заменить в расширении. + $picFiles = @() + $srcItemsDir = Join-Path (Join-Path (Split-Path $srcFormXmlPath -Parent) "Form") "Items" + $picRels = New-Object System.Collections.Generic.List[string] + foreach ($sect in @($srcAutoCmd, $srcChildItems)) { + if (-not $sect) { continue } + foreach ($absNode in @($sect.SelectNodes(".//*[local-name()='Abs' and namespace-uri()='http://v8.1c.ru/8.3/xcf/readable']"))) { + $picOwner = $absNode.ParentNode.ParentNode + $picElName = $picOwner.GetAttribute("name") + $picFileName = $absNode.InnerText.Trim() + if (-not $picElName -or -not $picFileName) { continue } + $rel = "$picElName/$picFileName" + if (-not $picRels.Contains($rel)) { $picRels.Add($rel) } + } + } + $picRelArr = $picRels.ToArray() + [Array]::Sort($picRelArr, [System.StringComparer]::Ordinal) + foreach ($rel in $picRelArr) { + $picParts = $rel.Split('/') + $srcPic = Join-Path (Join-Path $srcItemsDir $picParts[0]) $picParts[1] + $dstPicDir = Join-Path (Join-Path $moduleDir "Items") $picParts[0] + $dstPic = Join-Path $dstPicDir $picParts[1] + if (Test-Path -LiteralPath $dstPic) { + Info " Preserved existing: $dstPic" + continue + } + if (-not (Test-Path -LiteralPath $srcPic)) { + Warn " Картинка элемента не найдена в источнике: $srcPic" + continue + } + if (-not (Test-Path -LiteralPath $dstPicDir)) { New-Item -ItemType Directory -Path $dstPicDir -Force | Out-Null } + Copy-Item -LiteralPath $srcPic -Destination $dstPic + $picFiles += $dstPic + Info " Copied: $dstPic" + } + # 7. Register form in parent object ChildObjects Register-FormInObject $typeName $objName $formName - return @($formMetaFile, $formXmlFile, $moduleBslFile) + return @($formMetaFile, $formXmlFile, $moduleBslFile) + $picFiles } # --- 10d. Helper: register form in parent object's ChildObjects --- diff --git a/.claude/skills/cfe-borrow/scripts/cfe-borrow.py b/.claude/skills/cfe-borrow/scripts/cfe-borrow.py index 08b5033ef..32b2f9d1b 100644 --- a/.claude/skills/cfe-borrow/scripts/cfe-borrow.py +++ b/.claude/skills/cfe-borrow/scripts/cfe-borrow.py @@ -1,11 +1,12 @@ #!/usr/bin/env python3 -# cfe-borrow v1.37 — Borrow objects from configuration into extension (CFE) +# cfe-borrow v1.38 — Borrow objects from configuration into extension (CFE) # Source: https://github.com/Nikolay-Shirokov/cc-1c-skills import argparse import json import os import re +import shutil import sys import uuid from lxml import etree @@ -1931,6 +1932,22 @@ def main(): src_child_items = fc break + # Картинка декорации в заимствованную форму не переносится: Конфигуратор выбрасывает + # у PictureDecoration из обеих частей формы при любом виде картинки (своя, общая, стандартная) + # и не тянет за ней ни файл, ни общую картинку. Замер 8.3.27: 10 декораций в 5 формах УТ. + # Картинки кнопок, таблиц и полей картинки остаются — вместе с файлами, см. копирование ниже. + if src_child_items is not None: + for deco in [e for e in src_child_items.iter() if isinstance(e.tag, str) and localname(e) == "PictureDecoration"]: + for deco_pic in [c for c in deco if isinstance(c.tag, str) and localname(c) == "Picture"]: + # Отступ перед картинкой — хвост предыдущего узла; как в PS-порте, уходит он, + # а хвост самой картинки занимает его место. + prev = deco_pic.getprevious() + if prev is not None: + prev.tail = deco_pic.tail + else: + deco.text = deco_pic.tail + deco.remove(deco_pic) + if src_child_items is not None: child_items_xml = decode_numeric_entities(etree.tostring(src_child_items, encoding="unicode", with_tail=False)) child_items_xml = ns_strip_pattern.sub("", child_items_xml) @@ -2191,10 +2208,45 @@ def main(): write_utf8_bom(module_bsl_file, "") info(f" Created: {module_bsl_file}") + # 6b. Встроенные картинки элементов. Form.xml ссылается на них как Файл, а сам файл + # лежит в Ext/Form/Items/<Элемент>/<Файл>; без него платформа отвергает расширение («Файл не найден»). + # Конфигуратор копирует их байт в байт. Берём ровно то, на что ссылается скелет (картинки декораций + # выброшены выше). Уже лежащий файл не перезаписываем: его могли заменить в расширении. + pic_files = [] + src_items_dir = os.path.join(os.path.dirname(src_form_xml_path), "Form", "Items") + pic_rels = [] + for sect in (src_auto_cmd, src_child_items): + if sect is None: + continue + for abs_node in sect.iter("{http://v8.1c.ru/8.3/xcf/readable}Abs"): + pic_owner = abs_node.getparent().getparent() + pic_el_name = pic_owner.get("name") if pic_owner is not None else None + pic_file_name = (abs_node.text or "").strip() + if not pic_el_name or not pic_file_name: + continue + rel = f"{pic_el_name}/{pic_file_name}" + if rel not in pic_rels: + pic_rels.append(rel) + for rel in sorted(pic_rels): + pic_el_name, pic_file_name = rel.split("/", 1) + src_pic = os.path.join(src_items_dir, pic_el_name, pic_file_name) + dst_pic_dir = os.path.join(module_dir, "Items", pic_el_name) + dst_pic = os.path.join(dst_pic_dir, pic_file_name) + if os.path.exists(dst_pic): + info(f" Preserved existing: {dst_pic}") + continue + if not os.path.isfile(src_pic): + warn(f" Картинка элемента не найдена в источнике: {src_pic}") + continue + os.makedirs(dst_pic_dir, exist_ok=True) + shutil.copyfile(src_pic, dst_pic) + pic_files.append(dst_pic) + info(f" Copied: {dst_pic}") + # 7. Register form in parent object ChildObjects register_form_in_object(type_name, obj_name, form_name) - return [form_meta_file, form_xml_file, module_bsl_file] + return [form_meta_file, form_xml_file, module_bsl_file] + pic_files # --- 9. Parse -Object into items --- items = [] diff --git a/.gitignore b/.gitignore index 5b0929e90..8c4d090d6 100644 --- a/.gitignore +++ b/.gitignore @@ -41,6 +41,8 @@ tests/web-test/_suite-root/prepare-ran.txt # Скриншоты и видео (артефакты тестирования web-test) *.png *.mp4 +# ...кроме кейсов навыков: там картинка — вход теста или эталон (картинки элементов формы) +!tests/skills/cases/**/*.png # Навыки, скопированные для других AI-платформ (генерируются scripts/switch.py) .agents/skills/ diff --git a/tests/skills/cases/cfe-borrow/fixtures/form-item-pictures/CommonPictures/Пустая.xml b/tests/skills/cases/cfe-borrow/fixtures/form-item-pictures/CommonPictures/Пустая.xml new file mode 100644 index 000000000..eea3446e7 --- /dev/null +++ b/tests/skills/cases/cfe-borrow/fixtures/form-item-pictures/CommonPictures/Пустая.xml @@ -0,0 +1,17 @@ + + + + + Пустая + + + ru + Пустая + + + + false + false + + + \ No newline at end of file diff --git a/tests/skills/cases/cfe-borrow/fixtures/form-item-pictures/CommonPictures/Пустая/Ext/Picture.xml b/tests/skills/cases/cfe-borrow/fixtures/form-item-pictures/CommonPictures/Пустая/Ext/Picture.xml new file mode 100644 index 000000000..f61834f77 --- /dev/null +++ b/tests/skills/cases/cfe-borrow/fixtures/form-item-pictures/CommonPictures/Пустая/Ext/Picture.xml @@ -0,0 +1,7 @@ + + + + Picture.png + false + + \ No newline at end of file diff --git a/tests/skills/cases/cfe-borrow/fixtures/form-item-pictures/CommonPictures/Пустая/Ext/Picture/Picture.png b/tests/skills/cases/cfe-borrow/fixtures/form-item-pictures/CommonPictures/Пустая/Ext/Picture/Picture.png new file mode 100644 index 0000000000000000000000000000000000000000..96729e159b885d68f678fc6053bd8a170ca1b10b GIT binary patch literal 75 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`LY^*;Ar-fh6C_v{Cy4YgaWF8j X2rw|NckR#t$})Jm`njxgN@xNA05A_g literal 0 HcmV?d00001 diff --git a/tests/skills/cases/cfe-borrow/fixtures/form-item-pictures/Configuration.xml b/tests/skills/cases/cfe-borrow/fixtures/form-item-pictures/Configuration.xml new file mode 100644 index 000000000..1cf158ec2 --- /dev/null +++ b/tests/skills/cases/cfe-borrow/fixtures/form-item-pictures/Configuration.xml @@ -0,0 +1,253 @@ + + + + + + 9cd510cd-abfc-11d4-9434-004095e12fc7 + bbe393d6-2b09-4eb4-8108-ffa213bd7b0c + + + 9fcd25a0-4822-11d4-9414-008048da11f9 + cbe8384b-2457-4cd1-9b91-d997d742f70c + + + e3687481-0a87-462c-a166-9f34594f9bba + 2867dedd-bd83-4c4e-a874-60b4efdb9a49 + + + 9de14907-ec23-4a07-96f0-85521cb6b53b + b01c6621-d6ca-4f50-9b14-c75aeb1b8d64 + + + 51f2d5d8-ea4d-4064-8892-82951750031e + 9dd3fa49-c088-4d5e-b45f-0c5d86c97960 + + + e68182ea-4237-4383-967f-90c1e3370bc7 + d15341ec-27b4-4847-aff3-7d8aef4e5076 + + + fb282519-d103-4dd3-bc12-cb271d631dfc + af01c748-9b50-4545-8f07-44f1ae28dc04 + + + + 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/fixtures/form-item-pictures/Documents/Расход.xml b/tests/skills/cases/cfe-borrow/fixtures/form-item-pictures/Documents/Расход.xml new file mode 100644 index 000000000..7d0e7d5d5 --- /dev/null +++ b/tests/skills/cases/cfe-borrow/fixtures/form-item-pictures/Documents/Расход.xml @@ -0,0 +1,265 @@ + + + + + + eb27c20a-bab8-4763-88c7-28d0e4b84510 + bfcb76b5-226f-4f45-9f28-a7943c562569 + + + 13d09c16-3a64-4676-b614-174c17e07f87 + ce525519-655a-41b8-a643-91079f53adbe + + + d3e4f4a8-bfcc-44c2-a638-aa9cbe7aebd9 + b8ed9db3-7f2e-4591-acb5-c24d14870680 + + + b44fa690-e696-481e-9e62-4b8c9d4fbdcd + beb612e8-6065-43ef-a372-56e7a6764915 + + + ea527740-0b46-4d9c-8ce7-8f2f8e2c1a80 + 9113f260-017e-4cc4-83a0-f3f3b5636d7f + + + + Расход + + + 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 + Комментарий + + + + + xs:string + + 100 + Variable + + + false + + + + false + + false + false + + + false + + DontCheck + Items + + + Auto + Auto + + + Auto + DontIndex + Use + Use + + +
ФормаДокумента
+ + + + 383903b4-680c-4371-8b74-7b8a385f87a9 + 2aaf40f3-841b-403e-8f92-187171f7155f + + + 8093107b-4b90-4aa6-be95-98a41606b985 + 6bf19a8e-a966-4f89-9315-30a54b2b7c4f + + + + Товары + + + ru + Товары + + + + + DontCheck + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + + + + Количество + + + ru + Количество + + + + + xs:decimal + + 10 + 3 + Any + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + Auto + + + Auto + DontIndex + Use + Use + + + + + ИндексКартинки + + + ru + Индекс картинки + + + + + xs:decimal + + 2 + 0 + Any + + + 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/fixtures/form-item-pictures/Documents/Расход/Ext/ObjectModule.bsl b/tests/skills/cases/cfe-borrow/fixtures/form-item-pictures/Documents/Расход/Ext/ObjectModule.bsl new file mode 100644 index 000000000..5f282702b --- /dev/null +++ b/tests/skills/cases/cfe-borrow/fixtures/form-item-pictures/Documents/Расход/Ext/ObjectModule.bsl @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/tests/skills/cases/cfe-borrow/fixtures/form-item-pictures/Documents/Расход/Forms/ФормаДокумента.xml b/tests/skills/cases/cfe-borrow/fixtures/form-item-pictures/Documents/Расход/Forms/ФормаДокумента.xml new file mode 100644 index 000000000..5cfb82557 --- /dev/null +++ b/tests/skills/cases/cfe-borrow/fixtures/form-item-pictures/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/fixtures/form-item-pictures/Documents/Расход/Forms/ФормаДокумента/Ext/Form.xml b/tests/skills/cases/cfe-borrow/fixtures/form-item-pictures/Documents/Расход/Forms/ФормаДокумента/Ext/Form.xml new file mode 100644 index 000000000..53f3b8101 --- /dev/null +++ b/tests/skills/cases/cfe-borrow/fixtures/form-item-pictures/Documents/Расход/Forms/ФормаДокумента/Ext/Form.xml @@ -0,0 +1,97 @@ + +
+ + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Расход</v8:content> + </v8:item> + + false + + Post + PostAndClose + Write + + DontUse + Regular + false + + + + + + + + Объект.Комментарий + + + + Объект.Товары + Объект.Товары.ИндексКартинки + + RowsPicture.png + false + + + MoveUp + SortListAsc + + + + Объект.Товары.Количество + + + + Объект.Товары.ИндексКартинки + + HeaderPicture.png + false + + + ValuesPicture.png + false + + + + + + +
+ + + Picture.png + false + + + + + + + CommonPicture.Пустая + true + + + + +
+ + + + cfg:DocumentObject.Расход + + true + true + + + + + +
\ No newline at end of file diff --git a/tests/skills/cases/cfe-borrow/fixtures/form-item-pictures/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/Логотип/Picture.png b/tests/skills/cases/cfe-borrow/fixtures/form-item-pictures/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/Логотип/Picture.png new file mode 100644 index 0000000000000000000000000000000000000000..9270d02ef401ee94873abf06c4baaeec706b3743 GIT binary patch literal 738 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 Bmp}jj literal 0 HcmV?d00001 diff --git a/tests/skills/cases/cfe-borrow/fixtures/form-item-pictures/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/ТоварыИндексКартинки/ValuesPicture.png b/tests/skills/cases/cfe-borrow/fixtures/form-item-pictures/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/ТоварыИндексКартинки/ValuesPicture.png new file mode 100644 index 0000000000000000000000000000000000000000..d7cc10f56a78f5bdb6165e754e42904fa52f1f99 GIT binary patch literal 778 zcmV+l1NHogP)! zTS${(9L9h9+(vD=i8G^v(;0>tCWJ*4k(7xLOYlmm!0@KBs0#}cx-|%5MmL>=uA&13 zF(|qVIt>dkXyu`Xu993hQg{50U6``w`pQ(S2i}YK{l7f#^Stl#@&63W5t^pWm10g1 z7WMRbz#khJJm2(Bnl;R3^WeD#q3FylHFYgDLQhs0aJDuHXj;1%3cJOT(P9Aeirj!X z&*lZSE$F$W?ik4&yOQRPM!@tN8QTUrPad9{7n>9wky7XJef7YvcpL+rCok!pQPSM;ICZWYi&XJ{1Wju< z=496uoH&4eTLmV&1yi;eqs>J0?FX`!2z4mQc0G!OC}$iO@4p}+$}{%QYp%sm*lpWf z4rrhxL5UH4(@XHeO`OMSu~!x#hQe+=4h^{cpbJG+r^n?7U3h(cWD1^cgl27EWVF~) zS_n!4lq6AqKS9rJoGrCjU3Mg!gc$l(tjD3MDqde7lB{y5W)r8bKjNu>i2b`NFbXq2 z*?BcEdGiU7HKP7Lf}T4#TWYWt+dz&^)-?T8M&crs>sE91;VXIqU+C)lMAb$Y4Li$; zWr)zc8ZhVE12KPpnbBq>=(&rtWe--D9i%8INn!)TnDZi2mqp(V;XJY%tLw+jt4UBL#(O?vc38Z690^G#5*KN# zDo0in8mr2Q#6W z&8OGMt^m1H)ai9A@l__|H7`5Q7A=T@#lT07*qo IM6N<$f-rMyjQ{`u literal 0 HcmV?d00001 diff --git a/tests/skills/cases/cfe-borrow/fixtures/form-item-pictures/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/ФормаОбновитьКартинкой/Picture.png b/tests/skills/cases/cfe-borrow/fixtures/form-item-pictures/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/ФормаОбновитьКартинкой/Picture.png new file mode 100644 index 0000000000000000000000000000000000000000..519885bb6259a925f156039cbe4b67b492f0cdab GIT binary patch literal 1563 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+n3Xa^B1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxKsVXI%s|1+P|wiV z#N6CmN5ROz&_Lh7NZ-&%*U;R`*vQJjKmiJrfVLH-q*(>IxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8EkR}&8R-I5=oVMzl_XZ^<`pZ$OmImpPAEg{v+u2}(t{7puX=A(aKG z`a!A1`K3k4z=%sz23b{L-^Aq1JP;qO z-q+X4Gq1QLF)umQ)5TT^Xo6m5W{Q=WlcS}xg{h&DrIWFtp{t>zi>s5Hv$?6IqmhxB zxseG>uSMv>2~2MaLaz}{y`ZF!TL84#CABECEH%ZgC_h&L>}9J=oNh63!)YE= zZwhX=7~s^a4|I$^C}NQ!8YToxJs>7L*#bH6grAxROzlO$WNn{e6wScE)bHuy7*cVo zCfM5}Bv9htyX0ksayNg>=-eRGqZA-MQ!4LBhPbVmpf0nyt574Wk|S&2+EWQUJsgWd z^P;wJX%>q{J#$(t=9qe{RPV~2*K>Eiul9dFM{=v+$M*iyf6xEi_t~D+iG#&4gK5Ij z2^+Sq6zQHKysmNv!&biA+f2`YX1f3VWZHt~D$`HfE-9a_>2mDxoh}D)W$|v;Ag!s_ z7QD976yZ{tf4*4IHSolX7a3DIj2k&Oa8FAWJYM)?`auJpMVV58p;NhMEc3jfoSd8- z)3Q8X@WmCccO|_(*MhhYPjGkdT(HPv`Q^}~6H<51o_GGl8}*Ibl`CJbWxLD&@rMhu zo^OUnL&6UAPN_&I6Dii-mTseiK5Cowu9PM3(~Fju6jWiH6j|n_*eD}fP<`n@LB3Gu ziZfQN3LFZaS9^tSM;m+R>XzoV$vt?sQT9&d-gIjdcV8pV`^A4R)zgwR^f6o3UQTc80d5hm(61$}F zZeFfSZp;(A<3$gC@af!l^XYha;N`SyR}~)>JKQ$jTlnFojLnRF?fR#fUS+-7n18)) zM`QQ<{q+wX-(kOAxYzUJ|KHNA5wG>iW1VF*Z + + + + cbab57f2-a0f3-4f0a-89ea-4cb19570ab75 + + + + + b553047f-c9aa-4157-978d-448ecad24248 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/cfe-borrow/fixtures/form-item-pictures/Languages/Русский.xml b/tests/skills/cases/cfe-borrow/fixtures/form-item-pictures/Languages/Русский.xml new file mode 100644 index 000000000..e93cca222 --- /dev/null +++ b/tests/skills/cases/cfe-borrow/fixtures/form-item-pictures/Languages/Русский.xml @@ -0,0 +1,16 @@ + + + + + Русский + + + ru + Русский + + + + ru + + + \ No newline at end of file diff --git a/tests/skills/cases/cfe-borrow/form-item-pictures-reborrow.json b/tests/skills/cases/cfe-borrow/form-item-pictures-reborrow.json new file mode 100644 index 000000000..6c017e242 --- /dev/null +++ b/tests/skills/cases/cfe-borrow/form-item-pictures-reborrow.json @@ -0,0 +1,29 @@ +{ + "name": "Повторное заимствование формы не затирает картинку элемента, заменённую в расширении", + "setup": "fixture:form-item-pictures", + "preRun": [ + { + "script": "cfe-init/scripts/cfe-init", + "args": { "-Name": "Тест", "-OutputDir": "{workDir}/cfe", "-ConfigPath": "{workDir}" } + }, + { + "script": "cfe-borrow/scripts/cfe-borrow", + "args": { "-ExtensionPath": "{workDir}/cfe", "-ConfigPath": "{workDir}", "-Object": "Document.Расход.Form.ФормаДокумента" } + }, + { + "writeFile": { "path": "cfe/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/ФормаОбновитьКартинкой/Picture.png", "content": "картинка расширения" } + } + ], + "params": { "extensionPath": "cfe", "object": "Document.Расход.Form.ФормаДокумента" }, + "skipPlatformVerify": "картинка кнопки в расширении подменена текстовым маркером — это не изображение", + "expect": { + "fileContains": { + "file": "cfe/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/ФормаОбновитьКартинкой/Picture.png", + "text": ["картинка расширения"] + }, + "filesEqual": { + "actual": "cfe/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/Товары/RowsPicture.png", + "expected": "Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/Товары/RowsPicture.png" + } + } +} diff --git a/tests/skills/cases/cfe-borrow/form-item-pictures.json b/tests/skills/cases/cfe-borrow/form-item-pictures.json new file mode 100644 index 000000000..403364207 --- /dev/null +++ b/tests/skills/cases/cfe-borrow/form-item-pictures.json @@ -0,0 +1,35 @@ +{ + "name": "Заимствование формы: картинки кнопок, строк таблицы и поля картинки переносятся файлами, картинка декорации выбрасывается (как у Конфигуратора)", + "setup": "fixture:form-item-pictures", + "preRun": [ + { + "script": "cfe-init/scripts/cfe-init", + "args": { "-Name": "Тест", "-OutputDir": "{workDir}/cfe", "-ConfigPath": "{workDir}" } + } + ], + "params": { "extensionPath": "cfe", "object": "Document.Расход.Form.ФормаДокумента" }, + "expect": { + "filesEqual": [ + { "actual": "cfe/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/ФормаОбновитьКартинкой/Picture.png", "expected": "Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/ФормаОбновитьКартинкой/Picture.png" }, + { "actual": "cfe/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/Товары/RowsPicture.png", "expected": "Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/Товары/RowsPicture.png" }, + { "actual": "cfe/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/ТоварыИндексКартинки/HeaderPicture.png", "expected": "Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/ТоварыИндексКартинки/HeaderPicture.png" }, + { "actual": "cfe/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/ТоварыИндексКартинки/ValuesPicture.png", "expected": "Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/ТоварыИндексКартинки/ValuesPicture.png" } + ], + "fileContains": { + "file": "cfe/Documents/Расход/Forms/ФормаДокумента/Ext/Form.xml", + "text": [ + "RowsPicture.png", + "HeaderPicture.png", + "ValuesPicture.png" + ] + }, + "fileNotContains": { + "file": "cfe/Documents/Расход/Forms/ФормаДокумента/Ext/Form.xml", + "text": ["CommonPicture.Пустая"] + }, + "filesAbsent": [ + "cfe/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/Логотип", + "cfe/CommonPictures/Пустая.xml" + ] + } +} diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/CommonPictures/Пустая.xml b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/CommonPictures/Пустая.xml new file mode 100644 index 000000000..032cc39ae --- /dev/null +++ b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/CommonPictures/Пустая.xml @@ -0,0 +1,17 @@ + + + + + Пустая + + + ru + Пустая + + + + false + false + + + \ No newline at end of file diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/CommonPictures/Пустая/Ext/Picture.xml b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/CommonPictures/Пустая/Ext/Picture.xml new file mode 100644 index 000000000..4dfc28ff2 --- /dev/null +++ b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/CommonPictures/Пустая/Ext/Picture.xml @@ -0,0 +1,7 @@ + + + + Picture.png + false + + \ No newline at end of file diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/CommonPictures/Пустая/Ext/Picture/Picture.png b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/CommonPictures/Пустая/Ext/Picture/Picture.png new file mode 100644 index 0000000000000000000000000000000000000000..96729e159b885d68f678fc6053bd8a170ca1b10b GIT binary patch literal 75 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`LY^*;Ar-fh6C_v{Cy4YgaWF8j X2rw|NckR#t$})Jm`njxgN@xNA05A_g literal 0 HcmV?d00001 diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/Configuration.xml b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/Configuration.xml new file mode 100644 index 000000000..7a8f8041c --- /dev/null +++ b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/Configuration.xml @@ -0,0 +1,253 @@ + + + + + + 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-item-pictures-reborrow/Documents/Расход.xml b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/Documents/Расход.xml new file mode 100644 index 000000000..8db00264d --- /dev/null +++ b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/Documents/Расход.xml @@ -0,0 +1,265 @@ + + + + + + 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 + Комментарий + + + + + xs:string + + 100 + Variable + + + false + + + + false + + false + false + + + false + + DontCheck + Items + + + Auto + Auto + + + Auto + DontIndex + Use + Use + + +
ФормаДокумента
+ + + + UUID-014 + UUID-015 + + + UUID-016 + UUID-017 + + + + Товары + + + ru + Товары + + + + + DontCheck + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + + + + Количество + + + ru + Количество + + + + + xs:decimal + + 10 + 3 + Any + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + Auto + + + Auto + DontIndex + Use + Use + + + + + ИндексКартинки + + + ru + Индекс картинки + + + + + xs:decimal + + 2 + 0 + Any + + + 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-item-pictures-reborrow/Documents/Расход/Ext/ObjectModule.bsl b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/Documents/Расход/Ext/ObjectModule.bsl new file mode 100644 index 000000000..e69de29bb diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/Documents/Расход/Forms/ФормаДокумента.xml b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/Documents/Расход/Forms/ФормаДокумента.xml new file mode 100644 index 000000000..21cbf33a8 --- /dev/null +++ b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/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-item-pictures-reborrow/Documents/Расход/Forms/ФормаДокумента/Ext/Form.xml b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/Documents/Расход/Forms/ФормаДокумента/Ext/Form.xml new file mode 100644 index 000000000..7aca34a37 --- /dev/null +++ b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/Documents/Расход/Forms/ФормаДокумента/Ext/Form.xml @@ -0,0 +1,97 @@ + +
+ + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Расход</v8:content> + </v8:item> + + false + + Post + PostAndClose + Write + + DontUse + Regular + false + + + + + + + + Объект.Комментарий + + + + Объект.Товары + Объект.Товары.ИндексКартинки + + RowsPicture.png + false + + + MoveUp + SortListAsc + + + + Объект.Товары.Количество + + + + Объект.Товары.ИндексКартинки + + HeaderPicture.png + false + + + ValuesPicture.png + false + + + + + + +
+ + + Picture.png + false + + + + + + + CommonPicture.Пустая + true + + + + +
+ + + + cfg:DocumentObject.Расход + + true + true + + + + + +
\ No newline at end of file diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/Логотип/Picture.png b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/Логотип/Picture.png new file mode 100644 index 0000000000000000000000000000000000000000..9270d02ef401ee94873abf06c4baaeec706b3743 GIT binary patch literal 738 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 Bmp}jj literal 0 HcmV?d00001 diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/ТоварыИндексКартинки/ValuesPicture.png b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/ТоварыИндексКартинки/ValuesPicture.png new file mode 100644 index 0000000000000000000000000000000000000000..d7cc10f56a78f5bdb6165e754e42904fa52f1f99 GIT binary patch literal 778 zcmV+l1NHogP)! zTS${(9L9h9+(vD=i8G^v(;0>tCWJ*4k(7xLOYlmm!0@KBs0#}cx-|%5MmL>=uA&13 zF(|qVIt>dkXyu`Xu993hQg{50U6``w`pQ(S2i}YK{l7f#^Stl#@&63W5t^pWm10g1 z7WMRbz#khJJm2(Bnl;R3^WeD#q3FylHFYgDLQhs0aJDuHXj;1%3cJOT(P9Aeirj!X z&*lZSE$F$W?ik4&yOQRPM!@tN8QTUrPad9{7n>9wky7XJef7YvcpL+rCok!pQPSM;ICZWYi&XJ{1Wju< z=496uoH&4eTLmV&1yi;eqs>J0?FX`!2z4mQc0G!OC}$iO@4p}+$}{%QYp%sm*lpWf z4rrhxL5UH4(@XHeO`OMSu~!x#hQe+=4h^{cpbJG+r^n?7U3h(cWD1^cgl27EWVF~) zS_n!4lq6AqKS9rJoGrCjU3Mg!gc$l(tjD3MDqde7lB{y5W)r8bKjNu>i2b`NFbXq2 z*?BcEdGiU7HKP7Lf}T4#TWYWt+dz&^)-?T8M&crs>sE91;VXIqU+C)lMAb$Y4Li$; zWr)zc8ZhVE12KPpnbBq>=(&rtWe--D9i%8INn!)TnDZi2mqp(V;XJY%tLw+jt4UBL#(O?vc38Z690^G#5*KN# zDo0in8mr2Q#6W z&8OGMt^m1H)ai9A@l__|H7`5Q7A=T@#lT07*qo IM6N<$f-rMyjQ{`u literal 0 HcmV?d00001 diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/ФормаОбновитьКартинкой/Picture.png b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/ФормаОбновитьКартинкой/Picture.png new file mode 100644 index 0000000000000000000000000000000000000000..519885bb6259a925f156039cbe4b67b492f0cdab GIT binary patch literal 1563 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+n3Xa^B1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxKsVXI%s|1+P|wiV z#N6CmN5ROz&_Lh7NZ-&%*U;R`*vQJjKmiJrfVLH-q*(>IxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8EkR}&8R-I5=oVMzl_XZ^<`pZ$OmImpPAEg{v+u2}(t{7puX=A(aKG z`a!A1`K3k4z=%sz23b{L-^Aq1JP;qO z-q+X4Gq1QLF)umQ)5TT^Xo6m5W{Q=WlcS}xg{h&DrIWFtp{t>zi>s5Hv$?6IqmhxB zxseG>uSMv>2~2MaLaz}{y`ZF!TL84#CABECEH%ZgC_h&L>}9J=oNh63!)YE= zZwhX=7~s^a4|I$^C}NQ!8YToxJs>7L*#bH6grAxROzlO$WNn{e6wScE)bHuy7*cVo zCfM5}Bv9htyX0ksayNg>=-eRGqZA-MQ!4LBhPbVmpf0nyt574Wk|S&2+EWQUJsgWd z^P;wJX%>q{J#$(t=9qe{RPV~2*K>Eiul9dFM{=v+$M*iyf6xEi_t~D+iG#&4gK5Ij z2^+Sq6zQHKysmNv!&biA+f2`YX1f3VWZHt~D$`HfE-9a_>2mDxoh}D)W$|v;Ag!s_ z7QD976yZ{tf4*4IHSolX7a3DIj2k&Oa8FAWJYM)?`auJpMVV58p;NhMEc3jfoSd8- z)3Q8X@WmCccO|_(*MhhYPjGkdT(HPv`Q^}~6H<51o_GGl8}*Ibl`CJbWxLD&@rMhu zo^OUnL&6UAPN_&I6Dii-mTseiK5Cowu9PM3(~Fju6jWiH6j|n_*eD}fP<`n@LB3Gu ziZfQN3LFZaS9^tSM;m+R>XzoV$vt?sQT9&d-gIjdcV8pV`^A4R)zgwR^f6o3UQTc80d5hm(61$}F zZeFfSZp;(A<3$gC@af!l^XYha;N`SyR}~)>JKQ$jTlnFojLnRF?fR#fUS+-7n18)) zM`QQ<{q+wX-(kOAxYzUJ|KHNA5wG>iW1VF*Z + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/Languages/Русский.xml b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/Languages/Русский.xml new file mode 100644 index 000000000..37c60d786 --- /dev/null +++ b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/Languages/Русский.xml @@ -0,0 +1,16 @@ + + + + + Русский + + + ru + Русский + + + + ru + + + \ No newline at end of file diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/cfe/Configuration.xml b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/cfe/Configuration.xml new file mode 100644 index 000000000..250ee8d0a --- /dev/null +++ b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/cfe/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-item-pictures-reborrow/cfe/Documents/Расход.xml b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/cfe/Documents/Расход.xml new file mode 100644 index 000000000..8b0e7c4eb --- /dev/null +++ b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/cfe/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-item-pictures-reborrow/cfe/Documents/Расход/Forms/ФормаДокумента.xml b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/cfe/Documents/Расход/Forms/ФормаДокумента.xml new file mode 100644 index 000000000..1c49cbb8c --- /dev/null +++ b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/cfe/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-item-pictures-reborrow/cfe/Documents/Расход/Forms/ФормаДокумента/Ext/Form.xml b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/cfe/Documents/Расход/Forms/ФормаДокумента/Ext/Form.xml new file mode 100644 index 000000000..fadb2b254 --- /dev/null +++ b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/cfe/Documents/Расход/Forms/ФормаДокумента/Ext/Form.xml @@ -0,0 +1,137 @@ + +
+ + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Расход</v8:content> + </v8:item> + + false + + Post + PostAndClose + Write + + DontUse + Regular + false + + + + + + + + + + + + RowsPicture.png + false + + + + + + + + HeaderPicture.png + false + + + ValuesPicture.png + false + + + + + + +
+ + + + + + + + +
+ + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Расход</v8:content> + </v8:item> + + false + + Post + PostAndClose + Write + + DontUse + Regular + false + + + + + + + + + + + + RowsPicture.png + false + + + + + + + + HeaderPicture.png + false + + + ValuesPicture.png + false + + + + + + +
+ + + + + + + + +
+ +
+ \ No newline at end of file diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/cfe/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/Товары/RowsPicture.png b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/cfe/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/Товары/RowsPicture.png new file mode 100644 index 0000000000000000000000000000000000000000..d36e47e45b5f522755658b18272e10673e165fff GIT binary patch literal 5137 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 Bmp}jj literal 0 HcmV?d00001 diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/cfe/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/ТоварыИндексКартинки/ValuesPicture.png b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/cfe/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/ТоварыИндексКартинки/ValuesPicture.png new file mode 100644 index 0000000000000000000000000000000000000000..d7cc10f56a78f5bdb6165e754e42904fa52f1f99 GIT binary patch literal 778 zcmV+l1NHogP)! zTS${(9L9h9+(vD=i8G^v(;0>tCWJ*4k(7xLOYlmm!0@KBs0#}cx-|%5MmL>=uA&13 zF(|qVIt>dkXyu`Xu993hQg{50U6``w`pQ(S2i}YK{l7f#^Stl#@&63W5t^pWm10g1 z7WMRbz#khJJm2(Bnl;R3^WeD#q3FylHFYgDLQhs0aJDuHXj;1%3cJOT(P9Aeirj!X z&*lZSE$F$W?ik4&yOQRPM!@tN8QTUrPad9{7n>9wky7XJef7YvcpL+rCok!pQPSM;ICZWYi&XJ{1Wju< z=496uoH&4eTLmV&1yi;eqs>J0?FX`!2z4mQc0G!OC}$iO@4p}+$}{%QYp%sm*lpWf z4rrhxL5UH4(@XHeO`OMSu~!x#hQe+=4h^{cpbJG+r^n?7U3h(cWD1^cgl27EWVF~) zS_n!4lq6AqKS9rJoGrCjU3Mg!gc$l(tjD3MDqde7lB{y5W)r8bKjNu>i2b`NFbXq2 z*?BcEdGiU7HKP7Lf}T4#TWYWt+dz&^)-?T8M&crs>sE91;VXIqU+C)lMAb$Y4Li$; zWr)zc8ZhVE12KPpnbBq>=(&rtWe--D9i%8INn!)TnDZi2mqp(V;XJY%tLw+jt4UBL#(O?vc38Z690^G#5*KN# zDo0in8mr2Q#6W z&8OGMt^m1H)ai9A@l__|H7`5Q7A=T@#lT07*qo IM6N<$f-rMyjQ{`u literal 0 HcmV?d00001 diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/cfe/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/ФормаОбновитьКартинкой/Picture.png b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/cfe/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/ФормаОбновитьКартинкой/Picture.png new file mode 100644 index 000000000..c0a95623a --- /dev/null +++ b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/cfe/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/ФормаОбновитьКартинкой/Picture.png @@ -0,0 +1 @@ +картинка расширения \ No newline at end of file diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/cfe/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Module.bsl b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/cfe/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Module.bsl new file mode 100644 index 000000000..e69de29bb diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/cfe/Languages/Русский.xml b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/cfe/Languages/Русский.xml new file mode 100644 index 000000000..c21624f52 --- /dev/null +++ b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/cfe/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-item-pictures-reborrow/cfe/Roles/Тест_ОсновнаяРоль.xml b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/cfe/Roles/Тест_ОсновнаяРоль.xml new file mode 100644 index 000000000..ec9dfbaf6 --- /dev/null +++ b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures-reborrow/cfe/Roles/Тест_ОсновнаяРоль.xml @@ -0,0 +1,10 @@ + + + + + Тест_ОсновнаяРоль + + + + + \ No newline at end of file diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/CommonPictures/Пустая.xml b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/CommonPictures/Пустая.xml new file mode 100644 index 000000000..032cc39ae --- /dev/null +++ b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/CommonPictures/Пустая.xml @@ -0,0 +1,17 @@ + + + + + Пустая + + + ru + Пустая + + + + false + false + + + \ No newline at end of file diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/CommonPictures/Пустая/Ext/Picture.xml b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/CommonPictures/Пустая/Ext/Picture.xml new file mode 100644 index 000000000..4dfc28ff2 --- /dev/null +++ b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/CommonPictures/Пустая/Ext/Picture.xml @@ -0,0 +1,7 @@ + + + + Picture.png + false + + \ No newline at end of file diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/CommonPictures/Пустая/Ext/Picture/Picture.png b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/CommonPictures/Пустая/Ext/Picture/Picture.png new file mode 100644 index 0000000000000000000000000000000000000000..96729e159b885d68f678fc6053bd8a170ca1b10b GIT binary patch literal 75 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`LY^*;Ar-fh6C_v{Cy4YgaWF8j X2rw|NckR#t$})Jm`njxgN@xNA05A_g literal 0 HcmV?d00001 diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/Configuration.xml b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/Configuration.xml new file mode 100644 index 000000000..7a8f8041c --- /dev/null +++ b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/Configuration.xml @@ -0,0 +1,253 @@ + + + + + + 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-item-pictures/Documents/Расход.xml b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/Documents/Расход.xml new file mode 100644 index 000000000..8db00264d --- /dev/null +++ b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/Documents/Расход.xml @@ -0,0 +1,265 @@ + + + + + + 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 + Комментарий + + + + + xs:string + + 100 + Variable + + + false + + + + false + + false + false + + + false + + DontCheck + Items + + + Auto + Auto + + + Auto + DontIndex + Use + Use + + +
ФормаДокумента
+ + + + UUID-014 + UUID-015 + + + UUID-016 + UUID-017 + + + + Товары + + + ru + Товары + + + + + DontCheck + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + + + + Количество + + + ru + Количество + + + + + xs:decimal + + 10 + 3 + Any + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + Auto + + + Auto + DontIndex + Use + Use + + + + + ИндексКартинки + + + ru + Индекс картинки + + + + + xs:decimal + + 2 + 0 + Any + + + 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-item-pictures/Documents/Расход/Ext/ObjectModule.bsl b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/Documents/Расход/Ext/ObjectModule.bsl new file mode 100644 index 000000000..e69de29bb diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/Documents/Расход/Forms/ФормаДокумента.xml b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/Documents/Расход/Forms/ФормаДокумента.xml new file mode 100644 index 000000000..21cbf33a8 --- /dev/null +++ b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/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-item-pictures/Documents/Расход/Forms/ФормаДокумента/Ext/Form.xml b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/Documents/Расход/Forms/ФормаДокумента/Ext/Form.xml new file mode 100644 index 000000000..7aca34a37 --- /dev/null +++ b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/Documents/Расход/Forms/ФормаДокумента/Ext/Form.xml @@ -0,0 +1,97 @@ + +
+ + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Расход</v8:content> + </v8:item> + + false + + Post + PostAndClose + Write + + DontUse + Regular + false + + + + + + + + Объект.Комментарий + + + + Объект.Товары + Объект.Товары.ИндексКартинки + + RowsPicture.png + false + + + MoveUp + SortListAsc + + + + Объект.Товары.Количество + + + + Объект.Товары.ИндексКартинки + + HeaderPicture.png + false + + + ValuesPicture.png + false + + + + + + +
+ + + Picture.png + false + + + + + + + CommonPicture.Пустая + true + + + + +
+ + + + cfg:DocumentObject.Расход + + true + true + + + + + +
\ No newline at end of file diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/Логотип/Picture.png b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/Логотип/Picture.png new file mode 100644 index 0000000000000000000000000000000000000000..9270d02ef401ee94873abf06c4baaeec706b3743 GIT binary patch literal 738 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 Bmp}jj literal 0 HcmV?d00001 diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/ТоварыИндексКартинки/ValuesPicture.png b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/ТоварыИндексКартинки/ValuesPicture.png new file mode 100644 index 0000000000000000000000000000000000000000..d7cc10f56a78f5bdb6165e754e42904fa52f1f99 GIT binary patch literal 778 zcmV+l1NHogP)! zTS${(9L9h9+(vD=i8G^v(;0>tCWJ*4k(7xLOYlmm!0@KBs0#}cx-|%5MmL>=uA&13 zF(|qVIt>dkXyu`Xu993hQg{50U6``w`pQ(S2i}YK{l7f#^Stl#@&63W5t^pWm10g1 z7WMRbz#khJJm2(Bnl;R3^WeD#q3FylHFYgDLQhs0aJDuHXj;1%3cJOT(P9Aeirj!X z&*lZSE$F$W?ik4&yOQRPM!@tN8QTUrPad9{7n>9wky7XJef7YvcpL+rCok!pQPSM;ICZWYi&XJ{1Wju< z=496uoH&4eTLmV&1yi;eqs>J0?FX`!2z4mQc0G!OC}$iO@4p}+$}{%QYp%sm*lpWf z4rrhxL5UH4(@XHeO`OMSu~!x#hQe+=4h^{cpbJG+r^n?7U3h(cWD1^cgl27EWVF~) zS_n!4lq6AqKS9rJoGrCjU3Mg!gc$l(tjD3MDqde7lB{y5W)r8bKjNu>i2b`NFbXq2 z*?BcEdGiU7HKP7Lf}T4#TWYWt+dz&^)-?T8M&crs>sE91;VXIqU+C)lMAb$Y4Li$; zWr)zc8ZhVE12KPpnbBq>=(&rtWe--D9i%8INn!)TnDZi2mqp(V;XJY%tLw+jt4UBL#(O?vc38Z690^G#5*KN# zDo0in8mr2Q#6W z&8OGMt^m1H)ai9A@l__|H7`5Q7A=T@#lT07*qo IM6N<$f-rMyjQ{`u literal 0 HcmV?d00001 diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/ФормаОбновитьКартинкой/Picture.png b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/ФормаОбновитьКартинкой/Picture.png new file mode 100644 index 0000000000000000000000000000000000000000..519885bb6259a925f156039cbe4b67b492f0cdab GIT binary patch literal 1563 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+n3Xa^B1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxKsVXI%s|1+P|wiV z#N6CmN5ROz&_Lh7NZ-&%*U;R`*vQJjKmiJrfVLH-q*(>IxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8EkR}&8R-I5=oVMzl_XZ^<`pZ$OmImpPAEg{v+u2}(t{7puX=A(aKG z`a!A1`K3k4z=%sz23b{L-^Aq1JP;qO z-q+X4Gq1QLF)umQ)5TT^Xo6m5W{Q=WlcS}xg{h&DrIWFtp{t>zi>s5Hv$?6IqmhxB zxseG>uSMv>2~2MaLaz}{y`ZF!TL84#CABECEH%ZgC_h&L>}9J=oNh63!)YE= zZwhX=7~s^a4|I$^C}NQ!8YToxJs>7L*#bH6grAxROzlO$WNn{e6wScE)bHuy7*cVo zCfM5}Bv9htyX0ksayNg>=-eRGqZA-MQ!4LBhPbVmpf0nyt574Wk|S&2+EWQUJsgWd z^P;wJX%>q{J#$(t=9qe{RPV~2*K>Eiul9dFM{=v+$M*iyf6xEi_t~D+iG#&4gK5Ij z2^+Sq6zQHKysmNv!&biA+f2`YX1f3VWZHt~D$`HfE-9a_>2mDxoh}D)W$|v;Ag!s_ z7QD976yZ{tf4*4IHSolX7a3DIj2k&Oa8FAWJYM)?`auJpMVV58p;NhMEc3jfoSd8- z)3Q8X@WmCccO|_(*MhhYPjGkdT(HPv`Q^}~6H<51o_GGl8}*Ibl`CJbWxLD&@rMhu zo^OUnL&6UAPN_&I6Dii-mTseiK5Cowu9PM3(~Fju6jWiH6j|n_*eD}fP<`n@LB3Gu ziZfQN3LFZaS9^tSM;m+R>XzoV$vt?sQT9&d-gIjdcV8pV`^A4R)zgwR^f6o3UQTc80d5hm(61$}F zZeFfSZp;(A<3$gC@af!l^XYha;N`SyR}~)>JKQ$jTlnFojLnRF?fR#fUS+-7n18)) zM`QQ<{q+wX-(kOAxYzUJ|KHNA5wG>iW1VF*Z + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/Languages/Русский.xml b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/Languages/Русский.xml new file mode 100644 index 000000000..37c60d786 --- /dev/null +++ b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/Languages/Русский.xml @@ -0,0 +1,16 @@ + + + + + Русский + + + ru + Русский + + + + ru + + + \ No newline at end of file diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/cfe/Configuration.xml b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/cfe/Configuration.xml new file mode 100644 index 000000000..250ee8d0a --- /dev/null +++ b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/cfe/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-item-pictures/cfe/Documents/Расход.xml b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/cfe/Documents/Расход.xml new file mode 100644 index 000000000..8b0e7c4eb --- /dev/null +++ b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/cfe/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-item-pictures/cfe/Documents/Расход/Forms/ФормаДокумента.xml b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/cfe/Documents/Расход/Forms/ФормаДокумента.xml new file mode 100644 index 000000000..1c49cbb8c --- /dev/null +++ b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/cfe/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-item-pictures/cfe/Documents/Расход/Forms/ФормаДокумента/Ext/Form.xml b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/cfe/Documents/Расход/Forms/ФормаДокумента/Ext/Form.xml new file mode 100644 index 000000000..fadb2b254 --- /dev/null +++ b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/cfe/Documents/Расход/Forms/ФормаДокумента/Ext/Form.xml @@ -0,0 +1,137 @@ + +
+ + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Расход</v8:content> + </v8:item> + + false + + Post + PostAndClose + Write + + DontUse + Regular + false + + + + + + + + + + + + RowsPicture.png + false + + + + + + + + HeaderPicture.png + false + + + ValuesPicture.png + false + + + + + + +
+ + + + + + + + +
+ + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Расход</v8:content> + </v8:item> + + false + + Post + PostAndClose + Write + + DontUse + Regular + false + + + + + + + + + + + + RowsPicture.png + false + + + + + + + + HeaderPicture.png + false + + + ValuesPicture.png + false + + + + + + +
+ + + + + + + + +
+ +
+ \ No newline at end of file diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/cfe/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/Товары/RowsPicture.png b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/cfe/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/Товары/RowsPicture.png new file mode 100644 index 0000000000000000000000000000000000000000..d36e47e45b5f522755658b18272e10673e165fff GIT binary patch literal 5137 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 Bmp}jj literal 0 HcmV?d00001 diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/cfe/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/ТоварыИндексКартинки/ValuesPicture.png b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/cfe/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/ТоварыИндексКартинки/ValuesPicture.png new file mode 100644 index 0000000000000000000000000000000000000000..d7cc10f56a78f5bdb6165e754e42904fa52f1f99 GIT binary patch literal 778 zcmV+l1NHogP)! zTS${(9L9h9+(vD=i8G^v(;0>tCWJ*4k(7xLOYlmm!0@KBs0#}cx-|%5MmL>=uA&13 zF(|qVIt>dkXyu`Xu993hQg{50U6``w`pQ(S2i}YK{l7f#^Stl#@&63W5t^pWm10g1 z7WMRbz#khJJm2(Bnl;R3^WeD#q3FylHFYgDLQhs0aJDuHXj;1%3cJOT(P9Aeirj!X z&*lZSE$F$W?ik4&yOQRPM!@tN8QTUrPad9{7n>9wky7XJef7YvcpL+rCok!pQPSM;ICZWYi&XJ{1Wju< z=496uoH&4eTLmV&1yi;eqs>J0?FX`!2z4mQc0G!OC}$iO@4p}+$}{%QYp%sm*lpWf z4rrhxL5UH4(@XHeO`OMSu~!x#hQe+=4h^{cpbJG+r^n?7U3h(cWD1^cgl27EWVF~) zS_n!4lq6AqKS9rJoGrCjU3Mg!gc$l(tjD3MDqde7lB{y5W)r8bKjNu>i2b`NFbXq2 z*?BcEdGiU7HKP7Lf}T4#TWYWt+dz&^)-?T8M&crs>sE91;VXIqU+C)lMAb$Y4Li$; zWr)zc8ZhVE12KPpnbBq>=(&rtWe--D9i%8INn!)TnDZi2mqp(V;XJY%tLw+jt4UBL#(O?vc38Z690^G#5*KN# zDo0in8mr2Q#6W z&8OGMt^m1H)ai9A@l__|H7`5Q7A=T@#lT07*qo IM6N<$f-rMyjQ{`u literal 0 HcmV?d00001 diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/cfe/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/ФормаОбновитьКартинкой/Picture.png b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/cfe/Documents/Расход/Forms/ФормаДокумента/Ext/Form/Items/ФормаОбновитьКартинкой/Picture.png new file mode 100644 index 0000000000000000000000000000000000000000..519885bb6259a925f156039cbe4b67b492f0cdab GIT binary patch literal 1563 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+n3Xa^B1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxKsVXI%s|1+P|wiV z#N6CmN5ROz&_Lh7NZ-&%*U;R`*vQJjKmiJrfVLH-q*(>IxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8EkR}&8R-I5=oVMzl_XZ^<`pZ$OmImpPAEg{v+u2}(t{7puX=A(aKG z`a!A1`K3k4z=%sz23b{L-^Aq1JP;qO z-q+X4Gq1QLF)umQ)5TT^Xo6m5W{Q=WlcS}xg{h&DrIWFtp{t>zi>s5Hv$?6IqmhxB zxseG>uSMv>2~2MaLaz}{y`ZF!TL84#CABECEH%ZgC_h&L>}9J=oNh63!)YE= zZwhX=7~s^a4|I$^C}NQ!8YToxJs>7L*#bH6grAxROzlO$WNn{e6wScE)bHuy7*cVo zCfM5}Bv9htyX0ksayNg>=-eRGqZA-MQ!4LBhPbVmpf0nyt574Wk|S&2+EWQUJsgWd z^P;wJX%>q{J#$(t=9qe{RPV~2*K>Eiul9dFM{=v+$M*iyf6xEi_t~D+iG#&4gK5Ij z2^+Sq6zQHKysmNv!&biA+f2`YX1f3VWZHt~D$`HfE-9a_>2mDxoh}D)W$|v;Ag!s_ z7QD976yZ{tf4*4IHSolX7a3DIj2k&Oa8FAWJYM)?`auJpMVV58p;NhMEc3jfoSd8- z)3Q8X@WmCccO|_(*MhhYPjGkdT(HPv`Q^}~6H<51o_GGl8}*Ibl`CJbWxLD&@rMhu zo^OUnL&6UAPN_&I6Dii-mTseiK5Cowu9PM3(~Fju6jWiH6j|n_*eD}fP<`n@LB3Gu ziZfQN3LFZaS9^tSM;m+R>XzoV$vt?sQT9&d-gIjdcV8pV`^A4R)zgwR^f6o3UQTc80d5hm(61$}F zZeFfSZp;(A<3$gC@af!l^XYha;N`SyR}~)>JKQ$jTlnFojLnRF?fR#fUS+-7n18)) zM`QQ<{q+wX-(kOAxYzUJ|KHNA5wG>iW1VF*Z + + + + + Adopted + Русский + + UUID-002 + ru + + + \ No newline at end of file diff --git a/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/cfe/Roles/Тест_ОсновнаяРоль.xml b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/cfe/Roles/Тест_ОсновнаяРоль.xml new file mode 100644 index 000000000..ec9dfbaf6 --- /dev/null +++ b/tests/skills/cases/cfe-borrow/snapshots/form-item-pictures/cfe/Roles/Тест_ОсновнаяРоль.xml @@ -0,0 +1,10 @@ + + + + + Тест_ОсновнаяРоль + + + + + \ No newline at end of file diff --git a/tests/skills/runner.mjs b/tests/skills/runner.mjs index 1a92b99d4..57b40b36c 100644 --- a/tests/skills/runner.mjs +++ b/tests/skills/runner.mjs @@ -639,6 +639,15 @@ function listFilesRecursive(dir, base = '') { return result.sort(); } +// Двоичный файл (встроенная картинка элемента формы и т.п.) пишется и сверяется байт в байт: +// текстовый путь через UTF-8 портит его (невалидные последовательности → U+FFFD), и сверка +// испорченного с испорченным проходит при любом содержимом. Признак — NUL-байт или байты, +// не переживающие декодирование UTF-8 туда-обратно. +function isBinaryBuffer(buf) { + if (buf.includes(0)) return true; + return !Buffer.from(buf.toString('utf8'), 'utf8').equals(buf); +} + // Строгий режим: отсутствие эталона НЕ проходит молча. Кейс либо сверяется со снэпшотом, // либо явно объявляет `"noSnapshot": "<причина>"`. Иначе потерянный (или не созданный при // добавлении кейса) эталон неотличим от намеренного отсутствия — тест зелёный, а не проверяет ничего. @@ -669,8 +678,17 @@ function compareSnapshot(workDir, snapshotDir, snapshotConfig, caseData) { continue; } - const actualRaw = readFileSync(actualPath, 'utf8'); - const snapshotRaw = readFileSync(snapshotPath, 'utf8'); + const actualBuf = readFileSync(actualPath); + const snapshotBuf = readFileSync(snapshotPath); + if (isBinaryBuffer(actualBuf) || isBinaryBuffer(snapshotBuf)) { + if (!actualBuf.equals(snapshotBuf)) { + diffs.push({ file: relFile, type: 'content', line: '<двоичный>', + expected: `<двоичный файл, ${snapshotBuf.length} байт>`, actual: `<двоичный файл, ${actualBuf.length} байт>` }); + } + continue; + } + const actualRaw = actualBuf.toString('utf8'); + const snapshotRaw = snapshotBuf.toString('utf8'); const actual = normalizeContent(actualRaw, snapshotConfig, relFile); const expected = normalizeContent(snapshotRaw, snapshotConfig, relFile); @@ -742,7 +760,9 @@ function updateSnapshot(workDir, snapshotDir, snapshotConfig, caseData) { const dst = join(snapshotDir, relFile); mkdirSync(dirname(dst), { recursive: true }); - const raw = readFileSync(src, 'utf8'); + const buf = readFileSync(src); + if (isBinaryBuffer(buf)) { writeFileSync(dst, buf); continue; } + const raw = buf.toString('utf8'); const normalized = normalizeContent(raw, snapshotConfig, relFile); writeFileSync(dst, normalized, 'utf8'); }