Расчет среднего в ЗУП 2.5.80.2 #711497


#0 by Бертыш
Ковыряю расчет среднего в ЗУП 2.5 (Начисление отпуска). Расчетчица плачется что тарифникам ставится 29.4 вместо того что ими отработано (тока тока перешли с ЗИК и могло что-то перенестись криво, но этот вариант я пока не рассматриваю). Потрасировал код. В итоге выловил некий запрос который выливается в выборку ВыборкаОтработанноеВремя = Запрос.Выполнить.Выбрать; Просмотрел склеиваемый запрос. Выявил несколько мест в которых возвращается 29.4. Выкусил текст запроса и подменил своим вариантом где вместо 29.4 возвращаются в каждом фрагменте своё значение, но не 29.4. Это помогло не вникая в детали выявить откуда мы имеем цифру. То есть какая ветка запроса даёт нам итоговую цифру. Возвращающий фрагмент заполняющий поле в модифицированном мной варианте получился такой:     |    ОБЪЕДИНИТЬ ВСЕ Возвращает 27.4. Стал смотреть. Условие с датой изменения для константы в ветке выбора понятно вполне. Непонятен вот этот фрагмент. Вроде бы получается что сравниваются разности дат в двух источниках и если период действия основных начислений менее протяжён чем базовый период записей по расчету среднего то вернем сколько дней отработано, а нет тупо возвращаем константу. Как то у меня это условие в голове не вытанцовывается. Мож просто затупил и кто что подскажет... с незамыленого взгляда или у кого-либо есть разобранный алгоритм расчета среднего заработка для отпуска.
#1 by SeraFim
Продолжайте наблюдения
#2 by SeraFim
В чем вопрос-то? Кстати, с апреля используется 29,3. И вытеснения проверь
#3 by Бертыш
Просто расчетчица, как я понял, хочет что бы вместо 29 и 4 в документ летело фактическое количество отработанных часов.
#4 by piter3
так смотрите оклонения в том периоде и 29.3 все-таки
#5 by Бертыш
Возможно всё-таки 29 и 3, но просто мы пытались сделать переход на начало года. Персонал засаббатировал и в итоге пришлось переходить по состоянию на полугодие. У меня под руками осталась база в которой делали перенос по состоянию на начало года и в ней январский документ по начислению отпуска. На нём я и проверяю.
#6 by mdocs
за каждый период должно быть одно и только одно (!) основное начисление. Иначе ЗУП среднее считает криво (практически никак). Ну или можно добавить сторно в нужном количестве.
#7 by mdocs
зуп считает среднее методом сплошной регистрации явок и не отлонениями, кабы то в методичках не пели.
#8 by VRednaia
Фактически отработанное - это 30/31 или меньше (из-за отклонений)?
#9 by шаэс
Вы вот этими своими искусственными вставками просто занизите/завысите средний для расчета отпуска. расчетчика так устраивает?
#10 by piter3
а расскажите как по нескольким будет высчитывать?
#11 by Бертыш
Спокойствие. Вставок пока в рабочей базе никаких нет. Задача моя кроется в том что мне надо понять почему оно отрабатывает таким вот образом и что у нас в базе не так что бы оно отрабатывало должным, по мнению расчетчицы, образом.
#12 by шаэс
в своей базе проведите начисление отпуска/больничного/невыхода/оплаты по среднему, например, за январь кому-нибудь и начислите ему же зп за январь. после этого введите ему же отпуск в феврале и посмотрите сколько дней для расчета среднего "начисление отпуска" учтется за январь. если учтется нормально, то смотрите какие движения делали документы отклонения и смотрите каких движений по таким же отклонениям не хватает в Ваших переносах.
#13 by Бертыш
Одно основное? Я сформировал отчет по регистру расчет в консоли запросов обеспечив выборку всех существующих записей по данному сотруднику. Перенос из ЗИК в ЗУП создал вид расчета с наименованием "Оплата по часовому тарифу (по тарифному разряду)". Только у этого вида расчета стоит зачет нормы времени в "Да" и ВидВремени в "Отработанное время в пределах нормы времени". Вероятно только оно является основным. В виде расчета стоит что требуется ввод разряда. В карточке сотрудника разряд стоит. Вид расчета в основной заработок индексированный в базу входит.
#14 by mdocs
По методу отклонений, например можете посмотреть реализацию в ЗиК 7.7. Ага. Основное=Отработанное время в пределах нормы времени. Так вот допустим у вас есть две записи оплата по тарифу с периодами действия 01.05-05.05 и 04.05-29.05, а 30.05-31.05 допустим Больничный. Да вот беда ЗУП не увидит неполного месяца т.к. 4 и 5 мая учтется дважды, тут нужно либо убрать пересечение периодов. либо добавить сторно с 04.05 по 05.05 тем же видом оплаты без суммы, причем период регистрации сторно должен быть позднее периода регистрации сторнируемого начисления.
#15 by mdocs
а если у вас например 2 и больше записей по тарифу с периодом 01.05-31.05, об корректном учете среднего можете забыть. Вернее есть способ, но он немного муторный.
#16 by Бертыш
Раньше когда сталкивался с ЗУПом, правда не с тарифниками, а с окладниками, было достаточно настроить вытеснение по видам времени.
#17 by mdocs
не понял причем тут оно. Вытеснение в ЗУП - это вспомогательный механизм для получения ФПД расчета и только. Сами зиписи могут быть либо обычными (+). либо сторно (-). Их "суммой по дням" и формируется период работы сотрудника.
#18 by IBTM
это вообще не правильно, есть офф. расчет этого коэффициента, которого надо придерживаться. по вопросу: это возможно из-за переноса, было тоже самое... помогло проверка/настройка списка вытесняющих видов расчета у основного начисления и перезапись документов "перенос данных"
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С