Имя: Пароль:
1C
1C 7.7
v7: ОткрытьФорму - Открытие окна в данном режиме недоступно!
0 gugolovski
 
30.06.17
03:35
Нахожусь в открытом справочнике номенклатура. Можно ли не закрывая его открыть еще один справочник через "ОткрытьФорму"?

у меня так:
//*********
...
перем данныеСюда;
флаг = спрНоменклатура.НайтиПоРеквизиту("_АлкогольКодАП_НИН", _АлкогольКодАП_НИН, 1);
Если  флаг = 1  Тогда
    Если  Вопрос("Акциз принадлежит товару с кодом: "+спрНоменклатура.код+". Открыть эту карточку товара?,"Да+Нет", 60) =  "Да" Тогда
        открытьФорму(спрНоменклатура.ТекущийЭлемент(),данныеСюда,0);
    иначе
        Предупреждение("Дальнейшая работа с акцизом остановлена");
    КонецЕсли;
...
//******************
err.
открытьФорму(спрНоменклатура.ТекущийЭлемент(),конт,0);
{Справочник.Номенклатура.Форма.Модуль(89)}: Открытие окна в данном режиме недоступно!
1 vcv
 
30.06.17
05:22
Дело не в вашем коде, а в том, откуда и как он вызывается. В этот момент 1Ска считает, что открывать окна нельзя.
2 vcv
 
30.06.17
05:23
Обычно с подобных случаях помогает ложное закрытие формы.
3 АЛьФ
 
30.06.17
08:25
FormEx, объект Сервис.

РазрешитьОткрытиеОкон(<?>)
Синтаксис:
РазрешитьОткрытиеОкон(Флаг)
Назначение:
для обхода запрета открытия форм из формулы реквизита диалога
Параметры:
<Флаг> - 1 - разрешить открытие форм, 0 - запретить открытие форм.
ЗАМЕЧАНИЕ:
Метод надо вызывать непосредственно в месте, где открытие запрещено.
4 gugolovski
 
30.06.17
08:58
Делаю первые шаги в 1С и не работал с FormEx. Попробую через ложное закрытие - подобный прием уже видел. Осталось только сообразить как закрывать открытый элемент справочника )). Почему-то Форма.Закрыть(0); не закрывает его.
5 АЛьФ
 
30.06.17
09:21
2(4) Форма.Закрыть(0) не закрывает форму сразу, а только ставит флаг, что форму надо будет закрыть. Само закрытие происходит после окончания выполнения текущего кода.
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан