УТ 10.3 Битрикс. Выгрузка планируемой даты поступления
Добрый день!
УТ 10.3.18.3 + Битрикс 2.9.21.2 (версия 4.0.5.1 выдаёт кучу ошибок и разбираться сними нет времени).
Задача: выгружать на сайт информацию о ближайшей дате поступления товара/ когда это товара нет на выбираемых складах (т.е. на сайт выгружаем остатки не всех складов, а выборочно). Ошибка при выгрузке следующие цепляет товар даже если он есть на остатках.
Обработка.ОбменССайтом.МобдульОбъекта
"Выборка.Остаток <= 0" написал от отчаянья.)
УТ 10.3.18.3 + Битрикс 2.9.21.2 (версия 4.0.5.1 выдаёт кучу ошибок и разбираться сними нет времени).
Задача: выгружать на сайт информацию о ближайшей дате поступления товара/ когда это товара нет на выбираемых складах (т.е. на сайт выгружаем остатки не всех складов, а выборочно). Ошибка при выгрузке следующие цепляет товар даже если он есть на остатках.
Обработка.ОбменССайтом.МобдульОбъекта
Запрос.Текст =
"ВЫБРАТЬ РАЗЛИЧНЫЕ
| ВремТаб.НоменклатураСсылка,
| ВремТаб.ХарактеристикаСсылка,
| ВремТаб.ИдНоменклатурыБитрикс,
| ВремТаб.ИдХарактеристикиБитрикс,
| ВремТаб.ХарактеристикаПометкаУдаления,
| ВремТаб.ХарактеристикаНаименование,
| ВремТаб.НоменклатураНаименование,
| ВремТаб.НоменклатураПометкаУдаления,
| ВремТаб.БазоваяЕдиницаИзмерения,
| ВремТаб.ВестиУчетПоХарактеристикам,
| ВремТаб.Остаток,
| ВремТаб.ДатаПоступления
|ИЗ
| &ВремТаблица КАК ВремТаб";
// РИ --
Запрос.Текст = СтрЗаменить(Запрос.Текст, "&ВремТаблица", ВремТаблица);
РезультатЗапроса = Запрос.Выполнить();
Показать Если Выборка.Остаток > 0 Тогда
ДобавитьУзелCML(СписокЗначенийCML, "Количество", ФорматЗначенияДляCML(Выборка.Остаток, мФорматСумм));
КонецЕсли;
Если ВыгружатьСкидки Тогда
РИ_ВыгрузитьСкидкиДляПакетаПредложений(СписокЗначенийCML, Выборка.НоменклатураСсылка, Выборка.ХарактеристикаСсылка);
КонецЕсли;
Если ВыгружатьОстаткиПоСкладам Тогда
РИ_ВыгрузитьОстаткиДляПакетаПредложений(СписокЗначенийCML, Выборка.НоменклатураСсылка, Выборка.ХарактеристикаСсылка);
КонецЕсли;
Если ЗначениеЗаполнено(Выборка.ДатаПоступления) и Выборка.Остаток <= 0 Тогда
ДобавитьУзелCML(СписокЗначенийCML, "ДатаПоступления", ФорматЗначенияДляCML(Выборка.ДатаПоступления));
КонецЕсли;
Показать"Выборка.Остаток <= 0" написал от отчаянья.)
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Но скорее здесь накосячил с левыми соединениями...
Может кто увидит ошибку.
ОбщийММодуль.РИ_ПроцедурыОбменаССайтомБитрикс.Модуль
Да, ещё, если товар есть на остатках и в ЗаказеПоставщику, то Параметр <Количество> не выгружается, а выгружаются ОстаткиПоСкладам и ДатаПоступления
Может кто увидит ошибку.
ОбщийММодуль.РИ_ПроцедурыОбменаССайтомБитрикс.Модуль
ТекстЗапроса =
"
|ВЫБРАТЬ РАЗРЕШЕННЫЕ
| ВЗ.НоменклатураСсылка НоменклатураСсылка,
| ВЗ.ХарактеристикаСсылка ХарактеристикаСсылка,
| СУММА (ВЗ.Остаток) Остаток,
| ВЗ.ИдНоменклатурыБитрикс ИдНоменклатурыБитрикс,
| ВЗ.ИдХарактеристикиБитрикс ИдХарактеристикиБитрикс,
| ВЗ.ХарактеристикаПометкаУдаления ХарактеристикаПометкаУдаления,
| ВЗ.ХарактеристикаНаименование ХарактеристикаНаименование,
| ВЗ.НоменклатураНаименование НоменклатураНаименование,
| ВЗ.НоменклатураПометкаУдаления НоменклатураПометкаУдаления,
| ВЗ.БазоваяЕдиницаИзмерения БазоваяЕдиницаИзмерения,
| ВЗ.ВестиУчетПоХарактеристикам ВестиУчетПоХарактеристикам,
| ВЗ.ДатаПоступления ДатаПоступления
|ПОМЕСТИТЬ ВремНоменклатураСХарактеристиками
|ИЗ
| (
|ВЫБРАТЬ
| НоменклатураСХарактеристиками.НоменклатураСсылка КАК НоменклатураСсылка,
| НоменклатураСХарактеристиками.ХарактеристикаСсылка КАК ХарактеристикаСсылка,
| ЕСТЬ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),
| ТоварыОстатки.Склад,
| НоменклатураСХарактеристиками.ДатаПоступления
|ИЗ
| ВремНоменклатураСХарактеристиками КАК НоменклатураСХарактеристиками
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыВНТТ.Остатки(, {(Склад).*, (Номенклатура).* КАК Номенклатура}) КАК ТоварыОстатки
| ПО НоменклатураСХарактеристиками.НоменклатураСсылка = ТоварыОстатки.Номенклатура
| И НоменклатураСХарактеристиками.ХарактеристикаСсылка = ТоварыОстатки.ХарактеристикаНоменклатуры
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки(, {(Склад).*, (Номенклатура).* КАК Номенклатура}) КАК ТоварыВРезервеНаСкладахОстатки
| ПО НоменклатураСХарактеристиками.НоменклатураСсылка = ТоварыВРезервеНаСкладахОстатки.Номенклатура
| И НоменклатураСХарактеристиками.ХарактеристикаСсылка = ТоварыВРезервеНаСкладахОстатки.ХарактеристикаНоменклатуры
| И (ТоварыОстатки.Склад = ТоварыВРезервеНаСкладахОстатки.Склад)
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыКПередачеСоСкладов.Остатки(, {(Склад).*, (Номенклатура).* КАК Номенклатура}) КАК ТоварыКПередачеСоСкладовОстатки
| ПО НоменклатураСХарактеристиками.НоменклатураСсылка = ТоварыКПередачеСоСкладовОстатки.Номенклатура
| И НоменклатураСХарактеристиками.ХарактеристикаСсылка = ТоварыКПередачеСоСкладовОстатки.ХарактеристикаНоменклатуры
| И (ТоварыОстатки.Склад = ТоварыКПередачеСоСкладовОстатки.Склад)
|
|ИНДЕКСИРОВАТЬ ПО
| НоменклатураСсылка,
| ХарактеристикаСсылка";
ТекстЗапросаГруппыНоменклатуры =
"ВЫБРАТЬ
| ВремНоменклатура.НоменклатураСсылка КАК НоменклатураСсылка,
| ВремНоменклатура.Наименование КАК Наименование
|ИЗ
| ВремНоменклатура КАК ВремНоменклатура
|{УПОРЯДОЧИТЬ ПО
| НоменклатураСсылка КАК Номенклатура}
|ИТОГИ ПО
| НоменклатураСсылка ТОЛЬКО ИЕРАРХИЯ
|АВТОУПОРЯДОЧИВАНИЕ";
ТекстЗапросаЦеновыеГруппы =
"ВЫБРАТЬ РАЗЛИЧНЫЕ
| ВремНоменклатураСХарактеристиками.НоменклатураСсылка.ЦеноваяГруппа КАК ЦеноваяГруппа,
| ВремНоменклатураСХарактеристиками.НоменклатураСсылка КАК НоменклатураСсылка
|ИЗ
| ВремНоменклатураСХарактеристиками КАК ВремНоменклатураСХарактеристиками
|{УПОРЯДОЧИТЬ ПО
| НоменклатураСсылка КАК Номенклатура}
|ИТОГИ ПО
| ЦеноваяГруппа ИЕРАРХИЯ
|АВТОУПОРЯДОЧИВАНИЕ";
МассивЧастейЗапроса = Новый Массив;
Если ВыгружатьСкидки Тогда
МассивЧастейЗапроса.Добавить(ТекстЗапросаСкидки);
КонецЕсли;
Если ВыгружатьОстаткиПоСкладам Тогда
МассивЧастейЗапроса.Добавить(ТекстЗапросаОстаткиПоСкладам);
КонецЕсли;
МассивЧастейЗапроса.Добавить(ТекстЗапросаПродолжение);
Если ВыгружатьСкидки Тогда
МассивЧастейЗапроса.Добавить(ТекстЗапросаСкидкиПродолжение);
КонецЕсли;
Если ВыгружатьОстаткиПоСкладам Тогда
МассивЧастейЗапроса.Добавить(ТекстЗапросаОстаткиПоСкладамПродолжение);
КонецЕсли;
Для Каждого ЧастьЗапроса Из МассивЧастейЗапроса Цикл
ТекстЗапроса = ТекстЗапроса + ";" + ЧастьЗапроса;
КонецЦикла;
Если КлассифицироватьПоЦеновымГруппам Тогда
ТекстЗапроса = ТекстЗапроса + ";" + ТекстЗапросаЦеновыеГруппы;
Иначе
ТекстЗапроса = ТекстЗапроса + ";" + ТекстЗапросаГруппыНоменклатуры;
КонецЕсли;
ПостроительОбъект.Текст = ТекстЗапроса;
ПоказатьДа, ещё, если товар есть на остатках и в ЗаказеПоставщику, то Параметр <Количество> не выгружается, а выгружаются ОстаткиПоСкладам и ДатаПоступления
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот