Имя: Пароль:
1C
 
Передача переменных из одной процедуры в другую.
0 Sinderlok
 
18.06.17
12:48
Добрый день/вечер. Скорей всего глупый вопрос, но как я могу вытянуть значение переменной из процедуры "Оповещение" в "ПередЗаписью".
Нужно мне это для того чтобы после записи формы, данные, программно созданного реквизита, можно было записать в регистр сведений.

&НаСервере
Процедура Оповещение(Результат, Параметры)
    
    НовыеРеквизиты = Новый Массив;
    НовыйРеквизит = Новый РеквизитФормы(Результат.Имя,Результат.Свойство,,,Истина);
    НовыеРеквизиты.Добавить(НовыйРеквизит);
    ЭтаФорма.ИзменитьРеквизиты(НовыеРеквизиты);    
    
    Элемент = ЭтаФорма.Элементы.Добавить(НовыйРеквизит,Тип("ПолеФормы"),);
    Элемент.Вид = ВидПоляФормы.ПолеВвода;
    Элемент.ПутьКДанным = НовыйРеквизит.Имя;
    Элемент.РастягиватьПоГоризонтали = Ложь;    
    
    МенеджерЗаписи = РегистрыСведений.Характеристики.СоздатьМенеджерЗаписи();
    МенеджерЗаписи.ВидыСвойств = ;
    //МенеджерЗаписи.Значение = ДокОбъект;
    МенеджерЗаписи.Кошелек= Объект.Ссылка;
    МенеджерЗаписи.Записать();
    
КонецПроцедуры

&НаКлиенте
Процедура ПередЗаписью(Отказ, ПараметрыЗаписи)

КонецПроцедуры
1 Sinderlok
 
18.06.17
12:49
Упс, забыл убрать менеджер записи из когда. Не обращайте не него внимания, просто тестировал.
2 Ислам
 
18.06.17
13:03
Сохрани ее в глобальную переменную
3 iceman2112
 
18.06.17
13:08
(0) Ты же реквизит формы создаешь, там и бери из реквизита формы значение потом.
4 iceman2112
 
18.06.17
13:09
(2) Не взлетит
5 Sinderlok
 
18.06.17
13:15
(2)Вот так? Не видит.
Перем НовыйРеквизит;
(3) Создаю реквизит программно, и не могу обратиться к нему из другой процедуры.
6 Sinderlok
 
18.06.17
13:23
(2)Забудьте что я сказал, видит. Только вот не определена переменная. Ладно. почитаю про глобальные переменные.
7 h-sp
 
18.06.17
13:57
(6) реквизит формы создай. А не Перем.
8 4St
 
18.06.17
14:00
(6) Конечно не определена. У тебя одна процедура &НаКлиенте, другая - &НаСервере. В общем случае эти процедуры выполняются на 2 разных машинах. Как уже говорили, тебе нужен реквизит формы или параметр формы. Они синхронизируются между клиентом и сервером.