Здравствуйте, создаю расширение для документа ЗаказКлиента при выполнение запроса в динамическом списке ПодборТаблицаНоменклатуры выдает ошибку {(37, 35)}: Не задано значение параметра "СкладОтбор"
И РаспределениеЗапасов.Склад = <<?>>&СкладОтбор, это из-за отсутствия каких-либо объектов в расширение?
И РаспределениеЗапасов.Склад = <<?>>&СкладОтбор, это из-за отсутствия каких-либо объектов в расширение?
Прикрепленные файлы:
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(6)
Ничего не понятно по твоим скриншотам. Ищи где устанавливаются параметры списка и добавляй свои. А то ты скопировал из одной формы в другую список с кодом и думаешь, что все заработает. Функция ПолучитьПараметрыПодбора возвращает куда-то результат, где он обрабатывается.
Ничего не понятно по твоим скриншотам. Ищи где устанавливаются параметры списка и добавляй свои. А то ты скопировал из одной формы в другую список с кодом и думаешь, что все заработает. Функция ПолучитьПараметрыПодбора возвращает куда-то результат, где он обрабатывается.
(7)
Кажется нашел
Сам запрос
ПолучитьПараметрыПодбора
Кажется нашел
Сам запрос
Функция ЗаполнитьПодборПоСкладам(ПараметрыЗапроса) Экспорт
ТаблицаРезультат = Новый Массив;
НеобходимоПоказатьНоменклатуру = Ложь;
Если ПараметрыЗапроса.СписокОтборНоменклатуры.Количество() = 0 Тогда
ПараметрыВозврата = Новый Структура;
ПараметрыВозврата.Вставить("НеобходимоПоказатьНоменклатуру",НеобходимоПоказатьНоменклатуру);
ПараметрыВозврата.Вставить("ТаблицаРезультат",ТаблицаРезультат);
Возврат ПараметрыВозврата;
КонецЕсли;
Если ЗначениеЗаполнено(ПараметрыЗапроса.ПравилоПродаж.ТекстЗапросаПоОстаткам) Тогда
ТекстЗапроса = ПараметрыЗапроса.ПравилоПродаж.ТекстЗапросаПоОстаткам;
ТекстЗапроса = СтрЗаменить(ТекстЗапроса,"|"," ");
Иначе
ТекстЗапроса =
"ВЫБРАТЬ РАЗРЕШЕННЫЕ
| РаспределениеЗапасов.Номенклатура КАК Номенклатура,
| РаспределениеЗапасов.Номенклатура.ЕдиницаИзмерения КАК Упаковка,
| РаспределениеЗапасов.Характеристика КАК Характеристика,
| РаспределениеЗапасов.Склад КАК Склад,
| СУММА(РаспределениеЗапасов.ВНаличии) КАК ВНаличии,
| СУММА(РаспределениеЗапасов.Свободно) КАК Свободно,
| МАКСИМУМ(ЦеныНоменклатуры.Цена) КАК Цена
|ИЗ
| РегистрСведений.РаспределениеЗапасов КАК РаспределениеЗапасов
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ВидЦены = &ВыбВидЦены) КАК ЦеныНоменклатуры
| ПО (ЦеныНоменклатуры.Номенклатура = РаспределениеЗапасов.Номенклатура)
| И (ЦеныНоменклатуры.Характеристика = РаспределениеЗапасов.Характеристика)
|ГДЕ
| РаспределениеЗапасов.Состояние = ЗНАЧЕНИЕ(Перечисление.РаспределениеЗапасовСостояния.ОстатокНаСкладе)
| И РаспределениеЗапасов.Номенклатура В(&ВыбНоменклатура)
|{ГДЕ
| РаспределениеЗапасов.Склад.* КАК Склад}
|
|СГРУППИРОВАТЬ ПО
| РаспределениеЗапасов.Номенклатура,
| РаспределениеЗапасов.Характеристика,
| РаспределениеЗапасов.Склад,
| РаспределениеЗапасов.Номенклатура.ЕдиницаИзмерения
|
|УПОРЯДОЧИТЬ ПО
| РаспределениеЗапасов.Склад.Наименование,
| Номенклатура,
| Характеристика";
КонецЕсли;
//ТекстЗапроса =
//"ВЫБРАТЬ
//| СпрНоменклатура.Ссылка КАК Номенклатура,
//| ХарактеристикиНоменклатуры.Ссылка КАК Характеристика,
//| УпаковкиНоменклатуры.Ссылка КАК Упаковка
//|ПОМЕСТИТЬ ТаблицаНоменклатура
//|ИЗ
//| Справочник.Номенклатура КАК СпрНоменклатура
//| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ХарактеристикиНоменклатуры КАК ХарактеристикиНоменклатуры
//| ПО (СпрНоменклатура.Ссылка = ХарактеристикиНоменклатуры.Владелец
//| ИЛИ СпрНоменклатура.ВидНоменклатуры = ХарактеристикиНоменклатуры.Владелец)
//| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.УпаковкиЕдиницыИзмерения КАК УпаковкиНоменклатуры
//| ПО (СпрНоменклатура.Ссылка = УпаковкиНоменклатуры.Владелец
//| ИЛИ СпрНоменклатура.ВидНоменклатуры = УпаковкиНоменклатуры.Владелец)
//|ГДЕ
//| СпрНоменклатура.Ссылка В(&ВыбНоменклатура)
//|;
//|
//|//////////////////////////////////////////////////////////// ////////////////////
//|ВЫБРАТЬ
//| ТаблицаНоменклатура.Номенклатура КАК Номенклатура,
//| ТаблицаНоменклатура.Характеристика КАК Характеристика,
//| ТаблицаНоменклатура.Упаковка КАК Упаковка,
//| МАКСИМУМ(ЦеныНоменклатуры.Цена) КАК Цена
//|ПОМЕСТИТЬ ТаблицаЦены
//|ИЗ
//| ТаблицаНоменклатура КАК ТаблицаНоменклатура
//| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(
//| ,
//| Номенклатура В (&ВыбНоменклатура)
//| И ВидЦены = &ВыбВидЦены) КАК ЦеныНоменклатуры
//| ПО ТаблицаНоменклатура.Номенклатура = ЦеныНоменклатуры.Номенклатура
//| И ТаблицаНоменклатура.Характеристика = ЦеныНоменклатуры.Характеристика
////| И ТаблицаНоменклатура.Упаковка = ЦеныНоменклатуры.Упаковка
//|
//|СГРУППИРОВАТЬ ПО
//| ТаблицаНоменклатура.Номенклатура,
//| ТаблицаНоменклатура.Характеристика,
//| ТаблицаНоменклатура.Упаковка
//|;
//|
//|//////////////////////////////////////////////////////////// ////////////////////
//|ВЫБРАТЬ
//| СвободныеОстатки.Номенклатура КАК Номенклатура,
//| СвободныеОстатки.Характеристика КАК Характеристика,
//| СвободныеОстатки.Склад КАК Склад,
//| СУММА(СвободныеОстатки.ВНаличииОстаток - СвободныеОстатки.ВРезервеСоСкладаОстаток - СвободныеОстатки.ВРезервеПодЗаказОстаток) КАК Свободно
//|ПОМЕСТИТЬ ТаблицаОстатки
//|ИЗ
//| РегистрНакопления.СвободныеОстатки.Остатки(, Номенклатура В (&ВыбНоменклатура) {(Склад).* КАК Склад}) КАК СвободныеОстатки
//|
//|СГРУППИРОВАТЬ ПО
//| СвободныеОстатки.Номенклатура,
//| СвободныеОстатки.Характеристика,
//| СвободныеОстатки.Склад
//|;
//|
//|//////////////////////////////////////////////////////////// ////////////////////
//|ВЫБРАТЬ РАЗРЕШЕННЫЕ
//| ТаблицаЦены.Номенклатура КАК Номенклатура,
//| ТаблицаЦены.Характеристика КАК Характеристика,
//| ТаблицаЦены.Упаковка КАК Упаковка,
//| ТаблицаОстатки.Склад КАК Склад,
//| ТаблицаОстатки.Свободно КАК Свободно,
//| ТаблицаЦены.Цена КАК Цена
//|ИЗ
//| ТаблицаЦены КАК ТаблицаЦены
//| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ТаблицаОстатки КАК ТаблицаОстатки
//| ПО ТаблицаЦены.Номенклатура = ТаблицаОстатки.Номенклатура
////| И ТаблицаЦены.Характеристика = ТаблицаОстатки.Характеристика
//|
//|УПОРЯДОЧИТЬ ПО
//| ТаблицаОстатки.Склад.Наименование,
//| Номенклатура,
//| Характеристика";
ПостроительОтчета = Новый ПостроительОтчета;
ПостроительОтчета.Текст = ТекстЗапроса;
ПараметрыПостроителя = ПостроительОтчета.Параметры;
ПараметрыПостроителя.Вставить("ВыбВидЦены", ПараметрыЗапроса.ВидЦен);
Отборы = ПостроительОтчета.Отбор;
СписокОтборСклады = Неопределено;
ПараметрыЗапроса.Свойство("СписокОтборСклады",СписокОтборСклады);
Если НЕ СписокОтборСклады = Неопределено Тогда
Если СписокОтборСклады.Количество() > 0 Тогда
Отборы.Добавить("Склад","Склад");
Отборы["Склад"].Использование = Истина;
Отборы["Склад"].ВидСравнения = ВидСравнения.ВСписке;
Отборы["Склад"].Значение = СписокОтборСклады;
КонецЕсли;
КонецЕсли;
СписокОтборНоменклатуры = ПараметрыЗапроса.СписокОтборНоменклатуры;
ПараметрыПостроителя.Вставить("ВыбНоменклатура",СписокОтборНоменклатуры);
Если СписокОтборНоменклатуры.Количество() > 1 Тогда
НеобходимоПоказатьНоменклатуру = Истина;
КонецЕсли;
ПостроительОтчета.Выполнить();
РезультатЗапроса = ПостроительОтчета.Результат;
ВыборкаСтрока = РезультатЗапроса.Выбрать();
Пока ВыборкаСтрока.Следующий() Цикл
НоваяСтрока = Новый Структура();
НоваяСтрока.Вставить("Склад",ВыборкаСтрока.Склад);
НоваяСтрока.Вставить("Номенклатура",ВыборкаСтрока.Номенклатура);
НоваяСтрока.Вставить("Характеристика",ВыборкаСтрока.Характеристика);
НоваяСтрока.Вставить("Упаковка",ВыборкаСтрока.Упаковка);
НоваяСтрока.Вставить("Свободно",ВыборкаСтрока.Свободно);
НоваяСтрока.Вставить("ВидЦены",ПараметрыЗапроса.ВидЦен);
Цена = ПолучитьЦенуПоВидуЦены(ВыборкаСтрока.Номенклатура, ВыборкаСтрока.Характеристика, ПараметрыЗапроса.ВидЦен, ПараметрыЗапроса.Валюта);
НоваяСтрока.Вставить("Цена",Цена);
ТаблицаРезультат.Добавить(НоваяСтрока);
КонецЦикла;
ПараметрыВозврата = Новый Структура;
ПараметрыВозврата.Вставить("НеобходимоПоказатьНоменклатуру",НеобходимоПоказатьНоменклатуру);
ПараметрыВозврата.Вставить("ТаблицаРезультат",ТаблицаРезультат);
Возврат ПараметрыВозврата;
КонецФункции
ПоказатьПрикрепленные файлы:
(9)
Ты что хочешь от нас? Скидываешь непонятные отрывки кода, возможно из разных форм и не связанные между собой и хочешь чтобы тебе на основании этих данных сказали, где ты не дописал код?
Если ты добавил новый параметр в запрос, то ищи где задавились уже существующие и там свой устанавливай.
Ты что хочешь от нас? Скидываешь непонятные отрывки кода, возможно из разных форм и не связанные между собой и хочешь чтобы тебе на основании этих данных сказали, где ты не дописал код?
Если ты добавил новый параметр в запрос, то ищи где задавились уже существующие и там свой устанавливай.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот