Користувальницькі налаштування

Налаштування сайту


posplus:pro:zvity:prodazhi-ohliad

Розбіжності

Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.

Посилання на цей список змін

Наступна ревізія
Попередня ревізія
posplus:pro:zvity:prodazhi-ohliad [2026/08/20 12:07] – создано - внешнее изменение 127.0.0.1posplus:pro:zvity:prodazhi-ohliad [2026/09/13 18:22] (поточний) – зовнішнє редагування 127.0.0.1
Рядок 1: Рядок 1:
 ======Продажі: огляд====== ======Продажі: огляд======
  
-Усі п'ять звітів цього розділу побудовані однаково: панель фільтрів → кнопка **Сформувати** будує HTML-звіт у вбудованому браузері, **Друк** друкує його, а **Експорт** повторює той самий запит і зберігає результат у XLSX-файл через спільний експортер (`TReportExporter.ExportQueryToXLSX`) — той самий механізм, що і в інших звітах PosPLUS. Період за замовчуванням скрізь — від початку поточного місяця до сьогодні; порожній результат показує «Немає продажів за обраний період» в самому звіті або «Немає даних для експорту» без створення файлу — при спробі експорту.+Усі п'ять звітів цього розділу побудовані однаково: панель фільтрів → кнопка **Сформувати** будує звіт у вбудованому браузері, **Друк** друкує його, а **Експорт** повторює ті самі дані і зберігає результат у XLSX-файл — так само, як і в інших звітах PosPLUS. Період за замовчуванням скрізь — від початку поточного місяця до сьогодні; порожній результат показує «Немає продажів за обраний період» в самому звіті або «Немає даних для експорту» без створення файлу — при спробі експорту.
  
 =====Продажі за період по касах/складах===== =====Продажі за період по касах/складах=====
Рядок 11: Рядок 11:
   * **Каса:** — випадний список активних кас, за замовчуванням «(всі)».   * **Каса:** — випадний список активних кас, за замовчуванням «(всі)».
  
-Звіт об'єднує два джерела: чеки каси (`document_cash_receipt`), згруповані по касі (або по складу, якщо у чека нема прив'язаної каси), і документи продажу (`document_sales`), згруповані по складу. Документи продажу додаються в підсумок, лише якщо фільтр **Каса** лишається «(всі)» — щойно обрано конкретну касу, звіт показує тільки її чеки. Для рядків-кас окремо рахуються суми оплати готівкою і безготівкою (з `document_cash_receipt_payments` за ознакою `is_cash` способу оплати); для рядків-складів (документи продажу) оплата не деталізується.+Звіт об'єднує два джерела: чеки каси, згруповані по касі (або по складу, якщо у чека нема прив'язаної каси), і документи продажу, згруповані по складу. Документи продажу додаються в підсумок, лише якщо фільтр **Каса** лишається «(всі)» — щойно обрано конкретну касу, звіт показує тільки її чеки. Для рядків-кас окремо рахуються суми оплати готівкою і безготівкою; для рядків-складів (документи продажу) оплата не деталізується.
  
 Картки підсумку: **Загальна виручка** (головна), **Документів**, **Середній чек**, **Готівка** і **Безготівка** (кожна — лише якщо сума більша нуля), **Знижки** (якщо є). Нижче — рейтинговий бар-чарт виручки по точках (один колір — це ранжування, не класифікація), далі таблиця: **#**, **Каса / Склад**, **Документів**, **Виручка**, **Знижки**, **Середній чек**, **Оплати** (кольорові мітки готівка/картка або «—», якщо оплата не деталізована), і підсумковий рядок «ВСЬОГО». Картки підсумку: **Загальна виручка** (головна), **Документів**, **Середній чек**, **Готівка** і **Безготівка** (кожна — лише якщо сума більша нуля), **Знижки** (якщо є). Нижче — рейтинговий бар-чарт виручки по точках (один колір — це ранжування, не класифікація), далі таблиця: **#**, **Каса / Склад**, **Документів**, **Виручка**, **Знижки**, **Середній чек**, **Оплати** (кольорові мітки готівка/картка або «—», якщо оплата не деталізована), і підсумковий рядок «ВСЬОГО».
  
-Експорт додає колонку **Джерело** («каса» / «продаж»), якої нема в таблиці самого звіту: **Точка/Каса**, **Джерело**, **К-сть**, **Сума**, **Знижки**, **Середній чек**, **Готівка**, **Картка**.+{{ :posplus:pro:zvity:sales-by-point-01.png?direct |Звіт «Продажі за період по касах/складах»}} 
 + 
 +Експорт додає колонку **Джерело** («каса» / «продаж»), якої нема в таблиці самого звіту: **Точка/Каса**, **Джерело**, **К-сть**, **Сума**, **Знижки**, **Середній чек**, **Готівка**, **Безготівка**.
  
 =====Деталізація продажів===== =====Деталізація продажів=====
Рядок 27: Рядок 29:
   * **Тип:** — «Всі продажі» / «Тільки фіскальні» / «Тільки нефіскальні», за замовчуванням «Всі продажі».   * **Тип:** — «Всі продажі» / «Тільки фіскальні» / «Тільки нефіскальні», за замовчуванням «Всі продажі».
  
-Кожен рядок таблиці — окрема позиція (товар) з документа, а не документ цілком. Джерела об'єднуються через UNION трьох таблиць позицій: продажі (`document_sales_items`), чеки каси (`document_cash_receipt_items`) і повернення (`document_cash_return_items`, кількість зі знаком мінус). Чеки показуються завжди (і додатково фільтруються ознакою фіскальності при вибраному **Тип**); документи продажу й повернення показуються, тільки коли **Тип** = «Всі продажі» — фільтр фіскальності діє лише на чеки, бо документи продажу ознаки `is_fiscal` не мають. Фільтр **Підприємець** приєднує чеки через прив'язку ФОП до каси (`catalog_cash_register_fop`), а продажі — через фіскальний чек продажу (`register_fiscal_receipts`); на повернення цей фільтр не поширюється.+Кожен рядок таблиці — окрема позиція (товар) з документа, а не документ цілком. Дані об'єднують три джерела: продажі, чеки каси і повернення (кількість зі знаком мінус). Чеки показуються завжди (і додатково фільтруються ознакою фіскальності при вибраному **Тип**); документи продажу й повернення показуються, тільки коли **Тип** = «Всі продажі» — фільтр фіскальності діє лише на чеки, бо документи продажу такої ознаки не мають. Фільтр **Підприємець** приєднує чеки через прив'язку ФОП до каси, а продажі — через фіскальний чек продажу; на повернення цей фільтр не поширюється.
  
-Рядки згруповано під роздільником документа (номер + дата); роздільник і клітинка документа для повернення виділені кольором і позначкою ↺. Для кожної позиції звіт рахує три величини — **Було** / **Продано** (для повернення — **+кількість**) / **Стало** — на основі поточного залишку (`register_stock_balance`) і руху товару після дати документа (`register_goods_movement`); від'ємне значення «Стало» виділяється як недостача. Колонки: **Документ**, **Товар** (+артикул), **Характеристика**, **Од.**, **Було**, **Продано**, **Стало**, **Ціна**, **Сума**, **Знижка**, **Собівартість** (з `register_current_prices` за типом ціни COST).+Рядки згруповано під роздільником документа (номер + дата); роздільник і клітинка документа для повернення виділені кольором і позначкою ↺. Для кожної позиції звіт рахує три величини — **Було** / **Продано** (для повернення — **+кількість**) / **Стало** — на основі поточного залишку і руху товару після дати документа; від'ємне значення «Стало» виділяється як недостача. Колонки: **Документ**, **Товар** (+артикул), **Характеристика**, **Од.**, **Було**, **Продано**, **Стало**, **Ціна**, **Сума**, **Знижка**, **Собівартість**.
  
 Картки підсумку: **Позицій**, **Сума продажів**, **Знижки**, **Собівартість**, **Прибуток** (головна картка — зелена, якщо не від'ємна, інакше червона). Картки підсумку: **Позицій**, **Сума продажів**, **Знижки**, **Собівартість**, **Прибуток** (головна картка — зелена, якщо не від'ємна, інакше червона).
 +
 +{{ :posplus:pro:zvity:sales-detail-01.png?direct |Звіт «Деталізація продажів»}}
  
 Експорт не включає залишки «було/стало» (вони обчислюються тільки для відображення, це не власні дані документа): **Документ**, **Дата**, **Тип**, **Товар**, **Артикул**, **Характеристика**, **Од.**, **К-сть**, **Ціна**, **Сума**, **Знижка**, **Собівартість**. Експорт не включає залишки «було/стало» (вони обчислюються тільки для відображення, це не власні дані документа): **Документ**, **Дата**, **Тип**, **Товар**, **Артикул**, **Характеристика**, **Од.**, **К-сть**, **Ціна**, **Сума**, **Знижка**, **Собівартість**.
Рядок 45: Рядок 49:
   * **По:** — сортування «Сумі» / «Кількості», за замовчуванням «Сумі».   * **По:** — сортування «Сумі» / «Кількості», за замовчуванням «Сумі».
  
-Дані об'єднують позиції продажів (`document_sales_items`) і чеків (`document_cash_receipt_items`), згруповані по товару й характеристиці, із собівартістю з `register_current_prices` (тип ціни COST). Рейтинг: **#**, **Товар** (+артикул), **Характеристика**, **Категорія**, **К-сть**, **Сума**, **Знижка**, **Собівартість**, **Прибуток** (сума мінус собівартість, з відсотком маржі) і бар-індикатор популярності (довжина відносно найбільшого значення в списку). Перші 3 позиції рейтингу підсвічені зеленим баром, з 4-ї по 10-ту — жовтим, решта — нейтральним сірим.+Дані об'єднують позиції продажів і чеків, згруповані по товару й характеристиці. Рейтинг: **#**, **Товар** (+артикул), **Характеристика**, **Категорія**, **К-сть**, **Сума**, **Знижка**, **Собіварт.**, **Прибуток** (сума мінус собівартість, з відсотком маржі) і бар-індикатор популярності (довжина відносно найбільшого значення в списку). Перші 3 позиції рейтингу підсвічені зеленим баром, з 4-ї по 10-ту — жовтим, решта — нейтральним сірим.
  
 Картки підсумку: **Позицій**, **Сума**, **Кількість**. Картки підсумку: **Позицій**, **Сума**, **Кількість**.
 +
 +{{ :posplus:pro:zvity:top-products-01.png?direct |Звіт «Топ товарів по продажах»}}
  
 Експорт: **Товар**, **Артикул**, **Характеристика**, **Категорія**, **Кількість**, **Сума**, **Знижка**, **Собівартість** (без колонки прибутку). Експорт: **Товар**, **Артикул**, **Характеристика**, **Категорія**, **Кількість**, **Сума**, **Знижка**, **Собівартість** (без колонки прибутку).
Рядок 59: Рядок 65:
   * **Групувати:** — «По днях» / «По складах» / «По касирах», за замовчуванням «По днях».   * **Групувати:** — «По днях» / «По складах» / «По касирах», за замовчуванням «По днях».
  
-Джерела — чеки каси і документи продажу, об'єднані й згруповані за обраним виміром (дата чека/продажу; склад; касир з `catalog_users` за `cashier_id`). Середній чек групи — це сума продажів групи, поділена на кількість чеків/документів групи (а не середнє арифметичне окремих середніх); так само рахується і загальний середній чек. Таблиця: **#**, назва групи (заголовок колонки — Дата / Склад / Касир, залежно від групування), **Чеків**, **Виручка**, **Серед. чек** (зелений, якщо не нижче загального середнього, інакше жовтий), **Мін.**, **Макс.**, і бар з пунктирною лінією-маркером на рівні загального середнього чека — для візуального порівняння рядка з середнім.+Джерела — чеки каси і документи продажу, об'єднані й згруповані за обраним виміром (дата чека/продажу; склад; касир). Середній чек групи — це сума продажів групи, поділена на кількість чеків/документів групи (а не середнє арифметичне окремих середніх); так само рахується і загальний середній чек. Таблиця: **#**, назва групи (заголовок колонки — Дата / Склад / Касир, залежно від групування), **Чеків**, **Виручка**, **Серед. чек** (зелений, якщо не нижче загального середнього, інакше жовтий), **Мін.**, **Макс.**, і бар з пунктирною лінією-маркером на рівні загального середнього чека — для візуального порівняння рядка з середнім.
  
 Картки підсумку: **Середній чек** (головна), **Виручка**, **Кількість чеків**, **Мін. серед. чек**, **Макс. серед. чек**. Картки підсумку: **Середній чек** (головна), **Виручка**, **Кількість чеків**, **Мін. серед. чек**, **Макс. серед. чек**.
 +
 +{{ :posplus:pro:zvity:avg-check-01.png?direct |Звіт «Середній чек»}}
  
 Експорт: перша колонка називається за обраним групуванням (Дата / Склад / Касир), далі — **Сума**, **К-сть чеків**, **Середній чек**, **Мін. чек**, **Макс. чек**. Експорт: перша колонка називається за обраним групуванням (Дата / Склад / Касир), далі — **Сума**, **К-сть чеків**, **Середній чек**, **Мін. чек**, **Макс. чек**.
Рядок 72: Рядок 80:
   * **Склад:** — за замовчуванням «(всі)».   * **Склад:** — за замовчуванням «(всі)».
  
-Групування по касирах (`catalog_users.full_name` за `cashier_id`) з трьох джерел: чеки каси, документи продажу і повернення (`document_cash_return` — рахується лише кількість повернень, без суми). Горизонтальний бар-чарт: касир з найбільшою виручкою підсвічений зеленим, решта — акцентним кольором; усередині бару написом — кількість чеків. Перший рядок таблиці (лідер за виручкою) позначений міткою «Лідер» і кольоровим акцентом зліва. Колонки: **#**, **Касир**, **Чеків**, **Виручка**, **Знижки**, **Серед. чек** (зелений/жовтий залежно від тренду відносно загального середнього), **Частка, %** (від загальної виручки), **Повернень** (число або «—», якщо повернень не було).+Групування по касирах з трьох джерел: чеки каси, документи продажу і повернення (рахується лише кількість повернень, без суми). Горизонтальний бар-чарт: касир з найбільшою виручкою підсвічений зеленим, решта — акцентним кольором; усередині бару написом — кількість чеків. Перший рядок таблиці (лідер за виручкою) позначений міткою «Лідер» і кольоровим акцентом зліва. Колонки: **#**, **Касир**, **Чеків**, **Виручка**, **Знижки**, **Серед. чек** (зелений/жовтий залежно від тренду відносно загального середнього), **Частка, %** (від загальної виручки), **Повернень** (число або «—», якщо повернень не було), **Зарплата**, **ЄСВ** і **Вартість, %** (яка частка виручки касира пішла на оплату його праці разом з ЄСВ).
  
 Картки підсумку: **Загальна виручка** (головна), **Чеків**, **Середній чек**, **Касирів**, **Знижки** (якщо є). Картки підсумку: **Загальна виручка** (головна), **Чеків**, **Середній чек**, **Касирів**, **Знижки** (якщо є).
  
-Експорт: **Касир**, **Сума продажів**, **Знижки**, **К-сть чеків**, **Середній чек**, **Повернення**.+{{ :posplus:pro:zvity:sales-by-cashier-01.png?direct |Звіт «Продажі по касирах»}} 
 + 
 +Експорт: **Касир**, **Сума продажів**, **Знижки**, **К-сть чеків**, **Середній чек**, **Повернення**, **Зарплата**, **ЄСВ**.
  
posplus/pro/zvity/prodazhi-ohliad.1787227678.txt.gz · Востаннє змінено: повз 127.0.0.1