Задать вопрос
@a_ovchinnikov
Web developer

Как синхронизировать 1С: Предприятие с внешней системой?

Передо мной стоит задача синхронизировать данные по работе с сотрудниками (добавление, перемещение внутри организации, увольнение), с другой сторонней системой, не относящейся к 1С.

Так как я в 1С полный ноль, то совсем не знаю с какой стороны подойти к решению задачи. На данный момент мне непонятны следующие вопросы:

1. Каким образом лучше взаимодействовать с внешней системой, если источником данных является 1С? REST, SOAP + WSDL, что-то еще?

2. Есть ли в 1С какая-то глобальная событийная модель. Чтобы я мог подписаться на событие "сотрудник добавлен" и в нужном мне месте знать о том, что произошло. Или же мне придется редактировать форму добавления сотрудников и внутри нее размещать необходимые мне вызовы?

3. Каким образом подобные доработки распространяются в пользовательские конфигурации 1С? Есть какие-то средства экспорта/импорта, инсталляция может быть? Или мне придется каждый раз вручную редактировать пользовательскую конфигурацию?

Спасибо за помощь!
  • Вопрос задан
  • 570 просмотров
Подписаться 3 Оценить Комментировать
Решения вопроса 1
@Dementor
программист, архитектор, аналитик
1) Веб-сервисы, про которые вы упомянули предназначены для внешних потребителей. Если инициатором выступает 1С, то вам доступны практически все инструменты (кроме особо экзотических) - обмены через файловые шары, FTP, веб-службы, COM-подключения, прямые выгрузки в СУБД при наличии ODBC-драйверов и так далее.

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

3) Совсем "вручную" не нужно. Вы можете сделать свою "каркасную" конфигурацию, которую через механизм "сравнения/объединения конфигураций" будете внедрять в пользовательскую, таким образом перенося в нее свои подписки на события и общие модули с их обработкой. Таким образом свои настройки интеграции распространяют такие компании как Битрикс, Агент-Плюс и пр. Для управляемых конфигураций (это самые последние разработки 1С - ERP, Бухгалтерия 3, Управление торговлей 11, Управление небольшой фирмой и так далее) совсем недавно появилась возможность создавать расширения. Обзорно можете почитать тут - https://habrahabr.ru/company/1c/blog/320018/
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Из опыта(лично испытал на себе) есть варианты:
1. В платформе есть подписки на события(ответ на пункт 2): при изменении/ добавлении/записи etc. объекта справочника/документа etc могут быть описаны дополнительные действия подробнее. Можно организовать все что угодно: выгрузку данных в любого формата файл, подключение, например, по ADO к MS SQL. С файлами минус в том, что должна быть shared-область для двух систем(1C - доступ на запись, вторая система на чтение).
2. Регламентное задание 1C(гугл) - аналог сервисов. Пишем функцию(опять же на выгрузку данных в файл или коннект к СУБД), задаем расписание.
3. Подключение к 1C Предприятию через COM-объект. В целевой системе при наличии соответствующих инструментов создаем COM-подключение к 1C и делаем все что нужно c использованием методов платформы 1C. Метод достаточно противоречивый, но также работает.
Ответ написан
fosihas
@fosihas
Автоматизации учета на 1С.
3. Каким образом подобные доработки распространяются в пользовательские конфигурации 1С? Есть какие-то средства экспорта/импорта, инсталляция может быть? Или мне придется каждый раз вручную редактировать пользовательскую конфигурацию?

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

Войдите, чтобы написать ответ

Похожие вопросы