1с как получить представление ссылки
Получил объект документа из ссылки.
Куда обратится(БД или ОП) платформа 8.1 если я преобразую ссылку в строку? Где можно прочитать про это?
Строка(ОбъектДокумент.Ссылка)
(1) Описание:
Преобразует полученный параметр в значение типа Строка.
При преобразовании к строке числа формируется его полное представление в стандартном виде, соответствующем национальным установкам.
Преобразование значений типа Булево зависит от национальных установок и содержит строковое представление этих значений.
При преобразовании к строке даты формируется ее полное представление в стандартном читабельном виде, соответствующем национальным установкам.
Преобразование к строке значений остальных типов производится по мере возможности и обычно содержит читабельное представление значения.
(0) сначала поищет в кэше, потом в БД.
(3) Вот вам болт дорогой товарисчЪ. Представление ссылки формируется налету (например для документа) из : Синонима (если он задан, если не задан — Имя) + Ссылка.Номер + Ссылка.Дата. Аналогично для остальных составных типов.
В 8.3 событие получения представления можно переопределить.
(3) я получил же объект из базы и даже не записал его, почему из базы?
(4) из БД или ОП?
(5) Что такое ОП? Оперативная память? А если на дисковом кеше? Ну например из какой-то вьюшки?
+ (6) Это тоже будет не из БД.
А какая принципиальная разница откуда брать данные для формирования представления? В смысле что они могут не совпадать?
(4) И чо? Я прекрасно знаю, как собирается представление. Человек спросил ,куда будет обращаться 1С и я ответил. Если представление уже было получено ранее и не очистилось из кэша, то возьмет в кэше. Если его не было еще, то тогда обратится к БД за нужными полями и составит уже из них представление. Или просто чукча писатель?
(7) Скорость, не?
(5) Проведи эксперемент:
Сообщить(«первоначальное представление:»);
Сообщить(Строка(ОбъектДокумент.Ссылка));
Сообщить(Строка(ОбъектДокумент));
ОбъектДокумент.Номер = «Тест_01»;
ОбъектДокумент.Дата = ОбъектДокумент.Дата + 86400;// прибавим сутки к тек.дате докумнета
Сообщить(«представление после изменения даты и номера до записи:»);
Сообщить(Строка(ОбъектДокумент.Ссылка);
Сообщить(Строка(ОбъектДокумент);
ОбъектДокумент.Записать(РенимЗаписиДокумента.Запись);
Сообщить(«представление после изменения даты и номера до записи:»);
Сообщить(Строка(ОбъектДокумент.Ссылка));
Сообщить(Строка(ОбъектДокумент));
(0) Обратится к серверному кэшу представлений ссылок. Почитать можно в проф-разработке. Думаю, никаких оптимизаций для «ссылки из объекта, который уже в памяти» там нет.
1С установка представления ссылки на документы в базе, в табличной части
Есть документ «Расходная накладная», ссылка представлена в виде «Расходная накладная № 123 от 20.01.20». Необходимо изменить представление ссылки на следующий вид «Реализация № 123».
Порядок действий:
- В модуль менеджера расходной накладной добавить процедуру:
Процедура ОбработкаПолученияПредставления(Данные, Представление, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; Представление = "Реализация № " + Данные.Номер; КонецПроцедуры
Таким образом Вы можете убрать лишнюю информацию из представления ссылки на объекты в базе, а также добавить свою.
Если Вы дорабатываете типовую конфигурацию — рекомендуем воспользоваться механизмом расширений, запустить код После типовой процедуры. Тем самым Вы существенно сократите время на обновления.
1С 8.3 БСП ПредставлениеОбъекта — Программист 1С Минск. Автоматизация бизнеса.

ПРИМЕРЫ КОДА 1С
Перейти в раздел примеры кода 1С 8.3:

1С 8.3 БСП ПредставлениеОбъекта. Возвращает строковое представление объекта, заданное в свойствах объекта метаданных.
Примера кода от rayastar
// «Страна мира»
ПредставлениеОбъектаКлассификатора = ОбщегоНазначения . ПредставлениеОбъекта ( Метаданные . Справочники . СтраныМира );
Представление ссылки
Такой вопрос — что такое представление? Я тут копаюсь в чужом коде, и тут в запросе в справочнике есть «Представление» у элемента справочника Клиенты. И при формировании отчёта на это поле идёт ругань, мол оно не найдено. Не могу понять что не так.
Лучшие ответы ( 1 )
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:

Представление ссылки
Всем привет! Имеется отчет на на СКД с полем Документ. Может быть кто-то выкручивался: нужно.
Представление ссылки в поле выбора
Все привет! Собственно вопрос: Как изменить представление ссылки в поле выбора в платформе 8.2.

Как изменить представление ссылки
Здравствуйте, подскажите пожалуйста, как изменить, чтобы в документе в реквизите писался не Код, а.
2025 / 1394 / 496
Регистрация: 16.01.2015
Сообщений: 6,028

Сообщение было отмечено GreenkA как решение
Решение
Получение текстового представления ссылочного типа. Конструкция «ПРЕДСТАВЛЕНИЕ».
Когда вам необходимо вывести для показа поле ссылочного типа, например поле «Банк», которое является ссылкой на элемент справочника «Банки», то необходимо понимать, что при выводе этого поля автоматически выполнится подзапрос к справочнику «Банки», чтобы получить представление справочника. Это будет замедлять вывод данных. Для Того, чтобы этого избежать необходимо использовать конструкцию «ПРЕДСТАВЛЕНИЕ» в запросе, чтобы сразу получить представление объекта и уже его выводить для просмотра.
1 2 3 4 5 6
ВЫБРАТЬ Партия.Ссылка КАК Ссылка, ПРЕДСТАВЛЕНИЕ(Партия.Организация) КАК Организация, ПРЕДСТАВЛЕНИЕ(Партия.Контрагент) КАК Контрагент ИЗ Документ.Партия КАК Партия
В система компоновки данных этот механизм используется по умолчанию, а вот при формировании макетов в ячейках следует указывать представление ссылочного поля, а например в расшифровку помещать саму ссылку.
От себя: Имеет смысл, когда вам надо просто вывести имя/наименование элемента справочника, а ссылка (кликабельность) не к чему. Например, вывести список сотрудников для печати, в ссылке нет ни малейшего смысла, вам нужны просто ФИО распечатать, тогда для экономии ресурсов производительности выводите Представление(СправочникСотрудники.Ссылка)