1с изменить представление ссылки

Допустим для документа Реализация товаров услуг нужно настроить представление в виде «Реализация т/у № 150 от 20.05.2016 (Контрагент: ООО Альфа)». Для этого в модуле менеджера объекта документа создаем обработчики событий получения представления и полей представления:

Процедура ОбработкаПолученияПредставления ( Данные , Представление , СтандартнаяОбработка )
Представление = «Реализация т/у № « + Данные . Номер + » от « + Формат ( Данные . Дата , «ДФ=dd.MM.yyyy» ) + » (Контрагент: « + Строка ( Данные . Контрагент )+ «)» ;
СтандартнаяОбработка =Ложь;
КонецПроцедуры

Процедура ОбработкаПолученияПолейПредставления ( Поля , СтандартнаяОбработка )
Поля . Добавить ( «Номер» );
Поля . Добавить ( «Дата» );
Поля . Добавить ( «Контрагент» );
СтандартнаяОбработка =Ложь;
КонецПроцедуры

Область применения: управляемое приложение, мобильное приложение.

1. С помощью данных обработчиков модуля менеджера объекта можно переопределить представление объекта информационной базы, которое выводится в полях форм и в списках.
Пример реализации:

Процедура ОбработкаПолученияПолейПредставления(Поля, СтандартнаяОбработка)
Поля.Добавить(«Наименование»);
Поля.Добавить(«Дата»);
СтандартнаяОбработка = Ложь;
КонецПроцедуры

Процедура ОбработкаПолученияПредставления(Данные, Представление, СтандартнаяОбработка)
Наименование = ?(ПустаяСтрока(Данные.Наименование), НСтр(«ru = ‘Без описания'»), Данные.Наименование);
Дата = Формат(Данные.Дата, ?(ПолучитьФункциональнуюОпцию(«ИспользоватьДатуИВремяВСрокахЗадач»), «ДЛФ=DT», «ДЛФ=D»));
Представление = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр(«ru = ‘%1 от %2′»), Наименование, Дата);
СтандартнаяОбработка = Ложь;
КонецПроцедуры

2. Обработчики вызываются при любой необходимости получения представления какого-либо объекта информационной базы. Поэтому избыточные данные или неправильный выбор данных для формирования представления могут привести к существенному замедлению работы системы.

Также не следует выполнять в этих обработчиках запросы или получение объектов информационной базы (в том числе, запрещены обращения к реквизитам объектов ссылочных типов через точку, что приводит к чтению всего объекта целиком из базы данных). Также нежелательно использовать получение представления и реквизитов ссылок.

3. Обработчики могут быть также вызваны, в том числе, при записи и удалении объекта в режиме обмена данными. Представление объекта при этом запрашивается для формирования записи в журнал регистрации. Поэтому к ним предъявляются те же требования, что и к логике регистрации объектов — см. п. 1.2 Разработка планов обмена с отборами.

Эти требования также справедливы при разработке планов обмена для синхронизации с другими программами (не РИБ, по правилам конвертации) с помощью подсистемы «Обмен данными» Библиотеки стандартных подсистем.
Например, недопустимо обращаться к предопределенным элементам, которые еще могли быть не загружены в базу или, наоборот, уже удалены в ходе обмена данными:

Процедура ОбработкаПолученияПредставления(Данные, Представление, СтандартнаяОбработка)

СтандартнаяОбработка = Ложь;
Если Данные.ВидОбразования = Справочники.ВидыОбразованияФизическихЛиц.ПослевузовскоеОбразование Тогда
Представление = НСтр(«ru = ‘Послевузовское образование'»);
Иначе
.

4. При реализации обработчиков следует также учитывать требования о поддержке толстого клиента, управляемое приложение, клиент-сервер.

Программирование системы 17.08.2016 09:34 5921

В свойствах справочников и документов можно задать свойство «Основное представление». Данное свойство доступно в режиме конфигуратора. Возможны два режима выбора варианта формирования представления: «В виде кода» или «В виде наименования».

Когда срабатывает представление ?
Представление формируется при выводе на экран ссылок (объектов) документов или справочников.

Программное изменение представления в «Управляемом приложении»

В управляемом приложении появилась возможность программно влиять на формирование представления справочника или документа. Для этого в модуле менеджера предназначены две специальные процедуры:

1) ОбработкаПолученияПолейПредставления( , ) Вызывается при получении состава полей, из кторых формируется представление объекта. Эта процедура вызывается один раз, при первом формировании представления. Результат обработки события кэшируется для сеанса.

2) ОбработкаПолученияПредставления( , , )Вызывается при получении представления. В параметре «Данные» содержатся значения полей объекта, которые были заданы в событии ОбработкаПолученияПолейПредставления().

Для того чтобы добавить сообщение, необходимо Войти или Зарегистрироваться

Оцените статью
Добавить комментарий