Имя: Пароль:
1C
 
Как быстрее всего массово изменить реквизит у большого количества документов?
0 ДНН
 
31.03.20
10:10
Добрый день.
Если несколько видов документов (штук 30), у которых есть реквизит с одинаковым наименованием, который нужно изменить. Тип реквизита Дата.
Документов каждого вида огромное количество, примерно тыщ по 300, плюс/минус.
Что кроме записи в режиме обмена + распараллеливания на фоновые задания + записи порциями в одной транзакции еще можно предпринять, чтобы ускорить данную операцию?
Сколько фоновых создавать? По кол-ву ядер у процессора? Какой размер порции для одной транзакции выбрать? Может еще что-то.
Спасибо.
1 ChMikle
 
31.03.20
10:13
Если база SQL можно попробовать напрямую SQLзапросом
2 fisher
 
31.03.20
10:27
(1) +1
Если таки средствами 1С, то размер порции зависит от размера строки таблицы и ресурсов сервера. Нужно экспериментально подбирать.
И я бы не заморачивался с фоновыми. Тупо открыл несколько сеансов и в каждом запустил обработку по своему виду документа. И чтобы при сбое можно было легко продолжить с прежнего места.
3 Aleksey
 
31.03.20
10:29
лучше последовательно ибо в паралели можно выхватить транзакцию
4 vova1122
 
31.03.20
10:35
(2) а Смысл в несколько сеансов? Всеравно пока один сеанс проводит документ, то остальные "курят в сторонке".
5 ДНН
 
31.03.20
10:44
(4) проводить не нужно, только записать
6 Ненавижу 1С
 
гуру
31.03.20
10:50
(5) тогда лучше (1)
7 fisher
 
31.03.20
12:05
(4) С чего вдруг? Освобождения какого ресурса они будут ожидать?
8 ДНН
 
31.03.20
15:18
До выполнения SQL запроса нужно какие-то действия с SQL сервером выполнить, чтобы еще быстрее выполнилось? Или просто останавливаю сервер 1С и выполняю запрос?
9 ChMikle
 
31.03.20
15:24
(8) можно и так , так будет самый быстрый вариант
10 Ненавижу 1С
 
гуру
01.04.20
09:36
(8) обычно ничего вообще останавливать не надо
11 ChMikle
 
01.04.20
10:03
+(9) только обязательно копию базы сделай перед всеми манипуляциями
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.