Artifact 36a3eb8988688eb68c21294e333724906a17d0e4:
- File silence.js — part of check-in [8ad7ab98f4] at 2012-12-01 08:24:01 on branch trunk — Рефакторинг в связи с изменением stdlib (user: sosnae size: 4667) [more...]
$engine JScript $uname silence $dname Тишина в отсеках $addin stdlib // (с) Александр Орефков orefkov at gmail.com // Это небольшой скрипт для подавления некоторых сообщений Конфигуратора, бессмысленных и беспощадных. // Пока реализовано "в-лоб", в дальнейшем надо сделать список из "регэксп + результат", // и гуи по настройке, какие подавлять, какие нет. // Подпишемся на событие при выводе предупреждения/вопроса events.connect(windows, "onMessageBox", SelfScript.self) if (profileRoot.getValue("ModuleTextEditor/CheckAutomatically")){ events.connect(windows, "onDoModal", SelfScript.self); } var notify = true; // Функция - обработчик function onMessageBox(param) { // Message(param.caption + " | " + param.text + " | " + param.type + " | " + param.timeout) // При отработке события перехват с MessageBox'а снимается, и в обработчике // можно смело его вызывать, не боясь зацикливания. Например мы сами хотим узнать ответ // пользователя и в зависимости от него выполнить какие-то действия // param.result = MessageBox(param.text, param.type, param.caption, param.timeout) // param.cancel = true if(param.text == "Внимание!!! Месторасположение информационной базы изменилось.\nПродолжить?") { //Message("Месторасположение информационной базы изменилось.", mInfo) param.result = mbaYes param.cancel = true return; } // artbear сообщения типа "Объект Роль.Менеджер заблокирован." или "Объект Справочник.СохраненныеНастройки заблокирован." reRoleBlock = /Объект\s*[\d\wzа-яё]+\.[\d\wzа-яё\.]+\s*заблокирован\./ig if(reRoleBlock.test(param.text)){ Message(param.text) param.result = mbaYes param.cancel = true return; } // artbear сообщения типа "Объединение конфигураций завершено." reConfigUnionEnd = /объединение\s+конфигураций\s+завершено\./ig if(reConfigUnionEnd.test(param.text)){ param.result = mbaYes param.cancel = true Message(param.text) return; } } function onDoModal(dlgInfo){ if(dlgInfo.stage == openModalWnd) { if (dlgInfo.Caption == "Конфигуратор"){ for(var c = 0; c < dlgInfo.form.controlsCount; c++) { if (c > 2){ return; } var ctr = dlgInfo.form.getControl(c); var text = ctr.value; if (!text){ continue; } if (text.indexOf("При проверке модуля обнаружены ошибки!")!=-1){ try{ new ActiveXObject("WScript.Shell").SendKeys("{ENTER}"); if (notify) { var notifysend = stdlib.require('NotifySend.js').GetNotifySend(); var СистемнаяИнформация = v8New("СистемнаяИнформация"); var версия = СистемнаяИнформация.ВерсияПриложения; if (версия.indexOf("8.2.13")==-1){ notifysend.provider = notifysend.initprovider("Встроенный1С"); } notifysend.Error("Сохраняем ", "При сохранении есть ошибки \n имей ввиду", 3); notify = false; stdlib.setTimeout(function () { notify = true; }, 3000); } } catch (e){ }; return } } } } }