Комментарии 17
Вариант с ESB-системами (шина данных) не рассматривается?
И, к сведению, лицензия 1С запрещает прямое обращение к её базе данных, всё только через платформу.
А можно как-нибудь организовать двусторонний обмен со стандартной конфигурацией (в частности 1С:Розница), что бы со стороны 1С ничего не пришлось дописывать?
При этом со стороны другого приложения на доработки нет никаких ограничений.
Можно. В 1С Розницу включено куча разных планов обмена (включая Enterprise data)
Есть способ организовать двусторонний обмен без всякой дописки, но не с сервером 1С, а с клиентом, описан, например, вот тут: https://habr.com/ru/articles/271835/. Есть свои неудобства, способ работает только на Windows-машине, где установлен толстый клиент 1С.
Но на самом деле есть вариант написать некий "драйвер", скажем, с HTTP API, слушающим только localhost, а после этого можно писать, например, web-приложения, интегрированные с 1С "через клиента".
Я это использую на практике, написано несколько внутрикорпоративных web-приложений, использующих 1С как учетное ядро (берем оттуда справочники, создаем там первичные документы).
Работа выглядит так: сотрудник на своем рабочем месте открывает "драйвер" и клиента 1С, а в броузере открывает web-приложение. Web-страница через "драйвер" фактически управляет клиентом 1С.
В результате мы имеем все удобства разработки и сопровождения web-приложений, которые пишем на удобных языках и платформах, и имеем полный прямой двусторонний доступ к данным 1С, причем без лицензионных нарушений.
Спасибо за обстоятельный ответ!
Про 1С-OLE компонент в общих чертах слышал, есть у меня предвзятость, что это устаревший подход и компания 1С может его криво поддерживать или вообще забросить.
Win-платформа не пугает, да и на моем профильном C# / .NET это будет реализовать довольно просто [на первый взгляд].
Стоит поисследовать ваш вариант, подкупает что вы довольно масштабно его используете.
Получается вы в своих решениях держите, что то типа словаря, где ключ - тип сущности (товар, накладная на поступление, и т.п.), а значение - это дата/время последней выгрузки. И потом запросом (в OLE компоненте) вычитываете изменившиеся с последней выгрузки сущности?
По вашим оценкам, сколько может потратить 1С на выгрузку справочника товаров на 10к позиций и сколько будет проводится порядка 200-300 расходных накладных?
И в этом подходе [вроде] есть жирный плюс - всё можно сделать фоново, не обязательно чтобы клиент был запущен.
Нет
Можно написать ма-а-аленькое расширение с ендпоинтами и обработчиками, а также необходимо опубликовать базу на сервере
Можно как в примере взять внешнюю обработку 1С и не не изменять конфигурацию
В 1с из коробки есть полный Rest API
А может посоветуете хорошую crm? Выбираю пока между битриксом, мегапланом и аспро.cloud.
Интеграция с 1С: то, о чем не рассказывают в книгах