Compare commits

...

2 commits

Author SHA1 Message Date
nns d04d1d53fa docs(site): отчёт/скриншоты круга 2 обновлены после догоняющих правок (44/44)
Some checks are pending
Auto-tag / Create date-tag (push) Waiting to run
CI / Backend (.NET 8) (push) Waiting to run
CI / Web (React + Vite) (push) Waiting to run
CI / POS (WPF, Windows) (push) Waiting to run
Docker Public / Build + push Public (test + latest) (push) Waiting to run
Docker Public / Deploy :test → test.food-market.kz (push) Blocked by required conditions
Закрыты хвосты (kb/quickstart, дубль H1 в cash-with-scales, 100k, перенос «₸/мес»),
передеплой на test; живой grep по /kb/* и /blog/* — чисто.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-11 01:36:02 +05:00
nns 28cc6a714b fix(site): хвосты круга 2 — kb/quickstart, дубль H1 в блоге, 100k, перенос строки
- kb/quickstart: убраны .msi/«ключ организации»/«импорт по API-токену» —
  импорт из файла Excel/CSV, из других систем «в разработке»; касса Windows и
  Linux «скоро», вход по адресу сервера + логин + PIN.
- blog/cash-with-scales: убран дублирующий <h1> в теле (как в launch/quick-start).
- kb/faq + og: неподтверждённое «до 100 000 товаров» → нейтрально «большие
  каталоги / тысячи позиций» (точного лимита в коде нет; есть RequestSizeLimit 20МБ).
- Конструктор: цена «₸/мес» на кнопке «Выбрать конфигурацию» не переносится
  (whitespace-nowrap).
- Форма регистрации: инлайн-ссылки «офертой»/«политикой» — увеличенная зона
  нажатия (py-1) без сдвига вёрстки.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-11 01:33:34 +05:00
11 changed files with 43 additions and 14 deletions

View file

@ -153,3 +153,34 @@
| `/status` без фиктивного статуса; `/changelog` без жаргона; `/kb/billing` честный | ✓ |
Итог авто-проверки: **44/44**.
---
## Догоняющие правки (сверка с канонической редакцией задачи)
При повторной сверке с полным списком задачи закрыты оставшиеся хвосты
(commit `28cc6a7`, передеплой на test — `OK`):
- **`/kb/quickstart`** (отдельный файл от блога — его пропускал ранее): убраны
`.msi`, «ключ организации», «импорт по API-токену» → импорт из файла Excel/CSV,
из других систем «в разработке»; касса Windows и Linux «скоро», вход по адресу
сервера + логин + PIN.
- **`/blog/cash-with-scales`** — убран дублирующий `<h1>` в теле (теперь во всех
трёх статьях блога ровно один H1 — проверено в `dist`).
- **«до 100 000 товаров»** (kb/faq + og) — в коде точного лимита нет (есть только
`RequestSizeLimit(20MB)` на эндпоинте импорта), поэтому заменено на нейтральное
«большие каталоги — тысячи позиций».
- **Кнопка «Выбрать конфигурацию»** — цена «₸/мес» больше не переносится
(`whitespace-nowrap`).
- **Инлайн-ссылки «офертой»/«политикой»** в форме регистрации — увеличенная зона
нажатия (`py-1`) без изменения вида.
**ОС кассы — проверено по коду:** `food-market.pos.csproj` → `TargetFramework
net8.0` (не `net8.0-windows`) + Avalonia (кроссплатформенный UI) → сборка под
**Windows и Linux** реальна, формулировка на сайте честна (приложение для
скачивания — «скоро»).
**Живой grep (curl) по всем страницам `/kb/*` и `/blog/*`:** нет `.msi`,
`API-токен`, `ОКП`, `Kaspi Magazin`, `Wildberries`, `Ozon`, `TLS 1.3`,
`100 000`, `триал`, `SIN EXCEPCION`. Обложка `/blog/quick-start` =
`/screenshots/catalog.webp` (скриншот продукта, без чужого фото).

Binary file not shown.

Before

Width:  |  Height:  |  Size: 728 KiB

After

Width:  |  Height:  |  Size: 728 KiB

View file

@ -5,7 +5,7 @@ figcaption{padding:8px 12px;font-size:13px;color:#475569;background:#f1f5f9} img
ul{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:14px 32px} li{margin:4px 0}
.ok{color:#16a34a} .no{color:#dc2626;font-weight:700} .dt{color:#64748b;font-size:12px}</style>
<h1>Исправления публичного сайта test.food-market.kz — круг 2 (2026-10-10)</h1>
<p>Проверка после деплоя (2026-10-10T20:27:26.438Z). Пройдено: 44/44.</p>
<p>Проверка после деплоя (2026-10-10T20:35:18.665Z). Пройдено: 44/44.</p>
<h2>Автопроверки</h2><ul><li class="ok">✓ консоль чистая: главная</li>
<li class="ok">✓ нет React #418 (hydration): главная</li>
<li class="ok">✓ консоль чистая: /pricing</li>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1 MiB

After

Width:  |  Height:  |  Size: 1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 76 KiB

After

Width:  |  Height:  |  Size: 78 KiB

View file

@ -19,7 +19,7 @@ const pages = [
{ file: 'home.png', title: 'Программа учёта и касса для розничных магазинов в Казахстане', sub: 'Касса с торговыми весами и импортом каталога. Бесплатно 90 дней.' },
{ file: 'pos.png', title: 'Касса для Windows и Linux с поддержкой торговых весов', sub: 'Офлайн-режим. Торговые весы и стандартное оборудование.' },
{ file: 'pricing.png', title: 'Прозрачные тарифы ALL MARKET', sub: 'От 5 000 ₸/мес. Все возможности на любом тарифе. 90 дней бесплатно.' },
{ file: 'import.png', title: 'Перенесите каталог за один клик', sub: 'Импорт каталога из файлов Excel и CSV. До 100 000 товаров. Бесплатно.' },
{ file: 'import.png', title: 'Перенесите каталог за один клик', sub: 'Импорт каталога из файлов Excel и CSV. Большие каталоги — за минуты. Бесплатно.' },
{ file: 'about.png', title: 'О ALL MARKET', sub: 'Программа учёта розничной торговли, созданная в Казахстане.' },
{ file: 'for-grocery.png', title: 'ALL MARKET для продуктового магазина', sub: 'Весовой товар, скоропорт, штрихкоды, учёт остатков.' },
{ file: 'for-pharmacy.png', title: 'ALL MARKET для аптеки', sub: 'Серии, сроки годности, рецептурный отпуск, контроль ЛП.' },

View file

@ -70,7 +70,7 @@ export default function BusinessTariffBuilder() {
<div>+{fmt.format(PER_WAREHOUSE)} ₸ / склад</div>
</div>
<a href={signupHref} className="block text-center mt-6 px-4 py-3 bg-brand text-white rounded-md font-semibold hover:bg-[#009305]">
Выбрать конфигурацию · {fmt.format(total)} ₸/мес
Выбрать конфигурацию · <span className="whitespace-nowrap">{fmt.format(total)} ₸/мес</span>
</a>
<p className="text-xs text-center text-slate-500 mt-2">90 дней бесплатно, без карты</p>
</div>

View file

@ -254,7 +254,7 @@ export default function SignupForm({ defaultPlan = 'start' }: Props) {
<div>
<label className="flex items-start gap-2 text-sm">
<input type="checkbox" checked={agree} onChange={(e) => setAgree(e.target.checked)} className="mt-1" />
<span>Я согласен с <a href="/legal/offer" className="text-brand underline">офертой</a> и <a href="/legal/privacy" className="text-brand underline">политикой обработки ПДн</a>.</span>
<span>Я согласен с <a href="/legal/offer" className="text-brand underline py-1">офертой</a> и <a href="/legal/privacy" className="text-brand underline py-1">политикой обработки ПДн</a>.</span>
</label>
{fieldErrors.agree && <p className="text-xs text-red-600 mt-1">{fieldErrors.agree}</p>}
</div>

View file

@ -7,8 +7,6 @@ description: "Если вы продаёте на развес, работа с
cover_image: /photos/blog-scales.jpg
---
# Касса с поддержкой весов — почему это важно
Если вы продаёте овощи, фрукты, мясо, сыр или орехи на развес — без подключения торговых весов касса теряет смысл. Кассир вводит вес и цену вручную, делает ошибки, очередь стоит. Десять секунд на каждую позицию складываются в минуты.
И именно работа с весами часто становится самым болезненным местом при настройке кассового оборудования: разные протоколы, COM-порты, драйверы под Windows, фирменные «модули интеграции» с подпиской.

View file

@ -69,7 +69,7 @@ order: 5
Да. Поддерживаем импорт каталога из файла Excel/CSV (название, штрихкод, цена, остаток, группа). Импорт из других систем учёта — в разработке (появится в личном кабинете). Подробнее — на странице [/import](/import).
### Какой объём каталога переносится?
До 100 000 товаров за один импорт. Каталог 10 000 позиций обычно переносится за 5–10 минут.
Импорт рассчитан на большие каталоги — тысячи позиций. Каталог на 10 000 позиций обычно переносится за несколько минут.
### А если у меня нестандартный экспорт?
Напишите на support@food-market.kz — поможем настроить импорт под ваш формат вручную, бесплатно.

View file

@ -16,19 +16,19 @@ order: 1
## Шаг 2. Загрузите каталог товаров (5 мин)
Три варианта:
Два варианта:
**Вариант А — импорт из другой системы учёта по API**: «Импорт» → «По API» → введите API-токен вашей текущей системы → запустите. [Подробнее](/import)
**Вариант А — импорт из файла Excel/CSV**: «Импорт» → «Из файла» → выберите .xlsx или .csv. Требуемые столбцы: название, штрихкод, цена. Остальные опциональны. [Подробнее](/import)
**Вариант Б — импорт из Excel/CSV**: «Импорт» → «Из файла» → выберите .xlsx или .csv. Требуемые столбцы: название, штрихкод, цена. Остальные опциональны.
**Вариант Б — вручную**: «Товары» → «Добавить». Подходит если у вас 10-50 товаров.
**Вариант В — вручную**: «Товары» → «Добавить». Подходит если у вас 10-50 товаров.
Импорт напрямую из других систем учёта — в разработке (появится в личном кабинете магазина).
## Шаг 3. Установите кассу (5 мин)
## Шаг 3. Подключите кассу (5 мин)
Приложение кассы для Windows — скоро (следите за разделом «Касса» в админке). После установки нужно будет ввести ключ организации из раздела «Касса».
Приложение кассы для Windows и Linux — скоро (следите за разделом «Касса» в админке). Когда касса будет доступна, вход — по адресу сервера и логину, затем PIN кассира: касса привяжется к точке продаж.
Подключите оборудование:
Оборудование, которое можно подключить:
- Электронные торговые весы — через RS-232 или USB-COM
- Сканер штрихкодов — USB
- Чековый принтер — USB или сетевой