В общем модуле "Заполнение документов" есть такой код:
ДисконтнаяКарта = Справочники.ИнформационныеКарты.НайтиПоРеквизиту("ВладелецКарты", ДокументОбъект.Контрагент);
ДокументОбъект.ДисконтнаяКарта = ДисконтнаяКарта;
По нему делается заполнение реквизита Дисконтная карта, но стали возникать ошибки, когда у покупателя более чем 1 карта, так как по такому коду находиться первая попавшаяся.
Решил этот код заменить на запрос и выбирать последнюю зарегистрированную карту по дате. Написал запрос:
Запр1 = новый запрос;
Запр1.Текст = "ВЫБРАТЬ ПЕРВЫЕ 1
| ИнформационныеКарты.Ссылка
|ИЗ
| Справочник.ИнформационныеКарты КАК ИнформационныеКарты
|ГДЕ
| ИнформационныеКарты.ВладелецКарты = &ВладелецКарты
| И ИнформационныеКарты.ПометкаУдаления = ЛОЖЬ
|
|УПОРЯДОЧИТЬ ПО
| ИнформационныеКарты.Дата УБЫВ";
запр1.УстановитьПараметр("ВладелецКарты", ДокументОбъект.контрагент);
ТЗ = Запр1.Выполнить().Выгрузить();
Карта = ТЗ.Итог("Ссылка");
ДокументОбъект.ДисконтнаяКарта = Карта;
Но он ничего не возвращает. Пишет карта = неопределено, хотя в консоле запросов код карты возвращается для одного и того же контрагента.
Подскажите что не так?
Задача стоит в выборке самой последней зарегистрированной карты и передача ее в документОбъект.