Имя: Пароль:
1C
 
8.2 как записать элемент справочника находясь в его форме списка? уф
0 astraleuro
 
02.09.14
13:23
А это вообще возможно?

Процедура РеквизитПлюс(Команда)
    ЭтаФорма.ТекущийЭлемент.ТекущиеДанные.Реквизит = ЭтаФорма.ТекущийЭлемент.ТекущиеДанные.Реквизит + 1;
КонецПроцедуры

так в списке значение изменяется, а как его записать в элемент справочника?
1 Поpyчик-4
 
02.09.14
13:26
(0) Намёк.
В серверной процедуре ПолучитьОбъект() Записать()
2 Fedor-1971
 
02.09.14
13:29
(0) ЭтаФорма.Записать(); - запишет сам элемент справочника.
3 Поpyчик-4
 
02.09.14
13:31
(2) Опять муйню несёшь. С каких пор форма списка записывает элемент справочника?
В сабж вкурись.
4 Fedor-1971
 
02.09.14
13:32
2+ Только реши нужно ли тебе из формы записывать элемент справочника программно, если пользователь может и передумать его сохранять.
5 Fedor-1971
 
02.09.14
13:34
(3) согласен, только через получение объекта.
6 astraleuro
 
02.09.14
13:51
(1)
&НаСервере
Процедура ИзменениеРеквизита(РекСсылка);
    Объект = РекСсылка.ПолучитьОбъект();
    Объект.Реквизит = Объект.Реквизит + 1;
    Объект.Записать();
КонецПроцедуры

&НаКлиенте
Процедура РеквизитПлюс(Команда)
    ИзменениеРеквизита(ЭтаФорма.ТекущийЭлемент.ТекущиеДанные);
КонецПроцедуры

"Метод объекта не обнаружен (ПолучитьОбъект)" ЧЯДНТ?

P.S. Уж простите, если банальщину спрашиваю, новичек я совсем, и знаю, что надо книжки идти читать, но хочется же здесь и сейчас ))
7 Fedor-1971
 
02.09.14
13:53
посмотри отладчиком на тип ЭтаФорма.ТекущийЭлемент.ТекущиеДанные
8 astraleuro
 
02.09.14
15:24
(7) Ошибку понял, а как получить ссылку?

Объект = РекСсылка.Ссылка.ПолучитьОбъект();

не работает
9 mikecool
 
02.09.14
15:36
(8) в отладчике разверни РекСсылка и посмотри, что там есть
10 Fedor-1971
 
02.09.14
15:38
(8) В конфигураторе посмотри отладчиком что находится в ЭтаФорма.ТекущийЭлемент.ТекущиеДанные,

Попробуй так: Элементы.Список.ТекущаяСтрока (ТкущиеДанные) - Список это как у тебя называется реквизит формы, только учти, что при отсутствии записей для отображения и то и другое = неопределено.
11 astraleuro
 
02.09.14
15:48
(10) , Спасибо, разобрался ))

&НаСервере
Процедура ИзменениеРеквизита(РекСсылка);
    Объект = РекСсылка.ПолучитьОбъект();
    Объект.Реквизит = Объект.Реквизит + 1;
    Объект.Записать();
КонецПроцедуры

&НаКлиенте
Процедура РеквизитПлюс(Команда)
    ИзменениеРеквизита(Элементы.Список.ТекущаяСтрока);
    ЭтаФорма.Элементы.Список.Обновить();
КонецПроцедуры

P.S. (10) Ответ кстати нашел в "Проф. разработка в 1С8.2, изд.2" перед тем как увидел ваш коментарий, так что и впрямь, пойду книжки читать ))
Всем спасибо!
12 Fedor-1971
 
02.09.14
16:09
Забыл отработать вариант рекСсылка=Неопределено, в таком варианте не понятно что найдёт и попытается это записать.
По идее, список должен обновиться автоматически ...Список.Обновить(); возможно лишнее обновление.
13 Адский плющ
 
02.09.14
16:17
А можно было просто напилить команду.
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший