Разбор текста 1с, определить язык #695993


#0 by Borteg
Добрый день. Пишу выгрузку из клиента банка. Разбираю назначение платежа. Есть например в назначении номер договора М-2305/12-01. Куча контрагентов может поставить на английском  "М" и при разборе этой строки не находит договором у нас в базе, изза того что у нас "М" русская, как можно сделать так чтобы при поиске не обращала внимание на язык или это нереально?((
#1 by kosts
Можно поискать 2 раза с разными вариантами
#2 by fmrlex
табличку соответствий запили.
#3 by Laerys
если не нашел, проверку на похожие буквы, если нашли - замена
#4 by Laerys
А вообще есть КодСимвола на всякий случай
#5 by Borteg
этож какой геморрой...
#6 by fmrlex
Больший геморрой заставить всех контрагентов правильно писать номер договора в назначении платежа.
#7 by Borteg
пытались, бесполезно....
#8 by Laerys
А что, лучше руками чтоли обрабатывать...
#9 by fmrlex
+ Это я о некоторой бессмысленности такого действа, как парсинг назначения и формирования или поиск чего-то по напарсенным значениям
#10 by acsent
заменяй все похожие буквы на английские
#11 by acsent
Тут ты совсем не прав
#12 by Borteg
я вообще предлагал каждому договору присваивать циферный номер, но блин началось договра менять итд итп, и теперь вот сижу велосипед изобретаю.. кто как хочет так и пишет в назначениии, а у нас 1 контрагент =  1 договор , соответственно контрагентов с 1 инн может быть до 100 штук....
#13 by Borteg
+  а маску в назначении только некоторые соблюдают
#14 by fmrlex
Если ты задрессируешь контрагентов не ошибаться, не только в анг/рус а вообще в цифрах, черточках и прочем. То да, подход катит.
#15 by MSII
Можно зафигачить в счета идентификатор и парсить его. Например, "Оплата по договору М-2305/12-01 #33451".
#16 by Borteg
у нас есть код агента, но проблема в том что в 1с контрагентов тонна одинаковых... Поэтому приходится добавлять поиск для договора, я беру номер договора и ищу его в назначении платежа, но вот многих отсекает имеено из этих англ букв
#17 by MSII
Ну так создай уникальный идентификатор договора, состоящий из одних цифр.
#18 by Borteg
да написал уже, и назначении придумал типа кодагент//коддоговора//чехотите то пишите, но комерсанты, юристы начали ругаться что в договоре такое не прописано и тд итп, кароче отказались пока...
#19 by DS
Так а в чем проблема после неудачного поиска по исходному номеру конвертировать этот номер (меняя кириллицу на латиницу) и снова искать?
#20 by Laerys
че мучить систему, уид есть для особо клинических случаев
#21 by Laerys
Проще сначала заменить, а потом искать
#22 by MSII
Там же может быть часть символов в латинице, часть в кириллице.
#23 by DS
Особенно, если в номере больше одной буквы, а контрагент в платежке одну написал кириллицей, а вторую - латиницей...
#24 by Bober
как вариант воспользоваться механизмом полнотекстового поиска (с задание ограничения по объекту метаданных). Там все само делается и учитывается. Либо подгонять условие like.
#25 by MSII
Вариант административный решения - добиться, чтобы цифровая часть номера договора была уникальной и выполнять поиск только по ней, в твоем примере '23051201'.
#26 by Lama12
Не такой уж и геморой. Одна функция. Передаешь ей строку, она в ней все буквы которые не однозначно можно написать, приводит например к русскому или английскому. И только потом по полученной строке ищешь в базе у себя. Надеюсь в базе правила по заведению номеров договора соблюдаются?
#27 by Borteg
надеюсь основополагающее слово
#28 by Borteg
да руками в 1с ничего не попадает, все грузится из учетной базы нашей
#29 by MSII
Проверишь, если не соблюдаются - приведешь в соответствие. У себя-то в базе ты царь и бог. :)
#30 by Laerys
Тока перед божественным вмешательством рекомендуется делать бэкапы, а то знаете ли, боги разные бывают)
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям