helpf.pro
Регистрация

v8: МодульФормы

Kamil
08.01.2014 15:14Прочитано: 3652
Как обратиться к процедуре в модуле объекта из модуля формы??? Процедура указана Эскпортом... СРОЧНО!!! Заранее благодарю!!!
Изменено 08.01.14 15:18:01
Yandex
Возможно, вас также заинтересует
Реклама на портале
Bell
08.01.2014 18:02Ответ № 1
Модуль формы

Процедура ААА()
МояПроцедураОбъекта();
КонецПроцедура

Модуль объекта

Процедуара МояПроцедураОбъекта() Экспорт

КонецПроцедуры
Kamil
09.01.2014 09:50Ответ № 2
МодульФормы

Процедура ЗагрузитьДанные()
КонецПроцедуры

МодульОбъекта

Процедура МояПроцедура () Экспорт
ЗагрузитьДанные();
КонецПроцедуры


Вот так должно быть!!!
AndrewEv
09.01.2014 11:42Ответ № 3
в управляемых формах:

в форме

&НаСервере
Процедура ВМодулеФормы()
Об = РеквизитФормыВЗначение("Объект");
Об.ВМодулеОбъекта();
Об = Неопределено;
КонецПроцедуры

в мод.объекта

Процедура ВМодулеОбъекта() экспорт
КонецПроцедуры
Kamil
09.01.2014 12:32Ответ № 4
Нужно в обычном приложении
Kamil
09.01.2014 15:23Ответ № 5
Возможно ли это или нет??????????????
Mokey
09.01.2014 16:18Ответ № 6
Возможно, выше пример даже есть
в модуле формы пишем
ЭтотОбъект.НашаПроцедураВМодулеОбъекта()
Изменено 09.01.14 16:20:15
Kamil
13.01.2014 11:39Ответ № 7
Вот кусок кода как я это делаю
МодульФормы

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

МодульОбъекта

Процедура МояПроцедура() Экспорт
КонецПроцедуры


С других модулей я обращаюсь к этой обработке вот так

Форма = Обработки.МояОбработка.Создать();
Форма.МояПроцеура();

Команда заходит в МодульОбъекта на Процедуру МояПроцедура(); Но не заходит в Процедуру ЗагрузитьДанные() В модуле формы
Как быть??? Срочно
Gonzik2
13.01.2014 11:44Ответ № 8
вынеси процедуру ЗагрузитьДанные() в модуль объекта. и ты сможешь пользоваться ей в любом месте...
Kamil
13.01.2014 12:03Ответ № 9
Если бы это было бы легко то сделал бы уже давно... Все нужно переписывать!!!
Mokey
13.01.2014 15:11Ответ № 10
Вы же не открываете (создаёте) экземпляр формы обработки, поэтому и обратиться к ней нет возможности.
Kamil
13.01.2014 15:36Ответ № 11
Окей! Как правильно обратиться к Этой процедуре из Модуля Формы. С других модулей???
Gonzik2
13.01.2014 15:52Ответ № 12
(10) Mokey, точно.

Код 1C v 8.х
 Форма = Обработки.МояОбработка.Создать().ПолучитьФорму();
Форма.МояПроцеура();

так должно получиться.
Mokey
13.01.2014 16:06Ответ № 13
(11) Kamil, она и так уже в модуле формы обработки, если вопрос в том, чтобы обращаться к ней из других объектов, то создавайте экземпляры, как в (12) Gonzik2,
Mokey
13.01.2014 16:10Ответ № 14
но, у вас в процедуре ЗгрузитьДанные идёт обращение к ДеревоКассовыхУзлов, которое, по всей видимости, является реквизитом этой формы, придётся ещё и дорабатывать эту процедуру, например, Форма.ДеревоКассовыхУзлов и т.д.
Подсказка: Щелникни по Имени пользователя напротив ответа, и тем самым покажешь, что сообщение адресовано ему.
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.