Форум профессиональных мебельщиков PROMEBELclub

Форум профессиональных мебельщиков PROMEBELclub (http://promebelclub.ru/forum/index.php)
-   Базис-мебельщик. Скрипты (http://promebelclub.ru/forum/forumdisplay.php?f=273)
-   -   Обсуждение скриптов в Системе Базис (http://promebelclub.ru/forum/showthread.php?t=13614)

Uncle 25.05.2018 10:44

Цитата:

Сообщение от wizardpnz (Сообщение 456627)
это можно сделать в смете без скриптов

Это можно и в смете, но гораздо удобней это получать прямо в окне модели по выделению. А если такой скрипт повесить на горячую клавишу - то вообще дело двух секунд - выделил, нажал, получил..

Letos 25.05.2018 12:00

Цитата:

Сообщение от anb (Сообщение 454486)
Скрипт для подсчёта веса изделия без фурнитуры, т.е. выделяем блок или панели по отдельности. Получаем общий вес.

Можно сделать. Самый первый вопрос - откуда будет браться вес? Если считать вес только для объектов со свойством материал, то можно привязать коэффициент веса к имени материала (допустим, хранить коэффициенты в отдельном файле и добавлять/редактировать/удалять их по необходимости). Если более расширенная задача, то тут нужно знать, с чем связывать вес. И еще вопрос - что, кроме панелей должно учитываться при "взвешивании"?

wizardpnz 25.05.2018 12:23

Цитата:

Сообщение от Uncle (Сообщение 456636)
Это можно и в смете, но гораздо удобней это получать прямо в окне модели по выделению. А если такой скрипт повесить на горячую клавишу - то вообще дело двух секунд - выделил, нажал, получил..


где хранить данные что сколько весит ?
вести отдельный файл соответствия
или прилеплять вес к имени материала и парсить в скрипте
а потом в стандартных спецификациях удалять этот вес из имени материала?

Uncle 25.05.2018 12:31

Цитата:

Сообщение от wizardpnz (Сообщение 456650)
где хранить данные что сколько весит ?
вести отдельный файл соответствия
или прилеплять вес к имени материала и парсить в скрипте
а потом в стандартных распиловках удалять?

Тон Вашего поста позволяет сделать вывод о том, что лично Вы считаете глупостью вообще написание такого скрипта... Не так ли? Или все же хотите обсудить?

Цитата:

Сообщение от Letos (Сообщение 456648)
Самый первый вопрос - откуда будет браться вес?

Вопрос на вопрос : вообще, с помощью скриптов можно вытаскивать какие либо данные из Базы Материалов?

Letos 25.05.2018 13:01

Цитата:

Сообщение от Uncle (Сообщение 456651)
вообще, с помощью скриптов можно вытаскивать какие либо данные из Базы Материалов?

Из стандартных базисных функций нашел только Action.ChooseMaterial(), которая возвращает имя материала с артикулом. Остальное, думаю, только со вспомогательными модулями для работы с базой.

Uncle 25.05.2018 13:09

Нет ли возможности его использовать с помощью скрипта такие параметры из Базы Материалов: ?
1.В Карточке материала в Базе материалов есть поле Масса изделия. Оно предназначено для модуля Упаковка.

http://f23.ifotki.info/org/468a4e017...c309899210.png

2. Количество сопутствующего материала :

http://f23.ifotki.info/org/3e2dfce2a...c309899389.png

Tehnik 25.05.2018 13:14

Вложений: 1
Letos, в диналоге неплохая форма расчета веса фасада. Габариты панелей считывает, а дальше подстановка значения плотности, веса ручки. И небольшая всплывающая справка-памятка по плотностям разных материалов.
Так же можно обойтись без отдельного файла-базы по весам/плотностям?

Вложение 127484

Letos 25.05.2018 14:53

Цитата:

Сообщение от Uncle (Сообщение 456662)
В Карточке материала в Базе материалов есть поле Масса изделия. Оно предназначено для модуля Упаковка.

Интересно. Вы предлагаете использовать параметр массы - здравая идея. Но у меня возникает вопрос по поводу единиц измерения: для кв.м и шт. вроде всё ясно - масса, умноженная на кол-во единиц измерения = суммарная масса - а вот для погонных метров непонятно, как их считать. У профиля, например, есть параметр его длины, у тела по траектории тоже можно траекторию считать, а вот если кто-то сделал панель из погонного материала - по какой стороне длину считать?
P.S. Это, на самом деле, мелкий нюанс, на который, на данный момент, можно забить. Пойду смотреть, как получить доступ к базе

Uncle 25.05.2018 15:29

Цитата:

Сообщение от Letos (Сообщение 456676)
У профиля, например, есть параметр его длины, у тела по траектории тоже можно траекторию считать, а вот если кто-то сделал панель из погонного материала - по какой стороне длину считать?

Тут не так сложно как кажется...
Массу материала в Карточке материала пользователь вбивает сам исходя из удельной массы конкретного материала. Для листового материала - это масса одного м.кв , для погонного - масса погонного метра конкретного материала (профиля). Например профиль АГТ 1005 весит 1 кг (навскидку), а 1003 - 1,2 кг метр погонный. Это и вбивается в поле Масса. Если скрипт сможет вытянуть этот параметр, то и вес (массу) он должен считать именно конкретных материалов. Если пользователь сменил на модели сечение профиля, тем самым изменив его вес по сути, все равно скрипт должен показывать вес, взятый из карточки, так как если изменено сечение профиля или толщина плиты, то по сути - это уже другой материал и должны быть другие параметры в Базе материалов..
То есть скрипт берёт значение Массы из карточки и умножает его на площадь листового материала соответствующего листового материала или длину погонного.
В принципе, аналогично, если позволяет функционал скрипта, можно брать вес и конкретной фурнитуры. Например тот же конфирмат. В Карточке материла указана Масса материала "Конфирмат 6х50" . Скрипт считывает количество материала "Конфирмат 6х50", умножает на массу указанную в Карточке и выдает вес конфирматов в выделенной модели

wizardpnz 26.05.2018 16:41

Цитата:

Сообщение от Letos (Сообщение 456676)
Пойду смотреть, как получить доступ к базе


вот что нашёл может у кого то быстрее получится
https://www.npmjs.com/package/node-firebird

Код:

var Firebird = require('node-firebird');


var options = {};
 
options.host = '127.0.0.1';
options.port = 14357;
options.database = 'D:BM10.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
 
//select rdb$relation_name  from rdb$relations

Firebird.attach(options, function(err, db) {
 
  if (err)
      throw err;

  db.query('select rdb$relation_name  from rdb$relations', function(err, ttt) {
    // IMPORTANT: close the connection
    db.detach();
  });

});


Firebird.attach(options, function(err, db) {
 
  if (err)
      throw err;

  db.query('select *  from MATERIAL', function(err, result) {
    // IMPORTANT: close the connection
    db.detach();
  });

});

PS должен быть установлен node.js (и только базис 10 наверное)

Добавлено через 2 минуты
не могу найти клиент для firebird чтобы поковырять базу (((


Текущее время: 07:04. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
© 2007-2021 PROMEBEL