Можно ли открыть внешний отчет в режиме выбора?

  1. 8 г. назад
    12.08.2015 13:29:22 отредактировано 1Сергей

    Может тут есть семерошники?
    Вызов внешнего отчета:

    Сообщить("Рез = " + ОткрытьФормуМодально("Отчет", ПараметрыПодключения, ИмяФайлаОтчета));
    // Рез всегда возвращает 0. Нажали ОК или отменили. Хотелось бы различать результат выполнения внешнего отчета
    

    Во внешнем отчете:

    Процедура ОК()
        
        Форма.Параметр = СоздатьОбъект("СписокЗначений");
        Для Идн = 1 По СписокИменНастроек.РазмерСписка() Цикл
            
            ИмяПараметра = СписокИменНастроек.ПолучитьЗначение(Идн);
            Форма.Параметр.Установить(ИмяПараметра, ПолучитьЗначениеПеременнойПоИмени(ИмяПараметра));
            
        КонецЦикла;
        
        УстановитьФлагИзменений(0);
        
        Форма.ВыполнитьВыбор(Форма.Параметр);
        
    КонецПроцедуры
    

    В СП:
    Форма.ВыполнитьВыбор(<?>);
    Синтаксис:
    Форма.ВыполнитьВыбор(<Знач>)
    Назначение:
    Осуществляет выбор в форме, открытой для подбора или выбора значения (аналогично интерактивному двойному клику в подборе).

    Как задать форме внешнего отчета режим выбора?

    Ответы: (2)
  2. Стим, залогинься

  3. 1Сергей Нажали ОК или отменили. Хотелось бы различать результат выполнения внешнего отчета

    ну, передавай назад нужную информацию, в чём проблема?

    Ответы: (3)
  4. +(2) через Форма.Параметр

    Ответы: (4)
  5. (3) лишние танцы при вызове обработки, у меня и так есть СЗ с нужными параметрами. Неужели никак не установить Форма.РежимВыбора()?

    Ответы: (5)
  6. (4) так ты подбор/выбор из чего собрался делать-то? у тебя же не форма списка справочника

    Ответы: (6)
  7. 12.08.2015 13:48:21 отредактировано 1Сергей

    (5) из другого ВО

    Ответы: (7)
  8. (6) у тебя форма чего?

  9. -image-

    Ответы: (9)
  10. (8) и что ты хочешь получить от этой формы? какой такой выбор/подбор? у тебя не форма списка справочника

    Ответы: (10)
  11. (9) Я передаю туда СЗ через Конт/Форма.Параметр, потом получаю обратно. И вот мне нужно, если нажали ОК, то сохранить настройки в файл. А я не знаю нажали там ОК или Отмена.
    Можно конечно СЗ с настройками засунуть в другую СЗ и вместе с ней возвращать ещё результат действия формы, но это лишние телодвижения. Все было бы проще, если процедура ОткрытьФормуМодально возвращала бы что-нибудь отличное от нуля

    Ответы: (11)
  12. 1Сергей И вот мне нужно, если нажали ОК, то сохранить настройки в файл. А я не знаю нажали там ОК или Отмена.

    ещё раз повторяю: передай назад то, что хочешь знать. делов-то на 3 минуты

  13. Процедура ПриЗакрытии()
    	
    	Если Форма.АктивныйЭлемент() = "кнОтмена" Тогда  // Нажата кнопка "Отмена"
    		Форма.Параметр.Установить("СтатусВозврата"	, 0);
    	ИначеЕсли Форма.АктивныйЭлемент() = "кнОК" Тогда  // Нажата кнопка "ОК"
    		Форма.Параметр.Установить("СтатусВозврата"	, 1);
    
    
    

или зарегистрируйтесь чтобы ответить!