|
групповая регистрация на обмен даных полученных запросом
| ☑ |
0
baglandir111
07.02.20
✎
12:48
|
Задача есть 400 000 записей "Договоров контрагентов" вытянутых запросом
Построчно пометка на обмен занимает 30 минут
Можно ли в 1С зарегистрировать на обмен колонку из запроса ?
Сейчас так
запрос.УстановитьПараметр ( "ДатаН", КонецДня(ТекущаяДата()) );
результат = запрос.Выполнить ();
выборка = результат.Выбрать () ;
Сообщить ( "Сбор данных окончен: " + ТекущаяДата () );
узел = ПланыОбмена.ОбменДМС.НайтиПоКоду ( "SQL" );
пока ( выборка.Следующий () ) цикл
Если ЗначениеЗаполнено(выборка.Договор) Тогда
ПланыОбмена.ЗарегистрироватьИзменения ( узел, выборка.Договор );
КонецЕсли;
конеццикла;
Хочу как то так :
запрос.УстановитьПараметр ( "ДатаН", КонецДня(ТекущаяДата()) );
результат = запрос.Выполнить ().выгрузить();
Сообщить ( "Сбор данных окончен: " + ТекущаяДата () );
узел = ПланыОбмена.ОбменДМС.НайтиПоКоду ( "SQL" );
ПланыОбмена.ЗарегистрироватьИзменения ( узел, результат.ВыгрузитьКолонку("Договор");
Можно ли так сделать ?
|
|
1
Ёпрст
07.02.20
✎
12:58
|
(0) нет. Максимум, самому проапдейтить табличку изменений у объекта
|
|
2
Ёпрст
07.02.20
✎
12:59
|
Если бы были все объекты, то там достаточно метаданные указать было бы, но у вас - коллекция ссылок
|
|
3
fisher
07.02.20
✎
13:01
|
Не
|
|
4
pechkin
07.02.20
✎
13:01
|
если тех что не надо сильно меньше, то можно зарегить все и удалить
|
|
5
fisher
07.02.20
✎
13:03
|
Но 30 мин - это что-то дофига даже для 400 000.
Регай изменения пачками в одной транзакции. Это помогает при мелких транзакциях.
|
|
6
fisher
07.02.20
✎
13:06
|
Ну, типа
КвоТранзакцийПачки = 100;
НомерТранзакции = 0;
НачатьТранзакцию();
Пока Выборка.Следующий() Цикл
НомерТранзакции = НомерТранзакции + 1;
Если НомерТранзакции % КвоТранзакцийПачки Тогда
ЗафиксироватьТранзакцию();
НачатьТранзакцию();
КонецЕсли;
ПланыОбмена.ЗарегистрироватьИзменения();
КонецЦикла;
ЗафиксироватьТранзакцию();
|
|
7
fisher
07.02.20
✎
13:12
|
В принципе, для таблицы изменений размер пачки и до нескольких сотен можно свободно увеличивать. Там уже экспериментально.
|
|
8
baglandir111
07.02.20
✎
13:20
|
(1) что вы имеете ввиду под словами самому проапдейтить таблицу ?
(6) интересное решение буду пробовать, благодарю
|
|