Имя: Пароль:
1C
1С v8
Запуск формы Документа управляемой и обычной из Обычного приложения
0 shlyahtich
 
19.07.16
17:30
1С установлен основной запуск как Управляемое приложение и возможность использовать УФ в обычном приложении и ОФ в управляемомо приложении

Для документа созданы обычные формы ФормаСписка и ФормаДокумента на закладке Дополнительно и управляемые на основной закладке
ФормаСпискаУФ и ФормаДокументаУФ

В интрефейсе обычного приложения установлена команда запуска формы списка обычного приложения и вторая команда запуска формы списка управляемого приложения - в конфигураторе указано, какая форма выбирается. Все работает

Как теперь сделать так, чтобы в обычном приложении из управляемой формы списка запускалась управляемая форма документа, а из обычной формы списка - обычная форма документа

Пытался при запуске из обычной формы ПередОткрытием

Если ТипЗнч(ЭтаФорма.ВладелецФормы) = Тип("ТаблицаФормы") Тогда
ФФФ = ЭтотОбъект.ПолучитьФорму("ФормаДокументаУпр");
ФФФ.Открыть();
Возврат;
КонецЕсли;    

А ПриОткрытии
Если ТипЗнч(ЭтаФорма.ВладелецФормы) = Тип("ТаблицаФормы") Тогда
Возврат;
КонецЕсли;    

Не работает - открывается Обычная форма все равно и УФ, но не та которая создана, а та которая генерится платформой автоматически
1 pessok
 
19.07.16
17:35
ДокументМенеджер.<Имя документа>.ОбработкаПолученияФормы (DocumentManager.<Имя документа>.FormGetProcessing)
ДокументМенеджер.<Имя документа> (DocumentManager.<Имя документа>)
ОбработкаПолученияФормы (FormGetProcessing)
Синтаксис:

ОбработкаПолученияФормы(<ВидФормы>, <Параметры>, <ВыбраннаяФорма>, <ДополнительнаяИнформация>, <СтандартнаяОбработка>)
Параметры:

<ВидФормы>

Тип: Строка.
Имя стандартной формы.
<Параметры>

Тип: Структура.
Параметры формы.
<ВыбраннаяФорма>

Содержит имя открываемой формы или объект метаданных Форма.
Если значение параметра изменено, то будет осуществлен поиск формы в пределах объекта, для которого открывается форма.
<ДополнительнаяИнформация>

Тип: Структура.
Дополнительная информация открытия формы.
Структура, содержащая поле ПовторноеИспользование (Reuse) типа Булево, которое указывает, кешируется ли форма на стороне клиента.
<СтандартнаяОбработка>

Тип: Булево.
В данный параметр передается признак выполнения стандартной (системной) обработки события. Если в теле процедуры-обработчика установить данному параметру значение Ложь, стандартная обработка события производиться не будет (выбираются установленные разработчиком форма и параметры).
Значение по умолчанию: Истина.
Описание:

Обработчик события вызывается на сервере при получении стандартной управляемой формы.
Если требуется переопределить выбор открываемой формы, необходимо установить в параметре <ВыбраннаяФорма> другое имя формы или объект метаданных формы, которую требуется открыть, и в параметре <СтандартнаяОбработка> установить значение Ложь.
--------------------------------------------------------------------------------

     Методическая информация
2 shlyahtich
 
19.07.16
17:38
(2) понял куда копать сенкс
3 shlyahtich
 
19.07.16
17:39
(1)
Обработчик события вызывается на сервере при получении стандартной управляемой формы

а как мне отменить при вызове из формы списка упр открытие формы обычной документа
4 shlyahtich
 
19.07.16
17:56
ок тормоз
Надо было просто Отказ = Истина написать

Процедура ПередОткрытием(Отказ, СтандартнаяОбработка)
    
Если ТипЗнч(ЭтаФорма.ВладелецФормы) = Тип("ТаблицаФормы") Тогда
ФФФ = Документы.бит_РасчетАренднойПлаты.ПолучитьФорму("ФормаДокументаУпр",ЭтаФорма.ВладелецФормы);
        ФФФ.Открыть();
        Отказ = Истина;
        Возврат;
КонецЕсли;
2 + 2 = 3.9999999999999999999999999999999...