| 
    
            
         
         | 
    
  | 
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) Текущий ЗУП не идеален, но если не пытаться его дорабатывать, то вполне работоспособен.  | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |