|
как без СКД соединить две таблицы - остатки и даты? по полю "Дата" ? | ☑ | ||
---|---|---|---|---|
0
Cerera
28.01.14
✎
10:34
|
Есть временная таблица, в которой дан список дат. Мне же нужно составить выборку остатков номенклатуры (ТоварыНаСкладе) на каждый день даты временной таблицы. Как при помощи СКД это реализовать я представляю, но мне нужно запросом. Подскажите идеи?
|
|||
1
Allexe
28.01.14
✎
10:37
|
(0) В остатках периодичность поставить?
|
|||
2
Господин ПЖ
28.01.14
✎
10:37
|
>Как при помощи СКД это реализовать я представляю, но мне нужно запросом
в основе скд обычно тоже запрос - сюрприз! |
|||
3
Cerera
28.01.14
✎
10:39
|
(2)ну вы же умничаете сейчас. я имел ввиду, там в СКД можно реализовать это во время соединения наборов, передав период в качестве параметра. Но мне нужно на случай, если СКД нет и не будет.
(1)Периодичность выдается в остатках только на те дни, когда были движения товара. |
|||
4
Wobland
28.01.14
✎
10:42
|
"срез последних на каждую дату" неплохо гуглится
|
|||
5
Господин ПЖ
28.01.14
✎
10:42
|
(3) ахинею несешь какую-то...
пашо, завязывай а ЗОЖ и силой земли в огурце |
|||
6
Allexe
28.01.14
✎
10:42
|
(3) Ну сделай в обходе запроса
|
|||
7
Господин ПЖ
28.01.14
✎
10:44
|
>Периодичность выдается в остатках только на те дни, когда были движения товара.
какая "периодичность" у остатка? он или есть или нет на дату. |
|||
8
Господин ПЖ
28.01.14
✎
10:45
|
периодичность в ОстаткиИОбороты умеет показывать кол-во по границам периодов, но паше сие неведомо...
|
|||
9
Cerera
28.01.14
✎
10:57
|
(7)(8)что ты имеешь ввиду?
ВЫБРАТЬ НАЧАЛОПЕРИОДА(ТоварыНаСкладахОстаткиИОбороты.Период, ДЕНЬ) КАК Период, ТоварыНаСкладахОстаткиИОбороты.Номенклатура, СУММА(ТоварыНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток) КАК КоличествоНачальныйОстаток ПОМЕСТИТЬ Остатки ИЗ РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты( &ВыбНачПериода, &ВыбКонПериода, День, ДвиженияИГраницыПериода, Склад = &Склад И Номенклатура = &Номенклатура) КАК ТоварыНаСкладахОстаткиИОбороты СГРУППИРОВАТЬ ПО ТоварыНаСкладахОстаткиИОбороты.Номенклатура, НАЧАЛОПЕРИОДА(ТоварыНаСкладахОстаткиИОбороты.Период, ДЕНЬ) |
|||
10
Cerera
28.01.14
✎
11:07
|
(4)это хорошо. я не так запрос составлял и находил только вариант с CRL/
|
|||
11
МихаилМ
28.01.14
✎
11:38
|
(0)
Болезнь одинесника detected - путать получение данных с представлением. потом будете темы создавать "типа почему все тормозит" v8: Какими инструментами выявляются причины зависаний и замедления работы 1с? |
|||
12
ptiz
28.01.14
✎
11:42
|
(8) Умеет, но весьма своеобразно.
Если указана периодичность, например, ДЕНЬ, а движений в какой-то день не было, и этот день - не начало и не конец общего периода вирт.таблицы, то результата с этим днем вирт.таблица не вернет. |
|||
13
Cerera
28.01.14
✎
11:44
|
(12)верно. я не ожидал от (8)такого невежества.
|
|||
14
Cerera
28.01.14
✎
11:45
|
(11)что вы можете предложить ?
|
|||
15
МихаилМ
28.01.14
✎
12:02
|
(14)
предлагаю таблицу остатков дополнить на клиенте сроками дублями. |
|||
16
YAGolova
28.01.14
✎
12:07
|
(14) Я делал такое. Смысл тот же что и срез последних на каждую дату в запросе. Я делаю это соединением таблицы остаткииобороты (движения и границы, период=день) с самой собой, где период 1 таблицы < периода 2 таблицы и потом гуппирую рерпую таблицу с получением минимума периода по второй таблице, тем самым получая таблицу периодом постоянного остатка по каждой номенклатуре:
начпериода конпериода ном1 5 1.01 5.01 ном1 6 6.01 8.01 ном2 3 1.01 10.01 и т.д А потом таблицу дней соединяем где дата между начпериода и конпериода. Как то так))) |
|||
17
YAGolova
28.01.14
✎
12:08
|
ну и остаток по каждой номенклатуре конечно в таблице периодов
|
|||
18
Господин ПЖ
28.01.14
✎
12:12
|
(13) да, я слажал тут.
|
|||
19
YAGolova
28.01.14
✎
12:13
|
ВЫБРАТЬ
ТоварыНаСкладахОстаткиИОбороты.Номенклатура КАК Номенклатура, ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток КАК Остаток, ТоварыНаСкладахОстаткиИОбороты.Период КАК Период, ТоварыНаСкладахОстаткиИОбороты.Склад КАК Склад ПОМЕСТИТЬ ВТОстатки ИЗ РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(&ДатаНач, &ДатаКон, День, ДвиженияИГраницыПериода, ) КАК ТоварыНаСкладахОстаткиИОбороты ИНДЕКСИРОВАТЬ ПО Номенклатура, Период, Склад ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВТОстатки.Номенклатура, ВТОстатки.Период КАК НачалоПериода, МИНИМУМ(ДОБАВИТЬКДАТЕ(ЕСТЬNULL(ВТОстаткиВперед.Период, &ДатаКон), СЕКУНДА, -1)) КАК КонецПериода, ВТОстатки.Остаток, ВТОстатки.Склад ПОМЕСТИТЬ ВТОстаткиПериодами ИЗ ВТОстатки КАК ВТОстатки ЛЕВОЕ СОЕДИНЕНИЕ ВТОстатки КАК ВТОстаткиВперед ПО ВТОстатки.Номенклатура = ВТОстаткиВперед.Номенклатура И ВТОстатки.Период < ВТОстаткиВперед.Период И ВТОстатки.Склад = ВТОстаткиВперед.Склад СГРУППИРОВАТЬ ПО ВТОстатки.Номенклатура, ВТОстатки.Период, ВТОстатки.Остаток, ВТОстатки.Склад |
|||
20
Господин ПЖ
28.01.14
✎
12:13
|
(16) +1
|
|||
21
Cerera
28.01.14
✎
12:16
|
(18)ладно, бывает. просто все привыкли считать, что я не знаю элементарных вещей, а на самом деле я неплохой специалист по провинциальным меркам.
|
|||
22
Cerera
28.01.14
✎
12:30
|
(19)у меня совсем другие цифры выходят после выполнения вашего запроса. Они сильно отличаются от реальных значений, словно они суммируются у вас по нескольку раз для каждой номенклатуры.
|
|||
23
YAGolova
28.01.14
✎
12:33
|
(22) Точно у тебя остаток стоит в "СГРУППИРОВАТЬ ПО" или ты суммируешь по нему? Что потом делаешь с полученной таблицей?
|
|||
24
Cerera
28.01.14
✎
12:53
|
(23)простите меня. я соврал. всё правильно у вас.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |