eComm+

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

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

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


horoshop_designer_utbas_provider

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


Регистр сведений "eComm_ОстаткиПоставщиков"

Добавляем непериодический независимый регистр сведений «eComm_ОстаткиПоставщиков» Измерения: Номенклатура, Характеристика Ресурс: Наличие (Булево)

Общий модуль "eCommСерверДоработки"

Добавим метод "ПередУстановкойТекстаЗапросаИнициализацииДанныхВыгрузки"

Процедура ПередУстановкойТекстаЗапросаИнициализацииДанныхВыгрузки(СтруктураНастроек, ТекстЗапроса) Экспорт
	
	ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ВрТабТаблицаТоваров.КоличествоОстаток ", "	ВЫБОР
																			|		КОГДА ВрТабТаблицаТоваров.КоличествоОстаток > 0
																			|			ТОГДА ВрТабТаблицаТоваров.КоличествоОстаток
																			|		КОГДА ЕСТЬNULL(eComm_ОстаткиПоставщиков.Наличие, ЛОЖЬ) = ИСТИНА
																			|			ТОГДА 1
																			|		ИНАЧЕ 0
																			|	КОНЕЦ ");
	ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "//ДОПОЛНИТЕЛЬНЫЕ СОЕДИНЕНИЯ", "	ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.eComm_ОстаткиПоставщиков КАК eComm_ОстаткиПоставщиков
																			|	ПО ВрТабТаблицаТоваров.Номенклатура = eComm_ОстаткиПоставщиков.Номенклатура
																			|		И ВрТабТаблицаТоваров.ХарактеристикаНоменклатуры = eComm_ОстаткиПоставщиков.Характеристика");
	

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

Добавим метод "ВернутьНаличиеТоваровПоставщика"

Функция ВернутьНаличиеТоваровПоставщика(Номенклатура) Экспорт

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

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

Общий модуль "eCommСерверПереопределяемый"

Переопределим метод "ПередУстановкойТекстаЗапросаИнициализацииДанныхВыгрузки"

Процедура ПередУстановкойТекстаЗапросаИнициализацииДанныхВыгрузки(СтруктураНастроек, ТекстЗапроса) Экспорт

	eCommСерверДоработки.ПередУстановкойТекстаЗапросаИнициализацииДанныхВыгрузки(СтруктураНастроек, ТекстЗапроса);

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

Форма элемента справочника "Номенклатура"

Добавим реквизиты и элементы на форму: https://prnt.sc/ul6nzz

В конце метода «ПриСозданииЧтенииНаСервере» добавим:

	
	//++
	eComm_ИспользоватьХарактеристики = НЕ Объект.ИспользованиеХарактеристик = Перечисления.ВариантыИспользованияХарактеристикНоменклатуры.НеИспользовать;
	
	Элементы.eComm_ОстаткиНоменклатура.Видимость = НЕ eComm_ИспользоватьХарактеристики;
	Элементы.eComm_ОстаткиХарактеристика.Видимость = eComm_ИспользоватьХарактеристики;
		
	Набор = РегистрыСведений.eComm_ОстаткиПоставщиков.СоздатьНаборЗаписей();
	Набор.Загрузить(eCommСерверДоработки.ВернутьНаличиеТоваровПоставщика(Объект.Ссылка));
	ЗначениеВДанныеФормы(Набор,eComm_ОстаткиПоставщиков);
	//--
horoshop_designer_utbas_provider.1638292835.txt.gz · Последнее изменение: 2021/11/30 19:20 — webmaster