ПолучитьДокумент на основании регистра

1. LOTR 17.04.19 12:34 Сейчас в теме
Привет всем, есть задача в проверку ввести ссылку на документ основания, но вот в чем дело, документ основания ЗаказаПокупателей это заказ EDI, единственно чем они связаны это значением из Регистра сведений, то есть значение подставляется автоматически из обработки и единственное где оно гуляет, это в регистре, как это связать не пойму
Смотрите, ЗаказПокупателя создается на основании заказаEDI обработкой, они никак не связаны, единственное чем связаны это вот этим значением из регистра, так как получить ссылку на текущий заказ покупателя и его заказEDI через это значение регистра.
Значение есть и в ЗаказеПокупателя, как свойство и в EDiЗаказе, в реквизите.

написал код но он ничего не выводит, пытался связать как то данные из регистра с данными и ссылкой заказаEDI
Процедура ПолучитьЗаказEDI(ЗаказEDI)
ЗаказEDI = Документы.ЗаказEDI.ПолучитьСсылку();
Запрос = Новый Запрос();
Запрос.Текст = "ВЫБРАТЬ
| ЗаказEDI.Ссылка КАК Ссылка,
| ЗначенияСвойствОбъектов.Объект,
| ЗначенияСвойствОбъектов.Свойство,
| ЗначенияСвойствОбъектов.Значение
|ИЗ
| Документ.ЗаказEDI КАК ЗаказEDI,
| РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
|ГДЕ
| ЗаказEDI.Ссылка = &ЗаказEDI
| И ЗначенияСвойствОбъектов.Свойство = &Свойство
| И ЗначенияСвойствОбъектов.Значение = &Значение
| И ЗначенияСвойствОбъектов.Объект = &ТекущийЗаказ";


Запрос.УстановитьПараметр("ЗаказEDI",ЗаказEDI.Ссылка);
Запрос.УстановитьПараметр("Свойство",планывидовхарактеристик.СвойстваОбъектов.НайтиПоНаименованию("НомерЗаказаМетро"));
Запрос.УстановитьПараметр("Значение",СОКРЛП(ЗаказEDI.НомерВСистемеПокупателя));
Запрос.УстановитьПараметр("ТекущийЗаказ",Ссылка);

ЗаказEDI = Запрос.Выполнить().Выбрать();
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. signum2009 1029 17.04.19 13:24 Сейчас в теме
ЗаказEDI = Запрос.Выполнить().Выбрать();


Это в выборку получаете, а не заказ.

Если хотите заказ получить, нужно так

Выборка = Запрос.Выполнить().Выбрать();
Выборка.Следующий();
ЗаказEDI = Выборка.Ссылка;


но этот код вам вернет хрень, т.к. запрос нужно переделывать
Да вообще весь код процедуры
4. LOTR 17.04.19 13:39 Сейчас в теме
(2)был бы признателен если бы вы помогли его передалать, вообщем поигрался в консоле, он выводит 1 заказ Покупателя = ТекущемуЗаказу значение из регистра = значению из свойста ЗаказаПокупателя и все заказыEDI, которые вообще есть, он не сопоставляет значение с заказом EDI
5. LOTR 17.04.19 15:08 Сейчас в теме
(2)В консоле вот такое дело
ВЫБРАТЬ
ЗаказEDI.Ссылка,
ЗаказEDI.НомерВСистемеПокупателя,
ЗначенияСвойствОбъектов.Объект,
ЗначенияСвойствОбъектов.Свойство,
ЗначенияСвойствОбъектов.Значение
ИЗ
Документ.ЗаказEDI КАК ЗаказEDI,
РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
ГДЕ
ЗначенияСвойствОбъектов.Свойство = &Свойство
И ЗначенияСвойствОбъектов.Объект = &ТекущийЗаказ
И ЗначенияСвойствОбъектов.Значение = ЗаказEDI.НомерВСистемеПокупателя
3. LOTR 17.04.19 13:36 Сейчас в теме
да согласен, ибо он выведет просто ерунду
Оставьте свое сообщение

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