Introdution
這個更新也就是二進位零售當地語系化功能的 Microsoft 動態 AX 2012 R3 讓法國的合併更新。此組合的更新程式,與 Microsoft 動態 AX 2012 R3 的零售已透過認證每是 NF 525 的憑證需求。請參閱 KB 4058329 應用程式組件的更新。
這篇文章提供 Microsoft 動態 AX 2012 R3 設定為點的-零售 (POS),以供儲存區位於法國,以及零售當地語系化解決方案的元件的概觀,法國所需的步驟綜覽包括在零售 SDK。
如需有關 Microsoft 動態 AX 2012 R3,台北市 「 且需要的當地語系化的安裝步驟的零售當地語系化的資訊,請參閱KB 4058329 。
設定為法國的 POS
以下各節說明 [設定為法國的銷售點 (POS) 所需的程序。
設定企業 POS 法國
若要啟用數位簽章在企業 POS 銷售交易,您必須安裝憑證,並將所需的設定加入至應用程式組態檔 POS.exe.config:
-
在企業 POS 機器上的本機憑證儲存區中安裝有效的數位認證。
-
將下列程式碼複製到的 POS.exe.config 檔案的 [ configSections ] 區段中:
<sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
<section name="Microsoft.Dynamics.Retail.FiscalRegistrationServices.DigitalSignatureFiscalRegister.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
<section name="Microsoft.Dynamics.Retail.FiscalRegistrationServices.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
</sectionGroup>
-
複製下列程式碼的 POS.exe.config 檔案的 [ applicationSettings ] 區段:
<Microsoft.Dynamics.Retail.FiscalRegistrationServices.Properties.Settings>
< 設定名稱=""FiscalRegisterAssembly_FRserializeAs=""String>
<value>DigitalSignatureFiscalRegister.dll</value>
</setting>
< 設定名稱=""FiscalRegisterClass_FRserializeAs=""String>
<value>Microsoft.Dynamics.Retail.FiscalRegistrationServices.DigitalSignatureFiscalRegister.DigitalSignatureFiscalRegister</value>
</setting>
</Microsoft.Dynamics.Retail.FiscalRegistrationServices.Properties.Settings>
<Microsoft.Dynamics.Retail.FiscalRegistrationServices.DigitalSignatureFiscalRegister.Properties.Settings>
< 設定名稱=""CertificateStoreNameserializeAs=""String>
< 值 >我</值 >
</setting>
< 設定名稱=""CertificateStoreLocationserializeAs=""String>
< 值 >LocalMachine</值 >
</setting>
< 設定名稱=""EncodingNameserializeAs=""String>
<value>UTF-8</value>
</setting>
< 設定名稱=""DataHashAlgorithmserializeAs=""String>
<value>SHA1</value>
</setting>
< 設定名稱=""CertificateThumbprintserializeAs=""String>
<value></value>
</setting>
</Microsoft.Dynamics.Retail.FiscalRegistrationServices.DigitalSignatureFiscalRegister.Properties.Settings>
-
安裝程式已安裝憑證的 POS.exe.config 檔案的 [ applicationSettings ] 區段中的正確的 CertificateStoreName、 CertificateStoreLocation 和 CertificateThumbprint 值。
設定為法國的現代 POS
若要啟用數位簽章功能在現代的 POS 中,您需要安裝憑證,並將所需的設定加入至商務的執行階段組態檔案 commerceRuntime.config。
-
現代的 POS 機器上的本機憑證儲存區中安裝有效的數位憑證。
-
將下列程式碼加入至 commerceRuntime.config 檔案位於零售伺服器安裝資料夾中的 [撰寫] 區段中:
< 新增來源=「 組件 」值=「 Microsoft.Dynamics.Commerce.Runtime.Services.FiscalRegisterServiceFrance 」、 「 版本 = 6.3.0.0,文化特性 = 中性,PublicKeyToken = 31bf3856ad364e35,processorArchitecture = MSIL"/ >
< 新增來源=「 組件 」值=「 Microsoft.Dynamics.Commerce.Runtime.Services.DigitalSignature 」、 「 版本 = 6.3.0.0,文化特性 = 中性,PublicKeyToken = 31bf3856ad364e35,processorArchitecture = MSIL"/ >
-
對位於用戶端代理人安裝資料夾,以支援離線模式下的 commerceRuntime.config 檔案中的相同的變更。
-
設定正確的 certificateStoreName、 certificateStoreLocation 和 certificateThumbprint 值的 Microsoft.Dynamics.Commerce.Runtime.Services.FiscalRegisterServiceFrance.dll.config 檔案中已安裝的憑證。
SDK 概觀
以下各節提供的解決方案元件的零售當地語系化概觀法國納入零售 SDK。您可以修改這些元件能夠自訂或擴充的當地語系化功能。
企業 POS
方案是由三個新的專案、 兩個新的介面和三個新的資料庫資料表所組成。除此之外,數個現有的介面會延伸以新方法。
-
DigitalSignatureFiscalRegister專案處於零售版的 SDK\POS Plugins\FiscalRegistrationServices,而且是 FiscalRegistrationServices 方案的一部分。
-
FranceTriggers專案位於零售 SDK\POS 隨 ins\Triggers 資料夾中,而且是觸發程序方案的一部分。
-
新的介面, IAuditEventTrigger和IBatchOperationTrigger是合約組件的部份。
-
IApplicationTrigger的現有介面擴充以兩個新的方法:
-
ApplicationSettingChanged呼叫後的應用程式設定,如訓練模式,或變更離線模式;
-
之後清潔從通道資料庫的交易,會呼叫PostPurgeChannelData 。
-
-
IPrintingTrigger的現有介面擴充以兩個新的方法:
-
GetReceiptFieldInfo目前被呼叫的回條; 列印工作欄位
-
之後列印一份收據,會呼叫PostPrintReceiptCopy 。
-
-
新的RetailLogTransactionReference資料表用來儲存稽核記錄檔事件和相對應的零售交易,例如列印一份收據的事件和原始的零售交易之間的參考之間的參考。
-
新的RetailLogFiscalTransaction資料表用來儲存稽核記錄檔事件的註冊資訊。
-
新的RetailFiscalRegistrationSequence資料表用來儲存數種類型的帶正負號的物件,例如零售交易的最後一個連續數字,及稽核事件。
稽核事件觸發程序
新的AuditEvent觸發程序會加入至啟用自訂的稽核事件的建立程序。此觸發程序為其他觸發程序相同的方式運作,而且由 MEF 載入。它提供PreLogEvent和PostLogEvent,稱為記錄的稽核事件,分別前後的兩種的方法。
新的IAuditEventTrigger介面已加入至合約文件庫。這個介面會描述 PreLogEvent和PostLogEvent方法。
PreLogEvent方法可以中斷記錄處理程序,並顯示訊息,透過標準的PreTriggerResult物件。若要使用AuditEvent的觸發程序,您必須建立新的類別。這個類別應該實作IAuditEventTrigger介面。在此情況下,MEF 也會在應用程式啟動時載入類別。
FranceTriggers
FranceTriggers專案可包含標準 POS 觸發程序的 POS 的功能設定檔的 [ ISO 代碼] 欄位設定為FR如果載入的。
-
BatchOperationTrigger會實作IBatchOperationTrigger介面,而且會覆寫SaveCloseBatch方法。方法會記錄稽核事件的關閉 shift 鍵。
-
FranceApplicationTrigger會實作IApplicationTrigger介面,而且會覆寫的ApplicationStart和PostLogon方法。
-
ApplicationStart方法會初始化為RegistrationManager的註冊狀態藉由呼叫ActualizeRegistrationState方法中。
-
PostLogon方法會將位移狀態檢查藉由呼叫ShiftClosingChecker類別的CheckShiftClosing方法,如果登入作業已成功。如果目前的 shift 時間長於預先定義的時間,方法就會顯示一則警告。
-
-
FranceAuditEventTrigger會實作IAuditEventTrigger介面,而且會覆寫的PreLogEvent和PostLogEvent方法。
-
PreLogEvent方法接收IAuditEvent物件,並執行稽核事件的註冊,如果已啟用稽核。
-
PostLogEvent方法會接收IAuditEvent物件,並終結稽核事件的註冊,如果稽核會啟用儲存會計年度的註冊資訊。
-
-
FranceOperationTrigger會實作IOperationTrigger介面,而且會覆寫PreProcessOperation方法。這個方法會將位移狀態檢查藉由呼叫ShiftClosingChecker類別的CheckShiftClosing方法。如果目前的 shift 時間長於預先定義的時間,並顯示警告訊息,這個方法會封鎖作業。
-
FrancePaymentTrigger會實作IPaymentTrigger介面,而且會覆寫PrePayment方法。方法的行為與PreProcessOperation方法相同的方式,並封鎖付款,若目前 shift 時間長於預先定義的時間。
-
FrancePrintingTrigger會實作IPrintingTrigger介面,而且會覆寫GetReceiptFieldInfo方法。這個方法會收到IReceiptField和IReceiptPrintingContext物件,並計算要列印的 [回條] 欄位的值。
-
FranceTransactionTrigger會實作ITransactionTrigger ,而且會覆寫的PreEndTransaction和SaveTransaction方法。
-
PreEndTransaction方法接收IPosTransaction物件,並執行註冊的零售交易。此外,它會檢查位移狀態,並封鎖交易,若目前 shift 時間長於預先定義的時間。
-
SaveTransaction方法會接收IPosTransaction物件,並終結的零售交易註冊儲存的會計年度的註冊資訊。
-
DigitalSignatureFiscalRegister
DigitalSignatureFiscalRegister專案提供數位簽章零售交易和稽核事件的功能。
-
CertificateHelper類別會提供方法讓從憑證存放區載入憑證。
-
DigitalSignatureFiscalRegister類別會實作IFiscalRegisterDriver介面,而且會覆寫的初始化和RegisterFiscalData方法。
-
的初始化方法會從組態檔中載入數位簽章的設定,例如憑證指紋和位置。
-
RegisterFiscalData方法會接收序列化的會計資訊,並計算的數位簽章。
-
-
DigitalSignatureFiscalRegisterResponse類別代表的數位簽章暫存器的回應。
註冊程序
稽核事件和零售交易的註冊處理過程都很類似。有FranceTriggers專案中實作每一個登錄的物件類型的IRegistrableEvent介面的配接器類別:
-
RegistrableEventAuditEventAdapter類別,以支援稽核事件登錄
-
若要支援零售交易登錄的RegistrableEventRetailTransactionAdapter
-
RegistrableEventShiftTransactionEventAdapter ,以支援關閉進化的事件的註冊
配接器負責擷取及序列化成為可登錄的物件從註冊所使用的資訊。例如PreEndTransaction、 PreLogEvent和SaveCloseBatch的觸發程序方法內會建立適當類型的配接器,由RegistrableEventFactory類別。
位於 FranceTriggers 專案的RegistrationManager類別會執行任何成為可登錄的事件物件的註冊。RegistrationManager會使用DefaultFiscalRegistrationService服務會實作IFiscalRegister介面,而且由 MEF 載入。
DefaultFiscalRegistrationService建立,並設定IFiscalRegisterDriver的執行個體。它會使用FiscalRegisterFactory類別來建立適當的執行個體的IFiscalRegisterDriver ,並產生執行個體的法國國家 (地區)] 下的DigitalSignatureFiscalRegister類別 /區域內容。
序列化的會計註冊資料是分別儲存在 JSON 格式,在零售交易與稽核事件RetailTransactionFiscalTransaction和RetailLogFiscalTransaction的資料庫資料表中。
零售伺服器
四個新的零售伺服器,要求已新增到支援為法國的零售當地語系化:
-
取得指定的交易類型中的會計年度的註冊順序的型別,或稽核事件類型的GetFiscalRegistrationSequenceTypeValue 。
-
GetLastRegisteredFiscalData要求取得最後一個註冊指定的交易類型或稽核事件類型的會計資料。
-
RegisterAuditEvent要求註冊稽核事件。
-
GetShiftClosingStateInfo要求取得位移的狀態和右位移的時間。
ShiftManager和StoreOperationsManager零售 proxy 中的配接卡零售 SDK\Proxies\RetailProxy\Adapters 中找不到對應的方法。
商務的執行階段
商務 run-time 當地語系化是由兩個新的專案、 新的要求和處理常式所組成:
-
SDK。DigitalSignature專案是在零售 SDK\Commerce 執行 time\SDK。DigitalSignature 是Sdk.CommerceRuntime方案的一部分。
-
SDK。FiscalRegisterServiceFrance專案是在零售 SDK\Commerce 執行 time\SDK。DigitalSignature 是Sdk.CommerceRuntime方案的一部分。
SDK.DigitalSignature
專案是企業 POS 的DigitalSignatureFiscalRegister專案類似。它提供數位簽章零售交易和稽核事件的功能。
-
CertificateHelper類別會提供方法讓從憑證存放區載入憑證。
-
DataSignatureRequestHandler類別會實作IRequestHandler介面,而且處理DigitalSignatureServiceRequest要求。
DigitalSignatureServiceRequest用來簽署憑證與指定的資料。
SDK.FiscalRegisterServiceFrance
SDK。FiscalRegisterServiceFrance專案包含FiscalRegistrationService處理新的要求數目:
-
GetFiscalRegistrationSequenceTypeServiceRequest是新的要求,來決定會計序列中的型別銷售交易的型別,或稽核事件類型。
-
GetLastRegisteredFiscalDataServiceRequest是新的要求,來擷取指定的會計序列型別的最後一個儲存會計年度的資料。
-
GetFiscalRegistrationSequenceServiceRequest是新的要求,來擷取特定的儲存區中,目前的序號,終端機和序列型別。
-
GetSalesOrderFiscalRegistrationInfoRequest是從銷售訂單擷取會計資料的新要求。
-
ParseFiscalRegisterDataRequest是新的要求,剖析序列化註冊以 JSON 格式,物件的回應。
-
SaveSalesTransactionDataRequest是執行銷售交易的註冊,接著再呼叫 [原始的要求處理常式,以儲存交易的覆寫的要求。
-
RegisterAuditEventServiceRequest是登錄稽核事件的新要求。
-
RegisterShiftCloseAuditEventRequest是新的要求,若要註冊的班次關閉的事件。
現代的 POS
當地語系化的現代 POS 包括數個位於零售 SDK\ POS Clients\Framework 檢視模型和檢視中的變更。
預先操作處理常式
以後開始引進新的IPreOperationHandler介面。其中會說明下列方法:
executeHandler(operationId: Commerce.Operations.operationTypeEnum): 通知 IAsyncResult < ICancelableResult >;
方法的目的是實作其他執行現代 POS 作業之前的檢查。ExecuteHandler方法會接收目前作業的型別,並可以藉由以非同步方式傳回適當的ICancelableResult封鎖作業。
IPreOperationHandler介面執行個體是由呼叫OperationsManager的registerPreOperationHandler方法來註冊。
Shift 狀態檢查
Shift 狀態檢查是由ShiftClosingManagerFrance實作IShiftClosingManager介面管理的。ShiftClosingManagerFactory會負責建立適當的執行個體的IShiftClosingManager ,並建立在法國國家 (地區) 的內容下的ShiftClosingManagerFrance 。
ShiftClosingManagerFrance也會實作IPreOperationHandler介面,而用來封鎖多個作業,如果轉換持續時間超過指定的時間。它被註冊為法國的國家 (地區) 內容下的OperationsManager類別的預先操作處理常式。
ShiftClosingManagerFrance要求移動每個付款和銷售使用GetShiftClosingStateInfo零售伺服器要求的作業之前的狀態。
註冊程序
銷售交易和稽核事件的註冊的管理方式實作IFiscalRegistrationManager介面的FiscalRegistrationManagerFrance類別。FiscalRegistrationManagerFactory類別會負責建立適當實作的IFiscalRegistrationManager ,並建立在法國國家/地區] 下的FiscalRegistrationManagerFrance內容。
銷售交易的註冊類別中啟動CartViewModel的checkOutCart方法中。CartViewModel會使用FiscalRegistrationManagerFrance來執行註冊的邏輯之前, 和之後簽出。
前簽出邏輯會展開登錄的資訊 (暫存器回應) 的最後一個登錄從本機存放區的銷售交易,(若有的話) 或從使用GetLastRegisteredFiscalData要求的零售伺服器要求。最後一個註冊的擴充屬性的購物車物件以傳遞至簽出的回應。儲存最後的登錄回應的擴充屬性則擷取出來處理商務的執行階段中的SaveSalesTransactionDataRequest時,用來產生目前的交易的數位簽章。
目前登錄為本機存放區的回應張貼簽出邏輯儲存在未來使用要求。
稽核事件的註冊藉由FiscalRegistrationManagerFrance類別的registerAuditEvent方法,並從不同點起始:
-
成功的運算子登入後,從LoginViewModel為何登入稽核事件的註冊。
-
從LogoffOperationHandler.啟始登出稽核事件的註冊
-
從的BlindCloseShiftOperationHandler和CloseShiftOperationHandler類別,就會啟始清除稽核事件的註冊。
-
從ChainedRequestFactory類別,就會啟始的開始和結束的離線模式事件的註冊。
-
從ReceiptViewModel.啟始列印一份收據的事件的註冊
現代的 POS 註冊的RegisterAuditEvent要求傳送到零售伺服器的稽核事件。然後,要求傳遞至商務的執行階段服務FiscalRegistrationService。
Hotfix 資訊
如何取得 Microsoft 的動態 AX 更新的檔案
此更新程式適用於手動下載和安裝從 「 Microsoft 下載中心 」。
先決條件
您必須具備套用此 hotfix 之後安裝下列產品的其中一個:
-
Microsoft 動態 AX 2012 R3
重新啟動需求
套用此 hotfix 之後,您必須重新啟動應用程式物件伺服器 (AOS) 服務。
如果您正在下載時遇到問題,安裝此 hotfix,或者有其他的技術支援問題,請連絡您的夥伴或如果註冊加入支援計劃直接向 Microsoft 中,您可以連絡 Microsoft 動態的技術支援,並建立新的支援要求。若要這麼做,請造訪下列 Microsoft 網站:
https://mbs.microsoft.com/support/newstart.aspx
您也可以連絡技術支援的透過使用這些連結的國家/地區特定的電話號碼的電話。若要這麼做,請造訪下列 Microsoft 網站:
協力廠商
https://mbs.microsoft.com/partnersource/resources/support/supportinformation/Global+Support+Contacts
客戶
https://mbs.microsoft.com/customersource/northamerica/help/help/contactus
在特殊的情況下,通常會支援呼叫可能已被取消如果技術支援專業人員的 Microsoft 動態及相關的產品所產生的費用會決定某特定更新程式可以解決您的問題。收取支援費用會套用到任何其他支援問題並不能限定的特定更新程式的問題。
附註這是直接從 Microsoft 支援組織內建立的「快速發行」文件。在此處包含的資訊依現狀-是以新興的問題回應。為縮短使其可用的時程,資料可能會包含印刷錯誤,且可能會隨時進行修改而不另行通知。如其他考量,請參閱 「使用規定」。