Методы справочников
ИспользоватьДату
Установить дату выборки периодических реквизитов справочника.
Синтаксис:
ИспользоватьДату[<Дата>, <УстСразу>)
Англоязычный синоним:
UseDate
Параметры:
<Дата> | Необязательный параметр. Выражение со значением типа "дата". |
<УстСразу> | Необязательный параметр. Число: если 1, то дата, переданная в качестве параметра, будет установлена уже в текущей выборке; если 0 – то дата, переданная в качестве параметра будет установлена при следующей выборке. Значение по умолчанию – 0. Например: если "Цена" — периодический реквизит справочника, то Спр.ИспользоватьДату(Д1, 1); Спр.ВыбратьЭлементы(); А = Спр.Цена; — возвращает значение на дату Д1 Спр.ИспользоватьДату(Д2, 1); Б = Спр.Цена; — возвращает значение на дату Д2! Если <УстСразу> — 0 (или опущен), то Спр.ИспользоватьДату(Д1); Спр.ВыбратьЭлементы(); А = Спр.Цена; — возвращает значение на дату Д1 Спр.ИспользоватьДату(Д2); Б=Спр.Цена; — тоже возвращает значение на дату Д1! Спр.ВыбратьЭлементы(); В=Спр.Цена; — только теперь возвращает значение на Д2. |
Возвращаемое значение:
Текущее значение используемой даты (на момент до исполнения метода).
Описание:
Метод ИспользоватьДату устанавливает для объекта типа "справочник" дату, на которую будут в дальнейшем выбираться (или записываться) значения периодических реквизитов справочника.
Это очень важный метод, о котором необходимо всегда помнить при работе со справочниками, имеющими периодические реквизиты. Если он пропущен, то чначения выбранных периодических реквизитов справочника будут не определены.
Замечание
Если к объекту типа "справочник" однажды применен метод ИспользоватьДату, то в дальнейшем, чтобы выбирать значения периодических реквизитов справочника, нельзя применять к этому же объекту методы Получить и Установить, т. е. в такой последовательности эти методы несовместимы.
Замечание
Данный метод имеет следующую особенность применения: его нельзя использовать "через две точки". Например, если в документе с именем "ДокНакл" есть реквизит "Фирма" типа "справочник", у которого есть периодические реквизиты НДС и СН, то следующий оператор:
ДокНакл.Фирма.ИспользоватьДату(Дата);
работать не будет. В данном случае следует просто использовать промежуточную переменную, например:
ФирДок = ДокНакл.Фирма;
ФирДок.ИспользоватьДату(РабочаяДата());
НДСДок = ФирДок.НДС;
Пример:
// Здесь мы работаем в локальном контексте модуля Формы // редактирования документа. // Реквизит "Должность" в документе является справочником, // у которого "МинОкл" - периодический реквизит Длж = СоздатьОбъект("Справочник.Должности"); Длж.ИспользоватьДату(ДатаДок); Длж.НайтиЭлемент(Должность); Сообщить(Длж.Наименование + " Минимальный оклад" + Строка(Длж.МинОкл));
См. также: Получить, Установить, НайтиЭлемент, ВыбратьЭлементы.