| 
    
            
         
         | 
    
  | 
Конвертация данных - Передача документа и табличной части | ☑ | ||
|---|---|---|---|---|
| 
    0
    
        VladSt    
     09.09.15 
            ✎
    09:44 
 | 
         
        Добрый день
 
        Задача такая: передать часть документов в другую базу. Выполняю запрос и передаю документы в ПКО: Запрос = Новый Запрос(" |ВЫБРАТЬ * |ИЗ | Документ.РасходнаяНакладная КАК РасходнаяНакладная |ГДЕ | РасходнаяНакладная.Дата >= &НачПериода | И РасходнаяНакладная.Проведен | И (НЕ РасходнаяНакладная.ПометкаУдаления) |"); Запрос.УстановитьПараметр("НачПериода", Параметры.НачПериода); ТЗ = Новый ТаблицаЗначений; ТЗ = Запрос.Выполнить().Выгрузить(); Для Каждого Стр Из ТЗ Цикл ВыгрузитьПоПравилу(, , Стр, , "уатТТД_РасходнаяНакладная"); КонецЦикла; в ПКО уатТТД_РасходнаяНакладная данные приходят и шапка документа нормально загружается. НО, в источнике и приемнике название табличной части разное, и поэтому не хочет загружать ТЧ. Как ПКГС заставить загружать из ТЧ с другим наименованием?  | 
|||
| 
    1
    
        Мимохожий Однако    
     09.09.15 
            ✎
    09:46 
 | 
         
        Где в приведенном запросе табличная часть?     
         | 
|||
| 
    2
    
        VladSt    
     09.09.15 
            ✎
    09:50 
 | 
         
        (1) в запросе звездочкой (*) считывает документ, в нем есть и ТЧ, ее тоже передает как ТаблицаЗначений, Наверное, можно было бы описать запрос подробно и там переименовать ТЧ, но хотелось бы ТЧ подменить на этапе выгрузки     
         | 
|||
| 
    3
    
        Брегорьян    
     09.09.15 
            ✎
    09:52 
 | 
         
        ВходящиеДанные.Вставить("Товары", РезультатыЗапроса[0].Выгрузить());     
         | 
|||
| 
    4
    
        el-gamberro    
     09.09.15 
            ✎
    09:54 
 | 
         
        Выгрузи таб часть как параметр с типом тз. При загрузке делай с таблицей значений что хочешь.     
         | 
|||
| 
    5
    
        Мимохожий Однако    
     09.09.15 
            ✎
    09:59 
 | 
         
        Выбрать Товары Как ДругоеНазваниеТЧ     
         | 
|||
| 
    6
    
        VladSt    
     09.09.15 
            ✎
    10:04 
 | 
         
        (5) во это именно то, про что и я думал, но тогда надо писать подробно запрос. Так?     
         | 
|||
| 
    7
    
        VladSt    
     09.09.15 
            ✎
    10:05 
 | 
         
        В ПКС для элементов можно использовать такой код:
 
        Значение = ВходящиеДанные.РеквизитТакойТо; А для групп это не работает ((  | 
|||
| 
    8
    
        Mankubus    
     09.09.15 
            ✎
    10:10 
 | 
         
        (7) пиши КоллекцияОбъектов = ВходящиеДанные.ТЧТакаяТо;     
         | 
|||
| 
    9
    
        Mankubus    
     09.09.15 
            ✎
    10:12 
 | 
         
        (8) + или КоллекцияОбъектов = Источник.ТЧТакаяТо; тогда запрос (0) не надо переделывать     
         | 
|||
| 
    10
    
        VladSt    
     09.09.15 
            ✎
    10:15 
 | 
         
        сделал как в (8), но тогда при обходе ТЧ не находит реквизиты. И так и так не работает:
 
        //Сообщить("ВходящиеДанные.Всего " + ВходящиеДанные.Всего); //Сообщить("КоллекцияОбъектов.Всего " + КоллекцияОбъектов.Всего);  | 
|||
| 
    11
    
        Брегорьян    
     09.09.15 
            ✎
    10:18 
 | 
||||
| 
    12
    
        VladSt    
     09.09.15 
            ✎
    10:33 
 | 
         
        (11)
 
        http://i.imgur.com/ounkPLF.png?1 http://i.imgur.com/0DQWepG.png http://i.imgur.com/Xgtjbgb.png Начало выгрузки: 09.09.2015 10:17:10 Ошибка в обработчике события ПередВыгрузкой (свойства) ПКО = уатТТД_РасходнаяНакладная (Документ: Расходная накладная) ПКС = 24 (--> Всего) Объект = (Неопределено) СвойствоПриемника = Всего (Число) Обработчик = ПередВыгрузкойСвойства ОписаниеОшибки = Ошибка компиляции при вычислении выражения или выполнении фрагмента кода ПозицияМодуля = ВнешняяОбработка.УниверсальныйОбменДаннымиXML(8972) КодСообщения = 55  | 
|||
| 
    13
    
        Брегорьян    
     09.09.15 
            ✎
    10:39 
 | 
         
        (12) я не настаиваю     
         | 
|||
| 
    14
    
        VladSt    
     09.09.15 
            ✎
    10:40 
 | 
         
        )     
         | 
|||
| 
    15
    
        Mankubus    
     09.09.15 
            ✎
    10:48 
 | 
         
        (12) Всего это колонка ТЧ? в ПКС надо писать не КоллекцияОбъектов, а ОбъектКоллекции     
         | 
|||
| 
    16
    
        VladSt    
     09.09.15 
            ✎
    10:55 
 | 
         
        (15) Спасибо!     
         | 
|||
| 
    17
    
        mc lammer    
     09.09.15 
            ✎
    10:57 
 | 
         
        (0) зачем выгружаешь строку ТЗ с реквизитам объекта, а не сам объект ?  лишний гемор имхо.
 
        а так, можешь в обработчике перед выгрузкой для группы объектов соответсвующей ТЧ документа написать КоллекцияОбъектов = Источник.<НазваниеТЧВИсточнике>  | 
|||
| 
    18
    
        VladSt    
     09.09.15 
            ✎
    13:50 
 | 
         
        (17) 
 
        Изначально я так и делал. Результат запроса выгружал в ТЗ: ВыгрузитьПоПравилу(, , ТЗ, , "уатТТД_РасходнаяНакладная"); но почему то так не работало, (( Пришлось сделать так как есть.  | 
|||
| 
    19
    
        VladSt    
     09.09.15 
            ✎
    13:55 
 | 
         
        А еще подскажите.
 
        После загрузки документов в справочнике Номенклатура создаются элементы, их родители. Но я бы хотел, чтобы для всех эти элементов с их родителями был самый главный родитель, например ГруппаКонвертированная. А дальше их иерархия сохранялась.  | 
|||
| 
    20
    
        VladSt    
     09.09.15 
            ✎
    14:03 
 | 
         
        Все разобрался. В ПКО Номенклатура ПослеЗагрузки:
 
        Если НЕ ЗначениеЗаполнено(Объект.Родитель) Тогда Объект.Родитель = Справочники.Номенклатура.НайтиПоКоду("01"); КонецЕсли;  | 
|||
| 
    21
    
        Naumov    
     09.09.15 
            ✎
    14:06 
 | 
         
        (0) А нафиг пристраивать свой велосипед, где стандартная выборка прекрасно работает?     
         | 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |