Задача стояла не очень сложная,добавить к функционалу программы БП 3.0 (1С:Предприятие 8.3 (8.3.13.1690)) списание забалансовых материалов.Решил делать все через расширения, добавил,форму, добавил регистр Хозрасчетный, на форме в модуле объекта добавил Обработку проведения
Для Каждого ТекСтрокаМатериалы Из Материалы Цикл
НаборЗаписей = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Регистратор.Установить(Ссылка);
Движение = НаборЗаписей.Добавить();
Движение.Регистратор = Ссылка;
Движение.Период = ТекущаяДата();
Движение.СчетКт = ТекСтрокаМатериалы.СчетЗатрат;
Движение.Сумма = ТекСтрокаМатериалы.Сумма;
Движение.КоличествоКт = ТекСтрокаМатериалы.Количество;
Показать
Вроде бы документ стал проводится, захотел вытащить на форму команду "ПоказатьДвиженияДокумента",не получилось.Решил схитрить, создал собственную общую команду продублировал код из основной конфигурации(странно, но сработало). Но главный затык здесь:
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
Иначе
ПараметрыФормы = Новый Структура("ДокументДвижений", ПараметрКоманды);
ОткрытьФорму("Обработка.КорректировкаДвижений.Форма",
ПараметрыФормы,
ПараметрыВыполненияКоманды.Источник,
ПараметрКоманды);
КонецЕсли;
Показать
Все уперлось в обработку КорректировкаДвижений вот в этот кусок кода:
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Если НЕ Параметры.Свойство("ДокументДвижений") Тогда
Отказ = Истина;
Возврат;
КонецЕсли;
ДокументДвижений = Параметры.ДокументДвижений;
ОбновитьДвиженияНаСервере();
Показать
Параметры.ДокументДвижений
- содержит ссылку на документ из расширения, но на следующим шаге отладчика
ДокументДвижений
не принимает эту ссылку и выходит ошибка.
Куда копать ?Как выйти из этой ситуации не изменяя код основной конфигурации?В 1с новичек.
(1) Проверьте тип реквизита "ДокументДвижений" в обработке. Подозреваю, что он имеет тип "ДокументСсылка", а такой тип не включает в себя документы, добавленные в расширениях, поэтому и присвоение ссылки на свой документ заканчивается неудачей.
Если все так, то можно попробовать дать реквизиту тип "Произвольный". Или вовсе продублировать обработку "КорректировкаДвижений".
(1) Проверьте тип реквизита "ДокументДвижений" в обработке. Подозреваю, что он имеет тип "ДокументСсылка", а такой тип не включает в себя документы, добавленные в расширениях, поэтому и присвоение ссылки на свой документ заканчивается неудачей.
Если все так, то можно попробовать дать реквизиту тип "Произвольный". Или вовсе продублировать обработку "КорректировкаДвижений".
(2) доброго времени суток, такая же ситуация, можете помочь?
менять конфигурацию не хочется, попробовал продублировать обработку "КорректировкаДвижений" в расширение и там уже поменял тип реквизита "ДокументДвижений", но не взлетело
тут подробнее описал:
https://forum.infostart.ru/forum9/topic303320/