V8. Как получить имя табличной части по реквизиту? #133146


#0 by Северянин
При изменении значения в поле ввода табличной части вызывается процедура ТоварыКоличествоПриИзменении(Элемент). Как мне узнать имя табличной части из какой вызвана эта процедура?Что то я запутался ;-((
#1 by Чеширский
а элемент по твоему это что?
#2 by Северянин
Элемент - реквизит табличной части. Табличных частей несколько, мне нужно знать в какой табличной части происходит изменение значения реквизита и в соответствии с этим выполнить разные действия.
#3 by marvak
#4 by Северянин
это я знаю. Но тут передается СтрокаТабличнойЧасти, а в моем случае передается реквизит (поле ввода) строки табличной части, вот по этому реквизиту мне и нужно определить имя табличной части.
#5 by marvak
млин, в процедуре ТоварыКоличествоПриИзменении(Элемент) вызываешь:
#6 by Северянин
СтрокаТабличнойЧасти = ЭлементыФормы.Товары.ТекущиеДанныеТак вызывается строка табличной части "Товары" !!!А мне нужно определить это "Товары" или "ТоварыПоставщика" - это разные табличные части, хоть и похожие, в Товарах поставщика отмечается что получили по документам, в Товарах, что пришло фактически.
#7 by VZ
Не полощи мозги себе и людям. Назови эти процедуры по разному, например, ТоварыКоличествоПриИзмененииТЧ1...Кроме того, первым аргументом в этой функции идет элемент формы - и здесь можешь сравнивать с имеющимися.
#8 by marvak
конечно, по идее они и будут вызываться по разному, типа из 1-й ТЧ ТоварыНоменклатураПриИзменении(Элемент), из 2-й ТоварыПоставщикаНоменклатураПриИзменении(Элемент), а из них , после определения имени ТЧ можешь вызвать свою ТоварыКоличествоПриИзменении, в общем как и сделано в УТ
#9 by Северянин
Этот вариант понятен, просто хотелось обойтисб без дублирования одинаковых процедур.нутром чую, что как то черех метаданные можно определиться, и тогда останется только написать функцию "ПолучитьИмяТабличнойЧастиПоСсылкеНаРеквизит(Элемент);-))Но раз это не воэможно, придется идти по ;-((
#10 by Macleod
У меня вот так работает:...КонецПроцедуры
#11 by marvak
имхо нельзя, т.к. в элементе управления колонки табличного поля нет никаких ссылок ни на это табличное поле, ни на текущие данные табличного поля. и тот факт, то что в УТ не сделано нигде через "ПолучитьИмяТабличнойЧастиПоСсылкеНаРеквизит(Элемент)", а сделано как в подтверждает это.может конечно как то хитро извернуться и можно, кто знает все одинэсные дебри.
#12 by VZ
+7. И к Разве обязательно называть поле так же, как реквизит? Ну и что же, что автоматом при создании формы поля подхватывают название реквизита? "Свойство" еще не отменено ;)
#13 by Kirill
ЭтаФорма.ТекущийЭлемент.Имя
#14 by Северянин
СПАСИБО!Я так и знал, что туплю, а ключик рядом!;-))
#15 by marvak
о как! но все равно не через "Элемент" определяется
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С