1. Airat116 12.08.19 08:16 Сейчас в теме

Как нужно УстановитьПривилегированныйРежим?? Не получается сделать(

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

Функция СведенияОВнешнейОбработке() Экспорт
    РегистрационныеДанные = Новый Структура;
    РегистрационныеДанные.Вставить("Наименование", "Перемещение МЦ04 по МОЛ");
    РегистрационныеДанные.Вставить("БезопасныйРежим", Ложь);
    РегистрационныеДанные.Вставить("Вид", "ДополнительнаяОбработка");
    РегистрационныеДанные.Вставить("Версия", "1.0");
    РегистрационныеДанные.Вставить("Информация", "Перемещение МЦ04 по МОЛ");
    
    ///////////// команды /////////////////////////
    тзКоманд = Новый ТаблицаЗначений;
    тзКоманд.Колонки.Добавить("Идентификатор",             Новый ОписаниеТипов("Строка"));
    тзКоманд.Колонки.Добавить("Представление",             Новый ОписаниеТипов("Строка"));
    тзКоманд.Колонки.Добавить("Модификатор",             Новый ОписаниеТипов("Строка"));
    тзКоманд.Колонки.Добавить("ПоказыватьОповещение",     Новый ОписаниеТипов("Булево"));
    тзКоманд.Колонки.Добавить("Использование",             Новый ОписаниеТипов("Строка"));
    
    строкаКоманды = тзКоманд.Добавить();
	строкаКоманды.Идентификатор         = "Перемещение МЦ04 по МОЛ"; 
    строкаКоманды.Представление         = "Перемещение МЦ04 по МОЛ";
    строкаКоманды.ПоказыватьОповещение  = Истина;
    строкаКоманды.Использование         = "ОткрытиеФормы";
    
    РегистрационныеДанные.Вставить("Команды", тзКоманд);
    Возврат РегистрационныеДанные;
КонецФункции
Показать
11. Rustig 1173 14.08.19 16:08 Сейчас в теме
(3)
(7) не знал-не знал... у меня на файловой базе используется при обмене... перейти на клиент-сервер будет проблемно...
7. spacecraft 12.08.19 08:54 Сейчас в теме
(1) база файловая или клиент-серверная?
Если второе, то можете забыть про привилегированный режим в модуле формы внешней обработки обычного приложения. Он включается только на сервере.
8. Airat116 12.08.19 08:59 Сейчас в теме
9. spacecraft 12.08.19 09:02 Сейчас в теме
(8) только изменением конфигурации. Как вариант отдельный привилегированный серверный общий модуль с вызовом сервера и там делать нужные действия.
Это защита, чтобы внешней обработкой ничего не допустимого сделать не смогли.
10. Airat116 12.08.19 09:07 Сейчас в теме
(9)Понял. Спасибо. Щас попробую сделать
2. accounting_cons 246 12.08.19 08:29 Сейчас в теме
Поставьте эту строку в начале процедуры, а не в конце.
5. Airat116 12.08.19 08:41 Сейчас в теме
(2)
Вот так?
Процедура КнопкаВыполнитьНажатие(Кнопка)
	// Вставить содержимое обработчика.
	УстановитьПривилегированныйРежим(Истина);
	движения = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей();
	движения.Отбор.регистратор.установить(Документ);
	движения.ОбменДанными.Загрузка = истина;
	для каждого стр из Номенклатуры цикл
		новстр = движения.Добавить();
6. Airat116 12.08.19 08:45 Сейчас в теме
В отладке пишет где колонка "Значение"
{(1,1)} Обращение к процедуре как к функции (УстановитьПривилегированныйРежим)
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Программист 1С
Москва
зарплата от 150 000 руб. до 150 000 руб.
Полный день

Консультант 1С
Нижний Новгород
зарплата до 100 000 руб.
Полный день

Программист стажер 1С
Нижний Новгород
зарплата от 30 000 руб.
Полный день

Программист 1С
Нижний Новгород
зарплата до 100 000 руб.
Полный день

Программисты 1С УТ / БУЗ/ЗУП / БИТ ФИНАНС
Москва
зарплата от 100 000 руб. до 180 000 руб.
Полный день