Возможности интеграции 1С

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

Такое взаимодействие может потребоваться, например:

Например: для синхронизации системы оперативного и бухгалтерского учета, для синхронизации биллинговой системы с системой бухгалтерского учета и т.д. Бывают и довольно экзотические варианты: так, мы делали выгрузку данных из 1С в SAP, которые работали параллельно, дублируя друг друга. Причина была в том, что большинству пользователей в 1С работать удобнее, но топ менеджменту необходимы все данные в SAP.

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

  • При переходе с одной учетной системы на другую, зачастую требуется произвести разовую миграцию данных из старой системы в новую. При этом здесь речь может идти о самых разных вариантах:
  •  Миграция данных из старой версии 1С в новую. Это наиболее часто встречающаяся задача. 1С предлагает множество готовых средств и наработок для ее решения
  •  Миграция данных в 1С из малоизвестных систем или систем собственной разработки на платформе, отличной от платформы 1С Предприятие. Такие задачи сложны тем, что зачастую, нам приходится досконально разбираться в структуре и технической реализации старой системы. Например, несколько раз при внедрении 1С Зарплата и управление персоналом 8 (ЗУП) мы делали миграцию данных из систем, по которым полностью отсутствовала техническая документация и технические специалисты по старой системе
  •  Миграция из 1С в новую систему (например, такую задачу мы недавно решали, участвуя в проекте внедрения SAP)


Например: автоматизация формирования оплат через платежные системы, обмен платежными документами с системой клиент-банка, рассылка СМС-сообщений клиентам из торговой системы, идентификация пользователей по отпечатку пальца, работа с торговым оборудованием и т.д.

Задачи по обеспечению обмена данными

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

  • Получить четкое представление об архитектуре будущего комплекса систем с учетом функций каждой из них
  • Определиться с технологиями, которые будут использованы в каждом конкретном случае взаимодействия систем
  • Продумать сопоставление объектов в различных системах
  • Проанализировать возможные коллизии и принять решения о способе их разрешения

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

Классификация по направлениям обмена

В общем случае – схемы обмена данными между двумя системами можно разделить на односторонние и двусторонние:

Односторонний обмен

В случае одностороннего обмена системы можно разделить на систему-источник и систему-приемник.

Например: выгрузка данных для формирования счетов на оплату и актов из системы биллинга в систему управления торговлей.

Односторонний обмен

Двусторонний обмен

В случае двустороннего обмена, роли систем могут меняться: обе системы могут выполнять функции как источника данных, так и приемника.

Например: выгрузка данных о продажах из системы управления торговлей в бухгалтерскую систему и выгрузка данных об оплатах из бухгалтерской системы в торговую систему.

Двусторонний обмен

В случае, если в схеме интеграции задействовано более двух систем, в зависимости от задачи, между парами систем так же устанавливается либо односторонний, либо двусторонний обмен.

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


Обмен нескольких систем


Технологии интеграции

В зависимости от задачи, системы на платформе 1С позволяют организовать взаимодействие систем несколькими способами. Рассмотрим их подробнее:

Взаимодействие через файлы обмена

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

В случае двустороннего обмена данными, можно использовать два файла обмена.

Односторонний обмен:

Односторонний обмен через файл


Двусторонний обмен:

Двусторонний обмен через файл


Инициировать выгрузку/загрузку файла можно двумя способами:

  • Пользователь выполняет выгрузку и загрузку интерактивно тогда, когда это необходимо – например, в конце месяца
  • Система-источник с заданным периодом будет выгружать данные в файл. Система-приемник с заданными периодом будет проверять наличие файла обмена в указанном заранее месте, и, в случае, если файл найден – самостоятельно начинает его загружать.

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

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

Формат файла обмена может быть любым, но чаще всего используются следующие форматы:

Файлы xml – структурированный формат, разработанный специально для обмена данными. Широко используется в решениях, разработанных 1С. Если ситуация позволяет, то лучше всего использовать именно его

Файлы MS Excel – этот формат используется для обмена достаточно часто. Его преимущества: информация понятна и доступна человеку, это удобно в тех случаях, когда нужна возможность ручной проверки или корректировки выгруженных данных до их загрузки.

  • В таком формате можно выгрузить данные из многих систем (в том числе и 1С) без участия разработчиков
  • Данные зачастую уже находятся или возникают в этом формате. Например, клиенты присылают заказы в виде файлов Excel.

Файлы dbf – устаревший формат хранения табличных данных. Используется при миграции данных, поскольку устаревшие системы часто хранят данные в этом формате (в том числе и программы на платформе 1С предприятие 7.7)

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

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

Взаимодействие с использованием технологий COM и Automation

Этот способ обмена данными обладает рядом преимуществ по сравнению с файловым способом:

  • Взаимодействие может происходить в реальном времени
  • Есть возможность реализовать сложные алгоритмы, которые одновременно используют данные обеих систем
  • Этот способ лучше с точки зрения безопасности информации, чем обмен через файл

Но есть и существенные ограничения применения этих технологий:

  • Система, с которой происходит обмен, должна быть установлена на том же сервере, где стоит система 1С
  • Работа с COM и Automation возможна только в том случае, если системы установлены на сервере с операционной системой Microsoft Windows
  • Если система, с которой происходит интеграция, организована не на платформе 1С, нужно убедиться, что эта система имеет COM-сервер (интерфейс взаимодействия). Кроме этого, для организации обмена, потребуется описание доступных функций этой системы

Взаимодействие через COM происходит следующим образом:

Обмен через COM

Как видно из рисунка, инициировать обмен данными в обе стороны может одна база. Во время обмена, эта база способна как получать, так и выгружать данные в подключенную базу.

Взаимодействие с использованием WEB-сервисов

Этот способ обмена данными лишен недостатков технологий COM и применения файлов обмена. С помощью WEB-сервисов можно организовать интерактивное защищенное взаимодействие между системами, находящимися как на одном сервере, так и на разных серверах под управлением любой современной операционной системы.

Требования к системам для организации их взаимодействия следующие:

  • Платформа одной из взаимодействующих систем должна позволять создание на ее базе WEB-сервисов. При этом платформа второй системы, должна позволять их использовать. В случае систем на платформе 1С, возможно как создание, так и использование WEB-сервисов.
  • Должна быть возможность связи между системами через Internet, LAN, либо же системы должны находиться на одном сервере.

Для использования этого способа обмена, требуется, чтобы на сервере, на котором будут организованы сервисы, был установлен web-север (для этих целей может быть использован IIS, входящий в состав Windows, либо бесплатный сервер Apache). В роли инициатора обмена будет выступать система, которая обращается к WEB-сервисам, используя HTTPS-запросы. При этом возможно как считывание данных, так и передача их для обработки WEB-сервисом. Схематично использование WEB-сервисов можно описать так:

Обмен через WEB-сервисы

На схеме приведен пример, в котором оба компонента системы работают на платформе 1С, но, в зависимости от потребностей, и база-инициатор и база-сервер могут быть организованы на любой платформе, которая поддерживает технологию WEB-сервисов. Например – это могут быть: платформа WEB-магазина, платформа биллинговой системы и т.д.

Преимущества данной технологии:

  • Высокая степень безопасности: вне зависимости от ошибок или попыток злонамеренных действий системы-инициатора взаимодействий, WEB-сервис будет обрабатывать только те данные, которые разрешены сервисом и только лишь тем подключениям, которым прошли авторизацию сервиса.
  • Все преимущества обмена через файлы (кроме возможности переноса файлов обмена на внешнем носителе) и COM

Выбор технологий обмена

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

Как правило, на предприятии используется комбинация из нескольких технологий. Например, достаточно типичный пример взаимодействия информационных систем торгового предприятия:

Пример интеграции систем на предприятии

Тонкости настройки обмена

При настройке обмена между системами важно предусмотреть некоторые моменты:

Сопоставление объектов

Так как учетные системы при обмене, как правило, оперируют общими понятиями, важно, чтобы система, которая загружает данные, могла сопоставить эти данные с теми объектами, которые уже в ней есть. В случае, если сопоставление данных выполнено неверно, данные могут задублироваться или «разойтись» по разрезам аналитики.

В системах 1С как правило приняты следующие сопоставления:

  • Документы сопоставляются по номеру документа с использованием префикса системы
  • Справочники сопоставляются по коду или наименованию. Справочники, которые можно идентифицировать по какому-либо уникальному признаку, сопоставляются по этому признаку (например, справочник «Контрагенты», как правило, сопоставляется по комбинации реквизитов ИНН и КПП, а физические лица по полному наименованию, дате рождения, номеру ПФР)

В некоторых случаях, требуется индивидуальная настройка сопоставления объектов.

Вопрос сопоставления объектов обязательно должен быть проработан специалистом по интеграции вместе с заказчиком на этапе проектирования системы.

Анализ и разрешение возможных коллизий

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

Например:

Менеджер в торговой системе оформил продажу на 100руб. Эта реализация была выгружена в бухгалтерию. Позже менеджер увидел ошибку, и исправил документ так, что сумма реализации стала равна 200руб. Исправленный документ должен снова выгрузиться в бухгалтерскую систему, но до выгрузки исправления, бухгалтер на основании своих данных решил, что правильная сумма реализации 300руб и внес исправление в документ в своей системе. В итоге, в момент загрузки исправлений из торговой программы, системе требуется принять решение, данные из какой системы считать правильными. В зависимости от этого решения, в бухгалтерской системе документ реализации должен быть либо на сумму 200руб., либо на сумму 300руб.

Алгоритм, на основании которого принимаются подобные решения, называется методом разрешения коллизий. Этот алгоритм должен соответствовать логике бизнес-процессов предприятия.

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

В момент проектирования систем обмена требуется доскональный анализ и разработка алгоритмов разрешения коллизий. Эти работы должен выполнять специалист-внедренец совместно с представителями заказчика.

Немного рекламы

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

Специалисты-интеграторы должны обладать следующими качествами:

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

Если у Вас возникли задачи интеграции систем – позвоните нам, и вы получите высококвалифицированную помощь в проектировании и реализации взаимодействия Ваших систем.

Задачи по расширению функционала систем путем использования средств интеграции

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

Использование COM для получения доступа к функциям приложений

Некоторые приложения Windows предоставляют COM-интерфейс, при помощи которого, система на платформе 1С может получить доступ к некоторым функциям этих приложений.

Примеры приложений, функционал которых часто используется посредством COM-интерфейса:

  • Все приложения, входящие в состав пакета Microsoft Office
  • Приложение Adobe Acrobat
  • Некоторые PDF-принтеры

Использование услуг WEB-сервисов

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

Примеры использования WEB-сервисов в учетных системах:

  • Загрузка курсов валют при помощи сервиса РБК в типовых конфигурациях 1С
  • Проверка контрагентов в конфигурации 1С Бухгалтерия 3.0 при помощи сервиса ФНС
  • Рассылка СМС контрагентам
  • Услуги телефонии
  • Взаимодействие с сервисами Яндекс и Google

Это лишь малая часть примеров использования сервисов, с которыми мы сталкивались в своей практике. Как уже было сказано, выбор сервисов огромен, и решение об их использовании нужно принимать исходя из условий конкретных задач.

Подключение оборудования

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

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

  • Фискальные регистраторы
  • Эквайринговые аппараты
  • Купюроприемники
  • Электронные весы
  • Считыватели магнитных карт
  • POS-терминалы
  • Мониторы покупателей
  • Сканеры штрих-кодов
  • Терминалы сбора данных
  • Принтеры этикеток
  • Считыватели отпечатков пальцев
  • Аппаратные АТС
Этот перечень оборудования - далеко не полный список того, что можно использовать в учетных системах на платформе 1С. Некоторые производители оборудования получают сертификат "1С-совместимо", который дает гарантию возможности корректной работы устройства с решениями на платформе 1С. Список сертифицированного 1С оборудования можно увидеть здесь.

Автор статьи: Усатенко Сергей.


Возврат к списку