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