ADO. Работа с БД SQL. Внешний источник данных
1. Подключение к БД SQL через ADO 2. Выборка полученных данных 3. Использование прямого запроса для создания внешнего источника данных Шаблон: https://bitbucket.org/snippets/ayvas/8np994/sql-ado Сервер 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'); Функция Данные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, ДопустимаяДлина.Переменная))); Возврат ТЗ; КонецФункции; Моя разработка, будильник под андроид с функцией автоотключения от 3 секунд: https://play.google.com/store/apps/details?id=ru.ayvas.AlarmClockX Сам пользуюсь, реально очень хороший хостинг, рекомендую 👍👉https://ad.sprinthost.ru/clk?sl=YToyOntzOjM6InBpbiI7aTozMjY4NDtzOjY6InRhcmdldCI7czoxOiIvIjt9
1. Подключение к БД SQL через ADO 2. Выборка полученных данных 3. Использование прямого запроса для создания внешнего источника данных Шаблон: https://bitbucket.org/snippets/ayvas/8np994/sql-ado Сервер 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'); Функция Данные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, ДопустимаяДлина.Переменная))); Возврат ТЗ; КонецФункции; Моя разработка, будильник под андроид с функцией автоотключения от 3 секунд: https://play.google.com/store/apps/details?id=ru.ayvas.AlarmClockX Сам пользуюсь, реально очень хороший хостинг, рекомендую 👍👉https://ad.sprinthost.ru/clk?sl=YToyOntzOjM6InBpbiI7aTozMjY4NDtzOjY6InRhcmdldCI7czoxOiIvIjt9



