Имя: Пароль:
1C
 
Форма отчета в ЗуП
🠗 (Фрэнки 10.10.2022 10:20)
0 NIGHTHUNTER
 
10.10.22
06:57
Отчет Анализ начислений и удержаний. Как определить какая форма открывается для формирования отчета?
В самом отчете не указаны формы.
1 SleepyHead
 
гуру
10.10.22
07:21
Посмотри свойства конфигурации. Там есть поле "Форма отчета" - указана общая форма "ФормаОтчета"

Вот она и открывается.
2 NIGHTHUNTER
 
10.10.22
07:27
(1) Да это видимо она. Называется форма отчета. Просматриваю сейчас все эти взаимовызовы.

Как мне можно получить функционал формирования расчетного листка по сотруднику на период за 2 месяца. что бы сохранить его для отправки?

Не пойму в каком направлении двигаться для решения этой задачи.
3 SleepyHead
 
гуру
10.10.22
07:37
(2) Для твоей задачи форма не нужна. Нужно работать с модулем отчета. Дам ниже кусок кода, как я это делаю, разбирайся.

    Таб = Новый ТабличныйДокумент;
    
    ЭтоАванс = Ложь; // подставить истина, если надо получить расчетный листок за первую половину месяца
    ИмяОтчета = "АнализНачисленийИУдержаний" + ?(ЭтоАванс, "Авансом","");
    КлючВариантаОтчета = "РасчетныйЛисток" + ?(ЭтоАванс, "ПерваяПоловинаМесяца","");
    
    ОтчетРЛ = Отчеты[ИмяОтчета].Создать();
    ОтчетРЛ.ИнициализироватьОтчет(КлючВариантаОтчета);
    ОтчетРЛ.КомпоновщикНастроек.ЗагрузитьНастройки(ОтчетРЛ.СхемаКомпоновкиДанных.ВариантыНастроек[КлючВариантаОтчета].Настройки);
    ОтчетРЛ.КомпоновщикНастроек.ПользовательскиеНастройки.ДополнительныеСвойства.Вставить("КлючВарианта", КлючВариантаОтчета);
    ОтчетРЛ.КомпоновщикНастроек.ПользовательскиеНастройки.ДополнительныеСвойства.Вставить("УстанавливаетсяМакетКомпоновкиДанных", Ложь);
        
    Настройки = ОтчетРЛ.КомпоновщикНастроек.Настройки;
    
        МесяцНачисления = '20220101';
    УстановитьЗначениеПараметраСКД(Настройки, "Период", Новый СтандартныйПериод(НачалоМесяца(МесяцНачисления),КонецМесяца(МесяцНачисления)));
    УстановитьЗначениеПараметраСКД(Настройки, "НачалоПериода", НачалоМесяца(МесяцНачисления));
    УстановитьЗначениеПараметраСКД(Настройки, "КонецПериода", КонецМесяца(МесяцНачисления));
    
    ОбщегоНазначенияКлиентСервер.ИзменитьЭлементыОтбора(Настройки.Отбор,"Организация",,Организация,ВидСравненияКомпоновкиДанных.Равно,Истина);
    
    СписокФизЛиц = Новый СписокЗначений;
        // поместить в список ссылку на твоего сотрудника
    ОбщегоНазначенияКлиентСервер.ИзменитьЭлементыОтбора(Настройки.Отбор,"ФизическоеЛицо",, СписокФизЛиц, ВидСравненияКомпоновкиДанных.ВСписке, Истина);
    
    ОтчетРЛ.КомпоновщикНастроек.ЗагрузитьНастройки(Настройки);
    
    ОтчетРЛ.СкомпоноватьРезультат(Таб);
    // теперь в табличном документе отчет расчетный листок по сотруднику за МесяцНачисления. Можешь задать 2 месяца



--------------

Процедура УстановитьЗначениеПараметраСКД(Настройки, Имя, Значение)
    
    П = Настройки.ПараметрыДанных.Элементы.Найти(Имя);
    Если П<>Неопределено Тогда
        П.Использование = Истина;
        П.Значение = Значение;
    КонецЕсли;
КонецПроцедуры
4 Фрэнки
 
10.10.22
08:45
Но похоже, что вообще не нужно лезть в программирование расчетного листка.
Там же другая обработка запускает с параметрами задание на получение Расчетного листка, а затем отправляет результат.
5 SleepyHead
 
гуру
10.10.22
14:19
(4) Все от целей зависит. Ему, наверное, не нужно. У меня была своя задача - подготовка пакета документов по событию (расчет ЗП, больничный, отпуск, увольнение и так далее). Пришлось разбираться, как получать табдоки по типовым отчетам программно, и это касается не только расчетного листка.
6 NIGHTHUNTER
 
11.10.22
02:49
(3) Спасибо. Я понимал, что нужно подобное решение. но не знал как его получить.
Это тоже нужно разбирать.

Как работает, и тд. Хотелось бы разобраться с этой обработкой тоже. В Результат, как я понимаю табличный документ, сформированного отчета?

Пока задача, эта отошла на задний план, и я не могу погружаться в ее решение. Так как там нужно именно погрузиться, для того что бы было понимание решаемой задачи .