Имя: Пароль:
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) не закрывает форму сразу, а только ставит флаг, что форму надо будет закрыть. Само закрытие происходит после окончания выполнения текущего кода.