11.02.2021 Игорь Торба 26314
Сериализация в 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. WMS Логистика. Управление складом»
ОАО «Фрейт Линк»

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

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

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

ФГУП «Почта России»
ФГУП «Почта России»

Отрасль:
Почта, доставка

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

- Бухгалтерский учет
- Расчет зарплаты и кадровый учет
- Налоговый учет ...

Автоматизация документооборота в компании ООО "Ликард"
ООО «Ликард» (ОАО ЛУКОЙЛ)

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

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

- Отказ от бумажного документооборота, от громоздких систем на базе офисного...

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

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

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

- Взаиморасчеты с поставщиками
- Учет прихода ТМЦ
- Взаиморасчеты с поку...

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

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

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

Закупки (снабжение) и управление отношениями с поставщиками:
- Оформление ...

ООО «Еврорадиаторы»
ООО «Еврорадиаторы»

Отрасль:
1С:ERP 2.4

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

Специалисты «Кодерлайн» помогли перенести базу из текущей системы «1С:ERP 2.2» ...

ЗАО «Многопрофильная формирующая авиагруппа» (ЗАО МФГ)
ЗАО «Многопрофильная формирующая авиагруппа» (ЗАО МФГ)

Отрасль:
Оптовая торговля транспортными средствами и оборудованием

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

- Финансы, управленческий учет, мониторинг показателей
- Бухгалтерский уче...

Установка программного продукта БИТ.Финанс для 1С:Бухгалтерия 8
ООО «Джи Эй Си Шиппинг энд Лоджистикс»

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

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

Построение единого информационного пространства финансовой службы;
Учет ...

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

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

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

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

ЗАО «Ламбумиз»
ЗАО «Ламбумиз»

Отрасль:
Производство картонной упаковки

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

- Маркетинг;
- Продажи;
- Планирование закупок;
- Закупки;
- Регламенти...

ООО «Иви.ру»
ООО «Иви.ру»

Отрасль:
Медиаиндустрия

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

Подсистема казначейства
Модуль бюджетного контроля по ДДС ...

Внедрение ПП "1С:Бухгалтерия 8 ПРОФ" в ООО "ДЕКОР"
ООО «ДЕКОР»

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

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

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

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

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

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

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