Personalización de Servigistics InService > Personalización de parámetros de compra > Procedimiento para escribir un delegado de importación/exportación personalizado de los elementos cart y cartitem
  
Procedimiento para escribir un delegado de importación/exportación personalizado de los elementos cart y cartitem
Servigistics InService proporciona la capacidad para importar y exportar cart y cartItem en el formato de Microsoft Excel a través de la interfaz com.ptc.sc.services.plugins.excel.ExcelCartFormatConverterDelegate. Sin embargo, si se necesita cualquier otro formato (por ejemplo, CSV), se puede crear una clase Java de delegado personalizado que implemente la interfaz com.ptc.sc.services.plugins.CartFormatConverterDelegate.
Esta interfaz cuenta con los siguientes métodos que se pueden implementar. com.ptc.sc.services.utils.ImportExportUtility se ha creado para controlar funciones básicas de importación y exportación. Se recomienda que los clientes usen esta utilidad al crear delegados personalizados. Para obtener más detalles sobre ellos, consulte el JavaDoc de las clases anteriores.
InputStream convertFromSCItem(SCItem cart)
Permite exportar el carro y su contenido. El SCItem dado representa el objeto de carro y tiene la recopilación de "elementos" que representa la lista de elementos del carro.
SCItem convertToSCItem(InputStream inputStream)
Permite importar el carro y su contenido. El InputStream dado es el fichero cargado.
String getExtension()
Permite devolver el sufijo de la extensión que este delegado puede controlar. Por ejemplo, si se escribe el delegado CSV, este método devolverá ".csv".
String getMimeType()
Permite devolver el tipo de medios MIME correspondiente a la extensión que este delegado controla. Por ejemplo, para csv, sería: "text/csv".
String getLocalizedTitle()
Permite devolver el título localizado de la extensión que este delegado controla. Este es el título que se mostrará en la interfaz de usuario cuando el usuario pulse en la acción de descarga de la página de detalles del carro:
void createSheetFromData(XSSFWorkbook workbook, String newSheetName, List<List<Object>> cartItemsDataTable)
Permite actualizar un libro de Excel con una tabla de datos en una nueva hoja.
No se necesita ninguna personalización en el código de cliente. El título localizado de la extensión que el delegado personalizado soporta se mostrará en el menú desplegable Tipo de fichero después del registro.
Registro de la clase de delegado personalizado
Añada la siguiente entrada para el delegado de exportación personalizado al fichero site.xconf que se encuentra en el directorio <INS_HOME>/InS_SW/SW/Applications/Windchill.ear:
<Service context="default" name="com.ptc.sc.services.plugins.
CartFormatConverterDelegate">
<Option serviceClass="<customExportDelegateClassName>" requestor="null"
selector="<file extension>"/>
</Service>
El valor del selector debe ser la extensión de fichero que este delegado soporta. Por ejemplo, si el delegado soporta CSV, el valor del selector debe ser ".csv".