DBF.AddRecord

From SunFlurry wiki
Jump to: navigation, search
  AddRecord (Добавление записей)
Объект:DBF
Статус разработки: Реализована
Тип:Атрибут
Обращение к БД:Нет
Исключения:Невозможно превратить в строку, число, неверные аргументы
Визуальность:Нет

Функция добавляет (или вставляет) новую запись в текущий файл и заполняет указанные поля записи указанными значениями. Запись становится текущей, остальные поля можно заполнить позже. До изменения текущей записи, предыдущая будет автоматически сохранена (т.е., будет выполнена функция <DBF>.SaveRecord(0), если было позиционирование на предыдущей записи). Внимание! Поиск имен полей производится с учетом регистра! При указании имени необходимо соблюдать корректный регистр букв имени поля!

Синтаксис

DBF.AddRecord(<Индекс записи (INT)>=0,<Наименования полей (STRING)>,<Значение поля 1>,<Значение поля 2>...)

Аргументы

  • <Индекс записи (INT)> - (необязательный аргумент) Аргумент задает индекс вставки новой записи. К примеру, если индекс равен 1, запись будет вставлена, как первая, остальные существующие записи будут сдвинуты. По умолчанию -- 0 (добавлять поле в конец таблицы).
  • <Наименования полей (STRING)> - (необязательный аргумент) Аргумент задает наименования полей, которые будут заполнены после добавления записи, поля разделяются запятыми. Количество указанных здесь полей должно совпадать с количеством последующих аргументов с их значениями.
  • <Значение поля ?> - (необязательный аргумент) Аргументы задают значения, присваиваемые полям после создания новой записи. Количество заданных аргументов должно совпадать с количеством наименований полей.

Примеры

ПостИмяОст:="Остатки на "+FormatDate(КонДата,"YYYY-mm-dd")+".dbf";
бРезОст:=dbf.Create();
бРезОст.FileName:=Каталог+ПостИмяОст;
бРезОст.Codepage:=1251;
  
бРезОст.AddField(,"dDate","DATE");
бРезОст.AddField(,"cItemName","STRING.250");
бРезОст.AddField(,"nQty","NUMBER.15.0");

...

З:=Query.Create();
З.Execute(ТЗ);
 
While З.Next(1) Do
  While З.Next(2) Do
    зКл:=З.зКлКО;
    If зКл<=0 Then
      Continue;
    EndIf;
    зН:=З.зН;
    бРезОст.AddRecord(,"dDate,cItemName,nQty",З.День,зН.ПолнНаименование,зКл);
  EndDo;
EndDo;
бРезОст.Save();
бРезОст.Close();