8.х Передача параметра и выполнение процедуры в сеансе другого пользователя

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем dponomarchuk, 20 янв 2010.

  1. TopicStarter Overlay
    dponomarchuk
    Offline

    dponomarchuk Новичок в 1С

    Регистрация:
    11 окт 2009
    Сообщения:
    47
    Симпатии:
    1
    Баллы:
    4
    Доброго времени суток.
    Нужно выполнять определенные действия в фоновом режиме, а именно запускать обработку по перепроведению цепочки документов в партионном учете. Фоновое задание не подходит, т.к. задание необходимо выполнять сразу после подачи команды, а команда ВыполнитьОбработкуЗаданий с переданным параметром 10 сек (время проверки задания) очень сильно загружает систему.
    Хотелось бы услышать советы, а может и решения проблемы.
    Спасибо.
  2. Itsys
    Offline

    Itsys Опытный в 1С

    Регистрация:
    3 янв 2010
    Сообщения:
    1.394
    Симпатии:
    0
    Баллы:
    26
    Не задавайте время и выполнится один раз
    Код:
    ВыполнитьОбработкуЗаданий (ProcessJobs)
    Синтаксис:
    ВыполнитьОбработкуЗаданий(<Время обработки>) 
    Параметры:
    <Время обработки> (необязательный)
    Тип: Число. Время в секундах обработки очередной порции заданий. Если время не задано, будет выполнен только один цикл обработки. 
    Описание:
    Вызывает обработку текущих заданий. Имеет смысл только для файлового варианта. 
    
  3. TopicStarter Overlay
    dponomarchuk
    Offline

    dponomarchuk Новичок в 1С

    Регистрация:
    11 окт 2009
    Сообщения:
    47
    Симпатии:
    1
    Баллы:
    4
    База в файловом варианте. Поэтому для выполнения заданий создается отдельный сеанс "Робот".
    Процедура ВыполнитьОбработкуЗаданий должна запускаться именно в этом отдельном сеансе.
    Я разместил эту процедуру в обработчик события ПиНачалеРаботыСистемы в модуле приложения, поставил время 10 сек( потому что система должна сразу или хотя бы через 10 сек запускать обработку) - при этом сеанс "Робот " начинает сильно грузить проц и практически висеть.
    Может я неправильно понял методику фоновых заданий, поправьте меня если я не прав.
    В файловом варианте: обязательно должен создаваться отдельный сеанс, в котором должна периодически вызываться функция глобального контекста ВыполнитьОбработкуЗаданий. Остальные сеансы могут добавлять свои задания, которые будут выполняться "Роботом" при выполнении функции "ВыполнитьОбработкуЗаданий". Получается основная проблема - это запускать эту функцию тогда, когда нужно. А вариант частого ее исполнения (т.е. каждые 10 сек) - не подходит.
  4. ASh
    Offline

    ASh Опытный в 1С

    Регистрация:
    10 сен 2008
    Сообщения:
    568
    Симпатии:
    0
    Баллы:
    26
    Сделайте флажок какой-нибудь. Например, константу заведите. И эту константу мониторьте с интервалом в 10 сек. В случае, если флажок взведен, выполняйте свои действия и сбрасывайте флажок. Проверка константы грузить систему не будет.
  5. TopicStarter Overlay
    dponomarchuk
    Offline

    dponomarchuk Новичок в 1С

    Регистрация:
    11 окт 2009
    Сообщения:
    47
    Симпатии:
    1
    Баллы:
    4
    наверное так и сделаю. Спасибо.

Поделиться этой страницей