eComm+

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

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

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


horoshop_designer_unf_provider

Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
horoshop_designer_unf_provider [2023/01/05 18:50]
webmaster
horoshop_designer_unf_provider [2023/06/05 16:36] (текущий)
webmaster
Строка 1: Строка 1:
-https://prnt.sc/DXLLGsrUVcac+==== Регистр сведений "eComm_ОстаткиПоставщиков" ==== 
 +Добавляем непериодический независимый регистр сведений "eComm_ОстаткиПоставщиков" 
 +ИзмеренияНоменклатура, Характеристика 
 +Ресурс: Наличие (Булево)
  
 +
 +
 +==== Общий модуль "eCommСерверДоработки" ====
 +=== Добавим метод "ПередУстановкойТекстаЗапросаИнициализацииДанныхВыгрузки" ===
 +
 +<code>
 +Процедура ПередУстановкойТекстаЗапросаИнициализацииДанныхВыгрузки(СтруктураНастроек, ТекстЗапроса) Экспорт
 +
 + ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ВрТабТаблицаТоваров.КоличествоОстаток ", " ВЫБОР
 + | КОГДА ВрТабТаблицаТоваров.КоличествоОстаток > 0
 + | ТОГДА ВрТабТаблицаТоваров.КоличествоОстаток
 + | КОГДА ЕСТЬNULL(eComm_ОстаткиПоставщиков.Наличие, ЛОЖЬ) = ИСТИНА
 + | ТОГДА 1
 + | ИНАЧЕ 0
 + | КОНЕЦ ");
 + ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "//ДОПОЛНИТЕЛЬНЫЕ СОЕДИНЕНИЯ", " ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.eComm_ОстаткиПоставщиков КАК eComm_ОстаткиПоставщиков
 + | ПО ВрТабТаблицаТоваров.Номенклатура = eComm_ОстаткиПоставщиков.Номенклатура
 + | И ВрТабТаблицаТоваров.ХарактеристикаНоменклатуры = eComm_ОстаткиПоставщиков.Характеристика");
 +
 +
 +КонецПроцедуры
 +</code>
 +
 +=== Добавим метод "ВернутьНаличиеТоваровПоставщика" ===
 +<code>
 +Функция ВернутьНаличиеТоваровПоставщика(Номенклатура) Экспорт
 +
 + Запрос = Новый Запрос;
 + Запрос.Текст = 
 + "ВЫБРАТЬ
 + | ВрТабНоменклатура.Ссылка КАК Номенклатура,
 + | ЕСТЬNULL(СпрХарактеристикиНоменклатуры.Ссылка, ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка)) КАК Характеристика
 + |ПОМЕСТИТЬ ВрТабНоменклатураХарактеристии
 + |ИЗ
 + | Справочник.Номенклатура КАК ВрТабНоменклатура
 + | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ХарактеристикиНоменклатуры КАК СпрХарактеристикиНоменклатуры
 + | ПО (ВрТабНоменклатура.Ссылка = СпрХарактеристикиНоменклатуры.Владелец
 + | ИЛИ ВрТабНоменклатура.КатегорияНоменклатуры = СпрХарактеристикиНоменклатуры.Владелец)
 + | И (ВрТабНоменклатура.ИспользоватьХарактеристики)
 + | И (СпрХарактеристикиНоменклатуры.ПометкаУдаления = ЛОЖЬ)
 + |ГДЕ
 + | ВрТабНоменклатура.Ссылка = &Ссылка
 + |;
 + |
 + |////////////////////////////////////////////////////////////////////////////////
 + |ВЫБРАТЬ
 + | ВрТабНоменклатураХарактеристии.Номенклатура,
 + | ВрТабНоменклатураХарактеристии.Характеристика,
 + | eComm_ОстаткиПоставщиков.Наличие
 + |ИЗ
 + | ВрТабНоменклатураХарактеристии КАК ВрТабНоменклатураХарактеристии
 + | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.eComm_ОстаткиПоставщиков КАК eComm_ОстаткиПоставщиков
 + | ПО ВрТабНоменклатураХарактеристии.Номенклатура = eComm_ОстаткиПоставщиков.Номенклатура
 + | И ВрТабНоменклатураХарактеристии.Характеристика = eComm_ОстаткиПоставщиков.Характеристика";
 +
 + Запрос.УстановитьПараметр("Ссылка", Номенклатура);
 +
 + Возврат Запрос.Выполнить().Выгрузить();
 +
 +КонецФункции
 +</code>
 +
 +
 +==== Общий модуль "eCommСерверПереопределяемый" ====
 +=== Переопределим метод "ПередУстановкойТекстаЗапросаИнициализацииДанныхВыгрузки" ===
 +
 +
 +<code>
 +Процедура ПередУстановкойТекстаЗапросаИнициализацииДанныхВыгрузки(СтруктураНастроек, ТекстЗапроса) Экспорт
 +
 + eCommСерверДоработки.ПередУстановкойТекстаЗапросаИнициализацииДанныхВыгрузки(СтруктураНастроек, ТекстЗапроса);
 +
 +КонецПроцедуры
 +</code>
 +
 +
 +==== Форма элемента справочника "Номенклатура" ====
 +Добавим реквизиты и элементы на форму: https://prnt.sc/DXLLGsrUVcac
 +
 +Сохраняемые данные = Истина
  
 Добавим метод ПеречитатьОстаткиПоставщиков в конце модуля формы элемента справочника "Номенклатура" Добавим метод ПеречитатьОстаткиПоставщиков в конце модуля формы элемента справочника "Номенклатура"
Строка 26: Строка 109:
 ПеречитатьОстаткиПоставщиков();      //++ eComm ПеречитатьОстаткиПоставщиков();      //++ eComm
 </code> </code>
 +
 +Привести метод ПриЗаписиНаСервере к виду:
 +<code>
 +&НаСервере
 +Процедура ПриЗаписиНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
 +
 + // Шаблоны наименований
 + ШаблоныНаименований.ЗапомнитьШаблоныДляВидовНаименований(ЭтотОбъект, Объект.КатегорияНоменклатуры);
 +
 +//++
 + Набор = ДанныеФормыВЗначение(eComm_ОстаткиПоставщиков, Тип("РегистрСведенийНаборЗаписей.eComm_ОстаткиПоставщиков"));
 + Набор.Отбор.Номенклатура.Использование = Истина;
 + Набор.Отбор.Номенклатура.ВидСравнения = ВидСравнения.Равно;
 + Набор.Отбор.Номенклатура.Значение = Объект.Ссылка;
 +    Набор.Записать(Истина);
 +    //--
 +
 +КонецПроцедуры
 +</code>
 +
 +==== Роль "БазовыеПраваУНФ" ====
 +Для роли "БазовыеПраваУНФ" добавляем права на "чтение / изменение / просмотр / редактирование" регистра сведений "eComm_ОстаткиПоставщиков"
horoshop_designer_unf_provider.1672937434.txt.gz · Последнее изменение: 2023/01/05 18:50 — webmaster