Навіщо це все

APEXREST — це плагін для Claude Code і Codex, який дає агентові працювати з Oracle APEX як із кодом: писати застосунок у форматі APEXlang, перевіряти його справжнім компілятором Oracle і імпортувати в середовище розробки. На маленьких прикладах він працює добре. Мені ж хотілося перевірити його на чомусь, що схоже на справжню облікову систему.

В Україні така система у багатьох компаній одна — 1С (BAS). Питання «на що її замінити» звучить щодня, а відповідь зазвичай впирається у вартість і строки перенесення логіки. Тож задача для тесту знайшлася сама: чи може агент із плагіном за розумний час зібрати на Oracle APEX каркас конфігурації торгівлі — з довідниками, документами, проведенням, регістрами і звітами?

Що я взяв

  • Oracle APEX 26.2 на Oracle AI Database 26ai Free — локально, в Docker.
  • Claude Code з плагіном APEXREST — агент, який пише код.
  • Linear — менеджер завдань: каталог функцій і статуси.
  • Типову конфігурацію «Управління торгівлею» на 1С 8.3 — як зразок функцій, термінів і звичного інтерфейсу «Таксі».

Моя участь — кілька годин: сформулювати, що потрібно, відповісти на запитання агента, подивитися результат і сказати «далі». Сторінки, таблиці, пакети й тести писав агент.

Що вийшло

Застосунок називається Trade. Він навмисно виглядає знайомо: панель розділів ліворуч, відкриті форми у вкладках, жовті кнопки команд, списки документів із піктограмами проведення.

Довідники

Номенклатура — ієрархічний довідник: дерево груп ліворуч, список праворуч. У картці товару — артикул, одиниця виміру, ставка ПДВ, код УКТ ЗЕД, вага й габарити, характеристики та серії з терміном придатності. Контрагенти — з ЄДРПОУ, IBAN (з перевіркою контрольної суми) і договорами.

Довідник «Номенклатура» з деревом груп
Номенклатура: дерево груп і список
Картка товару в модальному вікні
Картка товару

Продажі й закупівлі

Замовлення клієнта резервує товар. На його підставі створюється реалізація: ціна підставляється з виду цін, знижки рахуються автоматично, а система не дасть продати більше, ніж є на складі. З боку закупівель — замовлення постачальнику, прибуткова накладна, оплата. Документи проводяться і рухають регістри; скасування проведення повертає все назад. Є введення на підставі, копіювання, друковані форми.

Документ «Замовлення клієнта»
Замовлення клієнта
Документ «Реалізація товарів» з табличною частиною
Реалізація товарів
Документ «Прибуткова накладна»
Прибуткова накладна
Розділ «Продажі»: документи, звіти, швидке створення
Розділ «Продажі»

Склад

Залишки, обороти і рухи по кожному товару, переміщення, списання, інвентаризація з оприбуткуванням надлишків, резерви й вільні залишки, собівартість за середньою ковзною. Для складів з ордерною схемою — прибуткові й видаткові ордери та комірки.

Звіт «Товари на складах»
Товари на складах
Документ «Інвентаризація товарів»
Інвентаризація

Фінанси, ПДВ і роздріб

Каси й банківські рахунки, ПКО і ВКО, банківські виписки, взаєморозрахунки, акт звірки. ПДВ у документах і податкові накладні за правилом першої події. Курси валют завантажуються з сайту НБУ. Для роздробу — робоче місце касира зі сканером і чеки.

Регістр «Грошові кошти»
Залишки й обороти коштів
Документ «Податкова накладна»
Податкова накладна
Курси валют, завантажені з НБУ
Курси валют НБУ
Документ «Чек ККМ»
Чек ККМ

Звіти

ABC-аналіз продажів із діаграмою Парето, дебіторка за термінами, оборотність запасів, неліквіди з рекомендацією уцінки, картка товару, валовий прибуток.

Звіт «ABC-аналіз продажів»
ABC-аналіз продажів
Звіт «Дебіторська заборгованість за термінами»
Дебіторка за термінами
Звіт «Оборотність запасів»
Оборотність запасів
Звіт «Неліквіди й залежалі товари»
Неліквіди й залежалі товари

Інтеграції та сервіс

Обмін замовленнями з торговими мережами через EDI (ORDERS, ORDRSP, DESADV, INVOIC, RECADV), імпорт довідників із CSV і XLSX, журнал реєстрації дій користувачів, ролі доступу.

Сторінка EDI-обміну з торговими мережами
EDI з торговими мережами
Журнал реєстрації
Журнал реєстрації

У цифрах

120сторінок APEX
107таблиць і 70 подань
37пакетів PL/SQL, ≈17,6 тис. рядків
1 879перевірок у 30 тестових сценаріях

Ще 64 паспорти об'єктів (опис вимог) і близько 270 задач у Linear, з яких закрито приблизно 70.

Як це зроблено

1. Спершу паспорт, потім код

Для кожного довідника, документа й регістру агент спершу пише паспорт: структура, поведінка форми, бізнес-логіка, аналог у 1С. Це звичайний Markdown у репозиторії — його можна прочитати й поправити до того, як з'явиться хоч один рядок коду.

# Паспорт документа «Реалізація товарів»
- Аналог у 1С:УТ: Документ.РеализацияТоваровУслуг

## БЛОК C. БІЗНЕС-ЛОГІКА
- Порожня ціна рядка заповнюється на сервері за видом цін на дату документа
- Проведення: RegStockBalance −quantity; RegCounterpartySettlement +totalAmount
- Від'ємний залишок товару заборонений

2. Завдання — в Linear

Каталог функцій типової конфігурації розкладено на задачі з етапами: оперативний облік, гроші, розширення, інтеграції. Агент бере задачу, виконує і закриває. Я бачу прогрес так само, як бачив би роботу команди.

3. Застосунок APEX — це текст

APEXlang описує сторінки, регіони, кнопки і процеси звичайними файлами. Агент не клацає в конструкторі — він редагує код, а зміни видно в git.

page 110 (
    name: Реалізація товарів
    alias: GOODS-SALES
    security { authorizationScheme: @role-sales }

    region list (
        type: interactiveReport
        source { type: sqlQuery ... }
    )
)

4. Що тут робить APEXREST

  1. Довідник і рецепти. Визначення Oracle і перевірені компілятором приклади компонентів доступні агентові офлайн — йому не треба вигадувати синтаксис.
  2. Локальний перегляд. Сторінки рендеряться просто на ноутбуці зі справжньою темою APEX. Це інструмент для швидкої перевірки вигляду, а не заміна перевірки в Oracle.
  3. Компілятор Oracle. APEXlang перевіряється справжнім компілятором до імпорту — помилки ловляться раніше.
  4. Імпорт лише в DEV/TEST. З точним планом, резервною копією і перевіркою результату. У продуктивне середовище плагін не розгортає — це завжди рішення людини.
Локальний перегляд APEXREST: довідник «Номенклатура» з панеллю розробника внизу
Локальний перегляд APEXREST: та сама сторінка на ноутбуці, з панеллю розробника

5. Логіка на сервері й автотести

Проведення документів, регістри, собівартість, ПДВ — у пакетах PL/SQL. Кожну ревізію закриває тестовий сценарій; якщо хоч одна перевірка падає, задача не закрита.

OK   Всього накладної 2,500×12,34 + 10,00: 40.85 (очікується 40.85)
OK   Кредиторська заборгованість: 40.85 (очікується 40.85)
OK   Рухів після скасування проведення: 0 (очікується 0)
OK   Ставки ПДВ 20 / 7 / 0 / звільнено / без ПДВ: 5 (очікується 5)

Чесно про обмеження

Це експериментTrade — не готовий продукт і не повна заміна 1С. Це каркас, який показує, що і як швидко можна зібрати.
  • Закрито близько 70 задач із приблизно 270: CRM, доставка, планування, бюджетування, більшість інтеграцій — ще в беклозі.
  • ПРРО працює в режимі імітації, EDI — через файловий обмін і заглушку провайдера; до ДПС і зовнішніх сервісів нічого не передається.
  • Документи й взаєморозрахунки ведуться в гривні; бухгалтерського обліку й зарплати немає.
  • Застосунок працював лише на демонстраційних даних у локальному середовищі розробки. Навантаження, безпеку й перенесення реальних даних не перевіряли.
  • Код, який написав агент, перед будь-яким реальним використанням потребує перевірки людиною — як і код будь-якого розробника.

Висновок

Замінити 1С одним вечором не вийде — і я цього не стверджую. Але головна стаття витрат у таких проєктах — перенесення сотень форм, документів і правил — з агентом і правильними інструментами стає помітно дешевшою і швидшою. Oracle APEX дає готові списки, форми, права і звіти; APEXlang робить застосунок кодом; APEXREST дає агентові довідник, компілятор і безпечний імпорт. Людині лишається найважливіше: вирішити, що саме потрібно бізнесу, і перевірити результат.

Спробуйте APEXREST на своєму проєкті

Плагін має відкритий код (Apache-2.0) і працює з Claude Code та Codex.

claude plugin marketplace add apexrest-dev/apexrest
claude plugin install apexrest@apexrest

APEXREST на GitHub ↗ · Документація ↗ · Запитання — у LinkedIn ↗