Имя: Пароль:
1C
1С v8
Обмен данными регистра сведений.
,
0 ANikV
 
18.02.12
17:18
Здравствуйте.
Ситуация следующая: Настроен план обмена 1С:ЗУП - База1.
1C:ЗУП версия 2.5.39.1
База1 - самописная конфигурация.
Платформа 8.2.14

Создал правила обмена, все бы хорошо, но при выгрузки данных из ЗУП в База1 некорректно переносятся данные регистра сведений.
В ЗУП это типовой регистр сведений "РаботникиОрганизации"
В База1 это аналогичный регистр за исключением некоторых ресурсов, не подчиненный регистратору, с периодичностью в пределах секунды.

Если в ЗУП зарегистрировать для обмена запись регистра сведений, например, по Иванову и провести обмен, то в База1 запись создается.
Если в ЗУП зарегистрировать данные по Петрову, то в База1 в регистр сведений запись по Петрову появляется, но запись по Иванову удаляется.

Такое чувство, что происходит запись в регистр сведений с замещением без отбора.

Может кто-то сталкивался с подобной проблемой - подскажите, пожалуйста..
1 DrShad
 
18.02.12
17:46
структуру регистра из своей нетленки в студию
2 ANikV
 
18.02.12
17:51
(1)
Периодичность: В пределах секунды
Режим записи: Независимый
У измерения сотрудник установлен: Ведущее, основной отбор.

Измерения:
  Сотрудник
Ресурсы:
  Организация
  Подразделение
  Должность
  ПериодЗавершения
  ОрганизацияЗавершения
  ПодразделениеЗавершения
  ДолжностьЗавершения
3 ANikV
 
18.02.12
17:56
Сразу уточню - период у записи Иванова и Петрова - разный.
4 DrShad
 
18.02.12
18:29
как запись производишь в регистр?
5 ANikV
 
18.02.12
18:37
В этой части ничего не изменял. Обмен производится обработкой "Обмен данными XML".
В плане обмена ЗУП стоит у регистра сведений авторегистрация.
В правилах обмена у ПКО "РаботникиОрганизации" никаких обработчиков нет.
Все ПКС сформировались автоматически.
Обмен производится регламентным заданием, которое вызывает функцию (опять же типовую)

глОбработкаАвтоОбменДанными = ПроцедурыОбменаДанными.ВыполнитьИнициализациюАвтообменаПриНачалеРаботы();

ПроцедурыОбменаДанными.ВыполнитьОбменДаннымиПоПроизвольнойНастройке(НастройкаОбменаДанными, , глОбработкаАвтоОбменДанными);

НастройкаОбменаДанными - опять таки элемент типового справочника.
6 kosts
 
18.02.12
18:59
(0) Отбор при обмене скорее всего по регистратору.
У тебя в базе приемнике есть такой же тип документа?
Обмен этого документа настроен?
7 ANikV
 
18.02.12
19:02
(6) В этом то все и дело, что в ЗУП этот регистр подчинен регистратору, а в База1 - независимый.
8 ANikV
 
18.02.12
19:05
Пока нашел только такой способ:
В ПВО моего регистра, определил обработчик события "Перед выгрузкой":

Для Каждого Запись Из Объект Цикл
  НД = Новый Структура;
  НД.Вставить("Период",                Запись.Период);
  НД.Вставить("Сотрудник",                Запись.Сотрудник);
  НД.Вставить("ОбособленноеПодразделение",        Запись.ОбособленноеПодразделение);
  НД.Вставить("ПодразделениеОрганизации",        Запись.ПодразделениеОрганизации);
  НД.Вставить("Должность",                Запись.Должность);
  НД.Вставить("ПериодЗавершения",            Запись.ПериодЗавершения);
  НД.Вставить("ОбособленноеПодразделениеЗавершения",    Запись.ОбособленноеПодразделениеЗавершения);
  НД.Вставить("ПодразделениеОрганизацииЗавершения",    Запись.ПодразделениеОрганизацииЗавершения);
  НД.Вставить("ДолжностьЗавершения",            Запись.ДолжностьЗавершения);
  ВыгрузитьПоПравилу(НД, , , , "РаботникиОрганизаций");
КонецЦикла;
Отказ = Истина;

Но мне такой вариант не очень нравится.. Как думаете? Может быть есть какой-то другой способ?
9 DrShad
 
18.02.12
19:10
код записи в регистр давай
10 hhhh
 
18.02.12
20:52
скорее всего там иванов и петров в базе1 по жизни перепутаны, но вроде незаметно, а в регистре видно.
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.