|
ДеревоЗначений как реквизит формы или как реквизит объекта? | ☑ | ||
---|---|---|---|---|
0
zelenprog
23.06.23
✎
09:17
|
Здравствуйте!
Для пакетного изменения контрагентов делаем обработку. Она читает из базы по некоторому условию список контрагентов, отображает их в дереве на форме. Затем пользователь выбирает (отмечает) контрагента (одного или несколько). И нажимает кнопку, которая меняет у выбранных контрагентов нужную информацию (записывает эту информацию по выбранным контрагентам в базу). Затем на форме информация в списке (в дереве) контрагентов должна также обновиться. Подскажите, где лучше разместить ДеревоЗначенийКонтрагентов? Как реквизит формы или как реквизит объекта обработки? В чем разница этих двух вариантов с точки зрения дальнейшей обработки этого дерева значений? Объясните пожалуйста. |
|||
1
НафНаф
23.06.23
✎
09:31
|
(0) Реквизиты объекта доступны как в модуле самого объекта, так и формах объекта. Реквизиты формы только в форме. В другие места их надо передавать. Логично?
|
|||
2
zelenprog
23.06.23
✎
09:38
|
(1) Ага, это я понял.
А если в обработке будет только одна форма? Тогда получается что нету никакой разницы сделать ли дерево реквизитом формы или реквизитом объекта. Правильно я понимаю? |
|||
3
Donkey_hot
23.06.23
✎
09:40
|
(0) Если планируется только интерактивный режим, то большой разницы нет. Если же планируете реализовать програмнный интерфейс (например, для запуска в фоновом режиме по расписанию) то логичнее создать реквизит объедка
|
|||
4
zelenprog
23.06.23
✎
09:56
|
(3) Понял, спасибо.
|
|||
5
zelenprog
23.06.23
✎
10:07
|
А подскажите плиз еще вот в этой теме, про частичное обновление (пере-заполнение) элемента-таблицы формы, отображающей реквизит ДеревоЗначений:
|
|||
6
zelenprog
23.06.23
✎
10:07
|
||||
7
zelenprog
23.06.23
✎
10:18
|
(1), (3)
А какие методы надо использовать для реквизита объекта обработки в процедуре &НаСервере вместо методов "РеквизитФормыВЗначение" и "ЗначениеВРеквизитФормы"? |
|||
8
Donkey_hot
23.06.23
✎
10:44
|
(7) Как раз чтобы перейти к работе с объекту (его реквизитам и экспортным методам модуля), вам и необходимо преобразовать данные формы в реальный тип ОбработкаОбъект (РеквизитФормыВЗначение). Обратное преобразование нужно, если объект был модифицирован (к примеру, была перезаполнена ваша пресловутая таблица контрагентов).
|
|||
9
zelenprog
23.06.23
✎
10:51
|
(8) В общем это я понимаю.
Но у меня более конкретный вопрос - как обращаться к реквизитам объекта-обработки из процедур &НаСервере? Когда у меня в обработке был реквизит формы "ДЗКонтрагенты", то метод "лДЗ = РеквизитФормыВЗначение("ДЗКонтрагенты")" работал. А когда я вместо реквизита формы "ДЗКонтрагенты" сделал реквизит объекта "ДЗКонтрагенты", то этот метод перестал работать. Выдает ошибку: "Недопустимое значение параметра (параметр номер '1')". |
|||
10
zelenprog
23.06.23
✎
11:40
|
Такой вопрос.
В окне обработки в реквизитах добавлен реквизит "ДЗКонтрагенты", тип значения - "ДеревоЗначений", в окне "Свойства" есть возможность изменения его свойств. Почему в окне формы этот реквизит отображается с типом "(ДеревоЗначений)" и его свойства недоступны? |
|||
11
zelenprog
23.06.23
✎
12:07
|
(8)
Получается, что к самому реквизиту обработки "ДЗКонтрагенты" с типом "ДеревоЗначений" вообще ниоткуда нельзя обратиться и работать с ним? Только либо через "прослойку" РеквизитФормыВЗначение, либо через обращение к "представлению" ДанныеФормыДерево. Верно я понимаю? |
|||
12
Donkey_hot
23.06.23
✎
12:46
|
(11) Из модуля объекта можно обратиться. Но чтобы дергать методы модуля объекта, необходим, собственно, объект. Это абсолютно стандартная практика.
|
|||
13
zelenprog
23.06.23
✎
14:34
|
(12) Ну при открытии обработки Объект всегда создается.
Правильно? |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |