Механизмы обмена данными 1С позволяют создавать территориально распределенные информационные системы обменивающиеся данным в офф-лайн режиме, без постоянного соединения.
С помощью этих механизмов можно осуществлять интеграцию не только между различными информационными базами 1С:Предприятия, но и строить сложные гетерогенные информационные системы, включающие, наряду с решениями на платформе 1С:Предприятие, еще и внешние приложения.
Механизмы обмена данными, обеспечиваемые платформой 1С:
- Механизм распределенных информационных баз (РИБ), предназначенный для обмена данными только с идентичными конфигурациями 1С:Предприятия 8 и жестко регламентирующий структуру создаваемой системы. Подробнее...
- Универсальный механизм обмена данными, позволяющий создавать произвольные распределенные системы и практически не накладывающий никаких ограничений на структуру создаваемой системы. Подробнее...
Оба эти механизма используют ряд средств технологической платформы, которые разработчик может применять как по отдельности, так и в различных комбинациях, в зависимости от конкретной решаемой задачи. Такой подход позволяет обеспечить гибкость механизмов обмена и их настраиваемость на решение как можно большего круга задач.
Создание информационной системы с использованием нескольких информационных баз в системе 1С:Предприятие 8 реализуется с помощью объекта конфигурации "Планы обмена".
Средства платформы, используемые для построения схем обмена данными:
- Планы обмена - объекты конфигурации, которые позволяют:
- описывать перечень узлов распределенной информационной системы, с которой будет производиться обмен данными, и
- задавать состав данных, которые будут участвовать в обмене. Подробнее...
- Средства XML-сериализации служат для представления данных 1С:Предприятия 8 различных типов в виде последовательности данных XML, и наоборот. Подробнее...
- Средства чтения/записи XML-документов позволяют работать с данными формата XML на «базовом» уровне, без привязки к объектам 1С:Предприятия 8. Подробнее...
Важным качеством данного набора механизмов является то, что он обеспечивает высокий уровень готовности системы к работе в распределенной среде - организация обмена практически не требует дополнительных затрат на разработку. Нужно просто задать в интерактивном режиме состав данных, участвующих в обмене, а механизм обеспечит формирование сообщений и их загрузку. При этом платформа автоматически:
- организует обмен только измененной информацией;
- отслеживает получение сообщений;
- определяет необходимость повторной отправки данных;
- разрешает коллизии;
- проверяет целостность загружаемой информации.
Гибкие возможности настройки позволяют сформировать практически любую топологию схемы узлов обмена (звезда, снежинка, схемы без центрального узла).
Состав данных, участвующих в обмене, и правила разрешения коллизий могут задаваться произвольно. При этом механизмы обмена с одной стороны минимизируют объем передаваемых данных (пересылаются только измененные данные), а с другой - гарантируют устойчивость к потере сообщений. Иными словами, система способна функционировать как в условиях гарантированной доставки сообщений, так и без таковой.
Чтение произвольных текстовых файлов при обмене данными в 1С
Для чтения произвольных текстовых файлов существует объект встроенного языка ЧтениеТекста. Его методы Прочитать() и ПрочитатьСтроку() позволяют выполнить соответственно посимвольное и построчное чтение.
Пример посимвольного чтения текстового файла в 1С:
При последовательном чтении из текстового файла возможно:
- как построчное, так и посимвольное чтение (в зависимости от выбранного метода чтения).
Особенности механизма обмена данными 1С:
- При использовании планов обмена управлять составом узлов, для которых производится регистрация изменений объектов, можно корректировать при работе с объектом.
- И механизм распределенной информационной базы, и универсальный обмен данными используют технологию регистрации объектов (неких триггеров, после которого объект ставится на обмен), которая может работать:
- в автоматическом режиме - простой вариант, как только объект изменен, он ставится на обмен;
Рисунок[свернуть]
- в не-автоматическом режиме - предполагает задание конкретных условий, при выполнении которых данный объект будет поставлен на обмен (условия могут распространяться не только на сам объект, но и на связанные объекты, и на какие-то вовсе несвязанные события информационной базы).
- в автоматическом режиме - простой вариант, как только объект изменен, он ставится на обмен;
-
Для прикладных объектов в окне редактирования объекта конфигурации на закладке "Обмен данными" (рисунок - в спойлере выше) указываются планы обмена, в которых будут учитываться изменения в данном объекте.
-
То, в каких планах обмена для конкретного прикладного объекта указана авторегистрация можно определить:
-
в окне редактирования объекта, раздел "Обмен данными";
-
посредством вызова окна "Дополнительно" для данного объекта (закладка "Планы обмена").Рисунок[свернуть]
-
-
Для преобразования XML документа в другой документ допустимого формата предназначен объект "ПреобразованиеXSL".
Интеграция с DBF-файлами
DBF - это стандартный формат хранения данных некоторых баз данных и электронных таблиц. В самом простом случае DBF файл состоит из заголовка, описывающего структуру базы и количество записей, и собственно записей, сведенных в таблицу с полями фиксированной длины.
Для работы с базами данных формата DBF (dBase III) в системе 1С имеется специальный объект – XBase. Механизм работы с базами данных формата DBF предназначен для манипулирования ими непосредственно из встроенного языка. Возможно практически любое манипулирование данными (возможно как внесение изменений в существующие файлы, так и создание новых). С помощью этого может быть обеспечена интеграция со сторонними системами.
Особенности интеграции 1С с DBF-файлами:
- Одновременно с файлом формата dbf может быть открыто не более одного индексного файла.
- Экземпляр объекта XBase позволяет одновременно организовать работу только с одним файлом формата .dbf.
Механизм интеграции OLE Automation
Механизм OLE был задуман как технология интеграции программных продуктов Microsoft Office, которая позволяет работать с объектами, созданными в других приложениях (документы, рисунки, таблицы). С точки зрения пользователя, составной документ выглядит единым набором информации, но фактически содержит элементы, созданные двумя или несколькими разными приложениями.
OLE-объект - объект, созданный в другом приложении и сохранивший связь с этим приложением (например, электронные таблицы Excel, вставленные в документ Word соответствующим образом - как OLE-объект; если не вставлять их как OLE-объект, то связь с оригинальным приложением будет отсутствовать).
Контейнер приложения OLE - приложение, в котором создается составной документ, позволяя обрабатывать его части в исходном приложении (например, таком как Word или Excel), которое использовалось для создания OLE-объекта.
Сервер приложения OLE (OLE Server Application) - приложение, создающее объекты, которые можно поместить в документ-контейнер.
Программы 1С:Предприятие, Microsoft Word и Excel являются приложениями, которые могут выступать и как OLE-сервер, и как OLE-контейнер. Другими словами, эти приложения могут создавать новые OLE-объекты, а также хранить OLE-объекты, созданные в других приложениях.
Подробная статья по ссылке https://infostart.ru/public/277982/
Особенности использования механизма OLE Automation в 1С:
- Для создания объекта, с использованием которого из одной базы 1С:Предприятие 8 будет производиться обращение через OLE к другой информационной базе 1С:Предприятие 8, используется новый COMОбъект.
- Редактирование OLE-объектов осуществляется приложением, связанным с OLE-объектом.
- Automation-сервер "1С:Предприятие 8" дает практически полный доступ к приложению:
- предоставляет доступ ко всем свойствам и методам своего глобального контекста;
- предоставляет доступ к дополнительным свойствам и методам для выполнения действий, специфичных для работы в режиме Automation;
- позволяет управлять приложением системы "1С:Предприятие 8" из других приложений, а также выполнять действия, аналогичные интерактивным.
- В процедуре, которая будет вызываться при подключении к базе данных через СОМ, нельзя использовать Форма.Открыть().
- При обращении к базе данных 1С:Предприятие 8:
- через OLE выполняется процедура-обработчик события "ПриНачалеРаботыСистемы", определенный в модуле приложения;
- через COMConnector выполняется процедура-обработчик события "ПриНачалеРаботыСистемы" определенный в модуле внешнего соединения.