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