Ссылка на документ в запросе

Версия для печатиPDF-версия

Доброе время суток.

По воле судьбы закинуло меня(всётаки)  программировать на(в) 1с и вся моя логика и опыт программирования(perl,php,javascript,pascal) никак не просекёт, чё ей от меня нужно

для передачи ссылки на документ в запрос!

Есть код в обработке:

 

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

ДокументИнвентаризации - это реквизит обработки или реквизит формы?

Процедура где объявлена: в модуле формы или в модуле объекта обработки?

И вообще, можете саму обработку выложить?

Отладчиком смотрели? Точно ссылка в запрос не передаётся? У вас в запросе внутреннее соединение с регистром сведений Штрихкоды. Может быть у номенклатуры штрихкоды не заведены?

Аватар пользователя clean_code

Все замечательно отрабатывает если из запроса убрать ИнвентаризацияТоваровНаСкладе.Ссылка = &Ссылка

Реквизит обработки

Саму ее прекрипил к комментарию

Прикреплённые файлы: 

Привяжите вызов процедуры заполнения таблицы к событию ПриИзменении элемента управления ВыборДокументаЭкспорт, а не к ОбработкаВыбора.

Аватар пользователя clean_code

Получается по иерархии событий системы параметр Ссылка просто передаться неуспевает?

Точно. При возникновении события ОбработкаВыбора выбранное значение ещё не помещено в реквизит.

Аватар пользователя clean_code

Ограмное человечячие СПАСИБО!

Рад помочь.

Аватар пользователя clean_code
1. В документе ИнвентаризацияТоваровНаСкладе есть ТЧ Товары с ссылочным реквизитом Номенклатура.
2. И есть обработка С ТЧ Товары с строковым реквизитом Номенклатура.
Ума не дам как мне найти точное соответствие строк(2.) в ссылочном реквизите(1.).
 
Подобная конструкция даёт пустой массив:
 ПараметрыОтбора = Новый Структура;
  ПараметрыОтбора.Вставить("Номенклатура", ТекущаяСтрока.Получить(1));
   МассивСтрок = ТЧ.НайтиСтроки(ПараметрыОтбора);

Непонятно, из какой ТЧ получаете номенклатура, а в какой ищете соответствие.

Аватар пользователя clean_code

Получаю из самописной, а соотвтствие ищу(искал) в ЧТ стандартного документа ИнвентаризацияНаСкладе.

Вопрос разрешился методом Справочники.Номенклатура.НайтиПоНаименованию();