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