Имя: Пароль:
1C
1С v8
Изменить реквизит документа
0 first_may
 
19.10.17
21:24
Добрый день.

Конфигурация Управление производственным предприятием, редакция 1.3, но наверное это не важно.

Есть пользователь с правами Менеджер по продажам, по закупкам и тд, но у него нет роли Отражение в регламентированном учете.

Есть проведенный документ, допустим ПТиУ.

Вопрос - как сделать, что бы этот пользователь мог изменить значение Комментария?

Нашел, что можно использовать
Док.ОбменДанными.Загрузка = Истина;
Док.Записать();

но это вроде работает, когда документ не проведен.

Прошу помощи.
1 trooba
 
19.10.17
21:26
(0) Работает всегда. Читай УстановитьПривилегированныйРежим()
2 first_may
 
19.10.17
22:55
(1) Зашел под пользователем у которого нет роли Отражение в регламентированном учете, но есть дополнительное право Разрешить отражать в регламентированном учете.

в списке стал на документ из закрытого периода и нажал кнопку, которая вызывает процедуру в которой написано

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

все это в модуле у которого свойства Сервер, Привилегированный.

В итоге получил сообщение
Не удалось установить документу признак.
{ОбщийМодуль.ОбработкаПривилигерированный.Модуль(83)}: Ошибка при вызове метода контекста (Записать): Не удалось записать "Реализация товаров и услуг ДМ000000027 от 17.11.2016 16:15:57"!
3 patapum
 
19.10.17
23:07
(2) у пользователя нет прав на запись документа?
4 first_may
 
19.10.17
23:11
(3) в открытом периоде есть..
5 first_may
 
19.10.17
23:13
если дать роль Отражение в регламентированном учете, то все работает замечательно, но он сможет тогда открыть документ в закрытом периоде и поменять не только комментарий, а затем првоести
6 first_may
 
20.10.17
10:02
Получается, что надо давать роль Отражение в регламентированном учете, но при открытии формы закрывать все реквизиты, кроме Комментария. По другому сделать нелья?
7 Повелитель
 
20.10.17
10:06
(2) Заведите новое свойство "Комментарий документа".
И пусть заполнят, права будут.
В отчетах через свойство достать можно будет тоже.
8 banzay
 
20.10.17
10:23
(0) Используй обработку, в которой устанавливается СОМ-соединение с этой-же базой, но логинится пользователь с полными правами, на форме обработки обязательный реквизит - строка, куда пользователь заносит новый (дополнительный) комментарий, нажимает кнопку "Выполнить", и с пом. СОМ изменяется комментарий нужного дока.
9 John83
 
20.10.17
10:30
я сделал внеш. печ. форму, в которой задается комментарий, затем
объект.обменданными.загрузка = истина
10 first_may
 
20.10.17
10:37
(9) о-о-о, это мысль!
11 Волшебник
 
модератор
20.10.17
10:40
(9) моветон
12 first_may
 
20.10.17
22:26
Может бы поторопился немного. Сделал внешнюю печатную форму ТЕСТ в которой прописал

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


Затем зашел под пользователем, у которого нет роли Отражение в регламентированном учете.

Далее в закрытом периоде (а можно и незакрытом) открыл два документа - один проведенный, второй нет.

В каждом из них вызвал внешнюю печатную форму ТЕСТ:
- в непроведенном документе реквизит изменился
- в проведенном выдалось сообщение
Запись документа: Реализация товаров и услуг ДМ0401062017 от 01.06.2017 9:00:03
Недостаточно прав для отражения в регламентированном учете. Изменения не могут быть записаны...
Не удалось установить документу признак Получено ОЛ


Получается, что пользователь без указаной роли не смог изменить реквизит проведенного документа.
13 first_may
 
21.10.17
08:55
Очень нужен совет,как быть
14 Мимохожий Однако
 
21.10.17
10:25
(13) Тебе уже сказали. Используй дополнительный реквизит вместо реквизита Комментарий, который для другого предназначен.
15 first_may
 
21.10.17
13:41
Понятно.
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой