|   |   | 
| 
 | Как быстро пометить на удаление порядка 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 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' уже отменили? | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |