На будущее, всем кто столкнется с выбором, как реализовывать плановые отпуска, я бы советовал пользоваться блокированными отсутствиями. Еще мне понравился совет Dimon`a.
Dimon написал:
Блокированными записями - как раз по указанной причине. Т.е. я обычно делаю специальный вид отсутствия , но во всех инструкциях пишем, что вводить его надо блокированным
. Воспользовался бы им, но к сожалению, в системе есть переписанные и уже отлаженные отчеты по отпускам. Боюсь их сломать. Ну и всё остальное: переобучение, изменение инструкций, перезагрузка данных - немного напрягают.
Простым удалением "лишней" записи из TIP обойтись не удалось, пришлось "уродовать" схему. Большинство внесенных в схему изменений связаны с функциями PTIPA, RTIPA, которые вызываются при наличии отсутствия в этот день (плановое отсутствие воспринимается также как и фактическое).
Обработку реализовал следующим образом в схеме (на основе TM01):
1)
Вместо 000200 P2001 1 Загрузка данных отсутствия за день
Использовал 000240 P2001 XЗагрузка отсутств за день/Добавление ВП - Считываем врем.пары отсутствий, при этом они добавляются к уже существующим там
2) Создал флажковый вид времени для того чтобы проверять, имеются ли в данный день фактические отсутствия: флажок=0, если отсутствий нет, либо есть, но только плановый отпуск; флажок=1, если есть любое другое отсутствие.
3)Добавил строки:
000250 PTIPA =Z01 GEN Анализ наличия факт.отсутствий - Здесь ставлю флажок
000260 PTIPA =Z02 GEN Убираем лишние ВП - Удаляю врем.пару, если она образована плановым отпуском
4) В правилах, вызываемых через RTIPA, PTIPA добавил обработку, чтобы они не вызывались, если флажок=0.
Жаль только, что на всё это по-первости пришлось много времени потратить....