eComm+

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

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

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


horoshop_designer_utbas_provider

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
horoshop_designer_utbas_provider [2020/09/21 17:20]
webmaster
horoshop_designer_utbas_provider [2023/01/05 18:59] (текущий)
webmaster [Форма элемента справочника "Номенклатура"]
Строка 1: Строка 1:
-Добавляем непериодический независимый регистр сведений "ing_ОстаткиПоставщиков"+==== Регистр сведений "eComm_ОстаткиПоставщиков" ==== 
 +Добавляем непериодический независимый регистр сведений "eComm_ОстаткиПоставщиков"
 Измерения: Номенклатура, Характеристика Измерения: Номенклатура, Характеристика
 Ресурс: Наличие (Булево) Ресурс: Наличие (Булево)
  
-В модуле "eCommСерверДоработки" добавить метод "ПередУстановкойТекстаЗапросаИнициализацииДанныхВыгрузки"+==== Общий модуль "eCommСерверДоработки" ==== 
 +=== Добавим метод "ПередУстановкойТекстаЗапросаИнициализацииДанныхВыгрузки" ===
  
 <code> <code>
Строка 11: Строка 13:
  | КОГДА ВрТабТаблицаТоваров.КоличествоОстаток > 0  | КОГДА ВрТабТаблицаТоваров.КоличествоОстаток > 0
  | ТОГДА ВрТабТаблицаТоваров.КоличествоОстаток  | ТОГДА ВрТабТаблицаТоваров.КоличествоОстаток
- | КОГДА ЕСТЬNULL(ing_ОстаткиПоставщиков.Наличие, ЛОЖЬ) = ИСТИНА+ | КОГДА ЕСТЬNULL(eComm_ОстаткиПоставщиков.Наличие, ЛОЖЬ) = ИСТИНА
  | ТОГДА 1  | ТОГДА 1
  | ИНАЧЕ 0  | ИНАЧЕ 0
  | КОНЕЦ ");  | КОНЕЦ ");
- ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "//ДОПОЛНИТЕЛЬНЫЕ СОЕДИНЕНИЯ", " ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ing_ОстаткиПоставщиков КАК ing_ОстаткиПоставщиков + ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "//ДОПОЛНИТЕЛЬНЫЕ СОЕДИНЕНИЯ", " ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.eComm_ОстаткиПоставщиков КАК eComm_ОстаткиПоставщиков 
- | ПО ВрТабТаблицаТоваров.Номенклатура = ing_ОстаткиПоставщиков.Номенклатура + | ПО ВрТабТаблицаТоваров.Номенклатура = eComm_ОстаткиПоставщиков.Номенклатура 
- | И ВрТабТаблицаТоваров.ХарактеристикаНоменклатуры = ing_ОстаткиПоставщиков.Характеристика");+ | И ВрТабТаблицаТоваров.ХарактеристикаНоменклатуры = eComm_ОстаткиПоставщиков.Характеристика");
   
  
Строка 23: Строка 25:
 </code> </code>
  
-В модуле "eCommСерверПереопределяемый" переопределить метод "ПередУстановкойТекстаЗапросаИнициализацииДанныхВыгрузки"+=== Добавим метод "ВернутьНаличиеТоваровПоставщика" === 
 +<code> 
 +Функция ВернутьНаличиеТоваровПоставщика(Номенклатура) Экспорт 
 + 
 + Запрос = Новый Запрос; 
 + Запрос.Текст =  
 + "ВЫБРАТЬ 
 + | ВрТабНоменклатура.Ссылка КАК Номенклатура, 
 + | ЕСТЬNULL(СпрХарактеристикиНоменклатуры.Ссылка, ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка)) КАК Характеристика 
 + |ПОМЕСТИТЬ ВрТабНоменклатураХарактеристии 
 + |ИЗ 
 + | Справочник.Номенклатура КАК ВрТабНоменклатура 
 + | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ХарактеристикиНоменклатуры КАК СпрХарактеристикиНоменклатуры 
 + | ПО (ВрТабНоменклатура.Ссылка = СпрХарактеристикиНоменклатуры.Владелец 
 + | ИЛИ ВрТабНоменклатура.ВидНоменклатуры = СпрХарактеристикиНоменклатуры.Владелец) 
 + | И (ВрТабНоменклатура.ВидНоменклатуры.ИспользоватьХарактеристики) 
 + | И (СпрХарактеристикиНоменклатуры.ПометкаУдаления = ЛОЖЬ) 
 + |ГДЕ 
 + | ВрТабНоменклатура.Ссылка = &Ссылка 
 + |; 
 +
 + |//////////////////////////////////////////////////////////////////////////////// 
 + |ВЫБРАТЬ 
 + | ВрТабНоменклатураХарактеристии.Номенклатура, 
 + | ВрТабНоменклатураХарактеристии.Характеристика, 
 + | eComm_ОстаткиПоставщиков.Наличие 
 + |ИЗ 
 + | ВрТабНоменклатураХарактеристии КАК ВрТабНоменклатураХарактеристии 
 + | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.eComm_ОстаткиПоставщиков КАК eComm_ОстаткиПоставщиков 
 + | ПО ВрТабНоменклатураХарактеристии.Номенклатура = eComm_ОстаткиПоставщиков.Номенклатура 
 + | И ВрТабНоменклатураХарактеристии.Характеристика = eComm_ОстаткиПоставщиков.Характеристика"; 
 +  
 + Запрос.УстановитьПараметр("Ссылка", Номенклатура); 
 +  
 + Возврат Запрос.Выполнить().Выгрузить(); 
 + 
 +КонецФункции 
 +</code> 
 + 
 + 
 +==== Общий модуль "eCommСерверПереопределяемый" ==== 
 +=== Переопределим метод "ПередУстановкойТекстаЗапросаИнициализацииДанныхВыгрузки" === 
  
 <code> <code>
Строка 32: Строка 76:
 КонецПроцедуры КонецПроцедуры
 </code> </code>
 +
 +
 +==== Форма элемента справочника "Номенклатура" ====
 +Добавим реквизиты и элементы на форму: https://prnt.sc/ul6nzz
 +
 +
 +В конце метода "ПриСозданииЧтенииНаСервере" добавим:
 +<code>
 + //++
 + eComm_ИспользоватьХарактеристики = НЕ Объект.ИспользованиеХарактеристик = Перечисления.ВариантыИспользованияХарактеристикНоменклатуры.НеИспользовать;
 +
 + Элементы.eComm_ОстаткиНоменклатура.Видимость = НЕ eComm_ИспользоватьХарактеристики;
 + Элементы.eComm_ОстаткиХарактеристика.Видимость = eComm_ИспользоватьХарактеристики;
 +
 + Набор = РегистрыСведений.eComm_ОстаткиПоставщиков.СоздатьНаборЗаписей();
 + Набор.Загрузить(eCommСерверДоработки.ВернутьНаличиеТоваровПоставщика(Объект.Ссылка));
 + ЗначениеВДанныеФормы(Набор,eComm_ОстаткиПоставщиков);
 + //--
 +</code>
 +
 +Метод "ИменаСворачиваемыхГрупп" приведем к виду:
 +<code>
 + ИменаСворачиваемыхГрупп.Добавить("Цены");
 + ИменаСворачиваемыхГрупп.Добавить("Шаблоны");
 +
 + ИменаСворачиваемыхГрупп.Добавить("eComm_ОстаткиПоставщиков");       //++ eComm
 +
 + Возврат ИменаСворачиваемыхГрупп;
 +</code>
 +
 +Добавим метод "ПриЗаписиНаСервере" и привяжем его к методам формы:
 +
 +<code>
 +&НаСервере
 +Процедура ПриЗаписиНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи) //++
 + Набор = ДанныеФормыВЗначение(eComm_ОстаткиПоставщиков, Тип("РегистрСведенийНаборЗаписей.eComm_ОстаткиПоставщиков"));
 + Набор.Отбор.Номенклатура.Использование = Истина;
 + Набор.Отбор.Номенклатура.ВидСравнения = ВидСравнения.Равно;
 + Набор.Отбор.Номенклатура.Значение = Объект.Ссылка;
 +    Набор.Записать(Истина);
 +КонецПроцедуры
 +</code>
 +
 +
  
horoshop_designer_utbas_provider.1600698000.txt.gz · Последнее изменение: 2020/09/21 17:20 — webmaster