Акция!
Cменить подрядчика по 1С на компанию «Адма»? Легко и удобно!

"1С" и "Планфикс": история обоюдного обмена

За годы работы мы с коллегами-программистами убедились в том, что большинство людей, не связанных напрямую с доработкой программ, считают наше занятие престижным, но рутинным и скучным: посмотришь из-за плеча — «иероглифы» на клавиатуре строчит, вернешься через час — всё то же самое.

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

Например, такой →

Заказчик:


ООО «Джистар» — разработчик и производитель систем по поддержанию и контролю микроклимата в различном оборудовании.

Задачи:


 Обеспечить обратную связь между «1С:ERP 2.4» и «Планфиксом» в момент создания или изменения карточки контакта.
 Полностью синхронизировать обмен данных между двумя названными программами в режиме реального времени.

Мнимо простая задача… Почему, читайте ниже:

Решение:


Это целая история с предысторией. Рассказывает технический директор «Адмы» Максим Цыс:

Что у нас было на старте:


Клиент обратился к нам на стадии выбора СRМ-системы. На тот момент заказчик использовал «1С:ERP 2.4» с доработками. По ряду причин такой подход клиента не устраивал: недостаточная гибкость, «1С» необходима для ведения отчетности, а для повседневных задач должно быть что-то еще.

Одним из вариантов рассматривался «Планфикс». Важным моментом в пользу принятия решения был наш ответ на вопрос, сможем ли мы обеспечить синхронизацию необходимых данных (информация о партнерах, контактных лицах и контрагентах) между «1С» и «Планфиксом» в режиме реального времени. Чтобы менеджерам не приходилось копировать одни и те же данные в другую программу вручную. Важно, что обмен должен был работать в обе стороны. Если меняется информация в «1С», то она должна улетать в «Планфикс». И наоборот: если меняется информация в «Планфиксе», то она должна появиться в «1С:ERP 2.4».

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

Но в фильтрах контактов нет возможности выбрать такой, как «изменен за последние…» с указанием текущей даты (доступен только для задач). Даже если бы существовала возможность настроить такой фильтр, то это решение не стало бы оптимальным. Во-первых, присутствовал бы эффект «журнала истории»: в течение дня в этот фильтр попадало бы всё больше записей, измененных за весь день данных. При этом обмен в реальном времени каждый раз скачивал бы этот массив, а это задержки и лишний трафик. Во-вторых, могли быть потери данных: если бы обмен не работал сегодня, а заработал бы только завтра, то все изменения за вчерашний день не были бы выгружены.

К счастью, в «Планфиксе» есть механизм автоматических сценариев, с помощью которых можно выполнять определенные действия в ответ на происходящие события.

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

Веб-сервер у клиента уже был установлен.

Гибкое решение:


 В «1С» добавили http-сервис, который опубликовали на веб-сервере с привязкой к нужному нам адресу. При получении запроса сервис достает из него идентификатор и записывает в служебный справочник «Компании ”Планфикс”». При записи данного элемента он автоматически помечается к загрузке его данных из «Планфикса». Данные грузятся уже непосредственно в партнера, контактное лицо или контрагента.
 Добавили план обмена, который хранит факт изменений объектов переноса в самой «1С» (партнеров, КЛ и контрагентов, а также «Компании ”Планфикс”»). При записи объектов указанных справочников в плане обмена записывается информация о том, что данные изменены и их нужно синхронизировать. Эта информация будет храниться до тех пор, пока не пройдет успешный обмен указанными объектами, после чего она стирается и повторной выгрузки не происходит.

Еще интересным моментом стала необходимость поиска партнеров и контрагентов по добавленным полям в «Планфиксе» (код «1С» и ИНН). А также установка этих (и не только) дополнительных свойств в карточках «Планфикса» и в объектах «1С» при обратной загрузке из «Планфикса».

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

Достигнутый результат:


 Технические требования к обмену были полностью соблюдены.
 Обмен проходит каждые 3 минуты (можно поставить и меньший период), но в реалиях клиента это — приемлемое время задержки.
 При любых изменениях данных контактов в ПФ или «1С» данные обновляются во второй системе. Тем самым менеджеры могут не думать, в какой системе заводить данные и без лишних трудозатрат переключаются между ними».


Резюмирую: решили серьезную задачу творчески и эффективно. И благодарственное письмо получили от руководителя отдела логистики и ВЭД ООО «Джистар».

И вам того же!

Благодарственное письмо от руководителя проекта со стороны ООО «Джистар» Лаврентьевой А. А. для IT-компании «Адма»:

skan-212x300.jpg