gifts2017

Простые радости жизни администратора в 1С: блокировка информационной базы.

Опубликовал Юрий Осипов (yuraos) в раздел Администрирование - Сервисные утилиты

В типовую обработку «Блокировка соединений с информационной базой» внесены интерфейсные изменения, призванные сделать работу в ней более удобной. Также обработка сделана максимально универсальной и может быть использована в любой, полностью не типовой базе.



Пусть в жизни мало складности,

но есть простые радости...
...простые радости украсят жизнь твою.

 


Версия обработки 8.3 от
28.10.2015:
+ Обработка адаптирована для работы под 8.3 в конфигурациях, 
   где запрещено использование модальных методов.
   Если в свойствах конфигурации модальные методы запрещены,
   то используются их асинхронные аналоги.
+ Совместимость с типовым функционалом БСП редакции 2.2:
   - Открытие типовой формы параметров администрирования серверной ИБ;
   - Совместимость структуры параметроа авторизации на сервере 1С;
+ Модули обработки адаптированы для стандартных средств локализации конфигуратора
   (тексты в сообщениях, предупреждениях и меню формируются с помощью функции НСтр()).
Ограничения обратной совместимости:
   - Под платформой 8.2 обработка этой версии будет нормально работать в толстом и тонком клиентах.
   - При открытии обработки в Web-клиенте под 8.2 будет ошибка компиляции модуля формы
     из-за "открытого" использования глобальных асинхронных методов
     ПоказатьПредупреждение() и ПоказатьВопрос().
     Проблема решается закомментариванием строк с вызовом этих методов на стороне Web-клиенте,
     специально выделенных для этого инструкциями препроцессора.


Версии обработки 8.1(3+) / 8.2(3+) от 14.03.2014:
+ Сервис управления выполнением регламентных заданий для клиент-серверной ИБ
(
приостановка выполнения "в ручную" и при установке блокировки соединений) (Рис.8) ;
+ Запуск альтернативного разрыве соединений в клиент-серверной ИБ
из меню "Сервис" без установки самой блокировки соединений (Рис.7) ;
+ Флаг использования альтернативного разрыве соединений в клиент-серверной ИБ
(для отмены альтернативного разрыве без изменения "Режима разрыва");


Версия обработки 8.2++ от 22.03.2014:

Учтено замечание (64) den17:
обеспечен разрыв соединений с Web-клиентами
при альтернативном разрыве соединений в клиент-серверной ИБ.

Версии обработки 8.2++ / 8.1++ от 14.12.2013:
Выполнено пожелание (29) mymyka:
Добавлен сервис "Альтернативного разрыва соединений" (Рис.4 и Рис.5) и связанный с ним
диалог "Авторизация на сервере 1С" (Рис.6). Подробности кратко описаны ниже в публикации.
Более подробно смотрите в справочном описании обработки.


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

Для этого в типовую обработку блокировки базы были внесены следующие
интерфейсные дополнения:

  1. Меню выбора начала периода блокировки. Выводится при нажатии кнопки очистки поля ввода.
    Позволяет выбрать из списка желаемое время начала блокировки (через MM минут с текущего времени).

    Меню выбора начала блокировки
  2. Меню выбора окончания периода блокировки. Выводится при нажатии на кнопку выбора периода блокировки.
    Позволяет выбрать из списка желаемое время окончания блокировки (через NN минут со времени начала блокировки).

    Меню выбора окончания блокировки
  3. Выбранное время можно подправить кнопками регулирования, изменяющими значение на одну минуту.
  4. Шаблон текста сообщения пользователям (запоминаемый в настройках параметр обработки).
    Если шаблон задан, то сообщение пользователям заполняется стандартным образом при изменении периода блокировки.
    В шаблоне сообщения используются замены времени начала и окончания блокировки, а также ее длительности.
    Список обрабатываемых замен приведен в справочном описании.

    Шаблон сообщения пользователям

Примечания:

  1. При выборе времени блокировки из меню и при его изменении кнопками регулирования значение времени
    выравнивается на начало минуты. При этом также контролируется корректность значений времени начала и окончания.
    Пустое значение времени заменяется на начало текущей минуты.
    Если время окончания меньше времени начала, оно заменяется на время начала плюс одна минута.
  2. Сообщение пользователям заполняется по шаблону, если заданы все три значения:
    текст шаблона, время начала и время окончания блокировки.
  3. При изменении параметров блокировки форма модифицируется.
    После записи параметров блокировки флаг модификации формы сбрасывается.
    Перед закрытием модифицированной формы у пользователя запрашивается подтверждение.
  4. В версии для 8.2 параметры обработки сохраняются в стандарном хранилище настроек под именем пользователя "SA"
    и едины для всех пользователей имеющих доступ к обработке.
    В версии для 8.1 настройки сохраняются по старому (в профиле пользователя)
    и поэтому для каждого пользователя свои.
  5. Если используется альтернативный разрыв соединений с серверной базой (Рис.5), то перед установкой блокировки базы
    обработка проверяет параметры администрирования ИБ.
    При необходимости (если не указано имя Администратора ИБ или при ошибках предыдущих авторизаций на сервере 1С)
    пользователю предлагается уточнить эти параметры в диалоге "Авторизация на сервере 1С" (Рис.6).
    Этот диалог может также использоваться как альтернатива типовой общей формы "Параметры администрирования ИБ",
    позволяя сохранить настройки администрирования в константе "Параметры администрирования ИБ" или (при ее отсутствии)
    в стандартном хранилище настроек в настройках обработки - только для версии обработки 8.2++.

Дополнительные запоминаемые опции обработки:

  1. Флаг "Открывать модально" - если установлен, обработка всегда открывается модально
    (на Web-клиенте опция игнорируется).
  2. Флаг "Открывать в УФ" - действует только для встоеной обработке в толстом клиенте (обычное приложение).
    Позволяет выбрать в какой форме (обычной или управляемой) открыть обработку.
  3. Поскольку при снятии флага блокировки соединений значение кода разрешения невозможно восстановить из
    параметров блокировки обработка запоминает при закрытии последнее непустое его значение
    и при необходимости восстанавливает его при открытии.
  4. Режим разрыва соединений - одно из значений показанных на (Рис.4), определяет каким способом будут
    принудительно разрываться соединения с информационной базой (в клиент-серверном варианте):

    - Для значения "Стандарто"разрыв соединений с базой выполняется только типовыми глобальными обработчиками
    ожидания
    завершения работы с системой (единственное значение, доступное в случае файловой базы).


    - Для остальных значений - разрыв соединений дополнительно дублируется сервисом "Альтернативного разрыва
    соединений"
    в обработчике ожидания формы обработки.
    Разрыв соединений осуществляется с указанной задержкой,
    отсчитываемой с момента начала блокировки базы.
  5. Флаг "Без конфигуратора" - если установлен, то:
    При альтернативном разрыве соединений с серверной базой соединение с конфигуратором не закрывается,
    а в файловом варианте - при проверке возможности установить блокировку конфигуратор исключается
    из списка соединений, которые "нельзя закрыть".


Обработка универсализирована:

Может работать в полностью не типовой или даже «пустой» конфигурации.
Версия обработки для платформы 8.2 имеет как управляемую, так и обычную формы.

Обычная форма взята в своей основе из УПП-1.2, а управляемая из УПП-1.3.
По замечанию dedicated (17) для соместимости со справочником "Внешние обработки" в обычном режиме
в качестве основной формы обработки выбрана обычная форма, а в качестве дополнительной - управляемая.

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


Использование:

Обработку можно встроить в конфигурацию заменив ею типовую обработку блокировки соединений.
Она также может быть использована в качестве дополнительной внешней обработки,
сохранённой в справочнике «Дополнительные отчеты и обработки» или «Внешние обработки».


Актуальные версии обработки:

Актуальные версии обработки находятся в следующих файлах поставки:

  1. БлокировкаИБ83.epf
  2. БлокировкаИБ81(3+).epf

Остальные файлы оставлены для сохранения статистики загрузок и
не рекомендуются для скачивания.



Скачать файлы

Наименование Файл Версия Размер
БлокировкаИБ83.epf 162
.epf 88,03Kb
09.11.15
162
.epf 8.3 88,03Kb Скачать
БлокировкаИБ81(3+).epf 28
.epf 48,16Kb
23.09.14
28
.epf 81(3+) 48,16Kb Скачать
БлокировкаИБ82(3+).epf 177
.epf 76,28Kb
28.10.15
177
.epf 82(3+) 76,28Kb Скачать
БлокировкаИБ82++.epf 172
.epf 65,46Kb
28.10.15
172
.epf 8.2++ 65,46Kb Скачать
БлокировкаИБ81++.epf 17
.epf 42,02Kb
28.10.15
17
.epf 8.1++ 42,02Kb Скачать
БлокировкаИБ82.epf 112
.epf 34,06Kb
28.10.15
112
.epf 8.2 34,06Kb Скачать
БлокировкаИБ81.epf 19
.epf 22,15Kb
28.10.15
19
.epf 8.1 22,15Kb Скачать

См. также

PowerTools от 1 000
Подписаться Добавить вознаграждение

Комментарии

1. Юрий Осипов (yuraos) 10.11.13 12:04
Говорят, что счастья много не бывает.
...
Но часто это счастье выражается в малом.
2. Юрий Осипов (yuraos) 11.11.13 06:31
Всем доброго времени суток!!!
---
В обычной форме обработки обнаружена ошибочка,
связанная с типами реквизитов формы:

Для строковых реквизитов
КлючОбработки и ПутьКФормамОбработки
нужно установить длину строки равной 0.

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

3. Алексей 1 (AlX0id) 11.11.13 09:25
Зачетное название для публикации %)
4. Артем Артеменко (dock) 12.11.13 09:12
Замечательная обработочка!
Лень - двигатель прогресса!
5. Юрий Осипов (yuraos) 12.11.13 18:19
Доброго времени суток!
Спасибо всем, кто оценил мои скромные труды!!!
6. Юрий Осипов (yuraos) 12.11.13 18:26
(2)
Обновлены файлы поставки.
Устранена отмеченная выше (2) ошибка.

---
Для тех, кто уже скачал файлы с датой изменения 10.11.2013
скачивать обработку снова НЕ НАДО.

Достаточно открыть в конфигураторе список реквизитов обычной формы
("Форма_О" для 8.2 и "Форма" - для 8.1)

и для строковых реквизитов
КлючОбработки и ПутьКФормамОбработки
установить длину строки равной 0.
7. Сергей Радченко (Rad90210) 13.11.13 13:03
Такие вещи нужно чтобы были в типовой. Оформляй письмо в 1С. Очень симпатишненько.
8. Юрий Осипов (yuraos) 13.11.13 13:28
(7) Rad90210,
да в типовых
много чего не хватает и
много что должно быть
:)
...
думаю,
что разработчики БСП захаживают на ИНФОСТАРТ и
надеюсь заметят эту скромную статейку.

Если включат обработку в состав библиотеки - я возражать не буду.
9. Megas Master (megaster) 13.11.13 13:49
Респект!
ВадимЛитовченко; +1 Ответить 1
10. Megas Master (megaster) 13.11.13 13:57
Косячок небольшой нашел :-)
при выборе пунктов "Заблокировать на 30 минут" в тексте сообщения при завершении работы пользователей выводится текст "c 00:00 до 00:30 на 1 час. 30 мин." , т.е. не "на 30 мин", а "на 1 час 30 мин"
11. Megas Master (megaster) 13.11.13 13:59
Тоже самое если выбирать "на 40 минут" и "на 50 минут"
12. Юрий Осипов (yuraos) 13.11.13 14:03
(10) megaster,
спасибо, гляну - поправлю.
ВадимЛитовченко; +1 Ответить 1
13. Юрий Осипов (yuraos) 13.11.13 14:45
(11)(12)
Всем доброго времени суток!
---
Обновлены файлы поставки.
Исправлена ошибка указанная megasterв постах (9), (10).

За что ему еще раз отдельная признательность!

14. Юрий Осипов (yuraos) 13.11.13 14:51
(13)

Для тех, кто уже скачал файлы с датами изменения
10.11.2013
12.11.2013
выкладываю текстовые файлы с исходниками подправленного модуля объекта
обработки версий для 8.1 и для 8.2 (они чуть-чуть отличаются)

...
для исправления бага достаточно заменить модуль объекта обработки
на содержимое текстового файла.
Прикрепленные файлы:
БлокировкаИБ81_МодульОбъекта.txt
БлокировкаИБ82_МодульОбъекта.txt
15. Юрий Осипов (yuraos) 13.11.13 18:03
(14)
в файле БлокировкаИБ81_МодульОбъекта.txt
так же имеется экспортная функция
Функция ШаблонСообщенияПоУмолчанию() Экспорт

которая по ходу дела куда заныкалась при обновлениях...
16. DAnry (DAnry) 13.11.13 21:03
Красиво и со вкусом. Жирный плюс
ВадимЛитовченко; +1 Ответить
17. Александр Майнагашев (dedicated) 14.11.13 07:39
Спасибо за обработку!
Только одно добавление, если вы работаете в режиме обычного приложения (не упр. формы) то в конфигураторе надо выбрать основной форму формаО иначе после добавления как внешнюю обработку в 1С она не запускается.
Тестил на Предприятие 8.2 УПП.
ВадимЛитовченко; yuraos; +2 Ответить 3
18. Юрий Осипов (yuraos) 14.11.13 08:19
(17) dedicated, спасибо за замечание.
Мутная эта тема с основной и вспомогательной формой объекта.
Но попробую что-нибудь подхимичить.
---
Для уточнения: работаете в толстом клиенте и не стоит галка
"Использовать управляемые формы в обычном приложении"
в свойствах корня конфигурации?
19. Юрий Осипов (yuraos) 15.11.13 08:52
Всем доброго времени суток!
---
обновлены файлы поставки

Текущие изменения - чисто технические:

1. Учтены замечания и пожелания dedicated(17).
Для обработки версии для 8.2
в качестве основной формы обработки выбрана обычная форма "Форма_О"
в качестве дополнительной - управляемая форма.
Хотя тут всем не угодишь
...
но при таком выборе в остальных режимах вроде работает нормально.


2. В версии обработки для 8.2 в обычной форме сообщение
"Доступен типовой функционал для управляемой формы обработки."
выводится только когда установлен флаг "Модально".
Чтобы не мозолило глаза - можно снять флаг.


3. Для Web-клиента флаг модально игнорируется при открытии.
Хотя слабо могу представить кому может понадобиться открывать обработку в web-клиенте.

4. Несколько модифицирована функция контролирующая "полный доступ" к базе.
20. Юрий Осипов (yuraos) 15.11.13 09:10
(19)
Также выкладываю текстовый файл с подправленным вариантом процедуры
Процедура СправочникСписокВыбор(Элемент, ВыбраннаяСтрока, Колонка, СтандартнаяОбработка)

из модуля формы списка справочника "Внешние обработки".

В подправленной процедуре когда для внешней обработки или отчета указаны обе основные формы
по метаданным объекта отчета или обработки ищется "основная обычная форма".

И если такая форма находится - она используется для открытия.
Прикрепленные файлы:
ВнешниеОбработкиВыбор.txt
21. Юрий Осипов (yuraos) 15.11.13 16:31
еще раз подправил обработку для 8.2:
(спасибо разработчикам сайта - это сейчас можно делать без модерации)
-------
А. В обычную форму добавлены типовые сервисные команды
(аналогичные тем, что в управляемой форме):
- "Активные пользователи"
- "Параметры администрирования ИБ"

Б. Замечание в посте (19)

2. В версии обработки для 8.2 в обычной форме сообщение
"Доступен типовой функционал для управляемой формы обработки."
выводится только когда установлен флаг "Модально".
Чтобы не мозолило глаза - можно снять флаг.


более не актуально:
- для внешней обработки теперьпереадресация открытия на управляемую форму не делается вообще,
так как она похоже в принципе невозможна.
- для встроенной обработки она всегда успешно выполняется
22. 12e3 1sd (mymyka) 15.11.13 17:08
(21)Обработка выглядит шикарно. Но появлися 1 вопрос, она не умеет кикать пользователей? У меня просто окно появляется "Завершение работы", жмешь ОК и ничего не происходит.
23. Юрий Осипов (yuraos) 15.11.13 19:06
(22) mymyka,
можно поподробней в какой базе ее пытаетесь использовать
и скриншотиков как выглядит, если не затруднит.
---
обработка по сути является типовой.
ее универсализация заключается только в том, что
запустить ее и установить блокировку соединений можно в любой базе.
;)
но юзеров она сама по себе не "кикает"
завершают работу пользователей в типовом функционале
стандартные глобальные обработчики ожидания
"ЗавершитьРаботуПользователей"
"КонтрольРежимаЗавершенияРаботыПользователей"
24. Юрий Осипов (yuraos) 15.11.13 19:11
(23)
В принципе юзеров умеет "кикать"
типовая обработка "Активные пользователи" из состава БСП
---
Думаю будет не очень сложно воткнуть ее функционал в эту обработку
и сделать ее более "универсальной"
...
И если будут такие пожелания, то я, пожалуй, готов поразмять мозги в этом направлении.
:)
25. Юрий Осипов (yuraos) 15.11.13 19:38
(24)
увы кикать можно только в скульных базах.
:(
26. Юрий Осипов (yuraos) 16.11.13 19:22
Всем доброго времени суток!
---
Обновлены файлы поставки.
Текущие изменения (и думаю финальные):

1) Оптимизация сохранения-восстановления параметров.
Теперь для 8.2 и для обычной формы параметры сохраняются в хранилище настроек.
В версии для 8.1 - по старому, настройки сохраняются в профиле.

2) Исправлена работа обработки для 8.2 в режиме Web-клиента (если кому интересно).
В предыдущих версиях глобальные обработчики
"ЗавершитьРаботуПользователей"
"КонтрольРежимаЗавершенияРаботыПользователей"
не настраивались нужным образом из-за того,
что оператор Выполнить на Web-клиенте
"даже вида не делает" без вызова исключения.

3) В версии для 8.2 упорядочена так называемая "переадресация открытия на управляемую форму".
Теперь это запоминаемая опция обработки, устанавливаемая в форме флажком "УФ".
По умолчанию опция равна свойству конфигурации "Использовать управляемые формы в обычном приложении".
Действует опция только для встроенной обработки в толстом клиенте (обычное приложение).

4) Код разрешения, как оказалось, не восстанавливается из параметров блокировки базы,
если флаг блокировки снят. Это не сильно удобно.
Теперь обработка запоминает в настройках последнее не пустое значение кода
и при необходимости восстанавливает его при открытии
.
27. Александр Майнагашев (dedicated) 18.11.13 10:31
(19) yuraos, Спасибо за поддержание и доработку вашей обработки!
28. Юрий Осипов (yuraos) 18.11.13 12:14
(27) dedicated,
люблю доводить все до совершенства
...
и это частенько мне мешает по нынешней жызни.
:)
29. 12e3 1sd (mymyka) 18.11.13 12:23
(23)Как-то упустил ваши ответы, простите.
База скульная, УПП 1.3, на 8.2.
После этого сообщения никаких телодвижений.
А не, вру, 1С потом через некоторый период регулярно, но не особо настойчиво предлагает завершить работу. Лучше бы конечно просто рвать соединения для всех кроме конфигуратора и сеанса в котором блокировка была установление(опционально).
Прикрепленные файлы:
31. Юрий Осипов (yuraos) 19.11.13 09:26
(29) mymyka,
В типовом функционале для блокировки базы предусмотрен ритуал:


32. Юрий Осипов (yuraos) 19.11.13 09:27
(31)
1) В обработчике "КонтрольРежимаЗавершенияРаботыПользователей"
(который крутится во всех сеансах кроме выполняющего блокировку):

- за пять минут до начала блокировки юзверам выдается предупреждение
"Работа системы будет завершена в %1."

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

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

- в третью минуту и далее работа сеанса завершается без предупреждения
и сохранения редактируемых данных.
33. Юрий Осипов (yuraos) 19.11.13 09:34
(31)
2) В обработчике "ЗавершитьРаботуПользователей"
(который крутится в том сеансе, который выполняет блокировку):

- В течении 5 минут с минутным интервалом администратору выдается сообщение
"Активных сеансов: %1.
Следующая проверка сеансов будет выполнена через минуту.
"

- И только по истечении 5 минут текущий сеанс пытается "кикнуть" активные сеансы,
(кроме себя) которые не успели отвалиться.

- Затем (если всех убил - один остался) - текущий сеанс кикает себя
(к стати - в модальном режиме судя по документации -
себя кикнуть не сможет
)
34. Юрий Осипов (yuraos) 19.11.13 09:40
(29) mymyka,
правильно я понимаю, что ты не хочешь ждать эти 5 минут
и хочешь ускорить этот процесс?
---
хоть минутку дашь подышать перед смертью?
...
опционально :)
35. Юрий Осипов (yuraos) 19.11.13 09:46
(30) mcher,
всегда приятно угодить девушке!
;)
36. Вадим Назаров (NazarovV) 04.12.13 22:54
вот чего я не понимаю и никогда наверное не пойму - это "псевдоавтоматизация"...
37. Юрий Осипов (yuraos) 05.12.13 05:54
(36) NazarovV, уважаемый,
разверни свою глубокую мысль далее.
---
вроде бы целью работы была не какая-то "автоматизация"
а скорее "эргономизация".
38. Александр Лыткин (TrinitronOTV) 13.12.13 16:32
Объясните начинающему работать с версией 8.2: включили блокировку этой обработкой, а дальше что делать? ведь это обработка сама работает в режиме 1с:Предприятие. А потом как снова всем разрешить работу с программой? Или хотя бы подскажите, где можно почитать про такую работу с данной обработкой...
39. Елена Пименова (Bukaska) 13.12.13 16:39
(38) TrinitronOTV, Закрываете обработку, входите как админ.. вводите код разрешения,и снимаете блокировку
TrinitronOTV; +1 Ответить
40. Юрий Осипов (yuraos) 13.12.13 20:01
(38) TrinitronOTV,
один из способов:
нужно запустить 1с-ку с ключом разрешения для подключения к заблокированной базе.
строка запуска примерно следующая:

"C:\Program Files\1cv82\common\1cestart.exe" /UC123

где /UC - это ключ разрешения, следующие за ним символы '123'
тот самый код разрешения введенный при блокировке
- главное этот код не забыть (особенно для файловой базы)
- а то станет неловко.

после входа в 1С открываете обработку,
снимаете флаг блокировки,
жмете "Записать параметры блокировки"
и будет щастье юзерам.
TrinitronOTV; +1 Ответить 2
41. Юрий Осипов (yuraos) 13.12.13 20:22
(40)
вообще-то в справочной информации к обработке все детально разжевано, что к чему
:)
там например для 8.2 описан другой способ разблокирования базы:

Либо запустить систему с параметром
/CРазрешитьРаботуПользователей (для версии платформы 1С >= 8.2);

я правда этот вариант не проверял,
поскольку в основном работать приходится под 8.1
42. Юрий Осипов (yuraos) 14.12.13 16:24
(41)
маленькое уточнение:
параметр запуска /CРазрешитьРаботуПользователей
используется совместно с параметром /UC<КодДоступа>

позволяет в рамках типового функционала для 1с-8.2
не открывать обработку для снятия флага блокировки базы
(при открытии 1с с таким параметром блокировка будет снята автоматически
при этом пользователь должен иметь административные права).
43. Юрий Осипов (yuraos) 14.12.13 18:28
ВСЕМ ДОБРОГО ВРЕМЕНИ СУТОК!
---
Опубликованы новые версии обработки:
- БлокировкаИБ82++.epf
- БлокировкаИБ81++.epf

Новое в новых версиях:
по просьбе mymyka (29) реализованы
+ Сервис "Альтернативный разрыв соединений"
+ Диалог авторизации на сервере 1С
Прикрепленные файлы:
44. Юрий Осипов (yuraos) 14.12.13 18:32
(43)
указанные изменения имеют значение только
при работе в серверных информационных базах.
45. Юрий Осипов (yuraos) 16.12.13 15:34
(40)
а что делать,
если забыли код разрешения для входа в заблокированную базу ???


Ничего страшного!

1. Для серверной базы - просто открываем оснастку "Администрирование серверов 1С Предприятия"
и снимаем там в свойствах базы флаг блокировки и смотрим установленные параметры блокировки
(в том числе код разрешения).

2. Для файловой базы - открываем каталог базы, ищем там файл 1Cv8.cdn
и удаляем (или переименовываем) его.
Открыв этот файл в блокноте можно также узнать установленные параметры блокировки.

пример файла смотрите во вложении
Прикрепленные файлы:
1Cv8.cdn
46. unior (didkovskij) 18.12.13 09:17
Подскажите, можно ли скачать обработки в одном файле, например в архиве?
47. Артем Артеменко (dock) 18.12.13 10:28
(46) unior, но тогда ведь это будет стоить только один мани :)
48. Юрий Осипов (yuraos) 18.12.13 16:19
(46) unior,
я специально, что бы не было недоразумений, в конце статьи написал:

Актуальные версии обработки находятся в следующих файлах поставки:
БлокировкаИБ82++.epf
БлокировкаИБ81++.epf
Остальные файлы оставлены для сохранения статистики загрузок и
не рекомендуются для скачивания.

если вы в 8.1 не работаете,
то вам достаточно скачать только БлокировкаИБ82++.epf
49. Юрий Осипов (yuraos) 18.12.13 16:23
(46)(47)(48) unior,
если же вам версия для 8.1 нужна позарез
и вам не хватает стартмани - пишите в личку, что-нибудь придумаем.
:)
50. Юрий Вячеславович (3762515) 20.12.13 09:27
51. link li (link_l) 20.12.13 11:41
Хотел спросить есть ли такая штука "Активные пользователи" как в обработке из УПП 1.3, в которой показывается список активных пользователей и из этого списка можно "убить" пользователя :) как на скрине

52. Юрий Осипов (yuraos) 20.12.13 18:51
(51) link_l,
Да есть, спрятано в меню "Сервис", как показано на скриншоте.

Правда команда открывает типовую обработку "АктивныеПользователи"
из состава библиотеки "Стандартные подсистемы" (только управляемые формы).

Эта библиотека включена в большинство типовых решений, в том числе УПП-1.3 и УТ-11

Альтернативные формы с функционалом списка активных пользователей
я решил не городить (по крайней мере пока).

Обработка "АктивныеПользователи" цепляет еще функционал
обработки "ЖурналРегистрации" (тоже из состава БСП).
А там куча форм (и все естественно только управляемые).

Из исповедуемой в работе идеологии придется разрабатывать
еще и аналогичные обычные формы.

Так-что объем работы получается весьма приличным.
Прикрепленные файлы:
53. Елена К (Ele1234567) 23.12.13 11:59
54. Юрий Осипов (yuraos) 23.12.13 17:19
Публикую статистику загрузки файлов к статье.
Она довольно любопытна.

На момент добавления этого поста:
1. всего скачено файлов - 132 раза.
2. в т.ч. версии для 1С-8.1 - 14 раз

отсюда следует, что
чуть больше 10% (10.6%) народа все еще работают под 1С-8.1
...
включая вашего покорного слугу.
55. Елена Пименова (Bukaska) 23.12.13 17:28
(54) yuraos, А то! Сколько работают на 7.7 - не сосчитал?)))
56. Юрий Осипов (yuraos) 23.12.13 18:44
(55) Bukaska, неа!
Там нет блокировки базы!
...
Разве что опрос устроить на форуме.
:)
57. Михаил Голубев (magolubev) 30.12.13 10:06
Давно хотел допилить стандартную обработку, да все руки не доходили. Огромный плюс!!!
58. Юрий Осипов (yuraos) 30.12.13 10:31
(57) magolubev,
когда Бог создал время ... его было много.
59. Osiris_ (StaticUnsafe) 05.02.14 09:22
60. юрий Чернов (squall84) 19.02.14 13:54
Спасибо. на 8.3 отлично заработало.
61. Юрий Вячеславович (3762515) 19.02.14 16:52
Отличная и полезная вещь!
62. Юрий Осипов (yuraos) 19.02.14 18:27
(60) squall84, как интересно! а можно подробности:
- в какой конфигурации
- для какой базы (файловой или серверной)
- в каком режиме совместимости платформы
- в каком режиме совместимости интерфейса ???
63. Денис (den17) 21.03.14 09:22
Завершает-ли обработка сеанс с Web-клиентом?
64. Денис (den17) 21.03.14 09:45
(54) yuraos, запускал в 1С:Документооборот (Управляемые формы). Обработка Выгнала из базы всех, кроме Web-клиента:
(Мб с Web-клиентом по-другому разрываются сеансы и я делаю не так что-то..)
Прикрепленные файлы:
65. Юрий Осипов (yuraos) 21.03.14 17:07
(64) den17, ты меня озадачил
:)))
честно говоря не проверял, как убивалка рвет с соединения с Web-клиентами.
поковыряюсь на досуге.
***
в своей основе разрыв соединений в обработке взят из типового функционала
(с небольшими изменениями).

в связи с этим пара вопросов:
1. типовая обработка разрывает соединения с Web-клиентами по истечении 5 минут ?
2. в кластере серверов 1 рабочий процесс или несколько ??
66. Юрий Осипов (yuraos) 23.03.14 09:22
Всем доброго времени суток!!!

Изменены файлы поставки:

1. Версия обработки 8.2++ от 22.03.2014:
Учтено замечание (64) den17:
обеспечен разрыв соединений с Web-клиентами
при альтернативном разрыве соединений в клиент-серверной ИБ.

2. Версия обработки 8.1++:
Незначительные стилистические правки кода, не влияющие на функционал обработки
67. Дмитрий Жиляков (Zhilyakovdr) 26.03.14 17:15
(60) squall84, В 8.3, в частности в бухгалтерии 3.0, имеется встроенная обработка блокировки, нет смысла использовать стороннюю.
68. Юрий Осипов (yuraos) 26.03.14 17:24
(67) Zhilyakovdr,
а кто говорит что ее нет. она везде в общем-то есть
(за исключением каких-нибудь диких отраслевых конфигураций вроде РАРУС:АМБУЛАТОРИЯ)
***
если считаешь, что типовая удобна - используй ее.
(не знаю может в БП-8.3 она сделана удобней)
если надоест - можешь попробовать эту
;))).
69. Денис (den17) 28.03.14 09:33
(66) yuraos, доработанная версия Обработки от 22.03.2014 г., в Конфигурации 1С:Документооборот 8 (1.0.8.1 [Управляемые формы])/1С:Предприятие 8.2 (8.2.19.76) разрывает сеансы всех видов (и WEB-клиентов). Спасибо :-)
70. Епрст (Ёпрст) 28.03.14 09:57
Чей то в 8.1 не взлетела:
{ВнешняяОбработка.БлокировкаСоединенийСИнформационнойБазой(492)}: Ошибка при вызове метода контекста (ConnectAgent): Произошла исключительная ситуация (V81.COMConnector.1): server_addr=tcp://1c81: descr=Ошибка сетевого доступа к серверу
(Windows Sockets - 10060(0x0000274C). Попытка установить соединение была безуспешной, т.к. от другого компьютера за требуемое время не получен нужный отклик, или было разорвано уже установленное соединение из-за неверного отклика уже подключенного компьютера. ) line=569 file=.\src\DataExchangeTcpClientImpl.cpp
АгентСервера = COMСоединитель.ConnectAgent(ИдентификаторАгентаСервера);
по причине:
Произошла исключительная ситуация (V81.COMConnector.1): server_addr=tcp://1c81: descr=Ошибка сетевого доступа к серверу
(Windows Sockets - 10060(0x0000274C). Попытка установить соединение была безуспешной, т.к. от другого компьютера за требуемое время не получен нужный отклик, или было разорвано уже установленное соединение из-за неверного отклика уже подключенного компьютера. ) line=569 file=.\src\DataExchangeTcpClientImpl.cpp
------------------------------------------
Ошибки при разрыве соединений с базой !!!

71. Юрий Осипов (yuraos) 29.03.14 10:08
(70) Ёпрст,
надо полагать порты у сервера 1C нестандартные...
;)))

В общем в версии обработки для 8.1 в форме авторизации на сервере 1С
был косячок в пути к данным поля ввода "Порта агента сервера".

В версии для 8.2 все должно быть в порядке

Косячек подправлен, файл поставки БлокировкаИБ81++.epf обновлен.

Для тех кто уже скачал версию обработки для 8.1 выкладываю подправленную версию.
(вложение в этом посте будет доступно для загрузки в течении недели с момента публикации).
Прикрепленные файлы:
БлокировкаИБ81++.epf
72. Юрий Осипов (yuraos) 29.03.14 20:25
(69) den17, пожалуста!
Это для меня, так сказать, дело профессиональной чести!
:)
73. Виктория Бутко (victory1985) 17.07.14 13:50
Огромное спасибо за труд! Это волшебный инструмент :)
74. Юрий Осипов (yuraos) 18.09.14 18:59
Всем доброго времени суток!!!
Обновлены файлы поставки.
Изменения в последних версиях обработки:
1. Добавлена возможность приостанавливать выполнение регламентных заданий
при блокировке блокировке соединений с клиент-серверной базой
( подобно тому, как это сделано в обработке "Блокировка работы пользователей"
из последних версий БСП).

Кроме этого в обработке можно запустить/остановить выполнение заданий "в ручную"
из контекстного меню, выводимого при нажатии на гиперссылку надписи
с состоянием выполнения заданий:
75. Юрий Осипов (yuraos) 18.09.14 18:59
2. Альтернативный разрыв соединений с клиент-серверной базой теперь можно запустить
без установки блокировки базы из меню "Сервис" командной панели формы
76. Юрий Осипов (yuraos) 18.09.14 19:00
3. Добавлен флаг использования альтернативного разрыва соединений при блокировке.
По умолчанию флаг установлен, если альтернативный разрыв используется.
Запущенный сервис альтернативного разрыва соединений
блокирует закрытие окна обработки (поскольку использует обработчик ожидания формы),
что не всегда бывает удобно.
Снятие флага позволяет установить блокировку соединений и закрыть обработку
без отмены сервиса (изменения "Режима разрыва").
77. Юрий Осипов (yuraos) 18.09.14 19:03
4. Исправлена некритическая ошибка при подключению к кластеру серверов 1С,
связанная с проблемами обратной совместимости платформы 1С-8.3.
78. Юрий Осипов (yuraos) 18.09.14 19:03
5. Сделано более прозрачным поведение диалога авторизации на сервере 1С
при сохранении параметров администрирования базы (
при установке флага "Запоминать").
79. Timeforlive S (timeforlive) 24.02.15 07:16
Для доступа только одному пользователю нужно писать это (в доп. настройках)?
ENTERPRISE /F "<путь к папке с файлом 1Cv8.1CD>" /CРазрешитьРаботуПользователей /UC<установленный пароль>


У другого пользователя (с другого удаленного рабочего стола), если прописать, то у него заходит в режиме Предприятие, но потом вылетает. Версия платформы - 8.3
А вот если все повторить тоже самое, но зайти не с другого рабочего стола, а со своего (админского, откуда запускал обработку), то все работает нормально.

Вопрос: как сделать доступ только одному\двум пользователям?

Обработка: БлокировкаИБ82(3+).epf
80. Константин Юрин (kostyaomsk) 24.02.15 09:18
(79) timeforlive, только пароль не забудьте указать после параметра
UC<установленный пароль>
т.к. в базу потом не зайдете :) Эт еще и в обработке блокировки сеансов пользователя что идет со стандартными конфигурациями :) Потом только дату "откручивать" на ПК или еще более варварским методом заходить, типа файлы *.fl, *.tmp, *.cl стирать
81. Timeforlive S (timeforlive) 12.03.15 12:31
если дату "открутить", наверно поможет. Потом можно запустить обработку и снять блокировку.

Верно ли я заметил, други! Если в доп. настройках прописать (79), то любой пользователь может зайти в базу?

Что посоветуете для "выкидывания" пользователя (кроме ctrl+alt+del)? Иногда удобно поставить блокировку с 18:20 на часик и если никто из пользователей не позвонит по телефону, что, якобы, не закончил работу, то можно смело выбрасывать всех не-закрывших 1Ску.
82. Юрий Осипов (yuraos) 12.03.15 20:19
(81) timeforlive,
если база клиент-серверная,
то используя эту обработку можно установить блокировку "немедленно" (чтобы текущее время уже попадало в интервал)
ну а после всех юзверей можно кикнуть из меню "Сервис" как показано ниже
Прикрепленные файлы:
83. Юрий Осипов (yuraos) 29.10.15 04:51
Доброго времени суток!
Опубликована версия обработки 8.3 от 28.10.2015:
+ Обработка адаптирована для работы под 8.3 в конфигурациях,
где запрещено использование модальных методов.
Если в свойствах конфигурации модальные методы запрещены,
то используются их асинхронные аналоги.
+ Совместимость с типовым функционалом БСП редакции 2.2:
- Открытие типовой формы параметров администрирования серверной ИБ;
- Совместимость структуры параметроа авторизации на сервере 1С;
Ограничения обратной совместимости:
- Под платформой 8.2 обработка этой версии будет нормально работать в толстом и тонком клиентах.
- При открытии обработки в Web-клиенте под 8.2 будет ошибка компиляции модуля формы
из-за "открытого" использования глобальных асинхронных методов
ПоказатьПредупреждение() и ПоказатьВопрос().
Проблема решается закомментариванием строк с вызовом этих методов на стороне Web-клиенте,
специально выделенных для этого инструкциями препроцессора.
84. Юрий Осипов (yuraos) 08.11.15 19:33
Доброго времени суток!
Обновлен файл поставки БлокировкаИБ83.epf.

Текущие изменения носят косметический характер:

1. Подправлено оформление управляемой формы - чтобы не так страшно выглядела под интерфейсом "Такси".

2. Обеспечено "модальное" открытие формы обработки
когда в свойствах конфигурации запрещено использование модальных методов.
В этом случае вместо модального режима используется
открытие формы с блокировкой интерфейса всего приложения.
85. Павел (artemns) 13.11.15 11:01
Спасибо. Отличная обработка.
86. Андрей Ро (AndrewVVS) 16.11.15 13:35
yuraos, добавить Флаг "Кроме меня" (себя)- рассматривали? Чтобы обработка сама себя не выгоняла :).
Если НЕ КромеМеня Тогда
ПодключитьОбработчикОжидания("ЗавершитьРаботуПользователей", 60); КонецЕсли;
87. Юрий Осипов (yuraos) 16.11.15 18:28
(86) AndrewVVS,
Да как-то в голову не приходило.Если блокировать базу - то всех вон!
Но мысль вполне здравая.
Как руки дойдут - воткну такую дополнительную галку.
88. Артем Артеменко (dock) 04.02.16 20:08
Когда обработка формирует сообщение пользователю, к сообщению добавляется текст "Для администратора...."
как нибудь можно избавиться от этого текста ?
89. Юрий Осипов (yuraos) 12.03.16 10:48
(88) dock,
Исходное сообщение пользователям о блокировке базы
видоизменяется в типовым функционалом БСП, который поддерживается этой обработкой:
***
процедура в модуле объекта обработки

// Установить или снять блокировку информационной базы,
// исходя из значений реквизитов обработки.
//
Процедура ВыполнитьУстановку() Экспорт
	Перем Блокировка;
	
	Попытка
		СообщениеСтрока = Вычислить("СоединенияИБ.СформироватьСообщениеБлокировки(Сообщение, КодРазрешения)");
	Исключение
		СообщениеСтрока = Сообщение;
	КонецПопытки;
	
	Попытка
		Выполнить("Блокировка = Новый БлокировкаСеансов;");
	Исключение
		Попытка
			Выполнить("Блокировка = Новый БлокировкаУстановкиСоединений;");
		Исключение
			// если уж совсем все плохо
			Возврат;
		КонецПопытки; 
	КонецПопытки;
	
	//  установка параметров блокировки
	Блокировка.Начало           = НачалоБлокировки;
	Блокировка.Конец            = ОкончаниеБлокировки;
	Блокировка.Сообщение        = СообщениеСтрока; 
	Блокировка.Установлена      = УстановитьБлокировкуСоединений;
	Блокировка.КодРазрешения    = КодРазрешения;
	
	// установка блокировки соединений
	Попытка
		Выполнить("УстановитьБлокировкуСеансов(Блокировка);");
	Исключение
		Выполнить("УстановитьБлокировкуУстановкиСоединений(Блокировка);");
	КонецПопытки; 
КонецПроцедуры

...Показать Скрыть


90. Юрий Осипов (yuraos) 12.03.16 10:51
(89)(88)
если сильно не нравится эта типовая вставка в сообщении,
можно подправить в конфигураторе указанную выше процедуру
следующим образом:


// Установить или снять блокировку информационной базы,
// исходя из значений реквизитов обработки.
//
Процедура ВыполнитьУстановку() Экспорт
	Перем Блокировка;
	
	//Попытка
	//	СообщениеСтрока = Вычислить("СоединенияИБ.СформироватьСообщениеБлокировки(Сообщение, КодРазрешения)");
	//Исключение
	//	СообщениеСтрока = Сообщение;
	//КонецПопытки;
	СообщениеСтрока = Сообщение;
	
	Попытка
		Выполнить("Блокировка = Новый БлокировкаСеансов;");
	Исключение
		Попытка
			Выполнить("Блокировка = Новый БлокировкаУстановкиСоединений;");
		Исключение
			// если уж совсем все плохо
			Возврат;
		КонецПопытки; 
	КонецПопытки;
	
	//  установка параметров блокировки
	Блокировка.Начало           = НачалоБлокировки;
	Блокировка.Конец            = ОкончаниеБлокировки;
	Блокировка.Сообщение        = СообщениеСтрока; 
	Блокировка.Установлена      = УстановитьБлокировкуСоединений;
	Блокировка.КодРазрешения    = КодРазрешения;
	
	// установка блокировки соединений
	Попытка
		Выполнить("УстановитьБлокировкуСеансов(Блокировка);");
	Исключение
		Выполнить("УстановитьБлокировкуУстановкиСоединений(Блокировка);");
	КонецПопытки; 
КонецПроцедуры

...Показать Скрыть
91. Михаил Рожков (Templ) 13.04.16 11:02
Что означает разрыв соединений стандартно?
92. Юрий Осипов (yuraos) 13.04.16 16:42
(91) Templ,
Стандартно - это средствами типового функционала (типовым функционалом БСП).

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

Если блокировка есть -
- эти обработчики завершают работу с системой по определенному типовому сценарию.(31)(32)(33)
93. Юрий Осипов (yuraos) 13.04.16 16:58
(92) "Альтернативно" - это возможность предусмотренная этой обработкой в случае клиент-серверной базы.
Альтернативный вариант не отменяет, а упреждает стандартный механизм завершения работы.

За указанное время до наступления момента блокировки соединения разрываются
с помощью объекта V8[1,2,3].COMConnector

Отменить же стандартный механизм завершения работы пользователей во всех соединениях
НЕЛЬЗЯ, если не разламывать типовой функционал.
Максимум что можно сделать в этой обработке - остановить типовое завершение работы для текущего соединения.
94. Виктор Моисеев (movis08) 23.06.16 12:36
Любопытно опробовать))
Хотел сам написать, а тут такое
95. Мухтар (makfromkz) 03.09.16 14:57
а у меня обработка не выгнала меня из тонкого клиента :(
96. Юрий Осипов (yuraos) 08.09.16 16:17
(95) makfromkz,
альтернативный разрыв соединений в этой обработке не трогает текущее соединение, инициирующее блокировку базы.
после разрыва всех соединений кроме текущего
обработка при закрытии формы предлагает сделать завершить работу системы.

Так сделано по ряду причин:
1. Иногда требуется заблокировать базу потом "всех убить, одному остаться" для того, чтобы творить единолично в базе свои темные дела.
2. Сам альтернативный разрыв соединений с серверной базой выполняется в обработчике ожидания формы обработки.
И было бы не очень хорошо, если текущая соединение уже разорвано, а другие соединения еще нет (порядок в котором разрываются соединения вообще говоря непредсказуем).
3. Суцид считается грехом во всех традиционных мировых религиях. ;) .
KroVladS; Kostya120981; +2 Ответить
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа