Имя: Пароль:
1C
1С v8
Откуда берётся представление ссылки объекта
, ,
0 Jonny_Khomich
 
16.07.15
06:52
Получил объект документа из ссылки.
Куда обратится(БД или ОП) платформа 8.1 если я преобразую ссылку в строку? Где можно прочитать про это?
Строка(ОбъектДокумент.Ссылка)
1 Мимохожий Однако
 
16.07.15
07:07
Ctrl+F1
2 Jonny_Khomich
 
16.07.15
07:10
(1) Описание:
Преобразует полученный параметр в значение типа Строка.
При преобразовании к строке числа формируется его полное представление в стандартном виде, соответствующем национальным установкам.
Преобразование значений типа Булево зависит от национальных установок и содержит строковое представление этих значений.
При преобразовании к строке даты формируется ее полное представление в стандартном читабельном виде, соответствующем национальным установкам.
Преобразование к строке значений остальных типов производится по мере возможности и обычно содержит читабельное представление значения.
3 Drac0
 
16.07.15
08:10
(0) сначала поищет в кэше, потом в БД.
4 Остап Сулейманович
 
16.07.15
08:21
(3) Вот вам болт дорогой товарисчЪ. Представление ссылки формируется налету (например для документа) из : Синонима (если он задан, если не задан - Имя) + Ссылка.Номер + Ссылка.Дата. Аналогично для остальных составных типов.
В 8.3 событие получения представления можно переопределить.
5 Jonny_Khomich
 
16.07.15
09:11
(3) я получил же объект из базы и даже не записал его, почему из базы?
(4) из БД или ОП?
6 Остап Сулейманович
 
16.07.15
09:23
(5) Что такое ОП? Оперативная память? А если на дисковом кеше? Ну например из какой-то вьюшки?
7 Остап Сулейманович
 
16.07.15
09:25
+ (6) Это тоже будет не из БД.
А какая принципиальная разница откуда брать данные для формирования представления? В смысле что они могут не совпадать?
8 Drac0
 
16.07.15
09:31
(4) И чо? Я прекрасно знаю, как собирается представление. Человек спросил ,куда будет обращаться 1С и я ответил. Если представление уже было получено ранее и не очистилось из кэша, то возьмет в кэше. Если его не было еще, то тогда обратится к БД за нужными полями и составит уже из них представление. Или просто чукча писатель?
9 Drac0
 
16.07.15
09:32
(7) Скорость, не?
10 Dmitrii
 
гуру
16.07.15
09:32
(5) Проведи эксперемент:


Сообщить("первоначальное представление:");
Сообщить(Строка(ОбъектДокумент.Ссылка));
Сообщить(Строка(ОбъектДокумент));
ОбъектДокумент.Номер = "Тест_01";
ОбъектДокумент.Дата = ОбъектДокумент.Дата + 86400;// прибавим сутки к тек.дате докумнета
Сообщить("представление после изменения даты и номера до записи:");
Сообщить(Строка(ОбъектДокумент.Ссылка);
Сообщить(Строка(ОбъектДокумент);
ОбъектДокумент.Записать(РенимЗаписиДокумента.Запись);
Сообщить("представление после изменения даты и номера до записи:");
Сообщить(Строка(ОбъектДокумент.Ссылка));
Сообщить(Строка(ОбъектДокумент));
11 fisher
 
16.07.15
10:30
(0) Обратится к серверному кэшу представлений ссылок. Почитать можно в проф-разработке. Думаю, никаких оптимизаций для "ссылки из объекта, который уже в памяти" там нет.
12 Serginio1
 
16.07.15
10:44
ОбработкаПолученияПолейПредставления
13 Jonny_Khomich
 
16.07.15
11:20
(3) правильно, убедился на примере (10).