управляемые формы, вызов отчета из команды документа 1с 8.3

1. burgomister 59 13.09.21 16:36 Сейчас в теме
Надо из формы документа реализация по кнопке вызвать отчёт "ОстаткиТоваровОрганизаций" с параметрами: дата и список номенклатуры (список значений). Не получается. Может кто-нибудь помочь? Пробовал несколько вариантов решений, найденных здесь же. Результата нет.

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

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

&НаКлиенте
Процедура ПоказатьОстатки()
	
	СписокНоменклатуры = Новый СписокЗначений;

	Для каждого ТекущаяСтрока Из Объект.Товары Цикл
		СписокНоменклатуры.Добавить(ТекущаяСтрока.Номенклатура);
	КонецЦикла;
	
ТабДок =	КомандаОткрытьОтчётСОтбором(СписокНоменклатуры);
ТабДок.Показать(Ура");

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

&НаСервере
Функция КомандаОткрытьОтчётСОтбором(СписокНоменклатуры)
	
	 Отчет               = Отчеты.ОстаткиТоваровОрганизаций.Создать();       
Схема               = Отчет.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных"); 
КомпоновщикМакета   = Новый КомпоновщикМакетаКомпоновкиДанных;  
КомпоновщикНастроек = Новый КомпоновщикНастроекКомпоновкиДанных;
ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
ПроцессорВывода     = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;    
ТабДок              = Новый ТабличныйДокумент;  
 
// Типы переменных:
// Схема        - СхемаКомпоновкиДанных 
// Настройки    - НастройкиКомпоновкиДанных
// насПланЕБП   - ЗначениеПараметраНастроекКомпоновкиДанных
// Макет        - МакетКомпоновкиДанных
     
ИсточникДоступныхНастроек = Новый ИсточникДоступныхНастроекКомпоновкиДанных(Схема); 
КомпоновщикНастроек.Инициализировать(ИсточникДоступныхНастроек);
 
// --- установка параметров
Настройки   = Схема.НастройкиПоУмолчанию;   
 
насВероятнось = Настройки.ПараметрыДанных.Элементы.Найти("НаДату"); 
насВероятнось.Использование = Истина;
насВероятнось.Значение = ТекущаяДата();   
 
// --- установка отборов
Если ЗначениеЗаполнено(СписокНоменклатуры) тогда
    ПолеОтбораНоменклатура = Новый ПолеКомпоновкиДанных("Номенклатура");
    ПолеОтбораНоменклатура= Настройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    ПолеОтбораНоменклатура.ЛевоеЗначение    = ПолеОтбораНоменклатура;
    ПолеОтбораНоменклатура.ВидСравнения     = ВидСравненияКомпоновкиДанных.ВСписке;
    ПолеОтбораНоменклатура.ПравоеЗначение   = СписокНоменклатуры;
    ПолеОтбораНоменклатура.Использование    = Истина;
КонецЕсли;      
 
// --- компануем
Макет       = КомпоновщикМакета.Выполнить(Схема, Настройки);    
ПроцессорКомпоновки.Инициализировать(Макет,,,Истина); 
ПроцессорВывода.УстановитьДокумент(ТабДок); 
ПроцессорВывода.Вывести(ПроцессорКомпоновки); 

Возврат ТабДок;

КонецФункции

Показать
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Найденные решения
3. Dr.HiHi 3 13.09.21 16:53 Сейчас в теме
смотрите что в самой схеме СКД
скорее всего там есть внешний набор данных и нужно его передать
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. user5300 1014 13.09.21 16:53 Сейчас в теме
Что именно не получается ? Ошибки выводит ?
3. Dr.HiHi 3 13.09.21 16:53 Сейчас в теме
смотрите что в самой схеме СКД
скорее всего там есть внешний набор данных и нужно его передать
4. burgomister 59 13.09.21 17:10 Сейчас в теме
Пишет: "Не найден внешний набор данных "ТаблицаТоваров". Это УТ 11.4.3.243. Понял. Надо сформировать две аж таблицы значений. Ужас. В общем, если попроще никак, то вопрос закрыт. Спасибо.
5. user1220551 29.09.21 17:17 Сейчас в теме
https://its.1c.ru/db/metod8dev/content/4143/hdoc

УсловияОтбора = Новый Структура("Товар", Элементы.Список.ТекущаяСтрока);
ПараметрыФормы = Новый Структура("Отбор, СформироватьПриОткрытии", УсловияОтбора, Истина);
ОткрытьФорму("Отчет.ЦеныТоваров.ФормаОбъекта", ПараметрыФормы);
Оставьте свое сообщение

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