Имя: Пароль:
1C
1C 7.7
v7: регистр остатков (траблы с RG)
0 pavlik
 
28.06.13
23:05
конфа самописная, SQL
ТА=31.12.13.
Одно из измерений сабжа (партия) - элемент справочника
из вне делаю запросы к RG##  и наблюдаю историю -
сегодня завели партию, двинули регистр - в RG тут же являются записи по всем измерениям от начала месяца (ближайшего периода) вплоть до ТА.
В где руки править?
1 Эльниньо
 
28.06.13
23:20
А как ты хотел?
2 ДенисЧ
 
28.06.13
23:24
в ДНК
3 Эльниньо
 
28.06.13
23:25
И вообще - серьёзные люди ТА ставят на 31.12.99
4 pavlik
 
28.06.13
23:31
(1) Через какую Ж*** тогда работает НачОст()?
5 ДенисЧ
 
28.06.13
23:58
(4) именно через ту. Ибо ты не можешь объяснить, что тебе надо. Так что см (2)
6 КонецЦикла
 
28.06.13
23:58
(4) Благодаря этому он и работает быстрее :)
7 pavlik
 
29.06.13
00:31
(5) Могу - мне нужно получить начальный остаток на конкретный документ из внешней отчетной системы. Возможно, знаний не хватает, но
- есть понимание про RG и RA
- есть предположение, что такое поведение позволяет двигать регистры задним числом
- и все же - как поступить-то - ведь запрос типа
select sp123,sum(sp124)
from
(select sp123 f1, sp124 f2
 from rg111
 where period=begin
union all
select sp123,sp124*(1-2*debkred)
from ra111
where date_time_iddoc>=@from -- begin+'     0     0   '
    and date_time_iddoc<=@to -- позиция документа
) zz
group by sp123
возвращает лишние записи (из RG)
8 pavlik
 
29.06.13
00:33
(7) select sp123,sum(sp124)
читать как
select f1, sum(f2)
9 pavlik
 
29.06.13
00:34
Как-то @ по своему отрабатывает
10 Ёпрст
 
29.06.13
00:37
(4) берет предыдущий итог от даты начала периодичности итогов из RG + суммирует записи с RA с начала периодичности итогов  до ДатаЗапроса-1.
Усё.
11 Ёпрст
 
29.06.13
00:39
Да, если движения регистров пишутся не прямым апдейтом/инсертом в таблички, лучше ТА не сдвигать, а проводить все доки в потоке.
12 Ёпрст
 
29.06.13
00:40
И как бэ, нету у тебя понимания RG и RA, иначе ТА не стояла бы на 31.12.13
13 pavlik
 
29.06.13
00:46
(12) А что криминального в этом? (окромя распухания RG, как сейчас выяснилось)
14 FlashC
 
29.06.13
00:48
(12) я так думаю, что ТА не (0) поставил туда)
15 pavlik
 
29.06.13
00:51
(10) Дата начала периодичности итогов - не совсем понял, что это?
16 FlashC
 
29.06.13
00:51
(0) Вы вроде про регистр "остатков" обмолвились!? или это не имеет значения?
17 pavlik
 
29.06.13
00:53
(16) в целом,да.
18 pavlik
 
29.06.13
00:57
(15) Т.е в этом случае @begin_=dateadd(mm,-1,@begin)
19 pavlik
 
29.06.13
01:00
(18) а по RA делаем агрегат начиная с @from по @to из (7)
Так?
20 FlashC
 
29.06.13
01:02
(18) не знаю, я SQL в глаза не видел никогда - но что то подсказывает, что ТА Вас обижает - и остатки не правильно берете!
Жди ГУРУ - я в ПУБ подскажу... а Ваш вопрос не по мне...
21 pavlik
 
29.06.13
01:04
(18),(19) - бред. Все-же "Дата начала периодичности итогов" - как узнать?
22 FlashC
 
29.06.13
01:12
(21) я не знаю что там с SQL - но в файловом режиме (DBF) всегда было и всегда будет, что актуальность остатков по РО - всегда на ТА при быстром отборе... хотя могу ошибаться...
23 Ёпрст
 
29.06.13
01:19
(13)
1. при расчете останков, всегда ты в "заднем числе", т.е при получении останка будут участвовать 2 таблички RG и RA (заместо одной - RG в случае , если документ ТА толкает сам)
что не есть быстро
2. при записи в регистр, надо пересчитывать все итоги в RG позже позиции дока, что тоже не быстро.
24 Ёпрст
 
29.06.13
01:21
(21) открыть наконец предприятие и посмотреть в Операции-Управление оперативными итогами, какая периодичность хранения останков выставлена.
По-умолчанию - месяц.
25 Ёпрст
 
29.06.13
01:22
дата начала периодичности, соотв-но начало месяца, предыдущей - наччало предыдущего месяца и т.д.
26 pavlik
 
29.06.13
01:28
(24) ага, значит (18), (19) не бред.
Спасибо, Ёпрст, за развернутые ответы
27 Ёпрст
 
29.06.13
01:33
ознакомься
http://www.script-coding.com/v77tables.html#3.4.2.4.

ЗЫ: хотя для скуля, запрос к останкам мало кто пишет ручонкми, проще ВТ Останки взять из 1cpp,
ну и поля ручонками тоже никто не пишет, есть метапарсер имён
28 Ёпрст
 
29.06.13
01:33
29 pavlik
 
29.06.13
01:38
СПС
30 pavlik
 
29.06.13
01:42
(27) Я не пользую 1с++ запросы делаются из внешней отчетной системы
31 КонецЦикла
 
29.06.13
02:42
(13) Опухание происходит из-за незакрытости регистров. Тут через некоторое кол-во месяцев все равно таблица будет вся с таким периодом.
А вот так далеко оставленная ТА влияет на время проведения документов. Неужели не хватит держать на конец месяца?
32 КонецЦикла
 
29.06.13
02:44
(23) Может у него нет временного расчета. ТА можно передвигать раз в месяц на конец следующего и все.
33 FlashC
 
29.06.13
02:54
КонецЦикла (просто перетащил)  ну хоть Вы подскажите - вроде везде должно быть одинаково в получении остатков.... при быстром запросе к РО - всегда на ТА
34 FlashC
 
29.06.13
02:57
+(33) в (0) ТА=31.12.13! он уверенно говорит об этом!
35 КонецЦикла
 
29.06.13
03:03
(33) Время получения АКТУАЛЬНЫХ остатков, конечно, будет в пределах стат. погрешности отличаться

Просто при проведении 1С будет записывать изменения для каждого периода хранения остатков от момента дока до ТА. Вот что мне не понравилось.