|
Возврат реквизита управляемой формы(ТЗ) | ☑ | ||
---|---|---|---|---|
0
lisrws
08.10.13
✎
11:27
|
Добрый день. Есть управляемая форма. На ней 4 реквизита типа "Таблица значений": ТЗ1, ТЗ2, ТЗ3 и ТЗ4. в каждой из них по 3 строки с Колонкой "Габарит"(число). Имеется такой код:
&НаКлиенте Процедура ШиринаПриИзменении() Габариты = ПолучитьГабарит(ЗонаХранения); Габариты[1].Габарит = ШиринаММ; конецпроцедуры &НаСервере Функция ПолучитьГабарит(ЗонаХранения) Если ЗонаХранения = Перечисления.ЗоныХранения.Зона1 тогда Возврат ТЗ4; ИначеЕсли ЗонаХранения = Перечисления.ЗоныХранения.Зона2 тогда Возврат ТЗ4; ИначеЕсли ЗонаХранения = Перечисления.ЗоныХранения.Зона3 тогда Возврат ТЗ4; ИначеЕсли ЗонаХранения = Перечисления.ЗоныХранения.Зона4 тогда Возврат ТЗ4; КонецЕсли конецфункции То есть, в зависимости от зоны хранения, из функции должна вернуться конкретная ТЗ для редактирования. ТЗ вроде возвращается, переменная Габариты имеет тип "ДанныеФормыКоллекция", но при выполнении Габариты[1].Габарит = ШиринаММ заполняется строка только в ТЗ Габариты, при этом значение в соответствующей ей строке в ТЗ из реквизитов формы не изменяется. В чем может быть дело? |
|||
1
banco
08.10.13
✎
11:31
|
(0) в твоем случае вообще не надо обращаться на сервер, можно использовать на клиенте
Если ЗонаХранения = ПредопределенноеЗначение("Перечисление.ЗоныХранения.Зона1") |
|||
2
Maxus43
08.10.13
✎
11:32
|
чтоб на сервере работать с данными форм кури РеквизитФормыВЗначение и обратно
|
|||
3
lisrws
08.10.13
✎
11:36
|
(1) я привел лишь фрагмент. есть вызов ПолучитьГабарит из под сервера. поэтому на клиент бросать нельзя.
(2) по-моему немножко не то. Если я напишу: &НаКлиенте Процедура ШиринаПриИзменении() ТЗ1[1].Габарит = ШиринаММ; конецпроцедуры работать будет |
|||
4
lisrws
08.10.13
✎
11:37
|
немножко ошибся в (0) . Вот так надо:
&НаСервере Функция ПолучитьГабарит(ЗонаХранения) Если ЗонаХранения = Перечисления.ЗоныХранения.Зона1 тогда Возврат ТЗ1; ИначеЕсли ЗонаХранения = Перечисления.ЗоныХранения.Зона2 тогда Возврат ТЗ2; ИначеЕсли ЗонаХранения = Перечисления.ЗоныХранения.Зона3 тогда Возврат ТЗ3; ИначеЕсли ЗонаХранения = Перечисления.ЗоныХранения.Зона4 тогда Возврат ТЗ4; КонецЕсли конецфункции |
|||
5
lisrws
08.10.13
✎
11:41
|
вызов сервера мне нужен только для определения с какой именно ТЗ мне нужно сейчас работать. Но при возврате с сервера, кажется что он дает не ТЗ формы, а ее копию.
|
|||
6
Infsams654
08.10.13
✎
11:50
|
(5) выбирай, из (1) и (2)
|
|||
7
lisrws
08.10.13
✎
14:59
|
(6) ясно. спасибо. буду пробовать
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |