Имя: Пароль:
1C
1С v8
формирование цен для товаров, которые есть на складе
0 MrZLO
 
26.11.12
12:10
1C 8.1 УТ 10.3

В штатной Обработка.ФормированиеЦен есть процедура ЗаполнитьПостроительОтчетаПоЦенамНоменклатуры()

Хочу добавить аналог, только, чтобы показывались товары, которые есть на складе, добавил условие с временной таблицей из регистранакопления
внизу строка почему-то не хочет работать, из-за чего?

Параметр склад я передаю, в чем же дело?

ТоварыНаСкладах.Остатки(&ДатаЦенСкидок, Склад = &Склад) > 0



   ТекстЗапроса = "ВЫБРАТЬ
                  |    Тип.Ссылка КАК ТипЦен,
                  |    Ном.Ссылка КАК Номенклатура,
                  |    Ном.НоменклатурнаяГруппа КАК НоменклатурнаяГруппа,
                  |    Ном.ЦеноваяГруппа КАК ЦеноваяГруппа,
                  |    Ном.ЭтоГруппа КАК ЭтоГруппа,
                  |    ХарактеристикиНоменклатуры.Ссылка КАК ХарактеристикаНоменклатуры,
                  |    Ном.Родитель КАК Группа,
                  |    ВЫБОР
                  |        КОГДА Ном.НаименованиеПолное ПОДОБНО &ПустаяСтрока
                  |            ТОГДА Ном.Наименование
                  |        ИНАЧЕ Ном.НаименованиеПолное
                  |    КОНЕЦ КАК ПолноеНаименование,
                  |    ВЫБОР
                  |        КОГДА &ДопКолонка = &Артикул
                  |            ТОГДА Ном.Артикул
                  |        КОГДА &ДопКолонка = &Код
                  |            ТОГДА Ном.Код
                  |        ИНАЧЕ NULL
                  |    КОНЕЦ КАК Артикул,
                  |    Рег.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
                  |    Рег.Валюта,
                  |    Рег.ПроцентСкидкиНаценки КАК ПроцентСкидкиНаценки,
                  |    Рег.СпособРасчетаЦены КАК СпособРасчетаЦены,
                  |    Тип.ВалютаЦены,
                  |    КурсыВалют.Курс КАК КурсВалюты,
                  |    КурсыВалют.Кратность КАК КратностьВалюты,
                  |    КурсыВалютЦены.Курс КАК КурсВалютыЦены,
                  |    КурсыВалютЦены.Кратность КАК КратностьВалютыЦены,
                  |    ВЫБОР
                  |        КОГДА Тип.Рассчитывается
                  |            ТОГДА Рег.Цена * (100 + Тип.ПроцентСкидкиНаценки) / 100
                  |        ИНАЧЕ Рег.Цена
                  |    КОНЕЦ КАК Цена
                  |{ВЫБРАТЬ
                  |    Тип.Ссылка.* КАК ТипЦен,
                  |    Ном.Ссылка.* КАК Номенклатура,
                  |    Ном.Родитель.* КАК Группа}
                  |ИЗ
                  |    РегистрНакопления.ТоварыНаСкладах КАК ТоварыНаСкладах
                  |        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Ном
                  |            ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
                  |                Характеристики.Ссылка КАК Ссылка,
                  |                Характеристики.Владелец КАК Владелец
                  |            ИЗ
                  |                Справочник.ХарактеристикиНоменклатуры КАК Характеристики
                  |            
                  |            ОБЪЕДИНИТЬ ВСЕ
                  |            
                  |            ВЫБРАТЬ
                  |                ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка),
                  |                Номенклатура.Ссылка
                  |            ИЗ
                  |                Справочник.Номенклатура КАК Номенклатура) КАК ХарактеристикиНоменклатуры
                  |            ПО (ХарактеристикиНоменклатуры.Владелец = Ном.Ссылка)
                  |            ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ТипыЦенНоменклатуры КАК Тип
                  |            ПО (ИСТИНА)
                  |            ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаЦенСкидок, ) КАК Рег
                  |            ПО (Тип.Ссылка = Рег.ТипЦен)
                  |                И Ном.Ссылка = Рег.Номенклатура
                  |                И (Рег.ХарактеристикаНоменклатуры = ХарактеристикиНоменклатуры.Ссылка)
                  |            ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют.СрезПоследних(&ДатаЦенСкидок, ) КАК КурсыВалют
                  |            ПО (КурсыВалют.Валюта = Рег.Валюта)
                  |            ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют.СрезПоследних(&ДатаЦенСкидок, ) КАК КурсыВалютЦены
                  |            ПО (КурсыВалютЦены.Валюта = Тип.ВалютаЦены)
                  |        ПО ТоварыНаСкладах.Номенклатура = Ном.Ссылка
                  |ГДЕ
                  |    (НЕ Ном.Набор)
                  |    И ТоварыНаСкладах.Остатки(&ДатаЦенСкидок, Склад = &Склад) > 0";

p.s.: я бы мог сделать кнопкой и отдельным запросом вывести данные в табличную часть, но хочется сделать красиво
1 MrZLO
 
26.11.12
12:23
ёпт ТоварыНаСкладахОстатки.КоличествоОстаток