18.01.2023 Айдар Фархутдинов 23896
Программа 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С:Документооборот 8 ПРОФ»
ООО «ФСК Лидер»

Отрасль:
Строительство и девелопмент

Внедренное типовое решение:
1С:Документооборот 8 ПРОФ

- Делопроизводство;
- Учет и хранение документов;
- Учет и контроль исполне...

ООО "Смена"
ООО "Смена"

Отрасль:
Торговля, склад, логистика, транспорт

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

Банк и касса
Расчеты с контрагентами
Торговые операции
Взаиморасчеты с...

Внедрение 1С:Управление торговлей в оптово-розничной компании «Ална-Байк»
ИП Титов Виктор Сергеевич «Ална-Байк»

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

Внедренное типовое решение:
1С:Управление торговлей

- Управление складами;
- Управление заказами поставщиков;
- Управление зак...

ООО "НЦКТ"
ООО "НЦКТ"

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

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

Производственные операции
Автоматизация бизнес-процессов...

ООО «Фипар»
ООО «Фипар»

Отрасль:

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

Специалисты «Кодерлайн» внедрили «1С:ERP. Управление предприятием 2» и автома...

Автоматизация интеграции с информсистемами клиентов на базе «1С:Предприятие 8. WMS Логистика. Управление складом»
ОАО «Фрейт Линк»

Отрасль:
Логистика и грузоперевозки

Внедренное типовое решение:
«1С:Предприятие 8. WMS Логистика. Управление складом»

– Управление складскими запасами;
– Оформление заказов покупателей;
– ...

Апгрейд 1С:Бухгалтерия 8 ПРОФ (USB) до версии 1С:Бухгалтерия 8 КОРП (USB)
ООО «Ява Строй»

Отрасль:
Строительство

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

- Создание чистых конфигураций. Внесение изменений в БД ЗУП и новая расчетна...

ООО "НЦКТ"
ООО "НЦКТ"

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

Внедренное типовое решение:
1С:Управление нашей фирмой 8 ПРОФ

Взаиморасчеты с покупателями
Автоматизация бизнес-процессов...

ФГОУ ВПО «Горский государственный аграрный университет»
ФГОУ ВПО «Горский государственный аграрный университет»

Отрасль:
Образование

Внедренное типовое решение:
1С:Колледж ПРОФ

- Управление персоналом и кадровый учет (HRM):
Кадровый учет
Управление об...

ООО «ПраксисКом»
ООО «ПраксисКом»

Отрасль:
Аутсорсинг бухгалтерских услуг

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

- Бухгалтерский учет:
Банк и касса
Завершение периода
Нематериальные ...

Автоматизация кадрового учета на базе «1С:ERP Управление предприятием 2.0»
Автопредприятие ПАО «Газпром»

Отрасль:
Транспорт

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

- Настройка подсистемы кадрового учета;
- Перенос персональных данных;
- З...

ПАО «АрселорМиттал Кривой Рог»
ПАО «АрселорМиттал Кривой Рог»

Отрасль:
Металлургическая промышленность

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

- Кадровый учет
- Расчет зарплаты
- Регламентированная отчетность
- Уч...

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

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

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

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