Движения документа Создание записей периодического реквизита Справочника по документу
Документы в системе «1С:Предприятие» являются инструментом для записи движений в учетные базы данных, в которых ведутся записи по различным разрезам учета. Эти записи вводятся только программно в модуле документа в предопределенной процедуре ОбработкаПроведения().
Простейшим примером такой базы является совокупность записей периодических реквизитов справочников, создаваемая документами.
Для записи движений при создании документа необходимо в окне редактирования установить флажок «Разрешить проведение документа» и определить типы учетных баз, в которых данный документ будет создавать записи: Оперативный учет, Бухгалтерский учет или Расчет.
Модуль документа открывается из окна редактирования документа (не формы Документа) или через контекстное меню документа в дереве метаданных. Следует обратить внимание, что контекст модуля документа не связан с контекстом формы документа, поэтому в контексте модуля документа Доступны только атрибуты (реквизиты) документа.
Если в окне редактирования документа установлен флажок «Автоматическое
112______________________ 1С:Предприятие. Практика программирования на платформе V7
удаление движений», то при удалении или пометке к удалению документа движения созданные в учетных базах по данному документу удаляются.
Упражнение 20. Создадим в модуле документа алгоритм формирования записей истории периодического реквизита справочника «Оборудование» «Цена».
Новую цену оборудования мы задаем в приходном документе, определяя значение реквизита «ЦенаНов», поэтому создадим в модуле документа записи истории периодического реквизита справочника оборудование по каждой строке документа. Чтобы не записи в истории периодического реквизита справочника не дублировались, нужно проверить была ли изменена цена в документе.
Метод
УстановитьРеквизитСправочника(ОлементСправочника>,<НазваниеРеквизита>,<Значение>,
<ДатаУстановки>,<ИмяТипа>,<Длина>,<Точность>) позволяет записать значение периодического
реквизита справочника с привязкой к проведению документа.
<ЭлементСправочника> - элемент справочника, в который будет запись;
<НазваниеРеквизита> - название периодического реквизита справочника;
<3начение> - новое значение периодического реквизита;
<ДатаУстановки> - дата установки нового значения периодического реквизита. Дата установки имеет
смысл только для не оперативных документов.
<ИмяТипа> - необязательный параметр. Строковое выражение - название типа данных (или Вид
субконто);
<Длина> - необязательный параметр. Число - длина числового или строкового значения;
<Точность> - необязательный параметр. Число знаков после десятичной точки.
Параметры <ИмяТипа>, <Длина> и <Точность> следует указывать при установке значения
периодического реквизита справочника, имеющего неопределенный тип. Метод доступен только в
Модуле документа в предопределенной процедуре ОбработкаПроведения.
Метод ПривязыватьСтроку(<НомерСтроки>) позволяет записывать номер строки документа в
движениях документа. <НомерСтроки> - номер строки Документа.
Метод устанавливает номер строки для всех последующих движений регистров, при записи значений
периодических реквизитов справочников с привязкой к документу, а также при записи бухгалтерских
проводок. Метод доступен только в Модуле документа в предопределенной процедуре
ОбработкаПроведения.
Процедура ОбработкаПроведения()
ВыбратьСтроки();
Пока ПолучитьСтроку() =1 Цикл
Если НовЦенаоОборудование.Цена.Получить(ТекущийДокумент()) Тогда
ПривязыватьСтроку(НомерСтроки);
УстановитьРеквизитСправочника (Оборудование , "Цена" , НовЦена) ;
КонецЕсли;
КонецЦикла;
КонецПроцедуры