Consulta optante do simples online
Moderador: Moderadores
Consulta optante do simples online
Oi Toledo, se vc quiser compartilhar o que já tem, talvez possamos ajudar o finalizar a montagem do xml da NFe.
Wanderlei Cardoso
Analista / Programador
XHarbour + GtWvW + FiveWin + HwGui + Firebird
Skype: cwanderlei
cwanderlei@yahoo.com.br
(62)98171-3059 - whatsapp

Analista / Programador
XHarbour + GtWvW + FiveWin + HwGui + Firebird
Skype: cwanderlei
cwanderlei@yahoo.com.br
(62)98171-3059 - whatsapp

Consulta optante do simples online
Olá Pessoal,
Realizei pequenas alterações para compatibilizar com xharbour e FiveWin a consulta simples.
Deve ser criada uma dialog com os recursos informados ou então criar com o @Say/Get
Linkar a hbcc.lib
Realizei pequenas alterações para compatibilizar com xharbour e FiveWin a consulta simples.
Deve ser criada uma dialog com os recursos informados ou então criar com o @Say/Get
Linkar a hbcc.lib
Código: Selecionar todos
// -------------------------------------------------------------------------- //
// Arquivo.....: ConsultaNfe.prg
// Criado em...: 02/05/2016 as 10:41:18
// Projeto.....: Consulta Simples
// Programador.: Daniel Denobie - denobie@hotmail.com
// Alterado por: Daniel Segura Fernandes ciacpd@hotmail.com
// Objetivo....: Compatibilizar com FiveWin xHarbour
// -------------------------------------------------------------------------- //
#include "FiveWin.ch"
#include "directry.ch"
#include "Fileio.ch"
#include "tip.ch"
#define _MSXML2_ServerXMLHTTP 'MSXML2.ServerXMLHTTP.5.0'
// -------------------------------------------------------------------------- //
FUNCTION Busca_NFe_Portal()
Private cUrl := "http://www.nfe.fazenda.gov.br/portal/consulta.aspx?tipoConsulta=completa&tipoConteudo=XbSeqxE8pl8="
Private cUrl1:= "http://www.nfe.fazenda.gov.br/portal/consultaCompleta.aspx?tipoConteudo=XbSeqxE8pl8="
Private cUrl2:= 'http://www.nfe.fazenda.gov.br/portal/consultaCompleta.aspx?tipoConteudo=XbSeqxE8pl8%3d'
Private oImgCaptcha, oCaptcha, cCaptcha:=space(6), oChave, cChave:=space(44),;
cStringCookie, cViewState, cViewStateGenerator, cEeventValidation, cHiddenToken, cCodigo, cHtml
Private cHiddenSom, oDlg, oServer
Consulta()
Define Dialog oDlg Resource 'GERNFE'
Redefine Get oCaptcha Var cCaptcha ID 4001 Of oDlg
Redefine Get oChave Var cChave ID 4002 Of oDlg
Redefine Image oImgCaptcha FILENAME "captcha.png" ID 4004 Of oDlg Adjust
Redefine BtnBmp ID 4005 Resource 'REFRESH16' Of oDlg Action Captcha(cHtml) //ImageNFE( oDlg, cCaptcha )
Redefine Button ID 4003 Of oDlg Action ( oDlg:End() )
oDlg:lHelpIcon:=.f.
Activate Dialog oDlg Centered On Init Captcha(cHtml) // ImageNFE( oDlg, cCaptcha )
If ! Consulta1(cChave, cCaptcha)
nmsgbox('Ocorreu um ERRO na consulta.', xSWH+' Informa.')
return .f.
Else
nmsgbox('Consulta realizada com sucesso.', xSWH+' Informa.')
EndIf
Return .t.
// -------------------------------------------------------------------------- //
Function Consulta()
mensagem("Criando a conecção com o partal da NFe. Aguarde!!!")
Try
oServer:= CreateObject( _MSXML2_ServerXMLHTTP )
Catch
MsgInfo('Erro na Criação do Serviço', xSWH+' Informa.')
mensagem("")
Return .f.
End
Try
oServer:Open( "GET", cUrl, .f. )
oServer:SetRequestHeader( "Content-Type", "application/x-www-form-urlencoded" )
oServer:SetRequestHeader( "Connection", "keep-alive" )
oServer:Send()
oServer:WaitForResponse( 10000 )
Catch
MsgInfo('Erro na Conexão com o Site', xSWH+' Informa.')
mensagem("")
Return .f.
End
cHtml:= oServer:ResponseBody
cStringCookie:= oServer:getResponseHeader("Set-Cookie")
mensagem('')
MemoWrit("html_nfei.txt", cHtml)
nInie := At('id="ctl00_ContentPlaceHolder1_lblMensagemErro">', cHtml) + 47
If nInie > 47
cHtml1 := SubStr( cHtml, nInie)
nFime := At('</span>', cHtml1) - 1
cMsgErro:= SubStr(cHtml, nInie, nFime)
If ! Empty(cMsgErro)
MsgInfo(cMsgErro, 'Erro no Site ' + cUrl)
Return .f.
EndIf
EndIf
nIni := At('id="__VIEWSTATE" value=', cHtml) + 24
cHtml1:= SubStr( cHtml, nIni)
nFim := At('" />', cHtml1) - 1
cViewState:= SubStr(cHtml, nIni, nFim)
nIni1 := At('id="__EVENTVALIDATION" value="', cHtml) + 30
cHtml1:= SubStr( cHtml, nIni1)
nFim1 := At('" />', cHtml1) - 1
cEeventValidation:= SubStr(cHtml, nIni1, nFim1)
nIni2 := At('id="__VIEWSTATEGENERATOR" value="', cHtml) + 33
cHtml1:= SubStr( cHtml, nIni2)
nFim2 := At('" />', cHtml1) - 1
cViewStateGenerator:= SubStr(cHtml, nIni2, nFim2)
nIni3 := At('id="ctl00_ContentPlaceHolder1_token" value="', cHtml) + 44
cHtml1:= SubStr( cHtml, nIni3)
nFim3 := At('" />', cHtml1) - 1
cHiddenToken:= SubStr(cHtml, nIni3, nFim3)
nIni4 := At('id="ctl00_ContentPlaceHolder1_captchaSom" value="', cHtml) + 49
cHtml1:= SubStr( cHtml, nIni4)
nFim4 := At('" />', cHtml1) - 1
cHiddenSom:= SubStr(cHtml, nIni4, nFim4)
memowrit( 'html_nfef.txt' , cHtml )
If ! Captcha(cHtml)
Return .F.
EndIf
Return .t.
// -------------------------------------------------------------------------- //
Function Captcha(cHtml)
nIni := At('data:image/png;base64,', cHtml) + 22
cHtml1:= SubStr(cHtml, nIni)
nFim := At('" style="border-width:0px;" />', cHtml1) - 2
cFile:= SubStr(cHtml, nIni, nFim)
txt_file:=fcreate("captcha.png", 0)
If (!(ferror() = 0))
MsgInfo("Erro de criacao do arquivo de imagem " + Str(ferror(), 3, 0))
Return .f.
EndIf
cCodigo:= SubStr(cHtml, nIni, nFim)
If Empty(cCodigo)
MsgInfo("Erro de criacao do arquivo de imagem")
Return .f.
EndIf
cDecoded := HB_B64DECODE( cCodigo )
FWrite(txt_file , cDecoded)
FClose(txt_file)
if valtype('oImgCaptcha') == 'O'
cImgCaptcha:='captcha.png'
oImgCaptcha:Hide()
oImgCaptcha:LoadBmp( cImgCaptcha )
oImgCaptcha:Show()
oImgCaptcha:Refresh( .t. )
endif
sysrefresh()
Return .T.
// -------------------------------------------------------------------------- //
Function Consulta1(cChave, cCaptcha)
Local oInternet, cParm, cRet:= cHtml:= ''
If ! DigitoChave(cChave)
Return Nil
EndIf
cParm:= { { "__EVENTARGUMENT", "" },;
{ "__EVENTTARGET", "" },;
{ "__EVENTVALIDATION", cEeventValidation },;
{ "__VIEWSTATE", cviewState },;
{ "__VIEWSTATEGENERATOR", cViewStateGenerator },;
{ "ctl00$ContentPlaceHolder1$btnConsultar", "Continuar" },;
{ "ctl00$ContentPlaceHolder1$captchaSom", cHiddenSom},;
{ "ctl00$ContentPlaceHolder1$token", cHiddenToken },;
{ "ctl00$ContentPlaceHolder1$txtCaptcha", cCaptcha },;
{ "ctl00$ContentPlaceHolder1$txtChaveAcessoCompleta", cChave },;
{ "ctl00$txtPalavraChave", "" },;
{ "hiddenInputToUpdateATBuffer_CommonToolkitScripts", "1"}}
Try
oInternet:= TIPClientHTTP():New(cUrl, .f.)
Catch
MsgInfo('Erro na Criação do Serviço')
Return .f.
End
oInternet:SetCookie(cStringCookie)
If oInternet:Open()
If oInternet:POST(cParm)
cRet:=oInternet:ReadAll()
Else
msgInfo('Erro no Post ' + cUrl , xSWH+' Informa.')
Return .F.
EndIf
Else
msgInfo('Erro na Conexão', xSWH+' Informa.')
Return .f.
EndIf
oInternet:Close()
If At('id="ctl00_ContentPlaceHolder1_bltMensagensErro" class="listaErro">', cRet) > 0
cPart:= Substr(cRet, (At('id="ctl00_ContentPlaceHolder1_bltMensagensErro" class="listaErro">', cRet) + 66))
cPart:= Substr(cPart, (At('<li>', cPart) + 4))
MsgInfo(Troca_Acento(SubStr(cPart, 1, (At('</li>', cPart) - 1))))
Return .f.
EndIf
Try
oInternet:= TIPClientHTTP():New(cUrl1, .f.)
oInternet:nConnTimeout:= 10000
Catch
MsgInfo('Erro na Criação do Serviço', xSWH+' Informa.')
Return .f.
End
oInternet:SetCookie(cStringCookie)
If oInternet:Open()
cHtml:=oInternet:ReadAll()
cStringCookie:= oInternet:GetCookies()
Else
msgInfo('Erro na Conexão')
Return .f.
EndIf
oInternet:Close()
MemoWrit('result.htm', cHtml, .f.)
If At('id="ctl00_ContentPlaceHolder1_lblResultadoConsulta">', cHtml) > 0
cPart:= Substr(cHtml, (At('id="ctl00_ContentPlaceHolder1_lblResultadoConsulta">', cHtml) + 52))
MsgInfo(SubStr(cPart, 1, (At('</span>', cPart) - 1)))
Return .f.
EndIf
//eleminas partes não usadas
If ! Empty(cHtml)
nIni1 := At('<html><link ', cHtml)
cParte := SubStr(cHtml, nIni1)
nIni1 := At('<div id="ctl00_ContentPlaceHolder1_divBotoesConsulta"', cParte)
cParte1:= SubStr(cParte, 1, nIni1 - 1)
nFim1 := At('</form>', cParte1)
cFile := SubStr(cParte1, nFim1)
MemoWrit('resulta.htm', cFile, .f.)
Else
Return .f.
EndIf
sysrefresh()
Shellexecute( , "open" , 'resulta.htm' )
Return .T.
// -------------------------------------------------------------------------- //
Function DigitoChave(CodigoChave)
Local indice:= '4329876543298765432987654329876543298765432'
Local digito
nSoma:= 0
For contador:= 1 to 43
nSoma+= (Val(SubStr(CodigoChave, contador, 1)) * Val(SubStr(indice, contador, 1)))
Next
digito:= (nSoma % 11)
If digito == 0 .Or. digito == 1
digito := 0
Else
digito := (11 - digito)
EndIf
If SubStr(CodigoChave, 44, 1) != LTrim(Str(digito, 1))
MsgStop('Código da Chave Errado....', 'Aviso do Sistema')
Return .f.
EndIf
Return .t.
// -------------------------------------------------------------------------- //
Function Troca_Acento(cTexto)
cTexto := StrTran( cTexto, "ó", "ó" )
cTexto := StrTran( cTexto, "á", "á" )
Return cTexto
// -------------------------------------------------------------------------- //
Daniel Segura
ciacpd@hotmail.com
clipper/FW - xharbour/hwgui
ciacpd@hotmail.com
clipper/FW - xharbour/hwgui
Consulta optante do simples online
Oi Toledo, vc conseguiu terminar a montagem do xml da NF-e?
Wanderlei Cardoso
Analista / Programador
XHarbour + GtWvW + FiveWin + HwGui + Firebird
Skype: cwanderlei
cwanderlei@yahoo.com.br
(62)98171-3059 - whatsapp

Analista / Programador
XHarbour + GtWvW + FiveWin + HwGui + Firebird
Skype: cwanderlei
cwanderlei@yahoo.com.br
(62)98171-3059 - whatsapp

- Toledo
- Administrador

- Mensagens: 3133
- Registrado em: 22 Jul 2003 18:39
- Localização: Araçatuba - SP
- Contato:
Consulta optante do simples online
Amigos, faltou tempo mesmo, mas esta semana eu posto o código pronto.
Abraços,
Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
- Toledo
- Administrador

- Mensagens: 3133
- Registrado em: 22 Jul 2003 18:39
- Localização: Araçatuba - SP
- Contato:
Consulta optante do simples online
Amigos, desculpe a demora, mas segue um demo de como importar o xML da NFe usando como base a página de consulta completa da SEFAZ.
Bom, como existe vários tipos de NFe, este demo importa o básico, então dependendo da NFe pode não funcionar corretamente.
Algumas TAGs também não foram incluídas neste demo (IPI, verAplic, infAdFisco, SignatureValue, KeyInfo, etc), ou por falta de exemplo ou por não ser apresentado na consulta da SEFAZ, então tem que ser implementado caso a caso.
Então façam testes com este demo, e se o xML não for importado corretamente, poste aqui a Chave da NFe para que eu possa fazer um teste.
Uma dica: para verificar se o xML foi importado corretamente, abrir o xML usando o Navegador de Internet (IE, Firefox, Chrome,etc), se o arquivo tiver algum problema, a estrutura do xML não será apresentada corretamente.
Abraços,
Bom, como existe vários tipos de NFe, este demo importa o básico, então dependendo da NFe pode não funcionar corretamente.
Algumas TAGs também não foram incluídas neste demo (IPI, verAplic, infAdFisco, SignatureValue, KeyInfo, etc), ou por falta de exemplo ou por não ser apresentado na consulta da SEFAZ, então tem que ser implementado caso a caso.
Então façam testes com este demo, e se o xML não for importado corretamente, poste aqui a Chave da NFe para que eu possa fazer um teste.
Uma dica: para verificar se o xML foi importado corretamente, abrir o xML usando o Navegador de Internet (IE, Firefox, Chrome,etc), se o arquivo tiver algum problema, a estrutura do xML não será apresentada corretamente.
Abraços,
- Anexos
-
nfe_importarXML.rar- (768.54 KiB) Baixado 342 vezes
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
- rubens
- Colaborador

- Mensagens: 1520
- Registrado em: 16 Ago 2003 09:05
- Localização: Nova Xavantina - MT
Consulta optante do simples online
:{ :{ :{ :{
)
)
)
)
:|< :|< :|< :|<
É claro que não poderíamos esperar menos do MESTRE !!!
Muito obrigado Toledo...
Para fim funcionou perfeitamente...
Agora é só implementar...
Os smilies representam exatamente como estou me sentindo... kkkk Estava num problemão...
Valeu... Obrigado...
Rubens
:|< :|< :|< :|<
É claro que não poderíamos esperar menos do MESTRE !!!
Muito obrigado Toledo...
Para fim funcionou perfeitamente...
Agora é só implementar...
Os smilies representam exatamente como estou me sentindo... kkkk Estava num problemão...
Valeu... Obrigado...
Rubens
"Eu e minha casa servimos ao Senhor e você
"
Consulta optante do simples online
Toledo ficou ótimo a rotina, meus agradecimentos a você e ao Daniel por ter tido a gentileza de iniciar esta função, obrigado.
Wanderlei Cardoso
Analista / Programador
XHarbour + GtWvW + FiveWin + HwGui + Firebird
Skype: cwanderlei
cwanderlei@yahoo.com.br
(62)98171-3059 - whatsapp

Analista / Programador
XHarbour + GtWvW + FiveWin + HwGui + Firebird
Skype: cwanderlei
cwanderlei@yahoo.com.br
(62)98171-3059 - whatsapp

Consulta optante do simples online
Olá a todos
Toledo, implementei a rotina no meu sistema e ficou muito bom, parabéns e obrigado por disponibilizar.
Uma dúvida, ao baixar uma nota de compra, parece que não está trazendo os valores de icms, icmsst dos itens, tem como implementar?
Obrigado
Poka
Toledo, implementei a rotina no meu sistema e ficou muito bom, parabéns e obrigado por disponibilizar.
Uma dúvida, ao baixar uma nota de compra, parece que não está trazendo os valores de icms, icmsst dos itens, tem como implementar?
Obrigado
Poka
- Toledo
- Administrador

- Mensagens: 3133
- Registrado em: 22 Jul 2003 18:39
- Localização: Araçatuba - SP
- Contato:
Consulta optante do simples online
Amigo, poste aqui a Chave da NFe ou envie por MP (Mensagem Privada) para mim, para que eu possa fazer um teste.
Abraços,
Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Consulta optante do simples online
Olá Toledo
segue duas chaves
a diferença é só nos itens.
tem com cst 010 e cst 020
35160848709125000111550000000064431106954701
35160916888303000122550010001419571742957058
Obrigado
Poka
segue duas chaves
a diferença é só nos itens.
tem com cst 010 e cst 020
35160848709125000111550000000064431106954701
35160916888303000122550010001419571742957058
Obrigado
Poka
- rubens
- Colaborador

- Mensagens: 1520
- Registrado em: 16 Ago 2003 09:05
- Localização: Nova Xavantina - MT
Consulta optante do simples online
Olá...
Estou com um problema para baixar no Server 2008. Dá a mensagem de
Alguém tem alguma dica...?´
E o problema é no windows server mesmo...
O meu servidor que é igualzinho funciona, em outro cliente com o server 2008 também...
Obg
Rubens
Estou com um problema para baixar no Server 2008. Dá a mensagem de
Já baixei a segurança, consigo acessar internet n servidor, mas nao abre a conexão via Classe...'Erro na Conexão com o Site'
Alguém tem alguma dica...?´
E o problema é no windows server mesmo...
O meu servidor que é igualzinho funciona, em outro cliente com o server 2008 também...
Obg
Rubens
"Eu e minha casa servimos ao Senhor e você
"
Consulta optante do simples online
utilzo a Dll pra importar mas vou migrar para esta rotina por ficar mais direto e não depender de mais um componente de terceiros..
mas ao importar uma chave utilizando a Dll e com a rotina percebi algumas leves diferenças, 3 na verdade, 2 já corrigi 1 não entendi muito a lógica...
Qdo importo uma chave via Dll na TAG PIS e COFINS vem PISOutr e COFINSOutr sendo q o correto é PISAliq e COFINSAliq... ok só alterar e lá tb pra vir as tags dos percentuais pCOFINS e pPIS tem q trocar onde esta Aliquota (%) para Aliquota...
Fora isto preciso na TAG "transp" colocar a subTAG "veicTransp" q não tem e dentro dela "placa" e "UF"
Tentei adicionar as linhas abaixo
Alguém saberia?
mas não não fecha
mas ao importar uma chave utilizando a Dll e com a rotina percebi algumas leves diferenças, 3 na verdade, 2 já corrigi 1 não entendi muito a lógica...
Qdo importo uma chave via Dll na TAG PIS e COFINS vem PISOutr e COFINSOutr sendo q o correto é PISAliq e COFINSAliq... ok só alterar e lá tb pra vir as tags dos percentuais pCOFINS e pPIS tem q trocar onde esta Aliquota (%) para Aliquota...
Fora isto preciso na TAG "transp" colocar a subTAG "veicTransp" q não tem e dentro dela "placa" e "UF"
Tentei adicionar as linhas abaixo
Código: Selecionar todos
* Conteudo elementos da Matriz = {VALOR_TAG,TAG,TAG_PAI,Elemento_Final_TAG_PAI,LABEL_HTML,TAM_LABEL}
AADD(aTransp,{{"","modFrete","transp",14,"Modalidade do Frete",1},; //1-
{"","CNPJ","transporta",8,"CNPJ",0},; //2-
{"","CPF","",0,"CPF",0},; //3-
{"","xNome","",0,"Razão Social / Nome",0},; //4-
{"","IE","",0,"Inscrição Estadual",0},; //5-
{"","xEnder","",0,"Endereço Completo",0},; //6-
{"","xMun","",0,"Município",0},; //7-
{"","UF","",0,"UF",0},; //8-
{"","placa","veicTransp",7,"Placa",0},; //9- ADICIONEI ESSAS 2 LINHAS
{"","UF","",0,"UF",0},; //9- MAS NAO RESOLVEU
{"","qVol","vol",14,"Quantidade",0},; //9-
{"","esp","",0,"Espécie",0},; //10-
{"","marca","",0,"Marca dos Volumes",0},; //11-
{"","nVol","",0,"Volume",0},; //12-
{"","pesoL","",0,"Peso Líquido",0},; //13-
{"","pesoB","",0,"Peso Bruto",0}}) //14-
mas não não fecha
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:
“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”.
Até 2017 Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL
Novos Projetos:
Desktop Visual Windev Desktop
Celular Android/iOS Windev Mobile
WEB Windev Web
Sejamos gratos a Deus.
“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”.
Até 2017 Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL
Novos Projetos:
Desktop Visual Windev Desktop
Celular Android/iOS Windev Mobile
WEB Windev Web
Sejamos gratos a Deus.
Consulta optante do simples online
Ola
Código: Selecionar todos
* Conteudo elementos da Matriz = {VALOR_TAG,TAG,TAG_PAI,Elemento_Final_TAG_PAI,LABEL_HTML,TAM_LABEL}
AADD(aTransp,{{"","modFrete","transp",17,"Modalidade do Frete",1},; //1-
{"","CNPJ","transporta",8,"CNPJ",0},; //2-
{"","CPF","",0,"CPF",0},; //3-
{"","xNome","",0,"Razão Social / Nome",0},; //4-
{"","IE","",0,"Inscrição Estadual",0},; //5-
{"","xEnder","",0,"Endereço Completo",0},; //6-
{"","xMun","",0,"Município",0},; //7-
{"","UF","",0,"UF",0},; //8-
{"",'placa','veicTransp',11,'Placa',0},; //9-
{"","UF","",0,"UF",0},; //10-
{"","RNTC","",0,"RNTC",0},; //11-
{"","qVol","vol",17,"Quantidade",0},; //12-
{"","esp","",0,"Espécie",0},; //13-
{"","marca","",0,"Marca dos Volumes",0},; //14-
{"","nVol","",0,"Volume",0},; //15-
{"","pesoL","",0,"Peso Líquido",0},; //16-
{"","pesoB","",0,"Peso Bruto",0}}) //17-Daniel
Harbour + Minigui + dbfcdx
Marinas-Gui Pena que parou o suporte
Harbour + Minigui + dbfcdx
Marinas-Gui Pena que parou o suporte
Consulta optante do simples online
Vlw Daniel
obrigado.
obrigado.
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:
“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”.
Até 2017 Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL
Novos Projetos:
Desktop Visual Windev Desktop
Celular Android/iOS Windev Mobile
WEB Windev Web
Sejamos gratos a Deus.
“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”.
Até 2017 Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL
Novos Projetos:
Desktop Visual Windev Desktop
Celular Android/iOS Windev Mobile
WEB Windev Web
Sejamos gratos a Deus.


