Задача:
Выполнить выборку доков продаж/покупок по артикулу. На входе элемент справочника Номенклатура. Для получения необходимой инфы целесообразней использовать Хозрасчетный регистр по Субконто, нежели перебирать ТЧ всех документом.
Собственно по элементу справочника я получаю данные, но как их получить по Артикулу элемента переданного в запрос в качестве параметра с составным типом?
Кому интересно, полный код запроса:
Выполнить выборку доков продаж/покупок по артикулу. На входе элемент справочника Номенклатура. Для получения необходимой инфы целесообразней использовать Хозрасчетный регистр по Субконто, нежели перебирать ТЧ всех документом.
Собственно по элементу справочника я получаю данные, но как их получить по Артикулу элемента переданного в запрос в качестве параметра с составным типом?
ВЫБОР
КОГДА &артикул
ТОГДА ХозрасчетныйСубконто.Значение В
(ВЫБРАТЬ
Номенклатура.Ссылка
ИЗ
Справочник.Номенклатура КАК Номенклатура
ГДЕ
Номенклатура.Артикул = (ВЫРАЗИТЬ(ВЫРАЗИТЬ(&Номенклатура КАК Справочник.Номенклатура).Артикул КАК СТРОКА(25))))
ИНАЧЕ ХозрасчетныйСубконто.Значение = &Номенклатура
КОНЕЦ
Для решения задачи мы сначала приводим параметр к Справочник.Номенклатура, а полученное приводим к строке указывая поле Артикул. Обязательно указываем длину строки, иначе получим ошибку.Кому интересно, полный код запроса:
ВЫБРАТЬ
ВЫРАЗИТЬ(ХозрасчетныйСубконто.Регистратор КАК Документ.РеализацияТоваровУслуг) КАК ДокРТиУ,
ВЫРАЗИТЬ(ХозрасчетныйСубконто.Регистратор КАК Документ.ПоступлениеТоваровУслуг) КАК ДокПТиУ,
ХозрасчетныйСубконто.Значение КАК Номенклатура,
КОЛИЧЕСТВО(ХозрасчетныйСубконто.Значение) КАК Количество
ПОМЕСТИТЬ СписокДокументов
ИЗ
РегистрБухгалтерии.Хозрасчетный.Субконто КАК ХозрасчетныйСубконто
ГДЕ
ВЫБОР
КОГДА &артикул
ТОГДА ХозрасчетныйСубконто.Значение В
(ВЫБРАТЬ
Номенклатура.Ссылка
ИЗ
Справочник.Номенклатура КАК Номенклатура
ГДЕ
Номенклатура.Артикул = (ВЫРАЗИТЬ(ВЫРАЗИТЬ(&Номенклатура КАК Справочник.Номенклатура).Артикул КАК СТРОКА(25))))
ИНАЧЕ ХозрасчетныйСубконто.Значение = &Номенклатура
КОНЕЦ
И ХозрасчетныйСубконто.Регистратор.Дата МЕЖДУ &ДатаНачала И &ДатаКонца
СГРУППИРОВАТЬ ПО
ХозрасчетныйСубконто.Значение,
ВЫРАЗИТЬ(ХозрасчетныйСубконто.Регистратор КАК Документ.РеализацияТоваровУслуг),
ВЫРАЗИТЬ(ХозрасчетныйСубконто.Регистратор КАК Документ.ПоступлениеТоваровУслуг)
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
РеализацияТоваровУслугТовары.Ссылка.Дата КАК Дата,
РеализацияТоваровУслугТовары.Ссылка КАК Ссылка,
РеализацияТоваровУслугТовары.Номенклатура КАК Номенклатура,
РеализацияТоваровУслугТовары.Цена КАК Цена,
РеализацияТоваровУслугТовары.Количество КАК Количество
ИЗ
Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары,
СписокДокументов КАК СписокДокументов
ГДЕ
РеализацияТоваровУслугТовары.Номенклатура = СписокДокументов.Номенклатура
И РеализацияТоваровУслугТовары.Ссылка В
(ВЫБРАТЬ
СписокДокументов.ДокРТиУ
ИЗ
СписокДокументов КАК СписокДокументов)
ОБЪЕДИНИТЬ
ВЫБРАТЬ
ПоступлениеТоваровУслугТовары.Ссылка.Дата,
ПоступлениеТоваровУслугТовары.Ссылка,
ПоступлениеТоваровУслугТовары.Номенклатура,
ПоступлениеТоваровУслугТовары.Цена,
ПоступлениеТоваровУслугТовары.Количество
ИЗ
Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары,
СписокДокументов КАК СписокДокументов
ГДЕ
ПоступлениеТоваровУслугТовары.Номенклатура = СписокДокументов.Номенклатура
И ПоступлениеТоваровУслугТовары.Ссылка В
(ВЫБРАТЬ
СписокДокументов.ДокПТиУ
ИЗ
СписокДокументов КАК СписокДокументов)
УПОРЯДОЧИТЬ ПО
Дата
Комментариев нет:
Отправить комментарий