Как программно назначить Основную Форму документа?
Как программно назначить Основную Форму документа — не ту, что указана в конфигураторе, а другую (дополнительную)?
Напр.: при открытии обработки со списком документов необходимо прогр. назначить основной формой другую, чтобы при всех действиях из командной панели (ввод нового, копирование и т.п. . ) открывалась дополнительная форма.
ДокументМенеджер.<Имя документа> (DocumentManager.<Имя документа>)
ОбработкаПолученияФормы (FormGetProcessing)
Синтаксис:
ОбработкаПолученияФормы(<ВидФормы>, <Параметры>, <ВыбраннаяФорма>, <ДополнительнаяИнформация>, <СтандартнаяОбработка>)
Параметры:
Тип: Строка.
Имя стандартной формы.
<Параметры>
Тип: Структура.
Параметры формы.
<ВыбраннаяФорма>
Содержит имя открываемой формы или объект метаданных Форма.
Если значение параметра изменено, то будет осуществлен поиск формы в пределах объекта, для которого открывается форма.
<ДополнительнаяИнформация>
Тип: Структура.
Дополнительная информация открытия формы.
<СтандартнаяОбработка>
Тип: Булево.
В данный параметр передается признак выполнения стандартной (системной) обработки события. Если в теле процедуры-обработчика установить данному параметру значение Ложь, стандартная обработка события производиться не будет (выбираются установленные разработчиком форма и параметры).
Значение по умолчанию: Истина
Описание:
Обработчик события вызывается на сервере при получении стандартной управляемой формы.
Если требуется переопределить выбор открываемой формы, необходимо установить в параметре ВыбраннаяФорма другое имя формы или объект метаданных формы, которую требуется открыть, и в параметре СтандартнаяОбработка установить значение Ложь.
Но это 8.2 в управляемом режиме
«. Обработчик события вызывается на сервере при получении стандартной управляемой формы. . «
Возможно конечно будет и в режиме совместимости и для обычных форм работать
Работа с формами: открытие формы
Форма — это основной инструмент взаимодействия пользователя с системой.
Существует два типа форм:
- Форма — обычная форма, унаследованная от предыдущих версий платформы 1С:Предприятие 8.0 и 8.1.
- УправляемаяФорма — более современная форма, которая появилась начиная с платформы 1С:Предприятие 8.2. Она основана на декларативном описании состава и расположения элементов управления;
Для программного открытия обоих типов форм используются всего пара функций:
-
— открывает форму объекта; — возвращает объект типа Форма или УправляемаяФорма , который впоследствии можно открыть;
Поскольку технологическая платформа 1С:Предприятие 8 способна генерировать платформы самостоятельно, то можно выделить несколько типов форм:
- Основная форма объекта;
- Вспомогательная форма объекта;
- Произвольная форма (не привязана к конкретному объекту);
Основная форма объекта
Основная форма — это форма, назначенная объекту в качестве основной формы, которая и будет открываться по-умолчанию.
Чтобы программно открыть основную форму объекта достаточно выполнить следующий простенький код:
где Справочник.ФизическиеЛица.ФормаОбъекта — полный путь к основной форме объекта (ознакомьтесь со списком основных объектов платформы 1С:Предприятие 8), а ФормаОбъекта — зарезервированное имя основной формы объекта. Кроме этого имени, зарезервирован еще ряд имен:
- ФормаКонстант (ConstantsForm) — форма констант по умолчанию;
- ФормаОбъекта (ObjectForm) — форма объекта по умолчанию (элемента справочника, документа, плана счетов и т.п);
- ФормаГруппы (FolderForm) — форма группы по умолчанию (группы справочника, плана счетов и т.п.);
- ФормаСписка (ListForm) — форма списка по умолчанию (справочника, документа, плана счетов, регистра и т.п.);
- ФормаВыбора (ChoiceForm) — форма выбора по умолчанию (справочника, документа, плана счетов и т.п);
- ФормаВыбораГруппы (FolderChoiceForm) — форма выбора группы по умолчанию (справочника, документа, плана счетов и т.п);
- ФормаЗаписи (RecordForm) — форма записи регистра сведений по умолчанию;
- Форма (Form) — форма отчета или обработки по умолчанию;
- ФормаНастроек (SettingsForm) — форма настроек отчета по умолчанию;
- ФормаЗагрузки (LoadForm) — форма загрузки настроек отчета;
- ФормаСохранения (SaveForm) — форма сохранения настроек отчета;
- ФормаВарианта (VariantForm) — форма редактирования варианта отчета;
- и т.п.
Вспомогательная форма объекта
Вспомогательная форма — это любая другая форма, не назначенная в качестве основной.
Чтобы программно открыть вспомогательную форму объекта необходимо выполнить следующий код:
Как видите, достаточно было указать имя формы (как оно задано в конфигураторе), после ключевого имени Форма
Произвольная форма
Произвольная форма — это форма, в которой не выбран основной реквизит.
Открытие произвольной формы ничем не отличается от открытия вспомогательной формы. Код используется тот же самый
Открытие формы существующего объекта
Для открытия формы существующего объекта необходимо модифицировать наш код. Забегая вперед, скажу, что мы будем использовать параметры формы:
Служебный параметр Ключ обозначает ссылку на объект информационной базы, которую требуется открыть
Как назначить форму основной в 1с
Требуется для просмотра Flash Player 9 или выше.
И снова здравствуйте!
Прошлая глава закончилась нежданно-негаданно на самом интересном месте, а именно на понятии «формы справочника«. Попробуем разобраться с назначением форм, причем не обязательно именно справочника, суть и назначение формы касаются всех объектов конфигурации, имеющих формы (от автора: «Как-то запутанно у меня все получилось…»)
Итак, если совсем по-простому, то форма – это интерфейс для ввода данных пользователем в систему. Например, ранее мы создали реквизит «Ответственное лицо» для справочника «Склады», мы долго рассуждали над его свойствами, но ни слова не сказали о том, как же этот реквизит будет заполняться пользователем. Теперь можем с легкостью ответить: «Для того чтобы дать возможность ввести значение реквизита – его необходимо поместить на форму». Будем пробовать? Думаю что да, но перед этим давайте познакомимся с видами форм и влиянием их на вид справочника.
Вернемся к нашей закладке
В самом верху мы с Вами можем увидеть две группы свойств форм: Редактирование и Выбор. Эти свойства задаются разработчиком и влияют на поведение редактирования данных справочника. Мы с Вами вернемся к ним после того, как познакомимся с формами списка и выбора.
Формы списка и выбора
По своей сути – это таблица, состоящая из данных справочника. Колонками в этой таблице могут быть реквизиты справочника и системные поля (Код, Наименование, Картинка, Родитель, Пометка удаления и предопределенный). Каждая строка таблицы – это ссылка на конкретный элемент справочника. Формы списка и выбора могут дополняться деревом групп справочника, но применимо данное чудо только для иерархических справочников (надеюсь еще помните что это…). Давайте попробуем создать форму нашего справочника.
Сделать это проще простого- необходимо в окне форм добавить новый элемент

Или нажать на кнопку лупы напротив интересующей нас основной формы

Разницы в этих способах никакой, все зависит от дальнейших настроек добавления формы. Жмем на любую из предложенных кнопок и смотрим что еще нам предложит система.

А предложить системе есть что… Для начала необходимо определиться с типом формы, а именно:
- Форма списка – таблица элементов справочника. Каждая строка – это ссылка. Таблица элементов справочника содержит ссылки только на текущий справочник.
- Форма выбора – та же форма списка, но дополненная режим выбора. То есть при нажатии кнопки «Выбрать» или двойном щелчке форма вернет значение выбранной ссылки в элемент из которого данная форма открывалась.
- Форма выбора группы – используется в случае необходимости выбора ТОЛЬКО группы. В данном случае элементы, не являющиеся группами (или папками) не будут отображаться.
- Форма элемента – это форма, которая будет содержать на себе неограниченное количество реквизитов и табличных частей как принадлежащих справочнику, так и связанных данных (например, регистры сведений, подчиненные справочники и т.д.). Использование формы элемента у справочника объясняется удобством редактирования данных. Согласитесь, что если справочник содержит 50 реквизитов, то прокрутить 50 колонок будет не очень удобно. Поэтому в таких случаях выносят на форму списка только основные реквизиты, а все реквизиты размещают на форме элемента, которая может биться на закладки, панели и т.д.
- Форма группы – принцип такой же как и у формы элемента, но отрываться она будет только в том случае, если справочник иерархический и текущая ссылка – группа.
- Произвольная форма – форма, которая может содержать в себе абсолютно любые сведения, данные, реквизиты и т.д. Недостаток такой формы – это отсутствие привязки к данным справочника, в то время как все остальные формы связаны напрямую с конкретным элементом справочника или списком оных.
В нашем случае мы выберем «Форма списка справочника» и перейдем к флажкам ниже. Флажок «Назначить форму основной» поможет нам избавиться от самостоятельной ручной установки значения основной формы списка на предыдущем этапе. В свою очередь флажок «Основная форма списка и выбора» поможет установить еще и основную форму выбора (конечно же, если мы этого захотим). Ниже следующий флажок «Основная форма элемента и группы» тоже призвана экономить нам пару кликов мышкой, но в случае добавления формы элемента или группы. Хочу сразу отметить, что понятие «Основная форма» сродни «Форма по умолчанию». На практике программист может обращаться к любой форме и подменять основные формы на свое усмотрение. Поэтому переживать особо не стоит.
Далее зададим Имя нашей форме. Имя формы используется для непосредственного обращения или получения формы. Например, если мы захотим подменить какую-либо форму справочника, нам необходимо всего лишь знать имя желаемой формы и иметь немного навыков в конфигурировании.
Важно: имена форм не могут повторяться.
Меня, к примеру, всегда устраивало имя по умолчанию для форм нового справочника. Вы же как пожелаете.
Синоним отвечает за представление создаваемой формы в пользовательском режиме (хотя на практике нигде такого сочетания на форме списка не встречал). Комментарий используется для разработчиков (дабы помечать свои деяния).
Флажки «Командная панель сверху» и «Командная панель снизу» определяют будут ли добавлены панели управления формой списка или нет. Панель управления – это набор кнопок, отвечающих за: добавление новых элементов, удаление, изменение, сортировку, произвольные действия заложенные разработчиком и т.д. Каждый определяет стиль форм по своему, но хорошим тоном считается командная панель над таблицей.
Жмем далее и переходим к следующему этапу.

На этом этапе мы будем определяться с реквизитным составом на форме. В колонке реквизиты мы должны отобрать те, которые хотим видеть и отметить их флажками. Дерево – на любителя – воде как удобно, но занимает место на форме. А в наше время работа на ноутбуке или нетбуке с диагональю 8-10 дюймов не редкость. Поэтому решайте сами. Колонка «Элементы формы» позволит настроить элементы управления для Ваших реквизитов. Что мне нравится так это почти 100% адаптация настроек по умолчанию под требуемые разработчику.
Примечание: настройка «располагать элементы управления в 1 колонку» для форм списка и выбора не имеет смысла, поэтому я о ней умолчал. А вообще она позволяет выстроить добавляемые на форму реквизиты в колонки числом, указанным в данном параметре.
Я настроил форму как показано на рисунке выше, а Вам рекомендую поэкспериментировать с настройками после чего нажать кнопку «Готово».
![]()
Вот она наша форма, в которой мы можем увидеть все элементы справочника склады. Давайте сохраним наши изменения и запустим предприятие для созерцания нашей формы и добавления первого элемента. Сохранение – сочетание клавиш Ctrl + S , запуск предприятия Ctrl + F 5. При этом система спросит о необходимости обновления конфигурации.

Соглашаемся и ждем пока запустится предприятие.
Интерфейс пока никакущий, но мы будем работать в этом направлении. Жмем пункт меню «Операции», в нем находим «Справочники»

И в открывшемся списке выбираем интересующий нас (думаю, Вы не промахнетесь ). После выбора справочника сразу откроется форма списка данного типа – такое вот предназначение у формы списка. У нас пока нет элементов, поэтому мы это дело поправим. Нажмите на кнопку добавления нового элемента

И что мы видим? Открылась еще одна форма. Это и есть форма элемента. Откуда она взялась? Все очень просто – при отсутствии какой-либо формы система генерирует автоматически специальную форму, которая будет использоваться в качестве основной. Плюс такой формы – она не требует никаких усилий от разработчика. Минусы – реквизиты будут расположены так, как будто 1С не дружит с линейками вообще. Поля буду ориентироваться на размерность реквизита по типу. Еще один минус – это полное отсутствие возможности управления поведением формы. Например, у физически созданной формы разработчик может определять правила поведения при некоем событии (открытие, закрытие, обновление и т.д.), может задавать правило доступности и видимости элементов управления и т.д. А это поверьте, очень важные свойства.
Но коли мы уже добавили элемент, то внесем его первый-родимушку в базу. Заполним наименование и все. Обратите внимание, код уже был присвоен – сказалась автонумерация. Жмем «ОК» дабы подтвердить изменения и запись элемента.
Больше нам пока в предприятии нечего делать. Закроем его и вернемся к нашей разработке. Открываем нашу закладку с формами. Я предлагаю Вам самостоятельно создать все основные формы по образу и подобию. После чего вернуться к рассмотрению свойств редактирования и выбора.
Редактирование – отвечает за режим редактирования данных на формах списка и выбора. Могут быть три варианта:
- В списке – это означает, что в момент добавления нового элемента справочника или изменения существующего форма элемента не будет открыта. Изменение данных будет производиться непосредственно в строке таблицы.
- В диалоге– это означает обратный вариант: в момент добавления нового элемента справочника или изменения существующего будет открыта форма элемента, а изменение данных непосредственно в строке таблицы будет невозможным.
- Обоими способами – смешанный вариант, на форме появится кнопка переключения режима редактирования (можно будет редактировать и так, и так)
Выбор – данное свойство справочника позволяет настроить режим выбора данных в элементах управления имеющих тип данного справочника. Это значит, что все объекты конфигурации, ссылающиеся на справочник «Склады» при попытке выбора значения будут подчиняться именно той стратегии выбора, какую мы зададим в данном свойстве.
- Из формы – системой автоматически будет открыта основная форма выбора и уже из нее мы будем выбирать интересующий нас элемент.
- Быстрый выбор – форма выбора открываться не будет. При попытке нажать на кнопку выбора будет выведен список существующих элементов.
- Обоими способами – разработчик будет иметь возможность дать выбор как списком, так и через форму выбора. Регулируется кнопками для элемента управления.
Пример выбора через список
![]()
Пример выбора через форму
![]()
Последнее неописанное свойство на данной закладке – это «Ввод по строке». Данное свойство определяет подбор ссылки «для ленивых». Например, я по своей сути очень ленивый и лишние движения мышкой меня иногда напрягают. Для того чтобы выбрать ссылку на интересующий справочник я обычно не жму на кнопку выбора, а ввожу текст прямо в элемент управления. Именно здесь и срабатывает свойство «Ввод по строке».
Давайте снова рассмотрим пример. У нас есть справочник «Склады». В нем имеются реквизит «Ответственное лицо» и системные поля Код и Наименование.
Допустим, в режиме предприятия у нас есть элемент справочника со следующими значениями полей:
Код – 001, Наименование – Оптовый склад, Ответственное лицо – Иванов И.И.
Я хочу выбрать данный склад из другого справочника или документа. Для этого я могу воспользоваться формой выбора или ввести текст в элемент управления. Какой текст вводить? Любой текст из полей, которые указаны во вводе по строке в конфигураторе. То есть, если я введу текст «001» или «Оптовый склад» (допустим неполный ввод текста ) я получу ссылку на искомый склад, а если введу «Иванов», то ничего не получу кроме сообщения о некорректных данных. Для того чтобы я мог найти ссылку и по ответственному лицу – необходимо добавить его в настройку «Ввод по строке».
Вот так вот. Пока всё. Рекомендую посмотреть созданные формы и попробовать в них что-либо поменять самостоятельно. Например, цвет, шрифт и т.д.
Формы справочников 1С 8.3
Мы уже знаем, что такое справочник 1С, какие виды справочников бывают и что такое предопределенные элементы справочников 1С. В этой статье разберем формы справочников: какие виды форм можно создать, как их создавать и где можно посмотреть какие формы есть у конкретного справочника.
Посмотреть какие формы есть у справочника можно, используя конструктор справочника. Список форм можно увидеть на закладке «Формы».

Обратите внимание, в этом списке в верхней части имеются поля, в которых указываются основные формы. Основная форма будет открываться командным интерфейсом 1С по умолчанию. Например, когда мы кликаем на команду «Товары» в нашем интерфейсе, то будет открыта основная форма списка справочника «Товары», если она есть, а если её нет, то форма будет сгенерирована автоматически.
Основные формы можно посмотреть еще одним способом. Для этого необходимо открыть палитру свойства справочника.

В этой палитре свойств, на закладке «Представление» можно увидеть список основных форм справочника.

Вы заметили, что и в конструкторе справочника, и в палитре свойств «скрыты» формы для группы и для выбора группы. Поскольку наш справочник не иерархический, то нельзя создать эти виды основных форм. Если мы установим иерархию для нашего справочника, то эти поля станут доступны.


У справочников 1С существую следующие типы форм:
- Форма элемента – та форма, которая откроется пользователю, когда он начнет создавать новый элемент справочника, или редактировать текущий. Как правило, на ней должны быть поля, связанные с реквизитами справочника, которые может редактировать оператор;
- Форма списка – форма, в которой перечислены все элементы справочника;
- Форма выбора – форма, которая откроется, когда пользователь будет выбирать нужный элемент справочника в каком-то поле;
- Форма группы (для иерархических справочников) – та форма, которая откроется пользователю, когда он начнет создавать новую группу справочника или редактировать текущую.
- Форма выбора группы (для иерархических справочников) — форма, которая, откроется, когда пользователь будет выбирать нужную группу в каком-либо поле.
Создание формы справочника 1С
Для того, чтобы создать форму справочника 1С нужно на закладке «Формы» конструктора справочника выполнить команду «Добавить», после этого откроется конструктор формы справочника. В этом конструкторе нужно обратить внимание на тип формы (верхний список переключателей), этим выбором типа формы мы и определим дальнейшую функциональность формы. А также обратите внимание на флаг «Назначить форму основной», установка этого флага определяет, что наша форма в дальнейшем будет основной.

Мы создадим основную форму элемента. После нажатия кнопки «Далее», нам будет предложено выбрать реквизиты, которые пользователь сможет редактировать на форме.

После нажатия кнопки «Готово» у нас будет создана форма справочника, которая тут же будет открыта. Обратите внимание на конструктор справочника.

У нас форма добавилась в список внизу, и, также, заполнилось поле, в котором отображается основная форма элемента. А если, мы зайдем в палитру свойств справочника, то обнаружим, что свойство «Основная форма объекта» заполнено.
Именно наличие формы в этом свойстве и определяет, является она основной или нет!
Точно также можно создать и основную форму списка справочника.


После создание основной формы списка, также свойство справочника «Основная форма списка» станет заполненным.

Остальные статьи по теме конфигурирования:
Более подробно и основательно работа со справочниками, документами и другими объектами метаданных дается в моей книге:
Изучайте программирование в 1С в месте с моей книги «Программировать в 1С за 11 шагов»
- Книга написана понятным и простым языком — для новичка.
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
- Научитесь понимать архитектуру 1С;
- Станете писать код на языке 1С;
- Освоите основные приемы программирования;
- Закрепите полученные знания при помощи задачника;
О том как разрабатывать под управляемым приложением 1С, читайте в книге Книга «Основы разработки в 1С: Такси»

Отличное пособие по разработке в управляемом приложении 1С, как для начинающих разработчиков, так и для опытных программистов.