Создание запроса - "поступления/продажи в разрезе топа"
Добрый день. Начинающий программист. Хочу решить задачу и хотелось бы у грамотных людей уточнить ход выполнения задачи:
на входе задаем параметры:
период - начало ___ дата
период - окончание ___ дата
ТОР GP - ___
Система анализирует кол-во поступлений товара с привязкой по заданному ТОПУ, и если кол-во документов "поступлений товара" больше 1, за указанный период времени. На выходе получаем КОЛОНКИ:
1. бренд (сортировка от А до Я)
2. код
3. номенклатура
4. сумма (по кол-ву) закупаемого товара
5. сумма (по кол-ву) проданного товара. (продажа-возврат, не равно продажа) ЕСЛИ ПРОДАЖ НЕ БЫЛО, ТО = ПУСТО.
6. TOP GP
Я, так понимаю, должен работать с документами "поступление товаров и услуг" и "реализация товаров и услуг", но в пределах регистра. Подходит ли регистр накопления "ТоварыОрганизаций" для решения задачи?
Пока получается так, но программа ещё в разработке:
Ещё вопрос по этому условию : "и если кол-во документов "поступлений товара" больше 1, за указанный период времени.". Как задать его?
И с этим тоже не могу понять :" (продажа-возврат, не равно продажа) "?
на входе задаем параметры:
период - начало ___ дата
период - окончание ___ дата
ТОР GP - ___
Система анализирует кол-во поступлений товара с привязкой по заданному ТОПУ, и если кол-во документов "поступлений товара" больше 1, за указанный период времени. На выходе получаем КОЛОНКИ:
1. бренд (сортировка от А до Я)
2. код
3. номенклатура
4. сумма (по кол-ву) закупаемого товара
5. сумма (по кол-ву) проданного товара. (продажа-возврат, не равно продажа) ЕСЛИ ПРОДАЖ НЕ БЫЛО, ТО = ПУСТО.
6. TOP GP
Я, так понимаю, должен работать с документами "поступление товаров и услуг" и "реализация товаров и услуг", но в пределах регистра. Подходит ли регистр накопления "ТоварыОрганизаций" для решения задачи?
Пока получается так, но программа ещё в разработке:
ВЫБРАТЬ
ЗначенияСвойствОбъектов.Объект КАК Объект,
ЗначенияСвойствОбъектов.Свойство КАК Свойство
ПОМЕСТИТЬ ТОП
ИЗ
РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
ГДЕ
ЗначенияСвойствОбъектов.Значение ССЫЛКА Справочник.ЗначенияСвойствОбъектов
И ЗначенияСвойствОбъектов.Свойство = &ТОП
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ РАЗЛИЧНЫЕ
ТоварыОрганизаций.Номенклатура.Бренд КАК Бренд,
ТоварыОрганизаций.Номенклатура.Код КАК Код,
ТоварыОрганизаций.Номенклатура КАК Номенклатура,
СУММА(ВЫБОР
КОГДА ТоварыОрганизаций.Регистратор ССЫЛКА Документ.ПоступлениеТоваровУслуг
ТОГДА ТоварыОрганизаций.Количество
КОНЕЦ) КАК КоличествоЗакупаемогоТовара,
СУММА(ВЫБОР
КОГДА ТоварыОрганизаций.Регистратор ССЫЛКА Документ.РеализацияТоваровУслуг
ТОГДА ТоварыОрганизаций.Количество
КОНЕЦ) КАК КоличествоПроданногоТовара,
ТОП.Свойство КАК TOPGP
ИЗ
ТОП КАК ТОП
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыОрганизаций КАК ТоварыОрганизаций
ПО (ТоварыОрганизаций.Номенклатура = ТОП.Объект)
ГДЕ
(ТоварыОрганизаций.Регистратор ССЫЛКА Документ.ПоступлениеТоваровУслуг
ИЛИ ТоварыОрганизаций.Регистратор ССЫЛКА Документ.РеализацияТоваровУслуг)
И ВЫБОР
КОГДА ТоварыОрганизаций.Регистратор ССЫЛКА Документ.ПоступлениеТоваровУслуг
ТОГДА ТоварыОрганизаций.Период МЕЖДУ &ПериодНачало И &ПериодОкончание
КОНЕЦ
СГРУППИРОВАТЬ ПО
ТоварыОрганизаций.Номенклатура.Бренд,
ТоварыОрганизаций.Номенклатура.Код,
ТоварыОрганизаций.Номенклатура,
ТОП.Свойство
УПОРЯДОЧИТЬ ПО
Бренд
ПоказатьЕщё вопрос по этому условию : "и если кол-во документов "поступлений товара" больше 1, за указанный период времени.". Как задать его?
И с этим тоже не могу понять :" (продажа-возврат, не равно продажа) "?
По теме из базы знаний
- "Процессы 3.0: CRM, Бизнес-процессы, Управление по целям". Универсальная система управления процессами и показателями для любой конфигурации 1С
- Конфигурация "Весовая ред. 3.0" для Платформы 8.3
- 1С:Хлебобулочное и кондитерское производство. Модуль для 1С:ERP и 1С:КА
- Номенклатура (Расширенная форма списка) и Корзина для УТ11, ERP и КА
- Концепция автоматизации многопрофильного Холдинга в системе АУБ на платформе 1С
Найденные решения
(23) нашёл ошибку. Нужно заменить на , так как если будет Поступление товаров и услуг, от которого пойдет более одного движения в Регистр.Закупки с TOPGP, то каждое из этих движений увеличит результат функции КОЛИЧЕСТВО(Закупки.Регистратор ССЫЛКА Документ.ПоступлениеТоваровУслуг). То есть, документ будет один, а движений несколько. А в задаче условие "и если кол-во документов "поступлений товара" больше 1", нужно считать именно документы Поступления, а не сами поступления.
ИМЕЮЩИЕ
КОЛИЧЕСТВО(Закупки.Регистратор ССЫЛКА Документ.ПоступлениеТоваровУслуг) > 1
ИМЕЮЩИЕ
КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Закупки.Регистратор) > 1
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) лучше для поступлений использовать регистр Закупки, а для продаж Продажи, как они именно обзываются у вас в конфигурации уточняйте
сделать пакетный запрос отдельными частями по разным регистрам с последующим соединением по номенклатуре или два запроса с объединением
сделать пакетный запрос отдельными частями по разным регистрам с последующим соединением по номенклатуре или два запроса с объединением
(3) Если я Вас правильно понял, то получается так:
ВЫБРАТЬ
ЗначенияСвойствОбъектов.Объект КАК Объект,
ЗначенияСвойствОбъектов.Свойство КАК Свойство
ПОМЕСТИТЬ ТОП
ИЗ
РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
ГДЕ
ЗначенияСвойствОбъектов.Значение ССЫЛКА Справочник.ЗначенияСвойствОбъектов
И ЗначенияСвойствОбъектов.Свойство = &ТОП
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
Закупки.Номенклатура.Бренд КАК Бренд,
Закупки.Номенклатура.Код КАК Код,
Закупки.Номенклатура КАК Номенклатура,
СУММА(Закупки.Количество) КАК КоличествоЗакупаемогоТовара,
ТОП.Свойство КАК Топ
ПОМЕСТИТЬ Закупки
ИЗ
РегистрНакопления.Закупки КАК Закупки
ВНУТРЕННЕЕ СОЕДИНЕНИЕ ТОП КАК ТОП
ПО Закупки.Номенклатура = ТОП.Объект
ГДЕ
Закупки.Регистратор ССЫЛКА Документ.ПоступлениеТоваровУслуг
И Закупки.Период МЕЖДУ &ПериодНачало И &ПериодОкончание
СГРУППИРОВАТЬ ПО
Закупки.Номенклатура.Бренд,
Закупки.Номенклатура.Код,
Закупки.Номенклатура,
ТОП.Свойство
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
Продажи.Номенклатура.Бренд КАК Бренд,
Продажи.Номенклатура.Код КАК Код,
Продажи.Номенклатура КАК Номенклатура,
СУММА(Продажи.Количество) КАК КоличествоПроданногоТовара,
ТОП.Свойство КАК Топ
ПОМЕСТИТЬ Продажи
ИЗ
ТОП КАК ТОП
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи КАК Продажи
ПО ТОП.Объект = Продажи.Номенклатура
ГДЕ
Продажи.Регистратор ССЫЛКА Документ.РеализацияТоваровУслуг
СГРУППИРОВАТЬ ПО
ТОП.Свойство,
Продажи.Номенклатура,
Продажи.Номенклатура.Код,
Продажи.Номенклатура.Бренд
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
Закупки.Бренд КАК Бренд,
Закупки.Код КАК Код,
Закупки.Номенклатура КАК Номенклатура,
Закупки.КоличествоЗакупаемогоТовара КАК КоличествоЗакупаемогоТовара,
Продажи.КоличествоПроданногоТовара КАК КоличествоПроданногоТовара,
Закупки.Топ КАК Топ
ИЗ
Закупки КАК Закупки
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Продажи КАК Продажи
ПО Закупки.Номенклатура = Продажи.Номенклатура
УПОРЯДОЧИТЬ ПО
Бренд
Показать
(7)
единственно,я бы вот это убрал совсем
а внутреннее соединение по ТОП заменил бы на левое из РегистрСведений.ЗначенияСвойствОбъектов ПО ЗначенияСвойствОбъектов.Объект
а ЗначенияСвойствОбъектов.Свойство = &ТОП вынес в условвие
ВЫБРАТЬ
ЗначенияСвойствОбъектов.Объект КАК Объект,
ЗначенияСвойствОбъектов.Свойство КАК Свойство
ПОМЕСТИТЬ ТОП
ИЗ
РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
ГДЕ
ЗначенияСвойствОбъектов.Значение ССЫЛКА Справочник.ЗначенияСвойствОбъектов
И ЗначенияСвойствОбъектов.Свойство = &ТОП
;
ЗначенияСвойствОбъектов.Объект КАК Объект,
ЗначенияСвойствОбъектов.Свойство КАК Свойство
ПОМЕСТИТЬ ТОП
ИЗ
РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
ГДЕ
ЗначенияСвойствОбъектов.Значение ССЫЛКА Справочник.ЗначенияСвойствОбъектов
И ЗначенияСвойствОбъектов.Свойство = &ТОП
;
единственно,я бы вот это убрал совсем
а внутреннее соединение по ТОП заменил бы на левое из РегистрСведений.ЗначенияСвойствОбъектов ПО ЗначенияСвойствОбъектов.Объект
а ЗначенияСвойствОбъектов.Свойство = &ТОП вынес в условвие
(8) Такой вариант выполняется в 100 раз (это не образное выражение) дольше:
чем этот вариант:
ВЫБРАТЬ
Закупки.Номенклатура.Бренд КАК Бренд,
Закупки.Номенклатура.Код КАК Код,
Закупки.Номенклатура КАК Номенклатура,
СУММА(Закупки.Количество) КАК КоличествоЗакупаемогоТовара,
ЗначенияСвойствОбъектов.Свойство КАК TOPGP
ПОМЕСТИТЬ Закупки
ИЗ
РегистрНакопления.Закупки КАК Закупки
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
ПО Закупки.Номенклатура = ЗначенияСвойствОбъектов.Объект
ГДЕ
Закупки.Регистратор ССЫЛКА Документ.ПоступлениеТоваровУслуг
И Закупки.Период МЕЖДУ &ПериодНачало И &ПериодОкончание
СГРУППИРОВАТЬ ПО
Закупки.Номенклатура.Бренд,
Закупки.Номенклатура.Код,
Закупки.Номенклатура,
ЗначенияСвойствОбъектов.Свойство
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
Продажи.Номенклатура.Бренд КАК Бренд,
Продажи.Номенклатура.Код КАК Код,
Продажи.Номенклатура КАК Номенклатура,
СУММА(Продажи.Количество) КАК КоличествоПроданногоТовара,
ЗначенияСвойствОбъектов.Свойство КАК TOPGP
ПОМЕСТИТЬ Продажи
ИЗ
РегистрНакопления.Продажи КАК Продажи
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
ПО Продажи.Номенклатура = ЗначенияСвойствОбъектов.Объект
ГДЕ
Продажи.Регистратор ССЫЛКА Документ.РеализацияТоваровУслуг
СГРУППИРОВАТЬ ПО
Продажи.Номенклатура,
Продажи.Номенклатура.Код,
Продажи.Номенклатура.Бренд,
ЗначенияСвойствОбъектов.Свойство
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ РАЗЛИЧНЫЕ
Закупки.Бренд КАК Бренд,
Закупки.Код КАК Код,
Закупки.Номенклатура КАК Номенклатура,
Закупки.КоличествоЗакупаемогоТовара КАК КоличествоЗакупаемогоТовара,
Продажи.КоличествоПроданногоТовара КАК КоличествоПроданногоТовара,
Закупки.TOPGP КАК TOPGP
ИЗ
Закупки КАК Закупки
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Продажи КАК Продажи
ПО Закупки.Номенклатура = Продажи.Номенклатура
ГДЕ
Закупки.TOPGP = &ТОП
УПОРЯДОЧИТЬ ПО
Бренд
Показатьчем этот вариант:
ВЫБРАТЬ
ЗначенияСвойствОбъектов.Объект КАК Объект,
ЗначенияСвойствОбъектов.Свойство КАК Свойство
ПОМЕСТИТЬ ТОП
ИЗ
РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
ГДЕ
ЗначенияСвойствОбъектов.Значение ССЫЛКА Справочник.ЗначенияСвойствОбъектов
И ЗначенияСвойствОбъектов.Свойство = &ТОП
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
Закупки.Номенклатура.Бренд КАК Бренд,
Закупки.Номенклатура.Код КАК Код,
Закупки.Номенклатура КАК Номенклатура,
СУММА(Закупки.Количество) КАК КоличествоЗакупаемогоТовара,
ТОП.Свойство КАК Топ
ПОМЕСТИТЬ Закупки
ИЗ
РегистрНакопления.Закупки КАК Закупки
ВНУТРЕННЕЕ СОЕДИНЕНИЕ ТОП КАК ТОП
ПО Закупки.Номенклатура = ТОП.Объект
ГДЕ
Закупки.Регистратор ССЫЛКА Документ.ПоступлениеТоваровУслуг
И Закупки.Период МЕЖДУ &ПериодНачало И &ПериодОкончание
СГРУППИРОВАТЬ ПО
Закупки.Номенклатура.Бренд,
Закупки.Номенклатура.Код,
Закупки.Номенклатура,
ТОП.Свойство
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
Продажи.Номенклатура.Бренд КАК Бренд,
Продажи.Номенклатура.Код КАК Код,
Продажи.Номенклатура КАК Номенклатура,
СУММА(Продажи.Количество) КАК КоличествоПроданногоТовара,
ТОП.Свойство КАК Топ
ПОМЕСТИТЬ Продажи
ИЗ
ТОП КАК ТОП
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи КАК Продажи
ПО ТОП.Объект = Продажи.Номенклатура
ГДЕ
Продажи.Регистратор ССЫЛКА Документ.РеализацияТоваровУслуг
СГРУППИРОВАТЬ ПО
ТОП.Свойство,
Продажи.Номенклатура,
Продажи.Номенклатура.Код,
Продажи.Номенклатура.Бренд
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
Закупки.Бренд КАК Бренд,
Закупки.Код КАК Код,
Закупки.Номенклатура КАК Номенклатура,
Закупки.КоличествоЗакупаемогоТовара КАК КоличествоЗакупаемогоТовара,
Продажи.КоличествоПроданногоТовара КАК КоличествоПроданногоТовара,
Закупки.Топ КАК Топ
ИЗ
Закупки КАК Закупки
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Продажи КАК Продажи
ПО Закупки.Номенклатура = Продажи.Номенклатура
УПОРЯДОЧИТЬ ПО
Бренд
Показать
(10) Результаты совпадают в двух запросах, но первый выполняется очень долго.
Подскажите ещё с :
"и если кол-во документов "поступлений товара" больше 1, за указанный период времени.". Как задать его? За период я задаю, а вот как проверить на количество документов?
И с этим тоже не могу понять :" (продажа-возврат, не равно продажа) "?
Подскажите ещё с :
"и если кол-во документов "поступлений товара" больше 1, за указанный период времени.". Как задать его? За период я задаю, а вот как проверить на количество документов?
И с этим тоже не могу понять :" (продажа-возврат, не равно продажа) "?
(12)
Немного не получается в этом моменте. Я получаю возврат таким путём:
Продажи получаю таким путём:
Дальше я где должен выбор сделать? В условии основного запроса:
Или в поле
продажа-возврат <> продажа - тут надо данные возврата получить и просто вычислить арифметически через ВЫБОР КОГДА
Немного не получается в этом моменте. Я получаю возврат таким путём:
ВЫБРАТЬ
ЗначенияСвойствОбъектов.Объект КАК Объект,
ЗначенияСвойствОбъектов.Свойство КАК Свойство
ПОМЕСТИТЬ ТОП
ИЗ
РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
ГДЕ
ЗначенияСвойствОбъектов.Значение ССЫЛКА Справочник.ЗначенияСвойствОбъектов
И ЗначенияСвойствОбъектов.Свойство = &ТОП
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
Продажи.Номенклатура.Бренд КАК Бренд,
Продажи.Номенклатура.Код КАК Код,
Продажи.Номенклатура КАК Номенклатура,
СУММА(Продажи.Количество) КАК КоличествоВозвращённогоТовара,
ТОП.Свойство КАК Топ
ИЗ
ТОП КАК ТОП
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи КАК Продажи
ПО ТОП.Объект = Продажи.Номенклатура
ГДЕ
Продажи.Регистратор ССЫЛКА Документ.ВозвратТоваровОтПокупателя
СГРУППИРОВАТЬ ПО
ТОП.Свойство,
Продажи.Номенклатура,
Продажи.Номенклатура.Код,
Продажи.Номенклатура.Бренд
ПоказатьПродажи получаю таким путём:
ВЫБРАТЬ
ЗначенияСвойствОбъектов.Объект КАК Объект,
ЗначенияСвойствОбъектов.Свойство КАК Свойство
ПОМЕСТИТЬ ТОП
ИЗ
РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
ГДЕ
ЗначенияСвойствОбъектов.Значение ССЫЛКА Справочник.ЗначенияСвойствОбъектов
И ЗначенияСвойствОбъектов.Свойство = &ТОП
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
Продажи.Номенклатура.Бренд КАК Бренд,
Продажи.Номенклатура.Код КАК Код,
Продажи.Номенклатура КАК Номенклатура,
СУММА(Продажи.Количество) КАК КоличествоПроданногоТовара,
ТОП.Свойство КАК Топ
ИЗ
ТОП КАК ТОП
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи КАК Продажи
ПО ТОП.Объект = Продажи.Номенклатура
ГДЕ
Продажи.Регистратор ССЫЛКА Документ.РеализацияТоваровУслуг
СГРУППИРОВАТЬ ПО
ТОП.Свойство,
Продажи.Номенклатура,
Продажи.Номенклатура.Код,
Продажи.Номенклатура.Бренд
ПоказатьДальше я где должен выбор сделать? В условии основного запроса:
ВЫБРАТЬ
Закупки.Бренд КАК Бренд,
Закупки.Код КАК Код,
Закупки.Номенклатура КАК Номенклатура,
Закупки.КоличествоЗакупаемогоТовара КАК КоличествоЗакупаемогоТовара,
Продажи.КоличествоПроданногоТовара КАК КоличествоПроданногоТовара,
Закупки.Топ КАК Топ
ИЗ
Закупки КАК Закупки
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Продажи КАК Продажи
ПО Закупки.Номенклатура = Продажи.Номенклатура
УПОРЯДОЧИТЬ ПО
Бренд
ПоказатьИли в поле
Продажи.КоличествоПроданногоТовара КАК КоличествоПроданногоТовара
основного запроса?
(14) как-то так
или через ОБЪЕДИНИТЬ выборки по возвратам и продажам
ВЫБРАТЬ
ЗначенияСвойствОбъектов.Объект КАК Объект,
ЗначенияСвойствОбъектов.Свойство КАК Свойство
ПОМЕСТИТЬ ТОП
ИЗ
РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
ГДЕ
ЗначенияСвойствОбъектов.Значение ССЫЛКА Справочник.ЗначенияСвойствОбъектов
И ЗначенияСвойствОбъектов.Свойство = &ТОП
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
Продажи.Номенклатура.Бренд КАК Бренд,
Продажи.Номенклатура.Код КАК Код,
Продажи.Номенклатура КАК Номенклатура,
СУММА(Продажи.Количество) КАК КоличествоВозвращённогоТовара,
ТОП.Свойство КАК Топ
ПОМЕСТИТЬ тзВозвраты
ИЗ
ТОП КАК ТОП
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи КАК Продажи
ПО ТОП.Объект = Продажи.Номенклатура
ГДЕ
Продажи.Регистратор ССЫЛКА Документ.ВозвратТоваровОтПокупателя
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
Продажи.Номенклатура.Бренд КАК Бренд,
Продажи.Номенклатура.Код КАК Код,
Продажи.Номенклатура КАК Номенклатура,
СУММА(Продажи.Количество) КАК КоличествоПроданногоТовара,
ТОП.Свойство КАК Топ
ПОМЕСТИТЬ тзПродажи
ИЗ
ТОП КАК ТОП
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи КАК Продажи
ПО ТОП.Объект = Продажи.Номенклатура
ГДЕ
Продажи.Регистратор ССЫЛКА Документ.РеализацияТоваровУслуг
;
/////////////////////////////////////////
ВЫБРАТЬ
Закупки.Бренд КАК Бренд,
Закупки.Код КАК Код,
Закупки.Номенклатура КАК Номенклатура,
Закупки.КоличествоЗакупаемогоТовара КАК КоличествоЗакупаемогоТовара,
Продажи.КоличествоПроданногоТовара КАК КоличествоПроданногоТовара,
Возвраты.КоличествоВозвращённогоТовара КАК КоличествоВозвращённогоТовара,
ВЫБОР
КОГДА Продажи.КоличествоПроданногоТовара - Возвраты.КоличествоВозвращённогоТовара <> Продажи.КоличествоПроданногоТовара
ТОГДА "продажи больше, чем вернули"
ИНАЧЕ "продали меньше, чем вернули"
КОНЕЦ
Закупки.Топ КАК Топ
ИЗ
Закупки КАК Закупки
ВНУТРЕННЕЕ СОЕДИНЕНИЕ тзПродажи КАК Продажи
ПО Закупки.Номенклатура = Продажи.Номенклатура
ВНУТРЕННЕЕ СОЕДИНЕНИЕ тзВозвраты КАК Возвраты
ПО Закупки.Номенклатура = Возвраты.Номенклатура
Показатьили через ОБЪЕДИНИТЬ выборки по возвратам и продажам
(17) За колонки я не переживаю, но вот никак не могу разобраться с добавлением этого условия
2. сумма (по кол-ву) проданного товара. (продажа-возврат, не равно продажа) ЕСЛИ ПРОДАЖ НЕ БЫЛО, ТО = ПУСТО.
в мой запрос, так как он меня устраивает.
ВЫБРАТЬ
ЗначенияСвойствОбъектов.Объект КАК Номенклатура,
ЗначенияСвойствОбъектов.Свойство КАК TOPGP
ПОМЕСТИТЬ ТОП
ИЗ
РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
ГДЕ
ЗначенияСвойствОбъектов.Значение ССЫЛКА Справочник.ЗначенияСвойствОбъектов
И ЗначенияСвойствОбъектов.Свойство = &ТОП
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
Закупки.Номенклатура.Бренд КАК Бренд,
Закупки.Номенклатура.Код КАК Код,
Закупки.Номенклатура КАК Номенклатура,
СУММА(Закупки.Количество) КАК КоличествоЗакупаемогоТовара,
ТОП.TOPGP КАК TOPGP
ПОМЕСТИТЬ Закупки
ИЗ
РегистрНакопления.Закупки КАК Закупки
ВНУТРЕННЕЕ СОЕДИНЕНИЕ ТОП КАК ТОП
ПО Закупки.Номенклатура = ТОП.Номенклатура
ГДЕ
Закупки.Регистратор ССЫЛКА Документ.ПоступлениеТоваровУслуг
И Закупки.Период МЕЖДУ &ПериодНачало И &ПериодОкончание
СГРУППИРОВАТЬ ПО
Закупки.Номенклатура.Бренд,
Закупки.Номенклатура.Код,
Закупки.Номенклатура,
ТОП.TOPGP
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
Продажи.Номенклатура.Бренд КАК Бренд,
Продажи.Номенклатура.Код КАК Код,
Продажи.Номенклатура КАК Номенклатура,
СУММА(Продажи.Количество) КАК КоличествоПроданногоТовара,
ТОП.TOPGP КАК TOPGP
ПОМЕСТИТЬ Продажи
ИЗ
РегистрНакопления.Продажи КАК Продажи
ВНУТРЕННЕЕ СОЕДИНЕНИЕ ТОП КАК ТОП
ПО Продажи.Номенклатура = ТОП.Номенклатура
ГДЕ
Продажи.Регистратор ССЫЛКА Документ.РеализацияТоваровУслуг
СГРУППИРОВАТЬ ПО
Продажи.Номенклатура,
Продажи.Номенклатура.Код,
Продажи.Номенклатура.Бренд,
ТОП.TOPGP
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
Закупки.Бренд КАК Бренд,
Закупки.Код КАК Код,
Закупки.Номенклатура КАК Номенклатура,
Закупки.КоличествоЗакупаемогоТовара КАК КоличествоЗакупаемогоТовара,
Продажи.КоличествоПроданногоТовара КАК КоличествоПроданногоТовара,
Закупки.TOPGP КАК TOPGP
ИЗ
Закупки КАК Закупки
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Продажи КАК Продажи
ПО Закупки.Номенклатура = Продажи.Номенклатура
УПОРЯДОЧИТЬ ПО
Бренд
Показать
(19) Добрый день. Извините что ещё раз вас беспокою, получилось сделать всё и добиться нужно результат (как я считал), но вот руководитель говорит, что есть ошибка, а я уже голову сломал в попытках найти её. Не могли бы Вы подсказать, где (возможно) вы считаете, что есть ошибка?
ВЫБРАТЬ
Закупки.Номенклатура КАК Номенклатура,
СУММА(Закупки.Количество) КАК КоличествоЗакупаемогоТовара,
ЗначенияСвойствОбъектов.Свойство КАК TOPGP
ПОМЕСТИТЬ Закупки
ИЗ
РегистрНакопления.Закупки КАК Закупки
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
ПО Закупки.Номенклатура = ЗначенияСвойствОбъектов.Объект
ГДЕ
Закупки.Период МЕЖДУ &ПериодНачало И &ПериодОкончание
И ЗначенияСвойствОбъектов.Значение = &TOPGP
И Закупки.Регистратор ССЫЛКА Документ.ПоступлениеТоваровУслуг
СГРУППИРОВАТЬ ПО
Закупки.Номенклатура,
ЗначенияСвойствОбъектов.Свойство
ИМЕЮЩИЕ
КОЛИЧЕСТВО(Закупки.Регистратор ССЫЛКА Документ.ПоступлениеТоваровУслуг) > 1
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
ПродажиОбороты.Номенклатура КАК Номенклатура,
ПродажиОбороты.КоличествоОборот КАК КоличествоПроданногоТовара
ПОМЕСТИТЬ Продажи
ИЗ
РегистрНакопления.Продажи.Обороты(&ПериодНачало, &ПериодОкончание, , ) КАК ПродажиОбороты
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
Закупки.Номенклатура.Бренд КАК Бренд,
Закупки.Номенклатура.Код КАК Код,
Закупки.Номенклатура КАК Номенклатура,
Закупки.КоличествоЗакупаемогоТовара КАК КоличествоЗакупаемогоТовара,
Продажи.КоличествоПроданногоТовара КАК КоличествоПроданногоТовара,
Закупки.TOPGP КАК TOPGP
ИЗ
Закупки КАК Закупки
ЛЕВОЕ СОЕДИНЕНИЕ Продажи КАК Продажи
ПО Закупки.Номенклатура = Продажи.Номенклатура
УПОРЯДОЧИТЬ ПО
Бренд
Показать
(21) А разве при
к закупкам не подберутся продажи с одинаковым свойством ?
Плюс я пробовал в 3м пакете соединить (внутренним) закупки с значениями характеристик одновременно с продажи (внутреннее) и значения характеристик, то выдавало ошибку, что связь
Закупки КАК Закупки
ЛЕВОЕ СОЕДИНЕНИЕ Продажи КАК Продажи
ПО Закупки.Номенклатура = Продажи.Номенклатура
к закупкам не подберутся продажи с одинаковым свойством ?
Плюс я пробовал в 3м пакете соединить (внутренним) закупки с значениями характеристик одновременно с продажи (внутреннее) и значения характеристик, то выдавало ошибку, что связь
продажи (внутреннее) и значения характеристик
противоречит связи (внутренним) закупки с значениями характеристик
. А если сделать разными пакетами (то есть в одном закупки + характеристики, в другом продажи + характеристики, и всё это соединить в 3м пакете), то выходит тот же результат, но конструкция получается не оптимальной.
(23) нашёл ошибку. Нужно заменить на , так как если будет Поступление товаров и услуг, от которого пойдет более одного движения в Регистр.Закупки с TOPGP, то каждое из этих движений увеличит результат функции КОЛИЧЕСТВО(Закупки.Регистратор ССЫЛКА Документ.ПоступлениеТоваровУслуг). То есть, документ будет один, а движений несколько. А в задаче условие "и если кол-во документов "поступлений товара" больше 1", нужно считать именно документы Поступления, а не сами поступления.
ИМЕЮЩИЕ
КОЛИЧЕСТВО(Закупки.Регистратор ССЫЛКА Документ.ПоступлениеТоваровУслуг) > 1
ИМЕЮЩИЕ
КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Закупки.Регистратор) > 1
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот