Имя: Пароль:
1C
1C 7.7
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% не надо