Имя: Пароль:
1C
1С v8
ПодключитьОбработчикОжидания и 1с:8.2 УФ
0 DenAst
 
09.06.12
14:16
Помогите решить проблему
Самописная конфигурация, начал перевод на управляемые формы - до этого с УФ не работал, это первый опыт.
Конфигурация написана на обычных формах, при запуске системы раз в 5 мин загружала данные из базы 77, вызов организовывал через ПодключитьОбработчикОжидания  в процедуре ПриНачалеРаботыСистемы() в модуле обычного приложения.
Теперь необходимо этот блок перенести на УФ:
ПодключитьОбработчикОжидания выполняется только на клиенте, запускаю его в модуле УправляемогоПриложения. Но у меня стоит проверка на пользователей, выполняю редактирование констант обмена в режиме булево, чтобы параллельно другие пользователи не загружали данные.

модуль такой:


Процедура ОбменДаннымиСбазой77() экспорт        
   
       //Константы.ЗапущенОбмен.Установить(0);
       Если Константы.ЗапущенОбмен.Получить()=0 Тогда
           
           Попытка
               Константы.ЗапущенОбмен.Установить(1); //занимаем чтоб больше другие пользователи не делали то же самое
               
               Обработки.ЗагрузкаДанных.Создать().ЗагрузкаДанных();                
           Исключение
               Сообщить(ОписаниеОшибки());
           КонецПопытки;  
           
           Попытка
               Константы.ЗапущенОбмен.Установить(0);  //теперь отпускаем процесс
           Исключение
               Сообщить(ОписаниеОшибки());
           КонецПопытки;  
           
       КонецЕсли;
   

КонецПроцедуры


Процедура ПриНачалеРаботыСистемы()      
   
   //Обмен файлами с базой 77  
   Если (СокрЛП(ПараметрыСеанса.ТекущийПользователь.Наименование)<>"Директор") Тогда
       Интервал = 5*60; //раз в 5 минут        
       ПодключитьОбработчикОжидания("ОбменДаннымиСбазой77", Интервал);
   КонецЕсли;    
       
КонецПроцедуры



проверку на пользователям выполнить обязательно, ибо загрузки большие, раз в день загружает актуальные остатки, а это процесс на мин 10, и для этого пользователя запускать его не к чему. Поэтому первый вопрос как из клиента проверить этого пользователя, затем второй вопрос как установить значение констант из клиента. Если создаю процедуру на сервере или в общем модуле с флажком сервер, то ругается...
1 and2
 
09.06.12
14:19
если есть сервер 1с, сделай регламентным заданием.
2 and2
 
09.06.12
14:20
а если нет, посмотри в типовой УТ, как там регламентное задание запускается по загрузке валюты, к примеру.
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.