|
Как передать текущий документ в процедуру Заполнить другого документа | ☑ | ||
---|---|---|---|---|
0
sidalexsandr
23.10.12
✎
12:44
|
Есть Документ1 в его модуле формы создаю документ ТехническоеЗадание и вызываю Процедуры ОбработкаЗаполнения для документа ТехническоеЗадание. Передаю Обработке текущий документ с помощью ЭтотОбъект. В результате процедура ОбработкаЗаполнения не получает доступ к Документ1.
ТехЗадание = Документы.ТехническоеЗадание.СоздатьДокумент(); ТехЗадание.Заполнить(ЭтотОбъект); |
|||
1
1Страх
23.10.12
✎
12:45
|
лучше ссылку, а как знаешь, что не получаешь?
|
|||
2
sidalexsandr
23.10.12
✎
12:45
|
Вопрос: Как передать в качестве параметра методу Заполнить() документ из которого я вызываю метод Заполнить();
|
|||
3
sidalexsandr
23.10.12
✎
12:47
|
(1) У меня дальше написанно в модуле ТехЗадание.ПолучитьФорму("Документ.ТехническоеЗадание.ФормаОбъекта").Открыть();
и открывается пустой документ. |
|||
4
1Страх
23.10.12
✎
12:48
|
а что в обработке заполнения?
|
|||
5
sidalexsandr
23.10.12
✎
12:51
|
Заполняю реквизиты документа ТехническоеЗадание беря значения из док-та Документ1 (Дата,котрагент,....) .
|
|||
6
Maxus43
23.10.12
✎
12:52
|
ТехЗадание = Документы.ТехническоеЗадание.СоздатьДокумент();
ТехЗадание.Заполнить(Ссылка); чо не работает то? |
|||
7
YF
23.10.12
✎
12:52
|
(0) Документ1, на момент вызова создания технического задания Записан?
|
|||
8
del123
23.10.12
✎
12:53
|
Покажи ОбработкуЗаполнения в документе "Техническое задание"
|
|||
9
sidalexsandr
23.10.12
✎
12:54
|
Заработало, вот код:
Записать(); ТехЗадание = Документы.ТехническоеЗадание.СоздатьДокумент(); ТехЗадание.Заполнить(ЭтотОбъект.Ссылка); ТехЗадание.Дата = ТекущаяДата(); ТехЗадание.УстановитьВремя(); ТехЗадание.УстановитьНовыйНомер(); ТехЗадание.Записать(); ФормаДокумента = ТехЗадание.ПолучитьФорму("ФормаДокумента") ; Если Не ФормаДокумента.Открыта () Тогда ФормаДокумента.Открыть(); КонецЕсли; |
|||
10
Maxus43
23.10.12
✎
12:55
|
в книгу знаний ещё отправь
|
|||
11
sidalexsandr
23.10.12
✎
12:56
|
(10) Как в книгу знаний
|
|||
12
Maxus43
23.10.12
✎
12:57
|
(11) сори, табличку "сарказм" забыл дома)
|
|||
13
1Страх
23.10.12
✎
13:14
|
жесть
ФормаДокумента = ТехЗадание.ПолучитьФорму("ФормаДокумента") ; Если Не ФормаДокумента.Открыта () Тогда ФормаДокумента.Открыть(); КонецЕсли; |
|||
14
Maxus43
23.10.12
✎
13:15
|
(13) шо такое? даже в типовых так пишут
|
|||
15
Reset
23.10.12
✎
13:16
|
(14) Наверное, он имеет в виду, что документ только что создан и форма открыта быть не может
|
|||
16
Maxus43
23.10.12
✎
13:17
|
(15) с фигали? у нового объекта можно токрыть форму и показать, без записи дока
|
|||
17
Reset
23.10.12
✎
13:20
|
(16) см (9)
ТехЗадание = Документы.ТехническоеЗадание.СОЗДАТЬДОКУМЕНТ(); Если Не ФормаДокумента.Открыта () Тогда // ??? кем, когда? |
|||
18
Reset
23.10.12
✎
13:21
|
Не ну я допускаю что кто-то может изъ$%$уться и в обработке заполнения открывать форму
|
|||
19
Maxus43
23.10.12
✎
13:22
|
(17) я в (9) смотрю, там на первый взгляд чисто
|
|||
20
Reset
23.10.12
✎
13:23
|
(19) По другому. При каких условиях условие будет ложным?
Если Не ФормаДокумента.Открыта () Тогда |
|||
21
Reset
23.10.12
✎
13:24
|
не при каких, если не допускать маразма из (18).
Значит, проверка тупо лишняя |
|||
22
Maxus43
23.10.12
✎
13:25
|
(21) ааа, да, проверка излишняя. Я думал ты пишеш что форму вобще нельзя открыть у только созданного дока)
|
|||
23
Reset
23.10.12
✎
13:27
|
(22) Я только предположение высказал про то, о чем (13) :))
|
|||
24
Reset
23.10.12
✎
13:30
|
А, понял, двусмысленно в (15).
Правильно так: только что создан и форма Открыта() быть не может ) |
|||
25
Maxus43
23.10.12
✎
13:30
|
дада
|
|||
26
sidalexsandr
23.10.12
✎
13:54
|
(16) В окончательном варианте убрал строки:
ТехЗадание.Дата = ТекущаяДата(); ТехЗадание.УстановитьВремя(); ТехЗадание.УстановитьНовыйНомер(); ТехЗадание.Записать(); |
|||
27
del123
23.10.12
✎
13:58
|
а зачем установитьВремя() и УстановитьНовыйНомер()?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |