2021 — 2026

Валерий Шарлай

Full Stack Developer / Tech Lead

КВТ (ТехЭлектро) • Odoo ERP

За 4+ года работы над проектом внёс значительный вклад в развитие ERP-системы на базе Odoo: оптимизация производительности, разработка бизнес-логики (склад, продажи, закупки, доставка), автоматизация процессов разработки и организация работы команды.

0 Года на проекте
0 Задач выполнено
0 Коммитов
0 Code Review
0 Релизов на прод
0 Направлений

Путь развития

От первых задач до технического лидерства

🚀
2021

Старт на проекте

Погружение в Odoo 13, изучение архитектуры. Первые задачи по складу, закупкам и продажам.

📦
2022

Развитие бизнес-логики

Контракты в SO/PO, маршруты склада, визарды массовых операций, работа с ГТД и межкомпанийными цепочками.

2023

Оптимизация и стабилизация

Глубокий профайлинг и оптимизация SQL/ORM. Ускорение критичных операций в 3-1300 раз. OCA модули.

👥
2024

Tech Lead и DevOps

Организация процессов разработки, регламенты, автоматизация релизов, безопасность стендов, менторинг команды.

🏁
2025–26

Завершение и передача

Карточки доставки, цепочки документов, нагрузочное тестирование. Подведение итогов и документирование.

Направления работы

Основные области, в которых велась разработка

📁

no_epic

135 задач
🚚

Транспорт

57 задач
📁

Производительность

40 задач
📁

Dev

27 задач
📦

Склад

22 задач
📋

Закупки

16 задач
2022–2025

Оптимизация производительности ERP

Масштабные улучшения скорости и стабильности Odoo

Комплексная работа по анализу и устранению узких мест производительности в крупной Odoo ERP системе. Основной фокус: SQL, ORM, права доступа, compute-методы, массовые операции и UI.

Ключевые результаты:

  • Устранены блокировки БД при массовых операциях
  • Сокращено время критичных операций в 2–1300 раз
  • Оптимизированы десятки core и кастомных compute методов
  • Внедрена системная работа с профайлингом и метриками
  • Снижена нагрузка на PostgreSQL и Odoo workers
1300x Максимальное ускорение операций
100+ Оптимизированных задач производительности
3–10x Среднее ускорение ключевых сценариев
60k+ Документов в оптимизированных списках

Глубокий SQL и ORM анализ

Explain Analyze, pg_stat_statements, индексы, materialized view, auto_join, parse и where_calc

Оптимизация бизнес-критичных процессов

КП, СКЗ, ОЛ, инвойсы, резервация, упаковка, импорты, отчеты

Работа с правами доступа

Сокращение доменов, кэширование ir.rule, пропуски проверок в безопасных местах

Профайлинг и метрики

py-spy, speedscope, кастомные метрики, логирование SQL и HTTP

Odoo 13–16 PostgreSQL Python SQL Explain Analyze pg_stat_statements SpeedScope py-spy Loguru Docker
2021-2025

Закупки и маршрут Контейнер (Odoo кастомизация)

Багфиксы, синхронизации межкомпани, ГТД, даты, производственные разрезы

Поддержка и развитие закупочного контура и маршрута "Контейнер": исправление блокирующих ошибок, выравнивание данных в цепочках документов (PO, SO, IN/OUT/INT/RCPT, счета), улучшение UX-сообщений и рефакторинг легаси логики ГТД/партий.

Ключевые результаты:

  • Закрыл блокирующие кейсы в закупках: запрет создания ЗЦП при незаполненных статьях ДДС через все точки входа (включая визарды из списков), улучшил тексты ошибок и детализацию (до 10 строк, с кодом товара)
  • Реализовал/доработал межкомпани-логику для распреда: поле РСК в ЗЦП, проброс в связанное КП и автоподстановка склада по выбранному РСК
  • Привел к консистентности плановые даты: синхронизация arrival_point_date контейнера, date_planned в ЗЦП и scheduled_date/commitment_date в связанных документах, уменьшил лишние вызовы обновления дат
  • Исправил разделение ГТД между компаниями ВЭД в одном контейнере (разные ГТД не перетирают друг друга), добавил нужные синхронизации в связаных документах
  • Стабилизировал проведение контейнера при частичной приемке: корректировка IN ВЭД в меньшую сторону больше не ломает подтверждение контейнера
  • Реализовал проброс признака "Для производства" и разделение INT на два требования (обычные запасы vs запасы для производства), устранил дубли линий и ошибки связей move_dest_ids
  • Исправил цену и плановую дату для добавленных после подтверждения позиций: цена из прайслиста ВЭД, корректная логика дат отгрузки и цепочка значений дальше по маршруту
  • Ввел поля начала/окончания приемки и синхронизацию с контейнером, сделал автозаполнение по триггерам и убрал некорректные проверки
  • Сделал крупный рефакторинг ГТД: единая настройка необходимости проверки по типу записи, разделение проверок партии и ГТД, исправление кейсов разных стран в одном документе, оптимизация и подготовка к миграциям
  • Расширил визард установки ГТД и контроль расхождений с маркировками (ЧЗ), добавил права "Менеджер ГТД" и проверки формата/структуры кода
16 задач в срезе (TEC)
10+ типов документов затронуто (PO/SO/IN/OUT/INT/RCPT/Invoice и др.)
2 критичных направления: контейнер и ГТД/маркировки
5 лет объем легаси логики ГТД, который пришлось распутывать (интересный факт)

Сквозная синхронизация по цепочке документов

PO/SO/пикинги/счета держат согласованные даты, ГТД и доп.поля; изменения распространяются предсказуемо и без перетираний.

Надежные валидации и UX-ошибки

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

Рефакторинг легаси функционала ГТД

Логика, копившаяся годами, приведена к единому правилу через настройки, ускорена и подготовлена к дальнейшему отказу от партийного якоря.

Odoo Python PostgreSQL Odoo ORM XML Views JavaScript (widgets/classes) QWeb Accounting (account.move/lines) Stock (picking/move/move.line) Intercompany flows Performance profiling
2024

Безопасность и защита стендов Odoo

Контроль debug режима, защита БД и управление доступами

Комплекс работ по усилению безопасности Odoo: ограничение debug режима, защита стендов от удаления БД, централизованное управление пользователями и правами доступа.

Ключевые результаты:

  • Полностью закрыта возможность включения debug режима для обычных пользователей
  • Исключено случайное удаление баз данных на стендах
  • Введена единая схема пользователей и прав доступа для команд и внешних систем
  • Повышена прозрачность и контроль доступа в multi-company окружении
3 Критических уязвимостей закрыто
10+ Стендов с унифицированной защитой
6 Типов ролей доступа реализовано

Защита Debug режима

Реализован контроль debug через группы доступа и сессии, включая кейсы до логина пользователя.

Защита стендов

Отключено удаление БД через UI и добавлены защитные проверки на уровне логики.

Управление пользователями

Автоматизировано создание и обновление пользователей с разными уровнями доступа.

Odoo Python PostgreSQL SQL Docker Linux
2024

Организация и автоматизация процессов разработки

Регламенты, флоу задач и управление командой Odoo

Проект по выстраиванию и стандартизации процессов разработки, управления задачами и командой. Включает проектирование флоу задач, регламентов, обучение разработчиков и административное сопровождение крупных Odoo проектов.

Ключевые результаты:

  • Разработан и внедрен единый флоу жизненного цикла задач
  • Созданы и актуализированы регламенты разработки и код-стандарты
  • Снижено число ошибок из-за некорректной постановки задач
  • Повышена прозрачность статусов и ответственности
  • Организовано обучение и онбординг разработчиков
30+ регламентов и статей
50+ созвонов и воркшопов
10+ разработчиков вовлечено

Флоу задач

Проектирование статусов от идеи до релиза с четкими ответственными ролями

Регламенты

Единые правила нейминга, кодинга, ревью, тестирования и документации

Управление командой

Оценка квалификации, онбординг, дежурства и организация спринтов

Odoo 13 Odoo 16 Odoo 17 Python PostgreSQL GitLab Docker OpenSearch Jira Mermaid
2022-2024

Системные настройки Odoo

Гибкая конфигурация прав, полей и поведения системы

Разработка и модернизация системных механизмов Odoo для администрирования, точности данных, прав доступа и отключения лишнего функционала без кастомного кода.

Ключевые результаты:

  • Единый механизм настройки разрядности Float-полей
  • Гибкая настройка прав редактирования полей через интерфейс
  • Введение типов документов и доменов без кода
  • Оптимизация связей компаний и контактов
  • Безопасное отключение website и portal
7+ Ключевых задач
10+ Моделей затронуто
0 Кастомных костылей в коде

Настройки числовых полей

Реализована универсальная настройка округления Float-полей с учетом ограничений базы и исключением Monetary.

Типы документов

Добавлена модель типов документов с возможностью настройки доменов справочников в UI.

Управление доступами

Редактируемость полей настраивается через интерфейс для групп пользователей.

Контроль HTTP доступа

Отдельный модуль для блокировки website и portal без удаления зависимостей.

Odoo Python PostgreSQL XML lxml JavaScript
2021-12 — 2024-05

Склад: доработки склада и логистики

Stock Picking, Quantities, маршруты отбора, СКЗ/RTN, приемка и инвентаризация

Разработка и отладка складных доработок в Odoo: расчеты остатков и очередей, маршруты комплектации, визарды массовых операций, интеграция процессов СКЗ/RTN/IN/OUT, исправление UI/представлений и усиление валидаций.

Ключевые результаты:

  • Сделал отображение требований IN в карточке товара и корректный расчет pending/free-to-use остатков с учетом межкомпанийности
  • Исправил логику заполнения пункта назначения/грузополучателя для RTN/OUT и сценарии формирования СКЗ
  • Реализовал массовое изменение planned date для RTN через визард с валидациями статусов и правами по типу компании
  • Внедрил управляемую сортировку линий (move_line) на типах операций и доработал триггеры применения сортировки
  • Улучшил алгоритм «змейки» и маршрута отбора (PICK) по топологии склада с обработкой некорректных/пустых баркодов
  • Доработал уведомления по отрицательным квантам, расширив диагностические данные (партия/идентификаторы)
  • Исправил отображение движения продукта в инвентаризации и конфликт view в визарде маркировки
  • Прорабатывал и дебажил сложные приемочные сценарии по коробам в ПЛ (сканирование, backorder, статусы, запреты редактирования)
13 задач/тикетов в блоке «Склад»
6 ключевых процессов (IN, OUT, RTN, PICK, СКЗ, Инвентаризация)
3 массовых/пользовательских действий (визарды/кнопки)
4+ совместных отладок и ревью с BA/разработчиками (часто парой)

Корректный расчет доступности товара

Добавлен учет pending_qty и формула free_to_use_quantity = free_qty - pending_qty (с учетом резервов и межкомпанийного контекста).

Визард массового изменения scheduled_date для RTN

Действие в listview: календарь, запрет дат раньше текущей, проверка статусов (Ожидание/Готово), обновление связанных документов (в т.ч. draft СКЗ).

Управление сортировкой линий на типе операции

Поле-настройка на picking.type, применение сортировки move_line при переходе в Готово или по кнопке, с учетом ограничений интеграций (ТСД).

Маршрут отбора по топологии склада

Алгоритм сортировки по рядам/местам/ячейкам из barcode, учет четности количества рядов, вывод неопознанных локаций в конец.

Блокировки критичных проводок по маршрутам

Запрет проводки OUT из СКЗ по маршруту Беседы при наличии заявок на ТУ, чтобы не ломать цепочку RTN.

Odoo Python PostgreSQL odoo stock (stock.picking, stock.move.line, stock.quant) read_group XML views wizard (transient models) security rules / access rights debugging & profiling
2022–2025

Парк: методы доставки и цепочки документов

Переработка логики доставки, транзитных маршрутов и автотестов

Комплексная переработка логики методов доставки в Odoo: отвязывание и перепривязка карточек доставки, корректная работа транзитных маршрутов, восстановление целостности цепочек документов, оптимизация статусов ТУ и визуализация связей.

Ключевые результаты:

  • Реализована безопасная смена карточек доставки без потери истории отгрузок
  • Исправлена логика цепочек документов для прямых и транзитных маршрутов
  • Восстановлена корректная работа заявок на ТУ и их статусов
  • Добавлены автотесты для сложных маршрутов и кейсов
  • Снижено количество блокирующих ошибок при проведении документов
20+ закрытых задач JIRA
300+ часов анализа и отладки
50+ исправленных багов в логике доставки

Цепочки доставки

Новая модель цепочек с корректным пробросом связей между RTN, TR-CL, ТУ, ОЛ и контейнерами.

Визуализация и визарды

Визард отвязывания карточек и графическое отображение цепочек документов для анализа.

Автотесты

Набор автотестов для транзитных маршрутов, backorder и повторного проведения.

Odoo 13 Python PostgreSQL Odoo ORM pytest Graph/SVG генерация
2022-2023

Odoo: Продажи и КП

Фичи, визарды, фиксы и валидации для sale.order

Разработка и поддержка блока продаж: улучшение UX в КП/ЗЦП, новые визарды, проверки дат, исправление критичных сценариев распределения, рефакторинг и стабилизация через тесты.

Ключевые результаты:

  • Закрыл 6 задач в модуле Продажи (КП/SO), включая новые визарды и багфиксы
  • Убрал ограничения по типам компаний для кнопки Delivery Dates и подчистил логику фильтров/вьюх
  • Добавил поиск по полному названию продукта в визарде + возможность скрывать поля
  • Починил ручное распределение в визарде (фиксация значений, навигация, обработка пустых значений как 0)
  • Внедрил проверки дат отгрузки/доставки + подсветку полей при ошибках на клиенте
  • Сделал визард прогнозных поставок/отгрузок с доменами, группировками, фильтрацией складов и расчетами количеств
  • Провел рефакторинг, тестирование, перезапуск тестов, резолв конфликтов и мелкие правки по MR
6 Задач закрыто
3 Новых визарда/экрана
2 Крупных UX-улучшения
1 Переиспользуемый механизм ошибок (UI)

Delivery Dates без ограничений по типу компании

Кнопка доступна для разных типов компаний; упрощены вьюхи и удалены лишние методы, поправлены фильтры и UX пустых списков.

Визард прогнозных поставок и отгрузок

Отображение приходов/отгрузок по складам с сортировками, доменами и группировками; кнопка в строке товара КП открывает сводные таблицы.

Клиентские ошибки с подсветкой полей

Новый тип уведомлений для некорректных дат, похожий на стандартные ошибки Odoo, с подсветкой проблемных полей (переиспользуемая штука).

Улучшение визарда добавления продукта

Поле полного названия, быстрый поиск по нему и возможность скрывать поля через меню.

Фиксы формы распределения

Исправлена передача введенных количеств, баги навигации по позициям, и кейсы с очисткой значения (автоподстановка 0).

Odoo Python PostgreSQL XML Views QWeb JavaScript jQuery ORM/Domain filters Automated tests Git/MR workflow
2021-08 to 2025-01

TechElectro: улучшения процессов продаж, закупок и склада в Odoo

Контракты (SO/PO), возвраты, ТУ, маршруты склада, производственные связи

Выполнял задачи по доработке бизнес-логики Odoo для контуров продаж, закупок и склада: автоподстановка и валидация договоров, ограничения по закрытым/удаляемым договорам, устранение ошибок цепочек перемещений, настройка и стабилизация создания заявок на транспортные услуги, а также ускорение визардов и вычислений по возвратам и спискам.

Ключевые результаты:

  • Внедрена корректная логика выбора договора по умолчанию для SO/PO (базовый, затем валидный по датам, затем первый доступный)
  • Добавлены предупреждения о невалидных датах договора и сохранена проверка даты окончания с граничными условиями
  • Оптимизирован домен и расчеты для contract_id, устранены лишние двойные onchange-триггеры, упорядочены поля формы для автозаполнения сверху вниз
  • Исправлен кейс с адресом доставки: приоритет активного адреса из договора, затем из партнера, затем из дочерних контактов по условиям задачи
  • Стабилизирована логика закрытых договоров: исключение из выбора, запрет сделать закрытый договор базовым, авто-сброс базовости при закрытии
  • Запрещено удаление договора, если он участвует в документах, добавлены более точные сообщения и исправлены кейсы зеркальных договоров при копировании
  • Устранена причина создания лишней заявки ТУ при возврате из PACK (ограничение подтверждения только INT вместо INT+OUT в одном из участков логики)
  • Переработаны условия автосоздания ТУ: вынесены настройки на уровень типов операций с явным режимом автосоздания
  • Ускорено открытие списка/группировки по возвратам: на стенде снижение времени открытия примерно с 15s до 5s
  • Сильно ускорено создание возвратного требования из визарда: примерно в 14-16 раз на типовых наборах
  • Пофикшен маршрут перемещений между ЮЛ при группировке нескольких RTN: устранена ошибка Expected singleton
  • Починен проброс запланированной даты по цепочке требований (INT, RTN, PICK, PACK, OUT, IN) и вынесена логика определения поля даты для распространения
  • Добавлены/адаптированы кнопки навигации между документами (MO -> SO, перемещения -> PO) и устранены проблемы зависимостей/манифеста
  • Обновлена работа с партией/серийником: возвращена логика lot_name до проведения и запись в lot_id при done, с учетом отличий маршрутов
14 Задач в выборке (TEC-*)
14-16x Ускорение создания возврата из визарда
15s -> 5s Открытие списка 'Возврат с ОХ' на стендах (пример)
0.5s/line Достигнутая скорость в тяжелых кейсах возвратов (после оптимизаций)

Контракты в SO/PO: дефолт, домен, предупреждения

Автовыбор договора по правилам при смене партнера, проверка валидности периодов относительно date_order, предупреждения вместо навязчивых блокирующих окон, оптимизация домена и запросов.

Транспортные услуги: управляемое автосоздание

Убраны хрупкие условия автосоздания ТУ из кнопок/статусов, добавлена настройка в типах операций по аналогии с фичами типа 'требуется упаковка', расширены проверки и тесты.

Производительность: возвраты и read_group

Профилирование и рефакторинг вычислений (_compute_rtn_qty, web_read_group, action_open_return_wizard), кэширование и сокращение повторных операций, ускорение визарда и создания возвратов.

Маршруты склада и межкомпани цепочки

Исправления цепочек PICK-PACK-OUT-INT/IN, корректный перенос планируемых дат, устранение ошибок при группировке требований и проведении.

Odoo (custom addons) Python PostgreSQL ORM/Onchange/Compute fields XML views Performance profiling Autotests (частично) Git, merge conflict resolution
2024–2025

Оптимизация разработки и Dev-инструменты

Автоматизация, производительность, контроль качества

Комплексная оптимизация процессов разработки: автоматизация релизов и push, восстановление БД, профайлинг, нагрузочное тестирование и инструменты контроля код ревью. Цель — снизить ошибки, ускорить цикл задач и повысить стабильность среды.

Ключевые результаты:

  • Существенное сокращение времени релизов и push операций
  • Минимизация человеческих ошибок в Git и Jira
  • Централизованный сбор и анализ профайлинга
  • Автоматическое нагрузочное тестирование с метриками
  • Повышение прозрачности и скорости код ревью
5–10 мин Экономия времени на одну задачу при push
~10 ч/мес Сэкономлено командой на восстановлении БД
−2 дня Среднее сокращение цикла задачи за счет ревью
10–20 Автоматических нагрузочных кейсов

Автоматизация релизов и push

Скрипты для Gitflow проектов с проверками конфликтов, зависимостей, корректности веток и сообщений.

Профайлинг и анализ производительности

Сбор профайлов со всех nomad клиентов и автоматический топ тяжелых методов.

Восстановление и перенос БД

Полностью автоматизированный restore БД с проверками и снижением ошибок.

Нагрузочное тестирование

Модуль с метриками Prometheus/Grafana для отслеживания деградации производительности во времени.

Контроль код ревью

Инструмент анализа задержек ревью для сокращения жизненного цикла задач.

Python Odoo PostgreSQL GitLab Jira API Prometheus Grafana Nomad Docker
2023-2024

Помощь и консультации

Стабилизация, оптимизация и внедрение Odoo решений

Поддержка и развитие Odoo 13: анализ инцидентов, восстановление логики импорта, оптимизация производительности, внедрение OCA модулей, стабилизация кронов и маркетплейс интеграций.

Ключевые результаты:

  • Восстановлена проверка дублей документов при импорте УПД
  • Ускорено массовое создание КП и автоматические действия
  • Добавлены и протестированы десятки OCA модулей
  • Снижено количество критических ошибок на проде
  • Стабилизированы кроны и автоматические действия маркетплейсов
50+ модулей OCA проанализировано
5x ускорение создания КП
100+ часов профайлинга и ресерча

Импорт и данные

Исправление логики Generic Import, пропуск readonly и compute полей, предотвращение лишних перерасчетов

Производительность

Глубокий профайлинг, оптимизация inverse, onchange, related и legacy кода

OCA экосистема

Интеграция OCA stock, purchase, workflow модулей с сохранением истории и зависимостей

Инфраструктура

Отладка деплоев, Nomad, cron, логи, opensearch, удаленная отладка стендов

Odoo 13 Python PostgreSQL OCA Git Nomad OpenSearch Logstash

Ключевые проекты

Основные разработанные системы и модули

Оптимизация производительности

Глубокий SQL/ORM анализ, устранение блокировок БД. Ускорение КП, СКЗ, инвойсов, резерваций в 2–1300 раз.

📦

Склад и логистика

Расчёт остатков, маршруты комплектации, визарды массовых операций, СКЗ/RTN, приёмка и инвентаризация.

📋

Закупки и контейнеры

Маршрут Контейнер, межкомпанийные цепочки PO/SO, синхронизация дат, ГТД и партии.

🚚

Карточки доставки

Перепривязка доставки по цепочкам документов, транзит и прямая доставка, визуализация цепочек.

🔧

Автоматизация разработки

Скрипты релизов и push, восстановление БД, профайлинг, нагрузочное тестирование, контроль код ревью.

👥

Организация процессов

Регламенты разработки, флоу задач, онбординг, обучение команды. 30+ регламентов, 50+ воркшопов.

Технологический стек

Технологии и инструменты, с которыми работал на проекте

🏢 Odoo 13–17 ERP платформа
🐍 Python Backend
🐘 PostgreSQL База данных
🦊 GitLab CI/CD
🐳 Docker Контейнеры
📋 Jira Управление
🔍 OpenSearch Логирование
📈 Grafana Мониторинг
🔥 Prometheus Метрики
☁️ Nomad Оркестрация
🟨 JavaScript Frontend
🐧 Linux Инфраструктура

Технический стек

Технологии и инструменты, используемые в работе

Python / Odoo 95%
PostgreSQL 85%
JavaScript 80%
Docker / DevOps 85%
REST API / Интеграции 90%
Git / CI/CD 85%
Linux / Nginx 80%
Менторинг / Code Review 90%

Вклад в команду

Развитие команды и передача знаний

👀
1343 ревью

Code Review

Проверка кода коллег, рекомендации по улучшению, соблюдение стандартов

💬
1382 комментариев

Комментарии CR

Детальные комментарии в merge requests с объяснениями и примерами

🤝
215 задач

Помощь коллегам

Консультации, совместная отладка, помощь в решении сложных кейсов

📚
30+ документов

Регламенты

Регламенты разработки, код-стандарты, инструкции по процессам

Статистика разработки

Данные за период 2021-09-24 — 2026-01-24

0 Коммитов
0 Code Review
0 Комментариев CR
0 Релизов stage
0 Релизов prod
0 Задач анализа

Полный список задач

378 выполненных задач, сгруппированных по 30 направлениям