Інтернет Windows Android

Як вимкнути активних користувачів 1С. Налаштування сплячих сеансів

1. Вимкнення користувачів у файловій версії 1С 8.

Для відключення користувачів у файловій версії Я створив *.bat файл з одним рядком

net session /delete /y

Він відключає всі відкриті спільні файли на комп'ютері, на якому лежить база.
Далі створив завдання (Планувальник завдань Windows), який запускав би цей файл у призначений час.
Ви запитаєте як же ті сеанси які відкриті на комп'ютері, Я їх також усунув створивши новий *.bat файл з рядком

taskkill /IM 1cv8.exe /f
правда він відключає всі запущені 1С на поточному комп'ютері, але для мене це не було так страшно, оскільки архівація проводилася в нічний час і вже ніхто не працював у базі, цей батник теж можна додати до Windows Планувальник.

2. Відключення користувачів у клієнт-серверній базі.

Так само як і у випадку файлової бази, я використовував *.bat файли.
Створив два файли *.bat, перший відключає сервер 1С підприємство, другий його включає дуже просто.

net stop "1C:Enterprise 8.2 Server Agent"

net start "1C:Enterprise 8.2 Server Agent"

Додав два нових завдання в планувальник Windows , з різницею в часі 15 хвилин для того щоб всі користувачі, що зависли, змогли вимкнутись, ці дії аналогічні Запуск сервера 1С Підприємство і Зупинка сервера 1С Підприємство

3. Програмний спосіб відключення користувачів у 1С

Стояло завдання виконувати архівацію щоденно о 22:30.
У цьому способі Я не став морочитися, створив нову роль "НеЗакривати1С".
Створив нову процедуру в модулі звичайної програми:

Процедура ЗавершенняРоботиКористувачів() Експорт Якщо НЕ РольДоступна("НеЗакривати1С") Тоді Якщо Час(моп_Виконання ОпераційНаСервері.ПоточнаДатаНаСервері()) >= 22 Тоді // отримую час на сервері ПрипинитиРоботуСистеми;

КінецьЯкщо;

КінецьЯкщо;

КінецьПроцедури

Якщо НЕ РольДоступна("НеЗакривати1С") Тоді Якщо Час(моп_Виконання ОпераційНаСервері.ПоточнаДатаНаСервері()) >= 22 Тоді // отримую час на сервері ПрипинитиРоботуСистеми(Брехня);
КінецьЯкщо;
КінецьЯкщо;

Таким чином ми отримуємо дату на сервері, якщо у властивостях загального модуля встановлена ​​галочка "Сервер", я поставив тільки її.

Виходить поточний код відрубує користувачів на дві години, але після півночі зазвичай ніхто не заходить в базу.

Якщо комусь допомогла ця стаття, буду дуже радий.

Для проведення регламентних робіт в інформаційній базі 1С:Підприємства 8 часто необхідно отримати монополний доступ до бази. Наприклад, для виконання бекапу бази або виконання регламентних робіт на сервері СУБД (реіндексація тощо) необхідно відключити всі активні сеанси.

Розглянемо простий спосіб відключення користувачів від інформаційної бази за допомогою стандартного функціоналу сервера 1С:Підприємства.

Стандартний функціонал

Відразу зазначу, що йтиметься про клієнт-серверний варіант роботи 1С:Підприємства 8. Для відключення сеансів зайдемо в консоль адміністрування сервера. Там знайдемо потрібну інформаційну базу у списку:

Зайшовши у властивості ІБ встановимо опцію "Блокування початку сеансів включено". При цьому може бути необхідно всі логін/пароль облікового запису адміністратора інформаційної бази.

Не забувайте встановити період блокування сеансу. Також слід передбачити, що на час блокування сеансів необхідно зупинити всі фонові завдання. Робиться це опицею "Блокування регламентних завдань включено".

За потреби можна встановити текст повідомлення користувачам, яким вони будуть повідомлені за 5 хвилин до блокування сеансів, а також код дозволу для входу в інформаційну базу під час блокування сеансів.

Код дозволу можна використовувати для входу в інформаційну базу для виконання регламентних робіт, доки інші сеанси не активні. Вводити код роздільної здатності під час підключення до бази потрібно за допомогою параметрів. Наприклад, так буде виглядати параметр, переданий серверу, якщо код роздільної здатності "123456".

Увійшовши до бази в такий спосіб ми отримаємо монополний доступом до інформаційної базі. Інші сеанси не зможуть до нас приєднатися.

Повідомлення користувача про блокування сеансів виглядає наступним чином (залежно від повідомлення, введеного адміністратором). З'являється воно щохвилини за 5 хвилин до періоду блокування.

На початку періоду блокування сеансів спочатку з'являється повідомлення:

Після завершення сеансу.

Активні сеанси також можна вимкнути, видаляючи їх зі списку активних сеансів. Подібна дія часом необхідна для завершення сеансів, що зависли.

На практиці про відключення користувачів краще повідомляти заздалегідь, щоб знизити ризик втрати даних, введених користувачами, але ще не збережених.

У разі нештатного завершення клієнтської програми (обрив зв'язку або закриття вікна бразуера) клієнтські ліцензії «1С: Підприємство 8» можуть блокуватися.

Звільнити заблоковані ліцензії клієнта можна перезавантаженням ПК.

При нештатному завершенні клієнтської програми сеанс утримується ще 20 хвилин. Після цього у версіях до 8.3.5 сеанс видалявся. З версії 8.3.5 сеанс засинає у сплячому стані за умовчанням утримується ще добу. Сплячий сеанс не займає клієнтську ліцензію "1С: Підприємство 8".

У версії 8.3.5 час засипання сеансу і час видалення сплячого сеансу, що не використовується, можна змінити за допомогою спеціальної або в Конфігураторі 1С в діалозі Адміністрування/ Параметри інформаційної бази, встановивши рекомендовані параметри сплячого сеансу:

  • час засинання пасивних сеансів - 300
  • час завершення сплячих сеансів - 10

До речі, хто спить, а хто активний, завжди можна подивитися через консоль сервера на закладці сеансів. У відповідній колонці «Сплячий» є ознака Так/Ні.

Штатно (за версією фірми 1С) завершити роботу у веб-клієнті можна командою "Файл"-"Вихід". З версії 8.3.8 додали команду завершення роботи в заголовок програми поруч із кнопкою Про програму. Вона відображається у вигляді гіперпосилання з ім'ям поточного користувача. При натисканні на гіперпосилання відкривається діалог з ім'ям користувача та командою Завершити роботу.

Платформа кожні 5 секунд робить пінги клієтом сервер 1С (видні пакети по 4 байти). На підставі "пінгів" сервер відстежує цілісність з'єднання з клієнтським додатком. Відсутність пінгів протягом 2 хвилин серввер інтерпретує як розрив з'єднання.

Реалізовано у версії 8.3.8.1652.

Раніше користувачі, які звикли до роботи з веб-застосунками, відчували певну незручність від того, що не бачили команди завершення роботи користувача. Вони звикли до того, що зазвичай така команда є і вона знаходиться на видному місці. І щоб завершити роботу веб-програми потрібно не просто закрити вікно браузера, а саме виконати цю команду. Яка, зокрема, завершить і сеанс авторизації. Щоб при наступному запуску програми не можна було ввійти в нього просто так, а тільки після введення логіна і пароля.

У 1С:Підприємстві та команда Вихід, і команда Завершити роботу користувача …(при використанні OpenID-аутентифікації) існують, але розміщуються в меню Файл, Про що багато користувачів не знають.

Щоб зробити роботу користувачів більш звичною, ми додали команду завершення роботи в заголовок програми поруч із кнопкою Про програму. Вона відображається як гіперпосилання з ім'ям поточного користувача.



Ця команда, за звичайної автентифікації, завершує роботу клієнтського додатка. А при OpenID-автентифікації вона завершує роботу користувача (OpenID logout) і завершує роботу програми.

При публікації інформаційної бази на веб-сервері можна задати URL-адресу, по якій буде виконано перехід після завершення роботи веб-клієнта цією командою. Наприклад, для повернення на основну сторінку постачальника сервісу, якщо користувач працював із додатком у моделі сервісу.

Програмні продукти на основі платформи 1С мають безліч функцій як профільних, так і прикладних, тобто адміністративних. Профільний функціонал (звісно, ​​залежно від призначення рішення) стосується таких сфер, як закупівля товарів, їх продаж, складський, оперативний та управлінський облік, бухгалтерію, CRM, а у разі комплексних рішень – і всі разом.

Звичайно, один співробітник не в змозі контролювати всі бізнес-процеси організації, нехай вони навіть і автоматизовані. Тому адміністраторам систем 1С доводиться мати справу з десятками та сотнями користувачів, які працюють із певним функціоналом системи. Кожному з них доводиться налаштовувати особливі права, щоб у їхньому розпорядженні були одночасно і всі, і лише потрібні їм документи, функції та звіти. І ось тут ми починаємо розглядати прикладний або адміністративний функціонал рішень 1С, який якраз і входить налаштування прав доступу користувачів.

Налаштування користувача 1С 8.3

За права користувачів 1С 8.3 відповідають спеціальні об'єкти структури конфігурації – «Ролі». У більшості типових конфігурацій вже є певний перелік створених стандартних ролей. Ними ви зможете користуватися під час створення облікових записів та налаштування прав доступу для них. Якщо стандартний набір вам не підходить, то його можна змінити або додати свої ролі.

Кожному користувачеві може бути призначено кілька ролей, відповідальних конкретні права. Для того, щоб налаштувати права користувачів 1С, потрібно дізнатися, які ролі у них є зараз. Цю інформацію можна отримати двома шляхами:

  • Через конфігуратор. Цей варіант підійде для будь-яких конфігурацій;
  • У деяких конфігураціях через "Підприємство".

Запускайте конфігуратор вашої бази 1С під ім'ям користувача з повними правами та відкрийте меню "Адміністрування" -> "Користувачі". Щоб дізнатися права конкретного користувача, необхідно натиснути на рядок з його прізвищем подвійним кліком і перейти на вкладку «Інші». Галочкою будуть відзначені ті ролі, які доступні користувачеві. Щоб додати або прибрати певну роль, змініть позначки та натисніть «OK».



Якщо після аналізу ви зрозуміли, що стандартні ролі не зможуть повністю задовольнити вимоги до розмежування прав, необхідно їх змінити. Для цього знайдіть потрібну роль у дереві конфігурації та відкрийте її подвійним клацанням. У лівій частині вікна ви побачите перелік всіх об'єктів конфігурації. У правій частині галками відзначені ті дії, права на які закладені в цій ролі стосовно вибраного об'єкта зліва.



Ви можете не лише давати та прибирати дозволи на певні дії з об'єктами конфігурації, ставлячи та знімаючи галки. Крім цього, у платформу 1С вбудований дуже зручний механізм, що відповідає за обмеження прав користувачів на рівні записів – RLS. Він дозволяє задавати умову, тільки при виконанні якої користувач бачитиме дані інформаційної бази. За допомогою RLS права користувачів у 1С 8.3 можуть бути налаштовані так, що, наприклад, кожен конкретний комірник бачитиме інформацію лише за своїм складом.

Ще один спосіб додати права на будь-який об'єкт користувачу, не змінюючи стандартні ролі – створити нову роль. Для цього натисніть кнопку «Додати», перебуваючи у гілці конфігурації «Ролі», і назвіть новий об'єкт. У вікні зліва знайдіть потрібні об'єкти конфігурації, а праворуч встановіть потрібні права та обмеження. Після збереження нової ролі необхідно оновити конфігурацію, зайти до списку користувачів та додати нову роль певним користувачам.

Створенням користувачів та роздачею прав відповідальність адміністратора інформаційної бази 1С не обмежується. Співробітники можуть змінюватись, обов'язки перерозподілятися, і на всі ці зміни адміністратори мають швидко реагувати. Якщо співробітник, який виконував певні функції в 1С, звільнився, необхідно відключити користувача 1С, щоб колишні колеги не користувалися обліковим записом. У цьому нам допоможе список користувачів, який можна відкрити у конфігураторі меню «Адміністрування».


Відкривши налаштування користувача 1С, необхідно зняти галки, які відповідають за знаходження імені співробітника у списку вибору та автентифікації. Таким чином, ви забороните входити під прізвищем співробітника, що пішов, і збережете налаштування прав доступу, на випадок, якщо співробітник повернеться. Також ці налаштування стануть у нагоді, якщо всі повноваження передадуть новому співробітнику - вам не доведеться заново налаштовувати ролі.

Цілком видаляти користувача не рекомендується ще й через те, що в системі в різних документах є посилання на відповідального користувача. Якщо видалити запис, то з'являться биті посилання та непорозуміння, хто створив конкретні документи, що може призвести до плутанини. Набагато ефективніше відключити користувача 1С від входу до системи, а деяких випадках зняти повністю права (ролі). Також у деяких компаніях існує практика позначати неактивних користувачів певним значком у полі «Ім'я», наприклад: «ІвановаТП».

У деяких випадках адміністратору 1С може знадобитися терміново викинути користувачів з бази 1С. Це можна зробити двома способами:

  1. Через режим "Підприємство" від користувача з адміністративними правами. Підтримується не всіма конфігураціями;
  2. Через сервер додатків за допомогою консолі кластера серверів 1С.

Щоб скористатися першим варіантом, необхідно зайти до «НСІ та адміністрування», відкрити «Обслуговування» та запустити форму «Активні користувачі». Ми побачимо перелік активних користувачів та зверху кнопку «Завершити», натискання на яку дозволить примусово завершити сеанси користувачів. Крім цього, в цьому переліку можна побачити ім'я комп'ютера і час початку роботи, що допоможе відстежити сеанси, що зависли.


Другий варіант відключення активних користувачів вимагає більшої уваги та відповідальності, оскільки найчастіше консоль кластера розміщують на сервері додатків. Якщо у вас є доступ до цієї панелі керування сервером, то завершити сеанс користувача можна так:

  1. Відкриваємо консоль кластера;
  2. Проходимо до списку інформаційних баз та відкриваємо сеанси потрібної нам;
  3. Знаходимо у списку потрібного користувача;
  4. Викликаємо контекстне меню, натиснувши праву кнопку миші, там буде функція – «Видалити».


У платформі 1С розробниками закладено зручний механізм налаштування прав та управління користувачами. Тому ці можливості доступні власникам всіх конфігурацій, навіть написаних самостійно. Ще однією перевагою є невибагливість до наявності глибоких знань системи 1С. Будь-який відповідальний і уважний адміністратор може справитися з цими операціями.