11.02.2021 Игорь Торба 23795
Сериализация в 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С:Управление производственным предприятием

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

ЗАО «Инвестгеосервис»
ЗАО «Инвестгеосервис»

Отрасль:
Нефтесервис

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

Объемно-календарное планирование производства Автоматизация бизнес-процессов Анализ деятельности в разрезе проектов Планирование проектов У...

Автоматизация контроля исполнительской дисциплины на базе ПП «1С:Документооборот 8 ПРОФ»
ООО «ФСК Лидер»

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

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

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

ПЭК
ПЭК

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

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

- Внедрение функционала управления НСИ;
- Рефакторинг;
- Оптимизация общего модуля;...

ООО «Лаборатория успеха»
ООО «Лаборатория успеха»

Отрасль:
Общественное и плановое питание, гостиничный бизнес, туризм

Внедренное типовое решение:
1С:Зарплата и управление персоналом 8. КОРП

Кадровый учет;
Расчет зарплаты;...

Внедрение ПП "1С:Управление небольшой фирмой 8 ПРОФ" в
ИП Любо Виктория Александровна (ООО «Рекреация»)

Отрасль:
Производство

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

Осуществлены разработки:
– отчета по спецификации Заказа;
– загрузки спецификаций из Excell...

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

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

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

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

ООО "РУКАРД-АУРА"
ООО "РУКАРД-АУРА"

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

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

- Налоговый учет;...

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

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

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

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

Госкорпорация «Ростех»
Госкорпорация «Ростех»

Отрасль:
Производство, ТЭК >> Машиностроение, приборостроение

Внедренное типовое решение:
1С:Управление холдингом 1.3.

Специалисты «Кодерлайн» помогли разработать и внедрить автоматизированную систему управления финансовой и закупочной деятельностью (АС ФЗД) ...

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

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

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

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

ОАО «Фаберлик»
ОАО «Фаберлик»

Отрасль:

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

- Регламентированный учет;
- Кадровый учет;...

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

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

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

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