|
Как сделать возврат количество строк из функции Ø (mikecool 26.02.2021 16:58) | ☑ | ||
---|---|---|---|---|
0
Varlant1n
26.02.21
✎
16:33
|
Здравствуйте. Есть фунция с запросом. Надо вернуть количество строк.
Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ЗаказКлиентаТовары.Ссылка КАК Ссылка, | КОЛИЧЕСТВО(ЗаказКлиентаТовары.НомерСтроки) КАК Количество |ИЗ | Документ.ЗаказКлиента.Товары КАК ЗаказКлиентаТовары |ГДЕ | ЗаказКлиентаТовары.Ссылка = &Ссылка | |СГРУППИРОВАТЬ ПО | ЗаказКлиентаТовары.Ссылка"; Запрос.УстановитьПараметр("Ссылка", СсылкаНаДокумент); РезультатЗапроса = Запрос.Выполнить(); Выборка = РезультатЗапроса.Выбрать(); Возврат ????????????? Я пробовал Выборка.Количество. Но это не работает... Помогите, пожалуйста |
|||
1
ДенисЧ
26.02.21
✎
16:33
|
Выборка.Количество()
|
|||
2
Varlant1n
26.02.21
✎
16:34
|
(1) Не работает. Всегда возвращает 1
|
|||
3
Вафель
26.02.21
✎
16:35
|
(1) там будет 1
Нужно вначале |
|||
4
Масянька
26.02.21
✎
16:35
|
(2) Сначала проверку на не пустой результат запрос. А потом (1).
|
|||
5
Varlant1n
26.02.21
✎
16:36
|
(3) Если Выборка.Следующий() Тогда
Возврат Выборка.Количество(); КонецЕсли; ? |
|||
6
Вафель
26.02.21
✎
16:36
|
А вообще проще в тз выгружать
|
|||
7
Varlant1n
26.02.21
✎
16:36
|
(6) А что после вернуть?
|
|||
8
ДенисЧ
26.02.21
✎
16:37
|
Раз пошла такая пьянка...
Если Выборка.Следующий() Тогда Возврат Выборка.Количество Иначе Возврат 0; КонецЕсли; |
|||
9
Varlant1n
26.02.21
✎
16:40
|
(8) У меня после возврата есть операции сравнения на больше-меньше. Но когда я делаю Возврат Выборка.Количество
Мне выдает ошибку: Операции сравнения на больше-меньше допустимы только для значений совпадающих примитивных типов (Булево, Число, Строка, Дата) |
|||
10
Мимохожий Однако
26.02.21
✎
16:41
|
А можно и без запроса СсылкаНаДокумент.ПолучитьОбъект().Товары.Выгрузить().Количество()
|
|||
11
Вафель
26.02.21
✎
16:42
|
(10) однако у тебя половина методов лишние
|
|||
12
Varlant1n
26.02.21
✎
16:42
|
(10) Там нужен запрос, потому что есть пару условий
|
|||
13
Мимохожий Однако
26.02.21
✎
16:42
|
(11) Согласен )
|
|||
14
Вафель
26.02.21
✎
16:42
|
"ВЫБРАТЬ
| &Ссылка, | КОЛИЧЕСТВО(ЗаказКлиентаТовары.НомерСтроки) КАК Количество |ИЗ | Документ.ЗаказКлиента.Товары КАК ЗаказКлиентаТовары |ГДЕ | ЗаказКлиентаТовары.Ссылка = &Ссылка"; |
|||
15
Масянька
26.02.21
✎
16:43
|
Ну, вы, блин, даёте (С)
:))))))))) |
|||
16
Мимохожий Однако
26.02.21
✎
16:43
|
(12) Если очень хочется запросом, то добавь поле 1 и сложи значения этого поля.
|
|||
17
Varlant1n
26.02.21
✎
16:45
|
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ | &Ссылка, | КОЛИЧЕСТВО(ЗаказКлиентаТовары.НомерСтроки) КАК Количество |ИЗ | Документ.ЗаказКлиента.Товары КАК ЗаказКлиентаТовары |ГДЕ | ЗаказКлиентаТовары.Ссылка = &Ссылка"; Запрос.УстановитьПараметр("Ссылка", СсылкаНаДокумент); РезультатЗапроса = Запрос.Выполнить(); Выборка = РезультатЗапроса.Выбрать(); Если Выборка.Следующий() Тогда Возврат Выборка.Количество; КонецЕсли; написал так. все равно ошибка о том, что нельзя сравнивать |
|||
18
piter3
26.02.21
✎
16:46
|
А что такое СсылкаНаДокумент и есть ли в нем в этой ТЧ строки?
|
|||
19
Масянька
26.02.21
✎
16:46
|
До сотки дотянем? Пятница всё-таки...
|
|||
20
Varlant1n
26.02.21
✎
16:48
|
Все, получилось. Проблема была в самих сравнениях. Спасибо за помощь огромное. тема закрыта
|
|||
21
fisher
26.02.21
✎
16:48
|
(8) У меня такая стандартная конструкция:
Просто стараюсь везде где возможно избавляться от Иначе, чтобы потом лишними ветвлениями не нагружать свой уставший мозг. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |