DB.Reload

From SunFlurry wiki
Jump to: navigation, search
  Reload (Обновление объекта из базы данных)
Объект:Объект базы данных
Статус разработки: Частичная реализация
Тип:Функция
Обращение к БД:Сервер и БД
Исключения:Невозможно превратить в строку, дату или число
Визуальность:Нет

Функция производит полную загрузку текущего выбранного объекта из базы данных. Все возможные изменения в объекте будут утеряны. Функцию удобно использовать совместно с функцией Lock перед записью изменений в объекте базы данных.

Синтаксис

DB.Reload(<Загружать периодические реквизиты на дату (DATE)>,<Производить загрузку заголовков (INT)>=0,<Доп. реквизиты при загрузке заголовков (STRING)>="")

Аргументы

  • <Загружать периодические реквизиты на дату (DATE)> - (необязательный аргумент) (планируется к реализации) Дата, на которую будут загружены периодические реквизиты объекта, если режим загрузки оного подразумевает также загрузку периодических реквизитов.
  • <Производить загрузку заголовков (INT)> - (необязательный аргумент) (планируется к реализации) Режим загрузки только заголовков (см. статью Объект базы данных). Аргумент может принимать следующие значения:
    • 0 -- производить полную загрузку объектов
    • 1 -- производить загрузку объектов в режиме только заголовки или частичная загрузка (в зависимости от наличия следующего аргумента), объекты, которые не могут быть загружены частично, будут пропущены. К примеру, если при настройке проекта для объекта не задан реквизит сортировки, данный объект не может быть загружен в режиме только заголовков.
    • 2 -- производить загрузку объектов в режиме только заголовки или частичная загрузка (в зависимости от наличия следующего аргумента), объекты, которые не могут быть загружены частично, будут загружены полностью. К примеру, если при настройке проекта для объекта не задан реквизит сортировки, данный объект не может быть загружен в режиме только заголовков.
  • <Доп. реквизиты при загрузке заголовков (STRING)> - (необязательный аргумент) (планируется к реализации) Список наименований реквизитов через запятую, которые будут загружены дополнительно в режиме загрузки только заголовков. В случае, когда этот аргумент задан, объекты будут загружены в режиме "частичная загрузка". Если наименование реквизита в загружаемом объекте отсутствует, оно будет пропущено. Таким образом можно загружать разные объекты одним вызовом функции, указав всю совокупность реквизитов для частичной загрузки.

Примеры

//Пример производит блокировку и изменение документа аДок
аПольз:="";аМаш:="";аВремя:="";
If аДок.Lock(аПольз,аМаш,аВремя)=0 Then
  Message("Невозможно заблокировать документ "+аДок+", так как в данный момент с ним работает пользователь "+аПольз+" на "+аМаш+" в "+аВремя+"!","!");
  Exit;
EndIf;
Try
  //Перечитать аДок из базы данных, чтобы убедиться, что мы работаем со свежими данными и наше изменение не запишет устаревшие данные в базу данных
  аДок.Reload();
  //Изменим реквизит и сохраним объект
  аДок.Реквизит:=1;
  аДок.Save();
Finally
  аДок.Unlock();
EndTry;