13.06.2007, 07:07 | #21 |
Участник
|
Цитата:
Сообщение от Gmc
Была похожая проблема, обрати внимание на CU 14800 функцию MoveLines.
Я переделал так: WITH PayrollJnlLine DO BEGIN RESET; SETRANGE(Template,Template); SETRANGE("Batch Name","Batch Name"); JournalDimension.RESET; JournalDimension.SETRANGE("Table ID",14820); JournalDimension.SETRANGE("Journal Template Name",Template); JournalDimension.SETRANGE("Journal Batch Name","Batch Name"); IF IncludCurLine THEN SETFILTER("Line No.",'>=%1',"Line No.") ELSE SETFILTER("Line No.",'>%1',"Line No."); IF FIND('+') THEN BEGIN REPEAT PayrollJnlLine2 := PayrollJnlLine; PayrollJnlLine2."Line No." := "Line No." + 10000; PayrollJnlLine2.INSERT; JournalDimension.SETRANGE("Journal Line No.","Line No."); IF JournalDimension.FIND('+') THEN REPEAT JournalDimension2 := JournalDimension; JournalDimension2."Journal Line No." := PayrollJnlLine2."Line No."; // JournalDimension.DELETE; JournalDimension2.INSERT; // UNTIL JournalDimension.NEXT(-1) = 0; // UNTIL JournalDimension.FIND('+'); DELETE(TRUE); // UNTIL NEXT(-1) = 0; UNTIL FIND('+'); END; END; IF FIND('+') THEN BEGIN REPEAT ... ... UNTIL FIND('+'); END в приведенном примере будет всего одна итерация насколько я понимаю! |
|
13.06.2007, 12:32 | #22 |
Участник
|
Цитата:
Цитата:
// UNTIL NEXT(-1) = 0;
вы предлагаете поменять на UNTIL FIND('+'); Вы для какой версии приводите код? Да, хотя я уже сомневаюсь что только это, щас ещё перепроверю. |
|
13.06.2007, 14:45 | #23 |
Участник
|
Цитата:
Сообщение от Галина
Возник вопрос правда не совсем тему.
Объем зарплатной базы с января этого года составлял 6 гб. Прочитав тему - убрала с Зарпл.ЖурналСтроки галки с MainSiftIndex. Решила убрать эти же галки и с Зарпл.КнигиОперации. Объем базы составил 1.4 гб. Я в шоке. 4 гб - составляли ключи? И теперь собственно вопрос. Чем мне это грозит? В принципе flow-field поля в Зарплате не используются-как в основном Навижине. Поэтому мне кажется ничем не грозит. А вот в таб 14821 со всех ключей MainSiftIndex поснимать - не совсем хорошо. Там есть несколько ключей (не помню, пара или около того), суммовые индексы которых используются в расчете ЗП. Расчет сильно замедлиться может. |
|
13.06.2007, 19:19 | #24 |
Участник
|
Цитата:
Сообщение от konrad
Все нормально. Ключи столько и жрут - тем более не оптимизированые сифты. Поснимайте еще MaintainSQLIndex для ключей, которые в редко используемых отчетах применяются. Еще пол-гига, а то и более освободится.
А вот в таб 14821 со всех ключей MainSiftIndex поснимать - не совсем хорошо. Там есть несколько ключей (не помню, пара или около того), суммовые индексы которых используются в расчете ЗП. Расчет сильно замедлиться может. Я сняла с 14821-и у меня сразу 4 гб освободилось. Проверяла расчет по минутам-работает одинаково. |
|
14.06.2007, 08:50 | #25 |
Участник
|
|
|