===== Встраивание подсистемы для интеграции с Prom.ua ===== ==== Создание резервной копии базы ==== Не игнорируйте данный шаг. Ваш сон станет крепче=) {{ :1_unf_backup.png?direct&600 |}} ==== Включение возможности редактирования конфигурации ==== Если конфигурация ранее дорабатывалась то сразу переходите к [[#Объединение с конфигурацией модуля “Торговые площадки”|объединению подсистемы с конфигурацией]], так как возможность редактирования уже включена {{ :2_unf_support_open.png?direct&600 |}} {{ :3_unf_support_setting.png?direct&600 |}} Свойство конфигурации “Использовать управляемые формы в обычном приложении” Флаг “Использовать управляемые формы в обычном приложении” должен быть установлен {{ ::utp_forms_settings.png?400 |}} {{ :4_unf_support_question.png?direct&600 |}} {{ :5_unf_support_rules.png?direct |}} ==== Объединение с конфигурацией модуля “Торговые площадки” ==== {{ :6_unf_integrate_open.png?direct&600 |}} {{ :7_unf_integrate_question.png?direct&600 |}} {{ :8_unf_integrate_screen.png?direct&600 |}} {{ :9_unf_integrate_mark.png?direct&600 |}} В случае если файл поставки содержит несколько модулей (например Prom.ua и Rozetka.ua) то необходимо отметить все требуемые подсистемы {{ :10_unf_integrate_select.png?direct |}} Убедимся что порядок объектов конфигурации останется прежним {{ :11_unf_integrate_order.png?direct&600 |}} В момент необходимо проигнорировать зависимости и нажать кнопку "Продолжить" {{ :12_unf_integrate_next.png?direct&600 |}} {{ :13_unf_integrate_rules.png?direct&600 |}} ===== Редактирование документа “Заказ покупателя” ===== ==== Добавление новых реквизитов в документ “Заказ покупателя” ==== ^ Имя реквизита ^ Синоним ^ Тип ^ | eComm_ИсточникЗаказа | Источник заказа | СправочникСсылка.eComm_УчетныеЗаписи | | eComm_СостояниеЗаказа | Состояние заказа | СправочникСсылка.eComm_СостоянияЗаказовПокупателей | Не будем забывать о представлении синонима на разных языках: {{ :14_unf_edit_order.png?direct&600 |}} ==== Редактирование формы документа “Заказ покупателя” ==== Добавляем на форму элементы с помощью кода в конце процедуры модуля формы “ПередОткрытием”: //++ ingenum.com.ua / Торговые площадки eCommСервер.ЗаказПокупателя_ФормаДокумента_ПередОткрытием(ЭтаФорма, Отказ, СтандартнаяОбработка); //-- ingenum Добавление метода “СостояниеНачалоВыбора” //++ ingenum.com.ua / Торговые площадки Процедура СостояниеНачалоВыбора(Элемент, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; ОткрытьФорму("Справочник.eComm_СостоянияЗаказовПокупателей.ФормаВыбора", Новый Структура("УчетнаяЗапись, СостояниеЗаказаПокупателя", ДокументОбъект.eComm_ИсточникЗаказа, ДокументОбъект.eComm_СостояниеЗаказа), Элемент); КонецПроцедуры //-- ingenum ==== Редактирование формы списка “Заказ покупателя” ==== Если нет необходимости отслеживать статусы оплаты заказов то этот пункт можно пропустить Добавим колонку "СтатусОплаты" на форму списка документов "Заказы покупателей" ^ Имя колонки ^ Элемент управления ^ ТекстШапки ^ ТолькоПросмотр ^ | СтатусОплаты | Поле ввода | Статус оплаты | Истина | {{ :screenshot_901.png?600 |}} {{ :screenshot_902.png?400 |}} Добавим обработчик "ПриПолученииДанных" для элемента "Список" формы списка "Заказы покупателей" Процедура СписокПриПолученииДанных(Элемент, ОформленияСтрок) ТаблицаДокументов = Новый ТаблицаЗначений; ТаблицаДокументов.Колонки.Добавить("Документ", Новый ОписаниеТипов("ДокументСсылка.ЗаказПокупателя")); Для каждого Строка из ОформленияСтрок цикл СтрокаТаблицы = ТаблицаДокументов.Добавить(); СтрокаТаблицы.Документ = Строка.ДанныеСтроки.Ссылка; КонецЦикла; МенеджерВременныхТаблиц = новый МенеджерВременныхТаблиц(); //Запрос для создания временной таблицы Запрос = Новый Запрос(); Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц; Запрос.Текст = "ВЫБРАТЬ | Таб.Документ КАК Документ | Поместить ВременнаяТаблицаДокументов |ИЗ &ТаблицаСсылок КАК Таб"; Запрос.УстановитьПараметр("ТаблицаСсылок",ТаблицаДокументов); Запрос.Выполнить(); //Запрос для получения данных из временных таблиц Запрос = Новый Запрос(); Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц; Запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ | ВременнаяТаблицаДокументов.Документ КАК Документ, | ЗначенияСвойствОбъектов.Значение КАК СтатусОплаты |ИЗ | ВременнаяТаблицаДокументов КАК ВременнаяТаблицаДокументов | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов | ПО (ЗначенияСвойствОбъектов.Объект = ВременнаяТаблицаДокументов.Документ)"; ТаблицаРезультат = Запрос.Выполнить().Выгрузить(); ТаблицаРезультат.Индексы.Добавить("Документ"); Для каждого Строка из ОформленияСтрок цикл текСсылка = Строка.ДанныеСтроки.Ссылка; СтрокаТаблицыРезультат = ТаблицаРезультат.Найти(текСсылка,"Документ"); Если СтрокаТаблицыРезультат <> Неопределено Тогда Если ЗначениеЗаполнено(СтрокаТаблицыРезультат.СтатусОплаты) Тогда Строка.Ячейки.СтатусОплаты.Значение = СтрокаТаблицыРезультат.СтатусОплаты; КонецЕсли; КонецЕсли; КонецЦикла; КонецПроцедуры ==== Редактирование формы элемента справочника “Номенклатура” ==== Добавим на Панель страницу "eComm" и табличной поле "ИнтернетТовары" (тип: "ДеревоЗначений", Начальное отображение дерева: "Раскрывать все уровни") {{ ::utp_goods.png?direct&600 |}} Колонки табличного поля должны состоять: ^ Имя колонки ^ Текст шапки ^ Тип ^ Отображать иерархию ^ | Владелец | Учетная запись | СправочникСсылка.eComm_УчетныеЗаписи | Истина | | ХарактеристикаНоменклатуры | Характеристика номенклатуры | СправочникСсылка.ХарактеристикиНоменклатуры | Ложь| | ИнтернетТовар | Интернет-товар | СправочникСсылка.eComm_ИнтернетТовары | Ложь| | Код | Коды | Строка(11) | Ложь| | Категория | Категория | СправочникСсылка.eComm_КатегорииТоваров | Ложь| | Отключить | Отключено | Булево | Ложь| В конце обработчика событий формы "ПередОткрытием" размещаем вызов метода: eCommСервер.ПрочитатьИнтернетТовары(ЭтаФорма); //++ eComm+ Разместим в конце списка методов модуля формы метод "ИнтернетТоварыВыбор" и привяжем его к событию "Выбор" элемента формы "ИнтернетТовары": Процедура ИнтернетТоварыВыбор(Элемент, ВыбраннаяСтрока, Колонка, СтандартнаяОбработка) //++ eComm+ СтандартнаяОбработка = Ложь; ТекДанные = ЭлементыФормы.ИнтернетТовары.ТекущиеДанные; ПараметрыФормы = Новый Структура("Ключ", ТекДанные.ИнтернетТовар); Если НЕ ЗначениеЗаполнено(ТекДанные.Номенклатура) Тогда Сообщить("Выберите строку интернет-товара вместо группировки"); Возврат; КонецЕсли; Если НЕ ЗначениеЗаполнено(ТекДанные.ИнтернетТовар) Тогда ПараметрыЗаполнения = Новый Структура("Номенклатура, ХарактеристикаНоменклатуры, Владелец", ТекДанные.Номенклатура, ТекДанные.ХарактеристикаНоменклатуры, ТекДанные.Владелец); ПараметрыФормы.Вставить("ЗначенияЗаполнения", ПараметрыЗаполнения); КонецЕсли; Если НЕ ТекДанные = Неопределено Тогда ОткрытьФорму("Справочник.eComm_ИнтернетТовары.ФормаОбъекта", ПараметрыФормы, ЭтаФорма); КонецЕсли; КонецПроцедуры ==== Редактирование интерфейсов ==== Добавим в интерфейс "Полный" (или какой-либо другой требуемый интерфейс) подменю "eComm" с пунктами: "Учетные записи" и "Интернет-товары" {{ :utp_interface1.png?direct&600 |}} {{ :utp_interface2.png?direct&600 |}} ==== Дополнительно для УПП и УТ-2.3 ==== Если у вас конфигурации "Управление производственным предприятием" или "Управление торговлей 2.3" дополнительно необходимо переназначить имя конфигурации в общем модуле "eCommСерверПереопределяемый" Функция ИмяКонфигурации(СтандартнаяОбработка) Экспорт // ДЛЯ УправлениеТорговлейДляУкраины версии 2.3 // НЕОБХОДИМО ПЕРЕОПРЕДЕЛИТЬ ИМЯ КОНФИГУРАЦИИ // СЛЕДУЮЩИМ КОДОМ (Код раскомментировать): СтандартнаяОбработка = Ложь; Возврат "УправлениеТорговымПредприятиемДляУкраины"; КонецФункции [[designer_utp_main_characteristic|Доработка функционала основной характеристики]]