URL OrderQuotationCreate

Crea pedidos de presupuesto, si los objetos OrderQuotationRel especificados todavía existen.

Estructura de URL

http:// host_name/ path/
El nombre completo de Transaction server y la vía de acceso de configuración.

Este diagrama muestra la estructura para el URL OrderQuotationCheck.

Valores de parámetros

quotationData
El valor válido de este parámetro se define llamando al método del subsistema de mensajería. Este parámetro de un solo valor indica la información que representa un presupuesto recibido.

Comportamiento

  • Se analizan los quotationData especificados para averiguar la siguiente información, que se incluirá en el pedido de presupuesto creado:
    1. Compruebe si el OrderQuotationRelId requerido no hace referencia a un objeto OrderQuotationRel existente, vuelva a comprobarlo durante 20 segundos. Si el objeto OrderQuotationRel todavía no existe, se ignora la petición (retorno).
    2. Es necesaria la moneda del presupuesto.
    3. Para cada elemento de presupuesto (identificado por un OrderItemId original y un OrderItemComponentListId no original), es necesario lo siguiente:
      1. Se necesita: El Orderitemld original. Si el OrderItem original no existe, se ignora la petición (retorno).
      2. Opcional: El supplierPartNumber y supplierData.
      3. Se necesita: El precio presupuestado.
      4. Opcional: El UOMCode externo para los importes en este elemento de presupuesto.
      5. Se necesita: La cantidad del presupuesto de precio.
      6. Opcional: La cantidad que se ha solicitado.
      7. Opcional: La cantidad disponible para la compra.
      8. Opcional: La hora de disponibilidad estimada.
    4. Si el OrderQuotationRelId hace referencia a una OrderQuotationRel que ya tiene un quotationOrder, establezca el quotationOrder en un valor nulo y suprima el quotationOrder.
    5. Cree un pedido con el atributo de estado I y establezca el atributo quotationOrder del objeto OrderQuotationRel en su OrderId. Si quotationSource FulfillmentCenter tiene una quotationStore, cree el pedido en el atributo quotationStore childStoreId no es nulo, cree el pedido en la tienda que se especifica. De lo contrario, cree el pedido en la tienda del carro de la compra. Al crear el pedido de presupuesto:
      1. Copie la información de nivel de pedido del pedido del carro de la compra.
    6. Para convertir las cantidades ofrecidas en cantidades BaseItem utilizadas en el atributo neededQuantity de OrderItem, utilice externalUOMStandard y la tabla QTYUNITMAP para determinar la QuantityUnit ofrecida y, a continuación, convierta dicha QuantityUnit en quantityMeasure de BaseItem y después divida por quantityMultiple de BaseItem. Para convertir estas unidades neededQuantity en la cantidad normalizada utilizada en el atributo quantity de OrderItem, multiplique por el atributo quantityMultiple de BaseItem, convierta las unidades quantityMeasure de BaseItem en unidades quantityMeasure de CatalogEntryShipping, redondee al alza al múltiplo más cercano del atributo quantityMultiple de CatalogEntryShipping y divida por la nominalQuantity de CatalogEntryShipping.
    7. Convierta la cantidad del presupuesto de precio en una cantidad normalizada, como se describe más arriba, y luego establezca el precio por unidad (el atributo price de OrderItem) en el precio ofrecido dividido por la cantidad normalizada para el presupuesto de precio.
    8. Establezca el precio por unidad (el atributo price de OrderItem) en el precio ofrecido multiplicado por la nominalQuantity de CatalogEntryShipping y dividido por la cantidad correspondiente al precio (convertida dequantityMeasure de CatalogEntryShipping). El precio por unidad se redondea utilizando CurrencyManager.
    9. Establezca los atributos prepareFlags de OrderItem de modo que indiquen "quotation".
    10. Convierta la cantidad solicitada o, si no se ha suministrado ninguna cantidad, convierta la cantidad del presupuesto de precio y establézcala en unidades neededQuantity. Redondee al alza al entero más cercano hasta llegar a NeededQuantity. A continuación, convierta las unidades NeededQuantity para establecer el atributo de cantidad normalizada. A continuación, convierta la cantidad normalizada en NeededQuantity (multiplique nominalQuantity de CatalogEntryShipping, convierta en BaseItem quantityMeasure, divida por quantityMultiple de BaseItem y redondee al entero más cercano) y establezca el atributo NeededQuantity.

      Si se proporciona, convierta la cantidad disponible para su compra en cantidad de BaseItem y guárdela en el atributo availableQuantity. De lo contrario, copie neededQuantity en availableQuantity. Si la cantidad disponible para su compra no se proporciona, establezca la cantidad disponible en la cantidad utilizada para calcular la neededQuantity. Convierta la cantidad disponible para su compra en cantidad de BaseItem y establezca el atributo availableQuantity. Redondee al alza al entero más cercado hasta llegar al valor del atributo availableQuantity.

    11. Establezca shippingAddress y shippingMode de modo que tengan el mismo valor que el valor OrderItem indicado por el OrderItemId original.
    12. Establezca el atributo correlationGroup de modo que sea igual al atributo correlationGroup del OrderItemId original.
    13. Establezca los atributos supplierPartNumber y supplierData.
    14. Establezca el atributo tradingAgreementId de OrderItem en el atributo tradingAgreementId del objeto OrderQuotationRel.
    15. Si el artículo es un artículo de sustitución, establezca OrderItems.LineItemType en "ALT".
    16. Al crear un OrderItem de presupuesto que representa un DynamicKit, para cada artículo componente del presupuesto, cree un nuevo artículo componente en la tabla OICOMPLIST:
      1. Establezca OrderItemId de modo que indique el nuevo OrderItem de presupuesto.
      2. Establezca el atributo inventoryQuantity en la cantidad devuelta, convertida en unidades de BaseItem.
      3. Establezca catalogQuantity en inventoryQuantity, convierta las unidades de BaseItem en unidades nominalQuantity de CatalogEntryShipping, divididas por nominalQuantity.
      4. Establezca el precio por unidad y la moneda en nulo (solo está disponible el precio ofrecido del DynamicKit completo).
      5. Establezca el configurationId en nulo. Nota: El configurationId normalmente lo proporciona un configurador externo. Puesto que el presupuesto puede cambiar los componentes de una configuración, sería incorrecto mantener el mismo configurationId. Al dejar un valor nulo se indica que esta configuración ha llegado como parte de un presupuesto, no de un configurador externo.
      6. Establezca los atributos catalogEntryId y specifiedItemId necesarios de forma que sean los mismos que en el elemento OrderItemComponentList especificado por el OrderItemComponentListId original.
      7. Establezca los atributos supplierPartNumber y supplierData.