Fórum WebService Erro no retorno #413225
24/02/2012
0
Boa tarde!
Estou com problemas na implantação de uma função no webservice com uma variável que retorna uma sequência de números, ex.: 1 à 100. Eu executo a função, o cadastro funciona, mas no retorno da variável o erro acontece.
A passagem do parâmetro está correta? Ou falta alguma coisa?
Se alguém puder me ajudar, ficarei grato!
ArrayOfAnyType = array of anyType;
function WS_CadastraPromocao(const sFpaCodigoPromocao: string; const sFpaNomePromocao: string; const nFpaValorPromocao: TXSDecimal; const sFpaDataInicio: string; const sFpaDataValidade: string; const sFpaUtilizacao: string;
const sFpaFlFeriado: string; const sFpaFlPadrao: string; const sFpaFlCodNumerico: string; const sFpaCodigoPromocaoCupom: string; const nFpaQuantidade: Integer;
const sFpaCodigoEmpresa: string; var oFpaListaCupom: ArrayOfAnyType): RetornoFuncao; stdcall;
procedure TWS00T09.btnOkClick(Sender: TObject);
VAR ws: ValidacaoPromocaoSoap;
listaCupons: ArrayOfAnyType;
begin
if btnOK.Caption = &OK then
begin
ws := HTTPRIO as ValidacaoPromocaoSoap;
Try
if ws.WS_VerificaServico then
Begin
codPromo := IntToStr(AuxCHAVE);
nomepromo := Trim(TITULO.Text);
valorpromo := TXSDecimal.Create;
valorpromo.DecimalString := FloatToStr(feValor.Value);
datainicio := FormatDateTime(dd/mm/yyyy,DATA_INICIO.DateTime);
datavalidade:= FormatDateTime(dd/mm/yyyy,DATA_FIM.DateTime);
utilizacao:=seg+ter+qua+qui+sex+sab+dom;
if FERIADOS.Checked=True then feriado:=S else feriado:=N;
if RBPadraoS.Checked=True then padrao:=1 else padrao:=0;
if RBCodNumS.Checked=True then codnumerico:=S else codnumerico:=N;
codpromocupom:= Trim(edtCodNumIng.Text);
codempresa := Trim(dbEmpresa.KeyValue);
qtd := FloatToStr(feQtd.Value);
quantidade := StrToInt(qtd);
Try
if ws.WS_CadastraPromocao(codPromo,nomepromo,valorpromo,datainicio,datavalidade,utilizacao,feriado,padrao,codnumerico,codpromocupom,quantidade,codempresa,listaCupons).nRetorno = 0 then
Att.
Marcio Lima
Estou com problemas na implantação de uma função no webservice com uma variável que retorna uma sequência de números, ex.: 1 à 100. Eu executo a função, o cadastro funciona, mas no retorno da variável o erro acontece.
A passagem do parâmetro está correta? Ou falta alguma coisa?
Se alguém puder me ajudar, ficarei grato!
ArrayOfAnyType = array of anyType;
function WS_CadastraPromocao(const sFpaCodigoPromocao: string; const sFpaNomePromocao: string; const nFpaValorPromocao: TXSDecimal; const sFpaDataInicio: string; const sFpaDataValidade: string; const sFpaUtilizacao: string;
const sFpaFlFeriado: string; const sFpaFlPadrao: string; const sFpaFlCodNumerico: string; const sFpaCodigoPromocaoCupom: string; const nFpaQuantidade: Integer;
const sFpaCodigoEmpresa: string; var oFpaListaCupom: ArrayOfAnyType): RetornoFuncao; stdcall;
procedure TWS00T09.btnOkClick(Sender: TObject);
VAR ws: ValidacaoPromocaoSoap;
listaCupons: ArrayOfAnyType;
begin
if btnOK.Caption = &OK then
begin
ws := HTTPRIO as ValidacaoPromocaoSoap;
Try
if ws.WS_VerificaServico then
Begin
codPromo := IntToStr(AuxCHAVE);
nomepromo := Trim(TITULO.Text);
valorpromo := TXSDecimal.Create;
valorpromo.DecimalString := FloatToStr(feValor.Value);
datainicio := FormatDateTime(dd/mm/yyyy,DATA_INICIO.DateTime);
datavalidade:= FormatDateTime(dd/mm/yyyy,DATA_FIM.DateTime);
utilizacao:=seg+ter+qua+qui+sex+sab+dom;
if FERIADOS.Checked=True then feriado:=S else feriado:=N;
if RBPadraoS.Checked=True then padrao:=1 else padrao:=0;
if RBCodNumS.Checked=True then codnumerico:=S else codnumerico:=N;
codpromocupom:= Trim(edtCodNumIng.Text);
codempresa := Trim(dbEmpresa.KeyValue);
qtd := FloatToStr(feQtd.Value);
quantidade := StrToInt(qtd);
Try
if ws.WS_CadastraPromocao(codPromo,nomepromo,valorpromo,datainicio,datavalidade,utilizacao,feriado,padrao,codnumerico,codpromocupom,quantidade,codempresa,listaCupons).nRetorno = 0 then
Att.
Marcio Lima
Empresa S/a.
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)