Имя: Пароль:
1C
1С v8
Загрузка из DBF в Табл.Часть(Обраьотки)
0 tpudl_bases
 
07.11.12
14:04
Подскажите что не так делаю,выкидывает ошибку:
{Форма.ФормаОтчета.Форма(1210)}: Поле объекта не обнаружено (Документ)
               ЭлементыФормы.ТаблицаЗагружаемыхДокументов.Колонки.Документ.Имя = ?(ПустаяСтрока(СокрЛП(База_.VIDDoc)),"",СокрЛП(База_.VIDDoc));


   Если База_.Открыта() тогда
       База_.Первая();
       ЭлементыФормы.ТаблицаЗагружаемыхДокументов.СоздатьКолонки();
       НомерСтр = 1;
       Пока Не База_.ВКонце() Цикл
           Если ЭлементыФормы.ТаблицаЗагружаемыхДокументов.Колонки.Найти(СокрЛП(База_.NomerD))=Неопределено Тогда
               ЭлементыФормы.ТаблицаЗагружаемыхДокументов.Колонки.Документ.Имя = ?(ПустаяСтрока(СокрЛП(База_.VIDDoc)),"",СокрЛП(База_.VIDDoc));
               ЭлементыФормы.ТаблицаЗагружаемыхДокументов.Колонки.НомерДокумента.Имя = СокрЛП(База_.NomerD);
               ЭлементыФормы.ТаблицаЗагружаемыхДокументов.Колонки.Дата.Имя = СокрЛП(База_.DataDoc);
               ЭлементыФормы.ТаблицаЗагружаемыхДокументов.Колонки.Состояние.Имя = ?(База_.Proveden=1,"Проведен","Не Проведен");
           КонецЕсли;
           База_.Следующая();
       КонецЦикла;    
       
   КонецЕсли;
Хотя первую строку записывает,на втором выкидывает ошибку
1 ДенисЧ
 
07.11.12
14:07
ойматьмать...
Где ж тебя так пиать учили?
2 cw014
 
07.11.12
14:08
Етить o_O
3 tpudl_bases
 
07.11.12
14:11
(1)учимся однако
4 zladenuw
 
07.11.12
14:13
(0) все не так
5 tpudl_bases
 
07.11.12
14:14
(4)покажи свой примерчик
6 dva1c
 
07.11.12
14:30
(5) Вот держи:

ДБФ = Новый XBase;
   Файлы=НайтиФайлы(ПутьЗагрузки,"Z*.DBF");
   Сообщить("******************Начинаю загрузку "+ТекущаяДата()+"***********************",СтатусСообщения.Информация);
   Для каждого фл из Файлы цикл
       Попытка
           ДБФ.ОткрытьФайл(фл.ПолноеИмя);

       Исключение

           Сообщить("Немогу открыть файл.");
           Прервать;

       КонецПопытки;
       ДБФ.Кодировка=КодировкаXBase.OEM;
       Сообщить("==============================================");

       Сообщить("Создаю документ "+ТекущаяДата(),СтатусСообщения.Информация);
       Док = Документы.СводнаяЗаявка.СоздатьДокумент();

       Док.Дата = ТекущаяДата();


       Склад = Справочники.Склады.НайтиПоНаименованию("СГП");
       Док.Склад = Склад.Ссылка;

       ДБФ.Первая();
       КодОрг = новый УникальныйИдентификатор(СокрЛП(ДБФ.IDFIRM));
       КодПок = новый УникальныйИдентификатор(СокрЛП(ДБФ.IDBUYER));
       СпрОрг = Справочники["Организации"].ПолучитьСсылку(КодОрг);
       СпрПок = Справочники.Контрагенты.НайтиПоКоду(КодПок);
       СпрПок = Справочники["Контрагенты"].ПолучитьСсылку(КодПок);
7 palpetrovich
 
07.11.12
14:35
Создай руками необходимые колонки в табличном поле своей обработки, далее так:
Процедура КнопкаВыполнитьНажатие(Кнопка)
   База = Новый XBase;
   База.Кодировка=КодировкаXBase.OEM;
   База.ОткрытьФайл("D:\111.dbf");
   Если База.Открыта() тогда
       База.Первая();
       Пока Не База.ВКонце() Цикл
           НоваяСтрока = ТабличнаяЧасть1.Добавить();
           НоваяСтрока.Вид = База.VIDDoc;
           НоваяСтрока.Номер = База.NomerD;
           НоваяСтрока.Дата = База.DataDoc;
           НоваяСтрока.Проведен = База.Proveden;
           База.Следующая();
       КонецЦикла;
   КонецЕсли;
   База.ЗакрытьФайл();
КонецПроцедуры
8 tpudl_bases
 
07.11.12
14:36
так заработало:
   ТЗ_ = Новый ТаблицаЗначений;
   ТЗ_.Колонки.Добавить("Документ");
   ТЗ_.Колонки.Добавить("НомерДокумента");
   ТЗ_.Колонки.Добавить("Дата");
   ТЗ_.Колонки.Добавить("Состояние");
   
   Если База_.Открыта() тогда
       База_.Первая();
       НомерСтр = 1;
       Пока Не База_.ВКонце() Цикл
           Если ТЗ_.Найти(СокрЛП(База_.NomerD))=Неопределено Тогда
                 НоваяТЗ = ТЗ_.Добавить();
                 НоваяТЗ.Документ = СокрЛП(База_.VIDDoc);
                 НоваяТЗ.НомерДокумента = СокрЛП(База_.NomerD);
                 НоваяТЗ.Дата = СокрЛП(База_.DataDoc);
                 НоваяТЗ.Состояние = ?(База_.Proveden=1,"Проведен","Не Проведен");
           КонецЕсли;
           База_.Следующая();
       КонецЦикла;    
        ЭлементыФормы.ТаблицаЗагружаемыхДокументов.Значение = ТЗ_;
        ЭлементыФормы.ТаблицаЗагружаемыхДокументов.СоздатьКолонки();
   КонецЕсли;
9 Aprobator
 
07.11.12
14:39
(8) у тебя уже есть реквизит связанный с таблицей выведенной на форму, вот с ним и работай. Создавать ТЗ еще раз смысла нет. Задаешь ее структуру и вперед.