Есть уточнение по поводу расширенного типа Num.
В коде встречаются сортировки по полям, которые заполняются номерными сериями, унаследованными от этого типа. Например,
NumberSeq.getNumInternal()
...
select forupdate firstonly numberSequenceList
index hint StatIdx
...
или
NumberSeq_RU.getNumFromList()
...
select forupdate list
order by num desc
where list.numberSequence == _table.numberSequence &&
list.status == NumStatus::Free;
...
Если Num выровнять влево и не использовать префикс (он обеспечивает одинаковую длинну кода, что приводит к "правильной" сортировке с т.з. входящего в номер числа), то работа некоторых процедур в Аксапте может стать неадекватной или непредсказуемой.
Второй пример относится к номеру фактуры. Далеко не всегда для номеров фактуры используют префикс. Подбор номера из списка освободившихся номеров для фактур специфичен. Если Num сдвинуть влево и не добавить к формату префикс, то задумка авторов по подбору номера будет работать некорректно.
Аналогичный пример есть в номерах кассовых ордеров (это по памяти, чтобы не рыться специально в АОТе).
Так что я бы посоветовал так. Если сдвигать Num влево, то для номеров в номерных сериях префиксы использовать ОБЯЗАТЕЛЬНО (по умолчанию, т.е. если вы не доказали обратного).
|