Имя: Пароль:
1C
1С v8
Проблема с запросом
0 tolok_d
 
08.10.12
12:23
Знаю, сейчас все будут ругаться, но прошу помощи.
Учу запросы, не могу понять как сделать.
Есть справочник, в нем четыре реквизита: Артикул1,артикул2,Товар1,товар2
Нужно сделать выборку по артикулу(например выбрать те, которые = 1111), но вопрос в том, чтобы результат запроса записывался в ТЗ не в 4 колонки(соответственно Артикул1,артикул2,Товар1,товар2), а в две (артикул,товар)
1 mikecool
 
08.10.12
12:23
объединить
2 mikecool
 
08.10.12
12:24
реквизиты - овно )))
3 Godofsin
 
08.10.12
12:24
Свернуть ТЗ
4 Живой Ископаемый
 
08.10.12
12:25
2(3) ух ты, и что выйдет?
5 Godofsin
 
08.10.12
12:26
(4) 2 колонки )
6 mikecool
 
08.10.12
12:26
(5) сегодня понедельник
7 Godofsin
 
08.10.12
12:28
(6) я неправильно понял (0) сначала, чтоб не клевали, в (3) - овно! ))
8 tolok_d
 
08.10.12
12:30
реквизиты другие, могу написать название, но суть вопроса не поменяется
9 mikecool
 
08.10.12
12:30
(8) что не получается?
10 tolok_d
 
08.10.12
12:30
(1) а можно поподробнее?
11 Живой Ископаемый
 
08.10.12
12:30
2(8) суть ответа (1) тоже не меняется. он правильный.
12 tolok_d
 
08.10.12
12:32
(9) не знаю как на выходе получилась таблица с двумя колонками, у меня получается три

ВЫБРАТЬ
   АналогиНоменклатуры.Товар.Артикул КАК ТоварАртикул,
   АналогиНоменклатуры.Товар КАК Товар,
   АналогиНоменклатуры.Аналог.Артикул КАК АналогАртикул,
   АналогиНоменклатуры.Аналог КАК Аналог
ИЗ
   Справочник.АналогиНоменклатуры КАК АналогиНоменклатуры
ГДЕ
   АналогиНоменклатуры.Товар.Артикул ПОДОБНО &ТоЧтоИщем
   И АналогиНоменклатуры.Аналог.Артикул ПОДОБНО &ТоЧтоИщем
13 tolok_d
 
08.10.12
12:32
(11) не спорю, не знаю как это реализовать, можете подсказать?
14 Живой Ископаемый
 
08.10.12
12:32
2(12) Где здесь "ОБЪЕДИНИТЬ" как было сказано в (1)?
15 mikecool
 
08.10.12
12:34
типа так

ВЫБРАТЬ
   АналогиНоменклатуры.Товар.Артикул КАК ТоварАртикул,
   АналогиНоменклатуры.Товар КАК Товар,
   Ложь ЭтоАналог
ИЗ
   Справочник.АналогиНоменклатуры КАК АналогиНоменклатуры
ГДЕ
   АналогиНоменклатуры.Товар.Артикул ПОДОБНО &ТоЧтоИщем

объединить

ВЫБРАТЬ
    АналогиНоменклатуры.Аналог.Артикул ,
   АналогиНоменклатуры.Аналог,
   Истина
ИЗ
   Справочник.АналогиНоменклатуры КАК АналогиНоменклатуры
ГДЕ
   АналогиНоменклатуры.Товар.Артикул ПОДОБНО &ТоЧтоИщем
16 tolok_d
 
08.10.12
12:35
(15) Спасибо
17 Живой Ископаемый
 
08.10.12
12:35
18 tolok_d
 
08.10.12
12:36
(17) спасибо)))
19 Godofsin
 
08.10.12
12:36
(17) тонкий юмор )))
20 Живой Ископаемый
 
08.10.12
12:37
хм... как скажете.
21 tolok_d
 
08.10.12
12:51
А можете еще подсказать. Если, например, у меня один реквизит отсутствует, например артикул2 есть, а товар 2 пустой, то запрос не тащит этот объект? почему так? и как это можно обойти?
22 Живой Ископаемый
 
08.10.12
12:54
что?
23 tolok_d
 
08.10.12
13:00
(22) у меня , например, один из реквизитов, что используются в запросе, пустой. И потому весь обьект не тащится. Пример Артикул1: 111, Товар1:яблоко, Артикул2: 222, Товар2:(пустой) - это элемент справочника. но если я буду запросом выбирать элементы, артикул которых равен 222, то он не потащит Артикул2: 222, Товар2:(пустой)
24 Живой Ископаемый
 
08.10.12
13:01
2(23) потому что кривой запрос, да? выпрями его... Заставь его вытащить тот артикул, не будь тряпкой.
25 tolok_d
 
08.10.12
13:04
(24) тоесть он может нормально тащить даже пустое поле? а чем выпрямлять? и где, если не сложно, подскажите, я только учусь.
26 Живой Ископаемый
 
08.10.12
13:05
чувак, я забыл свои загоризонтные очки, не вижу твой кривой запрос поэтому не знаю как выпрямить... Ну и структуру справочников тоже не вижу.
27 tolok_d
 
08.10.12
13:07
структура справочника:
 Реквизиты:
   -Артикул
   -Товар
   -АртикулАналог
   -Аналог

запрос:
"ВЫБРАТЬ
                       |    АналогиНоменклатуры.Аналог.Артикул,
                       |    АналогиНоменклатуры.Аналог
                       |ИЗ
                       |    Справочник.АналогиНоменклатуры КАК АналогиНоменклатуры
                       |ГДЕ
                       |    АналогиНоменклатуры.Аналог.Артикул ПОДОБНО &ТоЧтоИщем
                       |
                       |ОБЪЕДИНИТЬ
                       |
                       |ВЫБРАТЬ
                       |    АналогиНоменклатуры.Товар.Артикул,
                       |    АналогиНоменклатуры.Товар
                       |ИЗ
                       |    Справочник.АналогиНоменклатуры КАК АналогиНоменклатуры
                       |ГДЕ
                       |    АналогиНоменклатуры.Товар.Артикул ПОДОБНО &ТоЧтоИщем";
28 mikecool
 
08.10.12
13:10
если артикул есть, то и товар или аналог есть
29 Живой Ископаемый
 
08.10.12
13:11
и какой запрос не тянет

Артикул2: 222, Товар2:(пустой) - первый или второй? вернее какой из них предполагается должен тянуть?

эВообще запрос предполагает что если он артикул вернул, то и товар/аналог тоже вернулся.
30 tolok_d
 
08.10.12
13:12
(29) и тот и тот должен тянуть
31 tolok_d
 
08.10.12
13:13
(28) не совсем понял
32 Живой Ископаемый
 
08.10.12
13:13
отлично, а как вы убедились что не тянет?
33 Живой Ископаемый
 
08.10.12
13:15
2(28) У тебя артикул в обоих запроса - значение реквизита элемента справочника. Есть элемент, есть артикул, если нет элемента, нет артикула. А ты нам паришь фантастику, что Артикул есть, а элемента нет.
Тогда вопрос - значение реквизита какого элемента ты показал как ратикул?
34 tolok_d
 
08.10.12
13:20
(33) да, понял ошибку. просто специфика задания в том, что если товара нет на производстве, можно занести его артикул, мол может когда то будет.
Тогда вопрос. Запросом же можно потащить просто то что находится в АртикулАналог и Аналог?
35 tolok_d
 
08.10.12
13:20
(32) не тянет, потому что протестировал, и не потянуло((
36 tolok_d
 
08.10.12
13:31
я так понял, это нереально?
37 Живой Ископаемый
 
08.10.12
14:04
да но тогда нужно не
 АналогиНоменклатуры.Товар.Артикул,
из
Справочник.АналогиНоменклатуры КАК АналогиНоменклатуры

а левое соединение наверное...
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс