mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-08-18 09:10:21 +03:00
Compare commits
9
Commits
w-2026-08-16
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
113dc9e928 | ||
|
|
8fe727e32f | ||
|
|
89f65ca6a6 | ||
|
|
da51d8ab7d | ||
|
|
261ea8c96d | ||
|
|
9702a4c485 | ||
|
|
4be10e3d7f | ||
|
|
756bd857dd | ||
|
|
4967b752d7 |
@@ -31,6 +31,7 @@ allowed-tools:
|
|||||||
| `ExtensionPath` | Путь к каталогу расширения (обязат.) |
|
| `ExtensionPath` | Путь к каталогу расширения (обязат.) |
|
||||||
| `ConfigPath` | Путь к конфигурации-источнику (обязат.) |
|
| `ConfigPath` | Путь к конфигурации-источнику (обязат.) |
|
||||||
| `Object` | Что заимствовать (обязат.), batch через `;;` |
|
| `Object` | Что заимствовать (обязат.), batch через `;;` |
|
||||||
|
| `Module` | Создать пустые модули объекта: `ObjectModule`, `ManagerModule`, `RecordSetModule`, `ValueManagerModule` (через запятую) или `None`. У типов с единственным модулем (`CommonModule`, `HTTPService`, `WebService`) он создаётся и без параметра |
|
||||||
| `BorrowMainAttribute` | Заимствовать основной реквизит формы. Без параметра — не заимствует. `Form` — реквизиты, используемые на форме. `All` — все реквизиты объекта. Требует форму в -Object |
|
| `BorrowMainAttribute` | Заимствовать основной реквизит формы. Без параметра — не заимствует. `Form` — реквизиты, используемые на форме. `All` — все реквизиты объекта. Требует форму в -Object |
|
||||||
|
|
||||||
## Формат -Object
|
## Формат -Object
|
||||||
@@ -65,7 +66,7 @@ allowed-tools:
|
|||||||
2. `/meta-edit` — добавить новый реквизит в объект расширения
|
2. `/meta-edit` — добавить новый реквизит в объект расширения
|
||||||
3. `/form-edit` — вывести реквизит на заимствованную форму
|
3. `/form-edit` — вывести реквизит на заимствованную форму
|
||||||
|
|
||||||
**Защита существующих данных**: если зависимый объект уже заимствован с содержимым (реквизитами, формами) — скрипт не перезаписывает его, а добавляет только недостающее.
|
**Защита существующих данных**: уже заимствованный объект не перезаписывается — добавляется только недостающее. Повторный вызов безопасен: собственные реквизиты расширения, заимствованные подобъекты и код в модулях сохраняются.
|
||||||
|
|
||||||
## Команда
|
## Команда
|
||||||
|
|
||||||
@@ -79,6 +80,12 @@ powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/cfe-borrow.ps1" -Ex
|
|||||||
# Заимствовать один объект
|
# Заимствовать один объект
|
||||||
... -ExtensionPath src\cfe\extname -ConfigPath src\cf -Object "Catalog.Контрагенты"
|
... -ExtensionPath src\cfe\extname -ConfigPath src\cf -Object "Catalog.Контрагенты"
|
||||||
|
|
||||||
|
# Заимствовать справочник вместе с модулями объекта и менеджера
|
||||||
|
... -ExtensionPath src\cfe\extname -ConfigPath src\cf -Object "Catalog.Контрагенты" -Module ObjectModule,ManagerModule
|
||||||
|
|
||||||
|
# Общий модуль без файла модуля
|
||||||
|
... -ExtensionPath src\cfe\extname -ConfigPath src\cf -Object "CommonModule.РаботаСФайлами" -Module None
|
||||||
|
|
||||||
# Заимствовать форму (автоматически заимствует родительский объект)
|
# Заимствовать форму (автоматически заимствует родительский объект)
|
||||||
... -ExtensionPath src\cfe\extname -ConfigPath src\cf -Object "Catalog.Контрагенты.Form.ФормаЭлемента"
|
... -ExtensionPath src\cfe\extname -ConfigPath src\cf -Object "Catalog.Контрагенты.Form.ФормаЭлемента"
|
||||||
|
|
||||||
|
|||||||
@@ -1,10 +1,11 @@
|
|||||||
# cfe-borrow v1.31 — Borrow objects from configuration into extension (CFE)
|
# cfe-borrow v1.32 — Borrow objects from configuration into extension (CFE)
|
||||||
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
|
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
|
||||||
param(
|
param(
|
||||||
[Parameter(Mandatory)][string]$ExtensionPath,
|
[Parameter(Mandatory)][string]$ExtensionPath,
|
||||||
[Parameter(Mandatory)][string]$ConfigPath,
|
[Parameter(Mandatory)][string]$ConfigPath,
|
||||||
[Parameter(Mandatory)][string]$Object,
|
[Parameter(Mandatory)][string]$Object,
|
||||||
[string]$BorrowMainAttribute
|
[string]$BorrowMainAttribute,
|
||||||
|
[string]$Module
|
||||||
)
|
)
|
||||||
|
|
||||||
$ErrorActionPreference = "Stop"
|
$ErrorActionPreference = "Stop"
|
||||||
@@ -261,6 +262,32 @@ $childTypeDirMap = @{
|
|||||||
"CommonAttribute"="CommonAttributes"; "Style"="Styles"; "Bot"="Bots"; "Language"="Languages"
|
"CommonAttribute"="CommonAttributes"; "Style"="Styles"; "Bot"="Bots"; "Language"="Languages"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# --- 4a. Модули заимствованных объектов ---
|
||||||
|
# Порядок внутри значения — порядок выгрузки Конфигуратора: сначала «объектный» модуль
|
||||||
|
# (ObjectModule / RecordSetModule / ValueManagerModule), затем ManagerModule.
|
||||||
|
$script:moduleKindsByType = @{
|
||||||
|
"CommonModule"=@("Module"); "HTTPService"=@("Module"); "WebService"=@("Module")
|
||||||
|
"Catalog"=@("ObjectModule","ManagerModule"); "Document"=@("ObjectModule","ManagerModule")
|
||||||
|
"Report"=@("ObjectModule","ManagerModule"); "DataProcessor"=@("ObjectModule","ManagerModule")
|
||||||
|
"ExchangePlan"=@("ObjectModule","ManagerModule")
|
||||||
|
"ChartOfCharacteristicTypes"=@("ObjectModule","ManagerModule")
|
||||||
|
"ChartOfAccounts"=@("ObjectModule","ManagerModule")
|
||||||
|
"ChartOfCalculationTypes"=@("ObjectModule","ManagerModule")
|
||||||
|
"BusinessProcess"=@("ObjectModule","ManagerModule"); "Task"=@("ObjectModule","ManagerModule")
|
||||||
|
"InformationRegister"=@("RecordSetModule","ManagerModule")
|
||||||
|
"AccumulationRegister"=@("RecordSetModule","ManagerModule")
|
||||||
|
"AccountingRegister"=@("RecordSetModule","ManagerModule")
|
||||||
|
"CalculationRegister"=@("RecordSetModule","ManagerModule")
|
||||||
|
"Sequence"=@("RecordSetModule","ManagerModule")
|
||||||
|
"Constant"=@("ValueManagerModule","ManagerModule")
|
||||||
|
"Enum"=@("ManagerModule"); "DocumentJournal"=@("ManagerModule")
|
||||||
|
"FilterCriterion"=@("ManagerModule")
|
||||||
|
}
|
||||||
|
# Типы с ЕДИНСТВЕННЫМ модулем: ради него объект и заимствуют, поэтому файл создаётся молча.
|
||||||
|
# Отказ — `-Module None`.
|
||||||
|
$script:autoModuleTypes = @("CommonModule", "HTTPService", "WebService")
|
||||||
|
$script:moduleKindNames = @("Module", "ObjectModule", "ManagerModule", "RecordSetModule", "ValueManagerModule")
|
||||||
|
|
||||||
# --- 4b. Russian synonym → English type ---
|
# --- 4b. Russian synonym → English type ---
|
||||||
$synonymMap = @{
|
$synonymMap = @{
|
||||||
"Справочник"="Catalog"; "Документ"="Document"; "Перечисление"="Enum"
|
"Справочник"="Catalog"; "Документ"="Document"; "Перечисление"="Enum"
|
||||||
@@ -591,6 +618,50 @@ if ($BorrowMainAttribute) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# --- 9c. Validate -Module ---
|
||||||
|
$script:requestedModules = @()
|
||||||
|
$script:noModule = $false
|
||||||
|
if ($Module) {
|
||||||
|
foreach ($raw in ($Module -split '[,;]')) {
|
||||||
|
$kind = $raw.Trim()
|
||||||
|
if (-not $kind) { continue }
|
||||||
|
# Сравнение РЕГИСТРОНЕЗАВИСИМОЕ явно (-ieq): в py-порте это отдельная ветка, и молчаливое
|
||||||
|
# расхождение портов на «none» ловится только глазами.
|
||||||
|
if ($kind -ieq "None") { $script:noModule = $true; continue }
|
||||||
|
$canon = @($script:moduleKindNames | Where-Object { $_ -ieq $kind })
|
||||||
|
if ($canon.Count -eq 0) {
|
||||||
|
Write-Error "Неизвестный вид модуля '$kind'. Допустимо: $($script:moduleKindNames -join ', '), None"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
$script:requestedModules += $canon[0]
|
||||||
|
}
|
||||||
|
if ($script:noModule -and $script:requestedModules.Count -gt 0) {
|
||||||
|
Write-Error "-Module None нельзя сочетать с видами модулей"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# Какие модули создать для объекта. Тип с единственным модулем получает его всегда — уточнять
|
||||||
|
# там нечего; -Module разбирает только неоднозначные типы. Иначе батч смешанных типов
|
||||||
|
# (`CommonModule.X ;; Catalog.Y`) не выражался бы одним вызовом.
|
||||||
|
function Resolve-ModuleKinds {
|
||||||
|
param([string]$typeName)
|
||||||
|
|
||||||
|
if ($script:noModule) { return @() }
|
||||||
|
$allowed = @($script:moduleKindsByType[$typeName])
|
||||||
|
if ($allowed.Count -eq 0) { return @() }
|
||||||
|
|
||||||
|
if ($script:autoModuleTypes -contains $typeName) { return @($allowed[0]) }
|
||||||
|
if ($script:requestedModules.Count -eq 0) { return @() }
|
||||||
|
|
||||||
|
# Порядок берём из таблицы типа, а не из порядка ключей в -Module.
|
||||||
|
$selected = @($allowed | Where-Object { $script:requestedModules -contains $_ })
|
||||||
|
if ($selected.Count -eq 0) {
|
||||||
|
Warn " Тип $typeName не имеет запрошенных модулей — пропущено. Допустимо: $($allowed -join ', ')"
|
||||||
|
}
|
||||||
|
return $selected
|
||||||
|
}
|
||||||
|
|
||||||
# --- 10. Helper: read source object XML ---
|
# --- 10. Helper: read source object XML ---
|
||||||
# Имена реквизитов исходного объекта → uuid. Нужны для непрозрачной формы пути в ссылках
|
# Имена реквизитов исходного объекта → uuid. Нужны для непрозрачной формы пути в ссылках
|
||||||
# параметров выбора (см. Rewrite-ChoiceParameterLinks).
|
# параметров выбора (см. Rewrite-ChoiceParameterLinks).
|
||||||
@@ -1313,6 +1384,81 @@ function Test-ObjectBorrowed {
|
|||||||
return (Test-Path $objFile)
|
return (Test-Path $objFile)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# --- 10f. Helper: пометка расширенного свойства (<xr:PropertyState>) ---
|
||||||
|
# Свойство появилось в формате 2.19 (8.3.26): на 2.18 и ниже платформа молча выбрасывает элемент
|
||||||
|
# при загрузке. С 2.19 Конфигуратор ставит его сам при выгрузке — эмитим, чтобы исходники навыка
|
||||||
|
# совпадали с эталоном. Имя свойства = базовое имя файла модуля (Module / ObjectModule / …),
|
||||||
|
# у заимствованной формы — Form. Ставит тот, кто создал файл модуля (или форму).
|
||||||
|
function Build-PropertyStateXml {
|
||||||
|
param([string]$propertyName, [string]$indent)
|
||||||
|
|
||||||
|
$sb = New-Object System.Text.StringBuilder
|
||||||
|
$sb.AppendLine("${indent}<xr:PropertyState>") | Out-Null
|
||||||
|
$sb.AppendLine("${indent}`t<xr:Property>${propertyName}</xr:Property>") | Out-Null
|
||||||
|
$sb.AppendLine("${indent}`t<xr:State>Extended</xr:State>") | Out-Null
|
||||||
|
$sb.Append("${indent}</xr:PropertyState>") | Out-Null
|
||||||
|
return $sb.ToString()
|
||||||
|
}
|
||||||
|
|
||||||
|
function Set-PropertyStateFlag {
|
||||||
|
param([string]$objFile, [string]$propertyName, [string]$formatVersion)
|
||||||
|
|
||||||
|
if ((Get-FormatRank $formatVersion) -lt 219) { return }
|
||||||
|
if (-not (Test-Path $objFile)) { return }
|
||||||
|
|
||||||
|
$enc = New-Object System.Text.UTF8Encoding($true)
|
||||||
|
$text = [System.IO.File]::ReadAllText($objFile, $enc)
|
||||||
|
$nl = if ($text -match "`r`n") { "`r`n" } else { "`n" }
|
||||||
|
|
||||||
|
# ПЕРВЫЙ <InternalInfo> в файле — собственный у объекта: у реквизитов и подобъектов свои,
|
||||||
|
# но они лежат ниже, внутри <ChildObjects>.
|
||||||
|
$empty = [regex]::Match($text, '([ \t]*)<InternalInfo\s*/>')
|
||||||
|
$open = [regex]::Match($text, '(?s)([ \t]*)<InternalInfo>(.*?)</InternalInfo>')
|
||||||
|
|
||||||
|
if ($empty.Success -and (-not $open.Success -or $empty.Index -lt $open.Index)) {
|
||||||
|
$ind = $empty.Groups[1].Value
|
||||||
|
$block = Build-PropertyStateXml $propertyName ($ind + "`t")
|
||||||
|
$replacement = "${ind}<InternalInfo>${nl}${block}${nl}${ind}</InternalInfo>"
|
||||||
|
$text = $text.Remove($empty.Index, $empty.Length).Insert($empty.Index, $replacement)
|
||||||
|
} elseif ($open.Success) {
|
||||||
|
if ($open.Groups[2].Value -match "<xr:Property>$([regex]::Escape($propertyName))</xr:Property>") { return }
|
||||||
|
$ind = $open.Groups[1].Value
|
||||||
|
$block = Build-PropertyStateXml $propertyName ($ind + "`t")
|
||||||
|
# Дописываем в КОНЕЦ InternalInfo: у Конфигуратора PropertyState идёт после GeneratedType.
|
||||||
|
$closeAt = $open.Index + $open.Length - "</InternalInfo>".Length - $ind.Length
|
||||||
|
$text = $text.Insert($closeAt, "${block}${nl}")
|
||||||
|
} else {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
[System.IO.File]::WriteAllText($objFile, $text, $enc)
|
||||||
|
}
|
||||||
|
|
||||||
|
# --- 10g. Helper: пустой модуль заимствованного объекта ---
|
||||||
|
function New-BorrowedModuleFile {
|
||||||
|
param([string]$typeName, [string]$objName, [string]$moduleKind)
|
||||||
|
|
||||||
|
$dirName = $childTypeDirMap[$typeName]
|
||||||
|
$objDir = Join-Path (Join-Path $extDir $dirName) $objName
|
||||||
|
$moduleDir = Join-Path $objDir "Ext"
|
||||||
|
if (-not (Test-Path $moduleDir)) { New-Item -ItemType Directory -Path $moduleDir -Force | Out-Null }
|
||||||
|
|
||||||
|
# NEVER overwrite an existing one: повторное заимствование не должно затирать дописанный код
|
||||||
|
# (то же правило, что у модуля формы).
|
||||||
|
$moduleFile = Join-Path $moduleDir "${moduleKind}.bsl"
|
||||||
|
if (Test-Path $moduleFile) {
|
||||||
|
Info " Preserved existing ${moduleKind}.bsl"
|
||||||
|
} else {
|
||||||
|
$enc = New-Object System.Text.UTF8Encoding($true)
|
||||||
|
[System.IO.File]::WriteAllText($moduleFile, "", $enc)
|
||||||
|
Info " Created: $moduleFile"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Флаг ставим и для уже существовавшего файла: состояние объекта должно отражать факт модуля.
|
||||||
|
Set-PropertyStateFlag (Join-Path (Join-Path $extDir $dirName) "${objName}.xml") $moduleKind $script:formatVersion
|
||||||
|
return $moduleFile
|
||||||
|
}
|
||||||
|
|
||||||
# --- 11. Helper: generate InternalInfo XML ---
|
# --- 11. Helper: generate InternalInfo XML ---
|
||||||
function Build-InternalInfoXml {
|
function Build-InternalInfoXml {
|
||||||
param([string]$typeName, [string]$objName, [string]$indent)
|
param([string]$typeName, [string]$objName, [string]$indent)
|
||||||
@@ -2204,6 +2350,9 @@ foreach ($item in $items) {
|
|||||||
$hasBMA = [bool]$BorrowMainAttribute
|
$hasBMA = [bool]$BorrowMainAttribute
|
||||||
$formFiles = Borrow-Form $typeName $objName $formName -BorrowMainAttr:$hasBMA
|
$formFiles = Borrow-Form $typeName $objName $formName -BorrowMainAttr:$hasBMA
|
||||||
$script:borrowedFiles += $formFiles
|
$script:borrowedFiles += $formFiles
|
||||||
|
# Замер на 8.3.26: платформа помечает форму расширенной сразу при заимствовании,
|
||||||
|
# даже если элементы не менялись. Флаг живёт в метаданных формы, не у владельца.
|
||||||
|
Set-PropertyStateFlag $formFiles[0] "Form" $script:formatVersion
|
||||||
$borrowedCount++
|
$borrowedCount++
|
||||||
|
|
||||||
# Borrow main attribute if requested
|
# Borrow main attribute if requested
|
||||||
@@ -2212,26 +2361,37 @@ foreach ($item in $items) {
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
# --- Object borrowing (existing logic) ---
|
# --- Object borrowing (existing logic) ---
|
||||||
Info "Borrowing ${typeName}.${objName}..."
|
|
||||||
|
|
||||||
$src = Read-SourceObject $typeName $objName
|
|
||||||
Info " Source UUID: $($src.Uuid)"
|
|
||||||
|
|
||||||
$borrowedXml = Build-BorrowedObjectXml $typeName $objName $src.Uuid $src.Properties
|
|
||||||
|
|
||||||
$targetDir = Join-Path $extDir $dirName
|
$targetDir = Join-Path $extDir $dirName
|
||||||
if (-not (Test-Path $targetDir)) {
|
|
||||||
New-Item -ItemType Directory -Path $targetDir -Force | Out-Null
|
|
||||||
}
|
|
||||||
|
|
||||||
$targetFile = Join-Path $targetDir "${objName}.xml"
|
$targetFile = Join-Path $targetDir "${objName}.xml"
|
||||||
$enc = New-Object System.Text.UTF8Encoding($true)
|
|
||||||
[System.IO.File]::WriteAllText($targetFile, $borrowedXml, $enc)
|
# Уже заимствованный объект НЕ переписываем: в его XML лежат собственные реквизиты
|
||||||
Info " Created: $targetFile"
|
# расширения, заимствованные подобъекты и состояния, которые из источника не выводятся.
|
||||||
|
# Повторный вызов — законный способ доделать модуль (-Module), а не переиздать заготовку.
|
||||||
|
if (Test-ObjectBorrowed $typeName $objName) {
|
||||||
|
Info "Already borrowed: ${typeName}.${objName} — XML сохранён без изменений"
|
||||||
|
} else {
|
||||||
|
Info "Borrowing ${typeName}.${objName}..."
|
||||||
|
|
||||||
|
$src = Read-SourceObject $typeName $objName
|
||||||
|
Info " Source UUID: $($src.Uuid)"
|
||||||
|
|
||||||
|
$borrowedXml = Build-BorrowedObjectXml $typeName $objName $src.Uuid $src.Properties
|
||||||
|
|
||||||
|
if (-not (Test-Path $targetDir)) {
|
||||||
|
New-Item -ItemType Directory -Path $targetDir -Force | Out-Null
|
||||||
|
}
|
||||||
|
|
||||||
|
$enc = New-Object System.Text.UTF8Encoding($true)
|
||||||
|
[System.IO.File]::WriteAllText($targetFile, $borrowedXml, $enc)
|
||||||
|
Info " Created: $targetFile"
|
||||||
|
}
|
||||||
|
|
||||||
Add-ToChildObjects $typeName $objName
|
Add-ToChildObjects $typeName $objName
|
||||||
|
|
||||||
$script:borrowedFiles += $targetFile
|
$script:borrowedFiles += $targetFile
|
||||||
|
foreach ($kind in (Resolve-ModuleKinds $typeName)) {
|
||||||
|
$script:borrowedFiles += (New-BorrowedModuleFile $typeName $objName $kind)
|
||||||
|
}
|
||||||
$borrowedCount++
|
$borrowedCount++
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
# cfe-borrow v1.31 — Borrow objects from configuration into extension (CFE)
|
# cfe-borrow v1.32 — Borrow objects from configuration into extension (CFE)
|
||||||
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
|
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
|
||||||
|
|
||||||
import argparse
|
import argparse
|
||||||
@@ -240,6 +240,32 @@ CHILD_TYPE_DIR_MAP = {
|
|||||||
"Bot": "Bots", "Language": "Languages",
|
"Bot": "Bots", "Language": "Languages",
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# --- Модули заимствованных объектов ---
|
||||||
|
# Порядок внутри значения — порядок выгрузки Конфигуратора: сначала «объектный» модуль
|
||||||
|
# (ObjectModule / RecordSetModule / ValueManagerModule), затем ManagerModule.
|
||||||
|
MODULE_KINDS_BY_TYPE = {
|
||||||
|
"CommonModule": ["Module"], "HTTPService": ["Module"], "WebService": ["Module"],
|
||||||
|
"Catalog": ["ObjectModule", "ManagerModule"], "Document": ["ObjectModule", "ManagerModule"],
|
||||||
|
"Report": ["ObjectModule", "ManagerModule"], "DataProcessor": ["ObjectModule", "ManagerModule"],
|
||||||
|
"ExchangePlan": ["ObjectModule", "ManagerModule"],
|
||||||
|
"ChartOfCharacteristicTypes": ["ObjectModule", "ManagerModule"],
|
||||||
|
"ChartOfAccounts": ["ObjectModule", "ManagerModule"],
|
||||||
|
"ChartOfCalculationTypes": ["ObjectModule", "ManagerModule"],
|
||||||
|
"BusinessProcess": ["ObjectModule", "ManagerModule"], "Task": ["ObjectModule", "ManagerModule"],
|
||||||
|
"InformationRegister": ["RecordSetModule", "ManagerModule"],
|
||||||
|
"AccumulationRegister": ["RecordSetModule", "ManagerModule"],
|
||||||
|
"AccountingRegister": ["RecordSetModule", "ManagerModule"],
|
||||||
|
"CalculationRegister": ["RecordSetModule", "ManagerModule"],
|
||||||
|
"Sequence": ["RecordSetModule", "ManagerModule"],
|
||||||
|
"Constant": ["ValueManagerModule", "ManagerModule"],
|
||||||
|
"Enum": ["ManagerModule"], "DocumentJournal": ["ManagerModule"],
|
||||||
|
"FilterCriterion": ["ManagerModule"],
|
||||||
|
}
|
||||||
|
# Типы с ЕДИНСТВЕННЫМ модулем: ради него объект и заимствуют, поэтому файл создаётся молча.
|
||||||
|
# Отказ — `-Module None`.
|
||||||
|
AUTO_MODULE_TYPES = ["CommonModule", "HTTPService", "WebService"]
|
||||||
|
MODULE_KIND_NAMES = ["Module", "ObjectModule", "ManagerModule", "RecordSetModule", "ValueManagerModule"]
|
||||||
|
|
||||||
SYNONYM_MAP = {
|
SYNONYM_MAP = {
|
||||||
"\u0421\u043f\u0440\u0430\u0432\u043e\u0447\u043d\u0438\u043a": "Catalog",
|
"\u0421\u043f\u0440\u0430\u0432\u043e\u0447\u043d\u0438\u043a": "Catalog",
|
||||||
"\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442": "Document",
|
"\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442": "Document",
|
||||||
@@ -516,6 +542,55 @@ def format_rank(ver):
|
|||||||
return int(m.group(1)) * 100 + int(m.group(2)) if m else 0
|
return int(m.group(1)) * 100 + int(m.group(2)) if m else 0
|
||||||
|
|
||||||
|
|
||||||
|
# --- Пометка расширенного свойства (<xr:PropertyState>) ---
|
||||||
|
# Свойство появилось в формате 2.19 (8.3.26): на 2.18 и ниже платформа молча выбрасывает элемент
|
||||||
|
# при загрузке. С 2.19 Конфигуратор ставит его сам при выгрузке. Правило: флаг ставит тот, кто
|
||||||
|
# создал файл модуля, — здесь это мы. Имя свойства = базовое имя файла модуля.
|
||||||
|
# Копии этих функций есть в cfe-patch-method (навыки автономны); держать их одинаковыми — сознательно.
|
||||||
|
def build_property_state_xml(property_name, indent):
|
||||||
|
return "\n".join([
|
||||||
|
f"{indent}<xr:PropertyState>",
|
||||||
|
f"{indent}\t<xr:Property>{property_name}</xr:Property>",
|
||||||
|
f"{indent}\t<xr:State>Extended</xr:State>",
|
||||||
|
f"{indent}</xr:PropertyState>",
|
||||||
|
])
|
||||||
|
|
||||||
|
|
||||||
|
def set_property_state_flag(obj_file, property_name, format_version):
|
||||||
|
if format_rank(format_version) < 219:
|
||||||
|
return
|
||||||
|
if not os.path.isfile(obj_file):
|
||||||
|
return
|
||||||
|
|
||||||
|
with open(obj_file, "r", encoding="utf-8-sig", newline="") as fh:
|
||||||
|
text = fh.read()
|
||||||
|
nl = "\r\n" if "\r\n" in text else "\n"
|
||||||
|
|
||||||
|
# ПЕРВЫЙ <InternalInfo> в файле — собственный у объекта: у реквизитов и подобъектов свои,
|
||||||
|
# но они лежат ниже, внутри <ChildObjects>.
|
||||||
|
empty = re.search(r"([ \t]*)<InternalInfo\s*/>", text)
|
||||||
|
opened = re.search(r"([ \t]*)<InternalInfo>(.*?)</InternalInfo>", text, re.S)
|
||||||
|
|
||||||
|
if empty and (not opened or empty.start() < opened.start()):
|
||||||
|
ind = empty.group(1)
|
||||||
|
block = build_property_state_xml(property_name, ind + "\t")
|
||||||
|
replacement = f"{ind}<InternalInfo>{nl}{block}{nl}{ind}</InternalInfo>"
|
||||||
|
text = text[:empty.start()] + replacement + text[empty.end():]
|
||||||
|
elif opened:
|
||||||
|
if re.search(rf"<xr:Property>{re.escape(property_name)}</xr:Property>", opened.group(2)):
|
||||||
|
return
|
||||||
|
ind = opened.group(1)
|
||||||
|
block = build_property_state_xml(property_name, ind + "\t")
|
||||||
|
# Дописываем в КОНЕЦ InternalInfo: у Конфигуратора PropertyState идёт после GeneratedType.
|
||||||
|
close_at = opened.end() - len("</InternalInfo>") - len(ind)
|
||||||
|
text = text[:close_at] + block + nl + text[close_at:]
|
||||||
|
else:
|
||||||
|
return
|
||||||
|
|
||||||
|
with open(obj_file, "w", encoding="utf-8-sig", newline="") as fh:
|
||||||
|
fh.write(text)
|
||||||
|
|
||||||
|
|
||||||
def apply_pal_ns(format_version):
|
def apply_pal_ns(format_version):
|
||||||
"""2.21 (8.5) добавила в шапку пространство палитры — ради <Color> у значений перечисления.
|
"""2.21 (8.5) добавила в шапку пространство палитры — ради <Color> у значений перечисления.
|
||||||
Вставляем НА МЕСТО (после lf, перед style): платформа держит объявления по алфавиту,
|
Вставляем НА МЕСТО (после lf, перед style): платформа держит объявления по алфавиту,
|
||||||
@@ -655,6 +730,7 @@ def main():
|
|||||||
parser.add_argument("-ConfigPath", required=True)
|
parser.add_argument("-ConfigPath", required=True)
|
||||||
parser.add_argument("-Object", required=True)
|
parser.add_argument("-Object", required=True)
|
||||||
parser.add_argument("-BorrowMainAttribute", nargs="?", const="Form", default=None)
|
parser.add_argument("-BorrowMainAttribute", nargs="?", const="Form", default=None)
|
||||||
|
parser.add_argument("-Module", default=None)
|
||||||
args = ci_parse_args(parser)
|
args = ci_parse_args(parser)
|
||||||
|
|
||||||
# --- 1. Resolve paths ---
|
# --- 1. Resolve paths ---
|
||||||
@@ -860,6 +936,25 @@ def main():
|
|||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
return src_uuid
|
return src_uuid
|
||||||
|
|
||||||
|
# --- Пустой модуль заимствованного объекта ---
|
||||||
|
def new_borrowed_module_file(type_name, obj_name, module_kind):
|
||||||
|
dir_name = CHILD_TYPE_DIR_MAP[type_name]
|
||||||
|
module_dir = os.path.join(ext_dir, dir_name, obj_name, "Ext")
|
||||||
|
os.makedirs(module_dir, exist_ok=True)
|
||||||
|
|
||||||
|
# NEVER overwrite an existing one: повторное заимствование не должно затирать дописанный
|
||||||
|
# код (то же правило, что у модуля формы).
|
||||||
|
module_file = os.path.join(module_dir, f"{module_kind}.bsl")
|
||||||
|
if os.path.isfile(module_file):
|
||||||
|
info(f" Preserved existing {module_kind}.bsl")
|
||||||
|
else:
|
||||||
|
write_utf8_bom(module_file, "")
|
||||||
|
info(f" Created: {module_file}")
|
||||||
|
|
||||||
|
# Флаг ставим и для уже существовавшего файла: состояние объекта должно отражать факт модуля.
|
||||||
|
set_property_state_flag(os.path.join(ext_dir, dir_name, f"{obj_name}.xml"), module_kind, format_version)
|
||||||
|
return module_file
|
||||||
|
|
||||||
def build_internal_info_xml(type_name, obj_name, indent):
|
def build_internal_info_xml(type_name, obj_name, indent):
|
||||||
types = GENERATED_TYPES.get(type_name)
|
types = GENERATED_TYPES.get(type_name)
|
||||||
if not types:
|
if not types:
|
||||||
@@ -2019,6 +2114,47 @@ def main():
|
|||||||
print("-BorrowMainAttribute requires a form in -Object (e.g. 'Catalog.X.Form.Y')", file=sys.stderr)
|
print("-BorrowMainAttribute requires a form in -Object (e.g. 'Catalog.X.Form.Y')", file=sys.stderr)
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
|
# --- 9c. Validate -Module ---
|
||||||
|
requested_modules = []
|
||||||
|
no_module = False
|
||||||
|
if args.Module:
|
||||||
|
for raw in re.split(r"[,;]", args.Module):
|
||||||
|
kind = raw.strip()
|
||||||
|
if not kind:
|
||||||
|
continue
|
||||||
|
# Сравнение РЕГИСТРОНЕЗАВИСИМОЕ явно: в ps1-порте `-ieq`, и молчаливое расхождение
|
||||||
|
# портов на «none» ловится только глазами.
|
||||||
|
if kind.lower() == "none":
|
||||||
|
no_module = True
|
||||||
|
continue
|
||||||
|
canon = [k for k in MODULE_KIND_NAMES if k.lower() == kind.lower()]
|
||||||
|
if not canon:
|
||||||
|
print(f"Неизвестный вид модуля '{kind}'. Допустимо: {', '.join(MODULE_KIND_NAMES)}, None", file=sys.stderr)
|
||||||
|
sys.exit(1)
|
||||||
|
requested_modules.append(canon[0])
|
||||||
|
if no_module and requested_modules:
|
||||||
|
print("-Module None нельзя сочетать с видами модулей", file=sys.stderr)
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
|
# Какие модули создать для объекта. Тип с единственным модулем получает его всегда — уточнять
|
||||||
|
# там нечего; -Module разбирает только неоднозначные типы. Иначе батч смешанных типов
|
||||||
|
# (`CommonModule.X ;; Catalog.Y`) не выражался бы одним вызовом.
|
||||||
|
def resolve_module_kinds(type_name):
|
||||||
|
if no_module:
|
||||||
|
return []
|
||||||
|
allowed = MODULE_KINDS_BY_TYPE.get(type_name, [])
|
||||||
|
if not allowed:
|
||||||
|
return []
|
||||||
|
if type_name in AUTO_MODULE_TYPES:
|
||||||
|
return [allowed[0]]
|
||||||
|
if not requested_modules:
|
||||||
|
return []
|
||||||
|
# Порядок берём из таблицы типа, а не из порядка ключей в -Module.
|
||||||
|
selected = [k for k in allowed if k in requested_modules]
|
||||||
|
if not selected:
|
||||||
|
warn(f" Тип {type_name} не имеет запрошенных модулей — пропущено. Допустимо: {', '.join(allowed)}")
|
||||||
|
return selected
|
||||||
|
|
||||||
# --- 10. Process each item ---
|
# --- 10. Process each item ---
|
||||||
borrowed_count = 0
|
borrowed_count = 0
|
||||||
|
|
||||||
@@ -2070,6 +2206,9 @@ def main():
|
|||||||
has_bma = borrow_main_attribute_mode is not None
|
has_bma = borrow_main_attribute_mode is not None
|
||||||
form_files = borrow_form(type_name, obj_name, form_name, borrow_main_attr=has_bma)
|
form_files = borrow_form(type_name, obj_name, form_name, borrow_main_attr=has_bma)
|
||||||
borrowed_files.extend(form_files)
|
borrowed_files.extend(form_files)
|
||||||
|
# Замер на 8.3.26: платформа помечает форму расширенной сразу при заимствовании,
|
||||||
|
# даже если элементы не менялись. Флаг живёт в метаданных формы, не у владельца.
|
||||||
|
set_property_state_flag(form_files[0], "Form", format_version)
|
||||||
borrowed_count += 1
|
borrowed_count += 1
|
||||||
|
|
||||||
# Borrow main attribute if requested
|
# Borrow main attribute if requested
|
||||||
@@ -2077,23 +2216,32 @@ def main():
|
|||||||
borrow_main_attribute(type_name, obj_name, form_name, borrow_main_attribute_mode)
|
borrow_main_attribute(type_name, obj_name, form_name, borrow_main_attribute_mode)
|
||||||
else:
|
else:
|
||||||
# --- Object borrowing ---
|
# --- Object borrowing ---
|
||||||
info(f"Borrowing {type_name}.{obj_name}...")
|
|
||||||
|
|
||||||
src = read_source_object(type_name, obj_name)
|
|
||||||
info(f" Source UUID: {src['Uuid']}")
|
|
||||||
|
|
||||||
borrowed_xml = build_borrowed_object_xml(type_name, obj_name, src["Uuid"], src["Properties"])
|
|
||||||
|
|
||||||
target_dir = os.path.join(ext_dir, dir_name)
|
target_dir = os.path.join(ext_dir, dir_name)
|
||||||
os.makedirs(target_dir, exist_ok=True)
|
|
||||||
|
|
||||||
target_file = os.path.join(target_dir, f"{obj_name}.xml")
|
target_file = os.path.join(target_dir, f"{obj_name}.xml")
|
||||||
write_xml_file(target_file, borrowed_xml)
|
|
||||||
info(f" Created: {target_file}")
|
# Уже заимствованный объект НЕ переписываем: в его XML лежат собственные реквизиты
|
||||||
|
# расширения, заимствованные подобъекты и состояния, которые из источника не
|
||||||
|
# выводятся. Повторный вызов — законный способ доделать модуль (-Module), а не
|
||||||
|
# переиздать заготовку.
|
||||||
|
if test_object_borrowed(type_name, obj_name):
|
||||||
|
info(f"Already borrowed: {type_name}.{obj_name} — XML сохранён без изменений")
|
||||||
|
else:
|
||||||
|
info(f"Borrowing {type_name}.{obj_name}...")
|
||||||
|
|
||||||
|
src = read_source_object(type_name, obj_name)
|
||||||
|
info(f" Source UUID: {src['Uuid']}")
|
||||||
|
|
||||||
|
borrowed_xml = build_borrowed_object_xml(type_name, obj_name, src["Uuid"], src["Properties"])
|
||||||
|
|
||||||
|
os.makedirs(target_dir, exist_ok=True)
|
||||||
|
write_xml_file(target_file, borrowed_xml)
|
||||||
|
info(f" Created: {target_file}")
|
||||||
|
|
||||||
add_to_child_objects(type_name, obj_name)
|
add_to_child_objects(type_name, obj_name)
|
||||||
|
|
||||||
borrowed_files.append(target_file)
|
borrowed_files.append(target_file)
|
||||||
|
for kind in resolve_module_kinds(type_name):
|
||||||
|
borrowed_files.append(new_borrowed_module_file(type_name, obj_name, kind))
|
||||||
borrowed_count += 1
|
borrowed_count += 1
|
||||||
|
|
||||||
# --- Владельцы заимствованных справочников ---
|
# --- Владельцы заимствованных справочников ---
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# cfe-patch-method v2.7 — Source-aware method interceptor for 1C extension (CFE) (+прощающий ввод: имя каталога наравне с именем типа)
|
# cfe-patch-method v2.8 — Source-aware method interceptor for 1C extension (CFE)
|
||||||
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
|
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
|
||||||
param(
|
param(
|
||||||
[Parameter(Mandatory)]
|
[Parameter(Mandatory)]
|
||||||
@@ -788,6 +788,100 @@ if (Test-Path $ExtensionPath -PathType Leaf) { $ExtensionPath = Split-Path $Exte
|
|||||||
$cfgFile = Join-Path $ExtensionPath "Configuration.xml"
|
$cfgFile = Join-Path $ExtensionPath "Configuration.xml"
|
||||||
if (-not (Test-Path $cfgFile)) { Write-Error "Configuration.xml не найден в расширении: $ExtensionPath"; exit 1 }
|
if (-not (Test-Path $cfgFile)) { Write-Error "Configuration.xml не найден в расширении: $ExtensionPath"; exit 1 }
|
||||||
|
|
||||||
|
# --- Пометка расширенного свойства (<xr:PropertyState>) ---
|
||||||
|
# Свойство появилось в формате 2.19 (8.3.26): на 2.18 и ниже платформа молча выбрасывает элемент
|
||||||
|
# при загрузке. С 2.19 Конфигуратор ставит его сам при выгрузке. Правило: флаг ставит тот, кто
|
||||||
|
# создал файл модуля, — здесь это мы. Имя свойства = базовое имя файла модуля.
|
||||||
|
# Копии этих функций есть в cfe-borrow (навыки автономны); держать их одинаковыми — сознательно.
|
||||||
|
function Get-FormatRank([string]$ver) {
|
||||||
|
if ($ver -match '^(\d+)\.(\d+)$') { return [int]$Matches[1] * 100 + [int]$Matches[2] }
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
function Detect-FormatVersion([string]$dir) {
|
||||||
|
$d = $dir
|
||||||
|
while ($d) {
|
||||||
|
# Автономная внешняя обработка/отчёт: своего Configuration.xml у неё нет, версию несёт
|
||||||
|
# корень самой обработки. Без этого форма и макет внутри обработки 2.21 писались бы 2.17.
|
||||||
|
$extPath = "$d.xml"
|
||||||
|
if (Test-Path $extPath) {
|
||||||
|
$extText = [System.IO.File]::ReadAllText($extPath, [System.Text.Encoding]::UTF8)
|
||||||
|
$extHead = $extText.Substring(0, [Math]::Min(2000, $extText.Length))
|
||||||
|
if ($extHead -match '<(ExternalDataProcessor|ExternalReport)[ >]' -and $extHead -match '<MetaDataObject[^>]+version="(\d+\.\d+)"') { return $Matches[1] }
|
||||||
|
}
|
||||||
|
$cfgPath = Join-Path $d "Configuration.xml"
|
||||||
|
if (Test-Path $cfgPath) {
|
||||||
|
$cfgText = [System.IO.File]::ReadAllText($cfgPath, [System.Text.Encoding]::UTF8)
|
||||||
|
# Длину среза берём по СТРОКЕ, а не по размеру файла: размер в БАЙТАХ, Substring считает
|
||||||
|
# СИМВОЛЫ, и на кириллице байт больше — короткий Configuration.xml ронял навык исключением.
|
||||||
|
$head = $cfgText.Substring(0, [Math]::Min(2000, $cfgText.Length))
|
||||||
|
if ($head -match '<MetaDataObject[^>]+version="(\d+\.\d+)"') { return $Matches[1] }
|
||||||
|
}
|
||||||
|
$parent = Split-Path $d -Parent
|
||||||
|
if ($parent -eq $d) { break }
|
||||||
|
$d = $parent
|
||||||
|
}
|
||||||
|
return "2.17"
|
||||||
|
}
|
||||||
|
|
||||||
|
function Build-PropertyStateXml {
|
||||||
|
param([string]$propertyName, [string]$indent)
|
||||||
|
|
||||||
|
$sb = New-Object System.Text.StringBuilder
|
||||||
|
$sb.AppendLine("${indent}<xr:PropertyState>") | Out-Null
|
||||||
|
$sb.AppendLine("${indent}`t<xr:Property>${propertyName}</xr:Property>") | Out-Null
|
||||||
|
$sb.AppendLine("${indent}`t<xr:State>Extended</xr:State>") | Out-Null
|
||||||
|
$sb.Append("${indent}</xr:PropertyState>") | Out-Null
|
||||||
|
return $sb.ToString()
|
||||||
|
}
|
||||||
|
|
||||||
|
function Set-PropertyStateFlag {
|
||||||
|
param([string]$objFile, [string]$propertyName, [string]$formatVersion)
|
||||||
|
|
||||||
|
if ((Get-FormatRank $formatVersion) -lt 219) { return }
|
||||||
|
if (-not (Test-Path $objFile)) { return }
|
||||||
|
|
||||||
|
$enc = New-Object System.Text.UTF8Encoding($true)
|
||||||
|
$text = [System.IO.File]::ReadAllText($objFile, $enc)
|
||||||
|
$nl = if ($text -match "`r`n") { "`r`n" } else { "`n" }
|
||||||
|
|
||||||
|
# ПЕРВЫЙ <InternalInfo> в файле — собственный у объекта: у реквизитов и подобъектов свои,
|
||||||
|
# но они лежат ниже, внутри <ChildObjects>.
|
||||||
|
$empty = [regex]::Match($text, '([ \t]*)<InternalInfo\s*/>')
|
||||||
|
$open = [regex]::Match($text, '(?s)([ \t]*)<InternalInfo>(.*?)</InternalInfo>')
|
||||||
|
|
||||||
|
if ($empty.Success -and (-not $open.Success -or $empty.Index -lt $open.Index)) {
|
||||||
|
$ind = $empty.Groups[1].Value
|
||||||
|
$block = Build-PropertyStateXml $propertyName ($ind + "`t")
|
||||||
|
$replacement = "${ind}<InternalInfo>${nl}${block}${nl}${ind}</InternalInfo>"
|
||||||
|
$text = $text.Remove($empty.Index, $empty.Length).Insert($empty.Index, $replacement)
|
||||||
|
} elseif ($open.Success) {
|
||||||
|
if ($open.Groups[2].Value -match "<xr:Property>$([regex]::Escape($propertyName))</xr:Property>") { return }
|
||||||
|
$ind = $open.Groups[1].Value
|
||||||
|
$block = Build-PropertyStateXml $propertyName ($ind + "`t")
|
||||||
|
# Дописываем в КОНЕЦ InternalInfo: у Конфигуратора PropertyState идёт после GeneratedType.
|
||||||
|
$closeAt = $open.Index + $open.Length - "</InternalInfo>".Length - $ind.Length
|
||||||
|
$text = $text.Insert($closeAt, "${block}${nl}")
|
||||||
|
} else {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
[System.IO.File]::WriteAllText($objFile, $text, $enc)
|
||||||
|
}
|
||||||
|
|
||||||
|
# Модуль формы сюда не попадает: у формы флаг называется Form и ставится при заимствовании,
|
||||||
|
# а не при появлении модуля (замер на 8.3.26 — пустой модуль формы платформа не выгружает).
|
||||||
|
function Get-ModuleFlagTarget {
|
||||||
|
param([string[]]$relParts, [string]$extRoot)
|
||||||
|
|
||||||
|
if ($relParts.Count -ne 4 -or $relParts[2] -ne "Ext") { return $null }
|
||||||
|
$prop = [System.IO.Path]::GetFileNameWithoutExtension($relParts[3])
|
||||||
|
return @{
|
||||||
|
File = (Join-Path (Join-Path $extRoot $relParts[0]) "$($relParts[1]).xml")
|
||||||
|
Property = $prop
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
# --- Read NamePrefix ---
|
# --- Read NamePrefix ---
|
||||||
$cfgDoc = New-Object System.Xml.XmlDocument
|
$cfgDoc = New-Object System.Xml.XmlDocument
|
||||||
$cfgDoc.PreserveWhitespace = $false
|
$cfgDoc.PreserveWhitespace = $false
|
||||||
@@ -1084,6 +1178,12 @@ if ($reuseRegionIdx -ge 0) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Модуль в расширении есть — отражаем это в метаданных объекта (формат ≥ 2.19).
|
||||||
|
$flagTarget = Get-ModuleFlagTarget $relParts $ExtensionPath
|
||||||
|
if ($flagTarget) {
|
||||||
|
Set-PropertyStateFlag $flagTarget.File $flagTarget.Property (Detect-FormatVersion $ExtensionPath)
|
||||||
|
}
|
||||||
|
|
||||||
Write-Host "[OK] Перехватчик &$decoratorRu(`"$MethodName`") — $placement"
|
Write-Host "[OK] Перехватчик &$decoratorRu(`"$MethodName`") — $placement"
|
||||||
Write-Host " Файл: $extBsl"
|
Write-Host " Файл: $extBsl"
|
||||||
Write-Host " Процедура: $interceptorName($($method.ParamsText -replace '\s+', ' '))"
|
Write-Host " Процедура: $interceptorName($($method.ParamsText -replace '\s+', ' '))"
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
# cfe-patch-method v2.7 — Source-aware method interceptor for 1C extension (CFE) (+прощающий ввод: имя каталога наравне с именем типа)
|
# cfe-patch-method v2.8 — Source-aware method interceptor for 1C extension (CFE)
|
||||||
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
|
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
|
||||||
|
|
||||||
import argparse
|
import argparse
|
||||||
@@ -75,6 +75,99 @@ CONTEXT_RE = re.compile(
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
# --- Пометка расширенного свойства (<xr:PropertyState>) ---
|
||||||
|
# Свойство появилось в формате 2.19 (8.3.26): на 2.18 и ниже платформа молча выбрасывает элемент
|
||||||
|
# при загрузке. С 2.19 Конфигуратор ставит его сам при выгрузке. Правило: флаг ставит тот, кто
|
||||||
|
# создал файл модуля, — здесь это мы. Имя свойства = базовое имя файла модуля.
|
||||||
|
# Копии этих функций есть в cfe-borrow (навыки автономны); держать их одинаковыми — сознательно.
|
||||||
|
def detect_format_version(d):
|
||||||
|
while d:
|
||||||
|
# Автономная внешняя обработка/отчёт: своего Configuration.xml у неё нет, версию несёт
|
||||||
|
# корень самой обработки. Без этого форма и макет внутри обработки 2.21 писались бы 2.17.
|
||||||
|
ext_path = d + ".xml"
|
||||||
|
if os.path.isfile(ext_path):
|
||||||
|
with open(ext_path, "r", encoding="utf-8-sig") as f:
|
||||||
|
ext_head = f.read(2000)
|
||||||
|
if re.search(r'<(ExternalDataProcessor|ExternalReport)[ >]', ext_head):
|
||||||
|
m = re.search(r'<MetaDataObject[^>]+version="(\d+\.\d+)"', ext_head)
|
||||||
|
if m:
|
||||||
|
return m.group(1)
|
||||||
|
cfg_path = os.path.join(d, "Configuration.xml")
|
||||||
|
if os.path.isfile(cfg_path):
|
||||||
|
with open(cfg_path, "r", encoding="utf-8-sig") as f:
|
||||||
|
head = f.read(2000)
|
||||||
|
m = re.search(r'<MetaDataObject[^>]+version="(\d+\.\d+)"', head)
|
||||||
|
if m:
|
||||||
|
return m.group(1)
|
||||||
|
parent = os.path.dirname(d)
|
||||||
|
if parent == d:
|
||||||
|
break
|
||||||
|
d = parent
|
||||||
|
return "2.17"
|
||||||
|
|
||||||
|
|
||||||
|
def format_rank(ver):
|
||||||
|
""""2.20" → 220, "2.9" → 209. Строковое сравнение неверно ("2.9" > "2.17")."""
|
||||||
|
m = re.match(r'^(\d+)\.(\d+)$', ver or '')
|
||||||
|
return int(m.group(1)) * 100 + int(m.group(2)) if m else 0
|
||||||
|
|
||||||
|
|
||||||
|
def build_property_state_xml(property_name, indent):
|
||||||
|
return "\n".join([
|
||||||
|
f"{indent}<xr:PropertyState>",
|
||||||
|
f"{indent}\t<xr:Property>{property_name}</xr:Property>",
|
||||||
|
f"{indent}\t<xr:State>Extended</xr:State>",
|
||||||
|
f"{indent}</xr:PropertyState>",
|
||||||
|
])
|
||||||
|
|
||||||
|
|
||||||
|
def set_property_state_flag(obj_file, property_name, format_version):
|
||||||
|
if format_rank(format_version) < 219:
|
||||||
|
return
|
||||||
|
if not os.path.isfile(obj_file):
|
||||||
|
return
|
||||||
|
|
||||||
|
with open(obj_file, "r", encoding="utf-8-sig", newline="") as fh:
|
||||||
|
text = fh.read()
|
||||||
|
nl = "\r\n" if "\r\n" in text else "\n"
|
||||||
|
|
||||||
|
# ПЕРВЫЙ <InternalInfo> в файле — собственный у объекта: у реквизитов и подобъектов свои,
|
||||||
|
# но они лежат ниже, внутри <ChildObjects>.
|
||||||
|
empty = re.search(r"([ \t]*)<InternalInfo\s*/>", text)
|
||||||
|
opened = re.search(r"([ \t]*)<InternalInfo>(.*?)</InternalInfo>", text, re.S)
|
||||||
|
|
||||||
|
if empty and (not opened or empty.start() < opened.start()):
|
||||||
|
ind = empty.group(1)
|
||||||
|
block = build_property_state_xml(property_name, ind + "\t")
|
||||||
|
replacement = f"{ind}<InternalInfo>{nl}{block}{nl}{ind}</InternalInfo>"
|
||||||
|
text = text[:empty.start()] + replacement + text[empty.end():]
|
||||||
|
elif opened:
|
||||||
|
if re.search(rf"<xr:Property>{re.escape(property_name)}</xr:Property>", opened.group(2)):
|
||||||
|
return
|
||||||
|
ind = opened.group(1)
|
||||||
|
block = build_property_state_xml(property_name, ind + "\t")
|
||||||
|
# Дописываем в КОНЕЦ InternalInfo: у Конфигуратора PropertyState идёт после GeneratedType.
|
||||||
|
close_at = opened.end() - len("</InternalInfo>") - len(ind)
|
||||||
|
text = text[:close_at] + block + nl + text[close_at:]
|
||||||
|
else:
|
||||||
|
return
|
||||||
|
|
||||||
|
with open(obj_file, "w", encoding="utf-8-sig", newline="") as fh:
|
||||||
|
fh.write(text)
|
||||||
|
|
||||||
|
|
||||||
|
# Модуль формы сюда не попадает: у формы флаг называется Form и ставится при заимствовании,
|
||||||
|
# а не при появлении модуля (замер на 8.3.26 — пустой модуль формы платформа не выгружает).
|
||||||
|
def get_module_flag_target(rel_parts, ext_root):
|
||||||
|
if len(rel_parts) != 4 or rel_parts[2] != "Ext":
|
||||||
|
return None
|
||||||
|
prop = os.path.splitext(rel_parts[3])[0]
|
||||||
|
return {
|
||||||
|
"file": os.path.join(ext_root, rel_parts[0], f"{rel_parts[1]}.xml"),
|
||||||
|
"property": prop,
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
def get_module_rel_path(module_path):
|
def get_module_rel_path(module_path):
|
||||||
parts = module_path.split(".")
|
parts = module_path.split(".")
|
||||||
if len(parts) < 2:
|
if len(parts) < 2:
|
||||||
@@ -841,6 +934,12 @@ def main():
|
|||||||
|
|
||||||
place_new(ext_bsl, ext_lines, ext_exists, method["chain"], core)
|
place_new(ext_bsl, ext_lines, ext_exists, method["chain"], core)
|
||||||
|
|
||||||
|
# Модуль в расширении есть — отражаем это в метаданных объекта (формат ≥ 2.19).
|
||||||
|
flag_target = get_module_flag_target(rel_parts, extension_path)
|
||||||
|
if flag_target:
|
||||||
|
set_property_state_flag(flag_target["file"], flag_target["property"],
|
||||||
|
detect_format_version(extension_path))
|
||||||
|
|
||||||
# emit summary
|
# emit summary
|
||||||
placement = place_new.placement
|
placement = place_new.placement
|
||||||
print('[OK] Перехватчик &%s("%s") — %s' % (decorator_ru, method_name, placement))
|
print('[OK] Перехватчик &%s("%s") — %s' % (decorator_ru, method_name, placement))
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ allowed-tools:
|
|||||||
|
|
||||||
# /cfe-validate — валидация расширения конфигурации (CFE)
|
# /cfe-validate — валидация расширения конфигурации (CFE)
|
||||||
|
|
||||||
Проверяет структурную корректность расширения: XML-формат, свойства, состав, заимствованные объекты. Аналог `/cf-validate`, но для расширений.
|
Проверяет структурную корректность расширения: XML-формат, свойства, состав, заимствованные объекты, права ролей. Аналог `/cf-validate`, но для расширений.
|
||||||
|
|
||||||
## Параметры
|
## Параметры
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# cfe-validate v1.10 — Validate 1C configuration extension structure (CFE) (полнота GeneratedType, ТЧ из AdditionalColumns, сверка путей с -ConfigPath)
|
# cfe-validate v1.13 — Validate 1C configuration extension structure (CFE)
|
||||||
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
|
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
|
||||||
param(
|
param(
|
||||||
[Parameter(Mandatory)]
|
[Parameter(Mandatory)]
|
||||||
@@ -107,7 +107,28 @@ function Get-FormatRank([string]$ver) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
# --- Reference tables ---
|
# --- Reference tables ---
|
||||||
$guidPattern = '^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$'
|
# Модули заимствованных объектов: тип → виды модулей. Имя свойства в <xr:PropertyState>
|
||||||
|
# совпадает с базовым именем файла модуля. Копия таблицы есть в cfe-borrow (навыки автономны).
|
||||||
|
$moduleKindsByType = @{
|
||||||
|
"CommonModule"=@("Module"); "HTTPService"=@("Module"); "WebService"=@("Module")
|
||||||
|
"Catalog"=@("ObjectModule","ManagerModule"); "Document"=@("ObjectModule","ManagerModule")
|
||||||
|
"Report"=@("ObjectModule","ManagerModule"); "DataProcessor"=@("ObjectModule","ManagerModule")
|
||||||
|
"ExchangePlan"=@("ObjectModule","ManagerModule")
|
||||||
|
"ChartOfCharacteristicTypes"=@("ObjectModule","ManagerModule")
|
||||||
|
"ChartOfAccounts"=@("ObjectModule","ManagerModule")
|
||||||
|
"ChartOfCalculationTypes"=@("ObjectModule","ManagerModule")
|
||||||
|
"BusinessProcess"=@("ObjectModule","ManagerModule"); "Task"=@("ObjectModule","ManagerModule")
|
||||||
|
"InformationRegister"=@("RecordSetModule","ManagerModule")
|
||||||
|
"AccumulationRegister"=@("RecordSetModule","ManagerModule")
|
||||||
|
"AccountingRegister"=@("RecordSetModule","ManagerModule")
|
||||||
|
"CalculationRegister"=@("RecordSetModule","ManagerModule")
|
||||||
|
"Sequence"=@("RecordSetModule","ManagerModule")
|
||||||
|
"Constant"=@("ValueManagerModule","ManagerModule")
|
||||||
|
"Enum"=@("ManagerModule"); "DocumentJournal"=@("ManagerModule")
|
||||||
|
"FilterCriterion"=@("ManagerModule")
|
||||||
|
}
|
||||||
|
|
||||||
|
$guidPattern ='^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$'
|
||||||
$identPattern = '^[A-Za-z\u0410-\u042F\u0401\u0430-\u044F\u0451_][A-Za-z0-9\u0410-\u042F\u0401\u0430-\u044F\u0451_]*$'
|
$identPattern = '^[A-Za-z\u0410-\u042F\u0401\u0430-\u044F\u0451_][A-Za-z0-9\u0410-\u042F\u0401\u0430-\u044F\u0451_]*$'
|
||||||
|
|
||||||
# 7 fixed ClassIds for Configuration
|
# 7 fixed ClassIds for Configuration
|
||||||
@@ -1169,8 +1190,113 @@ if (-not $script:stopped -and $script:borrowedFormsWithTree.Count -gt 0) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# --- Check 15: основные роли расширения не дают прав на заимствованные объекты ---
|
||||||
|
# Платформа: «Назначение прав доступа на заимствованные объекты основными ролями в
|
||||||
|
# расширениях недопустимо». Роль вне <DefaultRoles> так делать вправе — проверяем только
|
||||||
|
# основные. Ловится статически, а по симптому (отказ загрузки) причина не читается.
|
||||||
|
$defaultRoleNodes = @($cfgNode.SelectNodes("md:Properties/md:DefaultRoles/xr:Item", $ns))
|
||||||
|
if ($defaultRoleNodes.Count -gt 0) {
|
||||||
|
$adoptedCache = @{}
|
||||||
|
|
||||||
|
function Test-ObjectAdopted {
|
||||||
|
param([string]$typeName, [string]$objName)
|
||||||
|
$key = "$typeName.$objName"
|
||||||
|
if ($adoptedCache.ContainsKey($key)) { return $adoptedCache[$key] }
|
||||||
|
$adoptedCache[$key] = $false
|
||||||
|
if ($childTypeDirMap.ContainsKey($typeName)) {
|
||||||
|
$objPath = Join-Path (Join-Path $configDir $childTypeDirMap[$typeName]) "$objName.xml"
|
||||||
|
if (Test-Path $objPath) {
|
||||||
|
try {
|
||||||
|
$objDoc = New-Object System.Xml.XmlDocument
|
||||||
|
$objDoc.Load($objPath)
|
||||||
|
$objNs = New-Object System.Xml.XmlNamespaceManager($objDoc.NameTable)
|
||||||
|
$objNs.AddNamespace("md", "http://v8.1c.ru/8.3/MDClasses")
|
||||||
|
$ob = $objDoc.SelectSingleNode("/md:MetaDataObject/md:$typeName/md:Properties/md:ObjectBelonging", $objNs)
|
||||||
|
if ($ob -and $ob.InnerText -eq "Adopted") { $adoptedCache[$key] = $true }
|
||||||
|
} catch {}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return $adoptedCache[$key]
|
||||||
|
}
|
||||||
|
|
||||||
|
$check15Ok = $true
|
||||||
|
$check15Count = 0
|
||||||
|
foreach ($rn in $defaultRoleNodes) {
|
||||||
|
$roleRef = $rn.InnerText
|
||||||
|
if ($roleRef -notmatch '^Role\.(.+)$') { continue }
|
||||||
|
$defRoleName = $Matches[1]
|
||||||
|
$rightsPath = Join-Path (Join-Path (Join-Path $configDir "Roles") $defRoleName) "Ext\Rights.xml"
|
||||||
|
if (-not (Test-Path $rightsPath)) { continue }
|
||||||
|
try {
|
||||||
|
$rDoc = New-Object System.Xml.XmlDocument
|
||||||
|
$rDoc.Load($rightsPath)
|
||||||
|
} catch {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
$rNs = New-Object System.Xml.XmlNamespaceManager($rDoc.NameTable)
|
||||||
|
$rNs.AddNamespace("r", "http://v8.1c.ru/8.2/roles")
|
||||||
|
foreach ($nameNode in $rDoc.SelectNodes("/r:Rights/r:object/r:name", $rNs)) {
|
||||||
|
$fullName = $nameNode.InnerText
|
||||||
|
$segs = $fullName.Split(".")
|
||||||
|
# Configuration.* — права самого расширения, не объект; заимствования там нет.
|
||||||
|
if ($segs.Count -lt 2 -or $segs[0] -eq "Configuration") { continue }
|
||||||
|
$check15Count++
|
||||||
|
if (Test-ObjectAdopted $segs[0] $segs[1]) {
|
||||||
|
Report-Error ("15. Роль '$defRoleName' входит в DefaultRoles и даёт права на заимствованный $($segs[0]).$($segs[1]) " +
|
||||||
|
"($fullName): платформа это запрещает. Вынесите такие права в отдельную роль вне DefaultRoles.")
|
||||||
|
$check15Ok = $false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ($check15Ok -and $check15Count -gt 0) {
|
||||||
|
Report-OK "15. Основные роли: прав на заимствованные объекты нет ($check15Count checked)"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if ($script:stopped) { & $finalize; exit 1 }
|
if ($script:stopped) { & $finalize; exit 1 }
|
||||||
|
|
||||||
|
# --- Check 16: модуль заимствованного объекта и пометка расширенного свойства ---
|
||||||
|
# Свойство <xr:PropertyState> появилось в формате 2.19 (8.3.26); ниже платформа его молча
|
||||||
|
# выбрасывает, поэтому там проверять нечего. С 2.19 состояние обязано соответствовать факту:
|
||||||
|
# есть файл модуля — есть пометка, и наоборот. Перекос платформа принимает (проверено на стенде),
|
||||||
|
# но выгрузка Конфигуратора так не выглядит — отсюда предупреждение, а не ошибка.
|
||||||
|
if ($versionRank -ge 219 -and $childObjNode) {
|
||||||
|
$stateIssues = @()
|
||||||
|
$stateChecked = 0
|
||||||
|
foreach ($child in $childObjNode.ChildNodes) {
|
||||||
|
if ($child.NodeType -ne 'Element') { continue }
|
||||||
|
$typeName = $child.LocalName
|
||||||
|
if (-not $moduleKindsByType.ContainsKey($typeName)) { continue }
|
||||||
|
if (-not $childTypeDirMap.ContainsKey($typeName)) { continue }
|
||||||
|
$stateObjName = $child.InnerText.Trim()
|
||||||
|
if (-not $stateObjName) { continue }
|
||||||
|
$typeDir = Join-Path $configDir $childTypeDirMap[$typeName]
|
||||||
|
$objFile = Join-Path $typeDir "$stateObjName.xml"
|
||||||
|
if (-not (Test-Path $objFile)) { continue }
|
||||||
|
$objText = [System.IO.File]::ReadAllText($objFile, [System.Text.Encoding]::UTF8)
|
||||||
|
if ($objText -notmatch '<ObjectBelonging>Adopted</ObjectBelonging>') { continue }
|
||||||
|
|
||||||
|
foreach ($kind in $moduleKindsByType[$typeName]) {
|
||||||
|
$stateChecked++
|
||||||
|
$hasFile = Test-Path (Join-Path (Join-Path (Join-Path $typeDir $stateObjName) "Ext") "$kind.bsl")
|
||||||
|
$hasFlag = $objText -match "<xr:Property>$kind</xr:Property>"
|
||||||
|
if ($hasFile -and -not $hasFlag) {
|
||||||
|
$stateIssues += "$typeName.$stateObjName — есть $kind.bsl, но нет <xr:PropertyState> для $kind"
|
||||||
|
} elseif ($hasFlag -and -not $hasFile) {
|
||||||
|
$stateIssues += "$typeName.$stateObjName — есть <xr:PropertyState> для $kind, но нет $kind.bsl"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($stateChecked -gt 0) {
|
||||||
|
if ($stateIssues.Count -eq 0) {
|
||||||
|
Report-OK "16. Модули заимствованных объектов: пометки расширенных свойств согласованы ($stateChecked)"
|
||||||
|
} else {
|
||||||
|
foreach ($issue in $stateIssues) { Report-Warn "16. $issue" }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
# --- Breadcrumb: controlled methods (&ИзменениеИКонтроль) drift is not checked here ---
|
# --- Breadcrumb: controlled methods (&ИзменениеИКонтроль) drift is not checked here ---
|
||||||
$extRootDir = Split-Path $resolvedPath -Parent
|
$extRootDir = Split-Path $resolvedPath -Parent
|
||||||
$ctrlCount = 0
|
$ctrlCount = 0
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
# cfe-validate v1.10 — Validate 1C configuration extension XML structure (CFE) (полнота GeneratedType, ТЧ из AdditionalColumns, сверка путей с -ConfigPath)
|
# cfe-validate v1.13 — Validate 1C configuration extension XML structure (CFE)
|
||||||
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
|
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
|
||||||
"""Validates extension Configuration.xml: root, InternalInfo, extension properties, ChildObjects, borrowed objects."""
|
"""Validates extension Configuration.xml: root, InternalInfo, extension properties, ChildObjects, borrowed objects."""
|
||||||
import sys, os, argparse, re
|
import sys, os, argparse, re
|
||||||
@@ -71,6 +71,27 @@ CHILD_OBJECT_TYPES = [
|
|||||||
'BusinessProcess', 'Task', 'IntegrationService',
|
'BusinessProcess', 'Task', 'IntegrationService',
|
||||||
]
|
]
|
||||||
|
|
||||||
|
# Модули заимствованных объектов: тип → виды модулей. Имя свойства в <xr:PropertyState>
|
||||||
|
# совпадает с базовым именем файла модуля. Копия таблицы есть в cfe-borrow (навыки автономны).
|
||||||
|
MODULE_KINDS_BY_TYPE = {
|
||||||
|
"CommonModule": ["Module"], "HTTPService": ["Module"], "WebService": ["Module"],
|
||||||
|
"Catalog": ["ObjectModule", "ManagerModule"], "Document": ["ObjectModule", "ManagerModule"],
|
||||||
|
"Report": ["ObjectModule", "ManagerModule"], "DataProcessor": ["ObjectModule", "ManagerModule"],
|
||||||
|
"ExchangePlan": ["ObjectModule", "ManagerModule"],
|
||||||
|
"ChartOfCharacteristicTypes": ["ObjectModule", "ManagerModule"],
|
||||||
|
"ChartOfAccounts": ["ObjectModule", "ManagerModule"],
|
||||||
|
"ChartOfCalculationTypes": ["ObjectModule", "ManagerModule"],
|
||||||
|
"BusinessProcess": ["ObjectModule", "ManagerModule"], "Task": ["ObjectModule", "ManagerModule"],
|
||||||
|
"InformationRegister": ["RecordSetModule", "ManagerModule"],
|
||||||
|
"AccumulationRegister": ["RecordSetModule", "ManagerModule"],
|
||||||
|
"AccountingRegister": ["RecordSetModule", "ManagerModule"],
|
||||||
|
"CalculationRegister": ["RecordSetModule", "ManagerModule"],
|
||||||
|
"Sequence": ["RecordSetModule", "ManagerModule"],
|
||||||
|
"Constant": ["ValueManagerModule", "ManagerModule"],
|
||||||
|
"Enum": ["ManagerModule"], "DocumentJournal": ["ManagerModule"],
|
||||||
|
"FilterCriterion": ["ManagerModule"],
|
||||||
|
}
|
||||||
|
|
||||||
# Type -> directory mapping
|
# Type -> directory mapping
|
||||||
CHILD_TYPE_DIR_MAP = {
|
CHILD_TYPE_DIR_MAP = {
|
||||||
'Language': 'Languages', 'Subsystem': 'Subsystems', 'StyleItem': 'StyleItems', 'Style': 'Styles',
|
'Language': 'Languages', 'Subsystem': 'Subsystems', 'StyleItem': 'StyleItems', 'Style': 'Styles',
|
||||||
@@ -1141,10 +1162,108 @@ def main():
|
|||||||
if check14_ok:
|
if check14_ok:
|
||||||
r.ok(f'14. Object paths vs source config: {path_check_count} checked')
|
r.ok(f'14. Object paths vs source config: {path_check_count} checked')
|
||||||
|
|
||||||
|
# --- Check 15: основные роли расширения не дают прав на заимствованные объекты ---
|
||||||
|
# Платформа: «Назначение прав доступа на заимствованные объекты основными ролями в
|
||||||
|
# расширениях недопустимо». Роль вне <DefaultRoles> так делать вправе — проверяем только
|
||||||
|
# основные. Ловится статически, а по симптому (отказ загрузки) причина не читается.
|
||||||
|
default_role_nodes = cfg_node.findall('md:Properties/md:DefaultRoles/xr:Item', NS)
|
||||||
|
if default_role_nodes:
|
||||||
|
adopted_cache = {}
|
||||||
|
|
||||||
|
def is_object_adopted(type_name, obj_name):
|
||||||
|
key = f"{type_name}.{obj_name}"
|
||||||
|
if key in adopted_cache:
|
||||||
|
return adopted_cache[key]
|
||||||
|
adopted_cache[key] = False
|
||||||
|
dir_name = CHILD_TYPE_DIR_MAP.get(type_name)
|
||||||
|
if dir_name:
|
||||||
|
obj_path = os.path.join(config_dir, dir_name, obj_name + '.xml')
|
||||||
|
if os.path.isfile(obj_path):
|
||||||
|
try:
|
||||||
|
obj_root = etree.parse(obj_path).getroot()
|
||||||
|
ob = obj_root.find(f'md:{type_name}/md:Properties/md:ObjectBelonging', NS)
|
||||||
|
if ob is not None and (ob.text or '') == 'Adopted':
|
||||||
|
adopted_cache[key] = True
|
||||||
|
except Exception:
|
||||||
|
pass
|
||||||
|
return adopted_cache[key]
|
||||||
|
|
||||||
|
check15_ok = True
|
||||||
|
check15_count = 0
|
||||||
|
roles_ns = {'r': 'http://v8.1c.ru/8.2/roles'}
|
||||||
|
for rn in default_role_nodes:
|
||||||
|
m = re.match(r'^Role\.(.+)$', rn.text or '')
|
||||||
|
if not m:
|
||||||
|
continue
|
||||||
|
def_role_name = m.group(1)
|
||||||
|
rights_path = os.path.join(config_dir, 'Roles', def_role_name, 'Ext', 'Rights.xml')
|
||||||
|
if not os.path.isfile(rights_path):
|
||||||
|
continue
|
||||||
|
try:
|
||||||
|
rights_root = etree.parse(rights_path).getroot()
|
||||||
|
except Exception:
|
||||||
|
continue
|
||||||
|
for name_node in rights_root.findall('r:object/r:name', roles_ns):
|
||||||
|
full_name = name_node.text or ''
|
||||||
|
segs = full_name.split('.')
|
||||||
|
# Configuration.* — права самого расширения, не объект; заимствования там нет.
|
||||||
|
if len(segs) < 2 or segs[0] == 'Configuration':
|
||||||
|
continue
|
||||||
|
check15_count += 1
|
||||||
|
if is_object_adopted(segs[0], segs[1]):
|
||||||
|
r.error(f"15. Роль '{def_role_name}' входит в DefaultRoles и даёт права на заимствованный "
|
||||||
|
f"{segs[0]}.{segs[1]} ({full_name}): платформа это запрещает. "
|
||||||
|
"Вынесите такие права в отдельную роль вне DefaultRoles.")
|
||||||
|
check15_ok = False
|
||||||
|
if check15_ok and check15_count > 0:
|
||||||
|
r.ok(f'15. Основные роли: прав на заимствованные объекты нет ({check15_count} checked)')
|
||||||
|
|
||||||
if r.stopped:
|
if r.stopped:
|
||||||
r.finalize(out_file)
|
r.finalize(out_file)
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
|
# --- Check 16: модуль заимствованного объекта и пометка расширенного свойства ---
|
||||||
|
# Свойство <xr:PropertyState> появилось в формате 2.19 (8.3.26); ниже платформа его молча
|
||||||
|
# выбрасывает, поэтому там проверять нечего. С 2.19 состояние обязано соответствовать факту:
|
||||||
|
# есть файл модуля — есть пометка, и наоборот. Перекос платформа принимает (проверено на
|
||||||
|
# стенде), но выгрузка Конфигуратора так не выглядит — отсюда предупреждение, а не ошибка.
|
||||||
|
if version_rank >= 219 and child_obj_node is not None:
|
||||||
|
state_issues = []
|
||||||
|
state_checked = 0
|
||||||
|
for child in child_obj_node:
|
||||||
|
if not isinstance(child.tag, str):
|
||||||
|
continue
|
||||||
|
type_name = etree.QName(child.tag).localname
|
||||||
|
if type_name not in MODULE_KINDS_BY_TYPE or type_name not in CHILD_TYPE_DIR_MAP:
|
||||||
|
continue
|
||||||
|
obj_name_val = (child.text or '').strip()
|
||||||
|
if not obj_name_val:
|
||||||
|
continue
|
||||||
|
type_dir = os.path.join(config_dir, CHILD_TYPE_DIR_MAP[type_name])
|
||||||
|
obj_file = os.path.join(type_dir, f'{obj_name_val}.xml')
|
||||||
|
if not os.path.isfile(obj_file):
|
||||||
|
continue
|
||||||
|
with open(obj_file, 'r', encoding='utf-8-sig') as f:
|
||||||
|
obj_text = f.read()
|
||||||
|
if '<ObjectBelonging>Adopted</ObjectBelonging>' not in obj_text:
|
||||||
|
continue
|
||||||
|
|
||||||
|
for kind in MODULE_KINDS_BY_TYPE[type_name]:
|
||||||
|
state_checked += 1
|
||||||
|
has_file = os.path.isfile(os.path.join(type_dir, obj_name_val, 'Ext', f'{kind}.bsl'))
|
||||||
|
has_flag = f'<xr:Property>{kind}</xr:Property>' in obj_text
|
||||||
|
if has_file and not has_flag:
|
||||||
|
state_issues.append(f'{type_name}.{obj_name_val} — есть {kind}.bsl, но нет <xr:PropertyState> для {kind}')
|
||||||
|
elif has_flag and not has_file:
|
||||||
|
state_issues.append(f'{type_name}.{obj_name_val} — есть <xr:PropertyState> для {kind}, но нет {kind}.bsl')
|
||||||
|
|
||||||
|
if state_checked > 0:
|
||||||
|
if not state_issues:
|
||||||
|
r.ok(f'16. Модули заимствованных объектов: пометки расширенных свойств согласованы ({state_checked})')
|
||||||
|
else:
|
||||||
|
for issue in state_issues:
|
||||||
|
r.warn(f'16. {issue}')
|
||||||
|
|
||||||
# --- Breadcrumb: controlled methods (&ИзменениеИКонтроль) drift is not checked here ---
|
# --- Breadcrumb: controlled methods (&ИзменениеИКонтроль) drift is not checked here ---
|
||||||
ctrl_count = 0
|
ctrl_count = 0
|
||||||
for dp, _dn, files in os.walk(config_dir):
|
for dp, _dn, files in os.walk(config_dir):
|
||||||
|
|||||||
@@ -60,7 +60,18 @@ powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/role-compile.ps1" -
|
|||||||
|
|
||||||
`@` обязателен в shorthand. В объектной форме — `"preset": "view"` без `@`.
|
`@` обязателен в shorthand. В объектной форме — `"preset": "view"` без `@`.
|
||||||
|
|
||||||
Для сервисов (WebService, HTTPService, IntegrationService) пресеты не определены — используй явные права: `"WebService.Имя: Use"`.
|
### Сервисы
|
||||||
|
|
||||||
|
Платформа проверяет право на **вложенном объекте** сервиса — методе шаблона URL, операции, канале. Права на сервис целиком не существует.
|
||||||
|
|
||||||
|
Весь сервис — короткая запись, навык раскроет её по метаданным сервиса в `OutputDir`:
|
||||||
|
|
||||||
|
```json
|
||||||
|
"objects": ["HTTPService.ЭДО: Use"]
|
||||||
|
```
|
||||||
|
→ `HTTPService.ЭДО.URLTemplate.ЕстьНовыеДокументы.Method.POST: Use`, и так по каждому методу каждого шаблона.
|
||||||
|
|
||||||
|
Часть маршрутов — полным путём: `"HTTPService.ЭДО.URLTemplate.ЕстьНовыеДокументы.Method.POST: Use"`.
|
||||||
|
|
||||||
### Русские синонимы
|
### Русские синонимы
|
||||||
|
|
||||||
@@ -103,7 +114,9 @@ powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/role-compile.ps1" -
|
|||||||
|
|
||||||
Права имеют 27 типов объектов; тип или имя права вне списка — ошибка: роль не создаётся, файлы не пишутся, `Configuration.xml` не меняется. Права нельзя назначить на `Enum`, `CommonModule`, `DefinedType`, `CommonPicture`, `CommonTemplate`, `Language`, `FunctionalOption`, `EventSubscription`, `ScheduledJob`, `StyleItem`, `SettingsStorage` и подобные — в дереве редактора ролей их нет.
|
Права имеют 27 типов объектов; тип или имя права вне списка — ошибка: роль не создаётся, файлы не пишутся, `Configuration.xml` не меняется. Права нельзя назначить на `Enum`, `CommonModule`, `DefinedType`, `CommonPicture`, `CommonTemplate`, `Language`, `FunctionalOption`, `EventSubscription`, `ScheduledJob`, `StyleItem`, `SettingsStorage` и подобные — в дереве редактора ролей их нет.
|
||||||
|
|
||||||
Права на части объекта задаются точечным путём: `Catalog.Контрагенты.Attribute.ИНН: View, Edit`, `WebService.Обмен.Operation.Загрузить: Use`.
|
Права на части объекта задаются точечным путём: `Catalog.Контрагенты.Attribute.ИНН: View, Edit`, `WebService.Обмен.Operation.Загрузить: Use`, `HTTPService.ЭДО.URLTemplate.ЕстьНовыеДокументы.Method.POST: Use`.
|
||||||
|
|
||||||
|
Роль расширения, включённая в основные (`DefaultRoles`), прав на заимствованные объекты давать не может — платформа это запрещает. Такие права выноси в отдельную роль вне основных.
|
||||||
|
|
||||||
Полные таблицы «тип → права», виды вложенности (включая внешние источники данных), список типов без прав, таблицы пресетов и дополнительные примеры — в `dsl-reference.md`.
|
Полные таблицы «тип → права», виды вложенности (включая внешние источники данных), список типов без прав, таблицы пресетов и дополнительные примеры — в `dsl-reference.md`.
|
||||||
|
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
| `DocumentJournal` | Read, View |
|
| `DocumentJournal` | Read, View |
|
||||||
| `Sequence` | Read, Update |
|
| `Sequence` | Read, Update |
|
||||||
| `DataProcessor`, `Report` | Use, View |
|
| `DataProcessor`, `Report` | Use, View |
|
||||||
| `WebService`, `HTTPService`, `IntegrationService` | Use |
|
| `WebService`, `HTTPService`, `IntegrationService` | — права только на вложенных объектах, см. ниже |
|
||||||
| `CommonForm`, `CommonCommand`, `Subsystem`, `FilterCriterion` | View |
|
| `CommonForm`, `CommonCommand`, `Subsystem`, `FilterCriterion` | View |
|
||||||
| `CommonAttribute` | View, Edit |
|
| `CommonAttribute` | View, Edit |
|
||||||
| `SessionParameter` | Get, Set |
|
| `SessionParameter` | Get, Set |
|
||||||
@@ -50,7 +50,12 @@
|
|||||||
Примеры: `Catalog.Контрагенты.Attribute.ИНН: View, Edit`,
|
Примеры: `Catalog.Контрагенты.Attribute.ИНН: View, Edit`,
|
||||||
`Document.Реализация.TabularSection.Товары.Attribute.Цена: View`,
|
`Document.Реализация.TabularSection.Товары.Attribute.Цена: View`,
|
||||||
`WebService.Обмен.Operation.Загрузить: Use`,
|
`WebService.Обмен.Operation.Загрузить: Use`,
|
||||||
`HTTPService.API.URLTemplate.Файлы.Method.get: Use`.
|
`HTTPService.API.URLTemplate.Файлы.Method.Получить: Use`.
|
||||||
|
|
||||||
|
Сегмент после `Method.` — **имя объекта Method в дереве метаданных**, а не HTTP-глагол:
|
||||||
|
встречаются и `Method.GET`, и `Method.Установить`, и `Method.СоздатьПодключение`.
|
||||||
|
|
||||||
|
Про короткую запись `HTTPService.API: Use` — раздел «Сервисы» в `SKILL.md`.
|
||||||
|
|
||||||
### Вложенные объекты внешнего источника данных
|
### Вложенные объекты внешнего источника данных
|
||||||
|
|
||||||
@@ -129,7 +134,7 @@
|
|||||||
| CommonAttribute | View, Edit |
|
| CommonAttribute | View, Edit |
|
||||||
|
|
||||||
Для сервисов (WebService, HTTPService, IntegrationService) и внешних источников данных
|
Для сервисов (WebService, HTTPService, IntegrationService) и внешних источников данных
|
||||||
пресеты не определены — задавай права явно: `"WebService.Имя: Use"`.
|
пресеты не определены — задавай права явно: `"WebService.Обмен.Operation.Загрузить: Use"`.
|
||||||
|
|
||||||
## Шаблоны ограничений (RLS templates)
|
## Шаблоны ограничений (RLS templates)
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# role-compile v1.25 — Compile 1C role from JSON (+русские алиасы типов: формы с ё и без)
|
# role-compile v1.26 — Compile 1C role from JSON
|
||||||
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
|
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
|
||||||
param(
|
param(
|
||||||
[Parameter(Mandatory)]
|
[Parameter(Mandatory)]
|
||||||
@@ -469,6 +469,16 @@ $script:kindOwners = @{
|
|||||||
"IntegrationServiceChannel" = "IntegrationService"
|
"IntegrationServiceChannel" = "IntegrationService"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Право на сервис живёт на ЛИСТЕ — методе шаблона URL, операции, канале, — а не на самом
|
||||||
|
# сервисе: корневого узла нет ни в одной типовой роли (907 записей корпуса — ноль), в
|
||||||
|
# Конфигураторе галки на корне нет вовсе. Короткая запись `HTTPService.X: Use` выражает
|
||||||
|
# намерение «открой сервис целиком» и раскрывается в листья по метаданным сервиса.
|
||||||
|
$script:serviceLeaves = @{
|
||||||
|
"WebService" = @{ Dir = "WebServices"; Kinds = @("Operation") }
|
||||||
|
"HTTPService" = @{ Dir = "HTTPServices"; Kinds = @("URLTemplate", "Method") }
|
||||||
|
"IntegrationService" = @{ Dir = "IntegrationServices"; Kinds = @("IntegrationServiceChannel") }
|
||||||
|
}
|
||||||
|
|
||||||
# Один и тот же вид под разными родителями имеет разный набор: измерение регистра —
|
# Один и тот же вид под разными родителями имеет разный набор: измерение регистра —
|
||||||
# View + Edit, измерение куба внешнего источника — только View. Объединять нельзя,
|
# View + Edit, измерение куба внешнего источника — только View. Объединять нельзя,
|
||||||
# объединение молча разрешило бы Edit там, где платформа его не даёт.
|
# объединение молча разрешило бы Edit там, где платформа его не даёт.
|
||||||
@@ -669,6 +679,142 @@ function Validate-RightName {
|
|||||||
return $true
|
return $true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# --- 5a. Service roots: expand to leaves ---
|
||||||
|
|
||||||
|
# Метаданные сервиса читаются один раз на имя: раскрытие и проверка заимствования
|
||||||
|
# спрашивают один и тот же файл.
|
||||||
|
$script:serviceMetaCache = @{}
|
||||||
|
|
||||||
|
function Get-ServiceMeta {
|
||||||
|
param([string]$objectType, [string]$serviceName, [string]$configRoot)
|
||||||
|
|
||||||
|
$key = "$objectType.$serviceName"
|
||||||
|
if ($script:serviceMetaCache.ContainsKey($key)) { return $script:serviceMetaCache[$key] }
|
||||||
|
|
||||||
|
$spec = $script:serviceLeaves[$objectType]
|
||||||
|
$xmlPath = Join-Path (Join-Path $configRoot $spec.Dir) "$serviceName.xml"
|
||||||
|
$result = @{ Path = $xmlPath; Found = $false; Adopted = $false; Leaves = @() }
|
||||||
|
|
||||||
|
if (Test-Path $xmlPath) {
|
||||||
|
try {
|
||||||
|
$doc = New-Object System.Xml.XmlDocument
|
||||||
|
$doc.PreserveWhitespace = $true
|
||||||
|
$doc.Load($xmlPath)
|
||||||
|
$ns = New-Object System.Xml.XmlNamespaceManager($doc.NameTable)
|
||||||
|
$ns.AddNamespace("md", "http://v8.1c.ru/8.3/MDClasses")
|
||||||
|
$root = $doc.SelectSingleNode("/md:MetaDataObject/md:$objectType", $ns)
|
||||||
|
if ($root) {
|
||||||
|
$result.Found = $true
|
||||||
|
# ObjectBelonging=Adopted — сервис заимствован в расширение.
|
||||||
|
$ob = $root.SelectSingleNode("md:Properties/md:ObjectBelonging", $ns)
|
||||||
|
if ($ob -and $ob.InnerText -eq "Adopted") { $result.Adopted = $true }
|
||||||
|
|
||||||
|
# Спуск по видам: у HTTP-сервиса лист лежит на два уровня ниже
|
||||||
|
# (URLTemplate → Method), у остальных — на один.
|
||||||
|
$level = @(@{ Node = $root; Name = "$objectType.$serviceName" })
|
||||||
|
foreach ($kind in $spec.Kinds) {
|
||||||
|
$next = @()
|
||||||
|
foreach ($item in $level) {
|
||||||
|
foreach ($child in $item.Node.SelectNodes("md:ChildObjects/md:$kind", $ns)) {
|
||||||
|
# Имя берём SelectSingleNode: XML-адаптер PowerShell перекрывает
|
||||||
|
# .NET-члены атрибутами, $child.Name отдал бы не то и молча.
|
||||||
|
$nameNode = $child.SelectSingleNode("md:Properties/md:Name", $ns)
|
||||||
|
if (-not $nameNode) { continue }
|
||||||
|
$next += ,@{ Node = $child; Name = "$($item.Name).$kind.$($nameNode.InnerText)" }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$level = $next
|
||||||
|
}
|
||||||
|
$result.Leaves = @($level | ForEach-Object { $_.Name })
|
||||||
|
}
|
||||||
|
} catch {
|
||||||
|
# Битый XML — не наша забота: раскрывать нечего, дальше отработает отказ
|
||||||
|
# «метаданные не найдены» с тем же путём в подсказке.
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$script:serviceMetaCache[$key] = $result
|
||||||
|
return $result
|
||||||
|
}
|
||||||
|
|
||||||
|
# Подсказка формата: единственное, что отличается у трёх видов сервисов, — путь до листа.
|
||||||
|
function Get-ServiceLeafHint {
|
||||||
|
param([string]$objectType, [string]$serviceName)
|
||||||
|
switch ($objectType) {
|
||||||
|
"HTTPService" { return "$objectType.$serviceName.URLTemplate.<Шаблон>.Method.<Метод>: Use" }
|
||||||
|
"WebService" { return "$objectType.$serviceName.Operation.<Операция>: Use" }
|
||||||
|
default { return "$objectType.$serviceName.IntegrationServiceChannel.<Канал>: Use" }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# Роль расширения, включённая в <DefaultRoles>, прав на заимствованные объекты давать не
|
||||||
|
# может — платформа отвечает «Назначение прав доступа на заимствованные объекты основными
|
||||||
|
# ролями в расширениях недопустимо». Считаем один раз: имя роли за прогон не меняется.
|
||||||
|
$script:isDefaultRole = $null
|
||||||
|
|
||||||
|
function Test-DefaultRole {
|
||||||
|
param([string]$configRoot, [string]$name)
|
||||||
|
|
||||||
|
if ($null -ne $script:isDefaultRole) { return $script:isDefaultRole }
|
||||||
|
$script:isDefaultRole = $false
|
||||||
|
|
||||||
|
$cfgPath = Join-Path $configRoot "Configuration.xml"
|
||||||
|
if (Test-Path $cfgPath) {
|
||||||
|
$text = [System.IO.File]::ReadAllText($cfgPath, [System.Text.Encoding]::UTF8)
|
||||||
|
# Только расширение: у обычной конфигурации DefaultRoles значит другое и запрета нет.
|
||||||
|
if ($text -match '<ConfigurationExtensionPurpose>' -and $text -match '(?s)<DefaultRoles>(.*?)</DefaultRoles>') {
|
||||||
|
# -cmatch, а не -match: -match регистронезависим и «Расш1_Роль1» совпал бы
|
||||||
|
# с «расш1_роль1», молча приняв роль за основную.
|
||||||
|
$script:isDefaultRole = ($Matches[1] -cmatch ([regex]::Escape("Role.$name") + '\s*<'))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return $script:isDefaultRole
|
||||||
|
}
|
||||||
|
|
||||||
|
# Возвращает список записей на замену исходной: сервисный корень раскрывается в листья,
|
||||||
|
# всё остальное проходит как есть.
|
||||||
|
function Expand-ServiceEntry {
|
||||||
|
param($parsed, [string]$configRoot, [string]$name)
|
||||||
|
|
||||||
|
$objName = $parsed.Name
|
||||||
|
$objectType = Get-ObjectType $objName
|
||||||
|
if (-not $script:serviceLeaves.ContainsKey($objectType)) { return @($parsed) }
|
||||||
|
|
||||||
|
$parts = $objName.Split(".")
|
||||||
|
if ($parts.Count -lt 2) { return @($parsed) }
|
||||||
|
$serviceName = $parts[1]
|
||||||
|
$meta = Get-ServiceMeta -objectType $objectType -serviceName $serviceName -configRoot $configRoot
|
||||||
|
|
||||||
|
if ($meta.Adopted -and (Test-DefaultRole -configRoot $configRoot -name $name)) {
|
||||||
|
Add-ValidationError ("${objName}: '$name' — основная роль расширения (входит в DefaultRoles), " +
|
||||||
|
"а $objectType.$serviceName заимствован; назначать права на заимствованные объекты " +
|
||||||
|
"основными ролями расширения платформа запрещает. Заведите отдельную роль и не включайте её в основные.")
|
||||||
|
return @()
|
||||||
|
}
|
||||||
|
|
||||||
|
# Полный путь пользователь задал сам — раскрывать нечего.
|
||||||
|
if ($parts.Count -gt 2) { return @($parsed) }
|
||||||
|
|
||||||
|
$hint = Get-ServiceLeafHint -objectType $objectType -serviceName $serviceName
|
||||||
|
if (-not $meta.Found) {
|
||||||
|
Add-ValidationError ("${objName}: метаданные сервиса не найдены ($($meta.Path)); " +
|
||||||
|
"право на сервис целиком платформа игнорирует — укажите листья явно: $hint")
|
||||||
|
return @()
|
||||||
|
}
|
||||||
|
if ($meta.Leaves.Count -eq 0) {
|
||||||
|
Add-ValidationError ("${objName}: у сервиса нет ни одного вложенного объекта, раскрывать нечего; " +
|
||||||
|
"право на сервис целиком платформа игнорирует. Для заимствованного сервиса заимствуйте нужные методы, затем: $hint")
|
||||||
|
return @()
|
||||||
|
}
|
||||||
|
|
||||||
|
$expanded = @()
|
||||||
|
foreach ($leaf in $meta.Leaves) {
|
||||||
|
$expanded += ,@{ Name = $leaf; Rights = $parsed.Rights }
|
||||||
|
}
|
||||||
|
Write-Host " $objName -> раскрыт (вложенных объектов: $($expanded.Count))"
|
||||||
|
return $expanded
|
||||||
|
}
|
||||||
|
|
||||||
# --- 6. Parse object entries ---
|
# --- 6. Parse object entries ---
|
||||||
|
|
||||||
function Parse-ObjectEntry {
|
function Parse-ObjectEntry {
|
||||||
@@ -776,12 +922,24 @@ function Parse-ObjectEntry {
|
|||||||
# Synonym: accept "rights" as alias for "objects"
|
# Synonym: accept "rights" as alias for "objects"
|
||||||
if (-not $def.objects -and $def.rights) { $def | Add-Member -NotePropertyName objects -NotePropertyValue $def.rights }
|
if (-not $def.objects -and $def.rights) { $def | Add-Member -NotePropertyName objects -NotePropertyValue $def.rights }
|
||||||
|
|
||||||
|
# Путь нужен уже здесь: раскрытие сервисного корня читает метаданные сервиса рядом с ролью.
|
||||||
|
$resolvedOutputDir = if ([System.IO.Path]::IsPathRooted($OutputDir)) { $OutputDir } else { Join-Path (Get-Location) $OutputDir }
|
||||||
|
|
||||||
$parsedObjects = @()
|
$parsedObjects = @()
|
||||||
|
$seenObjectNames = @{}
|
||||||
if ($def.objects) {
|
if ($def.objects) {
|
||||||
foreach ($entry in $def.objects) {
|
foreach ($entry in $def.objects) {
|
||||||
$parsed = Parse-ObjectEntry -entry $entry
|
$parsed = Parse-ObjectEntry -entry $entry
|
||||||
if ($parsed) {
|
if (-not $parsed) { continue }
|
||||||
$parsedObjects += ,$parsed
|
foreach ($p in (Expand-ServiceEntry -parsed $parsed -configRoot $resolvedOutputDir -name $roleName)) {
|
||||||
|
# Дубль возникает штатно: раскрытый лист совпал с явно заданным. Права на листе
|
||||||
|
# одни и те же (Use), так что вторая запись — шум, а не конфликт.
|
||||||
|
if ($seenObjectNames.ContainsKey($p.Name)) {
|
||||||
|
Write-Warning "$($p.Name): объект указан дважды, вторая запись пропущена"
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
$seenObjectNames[$p.Name] = $true
|
||||||
|
$parsedObjects += ,$p
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -831,7 +989,6 @@ function Get-FormatRank([string]$ver) {
|
|||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
$resolvedOutputDir =if ([System.IO.Path]::IsPathRooted($OutputDir)) { $OutputDir } else { Join-Path (Get-Location) $OutputDir }
|
|
||||||
Assert-EditAllowed $resolvedOutputDir 'editable'
|
Assert-EditAllowed $resolvedOutputDir 'editable'
|
||||||
$formatVersion = Detect-FormatVersion $resolvedOutputDir
|
$formatVersion = Detect-FormatVersion $resolvedOutputDir
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
# role-compile v1.25 — Compile 1C role from JSON (+русские алиасы типов: формы с ё и без)
|
# role-compile v1.26 — Compile 1C role from JSON
|
||||||
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
|
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
|
||||||
import argparse
|
import argparse
|
||||||
import json
|
import json
|
||||||
@@ -582,6 +582,16 @@ KIND_OWNERS = {
|
|||||||
'IntegrationServiceChannel': 'IntegrationService',
|
'IntegrationServiceChannel': 'IntegrationService',
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Право на сервис живёт на ЛИСТЕ — методе шаблона URL, операции, канале, — а не на самом
|
||||||
|
# сервисе: корневого узла нет ни в одной типовой роли (907 записей корпуса — ноль), в
|
||||||
|
# Конфигураторе галки на корне нет вовсе. Короткая запись `HTTPService.X: Use` выражает
|
||||||
|
# намерение «открой сервис целиком» и раскрывается в листья по метаданным сервиса.
|
||||||
|
SERVICE_LEAVES = {
|
||||||
|
'WebService': {'dir': 'WebServices', 'kinds': ['Operation']},
|
||||||
|
'HTTPService': {'dir': 'HTTPServices', 'kinds': ['URLTemplate', 'Method']},
|
||||||
|
'IntegrationService': {'dir': 'IntegrationServices', 'kinds': ['IntegrationServiceChannel']},
|
||||||
|
}
|
||||||
|
|
||||||
# Один и тот же вид под разными родителями имеет разный набор: измерение регистра —
|
# Один и тот же вид под разными родителями имеет разный набор: измерение регистра —
|
||||||
# View + Edit, измерение куба внешнего источника — только View. Объединять нельзя,
|
# View + Edit, измерение куба внешнего источника — только View. Объединять нельзя,
|
||||||
# объединение молча разрешило бы Edit там, где платформа его не даёт.
|
# объединение молча разрешило бы Edit там, где платформа его не даёт.
|
||||||
@@ -768,6 +778,133 @@ def validate_right_name(object_name, right_name):
|
|||||||
return True
|
return True
|
||||||
|
|
||||||
|
|
||||||
|
MD_NS = 'http://v8.1c.ru/8.3/MDClasses'
|
||||||
|
|
||||||
|
# Метаданные сервиса читаются один раз на имя: раскрытие и проверка заимствования
|
||||||
|
# спрашивают один и тот же файл.
|
||||||
|
SERVICE_META_CACHE = {}
|
||||||
|
|
||||||
|
|
||||||
|
def get_service_meta(object_type, service_name, config_root):
|
||||||
|
key = f"{object_type}.{service_name}"
|
||||||
|
if key in SERVICE_META_CACHE:
|
||||||
|
return SERVICE_META_CACHE[key]
|
||||||
|
|
||||||
|
spec = SERVICE_LEAVES[object_type]
|
||||||
|
xml_path = os.path.join(config_root, spec['dir'], f"{service_name}.xml")
|
||||||
|
result = {'path': xml_path, 'found': False, 'adopted': False, 'leaves': []}
|
||||||
|
|
||||||
|
if os.path.isfile(xml_path):
|
||||||
|
try:
|
||||||
|
root = etree.parse(xml_path).getroot()
|
||||||
|
node = root.find(f"{{{MD_NS}}}{object_type}")
|
||||||
|
if node is not None:
|
||||||
|
result['found'] = True
|
||||||
|
# ObjectBelonging=Adopted — сервис заимствован в расширение.
|
||||||
|
ob = node.find(f"{{{MD_NS}}}Properties/{{{MD_NS}}}ObjectBelonging")
|
||||||
|
if ob is not None and (ob.text or '') == 'Adopted':
|
||||||
|
result['adopted'] = True
|
||||||
|
|
||||||
|
# Спуск по видам: у HTTP-сервиса лист лежит на два уровня ниже
|
||||||
|
# (URLTemplate → Method), у остальных — на один.
|
||||||
|
level = [(node, f"{object_type}.{service_name}")]
|
||||||
|
for kind in spec['kinds']:
|
||||||
|
nxt = []
|
||||||
|
for item_node, item_name in level:
|
||||||
|
for child in item_node.findall(f"{{{MD_NS}}}ChildObjects/{{{MD_NS}}}{kind}"):
|
||||||
|
name_node = child.find(f"{{{MD_NS}}}Properties/{{{MD_NS}}}Name")
|
||||||
|
if name_node is None:
|
||||||
|
continue
|
||||||
|
nxt.append((child, f"{item_name}.{kind}.{name_node.text}"))
|
||||||
|
level = nxt
|
||||||
|
result['leaves'] = [n for _, n in level]
|
||||||
|
except Exception:
|
||||||
|
# Битый XML — не наша забота: раскрывать нечего, дальше отработает отказ
|
||||||
|
# «метаданные не найдены» с тем же путём в подсказке.
|
||||||
|
pass
|
||||||
|
|
||||||
|
SERVICE_META_CACHE[key] = result
|
||||||
|
return result
|
||||||
|
|
||||||
|
|
||||||
|
def get_service_leaf_hint(object_type, service_name):
|
||||||
|
"""Подсказка формата: единственное, что отличается у трёх видов сервисов, — путь до листа."""
|
||||||
|
if object_type == 'HTTPService':
|
||||||
|
return f"{object_type}.{service_name}.URLTemplate.<Шаблон>.Method.<Метод>: Use"
|
||||||
|
if object_type == 'WebService':
|
||||||
|
return f"{object_type}.{service_name}.Operation.<Операция>: Use"
|
||||||
|
return f"{object_type}.{service_name}.IntegrationServiceChannel.<Канал>: Use"
|
||||||
|
|
||||||
|
|
||||||
|
# Роль расширения, включённая в <DefaultRoles>, прав на заимствованные объекты давать не
|
||||||
|
# может — платформа отвечает «Назначение прав доступа на заимствованные объекты основными
|
||||||
|
# ролями в расширениях недопустимо». Считаем один раз: имя роли за прогон не меняется.
|
||||||
|
IS_DEFAULT_ROLE = None
|
||||||
|
|
||||||
|
|
||||||
|
def test_default_role(config_root, name):
|
||||||
|
global IS_DEFAULT_ROLE
|
||||||
|
if IS_DEFAULT_ROLE is not None:
|
||||||
|
return IS_DEFAULT_ROLE
|
||||||
|
IS_DEFAULT_ROLE = False
|
||||||
|
|
||||||
|
cfg_path = os.path.join(config_root, 'Configuration.xml')
|
||||||
|
if os.path.isfile(cfg_path):
|
||||||
|
with open(cfg_path, 'r', encoding='utf-8-sig') as f:
|
||||||
|
text = f.read()
|
||||||
|
# Только расширение: у обычной конфигурации DefaultRoles значит другое и запрета нет.
|
||||||
|
if '<ConfigurationExtensionPurpose>' in text:
|
||||||
|
m = re.search(r'<DefaultRoles>(.*?)</DefaultRoles>', text, re.S)
|
||||||
|
# Сравнение регистрозависимое — паритет с -cmatch в PS1, где регистронезависимый
|
||||||
|
# -match принял бы «расш1_роль1» за основную роль «Расш1_Роль1».
|
||||||
|
if m and re.search(re.escape(f"Role.{name}") + r'\s*<', m.group(1)):
|
||||||
|
IS_DEFAULT_ROLE = True
|
||||||
|
return IS_DEFAULT_ROLE
|
||||||
|
|
||||||
|
|
||||||
|
def expand_service_entry(parsed, config_root, name):
|
||||||
|
"""Возвращает список записей на замену исходной: сервисный корень раскрывается в листья,
|
||||||
|
всё остальное проходит как есть."""
|
||||||
|
obj_name = parsed['Name']
|
||||||
|
object_type = get_object_type(obj_name)
|
||||||
|
if object_type not in SERVICE_LEAVES:
|
||||||
|
return [parsed]
|
||||||
|
|
||||||
|
parts = obj_name.split('.')
|
||||||
|
if len(parts) < 2:
|
||||||
|
return [parsed]
|
||||||
|
service_name = parts[1]
|
||||||
|
meta = get_service_meta(object_type, service_name, config_root)
|
||||||
|
|
||||||
|
if meta['adopted'] and test_default_role(config_root, name):
|
||||||
|
add_validation_error(
|
||||||
|
f"{obj_name}: '{name}' — основная роль расширения (входит в DefaultRoles), "
|
||||||
|
f"а {object_type}.{service_name} заимствован; назначать права на заимствованные объекты "
|
||||||
|
"основными ролями расширения платформа запрещает. Заведите отдельную роль и не включайте её в основные.")
|
||||||
|
return []
|
||||||
|
|
||||||
|
# Полный путь пользователь задал сам — раскрывать нечего.
|
||||||
|
if len(parts) > 2:
|
||||||
|
return [parsed]
|
||||||
|
|
||||||
|
hint = get_service_leaf_hint(object_type, service_name)
|
||||||
|
if not meta['found']:
|
||||||
|
add_validation_error(
|
||||||
|
f"{obj_name}: метаданные сервиса не найдены ({meta['path']}); "
|
||||||
|
f"право на сервис целиком платформа игнорирует — укажите листья явно: {hint}")
|
||||||
|
return []
|
||||||
|
if not meta['leaves']:
|
||||||
|
add_validation_error(
|
||||||
|
f"{obj_name}: у сервиса нет ни одного вложенного объекта, раскрывать нечего; "
|
||||||
|
"право на сервис целиком платформа игнорирует. "
|
||||||
|
f"Для заимствованного сервиса заимствуйте нужные методы, затем: {hint}")
|
||||||
|
return []
|
||||||
|
|
||||||
|
expanded = [{'Name': leaf, 'Rights': parsed['Rights']} for leaf in meta['leaves']]
|
||||||
|
print(f" {obj_name} -> раскрыт (вложенных объектов: {len(expanded)})")
|
||||||
|
return expanded
|
||||||
|
|
||||||
|
|
||||||
def parse_object_entry(entry):
|
def parse_object_entry(entry):
|
||||||
# --- String shorthand ---
|
# --- String shorthand ---
|
||||||
if isinstance(entry, str):
|
if isinstance(entry, str):
|
||||||
@@ -891,11 +1028,20 @@ def main():
|
|||||||
|
|
||||||
# --- 2. Parse all object entries ---
|
# --- 2. Parse all object entries ---
|
||||||
parsed_objects = []
|
parsed_objects = []
|
||||||
|
seen_object_names = set()
|
||||||
if defn.get('objects'):
|
if defn.get('objects'):
|
||||||
for entry in defn['objects']:
|
for entry in defn['objects']:
|
||||||
parsed = parse_object_entry(entry)
|
parsed = parse_object_entry(entry)
|
||||||
if parsed:
|
if not parsed:
|
||||||
parsed_objects.append(parsed)
|
continue
|
||||||
|
for p in expand_service_entry(parsed, out_dir_resolved, role_name):
|
||||||
|
# Дубль возникает штатно: раскрытый лист совпал с явно заданным. Права на
|
||||||
|
# листе одни и те же (Use), так что вторая запись — шум, а не конфликт.
|
||||||
|
if p['Name'] in seen_object_names:
|
||||||
|
print(f"WARNING: {p['Name']}: объект указан дважды, вторая запись пропущена", file=sys.stderr)
|
||||||
|
continue
|
||||||
|
seen_object_names.add(p['Name'])
|
||||||
|
parsed_objects.append(p)
|
||||||
|
|
||||||
# Отказ ДО записи: роль пишется тремя файлами (метаданные, права, регистрация в
|
# Отказ ДО записи: роль пишется тремя файлами (метаданные, права, регистрация в
|
||||||
# Configuration.xml), и частично записанная роль хуже отсутствующей. Печатаем все
|
# Configuration.xml), и частично записанная роль хуже отсутствующей. Печатаем все
|
||||||
|
|||||||
@@ -33,6 +33,7 @@ powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/role-validate.ps1"
|
|||||||
- тип объекта, не имеющий прав в ролях (`Enum`, `CommonModule`, `CommonPicture`, `ScheduledJob` и т.п.) — конфигурация с блоком прав на перечисление не загружается в базу, конфигуратор зависает без сообщений;
|
- тип объекта, не имеющий прав в ролях (`Enum`, `CommonModule`, `CommonPicture`, `ScheduledJob` и т.п.) — конфигурация с блоком прав на перечисление не загружается в базу, конфигуратор зависает без сообщений;
|
||||||
- незнакомый тип объекта (опечатка);
|
- незнакомый тип объекта (опечатка);
|
||||||
- имя права, которого у этого типа нет;
|
- имя права, которого у этого типа нет;
|
||||||
- вид вложенности, невозможный у данного типа, и недопустимое право у вложенного объекта.
|
- вид вложенности, невозможный у данного типа, и недопустимое право у вложенного объекта;
|
||||||
|
- право на сервис целиком (`HTTPService.Имя` и т.п.) — платформа проверяет вложенный объект (метод шаблона URL, операцию, канал), а роль с правом на корень молча не работает: маршруты отвечают `403 Недостаточно прав`.
|
||||||
|
|
||||||
Полные списки «тип → права» и виды вложенности — в `role-compile/dsl-reference.md`.
|
Полные списки «тип → права» и виды вложенности — в `role-compile/dsl-reference.md`.
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# role-validate v1.3 — Validate 1C role structure
|
# role-validate v1.4 — Validate 1C role structure
|
||||||
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
|
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
|
||||||
param(
|
param(
|
||||||
[Parameter(Mandatory)]
|
[Parameter(Mandatory)]
|
||||||
@@ -176,6 +176,13 @@ $script:kindOwners = @{
|
|||||||
"IntegrationServiceChannel" = "IntegrationService"
|
"IntegrationServiceChannel" = "IntegrationService"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Подсказка формата для каждого вида сервиса: {0} подставляется как `Тип.Имя` из роли.
|
||||||
|
$script:serviceLeafHints = @{
|
||||||
|
"WebService" = "{0}.Operation.<Операция>"
|
||||||
|
"HTTPService" = "{0}.URLTemplate.<Шаблон>.Method.<Метод>"
|
||||||
|
"IntegrationService" = "{0}.IntegrationServiceChannel.<Канал>"
|
||||||
|
}
|
||||||
|
|
||||||
# Один и тот же вид под разными родителями имеет разный набор: измерение регистра —
|
# Один и тот же вид под разными родителями имеет разный набор: измерение регистра —
|
||||||
# View + Edit, измерение куба внешнего источника — только View. Объединять нельзя,
|
# View + Edit, измерение куба внешнего источника — только View. Объединять нельзя,
|
||||||
# объединение молча разрешило бы Edit там, где платформа его не даёт.
|
# объединение молча разрешило бы Edit там, где платформа его не даёт.
|
||||||
@@ -405,6 +412,12 @@ foreach ($obj in $objects) {
|
|||||||
Report-Error "${objName}: вид '$nestedKind' бывает только у $($script:kindOwners[$nestedKind])"
|
Report-Error "${objName}: вид '$nestedKind' бывает только у $($script:kindOwners[$nestedKind])"
|
||||||
} elseif ($isNested -and $null -eq (Get-NestedRights $objectType $nestedKind)) {
|
} elseif ($isNested -and $null -eq (Get-NestedRights $objectType $nestedKind)) {
|
||||||
Report-Error "${objName}: неизвестный вид вложенности '$nestedKind'"
|
Report-Error "${objName}: неизвестный вид вложенности '$nestedKind'"
|
||||||
|
} elseif (-not $isNested -and $script:serviceLeafHints.ContainsKey($objectType)) {
|
||||||
|
# Право на сервис целиком платформа игнорирует: проверяется лист (метод шаблона URL,
|
||||||
|
# операция, канал). Роль формально валидна и молча не работает — 403 на всех
|
||||||
|
# маршрутах, причина по симптому не читается. В Конфигураторе галки на корне сервиса
|
||||||
|
# нет вовсе, так что это недостижимое состояние, а не стилистика.
|
||||||
|
Report-Error "${objName}: право на сервис целиком не действует — назначайте права на вложенные объекты: $($script:serviceLeafHints[$objectType] -f $objName)"
|
||||||
}
|
}
|
||||||
|
|
||||||
# Check rights
|
# Check rights
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
# role-validate v1.3 — Validate 1C role Rights.xml structure
|
# role-validate v1.4 — Validate 1C role Rights.xml structure
|
||||||
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
|
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
|
||||||
"""Validates role Rights.xml: root element, global flags, objects, rights, RLS, templates."""
|
"""Validates role Rights.xml: root element, global flags, objects, rights, RLS, templates."""
|
||||||
import sys, os, argparse, re
|
import sys, os, argparse, re
|
||||||
@@ -194,6 +194,13 @@ KIND_OWNERS = {
|
|||||||
'IntegrationServiceChannel': 'IntegrationService',
|
'IntegrationServiceChannel': 'IntegrationService',
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Подсказка формата для каждого вида сервиса: {0} подставляется как `Тип.Имя` из роли.
|
||||||
|
SERVICE_LEAF_HINTS = {
|
||||||
|
'WebService': '{0}.Operation.<Операция>',
|
||||||
|
'HTTPService': '{0}.URLTemplate.<Шаблон>.Method.<Метод>',
|
||||||
|
'IntegrationService': '{0}.IntegrationServiceChannel.<Канал>',
|
||||||
|
}
|
||||||
|
|
||||||
# Один и тот же вид под разными родителями имеет разный набор: измерение регистра —
|
# Один и тот же вид под разными родителями имеет разный набор: измерение регистра —
|
||||||
# View + Edit, измерение куба внешнего источника — только View. Объединять нельзя,
|
# View + Edit, измерение куба внешнего источника — только View. Объединять нельзя,
|
||||||
# объединение молча разрешило бы Edit там, где платформа его не даёт.
|
# объединение молча разрешило бы Edit там, где платформа его не даёт.
|
||||||
@@ -436,6 +443,14 @@ def main():
|
|||||||
report_error(f"{obj_name}: вид '{nested_kind}' бывает только у {KIND_OWNERS[nested_kind]}")
|
report_error(f"{obj_name}: вид '{nested_kind}' бывает только у {KIND_OWNERS[nested_kind]}")
|
||||||
elif is_nested and get_nested_rights(object_type, nested_kind) is None:
|
elif is_nested and get_nested_rights(object_type, nested_kind) is None:
|
||||||
report_error(f"{obj_name}: неизвестный вид вложенности '{nested_kind}'")
|
report_error(f"{obj_name}: неизвестный вид вложенности '{nested_kind}'")
|
||||||
|
elif not is_nested and object_type in SERVICE_LEAF_HINTS:
|
||||||
|
# Право на сервис целиком платформа игнорирует: проверяется лист (метод шаблона
|
||||||
|
# URL, операция, канал). Роль формально валидна и молча не работает — 403 на всех
|
||||||
|
# маршрутах, причина по симптому не читается. В Конфигураторе галки на корне
|
||||||
|
# сервиса нет вовсе, так что это недостижимое состояние, а не стилистика.
|
||||||
|
hint = SERVICE_LEAF_HINTS[object_type].format(obj_name)
|
||||||
|
report_error(f"{obj_name}: право на сервис целиком не действует — "
|
||||||
|
f"назначайте права на вложенные объекты: {hint}")
|
||||||
|
|
||||||
# Check rights
|
# Check rights
|
||||||
for child in obj:
|
for child in obj:
|
||||||
|
|||||||
@@ -922,7 +922,7 @@ ChildObjects содержат `IntegrationServiceChannel` (каналы) — inl
|
|||||||
|
|
||||||
### 6.14. XDTOPackage — XDTO-пакет
|
### 6.14. XDTOPackage — XDTO-пакет
|
||||||
|
|
||||||
Каталог: `XDTOPackages/`. Файлы: `<Имя>.xml` (метаданные) + `<Имя>/Ext/Package.xdto` (схема).
|
Каталог: `XDTOPackages/`. Файлы: `<Имя>.xml` (метаданные) + `<Имя>/Ext/Package.bin` (модель пакета — текстовый XML в UTF-8 с BOM, несмотря на расширение).
|
||||||
|
|
||||||
```xml
|
```xml
|
||||||
<XDTOPackage uuid="...">
|
<XDTOPackage uuid="...">
|
||||||
|
|||||||
@@ -662,6 +662,31 @@ Form.xml заимствованной формы — **двухчастный ф
|
|||||||
|----------|----------|
|
|----------|----------|
|
||||||
| `Notify` | Свойство изменено расширением, платформа выводит предупреждение |
|
| `Notify` | Свойство изменено расширением, платформа выводит предупреждение |
|
||||||
| `MultiState` | Свойство расширено (тип отличается от основной конфигурации) |
|
| `MultiState` | Свойство расширено (тип отличается от основной конфигурации) |
|
||||||
|
| `Extended` | Свойство расширено: у объекта появился модуль или изменена форма |
|
||||||
|
|
||||||
|
#### Extended — модули и формы заимствованных объектов
|
||||||
|
|
||||||
|
`Extended` стоит на самом заимствованном объекте (а не на реквизите) и означает, что расширение
|
||||||
|
принесло содержимое свойства. Имя свойства совпадает с **базовым именем файла модуля**:
|
||||||
|
|
||||||
|
| Файл в расширении | `xr:Property` |
|
||||||
|
|-------------------|---------------|
|
||||||
|
| `Ext/Module.bsl` (общий модуль, HTTP- и web-сервис) | `Module` |
|
||||||
|
| `Ext/ObjectModule.bsl` | `ObjectModule` |
|
||||||
|
| `Ext/ManagerModule.bsl` | `ManagerModule` |
|
||||||
|
| `Ext/RecordSetModule.bsl` | `RecordSetModule` |
|
||||||
|
| `Ext/ValueManagerModule.bsl` | `ValueManagerModule` |
|
||||||
|
| `Commands/<Имя>/Ext/CommandModule.bsl` | `CommandModule` — на вложенном `<Command>`, не у владельца |
|
||||||
|
| заимствованная форма | `Form` — в метаданных формы |
|
||||||
|
|
||||||
|
Порядок внутри `InternalInfo`: после всех `xr:GeneratedType`, сначала «объектный» модуль
|
||||||
|
(`ObjectModule` / `RecordSetModule` / `ValueManagerModule`), затем `ManagerModule`.
|
||||||
|
|
||||||
|
**Версионность.** Элемент появился в версии формата **2.19 (8.3.26)**. На 2.18 и ниже платформа
|
||||||
|
молча выбрасывает его при загрузке. Начиная с 2.19 Конфигуратор проставляет пометку сам при
|
||||||
|
выгрузке — триггером служит наличие файла модуля, даже пустого; заимствованный объект без модуля
|
||||||
|
её не получает. Расхождение (файл без пометки или пометка без файла) платформа принимает без
|
||||||
|
ошибок, но выгрузка Конфигуратора так не выглядит.
|
||||||
|
|
||||||
### 6.2. ExtendedProperty — расширение типа
|
### 6.2. ExtendedProperty — расширение типа
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,43 @@
|
|||||||
|
{
|
||||||
|
"name": "Общий модуль: файл создаётся сам, -Module None отменяет",
|
||||||
|
"setup": "empty-config-220",
|
||||||
|
"preRun": [
|
||||||
|
{
|
||||||
|
"script": "meta-compile/scripts/meta-compile",
|
||||||
|
"input": { "type": "CommonModule", "name": "ОбщийМодуль1", "context": "server" },
|
||||||
|
"args": { "-JsonPath": "{inputFile}", "-OutputDir": "{workDir}" }
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"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": "CommonModule.ОбщийМодуль1",
|
||||||
|
"-Module": "None"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"script": "meta-compile/scripts/meta-compile",
|
||||||
|
"input": { "type": "CommonModule", "name": "ОбщийМодуль2", "context": "server" },
|
||||||
|
"args": { "-JsonPath": "{inputFile}", "-OutputDir": "{workDir}" }
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"params": { "extensionPath": "cfe" },
|
||||||
|
"object": "CommonModule.ОбщийМодуль2",
|
||||||
|
"expect": {
|
||||||
|
"fileContains": [
|
||||||
|
{
|
||||||
|
"file": "cfe/CommonModules/ОбщийМодуль2.xml",
|
||||||
|
"text": ["<xr:Property>Module</xr:Property>", "<xr:State>Extended</xr:State>"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"file": "cfe/CommonModules/ОбщийМодуль1.xml",
|
||||||
|
"text": "<InternalInfo/>"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,30 @@
|
|||||||
|
{
|
||||||
|
"name": "Модули справочника по -Module: файлы и пометки расширенных свойств (2.20)",
|
||||||
|
"setup": "empty-config-220",
|
||||||
|
"preRun": [
|
||||||
|
{
|
||||||
|
"script": "meta-compile/scripts/meta-compile",
|
||||||
|
"input": { "type": "Catalog", "name": "Товары" },
|
||||||
|
"args": { "-JsonPath": "{inputFile}", "-OutputDir": "{workDir}" }
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"script": "cfe-init/scripts/cfe-init",
|
||||||
|
"args": { "-Name": "Тест", "-OutputDir": "{workDir}/cfe", "-ConfigPath": "{workDir}" }
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"params": { "extensionPath": "cfe" },
|
||||||
|
"object": "Catalog.Товары",
|
||||||
|
"args_extra": ["-Module", "ObjectModule,ManagerModule"],
|
||||||
|
"expect": {
|
||||||
|
"fileContains": [
|
||||||
|
{
|
||||||
|
"file": "cfe/Catalogs/Товары.xml",
|
||||||
|
"text": [
|
||||||
|
"<xr:Property>ObjectModule</xr:Property>",
|
||||||
|
"<xr:Property>ManagerModule</xr:Property>",
|
||||||
|
"<xr:State>Extended</xr:State>"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
{
|
||||||
|
"name": "Формат 2.18: модуль создаётся, пометки расширенного свойства нет",
|
||||||
|
"setup": "empty-config-218",
|
||||||
|
"preRun": [
|
||||||
|
{
|
||||||
|
"script": "meta-compile/scripts/meta-compile",
|
||||||
|
"input": { "type": "CommonModule", "name": "ОбщийМодуль1", "context": "server" },
|
||||||
|
"args": { "-JsonPath": "{inputFile}", "-OutputDir": "{workDir}" }
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"script": "cfe-init/scripts/cfe-init",
|
||||||
|
"args": { "-Name": "Тест", "-OutputDir": "{workDir}/cfe", "-ConfigPath": "{workDir}" }
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"params": { "extensionPath": "cfe" },
|
||||||
|
"object": "CommonModule.ОбщийМодуль1",
|
||||||
|
"expect": {
|
||||||
|
"fileContains": [
|
||||||
|
{ "file": "cfe/CommonModules/ОбщийМодуль1.xml", "text": "<InternalInfo/>" }
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,35 @@
|
|||||||
|
{
|
||||||
|
"name": "Повторное заимствование с -Module сохраняет содержимое объекта",
|
||||||
|
"setup": "fixture:main-attr-kinds",
|
||||||
|
"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.ФормаДокумента",
|
||||||
|
"-BorrowMainAttribute": "All"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"params": { "extensionPath": "cfe" },
|
||||||
|
"object": "Document.Расход",
|
||||||
|
"args_extra": ["-Module", "ObjectModule"],
|
||||||
|
"expect": {
|
||||||
|
"fileContains": [
|
||||||
|
{
|
||||||
|
"file": "cfe/Documents/Расход.xml",
|
||||||
|
"text": [
|
||||||
|
"<Form>ФормаДокумента</Form>",
|
||||||
|
"<TabularSection uuid=",
|
||||||
|
"<Name>Товары</Name>",
|
||||||
|
"<Name>Комментарий</Name>"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
+6
-1
@@ -1,7 +1,12 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?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:pal="http://v8.1c.ru/8.1/data/ui/colors/palette" 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.21">
|
<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:pal="http://v8.1c.ru/8.1/data/ui/colors/palette" 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.21">
|
||||||
<Form uuid="UUID-001">
|
<Form uuid="UUID-001">
|
||||||
<InternalInfo/>
|
<InternalInfo>
|
||||||
|
<xr:PropertyState>
|
||||||
|
<xr:Property>Form</xr:Property>
|
||||||
|
<xr:State>Extended</xr:State>
|
||||||
|
</xr:PropertyState>
|
||||||
|
</InternalInfo>
|
||||||
<Properties>
|
<Properties>
|
||||||
<ObjectBelonging>Adopted</ObjectBelonging>
|
<ObjectBelonging>Adopted</ObjectBelonging>
|
||||||
<Name>ФормаЭлемента</Name>
|
<Name>ФормаЭлемента</Name>
|
||||||
|
|||||||
+23
@@ -0,0 +1,23 @@
|
|||||||
|
<?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.20">
|
||||||
|
<CommonModule uuid="UUID-001">
|
||||||
|
<Properties>
|
||||||
|
<Name>ОбщийМодуль1</Name>
|
||||||
|
<Synonym>
|
||||||
|
<v8:item>
|
||||||
|
<v8:lang>ru</v8:lang>
|
||||||
|
<v8:content>Общий модуль1</v8:content>
|
||||||
|
</v8:item>
|
||||||
|
</Synonym>
|
||||||
|
<Comment/>
|
||||||
|
<Global>false</Global>
|
||||||
|
<ClientManagedApplication>false</ClientManagedApplication>
|
||||||
|
<Server>true</Server>
|
||||||
|
<ExternalConnection>false</ExternalConnection>
|
||||||
|
<ClientOrdinaryApplication>false</ClientOrdinaryApplication>
|
||||||
|
<ServerCall>true</ServerCall>
|
||||||
|
<Privileged>false</Privileged>
|
||||||
|
<ReturnValuesReuse>DontUse</ReturnValuesReuse>
|
||||||
|
</Properties>
|
||||||
|
</CommonModule>
|
||||||
|
</MetaDataObject>
|
||||||
+23
@@ -0,0 +1,23 @@
|
|||||||
|
<?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.20">
|
||||||
|
<CommonModule uuid="UUID-001">
|
||||||
|
<Properties>
|
||||||
|
<Name>ОбщийМодуль2</Name>
|
||||||
|
<Synonym>
|
||||||
|
<v8:item>
|
||||||
|
<v8:lang>ru</v8:lang>
|
||||||
|
<v8:content>Общий модуль2</v8:content>
|
||||||
|
</v8:item>
|
||||||
|
</Synonym>
|
||||||
|
<Comment/>
|
||||||
|
<Global>false</Global>
|
||||||
|
<ClientManagedApplication>false</ClientManagedApplication>
|
||||||
|
<Server>true</Server>
|
||||||
|
<ExternalConnection>false</ExternalConnection>
|
||||||
|
<ClientOrdinaryApplication>false</ClientOrdinaryApplication>
|
||||||
|
<ServerCall>true</ServerCall>
|
||||||
|
<Privileged>false</Privileged>
|
||||||
|
<ReturnValuesReuse>DontUse</ReturnValuesReuse>
|
||||||
|
</Properties>
|
||||||
|
</CommonModule>
|
||||||
|
</MetaDataObject>
|
||||||
@@ -0,0 +1,257 @@
|
|||||||
|
<?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.20">
|
||||||
|
<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_27</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>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>TextToSpeech</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_27</CompatibilityMode>
|
||||||
|
<DefaultConstantsForm/>
|
||||||
|
</Properties>
|
||||||
|
<ChildObjects>
|
||||||
|
<Language>Русский</Language>
|
||||||
|
<CommonModule>ОбщийМодуль1</CommonModule>
|
||||||
|
<CommonModule>ОбщийМодуль2</CommonModule>
|
||||||
|
</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>
|
||||||
@@ -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.20">
|
||||||
|
<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>
|
||||||
+18
@@ -0,0 +1,18 @@
|
|||||||
|
<?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.20">
|
||||||
|
<CommonModule uuid="UUID-001">
|
||||||
|
<InternalInfo/>
|
||||||
|
<Properties>
|
||||||
|
<ObjectBelonging>Adopted</ObjectBelonging>
|
||||||
|
<Name>ОбщийМодуль1</Name>
|
||||||
|
<Comment/>
|
||||||
|
<ExtendedConfigurationObject>UUID-002</ExtendedConfigurationObject>
|
||||||
|
<Global>false</Global>
|
||||||
|
<ClientManagedApplication>false</ClientManagedApplication>
|
||||||
|
<Server>true</Server>
|
||||||
|
<ExternalConnection>false</ExternalConnection>
|
||||||
|
<ClientOrdinaryApplication>false</ClientOrdinaryApplication>
|
||||||
|
<ServerCall>true</ServerCall>
|
||||||
|
</Properties>
|
||||||
|
</CommonModule>
|
||||||
|
</MetaDataObject>
|
||||||
+23
@@ -0,0 +1,23 @@
|
|||||||
|
<?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.20">
|
||||||
|
<CommonModule uuid="UUID-001">
|
||||||
|
<InternalInfo>
|
||||||
|
<xr:PropertyState>
|
||||||
|
<xr:Property>Module</xr:Property>
|
||||||
|
<xr:State>Extended</xr:State>
|
||||||
|
</xr:PropertyState>
|
||||||
|
</InternalInfo>
|
||||||
|
<Properties>
|
||||||
|
<ObjectBelonging>Adopted</ObjectBelonging>
|
||||||
|
<Name>ОбщийМодуль2</Name>
|
||||||
|
<Comment/>
|
||||||
|
<ExtendedConfigurationObject>UUID-002</ExtendedConfigurationObject>
|
||||||
|
<Global>false</Global>
|
||||||
|
<ClientManagedApplication>false</ClientManagedApplication>
|
||||||
|
<Server>true</Server>
|
||||||
|
<ExternalConnection>false</ExternalConnection>
|
||||||
|
<ClientOrdinaryApplication>false</ClientOrdinaryApplication>
|
||||||
|
<ServerCall>true</ServerCall>
|
||||||
|
</Properties>
|
||||||
|
</CommonModule>
|
||||||
|
</MetaDataObject>
|
||||||
@@ -0,0 +1,73 @@
|
|||||||
|
<?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.20">
|
||||||
|
<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>
|
||||||
|
<ObjectBelonging>Adopted</ObjectBelonging>
|
||||||
|
<Name>Тест</Name>
|
||||||
|
<Synonym>
|
||||||
|
<v8:item>
|
||||||
|
<v8:lang>ru</v8:lang>
|
||||||
|
<v8:content>Тест</v8:content>
|
||||||
|
</v8:item>
|
||||||
|
</Synonym>
|
||||||
|
<Comment/>
|
||||||
|
<ConfigurationExtensionPurpose>Customization</ConfigurationExtensionPurpose>
|
||||||
|
<KeepMappingToExtendedConfigurationObjectsByIDs>true</KeepMappingToExtendedConfigurationObjectsByIDs>
|
||||||
|
<NamePrefix>Тест_</NamePrefix>
|
||||||
|
<ConfigurationExtensionCompatibilityMode>Version8_3_27</ConfigurationExtensionCompatibilityMode>
|
||||||
|
<DefaultRunMode>ManagedApplication</DefaultRunMode>
|
||||||
|
<UsePurposes>
|
||||||
|
<v8:Value xsi:type="app:ApplicationUsePurpose">PlatformApplication</v8:Value>
|
||||||
|
</UsePurposes>
|
||||||
|
<ScriptVariant>Russian</ScriptVariant>
|
||||||
|
<DefaultRoles>
|
||||||
|
<xr:Item xsi:type="xr:MDObjectRef">Role.Тест_ОсновнаяРоль</xr:Item>
|
||||||
|
</DefaultRoles>
|
||||||
|
<Vendor/>
|
||||||
|
<Version/>
|
||||||
|
<DefaultLanguage>Language.Русский</DefaultLanguage>
|
||||||
|
<BriefInformation/>
|
||||||
|
<DetailedInformation/>
|
||||||
|
<Copyright/>
|
||||||
|
<VendorInformationAddress/>
|
||||||
|
<ConfigurationInformationAddress/>
|
||||||
|
<InterfaceCompatibilityMode>TaxiEnableVersion8_2</InterfaceCompatibilityMode>
|
||||||
|
</Properties>
|
||||||
|
<ChildObjects>
|
||||||
|
<Language>Русский</Language>
|
||||||
|
<Role>Тест_ОсновнаяРоль</Role>
|
||||||
|
<CommonModule>ОбщийМодуль1</CommonModule>
|
||||||
|
<CommonModule>ОбщийМодуль2</CommonModule>
|
||||||
|
</ChildObjects>
|
||||||
|
</Configuration>
|
||||||
|
</MetaDataObject>
|
||||||
+13
@@ -0,0 +1,13 @@
|
|||||||
|
<?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.20">
|
||||||
|
<Language uuid="UUID-001">
|
||||||
|
<InternalInfo/>
|
||||||
|
<Properties>
|
||||||
|
<ObjectBelonging>Adopted</ObjectBelonging>
|
||||||
|
<Name>Русский</Name>
|
||||||
|
<Comment/>
|
||||||
|
<ExtendedConfigurationObject>UUID-002</ExtendedConfigurationObject>
|
||||||
|
<LanguageCode>ru</LanguageCode>
|
||||||
|
</Properties>
|
||||||
|
</Language>
|
||||||
|
</MetaDataObject>
|
||||||
+10
@@ -0,0 +1,10 @@
|
|||||||
|
<?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.20">
|
||||||
|
<Role uuid="UUID-001">
|
||||||
|
<Properties>
|
||||||
|
<Name>Тест_ОсновнаяРоль</Name>
|
||||||
|
<Synonym/>
|
||||||
|
<Comment/>
|
||||||
|
</Properties>
|
||||||
|
</Role>
|
||||||
|
</MetaDataObject>
|
||||||
@@ -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.20">
|
||||||
|
<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,256 @@
|
|||||||
|
<?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.20">
|
||||||
|
<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_27</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>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>TextToSpeech</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_27</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>
|
||||||
@@ -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.20">
|
||||||
|
<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>
|
||||||
@@ -0,0 +1,42 @@
|
|||||||
|
<?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.20">
|
||||||
|
<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>
|
||||||
|
<xr:PropertyState>
|
||||||
|
<xr:Property>ObjectModule</xr:Property>
|
||||||
|
<xr:State>Extended</xr:State>
|
||||||
|
</xr:PropertyState>
|
||||||
|
<xr:PropertyState>
|
||||||
|
<xr:Property>ManagerModule</xr:Property>
|
||||||
|
<xr:State>Extended</xr:State>
|
||||||
|
</xr:PropertyState>
|
||||||
|
</InternalInfo>
|
||||||
|
<Properties>
|
||||||
|
<ObjectBelonging>Adopted</ObjectBelonging>
|
||||||
|
<Name>Товары</Name>
|
||||||
|
<Comment/>
|
||||||
|
<ExtendedConfigurationObject>UUID-012</ExtendedConfigurationObject>
|
||||||
|
</Properties>
|
||||||
|
<ChildObjects/>
|
||||||
|
</Catalog>
|
||||||
|
</MetaDataObject>
|
||||||
@@ -0,0 +1,72 @@
|
|||||||
|
<?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.20">
|
||||||
|
<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>
|
||||||
|
<ObjectBelonging>Adopted</ObjectBelonging>
|
||||||
|
<Name>Тест</Name>
|
||||||
|
<Synonym>
|
||||||
|
<v8:item>
|
||||||
|
<v8:lang>ru</v8:lang>
|
||||||
|
<v8:content>Тест</v8:content>
|
||||||
|
</v8:item>
|
||||||
|
</Synonym>
|
||||||
|
<Comment/>
|
||||||
|
<ConfigurationExtensionPurpose>Customization</ConfigurationExtensionPurpose>
|
||||||
|
<KeepMappingToExtendedConfigurationObjectsByIDs>true</KeepMappingToExtendedConfigurationObjectsByIDs>
|
||||||
|
<NamePrefix>Тест_</NamePrefix>
|
||||||
|
<ConfigurationExtensionCompatibilityMode>Version8_3_27</ConfigurationExtensionCompatibilityMode>
|
||||||
|
<DefaultRunMode>ManagedApplication</DefaultRunMode>
|
||||||
|
<UsePurposes>
|
||||||
|
<v8:Value xsi:type="app:ApplicationUsePurpose">PlatformApplication</v8:Value>
|
||||||
|
</UsePurposes>
|
||||||
|
<ScriptVariant>Russian</ScriptVariant>
|
||||||
|
<DefaultRoles>
|
||||||
|
<xr:Item xsi:type="xr:MDObjectRef">Role.Тест_ОсновнаяРоль</xr:Item>
|
||||||
|
</DefaultRoles>
|
||||||
|
<Vendor/>
|
||||||
|
<Version/>
|
||||||
|
<DefaultLanguage>Language.Русский</DefaultLanguage>
|
||||||
|
<BriefInformation/>
|
||||||
|
<DetailedInformation/>
|
||||||
|
<Copyright/>
|
||||||
|
<VendorInformationAddress/>
|
||||||
|
<ConfigurationInformationAddress/>
|
||||||
|
<InterfaceCompatibilityMode>TaxiEnableVersion8_2</InterfaceCompatibilityMode>
|
||||||
|
</Properties>
|
||||||
|
<ChildObjects>
|
||||||
|
<Language>Русский</Language>
|
||||||
|
<Role>Тест_ОсновнаяРоль</Role>
|
||||||
|
<Catalog>Товары</Catalog>
|
||||||
|
</ChildObjects>
|
||||||
|
</Configuration>
|
||||||
|
</MetaDataObject>
|
||||||
+13
@@ -0,0 +1,13 @@
|
|||||||
|
<?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.20">
|
||||||
|
<Language uuid="UUID-001">
|
||||||
|
<InternalInfo/>
|
||||||
|
<Properties>
|
||||||
|
<ObjectBelonging>Adopted</ObjectBelonging>
|
||||||
|
<Name>Русский</Name>
|
||||||
|
<Comment/>
|
||||||
|
<ExtendedConfigurationObject>UUID-002</ExtendedConfigurationObject>
|
||||||
|
<LanguageCode>ru</LanguageCode>
|
||||||
|
</Properties>
|
||||||
|
</Language>
|
||||||
|
</MetaDataObject>
|
||||||
+10
@@ -0,0 +1,10 @@
|
|||||||
|
<?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.20">
|
||||||
|
<Role uuid="UUID-001">
|
||||||
|
<Properties>
|
||||||
|
<Name>Тест_ОсновнаяРоль</Name>
|
||||||
|
<Synonym/>
|
||||||
|
<Comment/>
|
||||||
|
</Properties>
|
||||||
|
</Role>
|
||||||
|
</MetaDataObject>
|
||||||
+23
@@ -0,0 +1,23 @@
|
|||||||
|
<?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.18">
|
||||||
|
<CommonModule uuid="UUID-001">
|
||||||
|
<Properties>
|
||||||
|
<Name>ОбщийМодуль1</Name>
|
||||||
|
<Synonym>
|
||||||
|
<v8:item>
|
||||||
|
<v8:lang>ru</v8:lang>
|
||||||
|
<v8:content>Общий модуль1</v8:content>
|
||||||
|
</v8:item>
|
||||||
|
</Synonym>
|
||||||
|
<Comment/>
|
||||||
|
<Global>false</Global>
|
||||||
|
<ClientManagedApplication>false</ClientManagedApplication>
|
||||||
|
<Server>true</Server>
|
||||||
|
<ExternalConnection>false</ExternalConnection>
|
||||||
|
<ClientOrdinaryApplication>false</ClientOrdinaryApplication>
|
||||||
|
<ServerCall>true</ServerCall>
|
||||||
|
<Privileged>false</Privileged>
|
||||||
|
<ReturnValuesReuse>DontUse</ReturnValuesReuse>
|
||||||
|
</Properties>
|
||||||
|
</CommonModule>
|
||||||
|
</MetaDataObject>
|
||||||
@@ -0,0 +1,256 @@
|
|||||||
|
<?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.18">
|
||||||
|
<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>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>TextToSpeech</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>
|
||||||
|
<CommonModule>ОбщийМодуль1</CommonModule>
|
||||||
|
</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>
|
||||||
@@ -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.18">
|
||||||
|
<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>
|
||||||
+18
@@ -0,0 +1,18 @@
|
|||||||
|
<?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.18">
|
||||||
|
<CommonModule uuid="UUID-001">
|
||||||
|
<InternalInfo/>
|
||||||
|
<Properties>
|
||||||
|
<ObjectBelonging>Adopted</ObjectBelonging>
|
||||||
|
<Name>ОбщийМодуль1</Name>
|
||||||
|
<Comment/>
|
||||||
|
<ExtendedConfigurationObject>UUID-002</ExtendedConfigurationObject>
|
||||||
|
<Global>false</Global>
|
||||||
|
<ClientManagedApplication>false</ClientManagedApplication>
|
||||||
|
<Server>true</Server>
|
||||||
|
<ExternalConnection>false</ExternalConnection>
|
||||||
|
<ClientOrdinaryApplication>false</ClientOrdinaryApplication>
|
||||||
|
<ServerCall>true</ServerCall>
|
||||||
|
</Properties>
|
||||||
|
</CommonModule>
|
||||||
|
</MetaDataObject>
|
||||||
@@ -0,0 +1,72 @@
|
|||||||
|
<?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.18">
|
||||||
|
<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>
|
||||||
|
<ObjectBelonging>Adopted</ObjectBelonging>
|
||||||
|
<Name>Тест</Name>
|
||||||
|
<Synonym>
|
||||||
|
<v8:item>
|
||||||
|
<v8:lang>ru</v8:lang>
|
||||||
|
<v8:content>Тест</v8:content>
|
||||||
|
</v8:item>
|
||||||
|
</Synonym>
|
||||||
|
<Comment/>
|
||||||
|
<ConfigurationExtensionPurpose>Customization</ConfigurationExtensionPurpose>
|
||||||
|
<KeepMappingToExtendedConfigurationObjectsByIDs>true</KeepMappingToExtendedConfigurationObjectsByIDs>
|
||||||
|
<NamePrefix>Тест_</NamePrefix>
|
||||||
|
<ConfigurationExtensionCompatibilityMode>Version8_3_24</ConfigurationExtensionCompatibilityMode>
|
||||||
|
<DefaultRunMode>ManagedApplication</DefaultRunMode>
|
||||||
|
<UsePurposes>
|
||||||
|
<v8:Value xsi:type="app:ApplicationUsePurpose">PlatformApplication</v8:Value>
|
||||||
|
</UsePurposes>
|
||||||
|
<ScriptVariant>Russian</ScriptVariant>
|
||||||
|
<DefaultRoles>
|
||||||
|
<xr:Item xsi:type="xr:MDObjectRef">Role.Тест_ОсновнаяРоль</xr:Item>
|
||||||
|
</DefaultRoles>
|
||||||
|
<Vendor/>
|
||||||
|
<Version/>
|
||||||
|
<DefaultLanguage>Language.Русский</DefaultLanguage>
|
||||||
|
<BriefInformation/>
|
||||||
|
<DetailedInformation/>
|
||||||
|
<Copyright/>
|
||||||
|
<VendorInformationAddress/>
|
||||||
|
<ConfigurationInformationAddress/>
|
||||||
|
<InterfaceCompatibilityMode>TaxiEnableVersion8_2</InterfaceCompatibilityMode>
|
||||||
|
</Properties>
|
||||||
|
<ChildObjects>
|
||||||
|
<Language>Русский</Language>
|
||||||
|
<Role>Тест_ОсновнаяРоль</Role>
|
||||||
|
<CommonModule>ОбщийМодуль1</CommonModule>
|
||||||
|
</ChildObjects>
|
||||||
|
</Configuration>
|
||||||
|
</MetaDataObject>
|
||||||
+13
@@ -0,0 +1,13 @@
|
|||||||
|
<?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.18">
|
||||||
|
<Language uuid="UUID-001">
|
||||||
|
<InternalInfo/>
|
||||||
|
<Properties>
|
||||||
|
<ObjectBelonging>Adopted</ObjectBelonging>
|
||||||
|
<Name>Русский</Name>
|
||||||
|
<Comment/>
|
||||||
|
<ExtendedConfigurationObject>UUID-002</ExtendedConfigurationObject>
|
||||||
|
<LanguageCode>ru</LanguageCode>
|
||||||
|
</Properties>
|
||||||
|
</Language>
|
||||||
|
</MetaDataObject>
|
||||||
+10
@@ -0,0 +1,10 @@
|
|||||||
|
<?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.18">
|
||||||
|
<Role uuid="UUID-001">
|
||||||
|
<Properties>
|
||||||
|
<Name>Тест_ОсновнаяРоль</Name>
|
||||||
|
<Synonym/>
|
||||||
|
<Comment/>
|
||||||
|
</Properties>
|
||||||
|
</Role>
|
||||||
|
</MetaDataObject>
|
||||||
+253
@@ -0,0 +1,253 @@
|
|||||||
|
<?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>
|
||||||
|
<Document>Расход</Document>
|
||||||
|
<InformationRegister>Настройка</InformationRegister>
|
||||||
|
</ChildObjects>
|
||||||
|
</Configuration>
|
||||||
|
</MetaDataObject>
|
||||||
+268
@@ -0,0 +1,268 @@
|
|||||||
|
<?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">
|
||||||
|
<Document uuid="UUID-001">
|
||||||
|
<InternalInfo>
|
||||||
|
<xr:GeneratedType name="DocumentObject.Расход" category="Object">
|
||||||
|
<xr:TypeId>UUID-002</xr:TypeId>
|
||||||
|
<xr:ValueId>UUID-003</xr:ValueId>
|
||||||
|
</xr:GeneratedType>
|
||||||
|
<xr:GeneratedType name="DocumentRef.Расход" category="Ref">
|
||||||
|
<xr:TypeId>UUID-004</xr:TypeId>
|
||||||
|
<xr:ValueId>UUID-005</xr:ValueId>
|
||||||
|
</xr:GeneratedType>
|
||||||
|
<xr:GeneratedType name="DocumentSelection.Расход" category="Selection">
|
||||||
|
<xr:TypeId>UUID-006</xr:TypeId>
|
||||||
|
<xr:ValueId>UUID-007</xr:ValueId>
|
||||||
|
</xr:GeneratedType>
|
||||||
|
<xr:GeneratedType name="DocumentList.Расход" category="List">
|
||||||
|
<xr:TypeId>UUID-008</xr:TypeId>
|
||||||
|
<xr:ValueId>UUID-009</xr:ValueId>
|
||||||
|
</xr:GeneratedType>
|
||||||
|
<xr:GeneratedType name="DocumentManager.Расход" 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/>
|
||||||
|
<UseStandardCommands>true</UseStandardCommands>
|
||||||
|
<Numerator/>
|
||||||
|
<NumberType>String</NumberType>
|
||||||
|
<NumberLength>11</NumberLength>
|
||||||
|
<NumberAllowedLength>Variable</NumberAllowedLength>
|
||||||
|
<NumberPeriodicity>Year</NumberPeriodicity>
|
||||||
|
<CheckUnique>true</CheckUnique>
|
||||||
|
<Autonumbering>true</Autonumbering>
|
||||||
|
<Characteristics/>
|
||||||
|
<BasedOn/>
|
||||||
|
<InputByString>
|
||||||
|
<xr:Field>Document.Расход.StandardAttribute.Number</xr:Field>
|
||||||
|
</InputByString>
|
||||||
|
<CreateOnInput>Use</CreateOnInput>
|
||||||
|
<SearchStringModeOnInputByString>Begin</SearchStringModeOnInputByString>
|
||||||
|
<FullTextSearchOnInputByString>DontUse</FullTextSearchOnInputByString>
|
||||||
|
<ChoiceDataGetModeOnInputByString>Directly</ChoiceDataGetModeOnInputByString>
|
||||||
|
<DefaultObjectForm>Document.Расход.Form.ФормаСписка</DefaultObjectForm>
|
||||||
|
<DefaultListForm/>
|
||||||
|
<DefaultChoiceForm/>
|
||||||
|
<AuxiliaryObjectForm/>
|
||||||
|
<AuxiliaryListForm/>
|
||||||
|
<AuxiliaryChoiceForm/>
|
||||||
|
<Posting>Allow</Posting>
|
||||||
|
<RealTimePosting>Deny</RealTimePosting>
|
||||||
|
<RegisterRecordsDeletion>AutoDelete</RegisterRecordsDeletion>
|
||||||
|
<RegisterRecordsWritingOnPost>WriteSelected</RegisterRecordsWritingOnPost>
|
||||||
|
<SequenceFilling>AutoFill</SequenceFilling>
|
||||||
|
<RegisterRecords/>
|
||||||
|
<PostInPrivilegedMode>true</PostInPrivilegedMode>
|
||||||
|
<UnpostInPrivilegedMode>true</UnpostInPrivilegedMode>
|
||||||
|
<IncludeHelpInContents>false</IncludeHelpInContents>
|
||||||
|
<DataLockFields/>
|
||||||
|
<DataLockControlMode>Managed</DataLockControlMode>
|
||||||
|
<FullTextSearch>Use</FullTextSearch>
|
||||||
|
<ObjectPresentation/>
|
||||||
|
<ExtendedObjectPresentation/>
|
||||||
|
<ListPresentation/>
|
||||||
|
<ExtendedListPresentation/>
|
||||||
|
<Explanation/>
|
||||||
|
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
|
||||||
|
<DataHistory>DontUse</DataHistory>
|
||||||
|
<UpdateDataHistoryImmediatelyAfterWrite>false</UpdateDataHistoryImmediatelyAfterWrite>
|
||||||
|
<ExecuteAfterWriteDataHistoryVersionProcessing>false</ExecuteAfterWriteDataHistoryVersionProcessing>
|
||||||
|
</Properties>
|
||||||
|
<ChildObjects>
|
||||||
|
<Attribute uuid="UUID-012">
|
||||||
|
<Properties>
|
||||||
|
<Name>Комментарий</Name>
|
||||||
|
<Synonym>
|
||||||
|
<v8:item>
|
||||||
|
<v8:lang>ru</v8:lang>
|
||||||
|
<v8:content>Комментарий</v8:content>
|
||||||
|
</v8:item>
|
||||||
|
</Synonym>
|
||||||
|
<Comment/>
|
||||||
|
<Type>
|
||||||
|
<v8:Type>xs:string</v8:Type>
|
||||||
|
<v8:StringQualifiers>
|
||||||
|
<v8:Length>100</v8:Length>
|
||||||
|
<v8:AllowedLength>Variable</v8:AllowedLength>
|
||||||
|
</v8:StringQualifiers>
|
||||||
|
</Type>
|
||||||
|
<PasswordMode>false</PasswordMode>
|
||||||
|
<Format/>
|
||||||
|
<EditFormat/>
|
||||||
|
<ToolTip/>
|
||||||
|
<MarkNegatives>false</MarkNegatives>
|
||||||
|
<Mask/>
|
||||||
|
<MultiLine>false</MultiLine>
|
||||||
|
<ExtendedEdit>false</ExtendedEdit>
|
||||||
|
<MinValue xsi:nil="true"/>
|
||||||
|
<MaxValue xsi:nil="true"/>
|
||||||
|
<FillFromFillingValue>false</FillFromFillingValue>
|
||||||
|
<FillValue xsi:type="xs:string"/>
|
||||||
|
<FillChecking>DontCheck</FillChecking>
|
||||||
|
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems>
|
||||||
|
<ChoiceParameterLinks/>
|
||||||
|
<ChoiceParameters/>
|
||||||
|
<QuickChoice>Auto</QuickChoice>
|
||||||
|
<CreateOnInput>Auto</CreateOnInput>
|
||||||
|
<ChoiceForm/>
|
||||||
|
<LinkByType/>
|
||||||
|
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
|
||||||
|
<Indexing>DontIndex</Indexing>
|
||||||
|
<FullTextSearch>Use</FullTextSearch>
|
||||||
|
<DataHistory>Use</DataHistory>
|
||||||
|
</Properties>
|
||||||
|
</Attribute>
|
||||||
|
<Attribute uuid="UUID-013">
|
||||||
|
<Properties>
|
||||||
|
<Name>Склад</Name>
|
||||||
|
<Synonym>
|
||||||
|
<v8:item>
|
||||||
|
<v8:lang>ru</v8:lang>
|
||||||
|
<v8:content>Склад</v8:content>
|
||||||
|
</v8:item>
|
||||||
|
</Synonym>
|
||||||
|
<Comment/>
|
||||||
|
<Type>
|
||||||
|
<v8:Type>xs:string</v8:Type>
|
||||||
|
<v8:StringQualifiers>
|
||||||
|
<v8:Length>50</v8:Length>
|
||||||
|
<v8:AllowedLength>Variable</v8:AllowedLength>
|
||||||
|
</v8:StringQualifiers>
|
||||||
|
</Type>
|
||||||
|
<PasswordMode>false</PasswordMode>
|
||||||
|
<Format/>
|
||||||
|
<EditFormat/>
|
||||||
|
<ToolTip/>
|
||||||
|
<MarkNegatives>false</MarkNegatives>
|
||||||
|
<Mask/>
|
||||||
|
<MultiLine>false</MultiLine>
|
||||||
|
<ExtendedEdit>false</ExtendedEdit>
|
||||||
|
<MinValue xsi:nil="true"/>
|
||||||
|
<MaxValue xsi:nil="true"/>
|
||||||
|
<FillFromFillingValue>false</FillFromFillingValue>
|
||||||
|
<FillValue xsi:type="xs:string"/>
|
||||||
|
<FillChecking>DontCheck</FillChecking>
|
||||||
|
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems>
|
||||||
|
<ChoiceParameterLinks/>
|
||||||
|
<ChoiceParameters/>
|
||||||
|
<QuickChoice>Auto</QuickChoice>
|
||||||
|
<CreateOnInput>Auto</CreateOnInput>
|
||||||
|
<ChoiceForm/>
|
||||||
|
<LinkByType/>
|
||||||
|
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
|
||||||
|
<Indexing>DontIndex</Indexing>
|
||||||
|
<FullTextSearch>Use</FullTextSearch>
|
||||||
|
<DataHistory>Use</DataHistory>
|
||||||
|
</Properties>
|
||||||
|
</Attribute>
|
||||||
|
<Form>ФормаСписка</Form>
|
||||||
|
<Form>ФормаДокумента</Form>
|
||||||
|
<Form>ФормаСпискаЗапрос</Form>
|
||||||
|
<TabularSection uuid="UUID-014">
|
||||||
|
<InternalInfo>
|
||||||
|
<xr:GeneratedType name="DocumentTabularSection.Расход.Товары" category="TabularSection">
|
||||||
|
<xr:TypeId>UUID-015</xr:TypeId>
|
||||||
|
<xr:ValueId>UUID-016</xr:ValueId>
|
||||||
|
</xr:GeneratedType>
|
||||||
|
<xr:GeneratedType name="DocumentTabularSectionRow.Расход.Товары" category="TabularSectionRow">
|
||||||
|
<xr:TypeId>UUID-017</xr:TypeId>
|
||||||
|
<xr:ValueId>UUID-018</xr:ValueId>
|
||||||
|
</xr:GeneratedType>
|
||||||
|
</InternalInfo>
|
||||||
|
<Properties>
|
||||||
|
<Name>Товары</Name>
|
||||||
|
<Synonym>
|
||||||
|
<v8:item>
|
||||||
|
<v8:lang>ru</v8:lang>
|
||||||
|
<v8:content>Товары</v8:content>
|
||||||
|
</v8:item>
|
||||||
|
</Synonym>
|
||||||
|
<Comment/>
|
||||||
|
<ToolTip/>
|
||||||
|
<FillChecking>DontCheck</FillChecking>
|
||||||
|
<StandardAttributes>
|
||||||
|
<xr:StandardAttribute name="LineNumber">
|
||||||
|
<xr:LinkByType/>
|
||||||
|
<xr:FillChecking>DontCheck</xr:FillChecking>
|
||||||
|
<xr:MultiLine>false</xr:MultiLine>
|
||||||
|
<xr:FillFromFillingValue>false</xr:FillFromFillingValue>
|
||||||
|
<xr:CreateOnInput>Auto</xr:CreateOnInput>
|
||||||
|
<xr:MaxValue xsi:nil="true"/>
|
||||||
|
<xr:ToolTip/>
|
||||||
|
<xr:ExtendedEdit>false</xr:ExtendedEdit>
|
||||||
|
<xr:Format/>
|
||||||
|
<xr:ChoiceForm/>
|
||||||
|
<xr:QuickChoice>Auto</xr:QuickChoice>
|
||||||
|
<xr:ChoiceHistoryOnInput>Auto</xr:ChoiceHistoryOnInput>
|
||||||
|
<xr:EditFormat/>
|
||||||
|
<xr:PasswordMode>false</xr:PasswordMode>
|
||||||
|
<xr:DataHistory>Use</xr:DataHistory>
|
||||||
|
<xr:MarkNegatives>false</xr:MarkNegatives>
|
||||||
|
<xr:MinValue xsi:nil="true"/>
|
||||||
|
<xr:Synonym/>
|
||||||
|
<xr:Comment/>
|
||||||
|
<xr:FullTextSearch>Use</xr:FullTextSearch>
|
||||||
|
<xr:ChoiceParameterLinks/>
|
||||||
|
<xr:FillValue xsi:nil="true"/>
|
||||||
|
<xr:Mask/>
|
||||||
|
<xr:ChoiceParameters/>
|
||||||
|
</xr:StandardAttribute>
|
||||||
|
</StandardAttributes>
|
||||||
|
</Properties>
|
||||||
|
<ChildObjects>
|
||||||
|
<Attribute uuid="UUID-019">
|
||||||
|
<Properties>
|
||||||
|
<Name>Количество</Name>
|
||||||
|
<Synonym>
|
||||||
|
<v8:item>
|
||||||
|
<v8:lang>ru</v8:lang>
|
||||||
|
<v8:content>Количество</v8:content>
|
||||||
|
</v8:item>
|
||||||
|
</Synonym>
|
||||||
|
<Comment/>
|
||||||
|
<Type>
|
||||||
|
<v8:Type>xs:decimal</v8:Type>
|
||||||
|
<v8:NumberQualifiers>
|
||||||
|
<v8:Digits>10</v8:Digits>
|
||||||
|
<v8:FractionDigits>3</v8:FractionDigits>
|
||||||
|
<v8:AllowedSign>Any</v8:AllowedSign>
|
||||||
|
</v8:NumberQualifiers>
|
||||||
|
</Type>
|
||||||
|
<PasswordMode>false</PasswordMode>
|
||||||
|
<Format/>
|
||||||
|
<EditFormat/>
|
||||||
|
<ToolTip/>
|
||||||
|
<MarkNegatives>false</MarkNegatives>
|
||||||
|
<Mask/>
|
||||||
|
<MultiLine>false</MultiLine>
|
||||||
|
<ExtendedEdit>false</ExtendedEdit>
|
||||||
|
<MinValue xsi:nil="true"/>
|
||||||
|
<MaxValue xsi:nil="true"/>
|
||||||
|
<FillChecking>DontCheck</FillChecking>
|
||||||
|
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems>
|
||||||
|
<ChoiceParameterLinks/>
|
||||||
|
<ChoiceParameters/>
|
||||||
|
<QuickChoice>Auto</QuickChoice>
|
||||||
|
<CreateOnInput>Auto</CreateOnInput>
|
||||||
|
<ChoiceForm/>
|
||||||
|
<LinkByType/>
|
||||||
|
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
|
||||||
|
<Indexing>DontIndex</Indexing>
|
||||||
|
<FullTextSearch>Use</FullTextSearch>
|
||||||
|
<DataHistory>Use</DataHistory>
|
||||||
|
</Properties>
|
||||||
|
</Attribute>
|
||||||
|
</ChildObjects>
|
||||||
|
</TabularSection>
|
||||||
|
</ChildObjects>
|
||||||
|
</Document>
|
||||||
|
</MetaDataObject>
|
||||||
+21
@@ -0,0 +1,21 @@
|
|||||||
|
<?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">
|
||||||
|
<Form uuid="UUID-001">
|
||||||
|
<Properties>
|
||||||
|
<Name>ФормаДокумента</Name>
|
||||||
|
<Synonym>
|
||||||
|
<v8:item>
|
||||||
|
<v8:lang>ru</v8:lang>
|
||||||
|
<v8:content>ФормаДокумента</v8:content>
|
||||||
|
</v8:item>
|
||||||
|
</Synonym>
|
||||||
|
<Comment/>
|
||||||
|
<FormType>Managed</FormType>
|
||||||
|
<IncludeHelpInContents>false</IncludeHelpInContents>
|
||||||
|
<UsePurposes>
|
||||||
|
<v8:Value xsi:type="app:ApplicationUsePurpose">PlatformApplication</v8:Value>
|
||||||
|
<v8:Value xsi:type="app:ApplicationUsePurpose">MobilePlatformApplication</v8:Value>
|
||||||
|
</UsePurposes>
|
||||||
|
</Properties>
|
||||||
|
</Form>
|
||||||
|
</MetaDataObject>
|
||||||
+30
@@ -0,0 +1,30 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<Form xmlns="http://v8.1c.ru/8.3/xcf/logform" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.17">
|
||||||
|
<AutoTitle>false</AutoTitle>
|
||||||
|
<AutoCommandBar name="ФормаКоманднаяПанель" id="-1"/>
|
||||||
|
<ChildItems>
|
||||||
|
<InputField name="Комментарий" id="1">
|
||||||
|
<DataPath>Объект.Комментарий</DataPath>
|
||||||
|
<ExtendedTooltip name="КомментарийРасширеннаяПодсказка" id="2"/>
|
||||||
|
</InputField>
|
||||||
|
<Table name="Товары" id="3">
|
||||||
|
<DataPath>Объект.Товары</DataPath>
|
||||||
|
<ChildItems>
|
||||||
|
<InputField name="ТоварыКоличество" id="4">
|
||||||
|
<DataPath>Объект.Товары.Количество</DataPath>
|
||||||
|
<ExtendedTooltip name="ТоварыКоличествоРасширеннаяПодсказка" id="5"/>
|
||||||
|
</InputField>
|
||||||
|
</ChildItems>
|
||||||
|
<ExtendedTooltip name="ТоварыРасширеннаяПодсказка" id="6"/>
|
||||||
|
</Table>
|
||||||
|
</ChildItems>
|
||||||
|
<Attributes>
|
||||||
|
<Attribute name="Объект" id="1">
|
||||||
|
<Type>
|
||||||
|
<v8:Type>cfg:DocumentObject.Расход</v8:Type>
|
||||||
|
</Type>
|
||||||
|
<MainAttribute>true</MainAttribute>
|
||||||
|
<SavedData>true</SavedData>
|
||||||
|
</Attribute>
|
||||||
|
</Attributes>
|
||||||
|
</Form>
|
||||||
+19
@@ -0,0 +1,19 @@
|
|||||||
|
#Область ОбработчикиСобытийФормы
|
||||||
|
|
||||||
|
#КонецОбласти
|
||||||
|
|
||||||
|
#Область ОбработчикиСобытийЭлементовФормы
|
||||||
|
|
||||||
|
#КонецОбласти
|
||||||
|
|
||||||
|
#Область ОбработчикиКомандФормы
|
||||||
|
|
||||||
|
#КонецОбласти
|
||||||
|
|
||||||
|
#Область ОбработчикиОповещений
|
||||||
|
|
||||||
|
#КонецОбласти
|
||||||
|
|
||||||
|
#Область СлужебныеПроцедурыИФункции
|
||||||
|
|
||||||
|
#КонецОбласти
|
||||||
+21
@@ -0,0 +1,21 @@
|
|||||||
|
<?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">
|
||||||
|
<Form uuid="UUID-001">
|
||||||
|
<Properties>
|
||||||
|
<Name>ФормаСписка</Name>
|
||||||
|
<Synonym>
|
||||||
|
<v8:item>
|
||||||
|
<v8:lang>ru</v8:lang>
|
||||||
|
<v8:content>ФормаСписка</v8:content>
|
||||||
|
</v8:item>
|
||||||
|
</Synonym>
|
||||||
|
<Comment/>
|
||||||
|
<FormType>Managed</FormType>
|
||||||
|
<IncludeHelpInContents>false</IncludeHelpInContents>
|
||||||
|
<UsePurposes>
|
||||||
|
<v8:Value xsi:type="app:ApplicationUsePurpose">PlatformApplication</v8:Value>
|
||||||
|
<v8:Value xsi:type="app:ApplicationUsePurpose">MobilePlatformApplication</v8:Value>
|
||||||
|
</UsePurposes>
|
||||||
|
</Properties>
|
||||||
|
</Form>
|
||||||
|
</MetaDataObject>
|
||||||
+39
@@ -0,0 +1,39 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<Form xmlns="http://v8.1c.ru/8.3/xcf/logform" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:dcscor="http://v8.1c.ru/8.1/data-composition-system/core" xmlns:dcsset="http://v8.1c.ru/8.1/data-composition-system/settings" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.17">
|
||||||
|
<AutoTitle>false</AutoTitle>
|
||||||
|
<AutoCommandBar name="ФормаКоманднаяПанель" id="-1"/>
|
||||||
|
<ChildItems>
|
||||||
|
<Table name="Список" id="1">
|
||||||
|
<DataPath>Список</DataPath>
|
||||||
|
<ChildItems>
|
||||||
|
<InputField name="СписокСклад" id="2">
|
||||||
|
<DataPath>Список.Склад</DataPath>
|
||||||
|
<ExtendedTooltip name="СписокСкладРасширеннаяПодсказка" id="3"/>
|
||||||
|
</InputField>
|
||||||
|
<InputField name="СписокКомментарий" id="4">
|
||||||
|
<DataPath>Список.Комментарий</DataPath>
|
||||||
|
<ExtendedTooltip name="СписокКомментарийРасширеннаяПодсказка" id="5"/>
|
||||||
|
</InputField>
|
||||||
|
</ChildItems>
|
||||||
|
<ExtendedTooltip name="СписокРасширеннаяПодсказка" id="6"/>
|
||||||
|
</Table>
|
||||||
|
</ChildItems>
|
||||||
|
<Attributes>
|
||||||
|
<Attribute name="Список" id="1">
|
||||||
|
<Type>
|
||||||
|
<v8:Type>cfg:DynamicList</v8:Type>
|
||||||
|
</Type>
|
||||||
|
<MainAttribute>true</MainAttribute>
|
||||||
|
<UseAlways>
|
||||||
|
<Field>Список.Ссылка</Field>
|
||||||
|
</UseAlways>
|
||||||
|
<Settings xsi:type="DynamicList">
|
||||||
|
<ManualQuery>false</ManualQuery>
|
||||||
|
<MainTable>Document.Расход</MainTable>
|
||||||
|
<DynamicDataRead>true</DynamicDataRead>
|
||||||
|
<AutoFillAvailableFields>true</AutoFillAvailableFields>
|
||||||
|
<CustomQuery/>
|
||||||
|
</Settings>
|
||||||
|
</Attribute>
|
||||||
|
</Attributes>
|
||||||
|
</Form>
|
||||||
+19
@@ -0,0 +1,19 @@
|
|||||||
|
#Область ОбработчикиСобытийФормы
|
||||||
|
|
||||||
|
#КонецОбласти
|
||||||
|
|
||||||
|
#Область ОбработчикиСобытийЭлементовФормы
|
||||||
|
|
||||||
|
#КонецОбласти
|
||||||
|
|
||||||
|
#Область ОбработчикиКомандФормы
|
||||||
|
|
||||||
|
#КонецОбласти
|
||||||
|
|
||||||
|
#Область ОбработчикиОповещений
|
||||||
|
|
||||||
|
#КонецОбласти
|
||||||
|
|
||||||
|
#Область СлужебныеПроцедурыИФункции
|
||||||
|
|
||||||
|
#КонецОбласти
|
||||||
+21
@@ -0,0 +1,21 @@
|
|||||||
|
<?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">
|
||||||
|
<Form uuid="UUID-001">
|
||||||
|
<Properties>
|
||||||
|
<Name>ФормаСпискаЗапрос</Name>
|
||||||
|
<Synonym>
|
||||||
|
<v8:item>
|
||||||
|
<v8:lang>ru</v8:lang>
|
||||||
|
<v8:content>ФормаСпискаЗапрос</v8:content>
|
||||||
|
</v8:item>
|
||||||
|
</Synonym>
|
||||||
|
<Comment/>
|
||||||
|
<FormType>Managed</FormType>
|
||||||
|
<IncludeHelpInContents>false</IncludeHelpInContents>
|
||||||
|
<UsePurposes>
|
||||||
|
<v8:Value xsi:type="app:ApplicationUsePurpose">PlatformApplication</v8:Value>
|
||||||
|
<v8:Value xsi:type="app:ApplicationUsePurpose">MobilePlatformApplication</v8:Value>
|
||||||
|
</UsePurposes>
|
||||||
|
</Properties>
|
||||||
|
</Form>
|
||||||
|
</MetaDataObject>
|
||||||
+36
@@ -0,0 +1,36 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<Form xmlns="http://v8.1c.ru/8.3/xcf/logform" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:dcscor="http://v8.1c.ru/8.1/data-composition-system/core" xmlns:dcsset="http://v8.1c.ru/8.1/data-composition-system/settings" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.17">
|
||||||
|
<AutoTitle>false</AutoTitle>
|
||||||
|
<AutoCommandBar name="ФормаКоманднаяПанель" id="-1"/>
|
||||||
|
<ChildItems>
|
||||||
|
<Table name="Список" id="1">
|
||||||
|
<DataPath>Список</DataPath>
|
||||||
|
<ChildItems>
|
||||||
|
<InputField name="СписокКомментарий" id="2">
|
||||||
|
<DataPath>Список.Комментарий</DataPath>
|
||||||
|
<ExtendedTooltip name="СписокКомментарийРасширеннаяПодсказка" id="3"/>
|
||||||
|
</InputField>
|
||||||
|
</ChildItems>
|
||||||
|
<ExtendedTooltip name="СписокРасширеннаяПодсказка" id="4"/>
|
||||||
|
</Table>
|
||||||
|
</ChildItems>
|
||||||
|
<Attributes>
|
||||||
|
<Attribute name="Список" id="1">
|
||||||
|
<Type>
|
||||||
|
<v8:Type>cfg:DynamicList</v8:Type>
|
||||||
|
</Type>
|
||||||
|
<MainAttribute>true</MainAttribute>
|
||||||
|
<UseAlways>
|
||||||
|
<Field>Список.Ссылка</Field>
|
||||||
|
</UseAlways>
|
||||||
|
<Settings xsi:type="DynamicList">
|
||||||
|
<ManualQuery>true</ManualQuery>
|
||||||
|
<MainTable>Document.Расход</MainTable>
|
||||||
|
<DynamicDataRead>true</DynamicDataRead>
|
||||||
|
<AutoFillAvailableFields>true</AutoFillAvailableFields>
|
||||||
|
<CustomQuery>ВЫБРАТЬ ДокументРасход.Ссылка, ДокументРасход.Комментарий, ДокументРасход.Склад ИЗ Документ.Расход КАК ДокументРасход</CustomQuery>
|
||||||
|
<QueryText>ВЫБРАТЬ ДокументРасход.Ссылка, ДокументРасход.Комментарий, ДокументРасход.Склад ИЗ Документ.Расход КАК ДокументРасход</QueryText>
|
||||||
|
</Settings>
|
||||||
|
</Attribute>
|
||||||
|
</Attributes>
|
||||||
|
</Form>
|
||||||
+19
@@ -0,0 +1,19 @@
|
|||||||
|
#Область ОбработчикиСобытийФормы
|
||||||
|
|
||||||
|
#КонецОбласти
|
||||||
|
|
||||||
|
#Область ОбработчикиСобытийЭлементовФормы
|
||||||
|
|
||||||
|
#КонецОбласти
|
||||||
|
|
||||||
|
#Область ОбработчикиКомандФормы
|
||||||
|
|
||||||
|
#КонецОбласти
|
||||||
|
|
||||||
|
#Область ОбработчикиОповещений
|
||||||
|
|
||||||
|
#КонецОбласти
|
||||||
|
|
||||||
|
#Область СлужебныеПроцедурыИФункции
|
||||||
|
|
||||||
|
#КонецОбласти
|
||||||
+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>
|
||||||
+266
@@ -0,0 +1,266 @@
|
|||||||
|
<?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">
|
||||||
|
<InformationRegister uuid="UUID-001">
|
||||||
|
<InternalInfo>
|
||||||
|
<xr:GeneratedType name="InformationRegisterRecord.Настройка" category="Record">
|
||||||
|
<xr:TypeId>UUID-002</xr:TypeId>
|
||||||
|
<xr:ValueId>UUID-003</xr:ValueId>
|
||||||
|
</xr:GeneratedType>
|
||||||
|
<xr:GeneratedType name="InformationRegisterManager.Настройка" category="Manager">
|
||||||
|
<xr:TypeId>UUID-004</xr:TypeId>
|
||||||
|
<xr:ValueId>UUID-005</xr:ValueId>
|
||||||
|
</xr:GeneratedType>
|
||||||
|
<xr:GeneratedType name="InformationRegisterSelection.Настройка" category="Selection">
|
||||||
|
<xr:TypeId>UUID-006</xr:TypeId>
|
||||||
|
<xr:ValueId>UUID-007</xr:ValueId>
|
||||||
|
</xr:GeneratedType>
|
||||||
|
<xr:GeneratedType name="InformationRegisterList.Настройка" category="List">
|
||||||
|
<xr:TypeId>UUID-008</xr:TypeId>
|
||||||
|
<xr:ValueId>UUID-009</xr:ValueId>
|
||||||
|
</xr:GeneratedType>
|
||||||
|
<xr:GeneratedType name="InformationRegisterRecordSet.Настройка" category="RecordSet">
|
||||||
|
<xr:TypeId>UUID-010</xr:TypeId>
|
||||||
|
<xr:ValueId>UUID-011</xr:ValueId>
|
||||||
|
</xr:GeneratedType>
|
||||||
|
<xr:GeneratedType name="InformationRegisterRecordKey.Настройка" category="RecordKey">
|
||||||
|
<xr:TypeId>UUID-012</xr:TypeId>
|
||||||
|
<xr:ValueId>UUID-013</xr:ValueId>
|
||||||
|
</xr:GeneratedType>
|
||||||
|
<xr:GeneratedType name="InformationRegisterRecordManager.Настройка" category="RecordManager">
|
||||||
|
<xr:TypeId>UUID-014</xr:TypeId>
|
||||||
|
<xr:ValueId>UUID-015</xr:ValueId>
|
||||||
|
</xr:GeneratedType>
|
||||||
|
</InternalInfo>
|
||||||
|
<Properties>
|
||||||
|
<Name>Настройка</Name>
|
||||||
|
<Synonym>
|
||||||
|
<v8:item>
|
||||||
|
<v8:lang>ru</v8:lang>
|
||||||
|
<v8:content>Настройка</v8:content>
|
||||||
|
</v8:item>
|
||||||
|
</Synonym>
|
||||||
|
<Comment/>
|
||||||
|
<UseStandardCommands>true</UseStandardCommands>
|
||||||
|
<EditType>InDialog</EditType>
|
||||||
|
<DefaultRecordForm/>
|
||||||
|
<DefaultListForm/>
|
||||||
|
<AuxiliaryRecordForm/>
|
||||||
|
<AuxiliaryListForm/>
|
||||||
|
<StandardAttributes>
|
||||||
|
<xr:StandardAttribute name="Active">
|
||||||
|
<xr:LinkByType/>
|
||||||
|
<xr:FillChecking>DontCheck</xr:FillChecking>
|
||||||
|
<xr:MultiLine>false</xr:MultiLine>
|
||||||
|
<xr:FillFromFillingValue>false</xr:FillFromFillingValue>
|
||||||
|
<xr:CreateOnInput>Auto</xr:CreateOnInput>
|
||||||
|
<xr:MaxValue xsi:nil="true"/>
|
||||||
|
<xr:ToolTip/>
|
||||||
|
<xr:ExtendedEdit>false</xr:ExtendedEdit>
|
||||||
|
<xr:Format/>
|
||||||
|
<xr:ChoiceForm/>
|
||||||
|
<xr:QuickChoice>Auto</xr:QuickChoice>
|
||||||
|
<xr:ChoiceHistoryOnInput>Auto</xr:ChoiceHistoryOnInput>
|
||||||
|
<xr:EditFormat/>
|
||||||
|
<xr:PasswordMode>false</xr:PasswordMode>
|
||||||
|
<xr:DataHistory>Use</xr:DataHistory>
|
||||||
|
<xr:MarkNegatives>false</xr:MarkNegatives>
|
||||||
|
<xr:MinValue xsi:nil="true"/>
|
||||||
|
<xr:Synonym/>
|
||||||
|
<xr:Comment/>
|
||||||
|
<xr:FullTextSearch>Use</xr:FullTextSearch>
|
||||||
|
<xr:ChoiceParameterLinks/>
|
||||||
|
<xr:FillValue xsi:nil="true"/>
|
||||||
|
<xr:Mask/>
|
||||||
|
<xr:ChoiceParameters/>
|
||||||
|
</xr:StandardAttribute>
|
||||||
|
<xr:StandardAttribute name="LineNumber">
|
||||||
|
<xr:LinkByType/>
|
||||||
|
<xr:FillChecking>DontCheck</xr:FillChecking>
|
||||||
|
<xr:MultiLine>false</xr:MultiLine>
|
||||||
|
<xr:FillFromFillingValue>false</xr:FillFromFillingValue>
|
||||||
|
<xr:CreateOnInput>Auto</xr:CreateOnInput>
|
||||||
|
<xr:MaxValue xsi:nil="true"/>
|
||||||
|
<xr:ToolTip/>
|
||||||
|
<xr:ExtendedEdit>false</xr:ExtendedEdit>
|
||||||
|
<xr:Format/>
|
||||||
|
<xr:ChoiceForm/>
|
||||||
|
<xr:QuickChoice>Auto</xr:QuickChoice>
|
||||||
|
<xr:ChoiceHistoryOnInput>Auto</xr:ChoiceHistoryOnInput>
|
||||||
|
<xr:EditFormat/>
|
||||||
|
<xr:PasswordMode>false</xr:PasswordMode>
|
||||||
|
<xr:DataHistory>Use</xr:DataHistory>
|
||||||
|
<xr:MarkNegatives>false</xr:MarkNegatives>
|
||||||
|
<xr:MinValue xsi:nil="true"/>
|
||||||
|
<xr:Synonym/>
|
||||||
|
<xr:Comment/>
|
||||||
|
<xr:FullTextSearch>Use</xr:FullTextSearch>
|
||||||
|
<xr:ChoiceParameterLinks/>
|
||||||
|
<xr:FillValue xsi:nil="true"/>
|
||||||
|
<xr:Mask/>
|
||||||
|
<xr:ChoiceParameters/>
|
||||||
|
</xr:StandardAttribute>
|
||||||
|
<xr:StandardAttribute name="Recorder">
|
||||||
|
<xr:LinkByType/>
|
||||||
|
<xr:FillChecking>DontCheck</xr:FillChecking>
|
||||||
|
<xr:MultiLine>false</xr:MultiLine>
|
||||||
|
<xr:FillFromFillingValue>false</xr:FillFromFillingValue>
|
||||||
|
<xr:CreateOnInput>Auto</xr:CreateOnInput>
|
||||||
|
<xr:MaxValue xsi:nil="true"/>
|
||||||
|
<xr:ToolTip/>
|
||||||
|
<xr:ExtendedEdit>false</xr:ExtendedEdit>
|
||||||
|
<xr:Format/>
|
||||||
|
<xr:ChoiceForm/>
|
||||||
|
<xr:QuickChoice>Auto</xr:QuickChoice>
|
||||||
|
<xr:ChoiceHistoryOnInput>Auto</xr:ChoiceHistoryOnInput>
|
||||||
|
<xr:EditFormat/>
|
||||||
|
<xr:PasswordMode>false</xr:PasswordMode>
|
||||||
|
<xr:DataHistory>Use</xr:DataHistory>
|
||||||
|
<xr:MarkNegatives>false</xr:MarkNegatives>
|
||||||
|
<xr:MinValue xsi:nil="true"/>
|
||||||
|
<xr:Synonym/>
|
||||||
|
<xr:Comment/>
|
||||||
|
<xr:FullTextSearch>Use</xr:FullTextSearch>
|
||||||
|
<xr:ChoiceParameterLinks/>
|
||||||
|
<xr:FillValue xsi:nil="true"/>
|
||||||
|
<xr:Mask/>
|
||||||
|
<xr:ChoiceParameters/>
|
||||||
|
</xr:StandardAttribute>
|
||||||
|
<xr:StandardAttribute name="Period">
|
||||||
|
<xr:LinkByType/>
|
||||||
|
<xr:FillChecking>DontCheck</xr:FillChecking>
|
||||||
|
<xr:MultiLine>false</xr:MultiLine>
|
||||||
|
<xr:FillFromFillingValue>false</xr:FillFromFillingValue>
|
||||||
|
<xr:CreateOnInput>Auto</xr:CreateOnInput>
|
||||||
|
<xr:MaxValue xsi:nil="true"/>
|
||||||
|
<xr:ToolTip/>
|
||||||
|
<xr:ExtendedEdit>false</xr:ExtendedEdit>
|
||||||
|
<xr:Format/>
|
||||||
|
<xr:ChoiceForm/>
|
||||||
|
<xr:QuickChoice>Auto</xr:QuickChoice>
|
||||||
|
<xr:ChoiceHistoryOnInput>Auto</xr:ChoiceHistoryOnInput>
|
||||||
|
<xr:EditFormat/>
|
||||||
|
<xr:PasswordMode>false</xr:PasswordMode>
|
||||||
|
<xr:DataHistory>Use</xr:DataHistory>
|
||||||
|
<xr:MarkNegatives>false</xr:MarkNegatives>
|
||||||
|
<xr:MinValue xsi:nil="true"/>
|
||||||
|
<xr:Synonym/>
|
||||||
|
<xr:Comment/>
|
||||||
|
<xr:FullTextSearch>Use</xr:FullTextSearch>
|
||||||
|
<xr:ChoiceParameterLinks/>
|
||||||
|
<xr:FillValue xsi:nil="true"/>
|
||||||
|
<xr:Mask/>
|
||||||
|
<xr:ChoiceParameters/>
|
||||||
|
</xr:StandardAttribute>
|
||||||
|
</StandardAttributes>
|
||||||
|
<InformationRegisterPeriodicity>Nonperiodical</InformationRegisterPeriodicity>
|
||||||
|
<WriteMode>Independent</WriteMode>
|
||||||
|
<MainFilterOnPeriod>false</MainFilterOnPeriod>
|
||||||
|
<IncludeHelpInContents>false</IncludeHelpInContents>
|
||||||
|
<DataLockControlMode>Managed</DataLockControlMode>
|
||||||
|
<FullTextSearch>Use</FullTextSearch>
|
||||||
|
<EnableTotalsSliceFirst>false</EnableTotalsSliceFirst>
|
||||||
|
<EnableTotalsSliceLast>false</EnableTotalsSliceLast>
|
||||||
|
<RecordPresentation/>
|
||||||
|
<ExtendedRecordPresentation/>
|
||||||
|
<ListPresentation/>
|
||||||
|
<ExtendedListPresentation/>
|
||||||
|
<Explanation/>
|
||||||
|
<DataHistory>DontUse</DataHistory>
|
||||||
|
<UpdateDataHistoryImmediatelyAfterWrite>false</UpdateDataHistoryImmediatelyAfterWrite>
|
||||||
|
<ExecuteAfterWriteDataHistoryVersionProcessing>false</ExecuteAfterWriteDataHistoryVersionProcessing>
|
||||||
|
</Properties>
|
||||||
|
<ChildObjects>
|
||||||
|
<Resource uuid="UUID-016">
|
||||||
|
<Properties>
|
||||||
|
<Name>Лимит</Name>
|
||||||
|
<Synonym>
|
||||||
|
<v8:item>
|
||||||
|
<v8:lang>ru</v8:lang>
|
||||||
|
<v8:content>Лимит</v8:content>
|
||||||
|
</v8:item>
|
||||||
|
</Synonym>
|
||||||
|
<Comment/>
|
||||||
|
<Type>
|
||||||
|
<v8:Type>xs:decimal</v8:Type>
|
||||||
|
<v8:NumberQualifiers>
|
||||||
|
<v8:Digits>15</v8:Digits>
|
||||||
|
<v8:FractionDigits>2</v8:FractionDigits>
|
||||||
|
<v8:AllowedSign>Any</v8:AllowedSign>
|
||||||
|
</v8:NumberQualifiers>
|
||||||
|
</Type>
|
||||||
|
<PasswordMode>false</PasswordMode>
|
||||||
|
<Format/>
|
||||||
|
<EditFormat/>
|
||||||
|
<ToolTip/>
|
||||||
|
<MarkNegatives>false</MarkNegatives>
|
||||||
|
<Mask/>
|
||||||
|
<MultiLine>false</MultiLine>
|
||||||
|
<ExtendedEdit>false</ExtendedEdit>
|
||||||
|
<MinValue xsi:nil="true"/>
|
||||||
|
<MaxValue xsi:nil="true"/>
|
||||||
|
<FillFromFillingValue>false</FillFromFillingValue>
|
||||||
|
<FillValue xsi:type="xs:decimal">0</FillValue>
|
||||||
|
<FillChecking>DontCheck</FillChecking>
|
||||||
|
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems>
|
||||||
|
<ChoiceParameterLinks/>
|
||||||
|
<ChoiceParameters/>
|
||||||
|
<QuickChoice>Auto</QuickChoice>
|
||||||
|
<CreateOnInput>Auto</CreateOnInput>
|
||||||
|
<ChoiceForm/>
|
||||||
|
<LinkByType/>
|
||||||
|
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
|
||||||
|
<Indexing>DontIndex</Indexing>
|
||||||
|
<FullTextSearch>Use</FullTextSearch>
|
||||||
|
<DataHistory>Use</DataHistory>
|
||||||
|
</Properties>
|
||||||
|
</Resource>
|
||||||
|
<Dimension uuid="UUID-017">
|
||||||
|
<Properties>
|
||||||
|
<Name>Организация</Name>
|
||||||
|
<Synonym>
|
||||||
|
<v8:item>
|
||||||
|
<v8:lang>ru</v8:lang>
|
||||||
|
<v8:content>Организация</v8:content>
|
||||||
|
</v8:item>
|
||||||
|
</Synonym>
|
||||||
|
<Comment/>
|
||||||
|
<Type>
|
||||||
|
<v8:Type>xs:string</v8:Type>
|
||||||
|
<v8:StringQualifiers>
|
||||||
|
<v8:Length>50</v8:Length>
|
||||||
|
<v8:AllowedLength>Variable</v8:AllowedLength>
|
||||||
|
</v8:StringQualifiers>
|
||||||
|
</Type>
|
||||||
|
<PasswordMode>false</PasswordMode>
|
||||||
|
<Format/>
|
||||||
|
<EditFormat/>
|
||||||
|
<ToolTip/>
|
||||||
|
<MarkNegatives>false</MarkNegatives>
|
||||||
|
<Mask/>
|
||||||
|
<MultiLine>false</MultiLine>
|
||||||
|
<ExtendedEdit>false</ExtendedEdit>
|
||||||
|
<MinValue xsi:nil="true"/>
|
||||||
|
<MaxValue xsi:nil="true"/>
|
||||||
|
<FillFromFillingValue>true</FillFromFillingValue>
|
||||||
|
<FillValue xsi:type="xs:string"/>
|
||||||
|
<FillChecking>DontCheck</FillChecking>
|
||||||
|
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems>
|
||||||
|
<ChoiceParameterLinks/>
|
||||||
|
<ChoiceParameters/>
|
||||||
|
<QuickChoice>Auto</QuickChoice>
|
||||||
|
<CreateOnInput>Auto</CreateOnInput>
|
||||||
|
<ChoiceForm/>
|
||||||
|
<LinkByType/>
|
||||||
|
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
|
||||||
|
<Master>true</Master>
|
||||||
|
<MainFilter>false</MainFilter>
|
||||||
|
<DenyIncompleteValues>false</DenyIncompleteValues>
|
||||||
|
<Indexing>DontIndex</Indexing>
|
||||||
|
<FullTextSearch>Use</FullTextSearch>
|
||||||
|
<DataHistory>Use</DataHistory>
|
||||||
|
</Properties>
|
||||||
|
</Dimension>
|
||||||
|
<Form>ФормаЗаписи</Form>
|
||||||
|
</ChildObjects>
|
||||||
|
</InformationRegister>
|
||||||
|
</MetaDataObject>
|
||||||
+21
@@ -0,0 +1,21 @@
|
|||||||
|
<?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">
|
||||||
|
<Form uuid="UUID-001">
|
||||||
|
<Properties>
|
||||||
|
<Name>ФормаЗаписи</Name>
|
||||||
|
<Synonym>
|
||||||
|
<v8:item>
|
||||||
|
<v8:lang>ru</v8:lang>
|
||||||
|
<v8:content>ФормаЗаписи</v8:content>
|
||||||
|
</v8:item>
|
||||||
|
</Synonym>
|
||||||
|
<Comment/>
|
||||||
|
<FormType>Managed</FormType>
|
||||||
|
<IncludeHelpInContents>false</IncludeHelpInContents>
|
||||||
|
<UsePurposes>
|
||||||
|
<v8:Value xsi:type="app:ApplicationUsePurpose">PlatformApplication</v8:Value>
|
||||||
|
<v8:Value xsi:type="app:ApplicationUsePurpose">MobilePlatformApplication</v8:Value>
|
||||||
|
</UsePurposes>
|
||||||
|
</Properties>
|
||||||
|
</Form>
|
||||||
|
</MetaDataObject>
|
||||||
+24
@@ -0,0 +1,24 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<Form xmlns="http://v8.1c.ru/8.3/xcf/logform" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.17">
|
||||||
|
<AutoTitle>false</AutoTitle>
|
||||||
|
<AutoCommandBar name="ФормаКоманднаяПанель" id="-1"/>
|
||||||
|
<ChildItems>
|
||||||
|
<InputField name="Организация" id="1">
|
||||||
|
<DataPath>Запись.Организация</DataPath>
|
||||||
|
<ExtendedTooltip name="ОрганизацияРасширеннаяПодсказка" id="2"/>
|
||||||
|
</InputField>
|
||||||
|
<InputField name="Лимит" id="3">
|
||||||
|
<DataPath>Запись.Лимит</DataPath>
|
||||||
|
<ExtendedTooltip name="ЛимитРасширеннаяПодсказка" id="4"/>
|
||||||
|
</InputField>
|
||||||
|
</ChildItems>
|
||||||
|
<Attributes>
|
||||||
|
<Attribute name="Запись" id="1">
|
||||||
|
<Type>
|
||||||
|
<v8:Type>cfg:InformationRegisterRecordManager.Настройка</v8:Type>
|
||||||
|
</Type>
|
||||||
|
<MainAttribute>true</MainAttribute>
|
||||||
|
<SavedData>true</SavedData>
|
||||||
|
</Attribute>
|
||||||
|
</Attributes>
|
||||||
|
</Form>
|
||||||
+19
@@ -0,0 +1,19 @@
|
|||||||
|
#Область ОбработчикиСобытийФормы
|
||||||
|
|
||||||
|
#КонецОбласти
|
||||||
|
|
||||||
|
#Область ОбработчикиСобытийЭлементовФормы
|
||||||
|
|
||||||
|
#КонецОбласти
|
||||||
|
|
||||||
|
#Область ОбработчикиКомандФормы
|
||||||
|
|
||||||
|
#КонецОбласти
|
||||||
|
|
||||||
|
#Область ОбработчикиОповещений
|
||||||
|
|
||||||
|
#КонецОбласти
|
||||||
|
|
||||||
|
#Область СлужебныеПроцедурыИФункции
|
||||||
|
|
||||||
|
#КонецОбласти
|
||||||
+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>
|
||||||
+72
@@ -0,0 +1,72 @@
|
|||||||
|
<?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>
|
||||||
|
<ObjectBelonging>Adopted</ObjectBelonging>
|
||||||
|
<Name>Тест</Name>
|
||||||
|
<Synonym>
|
||||||
|
<v8:item>
|
||||||
|
<v8:lang>ru</v8:lang>
|
||||||
|
<v8:content>Тест</v8:content>
|
||||||
|
</v8:item>
|
||||||
|
</Synonym>
|
||||||
|
<Comment/>
|
||||||
|
<ConfigurationExtensionPurpose>Customization</ConfigurationExtensionPurpose>
|
||||||
|
<KeepMappingToExtendedConfigurationObjectsByIDs>true</KeepMappingToExtendedConfigurationObjectsByIDs>
|
||||||
|
<NamePrefix>Тест_</NamePrefix>
|
||||||
|
<ConfigurationExtensionCompatibilityMode>Version8_3_24</ConfigurationExtensionCompatibilityMode>
|
||||||
|
<DefaultRunMode>ManagedApplication</DefaultRunMode>
|
||||||
|
<UsePurposes>
|
||||||
|
<v8:Value xsi:type="app:ApplicationUsePurpose">PlatformApplication</v8:Value>
|
||||||
|
</UsePurposes>
|
||||||
|
<ScriptVariant>Russian</ScriptVariant>
|
||||||
|
<DefaultRoles>
|
||||||
|
<xr:Item xsi:type="xr:MDObjectRef">Role.Тест_ОсновнаяРоль</xr:Item>
|
||||||
|
</DefaultRoles>
|
||||||
|
<Vendor/>
|
||||||
|
<Version/>
|
||||||
|
<DefaultLanguage>Language.Русский</DefaultLanguage>
|
||||||
|
<BriefInformation/>
|
||||||
|
<DetailedInformation/>
|
||||||
|
<Copyright/>
|
||||||
|
<VendorInformationAddress/>
|
||||||
|
<ConfigurationInformationAddress/>
|
||||||
|
<InterfaceCompatibilityMode>TaxiEnableVersion8_2</InterfaceCompatibilityMode>
|
||||||
|
</Properties>
|
||||||
|
<ChildObjects>
|
||||||
|
<Language>Русский</Language>
|
||||||
|
<Role>Тест_ОсновнаяРоль</Role>
|
||||||
|
<Document>Расход</Document>
|
||||||
|
</ChildObjects>
|
||||||
|
</Configuration>
|
||||||
|
</MetaDataObject>
|
||||||
+90
@@ -0,0 +1,90 @@
|
|||||||
|
<?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">
|
||||||
|
<Document uuid="UUID-001">
|
||||||
|
<InternalInfo>
|
||||||
|
<xr:GeneratedType name="DocumentObject.Расход" category="Object">
|
||||||
|
<xr:TypeId>UUID-002</xr:TypeId>
|
||||||
|
<xr:ValueId>UUID-003</xr:ValueId>
|
||||||
|
</xr:GeneratedType>
|
||||||
|
<xr:GeneratedType name="DocumentRef.Расход" category="Ref">
|
||||||
|
<xr:TypeId>UUID-004</xr:TypeId>
|
||||||
|
<xr:ValueId>UUID-005</xr:ValueId>
|
||||||
|
</xr:GeneratedType>
|
||||||
|
<xr:GeneratedType name="DocumentSelection.Расход" category="Selection">
|
||||||
|
<xr:TypeId>UUID-006</xr:TypeId>
|
||||||
|
<xr:ValueId>UUID-007</xr:ValueId>
|
||||||
|
</xr:GeneratedType>
|
||||||
|
<xr:GeneratedType name="DocumentList.Расход" category="List">
|
||||||
|
<xr:TypeId>UUID-008</xr:TypeId>
|
||||||
|
<xr:ValueId>UUID-009</xr:ValueId>
|
||||||
|
</xr:GeneratedType>
|
||||||
|
<xr:GeneratedType name="DocumentManager.Расход" category="Manager">
|
||||||
|
<xr:TypeId>UUID-010</xr:TypeId>
|
||||||
|
<xr:ValueId>UUID-011</xr:ValueId>
|
||||||
|
</xr:GeneratedType>
|
||||||
|
</InternalInfo>
|
||||||
|
<Properties>
|
||||||
|
<ObjectBelonging>Adopted</ObjectBelonging>
|
||||||
|
<Name>Расход</Name>
|
||||||
|
<Comment/>
|
||||||
|
<ExtendedConfigurationObject>UUID-012</ExtendedConfigurationObject>
|
||||||
|
<NumberType>String</NumberType>
|
||||||
|
<NumberLength>11</NumberLength>
|
||||||
|
<NumberAllowedLength>Variable</NumberAllowedLength>
|
||||||
|
</Properties>
|
||||||
|
<ChildObjects>
|
||||||
|
<Form>ФормаДокумента</Form>
|
||||||
|
|
||||||
|
<Attribute uuid="UUID-013">
|
||||||
|
<InternalInfo/>
|
||||||
|
<Properties>
|
||||||
|
<ObjectBelonging>Adopted</ObjectBelonging>
|
||||||
|
<Name>Комментарий</Name>
|
||||||
|
<Comment/>
|
||||||
|
<ExtendedConfigurationObject>UUID-014</ExtendedConfigurationObject>
|
||||||
|
<Type><v8:Type>xs:string</v8:Type><v8:StringQualifiers><v8:Length>100</v8:Length><v8:AllowedLength>Variable</v8:AllowedLength></v8:StringQualifiers></Type>
|
||||||
|
</Properties>
|
||||||
|
</Attribute>
|
||||||
|
<Attribute uuid="UUID-015">
|
||||||
|
<InternalInfo/>
|
||||||
|
<Properties>
|
||||||
|
<ObjectBelonging>Adopted</ObjectBelonging>
|
||||||
|
<Name>Склад</Name>
|
||||||
|
<Comment/>
|
||||||
|
<ExtendedConfigurationObject>UUID-016</ExtendedConfigurationObject>
|
||||||
|
<Type><v8:Type>xs:string</v8:Type><v8:StringQualifiers><v8:Length>50</v8:Length><v8:AllowedLength>Variable</v8:AllowedLength></v8:StringQualifiers></Type>
|
||||||
|
</Properties>
|
||||||
|
</Attribute>
|
||||||
|
<TabularSection uuid="UUID-017">
|
||||||
|
<InternalInfo>
|
||||||
|
<xr:GeneratedType name="DocumentTabularSection.Расход.Товары" category="TabularSection">
|
||||||
|
<xr:TypeId>UUID-018</xr:TypeId>
|
||||||
|
<xr:ValueId>UUID-019</xr:ValueId>
|
||||||
|
</xr:GeneratedType>
|
||||||
|
<xr:GeneratedType name="DocumentTabularSectionRow.Расход.Товары" category="TabularSectionRow">
|
||||||
|
<xr:TypeId>UUID-020</xr:TypeId>
|
||||||
|
<xr:ValueId>UUID-021</xr:ValueId>
|
||||||
|
</xr:GeneratedType>
|
||||||
|
</InternalInfo>
|
||||||
|
<Properties>
|
||||||
|
<ObjectBelonging>Adopted</ObjectBelonging>
|
||||||
|
<Name>Товары</Name>
|
||||||
|
<Comment/>
|
||||||
|
<ExtendedConfigurationObject>UUID-022</ExtendedConfigurationObject>
|
||||||
|
</Properties>
|
||||||
|
<ChildObjects>
|
||||||
|
<Attribute uuid="UUID-023">
|
||||||
|
<InternalInfo/>
|
||||||
|
<Properties>
|
||||||
|
<ObjectBelonging>Adopted</ObjectBelonging>
|
||||||
|
<Name>Количество</Name>
|
||||||
|
<Comment/>
|
||||||
|
<ExtendedConfigurationObject>UUID-024</ExtendedConfigurationObject>
|
||||||
|
<Type><v8:Type>xs:decimal</v8:Type><v8:NumberQualifiers><v8:Digits>10</v8:Digits><v8:FractionDigits>3</v8:FractionDigits><v8:AllowedSign>Any</v8:AllowedSign></v8:NumberQualifiers></Type>
|
||||||
|
</Properties>
|
||||||
|
</Attribute>
|
||||||
|
</ChildObjects>
|
||||||
|
</TabularSection>
|
||||||
|
</ChildObjects>
|
||||||
|
</Document>
|
||||||
|
</MetaDataObject>
|
||||||
+13
@@ -0,0 +1,13 @@
|
|||||||
|
<?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">
|
||||||
|
<Form uuid="UUID-001">
|
||||||
|
<InternalInfo/>
|
||||||
|
<Properties>
|
||||||
|
<ObjectBelonging>Adopted</ObjectBelonging>
|
||||||
|
<Name>ФормаДокумента</Name>
|
||||||
|
<Comment/>
|
||||||
|
<ExtendedConfigurationObject>UUID-002</ExtendedConfigurationObject>
|
||||||
|
<FormType>Managed</FormType>
|
||||||
|
</Properties>
|
||||||
|
</Form>
|
||||||
|
</MetaDataObject>
|
||||||
+59
@@ -0,0 +1,59 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<Form xmlns="http://v8.1c.ru/8.3/xcf/logform" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.17">
|
||||||
|
<AutoTitle>false</AutoTitle>
|
||||||
|
<AutoCommandBar name="ФормаКоманднаяПанель" id="-1"/>
|
||||||
|
<ChildItems>
|
||||||
|
<InputField name="Комментарий" id="1">
|
||||||
|
<DataPath>Объект.Комментарий</DataPath>
|
||||||
|
<ExtendedTooltip name="КомментарийРасширеннаяПодсказка" id="2"/>
|
||||||
|
</InputField>
|
||||||
|
<Table name="Товары" id="3">
|
||||||
|
<DataPath>Объект.Товары</DataPath>
|
||||||
|
<ChildItems>
|
||||||
|
<InputField name="ТоварыКоличество" id="4">
|
||||||
|
<DataPath>Объект.Товары.Количество</DataPath>
|
||||||
|
<ExtendedTooltip name="ТоварыКоличествоРасширеннаяПодсказка" id="5"/>
|
||||||
|
</InputField>
|
||||||
|
</ChildItems>
|
||||||
|
<ExtendedTooltip name="ТоварыРасширеннаяПодсказка" id="6"/>
|
||||||
|
</Table>
|
||||||
|
</ChildItems>
|
||||||
|
<Attributes>
|
||||||
|
<Attribute name="Объект" id="1000001">
|
||||||
|
<Type>
|
||||||
|
<v8:Type>cfg:DocumentObject.Расход</v8:Type>
|
||||||
|
</Type>
|
||||||
|
<MainAttribute>true</MainAttribute>
|
||||||
|
<SavedData>true</SavedData>
|
||||||
|
</Attribute>
|
||||||
|
</Attributes>
|
||||||
|
<BaseForm version="2.17">
|
||||||
|
<AutoTitle>false</AutoTitle>
|
||||||
|
<AutoCommandBar name="ФормаКоманднаяПанель" id="-1"/>
|
||||||
|
<ChildItems>
|
||||||
|
<InputField name="Комментарий" id="1">
|
||||||
|
<DataPath>Объект.Комментарий</DataPath>
|
||||||
|
<ExtendedTooltip name="КомментарийРасширеннаяПодсказка" id="2"/>
|
||||||
|
</InputField>
|
||||||
|
<Table name="Товары" id="3">
|
||||||
|
<DataPath>Объект.Товары</DataPath>
|
||||||
|
<ChildItems>
|
||||||
|
<InputField name="ТоварыКоличество" id="4">
|
||||||
|
<DataPath>Объект.Товары.Количество</DataPath>
|
||||||
|
<ExtendedTooltip name="ТоварыКоличествоРасширеннаяПодсказка" id="5"/>
|
||||||
|
</InputField>
|
||||||
|
</ChildItems>
|
||||||
|
<ExtendedTooltip name="ТоварыРасширеннаяПодсказка" id="6"/>
|
||||||
|
</Table>
|
||||||
|
</ChildItems>
|
||||||
|
<Attributes>
|
||||||
|
<Attribute name="Объект" id="1000001">
|
||||||
|
<Type>
|
||||||
|
<v8:Type>cfg:DocumentObject.Расход</v8:Type>
|
||||||
|
</Type>
|
||||||
|
<MainAttribute>true</MainAttribute>
|
||||||
|
<SavedData>true</SavedData>
|
||||||
|
</Attribute>
|
||||||
|
</Attributes>
|
||||||
|
</BaseForm>
|
||||||
|
</Form>
|
||||||
+13
@@ -0,0 +1,13 @@
|
|||||||
|
<?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">
|
||||||
|
<InternalInfo/>
|
||||||
|
<Properties>
|
||||||
|
<ObjectBelonging>Adopted</ObjectBelonging>
|
||||||
|
<Name>Русский</Name>
|
||||||
|
<Comment/>
|
||||||
|
<ExtendedConfigurationObject>UUID-002</ExtendedConfigurationObject>
|
||||||
|
<LanguageCode>ru</LanguageCode>
|
||||||
|
</Properties>
|
||||||
|
</Language>
|
||||||
|
</MetaDataObject>
|
||||||
+10
@@ -0,0 +1,10 @@
|
|||||||
|
<?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">
|
||||||
|
<Role uuid="UUID-001">
|
||||||
|
<Properties>
|
||||||
|
<Name>Тест_ОсновнаяРоль</Name>
|
||||||
|
<Synonym/>
|
||||||
|
<Comment/>
|
||||||
|
</Properties>
|
||||||
|
</Role>
|
||||||
|
</MetaDataObject>
|
||||||
@@ -0,0 +1,45 @@
|
|||||||
|
{
|
||||||
|
"name": "Модуль создан перехватчиком — свойство помечено расширенным (2.20)",
|
||||||
|
"setup": "empty-config-220",
|
||||||
|
"preRun": [
|
||||||
|
{
|
||||||
|
"script": "meta-compile/scripts/meta-compile",
|
||||||
|
"input": { "type": "CommonModule", "name": "ОбщийМодуль3", "properties": { "Server": true } },
|
||||||
|
"args": { "-JsonPath": "{inputFile}", "-OutputDir": "{workDir}" }
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"writeFile": {
|
||||||
|
"path": "CommonModules/ОбщийМодуль3/Ext/Module.bsl",
|
||||||
|
"content": "Процедура ОбновитьДанные(Отбор) Экспорт\n\tВозврат;\nКонецПроцедуры\n"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"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": "CommonModule.ОбщийМодуль3",
|
||||||
|
"-Module": "None"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"params": {
|
||||||
|
"extensionPath": "cfe",
|
||||||
|
"modulePath": "CommonModule.ОбщийМодуль3",
|
||||||
|
"methodName": "ОбновитьДанные",
|
||||||
|
"interceptorType": "After"
|
||||||
|
},
|
||||||
|
"expect": {
|
||||||
|
"stdoutContains": "&После(\"ОбновитьДанные\")",
|
||||||
|
"fileContains": [
|
||||||
|
{
|
||||||
|
"file": "cfe/CommonModules/ОбщийМодуль3.xml",
|
||||||
|
"text": ["<xr:Property>Module</xr:Property>", "<xr:State>Extended</xr:State>"]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
+23
@@ -0,0 +1,23 @@
|
|||||||
|
<?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.20">
|
||||||
|
<CommonModule uuid="UUID-001">
|
||||||
|
<Properties>
|
||||||
|
<Name>ОбщийМодуль3</Name>
|
||||||
|
<Synonym>
|
||||||
|
<v8:item>
|
||||||
|
<v8:lang>ru</v8:lang>
|
||||||
|
<v8:content>Общий модуль3</v8:content>
|
||||||
|
</v8:item>
|
||||||
|
</Synonym>
|
||||||
|
<Comment/>
|
||||||
|
<Global>false</Global>
|
||||||
|
<ClientManagedApplication>false</ClientManagedApplication>
|
||||||
|
<Server>false</Server>
|
||||||
|
<ExternalConnection>false</ExternalConnection>
|
||||||
|
<ClientOrdinaryApplication>false</ClientOrdinaryApplication>
|
||||||
|
<ServerCall>false</ServerCall>
|
||||||
|
<Privileged>false</Privileged>
|
||||||
|
<ReturnValuesReuse>DontUse</ReturnValuesReuse>
|
||||||
|
</Properties>
|
||||||
|
</CommonModule>
|
||||||
|
</MetaDataObject>
|
||||||
+3
@@ -0,0 +1,3 @@
|
|||||||
|
Процедура ОбновитьДанные(Отбор) Экспорт
|
||||||
|
Возврат;
|
||||||
|
КонецПроцедуры
|
||||||
@@ -0,0 +1,256 @@
|
|||||||
|
<?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.20">
|
||||||
|
<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_27</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>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>TextToSpeech</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_27</CompatibilityMode>
|
||||||
|
<DefaultConstantsForm/>
|
||||||
|
</Properties>
|
||||||
|
<ChildObjects>
|
||||||
|
<Language>Русский</Language>
|
||||||
|
<CommonModule>ОбщийМодуль3</CommonModule>
|
||||||
|
</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.20">
|
||||||
|
<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>
|
||||||
+23
@@ -0,0 +1,23 @@
|
|||||||
|
<?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.20">
|
||||||
|
<CommonModule uuid="UUID-001">
|
||||||
|
<InternalInfo>
|
||||||
|
<xr:PropertyState>
|
||||||
|
<xr:Property>Module</xr:Property>
|
||||||
|
<xr:State>Extended</xr:State>
|
||||||
|
</xr:PropertyState>
|
||||||
|
</InternalInfo>
|
||||||
|
<Properties>
|
||||||
|
<ObjectBelonging>Adopted</ObjectBelonging>
|
||||||
|
<Name>ОбщийМодуль3</Name>
|
||||||
|
<Comment/>
|
||||||
|
<ExtendedConfigurationObject>UUID-002</ExtendedConfigurationObject>
|
||||||
|
<Global>false</Global>
|
||||||
|
<ClientManagedApplication>false</ClientManagedApplication>
|
||||||
|
<Server>false</Server>
|
||||||
|
<ExternalConnection>false</ExternalConnection>
|
||||||
|
<ClientOrdinaryApplication>false</ClientOrdinaryApplication>
|
||||||
|
<ServerCall>false</ServerCall>
|
||||||
|
</Properties>
|
||||||
|
</CommonModule>
|
||||||
|
</MetaDataObject>
|
||||||
+4
@@ -0,0 +1,4 @@
|
|||||||
|
&После("ОбновитьДанные")
|
||||||
|
Процедура Тест_ОбновитьДанные(Отбор)
|
||||||
|
// TODO: код после вызова оригинального метода
|
||||||
|
КонецПроцедуры
|
||||||
+72
@@ -0,0 +1,72 @@
|
|||||||
|
<?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.20">
|
||||||
|
<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>
|
||||||
|
<ObjectBelonging>Adopted</ObjectBelonging>
|
||||||
|
<Name>Тест</Name>
|
||||||
|
<Synonym>
|
||||||
|
<v8:item>
|
||||||
|
<v8:lang>ru</v8:lang>
|
||||||
|
<v8:content>Тест</v8:content>
|
||||||
|
</v8:item>
|
||||||
|
</Synonym>
|
||||||
|
<Comment/>
|
||||||
|
<ConfigurationExtensionPurpose>Customization</ConfigurationExtensionPurpose>
|
||||||
|
<KeepMappingToExtendedConfigurationObjectsByIDs>true</KeepMappingToExtendedConfigurationObjectsByIDs>
|
||||||
|
<NamePrefix>Тест_</NamePrefix>
|
||||||
|
<ConfigurationExtensionCompatibilityMode>Version8_3_27</ConfigurationExtensionCompatibilityMode>
|
||||||
|
<DefaultRunMode>ManagedApplication</DefaultRunMode>
|
||||||
|
<UsePurposes>
|
||||||
|
<v8:Value xsi:type="app:ApplicationUsePurpose">PlatformApplication</v8:Value>
|
||||||
|
</UsePurposes>
|
||||||
|
<ScriptVariant>Russian</ScriptVariant>
|
||||||
|
<DefaultRoles>
|
||||||
|
<xr:Item xsi:type="xr:MDObjectRef">Role.Тест_ОсновнаяРоль</xr:Item>
|
||||||
|
</DefaultRoles>
|
||||||
|
<Vendor/>
|
||||||
|
<Version/>
|
||||||
|
<DefaultLanguage>Language.Русский</DefaultLanguage>
|
||||||
|
<BriefInformation/>
|
||||||
|
<DetailedInformation/>
|
||||||
|
<Copyright/>
|
||||||
|
<VendorInformationAddress/>
|
||||||
|
<ConfigurationInformationAddress/>
|
||||||
|
<InterfaceCompatibilityMode>TaxiEnableVersion8_2</InterfaceCompatibilityMode>
|
||||||
|
</Properties>
|
||||||
|
<ChildObjects>
|
||||||
|
<Language>Русский</Language>
|
||||||
|
<Role>Тест_ОсновнаяРоль</Role>
|
||||||
|
<CommonModule>ОбщийМодуль3</CommonModule>
|
||||||
|
</ChildObjects>
|
||||||
|
</Configuration>
|
||||||
|
</MetaDataObject>
|
||||||
+13
@@ -0,0 +1,13 @@
|
|||||||
|
<?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.20">
|
||||||
|
<Language uuid="UUID-001">
|
||||||
|
<InternalInfo/>
|
||||||
|
<Properties>
|
||||||
|
<ObjectBelonging>Adopted</ObjectBelonging>
|
||||||
|
<Name>Русский</Name>
|
||||||
|
<Comment/>
|
||||||
|
<ExtendedConfigurationObject>UUID-002</ExtendedConfigurationObject>
|
||||||
|
<LanguageCode>ru</LanguageCode>
|
||||||
|
</Properties>
|
||||||
|
</Language>
|
||||||
|
</MetaDataObject>
|
||||||
+10
@@ -0,0 +1,10 @@
|
|||||||
|
<?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.20">
|
||||||
|
<Role uuid="UUID-001">
|
||||||
|
<Properties>
|
||||||
|
<Name>Тест_ОсновнаяРоль</Name>
|
||||||
|
<Synonym/>
|
||||||
|
<Comment/>
|
||||||
|
</Properties>
|
||||||
|
</Role>
|
||||||
|
</MetaDataObject>
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
"name": "Ошибка: основная роль расширения даёт права на заимствованный объект",
|
||||||
|
"setup": "fixture:adopted-in-default-role",
|
||||||
|
"params": { "extensionPath": "." },
|
||||||
|
"expectError": true,
|
||||||
|
"noSnapshot": "негативный кейс: навык ничего не пишет, проверяется текст и код возврата",
|
||||||
|
"expect": {
|
||||||
|
"stdoutContains": [
|
||||||
|
"Роль 'Расш1_ОсновнаяРоль' входит в DefaultRoles и даёт права на заимствованный HTTPService.ЭДО"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ConfigDumpInfo xmlns="http://v8.1c.ru/8.3/xcf/dumpinfo" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" format="Hierarchical" version="2.20">
|
||||||
|
<ConfigVersions>
|
||||||
|
<Metadata name="Configuration.Расширение1" id="397bd84b-3d37-4beb-8536-dba836ae92bd" configVersion="e7043a58cdb52bee32ce7203b307b1d906e6e0f6"/>
|
||||||
|
<Metadata name="HTTPService.Расш1_HTTPСервис1" id="6c941eed-1e98-4f99-acca-36ea67d496fd" configVersion="dace55e5b7d03787e0afd82b3a317a0ae5961c40">
|
||||||
|
<Metadata name="HTTPService.Расш1_HTTPСервис1.URLTemplate.ШаблонURL1.Method.Метод1" id="88695ffb-354b-489e-8526-dc13e16c66f7"/>
|
||||||
|
<Metadata name="HTTPService.Расш1_HTTPСервис1.URLTemplate.ШаблонURL1" id="c3736df9-c579-4fba-9172-44e83994aa9e"/>
|
||||||
|
</Metadata>
|
||||||
|
<Metadata name="HTTPService.Расш1_HTTPСервис1.Module" id="6c941eed-1e98-4f99-acca-36ea67d496fd.0" configVersion="991b3ccee21ed3b68db2970f9349b4a91ab3bdd4"/>
|
||||||
|
<Metadata name="HTTPService.ЭДО" id="f4c12d1d-3b1f-4b91-9140-6ac350f7b73a" configVersion="4cda642007e1bdf2d297f2dcc188658ef6d3eefa">
|
||||||
|
<Metadata name="HTTPService.ЭДО.URLTemplate.ЕстьНовыеДокументы" id="24778e70-17fe-4509-9aab-7a46bdfe30a6"/>
|
||||||
|
<Metadata name="HTTPService.ЭДО.URLTemplate.ЕстьНовыеДокументы.Method.POST" id="6253109e-d955-4efc-bcaf-94fed3f69dfc"/>
|
||||||
|
</Metadata>
|
||||||
|
<Metadata name="Language.Русский" id="eebce631-949d-40a3-9d4d-d51bc60f9579" configVersion="e74ea5ed9dcdd8a24f296934f27dccb8ad8f3f65"/>
|
||||||
|
<Metadata name="Role.Расш1_ОсновнаяРоль" id="5686fa70-df27-4c0e-b146-85a540b0d306" configVersion="f9d9315caa23d860de262485db126170f275bdba"/>
|
||||||
|
<Metadata name="Role.Расш1_ОсновнаяРоль.Rights" id="5686fa70-df27-4c0e-b146-85a540b0d306.0" configVersion="954648fd330f50c4422e9b6b732c5b6ef242c4e7"/>
|
||||||
|
<Metadata name="Role.Расш1_Роль1" id="37030a0a-9c9d-4423-8a24-162c4c615f34" configVersion="0e34d999ff7cc7fc86498eac6516bed86ec543e7"/>
|
||||||
|
<Metadata name="Role.Расш1_Роль1.Rights" id="37030a0a-9c9d-4423-8a24-162c4c615f34.0" configVersion="00455851a838119e5f674d0121e000390fa29a09"/>
|
||||||
|
</ConfigVersions>
|
||||||
|
</ConfigDumpInfo>
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user