Имя: Пароль:
1C
1C 7.7
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 были еще вопросы, а ответов - нет

зззы. Прежде чем думать надо иметь определенные знания и информацию, так как "думание" - это как раз "манипулирование" имеющейся информацией. Я не имел таких знаний, поэтому и искал нужную информацию, чтобы потом "подумать".
Насчет поиска... сложный вопрос. Вроде да - можно что-то найти, но можно потратить сутки так ничего и не найдешь.
Кстати, параллельно с этой веткой, я нашел таки несколько похожих тем в форуме.
Но моя тема более конкретна, точно таких нет.