Difference between revisions of "DB.LoadPeriodicalValues"

From SunFlurry wiki
Jump to: navigation, search
 
m (1 revision imported)
 
(No difference)

Latest revision as of 08:43, 7 February 2021

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

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

  • _Date -- дата значения периодического реквизита.
  • _Value -- значение периодического реквизита на указанную дату

Синтаксис

DB.[DBVar.]LoadPeriodicalValues(<Указание на реквизит или наименование DBVar (STRING)>,<Дата начала чтения периодического реквизита (DATE)>,<Дата окончания чтения периодического реквизита (DATE)>):<Таблица значений реквизита (TAB)>

Аргументы

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

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

Возвращается таблица, содержащая выбранный диапазон значений периодического реквизита..

Примеры

//Фрагмент устанавливает новое значение периодического реквизита "Цена" элемента зН на дату пДата,
//  если значение на эту дату уже не равно аЦена, если до этого момента реквизит не содержал
//  значений вообще, фрагмент устанавливает первое значение, начиная с '01.01.1981'.
Таб:=зН.LoadPeriodicalValues("Цена");
if _Or(Таб.Size()=0,Таб.Sum("_VALUE")=0) Then
  зН.SetValue("Цена",аЦена,'01.01.1981');
Else
  //Уже установлена?
  пДата:=BegOfDay(пДата);
  зЦ:=аЦена-1;
  Таб.Select();
  While Таб.Next() Do
    If Таб._DATE>пДата Then
      Break;
    EndIf;
    зЦ:=Таб._VALUE;
  EndDo;
  If зЦ<>Цена Then
    зН.SetValue("Цена",аЦена,пДата,пДата);
  EndIf;  
EndIf;