![]() |
![]() |
![]() |
|
Добавление отбора в обмен с Веб-сайтом | ☑ | ||
---|---|---|---|---|
0
vlad_161
03.10.14
✎
12:17
|
Здравствуйте,
"Управление торговлей", редакция 10.3 (переписанная правда достаточно) Подскажите пожалуйста, как добавить новый отбор в процедуру обмена с сайтом (выгрузку на сайт), имеется в виду не настройка существующих отборов в Справочнике НастройкиОбменаССайтом, а добавление нового поля в список выпадающий по кнопке добавить. Попытался добавить дополнительный отбор в запрос (в Общие модули ПроцедурыОбменаССайтом Процедура НастроитьПостроительОтчета(ПостроительОбъект) где ПостроительОбъект - переменная которая передается в в табличную часть справочника НастройкиОбменаССайтом)- автоматически ничего не добавилось. Или добавленный в запрос отбор нужно еще где-то зарегистрировать, чтобы он отображался? |
|||
1
Михаил Козлов
03.10.14
✎
12:20
|
Само поле для отбора в опциях построителя {ГДЕ ...} присутствует?
|
|||
2
vlad_161
03.10.14
✎
12:36
|
Процедура НастроитьПостроительОтчета(ПостроительОбъект) Экспорт
МассивДопустимыхТиповНоменклатуры = Новый Массив; МассивДопустимыхТиповНоменклатуры.Добавить(Перечисления.ТипыНоменклатуры.Товар); ПостроительОбъект.Параметры.Вставить("МассивДопустимыхТиповНоменклатуры", МассивДопустимыхТиповНоменклатуры); ПостроительОбъект.Текст = "ВЫБРАТЬ | Товары.Ссылка КАК НоменклатураСсылка, | Товары.БазоваяЕдиницаИзмерения КАК ЕдиницаИзмерения, | Товары.ЕдиницаХраненияОстатков КАК ЕдиницаДляШтрихКода, | Товары.ВидНоменклатуры.Наименование КАК ВидНоменклатуры, | Товары.ВидНоменклатуры.ТипНоменклатуры КАК ТипНоменклатуры, | ХарактеристикиНоменклатуры.Наименование КАК ХарактеристикаНаименование, | ВЫБОР | КОГДА ХарактеристикиНоменклатуры.Ссылка ЕСТЬ NULL | ТОГДА ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка) | ИНАЧЕ ХарактеристикиНоменклатуры.Ссылка | КОНЕЦ КАК ХарактеристикаСсылка |ПОМЕСТИТЬ Товары |ИЗ | Справочник.Номенклатура КАК Товары | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ХарактеристикиНоменклатуры КАК ХарактеристикиНоменклатуры | ПО Товары.Ссылка = ХарактеристикиНоменклатуры.Владелец |ГДЕ Истина | И Товары.ЭтоГруппа = ЛОЖЬ | И Товары.ВидНоменклатуры.ТипНоменклатуры В(&МассивДопустимыхТиповНоменклатуры) |{ГДЕ | Товары.Ссылка.* КАК Номенклатура} |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ РАЗЛИЧНЫЕ | НастройкаЗагрузкиЦенКонтрагентов.ТипЦены КАК ТипЦенПоставщиков |ПОМЕСТИТЬ ТипыЦенПоставщиков |ИЗ | РегистрСведений.НастройкаЗагрузкиЦенКонтрагентов КАК НастройкаЗагрузкиЦенКонтрагентов |ГДЕ | НастройкаЗагрузкиЦенКонтрагентов.Использование | И НастройкаЗагрузкиЦенКонтрагентов.Поставщик |; //ророро |ВЫБРАТЬ РАЗЛИЧНЫЕ | ЗагруженныйПрайс.Номенклатура, | -5 КАК СвободныйОстаток, //СВН | ЗагруженныйПрайс.Контрагент КАК ПоставщикПодЗаказ //СВН/ |ПОМЕСТИТЬ ТоварыПоставщиков |ИЗ | РегистрСведений.ЗагруженныйПрайс КАК ЗагруженныйПрайс |ГДЕ | ЗагруженныйПрайс.ТипЦен В | (ВЫБРАТЬ | ТипыЦенПоставщиков.ТипЦенПоставщиков | ИЗ | ТипыЦенПоставщиков) | И ЗагруженныйПрайс.Цена > 0 | И НЕ ЗагруженныйПрайс.Номенклатура = ЗНАЧЕНИЕ(справочник.Номенклатура.пустаяссылка) | |//////////////////////////////////////////////////////////////////////////////// |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | СгруппированныйЗапрос.Номенклатура КАК НоменклатураСсылка, | ВЫБОР | КОГДА СгруппированныйЗапрос.Корректировка < 0 | ТОГДА СгруппированныйЗапрос.Количество + СгруппированныйЗапрос.Корректировка | ИНАЧЕ СгруппированныйЗапрос.Количество | КОНЕЦ КАК СвободныйОстаток |ПОМЕСТИТЬ Своб одныеОстатки1 |ИЗ | (ВЫБРАТЬ | ВложенныйЗапрос.Номенклатура КАК Номенклатура, | СУММА(ВложенныйЗапрос.Количество) КАК Количество, | СУММА(ВложенныйЗапрос.Корректировка) КАК Корректировка | ИЗ | (ВЫБРАТЬ | ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура, | ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0) КАК Количество, | 0 КАК Корректировка | ИЗ | РегистрНакопления.ПартииТоваровНаСкладах.Остатки( | , | Номенклатура В | (ВЫБРАТЬ РАЗЛИЧНЫЕ | Товары.НоменклатураСсылка | ИЗ | Товары) | И Качество = ЗНАЧЕНИЕ(Справочник.Качество.Новый) {(Организация).* КАК Организация, (Склад).* КАК Склад}) КАК ТоварыНаСкладахОстатки | | ОБЪЕДИНИТЬ ВСЕ | | ВЫБРАТЬ | ЗаказыПокупателейОстаток.Номенклатура, | ВЫБОР | КОГДА КОНЕЦПЕРИОДА(ЗаказыПокупателейОстаток.ЗаказПокупателя.ДатаОтгрузки, ДЕНЬ) <= &ДатаОтчета | ТОГДА ЕСТЬNULL(-ЗаказыПокупателейОстаток.КоличествоОстаток, 0) | ИНАЧЕ 0 | КОНЕЦ, | ВЫБОР | КОГДА ЗаказыПокупателейОстаток.ЗаказПокупателя.ДатаОтгрузки > &ДатаОтчета | ТОГДА ЕСТЬNULL(-ЗаказыПокупателейОстаток.КоличествоОстаток, 0) | ИНАЧЕ 0 | КОНЕЦ | ИЗ | РегистрНакопления.ЗаказыПокупателей.Остатки( | , | Номенклатура В | (ВЫБРАТЬ РАЗЛИЧНЫЕ | Товары.НоменклатураСсылка | ИЗ | Товары) {(ЗаказПокупателя.Организация).* КАК Организация, (ВЫРАЗИТЬ(ЗаказПокупателя.СкладГруппа КАК Справочник.Склады)).* КАК Склад}) КАК ЗаказыПокупателейОстаток | | ОБЪЕДИНИТЬ ВСЕ | | ВЫБРАТЬ | ЗаказыПоставщикамОстаток.Номенклатура, | ВЫБОР | КОГДА КОНЕЦПЕРИОДА(ЗаказыПоставщикамОстаток.ЗаказПоставщику.ДатаПоступления, ДЕНЬ) <= &ДатаОтчета | ТОГДА ЕСТЬNULL(ЗаказыПоставщикамОстаток.КоличествоОстаток, 0) | ИНАЧЕ 0 | КОНЕЦ, | ВЫБОР | КОГДА ЗаказыПоставщикамОстаток.ЗаказПоставщику.ДатаПоступления > &ДатаОтчета | ТОГДА ЕСТЬNULL(ЗаказыПоставщикамОстаток.КоличествоОстаток, 0) | ИНАЧЕ 0 | КОНЕЦ | ИЗ | РегистрНакопления.ЗаказыПоставщикам.Остатки( | , | Номенклатура В | (ВЫБРАТЬ РАЗЛИЧНЫЕ | Товары.НоменклатураСсылка | ИЗ | Товары) {(ЗаказПоставщику.Организация).* КАК Организация, (ЗаказПоставщику.Склад).* КАК Склад}) КАК ЗаказыПоставщикамОстаток | | ОБЪЕДИНИТЬ ВСЕ | | ВЫБРАТЬ | ВнутренниеЗаказыПриход.Номенклатура, | ВЫБОР | КОГДА КОНЕЦПЕРИОДА(ВнутренниеЗаказыПриход.ВнутреннийЗаказ.ДатаПоступления, ДЕНЬ) <= &ДатаОтчета | ТОГДА ЕСТЬNULL(ВнутренниеЗаказыПриход.КоличествоОстаток, 0) | ИНАЧЕ 0 | КОНЕЦ, | ВЫБОР | КОГДА ВнутренниеЗаказыПриход.ВнутреннийЗаказ.ДатаПоступления > &ДатаОтчета | ТОГДА ЕСТЬNULL(ВнутренниеЗаказыПриход.КоличествоОстаток, 0) | ИНАЧЕ 0 | КОНЕЦ | ИЗ | РегистрНакопления.ВнутренниеЗаказы.Остатки( | , | Номенклатура В | (ВЫБРАТЬ РАЗЛИЧНЫЕ | Товары.НоменклатураСсылка | ИЗ | Товары) {(ВнутреннийЗаказ.Организация).* КАК Организация, (Заказчик).* КАК Склад}) КАК ВнутренниеЗаказыПриход | | ОБЪЕДИНИТЬ ВСЕ | | ВЫБРАТЬ | ВнутренниеЗаказыРасход.Номенклатура, | ВЫБОР | КОГДА КОНЕЦПЕРИОДА(ВнутренниеЗаказыРасход.ВнутреннийЗаказ.ДатаОтгрузки, ДЕНЬ) <= &ДатаОтчета | ТОГДА ЕСТЬNULL(-ВнутренниеЗаказыРасход.КоличествоОстаток, 0) | ИНАЧЕ 0 | КОНЕЦ, | ВЫБОР | КОГДА ВнутренниеЗаказыРасход.ВнутреннийЗаказ.ДатаОтгрузки > &ДатаОтчета | ТОГДА ЕСТЬNULL(-ВнутренниеЗаказыРасход.КоличествоОстаток, 0) | ИНАЧЕ 0 | КОНЕЦ | ИЗ | РегистрНакопления.ВнутренниеЗаказы.Остатки( | , | Номенклатура В | (ВЫБРАТЬ РАЗЛИЧНЫЕ | Товары.НоменклатураСсылка | ИЗ | Товары) {(ВнутреннийЗаказ.Организация).* КАК Организация, (ВЫРАЗИТЬ(ВнутреннийЗаказ.ПодразделениеИсполнитель КАК Справочник.Склады)).* КАК Склад}) КАК ВнутренниеЗаказыРасход) КАК ВложенныйЗапрос | | СГРУППИРОВАТЬ ПО | ВложенныйЗапрос.Номенклатура) КАК СгруппированныйЗапрос |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | СборныйОстаток.НоменклатураСсылка, | МАКСИМУМ(СборныйОстаток.СвободныйОстаток) КАК СвободныйОстаток, //СВН | СборныйОстаток.ПоставщикПодЗаказ //СВН/ |ПОМЕСТИТЬ СвободныеОстатки |ИЗ | (ВЫБРАТЬ | СвободныеОстатки1.НоменклатураСсылка КАК НоменклатураСсылка, | ВЫБОР КОГДА СвободныеОстатки1.СвободныйОстаток<0 | ТОГДА 0 | ИНАЧЕ СвободныеОстатки1.СвободныйОстаток | КОНЕЦ КАК СвободныйОстаток, //СВН | NULL КАК ПоставщикПодЗаказ //СВН/ | ИЗ | СвободныеОстатки1 КАК СвободныеОстатки1 | ГДЕ СвободныеОстатки1.СвободныйОстаток > 0 | | ОБЪЕДИНИТЬ ВСЕ | | ВЫБРАТЬ | ТоварыПоставщиков.Номенклатура, | ТоварыПоставщиков.СвободныйОстаток, //СВН | ТоварыПоставщиков.ПоставщикПодЗаказ КАК ПоставщикПодЗаказ //СВН/ | ИЗ | ТоварыПоставщиков КАК ТоварыПоставщиков | ГДЕ ТоварыПоставщиков.СвободныйОстаток <0 | ) КАК СборныйОстаток | |СГРУППИРОВАТЬ ПО | СборныйОстаток.НоменклатураСсылка, //СВН | СборныйОстаток.ПоставщикПодЗаказ //СВН/ |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | Товары.НоменклатураСсылка КАК НоменклатураСсылка, | Товары.ЕдиницаИзмерения КАК ЕдиницаИзмерения, | Товары.ЕдиницаДляШтрихКода КАК ЕдиницаДляШтрихКода, | Товары.ВидНоменклатуры КАК ВидНоменклатуры, | Товары.ТипНоменклатуры КАК ТипНоменклатуры, | РегистрШтрихКоды.Штрихкод КАК ШтрихКод, | Товары.ХарактеристикаСсылка КАК ХарактеристикаСсылка, | ЗначенияСвойствХарактеристик.Свойство КАК ХарактеристикаСвойство, | ЗначенияСвойствХарактеристик.Значение КАК ХарактеристикаЗначениеСвойства, | ВЫБОР | КОГДА ЦеныНоменклатуры.Цена ЕСТЬ NULL | ТОГДА ЦеныНоменклатурыБезХарактеристики.ТипЦен | ИНАЧЕ ЦеныНоменклатуры.ТипЦен | КОНЕЦ КАК ТипЦен, | ВЫБОР | КОГДА ЦеныНоменклатуры.Цена ЕСТЬ NULL | ТОГДА ЦеныНоменклатурыБезХарактеристики.Валюта | ИНАЧЕ ЦеныНоменклатуры.Валюта | КОНЕЦ КАК Валюта, | ВЫБОР | КОГДА ЦеныНоменклатуры.Цена ЕСТЬ NULL | ТОГДА ЦеныНоменклатурыБезХарактеристики.Цена | ИНАЧЕ ЦеныНоменклатуры.Цена | КОНЕЦ КАК Цена, | ВЫБОР | КОГДА ЦеныНоменклатуры.Цена ЕСТЬ NULL | ТОГДА ЦеныНоменклатурыБезХарактеристики.ЕдиницаИзмерения | ИНАЧЕ ЦеныНоменклатуры.ЕдиницаИзмерения | КОНЕЦ КАК ЕдиницаИзмеренияЦены, | ЕСТЬNULL(СвободныеОстатки.СвободныйОстаток, 0) КАК Остаток, | ЗначенияСвойствОбъектов.Значение КАК СвойствоНоменклатурыЗначение, | ЗначенияСвойствОбъектов.Свойство КАК СвойствоНоменклатуры, //СВН | СвободныеОстатки.ПоставщикПодЗаказ КАК ПоставщикПодЗаказ //СВН/ |ИЗ | Товары КАК Товары | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствХарактеристик | ПО (ЗначенияСвойствХарактеристик.Объект = Товары.ХарактеристикаСсылка) | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.Штрихкоды КАК РегистрШтрихКоды | ПО Товары.НоменклатураСсылка = РегистрШтрихКоды.Владелец | И Товары.ХарактеристикаСсылка = РегистрШтрихКоды.ХарактеристикаНоменклатуры | И Товары.ЕдиницаДляШтрихКода = РегистрШтрихКоды.ЕдиницаИзмерения | ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ | ЗначенияСвойствОбъектов.Объект КАК Объект, | ЗначенияСвойствОбъектов.Свойство КАК Свойство, | ЗначенияСвойствОбъектов.Значение КАК Значение | ИЗ | РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов | ГДЕ | не ЗначенияСвойствОбъектов.Свойство.ПометкаУдаления | и (ЗначенияСвойствОбъектов.Свойство.НазначениеСвойства = ЗНАЧЕНИЕ(ПланВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Справочник_Номенклатура) | или ЗначенияСвойствОбъектов.Свойство.НазначениеСвойства = ЗНАЧЕНИЕ(ПланВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Справочник_ВидыНоменклатуры)) | {ГДЕ | ЗначенияСвойствОбъектов.Свойство КАК Свойство}) КАК ЗначенияСвойствОбъектов | ПО Товары.НоменклатураСсылка = ЗначенияСвойствОбъектов.Объект | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаОтчета, {(ТипЦен).*}) КАК ЦеныНоменклатуры | ПО Товары.НоменклатураСсылка = ЦеныНоменклатуры.Номенклатура | И Товары.ХарактеристикаСсылка = ЦеныНоменклатуры.ХарактеристикаНоменклатуры | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаОтчета, {(ТипЦен).*}) КАК ЦеныНоменклатурыБезХарактеристики | ПО Товары.НоменклатураСсылка = ЦеныНоменклатурыБезХарактеристики.Номенклатура | И (ЦеныНоменклатурыБезХарактеристики.ХарактеристикаНоменклатуры = ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка)) | ЛЕВОЕ СОЕДИНЕНИЕ СвободныеОстатки КАК СвободныеОстатки | ПО Товары.НоменклатураСсылка = СвободныеОстатки.НоменклатураСсылка |{ГДЕ | (ВЫБОР | КОГДА ЦеныНоменклатуры.Цена ЕСТЬ NULL | ТОГДА ЦеныНоменклатурыБезХарактеристики.Цена | ИНАЧЕ ЦеныНоменклатуры.Цена | КОНЕЦ) КАК Цена, | (ЕСТЬNULL(СвободныеОстатки.СвободныйОстаток, 0)) КАК Остаток} |ИТОГИ | МАКСИМУМ(ЕдиницаИзмерения), | МАКСИМУМ(ЕдиницаДляШтрихКода), | МАКСИМУМ(ВидНоменклатуры), | МАКСИМУМ(ТипНоменклатуры), | МАКСИМУМ(ШтрихКод), | МАКСИМУМ(ХарактеристикаЗначениеСвойства), | МАКСИМУМ(ТипЦен), | МАКСИМУМ(Валюта), | МАКСИМУМ(Цена), | МАКСИМУМ(ЕдиницаИзмеренияЦены), | МАКСИМУМ(Остаток), | МАКСИМУМ(СвойствоНоменклатурыЗначение) |ПО | НоменклатураСсылка, //СВН | ПоставщикПодЗаказ, //СВН/ | ХарактеристикаСсылка, | ХарактеристикаСвойство, | СвойствоНоменклатуры"; КонецПроцедуры |
|||
3
vlad_161
03.10.14
✎
12:39
|
мои правки в существующем, рабочем запросе выделены
//СВН .... //СВН/ |
|||
4
vlad_161
03.10.14
✎
12:43
|
смысл корректировки - вытянуть отбор
по измерению Контрагент регистра накопления ЗагруженныйПрайс |
|||
5
Михаил Козлов
03.10.14
✎
12:45
|
Тогда он должен быть в секции построителя ГДЕ.
Сейчас какие отборы возможны? |
|||
6
vlad_161
03.10.14
✎
12:47
|
+Номенклатура
+организация Остаток Свойство +Остатки по складам +Тип Цен Цена |
|||
7
vlad_161
03.10.14
✎
12:52
|
в коде присутствует также процедура
Процедура ЗаполнитьОтборПостроителя(ПостроительОбъект) Экспорт ОтборКоличество = ПостроительОбъект.Отбор.Количество(); Сообщить(Строка(ПостроительОбъект.Отбор)); Для Н = 1 По ОтборКоличество Цикл ПостроительОбъект.Отбор.Удалить(ОтборКоличество - Н); КонецЦикла; ПостроительОбъект.Отбор.Добавить("Номенклатура", , "Номенклатура"); ПостроительОбъект.Отбор.Добавить("Организация", , "Организация"); //ПостроительОбъект.Отбор.Добавить("ПоставщикПодЗаказ", , "Поставщик Под Заказ"); //СВН ПостроительОбъект.Отбор.Добавить("ТипЦен", , "Тип цен"); ПостроительОбъект.ДоступныеПоля.ТипЦен.Представление = "Тип цен"; ПостроительОбъект.Отбор.Добавить("Склад", , "Остатки по складам"); ПостроительОбъект.ДоступныеПоля.Склад.Представление = "Остатки по складам"; ПостроительОбъект.Отбор.Добавить("Остаток", , "Остаток"); ПостроительОбъект.ДоступныеПоля.Остаток.Представление = "Остаток"; ПостроительОбъект.Отбор.Добавить("Цена", ,"Цена"); ПостроительОбъект.ДоступныеПоля.Цена.Представление = "Цена"; //СВН //ПостроительОбъект.Отбор.Добавить("ПоставщикПодЗаказ", , "Поставщик Под Заказ"); //ПостроительОбъект.ДоступныеПоля.ПоставщикПодЗаказ.Представление = "Поставщик Под Заказ"; //СВН/ КонецПроцедуры Но в ней отбор также частично не совпадает с выводимым, а при попытке вставить закомментированный код выходит ошибка ... в параметре "1" (Добавить) |
|||
8
Михаил Козлов
03.10.14
✎
12:56
|
Попробуйте в секции, которую Вы добавили
//ророро |ВЫБРАТЬ РАЗЛИЧНЫЕ | ЗагруженныйПрайс.Номенклатура, | -5 КАК СвободныйОстаток, //СВН | ЗагруженныйПрайс.Контрагент КАК ПоставщикПодЗаказ //СВН/ |ПОМЕСТИТЬ ТоварыПоставщиков |ИЗ | РегистрСведений.ЗагруженныйПрайс КАК ЗагруженныйПрайс |ГДЕ | ЗагруженныйПрайс.ТипЦен В | (ВЫБРАТЬ | ТипыЦенПоставщиков.ТипЦенПоставщиков | ИЗ | ТипыЦенПоставщиков) | И ЗагруженныйПрайс.Цена > 0 | И НЕ ЗагруженныйПрайс.Номенклатура = ЗНАЧЕНИЕ(справочник.Номенклатура.пустаяссылка) | |//////////////////////////////////////////////////////////////////////////////// указать опцию построителя, по аналогии в первой таблицей (по номенклатуре) |{ГДЕ | Товары.Ссылка.* КАК Номенклатура} |
|||
9
vlad_161
06.10.14
✎
16:24
|
Вставил
|{ГДЕ | ЗагруженныйПрайс.Контрагент.Ссылка.* КАК ПоставщикНаЗаказ} все что написал до этого удалил, все работает как надо, Михаил СПАСИБО |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |