Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Конвертация данных 2: создать в приемнике несколько объектов на основании запроса из источ

Конвертация данных 2: создать в приемнике несколько объектов на основании запроса из источ
Я
   vdeemer
 
22.09.20 - 16:33
Здравствуйте!
Возможно ли, выбрав нужные данные из источника запросом, создать в приемнике на каждую запись выборки (к тому же с обходом по группировкам) объекты по своему алгоритму? Дело в том, что нужно перенести из УПП в УТ контактные лица контрагентов, которые, по сути, и являются контрагентами. Нужны ФИО, даты рождения и контактные данные (телефон и почта), т.е. на одно ФИО+дата будет несколько (а может и ни одной) записей контактных данных. Городить несколько ПКО ну совсем не хочется (хотя это может быть и проще по факту, в КД я слабак), а запрос со всеми нужными данными слепить - пять минут. Как мне видится процесс:
1. Создать запрос на закладке "Алгоритмы\Запросы" - сделано
2. Вот тут я и встрял))
   Aleksey
 
1 - 22.09.20 - 16:34
ВыгрузитьПоПравилу ?
   mikecool
 
2 - 22.09.20 - 16:35
в методичке есть пример, надо читать
   vdeemer
 
3 - 22.09.20 - 16:48
(1) а к какому объекту это применять, если ничего не выгружено еще?
   GANR
 
4 - 22.09.20 - 17:03
(3) к структуре, предварительно сформированной программным кодом
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
    ВходящиеДанные = Новый Структура;
    ВходящиеДанные.Вставить("Студент", ВыборкаДетальныеЗаписи.Студент);
    ВходящиеДанные.Вставить("ВидОбразования", ВыборкаДетальныеЗаписи.ВидОбразования);
    ВходящиеДанные.Вставить("ОбразовательноеУчреждениеПриОкончании", ВыборкаДетальныеЗаписи.УчебноеЗаведение);
    ВходящиеДанные.Вставить("Специальность", ВыборкаДетальныеЗаписи.Специальность);
    
    СерияНомерДиплома = ВыборкаДетальныеЗаписи.Диплом;
    СерияДиплома = "";
    НомерДиплома = "";
    
    Выполнить(Алгоритмы.ПолучитьСериюИНомер);
    
    ВходящиеДанные.Вставить("СерияДиплома", СерияДиплома);
    ВходящиеДанные.Вставить("НомерДиплома", НомерДиплома);
    
    Если НЕ ВыборкаДетальныеЗаписи.ГодОкончания = 0 Тогда
        ВходящиеДанные.Вставить("ГодЗавершения", Дата(ВыборкаДетальныеЗаписи.ГодОкончания, 1, 1));
        ВходящиеДанные.Вставить("ДатаВыдачи", Дата(ВыборкаДетальныеЗаписи.ГодОкончания, 1, 1));
    Иначе
        ВходящиеДанные.Вставить("ГодЗавершения", Дата("00010101"));
        ВходящиеДанные.Вставить("ДатаВыдачи", Дата("00010101"));
    КонецЕсли;
    
    ВходящиеДанные.Вставить("Квалификация", ВыборкаДетальныеЗаписи.Квалификация);
    
    ВыгрузитьПоПравилу(,,ВходящиеДанные,,"ДипломИзВходящихДанных");
КонецЦикла;
   GANR
 
5 - 22.09.20 - 17:03
   vdeemer
 
6 - 23.09.20 - 07:43
(4) Премного благодарен

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.