Интеграция платформы «1С:Предприятие 8» и внешних систем

Руководитель отдела разработки департамента 1С ГК «КОРУС Консалтинг».

Трудно представить себе сегодня предприятие, где бы учет хозяйственной деятельности вёлся вручную. Для этих целей организации используют различные решения от фирмы «1С» на базе платформы «1С:Предприятие 8» и системы на платформах других производителей. При таком подходе обмен данными между используемыми системами неизбежен. Можно, конечно, вести учет и раздельно, вручную вводя данные в обе системы и тем самым дублируя операции, но такой способ будет чрезмерно затратным как по времени, так и по финансам. В этой статье мы постараемся рассмотреть некоторые вопросы, связанные с решением задачи обмена данными между «1С:Предприятие 8» и программными продуктами других производителей, и представим интеграционное решение, которое было успешно реализовано в нескольких проектах.

Обмен данными

Любой проект по интеграции различных технологических платформ — это всегда непросто и небыстро. Многие руководители предприятий понимают необходимость внедрения автоматизированной интеграции, но не до конца осознают сложность такой работы. Это приводит к существенному затягиванию сроков разработки, огромному количеству ошибок, большим трудозатратам на поддержку системы интеграции в работоспособном состоянии, затягиванию сроков сдачи пользователями АИС отчетности для руководства или государственных органов (что может привести к штрафам).

Еще одна сложность, с которой сталкиваются предприятия, где интеграция делалась недостаточно квалифицированными специалистами, — «завязанность» системы на разработчике. Если такой сотрудник уходит с предприятия или берет отпуск, то другой сотрудник часто оказывается не в силах исправить или доработать уже имеющиеся механизмы. Зачастую при выполнении интеграции не соблюдаются элементарные требования для систем такого рода: производительность, прозрачность, коррекция данных. Это приводит к тому, что система требует затрат, превышающих ожидаемые, и в результате окупается значительно дольше.

Упрощенно схему обмена данными между сторонней системой и АИС на платформе «1С:Предприятие 8» можно изобразить в виде схемы (рис. 1).

Схема обмена данными

Рис. 1. Схема обмена данными.

Если один или несколько видов учета ведутся в разных системах, то посредником обмена данными между ними должен выступать некий «транспорт данных». Это тот механизм, посредством которого данные из одной системы попадают в другую. Например, это могут быть файлы, web-сервисы, промежуточная база данных и т. п. Такая модель наиболее распространена. Прямое чтение или запись данных таблиц одной системы из другой также возможны, но здесь есть риски:

  • непреднамеренное повреждение рабочих данных. Может возникнуть ситуация, при которой выгруженные из «1С:Предприятие 8» данные множественно замещают ранее рассчитанные и записанные средствами приемника;
  • ограничения в правах доступа к исходным данным. Параметры безопасности базы данных-источника, как правило, не допускают внешних подключений;
  • несанкционированный доступ к данным, которые не являются предметом обмена. Получая данные из одних полей таблицы, мы имеем возможность видеть в других информацию, которая должна быть скрыта. Например, рассчитанное вознаграждение менеджеров в таблицах учета продаж.

Схема интеграции внешней системы и «1С:Предприятие 8»

Рассмотрим интеграцию на примере процесса выгрузки данных из внешний системы и загрузки в АИС на платформе «1С:Предприятие 8» (рис. 2). Процесс обратной передачи данных ничем не отличается с точки зрения подходов и архитектуры модели.

Общая схема интеграции внешней системы и АИС на платформе «1С:Предприятие 8».

Рис. 2. Общая схема интеграции внешней системы и АИС на платформе «1С:Предприятие 8».

  • База данных-источник — это некая внешняя система, которая решает свои задачи по автоматизации.
  • Промежуточная база данных — дополнительная база данных, в которую по определенным требованиям собираются и выгружаются данные из базы-источника. Может использоваться для интеграции не только с платформой «1С:Предприятие 8».
  • Подсистема интеграции платформы «1С:Предприятие 8» — модули и объекты конфигурации в «1С:Предприятие 8», предоставляющие необходимый функционал по обмену данными. Подсистема интеграции, в свою очередь, состоит из двух уровней функциональности, логически разделенных на:
    • уровень ядра — это программные модули, которые обеспечивают универсальный функционал по чтению данных из внешних источников (в нашем случае — промежуточной базы данных), подготовке их к загрузке и установке соответствия с данными платформы «1С:Предприятие 8»;
    • уровень прикладного решения — это объекты метаданных конфигурации, которые обеспечивают конкретный (зависимый от контекста конфигурации) функционал по формированию прикладных данных в АИС на платформе «1С:Предприятие 8»: справочников, документов, записей в регистре и т. д., а также предоставляют пользователю необходимый визуальный интерфейс.
  • База данных платформы «1С:Предприятие 8», куда загружается информация из базы-источника. В ней уже формируются конечные прикладные объекты учета.

Основные пять шагов обмена данными (рис. 3):

  1. Данные из внешней системы подготавливаются в соответствии с требованиями задачи и выгружаются в промежуточную базу данных.
  2. Эти данные посредством создания представлений (view) в промежуточной базе данных подготавливаются для подсистемы интеграции, так как именно к представлениям данных, а не к самим данным, обращается ядро подсистемы интеграции для формирования списка объектов к загрузке.
  3. АИС на платформе «1С:Предприятие 8» по действию пользователя либо по регламентному заданию инициирует чтение данных из промежуточной базы данных, получая на выходе список объектов для загрузки.
  4. Загрузка объектов по списку в «1С:Предприятие 8»; одновременно в промежуточной базе данных записывается информация о дате и статусе загрузки.
  5. Информация обо всех загруженных объектах, результатах загрузки, дате и другие служебные данные записываются в специальные интеграционные справочники и документы, образуя «Журнал загруженных данных». Это позволяет производить сверку между информацией в промежуточной базе данных и данными, загруженными в АИС на платформе «1С:Предприятие 8».

Детальная схема интеграции внешних систем и АИС на платформе «1С:Предприятие 8».  

Рис. 3. Детальная схема интеграции внешних систем и АИС на платформе «1С:Предприятие 8».

Важно отметить, что ядро подсистемы интеграции не зависит от того, с какой именно прикладной системой (конфигурацией) на платформе «1С:Предприятие 8» производится интеграция: это может быть «1С:Бухгалтерия», «1С:Зарплата» и управление персоналом или любая другая типовая, отраслевая или самостоятельно разработанная конфигурация. Всегда можно получить одинаково работающий функционал чтения-записи данных промежуточной базы данных, а также необходимые инструменты для вызова прикладных функций по созданию в решении на платформе «1С:Предприятие 8» штатных справочников, документов и т. п.

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

Преимущества и недостатки данной схемы

В решении применялись методики и стандарты, рекомендуемые фирмой «1С» для разработчиков, поэтому любой специалист сможет разобраться с кодом, архитектурой и методикой. Преимущества:

  1. универсальность источника. Нет жестких требований к СУБД-источнику, которая может находиться под управлением произвольной операционной системы, иметь совершенно произвольную архитектуру данных и предоставлять пользователю произвольную логику работы с данными. Единственное условие — техническая возможность взаимодействия с той СУБД, на которой организуется промежуточная база данных, что в наше время не проблема;
  2. минимальные требования к архитектуре промежуточной базы данных. Необходимые для обмена данные выгружаются из источника удобными для этой цели средствами. Единственное условие — таблицы данных в промежуточной базе данных должны содержать необходимые и достаточные поля для формирования корректных данных в базе-приемнике. Иными словами, информации в промежуточной базе данных может быть больше, чем надо для обмена с «1С:Предприятие 8» (например, если предполагается использовать эти данные для каких-то дополнительных целей), но не меньше требуемого;
  3. безопасность. Подсистема интеграции напрямую не взаимодействует с данными промежуточной базы — всё происходит с помощью представлений данных (view), которые создаются по определенным правилам. Для доступа к данным промежуточной базы данных требуются необходимые права и разрешения, они настраиваются дополнительно. Исключается доступ неквалифицированного персонала к исходным данным, в том числе к исходным данным рабочей базы-источника;
  4. масштабируемость. Есть возможность оптимально сконфигурировать взаимодействие программной и аппаратной частей в зависимости от нагрузки сегментов и их отказоустойчивости;
  5. интерфейс. Подсистема интеграции обеспечивает обработку и преобразование полученных данных в формат, предусмотренный в платформе «1С:Предприятие 8», предоставляет пользователю интерфейс для интерактивной работы и для настройки работы по расписанию;
  6. разделение уровней функциональности. Как уже упоминалось выше, подсистема интеграции четко разделена на уровень универсального ядра для обработки типичных действий по работе с обменом, независимых от особенности конфигурации на платформе «1С:Предприятие 8», а также уровень прикладного решения, предоставляющего функционал согласно специфике того или иного прикладного решения (конфигурации);
  7. ядро не требует дополнительной разработки или доработки и может использоваться «как есть» в разных проектах по интеграции. Такой подход существенно снижает риски, связанные с разработкой и поддержкой базовой функциональности (никто ничего не меняет, не дорабатывает, не уменьшает функционал), уменьшает затраты времени на разработку; основные объекты и алгоритмы либо уже есть, либо можно взять из шаблона, что позволит сосредоточиться на нюансах прикладной части;
  8. поддержка и обслуживание конфигурации «1С:Предприятие 8» увеличивается незначительно. Все интеграционные объекты самостоятельны, вынесены в отдельную подсистему и не пересекаются с объектами базовой конфигурации. Это значит, что подсистема интеграции практически не влияет на поддержку решения на платформе «1С:Предприятие 8», обновлять и поддерживать конфигурацию будет несложно. Более того, подсистему интеграции также можно поставить на поддержку от поставщика и обновлять соответствующим образом.

Недостатки:

  • уровень квалификации персонала поддержки. По сравнению с другими вариантами интеграции, поддержка данной модели требует определенного уровня профессиональных навыков специалистов, которые будут обслуживать промежуточную базу данных и отвечать за выгрузку в нее данных из базы данных-источника. Но стоит отметить, что в компаниях, где требуется внедрение комплексной АИС на различных платформах, предъявляются в целом высокие требования к выполнению бизнес-процессов и всему ИТ-персоналу, который поддерживает эти процессы, а не только к администратору обмена;
  • анализ промежуточных данных. В предложенной схеме непосредственная визуальная сверка-выверка данных осуществляется с помощью специальной обработки, входящей в состав решения. Тогда как в модели обмена посредством текстовых файлов, например, можно в любой момент открыть файл и посмотреть, что там находится и что будет загружаться.
© «УПРАВЛЯЕМ ПРЕДПРИЯТИЕМ»
Все права защищены. Все торговые марки являются собственностью их правообладателей.