Имя: Пароль:
1C
1С v8
как сохранить значение переменной, управляемая 8.2
,
0 jour
 
31.07.13
11:34
есть общая форма с объявленной переменной. при наступлении какого либо события переменной присваивается какое-либо значение.
Но дальше оно почему то сбрасывается.. в чем тут дело?
1 ДенисЧ
 
31.07.13
11:36
В том, что кто-то не читает документацию...
И не показывает код
2 jour
 
31.07.13
11:36
&НаКлиенте
Процедура СтраницыПриСменеСтраницы(Элемент, ТекущаяСтраница)
    ТекСтраница = Число(СтрЗаменить(Элемент.ТекущаяСтраница.Имя,"Группа",""));
3 ДенисЧ
 
31.07.13
11:37
(2) Очень информативно...
4 jour
 
31.07.13
11:39
Перем ТекСтраница; объявил переменную

Если меняю страницу то переменной присваивается значение
&НаКлиенте
Процедура СтраницыПриСменеСтраницы(Элемент, ТекущаяСтраница)
    ТекСтраница = Число(СтрЗаменить(Элемент.ТекущаяСтраница.Имя,"Группа",""));
КонецПроцедуры

В этот момент хочу прочитать значение переменной, но оно не сохранилось

&НаКлиенте
Процедура Сохранить(Команда)
ТекСтраница = ?(ТекСтраница = Неопределено,1,ТекСтраница);
ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Сохранение);
ДиалогОткрытияФайла.ПолноеИмяФайла = ОбменСMajorTerminal.СформироватьНомерЗаказа(ОбъектыПечати.Получить(0).Значение);
ДиалогОткрытияФайла.Фильтр = "Файлы PDF (*.pdf)|*.pdf";
//ДиалогОткрытияФайла.Фильтр = "Файлы PDF (*.pdf)|*.pdf|Файлы Microsoft Excel (*.xls)|*.xls|Все файлы (*.*)|*.*";
ДиалогОткрытияФайла.МножественныйВыбор = Ложь;
Если ДиалогОткрытияФайла.Выбрать() тогда
        ЭтаФорма["Таб" + ТекСтраница].Записать(ДиалогОткрытияФайла.ПолноеИмяФайла,ТипФайлаТабличногоДокумента.PDF);
КонецЕсли;
КонецПроцедуры
5 Капитан О
 
31.07.13
11:40
и на зачем тут переменная нужна?
6 ptiz
 
31.07.13
11:42
Стесняюсь спросить - а переменная объявлена на клиенте?
Ну и к (5) присоединяюсь.
7 jour
 
31.07.13
11:42
(5) затем что тут пять табличных частей, и в зависимости от активной нужно сохранять соответствующую, а получить ее негде.
8 zladenuw
 
31.07.13
11:43
что то не вижу ее в объявление переменных формы. в процедуре вижу. но надо знать что после выполнение процедуры значение переменных сбрасываются.
Так бери активную. делов то
9 jour
 
31.07.13
11:45
(8) не нашел как получить активное поле
10 Капитан О
 
31.07.13
11:47
(9) дарю: Число(СтрЗаменить(Элемент.ТекущаяСтраница.Имя,"Группа",""))
11 jour
 
31.07.13
11:48
(10) неработает
12 zladenuw
 
31.07.13
11:50
Элемент.ТекущиеДанные[Элемент.ТекущийЭлемент.Имя]
13 Капитан О
 
31.07.13
11:51
а, ну там надо от Элементов идти
14 jour
 
31.07.13
11:58
(13) ТекСтраница = Число(СтрЗаменить(Элементы.Страницы.ТекущаяСтраница.Имя,"Группа",""));

вот так работает, действительно все очень просто, всем спасибо.
15 jour
 
31.07.13
11:59
просто запутался в изобилии
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн