Имя: Пароль:
1C
1С v8
Ошибка при изменении реквизита формы из команды
,
0 wms
 
21.05.19
16:31
В справочнике ДоговорыКонтрагентов  сделал команду- у нее стоит флаг Изменяет данные.
По нажатию которой надо заполнить доп. реквизит на форме тип Договор
Выдает ошибку:
{Справочник.ДоговорыКонтрагентов.Команда.КомандаДоговорыОрганизаций.МодульКоманды(11)}: Поле объекта недоступно для записи (ДополнительныйРеквизитЗначение_EF0544AFx6EBDx11E6x95FEx2C337A416EE6_90284E94x3F49x11E9x8377xAC162D788CD8)
        Форма.элементы[ИмяДопРеквНаФорме]=ТекДог;

Код :

&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
    ТекДог=ПараметрКоманды;
    СвДог=УстСвойствоНаСервере("Свойство_Договор партнера (Договоры с контрагентами)");
    
    Список = ПараметрыВыполненияКоманды.Источник.Свойства_ОписаниеДополнительныхРеквизитов;
    НайденныеСтроки = Список.НайтиСтроки(Новый Структура("Свойство", СвДог));
    Если НайденныеСтроки.Количество() > 0 Тогда
        ИмяДопРеквНаФорме=НайденныеСтроки[0].ИмяРеквизитаЗначение;
        Форма=ПараметрыВыполненияКоманды.Источник;
        Форма.элементы[ИмяДопРеквНаФорме]=ТекДог;  //для теста текущий договор подставляю, и тут ошибка
    КонецЕсли;
1 Tonik992
 
21.05.19
16:36
Посмотрите в отладке, что в Форма.элементы[ИмяДопРеквНаФорме]
2 Tonik992
 
21.05.19
16:37
ну и изменять значение реквизита надо не через Элементы формы.
А так: Форма[ИмяДопРеквНаФорме]
3 wms
 
21.05.19
16:37
(1) Значение=ПолеФормы. Тип=ПолеФормы
4 Жан Пердежон
 
21.05.19
16:38
с УФ, видимо, недавно работаете?
5 wms
 
21.05.19
16:46
(2) спасибо, переклинило после праздников и УПП. правда теперь не ругается,
Форма[ИмяДопРеквНаФорме]   заполняется, но на форме не отображается...

(4) не регулярно и без удовольствия. тормозит, можно кофе попить пока эту доработку мелкую обновляю
6 wms
 
21.05.19
17:02
+(5)
Форма[ИмяДопРеквНаФорме]=ТекДог  - заполняет договором, но на форме доп. реквизит пустой
7 Жан Пердежон
 
21.05.19
17:06
8 wms
 
21.05.19
17:38
(7) модуль - управление свойствами ? я знаю про такой. оттуда ранее и выкусил примеры как работать с доп. реквизитами.
тут как из команды объекта изменить форму.
если бы это была команда формы там думаю все бы заработало.
Форма.Обновить() попробовал не помогло
9 Вафель
 
21.05.19
17:54
значит ты не верно определил имя реквизита
10 Вафель
 
21.05.19
17:54
у реквизита и у элемента разные имена
11 wms
 
21.05.19
18:29
(10) это доп. реквизит. имена там одинаковые и все правильно
12 Вафель
 
21.05.19
18:35
тогда должно меняться
13 wms
 
21.05.19
23:51
(12) разобрался. все менялось. только из-за флага "Изменяет данные" данные формы заново перечитывались и стирались. убрал флаг и все заработало