Как быстро пометить на удаление порядка 250000 документов УТ 11? #766645


#0 by tomsv
Собственно в этом и весь вопрос, естесственно ctrl-a пробовал, система походу сутки только выделением объектов будет заниматься. Есть ли какие-то обработки, которые сделают это быстро по отбору за период? Сам я админ, сильно не пинайте, но не понимаю, почему такие тормоза в управляемых формах? Вариант клиент-серверный, сервак курит....
#1 by Tateossian
Открой конфигуратор. Нажми Файл -> Новый -> Внешняя обработка Ткни в кнопку лупы поле "Форма обработки". Если у тебя управляемые формы, тогда выбери тип формы "Управляемая". Найди событие "ПриСозданииНаСервере" в менюшке. Жми на лупу. Сгенерится шаблон функции, туда поставь вот это:
#2 by Vladal
Не зная всей картины, можно такого насоветовать... Если база клиент-серверная, то самый быстрый, но неверный способ, сделать update таблицы с документами средствами движка БД. Если "не программируя", то возьми обработку "Универсальный подбор и обработка объектов". В ней можно отобрать документы по нескольким фильтрам и потом проставить пометку удаления, просто кликая мышкой. Но она работает по принципу 1 объект, 1 транзакция. Ну и самому наваять обработку по поселке на удаление. Не забывай фиксировать транзакции, потому что если все делать в одной транзакции, то на таких объёмах будут дикие тормоза.
#3 by Tateossian
Разумеется, дату поставь какую надо. И ИмяДокументаВКофигураторе на нужный тип документа. После этого открой обработку в режиме предприятия и наслаждайся. Ах да - сделай бекап))
#4 by Diman000
Следующий вопрос будет как быстро удалить 250 тыс помеченных объектов...
#5 by Tateossian
В этой обработке можно поставить флаг "Выполнять в одной транзакции".
#6 by Vladal
Я добавлю - сначала все эксперименты делай на копии базы. Только потом на боевой, когда убедишься в правильности результата.
#7 by Vladal
может в новых релизах и добавилась, а может я и не видел его. Больше пользуюсь "произвольным алгоритмом" для быстрой обработки и не писать каждый раз лисапет.
#8 by Tateossian
Мне для таких нужд больше нравятся инструменты разработчика, там есть волшебная кнопка "Консоль кода".
#9 by Vladal
есть и такая консоль с выполнением кода. Но это для более тонкой работы.
#10 by Tateossian
Мне кажется, если в одной транзакции помечать на удаление 250000 документов - можно положить сервак.
#11 by tomsv
спасибо, завтречка на копии базы поппробую прогнать это дело. А первая дата больше, чем вторая, так и должно быть? Сначала конец периода указывать?
#12 by Garykom
по уму универсальная обработка для быстрого удаления объектов (пометки на удаление) с регулировкой кол-ва элементов в транзакции уже должна быть на Инфостарте поискать там, если нету то скажи наваяет кто нить, да хотя бы я и скачаешь с ИСа
#13 by Garykom
+ недоделка какая то нет возможности вид документа выбирать а вот оно но не бесплатно
#14 by tomsv
Наваяй, плиз, а то тут столько делов предстоит с большими базами.... Вот только абонемента на ИСе у меня нет....
#15 by tomsv
и на этом спасибо)) m/
#16 by Garykom
там биржа есть... сча 10.71 рубля за 1SM
#17 by alle68
Даты, конечно, наоборот. Желательно отключить итоги тех регистров, которые двигают эти документы.
#18 by Мэс33
250 тыс - долго же будет. Допустим 2-3 документа в секунду (что маловероятно) - пусть 3. 250 000 / 3 / 60 / 60 = 23 часа.
#19 by ИС-2
еще можно чуть модифицировать   ВыборкаДокументов = Документы.ИмяДокументаВКофигураторе.Выбрать(Дата("01.01.2016 00:00:00"), Дата("01.04.2015 00:00:00"), , "Дата"); чтобы минимум проверок выполнялось. хм, а в этом варианте движения очистятся? А еще можно запустить УТ11 в обычном приложение, найти в инете ГрупповаяОбработкаСправочниковИДокументов.epf и пометить через нее
#20 by Serginio1
#21 by rs_trade
Про ctr-a повеселил. Напиши обработину где запусти 2-3 фоновых задания поделив доки между ними. За ночь должно пометиться. Потом удаляй так-же фоновыми параллельно.
#22 by Tateossian
Ключевой момент "Сам я админ, сильно не пинайте,"
#23 by Лефмихалыч
групповая обработка документов - типовая обработка такая
#24 by Лефмихалыч
или "Универсальный подбор и обработка объектов" с ИТС
#25 by Лефмихалыч
или самопиль какую напилить в три строки
#26 by rs_trade
В инструментах разработчика хорошие обработины. Там вроде как раз в фоновых заданиях все происходит.
#27 by Ranger_83
Может тебе их просто спрятать?
#28 by Юрий Лазаренко
ОбменДанными.Загрузка = истина Плюс помечать порциями в транзакции, например, по 1000 штук за один раз.
#29 by tomsv
Про "спрятать" можно поподробнее и в красках? Мож ссыль есть, где подробно почитать?
#30 by Широкий
#31 by Necessitudo
Так UPDATE в сиквеле. Только больной будет пользовать для этого средства 1С.
#32 by Сильф
> Дата("01.01.2016 00:00:00") Я извиняюсь, а '20160101' уже отменили?
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С