Получение присоединенных файлов из внешнего тома

06.11.18

Разработка - Механизмы платформы 1С

В статье описан способ получения присоединённых файлов информационной базы в случае переноса, или хранения их во внешних томах.

В интернете нигде не нашёл информацию по данному вопросу, поэтому пришлось изучить типовой механизм получения файлов, используемый в конфигурации. Разобравшись решил написать, может кому-нибудь пригодится.

Итак, что же делать, если вы (или кто-то другой) перенесли все присоединённые файлы из информационной базы во внешний том и после этого например во внешних печатных формах перестали выводится картинки номенклатуры. Обычно если нужно получить файл хранящийся в ИБ, мы обращаемся к регистру ДвоичныеДанныеФайлов. Тут всё просто и понятно - делаем отбор по измерению, получаем файл и готово. Но когда файлы хранятся во внешнем томе, данный регистр очищается и нам нужно как-то получить путь к желаемому файлу.

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

Покопавшись в типовом механизме вывода картинки на форму справочника Номенклатура я нашёл функцию общего модуля к которой можно обратиться для получения пути к файлу как в случае хранения его в хранилище ИБ так и в случае хранения во внешнем томе: РаботаСФайлами.ДанныеФайла(ФайлКартинки, Новый УникальныйИдентификатор). ФайлКартинки - это ссылка на справочник <ВашОбъет>ПрисоединенныеФайлы.

Покопавшись ещё глубже я обнаружил, что путь к файлу хранится в реквизите ПутьКФайлу вышеуказанного справочника. Так что можно полуить его ещё проще - просто прочитав этот реквизит.

А дальше просто получаем двоичные данные из временного хранилища: ПолучитьИзВременногоХранилища(ПутьКФайлу).

внешний том получить присоединенный файл перенос файлов

См. также

Сервисы интеграции без Шины и интеграции

Механизмы платформы 1С Программист Стажер Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Пример использования «Сервисов интеграции» без подключения к Шине и без обменов.

13.03.2024    3175    dsdred    16    

65

Как готовить и есть массивы

Механизмы платформы 1С Программист Стажер Платформа 1С v8.3 Бесплатно (free)

Все мы используем массивы в своем коде. Это один из первых объектов, который дают ученикам при прохождении обучения программированию. Но умеем ли мы ими пользоваться? В этой статье я хочу показать все методы массива, а также некоторые фишки в работе с массивами.

24.01.2024    7382    YA_418728146    25    

69

Планы обмена VS История данных

Перенос данных 1C Механизмы платформы 1С Системный администратор Программист Стажер Платформа 1С v8.3 Бесплатно (free)

Вы все еще регистрируете изменения только на Планах обмена и Регистрах сведений?

11.12.2023    7693    dsdred    36    

115

1С-ная магия

Механизмы платформы 1С Программист Бесплатно (free)

Язык программирования 1С содержит много нюансов и особенностей, которые могут приводить к неожиданным для разработчика результатам. Сталкиваясь с ними, программист начинает лучше понимать логику платформы, а значит, быстрее выявлять ошибки и видеть потенциальные узкие места своего кода там, где позже можно было бы ещё долго медитировать с отладчиком в поисках источника проблемы. Мы рассмотрим разные примеры поведения кода 1С. Разберём результаты выполнения и ответим на вопросы «Почему?», «Как же так?» и «Зачем нам это знать?». 

06.10.2023    20052    SeiOkami    46    

124

Дефрагментация и реиндексация после перехода на платформу 8.3.22

Механизмы платформы 1С Системный администратор Платформа 1С v8.3 Бесплатно (free)

Начиная с версии платформы 8.3.22 1С снимает стандартные блокировки БД на уровне страниц. Делаем рабочий скрипт, как раньше.

14.09.2023    13981    human_new    27    

77

Валидация JSON через XDTO (включая массивы)

WEB-интеграция Универсальные функции Механизмы платформы 1С Программист Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

При работе с интеграциями рано или поздно придется столкнуться с получением JSON файлов. И, конечно же, жизнь заставит проверять файлы перед тем, как записывать данные в БД.

28.08.2023    10331    YA_418728146    7    

148

Внешние компоненты Native API на языке Rust - Просто!

Механизмы платформы 1С Программист Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Внешние компоненты для 1С можно разработывать очень просто, пользуясь всеми преимуществами языка Rust - от безопасности и кроссплатформенности до удобного менеджера библиотек.

20.08.2023    6986    sebekerga    54    

99
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. user619397_fedor 03.12.19 17:08 Сейчас в теме
Подскажите, пожалуйста, Как правильно сделать ссылку на справочник с присоединенными файлами?

{Справочник.Номенклатура.Форма.ФормаСписка.Форма(291)}: Поле объекта не обнаружено (ВладелецФайла)
Ссылка = Справочники.НоменклатураПрисоединенныеФайлы.ВладелецФайла;
2. LomayaZakat 16.12.20 15:43 Сейчас в теме
Все процедуры и функции есть в общем модуле "РаботаСФайлами".
Оставьте свое сообщение