Внешняя печатная форма ЗУП Кадровый перевод
Здравствуйте,есть внешняя печатная форма кадровый перевод списком,кадровый перевод.Нужно в нее из начислений вытащить оклад и надбавку за сложность и напряженность труда.В кадровом переводе списком все работает,а вот просто в кадровом переводе выходит только надбавка за сложность и напряженность труда а оклад ставит 0.В чем может быть причина?Прошу подсказки.
Функция ТабличныйДокументТрудовойДоговор(ИмяМакета, МассивОбъектов, ОбъектыПечати, ПараметрыВывода) Экспорт
Макет = ПолучитьМакет(ИмяМакета);
Первый = Истина;
СсылкаНаОбъект = МассивОбъектов.Получить(0).Ссылка;
ТабДокумент = Новый ТабличныйДокумент;
ОбластьМакета = Макет.ПолучитьОбласть("Шапка");
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("Ссылка", СсылкаНаОбъект);
Запрос.УстановитьПараметр("Тип", Перечисления.ТипыКонтактнойИнформации.Адрес);
Запрос.УстановитьПараметр("Вид", Справочники.ВидыКонтактнойИнформации.ЮрАдресОрганизации);
Запрос.УстановитьПараметр("Дата",СсылкаНаОбъект.Дата);
Запрос.УстановитьПараметр("Показатель", "%Вредность%");
Запрос.УстановитьПараметр("Действие",Перечисления.ДействияСНачислениямиИУдержаниями.Отменить);
Если ТипЗнч(СсылкаНаОбъект)=Тип("ДокументСсылка.КадровыйПереводСписком") Тогда //КадровыйПереводСпискомСотрудники
Запрос.Текст =
"ВЫБРАТЬ
| КадровыйПеревод.Сотрудник КАК Сотрудник,
| КадровыйПеревод.ФизЛицо КАК ФизическоеЛицо,
| КадровыйПеревод.Ссылка.Организация.НаименованиеПолное КАК Организация,
| КадровыйПеревод.Ссылка.Организация.ИНН КАК ИНН,
| КадровыйПеревод.Ссылка.Организация КАК СсылкаОрганизация,
| КадровыйПеревод.ГрафикРаботы КАК ГрафикРаботыСотрудников,
| КадровыйПеревод.Должность КАК Должность,
| КадровыйПеревод.Ссылка.Организация.ОГРН КАК ОГРН,
| КадровыйПеревод.ДатаНачала КАК ДатаНачала,
| КадровыйПеревод.ТрудовойДоговорНомер КАК ТрудовойДоговорНомер,
| КадровыйПеревод.ТрудовойДоговорДата КАК ТрудовойДоговорДата,
| ДокументыФизическихЛиц.Серия КАК Серия,
| ДокументыФизическихЛиц.Номер КАК Номер,
| ДокументыФизическихЛиц.СрокДействия КАК СрокДействия,
| ДокументыФизическихЛиц.КемВыдан КАК КемВыдан,
| ДокументыФизическихЛиц.КодПодразделения КАК КодПодразделения,
| ДокументыФизическихЛиц.Представление КАК Представление,
| ДокументыФизическихЛиц.ВидДокумента КАК ВидДокумента,
| ДокументыФизическихЛиц.ДатаВыдачи КАК ДатаВыдачи,
| КадровыйПереводСпискомНачисления2.Начисление КАК Начисление,
| КадровыйПереводСпискомНачисления2.Размер КАК Размер,
| ОсновныеДанныеКонтрактаДоговораСотрудника.ДатаДоговораКонтракта КАК ДатаДоговораКонтракта,
| ОсновныеДанныеКонтрактаДоговораСотрудника.НомерДоговораКонтракта КАК НомерДоговораКонтракта,
| КонтактнаяИнформация.Представление КАК ЮрАдресОрганизации,
| ВЫБОР
| КОГДА ЕСТЬNULL(РК.Значение, 0) = 0
| ТОГДА 0
| ИНАЧЕ ЕСТЬNULL(РК.Значение, 0)
| КОНЕЦ КАК РКПроцент
|ИЗ
| (ВЫБРАТЬ
| КадровыйПереводСпискомСотрудники.Сотрудник КАК Сотрудник,
| КадровыйПереводСпискомСотрудники.Сотрудник.ФизическоеЛицо КАК ФизЛицо,
| КадровыйПереводСпискомСотрудники.Ссылка КАК Ссылка,
| КадровыйПереводСпискомСотрудники.ИдентификаторСтрокиСотрудника КАК ИдентификаторСтрокиСотрудника,
| КадровыйПереводСпискомСотрудники.ГрафикРаботы КАК ГрафикРаботы,
| КадровыйПереводСпискомСотрудники.Должность КАК Должность,
| КадровыйПереводСпискомСотрудники.ДатаНачала КАК ДатаНачала,
| КадровыйПереводСпискомСотрудники.ТрудовойДоговорНомер КАК ТрудовойДоговорНомер,
| КадровыйПереводСпискомСотрудники.ТрудовойДоговорДата КАК ТрудовойДоговорДата
| ИЗ
| Документ.КадровыйПереводСписком.Сотрудники КАК КадровыйПереводСпискомСотрудники
| ГДЕ
| КадровыйПереводСпискомСотрудники.Ссылка = &Ссылка) КАК КадровыйПеревод
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| ДокументыФизическихЛицСрезПоследних.Серия КАК Серия,
| ДокументыФизическихЛицСрезПоследних.Номер КАК Номер,
| ДокументыФизическихЛицСрезПоследних.СрокДействия КАК СрокДействия,
| ДокументыФизическихЛицСрезПоследних.КемВыдан КАК КемВыдан,
| ДокументыФизическихЛицСрезПоследних.КодПодразделения КАК КодПодразделения,
| ДокументыФизическихЛицСрезПоследних.Физлицо КАК Физлицо,
| ДокументыФизическихЛицСрезПоследних.Представление КАК Представление,
| ДокументыФизическихЛицСрезПоследних.ВидДокумента КАК ВидДокумента,
| ДокументыФизическихЛицСрезПоследних.ДатаВыдачи КАК ДатаВыдачи
| ИЗ
| РегистрСведений.ДокументыФизическихЛиц.СрезПоследних КАК ДокументыФизическихЛицСрезПоследних) КАК ДокументыФизическихЛиц
| ПО КадровыйПеревод.ФизЛицо = ДокументыФизическихЛиц.Физлицо
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| КадровыйПереводСпискомНачисления.Ссылка КАК Ссылка,
| КадровыйПереводСпискомНачисления.ИдентификаторСтрокиСотрудника КАК ИдентификаторСтрокиСотрудника,
| КадровыйПереводСпискомНачисления.Начисление КАК Начисление,
| КадровыйПереводСпискомНачисления.Размер КАК Размер
| ИЗ
| Документ.КадровыйПереводСписком.Начисления КАК КадровыйПереводСпискомНачисления
| ГДЕ
| КадровыйПереводСпискомНачисления.Ссылка = &Ссылка) КАК КадровыйПереводСпискомНачисления2
| ПО КадровыйПеревод.ИдентификаторСтрокиСотрудника = КадровыйПереводСпискомНачисления2.ИдентификаторСтрокиСотрудника
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| ОсновныеДанныеКонтрактаДоговораСотрудникаСрезПоследних.ДатаДоговораКонтракта КАК ДатаДоговораКонтракта,
| ОсновныеДанныеКонтрактаДоговораСотрудникаСрезПоследних.НомерДоговораКонтракта КАК НомерДоговораКонтракта,
| ОсновныеДанныеКонтрактаДоговораСотрудникаСрезПоследних.ДатаНачала КАК ДатаНачала,
| ОсновныеДанныеКонтрактаДоговораСотрудникаСрезПоследних.Сотрудник КАК Сотрудник
| ИЗ
| РегистрСведений.ОсновныеДанныеКонтрактаДоговораСотрудника.СрезПоследних КАК ОсновныеДанныеКонтрактаДоговораСотрудникаСрезПоследних) КАК ОсновныеДанныеКонтрактаДоговораСотрудника
| ПО КадровыйПеревод.Сотрудник = ОсновныеДанныеКонтрактаДоговораСотрудника.Сотрудник
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| ОрганизацииКонтактнаяИнформация.Ссылка КАК Ссылка,
| ОрганизацииКонтактнаяИнформация.Представление КАК Представление
| ИЗ
| Справочник.Организации.КонтактнаяИнформация КАК ОрганизацииКонтактнаяИнформация
| ГДЕ
| ОрганизацииКонтактнаяИнформация.Тип = &Тип
| И ОрганизацииКонтактнаяИнформация.Вид = &Вид) КАК КонтактнаяИнформация
| ПО КадровыйПеревод.Ссылка.Организация = КонтактнаяИнформация.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| ЗначенияПериодическихПоказателейРасчетаЗарплатыСотрудниковСр езПоследних.Сотрудник КАК Сотрудник,
| ЗначенияПериодическихПоказателейРасчетаЗарплатыСотрудниковСр езПоследних.Значение КАК Значение
| ИЗ
| РегистрСведений.ЗначенияПериодическихПоказателейРасчетаЗарплатыСотрудников.СрезПоследних(&Дата, ) КАК ЗначенияПериодическихПоказателейРасчетаЗарплатыСотрудниковСр езПоследних
| ГДЕ
| ЗначенияПериодическихПоказателейРасчетаЗарплатыСотрудниковСр езПоследних.Показатель.Наименование ПОДОБНО ""%Вредность%"") КАК РК
| ПО КадровыйПеревод.Сотрудник = РК.Сотрудник
|ИТОГИ ПО
| Сотрудник
|АВТОУПОРЯДОЧИВАНИЕ";
Иначе //Кадровый перевод
Запрос.Текст =
"ВЫБРАТЬ
| КадровыйПеревод.Ссылка.Организация.НаименованиеПолное КАК Организация,
| КадровыйПеревод.Ссылка.Организация.ИНН КАК ИНН,
| КадровыйПеревод.Ссылка.Организация КАК СсылкаОрганизация,
| ДокументыФизическихЛиц.Серия КАК Серия,
| ДокументыФизическихЛиц.Номер КАК Номер,
| ДокументыФизическихЛиц.СрокДействия КАК СрокДействия,
| ДокументыФизическихЛиц.КемВыдан КАК КемВыдан,
| ДокументыФизическихЛиц.КодПодразделения КАК КодПодразделения,
| ДокументыФизическихЛиц.Представление КАК Представление,
| ДокументыФизическихЛиц.ВидДокумента КАК ВидДокумента,
| ОсновныеДанныеКонтрактаДоговораСотрудника.НомерДоговораКонтракта КАК НомерДоговораКонтракта,
| ОсновныеДанныеКонтрактаДоговораСотрудника.ДатаДоговораКонтракта КАК ДатаДоговораКонтракта,
| ДокументыФизическихЛиц.ДатаВыдачи КАК ДатаВыдачи,
| КадровыйПеревод.ФизическоеЛицо КАК ФизическоеЛицо,
| ВЫБОР
| КОГДА ЕСТЬNULL(КадровыйПеревод.Ссылка.ГрафикРаботы, 0) = 0
| ТОГДА ГрафикРаботыСотрудников.ГрафикРаботы
| ИНАЧЕ КадровыйПеревод.Ссылка.ГрафикРаботы
| КОНЕЦ КАК ГрафикРаботыСотрудников,
| ВЫБОР
| КОГДА ЕСТЬNULL(РК.Значение, 0) = 0
| ТОГДА 0
| ИНАЧЕ ЕСТЬNULL(РК.Значение, 0)
| КОНЕЦ КАК РКПроцент,
| КонтактнаяИнформация.Представление КАК ЮрАдресОрганизации,
| КадровыйПеревод.Ссылка.Организация.ОГРН КАК ОГРН,
| КадровыйПеревод.Сотрудник КАК Сотрудник,
| КадровыйПеревод.ДатаНачала КАК ДатаНачала,
| КадровыйПеревод.Начисление КАК Начисление,
| КадровыйПеревод.Размер КАК Размер,
| КадровыйПеревод.Ссылка.Должность КАК Должность
|ИЗ
| (ВЫБРАТЬ ПЕРВЫЕ 1
| КадровыйПереводНачисления.Ссылка КАК Ссылка,
| КадровыйПереводНачисления.Начисление КАК Начисление,
| КадровыйПереводНачисления.Размер КАК Размер,
| КадровыйПереводНачисления.Ссылка.Сотрудник КАК Сотрудник,
| КадровыйПереводНачисления.Ссылка.ФизическоеЛицо КАК ФизическоеЛицо,
| КадровыйПереводНачисления.Ссылка.ДатаНачала КАК ДатаНачала,
| КадровыйПереводНачисления.НомерСтроки КАК НомерСтроки
| ИЗ
| Документ.КадровыйПеревод.Начисления КАК КадровыйПереводНачисления
| ГДЕ
| КадровыйПереводНачисления.Ссылка = &Ссылка
| И (КадровыйПереводНачисления.Начисление.Наименование ПОДОБНО ""%клад%""
| ИЛИ КадровыйПереводНачисления.Начисление.Наименование ПОДОБНО ""%плата по часовому тарифу%""
| ИЛИ КадровыйПереводНачисления.Начисление.Наименование ПОДОБНО ""%сложность%"")
|
| УПОРЯДОЧИТЬ ПО
| НомерСтроки УБЫВ) КАК КадровыйПеревод
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| ДокументыФизическихЛицСрезПоследних.Серия КАК Серия,
| ДокументыФизическихЛицСрезПоследних.Номер КАК Номер,
| ДокументыФизическихЛицСрезПоследних.СрокДействия КАК СрокДействия,
| ДокументыФизическихЛицСрезПоследних.КемВыдан КАК КемВыдан,
| ДокументыФизическихЛицСрезПоследних.КодПодразделения КАК КодПодразделения,
| ДокументыФизическихЛицСрезПоследних.Физлицо КАК Физлицо,
| ДокументыФизическихЛицСрезПоследних.Представление КАК Представление,
| ДокументыФизическихЛицСрезПоследних.ВидДокумента КАК ВидДокумента,
| ДокументыФизическихЛицСрезПоследних.ДатаВыдачи КАК ДатаВыдачи
| ИЗ
| РегистрСведений.ДокументыФизическихЛиц.СрезПоследних КАК ДокументыФизическихЛицСрезПоследних) КАК ДокументыФизическихЛиц
| ПО КадровыйПеревод.ФизическоеЛицо = ДокументыФизическихЛиц.Физлицо
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| ОсновныеДанныеКонтрактаДоговораСотрудникаСрезПоследних.НомерДоговораКонтракта КАК НомерДоговораКонтракта,
| ОсновныеДанныеКонтрактаДоговораСотрудникаСрезПоследних.ДатаДоговораКонтракта КАК ДатаДоговораКонтракта,
| ОсновныеДанныеКонтрактаДоговораСотрудникаСрезПоследних.Сотрудник КАК Сотрудник
| ИЗ
| РегистрСведений.ОсновныеДанныеКонтрактаДоговораСотрудника.СрезПоследних КАК ОсновныеДанныеКонтрактаДоговораСотрудникаСрезПоследних) КАК ОсновныеДанныеКонтрактаДоговораСотрудника
| ПО КадровыйПеревод.Сотрудник = ОсновныеДанныеКонтрактаДоговораСотрудника.Сотрудник
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| ГрафикРаботыСотрудниковСрезПоследних.Сотрудник КАК Сотрудник,
| ГрафикРаботыСотрудниковСрезПоследних.ГрафикРаботы КАК ГрафикРаботы
| ИЗ
| РегистрСведений.ГрафикРаботыСотрудников.СрезПоследних(&Дата, ) КАК ГрафикРаботыСотрудниковСрезПоследних) КАК ГрафикРаботыСотрудников
| ПО КадровыйПеревод.Сотрудник = ГрафикРаботыСотрудников.Сотрудник
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| ЗначенияПериодическихПоказателейРасчетаЗарплатыСотрудниковСр езПоследних.Сотрудник КАК Сотрудник,
| ЗначенияПериодическихПоказателейРасчетаЗарплатыСотрудниковСр езПоследних.Значение КАК Значение
| ИЗ
| РегистрСведений.ЗначенияПериодическихПоказателейРасчетаЗарплатыСотрудников.СрезПоследних(&Дата, ) КАК ЗначенияПериодическихПоказателейРасчетаЗарплатыСотрудниковСр езПоследних
| ГДЕ
| ЗначенияПериодическихПоказателейРасчетаЗарплатыСотрудниковСр езПоследних.Показатель.Наименование ПОДОБНО ""%Вредность%"") КАК РК
| ПО КадровыйПеревод.Сотрудник = РК.Сотрудник
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| ОрганизацииКонтактнаяИнформация.Ссылка КАК Ссылка,
| ОрганизацииКонтактнаяИнформация.Представление КАК Представление
| ИЗ
| Справочник.Организации.КонтактнаяИнформация КАК ОрганизацииКонтактнаяИнформация
| ГДЕ
| ОрганизацииКонтактнаяИнформация.Тип = &Тип
| И ОрганизацииКонтактнаяИнформация.Вид = &Вид) КАК КонтактнаяИнформация
| ПО КадровыйПеревод.Ссылка.Организация = КонтактнаяИнформация.Ссылка
|ИТОГИ ПО
| Сотрудник
|АВТОУПОРЯДОЧИВАНИЕ";
КонецЕсли;
Валюта = Справочники.Валюты.НайтиПоКоду("643");
ВыборкаСотрудники = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам,"Сотрудник");
Пока ВыборкаСотрудники.Следующий() Цикл
Если Не Первый Тогда
ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц();
КонецЕсли;
ВыборкаСотрудник = ВыборкаСотрудники.Выбрать();
Оклад=0;
Сложность = 0;
Пока ВыборкаСотрудник.Следующий() Цикл
Если Найти(ВыборкаСотрудник.Начисление,"клад") ИЛИ Найти(ВыборкаСотрудник.Начисление,"плата по часовому тарифу") Тогда
Оклад = ВыборкаСотрудник.Размер;
КонецЕсли;
Если Найти(ВыборкаСотрудник.Начисление,"сложность") Тогда
Сложность = ВыборкаСотрудник.Размер;
КонецЕсли;
ОбластьМакета.Параметры.Заполнить(ВыборкаСотрудник);
ОбластьМакета.Параметры.ТрудовойДоговор = ""+ВыборкаСотрудник.НомерДоговораКонтракта+" от "+Формат(ВыборкаСотрудник.ДатаДоговораКонтракта,"ДЛФ=Д")+"г.";
//Город Организации
АдресаОрганизаций = УправлениеКонтактнойИнформациейЗарплатаКадры.АдресаОрганизаций(ВыборкаСотрудник.СсылкаОрганизация);
ОписаниеЮридическогоАдреса = УправлениеКонтактнойИнформациейЗарплатаКадры.АдресОрганизации(АдресаОрганизаций, ВыборкаСотрудник.СсылкаОрганизация, Справочники.ВидыКонтактнойИнформации.ЮрАдресОрганизации);
СтруктураАдресаОрганизации = ЗарплатаКадры.СтруктураАдресаИзXML(ОписаниеЮридическогоАдреса.ЗначенияПолей, Справочники.ВидыКонтактнойИнформации.ЮрАдресОрганизации);
ОбластьМакета.Параметры.Должность = ВыборкаСотрудник.Должность;
ОбластьМакета.Параметры.Оклад = Оклад;
ОбластьМакета.Параметры.Сложность = Сложность;
ОбластьМакета.Параметры.ОкладПрописью = РаботаСКурсамиВалют.СформироватьСуммуПрописью(Оклад,Валюта);
ОбластьМакета.Параметры.РКПроцент = ВыборкаСотрудник.РКПроцент;
ОбластьМакета.Параметры.ФИОРаботника = ВыборкаСотрудник.ФизическоеЛицо;
ПаспортФИО = Строка(ВыборкаСотрудник.ВидДокумента)
+", серия "
+Строка(ВыборкаСотрудник.Серия)
+", № "+Строка(ВыборкаСотрудник.Номер)
+", выдан: "
+Строка(Формат(ВыборкаСотрудник.ДатаВыдачи,"ДЛФ=Д"))
+" "+Строка(ВыборкаСотрудник.КемВыдан)
+", "
+Строка(ВыборкаСотрудник.КодПодразделения);
ОбластьМакета.Параметры.ПаспортФИО = ПаспортФИО;
КонецЦикла;
ТабДокумент.Вывести(ОбластьМакета);
Первый = Ложь;
КонецЦикла;
Возврат ТабДокумент;
Конецфункции
ПоказатьПо теме из базы знаний
- Т-1 (Приказ о приеме на работу), Трудовой договор микропредприятий, Т-5 (Приказ о переводе работника), Т-8 (Приказ об увольнении), Справка с места работы, Справка о доходах произвольная форма для ЗУП 3.1
- Внешние печатные формы для Зарплата и Управление персоналом 3.1. ЗУП и ЗиКГУ
- Внешние печатные формы для 1С:Зарплата и управление персоналом 3.1
- Внешние печатные формы для 1С:Зарплата и управление персоналом 3.1 -= Все формы за 3 $m =-
- Дополнительное соглашение к трудовому договору (внешняя печатная форма) для ЗУП
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Весь метод не читал, но присмотритесь к этому ЗУП-методу
Какие параметры передавать - разберётесь.
Получите назад коллекцию в виде соответствия, где ключ = Вид начисления, значение - сложная структура со всевозможными данными.
Обходите в цикле и тяните всё, что надо
В чем плюс этого: с релизами способы хранения данных в конфигурации о действующих начислениях могут меняться, и ваш оригинальный запрос и обход "упадут".
Метод, что я показал, упадёт самым последним :)
ТекНачисления = КадровыйУчетРасширенный.ТекущиеНачисленияСотрудника(Сотрудник, ДатаПолученияДанных,,ложь);
Какие параметры передавать - разберётесь.
Получите назад коллекцию в виде соответствия, где ключ = Вид начисления, значение - сложная структура со всевозможными данными.
Обходите в цикле и тяните всё, что надо
В чем плюс этого: с релизами способы хранения данных в конфигурации о действующих начислениях могут меняться, и ваш оригинальный запрос и обход "упадут".
Метод, что я показал, упадёт самым последним :)
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот