Показать сообщение отдельно
Старый 29.05.2007, 12:38   #13  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Суть в следующем:
Все довольно просто. Вы вызываете объект 1 из объекта 2. И потом хотите вернуть результат в объект 2 из объекта 1.
Для этого вам нужно иметь доступ из объекта 2 к объекту 1 или наоборот, помнить ссылку на объект 2 в объекте 1.
Так как вызываете вы класс из метода, то вызывающего объекта (объект 2) в том смысле, что описан выше, у Вас нет. Поэтому применим второй вариант.
Для этого вместо вызова пункта меню (что приведет к вызову метода main) можно эту логику поместить непосредственно в метод validateWrite, как советуют выше

X++:
    SUG_Change_Dial        sug_ChD = new SUG_Change_Dial();
    ;
       sug_ChD.setCustTable(this);
       sug_ChD.setFormName('CustTable');
       if (sug_ChD.prompt())
       {
          sug_ChD.run();
       }
       return sug_ChD.parmReturnValue();
3 замечания:
1. Как видим, определять тип вызова уже не нужно, потому что код вызывается из каждого метода разных таблиц по-своему.
2.Нужно в классе создать переменную, в которую в методе run будет записано значение возврата (то есть true или false для validateWrite())
3. Реализации методов setCustTable, setFormName Вы не приводили, поэтому написал в них то, что ближе всего подходило по смыслу.