Вход | Регистрация

1С:Предприятие ::

Метки: 

Отражение в регламентированном учете

Я
   first_may
 
25.12.17 - 21:05
Добрый день.

У пользователя нет роли ОтражениеВРегламентированномУчете.
Но ему надо открыть документ, который проведен по БУ и НУ, внести текст в комментарий и сохранить.

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

Подскажите пож, как можно сделать, что бы он все таки смог внести изменение в проведенный документ?
 
  Рекламное место пустует
   Artful Den
 
1 - 25.12.17 - 21:09
1. Создать дополнительную роль.
2. Вынести обработку в привилегированный модуль.
   first_may
 
2 - 25.12.17 - 21:09
(1) ясно, попробую.
   first_may
 
3 - 25.12.17 - 21:33
(1) сделал общий модуль - ПривилигерированныйМодуль, у которого поставил свойство Сервер, Вызов сервера и Привилегированный.

В модуле написал 
Процедура УстановитьПризнакТОРГ12(Документ) Экспорт
    ДокОбъект = Документ.ПолучитьОбъект();
    ДокОбъект.ОбменДанными.Загрузка = Истина;
    
    Если Не Документ.Метаданные().Реквизиты.Найти("ФлагТОРГ12") = Неопределено Тогда
        Если Документ.ФлагТОРГ12 Тогда
            ДокОбъект.ФлагТОРГ12 = Ложь;
        Иначе
            ДокОбъект.ФлагТОРГ12 = Истина;
        КонецЕсли;
    КонецЕсли;
    
    Попытка
        ДокОбъект.Записать(РежимЗаписиДокумента.Запись);
    Исключение
        Сообщить("Не удалось установить признак ТОРГ12. " + Символы.ПС + ОписаниеОшибки());
    КонецПопытки;
КонецПроцедуры



В реализации в списке поставил кнопку и прописал событие
Процедура ДействияФормыТОРГ12(Кнопка)
    ТекСтрока = ЭлементыФормы.Список.ТекущиеДанные;
    
    Если НЕ ТекСтрока = Неопределено И ЗначениеЗаполнено(ТекСтрока.Ссылка) Тогда
        Ответ = Вопрос("Документу """ + ТекСтрока.Ссылка + """ будет установлен признак ТОРГ-12. Продолжить?", РежимДиалогаВопрос.ДаНет);
        Если Ответ = КодВозвратаДиалога.Нет Тогда
            Возврат;
        КонецЕсли;
        
        ПривилигерированныйМодуль.УстановитьПризнакТОРГ12(ТекСтрока.Ссылка);
        Обновить();
    КонецЕсли;
    
КонецПроцедуры


Зашел под пользователем, у которого нет роли ОтражениеВРегламентированномУчете и в списке нажал кнопку. Получил сообщение:

Не удалось установить признак ТОРГ12.
{ОбщийМодуль.ПривилигерированныйМодуль.Модуль(103)}: Ошибка при вызове метода контекста (Записать): Не удалось записать "Реализация товаров и услуг 3720122017 от 20.12.2017 15:20:50"!


Что не так я сделал?
   ildary
 
4 - 25.12.17 - 21:39
Если процедура модуля вызывается из внешней обработки, в которой БезопасныйРежим=Истина, то надо безопасный режим отключить.
   first_may
 
5 - 25.12.17 - 21:42
(4)  если процедура модуля вызывается из внешней обработки  - нет, не из внешней, а из модуля формы списка.

Так нельзя?
   first_may
 
6 - 25.12.17 - 21:46
Конфигурация Управление производственным предприятием, редакция 1.3, если имеет значение.
   first_may
 
7 - 25.12.17 - 21:52
Надо обязательно из внешней обработки?
   first_may
 
8 - 25.12.17 - 22:17
Сделал внешнюю печатную форму, которая вызывается по кнопке Печать. Открывается форма, в которой флажок ТОРГ12.

Тот же пользователь вызывает ее, ставит флажок и нажимает Ок. При этом выдается собщение

Не удалось установить признак ТОРГ12.
{ОбщийМодуль.ПривилигерированныйМодуль.Модуль(103)}: Ошибка при вызове метода контекста (Записать): Не удалось записать "Реализация товаров и услуг 3720122017 от 20.12.2017 15:20:50"!


В тексте написано
Процедура КнопкаВыполнитьНажатие(Кнопка)
    УстановитьПривилегированныйРежим(Истина);
    БезопасныйРежим = Ложь;
    
    ПривилигерированныйМодуль.УстановитьПризнакТОРГ12(СсылкаНаОбъект);
    ЭтотОбъект.ПолучитьФорму("Форма").Закрыть();



Что еще можно сделать?
   hhhh
 
9 - 26.12.17 - 00:23
(8) зачем такой фигней невероятной страдать? Сделай регистр сведений ПризнакиТорг12, где 2 поля : Документ и Признак. И никаких прав не потребуется и всяких привилегированных модулей.


Список тем форума
Рекламное место пустует   Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует