Difference between revisions of "DB.GetValue"

From SunFlurry wiki
Jump to: navigation, search
(Created page with "{{infobox function |name=GetValue |object=Объект базы данных |caption=Значение реквизита |type=1 |status=2 |db=2 |exception=Невозмо...")
 
m (1 revision imported)
 
(No difference)

Latest revision as of 08:43, 7 February 2021

  GetValue (Значение реквизита)
Объект:Объект базы данных
Статус разработки: Реализована
Тип:Функция
Обращение к БД:Сервер и БД
Исключения:Невозможно превратить в строку, дату, неверный реквизит, стр. часть, номер строки
Визуальность:Нет

Функция получает значение реквизита текущего объекта по его имени. Реквизит может находиться как в заголовке объекта, так и в его строчной части. Значения периодического реквизита можно получить на указанную дату. Если дата не указана, для нахождения периодического реквизита используется внутренняя дата отображения периодических реквизитов (см. UseDate). Если объект был загружен, функция не вызывает обращения к серверу базы данных (не затрачивает значительное время на загрузку из БД). Функция производит заполнение объекта БД из базы данных в следующих случаях:

  • Объект был выбран, но не заполнен, либо заполнен в режиме только заголовка.
  • Объект был заполнен в режиме частичного заполнения, однако запрашиваемый реквизит не входит в число загруженных реквизитов.
  • Указан реквизит строчной части, и строчная часть еще не была загружена (происходит загрузка требуемой строчной части)

Синтаксис

DB.GetValue(<Указание на реквизит (STRING)>,<Дата периодического реквизита (DATE)>):<Значение реквизита>

Аргументы

  • <Указание на реквизит (STRING)> - Задает наименование реквизита, значение которого необходимо получить, если реквизит находится в строчной части, указывает также на наименование строчной части и номер строки. Общий формат аргумента: [<Наименование строчной части>.<Номер строки строчной части>.]<Наименование реквизита>.
  • <Дата периодического реквизита (DATE)> - (необязательный аргумент) Задает дату, на которую необходимо получить значение реквизита, если он является периодическим. Если реквизит не периодический, этот аргумент игнорируется.

Возвращаемое значение

Возвращает значение реквизита.

Примеры

//aEl содержит выбранный и загруженный элемент справочника вида Номенклатура с реквизитом "Code" равным "000000005745" в режиме частичной загрузки
aEl:=Ref.Номенклатура;
aEl.FindEx(2,"ТоварнаяГруппа","Code","000000005745");
//Фрагмент выводит значение реквизита ТоварнаяГруппа загруженного элемента, при этом обращения к базе данных не происходит, так как данный реквизит был загружен ранее
//Конструкция аналогична aEl.ТоварнаяГруппа
Message("Товарная группа: "+aEl.GetValue("ТоварнаяГруппа"));
//Фрагмент выводит значение реквизита Объем, при этом происходит полная загрузка объекта, так как реквизит отсутствовал при частичной загрузке
Message("Объем: "+aEl.GetValue("Объем"));
//Фрагмент выводит значение периодического реквизита Цена на текущую дату
Message("Цена: "+aEl.GetValue("Цена",Date()));