Имя: Пароль:
1C
1С v8
глобальные переменные в 1С 8.2
,
0 Stydent88795126
 
11.04.13
07:30
Здравствуйте, вообще проблема следующая:
есть 2 формы, из первой я открываю вторую(и при открытии 2ой формы выполняется запрос)В запросе есть 2 параметра, значения которых можно узнать только на 1ой форме. Вопрос следующий как сделать глобальную переменную в 1С, чтобы она была видна и в 1 и во 2ой форме как на клиенте так и на сервере. Если не возможно сделать через переменную, может есть другие способы ? Заранее спасибо.
1 Stydent88795126
 
11.04.13
07:32
это 2 формы обработки
2 Рэйв
 
11.04.13
07:32
(0)Сделай у 2 формы реквизиты и передавай параметры запроса в них при открытии
3 Лодырь
 
11.04.13
07:35
(2) +1
4 Stydent88795126
 
11.04.13
07:35
а можно подробней?
5 Лодырь
 
11.04.13
07:35
Как вариант передавай параметрами и анализируй их при открытии или создании.
6 Лодырь
 
11.04.13
07:37
(4) Создаешь реквизит у формы. Руками создаешь. Например реквизит "ГруппаПрайса". Тогда код вызова формы будет в стиле:
Форма = Справочники.бел_ПрайсЛисты.ПолучитьФорму("ФормаРасстановкиПорядка");    
Форма.ГруппаПрайса = ТекущиеДанные.Родитель;
Форма.ОткрытьМодально();
7 Stydent88795126
 
11.04.13
07:40
а обязательно модально открывать?
8 Лодырь
 
11.04.13
07:43
Нет. Это пример.
9 Stydent88795126
 
11.04.13
07:43
спасибо, сейчас попробую.
10 Лодырь
 
11.04.13
07:46
Есть еще варианты, например:
Открываем форму документа куском кода вида:
ПараметрыФормы = Новый Структура("ДанныеЗаполнения", ПараметрКоторыйМыПередаем);
   ОткрытьФорму("Документ.Событие.Форма.ФормаДокумента", ПараметрыФормы, ПараметрыВыполненияКоманды.Источник, ПараметрыВыполненияКоманды.Уникальность, ПараметрыВыполненияКоманды.Окно);

а в самом модуле формы документа написано чтото типа:

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

   КонецЕсли;
   
КонецПроцедуры
11 Stydent88795126
 
11.04.13
07:52
Спасибо тебе большое, все получилось, то что надо.