Получить идентификатор таблицы значений #10563


#0 by sheale
У меня на форме есть несколько Тз, которые вызывают одну процедуру. Как мне их различать? Как получить доступ к идентификатору таблицы?
#1 by Diter
Передавай в процедуру в качестве параметра имя ТЗ на форме
#2 by Michael99
Они что сами по себе ее вызывают ? При вызове и передавай имя таблицы.
#3 by OFF
Форма с кучей ТЗ ТЗ1, ТЗ2, ... ТЗ j //
#4 by sheale
Я хочу сделать одну общую процедуру, в которой буду смотреть - какая Тз вызвала ее. В зависимости о этого буду обрабатывать.
#5 by Diter
Ты читать умеешь? три поста с одинаковым ответом на твой вопрос в а ты его опять задаёшь? Ты думаешь мы все не поняли чего ты хочешь? Делай как в , , сказано.
#6 by SnarkHunter
Можно и без параметра определять...
#7 by OFF
Акунеть :) Тебе ответили в (1-2), в более подробно :)
#8 by sheale
как?
#9 by Звеньевой
SnarkHunter прав!
#10 by sheale
Напишите как?
#11 by Звеньевой
Форма.АктивныйЭлемент;
#12 by F427
МояГениТАльнаяПроцедура(ТЗ2)
#13 by F427
А правильных ответов только 1 + 1 стеб... знатоки...
#14 by OFF
Гы. тож ничего пример вызова :)
#15 by sheale
если передавать как МояГениАнальнаяПроцедура(ТЗ1) МояГениАнальнаяПроцедура(ТЗ2) МояГениАнальнаяПроцедура(ТЗ j) То для процедуры эти таблицы будут одинаковые. Поэтому я и спрашивал как их различить. Т.е. выход один: МояГениАнальнаяПроцедура(ТЗ2,"Таблица1") МояГениАнальнаяПроцедура(ТЗ,"Таблица1") Так?
#16 by sheale
МояГениАнальнаяПроцедура(ТЗ,"Таблица2")
#17 by Diter
..... ИначеЕсли .....
#18 by NS
Приплыли...
#19 by sheale
Спасибо.
#20 by Diter
Что то не так?
#21 by Хряк
17: Да пусть порезвятся ;)
#22 by NS
Да, не так - это не универсальная процедура. Есть вообще-то метод получитьатрибут
#23 by Diter
А разве ПолучитьАтрибут универсальный метод? И вообще что значит "не универсальная процедура"? Поясните свою мысль.
#25 by Diter
Это всё понятно, но как отработает эта процедурка если структура разных ТЗ будет разная?
#26 by NS
не понял вопроса. ТЗ1 - это будет ссылка на твою таблицу на форме, независимо от её структуры.
#27 by Diter
Нет это как раз я понял, теперь нужно что то с этой ТЗ делать. Заполнять или читать данные. Через ПолучитьЗначение(Строка,Колонка) можно, можно и тип данных узнать наконец (через ТипЗначения), но насколько утяжелится код?
#28 by Diter
ТЗ1.НоваяКолонка("а1"); нужно прочитать данные из колонки "Товар" при условии что на форме 5 ТЗ, и из них только две имеют такую колонку, но данные в них храняться разные. (попытка уже не проходит). Только перебором?
#29 by NS
конецпопытки; Либо перебором колонок.
#30 by NS
(27,28) Не вижу логики - если ТЗ обрабатываются по-разному - зачем обработку пихать в одну процедуру?
#31 by Diter
А для того, что как я говорил, если среди 5 ТЗ, в двух есть "Товар", а в двух есть "Контрагент", а в одной есть "документ" то где будет меньше кода ; в пяти узкоспециализированных процедурах, или в одной? Экономия будет хотябы за счёт такой конструкции Функция ОбработкаТЗ(ТЗ,Колонка) ... КонецЕсли; Значение=ОбработкаТЗ(ТЗ,Колонка) КонецПроцедуры
#32 by NS
Ничего не понимаю... Зачем ты передаешь два параметра???? В - напсано, как из одного получить второй.
#33 by NS
(31,32) сори, похоже я устал....
#34 by Diter
Второй параметр это номер колонки, в которой хранятся нужные в данный момент данные (прошу прощения за товтологию). Для простоты я не перебираю строки, хотя по большому счёту нужно и номер строки передавать в функцию получения значения.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

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