Скрипты и функции для МПЛ и Б-Салона 10-11
Доброго дня коллеги.
Как показала практика применения скриптов для Б-Салона v10-11 имеет свои особенности написания и нюансы отладки. Предлагаю использовать эту ветку для обмена опытом и готовыми решениями. Добавлено через 15 минут Скрытый текстНеобходимые функции для работы
PHP код:
[свернуть] PHP код:
Генерируя артикулы "резиновых" модулей, постоянно требуется не только выбор высоты, но и набор свойств ( в том числе логических) позволяющий подобрать ближайший больший артикул штатный из множества имеющихся Скрытый текст высота модуля
PHP код:
[свернуть] функция подбора шириныPHP код:
[свернуть] Функция подбора глубины/* функция определения глубины модуля входящий параметр lZ необязателен дает поправку в см на ширину модуля при подборе артикула Возвращает объект со свойствами { chek: true, // совпадение значения со штатной сеткой размеров n_: 0, // назначенная штатная глубина rem: '' // пояснение к артикулу глубины } */ function zM(lZ) { //zM: [31, 33, 38, 40, 43, 45, 50, 54, 55, 57, 58, 59, 60, 65]; if (lZ<0||lZ>0) {var __z = lZ*1;} else {var __z = 0;} //если у фукции не будет аргумента она равна 0 var z_M = {chek: false, n_: 0, rem: ''}; if (__z==0){ __z = Math.round((TovarItems.TovarModel.GSize.z)/10); // габарит модулия по глубине в см }else{ __z = __z + Math.round((TovarItems.TovarModel.GSize.z)/10); // габарит модулия по глубине в см } switch (__z){ case 31: return z_M = {chek: true, n_: 31, rem: ''}; break; case 33: return z_M = {chek: true, n_: 33, rem: ''}; break; case 38: return z_M = {chek: true, n_: 38, rem: ''}; break; case 40: return z_M = {chek: true, n_: 40, rem: ''}; break; case 43: return z_M = {chek: true, n_: 43, rem: ''}; break; case 45: return z_M = {chek: true, n_: 45, rem: ''}; break; case 50: return z_M = {chek: true, n_: 50, rem: ''}; break; case 54: return z_M = {chek: true, n_: 54, rem: ''}; break; case 55: return z_M = {chek: true, n_: 55, rem: ''}; break; case 57: return z_M = {chek: true, n_: 57, rem: ''}; break; case 58: return z_M = {chek: true, n_: 58, rem: ''}; break;/**/ case 59: return z_M = {chek: true, n_: 59, rem: ''}; break; case 60: return z_M = {chek: true, n_: 60, rem: ''}; break; case 65: return z_M = {chek: true, n_: 65, rem: ''}; break; default: switch (true) { case __z < 31: return z_M = {chek: false, n_: 31, rem: ' уменьшение глубины ' +31}; break; case __z > 31 && __z < 33: return z_M = {chek: false, n_: 33, rem: ' уменьшение глубины'+33}; break; case __z > 33 && __z < 45: return z_M = {chek: false, n_: 45, rem: ' уменьшение глубины '+45}; break; case __z > 45 && __z < 59: return z_M = {chek: false, n_: 59, rem: ' уменьшение глубины '+59}; break; case __z > 59 && __z < 65: return z_M = {chek: false, n_: 65, rem: ' уменьшение глубины '+65}; break; default: alert("глубина " + __z +" каталогом не предусморенна"); } break; } } //alert("глубина " + zM().n_ + " штатная " + " " + zM().chek + " - " +zM().rem ); //тест функции [свернуть] |
Почему эта тема пустая? Что ни кого не волнует Салон?
|
Мы работаем в нём. По всем интересующим нас вопросом общаемся с ТП.
|
Всем привет.
Я немного переделал под себя скрипт, прописывающий размеры изделия. Все бы хорошо, но мне нужно указывать глубину корпуса изделия, а не его общую глубину. Заднюю стенку и фасад я могу вычесть без проблем, поскольку это фиксированное число. Но что делать с ручками? Они все разного размера. Я вижу два пути (конкретно в моем случае): 1) Вычислять габариты ручек и потом вычитать их глубину из общей глубины изделия; 2) Просто указывать глубину самого корпуса (он у меня отдельным блоком настроен). |
Вложений: 1
Посмотрите этот скрипт. Обратите внимание на расчет габаритов изделия без учета фурнитуры (ручек, навесов и т.д.) function GetGabLoc(obj)
Там считаются габариты только панелей типа TFurnPanel. Может это поможет. |
новогодние подарки
ссылка на архив примеров функций для МПЛ
rtz пример оперативный массив базы материалов с доп. свойствами (и вообще подключаемого массива данных конвертируемой из exel-таблицы ). причина написанияПробовал создавать массив через SQL-запрос к базе: возникает проблемма отладки: В МПЛ работает, но.. уже в Б-Салоне лично у меня, SQL-запрос — не работает. Вообще. Причину так и не понял. С чем столкнулся истользуя такие эрзац-таблицы материалов:
мой ВЫВОД (как практика, могу быть неправ): Для использования в Б-Салоне и МПЛ, проще и надёжнее подготовить подключаемый файл js выгрузкой exel-таблицы по образцу, чем через SQL-запрос. К тому же некоторые свойства материала нельзя получить из БМ-Сметы "*.FDB" (например: "плотность", или "Модуль упругости" для прочностных расчётов). [свернуть] raschetNST функция расчёта стоимости нестандартного изделия изменённого или собранного из "полуфабрикатов" в редакторе Б-Салона. применениеСчитает подетальную стоимость и массу изделия из модели прайс менеджера. Применяется при "ручном" изменении материалов модели. Может применяться в Б-Мебельщике (нужно заменить "TovarItems.TovarModel"* на "Model")
Готовые результаты использовались на производстве через экспортируемые XLS-файлы. пример работы — картинки в рахиве raschetNST.note1.jpg и raschetNST.note2.jpg https://promebelclub.ru/forum/pictur...pictureid=5284 https://promebelclub.ru/forum/pictur...pictureid=5285 [свернуть] PriceList пример подключаемого прайс-листа изделий. применение, например: есть утверждённый каталог "стандартных модулей", а вшитый через МПЛ скрипт изделия должен назначить изделию (эластичному модулю растянутому за флажки), цену — ориентируясь на данный прайс-лист и сгенерированный "артикул изделия".
[свернуть] usefully_MPL — подключаемый сборник полезных функций для МПЛ, чтобы не писать "километровые" скрипты в каждое конкретное изделие. Упрощает отладку усложняет воровство готовых кодов. Все вопросы "зачем?" и "для чего?" используется та или иная функция — в личку. // все важные шаги закомментированы (орфографию и громатику пояснений не проверял*PARDON*) D..._...[...]L пример скрипта для МПЛ записываемый в конкретное изделие что делает
[свернуть] |
а как запустить скрипт в салоне? например перебрать все панели в модели.
|
Текущее время: 07:40. Часовой пояс GMT +3. |
Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
© 2007-2023 PROMEBEL