Показать сообщение отдельно
Старый 28.05.2018, 16:44   #55
wizardpnz
Местный
 
Регистрация: 02.07.2011
Сообщений: 191
Сказал(а) спасибо: 93
Поблагодарили 105 раз(а) в 44 сообщениях
Вес репутации: 197
wizardpnz скоро придёт к известностиwizardpnz скоро придёт к известности
По умолчанию

я не смог его подключить через npm

собственно расскажу что я делаю
собираю в цикле объекты со сцены и записываю это в excel лист
и столкнулся с тем что нужны также данные из базы материалов
смог записать данные из базы в эксель внутри промиса
копаю дальше)))
расковырял где лежит соответствия материалов и их свойства из базы материалов

ATTEND_MAT_MAT таблица соответствий
MATERIAL таблица материалов вес цена артикул
MATERIAL_ADVANCE доп свойства материалов размер толщина и тд

выводит массу детали умножает площадь на массу из базы материалов
надо nodejs и установить модуль node-firebird и базис 10

Код:
var Firebird = require('node-firebird');


var options = {};
 
options.host = '127.0.0.1';
options.port = 14357;
options.database = 'D:/BAZIS10.fdb';//с кириллицей не разобрался
options.user = 'SYSDBA';
options.password = 'masterkey';
options.lowercase_keys = false; // set to true to lowercase keys
options.role = null;            // default
options.pageSize = 4096;        // default when creating database
 

Model.forEachPanel(function(panel) { 



  MaterialName = panel.MaterialName;
  MaterialArt = "";
  if (MaterialName.indexOf("\r") > 0) {
      MaterialArt = MaterialName.split("\r")[1];
      MaterialName = MaterialName.split("\r")[0]
  };

  panelS = panel.Contour.Width * panel.Contour.Height * 0.000001;
  panelS = panelS.toFixed(3)





Firebird.attach(options, function(err, db) {
 
  if (err) throw err;
 
db.query("select * from MATERIAL WHERE NAME_MAT = '" + MaterialName + "' AND ARTICLE = '" + MaterialArt + "'", function(err, result) {
    db.detach();
     system.log(MaterialName + ' ' + panelS * result[0].WEIGHT);
  });

});

});

system.log("+");
делаем всё что нужно внутри асинхронной функции
wizardpnz вне форума   Ответить с цитированием Вверх
3 пользователя(ей) сказали cпасибо:
Letos (28.05.2018), Ovsyanicov (28.05.2018), Vogel (25.12.2019)