Краткое описание :
Необходимо чтобы при использовании замен правильно формировалась дата выдачи предметов, если выдавался уже ношенный предметОписание :
Личная карточка спецодеждыЧто измененно :
Необходимо, чтобы корректно рассчитывалась дата замены по ненакопительной норме,
если работнику был выдан уже ношенный предмет. Если по замене выдавался ношенный
предмет и его реальный срок носки меньше, чем срок носки по норме, то выдать
следующий предмет работнику по заменяющей спецификации этой нормы (т.е. выполнить
замену) не представляется возможным, пока не пройдет весь срок носки по данной
норме.
Как измененно :
Алгоритм расчета даты замены по спецификации ненакопительной норме,
если по ней уже были выдачи:
1) находим дату эксплуатации (PersSFO.explDate) последнего выданного предмета
(предметов) по данной спецификации нормы;
2) если все предметы с датой эксплуатации, найденной на шаге 1, списаны, то
в качестве даты замены берется последняя дата списания предметов; в качестве
даты списания предмета анализируется PersSFO.spisDate при досрочном списании
предмета, иначе PersSFO.endDate;
3) если есть в носке хотя бы один предмет с датой эксплуатации, найденной на
шаге 1, то рассчитывается, на какой срок хватает этих предметов:
- если срок носки предметов "До износа", то дата замены равна 31/12/2100, т.е.
замену можно выполнить только после списания предмета;
- если предметы выданы по спецификации нормы с признаком "Двойная выдача" или
настройка "Настройки Галактики - Бухгалтерский контур - Спецодежда - Срок
использования в справочнике норм указывается" = "на одну единицу", то предметов
хватает на срок PersSFO.Srok;
- иначе предметов хватает на срок PersSFO.curKol / PersSpec.Kol * PersSFO.Srok;
4) от даты эксплуатации, найденной на шаге 1, отсчитывается срок, найденный на
шаге 3, затем учитываются приостановки срока носки, которые попадают в этот
период; в результате получаем дату замены.