Здравствуйте. Нам нужно отключить доступ в программу всем пользователям 1С (их много) кроме одного администратора. Чтобы потом вручную выдавать по письменному запросу. Как это можно сделать через обработку или еще другим способом, чтобы не снимать галочку "разрешить доступ в программу" вручную?
---
Нужно использовать галку "Недействителен"

```1c
    Выборка=Справочники.Пользователи.Выбрать();
    Пока выборка.Следующий() Цикл
    Если Выборка.Код="Администратор" или Выборка.Наименование="Администратор" или Выборка.ЭтоГруппа тогда

    Иначе
    Об=Выборка.ПолучитьОбъект();
    Об.Недействителен=Истина;
    Об.ОбменДанными.Загрузка=Истина;
    Об.Записать();
    КонецЕсли;
    КонецЦикла;
```
---
Блокировка работы пользователей не подходит?
это не то
---
Групповой обработкой. Эта галка в справочнике пользователи?
---
справочнике
Да, просто снять галочки всем 700+ пользователям и уже чтобы админ вел контроль тех кому выдал доступ.
---
Функции технического специалиста/Групповое изменение справочников и документов
Там выберете справочник "Пользователи" и найдёте реквизит с этим названием. Установите в Ложь. И нажмёте выполнить обработку.
---
Только осторожно, так можно всем запретить и вообще ни кто не войдёт. На тестовой сначала попробуйте. Если с отборами не хотите заморачиваться.
---
А нет ли такого epf файла, чтобы случайно не запороть все ? Вроде тривиальная задача, а риски высоки. Например чтобы она создала пользователя с админ правами, а у всех отбирала доступ.
---
Так писать его надо, сомневаюсь, что это частая потребность.
Что за конфигурация у вас? Нельзя пользователей в группу объединить и запретить всей группе вход?
---
1С Бухгалтерия 8.3.18.1289 (БГУ, ЗГУ) в обучающем заведении, и будет проблематично потом вернуть нужные группы студентам и преподавателям.
---
500 руб. и беру риски на себя))
---
Нужно использовать галку "Недействителен"

```1c
    Выборка=Справочники.Пользователи.Выбрать();
    Пока выборка.Следующий() Цикл
    Если Выборка.Код="Администратор" или Выборка.Наименование="Администратор" или Выборка.ЭтоГруппа тогда

    Иначе
    Об=Выборка.ПолучитьОбъект();
    Об.Недействителен=Истина;
    Об.ОбменДанными.Загрузка=Истина;
    Об.Записать();
    КонецЕсли;
    КонецЦикла;
```
---
Спасибо, а можно чуть по подробнее где это все вводить =)
---
это кусок обработки, надо её создать и пидумать недостающую часть. И наименование вашего пользователя точно Администратор?)
---
Можно создать любого пользователя для обработки с любым именем. Суть в том, что нужно избавиться от мертвых душ и выдавать доступ тем кто нуждается в нем.
Еще был совет:
Сделать через обработку Групповое изменение реквизитов.
Сделать в ней отбор по Администратору (не равно) и установить реквизит Недействителен = истина.
Такая обработка есть во всех конфигурациях (типовых)

Но хотелось бы подробностей.
---
да
Подробности в Яндексе, по запросу групповая обработка справочников и документов 1с или групповое изменение...
---
И ещё, обратно реквизит "Недействителен" вероятно надо ставить этой же обработкой (в своей БП 3 на форме я его не нашел, может плохо искал)
---
За деньги вы не планируете обработку купить, групповым изменением вам рискованно)) Пусть тогда подключится программист
---
//Отклчает всех кроме вас в бух 3.0 // пример так же будет в и вашей конфе
ПараметрыАдминистрирования = СоединенияИБКлиент.СохраненныеПараметрыАдминистрирования();
Если ОбщегоНазначенияКлиент.КлиентПодключенЧерезВебСервер() Тогда
  СоединенияИБВызовСервера.УдалитьВсеСеансыКромеТекущего(ПараметрыАдминистрирования);
Иначе
  СоединенияИБКлиентСервер.УдалитьВсеСеансыКромеТекущего(ПараметрыАдминистрирования);
КонецЕсли;
про раздачу прав писали выше.