Читайте дальше...
Создание нового элемента справочника
// Создание нового элемента справочника "Номенклатура"
НовыйЭлемент = Справочники.Номенклатура.СоздатьЭлемент();
НовыйЭлемент.Наименование = "Новый товар";
НовыйЭлемент.Артикул = "NT-001";
НовыйЭлемент.ВидНоменклатуры = Справочники.ВидыНоменклатуры.НайтиПоННаименованию("Товары");
НовыйЭлемент.Записать();
Поиск элемента справочника
// Поиск по наименованию
Элемент = Справочники.Номенклатура.НайтиПоНаименованию("Карандаш");
// Поиск по коду
Элемент = Справочники.Номенклатура.НайтиПоКоду("000001");
// Поиск по реквизиту
Элемент = Справочники.Номенклатура.НайтиПоРеквизиту("Артикул", "KP-123");
Получение данных из справочника
// Получение значения реквизита
Наименование = Элемент.Наименование;
Артикул = Элемент.Артикул;
// Получение родителя
Родитель = Элемент.Родитель;
// Получение дополнительных реквизитов
ЗначениеДопРеквизита = Элемент.ПолучитьДополнительныеРеквизиты().Получить("Вес");
Изменение элемента справочника
// Изменение существующего элемента
Элемент = Справочники.Номенклатура.НайтиПоКоду("000001");
Элемент.Наименование = "Новое наименование";
Элемент.Артикул = "NEW-001";
Элемент.Записать();
Удаление элемента справочника
// Удаление элемента
Элемент = Справочники.Номенклатура.НайтиПоКоду("000001");
Элемент.Удалить();
Получение списка элементов справочника
// Простой перебор всех элементов
Выборка = Справочники.Номенклатура.Выбрать();
Пока Выборка.Следующий() Цикл
Сообщить(Выборка.Наименование);
КонецЦикла;
// С отбором и сортировкой
Выборка = Справочники.Номенклатура.Выбрать(, "Наименование");
Выборка.УстановитьОтбор("ВидНоменклатуры", Справочники.ВидыНоменклатуры.НайтиПоННаименованию("Товары"));
Пока Выборка.Следующий() Цикл
Сообщить(Выборка.Наименование + " - " + Выборка.Артикул);
КонецЦикла;
Работа с иерархией справочника
// Создание группы
НоваяГруппа = Справочники.Номенклатура.СоздатьГруппу();
НоваяГруппа.Наименование = "Офисные принадлежности";
НоваяГруппа.Записать();
// Добавление элемента в группу
НовыйЭлемент = Справочники.Номенклатура.СоздатьЭлемент();
НовыйЭлемент.Наименование = "Ручка шариковая";
НовыйЭлемент.Родитель = НоваяГруппа;
НовыйЭлемент.Записать();
// Получение всех элементов группы
Выборка = Справочники.Номенклатура.Выбрать(НоваяГруппа);
Пока Выборка.Следующий() Цикл
Сообщить(Выборка.Наименование);
КонецЦикла;
Использование запроса к справочнику
Запрос = Новый Запрос;
Запрос.Текст = "
|ВЫБРАТЬ
| Номенклатура.Ссылка КАК Ссылка,
| Номенклатура.Наименование КАК Наименование,
| Номенклатура.Артикул КАК Артикул
|ИЗ
| Справочник.Номенклатура КАК Номенклатура
|ГДЕ
| Номенклатура.ВидНоменклатуры = &ВидНоменклатуры
|УПОРЯДОЧИТЬ ПО
| Номенклатура.Наименование";
Запрос.УстановитьПараметр("ВидНоменклатуры", Справочники.ВидыНоменклатуры.НайтиПоНаименованию("Товары"));
Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();
Пока Выборка.Следующий() Цикл
Сообщить(Выборка.Наименование + " (" + Выборка.Артикул + ")");
КонецЦикла;
Работа с табличными частями справочника
// Если в справочнике есть табличная часть "ДополнительныеХарактеристики"
Элемент = Справочники.Номенклатура.НайтиПоКоду("000001");
Для Каждого СтрокаХарактеристики Из Элемент.ДополнительныеХарактеристики Цикл
Сообщить(СтрокаХарактеристики.Характеристика + ": " + СтрокаХарактеристики.Значение);
КонецЦикла;
// Добавление новой строки в табличную часть
НоваяСтрока = Элемент.ДополнительныеХарактеристики.Добавить();
НоваяСтрока.Характеристика = "Цвет";
НоваяСтрока.Значение = "Красный";
Элемент.Записать();
Обход всех элементов справочника рекурсивно (с учетом иерархии)
Процедура ОбойтиГруппу(Группа, Уровень = 0)
Выборка = Справочники.Номенклатура.Выбрать(Группа);
Пока Выборка.Следующий() Цикл
Отступ = Лев(" ", Уровень * 4);
Если Выборка.ЭтоГруппа Тогда
Сообщить(Отступ + "[Группа] " + Выборка.Наименование);
ОбойтиГруппу(Выборка.Ссылка, Уровень + 1);
Иначе
Сообщить(Отступ + Выборка.Наименование);
КонецЕсли;
КонецЦикла;
КонецПроцедуры
// Начало обхода с корня
ОбойтиГруппу(Неопределено);








