-
Notifications
You must be signed in to change notification settings - Fork 121
Open
Labels
type/FPFalse positiveFalse positive
Description
Диагностика
Версия
1.16.1
Описание ложного срабатывания диагностики
Вот снова поймал про метаданные, которые есть, но говорит нету - то о чем я писал в ТГ.
Замечу что вторую процедуру я добавил только что, а первая уже с полгода работает и исходя из скрина сам регистр сведений есть, но она ругается, что я обращаюсь к не существующем метаданным, конструктор само собой тоже отлично открывается.
Пример кода
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
// Функция - Значение дополнительного реквизита(ов) контрагента
//
// Параметры:
// Контрагент - СправочникСсылка.Контрагенты - Контрагент по которому ищем значение (обязательный)
// ИмяРеквизита - Строка - Название реквизита, значение которого нужно получить
//
// Возвращаемое значение:
// - ЛюбаяСсылка, Булево, Строка, Дата, Число
//
Функция ЗначениеДополнительногоРеквизита(Контрагент, ИмяРеквизита) Экспорт
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ ПЕРВЫЕ 1
| ВИ_ДополнительныеРеквизитыКлиентов.Значение КАК Значение
|ИЗ
| РегистрСведений.ВИ_ДополнительныеРеквизитыКлиентов КАК ВИ_ДополнительныеРеквизитыКлиентов
|ГДЕ
| ВИ_ДополнительныеРеквизитыКлиентов.Клиент = &Контрагент
| И ВИ_ДополнительныеРеквизитыКлиентов.ИмяРеквизита = &ИмяРеквизита";
Запрос.УстановитьПараметр("Контрагент", Контрагент);
Запрос.УстановитьПараметр("ИмяРеквизита", ИмяРеквизита);
РезультатЗапроса = Запрос.Выполнить();
Если РезультатЗапроса.Пустой() Тогда
Возврат "";
КонецЕсли;
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
ВыборкаДетальныеЗаписи.Следующий();
Возврат ВыборкаДетальныеЗаписи.Значение;
КонецФункции
// Функция - Клиент по дополнительному реквизиту (обратный поиск функции ЗначениеДополнительногоРеквизита())
//
// Параметры:
// ИмяРеквизита - Строка - Имя реквизита по которому ищем Клиента (обязательный)
// Значение - ЛюбаяСсылка, Булево, Строка, Дата, Число - Значение для нахождения конкретного Клиента
//
// Возвращаемое значение:
// - СправочникСсылка.Контрагенты
//
Функция КлиентПоДополнительномуРеквизиту(ИмяРеквизита, Значение) Экспорт
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ ПЕРВЫЕ 1
| ВИ_ДополнительныеРеквизитыКлиентов.Клиент КАК Клиент
|ИЗ
| РегистрСведений.ВИ_ДополнительныеРеквизитыКлиентов КАК ВИ_ДополнительныеРеквизитыКлиентов
|ГДЕ
| ВИ_ДополнительныеРеквизитыКлиентов.ИмяРеквизита = &ИмяРеквизита
| И ВИ_ДополнительныеРеквизитыКлиентов.Значение = &Значение";
Запрос.УстановитьПараметр("ИмяРеквизита", ИмяРеквизита);
Запрос.УстановитьПараметр("Значение", Значение);
РезультатЗапроса = Запрос.Выполнить();
Если РезультатЗапроса.Пустой() Тогда
Возврат "";
КонецЕсли;
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
ВыборкаДетальныеЗаписи.Следующий();
Возврат ВыборкаДетальныеЗаписи.Значение;
КонецФункции
#КонецЕсли
Скриншоты
Прикреплен скришотом
Дополнительная информация
И такое довольно часто всплывает, а понять почему не можем, чтобы объяснить рядовым разрабам.

Metadata
Metadata
Assignees
Labels
type/FPFalse positiveFalse positive