===== Інтеграція модуля взаємодії з 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|Доработка функционала основной характеристики]]