![]() |
|
Ошибка SDBL при формировании отчета | ☑ | ||
---|---|---|---|---|
0
Ohirama
13.09.23
✎
15:04
|
Здравствуйте, помогите пожалуйста решить проблему. После обновление платформы с 8.3.6 на 8.3.22 сломался отчет, при нажатии на кнопку сформировать выдает ошибку "Ошибка SDBL: Запрос содержит union или Distinct. Поле Q_002_T_001.Period отсутвует в разделе SELECT"
Врубил трассировку и посмотрел логи запроса там это: exec sp_executesql N'SELECT TOP 1 T1.Q_001_F_000_, T1.Q_001_F_001_00_, T1.Q_001_F_002_, T1.Q_001_F_003_ FROM (SELECT TOP 1 T2._Fld6719 AS Q_001_F_000_, T2._Fld6720 AS Q_001_F_001_00_, T2._Fld6722 AS Q_001_F_002_, P1 AS Q_001_F_003_ FROM dbo._InfoRg6716 T2 WITH(NOLOCK) WHERE (T2._Fld6718 = @P2) AND T2._Fld6721 = 0x01 AND (T2._Fld6717_TYPE = 0x08 AND T2._Fld6717_RTRef = 0x00000045 AND T2._Fld6717_RRRef = @P3) UNION ALL SELECT TOP 1 T3._Fld6719 AS Fld6719_, T3._Fld6720 AS Fld6720_, T3._Fld6722 AS Fld6722_, @P4 FROM dbo._InfoRg6716 T3 WITH(NOLOCK) LEFT OUTER JOIN dbo._Reference34 T4 WITH(NOLOCK) ON T3._Fld6717_TYPE = 0x08 AND T3._Fld6717_RTRef = 0x00000022 AND T3._Fld6717_RRRef = T4._IDRRef WHERE (T3._Fld6718 = @P5) AND T3._Fld6721 = 0x01 AND EXISTS( SELECT 1 FROM dbo._Reference34_VT488 T5 WITH(NOLOCK) WHERE T4._IDRRef = T5._Reference34_IDRRef AND ((T5._Fld490RRef = @P6))) UNION ALL SELECT TOP 1 T6._Fld6719 AS Fld6719_, T6._Fld6720 AS Fld6720_, T6._Fld6722 AS Fld6722_, @P7 FROM dbo._InfoRg6716 T6 WITH(NOLOCK) WHERE (T6._Fld6718 = @P8) AND (T6._Fld6717_TYPE = 0x01 AND T6._Fld6717_RTRef = 0x00000000 AND T6._Fld6717_RRRef = 0x00000000000000000000000000000000) AND T6._Fld6721 = 0x01) T1 ORDER BY (T1.Q_001_F_003_)',N'P1 numeric(10),@P2 nvarchar(4000),@P3 varbinary(16),@P4 numeric(10),@P5 nvarchar(4000),@P6 varbinary(16),@P7 numeric(10),@P8 nvarchar(4000)',0,N'ОтчетОбъект.Продажи_КГБезМаркетинга',0xB3870021910C778011DF37409A1BAC87,1,N'ОтчетОбъект.Продажи_КГБезМаркетинга',0xB3870021910C778011DF37409A1BAC87,2,N'ОтчетОбъект.Продажи_КГБезМаркетинга' Что делать дальше не пойму |
|||
1
Timon1405
13.09.23
✎
16:16
|
искать в запросе ПОЛНОЕ СОЕДИНЕНИЕ и убирать его
|
|||
2
Ohirama
13.09.23
✎
17:03
|
Там только левое используется
|
|||
3
Timon1405
13.09.23
✎
17:18
|
возможно ошибка платформы, попробуйте 8.3.22.1923
|
|||
4
Ohirama
13.09.23
✎
17:51
|
1С:Предприятие 8.3 (8.3.22.2143) у меня
|
|||
5
lubitelxml
13.09.23
✎
17:54
|
(0) в консоле запросов если нажать кнопку Конструктор запроса - открывается форма?
|
|||
6
Ohirama
13.09.23
✎
18:14
|
Если тебе нужен запрос из отчета, то вот:
ТекстЗапроса = "ВЫБРАТЬ РАЗРЕШЕННЫЕ | 1 КАК SKU, | 1 КАК АКБ, | ВложенныйЗапрос.Организация КАК Организация, | ВложенныйЗапрос.Проект КАК Проект, | ВложенныйЗапрос.Подразделение КАК Подразделение, | ВложенныйЗапрос.Покупатель КАК Покупатель, | ВложенныйЗапрос.ДоговорПокупателя КАК ДоговорПокупателя, | ВложенныйЗапрос.Номенклатура КАК Номенклатура, | ВложенныйЗапрос.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры, | ВложенныйЗапрос.ЗаказПокупателя КАК ЗаказПокупателя, | ВложенныйЗапрос.Регистратор КАК Регистратор, | ТИПЗНАЧЕНИЯ(ВложенныйЗапрос.Регистратор) КАК ТипДокумента, | ВложенныйЗапрос.Период КАК Период, | ВложенныйЗапрос.ПериодДень КАК ПериодДень, | ВложенныйЗапрос.ПериодНеделя КАК ПериодНеделя, | ВложенныйЗапрос.ПериодДекада КАК ПериодДекада, | ВложенныйЗапрос.ПериодМесяц КАК ПериодМесяц, | ВложенныйЗапрос.ПериодКвартал КАК ПериодКвартал, | ВложенныйЗапрос.ПериодПолугодие КАК ПериодПолугодие, | ВложенныйЗапрос.ПериодГод КАК ПериодГод, | ВложенныйЗапрос.Количество КАК Количество, | ВложенныйЗапрос.КоличествоЕдиницОтчетов КАК КоличествоЕдиницОтчетов, | ВложенныйЗапрос.КоличествоБазовыхЕдиниц КАК КоличествоБазовыхЕдиниц, | ВложенныйЗапрос.СтоимостьБезНДС КАК СтоимостьБезНДС, | ВложенныйЗапрос.СтоимостьБезНДС2 КАК СтоимостьБезНДС2, | ВложенныйЗапрос.НДС КАК НДС, | ВложенныйЗапрос.Стоимость КАК Стоимость, | ВЫРАЗИТЬ(ВложенныйЗапрос.Стоимость / ЕстьNull(ВложенныйЗапрос.Количество,1) КАК ЧИСЛО(15,2)) КАК Цена, | ВЫРАЗИТЬ(ВложенныйЗапрос.СтоимостьБезНДС2 / ЕстьNull(ВложенныйЗапрос.Количество,1) КАК ЧИСЛО(15,2)) КАК ЦенаБезНДС, | ВЫРАЗИТЬ(ВложенныйЗапрос.Себестоимость / ЕстьNull(ВложенныйЗапрос.Количество,1) КАК ЧИСЛО(15,2)) КАК ЦенаЗакупа, | ВложенныйЗапрос.ЦенаБазовая КАК ЦенаБазовая, | ВложенныйЗапрос.ЦенаБазоваяБезНДС КАК ЦенаБазоваяБезНДС, | ВложенныйЗапрос.Себестоимость КАК ФактическаяСтоимость, | ВложенныйЗапрос.ВаловаяПрибыль КАК ВаловаяПрибыль, | ВложенныйЗапрос.Эффективность КАК Эффективность, | ВложенныйЗапрос.Рентабельность КАК Рентабельность, | ВложенныйЗапрос.РасчетнаяСтоимость КАК РасчетнаяСтоимость, | ВложенныйЗапрос.РасчетнаяСтоимостьБезНДС КАК РасчетнаяСтоимостьБезНДС, | ВложенныйЗапрос.КоличествоКГ КАК КоличествоКГ, | ВложенныйЗапрос.ВесПрогресс КАК ВесПрогресс, | ВложенныйЗапрос.СкладТЧ КАК СкладТЧ, | ВложенныйЗапрос.Акция КАК Акция, | ВложенныйЗапрос.ТипЦены КАК ТипЦены, | ВложенныйЗапрос.ТипЦены КАК ТипЦеныТЧ, | ВложенныйЗапрос.РублеваяСкидка КАК РублеваяСкидка, | ВЫРАЗИТЬ(ВложенныйЗапрос.СтоимостьБезНДС2 - ВложенныйЗапрос.РасчетнаяСтоимостьБезНДС КАК ЧИСЛО(15, 2)) КАК ПрибыльБезНДС, | ВЫРАЗИТЬ(ВложенныйЗапрос.Стоимость - ВложенныйЗапрос.РасчетнаяСтоимость КАК ЧИСЛО(15, 2)) КАК Прибыль, | ВЫРАЗИТЬ(ВложенныйЗапрос.Стоимость / ЕстьNull(ВложенныйЗапрос.РасчетнаяСтоимость * 100,1) - 100 КАК ЧИСЛО(15, 2)) КАК ПроцентНаценки | //ПОЛЯ_СВОЙСТВА | //ПОЛЯ_КАТЕГОРИИ | //ПОЛЯ_КОНТАКТНАЯИНФОРМАЦИЯ |{ВЫБРАТЬ | SKU, | АКБ, | Организация.*, | Проект.*, | Подразделение.*, | Покупатель.*, | ДоговорПокупателя.*, | Номенклатура.*, | ХарактеристикаНоменклатуры.*, | ЗаказПокупателя.*, | Регистратор.*, | ТипДокумента, | СкладТЧ.*, | Акция.*, | Период, | ПериодДень, | ПериодНеделя, | ПериодДекада, | ПериодМесяц, | ПериодКвартал, | ПериодПолугодие, | ПериодГод, | Количество, | КоличествоЕдиницОтчетов, | КоличествоБазовыхЕдиниц, | СтоимостьБезНДС, | СтоимостьБезНДС2, | НДС, | Стоимость, | ЦенаБазовая, | ЦенаБазоваяБезНДС, | Цена, | ЦенаБезНДС, | ЦенаЗакупа, | ФактическаяСтоимость, | ВаловаяПрибыль, | Эффективность, | Рентабельность, | РасчетнаяСтоимость, | РасчетнаяСтоимостьБезНДС, | ПрибыльБезНДС, | Прибыль, | КоличествоКГ, | ВесПрогресс, | ТипЦены.*, | ТипЦеныТЧ.*, | РублеваяСкидка, | ПроцентНаценки | //ПОЛЯ_СВОЙСТВА | //ПОЛЯ_КАТЕГОРИИ | //ПОЛЯ_КОНТАКТНАЯИНФОРМАЦИЯ} |ИЗ | (ВЫБРАТЬ | ВложенныйЗапрос.Организация КАК Организация, | ВложенныйЗапрос.Проект КАК Проект, | ВложенныйЗапрос.Подразделение КАК Подразделение, | ВложенныйЗапрос.Покупатель КАК Покупатель, | ВложенныйЗапрос.ДоговорПокупателя КАК ДоговорПокупателя, | ВложенныйЗапрос.Номенклатура КАК Номенклатура, | ВложенныйЗапрос.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры, | ВложенныйЗапрос.ЗаказПокупателя КАК ЗаказПокупателя, | ВложенныйЗапрос.Регистратор КАК Регистратор, | ВложенныйЗапрос.Период КАК Период, | НАЧАЛОПЕРИОДА(ВложенныйЗапрос.Период, ДЕНЬ) КАК ПериодДень, | НАЧАЛОПЕРИОДА(ВложенныйЗапрос.Период, НЕДЕЛЯ) КАК ПериодНеделя, | НАЧАЛОПЕРИОДА(ВложенныйЗапрос.Период, ДЕКАДА) КАК ПериодДекада, | НАЧАЛОПЕРИОДА(ВложенныйЗапрос.Период, МЕСЯЦ) КАК ПериодМесяц, | НАЧАЛОПЕРИОДА(ВложенныйЗапрос.Период, КВАРТАЛ) КАК ПериодКвартал, | НАЧАЛОПЕРИОДА(ВложенныйЗапрос.Период, ПОЛУГОДИЕ) КАК ПериодПолугодие, | НАЧАЛОПЕРИОДА(ВложенныйЗапрос.Период, ГОД) КАК ПериодГод, | СУММА(ВложенныйЗапрос.Количество) КАК Количество, | СУММА(ВложенныйЗапрос.КоличествоЕдиницОтчетов) КАК КоличествоЕдиницОтчетов, | СУММА(ВложенныйЗапрос.КоличествоБазовыхЕдиниц) КАК КоличествоБазовыхЕдиниц, | СУММА(ВложенныйЗапрос.СтоимостьБезНДС) КАК СтоимостьБезНДС, | СУММА(ВложенныйЗапрос.СтоимостьБезНДС2) КАК СтоимостьБезНДС2, | СУММА(ВложенныйЗапрос.НДС) КАК НДС, | СУММА(ВложенныйЗапрос.Стоимость) КАК Стоимость, | СУММА(ВложенныйЗапрос.Себестоимость) КАК Себестоимость, | ВЫБОР | КОГДА &НеВключатьНДСВСтоимостьПартий | ТОГДА СУММА(ВложенныйЗапрос.СтоимостьБезНДС) | ИНАЧЕ СУММА(ВложенныйЗапрос.Стоимость) | КОНЕЦ - СУММА(ВложенныйЗапрос.Себестоимость) КАК ВаловаяПрибыль, | 100 * ВЫБОР | КОГДА &НеВключатьНДСВСтоимостьПартий | ТОГДА ВЫБОР | КОГДА СУММА(ВложенныйЗапрос.Себестоимость) <> 0 | ТОГДА (СУММА(ВложенныйЗапрос.СтоимостьБезНДС) - СУММА(ВложенныйЗапрос.Себестоимость)) / ЕстьNull(СУММА(ВложенныйЗапрос.Себестоимость),1) | ИНАЧЕ 0 | КОНЕЦ | ИНАЧЕ ВЫБОР | КОГДА СУММА(ВложенныйЗапрос.Себестоимость) <> 0 | ТОГДА (СУММА(ВложенныйЗапрос.Стоимость) - СУММА(ВложенныйЗапрос.Себестоимость)) / ЕстьNull(СУММА(ВложенныйЗапрос.Себестоимость),1) | ИНАЧЕ 0 | КОНЕЦ | КОНЕЦ КАК Эффективность, | 100 * ВЫБОР | КОГДА &НеВключатьНДСВСтоимостьПартий | ТОГДА ВЫБОР | КОГДА СУММА(ВложенныйЗапрос.СтоимостьБезНДС) <> 0 | ТОГДА (СУММА(ВложенныйЗапрос.СтоимостьБезНДС) - СУММА(ВложенныйЗапрос.Себестоимость)) / ЕстьNull(СУММА(ВложенныйЗапрос.СтоимостьБезНДС),1) | ИНАЧЕ 0 | КОНЕЦ | ИНАЧЕ ВЫБОР | КОГДА СУММА(ВложенныйЗапрос.Стоимость) <> 0 | ТОГДА (СУММА(ВложенныйЗапрос.Стоимость) - СУММА(ВложенныйЗапрос.Себестоимость)) / ЕстьNull(СУММА(ВложенныйЗапрос.Стоимость),1) | ИНАЧЕ 0 | КОНЕЦ | КОНЕЦ КАК Рентабельность, | СУММА(ВложенныйЗапрос.РасчетнаяСтоимость) КАК РасчетнаяСтоимость, | ВЫРАЗИТЬ(ВЫБОР | КОГДА ВложенныйЗапрос.Номенклатура.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС20) ИЛИ ВложенныйЗапрос.Номенклатура.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС20_120) | ТОГДА СУММА(ВложенныйЗапрос.РасчетнаяСтоимость) / 1.20 | КОГДА ВложенныйЗапрос.Номенклатура.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС18) ИЛИ ВложенныйЗапрос.Номенклатура.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС18_118) | ТОГДА СУММА(ВложенныйЗапрос.РасчетнаяСтоимость) / 1.18 | КОГДА ВложенныйЗапрос.Номенклатура.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС10) ИЛИ ВложенныйЗапрос.Номенклатура.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС10_110) | ТОГДА СУММА(ВложенныйЗапрос.РасчетнаяСтоимость) / 1.1 | ИНАЧЕ | СУММА(ВложенныйЗапрос.РасчетнаяСтоимость) | КОНЕЦ КАК ЧИСЛО(15, 2)) КАК РасчетнаяСтоимостьБезНДС, | СУММА(ВложенныйЗапрос.КоличествоКГ) КАК КоличествоКГ, | СУММА(ВложенныйЗапрос.ВесПрогресс) КАК ВесПрогресс, | СУММА(ВложенныйЗапрос.РублеваяСкидка) КАК РублеваяСкидка, | ВложенныйЗапрос.СкладТЧ КАК СкладТЧ, | УсловияСкидок.Ссылка КАК Акция, | ВЫРАЗИТЬ(ВЫБОР | КОГДА ВложенныйЗапрос.Номенклатура.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС20) ИЛИ ВложенныйЗапрос.Номенклатура.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС20_120) | ТОГДА ВложенныйЗапрос.ЦенаБазовая / 1.20 | КОГДА ВложенныйЗапрос.Номенклатура.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС18) ИЛИ ВложенныйЗапрос.Номенклатура.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС18_118) | ТОГДА ВложенныйЗапрос.ЦенаБазовая / 1.18 | КОГДА ВложенныйЗапрос.Номенклатура.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС10) ИЛИ ВложенныйЗапрос.Номенклатура.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС10_110) | ТОГДА ВложенныйЗапрос.ЦенаБазовая / 1.1 | ИНАЧЕ | ВложенныйЗапрос.ЦенаБазовая | КОНЕЦ КАК ЧИСЛО(15, 2)) КАК ЦенаБазоваяБезНДС, | ВложенныйЗапрос.ЦенаБазовая КАК ЦенаБазовая, | ВложенныйЗапрос.ТипЦены КАК ТипЦены | {ВЫБРАТЬ | Организация, | Проект, | Подразделение, | Покупатель, | ДоговорПокупателя, | Номенклатура, | ХарактеристикаНоменклатуры, | ЗаказПокупателя, | Регистратор, | Период, | СкладТЧ, | ПериодДень, | ПериодНеделя, | ПериодДекада, | ПериодМесяц, | ПериодКвартал, | ПериодПолугодие, | ПериодГод, | ЦенаБазовая, | ТипЦены, | РублеваяСкидка, | СкладТЧ, | Акция} | ИЗ | (ВЫБРАТЬ РАЗЛИЧНЫЕ | ПродажиОбороты.Проект КАК Проект, | ПродажиОбороты.Подразделение КАК Подразделение, | ПродажиОбороты.Контрагент КАК Покупатель, | ПродажиОбороты.ДоговорКонтрагента КАК ДоговорПокупателя, | ПродажиОбороты.Номенклатура КАК Номенклатура, | ПродажиОбороты.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры, | ПродажиОбороты.ЗаказПокупателя КАК ЗаказПокупателя, | ПродажиОбороты.Организация КАК Организация, | ПродажиОбороты.Регистратор КАК Регистратор, | ПродажиОбороты.Период КАК Период, | СУММА(ПродажиОбороты.КоличествоОборот) КАК Количество, | СУММА(ПродажиОбороты.КоличествоОборот * ЕСТЬNULL(ПродажиОбороты.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент, 1) / ЕСТЬNULL(ПродажиОбороты.Номенклатура.ЕдиницаДляОтчетов.Коэффициент, 1)) КАК КоличествоЕдиницОтчетов, | СУММА(ПродажиОбороты.КоличествоОборот * ЕСТЬNULL(ПродажиОбороты.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент, 1)) КАК КоличествоБазовыхЕдиниц, | СУММА(ПродажиОбороты.СтоимостьОборот - ПродажиОбороты.НДСОборот) КАК СтоимостьБезНДС, | ВЫБОР | КОГДА ПродажиОбороты.Номенклатура.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС20) ИЛИ ПродажиОбороты.Номенклатура.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС20_120) | ТОГДА СУММА(ПродажиОбороты.СтоимостьОборот) / 1.20 | КОГДА ПродажиОбороты.Номенклатура.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС18) ИЛИ ПродажиОбороты.Номенклатура.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС18_118) | ТОГДА СУММА(ПродажиОбороты.СтоимостьОборот) / 1.18 | КОГДА ПродажиОбороты.Номенклатура.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС10) ИЛИ ПродажиОбороты.Номенклатура.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС10_110) | ТОГДА СУММА(ПродажиОбороты.СтоимостьОборот) / 1.1 | ИНАЧЕ | СУММА(ПродажиОбороты.СтоимостьОборот) | КОНЕЦ КАК СтоимостьБезНДС2, | СУММА(ПродажиОбороты.НДСОборот) КАК НДС, | ЦеныНоменклатурыСрезПоследних.Цена КАК ЦенаБазовая, | СУММА(ПродажиОбороты.СтоимостьОборот) КАК Стоимость, | СУММА(ЕСТЬNULL(ТаблицаРегистраПродажиСебестоимость.Стоимость / ТаблицаРегистраПродажиСебестоимость.Количество, 0) * ПродажиОбороты.КоличествоОборот) КАК Себестоимость, //| 0 КАК Себестоимость, | СУММА(ПродажиОбороты.КоличествоОборот * ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена, 0)) КАК РасчетнаяСтоимость, | СУММА(ПродажиОбороты.КоличествоОборот * ПродажиОбороты.Номенклатура.ЕдиницаХраненияОстатков.Вес) КАК КоличествоКГ, | СУММА(ПродажиОбороты.КоличествоОборот * ПродажиОбороты.Номенклатура.ВесКеллог) КАК ВесПрогресс, | ВЫБОР | КОГДА ПродажиОбороты.Регистратор ССЫЛКА Документ.РеализацияТоваровУслуг И НЕ РеализацияТоваровУслугТовары.Склад ЕСТЬ NULL ТОГДА РеализацияТоваровУслугТовары.Склад | КОГДА ПродажиОбороты.Регистратор ССЫЛКА Документ.ВозвратТоваровОтПокупателя ТОГДА ПродажиОбороты.Регистратор.СкладОрдер | ИНАЧЕ ПродажиОбороты.Регистратор.Склад | | КОНЕЦ КАК СкладТЧ, //| РеализацияТоваровУслугТовары.Склад КАК СкладТЧ, | РеализацияТоваровУслугТовары.КодАкции КАК КодАкции, | СУММА(РеализацияТоваровУслугТовары.РублеваяСкидка) КАК РублеваяСкидка, | ВЫБОР | КОГДА НЕ РеализацияТоваровУслугТовары.ТипЦены ЕСТЬ NULL | ТОГДА РеализацияТоваровУслугТовары.ТипЦены | КОГДА НЕ ТипыЦенПоГруппамНоменклатурыДляПокупателейСрезПоследних.ТипЦен.Наименование ЕСТЬ NULL | ТОГДА ТипыЦенПоГруппамНоменклатурыДляПокупателейСрезПоследних.ТипЦен //| КОГДА НЕ ЦеныНоменклатурыСрезПоследних1.Цена ЕСТЬ NULL //| И НЕ ЦеныНоменклатурыСрезПоследних1.ТипЦен ЕСТЬ NULL //| ТОГДА ЦеныНоменклатурыСрезПоследних1.ТипЦен | КОГДА НЕ РеализацияТоваровУслугТовары.Ссылка.ТипЦен ЕСТЬ NULL | ТОГДА РеализацияТоваровУслугТовары.Ссылка.ТипЦен | КОГДА НЕ ПродажиОбороты.ДоговорКонтрагента ЕСТЬ NULL | ТОГДА ПродажиОбороты.ДоговорКонтрагента.ТипЦен | ИНАЧЕ ""Спец. цена"" | КОНЕЦ КАК ТипЦены | ИЗ | РегистрНакопления.Продажи.Обороты(&ДатаНач, &ДатаКон, Запись, {(Проект).* КАК Проект, (Контрагент).* КАК Покупатель, (ДоговорКонтрагента).* КАК ДоговорПокупателя, (Номенклатура).* КАК Номенклатура, (ХарактеристикаНоменклатуры).* КАК ХарактеристикаНоменклатуры, (ЗаказПокупателя).* КАК ЗаказПокупателя}) КАК ПродажиОбороты // =========== // Корреляционный запрос "Срез последних на каждую дату" по закупкам | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Закупки КАК ТаблицаРегистраПродажиСебестоимость | ПО ПродажиОбороты.Номенклатура = ТаблицаРегистраПродажиСебестоимость.Номенклатура | И (ПродажиОбороты.ХарактеристикаНоменклатуры = ТаблицаРегистраПродажиСебестоимость.ХарактеристикаНоменклатуры) | И (ТаблицаРегистраПродажиСебестоимость.Регистратор В ( | ВЫБРАТЬ ПЕРВЫЕ 1 | МАКСИМУМ(Закупки.Регистратор) | ИЗ | РегистрНакопления.Закупки КАК Закупки | ГДЕ | Закупки.Период <= ПродажиОбороты.Период | И Закупки.Номенклатура = ПродажиОбороты.Номенклатура | И Закупки.Стоимость > 0 | СГРУППИРОВАТЬ ПО | Закупки.Период, | Закупки.Регистратор | УПОРЯДОЧИТЬ ПО | Закупки.Период УБЫВ, | Закупки.Регистратор УБЫВ | )) | И (ТаблицаРегистраПродажиСебестоимость.НомерСтроки В ( | ВЫБРАТЬ ПЕРВЫЕ 1 | МИНИМУМ(Закупки.НомерСтроки) | ИЗ | РегистрНакопления.Закупки КАК Закупки | ГДЕ | Закупки.Период <= ПродажиОбороты.Период | И Закупки.Номенклатура = ПродажиОбороты.Номенклатура | И Закупки.Стоимость > 0 | СГРУППИРОВАТЬ ПО | Закупки.Период, | Закупки.Регистратор | УПОРЯДОЧИТЬ ПО | Закупки.Период УБЫВ, | Закупки.Регистратор УБЫВ | )) // =========== //| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаКон, ) КАК ЦеныНоменклатурыСрезПоследних // =========== // Корреляционный запрос "Срез последних на каждую дату" по цене номенклатуры | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатурыСрезПоследних | ПО ПродажиОбороты.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура | И ЦеныНоменклатурыСрезПоследних.ТипЦен = &ТипЦен | И ЦеныНоменклатурыСрезПоследних.Регистратор В ( | ВЫБРАТЬ ПЕРВЫЕ 1 | Цены.Регистратор | ИЗ | РегистрСведений.ЦеныНоменклатуры КАК Цены | ГДЕ | Цены.Период <= ПродажиОбороты.Период | И Цены.Номенклатура = ПродажиОбороты.Номенклатура | И Цены.ТипЦен = &ТипЦен | УПОРЯДОЧИТЬ ПО | Цены.Период УБЫВ | ) // =========== | ЛЕВОЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары | ПО ПродажиОбороты.Регистратор = РеализацияТоваровУслугТовары.Ссылка | И ПродажиОбороты.Номенклатура = РеализацияТоваровУслугТовары.Номенклатура | И ПродажиОбороты.НомерСтроки = РеализацияТоваровУслугТовары.НомерСтроки | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ТипыЦенПоГруппамНоменклатурыДляПокупателей.СрезПоследних(&ДатаКон_1, ) КАК ТипыЦенПоГруппамНоменклатурыДляПокупателейСрезПоследних | ПО ПродажиОбороты.Контрагент = ТипыЦенПоГруппамНоменклатурыДляПокупателейСрезПоследних.Контрагент | И ПродажиОбороты.Номенклатура.ЦеноваяГруппа = ТипыЦенПоГруппамНоменклатурыДляПокупателейСрезПоследних.НоменклатурнаяЦеноваяГруппа //| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних КАК ЦеныНоменклатурыСрезПоследних1 //| ПО ПродажиОбороты.Номенклатура = ЦеныНоменклатурыСрезПоследних1.Номенклатура //| И (ЦеныНоменклатурыСрезПоследних1.Цена = ПродажиОбороты.СтоимостьБезСкидокОборот / ПродажиОбороты.КоличествоОборот) //| И (ЦеныНоменклатурыСрезПоследних1.ТипЦен В (&ТипЦенПроверки)) | ГДЕ | ЦеныНоменклатурыСрезПоследних.ТипЦен = &ТипЦен // ==== Флаг "Только продажи" | И ВЫБОР | КОГДА &ФлагТолькоПродажи | ТОГДА ПродажиОбороты.Регистратор ССЫЛКА Документ.РеализацияТоваровУслуг | ИНАЧЕ ИСТИНА | КОНЕЦ // ==== Дополнительные ограничения по номенклатуре | //НОМЕНКЛАТУРА_ДЛЯ_ПРОСМОТРА | | СГРУППИРОВАТЬ ПО | ПродажиОбороты.Проект, | ПродажиОбороты.Подразделение, | ПродажиОбороты.Контрагент, | ПродажиОбороты.ДоговорКонтрагента, | ПродажиОбороты.Номенклатура, | ПродажиОбороты.ХарактеристикаНоменклатуры, | ПродажиОбороты.ЗаказПокупателя, | ПродажиОбороты.Организация, | ПродажиОбороты.Регистратор, | ПродажиОбороты.Период, | ЦеныНоменклатурыСрезПоследних.Цена, | ВЫБОР | КОГДА ПродажиОбороты.Регистратор ССЫЛКА Документ.РеализацияТоваровУслуг И НЕ РеализацияТоваровУслугТовары.Склад ЕСТЬ NULL ТОГДА РеализацияТоваровУслугТовары.Склад | КОГДА ПродажиОбороты.Регистратор ССЫЛКА Документ.ВозвратТоваровОтПокупателя ТОГДА ПродажиОбороты.Регистратор.СкладОрдер | ИНАЧЕ ПродажиОбороты.Регистратор.Склад | | КОНЕЦ, | РеализацияТоваровУслугТовары.КодАкции, | ВЫБОР | КОГДА НЕ РеализацияТоваровУслугТовары.ТипЦены ЕСТЬ NULL | ТОГДА РеализацияТоваровУслугТовары.ТипЦены | КОГДА НЕ ТипыЦенПоГруппамНоменклатурыДляПокупателейСрезПоследних.ТипЦен.Наименование ЕСТЬ NULL | ТОГДА ТипыЦенПоГруппамНоменклатурыДляПокупателейСрезПоследних.ТипЦен | КОГДА НЕ РеализацияТоваровУслугТовары.Ссылка.ТипЦен ЕСТЬ NULL | ТОГДА РеализацияТоваровУслугТовары.Ссылка.ТипЦен //| КОГДА НЕ ЦеныНоменклатурыСрезПоследних1.Цена ЕСТЬ NULL //| И НЕ ЦеныНоменклатурыСрезПоследних1.ТипЦен ЕСТЬ NULL //| ТОГДА ЦеныНоменклатурыСрезПоследних1.ТипЦен | КОГДА НЕ ПродажиОбороты.ДоговорКонтрагента ЕСТЬ NULL | ТОГДА ПродажиОбороты.ДоговорКонтрагента.ТипЦен | ИНАЧЕ ""Спец. цена"" | КОНЕЦ) КАК ВложенныйЗапрос | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.УсловияСкидок КАК УсловияСкидок | ПО ВложенныйЗапрос.КодАкции = УсловияСкидок.Код | | СГРУППИРОВАТЬ ПО | ВложенныйЗапрос.Организация, | ВложенныйЗапрос.Проект, | ВложенныйЗапрос.Подразделение, | ВложенныйЗапрос.Покупатель, | ВложенныйЗапрос.ДоговорПокупателя, | ВложенныйЗапрос.Номенклатура, | ВложенныйЗапрос.ХарактеристикаНоменклатуры, | ВложенныйЗапрос.ЗаказПокупателя, | ВложенныйЗапрос.Регистратор, | ВложенныйЗапрос.Период, | ВложенныйЗапрос.СкладТЧ, | ВложенныйЗапрос.КодАкции, | ВложенныйЗапрос.ЦенаБазовая, | ВложенныйЗапрос.ТипЦены, | УсловияСкидок.Ссылка) КАК ВложенныйЗапрос | //СОЕДИНЕНИЯ | //КОНТАКТНАЯИНФОРМАЦИЯ_СОЕДИНЕНИЯ | |ГДЕ // ==== Флаг "Учитывать маркетинг" | ВЫБОР | КОГДА &ФлагМаркетинг = ИСТИНА ТОГДА ИСТИНА | ИНАЧЕ | ВЫБОР | КОГДА ВложенныйЗапрос.СкладТЧ.Код = ""000000015"" | ИЛИ (ВложенныйЗапрос.Регистратор ССЫЛКА Документ.РеализацияТоваровУслуг | И ВложенныйЗапрос.Регистратор.ДокМаркетинг = ИСТИНА) | ТОГДА ЛОЖЬ | ИНАЧЕ ИСТИНА | КОНЕЦ | КОНЕЦ | |{ГДЕ | ВложенныйЗапрос.Регистратор.*, | ТИПЗНАЧЕНИЯ(ВложенныйЗапрос.Регистратор) КАК ТипДокумента, | ВложенныйЗапрос.Период, | ВложенныйЗапрос.ПериодДень, | ВложенныйЗапрос.ПериодНеделя, | ВложенныйЗапрос.ПериодДекада, | ВложенныйЗапрос.ПериодМесяц, | ВложенныйЗапрос.ПериодКвартал, | ВложенныйЗапрос.ПериодПолугодие, | ВложенныйЗапрос.ПериодГод, | ВложенныйЗапрос.Количество, | ВложенныйЗапрос.КоличествоЕдиницОтчетов, | ВложенныйЗапрос.КоличествоБазовыхЕдиниц, | ВложенныйЗапрос.СтоимостьБезНДС, | ВложенныйЗапрос.СтоимостьБезНДС2, | ВложенныйЗапрос.НДС, | ВложенныйЗапрос.Стоимость, | ВложенныйЗапрос.ЦенаБазовая, | ВложенныйЗапрос.ЦенаБазоваяБезНДС, | ВЫРАЗИТЬ(ВложенныйЗапрос.Стоимость / ЕстьNull(ВложенныйЗапрос.Количество,1) КАК ЧИСЛО(15,2)) КАК Цена, | ВЫРАЗИТЬ(ВложенныйЗапрос.СтоимостьБезНДС2 / ЕстьNull(ВложенныйЗапрос.Количество,1) КАК ЧИСЛО(15,2)) КАК ЦенаБезНДС, | ВЫРАЗИТЬ(ВложенныйЗапрос.Себестоимость / ЕстьNull(ВложенныйЗапрос.Количество,1) КАК ЧИСЛО(15,2)) КАК ЦенаЗакупа, | ВЫРАЗИТЬ(ВложенныйЗапрос.РасчетнаяСтоимость /ЕстьNull( ВложенныйЗапрос.Количество,1) КАК ЧИСЛО(15,2)) КАК ЦенаРасчетная, | ВЫРАЗИТЬ(ВложенныйЗапрос.РасчетнаяСтоимостьБезНДС / ЕстьNull(ВложенныйЗапрос.Количество,1) КАК ЧИСЛО(15,2)) КАК ЦенаРасчетнаяБезНДС, | ВложенныйЗапрос.Себестоимость КАК ФактическаяСтоимость, | ВложенныйЗапрос.ВаловаяПрибыль, | ВложенныйЗапрос.Эффективность, | ВложенныйЗапрос.Рентабельность, | ВложенныйЗапрос.Рентабельность, | ВложенныйЗапрос.КоличествоКГ, | ВложенныйЗапрос.ВесПрогресс, | ВложенныйЗапрос.СкладТЧ.*, | ВложенныйЗапрос.Акция.*, | ВложенныйЗапрос.ТипЦены.*, | ВложенныйЗапрос.РублеваяСкидка, | ВЫРАЗИТЬ(ВложенныйЗапрос.Стоимость / ЕстьNull(ВложенныйЗапрос.РасчетнаяСтоимость * 100,1) - 100 КАК ЧИСЛО(15, 2)) КАК ПроцентНаценки, | ВложенныйЗапрос.Регистратор.ВнешнийСервисЗаказа.* КАК ВнешнийСервисЗаказа, | ВложенныйЗапрос.Регистратор.НомерДокументаВнешнегоСервиса КАК НомерДокументаВнешнегоСервиса, | ВложенныйЗапрос.Регистратор.ДатаДокументаВнешнегоСервиса КАК ДатаДокументаВнешнегоСервиса | //УСЛОВИЯ_СВОЙСТВА | //УСЛОВИЯ_КАТЕГОРИИ | //УСЛОВИЯ_КОНТАКТНАЯИНФОРМАЦИЯ} |{УПОРЯДОЧИТЬ ПО | Организация.*, | Проект.*, | Подразделение.*, | Покупатель.*, | ДоговорПокупателя.*, | Номенклатура.*, | ТипЦены.*, | ХарактеристикаНоменклатуры.*, | ЗаказПокупателя.*, | Регистратор.*, | ТипДокумента, | СкладТЧ.*, | Акция.*, | Период, | ПериодДень, | ПериодНеделя, | ПериодДекада, | ПериодМесяц, | ПериодКвартал, | ПериодПолугодие, | ПериодГод, | Количество, | КоличествоЕдиницОтчетов, | КоличествоБазовыхЕдиниц, | СтоимостьБезНДС, | СтоимостьБезНДС2, | НДС, | Стоимость, | ФактическаяСтоимость, | ВаловаяПрибыль, | Эффективность, | Рентабельность, | РасчетнаяСтоимость, | ПроцентНаценки, | ТипЦены.* | //ПСЕВДОНИМЫ_СВОЙСТВА | //ПСЕВДОНИМЫ_КАТЕГОРИИ | //ПСЕВДОНИМЫ_КОНТАКТНАЯИНФОРМАЦИЯ} |ИТОГИ | СУММА(SKU) / КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ВложенныйЗапрос.Покупатель) КАК SKU, | КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ВложенныйЗапрос.Покупатель) КАК АКБ, | СУММА(Количество), | СУММА(КоличествоЕдиницОтчетов), | СУММА(КоличествоБазовыхЕдиниц), | СУММА(СтоимостьБезНДС), | СУММА(СтоимостьБезНДС2), | СУММА(НДС), | СУММА(Стоимость), | СУММА(ФактическаяСтоимость), | ВЫБОР | КОГДА &НеВключатьНДСВСтоимостьПартий | ТОГДА СУММА(СтоимостьБезНДС) | ИНАЧЕ СУММА(Стоимость) | КОНЕЦ - СУММА(ВложенныйЗапрос.Себестоимость) КАК ВаловаяПрибыль, | 100 * ВЫБОР | КОГДА &НеВключатьНДСВСтоимостьПартий | ТОГДА ВЫБОР | КОГДА СУММА(ВложенныйЗапрос.Себестоимость) <> 0 | ТОГДА (СУММА(СтоимостьБезНДС) - СУММА(ВложенныйЗапрос.Себестоимость)) / ЕстьNull(СУММА(ВложенныйЗапрос.Себестоимость),1) | ИНАЧЕ 0 | КОНЕЦ | ИНАЧЕ ВЫБОР | КОГДА СУММА(ВложенныйЗапрос.Себестоимость) <> 0 | ТОГДА (СУММА(Стоимость) - СУММА(ВложенныйЗапрос.Себестоимость)) / ЕстьNull(СУММА(ВложенныйЗапрос.Себестоимость),1) | ИНАЧЕ 0 | КОНЕЦ | КОНЕЦ КАК Эффективность, | 100 * ВЫБОР | КОГДА &НеВключатьНДСВСтоимостьПартий | ТОГДА ВЫБОР | КОГДА СУММА(СтоимостьБезНДС) <> 0 | ТОГДА (СУММА(СтоимостьБезНДС) - СУММА(ВложенныйЗапрос.Себестоимость)) / ЕстьNull(СУММА(СтоимостьБезНДС),1) | ИНАЧЕ 0 | КОНЕЦ | ИНАЧЕ ВЫБОР | КОГДА СУММА(Стоимость) <> 0 | ТОГДА (СУММА(Стоимость) - СУММА(ВложенныйЗапрос.Себестоимость)) / ЕстьNull(СУММА(Стоимость),1) | ИНАЧЕ 0 | КОНЕЦ | КОНЕЦ КАК Рентабельность, | СУММА(РасчетнаяСтоимость), | СУММА(РасчетнаяСтоимостьБезНДС), | СУММА(ПрибыльБезНДС), | СУММА(ВаловаяПрибыль), | СУММА(Прибыль), | СУММА(РублеваяСкидка), | СУММА(КоличествоКГ), | СУММА(ВесПрогресс), | МАКСИМУМ(СкладТЧ), | МИНИМУМ(ТипЦены), | МИНИМУМ(Акция), | СРЕДНЕЕ(ЦенаБазовая), | СРЕДНЕЕ(ЦенаБазоваяБезНДС), | СРЕДНЕЕ(Цена), | СРЕДНЕЕ(ЦенаБезНДС), | СРЕДНЕЕ(ЦенаЗакупа), | СРЕДНЕЕ(ПроцентНаценки) | //ИТОГИ_СВОЙСТВА | //ИТОГИ_КАТЕГОРИИ | //ИТОГИ_КОНТАКТНАЯИНФОРМАЦИЯ |ПО | ОБЩИЕ |{ИТОГИ ПО | Организация.*, | Проект.*, | Подразделение.*, | Покупатель.*, | ДоговорПокупателя.*, | Номенклатура.*, | ХарактеристикаНоменклатуры.*, | ЗаказПокупателя.*, | Регистратор.*, | СкладТЧ.*, | ТипЦеныТЧ.*, | ТипДокумента, | Период, | ПериодДень, | ПериодНеделя, | ПериодДекада, | ПериодМесяц, | ПериодКвартал, | ПериодПолугодие, | ПериодГод | //ПСЕВДОНИМЫ_СВОЙСТВА | //ПСЕВДОНИМЫ_КАТЕГОРИИ | //ПСЕВДОНИМЫ_КОНТАКТНАЯИНФОРМАЦИЯ}" |
|||
7
lubitelxml
13.09.23
✎
18:22
|
(6) Мне он точно не нужен. Я конкретный вопрос задал - конструктор запроса его открывает или нет?
"ВложенныйЗапрос.Регистратор.ВнешнийСервисЗаказа.* КАК ВнешнийСервисЗаказа, " - это вообще что такое? "КОГДА ВложенныйЗапрос.СкладТЧ.Код = ""000000015"" " - а это? Вложенные таблицы я бы переделал на виртуальные, было бы хоть чуть понятнее. Разобраться в твоем запросе не представляется возможным. |
|||
8
Ohirama
13.09.23
✎
18:31
|
Так точно, открывает. Вижу поля запросов
|
|||
9
Ohirama
14.09.23
✎
17:32
|
Что делать дальше?
|
|||
10
Timon1405
14.09.23
✎
18:02
|
убирать таблицы по одной пока не заработает
скорее всего валится на // Корреляционный запрос "Срез последних на каждую дату" по цене номенклатуры переписать срез по-другому |
|||
11
Ohirama
14.09.23
✎
18:40
|
Вот что странно, у меня две базы одна тестовая одна основная,в тестовой отчет работает на этой платформе,а в основе нет
|
|||
12
lubitelxml
14.09.23
✎
18:51
|
(11) чисти кеш, сделай ТиИ
|
|||
13
Регистр
15.09.23
✎
14:13
|
(6) Вот нахрена делать такие запросы в тыщу строк???
Как делать отладку с этим ??? БН сказал - делайте всё на сервере. Но меру-то надо знать? А если БН завтра прикажет с крыши прыгать? |
|||
14
lubitelxml
15.09.23
✎
14:21
|
(13) это походу ОФ, где еще не знали про ВТ, проще заново написать запрос, чем эту портянку разбирать
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |