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

Услуги

Разработка модулей Odoo: ваш процесс, записанный в коде

Модуль для того, чего Odoo не умеет из коробки, - сделанный так, чтобы переход на следующую версию занял часы, а не переписывание.

Какие модули я пишу

Процесс со своими статусами и правилами: согласования, этапы производства, сервисные договоры - всё, что есть в вашей работе и чего нет в стандартных приложениях. Документы ровно в том виде, какой принят в вашей отрасли: счета, накладные, сертификаты, этикетки.

Доработки Продаж, Склада, Бухгалтерии или сайта через наследование, так что стандартное приложение под ними остаётся нетронутым.

Как это переживает обновления

Тем, что не лезет в чужое: наследование вместо правки ядра, свои данные в своих полях, вмешательство в поведение только там, где для этого есть точка расширения. Studio и накликанные автоматизации дороги именно тем, что их нельзя прочитать как дифф.

На следующую версию такое переносится часами работы, а не переписыванием.

Что остаётся на руках

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

И честная оценка границы: часть из того, что вы хотите, - это неделя, а часть - квартал. Что именно, становится понятно на первом разговоре, а не после договора.

Как идёт работа

  1. Вы описываете, что должно стать иначе в тот день, когда работа закончена, - своими словами, а не словами Odoo. Половина задач меняет форму прямо здесь: люди обычно приходят уже с готовым решением.
  2. Я описываю архитектуру на одной странице: какие модели затрагиваются, что наследуется, а не пишется заново, что остаётся нетронутым и что будет с каждым переопределением в следующей версии.
  3. Вы читаете эту страницу до того, как что-либо построено. Это час времени и последний дешёвый момент передумать - в том числе передумать совсем: «это не стоит делать». Так бывает, и это нормально.
  4. Реализация - с тестами там, где они окупаются. Механическую половину их написания делает ИИ, поэтому тесты перестали спорить с функциями за место в оценке. Какие случаи заслуживают теста, по-прежнему решается вручную.
  5. Стенд на копии вашей настоящей базы, а не на демоданных, где нет клиентов с двумя пробелами в имени и импортов 2019 года. Работу вы проверяете на своих собственных записях.
  6. Боевой сервер - по написанному порядку выкатки и с откатом, который проверен, а не предполагается. Потом две недели доводки: мелкие неудобства видны только в ежедневной работе, и именно этот проход делает так, что модулем пользуются, а не обходят его стороной.

Модули, которые уже работают

Часть написанного опубликована в Odoo Apps Store - модули можно поставить и прочитать их код ещё до разговора.

Посмотреть модули

Прочитать до того, как решите

Вопросы, которые возникают до первого звонка

Когда задаче нужен модуль, а не настройка?
Когда процесса нет из коробки: свои состояния и правила, документ, который должен выглядеть ровно так, как ждёт ваша отрасль, интеграция со складской системой, маркетплейсом или банком, для которых нет готового адаптера. Половина задач меняет форму уже на первом звонке, потому что то, с чем приходят, обычно уже решение.
Переживёт ли собственный код следующее обновление Odoo?
Он переживает, когда не мешает: наследует, а не патчит, держит свои данные в своих полях и трогает поведение ядра только там, где ядро само предлагает точку расширения. Если переносить его так, следующая версия обходится в часы работы, а не в переписывание.
Studio или модуль?
Со Studio быстро - до обновления. Накликанные автоматизации не читаются как дифф, и именно поэтому дорого обходятся потом. У модуля есть история в git, тесты там, где они оправданы, и человек, который прочитает его через год.
Кому принадлежит написанный вами код?
Вам. Модуль живёт в вашем репозитории, под вашей лицензией, и любой другой инженер может его подхватить - никакой привязки и никакой аренды собственной логики.

С чего начать

Опишите задачу своими словами. За полчаса станет понятно, это модуль, настройка или неверный процесс.