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

19.09.07

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

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

Бесплатные

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

Узнавайте о новых бесплатных решениях в нашей телеграм-группе Инфостарт БЕСПЛАТНО

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

Методика быстрого удаления большого количества документов (для 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    3537    3    Sevg    0    

2

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

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

1 стартмани

12.09.2022    4082    13    tetraren    0    

2

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

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

1 стартмани

14.01.2022    7635    6    etmarket    3    

4

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

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

1 стартмани

13.05.2021    9483    13    etmarket    0    

5

Чистка данных Программист 1С v7.7 1C77 Абонемент ($m)

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

10 стартмани

26.03.2021    9839    3    softmaker    0    

0

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

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

1 стартмани

19.11.2020    8820    1    Kuzya_brаtsk    4    

9

Чистка данных Программист 1С v7.7 1C77 Россия Абонемент ($m)

Обработка удаляет промежуточные нулевые итоги регистров. Для файловой версии!

1 стартмани

09.01.2019    11689    28    DanDy    2    

5

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

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

1 стартмани

18.10.2018    17407    52    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 3232 18.09.07 19:07 Сейчас в теме
(5) отработай это в условии программно...
8. v.l. 437 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Г.
Для отправки сообщения требуется регистрация/авторизация