Копировать ссылку на страницу Перейти в предыдущий раздел Перейти в следующий раздел

Щелкните для отображения или скрытия подробной информации Добавление записи в набор данных

Чтобы добавить запись справочника в набор данных, используйте:

метод CreateNew объекта IReferenceFactory:

 

// Добавить запись в справочник с кодом TST.

Record = References.TST.CreateNew()

// Заполнить значения реквизитов.

Record.SYSREQ_CODE = 'KOD5'

Record.SYSREQ_NAME = 'TEST5'

// Сохранить изменение набора данных.

Record.Save

метод Append объекта IReference. Метод добавляет новую запись в конец набора данных и открывает ее:

 

// Получить набор данных справочника TST.

   Reference = References.TST.GetComponent()

// Добавить ограничение к SQL-запросу для открытия пустого набора данных.

   AddWhereID = Reference.AddWhere('1 = 0')

// Открыть набор данных справочника.

   Reference.Open

// Добавить запись в конец набора данных справочника с кодом TST.

   Reference.Append()

// Заполнить значения реквизитов.

   Reference.SYSREQ_CODE = 'KOD6'

   Reference.SYSREQ_NAME = 'TEST6'

// Сохранить изменение набора данных.

   Reference.Save

// Закрыть набор данных справочника.

   Reference.Close

// Удалить добавленное ограничение.

   Reference.DelWhere(AddWhereID)

метод Insert объекта IReference. Метод добавляет новую запись в текущую позицию набора данных и открывает запись:

 

// Получить набор данных справочника TST.

   Reference = References.TST.GetComponent()

// Добавить ограничение к SQL-запросу для открытия пустого набора данных.

   AddWhereID = Reference.AddWhere('1 = 0')

// Открыть набор данных справочника.

   Reference.Open

// Добавить запись в текущую позицию справочника с кодом TST.

   Reference.Insert()

// Заполнить значения реквизитов.

   Reference.SYSREQ_CODE = 'KOD7'

   Reference.SYSREQ_NAME = 'TEST7'

// Сохранить изменение набора данных.

   Reference.Save

// Закрыть набор данных справочника.

   Reference.Close

// Удалить добавленное ограничение.

   Reference.DelWhere(AddWhereID)

Щелкните для отображения или скрытия подробной информации Удаление записи из набора данных

Чтобы удалить запись из набора данных, используйте метод DeleteByCode объекта IReferenceFactory.

Пример 1. Определить запись по ее коду и удалить:

 

// Удалить запись справочника TST с кодом KOD3.

References.TST.DeleteByCode('KOD3')

Пример 2. Определить запись по ее ИД и удалить:

 

// Удалить запись справочника TST с ИД 116521.

References.TST.DeleteByID('116521')

Также конкретные записи можно удалить как группу записей. Но в этом случае потребуется добавить ограничение в метод AddWhere.

Если во время работы с набором данных необходимо удалить только одну запись, установите курсор на нужную запись с помощью метода Locate и удалите ее с помощью метода Delete.

Щелкните для отображения или скрытия подробной информации Удаление группы записей из набора данных

Чтобы удалить группу записей, удовлетворяющих заданным условиям, установите ограничение на набор данных справочника и удалите все записи.

Ограничения можно задать в разделе AddWhere (при получении данных с сервера) или через свойства Filter или Filtered.

Пример. Набор данных ограничить при получении данных с сервера, а затем удалить все записи справочника, в наименовании которых содержится текст «TEST3»:

 

// Получить набор данных справочника TST.

   Reference = References.TST.GetComponent()

// Сформировать строку для ограничения выборки в SQL-запросе.

   AddWhere = Format("%0:s.%1:s like '%2:s%3:s%2:s'"; ArrayOf(Reference.TableName; 

   Reference.Requisites(SYSREQ_NAME).SQLFieldName; '%';'TEST3'))

// Добавить ограничение к SQL-запросу.

   AddWhereID = Reference.AddWhere(AddWhere)

// Открыть набор данных справочника.

   Reference.Open

// Удалить все записи из набора данных.

   while not Reference.EOF 

     Reference.Delete

   endwhile

// Закрыть набор данных справочника.

   Reference.Close

// Удалить добавленное ограничение.

   Reference.DelWhere(AddWhereID)

Щелкните для отображения или скрытия подробной информации Изменение записи в наборе данных

Чтобы изменить записи в наборе данных справочника, выполните код:

 

// Получить набор данных записи справочника TST с кодом KOD1.

   Record = References.TST.GetObjectByCode('KOD1')

// Изменить значения реквизитов.

   Record.SYSREQ_CODE = 'KOD1C'

   Record.SYSREQ_NAME = 'TEST1 Changed'

// Сохранить изменение набора данных.

   Record.Save

Также конкретные записи можно изменить как группу записей. Но в этом случае потребуется добавить ограничение в метод AddWhere.

Если во время работы с набором данных необходимо изменить только одну запись, установите курсор на нужную запись с помощью метода Locate и измените ее. Учтите, что для редактирования записи необходимо сначала открыть ее с помощью метода OpenRecord, а после изменения сохранить методом Save и закрыть методом CloseRecord. Для отмены внесенных изменений вместо Save следует применить метод Cancel.

Щелкните для отображения или скрытия подробной информации Изменение группы записей

Чтобы изменить группу записей, удовлетворяющих заданным условиям, установите ограничение на набор данных справочника и внесите изменения.

Ограничения можно задать в разделе AddWhere (при получении данных с сервера) или через свойства Filter или Filtered.

Пример 1. Набор данных справочника ограничить в разделе AddWhere, а затем внести изменения в полученную группу записей.

 

// Получить набор данных справочника TST.

   Reference = References.TST.GetComponent()

// Сформировать строку для ограничения выборки в SQL-запросе

   AddWhere = Format("%0:s.%1:s like '%2:s%3:s%2:s'"; 

   ArrayOf(Reference.TableName; 

   Reference.Requisites(SYSREQ_NAME).SQLFieldName; '%';'TEST3'))

// Добавить ограничение к SQL-запросу.

   AddWhereID1 = Reference.AddWhere(AddWhere)

// Открыть набор данных справочника.

   Reference.Open

// Изменить все записи из набора данных.

   foreach RefRecord in Reference 

     RefRecord.OpenRecord

     RefRecord.SYSREQ_NAME = RefRecord.SYSREQ_NAME & ' Сhange' 

     RefRecord.SYSREQ_CODE = RefRecord.SYSREQ_CODE & 'С'

     // Сохранить изменение набора данных.

     RefRecord.Save

     RefRecord.CloseRecord

   endforeach

// Закрыть набор данных справочника.

   Reference.Close

// Удалить добавленное ограничение.

   Reference.DelWhere(AddWhereID)

Пример 2. С помощью фильтра получить группу записей из набора данных, в наименовании которых содержится текст «TEST3», и внести в нее изменения

 

// Получить набор данных справочника TST.

   Reference = References.TST.GetComponent()

// Открыть набор данных справочника.

   Reference.Open

// Сформировать строку для ограничения выборки в SQL-запросе.

   FilterString = Format("%0:s like '%1:s%2:s%1:s'"; ArrayOf(SYSREQ_NAME; '%';'TEST3'))

// Добавить условие фильтрации.

   Reference.Filter = FilterString

// Активировать фильтр.

   Reference.Filtered = TRUE

// Изменить все записи из набора данных.

   foreach RefRecord in Reference 

     RefRecord.OpenRecord

     RefRecord.SYSREQ_NAME = RefRecord.Requisites(SYSREQ_NAME).AsString & ' Сhange' 

     RefRecord.SYSREQ_CODE = RefRecord.Requisites(SYSREQ_CODE).AsString & 'С'

     // Сохранить изменение набора данных.

     RefRecord.Save

     RefRecord.CloseRecord:

   endforeach

// Отключить фильтр.

Reference.Filtered = FALSE

// Закрыть набор данных справочника.

   Reference.Close

© Компания DIRECTUM, 2018 Сообщество пользователей DIRECTUM
.navbar > a:hover { background: #FFD73B; }