Имя: Пароль:
1C
1C 7.7
v7: Сопоставление номера телефона
0 Sh1ko
 
06.07.11
18:09
Наверно были подобные темы, но "нинашел", поделитесь опытом у кого есть.

Дано : справочник контрагенты, в нем 3 строковых реквизита Телефоны, факс, мобильный, длина - 50+,20,13 соответственно. Сам справочник >

Как не трудно догадаться, в поле "телефоны", может быть несколько телефонов, комментарий текстом и т д, типа "0501234590, спросить ашота". Естественно сам номер телефона может содержать в себе пробелы, "-", скобочки, или матерные слова.

В поле "факс" - аналогично, но длина там меньше, по-этому не все так плохо.

В поле "мобильный" - как правило "нормально" забит мобильный, без скобочек и т д.

Есть экслевский файл (в принципе не суть важно) - со списком исходящих вызовов. Номер там задан строкой, от 5 до 10+ симвловов без каких либо разделителей. (городской номер без кода, городcкой с кодом, межгород, мобильные, зарубеж)

Необходимо по исходящему звонку найти клиента, или несколько клиентов.

В голове пару вариантов есть, хочу услышать еще-).
1 Mikeware
 
06.07.11
18:11
нормализовать телефоны - не предлагать? :-)
заодно набор из 1с сделать можно...
2 Sh1ko
 
06.07.11
18:12
(1) не предлагать-). Ясно, что 10 лет назад надо было через шаблон вводить все телефоны в базу, но слегка поздновато уже-)
3 palpetrovich
 
06.07.11
18:14
(2) наверное один раз поправить будет все-же легче
а мусор - в отдельный реквизит
4 andrewalexk
 
06.07.11
18:14
:) регулярные выражения
5 Sh1ko
 
06.07.11
18:15
Пока идея такая - загнать телефон, факс, мобильный в строку, предварительно сделав строка(число()). Из экселя тоже самое строка(число()), и делать поиск на вхождение в строку, перебором.
6 BuHu
 
06.07.11
18:15
(0) выдернуть только числа из строки
7 BuHu
 
06.07.11
18:19
как то так
|select descr,
   |REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(sp49   ,'-',''),' ',''),'+7','8'),'(',''),')',''),',',' '),';',' '),
   |REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(sp10883,'-',''),' ',''),'+7','8'),'(',''),')',''),',',' '),';',' ')
   |from sc46 with (nolock)where sp49<>'' or sp10883<>''    "  ;
8 FN
 
06.07.11
18:26
(0) на справочник натравливаешь http://infostart.ru/public/16140/ и отдаешь файлик(и) на исправление менеджерам.
За выходные под пивко исправят...
9 BuHu
 
06.07.11
18:29
+(7) если могут быть среди чисел слова то наверно можно коды символов заюзать
10 FN
 
06.07.11
18:30
а для поиска можешь заюзать http://infostart.ru/public/20120/
11 Sh1ko
 
06.07.11
18:30
(8) 24 000 клиента, у которых забит телефон. Пива надо много-)
12 Mikeware
 
06.07.11
18:31
(8) см (4)
13 Sh1ko
 
06.07.11
18:31
А, еще менеджеры не должны быть в курсе происходящего, некоторые время-)
14 FN
 
06.07.11
18:36
(11) во-первых: операция разовая, во-вторых: в Екселе Ctrl-H - замена символов, плюс использование автофильтра поможет.

я за час сделаю, не сильно напрягаясь
15 FN
 
06.07.11
18:41
(13) втихаря от персонала установил лог звонков? :)

тогда вообще просто - сделай подчиненный справочник (скрытый для менеджеров) и один раз заполни его телефонами из основного справочника (например с помощью (4)).
Потом по мере просмотра лога звонков - обновлять базу телефонов.
16 Sh1ko
 
06.07.11
18:44
(15) да я вот уже собираюсь сделать скрытый реквизит, или подч. справочник. При записи писать в него "правильный" список номеров, ну и разово пройтись.

А лог давно ведется, своя мини-атс, мобильные все корпоративные, т.е данные тоже оператор дает.
17 FN
 
06.07.11
18:51
(16)
смотри не скатись до документа "Звонок" и регистра "ДлительностьТелефонныхпереговоров"
:)
18 ambez
 
17.07.11
14:27
(0) Автор, как с тобой можно связаться? дело есть
19 viktor_vv
 
17.07.11
14:30
(17) К этому он и придет :). А длительность АТС выдает в своих логах.
20 Sh1ko
 
18.07.11
11:36
(19) И не только длительность -) пока обошелся док-том, в который грузиться телефон, клиент, дата, время, длительность. Ну и отчетик по этому всему.

(18) [email protected]
21 Sh1ko
 
18.07.11
11:38
(18) но сегодня лучше в скайп стучись, vall5955