| 
    
 | 
        Проблема с автообменом         | 
☑ | 
    
        | 
    0
    
        bodri    
       
    
    04.04.12 
            ✎
    16:29 
 | 
         
        При автообмене
  
  ЧтениеСообщения = ПланыОбмена.СоздатьЧтениеСообщения();
  ЧтениеXML = Новый ЧтениеXML;
  ЧтениеXML.ОткрытьФайл(СокрЛП(ПутьККаталогу)+"Message_000_"+СокрЛП(ТекУзел.Код)+".xml");
  ЧтениеСообщения.НачатьЧтение(ЧтениеXML);
  Попытка
      ПланыОбмена.ПрочитатьИзменения(ЧтениеСообщения);
      Предупреждение("Чтение завершено успешно!");
  Исключение
          Предупреждение("Чтение Не завершено!");
  КонецПопытки;
  ЧтениеСообщения.ЗакончитьЧтение();
  ЧтениеXML.Закрыть();
      
  Вываливается ошибка:
  
  
  
  Ошибка при вызове метода контекста (ЗакончитьЧтение)
      ЧтениеСообщения.ЗакончитьЧтение();
  по причине:
  
  по причине:
  Неправильный формат сообщения
  
  Хотя в ручном режиме все нормально проходит.
  
  Ошибка вываливается только тогда, когда в сообщении есть изменение конфигурации.     
         | 
 | 
    
    
        | 
    1
    
        bodri    
       
    
    04.04.12 
            ✎
    16:37 
 | 
         
        Ап     
         | 
 | 
    
    
        | 
    2
    
        bodri    
       
    
    05.04.12 
            ✎
    14:50 
 | 
         
        ...     
         | 
 | 
    
    
        | 
    3
    
        bodri    
       
    
    05.04.12 
            ✎
    15:00 
 | 
         
        По идее исключение должно выводить вопрос на запуск конфигуратора, а это не происходит     
         | 
 | 
    
    
        | 
    4
    
        kosts    
       
    
    05.04.12 
            ✎
    15:07 
 | 
         
        (3) Если только сам пропишешь запуск конфигуратора     
         | 
 | 
    
    
        | 
    5
    
        bodri    
       
    
    05.04.12 
            ✎
    15:30 
 | 
         
        Сделал так:
  
  
      Попытка
          ПланыОбмена.ПрочитатьИзменения(ЧтениеСообщения);
          Предупреждение("Чтение завершено успешно!");
      Исключение
          Инфо = ИнформацияОбОшибке();
          Причина = Инфо.Причина.Описание;
          Если СокрЛП(Лев(Причина,16)) = "Из главного узла" Тогда
              ИныеПроцедуры.ВывестиПредупреждение("" + Причина + Символы.ПС + "Будет запущен конфигуратор");
              ЗавершитьРаботуСистемы(Ложь,Истина,"CONFIG");
          КонецЕсли;
          Возврат;
      КонецПопытки;     
         | 
 | 
    
    
        | 
    6
    
        bodri    
       
    
    05.04.12 
            ✎
    15:30 
 | 
         
        (5) Кашерно?     
         | 
 | 
    
    
        | 
    7
    
        kosts    
       
    
    07.04.12 
            ✎
    06:29 
 | 
         
        (5) Слишком резко завершаешь работу системы.
  Нет предупреждений пользователю. Ни вопросов, хочет ли он именно сейчас обновить конфигуратор. 
  Еще можно запустить конфигуратор с ключом, что бы он сам выполнил обновление.     
         | 
 |