Перечисления

Перечисление Мероприятия::СтатусыЗадач порождает тип, который используется в справочнике Мероприятия::Задачи и структуре Мероприятия::ДанныеМероприятия (подробнее).

Совет: Чтобы открыть этот файл нажмите Открыть в текстовом редакторе в контекстном меню справочника Мероприятия::Задачи.

Совет: Чтобы открыть этот файл нажмите Открыть в текстовом редакторе в контекстном меню структуры Мероприятия::ДанныеМероприятия.

Использование во встроенном языке

В модуле формы Пресейл.СделкиВоронкаПродаж в методе ПолучитьДанныеСделок() демонстрируется использование значений перечисления в литерале запроса.

@Сервер @ДоступноСКлиента
статический метод ПолучитьДанныеСделок(
    Сделка: Сделки.Ссылка? = Неопределено, 
    КоличествоЗаписей: Число
): ЧитаемыйМассив<ДанныеСделки>

    знч МассивСделок = <ДанныеСделки>[]
    
    знч Запрос = Запрос{
        ВЫБРАТЬ ПЕРВЫЕ %КоличествоЗаписей
            Сделки.Ссылка КАК Ссылка,
            Сделки.Код КАК Код,
            Сделки.ДатаСоздания КАК ДатаСоздания,
            Сделки.ДатаЗакрытия КАК ДатаЗакрытия,
            Сделки.Клиент КАК Клиент,
            Сделки.Содержание КАК Содержание,
            Сделки.Стадия КАК Стадия,
            Сделки.СуммаВВалютеСделки КАК СуммаВВалютеСделки,
            Сделки.СуммаВВалютеУчета КАК СуммаВВалютеУчета,
            Сделки.ВалютаСделки.Код КАК КодВалютыСделки,
            КОЛИЧЕСТВО(Задачи.Ссылка) КАК КоличествоЗадач
        ИЗ 
            Сделки КАК Сделки
            ЛЕВОЕ СОЕДИНЕНИЕ Задачи КАК Задачи
            ПО Сделки.Ссылка == Задачи.Владелец
                И Задачи.Статус В (СтатусыЗадач.КИсполнению, СтатусыЗадач.ВПроцессе)
        ГДЕ
            Сделки.Стадия.ВыводитьВВоронкеПродаж
                И %Сделка == Неопределено ИЛИ Сделки.Ссылка == %Сделка
        СГРУППИРОВАТЬ ПО
            Сделки.Ссылка,
            Сделки.Код, 
            Сделки.ДатаСоздания,
            Сделки.ДатаЗакрытия, 
            Сделки.Клиент, 
            Сделки.Содержание, 
            Сделки.Стадия, 
            Сделки.СуммаВВалютеСделки,
            Сделки.СуммаВВалютеУчета,
            Сделки.ВалютаСделки.Код
        УПОРЯДОЧИТЬ ПО
            ДатаСоздания УБЫВ}
    
    для СтрокаРезультата из Запрос.Выполнить()
        знч ДанныеСделки = новый ДанныеСделки()
        
        ДанныеСделки.Ссылка = СтрокаРезультата.Ссылка
        ДанныеСделки.Код = СтрокаРезультата.Код
        ДанныеСделки.ДатаСоздания = СтрокаРезультата.ДатаСоздания
        ДанныеСделки.ДатаЗакрытия = СтрокаРезультата.ДатаЗакрытия
        ДанныеСделки.Клиент = СтрокаРезультата.Клиент
        ДанныеСделки.Содержание = СтрокаРезультата.Содержание
        ДанныеСделки.Стадия = СтрокаРезультата.Стадия
        ДанныеСделки.СуммаВВалютеСделки = СтрокаРезультата.СуммаВВалютеСделки
        ДанныеСделки.СуммаВВалютеУчета = СтрокаРезультата.СуммаВВалютеУчета
        ДанныеСделки.КодВалютыСделки = СтрокаРезультата.КодВалютыСделки как Строка
        ДанныеСделки.КоличествоЗадач = СтрокаРезультата.КоличествоЗадач
         
        МассивСделок.Добавить(ДанныеСделки)
    ;
    
    возврат МассивСделок
;

Совет: Чтобы открыть этот файл нажмите на модуль Пресейл::СделкиВоронкаПродаж, откройте справа представление Структура и нажмите ПолучитьДанныеСделок.

Использование в элементе проекта

Реквизит Роль справочника Основное::Сотрудники имеет тип перечисления Основное::РолиСотрудников.

Совет: Чтобы открыть этот файл нажмите Открыть в текстовом редакторе в контекстном меню справочника Основное::Сотрудники.

Значение этого реквизита используется в методах проверки наличия ключей доступа у пользователей, например в модуле ключа доступа Основное::КлючДоступаАдминистратора.

метод ПроверитьНаличиеКлючейДоступа(
    Ключи: ЧитаемыйМассив<КлючДоступаАдминистратора.Объект>, 
    ПользователиДляПроверки: ЧитаемыйМассив<Пользователи.Объект>
): ЧитаемоеСоответствие<КлючДоступаАдминистратора.Объект, ЧитаемыйМассив<Пользователи.Ссылка>>
    
    знч Пользователи = <Пользователи.Ссылка>[]
    для Пользователь из ПользователиДляПроверки
        Пользователи.Добавить(Пользователь.Ссылка)
    ;
    
    знч Запрос = Запрос{
        ВЫБРАТЬ
            Сотрудники.Пользователь КАК Пользователь
        ИЗ 
            Сотрудники КАК Сотрудники
        ГДЕ 
            Сотрудники.Пользователь В (%Пользователи)
            И Сотрудники.Роль == РолиСотрудников.Администратор}
    
    знч Администраторы = <Пользователи.Ссылка>[]
    
    для СтрокаРезультата из Запрос.Выполнить()
        Администраторы.Добавить(СтрокаРезультата.Пользователь)
    ;
    
    знч Результат = <КлючДоступаАдминистратора.Объект, Массив<Пользователи.Ссылка>>{:}
    
    для Ключ из Ключи
        Результат.Вставить(Ключ, Администраторы)
    ;
    
    возврат Результат
;

Совет: Чтобы открыть этот файл нажмите на модуль Основное::КлючДоступаАдминистратора.