0
GOshaSaveiko
13.03.12
✎
14:49
|
Колупаю все тот же запрос. Многие вопросы порешал, остался последний.
ВЫБРАТЬ
ЗаказыПокупателей.ЗаказПокупателя.Контрагент.Ссылка КАК ЗаказПокупателяКонтрагент,
ЗаказыПокупателей.Номенклатура.Ссылка КАК НоменклатураСсылка,
ЗаказыПокупателей.ЗаказПокупателя.Ссылка КАК ЗаказПокупателяСсылка,
ХарактеристикиНоменклатуры.Комплектация КАК Комплектация,
Производство.ДатаУчастка КАК ДатаНаСклад,
СРЕДНЕЕ(ЦеныНоменклатуры.Цена) КАК Цена,
СУММА(ЗаказыПокупателей.КоличествоПриход) КАК Количество,
СУММА(ЗаказыПокупателей.КоличествоПриход * ЦеныНоменклатуры.Цена) КАК СуммаВЦенах
ИЗ
РегистрНакопления.ЗаказыПокупателей.Обороты КАК ЗаказыПокупателей
ЛЕВОЕ СОЕДИНЕНИЕ ТаблицаХарактеристик КАК ХарактеристикиНоменклатуры
ПО ЗаказыПокупателей.Номенклатура = ХарактеристикиНоменклатуры.Номенклатура
И ЗаказыПокупателей.ХарактеристикаНоменклатуры = ХарактеристикиНоменклатуры.Характеристика
ЛЕВОЕ СОЕДИНЕНИЕ ТаблицаЦен КАК ЦеныНоменклатуры
ПО ЗаказыПокупателей.Номенклатура = ЦеныНоменклатуры.Номенклатура
И ЦеныНоменклатуры.Комплектация = ХарактеристикиНоменклатуры.Комплектация
И ЦеныНоменклатуры.Группа = ХарактеристикиНоменклатуры.Группа
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.емПроизводство КАК Производство
ПО ЗаказыПокупателей.ЗаказПокупателя.Ссылка = Производство.ЗаказПокупателя
И ЗаказыПокупателей.Номенклатура = Производство.Номенклатура
И ЗаказыПокупателей.ХарактеристикаНоменклатуры = Производство.ХарактеристикаНоменклатуры
И ЗаказыПокупателей.СерияНоменклатуры = Производство.СерияНоменклатуры
И ЗНАЧЕНИЕ(Перечисление.емУчасткиПроизводства.Склад) = Производство.Участок
ГДЕ
ЗаказыПокупателей.ЗаказПокупателя.Дата МЕЖДУ НАЧАЛОПЕРИОДА(&ДатаНач, ДЕНЬ) И КОНЕЦПЕРИОДА(&ДатаКон, ДЕНЬ)
И
ЗаказыПокупателей.ЗаказПокупателя.Контрагент.Ссылка = &Контрагент
И
Производство.ДатаУчастка = &ПустаяДата
СГРУППИРОВАТЬ ПО
ЗаказыПокупателей.ЗаказПокупателя.Контрагент,
ЗаказыПокупателей.Номенклатура.Ссылка,
ХарактеристикиНоменклатуры.Комплектация,
ЗаказыПокупателей.ЗаказПокупателя.Ссылка,
Производство.ДатаУчастка
УПОРЯДОЧИТЬ ПО
ЗаказыПокупателей.ЗаказПокупателя.Контрагент.Наименование,
ЗаказыПокупателей.Номенклатура.Наименование,
ХарактеристикиНоменклатуры.Комплектация,
ЗаказыПокупателей.ЗаказПокупателя.Дата
ИТОГИ
СРЕДНЕЕ(Цена),
СУММА(Количество),
СУММА(СуммаВЦенах)
ПО
ОБЩИЕ,
ЗаказПокупателяКонтрагент,
НоменклатураСсылка,
Комплектация,
ЗаказПокупателяСсылка
Далее указываю, что
Запрос.УстановитьПараметр("ПустаяДата", Дата(1,1,1));
Получаю пустую выборку. Если выбирать все - без условия - получается 18 единиц, если ставить <> &ПустаяДата - получаются 10 единиц, а если ставить = &ПустаяДата - получается 0. Записи в регистре сведений по которому устанавливаю параметр - отсутствуют, но, насколько я понимаю, строки с отсутствующим соответствием должны быть Null в выборке, однако их там нет. Причем пробовал уже и = Null, = 0, =Неопределено. Скажите, пожалуйста, как выбрать записи, по которым отсутствуют данные в регистре сведений производство.
|
|
7
GOshaSaveiko
13.03.12
✎
15:25
|
(4) - Во второй таблице нет данных по заказу. Перенос в условия соединения ничего не даст.
(6) - подробнее, пожалуйста, попробовал так:
ВЫБРАТЬ
ЗаказыПокупателей.ЗаказПокупателя.Контрагент.Ссылка КАК ЗаказПокупателяКонтрагент,
ЗаказыПокупателей.Номенклатура.Ссылка КАК НоменклатураСсылка,
ЗаказыПокупателей.ЗаказПокупателя.Ссылка КАК ЗаказПокупателяСсылка,
ХарактеристикиНоменклатуры.Комплектация КАК Комплектация,
ЕСТЬNULL(Производство.ДатаУчастка , ДАТАВРЕМЯ(1, 1, 1)) КАК ДатаНаСклад,
СРЕДНЕЕ(ЦеныНоменклатуры.Цена) КАК Цена,
СУММА(ЗаказыПокупателей.КоличествоПриход) КАК Количество,
СУММА(ЗаказыПокупателей.КоличествоПриход * ЦеныНоменклатуры.Цена) КАК СуммаВЦенах
ИЗ
РегистрНакопления.ЗаказыПокупателей.Обороты КАК ЗаказыПокупателей
ЛЕВОЕ СОЕДИНЕНИЕ ТаблицаХарактеристик КАК ХарактеристикиНоменклатуры
ПО ЗаказыПокупателей.Номенклатура = ХарактеристикиНоменклатуры.Номенклатура
И ЗаказыПокупателей.ХарактеристикаНоменклатуры = ХарактеристикиНоменклатуры.Характеристика
ЛЕВОЕ СОЕДИНЕНИЕ ТаблицаЦен КАК ЦеныНоменклатуры
ПО ЗаказыПокупателей.Номенклатура = ЦеныНоменклатуры.Номенклатура
И ЦеныНоменклатуры.Комплектация = ХарактеристикиНоменклатуры.Комплектация
И ЦеныНоменклатуры.Группа = ХарактеристикиНоменклатуры.Группа
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.емПроизводство КАК Производство
ПО ЗаказыПокупателей.ЗаказПокупателя.Ссылка = Производство.ЗаказПокупателя
И ЗаказыПокупателей.Номенклатура = Производство.Номенклатура
И ЗаказыПокупателей.ХарактеристикаНоменклатуры = Производство.ХарактеристикаНоменклатуры
И ЗаказыПокупателей.СерияНоменклатуры = Производство.СерияНоменклатуры
И ЗНАЧЕНИЕ(Перечисление.емУчасткиПроизводства.Склад) = Производство.Участок
ГДЕ
ЗаказыПокупателей.ЗаказПокупателя.Дата МЕЖДУ НАЧАЛОПЕРИОДА(&ДатаНач, ДЕНЬ) И КОНЕЦПЕРИОДА(&ДатаКон, ДЕНЬ)
И
ЗаказыПокупателей.ЗаказПокупателя.Контрагент.Ссылка = &Контрагент
И
Производство.ДатаУчастка = ДАТАВРЕМЯ(1, 1, 1)
СГРУППИРОВАТЬ ПО
ЗаказыПокупателей.ЗаказПокупателя.Контрагент,
ЗаказыПокупателей.Номенклатура.Ссылка,
ХарактеристикиНоменклатуры.Комплектация,
ЗаказыПокупателей.ЗаказПокупателя.Ссылка,
Производство.ДатаУчастка
УПОРЯДОЧИТЬ ПО
ЗаказыПокупателей.ЗаказПокупателя.Контрагент.Наименование,
ЗаказыПокупателей.Номенклатура.Наименование,
ХарактеристикиНоменклатуры.Комплектация,
ЗаказыПокупателей.ЗаказПокупателя.Дата
ИТОГИ
СРЕДНЕЕ(Цена),
СУММА(Количество),
СУММА(СуммаВЦенах)
ПО
ОБЩИЕ,
ЗаказПокупателяКонтрагент,
НоменклатураСсылка,
Комплектация,
ЗаказПокупателяСсылка
|
|