![]() |
![]() |
![]() |
|
Эталоны дубли запросом | ☑ | ||
---|---|---|---|---|
0
skupidom
04.08.18
✎
19:23
|
У элементов справочника контрагенты есть реквизиты: вес=количество заполненных реквизитов,вид базы - откуда этот контрагент пришел в базу 1С:
CRM,БП,Торговля. У элемента контрагенты есть 4 УИД по видам базы. Элемент контрагента с заполненным УИД бухгалтерии также заполнен 1 из остальных УИД: CRM,Торговля.. Среди контрагентов есть дубли с одинаковым наименованием. Нужно определить элементы контрагентов эталон он или дубль. Нужно написать 1 запрос по алгоритму: Если есть 2 элемента CRM и только 1 соответствующий ему элемент с УИД Бухгалтерия, то он эталонный. Если 2 элемента CRM и обеим есть соответствие с УИД Бухгалтерия,то эталонный тот, который встречается в максимальном количестве видов баз. Если максимальное количество баз одинаково,эталонный тот, который с максимальным весом заполненности реквизитов. |
|||
1
Лефмихалыч
04.08.18
✎
20:50
|
А зачем эта заморочка с эталонами? Почему просто не объединить все данные, какие есть?
|
|||
2
Cyberhawk
04.08.18
✎
23:32
|
(1) При объединениее (замене ссылок) всегда есть как минимум два кандидата:
- кандидат в УИДы - кандидат в данные Т.е. УИД берем от одного объекта, а данные - от какого-то другого ("эталона", как ТС называет) |
|||
3
skupidom
04.08.18
✎
23:56
|
а можно пример запроса,с условием что может быть > 2 дублей
|
|||
4
Cyberhawk
04.08.18
✎
23:57
|
Какого запроса?
|
|||
5
tesseract
05.08.18
✎
10:54
|
(3) Висячие строки это называется. Опять собеседование?
|
|||
6
Chameleon1980
05.08.18
✎
10:57
|
имеющие количество (наименование)>1
|
|||
7
Лефмихалыч
05.08.18
✎
10:57
|
(2) если речь про замену ссылок, то эталонность объекта зависит только от количества ссылок на него, а не от данных. В этом случае тем более надо данные мерджить все,что есть, а ссылки заменять те, которых меньше.
|
|||
8
Лефмихалыч
05.08.18
✎
10:59
|
(3) ВЫБРАТЬ ИНН
ПОМЕСТИТЬ ВТ Из Справочник.Контрагенты СГРУППИРОВАТЬ ПО ИНН ИМЕЮЩИЕ КОЛИЧЕСТВО(Ссылка)>1; ВЫБРАТЬ ИНН, Ссылка ИЗ ВТ ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.КОнтрагенты как Спр ПО Спр.ИНН = ВТ.ИНН Итоги КОЛИЧЕСТВО(Ссылка) ПО ИНН |
|||
9
Лефмихалыч
05.08.18
✎
11:00
|
точнее >2, а не >1, но - не суть
|
|||
10
skupidom
05.08.18
✎
11:54
|
это самописный справочник и контрагенты - физики,дубли определяются по = полного наименования
|
|||
11
skupidom
07.08.18
✎
13:24
|
сделал такой запрос:
//Запрос = Новый Запрос; //Запрос.Текст = //"ВЫБРАТЬ //| Контрагенты.Ссылка КАК Ссылка, //| Контрагенты1.Ссылка КАК Дубль //|ПОМЕСТИТЬ ВТДубли //|ИЗ //| Справочник.Контрагенты КАК Контрагенты //| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Контрагенты КАК Контрагенты1 //| ПО Контрагенты.НаименованиеПолное = Контрагенты1.НаименованиеПолное //| И Контрагенты.Ссылка <> Контрагенты1.Ссылка //|ГДЕ //| Контрагенты.ВидБазы = &ВидБазы //| И Контрагенты1.ВидБазы = &ВидБазы //| И НЕ Контрагенты.ЮридическоеФизическоеЛицо = &ЮЛ //| И НЕ Контрагенты1.ЮридическоеФизическоеЛицо = &ЮЛ //|; //| //|//////////////////////////////////////////////////////////////////////////////// //|ВЫБРАТЬ //| Контрагенты.GUID_1Строка КАК GUID_1Строка, //| Контрагенты.GUID_3Строка КАК GUID_3Строка, //| ВТДубли.Ссылка КАК Ссылка, //| ВТДубли.Дубль КАК Дубль, //| Контрагенты1.GUID_1Строка КАК GUID_1СтрокаДубль, //| Контрагенты1.GUID_3Строка КАК GUID_3СтрокаДубль //|ИЗ //| ВТДубли КАК ВТДубли //| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Контрагенты КАК Контрагенты //| ПО ВТДубли.Ссылка.GUID_3Строка = Контрагенты.GUID_3Строка //| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Контрагенты КАК Контрагенты1 //| ПО ВТДубли.Дубль.GUID_3Строка = Контрагенты1.GUID_3Строка //|ГДЕ //| (Контрагенты.GUID_1Строка <> &Пусто //| ИЛИ Контрагенты1.GUID_1Строка <> &Пусто) //| И Контрагенты.ВидБазы = &БП //| И Контрагенты1.ВидБазы = &БП"; //Запрос.УстановитьПараметр("ВидБазы",1); //Запрос.УстановитьПараметр("ЮЛ","Юридическое лицо"); //Запрос.УстановитьПараметр("Пусто",""); //Запрос.УстановитьПараметр("БП",2); //Выборка = Запрос.Выполнить().Выбрать(); |
|||
12
skupidom
07.08.18
✎
13:34
|
но по нему выводятся только эталон и дубль, нужно так расширить запрос,чтобы попадали позиции,у которых нет дублей и дублей > 2, коллеги, жизненно необходимо решить
|
|||
13
МихаилМ
07.08.18
✎
13:36
|
так Вы женщина или мужчина ?
|
|||
14
skupidom
07.08.18
✎
14:14
|
женщина
|
|||
15
skupidom
07.08.18
✎
14:18
|
так как с запросом?
|
|||
16
DrShad
07.08.18
✎
14:22
|
вот это поворот
пошел за попкорном |
|||
17
Доминошник
07.08.18
✎
14:50
|
(12) вроде бы так выбор того, у чего нет дублей
ВЫБРАТЬ РАЗЛИЧНЫЕ Контрагенты.НаименованиеПолное ПОМЕСТИТЬ ВТВсе ИЗ Справочник.Контрагенты КАК Контрагенты ГДЕ Контрагенты.ВидБазы = &ВидБазы И НЕ Контрагенты.ЮридическоеФизическоеЛицо = &ЮЛ ; /////////////////////// ВЫБРАТЬ Контрагенты.НаименованиеПолное КАК НаименованиеПолное, Контрагенты.Ссылка КАК Ссылка, Контрагенты1.Ссылка КАК Дубль ПОМЕСТИТЬ ВТДубли ИЗ Справочник.Контрагенты КАК Контрагенты ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Контрагенты КАК Контрагенты1 ПО Контрагенты.НаименованиеПолное = Контрагенты1.НаименованиеПолное И Контрагенты.Ссылка <> Контрагенты1.Ссылка ГДЕ Контрагенты.ВидБазы = &ВидБазы И Контрагенты1.ВидБазы = &ВидБазы И НЕ Контрагенты.ЮридическоеФизическоеЛицо = &ЮЛ И НЕ Контрагенты1.ЮридическоеФизическоеЛицо = &ЮЛ ; /////////////////////// ВЫБРАТЬ ВТВсе.НаименованиеПолное ПОМЕСТИТЬ ВТУникальные ИЗ ВТВсе ГДЕ НЕ ВТВсе.НаименованиеПолное В (ВТДубли.НаименованиеПолное ИЗ ВТДубли КАК ВТДубли) |
|||
18
1Сергей
07.08.18
✎
14:52
|
Есть готовые инструменты по исправлению дублей
|
|||
19
skupidom
07.08.18
✎
14:59
|
эти справочники самописные
|
|||
20
Cyberhawk
07.08.18
✎
17:32
|
(7) Ошибаешься
|
|||
21
DTX 4th
07.08.18
✎
17:38
|
Слишком сложно. Нужны примеры.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |