КД 2.1 Всегда актуальный регистр сведений в приемнике из источника. #787099


#0 by AneJIbcuH
Всем привет! Такой вопрос, необходимо в базе приемнике при каждом обмене иметь актуальный регистр сведений из источника. Подробнее,  в базе источник есть периодический независимый регистр сведений. В базе приемник, регистр подобный, но не периодический. Необходимо каждый раз в приемнике иметь срез последних регистра из источника. Делаю так: 1. Правило очистки данных, чищу регистр в приемнике по стандартной выборке (долго выполняется, по минут 5, записей в регистре примерно 16000) 2. ПВД, "Перед обработкой" пишу запрос на срез последних и результат запроса присваиваю в ВыборкаДанных. 3. ПКО для сопоставления полей ВЫборка из запроса получается примерно 16000 записей регистра. Что выгрузка, что загрузка происходят долго.. Как можно ускорить?
#1 by AneJIbcuH
И ещё вопросик, если в ПВД пишу запрос в "Перед обработкой" на весь регистр и присваиваю ВыборкаДанных, то всегда будет выгружаться результат запроса (как в консоли) или только тех записей, которые зарегистрированы в плане обмена?
#2 by vicof
1. Извращение. Самому чистить перед загрузкой за пару секунд. Смотря как выгружаешь.
#3 by AneJIbcuH
Думаю да, стоит самому перед загрузкой чистить. Про не понял, мне надо выгружать весь, сейчас смотрю, что у меня что-то не срабатывает запрос, а выгружаются только зарегистрированные данные.
#4 by AneJIbcuH
Использую встроенную обработку и в ПВД не срабатывает алгоритм прописанный в "Перед обработкой". Как быть?
#5 by Альбатрос
"Произвольный алгоритм" выбрал?
#6 by AneJIbcuH
Да, конечно. Если убираю Объект выборки, то при выгрузке получаю: Ошибка при вызове метода контекста (НайтиПоТипу): Несоответствие типов (параметр номер '1')
#7 by Defender aka LINN
Планы обмена не предлагать?
#8 by AneJIbcuH
Через планы обмена и делается.
#9 by AneJIbcuH
Никто с подобной задачей не сталкивался?
#10 by AneJIbcuH
UP
#11 by Seducer
Если через планы обмена, то почему не передавать в приемник только то, что изменилось?
#12 by AneJIbcuH
В источнике периодический регистр сведений, где могут задавать значения с определенным измерением, который переносить не надо, а точнее, если это измерение изменили на это значение, то в приемнике его нужно удалить. в источнике периодический регистр "сегменты номенклатуры": Измерения: Номенклатура, Сегмент. Есть предопределенный сегмент: БезСегмента. В приемнике непериодический регистр: Номеклатура, Сегмент. Т.е. если в источнике перевели сегмент на дату в БезСегмента, то прошлая запись в приемнике должна удалиться.
#13 by SUA
как вариант - если регистр используется только при загрузке - оставить его только в параметрах (или в алгоритмах где он используется оставить вариант с использованием ТЗ вместо регистра например) вот... сделать как написано типа такого: выбрать ПО.номенклатура,выбор когда сегмент =БезСегмента тогда null иначе сегмент конец как сегментсрез из планыобмена.ПО.изменения левое соединение регистр.сегменты.срезпоследних
#14 by AneJIbcuH
что происходит, когда мы null отправляем?
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С