Не отрабатывает запрос !!! БП 3.0.26.9 Есть запрос, кот. выбирает доки Реализация товаров, услуг, содержащих в табл. части "Агентские услуги" номенклатуру из массива МассивНоменклатуры. Результат- пустой запрос. Запрос = Новый Запрос ; Запрос.УстановитьПараметр("ДатаНачало",НачалоДня(Объект.ДатаНачала)); Запрос.УстановитьПараметр("ДатаКонец",КонецДня(Объект.ДатаКонца)); Запрос.УстановитьПараметр("Организация",Объект.Организация); Запрос.УстановитьПараметр("МассивНоменклатуры",МассивНоменклатуры); ТекстЗапроса = " |ВЫБРАТЬ | ДокументУслуги.Ссылка.Организация , | ДокументУслуги.Ссылка.Номер , | ДокументУслуги.Ссылка КАК Док, | ДокументУслуги.Ссылка.Дата , | ДокументУслуги.Ссылка.Контрагент КАК Контрагент, | ДокументУслуги.Ссылка.ДоговорКонтрагента КАК ДоговорКонтрагента, | ДокументУслуги.Ссылка.СуммаВключаетНДС, | ДокументУслуги.Номенклатура КАК Номенклатура, | ДокументУслуги.Сумма КАК Сумма, | ДокументУслуги.СуммаНДС КАК СуммаНДС |ИЗ | Документ.РеализацияТоваровУслуг.АгентскиеУслуги Как ДокументУслуги | |ГДЕ (ДокументУслуги.Ссылка.Дата >=&ДатаНачало И ДокументУслуги.Ссылка.Дата <=&ДатаКонец) |И |(ДокументУслуги.Ссылка.Организация = &Организация) |И |(ДокументУслуги.Номенклатура В (&МассивНоменклатуры)) |ИТОГИ |СУММА(Сумма), |СУММА(СуммаНДС) |ПО |Док |"; При этом запрос отрабатывает, если |(ДокументУслуги.Номенклатура В (&МассивНоменклатуры)) заменить на |(ДокументУслуги.Номенклатура =&Номенклатура ), т.е. если выборка по одному элементу, а не из массива или списка(список тоже пробовал). |
Сказки..... |
вот именно...Невероятное, но ....очевидное....(((9 |
не верю |
дай угадаю... МассивНоменклатуры есть как реквизит объекта/формы |
(4)не угадал.... происхождение МассивНоменклатуры следующее: Объект.Услуги.Сортировать("Номенклатура"); ТЗ = Объект.Услуги.Выгрузить(,"Номенклатура");МассивНоменклатуры = ТЗ.ВыгрузитьКолонку("Номенклатура"); т.е. это массив. Услуги - это табличная часть объекта.Тип - СправочникСсылка.Номенклатура |
и содержание этого массива - правильное ... я проверял |
(5) а в форме какого Объекта выполняете запрос? |
(7)я не автор темы, но у меня была подобная ситуация как и в (0), не помню как я это решал, но решил. Тогда я делал какую то внешнюю обработку. По подробнее можно на тему "в форме какого Объекта выполняете запрос? " |
По подробнее можно на тему "в форме какого Объекта выполняете запрос? " - В форме какого документа или справочника. +(5)|(ДокументУслуги.Номенклатура =&Номенклатура ) - каким образом присваивали значение параметра Номенклатура? |
ГДЕ (ДокументУслуги.Ссылка.Дата >=&ДатаНачало И ДокументУслуги.Ссылка.Дата <=&ДатаКонец) <= с одной стороны убрать = |
(9) примерно как и в (0) только у меня это был список значений |
(7) Объект - внешний отчет (9) параметр Номенклатура - реквизит объекта (10) не совсем понял, с какой стороны, что и для чего убрать ? (11) через список пробовал ранее тоже (не только с массивом)... результат - тот же...((( |
ну значит, у тебя массив пустой |
консоль запросов в помощь! без итогов попробуй сумма(ДокументУслуги.Сумма) как суммаДока группировка док, номенклатура |
(13) смотри (6) |
(4) Из предложенного кода нельзя сделать вывод, что МассивНоменклатуры - действительно массив. ТЗ.ВыгрузитьКолонку("Номенклатура") - массив. А вот то, что в МассивНоменклатуры тоже будет массив - не факт. Чтоб исключить попробуй без промежуточной переменной ... УстановитьПараметр("МассивНоменклатуры",Объект.Услуги.Выгрузить(,"Номенклатура").ВыгрузитьКолонку("Номенклатура")) + Сообщить(Количество(Объект.Услуги.Выгрузить(,"Номенклатура").ВыгрузитьКолонку("Номенклатура"))) |
[quote=роо;34047158] и содержание этого массива - правильное ... я проверял [/quote] что в этом массиве? элементы, или группы, или вперемешку? |
а вообще, запрос вполне работающий, при условии правильно заполненного массива и Организации так что, либо автор врёт, либо он не в состоянии проверить чего пихает в запрос |
(17) Объект.Услуги.Сортировать("Номенклатура"); ТЗ = Объект.Услуги.Выгрузить(,"Номенклатура"); МассивНоменклатуры = ТЗ.ВыгрузитьКолонку("Номенклатура"); т.е. это массив. Услуги - это табличная часть объекта.Тип - СправочникСсылка.Номенклатура Тип элементов массива - СправочникСсылка.Номенклатура |
19-роо > ещё раз: из твоих вводных следует что ТЗ.ВыгрузитьКолонку("Номенклатура") - массив, но из них не следует что МассивНоменклатуры тоже массив. Проверь. Каким угодно способом. ТипЗНЧ, в конце концов. Или табло. |
(20) 1.из Синт-помощника: Создает массив и копирует в него значения, содержащиеся в колонке таблицы значений. Доступность: Сервер, толстый клиент, внешнее соединение, мобильное приложение(сервер). Пример: ТаблицаЗначений.Свернуть("Номенклатура"); Запрос.УстановитьПараметр("МассивНоменклатуры", ТаблицаЗначений.ВыгрузитьКолонку("Номенклатура")); 2.Кроме того уже проверял через ТипЗнч - Массив |
вставь в свою нетленку перед выполнением запроса следующий цикл: [b]Для Каждого ЭлементМассива Из МассивНоменклатуры Цикл Сообщить(СокрЛП(ЭлементМассива)) КонецЦикла;[/b] И скопипасти сюда результат выполнения цикла |
(2) Аренда Места Аренда недвижимого имущества Аренда рекламного места Водоотведение - эксплуатационные услуги |
ну давай базу, посмотрим на такое чудо |
ну где этот маленький врунишка? |
А если ДокументУслуги.Номенклатура заменить на ДокументУслуги.Номенклатура.Ссылка ? |
ну что, с концами пропал этот лгунишка? |
Текущее время: 06:59. Часовой пояс GMT +3. |