powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / [игнор отключен] [закрыт для гостей] / Помогите с запросом по ценам номенклатуры
3 сообщений из 3, страница 1 из 1
Помогите с запросом по ценам номенклатуры
    #38304387
zanuda3
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
С запросами SQL раньше не работал. Делаю первые попытки.

Надо получить последние цены номенклатуры, в разрезе поставщиков. Если поставщиков было несколько, надо взять последнего.
Вот что у меня пока получилось:

ТекстЗапроса = "
|select
| СпрНом.Code Код,
| date Дата,
| cast(value as numeric(14,2)) Цена,
| ДокПриход.SP437 [Клиент $Справочник.Контрагенты],
| СпрКонтр.SP56 ИНН
|from _1sconst (nolock)
|INNER JOIN
|$Справочник.Номенклатура as СпрНом ON СпрНом.ID = _1sconst.OBJID
|INNER JOIN
|$Документ.ПриходнаяНакладная as ДокПриход ON ДокПриход.iddoc = _1sconst.docid
|INNER JOIN
|$Справочник.Контрагенты as СпрКонтр ON СпрКонтр.ID = ДокПриход.SP437
|
|where
|_1sconst.id=:ИДЦена
|and cast(value as numeric(14,2))>0
|and date<=:ВыбДата1
|order by СпрНом.Code desc, date desc
|";

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

Модератор: Тема перенесена из форума "Microsoft SQL Server".
...
Рейтинг: 0 / 0
Помогите с запросом по ценам номенклатуры
    #38304680
AHDP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Первым запросом получаем сочетание номенклатурной позиции и самого позднего документа по ней, вторым, по этим данным, вытягиваем стоимость.

Select into #t Max(Шапка.ДатаВремяДокумента), ТЧ.IDНоменклатуры
From *** Шапка
Join *** ТЧ on Шапка.IDDoc = ТЧ.IDDoc
Group by ТЧ.IDНоменклатуры

Select Спр.Номенклатура, Шапка.ДатаВремяДокумента, ТЧ.Цена
From *** Шапка
Join *** ТЧ on Шапка.IDDoc = ТЧ.IDDoc
Join #t t on t.ДатаВремяДокумента = Шапка.ДатаВремяДокумента And t.IDНоменклатуры = ТЧ.IDНоменклатуры
Join *** Спр on Спр.ID = ТЧ.IDНоменклатуры


Если нужен ещё и поставщик, то добавляем его в первый и второй запросы.


Поясните, зачем вам таблица констант?

ЗЫ Это же 1С++? У них есть свой форум.
...
Рейтинг: 0 / 0
Помогите с запросом по ценам номенклатуры
    #38304916
zanuda3
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть справочник Номенклатуры, у него есть периодический реквизит ЦенаОМТС, который изменяется документами. Нужно получить последнюю цену для каждой номенклатуры на определённую дату, с указанием контрагента который последним эту номенклатуру поставил. В _1sconst хранится iddoc документа который изменил цену, а из этого документа получаю контрагента. Т.е у выходной таблицы должны быть следующие столбцы код номенклатуры, последняя цена на дату, дата цены, контрагент, инн контрагента.

В таблицу попадает несколько цен для каждой номенклатуры, а нужна только последняя.

Спасибо, напишу и на форум 1с++.

Из таблиц констант получать таблицу мне показалось проще. Вопрос в том как правильно наложить нужный отбор.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / [игнор отключен] [закрыт для гостей] / Помогите с запросом по ценам номенклатуры
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]