|   |   | 
| 
 | v7: Создание нового документа | ☑ | ||
|---|---|---|---|---|
| 0
    
        kupec 09.09.20✎ 19:21 | 
        Доброго времени суток. Есть ли возможность каким либо образом открыть форму нового документа и проставить туда реквизиты, не используя процедуру ВводНаОсновании().
 Т.е. возможно ли такое сделать из внешней обработки, не правя модуль формы документа в конфигурации? Вариант создать программно документ, записать его в базу и открыть форму не подходит. Нужно именно без сохранения документа. | |||
| 1
    
        НоваяВолна 09.09.20✎ 19:29 | 
        (0) Зачем нужен документ "без сохранения", может не проведенный?     | |||
| 2
    
        МихаилМ 09.09.20✎ 19:29 | 
        можно.в поиск по форуму. обсуждалось много раз.     | |||
| 3
    
        kupec 09.09.20✎ 19:31 | 
        (2) может есть ссылки?     | |||
| 4
    
        Ёпрст гуру 09.09.20✎ 19:33 | 
        (0) Можно. Разрешаю.     | |||
| 5
    
        Ёпрст гуру 09.09.20✎ 19:34 | 
        Открыть форму и через контекст открытой формы заполни свой документ     | |||
| 6
    
        kupec 09.09.20✎ 19:34 | 
        (5) не совсем понимаю, как получить контекст открытой формы?     | |||
| 7
    
        kupec 09.09.20✎ 19:40 | 
        НоваяФорма="";
 Если ОткрытьФорму(Документ.МойДокумент,НоваяФорма,)=0 Тогда Возврат; КонецЕсли; НоваяФорма.РеквизитШапки1=1; НоваяФорма.РеквизитШапки2=2; НоваяФорма.РеквизитШапки3=3; Я правильно понимаю? | |||
| 8
    
        andrewalexk 09.09.20✎ 19:40 | 
        (6) :) кнопка поиск внизу     | |||
| 9
    
        Ёпрст гуру 09.09.20✎ 19:42 | 
        (7) да     | |||
| 10
    
        Duke1C 09.09.20✎ 19:45 | 
        + (9) Только в конце своих "махинаций" не забудь добавить:
 НоваяФорма.Форма.Обновить(); | |||
| 11
    
        kupec 09.09.20✎ 19:48 | 
        это я уже понял, сделал, вроде работает, а как можно вызвать процедуру например в форме открытого документа, которая вызывается при смене подразделения? Если я программно меняю реквизит, форма то не перерисовывается при его изменении. Может как то формексом есть варианты вызвать процедуры нового открытого документа?     | |||
| 12
    
        kupec 09.09.20✎ 19:55 | 
        Форма.МояПроцедура() - так правильно будет?     | |||
| 13
    
        Ёпрст гуру 09.09.20✎ 20:44 | 
        (11) ВыполнитьПроцедуру у формекса     | |||
| 14
    
        Cthulhu 10.09.20✎ 03:16 | 
        (11): штатно - сложно, но можно. если процедура без параметров (или со значениями по умолчанию. которые тебя устраивают).
 например, вот этот код внешней обработки (процедура Выполнить) - открывает форму нового элемента справочника ТМЦ, устанавливает нужное Наименование, после чего инициирует вызов процедуры модуля формы открытого элемента справочника через 1 секунду после открытия (на самом деле - сразу)...: Перем КонтекстОткрыойФормы; Процедура ОключитьАвтоВыполнениеПроцедурыПоТаймАуту() КонтекстОткрыойФормы.Форма.ОбработкаОжидания("",0); Форма.ОбработкаОжидания("",0); КонтекстОткрыойФормы.Форма.Обновить(); КонецПроцедуры //ОключитьАвтоВыполнениеПроцедурыПоТаймАуту Процедура Выполнить() ОткрытьФорму("Элемент.ТМЦ",КонтекстОткрыойФормы); КонтекстОткрыойФормы.Наименование = "Тестирование вызова процедуры формы через ее контекст!.."; КонтекстОткрыойФормы.Форма.ОбработкаОжидания("СформироватьШтрихКод",1); Форма.ОбработкаОжидания("ОключитьАвтоВыполнениеПроцедурыПоТаймАуту",2); КонтекстОткрыойФормы.Форма.Обновить(); КонецПроцедуры //Выполнить | |||
| 15
    
        Cthulhu 10.09.20✎ 03:18 | 
        (14) "после чего инициирует вызов процедуры СформироватьШтрихКод() модуля формы открытого элемента справочника"     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |