|
Помогите с запросом | ☑ | ||
---|---|---|---|---|
0
rotting
12.07.12
✎
15:23
|
запросом получаю такую таблицу:
https://lh5.googleusercontent.com/lQ1uh_j-h2PRHvgvdCieLKX3gzvCb0qx5dL6NImc97uVMsJTVGa2sKSaXFkleB-c3C-bGm98SXk Как мне в запросе разбросать по ФИФО Товарный кредит по накладным? |
|||
1
rotting
12.07.12
✎
15:24
|
Товарный кредит общий по договору
|
|||
2
butterbean
12.07.12
✎
15:25
|
пропорционально суммам накладных??
|
|||
3
rotting
12.07.12
✎
15:26
|
нет, отнять от суммы накладных по очереди от товарного кредита
|
|||
4
rotting
12.07.12
✎
15:27
|
(3) отнять суммы накладных по очереди от товарного кредита
|
|||
5
andrewks
12.07.12
✎
15:28
|
ссылка мёртвая. задача непонятна
|
|||
6
rotting
12.07.12
✎
15:29
|
(5) странно, вот другая:
http://s017.radikal.ru/i444/1207/0b/3ce19b0cbfb6.jpg |
|||
7
andrewks
12.07.12
✎
15:31
|
та что надо сделать-то? желательно небольшой примерчик
|
|||
8
butterbean
12.07.12
✎
15:32
|
думаю извратиться как-то можно, но производительность отчета будет оставлять желать
|
|||
9
rotting
12.07.12
✎
15:36
|
(7) нужно как-то так
http://i080.radikal.ru/1207/14/6ec8b11dc2da.jpg |
|||
10
rotting
12.07.12
✎
15:37
|
(8) да клал я на производительность, раз пользователь хочет такой хитропопый отчет - пускай ждет
|
|||
11
rotting
12.07.12
✎
15:38
|
пока есть идея только выгрузить в ТЗ, потом подставить ее в запрос, а потом запихнуть это все в универсальный отчет, есть идеи по проще?
|
|||
12
rotting
12.07.12
✎
15:41
|
(11) хотя хрен я потом это все впихну в универсальный отчет, может можно как-то в СКД реализовать?
|
|||
13
sergeante
12.07.12
✎
15:41
|
(11) циклом по ТЗ, вполне себе решение.
|
|||
14
rotting
12.07.12
✎
15:41
|
(13) надо в СКД, этот отчет пользователь крутить еще хочет
|
|||
15
sergeante
12.07.12
✎
15:43
|
передай ТЗ в скд, поиском по форуму погугли как это сделать
|
|||
16
sergeante
12.07.12
✎
15:44
|
ВнешниеНаборыДанных = Новый Структура;
ВнешниеНаборыДанных.Вставить("Таб",Таб); СхемаКомпоновкиДанных = РеквизитФормыВЗначение("Отчет").ПолучитьМакет("СхемаКомпоновкиДанных"); Настройки = СхемаКомпоновкиДанных.НастройкиПоУмолчанию; Компоновщик1 = Новый КомпоновщикМакетаКомпоновкиДанных; МакетКомпоновки1 = Компоновщик1.Выполнить(СхемаКомпоновкиДанных,Настройки); ПроцессорКомпоновки1 = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновки1.Инициализировать(МакетКомпоновки1,ВнешниеНаборыДанных); ПроцессорВыводаРезультата1 = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ПроцессорВыводаРезультата1.УстановитьДокумент(ДокументРезультат); ПроцессорВыводаРезультата1.Вывести(ПроцессорКомпоновки1); |
|||
17
rotting
12.07.12
✎
15:44
|
(15) сча буду пробовать
|
|||
18
andrewks
12.07.12
✎
15:46
|
(9) вот схожая ситуация разбирается:
v8: Распределение сумм в запросе пропорционально результатам выборки немного допилить, и профит! |
|||
19
rotting
12.07.12
✎
16:04
|
(18) спасибо, что-то думаю получится
|
|||
20
rotting
12.07.12
✎
16:45
|
возник вопрос,
есть такой подзапрос ВЫБРАТЬ Данные1.Объект КАК Объект, ВЫРАЗИТЬ(Данные1.База КАК ЧИСЛО(15, 2)) КАК База, ВЫРАЗИТЬ(ЕСТЬNULL(СУММА(Данные2.База), 0) КАК ЧИСЛО(15, 2)) КАК БазаНакопленная, Данные1.ТоварныйКредит ПОМЕСТИТЬ ДанныеСНакоплением ИЗ Данные КАК Данные1 ЛЕВОЕ СОЕДИНЕНИЕ Данные КАК Данные2 ПО Данные1.Объект > Данные2.Объект что за соединение со знаком ">", как оно работает, не пойму никак((( |
|||
21
rotting
12.07.12
✎
16:48
|
ап ап ап
|
|||
22
andrewks
12.07.12
✎
16:50
|
(20) нумеруются строки таблицы
|
|||
23
andrewks
12.07.12
✎
16:50
|
+(22) упс, глаз замылился, не то
|
|||
24
LAAry
12.07.12
✎
16:52
|
(20) емнип, по внутреннему представлению.
|
|||
25
rotting
12.07.12
✎
16:53
|
(23) отож, еще есть варианты?
|
|||
26
andrewks
12.07.12
✎
16:58
|
(25) что-то типа сортировки.
представь себе, что табличку отсортировали, и теперь мы бежим по двум циклам: первый цикл от i = 1 до N, а dnjhjq j = 1 до i-1 |
|||
27
viktor_vv
12.07.12
✎
17:06
|
(26) Скорее это не сортировка, а совмещение данных из соседних строк в одной строку.
Добавляется колонка, в которой для текущей строки данные из следующей или предыдущей строки, в зависимости от знака соединения. Это кстати похоже на нумерацию в запросе. |
|||
28
LAAry
12.07.12
✎
17:09
|
Это похоже на нарастающий итог.
|
|||
29
andrewks
12.07.12
✎
17:13
|
(27) что есть "соседняя строка"? она не прост так соседняя, а соседняя строка в отсортированной таблице
|
|||
30
andrewks
12.07.12
✎
17:14
|
ибо без отношения упорядочения такой алгоритм не взлетит.
то бишь, если в таблице нельзя опереться на уникальность, то хрен вам он чё распределит |
|||
31
rotting
12.07.12
✎
17:19
|
(27) прикольно, я вот никак не могу отсортировать таблицу перед этим подзапросом, на выражение "упорядочить по" ни как не реагирует
|
|||
32
andrewks
12.07.12
✎
17:20
|
"упорядочить по" выполняется в конце
|
|||
33
andrewks
12.07.12
✎
17:21
|
(31) кстати, а зачем тебе её сортировать?
|
|||
34
viktor_vv
12.07.12
✎
17:25
|
(29) Ну таки да, в осортированной. Я имел ввиду, что сортировка не является конечным результатом этого запроса, а необходимым условием правильного выполнения, да, является.
|
|||
35
rotting
12.07.12
✎
17:32
|
(33) ну мне нужно накладные по ФИФО отсортировать, а потом сумму распределять
|
|||
36
rotting
12.07.12
✎
17:32
|
точнее не распределять, а отнимать по очереди
|
|||
37
SUA
12.07.12
✎
17:36
|
v8: СКД нарастающий итог
вычисление накопительного итога там есть, осталось еще одно вычисляемое выражение добавить |
|||
38
SUA
12.07.12
✎
17:36
|
а сортировка - средствами скд
|
|||
39
andrewks
12.07.12
✎
17:39
|
(35) просто опирайся в условии соединения на дата+уид
|
|||
40
viktor_vv
12.07.12
✎
17:46
|
Попробовал посмотреть что получается при таком соединении, таки в (27) фигню написал.
|
|||
41
andrewks
12.07.12
✎
17:51
|
(40) это нарастающий итог. нумерация делается по этому же принципу. поэтому я вначале с недогляду про нумерацию и написал
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |