8.х ОБМЕН Перенос данных из 7.7 в 1с 8 разные табл. части

Тема в разделе "Обмен данными в "1С:Предприятие 8"", создана пользователем Kirya, 26 июн 2014.

  1. TopicStarter Overlay
    Kirya
    Offline

    Kirya Опытный в 1С

    Регистрация:
    3 авг 2006
    Сообщения:
    106
    Симпатии:
    0
    Баллы:
    26
    Добрый день!

    Необходимо настроить через конвертацию правила обмена между конфигурацией 1с7.7 (специализированная конфигурация ) и 1с8: БП ред. 2.0.
    Вопрос с выгрузкой документа Авансовый отчет. Необходимо, чтобы если в табличной части в 1с 7.7 заполнен реквизит "ДокументДопЗатрат", то необходимо выгружать данные в Авансовый Отчет в 1с8 табл. часть "Товары", если реквизит пустой, то в табл. часть "Прочее". Подскажите, что необходимо сделать чтобы это условие срабатывало?
  2. nickpugachev
    Offline

    nickpugachev Профессионал в 1С Команда форума

    Регистрация:
    28 май 2012
    Сообщения:
    3.266
    Симпатии:
    131
    Баллы:
    104
    в обработчике ПередВыгрузкой в ПКО делаете две таблицы значений, соответствующие по структуре табличным частям авансового отчета, в зависимости от того, какая таб. часть должна быть заполнена - заполняете соответствующую таблицу значений, обе таблицы значений засовываете в список значений, ключами должны быть наименования табличных частей авансового отчета, сам список значений - в переменную ВходящиеДанные.

    далее в ПКО добавляете ПКС для табличных частей без источников, на всех реквизитах таб. частей и на самих таб. частях ставите галку получения из входящих данных

    все
  3. TopicStarter Overlay
    Kirya
    Offline

    Kirya Опытный в 1С

    Регистрация:
    3 авг 2006
    Сообщения:
    106
    Симпатии:
    0
    Баллы:
    26
    Спасибо за ответ!

    Таблицы Значений сделал, а как их "засунуть" в список значений не совсем понял. Что имеется в ввиду?
  4. nickpugachev
    Offline

    nickpugachev Профессионал в 1С Команда форума

    Регистрация:
    28 май 2012
    Сообщения:
    3.266
    Симпатии:
    131
    Баллы:
    104
    Код:
    ВходящиеДанные = СоздатьОбъект("СписокЗначений");
    ВходящиеДанные.Установить("ИмяТабличнойЧасти1", СоответствующаяТЗ1);
    ВходящиеДанные.Установить("ИмяТабличнойЧасти2", СоответствующаяТЗ2);
  5. TopicStarter Overlay
    Kirya
    Offline

    Kirya Опытный в 1С

    Регистрация:
    3 авг 2006
    Сообщения:
    106
    Симпатии:
    0
    Баллы:
    26
    Спасибо за подсказку!

    Вроде сделали!
    Только табличные части разные создаются, количество строк соответствует количеству из 7.7,но данных в строчках нету - реквизиты не заполняются.
    Куда смотреть, что сделали не так?

    upload_2014-6-30_18-38-54.png
    --- Объединение сообщений, 30 июн 2014 ---
    upload_2014-6-30_18-40-8.png
  6. nickpugachev
    Offline

    nickpugachev Профессионал в 1С Команда форума

    Регистрация:
    28 май 2012
    Сообщения:
    3.266
    Симпатии:
    131
    Баллы:
    104
    таблицы значений заполнили не так - смотрите в отладчике
  7. TopicStarter Overlay
    Kirya
    Offline

    Kirya Опытный в 1С

    Регистрация:
    3 авг 2006
    Сообщения:
    106
    Симпатии:
    0
    Баллы:
    26
    Хммм, странно! Не могу понять.
    В отладчике смотрю - таблицы заполняются!

    Код в обработчике событий Перед Выгрузкой в ПКО следующий:

    ТаблТовары = СоздатьОбъект("ТаблицаЗначений");
    ТаблТовары.НоваяКолонка("Номенклатура");
    ТаблТовары.НоваяКолонка("Количество");
    ТаблТовары.НоваяКолонка("Цена");
    ТаблТовары.НоваяКолонка("Сумма");
    ТаблТовары.НоваяКолонка("Поставщик");
    ТаблТовары.НоваяКолонка("ВидДокВходящий");

    ТаблПрочее = СоздатьОбъект("ТаблицаЗначений");
    ТаблПрочее.НоваяКолонка("Содержание");
    ТаблПрочее.НоваяКолонка("Сумма");
    ТаблПрочее.НоваяКолонка("Поставщик");
    ТаблПрочее.НоваяКолонка("ВидДокВходящий");

    Источник.ВыбратьСтроки();
    Пока Источник.ПолучитьСтроку()=1 Цикл
    Если (Источник.ДопЗатраты_Документ.Выбран()=1) И (Источник.ДопЗатраты_Документ.Вид()="ПриходнаяНакладная") Тогда
    ДокПрих=Источник.ДопЗатраты_Документ;
    ДокПрих.ВыбратьСтроки();
    Пока ДокПрих.ПолучитьСтроку()=1 Цикл
    ТаблТовары.НоваяСтрока();
    ТаблТовары.Номенклатура = ДокПрих.Номенклатура;
    ТаблТовары.Количество = ДокПрих.Количество;
    ТаблТовары.Цена = ДокПрих.Цена;
    ТаблТовары.Сумма = ДокПрих.Сумма;
    ТаблТовары.Поставщик = Источник.тКонтрагент;
    ТаблТовары.ВидДокВходящий = Источник.ПоДокументу;
    КонецЦикла
    Иначе
    ТаблПрочее.НоваяСтрока();
    ТаблПрочее.Содержание=Источник.Назначение;
    ТаблПрочее.Сумма = Источник.Сумма;
    ТаблПрочее.Поставщик = Источник.тКонтрагент;
    ТаблПрочее.ВидДокВходящий = Источник.ПоДокументу;
    КонецЕсли;
    КонецЦикла;


    ВходящиеДанные=СоздатьОбъект("СписокЗначений");
    ВходящиеДанные.Установить("Товары", ТаблТовары);
    ВходящиеДанные.Установить("Прочее", ТаблПрочее);
    --- Объединение сообщений, 30 июн 2014 ---
    В отладчике в таблицах записи есть, а в файле данных пусто:

    -<ТабличнаяЧасть Имя="Товары">


    -<Запись>


    -<Свойство Тип="СправочникСсылка.Номенклатура" Имя="Номенклатура">

    <Пусто/>

    </Свойство>


    -<Свойство Тип="Число" Имя="Количество">

    <Пусто/>

    </Свойство>


    -<Свойство Тип="Число" Имя="Цена">

    <Пусто/>

    </Свойство>


    -<Свойство Тип="Число" Имя="Сумма">

    <Пусто/>

    </Свойство>


    -<Свойство Тип="СправочникСсылка.Контрагенты" Имя="Поставщик">

    <Пусто/>

    </Свойство>


    -<Свойство Тип="Строка" Имя="ВидДокВходящий">

    <Пусто/>

    </Свойство>

    </Запись>
  8. nickpugachev
    Offline

    nickpugachev Профессионал в 1С Команда форума

    Регистрация:
    28 май 2012
    Сообщения:
    3.266
    Симпатии:
    131
    Баллы:
    104
    смотреть дальше по отладчику надо...

    если есть возможность выложить md и базу правил - посмотрю
  9. TopicStarter Overlay
    Kirya
    Offline

    Kirya Опытный в 1С

    Регистрация:
    3 авг 2006
    Сообщения:
    106
    Симпатии:
    0
    Баллы:
    26
    Не получилось ничего обнаружить в отладчике.
    Выкладываю md файл, правила выгрузки и обработку выгрузки 7.7: https://yadi.sk/d/5zylm5Y6VXomQ

    Буду очень признателен, если подскажите, что именно сделали не так!
    Спасибо!
  10. TopicStarter Overlay
    Kirya
    Offline

    Kirya Опытный в 1С

    Регистрация:
    3 авг 2006
    Сообщения:
    106
    Симпатии:
    0
    Баллы:
    26
    Разобрался! На реквизитах табл. частях не надо было ставить галочку получения из внеш. данных

Поделиться этой страницей