• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

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;
КонецПопытки;

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

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