eComm+

Модулі для BAS / 1С* - розроблено в Україні!

Инструменты пользователя

Инструменты сайта


epicentrk_designer_utp

Это старая версия документа!


Інтеграція модуля взаємодії з API Epicentrk в конфігурацію "Управління торговим підприємством для України 1.2" / "Управління виробничим підприємством для України 1.3" / "Управління торгівлею для України 2.2"

Створення резервної копії бази

Перед інтеграцією необхідно створити резервну копію бази. Не ігноруйте даний крок. Це може зберегти Ваші нерви=)

Увімкнення можливості редагування конфігурації

Якщо конфігурація раніше допрацьовувалась - то одразу переходьте до объединению подсистемы с конфигурацией, так як можливість редагування вже увімкнена

Властивість конфігурації “Использовать управляемые формы в обычном приложении” Прапорець “Использовать управляемые формы в обычном приложении” повинен бути увімкнений

Об'єднання з конфігурацїєю модуля “Торгові майданчики”

У випадку коли файл поставки містить декілька модулів (наприклад Epicentrk.ua, Prom.ua и Rozetka.ua) то потрібно відмітити всі необхідні підсистеми для ВІДПОВІДНОЇ конфігурації

Впевнимось що порядок об'єктів конфігурації не зміниться

Ігноруємо залежності та натискаємо кнопку «Продовжити»

Редагування документа “Заказ покупателя”

Добавление новых реквизитов в документ “Заказ покупателя”

Имя реквизита Синоним Тип
eComm_ИсточникЗаказа Источник заказа СправочникСсылка.eComm_УчетныеЗаписи
eComm_СостояниеЗаказа Состояние заказа СправочникСсылка.eComm_СостоянияЗаказовПокупателей

Не будем забывать о представлении синонима на разных языках:

Редактирование формы документа “Заказ покупателя”

Добавляем на форму элементы с помощью кода в конце процедуры модуля формы “ПередОткрытием”:

//++ ingenum.com.ua / Торговые площадки
	eCommСервер.ЗаказПокупателя_ФормаДокумента_ПередОткрытием(ЭтаФорма, Отказ, СтандартнаяОбработка);
	//-- ingenum

Добавление метода “СостояниеНачалоВыбора”

//++ ingenum.com.ua / Торговые площадки
Процедура СостояниеНачалоВыбора(Элемент, СтандартнаяОбработка)

	СтандартнаяОбработка = Ложь;
	
	ОткрытьФорму("Справочник.eComm_СостоянияЗаказовПокупателей.ФормаВыбора", Новый Структура("УчетнаяЗапись, СостояниеЗаказаПокупателя", ДокументОбъект.eComm_ИсточникЗаказа, ДокументОбъект.eComm_СостояниеЗаказа), Элемент);
	
КонецПроцедуры
//-- ingenum

Редактирование формы списка “Заказ покупателя”

Если нет необходимости отслеживать статусы оплаты заказов то этот пункт можно пропустить

Добавим колонку «СтатусОплаты» на форму списка документов «Заказы покупателей»

Имя колонки Элемент управления ТекстШапки ТолькоПросмотр
СтатусОплаты Поле ввода Статус оплаты Истина

Добавим обработчик «ПриПолученииДанных» для элемента «Список» формы списка «Заказы покупателей»

Процедура СписокПриПолученииДанных(Элемент, ОформленияСтрок)
	
	ТаблицаДокументов = Новый ТаблицаЗначений;
	ТаблицаДокументов.Колонки.Добавить("Документ", Новый ОписаниеТипов("ДокументСсылка.ЗаказПокупателя"));
	Для каждого Строка из ОформленияСтрок цикл
		СтрокаТаблицы = ТаблицаДокументов.Добавить();
		СтрокаТаблицы.Документ = Строка.ДанныеСтроки.Ссылка;
	КонецЦикла;

	МенеджерВременныхТаблиц = новый МенеджерВременныхТаблиц();
	//Запрос для создания временной таблицы
	Запрос = Новый Запрос();
	Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
	Запрос.Текст = "ВЫБРАТЬ 
		|	Таб.Документ КАК Документ
		|	Поместить ВременнаяТаблицаДокументов
		|ИЗ &ТаблицаСсылок КАК Таб";
	Запрос.УстановитьПараметр("ТаблицаСсылок",ТаблицаДокументов);
	Запрос.Выполнить();
	
	//Запрос для получения данных из временных таблиц
	Запрос = Новый Запрос();
	Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
	
	Запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ
	               |	ВременнаяТаблицаДокументов.Документ КАК Документ,
		       |	ЗначенияСвойствОбъектов.Значение КАК СтатусОплаты
	               |ИЗ
	               |	ВременнаяТаблицаДокументов КАК ВременнаяТаблицаДокументов
	               |		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
	               |		ПО (ЗначенияСвойствОбъектов.Объект = ВременнаяТаблицаДокументов.Документ)";
	
	ТаблицаРезультат = Запрос.Выполнить().Выгрузить();
	ТаблицаРезультат.Индексы.Добавить("Документ");

	Для каждого Строка из ОформленияСтрок цикл

		текСсылка = Строка.ДанныеСтроки.Ссылка;
		СтрокаТаблицыРезультат = ТаблицаРезультат.Найти(текСсылка,"Документ");
		Если СтрокаТаблицыРезультат <> Неопределено Тогда
			
			Если ЗначениеЗаполнено(СтрокаТаблицыРезультат.СтатусОплаты) Тогда
				Строка.Ячейки.СтатусОплаты.Значение = СтрокаТаблицыРезультат.СтатусОплаты;
			КонецЕсли;

		КонецЕсли;
		
	КонецЦикла;
	
КонецПроцедуры

Редактирование формы элемента справочника “Номенклатура”

Добавим на Панель страницу «eComm» и табличной поле «ИнтернетТовары» (тип: «ДеревоЗначений», Начальное отображение дерева: «Раскрывать все уровни»)

Колонки табличного поля должны состоять:

Имя колонки Текст шапки Тип Отображать иерархию
Владелец Учетная запись СправочникСсылка.eComm_УчетныеЗаписи Истина
ХарактеристикаНоменклатуры Характеристика номенклатуры СправочникСсылка.ХарактеристикиНоменклатуры Ложь
ИнтернетТовар Интернет-товар СправочникСсылка.eComm_ИнтернетТовары Ложь
Код Коды Строка(11) Ложь
Категория Категория СправочникСсылка.eComm_КатегорииТоваров Ложь
Отключить Отключено Булево Ложь

В конце обработчика событий формы «ПередОткрытием» размещаем вызов метода:

eCommСервер.ПрочитатьИнтернетТовары(ЭтаФорма);      //++ eComm+

Разместим в конце списка методов модуля формы метод «ИнтернетТоварыВыбор» и привяжем его к событию «Выбор» элемента формы «ИнтернетТовары»:

Процедура ИнтернетТоварыВыбор(Элемент, ВыбраннаяСтрока, Колонка, СтандартнаяОбработка)       //++ eComm+
	
	СтандартнаяОбработка = Ложь;
	
	ТекДанные = ЭлементыФормы.ИнтернетТовары.ТекущиеДанные;
	
	ПараметрыФормы = Новый Структура("Ключ", ТекДанные.ИнтернетТовар);
	
	Если НЕ ЗначениеЗаполнено(ТекДанные.Номенклатура) Тогда 
		Сообщить("Выберите строку интернет-товара вместо группировки");
		Возврат;
	КонецЕсли;
	
	Если НЕ ЗначениеЗаполнено(ТекДанные.ИнтернетТовар) Тогда 
		ПараметрыЗаполнения = Новый Структура("Номенклатура, ХарактеристикаНоменклатуры, Владелец", ТекДанные.Номенклатура, ТекДанные.ХарактеристикаНоменклатуры, ТекДанные.Владелец);
		ПараметрыФормы.Вставить("ЗначенияЗаполнения", ПараметрыЗаполнения);
	КонецЕсли;

	Если НЕ ТекДанные = Неопределено Тогда 
		ОткрытьФорму("Справочник.eComm_ИнтернетТовары.ФормаОбъекта", ПараметрыФормы, ЭтаФорма);
	КонецЕсли;
	
КонецПроцедуры

Редактирование интерфейсов

Добавим в интерфейс «Полный» (или какой-либо другой требуемый интерфейс) подменю «eComm» с пунктами: «Учетные записи» и «Интернет-товары»

Дополнительно для УПП и УТ-2.3

Если у вас конфигурации «Управление производственным предприятием» или «Управление торговлей 2.3» дополнительно необходимо переназначить имя конфигурации в общем модуле «eCommСерверПереопределяемый»

Функция ИмяКонфигурации(СтандартнаяОбработка) Экспорт

	// ДЛЯ УправлениеТорговлейДляУкраины версии 2.3
	// НЕОБХОДИМО ПЕРЕОПРЕДЕЛИТЬ ИМЯ КОНФИГУРАЦИИ
	// СЛЕДУЮЩИМ КОДОМ (Код раскомментировать):
	
	СтандартнаяОбработка = Ложь;
	
	Возврат "УправлениеТорговымПредприятиемДляУкраины";

КонецФункции

Процедура КоманднаяПанельТоварыeComm_ПодтвердитьНаличиеEpicentrk(Кнопка)				//++ eComm / Торговые площадки: Epicentrk
	
	Если ЭтаФорма.Модифицированность Тогда 
		Сообщить(НСтр("ru = 'Заказ не сохранен!!! Запишите документ и повторите попытку.'; 
					  |uk = 'Замовлення не збережене!!! Запишіть документ та повторіть спробу.'"));
		Возврат;
	КонецЕсли;
	
	Если ЗначениеЗаполнено(ДокументОбъект.eComm_ИсточникЗаказа)
		И ДокументОбъект.eComm_ИсточникЗаказа.ТорговаяПлощадка = Перечисления.eComm_ТорговыеПлощадки.Epicentrk Тогда 
		ПодтвердитьНаличиеНаСервере();	
	Иначе
		ПоказатьПредупреждение(, НСтр("ru = 'Источник заказа не заполнен или заказ загружен не с сайта ""Epicentrk""'; 
									  |uk = 'Джерело замовлення не заповнене або замовлення завантажене не з сайту ""Epicentrk""'"));
	КонецЕсли;
	
КонецПроцедуры

Процедура ПодтвердитьНаличиеНаСервере()                                                 //++ eComm / Торговые площадки: Epicentrk

	Настройки = eCommСервер.Настройки(ДокументОбъект.eComm_ИсточникЗаказа);
	
	Справочники.eComm_УчетныеЗаписи.ПодтвердитьНаличиеЗагрузитьКонтакты(Настройки, ДокументОбъект);
	ЭтаФорма.Прочитать();	

КонецПроцедуры

Доработка функционала основной характеристики

epicentrk_designer_utp.1761567598.txt.gz · Последнее изменение: 2025/02/24 03:40 (внешнее изменение)