|
При программном изменении документа не хватает прав на регистр "Версии объектов" | ☑ | ||
---|---|---|---|---|
0
Saari
11.10.16
✎
11:39
|
Бухгалтерия 3.0
Создал программно документ "Акт сверки взаиморасчетов". Появилась необходимость изменить программно этот (только что созданный документ). Получаю сообщение, что недоступен регистр сведений "Версии объектов". Да, у пользователя на этот регистр нет прав. Этот регистр доступен только тем, кто с полными правами. Как правильно откорректировать программно уже созданный документ? |
|||
1
mehfk
11.10.16
✎
11:42
|
УстановитьПривилегированныйРежим()
|
|||
2
zak555
11.10.16
✎
11:46
|
(1) ерунда
в ОМ ВерсионированияОбъекта и так идёт вызов этого метода |
|||
3
zak555
11.10.16
✎
11:46
|
(0) покажи код, как создал
|
|||
4
shuhard
11.10.16
✎
11:48
|
(2) +1
|
|||
5
mehfk
11.10.16
✎
11:49
|
(2) И чо?
|
|||
6
Saari
11.10.16
✎
11:52
|
Процедура ОбработкаТЗ()
Для Каждого строка из ОбъектОтчет.Клиенты Цикл Если строка.СоздатьДокумент Тогда Если ЗначениеЗаполнено(Строка.Документ)Тогда СоздатьДокумент(Строка.Контрагент, Строка.Документ.ПолучитьОбъект(),ПредставительОрганизации); Иначе НовыйДокумент=Документы.АктСверкиВзаиморасчетов.СоздатьДокумент(); СоздатьДокумент(Строка.Контрагент, НовыйДокумент, ПредставительОрганизации); Строка.Документ=НовыйДокумент.Ссылка; Строка.СоздатьДокумент=Ложь; КонецЕсли; КонецЕсли; КонецЦикла; КонецПроцедуры Процедура СоздатьДокумент(НужныйКонтрагент,НовыйДокумент,ПредставительОрганизации) НовыйДокумент.Контрагент=НужныйКонтрагент; ЗаполнениеДокументов.ПриИзмененииЗначенияКонтрагента(НовыйДокумент); НовыйДокумент.ДоговорКонтрагента=Справочники.ДоговорыКонтрагентов.ПустаяСсылка(); НовыйДокумент.ВыводитьПолныеНазванияДокументов=Истина; НовыйДокумент.ПредставительКонтрагента = НужныйКонтрагент.ОсновноеКонтактноеЛицо; Новыйдокумент.Организация=ОбъектОтчет.ВыбОрганизация; Новыйдокумент.Комментарий="Автоматически"; НовыйДокумент.ПредставительОрганизации=ПредставительОрганизации; НовыйДокумент.СписокСчетов.Очистить(); Для Каждого строка из ОбъектОтчет.СписокСчетов Цикл НоваяСтрока=НовыйДокумент.СписокСчетов.Добавить(); ЗаполнитьЗначенияСвойств(НоваяСтрока,Строка); КонецЦикла; НовыйДокумент.СверкаСогласована = Ложь; НовыйДокумент.Дата=текущаядата(); НовыйДокумент.ДатаОкончания = КонецДня(ОбъектОтчет.ВыбКонДата); НовыйДокумент.ДатаНачала = НачалоДня(Объектотчет.ВыбДата); НовыйДокумент.ВалютаДокумента = мВалютаРегламентированногоУчета; НовыйДокумент.УстановитьНовыйНомер(); ЗаполнитьДанными(НовыйДокумент); Новыйдокумент.Записать(); Сообщить(НовыйДокумент); КонецПроцедуры |
|||
7
Ёпрст
11.10.16
✎
11:54
|
(6)
Новыйдокумент.ОбменДанными.Загрузка = Истина; |
|||
8
Ёпрст
11.10.16
✎
11:54
|
и
Новыйдокумент.Записать(РежимЗаписиДокумента.Запись); |
|||
9
Saari
11.10.16
✎
11:58
|
(7), (8) не помогает. Все равно ругается, что не хватает прав на регистр "Версии объектов".
|
|||
10
Saari
11.10.16
✎
11:59
|
(7) установил первой строкой в процедуре СоздатьДокумент()
|
|||
11
Ёпрст
11.10.16
✎
12:03
|
(9) ну дык, либо раздай права, либо отключи версионирование к едрени фени - всё равно не пользуешься им.
|
|||
12
shuhard
11.10.16
✎
12:06
|
(9) заставь себя использовать отладчик и убери загрузка = истина
|
|||
13
zak555
11.10.16
✎
12:07
|
как я понимаю релиз старый или кривообновлённый
|
|||
14
Saari
11.10.16
✎
13:30
|
(13) релиз 3.0.44.115
|
|||
15
zak555
11.10.16
✎
13:30
|
(14) не менял ?
|
|||
16
Saari
11.10.16
✎
13:31
|
(15) не понял вопроса. Сейчас релиз 115-й.
|
|||
17
zak555
11.10.16
✎
13:35
|
типовой релиз ?
|
|||
18
Saari
11.10.16
✎
13:58
|
(17) да
|
|||
19
Saari
11.10.16
✎
14:12
|
(17) клиент-серверный вариант
|
|||
20
Dmitrii
гуру
11.10.16
✎
14:23
|
Я так и не понял: что говорит отладчик?
Предположу, что выполняется внешняя обработка в безопасном режиме. Или весь этот код в расширении, подключенном в безопасном режиме. |
|||
21
Saari
11.10.16
✎
14:47
|
(20) отладчик пока занят.
И да, внешняя обработка в безопасном режиме. Сменили режим на опасный. |
|||
22
Dmitrii
гуру
11.10.16
✎
15:14
|
(21) >> Сменили режим на небезопасный.
И что? Не помогло? Тогда отладчик в зубы и вперед. |
|||
23
Saari
12.10.16
✎
16:21
|
Ошибка была в том, что в процедуре СоздатьДокумент() всегда выполнялась строка: НовыйДокумент.УстановитьНовыйНомер();
А она не должна выполняться, если в процедуру передается уже существующий документ. Всем спасибо! |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |