СКД. Не выводится группировка в отчете у пользователя.
Всем привет. Конфигурация Управление холдингом, редакция 3.1 (3.1.14.15)
Есть отчет на СКД.
В конфигураторе есть группировка "ПолучательПлательщик". В запросе это поле имеет составной тип Справочник.ФизическиеЛица/Контрагенты/Организации.
При открытии этого отчета у пользователя, группировка отсутствует.
И отсутствует возможность ее добавления.
В ролях пользователя есть доступ на три указанные справочника.
Если же пользователя включить в группу доступа "Администраторы" - то группировка отображается и корректно выводится.
С первого взгляда взгляда, дело в правах. Для тестирования установил на все возможные объекты метаданных право "Чтение".
Результата нет. В чем может быть дело?
Есть отчет на СКД.
В конфигураторе есть группировка "ПолучательПлательщик". В запросе это поле имеет составной тип Справочник.ФизическиеЛица/Контрагенты/Организации.
При открытии этого отчета у пользователя, группировка отсутствует.
И отсутствует возможность ее добавления.
В ролях пользователя есть доступ на три указанные справочника.
Если же пользователя включить в группу доступа "Администраторы" - то группировка отображается и корректно выводится.
С первого взгляда взгляда, дело в правах. Для тестирования установил на все возможные объекты метаданных право "Чтение".
Результата нет. В чем может быть дело?
Прикрепленные файлы:
Найденные решения
(12) Ну или в вашем случае.
ВЫБРАТЬ
...
&ВыдыСубконтоКД КАК ПолучательПлательщик,
...
ПриКомпоновкеРезультата
ТекстЗапроса = СхемаКомпоновкиДанных.НаборыДанных.НаборДанных.Запрос;
ТекстЗапроса = СтрЗаменить(ТекстЗапроса,
"&ВыдыСубконтоКД КАК ПолучательПлательщик",
"ХозрасчетныйОбороты.КорСубконто1 КАК ПолучательПлательщик");
СхемаКомпоновкиДанных.НаборыДанных.НаборДанных.Запрос = ТекстЗапроса;
ВЫБРАТЬ
...
&ВыдыСубконтоКД КАК ПолучательПлательщик,
...
ПриКомпоновкеРезультата
ТекстЗапроса = СхемаКомпоновкиДанных.НаборыДанных.НаборДанных.Запрос;
ТекстЗапроса = СтрЗаменить(ТекстЗапроса,
"&ВыдыСубконтоКД КАК ПолучательПлательщик",
"ХозрасчетныйОбороты.КорСубконто1 КАК ПолучательПлательщик");
СхемаКомпоновкиДанных.НаборыДанных.НаборДанных.Запрос = ТекстЗапроса;
Остальные ответы
В избранное
Подписаться на ответы
Сортировка:
Древо развёрнутое
Свернуть все
Добавил право просмотра на все документы, группировка появилась.
Странно, всегда думал, что Просмотр - это только для визуального отображения формы документа пользователю.
Может подскажете, почему для СКД именно просмотр нужен?
Само поле вытягивается из РегистраБухгалтерии.Хозрасчетный.Обороты. из измерения КорСубконто1.
Залил новую базу, добавил просмотр только на документы, присутствующие в этом измерении, результат по прежнему нулевой.
В отчете группировка не выводится.
Опять не туда смотрю?
Странно, всегда думал, что Просмотр - это только для визуального отображения формы документа пользователю.
Может подскажете, почему для СКД именно просмотр нужен?
Само поле вытягивается из РегистраБухгалтерии.Хозрасчетный.Обороты. из измерения КорСубконто1.
Залил новую базу, добавил просмотр только на документы, присутствующие в этом измерении, результат по прежнему нулевой.
В отчете группировка не выводится.
Опять не туда смотрю?
Прикрепленные файлы:
(5) а где вы его устанавливали? Непосредственно перед выполнением?
Если это внешний отчет, то у него должен быть не безопасный режим.
Можно еще попробовать явно указать типы КорСубконто1
Если это внешний отчет, то у него должен быть не безопасный режим.
Можно еще попробовать явно указать типы КорСубконто1
ИЗ
РегистрБухгалтерии.Хозрасчетный.Обороты(
,
,
,
,
,
КорСубконто1 ССЫЛКА Справочник.ФизическиеЛица
ИЛИ КорСубконто1 ССЫЛКА Справочник.Контрагенты
ИЛИ КорСубконто1 ССЫЛКА Справочник.Организации,
,
) КАК ХозрасчетныйОбороты
Показать
(6)
Это внешний отчет, подключенный через дополнительные отчеты и обработки. Установил привилегированный режим вот тут:
На типы отбор стоит следующим образом.
а где вы его устанавливали? Непосредственно перед выполнением?
Если это внешний отчет, то у него должен быть не безопасный режим.
Если это внешний отчет, то у него должен быть не безопасный режим.
Это внешний отчет, подключенный через дополнительные отчеты и обработки. Установил привилегированный режим вот тут:
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
УстановитьПривилегированныйРежим(Истина);
КонецПроцедуры
На типы отбор стоит следующим образом.
Прикрепленные файлы:
(8)
Сделал так - безрезультатно.
работает в рамках одной процедуры/функции. Т.е. СтандартнаяОбработка = Ложь; И формировать отчет програмно.
Сделал так - безрезультатно.
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
УстановитьПривилегированныйРежим(Истина);
//1. получение схемы компановки данных
СхемаКомпановки = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
//2. получение настроек компановки данных
НастройкиКомпановки = КомпоновщикНастроек.ПолучитьНастройки();
//3. Получение макета компановки данных
КомпановщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпановки = КомпановщикМакета.Выполнить(СхемаКомпановки, НастройкиКомпановки, ДанныеРасшифровки);
//4.Компановка данных
УстановитьПривилегированныйРежим(Истина);
ПроцессорКомпоновки = новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновки.Инициализировать(МакетКомпановки, , ДанныеРасшифровки, Истина);
УстановитьПривилегированныйРежим(Истина);
//5. вывод результата компановки в табдок
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
ПроцессорВывода.Вывести(ПроцессорКомпоновки);
КонецПроцедуры
Показать
(10) Если открывать через "Файл" - "Отрыть", то УстановитьПривилегированныйРежим не работает.
Отчет должен быть подключен в дополнительные отчеты и обработки в "не безопасном режиме".
Т.е. в СведенияОВнешнейОбработке должно быть ПараметрыРегистрации.Вставить("БезопасныйРежим", Ложь);
Отчет должен быть подключен в дополнительные отчеты и обработки в "не безопасном режиме".
Т.е. в СведенияОВнешнейОбработке должно быть ПараметрыРегистрации.Вставить("БезопасныйРежим", Ложь);
(12) Перечитал вопрос. Я не правильно понял суть проблемы... Я думал, что в отчете эта группировка выходит пустой. Ее же совсем пользователь не видит... Значит проверка прав происходит до формирования отчета. И УстановитьПривилегированныйРежим тут ни при чем.
В этом случае можно в макете СКД прописать итоговые поля с типами. Типа такого.
А текст запроса подставлять в ПриКомпоновкеРезультата
СхемаКомпоновкиДанных.НаборыДанных.НаборДанных.Запрос = ТекстЗапроса;
В этом случае можно в макете СКД прописать итоговые поля с типами. Типа такого.
ВЫБРАТЬ
ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка) КАК Организация,
ЗНАЧЕНИЕ(Справочник.Партнеры.ПустаяСсылка) КАК Партнер,
ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка) КАК Контрагент,
ЗНАЧЕНИЕ(Справочник.ДоговорыКонтрагентов.ПустаяСсылка) КАК Договор,
ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка) КАК НаправлениеДеятельности,
ЗНАЧЕНИЕ(Справочник.ДоговорыКонтрагентов.ПустаяСсылка) КАК ОбъектРасчетов,
ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка) КАК Валюта,
Неопределено КАК РасчетныйДокумент,
ДАТАВРЕМЯ(1,1,1) КАК ДатаВозникновения,
ДАТАВРЕМЯ(1,1,1) КАК ДатаПлановогоПогашения,
0 КАК ДолгПартнераНачальныйОстаток,
0 КАК НашДолгНачальныйОстаток,
0 КАК УвеличениеДолга,
0 КАК УменьшениеДолга,
0 КАК ДолгПартнераКонечныйОстаток,
0 КАК НашДолгКонечныйОстаток,
ЗНАЧЕНИЕ(Справочник.СегментыПартнеров.ПустаяСсылка) КАК СегментПартнеров,
0 КАК ТипРасчетов,
Неопределено КАК Регистратор,
0 КАК СуммаДолга,
0 КАК ПревышениеЛимита
ПоказатьСхемаКомпоновкиДанных.НаборыДанных.НаборДанных.Запрос = ТекстЗапроса;
(12) Ну или в вашем случае.
ВЫБРАТЬ
...
&ВыдыСубконтоКД КАК ПолучательПлательщик,
...
ПриКомпоновкеРезультата
ТекстЗапроса = СхемаКомпоновкиДанных.НаборыДанных.НаборДанных.Запрос;
ТекстЗапроса = СтрЗаменить(ТекстЗапроса,
"&ВыдыСубконтоКД КАК ПолучательПлательщик",
"ХозрасчетныйОбороты.КорСубконто1 КАК ПолучательПлательщик");
СхемаКомпоновкиДанных.НаборыДанных.НаборДанных.Запрос = ТекстЗапроса;
ВЫБРАТЬ
...
&ВыдыСубконтоКД КАК ПолучательПлательщик,
...
ПриКомпоновкеРезультата
ТекстЗапроса = СхемаКомпоновкиДанных.НаборыДанных.НаборДанных.Запрос;
ТекстЗапроса = СтрЗаменить(ТекстЗапроса,
"&ВыдыСубконтоКД КАК ПолучательПлательщик",
"ХозрасчетныйОбороты.КорСубконто1 КАК ПолучательПлательщик");
СхемаКомпоновкиДанных.НаборыДанных.НаборДанных.Запрос = ТекстЗапроса;
(14) Данное предложение сдвинуло результат. Теперь у меня группировка выводится, а значение в ней = Неопределено.
Следующим шагом ограничил нужные типы документов через ВЫРАЗИТЬ(...), чтобы не тянулись "запрещенные" доки.
Благо их было всего 4.
В целом все получилось. Всех благодарю за активное участие))
Следующим шагом ограничил нужные типы документов через ВЫРАЗИТЬ(...), чтобы не тянулись "запрещенные" доки.
Благо их было всего 4.
В целом все получилось. Всех благодарю за активное участие))