|
Загрузка из 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) у тебя уже есть реквизит связанный с таблицей выведенной на форму, вот с ним и работай. Создавать ТЗ еще раз смысла нет. Задаешь ее структуру и вперед.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |