|
помогите с условием. в запросе | ☑ | ||
---|---|---|---|---|
0
zladenuw
01.11.13
✎
12:24
|
такой запрос
Если вернуть условие на типы цен. некоторые позиции не отображаются так как у них нет такого типа цен. как обойти этот момент ? ВЫБРАТЬ ОстаткиЗЧ.Товар, МАКСИМУМ(ОстаткиЗЧ.Период) КАК Период ПОМЕСТИТЬ ВТ ИЗ РегистрНакопления.ОстаткиЗЧ КАК ОстаткиЗЧ ГДЕ ОстаткиЗЧ.ВнД = ЗНАЧЕНИЕ(Перечисление.ВидыДвижЗЧ.Продажа) И ВЫБОР КОГДА &Поставщик = ЗНАЧЕНИЕ(Справочник.Клиенты.ПустаяСсылка) ТОГДА ИСТИНА ИНАЧЕ ОстаткиЗЧ.Партия.Поставщик = &Поставщик КОНЕЦ И ВЫБОР КОГДА &ФильтрТовар = ЗНАЧЕНИЕ(Справочник.Запчасти.ПустаяСсылка) ТОГДА ВЫБОР КОГДА &НаименованиеЗЧ = "" ТОГДА ИСТИНА ИНАЧЕ ОстаткиЗЧ.Товар.Наименование ПОДОБНО &НаименованиеЗЧ КОНЕЦ ИНАЧЕ ОстаткиЗЧ.Товар В ИЕРАРХИИ (&ФильтрТовар) КОНЕЦ СГРУППИРОВАТЬ ПО ОстаткиЗЧ.Товар ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВТ.Товар ПОМЕСТИТЬ ПродажиЗЧ ИЗ ВТ КАК ВТ ГДЕ РАЗНОСТЬДАТ(ВТ.Период, &ТекДата, ДЕНЬ) / 365 <= &ЛетНелеквидаОт СГРУППИРОВАТЬ ПО ВТ.Товар ; //////////////////////////////////////////////////////////////////////////////// УНИЧТОЖИТЬ ВТ ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ОстаткиЗЧОстаткиИОбороты.Товар.Код КАК Артикул, ОстаткиЗЧОстаткиИОбороты.Товар.Артикул КАК КодБух, ОстаткиЗЧОстаткиИОбороты.Товар, МАКСИМУМ(РАЗНОСТЬДАТ(ОстаткиЗЧОстаткиИОбороты.Партия.Дата, &ТекДата, ГОД)) КАК КоличествоЛет, МАКСИМУМ(РАЗНОСТЬДАТ(ОстаткиЗЧОстаткиИОбороты.Партия.Дата, &ТекДата, МЕСЯЦ) - РАЗНОСТЬДАТ(ОстаткиЗЧОстаткиИОбороты.Партия.Дата, &ТекДата, ГОД) * 12) КАК КоличествоМесяцев, МАКСИМУМ(РАЗНОСТЬДАТ(ОстаткиЗЧОстаткиИОбороты.Партия.Дата, &ТекДата, ДЕНЬ) - РАЗНОСТЬДАТ(ОстаткиЗЧОстаткиИОбороты.Партия.Дата, &ТекДата, ГОД) * 365) КАК КоличествоДней, СУММА(ОстаткиЗЧОстаткиИОбороты.КвоКонечныйОстаток) КАК Остаток, СРЕДНЕЕ(ЦеныЗЧ.Цена) КАК Цена, СУММА(ОстаткиЗЧОстаткиИОбороты.КвоКонечныйОстаток * ЦеныЗЧ.Цена) КАК Сумма, СРЕДНЕЕ(ЦеныЗЧ1.Цена) КАК ЦенаРозницы, СУММА(ОстаткиЗЧОстаткиИОбороты.КвоКонечныйОстаток * ЦеныЗЧ1.Цена) КАК СуммаРозницы ИЗ РегистрНакопления.ОстаткиЗЧ.ОстаткиИОбороты( , &ТекДата, , , ВЫБОР КОГДА &Поставщик = ЗНАЧЕНИЕ(Справочник.Клиенты.ПустаяСсылка) ТОГДА ИСТИНА ИНАЧЕ Партия.Поставщик = &Поставщик КОНЕЦ И (ВЫРАЗИТЬ(РАЗНОСТЬДАТ(Партия.Дата, &ТекДата, МЕСЯЦ) / 12 КАК ЧИСЛО(10, 2))) >= &ЛетНелеквидаОт И (ВЫРАЗИТЬ(РАЗНОСТЬДАТ(Партия.Дата, &ТекДата, МЕСЯЦ) / 12 КАК ЧИСЛО(10, 2))) <= &ЛетНелеквидаДо И ВЫБОР КОГДА &ФильтрТовар = ЗНАЧЕНИЕ(Справочник.Запчасти.ПустаяСсылка) ТОГДА ВЫБОР КОГДА &НаименованиеЗЧ = "" ТОГДА ИСТИНА ИНАЧЕ Товар.Наименование ПОДОБНО &НаименованиеЗЧ КОНЕЦ ИНАЧЕ Товар В ИЕРАРХИИ (&ФильтрТовар) КОНЕЦ И НЕ Товар В (ВЫБРАТЬ Т.Товар ИЗ ПродажиЗЧ КАК Т)) КАК ОстаткиЗЧОстаткиИОбороты ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ЦеныЗЧ КАК ЦеныЗЧ ПО ОстаткиЗЧОстаткиИОбороты.Товар = ЦеныЗЧ.Владелец ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ЦеныЗЧ КАК ЦеныЗЧ1 ПО ОстаткиЗЧОстаткиИОбороты.Товар = ЦеныЗЧ1.Владелец //ГДЕ // ЦеныЗЧ.ТипЦены = &ТипЦены // И ЦеныЗЧ1.ТипЦены = &ТипЦеныРозн СГРУППИРОВАТЬ ПО ОстаткиЗЧОстаткиИОбороты.Товар.Код, ОстаткиЗЧОстаткиИОбороты.Товар.Артикул, ОстаткиЗЧОстаткиИОбороты.Товар УПОРЯДОЧИТЬ ПО КоличествоЛет, Артикул |
|||
1
Любопытная
01.11.13
✎
12:26
|
А что надо?
|
|||
2
zladenuw
01.11.13
✎
12:29
|
(1) да уже разобрался. нужно было условие на тип цен перенести в соединение таблиц.
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ЦеныЗЧ КАК ЦеныЗЧ ПО (ОстаткиЗЧОстаткиИОбороты.Товар = ЦеныЗЧ.Владелец И ЦеныЗЧ.ТипЦены = &ТипЦены) ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ЦеныЗЧ КАК ЦеныЗЧ1 ПО (ОстаткиЗЧОстаткиИОбороты.Товар = ЦеныЗЧ1.Владелец И ЦеныЗЧ1.ТипЦены = &ТипЦеныРозн) |
|||
3
Kerk
01.11.13
✎
12:41
|
МАКСИМУМ(РАЗНОСТЬДАТ(ОстаткиЗЧОстаткиИОбороты.Партия.Дата, &ТекДата, ДЕНЬ) - РАЗНОСТЬДАТ(ОстаткиЗЧОстаткиИОбороты.Партия.Дата, &ТекДата, ГОД) * 365) КАК КоличествоДней,
КоличествоДней у тебя включает и КоличествоМесяцев в днях. и вообще "365.25" ней, если уж на то пошло. |
|||
4
zladenuw
01.11.13
✎
12:44
|
(3) спасиб. учту
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |