|
Подбор количества в запросе | ☑ | ||
---|---|---|---|---|
0
Конфигуратор1с
04.02.13
✎
16:44
|
Есть у меня такая табличка Документ Номерстроки товар количество, и есть Товар Количество, где количество - сколько нужно подобрать. Задача в том что бы подобрать нужное количество товара вместе с строками и документами. то ест допустим имеем таблицу
Носки мужские 5 штук Носки детские 2 штуки И набор документов Расходная№1 Носки муж. №стр1 2шт Расходная№1 Носки муж. №стр2 2шт Расходная№2 Носки муж. №стр1 5шт Расходная№3 Носки муж. №стр1 3шт То на выход должно получится Расходная№1 Носки муж. №стр1 2шт Расходная№1 Носки муж. №стр2 2шт Расходная№2 Носки муж. №стр1 1шт |
|||
1
Конфигуратор1с
04.02.13
✎
16:44
|
(0) Смотрел в строну нарастающего итога, но тут нет даты, точнее она вместе с строками есть
|
|||
2
Kashemir
04.02.13
✎
16:45
|
(1) Ну так считай что номер строки это доп. детализации даты - дальше по образцу
|
|||
3
Kashemir
04.02.13
✎
16:46
|
+(2) Твоя полная дата = ДатаВремяДокумента+СсылкаНаДокумент+НомерСтрока
|
|||
4
Classic
04.02.13
✎
16:48
|
(0)
зачем тебе дата? |
|||
5
Конфигуратор1с
04.02.13
✎
16:49
|
(4) а как получить наростающий итог то?
(3) щас попробую.СПС |
|||
6
Fragster
гуру
04.02.13
✎
16:51
|
быстрее всего - через Итоги По (здесь поля определяющие партию и количество необходимое последней группировкой). И обход по группировкам, в детальных записях заполняешь что там тебе нужно
|
|||
7
Fragster
гуру
04.02.13
✎
16:51
|
FIFO неэффективно делать в запросе
|
|||
8
Classic
04.02.13
✎
16:52
|
(3)
В запросе он такое врядли осилит. Особенно ссылку не прибавит (5) Вторую табличку соединяешь с собой по ВЫБОР КОГДА Т1.Ссылка = Т2.Ссылка ТОГДА Т1.НомерСтроки >= Т2.НомерСтроки ИНАЧЕ Т1.Ссылка > Т2.Ссылка КОНЕЦ |
|||
9
Kashemir
04.02.13
✎
16:57
|
(5) ВЫБРАТЬ
НаборДокументов.Документ, НаборДокументов.Товар, НаборДокументов.Количество, НаборДокументов.НомерСтроки, СУММА(НаборДокументов1.Количество) КАК НарастающийИтог ИЗ НаборДокументов КАК НаборДокументов ЛЕВОЕ СОЕДИНЕНИЕ НаборДокументов КАК НаборДокументов1 ПО (НаборДокументов.Документ.Дата < НаборДокументов1.Документ.Дата ИЛИ НаборДокументов.Документ.Дата = НаборДокументов1.Документ.Дата И НаборДокументов.Документ < НаборДокументов1.Документ ИЛИ НаборДокументов.Документ.Дата = НаборДокументов1.Документ.Дата И НаборДокументов.Документ = НаборДокументов1.Документ И НаборДокументов.НомерСтроки <= НаборДокументов1.НомерСтроки) СГРУППИРОВАТЬ ПО НаборДокументов.Документ, НаборДокументов.Количество, НаборДокументов.Товар, НаборДокументов.НомерСтроки |
|||
10
Defender aka LINN
04.02.13
✎
16:59
|
(0) Вспотеешь такое в запросе делать, да и работать (если вообще будет) будет неторопливо что ппц.
|
|||
11
Конфигуратор1с
04.02.13
✎
16:59
|
(8) (9) спасибо большое
|
|||
12
Конфигуратор1с
04.02.13
✎
16:59
|
(10) так а если документов немного не больше 200 строк?
|
|||
13
Fragster
гуру
04.02.13
✎
17:00
|
(12) это сейчас немного
|
|||
14
Kashemir
04.02.13
✎
17:01
|
(12) Это лишь детализация измерения - 200 вариантов не так много. Индексация поможет
|
|||
15
Конфигуратор1с
04.02.13
✎
17:02
|
(13) Вот не надо пугать ребенка. Что, реально тормоза будут?
|
|||
16
Classic
04.02.13
✎
17:03
|
(15)
Сам подумай. Ты таблицу с N строками соединяешь грубо говоря с такой же. На выходе получаешь N*N строк |
|||
17
Kashemir
04.02.13
✎
17:03
|
(15) Да вряд ли у тебя там что-то настолько громадное еще и на слабом железе
|
|||
18
Kashemir
04.02.13
✎
17:04
|
(16) Не - на выходе он получает таблицу той же размерности. Вот соединений в процессе будет н*н.
|
|||
19
Classic
04.02.13
✎
17:04
|
(18)
Ну да. Я про промежуточный результат говорил |
|||
20
Classic
04.02.13
✎
17:04
|
Точнее N(N+1)/2 но это уже мелочи
|
|||
21
Конфигуратор1с
04.02.13
✎
17:05
|
(17) ну железо реально слабовато(надеюсь админ не читает эту ветку). На отчетах сервак падает периодически (
|
|||
22
Kashemir
04.02.13
✎
17:05
|
(21) Тут процессорные ресурсы прежде всего пострадают
|
|||
23
Kashemir
04.02.13
✎
17:05
|
На самом деле не зная какого размера твои таблицы сложно сказать, кроме того ты же наверняка какие-то отборы будет пользовать
|
|||
24
Kashemir
04.02.13
✎
17:07
|
Вобщем я такие конструкции довольно активно использую. Практически все написанные мной дебиторки работают на таких запросах, правда с ограничением на глубину вложенности - типа за круг набирает на месяц документов - распределяет - если не все набралось - запускается на новый круг дорасчета.
|
|||
25
Конфигуратор1с
04.02.13
✎
17:12
|
(24) спасибо. буду думать. Рисковать или нет. Но текст себе сохраню на будущее
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |