Вход | Регистрация


1С:Предприятие :: 1С:Предприятие 8 общая

Поле объекта недоступно для записи

Поле объекта недоступно для записи
Я
   lampa241186
 
12.12.17 - 17:01
Доброго дня коллеги. добавил реквизит тип булево, потом добавил колонку с помощью размещения данных тоже тип булево на форму списка документов.
Потом выделю строку с документом и нажимаю на кнопку в которой следующий код:

 ТекСтрока = ЭтаФорма.ЭлементыФормы.Список.ТекущаяСтрока;
 Если ЗначениеЗаполнено(ТекСтрока.Ссылка) Тогда 
 ТекСтрока.СтатусКнопки = Истина;

Хочу что-бы при нажатии на кнопку ставился признак Истина.
я ей уже и режим редактирования - "Непосредственно" поставил.

И всё равно при нажатии на кнопку пишет:

{Документ.ЗаказПокупателя.Форма.ФормаСписка.Форма(223)}: Поле объекта недоступно для записи (СтатусКнопки)
 ТекСтрока.СтатусКнопки = Истина;
 
 
   Fish
 
1 - 12.12.17 - 17:02
(0) А что СП по этому поводу говорит?
   vicof
 
2 - 12.12.17 - 17:08
ЭлементыФормы.Список.ТекущиеДанные
   lampa241186
 
3 - 12.12.17 - 17:20
Не помогло, пишет ту же ошибку
   hhhh
 
4 - 12.12.17 - 17:27
(3) документы нельзя редактировать "Непосредственно". Это вообще нигден не предусмотрен такой изврат.
   lampa241186
 
5 - 12.12.17 - 17:28
(4) я не редактирую документ, у меня этого реквизита нет в документе. я его вывел на форму списка и при нажатии кнопки по выделенной строке должна проставляться галочка.
   Волшебник
 
Модератор
6 - 12.12.17 - 17:29
не вижу ПолучитьОбъект()
   hhhh
 
7 - 12.12.17 - 17:29
(3) что-то типа
Док = ТекСтрока.Ссылка.ПолучитьОбъект();

меняете нужные вам реквизиты документа

Док.Записать();
   Cyberhawk
 
8 - 12.12.17 - 17:29
Изменяй данные
   lampa241186
 
9 - 12.12.17 - 17:33
Повторяюсь у меня просто колонка добавлена на форму списка  - тип булево. выбираем в списке документ нажимаем на кнопку и и должна проставиться галка в этом списке. я не добовлял реквизит на форму документа, вроде всё просто а с такой ошибкой впервые сталкиваюсь. Зачем обращаться к документу, если есть "ТекСтрока" и если пройтись отладчиком то там есть "СтатусКнопки" она содержит тип булево
   Волшебник
 
Модератор
10 - 12.12.17 - 17:35
(9) Чувак, оно недоступно для записи.

Все изменения только через ДокументОбъект
 
 Рекламное место пустует
   3achem
 
11 - 12.12.17 - 17:35
(9) Ну значит продолжай делать так как ТЫ считаешь правильным, однажды у тебя получится добиться необходимого результата. Удачи.
   Cyberhawk
 
12 - 12.12.17 - 17:36
Путь к данным какой у столбика?
   hhhh
 
13 - 12.12.17 - 17:37
(9) ты наверно не привязал эту клетку ни к каким данным, к документу она не привязана.

значит у тебя при перерисовке формы и при листании списка всё равно будет пустое поле выводиться.
   lampa241186
 
14 - 12.12.17 - 17:41
ТекСтрока    = ЭтаФорма.ЭлементыФормы.Список.ТекущаяСтрока;
    Если ЗначениеЗаполнено(ТекСтрока.Ссылка) Тогда
        Док = ТекСтрока.Ссылка.ПолучитьОбъект();
    Док.СтатусКнопки = Истина;

не помогло, но ошибка пропала.

Я СтатусКнопки  добавил в реквизиты, тип у неё булево.

ДанныеФлажка стоит -  СтатусКнопки
   Волшебник
 
Модератор
15 - 12.12.17 - 17:42
(14) Не вижу Док.Записать();
   lampa241186
 
16 - 12.12.17 - 17:43
Поясните, зачем записать?
   Волшебник
 
Модератор
17 - 12.12.17 - 17:44
(16) Чтобы в базу записалось
   Новиков
 
18 - 12.12.17 - 17:45
(17) он очевидно в таблице хочет галками что-то выделить, а не объект сам модифировать, у него и реквизита то нет такого. Типа пометил что-то там и дальше согласно музыке в его голове.

Так тс?
   lampa241186
 
19 - 12.12.17 - 17:46
(17) Всё)) вечер туплю, извините, что потревожил. Всем огромное спасибо, особенно волшебнику и вправду волшебник.

Нужно же любое изменение записывать)))
ТекСтрока    = ЭтаФорма.ЭлементыФормы.Список.ТекущаяСтрока;
    Если ЗначениеЗаполнено(ТекСтрока.Ссылка) Тогда
        Док = ТекСтрока.Ссылка.ПолучитьОбъект();
    Док.СтатусКнопки = Истина;
       Док.Записать();
   lampa241186
 
20 - 12.12.17 - 17:46
(18) Реквизит есть но на форме документа нет
   Новиков
 
21 - 12.12.17 - 17:48
Ну раз тебе реквизит документа надо менять, ты хотя бы в попытку оберни Док.Записать(); - иначе может звиздец когда-то к тебе постучаться снизу
   lampa241186
 
22 - 12.12.17 - 17:52
(21) Спасибо.
   lampa241186
 
23 - 12.12.17 - 18:03
Если вдруг кому, вот рабочий код.

Если ЗначениеЗаполнено(ТекСтрока.Ссылка) Тогда
        
             Док = ТекСтрока.Ссылка.ПолучитьОбъект();
    Док.ГотовКОтгрузке = Истина;
       Попытка
        Док.Записать();
        
    Исключение
       ОбщегоНазначения.СообщитьОбОшибке("Не удалось установить статус: "+ОписаниеОшибки());
   КонецПопытки;


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует