Записки программиста 1с

Двоичные данные 1с.

Двоичные данные 1с (или бинарные) — это файл данных произвольного формата.

Двоичные данные 1с

Тип «Двоичные данные» имеет единственный конструктор:

ДвоичныеДанныеФайла=Новый ДвоичныеДанные(имяФайла);

В результате Переменная ДвоичныеДанныеФайла будет содержать данные из файла ИмяФайла.

Экземпляры объекта ДвоичныеДанные содержат двоичные данные, которые считываются из файла. При это объект ДвоичныеДанные является достаточно многофункциональным — мы можем:

  • читать двоичные данные из файла и записывать их в файл;
  • передавать их между клиентом и сервером при помощи временного хранилища;
  • передавать и получать их по сети;
  • хранить их базе данных в реквизитах вида ХранилищеЗначения;
  • превратить двоичные данные в объект вида Картинка (при определенных условиях конечно);
  • хранить двоичные данные в макетах;
  • шифровать и расшифровывать, подписывать и проверять подписи;

Несмотря на значительное развитие средств работы с двоичными данными, объект ДвоичныеДанные остается ключевым.

Двоичные данные 1с. Примеры работы.

Двоичные данные Присоединенного файла можно получить по ссылке:

ДвоичныеДанные1 = РаботаСФайлами.ДвоичныеДанныеФайла(ПрисоединенныйФайл.Ссылка);

Двоичные данные можно получить через Регистр Сведений и МенеджерЗаписи код:

МенеджерЗаписи = РегистрыСведений.ДвоичныеДанныеФайлов.СоздатьМенеджерЗаписи();
МенеджерЗаписи.Файл = ОбрабатываемыйФайл;
МенеджерЗаписи.Прочитать();

ХранилищеФайла0=МенеджерЗаписи.ДвоичныеДанныеФайла;

Пример проверки “ХранилищеФайла0” на соответствие типу “ДвоичныеДанные” код:

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

Проверка Двоичных данных на наличие

Если ДвоичныеДанные1 <> Неопределено Тогда 
  попытка
        ДвоичныеДанные1.Записать(ВрепеныйПолныйПуть);
	Кол_во=Кол_во+1;
 исключение
	Сообщить("Файл не создан"+ОбрабатываемыйФайл); 
	КоличествоОшибок=1;	
 конецпопытки;
конецесли;

Потоки

Это группа объектов назначение которых заключается в работе с потоками данных.

Поток — этот объект представляет собой поток данных из которого можно читать и/или записывать в него данные. Данный объект не имеет конструктора, а получить экземпляр объекта можно при помощи различных методов других объектов.

ФайловыйПоток — специализированный вариант объекта Поток, предназначенный для работы с данными находящимися в файлах на диске.

ПотокВПамяти — специализированный вариант объекта Поток, предназначенный для работы с данными находящимися в оперативной памяти.

МенеджерФайловыхПотоков — этот объект предоставляет типовые методы для работы с файлами (открытие и создание). Создать экземпляр этого объекта нельзя — имеется объект глобального контекста ФайловыеПотоки который и предоставляет доступ к методам менеджера.

Чтение и запись

ЧтениеДанных — этот объект предназначен для чтения различных типов данных из различных источников (потоки, файлы, двоичные данные).

РезультатЧтенияДанных — этот объект содержит описание результата чтения данных из потока. Объект не имеет конструктора, получить экземпляр объекта можно при помощи методов других объектов.

БуферДвоичныхДанных — этот объект представляет собой коллекцию байтов фиксированного размера, имеется возможность произвольного доступа и изменения по месту.

ЗаписьДанных — этот объект предназначен для записи различных типов данных в приемник.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *