Привет, товарищи! Делал внешнюю печатную форму к документу "Зарплата к выплате". Там всё простенько выводиться список сотрудников с сортировкой по подразделениям. Мне нужно сделать так, чтобы выводлся заголовок с подразделением человека, если подразделение не равно предыдущему. Вот сам запрос:
Запрос=Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| ЗарплатаКВыплатеОрганизацийЗарплата.Физлицо КАК Физлицо,
| ЗарплатаКВыплатеОрганизацийЗарплата.Сумма КАК Сумма,
| ЕСТЬNULL(РаботникиОрганизацийСрезПоследних.Сотрудник.ПодразделениеОрганизации, ДоговорНаВыполнениеРаботСФизЛицом.ПодразделениеОрганизации) КАК СотрудникПодразделениеОрганизации,
| РаботникиОрганизацийСрезПоследних.Период КАК Период,
| ЗарплатаКВыплатеОрганизацийЗарплата.Ссылка.Номер КАК Номер,
| ЗарплатаКВыплатеОрганизацийЗарплата.Ссылка.Дата КАК Дата
|ИЗ
| Документ.ЗарплатаКВыплатеОрганизаций.Зарплата КАК ЗарплатаКВыплатеОрганизацийЗарплата
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РаботникиОрганизаций.СрезПоследних(&Период, ) КАК РаботникиОрганизацийСрезПоследних
| ПО ЗарплатаКВыплатеОрганизацийЗарплата.Физлицо = РаботникиОрганизацийСрезПоследних.Сотрудник.Физлицо
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ДоговорНаВыполнениеРаботСФизЛицом КАК ДоговорНаВыполнениеРаботСФизЛицом
| ПО ЗарплатаКВыплатеОрганизацийЗарплата.Физлицо = ДоговорНаВыполнениеРаботСФизЛицом.ФизЛицо
|ГДЕ
| ЗарплатаКВыплатеОрганизацийЗарплата.Ссылка = &Ссылка
|
|УПОРЯДОЧИТЬ ПО
|ЗарплатаКВыплатеОрганизацийЗарплата.Физлицо.Наименование,
|Период УБЫВ
|ИТОГИ ПО
| Физлицо";
Запрос.Параметры.Вставить("Период",СсылкаНаОбъект.Дата);
Запрос.Параметры.Вставить("Ссылка",СсылкаНаОбъект.Ссылка); //ЗНАЧЕНИЕ(Документ.ЗарплатаКВыплатеОрганизаций.ПустаяСсылка)
РезультатЗапроса=Запрос.Выполнить();
Выборка=РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией );//ПоГруппировкам/Прямой
ТЗ=РезультатЗапроса.Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией);//ПоГруппировкам/Прямой
//Заполняем в таблицу значений только 1-ю строку чтобы люди не двоились
Для Каждого Стр1 из ТЗ.Строки Цикл
ЗаполнитьЗначенияСвойств(Стр1, Стр1.Строки [0])
КонецЦикла;
ТЗ.Строки.Сортировать("СотрудникПодразделениеОрганизации");
ТЗ.ВыбратьСтроку();
А вот сам код который заполняет строки:
//заполняем строки
ТекущееПодразделение = Неопределено;
Для Каждого Сотрудник из ТЗ.Строки Цикл
ЗаполнитьЗначенияСвойств(Стр1, Стр1.Строки [0]);
ОбластьМакетаСтрока.Параметры.Заполнить(Сотрудник);
ОбластьМакетаПодразделение.Параметры.Заполнить(Сотрудник);
ТекущееПодразделение = ОбластьМакетаПодразделение.Параметры.Подразделение;
Если Сотрудник.Подразделение<>ТекущееПодразделение тогда
ТабДокумент.Вывести(ОбластьМакетаПодразделение);
КонецЕсли
Помогите разобраться что я написал не так, буду очень признателен.