Свёртка базы: инструкция:
Данная обработка работает в конфигурациях с БСП.
Выгрузка остатков производится в потоке, загрузка остатков тоже.
Формируется один большой SQL запрос, который можно выполнить в "SQL Managment studio"
Установка обработки
- Взять модуль объекта обработки и скопировать в конфигурацию назвав "TNL_Служебный" с параметрами, "сервер" , "вызов сервера"
Всё, на этом установка закончена
Использование
Выгрузка остатков
В закладке Регистры накопления нажать "Добавить все" убрать лишние, если требуется, регистры, нажать "1. Выгрузка остатков"
Будет предложен каталог, в котором в последующем будет выгружен файл
Обрезка данных
- На вкладке "настройки" указать параметры БД
- На закладках "Регистры накопления", "Регистры сведений", "Документы" выбрать нужные регистры и нажать кнопку
"2. Выполнение запроса SQL" - Из вкладки результат скопировать текст, например текст:
-- Включаем минимальное журналирование
USE trade_test; ALTER DATABASE trade_test SET RECOVERY BULK_LOGGED;
GO
-- Основная БонусныеБаллы, обрезка данных
delete from _AccumRg15719 where _period <= Convert(varchar(30), '4019-12-31T23:59:59', 126);
GO
-- Итоги БонусныеБаллы, очистка
truncate table _AccumRgT15724;
GO
-- Изменения БонусныеБаллы, очистка
truncate table _AccumRgChngR15725;
GO
-- ВозвратТоваровОтКлиента отмена проведения
update _Document292 set _Posted = 0x00 where _Date_Time <= Convert(varchar(30), '4019-12-31T23:59:59', 126) and _Posted = 0x01;
GO
UPDATE _DocumentJournal12911 SET _Posted = 0x00 WHERE _DocumentRRef IN (SELECT _IDRRef FROM _Document292 WHERE _Date_Time <= Convert(varchar(30), '4019-12-31T23:59:59', 126)) and _Posted = 0x01;
GO
-- Реестр торговых документов
-- ЧекККМВозврат отмена проведения
update _Document399 set _Posted = 0x00 where _Date_Time <= Convert(varchar(30), '4019-12-31T23:59:59', 126) and _Posted = 0x01;
GO
UPDATE _DocumentJournal12911 SET _Posted = 0x00 WHERE _DocumentRRef IN (SELECT _IDRRef FROM _Document399 WHERE _Date_Time <= Convert(varchar(30), '4019-12-31T23:59:59', 126)) and _Posted = 0x01;
GO
-- Реестр торговых документов
UPDATE _DocumentJournal12941 SET _Posted = 0x00 WHERE _DocumentRRef IN (SELECT _IDRRef FROM _Document399 WHERE _Date_Time <= Convert(varchar(30), '4019-12-31T23:59:59', 126)) and _Posted = 0x01;
GO
-- Чеки ККМ
-- КорректировкаРегистров отмена проведения
update _Document323 set _Posted = 0x00 where _Date_Time <= Convert(varchar(30), '4019-12-31T23:59:59', 126) and _Posted = 0x01;
GO
UPDATE _DocumentJournal12911 SET _Posted = 0x00 WHERE _DocumentRRef IN (SELECT _IDRRef FROM _Document323 WHERE _Date_Time <= Convert(varchar(30), '4019-12-31T23:59:59', 126)) and _Posted = 0x01;
GO
-- Реестр торговых документов
-- ОтчетОРозничныхПродажах отмена проведения
update _Document343 set _Posted = 0x00 where _Date_Time <= Convert(varchar(30), '4019-12-31T23:59:59', 126) and _Posted = 0x01;
GO
UPDATE _DocumentJournal12911 SET _Posted = 0x00 WHERE _DocumentRRef IN (SELECT _IDRRef FROM _Document343 WHERE _Date_Time <= Convert(varchar(30), '4019-12-31T23:59:59', 126)) and _Posted = 0x01;
GO
-- Реестр торговых документов
-- ЧекККМ отмена проведения
update _Document398 set _Posted = 0x00 where _Date_Time <= Convert(varchar(30), '4019-12-31T23:59:59', 126) and _Posted = 0x01;
GO
UPDATE _DocumentJournal12911 SET _Posted = 0x00 WHERE _DocumentRRef IN (SELECT _IDRRef FROM _Document398 WHERE _Date_Time <= Convert(varchar(30), '4019-12-31T23:59:59', 126)) and _Posted = 0x01;
GO
-- Реестр торговых документов
UPDATE _DocumentJournal12941 SET _Posted = 0x00 WHERE _DocumentRRef IN (SELECT _IDRRef FROM _Document398 WHERE _Date_Time <= Convert(varchar(30), '4019-12-31T23:59:59', 126)) and _Posted = 0x01;
GO
-- Чеки ККМ
-- НачислениеИСписаниеБонусныхБаллов отмена проведения
update _Document325 set _Posted = 0x00 where _Date_Time <= Convert(varchar(30), '4019-12-31T23:59:59', 126) and _Posted = 0x01;
GO
UPDATE _DocumentJournal12911 SET _Posted = 0x00 WHERE _DocumentRRef IN (SELECT _IDRRef FROM _Document325 WHERE _Date_Time <= Convert(varchar(30), '4019-12-31T23:59:59', 126)) and _Posted = 0x01;
GO
-- Реестр торговых документов
-- удаление табличных частей
-- Документ.ЭлектронноеПисьмоВходящее.НепринятыеВложения удаление
DELETE FROM _Document400_VT12702 WHERE _Document400_IDRRef IN (SELECT _IDRRef FROM _Document400 WHERE _Date_Time <= Convert(varchar(30), '31.12.4019 23:59:59', 126));
-- Документ.ЭлектронноеПисьмоВходящее.НепринятыеВложения удаление
DELETE FROM _Document400_VT12710 WHERE _Document400_IDRRef IN (SELECT _IDRRef FROM _Document400 WHERE _Date_Time <= Convert(varchar(30), '31.12.4019 23:59:59', 126));
-- Документ.ЭлектронноеПисьмоВходящее.НепринятыеВложения удаление
DELETE FROM _Document400_VT12718 WHERE _Document400_IDRRef IN (SELECT _IDRRef FROM _Document400 WHERE _Date_Time <= Convert(varchar(30), '31.12.4019 23:59:59', 126));
-- Документ.ЭлектронноеПисьмоВходящее.НепринятыеВложения удаление
DELETE FROM _Document400_VT12726 WHERE _Document400_IDRRef IN (SELECT _IDRRef FROM _Document400 WHERE _Date_Time <= Convert(varchar(30), '31.12.4019 23:59:59', 126));
-- Документ.ЭлектронноеПисьмоВходящее.НепринятыеВложения удаление
DELETE FROM _Document400_VT12733 WHERE _Document400_IDRRef IN (SELECT _IDRRef FROM _Document400 WHERE _Date_Time <= Convert(varchar(30), '31.12.4019 23:59:59', 126));
-- Документ.ЭлектронноеПисьмоВходящее.НепринятыеВложения удаление
DELETE FROM _Document400_VT12740 WHERE _Document400_IDRRef IN (SELECT _IDRRef FROM _Document400 WHERE _Date_Time <= Convert(varchar(30), '31.12.4019 23:59:59', 126));
-- Документ.ЭлектронноеПисьмоВходящее.НепринятыеВложения удаление
DELETE FROM _Document400_VT12745 WHERE _Document400_IDRRef IN (SELECT _IDRRef FROM _Document400 WHERE _Date_Time <= Convert(varchar(30), '31.12.4019 23:59:59', 126));
-- Документ.ЭлектронноеПисьмоВходящее.НепринятыеВложения удаление
DELETE FROM _Document400 WHERE _Date_Time <= Convert(varchar(30), '31.12.4019 23:59:59', 126);
-- сжатие данных
DBCC SHRINKFILE(N'trade1', 0);
GO
-- сжатие лога
DBCC SHRINKFILE(N'trade1_log', 0);
GO
-- Конец проверьте остатки.
- Выполнить данный запрос в SQL Managment Studio
- Зайти в конфигуратор в тестировании и исправлении выбрать пересчёт итогов.
Загрузка остатков
- Нажать "3. Загрузка остатков", выбрать файл с остатками
можно на всякий случай: - Зайти в конфигуратор в тестировании и исправлении выбрать пересчёт итогов.
Тестирование производилось на Управление торговлей, редакция 11.2 (11.2.2.116), 1с 8.3.19.1467, SQL Managment studio 18.
Процедуры вынес в отдельный модуль для лучшего доступа при отладке.