Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: При удалении данных увеличивается размер базы
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.2 > Программирование обычных форм 1С 8.2 и не интерфейсной логики
Genda
Всем доброго вечера! Продолжаю удалять документы и записи регистров по определенным сотрудникам (военным) в конфигурации ЗБУ 8.2. И вот что заметила. База странным образом увеличивается в объеме!...Была 224 МБ, затем- 774 МБ и сейчас уже 2,12 гига! это нормально? в чем может быть причина и это как то можно исправить?
Meest
Цитата(Genda @ 03.10.12, 17:25) необходимо зарегистрироваться для просмотра ссылки
Всем доброго вечера! Продолжаю удалять документы и записи регистров по определенным сотрудникам (военным) в конфигурации ЗБУ 8.2. И вот что заметила. База странным образом увеличивается в объеме!...Была 224 МБ, затем- 774 МБ и сейчас уже 2,12 гига! это нормально? в чем может быть причина и это как то можно исправить?



Администрирование -> Тестирование и Исправление -> Сжатие таблиц информационной базы, пробовали делать?
Genda
нет еще. а вообще увеличение размера-это норма? просто по логике: данные удаляются-размер должен уменьшаться. а тут наоборот....
Meest
Цитата(Genda @ 03.10.12, 18:32) необходимо зарегистрироваться для просмотра ссылки
нет еще. а вообще увеличение размера-это норма? просто по логике: данные удаляются-размер должен уменьшаться. а тут наоборот....


По логики да, но при удалении таблицы файла 1CD остаются, как правило после удаления необходимо ставить на полное тестирование.
У меня бывает файловая база до 25г становится после удаления, но после "фитнеса" худеет.
Genda
Спасибо. Уже поставила на тестирование.
Не совсем поняла ваше предложение:
Цитата(Meest @ 03.10.12, 21:38) необходимо зарегистрироваться для просмотра ссылки
По логики да, но при удалении таблицы файла 1CD остаются,

При удалении таблиц какие то данные остаются в файле базы? это вы имели ввиду? Если знаете, не могли бы подробнее объяснить этот процесс?)

Не очень то помогло тестирование...было 2,12 ГБ, стало 2,07 ГБ. тема актуальна. Подскажите, пожалуйста, в чем может быть причина роста базы и как исправить это?
kivals
Цитата(Genda @ 03.10.12, 19:27) необходимо зарегистрироваться для просмотра ссылки
Спасибо. Уже поставила на тестирование.
Не совсем поняла ваше предложение:

При удалении таблиц какие то данные остаются в файле базы? это вы имели ввиду? Если знаете, не могли бы подробнее объяснить этот процесс?)

Не очень то помогло тестирование...было 2,12 ГБ, стало 2,07 ГБ. тема актуальна. Подскажите, пожалуйста, в чем может быть причина роста базы и как исправить это?


Возможно включен режим версионирования? Тогда в отдельном регистре могут сохраняться копии данных - это регистр тоже нужно чистить.
Genda
Цитата(kivals @ 03.10.12, 22:41) необходимо зарегистрироваться для просмотра ссылки
Возможно включен режим версионирования? Тогда в отдельном регистре могут сохраняться копии данных - это регистр тоже нужно чистить.


если не трудно,подскажите пожалуйста, где включается этот режим? в параметрах что-то не нашла его...


Регистра сведений "Версии объектов" в конфигурации нет
Meest
Цитата(Genda @ 03.10.12, 19:27) необходимо зарегистрироваться для просмотра ссылки
Спасибо. Уже поставила на тестирование.
Не совсем поняла ваше предложение:

При удалении таблиц какие то данные остаются в файле базы? это вы имели ввиду? Если знаете, не могли бы подробнее объяснить этот процесс?)

Не очень то помогло тестирование...было 2,12 ГБ, стало 2,07 ГБ. тема актуальна. Подскажите, пожалуйста, в чем может быть причина роста базы и как исправить это?



Как удаляете данные?
Genda
Удаляю самописной обработкой. Подробнее в этой теме необходимо зарегистрироваться для просмотра ссылки
Для удаления записей регистров использую такой код:
НЗ3=РегистрыРасчета.ОсновныеНачисленияРаботниковОрганизаций.СоздатьНаборЗаписей();
НЗ3.Отбор.Регистратор.Установить(ДокСсылка);
НЗ3.Прочитать();
н3=НЗ3.Количество()-1;
Пока н3>=0 Цикл
    Запись=НЗ3.Получить(н3);
    Если СокрЛП(Запись.Сотрудник.ВидДоговора)="Военная служба по контракту"
ИЛИ СокрЛП(Запись.Сотрудник.ВидДоговора)="Военная служба по призыву" Тогда
            Сообщить("удалена запись из РР ОсновныеНачисленияРаботниковОрганизаций по "+СокрЛП(Запись.Сотрудник));
            НЗ3.Удалить(Запись);
            НЗ3.Записать();
    КонецЕсли;
     н3=н3-1;
КонецЦикла;


Для удаления строк ТЧ доков и пометки их на удаление:
ВыборкаКадрВоен=Документы.КадровоеПеремещениеВоеннослужащих.Выбрать();
              Пока ВыборкаКадрВоен.Следующий() Цикл
                  ДокКадрВоен=ВыборкаКадрВоен.ПолучитьОбъект();
                      Если СокрЛП(ДокКадрВоен.Номер)="" Тогда
                          Продолжить;
                    КонецЕсли;
              дк=ДокКадрВоен.Военнослужащие.Количество()-1;
              Пока дк>=0 Цикл
                  ТабДокКадрВоен=ДокКадрВоен.Военнослужащие;
                стрДК=ТабДокКадрВоен.Получить(дк);
                      Если СокрЛП(стрДК.Сотрудник.ВидДоговора)="Военная служба по контракту"
ИЛИ СокрЛП(стрДК.Сотрудник.ВидДоговора)="Военная служба по призыву" Тогда
                         ТабДокКадрВоен.Удалить(дк);
                        Сообщить("Документ "+ДокКадрВоен);
                    //    Сообщить("удалена строка по сотруднику "+СокрЛП(ФЛ));
                    Иначе
                        дк=дк-1;
                        Продолжить;
                    КонецЕсли;
                    дк=дк-1;
                КонецЦикла;
                ДокКадрВоен.Записать(РежимЗаписиДокумента.Запись);
             Если ТабДокКадрВоен.Количество()=0 Тогда
                    ДокКадрВоен.Организация=Null;
                    ДокКадрВоен.Записать(РежимЗаписиДокумента.Запись);
                    ДокКадрВоен.УстановитьПометкуУдаления(Истина);
                КонецЕсли;
             КонецЦикла;
Meest
Цитата(Genda @ 03.10.12, 19:27) необходимо зарегистрироваться для просмотра ссылки
Спасибо. Уже поставила на тестирование.
Не совсем поняла ваше предложение:

При удалении таблиц какие то данные остаются в файле базы? это вы имели ввиду? Если знаете, не могли бы подробнее объяснить этот процесс?)

Не очень то помогло тестирование...было 2,12 ГБ, стало 2,07 ГБ. тема актуальна. Подскажите, пожалуйста, в чем может быть причина роста базы и как исправить это?



Причина заключается в структуре данных, используемой для хранения БД.
При удалении документов из базы на физическом уровне происходит только удаление ссылок на эти документы.

Вам нужно в Конфигураторе сделать Администрирование - Тестирование и Исправление с установленными галочками для:
* Сжатие таблиц информационной базы
* Реструктуризация таблиц информационной базы
Genda
Meest , сделала по вашему описанию:
Цитата
Вам нужно в Конфигураторе сделать Администрирование - Тестирование и Исправление с установленными галочками для:
* Сжатие таблиц информационной базы
* Реструктуризация таблиц информационной базы


Результат тот же-2,07 ГБ sad.gif
alex040269
Выгрузите конфигурацию а dt. Загрузите в другую файловую базу.
Batchir
Что то мне кажется что не там копаете господа. Сначала определите какие таблицы у Вас пухнут.
Для этого можно воспользоваться этим необходимо зарегистрироваться для просмотра ссылки
А потом можно говорить о том что нужно сделать
Ardi
Цитата(Meest @ 03.10.12, 18:27) необходимо зарегистрироваться для просмотра ссылки
Администрирование -> Тестирование и Исправление -> Сжатие таблиц информационной базы, пробовали делать?

Нужно полное тестирование/исправление сделать. Если ошибок нет - то версионирование где-то включено.
Vofka
Цитата(Batchir @ 04.10.12, 13:04) необходимо зарегистрироваться для просмотра ссылки
Сначала определите какие таблицы у Вас пухнут.

А поговорить?
Genda
Batchir , спасибо за подсказку. С помощью указанной вами программы, нашла 1,5 гиговый регистр накопления. Видимо проблема в нем, т.к. данные по удаляемым мной сотрудникам в нем присутствуют в огромном количестве:) После работы поудаляю данные в этом регистре, о результатах напишу.
Genda
Удалила записи из регистра накопления Страховые взносы и сведения о доходах. База уменьшилась до 250 МБ! Всем еще раз большое спасибо за помощь. Особая благодарность Batchirу, программа V8TableSizes очень помогла! Ну и сжатие и реструктуризация тож не лишнее,вкупе с выгрузкой базы и загрузкой ее на чистую конфу.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.