Совместная работа разработчиков. Используем стороннюю программу на примере KDiff3, для сравнения и объединения конфигураций, внешних обработок и отчетов.
#1С, #Разработка, #Программирование, #SQL
SQL. Пример создания Временные таблицы
Код: https://bitbucket.org/snippets/ayvas/KrkKAn
--пример создания временной таблицы
cre ate table #t(name nvarchar(100), date datetime2)
ins ert into #t
sel ect 'test name', GETDATE()
sele ct * fr om #t
dr op table #t
1. Подключение к БД SQL через ADO
2. Выборка полученных данных
3. Использование прямого запроса для создания внешнего источника данных
Сервер 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');
Шаблон: https://bitbucket.org/snippets/ayvas/8np994/sql-ado
Функция ДанныеADO() Экспорт
strConnect = "DRIVER={SQL Server Native Client 11.0};SERVER=;UID=;PWD=;DATABASE=;Trusted_Connection=yes;LANGUAGE=русский";
Connect = Новый COMОбъект("ADODB.Connection");
Попытка
Connect.Open(strConnect);
Исключение
ОписаниеОшибки = "ошибка подключения "+ОписаниеОшибки();
Возврат ОписаниеОшибки;
КонецПопытки;
ТекстЗапроса = "";
Попытка
RS = Connect.Execute(ТекстЗапроса);
Исключение
Возврат "Ошибка запроса : "+ОписаниеОшибки();
КонецПопытки;
Данные = ТЗ();
Пока НЕ RS.EOF Цикл
СтрокаДанных = Данные.Добавить();
Для каждого Колонка Из Данные.Колонки Цикл
СтрокаДанных[Колонка.Имя] = СокрЛП(RS.Fields(Колонка.Имя).value)
КонецЦикла;
RS.MoveNext();
КонецЦикла;
Возврат Данные;
КонецФункции // ()
Функция ТЗ()
ТЗ = Новый ТаблицаЗначений;
ТЗ.Колонки.Добавить("_Period", Новый ОписаниеТипов("Дата", , ,
Новый КвалификаторыДаты(ЧастиДаты.ДатаВремя)));
ТЗ.Колонки.Добавить("os", Новый ОписаниеТипов("Строка", ,
Новый КвалификаторыСтроки(100, ДопустимаяДлина.Переменная)));
Возврат ТЗ;
КонецФункции;
Совместная работа разработчиков. Используем стороннюю программу на примере KDiff3, для сравнения и объединения конфигураций, внешних обработок и отчетов. https://www.youtube.com/watch?v=ipFLmwQMzpQ
strConnect = "DRIVER={SQL Server Native Client 11.0};SERVER=;UID=;PWD=;DATABASE=;Trusted_Connection=yes;LANGUAGE=русский";
Connect = Новый COMОбъект("ADODB.Connection"); Попытка В В Connect.Open(strConnect); Исключение В В ОписаниеОшибки = "ошибка подключения "+ОписаниеОшибки(); В В Возврат ОписаниеОшибки; КонецПопытки;
ТекстЗапроса = ""; В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В Попытка В В RS = Connect.Execute(ТекстЗапроса); Исключение В В Возврат "Ошибка запроса : "+ОписаниеОшибки(); КонецПопытки;
Данные = ТЗ();
Пока НЕ RS.EOF Цикл В В В В СтрокаДанных = Данные.Добавить(); В В Для каждого Колонка Из Данные.Колонки Цикл В В В В СтрокаДанных[Колонка.Имя] = СокрЛП(RS.Fields(Колонка.Имя).value) В В КонецЦикла; В В В В RS.MoveNext(); В В КонецЦикла; В В В В В В В В Возврат Данные; В В КонецФункции // ()
Функция ТЗ()
ТЗ = Новый ТаблицаЗначений; ТЗ.Колонки.Добавить("_Period", Новый ОписаниеТипов("Дата", , , В В В В В В В В В В Новый КвалификаторыДаты(ЧастиДаты.ДатаВремя))); ТЗ.Колонки.Добавить("os", Новый ОписаниеТипов("Строка", , В В В В В В В В В В Новый КвалификаторыСтроки(100, ДопустимаяДлина.Переменная)));