Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 7.7 и ранее

v7: Создание нового документа

v7: Создание нового документа
Я
   kupec
 
09.09.20 - 19:21
Доброго времени суток. Есть ли возможность каким либо образом открыть форму нового документа и проставить туда реквизиты, не используя процедуру ВводНаОсновании().

Т.е. возможно ли такое сделать из внешней обработки, не правя модуль формы документа в конфигурации? Вариант создать программно документ, записать его в базу и открыть форму не подходит. Нужно именно без сохранения документа.
   НоваяВолна
 
1 - 09.09.20 - 19:29
(0) Зачем нужен документ "без сохранения", может не проведенный?
   МихаилМ
 
2 - 09.09.20 - 19:29
можно.в поиск по форуму. обсуждалось много раз.
   kupec
 
3 - 09.09.20 - 19:31
(2) может есть ссылки?
   Ёпрст
 
4 - 09.09.20 - 19:33
(0) Можно. Разрешаю.
   Ёпрст
 
5 - 09.09.20 - 19:34
Открыть форму и через контекст открытой формы заполни свой документ
   kupec
 
6 - 09.09.20 - 19:34
(5) не совсем понимаю, как получить контекст открытой формы?
   kupec
 
7 - 09.09.20 - 19:40
НоваяФорма="";
Если ОткрытьФорму(Документ.МойДокумент,НоваяФорма,)=0 Тогда
 Возврат;
КонецЕсли;

НоваяФорма.РеквизитШапки1=1;
НоваяФорма.РеквизитШапки2=2;
НоваяФорма.РеквизитШапки3=3;

Я правильно понимаю?
   andrewalexk
 
8 - 09.09.20 - 19:40
(6) :) кнопка поиск внизу
   Ёпрст
 
9 - 09.09.20 - 19:42
(7) да
   Duke1C
 
10 - 09.09.20 - 19:45
+ (9) Только в конце своих "махинаций" не забудь добавить:
НоваяФорма.Форма.Обновить();
   kupec
 
11 - 09.09.20 - 19:48
это я уже понял, сделал, вроде работает, а как можно вызвать процедуру например в форме открытого документа, которая вызывается при смене подразделения? Если я программно меняю реквизит, форма то не перерисовывается при его изменении. Может как то формексом есть варианты вызвать процедуры нового открытого документа?
   kupec
 
12 - 09.09.20 - 19:55
Форма.МояПроцедура() - так правильно будет?
   Ёпрст
 
13 - 09.09.20 - 20:44
(11) ВыполнитьПроцедуру у формекса
   Cthulhu
 
14 - 10.09.20 - 03:16
(11): штатно - сложно, но можно. если процедура без параметров (или со значениями по умолчанию. которые тебя устраивают).
например, вот этот код внешней обработки (процедура Выполнить) - открывает форму нового элемента справочника ТМЦ, устанавливает нужное Наименование, после чего инициирует вызов процедуры модуля формы открытого элемента справочника через 1 секунду после открытия (на самом деле - сразу)...:
Перем КонтекстОткрыойФормы;
Процедура ОключитьАвтоВыполнениеПроцедурыПоТаймАуту()
    КонтекстОткрыойФормы.Форма.ОбработкаОжидания("",0);
    Форма.ОбработкаОжидания("",0); КонтекстОткрыойФормы.Форма.Обновить();
КонецПроцедуры//ОключитьАвтоВыполнениеПроцедурыПоТаймАуту

Процедура Выполнить()
    ОткрытьФорму("Элемент.ТМЦ",КонтекстОткрыойФормы);
    КонтекстОткрыойФормы.Наименование = "Тестирование вызова процедуры формы через ее контекст!..";
    КонтекстОткрыойФормы.Форма.ОбработкаОжидания("СформироватьШтрихКод",1);
    Форма.ОбработкаОжидания("ОключитьАвтоВыполнениеПроцедурыПоТаймАуту",2);
    КонтекстОткрыойФормы.Форма.Обновить();
КонецПроцедуры//Выполнить
   Cthulhu
 
15 - 10.09.20 - 03:18
(14) "после чего инициирует вызов процедуры СформироватьШтрихКод() модуля формы открытого элемента справочника"

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