Перейти к основному содержимому

Источник данных массив

Источником данных списка (в примере — СписокМероприятий, расположенный внутри компонента ФиксированнаяГруппа) может являться экземпляром системного компонента ИсточникДанныхМассив (пример). В отличие от динамического списка, данные источника этого типа могут быть заполнены с помощью произвольного запроса, что демонстрируется ниже:

метод ИсточникДанныхСпискаМероприятий(): ИсточникДанныхМассив<ДанныеМероприятия>
возврат Компоненты.СписокМероприятий.Источник
;
@ВПроекте
метод ЗагрузитьМероприятия()
ИсточникДанныхСпискаМероприятий().Данные.Очистить()
знч Мероприятия = ПолучитьМероприятия(Сделка, ТолькоЗадачи, ТолькоСобытия)
ИсточникДанныхСпискаМероприятий().Данные.ДобавитьВсе(Мероприятия)

Компоненты.ЗаглушкаПустогоСпискаМероприятий.Видимость = ИсточникДанныхСпискаМероприятий().Данные.Пусто()
;
@НаСервере @ДоступноСКлиента
статический метод ПолучитьМероприятия(
Владелец: Сделки.Ссылка,
ТолькоЗадачи: Булево,
ТолькоСобытия: Булево
): ЧитаемыйМассив<ДанныеМероприятия>

знч Мероприятия = <ДанныеМероприятия>[]

знч Запрос = Запрос{
ВЫБРАТЬ
События.Ссылка КАК Ссылка,
События.Код КАК Код,
События.ДатаСоздания КАК ДатаСоздания,
События.Тема КАК Тема,
События.Описание КАК Описание,
События.Автор КАК Ответственный,
События.ДатаНачала КАК ДатаНачала,
События.ДатаЗавершения КАК ДатаЗавершения,
Неопределено КАК СтатусЗадачи
ИЗ
События КАК События
ГДЕ
Владелец == %Владелец
И НЕ %ТолькоЗадачи

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
Задачи.Ссылка,
Задачи.Код,
Задачи.ДатаСоздания,
Задачи.Тема,
Задачи.Описание,
Задачи.Исполнитель,
Неопределено,
Задачи.ДатаЗавершения,
Задачи.Статус
ИЗ
Задачи КАК Задачи
ГДЕ
Владелец == %Владелец
И НЕ %ТолькоСобытия

УПОРЯДОЧИТЬ ПО
ДатаСоздания УБЫВ}

для СтрокаРезультата из Запрос.Выполнить()
знч Мероприятие = новый ДанныеМероприятия()
Мероприятие.Ссылка = СтрокаРезультата.Ссылка
Мероприятие.Код = СтрокаРезультата.Код
Мероприятие.Тема = СтрокаРезультата.Тема
Мероприятие.Описание = СтрокаРезультата.Описание
Мероприятие.Ответственный = СтрокаРезультата.Ответственный
Мероприятие.ДатаНачала = СтрокаРезультата.ДатаНачала == Неопределено ?
Момент{} : СтрокаРезультата.ДатаНачала
Мероприятие.ДатаЗавершения = СтрокаРезультата.ДатаЗавершения
Мероприятие.СтатусЗадачи = СтрокаРезультата.СтатусЗадачи

Мероприятия.Добавить(Мероприятие)
;

возврат Мероприятия
;

Иерархический список задач