Как получить значение имея НавигационнуюСсылку к полю

1. AlexxSys 328 21.02.21 11:43 Сейчас в теме
Коллеги, добрый день.
Что то на простом вопросе застрял, и никак не получается решить.

Есть навигационная ссылка на реквизит с двоичными данными, как получить его значение ?

Т.е.:
НавигационнаяСсылкаХранимыйФайл = ПолучитьНавигационнуюСсылку(
		ПолучитьКлючРегСведений("История", Новый Структура("Период, Контрагент", РезультатЗапроса.Период, Контрагент)), 
		"ФайлДвоичныеДанныые");

.........

ХранимыйФайл = ...... (НавигационнаяСсылкаХранимыйФайл)


Всюду по документации можно открыть его, но для получения ничего не нашел ...
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. Sergex 57 21.02.21 19:35 Сейчас в теме
А что у вас там в двоичных данных хранится?
Вот на случай если там картинка - мануаль
https://www.vdgb.ru/blog/kak-poluchitnavigacionnuyussylku-v-upravlyaemom-prilozhenii-i-na-web-kliente/

Вот пример, как люди вынимают из двоичных данных ТЗ https://forum.infostart.ru/forum9/topic212565/, думаю, что по аналогии можно подобно вынуть и СЗ или ДЗ.

Вы же как то сериализовали то, что положили в двоичные данные. Или это внешний файл некоего формата? Если это, например, docx или xlsx - посмотрите стандартный код работы с файлами вложений. Ну а в общем виде: сохраняете на диск и открываете подходящим по расширению приложением из 1С.
3. AlexxSys 328 24.02.21 08:45 Сейчас в теме
Добрый день.
В самом регистре хранятся двоичные данные, но в контекст попадает навигационная ссылка, это из за оптимизации работы. К сожалению да, ей на программном уровне никак не воспользоваться, для получения данных используйте такой метод:

ЗаписьИстории = ПолучитьЗаписьИстории("Bots1C_ИсторияСообщений", Новый Структура("Период, ЧатБот, IDЧата", Контекст_Элемент.Период, ЧатБот, IDЧата));
ДвоичнвеДанные = ЗаписьИстории.СообщениеХранимыйФайл.Получить();
ИмяФайла = ЗаписьИстории.СообщениеИмяФайла;


// Функция - Получить запись истории
//
// Параметры:
//  ИмяРегистраСведений	 - 	 - 
//  СтруктураКлючей		 - 	 - 
// 
// Возвращаемое значение:
//   - 
//
Функция ПолучитьЗаписьИстории(ИмяРегистраСведений, СтруктураКлючей)
	
	МенеджерЗаписи = РегистрыСведений[ИмяРегистраСведений].СоздатьМенеджерЗаписи();
	ЗаполнитьЗначенияСвойств(МенеджерЗаписи, СтруктураКлючей);
	МенеджерЗаписи.Прочитать();
	
	Возврат ?(МенеджерЗаписи.Выбран(), МенеджерЗаписи, Неопределено);	

КонецФункции
Показать
Оставьте свое сообщение
Вакансии
Программист 1С
Казань
зарплата от 150 000 руб.
Полный день

Программист 1С:ERP
Москва
зарплата от 100 000 руб.
Полный день

Разработчик 1С
Москва
зарплата от 200 000 руб. до 300 000 руб.
Полный день

Программист 1С (удаленно)
Самара
зарплата от 230 000 руб. до 230 000 руб.
Полный день

Руководитель группы разработки 1С
Москва
зарплата от 250 000 руб. до 250 000 руб.
Полный день