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");

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

Информация в интернете кажется обрывочной, а на решение простых задач уходят часы? Вы не одиноки. Я запустил Клуб для 1С разработчиков Alexcode.PRO. Внутри - продвинутые статьи, видео, материалы для скачивания, закрытый чат для резидентов и возможность влиять на контент.

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

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