Вход | Регистрация

1С:Предприятие ::

Метки: 

Как подменить основную форму документа на ее копию и заполнить копию по условию

Я
   ultrannge89
 
11.04.14 - 12:45
Конфигурация Зарплата 2.5 имеется свой интерфейс в котором прописана ссылка на форму списка документа ТабельУчетаРабочегоВремени. Мне нужно чтобы при создании нового документа или при правке существующего открывалась не основная форма, а копия, в которой я кое-что поправил.
Пробовал несколькими методами, но не получается.
Остановился на том что для ФормаСписка1 прописал следующие процедуры:

Процедура ДокументСписокПередНачаломДобавления(Элемент, Отказ, Копирование)
    
    ТекущийПользователь = ИмяПользователя();
    
    Если ПустаяСтрока(Текущийпользователь) Тогда
        Сообщить("Текущий пользователь в базе не зарегистрирован"); 
        Отказ = Истина;
    КонецЕсли;
    ПользовательСсылка = Справочники.Пользователи.НайтиПоНаименованию(Текущийпользователь);
    
    
    МетаданныеДокумента = Метаданные.Документы.ТабельУчетаРабочегоВремениОрганизации;    
    Если Не ПравоДоступа("ИнтерактивноеДобавление", МетаданныеДокумента) Тогда
        Предупреждение("Нарушение прав доступа!");
        Возврат;
    КонецЕсли;
    
    ФормаНовогоДокумента = ПолучитьФорму("Документ.ТабельУчетаРабочегоВремениОрганизации.Форма.ФормаДокумента1");
    
    Если ЭлементыФормы.Организация <> Неопределено И МетаданныеДокумента.Реквизиты.Найти("Организация") <> Неопределено Тогда
        Если ТипЗнч(ФормаНовогоДокумента) = Тип("Форма") Тогда
            ФормаНовогоДокумента.Организация = ЭлементыФормы.Организация;
        Иначе// Управляемая форма

            ФормаНовогоДокумента.Объект.Организация = ЭлементыФормы.Организация;
        КонецЕсли;
    КонецЕсли;
    
    ФормаНовогоДокумента.ЗакрыватьПриЗакрытииВладельца = Ложь;
    ФормаНовогоДокумента.Открыть();
    
КонецПроцедуры

Процедура ДокументСписокПередНачаломИзменения(Элемент, Отказ)
    

    СсылкаНаДокумент = ЭлементыФормы.ДокументСписок.ТекущаяСтрока.Ссылка;
    ДокОбъект = СсылкаНаДокумент.ПолучитьОбъект();
    ФормаДок = ДокОбъект.ПолучитьФорму("ФормаДокумента1");

    ФормаДок.Открыть();
    Отказ = Истина;


    
КонецПроцедуры



При этом понял что формадокумента1 все равно не открывается, даже без Отказ = Истина, открывается просто две копии ФормаДокумента
 
  Рекламное место пустует
   ultrannge89
 
1 - 11.04.14 - 12:53
Ой, сорри затупил, все работает.
   ultrannge89
 
2 - 11.04.14 - 12:54
Проблема была в том что я отслеживал тали эта форма переименовывая заголовок надписи Организация в Организация1111 , а она глубоко в коде преобразовывалась обратно :)


Список тем форума
Рекламное место пустует  
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует