Описание встроенного языка системы 1С Предприятие

         

ЗаписатьРасчетНаОсновании


Ввести запись в журнал расчетов на основании произвольного доку­мента.

Синтаксис:

ЗаписатьРасчетНаОсновании(<Основание>, <Объект>, <ВидРасчета>, <ДатаНачала>,

                   <ДатаОконч>, <Результат>)

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

EnterCalculationByReason

Параметры:

<Основание>

Документ, на основании которого вводится запись (или записи) в журнал расчетов.



<Объект>

Объект расчета — элемент справочника, заданного при конфигурировании журнала расчетов.

<ВидРасчета>

Вид вводимого расчета — ссылка на агрегатный объ­ект «Вид Расчета».

<ДатаНачала>

Необязательный параметр. Дата начала действия вводимого расчета. По умолчанию — дата начала текущего периода журнала расчетов.

<ДатаОконч>

Необязательный параметр. Дата окончания действия вводимого расчета. По умолчанию — дата окончания текущего периода журнала расчетов.

<Результат>

Необязательный параметр. Результат расчета. По умолчанию — ноль.

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

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

Описание:

Метод предназначен для ввода строк в журнал расчетов. Работает так же, как и метод ЗаписатьРасчет, но при этом реквизит Документ вводимых строк журнала расчетов заполняется значением параметра <Основание>. Ис­пользование метода ЗаписатьРасчетНаОсновании — один из способов непо­средственно установить родительские отношения между любым документом и вводимыми записями журнала расчетов.

Данный метод отличается от метода ВвестиРасчетНаОсновании тем, что ввод вытесняющих расчетов приводит к вытеснению только тех расчетов, кото­рые имеют меньший приоритет, а не меньший либо равный, как в случае с ме­тодом ВвестиРасчетНаОсновании. Это приводит, в частности, к тому, что за счет применения этого метода расчет не вытесняет «сам себя».

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




Важно! Метод ЗаписатьРасчетНаОсновании можно применять только для тех объектов, которые созданы функцией СоздатьОбъект. Это значит, например, что его нельзя использовать непосредственно (без точки) в форме журнала расчетов или в модуле видов расчета.

Пример:

Процедура Перерасчет(Группа, Сотрудник, Основание, Начало, Окончание) Экспорт

   // перерасчет по журналу зарплата

   ЖР = СоздатьОбъект{"ЖурналРасчетов.Зарплата");

   ЖР.ВыбратьЗаписиПоОбъекту(Сотрудник, ЖР.НачалоПериодаПоДате(Начало),

       Мин(Окончание, ЖР.НачалоТекущегоПериода() - 1));

   Сч = 1;

   Пока (Сч < 50...) Цикл

      Если (Расчеты[Сч].ВходитВГруппу(ВсеУд)=1) Тогда

         ЖР.ЗаписатьРасчетНаОсновании(Основание, Сотрудник, Расчеты[Сч],

                  Начала[Сч], Окончания[Сч], 0);

      Иначе

         ЖР.ВвестиРасчетНаОсновании(Основания[Сч], Сотрудник, Расчеты[Сч],

                  Начала[Сч], Окончания[Сч], 0);

      КонецЕсли;

      Сч = Сч + 1;

   КонецЦикла;

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

См. также: ВвестиРасчетНаОсновании


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