При подготовке доклада на конференцию infostart teach event 2025 возникла идея сделать аналог оператора Выполнить под WEB клиент и мобильный клиент через создание внешней подключаемой обработки.
На этом сайте представлен яркий пример упаковки обработок, расширения, конфигурация на функционале платформы 8.3.9 и новее: Yellow Packer и Распаковщик.
Тем не менее, работа с двоичными данными возможна и на более старых версиях 1С. В процессе переноса части функционала Yellow Packer на платформы 1С 8.2-8.3 были разработаны аналогичные методы по работе с двоичными данными на основе массивов байт, которые потом прижились и на платформе 1С 8.0.
В отличие от предшественников, в библиотеке представлены полные аналоги новых методов платформы 8.3.9. Отдельная благодарность автору функции Преобразовать64 , которая преобразует строку base64 в массив байтов и обратно из массива байт в base64. Отличии библиотеки от платформы можно привести в виде таблицы ниже.
Отличия платформы и библиотеки
Особенности | Библиотека | Платформа 8.3 |
---|---|---|
Работа с файлами | Читает файл всегда целиком | Позволяет читать файл порциями как в память, так и на диск. |
Ограничения на размеры файлов | Размер ограничен размерами оперативной памяти, но и предельным размером массива - 2^31 | За счет использования внутренних оптимизация и чтение файла кусками технически ничем не ограничен |
Использование компонент | Не используются внешние компоненты. Для очень больших файлов у которых размер составляет сотни мегабайт (на практике сегодня это размеры конфигурации ERP и библиотека БСП), желательно использовать не библиотеку, а компоненты. | Поскольку все операции оптимизированы на уровне платформы и имеются возможности управлять потреблением ресурсов, то не требуются. |
Требования для конфигураций. | Достаточно платформы 1с 8.0.5, поскольку используются функции XMLСтрока и XMLЗначение. По этой причине не нужен учет режима совместимости. | Необходимо учитывать режим совместимости конфигурации, к примеру данные возможности недоступны на УПП, или любых других старых конфигурациях на обычных формах. |
Типы клиентов | Не применимо на клиентской части WEB клиента, по серверной части ограничений нет. | Не применимо на клиентской части WEB клиента, по серверной части ограничений нет. |
По этой причине для небольших файлов, и если требуется обеспечить аналогичный функционал как на механизмах платформы, можно использовать данную библиотеку.
Её написал в процессе подготовки одного из слайдов доклада в паре с нейронной сетью deepseek. Можете пользоваться на свое усмотрение.
Проверено на следующих конфигурациях и релизах:
- 1С:Библиотека стандартных подсистем, редакция 3.1, релизы 3.1.11.309
- Управление торговлей, редакция 10.3, релизы 10.3.88.3
Вступайте в нашу телеграмм-группу Инфостарт