//Нужно запросом получить контактные данные(ФИО, Адрес, Телефон) : // ФизЛицо Адрес Телефон // Иванов Петр Сергеевич 140943, Московская обл, Дзержинский г, Угрешская ул, дом № 3, кв.21 // Иванова Оксана Александровна 119672, Москва г, Краснобогатырская ул, дом № 2, корпус 4, кв.15 (499) 730-18-02 // Петрова Тамара Алексеевна 141257, Московская обл, Долгопрудный г, Молодежная ул, дом № 7, кв.3 // Сидорова Юлия Васильевна 107126, Москва г, Академика Анохина ул, дом № 12, кв.54 (495) 963-08-01 Запрос=Новый Запрос; Запрос.Текст=" |ВЫБРАТЬ | ВЗАдрес.Ссылка КАК ФизЛицо, | ВЗАдрес.Адрес, | ВЗТелефон.Телефон |ИЗ | (ВЫБРАТЬ | ФизическиеЛица.Ссылка КАК Ссылка, | КонтактнаяИнформация.Представление КАК Адрес | ИЗ | Справочник.ФизическиеЛица КАК ФизическиеЛица | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация | ПО ФизическиеЛица.Ссылка = КонтактнаяИнформация.Объект | ГДЕ | КонтактнаяИнформация.Вид = &АдрПоПрописке | И КонтактнаяИнформация.Тип = &Адрес) КАК ВЗАдрес | ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ | ФизическиеЛица.Ссылка КАК Ссылка, | КонтактнаяИнформация.Представление КАК Телефон | ИЗ | Справочник.ФизическиеЛица КАК ФизическиеЛица | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация | ПО ФизическиеЛица.Ссылка = КонтактнаяИнформация.Объект | ГДЕ | КонтактнаяИнформация.Вид = &ВидТелеф | И КонтактнаяИнформация.Тип = &Телефон) КАК ВЗТелефон | ПО ВЗАдрес.Ссылка = ВЗТелефон.Ссылка | |УПОРЯДОЧИТЬ ПО | ФизЛицо |АВТОУПОРЯДОЧИВАНИЕ |"; Запрос.УстановитьПараметр("Адрес",Перечисления.ТипыКонтактнойИнформации.Адрес); Запрос.УстановитьПараметр("АдрПоПрописке",Справочники.ВидыКонтактнойИнформации.ЮрАдресФизЛица); Запрос.УстановитьПараметр("ВидТелеф",Справочники.ВидыКонтактнойИнформации.ТелефонФизЛица); Запрос.УстановитьПараметр("Телефон",Перечисления.ТипыКонтактнойИнформации.Телефон); Результат = Запрос.Выполнить(); Результат = Результат.Выбрать(); Пока Результат.Следующий() Цикл // обработка КонецЦикла;
ДГ = ЭлементыФормы.ДГ; // Установить заголовок диаграммы. ДГ.ОбластьЗаголовка.Текст = "График дежурств"; // Интервал будем определять самостоятельно. ДГ.АвтоОпределениеПолногоИнтервала = Ложь; // Установить интервал. ДГ.УстановитьПолныйИнтервал(НачалоМесяца(ТекущаяДата()), КонецМесяца(ТекущаяДата())); // В диаграмме будет две точки - сотрудники Петров и Сидоров... ТочкаП = ДГ.УстановитьТочку("Петров"); ТочкаС = ДГ.УстановитьТочку("Сидоров"); // и две серии - дежурство на вахте и дежурство в центральном офисе. СерияНаВахте = ДГ.УстановитьСерию("На вахте"); СерияВЦентре = ДГ.УстановитьСерию("В центральном офисе"); // Задать цвета серий, отличные от цвета по умолчанию. СерияНаВахте.Цвет = WebЦвета.Синий; СерияВЦентре.Цвет = WebЦвета.СветлоЖелтый; ПервыйДень = НачалоМесяца(ТекущаяДата()); // Получить значение диаграммы - дежурство Петрова на вахте. Значение = ДГ.ПолучитьЗначение(ТочкаП, СерияНаВахте); // В значении определить новый интервал. Интервал = Значение.Добавить(); Интервал.Текст = "Работает на вахте"; // Определить границы интервала. Интервал.Начало = ПервыйДень; Интервал.Конец = ПервыйДень + 10 * 24 * 60 * 60; // Получить значение диаграммы - дежурство Петрова в центральном офисе. Значение = ДГ.ПолучитьЗначение(ТочкаП, СерияВЦентре); Интервал = Значение.Добавить(); Интервал.Текст = "Работает в центральном офисе"; Интервал.Начало = ПервыйДень + 14 * 24 * 60 * 60; Интервал.Конец = ПервыйДень + 24 * 24 * 60 * 60; // Получить значение диаграммы - дежурство Сидорова на вахте. Значение = ДГ.ПолучитьЗначение(ТочкаС, СерияНаВахте); Интервал = Значение.Добавить(); Интервал.Текст = "Работает на вахте"; Интервал.Начало = ПервыйДень + 5 * 24 * 60 * 60; Интервал.Конец = ПервыйДень + 15 * 24 * 60 * 60; // Получить значение диаграммы - дежурство Сидорова в центральном офисе. Значение = ДГ.ПолучитьЗначение(ТочкаС, СерияВЦентре); Интервал = Значение.Добавить(); Интервал.Текст = "Работает в центральном офисе"; Интервал.Начало = ПервыйДень + 21 * 24 * 60 * 60; Интервал.Конец = ПервыйДень + 25 * 24 * 60 * 60;