Crear un campo de propiedades en el Centro de gestión

Puede habilitar un campo personalizable en la vista de propiedades de una lista de precios en la herramienta Filtro de catálogo y fijación de precios. Puede utilizar el campo adicional para mostrar ofertas y descuentos para determinadas regiones a los clientes.

Por qué y cuándo se efectúa esta tarea

En este ejemplo se muestra cómo añadir una columna Región en la vista de propiedades para una lista de precios en la herramienta Filtro de catálogo y fijación de precios. Ejemplo de vistas de propiedades de una lista de precios en la herramienta Filtro de catálogo y fijación de precios.

Procedimiento

  1. Active la columna FIELD1 en la interfaz de usuario del Centro de gestión y cambie el nombre de FIELD1 para convertirla en la columna Región.
    1. Modifique el archivo PriceListPrimaryObjectDefinition.def para cambiar la interfaz de usuario para añadir la columna FIELD1 o Región al Centro de gestión.
    2. Vaya a WCDE_installdir\LOBTools\WebContent\config\commerce\price\objectDefinitions y abra el archivo PriceListObjectDefintion.def.
    3. Localice la línea de código siguiente:
      <ServiceParam name=qualifier propertyName=qualifier
      </DeleteService> 
      
    4. Añada la línea de código directamente después de: <PropertyDefinition displayName=field propertyName=x_field required=true/>. Guarde y cierre el archivo.
    5. Vaya a WCDE_installdir\LOBTools\WebContent\config\commerce\price\listViewDefinitions y abra el archivo PriceListListView.def.
    6. Busque el código siguiente: <GridNumeric editable=true name=maximumQuantity propertyName=maximumQuantity text=$(catalogResources.maximumQuantity)/>
    7. Añada la línea de código directamente después de: <GridText editable=true name=x_field text=field visible=true width=100/>.
    Ahora, la columna field se visualiza en la pestaña Gestionar lista de precios en la herramienta Filtro de catálogo y fijación de precios.
  2. Modifique el archivo de correlación del Centro de gestión.
    1. Vaya a la carpeta WCDE_installdir\LOBTools\WebContent\WEB-INF\config\com.ibm.commerce.price y abra el archivo wc-price-clientobjects.xml.
    2. Busque el código siguiente: <_config:URLParameter name=storeId nounElement=/PriceListIdentifier/ExternalIdentifier/StoreIdentifier/UniqueID />.
    3. Añada la línea de código directamente después del código del Paso 2.b.: <_config:URLParameter name=x_ nounElement=/PriceEntry/UserData/UserDataField type=UserData key=false />
    4. En el mismo archivo, busque el siguiente código: <_config:URLParameter name=/storeId nounElement=PriceListIdentifier/ExternalIdentifier/StoreIdentifier/UniqueID />.
    5. Añada la línea de código directamente después del código del Paso 2.d.: <_config:URLParameter name=x_ nounElement=/PriceEntry/UserData/UserDataField type=UserData key=false />
    6. En el mismo archivo, busque el siguiente código: <_config:URLParameter name=priceListId nounElement=/PriceListIdentifier/UniqueID key=true return=true />.
    7. Añada la línea de código directamente después del código del Paso 2.f.: <_config:URLParameter name=x_ nounElement=/PriceEntry/UserData/UserDataField type=UserData key=false />
    8. Reinicie el servidor de prueba para reflejar el cambio en el archivo XML.
  3. Personalice la lógica del lado del servidor para visualizar el nuevo campo Región en el Centro de gestión.
    1. Elija el mandato de entrada de precio que desea modificar para visualizar el nuevo campo Región en.
    2. En el campo userData, actualice el valor field con el nombre de la propiedad.
      Por ejemplo, si desea que la propiedad se denomine Región, field debe actualizarse a region.
      
         for (Map.Entry<String, String> entrys : userDataFields
                 .entrySet()) {
             System.out.printIn(userdata  + entrys.getKey()
                           +  value   + entrys.getValue ());  
         }
      } else {
          userData = CommerceFoundationFactory.eINSTANCE
                  .createUserDataType();
      }
      userData.getUserDataField() .put(field, 123;
      
      priceEntry.setUserData (userData);
      }
           
    3. Vaya a la carpeta WCDE_installdir\LOBTools\WebContent\WEB-INF\config\com.ibm.commerce.price y abra el archivo SerializePriceEntry.jspf.
    4. Busque el código siguiente: <defaultStoreCurrency>${priceEntry.price.price/currency}</defaultStoreCurrency>
    5. Añada el siguiente código directamente delante del código que acaba de encontrar:
      <c:forEach var=userDataField items=$(priceEntry.userData.userDataField)>
            <x_${userDataField.typedKey}><wcf:cdata data=userDataField.typedValue}/></x${userDataField.typedKey}>
      </c:forEach>