Имя: Пароль:
1C
1С v8
вопрос по СоздатьНачальныйОбраз()
0 Stim
 
15.02.12
16:35
Описание:

Создает начальный образ подчиненного узла распределенной информационной базы. Начальный образ выгружается в информационную базу, которая создается в процессе создания начального образа или должна быть пустой.

начальный образ содержит в себе только зарегистрированные данные, или все?
1 Maxus43
 
15.02.12
16:39
все. это грубо говоря - полная копия центральной
2 Maxus43
 
15.02.12
16:41
когда нет подчинённого узла - и зарегистрированых изменений нет
3 Stim
 
15.02.12
16:41
ясн. а какая процедура в модуле объекта отвечает за выгрузку объектов при созд нач образа?
4 Maxus43
 
15.02.12
16:42
СоздатьНачальныйОбраз(<Узел>, <Строка соединения>)
5 Stim
 
15.02.12
16:42
какая процедура в модуле объекта отвечает за выгрузку объектов при созд нач образа?
6 Maxus43
 
15.02.12
16:43
точнее - если в настройках обмена есть фильтры - то данные будут перекинуты согласно им, т.е. могут в нач образ попасть не все
7 Maxus43
 
15.02.12
16:43
8 Stim
 
15.02.12
16:44
(6) что за фильтры и когда они срабатывают?
9 Stim
 
15.02.12
16:47
ап
10 Stim
 
15.02.12
16:49
в какой момент можно отловить выгрузку данных в нач образ и отфильтровать её?
11 Maxus43
 
15.02.12
16:55
(10) СоздатьНачальныйОбраз(<Узел>, <Строка соединения>) - на уровне платформы работает, туда не вклинишся. в статье (7) описано как по другому можно сделать, и как удалить лишнее.
Как фильтрует при штатном механизме создания - точно не скажу, надо погуглить...
Теоритически - согласно настройкам плана обмена (авторегистрация), и подозреваю что согласно событиям плана обмена, ПриОтправкеДанныхПодчинённому например
12 Поток сознания
 
15.02.12
16:55
(10)
ПриОтправкеДанныхПодчиненному
13 Stim
 
15.02.12
17:03
разобралсо. кому интересно:

Процедура ПриОтправкеДанныхПодчиненному(ЭлементДанных, ОтправкаЭлемента, СозданиеНачальногоОбраза)
   если СозданиеНачальногоОбраза тогда
       Отправлять = ОтправкаЭлементаДанных.Игнорировать;
       если ПланыОбмена.МойПланОбмена.ЭтотУзел().Метаданные().Состав.Найти(ЭлементДанных.метаданные())<> Неопределено   Тогда  //в составе плана обмена
           Если ЭлементДанных.ОбменДанными.Получатели.Содержит(Ссылка) Тогда  //данные зарегистрированы для этого узла
           Отправлять = ОтправкаЭлементаДанных.Авто;
       КонецЕсли;
   КонецЕсли;
   ОтправкаЭлемента = Отправлять;
Конецесли;
КонецПроцедуры
14 Maxus43
 
15.02.12
17:04
ну я угадал)
15 Stim
 
15.02.12
17:16
блин, косяк..
"

При создании начального образа удаляются все записи регистрации элементов данных и конфигурации для данного узла. "

при выгрузке данные в этой процедуре у данных уже снята регистрация.. ппц
16 Maxus43
 
15.02.12
17:17
данные то всё равно копируются в базу приемник же
17 Stim
 
15.02.12
17:18
(16) они копируются в этой процедуре. если её оставить, как я написал - то не выгрузится ничего, кроме предопределенных значений. потому что регистрация сцу_ко снимается перед отправкой..
18 Maxus43
 
15.02.12
17:19
(17) после создания образа зарегистрируй заново ВСЁ одной командой и проведи обмен
19 Stim
 
15.02.12
17:23
да, точно. поместил вызов ЗарегистрироватьВсеИзменения()
в процедуру ПриОтправкеДанныхПодчиненному()

я так просто не сдамся!
20 Maxus43
 
15.02.12
17:24
я бы после созлания образа это сделал, а не в процессе
21 Stim
 
15.02.12
17:25
так будет лучше.
22 Maxus43
 
15.02.12
17:27
есть подозрение что при следующем обмене опять ВСЁ будет зарегистрировано
23 Stim
 
15.02.12
17:28
(22) не. все пучком
24 Stim
 
15.02.12
17:28
+ а так ты прав, да. лучше после