Здравствуйте.Помогите пжл как надо правильно устанавливать привилегированный режим?
Есть внешняя обработка.Перемещение МЦ04 по МОЛ. База (БП 2.0) У пользователя при нажатии на кнопку "Сохранить проводки" выходит ошибка недостаточно прав. Пытаюсь поставить ПривилегированныйРежим, но никак не получается(
Вот так пробывал написать...
В модуле формы.

```1c
    Процедура КнопкаВыполнитьНажатие(Кнопка)
    // Вставить содержимое обработчика.
    движения = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей();
    движения.Отбор.регистратор.установить(Документ);
    движения.ОбменДанными.Загрузка = истина;
    для каждого стр из Номенклатуры цикл
    новстр = движения.Добавить();
    новстр.СчетДт = ПланыСчетов.Хозрасчетный.НайтиПоКоду("МЦ.04");
    новстр.СчетКт = ПланыСчетов.Хозрасчетный.НайтиПоКоду("МЦ.04");
    новстр.СубконтоДт.вставить(новстр.СчетДт.ВидыСубконто[0].ВидСубконто,стр.Номенклатура);
    новстр.СубконтоДт.вставить(новстр.СчетДт.ВидыСубконто[1].ВидСубконто,стр.Партии);
    новстр.СубконтоДт.вставить(новстр.СчетДт.ВидыСубконто[2].ВидСубконто,РаботникДт);
    новстр.СубконтоКт.вставить(новстр.СчетДт.ВидыСубконто[0].ВидСубконто,стр.Номенклатура);
    новстр.СубконтоКт.вставить(новстр.СчетДт.ВидыСубконто[1].ВидСубконто,стр.Партии);
    новстр.СубконтоКт.вставить(новстр.СчетДт.ВидыСубконто[2].ВидСубконто,РаботникКт);
    //БухгалтерскийУчет.УстановитьСубконто(новстр.СчетДт, новстр.СубконтоДт, 1, РаботникДт);
    //БухгалтерскийУчет.УстановитьСубконто(новстр.СчетДт, новстр.СубконтоДт, 2, стр.Номенклатура);
    //БухгалтерскийУчет.УстановитьСубконто(новстр.СчетДт, новстр.СубконтоДт, 3, стр.Партии);
    //БухгалтерскийУчет.УстановитьСубконто(новстр.СчетКт, новстр.СубконтоКт, 1, РаботникКт);
    //БухгалтерскийУчет.УстановитьСубконто(новстр.СчетКт, новстр.СубконтоКт, 2, стр.Номенклатура);
    //БухгалтерскийУчет.УстановитьСубконто(новстр.СчетКт, новстр.СубконтоКт, 3, стр.Партии);
    новстр.КоличествоДт = стр.Количество;
    новстр.КоличествоКт = стр.Количество;
    новстр.Сумма = стр.Сумма;
    новстр.Регистратор = Документ;
    новстр.период = Документ.Дата;
    новстр.Организация = Справочники.Организации.НайтиПоНаименованию("Общество с ограниченной ответств "Маш"");
    КонецЦикла;
    //движения.ОбменДанными.Загрузка = истина;
    УстановитьПривилегированныйРежим(Истина);
    движения.Записать();
    КонецПроцедуры
```
---
база файловая или клиент-серверная?
Если второе, то можете забыть про привилегированный режим в модуле формы внешней обработки обычного приложения. Он включается только на сервере.
---
Убедитесь, что при подключении внешней обработки у Вас отключен безопасный режим. В безопасном режиме привилегированный режим не включается не смотря на наличие соответствующей инструкции в коде.
---
я в модуле объекта написал вот такую функцию "Безопасный режим вроде убрал как"

```1c
    Функция СведенияОВнешнейОбработке() Экспорт
    РегистрационныеДанные = Новый Структура;
    РегистрационныеДанные.Вставить("Наименование", "Перемещение МЦ04 по МОЛ");
    РегистрационныеДанные.Вставить("БезопасныйРежим", Ложь);
    РегистрационныеДанные.Вставить("Вид", "ДополнительнаяОбработка");
    РегистрационныеДанные.Вставить("Версия", "1.0");
    РегистрационныеДанные.Вставить("Информация", "Перемещение МЦ04 по МОЛ");

    ///////////// команды /////////////////////////
    тзКоманд = Новый ТаблицаЗначений;
    тзКоманд.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка"));
    тзКоманд.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка"));
    тзКоманд.Колонки.Добавить("Модификатор", Новый ОписаниеТипов("Строка"));
    тзКоманд.Колонки.Добавить("ПоказыватьОповещение", Новый ОписаниеТипов("Булево"));
    тзКоманд.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка"));

    строкаКоманды = тзКоманд.Добавить();
    строкаКоманды.Идентификатор = "Перемещение МЦ04 по МОЛ";
    строкаКоманды.Представление = "Перемещение МЦ04 по МОЛ";
    строкаКоманды.ПоказыватьОповещение = Истина;
    строкаКоманды.Использование = "ОткрытиеФормы";

    РегистрационныеДанные.Вставить("Команды", тзКоманд);
    Возврат РегистрационныеДанные;
    КонецФункции
```
---
(7) не знал-не знал... у меня на файловой базе используется при обмене... перейти на клиент-сервер будет проблемно...
---
база файловая или клиент-серверная?
Если второе, то можете забыть про привилегированный режим в модуле формы внешней обработки обычного приложения. Он включается только на сервере.
---
А как тогда сделать?
---
только изменением конфигурации. Как вариант отдельный привилегированный серверный общий модуль с вызовом сервера и там делать нужные действия.
Это защита, чтобы внешней обработкой ничего не допустимого сделать не смогли.
---
Понял. Спасибо. Щас попробую сделать
---
Поставьте эту строку в начале процедуры, а не в конце.
---
Вот так?

```1c
    Процедура КнопкаВыполнитьНажатие(Кнопка)
    // Вставить содержимое обработчика.
    УстановитьПривилегированныйРежим(Истина);
    движения = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей();
    движения.Отбор.регистратор.установить(Документ);
    движения.ОбменДанными.Загрузка = истина;
    для каждого стр из Номенклатуры цикл
    новстр = движения.Добавить();
```
---
В отладке пишет где колонка "Значение"
{(1,1)} Обращение к процедуре как к функции (УстановитьПривилегированныйРежим)
---
Тоже имеются проблемы с установкой привилегированного режима.
Ситуация на сегодня:

Внешняя печатная форма
Из нее обращение к общему модулю со следующими свойствами :

Клиент нет
Сервер да
Внешнее соединение нет

Вызов сервера да
Привилегированный да

```1c
    Функция ПолучитьСведенияОбОрганизации(Знач Организация, Знач НаДату, Знач СтрП) Экспорт

    УстановитьПривилегированныйРежим(Истина);
    ОргСведения = РегламентированнаяОтчетностьВызовСервера.ПолучитьСведенияОбОрганизации(Организация, НаДату, СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(СтрП, "*"));
    УстановитьПривилегированныйРежим(Ложь);
    Возврат ОргСведения;

    КонецФункции // ПолучитьСведенияОбОрганизации()
```

В сведениях об организации не получается добыть данные о руководителе и главном бухгалтере, поскольку у них установлена Группа доступа (в спр.Физические лица) недоступная текущему пользователю.

Во внешней обработке безопасный режим отключен, пользователю защиту от опасных действий тоже отключила

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

В общем, УстановитьПривилегированныйРежим(Истина) не срабатывает

Подскажите, чего я еще не учла, очень хочется чтобы все заработало