SQL запросы (версия 3.xx)/1C: различия между версиями

Материал из Call Office Wiki
Перейти к навигации Перейти к поиску
Строка 14: Строка 14:
SQL-запрос на выборку контактов из Справочник.Контрагенты с номерами телефонов:
SQL-запрос на выборку контактов из Справочник.Контрагенты с номерами телефонов:


ВЫБРАТЬ  
ВЫБРАТЬ * ИЗ Справочник.Контрагенты КАК Контрагенты ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК Телефон ПО (Телефон.Объект = Контрагенты.Ссылка) И (Телефон.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Телефон)) И (Телефон.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ТелефонКонтрагента))
                  Контрагенты.НаименованиеПолное,
where Телефон.Представление is not null УПОРЯДОЧИТЬ ПО Контрагенты.Наименование
                  Контрагенты.Ссылка КАК Контрагент,
                  ФактическийАдрес.Представление КАК ФактическийАдрес,
                  ЮридическийАдрес.Представление КАК ЮридическийАдрес,
                  Телефон.Представление КАК Телефон
                ИЗ Справочник.Контрагенты КАК Контрагенты  
                        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК ФактическийАдрес
                        ПО (ФактическийАдрес.Объект = Контрагенты.Ссылка)
                            И (ФактическийАдрес.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Адрес))
                          И (ФактическийАдрес.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ФактАдресКонтрагента)) 
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК ЮридическийАдрес
                        ПО (ЮридическийАдрес.Объект = Контрагенты.Ссылка)
                            И (ЮридическийАдрес.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Телефон))
                            И (ЮридическийАдрес.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ЮрАдресКонтрагента))
 
                        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК Телефон  
                        ПО (Телефон.Объект = Контрагенты.Ссылка)  
                            И (Телефон.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Телефон))  
                            И (Телефон.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ТелефонКонтрагента))  
                where Телефон.Представление is not null  
              УПОРЯДОЧИТЬ ПО Контрагенты.Наименование





Версия 05:38, 10 марта 2017

Для работы с данными 1С можно использовать стандартные SQL запросы, которые буду преобразованы в формат, воспринимаемый 1С.

Поддерживаются SQL - операторы:

  • select или ВЫБРАТЬ - выборка данных. В списке полей можно указать только * - все поля. Пример: ВЫБРАТЬ ПЕРВЫЕ 10 * ИЗ Справочник.Контрагенты
    • where или ГДЕ - позволяет указать условие выборки. Пример: select * from Справочник.Контрагенты where Наименование = "Тест"
  • insert - вставка данных, позволяет указать список полей и константы значений, выражения не поддерживаются. Пример: insert into Справочники.Контрагенты (Наименование) values ("Тест")
  • update - изменение данных, позволяет указать список изменяемых полей и условие отбора. Пример: update Справочники.Контрагенты set Комментарий = 5 where Наименование = 'Тест'
  • delete - изменение данных, позволяет указать список изменяемых полей и условие отбора. Пример: delete from Справочник.Контрагенты where Наименование = "Тест"

Помимо этого SQL-запросы к этому источнику данных могут содержать комментарии в виде /* */ и содержать несколько запросов разделенных символами // на новой строке.

Пример SQL-запросов

SQL-запрос на выборку контактов из Справочник.Контрагенты с номерами телефонов:

ВЫБРАТЬ * ИЗ Справочник.Контрагенты КАК Контрагенты ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК Телефон ПО (Телефон.Объект = Контрагенты.Ссылка) И (Телефон.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Телефон)) И (Телефон.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ТелефонКонтрагента)) where Телефон.Представление is not null УПОРЯДОЧИТЬ ПО Контрагенты.Наименование



Назад к SQL-запросам