Вопрос № 48332: Здравствуйте уважаемые, эксперты, помогите с такой проблемой. В составе конфигурации (конфа самописная на основе Бух учёта) есть отчёт который загружает весь процесор сервера. Как сделать так чтобы етот отчет пользователи не могли запускать одновреме...
Вопрос № 48.332
Здравствуйте уважаемые, эксперты, помогите с такой проблемой. В составе конфигурации (конфа самописная на основе Бух учёта) есть отчёт который загружает весь процесор сервера. Как сделать так чтобы етот отчет пользователи не могли запускать одновременно? Так как это приводит к перезагрузки сервера или к невозможности работать другим пользователям.
Заранее спасибо за ответ.
Отвечает: BuhCIA
Здравствуйте, Гайдашевский Александр Иванович!
Простейшей вариант - завести константу (1 - отчет запущен, 0 - нет, больше 1 - запущен несколькими пользователями), время между проверкой и присвоением сделать минимальным, например, в одну строку текста (двойная проверка):
Если Константа.Блок1=0 Тогда Константа.Блок1=Константа.Блок1+1;Иначе Возврат;КонецЕсли; Если Константа.Блок1>1 Тогда Возврат;КонецЕсли;
А при выходе Константа.Блок1=0;
По-моему, для Вашей ситуации, не слишком критичной, достаточно.
--------- Скажите, сколько времени? - (устало, показывая часы) Читайте, там же все написано!
Ответ отправил: BuhCIA (статус: Практикант)
Ответ отправлен: 06.07.2006, 11:46 Оценка за ответ: 4
Отвечает: Manserg
Здравствуйте, Гайдашевский Александр Иванович!
Да BuhCIA прав, это самое простое, можно вместо константы использовать глобальную переменную например, но суть та же.
Ответ отправил: Manserg (статус: 2-ой класс)
Ответ отправлен: 06.07.2006, 12:28 Оценка за ответ: 4
Отвечает: Ovr1970
Здравствуйте, Гайдашевский Александр Иванович!
Насколько я понял бухгалтнра работают на терминальном сервере.
Для этого есть решение mutex1c, которое использует специальный OLE компонент.
Решение можно промотреть в клубе проффессионалов 1С
Ответ отправил: Ovr1970 (статус: Студент)
Ответ отправлен: 07.07.2006, 13:12 Оценка за ответ: 5