Документація / Калькулятори

Калькулятори

Будуйте калькулятори продуктів — параметри, матеріали, розрахунки за формулами, деталі виробництва та шаблони.

Огляд

Калькулятор — це самостійний розрахунковий рушій для одного продукту: набір параметрів, видимих клієнту (ширина, колір, напрямок відчинення, …), список матеріалів із каталогу вашого проєкту та розрахунки, які перетворюють значення параметрів на кількості матеріалів і ціну. Калькулятори використовуються всередині замовлень, можуть бути передані клієнтам за публічним посиланням або вбудовані як віджет на ваш сайт, а також опубліковані в міжпроєктній вітрині, щоб інші користувачі Configo могли їх скопіювати.

Відкрийте розділ Калькулятори в сайдбарі проєкту, щоб побачити список. Натисніть Додати, щоб створити новий, або значок редагування на наявному рядку, щоб його відкрити. Редактор поділено на сім вкладок: Налаштування, Матеріали, Параметри, Розрахунки, Деталі, Шаблони та Перегляд.

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

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

Загальні

  • Назва (обов'язково) — внутрішня назва, показана у списку калькуляторів. Клієнтам не показується.
  • Шаблон назви продукту — заголовок, що генерується для кожної конфігурації, наприклад Плісе 16мм $width x $height $color. Посилайтеся на будь-який параметр за його ID змінної ($width, $color, …); значення підставляється наживо в міру заповнення форми клієнтом. Звичайний текст навколо змінних зберігається як є — залишайте хоча б один неалфавітний символ (пробіл, ×, -) між двома змінними, інакше вони розпізнаються як один ідентифікатор ($widthx читається як одна змінна з ім'ям widthx, а не $width, за якою йде x).
  • Одиниця продукту — одиниця виміру одного готового сконфігурованого продукту (штука, комплект тощо). Це окрема величина від одиниць виміру окремих матеріалів, з яких він збирається.

Ціноутворення

Цей розділ визначає, як складається підсумкова ціна. Точне розуміння того, що робить кожне поле — і чого воно не робить, — допомагає уникнути подвійного обліку витрат.

  • Вартість робіт і Амортизація — фіксовані суми, що додаються один раз на сконфігуровану одиницю, понад підсумки за матеріалами. Обидва поля — це статичні числа, а не формули: вони не масштабуються за шириною, висотою, кількістю чи будь-яким значенням параметра і не можуть бути зроблені умовними.
  • Множник ціни — множить кожну ціну матеріалу (закупівельну, продажу та дилерську) на цей коефіцієнт. Використовуйте 1, щоб залишити ціни без змін; застосовуйте його для конвертації валют, якщо ваш каталог матеріалів оцінено в іншій валюті, ніж та, у якій ви продаєте.
  • Кількість знаків після коми — до скількох знаків після коми округляються розраховані ціни.

Три колонки ціни (закупівля / продаж / дилер) розраховуються з розбивки за матеріалами так:

Включає матеріали Включає вартість робіт + амортизацію Залежить від множника ціни
Закупівля ✅ (лише матеріали)
Продаж ✅ (лише матеріали)
Дилер ✅ (лише матеріали)

Два наслідки, про які варто знати до налаштування реального продукту:

  • Закупівельна ціна ніколи не включає вартість робіт чи амортизацію. Вона відображає лише базову собівартість за матеріалами. Якщо вам потрібно, щоб праця чи накладні витрати відображалися в закупівельній ціні/собівартості, вартість робіт/амортизація для цього не підійдуть — натомість доведеться додати рядок матеріалу (див. нижче).
  • Вартість робіт і амортизація додаються однаково і до ціни продажу, і до дилерської ціни — немає способу задати різну вартість праці для роздрібних і дилерських клієнтів через ці поля, і множник ціни їх не масштабує (він масштабує лише ціни матеріалів).

Моделювання праці й накладних витрат: два підходи, обирайте свідомо

Є два різні способи додати в калькулятор оплату праці/збирання/монтажу, і поводяться вони по-різному — якщо їх переплутати, можна випадково порахувати вартість двічі або, навпаки, недорахувати:

  1. Поле Вартість робіт / Амортизація (Налаштування → Ціноутворення) — найпростіший варіант. Використовуйте його, коли оплата праці — це фіксована сума на сконфігуровану одиницю, однакова для роздрібної та дилерської ціни, і не повинна масштабуватися за розміром чи залежати від якогось параметра (наприклад, пласка «плата за збирання»).

  2. Матеріал із формулою розрахунку — використовуйте цей варіант, коли вартість праці має:

    • масштабуватися за параметром (наприклад, $width + $height для часу різання), або
    • бути умовною (наприклад, нараховуватися лише при виборі певної опції), або
    • мати окремі закупівельну/роздрібну/дилерську ціни, або
    • з'являтися окремим рядком у таблиці деталізації матеріалів, видимій клієнту.

    Щоб змоделювати працю таким способом, додайте матеріал (наприклад, «Монтаж») з одиницею на кшталт шт або год, потім створіть для нього розрахунок із формулою, яка повертає кількість праці (часто просто константа 1 або значення, що залежить від умови). Оскільки це матеріал, він також масштабується множником ціни і (якщо задано) відсотком відходів, що зазвичай не те, що потрібно для праці, — встановіть відсоток відходів у 0 для трудових матеріалів.

Який би підхід ви не обрали, не використовуйте обидва для однієї й тієї ж статті витрат — це порахує її двічі.

Видимість

  • Можна копіювати — дозволяє скопіювати цей калькулятор до інших проєктів через міжпроєктну вітрину (див. Вітрина та публікація нижче).
  • Публічний доступ — дозволяє будь-кому з посиланням відкрити цей калькулятор без членства в проєкті. Потрібно для вбудовування публічного віджета.
  • Показувати деталізацію — чи показувати клієнту таблицю деталізації матеріалів (кількості та ціни за рядками), чи лише підсумкову суму. Вимкніть, якщо не хочете, щоб клієнти вираховували собівартість матеріалів із постатейного списку.

Матеріали

Вкладка Матеріали перелічує всі матеріали, які може використовувати цей калькулятор. Натисніть Додати, щоб прикріпити один:

  • Знайдіть наявний матеріал із каталогу матеріалів вашого проєкту за назвою та оберіть його з результатів, або
  • Введіть нову назву напряму — новий матеріал буде створено в каталозі вашого проєкту одразу після збереження тут.

У обох випадках ви редагуєте реальний запис матеріалу проєкту (назва, група, артикул, одиниця, закупівельна/ роздрібна/дилерська ціна, відсоток відходів і YAML-властивості) — зміни, зроблені тут, відображаються і на сторінці Матеріали проєкту, і навпаки.

Лише прикріплені тут матеріали доступні для використання на вкладках Параметри, Розрахунки та Деталі цього калькулятора. Матеріал, на який не посилається жоден Розрахунок чи Деталь, позначається невеликою позначкою «Не використовується в жодному розрахунку чи деталі» під його назвою — швидкий спосіб помітити забуті матеріали, перш ніж про них остаточно забудуть.

Параметри

Параметри — це поля введення, які заповнює клієнт. Кожен параметр має:

  • Назву — відображуваний текст поля.

  • ID змінної — як параметр згадується у формулах і шаблонах, наприклад $width. Повинен починатися з $ і не може бути змінений після створення параметра.

  • Ширину — скільки з 12 колонок сітки займає поле в макеті форми.

  • Тип — один із:

    Тип Опис
    Текст Однорядкове текстове поле.
    Багаторядковий текст Багаторядкове текстове поле.
    Число Числове поле з необов'язковими мін/макс/кроком.
    Список вибору Випадний список. Варіанти беруться з одного з кількох джерел (нижче).
    Список із зображенням Як список вибору, але варіанти відображаються клікабельними мініатюрами, взятими з групи матеріалів (зображення й назва кожного матеріалу стають варіантом).
    Список із залежністю Випадний список, доступні варіанти якого фільтруються за збігом властивостей матеріалу з поточним значенням одного або кількох інших параметрів — корисно для каскадних списків (наприклад, спершу обрати серію, а потім бачити лише доступні в цій серії кольори).
    Матеріали Дозволяє клієнту напряму обрати один або кілька матеріалів (з кількостями) із групи матеріалів або набору груп, замість того щоб кількість виводилася формулою.
  • Значення за замовчуванням — попередньо заповнене значення, показане при завантаженні або скиданні калькулятора.

Джерела опцій (тип «Список вибору»)

  • JSON / YAML — фіксований, вручну заданий список рядків-варіантів.
  • Група матеріалів — один варіант на кожну окрему назву матеріалу в обраній групі.
  • Властивість групи — один варіант на кожне окреме значення обраної властивості серед усіх матеріалів групи (читається з YAML-властивостей кожного матеріалу).
  • Властивість матеріалу — один варіант на кожне значення, знайдене в конкретній властивості конкретного матеріалу (корисно, коли властивість цього матеріалу сама є масивом варіантів, наприклад список доступних кольорів).

Використовуйте панель Перегляд внизу форми додавання/редагування параметра, щоб побачити, як саме параметр буде відображатися, ще до збереження.

Розрахунки

Розрахунки перетворюють значення параметрів на кількості матеріалів. Кожен розрахунок націлений на один матеріал (або, якщо залишити ціллю назву групи замість конкретного матеріалу, динамічно визначає матеріал цієї групи, що збігається з поточним вибором клієнта) і містить одну або кілька формул. Вибір матеріалу/групи підтримує пошук — вводьте текст для фільтрації замість прокручування всього каталогу.

  • Формули обчислюються за АБО — використовується перша формула, чиї умови виконані і чий код дає кількість більшу за 0; решта пропускаються. Додавайте кілька формул (до 15), щоб виразити «різна формула для різного сценарію» для того самого матеріалу — наприклад, одна формула довжини при виборі порогової опції, інша — коли її не обрано.
  • Умови всередині формули обчислюються за І (до 10 штук). Кожна умова порівнює поточне значення параметра із заданим значенням за допомогою оператора: дорівнює, не дорівнює, більше, менше, включає, не включає.
  • Код формули — це JavaScript-подібний вираз, що обчислюється в ізольованому воркері. Він може посилатися на будь-який параметр за його ID змінної ($width, $height, …) і використовувати вбудовані математичні помічники, доступні через кнопку ƒ: abs, round, ceil, floor, trunc, max, min, sin/cos/tan/asin/acos/atan/atan2, pow, sqrt, exp, log, log10, random та константи PI, E, LN2, LN10, SQRT2, SQRT1_2. Результат трактується як необхідну кількість цього матеріалу в його власній одиниці виміру.

Формула без умов застосовується завжди — так виражається «потрібно завжди, незалежно від вибору клієнта» (наприклад, фіксований комплект фурнітури). Нова формула за замовчуванням створюється без умов; натисніть І, щоб додати умову, лише якщо формулу дійсно потрібно обмежити значенням параметра.

Якщо умову залишено без обраної змінної, вона автоматично видаляється при збереженні, а не залишається мовчки робити формулу невиконуваною — так наполовину заповнена умова не може випадково занулити матеріал.

Поле коду формули перевіряється в міру введення: синтаксична помилка чи помилка посилання показується червоним прямо під полем (наприклад, «Unexpected token ')'»), тож не потрібно перемикатися на Перегляд, щоб виявити помилку.

Якщо у матеріалу задано відсоток відходів (вкладка Матеріали), розрахована кількість автоматично збільшується на цей відсоток перед оцінкою вартості.

Деталі

Деталі формують виробничий лист — список розкрою, за яким реально ріже цех, окремо від видимої клієнту деталізації матеріалів (яка лише підсумовує, скільки матеріалу витрачається, а не як він розкроюється). Кожна Деталь — це один окремий відріз: матеріал, розмір (одна формула на вимір — 1D, 2D або 3D) і Кількість, що показує, скільки однакових копій цього конкретного відрізу потрібно. Умови працюють за тією ж моделлю АБО-формул / І-умов, що й Розрахунки, з тією ж живою перевіркою синтаксису під полем формули.

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

  • Деталь 1: матеріал = рамний профіль, розмір = $width, Кількість = 2
  • Деталь 2: матеріал = рамний профіль, розмір = $height, Кількість = 2

Одна Деталь із Кількістю 1 і розміром $width описує лише один відрізок довжиною за шириною — вона мовчки викидає зі списку розкрою обидва відрізки за висотою. Щоразу, коли матеріал витрачається кількома по-різному розміченими (або по-різному лічильними) шматками на одиницю продукції, задавайте кожному окремому шматку свою Деталь.

  • Кількість та Одиниця товару — скільки однакових копій цього конкретного шматка ріжеться і в якій одиниці.
  • Тип розміру — 1D, 2D або 3D, визначає, скільки формул розміру потрібно заповнити (наприклад, лише ширину, або ширину × висоту).
  • Одиниця матеріалу та Одиниця розміру — одиниця, у якій виражається підсумковий вимір.

Вибір матеріалу підтримує пошук так само, як у Розрахунках. Щоб перевірити розраховані розміри й кількості перед збереженням, перемкніться на вкладку Перегляд — там, прямо під деталізацією матеріалів, наживо показується виробничий список за кожною Деталлю.

Шаблони

Шаблони — це іменовані придатні до повторного використання знімки значень параметрів (наприклад, «Стандарт 800×2100 Білий»), які клієнт може обрати з випадного списку, щоб миттєво заповнити всю форму замість ручного налаштування.

Щоб створити шаблон: натисніть Додати шаблон, заповніть форму калькулятора праворуч значеннями, які хочете зберегти, натисніть Зберегти як шаблон (це фіксує поточні значення), задайте назву в полі зверху, потім підтвердьте кнопкою Зберегти. Редагування наявного шаблону повторно застосовує його збережені значення у форму, щоб ви могли їх скоригувати й зберегти знову.

Перегляд

Живий, повністю робочий екземпляр калькулятора саме таким, яким його побачить клієнт, що використовує все, що зараз у чернетці (включно з незбереженими змінами). Використовуйте його після кожної зміни в Параметрах, Матеріалах чи Розрахунках, щоб переконатися, що кількості, умовні гілки та підсумкова ціна поводяться як очікується, — це найшвидший спосіб виявити невідповідну формулу чи забуту умову до збереження.

Якщо у калькулятора є будь-які Деталі, під деталізацією матеріалів показується таблиця виробничого списку з розрахованими матеріалом, розміром і кількістю для кожної підхожої Деталі — перераховується наживо в міру зміни значень параметрів на тій самій панелі, тож Деталі та Розрахунки можна звіряти пліч-о-пліч на тих самих вхідних даних.

Вітрина та публікація

  • Вітрина (Калькулятори → Вітрина у сайдбарі) — це каталог калькуляторів з усіх проєктів Configo, позначених як Можна копіювати. Звідти можна переглянути будь-який із представлених калькуляторів і Скопіювати його у свій проєкт як відправну точку, разом з усіма матеріалами.
  • Публічний віджет — коли у калькулятора увімкнено налаштування Публічний доступ, він стає доступним за публічною URL-адресою без входу в систему і може бути вбудований як iframe-віджет на зовнішній сайт. Віджет надсилає батьківській сторінці події calculated і addToCart через postMessage, тож зовнішній магазин може реагувати на зміни конфігурації та обробляти оформлення замовлення. Доступність вбудовування віджета залежить від вашого тарифу.

Поради

  • Віддавайте перевагу Вартості робіт над трудовим матеріалом щоразу, коли плата справді фіксована — це одне поле замість матеріалу + розрахунку, і менше того, що потрібно тримати синхронізованим.
  • Встановлюйте відсоток відходів у 0 для будь-якого матеріалу, який не є фізичним витратним товаром (праця, фіксовані збори, змодельовані як матеріали, тощо).
  • Червона помилка під полем формули ловить лише синтаксичні помилки й помилки посилань — вона не підкаже, що логіка формули невірна (наприклад, помилка на одиницю в умові). Використовуйте Перегляд, щоб переконатися в реальних розрахованих числах, а не лише в тому, що формула виконується без помилок.
  • Слідкуйте за позначкою «Не використовується в жодному розрахунку чи деталі» на вкладці Матеріали — вона ловить матеріали, які ви прикріпили, але забули підключити.