18.01.2023 Айдар Фархутдинов 22129
Программа 1С 8.3: Двоичные данные

Содержание:

 

1.     Что такое двоичные данные в системе на базе 1С

 

         Двоичные данные в системе 1С – это довольно многофункциональный объект, который относится ко встроенному языку 1С программирования и отвечает за проведение действий с файлами. Пользуясь объектом «ДвоичныеДанные» появляется возможность представления какого-либо файла в виде упорядоченной последовательности из байта.


         Объект «ДвоичныеДанные» есть и в толстом клиенте, и в тонком клиенте, и в мобильном приложении 1С, и для серверов, и для внешнего соединения.  


2.     Особенности объекта системы 1С «ДвоичныеДанные»

 

         Важно отметить особенность объекта «ДвоичныеДанные» - это возможность проводить сериализацию и из, и в XML и XDTO. Также объект можно задействовать для реквизитов управляемой формы.


         Замечание: тип объекта XDTO, который будет ставиться в соответствие объекту «ДвоичныеДанные» определён внутри пространства имён, его имя должно быть или base64Binary, или hexBinary.


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


3.     Использование двоичных данных 1С 8.3

 

         Далее представлен перечень задач, в которых может быть использован объект «ДвоичныеДанные», что подтверждает их значимость:

·        Переправка различных файлов между сервером и клиентом;

·        Переправка вложений из сообщений в электронных письмах;

·        Переправка файловых данных во время работы протокола HTTP;

·        При помощи «ХранилищаЗначения» - хранение файлов в информационной базе 1С 8;

·        Представление файлов в текстовом формате;

·        Методы криптографии.

         На скриншоте с программным кодом 1С ниже представлено то, как обеспечить чтение двоичных данных и провести отправку с клиента на сервер:   




4.     Процедура сохранения файла 1С внутри базы при помощи «ДвоичныхДанных»

 

         Довольно частый способ использования объекта «ДвоичныеДанные» - это сохранение файлового документа внутри информационной базы 1С 8. Чтобы файл хранился в двоичных данных 1С 8.3 – нужно внутри объекта внести реквизит, тип которого будет «ХранилищеЗначений».


         Далее демонстрируется программный код 1С для работы с реквизитами по заполнению значений 1С:




         А это программный код 1С для получения значений:  




5.     Объект «ДвоичныеДанные» с использованием протоколом HTTP

 

         Возьмём такой пример – пусть нужно скачать изображение из сети Интернет и отобразить его в управляемой форме 1С 8. В таком случае, добавим реквизит, тип которого будет «ХранилищеЗначения», куда и будет перемещено изображение двоичного формата.



 

         Программный код функции, который отвечает за скачивание изображения выглядит следующим образом:




         А используется программно так:




         Далее можно увидеть, что внутри реквизита «Аватар» находятся данные изображения в двоичном виде.

         Переведём изображение на форму, которая является управляемой, для этого добавляем реквизит формы «Тип строка 1С» и переносим его на форму.


         Можно воспользоваться и другим способом, а именно: вручную создать новый элемент формы, внутри поля «Путь к данным» прописать реквизит «Картинка», а вид поменять на «Поле картинки 1С», как показано на скриншоте ниже:



 

         Для события «ПриСозданииНаСервере» нужно написать следующее, после чего, изображение появится на форме:  




6.     Действия между объектом «ДвоичныеДанные» и потоками в конфигурации 1С Предприятие

 

         При работе с объектом «ДвоичныеДанные» нужно рассказать о том, как они могут взаимодействовать с потоками. Это взаимодействие происходит при помощи метода «ОткрытьПотокДляЧтения». Предположим, для примера, что в нашей информационной базе 1С 8 находится тип xml-файл, который заархивирован. И требуется отобразить для пользователя данные из этого файла.


         Если не использовать потоки, а просто задействовать объект «ДвоичныеДанные», то порядок действий будет следующим:

1.     Получение данных в двоичном виде из информационной базы 1С 8;

2.     Внесение этих данных во временный файл 1С 8.3;

3.     Проведение процедуры разархивации данных;

4.     Действие по удалению временного файла;

5.     И чтение готового файла, со снятой архивацией.

В случае работы с потоками, ряд действий будет таким:

1.     Получение данных в двоичном виде из информационной базы 1С 8;

2.     Проведение открытия потока, который обеспечит чтение;

3.     Проведение процедуры разархивации данных;

4.     Чтение готового файла, со снятой архивацией.


         Программный код 1С для процедуры, в которой потоки не задействуются:




         Программный код 1С для процедуры с использованием потока:  




7.     Двоичные данные и Base64 1С

 

         Для начала, стоит оговорить, что Base64 1С – это некий стандарт, который отвечает за кодировку двоичных данных в строчный вид. Чтобы сериализовать тип «ДвоичныеДанные» нужно воспользоваться внутренним объектом «СериализаторXDTO». После проведения сериализации, данные будут отображены в виде одного узла base64Binary, который состоит из упорядоченной последовательности байт, которые имеют кодировку формата Base64 1С.


         Также, стоит отметить, что в системе на базе 1С существуют функции кодировки двоичных данных без сериализации – это:



  


Специалист компании "Кодерлайн"

Айдар Фархутдинов

Наши проекты

МИР ХОББИ
МИР ХОББИ

Отрасль:
Торговля. Интернет магазин

Внедренное типовое решение:
1С:ERP Управление предприятием 2.0

Оформление заказов поставщикам
Взаиморасчеты с покупателями
Оформление...

ООО «Стейдж Энтертейнмент Россия»
ООО «Стейдж Энтертейнмент Россия»

Отрасль:
Театральная деятельность

Внедренное типовое решение:
Платформа 1С:Предприятие 8

Реализован процесс трансформации данных бухгалтерского учета по РСБУ в дан...

Филиал ГлавУпДК при МИД России фирма «Инпредкадры»
Филиал ГлавУпДК при МИД России фирма «Инпредкадры»

Отрасль:
Государственное управление

Внедренное типовое решение:
1С:Бухгалтерия

- Расчеты с контрагентами;
- Управленческий учет;
- Формирование отраслев...

ООО «ЛИГА-ТРАНС»
ООО «ЛИГА-ТРАНС»

Отрасль:
Профессиональные услуги, бытовое обслуживание

Внедренное типовое решение:
«1С:ERP Управление предприятием 2.1».

- Сделано ТЗ по автоматизации учета МСФО: - Разработана карта бюджета доходо...

Внедрение системы финансового учета БИТ:Финанс
ООО «Алькор и Ко» (Л’Этуаль)

Отрасль:
Торговля

Внедренное типовое решение:
БИТ.Финанс

- Финансовый учет;
- Поддержка проекта внедрения МСФО;
- Регламентные рабо...

ХИТЕК-ГРУП
ХИТЕК-ГРУП

Отрасль:
Продажа парикмахерского инструмента и аксессуаров

Внедренное типовое решение:
1С:ERP Управление предприятием 2.0

Документооборот (ECM)
• Делопроизводство
Управление бизнес-процессами и И...

ООО ХДМ Рус
ООО ХДМ Рус

Отрасль:
Торговля

Внедренное типовое решение:
1С:Бухгалтерия ПРОФ

Бухгалтерский учет Банк и касса Расчеты с контрагентами Торговые операции ...

ООО "АСТАРМЕДИКА КЛИНИКА МИКРОХИРУРГИИ ГЛАЗА"
ООО "АСТАРМЕДИКА КЛИНИКА МИКРОХИРУРГИИ ГЛАЗА"

Отрасль:
Деятельность больничных организаций

Внедренное типовое решение:
БИТ:Управление медицинским центром 8

- Управление отношениями с клиентами (CRM)
- Делопроизводство
- Ведение но...

АО «Вертолетная сервисная компания»
АО «Вертолетная сервисная компания»

Отрасль:
МТО эксплуатации вертолетной техники

Внедренное типовое решение:
1С:Бухгалтерия КОРП

- Консультации по сложным вопросам налогового и бухгалтерского учета;
- Ра...

Внедрение «1С:Бухгалтерия 8 ПРОФ» в компании «Мостехника»
ООО «Мостехника»

Отрасль:
Торговля

Внедренное типовое решение:
1С:Бухгалтерия ПРОФ

Документооборот (ECM):
- Учет рабочего времени;
Управление персоналом и ка...

Фармацевтическое предприятие «Оболенское»
АО «Фармацевтическое предприятие «Оболенское»

Отрасль:
Фармацевтическая промышленность

Внедренное типовое решение:
1С:Управление производственным предприятием

- Адаптации блоков/подсистем планирования продаж, закупок и казначейства. ...

Группа компаний АО «Киномакс»
Группа компаний АО «Киномакс»

Отрасль:
Культура, шоу-бизнес

Внедренное типовое решение:
БИТ.Финанс

- Разработка Положения о Казначействе группы компаний
- Разработка Положе...

Наши соц. сети

Telegram-канал «Koderline 1С» Группа в Вконтакте «Кодерлайн КОРП» Rutube

Остались вопросы - обратитесь к нам!

Впишите свои Имя и Телефон, чтобы мы ответили на все интересующие Вас вопросы.
ФИО*
E-mail*
Телефон*
Сообщение