1С Предприятие. Практика программирования на платформе v7

  73c64bed     

Создание записей в Журнале расчетов


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

XI. Основы построения объектов компоненты «Расчет»__________________________ 177

Упражнение 34. Установите флаг расчета в свойствах документа «Приход» и создайте в нем реквизит табличной части «Расчет» типа «ВидРасчета», чтобы можно было откорректировать вид расчета перед вводом записи в журнал расчетов. Опишите в свойствах соответствующего поля диалога документа выражение для ввода из справочника «Оборудование» значения по умолчанию для реквизита «Расчет».

Метод ВвестиРасчет() позволяет ввести одним документом несколько записей в журнал расчетов по одному объекту.

Метод ЗаписатьРасчетО вводит документом только одну запись по объекту и виду расчета в одном периоде журнала расчетов. Если документом вводится запись по такому же объекту с таким же видом расчета, которая уже есть в данном периоде журнала расчетов, то существующая запись будет замещена новой записью.

Списки параметров для обоих методов одинаковы.

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

ввести запись в журнал расчетов.

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

<ВидРасчета> - вид вводимого расчета - ссылка на агрегатный обьект ВидРасчета.

<ДатаНачала> - дата начала действия вводимого расчета. По умолчанию - дата начала текущего

периода журнала расчетов.

<ДатаОкончания> - дата окончания действия вводимого расчета. По умолчанию - дата окончания

текущего периода журнала расчетов.

<Результат> - результат расчета. По умолчанию - ноль.

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

1 - если операция успешно выполнена, и 0 - в противном случае.

178______________________ 1С:Предприятие. Практика программирования на платформе V7

Для ввода записей расчета на основании существуют методы ВвестиРасчетНаОсновании() и ЗаписатьРасчетНаОсновании() с аналогичными различиями.




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

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

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

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

<ВидРасчета> - вид вводимого расчета - ссылка на агрегатный объект ВидРасчета.

<ДатаНачала> - дата начала действия вводимого расчета. По умолчанию - дата начала текущего

периода журнала расчетов.

<ДатаОкончания> - дата окончания действия вводимого расчета. По умолчанию - дата окончания

текущего периода журнала расчетов.

<Результат> - результат расчета. По умолчанию - ноль.

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

1 - если операция успешно выполнена, и 0 - в противном случае.

Параметр «Основание» попадает в атрибут РодительскийДокумент записи журнала расчетов.

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

УстановитьРеквизит(<ИмяРеквизита>,<Значение>) устанавливает значение реквизита журнала расчетов для записи.<ИмяРеквизита> - наименование реквизита журнала расчетов. <3начение> -значение, устанавливаемое для записи в реквизит <ИмяРеквизита>.

Откроем Модуль документа «Приход» и пропишем создание записей журнала расчетов по каждой строке документа. Для этого, в отличие от регистров и бухгалтерской операции, необходимо создать объект "ЖурналРасчетов.Амортизация" и в цикле перебора строк документа вызвать метод журнала расчетов ВвестиРасчет().

// ********************************************

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

ЖурнРасчетов=Создать0бъект("ЖурналРасчетов.Амортизация"); ВыбратьСтроки();

Пока ПолучитьСтроку() =1 Цикл

// Создать запись журнала расчетов

ЖурнРасчетов.УстановитьРеквизит("Стоимость",Сумма); ЖурнРасчетов.ВвестиРасчет(оборудование,Расчет,Датадок,,);

КонецЦикла;

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

XI. Основы построения объектов компоненты «Расчет»__________________________ 179

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



Вы увидите в нем записи созданные документами, они пока ещё не рассчитываются. Чтобы научить систему рассчитывать записи, рассмотрим подробнее свойства объектов метаданных ВидРасчета.


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