WLib架構使用注意事項

來源:互聯網
上載者:User
 

多資料來源同時提交

多資料來源同時修改


w.isReady = true; 約定放到最後

sh.reloadOnEdit 表示點編輯的時候再次載入資料,編輯必須把 sh.reloadOnEdit = true

資料服務設定檔的繼承覆蓋需要與被繼承的節點一致

store 的主鍵預設為第一行


waitid  的用法
 storeWareHouse.load({
                        waitid: 'storeWareHouse'
                    });
                    shStockBillMstInit.onEdit({
                        waitid: 'storeStockBillMstInit',
                        wait: 'storeWareHouse',
                        params: { id: $args.id }
                    });
                    storeWhlocation.load({
                        waitid: 'storeWhlocation',
                        wait: ['storeWareHouse','storeStockBillMstInit'] //一定要按照順序調用,如果把storeStockBillMstInit或只
寫storeStockBillMstInit 有可能 storeWhlocation.load 的請求執行會比 shStockBillMstInit 早
//                        params: {whid:storeStockBillMstInit.getAt(0).get('whid')}
                    });


<Create>

    <Table Name="in_stockbillmst">

      <Values>

        <Exp Field="createdate" Target="Express" Value="Now" level="1"/>

        <Exp Field="createman" Target="AppInfo" Value="UserId" level="1"/>

        <Exp Field="verdtm" Target="Express" Value="Now" level="1"/>

        <Exp Field="exes" Value="0" level="1"/>

        <Exp Field="audit" Value="0" level="1" />

      </Values>

    </Table>

  </Create>

系統預設值如 <Exp Field="audit" Value="0" level="1" />
 需要 加 leve = "1",表示優先取該值 否則會用用戶端傳上來的值


通用協助 一張單據只能用一個。
      

查詢控制項必須後台服務的設定檔有相關索引值,否則會報錯
不要在頁面寫好控制項後沒有在設定檔配置相關索引值就直接測試

<Table Name="ba_enterprise">

      <Field Name="compno"/>

      <Field Name="compname" />
    </Table>

    <Table Name="sa_ordermst_online">

      <Field Name="relbillno" AsName="wbillno"/>

    </Table>

  </Tables>
 <Read>

    <Sql>

      select [fields] from [table]
 
      left join ba_enterprise on [table].compid = ba_enterprise.id

      [where]

    </Sql>

  </Read>

設定檔的節點是區分大小寫 如果把 <Sql> 寫成了 <sql> 會與預期結果不符合


ValueChangeOption="Leave" 表示控制項會保留上次載入的值


<Record> 節點的<Where>節點不允許有元素

Ajax非同步呼叫問題 :
如果一個Ajax請求還未結束,其他的Ajax請求無法請求到服務端這是因為ASP.NET的Session鎖定的機制導致的
解決此問題的方法是在aspx頁面的第一行裡
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="OnSaleOrderDownload.aspx.cs" Inherits="BE.OnSale.OnSaleOrderDownload" EnableSessionState="ReadOnly" %>
加上 EnableSessionState="ReadOnly"


能用var b = builder.Transation(bd =>
            {
                bd.TransationBegin(true);
                if (Pub.Request("storeMst").Length > 0)
                {
                    storeStockBillMst.With(bd).Commit("storeMst");
                }
                if (Pub.Request("storeDtl").Length > 0)
                {
                    storeStockBillDtl.With(bd).Commit("storeDtl");
                }

            });  

盡量用,因為這個事務可以被其他外部事務調用,除非有特殊處理才用
         try
                {
                    builder.TransationBegin(true);
                    srvMst.DelStockBillById(jarr[i].TryParseToString());
                }
                catch (Exception ex)
                {
                    builder.TransationRollBack();
                    jarr.RemoveAt(i);
                    sError += ex.Message + "<br>";
                }
                finally
                {
                    builder.TransationEnd();
                }
這種交易處理不能被其他外部事務調用,一般主要用於需要特殊處理的環境


當有兩個彈出框的時候 第一個框的關閉按鈕與第二個框的關閉按鈕的id必須不一樣,否則第一個框會出現兩個關閉按鈕

 

如果希望語句不要出現 _uid 的where 查詢條件 則可以在<DataService NeedUid="false"> 設定NeedUid="false"


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.