|
v7: Проведение документа по регистрам в SQL базе - механизм | ☑ | ||
---|---|---|---|---|
0
Stella0608
07.06.13
✎
15:07
|
Ситуация такая.
Перепровожу старый документ в SQL базе, который делает движения по регистрам. Сама запись в таблички регистров при обычном, штатном проведении происходит практически моментально. Теперь сам вопрос - что происходит физически в базе при перепроведении? То, что меняются таблицы rg по регистрам - понятно. Интересуют таблицы остатков, а собственно ra. По идее, если допустим, провести старый документ, по регистрам произойдет пересчет и таблиц остатков. Так вот, если проводить документ штатными средствами, это происходит быстро. Если делать пересчет итогов по регистру с даты X, база зависает на продолжительное время. В чем собственно разница? |
|||
1
ДенисЧ
07.06.13
✎
15:09
|
d j,]`vf[ lfyys[///
|
|||
2
ДенисЧ
07.06.13
✎
15:09
|
в смысле в объёмах данных
|
|||
3
mehfk
07.06.13
✎
15:10
|
Потому что при перепроведении дока итоги пересчитываются только по измененным наборам измерений. При полном пересчете итогов - по всем.
|
|||
4
Stella0608
07.06.13
✎
15:11
|
Хмм... а можно как-нибудь понять, каким образом происходит пересчет с фильтром по изменениям?
Хочется повторить программно штатный пересчет при движении по документу. |
|||
5
toypaul
гуру
07.06.13
✎
15:12
|
(4) понять можно :)
|
|||
6
Stella0608
07.06.13
✎
15:14
|
Как? Перехватить sql запрос нет возможности - нет доступа к sql серверу.
|
|||
7
toypaul
гуру
07.06.13
✎
15:15
|
(6) вопрос из области как полететь на луну, если нет космического корабля.
|
|||
8
ДенисЧ
07.06.13
✎
15:16
|
||||
9
Stella0608
07.06.13
✎
15:19
|
1) Нет доступа на infostart для скачивания обработок;
2) Тем не менее, есть подобная обработка, которая на sql пересчитывает итоги. Однако, если сделать пересчет по выбранному регистру с даты документа, 1с висит минут 15. Если просто провести заново документ - моментально, хотя перезаписываются таблицы по всем регистрам. |
|||
10
Stella0608
07.06.13
✎
15:22
|
Скажем так, интересует какие именно действия 1с выполняет по таблицам RA при штатном проведении документа.
При пересчете итогов по регистру происходит delete с даты документа и последующий insert. |
|||
11
ДенисЧ
07.06.13
✎
15:23
|
(10) Лучше всего тебе получить доступ к скулю...
А ещё лучше - взять dds файл. Там есть тексты хранимых процедур |
|||
12
Mikeware
07.06.13
✎
15:24
|
(6) посмотри на хранимку, которую вызывает при проведении (они в DDS лежат)
(9) да вроде по-русски объяснили в (3).. |
|||
13
Stella0608
07.06.13
✎
15:25
|
К скулю нереально, политика... dds гляну, спасибо :).
|
|||
14
Mikeware
07.06.13
✎
15:26
|
(10) итоги удаляются хранимками ClearRecalcDocAct, новые пишутся WriteDocAct - с ближайшего верхнего итога до итогов точки актуальности
|
|||
15
mikecool
07.06.13
✎
15:27
|
какая красавица и программистка, просто чудо!
|
|||
16
ДенисЧ
07.06.13
✎
15:28
|
(15) вот я думаю... Что-то тут не чисто...
|
|||
17
Mikeware
07.06.13
✎
15:29
|
(16) а ты вспомни, кто в "понедельнике" была Стелла :-)))
|
|||
18
mehfk
07.06.13
✎
15:32
|
"К скулю нереально, политика"
Расшифровка 1Cv7.DBA с использованием 1C++ |
|||
19
Stella0608
07.06.13
✎
15:39
|
Логин-пароль к SQL выдрать не проблема, самого энтерпрайза нету. Только голый 1С.
|
|||
20
Mikeware
07.06.13
✎
15:40
|
(19) 1cQA
|
|||
21
varelchik
07.06.13
✎
16:41
|
(20)+100 раз уж 1С++ есть.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |