Изменить время (поле период ) записей регистра накопления не перепроводя документ #420547


#0 by fedbka
Добрый день. Есть простенькая задачка - изменить время движений документа. Все работает но Очень медленно. Может кто подскажет более быстрый способ? Может лучше плясать не от документов а от регистров и бежать по тем записям регистров в которых период не совпдатает с датой документа? Сейчас решаю ее так:
#1 by Живой Ископаемый
Да, можно создавать набор записей с отбором по регистратору, но не думаю что это ускорит что-то
#2 by IronDemon
Ну да. Выбери только нужные документы. Еще можно набор записей выгрузить в ТЗ, в ней заменить, выгрузить в набор.
#3 by fedbka
Вроде можно отключить расчет итогов у всех регистров наполения на время, а потом, когда все изменено, заново рассчитать итоги. Может это поможет? Если да, то как это сделать?
#4 by Живой Ископаемый
обработки на инфостарте, или универсальный обмен данными ХМЛ (последняя с ИТС)- там это уже сделано кнопкой
#5 by Живой Ископаемый
там буквально пара строк кода
#6 by fedbka
не нашел на инфостарте подобной оброботки... может ссылочку кините?
#7 by Живой Ископаемый
щас
#8 by Живой Ископаемый
Обработка называется управление итогами
#9 by Живой Ископаемый
Но вообще можно смотреть и в обработке УниверсальныйОбменДаннымиXML в любой более-менее новой типовой
#10 by hhhh
можно попробовать в одной транзакции выполнить НачатьТранзакцию; ... ... ЗафиксироватьТранзакцию;
#11 by fedbka
Большое спасибо! Помогло... в разы все ускорилось...
#12 by Живой Ископаемый
2 Там просто если смотреть УниверсальныйОбменДаннымиXML - то довольно много модификаторов - и использовать транзакции, и установить количество элементов в транзакции, и оптимизированная запись объектов, и записывать регистры наборами записей, и еще что-то.. в общем в плане обмена типовые можно сказать кладезь
#13 by Serg_1960
Ускорение требуется получить? А почему ДокументОбъект? Для получения движений документа достаточно ссылки на документ. Или Вы меняете реквизиты документа? Если "да" - тогда рекомендую строчку "ДокументОбъект.ОбменДанными.Загрузка = Истина;" перед записью документа указывать.
#14 by fedbka
Да, сначала меняю реквизиты документов... соотсветственно через объект... а потом и в движениях:
#15 by fedbka
Все верно? больше не ускорить?
#16 by НЕА123
при выкл и вкл итогов все пересчитывается. можно попробовать просто сдвинуть период рассчитанных итогов. приблизительно так: Рег.УстановитьПериодРассчитанныхИтогов(ДатаИтогов)
#17 by fedbka
Оставил так
#18 by fedbka
#19 by fedbka
Только почему-то после этого итоги нужно пересчитывать по всем регистрами... иначе при формировании отчетов везде пусто...
#20 by Serg_1960
Незачем было всем регистрам накопления выключать использование итогов: ... Для Каждого Регистр ИЗ РегистрыНакопления Цикл ...
#21 by fedbka
даже если бы не всем выключал - какая разница... разве установитьиспользованиеитогов не включает
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

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