• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

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

    Запись на курс до 25 апреля. Получить промодоступ ...

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

  • Автор темы olga13
  • Дата начала
O

olga13

Добрый день! Подскажите, пожалуйста, как определить, какое значение передается в "Форма.Параметр"? У меня в одном случае это может быть документ, а в другом отчет. Соответственно, и имена реквизитов, передаваемых в параметрах, разные. Иными словами, как проверить, что Форма.Параметр это "Отчет"?
 
O

olga13

ТипЗначения() пробовала, он почему-то всегда 100, и для документа тоже.
 
U

unknown181538

Выложите код открытия формы.
 
O

olga13

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

На ИначеЕсли выполнение не идет и в случае открытия из документа выдает ошибку.
 
Д

Дайнеко

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

Дайнеко

Усе буде добра.
Форма тоже имеет этот параметр.
 
O

olga13

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

Спасибо за подсказку
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!