====== Клієнти ====== Довідник клієнтів: список з боргом і станом відносно ліміту, картка з лімітом боргу й карткою лояльності, оплата накладних прямо зі списку. Розділ **Довідники → Клієнти**. ===== Список ===== {{ :posplus:pro:dovidnyky:kliienty-01-spysok.png?direct |Список клієнтів}} Угорі — таблиця клієнтів з колонками **Клієнт** (ПІБ, під ним дрібно — телефон і email), **Ліміт** (сума або напис **БЕЗ ЛІМІТУ**, якщо борг дозволено без обмежень), **Борг** (з реєстру боргу клієнтів) і **Стан**. Список відсортований за ПІБ; видалені клієнти й службовий «клієнт за замовчуванням» у ньому не показуються. * **Стан** — позначка боргу: відсоток використаного ліміту (напр. «75%»), «перевищено», «без ліміту» (борг є, ліміту немає) або «переплата». Клієнти без боргу позначки не мають. * Над таблицею — перемикач **Усі** / **З боргом** / **Ліміт вичерпано** з лічильниками і поле **Пошук** (ПІБ, телефон або email). * Клік по рядку підвантажує внизу список документів обраного клієнта (фільтри — нижче). * Подвійний клік по рядку одразу відкриває картку клієнта в режимі редагування. Кнопки над списком: **Додати**, **Редагувати** (те саме робить подвійний клік по рядку), **Видалити** і **Оплата** (оплата обраної накладної, див. «Фільтри»). Перші три вимагають права редагування довідника клієнтів — без нього дія блокується повідомленням «Недостатньо прав для цієї дії.». **Видалення.** Кнопка **Видалити** прибирає запис із бази остаточно і без можливості відновлення, але тільки після двох перевірок: - поточний борг клієнта дорівнює нулю, інакше — «Неможливо видалити клієнта "X"! Поточний борг: N грн. Спочатку закрийте борг.»; - у клієнта немає жодного документа — продажів, повернень і чеків разом, інакше — «Неможливо видалити клієнта "X"! Є пов'язані документи (N).». Якщо обидві перевірки пройдено — підтвердження «Видалити клієнта "X"? Ця операція незворотна!» (Так/Ні), після чого — «Клієнта видалено». Внизу — **Документи** обраного клієнта: **Назва** (тип — Продаж / Повернення / Платіж), **Номер**, **Дата**, **Сума**, найновіші зверху; у шапці — скільки документів показано і на яку суму. Якщо клієнта не обрано — «Оберіть клієнта»; якщо за поточними фільтрами документів немає — «Дані відсутні». ===== Фільтри ===== Ряд кнопок у шапці списку документів фільтрує саме цей список документів (на список клієнтів угорі фільтри не впливають): * **Тип документа**: **Усі** (за замовчуванням), **Продаж**, **Повернення**, **Оплати**. * **Період**: **30 днів** (за замовчуванням), **Місяць**, **Попередній**, **Півроку**, **Рік**. * **Стан оплати** (діє тільки для продажів): **Несплачені** (за замовчуванням), **Сплачені**, **Будь-які**. Клік по будь-якій з цих трьох кнопок сам перемикає тип документа на «Продаж», навіть якщо перед тим був обраний інший тип. * **Оплата** (кнопка над списком клієнтів) — оплачує саме виділений рядок-продаж зі списку документів: відкриває діалог оплати, прив'язаний до конкретної накладної (з її сумою, оплаченим і залишком). Без вибраного рядка — «Оберіть накладну»; якщо список порожній («Дані відсутні») — «Немає документів для оплати». ===== Форма додавання/редагування ===== {{ :posplus:pro:dovidnyky:kliienty-02-forma.png?direct |Картка клієнта}} Модальна картка «Новий клієнт» / «Редагування клієнта»: * **ПІБ скорочено** (верхнє поле) — довільна коротка назва; при редагуванні підвантажується те саме значення, що й у полі **ПІБ повне**, але власного значення не зберігає — це лише джерело для автозаповнення поля нижче. * **ПІБ повне** — обов'язкове; порожнє блокує збереження повідомленням «Заповніть ПІБ клієнта!». Саме це значення пишеться в базу і показується в списку. Клік по порожньому полю копіює в нього значення з поля вище. * **Телефон** — маскований ввід у форматі (0XX)XXX-XX-XX. * **Email** — довільний текст. * **Адреса** — довільний текст. * **Тип цін** — випадний список активних типів цін; для нового клієнта за замовчуванням обирається тип **«Роздрібна»**, для наявного клієнта — раніше збережений тип (або перший зі списку, якщо збережений тип уже не активний). * **Платіжні реквізити** — багаторядковий довільний текст. * **Картка лояльності** — поле лише для читання; заповнюється тільки кнопкою **Генерувати** поруч, яка формує номер як «DC-» + цифри телефону без коду країни «38». Без заповненого телефону — повідомлення «Спершу введіть номер телефону клієнта.», і фокус переходить у поле телефону. * **Дозволити борг** — прапорець; коли знято, поле ліміту нижче стає неактивним і скидається на «0,00». * **Ліміт боргу · 0 = без обмежень** — активне лише при увімкненому **Дозволити борг**; нечислове значення блокує збереження повідомленням «Некоректне значення ліміту боргу!». Якщо залишити 0 при увімкненому прапорці, перед збереженням з'являється попередження, що 0 означає БЕЗ ОБМЕЖЕНЬ (клієнт зможе брати в борг будь-яку суму), з проханням або вказати конкретний ліміт, або зняти галочку **Дозволити борг** — і потрібне явне підтвердження, щоб зберегти саме необмежений борг. Кнопка **Зберегти** записує клієнта; якщо в полі картки лояльності вказано номер, якого ще немає в базі, — створює нову картку лояльності (з нульовим балансом, прив'язану до програми лояльності за замовчуванням, якщо така налаштована) і одразу прив'язує її до клієнта. Кнопка **Скасувати** закриває картку без збереження. ===== Оплата боргу ===== {{ :posplus:pro:dovidnyky:kliienty-03-oplata-borhu.png?direct |Вікно «Погашення боргу клієнтом»}} Діалог оплати «**Погашення боргу клієнтом**» (без прив'язки до конкретної накладної) приймає гроші в рахунок загального боргу обраного клієнта; потрібне право на створення оплати клієнта. Для оплати однієї конкретної накладної є кнопка **Оплата** (див. розділ «Фільтри» вище). Діалог відкривається як надходження коштів (зелена позначка «НАДХОДЖЕННЯ», кнопка підтвердження називається **Прийняти оплату**) і показує: * **Клієнт** — ім'я обраного клієнта, а під ним — **Поточний борг: N грн**. * **Сума** — попередньо заповнена повним поточним боргом клієнта; можна зменшити чи збільшити вручну (кнопка **Уся сума** повертає повний борг). Порожня або нульова сума блокує підтвердження повідомленням «Вкажіть коректну суму». * **Спосіб оплати** — випадний список: усі способи оплати, не призначені для каси, плюс готівка (щоб борг можна було погасити готівкою через сейф). Не обраний спосіб блокує підтвердження повідомленням «Оберіть спосіб оплати». * **Склад** — випадний список активних складів із попереднім вибором складу за замовчуванням. Не обраний склад блокує підтвердження повідомленням «Оберіть склад». * **Коментар** — довільний текст. Після **Прийняти оплату** сума розподіляється по несплачених накладних клієнта від найстарішої до найновішої (FIFO): кожна накладна позначається сплаченою повністю або частково, а спільний борг клієнта зменшується рівно на розподілену суму. Якщо внесено більше за весь борг клієнта — надлишок нікуди не зараховується, і показується попередження «Внесено на N грн більше, ніж загальний борг клієнта. Надлишок НЕ зараховано — зменште суму або оформіть решту окремо.». Далі проводиться реальний рух грошей (для готівки — поповнення сейфа; безготівкові способи рух каси не чіпають). Наостанок — запитання «Операцію збережено. Роздрукувати касовий ордер?»; підтвердження одразу відкриває друк прибуткового касового ордера. Після закриття діалогу список клієнтів і сума боргу в ньому оновлюються.