Быстро удалить все кроме справочников и констант

Опубликовал Владимир (vovan519) в раздел Обработки - Свертка базы

Быстрое удаление движений в базе данных.

Очень простая вещь, но вопросы "Как удалить все, оставив справочники?" возникают на одноесовских форумах раз в месяц регулярно.

Решил выложить, чтобы можно было отвечать просто ссылкой

Итак. Имеем две версии. bat файл для dbf и ert для sql. Для sql необходима 1cpp (лежит в архиве).

И батник и обработка выполняют одни и те же действия, удаляют все движения (документы, движения по регистрам, проводки и т.д.), оставляя нетронутыми справочники и константы.

После выполнения:
(для dbf, после выполнения батника) Запустить предприятие в монопольном режиме (восстановит файлы)

(для обоих вариантов dbf и sql) Тестирование и исправление с настройками: очищать ссылки, удалять объекты.

 Для примера можно использовать обработки, когда необходимо начать работу с нуля, оставив Контрагентов, Номенклатуру и прочие справочники или как один из этапов свертки большой базы.

ПРЕДУПРЕЖДЕНИЕ!!!

И батник и обработка удаляют справочник SC214. В типовых это справочник партий. Поэтому проверьте это в 1cv7.dd или 1cv7.dds и в случае необходимости внесите изменения в обработку.

Не храните эту программу в доступном для неопытных пользователей месте.
При случайном удалении восстановление почти невозможно.

Не забывайте делать копии базы. Обработки ОПАСНЫ. Без рецепта врача (т.е программиста) не применять!!!

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

Наименование Файл Версия Размер
Удаление
.1230292801 428,32Kb
27.02.13
780
.1230292801 428,32Kb 780 Скачать

См. также

Комментарии
1. Владимир (vovan519) 277 26.12.08 15:02 Сейчас в теме
Думаю на Новый год актуально.
2. LenaTorpeda 26.12.08 15:10 Сейчас в теме
Сколько времени занимает очистка? Например период- год.?
3. Владимир (vovan519) 277 26.12.08 15:13 Сейчас в теме
(2) Не период, а все!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! секунды 2-3.
4. LenaTorpeda 26.12.08 15:16 Сейчас в теме
Не может быть? Хорошо .Сейсчас скачаю и проверю.Если наврал, минус тебе за меня поставят(сама пока не могу) :)
5. LenaTorpeda 26.12.08 15:17 Сейчас в теме
6. LenaTorpeda 26.12.08 15:18 Сейчас в теме
7. Евгений Мартыненков (JohnyDeath) 291 26.12.08 15:32 Сейчас в теме
Торпеда, а что тут удивительного? Я даже не качая могу сказать как это делаетс. Наверняка просто грохаются все дбф файлы, кроме констант и справочников (sc* и 1SCONST). Для скуля, наверное, делается дроп тэйбл по тому же принципу.
Единственное, что ещё надо будет сделать - это очистить историю периодических реквизитов, т.к. она тоже храниться в 1SCONST
LenaTorpeda; vovan519; +2 Ответить 2
8. Роман Петров (PeRom) 51 26.12.08 15:33 Сейчас в теме
4. Что-бы могла, если захочешь. А я пока "+" ставлю...
9. Владимир (vovan519) 277 26.12.08 15:35 Сейчас в теме
Ну для свертки необходимо.
1 сделать копию, даже лучше две.
2 пишем простую обработку, которая по текущим остаткам создает документы ввод остатков... в первой копии.
3 для второй копии удаляем все движения.
4 из первой копии переносим документы ввод остатков. (переносов полно, но не у все нормальная синронизация, так что проверяем).
5 удалить лишнюю периодику можно http://www.infostart.ru/projects/2788/
10. Роман Петров (PeRom) 51 26.12.08 15:39 Сейчас в теме
7. За реализацию этого и "+", историю вопроса изучил основательно и немало намучился на начальных этапах со штатной сверткой и подобными.
11. LenaTorpeda 26.12.08 15:41 Сейчас в теме
(7) молодец! Верно подумал! Я бы тебе плюс поставила.
12. Евгений Мартыненков (JohnyDeath) 291 26.12.08 15:49 Сейчас в теме
(0) Про справочник партий.
1. Если это на скуле и ты используешь 1С++, то тебе не составит труда узнать имя таблицы этого справочника http://www.1cpp.ru/docum/icpp/html/ODBC.html#getreftablename ;)
2. Если дбф и внешний батник, то наваял бы поиск этих данных из дд файла, благо вся инфа там хранится как текст.
13. Владимир (vovan519) 277 26.12.08 16:09 Сейчас в теме
12 прав абсолютно.
Но посмотреть и проверить это две секунды делов. А универсальной обработку все равно не сделаешь. И справочник Партии переименовывают и в нетиповых попадаются справочники со ссылками на документы.
Кроме этого, как ты заметил в (7) многие знаю об этом и используют. Так что тут нет ничего нового.
Поэтому процетирую сам себя:
"Очень простая вещь, но вопросы "Как удалить все, оставив справочники?" возникают на одноесовских форумах раз в месяц регулярно.
Решил выложить, чтобы можно было отвечать просто ссылкой"

14. Владимир (vovan519) 277 26.12.08 16:13 Сейчас в теме
12 используя 1С++ узнавать имя справочника Партии не обязательно, должно хватить и
TRUNCATE TABLE $Справочник.Партии
15. Евгений Мартыненков (JohnyDeath) 291 26.12.08 16:16 Сейчас в теме
(14) ну да, точно! я по длинному пути пошёл.
Вообще настроение какое-то "попи*деть", пообсуждать идеи. ХЗ с чем связано, может с последней пятницей уходящего года? )))
16. Роман Петров (PeRom) 51 26.12.08 16:37 Сейчас в теме
Предложение по доработке, исключающее "И батник и обработка удаляют справочник SC214. В типовых это справочник партий. Поэтому проверьте это в 1cv7.dd или 1cv7.dds " (0). Можно вывести список справочников для выбора на удаление и через ИД удалить только выбранные (можно сделать справочник SC214 выбранным по умолчанию).)
17. Александр Венгер (venger) 2034 26.12.08 18:57 Сейчас в теме
18. Владимир (vovan519) 277 26.12.08 19:25 Сейчас в теме
16, 17 Спасибо. Но думаю лучше оставить как есть. И на то есть три довода.
1. Экономия около 2 секунд.
2. Полной универсальности не добится все равно.
3. Ну и делать инструмент, чтоб им мог воспользоватьтся и колхозник и доярка, если этот инструмент связан с удалением данных не очень хочется.
Кроме этого для sql см 14, а смотреть dd из батника ... :)
19. LenaTorpeda 27.12.08 10:08 Сейчас в теме
Молодец! Все нормально,как я раньше не догадалась. Вот только с очисткой истории
промах.Если подключить твою обработку http://www.infostart.ru/projects/2788/
то выдает вот это: Неудачная попытка удаления значения: Значение установлено документом!
А документа-то уже нет:)
Так что чистить лучше через конфигуратор. Быстрее.
20. Сhe Burashka (CheBurator) 27.12.08 14:40 Сейчас в теме
(19) что еще раз говорит в пользу штатной свертки...
22. Stan (stan-is-lav) 29.12.08 04:48 Сейчас в теме
в справочник сотрудники загляните история осталась а докам всем ПИПЕЦ!!!
23. Владимир (vovan519) 277 29.12.08 14:27 Сейчас в теме
19 уверен, после удаления не делала ТИИ. А зря. И в описании предупреждение и в самой обработке/батнике.
(бурча под нос) Что может быть опасней удаления для программиста... нееееет, все равно не читают инструкции. Хотя, что я бурчу. Сам такой.
20 Спорить не буду. Просто, после недели неприрывной работы штатной свертки надоело ждать. Закрыть бы предприятие на месяц - другой, так директор сопротивляться стал.
Не знаю кто прав. Директор или штатная свертка? :)
Ivan.Krechko; +1 Ответить
24. Владимир (vovan519) 277 29.12.08 14:34 Сейчас в теме
22. Читайте и думайте сами. Написано ТИИ (с настройками: очищать ссылки, удалять объекты.), значит ТИИ. Ведь именно оно очистит ссылки на доки для значений периодических реквизитов.
25. ПодОпытный (mihenius) 86 12.01.09 12:02 Сейчас в теме
Перенести в Чистка базы ;)
Похожее переделывал: http://infostart.ru/projects/1262/
26. Константин (Fisherru) 79 19.01.09 16:26 Сейчас в теме
А вот 1CPP.dll можно было в архив и не запихивать ;)
27. trfryutyu fyugyugy (tuz) 29.03.09 21:35 Сейчас в теме
28. ehoo ehoo (ehoo) 05.02.10 08:33 Сейчас в теме
Хорошо бы в архив положить еще и инструкцию по использованию, поскольку "Обработки ОПАСНЫ. Без рецепта врача (т.е программиста) не применять!!!"
29. Владимир (vovan519) 277 05.02.10 15:22 Сейчас в теме
(28) Так вся опасность в том и заключается, что удаляются все движения. Поэтому не раскидывайте обработку где попало, также как вы прячете нож в кухонный шкаф, а не оставляете его в комнате, где играют малые дети.
А так... все в описании.
30. Женя Горячев (goryachevzhenya) 08.06.10 16:31 Сейчас в теме
del 1SACCSEL
del 1SSBSEL
Эти две строчки стоят без раcширений dbf.