Не запускается внешний отчет ПДЗ

1. artemic 01.03.20 19:28 Сейчас в теме
{ВнешнийОтчет.СрокиВыходаПДЗ.МодульОбъекта(514)}: Ошибка при вызове метода контекста (Выполнить)
Выборка = Запрос.Выполнить().Выбрать();
по причине:
Ошибка выполнения запроса
по причине:
У пользователя недостаточно прав на исполнение операции над базой данных.


Внешний отчет на файловой запускается без полных прав и прочего.
Подключаю на боевую базу, не работает, ошибку выше пишет. В журнале регистрации пишет Запрещен доступ на чтение Регистров сведений и там полная куча всего. Что делать? как жить? подскажите!!


1С 8.3 УТП Редакция 2.0
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. FilippovRI 74 01.03.20 20:44 Сейчас в теме
Привилегированный режим позволяет

выполнить операции с данными от лица пользователей, которым данные недоступны;
ускорить работу, так как в привилегированном режиме не накладываются ограничения на доступ к данным.
1.2. Привилегированный режим следует использовать

когда требуется с логической точки зрения отключить проверку прав;
когда допустимо отключить проверку прав, чтобы ускорить работу и при этом работа с данными от лица пользователя логически не нарушает установленные для него права доступа.

 УстановитьПривилегированныйРежим(Истина);
твой код
 УстановитьПривилегированныйРежим(Ложь);
3. artemic 01.03.20 23:15 Сейчас в теме
Процедура УстановитьДатыПериода()
	
	
	Запрос = Новый Запрос;
	
	ТекстЗапроса =
	"ВЫБРАТЬ РАЗЛИЧНЫЕ
	|	Взаиморасчеты.ДатаОплаты КАК ДатаОплаты
	|ИЗ
	|	(ВЫБРАТЬ
	|		ВзаиморасчетыПоДокументамОстатки.Организация КАК Организация,
	|		ВзаиморасчетыПоДокументамОстатки.ДоговорКонтрагента.ТипЦен КАК Подразделение,
	|		ВЫБОР
	|			КОГДА ВзаиморасчетыПоДокументамОстатки.ДокументРасчетовСКонтрагентом ССЫЛКА Документ.РеализацияТоваровУслуг
	|					ИЛИ ВзаиморасчетыПоДокументамОстатки.ДокументРасчетовСКонтрагентом ССЫЛКА Документ.ВозвратТоваровОтПокупателя
	|				ТОГДА ВЫБОР
	|						КОГДА ВзаиморасчетыПоДокументамОстатки.ДокументРасчетовСКонтрагентом.Агент = ЗНАЧЕНИЕ(Справочник.ФизическиеЛица.ПустаяСсылка)
	|							ТОГДА ВЫБОР
	|									КОГДА НЕ ВзаиморасчетыПоДокументамОстатки.ДокументРасчетовСКонтрагентом.кпкТорговаяТочка.Агент = ЗНАЧЕНИЕ(Справочник.ФизическиеЛица.ПустаяСсылка)
	|										ТОГДА ВзаиморасчетыПоДокументамОстатки.ДокументРасчетовСКонтрагентом.кпкТорговаяТочка.Агент
	|									ИНАЧЕ ""Торговый представитель не выбран""
	|								КОНЕЦ
	|						ИНАЧЕ ВзаиморасчетыПоДокументамОстатки.ДокументРасчетовСКонтрагентом.Агент
	|					КОНЕЦ
	|			ИНАЧЕ ""Документы без торгового представителя""
	|		КОНЕЦ КАК ТорговыйПредставитель,
	|		ВзаиморасчетыПоДокументамОстатки.Контрагент КАК Контрагент,
	|		ВзаиморасчетыПоДокументамОстатки.ДоговорКонтрагента КАК ДоговорКонтрагента,
	|		ВзаиморасчетыПоДокументамОстатки.ДокументРасчетовСКонтрагентом КАК ДокументРасчетовСКонтрагентом,
	|		ВзаиморасчетыПоДокументамОстатки.ДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности КАК ДопустимоеЧислоДнейЗадолженности,
	|		ВЫБОР
	|			КОГДА РАЗНОСТЬДАТ(&ДатаОстатков, ДОБАВИТЬКДАТЕ(ВзаиморасчетыПоДокументамОстатки.ДокументРасчетовСКонтрагентом.Дата, ДЕНЬ, ВзаиморасчетыПоДокументамОстатки.ДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности), ДЕНЬ) < 0
	|				ТОГДА 0
	|			ИНАЧЕ ВзаиморасчетыПоДокументамОстатки.СуммаВзаиморасчетовОстаток
	|		КОНЕЦ КАК ДЗ,
	|		НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(ВзаиморасчетыПоДокументамОстатки.ДокументРасчетовСКонтрагентом.Дата, ДЕНЬ, ВзаиморасчетыПоДокументамОстатки.ДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности), ДЕНЬ) КАК ДатаОплаты,
	|		РАЗНОСТЬДАТ(&ДатаОстатков, ДОБАВИТЬКДАТЕ(ВзаиморасчетыПоДокументамОстатки.ДокументРасчетовСКонтрагентом.Дата, ДЕНЬ, ВзаиморасчетыПоДокументамОстатки.ДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности), ДЕНЬ) КАК ДнейЗадолженности,
	|		ВЫБОР
	|			КОГДА РАЗНОСТЬДАТ(&ДатаОстатков, ДОБАВИТЬКДАТЕ(ВзаиморасчетыПоДокументамОстатки.ДокументРасчетовСКонтрагентом.Дата, ДЕНЬ, ВзаиморасчетыПоДокументамОстатки.ДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности), ДЕНЬ) < 0
	|				ТОГДА ВзаиморасчетыПоДокументамОстатки.СуммаВзаиморасчетовОстаток
	|			ИНАЧЕ 0
	|		КОНЕЦ КАК ПДЗ
	|	ИЗ
	|		РегистрНакопления.ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов.Остатки(&ДатаОстатков, {(Организация).* КАК Организация, (Контрагент).* КАК Контрагент, (ДоговорКонтрагента).* КАК ДоговорКонтрагента}) КАК ВзаиморасчетыПоДокументамОстатки
	|	ГДЕ
	|		ВзаиморасчетыПоДокументамОстатки.СуммаВзаиморасчетовОстаток > 0
	|	
	|	ОБЪЕДИНИТЬ ВСЕ
	|	
	|	ВЫБРАТЬ
	|		ВзаиморасчетыБезДокументовОстатки.Организация,
	|		ВзаиморасчетыБезДокументовОстатки.ДоговорКонтрагента.ТипЦен,
	|		""Нет торгового представителя. Договоры без документов расчетов"",
	|		ВзаиморасчетыБезДокументовОстатки.Контрагент,
	|		ВзаиморасчетыБезДокументовОстатки.ДоговорКонтрагента,
	|		""Договоры без документов расчетов"",
	|		ВзаиморасчетыБезДокументовОстатки.ДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности,
	|		0,
	|		НАЧАЛОПЕРИОДА(&ДатаОстатков, ДЕНЬ),
	|		-1000,
	|		ВзаиморасчетыБезДокументовОстатки.СуммаВзаиморасчетовОстаток
	|	ИЗ
	|		РегистрНакопления.ВзаиморасчетыСКонтрагентами.Остатки(&ДатаОстатков, НЕ ДоговорКонтрагента.ВестиПоДокументамРасчетовСКонтрагентом {(Организация).* КАК Организация, (Контрагент).* КАК Контрагент, (ДоговорКонтрагента).* КАК ДоговорКонтрагента}) КАК ВзаиморасчетыБезДокументовОстатки
	|	ГДЕ
	|		ВзаиморасчетыБезДокументовОстатки.СуммаВзаиморасчетовОстаток > 0) КАК Взаиморасчеты
	|ГДЕ
	|	Взаиморасчеты.ДнейЗадолженности > 0
	|	И Взаиморасчеты.ДЗ > 0";
	
	Отбор = УниверсальныйОтчет.ПостроительОтчета.Отбор;
	Попытка
		Если Отбор.Организация.Использование Тогда
			ТекстЗапроса = ТекстЗапроса + "
			|	" + ПолучитьУсловие(Отбор.Организация.ВидСравнения, "Организация");		
			Запрос.УстановитьПараметр("Организация", Отбор.Организация.Значение);
		КонецЕсли;
	Исключение
	КонецПопытки;
	Попытка
		Если Отбор.Подразделение.Использование Тогда
			ТекстЗапроса = ТекстЗапроса + "
			|	" + ПолучитьУсловие(Отбор.Подразделение.ВидСравнения, "Подразделение");
			Запрос.УстановитьПараметр("Подразделение", Отбор.Подразделение.Значение);
		КонецЕсли;
	Исключение
	КонецПопытки;
	Попытка		
		Если Отбор.ТорговыйПредставитель.Использование Тогда
			ТекстЗапроса = ТекстЗапроса + "
			|	" + ПолучитьУсловие(Отбор.ТорговыйПредставитель.ВидСравнения, "ТорговыйПредставитель");
			Запрос.УстановитьПараметр("ТорговыйПредставитель", Отбор.ТорговыйПредставитель.Значение);
		КонецЕсли;
	Исключение
	КонецПопытки;
	Попытка		
		Если Отбор.Контрагент.Использование Тогда
			ТекстЗапроса = ТекстЗапроса + "
			|	" + ПолучитьУсловие(Отбор.Контрагент.ВидСравнения, "Контрагент");
			Запрос.УстановитьПараметр("Контрагент", Отбор.Контрагент.Значение);
		КонецЕсли;
	Исключение
	КонецПопытки;
	Попытка		
		Если Отбор.ДоговорКонтрагента.Использование Тогда
			ТекстЗапроса = ТекстЗапроса + "
			|	" + ПолучитьУсловие(Отбор.ДоговорКонтрагента.ВидСравнения, "ДоговорКонтрагента");
			Запрос.УстановитьПараметр("ДоговорКонтрагента", Отбор.ДоговорКонтрагента.Значение);
		КонецЕсли;
	Исключение
	КонецПопытки;
	
	ТекстЗапроса = ТекстЗапроса + "
	|
	|УПОРЯДОЧИТЬ ПО
	|	ДатаОплаты";
		
	Запрос.УстановитьПараметр("ДатаОстатков", УниверсальныйОтчет.ДатаКон);
	Запрос.Текст = ТекстЗапроса;
Показать

Выборка = Запрос.Выполнить().Выбрать();


ТабИнтервалы.Очистить();
	Параметры = УниверсальныйОтчет.ПостроительОтчета.Параметры;
	
	КоличествоИнтервалов = ТабИнтервалы.Количество();
	Сч = 0;
	Пока Выборка.Следующий() Цикл
		Сч = Сч + 1;
		ДатаПериода = Выборка.ДатаОплаты;
		СтрокаПериода = ТабИнтервалы.Добавить();
		СтрокаПериода.ДатаПериода = ДатаПериода;
		СтрокаПериода.Представление = Формат(ДатаПериода, "ДЛФ=Д");
		
		Параметры.Вставить("Дата_" + Строка(Сч), ДатаПериода);
	КонецЦикла;
	КонецПроцедуры
Показать



это часто кода из внешнего отчета, по всякому по вашей рекомендации писал Режим, не помогает....Строку на которую ругается, я выделил
если не сложно, подскажите куда Режим вписать. Спасибо.
4. FilippovRI 74 02.03.20 12:32 Сейчас в теме
(3)
 УстановитьПривилегированныйРежим(Истина);
УстановитьДатыПериода()
УстановитьПривилегированныйРежим(Ложь);

Если не выйдет напиши в лс. Готов подключится и посмотреть
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот