УТ 10.3 Битрикс. Выгрузка планируемой даты поступления

1. sv-bambr 28.09.15 10:24 Сейчас в теме
Добрый день!
УТ 10.3.18.3 + Битрикс 2.9.21.2 (версия 4.0.5.1 выдаёт кучу ошибок и разбираться сними нет времени).
Задача: выгружать на сайт информацию о ближайшей дате поступления товара/ когда это товара нет на выбираемых складах (т.е. на сайт выгружаем остатки не всех складов, а выборочно). Ошибка при выгрузке следующие цепляет товар даже если он есть на остатках.

Обработка.ОбменССайтом.МобдульОбъекта

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

Показать


    Если Выборка.Остаток > 0 Тогда
        ДобавитьУзелCML(СписокЗначенийCML, "Количество", ФорматЗначенияДляCML(Выборка.Остаток, мФорматСумм));
    КонецЕсли;

    Если ВыгружатьСкидки Тогда
        РИ_ВыгрузитьСкидкиДляПакетаПредложений(СписокЗначенийCML, Выборка.НоменклатураСсылка, Выборка.ХарактеристикаСсылка);
    КонецЕсли;
    
    Если ВыгружатьОстаткиПоСкладам Тогда
        РИ_ВыгрузитьОстаткиДляПакетаПредложений(СписокЗначенийCML, Выборка.НоменклатураСсылка, Выборка.ХарактеристикаСсылка);
    КонецЕсли;
    
    Если ЗначениеЗаполнено(Выборка.ДатаПоступления) и Выборка.Остаток <= 0 Тогда
        ДобавитьУзелCML(СписокЗначенийCML, "ДатаПоступления", ФорматЗначенияДляCML(Выборка.ДатаПоступления));
    КонецЕсли;

Показать

"Выборка.Остаток <= 0" написал от отчаянья.)
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. sv-bambr 28.09.15 10:42 Сейчас в теме
Но скорее здесь накосячил с левыми соединениями...
Может кто увидит ошибку.
ОбщийММодуль.РИ_ПроцедурыОбменаССайтомБитрикс.Модуль

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


        |ВЫБРАТЬ
        |    НоменклатураСХарактеристиками.НоменклатураСсылка КАК НоменклатураСсылка,
        |    НоменклатураСХарактеристиками.ХарактеристикаСсылка КАК ХарактеристикаСсылка,
        |    ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0) + ЕСТЬNULL(ТоварыВРозницеОстатки.КоличествоОстаток, 0) + ЕСТЬNULL(ТоварыВНТТОстатки.КоличествоОстаток, 0) - ЕСТЬNULL(ТоварыВРезервеНаСкладахОстатки.КоличествоОстаток, 0) - ЕСТЬNULL(ТоварыКПередачеСоСкладовОстатки.КоличествоОстаток, 0) КАК Остаток,
        |    ЕСТЬNULL(РИ_ИдентификаторыНоменклатурыБитрикс.Идентификатор, """") КАК ИдНоменклатурыБитрикс,
        |    ЕСТЬNULL(РИ_ИдентификаторыХарактеристикНоменклатурыБитрикс.Идентификатор, """") КАК ИдХарактеристикиБитрикс,
        |    НоменклатураСХарактеристиками.ХарактеристикаСсылка.ПометкаУдаления КАК ХарактеристикаПометкаУдаления,
        |    НоменклатураСХарактеристиками.ХарактеристикаСсылка.Наименование КАК ХарактеристикаНаименование,
        |    НоменклатураСХарактеристиками.НоменклатураСсылка.Наименование КАК НоменклатураНаименование,
        |    НоменклатураСХарактеристиками.НоменклатураСсылка.ПометкаУдаления КАК НоменклатураПометкаУдаления,
        |    НоменклатураСХарактеристиками.НоменклатураСсылка.БазоваяЕдиницаИзмерения КАК БазоваяЕдиницаИзмерения,
        |    НоменклатураСХарактеристиками.НоменклатураСсылка.ВестиУчетПоХарактеристикам КАК ВестиУчетПоХарактеристикам,
        |    ДАТАВРЕМЯ(1,1,1) КАК ДатаПоступления
        |ИЗ
        |    (ВЫБРАТЬ
        |        Номенклатура.Ссылка КАК НоменклатураСсылка,
        |        ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка) КАК ХарактеристикаСсылка
        |    ИЗ
        |        Справочник.Номенклатура КАК Номенклатура
        |    ГДЕ
        |        НЕ Номенклатура.ЭтоГруппа
        |        И Номенклатура.ВидНоменклатуры.ТипНоменклатуры В(&МассивДопустимыхТиповНоменклатуры)
        |    {ГДЕ
        |        Номенклатура.Ссылка.* КАК Номенклатура}
        |    
        |    ОБЪЕДИНИТЬ
        |    
        |    ВЫБРАТЬ
        |        ХарактеристикиНоменклатуры.Владелец,
        |        ХарактеристикиНоменклатуры.Ссылка
        |    ИЗ
        |        Справочник.ХарактеристикиНоменклатуры КАК ХарактеристикиНоменклатуры
        |    ГДЕ
        |        ХарактеристикиНоменклатуры.Владелец.ВидНоменклатуры.ТипНоменклатуры В(&МассивДопустимыхТиповНоменклатуры)
        |        И ХарактеристикиНоменклатуры.Владелец.ВестиУчетПоХарактеристикам
        |    {ГДЕ
        |        ХарактеристикиНоменклатуры.Владелец.Ссылка.* КАК Номенклатура}) КАК НоменклатураСХарактеристиками
        |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки(, {(Склад).*, (Номенклатура).* КАК Номенклатура}) КАК ТоварыНаСкладахОстатки
        |        ПО НоменклатураСХарактеристиками.НоменклатураСсылка = ТоварыНаСкладахОстатки.Номенклатура
        |            И НоменклатураСХарактеристиками.ХарактеристикаСсылка = ТоварыНаСкладахОстатки.ХарактеристикаНоменклатуры
        |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыВРознице.Остатки(, {(Склад).*, (Номенклатура).* КАК Номенклатура}) КАК ТоварыВРозницеОстатки
        |        ПО НоменклатураСХарактеристиками.НоменклатураСсылка = ТоварыВРозницеОстатки.Номенклатура
        |            И НоменклатураСХарактеристиками.ХарактеристикаСсылка = ТоварыВРозницеОстатки.ХарактеристикаНоменклатуры
        |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыВНТТ.Остатки(, {(Склад).*, (Номенклатура).* КАК Номенклатура}) КАК ТоварыВНТТОстатки
        |        ПО НоменклатураСХарактеристиками.НоменклатураСсылка = ТоварыВНТТОстатки.Номенклатура
        |            И НоменклатураСХарактеристиками.ХарактеристикаСсылка = ТоварыВНТТОстатки.ХарактеристикаНоменклатуры
        |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки(, {(Склад).*, (Номенклатура).* КАК Номенклатура}) КАК ТоварыВРезервеНаСкладахОстатки
        |        ПО НоменклатураСХарактеристиками.НоменклатураСсылка = ТоварыВРезервеНаСкладахОстатки.Номенклатура
        |            И НоменклатураСХарактеристиками.ХарактеристикаСсылка = ТоварыВРезервеНаСкладахОстатки.ХарактеристикаНоменклатуры
        |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыКПередачеСоСкладов.Остатки(, {(Склад).*, (Номенклатура).* КАК Номенклатура}) КАК ТоварыКПередачеСоСкладовОстатки
        |        ПО НоменклатураСХарактеристиками.НоменклатураСсылка = ТоварыКПередачеСоСкладовОстатки.Номенклатура
        |            И НоменклатураСХарактеристиками.ХарактеристикаСсылка = ТоварыКПередачеСоСкладовОстатки.ХарактеристикаНоменклатуры
        |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КатегорииОбъектов КАК КатегорииОбъектов
        |        ПО НоменклатураСХарактеристиками.НоменклатураСсылка = КатегорииОбъектов.Объект
        |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РИ_ИдентификаторыНоменклатурыБитрикс КАК РИ_ИдентификаторыНоменклатурыБитрикс
        |        ПО НоменклатураСХарактеристиками.НоменклатураСсылка = РИ_ИдентификаторыНоменклатурыБитрикс.Объект
        |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РИ_ИдентификаторыХарактеристикНоменклатурыБитрикс КАК РИ_ИдентификаторыХарактеристикНоменклатурыБитрикс
        |        ПО НоменклатураСХарактеристиками.ХарактеристикаСсылка = РИ_ИдентификаторыХарактеристикНоменклатурыБитрикс.Объект
        |ГДЕ
        |    (НЕ &КлассифицироватьПоЦеновымГруппам
        |            ИЛИ &КлассифицироватьПоЦеновымГруппам
        |                И НЕ НоменклатураСХарактеристиками.НоменклатураСсылка.ЦеноваяГруппа = ЗНАЧЕНИЕ(Справочник.ЦеновыеГруппы.ПустаяСсылка))
        |{ГДЕ
        |    (ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0) + ЕСТЬNULL(ТоварыВРозницеОстатки.КоличествоОстаток, 0) + ЕСТЬNULL(ТоварыВНТТОстатки.КоличествоОстаток, 0) - ЕСТЬNULL(ТоварыВРезервеНаСкладахОстатки.КоличествоОстаток, 0) - ЕСТЬNULL(ТоварыКПередачеСоСкладовОстатки.КоличествоОстаток, 0)) КАК Остаток,
        |    (ЕСТЬNULL(КатегорииОбъектов.Категория, ЗНАЧЕНИЕ(Справочник.КатегорииОбъектов.ПустаяСсылка))).* КАК КатегорияНоменклатуры}
        |
        
        |    ОБЪЕДИНИТЬ ВСЕ
        |    
        |    ВЫБРАТЬ
        |        ЗП.Номенклатура,
        |        ЗП.ХарактеристикаНоменклатуры,
        |        0,
        |        ЕСТЬNULL(РИ_ИдентификаторыНоменклатурыБитрикс.Идентификатор, """"),
        |        ЕСТЬNULL(РИ_ИдентификаторыХарактеристикНоменклатурыБитрикс.Идентификатор, """"),
        |        ЗП.ХарактеристикаНоменклатуры.ПометкаУдаления,
        |        ЗП.ХарактеристикаНоменклатуры.Наименование,
        |        ЗП.Номенклатура.Наименование,
        |        ЗП.Номенклатура.ПометкаУдаления,
        |        ЗП.Номенклатура.БазоваяЕдиницаИзмерения,
        |        ЗП.Номенклатура.ВестиУчетПоХарактеристикам,
        |        ЗП.ЗаказПоставщику.ДатаПоступления
        |        
        |    ИЗ
        |        РегистрНакопления.ЗаказыПоставщикам.Остатки (, {(Номенклатура).* КАК Номенклатура}) КАК ЗП
        
        |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КатегорииОбъектов КАК КатегорииОбъектов
        |            ПО ЗП.Номенклатура = КатегорииОбъектов.Объект
        |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РИ_ИдентификаторыНоменклатурыБитрикс КАК РИ_ИдентификаторыНоменклатурыБитрикс
        |            ПО ЗП.Номенклатура = РИ_ИдентификаторыНоменклатурыБитрикс.Объект
        |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РИ_ИдентификаторыХарактеристикНоменклатурыБитрикс КАК РИ_ИдентификаторыХарактеристикНоменклатурыБитрикс
        |            ПО ЗП.ХарактеристикаНоменклатуры = РИ_ИдентификаторыХарактеристикНоменклатурыБитрикс.Объект
        
        |ГДЕ
        |     ЗП.ЗаказПоставщику.ДатаПоступления > &ТекДата
        |
        
        |) ВЗ
        
        |СГРУППИРОВАТЬ ПО
        |    ВЗ.НоменклатураСсылка,
        |    ВЗ.ХарактеристикаСсылка,
        |    ВЗ.ИдНоменклатурыБитрикс,
        |    ВЗ.ИдХарактеристикиБитрикс,
        |    ВЗ.ХарактеристикаПометкаУдаления,
        |    ВЗ.ХарактеристикаНаименование,
        |    ВЗ.НоменклатураНаименование,
        |    ВЗ.НоменклатураПометкаУдаления,
        |    ВЗ.БазоваяЕдиницаИзмерения,
        |    ВЗ.ВестиУчетПоХарактеристикам,
        |    ВЗ.ДатаПоступления
        
        |ИНДЕКСИРОВАТЬ ПО
        |    НоменклатураСсылка,
        |    ХарактеристикаСсылка
        |;
        |
        |////////////////////////////////////////////////////////////­////////////////////
        |ВЫБРАТЬ РАЗЛИЧНЫЕ
        |    ВремНоменклатураСХарактеристиками.НоменклатураСсылка,
        |    ВремНоменклатураСХарактеристиками.ИдНоменклатурыБитрикс,
        |    ВремНоменклатураСХарактеристиками.НоменклатураНаименование,
        |    ВремНоменклатураСХарактеристиками.НоменклатураПометкаУдаления,
        |    ВремНоменклатураСХарактеристиками.БазоваяЕдиницаИзмерения,
        |    ВремНоменклатураСХарактеристиками.ВестиУчетПоХарактеристикам,
        |    ВремНоменклатураСХарактеристиками.ДатаПоступления
        |ПОМЕСТИТЬ ВремНоменклатураРазличные
        |ИЗ
        |    ВремНоменклатураСХарактеристиками КАК ВремНоменклатураСХарактеристиками
        |;
        |
        |////////////////////////////////////////////////////////////­////////////////////
        |ВЫБРАТЬ РАЗРЕШЕННЫЕ
        |    РИ_ИдентификаторыНоменклатурыБитрикс.Объект КАК Объект,
        |    РИ_ИдентификаторыНоменклатурыБитрикс.Идентификатор
        |ПОМЕСТИТЬ ВремИдГруппБитрикс
        |ИЗ
        |    РегистрСведений.РИ_ИдентификаторыНоменклатурыБитрикс КАК РИ_ИдентификаторыНоменклатурыБитрикс
        |ГДЕ
        |    РИ_ИдентификаторыНоменклатурыБитрикс.Объект.ЭтоГруппа
        |
        |ИНДЕКСИРОВАТЬ ПО
        |    Объект
        |;
        |
        |////////////////////////////////////////////////////////////­////////////////////
        |ВЫБРАТЬ
        |    ВремНоменклатура.НоменклатураСсылка,
        |    ВремНоменклатура.ИдНоменклатурыБитрикс,
        |    ВремНоменклатура.НоменклатураСсылка.Родитель КАК Родитель,
        |    ВремНоменклатура.НоменклатураСсылка.ЭтоГруппа КАК ЭтоГруппа,
        |    ВремНоменклатура.НоменклатураСсылка.Код КАК Код,
        |    ВремНоменклатура.НоменклатураСсылка.Артикул КАК Артикул,
        |    ВремНоменклатура.НоменклатураСсылка.Комментарий КАК Комментарий,
        |    ВремНоменклатура.НоменклатураСсылка.НаименованиеПолное КАК НаименованиеПолное,
        |    ВремНоменклатура.НоменклатураСсылка.НоменклатурнаяГруппа КАК НоменклатурнаяГруппа,
        |    ВремНоменклатура.НоменклатураСсылка.НомерГТД КАК НомерГТД,
        |    ВремНоменклатура.НоменклатураСсылка.ОсновноеИзображение КАК ОсновноеИзображение,
        |    ВремНоменклатура.НоменклатураСсылка.СтавкаНДС КАК СтавкаНДС,
        |    ВремНоменклатура.НоменклатураСсылка.СтранаПроисхождения КАК СтранаПроисхождения,
        |    ВремНоменклатура.НоменклатураСсылка.Услуга КАК Услуга,
        |    ВремНоменклатура.НоменклатураСсылка.ВидНоменклатуры КАК ВидНоменклатуры,
        |    ВремНоменклатура.НоменклатураСсылка.ЦеноваяГруппа КАК ЦеноваяГруппа,
        |    ВремНоменклатура.НоменклатураСсылка.ДополнительноеОписаниеНоменклатуры КАК ДополнительноеОписаниеНоменклатуры,
        |    ВремНоменклатура.НоменклатураСсылка.ДополнительноеОписаниеНоменклатурыВФорматеHTML КАК ДополнительноеОписаниеНоменклатурыВФорматеHTML,
        |    ВремНоменклатура.НоменклатураСсылка.ВидНоменклатуры.ТипНоменклатуры КАК ТипНоменклатуры,
        |    ВремНоменклатура.НоменклатураСсылка.ЕдиницаХраненияОстатков КАК ЕдиницаХраненияОстатков,
        |    ВремНоменклатура.НоменклатураСсылка.ЕдиницаХраненияОстатков.Вес КАК Вес,
        |    ЕСТЬNULL(ВремИдГруппБитрикс.Идентификатор, """") КАК ИдГруппыБитрикс,
        |    ВремНоменклатура.НоменклатураНаименование КАК Наименование,
        |    ВремНоменклатура.НоменклатураПометкаУдаления КАК ПометкаУдаления,
        |    ВремНоменклатура.БазоваяЕдиницаИзмерения КАК БазоваяЕдиницаИзмерения
        |ПОМЕСТИТЬ ВремНоменклатура
        |ИЗ
        |    ВремНоменклатураРазличные КАК ВремНоменклатура
        |        ЛЕВОЕ СОЕДИНЕНИЕ ВремИдГруппБитрикс КАК ВремИдГруппБитрикс
        |        ПО ВремНоменклатура.НоменклатураСсылка.Родитель = ВремИдГруппБитрикс.Объект
        |;
        |
        |////////////////////////////////////////////////////////////­////////////////////
        |ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
        |    СвойстваНоменклатуры.СвойствоНоменклатуры КАК СвойствоНоменклатурыСсылка,
        |    СвойстваНоменклатуры.НоменклатураСсылка КАК НоменклатураСсылка,
        |    ЗначенияСвойствОбъектов.Значение,
        |    НазначенияСвойствОбъектов.Объект КАК Назначение,
        |    ЕСТЬNULL(РИ_ИдентификаторыСвойствНоменклатурыБитрикс.Идентификатор, """") КАК ИдСвойстваБитрикс,
        |    СвойстваНоменклатуры.СвойствоНоменклатуры.Наименование КАК СвойствоНаименование,
        |    ЕСТЬNULL(РИ_ИдентификаторыЗначенийСвойствНоменклатурыБитрикс.Идентификатор, """") КАК ИдЗначенияСвойстваБитрикс
        |ПОМЕСТИТЬ ВремЗначенияСвойствНоменклатуры
        |ИЗ
        |    (ВЫБРАТЬ
        |        СвойстваОбъектов.Ссылка КАК СвойствоНоменклатуры,
        |        ВремНоменклатура.НоменклатураСсылка КАК НоменклатураСсылка
        |    ИЗ
        |        ВремНоменклатураРазличные КАК ВремНоменклатура
        |            ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовХарактеристик.СвойстваОбъектов КАК СвойстваОбъектов
        |            ПО (СвойстваОбъектов.НазначениеСвойства = ЗНАЧЕНИЕ(ПланВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Справочник_Номенклатура))
        |                И (НЕ СвойстваОбъектов.ПометкаУдаления)
        |    ГДЕ
        |        НЕ СвойстваОбъектов.Ссылка ЕСТЬ NULL 
        |    {ГДЕ
        |        СвойстваОбъектов.Ссылка.* КАК СвойствоНоменклатуры}) КАК СвойстваНоменклатуры
        |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
        |            ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РИ_ИдентификаторыЗначенийСвойствНоменклатурыБитрикс КАК РИ_ИдентификаторыЗначенийСвойствНоменклатурыБитрикс
        |            ПО ЗначенияСвойствОбъектов.Значение = РИ_ИдентификаторыЗначенийСвойствНоменклатурыБитрикс.Объект
        |        ПО СвойстваНоменклатуры.СвойствоНоменклатуры = ЗначенияСвойствОбъектов.Свойство
        |            И СвойстваНоменклатуры.НоменклатураСсылка = ЗначенияСвойствОбъектов.Объект
        |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НазначенияСвойствОбъектов КАК НазначенияСвойствОбъектов
        |        ПО СвойстваНоменклатуры.СвойствоНоменклатуры = НазначенияСвойствОбъектов.Свойство
        |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РИ_ИдентификаторыСвойствНоменклатурыБитрикс КАК РИ_ИдентификаторыСвойствНоменклатурыБитрикс
        |        ПО СвойстваНоменклатуры.СвойствоНоменклатуры = РИ_ИдентификаторыСвойствНоменклатурыБитрикс.Объект
        |
        |ИНДЕКСИРОВАТЬ ПО
        |    СвойствоНоменклатурыСсылка,
        |    Назначение
        |;
        |
        |////////////////////////////////////////////////////////////­////////////////////
        |ВЫБРАТЬ
        |    ТипыЦенНоменклатуры.Ссылка КАК ТипЦен,
        |    ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Номенклатура,
        |    ЦеныНоменклатурыСрезПоследних.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
        |    ЦеныНоменклатурыСрезПоследних.Цена КАК БазоваяЦена,
        |    ЦеныНоменклатурыСрезПоследних.Валюта КАК ВалютаБазовойЦены,
        |    ЦеныНоменклатурыСрезПоследних.ЕдиницаИзмерения КАК ЕдиницаИзмеренияБазовойЦены,
        |    ВЫБОР
        |        КОГДА ПроцентыСкидкиНаценкиДинамическихЦенСрезПоследних.ПроцентСкидкиНаценки ЕСТЬ NULL 
        |            ТОГДА ТипыЦенНоменклатуры.ПроцентСкидкиНаценки
        |        ИНАЧЕ ПроцентыСкидкиНаценкиДинамическихЦенСрезПоследних.ПроцентСкидкиНаценки
        |    КОНЕЦ КАК ПроцентСкидкиНаценки,
        |    ТипыЦенНоменклатуры.СпособРасчетаЦены КАК СпособРасчетаЦены
        |ПОМЕСТИТЬ ВремБазовыеЦены
        |ИЗ
        |    Справочник.ТипыЦенНоменклатуры КАК ТипыЦенНоменклатуры
        |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, {(Номенклатура).* КАК Номенклатура}) КАК ЦеныНоменклатурыСрезПоследних
        |        ПО (ТипыЦенНоменклатуры.Рассчитывается)
        |            И (ЦеныНоменклатурыСрезПоследних.ТипЦен = ТипыЦенНоменклатуры.БазовыйТипЦен)
        |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, {(ТипЦен).* КАК ТипЦен, (Номенклатура).* КАК Номенклатура}) КАК ПроцентыСкидкиНаценкиДинамическихЦенСрезПоследних
        |        ПО (ПроцентыСкидкиНаценкиДинамическихЦенСрезПоследних.ТипЦен = ТипыЦенНоменклатуры.Ссылка)
        |            И (ПроцентыСкидкиНаценкиДинамическихЦенСрезПоследних.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура)
        |            И (ПроцентыСкидкиНаценкиДинамическихЦенСрезПоследних.ХарактеристикаНоменклатуры = ЦеныНоменклатурыСрезПоследних.ХарактеристикаНоменклатуры)
        |            И (ПроцентыСкидкиНаценкиДинамическихЦенСрезПоследних.Валюта = ТипыЦенНоменклатуры.ВалютаЦены)
        |            И (ПроцентыСкидкиНаценкиДинамическихЦенСрезПоследних.ЕдиницаИзмерения = ЦеныНоменклатурыСрезПоследних.ЕдиницаИзмерения)
        |            И (ПроцентыСкидкиНаценкиДинамическихЦенСрезПоследних.СпособРасчетаЦены = ЗНАЧЕНИЕ(Перечисление.СпособыРасчетаЦены.ПоПроцентнойНаценкеНаБазовыйТип))
        |{ГДЕ
        |    ТипыЦенНоменклатуры.Ссылка.* КАК ТипЦен}
        |;
        |
        |////////////////////////////////////////////////////////////­////////////////////
        |ВЫБРАТЬ
        |    БазовыеЦены.ТипЦен КАК ТипЦен,
        |    БазовыеЦены.Номенклатура КАК Номенклатура,
        |    БазовыеЦены.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
        |    БазовыеЦены.ПроцентСкидкиНаценки КАК ПроцентСкидкиНаценки,
        |    БазовыеЦены.СпособРасчетаЦены КАК СпособРасчетаЦены,
        |    БазовыеЦены.БазоваяЦена КАК БазоваяЦена,
        |    БазовыеЦены.ВалютаБазовойЦены КАК ВалютаБазовойЦены,
        |    БазовыеЦены.ЕдиницаИзмеренияБазовойЦены КАК ЕдиницаИзмеренияБазовойЦены,
        |    МИНИМУМ(ДиапазоныЦенДляНаценкиСрезПоследних.ВерхняяГраница) КАК ВерхняяГраница
        |ПОМЕСТИТЬ ВремДинамическиеЦены
        |ИЗ
        |    ВремБазовыеЦены КАК БазовыеЦены
        |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ДиапазоныЦенДляНаценки.СрезПоследних КАК ДиапазоныЦенДляНаценкиСрезПоследних
        |        ПО БазовыеЦены.БазоваяЦена < ДиапазоныЦенДляНаценкиСрезПоследних.ВерхняяГраница
        |            И БазовыеЦены.ТипЦен = ДиапазоныЦенДляНаценкиСрезПоследних.ТипЦен
        |
        |СГРУППИРОВАТЬ ПО
        |    БазовыеЦены.ХарактеристикаНоменклатуры,
        |    БазовыеЦены.СпособРасчетаЦены,
        |    БазовыеЦены.ТипЦен,
        |    БазовыеЦены.Номенклатура,
        |    БазовыеЦены.ВалютаБазовойЦены,
        |    БазовыеЦены.ЕдиницаИзмеренияБазовойЦены,
        |    БазовыеЦены.ПроцентСкидкиНаценки,
        |    БазовыеЦены.БазоваяЦена
        |;
        |
        |////////////////////////////////////////////////////////////­////////////////////
        |ВЫБРАТЬ
        |    ДинамическиеЦены.Номенклатура КАК Номенклатура,
        |    ДинамическиеЦены.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
        |    ДинамическиеЦены.ПроцентСкидкиНаценки КАК ПроцентСкидкиНаценки,
        |    ДинамическиеЦены.СпособРасчетаЦены КАК СпособРасчетаЦены,
        |    ДинамическиеЦены.ТипЦен КАК ТипЦен,
        |    ДинамическиеЦены.ТипЦен.ВалютаЦены КАК ВалютаТипаЦен,
        |    ЕСТЬNULL(КурсыВалютыЦены.Курс, 0) КАК КурсВалютыЦены,
        |    ЕСТЬNULL(КурсыВалютыЦены.Кратность, 0) КАК КратностьКурсаВалютыЦены,
        |    ДинамическиеЦены.БазоваяЦена КАК БазоваяЦена,
        |    ДинамическиеЦены.ВалютаБазовойЦены КАК ВалютаБазовойЦены,
        |    ЕСТЬNULL(КурсыВалютыБазовойЦены.Курс, 0) КАК КурсВалютыБазовойЦены,
        |    ЕСТЬNULL(КурсыВалютыБазовойЦены.Кратность, 0) КАК КратностьКурсаВалютыБазовойЦены,
        |    ДинамическиеЦены.ЕдиницаИзмеренияБазовойЦены КАК ЕдиницаИзмеренияБазовойЦены,
        |    ЕСТЬNULL(ДиапазоныЦенДляНаценкиСрезПоследних.Цена, 0) КАК ЦенаПоДиапазону,
        |    ДиапазоныЦенДляНаценкиСрезПоследних.Валюта КАК ВалютаЦеныПоДиапазону,
        |    ВЫБОР
        |        КОГДА ДинамическиеЦены.ТипЦен.ВалютаЦены = ДинамическиеЦены.ВалютаБазовойЦены
        |            ТОГДА 1
        |        ИНАЧЕ ВЫБОР
        |                КОГДА ЕСТЬNULL(КурсыВалютыЦены.Курс, 0) = 1
        |                    ТОГДА ВЫБОР
        |                            КОГДА ЕСТЬNULL(КурсыВалютыБазовойЦены.Кратность, 0) = 0
        |                                ТОГДА 0
        |                            ИНАЧЕ ЕСТЬNULL(КурсыВалютыБазовойЦены.Курс, 0) / ЕСТЬNULL(КурсыВалютыБазовойЦены.Кратность, 0)
        |                        КОНЕЦ
        |                КОГДА ЕСТЬNULL(КурсыВалютыЦены.Курс, 0) <> 1
        |                        И ЕСТЬNULL(КурсыВалютыБазовойЦены.Курс, 0) = 1
        |                    ТОГДА ВЫБОР
        |                            КОГДА ЕСТЬNULL(КурсыВалютыЦены.Курс, 0) = 0
        |                                ТОГДА 0
        |                            ИНАЧЕ ЕСТЬNULL(КурсыВалютыЦены.Кратность, 0) / ЕСТЬNULL(КурсыВалютыЦены.Курс, 0)
        |                        КОНЕЦ
        |                ИНАЧЕ ВЫБОР
        |                        КОГДА ЕСТЬNULL(КурсыВалютыЦены.Курс, 0) * ЕСТЬNULL(КурсыВалютыБазовойЦены.Кратность, 0) = 0
        |                            ТОГДА 0
        |                        ИНАЧЕ ЕСТЬNULL(КурсыВалютыБазовойЦены.Курс, 0) * ЕСТЬNULL(КурсыВалютыЦены.Кратность, 0) / ЕСТЬNULL(КурсыВалютыЦены.Курс, 0) * ЕСТЬNULL(КурсыВалютыБазовойЦены.Кратность, 0)
        |                    КОНЕЦ
        |            КОНЕЦ
        |    КОНЕЦ КАК КоэффициентПересчетаБазовойЦены
        |ПОМЕСТИТЬ ВремРасчетныеЦены
        |ИЗ
        |    ВремДинамическиеЦены КАК ДинамическиеЦены
        |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ДиапазоныЦенДляНаценки.СрезПоследних КАК ДиапазоныЦенДляНаценкиСрезПоследних
        |        ПО ДинамическиеЦены.БазоваяЦена < ДиапазоныЦенДляНаценкиСрезПоследних.ВерхняяГраница
        |            И ДинамическиеЦены.ТипЦен = ДиапазоныЦенДляНаценкиСрезПоследних.ТипЦен
        |            И ДинамическиеЦены.ВерхняяГраница = ДиапазоныЦенДляНаценкиСрезПоследних.ВерхняяГраница
        |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют.СрезПоследних КАК КурсыВалютыЦены
        |        ПО ДинамическиеЦены.ТипЦен.ВалютаЦены = КурсыВалютыЦены.Валюта
        |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют.СрезПоследних КАК КурсыВалютыБазовойЦены
        |        ПО ДинамическиеЦены.ВалютаБазовойЦены = КурсыВалютыБазовойЦены.Валюта
        |;
        |
        |////////////////////////////////////////////////////////////­////////////////////
        |ВЫБРАТЬ
        |    ЦеныНоменклатурыСрезПоследних.Номенклатура,
        |    ЦеныНоменклатурыСрезПоследних.ХарактеристикаНоменклатуры,
        |    ЦеныНоменклатурыСрезПоследних.ТипЦен,
        |    ЦеныНоменклатурыСрезПоследних.Валюта,
        |    ЦеныНоменклатурыСрезПоследних.Цена,
        |    ЦеныНоменклатурыСрезПоследних.ЕдиницаИзмерения
        |ПОМЕСТИТЬ ВремЦеныНоменклатурыСрезПоследних
        |ИЗ
        |    (ВЫБРАТЬ
        |        РасчетныеЦены.Номенклатура КАК Номенклатура,
        |        РасчетныеЦены.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
        |        РасчетныеЦены.ТипЦен КАК ТипЦен,
        |        ВЫБОР
        |            КОГДА РасчетныеЦены.СпособРасчетаЦены = ЗНАЧЕНИЕ(Перечисление.СпособыРасчетаЦены.ПоПроцентнойНаценкеНаБазовыйТип)
        |                ТОГДА РасчетныеЦены.ВалютаТипаЦен
        |            ИНАЧЕ РасчетныеЦены.ВалютаЦеныПоДиапазону
        |        КОНЕЦ КАК Валюта,
        |        ВЫБОР
        |            КОГДА РасчетныеЦены.СпособРасчетаЦены = ЗНАЧЕНИЕ(Перечисление.СпособыРасчетаЦены.ПоПроцентнойНаценкеНаБазовыйТип)
        |                ТОГДА РасчетныеЦены.БазоваяЦена * РасчетныеЦены.КоэффициентПересчетаБазовойЦены * (1 + РасчетныеЦены.ПроцентСкидкиНаценки / 100)
        |            ИНАЧЕ РасчетныеЦены.ЦенаПоДиапазону
        |        КОНЕЦ КАК Цена,
        |        РасчетныеЦены.ЕдиницаИзмеренияБазовойЦены КАК ЕдиницаИзмерения
        |    ИЗ
        |        ВремРасчетныеЦены КАК РасчетныеЦены
        |    
        |    ОБЪЕДИНИТЬ ВСЕ
        |    
        |    ВЫБРАТЬ
        |        ЦеныНоменклатурыСрезПоследних.Номенклатура,
        |        ЦеныНоменклатурыСрезПоследних.ХарактеристикаНоменклатуры,
        |        ЦеныНоменклатурыСрезПоследних.ТипЦен,
        |        ЦеныНоменклатурыСрезПоследних.Валюта,
        |        ЦеныНоменклатурыСрезПоследних.Цена,
        |        ЦеныНоменклатурыСрезПоследних.ЕдиницаИзмерения
        |    ИЗ
        |        РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, НЕ ТипЦен.Рассчитывается {(ТипЦен).*, (Номенклатура).* КАК Номенклатура}) КАК ЦеныНоменклатурыСрезПоследних) КАК ЦеныНоменклатурыСрезПоследних
        |;
        |
        |////////////////////////////////////////////////////////////­////////////////////
        |ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
        |    ВремНоменклатураСХарактеристиками.НоменклатураСсылка КАК НоменклатураСсылка,
        |    ВремНоменклатураСХарактеристиками.ХарактеристикаСсылка КАК ХарактеристикаСсылка,
        |    ВремНоменклатураСХарактеристиками.ИдНоменклатурыБитрикс,
        |    ВремНоменклатураСХарактеристиками.ИдХарактеристикиБитрикс,
        |    ВремНоменклатураСХарактеристиками.Остаток КАК Остаток,
        |    ЦеныНоменклатурыСрезПоследних.ТипЦен КАК ТипЦенСсылка,
        |    ЦеныНоменклатурыСрезПоследних.Валюта КАК ВалютаЦеныСсылка,
        |    ЦеныНоменклатурыСрезПоследних.Цена,
        |    ВЫБОР
        |        КОГДА ЦеныНоменклатурыСрезПоследних.ХарактеристикаНоменклатуры = ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка)
        |            ТОГДА ЦеныНоменклатурыСрезПоследних.Цена
        |        ИНАЧЕ 0
        |    КОНЕЦ КАК ЦенаБезХарактеристики,
        |    ЦеныНоменклатурыСрезПоследних.ЕдиницаИзмерения КАК ЕдиницаИзмеренияЦеныСсылка,
        |    ВремНоменклатураСХарактеристиками.ХарактеристикаПометкаУдаления,
        |    ВремНоменклатураСХарактеристиками.ХарактеристикаНаименование,
        |    ВремНоменклатураСХарактеристиками.НоменклатураНаименование,
        |    ВремНоменклатураСХарактеристиками.НоменклатураПометкаУдаления,
        |    ВремНоменклатураСХарактеристиками.БазоваяЕдиницаИзмерения,
        |    ВремНоменклатураСХарактеристиками.ВестиУчетПоХарактеристикам
        |ПОМЕСТИТЬ ВремЦены
        |ИЗ
        |    ВремНоменклатураСХарактеристиками КАК ВремНоменклатураСХарактеристиками
        |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВремЦеныНоменклатурыСрезПоследних КАК ЦеныНоменклатурыСрезПоследних
        |        ПО ВремНоменклатураСХарактеристиками.НоменклатураСсылка = ЦеныНоменклатурыСрезПоследних.Номенклатура
        |            И (ВремНоменклатураСХарактеристиками.ХарактеристикаСсылка = ЦеныНоменклатурыСрезПоследних.ХарактеристикаНоменклатуры
        |                    И НЕ &ВыгружатьВсеХарактеристики
        |                ИЛИ &ВыгружатьВсеХарактеристики
        |                    И (ВремНоменклатураСХарактеристиками.ХарактеристикаСсылка = ЦеныНоменклатурыСрезПоследних.ХарактеристикаНоменклатуры
        |                        ИЛИ ЦеныНоменклатурыСрезПоследних.ХарактеристикаНоменклатуры = ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка)))
        |
        |ИНДЕКСИРОВАТЬ ПО
        |    НоменклатураСсылка,
        |    ХарактеристикаСсылка,
        |    ТипЦенСсылка
        |;
        |
        |////////////////////////////////////////////////////////////­////////////////////
        |ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
        |    ВремНоменклатураСХарактеристиками.ХарактеристикаСсылка КАК ХарактеристикаСсылка,
        |    ЗначенияСвойствОбъектов.Свойство КАК СвойствоХарактеристикиСсылка,
        |    ЗначенияСвойствОбъектов.Значение КАК ЗначениеСвойстваХарактеристики
        |ПОМЕСТИТЬ ВремЗначенияСвойствХарактеристик
        |ИЗ
        |    ВремНоменклатураСХарактеристиками КАК ВремНоменклатураСХарактеристиками
        |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
        |        ПО ВремНоменклатураСХарактеристиками.ХарактеристикаСсылка = ЗначенияСвойствОбъектов.Объект
        |
        |ИНДЕКСИРОВАТЬ ПО
        |    ХарактеристикаСсылка,
        |    СвойствоХарактеристикиСсылка
        |;
        |
        |////////////////////////////////////////////////////////////­////////////////////
        |ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
        |    ВремНоменклатураСХарактеристиками.НоменклатураСсылка КАК НоменклатураСсылка,
        |    ВремНоменклатураСХарактеристиками.ХарактеристикаСсылка КАК ХарактеристикаСсылка,
        |    Штрихкоды.Штрихкод
        |ПОМЕСТИТЬ ВремШтрихКоды
        |ИЗ
        |    ВремНоменклатураСХарактеристиками КАК ВремНоменклатураСХарактеристиками
        |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.Штрихкоды КАК Штрихкоды
        |        ПО ВремНоменклатураСХарактеристиками.НоменклатураСсылка = Штрихкоды.Владелец
        |            И ВремНоменклатураСХарактеристиками.ХарактеристикаСсылка = Штрихкоды.ХарактеристикаНоменклатуры
        |            И ВремНоменклатураСХарактеристиками.НоменклатураСсылка.ЕдиницаХраненияОстатков = Штрихкоды.ЕдиницаИзмерения
        |
        |ИНДЕКСИРОВАТЬ ПО
        |    НоменклатураСсылка,
        |    ХарактеристикаСсылка
        |;
        |
        |////////////////////////////////////////////////////////////­////////////////////
        |ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
        |    ВремНоменклатураСХарактеристиками.НоменклатураСсылка КАК НоменклатураСсылка,
        |    ЕСТЬNULL(ХранилищеДополнительнойИнформации.Ссылка, ЗНАЧЕНИЕ(Справочник.ХранилищеДополнительнойИнформации.ПустаяСсылка)) КАК ХранилищеСсылка
        |ПОМЕСТИТЬ ВремФайлы
        |ИЗ
        |    Справочник.ХранилищеДополнительнойИнформации КАК ХранилищеДополнительнойИнформации
        |        ЛЕВОЕ СОЕДИНЕНИЕ ВремНоменклатураСХарактеристиками КАК ВремНоменклатураСХарактеристиками
        |        ПО (ВремНоменклатураСХарактеристиками.НоменклатураСсылка = ХранилищеДополнительнойИнформации.Объект)
        |ГДЕ
        |    НЕ ХранилищеДополнительнойИнформации.ПометкаУдаления
        |
        |ИНДЕКСИРОВАТЬ ПО
        |    НоменклатураСсылка";
        
    ТекстЗапросаПродолжение =
        "ВЫБРАТЬ ПЕРВЫЕ 0
        |    ВремЗначенияСвойствНоменклатуры.НоменклатураСсылка,
        |    ВремЗначенияСвойствНоменклатуры.СвойствоНоменклатурыСсылка,
        |    ВремЗначенияСвойствНоменклатуры.Значение,
        |    ВремЗначенияСвойствНоменклатуры.Назначение,
        |    ВремЗначенияСвойствНоменклатуры.СвойствоНаименование,
        |    ВремЗначенияСвойствНоменклатуры.ИдСвойстваБитрикс,
        |    ВремЗначенияСвойствНоменклатуры.ИдЗначенияСвойстваБитрикс
        |ИЗ
        |    ВремЗначенияСвойствНоменклатуры КАК ВремЗначенияСвойствНоменклатуры
        |;
        |
        |////////////////////////////////////////////////////////////­////////////////////
        |ВЫБРАТЬ ПЕРВЫЕ 0
        |    ВремНоменклатура.НоменклатураСсылка,
        |    ВремНоменклатура.ИдНоменклатурыБитрикс,
        |    ВремНоменклатура.ПометкаУдаления,
        |    ВремНоменклатура.Родитель,
        |    ВремНоменклатура.ЭтоГруппа,
        |    ВремНоменклатура.Код,
        |    ВремНоменклатура.Наименование,
        |    ВремНоменклатура.Артикул,
        |    ВремНоменклатура.БазоваяЕдиницаИзмерения,
        |    ВремНоменклатура.Комментарий,
        |    ВремНоменклатура.НаименованиеПолное,
        |    ВремНоменклатура.НоменклатурнаяГруппа,
        |    ВремНоменклатура.НомерГТД,
        |    ВремНоменклатура.ОсновноеИзображение,
        |    ВремНоменклатура.СтавкаНДС,
        |    ВремНоменклатура.СтранаПроисхождения,
        |    ВремНоменклатура.Услуга,
        |    ВремНоменклатура.ВидНоменклатуры,
        |    ВремНоменклатура.ЦеноваяГруппа,
        |    ВремНоменклатура.ДополнительноеОписаниеНоменклатуры,
        |    ВремНоменклатура.ДополнительноеОписаниеНоменклатурыВФорматеHTML,
        |    ВремНоменклатура.ТипНоменклатуры,
        |    ВремНоменклатура.ЕдиницаХраненияОстатков,
        |    ВремНоменклатура.Вес,
        |    ВремНоменклатура.ИдГруппыБитрикс
        |ИЗ
        |    ВремНоменклатура КАК ВремНоменклатура
        |;
        |
        |////////////////////////////////////////////////////////////­////////////////////
        |ВЫБРАТЬ ПЕРВЫЕ 0
        |    ВремЗначенияСвойствХарактеристик.ХарактеристикаСсылка,
        |    ВремЗначенияСвойствХарактеристик.СвойствоХарактеристикиСсылка,
        |    ВремЗначенияСвойствХарактеристик.ЗначениеСвойстваХарактеристики
        |ИЗ
        |    ВремЗначенияСвойствХарактеристик КАК ВремЗначенияСвойствХарактеристик
        |;
        |
        |////////////////////////////////////////////////////////////­////////////////////
        |ВЫБРАТЬ ПЕРВЫЕ 0
        |    ВремЦены.НоменклатураСсылка,
        |    ВремЦены.ХарактеристикаСсылка,
        |    ВремЦены.ИдНоменклатурыБитрикс,
        |    ВремЦены.ИдХарактеристикиБитрикс,
        |    ВремЦены.Остаток,
        |    ВремЦены.ТипЦенСсылка,
        |    ВремЦены.ВалютаЦеныСсылка,
        |    ВремЦены.Цена,
        |    ВремЦены.ЦенаБезХарактеристики,
        |    ВремЦены.ЕдиницаИзмеренияЦеныСсылка,
        |    ВремЦены.ХарактеристикаПометкаУдаления,
        |    ВремЦены.ХарактеристикаНаименование,
        |    ВремЦены.НоменклатураНаименование,
        |    ВремЦены.НоменклатураПометкаУдаления,
        |    ВремЦены.БазоваяЕдиницаИзмерения,
        |    ВремЦены.ВестиУчетПоХарактеристикам
        |ИЗ
        |    ВремЦены КАК ВремЦены
        |;
        |
        |////////////////////////////////////////////////////////////­////////////////////
        |ВЫБРАТЬ ПЕРВЫЕ 0
        |    ВремШтрихКоды.НоменклатураСсылка,
        |    ВремШтрихКоды.ХарактеристикаСсылка,
        |    ВремШтрихКоды.Штрихкод
        |ИЗ
        |    ВремШтрихКоды КАК ВремШтрихКоды
        |;
        |
        |////////////////////////////////////////////////////////////­////////////////////
        |ВЫБРАТЬ ПЕРВЫЕ 0
        |    ВремФайлы.НоменклатураСсылка,
        |    ВремФайлы.ХранилищеСсылка
        |ИЗ
        |    ВремФайлы КАК ВремФайлы";
        
    ТекстЗапросаСкидкиПродолжение = 
        "ВЫБРАТЬ ПЕРВЫЕ 0
        |    ВремСкидки.НоменклатураСсылка,
        |    ВремСкидки.ХарактеристикаСсылка,
        |    ВремСкидки.Условие,
        |    ВремСкидки.ЗначениеУсловия,
        |    ВремСкидки.ПроцентСкидкиНаценки,
        |    ВремСкидки.ОграничениеСкидкиНаценки,
        |    ВремСкидки.ДатаОкончания,
        |    ВремСкидки.ПолучательСкидки,
        |    ВремСкидки.Валюта,
        |    ВремСкидки.Регистратор
        |ИЗ
        |    ВремСкидки КАК ВремСкидки
        |;
        |
        |////////////////////////////////////////////////////////////­////////////////////
        |ВЫБРАТЬ ПЕРВЫЕ 0
        |    ВремСкидкиВремяДействия.Регистратор,
        |    ВремСкидкиВремяДействия.ДеньНедели,
        |    ВремСкидкиВремяДействия.ВремяНачала,
        |    ВремСкидкиВремяДействия.ВремяОкончания
        |ИЗ
        |    ВремСкидкиВремяДействия КАК ВремСкидкиВремяДействия";

    ТекстЗапросаОстаткиПоСкладамПродолжение = 
        "ВЫБРАТЬ ПЕРВЫЕ 0
        |    ВремОстаткиПоСкладам.НоменклатураСсылка,
        |    ВремОстаткиПоСкладам.ХарактеристикаСсылка,
        |    ВремОстаткиПоСкладам.Остаток,
        |    ВремОстаткиПоСкладам.Склад
        |ИЗ
        |    ВремОстаткиПоСкладам КАК ВремОстаткиПоСкладам";

    ТекстЗапросаСкидки = 
        "ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
        |    Товары.НоменклатураСсылка КАК НоменклатураСсылка,
        |    Товары.ХарактеристикаСсылка КАК ХарактеристикаСсылка,
        |    Скидки.Условие КАК Условие,
        |    Скидки.ЗначениеУсловия,
        |    МАКСИМУМ(Скидки.ПроцентСкидкиНаценки) КАК ПроцентСкидкиНаценки,
        |    Скидки.ОграничениеСкидкиНаценки,
        |    Скидки.ДатаОкончания,
        |    Скидки.ПолучательСкидки КАК ПолучательСкидки,
        |    Скидки.Валюта,
        |    Скидки.Регистратор КАК Регистратор
        |ПОМЕСТИТЬ ВремСкидки
        |ИЗ
        |    ВремНоменклатураСХарактеристиками КАК Товары
        |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ РАЗЛИЧНЫЕ
        |            Скидки.Условие КАК Условие,
        |            Скидки.ЗначениеУсловия КАК ЗначениеУсловия,
        |            Скидки.ПроцентСкидкиНаценки КАК ПроцентСкидкиНаценки,
        |            Скидки.ОграничениеСкидкиНаценки КАК ОграничениеСкидкиНаценки,
        |            Скидки.ДатаОкончания КАК ДатаОкончания,
        |            Скидки.ПолучательСкидки КАК ПолучательСкидки,
        |            Скидки.Валюта КАК Валюта,
        |            Скидки.Номенклатура КАК Номенклатура,
        |            Скидки.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
        |            Скидки.НоменклатураЦеноваяГруппа КАК НоменклатураЦеноваяГруппа,
        |            Скидки.Регистратор КАК Регистратор
        |        ИЗ
        |            (ВЫБРАТЬ
        |                СкидкиНаценкиНоменклатурыСрезПоследних.Условие КАК Условие,
        |                СкидкиНаценкиНоменклатурыСрезПоследних.ЗначениеУсловия КАК ЗначениеУсловия,
        |                СкидкиНаценкиНоменклатурыСрезПоследних.ПроцентСкидкиНаценки КАК ПроцентСкидкиНаценки,
        |                СкидкиНаценкиНоменклатурыСрезПоследних.ОграничениеСкидкиНаценки КАК ОграничениеСкидкиНаценки,
        |                СкидкиНаценкиНоменклатурыСрезПоследних.ДатаОкончания КАК ДатаОкончания,
        |                СкидкиНаценкиНоменклатурыСрезПоследних.ПолучательСкидки КАК ПолучательСкидки,
        |                СкидкиНаценкиНоменклатурыСрезПоследних.Валюта КАК Валюта,
        |                СкидкиНаценкиНоменклатурыСрезПоследних.Номенклатура КАК Номенклатура,
        |                СкидкиНаценкиНоменклатурыСрезПоследних.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
        |                ЕСТЬNULL(СкидкиНаценкиНоменклатурыСрезПоследних.Номенклатура.ЦеноваяГруппа, ЗНАЧЕНИЕ(Справочник.ЦеновыеГруппы.ПустаяСсылка)) КАК НоменклатураЦеноваяГруппа,
        |                СкидкиНаценкиНоменклатурыСрезПоследних.Регистратор КАК Регистратор
        |            ИЗ
        |                РегистрСведений.СкидкиНаценкиНоменклатуры.СрезПоследних(
        |                        ,
        |                        (ДатаОкончания = ДАТАВРЕМЯ(1, 1, 1)
        |                            ИЛИ КОНЕЦПЕРИОДА(ДатаОкончания, ДЕНЬ) >= &ТекДата)
        |                            И Условие В (&МассивУсловийСкидок)
        |                            И Качество = ЗНАЧЕНИЕ(Справочник.Качество.Новый)) КАК СкидкиНаценкиНоменклатурыСрезПоследних
        |            
        |            ОБЪЕДИНИТЬ ВСЕ
        |            
        |            ВЫБРАТЬ
        |                СкидкиНаценкиПоЦеновымГруппамСрезПоследних.Условие,
        |                СкидкиНаценкиПоЦеновымГруппамСрезПоследних.ЗначениеУсловия,
        |                СкидкиНаценкиПоЦеновымГруппамСрезПоследних.ПроцентСкидкиНаценки,
        |                СкидкиНаценкиПоЦеновымГруппамСрезПоследних.ОграничениеСкидкиНаценки,
        |                СкидкиНаценкиПоЦеновымГруппамСрезПоследних.ДатаОкончания,
        |                СкидкиНаценкиПоЦеновымГруппамСрезПоследних.ПолучательСкидки,
        |                СкидкиНаценкиПоЦеновымГруппамСрезПоследних.Валюта,
        |                ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка),
        |                ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка),
        |                СкидкиНаценкиПоЦеновымГруппамСрезПоследних.ЦеноваяГруппа,
        |                СкидкиНаценкиПоЦеновымГруппамСрезПоследних.Регистратор
        |            ИЗ
        |                РегистрСведений.СкидкиНаценкиПоЦеновымГруппам.СрезПоследних(
        |                        ,
        |                        (ДатаОкончания = ДАТАВРЕМЯ(1, 1, 1)
        |                            ИЛИ КОНЕЦПЕРИОДА(ДатаОкончания, ДЕНЬ) >= &ТекДата)
        |                            И Условие В (&МассивУсловийСкидок)
        |                            И Качество = ЗНАЧЕНИЕ(Справочник.Качество.Новый)) КАК СкидкиНаценкиПоЦеновымГруппамСрезПоследних) КАК Скидки
        |        ГДЕ
        |            (Скидки.ПроцентСкидкиНаценки = 0
        |                        И (Скидки.Условие = ЗНАЧЕНИЕ(Перечисление.УсловияСкидкиНаценки.ПоДисконтнойКарте)
        |                            ИЛИ Скидки.Условие = ЗНАЧЕНИЕ(Перечисление.УсловияСкидкиНаценки.ПоВидуДисконтныхКарт))
        |                    ИЛИ Скидки.ПроцентСкидкиНаценки <> 0)) КАК Скидки
        |        ПО (Товары.НоменклатураСсылка = Скидки.Номенклатура
        |                    И Товары.ХарактеристикаСсылка = Скидки.ХарактеристикаНоменклатуры
        |                ИЛИ Товары.НоменклатураСсылка.ЦеноваяГруппа = Скидки.НоменклатураЦеноваяГруппа
        |                    И Скидки.Номенклатура = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
        |                    И Скидки.ХарактеристикаНоменклатуры = ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка)
        |                ИЛИ Скидки.НоменклатураЦеноваяГруппа = ЗНАЧЕНИЕ(Справочник.ЦеновыеГруппы.ПустаяСсылка)
        |                    И Скидки.Номенклатура = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
        |                    И Скидки.ХарактеристикаНоменклатуры = ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка))
        |
        |СГРУППИРОВАТЬ ПО
        |    Товары.НоменклатураСсылка,
        |    Товары.ХарактеристикаСсылка,
        |    Скидки.Условие,
        |    Скидки.ЗначениеУсловия,
        |    Скидки.ОграничениеСкидкиНаценки,
        |    Скидки.ДатаОкончания,
        |    Скидки.ПолучательСкидки,
        |    Скидки.Валюта,
        |    Скидки.Регистратор
        |
        |ИНДЕКСИРОВАТЬ ПО
        |    НоменклатураСсылка,
        |    ХарактеристикаСсылка,
        |    Условие,
        |    Регистратор,
        |    ПолучательСкидки
        |;
        |
        |////////////////////////////////////////////////////////////­////////////////////
        |ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
        |    ВремСкидки.Регистратор КАК Регистратор,
        |    ВремяДействияСкидокСрезПоследних.ДеньНедели,
        |    ВремяДействияСкидокСрезПоследних.ВремяНачала,
        |    ВремяДействияСкидокСрезПоследних.ВремяОкончания
        |ПОМЕСТИТЬ ВремСкидкиВремяДействия
        |ИЗ
        |    ВремСкидки КАК ВремСкидки
        |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ВремяДействияСкидок.СрезПоследних КАК ВремяДействияСкидокСрезПоследних
        |        ПО ВремСкидки.Регистратор = ВремяДействияСкидокСрезПоследних.Регистратор
        |
        |ИНДЕКСИРОВАТЬ ПО
        |    Регистратор";

        
    ТекстЗапросаОстаткиПоСкладам = 
        "ВЫБРАТЬ РАЗРЕШЕННЫЕ
        |    НоменклатураСХарактеристиками.НоменклатураСсылка КАК НоменклатураСсылка,
        |    НоменклатураСХарактеристиками.ХарактеристикаСсылка КАК ХарактеристикаСсылка,
        |    ЕСТЬNULL(ТоварыОстатки.КоличествоОстаток, 0) - ЕСТЬNULL(ТоварыВРезервеНаСкладахОстатки.КоличествоОстаток, 0) - ЕСТЬNULL(ТоварыКПередачеСоСкладовОстатки.КоличествоОстаток, 0) КАК Остаток,
        |    ТоварыОстатки.Склад КАК Склад,
        |    НоменклатураСХарактеристиками.ДатаПоступления 
        |ПОМЕСТИТЬ ВремОстаткиПоСкладам
        |ИЗ
        |    ВремНоменклатураСХарактеристиками КАК НоменклатураСХарактеристиками
        |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки(, {(Склад).*, (Номенклатура).* КАК Номенклатура}) КАК ТоварыОстатки
        |        ПО НоменклатураСХарактеристиками.НоменклатураСсылка = ТоварыОстатки.Номенклатура
        |            И НоменклатураСХарактеристиками.ХарактеристикаСсылка = ТоварыОстатки.ХарактеристикаНоменклатуры
        |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки(, {(Склад).*, (Номенклатура).* КАК Номенклатура}) КАК ТоварыВРезервеНаСкладахОстатки
        |        ПО НоменклатураСХарактеристиками.НоменклатураСсылка = ТоварыВРезервеНаСкладахОстатки.Номенклатура
        |            И НоменклатураСХарактеристиками.ХарактеристикаСсылка = ТоварыВРезервеНаСкладахОстатки.ХарактеристикаНоменклатуры
        |            И (ТоварыОстатки.Склад = ТоварыВРезервеНаСкладахОстатки.Склад)
        |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыКПередачеСоСкладов.Остатки(, {(Склад).*, (Номенклатура).* КАК Номенклатура}) КАК ТоварыКПередачеСоСкладовОстатки
        |        ПО НоменклатураСХарактеристиками.НоменклатураСсылка = ТоварыКПередачеСоСкладовОстатки.Номенклатура
        |            И НоменклатураСХарактеристиками.ХарактеристикаСсылка = ТоварыКПередачеСоСкладовОстатки.ХарактеристикаНоменклатуры
        |            И (ТоварыОстатки.Склад = ТоварыКПередачеСоСкладовОстатки.Склад)
        |
        |ОБЪЕДИНИТЬ ВСЕ
        |
        |ВЫБРАТЬ
        |    НоменклатураСХарактеристиками.НоменклатураСсылка,
        |    НоменклатураСХарактеристиками.ХарактеристикаСсылка,
        |    ЕСТЬNULL(ТоварыОстатки.КоличествоОстаток, 0) - ЕСТЬNULL(ТоварыВРезервеНаСкладахОстатки.КоличествоОстаток, 0) - ЕСТЬNULL(ТоварыКПередачеСоСкладовОстатки.КоличествоОстаток, 0),
        |    ТоварыОстатки.Склад,
        |    НоменклатураСХарактеристиками.ДатаПоступления 
        |ИЗ
        |    ВремНоменклатураСХарактеристиками КАК НоменклатураСХарактеристиками
        |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыВРознице.Остатки(, {(Склад).*, (Номенклатура).* КАК Номенклатура}) КАК ТоварыОстатки
        |        ПО НоменклатураСХарактеристиками.НоменклатураСсылка = ТоварыОстатки.Номенклатура
        |            И НоменклатураСХарактеристиками.ХарактеристикаСсылка = ТоварыОстатки.ХарактеристикаНоменклатуры
        |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки(, {(Склад).*, (Номенклатура).* КАК Номенклатура}) КАК ТоварыВРезервеНаСкладахОстатки
        |        ПО НоменклатураСХарактеристиками.НоменклатураСсылка = ТоварыВРезервеНаСкладахОстатки.Номенклатура
        |            И НоменклатураСХарактеристиками.ХарактеристикаСсылка = ТоварыВРезервеНаСкладахОстатки.ХарактеристикаНоменклатуры
        |            И (ТоварыОстатки.Склад = ТоварыВРезервеНаСкладахОстатки.Склад)
        |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыКПередачеСоСкладов.Остатки(, {(Склад).*, (Номенклатура).* КАК Номенклатура}) КАК ТоварыКПередачеСоСкладовОстатки
        |        ПО НоменклатураСХарактеристиками.НоменклатураСсылка = ТоварыКПередачеСоСкладовОстатки.Номенклатура
        |            И НоменклатураСХарактеристиками.ХарактеристикаСсылка = ТоварыКПередачеСоСкладовОстатки.ХарактеристикаНоменклатуры
        |            И (ТоварыОстатки.Склад = ТоварыКПередачеСоСкладовОстатки.Склад)
        |
        |ОБЪЕДИНИТЬ ВСЕ
        |
        |ВЫБРАТЬ
        |    НоменклатураСХарактеристиками.НоменклатураСсылка,
        |    НоменклатураСХарактеристиками.ХарактеристикаСсылка,
        |    ЕСТЬNULL(ТоварыОстатки.КоличествоОстаток, 0) - ЕСТЬNULL(ТоварыВРезервеНаСкладахОстатки.КоличествоОстаток, 0) - ЕСТЬNULL(ТоварыКПередачеСоСкладовОстатки.КоличествоОстаток, 0),
        |    ТоварыОстатки.Склад,
        |    НоменклатураСХарактеристиками.ДатаПоступления 
        |ИЗ
        |    ВремНоменклатураСХарактеристиками КАК НоменклатураСХарактеристиками
        |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыВНТТ.Остатки(, {(Склад).*, (Номенклатура).* КАК Номенклатура}) КАК ТоварыОстатки
        |        ПО НоменклатураСХарактеристиками.НоменклатураСсылка = ТоварыОстатки.Номенклатура
        |            И НоменклатураСХарактеристиками.ХарактеристикаСсылка = ТоварыОстатки.ХарактеристикаНоменклатуры
        |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки(, {(Склад).*, (Номенклатура).* КАК Номенклатура}) КАК ТоварыВРезервеНаСкладахОстатки
        |        ПО НоменклатураСХарактеристиками.НоменклатураСсылка = ТоварыВРезервеНаСкладахОстатки.Номенклатура
        |            И НоменклатураСХарактеристиками.ХарактеристикаСсылка = ТоварыВРезервеНаСкладахОстатки.ХарактеристикаНоменклатуры
        |            И (ТоварыОстатки.Склад = ТоварыВРезервеНаСкладахОстатки.Склад)
        |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыКПередачеСоСкладов.Остатки(, {(Склад).*, (Номенклатура).* КАК Номенклатура}) КАК ТоварыКПередачеСоСкладовОстатки
        |        ПО НоменклатураСХарактеристиками.НоменклатураСсылка = ТоварыКПередачеСоСкладовОстатки.Номенклатура
        |            И НоменклатураСХарактеристиками.ХарактеристикаСсылка = ТоварыКПередачеСоСкладовОстатки.ХарактеристикаНоменклатуры
        |            И (ТоварыОстатки.Склад = ТоварыКПередачеСоСкладовОстатки.Склад)
        |
        |ИНДЕКСИРОВАТЬ ПО
        |    НоменклатураСсылка,
        |    ХарактеристикаСсылка";

    ТекстЗапросаГруппыНоменклатуры =
        "ВЫБРАТЬ
        |    ВремНоменклатура.НоменклатураСсылка КАК НоменклатураСсылка,
        |    ВремНоменклатура.Наименование КАК Наименование
        |ИЗ
        |    ВремНоменклатура КАК ВремНоменклатура
        |{УПОРЯДОЧИТЬ ПО
        |    НоменклатураСсылка КАК Номенклатура}
        |ИТОГИ ПО
        |    НоменклатураСсылка ТОЛЬКО ИЕРАРХИЯ
        |АВТОУПОРЯДОЧИВАНИЕ";
    
    ТекстЗапросаЦеновыеГруппы =
        "ВЫБРАТЬ РАЗЛИЧНЫЕ
        |    ВремНоменклатураСХарактеристиками.НоменклатураСсылка.ЦеноваяГруппа КАК ЦеноваяГруппа,
        |    ВремНоменклатураСХарактеристиками.НоменклатураСсылка КАК НоменклатураСсылка
        |ИЗ
        |    ВремНоменклатураСХарактеристиками КАК ВремНоменклатураСХарактеристиками
        |{УПОРЯДОЧИТЬ ПО
        |    НоменклатураСсылка КАК Номенклатура}
        |ИТОГИ ПО
        |    ЦеноваяГруппа ИЕРАРХИЯ
        |АВТОУПОРЯДОЧИВАНИЕ";
    
    МассивЧастейЗапроса = Новый Массив;
    
    Если ВыгружатьСкидки Тогда
        МассивЧастейЗапроса.Добавить(ТекстЗапросаСкидки);
    КонецЕсли;
    
    Если ВыгружатьОстаткиПоСкладам Тогда
        МассивЧастейЗапроса.Добавить(ТекстЗапросаОстаткиПоСкладам);
    КонецЕсли;
    
    МассивЧастейЗапроса.Добавить(ТекстЗапросаПродолжение);
    
    Если ВыгружатьСкидки Тогда
        МассивЧастейЗапроса.Добавить(ТекстЗапросаСкидкиПродолжение);
    КонецЕсли;
    
    Если ВыгружатьОстаткиПоСкладам Тогда
        МассивЧастейЗапроса.Добавить(ТекстЗапросаОстаткиПоСкладамПродолжение);
    КонецЕсли;

    Для Каждого ЧастьЗапроса Из МассивЧастейЗапроса Цикл
        ТекстЗапроса = ТекстЗапроса + ";" + ЧастьЗапроса;
    КонецЦикла;
    
    Если КлассифицироватьПоЦеновымГруппам Тогда
        ТекстЗапроса = ТекстЗапроса + ";" + ТекстЗапросаЦеновыеГруппы;
    Иначе
        ТекстЗапроса = ТекстЗапроса + ";" + ТекстЗапросаГруппыНоменклатуры;
    КонецЕсли;
    
    ПостроительОбъект.Текст = ТекстЗапроса;

Показать


Да, ещё, если товар есть на остатках и в ЗаказеПоставщику, то Параметр <Количество> не выгружается, а выгружаются ОстаткиПоСкладам и ДатаПоступления
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот