7.7 Открытие формы отчета с параметрами

olga13

Well-known member
10.10.2008
208
0
#1
Добрый день! Подскажите, пожалуйста, как определить, какое значение передается в "Форма.Параметр"? У меня в одном случае это может быть документ, а в другом отчет. Соответственно, и имена реквизитов, передаваемых в параметрах, разные. Иными словами, как проверить, что Форма.Параметр это "Отчет"?
 

olga13

Well-known member
10.10.2008
208
0
#3
ТипЗначения() пробовала, он почему-то всегда 100, и для документа тоже.
 

olga13

Well-known member
10.10.2008
208
0
#5
Код:
Процедура ПриОткрытии() 
Если ПустоеЗначение(Форма.Параметр) = 0 Тогда
Если ТипЗначенияСтр(Форма.Параметр) = "ГрупповойКонтекст" Тогда
Контрагент = Форма.Параметр.Клиент; 
Фирма = Константа.ОснФирма;
ЦФУ = Форма.Параметр.ЦФУ;
Дата1 = Форма.Параметр.Дата1;
Дата2 = Форма.Параметр.Дата2;
Валюта = Константа.ОсновнаяВалютаБухг;
ИначеЕсли (Форма.Параметр.Вид() = "РасходнаяКредит") или (Форма.Параметр.Вид() = "Счет") Тогда
Контрагент = Форма.Параметр.Контрагент; 
Фирма = Константа.ОснФирма;
ЦФУ = Форма.Параметр.ЦФУ;
Дата1 = НачМесяца(Форма.Параметр.ДатаДок);
Дата2 = КонМесяца(Форма.Параметр.ДатаДок);
Валюта = Форма.Параметр.Валюта;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
На ИначеЕсли выполнение не идет и в случае открытия из документа выдает ошибку.
 

Дайнеко

Well-known member
19.11.2009
951
0
#6
ТипЗначенияСтр(Форма.Параметр) = "ГрупповойКонтекст" всегда при передаче в качестве параметра формы документа, справочника, отчета.
Что отличить одно от другого я делаю:
ЭтоДок = 1; // признак Дока
Попытка
Д = Форма.Параметр.ДатаДок;
Исключение
ЭтоДок = 0;
КонецПопытки;
 

olga13

Well-known member
10.10.2008
208
0
#9
ТипЗначенияСтр(Форма.Параметр) = "ГрупповойКонтекст" всегда при передаче в качестве параметра формы документа, справочника, отчета.
Что отличить одно от другого я делаю:
ЭтоДок = 1; // признак Дока
Попытка
Д = Форма.Параметр.ДатаДок;
Исключение
ЭтоДок = 0;
КонецПопытки;
Спасибо за подсказку