Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
21 ноя 2024, 17:47

Простой отчет со схемой компоновки данных

Автор alex_sysadm, 29 фев 2012, 12:01

0 Пользователей и 1 гость просматривают эту тему.

alex_sysadm

День добрый. Делаю отчет (практически по книге Радченко).
ВЫБРАТЬ
   ОстаткиРасчетныеОстаткиИОбороты.Клиент,
   ОстаткиРасчетныеОстаткиИОбороты.Валюта,
   ...
ИЗ
   РегистрНакопления.ОстаткиРасчетные.ОстаткиИОбороты КАК ОстаткиРасчетныеОстаткиИОбороты

Все работает. Проблема в том, что каждый пользователь должен видеть данные по СВОИМ документам в этом отчете.

Если внизу запроса добавить строку:

ГДЕ
   ОстаткиРасчетныеОстаткиИОбороты.Клиент = &ТекущийПользователь
то я вижу пустой отчет.
Где привязать переменную &ТекущийПользователь к пользователю????
Вообще то &ТекущийПользователь - это параметр сеанса и в других случаях (ограничение доступа к данным) - он работает. Но здесь, очевидно, я чтото упустил...
Хелп, плиз...

has

Скорей всего необходимо получать регистратор, там обычно есть реквизит Ответственный. Т.е. кто создал документ. Вот там и ставить условие. Навскидку, для таблицы ОстаткиИОбороты необходимо Периодичность установить Регистратор, тогда будет доступ.

alex_sysadm

В схеме компоновке данных на закладке "Параметры" я добавил параметр "Клиент" с типом Справочники.Пользователи. Теперь в отчете есть возможность выбора клиента и отчет правильно формируется (по клиентским документам). Как проделать тоже самое, только программно? Чтобы Клиент автоматом приравнивался текущему пользователю. Где это прописать?

has

Клиент это контрагент или ответственный пользователь?

alex_sysadm

Это поле (измерение) в регистре накопления, которое представляет собой ссылку на справочник Пользователи

alex_sysadm

Задача все упрощается. В настройках схемы компоновки есть вкладка Отбор. Если туда внести это поле с возможностью интерактивного редактирования пользователем при выполнении отчета - все работает замечательно. Куда мне этот отбор можно воткнуть программно?????

has

опять не понял, тебе надо чтобы отбор был на форме?

alex_sysadm

мне нужно, что бы отбор был реализован ПРОГРАММНО. А пользователь, видел только те документы (движения в регистре), к которым он иммет непосредственное отношение. Т.е. поле "Автор" = ТекущийПользователь.

sadovod

Если речь о 8.2.
Ну, может быть в модуле объекта отчета. Там есть событие 'ПриКомпоновкеРезультата'. В нем есть доступ к тексту Запроса
как ЭтотОбъект.СхемаКомпоновкиДанных.НаборыДанных[0].Запрос. Только не знаю, может быть он ReadOnly...

sadovod

Сглючило :)
ЭтотОбъект.СхемаКомпоновкиДанных.НаборыДанных[0].Запрос

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск