![]() |
|
групповая регистрация на обмен даных полученных запросом | ☑ | ||
---|---|---|---|---|
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) интересное решение буду пробовать, благодарю |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |