|
v7: Физическое удаление некоторых документов | ☑ | ||
---|---|---|---|---|
0
Max_Ivanov
13.12.17
✎
08:18
|
Здравствуйте!
Может кто-нибудь подсказать, как выпилить из базы все документы кроме документов какого-то одного типа? Удалили dbfки ненужных документов - в журнале они все равно висят, но пустые. Удалили журнал - в журнале теперь нет вообще ничего, документы он не видит. |
|||
1
НЕА123
13.12.17
✎
08:22
|
(0)
чую, не надо этого делать. |
|||
3
Рэйв
13.12.17
✎
08:26
|
(0)Как вариант, сделай рядом пустую базу с текущей конфой и перенеси через КД справочники и нужный вид доков. Правила для идентичных конфигураций нормально делаются автоматически
|
|||
4
VladZ
13.12.17
✎
08:27
|
Я думаю, перенести нужные доки будет быстрее, чем "выпиливать" все остальные.
|
|||
5
VladZ
13.12.17
✎
08:28
|
(0) "Удалили журнал - в журнале теперь нет вообще ничего, документы он не видит." - так нельзя делать.
|
|||
6
Владимир1С
13.12.17
✎
09:07
|
(0) Интересный подход! Ожидаем трансляции с места события.
Если уж так хочется достать до гланд через противоположный проход, То вот тебе совет: Создаёшь Базу техно, из неё лезешь в рабочую, в файл журнала, и проставляешь в нужных полях Единички - признак полного удаления. Как найти нужные поля, спроси у учителя. |
|||
7
Max_Ivanov
13.12.17
✎
09:11
|
(6) Я нуб, но я не идиот :/
(3) В результате так и делаем, спасибо за совет. |
|||
8
Владимир1С
13.12.17
✎
09:21
|
(7) я практически таким способом обрезаю базы данных: В периоде остаются ВСЕ доки , включая доки ввода остатков, а документы помимо установленного периода помечаются на полное удаление. Причём Работа производится из сторонней базы, через объект DBF. Поля ДБФ просто читаются, и далее обычное сравнение. Работает в 5-10-15(примерно) раз быстрее всех остальных способов. Только вот ссылочная целостность летит, но в моих задачах это не так важно, как размер базы данных. Зато позволяет за приемлемое время обрезать базы 6-7-и летней давности.
|
|||
9
big
13.12.17
✎
10:01
|
(8)
- А можно есть эти грибы? - Можно. Только отравишься. ))) ;) |
|||
10
Владимир1С
13.12.17
✎
10:50
|
(9) Можно, только их надо уметь готовить. Для каждой задачи есть самое подходящее средство. В ряде случаев Ссылочная целостность не так важна, как скорость работы. Именно эта цель достигается. Информацию по пустым ссылкам можно получать несколькими способами. Пропадает один - не проблема.
|
|||
11
Kigo_Kigo
14.12.17
✎
12:49
|
Процедура Сформировать()
Док= СоздатьОбъект("Документ"); Док.ВыбратьДокументы(); Пока Док.ПолучитьДокумент() = 1 Цикл Если Док.Вид() = "НужныйВид" Тогда Продолжить; КонецЕсли; Док.Удалить(1); Состояние("Удаляем " + Строка(Док.ДатаДок)); КонецЦикла; КонецПроцедуры После конфигуратор - Тестирование и Исправление БД, Все галки = v(в том числе упаковка таблиц), настройка - ОчищатьСсылки, удалять данные объектов, выполнить |
|||
12
MWWRuza
гуру
15.12.17
✎
19:41
|
Да в принципе, можно и дбф-ки документов(ну, и естественно - регистров или что там у Вас ими двигается) удалить, оставив только нужные, а потом обязательно тестирование и исправление, с настройками как в предыдущей месаге...
|
|||
13
Владимир1С
17.12.17
✎
18:40
|
(11) Ошибка: Сперва надо выбрать все нужные доки в список значений, потом искать по одному и удалять. В приведённом примере после первого выполнения выборка документов сбросится, и циклу до свидания.
|
|||
14
Kigo_Kigo
18.12.17
✎
11:30
|
(13) Ничего там не слетает, "тысчу" раз так делал
|
|||
15
vde69
модератор
18.12.17
✎
11:34
|
для чайников - нужно не удалять, а ставить пометку на удаление... ибо ссылочная целостность вещь полезная...
|
|||
16
Ёпрст
18.12.17
✎
11:35
|
||||
17
Kigo_Kigo
18.12.17
✎
11:42
|
(15) Нафиг она не нужна в 99% случаев, в случае ТС-а так 100% не надо
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |