Утилита закрытия периода и очистки базы данных
Установка
Требования:
- 1. Библиотека UDF функций Gedemin GUDF.DLL должна располагаться в подкаталоге UDF основной папки сервера Firebird.
- 2. FBCLIENT.DLL должен находиться в одном каталоге с данной утилитой, если не был прописан в реестре (например, с помощью instreg при установке firebird).
- Cкопировать fbclient.dll можно из подкаталога bin папки установки Firebird.
Утилита не требует установки.
Инструкция по использованию
Ниже описаны шаги, требующие выбора.
шаг: Database Connection
- 1. расположение файла БД:
- locale - локально на вашем компьютере
- locale - локально на вашем компьютере
- remote - удаленно на сервере
- remote - удаленно на сервере
- 2. подключение к БД:
- host - имя/IP-адрес сервера
- host - имя/IP-адрес сервера
- default port - значение RemoteServicePort в firebird.conf (3050 по умолч.)
- default port - значение RemoteServicePort в firebird.conf (3050 по умолч.)
- password - пароль пользователя администратор (masterkey по умолч.)
- database - путь к БД в формате LFS(local file system):
Диск:[\Каталог][\Файл]
- где Диск — буква диска, Каталог — имя каталога на диске, Файл — имя файла в каталоге или на диске.
шаг: Squeeze Settings
- 1. Укажите дату, до которой Вы хотите удалить документы (дату закрытия периода).
- 2. Снимать галочку с Сохранить бухгалтерское и складское сальдо, вычисленное программой НЕ рекомендуется.
- 3. Если Вы хотите ограничить множество документов, которые будут обрабатываться программой (если удовлетворят условию удаления - будут удалены), то выберете их типы, нажав на кнопку Выбрать типы документов.
- В появившемся окне осуществите выбор необходимых типов путем двойного клика по записи в таблице.
- Нажмите Принять для завершения выбора.
- Выберете необходимый тип ограничения: исключение либо обработка документов только с выбранными типами.
Параметры данной страницы Squeeze Settings можно сохранить в файл конфигурации или загрузить из уже существующего файла.
шаг: Options
- Доступны следующие опции:
- сохранение журнала выполнения программы (log) в файл (рекомендуется выбрать, для возможности анализа ошибок)
- создание backup-файла БД, по завершению ее обработки программой
- восстановление в новую restore-БД из этого backup-файла.
! Пути к директориям для сохранения файлов backup/restore должны быть указаны в формате LFS, т.к. они должны располагаться на той же машине, что и обрабатываемая БД.
На этом шаге выбор завершен и Вы можете запустить процесс обработки БД.
Перед запуском Вы можете перейти на вкладку Statistics:
- здесь отображены свойства БД и такие первоначальные характеристики, как размер файла и количество записей в основных таблицах.
Рассмотрим подробнее.
Основными таблицами являются: GD_DOCUMENT, AC_ENTRY, INV_MOVEMENT, INV_CARD.
Раздел Number of records in a table:
- информация о количестве записей в таблицах.
Раздел Number of processing records:
- GD_DOCUMENT - количество записей с датой < выбранной Вами ранее даты.
- AC_ENTRY, INV_MOVEMENT, INV_CARD - количество записей, связанных с этими документами.
! Размер БД уменьшится только после операций backup и restore, так как Firebird использует версионность записей.
Если Вы выбрали эти опции, то по завершению этих операций в разделе DB File Size будет указан размер restore-файла БД.
Для разъединения, чтобы, например, переподключиться к другой БД, необходимо на странице Database Сonnection нажать Disconnect.
Для корректного разъединения с БД, когда процесс обработки уже был запущен, нажмите кнопку STOP - программа прервет обработку БД по завершению текущей операции, которая выполняется.
Нажмите кнопку Go! для запуска обработки БД.
Принцип действия
- 1. Вычисление остатков за период до указанной даты.
- 1.1. Вычисление бухгалтерского сальдо в разрезе компании, счета, валюты, аналитик.
- 1.2. Вычисление складского сальдо в разрезе: inv_card.companykey, inv_movement.contactkey, inv_movement.cardkey.
- 2. Перепривязка карточек, необходимых для этого складского сальдо, на наш документ, который будет хранить сальдо.
- 3. Очистка от неактуальных данных: AC_ENTRY_BALANCE (+ обнуление генератора gd_entry_balance_date), INV_BALANCE, AC_RECORD и INV_MOVEMENT (связанные с удаляемыми документами).
- 4. Создание множества, содержащего идентификаторы записей таблиц, составляющих единое целое с gd_document, которые должны остаться.
- 5. Подготовка БД к удалению записей: удаление FKs, PKs, деактивация индексов и триггеров.
- 6. Удаление из gd_document и таблиц, составляющих с ним единое целое, записей.
- Условие удаления: отсутствие идентификатора записи в созданном нами множестве.
- 7. Сохранение сальдо за период до указанной даты.
- 8. Восстановление БД.
- 9. Сохранение складского сальдо за весь период в таблицу inv_balance.