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