Как выгрузить данные из таблицы значений в табличную часть документа?

Тема в разделе "1C и всё что с ней связано", создана пользователем Karambol, 26 сен 2007.

Статус темы:
Закрыта.
  1. Karambol

    Karambol Гость

    Как можно выгрузить данные из таблицы значений в табличную часть документа? Есть какая-нибудь ф-я или вручную придется обрабатывать? Заранее спасибо! :)
     
  2. Karambol

    Karambol Гость

    Стормозил.... ЗагрузитьТабличнуюЧасть()
     
  3. gudlev

    gudlev Гость

    Делаю внешнюю обработку для загрузки из XML в Табличную часть документа ТребованиеНакладная
    Вот модуль
    Файл = Новый ЧтениеXML;
    Файл.ОткрытьФайл(пвИмяФайла);
    Файл.Прочитать();
    Тип = Новый ОписаниеТипов("СправочникСсылка.Номенклатура");
    //Создаем Таблицу Значений
    ТаблицаЗначений = Новый ТаблицаЗначений;
    ТаблицаЗначений.Колонки.Добавить("Номенклатура",Тип,"Номенклатура");
    ТаблицаЗначений.Колонки.Добавить("Количество",Новый ОписаниеТипов("Число"),"Количество");
    Пока Файл.Прочитать() Цикл
    Если Файл.Имя = "Mat" Тогда
    Если Файл.ТипУзла = ТипУзлаXML.НачалоЭлемента И Файл.ЗначениеАтрибута(4) <> "Deleted" Тогда
    Номенклатура = Файл.ЗначениеАтрибута(0);
    Количество = Файл.ЗначениеАтрибута(3);
    НайденнаяСсылка = Справочники.Номенклатура.НайтиПоНаименованию(Номенклатура);
    Если Не НайденнаяСсылка = Справочники.Номенклатура.ПустаяСсылка() Тогда
    СтрокаТабЗначений = ТаблицаЗначений.Добавить();
    СтрокаТабЗначений.Номенклатура = НайденнаяСсылка;
    СтрокаТабЗначений.Количество = Количество;
    Иначе
    Сообщить(Номенклатура + " Нет в справочнике");
    КонецЕсли;
    КонецЕсли;
    КонецЕсли;
    КонецЦикла;
    Файл.Закрыть();
    ТаблицаЗначений.Свернуть("Номенклатура","Количество");
    СсылкаНаОбъект.Материалы.Загрузить(ТаблицаЗначений);​
    Где СсылкаНаОбъект это реквизит ДокументСсылка.ТребованиеНакладная
    Но из ТаблицыЗначений данные не загружаются в Табличную часть документа. Подскажите, что сделал не так?
     
  4. unknown181538

    unknown181538 НеГуру
    1C Team

    Регистрация:
    28 дек 2008
    Сообщения:
    1.418
    Симпатии:
    0
    Отладчик!!
    "Файл.ЗначениеАтрибута(0);" возвращает то, что вам надо?
     
  5. ech

    ech Гость

    Может быть вместо:
    СсылкаНаОбъект.Материалы.Загрузить(ТаблицаЗначений);

    Сделать это:
    СтрокаДока = СсылкаНаОбъект.Материалы.Добавить();
    Номенклатура = СтрокаТабЗначений.Номенклатура;
    Количество = СтрокаТабЗначений.Количество;
    СсылкаНаОбъект.Записать();
     
  6. ilyuhin

    ilyuhin Member

    Регистрация:
    31 авг 2009
    Сообщения:
    5
    Симпатии:
    0
    Во-первых, если СсылкаНаОбъект - это ссылка, а не сам объект, то её нельзя записать... И грузить в таб часть по ссылке тоже нет никакого смысла. Ведь прежде чем модифицировать объект его нужно получить. Если грузиться всё равно не будет, то, возможно, не совпадают имена колонок таблиц загружаемой и той, в которую загружают
    Объект = СсылкаНаОбъект.ПолучитьОбъект();
    И уже дальше работать с табличной частью Материалы ОБЪЕКТА, а не ССЫЛКИ на объект.

    P.S. Опять же, всё это если СсылкаНаОбъект - действительно ссылка, а не сам объект. Решать проблему я бы начал с этого момента...
     
Загрузка...
Статус темы:
Закрыта.

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