mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-08-28 14:09:41 +03:00
feat(form-decompile,form-compile): оформление элементов — цвета/шрифты/граница (кластер Appearance)
Прямые свойства оформления элемента: <TextColor>/<BackColor>/<BorderColor> + header/footer
(<TitleTextColor>/<FooterBackColor>/…), <Font>, <Border>. Раньше терялись при декомпиляции и
не эмитились. Выборка 2.17: LabelDecoration>TextColor 49, InputField>Border/TextColor, Button*3,
LabelField header/footer (колонки).
DSL: ключи англ. camelCase 1:1 с тегами (textColor/backColor/borderColor/titleTextColor/…/
font/border) + приём рус. синонимов (ЦветТекста/ЦветФона/ЦветРамки/Шрифт/Рамка/…Заголовка/…Подвала).
- Цвет — verbatim-строка: style:/web:/win:/#RRGGBB (компилятор не валидирует; win: валиден —
win:MenuBar/ButtonText/…; sys: в выгрузках не встречается; несуществующее имя → ошибка загрузки).
- Шрифт — строка "style:X" → <Font ref kind=StyleItem/> (минимальная форма); объект → только
заданные атрибуты (ref/faceName/height/bold/italic/underline/strikeout/kind/scale), дефолты не
досочиняются. Декомпилятор: чистый style-ref → строка, иначе объект (точный набор атрибутов).
- Граница — строка/{ref} → <Border ref="style:X"/>; {width,style} → явная (ControlBorderType:
Single/Double/Underline/DoubleUnderline/Overline/Embossed/Indented/WithoutBorder).
Порядок тегов в XML — XSD-профиль по базовому типу (field/decoration/button), компилятор
расставляет сам; вставка перед компаньонами. Декомпилятор — захват в Add-CommonProps (все типы).
Компилятор разведён в 6 эмиттеров (input/check/radio/label/labelField/button) + зеркало Python.
Валидация: round-trip фикстура ПроверкаПользовательскихНастроек — 10/10 LabelField (стили рамки,
header/footer, Absolute/style шрифты) бит-в-бит. Сертификация загрузкой в 1С 8.3.24 (кейс
element-appearance: decoration/field/button, цвета hex/web/style, шрифты, границы) — чисто.
Регресс 36/36 ps+py. Harness sample-2.17 TOTAL 1326→1177 (−149), 0 ADDED-регрессий.
Версии: form-compile v1.65, form-decompile v0.47. Попутно: декод garbled \u-комментариев в .py.
Остаток (декомпилятор захватывает, компилятор пока не эмитит — не регресс): UsualGroup 9, Table 9,
PictureDecoration 2 — отдельным шагом.
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
# form-compile v1.64 — Compile 1C managed form from JSON or object metadata
|
# form-compile v1.65 — Compile 1C managed form from JSON or object metadata
|
||||||
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
|
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
|
||||||
param(
|
param(
|
||||||
[string]$JsonPath,
|
[string]$JsonPath,
|
||||||
@@ -2601,6 +2601,102 @@ function Emit-CommandPicture {
|
|||||||
X "$indent</Picture>"
|
X "$indent</Picture>"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# --- Оформление элемента: цвета / шрифты / граница ---
|
||||||
|
# Прямые свойства элемента (<TextColor>/<Font>/<Border> + header/footer-варианты у полей).
|
||||||
|
# Ключи DSL — англ. camelCase 1:1 с тегами; принимаем рус. синонимы (forgiving).
|
||||||
|
# Значения: цвет — verbatim-строка (style:/web:/sys:/win:/#RRGGBB); шрифт — строка-ref или
|
||||||
|
# объект-атрибуты; граница — строка-ref или объект {width,style|ref}. Порядок тегов — XSD (профиль).
|
||||||
|
$script:appearanceSpec = @{
|
||||||
|
titleTextColor = @{ tag='TitleTextColor'; kind='color' }
|
||||||
|
titleBackColor = @{ tag='TitleBackColor'; kind='color' }
|
||||||
|
titleFont = @{ tag='TitleFont'; kind='font' }
|
||||||
|
footerTextColor = @{ tag='FooterTextColor'; kind='color' }
|
||||||
|
footerBackColor = @{ tag='FooterBackColor'; kind='color' }
|
||||||
|
footerFont = @{ tag='FooterFont'; kind='font' }
|
||||||
|
textColor = @{ tag='TextColor'; kind='color' }
|
||||||
|
backColor = @{ tag='BackColor'; kind='color' }
|
||||||
|
borderColor = @{ tag='BorderColor'; kind='color' }
|
||||||
|
border = @{ tag='Border'; kind='border'}
|
||||||
|
font = @{ tag='Font'; kind='font' }
|
||||||
|
}
|
||||||
|
# Рус. синоним (lower) → canonical key
|
||||||
|
$script:appearanceSynonyms = @{
|
||||||
|
'цветтекста'='textColor'; 'цветфона'='backColor'; 'цветрамки'='borderColor'
|
||||||
|
'цветтекстазаголовка'='titleTextColor'; 'цветфоназаголовка'='titleBackColor'; 'шрифтзаголовка'='titleFont'
|
||||||
|
'цветтекстаподвала'='footerTextColor'; 'цветфонаподвала'='footerBackColor'; 'шрифтподвала'='footerFont'
|
||||||
|
'шрифт'='font'; 'рамка'='border'
|
||||||
|
}
|
||||||
|
# Профили порядка тегов по базовым типам (XSD-последовательность)
|
||||||
|
$script:appOrderField = @('titleTextColor','titleBackColor','titleFont','footerTextColor','footerBackColor','footerFont','textColor','backColor','borderColor','border','font')
|
||||||
|
$script:appOrderDecoration = @('textColor','font','backColor','borderColor','border')
|
||||||
|
$script:appOrderButton = @('textColor','backColor','borderColor','font')
|
||||||
|
|
||||||
|
function Get-AppearanceValue {
|
||||||
|
param($el, [string]$canonical)
|
||||||
|
if ($null -eq $el) { return $null }
|
||||||
|
$p = $el.PSObject.Properties[$canonical]
|
||||||
|
if ($p) { return $p.Value }
|
||||||
|
foreach ($syn in $script:appearanceSynonyms.Keys) {
|
||||||
|
if ($script:appearanceSynonyms[$syn] -eq $canonical) {
|
||||||
|
$pp = $el.PSObject.Properties[$syn]
|
||||||
|
if ($pp) { return $pp.Value }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return $null
|
||||||
|
}
|
||||||
|
|
||||||
|
# <Font|TitleFont|FooterFont …> — строка = ref на стиль (kind=StyleItem); объект = атрибуты.
|
||||||
|
function Emit-FontTag {
|
||||||
|
param([string]$tag, $val, [string]$indent)
|
||||||
|
if ($val -is [string]) {
|
||||||
|
X "$indent<$tag ref=`"$(Esc-Xml $val)`" kind=`"StyleItem`"/>"
|
||||||
|
return
|
||||||
|
}
|
||||||
|
$attrs = @()
|
||||||
|
foreach ($a in @('ref','faceName','height','bold','italic','underline','strikeout','kind','scale')) {
|
||||||
|
$pp = $val.PSObject.Properties[$a]
|
||||||
|
if ($pp -and $null -ne $pp.Value) {
|
||||||
|
$v = $pp.Value
|
||||||
|
if ($v -is [bool]) { $v = if ($v) {'true'} else {'false'} }
|
||||||
|
$attrs += "$a=`"$(Esc-Xml "$v")`""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
X "$indent<$tag $($attrs -join ' ')/>"
|
||||||
|
}
|
||||||
|
|
||||||
|
# <Border> — строка/{ref} = из стиля (<Border ref="style:X"/>); {width,style} = явная.
|
||||||
|
function Emit-BorderTag {
|
||||||
|
param($val, [string]$indent)
|
||||||
|
if ($val -is [string]) { X "$indent<Border ref=`"$(Esc-Xml $val)`"/>"; return }
|
||||||
|
$refP = $val.PSObject.Properties['ref']
|
||||||
|
if ($refP -and $refP.Value) { X "$indent<Border ref=`"$(Esc-Xml "$($refP.Value)")`"/>"; return }
|
||||||
|
$width = if ($val.PSObject.Properties['width'] -and $null -ne $val.width) { $val.width } else { 1 }
|
||||||
|
$style = if ($val.PSObject.Properties['style']) { "$($val.style)" } else { $null }
|
||||||
|
X "$indent<Border width=`"$width`">"
|
||||||
|
if ($style) { X "$indent`t<v8ui:style xsi:type=`"v8ui:ControlBorderType`">$(Esc-Xml $style)</v8ui:style>" }
|
||||||
|
X "$indent</Border>"
|
||||||
|
}
|
||||||
|
|
||||||
|
function Emit-Appearance {
|
||||||
|
param($el, [string]$indent, [string]$profile = 'field')
|
||||||
|
if ($null -eq $el) { return }
|
||||||
|
$order = switch ($profile) {
|
||||||
|
'decoration' { $script:appOrderDecoration }
|
||||||
|
'button' { $script:appOrderButton }
|
||||||
|
default { $script:appOrderField }
|
||||||
|
}
|
||||||
|
foreach ($key in $order) {
|
||||||
|
$val = Get-AppearanceValue -el $el -canonical $key
|
||||||
|
if ($null -eq $val -or ($val -is [string] -and $val -eq '')) { continue }
|
||||||
|
$spec = $script:appearanceSpec[$key]
|
||||||
|
switch ($spec.kind) {
|
||||||
|
'color' { X "$indent<$($spec.tag)>$(Esc-Xml "$val")</$($spec.tag)>" }
|
||||||
|
'font' { Emit-FontTag -tag $spec.tag -val $val -indent $indent }
|
||||||
|
'border' { Emit-BorderTag -val $val -indent $indent }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function Emit-Layout {
|
function Emit-Layout {
|
||||||
param($el, [string]$indent, [switch]$skipHeight, [bool]$multiLineDefault = $false)
|
param($el, [string]$indent, [switch]$skipHeight, [bool]$multiLineDefault = $false)
|
||||||
Emit-CommonElementProps -el $el -indent $indent
|
Emit-CommonElementProps -el $el -indent $indent
|
||||||
@@ -2838,6 +2934,9 @@ function Emit-Input {
|
|||||||
|
|
||||||
Emit-ChoiceList -el $el -indent $inner
|
Emit-ChoiceList -el $el -indent $inner
|
||||||
|
|
||||||
|
# Оформление (цвета/шрифты/граница) — перед компаньонами
|
||||||
|
Emit-Appearance -el $el -indent $inner -profile 'field'
|
||||||
|
|
||||||
# Companions
|
# Companions
|
||||||
Emit-CompanionPanel -tag "ContextMenu" -name "${name}КонтекстноеМеню" -indent $inner -panel $el.contextMenu
|
Emit-CompanionPanel -tag "ContextMenu" -name "${name}КонтекстноеМеню" -indent $inner -panel $el.contextMenu
|
||||||
Emit-Companion -tag "ExtendedTooltip" -name "${name}РасширеннаяПодсказка" -indent $inner -content $el.extendedTooltip
|
Emit-Companion -tag "ExtendedTooltip" -name "${name}РасширеннаяПодсказка" -indent $inner -content $el.extendedTooltip
|
||||||
@@ -2872,6 +2971,9 @@ function Emit-Check {
|
|||||||
|
|
||||||
Emit-Layout -el $el -indent $inner
|
Emit-Layout -el $el -indent $inner
|
||||||
|
|
||||||
|
# Оформление (цвета/шрифты/граница) — перед компаньонами
|
||||||
|
Emit-Appearance -el $el -indent $inner -profile 'field'
|
||||||
|
|
||||||
# Companions
|
# Companions
|
||||||
Emit-CompanionPanel -tag "ContextMenu" -name "${name}КонтекстноеМеню" -indent $inner -panel $el.contextMenu
|
Emit-CompanionPanel -tag "ContextMenu" -name "${name}КонтекстноеМеню" -indent $inner -panel $el.contextMenu
|
||||||
Emit-Companion -tag "ExtendedTooltip" -name "${name}РасширеннаяПодсказка" -indent $inner -content $el.extendedTooltip
|
Emit-Companion -tag "ExtendedTooltip" -name "${name}РасширеннаяПодсказка" -indent $inner -content $el.extendedTooltip
|
||||||
@@ -3100,6 +3202,9 @@ function Emit-Radio {
|
|||||||
|
|
||||||
Emit-Layout -el $el -indent $inner
|
Emit-Layout -el $el -indent $inner
|
||||||
|
|
||||||
|
# Оформление (цвета/шрифты/граница) — перед компаньонами
|
||||||
|
Emit-Appearance -el $el -indent $inner -profile 'field'
|
||||||
|
|
||||||
# Companions
|
# Companions
|
||||||
Emit-CompanionPanel -tag "ContextMenu" -name "${name}КонтекстноеМеню" -indent $inner -panel $el.contextMenu
|
Emit-CompanionPanel -tag "ContextMenu" -name "${name}КонтекстноеМеню" -indent $inner -panel $el.contextMenu
|
||||||
Emit-Companion -tag "ExtendedTooltip" -name "${name}РасширеннаяПодсказка" -indent $inner -content $el.extendedTooltip
|
Emit-Companion -tag "ExtendedTooltip" -name "${name}РасширеннаяПодсказка" -indent $inner -content $el.extendedTooltip
|
||||||
@@ -3140,6 +3245,9 @@ function Emit-Label {
|
|||||||
if ($el.hyperlink -eq $true) { X "$inner<Hyperlink>true</Hyperlink>" }
|
if ($el.hyperlink -eq $true) { X "$inner<Hyperlink>true</Hyperlink>" }
|
||||||
Emit-Layout -el $el -indent $inner
|
Emit-Layout -el $el -indent $inner
|
||||||
|
|
||||||
|
# Оформление (цвета/шрифт/граница) — перед компаньонами (профиль декорации)
|
||||||
|
Emit-Appearance -el $el -indent $inner -profile 'decoration'
|
||||||
|
|
||||||
# Companions
|
# Companions
|
||||||
Emit-CompanionPanel -tag "ContextMenu" -name "${name}КонтекстноеМеню" -indent $inner -panel $el.contextMenu
|
Emit-CompanionPanel -tag "ContextMenu" -name "${name}КонтекстноеМеню" -indent $inner -panel $el.contextMenu
|
||||||
Emit-Companion -tag "ExtendedTooltip" -name "${name}РасширеннаяПодсказка" -indent $inner -content $el.extendedTooltip
|
Emit-Companion -tag "ExtendedTooltip" -name "${name}РасширеннаяПодсказка" -indent $inner -content $el.extendedTooltip
|
||||||
@@ -3167,6 +3275,9 @@ function Emit-LabelField {
|
|||||||
if ($el.hyperlink -eq $true) { X "$inner<Hiperlink>true</Hiperlink>" }
|
if ($el.hyperlink -eq $true) { X "$inner<Hiperlink>true</Hiperlink>" }
|
||||||
Emit-Layout -el $el -indent $inner
|
Emit-Layout -el $el -indent $inner
|
||||||
|
|
||||||
|
# Оформление (цвета/шрифты/граница + header/footer) — перед компаньонами
|
||||||
|
Emit-Appearance -el $el -indent $inner -profile 'field'
|
||||||
|
|
||||||
# Companions
|
# Companions
|
||||||
Emit-CompanionPanel -tag "ContextMenu" -name "${name}КонтекстноеМеню" -indent $inner -panel $el.contextMenu
|
Emit-CompanionPanel -tag "ContextMenu" -name "${name}КонтекстноеМеню" -indent $inner -panel $el.contextMenu
|
||||||
Emit-Companion -tag "ExtendedTooltip" -name "${name}РасширеннаяПодсказка" -indent $inner -content $el.extendedTooltip
|
Emit-Companion -tag "ExtendedTooltip" -name "${name}РасширеннаяПодсказка" -indent $inner -content $el.extendedTooltip
|
||||||
@@ -3455,6 +3566,9 @@ function Emit-Button {
|
|||||||
}
|
}
|
||||||
Emit-Layout -el $el -indent $inner
|
Emit-Layout -el $el -indent $inner
|
||||||
|
|
||||||
|
# Оформление (цвета/шрифт/граница) — перед компаньоном (профиль кнопки)
|
||||||
|
Emit-Appearance -el $el -indent $inner -profile 'button'
|
||||||
|
|
||||||
# Companion
|
# Companion
|
||||||
Emit-Companion -tag "ExtendedTooltip" -name "${name}РасширеннаяПодсказка" -indent $inner -content $el.extendedTooltip
|
Emit-Companion -tag "ExtendedTooltip" -name "${name}РасширеннаяПодсказка" -indent $inner -content $el.extendedTooltip
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
# form-compile v1.64 — Compile 1C managed form from JSON or object metadata
|
# form-compile v1.65 — Compile 1C managed form from JSON or object metadata
|
||||||
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
|
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
|
||||||
import argparse
|
import argparse
|
||||||
import copy
|
import copy
|
||||||
@@ -2266,6 +2266,95 @@ def emit_command_picture(lines, pic, elem_lt, indent):
|
|||||||
lines.append(f'{indent}</Picture>')
|
lines.append(f'{indent}</Picture>')
|
||||||
|
|
||||||
|
|
||||||
|
# --- Оформление элемента: цвета / шрифты / граница (зеркало form-compile.ps1 Emit-Appearance) ---
|
||||||
|
# Прямые свойства элемента (<TextColor>/<Font>/<Border> + header/footer у полей). Ключи англ.
|
||||||
|
# camelCase 1:1 с тегами + приём рус. синонимов. Цвет — verbatim-строка (style:/web:/win:/#RRGGBB);
|
||||||
|
# шрифт — строка-ref/объект-атрибуты; граница — строка-ref/
|
||||||
|
# объект {width,style}. Порядок тегов — XSD (профиль по базовому типу).
|
||||||
|
APPEARANCE_SPEC = {
|
||||||
|
'titleTextColor': ('TitleTextColor', 'color'),
|
||||||
|
'titleBackColor': ('TitleBackColor', 'color'),
|
||||||
|
'titleFont': ('TitleFont', 'font'),
|
||||||
|
'footerTextColor': ('FooterTextColor', 'color'),
|
||||||
|
'footerBackColor': ('FooterBackColor', 'color'),
|
||||||
|
'footerFont': ('FooterFont', 'font'),
|
||||||
|
'textColor': ('TextColor', 'color'),
|
||||||
|
'backColor': ('BackColor', 'color'),
|
||||||
|
'borderColor': ('BorderColor', 'color'),
|
||||||
|
'border': ('Border', 'border'),
|
||||||
|
'font': ('Font', 'font'),
|
||||||
|
}
|
||||||
|
APPEARANCE_SYNONYMS = {
|
||||||
|
'цветтекста': 'textColor', 'цветфона': 'backColor', 'цветрамки': 'borderColor',
|
||||||
|
'цветтекстазаголовка': 'titleTextColor', 'цветфоназаголовка': 'titleBackColor', 'шрифтзаголовка': 'titleFont',
|
||||||
|
'цветтекстаподвала': 'footerTextColor', 'цветфонаподвала': 'footerBackColor', 'шрифтподвала': 'footerFont',
|
||||||
|
'шрифт': 'font', 'рамка': 'border',
|
||||||
|
}
|
||||||
|
APP_ORDER_FIELD = ['titleTextColor', 'titleBackColor', 'titleFont', 'footerTextColor', 'footerBackColor', 'footerFont', 'textColor', 'backColor', 'borderColor', 'border', 'font']
|
||||||
|
APP_ORDER_DECORATION = ['textColor', 'font', 'backColor', 'borderColor', 'border']
|
||||||
|
APP_ORDER_BUTTON = ['textColor', 'backColor', 'borderColor', 'font']
|
||||||
|
|
||||||
|
|
||||||
|
def get_appearance_value(el, canonical):
|
||||||
|
if not isinstance(el, dict):
|
||||||
|
return None
|
||||||
|
if canonical in el:
|
||||||
|
return el[canonical]
|
||||||
|
lowmap = {k.lower(): k for k in el.keys()}
|
||||||
|
if canonical.lower() in lowmap:
|
||||||
|
return el[lowmap[canonical.lower()]]
|
||||||
|
for syn, canon in APPEARANCE_SYNONYMS.items():
|
||||||
|
if canon == canonical and syn in lowmap:
|
||||||
|
return el[lowmap[syn]]
|
||||||
|
return None
|
||||||
|
|
||||||
|
|
||||||
|
def emit_font_tag(lines, tag, val, indent):
|
||||||
|
if isinstance(val, str):
|
||||||
|
lines.append(f'{indent}<{tag} ref="{esc_xml(val)}" kind="StyleItem"/>')
|
||||||
|
return
|
||||||
|
attrs = []
|
||||||
|
for a in ('ref', 'faceName', 'height', 'bold', 'italic', 'underline', 'strikeout', 'kind', 'scale'):
|
||||||
|
if a in val and val[a] is not None:
|
||||||
|
v = val[a]
|
||||||
|
if isinstance(v, bool):
|
||||||
|
v = 'true' if v else 'false'
|
||||||
|
attrs.append(f'{a}="{esc_xml(str(v))}"')
|
||||||
|
lines.append(f'{indent}<{tag} {" ".join(attrs)}/>')
|
||||||
|
|
||||||
|
|
||||||
|
def emit_border_tag(lines, val, indent):
|
||||||
|
if isinstance(val, str):
|
||||||
|
lines.append(f'{indent}<Border ref="{esc_xml(val)}"/>')
|
||||||
|
return
|
||||||
|
if val.get('ref'):
|
||||||
|
lines.append(f'{indent}<Border ref="{esc_xml(str(val["ref"]))}"/>')
|
||||||
|
return
|
||||||
|
width = val['width'] if val.get('width') is not None else 1
|
||||||
|
style = str(val['style']) if 'style' in val else None
|
||||||
|
lines.append(f'{indent}<Border width="{width}">')
|
||||||
|
if style:
|
||||||
|
lines.append(f'{indent}\t<v8ui:style xsi:type="v8ui:ControlBorderType">{esc_xml(style)}</v8ui:style>')
|
||||||
|
lines.append(f'{indent}</Border>')
|
||||||
|
|
||||||
|
|
||||||
|
def emit_appearance(lines, el, indent, profile='field'):
|
||||||
|
if not isinstance(el, dict):
|
||||||
|
return
|
||||||
|
order = {'decoration': APP_ORDER_DECORATION, 'button': APP_ORDER_BUTTON}.get(profile, APP_ORDER_FIELD)
|
||||||
|
for key in order:
|
||||||
|
val = get_appearance_value(el, key)
|
||||||
|
if val is None or (isinstance(val, str) and val == ''):
|
||||||
|
continue
|
||||||
|
tag, kind = APPEARANCE_SPEC[key]
|
||||||
|
if kind == 'color':
|
||||||
|
lines.append(f'{indent}<{tag}>{esc_xml(str(val))}</{tag}>')
|
||||||
|
elif kind == 'font':
|
||||||
|
emit_font_tag(lines, tag, val, indent)
|
||||||
|
else:
|
||||||
|
emit_border_tag(lines, val, indent)
|
||||||
|
|
||||||
|
|
||||||
def emit_layout(lines, el, indent, skip_height=False, multi_line_default=False):
|
def emit_layout(lines, el, indent, skip_height=False, multi_line_default=False):
|
||||||
# Общие layout-свойства — применимы ко всем элементам. Порядок согласован
|
# Общие layout-свойства — применимы ко всем элементам. Порядок согласован
|
||||||
# с историческим выводом input/label, чтобы не сдвигать существующие снапшоты.
|
# с историческим выводом input/label, чтобы не сдвигать существующие снапшоты.
|
||||||
@@ -2752,6 +2841,9 @@ def emit_input(lines, el, name, eid, indent):
|
|||||||
|
|
||||||
emit_choice_list(lines, el, inner)
|
emit_choice_list(lines, el, inner)
|
||||||
|
|
||||||
|
# Оформление (цвета/шрифты/граница) — перед компаньонами
|
||||||
|
emit_appearance(lines, el, inner, 'field')
|
||||||
|
|
||||||
# Companions
|
# Companions
|
||||||
emit_companion_panel(lines, 'ContextMenu', f'{name}\u041a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u043d\u043e\u0435\u041c\u0435\u043d\u044e', inner, el.get('contextMenu'))
|
emit_companion_panel(lines, 'ContextMenu', f'{name}\u041a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u043d\u043e\u0435\u041c\u0435\u043d\u044e', inner, el.get('contextMenu'))
|
||||||
emit_companion(lines, 'ExtendedTooltip', f'{name}\u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u043d\u0430\u044f\u041f\u043e\u0434\u0441\u043a\u0430\u0437\u043a\u0430', inner, el.get('extendedTooltip'))
|
emit_companion(lines, 'ExtendedTooltip', f'{name}\u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u043d\u0430\u044f\u041f\u043e\u0434\u0441\u043a\u0430\u0437\u043a\u0430', inner, el.get('extendedTooltip'))
|
||||||
@@ -2786,6 +2878,9 @@ def emit_check(lines, el, name, eid, indent):
|
|||||||
|
|
||||||
emit_layout(lines, el, inner)
|
emit_layout(lines, el, inner)
|
||||||
|
|
||||||
|
# Оформление (цвета/шрифты/граница) — перед компаньонами
|
||||||
|
emit_appearance(lines, el, inner, 'field')
|
||||||
|
|
||||||
# Companions
|
# Companions
|
||||||
emit_companion_panel(lines, 'ContextMenu', f'{name}\u041a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u043d\u043e\u0435\u041c\u0435\u043d\u044e', inner, el.get('contextMenu'))
|
emit_companion_panel(lines, 'ContextMenu', f'{name}\u041a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u043d\u043e\u0435\u041c\u0435\u043d\u044e', inner, el.get('contextMenu'))
|
||||||
emit_companion(lines, 'ExtendedTooltip', f'{name}\u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u043d\u0430\u044f\u041f\u043e\u0434\u0441\u043a\u0430\u0437\u043a\u0430', inner, el.get('extendedTooltip'))
|
emit_companion(lines, 'ExtendedTooltip', f'{name}\u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u043d\u0430\u044f\u041f\u043e\u0434\u0441\u043a\u0430\u0437\u043a\u0430', inner, el.get('extendedTooltip'))
|
||||||
@@ -2817,6 +2912,9 @@ def emit_radio_button_field(lines, el, name, eid, indent):
|
|||||||
|
|
||||||
emit_layout(lines, el, inner)
|
emit_layout(lines, el, inner)
|
||||||
|
|
||||||
|
# Оформление (цвета/шрифты/граница) — перед компаньонами
|
||||||
|
emit_appearance(lines, el, inner, 'field')
|
||||||
|
|
||||||
emit_companion_panel(lines, 'ContextMenu', f'{name}КонтекстноеМеню', inner, el.get('contextMenu'))
|
emit_companion_panel(lines, 'ContextMenu', f'{name}КонтекстноеМеню', inner, el.get('contextMenu'))
|
||||||
emit_companion(lines, 'ExtendedTooltip', f'{name}РасширеннаяПодсказка', inner, el.get('extendedTooltip'))
|
emit_companion(lines, 'ExtendedTooltip', f'{name}РасширеннаяПодсказка', inner, el.get('extendedTooltip'))
|
||||||
|
|
||||||
@@ -2855,6 +2953,9 @@ def emit_label(lines, el, name, eid, indent):
|
|||||||
lines.append(f'{inner}<Hyperlink>true</Hyperlink>')
|
lines.append(f'{inner}<Hyperlink>true</Hyperlink>')
|
||||||
emit_layout(lines, el, inner)
|
emit_layout(lines, el, inner)
|
||||||
|
|
||||||
|
# Оформление (цвета/шрифт/граница) — перед компаньонами (профиль декорации)
|
||||||
|
emit_appearance(lines, el, inner, 'decoration')
|
||||||
|
|
||||||
# Companions
|
# Companions
|
||||||
emit_companion_panel(lines, 'ContextMenu', f'{name}\u041a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u043d\u043e\u0435\u041c\u0435\u043d\u044e', inner, el.get('contextMenu'))
|
emit_companion_panel(lines, 'ContextMenu', f'{name}\u041a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u043d\u043e\u0435\u041c\u0435\u043d\u044e', inner, el.get('contextMenu'))
|
||||||
emit_companion(lines, 'ExtendedTooltip', f'{name}\u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u043d\u0430\u044f\u041f\u043e\u0434\u0441\u043a\u0430\u0437\u043a\u0430', inner, el.get('extendedTooltip'))
|
emit_companion(lines, 'ExtendedTooltip', f'{name}\u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u043d\u0430\u044f\u041f\u043e\u0434\u0441\u043a\u0430\u0437\u043a\u0430', inner, el.get('extendedTooltip'))
|
||||||
@@ -2884,6 +2985,9 @@ def emit_label_field(lines, el, name, eid, indent):
|
|||||||
lines.append(f'{inner}<Hiperlink>true</Hiperlink>')
|
lines.append(f'{inner}<Hiperlink>true</Hiperlink>')
|
||||||
emit_layout(lines, el, inner)
|
emit_layout(lines, el, inner)
|
||||||
|
|
||||||
|
# Оформление (цвета/шрифты/граница + header/footer) — перед компаньонами
|
||||||
|
emit_appearance(lines, el, inner, 'field')
|
||||||
|
|
||||||
# Companions
|
# Companions
|
||||||
emit_companion_panel(lines, 'ContextMenu', f'{name}\u041a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u043d\u043e\u0435\u041c\u0435\u043d\u044e', inner, el.get('contextMenu'))
|
emit_companion_panel(lines, 'ContextMenu', f'{name}\u041a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u043d\u043e\u0435\u041c\u0435\u043d\u044e', inner, el.get('contextMenu'))
|
||||||
emit_companion(lines, 'ExtendedTooltip', f'{name}\u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u043d\u0430\u044f\u041f\u043e\u0434\u0441\u043a\u0430\u0437\u043a\u0430', inner, el.get('extendedTooltip'))
|
emit_companion(lines, 'ExtendedTooltip', f'{name}\u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u043d\u0430\u044f\u041f\u043e\u0434\u0441\u043a\u0430\u0437\u043a\u0430', inner, el.get('extendedTooltip'))
|
||||||
@@ -3159,6 +3263,9 @@ def emit_button(lines, el, name, eid, indent, in_cmd_bar=False):
|
|||||||
lines.append(f'{inner}<LocationInCommandBar>{el["locationInCommandBar"]}</LocationInCommandBar>')
|
lines.append(f'{inner}<LocationInCommandBar>{el["locationInCommandBar"]}</LocationInCommandBar>')
|
||||||
emit_layout(lines, el, inner)
|
emit_layout(lines, el, inner)
|
||||||
|
|
||||||
|
# Оформление (цвета/шрифт/граница) — перед компаньоном (профиль кнопки)
|
||||||
|
emit_appearance(lines, el, inner, 'button')
|
||||||
|
|
||||||
# Companion
|
# Companion
|
||||||
emit_companion(lines, 'ExtendedTooltip', f'{name}\u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u043d\u0430\u044f\u041f\u043e\u0434\u0441\u043a\u0430\u0437\u043a\u0430', inner, el.get('extendedTooltip'))
|
emit_companion(lines, 'ExtendedTooltip', f'{name}\u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u043d\u0430\u044f\u041f\u043e\u0434\u0441\u043a\u0430\u0437\u043a\u0430', inner, el.get('extendedTooltip'))
|
||||||
|
|
||||||
@@ -3213,9 +3320,9 @@ def emit_picture_field(lines, el, name, eid, indent):
|
|||||||
|
|
||||||
emit_layout(lines, el, inner)
|
emit_layout(lines, el, inner)
|
||||||
|
|
||||||
# ValuesPicture \u2014 picture (collection) used to render the field's value.
|
# ValuesPicture — picture (collection) used to render the field's value.
|
||||||
# Required for a Boolean-bound PictureField to actually show an icon.
|
# Required for a Boolean-bound PictureField to actually show an icon.
|
||||||
# \u0421\u043a\u0430\u043b\u044f\u0440 (Ref) \u0438\u043b\u0438 \u043e\u0431\u044a\u0435\u043a\u0442 {src, loadTransparent}; LoadTransparent \u044d\u043c\u0438\u0442\u0438\u0442\u0441\u044f \u0432\u0441\u0435\u0433\u0434\u0430.
|
# Скаляр (Ref) или объект {src, loadTransparent}; LoadTransparent эмитится всегда.
|
||||||
emit_picture_ref(lines, el.get('valuesPicture'), 'ValuesPicture', inner)
|
emit_picture_ref(lines, el.get('valuesPicture'), 'ValuesPicture', inner)
|
||||||
|
|
||||||
# Companions
|
# Companions
|
||||||
@@ -3244,7 +3351,7 @@ def emit_calendar(lines, el, name, eid, indent):
|
|||||||
|
|
||||||
emit_layout(lines, el, inner)
|
emit_layout(lines, el, inner)
|
||||||
|
|
||||||
# \u041a\u0430\u043b\u0435\u043d\u0434\u0430\u0440\u043d\u043e-\u0441\u043f\u0435\u0446\u0438\u0444\u0438\u0447\u043d\u044b\u0435 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 (\u043f\u043e\u0440\u044f\u0434\u043e\u043a \u0441\u0445\u0435\u043c\u044b: \u043f\u043e\u0441\u043b\u0435 layout, \u0434\u043e companions)
|
# Календарно-специфичные свойства (порядок схемы: после layout, до companions)
|
||||||
if el.get('selectionMode'):
|
if el.get('selectionMode'):
|
||||||
lines.append(f'{inner}<SelectionMode>{el["selectionMode"]}</SelectionMode>')
|
lines.append(f'{inner}<SelectionMode>{el["selectionMode"]}</SelectionMode>')
|
||||||
if el.get('showCurrentDate') is not None:
|
if el.get('showCurrentDate') is not None:
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# form-decompile v0.46 — Decompile 1C managed Form.xml to JSON DSL (draft)
|
# form-decompile v0.47 — Decompile 1C managed Form.xml to JSON DSL (draft)
|
||||||
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
|
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
|
||||||
# ВНИМАНИЕ: раундтрип не гарантируется. Навык исключён из авто-использования моделью.
|
# ВНИМАНИЕ: раундтрип не гарантируется. Навык исключён из авто-использования моделью.
|
||||||
param(
|
param(
|
||||||
@@ -867,8 +867,61 @@ function Get-PictureRef {
|
|||||||
return $ref.InnerText
|
return $ref.InnerText
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Шрифт <Font ...> → строка-ref (если только ref+kind=StyleItem) или объект-атрибуты.
|
||||||
|
function Build-FontValue {
|
||||||
|
param($f)
|
||||||
|
$present = @()
|
||||||
|
foreach ($a in @('ref','faceName','height','bold','italic','underline','strikeout','kind','scale')) {
|
||||||
|
if ($f.HasAttribute($a)) { $present += $a }
|
||||||
|
}
|
||||||
|
# Чистый style-ref (ref + kind=StyleItem) → строка-шорткат
|
||||||
|
if ($present.Count -eq 2 -and ($present -contains 'ref') -and $f.GetAttribute('kind') -eq 'StyleItem') {
|
||||||
|
return $f.GetAttribute('ref')
|
||||||
|
}
|
||||||
|
$o = [ordered]@{}
|
||||||
|
foreach ($k in $present) {
|
||||||
|
$v = $f.GetAttribute($k)
|
||||||
|
if ($k -in @('height','scale') -and $v -match '^-?\d+$') { $o[$k] = [int]$v }
|
||||||
|
elseif ($k -in @('bold','italic','underline','strikeout')) { $o[$k] = ($v -eq 'true') }
|
||||||
|
else { $o[$k] = $v }
|
||||||
|
}
|
||||||
|
return $o
|
||||||
|
}
|
||||||
|
|
||||||
|
# Граница <Border> → строка-ref (из стиля) или объект {width, style}.
|
||||||
|
function Build-BorderValue {
|
||||||
|
param($b)
|
||||||
|
if ($b.HasAttribute('ref')) { return $b.GetAttribute('ref') }
|
||||||
|
$o = [ordered]@{}
|
||||||
|
if ($b.HasAttribute('width')) { $w = $b.GetAttribute('width'); $o['width'] = if ($w -match '^-?\d+$') { [int]$w } else { $w } }
|
||||||
|
$st = $b.SelectSingleNode("v8ui:style", $ns)
|
||||||
|
if ($st) { $o['style'] = $st.InnerText }
|
||||||
|
return $o
|
||||||
|
}
|
||||||
|
|
||||||
|
# Оформление элемента (цвета/шрифты/граница) → canonical DSL-ключи. Цвет — verbatim-строка.
|
||||||
|
function Add-Appearance {
|
||||||
|
param($obj, $node)
|
||||||
|
$colorMap = @{
|
||||||
|
'TitleTextColor'='titleTextColor'; 'TitleBackColor'='titleBackColor'
|
||||||
|
'FooterTextColor'='footerTextColor'; 'FooterBackColor'='footerBackColor'
|
||||||
|
'TextColor'='textColor'; 'BackColor'='backColor'; 'BorderColor'='borderColor'
|
||||||
|
}
|
||||||
|
foreach ($tag in $colorMap.Keys) {
|
||||||
|
$c = $node.SelectSingleNode("lf:$tag", $ns)
|
||||||
|
if ($c) { $obj[$colorMap[$tag]] = $c.InnerText }
|
||||||
|
}
|
||||||
|
foreach ($pair in @(@('Font','font'), @('TitleFont','titleFont'), @('FooterFont','footerFont'))) {
|
||||||
|
$f = $node.SelectSingleNode("lf:$($pair[0])", $ns)
|
||||||
|
if ($f) { $obj[$pair[1]] = (Build-FontValue $f) }
|
||||||
|
}
|
||||||
|
$b = $node.SelectSingleNode("lf:Border", $ns)
|
||||||
|
if ($b) { $obj['border'] = (Build-BorderValue $b) }
|
||||||
|
}
|
||||||
|
|
||||||
function Add-CommonProps {
|
function Add-CommonProps {
|
||||||
param($obj, $node, [string]$elName)
|
param($obj, $node, [string]$elName)
|
||||||
|
Add-Appearance $obj $node
|
||||||
if ((Get-Child $node 'Visible') -eq 'false') { $obj['hidden'] = $true }
|
if ((Get-Child $node 'Visible') -eq 'false') { $obj['hidden'] = $true }
|
||||||
if ((Get-Child $node 'Enabled') -eq 'false') { $obj['disabled'] = $true }
|
if ((Get-Child $node 'Enabled') -eq 'false') { $obj['disabled'] = $true }
|
||||||
if ((Get-Child $node 'ReadOnly') -eq 'true') { $obj['readOnly'] = $true }
|
if ((Get-Child $node 'ReadOnly') -eq 'true') { $obj['readOnly'] = $true }
|
||||||
|
|||||||
@@ -195,6 +195,36 @@ companion-панели с собственным контентом. Оба не
|
|||||||
{ "button": "Карта", "commandName": "CommonCommand.КартаМаршрута" } ] } }
|
{ "button": "Карта", "commandName": "CommonCommand.КартаМаршрута" } ] } }
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### 4.1e. Оформление элемента (цвета / шрифты / граница)
|
||||||
|
|
||||||
|
Прямые свойства оформления элемента. Ключи — англ. camelCase 1:1 с тегами; **принимаются рус. синонимы** (forgiving). Применимо к полям (input/check/radio/labelField), декорациям (label) и кнопкам (button); порядок тегов в XML — по базовому типу (профиль), компилятор расставляет сам.
|
||||||
|
|
||||||
|
| Ключ | Тег | Рус. синоним |
|
||||||
|
|------|-----|--------------|
|
||||||
|
| `textColor` / `backColor` / `borderColor` | `<TextColor>`/`<BackColor>`/`<BorderColor>` | `ЦветТекста` / `ЦветФона` / `ЦветРамки` |
|
||||||
|
| `titleTextColor` / `titleBackColor` / `titleFont` | `<Title*>` (заголовок колонки) | `ЦветТекстаЗаголовка` / `ЦветФонаЗаголовка` / `ШрифтЗаголовка` |
|
||||||
|
| `footerTextColor` / `footerBackColor` / `footerFont` | `<Footer*>` (подвал колонки) | `ЦветТекстаПодвала` / `ЦветФонаПодвала` / `ШрифтПодвала` |
|
||||||
|
| `font` | `<Font>` | `Шрифт` |
|
||||||
|
| `border` | `<Border>` | `Рамка` |
|
||||||
|
|
||||||
|
**Цвет** — строка verbatim (компилятор не валидирует, эмитит как есть): `style:ИмяСтиля` (ссылка на элемент стиля конфигурации/платформы), `web:Имя` (web-палитра, напр. `web:FireBrick`), `win:Имя` (системная палитра Windows, напр. `win:MenuBar`, `win:ButtonText`, `win:DisabledText`), `#RRGGBB` (RGB-hex). Имя должно существовать в своей палитре (несуществующее, напр. `win:InactiveTitleBar`, или ссылка на отсутствующий `style:X` — приводит к ошибке загрузки). Префикс `sys:` в типовых выгрузках не встречается.
|
||||||
|
|
||||||
|
**Шрифт** (`font`/`titleFont`/`footerFont`):
|
||||||
|
- строка `"style:X"` → `<Font ref="style:X" kind="StyleItem"/>` (минимальная форма, платформа её принимает);
|
||||||
|
- объект — эмитятся **только указанные** атрибуты (дефолты не досочиняются): `{ ref?, faceName?, height?, bold?, italic?, underline?, strikeout?, kind?, scale? }`. Для `kind="Absolute"` задают `faceName`+`height`; для `WindowsFont` — `ref="sys:…"`.
|
||||||
|
|
||||||
|
**Граница** (`border`):
|
||||||
|
- строка `"style:X"` (или `{ ref }`) → `<Border ref="style:X"/>` (граница из стиля);
|
||||||
|
- объект `{ width, style }` → `<Border width="N"><v8ui:style…>СТИЛЬ</v8ui:style></Border>`. `style` — системное перечисление `ControlBorderType`: `Single`, `Double`, `Underline`, `DoubleUnderline`, `Overline`, `Embossed`, `Indented`, `WithoutBorder`.
|
||||||
|
|
||||||
|
```json
|
||||||
|
{ "label": "Внимание!", "textColor": "web:FireBrick",
|
||||||
|
"font": { "faceName": "Arial", "height": 12, "bold": true, "kind": "Absolute", "scale": 100 },
|
||||||
|
"border": { "width": 1, "style": "Single" } }
|
||||||
|
{ "input": "Цена", "path": "Объект.Цена", "textColor": "#FF0000", "borderColor": "style:BorderColor" }
|
||||||
|
{ "labelField": "Код", "цветТекстаЗаголовка": "web:HoneyDew", "border": "style:ControlBorder" }
|
||||||
|
```
|
||||||
|
|
||||||
### 4.1a. Общие layout-свойства
|
### 4.1a. Общие layout-свойства
|
||||||
|
|
||||||
Применимы к любому элементу (размеры, растягивание, выравнивание внутри родителя). Эмитятся только при указании.
|
Применимы к любому элементу (размеры, растягивание, выравнивание внутри родителя). Эмитятся только при указании.
|
||||||
|
|||||||
@@ -0,0 +1,39 @@
|
|||||||
|
{
|
||||||
|
"name": "Оформление элементов — цвета/шрифты/граница на decoration/input/button (профили порядка)",
|
||||||
|
"preRun": [
|
||||||
|
{
|
||||||
|
"script": "meta-compile/scripts/meta-compile",
|
||||||
|
"input": { "type": "Catalog", "name": "Товары", "attributes": [{ "name": "Цена", "type": "Number", "length": 10, "precision": 2 }] },
|
||||||
|
"args": { "-JsonPath": "{inputFile}", "-OutputDir": "{workDir}" }
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"script": "form-add/scripts/form-add",
|
||||||
|
"args": { "-ObjectPath": "{workDir}/Catalogs/Товары.xml", "-FormName": "ФормаЭлемента", "-Purpose": "Object" }
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"params": { "outputPath": "Catalogs/Товары/Forms/ФормаЭлемента/Ext/Form.xml" },
|
||||||
|
"validatePath": "Catalogs/Товары/Forms/ФормаЭлемента/Ext/Form.xml",
|
||||||
|
"input": {
|
||||||
|
"title": "Товары",
|
||||||
|
"attributes": [
|
||||||
|
{ "name": "Объект", "type": "CatalogObject.Товары", "main": true }
|
||||||
|
],
|
||||||
|
"elements": [
|
||||||
|
{ "label": "Внимание!",
|
||||||
|
"textColor": "web:FireBrick",
|
||||||
|
"font": { "faceName": "Arial", "height": 12, "bold": true, "italic": false, "underline": false, "strikeout": false, "kind": "Absolute", "scale": 100 },
|
||||||
|
"border": { "width": 1, "style": "Single" } },
|
||||||
|
{ "input": "Цена", "path": "Объект.Цена",
|
||||||
|
"textColor": "#FF0000",
|
||||||
|
"borderColor": "style:BorderColor" },
|
||||||
|
{ "label": "Из стиля",
|
||||||
|
"textColor": "web:DimGray",
|
||||||
|
"font": "style:NormalTextFont",
|
||||||
|
"border": "style:ControlBorder" },
|
||||||
|
{ "button": "ОК", "title": "ОК",
|
||||||
|
"backColor": "web:Honeydew",
|
||||||
|
"borderColor": "style:BorderColor",
|
||||||
|
"font": "style:NormalTextFont" }
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,374 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.17">
|
||||||
|
<Catalog uuid="UUID-001">
|
||||||
|
<InternalInfo>
|
||||||
|
<xr:GeneratedType name="CatalogObject.Товары" category="Object">
|
||||||
|
<xr:TypeId>UUID-002</xr:TypeId>
|
||||||
|
<xr:ValueId>UUID-003</xr:ValueId>
|
||||||
|
</xr:GeneratedType>
|
||||||
|
<xr:GeneratedType name="CatalogRef.Товары" category="Ref">
|
||||||
|
<xr:TypeId>UUID-004</xr:TypeId>
|
||||||
|
<xr:ValueId>UUID-005</xr:ValueId>
|
||||||
|
</xr:GeneratedType>
|
||||||
|
<xr:GeneratedType name="CatalogSelection.Товары" category="Selection">
|
||||||
|
<xr:TypeId>UUID-006</xr:TypeId>
|
||||||
|
<xr:ValueId>UUID-007</xr:ValueId>
|
||||||
|
</xr:GeneratedType>
|
||||||
|
<xr:GeneratedType name="CatalogList.Товары" category="List">
|
||||||
|
<xr:TypeId>UUID-008</xr:TypeId>
|
||||||
|
<xr:ValueId>UUID-009</xr:ValueId>
|
||||||
|
</xr:GeneratedType>
|
||||||
|
<xr:GeneratedType name="CatalogManager.Товары" category="Manager">
|
||||||
|
<xr:TypeId>UUID-010</xr:TypeId>
|
||||||
|
<xr:ValueId>UUID-011</xr:ValueId>
|
||||||
|
</xr:GeneratedType>
|
||||||
|
</InternalInfo>
|
||||||
|
<Properties>
|
||||||
|
<Name>Товары</Name>
|
||||||
|
<Synonym>
|
||||||
|
<v8:item>
|
||||||
|
<v8:lang>ru</v8:lang>
|
||||||
|
<v8:content>Товары</v8:content>
|
||||||
|
</v8:item>
|
||||||
|
</Synonym>
|
||||||
|
<Comment />
|
||||||
|
<Hierarchical>false</Hierarchical>
|
||||||
|
<HierarchyType>HierarchyFoldersAndItems</HierarchyType>
|
||||||
|
<LimitLevelCount>false</LimitLevelCount>
|
||||||
|
<LevelCount>2</LevelCount>
|
||||||
|
<FoldersOnTop>true</FoldersOnTop>
|
||||||
|
<UseStandardCommands>true</UseStandardCommands>
|
||||||
|
<Owners />
|
||||||
|
<SubordinationUse>ToItems</SubordinationUse>
|
||||||
|
<CodeLength>9</CodeLength>
|
||||||
|
<DescriptionLength>25</DescriptionLength>
|
||||||
|
<CodeType>String</CodeType>
|
||||||
|
<CodeAllowedLength>Variable</CodeAllowedLength>
|
||||||
|
<CodeSeries>WholeCatalog</CodeSeries>
|
||||||
|
<CheckUnique>false</CheckUnique>
|
||||||
|
<Autonumbering>true</Autonumbering>
|
||||||
|
<DefaultPresentation>AsDescription</DefaultPresentation>
|
||||||
|
<StandardAttributes>
|
||||||
|
<xr:StandardAttribute name="PredefinedDataName">
|
||||||
|
<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="Predefined">
|
||||||
|
<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="Ref">
|
||||||
|
<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="DeletionMark">
|
||||||
|
<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="IsFolder">
|
||||||
|
<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="Owner">
|
||||||
|
<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="Parent">
|
||||||
|
<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="Description">
|
||||||
|
<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="Code">
|
||||||
|
<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>
|
||||||
|
<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>Catalog.Товары.Form.ФормаЭлемента</DefaultObjectForm>
|
||||||
|
<DefaultFolderForm />
|
||||||
|
<DefaultListForm />
|
||||||
|
<DefaultChoiceForm />
|
||||||
|
<DefaultFolderChoiceForm />
|
||||||
|
<AuxiliaryObjectForm />
|
||||||
|
<AuxiliaryFolderForm />
|
||||||
|
<AuxiliaryListForm />
|
||||||
|
<AuxiliaryChoiceForm />
|
||||||
|
<AuxiliaryFolderChoiceForm />
|
||||||
|
<IncludeHelpInContents>false</IncludeHelpInContents>
|
||||||
|
<BasedOn />
|
||||||
|
<DataLockFields />
|
||||||
|
<DataLockControlMode>Automatic</DataLockControlMode>
|
||||||
|
<FullTextSearch>Use</FullTextSearch>
|
||||||
|
<ObjectPresentation />
|
||||||
|
<ExtendedObjectPresentation />
|
||||||
|
<ListPresentation />
|
||||||
|
<ExtendedListPresentation />
|
||||||
|
<Explanation />
|
||||||
|
<CreateOnInput>DontUse</CreateOnInput>
|
||||||
|
<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:decimal</v8:Type>
|
||||||
|
<v8:NumberQualifiers>
|
||||||
|
<v8:Digits>10</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>
|
||||||
|
<Use>ForItem</Use>
|
||||||
|
<Indexing>DontIndex</Indexing>
|
||||||
|
<FullTextSearch>Use</FullTextSearch>
|
||||||
|
<DataHistory>Use</DataHistory>
|
||||||
|
</Properties>
|
||||||
|
</Attribute>
|
||||||
|
<Form>ФормаЭлемента</Form>
|
||||||
|
</ChildObjects>
|
||||||
|
</Catalog>
|
||||||
|
</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>
|
||||||
+69
@@ -0,0 +1,69 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<Form xmlns="http://v8.1c.ru/8.3/xcf/logform" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" 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:dcssch="http://v8.1c.ru/8.1/data-composition-system/schema" xmlns:dcsset="http://v8.1c.ru/8.1/data-composition-system/settings" 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: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">
|
||||||
|
<Title>
|
||||||
|
<v8:item>
|
||||||
|
<v8:lang>ru</v8:lang>
|
||||||
|
<v8:content>Товары</v8:content>
|
||||||
|
</v8:item>
|
||||||
|
</Title>
|
||||||
|
<AutoTitle>false</AutoTitle>
|
||||||
|
<AutoCommandBar name="ФормаКоманднаяПанель" id="-1"/>
|
||||||
|
<ChildItems>
|
||||||
|
<LabelDecoration name="Внимание!" id="1">
|
||||||
|
<Title formatted="false">
|
||||||
|
<v8:item>
|
||||||
|
<v8:lang>ru</v8:lang>
|
||||||
|
<v8:content>Внимание!</v8:content>
|
||||||
|
</v8:item>
|
||||||
|
</Title>
|
||||||
|
<TextColor>web:FireBrick</TextColor>
|
||||||
|
<Font faceName="Arial" height="12" bold="true" italic="false" underline="false" strikeout="false" kind="Absolute" scale="100"/>
|
||||||
|
<Border width="1">
|
||||||
|
<v8ui:style xsi:type="v8ui:ControlBorderType">Single</v8ui:style>
|
||||||
|
</Border>
|
||||||
|
<ContextMenu name="Внимание!КонтекстноеМеню" id="2"/>
|
||||||
|
<ExtendedTooltip name="Внимание!РасширеннаяПодсказка" id="3"/>
|
||||||
|
</LabelDecoration>
|
||||||
|
<InputField name="Цена" id="4">
|
||||||
|
<DataPath>Объект.Цена</DataPath>
|
||||||
|
<TextColor>#FF0000</TextColor>
|
||||||
|
<BorderColor>style:BorderColor</BorderColor>
|
||||||
|
<ContextMenu name="ЦенаКонтекстноеМеню" id="5"/>
|
||||||
|
<ExtendedTooltip name="ЦенаРасширеннаяПодсказка" id="6"/>
|
||||||
|
</InputField>
|
||||||
|
<LabelDecoration name="Из стиля" id="7">
|
||||||
|
<Title formatted="false">
|
||||||
|
<v8:item>
|
||||||
|
<v8:lang>ru</v8:lang>
|
||||||
|
<v8:content>Из стиля</v8:content>
|
||||||
|
</v8:item>
|
||||||
|
</Title>
|
||||||
|
<TextColor>web:DimGray</TextColor>
|
||||||
|
<Font ref="style:NormalTextFont" kind="StyleItem"/>
|
||||||
|
<Border ref="style:ControlBorder"/>
|
||||||
|
<ContextMenu name="Из стиляКонтекстноеМеню" id="8"/>
|
||||||
|
<ExtendedTooltip name="Из стиляРасширеннаяПодсказка" id="9"/>
|
||||||
|
</LabelDecoration>
|
||||||
|
<Button name="ОК" id="10">
|
||||||
|
<Title>
|
||||||
|
<v8:item>
|
||||||
|
<v8:lang>ru</v8:lang>
|
||||||
|
<v8:content>ОК</v8:content>
|
||||||
|
</v8:item>
|
||||||
|
</Title>
|
||||||
|
<BackColor>web:Honeydew</BackColor>
|
||||||
|
<BorderColor>style:BorderColor</BorderColor>
|
||||||
|
<Font ref="style:NormalTextFont" kind="StyleItem"/>
|
||||||
|
<ExtendedTooltip name="ОКРасширеннаяПодсказка" id="11"/>
|
||||||
|
</Button>
|
||||||
|
</ChildItems>
|
||||||
|
<Attributes>
|
||||||
|
<Attribute name="Объект" id="12">
|
||||||
|
<Type>
|
||||||
|
<v8:Type>cfg:CatalogObject.Товары</v8:Type>
|
||||||
|
</Type>
|
||||||
|
<MainAttribute>true</MainAttribute>
|
||||||
|
<SavedData>true</SavedData>
|
||||||
|
</Attribute>
|
||||||
|
</Attributes>
|
||||||
|
</Form>
|
||||||
+19
@@ -0,0 +1,19 @@
|
|||||||
|
#Область ОбработчикиСобытийФормы
|
||||||
|
|
||||||
|
#КонецОбласти
|
||||||
|
|
||||||
|
#Область ОбработчикиСобытийЭлементовФормы
|
||||||
|
|
||||||
|
#КонецОбласти
|
||||||
|
|
||||||
|
#Область ОбработчикиКомандФормы
|
||||||
|
|
||||||
|
#КонецОбласти
|
||||||
|
|
||||||
|
#Область ОбработчикиОповещений
|
||||||
|
|
||||||
|
#КонецОбласти
|
||||||
|
|
||||||
|
#Область СлужебныеПроцедурыИФункции
|
||||||
|
|
||||||
|
#КонецОбласти
|
||||||
@@ -0,0 +1,252 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.17">
|
||||||
|
<Configuration uuid="UUID-001">
|
||||||
|
<InternalInfo>
|
||||||
|
<xr:ContainedObject>
|
||||||
|
<xr:ClassId>UUID-002</xr:ClassId>
|
||||||
|
<xr:ObjectId>UUID-003</xr:ObjectId>
|
||||||
|
</xr:ContainedObject>
|
||||||
|
<xr:ContainedObject>
|
||||||
|
<xr:ClassId>UUID-004</xr:ClassId>
|
||||||
|
<xr:ObjectId>UUID-005</xr:ObjectId>
|
||||||
|
</xr:ContainedObject>
|
||||||
|
<xr:ContainedObject>
|
||||||
|
<xr:ClassId>UUID-006</xr:ClassId>
|
||||||
|
<xr:ObjectId>UUID-007</xr:ObjectId>
|
||||||
|
</xr:ContainedObject>
|
||||||
|
<xr:ContainedObject>
|
||||||
|
<xr:ClassId>UUID-008</xr:ClassId>
|
||||||
|
<xr:ObjectId>UUID-009</xr:ObjectId>
|
||||||
|
</xr:ContainedObject>
|
||||||
|
<xr:ContainedObject>
|
||||||
|
<xr:ClassId>UUID-010</xr:ClassId>
|
||||||
|
<xr:ObjectId>UUID-011</xr:ObjectId>
|
||||||
|
</xr:ContainedObject>
|
||||||
|
<xr:ContainedObject>
|
||||||
|
<xr:ClassId>UUID-012</xr:ClassId>
|
||||||
|
<xr:ObjectId>UUID-013</xr:ObjectId>
|
||||||
|
</xr:ContainedObject>
|
||||||
|
<xr:ContainedObject>
|
||||||
|
<xr:ClassId>UUID-014</xr:ClassId>
|
||||||
|
<xr:ObjectId>UUID-015</xr:ObjectId>
|
||||||
|
</xr:ContainedObject>
|
||||||
|
</InternalInfo>
|
||||||
|
<Properties>
|
||||||
|
<Name>TestConfig</Name>
|
||||||
|
<Synonym>
|
||||||
|
<v8:item>
|
||||||
|
<v8:lang>ru</v8:lang>
|
||||||
|
<v8:content>TestConfig</v8:content>
|
||||||
|
</v8:item>
|
||||||
|
</Synonym>
|
||||||
|
<Comment />
|
||||||
|
<NamePrefix />
|
||||||
|
<ConfigurationExtensionCompatibilityMode>Version8_3_24</ConfigurationExtensionCompatibilityMode>
|
||||||
|
<DefaultRunMode>ManagedApplication</DefaultRunMode>
|
||||||
|
<UsePurposes>
|
||||||
|
<v8:Value xsi:type="app:ApplicationUsePurpose">PlatformApplication</v8:Value>
|
||||||
|
</UsePurposes>
|
||||||
|
<ScriptVariant>Russian</ScriptVariant>
|
||||||
|
<DefaultRoles />
|
||||||
|
<Vendor></Vendor>
|
||||||
|
<Version></Version>
|
||||||
|
<UpdateCatalogAddress />
|
||||||
|
<IncludeHelpInContents>false</IncludeHelpInContents>
|
||||||
|
<UseManagedFormInOrdinaryApplication>false</UseManagedFormInOrdinaryApplication>
|
||||||
|
<UseOrdinaryFormInManagedApplication>false</UseOrdinaryFormInManagedApplication>
|
||||||
|
<AdditionalFullTextSearchDictionaries />
|
||||||
|
<CommonSettingsStorage />
|
||||||
|
<ReportsUserSettingsStorage />
|
||||||
|
<ReportsVariantsStorage />
|
||||||
|
<FormDataSettingsStorage />
|
||||||
|
<DynamicListsUserSettingsStorage />
|
||||||
|
<URLExternalDataStorage />
|
||||||
|
<Content />
|
||||||
|
<DefaultReportForm />
|
||||||
|
<DefaultReportVariantForm />
|
||||||
|
<DefaultReportSettingsForm />
|
||||||
|
<DefaultReportAppearanceTemplate />
|
||||||
|
<DefaultDynamicListSettingsForm />
|
||||||
|
<DefaultSearchForm />
|
||||||
|
<DefaultDataHistoryChangeHistoryForm />
|
||||||
|
<DefaultDataHistoryVersionDataForm />
|
||||||
|
<DefaultDataHistoryVersionDifferencesForm />
|
||||||
|
<DefaultCollaborationSystemUsersChoiceForm />
|
||||||
|
<RequiredMobileApplicationPermissions />
|
||||||
|
<UsedMobileApplicationFunctionalities>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>Biometrics</app:functionality>
|
||||||
|
<app:use>true</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>Location</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>BackgroundLocation</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>BluetoothPrinters</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>WiFiPrinters</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>Contacts</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>Calendars</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>PushNotifications</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>LocalNotifications</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>InAppPurchases</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>PersonalComputerFileExchange</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>Ads</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>NumberDialing</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>CallProcessing</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>CallLog</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>AutoSendSMS</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>ReceiveSMS</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>SMSLog</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>Camera</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>Microphone</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>MusicLibrary</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>PictureAndVideoLibraries</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>AudioPlaybackAndVibration</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>BackgroundAudioPlaybackAndVibration</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>InstallPackages</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>OSBackup</app:functionality>
|
||||||
|
<app:use>true</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>ApplicationUsageStatistics</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>BarcodeScanning</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>BackgroundAudioRecording</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>AllFilesAccess</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>Videoconferences</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>NFC</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>DocumentScanning</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>SpeechToText</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>Geofences</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>IncomingShareRequests</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
<app:functionality>
|
||||||
|
<app:functionality>AllIncomingShareRequestsTypesProcessing</app:functionality>
|
||||||
|
<app:use>false</app:use>
|
||||||
|
</app:functionality>
|
||||||
|
</UsedMobileApplicationFunctionalities>
|
||||||
|
<StandaloneConfigurationRestrictionRoles />
|
||||||
|
<MobileApplicationURLs />
|
||||||
|
<AllowedIncomingShareRequestTypes />
|
||||||
|
<MainClientApplicationWindowMode>Normal</MainClientApplicationWindowMode>
|
||||||
|
<DefaultInterface />
|
||||||
|
<DefaultStyle />
|
||||||
|
<DefaultLanguage>Language.Русский</DefaultLanguage>
|
||||||
|
<BriefInformation />
|
||||||
|
<DetailedInformation />
|
||||||
|
<Copyright />
|
||||||
|
<VendorInformationAddress />
|
||||||
|
<ConfigurationInformationAddress />
|
||||||
|
<DataLockControlMode>Managed</DataLockControlMode>
|
||||||
|
<ObjectAutonumerationMode>NotAutoFree</ObjectAutonumerationMode>
|
||||||
|
<ModalityUseMode>DontUse</ModalityUseMode>
|
||||||
|
<SynchronousPlatformExtensionAndAddInCallUseMode>DontUse</SynchronousPlatformExtensionAndAddInCallUseMode>
|
||||||
|
<InterfaceCompatibilityMode>TaxiEnableVersion8_2</InterfaceCompatibilityMode>
|
||||||
|
<DatabaseTablespacesUseMode>DontUse</DatabaseTablespacesUseMode>
|
||||||
|
<CompatibilityMode>Version8_3_24</CompatibilityMode>
|
||||||
|
<DefaultConstantsForm />
|
||||||
|
</Properties>
|
||||||
|
<ChildObjects>
|
||||||
|
<Language>Русский</Language>
|
||||||
|
<Catalog>Товары</Catalog>
|
||||||
|
</ChildObjects>
|
||||||
|
</Configuration>
|
||||||
|
</MetaDataObject>
|
||||||
+18
@@ -0,0 +1,18 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ClientApplicationInterface xmlns="http://v8.1c.ru/8.2/managed-application/core" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="InterfaceLayouter">
|
||||||
|
<top>
|
||||||
|
<panel id="UUID-001">
|
||||||
|
<uuid>UUID-002</uuid>
|
||||||
|
</panel>
|
||||||
|
</top>
|
||||||
|
<left>
|
||||||
|
<panel id="UUID-003">
|
||||||
|
<uuid>UUID-004</uuid>
|
||||||
|
</panel>
|
||||||
|
</left>
|
||||||
|
<panelDef id="UUID-004"/>
|
||||||
|
<panelDef id="UUID-005"/>
|
||||||
|
<panelDef id="UUID-006"/>
|
||||||
|
<panelDef id="UUID-002"/>
|
||||||
|
<panelDef id="UUID-007"/>
|
||||||
|
</ClientApplicationInterface>
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.17">
|
||||||
|
<Language uuid="UUID-001">
|
||||||
|
<Properties>
|
||||||
|
<Name>Русский</Name>
|
||||||
|
<Synonym>
|
||||||
|
<v8:item>
|
||||||
|
<v8:lang>ru</v8:lang>
|
||||||
|
<v8:content>Русский</v8:content>
|
||||||
|
</v8:item>
|
||||||
|
</Synonym>
|
||||||
|
<Comment/>
|
||||||
|
<LanguageCode>ru</LanguageCode>
|
||||||
|
</Properties>
|
||||||
|
</Language>
|
||||||
|
</MetaDataObject>
|
||||||
Reference in New Issue
Block a user