0
Dev_Null
01.12.19
✎
15:50
|
Нельзя изменять поле, содержащее объект данных формы.
&НаКлиенте
Процедура Загруить()
СсылкаНаДокумент = СоздатьДокументПоступленияНаличных(Дата, Сумма);
ПараметрыФормы = Новый Структура("ключ", СсылкаНаДокумент);
Форма = ПолучитьФорму("Документ.ПриходныйКассовыйОрдер.ФормаОбъекта", ПараметрыФормы);
Форма.РасшифровкаПлатежаСтатьяДвиженияДенежныхСредств = ПолучитьСтатью();
ПровестиОбъект(СсылкаНаДокумент);
КонецПроцедуры;
Процедура ПровестиОбъект (СсылкаНаДокумент)
Объект = СсылкаНаДокумент.ПолучитьОбъект() ;
Объект.Записать(РежимЗаписиДокумента.Проведение, РежимПроведенияДокумента.Неоперативный);
КонецПроцедуры
В общем пытаюсь перепровести объект с измененной формой и вылетает ошибка, не подскажете как реализовать ?
|
|
1
RomanYS
01.12.19
✎
15:55
|
"Объект" это реквизит формы, ему нельзя что-то другое присвоить.
Объект = СсылкаНаДокумент.ПолучитьОбъект() ; //здесь ошибка
Замени на "ДокОбъект", например, и эту ошибку ты обойдешь.
Только СсылкаНаДокумент.ПолучитьОбъект() - это прочитать объект из базы, не очень понятно как это согласуется с изменениями в форме
|
|
2
Dev_Null
01.12.19
✎
16:09
|
Да спасибо, че то я не заметил, глупая ошибка, а вообще цель всего этого поменять статью в ПКО, такое дело что при программном создании документа ПКО и заполнении его, статья после проведения меняется, в объекте я ее поменял, немного переопределив механизм передЗаписью, с помощью расширения добавил туда процедуру После ПередЗаписью. Пытаюсь потом на форме поменять, но опять же отрабатывает механизм проведения и опять на форме она меняется. Не хочется править код самой базы. Как можно вообще сделать так чтобы это все заполнялось корректно, не трогая код модулей ?
|
|