Difference between revisions of "DB.SavePeriodicalValues"

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

Latest revision as of 08:43, 7 February 2021

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

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

  • _Date -- дата значения периодического реквизита.
  • _Value -- значение периодического реквизита на указанную дату. Значение может быть другого но совместимого типа, к примеру, если значение реквизита является числом, таблица может содержать строки, которые будут автоматически превращены в цифры.

Синтаксис

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

Аргументы

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

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

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

Примеры

//Фрагмент загружает таблицу периодического реквизита "Цена" элемента зН из строки СтрЗначения, где значения и даты разделены знаком "@"
//  Значения сохраняются начиная с даты ДНач, если она задана, иначе с '01.01.1981'.
СпЗначения:=Tab.Create("_Date,_Value");
While СтрЗначения<>"" Do
  пДт:=Date(TearStr(СтрЗначения,"@"));
  пЗн:=Trim(TearStr(СтрЗначения,"@"));
  СпЗначения.AddLine("_Date,_Value",пДт,пЗн);
EndDo;
СпЗначения.Sort("_Date+");
ДНач:=?(isEmpty(ДНач),'01.01.1981',ДНач);
зН.SavePeriodicalValues("Цена",СпЗначения,ДНач);