|
ЗиУП. Расчетные листки. | ☑ | ||
---|---|---|---|---|
0
егаис
23.12.13
✎
13:38
|
Доброго дня.
Народ, нужен совет, необходимо из документа Начисление з/п печатать расчетные листки по всем сотрудникам из этого документа. Ну или, как вариант, передать список сотрудников из документа в штатный отчет "Расчетные листки". Подскажите, кто сталкивался, как передать список сотрудников в отчет? |
|||
1
егаис
23.12.13
✎
13:42
|
я так понимаю нужно передать параметры компоновки, буду благодарен примеру
|
|||
2
егаис
23.12.13
✎
14:09
|
Процедура ДействияФормыРасчетныеЛистки(Кнопка)
ОтчетРС = Отчеты.РасчетныеЛисткиОрганизаций.Создать(); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ | ВложенныйЗапрос.Сотрудник |ИЗ | (ВЫБРАТЬ | НачислениеЗарплатыРаботникамОрганизацийНачисления.Сотрудник КАК Сотрудник | ИЗ | Документ.НачислениеЗарплатыРаботникамОрганизаций.Начисления КАК НачислениеЗарплатыРаботникамОрганизацийНачисления | ГДЕ | НачислениеЗарплатыРаботникамОрганизацийНачисления.Ссылка = &Ссылка | | ОБЪЕДИНИТЬ | | ВЫБРАТЬ | НачислениеЗарплатыРаботникамОрганизацийДополнительныеНачисления.Сотрудник | ИЗ | Документ.НачислениеЗарплатыРаботникамОрганизаций.ДополнительныеНачисления КАК НачислениеЗарплатыРаботникамОрганизацийДополнительныеНачисления | ГДЕ | НачислениеЗарплатыРаботникамОрганизацийДополнительныеНачисления.Ссылка = &Ссылка | | ОБЪЕДИНИТЬ | | ВЫБРАТЬ | НачислениеЗарплатыРаботникамОрганизацийДоговорыНаВыполнениеРабот.Сотрудник | ИЗ | Документ.НачислениеЗарплатыРаботникамОрганизаций.ДоговорыНаВыполнениеРабот КАК НачислениеЗарплатыРаботникамОрганизацийДоговорыНаВыполнениеРабот | ГДЕ | НачислениеЗарплатыРаботникамОрганизацийДоговорыНаВыполнениеРабот.Ссылка = &Ссылка) КАК ВложенныйЗапрос"; Запрос.УстановитьПараметр("Ссылка", Ссылка); Результат = Запрос.Выполнить().Выгрузить(); СписокСотрудников = Новый СписокЗначений; СписокСотрудников.ЗагрузитьЗначения(Результат.ВыгрузитьКолонку("Сотрудник")); СотрудникОтбор = Новый Структура("ЛевоеЗначение, ВидСравнения, ПравоеЗначение"); СотрудникОтбор.Вставить("ЛевоеЗначение", "Сотрудник"); СотрудникОтбор.Вставить("ВидСравнения", ВидСравненияКомпоновкиДанных.ВСписке); СотрудникОтбор.Вставить("ПравоеЗначение",СписокСотрудников); МассивОтборовСотрудников = Новый Массив; МассивОтборовСотрудников.Добавить(СотрудникОтбор); МассивОтборовПериода = Новый Массив; МассивОтборовПериода.Добавить(Новый Структура("Параметр,Значение","НачалоПериода",ПериодНачисленияДатаНачала)); МассивОтборовПериода.Добавить(Новый Структура("Параметр,Значение","КонецПериода",ПериодНачисленияДатаОкончания)); ОтчетРС.НастроитьОтборыПарметры(МассивОтборовСотрудников,МассивОтборовПериода); ОтчетРС.ПолучитьФорму("ФормаОтчета").Открыть(); КонецПроцедуры |
|||
3
егаис
23.12.13
✎
14:09
|
почти нетленка ))
Не выходит каменный цветочек, что упустил? |
|||
4
егаис
23.12.13
✎
14:12
|
Массив строится верно, но в отчет данные не передаются ( Открывается с сохраненными значениями (
|
|||
5
егаис
23.12.13
✎
14:21
|
хелп
|
|||
6
Аннушка
23.12.13
✎
14:25
|
Посмотри, как сделано в модуле отчёта "УнифицированнаяФормаТ54а" в конце процедуры "СформироватьМакет", там как раз открываются расчётные листки.
|
|||
7
Dmitry77
23.12.13
✎
14:27
|
Добавить кнопку по которой будет открываться отчет "расчетный листок"... Лутше всего сделать это как внешнюю печатную форму...
|
|||
8
егаис
23.12.13
✎
14:36
|
ееессс
(6) огромное спсибо за наводку ) Знаю что кому-то пригодится ) Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ | ВложенныйЗапрос.Сотрудник |ИЗ | (ВЫБРАТЬ | НачислениеЗарплатыРаботникамОрганизацийНачисления.Сотрудник.Физлицо КАК Сотрудник | ИЗ | Документ.НачислениеЗарплатыРаботникамОрганизаций.Начисления КАК НачислениеЗарплатыРаботникамОрганизацийНачисления | ГДЕ | НачислениеЗарплатыРаботникамОрганизацийНачисления.Ссылка = &Ссылка | | ОБЪЕДИНИТЬ | | ВЫБРАТЬ | НачислениеЗарплатыРаботникамОрганизацийДополнительныеНачисления.Сотрудник.Физлицо | ИЗ | Документ.НачислениеЗарплатыРаботникамОрганизаций.ДополнительныеНачисления КАК НачислениеЗарплатыРаботникамОрганизацийДополнительныеНачисления | ГДЕ | НачислениеЗарплатыРаботникамОрганизацийДополнительныеНачисления.Ссылка = &Ссылка | | ОБЪЕДИНИТЬ | | ВЫБРАТЬ | НачислениеЗарплатыРаботникамОрганизацийДоговорыНаВыполнениеРабот.Сотрудник.Физлицо | ИЗ | Документ.НачислениеЗарплатыРаботникамОрганизаций.ДоговорыНаВыполнениеРабот КАК НачислениеЗарплатыРаботникамОрганизацийДоговорыНаВыполнениеРабот | ГДЕ | НачислениеЗарплатыРаботникамОрганизацийДоговорыНаВыполнениеРабот.Ссылка = &Ссылка) КАК ВложенныйЗапрос"; Запрос.УстановитьПараметр("Ссылка", Ссылка); Результат = Запрос.Выполнить().Выгрузить(); СписокСотрудников = Новый СписокЗначений; СписокСотрудников.ЗагрузитьЗначения(Результат.ВыгрузитьКолонку("Сотрудник")); ОтчетРасчетныеЛистки = Отчеты.РасчетныеЛисткиОрганизаций.Создать(); ТиповыеОтчеты.ДобавитьОтбор(ОтчетРасчетныеЛистки.КомпоновщикНастроек, "ФизЛицо", СписокСотрудников, ВидСравненияКомпоновкиДанных.ВСписке); ТиповыеОтчеты.УстановитьПараметр(ОтчетРасчетныеЛистки.КомпоновщикНастроек, "НачалоПериода", ПериодНачисленияДатаНачала); ТиповыеОтчеты.УстановитьПараметр(ОтчетРасчетныеЛистки.КомпоновщикНастроек, "КонецПериода", ПериодНачисленияДатаОкончания); ТиповыеОтчеты.УстановитьПараметр(ОтчетРасчетныеЛистки.КомпоновщикНастроек, "Группировать", ложь); ТиповыеОтчеты.УстановитьПараметр(ОтчетРасчетныеЛистки.КомпоновщикНастроек, "ВидРасчетногоЛистка", "Подробно"); ЭлементПорядка = ОтчетРасчетныеЛистки.КомпоновщикНастроек.Настройки.Порядок.Элементы.Вставить(0, Тип("ЭлементПорядкаКомпоновкиДанных")); ЭлементПорядка.Поле = Новый ПолеКомпоновкиДанных("ПериодРегистрации"); ЭлементПорядка.Использование = Истина; РасчетныеЛисткиОрганизацийОтчет = Новый ТабличныйДокумент; ОтчетРасчетныеЛистки.СформироватьОтчет(РасчетныеЛисткиОрганизацийОтчет); РасчетныеЛисткиОрганизацийОтчет.Показать(); |
|||
9
Аннушка
23.12.13
✎
14:40
|
Ну я бы ещё период передала по началу концу месяца регистрации, а не месяца начисления, а то ведь в перерасчётах откроются совсем не те листки, которые нужны. А ещё может быть случай, когда в таблицах с начислениями записей нет (например, весь месяц сотрудник проболел или пробыл в отпуске), поэтому надо людей из всех табличных частей вытянуть, а не только из начислений.
|
|||
10
егаис
23.12.13
✎
14:44
|
хм, а если форму не печатать, а вывести, то данные не передаются ((
|
|||
11
Пеппи
23.12.13
✎
14:50
|
(7) +100
Открыть отчет , передав в него в параметр список сотрудников из документа. |
|||
12
егаис
23.12.13
✎
14:52
|
(11) вы вообще в теме? писать свой отчет? Зачем?
Вопрос стоял в передаче параметров в СКД типового отчета |
|||
13
Аннушка
23.12.13
✎
15:02
|
А может лучше нажать на надпись "Показывать расчетный листок" в начислении зарплаты и оттуда печатать? Только фильтр переделать, чтобы не одного человека показывал, а всех из документа.
|
|||
14
Dmitry77
23.12.13
✎
15:09
|
(12) что бы не ломать типовой ЗиУП... Он слишком часто меняется.
Писать отчет - выбрать типовой и сделать его внешним... |
|||
15
егаис
23.12.13
✎
15:13
|
Аннушка, еще вопрос
Как вывести вычисляемые поля? Есть поле "Сумма к выплате", оно не выводится таким методом |
|||
16
егаис
23.12.13
✎
15:14
|
(14) он и не ломается
|
|||
17
Пеппи
23.12.13
✎
15:20
|
(12) Я то в теме, открываешь типовой отчет, передав в него параметры. Как в Бухгалтерии из ОСВ открываются доп.отчеты с доп.отборами
|
|||
18
егаис
23.12.13
✎
15:26
|
я медленно охреневаю, закрыл/открыл ЗУП, суммы выводятся )
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |