Как 1С хранит итоги в регистре остатков #432878


#0 by РЕК
Всем, здравствуйте! Пишу прямой запрос, к регистру остатков... Не могу понять где 1С хранит остатки за предыдущий месяц. На начало следующего или того же самого, предыдущего? Например сейчас 21.09.09(сентябрь!), а надо получить остаток на произвольную дату, например на 10.08.09(август!). Как это сделать? Вроде бы, логично было бы получить остаток на 01.08, а потом движения с 01.08 по 10.08. Но здесь . пишут по другому, почему так - не пойму. Получение итогов и остатков на произвольную дату. Вот выдержка: Поскольку итоги в нашем примере хранятся только на конец месяца или ТА, то необходимо выполнить 2 запроса, первый – для получения итога на начало периода (из примера 1), второй – для получения оборотов (из примера 2). SELECT    TMP.Товар As Товар,    (    SELECT        TabRegOst.SP20 As Товар,        TabRegOst.SP21 As НачОст,        0 As Приход,        0 As Расход    FROM        RG13 As TabRegOst        TabReg.SP20 As Товар,        0 As НачОст,    FROM        RA13 As TabReg    INNER JOIN _1SJOURN As TabJ !!!!!!!! где @PERIODR – переменная типа DateTime, условие по которой служит для получения результата запроса на период, меньший на 1 от рассчитываемого. В нашем случае для получения остатка на 20.02.2006 этой переменной необходимо присвоить значения начала января, т.е. «01.01.2006» (так как в случае условия на 01.02.2006 получим остаток или на конец февраля, или на точку актуальности) !!!!!!!! Помогите разобраться, пожалуйста!
#1 by ТелепатБот
#2 by Ёпрст
итоги хранятся на начало даты периодичности хранения остатков.. всё собственно.
#3 by РЕК
То есть за август итоги можно получить, если указать дату 01.08.09 ?
#4 by Ёпрст
да.
#5 by Ёпрст
+4 если периодичность - месяц.
#6 by Mikeware
Так что непонятно? вроде все русским по-белому....
#7 by Mikeware
не "за август", а "на конец августа" (либо, если ТА в августе - то на ТА)
#8 by dk
а зачем тебе прямые запросы, ставь 1с++ или ToySQL
#9 by РЕК
"на конец августа" храниться в начале августа?  запутано как то:) я думал, что итоги за предыдущий месяц храняться на начало следующего. То есть на конец августа - 01.09(!).09. Так вроде бы логичнее)) (2,4)Понял, спасибо! С помощью 1С++ и пишу прямой запрос
#10 by ДенисЧ
А если 1с++ используешь, то бери виртуальную таблицу и не парься...
#11 by dk
извращенец ))) +1
#12 by РЕК
С виртуальной как раз и разбираюсь
#13 by Ёпрст
вот смотри, наглядное пособие..писал одному дятлу, почему у него регистр "не закрывается"... слева - "не закрытый" регистр, справа - "нормальный"...
#14 by ДенисЧ
А зачем тебе тогда знать, как что хранится?
#15 by РЕК
+В виртуальной немного лишнего есть
#16 by РЕК
я в сообщение вывел, то что выбирается для виртуальной и с этим пытаюсь разобраться
#17 by Mikeware
Знания лишними не бывают. Зная структуру хранения, тем же 1с++ пользуешься осознанно...
#18 by РЕК
мне например в результирующую выводить приходы и расходы не надо, а ВТ выводит
#19 by РЕК
и данные нужны по 1му измерению,а не по всем
#20 by РЕК
спасибо, счас гляну!
#21 by dk
угу есть у меня в конфе процентов 80 "осознанных" отчетов на прямых запросах. Меня просто бесит, если их исправлять приходится.
#22 by ДенисЧ
Кто выводит? РегистрОстатки выводит?
#23 by Mikeware
В виртуальных не то, что "немного лишнего" - там много чего не хватает.
#24 by Sadovnikov
Дык изучи структруру данных и перестанет тебя это бесить моментально.
#25 by РЕК
РегистрОстатки не подходит потому что условие по документу надо вставить
#26 by РЕК
потому приходиться брать РегистрОстаткиОбороты
#27 by ДенисЧ
Остаток по документу движения?
#28 by РЕК
По некоторым документам, нужно получить приход в результирующую выборку
#29 by РЕК
могу просто текст запроса сбросить
#30 by Злопчинский
Епрст! а можно готовый отчетик поиметь для заюзанья? а то надысь как раз аналогичная задачка встала... ?????
#31 by РЕК
#32 by dk
какой запрос проще поправить? )))
#33 by vde69
1с довольно быстро пишет в регистры, оптимизировать запись - бредовая идея, оптимизируй чтение и блокировки, а запись оставь типовой
#34 by Ёпрст
в плане чего?
#35 by ДенисЧ
Как раз запись движений документа лучше оптимизировать. Ибо она пересчитывает итоги после каждой записи. ЛУчше записать, потом разом всё пересчитать...
#36 by РЕК
Спасибо всем!
#37 by Mikeware
Не факт, что будет быстрее. Но возникают две проблемы: поллержание актуальности временного расчета (если таковой используется :-), что вряд ли ). И вторая - повторное получение сделанных движений для вызова хранимки.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С