多資料來源同時提交
多資料來源同時修改
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"