mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-09-07 18:50:53 +03:00
fix(meta-edit): формы и макеты отданы form-add/template-add, команда приведена к платформенной
Навык регистрировал форму, макет и команду одинаково — узлом с uuid и <Properties>. Платформа так пишет только команду: форма и макет регистрируются голым текстом (<Form>Имя</Form>) и требуют собственных файлов. В корпусе acc_8.3.24 ни одного <Form uuid и <Template uuid, при 81 голом <Template> и 46 <Command uuid. Подменённая конфигурация валила загрузку с уходом 1cv8 в бесконечное выделение памяти. Форму и макет добавляет form-add / template-add (они делают и файл, и запись), удаляет form-remove / template-remove — meta-edit теперь отсылает к ним вместо тихой порчи. Команда осталась за meta-edit: дописаны CommandParameterType, ParameterUseMode, ModifiesData и OnMainServerUnavalableBehavior, плюс заготовка Commands/<Имя>/Ext/CommandModule.bsl (в корпусе модуль есть у всех 97 команд). Заодно: Table в childOrder, и пустой ChildObjects в PS схлопывается в самозакрывающийся, как его пишет платформа (722 из 722 в корпусе) и py-порт. Проверено платформой 8.3.24.1691: загрузка и обновление успешны, обратная выгрузка даёт узел команды и модуль байт в байт (отличие только в отступе). Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01NBsZA5cr2WFThtgp7i5WVi
This commit is contained in:
co-authored by
Claude Opus 5
parent
0dac85946f
commit
7dc401718f
@@ -49,7 +49,7 @@ Batch через `;;` во всех операциях. Подробный си
|
|||||||
| `add-resource` | `Имя: Тип` | `"Сумма: Число(15,2)"` |
|
| `add-resource` | `Имя: Тип` | `"Сумма: Число(15,2)"` |
|
||||||
| `add-enumValue` | `Имя` | `"Значение1 ;; Значение2"` |
|
| `add-enumValue` | `Имя` | `"Значение1 ;; Значение2"` |
|
||||||
| `add-column` | `Имя: Тип` | `"Тип: EnumRef.ТипыДокументов"` |
|
| `add-column` | `Имя: Тип` | `"Тип: EnumRef.ТипыДокументов"` |
|
||||||
| `add-form` / `add-template` / `add-command` | `Имя` | `"ФормаЭлемента"` |
|
| `add-command` | `Имя` | `"ОткрытьДосье"` |
|
||||||
| `add-ts-attribute` | `ТЧ.Имя: Тип` | `"Товары.Скидка: Число(15,2)"` |
|
| `add-ts-attribute` | `ТЧ.Имя: Тип` | `"Товары.Скидка: Число(15,2)"` |
|
||||||
| `remove-*` | `Имя` | `"СтарыйРеквизит ;; ЕщёОдин"` |
|
| `remove-*` | `Имя` | `"СтарыйРеквизит ;; ЕщёОдин"` |
|
||||||
| `remove-ts-attribute` | `ТЧ.Имя` | `"Товары.УстаревшийРекв"` |
|
| `remove-ts-attribute` | `ТЧ.Имя` | `"Товары.УстаревшийРекв"` |
|
||||||
@@ -59,6 +59,9 @@ Batch через `;;` во всех операциях. Подробный си
|
|||||||
|
|
||||||
Позиционная вставка: `"Склад: CatalogRef.Склады >> after Организация"`.
|
Позиционная вставка: `"Склад: CatalogRef.Склады >> after Организация"`.
|
||||||
|
|
||||||
|
Форма — `form-add` / `form-remove`, макет — `template-add` / `template-remove`: кроме записи в `ChildObjects`
|
||||||
|
у них есть собственные файлы, и `meta-edit` их не трогает.
|
||||||
|
|
||||||
`modify-attribute` умеет и структурные свойства реквизита — формат/подсказку, форму и параметры выбора,
|
`modify-attribute` умеет и структурные свойства реквизита — формат/подсказку, форму и параметры выбора,
|
||||||
значение заполнения, границы (`Format`, `ChoiceForm`, `ChoiceParameters`, `FillValue`, `MinValue`/`MaxValue` и др.).
|
значение заполнения, границы (`Format`, `ChoiceForm`, `ChoiceParameters`, `FillValue`, `MinValue`/`MaxValue` и др.).
|
||||||
|
|
||||||
|
|||||||
@@ -133,16 +133,19 @@ JSON — строки и/или объекты (для групп с вложе
|
|||||||
Ключи объекта: `name`, `code`, `description`, `isFolder`, `childItems` (дерево). Тип кода (строковый/числовой)
|
Ключи объекта: `name`, `code`, `description`, `isFolder`, `childItems` (дерево). Тип кода (строковый/числовой)
|
||||||
берётся из объекта автоматически.
|
берётся из объекта автоматически.
|
||||||
|
|
||||||
## add-enumValue / add-form / add-template / add-command
|
## add-enumValue / add-command
|
||||||
|
|
||||||
Просто имена (batch через `;;`):
|
Просто имена (batch через `;;`):
|
||||||
```powershell
|
```powershell
|
||||||
-Operation add-enumValue -Value "Значение1 ;; Значение2 ;; Значение3"
|
-Operation add-enumValue -Value "Значение1 ;; Значение2 ;; Значение3"
|
||||||
-Operation add-form -Value "ФормаЭлемента ;; ФормаСписка"
|
|
||||||
-Operation add-template -Value "ПечатнаяФорма"
|
|
||||||
-Operation add-command -Value "Команда1"
|
-Operation add-command -Value "Команда1"
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Команда создаётся вместе с заготовкой модуля `Commands/<Имя>/Ext/CommandModule.bsl`.
|
||||||
|
|
||||||
|
Формы и макеты этот навык не добавляет и не удаляет — у них есть собственные файлы:
|
||||||
|
`form-add` / `form-remove` и `template-add` / `template-remove`.
|
||||||
|
|
||||||
## remove-*
|
## remove-*
|
||||||
|
|
||||||
Имя элемента (или несколько через `;;`):
|
Имя элемента (или несколько через `;;`):
|
||||||
|
|||||||
@@ -22,8 +22,7 @@ powershell.exe -NoProfile -File ${CLAUDE_SKILL_DIR}/scripts/meta-edit.ps1 -Defin
|
|||||||
{ "name": "Количество", "type": "Число(15,3)" }
|
{ "name": "Количество", "type": "Число(15,3)" }
|
||||||
]
|
]
|
||||||
}],
|
}],
|
||||||
"forms": ["ФормаЭлемента"],
|
"commands": ["Пересчитать"]
|
||||||
"templates": ["ПечатнаяФорма"]
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
@@ -120,6 +119,9 @@ powershell.exe -NoProfile -File ${CLAUDE_SKILL_DIR}/scripts/meta-edit.ps1 -Defin
|
|||||||
| commands | команды |
|
| commands | команды |
|
||||||
| properties | свойства |
|
| properties | свойства |
|
||||||
|
|
||||||
|
Формы и макеты `meta-edit` не добавляет и не удаляет: кроме записи в `ChildObjects` у них есть собственные файлы.
|
||||||
|
Форма — `form-add` / `form-remove`, макет — `template-add` / `template-remove`. Команда файла не имеет — её `meta-edit` добавляет сам.
|
||||||
|
|
||||||
## Составные типы
|
## Составные типы
|
||||||
|
|
||||||
Для полей с несколькими допустимыми типами — массив в `type`:
|
Для полей с несколькими допустимыми типами — массив в `type`:
|
||||||
@@ -141,8 +143,11 @@ powershell.exe -NoProfile -File ${CLAUDE_SKILL_DIR}/scripts/meta-edit.ps1 -Defin
|
|||||||
|
|
||||||
| Тип объекта | Допустимые add-типы |
|
| Тип объекта | Допустимые add-типы |
|
||||||
|-------------|-------------------|
|
|-------------|-------------------|
|
||||||
| Catalog, Document, ExchangePlan, ChartOf*, BP, Task, Report, DP | attributes, tabularSections, forms, templates, commands |
|
| Catalog, Document, ExchangePlan, ChartOf*, BP, Task, Report, DP | attributes, tabularSections, commands |
|
||||||
| Enum | enumValues, forms, templates, commands |
|
| Enum | enumValues, commands |
|
||||||
| *Register (4 типа) | dimensions, resources, attributes, forms, templates, commands |
|
| *Register (4 типа) | dimensions, resources, attributes, commands |
|
||||||
| DocumentJournal | columns, forms, templates, commands |
|
| DocumentJournal | columns, commands |
|
||||||
| Constant | forms |
|
| ExternalDataSource | tables, functions |
|
||||||
|
| Table (таблица внешнего источника) | fields, commands |
|
||||||
|
|
||||||
|
У `Constant` добавлять нечего: единственный её ребёнок — форма, а форму добавляет `form-add`.
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# meta-edit v1.47 — Edit existing 1C metadata object XML
|
# meta-edit v1.48 — Edit existing 1C metadata object XML
|
||||||
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
|
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
|
||||||
[CmdletBinding(PositionalBinding=$false)]
|
[CmdletBinding(PositionalBinding=$false)]
|
||||||
param(
|
param(
|
||||||
@@ -904,6 +904,9 @@ function Collapse-ChildObjectsIfEmpty {
|
|||||||
while ($script:childObjectsEl.HasChildNodes) {
|
while ($script:childObjectsEl.HasChildNodes) {
|
||||||
$script:childObjectsEl.RemoveChild($script:childObjectsEl.FirstChild) | Out-Null
|
$script:childObjectsEl.RemoveChild($script:childObjectsEl.FirstChild) | Out-Null
|
||||||
}
|
}
|
||||||
|
# XmlDocument помнит, что у узла были дети, и пишет <ChildObjects></ChildObjects>.
|
||||||
|
# Платформа и py-порт дают <ChildObjects/> — сбрасываем флаг явно.
|
||||||
|
$script:childObjectsEl.IsEmpty = $true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1458,35 +1461,29 @@ function Build-ColumnFragment {
|
|||||||
return $sb.ToString()
|
return $sb.ToString()
|
||||||
}
|
}
|
||||||
|
|
||||||
function Build-SimpleChildFragment {
|
function Build-CommandFragment {
|
||||||
param([string]$tagName, [string]$name, [string]$indent)
|
param([string]$name, [string]$indent)
|
||||||
# For Form, Template, Command — just a name wrapper
|
# Команда объекта описывается целиком внутри ChildObjects (отдельного файла у неё нет).
|
||||||
|
# Порядок свойств платформенный — переставлять нельзя.
|
||||||
$uuid = New-Guid-String
|
$uuid = New-Guid-String
|
||||||
$synonym = Split-CamelCase $name
|
$synonym = Split-CamelCase $name
|
||||||
$sb = New-Object System.Text.StringBuilder
|
$sb = New-Object System.Text.StringBuilder
|
||||||
$sb.AppendLine("$indent<$tagName uuid=`"$uuid`">") | Out-Null
|
$sb.AppendLine("$indent<Command uuid=`"$uuid`">") | Out-Null
|
||||||
$sb.AppendLine("$indent`t<Properties>") | Out-Null
|
$sb.AppendLine("$indent`t<Properties>") | Out-Null
|
||||||
$sb.AppendLine("$indent`t`t<Name>$(Esc-XmlText $name)</Name>") | Out-Null
|
$sb.AppendLine("$indent`t`t<Name>$(Esc-XmlText $name)</Name>") | Out-Null
|
||||||
$sb.AppendLine($(Build-MLTextXml "$indent`t`t" "Synonym" $synonym)) | Out-Null
|
$sb.AppendLine($(Build-MLTextXml "$indent`t`t" "Synonym" $synonym)) | Out-Null
|
||||||
$sb.AppendLine("$indent`t`t<Comment/>") | Out-Null
|
$sb.AppendLine("$indent`t`t<Comment/>") | Out-Null
|
||||||
# Forms get additional properties
|
$sb.AppendLine("$indent`t`t<Group>FormNavigationPanelGoTo</Group>") | Out-Null
|
||||||
if ($tagName -eq "Form") {
|
$sb.AppendLine("$indent`t`t<CommandParameterType/>") | Out-Null
|
||||||
$sb.AppendLine("$indent`t`t<FormType>Ordinary</FormType>") | Out-Null
|
$sb.AppendLine("$indent`t`t<ParameterUseMode>Single</ParameterUseMode>") | Out-Null
|
||||||
$sb.AppendLine("$indent`t`t<IncludeHelpInContents>false</IncludeHelpInContents>") | Out-Null
|
$sb.AppendLine("$indent`t`t<ModifiesData>false</ModifiesData>") | Out-Null
|
||||||
$sb.AppendLine("$indent`t`t<UsePurposes/>") | Out-Null
|
$sb.AppendLine("$indent`t`t<Representation>Auto</Representation>") | Out-Null
|
||||||
}
|
$sb.AppendLine("$indent`t`t<ToolTip/>") | Out-Null
|
||||||
if ($tagName -eq "Template") {
|
$sb.AppendLine("$indent`t`t<Picture/>") | Out-Null
|
||||||
$sb.AppendLine("$indent`t`t<TemplateType>SpreadsheetDocument</TemplateType>") | Out-Null
|
$sb.AppendLine("$indent`t`t<Shortcut/>") | Out-Null
|
||||||
}
|
$sb.AppendLine("$indent`t`t<OnMainServerUnavalableBehavior>Auto</OnMainServerUnavalableBehavior>") | Out-Null
|
||||||
if ($tagName -eq "Command") {
|
|
||||||
$sb.AppendLine("$indent`t`t<Group>FormNavigationPanelGoTo</Group>") | Out-Null
|
|
||||||
$sb.AppendLine("$indent`t`t<Representation>Auto</Representation>") | Out-Null
|
|
||||||
$sb.AppendLine("$indent`t`t<ToolTip/>") | Out-Null
|
|
||||||
$sb.AppendLine("$indent`t`t<Picture/>") | Out-Null
|
|
||||||
$sb.AppendLine("$indent`t`t<Shortcut/>") | Out-Null
|
|
||||||
}
|
|
||||||
$sb.AppendLine("$indent`t</Properties>") | Out-Null
|
$sb.AppendLine("$indent`t</Properties>") | Out-Null
|
||||||
$sb.Append("$indent</$tagName>") | Out-Null
|
$sb.Append("$indent</Command>") | Out-Null
|
||||||
return $sb.ToString()
|
return $sb.ToString()
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1576,7 +1573,7 @@ $script:validChildTypes = @{
|
|||||||
|
|
||||||
# Canonical child order in ChildObjects
|
# Canonical child order in ChildObjects
|
||||||
$script:childOrder = @(
|
$script:childOrder = @(
|
||||||
"Resource", "Dimension", "Attribute", "TabularSection", "Field", "Function",
|
"Resource", "Dimension", "Attribute", "TabularSection", "Field", "Table", "Function",
|
||||||
"AccountingFlag", "ExtDimensionAccountingFlag",
|
"AccountingFlag", "ExtDimensionAccountingFlag",
|
||||||
"EnumValue", "Column", "AddressingAttribute", "Recalculation",
|
"EnumValue", "Column", "AddressingAttribute", "Recalculation",
|
||||||
"Form", "Template", "Command"
|
"Form", "Template", "Command"
|
||||||
@@ -2421,24 +2418,36 @@ function Process-Add($addDef) {
|
|||||||
$existingNames[$colName] = "Column"
|
$existingNames[$colName] = "Column"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
{ $_ -in @("forms","templates","commands") } {
|
{ $_ -in @("forms","templates") } {
|
||||||
$tagMap = @{ "forms" = "Form"; "templates" = "Template"; "commands" = "Command" }
|
# Форма и макет регистрируются голым текстом (<Form>Имя</Form>) и требуют ещё и
|
||||||
$tag = $tagMap[$childType]
|
# собственных файлов. И то и другое делают form-add / template-add — дублировать
|
||||||
|
# эту ответственность здесь нельзя: получится висячая регистрация без файла.
|
||||||
|
$skillName = if ($childType -eq "forms") { "form-add" } else { "template-add" }
|
||||||
|
$whatName = if ($childType -eq "forms") { "Форму" } else { "Макет" }
|
||||||
|
Warn "$whatName добавляет навык $skillName (он создаёт и файл, и запись в ChildObjects). meta-edit этого не делает — операция пропущена."
|
||||||
|
}
|
||||||
|
"commands" {
|
||||||
foreach ($item in $items) {
|
foreach ($item in $items) {
|
||||||
$itemName = if ($item -is [string]) { "$item" } else { "$($item.name)" }
|
$itemName = if ($item -is [string]) { "$item" } else { "$($item.name)" }
|
||||||
if ($existingNames.ContainsKey($itemName)) {
|
if ($existingNames.ContainsKey($itemName)) {
|
||||||
Warn "$tag '$itemName' already exists, skipping"
|
Warn "Command '$itemName' already exists, skipping"
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
$fragmentXml = Build-SimpleChildFragment $tag $itemName $indent
|
# У команды есть модуль обработчика (Commands/<Имя>/Ext/CommandModule.bsl) — в корпусе
|
||||||
|
# он есть у всех команд без исключения. Пишем ту же заготовку, что и meta-compile.
|
||||||
|
$cmdExtDir = Join-Path (Join-Path (Join-Path (Join-Path (Split-Path -Parent $resolvedPath) $script:objName) "Commands") $itemName) "Ext"
|
||||||
|
$cmdModPath = Join-Path $cmdExtDir "CommandModule.bsl"
|
||||||
|
if (-not (Test-Path $cmdExtDir)) { New-Item -ItemType Directory -Path $cmdExtDir -Force | Out-Null }
|
||||||
|
[System.IO.File]::WriteAllText($cmdModPath, "&НаКлиенте`r`nПроцедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)`r`n`r`n`t// Вставьте обработчик команды.`r`n`r`nКонецПроцедуры`r`n", (New-Object System.Text.UTF8Encoding($true)))
|
||||||
|
$fragmentXml = Build-CommandFragment $itemName $indent
|
||||||
$nodes = Import-Fragment $fragmentXml
|
$nodes = Import-Fragment $fragmentXml
|
||||||
$refNode = Find-InsertionPoint $tag @{ after = ""; before = "" }
|
$refNode = Find-InsertionPoint "Command" @{ after = ""; before = "" }
|
||||||
foreach ($node in $nodes) {
|
foreach ($node in $nodes) {
|
||||||
Insert-BeforeElement $script:childObjectsEl $node $refNode $indent
|
Insert-BeforeElement $script:childObjectsEl $node $refNode $indent
|
||||||
}
|
}
|
||||||
Info "Added $($tag.ToLower()): $itemName"
|
Info "Added command: $itemName ($cmdModPath)"
|
||||||
$script:addCount++
|
$script:addCount++
|
||||||
$existingNames[$itemName] = $tag
|
$existingNames[$itemName] = "Command"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2463,6 +2472,13 @@ function Process-Remove($removeDef) {
|
|||||||
Warn "Cannot remove properties — use modify instead"
|
Warn "Cannot remove properties — use modify instead"
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
if ($childType -in @("forms","templates")) {
|
||||||
|
# Снять регистрацию мало — надо удалить и файлы; это делают form-remove / template-remove.
|
||||||
|
$skillName = if ($childType -eq "forms") { "form-remove" } else { "template-remove" }
|
||||||
|
$whatName = if ($childType -eq "forms") { "Форму" } else { "Макет" }
|
||||||
|
Warn "$whatName удаляет навык $skillName (он убирает и файлы, и запись в ChildObjects). meta-edit этого не делает — операция пропущена."
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
$xmlTag = $script:childTypeToXmlTag[$childType]
|
$xmlTag = $script:childTypeToXmlTag[$childType]
|
||||||
if (-not $xmlTag -or -not $script:childObjectsEl) {
|
if (-not $xmlTag -or -not $script:childObjectsEl) {
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
# meta-edit v1.47 — Edit existing 1C metadata object XML
|
# meta-edit v1.48 — Edit existing 1C metadata object XML
|
||||||
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
|
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
|
||||||
|
|
||||||
import argparse
|
import argparse
|
||||||
@@ -1478,34 +1478,32 @@ def build_column_fragment(col_def, indent):
|
|||||||
return "\r\n".join(lines)
|
return "\r\n".join(lines)
|
||||||
|
|
||||||
|
|
||||||
def build_simple_child_fragment(tag_name, name, indent):
|
def build_command_fragment(name, indent):
|
||||||
"""Build XML fragment for Form, Template, Command -- just a name wrapper."""
|
"""Build XML fragment for a Command (it has no separate file -- all inline).
|
||||||
|
|
||||||
|
Property order is the platform's -- do not reorder.
|
||||||
|
"""
|
||||||
uid = new_uuid()
|
uid = new_uuid()
|
||||||
synonym = split_camel_case(name)
|
synonym = split_camel_case(name)
|
||||||
lines = []
|
lines = []
|
||||||
lines.append(f'{indent}<{tag_name} uuid="{uid}">')
|
lines.append(f'{indent}<Command uuid="{uid}">')
|
||||||
lines.append(f"{indent}\t<Properties>")
|
lines.append(f"{indent}\t<Properties>")
|
||||||
lines.append(f"{indent}\t\t<Name>{esc_xml_text(name)}</Name>")
|
lines.append(f"{indent}\t\t<Name>{esc_xml_text(name)}</Name>")
|
||||||
lines.append(build_mltext_xml(f"{indent}\t\t", "Synonym", synonym))
|
lines.append(build_mltext_xml(f"{indent}\t\t", "Synonym", synonym))
|
||||||
lines.append(f"{indent}\t\t<Comment/>")
|
lines.append(f"{indent}\t\t<Comment/>")
|
||||||
# Forms get additional properties
|
lines.append(f"{indent}\t\t<Group>FormNavigationPanelGoTo</Group>")
|
||||||
if tag_name == "Form":
|
lines.append(f"{indent}\t\t<CommandParameterType/>")
|
||||||
lines.append(f"{indent}\t\t<FormType>Ordinary</FormType>")
|
lines.append(f"{indent}\t\t<ParameterUseMode>Single</ParameterUseMode>")
|
||||||
lines.append(f"{indent}\t\t<IncludeHelpInContents>false</IncludeHelpInContents>")
|
lines.append(f"{indent}\t\t<ModifiesData>false</ModifiesData>")
|
||||||
lines.append(f"{indent}\t\t<UsePurposes/>")
|
lines.append(f"{indent}\t\t<Representation>Auto</Representation>")
|
||||||
if tag_name == "Template":
|
lines.append(f"{indent}\t\t<ToolTip/>")
|
||||||
lines.append(f"{indent}\t\t<TemplateType>SpreadsheetDocument</TemplateType>")
|
lines.append(f"{indent}\t\t<Picture/>")
|
||||||
if tag_name == "Command":
|
lines.append(f"{indent}\t\t<Shortcut/>")
|
||||||
lines.append(f"{indent}\t\t<Group>FormNavigationPanelGoTo</Group>")
|
lines.append(f"{indent}\t\t<OnMainServerUnavalableBehavior>Auto</OnMainServerUnavalableBehavior>")
|
||||||
lines.append(f"{indent}\t\t<Representation>Auto</Representation>")
|
|
||||||
lines.append(f"{indent}\t\t<ToolTip/>")
|
|
||||||
lines.append(f"{indent}\t\t<Picture/>")
|
|
||||||
lines.append(f"{indent}\t\t<Shortcut/>")
|
|
||||||
lines.append(f"{indent}\t</Properties>")
|
lines.append(f"{indent}\t</Properties>")
|
||||||
lines.append(f"{indent}</{tag_name}>")
|
lines.append(f"{indent}</Command>")
|
||||||
return "\r\n".join(lines)
|
return "\r\n".join(lines)
|
||||||
|
|
||||||
|
|
||||||
# ============================================================
|
# ============================================================
|
||||||
# Name uniqueness check
|
# Name uniqueness check
|
||||||
# ============================================================
|
# ============================================================
|
||||||
@@ -1567,7 +1565,7 @@ valid_child_types = {
|
|||||||
|
|
||||||
# Canonical child order in ChildObjects
|
# Canonical child order in ChildObjects
|
||||||
child_order = [
|
child_order = [
|
||||||
"Resource", "Dimension", "Attribute", "TabularSection", "Field", "Function",
|
"Resource", "Dimension", "Attribute", "TabularSection", "Field", "Table", "Function",
|
||||||
"AccountingFlag", "ExtDimensionAccountingFlag",
|
"AccountingFlag", "ExtDimensionAccountingFlag",
|
||||||
"EnumValue", "Column", "AddressingAttribute", "Recalculation",
|
"EnumValue", "Column", "AddressingAttribute", "Recalculation",
|
||||||
"Form", "Template", "Command",
|
"Form", "Template", "Command",
|
||||||
@@ -2350,26 +2348,42 @@ def process_add(add_def):
|
|||||||
add_count += 1
|
add_count += 1
|
||||||
existing_names[col_name] = "Column"
|
existing_names[col_name] = "Column"
|
||||||
|
|
||||||
elif child_type in ("forms", "templates", "commands"):
|
elif child_type in ("forms", "templates"):
|
||||||
tag_map = {"forms": "Form", "templates": "Template", "commands": "Command"}
|
# Форма и макет регистрируются голым текстом (<Form>Имя</Form>) и требуют ещё и
|
||||||
tag = tag_map[child_type]
|
# собственных файлов. И то и другое делают form-add / template-add -- дублировать
|
||||||
|
# эту ответственность здесь нельзя: получится висячая регистрация без файла.
|
||||||
|
skill_name = "form-add" if child_type == "forms" else "template-add"
|
||||||
|
what_name = "Форму" if child_type == "forms" else "Макет"
|
||||||
|
warn(
|
||||||
|
f"{what_name} добавляет навык {skill_name} "
|
||||||
|
"(он создаёт и файл, и запись в ChildObjects). "
|
||||||
|
"meta-edit этого не делает — операция пропущена."
|
||||||
|
)
|
||||||
|
|
||||||
|
elif child_type == "commands":
|
||||||
for item in items:
|
for item in items:
|
||||||
if isinstance(item, str):
|
if isinstance(item, str):
|
||||||
item_name = item
|
item_name = item
|
||||||
else:
|
else:
|
||||||
item_name = str(item.get("name", ""))
|
item_name = str(item.get("name", ""))
|
||||||
if item_name in existing_names:
|
if item_name in existing_names:
|
||||||
warn(f"{tag} '{item_name}' already exists, skipping")
|
warn(f"Command '{item_name}' already exists, skipping")
|
||||||
continue
|
continue
|
||||||
fragment_xml = build_simple_child_fragment(tag, item_name, indent)
|
# У команды есть модуль обработчика (Commands/<Имя>/Ext/CommandModule.bsl) — в корпусе
|
||||||
|
# он есть у всех команд без исключения. Пишем ту же заготовку, что и meta-compile.
|
||||||
|
cmd_ext_dir = os.path.join(os.path.dirname(resolved_path), obj_name, "Commands", item_name, "Ext")
|
||||||
|
cmd_mod_path = os.path.join(cmd_ext_dir, "CommandModule.bsl")
|
||||||
|
os.makedirs(cmd_ext_dir, exist_ok=True)
|
||||||
|
with open(cmd_mod_path, "w", encoding="utf-8-sig", newline="") as fh:
|
||||||
|
fh.write("&НаКлиенте\r\nПроцедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)\r\n\r\n\t// Вставьте обработчик команды.\r\n\r\nКонецПроцедуры\r\n")
|
||||||
|
fragment_xml = build_command_fragment(item_name, indent)
|
||||||
nodes = import_fragment(fragment_xml)
|
nodes = import_fragment(fragment_xml)
|
||||||
ref_node = find_insertion_point(tag, {"after": "", "before": ""})
|
ref_node = find_insertion_point("Command", {"after": "", "before": ""})
|
||||||
for node in nodes:
|
for node in nodes:
|
||||||
insert_before_element(child_objects_el, node, ref_node, indent)
|
insert_before_element(child_objects_el, node, ref_node, indent)
|
||||||
info(f"Added {tag.lower()}: {item_name}")
|
info(f"Added command: {item_name} ({cmd_mod_path})")
|
||||||
add_count += 1
|
add_count += 1
|
||||||
existing_names[item_name] = tag
|
existing_names[item_name] = "Command"
|
||||||
|
|
||||||
|
|
||||||
# ============================================================
|
# ============================================================
|
||||||
# REMOVE operations
|
# REMOVE operations
|
||||||
@@ -2388,6 +2402,16 @@ def process_remove(remove_def):
|
|||||||
if child_type == "properties":
|
if child_type == "properties":
|
||||||
warn("Cannot remove properties -- use modify instead")
|
warn("Cannot remove properties -- use modify instead")
|
||||||
continue
|
continue
|
||||||
|
if child_type in ("forms", "templates"):
|
||||||
|
# Снять регистрацию мало — надо удалить и файлы; это делают form-remove / template-remove.
|
||||||
|
skill_name = "form-remove" if child_type == "forms" else "template-remove"
|
||||||
|
what_name = "Форму" if child_type == "forms" else "Макет"
|
||||||
|
warn(
|
||||||
|
f"{what_name} удаляет навык {skill_name} "
|
||||||
|
"(он убирает и файлы, и запись в ChildObjects). "
|
||||||
|
"meta-edit этого не делает — операция пропущена."
|
||||||
|
)
|
||||||
|
continue
|
||||||
|
|
||||||
xml_tag = child_type_to_xml_tag.get(child_type)
|
xml_tag = child_type_to_xml_tag.get(child_type)
|
||||||
if not xml_tag or child_objects_el is None:
|
if not xml_tag or child_objects_el is None:
|
||||||
|
|||||||
@@ -0,0 +1,45 @@
|
|||||||
|
{
|
||||||
|
"name": "Команда объекта добавляется целиком (файла у неё нет)",
|
||||||
|
"preRun": [
|
||||||
|
{
|
||||||
|
"script": "meta-compile/scripts/meta-compile",
|
||||||
|
"input": {
|
||||||
|
"type": "Catalog",
|
||||||
|
"name": "Контрагенты"
|
||||||
|
},
|
||||||
|
"args": {
|
||||||
|
"-JsonPath": "{inputFile}",
|
||||||
|
"-OutputDir": "{workDir}"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"params": {
|
||||||
|
"objectPath": "Catalogs/Контрагенты"
|
||||||
|
},
|
||||||
|
"input": {
|
||||||
|
"add": {
|
||||||
|
"commands": [
|
||||||
|
"ОткрытьДосье"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"expect": {
|
||||||
|
"stdoutContains": [
|
||||||
|
"Added command: ОткрытьДосье"
|
||||||
|
],
|
||||||
|
"fileContains": [
|
||||||
|
{
|
||||||
|
"file": "Catalogs/Контрагенты.xml",
|
||||||
|
"text": [
|
||||||
|
"<Command uuid=",
|
||||||
|
"<ParameterUseMode>Single</ParameterUseMode>",
|
||||||
|
"<ModifiesData>false</ModifiesData>",
|
||||||
|
"<OnMainServerUnavalableBehavior>Auto</OnMainServerUnavalableBehavior>"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"files": [
|
||||||
|
"Catalogs/Контрагенты/Commands/ОткрытьДосье/Ext/CommandModule.bsl"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
{
|
||||||
|
"name": "Формы и макеты meta-edit не регистрирует — отсылает к form-add/template-add",
|
||||||
|
"preRun": [
|
||||||
|
{
|
||||||
|
"script": "meta-compile/scripts/meta-compile",
|
||||||
|
"input": { "type": "Catalog", "name": "Контрагенты" },
|
||||||
|
"args": { "-JsonPath": "{inputFile}", "-OutputDir": "{workDir}" }
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"params": { "objectPath": "Catalogs/Контрагенты" },
|
||||||
|
"input": {
|
||||||
|
"add": { "forms": ["ФормаЭлемента"], "templates": ["ПечатнаяФорма"] },
|
||||||
|
"remove": { "forms": ["ФормаСписка"] }
|
||||||
|
},
|
||||||
|
"expect": {
|
||||||
|
"stdoutContains": ["form-add", "template-add", "form-remove"],
|
||||||
|
"fileNotContains": [
|
||||||
|
{
|
||||||
|
"file": "Catalogs/Контрагенты.xml",
|
||||||
|
"text": ["<Form", "<Template"]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,113 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.17">
|
||||||
|
<Catalog uuid="UUID-001">
|
||||||
|
<InternalInfo>
|
||||||
|
<xr:GeneratedType name="CatalogObject.Контрагенты" category="Object">
|
||||||
|
<xr:TypeId>UUID-002</xr:TypeId>
|
||||||
|
<xr:ValueId>UUID-003</xr:ValueId>
|
||||||
|
</xr:GeneratedType>
|
||||||
|
<xr:GeneratedType name="CatalogRef.Контрагенты" category="Ref">
|
||||||
|
<xr:TypeId>UUID-004</xr:TypeId>
|
||||||
|
<xr:ValueId>UUID-005</xr:ValueId>
|
||||||
|
</xr:GeneratedType>
|
||||||
|
<xr:GeneratedType name="CatalogSelection.Контрагенты" category="Selection">
|
||||||
|
<xr:TypeId>UUID-006</xr:TypeId>
|
||||||
|
<xr:ValueId>UUID-007</xr:ValueId>
|
||||||
|
</xr:GeneratedType>
|
||||||
|
<xr:GeneratedType name="CatalogList.Контрагенты" category="List">
|
||||||
|
<xr:TypeId>UUID-008</xr:TypeId>
|
||||||
|
<xr:ValueId>UUID-009</xr:ValueId>
|
||||||
|
</xr:GeneratedType>
|
||||||
|
<xr:GeneratedType name="CatalogManager.Контрагенты" category="Manager">
|
||||||
|
<xr:TypeId>UUID-010</xr:TypeId>
|
||||||
|
<xr:ValueId>UUID-011</xr:ValueId>
|
||||||
|
</xr:GeneratedType>
|
||||||
|
</InternalInfo>
|
||||||
|
<Properties>
|
||||||
|
<Name>Контрагенты</Name>
|
||||||
|
<Synonym>
|
||||||
|
<v8:item>
|
||||||
|
<v8:lang>ru</v8:lang>
|
||||||
|
<v8:content>Контрагенты</v8:content>
|
||||||
|
</v8:item>
|
||||||
|
</Synonym>
|
||||||
|
<Comment/>
|
||||||
|
<Hierarchical>false</Hierarchical>
|
||||||
|
<HierarchyType>HierarchyFoldersAndItems</HierarchyType>
|
||||||
|
<LimitLevelCount>false</LimitLevelCount>
|
||||||
|
<LevelCount>2</LevelCount>
|
||||||
|
<FoldersOnTop>true</FoldersOnTop>
|
||||||
|
<UseStandardCommands>true</UseStandardCommands>
|
||||||
|
<Owners/>
|
||||||
|
<SubordinationUse>ToItems</SubordinationUse>
|
||||||
|
<CodeLength>9</CodeLength>
|
||||||
|
<DescriptionLength>25</DescriptionLength>
|
||||||
|
<CodeType>String</CodeType>
|
||||||
|
<CodeAllowedLength>Variable</CodeAllowedLength>
|
||||||
|
<CodeSeries>WholeCatalog</CodeSeries>
|
||||||
|
<CheckUnique>false</CheckUnique>
|
||||||
|
<Autonumbering>true</Autonumbering>
|
||||||
|
<DefaultPresentation>AsDescription</DefaultPresentation>
|
||||||
|
<Characteristics/>
|
||||||
|
<PredefinedDataUpdate>Auto</PredefinedDataUpdate>
|
||||||
|
<EditType>InDialog</EditType>
|
||||||
|
<QuickChoice>false</QuickChoice>
|
||||||
|
<ChoiceMode>BothWays</ChoiceMode>
|
||||||
|
<InputByString>
|
||||||
|
<xr:Field>Catalog.Контрагенты.StandardAttribute.Description</xr:Field>
|
||||||
|
<xr:Field>Catalog.Контрагенты.StandardAttribute.Code</xr:Field>
|
||||||
|
</InputByString>
|
||||||
|
<SearchStringModeOnInputByString>Begin</SearchStringModeOnInputByString>
|
||||||
|
<FullTextSearchOnInputByString>DontUse</FullTextSearchOnInputByString>
|
||||||
|
<ChoiceDataGetModeOnInputByString>Directly</ChoiceDataGetModeOnInputByString>
|
||||||
|
<DefaultObjectForm/>
|
||||||
|
<DefaultFolderForm/>
|
||||||
|
<DefaultListForm/>
|
||||||
|
<DefaultChoiceForm/>
|
||||||
|
<DefaultFolderChoiceForm/>
|
||||||
|
<AuxiliaryObjectForm/>
|
||||||
|
<AuxiliaryFolderForm/>
|
||||||
|
<AuxiliaryListForm/>
|
||||||
|
<AuxiliaryChoiceForm/>
|
||||||
|
<AuxiliaryFolderChoiceForm/>
|
||||||
|
<IncludeHelpInContents>false</IncludeHelpInContents>
|
||||||
|
<BasedOn/>
|
||||||
|
<DataLockFields/>
|
||||||
|
<DataLockControlMode>Managed</DataLockControlMode>
|
||||||
|
<FullTextSearch>Use</FullTextSearch>
|
||||||
|
<ObjectPresentation/>
|
||||||
|
<ExtendedObjectPresentation/>
|
||||||
|
<ListPresentation/>
|
||||||
|
<ExtendedListPresentation/>
|
||||||
|
<Explanation/>
|
||||||
|
<CreateOnInput>Use</CreateOnInput>
|
||||||
|
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
|
||||||
|
<DataHistory>DontUse</DataHistory>
|
||||||
|
<UpdateDataHistoryImmediatelyAfterWrite>false</UpdateDataHistoryImmediatelyAfterWrite>
|
||||||
|
<ExecuteAfterWriteDataHistoryVersionProcessing>false</ExecuteAfterWriteDataHistoryVersionProcessing>
|
||||||
|
</Properties>
|
||||||
|
<ChildObjects>
|
||||||
|
<Command uuid="UUID-012">
|
||||||
|
<Properties>
|
||||||
|
<Name>ОткрытьДосье</Name>
|
||||||
|
<Synonym>
|
||||||
|
<v8:item>
|
||||||
|
<v8:lang>ru</v8:lang>
|
||||||
|
<v8:content>Открыть досье</v8:content>
|
||||||
|
</v8:item>
|
||||||
|
</Synonym>
|
||||||
|
<Comment/>
|
||||||
|
<Group>FormNavigationPanelGoTo</Group>
|
||||||
|
<CommandParameterType/>
|
||||||
|
<ParameterUseMode>Single</ParameterUseMode>
|
||||||
|
<ModifiesData>false</ModifiesData>
|
||||||
|
<Representation>Auto</Representation>
|
||||||
|
<ToolTip/>
|
||||||
|
<Picture/>
|
||||||
|
<Shortcut/>
|
||||||
|
<OnMainServerUnavalableBehavior>Auto</OnMainServerUnavalableBehavior>
|
||||||
|
</Properties>
|
||||||
|
</Command>
|
||||||
|
</ChildObjects>
|
||||||
|
</Catalog>
|
||||||
|
</MetaDataObject>
|
||||||
+6
@@ -0,0 +1,6 @@
|
|||||||
|
&НаКлиенте
|
||||||
|
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
|
||||||
|
|
||||||
|
// Вставьте обработчик команды.
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
@@ -0,0 +1,252 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.17">
|
||||||
|
<Configuration uuid="UUID-001">
|
||||||
|
<InternalInfo>
|
||||||
|
<xr:ContainedObject>
|
||||||
|
<xr:ClassId>UUID-002</xr:ClassId>
|
||||||
|
<xr:ObjectId>UUID-003</xr:ObjectId>
|
||||||
|
</xr:ContainedObject>
|
||||||
|
<xr:ContainedObject>
|
||||||
|
<xr:ClassId>UUID-004</xr:ClassId>
|
||||||
|
<xr:ObjectId>UUID-005</xr:ObjectId>
|
||||||
|
</xr:ContainedObject>
|
||||||
|
<xr:ContainedObject>
|
||||||
|
<xr:ClassId>UUID-006</xr:ClassId>
|
||||||
|
<xr:ObjectId>UUID-007</xr:ObjectId>
|
||||||
|
</xr:ContainedObject>
|
||||||
|
<xr:ContainedObject>
|
||||||
|
<xr:ClassId>UUID-008</xr:ClassId>
|
||||||
|
<xr:ObjectId>UUID-009</xr:ObjectId>
|
||||||
|
</xr:ContainedObject>
|
||||||
|
<xr:ContainedObject>
|
||||||
|
<xr:ClassId>UUID-010</xr:ClassId>
|
||||||
|
<xr:ObjectId>UUID-011</xr:ObjectId>
|
||||||
|
</xr:ContainedObject>
|
||||||
|
<xr:ContainedObject>
|
||||||
|
<xr:ClassId>UUID-012</xr:ClassId>
|
||||||
|
<xr:ObjectId>UUID-013</xr:ObjectId>
|
||||||
|
</xr:ContainedObject>
|
||||||
|
<xr:ContainedObject>
|
||||||
|
<xr:ClassId>UUID-014</xr:ClassId>
|
||||||
|
<xr:ObjectId>UUID-015</xr:ObjectId>
|
||||||
|
</xr:ContainedObject>
|
||||||
|
</InternalInfo>
|
||||||
|
<Properties>
|
||||||
|
<Name>TestConfig</Name>
|
||||||
|
<Synonym>
|
||||||
|
<v8:item>
|
||||||
|
<v8:lang>ru</v8:lang>
|
||||||
|
<v8:content>TestConfig</v8:content>
|
||||||
|
</v8:item>
|
||||||
|
</Synonym>
|
||||||
|
<Comment/>
|
||||||
|
<NamePrefix/>
|
||||||
|
<ConfigurationExtensionCompatibilityMode>Version8_3_24</ConfigurationExtensionCompatibilityMode>
|
||||||
|
<DefaultRunMode>ManagedApplication</DefaultRunMode>
|
||||||
|
<UsePurposes>
|
||||||
|
<v8:Value xsi:type="app:ApplicationUsePurpose">PlatformApplication</v8:Value>
|
||||||
|
</UsePurposes>
|
||||||
|
<ScriptVariant>Russian</ScriptVariant>
|
||||||
|
<DefaultRoles/>
|
||||||
|
<Vendor/>
|
||||||
|
<Version/>
|
||||||
|
<UpdateCatalogAddress/>
|
||||||
|
<IncludeHelpInContents>false</IncludeHelpInContents>
|
||||||
|
<UseManagedFormInOrdinaryApplication>false</UseManagedFormInOrdinaryApplication>
|
||||||
|
<UseOrdinaryFormInManagedApplication>false</UseOrdinaryFormInManagedApplication>
|
||||||
|
<AdditionalFullTextSearchDictionaries/>
|
||||||
|
<CommonSettingsStorage/>
|
||||||
|
<ReportsUserSettingsStorage/>
|
||||||
|
<ReportsVariantsStorage/>
|
||||||
|
<FormDataSettingsStorage/>
|
||||||
|
<DynamicListsUserSettingsStorage/>
|
||||||
|
<URLExternalDataStorage/>
|
||||||
|
<Content/>
|
||||||
|
<DefaultReportForm/>
|
||||||
|
<DefaultReportVariantForm/>
|
||||||
|
<DefaultReportSettingsForm/>
|
||||||
|
<DefaultReportAppearanceTemplate/>
|
||||||
|
<DefaultDynamicListSettingsForm/>
|
||||||
|
<DefaultSearchForm/>
|
||||||
|
<DefaultDataHistoryChangeHistoryForm/>
|
||||||
|
<DefaultDataHistoryVersionDataForm/>
|
||||||
|
<DefaultDataHistoryVersionDifferencesForm/>
|
||||||
|
<DefaultCollaborationSystemUsersChoiceForm/>
|
||||||
|
<RequiredMobileApplicationPermissions/>
|
||||||
|
<UsedMobileApplicationFunctionalities>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>Biometrics</app:functionality>
|
||||||
|
<app:use>true</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>Location</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>BackgroundLocation</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>BluetoothPrinters</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>WiFiPrinters</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>Contacts</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>Calendars</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>PushNotifications</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>LocalNotifications</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>InAppPurchases</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>PersonalComputerFileExchange</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>Ads</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>NumberDialing</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>CallProcessing</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>CallLog</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>AutoSendSMS</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>ReceiveSMS</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>SMSLog</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>Camera</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>Microphone</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>MusicLibrary</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>PictureAndVideoLibraries</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>AudioPlaybackAndVibration</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>BackgroundAudioPlaybackAndVibration</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>InstallPackages</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>OSBackup</app:functionality>
|
||||||
|
<app:use>true</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>ApplicationUsageStatistics</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>BarcodeScanning</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>BackgroundAudioRecording</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>AllFilesAccess</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>Videoconferences</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>NFC</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>DocumentScanning</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>SpeechToText</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>Geofences</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>IncomingShareRequests</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>AllIncomingShareRequestsTypesProcessing</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
</UsedMobileApplicationFunctionalities>
|
||||||
|
<StandaloneConfigurationRestrictionRoles/>
|
||||||
|
<MobileApplicationURLs/>
|
||||||
|
<AllowedIncomingShareRequestTypes/>
|
||||||
|
<MainClientApplicationWindowMode>Normal</MainClientApplicationWindowMode>
|
||||||
|
<DefaultInterface/>
|
||||||
|
<DefaultStyle/>
|
||||||
|
<DefaultLanguage>Language.Русский</DefaultLanguage>
|
||||||
|
<BriefInformation/>
|
||||||
|
<DetailedInformation/>
|
||||||
|
<Copyright/>
|
||||||
|
<VendorInformationAddress/>
|
||||||
|
<ConfigurationInformationAddress/>
|
||||||
|
<DataLockControlMode>Managed</DataLockControlMode>
|
||||||
|
<ObjectAutonumerationMode>NotAutoFree</ObjectAutonumerationMode>
|
||||||
|
<ModalityUseMode>DontUse</ModalityUseMode>
|
||||||
|
<SynchronousPlatformExtensionAndAddInCallUseMode>DontUse</SynchronousPlatformExtensionAndAddInCallUseMode>
|
||||||
|
<InterfaceCompatibilityMode>TaxiEnableVersion8_2</InterfaceCompatibilityMode>
|
||||||
|
<DatabaseTablespacesUseMode>DontUse</DatabaseTablespacesUseMode>
|
||||||
|
<CompatibilityMode>Version8_3_24</CompatibilityMode>
|
||||||
|
<DefaultConstantsForm/>
|
||||||
|
</Properties>
|
||||||
|
<ChildObjects>
|
||||||
|
<Language>Русский</Language>
|
||||||
|
<Catalog>Контрагенты</Catalog>
|
||||||
|
</ChildObjects>
|
||||||
|
</Configuration>
|
||||||
|
</MetaDataObject>
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ClientApplicationInterface xmlns="http://v8.1c.ru/8.2/managed-application/core" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="InterfaceLayouter">
|
||||||
|
<top>
|
||||||
|
<panel id="UUID-001">
|
||||||
|
<uuid>UUID-002</uuid>
|
||||||
|
</panel>
|
||||||
|
</top>
|
||||||
|
<left>
|
||||||
|
<panel id="UUID-003">
|
||||||
|
<uuid>UUID-004</uuid>
|
||||||
|
</panel>
|
||||||
|
</left>
|
||||||
|
<panelDef id="UUID-004"/>
|
||||||
|
<panelDef id="UUID-005"/>
|
||||||
|
<panelDef id="UUID-006"/>
|
||||||
|
<panelDef id="UUID-002"/>
|
||||||
|
<panelDef id="UUID-007"/>
|
||||||
|
</ClientApplicationInterface>
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.17">
|
||||||
|
<Language uuid="UUID-001">
|
||||||
|
<Properties>
|
||||||
|
<Name>Русский</Name>
|
||||||
|
<Synonym>
|
||||||
|
<v8:item>
|
||||||
|
<v8:lang>ru</v8:lang>
|
||||||
|
<v8:content>Русский</v8:content>
|
||||||
|
</v8:item>
|
||||||
|
</Synonym>
|
||||||
|
<Comment/>
|
||||||
|
<LanguageCode>ru</LanguageCode>
|
||||||
|
</Properties>
|
||||||
|
</Language>
|
||||||
|
</MetaDataObject>
|
||||||
+91
@@ -0,0 +1,91 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.17">
|
||||||
|
<Catalog uuid="UUID-001">
|
||||||
|
<InternalInfo>
|
||||||
|
<xr:GeneratedType name="CatalogObject.Контрагенты" category="Object">
|
||||||
|
<xr:TypeId>UUID-002</xr:TypeId>
|
||||||
|
<xr:ValueId>UUID-003</xr:ValueId>
|
||||||
|
</xr:GeneratedType>
|
||||||
|
<xr:GeneratedType name="CatalogRef.Контрагенты" category="Ref">
|
||||||
|
<xr:TypeId>UUID-004</xr:TypeId>
|
||||||
|
<xr:ValueId>UUID-005</xr:ValueId>
|
||||||
|
</xr:GeneratedType>
|
||||||
|
<xr:GeneratedType name="CatalogSelection.Контрагенты" category="Selection">
|
||||||
|
<xr:TypeId>UUID-006</xr:TypeId>
|
||||||
|
<xr:ValueId>UUID-007</xr:ValueId>
|
||||||
|
</xr:GeneratedType>
|
||||||
|
<xr:GeneratedType name="CatalogList.Контрагенты" category="List">
|
||||||
|
<xr:TypeId>UUID-008</xr:TypeId>
|
||||||
|
<xr:ValueId>UUID-009</xr:ValueId>
|
||||||
|
</xr:GeneratedType>
|
||||||
|
<xr:GeneratedType name="CatalogManager.Контрагенты" category="Manager">
|
||||||
|
<xr:TypeId>UUID-010</xr:TypeId>
|
||||||
|
<xr:ValueId>UUID-011</xr:ValueId>
|
||||||
|
</xr:GeneratedType>
|
||||||
|
</InternalInfo>
|
||||||
|
<Properties>
|
||||||
|
<Name>Контрагенты</Name>
|
||||||
|
<Synonym>
|
||||||
|
<v8:item>
|
||||||
|
<v8:lang>ru</v8:lang>
|
||||||
|
<v8:content>Контрагенты</v8:content>
|
||||||
|
</v8:item>
|
||||||
|
</Synonym>
|
||||||
|
<Comment/>
|
||||||
|
<Hierarchical>false</Hierarchical>
|
||||||
|
<HierarchyType>HierarchyFoldersAndItems</HierarchyType>
|
||||||
|
<LimitLevelCount>false</LimitLevelCount>
|
||||||
|
<LevelCount>2</LevelCount>
|
||||||
|
<FoldersOnTop>true</FoldersOnTop>
|
||||||
|
<UseStandardCommands>true</UseStandardCommands>
|
||||||
|
<Owners/>
|
||||||
|
<SubordinationUse>ToItems</SubordinationUse>
|
||||||
|
<CodeLength>9</CodeLength>
|
||||||
|
<DescriptionLength>25</DescriptionLength>
|
||||||
|
<CodeType>String</CodeType>
|
||||||
|
<CodeAllowedLength>Variable</CodeAllowedLength>
|
||||||
|
<CodeSeries>WholeCatalog</CodeSeries>
|
||||||
|
<CheckUnique>false</CheckUnique>
|
||||||
|
<Autonumbering>true</Autonumbering>
|
||||||
|
<DefaultPresentation>AsDescription</DefaultPresentation>
|
||||||
|
<Characteristics/>
|
||||||
|
<PredefinedDataUpdate>Auto</PredefinedDataUpdate>
|
||||||
|
<EditType>InDialog</EditType>
|
||||||
|
<QuickChoice>false</QuickChoice>
|
||||||
|
<ChoiceMode>BothWays</ChoiceMode>
|
||||||
|
<InputByString>
|
||||||
|
<xr:Field>Catalog.Контрагенты.StandardAttribute.Description</xr:Field>
|
||||||
|
<xr:Field>Catalog.Контрагенты.StandardAttribute.Code</xr:Field>
|
||||||
|
</InputByString>
|
||||||
|
<SearchStringModeOnInputByString>Begin</SearchStringModeOnInputByString>
|
||||||
|
<FullTextSearchOnInputByString>DontUse</FullTextSearchOnInputByString>
|
||||||
|
<ChoiceDataGetModeOnInputByString>Directly</ChoiceDataGetModeOnInputByString>
|
||||||
|
<DefaultObjectForm/>
|
||||||
|
<DefaultFolderForm/>
|
||||||
|
<DefaultListForm/>
|
||||||
|
<DefaultChoiceForm/>
|
||||||
|
<DefaultFolderChoiceForm/>
|
||||||
|
<AuxiliaryObjectForm/>
|
||||||
|
<AuxiliaryFolderForm/>
|
||||||
|
<AuxiliaryListForm/>
|
||||||
|
<AuxiliaryChoiceForm/>
|
||||||
|
<AuxiliaryFolderChoiceForm/>
|
||||||
|
<IncludeHelpInContents>false</IncludeHelpInContents>
|
||||||
|
<BasedOn/>
|
||||||
|
<DataLockFields/>
|
||||||
|
<DataLockControlMode>Managed</DataLockControlMode>
|
||||||
|
<FullTextSearch>Use</FullTextSearch>
|
||||||
|
<ObjectPresentation/>
|
||||||
|
<ExtendedObjectPresentation/>
|
||||||
|
<ListPresentation/>
|
||||||
|
<ExtendedListPresentation/>
|
||||||
|
<Explanation/>
|
||||||
|
<CreateOnInput>Use</CreateOnInput>
|
||||||
|
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
|
||||||
|
<DataHistory>DontUse</DataHistory>
|
||||||
|
<UpdateDataHistoryImmediatelyAfterWrite>false</UpdateDataHistoryImmediatelyAfterWrite>
|
||||||
|
<ExecuteAfterWriteDataHistoryVersionProcessing>false</ExecuteAfterWriteDataHistoryVersionProcessing>
|
||||||
|
</Properties>
|
||||||
|
<ChildObjects/>
|
||||||
|
</Catalog>
|
||||||
|
</MetaDataObject>
|
||||||
@@ -0,0 +1,252 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.17">
|
||||||
|
<Configuration uuid="UUID-001">
|
||||||
|
<InternalInfo>
|
||||||
|
<xr:ContainedObject>
|
||||||
|
<xr:ClassId>UUID-002</xr:ClassId>
|
||||||
|
<xr:ObjectId>UUID-003</xr:ObjectId>
|
||||||
|
</xr:ContainedObject>
|
||||||
|
<xr:ContainedObject>
|
||||||
|
<xr:ClassId>UUID-004</xr:ClassId>
|
||||||
|
<xr:ObjectId>UUID-005</xr:ObjectId>
|
||||||
|
</xr:ContainedObject>
|
||||||
|
<xr:ContainedObject>
|
||||||
|
<xr:ClassId>UUID-006</xr:ClassId>
|
||||||
|
<xr:ObjectId>UUID-007</xr:ObjectId>
|
||||||
|
</xr:ContainedObject>
|
||||||
|
<xr:ContainedObject>
|
||||||
|
<xr:ClassId>UUID-008</xr:ClassId>
|
||||||
|
<xr:ObjectId>UUID-009</xr:ObjectId>
|
||||||
|
</xr:ContainedObject>
|
||||||
|
<xr:ContainedObject>
|
||||||
|
<xr:ClassId>UUID-010</xr:ClassId>
|
||||||
|
<xr:ObjectId>UUID-011</xr:ObjectId>
|
||||||
|
</xr:ContainedObject>
|
||||||
|
<xr:ContainedObject>
|
||||||
|
<xr:ClassId>UUID-012</xr:ClassId>
|
||||||
|
<xr:ObjectId>UUID-013</xr:ObjectId>
|
||||||
|
</xr:ContainedObject>
|
||||||
|
<xr:ContainedObject>
|
||||||
|
<xr:ClassId>UUID-014</xr:ClassId>
|
||||||
|
<xr:ObjectId>UUID-015</xr:ObjectId>
|
||||||
|
</xr:ContainedObject>
|
||||||
|
</InternalInfo>
|
||||||
|
<Properties>
|
||||||
|
<Name>TestConfig</Name>
|
||||||
|
<Synonym>
|
||||||
|
<v8:item>
|
||||||
|
<v8:lang>ru</v8:lang>
|
||||||
|
<v8:content>TestConfig</v8:content>
|
||||||
|
</v8:item>
|
||||||
|
</Synonym>
|
||||||
|
<Comment/>
|
||||||
|
<NamePrefix/>
|
||||||
|
<ConfigurationExtensionCompatibilityMode>Version8_3_24</ConfigurationExtensionCompatibilityMode>
|
||||||
|
<DefaultRunMode>ManagedApplication</DefaultRunMode>
|
||||||
|
<UsePurposes>
|
||||||
|
<v8:Value xsi:type="app:ApplicationUsePurpose">PlatformApplication</v8:Value>
|
||||||
|
</UsePurposes>
|
||||||
|
<ScriptVariant>Russian</ScriptVariant>
|
||||||
|
<DefaultRoles/>
|
||||||
|
<Vendor/>
|
||||||
|
<Version/>
|
||||||
|
<UpdateCatalogAddress/>
|
||||||
|
<IncludeHelpInContents>false</IncludeHelpInContents>
|
||||||
|
<UseManagedFormInOrdinaryApplication>false</UseManagedFormInOrdinaryApplication>
|
||||||
|
<UseOrdinaryFormInManagedApplication>false</UseOrdinaryFormInManagedApplication>
|
||||||
|
<AdditionalFullTextSearchDictionaries/>
|
||||||
|
<CommonSettingsStorage/>
|
||||||
|
<ReportsUserSettingsStorage/>
|
||||||
|
<ReportsVariantsStorage/>
|
||||||
|
<FormDataSettingsStorage/>
|
||||||
|
<DynamicListsUserSettingsStorage/>
|
||||||
|
<URLExternalDataStorage/>
|
||||||
|
<Content/>
|
||||||
|
<DefaultReportForm/>
|
||||||
|
<DefaultReportVariantForm/>
|
||||||
|
<DefaultReportSettingsForm/>
|
||||||
|
<DefaultReportAppearanceTemplate/>
|
||||||
|
<DefaultDynamicListSettingsForm/>
|
||||||
|
<DefaultSearchForm/>
|
||||||
|
<DefaultDataHistoryChangeHistoryForm/>
|
||||||
|
<DefaultDataHistoryVersionDataForm/>
|
||||||
|
<DefaultDataHistoryVersionDifferencesForm/>
|
||||||
|
<DefaultCollaborationSystemUsersChoiceForm/>
|
||||||
|
<RequiredMobileApplicationPermissions/>
|
||||||
|
<UsedMobileApplicationFunctionalities>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>Biometrics</app:functionality>
|
||||||
|
<app:use>true</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>Location</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>BackgroundLocation</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>BluetoothPrinters</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>WiFiPrinters</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>Contacts</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>Calendars</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>PushNotifications</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>LocalNotifications</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>InAppPurchases</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>PersonalComputerFileExchange</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>Ads</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>NumberDialing</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>CallProcessing</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>CallLog</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>AutoSendSMS</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>ReceiveSMS</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>SMSLog</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>Camera</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>Microphone</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>MusicLibrary</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>PictureAndVideoLibraries</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>AudioPlaybackAndVibration</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>BackgroundAudioPlaybackAndVibration</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>InstallPackages</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>OSBackup</app:functionality>
|
||||||
|
<app:use>true</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>ApplicationUsageStatistics</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>BarcodeScanning</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>BackgroundAudioRecording</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>AllFilesAccess</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>Videoconferences</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>NFC</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>DocumentScanning</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>SpeechToText</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>Geofences</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>IncomingShareRequests</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>AllIncomingShareRequestsTypesProcessing</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
</UsedMobileApplicationFunctionalities>
|
||||||
|
<StandaloneConfigurationRestrictionRoles/>
|
||||||
|
<MobileApplicationURLs/>
|
||||||
|
<AllowedIncomingShareRequestTypes/>
|
||||||
|
<MainClientApplicationWindowMode>Normal</MainClientApplicationWindowMode>
|
||||||
|
<DefaultInterface/>
|
||||||
|
<DefaultStyle/>
|
||||||
|
<DefaultLanguage>Language.Русский</DefaultLanguage>
|
||||||
|
<BriefInformation/>
|
||||||
|
<DetailedInformation/>
|
||||||
|
<Copyright/>
|
||||||
|
<VendorInformationAddress/>
|
||||||
|
<ConfigurationInformationAddress/>
|
||||||
|
<DataLockControlMode>Managed</DataLockControlMode>
|
||||||
|
<ObjectAutonumerationMode>NotAutoFree</ObjectAutonumerationMode>
|
||||||
|
<ModalityUseMode>DontUse</ModalityUseMode>
|
||||||
|
<SynchronousPlatformExtensionAndAddInCallUseMode>DontUse</SynchronousPlatformExtensionAndAddInCallUseMode>
|
||||||
|
<InterfaceCompatibilityMode>TaxiEnableVersion8_2</InterfaceCompatibilityMode>
|
||||||
|
<DatabaseTablespacesUseMode>DontUse</DatabaseTablespacesUseMode>
|
||||||
|
<CompatibilityMode>Version8_3_24</CompatibilityMode>
|
||||||
|
<DefaultConstantsForm/>
|
||||||
|
</Properties>
|
||||||
|
<ChildObjects>
|
||||||
|
<Language>Русский</Language>
|
||||||
|
<Catalog>Контрагенты</Catalog>
|
||||||
|
</ChildObjects>
|
||||||
|
</Configuration>
|
||||||
|
</MetaDataObject>
|
||||||
+18
@@ -0,0 +1,18 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ClientApplicationInterface xmlns="http://v8.1c.ru/8.2/managed-application/core" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="InterfaceLayouter">
|
||||||
|
<top>
|
||||||
|
<panel id="UUID-001">
|
||||||
|
<uuid>UUID-002</uuid>
|
||||||
|
</panel>
|
||||||
|
</top>
|
||||||
|
<left>
|
||||||
|
<panel id="UUID-003">
|
||||||
|
<uuid>UUID-004</uuid>
|
||||||
|
</panel>
|
||||||
|
</left>
|
||||||
|
<panelDef id="UUID-004"/>
|
||||||
|
<panelDef id="UUID-005"/>
|
||||||
|
<panelDef id="UUID-006"/>
|
||||||
|
<panelDef id="UUID-002"/>
|
||||||
|
<panelDef id="UUID-007"/>
|
||||||
|
</ClientApplicationInterface>
|
||||||
+16
@@ -0,0 +1,16 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.17">
|
||||||
|
<Language uuid="UUID-001">
|
||||||
|
<Properties>
|
||||||
|
<Name>Русский</Name>
|
||||||
|
<Synonym>
|
||||||
|
<v8:item>
|
||||||
|
<v8:lang>ru</v8:lang>
|
||||||
|
<v8:content>Русский</v8:content>
|
||||||
|
</v8:item>
|
||||||
|
</Synonym>
|
||||||
|
<Comment/>
|
||||||
|
<LanguageCode>ru</LanguageCode>
|
||||||
|
</Properties>
|
||||||
|
</Language>
|
||||||
|
</MetaDataObject>
|
||||||
Reference in New Issue
Block a user