|
Помогите с запросом | ☑ | ||
---|---|---|---|---|
0
sanja26
27.11.11
✎
22:56
|
УТ 11.
Есть табличная часть, учет по характеристикам может вестись, а может и нет. Получаю запросом остатки номенклатуры на дату. В параметр запроса передаю массив номенклатуры, выгруженный из ТЧ. Как можно передать в запрос характеристики, чтобы найти остатки и по ним сразу? |
|||
1
sanja26
27.11.11
✎
22:58
|
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ | СвободныеОстаткиОстатки.Номенклатура, | СвободныеОстаткиОстатки.Характеристика, | ВЫБОР | КОГДА СвободныеОстаткиОстатки.ВНаличииОстаток - СвободныеОстаткиОстатки.ВРезервеОстаток > 0 | ТОГДА СвободныеОстаткиОстатки.ВНаличииОстаток - СвободныеОстаткиОстатки.ВРезервеОстаток | ИНАЧЕ 0 | КОНЕЦ КАК Поле1 |ИЗ | РегистрНакопления.СвободныеОстатки.Остатки( | &Дата, | Номенклатура В (&МассивНоменклатуры) | И Склад = &Склад) КАК СвободныеОстаткиОстатки"; Запрос.УстановитьПараметр("Дата", ОбъектыПечати.Дата); Запрос.УстановитьПараметр("Склад", ОбъектыПечати.Склад); МассивНоменклатуры = ОбъектыПечати.Товары.ВыгрузитьКолонку("Номенклатура"); Запрос.УстановитьПараметр("МассивНоменклатуры", МассивНоменклатуры); |
|||
2
sanja26
27.11.11
✎
23:09
|
Документ "Заказ клиента". Колонка характеристики там по умолчанию
|
|||
3
sanja26
27.11.11
✎
23:21
|
может кто получал остатки по номенклатуре при использовании характеристик?
|
|||
4
Лефмихалыч
27.11.11
✎
23:27
|
ВЫБРАТЬ
| Товары.Номенклатура, | Товары.Характеристика, | Товары.Количество КАК Заказано, | СвободныеОстаткиОстатки.ВНаличииОстаток |ИЗ | РегистрНакопления.СвободныеОстатки.Остатки( | &Дата, | Склад = &Склад) КАК СвободныеОстаткиОстатки |ПРАВОЕ СОЕДИНЕНИЕ Документ.ЗаказКлиента.Товары КАК Товары |ПО Товары.Номенклатура = СвободныеОстаткиОстатки.Номенклатура И |Товары.Характеристика = СвободныеОстаткиОстатки.Характеристика |ГДЕ Товары.Ссылка = &СсылкаНаТвойДокумент"; |
|||
5
sanja26
27.11.11
✎
23:30
|
(4) спасибо)
туплю уже под вечер |
|||
6
H A D G E H O G s
27.11.11
✎
23:35
|
(4) Плохо же!
|
|||
7
H A D G E H O G s
27.11.11
✎
23:38
|
"ВЫБРАТЬ
| СвободныеОстаткиОстатки.Номенклатура, | СвободныеОстаткиОстатки.Характеристика, | ВЫБОР | КОГДА СвободныеОстаткиОстатки.ВНаличииОстаток - СвободныеОстаткиОстатки.ВРезервеОстаток > 0 | ТОГДА СвободныеОстаткиОстатки.ВНаличииОстаток - СвободныеОстаткиОстатки.ВРезервеОстаток | ИНАЧЕ 0 | КОНЕЦ КАК Остаток |ИЗ | РегистрНакопления.СвободныеОстатки.Остатки( | &Дата, | Номенклатура В (&МассивНоменклатуры) | И Склад = &Склад | И Характеристика В (&МассивХарактеристик)) КАК СвободныеОстаткиОстатки"; |
|||
8
Лефмихалыч
27.11.11
✎
23:38
|
(6) ну, лучше, чем изначально все же
|
|||
9
H A D G E H O G s
27.11.11
✎
23:41
|
В (7) - оптимальный, а вот - кошерный
"ВЫБРАТЬ | СвободныеОстаткиОстатки.Номенклатура, | СвободныеОстаткиОстатки.Характеристика, | ВЫБОР | КОГДА СвободныеОстаткиОстатки.ВНаличииОстаток - СвободныеОстаткиОстатки.ВРезервеОстаток > 0 | ТОГДА СвободныеОстаткиОстатки.ВНаличииОстаток - СвободныеОстаткиОстатки.ВРезервеОстаток | ИНАЧЕ 0 | КОНЕЦ КАК Остаток |ИЗ | РегистрНакопления.СвободныеОстатки.Остатки( | &Дата, | Склад = &Склад | И (Номенклатура, Характеристика) В | (ВЫБРАТЬ | ЗаказКлиентаТовары.Номенклатура, | ЗаказКлиентаТовары.Характеристика | ИЗ | Документ.ЗаказКлиента.Товары КАК ЗаказКлиентаТовары | ГДЕ | ЗаказКлиентаТовары.Ссылка = &Ссылка)) КАК СвободныеОстаткиОстатки"; |
|||
10
d_koz
28.11.11
✎
00:22
|
(9)
тогда еще кошернее во временную таблицу сей подзапрос: | (ВЫБРАТЬ | ЗаказКлиентаТовары.Номенклатура, | ЗаказКлиентаТовары.Характеристика | ИЗ | Документ.ЗаказКлиента.Товары КАК ЗаказКлиентаТовары | ГДЕ | ЗаказКлиентаТовары.Ссылка = &Ссылка) :) |
|||
11
sanja26
28.11.11
✎
00:24
|
(7) так я и сам делал. Смущает что 2 несвязанных массива передаются. Понятно, что из одной ТЧ выгружены, но все-таки
|
|||
12
sanja26
28.11.11
✎
00:46
|
к (11)
В табличной части есть колонка "Дата отгрузки", остатки надо получать на эти даты. Если в (4) передам массив дат вместо даты, запрос будет корректно работать? |
|||
13
H A D G E H O G s
28.11.11
✎
00:47
|
(12) Нет
|
|||
14
sanja26
28.11.11
✎
00:48
|
да и массив туда не передается))
|
|||
15
sanja26
28.11.11
✎
00:49
|
ВЫБРАТЬ
ЗаказКлиентаТовары.Количество, ЗаказКлиентаТовары.Номенклатура, ЗаказКлиентаТовары.Характеристика, СвободныеОстаткиОстаткиИОбороты.ВНаличииКонечныйОстаток, СвободныеОстаткиОстаткиИОбороты.ВРезервеКонечныйОстаток, СвободныеОстаткиОстаткиИОбороты.ВНаличииНачальныйОстаток, СвободныеОстаткиОстаткиИОбороты.ВРезервеНачальныйОстаток, СвободныеОстаткиОстаткиИОбороты.ВНаличииОборот, СвободныеОстаткиОстаткиИОбороты.ВНаличииПриход, СвободныеОстаткиОстаткиИОбороты.ВНаличииРасход, СвободныеОстаткиОстаткиИОбороты.ВРезервеОборот, СвободныеОстаткиОстаткиИОбороты.ВРезервеПриход, СвободныеОстаткиОстаткиИОбороты.ВРезервеРасход, СвободныеОстаткиОстаткиИОбороты.Период, ЗаказКлиентаТовары.ДатаОтгрузки ИЗ Документ.ЗаказКлиента.Товары КАК ЗаказКлиентаТовары ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.СвободныеОстатки.ОстаткиИОбороты(, , Секунда, ДвиженияИГраницыПериода, ) КАК СвободныеОстаткиОстаткиИОбороты ПО ЗаказКлиентаТовары.Номенклатура = СвободныеОстаткиОстаткиИОбороты.Номенклатура И ЗаказКлиентаТовары.Характеристика = СвободныеОстаткиОстаткиИОбороты.Характеристика И ЗаказКлиентаТовары.Ссылка.Склад = СвободныеОстаткиОстаткиИОбороты.Склад И ЗаказКлиентаТовары.ДатаОтгрузки = СвободныеОстаткиОстаткиИОбороты.Период ГДЕ ЗаказКлиентаТовары.Ссылка = &Заказ Возвращает NULL по всем ресурсам |
|||
16
дущ
28.11.11
✎
00:53
|
(15) естественно, нахрена это вот прилепил
И ЗаказКлиентаТовары.ДатаОтгрузки = СвободныеОстаткиОстаткиИОбороты.Период |
|||
17
дущ
28.11.11
✎
00:54
|
+(16) хоте, не, вру. Вроде всё верно.
|
|||
18
sanja26
28.11.11
✎
00:55
|
Дата отгрузки в результате запроса заполнена
|
|||
19
sanja26
28.11.11
✎
00:58
|
Разобрался. В строках ТЧ дата без времени. Поставил период день - все показало
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |