SQL

Закладка недоступна в файловой версии.

На данной закладке мы можем выполнять запросы и и инструкции T-SQL к текущей информационной базе на сервере. Выполнение реализовано через объект ADODB.Command с передачей именованных параметров используемых в запросах, инструкциях.

Важно:
Разумеется текущая информационная база определяется по строке соединения указаной в настройках, допускается изменение информационной базы(подключения) в рамках одной СУБД. Однако не получиться выполнить  запрос к базе данных на сервере DB2 находясь в контексте базы данных MSSQL, поскольку специфика объекта ADODB.Command для каждой СУБД своя, для таких ухишрений рекомендуется использовать Шаблоны - Импорт ADO

Допускается использовать следующие типы параметров:
  • Строка;
  • Число;
  • Дата;
  • Булево;
  • Ссылка.

Или список значений всех вышеперечисленных типов.

Преобразование параметров будет выполнено с учетом специфики хранения данных 1С:Предприятие, нет никакой надобности выполнять преобразование явно (указания их в тексте запроса).

Примечание:
В типе Дата значение миллисекунд всегда будет равно 0, поэтому для сравнения можно использовать следующую конструкцию DateAdd(ms,DATEPART(ms,modified)*-1,modified) = @modified.
  

Пример:

ВЫБРАТЬ

    Номенклатура.Ссылка

ИЗ

    Справочник.Номенклатура КАК Номенклатура

ГДЕ

    Номенклатура.ЭтоГруппа = &ЭтоГруппа

    И Номенклатура.Родитель = &Родитель


SELECT

_Reference95_Q_000_T_001._IDRRef AS f_1

FROM

_Reference95 _Reference95_Q_000_T_001 WITH(NOLOCK)

WHERE

_Reference95_Q_000_T_001._Folder = @ЭтоГруппа 

AND _Reference95_Q_000_T_001._ParentIDRRef =@Родитель

Параметры будут автоматически преобразованы следующим образом:
Имя параметраЗначение 1СЗначение СУБД
ЭтоГруппаИстина0x01
Родительdfddf0ee-e133-11d8-937c-000d884f5d5e
0x937C000D884F5D5E11D8E133DFDDF0EE

Примечание.
Добавление символа @ перед параметром производится конструктором автоматически в момент выполнения запроса.


На рисунке

Пример изменения значения склада в регистре Товары организации.

Имена полей SQL получены из объектов баз данных

любое изменение измерений или ресурсов регистров накопления или бухгалтерии не средствами платформы, необходимо дополнять пересчетом итогов, поэтому в на закладке встроенный язык необходимо выполнить примерно следующий код:

РегистрыНакопления.ТоварыОрганизаций.ПересчитатьИтоги()


  

В контекстном меню поля текстового документа  доступны следующие действия:
  • Выполнить - Выполнить запрос к СУБД  без ограничения по времени. При выполнении по кнопке в командной панели запрос прервется через 30 секунд.
  • Режим временных таблиц (ВТ) - включает выключает режим временных таблиц(только для MSSQL 2000).
  • Сохранить - cохраняет текущий текст запроса в файл *.sql 
  • Открыть - загружает текст запроса из файла  *.sql  
  • Во встроенный язык - преобразует запрос в конструкцию на встроенном языке.
  • SQL Query Analyzer/ SQL Management Studio  - открывает запрос в выбранном приложении с указанными параметрами авторизации. 
Comments