Имя: Пароль:
1C
1С v8
УПП групповая очистка базы, как проще сделать?
0 Stagor
 
21.02.13
11:25
Требуется удалить все документы, кроме кадровых и зарплатных из УПП, как лучше и быстрее это сделать?
Групповая обработка - слишком долго, и не долго выбирать виды документов!
Может у кого то поделиться идеями?
1 ILM
 
гуру
21.02.13
11:33
1)Выгрузить Документы по персоналу, кадрам и зарплате вместе с движениями. Потом загрузить в пустую базу. Галки загрузки по ссылке оставить. Выгружаться будет долго, загружаться тоже.
2)Создай план обмена нужных доков и синхронизируй с пустой базой, тут уже КД знать надо.
2 Stagor
 
21.02.13
11:35
(1) Это слишком много мороки, проще наверно удалить торговые и производственные документы
3 Stagor
 
21.02.13
11:46
других вариантов попроще нет?
4 Stagor
 
21.02.13
12:54
вот и проси помощи - либо Х. положат, либо КЭП подскажет самый трудоёмкий вариант!
5 Kom-off
 
21.02.13
13:00
(3) Да есть, варианты. На сайте, Который Называть Нельзя, есть обработка быстрого удаления, но она работает для варианта использования базы клиент-сервер с СУБД SQL.
6 Stagor
 
21.02.13
13:02
(5) спасибо большое - скинь ссылочку, если не сложно на мой мэйл в профиле.
7 Kom-off
 
21.02.13
13:03
(6) А у меня ее нет. Искать надо. Я как то пользовался. Остался доволен. Нашел легко.
8 Stagor
 
21.02.13
13:07
(7) Для 77 - нашел, а вот для 8.2 пока нет!
А какой сайт запрещено тут упомянать? Не инфостарт часом?
9 GANR
 
21.02.13
13:10
ТекстЗапроса = "";
Для Каждого ОбъектМетаданных Из Метаданные.Документы Цикл
  Если Метаданные.Подсистемы.ТвояЗарплата.Состав.Содержит(ОбъектМетаданных) Тогда
     Продолжить;
  КонецЕсли;
  Если ТекстЗапроса <> "" Тогда
     ТекстЗапроса = ТекстЗапроса + "
     |ОБЪЕДИНИТЬ ВСЕ
     |";
  КонецЕсли;
  ТекстЗапроса = ТекстЗапроса + "ВЫБРАТЬ
  |   Ссылка
  |ИЗ
  |   " + ОбъектМетаданных.ПолноеИмя();
КонецЦикла;

// выполняем запрос

Запрос = Новый Запрос(ТекстЗапроса);

Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();

// обрабатываем результат запроса

Пока Выборка.Следующий() Цикл
  ОбъектПоСсылке = Выборка.Ссылка.ПолучитьОбъект();
  ОбъектПоСсылке.ПометкаУдаления = Истина;
  ОбъектПоСсылке.Записать();
КонецЦикла
10 GANR
 
21.02.13
13:11
(7) с infostart.ru как-то скачал, провел эксперимент - куча ссылок на несуществующие объекты при тестировании и исправлении всплыло
11 Stagor
 
21.02.13
13:23
(9)
Была такая идея.
Ну, вот "ОтпускаОрганизаций" вообще ни одной подсистеме не принадлежит почему то... в УПП 1.3.36.1
12 Kom-off
 
21.02.13
13:23
(8) ...часом...
13 Kom-off
 
21.02.13
13:24
(9) Это пометка удаления, а удаление (да и пометка на удаление, тоже) таким способом будет идти долго, особливо, если база большая.
14 Maxus43
 
21.02.13
13:26
если контролировать ссылочную целостность - быстро не сделать никак. в скуле Дроп и create быстро почистит, никто не спорит, а толку 0, вся база в битых ссылках
15 Stagor
 
21.02.13
13:27
(14) это проблема
16 Maxus43
 
21.02.13
13:27
(15) как раз вариант (1) самый жизнеспособный. остальное на свой страх и риск
17 Sammo
 
21.02.13
13:29
(14) Только через truncate. Дроп это как-то жестоко
18 Kom-off
 
21.02.13
13:29
(14) В каких? В регистре сведений ОбъектыДоступаДокументов? Да, и фиг с ним. А потом, после этой обработки я, помню, как то легко почистил все битые ссылки. Так что, если руки прямые, то пользоваться SQL-ным удалением можно.
19 Maxus43
 
21.02.13
13:30
(17) да разницы никакой по сути, одновременно drop + create быстрей всего
20 Maxus43
 
21.02.13
13:31
(18) если нормально проанализировать что надо чистить, а что нет - да, можно обойтись малой кровью
21 Kom-off
 
21.02.13
13:31
(8) Кажись, эта http://<sensored>.ru/public/16731/
22 Kom-off
 
21.02.13
13:32
(20) Дык, и я об этом...
23 Sammo
 
21.02.13
13:32
(19) Ага. И создавать со всеми индексами потом? В то время как для транкейта только имя таблицы надо. Так что на мой взгляд дропать - это перебор. И кстати он тоже весьма быстр (особенно по сравнению с делетом)
24 Maxus43
 
21.02.13
13:32
(21) щас вржеский сайт не такой уж и вражеский. либерально вс
25 Kom-off
 
21.02.13
13:36
(24) Да? Отстал я от политической линии.
26 Maxus43
 
21.02.13
13:37
(23) правой кнопкой на таблице - задачи - дроп+криэйт - создаёт моментально со всеми индексами, таблица пустая же, делает полную копию таблицы по сути пустую. ХЗ, о вкусах не спорят. Даже соглашусь что транкейт по феншую, но в самом скуле юзаю обыно дроп, если мышкой лазить в менеджмент студио
27 GANR
 
21.02.13
13:44
(11)(13) (9) надо ночью выполнять или / и фоновым заданием - как иначе ссылочную целостность сохранить ???
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший