eComm+

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

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

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


prom_designer_utp

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

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

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

prom_designer_utp.txt · Последнее изменение: 2024/04/29 15:06 — webmaster