|
v7: Про свертку базы | ☑ | ||
---|---|---|---|---|
0
shegy
28.11.11
✎
10:25
|
Народ, утро доброе, подскажите пож.
Сделал светрку базы, делал методом, ввод первоночальных остатков + удаление старых документов. Приэтом база стала весить так же, а может чуть больше, в данный момент пытаюсь открыть период, он начинает обрабатывать документы с начала базы и очень долго, что сдела не так, что можно сделать в этом случае. Заранее спасибо за помощь! |
|||
1
povar
28.11.11
✎
10:26
|
и как вы удалили документы ?
|
|||
2
VladZ
28.11.11
✎
10:26
|
SQL? DBF?
|
|||
3
Морозов Александр
28.11.11
✎
10:27
|
надо сжать базу... через конфигуратор
|
|||
4
shegy
28.11.11
✎
10:27
|
база dbf, удалял при помощи Док.Удалить(1)
|
|||
5
shegy
28.11.11
✎
10:28
|
(3) енто как?
|
|||
6
Морозов Александр
28.11.11
✎
10:29
|
(5) Ну заходишь в конфугатор... а там в Тестировании и исправлении есть сжатие
|
|||
7
shegy
28.11.11
✎
10:29
|
должно быть все гду после этого?
|
|||
8
Морозов Александр
28.11.11
✎
10:30
|
(7) Угу... только потом удаленное уже восстановить нельзя
|
|||
9
shegy
28.11.11
✎
10:31
|
я понял, вечером буду пробовать, спасибо!
|
|||
10
1Сергей
28.11.11
✎
10:35
|
(9) ты это... про бэкапы не забывай, да
|
|||
11
Aleksey
28.11.11
✎
10:38
|
А я бы еще табличку с итогами удалил бы. И пересчет итогов бы сделал
|
|||
12
andrewks
28.11.11
✎
10:39
|
лучше всего выгрузить-загнрузить
|
|||
13
shegy
28.11.11
✎
10:51
|
Народ, а подскажите пож., можно ли грохнуть документы не при помощи Док.Удалить(1), а каким-нибудь запрос 1с++?
|
|||
14
shegy
28.11.11
✎
10:51
|
+(13) а то документы за 3 года 2 дня удаляются
|
|||
15
Ёпрст
28.11.11
✎
10:52
|
(13) нужно
|
|||
16
shegy
28.11.11
✎
10:53
|
(15) не подскажите как сделать?
|
|||
17
shegy
28.11.11
✎
10:53
|
может есть какая-нибудь наработка?
|
|||
18
Ёпрст
28.11.11
✎
10:56
|
(16) delete from 1sjourn where date<:ВыбДата~~ или позиция дока
аналогично delete DT\DH\RG\RA\1crdoc\1sconst + табличка партий\цен номенклатуры |
|||
19
shegy
28.11.11
✎
11:00
|
а нету готовой обработки, честно, я все еще толком не разберался с 1с++, хотелось бы глянуть, что к чему на примере и еще вопросик, как долго будет происходить удаление документов?
|
|||
20
Джордж1
28.11.11
✎
11:00
|
(14)удаляй в транзакции + мути с ТА
// бухия вообще без проблем штатными методами режется |
|||
21
Ёпрст
28.11.11
✎
11:09
|
(19) мгновенно.
|
|||
22
shegy
30.11.11
✎
13:50
|
(18) Подскажите пож. что не так делаю, пишу запрос
ЗагрузитьВнешнююКомпоненту("1cpp.dll"); Соединение = СоздатьОбъект("OLEDBData"); // СтрокаСоединения = "Provider=VFPOLEDB.1;Null=Yes;Exclusive=No;Data Source=" + КаталогИБ() + ";Mode=ReadWrite;Extended Properties="""";User ID="""";Password="""";Mask Password=False;Collating Sequence=MACHINE;DSN="""";"; Соединение.Соединение(СтрокаСоединения); // ТекстЗапроса = "delete from 1sjourn where date<:НаДату~~"; Запрос = Соединение.СоздатьКоманду(); Запрос.Выполнить(ТекстЗапроса); В итоге получаю ошибку Запрос.Выполнить(ТекстЗапроса); {D:\ХЛАМ\DB_DEL_SPR\EXTFORMS\УДАЛИТЬДОКИ.ERT(12)}: Meta name parser error: не указан параметр ":НаДату" Что не так делаю??? НаДату-реквизит на форме |
|||
23
1nf
30.11.11
✎
13:55
|
ну дык надо наверно текст запроса с передачей параметра правильно написать
|
|||
24
Ёпрст
30.11.11
✎
14:00
|
(22) установитьТекстовыйПараметр нужно вестимо + сперва удалить данные с DT и DH этих документов и потом ужо, чистить 1sjourn
+ очистить RG и RA регистров |
|||
25
shegy
30.11.11
✎
14:00
|
(23) а что не правильно написал?
|
|||
26
Ёпрст
30.11.11
✎
14:00
|
+ очистить 1scrdoc от подчиненных доков + 1sconst от периодики
|
|||
27
FN
30.11.11
✎
14:00
|
(22) не парь себе мозг. Перед удалением УстановитьТА(Дата(2000,01,01))
А удаление в транзакциях типа: сч=1; НачатьТранзакцию() Пока ... Цикл док.Удалить(1) Если сч%200=0 тогда ЗафиксироватьТранзакцию(); НачатьТранзакцию(); КонецЕсли; КонецЦикла; ЗафиксироватьТранзакцию(); -получишь приемлемое время удаленияч документов |
|||
28
shegy
30.11.11
✎
14:01
|
Уважаемый Ёпрст3, если не затруднит, расскажите как это все сделать, читаю примеры и не чего толком пока не понял
|
|||
29
FN
30.11.11
✎
14:02
|
(27) + забыл сч=сч+1; в цикл пихнуть
|
|||
30
shegy
30.11.11
✎
14:03
|
(27) Сколько времени займет удаление данных, день два?
|
|||
31
Ёпрст
30.11.11
✎
14:04
|
(28) для начала, читать про структуру хранения ИБ.. хотя бы на скрипт-коддинге, чтоб понять, что и в каких табличках храниться, потом ужо, творить свои запросы.
|
|||
32
FN
30.11.11
✎
14:04
|
раз в десять быстрее, чем "стандартным" способом. А час/день/неделя - зависит от скорости компа и объема данных.
|
|||
33
1nf
30.11.11
✎
14:09
|
(25) а как можно понять из строки "delete from 1sjourn where date<:НаДату~~" значение параметра НаДату?
|
|||
34
shegy
30.11.11
✎
14:14
|
(32) т.е. получается, просто удаление в транзакции делать и все?
|
|||
35
Ёпрст
30.11.11
✎
14:16
|
(34) если знаний и желания не хватает для изучения прямых запросов, то делай в транзакции.
|
|||
36
Dmitrith
30.11.11
✎
14:18
|
Удалите тупо dbf-ы документов, регистров и итогов. Потом загрузите в получившуюся базу остатки. Я так уже несколько лет делаю. Свертка занимает пару часов
|
|||
37
Ёпрст
30.11.11
✎
14:20
|
(36) если нужно только конкретный период свернуть, что удалять будешь ?
:) |
|||
38
Dmitrith
30.11.11
✎
14:21
|
(37) Ну тогда да.
Я просто раз в год режу базу. проблем никаких. |
|||
39
Ёпрст
30.11.11
✎
14:23
|
(38) А если нужна аналитика по кредДокументам\Партиям ?
И т.д ? :))) Тупо удалять всё - это моветон. |
|||
40
Dmitrith
30.11.11
✎
14:24
|
(39) П партиям мне не нужна - сворачиваю в одну партию. По дебиторке каждый долг выгружаю в отдельный документ. В разрезе торговых представителей и накладных.
|
|||
41
shegy
30.11.11
✎
14:24
|
(35) знаний пока не хватает, желание изучать есть, но как обычно не хватает времени
|
|||
42
shegy
30.11.11
✎
14:25
|
(36) проблема в том, что надо оставить документы с 2010, до этой даты надо удалить
|
|||
43
shegy
30.11.11
✎
14:26
|
(27) я только одного не понял, на кой надо устанавливать ТА
|
|||
44
FN
30.11.11
✎
14:30
|
(43) Удаление дока задним числом = проводка дока задним числом.
Тоесть если ты удалишь документ, которым оприходован например автомобиль в 2007 году, и который был продан в 2010 то при удалении 1С-ка удалит строку из таблички движений регистра и удалит строки(!) из табличики итогов - а итоги хранятся (обычно) в разрезе месяцев - тоесть удалить нужно в 36 месяцах. И так каждый документ... |
|||
45
Ёпрст
30.11.11
✎
14:30
|
(43) чтоб не толкать итоги каждый раз при удалении документа. Це же очевидно.
|
|||
46
Dmitrith
30.11.11
✎
14:30
|
(43) Чтоб после каждого удаления документа регистры не пересчитывались в актуальное значение
|
|||
47
Ёпрст
30.11.11
✎
14:32
|
(40)
>>> В разрезе торговых представителей и накладных. Это как ? В табличной части такого дока что ? Что пишется в кредДокумент в регистре Покупатели\Поставщики, к примеру ? |
|||
48
shegy
30.11.11
✎
15:07
|
Т.е. точку актуальности мне надо перенести на начало базы?
|
|||
49
shegy
30.11.11
✎
15:10
|
а почему деление на 200 идет?
|
|||
50
FN
30.11.11
✎
15:29
|
(48)да
(49)по 200 доков в транзакции. можешь подобрать другое число. |
|||
51
ЧеловекДуши
30.11.11
✎
15:40
|
(49)Через каждые 200 удаленных документов фиксируется транзакция.
Если это делать чаще, то скорость будет ниже. Если не делать, то просто 1С переполнится и лопнит с месагой Оут оф мемори :) |
|||
52
ЧеловекДуши
30.11.11
✎
15:41
|
А не проще вообще создать новую БД и перенести туда нужные справочники :)
|
|||
53
ЧеловекДуши
30.11.11
✎
15:41
|
+ остатки
|
|||
54
Ёпрст
30.11.11
✎
15:55
|
(52,53) нет, см (37).
|
|||
55
shegy
30.11.11
✎
17:52
|
Все понял, сегодня буду пробывать
|
|||
56
shegy
01.12.11
✎
09:57
|
Доки убил, времери ушло максимум часа 2, теперь остался вопрос, сколько он будет период открывать?
|
|||
57
Mihenius
01.12.11
✎
10:36
|
||||
58
Mihenius
01.12.11
✎
10:39
|
Не забудь сделать подготовку базы перед сверткой.
Не должно быть документов с основанием в закрытом периоде (или такие основания должны оставаться, но быть непроведенными) Не должно быть периодики по документами в закрытом периоде (меняем на обычные значения без документов) |
|||
59
shegy
07.12.11
✎
12:47
|
Всем привет, опять наткунулся на подводные камни, в общем-то базу срезал, вроде было все гуд, но есть один момент, когда народ проводит новые документы Реализация ТМЦ, по регистру взаиморасчетов разносятся битые ссылки, что с этим делать и как побороть.
Заранее спасибо! |
|||
60
Эльниньо
07.12.11
✎
13:27
|
(59) По какому измерению?
|
|||
61
shegy
07.12.11
✎
14:38
|
КредДокумент, попробывал перепровести документ в ручную, выплевывает битые ссылки заменяя их на ВводОстатков, после попробывал автоматом, большой объем ему приходится перепроводить, как можно пошустрей все это сделать?
|
|||
62
Ёпрст
07.12.11
✎
14:40
|
(61)Нехрен было прибивать всё наподряд.
Теперь у тебя проёб@на аналитика по взаиморасчетам в разрезе кредДоков и аналитика по партиям. Если она не нужна - в документах ввода останков в креддок запихай ссылку на документ ввода останков |
|||
63
PZh
07.12.11
✎
14:45
|
Ну вы тут насоветовали...
Походу раскорячит парень базу в хлам. |
|||
64
shegy
07.12.11
✎
14:46
|
(63) в хлам не буду
|
|||
65
shegy
07.12.11
✎
14:48
|
(62) да каюсь, натворил делов, не подумав. В воде остатков и так ссылка на ввод остатков
|
|||
66
shegy
07.12.11
✎
14:51
|
пересчет итогов мне поможет?
|
|||
67
Эльниньо
07.12.11
✎
17:46
|
(66) Нет
|
|||
68
Ёпрст
07.12.11
✎
17:47
|
(65) где ? в КредДокументе ?
|
|||
69
Ёпрст
07.12.11
✎
17:47
|
в обоих регистрах ?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |