1C: Бухгалтерия 1.6.24.7 + Учет Договоров
14.10.2010
14:16
#1
"Есть документ, хочу провести его ещё по одному регистру. Меняю процедуру ОбработкаПроведения, добавляю следующее:
КоличествоСтрок = Характеристики.Количество()-1; (Характеристики - табличная часть документа)
Движение = Движения.сзХарактеристики.Добавить();
Движение.Договор = Ссылка;
Для i = 0 по КоличествоСтрок Цикл
СтрокаТЧ = Характеристики.Получить(i);
ВидХарактеристики = СтрокаТЧ.ВидХарактеристики;
Если ВидХарактеристики = ПланыВидовХарактеристик.удХарактеристикиДоговоров.НайтиПоНаименованию("Вид деятельности") Тогда
Движение.ВидДеятельности = СтрокаТЧ.ЗначениеХарактеристики
ИначеЕсли ВидХарактеристики = ПланыВидовХарактеристик.удХарактеристикиДоговоров.НайтиПоНаименованию("Статьи бизнес-плана") Тогда
Движение.СтатьяБизнесПлана = СтрокаТЧ.ЗначениеХарактеристики
ИначеЕсли ВидХарактеристики = ПланыВидовХарактеристик.удХарактеристикиДоговоров.НайтиПоНаименованию("Гарантийные обязательства") Тогда
Движение.ГарантийныеОбязательства = СтрокаТЧ.ЗначениеХарактеристики
КонецЕсли;
КонецЦикла;
Всё красиво работает. Одна беда, документ менять нельзя, так как есть большое желание обновляться. Поэтому хотелось бы как-то проведение по регистру запихнуть в общий модуль, а в документ добавить только ссылку на эту процедуру, чтобы после обновления надо было только ссылку добавлять. Можно подобное реализовать или нет? И если можно, то как?"
КоличествоСтрок = Характеристики.Количество()-1; (Характеристики - табличная часть документа)
Движение = Движения.сзХарактеристики.Добавить();
Движение.Договор = Ссылка;
Для i = 0 по КоличествоСтрок Цикл
СтрокаТЧ = Характеристики.Получить(i);
ВидХарактеристики = СтрокаТЧ.ВидХарактеристики;
Если ВидХарактеристики = ПланыВидовХарактеристик.удХарактеристикиДоговоров.НайтиПоНаименованию("Вид деятельности") Тогда
Движение.ВидДеятельности = СтрокаТЧ.ЗначениеХарактеристики
ИначеЕсли ВидХарактеристики = ПланыВидовХарактеристик.удХарактеристикиДоговоров.НайтиПоНаименованию("Статьи бизнес-плана") Тогда
Движение.СтатьяБизнесПлана = СтрокаТЧ.ЗначениеХарактеристики
ИначеЕсли ВидХарактеристики = ПланыВидовХарактеристик.удХарактеристикиДоговоров.НайтиПоНаименованию("Гарантийные обязательства") Тогда
Движение.ГарантийныеОбязательства = СтрокаТЧ.ЗначениеХарактеристики
КонецЕсли;
КонецЦикла;
Всё красиво работает. Одна беда, документ менять нельзя, так как есть большое желание обновляться. Поэтому хотелось бы как-то проведение по регистру запихнуть в общий модуль, а в документ добавить только ссылку на эту процедуру, чтобы после обновления надо было только ссылку добавлять. Можно подобное реализовать или нет? И если можно, то как?"
14.10.2010
14:56
#3
"Но процедуру проведения в общем модуле мне всё равно прописать надо, а я не знаю, как прописать движение (обратиться к свойству документа "Движения").
Пишу процедуру:
Процедура Проведение() Экспорт
Объект = Документы.удДоговор.Выбрать();
Объект2 = Объект.Ссылка.ПолучитьОбъект();
Движения = Объект2.Движения;
Движение = Движения.сзХарактеристики.Добавить();
КоличествоСтрок = Объект.Характеристики.Количество()-1;
Движение.Договор = Объект.Ссылка;
...(прописываю проведение характеристик)
КонецПроцедуры
И получаю ошибку "Значение не является значением объектного типа ПолучитьОбъект()""
Пишу процедуру:
Процедура Проведение() Экспорт
Объект = Документы.удДоговор.Выбрать();
Объект2 = Объект.Ссылка.ПолучитьОбъект();
Движения = Объект2.Движения;
Движение = Движения.сзХарактеристики.Добавить();
КоличествоСтрок = Объект.Характеристики.Количество()-1;
Движение.Договор = Объект.Ссылка;
...(прописываю проведение характеристик)
КонецПроцедуры
И получаю ошибку "Значение не является значением объектного типа ПолучитьОбъект()""
Читают тему
(гостей: 1)