1C: Бухгалтерия 1.6.24.7 + Учет Договоров

Новая тема
"Есть документ, хочу провести его ещё по одному регистру. Меняю процедуру ОбработкаПроведения, добавляю следующее:

КоличествоСтрок = Характеристики.Количество()-1; (Характеристики - табличная часть документа)
Движение = Движения.сзХарактеристики.Добавить();
Движение.Договор = Ссылка;
Для i = 0 по КоличествоСтрок Цикл
  СтрокаТЧ = Характеристики.Получить(i);
  ВидХарактеристики = СтрокаТЧ.ВидХарактеристики;
  Если ВидХарактеристики = ПланыВидовХарактеристик.удХарактеристикиДоговоров.НайтиПоНаименованию("Вид деятельности") Тогда
Движение.ВидДеятельности = СтрокаТЧ.ЗначениеХарактеристики
  ИначеЕсли ВидХарактеристики = ПланыВидовХарактеристик.удХарактеристикиДоговоров.НайтиПоНаименованию("Статьи бизнес-плана") Тогда
Движение.СтатьяБизнесПлана = СтрокаТЧ.ЗначениеХарактеристики
  ИначеЕсли ВидХарактеристики = ПланыВидовХарактеристик.удХарактеристикиДоговоров.НайтиПоНаименованию("Гарантийные обязательства") Тогда
Движение.ГарантийныеОбязательства = СтрокаТЧ.ЗначениеХарактеристики
  КонецЕсли;
КонецЦикла;

Всё красиво работает. Одна беда, документ менять нельзя, так как есть большое желание обновляться. Поэтому хотелось бы как-то проведение по регистру запихнуть в общий модуль, а в документ добавить только ссылку на эту процедуру, чтобы после обновления надо было только ссылку добавлять. Можно подобное реализовать или нет? И если можно, то как?"
А подпиской на событие?
"Но процедуру проведения в общем модуле мне всё равно прописать надо, а я не знаю, как прописать движение (обратиться к свойству документа "Движения").
Пишу процедуру:
Процедура Проведение() Экспорт
Объект = Документы.удДоговор.Выбрать();
Объект2 = Объект.Ссылка.ПолучитьОбъект();
Движения = Объект2.Движения;
Движение = Движения.сзХарактеристики.Добавить();
КоличествоСтрок = Объект.Характеристики.Количество()-1;
Движение.Договор = Объект.Ссылка;
...(прописываю проведение характеристик)
КонецПроцедуры
И получаю ошибку "Значение не является значением объектного типа ПолучитьОбъект()""
1. Создаете свой общий модуль
2. Создаете подписку на событие указываете там Источником тип вашего документа и событие ОбработкаПроведение
3. В поле Обработчик нажимаете Лупу и выбираете свой модуль (п.1)

В процедуре пишете ваш код. Обращение к движениям через Источник.Движения
Спасибо, всё получилось. Никогда раньше подписками на события не пользовалась, теперь буду знать.
Читают тему
(гостей: 1)

Быстрый переход