|
вызов функции из модуля формы в модуле документа в управляемых формах | ☑ | ||
---|---|---|---|---|
0
manti
13.11.12
✎
09:18
|
Сделал перепост.
В модуля формы есть такая процедура Код &НаКлиенте Процедура РМПриИзменении() Экспорт Для каждого стр из Объект.РабочееМесто Цикл стр.пометка = Ложь; КонецЦикла; ТекущаяСтрока = Элементы.РабочееМесто.ТекущиеДанные;//неправильное обращение Если НЕ ТекущаяСтрока = Неопределено Тогда ТекущаяСтрока.Пометка = истина; УстановитьПараметрСеанса(ТекущаяСтрока.Значение); Иначе УстановитьПараметрСеанса("Пусто"); КонецЕсли; ЗаполнитьСтраницу("Операции"); КонецПроцедуры 1. Manticor 13.11.12 9:14 Пришлось столкнуться с синтаксисом 8.2. В модуля формы есть такая процедура Код &НаКлиенте Процедура РМПриИзменении() Экспорт Для каждого стр из Объект.РабочееМесто Цикл стр.пометка = Ложь; КонецЦикла; ТекущаяСтрока = Элементы.РабочееМесто.ТекущиеДанные;//неправильное обращение Если НЕ ТекущаяСтрока = Неопределено Тогда ТекущаяСтрока.Пометка = истина; УстановитьПараметрСеанса(ТекущаяСтрока.Значение); Иначе УстановитьПараметрСеанса("Пусто"); КонецЕсли; ЗаполнитьСтраницу("Операции"); КонецПроцедуры Данная процедура нужня для перезаполнения формы. &НаСервере Процедура ЗаполнитьСтраницу(Параметр) Если Параметр = "РабочиеМеста" Тогда Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ПользователиРабочихМест.РабочееМесто |ИЗ | Справочник.ПользователиРабочихМест КАК ПользователиРабочихМест |ГДЕ | ПользователиРабочихМест.ДоступноПользователям.Пользователь = &Пользователь | И ПользователиРабочихМест.РабочееМесто.РМ_Варки = ИСТИНА"; ЭтотОбъект.РабочееМесто.Очистить(); Запрос.УстановитьПараметр("Пользователь", ПараметрыСеанса.Пользователь); Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл НовСтрока = ЭтотОбъект.РабочееМесто.Добавить();//неправильное обращение НовСтрока.Значение = Выборка.РабочееМесто; НовСтрока.Пометка = Ложь; КонецЦикла; как ее вызвать из модуля документа? какие директиывы прописать? пишет Поле объекта не обнаружено (ТекущиеДанные) ТекущаяСтрока = ЭтотОбъект.РабочееМесто.ТекущиеДанные;(вместо элементов пишу ЭтотОбъект) |
|||
1
zak555
13.11.12
✎
09:22
|
это по ходу г@внокод
|
|||
2
butterbean
13.11.12
✎
09:22
|
Никак, и не надо.
В модуле объекта нечего делать элементам формы |
|||
3
manti
13.11.12
✎
09:23
|
(2) нужно просто вызвать эти процедуры из модуля для перезаполнения.
|
|||
4
butterbean
13.11.12
✎
09:24
|
(3) но не из модуля документа
|
|||
5
zak555
13.11.12
✎
09:30
|
перенсти в модуль менеджера
|
|||
6
Поросенок Петр
13.11.12
✎
09:31
|
Всё удалить к е.ф. и переписать нормально.
ПыСы: Не вижу причин использовать модуль менеджера. |
|||
7
Aprobator
13.11.12
✎
09:33
|
за одну тока тему надо лишать почетного звания 1С-ника.
|
|||
8
Aprobator
13.11.12
✎
09:35
|
Форма на то и форма, чтобы в ней находились тока процедуры и функции для интерактивной работе. Процедуры заполнения и изменения объекта (не все правда, но если подразумевается их вызов не из модуля формы) должны находится в модуле объекта.
|
|||
9
manti
13.11.12
✎
09:36
|
(5) перемести в модуль менеджера эту процедуру
&НаСервере Процедура ЗаполнитьСтраницу(Параметр) Переменная не определена (ЭтотОбъект) <<?>>ЭтотОбъект.РабочееМесто.Очистить(); (Проверка: Сервер) Расскажите пожалуйста подробнее о менеджере, его тут можно использовать в моем случае? |
|||
10
Aprobator
13.11.12
✎
09:43
|
а - здесь вообще речи о заполнении не идет, во я лошара.
(9) обращение к элементам формы может быть только из модуля формы. Если надо, чтобы что то было доступно в модуле объекта, то либо пишем данные в реквизит объекта либо в экспортную переменную модуля объекта. Модуль менеджера объекта тут не при чем. Хотя непонятно, почему не отдать нужное значение в модуль объекта тупо через параметры функции или процедуры? |
|||
11
Defender aka LINN
13.11.12
✎
09:46
|
(8) "Процедуры заполнения и изменения объекта (не все правда, но если подразумевается их вызов не из модуля формы) должны находится в модуле объекта." - сфигали? Для этого как раз и придуман модуль менеджера, т.к. объекта у тебя может и не быть, только данные формы.
|
|||
12
Aprobator
13.11.12
✎
09:49
|
(11) это как - заполнение объекта, а объекта может и не быть?
|
|||
13
manti
13.11.12
✎
09:49
|
(10) почему не отдать нужное значение в модуль объекта тупо через параметры функции или процедуры
так а как это сделать да в модуле объекта? что конкретно нужно изменить для экспорта |
|||
14
Aprobator
13.11.12
✎
09:51
|
(13) тогда вообще не понял. Пытаешься обратиться к процедуре неоткрытой формы и получить информацию с формы?
|
|||
15
Aprobator
13.11.12
✎
09:52
|
впрочем по модулю менеджера могу и тупить конечно. На УФ мозг еще не переключился. Надо будет найти время и типовое посмотреть. Учитывая то, кто меня пнуть пытается )
|
|||
16
manti
13.11.12
✎
09:58
|
(13) честно сам впервой с УФ работаю потому буду рад любой инфе. Получается что так- форма еще не открыта, но в модуле формы есть процедуры, их нужно вызвать для перезаполнения
|
|||
17
Поросенок Петр
13.11.12
✎
09:59
|
Делать процедуру в модуле менеджера, чтобы туда можно было посылать и объект и данные формы... Негигиенично это.
|
|||
18
Aprobator
13.11.12
✎
10:00
|
(16) методологически не верный подход. Таких процедур в модуле формы быть не должно. Вне зависимости от использования УФ или обычных форм.
|
|||
19
manti
13.11.12
✎
10:11
|
(16) что нужно поменять по методе?
|
|||
20
Defender aka LINN
13.11.12
✎
10:32
|
(12) Посмотри тип значения переменной "Объект" в модуле формы
|
|||
21
Defender aka LINN
13.11.12
✎
10:33
|
(17) Ваш вариант?
|
|||
22
Поросенок Петр
13.11.12
✎
11:41
|
(21) Заполнение в модуле объекта. Если нужно из формы, получать объект через РеквизитВЗначение...
|
|||
23
Defender aka LINN
13.11.12
✎
12:31
|
(22) Еще один...
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |