При создании маски номера столкнулась с задачей автоматически заполнять пустые разряды нулями. Это позволит решить проблему неверной сортировки по номеру (номер - строка).
Решить эту задачу удалось только путем доработки системной функции генерации номера function GenerateSystemNumber(ItemName)
1) Была добавлена системная настройка OpportunityCapacity (целое число).
В функцию были добавлены следующие строки:
if(MaskName == 'OpportunityMask'){
var Num = SystemNumber.toString();
var Nulls = '';
var MaskLength = GetSystemParameterValueEx('OpportunityCapacity', true);
for (i = 0; i (MaskLength - Num.length); i++){
Nulls = Nulls + '0';
}
if(!IsEmptyValue(Nulls)){
Mask = Mask.replace(/\%1/g, (Nulls+'%1'));
}
}
Вот как выглядит сама функция в итоге:
Теперь номер продажи будет генерироваться с заполнением пустых разрядов нулями. Количество разрядов задается системной настройкой OpportunityCapacity.
В принципе, решение можно сделать универсальным для всех генерируемых номеров.