- •Атрибуты справочников
 - •Типы данных
 - •Иерархические справочники
 - •Подчиненные справочники
 - •Табличные части (только версия 8.0)
 - •Сравнение справочников с другими объектами
 - •Удаление элемента справочника
 - •Перебор элементов справочника
 - •Сортировка
 - •Статический фильтр (только версия 7.7)
 - •Форма элемента и форма группы
 - •Программное создание групп
 - •Транзакции
 - •Программное создание группы
 - •Информация о текущем элементе
 - •Периодические реквизиты
 - •Проведение документов
 - •Цикл по реквизитам справочника
 - •Создание объектов конфигурации
 - •Контрольная работа
 
Удаление элемента справочника
7.7  | 
		СпрСотр.Удалить(1); //непосредственное удаление СпрСотр.Удалить(0); //пометка на удаление СпрСотр.СнятьПометкуУдаления(); //можно проверить, помечен ли элемент на удаление //функция возвращает 1 - если помечен, 0 - если нет Пометка = СпрСотр.ПометкаУдаления(); //обратите внимание: это метод  | 
	
8.0  | 
		СпрСотр.Удалить(); //непосредственное удаление СпрСотр.УстановитьПометкуУдаления (Истина); //пометка на удаление СпрСотр.УстановитьПометкуУдаления (Ложь); //снять пометку на удаление //можно проверить, помечен ли элемент на удаление //есть свойство ПометкаУдаления, оно имеет тип Булево - Истина или Ложь Пометка = СпрСотр.ПометкаУдаления; //обратите внимание: это свойство Если Пометка = Истина Тогда .....//элемент помечен на удаление КонецЕсли;  | 
	
Перебор элементов справочника
7.7  | 
		СпрСотр.ВыбратьЭлементы(); Пока СпрСотр.ПолучитьЭлемент() = 1 Цикл ... //действия с очередным элементом ...Сообщить("Сотрудник " + СпрСотр.Наименование); КонецЦикла;  | 
	
8.0  | 
		выборка = Справочники.Сотрудники.Выбрать(); Пока выборка.Следующий() = 1 Цикл ... //действия с очередным элементом ...Сообщить("Сотрудник " + выборка.Наименование); КонецЦикла;  | 
	
Родитель Перебор элементов внутри группы. Группа в терминах 1С -- это "родитель".
7.7  | 
		СпрСотр.НайтиПоНаименованию("Работающие"); Работающие = СпрСотр.ТекущийЭлемент(); СпрСотр.ИспользоватьРодителя(Работающие); //дальше, например, цикл по сотрудникам (см. выше) ...  | 
	
8.0  | 
		СпрСотр = Справочники.Сотрудники; ГруппаРаботающие = СпрСотр.НайтиПоНаименованию("Работающие"); выборка = СпрСотр.Выбрать(ГруппаРаботающие); Пока выборка.Следующий() = 1 Цикл ... //действия с очередным элементом ...Сообщить("Сотрудник " + выборка.Наименование); КонецЦикла;  | 
	
Владелец Перебор элементов справочника принадлежащих элементу другого справочника. Один справочник подчинен другому справочнику, например спр. НалоговыеЛьготы подчинен спр. Сотрудники.
7.7  | 
		СпрНЛ = СоздатьОбъект("Справочник.НалоговыеЛьготы"); СпрНЛ.ИспользоватьВладельца(Сотрудник); //дальше, например, цикл по льготам этого сотрудника (см. выше) ...  | 
	
8.0  | 
		выборка = Справочники.НалоговыеЛьготы.Выбрать( ,Сотрудник); Пока выборка.Следующий() = 1 Цикл ... //действия с очередным элементом ...Сообщить("льгота " + выборка.Наименование); КонецЦикла;  | 
	
Периодические реквизиты Чтение и запись периодических реквизитов. Установка даты выборки периодических реквизитов для всего справочника.
7.7  | 
		//так мы узнаем, какая была у сотрудника //категория на определенную дату Катег = СпрСотр.Категория.Получить(НекаяДата); //так мы установим сотруднику категорию //на определенную дату СпрСотр.Категория.Установить(НекаяДата, НоваяКатегория); //можно установить дату выборки периодических //реквизитов для всего справочника СпрСотр.ИспользоватьДату(НекаяДата); //тогда ниже уже нельзя использовать Установить и Получить //доступ к периодическим реквизитам становится //такой же, как к обычным реквизитам Катег = СпрСотр.Категория; СпрСотр.Оклад = 6000; 
  | 
	
8.0  | 
		В версии 8.0 нет периодических реквизитов. Вместо них необхидом использовать регистры сведений, развернутые во времени.  | 
	
Экранные формы справочников
Форма списка справочника
Для удобства работы пользователей со справочником на этапе конфигурирования можно создать несколько видов экранных форм для показа справочника. В зависимости от контекста вызова справочника можно задать использование определенного диалога для работы с ним.
Лучше один раз увидеть, чем сто раз услышать, поэтому ниже для примера приведена форма списка справочника Сотрудники:
7.7  | 
		
			
 
  | 
	
8.0  | 
		
			
  | 
	
Модуль формы списка содержит процедуры и функции, которые действуют в контексте данной формы (в контексте объекта Справочник).
Предопределенные процедуры вызываются системой 1С при наступлении определенных событий. Предопределенные процедуры вызываются системой 1С при наступлении определенных событий, поэтому они являются обработчиками событий. В версии 8.0 имя процедуры может быть любое, необязательно совпадающее с именем события. Кроме того, в версии 8.0 список событий для всех объектов был значительно расширен.
Событие  | 
		Описание  | 
	||||
ПриОткрытии  | 
		Вызывается при открытии формы списка справочника. Можно задать начальные значения для переменных, проверить права пользователя на открытие данного справочника и т.д.  | 
	||||
ПриЗакрытии  | 
		Вызывается при закрытии формы списка справочника.  | 
	||||
ПриЗаписи  | 
		Вызывается при записи элемента справочника, если элементы вводятся прямо в форме списка, а не в форме элемента. Это используется для справочников с простой структурой, например справочник Должности. В этой процедуре можно проверить вводимые данные на наличие ошибок. Пример, справочник Должности 
 
  | 
	||||
ПриВыбореРодителя(НовРодитель)  | 
		Вызывается при выборе родителя (группы). В этой процедуре можно проверить права пользователя на просмотр элементов данной группы.  | 
	||||
ПриВыбореВладельца(НовВладелец)  | 
		Вызывается при выборе владельца справочника-хозяина. Имеет смысл, если данный справочник подчинен другому.  | 
	||||
ПриУстановкеОтбора(Реквизит,Значение)  | 
		Предопределенная процедура при интерактивной установке отбора любым способом (отбор, быстрый отбор, отбор по значению, история отбора) и при отключении отбора.  | 
	||||
ПриВыбореСтроки()  | 
		Режим обработки выбора строки (двойной щелчок мыши или клавиша Enter) включается в форме списка справочника, журнала документов, счетов, журнала операций, журнала проводок при помощи метода Форма.ОбработкаВыбораСтроки(1). Тогда при выборе строки будет вызываться эта предопределенная процедура.  | 
	
