SQL запросы (версия 3.xx)/1C: различия между версиями
Перейти к навигации
Перейти к поиску
Zombrine (обсуждение | вклад) |
Zombrine (обсуждение | вклад) |
||
Строка 14: | Строка 14: | ||
SQL-запрос на выборку контактов из Справочник.Контрагенты с номерами телефонов: | SQL-запрос на выборку контактов из Справочник.Контрагенты с номерами телефонов: | ||
ВЫБРАТЬ * ИЗ Справочник.Контрагенты | ВЫБРАТЬ * | ||
ИЗ Справочник.Контрагенты КАК Контрагенты | |||
(Телефон.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Телефон)) | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК Телефон | ||
(Телефон.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ТелефонКонтрагента)) | ПО (Телефон.Объект = Контрагенты.Ссылка) | ||
И (Телефон.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Телефон)) | |||
И (Телефон.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ТелефонКонтрагента)) | |||
ГДЕ Телефон.Представление ЕСТЬ НЕ null | ГДЕ Телефон.Представление ЕСТЬ НЕ null | ||
УПОРЯДОЧИТЬ ПО Контрагенты.Наименование | УПОРЯДОЧИТЬ ПО Контрагенты.Наименование | ||
SELECT * | |||
FROM Справочник.Контрагенты AS Контрагенты | |||
LEFT JOIN РегистрСведений.КонтактнаяИнформация AS Телефон | |||
ON (Телефон.Объект = Контрагенты.Ссылка) | |||
AND (Телефон.Тип = VALUE(Перечисление.ТипыКонтактнойИнформации.Телефон)) | |||
AND (Телефон.Вид = VALUE(Справочник.ВидыКонтактнойИнформации.ТелефонКонтрагента)) | |||
WHERE Телефон.Представление is not null | |||
ORDER BY Контрагенты.Наименование | |||
Ссылка на документацию по SQL-запросам http://its.1c.ru/db/metod8dev#browse:13:-1:1989:2004:2006:2019. | Ссылка на документацию по SQL-запросам http://its.1c.ru/db/metod8dev#browse:13:-1:1989:2004:2006:2019. |
Версия 09:24, 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-запрос на выборку контактов из Справочник.Контрагенты с номерами телефонов:
ВЫБРАТЬ * ИЗ Справочник.Контрагенты КАК Контрагенты ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК Телефон ПО (Телефон.Объект = Контрагенты.Ссылка) И (Телефон.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Телефон)) И (Телефон.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ТелефонКонтрагента)) ГДЕ Телефон.Представление ЕСТЬ НЕ null УПОРЯДОЧИТЬ ПО Контрагенты.Наименование
SELECT * FROM Справочник.Контрагенты AS Контрагенты LEFT JOIN РегистрСведений.КонтактнаяИнформация AS Телефон ON (Телефон.Объект = Контрагенты.Ссылка) AND (Телефон.Тип = VALUE(Перечисление.ТипыКонтактнойИнформации.Телефон)) AND (Телефон.Вид = VALUE(Справочник.ВидыКонтактнойИнформации.ТелефонКонтрагента)) WHERE Телефон.Представление is not null ORDER BY Контрагенты.Наименование
Ссылка на документацию по SQL-запросам http://its.1c.ru/db/metod8dev#browse:13:-1:1989:2004:2006:2019.
Назад к SQL-запросам