СКД. Не выводится группировка в отчете у пользователя.

1. demONx7 08.10.21 06:43 Сейчас в теме
Всем привет. Конфигурация Управление холдингом, редакция 3.1 (3.1.14.15)
Есть отчет на СКД.
В конфигураторе есть группировка "ПолучательПлательщик". В запросе это поле имеет составной тип Справочник.ФизическиеЛица/Контрагенты/Организации.


При открытии этого отчета у пользователя, группировка отсутствует.

И отсутствует возможность ее добавления.

В ролях пользователя есть доступ на три указанные справочника.

Если же пользователя включить в группу доступа "Администраторы" - то группировка отображается и корректно выводится.
С первого взгляда взгляда, дело в правах. Для тестирования установил на все возможные объекты метаданных право "Чтение".
Результата нет. В чем может быть дело?
Прикрепленные файлы:
По теме из базы знаний
Найденные решения
14. EVKash 14 12.10.21 11:50 Сейчас в теме
(12) Ну или в вашем случае.
ВЫБРАТЬ
...
&ВыдыСубконтоКД КАК ПолучательПлательщик,
...

ПриКомпоновкеРезультата
ТекстЗапроса = СхемаКомпоновкиДанных.НаборыДанных.НаборДанных.Запрос;
ТекстЗапроса = СтрЗаменить(ТекстЗапроса,
"&ВыдыСубконтоКД КАК ПолучательПлательщик",
"ХозрасчетныйОбороты.КорСубконто1 КАК ПолучательПлательщик");
СхемаКомпоновкиДанных.НаборыДанных.НаборДанных.Запрос = ТекстЗапроса;
Остальные ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. glek 119 08.10.21 06:58 Сейчас в теме
(1) Право просмотра есть?
3. demONx7 08.10.21 08:54 Сейчас в теме
Добавил право просмотра на все документы, группировка появилась.
Странно, всегда думал, что Просмотр - это только для визуального отображения формы документа пользователю.
Может подскажете, почему для СКД именно просмотр нужен?

Само поле вытягивается из РегистраБухгалтерии.Хозрасчетный.Обороты. из измерения КорСубконто1.
Залил новую базу, добавил просмотр только на документы, присутствующие в этом измерении, результат по прежнему нулевой.
В отчете группировка не выводится.
Опять не туда смотрю?
Прикрепленные файлы:
4. accounting_cons 742 08.10.21 09:04 Сейчас в теме
Сделайте формирование отчета в привилегированном режиме.
5. demONx7 08.10.21 09:12 Сейчас в теме
(4)Спасибо за совет, но первостепенно с этого и начал. Результата небыло.
6. EVKash 14 08.10.21 10:30 Сейчас в теме
(5) а где вы его устанавливали? Непосредственно перед выполнением?
Если это внешний отчет, то у него должен быть не безопасный режим.
Можно еще попробовать явно указать типы КорСубконто1
ИЗ
	РегистрБухгалтерии.Хозрасчетный.Обороты(
			,
			,
			,
			,
			,
			КорСубконто1 ССЫЛКА Справочник.ФизическиеЛица
				ИЛИ КорСубконто1 ССЫЛКА Справочник.Контрагенты
				ИЛИ КорСубконто1 ССЫЛКА Справочник.Организации,
			,
			) КАК ХозрасчетныйОбороты
Показать
7. demONx7 11.10.21 02:32 Сейчас в теме
(6)
а где вы его устанавливали? Непосредственно перед выполнением?
Если это внешний отчет, то у него должен быть не безопасный режим.

Это внешний отчет, подключенный через дополнительные отчеты и обработки. Установил привилегированный режим вот тут:
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
	УстановитьПривилегированныйРежим(Истина);
КонецПроцедуры



На типы отбор стоит следующим образом.
Прикрепленные файлы:
8. EVKash 14 11.10.21 07:50 Сейчас в теме
(7)
УстановитьПривилегированныйРежим(Истина);

работает в рамках одной процедуры/функции. Т.е. СтандартнаяОбработка = Ложь; И формировать отчет програмно.
10. demONx7 12.10.21 05:32 Сейчас в теме
(8)
работает в рамках одной процедуры/функции. Т.е. СтандартнаяОбработка = Ложь; И формировать отчет програмно.


Сделал так - безрезультатно.
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
	СтандартнаяОбработка = Ложь;
	УстановитьПривилегированныйРежим(Истина);
	//1. получение схемы компановки данных
	СхемаКомпановки = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
	
	//2. получение настроек компановки данных
	НастройкиКомпановки = КомпоновщикНастроек.ПолучитьНастройки();
	
	//3. Получение макета компановки данных
	КомпановщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;    
	МакетКомпановки = КомпановщикМакета.Выполнить(СхемаКомпановки, НастройкиКомпановки, ДанныеРасшифровки);
	
	//4.Компановка данных
	УстановитьПривилегированныйРежим(Истина);
	ПроцессорКомпоновки = новый ПроцессорКомпоновкиДанных;
	ПроцессорКомпоновки.Инициализировать(МакетКомпановки, , ДанныеРасшифровки, Истина);
	УстановитьПривилегированныйРежим(Истина);
	//5. вывод результата компановки в табдок
	ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
	ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
	ПроцессорВывода.Вывести(ПроцессорКомпоновки);
КонецПроцедуры
Показать
9. demONx7 12.10.21 05:31 Сейчас в теме
(6)
КорСубконто1 ССЫЛКА Справочник.ФизическиеЛица
ИЛИ КорСубконто1 ССЫЛКА Справочник.Контрагенты
ИЛИ КорСубконто1 ССЫЛКА Справочник.Организации


Результат прежний.
11. EVKash 14 12.10.21 08:28 Сейчас в теме
(10) Если открывать через "Файл" - "Отрыть", то УстановитьПривилегированныйРежим не работает.
Отчет должен быть подключен в дополнительные отчеты и обработки в "не безопасном режиме".
Т.е. в СведенияОВнешнейОбработке должно быть ПараметрыРегистрации.Вставить("БезопасныйРежим", Ложь);
12. demONx7 12.10.21 09:15 Сейчас в теме
(11)
ПараметрыРегистрации.Вставить("БезопасныйРежим", Ложь);

Данный параметр уже был добавлен в обработке.
Сейчас попробовал подцепить снова как внешнюю обработку, после очередных доделок, но результата нет.
13. EVKash 14 12.10.21 11:00 Сейчас в теме
(12) Перечитал вопрос. Я не правильно понял суть проблемы... Я думал, что в отчете эта группировка выходит пустой. Ее же совсем пользователь не видит... Значит проверка прав происходит до формирования отчета. И УстановитьПривилегированныйРежим тут ни при чем.
В этом случае можно в макете СКД прописать итоговые поля с типами. Типа такого.
ВЫБРАТЬ
	ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка)             КАК Организация,
	ЗНАЧЕНИЕ(Справочник.Партнеры.ПустаяСсылка)                КАК Партнер,
	ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)             КАК Контрагент,
	ЗНАЧЕНИЕ(Справочник.ДоговорыКонтрагентов.ПустаяСсылка)    КАК Договор,
	ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка) КАК НаправлениеДеятельности,
	ЗНАЧЕНИЕ(Справочник.ДоговорыКонтрагентов.ПустаяСсылка)    КАК ОбъектРасчетов,
	ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка)                  КАК Валюта,
	Неопределено                                              КАК РасчетныйДокумент,
	ДАТАВРЕМЯ(1,1,1)                                          КАК ДатаВозникновения,
	ДАТАВРЕМЯ(1,1,1)                                          КАК ДатаПлановогоПогашения,
	0                                                         КАК ДолгПартнераНачальныйОстаток,
	0                                                         КАК НашДолгНачальныйОстаток,
	0                                                         КАК УвеличениеДолга,
	0                                                         КАК УменьшениеДолга,
	0                                                         КАК ДолгПартнераКонечныйОстаток,
	0                                                         КАК НашДолгКонечныйОстаток,
	ЗНАЧЕНИЕ(Справочник.СегментыПартнеров.ПустаяСсылка)       КАК СегментПартнеров,
	0                                                         КАК ТипРасчетов,
	Неопределено                                              КАК Регистратор,
	0                                                         КАК СуммаДолга,
	0                                                         КАК ПревышениеЛимита
Показать
А текст запроса подставлять в ПриКомпоновкеРезультата
СхемаКомпоновкиДанных.НаборыДанных.НаборДанных.Запрос = ТекстЗапроса;
14. EVKash 14 12.10.21 11:50 Сейчас в теме
(12) Ну или в вашем случае.
ВЫБРАТЬ
...
&ВыдыСубконтоКД КАК ПолучательПлательщик,
...

ПриКомпоновкеРезультата
ТекстЗапроса = СхемаКомпоновкиДанных.НаборыДанных.НаборДанных.Запрос;
ТекстЗапроса = СтрЗаменить(ТекстЗапроса,
"&ВыдыСубконтоКД КАК ПолучательПлательщик",
"ХозрасчетныйОбороты.КорСубконто1 КАК ПолучательПлательщик");
СхемаКомпоновкиДанных.НаборыДанных.НаборДанных.Запрос = ТекстЗапроса;
15. demONx7 13.10.21 07:46 Сейчас в теме
(14) Данное предложение сдвинуло результат. Теперь у меня группировка выводится, а значение в ней = Неопределено.

Следующим шагом ограничил нужные типы документов через ВЫРАЗИТЬ(...), чтобы не тянулись "запрещенные" доки.
Благо их было всего 4.

В целом все получилось. Всех благодарю за активное участие))
Оставьте свое сообщение
Вакансии
1С аналитик
Москва
зарплата от 210 000 руб.
Полный день

Руководитель направления 1С
Москва
зарплата от 350 000 руб.
Полный день

1С Программист
Москва
зарплата от 180 000 руб.
Полный день

Программист 1С
Москва
зарплата от 180 000 руб. до 220 000 руб.
Полный день

Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)