Как корректно передать в запрос, условие по ссылке

1. user1979322 27.11.23 11:58 Сейчас в теме
Всем привет имеется запрос который должен выгрузить оборудование по определенному цеху. Раньше цех был в виде строки и все работало. Пришлось изменить тип данных со строки на ссылку и все сломалось. Как починить
Запрос3=Новый Запрос ("ВЫБРАТЬ
| ЗаводскоеОборудование.Ссылка,
| ЗаводскоеОборудование.Сис_N,
| ЗаводскоеОборудование.ОКП,
| ЗаводскоеОборудование.ЦехСсылка,
| ЗаводскоеОборудование.Инвен_N,
| ЗаводскоеОборудование.Наименование,
| ЗаводскоеОборудование.Модель,
| ЗаводскоеОборудование.ГРСмех,
| ЗаводскоеОборудование.ГРСэл,
| ЗаводскоеОборудование.ГРСэл_ом,
| ЗаводскоеОборудование.ГРСгидр,
| ЗаводскоеОборудование.Г_выпу,
| ЗаводскоеОборудование.Г_ввода,
| ЗаводскоеОборудование.ДатаПоследнегоРемонта,
| ЗаводскоеОборудование.ВидПоследнегоРемонта,
| ЗаводскоеОборудование.КодРемонтногоЦикла,
| ЗаводскоеОборудование.МежОсмотровыйПериод,
| ЗаводскоеОборудование.ЧПУ,
| ЗаводскоеОборудование.ГруппаОборудованияСсылка
|ИЗ
| Справочник.ЗаводскоеОборудование КАК ЗаводскоеОборудование
|ГДЕ
| ЗаводскоеОборудование.ЦехСсылка = &ЦехСсылка");
Запрос3.УстановитьПараметр("ЦехСсылка",ЦехСсылка);
Результат3=Запрос3.Выполнить().Выбрать();
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Sashares 34 27.11.23 12:01 Сейчас в теме
(1)Ошибки нет.
Смотрите, что вы передаете в параметре в запрос, что заполнено в элементах справочника в этом поле.

После того как изменили тип со строки на ссылку в справочнике - вы заполнили этот реквизит?
3. user1979322 27.11.23 12:13 Сейчас в теме
(2) Как видите параметры передаются корректно, а Результат3 выдает ошибку чтения
Прикрепленные файлы:
4. Sashares 34 27.11.23 12:15 Сейчас в теме
(3)
а Результат3 выдает ошибку чтения

Это нормально. Смотреть Результат3 надо после выполнения Следующий(), то есть на следующей строке в вашем коде.

Как видите параметры передаются корректно

А данные в справочнике заполнены правильно?
5. user1979322 27.11.23 12:25 Сейчас в теме
(4) Да данные заполнены корректно, потому что если мне нужно вывести по всем цехам, то все корректно отрабатывает
Прикрепленные файлы:
6. Sashares 34 27.11.23 12:35 Сейчас в теме
(5)
Да данные заполнены корректно

Нет. Это как минимум означает то, что результат запроса пустой при отборе по цеху.

Значит данных в базе удовлетворяющих условию запроса - нет.

Возьмите консоль запроса и в пользовательском режиме выполните запрос к справочнику без отбора по цеху - и смотрите что в поле ЦехСсылка.
7. spacecraft 27.11.23 12:36 Сейчас в теме
(5) встаньте точкой остановки внутри цикла и проверяйте. Только там будут данные из выборки.
Если не остановилось, значит результат запроса пустой.
И в табло не стоит помещать Выборка.Следующий(). Он же там и выполняться будет.
10. user1979322 27.11.23 12:58 Сейчас в теме
(7) Параметры не корректно передаю, потому что запрос пустой, из-за того что поменял тип данных
8. Sashares 34 27.11.23 12:42 Сейчас в теме
(1)
Раньше цех был в виде строки и все работало. Пришлось изменить тип данных со строки на ссылку и все сломалось.


Я правильно понимаю, что раньше был реквизит Цех, тип строка.
Потом вы переименовали реквизит Цех в ЦехСсылка и изменили тип - реквизит стал составным с типами Строка и СправочникСсылка.Цех.

Так?
9. user1979322 27.11.23 12:50 Сейчас в теме
(8) Я поменял тип данных и название самого реквизита. Раньше был Цех и тип данных Строка, изменил на ЦехСсылка(что бы не запутаться) и тип данных СправочникСсылка.ЗаводскоеОборудование
11. Captain_Pan 27.11.23 14:08 Сейчас в теме
(9)
А справочник вообще перезаполнили ссылками на цеха? Есть хоть один элемент справочника с цехом из параметра?
12. Sashares 34 27.11.23 14:18 Сейчас в теме
(9)
Я поменял тип данных и название самого реквизита. Раньше был Цех и тип данных Строка, изменил на ЦехСсылка(что бы не запутаться) и тип данных СправочникСсылка.ЗаводскоеОборудование


То есть у реквизита ЦехСсылка теперь тип данных СправочникСсылка.ЗаводскоеОборудование? =)
Лучше покажите скрин)
13. yispepotri 27.11.23 16:18 Сейчас в теме
(9) Уверены что у цеха тип должен быть СправочникСсылка.ЗаводскоеОборудование?
просто в запросе у вас обращение тогда не совсем корректно выглядит
условие
Ссылка.(ЗаводскоеОборудование).ЦехСсылка(ЗаводскоеОборудование) = &ЦехСсылка

мое предположение что у цеха тип должен быть с другим справочником, выше об этом писали
14. yispepotri 27.11.23 16:20 Сейчас в теме
(13)соответственно в параметр вы передаете Справочник Цеха, а реквизиту ЦехСсылка вы задали другой тип
и естественно запрос не найдет записи, тк по условию типы уже не совпадают
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот