|
как в УФ получить на клиенте значение поля табличной части | ☑ | ||
---|---|---|---|---|
0
Новичок111
22.07.11
✎
14:55
|
Конечно, если знаешь имя реквизита, то проблем никаких. А если нет? Или если поле таблицы вообще не связано с данными?
Нужно переписать в 8.2 (УП) код 7.7: Процедура ПриНачалеРедактированияСтроки() сАтр = Форма.ТекущаяКолонка(); Если ПустоеЗначение(сАтр) = 0 Тогда ... Здесь мы начинаем редактирование любой колонки таб.части, и если проверяем значение поля на заполненность. Как это реализовать в 8.2? |
|||
1
Новичок111
22.07.11
✎
15:03
|
никто не знает?
|
|||
2
Amra
22.07.11
✎
15:06
|
Не надо удалять гланды через жо.у
|
|||
3
Новичок111
22.07.11
✎
15:07
|
не понял. В 7.7 гланды через ж. удаляются?
|
|||
4
jump if zero
22.07.11
✎
15:16
|
Элементы[ТабЧасть].ТекущиеДанные.Поле
|
|||
5
jump if zero
22.07.11
✎
15:17
|
если ЗначениеЗаполенено() тогда
|
|||
6
Новичок111
22.07.11
✎
15:22
|
ну, Элементы[ТабЧасть] - это на самом деле Элемент в процедуре 8.2 ПередНачаломИзменения.
далее - Элемент.ТекущиеДанные - получим текущую строку таблицы. С данными, разумеется. А вот имя поля откуда взять? Максимум, что можно получить на клиенте - это имя поля таблицы. Но не имя реквизита. |
|||
7
jump if zero
22.07.11
✎
15:58
|
Элементы.ТабЧасть.ПодчиненныеЭлементы.ПолеТЧ.ПутьКДанным
|
|||
8
Новичок111
22.07.11
✎
16:20
|
jump if zero - условия задачи внимательно смотрел?
Надо переписать код 7.7 в 8.2. код записан в (0). Имя поля заранее неизвестно, процедура должна отрабатывать на любом поле таблицы. что такое ПолеТЧ ? |
|||
9
jump if zero
22.07.11
✎
16:33
|
&НаКлиенте
Процедура ДанныеКЗагрузкеПриНачалеРедактирования(Элемент, НоваяСтрока, Копирование) Сообщение = Новый СообщениеПользователю; Сообщение.Текст = ""+Элемент.ТекущийЭлемент.Имя; Сообщение.Сообщить(); КонецПроцедуры а как реквизит получить я тебе уже написал |
|||
10
Новичок111
22.07.11
✎
16:37
|
при чем здесь сообщение пользователю?????
мне нужно получить значение в той колонке, куда я ткнулся мышкой! Причем работающий код, а не выдуманный из головы на ходу. |
|||
11
jump if zero
22.07.11
✎
16:38
|
Элементы[ТабЧасть].ТекущиеДанные[Элемент.ТекущийЭлемент.Имя]
так сработает? |
|||
12
Новичок111
22.07.11
✎
16:41
|
если бы это работало, я бы сюда и не писал!
Элемент.ТекущийЭлемент.Имя - это имя поля таблицы, а нужно получить имя реквизита. |
|||
13
Новичок111
22.07.11
✎
16:41
|
разницу понимаешь?
|
|||
14
jump if zero
22.07.11
✎
16:42
|
а в (7) я кому писал?
|
|||
15
Новичок111
22.07.11
✎
16:43
|
вопрос в (8) видишь?
|
|||
16
Новичок111
22.07.11
✎
16:43
|
в последней строке
|
|||
17
Mort
22.07.11
✎
16:44
|
Стук по дереву в соседних ветках слышно.
|
|||
18
Новичок111
22.07.11
✎
16:46
|
Мort, если есть что-то по теме, то готов послушать.
|
|||
19
Mort
22.07.11
✎
16:48
|
Тебе уже сто раз написали про ПутьКДанным. СП украли?
|
|||
20
Новичок111
22.07.11
✎
16:50
|
достаточно написать только 1 раз. И работающий код.
Пока его не увидел. |
|||
21
Mort
22.07.11
✎
16:55
|
(20) И не увидишь.
|
|||
22
Новичок111
22.07.11
✎
16:57
|
(21) может, тебе в LIFE?
|
|||
23
Новичок111
22.07.11
✎
17:07
|
Один из способов я нашел.
&НаКлиенте Процедура ТабЧастьПередНачаломИзменения(Элемент, Отказ) Стр = Элемент.ТекущиеДанные; ПутьКДанным = ПолноеИмяРеквизита(); текКолонкаИмя = СтрЗаменить(ПутьКДанным, "Объект.ТабЧасть.", ""); Если ЗначениеЗаполнено(Стр[текКолонкаИмя]) Тогда // действуем КонецЕсли; КонецПроцедуры &НаСервере Функция ПолноеИмяРеквизита() Возврат Элементы.ТабЧасть.ТекущийЭлемент.ПутьКДанным; КонецФункции Однако, сдается мне, что это - (2). Ибо в 7.7 это занимает лишь 2 строчки. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |