Вылет 1С 7.7

Автор gentay, 08 октября 2024, 09:47

« назад - далее »

gentay

При использовании в коде работы с окном сообщений - вылетает 7.7 Причем памятный вылет состоялся только тогда, когда были дописаны 2 строки ОС.Очистить и ОС.Видимость(0). Закрылось окно и 1С вместе с ним
1С 7.7 027 Бухгалтерия Проф

АЛьФ

Вылетает стабильно на этом коде? На тестовой вылетает?

gentay

Извините, не совсем понял вопрос. Вылетело только на этом коде. Я убрал сразу и не экспериментировал более. Само собой на тестовой. Если это головняково разбираться - забейте, я обойдусь и без этого

АЛьФ

Не головняково, хотелось бы разобраться в причинах вылета и поправить.
Этот код где именно вызывался?

gentay

В модуле форме документа. Цель была такой - если выбираешь адрес, а там нет прайса, то с помощью вашей ВК в окне сообщений пишет что нет прайса. Пользователь типа в себе и меняет адрес с прайсом. Цель была что ВК ищет строку "Нет прайса", если находит и строка одна, ВК очищает и закрывает ОС. И, как я писал выше, до момента написания 2 строчек кода - все работало, находило. После 2 строк кода 1С решила тоже выйти из чата 

АЛьФ

Попробую смоделировать.

gentay

Там в принципе нечего повторять.
Перем ОС;

ПриОткрытии ()
ОС = СоздатьОбъет("ОкноСообщений");
КонецПроцедуры

ИзмАдрес()
Если ПустоеЗначение(Адрес.Прайс) = 1 Тогда
   ОС.Сообщить("Нет прайса", "!!!");
   ОС.Видимость(1);
Иначе
   Есть = 0;
   Для инд = 1 по ОС.КоличествоСтрок() Цикл
      Текст = "";
      ОС.ПолучитьСтроку(инд, Текст);
      Если Найти(Текст,"Нет прайса") <> 0 Тогда
          Есть = 1;
          Прервать;
      КонецЕсли; 
   КонецЦикла;
     
   Если Есть = 1 Тогда
       Ос.Очистить();
       ОС.Видимость(0);
   КонецЕсли
 
   Кстати вопрос - а удалить строку из окна сообщений можно? Если да, то как?


 

АЛьФ

Цитата: gentay от 09 октября 2024, 14:00Кстати вопрос - а удалить строку из окна сообщений можно? Если да, то как?

Нет, не получится.

Злоп

А если получить текст содержимого окна, очистит окно, прочитать строки, пропустить ненужную, вывести в окно нужные...?

gentay

Вариант. Но только когда можно будет использовать

Arbuz

Это неверное использование концепции окна сообщений. Это же лог, по сути. Зачем из него удалять строки? Жаль, плавающая форма не взлетела.

Злоп

Согласен с Кавуном.
Выводи то что надо в одно ОС, что не надо - в другое ОС.
Если так не получается (консерватория кривая какая-то), тогда вывел в ОС, ОС сохранил - дальше парсить его как надо...