Страница 1 из 1
Актуальная запись в HISTORYSTR
Добавлено: 08 май 2013, 13:03
niteo
Всем добрый день, есть запись в таблице staffstruct и к ней несколько записей в таблице historystr.
Вопрос, как найти актуальную запись (последнюю действительную) в табличке historystr
Если просто брать getlast из historystr, то в некоторых случаях (еще не выяснил почему так получается), запись, допустим, о создании должности стоит после какой либо записи о изменении оклада. Получается, если необходимо выбрать актуальные данные, вызов функции getlast даст запись со старыми данными.
Если сортировать historystr по dHist, то опять, не все ясно. Это поле содержит только дату, есть случаи когда несколько приказов по должности проходили в один день. Если в historystr сортировать по atl_lastdate то мне не совсем очевидно, на сколько уверенно можно опираться на эту дату.
Re: Актуальная запись в HISTORYSTR
Добавлено: 08 май 2013, 13:08
RAJAH
Может, лучше данные из APPOINTMENTS брать?
Re: Актуальная запись в HISTORYSTR
Добавлено: 08 май 2013, 13:21
niteo
RAJAH писал(а):Может, лучше данные из APPOINTMENTS брать?
Нет, мне необходимо формировать отчет именно по штатному расписанию.
Re: Актуальная запись в HISTORYSTR
Добавлено: 08 май 2013, 15:31
m0p3e
Ищется как
Код: Выделить всё
GetLast HistoryStr
Where (( StaffStruct.Nrec == HistoryStrDate.StaffStr and
and HistDate >>= HistoryStrDate.dHist
))
Но если две записи в один день, то беда. Стараемся таких вещей не допускать.
В начале года вышел под это дело соответствующий патч, но я его не ставил и по какому полю оно работает подсказать не могу.
Код: Выделить всё
STAFF_P_122 (Z_STAFF_RES_8101550, Z_STAFFCAT_RES_810840, Z_STAFFIERREP_RES_810130, Z_STAFFNASTR_RES_810350, Z_STAFFORDERS_RES_810300, Z_STAFFRECRUITING_RES_810210, Z_STAFFSHR_RES_810170, Z_STATIS_RES_810740):
• В историю ставок "Штатного расписания" добавлено поле "№ пп" с порядковым номером записи. Оно недоступно для изменений, при этом предусмотрена возможность перемещать записи вверх/вниз по порядковым номерам в пределах одной даты с помощью соответствующих пунктов локального меню: "Переместить вверх в пределах даты", "Переместить вниз в пределах даты". Перемещение записи создания ставки вниз и записи о ликвидации ставки вверх невозможны. При смене местами последней и предпоследней записей выдается предупреждение о последующем изменении параметров ставки, при утвердительном ответе — корректируется ставка согласно последней записи истории. При ручном добавлении в историю новой записи (F7) в ней проставляется следующий порядковый номер. При удалении не последней записи (F8) для всех последующих записей истории порядковые номера уменьшаются на единицу. При оформлении приказов по РПД с кодами 20…23 порядковый номер для записи проставляется следующим образом: последний порядковый номер в истории на дату изменений + 1; все последующие записи истории корректируются (порядковые номера увеличиваются на единицу). При утверждении приказа РПД-22 осуществляется проверка на наличие даты изменений в приказе, если она пустая — приказ не утверждается, соответствующее предупреждение выдается в протокол. При удалении утвержденного приказа (с кодами 20…23) производится корректировка порядковых номеров записей, располагающихся за удаляемой. Разработана также конвертация истории ставок ШР, при которой будут проставлены порядковые номера в порядке сортировки по датам.
Re: Актуальная запись в HISTORYSTR
Добавлено: 08 май 2013, 16:34
niteo
m0p3e писал(а):В начале года вышел под это дело соответствующий патч, но я его не ставил и по какому полю оно работает подсказать не могу.
Огромное СПАСИБО!!! Поле называется
wfld