Имя: Пароль:
1C
1С v8
Не передается параметр в форму отчета.
0 memogolik
 
31.01.13
15:09
Продолжаю разбирать уроки Гилева.

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

А именно:
Отбор = Новый Структура("Номенклатура", ПараметрДействия);
       ПараметрыОтчета = Новый Структура("СформироватьПриОткрытии, Отбор",Истина, Отбор);
       ОткрытьФорму("Отчет.ВедомостьТоварыНаСкладах.Форма", ПараметрыОтчета);

В отладчике в "ПараметрыОтчета" лежит именна та номенклатурина, по которую пытаюсь расшифровать. При этом открывается отчет "Отчет.ВедомостьТоварыНаСкладах", но отбора по нужной номенклатура почему то не устанавливается. В чем может быть косяк?
Заранее спасибо за ответы.
1 Ayvengo
 
31.01.13
15:17
Должно работать :Р  У тебя ПараметрДействия точно номенклатура? В отладчике проверял?
2 Ayvengo
 
31.01.13
15:18
Поле отбора совпадает с тем, что у тебя в отборе?
3 Ayvengo
 
31.01.13
15:19
+(2) по имени
4 memogolik
 
31.01.13
15:23
(1)
Да, ПараметрДействия - СправочникСсылка.Номенклатура

Может у отчета должен быть специальный реквизит?
5 memogolik
 
31.01.13
15:29
ап
6 Ayvengo
 
31.01.13
15:30
ТАм он есть
7 memogolik
 
31.01.13
15:32
(6) там только один реквизит (в отчете ВедомостьТоварыНаСкладах) - УниверсальныйОтчет
8 memogolik
 
31.01.13
15:43
По какому правилу отчет, который мы открываем программно должно получать параметры из "ПараметрыОтчета"?
9 Ayvengo
 
31.01.13
15:52
У тебя отчет в шапке выводит
Параметры:    Период:
   Количество в: единицах хранения
Отбор:    Номенклатура Равно "Название номенклатуры"

?
10 memogolik
 
31.01.13
15:53
(9) это универсальный отчет.
и в настройках там пусто.
11 Ayvengo
 
31.01.13
15:54
А еще в отчете пишет вариант отчета "Основной (Установлен дополнительный отбор)"
12 Ayvengo
 
31.01.13
15:55
(10) Э.. универсальный или СКД? У тебя точно правильная конфигурация для учебы?
13 memogolik
 
31.01.13
15:58
(12) для скд заработало !) Спасибо.
А как заставить запуститься  отчеты на базе универсального или вообще рукописные?
14 Ayvengo
 
31.01.13
15:59
(13) заставить запуститься с заполненными параметрами? Мне кажется, тебе это уже не нужно. Прошлый век - эти отчеты. Рукописные, самому и писать что делать, если передается такой параметр от куда-то. ПриСОзданииНаСервере - там обнаружишь свои параметры, которые от куда-то передавал.
15 memogolik
 
31.01.13
16:03
(14) Ну как , к примеру запустить вышеуказанный "ВедомостьТоварыНаСкладах" на базе универсального?
16 Ayvengo
 
31.01.13
16:06
(15) в обычном приложении
   ФормаОтчета = Отчеты.ВедомостьТоварыНаСкладах.ПолучитьФорму("Форма");    
   //вставляешь сюда что хочешь заполнить, в отладчике увидишь ;)
   ФормаОтчета.Открыть();
17 memogolik
 
31.01.13
16:20
(16) спасибо, буду искать!
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший