Имя: Пароль:
1C
1С v8
v8: Как вытянуть Заказы, в которых регион торговых точек находится в заданном регионе
,
0 SherifSP
 
07.03.13
20:45
ВЫБРАТЬ
   ЗаказПокупателя.Ссылка КАК Заказ,
   ЗаказПокупателя.ТорговаяТочка КАК ТорговаяТочка
ИЗ
   Документ.ЗаказПокупателя КАК ЗаказПокупателя
ГДЕ
   ЗаказПокупателя.Проведен
   И ЗаказПокупателя.ДатаОтгрузки = &ДатаОтгрузки
   И ЗаказПокупателя.ТорговаяТочка.Регион В(&Регион)

СГРУППИРОВАТЬ ПО
   ЗаказПокупателя.Ссылка,
   ЗаказПокупателя.ТорговаяТочка

В итоге ничего, что не так?
1 shuhard
 
07.03.13
20:57
(0)[ЗаказПокупателя.ДатаОтгрузки = &ДатаОтгрузки]
косяк
2 SherifSP
 
08.03.13
10:51
(1) Нет так и должно
3 SherifSP
 
08.03.13
10:51
ВЫБРАТЬ
   ЗаказПокупателя.Ссылка КАК Заказ,
   ЗаказПокупателя.ТорговаяТочка КАК ТорговаяТочка,
   СУММА(ВЫБОР
           КОГДА ЕСТЬNULL(МаршрутныйЛистЭкспедитора.Ссылка, 0) = 0
               ТОГДА 0
           ИНАЧЕ 1
       КОНЕЦ) КАК КоличествоМаршрутов
ИЗ
   Документ.ЗаказПокупателя КАК ЗаказПокупателя
       ЛЕВОЕ СОЕДИНЕНИЕ Документ.МаршрутныйЛистЭкспедитора КАК МаршрутныйЛистЭкспедитора
       ПО ЗаказПокупателя.Ссылка = МаршрутныйЛистЭкспедитора.Заказы.Заказ
       ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
           СУММА(ЗаказПокупателяТовары.Количество * ЗаказПокупателяТовары.Коэффициент * ЗаказПокупателяТовары.Номенклатура.ЕдиницаХраненияОстатков.Вес + ЕСТЬNULL(ЗаказПокупателяВозвратнаяТара.Количество, 0) * ЕСТЬNULL(ЗаказПокупателяВозвратнаяТара.Номенклатура.ЕдиницаХраненияОстатков.Вес, 0)) КАК Вес,
           ЗаказПокупателяТовары.Ссылка КАК Заказ
       ИЗ
           Документ.ЗаказПокупателя.Товары КАК ЗаказПокупателяТовары
               ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказПокупателя.ВозвратнаяТара КАК ЗаказПокупателяВозвратнаяТара
               ПО ЗаказПокупателяТовары.Ссылка = ЗаказПокупателяВозвратнаяТара.Ссылка
       
       СГРУППИРОВАТЬ ПО
           ЗаказПокупателяТовары.Ссылка) КАК ВесЗаказа
       ПО ЗаказПокупателя.Ссылка = ВесЗаказа.Заказ
ГДЕ
   ЗаказПокупателя.Проведен
   И ЗаказПокупателя.ДатаОтгрузки = &ДатаОтгрузки
   И ЗаказПокупателя.ТорговаяТочка.Регион В(&Регион)

СГРУППИРОВАТЬ ПО
   ЗаказПокупателя.Ссылка,
   ЗаказПокупателя.ТорговаяТочка

Если не указывать регион запрос пол часа исполняется, в чем глюк?
4 shuhard
 
08.03.13
10:53
(2)[Нет так и должно]
бред
5 SherifSP
 
08.03.13
10:53
(4) Почему?
6 SherifSP
 
08.03.13
10:55
+(3) Хотя док только 1 с такими параметрами
7 ОчкарикСлава
 
08.03.13
11:09
В дате отгрузки еще и секунды есть. Подумай над этим.
8 SherifSP
 
08.03.13
11:28
(7) Это я знаю)
9 SherifSP
 
08.03.13
11:33
У справочника регионы иерархия по элементам, поэтому нужно выбрать нижний уровень иерархии, а как сделать чтобы при выборе верхнего уровня работало?
10 t731
 
08.03.13
12:11
Вместо конструкции В(&Регион) использовать В ИЕРАРХИИ(&Регион)

И все же на дату лучше поставить условие на промежуток, или сравнивать с началом дня, типа
НАЧАЛОПЕРИОДА(ЗаказПокупателя.ДатаОтгрузки, ДЕНЬ) = НАЧАЛОПЕРИОДА(&ДатаОтгрузки, ДЕНЬ)