Имя: Пароль:
1C
1С v8
Можно ли в запросе получить штрих-коды в одну строку?
0 Галахад
 
гуру
26.09.12
08:31
Например у номенклатуры 3 разных штрих-кода.
Хочу такую табличку:
Номенклатура | штрихкод1 + Штрихкод2 + штрихкод3

Это реально?
1 shuhard
 
26.09.12
08:32
(0) в общем случае - нет
2 butterbean
 
26.09.12
08:33
в crl можно
3 Галахад
 
гуру
26.09.12
08:33
(1) А в частном?
4 butterbean
 
26.09.12
08:33
(2)+ в СКД
5 shuhard
 
26.09.12
08:34
(3) в частном - можно
6 Галахад
 
гуру
26.09.12
08:37
Ага, понятно. Спасибо.
7 shuhard
 
26.09.12
08:43
(5) а частность в максимальном числе левых связываний:
ВЫБРАТЬ
   Номенклатура.Ссылка,
   Номенклатура.Наименование + ":" + Номенклатура1.Наименование + ":" + Номенклатура2.Наименование + ":" + Номенклатура3.Наименование КАК Поле1
ИЗ
   Справочник.Номенклатура КАК Номенклатура
       ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Номенклатура1
       ПО Номенклатура.Ссылка = Номенклатура1.Ссылка
       ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Номенклатура2
       ПО Номенклатура.Ссылка = Номенклатура2.Ссылка
       ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Номенклатура3
       ПО Номенклатура.Ссылка = Номенклатура3.Ссылка
8 Галахад
 
гуру
26.09.12
08:50
(7) Подходит. Зенкс, почтеннейший.
9 Галахад
 
гуру
26.09.12
09:04
(7) Не не подходит.
Такой код:

ВЫБРАТЬ РАЗЛИЧНЫЕ
   Штрихкоды.Владелец,
   Штрихкоды.Штрихкод + ";" + Штрихкоды1.Штрихкод + ";" + Штрихкоды2.Штрихкод КАК Штрихкод
ИЗ
   РегистрСведений.Штрихкоды КАК Штрихкоды
       ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.Штрихкоды КАК Штрихкоды2
       ПО Штрихкоды.Владелец = Штрихкоды2.Владелец
       ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.Штрихкоды КАК Штрихкоды1
       ПО Штрихкоды.Владелец = Штрихкоды1.Владелец
ГДЕ
   Штрихкоды.Владелец = &Владелец

вывел 27 строк. Т.е. всевозможные комбинации из трех...
10 shuhard
 
26.09.12
09:05
(9) пипец
11 Ткачев
 
26.09.12
09:07
Как то так...
...
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.Штрихкоды КАК Штрихкоды2
       ПО Штрихкоды.Владелец = Штрихкоды2.Владелец
И Штрихкоды.ШтрихКод <> Штрихкоды2.ШтрихКод
...
12 Галахад
 
гуру
26.09.12
09:10
(11) Уже лучше. Всего 12 строк. :-)
13 shuhard
 
26.09.12
09:14
(12) что-то мешает сделать группировку  ?
14 Галахад
 
гуру
26.09.12
09:16
(13) Не понял. Строки-то все разные.
15 Мимохожий Однако
 
26.09.12
09:18
(0)Традиционно: Зачем? Где в таком виде применять?
16 Ткачев
 
26.09.12
09:20
Попробуй что то типа этого:
ВЫБРАТЬ РАЗЛИЧНЫЕ
   Штрихкоды.Владелец,
   Штрихкоды.Штрихкод + ";" + Штрихкоды1.Штрихкод + ";" + Штрихкоды2.Штрихкод КАК Штрихкод
ИЗ
   РегистрСведений.Штрихкоды КАК Штрихкоды
       ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.Штрихкоды КАК Штрихкоды2
       ПО Штрихкоды.Владелец = Штрихкоды2.Владелец
          И Штрихкоды.ШтрихКод > Штрихкоды2.ШтрихКод
       ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.Штрихкоды КАК Штрихкоды1
       ПО Штрихкоды.Владелец = Штрихкоды1.Владелец
          И Штрихкоды1.ШтрихКод > Штрихкоды2.ШтрихКод
ГДЕ
   Штрихкоды.Владелец = &Владелец
17 Галахад
 
гуру
26.09.12
09:30
(15) Правлю существующий отчет. Пытаюсь обойтись минимальными правками.
18 Галахад
 
гуру
26.09.12
09:31
(16) Не. Вот чего выдает:
9785705714926;9785705714926;2100000899753
9785705714926;9785705722846;2100000899753
9785705722846;9785705714926;2100000899753
9785705722846;9785705722846;2100000899753
9785705722846;9785705722846;9785705714926
19 Ткачев
 
26.09.12
09:33
ВЫБРАТЬ
   &Владелец КАК Владелец,
   Штрихкоды.Штрихкод + " - " + Штрихкоды1.Штрихкод + " - " + Штрихкоды2.Штрихкод + " - " + Штрихкоды3.Штрихкод КАК ШтрихКод
ИЗ
   РегистрСведений.Штрихкоды КАК Штрихкоды
       ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.Штрихкоды КАК Штрихкоды1
           ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.Штрихкоды КАК Штрихкоды2
               ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.Штрихкоды КАК Штрихкоды3
               ПО Штрихкоды2.Владелец = Штрихкоды3.Владелец
                   И Штрихкоды2.Штрихкод > Штрихкоды3.Штрихкод
           ПО Штрихкоды1.Владелец = Штрихкоды2.Владелец
               И Штрихкоды1.Штрихкод > Штрихкоды2.Штрихкод
       ПО Штрихкоды.Владелец = Штрихкоды1.Владелец
           И Штрихкоды.Штрихкод > Штрихкоды1.Штрихкод
20 Галахад
 
гуру
26.09.12
09:34
Вобщем вот так сделал.
ВЫБРАТЬ РАЗЛИЧНЫЕ
   Штрихкоды.Владелец,
   МАКСИМУМ(ВЫБОР
           КОГДА Штрихкоды.Штрихкод <> Штрихкоды1.Штрихкод
                   И Штрихкоды.Штрихкод <> Штрихкоды2.Штрихкод
                   И Штрихкоды2.Штрихкод <> Штрихкоды1.Штрихкод
               ТОГДА Штрихкоды.Штрихкод + ";" + Штрихкоды1.Штрихкод + ";" + Штрихкоды2.Штрихкод
           ИНАЧЕ ""
       КОНЕЦ) КАК Штрихкод
ИЗ
   РегистрСведений.Штрихкоды КАК Штрихкоды
       ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.Штрихкоды КАК Штрихкоды2
       ПО Штрихкоды.Владелец = Штрихкоды2.Владелец
       ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.Штрихкоды КАК Штрихкоды1
       ПО Штрихкоды.Владелец = Штрихкоды1.Владелец
ГДЕ
   Штрихкоды.Владелец = &Владелец

СГРУППИРОВАТЬ ПО
   Штрихкоды.Владелец
21 Галахад
 
гуру
26.09.12
09:35
(19) Гм. Результат - 2954 строки...
22 Ткачев
 
26.09.12
09:44
Еще вариант:
   &Владелец КАК Владелец,
   МАКСИМУМ(ЕСТЬNULL(Штрихкоды.Штрихкод, "") + " - " + ЕСТЬNULL(Штрихкоды1.Штрихкод, "") + " - " + ЕСТЬNULL(Штрихкоды2.Штрихкод, "") + " - " + ЕСТЬNULL(Штрихкоды3.Штрихкод, "")) КАК ШтрихКод
ИЗ
   РегистрСведений.Штрихкоды КАК Штрихкоды
       ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.Штрихкоды КАК Штрихкоды1
           ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.Штрихкоды КАК Штрихкоды2
               ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.Штрихкоды КАК Штрихкоды3
               ПО Штрихкоды2.Владелец = Штрихкоды3.Владелец
                   И Штрихкоды2.Штрихкод > Штрихкоды3.Штрихкод
           ПО Штрихкоды1.Владелец = Штрихкоды2.Владелец
               И Штрихкоды1.Штрихкод > Штрихкоды2.Штрихкод
       ПО Штрихкоды.Владелец = Штрихкоды1.Владелец
           И Штрихкоды.Штрихкод > Штрихкоды1.Штрихкод
23 shuhard
 
26.09.12
09:44
(14)[Не понял. Строки-то все разные.]
пипец*2
24 ptiz
 
26.09.12
09:47
Заменить ">" на "<>"
25 Ткачев
 
26.09.12
09:47
(24)Нет
26 Ткачев
 
26.09.12
09:50
(22)Это для максимум 4-х разных ШК, если надо больше то добавляем еще
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.Штрихкоды КАК ШтрихкодыХ
               ПО ШтрихкодыХ.Владелец = ШтрихкодыХ.Владелец
                   И ШтрихкодыХ.Штрихкод > ШтрихкодыХ.Штрихкод
27 Галахад
 
гуру
26.09.12
09:54
(22) Возвращает:
cd5377033516 - 2100001378875 -  -
А должно:
9785705722846;9785705714926;2100000899753
28 Галахад
 
гуру
26.09.12
09:56
(23) Чего пипец-то? Ну и как это сгруппировать?

2100000899753;2100000899753;2100000899753
2100000899753;2100000899753;9785705714926
2100000899753;2100000899753;9785705722846
2100000899753;9785705714926;2100000899753
2100000899753;9785705714926;9785705714926
2100000899753;9785705714926;9785705722846
2100000899753;9785705722846;2100000899753
2100000899753;9785705722846;9785705714926
2100000899753;9785705722846;9785705722846
9785705714926;2100000899753;2100000899753
9785705714926;2100000899753;9785705714926
9785705714926;2100000899753;9785705722846
9785705714926;9785705714926;2100000899753
9785705714926;9785705714926;9785705714926
9785705714926;9785705714926;9785705722846
9785705714926;9785705722846;2100000899753
9785705714926;9785705722846;9785705714926
9785705714926;9785705722846;9785705722846
9785705722846;2100000899753;2100000899753
9785705722846;2100000899753;9785705714926
9785705722846;2100000899753;9785705722846
9785705722846;9785705714926;2100000899753
9785705722846;9785705714926;9785705714926
9785705722846;9785705714926;9785705722846
9785705722846;9785705722846;2100000899753
9785705722846;9785705722846;9785705714926
9785705722846;9785705722846;9785705722846
29 Ткачев
 
26.09.12
09:57
В (22) +
ГДЕ
   Штрихкоды1.Владелец = &Владелец
30 Ткачев
 
26.09.12
09:58
ВЫБРАТЬ
   &Владелец КАК Владелец,
   МАКСИМУМ(ЕСТЬNULL(Штрихкоды1.Штрихкод, "") + " - " + ЕСТЬNULL(Штрихкоды2.Штрихкод, "") + " - " + ЕСТЬNULL(Штрихкоды3.Штрихкод, "") + " - " + ЕСТЬNULL(Штрихкоды4.Штрихкод, "")) КАК Штрихкод
ИЗ
   РегистрСведений.Штрихкоды КАК Штрихкоды1
       ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.Штрихкоды КАК Штрихкоды2
           ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.Штрихкоды КАК Штрихкоды3
               ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.Штрихкоды КАК Штрихкоды4
               ПО Штрихкоды3.Владелец = Штрихкоды4.Владелец
                   И Штрихкоды3.Штрихкод > Штрихкоды4.Штрихкод
           ПО Штрихкоды2.Владелец = Штрихкоды3.Владелец
               И Штрихкоды2.Штрихкод > Штрихкоды3.Штрихкод
       ПО Штрихкоды1.Владелец = Штрихкоды2.Владелец
           И Штрихкоды1.Штрихкод > Штрихкоды2.Штрихкод
ГДЕ
   Штрихкоды1.Владелец = &Владелец
31 Галахад
 
гуру
26.09.12
10:01
(30) Заработало.
32 Ткачев
 
26.09.12
10:05
(31)Мы без ШК работаем, базы нету готовой, поэтому экспериментируем на чем уж есть.
33 Мимохожий Однако
 
26.09.12
10:41
(17)Что делает этот отчет? ИМХО, ты не ответил.
34 Галахад
 
гуру
26.09.12
10:49
(33) Для чего нужна эта информация? Чтобы сказать, что данный функционал обеспечивается другими способами? Я это уже говорил. Просят сделать в таком виде. И деньги платят именно за это.