|
v7: Как удалять документы при свертке самописной конфигурации | ☑ | ||
---|---|---|---|---|
0
zelenprog
19.09.12
✎
00:00
|
Объясните плиз как правильно удалять документы при свертке?
Смотрел как делается свертка в типовой ТиС... Там как я понял документы не удаляются, а только помечаются на удаление. А удалять их надо потом вручную? Если да, то для чего так сделано? Для контроля ссылок? Ведь если бы было сделано непосредственное удаление, то это работало бы быстрее как мне кажется. |
|||
1
Азат
19.09.12
✎
00:06
|
УстановитьТАНА('01.01.2000');
К = 0; НачатьТранзакцию Док.ВыбратьДокументы(); Пока Док.ПолучитьДокумент() =1 Цикл Док.Удалить(); К = К + 1; Если К % 400 = 0 Тогда ЗафиксироватьТранзакцию(); НачатьТранзакцию(); КонецЕсли; КонецЦикла; ЗафиксироватьТранзакцию(); |
|||
2
Злопчинский
19.09.12
✎
00:09
|
(0) штатная схема учета НА РЕГИСТРАХ состоит в том, что данныее - они в регистрах, то есть типа неонка ЛПЧ унутре там/
. Соответсвенно при свертке базы - снимаем текущие остатки по регистру В РАЗРЕЗЕ ВСЕХ ИЗМЕРЕНИЙ. Делаем документы ввода этих остатков как входящих остатков. . документы помечаем на удаление нафиг. удаляем. те доки что остались - значит висят как ссылки в измерениях регистров. Например, измерение КредДокумент в регистре Покупатели типовой ТиС - служит только для того чтобы при снятии отчета по просрачке из измерения креддокумент вытнуть дату опалты. если это например не надо, то кред.документ можно измерение занулить и удалятся еще доки... . это то, что в части учета по регистрам. это еще не все!! еще много гитик!. . если же учет построен так что используются и регистры и тянется инфа из доков - то это некошерный учет. и свертка такого учета - сверхнекошерная ибо надо знать/документирвоано иметь как построен учет на документах. |
|||
3
Злопчинский
19.09.12
✎
00:11
|
общее правило типа: если ИСТОРИЯ не важна - вся свертка заключается в снятии текущих остатков, обнулении базы и вводна новых входящих остатков энжой!
|
|||
4
zelenprog
19.09.12
✎
00:23
|
(2),(3) спасибо...
только не понял что такое: 1) " ... неонка ЛПЧ..." 2) "...документы помечаем на удаление нафиг. удаляем..." - в смысле пометка на удаление не нужна, надо удалять непосредственно? 2) "...много гитик..." - много чего? |
|||
5
zelenprog
19.09.12
✎
00:47
|
хм...
DBF-файл после удаления документов не изменился в размере |
|||
6
Злопчинский
19.09.12
✎
01:00
|
(4)
"...документы помечаем на удаление нафиг. удаляем..." - велосипедов не изобретаем ;-) написано "помечаем на удаление" - ДЕЛАЕМ ИМЕННО ЭТО. написано "удаляем" - ДЕЛАЕМ ИМЕННО ЭТО. удаление, если это не оговорено особо, всегда выполняется с контролем ссылочной целостности. это можно делать и программно но ну его нафиг. поэтому УДАЛЯЕМ - ТОЛЬКО ШТАТНО (нештатно если шттаное очень долго/прочее). шттаное удаление оно одно - меню-операции-удаление промеченных документов. Что осталось после штатного удаления - оно не удалеятс 0- см выше почему |
|||
7
Злопчинский
19.09.12
✎
01:01
|
(5) записи физически не удаляются, а лишь помечаются внутри базы (скрыто от 1С) на уровне движка как удаленные. Физическое удаление производится в пофигуртаоре - ТИИ только с включенныим флажком "упаковка..." - сделать бэкап перед!
|
|||
8
Злопчинский
19.09.12
✎
01:03
|
перед тем как нахрен пометить документы на удаление - надо иметь ввиду что при проведении документов может писаться история в справочники! при пометке на удаление дока - такая история пфуить исчезает... имеем потенциальный "провал" в данных.. поэтому свертка базы вт.ч и свертка периодических значений.
|
|||
9
zelenprog
19.09.12
✎
08:58
|
(6),(7),(8) понял...
|
|||
10
zelenprog
19.09.12
✎
08:59
|
Пометка на удаление работает о-о0очень долго!
Пометка документов всего лишь за один месяц заняло по времени примерно с 17-00 до 24-00! Это нормально? |
|||
11
zelenprog
19.09.12
✎
09:00
|
а обрезать надо базу почти за два года
|
|||
12
es3000
19.09.12
✎
09:59
|
может диск использовать более быстрый
|
|||
13
Mikeware
19.09.12
✎
10:07
|
(10) это типичная проблема соотношения радиусов...
решений (не проблемы соотношения радиусов, естественно, а проблемы медленного удаления)- море или даже океан. например, перенести ТА на начало периода удаления |
|||
14
ДенисЧ
19.09.12
✎
10:10
|
1) " ... неонка ЛПЧ..."
Вот и выросло поколение, не читающее классиков советской литературы :-( 2) "...много гитик..." - много чего? Именно этих самых гитик (правда, никто не знает, что это такое, но знающие люди этих самых гитик знаю много :) ) |
|||
15
zelenprog
19.09.12
✎
10:23
|
(14) прикольно...
Что такое " ... неонка ЛПЧ..." нашел - это из братьев Стругацких. Братьев читал, нравились очень, но видимо не те произведения где про ЛПЧ упоминается. И все-таки связи фразы с регистрами не понял |
|||
16
zelenprog
19.09.12
✎
10:24
|
(13) спасибо попробую перенести ТА на первый день базы
|
|||
17
zelenprog
19.09.12
✎
10:25
|
(13) а еще какие способы есть ускорения?
|
|||
18
zelenprog
19.09.12
✎
10:25
|
еще вопрос:
имеет ли значение с какой стороны помечать документы: от начальной даты до даты свертки? или в обратном порядке от даты свертки к начальной дате? как будет быстрее? |
|||
19
vova1122
19.09.12
✎
10:34
|
(18) помечать на удаление будет быстрее когда делать так как в (1) - в транзакции. Что интересно заметил. Если документы старые 2-3 года от сегоднешней даты, то удаление идет медленнее по сравнению с удалением недавних документов
|
|||
20
zelenprog
19.09.12
✎
11:27
|
а куда все-таки лучше перенести ТА перед удалением документов?
|
|||
21
Азат
19.09.12
✎
11:31
|
(20) далеко назад, где нет документов
|
|||
22
zelenprog
19.09.12
✎
11:54
|
(21) ОК
еще можно как-то ускорить удаление и свертку вообще? |
|||
23
Mikeware
19.09.12
✎
12:06
|
(22) написать ее прямыми руками...
|
|||
24
zelenprog
19.09.12
✎
12:19
|
(23) "прямыми руками" а наличие\отсутствие мозгов при этом подразумевается?
|
|||
25
zelenprog
19.09.12
✎
12:20
|
(23) короче все намеки да намеки,
конкретно можешь сказать? что такое "радиус" из (13) |
|||
26
Эльниньо
19.09.12
✎
12:24
|
Делал же недавно. Ща вспомню.
Вроде ТА на 1-й док и удаление в обратном порядке ускоряет в разы. |
|||
27
zelenprog
19.09.12
✎
12:41
|
(26) вспомни пожалуйста
|
|||
28
zelenprog
19.09.12
✎
12:42
|
(26) первый док - имеется в виду первый с начала периода свертки?
|
|||
29
Эльниньо
19.09.12
✎
12:44
|
(28) Первый в журнале.
|
|||
30
zelenprog
19.09.12
✎
12:46
|
(29) то есть получается вообще первый документ во всей базе?
|
|||
31
zelenprog
19.09.12
✎
12:47
|
а потом после удаления, надо ТА перемещать в конец?
|
|||
32
floody
19.09.12
✎
12:50
|
закинь базу в рам диск, и не надо даже ТА двигать, гораздо быстрей все пройдет
|
|||
33
Эльниньо
19.09.12
✎
13:27
|
(30) Да
(31) Да |
|||
34
zelenprog
19.09.12
✎
15:12
|
(32) размер RAM-диска вроде ограничен размером оперативки?
а у меня база больше 10ГБ |
|||
35
Mikeware
19.09.12
✎
15:18
|
(34) "вано, тут город болшэ мыллыона -поэтому хватило нэ на всэх"©
------- у (32) какая-то файловая микробазенка.... |
|||
36
Эльниньо
19.09.12
✎
17:40
|
(35) А может у него ОЗУ 128 Гб.
|
|||
37
Mikeware
19.09.12
✎
18:09
|
(36) судя по его темам, комплексная 5 юзверей, Комплексная на 12 юзеров (5 активных) 2.6 гб (с CDX).
|
|||
38
Злопчинский
19.09.12
✎
20:54
|
(22) снять входящие остатки для их использования ПОСЛЕ СВЕРКТИ (сохранить где нить, вплоть до в непроведенном документе ввода остатков). Прибить таблички регистров на физическом уровне - удаление пролетит практически мгновенно.
|
|||
39
zelenprog
20.09.12
✎
09:53
|
(38) О! я создал тему новую с похожим вопросом:
"v7: Порядок работы при свертке базы: документы остатков и удаление старых документов" (Порядок работы при свертке базы: документы остатков и удаление старых документов так получается что лучше действовать так (если не удалять таблички на физическом уровне): 1) создать документы остатков в дату свертки, но не проводить их 2) удалить старые документы из периода свертки 3) выполнить проведение документов с остатками ??? |
|||
40
Mikeware
20.09.12
✎
09:54
|
(39) еще лучше делать это все прямыми запросами.
|
|||
41
Mikeware
20.09.12
✎
09:55
|
(25) а закон соотношения радиусов гласит: "радиус кривизны рук обратно пропорционален радиусу кривизны извилин"...
|
|||
42
es3000
20.09.12
✎
12:24
|
(41)
Ты наверное думаешь, что у тебя о-о-очень большой радиус кривизны извилин. Наверное настолько большой, что ты не дал ни одного КОНКРЕТНОГО ответа, только какие-то замечания о своем превосходстве. Круто себя ощущать супер-мозгом! Сколько у тебя IQ? 200 будет? Или больше? Может ты еще в пеленках уже все 300 имел и на 1С-ке шпарил? А радиус кривизны рук наверно действительно обратно пропорционален ... Помогать товарищам руками-то надо, чтобы дельный совет написать в форум. Силой мозга в форум не пишешь |
|||
43
es3000
20.09.12
✎
12:25
|
(41) извини что я резко, но ты не прав
|
|||
44
Mikeware
20.09.12
✎
12:36
|
(42) Нет, я думаю, что у меня достаточно большой радиус кривизны рук... :-)))
зы. а ты чего из под двух ников пишешь? ззы. совет дан, например, в (13). А вообще, тема свертки обсасывается года с 2002, и не найти поиском - значит просто лениться. зззы. И прежде чем что-то делать - не мешает подумать - "а что же все таки производит эта операция?"... и тогда бОльшая часть вопросов отпадает. |
|||
45
es3000
20.09.12
✎
12:43
|
(44)
зы. да, сейчас перелогинюсь, если это важно |
|||
46
zelenprog
20.09.12
✎
12:53
|
(44)
Предлагаю остановить перепалку. В качестве оправдания: ззы. После 13 были еще вопросы, а ответов - нет зззы. Прежде чем думать надо иметь определенные знания и информацию, так как "думание" - это как раз "манипулирование" имеющейся информацией. Я не имел таких знаний, поэтому и искал нужную информацию, чтобы потом "подумать". Насчет поиска... сложный вопрос. Вроде да - можно что-то найти, но можно потратить сутки так ничего и не найдешь. Кстати, параллельно с этой веткой, я нашел таки несколько похожих тем в форуме. Но моя тема более конкретна, точно таких нет. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |