|
|
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
|
Вместо конструкции В(&Регион) использовать В ИЕРАРХИИ(&Регион)
И все же на дату лучше поставить условие на промежуток, или сравнивать с началом дня, типа
НАЧАЛОПЕРИОДА(ЗаказПокупателя.ДатаОтгрузки, ДЕНЬ) = НАЧАЛОПЕРИОДА(&ДатаОтгрузки, ДЕНЬ)
|
|
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший