0
DenAst
09.06.12
✎
14:16
|
Помогите решить проблему
Самописная конфигурация, начал перевод на управляемые формы - до этого с УФ не работал, это первый опыт.
Конфигурация написана на обычных формах, при запуске системы раз в 5 мин загружала данные из базы 77, вызов организовывал через ПодключитьОбработчикОжидания в процедуре ПриНачалеРаботыСистемы() в модуле обычного приложения.
Теперь необходимо этот блок перенести на УФ:
ПодключитьОбработчикОжидания выполняется только на клиенте, запускаю его в модуле УправляемогоПриложения. Но у меня стоит проверка на пользователей, выполняю редактирование констант обмена в режиме булево, чтобы параллельно другие пользователи не загружали данные.
модуль такой:
Процедура ОбменДаннымиСбазой77() экспорт
//Константы.ЗапущенОбмен.Установить(0);
Если Константы.ЗапущенОбмен.Получить()=0 Тогда
Попытка
Константы.ЗапущенОбмен.Установить(1); //занимаем чтоб больше другие пользователи не делали то же самое
Обработки.ЗагрузкаДанных.Создать().ЗагрузкаДанных();
Исключение
Сообщить(ОписаниеОшибки());
КонецПопытки;
Попытка
Константы.ЗапущенОбмен.Установить(0); //теперь отпускаем процесс
Исключение
Сообщить(ОписаниеОшибки());
КонецПопытки;
КонецЕсли;
КонецПроцедуры
Процедура ПриНачалеРаботыСистемы()
//Обмен файлами с базой 77
Если (СокрЛП(ПараметрыСеанса.ТекущийПользователь.Наименование)<>"Директор") Тогда
Интервал = 5*60; //раз в 5 минут
ПодключитьОбработчикОжидания("ОбменДаннымиСбазой77", Интервал);
КонецЕсли;
КонецПроцедуры
проверку на пользователям выполнить обязательно, ибо загрузки большие, раз в день загружает актуальные остатки, а это процесс на мин 10, и для этого пользователя запускать его не к чему. Поэтому первый вопрос как из клиента проверить этого пользователя, затем второй вопрос как установить значение констант из клиента. Если создаю процедуру на сервере или в общем модуле с флажком сервер, то ругается...
|
|