Файл содержит дополнительную присоединенную информацию что это

Обновлено: 07.07.2024

В общем отследил как он сохраняет файл, на примере ERP, справочник номенклатура. Файл можно достать так:

(39) для сериализации можно так сделать

Переменная ОбъектXDTO содержит структуру вашего xml файла с которой очень удобно работать. Далее обращаетесь к элементам XDTO читаете нужные данные

А получить куда? Справочник содержит адреса файлов во временном хранилище.
Обращайся по адресу к хранилищу значения и вытаскивай.

Вот простой пример сохранения файла из справочника.

В справочнике с есть реквизит с типом значения ХранилищеЗначений.
Вы его получаете и сохраняете. Только вам нужно знать какой тип сохранять!

(4)
(3)
Примерно попробовал ваши варианты, не очень понимаю как это сделать.
Через запросы получил значения и вышло следующее:

(5) у вас есть реквизит ФайлХранилище - в нем ваш файл

Хранилище = Выборка.Ссылка.ФайлХранилище.Получить();
Если Хранилище <> Неопределено Тогда
// далее все зависит от типа значений
Если ТипЗнч(Хранилище) = Тип("ДвоичныеДанные") Тогда
Хранилище.Записать(ПутьКФайлу)
Иначе
// другой метод записи в файл в зависимости от типа значения
Конецесли

Если ТипЗнч(Хранилище) = Тип("ДвоичныеДанные") Тогда
Хранилище.Записать(ПутьКФайлу)

Не определяет тип значения файла да и сам файл неопределен.

(8) То есть он возвращает тип НЕОПРЕДЕЛЕНО - следовательно в этом реквизите у вас нету ничего. Тогда если смотреть структуру Выборка.Ссылка есть еще один реквизит ТекстХранилища. Возможно его нужно попробывать

Когда сделаете Выборка.Ссылка.ТекстХранилища.Получить() - какой тип вернет?

(10) Так мы не правильно двигаемся,нужно понять где находится файл. Я думал в реквизите ФайлХранилище но вы говорите что у него тип возвращается не определено следовательно там пусто. Теперь давай те в отладке так же посмотрим на реквизит ВладелецФайла у него тип входящий электронный документ - скорее всего он там храниться. Для этого в отладке вставьте текст

Выборка.Ссылка.ВладелецФайла и вставьте скрин чтоб было видны реквизиты!

(12) блин, по ссылке нету ни чего. а давай те еще прин скрин табличных частей и там все станет ясно. Так не могу сообразить где файл храниться

(14) так давай те вернемся обратно. Вот этот этот код не работает (см ниже)

То есть когда Хранилище = Выборка.Ссылка.ФайлХранилище.Получить(); вы получаете тип значения Хранилище - НЕОПРЕДЕЛЕНО. Так ??

Object Id

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

Речь пойдёт о точках повторной обработки (reparse points), идентификаторах объектов (object id) и о других типах данных, которые может содержать файл помимо своего основного содержимого.

Object Id

Идентификатор объекта это 64 байта, которые можно прикрепить к файлу или каталогу. Из них первые 16 байт позволяют однозначно идентифицировать файл в пределах тома и обращаться к нему не по имени, а по идентификатору. Остальные 48 байт могут содержать произвольные данные.

Идентификаторы объектов существуют в NTFS со времён Windows 2000. В самой системе они используются для отслеживания расположения файла, на который ссылается ярлык (.lnk). Допустим, файл, на который ссылается ярлык, был перемещён в пределах тома. При запуске ярлыка он всё равно откроется. Специальная служба Windows в случае, если файл не найден, произведёт попытку открыть файл не по его имени, а по заранее созданному и сохранённому идентификатору. Если файл не был удалён и не покидал пределы тома, он откроется, а ярлык снова будет указывать на файл.

Идентификаторы объектов использовались в технологии iSwift Антивируса Касперского 7-ой версии. Вот как описана эта технология: Технология разработана для файловой системы NTFS. В этой системе каждому объекту присваевается NTFS-индентификатор. Этот индентификатор сравнивается с значениями специальной базы данных iSwift. Если значения базы данных с NTFS-индентификатором не совпадают, то объект проверяется или перепроверяется, если он был изменен.

Впрочем, переизбыток созданных идентификаторов вызывал проблемы со сканированием диска стандартной утилитой проверки chkdsk, она происходила слишком долго. В следующих версиях Антивируса Касперского отказались от использования NTFS Object Id.

Reparse Point

Символьная ссылка изнутри

В файловой системе NTFS файл или каталог может содержать в себе reparse point, что переводится на русский язык как «точка повторной обработки». В файл или каталог добавляются специальные данные, файл перестаёт быть обычным файлом и обработать его может только специальный драйвер фильтра файловой системы.

В Windows присутствуют типы reparse point, которые могут быть обработаны самой системой. Например, через точки повторной обработки в Windows реализуются символьные ссылки (symlink) и соединения (junction point), а также точки монтирования томов в каталог (mount points).
Reparse-буфер, присоединяемый к файлу это буфер, имеющий максимальный размер 16 килобайт. Он характеризуется наличием тега, который говорит системе о том, к какому типу принадлежит точка повторной обработки. При использовании reparse-буфера собственного типа ещё необходимо задавать в нём GUID в специальном поле, а в reparse-буферах Microsoft он может отсутствовать.

Какие типы точек повторной обработки существуют? Перечислю технологии, в которых используются reparse point'ы. Это Single Instance Storage (SIS) и Cluster Shared Volumes в Windows Storage Server 2008 R2, Hierarchical Storage Management, Distributed File System (DFS), Windows Home Server Drive Extender. Это технологии Microsoft, здесь не упомянуты технологии сторонних компаний, использующие точки повторной обработки, хотя такие тоже есть.

Extended Attributes

Расширенные атрибуты файла. Про них был мой предыдущий топик. Здесь стоит упомянуть только то, что под Windows эта технология практически не применяется. Из известного мне программного обеспечения только Cygwin использует расширенные атрибуты для хранения POSIX прав доступа. У одного файла на NTFS могут быть или расширенные атрибуты, или буфер точки повторной обработки. Одновременная установка и того и другого невозможна. Максимальный размер всех расширенных атрибутов у одного файла составляет 64 Кб.

Alternate Data Streams

Дополнительные файловые потоки. Про них знает уже, наверное, каждый. Перечислю основные признаки этого вида метаданных: именованность (то есть у файла может быть несколько потоков, и у каждого своё имя), прямой доступ из файловой системы (их можно открывать, используя формат «имя файла, двоеточие, имя потока»), неограниченный размер, возможность запуска процесса прямо из потока (и возможность реализовать через это бесфайловый процесс).

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

Что-нибудь ещё?

Есть ещё идентификатор безопасности, плюс стандартные атрибуты файла, к которым нет прямого доступа, несмотря на то, что они тоже реализованы как потоки файлов. И они, и расширенные атрибуты, и reparse и object id — всё это потоки файла с точки зрения системы. Напрямую изменять идентификатор безопасности, показанный на следующей картинке как ::$SECURITY_DESCRIPTOR смысла нет, пусть его изменением занимается система. К другим типам потоков сама система не даёт прямого доступа. Так что на этом всё.

Просмотр содержимого object id, точек повторной обработки, а также работа с расширенными атрибутами и альтернативными файловыми потоками возможна с помощью программы NTFS Stream Explorer, а также через системную консольную утилиту fsutil.

В 1С:ERP существует возможность хранить и использовать файлы и изображения в работе с объектами информационной базы.

Использование функционала работы с файлами предполагает три этапа:

  • общая настройка конфигурации;
  • персональные настройки пользователя;
  • работа с файлами.

Первый этап выполняет администратор системы. Второй этап – пользователь с помощью администратора. Работу с файлами осуществляют пользователи конфигурации.

Общие настройки работы с файлами

Настройку выполняет пользователь с ролью Полные права.

Общая настройка конфигурации для работы с файлами осуществляется в разделе НСИ и администрирование – Администрирование – Настройки работы с файлами.

Настройка работы с файлами

Рисунок 1 - Настройка работы с файлами

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

Для работы с файлами предусмотрены следующие возможности:

Персональные настройки пользователя

Персональные настройки пользователя для работы с файлами осуществляются в форме НСИ и администрирование – Сервис – Персональные настройки.

Мои настройки

Рисунок 2 - Мои настройки

В форме Мои настройки – Работа с файлами можно выполнить следующие настройки:

  • Действие при выборе файла – поле задает, что делать системе при выборе файла: открывать файл или открывать его карточку;
  • Выбор режима открытия при выборе файла – если флажок установлен, то перед открытием файла система задаст пользователю вопрос, в каком режиме открывать файл: в режиме просмотра или в режиме редактирования;
  • Показывать подсказки при редактировании файлов (только веб-клиент) – если флажок установлен, то при работе через веб-клиент система будет выводить подсказки о том, как удобнее открыть файл для просмотра или редактирования и как обновить его в информационной базе;
  • Показывать занятые файлы при завершении работы – если флажок установлен и текущий пользователь занял один или несколько файлов, то при завершении работы системы показывается список этих файлов. Пользователь может открыть файл для просмотра, закончить редактирование, открыть карточку файла;
  • Показывать колонку «Размер» в списках файлов – если флажок установлен, то в списках файлов показывается колонка Размер;
  • Показывать информацию, что файл не был изменен – если флажок установлен, то будет выведена подсказка об отсутствии изменения данных в файле;
  • Сравнивать версии при помощи. Функционал работы с файлами позволяет сравнивать версии файлов формата ODT, DOC, RTF, TXT между собой.

Настройка основного рабочего каталога

Рисунок 3 - Настройка основного рабочего каталога

Команда Настройка основного рабочего каталога открывает форму, в которой можно:

  • указать Расположение основного рабочего каталога. Устанавливается системой автоматически. При необходимости путь каталога может быть изменен;
  • в поле Максимальный размер (Мб) указать предел суммарного объема всех файлов в основном рабочем каталоге (по умолчанию 100 Мб).
  • установить флажок Удалять файлы при завершении редактирования. Если флажок установлен, то после переноса файла в информационную базу он удаляется в основном рабочем каталоге. Этот функционал можно использовать, например, для экономии места на жестком диске или в целях повышения безопасности;
  • командой Очистить основной рабочий каталог удалить файлы в основном рабочем каталоге, кроме тех, которые используются в настоящий момент. Если установлен флажок Подтверждать при удалении из основного рабочего каталога, то перед удалением каждого файла пользователю будет выдаваться запрос на удаление;
  • командой Открыть список файлов открыть список файлов основного рабочего каталога. В списке можно удалить ненужные файлы;
  • Прикладное решение позволяет хранить файлы, полученные напрямую со сканера. Для этого необходимо подключить сканер к компьютеру и установить компонент для работы со сканером (команда Настройка сканирования на форме Мои настройки).

Работа с присоединенными файлами

Для работы с файлами у пользователей должны быть установлены роли: Добавление изменение папок и файлов, Настройка синхронизации файлов.

Работа с файлами, прикрепленными к объекту, осуществляется в списке Присоединенные файлы. Список можно открыть соответствующей командой на панели навигации объекта.

Новый файл можно создать в списке соответствующей командой из уже имеющегося файла на диске.

Электронная подпись может быть по-разному связана с подписанным документом. В статье рассмотрим три варианта, их отличия и особенности использования.

Присоединенная электронная подпись


При создании присоединенной подписи создается новый файл, в который помещается подписываемый документ и подпись к нему. Этот процесс можно сравнить с запечатанным конвертом с документом внутри. с подписанными данными. Этот файл можно копировать, пересылать по почте и т.п.

Нужно учесть, что без специальных криптографических программ невозможно прочитать содержимое подписанного файла. Точно так же, как нельзя извлечь содержимое конверта, не вскрыв его.

Если вы получаете такой документ вне информационных систем, в которых уже есть механизмы проверки, нужно использовать программу, которая умеет проверять подпись и «извлекать» подписанный файл, чтобы его можно было прочитать. В программу нужно будет загрузить единый файл, который содержит и документ, и подпись.

Отсоединенная электронная подпись


Отсоединенная подпись формируется в отдельном от подписываемого документа файле. Файл подписи называется так же, как подписанный документ и имеет расширение .sig или .sgn. Хранить и пересылать нужно оба эти файла, переименовывать их нельзя.

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

Электронная подпись внутри данных


Электронную подпись внутри документа можно создать только в определенном приложении, например Microsoft Word или Acrobat Reader. В этом случае подпись генерируется как метаданные и только по желанию владельца можно создать на документе поле с подписью.

Очень сложно проверить подлинность подписи вне приложения, в котором она была создана.

Читайте также: