From e987eeece292aa58e622bbe8a84a9dd83aa1794d Mon Sep 17 00:00:00 2001 From: Nick Shirokov Date: Fri, 21 Aug 2026 10:49:31 +0300 Subject: [PATCH] =?UTF-8?q?docs(form-spec):=20=D1=84=D0=BE=D1=80=D0=BC?= =?UTF-8?q?=D1=8B=20=D0=BF=D0=BE=20=D0=B2=D0=B8=D0=B4=D0=B0=D0=BC=20=D0=BE?= =?UTF-8?q?=D0=B1=D1=8A=D0=B5=D0=BA=D1=82=D0=BE=D0=B2=20=E2=80=94=20=D0=BF?= =?UTF-8?q?=D0=BE=D0=BB=D0=BD=D1=8B=D0=B5=20=D1=82=D0=B0=D0=B1=D0=BB=D0=B8?= =?UTF-8?q?=D1=86=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Таблица «Свойства DefaultForm по типам объектов» была неполной: в ней не было журнала документов, перечисления, регистров накопления/бухгалтерии/расчёта, плана видов расчёта, критерия отбора, хранилища настроек и внешних объектов. Сверять код было не с чем, и код оказался неполон ровно так же. Добавлена вторая таблица — главный реквизит формы по назначению. Она разводит случаи, которые легко перепутать: форма группы это форма ОБЪЕКТА группы, а форма выбора группы — динамический список; у формы набора записей свойства, чтобы назначить её основной, нет вовсе; форма без главного реквизита («произвольная») — обычное дело, а не полуфабрикат. Источник — выгрузки типовых: слоты и типы главного реквизита сняты по конфигурациям acc, erp, ut, unf. Co-Authored-By: Claude Opus 5 --- docs/1c-form-spec.md | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/docs/1c-form-spec.md b/docs/1c-form-spec.md index b4cbe3530..6c0943e34 100644 --- a/docs/1c-form-spec.md +++ b/docs/1c-form-spec.md @@ -144,16 +144,51 @@ CommonForms регистрируются в `Configuration.xml`: | Catalog | DefaultObjectForm, DefaultFolderForm, DefaultListForm, DefaultChoiceForm, DefaultFolderChoiceForm | | ChartOfCharacteristicTypes | DefaultObjectForm, DefaultFolderForm, DefaultListForm, DefaultChoiceForm, DefaultFolderChoiceForm | | ChartOfAccounts | DefaultObjectForm, DefaultListForm, DefaultChoiceForm | +| ChartOfCalculationTypes | DefaultObjectForm, DefaultListForm, DefaultChoiceForm | | DataProcessor | DefaultForm | | Report | DefaultForm | +| ExternalDataProcessor | DefaultForm | +| ExternalReport | DefaultForm | | InformationRegister | DefaultRecordForm, DefaultListForm | +| AccumulationRegister | DefaultListForm | +| AccountingRegister | DefaultListForm | +| CalculationRegister | DefaultListForm | +| DocumentJournal | DefaultForm | +| Enum | DefaultListForm, DefaultChoiceForm | +| FilterCriterion | DefaultForm | +| SettingsStorage | DefaultSaveForm, DefaultLoadForm | | ExchangePlan | DefaultObjectForm, DefaultListForm, DefaultChoiceForm | | BusinessProcess | DefaultObjectForm, DefaultListForm, DefaultChoiceForm | | Task | DefaultObjectForm, DefaultListForm, DefaultChoiceForm | +| Constant | DefaultForm — но собственных форм у константы нет, свойство указывает на общую форму | | CommonForm | — (регистрируется в Configuration.xml, нет DefaultForm) | > Report.DefaultForm может указывать на общую форму: `CommonForm.ФормаОтчета`. +#### Главный реквизит формы по назначению + +Главный реквизит (`true`) задаёт вид формы. `{Имя}` — имя объекта. + +| Назначение | Свойство объекта | Главный реквизит | Для каких типов | +|------------|------------------|------------------|-----------------| +| Форма объекта | DefaultObjectForm | `{Тип}Object.{Имя}` | Catalog, Document, ChartOfAccounts, ChartOfCharacteristicTypes, ChartOfCalculationTypes, ExchangePlan, BusinessProcess, Task | +| Форма обработки/отчёта | DefaultForm | `{Тип}Object.{Имя}` | DataProcessor, Report, ExternalDataProcessor, ExternalReport | +| Форма группы | DefaultFolderForm | `{Тип}Object.{Имя}` | Catalog, ChartOfCharacteristicTypes | +| Форма списка | DefaultListForm (у DocumentJournal и FilterCriterion — DefaultForm) | `DynamicList` + `MainTable` | все типы со списком | +| Форма выбора | DefaultChoiceForm | `DynamicList` + `MainTable` | Catalog, Document, ChartOf*, ExchangePlan, BusinessProcess, Task, Enum | +| Форма выбора группы | DefaultFolderChoiceForm | `DynamicList` + `MainTable` | Catalog, ChartOfCharacteristicTypes | +| Форма записи | DefaultRecordForm | `InformationRegisterRecordManager.{Имя}` | InformationRegister | +| Форма набора записей | — (свойства нет) | `{Тип}RecordSet.{Имя}` | все регистры | +| Форма сохранения/загрузки настроек | DefaultSaveForm / DefaultLoadForm | нет | SettingsStorage | +| Произвольная форма | — (свойства нет) | нет | любой тип с собственными формами | + +> Формы без главного реквизита («произвольные») — обычное дело, а не полуфабрикат: на acc+erp это +> 907 форм справочников, 941 форма документов, 3482 формы отчётов. +> +> У формы набора записей нет свойства, которым её можно назначить основной, — сама форма при этом +> допустима. У регистров накопления и бухгалтерии `{Тип}RecordSet` как главный реквизит в типовых +> не встречается: их формы — списки. + --- ## 1. Корневой элемент