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

  73c64bed     

Движения документа Создание записей периодического реквизита Справочника по документу


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

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

Для записи движений при создании документа необходимо в окне редактирования установить флажок «Разрешить проведение документа» и определить типы учетных баз, в которых данный документ будет создавать записи: Оперативный учет, Бухгалтерский учет или Расчет.

Модуль документа открывается из окна редактирования документа (не формы Документа) или через контекстное меню документа в дереве метаданных. Следует обратить внимание, что контекст модуля документа не связан с контекстом формы документа, поэтому в контексте модуля документа Доступны только атрибуты (реквизиты) документа.

Если в окне редактирования документа установлен флажок «Автоматическое

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

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

Упражнение 20. Создадим в модуле документа алгоритм формирования записей истории периодического реквизита справочника «Оборудование» «Цена».

Новую цену оборудования мы задаем в приходном документе, определяя значение реквизита «ЦенаНов», поэтому создадим в модуле документа записи истории периодического реквизита справочника оборудование по каждой строке документа. Чтобы не записи в истории периодического реквизита справочника не дублировались, нужно проверить была ли изменена цена в документе.

Метод

УстановитьРеквизитСправочника(ОлементСправочника>,<НазваниеРеквизита>,<Значение>,

<ДатаУстановки>,<ИмяТипа>,<Длина>,<Точность>) позволяет записать значение периодического

реквизита справочника с привязкой к проведению документа.




<ЭлементСправочника> - элемент справочника, в который будет запись;



<НазваниеРеквизита> - название периодического реквизита справочника;

<3начение> - новое значение периодического реквизита;

<ДатаУстановки> - дата установки нового значения периодического реквизита. Дата установки имеет

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

<ИмяТипа> - необязательный параметр. Строковое выражение - название типа данных (или Вид

субконто);

<Длина> - необязательный параметр. Число - длина числового или строкового значения;

<Точность> - необязательный параметр. Число знаков после десятичной точки.

Параметры <ИмяТипа>, <Длина> и <Точность> следует указывать при установке значения

периодического реквизита справочника, имеющего неопределенный тип. Метод доступен только в

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

Метод ПривязыватьСтроку(<НомерСтроки>) позволяет записывать номер строки документа в

движениях документа. <НомерСтроки> - номер строки Документа.

Метод устанавливает номер строки для всех последующих движений регистров, при записи значений

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

проводок. Метод доступен только в Модуле документа в предопределенной процедуре

ОбработкаПроведения.

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

ВыбратьСтроки();

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

Если НовЦенаоОборудование.Цена.Получить(ТекущийДокумент())   Тогда

ПривязыватьСтроку(НомерСтроки);

УстановитьРеквизитСправочника (Оборудование , "Цена" , НовЦена) ;

КонецЕсли;

КонецЦикла;

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

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