ППИ идентифицируются по дате документа, расчетному счету и
последним трем цифрам номера. В банковских программах ППИ также имеют
Номер ППИ при загрузке формируется с использованием принятого для документов префикса, а справа помещаются три цифры номера ППИ.
Возможна ситуация, когда у организации используется два расчетных счета. При этом в течении периода уникальности ППИ (года) могут появиться две платежки с одинаковым номером, но по разным счетам, например: RN00101 по первому счету и RN00101 по второму счету для платежки с номером 101.
Чтобы избавиться от этой проблемы, нужно использовать следующий код в процедуре ЗаполнитьРеквизитПлатежногоПорученияИсходящего:
ОбъектДокумента.УстановитьНовыйНомер(Организация.Префикс);
Если
Не ОбщегоНазначения.ЕстьНеЦифры(ИсходныеДанные.Номер) Тогда
ОкончаниеНомера = Формат(Число(СокрЛП(ИсходныеДанные.Номер)), "ЧН=;
ЧГ=0");
ДлинаОкончания = СтрДлина(ОкончаниеНомера);
ДлинаНомера = СтрДлина(СокрЛП(ОбъектДокумента.Номер));
Если
ДлинаОкончания < 3 Тогда
ДлинаОкончания = 3;
КонецЕсли;
ОбъектДокумента.Номер = Лев(ОбъектДокумента.Номер, ДлинаНомера
- ДлинаОкончания) + Формат(Число(ОкончаниеНомера),
"ЧЦ=" + ДлинаОкончания + "; ЧВН=;
ЧГ=0");
//200414
Осипов, поиск по номеру
Сч = 1;
СтрокаСимволов = "123456789";
ИсходныйНомер = СокрЛП(ОбъектДокумента.Номер);
ПозицияДобавки = 4;
Поз
= СтрДлина(ИсходныйНомер) - ПозицияДобавки +
1;
Пока
ЗначениеЗаполнено(Документы.ПлатежноеПоручениеИсходящее.НайтиПоНомеру(ОбъектДокумента.Номер, ОбъектДокумента.Дата))
И Сч <= СтрДлина(СтрокаСимволов) Цикл
НовыйНомер = Сред(ИсходныйНомер, 1, Поз-1) + Сред(СтрокаСимволов,
Сч, 1) + Сред(ИсходныйНомер,
Поз+1, 3);
Сообщить("Найдено ППИ с таким номером: " + ИсходныйНомер + " пробуем подобрать другой номер:
" + НовыйНомер);
ОбъектДокумента.Номер = НовыйНомер;
Сч = Сч + 1;
КонецЦикла;
КонецЕсли;
Можно решить проблему и по-другому, не меняя код обработки, реализовав подобный код в подписке на событие записи документа ППИ. Тогда конфигурация более удобно обновляется.
Сообщения об ошибках малоинформативны. Например, сообщается, что документ не может быть записан, но не сообщается почему, не открывается форма созданного, но не записанного документа.