Перейти к основному содержимому

Как выглядит работа над проектом 1С (часть 2) - интеграция со сторонним приложением

· 3 мин. чтения

Продолжаю рассказывать об одном из наших текущих проектов. Начало здесь. А в этом посте делюсь тем, как мы реализуем задачу. Предупреждаю: будут технические детали.

Как вы знаете, мы делаем обмен между 1С и мобильным приложением (не на 1С). В обмене участвуют порядка 15 справочников, документов и регистров. Реализуем HTTP-сервис (запросы/ответы в формате JSON), план обмена для регистрации изменений объектов 1С. Входящие запросы разбираются/проверяются с помощью пакета XDTO.

Пользовательский интерфейс тут не предусмотрен, разве что форма для настроек. Чтобы кодить было не так скучно, разработку делаем во внешней обработке: в модуле объекта — основной код, а в форме — возможность запустить какие-то блоки, чтобы видеть, как код работает (и работает ли вообще 🙂).

Мы, кстати, часто начинаем разработку во внешней обработке (иногда часть функционала там и остается после завершения работы над задачей). Чем это удобно:

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

  2. Постоянно запуская код, выполняешь этакое модульно-ручное тестирование. В итоге коду больше доверяешь, ведь своими глазами увидел, что он работает 🙂.

  3. Можно быстро набросать и попробовать разные варианты организации данных и кода. Потом выбрать более удобный, а остальные просто выкинуть. На этом проекте попробовали два варианта, один уже в мусорке.

Процесс
Разработку по проекту ведут два человека:
Я: прорабатываю архитектуру, кодирую скелет решения.
Мой помощник: дописывает детали — запросы данных к выдаче, оформление результатов по формату в API и т.д.

Что сделали за три недели
✅ Отработали уже примерно 40 часов по этой задаче, но еще не закончили.
✅ Написали и отладили ~2000 строк основного кода и ~200 вспомогательного (для тестирования основного).
✅ Подготовили тестовую базу, настроили веб-сервер, отдали сервис для тестирования разработчикам приложения, с которым интегрируется 1С.

С какими проблемами столкнулись
❗ Изо всех сил отбиваемся от попыток навязать нам работы, о которых не договаривались. 🙂 Пытаемся перенести их на следующий этап.
‼️ До сих пор не готова база, в которой наш обмен будет работать (писал об этой проблеме еще месяц назад).

В комментариях к прошлому посту спрашивали, нет ли у нас наработок для организации обмена. Оформили их на этом проекте, делюсь.

Скоро, надеюсь, будем запускать обмен в рабочую эксплуатацию, так что продолжение следует.

Как относитесь к выполнению работ, о которых не договаривались?
👍 — чаще делаю, если просят не слишком много.
🤔 — чаще не делаю, если не договоримся об оплате.
🔥 — я и есть тот, кто просит сделать что-то дополнительно. Сложно что ли?

#истории