Снегопат

Обсуждение Снегопата
Текущее время: 22 дек 2024, 10:11

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
СообщениеДобавлено: 20 авг 2012, 09:13 
Не в сети

Зарегистрирован: 01 мар 2012, 15:37
Сообщения: 58
Скрипт formAutoVersion.js при каждом запуске выводит полный путь к сохраняемому файлу в окно сообщений. Очень раздражает выскакивание окна сообщений при сохранении. Где это делается в тексте аддина я не нашел.
Добавил такой кусок в аддин:
Код:
    if(cmd.isBefore)    // Обработчик вызван перед выполнением команды
    {
.........
    } else {
      if(stdcommands.Frntend.CloseMessageWindow.getState().enabled)
      {
         stdcommands.Frntend.CloseMessageWindow.send()
      }
   }


Но, при сохранении, в результате проверки синтаксиса в окно сообщений могут быть выведены ошибки, тогда окно закрывать не следует.
Нужно сделать, чтоб окно сообщений закрывалось только в том случае, если там содержится одна или 0 строк.
Как это сделать?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 20 авг 2012, 11:11 
Не в сети

Зарегистрирован: 20 дек 2011, 10:31
Сообщения: 588
Откуда: Украина, Запорожье
Этот вариант не подойдет? Заголовок сообщения: Re: Не появился ли еще доступ к синтаксическому контролю?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 21 авг 2012, 08:22 
Не в сети

Зарегистрирован: 01 мар 2012, 15:37
Сообщения: 58
sosnae писал(а):

Я там не понимаю откуда в переменную msgWnd попадает объект окна сообщений:
Код:
...
   if(msgWnd)
   {
      msgText = msgWnd.text
      MessageBox(msgText)
   } 
...


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 21 авг 2012, 08:46 
Не в сети
Аватара пользователя

Зарегистрирован: 24 авг 2011, 15:53
Сообщения: 448
Откуда: Саратов
vsuh писал(а):
sosnae писал(а):

Я там не понимаю откуда в переменную msgWnd попадает объект окна сообщений:
Код:
...
   if(msgWnd)
   {
      msgText = msgWnd.text
      MessageBox(msgText)
   } 
...


Объект msgWnd запоминается в событии createTextWindow(), которое возникает каждый раз при создании текстового окна (к которым в том числе относится и окно сообщений):

Код:
var msgWnd = null
function createTextWindow(textWnd){msgWnd = textWnd}


Кстати, там в комментарии к макросу же все написано:
Код:
   // Будем отлавливать создание текстового окна
   events.connect(Designer, "createTextWindow", SelfScript.Self);

_________________
С уважением,
Александр Кунташов
Канал про 1С в Телеграме: @kuntashov_devnotes


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 21 авг 2012, 11:25 
Не в сети

Зарегистрирован: 01 мар 2012, 15:37
Сообщения: 58
Кто жеж знал-то...
kuntashov писал(а):
vsuh писал(а):

Объект msgWnd запоминается в событии createTextWindow(), которое возникает каждый раз при создании текстового окна (к которым в том числе относится и окно сообщений):

Код:
var = null
function createTextWindow(textWnd){msgWnd = textWnd}


Кстати, там в комментарии к макросу же все написано:
Код:
   // Будем отлавливать создание текстового окна
   events.connect(Designer, "createTextWindow", SelfScript.Self);

Отлично! Спасибо.
Теперь все получится.
///////////////
Фига!
msgWnd всю дорогу равен null. Может потому что я подписываюсь на другое событие - "onFileSave" а не "createTextWindow"?
а внутри обработчика события можно подписаться на обработчик события createTextWindow?
///////////////
а в какой момент в обработчике события onFileSave создается окно сообщений, чтоб можно было подписаться на событие createTextWindow?


Код:
function onFileSave(cmd)
{
...
    if(cmd.isBefore)    // Обработчик вызван перед выполнением команды
    {
...
      } else {
...
}
stdcommands.Frame.FileSave.addHandler(SelfScript.self, "onFileSave")

ни в первом ни во втором условии я событие создания окна не отловил...
может быть нужно использовать подписку на событие !isBefore onSyntaxCheck?


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 5 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и гости: 8


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

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB