Получить таблицу значений из макета

Готовые тексты модулей и решений
Ответить
Аватара пользователя
admin
Администратор
Сообщения: 71
Зарегистрирован: 06 июл 2017 09:26

Получить таблицу значений из макета

Сообщение admin » 09 авг 2019 14:31

Код: Выделить всё

Функция ПолучитьТЗИзМакета(ТабДок, КолонкаИндекса = 1) Экспорт
	ТаблицаДанных = Новый ТаблицаЗначений;
	НомерКолонки = 0;
	Пока Истина Цикл
		НомерКолонки = НомерКолонки + 1;
		ИмяКолонки = ТабДок.Область(1, НомерКолонки).Текст;
		Если ПустаяСтрока(ИмяКолонки) Тогда
			Прервать;
		КонецЕсли; 
		ТаблицаДанных.Колонки.Добавить(ИмяКолонки);
	КонецЦикла;
	СчетчикКолонок = НомерКолонки - 1;
	НомерСтроки = 1; ФлагПрерывания = Ложь;
	Пока Истина Цикл
		НомерСтроки = НомерСтроки + 1;
		Стр = ТаблицаДанных.Добавить();
		Для А = 1 ПО СчетчикКолонок Цикл
			ТекстКолонки = ТабДок.Область(НомерСтроки, А).Текст;
			Если ПустаяСтрока(ТекстКолонки) Тогда
				Если А = КолонкаИндекса Тогда
					Флагпрерывания = Истина;
					ТаблицаДанных.Удалить(Стр);
				КонецЕсли;
			Иначе
				Стр[А - 1] = ТекстКолонки
			КонецЕсли;
			Если Флагпрерывания Тогда
				Прервать
			КонецЕсли;
		КонецЦикла;
		Если Флагпрерывания Тогда
			Прервать
		КонецЕсли;
	КонецЦикла;
	Возврат ТаблицаДанных
КонецФункции
вызов:

Код: Выделить всё

Таблица=ПолучитьТЗИзМакета(ПолучитьОбщийМакет("НазваниеМакетаСТипомТабличныйДокумент"));

p.s. код честно украден с ресурсов интернета, протестирован. Если это ваш код, и я задел каким-то образом ваши профессиональные чувства, то вы можете написать в спортлото и пожаловаться.

Ответить

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей