Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема типизация в запросе ТаблицейЗначений (число прочтений - 982 )
lustin
1c++ power user
Отсутствует


1C *.*, ROR, Java - на
этом остановимся

Сообщений: 907
Местоположение: Москва
Зарегистрирован: 20. Октября 2006
Пол: Мужской
типизация в запросе ТаблицейЗначений
26. Октября 2008 :: 10:49
Печать  
возник вопрос
а если у меня в поле хранится внутреннее представление ТЗ
то возможно-ли типизировать поле типом ТаблицаЗначений

то есть нечто подобное(в виде теста)

Код
Выбрать все
процедура тест_типизацияЗапросаТипомТЗ()
	Перем итТипов; //:ИндексированнаяТаблица
	_Соединение = СоздатьОбъект("ODBCRecordSet");
	_Соединение.УстБД1С();
	_Соединение.Отладка(1);

	пустаяТЗстрокой = ЗначениеВСтрокуВнутр(СоздатьОбъект("ТаблицаЗначений"));
	_Соединение.Выполнить("CREATE TABLE #tempTableForTZ(value char(42))");
	_Соединение.Выполнить("DELETE FROM #tempTableForTZ");
	_Соединение.Подготовить("INSERT INTO #tempTableForTZ (value) VALUES(?)");

	тзДанных = СоздатьОбъект("ТаблицаЗначений");
	тзДанных.НоваяКолонка("value", "Строка");

	Для сч=1 По 1000 Цикл
		тзДанных.НоваяСтрока();
		тзДанных.value = пустаяТЗстрокой;
	КонецЦикла;

	_Соединение.ВыполнитьSQL_ИзТЗ(тзДанных);

	итзРезультатов = СоздатьОбъект("ИндексированнаяТаблица");
	итзРезультатов.УдалитьСтроки();
	_Соединение.Отладка(1);
	_Соединение.ВыполнитьИнструкцию("
	|SELECT
	| 	RTRIM(value) as [emptyTable1C $ТаблицаЗначений],
	|   RTRIM(value) as строкаТЗ,
	|   '' as востановленнаяТЗ,
	|	'1' as типЗначения
	|FROM
	|	#tempTableForTZ
	|", итзРезультатов,1);

	итзРезультатов.ВыбратьСтроки();
	Пока итзРезультатов.ПолучитьСтроку() = 1 Цикл
		итзРезультатов.типЗначения = ТипЗначенияСтр(итзРезультатов.emptyTable1C);
		итзРезультатов.востановленнаяТЗ = ЗначениеИзСтрокиВнутр(итзРезультатов.строкаТЗ);
	КонецЦикла;
	итзРезультатов.ДобавитьИндекс("ПоТипу","типЗначения");
	итзРезультатов.Выгрузить(итТипов,"ПоТипу","типЗначения",1);

	_модуль = СоздатьОбъект("ВыполняемыйМодуль");

	Если итТипов.КоличествоСтрок()=0 Тогда
		_модуль.ВыброситьИскл(Контекст,"таблицы значений вообще не типизировались");
	Иначе
		итТипов.ВыбратьСтроки();
		Пока итТипов.ПолучитьСтроку() = 1 Цикл
			Если итТипов.типЗначения <> "ТаблицаЗначений" Тогда
				_модуль.ВыброситьИскл(Контекст,"ошибочная типизаци ТЗ - тип("+итТипов.типЗначения+")");
			КонецЕсли;
		КонецЦикла;
	КонецЕсли;

КонецПроцедуры //
 




ps есть у меня подозрении что придется писать класс Общие.ТаблицаЗначенийБ_базеДанных с методом _sqlcreate(...)

  

бизнес-процесс как техническое задание прекрасно, только у бизнеса нет процессов; у бизнеса есть желание выжить
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
Вадимко
God Member
*****
Отсутствует


Нам бы чего про ОдноЦэ...

Сообщений: 1048
Местоположение: Минск
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: типизация в запросе ТаблицейЗначений
Ответ #1 - 26. Октября 2008 :: 15:58
Печать  
А тупенько группировать ИТЗ?
  

Кампутер, кофе и сигареты - это очень плохо для моего здоровья...
Наверх
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать