-
QuoteForge v3.40 Stable
released this
2026-09-01 09:02:01 +03:00 | 8 commits to main since this releaseКлючевые изменения
- артикул: категория LOT для сегмента берётся из component universe (
world ∪ estimate), а не из привязанного к конфигурации прайслиста — LOT, который есть только вworld(напр.GPU_NV_RTX_PRO_6000D_SERVER_84GB_PCIE), больше не выпадает из артикула; - артикул: нераспознанный токен больше не пишется как
UNK— в артикул идёт категория LOT (4xGPU,2xCPU), сегмент помечается как нераспознанный; - конфигуратор подсвечивает нераспознанные части артикула (amber) и выводит список предупреждений с именами LOT; сохранение конфигурации пишет
WARNв лог; POST /api/configs/preview-articleвозвращает разбор артикула по сегментам (segments[]);parseGPUModelсохраняет буквенный суффикс в номере модели (6000D→RTX6000D), раньше терял его и схлопывал доRTX.
Запуск на macOS
Снимите карантинный атрибут через терминал:
xattr -d com.apple.quarantine /path/to/qfs-darwin-arm64
После этого бинарник запустится без предупреждения Gatekeeper.Downloads
- артикул: категория LOT для сегмента берётся из component universe (
-
QuoteForge v3.39 Pre-Release
released this
2026-08-31 18:19:07 +03:00 | 10 commits to main since this releaseКлючевые изменения
- новый режим индикаторов без цветовой кодировки (переключатель на странице «Настройки»): всё, что раньше передавалось только цветом, переходит на форму и текст — качество цены рисуется значком-«сигналом» из 5 столбиков вместо цветной точки/числа, на вкладке «Ценообразование» вместо заливки строк появляется отдельная колонка-индикатор слева, цены-заглушки из прайслиста WORLD помечаются буквой «W», а «загрязнённый» итог — значком «⚠» вместо красного цвета; подходит при нарушениях цветовосприятия, обычный цветовой режим остаётся по умолчанию;
- страница «Настройки» переустроена: два блока («Подключение к базе данных» и «Индикаторы») в две колонки одной высоты, добавлена кнопка «Вернуться в приложение», поправлен заголовок вкладки браузера;
- версия приложения теперь показывается в шапке рядом с логотипом (убрано дублирование «vv» и хардкод «v1.0» на странице настройки БД);
- исправлена ошибка JavaScript из-за повторного объявления функции экранирования HTML.
Запуск на macOS
Снимите карантинный атрибут через терминал:
xattr -d com.apple.quarantine /path/to/qfs-darwin-arm64
После этого бинарник запустится без предупреждения Gatekeeper.Downloads
-
QuoteForge v3.37 Stable
released this
2026-08-24 18:36:28 +03:00 | 15 commits to main since this releaseКлючевые изменения
- исправлен баг конфигуратора: при изменении количества в таблицах с несколькими компонентами (диски, RAID-контроллеры и т.п.) поле «Кол-во» затиралось суммой в долларах, а «Стоимость» переставала пересчитываться корректно;
- заодно ужесточён поиск строки в таблице при обновлении количества — теперь строго по LOT-коду, без риска задеть соседнюю строку с похожим названием.
Запуск на macOS
Снимите карантинный атрибут через терминал:
xattr -d com.apple.quarantine /path/to/qfs-darwin-arm64
После этого бинарник запустится без предупреждения Gatekeeper.Downloads
-
QuoteForge v3.34 Pre-Release
released this
2026-08-10 20:14:57 +03:00 | 22 commits to main since this releaseКлючевые изменения
- CSV-экспорт цены продажи (DDP): колонка Estimate игнорировала пользовательский коэффициент «Аплифт к estimate» и всегда экспортировалась с x1,3 — фронтенд не передавал значение поля в бэкенд, а
applyDDPMarkupприменял один и тот же множитель ко всем трём колонкам сразу; теперь Estimate масштабируется по аплифту, Склад/Конкуренты — фиксированным x1,3; - рефакторинг дублирующегося кода без изменения поведения: в Go-хендлерах устранены повторяющиеся switch-конструкции обработки ошибок и bind-логика (
cmd/qfs/main.go,internal/handlers,internal/appstate,internal/article); во фронтенде сведены в общие функции пять идентичных обработчиков клавиатурной навигации автокомплита и четыре функции сборки нового элемента корзины.
Запуск на macOS
Снимите карантинный атрибут через терминал:
xattr -d com.apple.quarantine /path/to/qfs-darwin-arm64
После этого бинарник запустится без предупреждения Gatekeeper.Downloads
- CSV-экспорт цены продажи (DDP): колонка Estimate игнорировала пользовательский коэффициент «Аплифт к estimate» и всегда экспортировалась с x1,3 — фронтенд не передавал значение поля в бэкенд, а
-
QuoteForge v3.33 Stable
released this
2026-07-30 18:21:16 +03:00 | 25 commits to main since this releaseКлючевые изменения
- новые категории прайслиста (например
SYS), не входящие ни в одну известную вкладку конфигуратора, больше не пропадают из «Прочее» — устранены три места самоотравленияASSIGNED_CATEGORIES, сведены в одну функцию; - фоновая синхронизация
qt_settings(tab_config, config_types, required_categories, поддержка) подключена к воркеру — раньше была мёртвым кодом, и правки в центральной таблице не доезжали до клиентов; - детерминированная сортировка при постраничной выдаче конфигураций (
ListAll).
Запуск на macOS
Снимите карантинный атрибут через терминал:
xattr -d com.apple.quarantine /path/to/qfs-darwin-arm64
После этого бинарник запустится без предупреждения Gatekeeper.Downloads
- новые категории прайслиста (например
-
QuoteForge v3.32 Stable
released this
2026-07-24 17:13:12 +03:00 | 30 commits to main since this releaseКлючевые изменения
- колонка «PN code» в таблице импорта BOM: HPE-спецификации хранят партномер в двух столбцах (базовый P/N и код опции), теперь они склеиваются в канонический вид
P52534-B21#B19прямо в интерфейсе — раньше это приходилось делать через CONCATENATE в Excel. Склеенное значение сохраняется вvendor_partnumberи сравнивается с книгой партномеров как есть, а при повторном открытии конфигурации разбирается обратно на две колонки; схема БД не менялась; - список допустимых LOT конфигуратора собирается из объединения прайслистов
worldиestimate, а не только изestimate. Прежняя область видимости молча теряла сопоставления BOM: резолвер находил LOT по книге партномеров, которая про прайслисты ничего не знает, а фронт отбрасывал всё, чего нет в estimate — при этом в корзину такой LOT всё равно попадал, и строка BOM оставалась с «н/д». Дедупликация по имени LOT без учёта регистра, при совпадении выигрывает запись из estimate; позиции, найденные только в world, показываются с качеством цены 0 (самый красный); - LOT, сопоставленный по книге партномеров, сохраняется в спецификации, даже если его нет ни в одном прайслисте — раньше такое сопоставление пропадало без предупреждения. LOT, введённые руками, по-прежнему проверяются по списку;
- кнопка «Пересопоставить» на вкладке BOM — заново прогоняет строки через актуальную книгу партномеров. При открытии конфигурации сопоставления намеренно остаются такими, какими были сохранены, поэтому записи, добавленные в книгу позже, подхватываются только этой кнопкой;
- вкладка «Ценообразование»: убраны звёздочки у итогов (переносились на отдельную строку и разъезжались). Итог по столбцам Estimate, Склад и Конкуренты подсвечивается красным тогда и только тогда, когда часть суммы посчитана по ценам-заглушкам из прайслиста
world; при наведении всплывает подсказка с точной долей таких цен и с покрытием по позициям; - колонка «PN вендора» на вкладке «Ценообразование» больше не переносит партномер на две строки;
- индикатор качества цены показывается во всех таблицах конфигуратора, а не только на вкладке Base; колонка-индикатор везде без текстового заголовка, только с тултипом.
Запуск на macOS
Снимите карантинный атрибут через терминал:
xattr -d com.apple.quarantine /path/to/qfs-darwin-arm64
После этого бинарник запустится без предупреждения Gatekeeper.Downloads
- колонка «PN code» в таблице импорта BOM: HPE-спецификации хранят партномер в двух столбцах (базовый P/N и код опции), теперь они склеиваются в канонический вид
-
QuoteForge v3.31 Pre-Release
released this
2026-07-22 19:08:58 +03:00 | 35 commits to main since this releaseКлючевые изменения
- поддержка импорта CSV из customer-facing формата pricing-экспорта (не только из round-trip формата) — колонки резолвятся по имени;
- список вариантов конфигурации в выпадающем меню нумеруется и сортируется по дате создания (старый сверху);
- новая вкладка «Аренда» в конфигураторе (для проектов с флагом rental_enabled): расчёт разового и еженедельного платежа по регламенту платного тестирования/аренды GPU-серверов, с колонками Estimate/Цена продажи и чекбоксом «БУ»;
- техподдержка (support_code) на вкладке Base теперь добавляется как обычный LOT через autocomplete-пикер вместо выпадающего списка;
- прайслисты: local_pricelist_items получает lot_description напрямую из qt_pricelist_items.lot_description (вместо устаревших неиспользуемых available_qty/partnumbers) — описание LOT теперь берётся из одного места везде в проекте, включая экспорт цен (там раньше подстановка описания молча не работала);
- добавлено price_quality — качество цены LOT (0-9), проставляется внешней утилитой ценообразования; показывается цветным индикатором (градиент красный → жёлтый → зелёный) в прайслисте, в поиске компонентов конфигуратора, в таблице конфигуратора и на вкладке «Ценообразование» (подсветка строки);
- из контракта прайслиста убраны неиспользуемые в клиенте поля (price_method, price_period_days, price_coefficient, manual_price, meta_prices) — сами колонки в базе не тронуты, оставлены для обратной совместимости с внешним движком ценообразования.
Запуск на macOS
Снимите карантинный атрибут через терминал:
xattr -d com.apple.quarantine /path/to/qfs-darwin-arm64
После этого бинарник запустится без предупреждения Gatekeeper.Downloads
-
QuoteForge v2.30 Stable
released this
2026-07-14 14:13:24 +03:00 | 42 commits to main since this release- fix: в CSV-экспорте колонка «Заглушка (world)» больше не упоминает прайслисты (Estimate/Stock/Конкуренты), не отмеченные галочкой при выгрузке.
Downloads
-
QuoteForge v2.29 Pre-Release
released this
2026-07-10 10:26:51 +03:00 | 45 commits to main since this releaseДата релиза: 2026-07-10
Тег:v2.29Предыдущий релиз:
v2.28Ключевые изменения
- world-прайслист используется как заглушка: где для позиции нет цены в estimate/склад/конкуренты, подставляется цена из world;
- подставленные из world цены выделяются цветом (amber) в таблицах «Цена покупки» и «Цена продажи», участвуют в «Итого» и убирают красную звёздочку неполного покрытия;
- в CSV-экспорт добавлена колонка «Заглушка (world)» с перечнем столбцов, где сработал фолбэк;
- устранён потенциальный дедлок при резолве прайслистов внутри транзакции (single-connection пул) — добавлены транзакционные варианты выборки прайслистов.
Запуск на macOS
Снимите карантинный атрибут через терминал:
xattr -d com.apple.quarantine /path/to/qfs-darwin-arm64
После этого бинарник запустится без предупреждения Gatekeeper.Downloads
-
QuoteForge v2.28 Stable
released this
2026-07-03 07:34:07 +03:00 | 47 commits to main since this releaseДата релиза: 2026-07-03
Тег:v2.28Предыдущий публичный релиз:
v2.25Ключевые изменения
- fix: приложение больше не подвисает на секунды при недоступном сервере — проверка соединения с MySQL ушла в фон и никогда не блокирует интерфейс (
/healthи другие запросы отвечают мгновенно даже офлайн); - fix: устранён
SQLITE_BUSYпри клонировании конфигурации вариантов (сериализация записи через единственное соединение +busy_timeout); - fix: лоты без категории или отсутствующие в прайслисте больше не блокируют сборку артикула — просто пропускаются, а не обрывают сохранение конфига;
- fix: если прайслист конфига удалён с сервера, автоматически выбирается последний активный;
- feat: в таблицах конфигураций появилась иконка глаза — показывает, что конфигурацию сейчас открыл другой пользователь; при наведении виден список имён;
- refactor: удалён мёртвый код
qt_lot_metadata.
Запуск на macOS
Снимите карантинный атрибут через терминал:
xattr -d com.apple.quarantine /path/to/qfs-darwin-arm64
После этого бинарник запустится без предупреждения Gatekeeper.Downloads
- fix: приложение больше не подвисает на секунды при недоступном сервере — проверка соединения с MySQL ушла в фон и никогда не блокирует интерфейс (