|
В чем проблема выполнять элементарные операции | ☑ | ||
---|---|---|---|---|
0
zippygrill
11.01.12
✎
09:35
|
Помогите понять по какой причине пользователь не может выполнять элементарные вычислении в базе.
Есть такая функция: Функция СтеретьПервыеНули(Номер) рабСтрока = СокрЛП(Строка(Номер)); ДлинаСтроки = СтрДлина(СокрЛП(Номер)); Счетчик = 1; Пока Счетчик < ДлинаСтроки Цикл Если Лев(рабСтрока,1) = "0" Тогда рабСтрока = Прав(РабСтрока, СтрДлина(рабСтрока)-1); Счетчик = Счетчик +1; Иначе Прервать; КонецЕсли; КонецЦикла; Возврат рабСтрока; КонецФункции {Форма.ФормаОтчета.Форма(471)}: Ошибка при получении значения атрибута контекста (Номер) рабСтрока = СокрЛП(Строка(Номер)); по причине: по причине: У пользователя недостаточно прав на исполнение операции над базой данных. Наверное даже у пользователя с праввами "Пользователь" это код будет выполнятся. |
|||
1
Wobland
11.01.12
✎
09:36
|
переименуй параметр
|
|||
2
wladimir90
11.01.12
✎
09:37
|
Какие права у пользователя? Самописные или типовые?
|
|||
3
zippygrill
11.01.12
✎
09:39
|
(1)да переименовал. было парСтрока стало Номер :)
(2)УПП типовая. права менеджера Это во внешнем отчете. и еще как отладить под этим пользователем если ему не положено открыть внешние обработки/отчеты. |
|||
4
Defender aka LINN
11.01.12
✎
09:42
|
Кэп говорит, что в параметр "Номер" передается какая-то ссылка.
|
|||
5
zippygrill
11.01.12
✎
09:44
|
сейчас перепроверю слова Кэпа.
|
|||
6
zippygrill
11.01.12
✎
09:46
|
отлаживаю под моим именем. там действительно передается Номер документа.
|
|||
7
Defender aka LINN
11.01.12
✎
09:49
|
(6) А зачем ты его в строку преобразовываешь?
|
|||
8
YF
11.01.12
✎
09:51
|
СтеретьПервыеНули(Знач Номер)?
|
|||
9
zippygrill
11.01.12
✎
09:53
|
(8) не понял
(7) привык. можно без, сейчас проверю. |
|||
10
YF
11.01.12
✎
09:54
|
(9) Передавай пареметр по значению (если функция самописная)
|
|||
11
zippygrill
11.01.12
✎
10:05
|
(10) делаем успехи ))) тепери понятнее стало. Пользователь не может прочесть номер дока.
{Форма.ФормаОтчета.Форма(231)}: Ошибка при получении значения атрибута контекста (Номер) новаяСтрока.Номер = СтеретьПервыеНули(Строка.Регистратор.Номер); по причине: по причине: У пользователя недостаточно прав на исполнение операции над базой данных. |
|||
12
zippygrill
11.01.12
✎
10:31
|
получается что в коде обращаясь к Строка.Регистратор.Номер выдавало ошибку о недостаточных прав. понятие не имею почему, может обясните?
Сделал по другому .... получаю номер в запросе и потом вызываю мою функцию. Сработало. |
|||
13
YF
11.01.12
✎
10:31
|
(12) А права-то на чтение документа есть?
|
|||
14
zippygrill
11.01.12
✎
10:43
|
(13) конечно
|
|||
15
YF
11.01.12
✎
10:44
|
(14) А на регистр?
|
|||
16
RomaH
naïve
11.01.12
✎
10:44
|
потому что Строка.Регистратор. читает все - аналогично
ВЫБРАТЬ * ИЗ ... |
|||
17
RomaH
naïve
11.01.12
✎
10:45
|
а у тебя еще и две точки - т.е. весь регистр, а там еще и составной тип наверное у регистратора ...
|
|||
18
katerinaUniv
11.01.12
✎
10:46
|
если это внешняя обработка, то ему нужно выставить право администрирование внешних обработок или что-то типа того...
|
|||
19
zippygrill
11.01.12
✎
11:09
|
(15) я думаю ответ в (17)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |