Утилита закрытия периода и очистки базы данных

Материал из GedeminWiki
Перейти к: навигация, поиск

Установка

Требования:

1. Библиотека UDF функций Gedemin GUDF.DLL должна располагаться в подкаталоге UDF основной папки сервера Firebird.
Скачать gudf.dll для Firebird: 32bit, 64bit.
2. FBCLIENT.DLL должен находиться в одном каталоге с данной утилитой, если не был прописан в реестре (например, с помощью instreg при установке firebird).
Cкопировать fbclient.dll можно из подкаталога bin папки установки Firebird.


Утилита не требует установки.

Инструкция по использованию

Ниже описаны шаги, требующие выбора.

шаг: Database Connection

1. расположение файла БД:
locale - локально на вашем компьютере
remote - удаленно на сервере
2. подключение к БД:
host - имя/IP-адрес сервера
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.
Персональные инструменты
Пространства имён

Варианты
Действия
Навигация
Инструменты