Преодоление онтологического барьера при интеграции корпоративных данных: от структурного отображения к семантическому конвейеру

10.09.26

Интеграция - Перенос данных 1C

Интеграция корпоративных данных традиционно строится на структурном отображении (маппинге) полей и таблиц. Однако, как показывает практика, этого недостаточно: бизнес-логика, правила вычислений и процессный контекст остаются «за бортом». В статье вводится понятие онтологического барьера — неявного смыслового разрыва между системами-источником и приёмником, который не может быть преодолён стандартными средствами вроде XDTO, XML Schema или JSON Schema, поскольку они описывают лишь синтаксис и иерархию, но не семантику. Автор предлагает архитектурный паттерн «Семантический конвейер» (Semantic Pipeline), разделяющий ETL на три независимых слоя: нормализацию данных до атомарных бизнес-фактов, обогащение контекстом и проекцию в целевую структуру. На сквозном примере миграции данных о скидках показано, как предложенный подход сохраняет бизнес-инварианты даже при кардинальном расхождении схем хранения. Особое внимание уделяется восстановлению утраченной процессной информации через Event Sou

1. Введение

Современные корпоративные информационные системы редко существуют в изоляции. Интеграция, миграция и синхронизация данных между разнородными приложениями стали повседневной задачей ИТ-отделов. Особенно остро эта проблема стоит при переходе с устаревших систем на современные платформы, при слиянии компаний или при внедрении новых бизнес-процессов.

В индустрии сложился стандартный подход — ETL (Extract, Transform, Load), предполагающий извлечение данных из источника, их преобразование и загрузку в приёмник. Однако многолетняя практика показывает, что значительная часть проектов интеграции сталкивается с неожиданными трудностями: данные переносятся, но бизнес-показатели «плывут», аналитика становится недостоверной, а ручные корректировки требуют месяцев. Причина этих проблем лежит глубже, чем несовпадение типов данных или имён полей.

Мы утверждаем, что ключевым препятствием является онтологический барьер — фундаментальное несоответствие между концептуальными моделями предметной области в системах-источнике и приёмнике. Преодоление этого барьера требует пересмотра традиционной ETL-архитектуры и внедрения семантических слоёв, работающих на уровне бизнес-правил и процессов.

2. Постановка проблемы

2.1. Уровни несоответствия данных

При интеграции данных можно выделить три уровня барьеров:

  • Синтаксический — различия в типах, форматах, кодировках. Легко устраняется стандартными преобразованиями (кастинг, форматирование).

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

  • Смысловой (онтологический) — различие в определениях сущностей, их свойствах, связях и правилах поведения. Например, понятие «договор» в одной системе является самостоятельным объектом с жизненным циклом, а в другой — лишь атрибутом документа. Этот уровень не может быть устранён простым маппингом полей.

В большинстве проектов ETL внимание сосредоточено на первых двух уровнях, а онтологический барьер либо игнорируется, либо «лечится» костылями в коде, что приводит к хрупким, неподдерживаемым решениям.

2.2. Недостаточность форматов описания схем

Промышленные форматы обмена данными, такие как XML Schema, JSON Schema, а в экосистеме 1С — XDTO (XML Data Transfer Objects), предоставляют мощные средства для описания структуры и типов данных. Однако они принципиально не предназначены для передачи семантики. XDTO описывает, какие поля есть у объекта, их типы и допустимые значения, но не содержит правил вычисления, зависимостей от контекста, временных ограничений или ссылок на процессы. По сути, это «сырые» данные (см. табл. 1), которые требуют дополнительной интерпретации, которая обычно зашита в недрах кода ETL-скриптов.

Таблица 1 — Сравнение слоёв модели данных

 
 
Слой Формальные средства Пример содержимого Отвечает на вопрос
Синтаксический Типы данных, форматы decimal(15,2), yyyy-MM-dd «Как записано?»
Структурный Схема (XDTO, XSD) Поле Сумма внутри элемента Документ.Товары «Где лежит?»
Онтологический Отсутствует (обычно в документации или коде) «Сумма включает НДС и вычисляется как Цена × Количество — Скидка, если Договор подписан до 2020» «Что это значит и как интерпретировать?»

Поскольку XDTO не отражает онтологию, любые преобразования, основанные только на нём, эквивалентны перекладыванию кирпичей без плана здания. Результат может быть внешне похожим, но конструкция окажется ненадёжной.

2.3. Роль бизнес-процессов

Бизнес-процесс, будь то согласование заказа, отгрузка товара или расчёт бонусов, представляет собой динамическую сущность. Данные, которыми оперирует процесс, — это лишь снимки состояний в определённые моменты времени. Онтология процесса включает в себя:

  • последовательность событий и переходов между статусами;

  • условия (правила) переходов;

  • роли и права участников;

  • влияние на другие процессы.

При миграции данных без учёта процесса теряется история — информация о том, как достигнуто текущее состояние. Восстановить это по текущим записям часто невозможно. Языки описания процессов, такие как IDEF0, IDEF3, UML (диаграммы деятельности и состояний), позволяют формализовать этот аспект. Однако они редко интегрируются в ETL-проекты, что приводит к разрыву между процессной и структурной моделями данных.

3. Теоретические основы

3.1. Формальная модель онтологии

В информатике онтология обычно определяется как спецификация концептуализации (Gruber, 1993). Для практических задач интеграции данных онтология включает:

  • множество классов (сущностей);

  • множество свойств (атрибутов и отношений);

  • аксиомы — правила, ограничивающие интерпретацию;

  • правила вывода (дедуктивные правила).

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

3.2. Каноническая модель данных

Одним из проверенных подходов к преодолению онтологических разрывов является введение промежуточной канонической (или интеграционной) модели данных. Эта модель вырабатывается как нейтральное представление предметной области, независимое от конкретных систем. Все системы-источники преобразуют свои данные в каноническую модель, а из неё — в целевую. Каноническая модель должна включать не только структуру, но и набор базовых бизнес-фактов, таких как «продажа товара», «применение скидки», «изменение статуса заказа».

Однако на практике разработка полноценной онтологической канонической модели требует значительных усилий по согласованию между бизнес-подразделениями. Тем не менее, как будет показано далее, даже частичное выделение семантического ядра значительно улучшает качество трансформаций.

3.3. Event Sourcing и Process Mining

Для систем с длинной историей целесообразно рассматривать данные не как состояние, а как последовательность событий. Шаблон Event Sourcing предполагает, что состояние объекта является результатом применения всех ранее произошедших событий. При миграции это позволяет воспроизвести состояние в целевой системе, выполнив ту же последовательность событий, но в другой онтологии — через отображение событий источника на события приёмника.

Если логи событий отсутствуют, можно применить методы Process Mining — восстановление моделей процессов по журналам транзакций (van der Aalst, 2016). Эти методы помогают выявить реальные сценарии поведения, скрытые в данных, и использовать их для семантической коррекции при ETL.

4. Архитектурный паттерн «Семантический конвейер»

Предлагаем архитектуру, которая разделяет обязанности внутри ETL и явно вводит онтологический слой. Паттерн состоит из трёх этапов:

  1. Нормализация (Normalize) — преобразование исходных данных (сырых, полученных через XDTO или аналоги) в поток атомарных фактов, описывающих события и состояния без привязки к структуре источника.

  2. Обогащение (Enrich) — добавление контекстной информации, отсутствующей в источнике, но необходимой для целевой системы (например, идентификаторы складов, коды валют, курсы). На этом этапе привлекаются внешние справочники и правила.

  3. Проекция (Project) — сборка из атомарных фактов структур данных, соответствующих целевой онтологии и схеме приёмника. Это обратный процесс, учитывающий правила агрегации и преобразования.

Каждый этап является чистым по отношению к правилам: они могут быть модифицированы независимо от остальных. Таким образом, изменение целевой структуры затрагивает только этап проекции, а изменение бизнес-правил (например, способа расчёта скидки) — только этап нормализации.

4.1. Детализация этапов

  • Нормализация должна быть управляема правилами, записанными на некотором DSL (Domain-Specific Language) или в виде таблиц решений. Например, правило: «Если в документе присутствует поле 'РучнаяСкидка', то сгенерировать дополнительный факт типа DISCOUNT_APPLIED с отрицательной суммой». Это позволяет формализовать онтологию источника.

  • Обогащение часто требует обращения к внешним сервисам или базам данных. Желательно сделать его асинхронным и кешируемым.

  • Проекция должна гарантировать соблюдение бизнес-инвариантов. Проверки (сумма строк равна итогу, уникальность ключей) выполняются именно здесь.

4.2. Сравнение с традиционным ETL

В традиционном ETL этап Transform обычно представляет собой монолитную процедуру, преобразующую одну структуру в другую напрямую. Семантический конвейер разбивает эту процедуру, делая её модульной и декларативной. Он явно разделяет «что мы знаем о данных» (нормализация) и «как мы должны их представить» (проекция). Это ключевое отличие, позволяющее справляться с онтологическими барьерами.

5. Практический пример: миграция данных о скидках

Рассмотрим гипотетическую, но типичную ситуацию: переход с учётной системы А (устаревшая) на систему Б (современная). В системе А документ реализации содержит поле РучнаяСкидка в шапке, а сумма итог (СуммаИтог) уже за вычетом скидки. В системе Б скидка должна быть оформлена как отдельная строка-корректировка с отрицательной суммой, чтобы сохранить аналитику по ценам и скидкам.

Если применить прямое отображение, перенеся только СуммаИтог, скидка будет потеряна для отчётности. Если пытаться передать РучнаяСкидка в какое-то служебное поле, оно может не поддерживаться в целевой системе.

5.1. Реализация через семантический конвейер

Нормализация (вход: XDTO из А):

text
Факт1: {тип: ITEM_SOLD, товар: "Стул", базовая_цена: 1000, количество: 1}
Факт2: {тип: DISCOUNT_APPLIED, сумма: -100, причина: "ручная"}

Обогащение (подтягиваем склад по умолчанию для товара):

text
Факт1 обогащается полем warehouse_id = 12

Проекция (в XDTO для Б):

  • Строка товара: тип = "Goods", цена = 1000, сумма = 1000.

  • Строка корректировки: тип = "DiscountCorrection", сумма = -100.

  • Итог документа вычисляется как 1000 + (-100) = 900 — бизнес-инвариант сохранён.

В коде это может быть реализовано в виде цепочки функций, описанных выше. Важно, что изменение политики скидок (например, скидка должна применяться к каждой позиции пропорционально) потребует правки только функции нормализации, а структура приёмника останется нетронутой.

5.2. Обратимость и проверка корректности

В отличие от прямого маппинга, семантический конвейер позволяет проверить корректность преобразования на уровне бизнес-правил. Для каждого набора фактов можно определить инварианты (например, sum(сумм_всех_фактов_по_документу) == итог_документа), которые должны сохраняться после проекции. Кроме того, предложенный подход облегчает отладку: ошибки в нормализации видны уже на этапе фактов, ошибки в проекции — на этапе сборки.

6. Обсуждение

6.1. Ограничения и сложности внедрения

Главным ограничением предлагаемого подхода является необходимость явного описания онтологии источника и приёмника в виде правил нормализации и проекции. Это требует глубокого знания бизнес-логики, которое не всегда формализовано. Часто эксперты (бизнес-аналитики) могут предоставить лишь документацию, но не исполняемые модели. Поэтому на практике создание семантического конвейера идёт итеративно: сначала простейшие правила, затем уточнение по мере обнаружения нестыковок.

Другая сложность — производительность. Преобразование данных через слой атомарных фактов может порождать больше промежуточных записей, чем прямой ETL. Однако современные потоковые процессоры (Apache Flink, Kafka Streams) легко справляются с такими нагрузками.

6.2. Связь с процессными моделями

Для систем со сложной динамикой (например, управление заказами, проектное управление) нормализация может включать восстановление процессного контекста. Это можно сделать на основе логов или журналов регистрации. Использование IDEF0 или UML для описания процессов позволит автоматически генерировать правила нормализации. Например, диаграмма состояний может задать таблицу переходов: из состояния «Согласование» в состояние «Утверждён» — значит, данные должны быть обогащены меткой времени и пользователем.

6.3. Отношение к канонической модели

Семантический конвейер не требует построения единой глобальной канонической модели для всех систем. Достаточно определить локальное семантическое ядро, которое служит мостом только между конкретной парой «источник-приёмник». Это снижает сложность и ускоряет внедрение.

6.4. Сравнение с XDTO и другими схемами

XDTO, а также XML Schema и JSON Schema — отличные инструменты для проверки синтаксической корректности, но они не предназначены для представления правил трансформации. В нашем паттерне XDTO используется только на входе и выходе как транспорт, но не как средство преобразования. Это позволяет сохранять простоту схем и переносить всю сложность в исполняемые бизнес-правила, написанные на языках высокого уровня или DSL.

7. Заключение

В работе обосновано, что основная трудность при интеграции гетерогенных систем лежит в онтологической плоскости. Традиционные ETL-средства, ориентированные на структурный маппинг, не способны передать смысл данных, что приводит к потере бизнес-информации и снижению достоверности аналитики.

Предложенный архитектурный паттерн «Семантический конвейер» предлагает прагматичный путь преодоления онтологического барьера через:

  • нормализацию исходных данных до атомарных фактов, не зависящих от структуры источника;

  • обогащение фактов контекстом;

  • проекцию фактов в структуры целевой системы.

Данный подход позволяет изолировать изменения, упрощает тестирование и даёт возможность использовать процессные модели (IDEF0, UML) для автоматизации правил нормализации. Пример со скидками демонстрирует, что даже простое выделение фактов DISCOUNT_APPLIED радикально улучшает сохранность бизнес-логики.

В качестве направлений дальнейших исследований можно выделить разработку формальных языков описания правил нормализации, интегрируемых с нотациями бизнес-процессов, а также создание инструментов автоматического восстановления онтологий по журналам транзакций (Process Mining). Предложенный паттерн может служить основой для построения семантически-ориентированных платформ интеграции данных нового поколения.


Литература

  1. Gruber, T. R. (1993). A translation approach to portable ontology specifications. Knowledge Acquisition, 5(2), 199-220.

  2. van der Aalst, W. M. P. (2016). Process Mining: Data Science in Action. Springer.

  3. Lenzerini, M. (2002). Data integration: A theoretical perspective. Proceedings of the 21st ACM SIGMOD-SIGACT-SIGART Symposium on Principles of Database Systems, 233-246.

  4. Kimball, R., Ross, M. (2013). The Data Warehouse Toolkit: The Definitive Guide to Dimensional Modeling. Wiley.

  5. Object Management Group. (2015). Business Process Model and Notation (BPMN), Version 2.0.2.

  6. 1С:Предприятие. (2019). XDTO — расширяемый механизм обмена данными. Документация.

  7. Fowler, M. (2002). Patterns of Enterprise Application Architecture. Addison-Wesley.

Вступайте в нашу телеграмм-группу Инфостарт

Онтологический барьер ETL интеграция данных XDTO семантический конвейер миграция данных бизнес-процессы IDEF0 UML Event Sourcing каноническая модель данных нормализация данных обогащение данных проекция данных бизнес-инварианты маппинг процессный подход семантическое ядро трансформация данных

Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

См. также

Перенос данных 1C Программист 1С:Предприятие 8 1С:Управление производственным предприятием 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)

Перенос документов, начальных остатков и справочной информации из УПП 1.3 в ERP 2 | из УПП 1.3 в УТ 11 | из УПП в КА 2 | Правила конвертации (КД 2) | Более 360 предприятий выполнили переход с использованием этого продукта! | Сэкономьте время - используйте готовое решение для перехода! | Позволяет перенести из УПП 1.3 в ERP / УТ 11 / КА 2 всю возможную информацию | В переносе есть фильтр по организации и множество других опциональных параметров выгрузки | Есть несколько алгоритмов выгрузки остатков на выбор

58000 руб.

04.08.2015    193062    466    309    

465

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист 1С:Предприятие 8 1С:Комплексная автоматизация 1.х 1С:Управление производственным предприятием 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Перенос данных из 1С:Управление производственным предприятием 1.3 в 1С:Бухгалтерия предприятия 3.0 с помощью правил обмена | Можно выполнить переход с УПП на БП 3 или запускать выгрузку данных за выбранный период времени | Переносятся документы, начальные остатки и вся справочная информация | Есть фильтр по организации и множество других параметров выгрузки | Поддерживается несколько сценариев работы: как первичный полный перенос, так и перенос только новых документов | Перенос данных возможен в "1С: Бухгалтерия 3.0" версии ПРОФ, КОРП или базовую | Переход с "1С: УПП1.3" / "1С:КА 1.1" на "1С:БП3.0" с помощью правил конвертации будет максимально комфортным! | Можно бесплатно проверить перенос на вашем сервере!

50050 руб.

25.02.2015    191237    375    295    

428

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Программист 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)

Перенос данных из ERP в БП 3 | из КА 2 в БП 3 | из УТ 11 в БП 3 | из ЕРП в БП 3 | Сэкономьте время - используйте готовое решение для перехода! | Перенос разработан в формате КД 2 (правила конвертации данных) | Переносятся все возможные виды документов, начальных остатков и нормативно-справочная информация| Можно опционально выгружать каждую пару "номенклатура+характеристика" как отдельную номенклатуру | Есть выгрузка настроек счетов учета и зарплатных данных из ERP / КА 2 | Можно проверить на вашем сервере перед покупкой

58000 руб.

15.04.2019    86526    232    182    

168

SALE! 15%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист 1С:Предприятие 8 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Россия Платные (руб)

Правила в универсальном формате обмена для ERP 2.5, КА 2.5, УТ 11.5, БП 3.0, Розница, УНФ, для последних версий конфигураций. Ссылки на другие конфигурации в описании публикации. Правила совместимы со всеми другими версиями конфигураций новыми и старыми, поддерживающими обмен и синхронизацию в формате EnterpriseData. Не требуется синхронного обновления правил после обновления другой конфигурации, участвующей в обмене. Типовой обмен через планы обмена кнопкой Синхронизация вручную или автоматически по расписанию, или вручную обработкой.

27633 руб.

12.06.2017    163601    993    329    

487

Перенос данных 1C Взаиморасчеты Оптовая торговля Логистика, склад и ТМЦ Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист 1С:Предприятие 8 1С:Управление торговлей 10 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Управленческий учет Платные (руб)

Можно проверить до покупки, оставьте заявку! Воспользовались более 268 компаний! Перенос данных из УТ 10.3 в УТ 11 | из УТ 10.3 в КА 2 | из УТ 10.3 в ERP. Решение для перехода с УТ 10.3. Можно перенести начальные остатки, нормативно-справочную информацию и все возможные документы. При выгрузке можно установить отбор по периоду, организациям и складам.

50200 руб.

24.04.2015    209904    180    253    

299

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист 1С:Предприятие 8 1С:Управление производственным предприятием 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Управленческий учет Платные (руб)

Переносите справочную информацию, остатки и документы из УПП 1.3 в Бухгалтерию 3.0 с помощью готовых правил. Переносится более 50 видов документов. Простой интерфейс и понятные настройки.

42000 37800 руб.

15.12.2021    36041    263    68    

201

Файловый обмен (TXT, XML, DBF), FTP Перенос данных 1C Системный администратор Программист Бухгалтер 1С:Предприятие 8 1С:Бухгалтерия 3.0 Россия Платные (руб)

Обработка не только формирует начальные остатки по всем счетам на нужную дату (экономя время на свёртке базы БП 3), но и полностью переносит справочные данные и документы за заданный период. Гибкая настройка включает фильтр по организациям и множество параметров выгрузки. Работайте в удобном формате: выполните однократный полный переход или настройте регулярную догрузку только новых документов из БП 3 в БП 3.0. Интеграция правил конвертации в план обмена гарантирует точную выгрузку исключительно зарегистрированных объектов.

70760 руб.

10.04.2026    1149    3    8    

2

Рабочее место Производство готовой продукции (работ, услуг) Перенос данных 1C Пользователь 1С:Предприятие 8 1С:Управление производственным предприятием 1С:Документооборот 1С:Комплексная автоматизация 2.х 1С:КА 1С:ДО Платные (руб)

Продукт "Интеграция с 1С:Документооборот" позволяет использовать функции программы "1С:Документооборот 8" напрямую из учетной системы (1С:УПП; 1С:КА, 1С:УТ 10.3, 1С:БГУ 1.0, 1С:ЗБУ 1.0, 1С:УПП для Казахстана и отраслевых решений, разработанных на их основе) на платформе "1С:Предприятие 8": выполнять и ставить задачи, просматривать документы, скан-копии и прочие файлы, штрих-кодировать документы отправлять письма, вести учет рабочего времени - не входя в "1С:Документооборот 8", работая в одной программе, что значительно сокращает время и делает работу более комфортной и эффективной. Продукт прошел сертификацию 1С-Совместимо

135530 руб.

11.06.2015    63520    39    20    

51
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. partizand 146 10.09.26 18:40 Сейчас в теме
Концепция интересная. Но непонятно как на практике это использовать.
В примере, достаточно преобразования галки скидка в А в строку с минусом в Б. Какие либо изменения потом не важны, т.к. перенос разовый.
2. gybson 13 10.09.26 22:20 Сейчас в теме
ПКО называется - правила конвертации объекта
Например у нас есть обмен, где 4 документа всегда конвертируются в один документ приемник, но разными алгоритмами. И сами исходящие данные формируются 4 разными алгоритмами с обогащением из регистров в том числе. Или РКО конвертируется в ведомость на выплату ЗП в кассу, например.

Повсеместно выгрузки (и загрузки) табличных частей идут алгоритмами. Алгоритмы на отдельные поля. Все есть давно в конвертации данных.
4. DmitryKlimushkin 11.09.26 07:05 Сейчас в теме
(2)
4 документа всегда конвертируются в один документ приемник
Чудовищно!! Сам такой фигнёй занимаюсь регулярно и каждый раз поражаюсь, ведь в очень небедной конторе есть и аудиторы, и всякие финансисты, у которых обои на стенах сделаны из их дипломов и сертификатов. Кто придумывает этот изврат - понятно плохо....
3. DmitryKlimushkin 11.09.26 07:03 Сейчас в теме
- Бухгалтерия?
- Не, не слышали...
В мире достаточно примеров одних и тех же открытий, сделанных в разных местах и разными людьми, формулирующих одинаковый смысл. Достаточно вспомнить пресловутый закон, про который существует школьный анекдот, типа "Бойль-Мариотт взял трубку и ...." Вот такие аналогии и возникают при чтении очередного ИТ-крестового похода под хоругвями с надписью "Давайте ещё раз изобретем бухгалтерский метод учета и наглядного представления финансовой информации". (Попкорн врачи не одобряют, я семки погрызу...)
5. пользователь 11.09.26 15:31
Сообщение было скрыто модератором.
...
Для отправки сообщения требуется регистрация/авторизация