2013-04-09 101 views
0

首先,我只是一个启动,现在写的视觉力量页面,先端获取对象的价值

基本上,我有对象A和B,A是硕士和B是一个细节,每一次创建一个BI将设置默认平衡值与A相同,我的代码如下:

//visual force page: 
<apex:inputField value="{!acc.A__c}"/> 

//apex code: 
public void upgrade(){ 
     A__c bc; 
     bc.Id = acc.A__c; 
     Decimal str = bc.Balance__c; 
     acc.Balance__c = str; 
     insert acc; 
} 

它并没有因为某些原因工作,那么有没有什么办法让主A_ 的价值c并将其复制到相同的字段B _c ??

任何帮助,欢迎!

回答

0

您不需要Visualforce来实现这一点,workflow ruleform prepopulation trick就足够了。

使用“每次创建记录”条件在细节对象上创建一个新规则,并且该操作将是一个字段更新,该字段更新设置详细信息Balance字段。应该设置的公式只是Master__r.Balance__c,A__r.Balance__c或hovewer,您已将其命名为主细节字段。

如果你坚持使用visualforce - 你的代码是完全搞砸的(从正常情况下你永远不会分配任何东西到Id字段)。

如果这个想法是,你的用户将在查找中填写从B到A(该A__c场),则:

B__c b = new B__c(); 
// Some time later user fills in the lookup 
// b.A__c = 'some id here'; 
// and hits save button. 

public void save(){ 
    if(b.A__c != null){ 
     A__c selectedA = [SELECT Id, Name, Balance__c FROM A__c WHERE Id = :b.A__c]; 
     b.Balance__c = selectedA.Balance__c; 
    } 
    insert b; 
}