Имя: Пароль:
1C
1С v8
Не выводит остатки при таком запросе
0 dfaa
 
18.08.11
10:54
ВЫБРАТЬ
   ВложенныйЗапрос.Номенклатура,
   ВложенныйЗапрос.Склад,
   ВложенныйЗапрос.Характеристика,
   ТоварыНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток,
   ТоварыНаСкладахОстаткиИОбороты.КоличествоПриход,
   ТоварыНаСкладахОстаткиИОбороты.КоличествоРасход,
   ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток
ИЗ
   (ВЫБРАТЬ
       Номенклатура.Ссылка КАК Номенклатура,
       Склады.Ссылка КАК Склад,
       ХарактеристикиНоменклатуры.Ссылка КАК Характеристика
   ИЗ
       Справочник.Склады КАК Склады,
       Справочник.Номенклатура КАК Номенклатура
           ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ХарактеристикиНоменклатуры КАК ХарактеристикиНоменклатуры
           ПО Номенклатура.Ссылка = ХарактеристикиНоменклатуры.Владелец) КАК ВложенныйЗапрос
       ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(&ДатаНач, &ДатаКон, Авто, , ) КАК ТоварыНаСкладахОстаткиИОбороты
       ПО ВложенныйЗапрос.Номенклатура = ТоварыНаСкладахОстаткиИОбороты.Номенклатура
           И ВложенныйЗапрос.Склад = ТоварыНаСкладахОстаткиИОбороты.Склад
           И ВложенныйЗапрос.Характеристика = ТоварыНаСкладахОстаткиИОбороты.ХарактеристикаНоменклатуры
ГДЕ
   ВложенныйЗапрос.Номенклатура В ИЕРАРХИИ(&Номенклатура)
   И ВложенныйЗапрос.Склад = &Склад


Почему то не выводит ВСЕ остатки, выводит только часть остатков. В чём может быть проблема?
1 lubja
 
18.08.11
10:58
возможно, в условии... попробуй его перенести во вложенный запрос
2 lubja
 
18.08.11
11:00
и зачем тебе в запросе вытаскивать все склады, если ты в условии ставишь ограничения на склад?
почему не сделать

Выбрать
  &Склад КАК Склад,
  Номенклатура.Ссылка КАК Номенклатура,
  ....
3 dfaa
 
18.08.11
11:02
(2) не в условии ограничение на склад я поставил когда пытался выявить в чём может быть проблема, смотрел остатки по конкретно по складам
4 lubja
 
18.08.11
11:02
(3) т.е изначально запрос без условия? или условие было на номенклатура?
5 lubja
 
18.08.11
11:03
номенклатура = номенклатуру
6 dfaa
 
18.08.11
11:04
(5) да было по номенклатуре условие, перенёс условие во вложенный не поменялось так же не видит остатки
7 Renat11111
 
18.08.11
11:04
(1) А в Геленджике на пляже песок есть или показалось?
8 Renat11111
 
18.08.11
11:05
(0) &ДатаКон как устанавливаешь?
9 lubja
 
18.08.11
11:05
(7) на городской пляж завозят в начале сезона, а так камни
10 Renat11111
 
18.08.11
11:06
(9) Жаль а то уже хотел поехать. Уж подумал хоть где то на ЧМ песок есть
11 lubja
 
18.08.11
11:07
(10) в анапе песок
12 dfaa
 
18.08.11
11:07
(8) как конец дня. если ты об этом
13 Renat11111
 
18.08.11
11:07
+(8) Используй границу.
14 dfaa
 
18.08.11
11:08
(13) пробовал и как границу не идёт. может что то в запросе не так ?
15 zbv
 
18.08.11
11:09
(14) а что вы подразумеваете под "не выводит ВСЕ остатки, выводит только часть остатков" - ?

что выдает запрос, и что должен выдавать по вашему мнению ?
16 lubja
 
18.08.11
11:10
(14) разбери по частям - посмотри, что выдает вложенный, а потом накручивай запрос...
17 lubja
 
18.08.11
11:11
скорее всего, не у всех номенклатур есть характеристики, и при соединении с регистром выдает лажу...
18 Renat11111
 
18.08.11
11:11
(13) Проблема ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток с этим полем или другие поля тоже не то показывают по-твоему.
19 Renat11111
 
18.08.11
11:12
(11) в следующее лето еду в Анапу!
20 dfaa
 
18.08.11
11:12
(15) сверяю результат запроса с ведомостью по товарам на складах. например по некоторым позициям нет остатков в моём запросе но есть в типовом отчёте
21 unregistered
 
18.08.11
11:12
А что за бардак во вложенном запросе?

Запрос к трём таблицам (Склады, Номенклатура, Харатктеристики), а условий связи только одно. минимум должно быть два условия (количество таблиц минус 1).
22 Renat11111
 
18.08.11
11:12
(17) не врядли там левое соединение (во всех смыслах слова)
23 unregistered
 
18.08.11
11:13
И вообще каков тут смысл вложенного запроса?
24 dfaa
 
18.08.11
11:14
(23) мне в отчёте нужна вся номенклатура, как как можно её соединить таблицы из (21)
25 dfaa
 
18.08.11
11:15
как можно ещё соединить таблицы из (21)
26 Renat11111
 
18.08.11
11:15
вообще тут все можно с регистра взять. Не обижайся у тебя извращение, а не запрос. гавввно вообщем.
27 Renat11111
 
18.08.11
11:16
(25) ну так выбирай номенклатуру в ВТ, а затем соединяй с регистром.
28 dfaa
 
18.08.11
11:16
(26) я не обижаюсь, но из регистра не попадёт вся номенклатура, даже та по которой нет остатков
29 unregistered
 
18.08.11
11:17
(24) Тогда при чем тут склады во вложенном запросе?
30 dfaa
 
18.08.11
11:18
(27) а чтоб попали все склады мне тоже надо выбрать их в ВТ, и тогда вопрос с характеристиками ?
31 dfaa
 
18.08.11
11:18
я же по сути тоже самое делаю во вложенном запросе
32 dfaa
 
18.08.11
11:19
беру номенклатуру и склады, соединяю с регистром всё отлично. А вот с характеристиками лажа
33 lubja
 
18.08.11
11:19
перевожу - смысл такой, чтобы в отчет попала вся номенклатура по всем складам (и та, по которой нет ни остатков, ни движений)
34 unregistered
 
18.08.11
11:19
(30) Ты понимаешь, что получаешь декартово произведение складов и номенклатуры?

Я собственно не против. Просто понять не могу нафиг это надо.
35 unregistered
 
18.08.11
11:21
(33) А характеристики тогда зачем во вложенном запросе?

Или нужно еще и по всем возможным характеристикам для каждого склада и  всей номенклатуры?
36 dfaa
 
18.08.11
11:21
(34) ну это же не мне надо)))) Поставили задачу нужно сделать ))
Лично для себя я бы всё из регистра взял бы, и не извращался))
37 Renat11111
 
18.08.11
11:21
Проверь в консоли запросов вот это:

(ВЫБРАТЬ
       Номенклатура.Ссылка КАК Номенклатура,
       Склады.Ссылка КАК Склад,
       ХарактеристикиНоменклатуры.Ссылка КАК Характеристика
   ИЗ
       Справочник.Склады КАК Склады,
       Справочник.Номенклатура КАК Номенклатура
           ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ХарактеристикиНоменклатуры КАК ХарактеристикиНоменклатуры
           ПО Номенклатура.Ссылка = ХарактеристикиНоменклатуры.Владелец) КАК ВложенныйЗапрос

Если дает все что тебе нужно. Тогда готов спорить что дело в параметрах виртуальной таблиыа

   ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(&ДатаНач, &ДатаКон, Авто, , ) КАК ТоварыНаСкладахОстаткиИОбороты.

&ДатаКон Проверь еще раз как устанавливаешь параметр. Другого тут не дано.
38 lubja
 
18.08.11
11:21
()35 а вот с характеристиками... скорее всего, тоже так же.
39 dfaa
 
18.08.11
11:22
(35) характеристики если беру из регистра тогда остатки плывут, вот и попробовал соединить со справочником
40 lubja
 
18.08.11
11:22
(39) что значит плывут?
41 Renat11111
 
18.08.11
11:29
ВложенныйЗапрос.Номенклатура В ИЕРАРХИИ(&Номенклатура)
   И ВложенныйЗапрос.Склад = &Склад

Поставь условие по одной номенклатуре без всяких иерархий и скади какое поле в выборке по-твоему дает неверный результат.
42 Renat11111
 
18.08.11
11:30
куда делся автор? скоро обед у меня так не интересно все пропущу
43 dfaa
 
18.08.11
11:32
(41) поставил по конкретной номенклатуре, неверный результат у нач остат и конеч остатков
44 Renat11111
 
18.08.11
11:34
(43) кстати идея если ты проверяешь правильность результата на СКД. то устанавливай параметры &ДатаНач, &ДатаКон в СКД.
45 aleks-id
 
18.08.11
11:35
а для зачем лепить левым ТоварыНаСкладах когда в нем есть все эти измерения? мы не ищем легких путей и запрос типа:

ВЫБРАТЬ
   ТоварыНаСкладахОстаткиИОбороты.Склад,
   ТоварыНаСкладахОстаткиИОбороты.Номенклатура,
   ТоварыНаСкладахОстаткиИОбороты.ХарактеристикаНоменклатуры,
   ТоварыНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток,
   ТоварыНаСкладахОстаткиИОбороты.КоличествоПриход,
   ТоварыНаСкладахОстаткиИОбороты.КоличествоРасход
ИЗ
   РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(&ДатаНач, &ДатаКон, , , Склад = &Склад) КАК ТоварыНаСкладахОстаткиИОбороты

уже не кошерен?
46 Renat11111
 
18.08.11
11:36
тоесть на закладке компоновка данных. РегистрНакопления.Продажи.Обороты({(&НачалоПериода)}, {(&НачалоПериода)}, , ) КАК ПродажиОбороты так должно получиться.
47 Renat11111
 
18.08.11
11:37
(45) смотри наверх.
48 dfaa
 
18.08.11
11:37
(45) мне в отчёте нужна вся номенклатура и склады
49 Renat11111
 
18.08.11
11:38
(48) так где ты проверяешь правильность в консоли или на СКД?
50 dfaa
 
18.08.11
11:38
(46) сейчас гляну на СКД
51 Renat11111
 
18.08.11
11:39
(50) Ответь на (49)
52 dfaa
 
18.08.11
11:40
(51)ну вообще и там и там проверял и там и там не сошлось, начал на СКД правда параметры передавал в виртуальную таблицу а не на вкладке в скд, потом в консоли начал пробовать
53 dfaa
 
18.08.11
11:42
(51) не а та же фигня не выводит.

НА скд

//Запрос: Имя:  НаборДанных1 ; ИсточникДанных : ИсточникДанных1
ВЫБРАТЬ
   ТоварыНаСкладахОстаткиИОбороты.Регистратор,
   ТоварыНаСкладахОстаткиИОбороты.ПериодСекунда,
   ВложенныйЗапрос.Номенклатура,
   ВложенныйЗапрос.Склад,
   ВложенныйЗапрос.Характеристика,
   ТоварыНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток,
   ТоварыНаСкладахОстаткиИОбороты.КоличествоПриход,
   ТоварыНаСкладахОстаткиИОбороты.КоличествоРасход,
   ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток
ИЗ
   (ВЫБРАТЬ
       Номенклатура.Ссылка КАК Номенклатура,
       Склады.Ссылка КАК Склад,
       ХарактеристикиНоменклатуры.Ссылка КАК Характеристика
   ИЗ
       Справочник.Склады КАК Склады,
       Справочник.Номенклатура КАК Номенклатура
           ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ХарактеристикиНоменклатуры КАК ХарактеристикиНоменклатуры
           ПО Номенклатура.Ссылка = ХарактеристикиНоменклатуры.Владелец) КАК ВложенныйЗапрос
       ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты({(&НачалоПериода)}, {(&КонецПериода)}, Авто, , ) КАК ТоварыНаСкладахОстаткиИОбороты
       ПО ВложенныйЗапрос.Номенклатура = ТоварыНаСкладахОстаткиИОбороты.Номенклатура
           И ВложенныйЗапрос.Склад = ТоварыНаСкладахОстаткиИОбороты.Склад
           И ВложенныйЗапрос.Характеристика = ТоварыНаСкладахОстаткиИОбороты.ХарактеристикаНоменклатуры
54 Renat11111
 
18.08.11
11:45
(52) как параметры эти устанавливаешь выложи? {(&НачалоПериода)}, {(&КонецПериода)}
55 dfaa
 
18.08.11
11:46
(54) в настройках СКД на закладке параметры
56 Renat11111
 
18.08.11
11:47
(55) ты что издеваешься? как в коде устанавливаешь?
57 dfaa
 
18.08.11
11:51
(56) я если честно немного не пойму в чём разница, если я передам дату через параметры в настройках скд? или установлю её в коде?
58 dfaa
 
18.08.11
11:52
(56) мы же речь ведём не о коде запроса правильно ?
59 Renat11111
 
18.08.11
11:57
Почему то не выводит ВСЕ остатки, выводит только часть остатков. В чём может быть проблема?

твой запрос показывает тебе всю номенклатуру в разрезе всех складов и характеристик? Но неправильно показывает количественные показатели правильно понял?
60 dfaa
 
18.08.11
11:58
(59)правильно
61 Renat11111
 
18.08.11
12:07
(60) тогда все перечитай. и установи правильно параметры запроса
62 dfaa
 
18.08.11
12:10
(61) как их правильно установить?
63 DrHiHi
 
18.08.11
12:18
у тебя ХарактеристикиНоменклатуры может быть null

Естьnull(ХарактеристикиНоменклатуры.Ссылка, значение(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка)) КАК Характеристика
64 dfaa
 
18.08.11
12:25
(63) Да всё верно в этом и был косяк, спасибо огромное !!!!!
2 + 2 = 3.9999999999999999999999999999999...