23.12.2020 Мороз Олег 23052
Пустая ссылка в запросе 1С

Содержание:

1.       Обращение к пустой ссылке напрямую в запросе

2.       Обращение к пустой ссылке через параметр запроса 1С 8.3


При выборке данных из базы данных 1С:Предприятие при помощи запросов мы сталкиваемся с моментами, когда не получаем никаких данных – в выборе необходимое значение приравнивается к “NULL”.


Почему мы получаем такое значение? Всего лишь потому, что при соединении нескольких таблиц базы данных 1С:Предприятие, в присоединяемой таблице не было данных по необходимой нам связи. Или при объединении нескольких запросов при помощи конструкций «Объединить» или «Объединить все» не найдено соответствие полей.


Чтобы не было таких ситуаций необходимо ввести в пользовательскую привычку исправлять такие моменты. Однако если уж случилось, ситуацию нужно исправлять post factum. В сегодняшнем случае рассмотрим, как работать с пустой ссылкой в запросе 1С.


В запросе 1С пустая ссылка может использоваться в любой части запроса: поле, условие.


Обратится к пустой ссылке, мы можем несколькими способами:

1.      Напрямую в запросе программы;

2.      Через параметр запроса 1С 8.3.  


1.   Обращение к пустой ссылке напрямую в запросе


В первом случае в нужном нам месте мы пишем процедуру «Значение(Справочник.Номенклатура.ПустаяСсылка)». Для примера я использовал справочник Номенклатура, но таким же образом можно использовать любой объект ссылочного типа. Прошу обратить внимание, что в запросе, когда мы обращаемся к справочнику Номенклатура или документу, мы пишем «Справочник» или «Документ» в единственном числе.


Большинство разработчиков (да и я сам) склоняются именно к такому способу обозначения пустой ссылки в запросе.  


2.   Обращение к пустой ссылке через параметр запроса 1С 8.3


Для обращения через параметр запроса необходимо добавить в условие или поле параметр «&ВашПараметрПустойСсылки», а в наименовании параметра – Ваше наименование. При выполнении запроса необходимо добавить установку этого параметра. Иначе запрос не сможет быть выполнен и будет выдаваться ошибка.


Например, мы связываем две таблицы, в одной из которых у нас есть поле ссылочного типа – получаем “NULL”. Есть 2 способа обхода этого.


Первый способ – при помощи конструкции ЕСТЬNULL(НашеЗначение,НовоеЗначение). В «НашеЗначение» записываем то поле, которое мы будем получать из второй таблицы, и, если будет выполняться условие функции, значение автоматически будет получено из второго элемента функции.


Второй способ несколько проще технически, однако кода потребуется больше. Это конструкция «ВЫБОР КОГДА ТОГДА ИНАЧЕ КОНЕЦ». Плюс этой процедуры заключается в том, что можно прописать строгие правила выполнения установки значения пустой ссылки.


Пустая ссылка в запросе 1С не так страшна, как может показаться с первого взгляда. Для того чтобы правильно использовать все конструкции в запросах, необходимо изучить язык запросов и, конечно же, практиковаться в его применении.


Специалист компании ООО «Кодерлайн»

Мороз Олег Игоревич

Наши проекты

ООО «ТейблТок»
ООО «ТейблТок»

Отрасль:
Общественное питание и рестораны

Внедренное типовое решение:
1С:Управление торговлей

Оформление заказов поставщикам Оформление заказов покупателей Управление ...

Внедрение ПП "1С:Управление небольшой фирмой 8 ПРОФ" в ООО «Шокостайл»
ООО «Шокостайл»

Отрасль:
Производство

Внедренное типовое решение:
1С:Управление небольшой фирмой 8 ПРОФ

Управление продажами, логистикой и транспортом (SFM, WMS, TMS):
- Планирование п...

ОАО «Интер РАО – Электрогенерация»
ОАО «Интер РАО – Электрогенерация»

Отрасль:
Электрогенерация

Внедренное типовое решение:
1С:Управление производственным предприятием

Для работы 2500 пользователей в 9 часовых поясах организована территориально-...

Группа компаний АО «Киномакс»
Группа компаний АО «Киномакс»

Отрасль:
Культура, шоу-бизнес

Внедренное типовое решение:
БИТ.Финанс

- Разработка Положения о Казначействе группы компаний
- Разработка Положе...

ПЭК
ПЭК

Отрасль:
Грузоперевозки

Внедренное типовое решение:
«1С: Управление торговлей»

- Создание прототипа SRM-системы на базе «1С: Управление торговлей»
- Автомат...

ОАО «Фаберлик»
ОАО «Фаберлик»

Отрасль:

Внедренное типовое решение:
1С:ERP. Управление производственным предприятием 2

- Регламентированный учет;
- Кадровый учет;...

Компания IBS
Компания IBS

Отрасль:
Системный интегратор

Внедренное типовое решение:
1С:Управление производственным предприятием

- Интеграция систем – АСУП и «1С:Управление производственным предприятием»...

АО «Вертолетная сервисная компания»
АО «Вертолетная сервисная компания»

Отрасль:
МТО эксплуатации вертолетной техники

Внедренное типовое решение:
1С:Бухгалтерия КОРП

- Консультации по сложным вопросам налогового и бухгалтерского учета;
- Ра...

Автоматизация производственного планирования нефтесервисной компании на базе 1С:ЕРП 2.0
ЗАО «Инвестгеосервис»

Отрасль:
Нефтесервис

Внедренное типовое решение:
1С:ERP Управление предприятием 2.0

- Блок планирования проектов (процессы объемно-календарного планирования пр...

Группа компаний ТМ «Дружба народов»
Группа компаний ТМ «Дружба народов»

Отрасль:
Пищевая промышленность

Внедренное типовое решение:
1С:ERP Управление предприятием 2.1

- Переход на новый релиз 2.1 программы «1С:ERP Управление предприятием»
- Разра...

ФГУП «Почта России»
ФГУП «Почта России»

Отрасль:
Почта, доставка

Внедренное типовое решение:
1С:Управление торговлей

- Оформление заказов поставщикам
- Оформление заказов покупателей
- Упр...

Автоматизации учета затрат и расчета себестоимости с использованием конфигурации «Koderline: Управление проектами строительства скважин»
ООО «Буровая сервисная компания «ГРАНД»

Отрасль:
Нефтесервис

Внедренное типовое решение:
«Koderline: Управление проектами строительства скважин»

Учет и планирование:
- собственную разработку компании «Кодерлайн» – конф...

Наши соц. сети

Telegram-канал «Koderline 1С» Группа в Вконтакте «Кодерлайн КОРП» Rutube

Остались вопросы - обратитесь к нам!

Впишите свои Имя и Телефон, чтобы мы ответили на все интересующие Вас вопросы.
ФИО*
E-mail*
Телефон*
Сообщение