23.12.2020 Мороз Олег 23321
Пустая ссылка в запросе 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С:CRM ПРОФ" в ООО «Торговый Дом Факел»
ООО «Торговый Дом Факел»

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

Внедренное типовое решение:
1С:CRM ПРОФ

- Управление отношениями с клиентами (CRM) ...

ООО ХДМ Рус
ООО ХДМ Рус

Отрасль:
Торговля

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

Управление цепочками поставок Оптовая торговля ...

ПАО «АрселорМиттал Кривой Рог»
ПАО «АрселорМиттал Кривой Рог»

Отрасль:
Металлургическая промышленность

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

- Кадровый учет
- Расчет зарплаты
- Регламентированная отчетность
- Уч...

Фармацевтическое предприятие «Оболенское»
АО «Фармацевтическое предприятие «Оболенское»

Отрасль:
Фармацевтическая промышленность

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

- Адаптации блоков/подсистем планирования продаж, закупок и казначейства. ...

Автоматизация системы учета продаж газа на базе «1С:ERP Управление предприятием 2.0»
ООО «Эйр Продактс Газ»

Отрасль:
Производство промышленных газов

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

- Расчеты с контрагентами;
- Производственные операции;
- Управление скла...

Автоматизация учета на базе ПП "1С:Комплексная автоматизация 8" в ЗАО "Крюгер-Гранд"
ЗАО «Крюгер-Гранд»

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

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

- Создание интерфейсов и наборов прав пользователей;
- Отражению временных ...

Внедрение ПП "1С:Управление небольшой фирмой 8 ПРОФ" в
ИП Любо Виктория Александровна (ООО «Рекреация»)

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

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

Осуществлены разработки:
– отчета по спецификации Заказа;
– загрузки сп...

Госкорпорация «Ростех»
Госкорпорация «Ростех»

Отрасль:
Производство, ТЭК >> Машиностроение, приборостроение

Внедренное типовое решение:
1С:Управление холдингом 1.3.

Специалисты «Кодерлайн» помогли разработать и внедрить автоматизированную...

ПЭК
ПЭК

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

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

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

ООО "ЛИКАРД" (Лукойл)
ООО "ЛИКАРД" (Лукойл)

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

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

Делопроизводство
• Учет и контроль исполнения поручений
Учет и хранение...

ООО «Солви Пак»
ООО «Солви Пак»

Отрасль:
Торговля. Производство печати на рулонных материалах

Внедренное типовое решение:
1С:CRM+1С:Комплексная автоматизация

Управление отношениями с клиентами (CRM) ...

ООО "ОМЗ"
ООО "ОМЗ"

Отрасль:
Металлургическая промышленность, металлообработка

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

Автоматизация бизнес-процессов...

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

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

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

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