|
Получение цены в СКД в запросе по другому запросу | ☑ | ||
---|---|---|---|---|
0
Coldboy
29.05.14
✎
13:41
|
Здравствуйте. Как получить цену на нужную мне дату по нужной номенклатуре в запросе? Запрос у меня такого типа:
ВЫБРАТЬ ИнвентаризацияТоваровНаСкладеТовары.Ссылка.Склад, ИнвентаризацияТоваровНаСкладеТовары.Номенклатура, ИнвентаризацияТоваровНаСкладеТовары.СчетУчета, ИнвентаризацияТоваровНаСкладеТовары.Номенклатура.Код КАК Код, ИнвентаризацияТоваровНаСкладеТовары.ЕдиницаИзмерения, ВЫБОР КОГДА ИнвентаризацияТоваровНаСкладеТовары.Количество - ИнвентаризацияТоваровНаСкладеТовары.КоличествоУчет > 0 ТОГДА ИнвентаризацияТоваровНаСкладеТовары.Количество - ИнвентаризацияТоваровНаСкладеТовары.КоличествоУчет ИНАЧЕ 0 КОНЕЦ КАК КоличествоИзлишек, ВЫБОР КОГДА ИнвентаризацияТоваровНаСкладеТовары.Количество - ИнвентаризацияТоваровНаСкладеТовары.КоличествоУчет < 0 ТОГДА ИнвентаризацияТоваровНаСкладеТовары.КоличествоУчет - ИнвентаризацияТоваровНаСкладеТовары.Количество ИНАЧЕ 0 КОНЕЦ КАК КоличествоНедостача, МЕСЯЦ(ИнвентаризацияТоваровНаСкладеТовары.Ссылка.Дата) КАК Месяц, ИнвентаризацияТоваровНаСкладеТовары.Ссылка.Дата, 0 КАК СуммаИзлишка, 0 КАК СуммаНедостачи, ИнвентаризацияТоваровНаСкладеТовары.Цена КАК Цена1 ИЗ Документ.ИнвентаризацияТоваровНаСкладе.Товары КАК ИнвентаризацияТоваровНаСкладеТовары ГДЕ ИнвентаризацияТоваровНаСкладеТовары.Ссылка.ПометкаУдаления = ЛОЖЬ И ИнвентаризацияТоваровНаСкладеТовары.Ссылка.Дата МЕЖДУ &НачДата И &КонДата Пробывал через второй набор данных и связывал их и не выдает все равно :( |
|||
1
Enders
29.05.14
✎
13:42
|
А в этом же запросе не вариант?
Левым соединениям с таблицей цен и всё? |
|||
2
Coldboy
29.05.14
✎
16:46
|
(1) пробывал левым соединением этим же запросом. но результат почему то пустой ...
|
|||
3
vicof
29.05.14
✎
16:49
|
(2) Потому что естьNULL надо ставить, видимо
|
|||
4
Coldboy
29.05.14
✎
16:59
|
вот сделал получилось:
ВЫБРАТЬ ИнвентаризацияТоваровНаСкладеТовары.Ссылка.Склад, ИнвентаризацияТоваровНаСкладеТовары.Номенклатура, ИнвентаризацияТоваровНаСкладеТовары.СчетУчета, ИнвентаризацияТоваровНаСкладеТовары.Номенклатура.Код КАК Код, ИнвентаризацияТоваровНаСкладеТовары.ЕдиницаИзмерения, ВЫБОР КОГДА ИнвентаризацияТоваровНаСкладеТовары.Количество - ИнвентаризацияТоваровНаСкладеТовары.КоличествоУчет > 0 ТОГДА ИнвентаризацияТоваровНаСкладеТовары.Количество - ИнвентаризацияТоваровНаСкладеТовары.КоличествоУчет ИНАЧЕ 0 КОНЕЦ КАК КоличествоИзлишек, ВЫБОР КОГДА ИнвентаризацияТоваровНаСкладеТовары.Количество - ИнвентаризацияТоваровНаСкладеТовары.КоличествоУчет < 0 ТОГДА ИнвентаризацияТоваровНаСкладеТовары.КоличествоУчет - ИнвентаризацияТоваровНаСкладеТовары.Количество ИНАЧЕ 0 КОНЕЦ КАК КоличествоНедостача, МЕСЯЦ(ИнвентаризацияТоваровНаСкладеТовары.Ссылка.Дата) КАК Месяц, ИнвентаризацияТоваровНаСкладеТовары.Ссылка.Дата, ВЫБОР КОГДА ИнвентаризацияТоваровНаСкладеТовары.Количество - ИнвентаризацияТоваровНаСкладеТовары.КоличествоУчет > 0 ТОГДА ВЫБОР КОГДА ИнвентаризацияТоваровНаСкладеТовары.Цена > 0 ТОГДА ИнвентаризацияТоваровНаСкладеТовары.Цена * (ИнвентаризацияТоваровНаСкладеТовары.Количество - ИнвентаризацияТоваровНаСкладеТовары.КоличествоУчет) ИНАЧЕ ЦеныНоменклатуры.Цена * (ИнвентаризацияТоваровНаСкладеТовары.Количество - ИнвентаризацияТоваровНаСкладеТовары.КоличествоУчет) КОНЕЦ ИНАЧЕ 0 КОНЕЦ КАК СуммаИзлишка, ВЫБОР КОГДА ИнвентаризацияТоваровНаСкладеТовары.Количество - ИнвентаризацияТоваровНаСкладеТовары.КоличествоУчет < 0 ТОГДА ВЫБОР КОГДА ИнвентаризацияТоваровНаСкладеТовары.Цена > 0 ТОГДА ИнвентаризацияТоваровНаСкладеТовары.Цена * (ИнвентаризацияТоваровНаСкладеТовары.КоличествоУчет - ИнвентаризацияТоваровНаСкладеТовары.Количество) ИНАЧЕ ЦеныНоменклатуры.Цена * (ИнвентаризацияТоваровНаСкладеТовары.КоличествоУчет - ИнвентаризацияТоваровНаСкладеТовары.Количество) КОНЕЦ ИНАЧЕ 0 КОНЕЦ КАК СуммаНедостачи ИЗ Документ.ИнвентаризацияТоваровНаСкладе.Товары КАК ИнвентаризацияТоваровНаСкладеТовары ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры ПО ИнвентаризацияТоваровНаСкладеТовары.Номенклатура = ЦеныНоменклатуры.Номенклатура И ИнвентаризацияТоваровНаСкладеТовары.Ссылка.Дата >= ЦеныНоменклатуры.Период ГДЕ ИнвентаризацияТоваровНаСкладеТовары.Ссылка.ПометкаУдаления = ЛОЖЬ И ИнвентаризацияТоваровНаСкладеТовары.Ссылка.Дата МЕЖДУ &НачДата И &КонДата И ЦеныНоменклатуры.ТипЦен = &ТипЦен |
|||
5
Coldboy
29.05.14
✎
17:00
|
но считаю криво, ибо не срез последних.
|
|||
6
Enders
29.05.14
✎
17:05
|
(4) а если после даты инвентаризации несколько цен?
так что к (5)+. Криво Если вам надо брать последнюю цену, то обращайтесь к срезу последних, в чем проблема? Если вам надо брать срез на дату инвентаризации, то это немного по другому решается) Да и кстати, условие И ЦеныНоменклатуры.ТипЦен = &ТипЦен, я б запихнул в условие соединения, ну или вирт таблицу среза |
|||
7
Coldboy
29.05.14
✎
17:15
|
(6) как срез по периоду сделать? тупо в левом соединением не дает ...
|
|||
8
Coldboy
29.05.14
✎
17:16
|
(6) хочу взять срез на дату инвентаризации, но не знаю как сделать, через скд связи не получилось
|
|||
9
shuhard
29.05.14
✎
17:56
|
(8) открой Хрусталёву, там это сделано через связь наборов
|
|||
10
fisher
29.05.14
✎
18:22
|
||||
11
Coldboy
29.05.14
✎
19:51
|
(10) скд бы картинки еще появлялись и цены бы не было статье ...
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |