Имя: Пароль:
1C
1С v8
Разделить товар на группы по пересекающемуся штрихкоду запросом
0 al_zzz
 
06.12.21
08:30
Есть таблица номенклатуры и штрихкодов:
   Номенклатура1, Шк1;
   Номенклатура1, Шк2;
   ...................
   НоменклатураН, ШкН
   Можно ли как-то запросом разделить номенклатуру на группы по пересекающимся штрихкодам, чтоб было:
   Группа1,Номенклатура1, Шк1;
   Группа1,Номенклатура1, Шк2;
   Группа1,Номенклатура2, Шк1;
   Группа1,Номенклатура2, Шк3;
   и так далее.
   Как это сделать?
   Как учесть, если номенклатура1 пересекается с номенклатурой2 по одному шк, а номенклатура2 пересекается с номенклатурой3 по другому шк?
   Заранее спасибо!
1 Галахад
 
гуру
06.12.21
08:35
Получить таблицу дубликатов штрихкодов.
К этой таблице привязать таблицу товаров.
2 Фрэнки
 
06.12.21
08:36
(1) скорей всего, что именно сами ШК уникальные. Пары Номенклатура+ШК не уникальные
3 al_zzz
 
06.12.21
08:38
(2) Всё верно. Номенклатура из нескольких баз и велась как попало - дубли имеются.
4 al_zzz
 
06.12.21
09:01
Может быть, какой-то алгоритм готовый имеется, если такое запросом нельзя сделать?
5 Галахад
 
гуру
06.12.21
09:18
(2) (3) Ничего не понял.
6 Bigbro
 
06.12.21
09:23
группировка1 - Номенклатура, группировка2 - штрихкод
и сначала группировка 1 - группировка 2
потом наоборот группировка 2 - группировка 1
получится список номенклатуры с дублями штрихов
и второй список штрихов с дублями номенклатуры.
7 2S
 
06.12.21
09:30
Сумма(1) как всего
если правильно понял
8 Фрэнки
 
06.12.21
09:35
А в данной конкретной базе ШК в каком виде записаны? Это справочник или регистр сведений?
9 Фрэнки
 
06.12.21
09:37
Можно сгруппировать выборку по ШК с максимумом или с минимумом из ссылок на номенклатуры. Чего в этой выборке не будет - лишнее
10 Фрэнки
 
06.12.21
09:39
Это если ШК через РС сделаны с измерением ШК и ресурсом Номенклатура
11 al_zzz
 
06.12.21
09:43
Там просто таблица, загруженная из файла. 67000 строк. Я из неё получаю таблицу: Код; Штрихкод. Связка Код-Штрихкод уникальна. Но может с одним шк быть несколько товаров и надо их в итоговой базе объединить в один.
12 Галахад
 
гуру
06.12.21
09:45
(11) Ну, тогда (1) вроде подходит.
13 al_zzz
 
06.12.21
09:54
https://yadi.sk/d/G5cDes_tOcv6Ww - запрос для консоли.
https://yadi.sk/d/YtrG3ghbbZ2nEg - сама консоль.
14 al_zzz
 
06.12.21
09:57
(12)Что-то не догоняю я...
15 ASU_Diamond
 
06.12.21
10:12
(12) Я так понял, что не всё так просто
Есть следующие данные
Товар1 - 0001
Товар1 - 0002
Товар2 - 0002
Товар2 - 0003
Товар3 - 0001
Товар4 - 0003

Надо указать, что все эти элементы необходимо объединить в один

(0) Такое просто запросом не получить
16 Галахад
 
гуру
06.12.21
10:20
(15) Хм. А я думал, что нужно как-то так:

0001
- Товар1
- Товар3
0002
- Товар1
- Товар2
0003
- Товар2
- Товар4

Что бы юзер выбрал, товар к штрих коду.
17 ASU_Diamond
 
06.12.21
10:35
Осталось дождаться ТС
18 Фрэнки
 
06.12.21
10:42
Ну почему же не получить. Группировкой по ШК с максимумом по Номенклатуре - это первая таблица. Затем второй таблицей будет выборка из того исходника всех, чего нет в первой и соединять это с первой по ШК, но из первой брать Номенклатура1 и получатся на выходе
ШК, Номенклатура1, Номеклатура2
ШК, Номенклатура1, Номеклатура3
ШК, Номенклатура1, Номеклатура4

и т.д.

Ему же резултирующая таблица для свертки номенклатуры нужна?
19 Фрэнки
 
06.12.21
10:50
Можно до выборки из исходника для получения первой таблицы выбрать из справочника Номенклатуры с приоритетом на ту, которую точно лучше оставлять, а затем уже все остальное выбирать
20 ASU_Diamond
 
06.12.21
11:36
(18) как у тебя выйдет, что Товар1 и Товар4 в примере (15) это одно и тоже?
21 Фрэнки
 
06.12.21
11:38
(20) ну вот так и выйдет, что ШК у них одинаковый есть
22 Фрэнки
 
06.12.21
11:39
вот так

ШК, Номенклатура1, Номеклатура4
23 al_zzz
 
06.12.21
11:45
(18) Вот я так же начал. Но это только первая итерация. Потом, по-хорошему, нужно получившуюся таблицу с собой соединять по номенклатуре, которая попала в разные группы. И так пока есть пересечения.
24 al_zzz
 
06.12.21
11:45
(20) Так и надо
25 ASU_Diamond
 
06.12.21
11:54
(21) Нет у них общего ШК, через Товар2 выходят на Товар4
26 ASU_Diamond
 
06.12.21
11:54
(23) Через рекурсию
27 al_zzz
 
06.12.21
12:14
(26) По-видимому, придется так.
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший