Форум на Kuban.ru (http://forums.kuban.ru/)
-   Территория 1С (http://forums.kuban.ru/f1040/)
-   -   Проставить значение в регистр сведений (http://forums.kuban.ru/f1040/prostavit-_znachenie_v_registr_svedenij-8357517.html)

mavayka 14.06.2017 16:26

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

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

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

Климов Сергей 14.06.2017 16:41

Убрать ресурс Актуальна. Вместо него добавить ресурс Неактуальна. Регистр переписывать не нужно - автоматом получит значение ЛОЖЬ. В коде поменять обращение к Актуальна на НЕ Неактуальна.

user1C 14.06.2017 16:47

"[em]Нужно проставить во всех записях регистра в этом поле значение Истина.[/em]"
можно свойство "значение заполнения" добавленного ресурса установить как истина...

mavayka 14.06.2017 16:52

спасибо. попробую

mavayka 14.06.2017 16:57

(2) в существующих записях не проставляется Истина в добавленном поле

user1C 14.06.2017 17:14

(4)
а что проставляется?)

mavayka 14.06.2017 17:31

Если свойство "значение заполнения" добавленного ресурса установить как истина, в существующих записях все равно Ложь

roma n 14.06.2017 17:56

(0) см (1)
А так... режь на куски и в параллельные (фоновые) процессы отдавай обработку каждого отдельного куска. Считывать весь объём в память в НЗ, а потом весь этот кусок упихивать обратно в базу не самый хороший вариант
+ транзакции

Прямую работу с СУБД не предлагаю.

mavayka 14.06.2017 18:02

да, спасибо. в (1) помогло.


Текущее время: 01:39. Часовой пояс GMT +3.