Как программно открыть штатный отчет в УТ11

1. bav123 16.11.18 16:07 Сейчас в теме
В конфигурации УТ11 нужно открывать штатный отчет "Остатки и доступность" (ОстаткиИДоступностьТоваров) из форм товарных документов по текущей строке. (Заказ, Реализация) так же как из формы элемента справочника "Номенклатура". Т.е. минуя открытие карточки товара.

Известный пример:

Процедура ОткрытьОтчетОстаткиИДоступностьТоваровИзДокумента(Форма,Товар) Экспорт

ПараметрыОткрытия = Новый Структура;
ПараметрыОткрытия.Вставить("СформироватьПриОткрытии",Истина);
ПараметрыОткрытия.Вставить("КлючВарианта","ПоНоменклатуреКонтекст");
ПараметрыОткрытия.Вставить("КлючНазначенияИспользования","ПоНоменклатуреКонтекст");

Отбор = Новый Структура;

Отбор.Вставить("Номенклатура",Товар);

Если Отбор.Количество() > 0 Тогда
ПараметрыОткрытия.Вставить("Отбор",Отбор);
КонецЕсли;

ОткрытьФорму("Отчет.ОстаткиИДоступностьТоваров.Форма.ФормаОтчетаНоменклатура", ПараметрыОткрытия,Форма);

КонецПроцедуры

Открывает отчет в каком-то ущербном виде: без раскраски ячеек и самое главное без расшифровок.
День ковыряния конфигурации привели пока к тому, что отчет вызывается как-то через общую форму "ФормаОтчета".

Теоретически - это распространенная задача: как программно открыть штатный отчет через БСП с заданными отборами. Но нет решения в интернете. :(
Это https://infostart.ru/public/345249/ не работает.
Прикрепленные файлы:
adhocprog; +1
По теме из базы знаний
Найденные решения
8. bav123 26.11.18 14:13 Сейчас в теме
После третьей атаки на задачу было найдено место откуда можно посмотреть параметры запуска подключаемого отчета, когда он открывается из формы элемента справочника Номенклатура.

Общий модуль ПодключаемыеКомандыКлиент,
Процедура ПродолжитьВыполнениеКоманды(Контекст).
Самый конец
<<
ИначеЕсли ЗначениеЗаполнено(ОписаниеКоманды.ИмяФормы) Тогда
ПараметрыФормы = ПараметрыФормы(Контекст, ПараметрКоманды);
ОткрытьФорму(ОписаниеКоманды.ИмяФормы, ПараметрыФормы, Контекст.Форма, Истина);
КонецЕсли;
КонецЕсли;
КонецПроцедуры
>>

Окончательный рабочий код такой:

Процедура ОткрытьОтчетОстаткиИДоступностьТоваровИзДокумента(ФормаВладелец,Товар) Экспорт

ПараметрыОткрытия = Новый Структура;
ПараметрыОткрытия.Вставить("ВидимостьКомандВариантовОтчетов",Ложь);
ПараметрыОткрытия.Вставить("КлючВарианта","ПоНоменклатуреКонтекст");
ПараметрыОткрытия.Вставить("ПараметрКоманды",Товар);
ПараметрыОткрытия.Вставить("СформироватьПриОткрытии",Истина);

Отбор = Новый Структура;
Отбор.Вставить("Номенклатура",Товар);
Если Отбор.Количество() > 0 Тогда
ПараметрыОткрытия.Вставить("Отбор",Отбор);
КонецЕсли;

ОткрытьФорму("Отчет.ОстаткиИДоступностьТоваров.Форма", ПараметрыОткрытия,ФормаВладелец,Истина);
КонецПроцедуры
Прикрепленные файлы:
user734178; insurgut; georgebgk; jane_de_rio; adhocprog; МимохожийОднако; +6
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. EVKash 14 16.11.18 16:30 Сейчас в теме
(1) типа того
		УсловияОтбора = Новый Структура("Номенклатура, Склад", ТекущаяНоменклатура, Элемент.ТекущиеДанные.Склад);
		ПараметрыФормы = Новый Структура("Отбор, СформироватьПриОткрытии", УсловияОтбора, Истина);
		ОткрытьФорму("Отчет.ПоступлениеИОтгрузкаТоваров.ФормаОбъекта", ПараметрыФормы);
TSSV; +1
3. EVKash 14 16.11.18 16:42 Сейчас в теме
Если нужен вариант и настройки поменять, то еще так.
		УсловияОтбора = Новый Структура("Номенклатура", ТекущаяНоменклатура);
		КомпоновщикНастроекКомпоновкиДанных = ПолучитьПользовательскиеНастройки("ВедомостьПоТоварамНаСкладах");
		ПользовательскиеНастройки = КомпоновщикНастроекКомпоновкиДанных.ПользовательскиеНастройки;
		ПараметрыФормы = Новый Структура("ПользовательскиеНастройки, КлючВарианта, Отбор, СформироватьПриОткрытии", ПользовательскиеНастройки, "ВедомостьПоТоварамНаСкладах", УсловияОтбора, Истина);
		ОткрытьФорму("Отчет.ВедомостьПоТоварамНаСкладах.ФормаОбъекта", ПараметрыФормы);


&НаСервереБезКонтекста 
Функция ПолучитьПользовательскиеНастройки(НазваниеВарианта) 
	
	СхемаКомпоновкиДанных = Отчеты.ВедомостьПоТоварамНаСкладах.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных"); 
	Настройка = СхемаКомпоновкиДанных.ВариантыНастроек[НазваниеВарианта].Настройки; 
	
	КомпоновщикНастроекКомпоновкиДанных = Новый КомпоновщикНастроекКомпоновкиДанных; 
	КомпоновщикНастроекКомпоновкиДанных.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных));
// если надо настройки поменять	
//	Настройка.ПараметрыДанных.Элементы[0].Использование = Ложь;
//	Настройка.Структура[0].Структура[0].Структура[0].Использование = Истина;
//	
//	КомпоновщикНастроекКомпоновкиДанных.ЗагрузитьНастройки(Настройка);
	
Возврат КомпоновщикНастроекКомпоновкиДанных;

КонецФункции
Показать
это другой отчет
adhocprog; +1
4. user633533_encantado 11 16.11.18 16:55 Сейчас в теме
(3) Что за "формаобъекта" ?
+
5. EVKash 14 16.11.18 16:56 Сейчас в теме
(4) обычная "формаобъекта"
+
6. user633533_encantado 11 16.11.18 17:02 Сейчас в теме
7. EVKash 14 16.11.18 18:48 Сейчас в теме
8. bav123 26.11.18 14:13 Сейчас в теме
После третьей атаки на задачу было найдено место откуда можно посмотреть параметры запуска подключаемого отчета, когда он открывается из формы элемента справочника Номенклатура.

Общий модуль ПодключаемыеКомандыКлиент,
Процедура ПродолжитьВыполнениеКоманды(Контекст).
Самый конец
<<
ИначеЕсли ЗначениеЗаполнено(ОписаниеКоманды.ИмяФормы) Тогда
ПараметрыФормы = ПараметрыФормы(Контекст, ПараметрКоманды);
ОткрытьФорму(ОписаниеКоманды.ИмяФормы, ПараметрыФормы, Контекст.Форма, Истина);
КонецЕсли;
КонецЕсли;
КонецПроцедуры
>>

Окончательный рабочий код такой:

Процедура ОткрытьОтчетОстаткиИДоступностьТоваровИзДокумента(ФормаВладелец,Товар) Экспорт

ПараметрыОткрытия = Новый Структура;
ПараметрыОткрытия.Вставить("ВидимостьКомандВариантовОтчетов",Ложь);
ПараметрыОткрытия.Вставить("КлючВарианта","ПоНоменклатуреКонтекст");
ПараметрыОткрытия.Вставить("ПараметрКоманды",Товар);
ПараметрыОткрытия.Вставить("СформироватьПриОткрытии",Истина);

Отбор = Новый Структура;
Отбор.Вставить("Номенклатура",Товар);
Если Отбор.Количество() > 0 Тогда
ПараметрыОткрытия.Вставить("Отбор",Отбор);
КонецЕсли;

ОткрытьФорму("Отчет.ОстаткиИДоступностьТоваров.Форма", ПараметрыОткрытия,ФормаВладелец,Истина);
КонецПроцедуры
Прикрепленные файлы:
user734178; insurgut; georgebgk; jane_de_rio; adhocprog; МимохожийОднако; +6
Внимание! Тема сдана в архив

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