Имя: Пароль:
1C
1С v8
УФ. Как обратиться к процедуре модуля объекта из модуля формы
0 Skif_asu
 
01.07.15
21:20
Как обратиться к процедуре модуля объекта из модуля формы.

Форма:
&НаСервере
Процедура ПрочитатьНаСервере()
    Квартал = ЭтаФорма.Реквизит1;
    
КонецПроцедуры

&НаКлиенте
Процедура Прочитать(Команда)
    ПрочитатьНаСервере();
    
КонецПроцедуры


Модуль объекта:
Перем КварталМод Экспорт;  
  
Процедура ОбработкаКвартала()  Экспорт

    

КонецПроцедуры // ОбработкаКвартала()

Экспортные функции и процедуры не видны.
1 Garykom
 
гуру
01.07.15
21:21
Объект.ОбработкаКвартала(); если я ничего не путаю
2 Skif_asu
 
01.07.15
21:22
Как передать значения из модуля формы в процедуру модуля объекта
3 Skif_asu
 
01.07.15
21:22
(1) в ОФ, да. Тут, не срабатывает
4 Лефмихалыч
 
01.07.15
21:23
(1) путаешь


&НаКлиенте
Процедура СсылкаНаОбъектПриИзменении(Элемент)
    СсылкаНаОбъектПриИзмененииНаСервере();
КонецПроцедуры

&НаСервере
Процедура СсылкаНаОбъектПриИзмененииНаСервере()
    ОбработкаОбъект = РеквизитФормыВЗначение("Объект");
    ОбработкаОбъект.СделатьВсёПравильно();
    ЗначениеВРеквизитФормы(ОбработкаОбъект, "Объект");    
КонецПроцедуры
5 Garykom
 
гуру
01.07.15
21:25
(4) а, я же обычно модуль менеджера юзаю уже
6 RomanYS
 
01.07.15
21:26
(5) они для разных целей, "обычно" здесь не очень уместно
7 EvgeniuXP
 
01.07.15
21:26
(0) в модуле формы на сервере получить объект, потом вызвать у этого объекта процедуру/функцию объекта.
8 Garykom
 
гуру
01.07.15
21:28
(6) хм готов поспорить что для задачи ТС нужен именно "модуль менеджера"
9 Лефмихалыч
 
01.07.15
21:31
(8) думаю, что проспоришь
10 Skif_asu
 
01.07.15
21:31
(8) Не знаю чушь, или нет. я новичок) У меня во внешней обработке нет модуля менеджера)
11 Лефмихалыч
 
01.07.15
21:32
(10) в (4) понятно или разжевать нужно?
12 Garykom
 
гуру
01.07.15
21:33
(11) мда уже явно модуль телепатии в (4) поновее чем у меня, как узнал что внешняя обработка ?
13 Лефмихалыч
 
01.07.15
21:34
(12) понятия не имею - оно само как-то, но я в этом почему-то уверен был с самого начала :)
14 Skif_asu
 
01.07.15
21:36
(11) РеквизитФормыВЗначение("Объект")."Объект" - это название реквизита?
ОбработкаОбъект.СделатьВсёПравильно() - Для данного реквизита мы вызываем функцию модуля формы?
15 EvgeniuXP
 
01.07.15
21:39
Гилев - базовый курс - первые 8 часов бесплатно - там разжевано.
16 Skif_asu
 
01.07.15
21:40
(15) Уже скачал) Завтра начну.
17 EvgeniuXP
 
01.07.15
21:40
на крайняк там разжевано: http://fs.kursypo1c.ru/free/1Cv8-Platform/OrdinaryAndManagedForms.rar
18 RomanYS
 
01.07.15
21:41
(8) модуль менеджера по сути мало чем отличается от общих модулей, модуль же объекта выполняется в совершенно конкретном контексте объекта. Как можно "обычно" использовать одно вместо другого непонятно: передавать объект в каждый метод параметром?
В данном конкретном случае допускаю, что подойдет модуль менеджера. Хотя неизвестно, что там считает ТС.
19 Лефмихалыч
 
01.07.15
21:42
(14) "Объект" - это имя основного реквизита формы, у которого тип ОбработкаОбъект. У форм справочника этот реквизит будет иметь тип СправочникОбъект, у документа.. ну ты понял

СделатьВсёПравильно() - это как раз экспортная процедура модуля обработки
20 Лефмихалыч
 
01.07.15
21:43
(18) если нормально разрабатывать прямыми руками, то в модуле объекта экспортных методов будет чуть-чуть да маленько, а большая часть всего экспортного будет как раз в модуле менеджера
21 Господин ПЖ
 
01.07.15
21:46
>модуль менеджера по сути мало чем отличается от общих модулей

никуа подобного...

модуль менеджера это еще один шаг в сторону ООП

там методы класса.

в модуле объекта - методы экземпляра

меньше всякой срани будет в общих модулях и в модулях объекта
22 RomanYS
 
01.07.15
21:52
(21) "по сути" (про ООП) ни капли не убедил
А с этим согласен на 100%:
"меньше всякой срани будет в общих модулях и в модулях объекта"
23 Лефмихалыч
 
01.07.15
21:55
NNNOOOOOOOO!!!!11111 только не о-о-пэ-срачь!..
24 Господин ПЖ
 
01.07.15
21:57
>"по сути" (про ООП) ни капли не убедил

зачем тебя убеждать?

модуль менеджера -> static в c#
25 Господин ПЖ
 
01.07.15
21:57
(23) да начнется СВЯЩЕННЫЙ СРААААЧ!
26 Лефмихалыч
 
01.07.15
21:59
27 RomanYS
 
01.07.15
22:00
(24) ладно всё равно все останутся при своих
Для моего развития расскажи, чем являются общие модули в с#
28 Господин ПЖ
 
01.07.15
22:05
29 EvgeniuXP
 
01.07.15
22:38
(27) Троелсона возьми там всё написано - 1300 стр. C# 5.0.
30 RomanYS
 
01.07.15
23:10
(29) Троелсон знает, что такое общие модули 1с?
31 Господин ПЖ
 
01.07.15
23:22
Рукалицо... можешь рассматривать их как методы вспомогательных классов не имеющих своей сущности и линии жизни - в терминах DDD - сервисы

Пихать методы напрямую в пространство имен - так в реалии кто-то делает?
32 EvgeniuXP
 
01.07.15
23:27
(30) ну ты же знаешь - сопоставить потом не долго :)
33 RomanYS
 
01.07.15
23:50
(32) Ну на данном этапе у меня интерес к c#, приблизительно такой же как у Троелсона к 1с. И этого явно недостаточно чтобы поднимать тома в 1300 стр.
Голое любопытство и больше даже не вопросом, а мнением Господина ПЖ. Оно (31) вполне удовлетворено)
34 romix
 
01.07.15
23:58
Перенести в модуль менеджера.
Вызывать с параметром ЭтотОбъект.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший