-

Пауза в 1С

1
664
23.02.2022 Ольга Волкова

Содержание:

1.       Вариант 1 – управляемые блокировки 1С

2.       Вариант 2 – цикл с проверкой даты и времени

3.       Вариант 3 – диалог Предупреждение в 1С

4.       Вариант 4 – запуск пинга


Как организовать паузу в 1С? Иногда это бывает нужно в процессе работы с данными.. Платформа 1С  не предоставляет нам решение на уровне глобального контекста. Однако есть несколько вариантов решения этой задачи.  

 

1.       Вариант 1 – управляемые блокировки 1С

 

Вариант, который мы рассмотрим, основан на использовании механизма управляемых блокировок 1С, вместе с механизмом фоновых заданий, а точнее выполнения фонового задания "ОжидатьЗавершенияВыполнения".


Использовать будем объект "Общий модуль" и регистр сведений. Регистр сведений нужен для реализации управляемой блокировки по определенному условию, а именно: по номеру сеанса. В одну единицу времени у базы не может быть два сеанса с одинаковыми номерами, то есть одна пауза не помешает другому сеансу создать свою паузу.

 

Мы напишем несколько процедур, которые должны находиться в общем модуле регистра сведений:

 

Регистр сведений назовем "НашаПауза".

Измерения –  НомерСеанса;

Ресурсы –      ДатаНачалаПаузы;

                        ДатаОкончанияПаузы;

                        Причина;

                        ИмяИнициатора;

 

Первая процедура Выполнить паузу в секундах.

 

Параметры процедуры

·         Время паузы сек – количество секунд, на которое необходимо установить паузу; 

·         Причина и произвольный текст, будут записаны наш регистр сведений.

 

Находим сеанс пользователя и устанавливаем управляемую блокировку на его сеанс, затем запускаем фоновое задание и устанавливаем метод "ОжиданиеЗавершенияВыполнения" с временем ожидания равным нашей паузе. По завершению ожидания блокировка сеанса снимается.

 


Рис. 1 Управляемая блокировка сеанса


Процедура Пауза

"Собственно_Пауза (НомерСеанса,ВремяОкончанияПаузы)"

Параметры

·         Номер Сеанса сеанс, который ставится на паузу;

·         Время окончания паузы – значение, когда должна закончится пауза.


При попытки прочитать значение заблокированной записи регистра сведений в 1С и возникает наша пауза.



Рис. 2 Заблокированная запись регистра сведений в 1С и появление паузы


Процедура "ЗависшиеПаузы"

Процедура выполняется регламентным заданием и удаляет неактуальные записи, которые  могли остаться в регистре сведений.



Рис. 3 ЗависшиеПаузы для паузы в 1С


Теперь в любом месте конфигурации можно написать

НашаПауза.ВыполнитьПаузу_ВСекундах(5);  


2.       Вариант 2 – цикл с проверкой даты и времени


Можно на встроенном языке написать цикл с проверкой даты и времени. Вариан часто используется, но имеет недостаток –это загрузка процессора.



Рис. 4 Цикл с проверкой даты и времени  


3.       Вариант 3 – диалог Предупреждение в 1С


Также можно использовать диалог "Предупреждение" в коде, в качестве параметра задаем необходимый таймаут:



Рис. 5 Диалог Предупреждение в 1С  


4.       Вариант 4 – запуск пинга


Вариант с использование ping и запуска  внешнего приложения  из скрипта VBScript с применением объекта WshShell и его  метода Run(). Запуск пинга нужно производить с определенным временем задержки.



Рис. 6 Запуск пинга


Специалист компании  «Кодерлайн»

Ольга Волкова

Задать вопрос автору статьи
Тема вопроса*
Ваше имя*
E-mail или телефон*
Ваш вопрос*
 

0
Дмитрий Кондратьев
Можно сделать паузу с одним только механизмом фоновых заданий без механизма управляемых блокировок.

В общий модуль ОбщегоНазначения добавить процедуры:
Код
Процедура Пауза(Секунд) Экспорт
   Параметры = Новый Массив(1);
   Параметры[0] = Секунд;
   ФоновыеЗадания.Выполнить("ОбщегоНазначения.ПаузаФон", Параметры).ОжидатьЗавершения()
КонецПроцедуры

Процедура ПаузаФон(Секунд) Экспорт
   Попытка
      ПолучитьТекущийСеансИнформационнойБазы().ПолучитьФоновоеЗадание().ОжидатьЗавершения(Секунд)
   Исключение
   КонецПопытки
КонецПроцедуры

Фоновое задание ждёт завершения самого себя, не дожидается и прерывается по таймауту.
Имя Цитировать 0
Добавить комментарий
Текст сообщения*
Защита от автоматических сообщений
 
Теги
#1С: CRM #1С: ERP #1С: ERP Управление строительной организацией #1С: ERP. Управление буровой компанией #1С: WMS Управление складом #1С: Аренда и управление недвижимостью #1С: БУХ #1С: Договорчики #1С: Документооборот #1С: ЗУП #1С: Интеграция #1С: КА #1С: Колледж #1С: Конвертация данных #1С: Модули #1С: Платформа #1С: Розница #1С: Сценарное тестирование #1С: ТОИР #1С: УАТ #1С: УКФ #1С: Университет #1С: УНФ #1С: УПП #1С: Управление строительной организацией #1С: УТ #1С: УХ #1С:ERP #1С:БГУ #1С:БП #1С.6-НДФЛ #ADO #APACHE #API #canonical #com-объекты #Excel #Excel в 1С #GoogleDrive #HTTP #ITIL #Koderline: Управление медиа-холдингом #Koderline: Управление проектами строительства скважин #LINUX #MS SQL Server #WEB #WEB-сервисы 1С #Word #XML #Администрирование 1С #акты в 1С #Безопасность сервера #Бесшовная интеграция #БИТ.Финанc #Битрикс24 #Блокировки в 1С #БСП #БУ #Бурение скважин #Бюджетирование #Внедрение #Внедрение ERP #Закрытие месяца #Запросы 1С #Интеграция 1С #КАК ОТРАЖАЮТСЯ ТОВАРЫ В ПУТИ 1С #Как сделать в 1С #Конвертация данных #Корпоративное сопровождение #Лизинг #Лицензии 1С #Механизм Анализа Данных в 1С #Моделирование #Модуль Диадок #МСФО #Налоги #Обмен между базами #Обновления #Оптимизация #Отпуск #Отчетность #Отчеты в 1С #Оценка задач #Перенос данных #Планирование #Полезные обработки #Правила обмена #предопределенные элементы справочников #Проводки 1С #Программирование в 1С #Программные права #Продажи #Производство #Работа с объектами в 1С #Расширение конфигурации #РСБУ #С # #СКД #Соединение COM в 1С платформе #Сравнение конфигураций #Тестирование 1С #Техническое задание #Торговое оборудование #Транспортная логистика #Управление проектами #Финансовый учет #Хранилище настроек #Ценообразование #Экзамен 1С #Яндекс.Касса 1С под Linux 1С:УНФ Email или телефон Работа с объектами в 1С Функциональные опции в 1С
Услуги программиста 1С
Получите специалиста  
для решения всех задач
в области 1С
Программы 1С
Цены и подробное описание программ 1С:Предприятие 8.