Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
15 мар 2025, 16:43

Проблема работы запроса СКД

Автор Yanawerg, 20 янв 2025, 14:13

0 Пользователей и 1 гость просматривают эту тему.

Yanawerg

Из существующего отчета построенного на документе Реализация товаров и услуг пытаюсь создать новый отчет но уже на документе Заказ покупателя.
Смысл отчета тот же самый только должен брать данные из другого документа.
При изменении запроса в СКД выдаёт ошибку уже на первой строке.

Что не правильно прописал не могу понять, брал буквально стандартное значение.

ВЫБРАТЬ РАЗЛИЧНЫЕ
Отчет.Дата,
Отчет.Ссылка,
ОтчетПродукция.Заказ
ПОМЕСТИТЬ ОтчетыЗаСмену
ИЗ
Документ.ОтчетПроизводстваЗаСмену КАК Отчет
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ОтчетПроизводстваЗаСмену.Продукция КАК ОтчетПродукция
ПО Отчет.Ссылка = ОтчетПродукция.Ссылка
ГДЕ
Отчет.Дата <= &КонПериода
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ЗаказПокупателя.Ссылка,
СУММА(ИТК5_СчетРаботыЦеха.ОбщаяСтоимость) КАК ОбщаяСтоимость
ПОМЕСТИТЬ ПВХ
ИЗ
Документ.ЗаказПокупателя КАК ЗаказПокупателя
ЛЕВОЕ СОЕДИНЕНИЕ Документ.ИТК5_Счет КАК ИТК5_Счет
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ИТК5_Счет.РаботыЦеха КАК ИТК5_СчетРаботыЦеха
ПО ИТК5_Счет.Ссылка = ИТК5_СчетРаботыЦеха.Ссылка
ПО ЗаказПокупателя.ИТКСчет = ИТК5_Счет.Ссылка
ВНУТРЕННЕЕ СОЕДИНЕНИЕ ОтчетыЗаСмену КАК ОтчетыЗаСмену
ПО ЗаказПокупателя.Ссылка = ОтчетыЗаСмену.Заказ
ГДЕ
ЗаказПокупателя.СтатусПроизводства = &Изготовлен
И ИТК5_СчетРаботыЦеха.Работа.Использовать
И ИТК5_СчетРаботыЦеха.Работа.ПВХ
И ЗаказПокупателя.ТипИзделия.Код = "000000001"

СГРУППИРОВАТЬ ПО
ЗаказПокупателя.Ссылка
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ЗаказПокупателя.Ссылка,
СУММА(ИТК5_СчетРаботыЦеха.ОбщаяСтоимость) КАК ОбщаяСтоимость
ПОМЕСТИТЬ Алюм
ИЗ
Документ.ЗаказПокупателя КАК ЗаказПокупателя
ВНУТРЕННЕЕ СОЕДИНЕНИЕ ОтчетыЗаСмену КАК Отчеты
ПО ЗаказПокупателя.Ссылка = Отчеты.Заказ
ЛЕВОЕ СОЕДИНЕНИЕ Документ.ИТК5_Счет КАК ИТК5_Счет
ПО ЗаказПокупателя.ИТКСчет = ИТК5_Счет.Ссылка
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ИТК5_Счет.РаботыЦеха КАК ИТК5_СчетРаботыЦеха
ПО (ИТК5_Счет.Ссылка = ИТК5_СчетРаботыЦеха.Ссылка)
ГДЕ
ЗаказПокупателя.СтатусПроизводства = &Изготовлен
И ИТК5_СчетРаботыЦеха.Работа.Использовать
И ИТК5_СчетРаботыЦеха.Работа.Алюминий
И (ЗаказПокупателя.ТипИзделия.Код = "000000002"
ИЛИ ЗаказПокупателя.ТипИзделия.Код = "000000011")

СГРУППИРОВАТЬ ПО
ЗаказПокупателя.Ссылка
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ПВХ.Ссылка,
ПВХ.ОбщаяСтоимость
ПОМЕСТИТЬ ОбщиеЗатраты
ИЗ
ПВХ КАК ПВХ

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
Алюм.Ссылка,
Алюм.ОбщаяСтоимость
ИЗ
Алюм КАК Алюм
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗЛИЧНЫЕ
РеализацияТоваровУслуг.Ссылка,
РеализацияТоваровУслуг.Сделка,
РеализацияТоваровУслуг.Контрагент,
РеализацияТоваровУслуг.Сделка.ИТКСчет,
РеализацияТоваровУслуг.Сделка.НомерЗаявки,
ВЫБОР
КОГДА ТИПЗНАЧЕНИЯ(РеализацияТоваровУслуг.Сделка.ИТКСчет) = ТИП(Документ.ИТК5_Счет)
ТОГДА РасчетыСКонтрагентамиОбороты.СуммаВзаиморасчетовПриход - ЕСТЬNULL(ЗапросСебест.Стоимость, 0)
КОГДА РеализацияТоваровУслуг.Сделка.Ссылка ЕСТЬ NULL
ТОГДА РасчетыСКонтрагентами.СуммаВзаиморасчетов - ЕСТЬNULL(ЗапросСтоимость.Сумма, 0)
ИНАЧЕ РасчетыСКонтрагентамиОбороты.СуммаВзаиморасчетовПриход - ЕСТЬNULL(ЗапросСтоимость.Сумма, 0)
КОНЕЦ КАК ФактическаяПрибыль,
ВЫБОР
КОГДА ТИПЗНАЧЕНИЯ(РеализацияТоваровУслуг.Сделка.ИТКСчет) = ТИП(Документ.ИТК5_Счет)
ТОГДА РасчетыСКонтрагентамиОбороты.СуммаВзаиморасчетовПриход - ЕСТЬNULL(ЗапросСебест.Стоимость, 0)
ИНАЧЕ РасчетыСКонтрагентамиОбороты.СуммаВзаиморасчетовПриход - ЕСТЬNULL(ЗапросСтоимость.Сумма, 0)
КОНЕЦ КАК ФактическаяПрибыльПриПолнойОплате,
ВЫБОР
КОГДА ТИПЗНАЧЕНИЯ(РеализацияТоваровУслуг.Сделка.ИТКСчет) = ТИП(Документ.ИТК5_Счет)
ТОГДА ЕСТЬNULL(ЗапросСебест.Стоимость, 0)
ИНАЧЕ ЕСТЬNULL(ЗапросСтоимость.Сумма, 0)
КОНЕЦ КАК Себестоимость,
ВЫБОР
КОГДА РеализацияТоваровУслуг.Сделка ССЫЛКА Документ.ЗаказПокупателя
ТОГДА РеализацияТоваровУслуг.Сделка.СуммаДокумента
ИНАЧЕ РеализацияТоваровУслуг.СуммаДокумента
КОНЕЦ КАК СуммаЗаказа1С,
РеализацияТоваровУслуг.СуммаДокумента КАК СтоимостьПродажи,
ВЫБОР
КОГДА РеализацияТоваровУслуг.Сделка ССЫЛКА Документ.ЗаказПокупателя
ТОГДА РасчетыСКонтрагентамиОбороты.СуммаВзаиморасчетовПриход
ИНАЧЕ 0
КОНЕЦ КАК СуммаЗаказ,
ВЫБОР
КОГДА РеализацияТоваровУслуг.Сделка ССЫЛКА Документ.ЗаказПокупателя
ТОГДА РасчетыСКонтрагентамиОбороты.СуммаВзаиморасчетовРасход
ИНАЧЕ 0
КОНЕЦ КАК СуммаОплата,
Изделия.Количество,
Изделия.Площадь,
ВЫБОР
КОГДА ТИПЗНАЧЕНИЯ(РеализацияТоваровУслуг.Сделка.ИТКСчет) = ТИП(Документ.ИТК5_Счет)
ТОГДА РеализацияТоваровУслуг.СуммаДокумента - ЕСТЬNULL(Спецификация.Себестоимость, 0)
ИНАЧЕ 0
КОНЕЦ КАК ПлановаяПрибыль,
ЕСТЬNULL(Спецификация.СуммаДоставка, 0) КАК СебестоимостьДоставки,
Спецификация.СебестоимостьСборка КАК ПрямыеЗатраты1,
Изделия.Площадь * &КосвенныеЗатратыПроизводства КАК КосвенныеЗатраты,
ЗапросРасстояние.Расстояние * &СебестоимостьДоставки КАК ЗатратыНаДоставку,
МонтажПВХ.СтоимостьМатериалов КАК МонтажМатериалы,
МонтажПВХ.СуммаПремии КАК МонтажПремия,
МонтажПВХ.ДоплатаЗаБензинСумма КАК МонтажДоплатаЗаБензин,
ВЫБОР
КОГДА РасчетыСКонтрагентамиОбороты.СуммаВзаиморасчетовПриход <> РасчетыСКонтрагентамиОбороты.СуммаВзаиморасчетовРасход
ТОГДА ЛОЖЬ
ИНАЧЕ ИСТИНА
КОНЕЦ КАК ЕстьОплата,
ДокДатаОплаты.ДатаОплаты КАК ДатаОплаты,
ВЫБОР
КОГДА РеализацияТоваровУслуг.Дата < ДокДатаОплаты.ДатаОплаты
ТОГДА ДокДатаОплаты.ДатаОплаты
ИНАЧЕ РеализацияТоваровУслуг.Дата
КОНЕЦ КАК ДатаДляОтчета,
ВЫБОР
КОГДА РеализацияТоваровУслуг.Сделка ЕСТЬ NULL
ИЛИ РеализацияТоваровУслуг.Сделка = НЕОПРЕДЕЛЕНО
ТОГДА ВЫБОР
КОГДА ПоказателиСебестоимостиПоРеализации.ПрямыеЗатраты ЕСТЬ NULL
ТОГДА ОбщиеЗатраты.ОбщаяСтоимость
ИНАЧЕ ПоказателиСебестоимостиПоРеализации.ПрямыеЗатраты
КОНЕЦ
ИНАЧЕ ОбщиеЗатраты.ОбщаяСтоимость
КОНЕЦ КАК ПрямыеЗатраты,
ВЫБОР
КОГДА РеализацияТоваровУслуг.Организация.Код = "000000005"
ТОГДА &НалогУПР
КОГДА РеализацияТоваровУслуг.Организация.Код = "000000012"
ТОГДА &НалогКАН
КОГДА РеализацияТоваровУслуг.Организация.Код = "000000009"
ТОГДА &НалогШАА
КОГДА РеализацияТоваровУслуг.Организация.Код = "000000002"
ТОГДА &НалогМВА
КОГДА РеализацияТоваровУслуг.Организация.Код = "000000013"
ТОГДА &НалогСТ
ИНАЧЕ &НалоговаяНагрузка
КОНЕЦ КАК НалогНагрузка,
ВЫРАЗИТЬ(РеализацияТоваровУслуг.Комментарий КАК СТРОКА(20)) КАК Комментарий,
РегистрацияБрака.ИсточникБрака
ИЗ
Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
РаздСпецификация.ИТК5Счет КАК ИТК5Счет,
СУММА(РаздСпецификация.СебестоимостьСборка) КАК СебестоимостьСборка,
СУММА(РаздСпецификация.Себестоимость) КАК Себестоимость,
СУММА(РаздСпецификация.СуммаДоставка) КАК СуммаДоставка
ИЗ
(ВЫБРАТЬ
ИТК5_Спецификация.Регистратор КАК ИТК5Счет,
ВЫБОР
КОГДА ИТК5_Спецификация.ТипМатериала = &Работа
И ИТК5_Спецификация.Подтип = &Сборка
ТОГДА ИТК5_Спецификация.СуммаСебестоимость
КОНЕЦ КАК СебестоимостьСборка,
ИТК5_Спецификация.СуммаСебестоимость КАК Себестоимость,
ВЫБОР
КОГДА ИТК5_Спецификация.ТипМатериала = &Работа
И ИТК5_Спецификация.Подтип = &Доставка
И ИТК5_Спецификация.Артикул В (&АртикулыДоставка)
ТОГДА ИТК5_Спецификация.СуммаСебестоимость
КОНЕЦ КАК СуммаДоставка
ИЗ
РегистрСведений.ИТК5_Спецификация КАК ИТК5_Спецификация) КАК РаздСпецификация

СГРУППИРОВАТЬ ПО
РаздСпецификация.ИТК5Счет) КАК Спецификация
ПО (Спецификация.ИТК5Счет = РеализацияТоваровУслуг.Сделка.ИТКСчет)
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ РАЗЛИЧНЫЕ
ОтчетПроизводстваЗаСмену.Заказ КАК Заказ,
СУММА(ЗапросСебестоимость.Стоимость) КАК Стоимость
ИЗ
Документ.ОтчетПроизводстваЗаСмену.Продукция КАК ОтчетПроизводстваЗаСмену
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
ВыпускПродукции.Регистратор КАК Регистратор,
ВыпускПродукции.Продукция КАК Продукция,
ВыпускПродукции.Стоимость КАК Стоимость
ИЗ
РегистрНакопления.ВыпускПродукцииБухгалтерскийУчет КАК ВыпускПродукции) КАК ЗапросСебестоимость
ПО (ЗапросСебестоимость.Продукция = ОтчетПроизводстваЗаСмену.Номенклатура)
И (ЗапросСебестоимость.Регистратор = ОтчетПроизводстваЗаСмену.Ссылка)

СГРУППИРОВАТЬ ПО
ОтчетПроизводстваЗаСмену.Заказ) КАК ЗапросСебест
ПО (ЗапросСебест.Заказ = РеализацияТоваровУслуг.Сделка)
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
ИТК5СчетИзделия.Ссылка КАК Док,
СУММА(ИТК5СчетИзделия.Количество) КАК Количество,
СУММА(ИТК5СчетИзделия.Изделие.sqrt * ИТК5СчетИзделия.Количество) КАК Площадь
ИЗ
Документ.ИТК5_Счет.Изделия КАК ИТК5СчетИзделия
ГДЕ
ИТК5СчетИзделия.Изделие.Тип = &ВыбТип

СГРУППИРОВАТЬ ПО
ИТК5СчетИзделия.Ссылка) КАК Изделия
ПО РеализацияТоваровУслуг.Сделка.ИТКСчет = Изделия.Док
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
Монтаж.ЗаказПокупателя КАК ЗаказПокупателя,
СУММА(Монтаж.СтоимостьМатериалов) КАК СтоимостьМатериалов,
СУММА(ВЫБОР
КОГДА Монтаж.ЗначениеКоэффициентаПерерасчетаМонтажныхРабот = 0
ТОГДА Монтаж.СуммаПремии
ИНАЧЕ Монтаж.СуммаПремии * Монтаж.ЗначениеКоэффициентаПерерасчетаМонтажныхРабот
КОНЕЦ) КАК СуммаПремии,
СУММА(Монтаж.ДоплатаЗаБензинСумма) КАК ДоплатаЗаБензинСумма
ИЗ
Документ.МонтажИзделияИзПВХНовый КАК Монтаж
ГДЕ
Монтаж.Проведен = ИСТИНА

СГРУППИРОВАТЬ ПО
Монтаж.ЗаказПокупателя) КАК МонтажПВХ
ПО РеализацияТоваровУслуг.Сделка = МонтажПВХ.ЗаказПокупателя
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.РасчетыСКонтрагентами.Обороты КАК РасчетыСКонтрагентамиОбороты
ПО РеализацияТоваровУслуг.Сделка = РасчетыСКонтрагентамиОбороты.Сделка
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
РасчетыСКонтрагентами.Сделка КАК Сделка,
МАКСИМУМ(РасчетыСКонтрагентами.Регистратор.Дата) КАК ДатаОплаты
ИЗ
РегистрНакопления.РасчетыСКонтрагентами КАК РасчетыСКонтрагентами
ГДЕ
РасчетыСКонтрагентами.ВидДвижения = &ВидДвижения

СГРУППИРОВАТЬ ПО
РасчетыСКонтрагентами.Сделка) КАК ДокДатаОплаты
ПО (ДокДатаОплаты.Сделка = РеализацияТоваровУслуг.Сделка)
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
ПартииТоваровНаСкладах.Регистратор КАК Регистратор,
СУММА(ПартииТоваровНаСкладах.Стоимость) КАК Сумма
ИЗ
РегистрНакопления.ПартииТоваровНаСкладах КАК ПартииТоваровНаСкладах

СГРУППИРОВАТЬ ПО
ПартииТоваровНаСкладах.Регистратор) КАК ЗапросСтоимость
ПО (ЗапросСтоимость.Регистратор = РеализацияТоваровУслуг.Ссылка)
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
ПутевойЛистБСВыезды.ЗаказПокупателя КАК ЗаказПокупателя,
СУММА(ПутевойЛистБСВыезды.Расстояние) КАК Расстояние
ИЗ
Документ.ПутевойЛистБС.Выезды КАК ПутевойЛистБСВыезды

СГРУППИРОВАТЬ ПО
ПутевойЛистБСВыезды.ЗаказПокупателя) КАК ЗапросРасстояние
ПО (ЗапросРасстояние.ЗаказПокупателя = РеализацияТоваровУслуг.Сделка)
ЛЕВОЕ СОЕДИНЕНИЕ Документ.КорректировкаЗаписейРегистров.ЗаполнениеДвижений КАК КоррДок
ПО (КоррДок.Документ = РеализацияТоваровУслуг.Ссылка)
И (КоррДок.Действие = "Сторно движений документа")
ЛЕВОЕ СОЕДИНЕНИЕ ОбщиеЗатраты КАК ОбщиеЗатраты
ПО РеализацияТоваровУслуг.Сделка = ОбщиеЗатраты.Ссылка
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.РасчетыСКонтрагентами КАК РасчетыСКонтрагентами
ПО (РасчетыСКонтрагентами.Регистратор = РеализацияТоваровУслуг.Ссылка)
ЛЕВОЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
ПО РеализацияТоваровУслуг.Ссылка = РеализацияТоваровУслугТовары.Ссылка
ЛЕВОЕ СОЕДИНЕНИЕ Документ.РегистрацияБрака КАК РегистрацияБрака
ПО РеализацияТоваровУслуг.Сделка = РегистрацияБрака.ПеределкаБрака
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПоказателиСебестоимостиПоРеализации КАК ПоказателиСебестоимостиПоРеализации
ПО РеализацияТоваровУслуг.Ссылка = ПоказателиСебестоимостиПоРеализации.Регистратор
ГДЕ
РеализацияТоваровУслуг.Проведен = ИСТИНА
И КоррДок.Ссылка ЕСТЬ NULL
И (РеализацияТоваровУслуг.Сделка ССЫЛКА Документ.ЗаказПокупателя
ИЛИ РеализацияТоваровУслуг.Сделка.Ссылка ЕСТЬ NULL )
И ВЫБОР
КОГДА РеализацияТоваровУслуг.Сделка.Ссылка ЕСТЬ NULL
ТОГДА РеализацияТоваровУслуг.Дата МЕЖДУ &ДатаНач И &ДатаКон
ИНАЧЕ ВЫБОР
КОГДА РеализацияТоваровУслуг.Дата < ДокДатаОплаты.ДатаОплаты
ТОГДА ДокДатаОплаты.ДатаОплаты
ИНАЧЕ РеализацияТоваровУслуг.Дата
КОНЕЦ МЕЖДУ &ДатаНач И &ДатаКон
И РасчетыСКонтрагентамиОбороты.СуммаВзаиморасчетовПриход = РасчетыСКонтрагентамиОбороты.СуммаВзаиморасчетовРасход
ИЛИ РеализацияТоваровУслуг.Дата МЕЖДУ &ДатаНачалаОтчета И &ДатаКон
И РасчетыСКонтрагентамиОбороты.СуммаВзаиморасчетовПриход <> РасчетыСКонтрагентамиОбороты.СуммаВзаиморасчетовРасход
КОНЕЦ
И РеализацияТоваровУслуг.Дата <= &ДатаКон
И РеализацияТоваровУслуг.Дата >= &ДатаНачала

LexaK

Yanawerg,
ЦитироватьПри изменении запроса в СКД выдаёт ошибку уже на первой строке.
Текст ошибки, вставьте?
если помогло нажмите: Спасибо!

Yanawerg

LexaK, Ошибка получения информации набора данных
по причине:
Ошибка в запросе набора данных
по причине:
{(80, 2)}: Неоднозначное поле "ЗаказПокупателя.НомерЗаявки"
<<?>>ЗаказПокупателя.НомерЗаявки,


ВЫБРАТЬ РАЗЛИЧНЫЕ           
    ЗаказПокупателя.НомерЗаявки,
    ЗаказПокупателя.Ссылка,
    ЗаказПокупателя.ИТКСчет,
    ЗаказПокупателя.Контрагент,
    ВЫБОР
        КОГДА ТИПЗНАЧЕНИЯ(ЗаказПокупателя.ИТКСчет) = ТИП(Документ.ИТК5_Счет)
            ТОГДА РасчетыСКонтрагентамиОбороты.СуммаВзаиморасчетовПриход - ЕСТЬNULL(ЗапросСебест.Стоимость, 0)
        КОГДА ЗаказПокупателя.Ссылка ЕСТЬ NULL
            ТОГДА РасчетыСКонтрагентами.СуммаВзаиморасчетов - ЕСТЬNULL(ЗапросСтоимость.Сумма, 0)
        ИНАЧЕ РасчетыСКонтрагентамиОбороты.СуммаВзаиморасчетовПриход - ЕСТЬNULL(ЗапросСтоимость.Сумма, 0)
    КОНЕЦ КАК ФактическаяПрибыль,
    ВЫБОР
        КОГДА ТИПЗНАЧЕНИЯ(ЗаказПокупателя.ИТКСчет) = ТИП(Документ.ИТК5_Счет)
            ТОГДА РасчетыСКонтрагентамиОбороты.СуммаВзаиморасчетовПриход - ЕСТЬNULL(ЗапросСебест.Стоимость, 0)
        ИНАЧЕ РасчетыСКонтрагентамиОбороты.СуммаВзаиморасчетовПриход - ЕСТЬNULL(ЗапросСтоимость.Сумма, 0)
    КОНЕЦ КАК ФактическаяПрибыльПриПолнойОплате,
    ВЫБОР
        КОГДА ТИПЗНАЧЕНИЯ(ЗаказПокупателя.ИТКСчет) = ТИП(Документ.ИТК5_Счет)
            ТОГДА ЕСТЬNULL(ЗапросСебест.Стоимость, 0)
        ИНАЧЕ ЕСТЬNULL(ЗапросСтоимость.Сумма, 0)
    КОНЕЦ КАК Себестоимость,
    ВЫБОР
        КОГДА ЗаказПокупателя.Ссылка ССЫЛКА Документ.ЗаказПокупателя
            ТОГДА ЗаказПокупателя.СуммаДокумента
        ИНАЧЕ ЗаказПокупателя.СуммаДокумента
    КОНЕЦ КАК СуммаЗаказа1С,
    ЗаказПокупателя.СуммаДокумента КАК СтоимостьПродажи,
    ВЫБОР
        КОГДА ЗаказПокупателя.Ссылка ССЫЛКА Документ.ЗаказПокупателя
            ТОГДА РасчетыСКонтрагентамиОбороты.СуммаВзаиморасчетовПриход
        ИНАЧЕ 0
    КОНЕЦ КАК СуммаЗаказ,
    ВЫБОР
        КОГДА ЗаказПокупателя.Ссылка ССЫЛКА Документ.ЗаказПокупателя
            ТОГДА РасчетыСКонтрагентамиОбороты.СуммаВзаиморасчетовРасход
        ИНАЧЕ 0
    КОНЕЦ КАК СуммаОплата,
    Изделия.Количество,
    Изделия.Площадь,
    ВЫБОР
        КОГДА ТИПЗНАЧЕНИЯ(ЗаказПокупателя.ИТКСчет) = ТИП(Документ.ИТК5_Счет)
            ТОГДА ЗаказПокупателя.СуммаДокумента - ЕСТЬNULL(Спецификация.Себестоимость, 0)
        ИНАЧЕ 0
    КОНЕЦ КАК ПлановаяПрибыль,
    ЕСТЬNULL(Спецификация.СуммаДоставка, 0) КАК СебестоимостьДоставки,
    Спецификация.СебестоимостьСборка КАК ПрямыеЗатраты1,
    Изделия.Площадь * &КосвенныеЗатратыПроизводства КАК КосвенныеЗатраты,
    ЗапросРасстояние.Расстояние * &СебестоимостьДоставки КАК ЗатратыНаДоставку,
    МонтажПВХ.СтоимостьМатериалов КАК МонтажМатериалы,
    МонтажПВХ.СуммаПремии КАК МонтажПремия,
    МонтажПВХ.ДоплатаЗаБензинСумма КАК МонтажДоплатаЗаБензин,
    ВЫБОР
        КОГДА РасчетыСКонтрагентамиОбороты.СуммаВзаиморасчетовПриход <> РасчетыСКонтрагентамиОбороты.СуммаВзаиморасчетовРасход
            ТОГДА ЛОЖЬ
        ИНАЧЕ ИСТИНА
    КОНЕЦ КАК ЕстьОплата,
    ДокДатаОплаты.ДатаОплаты КАК ДатаОплаты,
    ВЫБОР
        КОГДА ЗаказПокупателя.Дата < ДокДатаОплаты.ДатаОплаты
            ТОГДА ДокДатаОплаты.ДатаОплаты
        ИНАЧЕ ЗаказПокупателя.Дата
    КОНЕЦ КАК ДатаДляОтчета,
    ВЫБОР
        КОГДА ЗаказПокупателя.Ссылка ЕСТЬ NULL
                ИЛИ ЗаказПокупателя.Ссылка = НЕОПРЕДЕЛЕНО
            ТОГДА ПоказателиСебестоимостиПоРеализации.ПрямыеЗатраты
        ИНАЧЕ ОбщиеЗатраты.ОбщаяСтоимость
    КОНЕЦ КАК ПрямыеЗатраты,
    ВЫБОР
        КОГДА ЗаказПокупателя.Организация.Код = "000000005"
            ТОГДА &НалогУПР
        КОГДА ЗаказПокупателя.Организация.Код = "000000012"
            ТОГДА &НалогКАН
        КОГДА ЗаказПокупателя.Организация.Код = "000000009"
            ТОГДА &НалогШАА
        КОГДА ЗаказПокупателя.Организация.Код = "000000002"
            ТОГДА &НалогМВА
        КОГДА ЗаказПокупателя.Организация.Код = "000000013"
            ТОГДА &НалогСТ
        ИНАЧЕ &НалоговаяНагрузка
    КОНЕЦ КАК НалогНагрузка                   
ИЗ
    Документ.ЗаказПокупателя КАК ЗаказПокупателя
    ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            РаздСпецификация.ИТК5Счет КАК ИТК5Счет,
            СУММА(РаздСпецификация.СебестоимостьСборка) КАК СебестоимостьСборка,
            СУММА(РаздСпецификация.Себестоимость) КАК Себестоимость,
            СУММА(РаздСпецификация.СуммаДоставка) КАК СуммаДоставка
        ИЗ
            (ВЫБРАТЬ
                ИТК5_Спецификация.Регистратор КАК ИТК5Счет,
                ВЫБОР
                    КОГДА ИТК5_Спецификация.ТипМатериала = &Работа
                            И ИТК5_Спецификация.Подтип = &Сборка
                        ТОГДА ИТК5_Спецификация.СуммаСебестоимость
                КОНЕЦ КАК СебестоимостьСборка,
                ИТК5_Спецификация.СуммаСебестоимость КАК Себестоимость,
                ВЫБОР
                    КОГДА ИТК5_Спецификация.ТипМатериала = &Работа
                            И ИТК5_Спецификация.Подтип = &Доставка
                            И ИТК5_Спецификация.Артикул В (&АртикулыДоставка)
                        ТОГДА ИТК5_Спецификация.СуммаСебестоимость
                КОНЕЦ КАК СуммаДоставка
            ИЗ
                РегистрСведений.ИТК5_Спецификация КАК ИТК5_Спецификация) КАК РаздСпецификация
       
        СГРУППИРОВАТЬ ПО
            РаздСпецификация.ИТК5Счет) КАК Спецификация
        ПО (Спецификация.ИТК5Счет = ЗаказПокупателя.ИТКСчет)
        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ РАЗЛИЧНЫЕ
            ОтчетПроизводстваЗаСмену.Заказ КАК Заказ,
            СУММА(ЗапросСебестоимость.Стоимость) КАК Стоимость
        ИЗ
            Документ.ОтчетПроизводстваЗаСмену.Продукция КАК ОтчетПроизводстваЗаСмену
                ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
                    ВыпускПродукции.Регистратор КАК Регистратор,
                    ВыпускПродукции.Продукция КАК Продукция,
                    ВыпускПродукции.Стоимость КАК Стоимость
                ИЗ
                    РегистрНакопления.ВыпускПродукцииБухгалтерскийУчет КАК ВыпускПродукции) КАК ЗапросСебестоимость
                ПО (ЗапросСебестоимость.Продукция = ОтчетПроизводстваЗаСмену.Номенклатура)
                    И (ЗапросСебестоимость.Регистратор = ОтчетПроизводстваЗаСмену.Ссылка)
       
        СГРУППИРОВАТЬ ПО
            ОтчетПроизводстваЗаСмену.Заказ) КАК ЗапросСебест
        ПО (ЗапросСебест.Заказ = ЗаказПокупателя.Ссылка)
        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            ИТК5СчетИзделия.Ссылка КАК Док,
            СУММА(ИТК5СчетИзделия.Количество) КАК Количество,
            СУММА(ИТК5СчетИзделия.Изделие.sqrt * ИТК5СчетИзделия.Количество) КАК Площадь
        ИЗ
            Документ.ИТК5_Счет.Изделия КАК ИТК5СчетИзделия
        ГДЕ
            ИТК5СчетИзделия.Изделие.Тип = &ВыбТип
         
        СГРУППИРОВАТЬ ПО
            ИТК5СчетИзделия.Ссылка) КАК Изделия
        ПО ЗаказПокупателя.ИТКСчет = Изделия.Док
        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            Монтаж.ЗаказПокупателя КАК ЗаказПокупателя,
            СУММА(Монтаж.СтоимостьМатериалов) КАК СтоимостьМатериалов,
            СУММА(ВЫБОР
                    КОГДА Монтаж.ЗначениеКоэффициентаПерерасчетаМонтажныхРабот = 0
                        ТОГДА Монтаж.СуммаПремии
                    ИНАЧЕ Монтаж.СуммаПремии * Монтаж.ЗначениеКоэффициентаПерерасчетаМонтажныхРабот
                КОНЕЦ) КАК СуммаПремии,
            СУММА(Монтаж.ДоплатаЗаБензинСумма) КАК ДоплатаЗаБензинСумма
        ИЗ
            Документ.МонтажИзделияИзПВХНовый КАК Монтаж
        ГДЕ                                                           
            Монтаж.Проведен = ИСТИНА
       
        СГРУППИРОВАТЬ ПО
            Монтаж.ЗаказПокупателя) КАК МонтажПВХ
        ПО ЗаказПокупателя = МонтажПВХ.ЗаказПокупателя
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.РасчетыСКонтрагентами.Обороты КАК РасчетыСКонтрагентамиОбороты
        ПО ЗаказПокупателя = РасчетыСКонтрагентамиОбороты.Сделка
        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            РасчетыСКонтрагентами.Сделка КАК Сделка,
            МАКСИМУМ(РасчетыСКонтрагентами.Регистратор.Дата) КАК ДатаОплаты
        ИЗ
            РегистрНакопления.РасчетыСКонтрагентами КАК РасчетыСКонтрагентами
        ГДЕ
            РасчетыСКонтрагентами.ВидДвижения = &ВидДвижения
       
        СГРУППИРОВАТЬ ПО
            РасчетыСКонтрагентами.Сделка) КАК ДокДатаОплаты
        ПО (ДокДатаОплаты.Сделка = ЗаказПокупателя)
        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            ПартииТоваровНаСкладах.Регистратор КАК Регистратор,
            СУММА(ПартииТоваровНаСкладах.Стоимость) КАК Сумма
        ИЗ
            РегистрНакопления.ПартииТоваровНаСкладах КАК ПартииТоваровНаСкладах
                                                     
        СГРУППИРОВАТЬ ПО
            ПартииТоваровНаСкладах.Регистратор) КАК ЗапросСтоимость
        ПО (ЗапросСтоимость.Регистратор = ЗаказПокупателя)
        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            ПутевойЛистБСВыезды.ЗаказПокупателя КАК ЗаказПокупателя,
            СУММА(ПутевойЛистБСВыезды.Расстояние) КАК Расстояние
        ИЗ
            Документ.ПутевойЛистБС.Выезды КАК ПутевойЛистБСВыезды
           
        СГРУППИРОВАТЬ ПО
            ПутевойЛистБСВыезды.ЗаказПокупателя) КАК ЗапросРасстояние
        ПО (ЗапросРасстояние.ЗаказПокупателя = Истина)
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.КорректировкаЗаписейРегистров.ЗаполнениеДвижений КАК КоррДок
        ПО (КоррДок.Документ = Документ.ЗаказПокупателя.Ссылка)
            И (КоррДок.Действие = "Сторно движений документа")
        ЛЕВОЕ СОЕДИНЕНИЕ ОбщиеЗатраты КАК ОбщиеЗатраты
        ПО Документ.ЗаказПокупателя.Ссылка = ОбщиеЗатраты.Ссылка
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.РасчетыСКонтрагентами КАК РасчетыСКонтрагентами
        ПО (РасчетыСКонтрагентами.Регистратор = Документ.ЗаказПокупателя.Ссылка)
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
        ПО Документ.ЗаказПокупателя.Ссылка = РеализацияТоваровУслугТовары.Ссылка
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.РегистрацияБрака КАК РегистрацияБрака
        ПО Документ.ЗаказПокупателя.Ссылка = РегистрацияБрака.ПеределкаБрака
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПоказателиСебестоимостиПоРеализации КАК ПоказателиСебестоимостиПоРеализации
        ПО Документ.ЗаказПокупателя.Ссылка = ПоказателиСебестоимостиПоРеализации.Регистратор
ГДЕ
    Документ.ЗаказПокупателя.Проведен = ИСТИНА
    И КоррДок.Ссылка ЕСТЬ NULL
    И (Документ.ЗаказПокупателя.Ссылка ССЫЛКА Документ.ЗаказПокупателя
            ИЛИ Документ.ЗаказПокупателя.Ссылка ЕСТЬ NULL
                И Документ.ЗаказПокупателя.Контрагент.Родитель В ИЕРАРХИИ (&Покупатели))
    И ВЫБОР
            КОГДА Документ.ЗаказПокупателя.Ссылка ЕСТЬ NULL
                ТОГДА Документ.ЗаказПокупателя.Ссылка.Дата МЕЖДУ &ДатаНач И &ДатаКон
            ИНАЧЕ ВЫБОР
                        КОГДА Документ.ЗаказПокупателя.Ссылка < ДокДатаОплаты.ДатаОплаты
                            ТОГДА ДокДатаОплаты.ДатаОплаты
                        ИНАЧЕ Документ.ЗаказПокупателя.Ссылка.Дата
                    КОНЕЦ МЕЖДУ &ДатаНач И &ДатаКон
                        И РасчетыСКонтрагентамиОбороты.СуммаВзаиморасчетовПриход = РасчетыСКонтрагентамиОбороты.СуммаВзаиморасчетовРасход
                    ИЛИ Документ.ЗаказПокупателя.Ссылка.Дата МЕЖДУ &ДатаНачалаОтчета И &ДатаКон
                        И РасчетыСКонтрагентамиОбороты.СуммаВзаиморасчетовПриход <> РасчетыСКонтрагентамиОбороты.СуммаВзаиморасчетовРасход
        КОНЕЦ
    И НЕ Документ.ЗаказПокупателя.Ссылка ЕСТЬ NULL
    И Документ.ЗаказПокупателя.Ссылка.Дата <= &ДатаКон

antoneus

Таблицу ЗаказПокупателя в запросе переименуйте.

LexaK

Yanawerg, кот это
КАК ЗаказПокупателя
сделайте по другому, например так
КАК ДокЗаказПокупателя
если помогло нажмите: Спасибо!

Yanawerg

antoneus, LexaK, Получилось, ошибок в запросе больше нет только вот отчет теперь ничего не выдаёт.
Нужно что бы выводил заказ покупателя с условиями которые выставляю, но в итоге пустота.
Даже если все условия убираю все равно пустота.
Что не правильно в запросе прописано то ?

ВЫБРАТЬ РАЗЛИЧНЫЕ
    Отчет.Дата,
    Отчет.Ссылка,
    ОтчетПродукция.Заказ
ПОМЕСТИТЬ ОтчетыЗаСмену
ИЗ
    Документ.ОтчетПроизводстваЗаСмену КАК Отчет
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ОтчетПроизводстваЗаСмену.Продукция КАК ОтчетПродукция
        ПО Отчет.Ссылка = ОтчетПродукция.Ссылка
ГДЕ
    Отчет.Дата <= &КонПериода
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ЗаказПокупателя.Ссылка,
    СУММА(ИТК5_СчетРаботыЦеха.ОбщаяСтоимость) КАК ОбщаяСтоимость
ПОМЕСТИТЬ ПВХ
ИЗ
    Документ.ЗаказПокупателя КАК ЗаказПокупателя
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ИТК5_Счет КАК ИТК5_Счет
            ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ИТК5_Счет.РаботыЦеха КАК ИТК5_СчетРаботыЦеха
            ПО ИТК5_Счет.Ссылка = ИТК5_СчетРаботыЦеха.Ссылка
        ПО ЗаказПокупателя.ИТКСчет = ИТК5_Счет.Ссылка
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ ОтчетыЗаСмену КАК ОтчетыЗаСмену
        ПО ЗаказПокупателя.Ссылка = ОтчетыЗаСмену.Заказ
ГДЕ
    ЗаказПокупателя.СтатусПроизводства = &Изготовлен
    И ИТК5_СчетРаботыЦеха.Работа.Использовать
    И ИТК5_СчетРаботыЦеха.Работа.ПВХ
    И ЗаказПокупателя.ТипИзделия.Код = "000000001"

СГРУППИРОВАТЬ ПО
    ЗаказПокупателя.Ссылка
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ЗаказПокупателя.Ссылка,
    СУММА(ИТК5_СчетРаботыЦеха.ОбщаяСтоимость) КАК ОбщаяСтоимость
ПОМЕСТИТЬ Алюм
ИЗ
    Документ.ЗаказПокупателя КАК ЗаказПокупателя
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ ОтчетыЗаСмену КАК Отчеты
        ПО ЗаказПокупателя.Ссылка = Отчеты.Заказ
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ИТК5_Счет КАК ИТК5_Счет
        ПО ЗаказПокупателя.ИТКСчет = ИТК5_Счет.Ссылка
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ИТК5_Счет.РаботыЦеха КАК ИТК5_СчетРаботыЦеха
        ПО (ИТК5_Счет.Ссылка = ИТК5_СчетРаботыЦеха.Ссылка)
ГДЕ
    ЗаказПокупателя.СтатусПроизводства = &Изготовлен
    И ИТК5_СчетРаботыЦеха.Работа.Использовать
    И ИТК5_СчетРаботыЦеха.Работа.Алюминий
    И (ЗаказПокупателя.ТипИзделия.Код = "000000002"
            ИЛИ ЗаказПокупателя.ТипИзделия.Код = "000000011")

СГРУППИРОВАТЬ ПО
    ЗаказПокупателя.Ссылка
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ПВХ.Ссылка,
    ПВХ.ОбщаяСтоимость
ПОМЕСТИТЬ ОбщиеЗатраты
ИЗ
    ПВХ КАК ПВХ

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    Алюм.Ссылка,
    Алюм.ОбщаяСтоимость
ИЗ
    Алюм КАК Алюм
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗЛИЧНЫЕ
    РеализацияТоваровУслуг.Ссылка,
    РеализацияТоваровУслуг.Сделка,
    РеализацияТоваровУслуг.Контрагент,
    РеализацияТоваровУслуг.Сделка.ИТКСчет,
    РеализацияТоваровУслуг.Сделка.НомерЗаявки,
    ВЫБОР
        КОГДА ТИПЗНАЧЕНИЯ(РеализацияТоваровУслуг.Сделка.ИТКСчет) = ТИП(Документ.ИТК5_Счет)
            ТОГДА РасчетыСКонтрагентамиОбороты.СуммаВзаиморасчетовПриход - ЕСТЬNULL(ЗапросСебест.Стоимость, 0)
        КОГДА РеализацияТоваровУслуг.Сделка.Ссылка ЕСТЬ NULL
            ТОГДА РасчетыСКонтрагентами.СуммаВзаиморасчетов - ЕСТЬNULL(ЗапросСтоимость.Сумма, 0)
        ИНАЧЕ РасчетыСКонтрагентамиОбороты.СуммаВзаиморасчетовПриход - ЕСТЬNULL(ЗапросСтоимость.Сумма, 0)
    КОНЕЦ КАК ФактическаяПрибыль,
    ВЫБОР
        КОГДА ТИПЗНАЧЕНИЯ(РеализацияТоваровУслуг.Сделка.ИТКСчет) = ТИП(Документ.ИТК5_Счет)
            ТОГДА РасчетыСКонтрагентамиОбороты.СуммаВзаиморасчетовПриход - ЕСТЬNULL(ЗапросСебест.Стоимость, 0)
        ИНАЧЕ РасчетыСКонтрагентамиОбороты.СуммаВзаиморасчетовПриход - ЕСТЬNULL(ЗапросСтоимость.Сумма, 0)
    КОНЕЦ КАК ФактическаяПрибыльПриПолнойОплате,
    ВЫБОР
        КОГДА ТИПЗНАЧЕНИЯ(РеализацияТоваровУслуг.Сделка.ИТКСчет) = ТИП(Документ.ИТК5_Счет)
            ТОГДА ЕСТЬNULL(ЗапросСебест.Стоимость, 0)
        ИНАЧЕ ЕСТЬNULL(ЗапросСтоимость.Сумма, 0)
    КОНЕЦ КАК Себестоимость,
    ВЫБОР
        КОГДА РеализацияТоваровУслуг.Сделка ССЫЛКА Документ.ЗаказПокупателя
            ТОГДА РеализацияТоваровУслуг.Сделка.СуммаДокумента
        ИНАЧЕ РеализацияТоваровУслуг.СуммаДокумента
    КОНЕЦ КАК СуммаЗаказа1С,
    РеализацияТоваровУслуг.СуммаДокумента КАК СтоимостьПродажи,
    ВЫБОР
        КОГДА РеализацияТоваровУслуг.Сделка ССЫЛКА Документ.ЗаказПокупателя
            ТОГДА РасчетыСКонтрагентамиОбороты.СуммаВзаиморасчетовПриход
        ИНАЧЕ 0
    КОНЕЦ КАК СуммаЗаказ,
    ВЫБОР
        КОГДА РеализацияТоваровУслуг.Сделка ССЫЛКА Документ.ЗаказПокупателя
            ТОГДА РасчетыСКонтрагентамиОбороты.СуммаВзаиморасчетовРасход
        ИНАЧЕ 0
    КОНЕЦ КАК СуммаОплата,
    Изделия.Количество,
    Изделия.Площадь,
    ВЫБОР
        КОГДА ТИПЗНАЧЕНИЯ(РеализацияТоваровУслуг.Сделка.ИТКСчет) = ТИП(Документ.ИТК5_Счет)
            ТОГДА РеализацияТоваровУслуг.СуммаДокумента - ЕСТЬNULL(Спецификация.Себестоимость, 0)
        ИНАЧЕ 0
    КОНЕЦ КАК ПлановаяПрибыль,
    ЕСТЬNULL(Спецификация.СуммаДоставка, 0) КАК СебестоимостьДоставки,
    Спецификация.СебестоимостьСборка КАК ПрямыеЗатраты1,
    Изделия.Площадь * &КосвенныеЗатратыПроизводства КАК КосвенныеЗатраты,
    ЗапросРасстояние.Расстояние * &СебестоимостьДоставки КАК ЗатратыНаДоставку,
    МонтажПВХ.СтоимостьМатериалов КАК МонтажМатериалы,
    МонтажПВХ.СуммаПремии КАК МонтажПремия,
    МонтажПВХ.ДоплатаЗаБензинСумма КАК МонтажДоплатаЗаБензин,
    ВЫБОР
        КОГДА РасчетыСКонтрагентамиОбороты.СуммаВзаиморасчетовПриход <> РасчетыСКонтрагентамиОбороты.СуммаВзаиморасчетовРасход
            ТОГДА ЛОЖЬ
        ИНАЧЕ ИСТИНА
    КОНЕЦ КАК ЕстьОплата,
    ДокДатаОплаты.ДатаОплаты КАК ДатаОплаты,
    ВЫБОР
        КОГДА РеализацияТоваровУслуг.Дата < ДокДатаОплаты.ДатаОплаты
            ТОГДА ДокДатаОплаты.ДатаОплаты
        ИНАЧЕ РеализацияТоваровУслуг.Дата
    КОНЕЦ КАК ДатаДляОтчета,
    ВЫБОР
        КОГДА РеализацияТоваровУслуг.Сделка ЕСТЬ NULL
                ИЛИ РеализацияТоваровУслуг.Сделка = НЕОПРЕДЕЛЕНО
            ТОГДА ВЫБОР
                    КОГДА ПоказателиСебестоимостиПоРеализации.ПрямыеЗатраты ЕСТЬ NULL
                        ТОГДА ОбщиеЗатраты.ОбщаяСтоимость
                    ИНАЧЕ ПоказателиСебестоимостиПоРеализации.ПрямыеЗатраты
                КОНЕЦ
        ИНАЧЕ ОбщиеЗатраты.ОбщаяСтоимость
    КОНЕЦ КАК ПрямыеЗатраты,
    ВЫБОР
        КОГДА РеализацияТоваровУслуг.Организация.Код = "000000005"
            ТОГДА &НалогУПР
        КОГДА РеализацияТоваровУслуг.Организация.Код = "000000012"
            ТОГДА &НалогКАН
        КОГДА РеализацияТоваровУслуг.Организация.Код = "000000009"
            ТОГДА &НалогШАА
        КОГДА РеализацияТоваровУслуг.Организация.Код = "000000002"
            ТОГДА &НалогМВА
        КОГДА РеализацияТоваровУслуг.Организация.Код = "000000013"
            ТОГДА &НалогСТ
        ИНАЧЕ &НалоговаяНагрузка
    КОНЕЦ КАК НалогНагрузка,
    ВЫРАЗИТЬ(РеализацияТоваровУслуг.Комментарий КАК СТРОКА(20)) КАК Комментарий,
    РегистрацияБрака.ИсточникБрака,
    ЗаказПокупателя1.Ссылка КАК ЗаказПокупателя,
    ЗаказПокупателя1.ДатаМонтажа,
    ЗаказПокупателя1.ДатаОплаты КАК ДатаОплаты1,
    ЗаказПокупателя1.ДатаОтгрузки,
    ЗаказПокупателя1.ДатаПроизводства,
    ЗаказПокупателя1.Замерщик,
    ЗаказПокупателя1.Контрагент КАК Контрагент1,
    ЗаказПокупателя1.СтатусМонтажа,
    ЗаказПокупателя1.СтатусОтгрузки,
    ЗаказПокупателя1.СтатусПроизводства,
    ЗаказПокупателя1.МонтажнаяБригада,
    ЗаказПокупателя1.НомерЗаявки
ИЗ
    Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            РаздСпецификация.ИТК5Счет КАК ИТК5Счет,
            СУММА(РаздСпецификация.СебестоимостьСборка) КАК СебестоимостьСборка,
            СУММА(РаздСпецификация.Себестоимость) КАК Себестоимость,
            СУММА(РаздСпецификация.СуммаДоставка) КАК СуммаДоставка
        ИЗ
            (ВЫБРАТЬ
                ИТК5_Спецификация.Регистратор КАК ИТК5Счет,
                ВЫБОР
                    КОГДА ИТК5_Спецификация.ТипМатериала = &Работа
                            И ИТК5_Спецификация.Подтип = &Сборка
                        ТОГДА ИТК5_Спецификация.СуммаСебестоимость
                КОНЕЦ КАК СебестоимостьСборка,
                ИТК5_Спецификация.СуммаСебестоимость КАК Себестоимость,
                ВЫБОР
                    КОГДА ИТК5_Спецификация.ТипМатериала = &Работа
                            И ИТК5_Спецификация.Подтип = &Доставка
                            И ИТК5_Спецификация.Артикул В (&АртикулыДоставка)
                        ТОГДА ИТК5_Спецификация.СуммаСебестоимость
                КОНЕЦ КАК СуммаДоставка
            ИЗ
                РегистрСведений.ИТК5_Спецификация КАК ИТК5_Спецификация) КАК РаздСпецификация
       
        СГРУППИРОВАТЬ ПО
            РаздСпецификация.ИТК5Счет) КАК Спецификация
        ПО (Спецификация.ИТК5Счет = РеализацияТоваровУслуг.Сделка.ИТКСчет)
        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ РАЗЛИЧНЫЕ
            ОтчетПроизводстваЗаСмену.Заказ КАК Заказ,
            СУММА(ЗапросСебестоимость.Стоимость) КАК Стоимость
        ИЗ
            Документ.ОтчетПроизводстваЗаСмену.Продукция КАК ОтчетПроизводстваЗаСмену
                ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
                    ВыпускПродукции.Регистратор КАК Регистратор,
                    ВыпускПродукции.Продукция КАК Продукция,
                    ВыпускПродукции.Стоимость КАК Стоимость
                ИЗ
                    РегистрНакопления.ВыпускПродукцииБухгалтерскийУчет КАК ВыпускПродукции) КАК ЗапросСебестоимость
                ПО (ЗапросСебестоимость.Продукция = ОтчетПроизводстваЗаСмену.Номенклатура)
                    И (ЗапросСебестоимость.Регистратор = ОтчетПроизводстваЗаСмену.Ссылка)
       
        СГРУППИРОВАТЬ ПО
            ОтчетПроизводстваЗаСмену.Заказ) КАК ЗапросСебест
        ПО (ЗапросСебест.Заказ = РеализацияТоваровУслуг.Сделка)
        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            ИТК5СчетИзделия.Ссылка КАК Док,
            СУММА(ИТК5СчетИзделия.Количество) КАК Количество,
            СУММА(ИТК5СчетИзделия.Изделие.sqrt * ИТК5СчетИзделия.Количество) КАК Площадь
        ИЗ
            Документ.ИТК5_Счет.Изделия КАК ИТК5СчетИзделия
        ГДЕ
            ИТК5СчетИзделия.Изделие.Тип = &ВыбТип
       
        СГРУППИРОВАТЬ ПО
            ИТК5СчетИзделия.Ссылка) КАК Изделия
        ПО РеализацияТоваровУслуг.Сделка.ИТКСчет = Изделия.Док
        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            Монтаж.ЗаказПокупателя КАК ЗаказПокупателя,
            СУММА(Монтаж.СтоимостьМатериалов) КАК СтоимостьМатериалов,
            СУММА(ВЫБОР
                    КОГДА Монтаж.ЗначениеКоэффициентаПерерасчетаМонтажныхРабот = 0
                        ТОГДА Монтаж.СуммаПремии
                    ИНАЧЕ Монтаж.СуммаПремии * Монтаж.ЗначениеКоэффициентаПерерасчетаМонтажныхРабот
                КОНЕЦ) КАК СуммаПремии,
            СУММА(Монтаж.ДоплатаЗаБензинСумма) КАК ДоплатаЗаБензинСумма
        ИЗ
            Документ.МонтажИзделияИзПВХНовый КАК Монтаж
        ГДЕ
            Монтаж.Проведен = ИСТИНА
       
        СГРУППИРОВАТЬ ПО
            Монтаж.ЗаказПокупателя) КАК МонтажПВХ
        ПО РеализацияТоваровУслуг.Сделка = МонтажПВХ.ЗаказПокупателя
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.РасчетыСКонтрагентами.Обороты КАК РасчетыСКонтрагентамиОбороты
        ПО РеализацияТоваровУслуг.Сделка = РасчетыСКонтрагентамиОбороты.Сделка
        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            РасчетыСКонтрагентами.Сделка КАК Сделка,
            МАКСИМУМ(РасчетыСКонтрагентами.Регистратор.Дата) КАК ДатаОплаты
        ИЗ
            РегистрНакопления.РасчетыСКонтрагентами КАК РасчетыСКонтрагентами
        ГДЕ
            РасчетыСКонтрагентами.ВидДвижения = &ВидДвижения
       
        СГРУППИРОВАТЬ ПО
            РасчетыСКонтрагентами.Сделка) КАК ДокДатаОплаты
        ПО (ДокДатаОплаты.Сделка = РеализацияТоваровУслуг.Сделка)
        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            ПартииТоваровНаСкладах.Регистратор КАК Регистратор,
            СУММА(ПартииТоваровНаСкладах.Стоимость) КАК Сумма
        ИЗ
            РегистрНакопления.ПартииТоваровНаСкладах КАК ПартииТоваровНаСкладах
       
        СГРУППИРОВАТЬ ПО
            ПартииТоваровНаСкладах.Регистратор) КАК ЗапросСтоимость
        ПО (ЗапросСтоимость.Регистратор = РеализацияТоваровУслуг.Ссылка)
        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            ПутевойЛистБСВыезды.ЗаказПокупателя КАК ЗаказПокупателя,
            СУММА(ПутевойЛистБСВыезды.Расстояние) КАК Расстояние
        ИЗ
            Документ.ПутевойЛистБС.Выезды КАК ПутевойЛистБСВыезды
       
        СГРУППИРОВАТЬ ПО
            ПутевойЛистБСВыезды.ЗаказПокупателя) КАК ЗапросРасстояние
        ПО (ЗапросРасстояние.ЗаказПокупателя = РеализацияТоваровУслуг.Сделка)
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.КорректировкаЗаписейРегистров.ЗаполнениеДвижений КАК КоррДок
        ПО (КоррДок.Документ = РеализацияТоваровУслуг.Ссылка)
            И (КоррДок.Действие = "Сторно движений документа")
        ЛЕВОЕ СОЕДИНЕНИЕ ОбщиеЗатраты КАК ОбщиеЗатраты
        ПО РеализацияТоваровУслуг.Сделка = ОбщиеЗатраты.Ссылка
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.РасчетыСКонтрагентами КАК РасчетыСКонтрагентами
        ПО (РасчетыСКонтрагентами.Регистратор = РеализацияТоваровУслуг.Ссылка)
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
        ПО РеализацияТоваровУслуг.Ссылка = РеализацияТоваровУслугТовары.Ссылка
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.РегистрацияБрака КАК РегистрацияБрака
        ПО РеализацияТоваровУслуг.Сделка = РегистрацияБрака.ПеределкаБрака
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПоказателиСебестоимостиПоРеализации КАК ПоказателиСебестоимостиПоРеализации
        ПО РеализацияТоваровУслуг.Ссылка = ПоказателиСебестоимостиПоРеализации.Регистратор
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказПокупателя КАК ЗаказПокупателя1
        ПО РеализацияТоваровУслуг.Сделка = ЗаказПокупателя1.Ссылка
            И РеализацияТоваровУслуг.ЗаказПокупателя = ЗаказПокупателя1.Ссылка

LexaK

Yanawerg, в консоли запросов, этот запрос отлаживали/проверяли?
если помогло нажмите: Спасибо!

Yanawerg

LexaK, Я пробовал проверять запрос но каждый раз на проверке 1с полностью зависала (не имеет значения как долго ждал пока прогрузит, 1с зависало намертво).
Добавление параметров или условий не помогало все равно висло (Может я конечно балбес и не правильно делаю но в общем как-то так)

LexaK

Yanawerg, ну что тут скажешь? Запросы как и код программы надо уметь писать!
и писать оптимально!

попробуйте запрос разбить на части, выполняйте их в консоли, обращайте внимание на время выполнения
(в консоли должна быть такая функция)
постепенно добавляйте в свой запрос другие части/таблицы/соединения
и так же выполняйте с замерами на каждом шаге
где-то найдете ту часть запроса которая тормозит - ее надо перестоитрь по другому

в инете есть статьи по оптимальному написанию запросов (очень полезно почитать)
если помогло нажмите: Спасибо!

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск