23.12.2020 Мороз Олег 24961
Пустая ссылка в запросе 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С:УПП 8
ООО «Пелигрин Матен»

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

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

– Оформление заказов покупателей;
– Взаиморасчеты с покупателями;
– О...

ООО “РТИТС”
ООО “РТИТС”

Отрасль:
Транспортные системы

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

Блок регламентированного кадрового учета и расчета заработной платы в 1С:ERP;...

ООО «ПраксисКом»
ООО «ПраксисКом»

Отрасль:
Аутсорсинг бухгалтерских услуг

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

- Взаиморасчеты с поставщиками
- Учет прихода ТМЦ
- Взаиморасчеты с поку...

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

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

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

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

МГК "Световые Технологии"
МГК "Световые Технологии"

Отрасль:

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

Специалисты "Кодерлайн" произвели доработки в системе 1С:ЕРП 2.4 с учетом треб...

ООО «ПЛЮСПЭЙ»
ООО «ПЛЮСПЭЙ»

Отрасль:
Организацией расчетов посредством электронных средств платежа

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

- Разработка подсистемы оперативного учета транзакций...

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

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

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

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

1с-РАРУС МСК
1с-РАРУС МСК

Отрасль:
Разработка компьютерного программного обеспечения

Внедренное типовое решение:

- Совместная работа по внедрению разных решений, в том числе «1С:ERP Управление...

ООО "НЦКТ"
ООО "НЦКТ"

Отрасль:
Профессиональные услуги

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

Взаиморасчеты с покупателями
Автоматизация бизнес-процессов...

ЗАО «Инвестгеосервис»
ЗАО «Инвестгеосервис»

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

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

Объемно-календарное планирование производства Автоматизация бизнес-проце...

ООО «Стейдж Энтертейнмент Россия»
ООО «Стейдж Энтертейнмент Россия»

Отрасль:
Театральная деятельность

Внедренное типовое решение:
Платформа 1С:Предприятие 8

Реализован процесс трансформации данных бухгалтерского учета по РСБУ в дан...

 ЗАО "Инвестгеосервис" -ДО
ЗАО «Инвестгеосервис»

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

Внедренное типовое решение:
1С:Документооборот КОРП

- Работа с файлами;
- Делопроизводство;
- Процессы движения документов; ...

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

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

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

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