gribok
13.04.2022, 08:47
Добрый день друзья.
Подскажите пожалуйста, делаю внешнюю печатную форму под ЗУП 3.1. для документа Кадровый Перевод писком
Вот код целиков
Функция ПечатьКадровыйПеревод(Ссы� �каНаОбъект)
УстановитьПривилегированн ыйРежим(Истина);
ТабДокумент = Новый ТабличныйДокумент;
Макет = ЭтотОбъект.ПолучитьМакет("Макет");
ТабДокумент.КлючПараметро� �Печати = "ПАРАМЕТРЫ_ПЕЧАТИ_КадровыйП ереводписком";
ОбластьМакетаДоговор = Макет.ПолучитьОбласть("Договор");
ОбластьМакетаДоговор.Пара� �етры.НомерДок = СсылкаНаОбъект.Номер;
ОбластьМакетаДоговор.Пара� �етры.ДатаДок = Формат(СсылкаНаОбъект.Дата ,"ДЛФ=ДД");
Для Каждого СотрудникСтрока из СсылкаНаОбъект.Сотрудники Цикл
ОбластьМакетаДоговор.Пара� �етры.ФИОРаботника = СотрудникСтрока.Сотрудник;
ОбластьМакетаДоговор.Пара� �етры.ГодРождения = Год(СотрудникСтрока.Сотруд ник.ФизическоеЛицо.ДатаРож дения);
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ЗначенияПериодическихПока зателейРасчетаЗарплатыСот рудниковСрезПоследних.Сот� �удник КАК Сотрудник,
| ЗначенияПериодическихПока зателейРасчетаЗарплатыСот рудниковСрезПоследних.Пок� �затель КАК Показатель,
| ЗначенияПериодическихПока зателейРасчетаЗарплатыСот рудниковСрезПоследних.Зна� �ение КАК Значение,
| ЗначенияПериодическихПока зателейРасчетаЗарплатыСот рудниковСрезПоследних.Пок� �затель.Идентификатор КАК ПоказательИдентификатор,
| ЗначенияПериодическихПока зателейРасчетаЗарплатыСот рудниковСрезПоследних.Ном� �рСтроки КАК НомерСтроки,
| ОсновныеДанныеКонтрактаДо говораСотрудникаСрезПосле дних.ДатаДоговораКонтракт� � КАК ДатаДоговораКонтракта,
| ОсновныеДанныеКонтрактаДо говораСотрудникаСрезПосле дних.НомерДоговораКонтрак� �а КАК НомерДоговораКонтракта
|ИЗ
| РегистрСведений.ЗначенияП� �риодическихПоказателейРа� �четаЗарплатыСотрудников.С резПоследних(&Дата, Сотрудник = &Сотрудник) КАК ЗначенияПериодическихПока зателейРасчетаЗарплатыСот рудниковСрезПоследних
| ПОЛНОЕ СОЕДИНЕНИЕ РегистрСведений.ОсновныеД� �нныеКонтрактаДоговораСот� �удника.СрезПоследних(&Дата, Сотрудник = &Сотрудник) КАК ОсновныеДанныеКонтрактаДо говораСотрудникаСрезПосле дних
| ПО ЗначенияПериодическихПока зателейРасчетаЗарплатыСот рудниковСрезПоследних.Сот� �удник = ОсновныеДанныеКонтрактаДо говораСотрудникаСрезПосле дних.Сотрудник";
Запрос.УстановитьПараметр("Сотрудник", СотрудникСтрока.Сотрудник) ;
Запрос.УстановитьПараметр("Дата", КонецДня(СотрудникСтрока.Д атаНачала));
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Сл� �дующий() Цикл
Если ВыборкаДетальныеЗаписи.По� �азательИдентификатор = "ПроцентНадбавки" Тогда
Надбавка = ВыборкаДетальныеЗаписи.Зн� �чение;
ИначеЕсли ВыборкаДетальныеЗаписи.По� �азательИдентификатор = "ПроцентНадбавкиЗаВредност ь" Тогда
ВУТ = ВыборкаДетальныеЗаписи.Зн� �чение;
Иначе
ТарифнаяСтавка = ВыборкаДетальныеЗаписи.Зн� �чение;
КонецЕсли;
КонецЦикла;
ФорматнаяСтрока = "Л=ru_RU; ДП = Истина";
ПараметрыПредметаИсчислен ия = "тенге,тенге,тенге, ,тиын,тиын,тиын, , 2";
ОбластьМакетаДоговор.Пара� �етры.Тариф = ТарифнаяСтавка;
ОбластьМакетаДоговор.Пара� �етры.ТарифПрописью = ЧислоПрописью(Число(Тарифн аяСтавка),ФорматнаяСтрока,� �араметрыПредметаИсчислен� �я);
//ТУТ вот ошибка
ОбластьМакетаДоговор.Пара� �етры.ДатаТД = Формат(ВыборкаДетальныеЗа� �иси.ДатаДоговораКонтракта ,"ДЛФ=ДД");
ОбластьМакетаДоговор.Пара� �етры.ТДНомер = ВыборкаДетальныеЗаписи.Но� �ерДоговораКонтракта;
ПаспортныеДанные = КадровыйУчет.ДокументыФиз� �ческихЛиц(СотрудникСтрока .Сотрудник.ФизическоеЛицо, Ложь, Справочники.ВидыДокументо� �ФизическихЛиц.Удостоверен иеЛичностиРК, СсылкаНаОбъект.Дата);
МассивПД = ПаспортныеДанные.Выгрузит� �Колонку("Представление");
Если МассивПД.Количество()>0 Тогда
ОбластьМакетаДоговор.Пара� �етры.УдостоверениеЛичност и = МассивПД[0];
КонецЕсли;
Телефон = УправлениеКонтактнойИнфор мацией.КонтактнаяИнформац� �яОбъекта(СотрудникСтрока.� �отрудник.ФизическоеЛицо,
Справочники.ВидыКонтактно� �Информации.ТелефонМобильн ыйФизическиеЛица,СсылкаНа� �бъект.Дата,ИСТИНА);
ДТелефон = УправлениеКонтактнойИнфор мацией.КонтактнаяИнформац� �яОбъекта(СотрудникСтрока.� �отрудник.ФизическоеЛицо,
Справочники.ВидыКонтактно� �Информации.ТелефонДомашни йФизическиеЛица,СсылкаНаО� �ъект.Дата,ИСТИНА);
АдресПроживания = УправлениеКонтактнойИнфор мацией.КонтактнаяИнформац� �яОбъекта(СотрудникСтрока.� �отрудник.ФизическоеЛицо,
Справочники.ВидыКонтактно� �Информации.АдресМестаПрож иванияФизическиеЛица,Ссыл� �аНаОбъект.Дата,ИСТИНА);
АдресПрописки = УправлениеКонтактнойИнфор мацией.КонтактнаяИнформац� �яОбъекта(СотрудникСтрока.� �отрудник.ФизическоеЛицо,
Справочники.ВидыКонтактно� �Информации.АдресПоПрописк еФизическиеЛица,СсылкаНаО� �ъект.Дата,ИСТИНА);
ОбластьМакетаДоговор.Пара� �етры.ИИН = СотрудникСтрока.Сотрудник. ФизическоеЛицо.ИНН;
ОбластьМакетаДоговор.Пара� �етры.Телефон = Телефон;
ОбластьМакетаДоговор.Пара� �етры.АдресПроживания = АдресПроживания;
ОбластьМакетаДоговор.Пара� �етры.АдресПрописки = АдресПрописки;
ОбластьМакетаДоговор.Пара� �етры.ДТелефон = ДТелефон;
ТабДокумент.Вывести(Област ьМакетаДоговор);
КонецЦикла;
ТабДокумент.Защита = Ложь;
ТабДокумент.ОтображатьСет� �у = Ложь;
ТабДокумент.РазмерСтраниц� � = "A4";
ТабДокумент.АвтоМасштаб = Истина;
ТабДокумент.ПолеСверху = 5;
ТабДокумент.ПолеСлева = 5;
ТабДокумент.ПолеСнизу = 5;
ТабДокумент.ПолеСправа = 5;
ТабДокумент.ОриентацияСтр� �ницы = ОриентацияСтраницы.Портре� �;
Возврат ТабДокумент;
КонецФункции
Все заполняется кроме 2х параметров
а именно:
ОбластьМакетаДоговор.Пара� �етры.ДатаТД = Формат(ВыборкаДетальныеЗа� �иси.ДатаДоговораКонтракта ,"ДЛФ=ДД");
ОбластьМакетаДоговор.Пара� �етры.ТДНомер = ВыборкаДетальныеЗаписи.Но� �ерДоговораКонтракта;
Просто остаются пустые.
Подскажите пожалуйста что не так делаю
Спасибо
Подскажите пожалуйста, делаю внешнюю печатную форму под ЗУП 3.1. для документа Кадровый Перевод писком
Вот код целиков
Функция ПечатьКадровыйПеревод(Ссы� �каНаОбъект)
УстановитьПривилегированн ыйРежим(Истина);
ТабДокумент = Новый ТабличныйДокумент;
Макет = ЭтотОбъект.ПолучитьМакет("Макет");
ТабДокумент.КлючПараметро� �Печати = "ПАРАМЕТРЫ_ПЕЧАТИ_КадровыйП ереводписком";
ОбластьМакетаДоговор = Макет.ПолучитьОбласть("Договор");
ОбластьМакетаДоговор.Пара� �етры.НомерДок = СсылкаНаОбъект.Номер;
ОбластьМакетаДоговор.Пара� �етры.ДатаДок = Формат(СсылкаНаОбъект.Дата ,"ДЛФ=ДД");
Для Каждого СотрудникСтрока из СсылкаНаОбъект.Сотрудники Цикл
ОбластьМакетаДоговор.Пара� �етры.ФИОРаботника = СотрудникСтрока.Сотрудник;
ОбластьМакетаДоговор.Пара� �етры.ГодРождения = Год(СотрудникСтрока.Сотруд ник.ФизическоеЛицо.ДатаРож дения);
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ЗначенияПериодическихПока зателейРасчетаЗарплатыСот рудниковСрезПоследних.Сот� �удник КАК Сотрудник,
| ЗначенияПериодическихПока зателейРасчетаЗарплатыСот рудниковСрезПоследних.Пок� �затель КАК Показатель,
| ЗначенияПериодическихПока зателейРасчетаЗарплатыСот рудниковСрезПоследних.Зна� �ение КАК Значение,
| ЗначенияПериодическихПока зателейРасчетаЗарплатыСот рудниковСрезПоследних.Пок� �затель.Идентификатор КАК ПоказательИдентификатор,
| ЗначенияПериодическихПока зателейРасчетаЗарплатыСот рудниковСрезПоследних.Ном� �рСтроки КАК НомерСтроки,
| ОсновныеДанныеКонтрактаДо говораСотрудникаСрезПосле дних.ДатаДоговораКонтракт� � КАК ДатаДоговораКонтракта,
| ОсновныеДанныеКонтрактаДо говораСотрудникаСрезПосле дних.НомерДоговораКонтрак� �а КАК НомерДоговораКонтракта
|ИЗ
| РегистрСведений.ЗначенияП� �риодическихПоказателейРа� �четаЗарплатыСотрудников.С резПоследних(&Дата, Сотрудник = &Сотрудник) КАК ЗначенияПериодическихПока зателейРасчетаЗарплатыСот рудниковСрезПоследних
| ПОЛНОЕ СОЕДИНЕНИЕ РегистрСведений.ОсновныеД� �нныеКонтрактаДоговораСот� �удника.СрезПоследних(&Дата, Сотрудник = &Сотрудник) КАК ОсновныеДанныеКонтрактаДо говораСотрудникаСрезПосле дних
| ПО ЗначенияПериодическихПока зателейРасчетаЗарплатыСот рудниковСрезПоследних.Сот� �удник = ОсновныеДанныеКонтрактаДо говораСотрудникаСрезПосле дних.Сотрудник";
Запрос.УстановитьПараметр("Сотрудник", СотрудникСтрока.Сотрудник) ;
Запрос.УстановитьПараметр("Дата", КонецДня(СотрудникСтрока.Д атаНачала));
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Сл� �дующий() Цикл
Если ВыборкаДетальныеЗаписи.По� �азательИдентификатор = "ПроцентНадбавки" Тогда
Надбавка = ВыборкаДетальныеЗаписи.Зн� �чение;
ИначеЕсли ВыборкаДетальныеЗаписи.По� �азательИдентификатор = "ПроцентНадбавкиЗаВредност ь" Тогда
ВУТ = ВыборкаДетальныеЗаписи.Зн� �чение;
Иначе
ТарифнаяСтавка = ВыборкаДетальныеЗаписи.Зн� �чение;
КонецЕсли;
КонецЦикла;
ФорматнаяСтрока = "Л=ru_RU; ДП = Истина";
ПараметрыПредметаИсчислен ия = "тенге,тенге,тенге, ,тиын,тиын,тиын, , 2";
ОбластьМакетаДоговор.Пара� �етры.Тариф = ТарифнаяСтавка;
ОбластьМакетаДоговор.Пара� �етры.ТарифПрописью = ЧислоПрописью(Число(Тарифн аяСтавка),ФорматнаяСтрока,� �араметрыПредметаИсчислен� �я);
//ТУТ вот ошибка
ОбластьМакетаДоговор.Пара� �етры.ДатаТД = Формат(ВыборкаДетальныеЗа� �иси.ДатаДоговораКонтракта ,"ДЛФ=ДД");
ОбластьМакетаДоговор.Пара� �етры.ТДНомер = ВыборкаДетальныеЗаписи.Но� �ерДоговораКонтракта;
ПаспортныеДанные = КадровыйУчет.ДокументыФиз� �ческихЛиц(СотрудникСтрока .Сотрудник.ФизическоеЛицо, Ложь, Справочники.ВидыДокументо� �ФизическихЛиц.Удостоверен иеЛичностиРК, СсылкаНаОбъект.Дата);
МассивПД = ПаспортныеДанные.Выгрузит� �Колонку("Представление");
Если МассивПД.Количество()>0 Тогда
ОбластьМакетаДоговор.Пара� �етры.УдостоверениеЛичност и = МассивПД[0];
КонецЕсли;
Телефон = УправлениеКонтактнойИнфор мацией.КонтактнаяИнформац� �яОбъекта(СотрудникСтрока.� �отрудник.ФизическоеЛицо,
Справочники.ВидыКонтактно� �Информации.ТелефонМобильн ыйФизическиеЛица,СсылкаНа� �бъект.Дата,ИСТИНА);
ДТелефон = УправлениеКонтактнойИнфор мацией.КонтактнаяИнформац� �яОбъекта(СотрудникСтрока.� �отрудник.ФизическоеЛицо,
Справочники.ВидыКонтактно� �Информации.ТелефонДомашни йФизическиеЛица,СсылкаНаО� �ъект.Дата,ИСТИНА);
АдресПроживания = УправлениеКонтактнойИнфор мацией.КонтактнаяИнформац� �яОбъекта(СотрудникСтрока.� �отрудник.ФизическоеЛицо,
Справочники.ВидыКонтактно� �Информации.АдресМестаПрож иванияФизическиеЛица,Ссыл� �аНаОбъект.Дата,ИСТИНА);
АдресПрописки = УправлениеКонтактнойИнфор мацией.КонтактнаяИнформац� �яОбъекта(СотрудникСтрока.� �отрудник.ФизическоеЛицо,
Справочники.ВидыКонтактно� �Информации.АдресПоПрописк еФизическиеЛица,СсылкаНаО� �ъект.Дата,ИСТИНА);
ОбластьМакетаДоговор.Пара� �етры.ИИН = СотрудникСтрока.Сотрудник. ФизическоеЛицо.ИНН;
ОбластьМакетаДоговор.Пара� �етры.Телефон = Телефон;
ОбластьМакетаДоговор.Пара� �етры.АдресПроживания = АдресПроживания;
ОбластьМакетаДоговор.Пара� �етры.АдресПрописки = АдресПрописки;
ОбластьМакетаДоговор.Пара� �етры.ДТелефон = ДТелефон;
ТабДокумент.Вывести(Област ьМакетаДоговор);
КонецЦикла;
ТабДокумент.Защита = Ложь;
ТабДокумент.ОтображатьСет� �у = Ложь;
ТабДокумент.РазмерСтраниц� � = "A4";
ТабДокумент.АвтоМасштаб = Истина;
ТабДокумент.ПолеСверху = 5;
ТабДокумент.ПолеСлева = 5;
ТабДокумент.ПолеСнизу = 5;
ТабДокумент.ПолеСправа = 5;
ТабДокумент.ОриентацияСтр� �ницы = ОриентацияСтраницы.Портре� �;
Возврат ТабДокумент;
КонецФункции
Все заполняется кроме 2х параметров
а именно:
ОбластьМакетаДоговор.Пара� �етры.ДатаТД = Формат(ВыборкаДетальныеЗа� �иси.ДатаДоговораКонтракта ,"ДЛФ=ДД");
ОбластьМакетаДоговор.Пара� �етры.ТДНомер = ВыборкаДетальныеЗаписи.Но� �ерДоговораКонтракта;
Просто остаются пустые.
Подскажите пожалуйста что не так делаю
Спасибо