Имя: Пароль:
1C
1С v8
КД 2.1 Всегда актуальный регистр сведений в приемнике из источника.
0 AneJIbcuH
 
12.12.16
09:53
Всем привет! Такой вопрос, необходимо в базе приемнике при каждом обмене иметь актуальный регистр сведений из источника.
Подробнее,  в базе источник есть периодический независимый регистр сведений.
В базе приемник, регистр подобный, но не периодический.
Необходимо каждый раз в приемнике иметь срез последних регистра из источника.

Делаю так:
1. Правило очистки данных, чищу регистр в приемнике по стандартной выборке (долго выполняется, по минут 5, записей в регистре примерно 16000)
2. ПВД, "Перед обработкой" пишу запрос на срез последних и результат запроса присваиваю в ВыборкаДанных.
3. ПКО для сопоставления полей

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