В системе 1С:Документооборот справочник "ДокументыПредприятия" и справочник "Файлы" объединяются через механизм связей между документами. Такой механизм позволяет создать логическую привязку, в рамках которой файлы, например, договоры, счета и акты, прикрепляются к соответствующим документам. Это обеспечивает прозрачное ведение документации и облегчает отслеживание изменений или добавлений, связанных с конкретным документом предприятия.
Связи могут устанавливаться как автоматически системой 1С, так и вручную пользователем. Ручное связывание позволяет пользователю выбирать необходимые файлы для прикрепления, а автоматическое связывание упрощает системное управление документами, когда файлы автоматически ассоциированы с документом по заданным правилам.
В справочнике "Файлы" для хранения файлов используют реквизиты, такие как "ХранилищеЗначения", для хранения двоичных данных. Кроме того, в справочнике может присутствовать реквизит, содержащий путь к файлу, если используется файловая система для хранения. При этом справочник "ДокументыПредприятия" может содержать ссылки на записи справочника "Файлы", что позволяет отображать связанные файлы непосредственно в карточке документа.
Если файл хранится как двоичные данные в базе, для его обработки используется реквизит типа «ХранилищеЗначения». С его помощью можно получить содержимое файла непосредственно в виде двоичных данных. Вызов метода, например, Получить() хранилища значений возвращает двоичный поток файла, который может быть затем использован для передачи или сохранения на диск.
Пример получения двоичных данных с использованием объекта и метода:
// Пример процедуры для получения двоичных данных файла
Процедура ПолучитьФайлИзСправочника(СсылкаНаФайл)
// Извлечение объекта файла из справочника "Файлы"
ДвоичныеДанные = СсылкаНаФайл.Файл;
Если ДвоичныеДанные <> Неопределено Тогда
Возврат ДвоичныеДанные;
КонецЕсли;
Возврат Новый ДвоичныеДанные();
КонецПроцедуры
Данный метод позволяет получить содержимое файла и использовать его, например, для дальнейшей передачи клиенту или для сохранения в другом месте.
Объект "ДвоичныеДанные" позволяет загружать двоичный контент файла по указанному пути или извлекать данные из реквизита. Он может использоваться как для чтения, так и для записи данных. Это особенно полезно в сценариях, когда требуется конвертация файловых форматов или передача данных по сети.
В случаях, когда файлы хранятся вне базы данных и размещаются в файловой системе, справочник "Файлы" может содержать реквизит с указанием пути к файлу. Это позволяет системе работать с внешними файлами, сохраняя лишь метаданные (например, путь, имя файла, дату создания и т.д.) в базе данных 1С.
Для извлечения пути к файлу администрация системы должна обеспечить корректную настройку файловых ресурсов, где файлы физически размещены. При этом применяется дополнительная логика либо через API системы, либо путем реализации пользовательских методов для формирования полного пути к ресурсам.
Если файлы хранятся в веб-каталоге или специальной папке на сервере, то путь к файлу может быть возвращен по ссылке, сохранённой в базе данных. В этом случае разработчик может реализовать процедуру, которая первым делом проверяет наличие ссылки в справочнике и, если она существует, возвращает путь к файлу.
| Метод | Описание | Преимущества | Особенности |
|---|---|---|---|
| ХранилищеЗначения | Сохранение двоичных данных непосредственно в базе 1С посредством реквизита метода получения данных. | Быстрый доступ, защитность данных, интеграция с 1С. | Обработка ведется посредством специальных методов. Платформа не интерпретирует содержимое файла. |
| Файловые ресурсы | Хранение файлов в файловой системе с записью пути/ссылки в базе данных. | Экономия ресурсов базы, удобство доступа через стандартные файловые операции. | Требует корректной настройки сервера и обеспечения безопасности доступа к файлам. |
| Объект ДвоичныеДанные | Предназначен для работы с двоичным содержимым файла через вызовы метода получения или сохранения. | Универсальность, возможность дальнейшей обработки данных (например, конвертации или передачи). | Зависит от наличия корректных ссылок на файлы в справочнике "Файлы". |
В "Документообороте" для каждого документа предприятия можно создать табличную часть с ссылками на соответствующие файлы из справочника "Файлы". Это может осуществляться через реквизиты типа "СправочникСсылка.Файлы", которые обеспечивают связь между двумя основными справочниками.
При этом интеграция выполняется как на уровне данных, так и через пользовательский интерфейс, где используются встроенные механизмы привязки файлов, доступные в системе 1С.
Процесс получения двоичных данных в 1С обычно производится через специальный вызов методов, таких как Получить() для реквизита "ХранилищеЗначения". Это позволяет программно обращаться к содержимому файла для его дальнейшей обработки или транспортировки.
Такая реализация гарантирует, что платформа 1С сохраняет данные файла неизменными, доверяя разработчику логику интерпретации и дальнейшей работы с данными (например, сохранение на диск, передача через сеть или конвертация формата).
Важно помнить, что 1С не анализирует содержимое двоичных данных – она лишь хранит и передаёт их как набор байтов. Поэтому именно разработчик отвечает за:
При выборе метода хранения файлов стоит учитывать общий баланс между эффективностью доступа и безопасностью данных. Хранение файлов в базе через реквизит "ХранилищеЗначения" обеспечивает быстрый и защищённый доступ, но может увеличить нагрузку на базу данных. В случае больших объёмов документов может быть целесообразно использовать файловую систему, где метаданные сохраняются в системе 1С, а сам файл находится на диске.
При использовании файловой системы рекомендуется обеспечить:
При работе с 1С:Документооборот полезно изучить официальную документацию, а также обращать внимание на статьи экспертов, где описываются примеры реализации связей и работы с двоичными данными. Это позволяет:
В зависимости от версии 1С могут различаться методы получения двоичных данных, формат хранения реквизитов, а также настройки API для работы с внешними файлами.
Ниже приведены несколько ссылок на статьи и руководства, которые помогают углубиться в тему работы с документами и файлами в системе 1С:Документооборот: