Skip to content

Основні розділи

Стандарт YAML

Починаючи з версії 3.0 вся конфігурація тримається у форматі YAML. По стандарту документ YAML має починатися з трьох дефісів і закінчуватися трьома крапками. У всьому іншому це інтуїтивно зрозуміла ієрархічна структура. Немає змісту тут описувати весь стандарт, але проте невалідний YAML на тому чи іншому етапі програма відкине. Щоб перевірити формат конфіга, рекомендую використовувати або утиліту yamllint в лінуксі, або сайт https://yamllint.com.

Кодування YAML як у файлів так і в записів у базі даних - UTF-16. Це означає що без відповідних перетворень замість кирилиці користувач буде бачити спецсимволи. Якщо цікаво - спробуй вказати якийсь шлях що містить кирилицю у Лаунчері і потім глянути launcher.yaml. У "Редакторі конфігурації" в Складі кирилиця звісно відображається правильно.

Логічна ієрархія

Вся конфігурація тримається в таблиці S_BLOCKYAML. Кожна програма має свій стандартний конфіг (він має значення default у стовпчику BLOCK_NAME) що недоступний для редагування через склад.

Окрім стандартного, у кожної програми може бути ще два додаткових блоки конфігурації котрі перезаписують стандартні - company та user (бесіда все ще про значення у стовпчику BLOCK_NAME). У них зберігаються відповідно спільні налаштування для всієї компанії і індивідуальні налаштування користувача. Для user вказується додатковий параметр, що зберігається у стовпчику BLOCK_PARAM. Для більшості програм це ІД користувача або unregistered для конфігурації програми до реєстрації (типово в такому стані всі кнопки і всі менюшки заховані). Для каси у цьому стовпчику вказується ІР адреса клієнта, бо по-перше в касі користувачі працюють не реєструючись, а по-друге на різних комп'ютерах у кас як правило різні налаштування.

Конфіги company та user включають лише ті значення, що відрізнаються від default. Конфіг company можна створити лише вручну через Склад або ІБЕксперт; користувач його не може змінити. Конфіг user автоматично перезаписується при кожнму закриванні програми, тобто всі налаштування що користувач поміняв для себе (фактично мова йде про ширини, порядок, і видимість стовпчиків та полів пошуку у всіх грідах у програмі)

Генерування дефолтної конфігурації

Якщо з якихось причин у базі пошкоджено дефолтний конфіг якоїсь програми, його можна відновити двома способами. Якщо програма все ще запускається, тоді після запуску (і реєстрації якщо треба) треба натиснути комбінацію клавіш Ctrl+F2. Програма згенерує блоки default та user - unregistered і завершить роботу. Якщо програма навіть не запускається через пошкоджений конфіг (вилітає при запуску, видає помилки, тощо) - тоді її можна запустити з параметром genconfig=True (наприклад Sklad.exe genconfig=True). В такому випадку також буде наново згенерована конфігурація після чого програма завершить роботу.