Имя: Пароль:
1C
1С v8
конвертация 2.1 загрузить из 7.7 в регистр сведений подчиненный регистратору
,
0 yu_70
 
09.03.17
15:00
Здравствуйте. Помогите пожалуйста. пытаюсь с помощью конфигурации Конвертация 2.1 (2.1.8.2) разово загрузить данные из Конфигурации на 7.7 в 8.3.
Проблема с регистром сведений с подчинением регистратору. В  7.7 соответственно у меня есть ряд периодических реквизитов.  
гружу в регистр напрямую и прописываю регистратором документ "КорректировкаРегистров". в результате в регистр грузиться только одна запись (в документе соответственно тоже отражается одна запись). В выгруженной таблице значений есть все записи. При загрузке пишет, что все записи загружены.... Подозреваю, что каждая последующая затирает педыдущую, но как записать набором не понимаю. Не хочется создавать кучу документов под каждую запись. Поделитесь у кого была такая проблема и как решали?
1 mexanik_96
 
09.03.17
15:49
в файле выгрузки как выглядят объекты?
2 yu_70
 
09.03.17
17:01
</Объект>
- <Объект Нпп="10668" Тип="РегистрСведенийЗапись.ПриемУвольнениеСотрудников" ИмяПравила="ПриемУвольнениеСотрудников" НеЗамещать="true">
- <Свойство Имя="Сотрудник" Тип="СправочникСсылка.Сотрудники">
- <Ссылка Нпп="10669">
- <Свойство Имя="Код" Тип="Строка">
  <Значение>005755</Значение>
  </Свойство>
- <Свойство Имя="ЭтоГруппа" Тип="Булево">
  <Пусто />
  </Свойство>
  </Ссылка>
  </Свойство>
- <Свойство Имя="ДатаПриема" Тип="Дата">
  <Значение>1994-09-01T00:00:00</Значение>
  </Свойство>
- <Свойство Имя="ДатаУвольнения" Тип="Дата">
  <Значение>2007-04-28T00:00:00</Значение>
  </Свойство>
- <Свойство Имя="Период" Тип="Дата">
  <Значение>2007-09-25T00:00:00</Значение>
  </Свойство>
3 mexanik_96
 
09.03.17
17:40
атрибут отбор с полем регистратора не вижу что то...
4 mexanik_96
 
09.03.17
17:42
если посмотреть в обработчик загрузки или в процедуру выгрузитьрегистр в обработке конвертация объектов, я думаю автор поймет все сам( а именно как можно сформировать отбор по регистратору без регистратора и\или по измерениям либо отсутсвующим, либо другим для рс )
5 yu_70
 
09.03.17
17:43
я регистратор прописываю в обработчике события "После записи"
Док=документы.КорректировкаРегистров;
док1=Док.НайтиПоНомеру(1,текущаяДата()) ;
объект.регистратор=Док1;
Объект.активность=истина;
6 yu_70
 
09.03.17
17:43
так как в 7.7 у меня нет этого объекта
7 mexanik_96
 
09.03.17
17:44
(6) не после записи, а при выгрузке
8 mexanik_96
 
09.03.17
17:45
автор скидай правила своего рег между идентичными конфигурациями, посмотри что ждет кд на входе...
9 mexanik_96
 
09.03.17
17:51
(8) я про рег в рег для 8. когда выгрузишь в файле увидишь атрибуты для рс <Отбор ....
потом поймешь что нужно сделать для 7ка
10 yu_70
 
09.03.17
17:53
на вход я формирую из 7.7 таблицу значений с полями соотв. измерениям и ресурсам соотв. регистра сведений в 8. Может туда как-то регистратор надо впихнуть.... только вот как? Я знаю номер регистратора, дату и то что в 8.3  это документ типа "корректировка регистров"

ниже код Правила выгрузки
      ВыборкаДанных=создатьобъект("ТаблицаЗначений");
     ВыборкаДанных.новаяКолонка("Сотрудник");
     ВыборкаДанных.новаяКолонка("Период");
     ВыборкаДанных.новаяКолонка("ДатаПриема");  
     ВыборкаДанных.новаяКолонка("ДатаУвольнения");  
     СпрСотр=создатьобъект("Справочник.Сотрудники");    
     СпрСотр.выбратьэлементы();
     Периодический=создатьобъект("Периодический");    
     пока СпрСотр.ПолучитьЭлемент()=1 цикл
         ссылка=СпрСотр.текущийЭлемент();    
         если СпрСотр.этогруппа()=1 тогда
             Продолжить;
         КонецЕсли;    
         Периодический.использоватьОбъект("ДатаПриема",ссылка) ;  
         Периодический.выбратьЗначения();
         Пока Периодический.ПолучитьЗначение()=1 цикл
             ВыборкаДанных.новаястрока();
             ВыборкаДанных.Сотрудник=Ссылка;
             ВыборкаДанных.Период= Периодический.ДатаЗнач;
             ВыборкаДанных.ДатаПриема= Периодический.Значение;
             //    ВыборкаДанных.ДатаУвольнения= Ссылка.ДатаУвольнения.получить(ВыборкаДанных.Период);
         конецЦикла;  
         Периодический.использоватьОбъект("ДатаУвольнения",ссылка) ;  
         Периодический.выбратьЗначения();
         Пока Периодический.ПолучитьЗначение()=1 цикл
             ВыборкаДанных.новаястрока();
             ВыборкаДанных.Сотрудник=Ссылка;
             ВыборкаДанных.Период= Периодический.ДатаЗнач;
             ВыборкаДанных.ДатаУвольнения= Периодический.Значение;
             ВыборкаДанных.ДатаПриема= Ссылка.ДатаПриема.получить(ВыборкаДанных.Период);
         конецЦикла;
         
     КонецЦикла;    
     ВыборкаДанных.новаяколонка("Сверт","Число",15,2);
     ВыборкаДанных.Свернуть("Сотрудник,Период,ДатаПриема,ДатаУвольнения",);
     ВыборкаДанных.сортировать("Сотрудник,Период,ДатаПриема");
11 yu_70
 
09.03.17
17:54
ага, попробую, спасибо
12 mexanik_96
 
09.03.17
17:58
(10) да так как то
13 mexanik_96
 
09.03.17
18:04
как вариант предлагаю еще.в пвд перед выгрузкой собираешь таблицу значений, далее ее в пко передаешь в списке(в табличную часть - это движение по твоему регистратору), соответсвенно один регистратор на все записи будут. если корректировка там можно в движение в кд подгрузить как табличная часть будут.
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.