Глава 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);
КонецЕсли;
КонецПроцедуры
См. также: СтатусВозврата
Содержание раздела