![]() |
#25 |
Участник
|
Есть уточнение по поводу расширенного типа 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 влево, то для номеров в номерных сериях префиксы использовать ОБЯЗАТЕЛЬНО (по умолчанию, т.е. если вы не доказали обратного). |
|