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

19.09.07

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

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

Скачать файлы

Наименование Файл Версия Размер
БыстраяПроставкаПометокУдаления
.1190014440 33,50Kb
1440
.1190014440 33,50Kb 1440 Скачать бесплатно
Методика
.1190014666 69,50Kb
938
.1190014666 69,50Kb 938 Скачать бесплатно

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

2

Поиск и удаление дублей справочника 7.7

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

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

1 стартмани

12.09.2022    2881    6    tetraren    0    

2

Учет с нуля на основе имеющейся файл-серверной базы данных 1С 7.7

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

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

1 стартмани

14.01.2022    6045    5    etmarket    3    

3

Комплект обработок 1С 7.7 для работы со справочниками и документами

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

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

1 стартмани

13.05.2021    7823    8    etmarket    0    

3

Удаление элементов справочника в 1С 7.7

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

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

10 стартмани

26.03.2021    8303    2    softmaker    0    

0

Поиск и исправление дублей штрихкодов для номенклатурных единиц измерения

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

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

1 стартмани

19.11.2020    7645    1    Kuzya_brаtsk    4    

8

Сжатие DBF-файлов для 1С:Предприятие 7.7

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

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

1 стартмани

18.10.2018    15701    45    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 3119 18.09.07 19:07 Сейчас в теме
(5) отработай это в условии программно...
8. v.l. 434 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Г.
Оставьте свое сообщение