![]() |
![]() |
![]() |
|
Передать переменную из модуля документа в модуль формы | ☑ | ||
---|---|---|---|---|
0
Надежда25
16.08.11
✎
14:01
|
В модуле документа есть: Перем ФормЗаявку Экспорт;
Ей присваивается значение Истина или Ложь. Не получается передать переменную из модуля документа в модуль формы: Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) Если Объект.ФормЗаявку = Ложь Тогда Отказ=Истина; КонецЕсли; КонецПроцедуры Подскажите, пожалуйста, как надо? |
|||
1
Grusswelle
16.08.11
✎
14:05
|
(0) Управляемое приложение? В реквизит выводи (появится рядом с объектом), потом обращайся. Не через Объект, разумеется.
|
|||
2
Надежда25
16.08.11
✎
14:21
|
Что значит "в реквизит выводи"? У меня форма формируется автоматически, реквизиты не указаны.
|
|||
3
Надежда25
16.08.11
✎
14:40
|
Есть что?
Приложение управляемое. |
|||
4
zak555
16.08.11
✎
14:42
|
фотку
|
|||
5
unregistered
16.08.11
✎
14:45
|
(2) Что значит "форма формируется автоматически"?
В конфигурации её нет? Если создавать влом, пользуй ДополнительныеСвойства документа. |
|||
6
Надежда25
16.08.11
✎
15:03
|
Получилось:
В параметрах формы создала параметр ФормЗаявку, Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) Если Параметры.ФормЗаявку = Ложь Тогда Отказ=Истина; КонецЕсли; КонецПроцедуры Но, вероятно, переменная ФормЗаявку = Ложь и я не могу открыть ни один уже созданный документ. Где поменять на Истину? |
|||
7
Надежда25
16.08.11
✎
15:30
|
Извиняюсь, что-то не то. Параметры.ФормЗаявку всегда Ложь. Пробую через реквизиты.
|
|||
8
Надежда25
16.08.11
✎
16:11
|
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
ФормЗаявку = РеквизитФормыВЗначение("Объект"); Если ФормЗаявку = Ложь Тогда Отказ=Истина; |
|||
9
Надежда25
16.08.11
✎
16:12
|
В модуле документа ФормЗаявку Истина, а в модуле формы документа всегда Ложь, откуда берется?
|
|||
10
5 Элемент
16.08.11
✎
16:14
|
В модуле формы неправильно использовать модуль документа
|
|||
11
5 Элемент
16.08.11
✎
16:14
|
Опиши свою задачу
|
|||
12
Надежда25
16.08.11
✎
16:23
|
Спасибо за участие.
Есть документ "Расходная", на его основе создается документ "Заявка". Если СуммаДокумента (расходная) меньше 1000, "Заявку" формировать не надо. В модуле документа "Заявка": Перем ФормЗаявку Экспорт; Процедура ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка) Если ТипЗнч(ДанныеЗаполнения) = Тип("ДокументСсылка.Расходная") Тогда Если ДанныеЗаполнения.СуммаДокумента > 1000 Тогда ФормЗаявку = Истина; Дата = ТекущаяДата(); ДокументОснование = ДанныеЗаполнения.Ссылка; Покупатель = ДанныеЗаполнения.Контрагент; Иначе ФормЗаявку = Ложь; Сообщение = Новый СообщениеПользователю; Сообщение.Текст = "Сумма покупки не превышает 1000 руб.! Невозможна бесплатная доставка!"; Сообщение.Сообщить(); КонецЕсли; КонецЕсли; Эта часть работает, но форма документа все равно открывается. Что писать в модуле формы - нет четкого представления. |
|||
13
5 Элемент
16.08.11
✎
16:51
|
По-хорошему это нужно проверять при проведении заявки - проверяй сумму основания и не давай провести.
|
|||
14
Надежда25
16.08.11
✎
17:36
|
Документ "Заявка" вообще не надо открывать, если Документ.расходная.СуммаДокумента больше 1000.
|
|||
15
5 Элемент
16.08.11
✎
17:38
|
(14) К сожалению не всегда можно реализовать дружелюбный интерфейс. В этом случае делают типовой сценарий
|
|||
16
Надежда25
16.08.11
✎
17:57
|
(15)Извините, мы об одном и том же говорим? Мне кажется, в (12) все написала. На основании одного документа по условию надо создавать или не создавать другой документ. Не знаю, как отказаться от создания документа.
|
|||
17
5 Элемент
16.08.11
✎
18:08
|
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) ДокОснование = Параметры.Основание; Если ТипЗнч(ДокОснование) = Тип("ДокументСсылка.Расходная") Тогда Если ДокОснование.СуммаДокумента <= 1000 Тогда Отказ = Истина; КонецЕсли; КонецЕсли; КонецПроцедуры |
|||
18
Надежда25
16.08.11
✎
18:46
|
Спасибо большое! А я все с экспортной переменной маялась.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |