Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
28 мар 2024, 17:43

Помогите с загрузкой данных из *.DBF в табличную часть

Автор Dobrolubov, 20 сен 2012, 08:33

0 Пользователей и 1 гость просматривают эту тему.

Dobrolubov

Значит, мне необходимо загрузить данные из 2х dbf  таблиц, и данные одной из таблиц должны помечаться в табличную часть справочника....не могу обратиться к справочнику в обработке....


дбф1 = новый XBASe;
дбф1.Кодировка=КодировкаXBase.OEM;
дбф1.ОткрытьФайл("D:\dBase\kZ(prob)\kkorm.dbf");
дбфР = новый XBASe;
дбфР.Кодировка=КодировкаXBase.OEM;
дбфР.ОткрытьФайл("D:\dBase\kZ(prob)\recept.dbf");


РодительТМЦ1 = Справочники.Номенклатура.СоздатьГруппу();
         РодительТМЦ1.Наименование = "КомбиКорм";
         РодительТМЦ1.Записать();
         РодительСсылка1 = РодительТМЦ1.Ссылка;
   колзап=дбфр.КоличествоЗаписей();      
к=1000;         
Пока ДБФ1.Следующая() Цикл
к=к+1;
   
   НоваяНоменклатура = Справочники.Номенклатура.СоздатьЭлемент();
    НоваяНоменклатура.Код = к;
НоваяНоменклатура.Наименование = ДБФ1.kkorm;
НоваяНоменклатура.Признак = перечисления.Признак_корм_сырье.КомбиКорм;
НоваяНоменклатура.Родитель = РодительСсылка1;

для каждого стч из новаяноменклатура.ТабличнаяЧасть1 цикл


стч.НаименованиеСырья =дбфр.kkorm;
стч.ПроцентВвода =дбфр.procent;

конеццикла;

НоваяНоменклатура.Записать();
конеццикла;

дбфР.ЗакрытьФайл();
дбф1.ЗакрытьФайл();

sadovod

Цикла не будет
"Для Каждого стч из новаяноменклатура.ТабличнаяЧасть1 Цикл
    стч.НаименованиеСырья =дбфр.kkorm;
    стч.ПроцентВвода =дбфр.procent;
КонецЦикла;"
потому что у нового элемента 'НоваяНоменклатура.ТабличнаяЧасть1' часть ещё пустая, перебирать нечего...
Нужно примерно вот так:
    НоваяСтрокаТЧ = НоваяНоменклатура.ТабличнаяЧасть1.Добавить();
    НоваяСтрокаТЧ.НаименованиеСырья = дбфр.kkorm;
    НоваяСтрокаТЧ.ПроцентВвода = дбфр.procent;
А вот сколько таких строк нужно добавить, из ваших условий непонятно. Видимо, как-то нужно перебирать дбфР, он у вас никак не перебирается.

Dobrolubov

ага, я думал что через добавить(), но потыкался, нифига а щас вот вроде понял что не так было спасибо))))

Dobrolubov

ох нифига, не знаю как крутить дбфр.............

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск