DBFScruber или чистильщик DBF

03.10.07

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

Программа предназначена для быстрого удаления документов и служебной информации при свертках. Гарантированное время чистки на базе 2 Гб. 2 часа. Пишет лог. Настройки в виде ini файла. Работает с DBF на стандартных ODBC драйверах.

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

Наименование Файл Версия Размер
DbfScruber.zip
.zip 46,76Kb
1826
.zip 46,76Kb 1826 Скачать бесплатно
Исходники
.1191436665 64,74Kb
622
.1191436665 64,74Kb 622 Скачать бесплатно
Вопросы о свертке баз поднимаются периодически с завидной регулярностью, оно и понятно - "пока петух не клюнет".... Казалось бы, все вопросы изучены и поданы на блюдечке, например, в часто цитируемой статье "Методика быстрого сворачивания периода на больших базах V7" 2002 © Шемякина Павла. Однако не все так просто...
Собственно, в 2004 году именно благодаря этой статье и появилась программка. Конечно, никаких претензий на оригинальность и любой программист сможет написать подобное за пару часов, однако, вот только не видно таких решений в свободном доступе....
Постановка задачи в нашем случае не отличается от стандартной. База большая, документов много - пора резать.
Вот с этого момента начинаем выяснять поподробнее. Что хотят пользователи? А они хотят, чтобы документы типа "Договора", "Приказы" и т.п. не удалялись из базы, а были доступны за весь период работы. Так делаем пометочку. Еще они хотят завтра уже работать в новой "облегченной базе". Еще пометочка.
Что в этом случае делает программист 1С? Как обычно, наступает на грабли - пытается удалить т.н. "стандартными средствами". Только заметим, что дело происходит, скажем, где то в марте-апреле. А свернуть предполагается до 1 января текущего года, чтобы сохранить историю неоплаченных накладных и т.п.. А при этом размер базы около 2 Гб.
Обычно такие операции справедливо приурочивают к вечеру субботы, чтобы оставить время для сверки и .т.п. Вот только что же может увидеть программист, придя утром на работу? А то, что оставленная на ночь база благополучно вывалилась с малопонятной ошибкой о "нехватке какой-то там памяти". Печально, но приходится начинать все сначала, теперь под постоянным контролем. Однако через 3-4 часа наблюдаем ту же картину - с той же, а возможно еще какой-то малопонятной ошибкой 1С вываливается при удалении документов. Самое время искать альтернативные пути... вот только уже поздний вечер воскресенья и нет времени на придумывания и извращения...
Собственно, тут я и хотел бы предложить такой вариант, как использование ODBC драйверов сугубо для проведения чистки.
Последовательность действий:
1. Скачать программу
2. Создать ODBC соединение (указать, например, dBASE Driver и путь к базе)
Это сделано для удобства, чтобы не привязывать программу к конкретному драйверу, вы сами выбираете нужный, а в параметрах просто указываете DSN имя подключения.
3.В ini файле прописать дату, до которой удалять документы, регистры и служебную информацию. Указать DSN имя подключения.
4. Запускаете программу DBFScruber .
5. Жмем кнопочку Анализ, если соединение указано правильно, то слева появится список документов, отмечаете документы, которые хотите проигнорировать (не чистить). Кстати чуть ниже надо отметить служебные таблицы, которые тоже хотите оставить нетронутыми, иначе они будут очищены на указанную дату.
6. Делаете резервную копию базы.
7. Переносим остатки на утро указанной даты.
8. Жмем кнопочку "Чистка"
9. Делаем тестирование и исправление, с удалением и упаковку базы.
10. На всякий случай, перепроводим те документы, которые мы не чистили.
11. Проводим документы остатков задним числом.
12. Выполняем сверку.
Собственно все.
На все операции включая, сверку, у меня ушло 5 часов, а у вас?

См. также

Пометка на удаление не используемой номенклатуры

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

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

1 стартмани

21.11.2022    2372    3    Sevg    0    

2

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

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

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

1 стартмани

12.09.2022    2880    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    7822    8    etmarket    0    

3

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

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

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

10 стартмани

26.03.2021    8302    2    softmaker    0    

0

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

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

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

1 стартмани

19.11.2020    7644    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. 26.05.06 11:14 Сейчас в теме
Скажите пожалуйста как создать ODBC соединение и где прописать путь к базе? Извиняюсь за ламерский вопрос, но яне понял.
2. proskurin 113 26.05.06 12:24 Сейчас в теме
Пуск - Администрирование - Источники данных ODBC
Там вкладка "Пользовательский DSN" жмем добавить, выбираем драйвер (dBASE Driver ). Затем выбираем каталог (указать каталог с базой данных), задаем название, например, "DbfScruber", версия таблиц - 5.0.
Дальше все должно заработать, только не забудьте указать правильную дату в ini файле.
3. 26.05.06 13:48 Сейчас в теме
Не заработало. Выдал ошибку: [Microsoft][Драйвер ODBC dBase] Индекс не найден.
4. proskurin 113 26.05.06 20:55 Сейчас в теме
Довольно странно, индексы для удаления вообще не используются. Кроме указания каталога и названия, ничего менять не надо, хотя там, в настройках ODBC, и есть возможность выбрать индексы, их не нужно указывать, поскольку все-таки у 1С формат немного другой (Fox).
5. proskurin 113 28.05.06 20:52 Сейчас в теме
Кто-то пробовал уже? Поделитесь удачными свертками...
6. proskurin 113 30.05.06 08:38 Сейчас в теме
В идеале, конечно, надо использовать Microsoft Visual Foxpro ODBC Driver, хотя, повторяю, ODBC dBase, тоже будет работать. Если что-то не работает - ковыряйте свой ODBC, для этого и сделано разделение. Программка просто выполняет нужные запросы.
7. 06.06.06 16:50 Сейчас в теме
"Обработка структуры 1Cv7.dd" останавливается на 1% или 11% и ошибка:
[Microsoft][Драйвер ODBC dBase] Индекс не найден.
8. proskurin 113 06.06.06 18:09 Сейчас в теме
Пишите, пожалуйста, на адрес sbs@sbs.com.ua. Мне необходимо повторить ситацию, для этого надо знать:
1. Версию драйвера
2. Операционная система
3. Появляются ли документы после анализа dd файла?

Все было проверено мной на W2k3 / W2000 / Win XP без SP -
работает четко.
9. proskurin 113 06.06.06 18:42 Сейчас в теме
Только что проверил на лицензионной Win XP SP2 со всеми последними обновлениями, чем черт не шутит :-)
Все работает четко.
10. 16.06.06 09:40 Сейчас в теме
После нажатия кнопки Анализ, пишет ошибку "Обработка структуры 1Cv7.dd" 2%", и сообщение об ошибке "Run-time error '-2147217900 (80040e14)': [Microsoft][Драйвер ODBC dBase] Индекс не найден.". Я уже по всякому перепробовал настраивать драйвер и все равно одна и таже ошибка. (Windows XP Pro SP2, 1C v7.7.008, размер базы 1,7Гб., драйвер Microsoft dBase Driver (*.dbf))
11. 16.06.06 11:24 Сейчас в теме
Автор .., а вы не могли бы пояснить, работает ли ваша программа с Регистровыми базами ??? .. я так догадываюсь, что ваша программа только для бухгалтерского учета.
12. proskurin 113 16.06.06 22:53 Сейчас в теме
Работает с регистрами тоже.
Почему не работает в вашем случае не могу сказать.
Попробуйте другие драйверы, которые понимают dbf.
Возможно, что-то с ADO или MDAC...
13. 21.06.06 11:25 Сейчас в теме
Если я не ошибаюсь ADO и MDAC .. это не дрова ...а архитектуры доступа к БД.
14. 27.06.06 12:05 Сейчас в теме
почему-то удалилось все содержимое документов, а сами документы остались. что делать ??
15. proskurin 113 27.06.06 22:53 Сейчас в теме
Видимо, повторить. Для начала. Скорее всего, не закончилась очистка 1SJOURN.DBF.
16. 29.06.06 11:50 Сейчас в теме
Автор, вы мне ответите что нибудь по моему вопросу или как ??? Еже ли дело только с драйверами доступа к БД, то посоветуйте где их можно взять !!!
17. proskurin 113 30.06.06 22:23 Сейчас в теме
Для Denton. К сожалению, поскольку у меня никогда не возникала описанная ситуация, я не искал пути ее решения. Если Вам удасться решить вашу проблему - напишите сюда. Могу так же выложить исходные коды на VB, кому интересно.
18. 06.07.06 10:27 Сейчас в теме
В VB я не силен и проблему не смог решить, но было бы очень не плохо, если вы автор опубликуете подробную статью как работает ваша программа.
19. 04.08.06 12:02 Сейчас в теме
Исходники где можно посмотреть? Вещь хоть и сама по себе несложная , но интресная с точки зрения обучения VB и 1С.
20. gunner_Hans 12.09.06 19:19 Сейчас в теме
Все живет, все работает. Автору сенкс и +1
21. mihenius 83 14.09.07 13:44 Сейчас в теме
Хотелось бы тоже самое, но только с пометкой на удаление, а не физическое удаление из таблиц
22. karat60 01.10.07 11:35 Сейчас в теме
+1, а исходники можно ??
23. proskurin 113 03.10.07 22:41 Сейчас в теме
Исходники выложил как есть, однако на комментарии не рассчитываем - давно это было
24. ERMAKoff 03.12.08 15:54 Сейчас в теме
Прошу прощения, а вот этот пункт каким образом можно выполнить? "7. Переносим остатки на утро указанной даты."
25. warit 02.04.09 13:53 Сейчас в теме
Мне помогло решить проблему с индексами: [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Xbase]
"BDE"=dword:00000002
26. luckymarina 02.09.09 15:22 Сейчас в теме
У меня такой вопрос: я не могу перепровести те документы, которые остались после чистки, т.к. нет ничего на остатках. Может, нужно сразу провести документы с остатками??
27. luckymarina 02.09.09 15:24 Сейчас в теме
У меня такой вопрос: я не могу перепровести те документы, которые остались после чистки, т.к. нет ничего на остатках. Может, нужно сразу провести документы с остатками?? И еще: при тестировании проверять физическую/логическую целосность, производить пересчет итогов и служебной инфо, или только упаковку?
28. luckymarina 11.09.09 17:29 Сейчас в теме
С предыдущими вопросами разобралась. Только появилась новая проблема: база не проходит тест на логическую целосность. Как можно ее решить?
29. Performer 71 01.07.10 13:31 Сейчас в теме
После обрезки базы "комплексная" сбилась нумерация, теперь новый созданный документ записывается номер 0000000001. Ну и так как этот номер уже существует ругается что номер не уникальный. Каждый раз поправлять номер тоже не айс. Может кто подскажет как исправить проблему?
30. vitalyb 03.10.11 15:54 Сейчас в теме
хорошо справляется с поставленными задачами, мне очень сильно помогло при свертке базы :)
31. AndreyBuka 22.12.11 22:07 Сейчас в теме
Пуск - Администрирование - Источники данных ODBC
Там вкладка "Пользовательский DSN" жмем добавить, выбираем драйвер (dBASE Driver ). Затем выбираем каталог (указать каталог с базой данных), задаем название, например, "DbfScruber", версия таблиц - 5.0.
Дальше все должно заработать, только не забудьте указать правильную дату в ini файле. при тестировании проверять физическую/логическую целосность, производить пересчет итогов и служебной инфо, или только упаковку?
32. xaker1C 23.12.11 05:17 Сейчас в теме
Работает большое спасибо
Оставьте свое сообщение