Исправить неверные движения в регистрах #744443


#0 by ildary
Уважаемые специалисты, посоветуйте пожалуйста, как правильно исправить следующее: В базе УТ11 создано много документов РТиУ с пустой датой оплаты, в результате регистр Расчеты с клиентами разбух до большого размера. Если просто сделать запись с перепроведением - то все проводится очень медленно. Существует ли способ ускорить это исправление? Например можно ли удалить программно все движения этого регистра с пустой датой, затем сделать сжатие базы и перезаписать дату с перепроведением?
#1 by разработчик 1с
так закрой регистр, если разбух. зачем документы перепроводить
#2 by Naumov
можно просмотреть записи регистра и исправить где надо.
#3 by ДенисЧ
на нимфострате есть граната для обезъяны...
#4 by ildary
а как его закрыть? хотя бы общими словами? то есть я могу сделать перебор записей регистра и напрямую их изменить? Я на самом деле семерочник и не уверен, что в 1с8 такое возможно (пока осваиваю букварь и до регистров не дошел). я там безденежный, поэтому давно ничего не качаю оттуда. А все-таки можно ли обработкой перебрать записи регистра и автоматом их исправить?
#5 by ДенисЧ
в 77 движения делают только документы (если лезьть прямо в таблицы). О тсюда и пляши
#6 by ildary
в 7.7 понятно - бери и проводи, либо прямым запросом шуруй. А какие способы в восьмерке для оперативного исправления подобного есть? Перепроводить - так в час только 30 документов проводится, а их больше тысячи.
#7 by Naumov
Смотри СП по регистру накопления, в частности про наборЗаписей
#8 by ДенисЧ
набор.Отбор.Регистратор.Установить...
#9 by ildary
значит я могу перебрать записи регистра и изменить поле период? большое спасибо, а данный метод позволить менять поле Период у регистра?
#10 by ДенисЧ
да
#11 by Naumov
Ты уверен, что период? Поле период у записи регистра пустым не может быть - не даст записать движения.
#12 by ildary
спасибо за советы, но я обнаружил, что у РегистрНакопленияВыборка параметр Период - только для чтения...
#13 by Naumov
Потому что есть разные объекты. Менять можно либо в МенеджереЗаписи, Либо в НабореЗаписей.
#14 by ДенисЧ
У выборки - все поля для чтения
#15 by разработчик 1с
может не надо тебе движения менять
#16 by ildary
могу фотку записей регистра показать - когда увидел - сам был в шоке. ок, а как тогда эту беду исправить?
#17 by разработчик 1с
ок, ты пишешь, что регистр "разбух до большого размера". как ты это понимаешь? что ты хочешь с этим сделать?
#18 by ДенисЧ
а покажи...
#19 by ildary
один регистр весит больше, чем вся прочая база в несколько раз (4Гб, все остальное тянет примерно на 400Мб), проведение реализации страшно тормозит (кстати и простое открытие реализации тоже - это может вызвать?). Думаю, что этого достаточно, чтобы попробовать исправить. момент, щас сварганю
#20 by разработчик 1с
в при открытии поставь замер производительности, посмотри, что так долго делается. не факт, что это из-за регистра. можно свернуть регистр, есть всякие спец обработки. можно самому написать. на 1 января снимаешь остатки, заносишь их корректировкой. остальные все записи до 1 января через наборы удаляешь. смотри чтобы документы никто не перепроводил.
#21 by Naumov
Скорее всего состояние расчетов проверяется, если регистр не закрыт, то вполне возможно, что будет долго думать.
#22 by ildary
вот спасибо, проверю
#23 by ildary
Сделал примерно так, но даже в этом случае каждая запись проходит от 50 секунд до 3 минут, можно ли тут что ускорить?
#24 by Naumov
Ну если записей в регистре на миллионов 100, то можно попробовать все одним набором в один прием записать
#25 by Naumov
#26 by ildary
а как одним набором правильно получить все записи с регистратором, у которого дата пустая? спасибо за совет, по капле выдавливаю из себя семерочника.
#27 by ildary
Может быстрее будет запомнить документы, у которых есть такие движения, потом удалить эти пустые движения, сжать базу и перепровести документы без этих движений заново? Будет ли такая операция быстрее?
#28 by ildary
+ нет, быстрее не будет - ползет с такой же скоростью.
#29 by ildary
Все, тема закрыта - для скоростной работы достаточно совета в №17 из в начале выполнения сделать
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

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