d9e5a92d

Глава 8 Системные предопределенные процедуры

Описанные в данном разделе системные предопределенные процедуры должны располагаться только в глобальном программном модуле. Данные процедуры, например, могут использоваться для расширения возможности программного управления правами доступа пользователя к системе.

ПриНачалеРаботыСистемы

Предопределенная процедура при начале работы задачи.

Синтаксис:

ПриНачалеРаботыСистемы()

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

OnStartSystem

Описание:

Вызов предопределенной процедуры ПриНачалеРаботыСистемы производится системой 1С:Предприятие неявно при начале работы с программой. Если в данной предопределенной процедуре установить статус возврата — 0 (например, если время доступа данного пользователя к системе истекло), то пользователь не сможет войти в программу.

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

Пример:

Процедура ПриНачалеРаботыСистемы()

   Курс = Константа.ОсновнаяВалюта.Текущ_Курс.Получить(ТекущаяДата();

   Предупреждение(Добро пожаловать! Сегодня + + ТекущаяДата() +

         РазделительСтрок + Сейчас установлен курс доллара= + Курс), 7);

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

См. также: СтатусВозврата

ПриЗавершенииРаботыСистемы

Предопределенная процедура при завершении работы задачи.

Синтаксис:

ПриЗавершенииРаботыСистемы()

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

OnFinishSystem

Описание:

Вызов предопределенной процедуры ПриЗавершенииРаботыСистемы производится системой 1С:Предприятие неявно при завершении работы пользователя с системой. Если в данной предопределенной процедуре установить статус возврата — 0 (например, если пользователь не выполнил какие-либо штатные операции), то работа системы не будет завершена, т. е. пользователь не сможет выйти из программы.

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

Пример:

Процедура ПриЗавершенииРаботыСистемы()

   Предупреждение(До свидания !, 2);

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

См. также: СтатусВозврата

ПриУдаленииДокумента

Предопределенная процедура при удалении документа и при отмене пометки на удаление.

Синтаксис:

ПриУдаленииДокумента(УдалДокум, Режим)

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

OnDeleteDoc

Параметры:

УдалДокум Значение удаляемого документа.
Режим Значение флага непосредственного удаления: 1 — непосредственное удаление; 0 — пометка на удаление.
Описание:

Вызов предопределенной процедуры ПриУдаленииДокумента производится системой 1С:Предприятие неявно при интерактивном удалении документа и в случае отмены пометки на удаление. В этом случае, условия вызова можно узнать методом ПометкаУдаления документа. Если в данной предопределенной процедуре установить статус возврата — 0 (например, если не истек срок хранения документа), то удаление документа не будет выполнено.

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

Пример:

Процедура ПриУдаленииДокумента(Док, Реж)

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

      Если (Док.Вид() = РасходнаяНакл) И (Реж = 1) Тогда

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

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

      КонецЕсли;

   КонецЕсли;

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

См. также: СтатусВозврата

ПриУдаленииЭлемента

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

Синтаксис:

ПриУдаленииЭлемента(УдалЭлем, Режим)

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

OnDeleteItem

Параметры:

УдалЭлем Значение удаляемого элемента справочника.
Режим Значение флага непосредственного удаления: 1 — непосредственное удаление; 0 — пометка на удаление.
Описание:

Вызов предопределенной процедуры ПриУдаленииЭлемента производится системой 1С:Предприятие неявно при интерактивном удалении элемента справочника и в случае отмены пометки на удаление. В этом случае, условия вызова можно узнать методом ПометкаУдаления элемента справочника. Если в данной предопределенной процедуре установить статус возврата — 0 (например, если нарушается ссылочная целостность системы), то удаление элемента справочника не будет выполнено.

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

Пример:

Процедура ПриУдаленииЭлемента(Элем, Реж)

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

      Если (Элем.Вид() = Товар) И (Реж = 1) Тогда

         Предупреждение(У вас нет права удалять Товар!, 2);

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

      КонецЕсли;

   КонецЕсли;

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

См. также: СтатусВозврата

ПриОткрытииИстории

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

Синтаксис:

ПриОткрытииИстории(ТипОбъекта, Объект, ТолькоПросмотр)

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

OnOpenHistory

Параметры:

ТипОбъекта Название периодического объекта конфигурации, как оно задано в конфигураторе (например, Справочник.Валюты.ТекущийКурс или Константа. ИмяДиректора). Строковое название агрегатного типа данных может передаваться системой в русском или англоязычном написании (Справочник или Reference, Константа или Const) — в зависимости от установки флага основного языка системы (см. ОсновнойЯзык).
Объект Элемент справочника, для которого выполняется открытие окна истории периодического реквизита. Имеет смысл только для периодических реквизитов справочников, а не для констант.
ТолькоПросмотр Флаг установки режима только просмотр для окна истории значения. Если значение этого параметра установить в 1 (в предопределенной процедуре), то окно истории будет открыто только для чтения. Установка значения в 0 — введет режим по умолчанию (определенный правами). Уже открытое окно истории соответствующим образом изменит режим (если это случай, когда процедура обрабатывает не открытие окна, а смену отображаемого объекта). Значение по умолчанию — 0.
Описание:

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

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

Пример:

Процедура ПриОткрытииИстории(ТипОб, Об, ФлагРежима)

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

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

           (Об = Константа.ОсновнаяВалюта)) Тогда

         Предупреждение(У вас нет права просматривать историю курса!, 2);

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

      КонецЕсли;

   КонецЕсли;

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

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

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

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

Синтаксис:

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

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

OnWriteHistory

Параметры:

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

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

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

Пример:

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

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

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

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

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

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

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

      КонецЕсли;

   КонецЕсли;

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

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

ПриУдаленииИстории

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

Синтаксис:

ПриУдаленииИстории(ТипОбъекта, Объект, 3начение, ДатаИстории)

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

OnDeleteHistory

Параметры:

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

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

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

Пример:

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

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

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

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

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

         Предупреждение(У вас нет права удалять прошлый курс!, 2);

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

      КонецЕсли;

   КонецЕсли;

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

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

ПриЗаписиКонстанты

Предопределенная процедура при записи значения константы.

Синтаксис:

ПриЗаписиКонстанты(ИмяКонстанты, 3начение)

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

OnWriteConst

Параметры:

ИмяКонстанты Название константы, как оно задано в конфигураторе (например, СкладПоУмолчанию).
3начение Новое значение константы.
Описание:

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

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

Пример:

Процедура ПриЗаписиКонстанты(ИмяКонстанты, Значение)

   Если ИмяКонстанты = ТекущийПрефикс Тогда

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

         Предупреждение(У вас нет права менять префикс!, 2);

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

      КонецЕсли;

   КонецЕсли;

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

См. также: СтатусВозврата

ПриОтменеПроведенияДокумента

Предопределенная процедура при отмене проведения документа.

Синтаксис:

ПриОтменеПроведенияДокумента(Докум)

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

OnUnPosting

Параметры:

Докум Значение обрабатываемого документа.
Описание:

Вызов предопределенной процедуры ПриОтменеПроведенияДокумента производится системой 1С:Предприятие неявно при интерактивной попытке выполнить операцию «Сделать непроведенным». Если в данной предопределенной процедуре установить статус возврата — 0 (например, если дата документа меньше некоторой константы), то отмена проведения документа не будет выполнена.

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

Пример:

Процедура ПриОтменеПроведенияДокумента(Док)

   Если Док.ДатаДок = Константа.ДатаЗащитыДокументов Тогда

      Предупреждение(Нельзя снимать с проведения архив!, 2);

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

   КонецЕсли;

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

См. также: СтатусВозврата, СделатьНеПроведенным

ПриИзмененииВремениДокумента

Предопределенная процедура при изменении времени документа.

Синтаксис:

ПриИзмененииВремениДокумента(Докум)

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

OnChangeTimeDoc

Параметры:

Докум Значение обрабатываемого документа.
Описание:

Вызов предопределенной процедуры ПриИзмененииВремениДокумента производится самой системой 1С:Предприятие неявно при интерактивной попытке изменить время документа. Если в данной предопределенной процедуре установить статус возврата — 0 (например, если время данного документа нельзя менять), изменение времени документа не будет выполнено.

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

Пример:

Процедура ПриИзмененииВремениДокумента(Док)

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

      Предупреждение(У вас нет права менять время документа!, 2);

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

   КонецЕсли;

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

См. также: СтатусВозврата

ПриУстановкеОтбора

Предопределенная процедура при установке отбора.

Синтаксис:

ПриУстановкеОтбора(ИмяРеквизОтбора, 3начение)

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

OnSetSelectInJournal

Параметры:

ИмяРеквизОтбора Строковое значение — название общего реквизита документа (как оно задано в конфигураторе), по которому производится отбор (например, Автор).
3начение Значение реквизита отбора. Допустим, у документов существует общий реквизит Автор, по которому решено провести отбор, значит в этом параметре будет передано конкретное значение этого реквизита, по которому решено провести отбор (например, Сидоров И.А.).
Описание:

Вызов предопределенной процедуры ПриУстановкеОтбора производится самой системой 1С:Предприятие неявно при интерактивной попытке установить отбор документов в журнале. Если в данной предопределенной процедуре установить статус возврата — 0 (например, если данному пользователю нельзя устанавливать данное значение отбора документов), установка не будет выполнена.

Данная предопределенная процедура может располагаться в глобальном программном модуле и модуле формы журнала. Если данная процедура присутствует в модуле формы соответствующего журнала, то будет вызвана она, если нет, то будет вызвана процедура из глобального модуля.

Пример:

Процедура ПриУстановкеОтбора(ИмяОтбора, ЗначОтбора)

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

      Если (Имя0тбора = Автор) И (ЗначОтбора ТекущПользователь) Тогда

         Предупреждение(У вас нет права просматривать чужие документы!, 2);

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

      КонецЕсли;

   КонецЕсли;

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

См. также: СтатусВозврата

ПриСменеРасчетногоПериода

Предопределенная процедура, вызываемая при смене текущего расчетного периода журнала расчетов.

Синтаксис:

ПриСменеРасчетногоПериода(ЖурналРасчетов, Период)

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

OnРег1odChange

Параметры:

ЖурналРасчетов Журнал расчетов, период которого изменяется (агрегатный объект типа «ЖурналРасче-тов»).
Период Устанавливаемый расчетный период (значение типа «ПериодРасчета»).
Описание:

Вызов предопределенной процедуры ПриСменеРасчетногоПериода на исполнение производится системой 1C:Предприятие неявно при попытке смены текущего расчетного периода любого журнала расчетов. Если в данной предопределенной процедуре установить статус возврата — 0, то текущий расчетный период не будет изменен.

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

Пример:

Процедура ПриСменеРасчетногоПериода(ЖР, Период)

   Если ЖР.Вид() = Зарплата Тогда

      Предупреждение(Это смена текущего расчетного периода для журнала

                          | Зарплата);

   КонецЕсли;

   Если Период.ДатаНачала = ЖР.НачалоТекущегоПериода Тогда

      //не позволяем откатывать период назад

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

   КонецЕсли;

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

См. также: СтатусВозврата

ПриУдаленииСчета

Предопределенная процедура, выполняемая при удалении бухгалтерского счета.

Синтаксис:

ПриУдаленииСчета(УдалСчет, Режим)

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

OnDeleteAccount

Параметры:

УдалСчет Значение типа «Счет» — удаляемый бухгалтерский счет.
Режим Режим удаления. Может принимать значения:

1 — счет будет удален;

0 — счет будет помечен на удаление.
Описание:

Вызов предопределенной процедуры ПриУдаленииСчета производится системой 1С:Предприятие неявно при интерактивном удалении счета из плана счетов. В качестве параметров в процедуру передаются значение удаляемого счета и режим удаления: непосредственное удаление или пометка на удаление.

Если в данной процедуре установить статус возврата 0 (например, если нарушается ссылочная целостность системы), то счет не будет удален (или помечен на удаление).

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

Пример:

Процедура ПриУдаленииСчета(УдСчет)

   Если УдСчет.Валютный() = 1 Тогда

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

   КонецЕсли;

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

См. также: СтатусВозврата

ПриВыклВклПроводокОперации

Предопределенная процедура, выполняемая при выключении или включении проводок.

Синтаксис:

ПриВыклВклПроводокОперации(Документ)

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

OnOperEntryOffOn

Параметры:

Документ Значение типа «Документ» — документ, которому принадлежит операция.
Описание:

Вызов предопределенной процедуры ПриВыклВклПроводокОперации производится системой 1С:Предприятие неявно при интерактивном выключении или включении проводок. В качестве параметра в процедуру передается значение документа, которому принадлежит операция.

Если в данной процедуре установить статус возврата 0, то действие не будет выполнено.

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

Пример:

Процедура ПриВыклЗклПроводокОперации(Док)

   Если Док.Вид() Операция Тогда

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

   КонецЕсли;

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

См. также: СтатусВозврата


Содержание раздела