Files
Nick Shirokov 60de083a05 docs(1c-form-spec): RadioButtonField перенесён в статистику (~8.5% форм БП)
Замер по acc_8.3.24: 658 из 7723 форм содержат RadioButtonField
(всего 1389 элементов). Раньше ошибочно числился среди не встреченных.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-03 18:48:29 +03:00

46 KiB
Raw Permalink Blame History

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:

  • TrackBarField
  • ProgressBarField
  • TextDocumentField
  • SpreadSheetDocumentField
  • HTMLDocumentField
  • ChartField
  • GanttChartField
  • PlannerField
  • GraphicalSchemaField
  • FormattedDocumentField