fixin (fixin) wrote,
fixin
fixin

Categories:

Окончательное решение проблемы дублей номеров ППИ



Окончательно решил проблему дублирования номеров в ППИ, если у организации используются два счета и номера ППИ могут пересекаться.


Т.к. для поиски платежки используются три последних цифры, то я просто проверяю, существует ли уже документ с таким номером, и если существует, устанавливаю новый код у текущего документа, подставляя последовательно на четвертый символ справа буквы A,B,C и т.п.


Если не сохранять номер платежки в номере документа ППИ, то он потом не найдется при повторной загрузке, что не удобно.


Изменения минимальны:


Процедура ЗаполнитьРеквизитПлатежногоПорученияИсходящего(ОбъектДокумента, ИсходныеДанные)


...


   ОбъектДокумента.Номер = Лев(ОбъектДокумента.Номер, ДлинаНомера - ДлинаОкончания) + Формат(Число(ОкончаниеНомера), "ЧЦ=" + ДлинаОкончания + "; ЧВН=; ЧГ=0");
   
   //200414 Осипов, поиск по номеру
   Сч = 1;
   СтрокаСимволов = "ABCDEFGHIJKLMNOPQRSTUVWXYZАБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЭЮЯ";
   ИсходныйНомер = СокрЛП(ОбъектДокумента.Номер);
   Поз = СтрДлина(ИсходныйНомер) - 3;
   Пока ЗначениеЗаполнено(Документы.ПлатежноеПоручениеИсходящее.НайтиПоНомеру(ОбъектДокумента.Номер, ОбъектДокумента.Дата)) И Сч <= СтрДлина(СтрокаСимволов) Цикл
    НовыйНомер = Сред(ИсходныйНомер, 1, Поз-1) + Сред(СтрокаСимволов, Сч, 1) + Сред(ИсходныйНомер, Поз+1, 3);
    Сообщить("Найдено ППИ с таким номером: " + ИсходныйНомер + " пробуем подобрать другой номер: " + НовыйНомер);
    ОбъектДокумента.Номер = НовыйНомер; 
    Сч = Сч + 1;
   КонецЦикла;

Tags: Типовой функционал 1с8 - Банк
Subscribe

Buy for 40 tokens
Уверен вы даже не догадайтесь о том, о чем сейчас думают большинство европейцев. Нет, совсем не о корона-кризисе, а знаете почему? Дело в том, что сейчас в Европе на повестке дня совсем другая тема. Да, это напрямую связано с деньгами. В Европе началась самая настоящая охота на деньги и…
  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 0 comments