Основная страница

Глава 22-3
Работа с Журналами расчетов


 

Методы контекста Модуля формы журнала расчетов

Описанные в данном разделе методы доступны только в контексте Модуля формы журнала расчетов (см. «Виды программных модулей»).

ВидыОтбора

Установить доступные виды отборов журнала для вызова их в инте­рактивном режиме.

Синтаксис:

ВидыОтбора(<СписокИмеяОтборов>)

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

KindsOfSelection

Параметры:

<СписокИменОтборов>

Необязательный параметр. Строковое выраже­ние, содержащее список имен отборов для жур­нала. Виды указываются через запятую. Если вместо списка —символ "*", то значит для жур­нала используются все назначенные в конфигу­раторе виды отборов.

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

Строковое значение, содержащее текущий список имен отборов для журна­ла, разделенных запятыми (на момент до исполнения метода).

Описание:

Метод ВидыОтбора устанавливает доступные виды отборов журнала для вызова их в интерактивном режиме.

Данный метод доступен только в контексте Модуля формы журнала расче­тов (см. «Виды программных модулей»).

Пример:

ВидыОтбора("Сотрудник, Расчетчик");

УстановитьОтбор

Установить выборку по графе отбора.

Синтаксис:

УстановитьОтбор(<ИмяГрафыОтбора>, <ЗначениеОтбора>)

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

SetSelection

Параметры:

<ИмяГрафыОтбора>

Строковое значение. Наименование графы отбора, как она определена при конфигурировании.

<ЗначениеОтбора>

Отбираемое значение.

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

Число: 1 — если отбор успешно установлен; 0 — в противном случае.

Описание:

Метод предназначен для выборки записей журнала расчетов, которые со­держат в графе отбора <ИмяГрафыОтбора> заданное <ЗначениеОтбора>. Если первый параметр задан неверно — т. е. нет такой графы отбора, выборка не будет выполнена и метод возвратит 0. Если заданное <ЗначениеОтбора> не будет найдено ни в одной строке журнала расчетов, выборка окажется пустой (т. е. в нее не попадет ни одна запись журнала расчетов), но метод возвратит значение 1.

Если метод сработал, т. е. выборка реально установлена, происходит перери­совка окна журнала расчетов так же, как это происходит при интерактивном выполнении операции отбора.

Для отказа от отбора по значению необходимо вызвать данный метод, ука­зав в качестве первого параметра пустую строку.

Замечание. Наименованиями граф отбора журнала расчетов могут служить реквизиты справочника объектов расчета, заданного для журнала расче­тов, а также значения «Владелец» и «Родитель» этого справочника. Это значит, что в общем случае, в качестве первого параметра, методу могут передаваться предопределенные имена «Родитель» и «Владелец», а также названия реквизитов справочника.

Какие именно графы отбора задействованы в журнале расчетов, задается при конфигурировании.

Данный метод доступен только в контексте Модуля формы журнала расче­тов (см. «Виды программных модулей»).

Пример:

// модуль формы журнала расчетов

// процедура снимает отбор

Процедура ВыбратьВсе();

   УстановитьОтбор("");

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

// Установим отбор сразу при открытии журнала расчетов Зарплата

// Расчетчик — глобальная переменная со ссылкой на группу

// сотрудников

УстановитьОтбор("Родитель", Расчетчик);

См. также: ПолучитьОтбор, ЗакладкиОтбора

ПолучитьОтбор

Получить значение предварительно установленного отбора.

Синтаксис:

ПолучитьОтбор(<ИмяГрафыОтбора>, <ЗначениеОтбора>)

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

GetSelection

Параметры:

<ИмяГрафыОтбора>

Переменная в которую будет возвращено строковое значение — наименование графы отбора, как она определена при конфигури­ровании.

<ЗначениеОтбора>

Переменная, в которую будет возвращено ранее установленное значение отбора.

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

Число: 1 — если отбор был установлен и <ИмяГрафыОтбора> и <ЗначениеОтбора> заполнены установками сделанными ранее методом УстановитьОтбор; 0 — если отбор прежде не был установлен.

Описание:

Метод предназначен для получение текущих значений отбора, установлен­ных в форме журнала расчетов программным образом или интерактивно. Ме­тод заполняет параметры <ИмяГрафыОтбора> и <ЗначениеОтбора>, пере­данные по ссылке. Если отбор ранее не был установлен, метод возвращает 0, а значения переменных, переданных в качестве параметров, не изменяются.

Данный метод доступен только в контексте Модуля формы журнала расче­тов (см. «Виды программных модулей»).

Пример:

// модуль формы журнала расчетов

Перем ИмяОтбора;

Перем ЗначОтб;

Процедура ОтборПодразделения(Подразд)

   // ниже ИмяОтбора и ЗначениеОтбора будут заполнены

   // текущими значениями

   БылОтбор = ПолучитьОтбор(ИмяОтбора, ЗначОтб);

   Если БылОтбор = 1 Тогда

      Если ИмяОтбора = "Родитель" Тогда

         // снимем отбор

         УстановитьОтбор("");

      ИначеЕсли ИмяОтбора = "Подразделение" Тогда

         Сообщить("Было отобрано " + ЗначОтб.Наименование);

         УстановитьОтбор(ИмяОтбора, Подразд);

      КонецЕсли;

   КонецЕсли;

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

См. также: УстановитьОтбор, ЗакладкиОтбора

ЗакладкиОтбора

Установить в форме журнала расчетов закладки для интерактивного осуществления отбора.

Синтаксис:

ЗакладкиОтбора(<ИмяОтбора>, <ЗначениеОтбора>)

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

TabCtrlSelection

Параметры:

<ИмяОтбора>

Строковое выражение, содержащее имя графы отбора, по которой будут созданы закладки.

<ЗначениеОтбора>

Значение отбора, соответствующее закладке уста­навливаемой первоначально.

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

Число: 1 — если операция успешно выполнена; 0 — в противном случае.

Описание:

Метод ЗакладкиОтбора устанавливает в форме журнала расчетов закладки (tab control), позволяющие быстро переключаться между разными значениями по одному и тому же отбору.

Данный метод доступен только в контексте Модуля формы журнала расче­тов (см. «Виды программных модулей»).

Пример:

// в форме журнала расчетов "зарплата" установим закладки

// по умолчанию будет использована закладка, соответств.

// текущему расчетчику

ЗакладкиОтбора("Родитель", Расчетчик);

См. также: УстановитьОтбор, ПолучитьОтбор

ГраницаПросмотра

Установить в форме журнала расчетов границу видимости записей.

Синтаксис:

ГраницаПросмотра(<Период>)

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

ViewBound

Параметры:

<Период>

Значение типа «Период журнала расчетов», кото­рое устанавливается как граница видимости запи­сей журнала расчетов.

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

Значение типа «Период журнала расчетов». Текущее значение границы про­смотра записей журнала расчетов, установленное до вызова метода программ­ным образом или интерактивно.

Описание:

Метод ГраницаПросмотра устанавливает в форме журнала расчетов гра­ницу видимости записей. Видимыми (т. е. отображаемыми в окне журнала рас­четов) становятся записи журнала с периодом регистрации от расчетного пе­риода, заданного параметром <Период> до текущего расчетного периода. После вызова данного метода происходит перерисовка окна, так же как и при инте­рактивной смене границы просмотра журнала расчетов.

Данный метод доступен только в контексте Модуля формы журнала расче­тов (см. «Виды программных модулей»).

Пример:

// в форме журнала расчетов "зарплата" отодвинемся

// на два расчетных периода назад

СтараяГраница = ГраницаПросмотра();

ГраницаПросмотра(Ст.ПрибавитьПериод(-2));

См. также: методы РежимПредставления, УстановитьОтбор, атрибут ПериодРегистрации

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

Установить в форме журнала расчетов режим представления записей.

Синтаксис:

УстановитьПредставление(<Режим>, <Объект>)

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

SetPresentation

Параметры:

<Режим>

Числовое значение — режим представления жур­нала расчетов.

<Объект>

Объект, записи которого отображаются. Если ус­танавливаемый режим — «по одному документу» (см. ниже), этот параметр должен иметь тип «до­кумент», если режим устанавливаемого представ­ления — «по одному объекту», этот параметр должен иметь тип «элемент справочника».

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

Число: 1, если представление успешно установлено; 0 — если представление по каким-либо причинам не установлено.

Описание:

Метод УстановитьПредставление устанавливает режим вывода записей в форме журнала расчетов. Значение <Режим> может принимать следующие значения:

1.      Записи по всем объектам расчета.

2.      Записи по одному объекту расчета.

3.      Записи по одному документу-основанию.

Параметр <Объект> должен иметь тот или иной тип значения, в зависимо­сти от устанавливаемого режима. Если устанавливается режим просмотра запи­сей по одному документу, то тип значения этого параметра — «документ»; если устанавливается режим просмотра записей по одному объекту расчета (элемен­ту справочника-родителя данного журнала расчетов), то тип значения этого параметра — «элемент справочника».

Если устанавливаемый режим — просмотр записей по всем объектам расче­та, параметр <Объект> не используется.

Данный метод доступен только в контексте Модуля формы журнала расче­тов (см. «Виды программных модулей»).

Пример:

Перем СтРежим;

Перем СтОбъект;

Перем СменилиРежим;

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

   // запомним предыдущие установки

   ПолучитьПредставление(СтРежим, СтОбъект);

   // Сменим режим

   СменилиРежим = УстановитьПредставление(2, Сотрудник);

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

Процедура Восстановить()

   Если СменилиРежим = 1 Тогда

      УстановитьПредставление(СтРежим, СтОбъект);

   КонецЕсли;

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

См. также: ПолучитьПредставление, ГраницаПросмотра

ПолучитьПредставление

Получить установки представления журнала расчетов — режим пред­ставления и отображаемый объект.

Синтаксис:

ПолучитьПредставление(<Режим>, <Объект>}

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

GetPresentation

Параметры:

<Режим>

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

<Объект>

Переменная, в которую записывается объект, за­писи которого отображаются. Если текущий ре­жим — «по одному документу» (см. ниже), этот параметр примет значение типа «документ», если режим устанавливаемого представления — «по одному объекту», этот параметр примет значение типа «элемент справочника».

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

Число: 1, если представление успешно установлено; 0 — если представление по каким-либо причинам не установлено.

Описание:

Метод ПолучитьПредставление считывает текущие установки вывода за­писей в форме журнала расчетов. Параметр <Режим>, переданный по ссылке, в результате работы метода может принять следующие значения:

1.      Записи по всем объектам расчета.

2.      Записи по одному объекту расчета.

3.      Записи по одному документу-основанию.

Параметр <Объект> получит значение того или иного типа, в зависимости от устанавливаемого режима. Если текущий режим — «по одному документу», этот параметр примет значение типа «документ», если режим устанавливаемого представления — «по одному объекту», этот параметр примет значение типа «элемент справочника».

Если текущий режим представления — просмотр записей по всем объектам расчета, параметр <Объект> не заполняется и его значение остается прежним.

Данный метод доступен только в контексте Модуля формы журнала расче­тов (см. «Виды программных модулей»).

Пример:

Перем СтРежим;

Перем СтОбъект;

Перем СменилиРежим;

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

   // запомним предыдущие установки

   ПолучитьПредставление(СтРежим, СтОбъект);

   // Сменим режим

   СменилиРежим = УстановитьПредставление(2.Сотрудник);

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

Процедура Восстановить()

   Если СменилиРежим = 1 Тогда

      УстановитьПредставление(СтРежим, СтОбъект);

   КонецЕсли;

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

См. также: УстановитьПредставление, ГраницаПросмотра

РассчитыватьПриОтменеИсправления

Устанавливает значение флага автоматического расчета записи жур­нала расчетов при интерактивной отмене ее исправления.

Синтаксис:

РассчитыватьПриОтменеИсправления(<Флаг>)

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

CalculateOnEditCancel

Параметры:

<Флаг>

Необязательный параметр. Число: 1 — автоматиче­ски рассчитывать записи журнала расчетов при интерактивной отмене ее исправления; 0 — не рас­считывать автоматически.

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

Текущее числовое значение флага (до испольнения метода).

Описание:

Метод РассчитыватьПриОтменеИсправления устанавливает значение флага автоматического расчета записи журнала расчетов при интерактивной отмене ее исправления. По умолчанию форма журнала расчетов всегда откры­вается со значением флага 0 (не рассчитывать записи журнала расчетов автома­тически).

Данный метод доступен только в контексте Модуля формы журнала расче­тов (см. «Виды программных модулей»).

Пример:

РассчитыватьПриОтменеИсправления(1);

Предопределенные процедуры Модуля формы журнала расчетов

Описанные в данном разделе системные предопределенные процедуры мо­гут располагаться только в программном модуле формы журнала расчетов (см. «Виды программных модулей»).

Данные процедуры предназначены для расширения возможности программ­ного управления правами пользователей на выполнение тех или иных дейст­вий.

Предопределенные процедуры не является встроенными процедурами язы­ка. Для них зарезервированы только название и синтаксис. Тело процедур должно быть написано самим разработчиком в соответствующих программных модулях. Вызов предопределенных процедур на исполнение производится в системе 1С:Предприятие неявно при возникновении соответствующего собы­тия. Описание предопределенных процедур также см. гл. «Системные предо­пределенные процедуры».

ПриИсправленииРезультата

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

Синтаксис:

ПриИсправленииРезультата(<3апись>}

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

OnResuitUpdate

Параметры:

<3апись>

Ссылка на запись журнала расчетов, резуль­тат расчета которой исправляется.

Описание:

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

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

Пример:

Процедура ПриИсправленииРезультата(Запись)

   // группа нередактируемых расчетов

   НГ = ГруппаРасчетов.Нередактируемые;

   Если Запись.ВидРасч.ВходитВГруппу(НГ) = 1 Тогда

      Предупреждение("Операция не выполняется");

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

   КонецЕсли;

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

См. также: СтатусВозврата, ПриОтменеИсправления

ПриОтменеИсправления

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

Синтаксис:

ПриОтменеИсправления(<3апись>)

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

OnUpdateCancel

Параметры:

<3aпиcь>

Ссылка на запись журнала расчетов, исправ­ление результата которой отменяется.

Описание:

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

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

Пример:

Процедура ПриОтменеИсправления(Запись)

   // Расчетчик — элемент справочника со списком расчетчиков

   Если Расчетчик.ПравоНаОтмену = Да Тогда

      // отреагируем на это действие

      ПересчитатьСотрудника(Запись.Объект);

   Иначе

      // иначе — нельзя!

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

   КонецЕсли;

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

См. также: СтатусВозврата, ПриИсправленииРезультата

ПриРасчете

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

Синтаксис:

ПриРасчете(<ОбъектРасчета>)

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

OnCalculating

Параметры:

<ОбъектРасчета>

Запись журнала расчетов или элемент спра­вочника, являющийся объектом расчета, или документ, записи которого рассчитываются. Что в данный момент передается системой при вызове процедуры — зависит от выпол­няемого действия: расчет одной записи, рас­чет объекта или расчет документа.

Описание:

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

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

Пример:

Процедура ПриРасчете(Объект)

   // определим, что считаем?

   Если ТипЗначения(Объект) = 12 Тогда

      // имеем дело с документом

      Если Объект.Автор <> Расчетчик Тогда

         // если автор данного документа не текущий расчетчик, то

         // запретим расчет чужого документа!

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

      КонецЕсли;

   ИначеЕсли ТипЗначения(Объект) = 11 Тогда

      // а это — элемент справочника

      Если Объект.Владелец <> Расчетчик Тогда

         // если рассчитываемый объект лежит в папке текущего расчетчика

         // считать можно иначе — нет

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

      КонецЕсли;

   Иначе

      // иначе — считаем одну запись

      Если (Объект.Документ.Автор <> Расчетчик) ИЛИ

             (Объект.Объект.Владелец <> Расчетчик) Тогда

         //не дадим считать запись чужого документа или объекта

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

      КонецЕсли;

   КонецЕсли;

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

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

ПриВыбореВладельца

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

Синтаксис:

ПриВыбореВладельца(<Владелед>)

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

OnSetOwner

Параметры:

<Владелец>

Значение устанавливаемого владельца — т. е. элемент спра­вочника по которому будут выведены расчеты.

Описание:

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

Внимание! Процедура выполняется только в том случае, когда журнал расче­тов выводится «по объекту», т. е. в нем отображаются записи по одному объекту расчета. Вызов процедуры происходит в момент смены текущего элемента в «главном» справочнике, для которого создан журнал расчетов.

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

Пример:

Процедура ПриВыбореВладельца(Владелец)

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

      Если Владелец = ЗапрещенныйВладелец Тогда

         Предупреждение("Нельзя изменять объект расчетов;", 2);

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

      КонецЕсли;

   КонецЕсли;

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

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

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

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

Синтаксис:

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

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

OnSetSelection

Параметры:

<ИмяОтбора>

Строковое значение. Наименование графы отбора, которая выбрана пользователем при интерактивной установке отбора.

<ЗначениеОтбора>

Значение отбора, которое выбрано пользова­телем при интерактивной установке отбора.

Описание:

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

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

Пример:

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

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

      Если (ИмяОтбора = "Владелец") И (ЗначОтбора <> ТекущийРасчетчик) Тогда

         Предупреждение("Недостаточно прав!", 2);

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

      КонецЕсли;

   КонецЕсли;

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

См. также: СтатусВозврата, УстановитьОтбор, ПолучитьОтбор

ПриУстановкеГраницыПросмотра

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

Синтаксис:

ПриУстановкеГраницыПросмотра(<Период>)

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

OnSetViewBound

Параметры:

<Период>

Значение типа «Период журнала расчетов». Период, устанавливаемый пользователем как граница просмотра записей.

Описание:

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

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

Пример:

Процедура ПриУстановкеГраницыПросмотра(Период)

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

      ТП = ТекущийПериод();

      // не позволим смотреть более чем на три периода назад

      МинПер = ТП.ПрибавитьПериод(-3);

      Если (Период.ДатаНачала<МинПер.ДатаНачала) Тогда

         Предупреждение("Недостаточно прав 1", 2);

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

      КонецЕсли;

   КонецЕсли;

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

См. также: СтатусВозврата, ГраницаПросмотра

ПриУстановкеПредставления

Предопределенная процедура, вызываемая при установке режима представления журнала расчетов (по всем объектам расчетов, по од­ному объекту расчета, по одному документу расчета).

Синтаксис:

ПриУстановкеПредставления(<Режим>}

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

OnSetPresentation

Параметры:

<Режим>

Числовое значение — режим представления записей журнала расчетов, устанавливаемый пользователем.

Описание:

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

Параметр <Режим> может принимать следующие значения:

1.      Записи по всем объектам расчета.

2.      Записи по одному объекту расчета.

3.      Записи по одному документу-основанию.

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

Пример:

Процедура ПриУстановкеПредставления(Режим)

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

      Если (Режим = 1) Тогда

         Предупреждение("Недостаточно прав!", 2);

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

      КонецЕсли;

   КонецЕсли;

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

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






Перейти  к оглавлению: Описание встроенного языка