Форум профессиональных мебельщиков PROMEBELclub
 
PROMEBELclub - Форум для мебельщиков: конструкторов, дизайнеров, мастеров, технологов и всех, кто имеет отношение к производству и изготовлению мебели. Программы для конструирования и дизайна мебели. Мебельная литература и обучающие пособия.
 
 

Вернуться   Форум профессиональных мебельщиков PROMEBELclub > Программы для мебельщиков > Программы для конструирования и дизайна мебели > Система БАЗИС > Базис-мебельщик. Скрипты

Меню

Маркет


Ответ
 
Опции темы Опции просмотра
Старый 06.06.2017, 08:56   #1
БАЗИС 10 - Скрипты
systland
VIP
Регистрация: 30.10.2007
Адрес: Москва
Сообщений: 565

Сказал(а) спасибо: 303
Поблагодарили 451 раз(а) в 189 сообщениях
Версия для печати Отправить по электронной почте
systland systland вне форума 06.06.2017, 08:56
Рейтинг: ()

Обмениваемся , задаем вопросы, отвечаем... Все, что касается скриптов в БМ 10 в этой теме.
__________________


Последний раз редактировалось systland; 26.12.2017 в 11:52..
Просмотров: 421775
Ответить с цитированием Вверх
Старый 26.06.2017, 10:48   #2
AndrianoS
Пользователь
 
Регистрация: 21.08.2009
Адрес: Санкт-Петербург
Сообщений: 59
Сказал(а) спасибо: 73
Поблагодарили 15 раз(а) в 9 сообщениях
Вес репутации: 186
AndrianoS на пути к лучшему
По умолчанию

Здравствуйте!
Как можно перебрать все объекты?
В базис 9 данный код работал.Сейчас,я так понимаю, видит только внешние объекты,вложенные нет.Если есть слои в проекте,то останавливается на слоях.
Возможно нужно рекурсивно обходить,только как,пока не понимаю.

Скрытый текст


//Перебираем все объекты
Model.forEach (function(obj) {
alert(obj.Name);
if (obj.Name[0]=="#") {
StartEditing(obj);
obj.Selected = true;
if (obj.Name[1]=="M" || obj.Name[3]=="M") {
create_article_milan(obj);
obj.Name = name_block;
// Задаем артикул для серии Quadro
} else if (obj.Name[1]=="Q" || obj.Name[3]=="Q") {
create_article_Quadro(obj);
obj.Name = name_block;
// Задаем артикул для ателье
} else if (obj.Name[1]=="A") {
create_article_Atelie(obj);
obj.Name = name_block;
}

}

});
[свернуть]
AndrianoS вне форума   Ответить с цитированием Вверх
Старый 26.06.2017, 11:44   #3
AndrianoS
Пользователь
 
Регистрация: 21.08.2009
Адрес: Санкт-Петербург
Сообщений: 59
Сказал(а) спасибо: 73
Поблагодарили 15 раз(а) в 9 сообщениях
Вес репутации: 186
AndrianoS на пути к лучшему
По умолчанию

Получилось решить самостоятельно.Вот решение,как перебрать объекты
Решение через рекурсию:

Скрытый текст


Код:
Recurse(Model);

 function Recurse(List) {
 for (var i = 0; i < List.Count; i++) {
        Obj = List[i];
        if (Obj.List){
            call_nameObj(Obj);
            Recurse(Obj);
        }
        else {
            call_nameObj(Obj);
        }
    }
}
[свернуть]
AndrianoS вне форума   Ответить с цитированием Вверх
5 пользователя(ей) сказали cпасибо:
AlexBolton (26.06.2017), LeoAN (08.05.2019), maxgmv (26.06.2017), v22884 (31.08.2018), wizardpnz (17.11.2018)
Старый 26.06.2017, 19:14   #4
IStiv
Пользователь
 
Регистрация: 02.12.2016
Сообщений: 84
Сказал(а) спасибо: 21
Поблагодарили 55 раз(а) в 27 сообщениях
Вес репутации: 108
IStiv скоро придёт к известности
По умолчанию

Всем привет.
Возникла необходимость переноса скриптов на Базис 10.

1.node.js надо ставить или оно в комплекте? или оно надо только если использовать TypeScript ,debug и модули от node?

2. почему в комплекте поставке Базис 10 не работающие скрипты ?(здесь ведь есть представители Базиса?). в частности require же в node по другому работает.

3.Документация по скриптам актуализирована?(насколько я понял нет). Будет ли это сделано в ближайщее время?
Господа из Базиса Вы делаете хороший продукт. Но без документации это пипец просто ( да я слышал что "скрипты поставляются как есть"), но зачем тратить время людей - напишите документацию по человечески. Нашел аккаунт на GitHub - там тоже какие то обрывки информации. Хорошо хоть инструкцию как настроить debug выложили. Правда на этот GitHub ссылок как бы нигде особо нет. В Базис 9 свойства объектов по перебору вычислял , сейчас еще веселее видимо будет. Извините если что вообщем. Хочется просто работать, а не искать и догадываться как тут у Вас все устроено, и не "выковыривать" свойства объектов перебором.
IStiv вне форума   Ответить с цитированием Вверх
6 пользователя(ей) сказали cпасибо:
Старый 28.06.2017, 11:42   #5
Letos
Консультант
 
Регистрация: 28.06.2017
Сообщений: 555
Сказал(а) спасибо: 127
Поблагодарили 1,029 раз(а) в 366 сообщениях
Вес репутации: 343
Letos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордится
По умолчанию

Цитата:
Сообщение от IStiv Посмотреть сообщение
1.node.js надо ставить или оно в комплекте? или оно надо только если использовать TypeScript ,debug и модули от node?
Весь движок скриптов в библиотеке node.dll. Так что Node.js устанавливать не надо.

Цитата:
Сообщение от IStiv Посмотреть сообщение
2. почему в комплекте поставке Базис 10 не работающие скрипты ? в частности require же в node по другому работает.
Со слов разработчика, system.require был попыткой сымитировать стандартный require, попытка не удалась, но (непонятно почему) было написано несколько примеров с ним. Вместо него лучше использовать system.include, с обновлением system.require будет работать, но не будет в подсказке.
В самом Node.js require работает иначе и работает с т.н. "модулями", для которых нужен свой стиль написания (возможно, скоро на гитхабе это будет описано)

Цитата:
Сообщение от IStiv Посмотреть сообщение
3.Документация по скриптам актуализирована?
Нет, но надеюсь, в ближайшее время обновится.
Letos вне форума   Ответить с цитированием Вверх
4 пользователя(ей) сказали cпасибо:
andronf (29.06.2017), maxgmv (29.06.2017), Ovsyanicov (28.06.2017), wizardpnz (21.05.2018)
Старый 29.06.2017, 19:02   #6
IStiv
Пользователь
 
Регистрация: 02.12.2016
Сообщений: 84
Сказал(а) спасибо: 21
Поблагодарили 55 раз(а) в 27 сообщениях
Вес репутации: 108
IStiv скоро придёт к известности
По умолчанию

Цитата:
Сообщение от Letos Посмотреть сообщение
Весь движок скриптов в библиотеке node.dll. Так что Node.js устанавливать не надо.
Спасибо за ответы.По возможности прошу еще ответить на вопросы.

1.этот "весь движок" . к нему можно подключать модули от node ? npm и все такое? если "да" то как?

2. на гитхаб есть свежий пример использования модуля "fs" как он подключен? или часть модулей защиты в .dll? (хотелось бы толковый обзор что да как там у Вас реализовано..)

3. Так как же теперь использовать require? очень хотелось бы инструкцию. (в коде много строк только require и спасал..)

4. Как теперь организовывать работу с COM объектами? (пример (который старый в новом Базисе) конечно же работает криво). в node надо отдельный модуль подключать для COM . Или минимальный пример бы как записать даннные в ячейку Exel через COM (данные из Базиса).

Вопросов вообщем много,а примеров и документации нет. Спасибо если внесете какую то ясность.
IStiv вне форума   Ответить с цитированием Вверх
Старый 30.06.2017, 12:05   #7
Letos
Консультант
 
Регистрация: 28.06.2017
Сообщений: 555
Сказал(а) спасибо: 127
Поблагодарили 1,029 раз(а) в 366 сообщениях
Вес репутации: 343
Letos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордится
По умолчанию

Прежде всего: Давайте, чтобы не засорять тему, все вопросы по поводу "что нового и как этим пользоваться" задавать мне в личные сообщения или на почту, а я буду править вики на гитхабе.

Цитата:
Сообщение от IStiv Посмотреть сообщение
1.этот "весь движок" . к нему можно подключать модули от node ? npm и все такое? если "да" то как?
Этот "весь движок" основан целиком и полностью на Node.js (правда, относительно старой версии). Так что дополнительные модули подключать можно, надеюсь сегодня или в выходные напишу инфу на гитхабе (ибо объяснять тут, думаю, долго). Но чтобы устанавливать модули из npm, необходимо установить Node.js

Цитата:
Сообщение от IStiv Посмотреть сообщение
2. на гитхаб есть свежий пример использования модуля "fs" как он подключен? или часть модулей защиты в .dll? (хотелось бы толковый обзор что да как там у Вас реализовано..)
Все стандартные модули Node.js (fs, path, net и т.д.) зашиты внутри библиотеки. Внешние (из npm) придется устанавливать вручную.

Цитата:
Сообщение от IStiv Посмотреть сообщение
3. Так как же теперь использовать require? очень хотелось бы инструкцию. (в коде много строк только require и спасал..)
Стандартный require в ноде подключает модули (у модуля немного другая структура кода). Как я понял, речь идет о функции system.require - она работает так же, как system.include и просто выполняет подключаемый файл, добавляя из него все переменные и функции.

Цитата:
Сообщение от IStiv Посмотреть сообщение
4. Как теперь организовывать работу с COM объектами? (пример (который старый в новом Базисе) конечно же работает криво). в node надо отдельный модуль подключать для COM . Или минимальный пример бы как записать даннные в ячейку Exel через COM (данные из Базиса).
Не совсем понял вопроса. Из всех примеров нашел только работу с вордом - он вроде нормально работает. По поводу экселя - немного погуглил, нашел инфу как все сделать, но не получилось - похоже индексные свойства вызывать не хочет. Думаю, что средствами Базиса запись в эксель сделать пока не получится.
Letos вне форума   Ответить с цитированием Вверх
5 пользователя(ей) сказали cпасибо:
AndrianoS (30.06.2017), B.Ruslan_87 (19.10.2022), IStiv (01.07.2017), Kudesnick (30.06.2017), maxgmv (30.06.2017)
Старый 30.06.2017, 13:25   #8
AndrianoS
Пользователь
 
Регистрация: 21.08.2009
Адрес: Санкт-Петербург
Сообщений: 59
Сказал(а) спасибо: 73
Поблагодарили 15 раз(а) в 9 сообщениях
Вес репутации: 186
AndrianoS на пути к лучшему
По умолчанию

Не знаю как у других,у меня одно большое КАК?Вышли новые инструменты,новые возможности.Что это такое,как настраивать,как устанавливать,как с этим работать и что это дает.Если есть возможность записать видео,то это было бы очень круто.
AndrianoS вне форума   Ответить с цитированием Вверх
Старый 21.07.2017, 14:38   #9
Klim Bassenger
Пользователь
 
Аватар для Klim Bassenger
 
Регистрация: 15.02.2010
Сообщений: 52
Сказал(а) спасибо: 13
Поблагодарили 30 раз(а) в 15 сообщениях
Вес репутации: 183
Klim Bassenger на пути к лучшему
По умолчанию

function ArrangePositions() {
if (Action.Control.Owner.Owner.dpModelTree.Visible == False) {
Action.Control.Owner.Owner.a3ModelTreeExecute();
}
if(confirm('Будет выполнена расстановка позиций. Продолжить?')) {
if (Action.Control.Owner.Owner.dpModelTree.Visible == True) {
Action.Hint = 'Расстановка позиций...';
Action.Control.Owner.Owner.dpModelTree.Controls[1].BtnArrangeClick();
return True;
}
else {
alert('Закрыт инструмент <Структура модели>!');
}
} else {
alert('Отменено пользователем!');
}
return False;
}

У меня тоже перестал работать скрипт, который постоянно использую.
Пишет ошибку:
TypeError: Cannot read property 'Visible' of undefined
(см. картинку).
Может есть тут гуру скриптов, которые смогут помочь "подкрутить скрипт".
Миниатюры
Ошибка.jpg  
__________________
Если бы Бог хотел, чтобы мы думали только головой, он бы сделал нас колобками.
Klim Bassenger вне форума   Ответить с цитированием Вверх
Пользователь сказал cпасибо:
Patuk1983 (10.11.2022)
Старый 21.07.2017, 15:01   #10
Klim Bassenger
Пользователь
 
Аватар для Klim Bassenger
 
Регистрация: 15.02.2010
Сообщений: 52
Сказал(а) спасибо: 13
Поблагодарили 30 раз(а) в 15 сообщениях
Вес репутации: 183
Klim Bassenger на пути к лучшему
По умолчанию

На самом деле немного странное решение с новым движком для скриптов. У многих, я знаю, почти вся работа завязана на скриптах.
Им теперь получается всё переписывать заново? Вроде бы никто не писал, что что-то не устраивает. Зачем были эти нововведения, когда ТП отвечает, мол мы возможность скриптов сделали - а дальше сами думайте как с этим работать.
Может есть какой-то шаблон по переводу скриптов на новый движок? Может переменный как-то по другому объявлять или синтаксис поменять....
__________________
Если бы Бог хотел, чтобы мы думали только головой, он бы сделал нас колобками.
Klim Bassenger вне форума   Ответить с цитированием Вверх
2 пользователя(ей) сказали cпасибо:
potomu4to (11.08.2017), v22884 (02.09.2017)
Ответ

Нижняя навигация
Вернуться   Форум профессиональных мебельщиков PROMEBELclub > Программы для мебельщиков > Программы для конструирования и дизайна мебели > Система БАЗИС > Базис-мебельщик. Скрипты

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Базис-Мебельщик 10 systland Базис-мебельщик 10 1264 13.03.2024 22:48
БАЗИС-Мебельщик 7.0 Shadow Базис-мебельщик 7 2230 29.11.2019 10:37
Базис-мебельщик JavaScript ran Ищу работу 0 09.05.2014 10:08


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


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
© 2007-2023 PROMEBEL

џндекс.Њетрика