Имя: Пароль:
1C
1С v8
Данное действие недоступно в связи с отсутствием главного окна
0 alexexe
 
26.02.13
15:47
Доброго времени суток!

Пытаюсь открыть форму в ПередНачаломСистемы(Отказ)

Форма = ВнешниеОбработки.ПолучитьФорму

ругается на Данное действие недоступно в связи с отсутствием главного окна

Можете подсказать с чем это может быть связано? Причем до недавнего времени все работало, после обновления появилась данная ошибка

ЗУП 2.5.61.5
1 Волшебник
 
26.02.13
15:47
>> Можете подсказать с чем это может быть связано?

Данное действие недоступно в связи с отсутствием главного окна
2 Reset
 
26.02.13
15:51
ПередНачаломРаботыСистемы()
...
Примечание:

В данной процедуре не допускаются открытие форм и других окон, не поддерживаются выдача сообщений, установка текста в панели состояния, а также другие действия, требующие наличия главного окна.
3 Reset
 
26.02.13
15:52
Делаб ставку на то, что "до обновления" форма открывалась в ПриНачалеРаботыСистемы
4 Reset
 
26.02.13
15:52
Делаю*
5 alexexe
 
26.02.13
15:56
(3) Да, все верно! До обновления все правильно запускалось.

А как можно теперь обработку запустить не открывая формы?
6 alexexe
 
26.02.13
15:57
извиняюсь, прочитал невнимательно, нет обработка запускалась именно ПередНачаломРаботы
7 pessok
 
26.02.13
15:58
(6) может обработка СОЗДАВАЛАСЬ перед началом работы? а не форма открывалась?
8 Defender aka LINN
 
26.02.13
15:59
(6) А вот тут, батенька вы беззастенчиво свистите.
9 alexexe
 
26.02.13
16:02
Процедура ПередНачаломРаботыСистемы(Отказ)
   
   УправлениеПользователями.ПроверитьВозможностьРаботыПользователя(Отказ);
   
   // Для пользователя робота
   Если СокрЛП(ПользователиИнформационнойБазы.ТекущийПользователь().Имя) = "Robot" Тогда
       
       // Запустим выгрузку из ЗУП
       ОбработкаВыгр = Справочники.ВнешниеОбработки.НайтиПоКоду("Х00000011");
       ВыбраннаяСтрока = ОбработкаВыгр; // Для совместимости скопированного кода
       
       Если ОбработкаВыгр.Пустая() Тогда
           Возврат;
       КонецЕсли;
       
       Попытка
       
       ИмяФайла = ПолучитьИмяВременногоФайла();
       ДвоичныеДанные = ВыбраннаяСтрока.ХранилищеВнешнейОбработки.Получить();
       ДвоичныеДанные.Записать(ИмяФайла);
       
       Форма = ВнешниеОбработки.ПолучитьФорму(ИмяФайла);
           
       Если Не Форма = Неопределено Тогда
           Форма.Открыть();
       Иначе
           ВнешняяОбработка = ВнешниеОбработки.Создать(ИмяФайла);
       КонецЕсли;
       
       Сообщить ("Успешно выгрузили");
       
       Исключение
           Сообщить("Не удалось запустить выгрузку в ЗУП");
       КонецПопытки;
       
       Отказ = Истина;
       
   КонецЕсли;
   
КонецПроцедуры
10 alexexe
 
26.02.13
16:03
может чего-то не понимаю, но эта функция работала безупречно
11 Defender aka LINN
 
26.02.13
16:07
(10) Ты не понимаешь, что мы в сказки не верим
12 Wobland
 
26.02.13
16:08
(11) верим. у него проверка текущего пользователя не проходила
13 Wobland
 
26.02.13
16:09
(12) или ОбработкаВыгр.Пустая() истину давала
14 Reset
 
26.02.13
16:23
Ошибку должна давать строка Форма.Открыть() а не та что в (0)
Так что еще + к (12)(13) версия - обработка была без формы например :)
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.