|
Загрузка из Excel.Сопоставление элементов со справочником | ☑ | ||
---|---|---|---|---|
0
Karlos88
07.08.13
✎
11:36
|
добрый день.возникла такая проблема.мне необходимо загрузить данные в справочник из Excel. в Excel есть 2 колонки: Наименование и Контрагенты.проблема заключается в колонке Контрагенты.Справочник Контрагенты уже есть.и необходимо чтобы колонка Контрагенты сопоставилась с элементами справочника Контрагенты.
|
|||
1
pessok
07.08.13
✎
11:37
|
СправочникСсылка.НайтиПоНаименованию()
|
|||
2
AlexITGround
07.08.13
✎
11:41
|
(1) самый простой вариант, если наименования в Эксельке нормальные, в противном случае нужно будет писать поиск по справочнику с более сложным алгоритмом.
|
|||
3
Karlos88
07.08.13
✎
11:42
|
просо наименование не точно совпадает со справочником.в справочнике например ОАО "Сбербанк",в файле Сбербанк
|
|||
4
Karlos88
07.08.13
✎
11:43
|
если бы они были нормальные,я бы тему не открыл.они совершенно не совпадают
|
|||
5
Fish
07.08.13
✎
11:44
|
(4) Тогда надо много думать и писать алгоритм поиска соответствий.
|
|||
6
pessok
07.08.13
✎
11:44
|
в запрос условие ПОДОБНО. а вообще - вывести в эксель связку инн/кпп и искать по ней
|
|||
7
Karlos88
07.08.13
✎
11:45
|
В этом то вся и печалька.времени нет.может у кого то че нибудь похожее есть
|
|||
8
AlexITGround
07.08.13
✎
11:47
|
(7) ну реально в файле слишком мало информации, вероятность соответствия "крайне мала" (с)
|
|||
9
Karlos88
07.08.13
✎
11:47
|
с ПОДОБНО уже пробовал.не ищет.
|
|||
10
pessok
07.08.13
✎
11:47
|
если нет времени, то, видимо, есть деньги? за деньги тебе тут пол-форума на коленке нарисует. НО нельзя сопоставить несопоставимое
ООО Рога и Копыта никак не сопоставить с ООО Кога и Ропыта |
|||
11
Fish
07.08.13
✎
11:47
|
(9) Запрос в студию
|
|||
12
pessok
07.08.13
✎
11:48
|
(9) заставь внести в эксель хотя бы ИНН, ну нелепица же
|
|||
13
pessok
07.08.13
✎
11:48
|
(11) кстати, да, наверняка там условие написано неверно
|
|||
14
Галахад
гуру
07.08.13
✎
11:49
|
(10) Можно.
(0) А нафиг надо-то вообще? Что за "Наименование"? |
|||
15
pessok
07.08.13
✎
11:49
|
(14) и как? по ИНН/КПП - да, можно, а по другому как?
|
|||
16
Галахад
гуру
07.08.13
✎
11:50
|
(15) Полнотекстовый поиск.
|
|||
17
pessok
07.08.13
✎
11:52
|
(16) и? искать "ога" и "опыта"?
а если там ООО "МногаОпыта"? |
|||
18
Karlos88
07.08.13
✎
11:52
|
ВЫБРАТЬ
Контрагенты.Ссылка, Контрагенты.Наименование ИЗ Справочник.Контрагенты КАК Контрагенты ГДЕ (Контрагенты.НаименованиеПолное ПОДОБНО &Наим1 ИЛИ Контрагенты.НаименованиеПолное ПОДОБНО &Наим2 ИЛИ Контрагенты.НаименованиеПолное ПОДОБНО &Наим3 ИЛИ Контрагенты.НаименованиеПолное ПОДОБНО &Наим4 ИЛИ Контрагенты.НаименованиеПолное ПОДОБНО &Наим5) |
|||
19
pessok
07.08.13
✎
11:53
|
(18) оуууущщи... почитай про ПОДОБНО
|
|||
20
Karlos88
07.08.13
✎
11:54
|
Запрос.УстановитьПараметр("Наим1", КолонкаКонтрагент);
Запрос.УстановитьПараметр("Наим2","%"+КолонкаКонтрагент+"%"); Запрос.УстановитьПараметр("Наим3","%"+КолонкаКонтрагент); Запрос.УстановитьПараметр("Наим4", КолонкаКонтрагент+"%"); Запрос.УстановитьПараметр("Наим5","_"+КолонкаКонтрагент+"_"); Результат = Запрос.Выполнить(); Если ЗначениеЗаполнено(КонтрагентСсылка) Тогда СправочникОбъект.Контрагент = Результат.Выгрузить(); Конецесли; |
|||
21
Галахад
гуру
07.08.13
✎
11:55
|
(17) Нормально ищет. Но не 100% конечно, нужно одобрение оператора, в некоторых случаях.
|
|||
22
zladenuw
07.08.13
✎
11:56
|
(0) я бы юзверу открывал таблицу соответствий. где 1 столбец то что в файле. а второй столбец. что выбрал он или удалось найти поиском. и кнопку синхронизировать. кодом не получиться
|
|||
23
Karlos88
07.08.13
✎
11:56
|
В файле: 21350-4 (аэр. Псков)
А в 1С: в/ч 21350 - 4 г. Псков |
|||
24
dk
07.08.13
✎
11:57
|
грузить надо постоянно или разово?
--- перед поиском нужно избавиться от ИП ООО ОАО и прочего в названиях - в карточке менять не надо - можно загрузить все в ТЗ и там почистить потом избавиться от регистра - привести все в верхний или нижний еще можно убрать "паразитов" типа : / " . , ) ( пробел |
|||
25
pessok
07.08.13
✎
11:57
|
Результат = Запрос.Выполнить();
Если ЗначениеЗаполнено(КонтрагентСсылка) Тогда СправочникОбъект.Контрагент = Результат.Выгрузить(); Конецесли; это что? ты в СправочникСсылка хочешь записать ТаблицаЗначений? Если НЕ Результат.Пустой() Тогда Выборка = Результат.Выбрать(); Выборка.Следующий(); СправочникОбъект.Контрагент = Выборка.Ссылка; КонецЕсли |
|||
26
dk
07.08.13
✎
11:58
|
(23) не все решается программно, иногда быстрее / дешевле / проще / точнее дать оператору эту работу
|
|||
27
pessok
07.08.13
✎
12:00
|
(23) такое точно не взлетит
|
|||
28
Karlos88
07.08.13
✎
12:03
|
Все хотят чтобы все было автоматизированно.))
|
|||
29
dk
07.08.13
✎
12:08
|
(28) есть разные степени автоматизации
полностью автоматизировать на таких данных не получится - иногда придется оператору вмешиваться и вручную выбирать вариант если повлиять на строну выгрузки данных нет возможности, то можно у себя хранить "неправильные" наименования, тогда при следующих загрузках по ним будет полная автоматизация |
|||
30
Fish
07.08.13
✎
12:08
|
(28) Тогда поставь им задачу: пусть дополнят файл эксель кодами (ИНН/КПП).
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |