|
Причесать контрагентов | ☑ | ||
---|---|---|---|---|
0
Balabass
15.05.13
✎
03:44
|
Есть 4 баз Бух. Везде естественно контрагенты заведены как попало - нет стандарта. ООО"РОГА" ООО "РОГА" ООО РОГА "РОГА" ООО.
По сути - одно и тоже, но в 2х - есть ИНН, в 2х - нет. В 1 есть КПП - в 3х Нет. Поставили задачу - привести контрагентов в порядок, убрать дубли, сделать няшку из говнишка. Сижу ломаю голову. Есть велосипед или теория как это делать? Или изобретать? Сам делаю так - слил всех контрагентов из всех баз в 1 единую. Объединяю контрагентов по реквизитам опорным, удаляю дубли-бубли. А вот следующий щаг по выгрузке обратно и замене элементов представляю смутно. Вообщем советы в студию. |
|||
1
Ursus maritimus
15.05.13
✎
03:48
|
Универсальная обработка на ИТС: ПоискИЗаменаЗначений.
ЗЫ: Контрагентов нужно обувать, а не причесывать. |
|||
2
Balabass
15.05.13
✎
03:51
|
(1) Увы - не на том стуле сижу, чтобы обувать.
Замена и поиск - это финальный этап мне кажется, после причесывания. Или сначала лучше найти и заменить? а потом причесать остатки? |
|||
3
vJet
15.05.13
✎
04:05
|
По поводу наименования.
Кури регулярные выражения, разбивай наименование на отдельные слова, и ищи соответствия по словам. Text minig же) |
|||
4
Balabass
15.05.13
✎
04:23
|
(3) Думал на эту тему. Спасибо за совет.
|
|||
5
vJet
15.05.13
✎
06:22
|
(4)Поделюсь кодом
объектРегЕксп = Новый COMОбъект("VBScript.RegExp"); Функция разобратьТекстРегЕксп(данныеТекст,Шаблон,многоСтрочн,глобальн,игнорироватьРегистр) Результат = Новый Массив; ОбъектРегЕксп.MultiLine = МногоСтрочн; ОбъектРегЕксп.Global = Глобальн; ОбъектРегЕксп.IgnoreCase = ИгнорироватьРегистр; ОбъектРегЕксп.Pattern = Шаблон; результатПоиска = ОбъектРегЕксп.Execute(данныеТекст); Для сч = 0 по результатПоиска.count-1 Цикл Для сч1=0 по результатПоиска.item(сч).SubMatches.Count-1 Цикл Результат.Добавить(результатПоиска.item(сч).SubMatches.item(сч1)); КонецЦикла; КонецЦикла; Возврат Результат; КонецФункции Функция разобратьТекстНаСлова(пТекст) обработанныйТекст = черноваяобработкаТекста(пТекст); результатПоиска = разобратьТекстРегЕксп(обработанныйТекст+" ","(.+?[\s|$])",Ложь,истина,истина); Возврат результатПоиска; КонецФункции |
|||
6
andreymongol82
15.05.13
✎
06:52
|
(5) Спасибо. Пригодится. Закладка.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |