|
|
|
Как в модуле формы обратиться по индексу реквизита? | ☑ | ||
|---|---|---|---|---|
|
0
Shur1cIT
23.08.15
✎
11:35
|
переношу процедуру из модуля формы (обычные формы) в модуль документа,
естественно там нет "ЭлементыФормы" вопрос как по индексу заполнять и получать значения реквизита документа? Процедура ВосстановитьЗначенияФормы() Попытка Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ДанныеДляЗаполненияПП.Поле, | ДанныеДляЗаполненияПП.Значение |ИЗ | РегистрСведений.ДанныеДляЗаполненияПП КАК ДанныеДляЗаполненияПП |ГДЕ | ДанныеДляЗаполненияПП.Контрагент = &Контрагент | И ДанныеДляЗаполненияПП.Налоговый = &Налоговый | И ДанныеДляЗаполненияПП.Организация = &Организация"; Запрос.УстановитьПараметр("Контрагент",Контрагент); Запрос.УстановитьПараметр("Налоговый",ПеречислениеВБюджет); Запрос.УстановитьПараметр("Организация",Организация); Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл ЭлементыФормы[Выборка.Поле].Значение = Выборка.Значение; КонецЦикла; Исключение //Сообщить("Не удалось Востановить значения!: //|" + ИнформацияОбОшибке().Описание, СтатусСообщения.Важное); КонецПопытки; КонецПроцедуры |
|||
|
1
Апош
23.08.15
✎
11:36
|
на сервере у объекта
|
|||
|
2
jsmith82
23.08.15
✎
11:38
|
Реквизиты формы ты, наверно, имел в виду
Надо сигнатуру функцию расширить параметром типа Форма Просто же В типовых (обычные формы) сплошь распространено |
|||
|
3
Shur1cIT
23.08.15
✎
11:38
|
(1) объект может быть не записан
|
|||
|
4
Shur1cIT
23.08.15
✎
11:39
|
(2) процедура вызывается не только из формы , но и при создании и заполнении документа из обработки
|
|||
|
5
Shur1cIT
23.08.15
✎
11:42
|
то есть нужен универсальный механизм
что то вроде ТекущийОбъект["НазваниеРеквизита"] |
|||
|
6
NcSteel
23.08.15
✎
11:44
|
(0) Если это реквизит формы, то в модуле нет возможности к нему обратиться....
|
|||
|
7
Апош
23.08.15
✎
11:44
|
Объект[стр] подойдёт?
|
|||
|
8
NcSteel
23.08.15
✎
11:46
|
(7) В модуле документа: рукалицо ....
|
|||
|
9
Shur1cIT
23.08.15
✎
11:47
|
(6) это не реквизит формы это реквизит документа,
|
|||
|
10
NcSteel
23.08.15
✎
11:48
|
(9) Тогда просто пиши имя реквизита...
или через "ЭтотОбъект[ИмяРеквизита]" |
|||
|
11
Shur1cIT
23.08.15
✎
11:52
|
(10) если "ЭтотОбъект" не записан, а только в процессе заполнения ошибки не будет?
|
|||
|
12
jsmith82
23.08.15
✎
11:52
|
Магистратуры не хватает
|
|||
|
13
Shur1cIT
23.08.15
✎
11:53
|
(12) Точно!:-)
|
|||
|
14
jsmith82
23.08.15
✎
11:55
|
Великий товарищ, раз ты пишешь
ЭлементыФормы[Выборка.Поле].Значение значит, ты намекаешь на то, что реквизит может быть или у формы, или у объекта Иначе бы ты писал тупо ЭтотОбъект[Выборка.Поле] Разве не так? Раз ты решил процедуру мигрировать в модуль объекта, то необходимо расширить сигнатуру ВосстановитьЗначенияФормы(Форма) и обращаться ВосстановитьЗначенияФормы(ЭтаФорма) а внутри писать Форма[Выборка.Поле] |
|||
|
15
jsmith82
23.08.15
✎
11:56
|
То есть Форма.ЭлементыФормы[Выборка.Поле]
|
|||
|
16
NcSteel
23.08.15
✎
11:57
|
(11) А ты проверь
|
|||
|
17
jsmith82
23.08.15
✎
12:03
|
12 лет в профессии и такая каша в голове!
|
|||
|
18
Shur1cIT
23.08.15
✎
12:04
|
(17) иногда тупнях находит или начинаешь заморачиваться.... там где не надо
|
|||
|
19
jsmith82
23.08.15
✎
12:09
|
(18) Нет системы в голове. Ты, видимо, ещё не нашёл себя
|
|||
|
20
GROOVY
23.08.15
✎
13:15
|
Настройки элементов формы можно автоматом сохранять/восстанавливать из системного хранилища настроек, но можно и извратиться и описать свое, зачем использовать в 8.2(3) то что в (0) описано, я не очень понимаю.
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |