Имя: Пароль:
1C
 
Не удается провести объект после внесений изменений в форму, вылетает ошибка
0 Dev_Null
 
01.12.19
15:50
Нельзя изменять поле, содержащее объект данных формы.
  
&НаКлиенте
Процедура Загруить()

                  СсылкаНаДокумент = СоздатьДокументПоступленияНаличных(Дата, Сумма);
                
                ПараметрыФормы = Новый Структура("ключ", СсылкаНаДокумент);
                Форма =  ПолучитьФорму("Документ.ПриходныйКассовыйОрдер.ФормаОбъекта", ПараметрыФормы);
                                Форма.РасшифровкаПлатежаСтатьяДвиженияДенежныхСредств = ПолучитьСтатью();
                  ПровестиОбъект(СсылкаНаДокумент);



КонецПроцедуры;



Процедура ПровестиОбъект (СсылкаНаДокумент)
    
Объект = СсылкаНаДокумент.ПолучитьОбъект() ;
Объект.Записать(РежимЗаписиДокумента.Проведение, РежимПроведенияДокумента.Неоперативный);


КонецПроцедуры


В общем пытаюсь перепровести объект с измененной формой и вылетает ошибка, не подскажете как реализовать ?
1 RomanYS
 
01.12.19
15:55
"Объект" это реквизит формы, ему нельзя что-то другое присвоить.
Объект = СсылкаНаДокумент.ПолучитьОбъект() ; //здесь ошибка

Замени на "ДокОбъект", например, и эту ошибку ты обойдешь.

Только СсылкаНаДокумент.ПолучитьОбъект() - это прочитать объект из базы, не очень понятно как это согласуется с изменениями в форме
2 Dev_Null
 
01.12.19
16:09
Да спасибо, че то я не заметил, глупая ошибка, а вообще цель всего этого поменять статью в ПКО, такое дело что при программном создании документа ПКО и заполнении его, статья после проведения меняется, в объекте я ее поменял, немного переопределив механизм передЗаписью, с помощью расширения добавил туда процедуру После ПередЗаписью. Пытаюсь потом на форме поменять, но опять же отрабатывает механизм проведения и опять на форме она меняется. Не хочется править код самой базы. Как можно вообще сделать так чтобы это все заполнялось корректно, не трогая код модулей ?
3 Dev_Null
 
01.12.19
19:38
Все решал короче, какая форма там, все в объекте есть, просто глаз нет ))