|
УстановитьПривилегированныйРежим() в клиент-серверном варианте | ☑ | ||
---|---|---|---|---|
0
Андрей 0910
10.01.13
✎
10:36
|
Всем здравствуйте.
Помогите, пожалуйста, советом вот по какой проблеме. Есть БП 2.0 КОРП, обычный режим. В ней я создал доступ на уровне записей к документам по подразделениям. И все бы хорошо, но из-за этого при формировании подразделениями книги покупок 1137 появляется ошибка "недостаточности прав", поскольку в нее попадают документы других подразделений; формирование прерывается на выполнении запроса по счетам-фактурам. Строго говоря, так и должно быть, но организационно подразделения должны иметь возможность формировать книгу покупок, такова задача. В случае файловой базы все решается обрамлением запроса в привилегированный режим, но у них клиент-сервер.. была мысль вынести соответствующую функцию в серверный модуль, но ее параметром является запрос - мутабельное значение.. Как правильней передать запрос на сервер? или вообще по другому пути нужно идти? |
|||
1
mikecool
10.01.13
✎
10:42
|
создай запрос на сервере, туда передай параметры
|
|||
2
pessok
10.01.13
✎
10:45
|
вынеси функции на сервер, а ее параметром сделай не запрос, а текст запроса
|
|||
3
sanfoto
10.01.13
✎
10:46
|
Еще можно попробовать завернуть САМ запрос во что-нибуть...
например в структуру или в массив - и уже это передавать/получать |
|||
4
mikecool
10.01.13
✎
10:47
|
(3) и мутабельность сразу пропадет?
|
|||
5
Андрей 0910
10.01.13
✎
10:55
|
(1),(2) - спасибо, попробую такие варианты. Собственно, мои мысли двигались в похожем направлении, но я надеялся, что может быть я не знаю о каком-то гениально простом решении, которое позволит минимально (по отношению к этим способам) переписывать код.
|
|||
6
sanfoto
10.01.13
✎
10:57
|
(4) ну вроде как получалось))...хотя путь неправильный согласен.
|
|||
7
sanfoto
10.01.13
✎
11:17
|
&НаКлиенте
Процедура Команда1(Команда) Запрос_стр =МассивЗапроса_НаСервере(); //РезультатЗапроса=ЗначениеИзСтрокиВнутр(Запрос_стр); - на УпрФорме неполучится)) Но на толстом все путем)) а=1; КонецПроцедуры &НаСервере Функция МассивЗапроса_НаСервере() Запрос=Новый Запрос; Запрос.Текст="ВЫБРАТЬ | Номенклатура.Ссылка |ИЗ | Справочник.Номенклатура КАК Номенклатура"; Рез=Запрос.Выполнить(); Передаем=ЗначениеВСтрокуВнутр(Рез); Возврат Передаем; КонецФункции |
|||
8
mikecool
10.01.13
✎
11:19
|
(7) оО
а не правильнее ли будет запихнуть результат в соответствующий реквизит формы? |
|||
9
Reset
10.01.13
✎
11:39
|
как пример (7) соотносится с утверждением в (3) ? оО
|
|||
10
sanfoto
10.01.13
✎
11:49
|
никак.. просто еще один вариант))
|
|||
11
Андрей 0910
11.01.13
✎
10:42
|
(1) как на сервер передать параметры?
В данном типовом случае, "параметрами" является структура из 17 параметров, формируемая в модуле книги покупок. Получается, вариант один - у функции, выполняемой на сервере, сделать 17 параметров, верно? |
|||
12
Reset
11.01.13
✎
11:45
|
(11) Один параметр - структура, в котором ключами задать имя параметра, значениями - значения.
Или два параметра - текст запроса (строкой) и структура параметров. |
|||
13
Андрей 0910
11.01.13
✎
14:01
|
(12) если я верно понял мысль, так не получится, ведь структура - тоже мутабельное значение.
|
|||
14
Reset
11.01.13
✎
14:07
|
(13) Нет, структуру можно передавать
|
|||
15
Андрей 0910
11.01.13
✎
14:18
|
Если в качестве параметра вызываемой на сервере функции передать структуру, появится ошибка мутабельности параметра - на всякий случай проверил.
|
|||
16
Reset
11.01.13
✎
14:28
|
(15) У меня работает. Возможно, одно из значений структуры мутабельное
|
|||
17
Андрей 0910
11.01.13
✎
15:23
|
(16) Да, есть такое дело. Сейчас попробую это обойти.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |