|
Пытаюсь вызвать процедуру формы документа, что не так, как правильно, как жить с этим)?? | ☑ | ||
---|---|---|---|---|
0
General833
30.05.18
✎
11:43
|
Можно ли так делать? ИЗ ВНЕШНЕЙ обработки (модуля формы), вызывать процедуру модуля формы документа (уже записаного). Или как равильно должно быть?
КОД: Процедура СоздатьДокументУстЦенНоменклатуры(СсылкаДок); ДокУстЦен = Документы.УстановкаЦенНоменклатуры.СоздатьДокумент(); ДокУстЦен.Дата = ТекущаяДата(); ЗаполнениеДокументов.ЗаполнитьШапкуДокумента(ДокУстЦен.ЭтотОбъект, глЗначениеПеременной("глТекущийПользователь"),,,,); ДокУстЦен.НеПроводитьНулевыеЗначения = Истина; ДокУстЦен.Записать(); ФормаДок = ПолучитьФорму("Документ.УстановкаЦенНоменклатуры.ФормаДокумента", новый Структура("Ключ",ДокУстЦен.Ссылка)); ФормаДок.ЗаполнитьТабличнуюЧастьПоПоступлениюНаОсновании(СсылкаДок,Перезаполнение=Ложь) ДокУстЦен.Записать(РежимЗаписиДокумента.Проведение); КонецПроцедуры ОШИБКА: {ВнешняяОбработка.ВнешняяОбработка2.Форма.Форма.Форма(183)}: Метод объекта не обнаружен (ЗаполнитьТабличнуюЧастьПоПоступлениюНаОсновании) ФормаДок.ЗаполнитьТабличнуюЧастьПоПоступлениюНаОсновании(СсылкаДок, Истина); |
|||
1
shuhard
30.05.18
✎
11:44
|
(0)[как жить с этим]
молча |
|||
2
General833
30.05.18
✎
11:45
|
))
|
|||
3
Мимохожий Однако
30.05.18
✎
11:47
|
(0) Незя..Скопируй в обработку нужные процедуры и пользуйся
|
|||
4
General833
30.05.18
✎
11:49
|
(3) Понял, копирую...
|
|||
5
DrShad
30.05.18
✎
11:51
|
не нужно ничего копировать и не нужно ее вызывать
в процедуре перед открытием есть ее вызов, если Если ЗначениеЗаполнено(ПараметрОснование) И ТипЗнч(ПараметрОснование) = Тип("ДокументСсылка.ПоступлениеТоваровУслуг") Тогда |
|||
6
Джинн
30.05.18
✎
11:53
|
Оппять клюшечник?
|
|||
7
ЦиркУехал
30.05.18
✎
11:56
|
(0) в 8.3 у документа 2 модуля.
из одного можно из второго нельзя. |
|||
8
1Сергей
30.05.18
✎
12:00
|
(7) чёт, мало ты, всего два насчитал :)
|
|||
9
DrShad
30.05.18
✎
12:01
|
(8) +1
|
|||
10
General833
30.05.18
✎
12:01
|
(5) Спасибо, сейчас попробую.
|
|||
11
ЦиркУехал
30.05.18
✎
12:05
|
(8) у документа 2 Модуля
Модуль объекта и модуль менеджера. Если Модуль менеджера тогда МойСупердок.СделатьВcеНаСвете(); иначе объектПроц=РеквизитФормыВЗначение("Объект"); объектПроц.СделатьВcеНаСвете(); и то тока на форме. КонецЕсли; |
|||
12
DrShad
30.05.18
✎
12:08
|
(11) да цирк таки уехал (((
|
|||
13
General833
30.05.18
✎
12:09
|
(5) Пардон, что-то туплю, ну есть она ПередОткрытием, а как ее вызвать? Подскажите пож. Что-то голова не соображает сегодня...
|
|||
14
General833
30.05.18
✎
12:10
|
(5) У меня программно, без выбора пользователя, должен создаваться документ...
|
|||
15
General833
30.05.18
✎
12:11
|
(11) Пробую )))
|
|||
16
DrShad
30.05.18
✎
12:12
|
(13) не надо ее вызывать - она сама вызовется, когда форму дока откроешь
|
|||
17
ЦиркУехал
30.05.18
✎
12:12
|
(13) у документа такой нет .
ПередОткрытием стесняюсь спросить чего ?? |
|||
18
ЦиркУехал
30.05.18
✎
12:14
|
(16) ПередОткрытием не вызовется, её просто нет такой :(
|
|||
19
General833
30.05.18
✎
12:14
|
(17) Модуль формы, есть, только, что этим хотели сказать, пока не могу понять..
|
|||
20
General833
30.05.18
✎
12:15
|
Вот кусок кода и этой процедуры: Если ЗначениеЗаполнено(ПараметрОснование)
И ТипЗнч(ПараметрОснование) = Тип("ДокументСсылка.ПоступлениеТоваровУслуг") Тогда Если НЕ ЗначениеЗаполнено(ПараметрОснование.ТипЦен) Тогда ОбщегоНазначения.СообщитьОбОшибке("В документе " + СокрЛП(ПараметрОснование) + " не установлен тип цен! Заполнение невозможно.", Отказ); Возврат; КонецЕсли; Если НЕ ЗначениеЗаполнено(ПараметрОснование.ТипЦен.ТипЦеныНоменклатуры) Тогда ОбщегоНазначения.СообщитьОбОшибке("В документе " + СокрЛП(ПараметрОснование) + " для типа цен " + СокрЛП(ПараметрОснование.ТипЦен) + " не установлен базовый тип цен! Заполнение невозможно.", Отказ); Возврат; КонецЕсли; ЗаполнитьТабличнуюЧастьПоПоступлениюНаОсновании(ПараметрОснование); КонецЕсли; |
|||
21
ЦиркУехал
30.05.18
✎
12:15
|
(19) все-таки форма ??
хмм цитата. У меня программно, без выбора пользователя, должен создаваться документ... |
|||
22
General833
30.05.18
✎
12:18
|
(21) Я просто, хочу передать параметр (ДокументОснование) в процедуру формы документа (УстановкаЦен).
Сама процедура- ЗаполнитьТабличнуюЧастьПоПоступлениюНаОсновании(ПараметрОснование); |
|||
23
General833
30.05.18
✎
12:19
|
Вот, не пойму, куак это выполнить...
|
|||
24
General833
30.05.18
✎
12:19
|
правильно...
|
|||
25
ЦиркУехал
30.05.18
✎
12:21
|
(24) Заполнение на основании находится в 1 модуле в который не залезешь из обработки.
так что выноси. |
|||
26
General833
30.05.18
✎
12:23
|
ВСе таки копировать в обработку )))
|
|||
27
General833
30.05.18
✎
12:23
|
(25) Спасибо!
|
|||
28
ЦиркУехал
30.05.18
✎
12:23
|
(22) а так в чем проблема то ??
найди основание документа и запихай. ЗаполнитьТабличнуюЧастьПоПоступлениюНаОсновании(ПараметрОснование); |
|||
29
ЦиркУехал
30.05.18
✎
12:24
|
(27) в реквизитах Есть Документ Основание?
|
|||
30
ЦиркУехал
30.05.18
✎
12:27
|
(28) или надо создать документ с определенным основанием?
|
|||
31
General833
30.05.18
✎
12:27
|
(29) Блин, точно! Сейчас попробую...
|
|||
32
DrShad
30.05.18
✎
12:28
|
(25) серьезно?
а как же такой код УстановкаЦен = Документы.УстановкаЦенНоменклатуры.СоздатьДокумент(); УстановкаЦен.Заполнить(ДокументОснования); |
|||
33
General833
30.05.18
✎
12:30
|
(32) ))) Я наверно, сейчас, долго буду смеяться...
|
|||
34
ЦиркУехал
30.05.18
✎
12:32
|
(32) из Формы не получится .
я просто не понял, что и откуда. |
|||
35
ЦиркУехал
30.05.18
✎
12:33
|
(33) тебе при создании документа нужно найти какое нить основание.
и записать в реквизит. |
|||
36
General833
30.05.18
✎
12:39
|
(35) И такое тоже сейчас попробую...
|
|||
37
General833
30.05.18
✎
16:03
|
(35) Спасибо!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |