#0
by rassigor
Необходимо за день удалить 150 тыс документов, использовал транзакцию, все равно медленно, кто что посоветует?
#3
by rassigor
Уперся заказчик:(. Подход какой выбрать необходимо?Бежим запросом по месяцам в транзакции и удаляем сразу на чисто, или может я что то не так делаю?
#5
by rassigor
А чем можно создать идентичную базу, без документов?Самому писать долго, мож обработки есть?
#8
by rassigor
ДА, конфигурация УТ переписанная. Вот нашел на 7.7 :( Быстрое удаление документов и очистка регистров БД за период. Для конфигураций "Торговля и склад", формат баз DBF. Такую бы на 8 найти
#9
by rassigor
Нашел на 8, тока я на проклабе не зареген, может кто нить качнуть и прислать на мыло rassigor@yandex.ru
#10
by Денежко
дела такое-20 минут де то.Новый план обмена-в который включал тока справчоникики , константы, планы видов характеристик,регистры свед...
#11
by rassigor
Глянул на ТЗ, там необходимо чтобы остались неоплаченные доки. То есть наладить план обмена,выгрузить справочники, а необходимые документы догрузить по ОЛЕ:)
#18
by IronDemon
Так эта, у тебе ведь документов не будет. Или будут? Отключить можно для выбранных регистров, кажись.
#19
by Immortal
имхо : вычленить таблицы в скуле (по структуре на каждый док приходицца от одной до множества таблиц(ТЧ документов - отдельные таблицы)) , которые нужно обрезать . DELETE из этих таблиц. И , под конец, запуск ТИИ с указанием "удалять ссылки на несуществующие объекты"
#20
by rassigor
С SQL знаком плохо. Смотрел Таблицы SQL там есть _Document440,_Document438_VT10526 и другие разные таблицы, как я понел это документы. Мне надо запросик который будет сравнивать таблицы, если в названии присутствует _Document, то таблицу удалять полностью. Запросик должен выбирать по задаваемому периоду, кто нить может помоч в написании такого запросика?
#22
by Doomer
Что же за кривые бизнес процессы должны быть, чтобы удалять по 150000 документов? Нужно причину знать, а не заниматься удалением.
#26
by DK_L
План обмена тебя спасет с фильтрацией по видам документов(тоесть выкидывать в образ периферийки только те ,которые нужны например в преддопределенной процедуре модуля ПО "при отправке подчиненному" Если типЗнч(ЭлементДанных)=Тип("ДокументСсылка....") Тогда ...). В состав ПО не включай регистры накопления ,просто потом в периферийке перепроведешь отфильтрованные доки
#28
by VitaliySm
на диске ИТС есть обработка "Свертка информационной базы", там тоже все документы за указанный период удаляются, посмотри
#34
by rassigor
Отключил пересчет итогов, удаляет 400 документов в минуту, без отключения 300 в минуты
#38
by i-rek
если потом объект восстановить не ручками, а путем загрузки старой конфы без объединения и сравнения, то проблем быть не может
#39
by Advan
грохнуть в конфигураторе, потом загрузить конфигурацию - и все - только потом сделать тестирование, с сжатием таблиц
#41
by tsr
Будут проблемы. Ссылки на документы потеряются. К тому же есть еще журналы, регистры и много чего еще
#42
by rassigor
Друг помог написать запрос, но проблема что он на Оракле, как его в SQL конвернуть BEGIN FOR t IN (SELECT name FROM sysobjects WHERE table_name LIKE '_Document%') LOOP выдает ошибку Server: Msg 156, Level 15, State 1, Line 2 Incorrect syntax near the keyword 'FOR'. Server: Msg 170, Level 15, State 1, Line 3 Line 3: Incorrect syntax near 'LOOP'. Server: Msg 170, Level 15, State 1, Line 4 Line 4: Incorrect syntax near '|'.
#43
by i-rek
а ссылки на документы и при Удалить потеряются :)) это и требуется сделать ! опять же журналы нормально пересчитаются - проблем не будет
#45
by rassigor
Я думаю удалить все строки из Таблиц, а потом Тестирование Исправление сделать, чтобы он удалил все связи
#46
by rassigor
Вот рабочий, запустил его declare @c_name varchar declare c cursor local static for SELECT name FROM dbo.sysobjects WHERE name LIKE '_Document%' open c fetch next from c into @c_name while @@fetch_status= 0 exec ('DELETE from '+@c_name) end
#47
by rassigor
Немного переделал, для быстроты declare @c_name varchar, @sql varchar declare c cursor local static for SELECT name FROM dbo.sysobjects WHERE name LIKE '_Document%' open c fetch next from c into @c_name while @@fetch_status= 0 begin execute ('truncate table dbo.'+ @c_name ) fetch next from c into @c_name end
#48
by rassigor
Удалил 400 тыс доков за 8 минут:), щас делаю Тестирование и Исправление конфигурации
#49
by rassigor
Тока пересчет чего то долго идет:( Может так получиться что игра не стоит свеч из за долго пересчета:(
#54
by Широкий
Можно попробовать отключить итоги и в транзакции пометить на удаление... потом стандартная обработка удаление помеченных
#55
by rassigor
То есть можно удалить все движения в регистрах накопления, и не делать пересчет??по идее там еще в регистр сведений капает
#56
by rassigor
это все делаеться за 6 дней, оооооочень долго напрямую из СКЛ удаляет за 20 минут все
#58
by rassigor
Итого пробовал отключал, все равно долго, интересует вариант прямого удаления, сами доки я удалил, все но боюсь что косяки поэтому и делаю тестирование и исправления
#62
by tsr
А ты удали в конфигураторе доки, а потом восстанови путем объединения. Тогда и узнаешь, прикололся, или нет.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
В этой группе 1С
- v7: Подскажите как можно в кратчайшие сроки создать отчёт по 10 счёту?
- Данные для расчета среднего в ЗУП 2.5
- FuncTest 0.20. Автоматическое тестирование для 7.7.
- число с дробью прописью
- v7: Програмно изменить "Ручную операцию"
- Использование нескольких одинаковых субконто на счете
- Соединение с сервером 1С разорвано администратором
- НайтиПервыйФайл
- Ноуты асус самые большие ноуты в мире
- Вопрос по подключению фискального регистратора Мебиус
- Фильтр в табличной части документа
- КраткийСоставДокумента
- В КД 2.0 место хранения в верхнем уровне справочника
- Начисление дивидендов в комплексной.
- Как в отчете вывести галочку а не истина ложь
- v7: Где макеты печатных форм
- Firebird и 1c
- v7: Список значений в запросе 1с++
- надо изменять конфигурацию в периферийной базе
- v7: Что за справка о среднегодовом торговом обороте