Свойство конфигурации “Использовать управляемые формы в обычном приложении” Флаг “Использовать управляемые формы в обычном приложении” должен быть установлен
В момент необходимо проигнорировать зависимости и нажать кнопку «Продолжить»
Имя реквизита | Синоним | Тип |
---|---|---|
eComm_ИсточникЗаказа | Источник заказа | СправочникСсылка.eComm_УчетныеЗаписи |
eComm_СостояниеЗаказа | Состояние заказа | СправочникСсылка.eComm_СостоянияЗаказовПокупателей |
Не будем забывать о представлении синонима на разных языках:
Добавляем на форму элементы с помощью кода в конце процедуры модуля формы “ПередОткрытием”:
//++ ingenum.com.ua / Торговые площадки eCommСервер.ЗаказПокупателя_ФормаДокумента_ПередОткрытием(ЭтаФорма, Отказ, СтандартнаяОбработка); //-- ingenum
Добавим на Панель страницу «eComm» и табличной поле «ИнтернетТовары» (тип: «ДеревоЗначений», Начальное отображение дерева: «Раскрывать все уровни»)
Колонки табличного поля должны состоять:
Имя колонки | Синоним | Тип | Отображать иерархию |
---|---|---|---|
Владелец | Источник заказа | СправочникСсылка.eComm_УчетныеЗаписи | Истина |
ХарактеристикаНоменклатуры | Характеристика номенклатуры | СправочникСсылка.ХарактеристикиНоменклатуры | Ложь |
ИнтернетТовар | Интернет-товар | СправочникСсылка.eComm_ИнтернетТовары | Ложь |
Код | Коды | Строка(11) | Ложь |
Категория | Категория | СправочникСсылка.eComm_КатегорииТоваров | Ложь |
Отключить | Отключено | Булево | Ложь |
В конце обработчика событий формы «ПередОткрытием» размещаем вызов метода:
eCommСерверДоработки.ПрочитатьИнтернетТовары(ЭтаФорма); //++ eComm+
Процедура ПрочитатьИнтернетТовары(Форма) Экспорт Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Номенклатура.Ссылка КАК Номенклатура, | ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка) КАК ХарактеристикаНоменклатуры |ПОМЕСТИТЬ НоменклатураХарактеристика |ИЗ | Справочник.Номенклатура КАК Номенклатура |ГДЕ | (НЕ Номенклатура.ВестиУчетПоХарактеристикам | ИЛИ НЕ &ИспользоватьХарактеристики) | И НЕ Номенклатура.ЭтоГруппа | И Номенклатура.Ссылка = &Ссылка | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | Номенклатура.Ссылка, | ЕСТЬNULL(ХарактеристикиНоменклатуры.Ссылка, ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка)) |ИЗ | Справочник.Номенклатура КАК Номенклатура | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ХарактеристикиНоменклатуры КАК ХарактеристикиНоменклатуры | ПО Номенклатура.Ссылка = ХарактеристикиНоменклатуры.Владелец |ГДЕ | &ИспользоватьХарактеристики | И Номенклатура.ВестиУчетПоХарактеристикам | И Номенклатура.Ссылка = &Ссылка |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | НоменклатураХарактеристика.Номенклатура, | НоменклатураХарактеристика.ХарактеристикаНоменклатуры, | eComm_УчетныеЗаписи.Ссылка КАК Владелец |ПОМЕСТИТЬ НоменклатураХаратктеристикаВладелец |ИЗ | НоменклатураХарактеристика КАК НоменклатураХарактеристика | ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.eComm_УчетныеЗаписи КАК eComm_УчетныеЗаписи | ПО (ИСТИНА) |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | НоменклатураХаратктеристикаВладелец.Номенклатура, | НоменклатураХаратктеристикаВладелец.ХарактеристикаНоменклатуры, | НоменклатураХаратктеристикаВладелец.Владелец КАК Владелец, | eComm_ИнтернетТовары.Ссылка КАК ИнтернетТовар, | eComm_ИнтернетТовары.Категория, | eComm_ИнтернетТовары.Отключить, | eComm_ИнтернетТовары.Код |ИЗ | НоменклатураХаратктеристикаВладелец КАК НоменклатураХаратктеристикаВладелец | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.eComm_ИнтернетТовары КАК eComm_ИнтернетТовары | ПО НоменклатураХаратктеристикаВладелец.Номенклатура = eComm_ИнтернетТовары.Номенклатура | И НоменклатураХаратктеристикаВладелец.ХарактеристикаНоменклатуры = eComm_ИнтернетТовары.ХарактеристикаНоменклатуры | И НоменклатураХаратктеристикаВладелец.Владелец = eComm_ИнтернетТовары.Владелец |ИТОГИ ПО | Владелец"; Запрос.УстановитьПараметр("ИспользоватьХарактеристики" , Константы.ИспользоватьХарактеристикиНоменклатуры.Получить()); Запрос.УстановитьПараметр("Ссылка" , Форма.Ссылка); Форма.ИнтернетТовары = Запрос.Выполнить().Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкам); КонецПроцедуры
Разместим в конце списка методов модуля формы метод «ИнтернетТоварыВыбор» и привяжем его к событию «Выбор» элемента формы «ИнтернетТовары»:
Процедура ИнтернетТоварыВыбор(Элемент, ВыбраннаяСтрока, Колонка, СтандартнаяОбработка) //++ eComm+ СтандартнаяОбработка = Ложь; ТекДанные = ЭлементыФормы.ИнтернетТовары.ТекущиеДанные; ПараметрыФормы = Новый Структура("Ключ", ТекДанные.ИнтернетТовар); Если НЕ ЗначениеЗаполнено(ТекДанные.Номенклатура) Тогда Сообщить("Выберите строку интернет-товара вместо группировки"); Возврат; КонецЕсли; Если НЕ ЗначениеЗаполнено(ТекДанные.ИнтернетТовар) Тогда ПараметрыЗаполнения = Новый Структура("Номенклатура, ХарактеристикаНоменклатуры, Владелец", ТекДанные.Номенклатура, ТекДанные.ХарактеристикаНоменклатуры, ТекДанные.Владелец); ПараметрыФормы.Вставить("ЗначенияЗаполнения", ПараметрыЗаполнения); КонецЕсли; Если НЕ ТекДанные = Неопределено Тогда ОткрытьФорму("Справочник.eComm_ИнтернетТовары.ФормаОбъекта", ПараметрыФормы, ЭтаФорма); КонецЕсли; КонецПроцедуры
Добавим в интерфейс «Полный» (или какой-либо другой требуемый интерфейс) подменю «eComm» с пунктами: «Учетные записи» и «Интернет-товары»
Если у вас конфигурации «Управление производственным предприятием» или «Управление торговлей 2.3» дополнительно необходимо переназначить имя конфигурации в общем модуле «eCommСерверПереопределяемый»
Функция ИмяКонфигурации(СтандартнаяОбработка) Экспорт // ДЛЯ УправлениеТорговлейДляУкраины версии 2.3 // НЕОБХОДИМО ПЕРЕОПРЕДЕЛИТЬ ИМЯ КОНФИГУРАЦИИ // СЛЕДУЮЩИМ КОДОМ (Код раскомментировать): СтандартнаяОбработка = Ложь; Возврат "УправлениеТорговымПредприятиемДляУкраины"; КонецФункции