Справочники в языке 1С 8.3, 8.2 (в примерах)

Вступайте в мою группу помощник программиста.
В ней мы обсуждаем программирование в 1С.

<<< Документы Константы Перечисления РегистрыБухгалтерии
<<< РегистрыНакопления РегистрыСведений Справочники

Скачать эти примеры в виде тестовой базы (как загрузить, как исследовать)

Полный синтаксис (нажмите, чтобы раскрыть)
Оглавление (нажмите, чтобы раскрыть)

/// Как обойти все элементы справочника в 1с 8.3, 8.2
 
&НаСервере
Процедура КакОбойтиЭлементыСправочникаНаСервере()
 
    Запрос = Новый Запрос;
    Запрос.Текст = 
        "ВЫБРАТЬ
        |   Наименование
        |ИЗ
        |   Справочник.Вкусы КАК Вкусы
        |ГДЕ
        |   ЭтоГруппа = ЛОЖЬ
        |УПОРЯДОЧИТЬ ПО
        |   Наименование";
 
    РезультатЗапроса = Запрос.Выполнить();
 
    ВыборкаВкусов = РезультатЗапроса.Выбрать();
 
    Пока ВыборкаВкусов.Следующий() Цикл
        Сообщить(ВыборкаВкусов.Наименование);
    КонецЦикла;
 
КонецПроцедуры
Результат обхода элементов справочника
/// Как обойти все группы справочника в 1с 8.3, 8.2
&НаСервере
Процедура КакОбойтиГруппыСправочникаНаСервере()
 
    Запрос = Новый Запрос;
    Запрос.Текст = 
        "ВЫБРАТЬ
        |   Наименование
        |ИЗ
        |   Справочник.Вкусы КАК Вкусы
        |ГДЕ
        |   ЭтоГруппа = ИСТИНА
        |УПОРЯДОЧИТЬ ПО
        |   Наименование";
 
    РезультатЗапроса = Запрос.Выполнить();
 
    ВыборкаВкусов = РезультатЗапроса.Выбрать();
 
    Пока ВыборкаВкусов.Следующий() Цикл
        Сообщить(ВыборкаВкусов.Наименование);
    КонецЦикла;
 
КонецПроцедуры
Результат обхода групп справочника
/// Как обойти группы вместе с элементами
/// справочника (иерархически) в 1с 8.3, 8.2
 
&НаСервере
Процедура КакОбойтиГруппыИЭлементыСправочникаНаСервере()
 
    Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |   Наименование
        |ИЗ
        |   Справочник.Вкусы КАК Вкусы
        |УПОРЯДОЧИТЬ ПО
        |   Наименование Иерархия";
 
    РезультатЗапроса = Запрос.Выполнить();
 
    ВыборкаВкусов = РезультатЗапроса.Выбрать();
 
    Пока ВыборкаВкусов.Следующий() Цикл
        Отступ = "";
        Для Шаг = 0 По ВыборкаВкусов.Уровень() Цикл
            Отступ = Отступ + "    ";
        КонецЦикла;
        Сообщить(Отступ + ВыборкаВкусов.Наименование);
    КонецЦикла;
 
КонецПроцедуры
Результат обхода групп и элементов (иерархически) справочника