Isso é ruim pra dormir, e também pra trabalhar, porque acaba tirando a concentração.
DifÃcil concentrar em coisas mais complicadas... apesar que música ajuda, pra "esquecer" um pouco o zumbido.
Nessas horas, aquilo de ter deixado todos os fontes fáceis ajuda muito.
Necessidade:
na nota fiscal eletrônica, mostrar o número sequencial aonde aparece o produto no pedido de compra, além do próprio número de pedido.
Vamos pensar... só o usuário digitando mesmo.... e na digitação do produto no pedido.... e precisa salvar junto do produto...
Alterar estrutura, em ze_updatedbf.prg
{ "IPPEDCOM", "C", 6 }, ; // Sequencia no pedido de compra
Fora de uso, mas já que inventei, também estrutura em ze_updatemysql.prg
"IPPEDCOM VARCHAR(6) NOT NULL DEFAULT '', " + ;
Pronto, agora o arquivo tem o campo, falta digitar.
É criar varÃavel, GET, salvar, isto no módulo pedidos, na digitação de produtos.
Rotina IncAltItem()
LOCAL mipPedCom
...
mipPedCom := jpitped->ipPedCom
...
@ Row() + 1, 3 SAY "Seq.Pedido Compra" GET mipPedCom PICTURE "@K 999999" VALID ReturnValue( .T., mipPedCom := iif( Val( mipPedCom ) == 0, Space(6), StrZero( Val( mipPedCom ), 6 ) ) )
...
/* REPLACE */ jpitped->ipPedCom WITH mipPedCom, ;
E agora colocar na nota eletrônica
STATIC FUNCTION NfeBlocoProdutoCompra( cXml )
LOCAL xItem, xPedido
xItem := StrZero( Val( SoNumeros( jpitped->ipPedCom ) ), 6 )
xPedido := Left( AllTrim( jppedi->pdPedCli ), 15 ) // limite fazenda 15 caracteres
IF ! Empty( jppedi->pdPedCli )
cXml += XmlTag( "xPed", xPedido )
ENDIF
IF Val( xItem ) != 0
cXml += XmlTag( "nItemPed", xItem )
ENDIF
RETURN NIL
Também posso alterar a versão dos DBFs, já que tem um campo a mais.
Alterando a versão dos DBFs, será feito um backup automático antes da alteração de estrutura - também automática.
FUNCTION AppVersaoDbf()
RETURN 20180704
Pronto.
Agora é gerar um novo aplicativo e deixar na internet.
Depois é só o cliente clicar em atualizar versão, e já fica pronto pra uso.
Posso até pensar em alterar aquele outro campo: pdPedCli, pra pdPedCom, pra não me confundir depois com os nomes.
Este é no pedido, e o outro é nos itens. Apesar de nos itens não ser o número do pedido, está relacionado com o pedido de compra, e fica mais fácil definir o nome assim do que pdSeqPedCom ou outra coisa, que até ultrapassa o limite de 8 caracteres.
Tudo tem a ver com ficar fácil... quanto mais fácil, mais rápida e segura uma alteração.
E acabamos mantendo o ritmo mesmo quando estamos fora do ritmo.... rs
Para o cliente... tudo certo... tudo caminha como sempre foi... o atendimento não está comprometido.
É como eu digo: é aproveitar bastante quando está bom, pra deixar tudo fácil. E depois, bom ou ruim, tudo vai fácil.