![]() |
![]() |
|
Зарплата:Ввод данных СЗВ4.Не понятна логика расчета кол-ва дней?(ошибка?) | ☑ | ||
---|---|---|---|---|
0
xzorkiix
25.12.09
✎
16:50
|
Значит так. Выявили непонятный порядок расчета кол-ва дней, по сути одной формулы. и так код в студию:
ВЫБРАТЬ ЕСТЬNULL(СУММА(ВЫБОР КОГДА ФактическийПериодДействия.ВидРасчета.ВидСтажаСЗВ4 = ЗНАЧЕНИЕ(Перечисление.ВидыСтажаСЗВ4.ВременнаяНетрудоспособность) ТОГДА ВЫБОР КОГДА ФактическийПериодДействия.Сторно ТОГДА -(РАЗНОСТЬДАТ(ФактическийПериодДействия.ПериодДействияНачало, ДОБАВИТЬКДАТЕ(КОНЕЦПЕРИОДА(ФактическийПериодДействия.ПериодДействияКонец, ДЕНЬ), СЕКУНДА, 1), МЕСЯЦ) * 30 + ДЕНЬ(ДОБАВИТЬКДАТЕ(КОНЕЦПЕРИОДА(ФактическийПериодДействия.ПериодДействияКонец, ДЕНЬ), СЕКУНДА, 1)) - ДЕНЬ(ФактическийПериодДействия.ПериодДействияНачало)) ИНАЧЕ РАЗНОСТЬДАТ(ФактическийПериодДействия.ПериодДействияНачало, ДОБАВИТЬКДАТЕ(КОНЕЦПЕРИОДА(ФактическийПериодДействия.ПериодДействияКонец, ДЕНЬ), СЕКУНДА, 1), МЕСЯЦ) * 30 + ДЕНЬ(ДОБАВИТЬКДАТЕ(КОНЕЦПЕРИОДА(ФактическийПериодДействия.ПериодДействияКонец, ДЕНЬ), СЕКУНДА, 1)) - ДЕНЬ(ФактическийПериодДействия.ПериодДействияНачало) КОНЕЦ ИНАЧЕ 0 КОНЕЦ), 0) КАК ДниБолезни, ЕСТЬNULL(СУММА(ВЫБОР КОГДА ФактическийПериодДействия.ВидРасчета.ВидСтажаСЗВ4 = ЗНАЧЕНИЕ(Перечисление.ВидыСтажаСЗВ4.ОтпускБезСохраненияЗарплаты) ТОГДА ВЫБОР КОГДА ФактическийПериодДействия.Сторно ТОГДА -(РАЗНОСТЬДАТ(ФактическийПериодДействия.ПериодДействияНачало, ДОБАВИТЬКДАТЕ(КОНЕЦПЕРИОДА(ФактическийПериодДействия.ПериодДействияКонец, ДЕНЬ), СЕКУНДА, 1), МЕСЯЦ) * 30 + ДЕНЬ(ДОБАВИТЬКДАТЕ(КОНЕЦПЕРИОДА(ФактическийПериодДействия.ПериодДействияКонец, ДЕНЬ), СЕКУНДА, 1)) - ДЕНЬ(ФактическийПериодДействия.ПериодДействияНачало)) ИНАЧЕ РАЗНОСТЬДАТ(ФактическийПериодДействия.ПериодДействияНачало, ДОБАВИТЬКДАТЕ(КОНЕЦПЕРИОДА(ФактическийПериодДействия.ПериодДействияКонец, ДЕНЬ), СЕКУНДА, 1), МЕСЯЦ) * 30 + ДЕНЬ(ДОБАВИТЬКДАТЕ(КОНЕЦПЕРИОДА(ФактическийПериодДействия.ПериодДействияКонец, ДЕНЬ), СЕКУНДА, 1)) - ДЕНЬ(ФактическийПериодДействия.ПериодДействияНачало) КОНЕЦ ИНАЧЕ 0 КОНЕЦ), 0) КАК ДниОтпуска ИЗ РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций.ФактическийПериодДействия( Организация = &ГоловнаяОрганизация И ФизЛицо = &ФизЛицо И Сотрудник.ВидДоговора = &ТрудовойДоговор И Сотрудник.ВидЗанятости <> &ВнутреннееСовместительство И ОбособленноеПодразделение = &ОбособленноеПодразделение И ВидРасчета.ВидСтажаСЗВ4 В (ЗНАЧЕНИЕ(Перечисление.ВидыСтажаСЗВ4.ВременнаяНетрудоспособность), ЗНАЧЕНИЕ(Перечисление.ВидыСтажаСЗВ4.ОтпускБезСохраненияЗарплаты)) И (ПериодДействия МЕЖДУ &НачалоГода И &КонецГода)) КАК ФактическийПериодДействия Сомнение вызывает вот этот код: РАЗНОСТЬДАТ(ФактическийПериодДействия.ПериодДействияНачало, ДОБАВИТЬКДАТЕ(КОНЕЦПЕРИОДА(ФактическийПериодДействия.ПериодДействияКонец, ДЕНЬ), СЕКУНДА, 1), МЕСЯЦ) * 30 + ДЕНЬ(ДОБАВИТЬКДАТЕ(КОНЕЦПЕРИОДА(ФактическийПериодДействия.ПериодДействияКонец, ДЕНЬ), СЕКУНДА, 1)) - ДЕНЬ(ФактическийПериодДействия.ПериодДействияНачало) При такой математики когда ПериодДействияНачало = 27.07, а ФактическийПериодДействия.ПериодДействияКонец = 31.07, количество дней будет ровно 2, а не 3 (проверено на пальцах )).Т.е. проподает день если конец периода приходится на 31ое число. Внимание, знатоки, вопрос: с какого хулахупа в запросе разность дней берется из расчета 30 дней в месяце, а не простым РАЗНОСТЬДАТ? В понедельник попробуем рульнуть с тех.поддержкой, но пока хотелось бы услышать еще чье-нибудь мнение |
|||
1
xzorkiix
25.12.09
✎
16:59
|
(0) опечатка - если период с 29.07 по 31.07 = 2 (с какого? спрашивается так считать)
|
|||
3
Armando
26.12.09
✎
17:38
|
Для расчета стажа используется 30 дней в одном месяце
|
|||
4
xzorkiix
26.12.09
✎
19:13
|
(3) но этот код используют для расчета количества больничных и дней отпуска за период, тем самым теряются дни..
т.е. так и должно быть? |
|||
5
xzorkiix
26.12.09
✎
20:06
|
Период работы - в данном случае выделено два периода работы:
По временной нетрудоспособности (мес. дн.) - указывается суммарное время в месяцах и днях периодов временной нетрудоспособности за отчетный год Отпуск без сохранения заработной платы (мес. дн.) - указывается суммарное время в месяцах и днях нахождения в отпусках без сохранения заработной платы. Период неоплачиваемой нетрудоспособности также включается в период отпуска без сохранения заработной платы. здесь про то что месяц "средневзвешенный" т.е. 30 дней не сказано. смотрю сайт ПФР |
|||
6
xzorkiix
28.12.09
✎
09:02
|
апп
|
|||
7
Трудоголик
28.12.09
✎
19:38
|
чуть-чуть OFF: а кто-нить печатал Табель за декабрь? там КонецПериода = 27.12.09
|
|||
8
Ygich
28.12.09
✎
22:26
|
не я один с этим мучаюсь ))
v8: ЗУП 2.5.19.3. Заполнения стажа в СЗВ 4-1 |
|||
9
Ygich
28.12.09
✎
22:30
|
(7) сколько раз было. табель печатается по текущую дату. передвинь рабочую дату
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |