Замер по acc_8.3.24: 658 из 7723 форм содержат RadioButtonField (всего 1389 элементов). Раньше ошибочно числился среди не встреченных. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
46 KiB
1C Form.xml Format Specification
Спецификация формата управляемых форм 1С:Предприятие 8.3 (version 2.17). Составлена на основе анализа 7723 форм конфигурации «Бухгалтерия предприятия 3.0.180».
0. Файловая структура и регистрация
Файлы формы
Каждая форма объекта конфигурации состоит из 3 файлов:
<Объект>/Forms/
ИмяФормы.xml ← метаданные (UUID, имя, синоним, FormType)
ИмяФормы/
Ext/
Form.xml ← определение формы (описано в разделах 1–17)
Form/
Module.bsl ← модуль формы (1С-код)
Общие формы (CommonForm) — аналогично, но на верхнем уровне конфигурации:
CommonForms/
ИмяФормы.xml ← метаданные (тег <CommonForm>)
ИмяФормы/
Ext/
Form.xml
Form/
Module.bsl
Метаданные формы — шаблон
Форма объекта (Document, Catalog, DataProcessor, Report, ...)
<?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:v8="http://v8.1c.ru/8.1/data/core"
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="XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX">
<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>
CommonForm
<?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:v8="http://v8.1c.ru/8.1/data/core"
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">
<CommonForm uuid="XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX">
<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>
<UseStandardCommands>false</UseStandardCommands>
<ExtendedPresentation/>
<Explanation/>
<UsePurposes>
<v8:Value xsi:type="app:ApplicationUsePurpose">PlatformApplication</v8:Value>
<v8:Value xsi:type="app:ApplicationUsePurpose">MobilePlatformApplication</v8:Value>
</UsePurposes>
</Properties>
</CommonForm>
</MetaDataObject>
Регистрация формы
В ChildObjects родительского объекта
<!-- В файле Documents/АвансовыйОтчет.xml (или Catalogs/Контрагенты.xml и т.д.) -->
<ChildObjects>
<Form>ФормаДокумента</Form>
<Form>ФормаСписка</Form>
...
</ChildObjects>
CommonForms регистрируются в Configuration.xml:
<ChildObjects>
<CommonForm>ИмяФормы</CommonForm>
...
</ChildObjects>
DefaultForm в Properties родительского объекта
Формат значения: ТипОбъекта.ИмяОбъекта.Form.ИмяФормы
<Properties>
<DefaultObjectForm>Document.АвансовыйОтчет.Form.ФормаДокумента</DefaultObjectForm>
<DefaultListForm>Document.АвансовыйОтчет.Form.ФормаСписка</DefaultListForm>
<DefaultChoiceForm>Document.АвансовыйОтчет.Form.ФормаВыбора</DefaultChoiceForm>
</Properties>
Свойства DefaultForm по типам объектов
| Тип объекта | Свойства DefaultForm |
|---|---|
| Document | DefaultObjectForm, DefaultListForm, DefaultChoiceForm |
| Catalog | DefaultObjectForm, DefaultFolderForm, DefaultListForm, DefaultChoiceForm, DefaultFolderChoiceForm |
| ChartOfCharacteristicTypes | DefaultObjectForm, DefaultFolderForm, DefaultListForm, DefaultChoiceForm, DefaultFolderChoiceForm |
| ChartOfAccounts | DefaultObjectForm, DefaultListForm, DefaultChoiceForm |
| DataProcessor | DefaultForm |
| Report | DefaultForm |
| InformationRegister | DefaultRecordForm, DefaultListForm |
| ExchangePlan | DefaultObjectForm, DefaultListForm, DefaultChoiceForm |
| BusinessProcess | DefaultObjectForm, DefaultListForm, DefaultChoiceForm |
| Task | DefaultObjectForm, DefaultListForm, DefaultChoiceForm |
| CommonForm | — (регистрируется в Configuration.xml, нет DefaultForm) |
Report.DefaultForm может указывать на общую форму:
CommonForm.ФормаОтчета.
1. Корневой элемент
<?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">
...
</Form>
Все 17 namespace-деклараций идентичны во всех формах конфигурации. Атрибут version всегда "2.17".
Назначение namespace-префиксов
| Префикс | URI | Назначение |
|---|---|---|
| (default) | http://v8.1c.ru/8.3/xcf/logform |
Основная схема формы |
v8 |
http://v8.1c.ru/8.1/data/core |
Базовые типы данных (Type, item, lang, content) |
v8ui |
http://v8.1c.ru/8.1/data/ui |
UI-типы (Color, Font, Border, FormattedString) |
cfg |
http://v8.1c.ru/8.1/data/enterprise/current-config |
Ссылки на объекты конфигурации (CatalogRef, DocumentRef) |
xr |
http://v8.1c.ru/8.3/xcf/readable |
Читаемый формат (Ref, Item, LoadTransparent) |
style |
http://v8.1c.ru/8.1/data/ui/style |
Стили оформления (FormBackColor и т.д.) |
web |
http://v8.1c.ru/8.1/data/ui/colors/web |
Web-цвета |
win |
http://v8.1c.ru/8.1/data/ui/colors/windows |
Windows-цвета |
sys |
http://v8.1c.ru/8.1/data/ui/fonts/system |
Системные шрифты |
xs |
http://www.w3.org/2001/XMLSchema |
XML Schema |
xsi |
http://www.w3.org/2001/XMLSchema-instance |
XML Schema Instance |
app |
http://v8.1c.ru/8.2/managed-application/core |
Ядро управляемого приложения |
lf |
http://v8.1c.ru/8.2/managed-application/logform |
Формы управляемого приложения |
dcscor |
http://v8.1c.ru/8.1/data-composition-system/core |
СКД — ядро |
dcssch |
http://v8.1c.ru/8.1/data-composition-system/schema |
СКД — схема |
dcsset |
http://v8.1c.ru/8.1/data-composition-system/settings |
СКД — настройки |
ent |
http://v8.1c.ru/8.1/data/enterprise |
Данные предприятия |
2. Структура Form — порядок дочерних элементов
<Form>
┌─ Свойства формы (необязательные, в произвольном порядке)
├─ <CommandSet> — исключённые стандартные команды
├─ <AutoCommandBar> — главная командная панель (обязательный, id="-1")
├─ <Events> — обработчики событий формы
├─ <ChildItems> — дерево UI-элементов
├─ <Attributes> — реквизиты формы
├─ <Parameters> — параметры открытия формы
└─ <Commands> — пользовательские команды
</Form>
3. Свойства формы
Прямые дочерние элементы <Form> (все необязательные, указываются до <CommandSet>/<AutoCommandBar>):
Общие свойства (все типы форм)
| Элемент | Тип | Значения | Описание |
|---|---|---|---|
<Title> |
multilang | — | Заголовок формы |
<Width> |
int | 60, 67... | Ширина формы в символах |
<Height> |
int | — | Высота формы в символах |
<Group> |
enum | Vertical, Horizontal, AlwaysHorizontal, AlwaysVertical |
Направление размещения |
<WindowOpeningMode> |
enum | LockOwnerWindow, Modeless |
Режим открытия окна |
<EnterKeyBehavior> |
enum | DefaultButton, NewLine |
Действие по Enter |
<AutoTitle> |
bool | true/false |
Автозаголовок |
<AutoURL> |
bool | true/false |
Авто-URL |
<AutoFillCheck> |
bool | true/false |
Автопроверка заполнения |
<Customizable> |
bool | true/false |
Разрешить настройку |
<CommandBarLocation> |
enum | Top, Bottom, None |
Расположение панели команд |
<VerticalScroll> |
enum | useIfNecessary, Auto, AlwaysShow, Never |
Вертикальная прокрутка |
<ScalingMode> |
enum | — | Режим масштабирования |
Свойства сохранения данных (DataProcessors)
| Элемент | Значения | Описание |
|---|---|---|
<SaveDataInSettings> |
UseList, Use, DontUse |
Сохранять данные в настройках |
<AutoSaveDataInSettings> |
Use, DontUse |
Автосохранение |
Свойства документов (Documents)
| Элемент | Значения | Описание |
|---|---|---|
<AutoTime> |
CurrentOrLast, Current, Last |
Управление временем документа |
<UsePostingMode> |
Auto, Postings, Movements |
Режим проведения |
<RepostOnWrite> |
true/false |
Перепроведение при записи |
Свойства справочников (Catalogs, ChartsOfAccounts)
| Элемент | Значения | Описание |
|---|---|---|
<UseForFoldersAndItems> |
Folders, Items, FoldersAndItems |
Назначение формы |
Свойства отчётов (Reports)
| Элемент | Значения | Описание |
|---|---|---|
<ReportResult> |
string | Имя реквизита результата (Результат) |
<DetailsData> |
string | Имя реквизита расшифровки (ДанныеРасшифровки) |
<ReportFormType> |
Main, Settings, Choice |
Тип формы отчёта |
<AutoShowState> |
Auto, Show, Hide |
Автоотображение состояния |
<ReportResultViewMode> |
Auto, Table, Spreadsheet |
Режим отображения результата |
<ViewModeApplicationOnSetReportResult> |
Auto, Always, Never |
Применение режима |
Мобильные свойства
| Элемент | Описание |
|---|---|
<MobileDeviceCommandBarContent> |
Конфигурация панели команд мобильного устройства |
Матрица свойств по типам форм
| Свойство | CommonForm | Document | Catalog | Report | DataProcessor | InfoRegister |
|---|---|---|---|---|---|---|
| Title | + | + | + | + | + | + |
| Width | — | — | + | — | + | — |
| WindowOpeningMode | + | + | + | — | + | — |
| AutoTitle | + | + | + | + | + | + |
| CommandBarLocation | + | + | + | + | + | + |
| AutoTime | — | + | — | — | — | — |
| UsePostingMode | — | + | — | — | — | — |
| UseForFoldersAndItems | — | — | + | — | — | — |
| ReportResult | — | — | — | + | — | — |
| SaveDataInSettings | — | — | — | — | + | — |
4. CommandSet — исключённые команды
<CommandSet>
<ExcludedCommand>CommandName</ExcludedCommand>
...
</CommandSet>
Стандартные команды диалогов
OK, Cancel, Yes, No, Abort, Retry, Ignore, Help, SaveValues, RestoreValues
Стандартные команды объектов
Copy, Delete, SetDeletionMark, CreateInitialImage, ReadChanges, WriteChanges
Команды отчётов
CustomizeForm
5. AutoCommandBar — главная панель команд
Всегда присутствует. Фиксированные name="ФормаКоманднаяПанель" и id="-1".
<AutoCommandBar name="ФормаКоманднаяПанель" id="-1">
<HorizontalAlign>Right</HorizontalAlign> <!-- Left | Center | Right -->
<Autofill>false</Autofill> <!-- true | false -->
<EnableContentChange>true</EnableContentChange> <!-- optional -->
<ChildItems>
<!-- Button, ButtonGroup, Popup -->
</ChildItems>
</AutoCommandBar>
Может быть пустым (самозакрывающийся тег) или содержать <ChildItems> с кнопками.
6. Events — обработчики событий формы
<Events>
<Event name="EventName">ИмяОбработчика</Event>
...
</Events>
Все события формы
| Имя события | Контекст | Описание |
|---|---|---|
OnCreateAtServer |
Сервер | Создание формы на сервере (инициализация) |
OnOpen |
Клиент | Открытие формы на клиенте |
BeforeClose |
Клиент | Перед закрытием формы |
OnClose |
Клиент | При закрытии формы |
AfterWrite |
Клиент | После записи объекта |
BeforeWrite |
Клиент | Перед записью объекта |
BeforeWriteAtServer |
Сервер | Перед записью на сервере |
OnWriteAtServer |
Сервер | При записи на сервере |
AfterWriteAtServer |
Сервер | После записи на сервере |
OnReadAtServer |
Сервер | При чтении объекта |
NotificationProcessing |
Клиент | Обработка межформенных оповещений |
ChoiceProcessing |
Клиент | Обработка результата выбора |
NewWriteProcessing |
Сервер | Создание нового объекта |
FillCheckProcessingAtServer |
Сервер | Проверка заполнения |
OnLoadUserSettingsAtServer |
Сервер | Загрузка пользовательских настроек (отчёты) |
OnSaveUserSettingsAtServer |
Сервер | Сохранение пользовательских настроек (отчёты) |
URLProcessing |
Клиент | Обработка навигационных ссылок |
Типичные комбинации по типам форм
Диалог: OnCreateAtServer + OnOpen
Документ: OnCreateAtServer + OnOpen + BeforeWriteAtServer + OnWriteAtServer + AfterWrite
Справочник: OnCreateAtServer + OnOpen + OnReadAtServer + BeforeWriteAtServer + AfterWrite + NotificationProcessing
Отчёт: OnCreateAtServer + OnOpen + BeforeClose + OnClose + OnLoadUserSettingsAtServer + OnSaveUserSettingsAtServer + NotificationProcessing + ChoiceProcessing + URLProcessing
7. ChildItems — дерево UI-элементов
7.1. Иерархия вложенности
ChildItems
├── UsualGroup → содержит любые элементы
│ └── ChildItems
├── Pages → содержит только Page
│ └── ChildItems
│ └── Page → содержит любые элементы
│ └── ChildItems
├── Table → содержит колонки (InputField, LabelField, CheckBoxField, PictureField)
│ └── ChildItems
├── CommandBar → содержит Button, ButtonGroup, Popup
│ └── ChildItems
├── InputField (лист)
├── LabelField (лист)
├── CheckBoxField (лист)
├── LabelDecoration (лист)
├── PictureDecoration (лист)
├── PictureField (лист)
├── CalendarField (лист)
└── Button (лист)
7.2. Общие свойства всех элементов
Каждый UI-элемент имеет атрибуты name (string) и id (int). Кроме того, большинство элементов поддерживают:
| Свойство | Тип | Описание |
|---|---|---|
<Title> |
multilang | Заголовок |
<ToolTip> |
multilang | Подсказка |
<Visible> |
bool | Видимость |
<Enabled> |
bool | Доступность |
<ReadOnly> |
bool | Только чтение |
<Width> |
int | Ширина |
<Height> |
int | Высота |
<HorizontalStretch> |
bool | Растягивание по горизонтали |
<VerticalStretch> |
bool | Растягивание по вертикали |
<HorizontalAlign> |
enum | Left / Center / Right |
<VerticalAlign> |
enum | Top / Center / Bottom |
<GroupHorizontalAlign> |
enum | Горизонтальное выравнивание в группе |
<GroupVerticalAlign> |
enum | Вертикальное выравнивание в группе |
<SkipOnInput> |
bool | Пропускать при вводе |
<ContextMenu> |
ref | Контекстное меню (name + id) |
<ExtendedTooltip> |
ref | Расширенная подсказка (name + id) |
<Events> |
block | Обработчики событий элемента |
7.3. Мультиязычный формат (multilang)
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Текст на русском</v8:content>
</v8:item>
</Title>
Атрибут formatted="true" на <Title> означает форматированную строку.
8. Типы UI-элементов — полное описание
8.1. UsualGroup — группа элементов
Основной контейнер для компоновки. Используется в ~90% форм.
<UsualGroup name="..." id="...">
<!-- Компоновка -->
<Group>Vertical | Horizontal | AlwaysHorizontal | AlwaysVertical</Group>
<Behavior>Usual | Collapsible | CommandBar</Behavior>
<Representation>None | NormalSeparation | WeakSeparation | StrongSeparation</Representation>
<ShowTitle>true | false</ShowTitle>
<United>true | false</United>
<!-- Расположение дочерних -->
<ChildItemsWidth>LeftWidest | RightWidest | Equal</ChildItemsWidth>
<HorizontalSpacing>Single | Half | Double</HorizontalSpacing>
<VerticalSpacing>Single | Half | Double</VerticalSpacing>
<ThroughAlign>Use | DontUse</ThroughAlign>
<!-- Внешний вид -->
<BackColor>style:... | web:... | win:...</BackColor>
<TextColor>style:...</TextColor>
<TitleTextColor>style:...</TitleTextColor>
<EnableContentChange>true | false</EnableContentChange>
<ControlRepresentation>Picture | Text</ControlRepresentation>
<ChildItems>...</ChildItems>
</UsualGroup>
8.2. InputField — поле ввода
Основной элемент ввода данных. Используется в ~80% форм.
<InputField name="..." id="...">
<DataPath>Объект.Организация</DataPath>
<!-- Заголовок -->
<TitleLocation>Left | Right | Top | Bottom | None</TitleLocation>
<TitleHeight>N</TitleHeight>
<TitleWidth>N</TitleWidth>
<!-- Размеры -->
<AutoMaxWidth>true | false</AutoMaxWidth>
<AutoMaxHeight>true | false</AutoMaxHeight>
<!-- Режим редактирования -->
<EditMode>Enter | EnterOnInput</EditMode>
<MultiLine>true | false</MultiLine>
<Wrap>true | false</Wrap>
<ExtendedEdit>true | false</ExtendedEdit>
<PasswordMode>true | false</PasswordMode>
<DefaultItem>true | false</DefaultItem>
<!-- Кнопки -->
<ChoiceButton>true | false</ChoiceButton>
<ChoiceButtonRepresentation>ShowInInputField | ShowInToolbar | Auto</ChoiceButtonRepresentation>
<OpenButton>true | false</OpenButton>
<ClearButton>true | false</ClearButton>
<SpinButton>true | false</SpinButton>
<CreateButton>true | false</CreateButton>
<DropListButton>true | false</DropListButton>
<TextEdit>true | false</TextEdit>
<ListChoiceMode>true | false</ListChoiceMode>
<!-- Автозаполнение и проверка -->
<AutoMarkIncomplete>true | false</AutoMarkIncomplete>
<MarkIncomplete>true | false</MarkIncomplete>
<AutoComplete>true | false</AutoComplete>
<QuickChoice>true | false</QuickChoice>
<ChoiceHistoryOnInput>Auto | Never | Always</ChoiceHistoryOnInput>
<!-- Подсказка ввода -->
<InputHint>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Placeholder text</v8:content>
</v8:item>
</InputHint>
<Mask>маска ввода</Mask>
<!-- Параметры выбора -->
<ChoiceFoldersAndItems>Items | Folders | FoldersAndItems</ChoiceFoldersAndItems>
<ChoiceParameters>
<v8:Parameter>
<v8:Name>name</v8:Name>
<v8:Value>value</v8:Value>
</v8:Parameter>
</ChoiceParameters>
<!-- Стилизация -->
<TextColor>style:... | web:... | win:...</TextColor>
<BackColor>style:... | web:... | win:...</BackColor>
<BorderColor>style:... | web:... | win:...</BorderColor>
<Font>...</Font>
<!-- События -->
<Events>
<Event name="OnChange">...</Event>
<Event name="StartChoice">...</Event>
<Event name="ChoiceProcessing">...</Event>
<Event name="Clearing">...</Event>
<Event name="AutoComplete">...</Event>
<Event name="TextEditEnd">...</Event>
<Event name="Opening">...</Event>
<Event name="OnEditEnd">...</Event>
<Event name="DragCheck">...</Event>
<Event name="Drag">...</Event>
<Event name="DragStart">...</Event>
</Events>
</InputField>
8.3. Button — кнопка
<Button name="..." id="...">
<Type>CommandBarButton | UsualButton | Hyperlink</Type>
<CommandName>Form.Command.Name | Form.StandardCommand.Name | CommonCommand.Name</CommandName>
<DataPath>Attribute</DataPath>
<Picture>
<xr:Ref>StdPicture.Name | CommonPicture.Name</xr:Ref>
<xr:LoadTransparent>true | false</xr:LoadTransparent>
</Picture>
<Representation>Auto | Picture | Text | PictureAndText</Representation>
<ShapeRepresentation>Auto | None | Button</ShapeRepresentation>
<DefaultButton>true | false</DefaultButton>
<LocationInCommandBar>InCommandBar | InAdditionalSubmenu | InCommandBarAndInAdditionalSubmenu | Auto</LocationInCommandBar>
<OnlyInAllActions>true | false</OnlyInAllActions>
<Events>
<Event name="Click">...</Event>
</Events>
</Button>
8.4. Table — таблица
<Table name="..." id="...">
<DataPath>ТабличныйРеквизит</DataPath>
<RowPictureDataPath>ТабличныйРеквизит.Иконка</RowPictureDataPath>
<RowsPicture>
<xr:Ref>CommonPicture.Name</xr:Ref>
</RowsPicture>
<!-- Отображение -->
<Representation>List | Tree | HierarchicalList</Representation>
<TitleLocation>Top | None</TitleLocation>
<HeightInTableRows>N</HeightInTableRows>
<Header>true | false</Header>
<Footer>true | false</Footer>
<HorizontalLines>true | false</HorizontalLines>
<VerticalLines>true | false</VerticalLines>
<UseAlternationRowColor>true | false</UseAlternationRowColor>
<!-- Редактирование -->
<SelectionMode>SingleRow | MultiRow</SelectionMode>
<ChangeRowSet>true | false</ChangeRowSet>
<ChangeRowOrder>true | false</ChangeRowOrder>
<AutoInsertNewRow>true | false</AutoInsertNewRow>
<!-- Панели -->
<CommandBarLocation>None | Top | Bottom | Auto</CommandBarLocation>
<SearchStringLocation>None | Top | Bottom | CommandBar | Auto</SearchStringLocation>
<ViewStatusLocation>Top | Bottom | None</ViewStatusLocation>
<SearchControlLocation>Top | Bottom | Auto</SearchControlLocation>
<!-- D&D -->
<EnableStartDrag>true | false</EnableStartDrag>
<EnableDrag>true | false</EnableDrag>
<FileDragMode>AsFile | AsFileRef</FileDragMode>
<!-- Дерево -->
<TopLevelParent xsi:nil="true"/>
<ShowRoot>true | false</ShowRoot>
<AllowRootChoice>true | false</AllowRootChoice>
<ChoiceFoldersAndItems>Items | Folders | FoldersAndItems</ChoiceFoldersAndItems>
<!-- Обновление -->
<AutoRefresh>true | false</AutoRefresh>
<AutoRefreshPeriod>seconds</AutoRefreshPeriod>
<UpdateOnDataChange>Auto | DontUpdate</UpdateOnDataChange>
<!-- Исключённые команды таблицы -->
<CommandSet>
<ExcludedCommand>...</ExcludedCommand>
</CommandSet>
<!-- Служебные элементы -->
<ContextMenu name="..." id="..."/>
<AutoCommandBar name="..." id="..."/>
<SearchStringAddition name="..." id="..."/>
<ViewStatusAddition name="..." id="..."/>
<SearchControlAddition name="..." id="..."/>
<!-- Колонки -->
<ChildItems>
<!-- InputField, LabelField, CheckBoxField, PictureField -->
</ChildItems>
<!-- События -->
<Events>
<Event name="Selection">...</Event>
<Event name="OnActivateRow">...</Event>
<Event name="BeforeRowChange">...</Event>
<Event name="BeforeAddRow">...</Event>
<Event name="BeforeDeleteRow">...</Event>
<Event name="AfterDeleteRow">...</Event>
<Event name="DragStart">...</Event>
<Event name="Drag">...</Event>
<Event name="DragCheck">...</Event>
<Event name="Drop">...</Event>
</Events>
</Table>
8.5. Pages / Page — вкладки
<Pages name="..." id="...">
<PagesRepresentation>None | TabsOnTop | TabsOnBottom | TabsOnLeft | TabsOnRight</PagesRepresentation>
<Events>
<Event name="OnCurrentPageChange">...</Event>
</Events>
<ChildItems>
<Page name="..." id="...">
<Title>...</Title>
<Picture>
<xr:Ref>StdPicture.Name</xr:Ref>
</Picture>
<ShowTitle>true | false</ShowTitle>
<ChildItemsWidth>LeftWidest | RightWidest | Equal</ChildItemsWidth>
<ChildItems>
<!-- Любые UI-элементы -->
</ChildItems>
</Page>
</ChildItems>
</Pages>
8.6. CommandBar — командная панель
<CommandBar name="..." id="...">
<CommandSource>Form | FormCommandPanelGlobalCommands</CommandSource>
<Autofill>true | false</Autofill>
<EnableContentChange>true | false</EnableContentChange>
<HorizontalLocation>Left | Right</HorizontalLocation>
<VerticalLocation>Top | Bottom</VerticalLocation>
<ChildItems>
<!-- Button, ButtonGroup, Popup -->
</ChildItems>
</CommandBar>
8.7. ButtonGroup — группа кнопок
<ButtonGroup name="..." id="...">
<Representation>Auto | Compact | Separate</Representation>
<CommandSource>Form | FormCommandPanelGlobalCommands | CommandPanel</CommandSource>
<ChildItems>
<!-- Button, ButtonGroup -->
</ChildItems>
</ButtonGroup>
8.8. Popup — выпадающее меню
<Popup name="..." id="...">
<Picture>
<xr:Ref>StdPicture.Print</xr:Ref>
<xr:LoadTransparent>true</xr:LoadTransparent>
</Picture>
<Representation>Auto | Picture | Text | PictureAndText</Representation>
<ShapeRepresentation>Auto | None | Button</ShapeRepresentation>
<LocationInCommandBar>InCommandBar | InAdditionalSubmenu | Auto</LocationInCommandBar>
<ChildItems>
<!-- Button, ButtonGroup, Popup -->
</ChildItems>
</Popup>
8.9. LabelDecoration — декоративная надпись
<LabelDecoration name="..." id="...">
<Title formatted="true">...</Title>
<AutoMaxWidth>true | false</AutoMaxWidth>
<AutoMaxHeight>true | false</AutoMaxHeight>
<Hyperlink>true | false</Hyperlink>
<ToolTipRepresentation>Auto | Button | None</ToolTipRepresentation>
<TextColor>style:... | web:... | win:...</TextColor>
<BackColor>style:... | web:... | win:...</BackColor>
<Font>...</Font>
<Border width="N">
<v8ui:style xsi:type="v8ui:ControlBorderType">WithoutBorder | WithBorder</v8ui:style>
</Border>
<Events>
<Event name="Click">...</Event>
</Events>
</LabelDecoration>
8.10. LabelField — поле надписи (привязанное к данным)
<LabelField name="..." id="...">
<DataPath>Реквизит.Свойство</DataPath>
<TitleLocation>Left | Right | Top | Bottom | None</TitleLocation>
<TitleTextColor>style:...</TitleTextColor>
<PasswordMode>true | false</PasswordMode>
<Hyperlink>true | false</Hyperlink>
<TextColor>style:... | web:... | win:...</TextColor>
<BackColor>style:... | web:... | win:...</BackColor>
<Font>...</Font>
<Events>
<Event name="Click">...</Event>
<Event name="URLProcessing">...</Event>
</Events>
</LabelField>
8.11. CheckBoxField — флажок
<CheckBoxField name="..." id="...">
<DataPath>Реквизит.Свойство</DataPath>
<TitleLocation>Left | Right | Top | Bottom | None</TitleLocation>
<CheckBoxType>Auto | Checkbox | Tumbler</CheckBoxType>
<EditMode>Enter | EnterOnInput</EditMode>
<Events>
<Event name="OnChange">...</Event>
</Events>
</CheckBoxField>
8.12. PictureDecoration — декоративная картинка
<PictureDecoration name="..." id="...">
<Picture>
<xr:Ref>StdPicture.Name | CommonPicture.Name</xr:Ref>
<xr:LoadTransparent>true | false</xr:LoadTransparent>
</Picture>
<Zoomable>true | false</Zoomable>
<NonselectedPictureText>текст</NonselectedPictureText>
<Hyperlink>true | false</Hyperlink>
<FileDragMode>AsFile | AsFileRef</FileDragMode>
<DisplayImportance>Auto | VeryLow | Low | Normal | High | VeryHigh</DisplayImportance>
<Border width="N">
<v8ui:style xsi:type="v8ui:ControlBorderType">WithoutBorder | WithBorder</v8ui:style>
</Border>
<Events>
<Event name="Click">...</Event>
</Events>
</PictureDecoration>
8.13. PictureField — поле картинки (привязанное к данным)
<PictureField name="..." id="...">
<DataPath>Реквизит.Свойство</DataPath>
<TitleLocation>Left | Right | Top | Bottom | None</TitleLocation>
<ValuesPicture>
<xr:Ref>CommonPicture.Name</xr:Ref>
</ValuesPicture>
<Zoomable>true | false</Zoomable>
<NonselectedPictureText>текст</NonselectedPictureText>
<FileDragMode>AsFile | AsFileRef</FileDragMode>
<Border width="N">
<v8ui:style xsi:type="v8ui:ControlBorderType">WithoutBorder | WithBorder</v8ui:style>
</Border>
<Events>
<Event name="Click">...</Event>
<Event name="StartDrag">...</Event>
<Event name="DragCheck">...</Event>
<Event name="Drag">...</Event>
</Events>
</PictureField>
8.14. CalendarField — календарь
<CalendarField name="..." id="...">
<DataPath>Реквизит.Дата</DataPath>
<TitleLocation>Left | Right | Top | Bottom | None</TitleLocation>
<WidthInMonths>N</WidthInMonths>
<HeightInWeeks>N</HeightInWeeks>
<ShowCurrentDate>true | false</ShowCurrentDate>
<BeginOfRepresentationPeriod>date</BeginOfRepresentationPeriod>
<EndOfRepresentationPeriod>date</EndOfRepresentationPeriod>
<Events>
<Event name="Selection">...</Event>
<Event name="OnPeriodOutput">...</Event>
</Events>
</CalendarField>
9. Attributes — реквизиты формы
<Attributes>
<Attribute name="ИмяРеквизита" id="N">
<Title>...</Title> <!-- multilang, необязательный -->
<ToolTip>...</ToolTip> <!-- multilang, необязательный -->
<Type>...</Type> <!-- определение типа -->
<MainAttribute>true</MainAttribute> <!-- основной реквизит формы -->
<SavedData>true</SavedData> <!-- сохраняемые данные -->
<FillChecking>Show | DontShow</FillChecking> <!-- проверка заполнения -->
<UseAlwaysAttributes>true</UseAlwaysAttributes>
<Columns>...</Columns> <!-- для ValueTable/ValueTree -->
</Attribute>
</Attributes>
9.1. Система типов
Примитивные типы (xs:*)
<!-- Строка -->
<Type>
<v8:Type>xs:string</v8:Type>
<v8:StringQualifiers>
<v8:Length>100</v8:Length> <!-- 0 = неограниченная -->
<v8:AllowedLength>Variable</v8:AllowedLength> <!-- Variable | Fixed -->
</v8:StringQualifiers>
</Type>
<!-- Число -->
<Type>
<v8:Type>xs:decimal</v8:Type>
<v8:NumberQualifiers>
<v8:Digits>15</v8:Digits> <!-- всего цифр -->
<v8:FractionDigits>2</v8:FractionDigits> <!-- дробная часть -->
<v8:AllowedSign>Any</v8:AllowedSign> <!-- Any | Nonnegative -->
</v8:NumberQualifiers>
</Type>
<!-- Булево -->
<Type>
<v8:Type>xs:boolean</v8:Type>
</Type>
<!-- Дата -->
<Type>
<v8:Type>xs:dateTime</v8:Type>
<v8:DateQualifiers>
<v8:DateFractions>Date</v8:DateFractions> <!-- Date | Time | DateTime -->
</v8:DateQualifiers>
</Type>
<!-- Двоичные данные -->
<Type>
<v8:Type>xs:binary</v8:Type>
<v8:BinaryDataQualifiers>
<v8:Length>0</v8:Length>
<v8:AllowedLength>Variable</v8:AllowedLength>
</v8:BinaryDataQualifiers>
</Type>
Ссылочные типы (cfg:*)
| Шаблон | Пример | Описание |
|---|---|---|
cfg:CatalogRef.<Имя> |
cfg:CatalogRef.Организации |
Ссылка на элемент справочника |
cfg:CatalogObject.<Имя> |
cfg:CatalogObject.Контрагенты |
Объект справочника |
cfg:DocumentRef.<Имя> |
cfg:DocumentRef.СчетФактура |
Ссылка на документ |
cfg:DocumentObject.<Имя> |
cfg:DocumentObject.ПроцессПокупки |
Объект документа |
cfg:EnumRef.<Имя> |
cfg:EnumRef.СпособДоставки |
Ссылка на перечисление |
cfg:ChartOfAccountsRef.<Имя> |
cfg:ChartOfAccountsRef.Хозрасчетный |
Ссылка на план счетов |
cfg:ChartOfCalculationTypesRef.<Имя> |
— | Ссылка на план видов расчёта |
cfg:ChartOfCharacteristicTypesRef.<Имя> |
— | Ссылка на план видов характеристик |
cfg:ExchangePlanRef.<Имя> |
cfg:ExchangePlanRef.АвтономнаяРабота |
Ссылка на план обмена |
cfg:BusinessProcessRef.<Имя> |
— | Ссылка на бизнес-процесс |
cfg:TaskRef.<Имя> |
— | Ссылка на задачу |
cfg:InformationRegisterRecordSet.<Имя> |
— | Набор записей регистра сведений |
cfg:InformationRegisterRecordManager.<Имя> |
— | Менеджер записи регистра сведений |
cfg:AccumulationRegisterRecordSet.<Имя> |
— | Набор записей регистра накопления |
cfg:AccountingRegisterRecordSet.<Имя> |
— | Набор записей регистра бухгалтерии |
cfg:ChartOfAccountsObject.<Имя> |
— | Объект плана счетов |
cfg:ChartOfCharacteristicTypesObject.<Имя> |
— | Объект ПВХ |
cfg:ChartOfCalculationTypesObject.<Имя> |
— | Объект плана видов расчёта |
cfg:ExchangePlanObject.<Имя> |
— | Объект плана обмена |
cfg:BusinessProcessObject.<Имя> |
— | Объект бизнес-процесса |
cfg:TaskObject.<Имя> |
— | Объект задачи |
cfg:ConstantsSet |
— | Набор констант |
cfg:DataProcessorObject.<Имя> |
— | Объект обработки |
cfg:ReportObject.<Имя> |
— | Объект отчёта |
cfg:DynamicList |
— | Динамический список |
Платформенные типы (v8:*)
| Тип | Описание |
|---|---|
v8:ValueListType |
Список значений |
v8:ValueTable |
Таблица значений |
v8:ValueTree |
Дерево значений |
v8:TypeDescription |
Описание типов |
v8:Universal |
Произвольный тип |
v8:FixedArray |
Фиксированный массив |
v8:FixedStructure |
Фиксированная структура |
v8:FillChecking |
Проверка заполнения |
v8:Null |
Null |
v8:StandardPeriod |
Стандартный период |
v8:StandardBeginningDate |
Стандартная начальная дата |
v8:Type |
Тип |
v8:UUID |
Уникальный идентификатор |
UI-типы (v8ui:*)
| Тип | Описание |
|---|---|
v8ui:FormattedString |
Форматированная строка |
v8ui:Picture |
Картинка |
v8ui:Color |
Цвет |
v8ui:Font |
Шрифт |
v8ui:SizeChangeMode |
Режим изменения размера |
v8ui:VerticalAlign |
Вертикальное выравнивание |
v8ui:HorizontalAlign |
Горизонтальное выравнивание |
Типы СКД (dcs*:*)
| Тип | Описание |
|---|---|
dcsset:DataCompositionSettings |
Настройки СКД |
dcssch:DataCompositionSchema |
Схема СКД |
dcscor:DataCompositionComparisonType |
Тип сравнения СКД |
dcsset:Filter |
Отбор СКД |
dcsset:SettingsComposer |
Компоновщик настроек |
dcsset:DataCompositionFieldPlacement |
Размещение поля СКД |
dcscor:DataCompositionGroupType |
Тип группировки |
dcscor:DataCompositionPeriodAdditionType |
Тип дополнения периода |
dcscor:DataCompositionSortDirection |
Направление сортировки |
dcscor:Field |
Поле СКД |
Типы предприятия (ent:*)
| Тип | Описание |
|---|---|
ent:AccountType |
Тип счёта (Активный/Пассивный/АктивноПассивный) |
ent:AccumulationRecordType |
Тип движения регистра накопления (Приход/Расход) |
ent:AccountingRecordType |
Тип бухгалтерской записи |
Пустой тип
<Type/> <!-- нетипизированный / произвольный -->
9.2. Составные типы
Несколько типов в одном реквизите:
<Type>
<v8:Type>cfg:CatalogRef.Организации</v8:Type>
<v8:Type>cfg:CatalogRef.ИндивидуальныеПредприниматели</v8:Type>
<v8:Type>cfg:CatalogRef.Контрагенты</v8:Type>
</Type>
9.3. ValueTable / ValueTree с колонками
<Attribute name="Строки" id="5">
<Type>
<v8:Type>v8:ValueTable</v8:Type>
</Type>
<Columns>
<Column name="Номенклатура" id="1">
<Title>...</Title>
<Type>
<v8:Type>cfg:CatalogRef.Номенклатура</v8:Type>
</Type>
</Column>
<Column name="Количество" id="2">
<Type>
<v8:Type>xs:decimal</v8:Type>
<v8:NumberQualifiers>
<v8:Digits>10</v8:Digits>
<v8:FractionDigits>3</v8:FractionDigits>
<v8:AllowedSign>Nonnegative</v8:AllowedSign>
</v8:NumberQualifiers>
</Type>
</Column>
</Columns>
</Attribute>
10. Parameters — параметры формы
<Parameters>
<Parameter name="ИмяПараметра">
<Type>...</Type> <!-- идентично типам Attributes -->
<KeyParameter>true</KeyParameter> <!-- ключевой параметр -->
</Parameter>
</Parameters>
Параметры не имеют атрибута id. Типы — те же, что для Attributes.
11. Commands — команды формы
<Commands>
<Command name="ИмяКоманды" id="N">
<Title>...</Title> <!-- multilang -->
<ToolTip>...</ToolTip> <!-- multilang -->
<Picture>
<xr:Ref>StdPicture.Refresh</xr:Ref>
<xr:LoadTransparent>true</xr:LoadTransparent>
</Picture>
<Action>ИмяОбработчика</Action> <!-- имя процедуры обработки -->
<Shortcut>Ctrl+S</Shortcut> <!-- клавиатурное сочетание -->
<Representation>Auto | Picture | Text | PictureAndText | TextPicture | None | Compact</Representation>
<CurrentRowUse>DontUse | Use | Auto</CurrentRowUse>
<ModifiesData>true | false</ModifiesData>
<ModifiesSavedData>true | false</ModifiesSavedData>
<ChangedStateSavedData>true | false</ChangedStateSavedData>
<Use>Auto</Use>
<Mark>true | false</Mark>
<ParameterUse>...</ParameterUse>
</Command>
</Commands>
12. Ссылки на картинки
Два вида ссылок:
<!-- Стандартная картинка платформы -->
<xr:Ref>StdPicture.Refresh</xr:Ref>
<!-- Общая картинка конфигурации -->
<xr:Ref>CommonPicture.ЗаполнитьФорму</xr:Ref>
С прозрачностью:
<Picture>
<xr:Ref>StdPicture.Print</xr:Ref>
<xr:LoadTransparent>true</xr:LoadTransparent>
</Picture>
13. Ссылки на стили, цвета, шрифты
<!-- Стиль -->
<BackColor>style:FormBackColor</BackColor>
<!-- Web-цвет -->
<TextColor>web:Red</TextColor>
<!-- Windows-цвет -->
<BackColor>win:ButtonFace</BackColor>
<!-- Системный шрифт -->
<Font>sys:DefaultGUIFont</Font>
14. Рамки (Border)
<Border width="1">
<v8ui:style xsi:type="v8ui:ControlBorderType">WithoutBorder</v8ui:style>
</Border>
Значения ControlBorderType: WithoutBorder, WithBorder.
15. DataPath — привязка к данным
Формат пути:
| Пример | Описание |
|---|---|
Объект.Организация |
Реквизит основного объекта формы |
Объект.Товары.Номенклатура |
Колонка табличной части объекта |
Отчет.НачалоПериода |
Параметр отчёта |
Запись.ОКОФ |
Поле записи регистра |
ТекстСообщения |
Реквизит формы верхнего уровня |
16. Статистика использования элементов
| Тип элемента | Частота |
|---|---|
| UsualGroup | ~90% форм |
| Button | ~85% |
| InputField | ~80% |
| LabelDecoration | ~75% |
| CommandBar | ~70% |
| Table | ~60% |
| LabelField | ~60% |
| Pages / Page | ~55% |
| ButtonGroup | ~50% |
| CheckBoxField | ~45% |
| Popup | ~40% |
| PictureDecoration | ~40% |
| PictureField | ~15% |
| RadioButtonField | ~8.5% |
| CalendarField | ~5% |
17. Элементы, не встреченные в конфигурации
Следующие элементы управления существуют в платформе, но не использованы в БП 3.0:
TrackBarFieldProgressBarFieldTextDocumentFieldSpreadSheetDocumentFieldHTMLDocumentFieldChartFieldGanttChartFieldPlannerFieldGraphicalSchemaFieldFormattedDocumentField