|
Поле объекта недоступно для записи
|
Я
|
|
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 | |
lampa241186 23 - 12.12.17 - 18:03 | Если вдруг кому, вот рабочий код.
Если ЗначениеЗаполнено(ТекСтрока.Ссылка) Тогда
Док = ТекСтрока.Ссылка.ПолучитьОбъект();
Док.ГотовКОтгрузке = Истина;
Попытка
Док.Записать();
Исключение
ОбщегоНазначения.СообщитьОбОшибке("Не удалось установить статус: "+ОписаниеОшибки());
КонецПопытки; |
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.