|
Поле объекта недоступно для записи | ☑ | ||
---|---|---|---|---|
0
lampa241186
12.12.17
✎
17:01
|
Доброго дня коллеги. добавил реквизит тип булево, потом добавил колонку с помощью размещения данных тоже тип булево на форму списка документов.
Потом выделю строку с документом и нажимаю на кнопку в которой следующий код: ТекСтрока = ЭтаФорма.ЭлементыФормы.Список.ТекущаяСтрока; Если ЗначениеЗаполнено(ТекСтрока.Ссылка) Тогда ТекСтрока.СтатусКнопки = Истина; Хочу что-бы при нажатии на кнопку ставился признак Истина. я ей уже и режим редактирования - "Непосредственно" поставил. И всё равно при нажатии на кнопку пишет: {Документ.ЗаказПокупателя.Форма.ФормаСписка.Форма(223)}: Поле объекта недоступно для записи (СтатусКнопки) ТекСтрока.СтатусКнопки = Истина; |
|||
1
Fish
12.12.17
✎
17:02
|
(0) А что СП по этому поводу говорит?
|
|||
2
vicof
12.12.17
✎
17:08
|
ЭлементыФормы.Список.ТекущиеДанные
|
|||
3
lampa241186
12.12.17
✎
17:20
|
Не помогло, пишет ту же ошибку
|
|||
4
hhhh
12.12.17
✎
17:27
|
(3) документы нельзя редактировать "Непосредственно". Это вообще нигден не предусмотрен такой изврат.
|
|||
5
lampa241186
12.12.17
✎
17:28
|
(4) я не редактирую документ, у меня этого реквизита нет в документе. я его вывел на форму списка и при нажатии кнопки по выделенной строке должна проставляться галочка.
|
|||
6
Волшебник
модератор
12.12.17
✎
17:29
|
не вижу ПолучитьОбъект()
|
|||
7
hhhh
12.12.17
✎
17:29
|
(3) что-то типа
Док = ТекСтрока.Ссылка.ПолучитьОбъект(); меняете нужные вам реквизиты документа Док.Записать(); |
|||
8
Cyberhawk
12.12.17
✎
17:29
|
Изменяй данные
|
|||
9
lampa241186
12.12.17
✎
17:33
|
Повторяюсь у меня просто колонка добавлена на форму списка - тип булево. выбираем в списке документ нажимаем на кнопку и и должна проставиться галка в этом списке. я не добовлял реквизит на форму документа, вроде всё просто а с такой ошибкой впервые сталкиваюсь. Зачем обращаться к документу, если есть "ТекСтрока" и если пройтись отладчиком то там есть "СтатусКнопки" она содержит тип булево
|
|||
10
Волшебник
модератор
12.12.17
✎
17:35
|
(9) Чувак, оно недоступно для записи.
Все изменения только через ДокументОбъект |
|||
11
3achem
12.12.17
✎
17:35
|
(9) Ну значит продолжай делать так как ТЫ считаешь правильным, однажды у тебя получится добиться необходимого результата. Удачи.
|
|||
12
Cyberhawk
12.12.17
✎
17:36
|
Путь к данным какой у столбика?
|
|||
13
hhhh
12.12.17
✎
17:37
|
(9) ты наверно не привязал эту клетку ни к каким данным, к документу она не привязана.
значит у тебя при перерисовке формы и при листании списка всё равно будет пустое поле выводиться. |
|||
14
lampa241186
12.12.17
✎
17:41
|
ТекСтрока = ЭтаФорма.ЭлементыФормы.Список.ТекущаяСтрока;
Если ЗначениеЗаполнено(ТекСтрока.Ссылка) Тогда Док = ТекСтрока.Ссылка.ПолучитьОбъект(); Док.СтатусКнопки = Истина; не помогло, но ошибка пропала. Я СтатусКнопки добавил в реквизиты, тип у неё булево. ДанныеФлажка стоит - СтатусКнопки |
|||
15
Волшебник
модератор
12.12.17
✎
17:42
|
(14) Не вижу Док.Записать();
|
|||
16
lampa241186
12.12.17
✎
17:43
|
Поясните, зачем записать?
|
|||
17
Волшебник
модератор
12.12.17
✎
17:44
|
(16) Чтобы в базу записалось
|
|||
18
Новиков
12.12.17
✎
17:45
|
(17) он очевидно в таблице хочет галками что-то выделить, а не объект сам модифировать, у него и реквизита то нет такого. Типа пометил что-то там и дальше согласно музыке в его голове.
Так тс? |
|||
19
lampa241186
12.12.17
✎
17:46
|
(17) Всё)) вечер туплю, извините, что потревожил. Всем огромное спасибо, особенно волшебнику и вправду волшебник.
Нужно же любое изменение записывать))) ТекСтрока = ЭтаФорма.ЭлементыФормы.Список.ТекущаяСтрока; Если ЗначениеЗаполнено(ТекСтрока.Ссылка) Тогда Док = ТекСтрока.Ссылка.ПолучитьОбъект(); Док.СтатусКнопки = Истина; Док.Записать(); |
|||
20
lampa241186
12.12.17
✎
17:46
|
(18) Реквизит есть но на форме документа нет
|
|||
21
Новиков
12.12.17
✎
17:48
|
Ну раз тебе реквизит документа надо менять, ты хотя бы в попытку оберни Док.Записать(); - иначе может звиздец когда-то к тебе постучаться снизу
|
|||
22
lampa241186
12.12.17
✎
17:52
|
(21) Спасибо.
|
|||
23
lampa241186
12.12.17
✎
18:03
|
Если вдруг кому, вот рабочий код.
Если ЗначениеЗаполнено(ТекСтрока.Ссылка) Тогда Док = ТекСтрока.Ссылка.ПолучитьОбъект(); Док.ГотовКОтгрузке = Истина; Попытка Док.Записать(); Исключение ОбщегоНазначения.СообщитьОбОшибке("Не удалось установить статус: "+ОписаниеОшибки()); КонецПопытки; |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |