Помогите сделать запрос по регистру продаж и цен
По теме из базы знаний
- SynchroWB — интеграция 1С и Wildberries: автоматизация заказов и остатков по API с УТ, КА, ERP, УНФ, Розница 3
- Смотрим запросы 1С через Microsoft SQL Profiler по следам ошибок разработчиков, приводящих к проблемам производительности
- SynchroSber - полноценный модуль API интеграции с маркетплейсом Мегамаркет (СберМегаМаркет) для 1С: УТ 11.X, КА 2.X, ERP 2.X, УНФ 1.6, 3.0 (возможность работы как с публикацией, так и без публикации базы)
- Как из 1С отдать миллионы строк в BI и успеть это сделать быстро
- Как подключить локальные MCP-серверы 1С к Ollama через MCPHost: пошаговое руководство
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) Можно так. На 1С данный запрос переводится.
По сути на каждую строку продажи прям берешь цену из таблицы цен. Прям как в формулировке задачи.
В начале данные, а сам запрос: Остается только проверку на NULL добавить и усё. :-)
По сути на каждую строку продажи прям берешь цену из таблицы цен. Прям как в формулировке задачи.
В начале данные, а сам запрос:
SEL ECT t1.*, (SELECT t.c fr om vt_price as t WHERE t1.p = t.p AND t1.d>=t.d ORDER by t.d DESC LIMIT 1 ) as cena
,t1.kol * (SELECT t.c fr om vt_price as t WH ERE t1.p = t.p AND t1.d>=t.d ORDER by t.d DESC LIM IT 1 ) as summa
FR OM vt_prodagi as t1Прикрепленные файлы:
Deepseek выдал такой запрос
ВЫБРАТЬ
Продажи.Период КАК ДатаПродажи,
Продажи.Номенклатура КАК Номенклатура,
Продажи.Количество КАК Количество,
ЕСТЬNULL(Цены.Цена, 0) КАК Цена
ИЗ
РегистрНакопления.Продажи КАК Продажи
ЛЕВОЕ СОЕДИНЕНИЕ (
ВЫБРАТЬ
Цены.Номенклатура КАК Номенклатура,
Цены.Период КАК ДатаЦены,
Цены.Цена КАК Цена
ИЗ
РегистрСведений.Цены КАК Цены
) КАК Цены
ПО (Цены.Номенклатура = Продажи.Номенклатура)
И (Цены.ДатаЦены = (
ВЫБРАТЬ
МАКСИМУМ(ПодЦены.Период)
ИЗ
РегистрСведений.Цены КАК ПодЦены
ГДЕ
ПодЦены.Номенклатура = Продажи.Номенклатура
И ПодЦены.Период <= Продажи.Период
)) Показать
Если уточнить, то даёт сразу два результата....
Первый, что и выше, но это не единственный, можно не через максимум, а через первые 1 и сортировку.
Второй вариант с помощью оконной функции и опять мимо. :-)
Если чуть поправить, то выдает похожее не правду.
Ко всем вариантам дает пояснения и условия когда будет или не будет получен результат. Что учитывает и что не учитывает тот или иной вариант.
Если даже не знать правильный ответ, но внимательно читать пояснения и поправлять условия задачи, то можно быстро добиться требуемого результата в простых задачах.
Первый, что и выше, но это не единственный, можно не через максимум, а через первые 1 и сортировку.
Второй вариант с помощью оконной функции и опять мимо. :-)
Если чуть поправить, то выдает похожее не правду.
Ко всем вариантам дает пояснения и условия когда будет или не будет получен результат. Что учитывает и что не учитывает тот или иной вариант.
Если даже не знать правильный ответ, но внимательно читать пояснения и поправлять условия задачи, то можно быстро добиться требуемого результата в простых задачах.
Прикрепленные файлы:
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот
