gifts2017

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

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

14. Владимир (vovan519) 26.12.08 16:13
12 используя 1С++ узнавать имя справочника Партии не обязательно, должно хватить и
TRUNCATE TABLE $Справочник.Партии
15. Евгений Мартыненков (JohnyDeath) 26.12.08 16:16
(14) ну да, точно! я по длинному пути пошёл.
Вообще настроение какое-то "попи*деть", пообсуждать идеи. ХЗ с чем связано, может с последней пятницей уходящего года? )))
16. Роман Петров (PeRom) 26.12.08 16:37
Предложение по доработке, исключающее "И батник и обработка удаляют справочник SC214. В типовых это справочник партий. Поэтому проверьте это в 1cv7.dd или 1cv7.dds " (0). Можно вывести список справочников для выбора на удаление и через ИД удалить только выбранные (можно сделать справочник SC214 выбранным по умолчанию).)
17. Александр Венгер (venger) 26.12.08 18:57
18. Владимир (vovan519) 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) 29.12.08 14:27
19 уверен, после удаления не делала ТИИ. А зря. И в описании предупреждение и в самой обработке/батнике.
(бурча под нос) Что может быть опасней удаления для программиста... нееееет, все равно не читают инструкции. Хотя, что я бурчу. Сам такой.
20 Спорить не буду. Просто, после недели неприрывной работы штатной свертки надоело ждать. Закрыть бы предприятие на месяц - другой, так директор сопротивляться стал.
Не знаю кто прав. Директор или штатная свертка? :)
Ivan.Krechko; +1 Ответить
24. Владимир (vovan519) 29.12.08 14:34
22. Читайте и думайте сами. Написано ТИИ (с настройками: очищать ссылки, удалять объекты.), значит ТИИ. Ведь именно оно очистит ссылки на доки для значений периодических реквизитов.
25. ПодОпытный (mihenius) 12.01.09 12:02
Перенести в Чистка базы ;)
Похожее переделывал: http://infostart.ru/projects/1262/
26. Константин (Fisherru) 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) 05.02.10 15:22
(28) Так вся опасность в том и заключается, что удаляются все движения. Поэтому не раскидывайте обработку где попало, также как вы прячете нож в кухонный шкаф, а не оставляете его в комнате, где играют малые дети.
А так... все в описании.
30. Женя Горячев (goryachevzhenya) 08.06.10 16:31
del 1SACCSEL
del 1SSBSEL
Эти две строчки стоят без раcширений dbf.
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа