Очень простая вещь, но вопросы «Как удалить все, оставив справочники?» возникают на одноесовских форумах раз в месяц регулярно.
Решил выложить, чтобы можно было отвечать просто ссылкой
Итак. Имеем две версии. bat файл для dbf и ert для sql. Для sql необходима 1cpp (лежит в архиве).
И батник и обработка выполняют одни и те же действия, удаляют все движения (документы, движения по регистрам, проводки и т.д.), оставляя нетронутыми справочники и константы.
После выполнения:
(для dbf, после выполнения батника) Запустить предприятие в монопольном режиме (восстановит файлы)
(для обоих вариантов dbf и sql) Тестирование и исправление с настройками: очищать ссылки, удалять объекты.
Для примера можно использовать обработки, когда необходимо начать работу с нуля, оставив Контрагентов, Номенклатуру и прочие справочники или как один из этапов свертки большой базы.
ПРЕДУПРЕЖДЕНИЕ!!!
И батник и обработка удаляют справочник SC214. В типовых это справочник партий. Поэтому проверьте это в 1cv7.dd или 1cv7.dds и в случае необходимости внесите изменения в обработку.
Не храните эту программу в доступном для неопытных пользователей месте.
При случайном удалении восстановление почти невозможно.
Не забывайте делать копии базы. Обработки ОПАСНЫ. Без рецепта врача (т.е программиста) не применять!!!
Думаю на Новый год актуально.
Сколько времени занимает очистка? Например период- год.?
(2) Не период, а все!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! секунды 2-3.
Не может быть? Хорошо .Сейсчас скачаю и проверю.Если наврал, минус тебе за меня поставят(сама пока не могу) 🙂
А пока посмотри. В чем разница?
http://infostart.ru/community/groups/18/forum/7651/
На (4) опечатка !
Торпеда, а что тут удивительного? Я даже не качая могу сказать как это делаетс. Наверняка просто грохаются все дбф файлы, кроме констант и справочников (sc* и 1SCONST). Для скуля, наверное, делается дроп тэйбл по тому же принципу.
Единственное, что ещё надо будет сделать — это очистить историю периодических реквизитов, т.к. она тоже храниться в 1SCONST
4. Что-бы могла, если захочешь. А я пока «+» ставлю…
Ну для свертки необходимо.
http://www.infostart.ru/projects/2788/
1 сделать копию, даже лучше две.
2 пишем простую обработку, которая по текущим остаткам создает документы ввод остатков… в первой копии.
3 для второй копии удаляем все движения.
4 из первой копии переносим документы ввод остатков. (переносов полно, но не у все нормальная синронизация, так что проверяем).
5 удалить лишнюю периодику можно
7. За реализацию этого и «+», историю вопроса изучил основательно и немало намучился на начальных этапах со штатной сверткой и подобными.
(7) молодец! Верно подумал! Я бы тебе плюс поставила.
(0) Про справочник партий.
http://www.1cpp.ru/docum/icpp/html/ODBC.html#getreftablename 😉
1. Если это на скуле и ты используешь 1С++, то тебе не составит труда узнать имя таблицы этого справочника
2. Если дбф и внешний батник, то наваял бы поиск этих данных из дд файла, благо вся инфа там хранится как текст.
12 прав абсолютно.
Но посмотреть и проверить это две секунды делов. А универсальной обработку все равно не сделаешь. И справочник Партии переименовывают и в нетиповых попадаются справочники со ссылками на документы.
Кроме этого, как ты заметил в (7) многие знаю об этом и используют. Так что тут нет ничего нового.
Поэтому процетирую сам себя:
«Очень простая вещь, но вопросы «Как удалить все, оставив справочники?» возникают на одноесовских форумах раз в месяц регулярно.
Решил выложить, чтобы можно было отвечать просто ссылкой»
12 используя 1С++ узнавать имя справочника Партии не обязательно, должно хватить и
TRUNCATE TABLE $Справочник.Партии
(14) ну да, точно! я по длинному пути пошёл.
Вообще настроение какое-то «попи*деть», пообсуждать идеи. ХЗ с чем связано, может с последней пятницей уходящего года? )))
Предложение по доработке, исключающее «И батник и обработка удаляют справочник SC214. В типовых это справочник партий. Поэтому проверьте это в 1cv7.dd или 1cv7.dds » (0). Можно вывести список справочников для выбора на удаление и через ИД удалить только выбранные (можно сделать справочник SC214 выбранным по умолчанию).)
(12) А DD можно посмотреть и так;-)
http://infostart.ru/projects/3080/
16, 17 Спасибо. Но думаю лучше оставить как есть. И на то есть три довода.
1. Экономия около 2 секунд.
2. Полной универсальности не добится все равно.
3. Ну и делать инструмент, чтоб им мог воспользоватьтся и колхозник и доярка, если этот инструмент связан с удалением данных не очень хочется.
Кроме этого для sql см 14, а смотреть dd из батника … 🙂
Молодец! Все нормально,как я раньше не догадалась. Вот только с очисткой истории
http://www.infostart.ru/projects/2788/
промах.Если подключить твою обработку
то выдает вот это: Неудачная попытка удаления значения: Значение установлено документом!
А документа-то уже нет:)
Так что чистить лучше через конфигуратор. Быстрее.
(19) что еще раз говорит в пользу штатной свертки…
в справочник сотрудники загляните история осталась а докам всем ПИПЕЦ!!!
19 уверен, после удаления не делала ТИИ. А зря. И в описании предупреждение и в самой обработке/батнике.
(бурча под нос) Что может быть опасней удаления для программиста… нееееет, все равно не читают инструкции. Хотя, что я бурчу. Сам такой.
20 Спорить не буду. Просто, после недели неприрывной работы штатной свертки надоело ждать. Закрыть бы предприятие на месяц — другой, так директор сопротивляться стал.
Не знаю кто прав. Директор или штатная свертка? 🙂
22. Читайте и думайте сами. Написано ТИИ (с настройками: очищать ссылки, удалять объекты.), значит ТИИ. Ведь именно оно очистит ссылки на доки для значений периодических реквизитов.
Перенести в Чистка базы 😉
http://infostart.ru/projects/1262/
Похожее переделывал:
А вот 1CPP.dll можно было в архив и не запихивать 😉
спасибо за файл
Хорошо бы в архив положить еще и инструкцию по использованию, поскольку «Обработки ОПАСНЫ. Без рецепта врача (т.е программиста) не применять!!!»
(28) Так вся опасность в том и заключается, что удаляются все движения. Поэтому не раскидывайте обработку где попало, также как вы прячете нож в кухонный шкаф, а не оставляете его в комнате, где играют малые дети.
А так… все в описании.
del 1SACCSEL
del 1SSBSEL
Эти две строчки стоят без раcширений dbf.