Исправляем ошибку расчета дней компенсации при увольнении в ЗУП 2.1 для Украины

14.02.22

Задачи пользователя - Адаптация типовых решений

При определенных обстоятельствах стандартный механизм расчета дней компенсации отпускных при увольнении не срабатывает. Рассмотрим, почему и как исправить.

Однажды бухгалтер-расчетчик обратилась ко мне с проблемой: при увольнении сотрудника, у него не рассчитывались автоматически отрицательные дни компенсации отпуска. Т.е. сотрудник отгулял весь основной отпуск, положенный за год, но уволился раньше, чем этот самый год истек. 1С упорно не хотела считать "лишние" отпускные дни. 

В украинской ЗУП2.1 положенные дни основного отпуска часто приходится вносить вручную в регистр сведений ПоложенныеЕжегодныеОтпускаРаботников, поэтому при разборе подобных проблем первое, что надо сделать - посмотреть этот регистр с отбором по проблемному работнику. 

Я посмотрел - всё нормально, внесен ежегодный отпуск, 24 дня.

Далее надо посмотреть дни уже использованных отпусков, они хранятся в регистре накопления ИспользованиеЕжегодныхОтпусковРаботников.

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

Беглый просмотр кода выявил проблему: общий модуль ПроцедурыУправленияПерсоналом, процедура ПолучитьТаблицуОстатковДнейОтпуска:

	//В следующем запросе определяется остаток дней отпуска
	Запрос.Текст = "
	|ВЫБРАТЬ
	|	Сотрудник				КАК Сотрудник,
	|	Организация				КАК Организация,
	|	РабочийПериодНачало		КАК РабочийПериодНачало,
	|	РабочийПериодОкончание	КАК РабочийПериодОкончание,
	|	ВидОтпуска				КАК ВидОтпуска,
	|	ПоложеноДнейОтпуска		КАК ПоложеноДнейОтпуска,
	|	ИспользованоДней	КАК ИспользованоДнейОтпуска,
	|	ПоложеноДнейОтпуска - ИспользованоДней КАК ОстатокДнейОтпуска
	|ПОМЕСТИТЬ ВТОстатокДнейОтпуска
	|ИЗ
	|	ВТИспользованоДнейОтпуска	КАК ИспользованоДнейОтпуска
	|ГДЕ
	|	ПоложеноДнейОтпуска - ИспользованоДней > 0
	|";

Проблема в условии: если ПоложеноДнейОтпуска=ИспользованоДней, то временная таблица ВТОстатокДнейОтпуска будет пустой. А итоговый запрос, который рассчитывает дни компенсации с учетом даты увольнения, расположен далее и опирается на данные как раз из этой таблицы. Собственно, достаточно поменять условие запроса на 

	|ГДЕ
	|	ПоложеноДнейОтпуска - ИспользованоДней >= 0

и проблема исправляется.

ЗУП2.1 для Украины компенсация отпуска

См. также

Инструментарий разработчика Роли и права Запросы СКД Программист Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Конфигурации 1cv8 Платные (руб)

Набор инструментов программиста и специалиста 1С для всех конфигураций на управляемых формах. В состав входят инструменты: Консоль запросов, Консоль СКД, Консоль кода, Редактор объекта, Анализ прав доступа, Метаданные, Поиск ссылок, Сравнение объектов, Все функции, Подписки на события и др. Редактор запросов и кода с раскраской и контекстной подсказкой. Доработанный конструктор запросов тонкого клиента. Продукт хорошо оптимизирован и обладает самым широким функционалом среди всех инструментов, представленных на рынке.

10000 руб.

02.09.2020    139805    767    391    

801

Адаптация типовых решений Платформа 1С v8.3 1С:Документооборот Россия Платные (руб)

Расширение конфигурации для «1С:Документооборот КОРП», редакция 3.0. позволяет: 1.использовать произвольные табличные части в качестве дополнительных реквизитов к документу; 2 использовать произвольные табличные части в шаблонах в формате docx для автоматического заполнения таблиц.

29400 руб.

29.06.2023    5119    11    5    

20

Логистика, склад и ТМЦ Адаптация типовых решений Пользователь Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 1С:Управление нашей фирмой 3.0 Россия Управленческий учет Платные (руб)

Чтобы не допустить путаницы с обещаниями клиентам и для четкого контроля исполнения заказов мы используем резервирование товаров. Мы доработали УНФ, чтобы она автоматически отменяла старые резервы и не мешала эффективно продавать.

7200 руб.

02.08.2023    3499    8    0    

26

Инструментарий разработчика Запросы Программист Стажер Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Бесплатно (free)

Пишем на человеческом языке, что нам надо, и получаем текст запроса на языке 1С. Используются большие языковые модели (LLM GPT) от OpenAI или Яндекс на выбор.

15.01.2024    8276    84    mkalimulin    32    

60

Запросы Программист Платформа 1С v8.3 Запросы Конфигурации 1cv8 Бесплатно (free)

Далеко уже не новый тип данных "Схема запроса". Статья о том, как использовать его "попроще". Примеры создания текста запроса с нуля и изменение имеющегося запроса.

06.12.2023    6102    user1923546    26    

48

Адаптация типовых решений Программист Платформа 1С v8.3 1С:Управление торговлей 11 Россия Абонемент ($m)

Доработка типового отчета "Связанные документы" позволяет просто и быстро расширять состав объектов для построения структуры подчиненности документов, используя объекты основной конфигурации и любых расширений.

1 стартмани

27.10.2023    2738    21    avmartynov    14    

53

HighLoad оптимизация Запросы

Очень немногие из тех, кто занимается поддержкой MS SQL, работают с хранилищем запросов. А ведь хранилище запросов – это очень удобный, мощный и, главное, бесплатный инструмент, позволяющий быстро найти и локализовать проблему производительности и потребления ресурсов запросами. В статье расскажем о том, как использовать хранилище запросов в MS SQL и какие плюсы и минусы у него есть.

11.10.2023    17729    skovpin_sa    14    

102
Оставьте свое сообщение