Coach


In pieno rock ".net" roll
Anno 2011

Anno 2010

Anno 2009

Anno 2008

Anno 2007

Anno 2006

Anno 2005

Trace Discount

In questo periodo ho "litigato" parecchio con gli sconti di Commerce Server 2007.

Gli sconti si possono creare tramite la console standard del Marketing, si deve creare prima un cliente e poi una campagna.

Prima cosa importante quando si crea un nuovo sconto e fare attenzione alla data di partenza che di default viene presa quella della campagna che ricordatevi deve essere attiva.

Esistono tre tipi di sconto, per tutti i prodotti, per singolo prodotto o per categoria; una volta che viene creato uno sconto deve essere approvato per essere attivo.

Gli sconti vengono applicati quando si inserisce un prodotto nel carello e che rispetti i criteri impostati nello sconto.

Bene vi dicevo che ho litigato con gli sconti, questo perchè in Commerce Server 2007(e come nelle precedenti versioni) l'applicazione dello sconto viene fatto dalla pipeline del basket.

Le pipeline sono dei componenti COM+ che servono per i processi di business come gli ordini, le spedizioni ecc.

Proprio queste componenti sono un pò il tallone d'achille di Commerce Server 2007 che sono state mantenute prima perchè sono state migrate dalla versione 2002 secondo perchè ancora non era uscito Windows WorkFlow Foundation.

Gli sconti hanno un algoritmo particolare e in base a diverse regole vengono applicati oppure no. Bene per poter fare un trace più approfondito di deve attivare il trace nel web.config

<pipelines>

       <pipeline name="basket"

                 path="pipelines\basket.pcf"

                 transacted="false"

                 type="OrderPipeline"

                 loggingEnabled="true" />

Secondo si deve mettere a true la proprietà _trace_discounts prima dell'esecuzione della pipeline es

    private PipelineExecutionResult RunPipeline(string pipelineName, OrderPipelineType type)

    {

       using (PipelineInfo pipeline = new PipelineInfo(pipelineName, type))

        {

            pipeline["_trace_discounts"] = true;

            return basket.RunPipeline(pipeline);

    }

Una volta fatto questo sul file di log nella proprietà discounts_trace_info troverete le informazioni degli sconti applicati e lo sconto che ha vinto su gli altri.

Inoltre se avete modificato lo schema dei prodotti controllate che i campi dell'espressione siano mappati correttamente.

venerdì, 16 mar 2007 Ore. 17.46
  • Views Home Page: 294.951
  • Views Posts: 809.821
  • Views Gallerie: 346.995
  • n° Posts: 484
  • n° Commenti: 275












Copyright © 2002-2007 - Blogs 2.0
dotNetHell.it | Home Page Blogs
ASP.NET 2.0 Windows 2003