Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
05 окт 2022, 07:56

Внешня печатная форма - не могу разобраться

Автор gribok, 13 апр 2022, 06:39

0 Пользователей и 1 гость просматривают эту тему.

gribok

Добрый день друзья.
Подскажите пожалуйста, делаю внешнюю печатную форму под ЗУП 3.1. для документа Кадровый Перевод писком
Вот код целиков

Функция ПечатьКадровыйПеревод(СсылкаНаОбъект)

УстановитьПривилегированныйРежим(Истина);
ТабДокумент = Новый ТабличныйДокумент;
Макет = ЭтотОбъект.ПолучитьМакет("Макет");
ТабДокумент.КлючПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_КадровыйПереводписком";
ОбластьМакетаДоговор = Макет.ПолучитьОбласть("Договор");
ОбластьМакетаДоговор.Параметры.НомерДок = СсылкаНаОбъект.Номер;
ОбластьМакетаДоговор.Параметры.ДатаДок = Формат(СсылкаНаОбъект.Дата,"ДЛФ=ДД");


Для Каждого СотрудникСтрока из СсылкаНаОбъект.Сотрудники Цикл
    ОбластьМакетаДоговор.Параметры.ФИОРаботника = СотрудникСтрока.Сотрудник;
ОбластьМакетаДоговор.Параметры.ГодРождения = Год(СотрудникСтрока.Сотрудник.ФизическоеЛицо.ДатаРождения);



Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ЗначенияПериодическихПоказателейРасчетаЗарплатыСотрудниковСрезПоследних.Сотрудник КАК Сотрудник,
| ЗначенияПериодическихПоказателейРасчетаЗарплатыСотрудниковСрезПоследних.Показатель КАК Показатель,
| ЗначенияПериодическихПоказателейРасчетаЗарплатыСотрудниковСрезПоследних.Значение КАК Значение,
| ЗначенияПериодическихПоказателейРасчетаЗарплатыСотрудниковСрезПоследних.Показатель.Идентификатор КАК ПоказательИдентификатор,
| ЗначенияПериодическихПоказателейРасчетаЗарплатыСотрудниковСрезПоследних.НомерСтроки КАК НомерСтроки,
| ОсновныеДанныеКонтрактаДоговораСотрудникаСрезПоследних.ДатаДоговораКонтракта КАК ДатаДоговораКонтракта,
| ОсновныеДанныеКонтрактаДоговораСотрудникаСрезПоследних.НомерДоговораКонтракта КАК НомерДоговораКонтракта
|ИЗ
| РегистрСведений.ЗначенияПериодическихПоказателейРасчетаЗарплатыСотрудников.СрезПоследних(&Дата, Сотрудник = &Сотрудник) КАК ЗначенияПериодическихПоказателейРасчетаЗарплатыСотрудниковСрезПоследних
| ПОЛНОЕ СОЕДИНЕНИЕ РегистрСведений.ОсновныеДанныеКонтрактаДоговораСотрудника.СрезПоследних(&Дата, Сотрудник = &Сотрудник) КАК ОсновныеДанныеКонтрактаДоговораСотрудникаСрезПоследних
| ПО ЗначенияПериодическихПоказателейРасчетаЗарплатыСотрудниковСрезПоследних.Сотрудник = ОсновныеДанныеКонтрактаДоговораСотрудникаСрезПоследних.Сотрудник";

Запрос.УстановитьПараметр("Сотрудник", СотрудникСтрока.Сотрудник);
Запрос.УстановитьПараметр("Дата", КонецДня(СотрудникСтрока.ДатаНачала));
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Если ВыборкаДетальныеЗаписи.ПоказательИдентификатор = "ПроцентНадбавки" Тогда
Надбавка = ВыборкаДетальныеЗаписи.Значение;
ИначеЕсли ВыборкаДетальныеЗаписи.ПоказательИдентификатор = "ПроцентНадбавкиЗаВредность" Тогда
ВУТ = ВыборкаДетальныеЗаписи.Значение;
Иначе
ТарифнаяСтавка = ВыборкаДетальныеЗаписи.Значение;
КонецЕсли;
КонецЦикла;


ФорматнаяСтрока = "Л=ru_RU; ДП = Истина";
ПараметрыПредметаИсчисления = "тенге,тенге,тенге, ,тиын,тиын,тиын, , 2";
ОбластьМакетаДоговор.Параметры.Тариф = ТарифнаяСтавка;
ОбластьМакетаДоговор.Параметры.ТарифПрописью = ЧислоПрописью(Число(ТарифнаяСтавка),ФорматнаяСтрока,ПараметрыПредметаИсчисления);


//ТУТ вот ошибка
ОбластьМакетаДоговор.Параметры.ДатаТД = Формат(ВыборкаДетальныеЗаписи.ДатаДоговораКонтракта,"ДЛФ=ДД");
ОбластьМакетаДоговор.Параметры.ТДНомер = ВыборкаДетальныеЗаписи.НомерДоговораКонтракта;

ПаспортныеДанные = КадровыйУчет.ДокументыФизическихЛиц(СотрудникСтрока.Сотрудник.ФизическоеЛицо, Ложь, Справочники.ВидыДокументовФизическихЛиц.УдостоверениеЛичностиРК, СсылкаНаОбъект.Дата);
МассивПД = ПаспортныеДанные.ВыгрузитьКолонку("Представление");

Если МассивПД.Количество()>0 Тогда
ОбластьМакетаДоговор.Параметры.УдостоверениеЛичности = МассивПД[0];
КонецЕсли;

Телефон = УправлениеКонтактнойИнформацией.КонтактнаяИнформацияОбъекта(СотрудникСтрока.Сотрудник.ФизическоеЛицо,
Справочники.ВидыКонтактнойИнформации.ТелефонМобильныйФизическиеЛица,СсылкаНаОбъект.Дата,ИСТИНА);
ДТелефон = УправлениеКонтактнойИнформацией.КонтактнаяИнформацияОбъекта(СотрудникСтрока.Сотрудник.ФизическоеЛицо,
Справочники.ВидыКонтактнойИнформации.ТелефонДомашнийФизическиеЛица,СсылкаНаОбъект.Дата,ИСТИНА);
АдресПроживания = УправлениеКонтактнойИнформацией.КонтактнаяИнформацияОбъекта(СотрудникСтрока.Сотрудник.ФизическоеЛицо,
Справочники.ВидыКонтактнойИнформации.АдресМестаПроживанияФизическиеЛица,СсылкаНаОбъект.Дата,ИСТИНА);
АдресПрописки = УправлениеКонтактнойИнформацией.КонтактнаяИнформацияОбъекта(СотрудникСтрока.Сотрудник.ФизическоеЛицо,
Справочники.ВидыКонтактнойИнформации.АдресПоПропискеФизическиеЛица,СсылкаНаОбъект.Дата,ИСТИНА);

     
ОбластьМакетаДоговор.Параметры.ИИН = СотрудникСтрока.Сотрудник.ФизическоеЛицо.ИНН;
ОбластьМакетаДоговор.Параметры.Телефон = Телефон;
ОбластьМакетаДоговор.Параметры.АдресПроживания = АдресПроживания;
ОбластьМакетаДоговор.Параметры.АдресПрописки = АдресПрописки;
ОбластьМакетаДоговор.Параметры.ДТелефон = ДТелефон;


ТабДокумент.Вывести(ОбластьМакетаДоговор);
КонецЦикла;


ТабДокумент.Защита = Ложь;
ТабДокумент.ОтображатьСетку = Ложь;
ТабДокумент.РазмерСтраницы = "A4"; 
ТабДокумент.АвтоМасштаб  = Истина;
ТабДокумент.ПолеСверху = 5;
ТабДокумент.ПолеСлева  = 5;
ТабДокумент.ПолеСнизу  = 5;
ТабДокумент.ПолеСправа = 5;
ТабДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Портрет;
Возврат ТабДокумент;

КонецФункции


Все заполняется кроме 2х параметров
а именно
ОбластьМакетаДоговор.Параметры.ДатаТД = Формат(ВыборкаДетальныеЗаписи.ДатаДоговораКонтракта,"ДЛФ=ДД");
ОбластьМакетаДоговор.Параметры.ТДНомер = ВыборкаДетальныеЗаписи.НомерДоговораКонтракта;

Просто остаются пустые.
Подскажите пожалуйста что не так делаю
Спасибо

nvj84

А если внутрь цикла по детальным записям перенести.

gribok

Цитата: nvj84 от 13 апр 2022, 09:34А если внутрь цикла по детальным записям перенести.
Да нет, все оказалось проще
В регистре нету данной информации.
Нет документа Прием на работу.
Был переход с ЗУП 2 на ЗУП 3
Информация по ТД не перенеслась.
Спасибо

Теги:

Похожие темы (5)

Рейтинг@Mail.ru Rambler's Top100

Поиск