программно заполнить поле табл части

1. TABEZI1234 18.04.19 14:51 Сейчас в теме
в тренировочных целях хочу понять как по команде заполнить поле в табл части обработки
пробовал так:
тек = элементы.Таблица.ТекущийЭлемент;
тек.ПолеТаблицы = "надпись";

как сделать правильно?
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
6. user995537 38 18.04.19 15:19 Сейчас в теме
(1)Если на клиенте, пример нумерации строк реквизита формы обработки с именем "ТЧСписок" и типом "ТаблицаЗначений"

&НаКлиенте
Процедура ТЧСписокПослеУдаления(Элемент)
	НумерацияСтрокТЧ(ТЧСписок);
КонецПроцедуры


&НаКлиенте
Процедура НумерацияСтрокТЧ(ТекТЧ)
	Для Каждого СтрТЧ ИЗ ТекТЧ Цикл
		СтрТЧ.НомерПП = ТекТЧ.Индекс(СтрТЧ) + 1;
	КонецЦикла;	
КонецПроцедуры
Показать


Пример заполнения реквизита формы обработки с именем "ТЧНастройки" и типом "ТаблицаЗначений" при открытии формы из параметров переданных из формы вызывающей данную форму

Пример заполнения на сервере
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	Если Элементы.Найти("ЭлементСправочника") = Неопределено Тогда
		Если НЕ Параметры.Свойство("ОбъектыНазначения") Тогда 	
			Сообщить("Ошибка получения докумнта!");
			Отказ = Истина;
			Возврат;
		КонецЕсли;
	КонецЕсли;
	Если Параметры.Свойство("ОбъектыНазначения") Тогда
		мОбъектов = Параметры.ОбъектыНазначения;
		Если НЕ мОбъектов = Неопределено И ТипЗнч(мОбъектов) = Тип("Массив") Тогда
			Если НЕ мОбъектов.Количество() = 0 Тогда
				ЭлементСправочника = Параметры.ОбъектыНазначения[0];
			КонецЕсли;
		КонецЕсли;	
	Иначе
		Сообщить("Ошибка получения объекта формы вызова!");
	КонецЕсли;
	Вт = РеквизитФормыВЗначение("ТЧНастройки");
	СтруктураПараметров = Объект.СтруктураПараметров;
	Если СтруктураПараметров = Неопределено ИЛИ НЕ ТипЗнч(СтруктураПараметров) = Тип("Структура") Тогда
		СтруктураПараметров = Новый Структура;
	КонецЕсли;
	Объект.СтруктураПараметров = СтруктураПараметров;
	СтрОбязательныхРеквизитов = "НомерЛиста,НомерПервойСтроки,КолонкаНоменклатура,КолонкаКоличество";
	мПараметрыСтрокой = СтрЗаменить(СтрОбязательныхРеквизитов, ",", Символы.ПС);
	Для н = 1 По СтрЧислоСтрок(мПараметрыСтрокой) Цикл
		ТекПараметр = СтрПолучитьСтроку(мПараметрыСтрокой,н);
		Если НЕ Вт.Найти(ТекПараметр, "ИмяПараметра") = Неопределено Тогда
			Продолжить;
		КонецЕсли;	
		Если ТекПараметр = "КолонкаКоличество" Тогда
			Значение = "2";
		Иначе
			Значение = "1";
		КонецЕсли;
		Если ТекПараметр = "КолонкаНоменклатура" Тогда
			Тип = "СправочникСсылка.Номенклатура";
		ИначеЕсли ТекПараметр = "КолонкаКоличество" Тогда
			Тип = "Число";
		Иначе
			Тип = "НеУчитывать";
		КонецЕсли;
		СтрВт = Вт.Добавить();
		СтрВт.НомерПП = Вт.Индекс(СтрВт) + 1;
		СтрВт.ИмяПараметра = ТекПараметр;
		СтрВт.НомерКолонкиВФайле = Значение;
		СтрВт.ТипЗначения = Тип;
	КонецЦикла;	
	ЗначениеВРеквизитФормы(Вт, "ТЧНастройки"); 
КонецПроцедуры
Показать
TABEZI1234; +1 Ответить
8. TABEZI1234 18.04.19 15:25 Сейчас в теме
2. SedovSU@mail.ru 297 18.04.19 14:57 Сейчас в теме
Тот код который вы представели заполняет значение не много не верно. Нужно вот так

Тек = Элементы.Таблица.ТекущиеДанные
Тек.ПолеТаблицы = "Надпись"
3. VmvLer 18.04.19 14:58 Сейчас в теме
открыть учебник будет наиболее правильно

я три-четыре раза перечитывал и потом пришло понимание, что надежнее освоить базис самому
TABEZI1234; YannikAlx; +2 Ответить
4. YannikAlx 43 18.04.19 14:58 Сейчас в теме
если существует Табличная часть , значит как минимум данные в ней хранятся в виде строк - Так?
И где ваша строка в которую вы что-то пытаетесь записать?
Рекомендую открыть книгу - общую информацию о табличных частях восполнить...
TABEZI1234; +1 Ответить
5. SedovSU@mail.ru 297 18.04.19 15:07 Сейчас в теме +0.1 $m
Если хотите чтобы для текущей строки в таблице поменялось то вот так

Тек = Элементы.Таблица.ТекущиеДанные
Если Тек <> Неопрделено Тогда
     Тек.ИмяРеквизита = "Надпись"
Конецесли


Если новую строку добавить то

Строка = Объект.Таблица.Добавить();
Строка.ИмяРеквизита = "Надпись"
TABEZI1234; +1 Ответить
7. TABEZI1234 18.04.19 15:24 Сейчас в теме
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот