Имя: Пароль:
1C
1C 7.7
v7: Можно ли в 1с 7.7 Комплексная удалить последние 2 года данных?
0 Ночной Эльф
 
22.08.12
08:39
Всем доброго времени суток. Вобщем ситуация такая можно ли удалить из базы 2 последних года т.е. из всех документов, справочников и регистров которые были созданы за последние 2 года?

Просто базу нужно отдать на тестирование 3 лицам руководство согласилось на это если будет удалена информация за последние 2 года. Можно ли это как нибудь сделать не в ручную?
1 BlackSeaCat
 
22.08.12
08:41
Можно и вручную, и почти мгновенно: поднять базу из бэкапа.
2 Ночной Эльф
 
22.08.12
08:42
(1) Поднять то поднять можно а конфигурация то уже не та она у нас каждую неделю переписывается
3 Valery
 
22.08.12
08:43
свертку сделать
4 Godofsin
 
22.08.12
08:43
(0) Что значит "тестирование"? Как насчет выгрузки файла конфигурации?
5 Ночной Эльф
 
22.08.12
08:44
(3) А ты недумал что свертка делает наоборот т.е. останет 2011 и 2012 года если сделать по 01.01.2011 А как чтобы наоборот последний документ был 31.12.2010
6 Ночной Эльф
 
22.08.12
08:44
(4) как это сделать ?
7 Godofsin
 
22.08.12
08:49
(6)а блин 7ка же... МД им отдай и все, будет струтура без данных вообще.
8 Ночной Эльф
 
22.08.12
08:50
да но им и данные нужные какие то чтобы понятнее было так вобще х?р разберуться тут так все закручено
9 Fedot200
 
22.08.12
08:55
Док=СоздатьОбъект("Документ");
Док.ВыбратьДокументы(ДатаНачала,ДатаКонца);
Пока Док.ПолучитьДокумент()>0 Цикл
 Док.Удалить();
КонецЦикла;

Не?
10 Ночной Эльф
 
22.08.12
08:57
и че вот у нас тут около 50 различных документов используется и мне для каждого это делать?
11 Godofsin
 
22.08.12
08:58
(10) зачем?
12 Ночной Эльф
 
22.08.12
08:58
(9) или же он выбирает вобще все документы ?
13 Fedot200
 
22.08.12
08:58
(10) Док=СоздатьОбъект("Документ"); - все доки выбирает
14 Ночной Эльф
 
22.08.12
08:59
а получает в глобальный модуль засунуть при открытии базы чтобы сработало, а потом просто удалить эти строки и все
15 Fedot200
 
22.08.12
08:59
Единственное если документов до хера, то может долго удалять. Пробуй вначале маленький период, чтобы время оценить.
16 Fedot200
 
22.08.12
09:00
(14) Нафига? Обработку сделай внешнюю.
17 Godofsin
 
22.08.12
09:00
(14) Обработкой внешней сделай
18 KRV
 
22.08.12
09:00
Мдя.. за судьбу 1С можно не беспокоиться.. титаноклювые отрастают быстрее, чем предыдущих выгоняют в антигравитаторы за профнепригодность..
19 Ночной Эльф
 
22.08.12
09:00
ок спасибо щас попробую
20 Ночной Эльф
 
22.08.12
09:01
(18) че за бред ты несешь
21 Fedot200
 
22.08.12
09:03
(18)А чё норм, в глобальный модуль воткнуть удаление и прям в рабочую базу и клево :-)
22 Надсмотрщик
 
22.08.12
09:10
+(18) Маразм крепчал
23 ZloyProger
 
22.08.12
09:38
Хех) Это мне напомнило мою студенческую молодость, когда на кафедре написал в ворде макрос типа selеct all delete save close  и поставил его в автозагрузку))) Инженеры потом месяц к компам не подпускали))) Пока чуть не выкинутую ими машину поднял и реанимировал.
24 Maximysis
 
22.08.12
10:36
1) Сверни базу на нужное число.(на это число создадутся операции в которых будут остатки до свертки)
2) Типовая обработка "Обработка документов" удали все доки на дату.
Если не нужны остатки то и созданные сверткой операции снеси.
25 BlackSeaCat
 
22.08.12
10:40
Напоминаю советчикам: автору надо еще почистить "справочники и регистры которые были созданы за последние 2 года"
26 Надсмотрщик
 
22.08.12
10:41
(24) Еще одна жертва Чернобыля........
27 snikos
 
22.08.12
10:47
Не знаю как в 7.7 но в 8.2 можно было бы пойти по принципу изготовления демо версий.
Извлеч из архива двухлетнюю базу с данными и через сравнение и объединение конфигураций объеденить ее с выгруженной в файл текущей конфигурацией.
28 Джордж1
 
22.08.12
10:49
Удаляем все доки за 2 года. Помечаем на удаление все элементы справочников - удаляем помеченные объекты стандартным образом
29 Эльниньо
 
22.08.12
11:00
С доками понятно. Как с справочниками быть?
30 vova1122
 
22.08.12
11:02
Предложенный код в (9) отработает намного быстрее если его поместить в транзакцию по 500 операций
31 SED
 
22.08.12
11:03
(0) интересно какой смысл передавать со старыми данными, если у вас там все переписывается 1 раз в неделю? может проще перенести в пустую базу 1-2 месяца не таких старых в чистую базу
32 Кукуев
 
22.08.12
11:17
У меня есть МОД, поэтому я бы сделал так:
Сделал пустую базу из нужного MD, установил на неё МОД, удалил все ненужные справочники (которые создаются при создании чистой базы), синхронизировал оставшиеся, настроил правила и сделал бы выгрузку документов за нужный период из базы-источника (подразумевая, что в ней МОД установлен, конечно). При выгрузке документов будут выгружаться только справочники, на которые есть ссылки в документах. Если не нужна история справочников - всё это делается настройках правил. После загрузки в чистую базу имел бы документы и справочники только за нужный период...
33 GreyAngel
 
22.08.12
11:19
(29) Пометить на удаление и воспользоваться стандартным механизмом удаления помеченных. Не?
34 GreyAngel
 
22.08.12
11:21
(32) Вы уверены, что автор темы понял хотя бы половину написанного? Я вот что-то сомневаюсь. :)

PS. Советы надо давать такие, чтобы собеседник их понимал.
35 Кукуев
 
22.08.12
11:32
(34) Запутать автора - такая цель не преследовалась, конечно, приношу извинения...
МОД - Менеджер Обмена Данными, вроде как известный механизм по обмену, ну а как с ним работать - при желании можно разобраться. И я просто описал, как можно получить сабж, имея МОД...
p.s. и это был не то чтоб совет, а один из способов выполнени я поставленной
36 Кукуев
 
22.08.12
11:34
+(35)поставленной задачи.
(улетело в эфир раньше времени :))
37 Эльниньо
 
22.08.12
11:42
(33) Пометить на удаление элементы созданные за последние 2 года?
38 Надсмотрщик
 
22.08.12
11:45
(37) Отметился              :-)))
39 Митор
 
22.08.12
11:47
(2) поднять из быкапа, быкап обновить на ту конфигурацию
40 SED
 
22.08.12
11:50
+(39) поднять и накатить текущий мд
41 Джордж1
 
22.08.12
11:51
(37)Еще раз. Помечаем на удаление ВСЕ элементы справочников. Удаляем помеченные объекты стандартным образом.
42 Irek-kazan
 
22.08.12
11:53
а не проще обезличить базу?
43 vova1122
 
22.08.12
11:55
(37)
1. Сначала пометить на удаление документы за 2 года. Потом стандартным механизмом Удалить помеченные документы.
2. Пометить все элементы справочников (похожим кодом как в (9)).
3. Потом стандартным механизмом Удалить помеченные элементы справочников
4. Элементы справочников, какие удалить система не позволила удалить снять пометку удаления.
Всё, у вас база двухгодичной давности....
44 zva
 
22.08.12
11:55
(0) Нужно базу выложить, тут и свернут и удалят и обновят...
45 Надсмотрщик
 
22.08.12
11:56
(43) Думаешь до него дошло?         :-)
46 Джордж1
 
22.08.12
12:08
(43)
1. Почему бы сразу не удалить. Без пометки
47 Эльниньо
 
22.08.12
12:13
(41) Ещё раз: "удалить из базы 2 последних года т.е. из всех документов, справочников..."
48 Эльниньо
 
22.08.12
12:13
(46) Ай, красава!
49 vova1122
 
22.08.12
12:14
(46) Оптимизации нет предела...
50 Джордж1
 
22.08.12
12:15
(47)Именно это в итоге и получится. удалятся 2 последних года. совсем
51 GreyAngel
 
22.08.12
12:41
(47) Автору нужно, чтобы в базе отсутствовали последние два года, а вовсе не полная копия базы двухгодичной давности. Так что предложенный вариант удовлетворяет условиям задачи. Не надо искать сложности, там где их нет.
52 Эльниньо
 
22.08.12
12:51
(51) Да меня прикалывает серьёзное обсуждение идиотской задачи.