Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
15 дек 2024, 04:48

Запрос 8.2

Автор 1cka, 26 авг 2014, 09:28

0 Пользователей и 1 гость просматривают эту тему.

Kironten

Цитата: 1cka от 01 сен 2014, 13:25
Цитата: Kironten от 27 авг 2014, 13:39
Я бы делал так:

так не учитываются номенклатуры у которых не проставлены цены (((((
Вообще то цену должна подбирать в любом случае. Единственное, где может быть загвоздка Не берет номенклатуру у которой остаток на начало периода равен нулю, и как следствие по ней цену уже не подобрать.
Попробуй так:
ВЫБРАТЬ
    СвободныеОстаткиОстаткиИОбороты.Номенклатура,
    СУММА(СвободныеОстаткиОстаткиИОбороты.КоличествоСУчетомСерииНачальныйОстаток) КАК КоличествоНач,
    СУММА(СвободныеОстаткиОстаткиИОбороты.КоличествоСУчетомСерииКонечныйОстаток) КАК КоличествоКон,
    МАКСИМУМ(ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена, 0)) КАК Цена
ПОМЕСТИТЬ ВТ

Во всяком случае на демо упп, отрабатывает нормально. Номенклатура с нулевой ценой подбирается.
Хотя нет. Плохая идея. Тогда подберет ВСЮ номенклатуру.
Добавлено: 01 сен 2014, 14:55


ВЫБРАТЬ
СвободныеОстаткиОстаткиИОбороты.Номенклатура,
СвободныеОстаткиОстаткиИОбороты.КоличествоНачальныйОстаток КАК КоличествоНач,
ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена, 0) КАК Цена
ПОМЕСТИТЬ ВТ
ИЗ
РегистрНакопления.СвободныеОстатки.ОстаткиИОбороты(&ДатаНач, &ДатКон, , , ) КАК СвободныеОстаткиОстаткиИОбороты
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ТипЦен = &ТипЦен) КАК ЦеныНоменклатурыСрезПоследних
ПО СвободныеОстаткиОстаткиИОбороты.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
ГДЕ
(СвободныеОстаткиОстаткиИОбороты.КоличествоНачальныйОстаток <> 0
ИЛИ СвободныеОстаткиОстаткиИОбороты.КоличествоОборот <> 0)
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ВТ.Номенклатура,
ВТ.КоличествоНач,
ВТ.Цена,
ЗакупкиОбороты.КоличествоОборот КАК Оборот
ИЗ
ВТ КАК ВТ
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Закупки.Обороты(&ДатаНач,&ДатКон,,Номенклатура В(ВЫБРАТЬ ВТ.Номенклатура ИЗ ВТ КАК ВТ)) КАК ЗакупкиОбороты
ПО ВТ.Номенклатура = ЗакупкиОбороты.Номенклатура

Вот так, по идее должно отработать. Ну, плюс ваши условия по складам типам цен и т.д.

viktor_vv

А всего-то надо было условие по складам в параметры виртуальной таблицы РегистрНакопления.СвободныеОстатки.Остатки() перенести, результат ВТ уже свернутым был бы до номенклатуры.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск