Implementación de la generación de una propuesta
Sterling™ Field Sales proporciona la tarea relacionada Generar propuesta para permitir a un usuario generar una propuesta para un presupuesto.
A veces, es posible que un representante de ventas de campo desee imprimir una propuesta de presupuesto para que pueda ser enviada a un cliente. Por ejemplo, un cliente puede solicitar a un representante de ventas de campo que le envíe el presupuesto por correo electrónico para que el cliente pueda ver los precios de los artículos en el presupuesto.
Solución
Sterling Field Sales proporciona la tarea relacionada Generar propuesta para permitir que un usuario genere una propuesta para un presupuesto. Un usuario puede imprimir la propuesta como un PDF seleccionando el formato PDF en la lista desplegable Elija un formato de impresión, que se genera utilizando el servicio SAA_GeneratePrint.
Se llama a la API getCompleteOrderDetails para recuperar los detalles del presupuesto que se visualizarán en la pantalla Generar propuesta. Se llama a la API getTransformationData para recuperar los valores que deben visualizarse en la lista desplegable Elija una plantilla de formato. Se llama a la API getCommonCodeList para recuperar los valores que deben visualizarse en la lista desplegable Elija un formato de impresión. Los formatos de impresión se almacenan como códigos comunes con el tipo de código SAA_QUOTE_PRNT_FRMT. En función de la plantilla de impresión seleccionada, los formatos específicos del entorno local configurados para la plantilla seleccionada se visualizan en la lista desplegable Elija un entorno local.
Un usuario puede seleccionar los atributos que deben imprimirse en la propuesta desde el panel Incluir en impresión. Los atributos mostrados en el panel Incluir en impresión se definen en formato XML en el Centro de negocios Sterling, que se almacena en la base de datos y se recupera cuando se llama a la API getTransformationConfigList.
<Resource>
<Group Name="ProposalHeader" DisplayName="Quote_Proposal_Header" Id="header">
<Attribute Name="ProposalDate" DisplayName="Quote_Proposal_Date" Value="Y"/>
<Attribute Name="Status" DisplayName="Quote_Proposal_Quote_Status" Value="Y"/>
<Attribute Name="ExpirationDate" DisplayName="Quote_Proposal_Expiration_Date" Value="Y"/>
<Attribute Name="ProposalTitle" DisplayName="Quote_Proposal_Title" Value="Y"/>
<Attribute Name="ProposalID" DisplayName="Quote_Proposal_ID" Value="Y"/>
</Group>
<Group Name="Address" DisplayName="Quote_Proposal_Address">
<Attribute Name="BillTo" DisplayName="Quote_Proposal_Bill_Address" Value="Y"/>
<Attribute Name="ShipTo" DisplayName="Quote_Proposal_Shipping_Address" Value="Y"/>
</Group>
<Group Name="OrderLines" DisplayName="Quote_Proposal_Lines">
<Attribute Name="QuoteLines" DisplayName="Quote_Proposal_Quote_Lines" Value="Y"/>
<Attribute Name="RecommendedLines" DisplayName="Quote_Proposal_Recommended_Lines" Value="Y"/>
</Group>
<Group Name="PricingInformation" DisplayName="Quote_Proposal_Quote_Totals">
<Attribute Name="Additional" DisplayName="Quote_Proposal_Additional_Upfront_Charges" Value="Y"/>
<Attribute Name="SubTotal" DisplayName="Quote_Proposal_Line_Sub_Total" Value="Y"/>
<Attribute Name="Discounts" DisplayName="Quote_Proposal_Adjustments" Value="Y"/>
<Attribute Name="ShippingCharges" DisplayName="Quote_Proposal_Shipping" Value="Y"/>
<Attribute Name="Taxes" DisplayName="Quote_Proposal_Taxes" Value="Y"/>
<Attribute Name="GrandTotal" DisplayName="Quote_Proposal_Total" Value="Y"/>
</Group>
<Group Name="Terms" DisplayName="Quote_Proposal_Terms">
<Attribute Name="PaymentTerms" DisplayName="Quote_Proposal_Payment_Terms" Value="Y"/>
<Attribute Name="ShippngTerms" DisplayName="Quote_Proposal_Carrier" Value="Y"/>
<Attribute Name="LevelOfService" DisplayName="Quote_Proposal_Level_Service" Value="Y"/>
<Attribute Name="DeliveryDate" DisplayName="Quote_Proposal_Devivery_Date" Value="Y"/>
<Attribute Name="InstructionText" DisplayName="Quote_Proposal_Shipping_Instructions" Value="Y"/>
</Group>
</Resource>La API getOrganizationHierarchy invoca el servicio SAA_GeneratePrint para obtener los detalles de la dirección de la organización. La API getUserHierarchy obtiene el nombre del vendedor que se va a visualizar en la propuesta.
Cuando un usuario pulsa Generar en la pantalla Generar propuesta, el servicio SAA_GeneratePrint se invoca para generar la propuesta.
Un ejemplo de implementación del servicio que se utiliza para generar una propuesta se muestra en la figura siguiente:
En función de la plantilla y el entorno local seleccionados, la API processPrint recupera el formato configurado y, junto con el XML, genera la propuesta en el formato seleccionado (PDF) utilizando el componente Apache FOP (Formatting Objects Processor).Implementación
En esta sección se explican las configuraciones para esta funcionalidad:
Sterling Field Sales envía un archivo de configuración al componente FOP. De forma predeterminada, el archivo de configuración enviado al componente FOP busca todas las fuentes instaladas en el sistema. El componente FOP del servicio SAA_GeneratePrint toma el argumento FOPConfigFile, que apunta a la ubicación del archivo de configuración en la ruta de acceso de clases.
Puede personalizar el archivo de configuración para añadir o eliminar las fuentes basándose en el requisito. Si el archivo de configuración está personalizado, el argumento FOPConfigFile debe modificarse para que apunte al archivo de configuración personalizado. El procesador FOP utiliza este archivo de configuración para generar el PDF.
- Para generar la propuesta en varios idiomas, es necesario que los fonts de idioma necesarios estén instalados en el sistema. Además, asegúrese de que la familia de fonts de la hoja de estilo correspondiente se ha cambiado correctamente para reflejar estos fonts.
- Incluir todos los fonts del sistema puede afectar al rendimiento de la generación de la propuesta FOP. Por ello se recomienda personalizar el archivo de configuración para incluir sólo los fonts que son necesarios para la generación de la propuesta.
Para obtener más información sobre el archivo de configuración FOP y la configuración de fonts, consulte el sitio web deApache.
- Para ver las plantillas de formato en Sterling Field Sales, el nombre de la plantilla de impresión creada en Sterling Business Center debe ser PrintProposal.
- Puede configurar la plantilla de impresión para generar una propuesta.
- Puede configurar el formato de impresión que debe utilizarse para generar una propuesta.
Instalar los archivos JAR de FOP
- Copie los siguientes archivos JAR de terceros en extensions.jar:
avalon-framework-4.2.0.jarfop.jarxmlgraphics-commons-1.4.jar
- Importe la versión más reciente del archivo JAR a través del componente
OMS-CUSTOM-OMS. - Ejecute el proceso Crear tiempo de ejecución personalizado en UCD incluyendo el archivo JAR personalizado.
- Actualice Sterling Order Management System.