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

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

Реклама

Реклама на портале PROMEBELclub
шкаф-купе со скидкой по акции
Реклама на портале PROMEBELclub

искусственный камень купить мебель в Екатеринбурге
Ответ
 
Опции темы Опции просмотра
Старый 06.06.2017, 09:56  
Скрипты Базис-Мебельщик 10
 
Аватар для systland
systland
Модератор
Регистрация: 30.10.2007
Адрес: Москва
Сообщений: 539

Сказал(а) спасибо: 271
Поблагодарили 386 раз(а) в 167 сообщениях
Версия для печати Отправить по электронной почте
systland systland вне форума 06.06.2017, 09:56
Рейтинг: (1 голосов - 2.00 средняя оценка)

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


Последний раз редактировалось systland; 26.06.2017 в 15:11..
Просмотров: 6924
Ответить с цитированием Вверх
Старый 17.10.2017, 15:46   #41
Letos
Пользователь
 
Регистрация: 28.06.2017
Сообщений: 39
Сказал(а) спасибо: 11
Поблагодарили 119 раз(а) в 26 сообщениях
Вес репутации: 33
Letos скоро придёт к известностиLetos скоро придёт к известности
По умолчанию

Цитата:
Сообщение от RAYMAN2100 Посмотреть сообщение
Добрый день! Подскажите пожалуйста почему не работаю скрипты для 10 версии. Были созданы в 9 версии и все работало.
Показал данную проблему программисту, попробовали написать в редакторе скриптов вот это и запустить alert("hello");
Но выдало ошибку. В чем проблема. Спасибо
А можете скрин с ошибкой показать? А то так сложно ответить. Ну и если не сложно, то код скрипта, который не работает (хотя, в случае с 'alert("hello")' достаточно будет и скрина).
Letos на форуме   Ответить с цитированием Вверх
Старый 17.10.2017, 17:31   #42
Ovsyanicov
Местный
 
Регистрация: 30.11.2013
Адрес: Кишинев
Сообщений: 252
Сказал(а) спасибо: 565
Поблагодарили 309 раз(а) в 122 сообщениях
Вес репутации: 163
Ovsyanicov - очень-очень хороший человекOvsyanicov - очень-очень хороший человекOvsyanicov - очень-очень хороший человекOvsyanicov - очень-очень хороший человекOvsyanicov - очень-очень хороший человек
По умолчанию

Цитата:
Сообщение от RAYMAN2100 Посмотреть сообщение
Добрый день! Подскажите пожалуйста почему не работаю скрипты для 10 версии. Были созданы в 9 версии и все работало.
Показал данную проблему программисту, попробовали написать в редакторе скриптов вот это и запустить alert("hello");
Но выдало ошибку. В чем проблема. Спасибо
Движок в 10-ке претерпел изменения, так что некоторые функции, работавшие в 9-ке, теперь не работают и, соответственно, скрипты необходимо переписывать.
Однако такая штука как alert работает так, как положено:
Нажмите на изображение для увеличения
Название: alert.jpg
Просмотров: 44
Размер:	20.5 Кб
ID:	122431
Ovsyanicov вне форума   Ответить с цитированием Вверх
Старый 18.10.2017, 22:34   #43
RAYMAN2100
Новичок
 
Регистрация: 17.10.2017
Сообщений: 2
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Вес репутации: 0
RAYMAN2100 пока не определено
По умолчанию

Добрый вечер. Большое спасибо всем ответившим на мое сообщение.
Прикрепляю скриншот ошибки после запуска простейшего скрипта.
Миниатюры
ошибка скрипта.PNG  
RAYMAN2100 вне форума   Ответить с цитированием Вверх
Старый 19.10.2017, 00:03   #44
AlexBolton
Модератор
 
Аватар для AlexBolton
 
Регистрация: 19.02.2008
Адрес: www
Сообщений: 2,415
Сказал(а) спасибо: 6,283
Поблагодарили 12,380 раз(а) в 2,118 сообщениях
Вес репутации: 2914
AlexBolton репутация неоспоримаAlexBolton репутация неоспоримаAlexBolton репутация неоспоримаAlexBolton репутация неоспоримаAlexBolton репутация неоспоримаAlexBolton репутация неоспоримаAlexBolton репутация неоспоримаAlexBolton репутация неоспоримаAlexBolton репутация неоспоримаAlexBolton репутация неоспоримаAlexBolton репутация неоспорима
По умолчанию

Цитата:
Сообщение от RAYMAN2100 Посмотреть сообщение
Прикрепляю скриншот ошибки после запуска простейшего скрипта.
WinXP ?
__________________
.
▓▒░ Халявы не бывает ░▒▓

[ Как правильно задавать вопросы на форумах ] | [ Как просто, быстро и правильно опубликовать фото и файлы в сообщении] | [ USDownloader - удобно и безопасно скачиваем с файлообменников 22.11.2017]

Любые вопросы по любому системному и мебельному софту, любые конвертации, настройки и т.д. >сюда< (кроме озвученных в мануалах, инструкциях и темах форума) ...
AlexBolton вне форума   Ответить с цитированием Вверх
Старый 19.10.2017, 10:36   #45
Ovsyanicov
Местный
 
Регистрация: 30.11.2013
Адрес: Кишинев
Сообщений: 252
Сказал(а) спасибо: 565
Поблагодарили 309 раз(а) в 122 сообщениях
Вес репутации: 163
Ovsyanicov - очень-очень хороший человекOvsyanicov - очень-очень хороший человекOvsyanicov - очень-очень хороший человекOvsyanicov - очень-очень хороший человекOvsyanicov - очень-очень хороший человек
По умолчанию

Цитата:
Сообщение от RAYMAN2100 Посмотреть сообщение
Прикрепляю скриншот ошибки после запуска простейшего скрипта.
Скриншот, мягко говорю, неинформативен. Для подробностей надо нажать надпись нажмите здесь в окне с ошибкой.

Цитата:
Сообщение от AlexBolton Посмотреть сообщение
WinXP ?
На 7-ке вчера поймал такую же ошибку доступа к памяти с таким же адресом, но не при запуске скрипта, а при банальном закрытии программы.
Ovsyanicov вне форума   Ответить с цитированием Вверх
Старый 19.10.2017, 10:54   #46
AlexBolton
Модератор
 
Аватар для AlexBolton
 
Регистрация: 19.02.2008
Адрес: www
Сообщений: 2,415
Сказал(а) спасибо: 6,283
Поблагодарили 12,380 раз(а) в 2,118 сообщениях
Вес репутации: 2914
AlexBolton репутация неоспоримаAlexBolton репутация неоспоримаAlexBolton репутация неоспоримаAlexBolton репутация неоспоримаAlexBolton репутация неоспоримаAlexBolton репутация неоспоримаAlexBolton репутация неоспоримаAlexBolton репутация неоспоримаAlexBolton репутация неоспоримаAlexBolton репутация неоспоримаAlexBolton репутация неоспорима
По умолчанию

Цитата:
Сообщение от Ovsyanicov Посмотреть сообщение
На 7-ке вчера поймал такую же ошибку доступа к памяти с таким же адресом, но не при запуске скрипта, а при банальном закрытии программы.
тут ещё можно ковыряться, а вот с node.dll БМ10 помахал пользователям WindowsXP на прощанье по-английски плюшкой...


последняя версия для Windows XP - 5.12.0, в БМ10 - 7.0.0, без комментариев

то есть здесь нужно писать для пользователей: "MS Windows XP SP3 - ограниченный функционал".....
__________________
.
▓▒░ Халявы не бывает ░▒▓

[ Как правильно задавать вопросы на форумах ] | [ Как просто, быстро и правильно опубликовать фото и файлы в сообщении] | [ USDownloader - удобно и безопасно скачиваем с файлообменников 22.11.2017]

Любые вопросы по любому системному и мебельному софту, любые конвертации, настройки и т.д. >сюда< (кроме озвученных в мануалах, инструкциях и темах форума) ...

Последний раз редактировалось AlexBolton; 19.10.2017 в 13:13.
AlexBolton вне форума   Ответить с цитированием Вверх
4 пользователя(ей) сказали cпасибо:
Letos (19.10.2017), Ovsyanicov (19.10.2017), sannykSV (19.10.2017), s_mebel (19.10.2017)
Старый 24.10.2017, 16:39   #47
Sergenald
Новичок
 
Регистрация: 21.09.2017
Сообщений: 4
Сказал(а) спасибо: 3
Поблагодарили 3 раз(а) в 1 сообщении
Вес репутации: 0
Sergenald пока не определено
По умолчанию

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

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


menu = Action.Properties;
AllButtTop = menu.NewButt('Общая кромка');
ButtTop = menu.NewGroup ('Детальная настройка')
{
ButtTop_0 = ButtTop.NewButt('Первая кромка');
ButtTop_1 = ButtTop.NewButt('Вторая кромка');
ButtTop_2 = ButtTop.NewButt('Третья кромка');
ButtTop_3 = ButtTop.NewButt('Четвёртая кромка');
}
ButtTop.Expanded = false;
[свернуть]

И всё бы ни чего, НО. Хотел при активации группы присваивать значение AllButtTop всем ниже идущим переменным кромок. Да только переменные создаются в типе ScriptButtProperties. В котором из свойств (по мануалу) только Thickness и Width, а из методов SetActive(). Что, как получается, исключает возможность занесения в них информации скриптом, что меня неимоверно расстраивает. Так вот вопрос: есть ли возможность провернуть сие действие именно в окне properties? Или в данной реализации без бубна ни куда?
Sergenald вне форума   Ответить с цитированием Вверх
Старый 31.10.2017, 11:55   #48
AnRusik
Пользователь
 
Аватар для AnRusik
 
Регистрация: 17.08.2008
Адрес: Санкт-Петербург
Сообщений: 47
Сказал(а) спасибо: 24
Поблагодарили 29 раз(а) в 13 сообщениях
Вес репутации: 124
AnRusik на пути к лучшему
По умолчанию

Коллеги. Не пойму что нужно исправить, чтобы этот же скрипт работал в Базис 10?
Спасибо.

Цитата:
Сообщение от Uncle Посмотреть сообщение
Уважаемые знатоки скрипта.. Подскажите, пожалуйста. Имеется скрипт для установки подпятников на торцы боковин:

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


FileOptions = 'Подпятники Основные настройки.xml';










MakeProperties();

Action.Properties.Load(FileOptions);



Action.OnFinish = function() {
Action.Properties.Save(FileOptions);
}
BtnMake = NewButtonInput('Закончить');
BtnMake.OnChange = function() {
Make(); //Вызываем функцию построения всех панелей
Action.Finish();
}


Make();



Action.Continue();













true;





//////////////////////////////////////////


//////////////////////////////////////////

////////////////////////////////////////// --------- ОКНО СВОЙСТВ


function MakeProperties() {

Prop = Action.Properties;



otsPered = Prop.NewNumber('Отступ Перед',50);
otsZad = Prop.NewNumber('Отступ Зад',70);


K_row = Prop.NewNumber('Количество на деталь',2);

K_row.OnChange = function() {

if (K_row.Value<1) {

K_row.Value=1
}
}

Krepej = Prop.NewFurniture('Ножки в торец или подпятники');
V_razniyeStorony = Prop.NewBool('В разные стороны')
V_Drugiye_razniyeStorony = Prop.NewBool('В ДРУГИЕ разные стороны')
PovernutDop = Prop.NewCombo('Развернить ножку на X', '0\n90\n180\n270');
PovernutDopY = Prop.NewCombo('Развернить ножку на Y', '0\n90\n180\n270');
PovernutDopZ = Prop.NewCombo('Развернить ножку на Z', '0\n90\n180\n270');
OtrazitX = Prop.NewBool('Отразить X')
OtrazitY = Prop.NewBool('Отразить Y')
OtrazitZ = Prop.NewBool('Отразить Z')
NaSeredinuTolshiny = Prop.NewBool('НаСерединуТолщины(дляТипаРучка))')


OkBtn = Prop.NewButton('Построить',true);


OkBtn.OnClick = function() {
Make(); //Вызываем функцию построения всех панелей
Action.Finish();
}







Prop.OnChange = function() {
//if (Fas.Value > Hd.Value) alert('Предупреждение! Фаска больше чем высота дна.')
Make(); //Вызываем функцию построения всех панелей
};


}





//Obj = Model.Selected;


function Make()
{
DeleteNewObjects();
//FileFreza = 'Фреза1.frw';
// conturFrezi=NewContour();
// conturFrezi.Load(FileFreza);
Model.forEach (function(Obj) {

if (Obj.Selected == true)

{
Nojki(Obj)




}
} )





}

function Nojki(Obj) {

//if (system.fileExists(Krepej.Value))
if (Krepej.Value)
{


otsPered_=otsPered.Value;
otsZad_=otsZad.Value;

ryadov = K_row.Value;


lnpv = GabarityContura(Obj);


ln =lnpv[0];
pv = lnpv[1];



//Niz = OpredelitNiz(Obj, ln, pv)

// NizWdol = p.ContourWidth
// NizH = p.ContourHeight

// пока не определили

if(V_razniyeStorony.Value)
{

ugolPovorotaPered=(-(135+(90*(ryad-1)/(ryadov-1)))) + Math.round(PovernutDop.Value)
ugolPovorotaZad=(-(45-(90*(ryad-1)/(ryadov-1)))) + Math.round(PovernutDop.Value)

}
else
{

ugolPovorotaPered=0
ugolPovorotaZad=0
}







mejdu_ryadov = (pv.x-ln.x-otsPered_-otsZad_)/(ryadov-1)

seredinaX = ln.x + (pv.x - ln.x) / 2

if (Math.round(ryadov)==1)
{

p1 = NewPoint(seredinaX, ln.y)

podp = Ustanovit1Krepiyoj(Obj, p1, ugolPovorotaPered)


}
else if (ryadov>1)
{
p1 = NewPoint( pv.x - otsPered_ , ln.y)

Ustanovit1Krepiyoj(Obj, p1, ugolPovorotaPered)

otsZad_ = ln.x + otsZad_
p1 = NewPoint(otsZad_, ln.y)


Ustanovit1Krepiyoj(Obj, p1, ugolPovorotaZad)

ryad=3

while (ryad<ryadov+1)
{







p1 = NewPoint(otsZad_+mejdu_ryadov*(ryad-2), ln.y)





Ustanovit1Krepiyoj(Obj, p1, ugolPovorotaPered)



ryad++;
}
}
//Niz.Free()

}


}

function Ustanovit1Krepiyoj(Obj, p1, ugolPovorota, drstorona ) {


pos = Obj.ObjectToGlobal(NewVector(p1.x, p1.y,0))


podp = Krepej.Value.Mount1(Obj, pos, ugolPovorota);



podp.Rotate(podp.NToGlobal(AxisX), Math.round(PovernutDop.Value) * (Math.PI / 180))
podp.Rotate(podp.NToGlobal(AxisY), Math.round(PovernutDopY.Value) * (Math.PI / 180))
podp.Rotate(podp.NToGlobal(AxisZ), Math.round(PovernutDopZ.Value) * (Math.PI / 180))
// podp.Translate(NewVector(SmestitX.Value, SmestitY.Value, SmestitZ.Value))
if (NaSeredinuTolshiny.Value)
{

/*x=podp.PositionX
y=podp.PositionY
z=podp.PositionZ
*/
posL = Obj.GlobalToObject(podp.Position)
pos1 = NewVector(posL.x, posL.y, Obj.Thickness/2)
posG = Obj.ObjectToGlobal(pos1)

//ppp = AddPanel(5, 5)
//ppp.Translate(posG)

podp.Position = (posG)
}
return podp
}


function OpredelitNiz(Obj, ln, pv)
{
//Obj = Obj.AsPanel
tolshina = Obj.Thickness;
ln_ = Obj.ObjectToGlobal(ln);
pv_ = Obj.ObjectToGlobal(pv);
p = AddPanel(pv.x, tolshina)
p.Thickness = 0.000000001;
p.Translate(ln_)
p.Rotation = Obj.Rotation
p.Rotate(p.NToGlobal(AxisX), 90)

return p

}



function GabarityContura(Obj)

{
var text = '';


ln = NewPoint(0, 0); //левый низ
lv = NewPoint(0, 0); //левый верх
pn = NewPoint(0, 0); //правый низ
pv = NewPoint(0, 0); //правый верх контура

kontur = Obj.Contour;

kstoron = kontur.Count;
// var k_ne_krugov = 0;
for (i = 0; i < kstoron; i++) {
if (kontur[i].ElType != 3) { //k_ne_krugov = k_ne_krugov+1

ln = NewPoint(Math.round(kontur[i].Pos1.x * 10) / 10, Math.round(kontur[i].Pos1.y * 10) / 10);
lv = NewPoint(Math.round(kontur[i].Pos1.x * 10) / 10, Math.round(kontur[i].Pos1.y * 10) / 10);
pn = NewPoint(Math.round(kontur[i].Pos1.x * 10) / 10, Math.round(kontur[i].Pos1.y * 10) / 10);
pv = NewPoint(Math.round(kontur[i].Pos1.x * 10) / 10, Math.round(kontur[i].Pos1.y * 10) / 10);
}

};



for (i = 0; i < kstoron; i++) {
if (kontur[i].ElType != 3) {
Pos1x = Math.round(kontur[i].Pos1.x * 10) / 10;
Pos1y = Math.round(kontur[i].Pos1.y * 10) / 10;
Pos2x = Math.round(kontur[i].Pos2.x * 10) / 10;
Pos2y = Math.round(kontur[i].Pos2.y * 10) / 10;


if (ln.x > Pos1x) {
ln.x = Pos1x
};
if (ln.x > Pos2x) {
ln.x = Pos2x
};
if (ln.y > Pos1y) {
ln.y = Pos1y
};
if (ln.y > Pos2y) {
ln.y = Pos2y
};

if (lv.x > Pos1x) {
lv.x = Pos1x
};
if (lv.x > Pos2x) {
lv.x = Pos2x
};
if (lv.y < Pos1y) {
lv.y = Pos1y
};
if (lv.y < Pos2y) {
lv.y = Pos2y
};

if (pn.x < Pos1x) {
pn.x = Pos1x
};
if (pn.x < Pos2x) {
pn.x = Pos2x
};
if (pn.y > Pos1y) {
pn.y = Pos1y
};
if (pn.y > Pos2y) {
pn.y = Pos2y
};

if (pv.x < Pos1x) {
pv.x = Pos1x
};
if (pv.x < Pos2x) {
pv.x = Pos2x
};
if (pv.y < Pos1y) {
pv.y = Pos1y
};
if (pv.y < Pos2y) {
pv.y = Pos2y
};

}
};

text4 = ('ln ---- ' + ln.x + ' - ' + ln.y + '\n' +
'lv ---- ' + lv.x + ' - ' + lv.y + '\n' +
'pn ---- ' + pn.x + ' - ' + pn.y + '\n' +
'pv ---- ' + pv.x + ' - ' + pv.y + '\n');
// alert(text4);
ln_v = ln; //левый низ выреза
pv_v = pv; //правый верх выреза

if (ln_v.x < lv.x) {
ln_v.x = lv.x
};
if (ln_v.y < pn.y) {
ln_v.y = pn.y
};

if (pv_v.x > pn.x) {
pv_v.x = pn.x
};
if (pv_v.y > lv.y) {
pv_v.y = lv.y
};





SeredinaVisotiPaneli = (pv_v.y - ln_v.y) * 0.5;
SeredinaShiriniPaneli = (pv_v.x - ln_v.x) * 0.5;






lnpv = []




lnpv.push(ln_v);
lnpv.push(pv_v);



return lnpv
}
[свернуть]


Если указан в качестве устанавливаемого подпятник, созданный как фурнитура, все работает корректно. Если же указать подпятник, созданный как составная фурнитура, устанавливается непонятно как. Но при замене установленной скриптом фурнитуры "Подпятник" составная фурнитура устанавливается корректно...
В чем причина? Можно ли как то исправить скрипт?
Прилагаю оба подпятника для экспериментов:
Вложение 119778
Вложение 119779

P.S. Скрипт писал не я, где взял - не помню, вроде тут же на форуме..
__________________
Не будите во мне зверя он и так не высыпается...
AnRusik вне форума   Ответить с цитированием Вверх
Старый 01.11.2017, 13:24   #49
Igor_482
VIP
 
Аватар для Igor_482
 
Регистрация: 03.09.2008
Сообщений: 130
Сказал(а) спасибо: 28
Поблагодарили 564 раз(а) в 70 сообщениях
Вес репутации: 240
Igor_482 - это имя известно всемIgor_482 - это имя известно всемIgor_482 - это имя известно всемIgor_482 - это имя известно всемIgor_482 - это имя известно всемIgor_482 - это имя известно всем
По умолчанию i need help

Подскажите решение для задачи:

Уже установленной фурнитуре (параметрической) необходимо добавить дополнительное отверстие, т.е. добавить объекту фурнитуры "Holes" новый "Items". Существует функция объекта Holes.Add() (аргументы конечно же неизвестны, т.к. функция не документирована), но при её вызове БМ10 падает. В БМ9 было следующее рабочее решение Holes.Add(new Object()).

Кто знает решение, подскажите пожалуйста. Без наработанных скриптов как без рук - рутинные операции просто убивают.
Igor_482 вне форума   Ответить с цитированием Вверх
Старый 02.11.2017, 10:01   #50
Letos
Пользователь
 
Регистрация: 28.06.2017
Сообщений: 39
Сказал(а) спасибо: 11
Поблагодарили 119 раз(а) в 26 сообщениях
Вес репутации: 33
Letos скоро придёт к известностиLetos скоро придёт к известности
По умолчанию

Цитата:
Сообщение от Sergenald Посмотреть сообщение
есть ли возможность провернуть сие действие именно в окне properties? Или в данной реализации без бубна ни куда?
Я поковырялся и нашел свойство Material - оно, думаю, должно за это отвечать, но если попытаться присвоить его в другой компонент, то присваивается undefined. Попытка вывести материал алертом закончилась аксессом в ноде. Это, думаю, должен был быть лучший вариант.
Нашел вариант:
Код:
AllButtTop.OnChange = ()=>{
    AllButtTop.Save('file.xml');
    ButtTop_0.Load('file.xml');
    ButtTop_1.Load('file.xml');
    ButtTop_2.Load('file.xml');
    ButtTop_3.Load('file.xml');
}
Может не самый лучший и медленнее, но должен сработать.

Добавлено через 9 минут
Цитата:
Сообщение от AnRusik Посмотреть сообщение
Коллеги. Не пойму что нужно исправить, чтобы этот же скрипт работал в Базис 10?
Попытался запустить. Выдал ошибку в этом месте
Код:
OkBtn.OnClick = function() {
Переменная OkBtn была undefined.
Исправил предыдущую строчку (убрал второй параметр в функции)
Код:
OkBtn = Prop.NewButton('Построить');
И скрипт запустился. Дальше я не проверял, поэтому возможны еще какие-то ошибки во время пользования скриптом.
Letos на форуме   Ответить с цитированием Вверх
4 пользователя(ей) сказали cпасибо:
AnRusik (02.11.2017), maxgmv (02.11.2017), Sergenald (02.11.2017), zorro (02.11.2017)
Ответ

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

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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Базис-Мебельщик 10 systland Базис-мебельщик 10.0 223 08.12.2017 22:34
БАЗИС-Мебельщик 7.0 Shadow Базис-мебельщик 7.0 2228 12.09.2016 19:13
Базис-мебельщик JavaScript ran Ищу работу 0 09.05.2014 10:08


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


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