Кастомные документы / DocType
Создание новых сущностей, полей, связей, статусов и правил работы с документами.
ERPNext-разработка, Frappe и безопасная кастомизация
Дорабатываем действующую ERPNext: DocType, бизнес-процессы, отчёты, API, custom apps и фоновые задачи. Сначала проверяем, можно ли решить задачу настройкой; изменения тестируем на staging и не изменяем ядро без необходимости.
Для первого разговора не нужно готовое техническое задание: достаточно описать процесс, проблему и ожидаемый результат.
Код имеет смысл не потому, что хочется написать еще одну функцию, а потому что процесс уже понятен и стандартной логики ERPNext недостаточно.
Не каждую проблему в ERPNext нужно решать разработкой. Мы не начинаем с кода, если задачу можно решить настройкой. Это дешевле, безопаснее и проще поддерживать.
Можно подключить нас к системе, которую внедряла другая команда, или использовать как усиление внутреннего разработчика. Перед изменениями определяем, что уже работает, где находится нестандартная логика и что мешает обновлению.
Поддержка и аудит ERPNextПеред разработкой можно начать с короткого аудита: посмотреть текущие скрипты, пользовательские поля (custom fields), процессы согласования (workflow), отчёты, права, интеграции и реальные обходные пути пользователей. После этого становится понятно, где нужен код, где достаточно настройки, а где проблема вообще не в ERPNext.
До оценки кода нужно зафиксировать процесс, текущее ограничение и критерий готовности. Это снижает риск лишней разработки.
Вы описываете процесс, проблему и ожидаемый результат.
Мы проверяем, можно ли закрыть задачу стандартными средствами ERPNext.
Анализируем существующие скрипты, custom apps, интеграции и ограничения версии.
Формируем вариант решения, границы работ и оценку.
Реализуем и принимаем изменение на тестовом контуре (staging).
Передаем документацию и рекомендации по поддержке и обновлениям.
| Задача | Способ реализации |
|---|---|
| Роли, статусы и согласования | Стандартная настройка ERPNext и процесс согласования (workflow) |
| Небольшая логика внутри документа | Ограниченный Client Script или Server Script |
| Поддерживаемый бизнес-модуль | Custom Frappe app |
| Обмен с внешней системой | API-интеграция с обработкой ошибок |
| Нестабильные существующие кастомизации | Аудит и поэтапный рефакторинг |
Создание новых сущностей, полей, связей, статусов и правил работы с документами.
Автоматизация поведения форм, проверок, расчетов, уведомлений и действий пользователей.
Отдельные приложения для логики, которую нельзя удобно и безопасно держать в настройках.
Script Reports, Query Reports, управленческие отчеты, сверки и аналитика.
Коммерческие предложения, инвойсы, акты, накладные, delivery notes и документы под реальный процесс.
Сайты, ecommerce, CRM, 1C/BAS, Bitrix24, телефония, почта, платежи, доставка, BI и внутренние системы.
Импорты, синхронизации, уведомления, пересчеты, очереди и обработка ошибок.
Проверка scripts, custom apps, hooks, reports, прав и рисков перед обновлением или развитием системы.
Результат разработки должен быть понятен не только программисту, но и команде, которая будет жить с этой системой после запуска.
Точный срок и финальная смета появляются после проверки процесса, версии ERPNext, доступов и существующих доработок. До этого даём вариант реализации, ограничения и предварительный диапазон работ без фиктивной фиксированной цены.
| Формат | Что получает клиент | Как появляется оценка |
|---|---|---|
| Первичный технический разбор | Варианты реализации, ограничения и предварительная оценка. | После описания процесса, версии и просмотра доступных материалов. |
| Точечная доработка | Конкретный workflow, отчёт, печатная форма или автоматизация. | После фиксации критерия готовности и проверки связанных документов. |
| Проектный блок | Интеграция, custom app, сложная логика или набор связанных изменений. | После аудита зависимостей, доступов, данных и границ релиза. |
Если задача относится к бизнес-логике ERPNext, начинаем с процесса и стандартных возможностей системы. Frappe нужен как технический слой для custom app, DocType, hooks, API и серверной логики.
Портальная логика, клиентские цены, документы и API вокруг ERPNext как источника правды.
Обмен товарами, остатками, заказами, оплатами, доставками и ошибками между сайтом и ERP.
Расчет reorder-рекомендаций и управленческий список действий поверх данных ERPNext.
Напоминания, contacts, statements, задачи и контроль коммуникаций внутри финансового процесса.
Готовое техническое задание не требуется. Опишите один процесс, текущее ограничение и желаемый результат.
ERPNext-разработчик нужен, когда стандартной настройки, ролей, workflow и пользовательских полей / custom fields уже недостаточно: появляются сложные правила документов, интеграции, кастомные отчеты / custom reports, Frappe apps, фоновые задачи или логика, которую нужно поддерживать после запуска.
Не совсем. ERPNext программист дорабатывает бизнес-логику ERPNext, а Frappe разработчик работает с платформой глубже: custom app, DocType, hooks, API, background jobs, reports и порталы. В реальном проекте эти компетенции часто пересекаются.
Часто да. Если достаточно ролей, прав, workflow, пользовательских полей / custom fields, печатных форм / Print Formats, отчетов, очистки данных или изменения процесса, мы не начинаем с разработки. Это дешевле, безопаснее и проще поддерживать.
Мы избегаем правок ядра / core patches без крайней необходимости. Обычно логику лучше выносить в custom app, scripts или интеграционный слой, чтобы ERPNext и Frappe оставались обновляемыми.
Да. Мы можем проверить scripts, custom apps, hooks, reports, права, integrations и риски перед обновлением, затем предложить план стабилизации.
Сайт, B2B-портал, ecommerce, CRM, Bitrix24, 1C/BAS, телефония, email, платежи, доставка, BI, внутренние API, scheduled imports, webhooks и обработка ошибок.
Стоимость зависит от того, можно ли решить задачу настройкой, нужен ли script, custom app, интеграция или аудит существующей кастомизации. Обычно мы сначала уточняем процесс и технический риск, а потом предлагаем минимальный практический следующий шаг.
Форма, отчет, workflow, интеграция, печатная форма, API, обновление или старая кастомизация. Мы поможем понять, нужен ли код, можно ли решить задачу настройкой и как сделать изменение поддерживаемым.