Кто создал СКД и Конвертацию данных: история разработки и лица за кадром

Программист IT и автоматизация бизнеса
← На главную

Каждый разработчик, работающий в экосистеме 1С:Предприятие, ежедневно сталкивается с механизмами, которые определяют мощь и гибкость этой платформы. Два столпа, на которых держится современная разработка сложных отчетов и интеграционных решений, — это Система компоновки данных (СКД) и конфигурация Конвертация данных (КД). Эти инструменты настолько монументальны, что у многих программистов возникает закономерный вопрос: неужели это плод работы отдельных гениальных разработчиков или результат коллективного труда огромного корпоративного отдела? В этой статье мы подробно разберем историю создания этих механизмов, назовем имена их авторов, проанализируем официальные патенты и проследим эволюцию технологий от истоков до наших дней.

Система компоновки данных (СКД): Легендарный тандем и официальный патент

Для многих разработчиков СКД представляется сложнейшим «черным ящиком», который самостоятельно трансформирует декларативные настройки пользователя в оптимальные SQL-запросы, управляет компоновкой макетов, рассчитывает итоги по сложным иерархическим группировкам и выводит данные в любые форматы. Написать подобный механизм силами обычных программистов «с нуля» — задача колоссальной сложности.

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

Авторами этого патента официально значатся два человека:

  1. Нуралиев Сергей Георгиевич — руководитель отделения разработки платформы «1С:Предприятие».
  2. Лейбович Максим Михайлович — ключевой архитектор и ведущий разработчик платформы.

Максим Лейбович — фигура в сообществе 1С поистине легендарная. Именно он спроектировал и воплотил в жизнь важнейшие механизмы платформы 1С:Предприятие 8. К его ключевым разработкам относятся:

Рассмотрим подробнее, как развивалась эта идея. До появления версии 8.2 и концепции управляемых форм разработчикам приходилось вручную программировать логику вывода отчетов. Построитель отчетов частично автоматизировал этот процесс, однако он жестко зависел от двумерной сетки вывода и требовал написания кода для инициализации. Максим Лейбович развил эту идею до полноценной декларативной системы, где описание данных (запросы, связи, роли полей) полностью отделено от визуализации (настроек компоновки). В результате платформа получила мощный процессор вывода, работающий на уровне метаданных, способный самостоятельно оптимизировать запросы к СУБД в зависимости от выбранных пользователем полей.

Конкретные задачи по развитию смежных платформенных механизмов (например, оптимизация производительности запросов, сериализация схем в XML, интеграция с динамическими списками) решались другими высококлассными специалистами технологического отдела «1С», такими как Владимир Филиппов и Дмитрий Русанов. Тем не менее, идейным вдохновителем, конструктором ядра и главным архитектором СКД остается Максим Лейбович.

Конвертация данных: Архитектура обмена данными от Михаила Харитонова

Если СКД — это неотъемлемая часть самой платформы, написанная на C++, то конфигурация Конвертация данных — это прикладное решение (база данных на встроенном языке 1С), созданное для генерации правил обмена между различными информационными системами.

У истоков этого сложнейшего инструмента стоял один человек — Михаил Харитонов. Он руководил направлением интеграции прикладных решений компании «1С» в период с 2000 по 2004 год. Именно под его авторством вышли первые версии программного продукта, который перевернул представление об интеграции систем:

Помимо Конвертации данных, Михаил Харитонов разработал множество других утилит и стандартов, которыми программисты пользуются до сих пор:

Проанализируем архитектурную гениальность КД 2.0. Михаил Харитонов предложил концепцию, при которой правила обмена описываются декларативно в виде специального XML-файла, но внутри каждого правила разработчик может написать код на встроенном языке 1С в точках-обработчиках событий (например, ПередВыгрузкой, ПриВыгрузке, ПослеЗагрузки). Платформа динамически компилирует эти куски кода при выполнении обмена через обработку УниверсальныйОбменДаннымиXML. Посмотрим на классический пример такого обработчика:


// Пример обработчика "Перед выгрузкой" в правилах конвертации объектов (ПКО)
Если Источник.ПометкаУдаления Тогда
    Отказ = Истина; // Отменяем выгрузку помеченных на удаление элементов
КонецЕсли;

После ухода из фирмы «1С» Михаил Харитонов основал собственную компанию «2iS» (Интегрируемые Информационные Системы), где продолжил развивать технологии интеграции, а также проявил себя в творческой сфере как композитор и лидер рок-группы.

Эволюция Конвертации данных: Переход к КД 3.0 и формату EnterpriseData

Время не стоит на месте, и классический подход Конвертации данных 2.1, ориентированный на прямое сопоставление метаданных «Источник — Приемник», при росте количества баз стал приводить к лавинообразному увеличению трудозатрат. Если у вас есть 5 различных конфигураций, для их попарного обмена по старой технологии требовалось написать и поддерживать до 20 различных файлов правил обмена.

Для решения этой проблемы архитекторы фирмы «1С» разработали принципиально новый подход, который лег в основу «Конвертации данных» редакции 3.0 (выпущена в конце 2014 года).

Разберем ключевые отличия этой технологии:

Современным идеологом, методистом и ведущим разработчиком этого направления стал **Дмитрий Гончаров**. Он является автором официальных методических пособий и преподавателем курсов Учебного центра «1С», по которым сегодня обучаются тысячи специалистов, осваивая тонкости работы с XDTO-пакетами и механизмами КД 3.0/3.1.

Заключение

Создание таких инструментов, как СКД и Конвертация данных, доказывает, что прорывные IT-решения часто рождаются на стыке личной гениальности отдельных разработчиков и системного подхода крупной компании. Максим Лейбович подарил сообществу невероятно мощный математический и логический аппарат для работы с отчетностью, а Михаил Харитонов заложил фундамент современной интеграции систем. Развиваясь и трансформируясь под руководством новых поколений архитекторов (таких как Дмитрий Гончаров), эти технологии продолжают оставаться визитной карточкой платформы 1С:Предприятие, облегчая жизнь миллионам пользователей и разработчиков.

← На главную