Делаю отчет на СКД, который состоит из нескольких наборов данных. В каждом наборе данных есть 4 пакетных запроса, в каждом пакетном запросе есть вложенные запросы,которые обращаются к дополнительным реквизитам. Запрос выполняется очень долго(около 5 минут) в частности из за последнего набора данных, в котором много вложенных запросов.Как мне его оптимизировать?
По теме из базы знаний
- Видеокурс: Разработка и оптимизация запросов 1С
- Неиспользуемые поля в конечных запросах построителя отчетов и СКД
- Оптимизация запросов 1С - от теории к практике
- Универсальный конструктор отчетов СКД (управляемые формы, тонкий клиент)
- Работа с запросами в 1С СКД. Особенности работы запросов в СКД. Часть 2
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
))
ВЫБРАТЬ
СУММА(ВыручкаИСебестоимостьПродажОбороты.КоличествоОборот / ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаНоменклатуры.Номенклатура.КоэффициентЕдиницыДляОтчетов) КАК Дал,
РТКазань.Значение КАК Значение,
НАЧАЛОПЕРИОДА(&ТекущаяДата, ГОД) КАК Период_Казань_2,
КОНЕЦПЕРИОДА(ДОБАВИТЬКДАТЕ(&ТекущаяДата, МЕСЯЦ, -1), МЕСЯЦ) КАК Период_Казань_22,
ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаПоПартнерам.Контрагент,
ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаПоПартнерам.Партнер КАК АналитикаУчетаПоПартнерамПартнер,
РТАльметьевск.Значение КАК Альметьевск,
РТЧелны.Значение КАК Челны,
Район.Значение КАК Район
ПОМЕСТИТЬ ТекущийПериод
ИЗ
РегистрНакопления.ВыручкаИСебестоимостьПродаж.Обороты(, &ТекущаяДата, Регистратор, ) КАК ВыручкаИСебестоимостьПродажОбороты
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
ПартнерыДополнительныеРеквизиты.Значение КАК Значение,
ПартнерыДополнительныеРеквизиты.Ссылка КАК Ссылка
ИЗ
Справочник.Партнеры.ДополнительныеРеквизиты КАК ПартнерыДополнительныеРеквизиты
ГДЕ
ПартнерыДополнительныеРеквизиты.Свойство = &Дивизион
И ПартнерыДополнительныеРеквизиты.Значение = &РТКазань) КАК РТКазань
ПО ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаПоПартнерам.Партнер.Ссылка = РТКазань.Ссылка
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
ПартнерыДополнительныеРеквизиты.Свойство КАК Свойство,
ПартнерыДополнительныеРеквизиты.Значение КАК Значение,
ПартнерыДополнительныеРеквизиты.Ссылка КАК Ссылка
ИЗ
Справочник.Партнеры.ДополнительныеРеквизиты КАК ПартнерыДополнительныеРеквизиты
ГДЕ
ПартнерыДополнительныеРеквизиты.Свойство = &Дивизион
И ПартнерыДополнительныеРеквизиты.Значение = &РТАльмет) КАК РТАльметьевск
ПО (РТАльметьевск.Ссылка = ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаПоПартнерам.Партнер.Ссылка)
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
ПартнерыДополнительныеРеквизиты.Ссылка КАК Ссылка,
ПартнерыДополнительныеРеквизиты.Свойство КАК Свойство,
ПартнерыДополнительныеРеквизиты.Значение КАК Значение
ИЗ
Справочник.Партнеры.ДополнительныеРеквизиты КАК ПартнерыДополнительныеРеквизиты
ГДЕ
ПартнерыДополнительныеРеквизиты.Свойство = &Дивизион
И ПартнерыДополнительныеРеквизиты.Значение = &РТЧелны
СГРУППИРОВАТЬ ПО
ПартнерыДополнительныеРеквизиты.Ссылка,
ПартнерыДополнительныеРеквизиты.Свойство,
ПартнерыДополнительныеРеквизиты.Значение) КАК РТЧелны
ПО ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаПоПартнерам.Партнер.Ссылка = РТЧелны.Ссылка
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
ПартнерыДополнительныеРеквизиты.Ссылка КАК Ссылка,
ПартнерыДополнительныеРеквизиты.Значение КАК Значение
ИЗ
Справочник.Партнеры.ДополнительныеРеквизиты КАК ПартнерыДополнительныеРеквизиты
ГДЕ
ПартнерыДополнительныеРеквизиты.Свойство = &Район) КАК Район
ПО ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаПоПартнерам.Партнер.Ссылка = Район.Ссылка
ГДЕ
ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаНоменклатуры.Номенклатура.ВидНоменклатуры = &ВидНоменклатуры
И ВыручкаИСебестоимостьПродажОбороты.Период МЕЖДУ НАЧАЛОПЕРИОДА(&ТекущаяДата, ГОД) И КОНЕЦПЕРИОДА(ДОБАВИТЬКДАТЕ(&ТекущаяДата, МЕСЯЦ, -1), МЕСЯЦ)
И ВыручкаИСебестоимостьПродажОбороты.Регистратор ССЫЛКА Документ.РеализацияТоваровУслуг
И ВыручкаИСебестоимостьПродажОбороты.Регистратор.Статус = &Статус
СГРУППИРОВАТЬ ПО
РТКазань.Значение,
ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаПоПартнерам.Контрагент,
ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаПоПартнерам.Партнер,
РТАльметьевск.Значение,
РТЧелны.Значение,
Район.Значение
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
СУММА(ВыручкаИСебестоимостьПродажОбороты.КоличествоОборот / ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаНоменклатуры.Номенклатура.КоэффициентЕдиницыДляОтчетов) КАК Дал,
РТКазань.Значение КАК Значение,
НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(&ТекущаяДата, ГОД, -1), ГОД) КАК Период_Казань_1,
КОНЕЦПЕРИОДА(ДОБАВИТЬКДАТЕ(ДОБАВИТЬКДАТЕ(&ТекущаяДата, ГОД, -1), МЕСЯЦ, -1), МЕСЯЦ) КАК Период_Казань_11,
КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаПоПартнерам.Партнер) КАК АналитикаУчетаПоПартнерамПартнер,
Район.Значение КАК Район
ПОМЕСТИТЬ ПрошлыйГод
ИЗ
РегистрНакопления.ВыручкаИСебестоимостьПродаж.Обороты(, &ТекущаяДата, Регистратор, ) КАК ВыручкаИСебестоимостьПродажОбороты
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
ПартнерыДополнительныеРеквизиты.Значение КАК Значение,
ПартнерыДополнительныеРеквизиты.Ссылка КАК Ссылка
ИЗ
Справочник.Партнеры.ДополнительныеРеквизиты КАК ПартнерыДополнительныеРеквизиты
ГДЕ
ПартнерыДополнительныеРеквизиты.Свойство = &Дивизион
И ПартнерыДополнительныеРеквизиты.Значение = &РТКазань) КАК РТКазань
ПО ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаПоПартнерам.Партнер.Ссылка = РТКазань.Ссылка
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
ПартнерыДополнительныеРеквизиты.Свойство КАК Свойство,
ПартнерыДополнительныеРеквизиты.Значение КАК Значение,
ПартнерыДополнительныеРеквизиты.Ссылка КАК Ссылка
ИЗ
Справочник.Партнеры.ДополнительныеРеквизиты КАК ПартнерыДополнительныеРеквизиты
ГДЕ
ПартнерыДополнительныеРеквизиты.Свойство = &Дивизион
И ПартнерыДополнительныеРеквизиты.Значение = &РТАльмет) КАК РТАльметьевск
ПО ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаПоПартнерам.Партнер.Ссылка = РТАльметьевск.Ссылка
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
ПартнерыДополнительныеРеквизиты.Ссылка КАК Ссылка,
ПартнерыДополнительныеРеквизиты.Свойство КАК Свойство,
ПартнерыДополнительныеРеквизиты.Значение КАК Значение
ИЗ
Справочник.Партнеры.ДополнительныеРеквизиты КАК ПартнерыДополнительныеРеквизиты
ГДЕ
ПартнерыДополнительныеРеквизиты.Свойство = &Дивизион
И ПартнерыДополнительныеРеквизиты.Значение = &РТЧелны
СГРУППИРОВАТЬ ПО
ПартнерыДополнительныеРеквизиты.Ссылка,
ПартнерыДополнительныеРеквизиты.Значение,
ПартнерыДополнительныеРеквизиты.Свойство) КАК РТЧелны
ПО ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаПоПартнерам.Партнер.Ссылка = РТЧелны.Ссылка
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
ПартнерыДополнительныеРеквизиты.Ссылка КАК Ссылка,
ПартнерыДополнительныеРеквизиты.Значение КАК Значение
ИЗ
Справочник.Партнеры.ДополнительныеРеквизиты КАК ПартнерыДополнительныеРеквизиты
ГДЕ
ПартнерыДополнительныеРеквизиты.Свойство = &Район
СГРУППИРОВАТЬ ПО
ПартнерыДополнительныеРеквизиты.Ссылка,
ПартнерыДополнительныеРеквизиты.Значение) КАК Район
ПО ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаПоПартнерам.Партнер.Ссылка = Район.Ссылка
ГДЕ
ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаНоменклатуры.Номенклатура.ВидНоменклатуры = &ВидНоменклатуры
И ВыручкаИСебестоимостьПродажОбороты.Период МЕЖДУ НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(&ТекущаяДата, ГОД, -1), ГОД) И КОНЕЦПЕРИОДА(ДОБАВИТЬКДАТЕ(ДОБАВИТЬКДАТЕ(&ТекущаяДата, ГОД, -1), МЕСЯЦ, -1), МЕСЯЦ)
И ВыручкаИСебестоимостьПродажОбороты.Регистратор ССЫЛКА Документ.РеализацияТоваровУслуг
И ВыручкаИСебестоимостьПродажОбороты.Регистратор.Статус = &Статус
СГРУППИРОВАТЬ ПО
РТКазань.Значение,
Район.Значение
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
СУММА(ВыручкаИСебестоимостьПродажОбороты.КоличествоОборот / ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаНоменклатуры.Номенклатура.КоэффициентЕдиницыДляОтчетов) КАК Дал,
РТКазань.Значение,
НАЧАЛОПЕРИОДА(&Текущаядата, МЕСЯЦ) КАК Период_Казань_4,
&ТекущаяДата КАК Период_Казань_44,
ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаПоПартнерам.Партнер,
Район.Значение КАК Район
ПОМЕСТИТЬ ТекущийМесяц
ИЗ
РегистрНакопления.ВыручкаИСебестоимостьПродаж.Обороты(, &ТекущаяДата, Регистратор, ) КАК ВыручкаИСебестоимостьПродажОбороты
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
ПартнерыДополнительныеРеквизиты.Значение КАК Значение,
ПартнерыДополнительныеРеквизиты.Ссылка КАК Ссылка
ИЗ
Справочник.Партнеры.ДополнительныеРеквизиты КАК ПартнерыДополнительныеРеквизиты
ГДЕ
ПартнерыДополнительныеРеквизиты.Свойство = &Дивизион
И ПартнерыДополнительныеРеквизиты.Значение = &РТКазань) КАК РТКазань
ПО ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаПоПартнерам.Партнер = РТКазань.Ссылка.Ссылка
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
ПартнерыДополнительныеРеквизиты.Ссылка КАК Ссылка,
ПартнерыДополнительныеРеквизиты.Свойство КАК Свойство,
ПартнерыДополнительныеРеквизиты.Значение КАК Значение
ИЗ
Справочник.Партнеры.ДополнительныеРеквизиты КАК ПартнерыДополнительныеРеквизиты
ГДЕ
ПартнерыДополнительныеРеквизиты.Свойство = &Дивизион
И ПартнерыДополнительныеРеквизиты.Значение = &РТАльмет
СГРУППИРОВАТЬ ПО
ПартнерыДополнительныеРеквизиты.Свойство,
ПартнерыДополнительныеРеквизиты.Значение,
ПартнерыДополнительныеРеквизиты.Ссылка) КАК РТАльметьевск
ПО ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаПоПартнерам.Партнер.Ссылка = РТАльметьевск.Ссылка
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
ПартнерыДополнительныеРеквизиты.Ссылка КАК Ссылка,
ПартнерыДополнительныеРеквизиты.Свойство КАК Свойство,
ПартнерыДополнительныеРеквизиты.Значение КАК Значение
ИЗ
Справочник.Партнеры.ДополнительныеРеквизиты КАК ПартнерыДополнительныеРеквизиты
ГДЕ
ПартнерыДополнительныеРеквизиты.Свойство = &Дивизион
И ПартнерыДополнительныеРеквизиты.Значение = &РТЧелны
СГРУППИРОВАТЬ ПО
ПартнерыДополнительныеРеквизиты.Значение,
ПартнерыДополнительныеРеквизиты.Ссылка,
ПартнерыДополнительныеРеквизиты.Свойство) КАК РТЧелны
ПО ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаПоПартнерам.Партнер.Ссылка = РТЧелны.Ссылка
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
ПартнерыДополнительныеРеквизиты.Ссылка КАК Ссылка,
ПартнерыДополнительныеРеквизиты.Значение КАК Значение
ИЗ
Справочник.Партнеры.ДополнительныеРеквизиты КАК ПартнерыДополнительныеРеквизиты
ГДЕ
ПартнерыДополнительныеРеквизиты.Свойство = &Район
СГРУППИРОВАТЬ ПО
ПартнерыДополнительныеРеквизиты.Значение,
ПартнерыДополнительныеРеквизиты.Ссылка) КАК Район
ПО ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаПоПартнерам.Партнер.Ссылка = Район.Ссылка
ГДЕ
ВыручкаИСебестоимостьПродажОбороты.Период МЕЖДУ НАЧАЛОПЕРИОДА(&Текущаядата, МЕСЯЦ) И &ТекущаяДата
И ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаНоменклатуры.Номенклатура.ВидНоменклатуры = &ВидНоменклатуры
И ВыручкаИСебестоимостьПродажОбороты.Регистратор ССЫЛКА Документ.РеализацияТоваровУслуг
И ВыручкаИСебестоимостьПродажОбороты.Регистратор.Статус = &Статус
СГРУППИРОВАТЬ ПО
РТКазань.Значение,
ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаПоПартнерам.Партнер,
Район.Значение
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
СУММА(ВыручкаИСебестоимостьПродажОбороты.КоличествоОборот / ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаНоменклатуры.Номенклатура.КоэффициентЕдиницыДляОтчетов) КАК Дал,
РТКазань.Значение,
НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(&Текущаядата, ГОД, -1), МЕСЯЦ) КАК Период_Казань_3,
КОНЕЦПЕРИОДА(ДОБАВИТЬКДАТЕ(&ТекущаяДата, ГОД, -1), МЕСЯЦ) КАК Период_Казань_33,
ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаПоПартнерам.Партнер,
Район.Значение КАК Район
ПОМЕСТИТЬ МесяцПрошлогоГода
ИЗ
РегистрНакопления.ВыручкаИСебестоимостьПродаж.Обороты(, &ТекущаяДата, Регистратор, ) КАК ВыручкаИСебестоимостьПродажОбороты
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
ПартнерыДополнительныеРеквизиты.Значение КАК Значение,
ПартнерыДополнительныеРеквизиты.Ссылка КАК Ссылка
ИЗ
Справочник.Партнеры.ДополнительныеРеквизиты КАК ПартнерыДополнительныеРеквизиты
ГДЕ
ПартнерыДополнительныеРеквизиты.Свойство = &Дивизион
И ПартнерыДополнительныеРеквизиты.Значение = &РТКазань) КАК РТКазань
ПО ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаПоПартнерам.Партнер = РТКазань.Ссылка.Ссылка
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
ПартнерыДополнительныеРеквизиты.Ссылка КАК Ссылка,
ПартнерыДополнительныеРеквизиты.Свойство КАК Свойство,
ПартнерыДополнительныеРеквизиты.Значение КАК Значение
ИЗ
Справочник.Партнеры.ДополнительныеРеквизиты КАК ПартнерыДополнительныеРеквизиты
ГДЕ
ПартнерыДополнительныеРеквизиты.Свойство = &Дивизион
И ПартнерыДополнительныеРеквизиты.Значение = &РТАльмет
СГРУППИРОВАТЬ ПО
ПартнерыДополнительныеРеквизиты.Ссылка,
ПартнерыДополнительныеРеквизиты.Свойство,
ПартнерыДополнительныеРеквизиты.Значение) КАК РТАльметьевск
ПО ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаПоПартнерам.Партнер.Ссылка = РТАльметьевск.Ссылка
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
ПартнерыДополнительныеРеквизиты.Ссылка КАК Ссылка,
ПартнерыДополнительныеРеквизиты.Свойство КАК Свойство,
ПартнерыДополнительныеРеквизиты.Значение КАК Значение
ИЗ
Справочник.Партнеры.ДополнительныеРеквизиты КАК ПартнерыДополнительныеРеквизиты
ГДЕ
ПартнерыДополнительныеРеквизиты.Свойство = &Дивизион
И ПартнерыДополнительныеРеквизиты.Значение = &РТЧелны
СГРУППИРОВАТЬ ПО
ПартнерыДополнительныеРеквизиты.Ссылка,
ПартнерыДополнительныеРеквизиты.Значение,
ПартнерыДополнительныеРеквизиты.Свойство) КАК РТЧелны
ПО ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаПоПартнерам.Партнер.Ссылка = РТЧелны.Ссылка
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
ПартнерыДополнительныеРеквизиты.Ссылка КАК Ссылка,
ПартнерыДополнительныеРеквизиты.Значение КАК Значение
ИЗ
Справочник.Партнеры.ДополнительныеРеквизиты КАК ПартнерыДополнительныеРеквизиты
ГДЕ
ПартнерыДополнительныеРеквизиты.Свойство = &Район
СГРУППИРОВАТЬ ПО
ПартнерыДополнительныеРеквизиты.Ссылка,
ПартнерыДополнительныеРеквизиты.Значение) КАК Район
ПО ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаПоПартнерам.Партнер.Ссылка = Район.Ссылка
ГДЕ
ВыручкаИСебестоимостьПродажОбороты.Период МЕЖДУ НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(&Текущаядата, ГОД, -1), МЕСЯЦ) И КОНЕЦПЕРИОДА(ДОБАВИТЬКДАТЕ(&ТекущаяДата, ГОД, -1), МЕСЯЦ)
И ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаНоменклатуры.Номенклатура.ВидНоменклатуры = &ВидНоменклатуры
И ВыручкаИСебестоимостьПродажОбороты.Регистратор ССЫЛКА Документ.РеализацияТоваровУслуг
И ВыручкаИСебестоимостьПродажОбороты.Регистратор.Статус = &Статус
СГРУППИРОВАТЬ ПО
РТКазань.Значение,
ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаПоПартнерам.Партнер,
Район.Значение
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
РТКазань.Ссылка.Родитель,
РТКазань.Свойство,
РТКазань.Значение,
КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаПоПартнерам.Партнер.Ссылка) КАК КоличествоТекГод,
ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаПоПартнерам.Партнер,
Район1.Район
ПОМЕСТИТЬ КоличествоТТТекГод
ИЗ
РегистрНакопления.ВыручкаИСебестоимостьПродаж.Обороты(, &ТекущаяДата, Регистратор, ) КАК ВыручкаИСебестоимостьПродажОбороты
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
ПартнерыДополнительныеРеквизиты.Ссылка КАК Ссылка,
ПартнерыДополнительныеРеквизиты.Свойство КАК Свойство,
ПартнерыДополнительныеРеквизиты.Значение КАК Значение
ИЗ
Справочник.Партнеры.ДополнительныеРеквизиты КАК ПартнерыДополнительныеРеквизиты
ГДЕ
ПартнерыДополнительныеРеквизиты.Свойство = &Дивизион
И ПартнерыДополнительныеРеквизиты.Значение = &РТКазань) КАК РТКазань
ПО ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаПоПартнерам.Партнер.Ссылка = РТКазань.Ссылка
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
ПартнерыДополнительныеРеквизиты.Ссылка КАК Ссылка,
ПартнерыДополнительныеРеквизиты.Свойство КАК Свойство,
ПартнерыДополнительныеРеквизиты.Значение КАК Значение
ИЗ
Справочник.Партнеры.ДополнительныеРеквизиты КАК ПартнерыДополнительныеРеквизиты
ГДЕ
ПартнерыДополнительныеРеквизиты.Свойство = &Дивизион
И ПартнерыДополнительныеРеквизиты.Значение = &РТАльмет
СГРУППИРОВАТЬ ПО
ПартнерыДополнительныеРеквизиты.Свойство,
ПартнерыДополнительныеРеквизиты.Ссылка,
ПартнерыДополнительныеРеквизиты.Значение) КАК РТАльметьевск
ПО ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаПоПартнерам.Партнер.Ссылка = РТАльметьевск.Ссылка
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
ПартнерыДополнительныеРеквизиты.Ссылка КАК Ссылка,
ПартнерыДополнительныеРеквизиты.Свойство КАК Свойство,
ПартнерыДополнительныеРеквизиты.Значение КАК Значение
ИЗ
Справочник.Партнеры.ДополнительныеРеквизиты КАК ПартнерыДополнительныеРеквизиты
ГДЕ
ПартнерыДополнительныеРеквизиты.Свойство = &Дивизион
И ПартнерыДополнительныеРеквизиты.Значение = &РТЧелны
СГРУППИРОВАТЬ ПО
ПартнерыДополнительныеРеквизиты.Значение,
ПартнерыДополнительныеРеквизиты.Ссылка,
ПартнерыДополнительныеРеквизиты.Свойство) КАК РТЧелны
ПО ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаПоПартнерам.Партнер.Ссылка = РТЧелны.Ссылка
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
ПартнерыДополнительныеРеквизиты.Ссылка КАК Ссылка,
ПартнерыДополнительныеРеквизиты.Значение КАК Район
ИЗ
Справочник.Партнеры.ДополнительныеРеквизиты КАК ПартнерыДополнительныеРеквизиты
ГДЕ
ПартнерыДополнительныеРеквизиты.Свойство = &Район
СГРУППИРОВАТЬ ПО
ПартнерыДополнительныеРеквизиты.Ссылка,
ПартнерыДополнительныеРеквизиты.Значение) КАК Район1
ПО ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаПоПартнерам.Партнер.Ссылка = Район1.Ссылка
ГДЕ
ВыручкаИСебестоимостьПродажОбороты.Регистратор ССЫЛКА Документ.РеализацияТоваровУслуг
И ВыручкаИСебестоимостьПродажОбороты.Регистратор.Статус = &Статус
И ВыручкаИСебестоимостьПродажОбороты.Период МЕЖДУ НАЧАЛОПЕРИОДА(&ТекущаяДата, ГОД) И &ТекущаяДата
И ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаНоменклатуры.Номенклатура.ВидНоменклатуры = &ВидНоменклатуры
СГРУППИРОВАТЬ ПО
РТКазань.Ссылка.Родитель,
РТКазань.Свойство,
РТКазань.Значение,
ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаПоПартнерам.Партнер,
Район1.Район
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
РТКазань.Ссылка.Родитель,
РТКазань.Свойство,
РТКазань.Значение,
КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаПоПартнерам.Партнер.Ссылка) КАК КоличествоПрошГод,
ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаПоПартнерам.Партнер,
Район11.Район
ПОМЕСТИТЬ КоличествоТТПрошГод
ИЗ
РегистрНакопления.ВыручкаИСебестоимостьПродаж.Обороты(, &ТекущаяДата, Регистратор, ) КАК ВыручкаИСебестоимостьПродажОбороты
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
ПартнерыДополнительныеРеквизиты.Ссылка КАК Ссылка,
ПартнерыДополнительныеРеквизиты.Свойство КАК Свойство,
ПартнерыДополнительныеРеквизиты.Значение КАК Значение
ИЗ
Справочник.Партнеры.ДополнительныеРеквизиты КАК ПартнерыДополнительныеРеквизиты
ГДЕ
ПартнерыДополнительныеРеквизиты.Свойство = &Дивизион
И ПартнерыДополнительныеРеквизиты.Значение = &РТКазань) КАК РТКазань
ПО ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаПоПартнерам.Партнер.Ссылка = РТКазань.Ссылка
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
ПартнерыДополнительныеРеквизиты.Ссылка КАК Ссылка,
ПартнерыДополнительныеРеквизиты.Свойство КАК Свойство,
ПартнерыДополнительныеРеквизиты.Значение КАК Значение
ИЗ
Справочник.Партнеры.ДополнительныеРеквизиты КАК ПартнерыДополнительныеРеквизиты
ГДЕ
ПартнерыДополнительныеРеквизиты.Свойство = &Дивизион
И ПартнерыДополнительныеРеквизиты.Значение = &РТАльмет
СГРУППИРОВАТЬ ПО
ПартнерыДополнительныеРеквизиты.Ссылка,
ПартнерыДополнительныеРеквизиты.Значение,
ПартнерыДополнительныеРеквизиты.Свойство) КАК РТАльметьевск
ПО ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаПоПартнерам.Партнер.Ссылка = РТАльметьевск.Ссылка
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
ПартнерыДополнительныеРеквизиты.Ссылка КАК Ссылка,
ПартнерыДополнительныеРеквизиты.Свойство КАК Свойство,
ПартнерыДополнительныеРеквизиты.Значение КАК Значение
ИЗ
Справочник.Партнеры.ДополнительныеРеквизиты КАК ПартнерыДополнительныеРеквизиты
ГДЕ
ПартнерыДополнительныеРеквизиты.Свойство = &Дивизион
И ПартнерыДополнительныеРеквизиты.Значение = &РТЧелны
СГРУППИРОВАТЬ ПО
ПартнерыДополнительныеРеквизиты.Ссылка,
ПартнерыДополнительныеРеквизиты.Свойство,
ПартнерыДополнительныеРеквизиты.Значение) КАК РТЧелны
ПО ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаПоПартнерам.Партнер.Ссылка = РТЧелны.Ссылка
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
ПартнерыДополнительныеРеквизиты.Ссылка КАК Ссылка,
ПартнерыДополнительныеРеквизиты.Значение КАК Район
ИЗ
Справочник.Партнеры.ДополнительныеРеквизиты КАК ПартнерыДополнительныеРеквизиты
ГДЕ
ПартнерыДополнительныеРеквизиты.Свойство = &Район
СГРУППИРОВАТЬ ПО
ПартнерыДополнительныеРеквизиты.Значение,
ПартнерыДополнительныеРеквизиты.Ссылка) КАК Район11
ПО ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаПоПартнерам.Партнер.Ссылка = Район11.Ссылка
ГДЕ
ВыручкаИСебестоимостьПродажОбороты.Регистратор ССЫЛКА Документ.РеализацияТоваровУслуг
И ВыручкаИСебестоимостьПродажОбороты.Регистратор.Статус = &Статус
И ВыручкаИСебестоимостьПродажОбороты.Период МЕЖДУ НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(&ТекущаяДата, ГОД, -1), ГОД) И КОНЕЦПЕРИОДА(ДОБАВИТЬКДАТЕ(&ТекущаяДата, ГОД, -1), МЕСЯЦ)
И ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаНоменклатуры.Номенклатура.ВидНоменклатуры = &ВидНоменклатуры
СГРУППИРОВАТЬ ПО
РТКазань.Ссылка.Родитель,
РТКазань.Свойство,
РТКазань.Значение,
ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаПоПартнерам.Партнер,
Район11.Район
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ВЫБОР
КОГДА ТекущийПериод.Значение ЕСТЬ NULL
ТОГДА ВЫБОР
КОГДА ТекущийПериод.Альметьевск ЕСТЬ NULL
ТОГДА ТекущийПериод.Челны
ИНАЧЕ ТекущийПериод.Альметьевск
КОНЕЦ
ИНАЧЕ ТекущийПериод.Значение
КОНЕЦ КАК Город,
ТекущийМесяц.Район,
ВЫБОР
КОГДА ТекущийПериод.АналитикаУчетаПоПартнерамПартнер.Родитель ЕСТЬ NULL
ТОГДА ВЫБОР
КОГДА ТекущийМесяц.АналитикаУчетаПоПартнерамПартнер.Родитель ЕСТЬ NULL
ТОГДА КоличествоТТТекГод.СсылкаРодитель
ИНАЧЕ ТекущийМесяц.АналитикаУчетаПоПартнерамПартнер.Родитель
КОНЕЦ
ИНАЧЕ ТекущийПериод.АналитикаУчетаПоПартнерамПартнер.Родитель
КОНЕЦ КАК НаименованиеТорговойСети,
СУММА(КоличествоТТПрошГод.КоличествоПрошГод) КАК КоличествоПрошГод_Казань,
СУММА(КоличествоТТТекГод.КоличествоТекГод) КАК КоличествоТекГод_Казань,
СУММА(ТекущийПериод.Дал) КАК ДалТекущийГод_Казань,
СУММА(ПрошлыйГод.Дал) КАК ДалПрошлыйГод_Казань,
СУММА(ЕСТЬNULL(ТекущийПериод.Дал, 0) - ЕСТЬNULL(ПрошлыйГод.Дал, 0)) КАК РазницаДал_Казань,
СУММА(ВЫБОР
КОГДА ПрошлыйГод.Дал ЕСТЬ NULL
ТОГДА 0
ИНАЧЕ ЕСТЬNULL(ТекущийПериод.Дал, 0) / ПрошлыйГод.Дал
КОНЕЦ) КАК РазницаПроцент_Казань,
СУММА(ТекущийМесяц.Дал) КАК ДалТекущийМесяц_Казань,
СУММА(МесяцПрошлогоГода.Дал) КАК ДалМесяцПрошлогоГода_Казань,
СУММА(ЕСТЬNULL(ТекущийМесяц.Дал, 0) - ЕСТЬNULL(МесяцПрошлогоГода.Дал, 0)) КАК РазницаПоМесяцамДал_Казань,
ВЫБОР
КОГДА ПрошлыйГод.Период_Казань_1 ЕСТЬ NULL
ТОГДА НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(&ТекущаяДата, ГОД, -1), ГОД)
ИНАЧЕ ПрошлыйГод.Период_Казань_1
КОНЕЦ КАК ПрошлыйГод_Казань_1,
ВЫБОР
КОГДА ПрошлыйГод.Период_Казань_11 ЕСТЬ NULL
ТОГДА КОНЕЦПЕРИОДА(ДОБАВИТЬКДАТЕ(ДОБАВИТЬКДАТЕ(&Текущаядата, МЕСЯЦ, -1), ГОД, -1), МЕСЯЦ)
ИНАЧЕ ПрошлыйГод.Период_Казань_11
КОНЕЦ КАК ПрошлыйГод_Казань_11,
ВЫБОР
КОГДА ТекущийПериод.Период_Казань_2 ЕСТЬ NULL
ТОГДА НАЧАЛОПЕРИОДА(&ТекущаяДата, ГОД)
ИНАЧЕ ТекущийПериод.Период_Казань_2
КОНЕЦ КАК ТекущийПериод_Казань_2,
ВЫБОР
КОГДА ТекущийПериод.Период_Казань_22 ЕСТЬ NULL
ТОГДА КОНЕЦПЕРИОДА(ДОБАВИТЬКДАТЕ(&Текущаядата, МЕСЯЦ, -1), МЕСЯЦ)
ИНАЧЕ ТекущийПериод.Период_Казань_22
КОНЕЦ КАК ТекущийПериод_Казань_22,
ВЫБОР
КОГДА МесяцПрошлогоГода.Период_Казань_3 ЕСТЬ NULL
ТОГДА НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(&ТекущаяДата, ГОД, -1), МЕСЯЦ)
ИНАЧЕ МесяцПрошлогоГода.Период_Казань_3
КОНЕЦ КАК МесяцПрошлогоГода_Казань_3,
ВЫБОР
КОГДА МесяцПрошлогоГода.Период_Казань_33 ЕСТЬ NULL
ТОГДА КОНЕЦПЕРИОДА(ДОБАВИТЬКДАТЕ(&Текущаядата, ГОД, -1), МЕСЯЦ)
ИНАЧЕ МесяцПрошлогоГода.Период_Казань_33
КОНЕЦ КАК МесяцПрошлогоГода_Казань_33,
ВЫБОР
КОГДА ТекущийМесяц.Период_Казань_4 ЕСТЬ NULL
ТОГДА НАЧАЛОПЕРИОДА(&ТекущаяДата, МЕСЯЦ)
ИНАЧЕ ТекущийМесяц.Период_Казань_4
КОНЕЦ КАК ТекущийМесяц_Казань_4,
ВЫБОР
КОГДА ТекущийМесяц.Период_Казань_44 ЕСТЬ NULL
ТОГДА &Текущаядата
ИНАЧЕ ТекущийМесяц.Период_Казань_44
КОНЕЦ КАК ТекущийМесяц_Казань_44
ИЗ
КоличествоТТТекГод КАК КоличествоТТТекГод
ПОЛНОЕ СОЕДИНЕНИЕ ТекущийПериод КАК ТекущийПериод
ПОЛНОЕ СОЕДИНЕНИЕ МесяцПрошлогоГода КАК МесяцПрошлогоГода
ПОЛНОЕ СОЕДИНЕНИЕ ТекущийМесяц КАК ТекущийМесяц
ПОЛНОЕ СОЕДИНЕНИЕ ПрошлыйГод КАК ПрошлыйГод
ПОЛНОЕ СОЕДИНЕНИЕ КоличествоТТПрошГод КАК КоличествоТТПрошГод
ПО ПрошлыйГод.АналитикаУчетаПоПартнерамПартнер = КоличествоТТПрошГод.АналитикаУчетаПоПартнерамПартнер
ПО ТекущийМесяц.АналитикаУчетаПоПартнерамПартнер = ПрошлыйГод.АналитикаУчетаПоПартнерамПартнер
И ТекущийМесяц.Район = ПрошлыйГод.Район
ПО МесяцПрошлогоГода.АналитикаУчетаПоПартнерамПартнер = ТекущийМесяц.АналитикаУчетаПоПартнерамПартнер
И МесяцПрошлогоГода.Район = ТекущийМесяц.Район
ПО ТекущийПериод.АналитикаУчетаПоПартнерамПартнер = МесяцПрошлогоГода.АналитикаУчетаПоПартнерамПартнер
И ТекущийПериод.Район = МесяцПрошлогоГода.Район
ПО (ТекущийПериод.АналитикаУчетаПоПартнерамПартнер = КоличествоТТТекГод.АналитикаУчетаПоПартнерамПартнер)
СГРУППИРОВАТЬ ПО
ВЫБОР
КОГДА ТекущийПериод.Период_Казань_22 ЕСТЬ NULL
ТОГДА КОНЕЦПЕРИОДА(ДОБАВИТЬКДАТЕ(&Текущаядата, МЕСЯЦ, -1), МЕСЯЦ)
ИНАЧЕ ТекущийПериод.Период_Казань_22
КОНЕЦ,
ВЫБОР
КОГДА МесяцПрошлогоГода.Период_Казань_3 ЕСТЬ NULL
ТОГДА НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(&ТекущаяДата, ГОД, -1), МЕСЯЦ)
ИНАЧЕ МесяцПрошлогоГода.Период_Казань_3
КОНЕЦ,
ВЫБОР
КОГДА МесяцПрошлогоГода.Период_Казань_33 ЕСТЬ NULL
ТОГДА КОНЕЦПЕРИОДА(ДОБАВИТЬКДАТЕ(&Текущаядата, ГОД, -1), МЕСЯЦ)
ИНАЧЕ МесяцПрошлогоГода.Период_Казань_33
КОНЕЦ,
ВЫБОР
КОГДА ТекущийМесяц.Период_Казань_4 ЕСТЬ NULL
ТОГДА НАЧАЛОПЕРИОДА(&ТекущаяДата, МЕСЯЦ)
ИНАЧЕ ТекущийМесяц.Период_Казань_4
КОНЕЦ,
ВЫБОР
КОГДА ТекущийМесяц.Период_Казань_44 ЕСТЬ NULL
ТОГДА &Текущаядата
ИНАЧЕ ТекущийМесяц.Период_Казань_44
КОНЕЦ,
ВЫБОР
КОГДА ТекущийПериод.Период_Казань_2 ЕСТЬ NULL
ТОГДА НАЧАЛОПЕРИОДА(&ТекущаяДата, ГОД)
ИНАЧЕ ТекущийПериод.Период_Казань_2
КОНЕЦ,
ВЫБОР
КОГДА ПрошлыйГод.Период_Казань_1 ЕСТЬ NULL
ТОГДА НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(&ТекущаяДата, ГОД, -1), ГОД)
ИНАЧЕ ПрошлыйГод.Период_Казань_1
КОНЕЦ,
ВЫБОР
КОГДА ПрошлыйГод.Период_Казань_11 ЕСТЬ NULL
ТОГДА КОНЕЦПЕРИОДА(ДОБАВИТЬКДАТЕ(ДОБАВИТЬКДАТЕ(&Текущаядата, МЕСЯЦ, -1), ГОД, -1), МЕСЯЦ)
ИНАЧЕ ПрошлыйГод.Период_Казань_11
КОНЕЦ,
ВЫБОР
КОГДА ТекущийПериод.АналитикаУчетаПоПартнерамПартнер.Родитель ЕСТЬ NULL
ТОГДА ВЫБОР
КОГДА ТекущийМесяц.АналитикаУчетаПоПартнерамПартнер.Родитель ЕСТЬ NULL
ТОГДА КоличествоТТТекГод.СсылкаРодитель
ИНАЧЕ ТекущийМесяц.АналитикаУчетаПоПартнерамПартнер.Родитель
КОНЕЦ
ИНАЧЕ ТекущийПериод.АналитикаУчетаПоПартнерамПартнер.Родитель
КОНЕЦ,
ВЫБОР
КОГДА ТекущийПериод.Значение ЕСТЬ NULL
ТОГДА ВЫБОР
КОГДА ТекущийПериод.Альметьевск ЕСТЬ NULL
ТОГДА ТекущийПериод.Челны
ИНАЧЕ ТекущийПериод.Альметьевск
КОНЕЦ
ИНАЧЕ ТекущийПериод.Значение
КОНЕЦ,
ТекущийМесяц.Район
Показать
На первый взгляд:
1. РегистрНакопления.ВыручкаИСебестоимостьПродаж.Обороты - в виртуальные таблицы добавить реальные даты - через параметры
2. Полное соединение заменить на объеденить
3.
дублируется везде - заменить на ВТ
1. РегистрНакопления.ВыручкаИСебестоимостьПродаж.Обороты - в виртуальные таблицы добавить реальные даты - через параметры
2. Полное соединение заменить на объеденить
3.
ВЫБРАТЬ
ПартнерыДополнительныеРеквизиты.Ссылка КАК Ссылка,
ПартнерыДополнительныеРеквизиты.Свойство КАК Свойство,
ПартнерыДополнительныеРеквизиты.Значение КАК Значение
ИЗ
Справочник.Партнеры.ДополнительныеРеквизиты КАК ПартнерыДополнительныеРеквизиты
ГДЕ
ПартнерыДополнительныеРеквизиты.Свойство = &Дивизион
И ПартнерыДополнительныеРеквизиты.Значение = &РТКазань
Показатьдублируется везде - заменить на ВТ
Ух ты, сколько тут всякого...
1) Виртуальные таблицы выкинуть на мороз - вы все равно из них потом выбираете только реализации, можно же сразу это сделать:
2) Очень прекрасно в каждом запросе.
Лучше сформировать врем. таблицу нужной номенклатуры и реализовать условие как связь с этой таблицей
3) Я или что-то не так понял, или в результате связи с подзапросом
в основную выборку у вас попадает только РТКазань.Значение, которое автоматом равно
&РТКазань или null.
Лучше бы опять таки, для начала получить врем таблицу с парами значений партнер - дивизион, и выбирать значение дивизиона оттуда.
При этом, если вам таки нужно именно несколько колонок, в которых может быть либо значенеи, либо null, лучше реализовать это в виде case'а.
Дальше пока не смотрел, уверен, там еще много интересного.
1) Виртуальные таблицы выкинуть на мороз - вы все равно из них потом выбираете только реализации, можно же сразу это сделать:
выбрать нужное из РН_Продажи где РН_Продажи.Регистратор ССЫЛКА Документ.Реализация
2) Очень прекрасно
ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаНоменклатуры.Номенклатура.ВидНоменклатуры = &ВидНоменклатуры
Лучше сформировать врем. таблицу нужной номенклатуры и реализовать условие как связь с этой таблицей
3) Я или что-то не так понял, или в результате связи с подзапросом
(ВЫБРАТЬ
ПартнерыДополнительныеРеквизиты.Ссылка КАК Ссылка,
ПартнерыДополнительныеРеквизиты.Свойство КАК Свойство,
ПартнерыДополнительныеРеквизиты.Значение КАК Значение
ИЗ
Справочник.Партнеры.ДополнительныеРеквизиты КАК ПартнерыДополнительныеРеквизиты
ГДЕ
ПартнерыДополнительныеРеквизиты.Свойство = &Дивизион
И ПартнерыДополнительныеРеквизиты.Значение = &РТКазань) КАК РТКазань
Показать&РТКазань или null.
Лучше бы опять таки, для начала получить врем таблицу с парами значений партнер - дивизион, и выбирать значение дивизиона оттуда.
При этом, если вам таки нужно именно несколько колонок, в которых может быть либо значенеи, либо null, лучше реализовать это в виде case'а.
Дальше пока не смотрел, уверен, там еще много интересного.
Добавлю, синтаксис обращения как правильный, но вызывает лишнее соединение с партнерами.
Намного эффективнее обращаться без ссылки:
ПО ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаПоПартнерам.Партнер.Ссылка = РТКазань.Ссылка
Намного эффективнее обращаться без ссылки:
ПО ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаПоПартнерам.Партнер = РТКазань.Ссылка
Судя по участку кода писавший не в курсе функции IsNull
Ведь такой результат проще
ВЫБРАТЬ
СУММА(ВыручкаИСебестоимостьПродажОбороты.КоличествоОборот / ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаНоменклатуры.Номенклатура.КоэффициентЕдиницыДляОтчетов) КАК Дал,
РТКазань.Значение КАК Значение,
НАЧАЛОПЕРИОДА(&ТекущаяДата, ГОД) КАК Период_Казань_2,
КОНЕЦПЕРИОДА(ДОБАВИТЬКДАТЕ(&ТекущаяДата, МЕСЯЦ, -1), МЕСЯЦ) КАК Период_Казань_22,
ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаПоПартнерам.Контрагент,
ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаПоПартнерам.Партнер КАК АналитикаУчетаПоПартнерамПартнер,
РТАльметьевск.Значение КАК Альметьевск,
РТЧелны.Значение КАК Челны,
Район.Значение КАК Район
ПоказатьВедь такой результат проще
ВЫБРАТЬ
СУММА(ВыручкаИСебестоимостьПродажОбороты.КоличествоОборот / ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаНоменклатуры.Номенклатура.КоэффициентЕдиницыДляОтчетов) КАК Дал,
isNull(РТКазань.Значение, isNull(РТАльметьевск.Значение, РТЧелны.Значение)) КАК Дивизион,
НАЧАЛОПЕРИОДА(&ТекущаяДата, ГОД) КАК Период_Казань_2,
КОНЕЦПЕРИОДА(ДОБАВИТЬКДАТЕ(&ТекущаяДата, МЕСЯЦ, -1), МЕСЯЦ) КАК Период_Казань_22,
ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаПоПартнерам.Контрагент,
ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаПоПартнерам.Партнер КАК АналитикаУчетаПоПартнерамПартнер,
Район.Значение КАК Район
Совет используйте предварительно таблицу для расчета доп реквизитов
Если возможно, то условие лучше представить в виде
ВЫБРАТЬ
ПартнерыДополнительныеРеквизиты.Ссылка КАК Ссылка,
ПартнерыДополнительныеРеквизиты.Значение КАК Дивизион
ПартнерыДополнительныеРеквизиты2.Значение КАК Район
Поместить ПартнерыДопРекизиты
ИЗ
Справочник.Партнеры.ДополнительныеРеквизиты КАК ПартнерыДополнительныеРеквизиты
полное соединение
Справочник.Партнеры.ДополнительныеРеквизиты КАК ПартнерыДополнительныеРеквизиты2
по ПартнерыДополнительныеРеквизиты2.Свойство = &Район и ПартнерыДополнительныеРеквизиты2.Ссылка = ПартнерыДополнительныеРеквизиты.Ссылка
ГДЕ
ПартнерыДополнительныеРеквизиты.Свойство = &Дивизион
И ПартнерыДополнительныеРеквизиты.Значение В ( &РТЧелны, &РТАльметьевск, &РТАльмет)
СГРУППИРОВАТЬ ПО
ПартнерыДополнительныеРеквизиты.Ссылка,
ПартнерыДополнительныеРеквизиты.Значение,
ПартнерыДополнительныеРеквизиты2.Значение
Индексировать по Ссылка
ПоказатьЕсли возможно, то условие
ПартнерыДополнительныеРеквизиты.Значение В ( &РТЧелны, &РТАльметьевск, &РТАльмет)
Выразить(ПартнерыДополнительныеРеквизиты.Значение КАК СправочникСсылка.Дивизионы) В ( &РТЧелны, &РТАльметьевск, &РТАльмет)
(10) Ovrfox, В моем совете - ошибка. Нужно изменить запрос на
ВЫБРАТЬ
IsNull(ПартнерыДополнительныеРеквизиты.Ссылка ,ПартнерыДополнительныеРеквизиты2.Ссылка) КАК Ссылка,
ПартнерыДополнительныеРеквизиты.Значение КАК Дивизион
ПартнерыДополнительныеРеквизиты2.Значение КАК Район
Поместить ПартнерыДопРекизиты
ИЗ
Справочник.Партнеры.ДополнительныеРеквизиты КАК ПартнерыДополнительныеРеквизиты2
полное соединение
Справочник.Партнеры.ДополнительныеРеквизиты КАК ПартнерыДополнительныеРеквизиты
по ПартнерыДополнительныеРеквизиты.Свойство = &Дивизион и ПартнерыДополнительныеРеквизиты2.Ссылка = ПартнерыДополнительныеРеквизиты.Ссылка
И ПартнерыДополнительныеРеквизиты.Значение В ( &РТЧелны, &РТАльметьевск, &РТАльмет)
ГДЕ
(ПартнерыДополнительныеРеквизиты2.Свойство = &Район ИЛИ ПартнерыДополнительныеРеквизиты2.Свойство IS Null)
СГРУППИРОВАТЬ ПО
ПартнерыДополнительныеРеквизиты.Ссылка,ПартнерыДополнительныеРеквизиты2.Ссылка
ПартнерыДополнительныеРеквизиты.Значение,
ПартнерыДополнительныеРеквизиты2.Значение
Индексировать по Ссылка
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот