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