zoukankan      html  css  js  c++  java
  • How to refresh current Form when thorugh X++ code influence

    when the User actived the Default BOM LAT Price checkbox on price(Purch.) Form,The ERP system will automatic updated and refresh the account selection(Vendor account) to the InventTable Form(have created Relationship field with Primary vendor account) right now.

    Such as below.

    Wrote by Jimmy on May 5th 2011

    modifiedField method on PriceDiscTable
    public void modifiedField(fieldId _fieldId)
    {
    Tec_PrimaryVendor _PrimaryVendor;
    FormRun FR;
    InventTable InventTable;
    InventTableModule InventTableModule;
    PriceDiscTable PriceDiscTable,updateThis;
    RecId CurRecId
    = this.RecId;
    ;
    super(_fieldId);
    switch(_fieldId)
    {
    case fieldnum(PriceDiscTable,QVS_Default) :
    if(this.QVS_Default == Noyes::Yes &&
    this.Module == ModuleInventCustVend::Vend &&
    this.relation == PriceType::PricePurch &&
    this.AccountCode == TableGroupAll::Table &&
    this.ItemCode == TableGroupAll::Table
    )
    {
    ttsbegin;
    _PrimaryVendor
    = Tec_PrimaryVendor::find(this.ItemRelation,true);

    if (!_PrimaryVendor)
    {
    _PrimaryVendor.ItemId
    = this.ItemRelation;
    _PrimaryVendor.PrimaryVendorId
    = this.AccountRelation;
    _PrimaryVendor.insert();
    }
    else
    {
    _PrimaryVendor
    = Tec_PrimaryVendor::find(this.ItemRelation,true);
    _PrimaryVendor.PrimaryVendorId
    = this.AccountRelation;
    _PrimaryVendor.update();

    //Jimmy 2010-06-10 ++
    InventTable = InventTable::find(this.ItemRelation,true);
    if(InventTable)
    {
    InventTable.ItemBuyerGroupId
    = VendTable::find(this.AccountRelation).ItemBuyerGroupId;
    InventTable.update();
    }
    //Jimmy 2010-06-10 --
    }
    ttscommit;

    //Jimmy 2010-06-10 ++
    ttsbegin;
    InventTableModule
    = InventTableModule::find(this.ItemRelation,ModuleInventPurchSales::Invent,true);
    if(InventTableModule.Price == 0)//if(InventTableModule)////2010-07-27
    {
    InventTableModule.Price
    = this.ItemCostPrice_Purch();
    InventTableModule.update(
    true);
    }
    ttscommit;
    //Jimmy 2010-06-10 --;

    if(infolog.globalCache().get(FormStr(InventTable),"RefreshCurrentForm"))
    {
    fr
    = infolog.globalCache().get(FormStr(InventTable),"RefreshCurrentForm");
    InventTable
    = InventTable::find(this.ItemRelation);

    fr.dataSource(
    "InventTable").reread();
    fr.dataSource(
    "InventTable").research();
    fr.dataSource(
    "InventTable").refresh();
    fr.dataSource(
    "InventTable").findRecord(InventTable);
    }

    }
    else
    {
    select firstonly PriceDiscTable
    where PriceDiscTable.QVS_Default == Noyes::Yes &&
    PriceDiscTable.Module
    == ModuleInventCustVend::Vend &&
    PriceDiscTable.relation
    == PriceType::PricePurch &&
    PriceDiscTable.AccountCode
    == TableGroupAll::Table &&
    PriceDiscTable.ItemCode
    == TableGroupAll::Table &&
    PriceDiscTable.ItemRelation
    == this.ItemRelation &&
    PriceDiscTable.RecId
    != this.RecId;

    if(PriceDiscTable)
    this.UpdateMainVendor(PriceDiscTable);
    }
    break;
    default :
    break;
    }
    }

    init method of InventTable(Form)
    public void init()
    {
    ;
    super();

    infolog.globalCache().
    set(FormStr(InventTable),"RefreshCurrentForm",element);

    }
    canClose method of InventTable(Form)
    public boolean canClose()
    {
    boolean ret;

    ret
    = super();
    infolog.globalCache().remove(FormStr(InventTable),
    "RefreshCurrentForm");
    return ret;
    }
  • 相关阅读:
    crtmpserver流媒体服务器的介绍与搭建
    RTMP流媒体服务器 crtmpserver
    red5-server源码:https://github.com/Red5/red5-server
    C++实现RTMP协议发送H.264编码及AAC编码的音视频
    linux 下Time_wait过多问题解决
    Tomcat调优配置技巧集锦
    Tomcat调优总结
    LeetCode题解之 Longest Common Prefix
    LeetCode题解之Longest Continuous Increasing Subsequence
    LeetCode题解之Longest Increasing Subsequence
  • 原文地址:https://www.cnblogs.com/Fandyx/p/2037769.html
Copyright © 2011-2022 走看看