Имя: Пароль:
1C
 
Вызвать метод документа из формы этого документа
,
0 laby1
 
22.01.16
13:34
Волшебниики!!!

Как мне вызвать метод ПолучитьКачество, описанный в модуле документа из формы этого документа?

Код в форме (не работает):

&НаКлиенте
Процедура ПеремещениеИзТочкиПриИзменении(Элемент)
    П = Элементы.Перемещение.ТекущиеДанные;
    П.КачествоРасчетное = Объект.ПолучитьКачество(П.ИзТочки);
    П.Качество = П.КачествоРасчетное;
    ПеремещениеИзТочкиПриИзмененииНаСервере();
КонецПроцедуры

Код в модуле документа (работает):

Функция ПолучитьКачество(ПоТочке) Экспорт;
    
    НаДату=МоментВремени();
    
    Если ПоТочке.Родитель =  Справочники.ТочкиДвижения.Точки1 Тогда
        
        // Для Точки1 берем из регистра сведений КачествоТочки1
        
        Отбор = Новый Структура;
        Отбор.Вставить("Точка",ПоТочке);
        Возврат РегистрыСведений.КачествоТочки1.ПолучитьПоследнее(МоментВремени(), Отбор).Качество;
        
    Иначе    
        
        // Для Остальных берем из регистра накопления ...

    КонецЕсли;
        
КонецФункции
1 Mankubus
 
22.01.16
13:42
поиск для слабаков?
http://bfy.tw/3rKP
2 asady
 
22.01.16
13:42
(0) погули вызов функций из модуля объекта(0)
v8: 1с 8.2 вызов процедуры в  модуле формы
3 laby1
 
22.01.16
13:44
(1) Я уже гуглил час и яндексировал час ...
4 Mankubus
 
22.01.16
13:44
(3) ЗначениеВРеквизитФормы
5 Mankubus
 
22.01.16
13:45
(4) то есть наоборот
6 Любопытная
 
22.01.16
13:47
+(4) ЗначениеВРеквизитФОрмы и делать это на сервере
7 Рэйв
 
22.01.16
13:47
(0)
Вызови с клиента:


&НаСервере
Функция ПолучитьКачество(ИзТочки)
   Об=РеквизитФормыВЗначение("Объект")№
   Ответ=Об.ПолучитьКачество(ИзТочки);
   Возврат Ответ;
КонецФункции
8 Рэйв
 
22.01.16
13:48
ИзТочки - параметр, в него передашь П.ИзТочки с клиента.
А то щас еще на 100 постов зависнешь:-)...
9 GROOVY
 
22.01.16
13:49
Тут главное понять, что так кодить не надо.
10 laby1
 
22.01.16
13:53
Ладно, допустим никак - допустим тогда я переношу код в форму

&НаСервере
Функция ДайКачество(Точка)
    Отбор = Новый Структура;
    Отбор.Вставить("Точка1",ПоТочке);
    Возврат РегистрыСведений.КачествоТочки1.ПолучитьПоследнее(МоментВремени(), Отбор).Качество;

, но тогда:

{Документ.Перемещение.Форма.ФормаДокумента.Форма(207,61)}: Процедура или функция с указанным именем не определена (МоментВремени)
11 Рэйв
 
22.01.16
13:54
(10)Чукча не читатель? Чукча писатель?(С)
12 laby1
 
22.01.16
13:56
(11) Где читать?
13 Рэйв
 
22.01.16
13:57
(12)тут ->(7)(8)
14 laby1
 
22.01.16
13:58
(13) Да пока писал не заметил, ща почитаю )
15 laby1
 
22.01.16
13:58
объект это реквизит формы однако
16 Рэйв
 
22.01.16
13:59
(15)Однако. Чтото смущает?
17 laby1
 
22.01.16
14:04
(16) Не, я просто думал раньше что это волшебное слово, а оказалось реквизит
18 laby1
 
22.01.16
14:05
(7) Ура, зарррработала!!!! Рэйв, спасибки!!!


Новые волшебные слова теперь есть:

РеквизитФормыВЗначение("Объект").ПолучитьКачество(Точка)
19 hhhh
 
22.01.16
14:06
(17) так всегда было. Он всегда был реквизитом.
20 laby1
 
22.01.16
14:06
(19) Да понял, просто сразу не въехал
21 laby1
 
22.01.16
14:08
Только я не пойму почему нельзя Объект.ПолучитьКачество(Точка)
22 GROOVY
 
22.01.16
14:08
(18) Еще раз повторю, что создавать копию прикладного объекта, производить синхронизацию данных формы, для того чтобы получить циферку - это, мягко говоря, не очень хорошо. Точнее это бредятина полная.
23 GROOVY
 
22.01.16
14:09
(21) Потому что "Объект" - это не прикладной объект, а данные формы.
24 laby1
 
22.01.16
14:09
(22) Чего?
25 Рэйв
 
22.01.16
14:09
(18)не забуди загуглить в СП второе волшебное  слово:
ЗначениеВРеквизитФормы()
:-)
они чаще в паре идут.я просто не сталь использовать потому что в объекте ничего не менял
26 Рэйв
 
22.01.16
14:10
(22)Ну если он хочет именно из модуля объекта, не отнимать же ляльку  у ребенка:-)
27 laby1
 
22.01.16
14:10
ничо не понял
28 Рэйв
 
22.01.16
14:11
(27)Посмотри в табло при отладке тип значения Объект и Об
Может понятнее станет.
29 hhhh
 
22.01.16
14:12
(27) теперь есть модуль менеджера. Там пиши все функции, а не в модуле объекта.
30 laby1
 
22.01.16
14:30
(29) Обработчики событий все равно в модуле объекта? Сами вызовы