Top.Mail.Ru

Пустая ссылка, дата или строка в запросе 1С 8.3

В данной статье рассмотрены примеры работы с пустыми значениями в запросах 1С 8. Как указать пустую дату, пустую строку или пустую ссылку в языке запросов — читайте далее.

Содержание

🤯 Чувствуете, что застряли в основах 1С?

Информация в интернете кажется обрывочной, а на решение простых задач уходят часы? Вы не одиноки.

Специально для тех, кто хочет получить систему, а не хаос, я создал пошаговый видеокурс «Разработчик 1С с нуля». В нем мы с нуля, на практических примерах, строим фундамент, который позволит вам уверенно решать рабочие задачи и быстро расти в профессии.
Хватит топтаться на месте!

//любое пустое значение можно задать в виде параметра
//Ниже пример запроса, который возвращает пустые значения, переданные в качестве параметра
Запрос = Новый Запрос("ВЫБРАТЬ
|	&ПустаяДата КАК ПустаяДата,
|	&ПустаяСтрока КАК ПустаяСтрока,
|	&ПустаяСсылкаНаТовар КАК ПустаяСсылкаНаТовар,
|	&ПараметрNULL КАК ПараметрNULL,
|	&ПараметрНеопределено КАК ПараметрНеопределено");
Запрос.УстановитьПараметр("ПустаяДата", Дата(1,1,1));
Запрос.УстановитьПараметр("ПустаяСтрока", "");
Запрос.УстановитьПараметр("ПустаяСсылкаНаТовар", Справочники.Товары.ПустаяСсылка());
Запрос.УстановитьПараметр("ПараметрNULL", Null);
Запрос.УстановитьПараметр("ПараметрНеопределено", Неопределено);

Пустая дата в запросе 1С 8

//Кроме того, пустые значения можно задать непосредственно в запросе
//Для формирования пустой даты используется конструкция ДатаВремя(1,1,1)
//Пустая строка заключается в двойные кавычки
//Пустая ссылка устанавливается при помощи оператора Значение

// Запрос возвращает документы установки цен с пустой датой утверждения
Запрос = Новый Запрос("ВЫБРАТЬ
|	УстановкаЦен.Ссылка КАК Ссылка
|ИЗ
|	Документ.УстановкаЦен КАК УстановкаЦен
|ГДЕ
|	УстановкаЦен.ДатаУтверждения = ДАТАВРЕМЯ(1, 1, 1)");

Проверка на пустую строку в запросе 1С 8.3

//Запрос вернет все документы установки цен, где не заполнен комментарий
Запрос = Новый Запрос("ВЫБРАТЬ
|	УстановкаЦен.Ссылка КАК Ссылка
|ИЗ
|	Документ.УстановкаЦен КАК УстановкаЦен
|ГДЕ
|	УстановкаЦен.Комментарий = """"");

Пустая ссылка (Значение) в запросе 1С 8

Достаточно часто возникают задачи, когда нужно в запросе проверить значение на пустую ссылку. Такая проверка может понадобиться для любых ссылочных типов — документов, справочников, планов видов характеристик, перечислений и т.д. Выполнить такую проверку просто — для этого следует использовать оператор Значение с нужным параметром. В качестве параметра следует передавать пустую ссылку на тот тип объекта, который нам нужен. Например Справочник.Номенклатура.ПустаяСсылка или Документ.ЗаказПокупателя.ПустаяСсылка, и т.п. Ниже приведен пример кода:

// Запрос вернет все товары, у которых не заполнен основной поставщик
Запрос = Новый Запрос("ВЫБРАТЬ
|	Товары.Ссылка КАК Ссылка
|ИЗ
|	Справочник.Товары КАК Товары
|ГДЕ
|	Товары.ОсновнойПоставщик = Значение(Справочник.Контрагенты.ПустаяСсылка)");

Проверка на NULL в запросе

Значение типа NULL может появиться в результате использования соединений, либо при обращении к недоступным реквизитам (реквизиты групп у элементов и реквизиты элементов у групп будут иметь тип NULL)

//Запрос вернет все товары, по которым нет остатков на складе
Запрос = Новый Запрос("ВЫБРАТЬ
|	Товары.Ссылка КАК Ссылка
|ИЗ
|	Справочник.Товары КАК Товары
|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ОстаткиТоваров.Остатки КАК ОстаткиТоваровОстатки
|		ПО ОстаткиТоваровОстатки.Товар = Товары.Ссылка
|ГДЕ
|	ОстаткиТоваровОстатки.Товар ЕСТЬ NULL");

Сэкономь часы на дебаге 1C!

Скачай PDF с топ-11 ошибок начинающих разработчиков + файл с примерами кода!

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *