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

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

Если в этом случае мы попытаемся записать элемент, в котором будет табличная часть без строк, то выйдет ошибка, и записать элемент не получится.

В тоже время, мы спокойно сможем записать элемент, у которого имеется строка табличной части с пустыми полями.

Если мы хотим проверять реквизиты табличной части, то у них нужно заполнить аналогичное свойство.
Проверка заполнения программно в 1С
Иногда возникает необходимость проверить программно заполнение объекта в 1С. Для этих целей предназначен метод ПроверитьЗаполнение(), который имеется у большинства объектов 1С (справочники, документы и т.д.).
Например, во время программного создания элемента справочника, мы можем проверить заполнение реквизитов этого справочника, перед его записью.
В этом случае, элемент справочника не будет записан, если у него имеются реквизиты, у которых в свойстве ПроверкаЗаполнения установлено значение «Выдавать ошибку».
Иногда, нужно проверить заполнение реквизита, у которого в свойстве «Проверка заполнения» установлено значение «Не проверять». Например, у реквизита Артикул справочника Номенклатура.

Если нам нужно осуществлять проверку этого реквизита (например, по какой-то определенной логике), то необходимо в модуле объекта создать метод ОбработкаПроверкиЗаполнения.


У этого метода, который является процедурой, имеется параметр ПроверяемыеРеквизиты. Этот параметр массив, в котором содержится список имен реквизитов, которые нужно проверять. Если в этот список мы добавим название реквизита, то при сохранении элемента будет осуществляться проверка на то, заполнен этот реквизит или нет.

Также, мы можем удалить реквизит из проверяемых, если по какой-то причине нет необходимости в проверке заполнения этого реквизита.
Например, удалим из проверяемых реквизит ПолноеНаименование.
Тогда мы сможем спокойно записать элемент с незаполненным реквизитом ПолноеНаименование.

Если мы хотим проверить программно, что заполнен реквизит табличной части объекта, то необходимо добавить этот реквизит в массив ПроверяемыеРеквизиты по такому формату: [НазваниеТабличнойЧасти].[НазваниеРеквизита] .
В этом случае, будет осуществляться проверка заполнения реквизита табличной части.

Проверка заполнения формы 1С
Иногда нужно проверить заполнение реквизитов формы. Разберем небольшую задачу: будем на форме умножать два числа друг на друга, если они заполнены. Создадим на форме реквизиты с типом Число — Множитель1, Множитель2 и Сумма. У реквизитов Множитель1 и Множитель2 установим в свойство «Проверка заполнения» значение «Выдавать ошибку».

При выполнении команды Посчитать, произведем расчет только в том случае, если реквизиты заполнены. Проверку заполнения будем выполнять при помощи метода ПроверитьЗаполнение.
Теперь мы не сможем посчитать сумму, если один из множителей не заполнен.

Более подробно и основательно начальные вопросы программирования в 1С есть вы можете изучить в
Книга «Программировать в 1С за 11 шагов»
Изучайте программирование в 1С в месте с моей книгой «Программировать в 1С за 11 шагов»

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

- Очень доступный и понятный язык изложения
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
- Поймете идеологию управляемого приложения 1С
- Узнаете, как разрабатывать управляемое приложение;
- Научитесь разрабатывать управляемые формы 1С;
- Сможете работать с основными и нужными элементами управляемых форм
- Программирование под управляемым приложением станет понятным
Промо-код на скидку в 15% — 48PVXHeYu
Эти книги, плюс книга по программированию оперативного учета имеются в едином комплекте: комплект книг по разработке в 1С.
Только для читателей моего блога,
промо-код на скидку в 300 рублей на весь комплект: blog
Если Вам понравился этот урок, был полезен или помог решить какую-нибудь проблему, то Вы можете поддержать мой проект, перечислив любую сумму.
можно оплатить вручную:
Яндекс.Деньги — 410012882996301
Web Money — R955262494655
Проверка заполнения реквизитов
В информационной системе данные могут вноситься множеством различных способов, и часто они могут быть некорректны. Поэтому при разработке решения бывает необходимо прилагать много усилий на реализацию проверки правильности вводимых данных и уведомления пользователя о некорректности введенной информации.
Механизм проверки заполнения позволяет существенно упростить процесс разработки конфигураций.
Проверка заполнения
Платформа поддерживает автоматическую проверку указанных реквизитов прикладных объектов и форм, а также позволяет выполнить процесс проверки в модуле. Для управления проверкой заполнения реквизита служит свойство Проверка заполнения . Если свойство установлено в значение Не проверять – платформа не проверяет заполнение реквизита. Значение Выдавать ошибку указывает на необходимость выполнять проверку.
Платформа выполняет автоматическую проверку заполнения:
● констант;
● справочников, документов, отчетов, обработок, планов видов характеристик, планов счетов, планов видов расчета, бизнес-процессов, задач:
● реквизитов и стандартных реквизитов,
● табличных частей,
● реквизитов и стандартных реквизитов табличных частей;
● наборов записей регистров бухгалтерии, регистра сведений, регистра накопления, регистра расчета, перерасчетов, последовательностей:
● измерений,
● ресурсов,
● реквизитов и стандартных реквизитов;
● реквизитов форм;
● реквизитов форм отчетов;
● реквизитов форм обработок.
ПРИМЕЧАНИЕ. Проверка заполнения реквизитов выполняется аналогично функции ЗначениеЗаполнено( ). Проверка заполнения табличных частей подразумевает, что табличная часть считается заполненной, когда в ней присутствует хотя бы одна строка.
Проверка заполнения может быть вызвана двумя способами:
● вызовом метода ПроверитьЗаполнения() (у объекта или формы);
● автоматически.
ВНИМАНИЕ! Если свойство конфигурации Режим совместимости установлено в значение Версия 8.1, то автоматическая проверка заполнения не работает.
Установки по умолчанию
Свойство реквизита Проверка заполнения по умолчанию устанавливается в значение Выдавать ошибку для следующих стандартных реквизитов:
● ПланОбмена – Наименование ;
● Справочник – Владелец, Наименование ;
● Документ – Дата;
● ПланВидовХарактеристик – Наименование;
● ПланСчетов – Код, Наименование ;
● ПланСчетов.ВидыСубконто – ВидСубконто;
● ПланВидовРасчета – Наименование;
● ПланВидовРасчета.ВедущиеВидыРасчета – ВидРасчета;
● ПланВидовРасчета.БазовыеВидыРасчета – ВидРасчета;
● ПланВидовРасчета.ВытесняющиеВидыРасчета – ВидРасчета ;
● РегистрСведений – Период;
● РегистрНакопления – Период;
● РегистрБухгалтерии – Период;
● РегистрРасчета – ПериодРегистрации, ВидРасчета, ПериодДействияНачало, ПериодДействияКонец ;
● БизнесПроцесс – Дата;
● Задача – Наименование.
Порядок работы
Автоматическая проверка заполнения вызывается расширением формы перед интерактивной записью всех объектов, кроме документов, бизнес-
процессов, отчетов и обработок. Для этих объектов определено следующее поведение:
● для документов:
● проверка заполнения вызывается расширением формы перед проведением, если свойство Проведение установлено в значение Разрешить;
● проверка заполнения вызывается расширением формы перед записью, если свойство Проведение установлено в значение Запретить ;
● для бизнес-процессов проверка заполнения вызывается расширением формы перед стартом;
● для отчетов проверка заполнения вызывается расширением формы при нажатии кнопки Сформировать ;
● для обработок проверка заполнения вызывается расширением формы в случаях, если нажаты кнопки, связанные со стандартными командами формы OK, Да, Повторить, Пропустить.
Если реквизит является основным реквизитом формы следующих типов: СправочникОбъект, ДокументОбъект, ОтчетОбъект ,
ПланВидовХарактеристикОбъект, ПланСчетовОбъект, ПланВидовРасчетовОбъект, БизнесПроцессОбъект, ЗадачаОбъект , то для значения такого реквизита
также будет вызвана проверка заполнения.
Для вызова проверки заполнения системой необходимо, чтобы у формы (с которой происходит работа) было установлено свойство Проверять заполнение автоматически. В этом случае вначале будет вызван обработчик ОбработкаПроверкиЗаполненияНаСервере () формы, а затем обработчик ОбработкаПроверкиЗаполнения( ) модуля объекта.
ВНИМАНИЕ! Если у формы свойство Проверять заполнение автоматически установлено в значение Истина при выполнении стандартных команд Записать ( Провести для документов и т. д.), а также стандартных команд формы OK, Да, Повторить, Пропустить , будет вызван метод ПроверитьЗаполнение (). В противном случае проверка заполнения не вызывается ни для формы, ни для объекта.
Процесс проверки заполнения происходит следующим образом:
● Формируется список имен реквизитов формы, для которых возможна проверка заполнения и для которых свойство ПроверкаЗаполнения установлено в значение ВыдаватьОшибку . В этот список не будут включены имена реквизитов, тип которых не поддерживает проверку заполнения (например, СправочникОбъект ), но будет включено имя основного реквизита формы.
В автоматически формируемый список реквизитов не будут включены реквизиты формы, отключенные с помощью функциональных опций.
● Вызывается обработчик события формы ОбработкаПроверкиЗаполненияНаСервере , в котором разработчик может описать свой алгоритм проверки заполнения или изменить состав проверяемых реквизитов. В обработчик будет передан сформированный список имен реквизитов. Если в обработчике необходимо добавить к списку какие-либо реквизиты, это можно сделать только для реквизитов вышеперечисленных типов (для
которых возможна проверка заполнения в форме) и основного реквизита. Добавление в список имен реквизитов объектного типа (например, СправочникОбъект ) вызовет исключение при дальнейшей автоматической проверке. Добавление в список имени несуществующего реквизита вызовет исключение при дальнейшей автоматической проверке.
● После завершения работы обработчика события механизм проверки заполнения получает обратно список имен, проверяемых реквизитом (который, возможно, был изменен в обработчике). Система анализирует список реквизитов и проверяет заполненность каждого реквизита. Если реквизиттявляется основным реквизитом объектного типа (например, Объект типа СправочникОбъект ), будет вызвана проверка заполнения самого объекта.
Если реквизит является реквизитом объектного типа, но не основным, будет вызвано исключение.
Разработчик имеет возможность влиять на процесс проверки путем определения в модуле объекта, набора записей и в модуле формы обработчика события ОбработкаПроверкиЗаполнения.
Определив обработчик события, разработчик получает полный контроль над проверкой заполнения. В параметре ПроверяемыеРеквизиты обработчик получает массив реквизитов, для которых в режиме Конфигуратор указано, что они должны проверяться. Разработчик может произвольно модифицировать этот массив:
● удалять те реквизиты, проверку заполнения которых он реализует сам или считает, что их не нужно проверять в данный момент;
● добавлять необходимые реквизиты, для которых должна выполниться проверка заполнения.
В случае если разработчика не устраивает стандартная процедура проверки, он может написать алгоритм проверки сам и, используя объект СообщениеПользователю , сообщить об имеющихся проблемах пользователю.
Если в процессе проверки разработчик вывел пользователю сообщения об ошибках, необходимо установить параметр Отказ в значение Истина, чтобы уведомить платформу о том, что текущее действие не может быть завершено.
Параметр события ПроверяемыеРеквизиты содержит имена атрибутов в следующем формате:
● для реквизитов и констант – ИмяРеквизита , например, Поставщик ;
● для табличных частей – ИмяТабличнойЧасти , например, Товары ;
● для реквизитов табличных частей – ИмяТабличнойЧасти.ИмяРеквизита , например, Товары.Номенклатура ;
● для реквизитов форм – ИмяРеквизита , например, ДокументОбъект .
Для реквизитов, входящих в состав функциональных опций без параметров, значение опции учитывается при проверке заполнения. Если функциональная опция включена, то реквизит будет включен в список проверяемых реквизитов; если опция выключена, реквизит не будет включен в список проверяемых реквизитов. Это значит, что отключенное поле не будет передано через параметры ПроверяемыеРеквизиты в
ОбработкаПроверкиЗаполнения.
Реквизиты, входящие в состав функциональной опции с параметрами , всегда включаются в список проверяемых реквизитов (параметр ПроверяемыеРеквизиты ). Удаление реквизита из списка проверяемых реквизитов в таких случаях необходимо выполнять в обработчике ОбработкаПроверкиЗаполнения . Для этого следует получить значение функциональной опции, указав в качестве параметров необходимые данные
объекта.
Правила отображения отметки незаполненного
На отображение отметки незаполненного влияют следующие свойства элементов конфигурации:
● свойство Проверка заполнения реквизита или стандартного реквизита объекта метаданных;
● свойство Проверка заполнения реквизита формы;
● свойство Автоотметка незаполненного элемента формы;
● свойство ОтметкаНезаполненного элемента формы (доступно только для программного изменения).
Свойство элемента формы Автоотметка незаполненного может быть установлено в значение:
● Авто – отметка будет отображаться, если у реквизита формы или реквизита (стандартного реквизита) объекта метаданных свойство Проверка заполнения установлено в значение Выдавать ошибку и реквизит, связанный с элементом формы, содержит пустое значение.
● Да – отметка будет отображаться для незаполненного элемента вне зависимости от того, в каком состоянии находится свойство Проверка
заполнения.
● Нет – отметка не будет отображаться для незаполненного элемента вне зависимости от того, в каком состоянии находится свойство Проверка заполнения.
При начале интерактивного изменения поля ввода отметка незаполненного перестает отображаться, при этом значение свойства ОтметкаНезаполненного не изменяется. Отображение отметки восстанавливается (если это необходимо) после того, как в поле ввода завершено интерактивное редактирование или установлено значение. При этом свойство ОтметкаНезаполненного может быть изменено системой в том случае, если
свойство АвтоОтметкаНезаполненного установлено в значение Истина :
● если значение в поле не заполнено, то свойство ОтметкаНезаполненного будет установлено в значение Истина ;
● если в поле значение заполнено, то свойство ОтметкаНезаполненного будет установлено в значение Ложь .
ПРИМЕЧАНИЕ. Если свойство ОтметкаНезаполненного установлено у таблицы, то для таблицы, в которой нет строк, будет подсвечена первая строка, а для заполненной таблицы – все строки.
Кроме того, отметка незаполненного также будет отображена, если в окне сообщений есть сообщение , связанное с конкретным полем формы, вне зависимости от установленных свойств элемента формы и связанных с ним реквизитов. После очистки окна сообщений отметка незаполненного снимается у тех элементов формы, значение свойства ОтметкаНезаполненного которых равно значению Ложь .
Объект 1С «Справочники»
Объект 1С «Справочники» — это прикладные объекты конфигурации 1С, предназначенные для хранения в информационной базе данных, имеющих одинаковую структуру и списочный характер (например, список сотрудников, перечень товаров, список контрагентов).
Т.о. Справочник предназначен для хранения справочной информации об однотипных объектах и представляет собой список, заполняемый пользователем на этапе исполнения прикладного решения.
Справочник хранится в таблице. Запись (строка) таблицы определяет объект базы данных – элемент справочника. Но объект базы данных включает не только запись в основной таблице справочника, но и все записи всех табличных частей справочника, относящиеся к данному объекту. Таким образом, объект базы данных включает в себя:
- запись основной таблицы;
- записи табличных частей.

Объект справочника может быть создан с помощью менеджера справочника. В этом случае создается новый объект, которого еще нет в базе данных. Если его записать, то появится новый объект в базе данных.
- позволяет избежать многократного ввода одной и той же информации (например, наименования контрагента);
- обеспечивает сквозную идентификацию (например, идентификацию контрагента при отгрузке и оплате).
Количество справочников задается на этапе конфигурирования и может быть произвольным.

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

Каждый реквизит 1С имеет свойства, отображаемые в палитре свойств реквизита.

- Имя – наименование реквизита в языке 1С (в имени реквизитов не должно быть пробелов и знаков препинания).
- Синоним – отображение наименования реквизита для пользователя в режиме 1С:Предприятие.
- Тип – тип данных, хранящихся в реквизите:
- Число — используется для численных значений;
- Строка — строковые значения, может быть ограничена по длине;
- Дата — дата и/или время;
- Булево — использование флагов (значения Истина/Ложь или Да/Нет);
- ХранилищеЗначения (хранилище значений 1С) – это объект, который позволяет хранить в базе данных прочие значения, например картинки и файлы, структуры и таблицы значений. ( подробнее . );
- УникальныйИдентификатор — статистически уникальный 128-битный идентификатор, позволяющий создавать расширяемые сервисы и приложения без опасения конфликтов, вызванных совпадением идентификаторов (подробнее здесь и здесь );
- СправочникСсылка, ДокументСсылка и т.д. — хранит ссылку, идентифицирующую объект в базе данных; используется везде, где нужно хранить ссылку на элемент (подробнее).

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

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

Иерархия элементов справочника 1С
Справочники поддерживают иерархическое расположение элементов (групп элементов). Например, в справочнике Номенклатура могут быть созданы группы «Товары» и «Услуги», в которых располагаются элементы номенклатуры, относящиеся к этим группам.
Виды иерархии элементов справочников 1С:
- Иерархия групп и элементов — группы справочника могут включать в себя как элементы, так и другие группы, создавая тем самым многоуровневую иерархическую структуру.

Подчинение справочников (Список владельцев справочника)
Справочники могут находиться в состоянии подчинения по отношению друг к другу, т.е. элементы одного справочника могут быть подчинены элементам или группам другого справочника:
- если справочник иерархический (содержит подчиненные элементы), то у него будет доступен стандартный реквизит Родитель ;
- если справочник подчинен другому объекту конфигурации, у него будет доступен реквизит Владелец .
Например, справочник «Кассы» может быть подчинен справочнику «Организации».

Тогда при оформлении кассовых документов для некоторой организации можно будет выбрать кассу не среди всех имеющихся в программе касс, а среди касс, существующих только в этой организации.
Значения свойства ИспользованиеПодчинения (SubordinationUse):
- Группам (ToFolders)
- ГруппамИЭлементам (ToFoldersAndItems)
- Элементам (ToItems)
Свойство ИспользованиеПодчинения о пределяет использование ограничение подчинения для групп и элементов подчиненных справочников. Если у справочника несколько владельцев, то ограничение применяется ко всем владельцам.
Формы справочника 1С
Для того чтобы пользователь мог просматривать и изменять данные, содержащиеся в справочнике, система поддерживает несколько форм представления справочника, которые генерируются автоматически.
Наряду с этим разработчик имеет возможность создать собственные формы, которые система будет использовать вместо форм по умолчанию
Форма списка справочника 1С
Форма списка 1С используется для просмотра данных, содержащихся в справочнике, и позволяет:
- выполнять навигацию по справочнику;
- добавлять, помечать на удаление и удалять элементы и группы справочника;
- перемещать элементы и группы.
Форма списка может представлять данные в иерархическом и не иерархическом виде, а также позволяет выполнять сортировку и отбор отображаемой информации по нескольким критериям.
Конструктор формы списка справочника на закладке «Далее» всегда позволяет разместить на диалоге список элементов и, кроме того, для иерархических справочников с иерархией групп и элементов, — дерево групп.


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


Форма группы справочника 1С
Система поддерживает отдельный вид формы для групп справочника. Это связано с тем, что, как правило, состав информации, относящейся к группе справочника, намного меньше, чем состав данных, имеющих отношение к отдельным элементам справочника.
Форма выбора, форма выбора группы 1С
При различных действиях пользователя в прикладном решении возникает необходимость выбора конкретных элементов справочников. Это может потребоваться, например, при создании приходной накладной, в которой должны быть перечислены определенные товары. В этом случае система использует форму выбора справочника, которая, обычно, содержит минимальный набор информации, необходимой для выбора того, или иного элемента.
Кроме всех перечисленных форм, система поддерживает еще форму выбора группы справочника, предназначенную для выбора только среди групп, содержащихся в справочнике.


Макеты 1С
Справочнику могут быть сопоставлены несколько макетов, предназначенных
- для формирования печатных форм справочника или
- для отображения дополнительной информации, имеющей отношение к справочнику.

Использование программного кода для работы со справочниками 1С
Указанные ниже части программного кода должны размещаться в процедурах, функциях или модулях, выполняемых на стороне сервера (читай Программные модули платформы 1С: предназначение и свойства).
Для работы со справочником из какого-либо модуля требуется сначала создать ссылку на этот справочник.
Полезные свойства реквизитов объектов в 1С

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

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

Параметры выбора
Это свойство позволяет настроить фильтр списка, который открывается при выборе значения реквизита.