==== Пример переназначения реквизита "Бренд" ====
При выгрузке прайса на торговую площадку иногда может потребоваться изменить (переназначить) некоторые поля.
Для того чтобы изменить производителя необходимо:
====== Вариант с использованием нового реквизита ======
===== Редактирование справочника "Номенклатура" =====
==== Добавление реквизита "eComm_Производитель" ====
Добавим новый реквизит в справочник "Номенклатура" под именем "eComm_Производитель"
^ Имя реквизита ^ Синоним ^ Тип ^
| eComm_Производитель | Производитель (eComm) | СправочникСсылка.Контрагенты |
==== Редактирование формы элемента справочника "Номенклатура" ====
Вынесем реквизит "eComm_Производитель" на форму элемента "Номенклатура"
===== Добавление общего модуля "eCommСерверДоработки" =====
Согласно рекомендациям добавим общий модуль [[module_edit|"eCommСерверДоработки"]]
==== Добавим в общем модуле "eCommСерверДоработки" метод "ВернутьИмяРеквизитаОбъекта" ====
Функция ВернутьИмяРеквизитаОбъекта(ИмяОбъекта, ИмяРеквизита, СтандартнаяОбработка) Экспорт
Перем Результат;
Если ИмяОбъекта = "Номенклатура" Тогда
Если ИмяРеквизита = "Производитель" Тогда
СтандартнаяОбработка = Ложь;
Результат = "eComm_Производитель";
КонецЕсли;
КонецЕсли;
Возврат Результат;
КонецФункции
===== Редактирование общего модуля "eCommСерверПереопределяемый" =====
Переопределим в общем модуле "eCommСерверПереопределяемый" метод "ВернутьИмяРеквизитаОбъекта"
Функция ВернутьИмяРеквизитаОбъекта(ИмяОбъекта, ИмяРеквизита, СтандартнаяОбработка) Экспорт
Возврат eCommСерверДоработки.ВернутьИмяРеквизитаОбъекта(ИмяОбъекта, ИмяРеквизита, СтандартнаяОбработка);
КонецФункции
====== Вариант с использованием дополнительного реквизита ======
===== Добавление общего модуля "eCommСерверДоработки" =====
Согласно рекомендациям добавим общий модуль [[module_edit|"eCommСерверДоработки"]]
Добавим в общем модуле "eCommСерверДоработки" метод "ПередУстановкойТекстаЗапросаИнициализацииДанныхВыгрузки"
В тексте запроса вместо заголовка "Бренд" используйте заголовок свойства вашей базы
Процедура ПередУстановкойТекстаЗапросаИнициализацииДанныхВыгрузки(СтруктураНастроек, ТекстЗапроса) Экспорт
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "СпрНоменклатура.Производитель", " ЕСТЬNULL(ТаблицаБренд.Значение, """")");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "//ДОПОЛНИТЕЛЬНЫЕ СОЕДИНЕНИЯ", " ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура.ДополнительныеРеквизиты КАК ТаблицаБренд
| ПО СпрНоменклатура.Ссылка = ТаблицаБренд.Ссылка
| И (ТаблицаБренд.Свойство.Заголовок = ""Бренд"")");
КонецПроцедуры
===== Редактирование общего модуля "eCommСерверПереопределяемый" =====
В общем модуле "eCommСерверПереопределяемый" метод "ПередУстановкойТекстаЗапросаИнициализацииДанныхВыгрузки" приведем к виду:
Процедура ПередУстановкойТекстаЗапросаИнициализацииДанныхВыгрузки(СтруктураНастроек, ТекстЗапроса) Экспорт
eCommСерверДоработки.ПередУстановкойТекстаЗапросаИнициализацииДанныхВыгрузки(СтруктураНастроек, ТекстЗапроса);
КонецПроцедуры
После данных доработок на форме элемента справочника "Номенклатура" появится новый реквизит "eComm_Производитель", который будет выгружаться на торговую площадку