замеченные ошибки:
1. Если отбор не "по сотруднику", то запрос при нажатии кнгопки "Выполнить" не отбирает документы по организации.
2. не все документы попадают в отчет по сотруднику.
3. можно добавить функцию заполнения Руководителя в шапку отчетанапример так:
Процедура КнопкаВыполнитьНажатие(Кнопка)
Руководители = ФИООтветственных(Организация, ТекущаяДата(),);
ВыборкаПоШапкеДокумента=Новый Структура;
ВыборкаПоШапкеДокумента.Вставить("ДолжностьРуководителя",?(Руководители.Должность = "","ДолжностьРуководителя",Врег(Руководители.Должность)));
ВыборкаПоШапкеДокумента.Вставить("ФамилияРуководителя",?(Руководители.Фамилия = "","ФамилияРуководителя",Врег(Руководители.Фамилия)));
ВыборкаПоШапкеДокумента.Вставить("ИмяРуководителя",?(Руководители.Имя = "","ИмяРуководителя",Врег(Руководители.Имя)));
ВыборкаПоШапкеДокумента.Вставить("ОтчествоРуководителя",?(Руководители.Отчество = "","ОтчествоРуководителя",Врег(Руководители.Отчество)));
........
Функция ФИООтветственных(Организация,ДатаСреза,Исполнитель = Неопределено)
Результат = Новый Структура("Руководитель, РуководительФамилия, РуководительИмя, РуководительОтчество, РуководительДолжность, ГлавныйБухгалтер, Кассир, Исполнитель, ИсполнительДолжность, ОтветственныйЗаРегистры");
ЗапросПоЛицам = Новый Запрос();
ЗапросПоЛицам.УстановитьПараметр("Организация", Организация);
ЗапросПоЛицам.УстановитьПараметр("ДатаСреза", ДатаСреза);
ЗапросПоЛицам.Текст =
"ВЫБРАТЬ РАЗРЕШЕННЫЕ
| ОтветственныеЛицаОрганизацийСрезПоследних.ОтветственноеЛицо,
| ОтветственныеЛицаОрганизацийСрезПоследних.Должность.Наименование КАК Должность,
| ЕСТЬNULL(ФИОФизЛицСрезПоследних.Фамилия + "" "" + ФИОФизЛицСрезПоследних.Имя + "" "" + ФИОФизЛицСрезПоследних.Отчество, ОтветственныеЛицаОрганизацийСрезПоследних.ФизическоеЛицо.Наименование) КАК ФИОПолное,
| ФИОФизЛицСрезПоследних.Фамилия,
| ФИОФизЛицСрезПоследних.Имя,
| ФИОФизЛицСрезПоследних.Отчество
|ИЗ
| РегистрСведений.ОтветственныеЛицаОрганизаций.СрезПоследних(&ДатаСреза, СтруктурнаяЕдиница = &Организация) КАК ОтветственныеЛицаОрганизацийСрезПоследних
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ФИОФизЛиц.СрезПоследних(&ДатаСреза, ФизЛицо ССЫЛКА Справочник.ФизическиеЛица) КАК ФИОФизЛицСрезПоследних
| ПО ОтветственныеЛицаОрганизацийСрезПоследних.ФизическоеЛицо = ФИОФизЛицСрезПоследних.ФизЛицо";
Выборка = ЗапросПоЛицам.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
Если Выборка.ОтветственноеЛицо = Перечисления.ОтветственныеЛицаОрганизаций.Руководитель Тогда
Результат.Руководитель = Выборка.ФИОПолное;
Результат.РуководительФамилия = Выборка.Фамилия;
Результат.РуководительИмя = Выборка.Имя;
Результат.РуководительОтчество = Выборка.Отчество;
Результат.РуководительДолжность = Выборка.Должность;
ИначеЕсли Выборка.ОтветственноеЛицо = Перечисления.ОтветственныеЛицаОрганизаций.ГлавныйБухгалтер Тогда
Результат.ГлавныйБухгалтер = Выборка.ФИОПолное;
ИначеЕсли Выборка.ОтветственноеЛицо = Перечисления.ОтветственныеЛицаОрганизаций.Кассир Тогда
Результат.Кассир = Выборка.ФИОПолное;
ИначеЕсли Выборка.ОтветственноеЛицо = Перечисления.ОтветственныеЛицаОрганизаций.ОтветственныйЗаНалоговыеРегистры Тогда
Результат.ОтветственныйЗаРегистры = Выборка.ФИОПолное;
КонецЕсли;
КонецЦикла;
Возврат Результат;
конецФункции
Показать