|
v7: Тупая задача подскажите с запросом | ☑ | ||
---|---|---|---|---|
0
GStiv
05.07.12
✎
23:18
|
В ТИС нужно сделать отчет по продажам со следующим группировками
в строках контрагенты из выбранной папки, в колонках номенклатура из списка значений на форме в значениях количество В запросе добавляю Для а=1 по списокТоваров.РазмерСписка() Цикл номенклатура[а]=СписокТоваров.ПолучитьЗначение(а); ТекстЗапроса =ТекстЗапроса +" |Функция КоличествоСумма"+а+" = Сумма(Количество) когда(Номенклатура=Номенклатура"+а+");"; КонецЦикла; В итоге в тексте запроса вроде все верно Функция КоличествоСумма1 = Сумма(Количество) когда(Номенклатура=Номенклатура1); Функция КоличествоСумма2 = Сумма(Количество) когда(Номенклатура=Номенклатура2); Функция КоличествоСумма3 = Сумма(Количество) когда(Номенклатура=Номенклатура3); а при выполнении НОМЕНКЛАТУРА1<<?>> Переменная не определена (НОМЕНКЛАТУРА1) итд, как правильнее разрулить выполнение |
|||
1
МихаилМ
05.07.12
✎
23:34
|
|Функция КоличествоСумма"+а+" = Сумма(Количество) когда(Номенклатура=Номенклатура["+а+"]);";
|
|||
2
GStiv
05.07.12
✎
23:42
|
НОменклатура<<?>>[1]
Переменная не определенна как массив Хотя в начале идет определение Перем Номенклатура[10] |
|||
3
Cthulhu
05.07.12
✎
23:44
|
анахрена столько функций в текст запроса пхать?.. не боисся, что он от удовольствия лопнет?..
|
|||
4
Cthulhu
05.07.12
✎
23:44
|
ЗЫ: и - нет, это не задача тупая.
|
|||
5
nicxxx
05.07.12
✎
23:47
|
номенклатура[1] и номенклатура1 - это пять:)))
|
|||
6
GStiv
05.07.12
✎
23:51
|
Я так порнимаю быстрее будет сделать через обход по группировкам по первой ВевестиСекцию, по второй присоеденить секцию.
(5) не смейтесь с 6 утра на работе с 17 лопатой выкапывал канализацию (строю дом) как то уже с трудом соображаю |
|||
7
nicxxx
06.07.12
✎
00:02
|
короче массив не прокатит, надо перед запросом определить столько переменных Номенклатура1, Номенклатура2.... и т.д., сколько требуется использовать в запросе. а вобще какой то странный алгоритм, не проще ли написать Функция КоличествоСумма=Сумма(Количество), а затем одно условие на весь список товаров: Условие (Номенклатура в СписокТоваров); ?
|
|||
8
GStiv
06.07.12
✎
00:06
|
так уже и сделал плюс добавил группировки и в процессе обхода по группировкам через присоеденитьСекцию, а что бы было по очереди "все вошедшие в запрос"
|
|||
9
Азат
06.07.12
✎
00:07
|
имха - лучше просто сделать запрос и потом его в ТЗ упихать так, как надо...
Сделать ТЗ вида: Контрагент Кол_1 Кол_2 .... Кол_Н делаешь тупа запрос, который возвращает тебе группировки Контрагент, Номенклатуру и функцию - КоличествоСумма... |
|||
10
Азат
06.07.12
✎
00:07
|
идешь по запросу, добавляешь строки в ТЗ, а потом ее хоп и сворачиваешь и получаешь профит
|
|||
11
nicxxx
06.07.12
✎
00:09
|
зачем этот огород? автор уже сделал как проще. а по твоему способу еще будет тратиться время на заполнение таблицы
|
|||
12
Азат
06.07.12
✎
00:10
|
завтра добавится номенклатурная позиция и пи????да рулю?:
|
|||
13
nicxxx
06.07.12
✎
00:14
|
Все вошедшие в запрос и ПрисоединитьСекцию как раз такие ситуации нормально отрабатывают
|
|||
14
GStiv
06.07.12
✎
00:15
|
(12) почему так считаете в запросе
Группировка Номенклатура без групп все ВошедшиеВЗапрос; в итоге если позиция не проходила у контрагента там пустая строка в функции и таблица получается структурированная не зависиммо от количества номенклатуры в условии (список значений). |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |