8.х Вопрос о работе с dbf

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем andrenko, 3 ноя 2010.

  1. TopicStarter Overlay
    andrenko
    Offline

    andrenko Опытный в 1С

    Регистрация:
    20 ноя 2008
    Сообщения:
    310
    Симпатии:
    0
    Баллы:
    26
    Имеется вот такой код:
    Код:
    ййй = Новый XBase;
    ййй.ОткрытьФайл(ПолеВводаПутьКФайлу);
    пока ййй.Следующая() цикл
    ОбработкаПрерыванияПользователя();
    Сообщить("_" + ййй.KOD_DEB);
    КонецЦикла;
    ййй.ЗакрытьФайл();
    
    
    И первую запись почему-то не выводит, т.е. если в файле 5 записей, то выводится только 4. Что это может быть? Да, речь идет об импорте из клиент-банка.
  2. Requin
    Offline

    Requin Опытный в 1С

    Регистрация:
    10 май 2010
    Сообщения:
    1.911
    Симпатии:
    2
    Баллы:
    29
    Попробуйте так:
    Код:
    ййй = Новый XBase;
    ййй.ОткрытьФайл(ПолеВводаПутьКФайлу);
    ййй.Первая();
    Пока Не ййй.ВКонце() Цикл
    ОбработкаПрерыванияПользователя();
    Сообщить("_" + ййй.KOD_DEB);
    ййй.Следующая();
    КонецЦикла;
    ййй.ЗакрытьФайл();
    
  3. Наташа
    Offline

    Наташа Опытный в 1С

    Регистрация:
    14 авг 2010
    Сообщения:
    1.442
    Симпатии:
    2
    Баллы:
    29
    Возможно, первая запись - это просто заголовки столбцов. Если файл открываете Excel-ем, то он их показывает в виде отдельной строки, хотя ее на самом деле и нет :)
  4. TopicStarter Overlay
    andrenko
    Offline

    andrenko Опытный в 1С

    Регистрация:
    20 ноя 2008
    Сообщения:
    310
    Симпатии:
    0
    Баллы:
    26

    спасибо!
    Все заработало!
  5. Requin
    Offline

    Requin Опытный в 1С

    Регистрация:
    10 май 2010
    Сообщения:
    1.911
    Симпатии:
    2
    Баллы:
    29
    Нет, это не заголовки.

    Код:
    ййй.ОткрытьФайл(ПолеВводаПутьКФайлу);
    
    
    Эта строчка открывает файл и устанавливает позицию курсора на первую запись в файле.
    А далее:
    Код:
    пока ййй.Следующая() цикл...
    
    
    И курсор устанавливается на вторую запись. Поэтому и выводится на одну запись меньше (без первой).

Поделиться этой страницей