|
Табличное поле типа Отбор как "прикрутить" к запросу к справочнику Номенклатура | ☑ | ||
---|---|---|---|---|
0
neo1109
25.01.17
✎
14:28
|
Форма обработка.
На ней расположено табличное поле с типом отбор. программно добавляю 1 элемент отбора: "Номенклатура"/условие/правое значение теперь по тому условию и правому значению, которое выбрал пользователь хочу отобрать из справочника Номенклатура. Думал через ПостроительЗапроса. Примерно так: ПостроительЗ = Новый ПостроительЗапроса; ПостроительЗ.Параметры.Вставить("Дата",Неопределено); ПостроительЗ.Параметры.Вставить("ТипЦен",ТипЦен); ПостроительЗ.Параметры.Вставить("ТипЦенОптовые",ТипЦенОптовая); ПостроительЗ.Текст = "ВЫБРАТЬ | СпрНоменклатура.Ссылка КАК Номенклатура, | СпрНоменклатура.БазоваяЕдиницаИзмерения КАК ЕдиницаИзмерения, | МАКСИМУМ(ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена, 0)) КАК Цена, | МАКСИМУМ(ЕСТЬNULL(ЦеныНоменклатурыСрезПоследнихОптовые.Цена, 0)) КАК ОптоваяЦена, | СУММА(ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0)) КАК Остаток |ИЗ | Справочник.Номенклатура КАК СпрНоменклатура | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Дата, ТипЦен = &ТипЦенОптовые) КАК ЦеныНоменклатурыСрезПоследнихОптовые | ПО СпрНоменклатура.Ссылка = ЦеныНоменклатурыСрезПоследнихОптовые.Номенклатура | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Дата, ТипЦен = &ТипЦен) КАК ЦеныНоменклатурыСрезПоследних | ПО (ЦеныНоменклатурыСрезПоследних.Номенклатура = СпрНоменклатура.Ссылка) | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки | ПО ТоварыНаСкладахОстатки.Номенклатура = СпрНоменклатура.Ссылка |ГДЕ | СпрНоменклатура.ЭтоГруппа = ЛОЖЬ |{ГДЕ | СпрНоменклатура.Ссылка КАК НоменклатураСсылка} | |СГРУППИРОВАТЬ ПО | СпрНоменклатура.Ссылка |АВТОУПОРЯДОЧИВАНИЕ"; ПостроительЗ.Выполнить(); Для каждого ЭлОтбора Из ОтборНоменклатуры Цикл НовыйОтбор = ПостроительЗ.Отбор.Добавить("НоменклатураСсылка", "Номенклатура"); ЗаполнитьЗначенияСвойств(НовыйОтбор, ЭлОтбора); КонецЦикла; //Товары.Загрузить(ПостроительЗ.Результат.Выгрузить()); Товары.Очистить(); ТЗРезультат = ПостроительЗ.Результат.Выгрузить(); Для каждого СтрокаТЗ Из ТЗРезультат Цикл Если ЗаполнятьТолькоВНаличии И СтрокаТЗ.Остаток <= 0 Тогда Продолжить; КонецЕсли; НоваяСтрока = Товары.Добавить(); ЗаполнитьЗначенияСвойств(НоваяСтрока, СтрокаТЗ); КонецЦикла; Но при выборе вида сравнения "В группе из списка" вываливается ошибка "{ВнешняяОбработка.ВыгрузкаНаСайт.Форма.Форма.Форма(432)}: Ошибка при вызове метода контекста (ЗаполнитьЗначенияСвойств) ЗаполнитьЗначенияСвойств(НовыйОтбор, ЭлОтбора); по причине: Ошибка установки значения свойства 'Значение' по причине: Неверный тип значения" С построителем практически не работал, может кто подскажет, как быть? |
|||
1
neo1109
25.01.17
✎
14:29
|
Получается не работает во всех случаях когда правое значение НЕ типа СправочникСсылка.Номенклатура...
|
|||
2
neo1109
25.01.17
✎
14:44
|
Вопрос закрыт.
Получилось так: ... ЗаполнитьЗначенияСвойств(НовыйОтбор, ЭлОтбора,"ВидСравнения"); ЗаполнитьЗначенияСвойств(НовыйОтбор, ЭлОтбора,,"ВидСравнения"); ... |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |