Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема Можно менять поставщика ТП ? (число прочтений - 1008 )
ev-kov
God Member
*****
Отсутствует



Сообщений: 694
Зарегистрирован: 27. Декабря 2006
Пол: Мужской
Можно менять поставщика ТП ?
12. Августа 2008 :: 04:23
Печать  
Можно ли в проинициализированном табличном поле на ходу менять источник, при первичной инициализации источник пустая ТЗ с нужной структурой, в зависимости от выбора на форме хочу менять поставщика на нужную мне тз (структура тз таже) ?
  

Информация - то, что снижает неопределенность в какой-либо области и очень важно не ошибиться областью в наш информационный век!
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Можно менять поставщика ТП ?
Ответ #1 - 12. Августа 2008 :: 05:25
Печать  
А в чем проблема? Очищай источник, устанавливай новый. У меня в классе работает примерно такой код:
Код
Выбрать все
Процедура УстановитьИТЗ(тзИсточник) Экспорт
	Сам().ПоставщикДанных = "";
	Сам().Подвал.ПоставщикДанных = "";
	Сам().Колонки.Очистить();
	Если тзИсточник.КоличествоКолонок()<>0 Тогда
		Сам().СоздатьКолонкиПоИсточнику(тзИсточник);
		Попытка	тзИсточник.ЗаполнитьКолонкуПоАлгоритму("", "НомерПоПорядку", 1, 1);
		Исключение
			идКолонки="НомерПоПорядку";
			тзИсточник.НоваяКолонка(идКолонки);
			тзИсточник.ЗаполнитьКолонкуПоАлгоритму("", идКолонки, 1, 1);

			НоваяКолонка=Сам().Колонки.Добавить(идКолонки);
			НоваяКолонка.Заголовок="№ строки";
			ИндексКолонки=Сам().Колонки.Индекс(НоваяКолонка);
			Если ИндексКолонки>1 Тогда
				Сам().Колонки.Сдвинуть(ИндексКолонки, (-1)*(ИндексКолонки));
			КонецЕсли;
			НоваяКолонка.Данные=идКолонки;
			НоваяКолонка.ИзменениеРазмера=1;
			КартинкаКолонки=спСтрокСКартинками.Получить(Нрег(идКолонки));
			Если ПустоеЗначение(КартинкаКолонки)=0 Тогда
				НоваяКолонка.УстановитьКартинкиСтрок(КартинкаКолонки);
			КонецЕсли;
		КонецПопытки;
	КонецЕсли;
	Поставщик=СоздатьОбъект("ПоставщикДанныхИТ");
	Поставщик.ИндексированнаяТаблица=тзИсточник;

	итПодвала=тзИсточник.Копия(0,0);
	итПодвала.НоваяСтрока();
	ПоставщикПодвала=СоздатьОбъект("ПоставщикДанныхИТ");
	ПоставщикПодвала.ИндексированнаяТаблица=итПодвала;

	Сам().ПоставщикДанных = Поставщик;
	Сам().Подвал.ПоставщикДанных=ПоставщикПодвала;

	Сам().НачальноеПредставление = 0;
	Сам().ОбновитьСтроки();
	ОбновитьСтрокиПодвала();
	Сам().АвтоШирина();
КонецПроцедуры	// УстановитьИТЗ 

  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать