29 мая 2011 г.

Чудеса 8-ки

Делаю обработку загрузки данных из ДБФ файла из приватовского клиент-банка.
Оказывается стандартная переборка записей ДБФ файла не работает.
Что такое стандартная переборка?

Конструкция типа:

БД = Новый XBase;
БД.ОткрытьФайл(Путь + "start.dbf");
Пока БД.Следующая() Цикл
Сообщить(БД.CODE);
Сообщить(БД.NAME);
КонецЦикла;
БД.ЗакрытьФайл();

Или типа:

БД = Новый XBase;
БД.ОткрытьФайл(Путь + "start.dbf");
БД.Первая();
Пока НЕ БД.ВКонце() Цикл
Сообщить(БД.CODE);
Сообщить(БД.NAME);
БД.Следующая();
КонецЦикла;
БД.ЗакрытьФайл();

Так вот я столкнулся со случаем, когда такие коды не работают.
Выручил такой код:

БД = Новый XBase;
БД.ОткрытьФайл(Путь + "start.dbf");
Размер = БД.КоличествоЗаписей();

Для ы=1 По Размер Цикл

БД.Перейти(ы);
Сообщить(БД.CODE);
Сообщить(БД.NAME);

КонецЦикла;
БД.ЗакрытьФайл();

Комментариев нет:

Отправить комментарий