Так как форме была произведена установка реквизитов и в таблице может находиться несколько одинаковых основных средств необходимо провести установку реквизитов справочника.
......... ВыбратьСтроки(); Пока ПолучитьСтроку() = 1 Цикл Если РежимПроведения <> 1 Тогда СпрОС = СоздатьОбъект("Справочник.ОсновныеСредства"); Если СпрОС.НайтиЭлемент(ОсновноеСредство) = 0 Тогда Сообщение = "В стороке №" + НомерСтроки + " не задано основное средство."; глОшибкаПроведения(Контекст, Сообщение); СтатусВозврата(0); Возврат; КонецЕсли; СпрОС.Группа = Группа; СпрОС.ПодлежитАмортизации = ПодлежитАмортизации; СпрОС.СпособНачисленияАмортизации = СпособНачисленияАмортизации; СпрОС.ОбщийОбъемПродукцииРабот = ОбщийОбъемПродукцииРабот; СпрОС.ШифрПоЕНАОФ = ШифрПоЕНАОФ; СпрОС.МетодНачисленияАмортизации = МетодНачисленияАмортизации; СпрОС.ПервоначальнаяСтоимость = БалансоваяСтоимость; СпрОС.ДатаВводаВЭксплуатацию = ДатаДок; СпрОС.АмортизационнаяГруппа = АмортизационнаяГруппа; СпрОС.ПервоначальнаяСтоимостьН = ПервоначальнаяСтоимостьН; Если ПустоеЗначение(СпрОС.ПрочиеСведения) = 1 Тогда СпрОС.ПрочиеСведения = ПрочиеСведения; КонецЕсли; СпрОС.Записать(); КонецЕсли; УстановитьРеквизитСправочника(ОсновноеСредство, "Подразделение", Подразделение, ДатаДок); УстановитьРеквизитСправочника(ОсновноеСредство, "МОЛ", МОЛ, ДатаДок); УстановитьРеквизитСправочника(ОсновноеСредство, "НачислятьАмортизацию", НачислятьАмортизацию, ДатаДок); УстановитьРеквизитСправочника(ОсновноеСредство, "КоэффициентАмортизации", КоэффициентАмортизации, ДатаДок); УстановитьРеквизитСправочника(ОсновноеСредство, "СрокПолезногоИспользования", СрокПолезногоИспользования, ДатаДок); УстановитьРеквизитСправочника(ОсновноеСредство, "Состояние", Перечисление.СостоянияОС.В_Эксплуатации, ДатаДок); Если СписатьНаЗатраты = 0 Тогда УстановитьРеквизитСправочника(ОсновноеСредство, "СчетЗатрат", СчетЗатрат, ДатаДок); УстановитьРеквизитСправочника(ОсновноеСредство, "Субконто1", Субконто1, ДатаДок, СчетЗатрат.ВидСубконто(1)); УстановитьРеквизитСправочника(ОсновноеСредство, "Субконто2", Субконто2, ДатаДок, СчетЗатрат.ВидСубконто(2)); УстановитьРеквизитСправочника(ОсновноеСредство, "Субконто3", Субконто3, ДатаДок, СчетЗатрат.ВидСубконто(3)); КонецЕсли; Если ПринятьК_НалоговомуУчету < 3 Тогда УстановитьРеквизитСправочника(ОсновноеСредство, "СрокПолезногоИспользованияН", СрокПолезногоИспользованияН, ДатаДок); УстановитьРеквизитСправочника(ОсновноеСредство, "СпециальныйКоэффициент", СпециальныйКоэффициент, ДатаДок); УстановитьРеквизитСправочника(ОсновноеСредство, "СчетЗатратН", СчетЗатратН, ДатаДок); УстановитьРеквизитСправочника(ОсновноеСредство, "СубконтоН1", СубконтоН1, ДатаДок, СчетЗатратН.ВидСубконто(1)); УстановитьРеквизитСправочника(ОсновноеСредство, "СубконтоН2", СубконтоН2, ДатаДок, СчетЗатратН.ВидСубконто(2)); УстановитьРеквизитСправочника(ОсновноеСредство, "СубконтоН3", СубконтоН3, ДатаДок, СчетЗатратН.ВидСубконто(3)); КонецЕсли; ......
Основа установки реквизитов функция:
УстановитьРеквизитСправочника
Записать значение периодического реквизита справочника с привязкой к документу.
Синтаксис:
УстановитьРеквизитСправочника(<ЭлементСправочника>, <НазваниеРеквизита>, <3начение>, <ДатаУстановки>, <ИмяТипа>, <Длина>, <Точность>)
Англоязычный синоним:
SetRefField
Параметры:
<ЭлементСправочника> - Выражение, задающее элемент справочника, в котором требуется записать новое значение периодического реквизита.
<НазваниеРеквизита> - Строковое выражение — название периодического реквизита справочника (как он назван в конфигураторе) в котором требуется записать новое значение периодического реквизита.
<3начение> - Новое значение периодического реквизита.
<ДатаУстановки> - Выражение типа дата, на которую требуется установить новое значение периодического реквизита. Этот параметр имеет смысл только для не оперативных документов и позволяет установить значение на другую дату чем дата документа, но тогда с пустым временем.
<ИмяТипа> - Необязательный параметр. Строковое выражение — название типа данных (или Вид субконто).
<Длина> - Необязательный параметр. Число — длина числового или строкового значения.
<Точность> - Необязательный параметр. Число знаков после десятичной точки для числового значения.
Описание:
Метод УстановитьРеквизитСправочника записывает новое значение периодического реквизита справочника с привязкой к документу. Использование Данного метода позволяет вносить изменения в справочники с привязкой к проведению документа. Это значит, что при удалении или редактировании или отказе от проведения документа все сделанные им изменения в справочнике будут корректно отменены. Средства языка позволяют выбирать такие движеиия справочника по документу или определять документ, который произвел изменения в справочнике (см. Работа с объектом Периодический).
Параметры <ИмяТипа>, <Длина> и <Точность> следует указывать при установке значения периодического реквизита справочника имеющего неопределенный тип.
Данный метод доступен только в контексте Модуля документа в предопределенной процедуре ОбработкаПроведения (см. Гл. Системные предопределенные процедуры).
Но это еще не все. В самом конце Вы видите, что происходит установка налоговых реквизитов для налогового учета, тут нужно немного отвлечься, чтобы посмотреть, что такое налоговый учет.