К списку форумов К списку тем
Регистрация    Правила    Главная форума    Поиск   
Имя: Пароль:
Рекомендовать в новости

Проставить значение в регистр сведений

Гость
0 - 14.06.2017 - 16:26
Самописная конфигурация. Клиент - серверный вариант
Есть Регистр сведений , независимый, периодичность в пределах дня.
Добавлен ресурс Актуальна, тип Булево.
Нужно проставить во всех записях регистра в этом поле значение Истина.
Делаю так:

НЗ = РегистрыСведений.МойРегистр.СоздатьНаборЗаписей();
НЗ.Прочитать;
Для Каждого Запись Из НЗ Цикл
Запись.Актуальна = Истина;
КонецЦикла;
НЗ.Записать;

Записей в регистре порядка 9млн, крутится все это дело 5-6 часов. Подскажите, пожалуйста, можно как-нибудь ускорить процесс?



1 - 14.06.2017 - 16:41
Убрать ресурс Актуальна. Вместо него добавить ресурс Неактуальна. Регистр переписывать не нужно - автоматом получит значение ЛОЖЬ. В коде поменять обращение к Актуальна на НЕ Неактуальна.
2 - 14.06.2017 - 16:47
"Нужно проставить во всех записях регистра в этом поле значение Истина."
можно свойство "значение заполнения" добавленного ресурса установить как истина...
Гость
3 - 14.06.2017 - 16:52
спасибо. попробую
Гость
4 - 14.06.2017 - 16:57
(2) в существующих записях не проставляется Истина в добавленном поле
5 - 14.06.2017 - 17:14
(4)
а что проставляется?)
Гость
6 - 14.06.2017 - 17:31
Если свойство "значение заполнения" добавленного ресурса установить как истина, в существующих записях все равно Ложь
Гость
7 - 14.06.2017 - 17:56
(0) см (1)
А так... режь на куски и в параллельные (фоновые) процессы отдавай обработку каждого отдельного куска. Считывать весь объём в память в НЗ, а потом весь этот кусок упихивать обратно в базу не самый хороший вариант
+ транзакции

Прямую работу с СУБД не предлагаю.
Гость
8 - 14.06.2017 - 18:02
да, спасибо. в (1) помогло.


К списку вопросов






Copyright ©, Все права защищены