Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
14 дек 2024, 04:29

как обратиться к ТЧ документа не зная название

Автор макс, 10 авг 2011, 10:50

0 Пользователей и 1 гость просматривают эту тему.

макс


Док.РасшифровкаПлатежа[Индекс].СубконтоСчетДебета2  = Субконто;
вместо РасшифровкаПлатежа, есть какое-нибудь свойство или метод который позволяет найти ТЧ, что то вроде этого Док.НайтиТабличнуюЧасть("РасшифровкаПлатежа")- найтиТабличнуюЧасть я сам придумал, мне надо чтонить похожее


переменная док, может быть любым документом, пр(кассовоеВыбытие,заявкаНаКассовыхРасход,ОтражениеЗарплатыВУчете), т.е у него разные табличные части, я хочу обращаться универсально к ТЧ этих документов, как это реализовать?



has


Dethmontt

Ну или перебором элементов формы типа:
Для каждого интератор из ФормаДокумента.ЭлементыФормы Цикл
Если ТипЗнч(Интератор) <> Тип("ТабличноеПоле или ТаблицаЗначений") Тогда
Продолжить;
КонецЦикла;
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

макс

я не это имел ввиду,

У меня есть переменная "Док" это документ, у него есть табличная часть любая, мне надо как-то получить данные этой табличной части для изменения, Док.РасшифровкаПлатежа вместо расшифровкиПлатежа могут быть любые табличные части.

макс


has

Цитата: макс от 11 авг 2011, 04:24
все разобрался спасибо
Разобрался сам, расскажи другим

макс


процедура ПолучитьНомерСубконто(Док,Индекс,пНомерСубконто,Субконто,СтрокаТаблицы)

if пНомерСубконто = "СубконтоСчетКредита1" or пНомерСубконто = "СубконтоСчетДебета1" then
ДокОбъект = узнатьТабЧастьДокумента(Док,СтрокаТаблицы,Индекс);
ДокОбъект["СубконтоСчетДебета1"]  = Субконто;
иначеесли пНомерСубконто = "СубконтоСчетКредита2" or пНомерСубконто = "СубконтоСчетДебета2" тогда
ДокОбъект = узнатьТабЧастьДокумента(Док,СтрокаТаблицы,Индекс);
ДокОбъект["СубконтоСчетДебета2"]  = Субконто;
иначеесли пНомерСубконто = "СубконтоСчетКредита3" or пНомерСубконто = "СубконтоСчетДебета3" тогда
ДокОбъект = узнатьТабЧастьДокумента(Док,СтрокаТаблицы,Индекс);
ДокОбъект["СубконтоСчетДебета3"]  = Субконто;
//ЗаполнитьЗначенияСвойств(
иначеесли пНомерСубконто = "СубконтоСчетКредита4" or пНомерСубконто = "СубконтоСчетДебета4" тогда
ДокОбъект = узнатьТабЧастьДокумента(Док,СтрокаТаблицы,Индекс);
ДокОбъект["СубконтоСчетДебета4"]  = Субконто;
endif;

конецпроцедуры

функция узнатьТабЧастьДокумента(Док,СтрокаТаблицы,Индекс)
для каждого Строка из Док.Метаданные().ТабличныеЧасти цикл
если СтрокаТаблицы.ДокументТЧ = Строка.Имя тогда
возврат Док[Строка.Имя][Индекс];
конецесли;
конеццикла;
конецфункции


это я затупил забыл что можно обращаться к ТЧ документа через [], Док.любоеНазвание вместо этого Док["ЛюбоеНазвание"].


Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск