1. 程式人生 > >金蝶K3單據增加單據下推關聯關係(後臺調整欄位下推邏輯)

金蝶K3單據增加單據下推關聯關係(後臺調整欄位下推邏輯)

現狀:BOS裡邊銷售出庫單增加了一個單據欄位,引用的是BOS基礎資料裡邊的資料,在BOS裡邊是沒有設定單據下推攜帶關聯的地方,但是在單據自定義裡邊又選不到BOS基礎資料。

需求:增加的這個欄位需要引用繼承上游銷售訂單的同名欄位資料

操作方法:

  1. 使用BOS在銷售出庫單增加該欄位,資料來源為基礎資料裡邊BOS基礎資料裡邊的ABC分類維護,設定完畢後直接儲存;

  2. 以同樣的方法在BOS裡邊設定銷售出庫單的欄位;
  3. 使用單據自定義開啟銷售出庫單,可以發現選不到BOS裡邊的資料;
  4. 將欄位資料來源改為其他基礎資料,比如改成備註,只要上游單據能夠出現攜帶資料即可,選好以後儲存;
  5. 重新開啟BOS銷售出庫單,會發現變為空了,重新選擇一下資料來源類別,然後儲存即可;
  6. 改造資料庫-對比資料:
    ---對比新增的2列資料是否有差異,如有差異,按照上游欄位進行調整,記錄下單據標識碼和新增列名
    select * from ICTemplateentry 
    where (fid='s01' and FCtlIndex=66) or (fid='b01' and FCtlIndex=73)
    

  7. 改造資料庫-查詢下推關聯表記錄;

    select FColName,FName,FAction from ICSelbills where FID='b01' and  FTableName='SEorderentry' and FDstCtlField='FEntrySelfB0173'


  8. 改造資料庫,更新下推關聯資料攜帶欄位與對應取值;

    --更新下推關聯表資料
    update ICSelbills set FColName='FEntrySelfS01660',FName='FEntrySelfS0166',FAction='(SELECT FID FROM ICDevGroupInfo WHERE FID = u1.FEntrySelfS0166)' where FID='b01' and  FTableName='SEorderentry' and FDstCtlField='FEntrySelfB0173'and FDK=0
    update ICSelbills set FColName='FEntrySelfS01661',FName='FEntrySelfS0166',FAction='(SELECT FName FROM ICDevGroupInfo WHERE FID = u1.FEntrySelfS0166)' where FID='b01' and  FTableName='SEorderentry' and FDstCtlField='FEntrySelfB0173'and FDK=1
    update ICSelbills set FColName='FEntrySelfS01662',FName='FEntrySelfS0166',FAction='(SELECT FNumber FROM ICDevGroupInfo WHERE FID = u1.FEntrySelfS0166)' where FID='b01' and  FTableName='SEorderentry' and FDstCtlField='FEntrySelfB0173'and FDK=2


  9. 新增一張銷售訂單,測試下新增欄位是否能夠選到值;

  10. 儲存銷售訂單,下推銷售出庫單,驗證下是否能夠正常攜帶下去;

OVER