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

запрос в СКД

Автор MaryAn, 18 янв 2011, 10:50

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

MaryAn

Всем здравствуйте! Помогите,пожалуйста, грамотно постоить запрос в СКД встроенного отчета.

Мне нужен реестр по расходным накладным за период,который будет задавать пользователь,т.е. например, если пользователь вел даты Дата Начала = 01.01.11, Дата Окончания = 17.01.11 в заголовке отчета должно выводить:
"Реестр накладных за период с 01.01.11 по 17.01.11".
Ниже должна идти таблица с названием столбцов: Дата, Номер, Контрагент, Сумма Себестоимости(Сумма Оптовой цены), Сумма(Сумма Учетной цены).
Отчет встроенный.

Что я сделала: создала встроенный отчет, который мне выводит данную таблицу, но по каждой номенклатуре в расходной накладной. Т.е. если в расходной накладной содержится 4 номенклатурных позиции,  в отчет он мне так их и выдаст в четыре строки. а мне надо чтобы суммы он этих четырех номенклатур просуммировал и вывел одной строкой соответствующей одной
расходной накладной.
Если вывожу таблицу без суммы себестоимости,т.е. в запросе источником данных служит одна таблица  - документ Расходная Накладная, то вывод он делает корректно. а если делаю два источника данных - региср сведений ЦеныНоменклатурыСрезПослдених и документ Расходная Накладная, то начинает выводить некорретно - построчно для каждой номенклатуры в расходных накладных.
Что касается заголовка,то одну дату в заголовок я знаю,как вывести, а вот две даты пыталась вывести аналогичным образом,т.е. через макет оформения, не выходит.

Помогите,пожалуйста,кто знает!

MaryAn

вот мой текст запроса:

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

забыла уточнить: платформа 8.2. конфиг. УНФ

MaryAn

с датами разобралась. сделала через тот же макет оформления, просто я там упускала один момент: забыла параметры данных добавить дат. а вот с запросом пока глухо. надеюсь,что кто-нибудь откликнется.

progmikon

А что с запросом не так?

MaryAn

результат его не удовлетворяет. он выводит по номенклатурам,что есть в данных расхнакл.
например в 1-й накладной 2 товара,а во второй 1,выведет так:

Дата         Номер  Контрагент СуммаОпт   СуммаУчет
01.01.11    №111    мистер х     50                 150
01.01.11    №111    мистер х     50                 150
02.01.11    №222    мистер в     80                 90

а мне надо,чотбы вывел:

Дата         Номер    Контрагент    СуммаОпт    СуммаУчет
01.01.11    №111      мистер х         100             150
02.01.11    №222      мистер в         80               90

Ps:
СуммаУчет - СуммаДокумента документа Расходной Накладной, а
СуммаОпт - РасходнаяНакладнаяЗапасы.Количество * ЦенаНоменклатурыСрезПоследних.Цена




progmikon

СГРУППИРОВАТЬ

А почему СуммаУчет 150, а не 300? Вы максимум берете?

MaryAn

нет,максимум не беру. поясняю, есть два вида це на каждую номенклатуру: Оптовая и Учетная. по оптовой закупают,по учетной продают, соответственно учетная цена стоит в расходной накладной. Хочу отметить,что именно ЦЕНА. а мне в реестре нужна Сумма Учетных Цен и Сумма Оптовых Цен. СуммаУчет - СуммаДокумента документа Расходной накладной. а СуммаОпт получается как РасходнаяНакладнаяЗапасы.Количество * ЦенаНоменклатурыСрезПоследних.Цена, т.е. СуммаОпт - вычисляемое поле.
Допустим в РасхНакл две номенклатуры:
номенклатура  кол учетцена   сумма    всего
номен1             2     25             50       150
номен2             2     50            100      150
                                           Всего:    150

в регистре:
номенклатура  оптцена
номен1                 25
номен2                 25

СуммаОпт = 25*2 = 50 для номен1
СуммаОпт = 25*2 = 50 для номен2.

как то так

cska-fanat-kz

Цитата: MaryAn от 18 янв 2011, 10:54
вот мой текст запроса:

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

забыла уточнить: платформа 8.2. конфиг. УНФ

Вместо выделенного - надо вложенный запрос, например такой

(ВЫБРАТЬ
    ПриходнаяНакладнаяСписокНоменклатуры.Номенклатура,
    ПриходнаяНакладнаяСписокНоменклатуры.Ссылка,
    СУММА(ПриходнаяНакладнаяСписокНоменклатуры.Количество) КАК Количество
ИЗ
    Документ.ПриходнаяНакладная.СписокНоменклатуры КАК ПриходнаяНакладнаяСписокНоменклатуры

СГРУППИРОВАТЬ ПО
    ПриходнаяНакладнаяСписокНоменклатуры.Номенклатура,
    ПриходнаяНакладнаяСписокНоменклатуры.Ссылка)


Вместо "ПриходнаяНакладнаяСписокНоменклатуры" напиши "РасходнаяНакладнаяЗапасы" и должно быть тебе счастье.
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

MaryAn

спасибо! решение вчера нашлось в виде

ВЫБРАТЬ
РасходнаяНакладнаяЗапасы.Ссылка.Дата КАК Дата,
РасходнаяНакладнаяЗапасы.Ссылка.Номер КАК Номер,

РасходнаяНакладнаяЗапасы.Ссылка.Контрагент КАК Контрагент,
РасходнаяНакладнаяЗапасы.Ссылка.СуммаДокумента КАК Сумма
СУММА(РеализацияТоваровУслугТовары.Количество * ЦеныНоменклатурыСрезПоследних.Цена) КАК СуммаОпт,
РеализацияТоваровУслугТовары.Ссылка.Ссылка,
РеализацияТоваровУслугТовары.Ссылка.СуммаДокумента
ИЗ
..
СГРУППИРОВАТЬ ПО

Теги:

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

Рейтинг@Mail.ru

Поиск