0
- 07.02.2014 - 16:43
|
БП 3.0.26.9 Есть запрос, кот. выбирает доки Реализация товаров, услуг, содержащих в табл. части "Агентские услуги" номенклатуру из массива МассивНоменклатуры. Результат- пустой запрос. Запрос = Новый Запрос ; Запрос.УстановитьПараметр("ДатаНачало",НачалоДня(О бъект.ДатаНачала)); Запрос.УстановитьПараметр("ДатаКонец",КонецДня(Объ ект.ДатаКонца)); Запрос.УстановитьПараметр("Организация",Объект.Орг анизация); Запрос.УстановитьПараметр("МассивНоменклатуры",Мас сивНоменклатуры); ТекстЗапроса = " |ВЫБРАТЬ | ДокументУслуги.Ссылка.Организация , | ДокументУслуги.Ссылка.Номер , | ДокументУслуги.Ссылка КАК Док, | ДокументУслуги.Ссылка.Дата , | ДокументУслуги.Ссылка.Контрагент КАК Контрагент, | ДокументУслуги.Ссылка.ДоговорКонтрагента КАК ДоговорКонтрагента, | ДокументУслуги.Ссылка.СуммаВключаетНДС, | ДокументУслуги.Номенклатура КАК Номенклатура, | ДокументУслуги.Сумма КАК Сумма, | ДокументУслуги.СуммаНДС КАК СуммаНДС |ИЗ | Документ.РеализацияТоваровУслуг.АгентскиеУслуги Как ДокументУслуги | |ГДЕ (ДокументУслуги.Ссылка.Дата >=&ДатаНачало И ДокументУслуги.Ссылка.Дата <=&ДатаКонец) |И |(ДокументУслуги.Ссылка.Организация = &Организация) |И |(ДокументУслуги.Номенклатура В (&МассивНоменклатуры)) |ИТОГИ |СУММА(Сумма), |СУММА(СуммаНДС) |ПО |Док |"; При этом запрос отрабатывает, если |(ДокументУслуги.Номенклатура В (&МассивНоменклатуры)) заменить на |(ДокументУслуги.Номенклатура =&Номенклатура ), т.е. если выборка по одному элементу, а не из массива или списка(список тоже пробовал). | |
1
- 07.02.2014 - 16:53
| Сказки..... | |
2
- 07.02.2014 - 17:01
| вот именно...Невероятное, но ....очевидное....(((9 | |
3
- 07.02.2014 - 17:07
| не верю | |
4
- 07.02.2014 - 17:26
|
дай угадаю... МассивНоменклатуры есть как реквизит объекта/формы | |
5
- 07.02.2014 - 17:39
|
(4)не угадал.... происхождение МассивНоменклатуры следующее: Объект.Услуги.Сортировать("Номенклатура"); ТЗ = Объект.Услуги.Выгрузить(,"Номенклатура");МассивНом енклатуры = ТЗ.ВыгрузитьКолонку("Номенклатура"); т.е. это массив. Услуги - это табличная часть объекта.Тип - СправочникСсылка.Номенклатура | |
6
- 07.02.2014 - 17:52
| и содержание этого массива - правильное ... я проверял | |
7
- 08.02.2014 - 12:46
| (5) а в форме какого Объекта выполняете запрос? | |
8
- 08.02.2014 - 13:51
|
(7)я не автор темы, но у меня была подобная ситуация как и в (0), не помню как я это решал, но решил. Тогда я делал какую то внешнюю обработку. По подробнее можно на тему "в форме какого Объекта выполняете запрос? " | |
9
- 08.02.2014 - 17:58
|
По подробнее можно на тему "в форме какого Объекта выполняете запрос? " - В форме какого документа или справочника. +(5)|(ДокументУслуги.Номенклатура =&Номенклатура ) - каким образом присваивали значение параметра Номенклатура? | |
10
- 08.02.2014 - 18:14
|
ГДЕ (ДокументУслуги.Ссылка.Дата >=&ДатаНачало И ДокументУслуги.Ссылка.Дата <=&ДатаКонец) <= с одной стороны убрать = | |
11
- 08.02.2014 - 18:32
| (9) примерно как и в (0) только у меня это был список значений | |
12
- 10.02.2014 - 12:25
|
(7) Объект - внешний отчет (9) параметр Номенклатура - реквизит объекта (10) не совсем понял, с какой стороны, что и для чего убрать ? (11) через список пробовал ранее тоже (не только с массивом)... результат - тот же...((( | |
13
- 10.02.2014 - 13:39
| ну значит, у тебя массив пустой | |
14
- 10.02.2014 - 13:43
|
консоль запросов в помощь! без итогов попробуй сумма(ДокументУслуги.Сумма) как суммаДока группировка док, номенклатура | |
15
- 10.02.2014 - 13:50
| (13) смотри (6) | |
16
- 10.02.2014 - 14:03
|
(4) Из предложенного кода нельзя сделать вывод, что МассивНоменклатуры - действительно массив. ТЗ.ВыгрузитьКолонку("Номенклатура") - массив. А вот то, что в МассивНоменклатуры тоже будет массив - не факт. Чтоб исключить попробуй без промежуточной переменной ... УстановитьПараметр("МассивНоменклатуры",Объект.Усл уги.Выгрузить(,"Номенклатура").ВыгрузитьКолонку("Н оменклатура")) + Сообщить(Количество(Объект.Услуги.Выгрузить(,"Номе нклатура").ВыгрузитьКолонку("Номенклатура"))) | |
17
- 10.02.2014 - 14:04
| что в этом массиве? элементы, или группы, или вперемешку? | |
18
- 10.02.2014 - 14:07
|
а вообще, запрос вполне работающий, при условии правильно заполненного массива и Организации так что, либо автор врёт, либо он не в состоянии проверить чего пихает в запрос | |
19
- 10.02.2014 - 14:31
|
(17) Объект.Услуги.Сортировать("Номенклатура"); ТЗ = Объект.Услуги.Выгрузить(,"Номенклатура"); МассивНоменклатуры = ТЗ.ВыгрузитьКолонку("Номенклатура"); т.е. это массив. Услуги - это табличная часть объекта.Тип - СправочникСсылка.Номенклатура Тип элементов массива - СправочникСсылка.Номенклатура | |
20
- 10.02.2014 - 14:43
| 19-роо > ещё раз: из твоих вводных следует что ТЗ.ВыгрузитьКолонку("Номенклатура") - массив, но из них не следует что МассивНоменклатуры тоже массив. Проверь. Каким угодно способом. ТипЗНЧ, в конце концов. Или табло. | |
21
- 10.02.2014 - 14:49
|
(20) 1.из Синт-помощника: Создает массив и копирует в него значения, содержащиеся в колонке таблицы значений. Доступность: Сервер, толстый клиент, внешнее соединение, мобильное приложение(сервер). Пример: ТаблицаЗначений.Свернуть("Номенклатура"); Запрос.УстановитьПараметр("МассивНоменклатуры", ТаблицаЗначений.ВыгрузитьКолонку("Номенклатура")); 2.Кроме того уже проверял через ТипЗнч - Массив | |
22
- 10.02.2014 - 14:55
|
вставь в свою нетленку перед выполнением запроса следующий цикл: Для Каждого ЭлементМассива Из МассивНоменклатуры Цикл Сообщить(СокрЛП(ЭлементМассива)) КонецЦикла; И скопипасти сюда результат выполнения цикла | |
23
- 10.02.2014 - 15:16
|
(2) Аренда Места Аренда недвижимого имущества Аренда рекламного места Водоотведение - эксплуатационные услуги | |
24
- 10.02.2014 - 15:22
| ну давай базу, посмотрим на такое чудо | |
25
- 10.02.2014 - 17:37
| ну где этот маленький врунишка? | |
26
- 10.02.2014 - 19:21
|
А если ДокументУслуги.Номенклатура заменить на ДокументУслуги.Номенклатура.Ссылка ? | |
27
- 11.02.2014 - 12:47
| ну что, с концами пропал этот лгунишка? | |
| Интернет-форум Краснодарского края и Краснодара |