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


1С:Предприятие :: 1С:Предприятие 8 общая

При программном изменении документа не хватает прав на регистр "Версии объектов"

При программном изменении документа не хватает прав на регистр "Версии объектов"
Я
   Saari
 
11.10.16 - 11:39
Бухгалтерия 3.0
Создал программно документ "Акт сверки взаиморасчетов".
Появилась необходимость изменить программно этот (только что созданный документ).
Получаю сообщение, что недоступен регистр сведений "Версии объектов". Да, у пользователя на этот регистр нет прав. Этот регистр доступен только тем, кто с полными правами.
Как правильно откорректировать программно уже созданный документ?
 
 
   mehfk
 
1 - 11.10.16 - 11:42
УстановитьПривилегированныйРежим()
   zak555
 
2 - 11.10.16 - 11:46
(1) ерунда
в ОМ ВерсионированияОбъекта и так идёт вызов этого метода
   zak555
 
3 - 11.10.16 - 11:46
(0) покажи код, как создал
   shuhard
 
4 - 11.10.16 - 11:48
(2) +1
   mehfk
 
5 - 11.10.16 - 11:49
(2) И чо?
   Saari
 
6 - 11.10.16 - 11:52
Процедура ОбработкаТЗ()

Для Каждого строка из ОбъектОтчет.Клиенты Цикл
        
Если строка.СоздатьДокумент Тогда
            
Если ЗначениеЗаполнено(Строка.Документ)Тогда
                            
СоздатьДокумент(Строка.Контрагент, Строка.Документ.ПолучитьОбъект(),ПредставительОрганизации);
                
Иначе
                НовыйДокумент=Документы.АктСверкиВзаиморасчетов.СоздатьДокумент();
                
СоздатьДокумент(Строка.Контрагент, НовыйДокумент, ПредставительОрганизации);
                Строка.Документ=НовыйДокумент.Ссылка;
                Строка.СоздатьДокумент=Ложь;
                
    КонецЕсли;    

КонецЕсли;    
КонецЦикла;

КонецПроцедуры

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

    НовыйДокумент.ПредставительОрганизации=ПредставительОрганизации;
    НовыйДокумент.СписокСчетов.Очистить();
    
    Для Каждого строка из ОбъектОтчет.СписокСчетов Цикл
        НоваяСтрока=НовыйДокумент.СписокСчетов.Добавить();
        ЗаполнитьЗначенияСвойств(НоваяСтрока,Строка);
    КонецЦикла;    
    НовыйДокумент.СверкаСогласована = Ложь;
    НовыйДокумент.Дата=текущаядата();        
    НовыйДокумент.ДатаОкончания   = КонецДня(ОбъектОтчет.ВыбКонДата);
    НовыйДокумент.ДатаНачала      = НачалоДня(Объектотчет.ВыбДата);
    НовыйДокумент.ВалютаДокумента = мВалютаРегламентированногоУчета;
    НовыйДокумент.УстановитьНовыйНомер();
    ЗаполнитьДанными(НовыйДокумент);
    Новыйдокумент.Записать();
    Сообщить(НовыйДокумент);
    
КонецПроцедуры
   Ёпрст
 
7 - 11.10.16 - 11:54
(6)

Новыйдокумент.ОбменДанными.Загрузка = Истина;
   Ёпрст
 
8 - 11.10.16 - 11:54
и
Новыйдокумент.Записать(РежимЗаписиДокумента.Запись);
   Saari
 
9 - 11.10.16 - 11:58
(7), (8) не помогает. Все равно ругается, что не хватает прав на регистр "Версии объектов".
   Saari
 
10 - 11.10.16 - 11:59
(7) установил первой строкой в процедуре СоздатьДокумент()
 
 Рекламное место пустует
   Ёпрст
 
11 - 11.10.16 - 12:03
(9) ну дык, либо раздай права, либо отключи версионирование к едрени фени - всё равно не пользуешься им.
   shuhard
 
12 - 11.10.16 - 12:06
(9) заставь себя использовать отладчик и убери загрузка = истина
   zak555
 
13 - 11.10.16 - 12:07
как я понимаю релиз старый или кривообновлённый
   Saari
 
14 - 11.10.16 - 13:30
(13) релиз 3.0.44.115
   zak555
 
15 - 11.10.16 - 13:30
(14) не менял ?
   Saari
 
16 - 11.10.16 - 13:31
(15) не понял вопроса. Сейчас релиз 115-й.
   zak555
 
17 - 11.10.16 - 13:35
типовой релиз ?
   Saari
 
18 - 11.10.16 - 13:58
(17) да
   Saari
 
19 - 11.10.16 - 14:12
(17) клиент-серверный вариант
   Dmitrii
 
20 - 11.10.16 - 14:23
Я так и не понял: что говорит отладчик?

Предположу, что выполняется внешняя обработка в безопасном режиме. Или весь этот код в расширении, подключенном в безопасном режиме.
   Saari
 
21 - 11.10.16 - 14:47
(20) отладчик пока занят.
И да, внешняя обработка в безопасном режиме. Сменили режим на опасный.
   Dmitrii
 
22 - 11.10.16 - 15:14
(21) >> Сменили режим на небезопасный.

И что? Не помогло?
Тогда отладчик в зубы и вперед.
   Saari
 
23 - 12.10.16 - 16:21
Ошибка была в том, что в процедуре СоздатьДокумент() всегда выполнялась строка: НовыйДокумент.УстановитьНовыйНомер();
А она не должна выполняться, если в процедуру передается уже существующий документ.
Всем спасибо!


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