Иллюстрированный самоучитель по языку системы 1С:Предприятие

Системные предопределенные процедуры

ПриЗаписиИстории

Предопределенная процедура при записи в окне "История" значения периодического реквизита элемента справочника или константы.

Синтаксис:

ПриЗаписиИстории(<ТипОбъекта>, <Объект>, <3начение>, <ДатаИстории>)

Англоязычный синоним:

OnWriteHistory

Параметры:

<ТипОбъекта> Название периодического объекта конфигурации, как оно задано в конфигураторе (например, "Справочник.Валюты.ТекущийКурс" или "Константа. ИмяДиректора"). Строковое название агрегатного типа данных может передаваться системой в русском или англоязычном написании (Справочник или Reference, Константа или Const) – в зависимости от установки флага основного языка системы (см. ОсновнойЯзык).
<Объект> Элемент справочника, для которого выполняется изменение периодического реквизита. Имеет смысл только для периодических реквизитов справочников, а не для констант.
<3начение> Значение периодической записи.
<ДатаИстории> Дата периодической записи.

Описание:

Вызов предопределенной процедуры ПриЗаписиИстории производится системой 1С:Предприятие неявно при интерактивной записи нового периодического значения в окне "История". Если в данной предопределенной процедуре установить статус возврата – 0 (например, если данному пользователю запрещено изменение периодических реквизитов), то запись нового периодического значения не будет выполнена.

Данная предопределенная процедура может располагаться только в глобальном программном модуле.

Пример:

Процедура ПриЗаписиИстории(ТипОб, Об, Значен, ДатаИстор)

Если НазваниеНабораПрав() = "Продавец" Тогда

Если (ТипОб = "Справочник.Валюты.ТекКурс") И

(Об = Константа.ОсновнаяВалюта) И (ДатаИстор > РабочаяДата()) Тогда

// Записывается курс для валюты, которая записана в Константе

Предупреждение("У вас нет права устанавливать курс на будущую дату!", 2);

СтатусВозврата(0);

КонецЕсли;

КонецЕсли;

КонецПроцедуры

См. также: СтатусВозврата, ОсновнойЯзык.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.