Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Начисление отпуска организаций - в расчете календарных дней по среднему попадают дни отпуска за свой счет          
Vladal Подменю пользователя
сообщение 18.08.16, 16:11
Сообщение #1

Оратор
Иконка группы
Группа: Местный
Сообщений: 365
Из: Slovensko
Спасибо сказали: 78 раз
Рейтинг: 0

Разбираю блок ЗУП из УПП 1.3.47.2.

В документе "Начисление отпуска организаций" на вкладке "Расчет среднего заработка" у некоторых работников неверно расчитывается количество календарных дней - не исключаются дни отпуска за свой счет.

Начал разбираться - расчет календарных дней идет по регистрам расчета НачислениеЗарплатыРаботникамОрганизаций и РасчетСреднегоЗаработка, с отбором вид расчета = .ПВР.СреднийЗаработок.ПоЗаработку и ПВР.СреднийЗаработок.ПоЗаработкуДляОтпуска, с дополнительными фильтрами, чтобы ВидРасчета.ЗачетНормыВремени = ИСТИНА и ВидРасчета.ЗачетКалендарныхДней = ИСТИНА.

Это типовой механизм, сверял с последним обновлением.

Наткнулся на то, что иногда в табеле был указан отпуск за свой счет и в РС.СостояниеСотрудниковОрганизаций у этого сотрудника была запись (регистратор - документ ОтпускаОрганизаций).
Создал документы Невыходы на основании этих Отпусков, и частично ситуация исправилась - по конкретными сотрудникам в конкретных месяцах теперь расчет календарных дней происходит правильно - дни отпуска за свой счет стали вычитаться из календарных дней того месяца.

Но остались несколько сотрудников, у которых в регистре расчета НачислениеЗарплатыРаботникамОрганизаций я не нахожу различий и зацепок, сравнивая записи за периоды с правильным расчетом и ошибочным.

Разобрал этот запрос "на части", вывел поля, по которым есть какие-либо соединения или фильтры, сравнения, расчеты - ничего подозрительного не нахожу.

У разных документов по сотруднику еще и разные графики работы - где "пятидневка", а где с фамилией сотрудника - это тоже почему может быть?
Что делать? Как победить?

Я так понимаю, что есть кадровые документы (табель, отпуска организаций), которые изменяют состояние сотрудников.
А есть и расчетные документы (невыходы в организацию, начисление отпска работникам организаций и т.д.).
И в моем случае сломалась цепочка.

Как её починить?

Vladal Подменю пользователя
сообщение 19.08.16, 13:32
Сообщение #2

Оратор
Иконка группы
Группа: Местный
Сообщений: 365
Из: Slovensko
Спасибо сказали: 78 раз
Рейтинг: 0

Что нашел: у регистра расчета есть виртуальная таблица ДанныеГрафика, которая участвует в этом запросе. В раегистре указан график - РС.ГрафикиРаботыПоПериодамВремени.

В правильно начисленных периодах количество дней из реквизита этого графика не попадают, равны null (и прочие реквизиты из соединения с этой таблицей), а в неверно рассчитываемых периодах - по количеству дней, взятых без содержания. От того и плюсуются.

Пример выборки по этой виртуальной таблице с отбором по сотруднику:

март 2016 (правильно)
- рабочих дней 28 Начисление зарплаты - 28
- без содержания 2 Табель учета рабочего времени - NULL
- выходной 1
итого 31

Апрель 2016 (неправильно)
- Рабочих дней 28 нчисление зарплаты - 28
- без содержания табель учета рабочего времени - 2
итого 30. А должно быть 28.

Vladal Подменю пользователя
сообщение 19.08.16, 16:41
Сообщение #3

Оратор
Иконка группы
Группа: Местный
Сообщений: 365
Из: Slovensko
Спасибо сказали: 78 раз
Рейтинг: 0

Как вариант - оформлять невыходы отдельными документами, а не табелем только.

После обновления релиза на 1.3.45.2 в документе "Табель учета рабочего времени" появились записи в реквизит ГрафикРаботыСотрудник (в процедуре ДвиженияПоРегиструРасчета, строка движение.ГрафикРаботыСотрудника = ВыборкаПериодыПропуска.Сотрудник).

Прежде в виртуальной таблице НачисленияРаботникамОрганизаций.ДанныеГрафика такие дни невыхода отображались как NULL, потому что реквизит ГрафикРаботыСотрудник был пустой ссылкой, и не было соединения с регистром сведений ГрафикРаботыПоВидамВремени, который является графиком для РР.НачисленияРаботникамОрганизаций.
В итоге в поле ПроизводственныйКалендарьблаблабла этой виртуальной таблицы было NULL и при сумме с другими строками за этот период получалось необходимое количество календарных дней для расчета средней.

Теперь поле ГрафикРаботыСотрудник всегда заполнено (вспомним обновление 1.3.45.2) и происходит соединение с указанным регистром сведений для графика расчета.
И сумма дней по периоду теперь составляет календарное количество - 28 дней начислено, плюс 2 дня отпуск, которые раньше были NULL, итого 30 дней.
Что неправильно, если не оформлять документ "Невыходы...".

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

Два варианта решения: заставить оформлять эти документы или исключать из выборки строки с видом расчета "Дни неоплачиваемые согласно табелю".

andr_andrey Подменю пользователя
сообщение 22.08.16, 10:16
Сообщение #4

Почти ветеран
Иконка группы
Группа: Местный
Сообщений: 623
Спасибо сказали: 166 раз
Рейтинг: 130.8

Vladal @ 19.08.16, 17:41 *,
Идеально - исправление поставщиком конфигурации.


Signature
#define private public
enum BOOL { FALSE, TRUE, FILENOTFOUND } is made my day

Vladal Подменю пользователя
сообщение 29.08.16, 15:29
Сообщение #5

Оратор
Иконка группы
Группа: Местный
Сообщений: 365
Из: Slovensko
Спасибо сказали: 78 раз
Рейтинг: 0

Цитата(andr_andrey @ 22.08.16, 11:16) *
Vladal @ 19.08.16, 17:41 *,
Идеально - исправление поставщиком конфигурации.
Поставкой обновления и обновлялись.
Написали в 1С, получили ответ, что в некоторых случаях табель может отражать некоторые невыходы, и при расчетах они будут отражаться верно.
но лучше использовать документ НевыходыВОрганизации.

Решили изменением запроса.

Спасибо сказали: Vofka,

tanny Подменю пользователя
сообщение 11.02.17, 18:55
Сообщение #6

Молчаливый
*
Группа: Пользователи
Сообщений: 1
Спасибо сказали: 1 раз
Рейтинг: 0

Vladal @ 29.08.16, 17:29 * ,
так там все проще
нужно убрать в Основных начислениях организации, выбрав Отпуск за свой счет, в закладке время убрать галочку "Засчитывать в календарные дни", и тогда в расчет отпуска подтягивает календарные дни за минусом дней за свой счет

Спасибо сказали: twilight_dream,

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 29.03.24, 4:02
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!