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

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

systland 06.06.2017 09:56

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

AndrianoS 26.06.2017 11:48

Здравствуйте!
Как можно перебрать все объекты?
В базис 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 12:44

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

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


Код:

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);
        }
    }
}

[свернуть]

IStiv 26.06.2017 20:14

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

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

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

3.Документация по скриптам актуализирована?(насколько я понял нет). Будет ли это сделано в ближайщее время?
Господа из Базиса Вы делаете хороший продукт. Но без документации это пипец просто ( да я слышал что "скрипты поставляются как есть"), но зачем тратить время людей - напишите документацию по человечески. Нашел аккаунт на GitHub - там тоже какие то обрывки информации. Хорошо хоть инструкцию как настроить debug выложили. Правда на этот GitHub ссылок как бы нигде особо нет. В Базис 9 свойства объектов по перебору вычислял , сейчас еще веселее видимо будет. Извините если что вообщем. Хочется просто работать, а не искать и догадываться как тут у Вас все устроено, и не "выковыривать" свойства объектов перебором.

Letos 28.06.2017 12:42

Цитата:

Сообщение от IStiv (Сообщение 425804)
1.node.js надо ставить или оно в комплекте? или оно надо только если использовать TypeScript ,debug и модули от node?

Весь движок скриптов в библиотеке node.dll. Так что Node.js устанавливать не надо.

Цитата:

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

Со слов разработчика, system.require был попыткой сымитировать стандартный require, попытка не удалась, но (непонятно почему) было написано несколько примеров с ним. Вместо него лучше использовать system.include, с обновлением system.require будет работать, но не будет в подсказке.
В самом Node.js require работает иначе и работает с т.н. "модулями", для которых нужен свой стиль написания (возможно, скоро на гитхабе это будет описано)

Цитата:

Сообщение от IStiv (Сообщение 425804)
3.Документация по скриптам актуализирована?

Нет, но надеюсь, в ближайшее время обновится.

IStiv 29.06.2017 20:02

Цитата:

Сообщение от Letos (Сообщение 425917)
Весь движок скриптов в библиотеке node.dll. Так что Node.js устанавливать не надо.

Спасибо за ответы.По возможности прошу еще ответить на вопросы.

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

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

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

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

Вопросов вообщем много,а примеров и документации нет. Спасибо если внесете какую то ясность.

Letos 30.06.2017 13:05

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

Цитата:

Сообщение от IStiv (Сообщение 426026)
1.этот "весь движок" . к нему можно подключать модули от node ? npm и все такое? если "да" то как?

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

Цитата:

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

Все стандартные модули Node.js (fs, path, net и т.д.) зашиты внутри библиотеки. Внешние (из npm) придется устанавливать вручную.

Цитата:

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

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

Цитата:

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

Не совсем понял вопроса. Из всех примеров нашел только работу с вордом - он вроде нормально работает. По поводу экселя - немного погуглил, нашел инфу как все сделать, но не получилось - похоже индексные свойства вызывать не хочет. Думаю, что средствами Базиса запись в эксель сделать пока не получится.

AndrianoS 30.06.2017 14:25

Не знаю как у других,у меня одно большое КАК?Вышли новые инструменты,новые возможности.Что это такое,как настраивать,как устанавливать,как с этим работать и что это дает.Если есть возможность записать видео,то это было бы очень круто.

Klim Bassenger 21.07.2017 15:38

Вложений: 2
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
(см. картинку).
Может есть тут гуру скриптов, которые смогут помочь "подкрутить скрипт".

Klim Bassenger 21.07.2017 16:01

На самом деле немного странное решение с новым движком для скриптов. У многих, я знаю, почти вся работа завязана на скриптах.
Им теперь получается всё переписывать заново? Вроде бы никто не писал, что что-то не устраивает. Зачем были эти нововведения, когда ТП отвечает, мол мы возможность скриптов сделали - а дальше сами думайте как с этим работать.
Может есть какой-то шаблон по переводу скриптов на новый движок? Может переменный как-то по другому объявлять или синтаксис поменять....


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

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