Очистка клиент-серверных вариантов баз 1С 8.X

14.01.09

База данных - Чистка данных

Текст SQL запроса предназначенный для очистки таблиц документов, регистров накоплений и регистров бухгалтерии.
Работает на SQL 2000 на 2005 наверное тоже но не проверял.

Все наверное сталкивались с необходимостью быстро очистить базу данных от документов. Но средствами платформы это растягивается н довольно продолжительный период времени. Я пошел простым путем: очищаем в SQL все таблицы документов и регистров и останется только вручную очистить регистры сведений привязанные к регистратору.

Вот собственно текст SQL запроса:

 


DECLARE @sql varchar(500)
DECLARE c CURSOR FOR
--Получаем список таблиц документов и регистров document-документы и табличные части, accnt-регистры бухгалтерии, accttl- итоги по регистрам бухгалтерии, accum- регистры накопления с итогами 
SELECT [name] FROM sysobjects WHERE (name LIKE '%document%' or name LIKE '%accnt%' or name LIKE '%accttl%' or name LIKE '%accum%') AND xtype = 'U'
OPEN c
--цикл по отобранным таблицам
FETCH NEXT FROM c INTO @sql
WHILE @@FETCH_STATUS = 0
    BEGIN
--Формируем текст для очищения таблицы
        SET @sql = 'delete from ' + @sql
--Выполняем очищение таблицы
        --EXEC (@sql)
        PRINT @sql
        FETCH NEXT FROM c INTO @sql
    END
CLOSE c
DEALLOCATE c

Внимание в приведенном выше запросе закоментирована строка выполяющая очищение таблицы (EXEC...).
Выполнение запроса с раскомментированой строкой выполнять на свой страх и риск.

 

Вступайте в нашу телеграмм-группу Инфостарт

См. также

Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Системный администратор Программист Руководитель проекта 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP, УНФ, КА и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы. Может выполнять свертку одновременно в несколько потоков. А так же автоматически, без непосредственного участия пользователя. Решение в Реестре отечественного ПО

14400 руб.

20.08.2024    42997    234    123    

218

Чистка данных Системный администратор Программист 1С v8.3 Управляемые формы 1C:Бухгалтерия 1С:Бухгалтерия 1.6 1С:Бухгалтерия 3.0 1С:ERP Управление предприятием 2 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 1.6 1С:Управление нашей фирмой 3.0 1С:Управление торговлей 10 1С:Управление торговлей 11 1С:Розница 2 1С:Розница 3.0 Платные (руб)

Данные обработки помогут Вам легко и, главное быстро, выполнить удаление любых данных в Ваших базах 1С на платформах 8.1-8.3. Обработки помогут легко просмотреть связи ссылок в виде дерева, выбрать что удалять, а что нет, используя любые отборы. Это позволит уменьшить объем лишней и не нужной информации в справочниках и документах, планах видов характеристик и др. объектах и облегчит работу с данными пользователям и Вам. Понятное расположение команд и настроек, в сочетании с описанием и справкой, еще упростят процесс. (Обновление от 30.09.2025, версия 4.5)

12000 руб.

22.02.2013    142570    281    147    

449

Чистка данных Программист 1С v8.3 Управляемые формы 1C:Бухгалтерия 1С:Управление торговлей 10 1С:Управление нашей фирмой 1.6 1С:Управление торговлей 11 Платные (руб)

Данные обработки помогут Вам быстро и просто выполнить перезапись любых ссылочных объектов, а также провести/снять с проведения документы с возможностью выбора регистров и произвольными отборами, в Ваших базах 1С на платформах 8.1-8.3. Обработка позволят найти документы с движениями или без них. Все это дает Вам мощный инструмент для работы. Понятное расположение команд и настроек, в сочетании с описанием и справкой, еще упростят процесс. А также обновления Вы получаете бесплатно в течение года с момента приобретения данных обработок! Данные обработки входят в ТОП-100 продаж, что является залогом популярности, надежности в работе, и признанием других покупателей.

9600 руб.

17.09.2013    806431    58    51    

94

Чистка данных Программист Пользователь 1С v8.3 Управляемые формы 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Зарплата и кадры государственного учреждения 3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x Платные (руб)

Обработка позволяет удобно и выборочно удалить данные из базы 1С на управляемых формах например БП 3.0, УТ 11, КА 2, ERP, УНФ, ЗУП 3, Розница и др. Это могут быть неактуальные организации или другие перечни объектов. При этом есть возможность провести анализ пересечений документов с другими организациями и таким образом уберечься от того, что при удалении обороты по другой организации изменятся. Объекты нужно выбирать вручную и после этого запускать команду удаления. Будут удалены все ссылки на них.

5000 руб.

28.11.2019    28541    76    20    

91

Чистка данных Программист 1С v8.3 1C:Бухгалтерия Платные (руб)

Если в вашей информационной базе крутится очень много данных, или база должна быть доступна 24/7 (как в моем случае), или же вы боитесь запускать тестирование и исправление, НО существует потребность удалить битые ссылки, тогда эта обработка сможет Вам помочь. Обработка выявляет битые ссылки как в самих объектах метаданных, так и в их табличных частях(!), а так же может их удалить.

5136 руб.

23.08.2021    11140    23    3    

29

Оптовая торговля Логистика, склад и ТМЦ Чистка данных Программист Бухгалтер Пользователь 1С v8.3 Оперативный учет 1С:Управление торговлей 11 Россия Управленческий учет Платные (руб)

Если вы начали работать в программном продукте Управление Торговлей, редакция 11 или Комплексная Автоматизация редакция 2 и включили механизм учёта серий, то перейти обратно в учёт без серий будет не так-то просто. Сложность заключается в том, что нужно очистить серии в табличной части документа, например, Реализация Товаров и услуг. Предлагаем алгоритм перехода на учет без серий для программного продукта УТ11. (Очистка серий.)

2400 руб.

09.04.2019    30400    47    15    

50

Чистка данных Системный администратор Программист 1С v8.3 Управляемые формы 1С:Бухгалтерия 3.0 1С:Управление производственным предприятием 1С:ERP Управление предприятием 2 1С:Управление холдингом 1С:Зарплата и кадры государственного учреждения 3 1С:Зарплата и Управление Персоналом 3.x 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Управление торговлей 11 1С:Розница 2 Абонемент ($m)

Универсальный инструмент для очистки базы. Работает как на конфигурациях на основе БСП, так и самописных. Позволяет выбрать данные, отобразить форму списка, увидеть структуру метаданных, очистить базу применяя при необходимости условия. Удаление производится по выбранным элементам в таблице значений. Наложение условий позволяет удалить документы по выбранной организации.

1 стартмани

25.12.2023    11170    245    WeterSoft    7    

16

Чистка данных Инструментарий разработчика Системный администратор Программист 1С v8.3 Абонемент ($m)

Очередная вариативная очистка кэша 1С с помощью Исполнителя 3.0.2.2.

1 стартмани

25.10.2023    6675    6    SerVer1C    27    

25
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. boggonzikov 343 16.01.09 10:25 Сейчас в теме
Полезная вещь, особенно для подготовки базы для разработки из реальной, как правило огромной Рабочей базы.
Только еще не хватает условия по дате.
Т.е. хочу в базе оставить только данные за 1 месяц. Подскажи как сделать?
3. Gamm 13 16.01.09 15:17 Сейчас в теме
(1) Вот вариант кода который очистит регистры с периодом больше заданной и все документы.
С документами побольше написать надо. Чтоб в начале пробежаться по табличным частям и их очистить и только потом сами таблицы документов.
Будет время уделю этому внимания.
Begin
SET @sql = 'delete from ' + @sql +' where _Period>=CONVERT(DATETIME, ''''2008-01-01 00:00:00'''', 102)'
PRINT @sql
End
else --иначе просто очищаем таблицу командой truncate которая сработает быстрее чем delete
SET @sql = 'truncate ' + @sql
5. boggonzikov 343 16.01.09 17:51 Сейчас в теме
(3)
>пробежаться по табличным частям
Как раз этого и не хватает, я не давно тоже писал похожую обработку, но из-за не знания СКЛ, пошел другим путем, через 1С. Получал структуру данных и название таблиц хранения, а затем простыми запросами удалял. Типа

|TRUNCATE _" + таблица + "" ;
или
|DELETE
|
|From _" + таблица + " WHERE _" + таблица + "._period < DATE '2008-03-01' " ;

Удаление таб. частей было
|DELETE FROM " + таблица + " WHERE
|"+НазваниеОсновнойТаблицы+"_idrref IN
| (SELECT _idrref FROM " + НазваниеОсновнойТаблицы + " WHERE " + НазваниеОсновнойТаблицы + "._date_time < DATE '2008-03-01') " ;

2. PVG_73 17 16.01.09 11:06 Сейчас в теме
Помнится такую же хрень я писал для 7.7.... :)
Удобная весчь, особенно когда режишь или клонируешь бызы...
можно добавить и справочники и исключения по ним, если в этом есть необходимость...
4. Gamm 13 16.01.09 15:34 Сейчас в теме
Если дополнительных отборов не нужно советую заменить строчку
SET @sql = 'delete from ' + @sql
на строчку
SET @sql = 'truncate ' + @sql

6. ilya005 123 30.01.10 20:36 Сейчас в теме
аналог для 7.7
DECLARE @sql varchar(500)
DECLARE c CURSOR FOR
--Получаем список таблиц документов и регистров document-документы и табличные части, accnt-регистры бухгалтерии, accttl- итоги по регистрам бухгалтерии, accum- регистры накопления с итогами
SELECT [name] FROM sysobjects WHERE (
name LIKE 'D%' or
name LIKE 'R%' or
name LIKE '_1SCRDOC' or
name LIKE '_1SJOURN' or
name LIKE '_1SCRDOC') AND xtype = 'U'
OPEN c
--цикл по отобранным таблицам
FETCH NEXT FROM c INTO @sql
WHILE @@FETCH_STATUS = 0
BEGIN
--Формируем текст для очищения таблицы
SET @sql = 'truncate table ' + @sql
--Выполняем очищение таблицы
EXEC (@sql)
PRINT @sql
FETCH NEXT FROM c INTO @sql
END
CLOSE c
DEALLOCATE c
7. Abadonna 3975 30.01.10 20:43 Сейчас в теме
(0) Ох, опасная игрушка в неумелых руках ;)
8. PowerBoy 3477 27.12.12 12:15 Сейчас в теме
Кому надо - вот универсальная чистилка документов с любыми отборами:
http://infostart.ru/public/16731/
Для отправки сообщения требуется регистрация/авторизация