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

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

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

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

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

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

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

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

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

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

Группа компаний ТМ «Дружба народов»
Группа компаний ТМ «Дружба народов»

Отрасль:
Пищевая промышленность

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

- Переход на новый релиз 2.1 программы «1С:ERP Управление предприятием»
- Разра...

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

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

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

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

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

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

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

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

Автоматизация кадрового учета на базе ПП "1С:Зарплата и управление персоналом" в ТД НМК
ООО «Торговый дом Нальчикский молочный комбинат»

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

Внедренное типовое решение:
1С:Зарплата и управление персоналом

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

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

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

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

Специалисты «Кодерлайн» помогли разработать и внедрить автоматизированную...

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

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

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

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

Московский филиал ООО «Авиакомпания «Икар»
Московский филиал ООО «Авиакомпания «Икар»

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

Внедренное типовое решение:
1С:Зарплата и управление персоналом

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

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

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

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

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

Автоматизации бизнес-процессов учета и планирования на базе «1С:ERP Управление предприятием 2.0»
ООО «Буровая сервисная компания «ГРАНД»

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

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

- Создание полноценной управленческой системы взамен существующих
- Внедр...

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

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

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

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