8.х Проблемы с циклом.

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

  1. TopicStarter Overlay
    ифкпфт009
    Offline

    ифкпфт009 Опытный в 1С

    Регистрация:
    23 апр 2014
    Сообщения:
    81
    Симпатии:
    0
    Баллы:
    26
    Здравствуйте, подскажите в чем ошибка?
    Код:
    &НаКлиенте
    Процедура Выгрузить(Команда)
       
       
       
        создаемдбф();
    
           
    КонецПроцедуры
    
    &НаСервере
    Процедура создаемдбф()
          
        ИксБейс = Новый XBase;
           
        ИксБейс.Кодировка = КодировкаXBase.OEM;
       
        ИксБейс.поля.Добавить("FAM","S",40);
        ИксБейс.поля.Добавить("Name","S",25);
        ИксБейс.поля.Добавить("PAT","S",35);
       
       
        //создаем файл дбф
        ИксБейс.СоздатьФайл("E:\Гостиница\Шпоры\1.dbf");
       
           
    
        ИксБейс.ОчиститьФайл();
        Сообщить("Очищаем файл!");
    
       
           
       
        //выгружаем фамилию имя и отч
        Запрос= Новый запрос;
        Запрос.Текст=("ВЫБРАТЬ
                      |    ФизическиеЛица.Фамилия,
                      |    ФизическиеЛица.Имя,
                      |    ФизическиеЛица.Отчество
                      |ИЗ
                      |    Справочник.ФизическиеЛица КАК ФизическиеЛица");
        Выборка = Запрос.Выполнить().Выбрать();
        Пока Выборка.Следующий() Цикл
             ИксБейс.Добавить();
             ИксБейс.FAM=Выборка.Фамилия;
             ИксБейс.NAME=Выборка.имя;
             ИксБейс.PAT=Выборка.Отчество;
        КонецЦикла;
               
        ИксБейс.Записать();   
    
        ИксБейс.ЗакрытьФайл();   
    КонецПроцедуры
    по факту выгружает только 1 человека, почему? должен же всех.
    --- Объединение сообщений, 9 сен 2016 ---
    Даже если тупо:
    Код:
    фиовыгр=Справочники.ФизическиеЛица.Выбрать();
        Пока фиовыгр.Следующий() Цикл
                ИксБейс.Добавить();
             ИксБейс.FAM=фиовыгр.Фамилия;
            КонецЦикла;
               
        ИксБейс.Записать();
    Выгружает 1 запись, что я делаю не так?
    --- Объединение сообщений, 9 сен 2016 ---
    Разобрался.
    Последнее редактирование: 9 сен 2016
  2. Andris_1c-pro
    Offline

    Andris_1c-pro Новичок в 1С

    Регистрация:
    12 сен 2014
    Сообщения:
    45
    Симпатии:
    8
    Баллы:
    4
    а в выборке сколько записей?
    --- Объединение сообщений, 9 сен 2016 ---
    фиовыгр=Справочники.ФизическиеЛица.Выбрать();
    Пока фиовыгр.Следующий() Цикл
    ИксБейс.Добавить();
    ИксБейс.FAM=фиовыгр.Фамилия;
    ИксБейс.Записать();
    КонецЦикла;

    ИксБейс.ЗакрытьФайл();

    Пробуй так :)
    Последнее редактирование: 9 сен 2016
  3. TopicStarter Overlay
    ифкпфт009
    Offline

    ифкпфт009 Опытный в 1С

    Регистрация:
    23 апр 2014
    Сообщения:
    81
    Симпатии:
    0
    Баллы:
    26
    угу, забыл запись в цикл добавить, спасиб.

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