Выгонялка пользователей.

09.02.10

База данных - Инструменты администратора БД

Данная разработка это первое что я решил выложить на этот дивный сайт. Она позволяет отключать пользователей штатными средствами. А так же их информирования о процессе отключения.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Обработка отключения
.epf 16,40Kb
2017
2017 Скачать (1 SM) Купить за 1 850 руб.

Поискав и не найдя того что мне нужно для отключения забывчивых пользователей из базы данных решил написать данную обработку.

Обработка позволяет:

  • просматривать список пользователей;
  • задавать кто не будет отключен для сервисной работы;
  • возможность быстрого отключения;
  • установка монопольного режима;
  • выдержка времени не подключения;
  • запрет подключения к базе в течении определенного времени;
  • отключение не всех пользователей.

Доработка конфигурации:

  • Обработка настройки отключения (в приложении);
  • Регистр сведений;
  • Модуль приложения.

Регистр сведений

ргОтключениеПользователей, непереодический, с независимым режимом записи.

Измерения:

Пользователь - справочник пользователи, ведущее или основной отбор

Ресурсы:

  • Отключить - Булево;
  • ЗапретПодключения - Булево;
  • БыстроеОтключение - Булево;
  • СостояниеОтключения - Строка, 3 символа, фиксированная;
  • Сообщение - Строка, 300 символов, переменная;
  • ДатаВремяПуска - Дата, Дата и время;
  • ОтключениеМинут - Число, 2 разряда;  // до 99 минут
  • ПаузаДоОтключения - Число, 1 разряд. // от 3  до 5 минут

Модуль приложения

 

// Процедура контроля возможности подключения.
//
Процедура СтартПроверкиОтключения(Отказ) Экспорт
   
Пользователь = УправлениеПользователями.ОпределитьТекущегоПользователя();
   
Зп = Новый Запрос;
   
Зп.УстановитьПараметр("Пользователь",Пользователь);
   
Зп.Текст = "ВЫБРАТЬ
    | ргОтключениеПользователей.Пользователь,
    | ргОтключениеПользователей.ЗапретПодключения,
    | ргОтключениеПользователей.ДатаВремяПуска,
    | ргОтключениеПользователей.ОтключениеМинут,
    | ргОтключениеПользователей.ПаузаДоОтключения
    |ИЗ
    | РегистрСведений.ргОтключениеПользователей КАК ргОтключениеПользователей
    |ГДЕ
    | ргОтключениеПользователей.Пользователь = &Пользователь"
;
   
РезультатЗп = Зп.Выполнить().Выбрать();
    Если
РезультатЗп.Следующий() Тогда
        Если
РезультатЗп.ЗапретПодключения Тогда
           
НеПодключать = Ложь;
           
// Расчет времени не подключения
           
ТекДата = ТекущаяДата();
           
СтартДата = РезультатЗп.ДатаВремяПуска;
           
ВремяПаузы = (РезультатЗп.ОтключениеМинут + РезультатЗп.ПаузаДоОтключения) * 60;
           
ДельтаПаузы = ТекДата - СтартДата;
            Если
ВремяПаузы > ДельтаПаузы Тогда
               
НеПодключать = Истина;
            КонецЕсли;
           
// Конец Расчета времени не подключения
           
Если НеПодключать Тогда
               
#Если Клиент Тогда
                   
Предупреждение("Подключение запрещено. Ведутся сервисные работы.", 5, "Подключение...");
               
#КонецЕсли
               
//Отказ = Истина;
           
КонецЕсли;
        КонецЕсли;
    КонецЕсли;
   
// Проверка и опрос состояния отключения
   
ПодключитьОбработчикОжидания("ЦиклическийВызов",15);
КонецПроцедуры
// СтартПроверкиОтключения()


// Процедура контроля отключения. Конечный автомат состояний отключения.
//
Процедура ЦиклическийВызов() Экспорт
   
ОтклПользователей = РегистрыСведений.ргОтключениеПользователей;
   
Отбор = Новый Структура("Пользователь");
   
Отбор.Пользователь = УправлениеПользователями.ОпределитьТекущегоПользователя();
   
ВыборкаРегистра = ОтклПользователей.Выбрать(Отбор);
    Пока
ВыборкаРегистра.Следующий() Цикл
       
Запись = ВыборкаРегистра.ПолучитьМенеджерЗаписи();
       
Запись.Прочитать();
       
СостОткл = Запись.СостояниеОтключения;
       
ВремяОткл = Запись.ПаузаДоОтключения;
       
Пр = Лев(СостОткл,1);
        Если
Пр = "А" Тогда
           
СостОткл = "Б" + Строка(ВремяОткл*4);
           
Запись.СостояниеОтключения = СостОткл;
           
Запись.Записать();
           
#Если Клиент Тогда
               
Сигнал();
               
Сигнал();
               
Сигнал();
               
Предупреждение(Запись.Сообщение,15,"Предупреждение");
           
#КонецЕсли
       
ИначеЕсли Пр = "Б" Тогда
           
Время = Число(Прав(СостОткл,2));
           
Время = Время - 1;
            Если
Время = 0 Тогда
               
СостОткл = "В";
            Иначе
               
СостОткл = "Б" + Строка(Время);
            КонецЕсли;
           
Запись.СостояниеОтключения = СостОткл;
           
Запись.Записать();
        ИначеЕсли
Пр = "В" Тогда
           
СостОткл = "Г" + Строка(ВремяОткл-1);
           
Запись.СостояниеОтключения = СостОткл;
           
Запись.Записать();
           
#Если Клиент Тогда
               
Сигнал();
               
Сигнал();
               
Сигнал();
               
Предупреждение(Запись.Сообщение,15,"Предупреждение!");
           
#КонецЕсли
       
ИначеЕсли Пр = "Г" Тогда
           
Время = Число(Прав(СостОткл,2));
           
Время = Время - 1;
            Если
Время = 0 Тогда
               
СостОткл = "Д";
            Иначе
               
СостОткл = "Г" + Строка(Время);
            КонецЕсли;
           
Запись.СостояниеОтключения = СостОткл;
           
Запись.Записать();
        ИначеЕсли
Пр = "Д" Тогда
           
СостОткл = "Ш";
           
Запись.СостояниеОтключения = СостОткл;
           
Запись.Записать();
           
#Если Клиент Тогда
               
Сигнал();
               
Сигнал();
               
Сигнал();
               
Предупреждение("Извините но вы не предприняли никаких действий.",5,"Отключение.");
               
ЗавершитьРаботуСистемы();
           
#КонецЕсли
       
ИначеЕсли Пр = "Ш" Тогда
           
СтопПроверкиОтключения();
           
#Если Клиент Тогда
               
Сигнал();
               
Сигнал();
               
Сигнал();
               
Предупреждение("Тушим...",5,"Отключение.");
               
ПрекратитьРаботуСистемы();
           
#КонецЕсли
       
КонецЕсли;
    КонецЦикла;
КонецПроцедуры
// ЦиклическийВызов()


// Процедура контроля отключения.
//
Процедура СтопПроверкиОтключения() Экспорт
   
ОтклПользователей = РегистрыСведений.ргОтключениеПользователей;
   
Отбор = Новый Структура("Пользователь");
   
Отбор.Пользователь = УправлениеПользователями.ОпределитьТекущегоПользователя();
   
ВыборкаРегистра = ОтклПользователей.Выбрать(Отбор);
    Пока
ВыборкаРегистра.Следующий() Цикл
       
Запись = ВыборкаРегистра.ПолучитьМенеджерЗаписи();
       
Запись.Отключить = Ложь;
       
Запись.СостояниеОтключения = "К";
       
Запись.Записать();
    КонецЦикла;
КонецПроцедуры
// СтопПроверкиОтключения()


Процедура ПередНачаломРаботыСистемы(Отказ)
   
// Типовый вызовы
   
СтартПроверкиОтключения(Отказ);
КонецПроцедуры


Процедура
ПриЗавершенииРаботыСистемы()
   
// Типовый вызовы
   
СтопПроверкиОтключения();
КонецПроцедуры

PS Первая проба пера. Если что не так пишите откорректирую.

UPD: Спасибо за рейтинг. Скачал Разукрашку. Обновил код.

UPD2: Поправил обязательную настройку регистра.

UPD3: Откорректировал процедуру кнопки отключить, заполнение регистра значений. Заполняется все отмеченные пользователи а не только последний.

Ребята читаем комментарии! Все вопросы по ошибкам там уже обсуждались! Следуя всем замечаниям перенес обработку из УТП в УПП (без дополнительного модуля) все заработало с первого раза.

См. также

Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Системный администратор Программист Руководитель проекта Платформа 1С v8.3 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы. Может выполнять свертку сразу нескольких баз данных и выполнять их автоматически без непосредственного участия пользователя. Решение в Реестре отечественного ПО

8400 руб.

20.08.2024    13036    100    46    

104

Инструменты администратора БД Роли и права Системный администратор Программист Пользователь 8.3.14 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Документооборот 1С:Зарплата и кадры государственного учреждения 3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Роли… Вы тратите много времени и сил на подбор ролей среди около 2400 в ERP или 1500 в Рознице 2, пытаясь понять какими правами они обладают? Вы все время смотрите права в конфигураторе или отчетах чтоб создать нормальные профили доступа? Вы хотите наглядно видеть какие права дает профиль и редактировать все в простом виде? А может хотите просто указать подсистему и дать права на просмотр и добавление на объекты и не лезть в дебри прав и чтоб обработка сама подобрала нужные роли? Все это теперь стало возможно! Обновление от 18.09.2024, версия 1.2

18000 руб.

06.12.2023    10128    48    5    

78

SALE! %

Инструментарий разработчика Инструменты администратора БД Системный администратор Программист Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

Универсальный инструмент программиста для администрирования конфигураций. Сборник наиболее часто используемых обработок под единым интерфейсом.

4800 3840 руб.

14.01.2013    190709    1151    0    

918

Инструменты администратора БД Инструментарий разработчика Роли и права Программист Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Расширение позволяет без изменения кода конфигурации выполнять проверки при вводе данных, скрывать от пользователя недоступные ему данные, выполнять код в обработчиках. Не изменяет данные конфигурации, легко устанавливается практически на любую конфигурацию на управляемых формах.

15000 руб.

10.11.2023    11455    40    27    

66

Закрытие периода Инструменты администратора БД Корректировка данных Бухгалтер Пользователь Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Расширение «Оперативное проведение» в 4 раза уменьшает время проведения документов и закрытия месяца. Является комплексным решением проблем 62 и 60 счетов. Оптимизирует проведение при включенной функциональной опции «Раздельный учет НДС». Используется в более 10 организациях уже 2 года. Совместимо с конфигурацией Бухгалтерия 3.0 (+КОРП).

14400 руб.

29.04.2020    33656    109    152    

75

Инструменты администратора БД Системный администратор Программист Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Брандмауэр для сервера 1С включает в себя управление возможностью начала и возобновления сеансов пользователей по различным условиям, ограничение общего числа возможных сеансов для работы с информационной базой, резервирование возможности работы с информационной базой определенных польззователей, запрет запуска нескольких сеансов для пользователя, журнализация событий начала (возобновления) и завершения (гибернации) сеансов, ведение списка активных сеансов для информационных баз кластера серверов

3600 руб.

06.02.2017    32520    145    18    

51

Архивирование (backup) Инструменты администратора БД Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Управление торговлей 11 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Данная разработка позволит решить вопрос с резервным копированием Ваших баз в автоматическом режиме, расположенных на сервере 1С. Система умеет ставить блокировки на вход, блокировать фоновые задания, принудительно отключать сеансы пользователей. И все это система делает в автоматически при создании бэкапа (или через команду). Выгрузка происходит в родной формат 1С - .dt. Так же система умеет архивировать данные выгрузки с установкой пароля. Умеет менять расширение файла zip или dt на любое указанное вами, что позволит сохранить выгрузки от шифровальщика. Может удалять старые копии выгрузок, оставляя указанное количество резервных копий, начиная с самой поздней. Только для WINDOWS!

6000 руб.

06.11.2012    73590    629    45    

88

Инструменты администратора БД Пользователь Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Платные (руб)

Многие сталкиваются с проблемой когда изображения, находящиеся в базе разные по объему и размерам. Менеджеры могут добавить файлы в очень высоком разрешении, объемом свыше 20 Мегабайт. База данных становится слишком большой, выгрузка на сайт идёт медленно и требуется много место на хостинге. Как сжать картинки и уменьшить размер базы 1С? Это можно сделать с помощью данной обработки. Существует возможность выбрать различные варианты для того чтобы уменьшить картинки: в разы, в процентах от первоначального объема, а также сделать картинки одинаковой ширины. В результате размер базы 1С значительно сократится (в зависимости от количества и размера картинок), а изображения станут небольшого объема, равными по ширине, почти без потери качества. Работает на управляемых формах для УТ 11, КА, ERP.

3000 руб.

21.07.2022    10119    9    4    

17
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. MRAK 727 09.02.10 15:54 Сейчас в теме
2. pencroff 123 09.02.10 15:59 Сейчас в теме
To 1. Подправил. Обработку прекрепил
3. SiAl 76 09.02.10 17:36 Сейчас в теме
4. artbear 1565 09.02.10 17:37 Сейчас в теме
(0) 1. Код в публикации оформи нормально, нечитаемо - значит, нельзя проверить :(
Например, можешь найти на сайте "Разукрашка" и с ее помощью раскрасить код 1С.

2. Состояния отключения - Ш, К, Г и т.д - ну совершенно нечитаемо, неузнаваемо и т.д.

3. Что будешь делать, если пользователь заблокировал свою 1С ?
твой код отработает?
Проверял на случай, если у пользователя открыта измененная форма какого-нибудь документа?
6. pencroff 123 09.02.10 17:58 Сейчас в теме
To (4)
Например, можешь найти на сайте "Разукрашка"/QUOTE]Если можно киньте на почту "Разукрашка", а то не могу скачать. Все поправлю.
[IS-QUOTE]Состояния отключения - Ш, К, Г и т.д - ну совершенно нечитаемо, неузнаваемо
Приму к сведению. Я тоже задумался над этим когда писал. Думаю что завтра откорректирую и выложу снова.
Что будешь делать, если пользователь заблокировал свою 1С ?
твой код отработает?
Пользователь не может заблокировать сам себя. Возникает предупреждение.
Проверял на случай, если у пользователя открыта измененная форма какого-нибудь документа?
Не проверял и проверять не планирую. Для этого и дается пользователю от 3-х до 5-ти минут что бы все сохранить и выйти. Иначе просто выходим ничего не сохраняя. ПрекратитьРаботуСистемы();

5. mbreaker 1417 09.02.10 17:43 Сейчас в теме
хм... не совсем понял, в чём принципиальное отличие от Установки блокировки пользователей кроме "отключение не всех пользователей"?

могу предположить, конечно, что это лично для работы любимого главбуха... но для него можно просто вывести отдельный ярлык для запуска 1cv8.exe с указанием ключа блокировки (/UC)... а для себя любимого и подавно...

с монопольным режимом тоже лишний раз лучше не играться... это шаг назад к 7-ке... там где нужно он сам и установится, и снимется...

не говорю, что это бесполезная вещь, кому-то наверняка понравится... но, честно сказать, ради такого я бы не стал менять конфу, чтобы потом из релиза в релиз заморачиваться каждый раз на перенос этого функционала...
7. pencroff 123 09.02.10 18:00 Сейчас в теме
to (5) для того что бы объеденять было очень просто все расположенно во внешней обработке и всего в трех процедурах в модуле приложения. Поэтому не вижу сложностей с объединением.
8. Yashazz 4802 09.02.10 18:00 Сейчас в теме
Ещё бы режимы обозвать поприятнее, а то "Designer"... Впрочем, не ново. Coder1cv8 уже выкладывал такую, сугубо недурственную.
9. Psylocibine 09.02.10 18:19 Сейчас в теме
В файловом режиме работает?
10. pencroff 123 09.02.10 18:30 Сейчас в теме
(9) работает с любым вариантом системы. Для отключения пользователей используются вызовы:
  • ЗавершитьРаботуСистемы()
  • ПрекратитьРаботуСистемы()
11. Zexes 10.02.10 00:29 Сейчас в теме
12. SergeyT2006 10.02.10 07:56 Сейчас в теме
А чем не устраивает КонсольКластеровСерверов - стандартная обработка от 1С?
17. MRAK 727 10.02.10 11:43 Сейчас в теме
(12) она в файловом варианте работает? :)
13. Re:аниматор 338 10.02.10 09:16 Сейчас в теме
лучше сделать систему оповещения пользователям, чего кстати нет в стандарте
14. pencroff 123 10.02.10 10:35 Сейчас в теме
(13) Хорошая идея. Расширить функционал для системы оповещения.
65. AndrChem 21.04.11 10:39 Сейчас в теме
Бухгалтерия предприятия 2.0
получаю вот такое сообщение:
{Форма.СервисФорма.Форма(14)}: Недостаточно фактических параметров
Пользователь = УправлениеПользователями.ОпределитьТекущегоПользователя();
15. davlen 62 10.02.10 10:59 Сейчас в теме
{Форма.СервисФорма(123,9)}: Переменная не определена (ДополнительныйМодуль)
Если <<?>>ДополнительныйМодуль.ПустоеЗначение(ЭлементМассива.Пользователь) Тогда

Что это за ДополнительныйМодуль
andre solovij; +1 Ответить
16. pencroff 123 10.02.10 11:14 Сейчас в теме
(15) Сори. Не заметил. Это я написал аналог функции 7.7 ПустоеЗначение().
Вот ее текст:
//	Аналог ПустоеЗначение из 7.7
Функция ПустоеЗначение (Элемент = Неопределено) Экспорт
	Если Элемент = Неопределено Тогда
		Возврат Истина;	
	КонецЕсли;
	ТипЭл = ТипЗнч(Элемент);
	Если ТипЭл = Тип ("Строка") Тогда
		Возврат ПустаяСтрока(Элемент);	
	ИначеЕсли ТипЭл = Тип ("Дата") Тогда
		Возврат (Элемент = Дата('00010101000000'));
	ИначеЕсли ТипЭл = Тип ("Число") Тогда
		Возврат (Элемент = 0);
	ИначеЕсли ТипЭл = Тип ("Структура") Тогда
		Возврат Ложь;
	Иначе		
		//	Продолжить для всех типов
		Возврат ПустаяСтрока(Строка(Элемент)); // Пока так
	КонецЕсли;
КонецФункции
Показать
andre solovij; +1 Ответить
18. Yashazz 4802 10.02.10 11:57 Сейчас в теме
(16) А что, "ЗначениеЗаполнено" уже отменили?
19. pencroff 123 10.02.10 12:06 Сейчас в теме
(18) :) Не знал. Посмотрю. Спасибо за подсказку.
20. sound 536 10.02.10 12:31 Сейчас в теме
Видимо, человек недавно с 8-кой, но чувствуется, что потенциал есть. С почином :)
21. pencroff 123 10.02.10 12:35 Сейчас в теме
22. davlen 62 10.02.10 13:50 Сейчас в теме
{Форма.СервисФорма(114)}: Поле объекта не обнаружено (ргОтключениеПользователей)
ОтклПользователей = РегистрыСведений.ргОтключениеПользователей;
23. pencroff 123 10.02.10 13:52 Сейчас в теме
(22) А вы читали текст статьи?
24. davlen 62 10.02.10 13:53 Сейчас в теме
(22)сори не внимательно читал :D
25. markers 278 11.02.10 03:25 Сейчас в теме
27. SerG_121 446 12.02.10 00:10 Сейчас в теме
(25) markers твоя обработ норм но ета лучше, тем что она культурно выгоняет пользователей :)
26. pencroff 123 11.02.10 11:29 Сейчас в теме
Доброго дня. Ребята кто может скачать Разукрашку и выслать на почту. А то не могу. Не красивый какой то пост. А своего рейтинга не хватает. Спасибо всем кто поставил плюсик. Всем удачи.
28. pencroff 123 12.02.10 17:56 Сейчас в теме
:idea: Ребята сделайте +1 пожалуйста хочу скачать "Разукрашку" и переоформить пост.
Tavalik; vova329; vlasvik; alex185800; +4 Ответить
29. levank 13.02.10 19:09 Сейчас в теме
где взять ДополнительныйМодуль ?
30. pencroff 123 14.02.10 00:43 Сейчас в теме
(29) По подробнее пожалуйста про доп модуль. И прочтите все комментарии.
31. Andry.Boris 59 15.02.10 01:42 Сейчас в теме
Поставил... ошибок много... исправил...
не работает... автор проверь и откорректируй...
+ только за старание
32. pencroff 123 15.02.10 12:16 Сейчас в теме
(31) Спасибо за +
А если можно поконкретнее что за ошибки? А то у меня все работает :)
33. euphoria12 15.02.10 17:43 Сейчас в теме
Обработка в режиме 1с Предприятия не открывается, возникает ошибка:
(Недопустимое значение параметра (параметр номер '1') ВыборкаРегистра = ОтклПользователей.Выбрать(Отбор)).
Регистр, обработку добавили, модуль приложения дополнили... Как быть, подскажите, пожалуйста.
Прикрепленные файлы:
34. pencroff 123 15.02.10 17:55 Сейчас в теме
(33)А что за конфигурация? Ошибка отбора из-за того что у вас не совпадают выборки из справочника пользователи измерение регистра? И есть ли вообще измерение Пользователь?
35. euphoria12 16.02.10 11:10 Сейчас в теме
(34) Измерение регистра - добавлено как написано, СправочникСсылка.Пользователи, Конфигурация - УПП 1.2(1.2.26.1) немного дописанная. Файловый вариант базы для проверки.
При запуске 1С Предприятие происходит циклический вызов Процедуры контроля отключения (из модуля приложения) - и выдается подобное сообщение...хм (а также при запуске обработки)
36. euphoria12 16.02.10 11:36 Сейчас в теме
(35) УРАА, работает! нашла неувязку - обязательным должно быть свойство "Ведущее" для измерения РС. Спасибо.
з.ы. единственное - при попытке изменения времени до отключения (<3,>5) ошибка:Метод объекта не обнаружен (Сообщение)
ДополнительныйМодуль.Сообщение(СтрСообщения,1,"Инфо");
Прикрепленные файлы:
elizarovs; +1 Ответить
37. pencroff 123 16.02.10 11:57 Сейчас в теме
(36) Спасибо за заметку. Вот Функция Сообщить.
// Выводит ТекстСообщения в окне сообщений
// ======================================
// Детальность - число, определяет, к какому уровню детальности относится сообщение,
// добавляются отступы соответственно уровню детализации.
// Маркер - статус сообщения. Принимает значения: Инфо, Внимание, Важно, ОченьВажно, Обычное.
// Другой маркер выводит сообщение без статуса.
// Объект о котором формируется информация.
//  Для документа выводится Название, номер, дата.
//  Для справочника выводится Наименование, код.
// Возможные значения для Детальность - 0/1/2/3
Процедура Сообщение(ТекстСообщения, Детальность=0, Маркер="", Объект = "") Экспорт
    Отступ = "";
    ТекстОбъект = "";
    ДопТекст = "";
    ГлбинаОтступов = 3; //  MAX Колличество уровней детализации
    Если (Детальность <= ГлбинаОтступов) Тогда
        Для К=1 по Детальность Цикл
            Отступ = Отступ + "  ";
        КонецЦикла;
        Если НЕ ДополнительныйМодуль.ПустоеЗначение(Объект) Тогда
            // Обработка объекта
            СтрОбъект = Строка(ТипЗнч(Объект));
            Если Найти (СтрОбъект, "Документ") <> 0 Тогда
                ДлСтрОбъект = СтрДлина (СтрОбъект);
                НаименованиеОбъект = Найти (СтрОбъект, ":");
                ТекстОбъект = Прав(СтрОбъект,ДлСтрОбъект - НаименованиеОбъект-1) + " № " + Объект.Номер + " от " + Формат(Объект.Дата,"ДФ=dd.MM.yy")+ ": ";
                ДопТекст = Символы.Таб + Символы.Таб + Символы.Таб + Символы.Таб + ":Д";
            ИначеЕсли Найти (СтрОбъект, "Справочник") <> 0 Тогда
                ТекстОбъект = Объект.Наименование + " № " + Объект.Код + ": ";
                ДопТекст = Символы.Таб + Символы.Таб + Символы.Таб + ":С";
            КонецЕсли;
        КонецЕсли;
        Если Маркер = "Инфо" Тогда
            Маркер = СтатусСообщения.Информация;
        ИначеЕсли Маркер = "Внимание" Тогда
            Маркер = СтатусСообщения.Внимание;
        ИначеЕсли Маркер = "Важно" Тогда
            Маркер = СтатусСообщения.Важное;
        ИначеЕсли Маркер = "ОченьВажно" Тогда
            Маркер = СтатусСообщения.ОченьВажное;
        ИначеЕсли Маркер = "Обычное" Тогда
            Маркер = СтатусСообщения.Обычное;
        Иначе
            Маркер = СтатусСообщения.БезСтатуса;
        КонецЕсли;
        Сообщить(Отступ + ТекстОбъект + ТекстСообщения + ДопТекст, Маркер);
    КонецЕсли;
КонецПроцедуры
Показать
71. groundv 01.09.11 08:50 Сейчас в теме
После дописки "Дополнительного модуля" в конфе.
получаем
{ВнешняяОбработка.доОбработкаОтключения.МодульОбъекта(35)}: Метод объекта не обнаружен (ОпределитьТекущегоПользователя)
ТекПользователь = УправлениеПользователями.ОпределитьТекущегоПользователя();
38. Supert1 18.02.10 11:02 Сейчас в теме
Вот такая ошибка:

{Форма.СервисФорма(123)}: Метод объекта не обнаружен (ПустоеЗначение)
			Если ДополнительныйМодуль.ПустоеЗначение(ЭлементМассива.Пользователь) Тогда
39. pencroff 123 18.02.10 13:54 Сейчас в теме
(38) Читай комментарии. Этот вопрос уже подымали.
40. WKBAPKA 215 21.02.10 12:44 Сейчас в теме
правда ЗначениеЗаполнено не работает с мутабельными, тобишь составными, как я понял, значениями (слово же ругательное придумали, мутабельное)....
41. masson 24.02.10 14:03 Сейчас в теме
пожалуйста, подскажите, что сделал я неверно. При запуске обработки всплывает окно "Выбранный файл не является внешней обработкой. Либо данная обработка не предназначена для запуска в данной конфигурации." конфигурация УПП 8.1.2.28.1 платформа 8.1.15.14 регистр сведений "ргОтключениеПользователей" в конфигураторе создал. Может быть не верно присоединил дополнительную обработку? Пожалуйста, подскажите.
42. pencroff 123 24.02.10 14:09 Сейчас в теме
(41) Обработку можно открывать и просто файлом. Через меню файл-открыть.
Попробуйте еще раз скачать ее с сайта.
43. masson 26.02.10 09:53 Сейчас в теме
спасибо за рекомендации. вновь скачал epf-шник. снова после открытия сообщение : "...
{Форма.СервисФорма(123,9)}: Переменная не определена (ДополнительныйМодуль)
Если <<?>>ДополнительныйМодуль.ПустоеЗначение(ЭлементМассива.Пользователь) Тогда
{Форма.СервисФорма(193,3)}: Переменная не определена (ДополнительныйМодуль)
<<?>>ДополнительныйМодуль.Сообщение(СтрСообщения,1,"Инфо");
{Форма.СервисФорма(198,3)}: Переменная не определена (ДополнительныйМодуль)
<<?>>ДополнительныйМодуль.Сообщение(СтрСообщения,1,"Инфо");
{Форма.СервисФорма(207,3)}: Переменная не определена (ДополнительныйМодуль)
<<?>>ДополнительныйМодуль.Сообщение(СтрСообщения,1,"Инфо");
{Форма.СервисФорма(212,3)}: Переменная не определена (ДополнительныйМодуль)
<<?>>ДополнительныйМодуль.Сообщение(СтрСообщения,1,"Инфо");
{Форма.СервисФорма(288,5)}: Переменная не определена (ДополнительныйМодуль)
<<?>>ДополнительныйМодуль.Сообщение("Отключать текущего пользователя запрещено!");
..."

скорее всего что-то я упустил.
Пожалуйста, подскажите на что обратить внимание.
Спасибо.
cry; Светлый ум; RodinMax; KateEgorova; +4 Ответить
44. vbazaroff 25 27.02.10 15:42 Сейчас в теме
masson - а у тебя платформа какая ?
45. masson 28.02.10 15:04 Сейчас в теме
8.1.15.14 а необходима какая?
46. pencroff 123 28.02.10 15:07 Сейчас в теме
to (45) ваш ответ в (36) и в (16) Посмотрите эти комментарии и будет вам счастье :)
48. pencroff 123 01.03.10 13:06 Сейчас в теме
To (45) и (47) уважаемые. Ошибка возникает из-за того что когда я писал обработку то использовал уже написанные мной процедуры и функции приведенные в комментариях (36) и (16). Поэтому нужно либо создать модуль "ДополнительныйМодуль" и в него поместить эти функции. Или добавить их в обработку и покончить с ошибками.
47. KateEgorova 01.03.10 12:58 Сейчас в теме
Проблема та же, что и у masson -
при запуске ругается:
{Форма.СервисФорма(123,9)}: Переменная не определена (ДополнительныйМодуль)
Если <<?>>ДополнительныйМодуль.ПустоеЗначение(ЭлементМассива.Пользователь) Тогда
{Форма.СервисФорма(193,3)}: Переменная не определена (ДополнительныйМодуль)
<<?>>ДополнительныйМодуль.Сообщение(СтрСообщения,1,"Инфо");
{Форма.СервисФорма(198,3)}: Переменная не определена (ДополнительныйМодуль)
<<?>>ДополнительныйМодуль.Сообщение(СтрСообщения,1,"Инфо");
{Форма.СервисФорма(207,3)}: Переменная не определена (ДополнительныйМодуль)
<<?>>ДополнительныйМодуль.Сообщение(СтрСообщения,1,"Инфо");
{Форма.СервисФорма(212,3)}: Переменная не определена (ДополнительныйМодуль)
<<?>>ДополнительныйМодуль.Сообщение(СтрСообщения,1,"Инфо");
{Форма.СервисФорма(288,5)}: Переменная не определена (ДополнительныйМодуль)
<<?>>ДополнительныйМодуль.Сообщение("Отключать текущего пользователя запрещено!");

:(

Платформа - 8.1 (8.1.14.72)
Конфигурация - УПП 1.2 (1.2.28.1)

49. ZergKRSK 130 03.03.10 07:57 Сейчас в теме
Эта штука на Бухгалтерии Предприятия попрет?
50. pencroff 123 03.03.10 10:38 Сейчас в теме
to (49) Да. Вся выгонялка построена на регистре сведение и 3-х процедурах в модуле приложения. Обработка которае здесь позволяет просто редактировать записи в регистре.
51. ZergKRSK 130 03.03.10 10:58 Сейчас в теме
Спасибо, скачаем и затестим!
52. lex872 11.06.10 10:01 Сейчас в теме
Прикольноя обработочка, жаль что она не работает с БП... Может их можно подружить?

{Форма.СервисФорма(123,9)}: Переменная не определена (ДополнительныйМодуль)
Если <<?>>ДополнительныйМодуль.ПустоеЗначение(ЭлементМассива.Пользователь) Тогда
{Форма.СервисФорма(193,3)}: Переменная не определена (ДополнительныйМодуль)
<<?>>ДополнительныйМодуль.Сообщение(СтрСообщения,1,"Инфо");
{Форма.СервисФорма(198,3)}: Переменная не определена (ДополнительныйМодуль)
<<?>>ДополнительныйМодуль.Сообщение(СтрСообщения,1,"Инфо");
{Форма.СервисФорма(207,3)}: Переменная не определена (ДополнительныйМодуль)
<<?>>ДополнительныйМодуль.Сообщение(СтрСообщения,1,"Инфо");
{Форма.СервисФорма(212,3)}: Переменная не определена (ДополнительныйМодуль)
<<?>>ДополнительныйМодуль.Сообщение(СтрСообщения,1,"Инфо");
{Форма.СервисФорма(288,5)}: Переменная не определена (ДополнительныйМодуль)
<<?>>ДополнительныйМодуль.Сообщение("Отключать текущего пользователя запрещено!");
53. IfYouWant_YouCan 10.08.10 10:10 Сейчас в теме
откуда взялся дополнительныймодуль? ))
54. PRoman 73 11.08.10 12:04 Сейчас в теме
 Следуя всем замечаниям перенес обработку из УТП в УПП (без дополнительного модуля) все заработало с первого раза.


не заработало с первого раза :)
55. pencroff 123 18.08.10 07:53 Сейчас в теме
56. ZZnOB 19.08.10 13:56 Сейчас в теме
Да... Очень жаль что не дружит с БП :cry:
57. pencroff 123 20.08.10 15:44 Сейчас в теме
(56) Что такое БП и почему не дружит?
58. ZZnOB 21.08.10 11:29 Сейчас в теме
БП - Бухгалтерия Предприятия. А не дружит, потому что:

{Форма.СервисФорма(123,9)}: Переменная не определена (ДополнительныйМодуль) 
Если <<?>>ДополнительныйМодуль.ПустоеЗначение(ЭлементМассива.Пользователь) Тогда 
{Форма.СервисФорма(193,3)}: Переменная не определена (ДополнительныйМодуль) 
<<?>>ДополнительныйМодуль.Сообщение(СтрСообщения,1,"Инфо"); 
{Форма.СервисФорма(198,3)}: Переменная не определена (ДополнительныйМодуль) 
<<?>>ДополнительныйМодуль.Сообщение(СтрСообщения,1,"Инфо"); 
{Форма.СервисФорма(207,3)}: Переменная не определена (ДополнительныйМодуль) 
<<?>>ДополнительныйМодуль.Сообщение(СтрСообщения,1,"Инфо"); 
{Форма.СервисФорма(212,3)}: Переменная не определена (ДополнительныйМодуль) 
<<?>>ДополнительныйМодуль.Сообщение(СтрСообщения,1,"Инфо"); 
{Форма.СервисФорма(288,5)}: Переменная не определена (ДополнительныйМодуль) 
<<?>>ДополнительныйМодуль.Сообщение("Отключать текущего пользователя запрещено!"); 
Показать

Вот так ругается
59. itar59 87 23.09.10 12:24 Сейчас в теме
В файловом варианте все класс!!!!
но в серверном увы...... и ах.........
60. pencroff 123 24.09.10 09:37 Сейчас в теме
(59) Извините но какая разница какой вариант? Работа обработки не зависит от варианта. И что пишет в серверном варианте?
61. lookindenis 86 01.10.10 22:29 Сейчас в теме
62. dmitn 06.10.10 10:52 Сейчас в теме
Выдает ошибки:

{МодульПриложения(50,20)}: Переменная не определена (УправлениеПользователями)
Пользователь = <<?>>УправлениеПользователями.ОпределитьТекущегоПользователя();
{МодульПриложения(94,26)}: Переменная не определена (УправлениеПользователями)
Отбор.Пользователь = <<?>>УправлениеПользователями.ОпределитьТекущегоПользователя();
{МодульПриложения(172,26)}: Переменная не определена (УправлениеПользователями)
Отбор.Пользователь = <<?>>УправлениеПользователями.ОпределитьТекущегоПользователя();
63. dmitn 06.10.10 14:28 Сейчас в теме
В общем, удалось адаптировать под свою конфигурацию. В целом понравилось :) Ставлю плюс
64. kojinandrej 60 05.04.11 20:14 Сейчас в теме
Супер работает бомба!!! :D :!:
66. Pro-tone 171 05.07.11 15:50 Сейчас в теме
Хорошая вещь, допиливать конечно под себя ее нужно еще, но я поставил +

Автор:

Предупреждение("Извините но вы не предприняли никаких действий.",5,"Отключение.");
ЗавершитьРаботуСистемы(); - сюда очень рекомендую поставить

ЗавершитьРаботуСистемы(Ложь); либо ПрекратитьработуСистемы();
потому что при Истина после вопроса о завершении работы юзеры жмут -"Нет", и их фиг выгонишь тогда,
а вот потом когда они начнут заходить у них будет "Тушим" и отрубаться сразу.

Автор, расшифруй, пожалуйста, префиксы состояний отключения в РС. А,Б,Ш,К и пр.

Также я бы не стал оставлять флаг "Быстрое отключение" в положении Истина после отключения надо бы юзеру ставить Ложь туда,
а если делаешь так, то добавить надо колонку в тч обработки твоей что-то типа "разрешено быстрое отключение".
67. Abadonna 3969 05.07.11 16:16 Сейчас в теме
Начали баловаться в 8х тем, чем народ в 7.7 переболел? Курочить конфу... Абсолютно всё можно решить как стандартными методами самой 1С (8х), и так и сетевым администрированием.
68. Pro-tone 171 06.07.11 09:29 Сейчас в теме
(67) ну да, можно еще проблему решить силой звукового давления своих голосовых связок
69. Abadonna 3969 06.07.11 09:38 Сейчас в теме
(68) Проблема решается спокойно программно теми, кто не только в 1С наловчился кодить
70. groundv 01.09.11 08:26 Сейчас в теме
{Форма.СервисФорма.Форма(123,9)}: Переменная не определена (ДополнительныйМодуль)
Если <<?>>ДополнительныйМодуль.ПустоеЗначение(ЭлементМассива.Пользователь) Тогда
{Форма.СервисФорма.Форма(193,3)}: Переменная не определена (ДополнительныйМодуль)
<<?>>ДополнительныйМодуль.Сообщение(СтрСообщения,1,"Инфо");
{Форма.СервисФорма.Форма(198,3)}: Переменная не определена (ДополнительныйМодуль)
<<?>>ДополнительныйМодуль.Сообщение(СтрСообщения,1,"Инфо");
{Форма.СервисФорма.Форма(207,3)}: Переменная не определена (ДополнительныйМодуль)
<<?>>ДополнительныйМодуль.Сообщение(СтрСообщения,1,"Инфо");
{Форма.СервисФорма.Форма(212,3)}: Переменная не определена (ДополнительныйМодуль)
<<?>>ДополнительныйМодуль.Сообщение(СтрСообщения,1,"Инфо");
{Форма.СервисФорма.Форма(288,5)}: Переменная не определена (ДополнительныйМодуль)
<<?>>ДополнительныйМодуль.Сообщение("Отключать текущего пользователя запрещено!");

КА 8.2
И где тут без Доп.модуля?
72. Sas001 15.09.11 10:59 Сейчас в теме
плюс за идею кулюторного отключения, ну и за труды конечно же :D
73. vetalm 91 27.09.11 13:49 Сейчас в теме
обработка отличная - но есть баг - какимто образом пользователям всеже удается "невыганятся" из 1с
82. pencroff 123 31.10.11 16:15 Сейчас в теме
(73) vetalm,
К сожалению я так и не разобрался почему не происходит отключения.
Но это происходит когда уже запущена какая либо долго работающая операция.
74. fwa 07.10.11 11:02 Сейчас в теме
К сожалению не работает на платформе 8.2
75. ivn75 2 07.10.11 11:24 Сейчас в теме
жаль, что не работает на 8.2. Очень нужно
76. malina-da 10.10.11 10:15 Сейчас в теме
Спасибо за обработку, полезная вещь.
77. opolyakova 16 12.10.11 11:04 Сейчас в теме
78. accnt 14.10.11 16:03 Сейчас в теме
хорошая,только по ходу конфу менять придется...
79. Foxux 17.10.11 19:30 Сейчас в теме
Жалко, что не пригодилась :( Толи описание не соответствует, толи я что то неверно делал. В общем нашел альтернативный этой обработке путь. Но автору все равно спасибо за старание.
80. mhst 24.10.11 15:20 Сейчас в теме
спасибо автору, обработка понравилась
81. vovkakursk 24.10.11 19:29 Сейчас в теме
83. Umka18 08.11.11 17:44 Сейчас в теме
Хорошая, только в конфу модуль вкорячивать неудобно..
84. Reticent 16.11.11 06:38 Сейчас в теме
ещё в вкручивал в программу, но больше интересует сохранения данных у пользователей
85. Drizer2000 14 16.11.11 22:37 Сейчас в теме
А что выгонялка только для УПП? Для БП 2.0 подойдет, по-идее такие вещи должны быть универсальны
86. sanja 154 28.12.11 16:30 Сейчас в теме
не закрывает базы. Где само отключение
87. kvandr 6 21.01.12 11:47 Сейчас в теме
Все хорошо работает, правда долго разбирался с настройкой
88. anna30 21.01.12 15:44 Сейчас в теме
89. Scukosan 30.01.12 15:17 Сейчас в теме
задумка хорошая, но реализация явно "сырая"
чем то напомнило "тут читать, тут не читать, а тут я рыбу заворачивал.."
90. a_a 16.02.12 07:56 Сейчас в теме
обработка пригодилась, удобна в использовании
91. jiggli 01.06.12 10:40 Сейчас в теме
Большое спасибо! Очень пригодилась
92. OscarTT 24.07.12 13:23 Сейчас в теме
"Foxux"
Жалко, что не пригодилась :( Толи описание не соответствует, толи я что то неверно делал. В общем нашел альтернативный этой обработке путь. Но автору все равно спасибо за старание."
А что за альтернатива?
93. Fruit83 28 30.08.12 17:08 Сейчас в теме
Хорошая весчь. Спасибо.
94. luchyk007 30.04.13 07:58 Сейчас в теме
Спасибо, уточните ещё, может Ваша обработка отправлять сообщения пользователям, или только отключает сеансы.
95. pencroff 123 30.04.13 11:52 Сейчас в теме
Он не позволяет слать сообщения. Но выводит несколько предупреждений перед отключением пользователя.
96. elizarovs 83 17.05.13 13:38 Сейчас в теме
Респект. Нужная программа!
Пришлось немного подточить. В идеале, к публикации хорошо бы было приложить конфу, которую можно было бы встроить в мою. Самописанная конфигурация, пришлось добавить, само собой, описанные выше объекты. Проблема вышла с Измерением Пользователь в регистре (автор написал "ИЛИ", а нужно "И". Хорошо, что в комментариях добрые люди описали проблему). А по-настоящему пришлось помучиться с функцией "ОпределитьТекущегоПользователя()". Имеющаяся в УПП не подошла. Взял из ЗУП, подточил, всё заработало. В любом случае благодарен автору.
97. ZergKRSK 130 24.05.13 12:07 Сейчас в теме
(96) elizarovs, в УПП воспользовался глЗначениеПеременной("глТекущийПользователь") для определния текущего пользователя и всё, допфункцию не городил
98. elizarovs 83 24.05.13 12:24 Сейчас в теме
(97) ZergKRSK, В УПП может быть. У меня-то самописанная. Думал из УПП готовую функцию к себе скопировать, о результатах написал, чтобы другим проще было.
99. Nata 8 19.05.14 10:59 Сейчас в теме
Оставьте свое сообщение