Объекты встроенного языка для работы со справочниками
*Заливкой выделен объект манипулирования данными
Узнай больше!
Про основные виды объектов встроенного языка можно прочитать в главе "Виды объектов встроенного языка, предназначенные для работы с данными прикладных объектов конфигурации" на странице 551. [570]
// Справочники
//Пример: Вывести все типы ссылок на элементы справочников, существующие
//в конфигурации
Массив = Справочники.ТипВсеСсылки().Типы();
Для Каждого ОчереднойТип из Массив Цикл
Сообщить(ОчереднойТип);
КонецЦикла;
// .<имя справочника>
// [<имя справочника>]
// Для Каждого ... Из ... Цикл ... КонецЦикла;
//Пример: Создать новую группу справочника Номенклатура
НоваяГруппа = Справочники.Номенклатура.СоздатьГруппу();
НоваяГруппа.Наименование = "Моя новая группа";
НоваяГруппа.Записать();
//Пример: Открыть форму выбора справочника Номенклатура
Форма = Справочники["Номенклатура"].ПолучитьФормуВыбора();
Форма.Открыть(); [571]
// НайтиПоКоду()
// НайтиПоНаименованию()
// НайтиПоРеквизиту()
// ПустаяСсылка()
// ПолучитьСсылку()
// .<имя предопределенного элемента справочника>
//Пример: Проверить, помечен ли на удаление элемент справочника Номенклатура
//c кодом 13
Если Справочники.Номенклатура.НайтиПоКоду(13).ПометкаУдаления Тогда
Сообщить("Элемент с кодом 13 помечен на удаление");
КонецЕсли;
//Пример: Является ли элемент справочника Номенклатура с наименованием
//"Услуги" группой
Если Справочники.Номенклатура.НайтиПоНаименованию("Услуги", Истина).ЭтоГруппа Тогда
Сообщить("Элемент Услуги является группой");
КонецЕсли;
//Пример: Проверить, что для всех элементов задан вид номенклатуры
ПустаяСсылкаПеречисления = Перечисления.ВидыНоменклатуры.ПустаяСсылка();
Если Не Справочники.Номенклатура.НайтиПоРеквизиту("ВидНоменклатуры", ПустаяСсылкаПеречисления).Пустая() Тогда
Сообщить(" Есть элементы для которых не задан вид номенклатуры");
КонецЕсли;
//Пример: Передать пустую ссылку в параметр метода
Выборка = Справочники.Номенклатура.Выбрать(Справочники.Номенклатура.ПустаяСсылка()); [572]
// ВыбратьИерархически()
Выборка = Справочники.Номенклатура.Выбрать(Справочники.Номенклатура.ПустаяСсылка());
Пока Выборка.Следующий() Цикл
Если Не Выборка.ЭтоГруппа Тогда
Сообщить(Выборка);
КонецЕсли;
КонецЦикла;
//Пример: Удалить все элементы иерархического справочника
Выборка = Справочники.Номенклатура.ВыбратьИерархически();
Пока Выборка.Следующий() Цикл
Выборка.ПолучитьОбъект().Удалить();
КонецЦикла;
// СоздатьЭлемент()
НовыйЭлемент = Справочники.Сотрудники.СоздатьЭлемент();
НовыйЭлемент.Наименование = "Смирнов Андрей Анатольевич";
//Заполнить табличную часть
НоваяСтрокаТабличнойЧасти = НовыйЭлемент.ТрудоваяДеятельность.Добавить();
НоваяСтрокаТабличнойЧасти.Организация = "OOO НТЦ";
НоваяСтрокаТабличнойЧасти.НачалоРаботы = Дата(2003,05,01);
НоваяСтрокаТабличнойЧасти.ОкончаниеРаботы = Дата(2003,12,31);
НоваяСтрокаТабличнойЧасти.Должность = "Программист";
НовыйЭлемент.Записать(); [573]
// Родитель
// Ссылка
//установлено соответствующее свойство "ИзмененияЗапрещены"
//в модуле формы элемента справочника
Процедура ПередЗаписью(Отказ)
Если Владелец.ИзмененияЗапрещены Тогда
Отказ = Истина;
КонецЕсли;
КонецПроцедуры
// Скопировать()
Элемент = Справочники.Номенклатура.НайтиПоКоду(10).ПолучитьОбъект();
Элемент.Наименование = "Мое новое наименование";
Элемент.Записать();
//Пример: Заполнить справочник тестовыми данными
Элемент = Справочники.Номенклатура.СоздатьЭлемент();
Элемент.Наименование = "Тестовый элемент";
Элемент.Записать();
Для сч_к = 1 по 1000 Цикл
НовыйЭлемент = Элемент.Скопировать();
НовыйЭлемент.Записать();
КонецЦикла; [574]
//элементами из указанной группы справочника Номенклатура
Выборка = Справочники.Номенклатура.ВыбратьИерархически(ПолеВвода1);
Пока Выборка.Следующий() Цикл
СсылкаНаНоменклатуру = Выборка.Ссылка;
Если СсылкаНаНоменклатуру.ЭтоГруппа Тогда
Продолжить;
КонецЕсли;
НоваяСтрока = Материалы.Добавить();
НоваяСтрока.Материал = СсылкаНаНоменклатуру;
КонецЦикла;
Выборка = Справочники.Клиенты.Выбрать();
Пока Выборка.Следующий() Цикл
Выборка.ПолучитьОбъект().УстановитьПометкуУдаления(Истина);
КонецЦикла; [575]