11.02.2021 Игорь Торба 28768
Сериализация в 1С

Содержание:

1.       Сериализация объекта

2.       Сериализация XML

3.       Сериализация данных XDTO


Сериализация – механизм сохранения значения объекта базы данных в некотором виде, который позволяет выполнить последующее восстановление (десериализацию) в объект базы данных.


Выделяют следующие типы сериализации:

·         Сериализация объекта

·         Сериализация XML

·         Сериализация XDTO  


1.    Сериализация объекта


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


Существуют ряд штатных механизмов платформы 1С, которые используют сериализацию:


Сохранение значения в файл и восстановление из файла

Данный механизм может применяться для передачи каких-либо значений внутри сеанса либо между сеансами посредством использования методов ЗначениеВФайл() и ЗначениеИзФайла().


Сохранение значения в объекте Хранилище значений

Значения, записанные в реквизит с типом данным Хранилище значений, хранятся в сериализованном виде. Чаще всего это применяется для хранения картинок или других двоичных данных. Но иногда это может использоваться для хранения таблиц значений или массивов. Например, хранение табличных частей. Основным требованием к хранению коллекций в хранилище значений является возможность сериализации данных каждого поля коллекции.


В целях оптимизации поля с типом данных Хранилище значений «выносят» в отдельный объект, не связанный с объектом-владельцем данных. Например, в типовых конфигурациях файлы и картинки хранятся в отдельном справочнике с окончанием наименования «ПрисоединенныеФайлы».


Сохранение параметров между сеансами

Эта возможность используется для сохранения настроек форм, отчетов, обработок. Могут также использоваться методы СохранитьЗначение() и ВосстановитьЗначение(). Надо учитывать, что при сохранении резервной копии информационной базы значения настроек не сохраняются.


Сохранение значения в строку и восстановление из строки

Для этих целей применяются методы ЗначениеВСтрокуВнутр() и ЗначениеИзСтрокиВнутр(). Данные методы используются в основном в версии платформы 1С 7.7. С помощью этих методов можно, например, сохранять в строке ссылочные объекты для последующего восстановления в текущей информационной базе.  


2.    Сериализация XML


Данный тип осуществляет, преобразование объектов 1С в строку, содержащую данные в формате xml. В отличии от предыдущего типа сериализации, сериализация XML может быть использована для обмена данными между различными ИБ. Суть данного механизма состоит в представлении объекта в виде последовательности данных формата XML. Базовыми средствами такой сериализации являются ЧтениеXML и ЗаписьXML.


Сериализации XML запись

Сериализация XML – ЗаписьXML


Процедура Сериализации XML

Процедура Сериализации XML


Сериализация XML - ЧтениеXML

Сериализация XML - ЧтениеXML  


3.    Сериализация данных XDTO


Сериализация XDTO, как и сериализация xml, используется для организации обмена между информационными системами. В свою очередь, сериализация данных XDTO является более универсальным способом представления данных. XDTO (XML Data Transfer Objects) – механизм объектного моделирования данных, описываемых с помощью схемы XML. Механизм XDTO решает следующие задачи: обмен между информационными системами 1С различной структуры метаданных, обмен с информационными системами не являющимися системами 1С, разработка собственных типов данных, описание типов данных и возвращаемых параметров web-сервисов.


Основой механизма XDTO является использование фабрики XDTO, в которой храниться описание всех типов данных с которыми оперирует система, а точнее говоря, всех типов в рамках определенного пространства имен. Наряду с предопределенными пространствами, предустановленными в платформе 1С, можно создавать свои пользовательские. Для этого существует объект Фабрика.


Использование фабрики XDTO

Использование фабрики XDTO


Пример использования фабрики XDTO

Пример использования фабрики XDTO


Десериализация XDTO

Десериализация XDTO


Раскрывая тему сериализации XDTO, нельзя не упомянуть о сериализации JSON. Данный формат сериализации также может быть использован для различных обменов. Чаще всего он используется в HTTP сервисах, хотя это не ограничивает его применение. Файл в формате JSON имеет меньший размер чем файл в формате XML и превосходит в скорости передачи данных и ее обработки.


сериализация JSON

Сериализация JSON


Пример сериализации JSON

Пример сериализации JSON


Десериализация JSON

Десериализация JSON


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

Игорь Торба

 

Наши проекты

ООО "СЖД"
ООО "СЖД"

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

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

Расчет зарплаты
Подбор кадров
Кадровый учет
Анализ кадрового состава...

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

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

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

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

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

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

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

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

ООО «ПЛЮСПЭЙ»
ООО «ПЛЮСПЭЙ»

Отрасль:
Организацией расчетов посредством электронных средств платежа

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

- Разработка подсистемы оперативного учета транзакций...

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

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

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

Управление цепочками поставок Оптовая торговля ...

ООО «ЛукБелОйл»
ООО «ЛукБелОйл»

Отрасль:
Нефтегазовая отрасль

Внедренное типовое решение:

- Обследовании бизнес-процессов «Документооборот», «Казначейство и Бюджети...

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

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

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

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

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

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

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

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

ООО «ДАФ Тракс Рус» (DAF Trucks Rus)
ООО «ДАФ Тракс Рус» (DAF Trucks Rus)

Отрасль:
Машиностроение

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

- Осуществлена разработка матрицы прав и ролей для финансового подразделени...

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

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

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

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

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

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

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

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

Внедрение 1С:Управление торговлей
ООО «Амперсенд»

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

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

- Оформление заказов поставщикам;
- Управление отношениями с поставщиками;...

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

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

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

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