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

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

Реклама

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

искусственный камень купить мебель в Екатеринбурге
Ответ
 
Опции темы Опции просмотра
Старый 13.01.2014, 11:22  
БАЗИС 9 - Скрипты
 
Аватар для Igor_482
Igor_482
VIP
Регистрация: 03.09.2008
Сообщений: 126

Сказал(а) спасибо: 25
Поблагодарили 550 раз(а) в 67 сообщениях
Версия для печати Отправить по электронной почте
Igor_482 Igor_482 вне форума 13.01.2014, 11:22
Рейтинг: (34 голосов - 2.79 средняя оценка)

ВНИМАНИЕ! Правила выкладывания скриптов.

1. Если в скрипте нет ссылок на фурнитуру, фрагменты и.т.д то достаточно его упаковать в архив и выложить.

2. Если в скрипте есть ссылки на фурнитуру, фрагменты и т.д. то архив должен содержать папку с самим скриптом и всеми файлами на которые есть ссылки в тексте скрипта.


Т.к. при запуске скрипта на другом компе возникает ошибка о не возможности открыть то или иной файл и скрипт до конца не отрабатывает свой текст. Не соблюдается "чистота проверки" работы скрипта.

__________________________________________________ _______________

Интересует информация по редактору скриптов в БМ8. Существует ли справочная документация и примеры использования скриптов в БМ8. Какие возможности дает данная функция? Владеющим информацией по данному вопросу просьба поделиться ею.

Для работы скриптов от Igor_482 необходим установленный ODBC драйвер FireBird, установленные и зарегистрированные в ОС модули FBDBDialog.dll, MSDATGRD.OCX, MSCOMCTL.OCX и MSSTDFMT.DLL (сообщение с описанием установки этих модулей в ОС, ссылка на модули и исходник "FBDBDialog.dll") а так же файл "ADODB.ini" с настройками соединения к БД в папке со скриптом.

ADODB.ini


[General]
FDBServ = t001
FBSPort = 14357
FDBFile = D:\DBBM\Библиотека\БД\BMDB09.FDB
FBCFile = C:\Windows\System32\fbclient.dll
----------------------------------------------
Переменные .ini:
FDBServ - имя ПК на котором находится сервер FireBird с используемой БД (если локально, то параметр: localhost или 127.0.0.1);
FBSPort - в настройке не нуждается (по умолчанию: 14357);
FDBFile - локальный путь к БД на сервере FireBird;
FBCFile - путь к файлу "fbclient.dll" (находится в корневой папке программы Базис).
[свернуть]

Последний раз редактировалось systland; 23.09.2016 в 11:52..
Просмотров: 404330
Ответить с цитированием Вверх
Старый 08.08.2017, 20:14   #1361
EVGENTAR
Новичок
 
Регистрация: 28.07.2017
Сообщений: 3
Сказал(а) спасибо: 1
Поблагодарили 0 раз(а) в 0 сообщениях
Вес репутации: 0
EVGENTAR пока не определено
По умолчанию

Большое спасибо Letos за помощь.
Где Вы находите все эти функции и как узнаете правильность записи?
EVGENTAR вне форума   Ответить с цитированием Вверх
Старый 08.08.2017, 23:56   #1362
Igor_482
VIP
 
Аватар для Igor_482
 
Регистрация: 03.09.2008
Сообщений: 126
Сказал(а) спасибо: 25
Поблагодарили 550 раз(а) в 67 сообщениях
Вес репутации: 232
Igor_482 - это имя известно всемIgor_482 - это имя известно всемIgor_482 - это имя известно всемIgor_482 - это имя известно всемIgor_482 - это имя известно всемIgor_482 - это имя известно всем
По умолчанию Задать произвольное наименование материала

Цитата:
Сообщение от FIDEL Посмотреть сообщение
...переименовать материал произвольным образом...
Ранее представлял скрипт для выполнения такой задачи. На сегодняшний день существует версия с более расширенным функционалом.
Текущая модификация позволяет редактировать:
1) наименование материала панелей, облицовки панелей, тел по траектории, профилей и параметры материала: толщина, ширина (если значение > 0 то это погонный материал, иначе - площадной);
2) обозначение, наименование кромочного материала и его параметры: толщина, ширина;
3) наименование пазов и их обозначение.
Выделенные заранее панели, а для случая когда панели небыли заранее выделены, то все панели модели группируются в список материалов отсортированный по его наименованию и параметрам в окне свойств. Далее по ПКМ на строке материала (столбца "параметр") возможно вызвать меню позволяющее произвольно отредактировать наименование материала.

код скрипта


Код HTML:
var Controls  = Action.Properties;
var Items     = new Array();
var Selection = new Array();
var RepMat    = /(\s*) \(Артикул ([^(Артикул )]*)\)/;
var Objects   = {
      Panels: {
        Items:  new Object(),
        Owners: new Object()
      },
      Butts:  {
        Items:  new Object(),
        Owners: new Object()
      },
      Cuts:   {
        Items:  new Object(),
        Owners: new Object()
      }
    };
var MainForm       = NewForm();
MainForm.Width     = 400;
MainForm.Height    = 41;
MainForm.Caption   = 'Редактировать наименование';
MainForm.Resizable = false;
MainForm.Dockable  = false;

function ReadIniFile(FileName) {
  var Data = system.readTextFile(FileName);
  var Regex = {
        Section: /^\s*\[\s*([^\]]*)\s*\]\s*$/,
        Param: /^\s*([\w\.\-\_]+)\s*=\s*(.*?)\s*$/,
        Comment: /^\s*;.*$/
      };
  var Value = {};
  var Lines = Data.split(/\r\n|\r|\n/);
  var Section = null;
  Lines.forEach(function(Line) {
    if (Regex.Comment.test(Line)) {
      return;
    } else if (Regex.Param.test(Line)) {
      var Match = Line.match(Regex.Param);
      if (Section) {
        Value[Section][Match[1]] = Match[2];
      } else {
        Value[Match[1]] = Match[2];
      };
    } else if (Regex.Section.test(Line)) {
      var Match = Line.match(Regex.Section);
      Value[Match[1]] = {};
      Section = Match[1];
    } else if (Line.length == 0 && Section) {
      Section = null;
    };
  });
  return Value;
};

if (!system.fileExists('ADODB.ini')) {
  alert('Не найден файл (ADODB.ini) с настройками для подключения к БД!');
  Action.Cancel();
} else {
  var IniFile = ReadIniFile('ADODB.ini');
  if (!system.fileExists(IniFile['General']['FBCFile'])) {
    alert('Настройки подключения к БД указанные в файле (ADODB.ini)' +
          ' не являются верными!');
    Action.Cancel();
  };
};

var ConnectionString = 'Driver={Firebird/InterBase(r) driver};' +
                       'Dbname=' + IniFile['General']['FDBServ'] + '/'
                                 + IniFile['General']['FBSPort'] + ':'
                                 + IniFile['General']['FDBFile'] + ';' +
                       'CHARSET=NONE;' +
                       'PWD=masterkey;' +
                       'UID=SYSDBA;' +
                       'Client=' + IniFile['General']['FBCFile'];
var Query = 'Select\n' +
            '  MATERIAL_ADVANCE.LABEL_EDGE,\n' +
            '  MATERIAL.NAME_MAT\n' +
            'From\n' +
            '  MATERIAL_ADVANCE Inner Join\n' +
            '  MATERIAL On MATERIAL.ID_M = MATERIAL_ADVANCE.ID_M';
var Connection = NewCOMObject('ADODB.Connection');
var Recordset  = NewCOMObject('ADODB.Recordset');

try {
  Connection.Open(ConnectionString);
  Recordset.ActiveConnection = Connection;
  Recordset.Open(Query);
} catch(Error) {
  Recordset.Close;
  Connection.Close;
  alert(decodeURIComponent(escape(Error.message)));
  Action.Cancel();
};

Array.prototype.ObjectInArray = function(Object) {
  for (var i = 0; i < this.length; i++) {
    if (this[i].UID == Object.UID) return true;
  };
  return false;
};

function SetSelection(List) {
  Model.UnSelectAll();
  for (var i = 0; i < List.length; i++) {
    List[i].Selected = true;
  };
};

function EqualsMaterial(A, B) {
  switch (true) {
    case (B instanceof TFurnPanel):
    case (B instanceof TExtrusionBody):
    case (B instanceof T2DTrajectoryBody):
      if (A.MaterialName  == B.MaterialName &&
          A.MaterialWidth == B.MaterialWidth &&
          A.Thickness     == B.Thickness) {
        return true;
      };
      break;
    case (B instanceof TFurnPlastic):
      if (A.MaterialName  == B.Material &&
          A.MaterialWidth == B.MaterialWidth &&
          A.Thickness     == B.Thickness) {
        return true;
      };
      break;
  };
  return false;
};

function EqualsPlastic(A, B) {
  switch (true) {
    case (B instanceof TFurnPanel):
    case (B instanceof TExtrusionBody):
    case (B instanceof T2DTrajectoryBody):
      if (A.Material      == B.MaterialName &&
          A.MaterialWidth == B.MaterialWidth &&
          A.Thickness     == B.Thickness) {
        return true;
      };
      break;
    case (B instanceof TFurnPlastic):
      if (A.Material      == B.Material &&
          A.MaterialWidth == B.MaterialWidth &&
          A.Thickness     == B.Thickness) {
        return true;
      };
      break;
  };
  return false;
};

function EqualsButts(A, B) {
  if (A.Material  == B.Material &&
      A.Width     == B.Width &&
      A.Thickness == B.Thickness &&
      A.Sign      == B.Sign) {
    return true;
  };
  return false;
};

function EqualsCuts(A, B) {
  if (A.Name == B.Name &&
      A.Sign == B.Sign) {
    return true;
  };
  return false;
};

function ListToArray(List) {
  var Result = new Array();
  for (var i = 0; i < List.Count; i++) {
    if (List[i].List === true) {
      Result = Result.concat(ListToArray(List[i]));
    } else {
      Result.push(List[i]);
    };
  };
  return Result;
};

function SetMaterials(Control) {
  system.log('SetMaterials');
  Panels = Objects.Panels.Items[Control.Name];
  Owners = Objects.Panels.Owners[Control.Name];
  for (var i = 0; i < Owners.length; i++) {
    StartEditing(Owners[i]);
  };
  for (var i = 0; i < Panels.length; i++) {
    switch (true) {
      case (Panels[i] instanceof TFurnPanel):
      case (Panels[i] instanceof TExtrusionBody):
      case (Panels[i] instanceof T2DTrajectoryBody):
        Panels[i].MaterialName = Control.Value;
        break;
      case (Panels[i] instanceof TFurnPlastic):
        Panels[i].Material     = Control.Value;
        break;
    };
    if (!(Panels[i] instanceof T2DTrajectoryBody)) {
      Panels[i].Thickness      = Control[1].Value;
    } else {
      system.log('T2DTrajectoryBody');
    };
    Panels[i].MaterialWidth    = Control[2].Value;
  };
  for (var i = 0; i < Owners.length; i++) {
    Owners[i].Build();
  };
};

function SetButts(Control) {
  system.log('SetButts');
  Butts =  Objects.Butts.Items[Control.Name];
  Owners = Objects.Butts.Owners[Control.Name];
  for (var i = 0; i < Owners.length; i++) {
    StartEditing(Owners[i]);
  };
  for (var i = 0; i < Butts.length; i++) {
    Butts[i].Material  = Control.Value;
    Butts[i].Thickness = Control[1].Value;
    Butts[i].Width     = Control[2].Value;
    Butts[i].Sign      = Control[3].Value;
  };
  for (var i = 0; i < Owners.length; i++) {
    Owners[i].Build();
  };
};

function SetCuts(Control) {
  system.log('SetCuts');
  Cuts   =  Objects.Cuts.Items[Control.Name];
  Owners = Objects.Cuts.Owners[Control.Name];
  for (var i = 0; i < Owners.length; i++) {
    StartEditing(Owners[i]);
  };
  for (var i = 0; i < Cuts.length; i++) {
    Cuts[i].Name = Control.Value;
    Cuts[i].Sign = Control[0].Value;
  };
  for (var i = 0; i < Owners.length; i++) {
    Owners[i].Build();
  };
};

function EditMaterialName(Control) {
  MainForm.Properties.Clear();
  MainForm.String = MainForm.Properties.NewString('', Control.Value);
  MainForm.String.SetLayout(0, 0, MainForm.Width, 22);
  MainForm.String.OnValueChange = function() {
    Control.Value = MainForm.String.Value;
  };
  MainForm.Show(WindowPosition.Default);
};

function GetSign(Control) {
  system.log('GetSign');
  var Result = new String();
  Recordset.Filter = "(NAME_MAT = '" + Control.Value.split(/\r/)[0] + "')";
  while (Recordset.EOF == 0) {
    Result = Recordset.Fields.Item('LABEL_EDGE').Value;
    Recordset.MoveNext();
  };
  return Result;
};

Action.OnFinish = function() {
  system.log('OnFinish');
  SetSelection(Selection);
  try {
    Recordset.Close;
    Connection.Close;
  } catch(Error) {
    alert(decodeURIComponent(escape(Error.message)));
  };
};

if (Model.Selected) {
  for (var i = 0; i < Model.SelectionCount; i++) {
    Selection.push(Model.Selections[i]);
    if (Model.Selections[i].List === true) {
      Items = Items.concat(ListToArray(Model.Selections[i]));
    } else {
      Items.push(Model.Selections[i]);
    };
  };
} else {
  if (confirm('Редактировать все панели модели?')) {
    Items = ListToArray(Model);
  } else {
    Action.Cancel();
  };
};

var j   = new Number();
var Key = new String();
for (var i = 0; i < Items.length; i++) {
  switch (true) {
    case (Items[i] instanceof TFurnPanel):
    case (Items[i] instanceof TExtrusionBody):
    case (Items[i] instanceof T2DTrajectoryBody):
      if (Items[i].MaterialName) {
        j   = 0;
        Key = Items[i].MaterialName.split(/\r/)[0] + '#' + j;
        while (Objects.Panels.Items[Key]  != undefined &&
               Objects.Panels.Owners[Key] != undefined &&
               !EqualsMaterial(Items[i], Objects.Panels.Items[Key][0])) {
          j++;
          Key = Items[i].MaterialName.split(/\r/)[0] + '#' + j;
        };
        if (Objects.Panels.Items[Key] == undefined) {
          Objects.Panels.Items[Key]  = new Array();
          Objects.Panels.Owners[Key] = new Array();
        };
        Objects.Panels.Items[Key].push(Items[i]);
        if (!Objects.Panels.Owners[Key].ObjectInArray(Items[i])) {
          Objects.Panels.Owners[Key].push(Items[i]);
        };
      };
      if (Items[i].Plastics) {
        for (var n = 0; n < Items[i].Plastics.Count; n++) {
          j   = 0;
          Key = Items[i].Plastics[n].Material.split(/\r/)[0] + '#' + j;
          while (Objects.Panels.Items[Key]  != undefined &&
                 Objects.Panels.Owners[Key] != undefined &&
                 !EqualsPlastic(Items[i].Plastics[n], Objects.Panels.Items[Key][0])) {
            j++;
            Key = Items[i].Plastics[n].Material.split(/\r/)[0] + '#' + j;
          };
          if (Objects.Panels.Items[Key]  == undefined &&
              Objects.Panels.Owners[Key] == undefined) {
            Objects.Panels.Items[Key]  = new Array();
            Objects.Panels.Owners[Key] = new Array();
          };
          Objects.Panels.Items[Key].push(Items[i].Plastics[n]);
          if (!Objects.Panels.Owners[Key].ObjectInArray(Items[i])) {
            Objects.Panels.Owners[Key].push(Items[i]);
          };
        };
      };
      if (Items[i].Butts) {
        for (var k = 0; k < Items[i].Butts.Count; k++) {
          j   = 0;
          Key = Items[i].Butts[k].Material.split(/\r/)[0] + '#' + j;
          while (Objects.Butts.Items[Key]  != undefined &&
                 Objects.Butts.Owners[Key] != undefined &&
                 !EqualsButts(Items[i].Butts[k], Objects.Butts.Items[Key][0])) {
            j++;
            Key = Items[i].Butts[k].Material.split(/\r/)[0] + '#' + j;
          };
          if (Objects.Butts.Items[Key]  == undefined &&
              Objects.Butts.Owners[Key] == undefined) {
            Objects.Butts.Items[Key]  = new Array();
            Objects.Butts.Owners[Key] = new Array();
          };
          Objects.Butts.Items[Key].push(Items[i].Butts[k]);
          if (!Objects.Butts.Owners[Key].ObjectInArray(Items[i])) {
            Objects.Butts.Owners[Key].push(Items[i]);
          };
        };
      };
      if (Items[i].Cuts) {
        for (var m = 0; m < Items[i].Cuts.Count; m++) {
          j   = 0;
          Key = Items[i].Cuts[m].Name.split(/\r/)[0] + '#' + j;
          while (Objects.Cuts.Items[Key]  != undefined &&
                 Objects.Cuts.Owners[Key] != undefined &&
                 !EqualsCuts(Items[i].Cuts[m], Objects.Cuts.Items[Key][0])) {
            j++;
            Key = Items[i].Cuts[m].Name.split(/\r/)[0] + '#' + j;
          };
          if (Objects.Cuts.Items[Key]  == undefined &&
              Objects.Cuts.Owners[Key] == undefined) {
            Objects.Cuts.Items[Key]  = new Array();
            Objects.Cuts.Owners[Key] = new Array();
          };
          Objects.Cuts.Items[Key].push(Items[i].Cuts[m]);
          if (!Objects.Cuts.Owners[Key].ObjectInArray(Items[i])) {
            Objects.Cuts.Owners[Key].push(Items[i]);
          };
        };
      };
      break;
  };
};

var i = new Number();
for (var Key in Objects.Panels.Items) {
  switch (true) {
    case (Objects.Panels.Items[Key][0] instanceof TFurnPanel):
    case (Objects.Panels.Items[Key][0] instanceof TExtrusionBody):
    case (Objects.Panels.Items[Key][0] instanceof T2DTrajectoryBody):
      Controls.NewSelector(Key, Objects.Panels.Items[Key][0].MaterialName).CanClear = false;
      break;
    case (Objects.Panels.Items[Key][0] instanceof TFurnPlastic):
      Controls.NewSelector(Key, Objects.Panels.Items[Key][0].Material).CanClear = false;
      break;
  };
  Controls[i].Expanded = false;
  Controls[i].NewMaterial('Материал:').Visible = false;
  Controls[i].NewNumber('Толщина:', Objects.Panels.Items[Key][0].Thickness);
  Controls[i].NewNumber('Ширина:', Objects.Panels.Items[Key][0].MaterialWidth);
  Controls[i].PopupMenu.NewButton('Править: наименование');
  eval(
    'Controls[' + i + '].OnClick = function() {                              \n' +
    '  Controls[' + i + '][0].Click();                                       \n' +
    '};                                                                      \n' +
    'Controls[' + i + '].PopupMenu[0].OnClick = function() {                 \n' +
    '  EditMaterialName(Controls[' + i + ']);                                \n' +
    '};                                                                      \n' +
    'Controls[' + i + '][0].OnValueChange = function() {                     \n' +
    '  Controls[' + i + '].Value    = Controls[' + i + '][0].ValueToString().\n' +
    '    replace(RepMat, "$1\\r$2");                                         \n' +
    '  Controls[' + i + '][1].Value = Controls[' + i + '][0].Thickness;      \n' +
    '  Controls[' + i + '][2].Value = Controls[' + i + '][0].Width;          \n' +
    '};                                                                      \n' +
    'Controls[' + i + '].OnChange = function() {                             \n' +
    '  SetMaterials(Controls[' + i + ']);                                    \n' +
    '};                                                                      \n' +
    'Controls[' + i + '].OnActivate = function() {                           \n' +
    '  SetSelection(Objects.Panels.Owners[Controls[' + i + '].Name]);        \n' +
    '};                                                                      \n' +
    'Controls[' + i + '][1].OnActivate = function() {                        \n' +
    '  SetSelection(Objects.Panels.Owners[Controls[' + i + '].Name]);        \n' +
    '};                                                                      \n' +
    'Controls[' + i + '][2].OnActivate = function() {                        \n' +
    '  SetSelection(Objects.Panels.Owners[Controls[' + i + '].Name]);        \n' +
    '};                                                                        '
  );
  i++;
};

for (var Key in Objects.Butts.Items) {
  Controls.NewSelector(Key, Objects.Butts.Items[Key][0].Material).CanClear = false;
  Controls[i].Expanded = false;
  Controls[i].NewButt('Кромка:').Visible = false;
  Controls[i].NewNumber('Толщина:', Objects.Butts.Items[Key][0].Thickness);
  Controls[i].NewNumber('Ширина:', Objects.Butts.Items[Key][0].Width);
  Controls[i].NewString('Обозначение:', Objects.Butts.Items[Key][0].Sign);
  Controls[i].PopupMenu.NewButton('Править: наименование');
  eval(
    'Controls[' + i + '].OnClick = function() {                              \n' +
    '  Controls[' + i + '][0].Click();                                       \n' +
    '};                                                                      \n' +
    'Controls[' + i + '].PopupMenu[0].OnClick = function() {                 \n' +
    '  EditMaterialName(Controls[' + i + ']);                                \n' +
    '};                                                                      \n' +
    'Controls[' + i + '][0].OnValueChange = function() {                     \n' +
    '  Controls[' + i + '].Value    = Controls[' + i + '][0].ValueToString().\n' +
    '    replace(RepMat, "$1\\r$2");                                         \n' +
    '  Controls[' + i + '][1].Value = Controls[' + i + '][0].Thickness;      \n' +
    '  Controls[' + i + '][2].Value = Controls[' + i + '][0].Width;          \n' +
    '  Controls[' + i + '][3].Value = GetSign(Controls[' + i + ']);          \n' +
    '};                                                                      \n' +
    'Controls[' + i + '].OnChange = function() {                             \n' +
    '  SetButts(Controls[' + i + ']);                                        \n' +
    '};                                                                      \n' +
    'Controls[' + i + '].OnActivate = function() {                           \n' +
    '  SetSelection(Objects.Butts.Owners[Controls[' + i + '].Name]);         \n' +
    '};                                                                      \n' +
    'Controls[' + i + '][1].OnActivate = function() {                        \n' +
    '  SetSelection(Objects.Butts.Owners[Controls[' + i + '].Name]);         \n' +
    '};                                                                      \n' +
    'Controls[' + i + '][2].OnActivate = function() {                        \n' +
    '  SetSelection(Objects.Butts.Owners[Controls[' + i + '].Name]);         \n' +
    '};                                                                      \n' +
    'Controls[' + i + '][3].OnActivate = function() {                        \n' +
    '  SetSelection(Objects.Butts.Owners[Controls[' + i + '].Name]);         \n' +
    '};                                                                        '
  );
  i++;
};

for (var Key in Objects.Cuts.Items) {
  Controls.NewCombo(Key, Objects.Cuts.Items[Key][0].Name);
  Controls[i].Expanded = false;
  Controls[i].NewString('Обозначение:', Objects.Cuts.Items[Key][0].Sign);
  Controls[i].PopupMenu.NewButton('Править: наименование');
  eval (
    'Controls[' + i + '].PopupMenu[0].OnClick = function() {                 \n' +
    '  EditMaterialName(Controls[' + i + ']);                                \n' +
    '};                                                                      \n' +
    'Controls[' + i + '].OnChange = function() {                             \n' +
    '  SetCuts(Controls[' + i + ']);                                         \n' +
    '};                                                                      \n' +
    'Controls[' + i + '].OnActivate = function() {                           \n' +
    '  SetSelection(Objects.Cuts.Owners[Controls[' + i + '].Name]);          \n' +
    '};                                                                      \n' +
    'Controls[' + i + '][0].OnActivate = function() {                        \n' +
    '  SetSelection(Objects.Cuts.Owners[Controls[' + i + '].Name]);          \n' +
    '};                                                                        '
  );
  i++;
};

Controls.NewButton('Завершить').OnClick = function() {
  Action.Commit();
  Action.Finish();
};

Action.Continue();
[свернуть]

Для работы скрипта необходим установленный ODBC драйвер FireBird и файл ADODB.ini в папке со скриптом
Igor_482 вне форума   Ответить с цитированием Вверх
8 пользователя(ей) сказали cпасибо:
Старый 09.08.2017, 11:52   #1363
Letos
Новичок
 
Регистрация: 28.06.2017
Сообщений: 7
Сказал(а) спасибо: 2
Поблагодарили 30 раз(а) в 7 сообщениях
Вес репутации: 0
Letos на пути к лучшему
По умолчанию

Цитата:
Сообщение от EVGENTAR Посмотреть сообщение
Где Вы находите все эти функции и как узнаете правильность записи?
В принципе, в десятке можно скрипт прогнать через отладчик VSCode, в котором уже можно посмотреть все доступные свойства и методы объектов. А там уже по имени свойства/метода примерно можно догадаться для чего оно нужно.
Letos вне форума   Ответить с цитированием Вверх
2 пользователя(ей) сказали cпасибо:
Ovsyanicov (09.08.2017), volunka (09.08.2017)
Старый 11.08.2017, 17:57   #1364
Uncle
Модератор
 
Аватар для Uncle
 
Регистрация: 31.10.2009
Адрес: Рівне. УкраЇна
Сообщений: 7,448
Сказал(а) спасибо: 13,001
Поблагодарили 14,547 раз(а) в 4,602 сообщениях
Вес репутации: 3767
Uncle репутация неоспоримаUncle репутация неоспоримаUncle репутация неоспоримаUncle репутация неоспоримаUncle репутация неоспоримаUncle репутация неоспоримаUncle репутация неоспоримаUncle репутация неоспоримаUncle репутация неоспоримаUncle репутация неоспоримаUncle репутация неоспорима
По умолчанию

Коллеги, можно ли написать такой скрипт, что бы с помощью его можно было редактировать профиль канта при облицовке торцов панелей?
__________________
Уж лучше беспокойство в сомнении, чем успокоенность в заблуждении. .
(Мандзони Алессандро)
------------------------------------
Троллей не кормлю...
Uncle вне форума   Ответить с цитированием Вверх
Ответ

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

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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скрипты в БАЗИС 8 Igor_482 Базис-мебельщик 8.0 926 17.08.2017 15:37
БАЗИС 9 nayrogi Базис-мебельщик 9.0 589 30.05.2017 19:14
Заявки на скрипты dr_john Система БАЗИС 37 01.03.2016 09:36
БАЗИС-ЧПУ 8 chingisnah Базис-мебельщик 8.0 116 17.07.2015 23:09
Базис-7,"Народный Базис"и Windows-8 sergeyzak18 "НАРОДНЫЙ" базис 23 15.01.2014 22:37


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


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