===== Інтеграція модуля взаємодії з API Epicentrk в конфігурацію "Управління торговим підприємством для України 1.2" / "Управління виробничим підприємством для України 1.3" / "Управління торгівлею для України 2.3" ===== ==== Створення резервної копії бази ==== Перед інтеграцією необхідно створити резервну копію бази. Не ігноруйте даний крок. Це може зберегти Ваші нерви=) {{ :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 |}} У випадку коли файл поставки містить декілька модулів (наприклад Epicentrk.ua, 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 === Підтвердження наявності === Для завантаження контактів покупця епіцентр попередньо вимагає підтвердити наявність товару (обмеження API). Тому замовлення з сайту спочатку завантажується без контактів, а після підтвердження наявності вантажиться решта інформації За необхідності завантаження замовлень з сайту Епіцентр необхідно додати команду "eComm_ПодтвердитьНаличиеEpicentrk" та перенести наступний код в форму замовлення: Процедура КоманднаяПанельТоварыeComm_ПодтвердитьНаличиеEpicentrk(Кнопка) //++ eComm / Торговые площадки: Epicentrk Если ЭтаФорма.Модифицированность Тогда Сообщить(НСтр("ru = 'Заказ не сохранен!!! Запишите документ и повторите попытку.'; |uk = 'Замовлення не збережене!!! Запишіть документ та повторіть спробу.'")); Возврат; КонецЕсли; Если ЗначениеЗаполнено(ДокументОбъект.eComm_ИсточникЗаказа) И ДокументОбъект.eComm_ИсточникЗаказа.ТорговаяПлощадка = Перечисления.eComm_ТорговыеПлощадки.Epicentrk Тогда ПодтвердитьНаличиеНаСервере(); Иначе ПоказатьПредупреждение(, НСтр("ru = 'Источник заказа не заполнен или заказ загружен не с сайта ""Epicentrk""'; |uk = 'Джерело замовлення не заповнене або замовлення завантажене не з сайту ""Epicentrk""'")); КонецЕсли; КонецПроцедуры Процедура ПодтвердитьНаличиеНаСервере() //++ eComm / Торговые площадки: Epicentrk Настройки = eCommСервер.Настройки(ДокументОбъект.eComm_ИсточникЗаказа); Справочники.eComm_УчетныеЗаписи.ПодтвердитьНаличиеЗагрузитьКонтакты(Настройки, ДокументОбъект); ЭтаФорма.Прочитать(); КонецПроцедуры В кінці метода "ПередОткрытием" додамо наступні рядки: Попытка Если ДокументОбъект.eComm_ИсточникЗаказа.ТорговаяПлощадка = Перечисления.eComm_ТорговыеПлощадки.Epicentrk Тогда ЭлементыФормы.КоманднаяПанельТовары.Кнопки.eComm_ИзменитьСтатусНаСервере.Доступность = Истина; КонецЕсли; Исключение КонецПопытки; ==== Редагування форми елемента довідника “Номенклатура” ==== Додамо на Панель сторінку "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|Доработка функционала основной характеристики]]