Snippets

Василий Котов Работа с базой данных SQL , через ADO

Created by Василий Котов last modified
Функция ДанныеADO() Экспорт

	strConnect = "DRIVER={SQL Server Native Client 11.0};SERVER=;UID=;PWD=;DATABASE=;Trusted_Connection=yes;LANGUAGE=русский";
	
	Connect = Новый COMОбъект("ADODB.Connection"); 
	Попытка
		Connect.Open(strConnect);
	Исключение
		ОписаниеОшибки = "ошибка подключения "+ОписаниеОшибки();
		Возврат ОписаниеОшибки;
	КонецПопытки;

	//Сервер SQL имеет отличный от 1С формат даты, поэтому используем это:
	//format(dateadd(YYYY, -2000, place._Period), 'dd.MM.yyyy hh:mm:ss') AS  _Period
	//
	//Обратное преобразование даты, для передачи параметра в запрос:
	//DECLARE @datetime datetime2(0) = dateadd(YYYY, 2000, '31.12.2018 12:32:03'); 

	ТекстЗапроса = "";
	                               
	Попытка
		RS = Connect.Execute(ТекстЗапроса);
	Исключение
		Возврат "Ошибка запроса : "+ОписаниеОшибки();
	КонецПопытки;
	
	Данные = ТЗ();
	
	Пока НЕ RS.EOF Цикл
		
		СтрокаДанных = Данные.Добавить();
		Для каждого Колонка Из Данные.Колонки Цикл
			 СтрокаДанных[Колонка.Имя] = СокрЛП(RS.Fields(Колонка.Имя).value)
		КонецЦикла; 
		
		RS.MoveNext();
		
	КонецЦикла;
    
    Возврат Данные;
		
КонецФункции // ()
 
Функция ТЗ()
	
	ТЗ = Новый ТаблицаЗначений;
	ТЗ.Колонки.Добавить("_Period", Новый ОписаниеТипов("Дата", , ,
								   Новый КвалификаторыДаты(ЧастиДаты.ДатаВремя)));
	ТЗ.Колонки.Добавить("os", Новый ОписаниеТипов("Строка", ,
								   Новый КвалификаторыСтроки(100, ДопустимаяДлина.Переменная)));
	ТЗ.Колонки.Добавить("code_os", Новый ОписаниеТипов("Строка", ,
								   Новый КвалификаторыСтроки(9, ДопустимаяДлина.Переменная)));
	ТЗ.Колонки.Добавить("organization", Новый ОписаниеТипов("Строка", ,
								   Новый КвалификаторыСтроки(100, ДопустимаяДлина.Переменная)));
	ТЗ.Колонки.Добавить("o_inn", Новый ОписаниеТипов("Строка", ,
								   Новый КвалификаторыСтроки(12, ДопустимаяДлина.Переменная)));
	ТЗ.Колонки.Добавить("o_kpp", Новый ОписаниеТипов("Строка", ,
								   Новый КвалификаторыСтроки(9, ДопустимаяДлина.Переменная)));
	ТЗ.Колонки.Добавить("tenant", Новый ОписаниеТипов("Строка", ,
								   Новый КвалификаторыСтроки(100, ДопустимаяДлина.Переменная)));
	ТЗ.Колонки.Добавить("t_inn", Новый ОписаниеТипов("Строка", ,
								   Новый КвалификаторыСтроки(12, ДопустимаяДлина.Переменная)));
	ТЗ.Колонки.Добавить("t_kpp", Новый ОписаниеТипов("Строка", ,
								   Новый КвалификаторыСтроки(9, ДопустимаяДлина.Переменная)));
	ТЗ.Колонки.Добавить("p_public_id", Новый ОписаниеТипов("Строка", ,
								   Новый КвалификаторыСтроки(36, ДопустимаяДлина.Переменная)));
	Возврат ТЗ;
	
КонецФункции;

Comments (0)

HTTPS SSH

You can clone a snippet to your computer for local editing. Learn more.