Ir para conteúdo
  • Cadastre-se

dev botao

ACBrOpenDelivery - Argument out of range ao obter dados de um pedido


Ver Solução Respondido por alankoba,
  • Este tópico foi criado há 283 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Solution
Postado

O erro estava no exemplo - Segue a correção.

Demo VCL

UntMain.pas
 

procedure TFMain.btnOrderGetDetailsClick(Sender: TObject);
var
  I: Integer;
  ItemOption: TACBrOpenDeliverySchemaOrderItemOption;
// ...


  for I := 0 to Pred(ACBrOpenDelivery1.Order.items[0].options.Count) do
  begin
    ItemOption := ACBrOpenDelivery1.Order.items[0].options[I];
    DM.cdsOptions.Append;

    DM.cdsOptionsID.AsString := ItemOption.id;
    DM.cdsOptionsName.AsString := ItemOption.name;
    DM.cdsOptionsexternalCode.AsString := ItemOption.externalCode;
    DM.cdsOptionsUnit.AsString := ItemOption._unit;
    DM.cdsOptionsQuantity.AsFloat := ItemOption.quantity;
    DM.cdsOptionsunitPriceValue.AsCurrency := ItemOption.unitPrice.value;
    DM.cdsOptionsunitPriceCurrency.AsString := ItemOption.unitPrice.currency;
    DM.cdsOptionstotalPriceValue.AsCurrency := ItemOption.totalPrice.value;
    DM.cdsOptionstotalPriceCurrency.AsString := ItemOption.totalPrice.currency;
    DM.cdsOptionsspecialInstructions.AsString := ItemOption.specialInstructions;

    DM.cdsOptions.Post;
  end;

Explicação:

O exemplo estava tentanto acessar um item inválido (só tem um). O indice do laço só é válido para os options, e não para o item. 

  • Obrigado 1
  • Este tópico foi criado há 283 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.