Непонятна работа метода УстановитьНовыйНомер()

1. Vigor06 10.09.12 17:48 Сейчас в теме
При работе с Клиент-Банком имеем выгрузку,где повторяются номера документов(в нашем случае это 931 и 929 ).
Сам Клиент-Банк имеет такой код в процедуре
ЗаполнитьРеквизитПлатежногоПорученияИсходящего(ОбъектДокумента, ИсходныеДанные)
...
Если ОбъектДокумента.ЭтоНовый() Тогда
  ОбъектДокумента.УстановитьНовыйНомер(Организация.Префикс);
  Если Не ОбщегоНазначения.ЕстьНеЦифры(ИсходныеДанные.Номер) Тогда
	ОкончаниеНомера = Формат(Число(СокрЛП(ИсходныеДанные.Номер)), "ЧН=; ЧГ=0");
	ДлинаОкончания = СтрДлина(ОкончаниеНомера);
	ДлинаНомера = СтрДлина(СокрЛП(ОбъектДокумента.Номер));
	Если ДлинаОкончания < 3 Тогда
		ДлинаОкончания = 3;
	КонецЕсли;

	ОбъектДокумента.Номер = Лев(ОбъектДокумента.Номер, ДлинаНомера - ДлинаОкончания) +   Формат(Число(ОкончаниеНомера), "ЧЦ=" + ДлинаОкончания + "; ЧВН=; ЧГ=0");			
КонецЕсли;
...
Показать

Но получается интересная ситуация: когда у нас есть 2 одинаковых номера документа "931",то методом ОбъектДокумента.УстановитьНовыйНомер(Организация.Префикс) мы сначала получаем номер "КАВ00784986",который впоследствии меняется на "КАВ00784931", а потом этим же методом - "КАВ00784987",который тоже меняется на "КАВ00784931" и в итоге мы получаем ошибку создания второго документа изза совпадения номеров.
НО! Если мы в файле выгрузки меняем,например,первый номер "931" на "999" и у нас остается повторяющимся "929" , то сначала получаем номер "КАВ00784983",который меняется на КАВ00784929, а потом КАВ00785932,который меняется на КАВ0078529 и,соответственно,этот документ тоже создается.
Интересуют 2 вопроса: почему так получается и как эту гадость победить?
По теме из базы знаний
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот