|
1c Расчетный листок программно | ☑ | ||
---|---|---|---|---|
0
illiona
naïve
20.05.24
✎
11:27
|
Добрый день. Формирую программно расчетный листок
Но Организация, Подразделение, Должность, Оклад в табличном документе не заполнены - пустые. Сотрудник и все остальные данные заполнены. ПодробностиСтруктураВозврата = Новый Структура; ОтчетАнализНачисленийИУдержаний = Отчеты.АнализНачисленийИУдержаний.Создать(); ОтчетАнализНачисленийИУдержаний.ИнициализироватьОтчет(); НастройкиОтчета = ОтчетАнализНачисленийИУдержаний.СхемаКомпоновкиДанных.ВариантыНастроек.РасчетныйЛисток.Настройки; ОтчетАнализНачисленийИУдержаний.КомпоновщикНастроек.ЗагрузитьНастройки(НастройкиОтчета); ОтборОтчетАнализНачисленийИУдержаний = ОтчетАнализНачисленийИУдержаний.КомпоновщикНастроек.Настройки.Отбор; ОтборОтчетАнализНачисленийИУдержаний.Элементы.Очистить(); ПараметрыОтчета = ПараметрыОтчетов.Параметры; ПараметрПериод = Неопределено; ПараметрыОтчета.Свойство("Период", ПараметрПериод); Если ЗначениеЗаполнено(ПараметрПериод) Тогда ЗначениеПараметраПериод = ОтчетАнализНачисленийИУдержаний.КомпоновщикНастроек.Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("Период")); ЗначениеПараметраПериод.Значение.ДатаНачала = НачалоМесяца(ПараметрПериод.ДатаНачала); ЗначениеПараметраПериод.Значение.ДатаОкончания = КонецМесяца(ПараметрПериод.ДатаОкончания); КонецЕсли; ПараметрыОтборов = ПараметрыОтчетов.Отбор; Для каждого ОписаниеОтбора Из ПараметрыОтборов Цикл Если ОписаниеОтбора.Ключ = "Сотрудник" Тогда Продолжить; КонецЕсли; ЗарплатаКадрыОтчеты.ДобавитьЭлементОтбора( ОтборОтчетАнализНачисленийИУдержаний, ОписаниеОтбора.Ключ, ОписаниеОтбора.Значение.ВидСравнения, ОписаниеОтбора.Значение.ПравоеЗначение); КонецЦикла; ЗарплатаКадрыОтчеты.ЗаполнитьПользовательскиеПоляВариантаОтчета(КлючВарианта, ОтчетАнализНачисленийИУдержаний.КомпоновщикНастроек.Настройки); ДокументРезультат = Новый ТабличныйДокумент; ЗарплатаКадрыОтчеты.ПриКомпоновкеРезультатаРасчетныйЛисток(ОтчетАнализНачисленийИУдержаний, ДокументРезультат, Неопределено, Истина); СтруктураВозврата.Вставить("РасчетныйЛисток", ДокументРезультат); Возврат СтруктураВозврата; |
|||
1
Волшебник
20.05.24
✎
11:28
|
Отладчик знаете?
|
|||
2
illiona
naïve
20.05.24
✎
11:37
|
Конечно, Я отладкой не вижу в каком конкретно месте посмотреть
|
|||
3
illiona
naïve
20.05.24
✎
11:42
|
вообще не вижу Параметра Подразделение, в какой момент оно должно быть заполнено
|
|||
4
Волшебник
20.05.24
✎
11:45
|
(2) Вы вообще программировать умеете?
|
|||
5
illiona
naïve
20.05.24
✎
11:51
|
Вот у более опытных и спрашиваю, кто не хочет помочь можно не отвечать на форуме
|
|||
6
Gucci76
20.05.24
✎
12:35
|
Возможно это не параметр , а отбор
|
|||
7
_Batoo
20.05.24
✎
12:57
|
Отчеты.АнализНачисленийИУдержаний.РасчетныйЛисток
|
|||
8
illiona
naïve
21.05.24
✎
07:58
|
Получилось сделать вывод: Но теперь выводит лишние данные
//Вывод в таблицу ОтчетРасчетныйЛисток = ЗарплатаКадрыОтчеты.ОтчетРасчетныйЛисток(); Результат = ЗарплатаКадрыОтчеты.ДанныеРасчетныхЛистков( ФизическоеЛицо, Организация, НачалоМесяца(Месяц), КонецМесяца(Месяц), ОтчетРасчетныйЛисток); Если вывести в таблицу, этих нет отсутствий - всё красиво, //Вывод в табличный документ ОтчетРасчетныйЛисток = ЗарплатаКадрыОтчеты.ОтчетРасчетныйЛисток(); Результат = ЗарплатаКадрыОтчеты.ДанныеРасчетныхЛистков( ФизическоеЛицо, Организация, НачалоМесяца(Месяц), КонецМесяца(Месяц), ОтчетРасчетныйЛисток).ДокументРезультат; в Табличном документе Отсутствие по невыясненной причине с днями и часами с минусом. И месяц берет текущий и следующий |
|||
9
Гена
гуру
21.05.24
✎
09:36
|
(8) Раз берёт следующий месяц, то данные собираются не по периоду регистрации, а по периоду действия.
|
|||
10
illiona
naïve
21.05.24
✎
10:03
|
а Отсутствие по невыясненной причине с днями и часами с минусом почему выводит?
|
|||
11
Гена
гуру
21.05.24
✎
10:14
|
(10) Сначала в одном месяце были НН, затем в следующем месяце завели конкретный невыход, например, БЛ, который и сторнировал НН по периоду действия.
|
|||
12
Мультук
гуру
21.05.24
✎
10:22
|
(8)
1) Не вижу чем "Вывод в таблицу" отличается от "Вывод в табличный документ" в моей HRM на выходе структура с единственным полем "ДокументРезультат" Я хз как вы получаете "таблицу" 2) Возьмите некое физ.лицо, сформируйте по нему расчетный листок типовым способом Он по идее должен совпасть с вашим "Вывод в табличный документ" Если и там "хрень", то -- удачи! |
|||
13
illiona
naïve
21.05.24
✎
10:23
|
а можно поставить какой-то отбор и убрать эти данные, для расчетного листка они не нужны
|
|||
14
Гена
гуру
21.05.24
✎
10:25
|
(13) Программист 1С может всё (с) моё
|
|||
15
illiona
naïve
21.05.24
✎
10:29
|
ЗарплатаКадрыОтчеты.ДанныеРасчетныхЛистков(
ФизическоеЛицо, Организация, НачалоМесяца(Месяц), КонецМесяца(Месяц), ОтчетРасчетныйЛисток) содержит и таблицу и табличный документ |
|||
16
illiona
naïve
21.05.24
✎
12:13
|
(12) Сформировала типовым способом, выводит такие же данные, и присутствуют в расчетном листке
Отсутствие по невыясненной причине 01.12 -1 -7 Отсутствие по невыясненной причине 04.12 -1 -15 Отсутствие по невыясненной причине 05.12 -1 -7 Отсутствие по невыясненной причине 08.12 -1 -15 |
|||
17
illiona
naïve
23.05.24
✎
06:51
|
Подскажите как поставить отбор по полю "Сумма" не нулевые значения вывести при выводе Расчетного листка.
НовыйЭлементОтбора = ОтчетРасчетныйЛисток.КомпоновщикНастроек.Настройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); НовыйЭлементОтбора.ЛевоеЗначение = "Сумма"; НовыйЭлементОтбора.Использование = Истина; НовыйЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.НеРавно; НовыйЭлементОтбора.ПравоеЗначение = 0; Ничего не происходит Пробовала также через Дополнительные поля отбора
|
|||
18
Мультук
гуру
23.05.24
✎
08:15
|
(17)
Дам последний "бесполезный" совет 1) Или научитесь программировать или перестаньте лезть в ЗУП. ЗУП гораздо сложнее, чем это может показаться. 2) Если этот ЗУП считает официальную белую ЗП, то тем более 3) По поводу "Но теперь выводит лишние данные". Вы не думали о том, что эти данные не нужно скрывать, нужно разораться, почему они возникают и правильно ли это И искоренить (если нужно) первопричины. 4) Судя по (16) и (17), вам нужно привести в порядок ведение учета в ЗУП Возможно исправить ошибки ведения учета. Нулевые суммы без часов "просто так" не появляются 5) Текущий ЗУП не идеален, но если не пытаться его дорабатывать, то вполне работоспособен. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |