Быстрая пометка на удаление документов для Свертки (используется 1С++)

19.09.07

База данных - Свертка базы

Методика быстрого удаления большого количества документов (для dbf-версии, компоненты: оперативный учет, бухучет). (используется 1С++)

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Бесплатно
БыстраяПроставкаПометокУдаления
.1190014440 33,50Kb
1442
1442 Скачать бесплатно
Методика
.1190014666 69,50Kb
940
940 Скачать бесплатно

Методика быстрого удаления большого количества документов (для dbf-версии, компоненты: оперативный учет, бухучет).

Используемое ПО:
1.ODBC драйвер. Я использовал Microsoft Visual FoxPro Driver. http://msdn2.microsoft.com/ru-ru/vfoxpro/bb190232.aspx качаем Microsoft OLE DB Provider for Visual FoxPro 9.0 SP1
2.Обработка ClosePeriod.ert.
3.1CPP.dll – библиотека используется в обработке для получения внутренних идентификаторов регистров и организации циклов при удалении движений документов
и для прямого доступа к таблицам баз 1С:Предприятия 7.7 http://1cpp.ru/

Методика:
1.Переносим остатки на нужную дату (обычно последний день года 31.12.ХХХХ). Здесь вариантов может быть несколько. Подробности упускаю.
2.Удаляем все индексные файлы, а также файлы бухгалтерских итогов и итогов ОУ: 1SACCSEL.DBF, 1SBKTTL.DBF, 1SBKTTLC.DBF, 1SSBSEL.DBF, RG*.
3.В файле 1SJOURN.DBF устанавливаем в поле ISMARK пометку " * " и в поле " CLOSED" значение 4***. При этом Табличные части и шапки документов не трогаем.
Пусть удаляются при удалении помеченных объектов. Здесь же помечаем на удаление записи в файлах движений по регистрам RA* соответствующих документов,
а также В файле 1sentry помечаем на удаление проводки операции этих же документов (сами операции не трогаем).
Все это выполняется обработкой ClosePeriod.ert. В ней указывается полный путь к базе и дата, на которую перенесли остатки (обычно последний день года 31.12.ХХХХ).
Обработку нужно вызвать из копии базы, которая "режется". Примечание: Документы последнего дня не будут помечены на удаление. Об этом ниже.
4.Запускаем 1С-ку монопольно (индексы восстанавливаются). Проверяем визуально период, в котором документы пометились на удаление (на всякий случай).
Стандартными средствами, например ОбработкаДокументовСписком, помечаем на удаление все документы последнего дня закрываемого периода.
Кроме документов, которыми были перенесены остатки. Или другой вариант: открыть ClosePeriod.ert в той базе, которая режется и нажать на кнопку "УдалитьПоследнийДень".
5.Запускаем процедуру удаления помеченных объектов.
6.Запускаем конфигуратор, пакуем базу.
7.Выполняем процедуру "Тестирование и исправление ИБ" (проверку физической и логической целостности, реиндексацию). Если все нормально, идем дальше.
8.Выполняем процедуру "Тестирование и исправление ИБ" (Пересчет служебных данных, пересчет итогов).

*** значение 4 должно устанавливаться, если используется компонента Бухучет. Если используется Оперативный учет, нужно ставить "0",
документы компоненты Расчет не помечаются на удаление. Это можно сделать прямо исправив текст модуля.

И еще: данная методика не претендует на статус абсолютно правильной, распространяется свободно, используется Вами на свой страх и риск.
Автор не несет ответственности за нанесенный ущерб, в процессе ее использования.

Большое спасибо Павлу Шемякину за идею, Алексею Емельянову за реализацию
А так же создателям 1С++
Статья находится: http://1csql.ru/materials/articles/develop.html~23fa4add-f5a0-d24c-3491-f68c6325ee34
Оригинальная обработка находится: http://1c.proclub.ru/modules/mydownloads/personal.php?cid=76&lid=5119
Я только изменил обработку под 1С++
Из минусов только 1. Требуется пересчет итогов и служебных данных.
Но уже в урезанной базе это будет идти достаточно быстро.
Если вы счастливый обладатель SQL базы, то для пересчета ТА рекомендую использовать:
1)http://metaprog.co.ua/secrprog/files/setTA.zip или
2)http://www.dev.citykirov.ru/dlcount.php?url=http://dev.citykirov.ru/APSetup.zip

См. также

Чистка данных Пользователь Оперативный учет 7.7 1С:Торговля и склад 7.7 Абонемент ($m)

Установка пометки на удаление справочника Номенклатура. Торговля 77. 9.2.

1 стартмани

21.11.2022    2659    3    Sevg    0    

2

Чистка данных Программист Пользователь Платформа 1С v7.7 1С:Бухгалтерия 7.7 1С:Зарплата и кадры 7.7 1С:Торговля и склад 7.7 Россия Абонемент ($m)

Обработка для поиска и пометки на удаление дублирующихся элементов произвольного справочника.

1 стартмани

12.09.2022    3128    9    tetraren    0    

2

Свертка базы Чистка данных Перенос данных 1C Системный администратор Программист Платформа 1С v7.7 1С:Комплексная 7.7 1С:Торговля и склад 7.7 Абонемент ($m)

Приводится порядок действий для создания новой информационной базы на основе имеющейся файл-серверной "Торговля и Склад" ред.9.2, для учёта с нуля. В новую базу выполняется перенос справочников и остатков номенклатуры. Журналы документов, данные регистров, долги контрагентов, партии очищаются.

1 стартмани

14.01.2022    6450    6    etmarket    3    

4

Чистка данных Корректировка данных Программист Пользователь Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Архив различных обработок 1С 7.7 с открытым исходным кодом для работы с данными при свертке, выгрузке, исправлении, модификации информационной базы. Можно использовать любую обработку в качестве заготовки для добавления собственных функций.

1 стартмани

13.05.2021    8156    12    etmarket    0    

3

Чистка данных Программист Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Эта обработка позволяет удалить созданные системой элементы справочников. Например, когда элементы создаются при тестировании и исправлении базы с наименованиями, включающими строку "ФС". Обработка тестировалась на базе конфигурации Бухгалтерский учет для Казахстана, редакции 7.70.257.

10 стартмани

26.03.2021    8701    2    softmaker    0    

0

Поиск данных Чистка данных Логистика, склад и ТМЦ Программист Оперативный учет 7.7 1С:Торговля и склад 7.7 Управленческий учет Абонемент ($m)

Простая и удобная обработка предназначена для поиска и исправления задублированных (повторяющихся) номенклатурных штрихкодов справочника Единицы. Также она даёт возможность посмотреть номенклатурные остатки. Полезна в случаях, когда номенклатура сопоставляется по штрихкоду с другими внешними источниками, а именно с модулем "Обмент ГИСМТ".

1 стартмани

19.11.2020    7924    1    Kuzya_brаtsk    4    

8

Чистка данных Системный администратор Программист Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Когда удаляются документы и элементы справочников в 1С 7.7 через удаление помеченных на удаление объектов, запись из dbf файла не удаляется, она помечается как удаленная, но физически остается в файле. Если эти помеченные на удаление записи удалить физически, то размер файлов значительно уменьшится.

1 стартмани

18.10.2018    16158    48    evg520750    5    

1
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. mihenius 83 17.09.07 11:38 Сейчас в теме
Возможно раздел нужно выбрать чистка базы, но я считаю что это все относится к свертке.
2. mihenius 83 17.09.07 11:39 Сейчас в теме
Сейчас разбираюсь как сделать выборочную пометку на удаление
3. mihenius 83 17.09.07 11:49 Сейчас в теме
Рекомендую вначале проверить на демобазе
По умолчанию делается для ТиС-а для Бух надо поменять closed=0 на closed=4
4. mihenius 83 17.09.07 11:54 Сейчас в теме
Оч. понравился вариант из http://infostart.ru/projects/216/
но он только удаляет объекты, а в ТиС-е при непосредственном удалении документов поплывут книги продаж и покупок
6. mihenius 83 18.09.07 17:58 Сейчас в теме
Разобрался как делается выборочная пометка на удаление
Скоро добавлю ) будет как в (4)
5. mihenius 83 17.09.07 14:35 Сейчас в теме
Обнаружена ошибка в торговой базе нет файла 1sentry так что на торговых базах нужно закомментировать последний запрос
7. CheBurator 2712 18.09.07 19:07 Сейчас в теме
(5) отработай это в условии программно...
8. v.l. 435 18.09.07 20:02 Сейчас в теме
(5) и (7)
Код
Попытка
БИ = СоздатьОбъект("БухгалтерскиеИтоги");
ФлагБухучета = 1; // получилось!
Исключение
ФлагБухучета = 0; // да не было там никакого переулка!
КонецПопытки
Показать полностью
9. mihenius 83 19.09.07 09:54 Сейчас в теме
(8) Да уже давно все сделано ... просто я доделываю выборочную пометку.
Как доделаю все будет нормально.
Пока это так шаблон )
10. mihenius 83 19.09.07 17:26 Сейчас в теме
Обновление. Все готово.
Большое спасибо форумчанам http://www.1cpp.ru/forum/YaBB.pl?num=1189945890/15
Обработка помечает на удаление все документы, кроме выбранных видов
Отладка для отладки переданных запросов
11. ivisor_fil 10 24.09.07 10:34 Сейчас в теме
Вобще-то можно так не парится.
1. Переносиш остатки.
2. Устанавливаешь дату рассчета итогов до начала работы системы.
3. Транзакцией ПОМЕСЯЧНО (или набирая определенное кол-во документов) помечаешь на удаление (итоги не прересчитываются т.к. п.2)
4. Удаляешь помеченные на удаление.
5. Пакуешь базу в конфигураторе.

Главное правильно выбрать размер транзакции и то что без транзакции делпалось за 12 часов делается за 30-40 минут (база около 4Гб)
ivn75; Spi1y; Gromgard; +3 Ответить
12. mihenius 83 24.09.07 11:57 Сейчас в теме
(11)
Честно вы меня рассмешили ))))))))))
Это знают даже молодые, плюс тут же есть 2 обработки делающие это.
А интересно сколько у тебя ТА будет возвращаться обратно если режешь большой период?
Если не резал большие базы лучше не давать советов ))))))))))))
Читай внимательно маны этой обработки. Обрати внимание!!!
И еще: данная методика не претендует на статус абсолютно правильной, распространяется свободно, используется Вами на свой страх и риск.
Сравнивай со стандартным решением. Делай замер 1) стандартная пометка с переносом ТА + перенос ТА на текущее чило
2) непосредственная пометка + пересчет Итогов
Смотри что делается быстрее и выбирай.
Если внимательно читал, то сама обработка сделана не мной, я только адаптировал.
и всегда нужен выбор.
А так обработка пригодится начинающим разбираться с прямыми запросами + рыба для пометки доков.
13. пользователь 13.11.11 19:21
Сообщение было скрыто модератором.
...
14. nkvg_a 20.12.11 09:21 Сейчас в теме
Спасибо! мне помогла обработка для удаления данных в базе размером 3Г.
Оставьте свое сообщение