Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 06-04-2010
Miguel Galarza Miguel Galarza is offline
Miembro
 
Registrado: jul 2004
Posts: 16
Poder: 0
Miguel Galarza Va por buen camino
Si

Gracias por contestar y tomarte el trabajo de tratar de entender esto, muy buena la explicacion, Lo de clonar me quedo claro, pero lo que necesito y no puedo hacer es
1) dar dimension a Items (que es un Arrayofitem)
el error es "incompatible Types.
2) Dar valor a cada elemento de item
Código Delphi [-]
setlength(BFERequest.items,9)
Código Delphi [-]
BFERequest.items[0].cada_uno_de_los_elementos_de_Item:=xxxxx
Intente esto otro, asignar valor a cada elemento de Item y luego asignar este al Arrayofitem
Código Delphi [-]
        par3.Pro_codigo_ncm:=Valor_Pro_codigo_ncm;
        [....]
        par3.Iva_id:=Valor_'Iva_id;
        par4.Items[0]:=par3 as TRemotable;
Pero el xml me queda asi de malo
Código:
<?xml version="1.0"?>
      [......]
     <Items xmlns="" xsi:type="NS3:Array" NS3:arrayType="NS1:Item[9]">
      <item href="#5"/>
      <item xsi:nil="true"/>
      <item xsi:nil="true"/>
      <item xsi:nil="true"/>
      <item xsi:nil="true"/>
      <item xsi:nil="true"/>
      <item xsi:nil="true"/>
      <item xsi:nil="true"/>
      <item xsi:nil="true"/>
    </Items>
  </NS1:ClsBFERequest>
  <NS1:Item id="5" xsi:type="NS1:Item">
    <Pro_codigo_ncm xmlns="" xsi:type="NS2:string">87.16.40.00</Pro_codigo_ncm>
    <Pro_codigo_sec xmlns="" xsi:type="NS2:string">47</Pro_codigo_sec>
    <Pro_ds xmlns="" xsi:type="NS2:string">descripcion articulo</Pro_ds>
    <Pro_qty xmlns="" xsi:type="NS2:double">1</Pro_qty>
    <Pro_umed xmlns="" xsi:type="NS2:int">7</Pro_umed>
    <Pro_precio_uni xmlns="" xsi:type="NS2:double">98751.13</Pro_precio_uni>
    <Imp_bonif xmlns="" xsi:type="NS2:double">0</Imp_bonif>
    <Imp_total xmlns="" xsi:type="NS2:double">109120</Imp_total>
    <Iva_id xmlns="" xsi:type="NS2:short">10</Iva_id>
  </NS1:Item>
</BFEAuthorize>
O sea que Items xmlns queda vacio y se agrega un nodo mal.
Gracias de nuevo!
Responder Con Cita
  #2  
Antiguo 06-04-2010
Avatar de Lord Delfos
Lord Delfos Lord Delfos is offline
Miembro
 
Registrado: ene 2008
Ubicación: Tandil, Argentina
Posts: 558
Poder: 19
Lord Delfos Va por buen camino
Hmmm... Habría que ver cómo generás el XML, porque haciendo un SetLength(BFERequest.Fitems, 9) te da un arreglo de 0..8... Cómo uno le meta valores debería ser irrelevante, siempre y cuando sea en el rango 0..8.
Responder Con Cita
  #3  
Antiguo 06-04-2010
Miguel Galarza Miguel Galarza is offline
Miembro
 
Registrado: jul 2004
Posts: 16
Poder: 0
Miguel Galarza Va por buen camino
Solucionado!

Esto es solo para cerrar y por si a algun despistado como yo le pasa algo parecido.
Aclaro que estas clases fueron generadas por wsdl importer de la paleta webservices, y solo se puede acceder a las propiedades publicadas.
El tema esta en el orden de la creacion de las clases.
para crearlas.
Código Delphi [-]
   par3:=item.Create; //crear la clase item
   setlength(par4,Fact.RecNo);//dimensionar Arrayofitem
   par1 :=ClsBFEAuthRequest.Create;//crear BFEResponseAuthorize
   par2:=ClsBFERequest.Create; //crear cslBFERequest
   par2.Items:=par4;//igualar dimension de par2.Items que es un arrayofitem
Ahora la asignacion de valores que me traia problemas

Código Delphi [-]
      par2.fecha_cbte:=formatDateTime('d/mm/yyyy',ValorCampo(fact,'fecha_cbte'));
      fact.First;
      while not fact.Eof do
      begin
        par3.Pro_precio_uni:=ValorCampo(fact,'Pro_precio_uni');
        par3.Imp_bonif:=0;
[...]
        par3.Imp_total:=ValorCampo(fact,'Imp_total');
        par3.Iva_id:=ValorCampo(fact,'Iva_id');    
        par4[Fact.RecNo-1]:=par3 as TRemotable; //ponemos el valor del item en Arrayofitem
        fact.Next;
      end;
      for i := 0 to Fact.RecNo-1 do
      begin
        par2.Items[Fact.RecNo-1]:=par4[Fact.RecNo-1];//asignamos cada arrayofitem a items de par2
      end;
y listo ... gracias Lord siempre tan atento vos ... un abrazo
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Class TfrxCheckBoxView Aprendiendo Impresión 1 03-11-2010 22:08:22
problemas con array o array noodle_ OOP 7 19-06-2008 22:30:57
Class jakuna OOP 4 26-08-2007 01:42:20
'Class not registered' Enan0 Varios 7 27-06-2005 17:20:27
Como Asignar Variable Tipo Array de Tform a otro Array del Mismo tipo morfeo21 Varios 5 17-08-2004 17:39:51


La franja horaria es GMT +2. Ahora son las 17:13:34.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi