Сделал скрипт который цепляет на автомате базу данный тянет от туда всю инфу и создаёт Json. Руками ничего указывать не нужно. По сути можно прилепить к любому скрипту "ракрой, смета, и.т.д. У меня в раскрое применён что бы тащить формат листа например.
Что важно файл bz_lib должен лежать в корне папки scripts. после запуска update создастся папка BZ DATA c FDB базой внутри.
Ну и чуть более грамотное описании работы от Агента
Принцип работы под капотом:
* Автопоиск базы: Движок самостоятельно лезет в системные настройки БАЗИСа (файл BaseSettings.xml в системной папке %APPDATA%) и забирает оттуда прописанный путь к текущей базе материалов. Никаких ручных указаний путей и поиска файлов на диске не требуется.
* Прямое подключение: Скрипт сам находит штатную утилиту isql.exe, которая устанавливается вместе с БАЗИСом, и через нее устанавливает прямое соединение с Firebird.
* Оптимизированная выгрузка: Чтобы программа не падала и не зависала от обработки мегабайтов текста, скрипт не пытается склеивать данные сам. Он отправляет SQL-запрос, а утилита сразу отдает информацию в виде готовых строк формата JSON.
* Локальное кэширование: Вся номенклатура со всеми параметрами (цены, габариты, толщины, направления текстуры, артикулы) сохраняется в легкий локальный файл bz_materials.json.
* Мгновенное чтение: Ваши рабочие инструменты (Раскрой, Смета, Подготовка) больше не обращаются к медленной базе Firebird на каждый чих. Они за доли секунды считывают готовый JSON-справочник, безошибочно находя нужный материал по связке «наименование + артикул».
* Контроль актуальности: Во время выгрузки в JSON вшивается цифровой «отпечаток» базы (общее количество записей, последний ID и сумма всех цен). Если технолог добавит в базу новый материал, скрипт заметит расхождение отпечатков и сам предложит обновить справочник в один клик.
Чтобы прикрутить этот механизм к любому своему скрипту, достаточно положить файл библиотеки bz_lib.js в общую папку скриптов и вставить в начало вашего кода стандартный блок подключения через system.include. После этого вы получаете полный доступ ко всей базе напрямую из своего интерфейса.