Новости для бухгалтера, бухучет, налогообложение, отчетность, ФСБУ, прослеживаемость и маркировка, 1С:Бухгалтерия

Вход или Регистрация

Показывать по 10 20 40 сообщений
Новая тема Ответить
Письмо в техподдержку 1С
[Прочее]

как подгрузить несколько dbf файлов

RusRMM
читатель
офлайн
Дата регистрации: 24.10.2007
Сообщений: 31
Пост №1
 
08.06.2010 14:57

"Здравствуйте. Описываю проблему: есть несколько DBF фалов в них есть номера и под каждым номером свои данные . Нужно по номеру находить в DBF-ке эти данные. В чём суть, DBF – ок много по одному подгружать муторно, вот и хочу задать, что бы методом перебора проверять их.<br>Но что-то не получается у меня ниже опишу что делал и что в итоге получается, может кто что подскажет что ни так делаю.<br><br>Первый пример: ЛСчёт – задаётся в диалоге <br><br>Процедура Сформировать() <br>Таб = СоздатьОбъект("Таблица");<br> Таб.ИсходнаяТаблица("Таблица");<br>Файл = создатьОбъект("XBASE");<br> Файл.ОткрытьФайл("BDN00.dbf");<br> Файл.КодоваяСтраница(1);<br> Файл.Первая(); <br> Пока Файл.ВКонце()=0 Цикл<br> Если ЛСчёт=Файл.LCZN тогда<br> ***********<br> Таб.ВывестиСекцию("С1");<br> Таб.ВывестиСекцию("С2");<br> Таб.Показать();<br> иначе <br> КонецЕсли;<br><br> иначе <br> КонецЕсли;<br> Файл.Следующая();<br> <br> КонецЦикла; <br> Файл2 = создатьОбъект("XBASE");<br> Файл2.ОткрытьФайл("BDN01.dbf");<br> Файл2.КодоваяСтраница(1);<br> Файл2.Первая();<br> Пока Файл2.ВКонце()=0 Цикл<br> Если ЛСчёт=Файл2.LCZN тогда<br> ***************<br> Таб.ВывестиСекцию("С1");<br> Таб.ВывестиСекцию("С2");<br> Таб.Показать();<br> иначе <br> КонецЕсли;<br> Файл.Следующая();<br> КонецЦикла<br>КонецПроцедуры<br><br>Что получается: если задать номер из первой DBF таблицы, он его находит и выводит таблицу, но при этом продолжает выполнять поиск, если задать номер из второй таблицы то ничего не происходит пишет выполняется обработка.<br><br>Второй пример: <br>Таб = СоздатьОбъект("Таблица");<br> Таб.ИсходнаяТаблица("Таблица");<br>Файл = создатьОбъект("XBASE");<br> Файл.ОткрытьФайл("BDN00.dbf");<br> Файл.КодоваяСтраница(1);<br> Файл.Первая(); <br> Пока Файл.ВКонце()=0 Цикл<br> Если ЛСчёт=Файл.LCZN тогда<br> ***********<br> Таб.ВывестиСекцию("С1");<br> Таб.ВывестиСекцию("С2");<br> Таб.Показать();<br> иначе <br> КонецЕсли;<br><br> иначе <br> КонецЕсли;<br> <br> Файл.Следующая(); <br> КонецЦикла; <br>       Файл.ЗакрытьФайл()<br>       Файл2 = создатьОбъект("XBASE");<br> Файл2.ОткрытьФайл("BDN01.dbf");<br> Файл2.КодоваяСтраница(1);<br> Файл2.Первая();<br> Пока Файл2.ВКонце()=0 Цикл<br> Если ЛСчёт=Файл2.LCZN тогда<br> ***************<br> Таб.ВывестиСекцию("С1");<br> Таб.ВывестиСекцию("С2");<br> Таб.Показать();<br> иначе <br> КонецЕсли;<br> Файл2.Следующая();<br> КонецЦикла<br>КонецПроцедуры<br><br>Происходит тоже самое (((, что подскажете.<br>"

Thorvardr
читатель
офлайн
Дата регистрации: 25.02.2005
Сообщений: 3082
Пост №2
 
08.06.2010 15:14

"ПутьКПапкеСdbfФайлами="C:\123\";<br>Таб = СоздатьОбъект("Таблица");<br>Таб.ИсходнаяТаблица("Таблица");<br>ИмяФайла = ФС.НайтиПервыйФайл(ПутьКПапкеСdbfФайлами+"*.dbf");<br>Файл = СоздатьОбъект("XBASE");<br>Найден=0;<br>Пока ПустаяСтрока(ИмяФайла) = 0 Цикл<br> Если (ИмяФайла <> "..") И (ИмяФайла <> ".") Тогда <br>       Файл.ОткрытьФайл(ПутьКПапкеСdbfФайлами+ИмяФайла,"""");<br>       Файл.КодоваяСтраница(1);<br>       Файл.Первая(); <br>       Пока Файл.ВКонце()=0 Цикл<br>             Если ЛСчёт=СокрЛП(Файл.LCZN) тогда<br>                   ***********<br>                   Таб.ВывестиСекцию("С1");<br>                   Таб.ВывестиСекцию("С2");<br>                   Таб.Показать();<br>                   Найден=1;<br>                   Прервать; //это то, почему у вас "поиск идет дальше"<br>             Иначе <br>             КонецЕсли;<br>       КонецЦикла;<br>       Если Найден=1 Тогда<br>             Прервать;<br>       КонецЕсли;<br> КонецЕсли;<br> ИмяФайла = ФС.НайтиСледующийФайл();<br>КонецЦикла;<br>Файл=0;"

RusRMM
читатель
офлайн
Дата регистрации: 24.10.2007
Сообщений: 31
Пост №3
 
08.06.2010 15:28

СП всё получилось!!!

Показывать по 10 20 40 сообщений

Читают тему:

Быстрый переход
Для технических специалистов
  • Книга жалоб и предложений по работе сайта
  • Для технических специалистов
  • Представление регламентированной отчетности
  • Говорильня
  • Бухгалтерский учет: обсуждаем проекты нормативных актов и рекомендаций по ведению учета от БМЦ
  • Новый порядок применения ККТ (онлайн кассы с передачей сведений в ФНС)
  • Интернет-конференция: Оформление командировок по новым правилам
  • МАРКИРОВКА
  • ЕГАИС
  • Учет, налогообложение, автоматизация