0

Справочник
Метод ИспользоватьДату()

Выполняет установку даты для периодических реквизитов справочника

Синтаксис

Метод ИспользоватьДату() имеет следующий синтаксис:

дата ИспользоватьДату(НоваяДата, [ИспользоватьСразу = 0])

А также альтернативный англоязычный синтаксис:

date UseDate(NewDate, [UseNow = 0])

Параметры

Описание параметров метода ИспользоватьДату():

Имя параметра Тип Описание
НоваяДата Дата новое значение даты
ИспользоватьСразу Число признак немедленного применения указанной даты для текущей выборки. Возможные значения

1 — использовать в текущей выборке
0 — использовать в следующей выборке (значение по умолчанию)
Жирным шрифтом выделены обязательные параметры

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

Число
Текущее значение используемой даты (на момент до исполнения метода)

Описание

Метод ИспользоватьДату() выполняет установку даты чтения или записи значений периодических реквизитов для объекта типа Справочник

Внимание! Если не использовать данный метод для справочников, имеющих периодические реквизиты, значения этих реквизитов при чтении будут не определены
Внимание!! Если к объекту применен метод ИспользоватьДату(), то в дальнейшем нельзя использовать методы Получить() или Установить() периодических реквизитов справочника. В этом случае вы столкнетесь с ошибкой «Значение не представляет агрегатный объект (Получить)»
Внимание!!! Данный метод нельзя использовать через две точки!

Пример использования

Пример кода с использованием метода ИспользоватьДату():

//получение периоди
Выборка = СоздатьОбъект("Справочник.Товары");
//реквизит Цена1 периодический
//если не вызывать метод ИспользоватьДату()
Если Выборка.ВыбратьЭлементы() = 1 Тогда
	Пока Выборка.ПолучитьЭлемент() = 1 Цикл
		Если Выборка.ЭтоГруппа() = 1 Тогда Продолжить; КонецЕсли;
		Сообщить(Выборка.ПолноеНаименование() + " = " + Выборка.Цена1);
	КонецЦикла;
КонецЕсли;
//Результат:
// Стулья/Стул деревянный = НеизвестныйОбъект

Выборка.ИспользоватьДату(НаДату);
Если Выборка.ВыбратьЭлементы() = 1 Тогда
	Пока Выборка.ПолучитьЭлемент() = 1 Цикл
		Если Выборка.ЭтоГруппа() = 1 Тогда Продолжить; КонецЕсли;
		Сообщить(Выборка.ПолноеНаименование() + " = " + Выборка.Цена1);
	КонецЦикла;
КонецЕсли;
//Результат:
// Стулья/Стул деревянный = 1000

//получение значений на разные даты:
Выборка = СоздатьОбъект("Справочник.Товары");
Выборка.ИспользоватьДату(НаДату);
Выборка.ВыбратьЭлементы();
Пока Выборка.ПолучитьЭлемент() = 1 Цикл
	Если Выборка.ЭтоГруппа() = 1 Тогда Продолжить; КонецЕсли;
	Сообщить(Выборка.ПолноеНаименование());
	//такой метод не работает!!!
	//текущая цена
	Выборка.ИспользоватьДату(НаДату, 1);
	Сообщить(" Цена сегодня = " + Выборка.Цена1);
	//цена на вчерашний день
	Выборка.ИспользоватьДату(НаДату - 1, 1);
	Сообщить(" Цена вчера = " + Выборка.Цена1);
КонецЦикла;
//Результат:
//Стулья/Стул деревянный
// Цена сегодня = 1000
// Цена вчера = 1000
     
//а так работает:
Выборка = СоздатьОбъект("Справочник.Товары");
Выборка.ИспользоватьДату(НаДату);
Выборка.ВыбратьЭлементы();
Пока Выборка.ПолучитьЭлемент() = 1 Цикл
	Если Выборка.ЭтоГруппа() = 1 Тогда Продолжить; КонецЕсли;
	Сообщить(Выборка.ПолноеНаименование());
	//текущая цена
	Сообщить("Цена сегодня = " + Выборка.Цена1);
	//цена на вчерашний день
	Товар = Выборка.ТекущийЭлемент();
	Товар.ИспользоватьДату(НаДату - 1);
	Сообщить("Цена вчера = " + Товар.Цена1);
КонецЦикла;
//Результат:
//Стулья/Стул деревянный
// Цена сегодня = 1000
// Цена вчера = 0

Читайте также:

  1. Метод Справочник.Выбрать()

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *