|
Как быстро пометить на удаление порядка 250000 документов УТ 11? | ☑ | ||
---|---|---|---|---|
0
tomsv
01.03.16
✎
23:12
|
Собственно в этом и весь вопрос, естесственно ctrl-a пробовал, система походу сутки только выделением объектов будет заниматься. Есть ли какие-то обработки, которые сделают это быстро по отбору за период? Сам я админ, сильно не пинайте, но не понимаю, почему такие тормоза в управляемых формах? Вариант клиент-серверный, сервак курит....
|
|||
1
Tateossian
01.03.16
✎
23:34
|
Открой конфигуратор. Нажми Файл -> Новый -> Внешняя обработка
Ткни в кнопку лупы поле "Форма обработки". Если у тебя управляемые формы, тогда выбери тип формы "Управляемая". Найди событие "ПриСозданииНаСервере" в менюшке. Жми на лупу. Сгенерится шаблон функции, туда поставь вот это: //&НаСервере //Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) ВыборкаДокументов = Документы.ИмяДокументаВКофигураторе.Выбрать(Дата("01.01.2016 00:00:00"), Дата("01.04.2015 00:00:00"), , "Дата"); Пока ВыборкаДокументов.Следующий() Цикл ВыборкаДокументов.Ссылка.ПолучитьОбъект().УстановитьПометкуУдаления(); КонецЦикла; //КонецПроцедуры |
|||
2
Vladal
01.03.16
✎
23:36
|
Не зная всей картины, можно такого насоветовать...
Если база клиент-серверная, то самый быстрый, но неверный способ, сделать update таблицы с документами средствами движка БД. Если "не программируя", то возьми обработку "Универсальный подбор и обработка объектов". В ней можно отобрать документы по нескольким фильтрам и потом проставить пометку удаления, просто кликая мышкой. Но она работает по принципу 1 объект, 1 транзакция. Ну и самому наваять обработку по поселке на удаление. Не забывай фиксировать транзакции, потому что если все делать в одной транзакции, то на таких объёмах будут дикие тормоза. |
|||
3
Tateossian
01.03.16
✎
23:36
|
(1) Разумеется, дату поставь какую надо. И ИмяДокументаВКофигураторе на нужный тип документа. После этого открой обработку в режиме предприятия и наслаждайся. Ах да - сделай бекап))
|
|||
4
Diman000
01.03.16
✎
23:37
|
Следующий вопрос будет как быстро удалить 250 тыс помеченных объектов...
|
|||
5
Tateossian
01.03.16
✎
23:37
|
(2) В этой обработке можно поставить флаг "Выполнять в одной транзакции".
|
|||
6
Vladal
01.03.16
✎
23:38
|
(3) Я добавлю - сначала все эксперименты делай на копии базы.
Только потом на боевой, когда убедишься в правильности результата. |
|||
7
Vladal
01.03.16
✎
23:39
|
(5) может в новых релизах и добавилась, а может я и не видел его. Больше пользуюсь "произвольным алгоритмом" для быстрой обработки и не писать каждый раз лисапет.
|
|||
8
Tateossian
01.03.16
✎
23:42
|
(7) Мне для таких нужд больше нравятся инструменты разработчика, там есть волшебная кнопка "Консоль кода".
|
|||
9
Vladal
01.03.16
✎
23:48
|
(8) есть и такая консоль с выполнением кода. Но это для более тонкой работы.
|
|||
10
Tateossian
01.03.16
✎
23:49
|
(9) Мне кажется, если в одной транзакции помечать на удаление 250000 документов - можно положить сервак.
|
|||
11
tomsv
02.03.16
✎
00:08
|
(1) спасибо, завтречка на копии базы поппробую прогнать это дело. А первая дата больше, чем вторая, так и должно быть? Сначала конец периода указывать?
|
|||
12
Garykom
гуру
02.03.16
✎
00:23
|
по уму универсальная обработка для быстрого удаления объектов (пометки на удаление) с регулировкой кол-ва элементов в транзакции уже должна быть на Инфостарте
поискать там, если нету то скажи наваяет кто нить, да хотя бы я и скачаешь с ИСа |
|||
13
Garykom
гуру
02.03.16
✎
00:25
|
(12)+ недоделка какая то http://catalog.mista.ru/public/396017/ нет возможности вид документа выбирать
а вот оно http://catalog.mista.ru/public/175028/ но не бесплатно |
|||
14
tomsv
02.03.16
✎
00:28
|
(12) Наваяй, плиз, а то тут столько делов предстоит с большими базами.... Вот только абонемента на ИСе у меня нет....
|
|||
15
tomsv
02.03.16
✎
00:31
|
(13) и на этом спасибо)) \m/
|
|||
16
Garykom
гуру
02.03.16
✎
00:38
|
(14) там биржа есть... сча 10.71 рубля за 1SM
|
|||
17
alle68
02.03.16
✎
01:49
|
(11) Даты, конечно, наоборот.
Желательно отключить итоги тех регистров, которые двигают эти документы. |
|||
18
Мэс33
02.03.16
✎
06:55
|
(1) 250 тыс - долго же будет.
Допустим 2-3 документа в секунду (что маловероятно) - пусть 3. 250 000 / 3 / 60 / 60 = 23 часа. |
|||
19
ИС-2
naïve
02.03.16
✎
09:23
|
(1) еще можно чуть модифицировать
ВыборкаДокументов = Документы.ИмяДокументаВКофигураторе.Выбрать(Дата("01.01.2016 00:00:00"), Дата("01.04.2015 00:00:00"), , "Дата"); Пока ВыборкаДокументов.Следующий() Цикл Об = ВыборкаДокументов.Ссылка.ПолучитьОбъект(); Об.ОбменДанными.Загрузка = истина; Об.УстановитьПометкуУдаления(); КонецЦикла; чтобы минимум проверок выполнялось. хм, а в этом варианте движения очистятся? А еще можно запустить УТ11 в обычном приложение, найти в инете ГрупповаяОбработкаСправочниковИДокументов.epf и пометить через нее |
|||
20
Serginio1
02.03.16
✎
09:32
|
||||
21
rs_trade
02.03.16
✎
09:41
|
(0) Про ctr-a повеселил. Напиши обработину где запусти 2-3 фоновых задания поделив доки между ними. За ночь должно пометиться.
Потом удаляй так-же фоновыми параллельно. |
|||
22
Tateossian
02.03.16
✎
09:44
|
(21) Ключевой момент "Сам я админ, сильно не пинайте,"
|
|||
23
Лефмихалыч
02.03.16
✎
09:46
|
групповая обработка документов - типовая обработка такая
|
|||
24
Лефмихалыч
02.03.16
✎
09:46
|
или "Универсальный подбор и обработка объектов" с ИТС
|
|||
25
Лефмихалыч
02.03.16
✎
09:46
|
или самопиль какую напилить в три строки
|
|||
26
rs_trade
02.03.16
✎
09:55
|
В инструментах разработчика хорошие обработины. Там вроде как раз в фоновых заданиях все происходит.
|
|||
27
Ranger_83
02.03.16
✎
09:59
|
(0) Может тебе их просто спрятать?
|
|||
28
Юрий Лазаренко
02.03.16
✎
10:22
|
(0) ОбменДанными.Загрузка = истина
Плюс помечать порциями в транзакции, например, по 1000 штук за один раз. |
|||
29
tomsv
02.03.16
✎
10:57
|
(27) Про "спрятать" можно поподробнее и в красках? Мож ссыль есть, где подробно почитать?
|
|||
30
Широкий
02.03.16
✎
12:04
|
||||
31
Necessitudo
02.03.16
✎
12:18
|
Так UPDATE в сиквеле. Только больной будет пользовать для этого средства 1С.
|
|||
32
Сильф
02.03.16
✎
12:21
|
(1) (19) > Дата("01.01.2016 00:00:00")
Я извиняюсь, а '20160101' уже отменили? |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |