Перенос данных в бухгалтерию через COM-соединение
Описание
Обработка предназначена для переноса хозяйственных документов из ERP-системы «Мега» в отдельную информационную базу 1С:Бухгалтерии. Обмен выполняется напрямую: «Мега» запускает установленный на компьютере клиент 1С через COM, подключается к бухгалтерской базе и создаёт или обновляет в ней объекты.
Рекомендация. COM-соединение следует использовать прежде всего для поддержки уже настроенных локальных обменов. Для новых внедрений предпочтительнее обмен через OData или файл XML в формате EnterpriseData. Выбор зависит от того, нужен ли постоянный онлайн-обмен или контролируемая передача файла.
Для чего нужна обработка
В «Меге» ведётся оперативный и управленческий учёт, а регламентированный учёт может выполняться в отдельной базе 1С:Бухгалтерии. Обработка позволяет передать бухгалтеру уже оформленные в «Меге» документы без повторного ручного ввода.
При переносе обработка:
- отбирает проведённые документы за указанный период и по выбранной организации;
- при необходимости оставляет только документы с признаком отражения в бухгалтерском учёте;
- показывает список документов до начала переноса и позволяет снять отметки с отдельных строк;
- находит или создаёт связанные элементы справочников в бухгалтерской базе;
- создаёт или обновляет документы с сохранением их уникальных идентификаторов;
- записывает сведения о выполненном переносе в регистр синхронизации «Меги»;
- при следующем заполнении списка помечает уже перенесённые документы и не выбирает их повторно по умолчанию.
Какие документы переносятся через COM
В текущей реализации прямой перенос через COM предусмотрен для следующих документов:
| Раздел | Документы |
|---|---|
| Продажи | Реализация товаров и услуг |
| Закупки | Поступление товаров и услуг |
| Банк | Поступление на расчётный счёт; списание с расчётного счёта |
| Касса | Приходный кассовый ордер; расходный кассовый ордер |
Для поступлений и реализаций переносятся основные реквизиты документа, товары и услуги. Ставка НДС каждой товарной или сервисной строки сопоставляется с соответствующим значением в 1С:Бухгалтерии. Поддерживаются ставки 22%, 20%, 18%, 10%, 7%, 5%, 0% и вариант «Без НДС».
Для банковских и кассовых документов передаются сумма, валюта, вид операции, контрагент, договор, банковский счёт и другие предусмотренные обработкой реквизиты.
Важно: счета-фактуры выданные и полученные присутствуют в старом описании и поддерживаются файловой веткой модуля, но в текущем коде отсутствуют обработчики их прямого переноса через COM. До отдельной доработки их не следует считать поддерживаемыми COM-обменом.
Перенос связанных справочников
Для заполнения документов обработка сопоставляет данные «Меги» с объектами бухгалтерской базы. Основным идентификатором служит GUID объекта. Если объект с таким GUID отсутствует, для некоторых справочников выполняется дополнительный поиск по ключевым реквизитам или создаётся новый элемент.
Обработка работает со следующими связанными данными:
- организации;
- контрагенты;
- договоры контрагентов;
- номенклатура и её группы;
- единицы измерения;
- валюты;
- склады;
- физические лица;
- банковские счета и банки.
Организация должна быть заранее создана в 1С:Бухгалтерии, а её учётная политика и другие обязательные настройки должны быть заполнены. Если выбранная организация не найдена, перенос прекращается.
Контрагенты дополнительно могут сопоставляться по ИНН, банки - по коду или корреспондентскому счёту, валюты и единицы измерения - по коду. Перед первым рабочим обменом рекомендуется проверить результаты сопоставления на копии бухгалтерской базы, чтобы исключить появление дублей.
Как выполнить перенос
- Создайте или выберите источник данных для бухгалтерской базы.
- Укажите тип подключения, путь к файловой базе либо имя сервера и информационной базы 1С.
- Укажите пользователя бухгалтерской базы, которому разрешены чтение и изменение переносимых справочников и документов.
- Выберите организацию и период переноса.
- При необходимости включите отбор Только с признаком «Бухгалтерский учёт».
- Отметьте нужные виды документов и обновите список.
- Проверьте список, суммы, валюты, контрагентов и снимите отметки с документов, которые пока не нужно передавать.
- Запустите перенос.
- После завершения откройте 1С:Бухгалтерию, проверьте созданные документы и проведите их после бухгалтерского контроля.
Начинать работу рекомендуется с небольшого периода и одного-двух документов каждого вида. После проверки реквизитов, счетов учёта, ставок НДС и отсутствия дублей можно переходить к массовому переносу.
Запись и повторный перенос документов
Документы создаются в бухгалтерской базе с тем же GUID, который они имеют в «Меге». Это позволяет при повторном запуске найти ранее созданный документ и обновить его, а не создавать новый.
После успешной записи документа «Мега» регистрирует связь с выбранным источником данных. При следующем заполнении списка такой документ отображается как уже выгруженный и по умолчанию не отмечается для переноса.
Документы записываются в 1С:Бухгалтерии без проведения. Если найденный документ уже проведён, обработка отменяет его проведение перед обновлением и автоматически повторно его не проводит. Поэтому повторный перенос нужно согласовывать с бухгалтером, особенно если период уже закрыт или документ участвовал в формировании отчётности.
Ограничения COM-соединения
COM даёт прямой доступ к объектной модели другой базы 1С, однако такая интеграция сильно зависит от рабочего места, установленной платформы и структуры конфигурации.
Ограничения рабочего места
- Обработка доступна только в тонком или толстом клиенте 1С. Веб-клиент и мобильный клиент не поддерживаются.
- На компьютере пользователя должна быть установлена и корректно зарегистрирована совместимая версия платформы 1С с COM-объектом
V83.Application. - Текущая реализация запускает отдельный клиент 1С и выполняет перенос на компьютере пользователя. Закрытие клиента, разрыв подключения, перезагрузка или выключение компьютера прерывают операцию.
- COM-технология ориентирована на среду Windows и не подходит как универсальная основа для кроссплатформенной или облачной интеграции.
- Для файловой базы компьютер должен иметь доступ к каталогу информационной базы. Для клиент-серверного варианта должны быть доступны сервер 1С, информационная база и необходимые сетевые порты.
Технологические ограничения
- Обмен выполняется последовательно и содержит большое количество межпроцессных обращений к объектам 1С. На большом объёме данных он может работать заметно медленнее серверного HTTP-обмена или пакетной выгрузки.
- Процесс не является одной общей транзакцией между двумя базами. При ошибке часть объектов уже может быть записана в бухгалтерии, а часть - ещё нет.
- Обработка напрямую обращается к конкретным справочникам, документам, перечислениям, счетам и методам 1С:Бухгалтерии. Изменение метаданных или обновление конфигурации-получателя может потребовать доработки правил переноса.
- Отдельные виды операций сопоставляются по текстовому представлению. Переименование операции или изменение её представления может привести к выбору значения по умолчанию.
- Учётные данные используются для прямого входа в бухгалтерскую базу. Доступ к настройкам источника данных необходимо ограничить, а для обмена следует создать отдельного пользователя с минимально достаточными правами.
- COM не предоставляет встроенного транспортного журнала и очереди повторной доставки. Контроль завершения и восстановление после сбоя должны выполняться средствами самой обработки.
Ограничения текущей реализации обработки
- Документы после переноса остаются непроведёнными.
- Повторный перенос проведённого документа отменяет его проведение.
- Прямой COM-перенос счетов-фактур в представленном модуле не реализован.
- Обработка сопоставляет используемые клиентами ставки НДС: 22%, 20%, 18%, 10%, 7%, 5%, 0% и «Без НДС». При добавлении в «Мегу» или 1С:Бухгалтерию новой ставки таблицу соответствий потребуется расширить.
- Код ориентирован на определённую структуру 1С:Бухгалтерии. Совместимость с новой редакцией или изменённой конфигурацией необходимо проверять отдельно.
- Автоматическая синхронизация изменений после первого переноса не выполняется. Уже выгруженный документ можно выбрать повторно вручную, но это приведёт к обновлению и возможной отмене проведения документа в бухгалтерии.
Важно о файловой выгрузке из этого модуля
В модуле присутствует отдельная возможность выгрузки объектов в XML-файл. Этот файл имеет внутреннюю структуру вида ВыгрузкаИзМеги_... и не является файлом EnterpriseData.
Файловый обмен в стандартном формате EnterpriseData реализуется в «Меге» отдельной обработкой - Выгрузка данных в формате EnterpriseData. При выборе способа обмена эти два XML-формата нельзя смешивать: для каждого из них требуется соответствующий загрузчик и собственные правила обработки.
Что лучше использовать сейчас
Для новых подключений рекомендуется сначала определить условия обмена, а затем выбрать один из современных вариантов.
| Критерий | COM-соединение | OData | XML EnterpriseData |
|---|---|---|---|
| Способ работы | Прямой доступ к объектам другой базы через установленный клиент 1С | HTTP/HTTPS-запросы к опубликованному интерфейсу 1С | Формирование и последующая загрузка XML-файла |
| Зависимость от рабочего места | Высокая | Низкая | Низкая |
| Веб-клиент и серверная автоматизация | Для текущей обработки не поддерживаются | Подходят | Подходят |
| Работа через интернет | Не рекомендуется как основной сценарий | Подходит при использовании HTTPS и сетевых ограничений | Возможна передача через защищённый файловый канал |
| Режим обмена | Интерактивный, последовательный | Регулярный или близкий к реальному времени | Пакетный, асинхронный |
| Устойчивость к временной недоступности получателя | Низкая | Требуются очередь и повторные попытки | Высокая: файл можно сохранить и загрузить позднее |
| Зависимость от структуры конфигурации | Очень высокая | Высокая: используются имена и реквизиты OData-сущностей | Ниже при совместимой версии формата и настроенных правилах обмена |
| Удобство аудита | Требуется отдельный журнал | Можно журналировать запросы и ответы | Файл остаётся самостоятельным пакетом обмена |
| Рекомендуемое применение | Поддержка существующих локальных обменов | Регулярная прямая интеграция между доступными по сети базами | Надёжный обмен между 1С-системами, изолированные контуры и перенос большими пакетами |
OData - для регулярного онлайн-обмена
OData лучше выбирать, когда обе базы доступны по сети и данные нужно передавать регулярно без запуска обработки на компьютере пользователя. Обмен выполняется по HTTP или HTTPS и не требует COM-компонента на рабочем месте.
Стандартный интерфейс OData позволяет создавать и изменять объекты 1С, а документы - отдельно проводить после успешной записи. Для безопасной эксплуатации нужно:
- публиковать базу только по HTTPS;
- создать отдельного пользователя интеграции;
- включить в состав интерфейса только необходимые объекты;
- ограничить сетевой доступ к публикации;
- журналировать запросы, ответы и ошибки;
- предусмотреть защиту от повторной отправки и очередь повторных попыток.
Связанные разделы:
- Обмен данными с бухгалтерией через OData;
- Обмен данными OData;
- Настройка интерфейса OData;
- Консоль запросов OData.
EnterpriseData - для стандартного файлового обмена
EnterpriseData предпочтителен, когда требуется обмен между решениями 1С без постоянного сетевого соединения, базы находятся в изолированных контурах или необходимо передавать данные контролируемыми пакетами.
В «Меге» предусмотрена выгрузка в этот формат контрагентов, договоров, номенклатуры, поступлений и реализаций. Документы отбираются по организации и периоду, а связанные справочники включаются в пакет по мере необходимости.
Преимущества файлового варианта:
- отсутствие прямого подключения к бухгалтерской базе;
- возможность проверить, сохранить и повторно обработать пакет;
- более удобное расследование ошибок обмена;
- возможность передать файл между сетевыми контурами по согласованному защищённому каналу;
- меньшая зависимость от конкретного компьютера пользователя.
При этом версия формата, состав данных и правила загрузки должны быть совместимы на обеих сторонах. XML-файл может содержать коммерческие и персональные данные, поэтому его следует хранить и передавать только по защищённым каналам.
Рекомендуемая стратегия
Для нового внедрения рекомендуется следующий порядок выбора:
- EnterpriseData - основной вариант для стандартного пакетного обмена между «Мегой» и решениями 1С, если получатель поддерживает нужную версию формата и необходимый состав объектов.
- OData - основной вариант для регулярного прямого обмена, централизованной серверной автоматизации и интеграции через защищённую сеть.
- COM-соединение - вариант совместимости для уже работающих локальных сценариев, когда переход на OData или EnterpriseData пока нецелесообразен.
Перед сменой технологии рекомендуется провести тестовый обмен на копии бухгалтерской базы, согласовать правила сопоставления справочников и определить, какая система отвечает за создание, изменение и проведение каждого вида документа.