Форум на Kuban.ru (http://forums.kuban.ru/)
-   Территория 1С (http://forums.kuban.ru/f1040/)
-   -   Засада с СКД (http://forums.kuban.ru/f1040/zasada_s_skd-6466009.html)

bma1 29.01.2015 11:13

Засада с СКД
 
Есть отчет, написан на СКД. У пользователя ряд реквизитов в отборах, группировках и т.п. отсутствует. Прав на Просмотр ряда регистров, откуда берутся эти реквизиты нет и не будет (отчет обращается к, например, регистру себестоимость, а пользователям к нему на просмотр доступ закрыт). В справке пишется, что должен быть доступ к просмотру объектов. Есть какой способ обойти эту придурь от разработчиков платформы?

VZ 29.01.2015 14:45

Придурь - это когда платформа не дает читать то, что сам администратор запретил?

[em]Параметры.Объект.ОбменДанными.Загрузка = Истина;[/em]

roma n 29.01.2015 14:46

Бери в результат запроса поля - результаты левых соединений основных таблиц справочников и т.п. к регистру

VZ 29.01.2015 14:47

+1 Последняя строка - лишняя. Не из той оперы ;)

roma n 29.01.2015 14:48

(VZ) - читать платформа позволяет. Хоть запросом, хоть объектной моделью.... а вот со стороны СКД - болт.

bma1 29.01.2015 15:03

Да, на чтение регистры все открыты (на запись по ограничениям), а на просмотр - фиг вам. нечего пользователям смотреть внутреннюю кухню. у них от этого заворот в мозгах происходит... а мне потом лечи...
Кто это в СКД затащил - требование открывать объекты на просмотр, даже не придурок, еще гаже...

Reaper 29.01.2015 18:38

[url]http://its.1c.ru/db/v83doc#bookmark:dev:TI000000640[/url]

● При формировании списка доступных полей учитывается привилегированный режим работы в случае использования из встроенного языка. Если требуется, чтобы состав доступных полей учитывал права доступа пользователя, но при этом в результат компоновки попадали все данные, то рекомендуется выполнять компоновку макета компоновки данных в обычном (не привилегированном режиме), а саму компоновку данных выполнять в привилегированном режиме.

bma1 29.01.2015 20:45

[quote=Reaper;37888693]то рекомендуется выполнять компоновку макета компоновки данных в обычном (не привилегированном режиме), а саму компоновку данных выполнять в привилегированном режиме.[/quote]
Вот эта рекомендация непонятна. каким образом осуществлять компоновку в привелигированном режиме, если у пользователя нет даже полей для настройки отчета. нет необходимых группировок. Доступность этих полей определяется при открытии.

Reaper 29.01.2015 21:04

7-bma1 > Используй обработчик события "При компоновке результата", там отказывайся от стандартной обработки и пиши рУками код для заполнения результата отчета средствами компоновки данных. Код, выполняемый после компоновки макета компоновки данных, выполняй в привилегированном режиме.

bma1 29.01.2015 21:06

Короче, если судить по рекомендациям с ИТС, эти пи...расы из 1С из вполне приличного инструмента СКД сделали кучу вонючего дерьма.

bma1 29.01.2015 21:08

[quote=Reaper;37890062] там отказывайся от стандартной обработки и пиши рУками код для заполнения результата отчета средствами компоновки данных. Код, выполняемый после компоновки макета компоновки данных, выполняй в привилегированном режиме.[/quote]
Я СКД использовал для того, чтоб у пользователя была возможность очень широко настраивать отчет. Добавлять таблицы, диаграммы и т.п. как он захочет сам. Все эти извраты с вручную написанным кодом ведут только к утрате всех этих возможностей. А без них СКД - это куча унылого дерьма. медланная и тупая.

Reaper 29.01.2015 22:47

Уже 10 строчек написать - непосильный труд?

Uho 30.01.2015 10:36

[quote=bma1;37890088]Все эти извраты с вручную написанным кодом ведут только к утрате всех этих возможностей.[/quote]кто тебе это сказал?

Helen1986 30.01.2015 10:53

автоматизация по одноЭсовски - пЕшите руками

bma1 29.09.2015 12:31

Управляемые формы более-менее работают при таких условиях. Но вот с обычными формами совсем непонятно. Даже выполнение в привилегированном модуле не дает результата...

МимохожийОднако 29.09.2015 13:10

Как страшно жить!

Reaper 29.09.2015 13:37

14-bma1 > В управляемом приложении компоновка результата осуществляется на сервере. В обычном - на клиенте. Привилегированный режим имеет смысл только на сервере. На клиенте не заработает никогда.

bma1 29.09.2015 15:55

2(16) вот и не понятно, с какой стороны к этой задаче подходить. При отправе всего на сервер в привелигированный модуль результат окончательно все равно такой-же как при обработке только на клиенте.
Злодейские методы с временным отключением параметра сеанса - устанавливать ограничение по RLS я не приемлю, слишком опасны.

bma1 30.09.2015 08:07

Так что, решения для обычных форм не существует?

Reaper 30.09.2015 09:54

Покаж не видно доказательств, что у тебя отчёт компонуется на сервере.

bma1 30.09.2015 10:32

2(19) Обработчик ПриКомпоновкеРезультата все отправляет в Привилегированный модуль на сервере, где и происходит обработка отчета. Но результат - как будто ничто никуда и не отправляется. Отладчик говорит, что действительно, обработка идет на сервере.

bma1 30.09.2015 10:35

но, видимо, какие-то предварительные телодвижения СКД все равно выполняет на стороне клиента.
P.S. в отчете используются связанные таблицы, так при открытии, хотя предварительная компоновка тоже отсылается на сервер, под пользователем не видны связи между запросами. Т.к. вторая таблица ему по правам закрыта к просмотру. Т.е. и перед предварительной компоновкой тоже где-то что-то происходит...

Reaper 30.09.2015 13:07

21-bma1 >Компоновщик макета где работает? На клиенте или на сервере?

bma1 30.09.2015 13:16

2(22) Компоновщик запускается на сервере. В привилегированном модуле.

Reaper 30.09.2015 13:45

И в наборе данных макета компоновки запрос получается кастрированным?

bma1 30.09.2015 13:56

увы...

Странный аттрактор 30.09.2015 15:35

"Восьмёрка" сырая


Текущее время: 23:45. Часовой пояс GMT +3.