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