В данной статье рассмотрены примеры работы с пустыми значениями в запросах 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 ошибок начинающих разработчиков + файл с примерами кода!