# 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 ← метаданные (тег ) ИмяФормы/ Ext/ Form.xml Form/ Module.bsl ``` ### Метаданные формы — шаблон #### Форма объекта (Document, Catalog, DataProcessor, Report, ...) ```xml
ИмяФормы ru Отображаемое имя Managed false PlatformApplication MobilePlatformApplication
``` #### CommonForm ```xml ИмяФормы ru Отображаемое имя Managed false false PlatformApplication MobilePlatformApplication ``` ### Регистрация формы #### В ChildObjects родительского объекта ```xml
ФормаДокумента
ФормаСписка
...
``` CommonForms регистрируются в `Configuration.xml`: ```xml ИмяФормы ... ``` #### DefaultForm в Properties родительского объекта Формат значения: `ТипОбъекта.ИмяОбъекта.Form.ИмяФормы` ```xml Document.АвансовыйОтчет.Form.ФормаДокумента Document.АвансовыйОтчет.Form.ФормаСписка Document.АвансовыйОтчет.Form.ФормаВыбора ``` #### Свойства 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
...
``` Все 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 — порядок дочерних элементов ```
┌─ Свойства формы (необязательные, в произвольном порядке) ├─ — исключённые стандартные команды ├─ — главная командная панель (обязательный, id="-1") ├─ — обработчики событий формы ├─ — дерево UI-элементов ├─ — реквизиты формы ├─ — параметры открытия формы └─ — пользовательские команды ``` --- ## 3. Свойства формы Прямые дочерние элементы `
` (все необязательные, указываются до ``/``): ### Общие свойства (все типы форм) | Элемент | Тип | Значения | Описание | |---------|-----|----------|----------| | `` | 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 — исключённые команды ```xml <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"`. ```xml <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 — обработчики событий формы ```xml <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) ```xml <Title> <v8:item> <v8:lang>ru</v8:lang> <v8:content>Текст на русском</v8:content> </v8:item> ``` Атрибут `formatted="true"` на `` означает форматированную строку. --- ## 8. Типы UI-элементов — полное описание ### 8.1. UsualGroup — группа элементов Основной контейнер для компоновки. Используется в ~90% форм. ```xml <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% форм. ```xml <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 — кнопка ```xml <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 — таблица ```xml <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 — вкладки ```xml <Pages name="..." id="..."> <PagesRepresentation>None | TabsOnTop | TabsOnBottom | TabsOnLeft | TabsOnRight</PagesRepresentation> <Events> <Event name="OnCurrentPageChange">...</Event> </Events> <ChildItems> <Page name="..." id="..."> <Title>... StdPicture.Name true | false LeftWidest | RightWidest | Equal ``` ### 8.6. CommandBar — командная панель ```xml Form | FormCommandPanelGlobalCommands true | false true | false Left | Right Top | Bottom ``` ### 8.7. ButtonGroup — группа кнопок ```xml Auto | Compact | Separate Form | FormCommandPanelGlobalCommands | CommandPanel ``` ### 8.8. Popup — выпадающее меню ```xml StdPicture.Print true Auto | Picture | Text | PictureAndText Auto | None | Button InCommandBar | InAdditionalSubmenu | Auto ``` ### 8.9. LabelDecoration — декоративная надпись ```xml ... true | false true | false true | false Auto | Button | None style:... | web:... | win:... style:... | web:... | win:... ... WithoutBorder | WithBorder ... ``` ### 8.10. LabelField — поле надписи (привязанное к данным) ```xml Реквизит.Свойство Left | Right | Top | Bottom | None style:... true | false true | false style:... | web:... | win:... style:... | web:... | win:... ... ... ... ``` ### 8.11. CheckBoxField — флажок ```xml Реквизит.Свойство Left | Right | Top | Bottom | None Auto | Checkbox | Tumbler Enter | EnterOnInput ... ``` ### 8.12. PictureDecoration — декоративная картинка ```xml StdPicture.Name | CommonPicture.Name true | false true | false текст true | false AsFile | AsFileRef Auto | VeryLow | Low | Normal | High | VeryHigh WithoutBorder | WithBorder ... ``` ### 8.13. PictureField — поле картинки (привязанное к данным) ```xml Реквизит.Свойство Left | Right | Top | Bottom | None CommonPicture.Name true | false текст AsFile | AsFileRef WithoutBorder | WithBorder ... ... ... ... ``` ### 8.14. CalendarField — календарь ```xml Реквизит.Дата Left | Right | Top | Bottom | None N N true | false date date ... ... ``` --- ## 9. Attributes — реквизиты формы ```xml ... ... ... true true Show | DontShow true ... ``` ### 9.1. Система типов #### Примитивные типы (xs:*) ```xml xs:string 100 Variable xs:decimal 15 2 Any xs:boolean xs:dateTime Date xs:binary 0 Variable ``` #### Ссылочные типы (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:AccumulationRegisterRecordSet.<Имя>` | — | Набор записей регистра накопления | #### Платформенные типы (v8:*) | Тип | Описание | |-----|----------| | `v8:ValueListType` | Список значений | | `v8:ValueTable` | Таблица значений | | `v8:ValueTree` | Дерево значений | | `v8:TypeDescription` | Описание типов | | `v8:Universal` | Произвольный тип | | `v8:FixedArray` | Фиксированный массив | | `v8:FixedStructure` | Фиксированная структура | #### UI-типы (v8ui:*) | Тип | Описание | |-----|----------| | `v8ui:FormattedString` | Форматированная строка | | `v8ui:Picture` | Картинка | | `v8ui:Color` | Цвет | | `v8ui:Font` | Шрифт | #### Типы СКД (dcs*:*) | Тип | Описание | |-----|----------| | `dcsset:DataCompositionSettings` | Настройки СКД | | `dcssch:DataCompositionSchema` | Схема СКД | | `dcscor:DataCompositionComparisonType` | Тип сравнения СКД | #### Пустой тип ```xml ``` ### 9.2. Составные типы Несколько типов в одном реквизите: ```xml cfg:CatalogRef.Организации cfg:CatalogRef.ИндивидуальныеПредприниматели cfg:CatalogRef.Контрагенты ``` ### 9.3. ValueTable / ValueTree с колонками ```xml v8:ValueTable ... cfg:CatalogRef.Номенклатура xs:decimal 10 3 Nonnegative ``` --- ## 10. Parameters — параметры формы ```xml ... true ``` Параметры **не имеют** атрибута `id`. Типы — те же, что для Attributes. --- ## 11. Commands — команды формы ```xml ... ... StdPicture.Refresh true ИмяОбработчика Ctrl+S Auto | Picture | Text | PictureAndText | TextPicture | None | Compact DontUse | Use | Auto true | false true | false true | false Auto true | false ... ``` --- ## 12. Ссылки на картинки Два вида ссылок: ```xml StdPicture.Refresh CommonPicture.ЗаполнитьФорму ``` С прозрачностью: ```xml StdPicture.Print true ``` --- ## 13. Ссылки на стили, цвета, шрифты ```xml style:FormBackColor web:Red win:ButtonFace sys:DefaultGUIFont ``` --- ## 14. Рамки (Border) ```xml WithoutBorder ``` Значения `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% | | CalendarField | ~5% | --- ## 17. Элементы, не встреченные в конфигурации Следующие элементы управления существуют в платформе, но не использованы в БП 3.0: - `RadioButtonField` - `TrackBarField` - `ProgressBarField` - `TextDocumentField` - `SpreadSheetDocumentField` - `HTMLDocumentField` - `ChartField` - `GanttChartField` - `PlannerField` - `GraphicalSchemaField` - `FormattedDocumentField`