|
Как обратиться к реквизиту формы, а не к элементу формы? | ☑ | ||
---|---|---|---|---|
0
golem14
10.12.21
✎
09:23
|
Добавил на форму реквизит формы ТЗ с типом ТаблицаЗначений.
Заполнил его. Теперь хочу на клиенте в этой ТЗ найти строку ЭтотОбъект["ТЗ"].Найти() Получаю ошибку "Метод объекта не обнаружен (Найти)". Потому что ЭтотОбъект["ТЗ"] имеет тип ДанныеФормыКолекции. Как мне обратиться к реквизиту формы ТЗ, а не к элементу формы? |
|||
1
Ненавижу 1С
гуру
10.12.21
✎
09:25
|
(0) Найти это как-то не по фэньшую, используй НайтиСтроки
|
|||
2
golem14
10.12.21
✎
09:29
|
(1) спасибо, НайтиСтроки работает
|
|||
3
Kassern
10.12.21
✎
09:32
|
(0) РеквизитФормыВЗначение("ТЗ")
|
|||
4
Ненавижу 1С
гуру
10.12.21
✎
09:34
|
(3) НайтиСтроки умеет на клиенте
|
|||
5
golem14
10.12.21
✎
09:37
|
(3) Метод недоступен на клиенте
|
|||
6
Kassern
10.12.21
✎
09:37
|
(4) я в курсе, просто подсказал по теме топика, как получить ТЗ из коллекции. Может потом ТС захочет в запрос таблицу пихнуть.
|
|||
7
Kassern
10.12.21
✎
09:38
|
(5) а у вас где-то в топике указано, что обязательно на клиенте нужно?
|
|||
8
Kassern
10.12.21
✎
09:39
|
вопрос был как обратиться, я и ответил
|
|||
9
golem14
10.12.21
✎
09:39
|
так всё-таки не понятно почему по ЭтотОбъект["ТЗ"]
получаю не реквизит формы ТЗ с типом ТаблицаЗначений а элемент формы? |
|||
10
Kassern
10.12.21
✎
09:40
|
(9) потому что ТЗ нет на клиенте, там только коллекции. Почитайте за клиент-серверное взаимодействие
|
|||
11
golem14
10.12.21
✎
09:46
|
(10) понятно, то еть таблицазначений которая на форме она как таблицазначений только на сервере, а на клиенте она как ДанныеФормыКолекции.
|
|||
12
golem14
10.12.21
✎
09:48
|
и метод НайтиСтроки() в данном случае это не метод ТаблицыЗначений, а метод ДанныеФормыКоллекция.
|
|||
13
Kassern
10.12.21
✎
09:49
|
(12) именно так, хотя у ТЗ так же есть этот метод.
|
|||
14
Ненавижу 1С
гуру
10.12.21
✎
09:50
|
(9) не элемент, а реквизит получается, но они да - вот такие
(6) а может и нет, что и подтвердилось в (7) |
|||
15
golem14
10.12.21
✎
09:58
|
(14) не реквизит а представление реквизита на клиенте, с типом ДанныеФормыКоллекция.
|
|||
16
Kassern
10.12.21
✎
10:02
|
Не надо путать понятия:
ЭлементФормы - Это то, что вы на форму перетащили, обращаться можно через Элементы.ВашЭлемент //тут можно управлять видимостью, доступностью и т.д. РеквизитФормы - Это те реквизиты, которые были созданы на вкладке "Реквизиты" в форме. обращаться к ним можно сразу ВашРеквизит, без ЭтотОбъект. РеквизитОбъекта - Эту же объекты добавленные в структуру конфигурации/обработки, к ним можно обращаться в модуле объекта. Чтобы к ним обратиться на форме, можно использовать Объект.ВашРеквизит. Поэтому обращаясь ЭтотОбъект["ТЗ"] вы получаете не элемент формы, а его реквизит, только с типом коллекция, а не ТЗ, так как последний на клиенте не работает. |
|||
17
Kassern
10.12.21
✎
10:02
|
(16) это к (9)
|
|||
18
golem14
10.12.21
✎
10:12
|
(16) Объект.ТЗ это тоже ДанныеФормыКоллекция.
|
|||
19
Ненавижу 1С
гуру
10.12.21
✎
10:18
|
(15) новые термины))) поверь оно на сервере тоже ДанныеФормыКоллекция
|
|||
20
golem14
10.12.21
✎
10:38
|
(19) точно, пока не применить РеквизитФормыВЗначение()
|
|||
21
Ненавижу 1С
гуру
10.12.21
✎
10:40
|
(20) а когда применить - оно к форме никакого отношения не имеет - пока обратно не сделаешь ЗначениеВРеквизитФормы
|
|||
22
Kassern
10.12.21
✎
10:50
|
(18) "Объект.ТЗ" Вы не сможете таким образом обратиться, если ТЗ лишь реквизит формы. Словите "Поле объекта не обнаружено (ТЗ)"
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |