Помогите разобраться с запросом.
Запрос выводит сумму по заказу, и сумму по реализации увеличенную во столько раз, сколько строк номенклатуры было в заказе.
как можно исправить запрос, чтобы бралась общая сумма только один раз?
Запрос выводит сумму по заказу, и сумму по реализации увеличенную во столько раз, сколько строк номенклатуры было в заказе.
как можно исправить запрос, чтобы бралась общая сумма только один раз?
ВЫБРАТЬ РАЗЛИЧНЫЕ
//НАЧАЛОПЕРИОДА(ЗаказыКлиентовОстаткиИОбороты.ЗаказКлиента.Дата, ГОД) КАК Период,
"Заказы (Прошлый период)" КАК Период,
ЗаказыКлиентовОстаткиИОбороты.ЗаказКлиента КАК ЗаказКлиента,
ЗаказыКлиентовОстаткиИОбороты.ЗаказКлиента.Контрагент КАК Контрагент,
ЗаказыКлиентовОстаткиИОбороты.ЗаказКлиента.Валюта КАК Валюта,
ЕСТЬNULL(ЗаказНаПроизводство2_2.Номер, 0) КАК НомерЗаказаПроизводства,
ВЫБОР
КОГДА ЗаказыКлиентовОстаткиИОбороты.Склад = &СкладГП
ТОГДА ЗаказыКлиентовОстаткиИОбороты.ЗаказКлиента.ДатаОтгрузки
ИНАЧЕ 0
КОНЕЦ КАК ДатаОтгрузкиСЗаказаКлиента,
ВЫБОР
КОГДА ЗаказыКлиентовОстаткиИОбороты.Склад = &СкладЗП
ТОГДА ЗаказыКлиентовОстаткиИОбороты.ЗаказКлиента.ДатаОтгрузки
ИНАЧЕ 0
КОНЕЦ КАК ДатаОтгрузкиЗП,
ЗаказНаПроизводство2_2.ДатаПотребности КАК ДатаОтгрузкиСЗаказаПроизводства,
СостоянияЗаказовКлиентов.ПроцентОтгрузки КАК ПроцентОтгрузки,
ВЫБОР
КОГДА ЗаказыКлиентовОстаткиИОбороты.ЗаказКлиента.Валюта.Код = "643"
ТОГДА ЗаказыКлиентовОстаткиИОбороты.СуммаПриход
ИНАЧЕ 0
КОНЕЦ КАК ЗаказСуммаРуб,
ВЫБОР
КОГДА ЗаказыКлиентовОстаткиИОбороты.ЗаказКлиента.Валюта.Код <> "643"
ТОГДА ЗаказыКлиентовОстаткиИОбороты.СуммаПриход
ИНАЧЕ 0
КОНЕЦ КАК ЗаказСуммаВал,
ВЫБОР
КОГДА ЗаказыКлиентовОстаткиИОбороты.ЗаказКлиента.Валюта.Код = "643"
ТОГДА ЗаказыКлиентовОстаткиИОбороты.СуммаРасход
ИНАЧЕ 0
КОНЕЦ КАК РеализацияСуммаРуб,
ВЫБОР
КОГДА ЗаказыКлиентовОстаткиИОбороты.ЗаказКлиента.Валюта.Код <> "643"
ТОГДА ЗаказыКлиентовОстаткиИОбороты.СуммаРасход
ИНАЧЕ 0
КОНЕЦ КАК РеализацияСуммаВал,
ВЫБОР
КОГДА ЗаказыКлиентовОстаткиИОбороты.ЗаказКлиента.Валюта.Код = "643"
ТОГДА ЗаказыКлиентовОстаткиИОбороты.СуммаКонечныйОстаток
ИНАЧЕ 0
КОНЕЦ КАК ОстатокОтгрузкиРуб,
ВЫБОР
КОГДА ЗаказыКлиентовОстаткиИОбороты.ЗаказКлиента.Валюта.Код <> "643"
ТОГДА ЗаказыКлиентовОстаткиИОбороты.СуммаКонечныйОстаток
ИНАЧЕ 0
КОНЕЦ КАК ОстатокОтгрузкиВал
ИЗ
РегистрНакопления.ЗаказыКлиентов.ОстаткиИОбороты(, , , , ) КАК ЗаказыКлиентовОстаткиИОбороты
ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказНаПроизводство2_2 КАК ЗаказНаПроизводство2_2
ПО ЗаказыКлиентовОстаткиИОбороты.ЗаказКлиента = ЗаказНаПроизводство2_2.ДокументОснование
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.СостоянияЗаказовКлиентов КАК СостоянияЗаказовКлиентов
ПО ЗаказыКлиентовОстаткиИОбороты.ЗаказКлиента = СостоянияЗаказовКлиентов.Заказ.Ссылка
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ЗаказыКлиентов КАК ЗаказыКлиентов
ПО ЗаказыКлиентовОстаткиИОбороты.ЗаказКлиента = ЗаказыКлиентов.ЗаказКлиента
ГДЕ
ЗаказыКлиентовОстаткиИОбороты.ЗаказКлиента.Контрагент <> &Контрагент
И ЗаказыКлиентовОстаткиИОбороты.ЗаказКлиента.Дата < &Начало
И ЗаказыКлиентов.Регистратор Ссылка Документ.РеализацияТоваровУслуг
И ЗаказыКлиентов.Регистратор.Дата >= &Начало
И ЗаказыКлиентов.Регистратор.Дата <= &Конец
ПоказатьПо теме из базы знаний
- Консоль запросов со встроенным Конструктором запросов для 1с8.3 (8.2) своими руками
- Смотрим запросы 1С через Microsoft SQL Profiler по следам ошибок разработчиков, приводящих к проблемам производительности
- Все консоли запросов для 1С
- Запрос 1С copilot
- Синтаксическая проверка запроса 1С из расширения конфигурации с позиционированием на проблемной строке
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(2) это еще не помойка, вы в типовых запросы посмотрите на 20 страниц, вот где трэш
(1) а что то в запросе Суммы Реализации не видно!
а вообще вот это соединение идет по ссылке документа
добавьте к нему еще соединение по номенклатуре
вместо сумма документа использовать
ЗаказыКлиентов.Сумма //по тч.Товары в сумме даст сумму документа
//или в СКД в деталях не выводить а общую считать от средней
(1) а что то в запросе Суммы Реализации не видно!
а вообще вот это соединение идет по ссылке документа
добавьте к нему еще соединение по номенклатуре
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ЗаказыКлиентов КАК ЗаказыКлиентов
ПО ЗаказыКлиентовОстаткиИОбороты.ЗаказКлиента = ЗаказыКлиентов.ЗаказКлиента
и ЗаказыКлиентовОстаткиИОбороты.Номенклатура = ЗаказыКлиентов.Номенклатура //если она уникальна или агрегировать
вместо сумма документа использовать
ЗаказыКлиентов.Сумма //по тч.Товары в сумме даст сумму документа
//или в СКД в деталях не выводить а общую считать от средней
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот