Имя: Пароль:
1C
 
Копирование документа с другой формой
0 Dom26
 
08.10.19
15:46
Я при открытии документа внутри открываю другую форму,(не та что по умолчанию в объекте)

Парам = новый Структура("Ключ", Объект.Ссылка);
        Форма=ПолучитьФорму("Документ.SH_ЗапросНаКонтрактацию.Форма.ФормаДокументаАренда",Парам);    
        Форма.владелецформы =          ЭтаФорма;
    
         Форма.Открыть();


существующий документы отркываются нормлаьно а вот если я копирую этот документ то он в новой этой форме открывается пустым , что то надо вставить в ключ другое?
1 Dom26
 
08.10.19
15:57
неужелиприйдется передавать ЗначениеКопирования и в ручную заполнять объект?
2 PR
 
08.10.19
15:59
Фу так делать
3 runoff_runoff
 
08.10.19
16:06
(0) а основной реквизит задан во второстепенной форме?..
4 Dom26
 
08.10.19
16:06
(2) не хотелосьб другой док создавать но форма явно другая нужна
5 Dom26
 
08.10.19
16:07
(3) а чем и как?
6 runoff_runoff
 
08.10.19
16:10
(5) жирным шрифтом выделен в списке реквзитов формы.. есть там такой?..
7 Dom26
 
08.10.19
16:10
(6) естественно, это форма дока просто не по умолчанию
8 PR
 
08.10.19
16:14
(4) Ну так переопредели форму, чтобы открывалась другая
9 Dom26
 
08.10.19
16:30
(8) так переопределил. фишка в том что когда копирую тот документ который должен открываться с этой другой формы, док пустой - НЕ КОПИРУЕТСЯ видимо что то надо в ключ вставлять другое
10 Dom26
 
08.10.19
16:31
(8) ну или может не так переопределил. подскажите как правильнее
11 runoff_runoff
 
08.10.19
16:50
(9) у меня все открывается с параметром Ключ.. только я делаю ОткрытьФорму
12 hhhh
 
08.10.19
17:09
(10) юзай обработкаПолученияФормы в модуле менеджера


Процедура ОбработкаПолученияФормы(ВидФормы, Параметры, ВыбраннаяФорма, ДополнительнаяИнформация, СтандартнаяОбработка)
    
    Если ВидФормы <> "ФормаОбъекта" Тогда
        Возврат;
    КонецЕсли;

    ВидОперации = Неопределено;

    Если Параметры.Свойство("Ключ") И ЗначениеЗаполнено(Параметры.Ключ) Тогда
        ВидОперации = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Параметры.Ключ, "ВидОперации");
    КонецЕсли;

    // Если документ копируется, то вид формы получаем из копируемого документа.
    Если НЕ ЗначениеЗаполнено(ВидОперации) Тогда
        Если Параметры.Свойство("ЗначениеКопирования")
            И ЗначениеЗаполнено(Параметры.ЗначениеКопирования) Тогда
            ВидОперации = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(
                Параметры.ЗначениеКопирования, "ВидОперации");
        КонецЕсли;
    КонецЕсли;

    Если НЕ ЗначениеЗаполнено(ВидОперации) Тогда
        Если Параметры.Свойство("ЗначенияЗаполнения")
            И ТипЗнч(Параметры.ЗначенияЗаполнения) = Тип("Структура") Тогда
            Если Параметры.ЗначенияЗаполнения.Свойство("ВидОперации") Тогда
                ВидОперации = Параметры.ЗначенияЗаполнения.ВидОперации;
            КонецЕсли;
        КонецЕсли;
    КонецЕсли;
    
    Если ВидОперации = Перечисления.ВидыОперацийАвансовыйОтчет.Командировка Тогда
        СтандартнаяОбработка = Ложь;
        ВыбраннаяФорма = "ФормаДокументаКомандировка";
    КонецЕсли;

КонецПроцедуры
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn