Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 17:29

Цикл не работает.

Автор Igor100500, 09 сен 2016, 09:48

0 Пользователей и 1 гость просматривают эту тему.

Igor100500

Здравствуйте, подскажите в чем ошибка?
&НаКлиенте
Процедура Выгрузить(Команда)



создаемдбф();


КонецПроцедуры

&НаСервере
Процедура создаемдбф()
   
ИксБейс = Новый XBase;

ИксБейс.Кодировка = КодировкаXBase.OEM;

ИксБейс.поля.Добавить("FAM","S",40);
ИксБейс.поля.Добавить("Name","S",25);
ИксБейс.поля.Добавить("PAT","S",35);


//создаем файл дбф
ИксБейс.СоздатьФайл("E:\Гостиница\Шпоры\1.dbf");



ИксБейс.ОчиститьФайл();
Сообщить("Очищаем файл!");




//выгружаем фамилию имя и отч
Запрос= Новый запрос;
Запрос.Текст=("ВЫБРАТЬ
              | ФизическиеЛица.Фамилия,
              | ФизическиеЛица.Имя,
              | ФизическиеЛица.Отчество
              |ИЗ
              | Справочник.ФизическиеЛица КАК ФизическиеЛица");
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
ИксБейс.Добавить();
ИксБейс.FAM=Выборка.Фамилия;
ИксБейс.NAME=Выборка.имя;
ИксБейс.PAT=Выборка.Отчество;
КонецЦикла;

ИксБейс.Записать();

ИксБейс.ЗакрытьФайл();
КонецПроцедуры

по факту выгружает только 1 человека, почему? должен же всех.

Igor100500

Даже если тупо:
фиовыгр=Справочники.ФизическиеЛица.Выбрать();
Пока фиовыгр.Следующий() Цикл
ИксБейс.Добавить();
ИксБейс.FAM=фиовыгр.Фамилия;
КонецЦикла;

ИксБейс.Записать();

Выгружает 1 запись, что я делаю не так?

ilyay

Записать() поместить внутрь цикла?

Igor100500

Все спасибо, работает.:D

ilyay

Есть еще свойство АвтоСохранение, посмотрите в справке.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск