Jump to content
Fivewin Brasil

marcioe

Membros
  • Posts

    1,289
  • Joined

  • Last visited

  • Days Won

    43

Posts posted by marcioe

  1. Claro que não Vem ao caso, mas fiz uma tela de mesas, usando XBROWSE com Array,e imagens, fica bem legal.

     

    Claro que não se aplica a sua realidade, isso, mas serve pra voce tirar ideias.
    Nesse casos as mesas são dinâmicas( tem cliente com 500 mesas, tem com 30) e são cadastradas  no BD. 
    Tem um Time que atualiza essa tela abaixo em tempos em tempos.  
    Claro que terá que fazer conforme a sua realidade, mas poderia colocar a foto do veiculo, ou a placa dele no lugar o "icone do garçon", etc...

    Whats-App-Image-2024-03-28-at-5-04-22-PM

     

     

    measa.jpg

     

    finaliza.jpg


     

    Se precisar de mais informaçoes, pode me chamar no Zap  (32)9 8892-5094

     

     

     

     

  2. O amigo Luiz Fernando Empresoft

     

    Muito Obrigado 

    Segue caso ajude mais amigos


            *------------------------------------------------------------------------- 
            oDB_T_NOTA_SAIDA:bRClicked                 := { | nRow, nCol | popmenu2( nRow, nCol, oDB_T_NOTA_SAIDA) }

     

     

    *-------------------------------------------------------------------------------
    *-------------------------------------------------------------------------------
    static function popmenu2( nRow, nCol, oBrw_geral)
       local oPopup, oFont
       wCol=oBrw_geral:nColSel
       nLin=oBrw_geral:nRowSel
    	MENU oPopup POPUP 2007                                       
            MENUITEM "Adicionar Produto" action alert(time())
            MENUITEM "Alterar Produto" action  alert(time())
    	     SEPARATOR
            MENUITEM "Desassociar Produto" action  alert(time())
    	     SEPARATOR
            MENUITEM "Retorna" ACTION oPopup:end()
       ENDMENU
       ACTIVATE POPUP oPopup OF oBrw_geral AT nRow, nCol
    return .t.	
    

     

  3. Olá amigo,

    terá que ajustar para o seu Código, Mas segue

    STATIC FUNCTION Enviar_email_xml_nfe_cte_mdfe_cce(e_mail_assunto,e_mail_normal_cancelado,e_mail_destino,e_mail_array_anexos)
       *----------------------------------------------------------------------------
    	IF empty(alltrim(e_mail_assunto))
    		MsgStop('Envio de e-mail Automatico'+CHR(13)+'Está Vazio o Campo de Assunto'+chr(13)+CHR(13)+'Rotina.: '+ alltrim(ProcName()) +CHR(13)+ 'Linha.: ' + alltrim(Str(ProcLine(),10,0))  ,SISTEMA)
    	ELSE
    	   *----------------------------------------------------------------------------
    		CARREGA_CONFIGURACAO_DB( (DISKNAME()+":\"+ALLTRIM(CURDIR())+'\'+'CONFIGURACAO.INI') )   
          *---------------------------------------------------------------------- 
    		IF len(e_mail_array_anexos) > 0      
    			c_assunto 					:= IF(ALLTRIM(e_mail_normal_cancelado)='C','Cancelado o ','') + 'Documento Fiscal ' + ALLTRIM(e_mail_assunto)
    			e_mail_mensagem 			:= '<h2>Favor Nao Responder este email</h2>' 
    			e_mail_mensagem 			:= e_mail_mensagem + '<hr/>'   
    			e_mail_mensagem 			:= e_mail_mensagem + '<h3>Fantasia.: ' + ALLTRIM(M->T_FANT_EMPRESA) + '      Tel.: ' + M->T_FONE_EMPRESA + ' - ' +  alltrim(M->T_FAX__EMPRESA)  +'</h4>' 
    			e_mail_mensagem 			:= e_mail_mensagem + '<h4>Empresa.: ' + ALLTRIM(M->T_NOME_EMPRESA) + ' Cnpj.: ' + ALLTRIM(M->T_CNPJ_EMPRESA) +'</h4>' 
    			e_mail_mensagem 			:= e_mail_mensagem + '<hr/>'   
    			e_mail_mensagem 			:= e_mail_mensagem + 'Em anexo, enviamos o arquivo PDF/XML '+CRLF 
    			e_mail_mensagem 			:= e_mail_mensagem + '<h3>'+ALLTRIM(e_mail_assunto)+'</h3>'  
    			e_mail_mensagem 			:= e_mail_mensagem + 'Endereco para Consultar este Documento  www.nfe.fazenda.gov.br'  
    			IF T_STATUS_SEFAZ_NOTA_FISCAL = '135'   .OR. T_STATUS_SEFAZ_NOTA_FISCAL = '155'
    				e_mail_normal_cancelado = 'C'
    			ENDIF
    			IF e_mail_normal_cancelado = 'C'
    				e_mail_mensagem 			:= e_mail_mensagem + '<hr/>'   
    				e_mail_mensagem 			:= e_mail_mensagem + '<h2>ATENCAO DOCUMENTO ESTA CANCELADO</h2>' 
    				e_mail_mensagem 			:= e_mail_mensagem + '<hr/>'   
    			ENDIF
    			e_mail_mensagem 			:= e_mail_mensagem + '<hr/>'   
    			e_mail_mensagem 			:= e_mail_mensagem + '<h6>Desenvolvido por ' + ALLTRIM(M->RODAPE_RELATORIO) + '</h6>'
    			e_mail_mensagem 			:= e_mail_mensagem + '<h6>Este e-mail Foi Gerado Pelo Sistema MESTOQ - Versao ' + ALLTRIM(STR(M->VERSAO,05,02))  +'</h6>'  
    			e_mail_mensagem 			:= e_mail_mensagem + '<hr/>'   
    			*---------------------------------------------------------------------------------------
    			* Se não For Ambiente de Produção o sistema manda o e-mail para a minha caixa de e-mail
    			*--------------------------------------------------------------------------------------
    			c_destino_email		:= e_mail_destino
    			IF M->T_NFE_PRODUC_HOMOLOG=2    &&&&,'Produção - Oficial','Homologação - Testes')
    				c_destino_email		:= ALLTRIM('masterservicevrb@gmail.com')
    			ENDIF
    			*-------------------------------------------------------------------
    			* caso o cliente nao tenha e-mail cadastrado, mas o e-mail do 
    			* contador esteja cadastrado, o sistema Envia para o contador o e-mail
    			*-------------------------------------------------------------------
    			IF !EMPTY(ALLTRIM(T_EMAIL_E_MAIL_CONTADOR))
    				if empty(alltrim(c_destino_email)) .or. empty(alltrim(e_mail_destino))
    					c_destino_email	:=  ALLTRIM(T_EMAIL_E_MAIL_CONTADOR)
    					e_mail_destino		:=  ALLTRIM(T_EMAIL_E_MAIL_CONTADOR)
    				endif
    		   ENDIF
    			*-------------------------------------------------------------------
    			c_email_copia_oculta	:=  ''
    			IF EMPTY(ALLTRIM(e_mail_destino))
    				T_TXT_NF_DADOS_COMP	:= 'O XML NAO FOI ENVIADO'
    				oT_TXT_NF_DADOS_COMP : Refresh()
    				MsgStop('Envio de e-mail Automatico'+CHR(13)+'Está Vazio o Campo de e-mail de Destino',SISTEMA)
    			ELSE
    				IF !EMPTY(ALLTRIM(T_EMAIL_E_MAIL_CONTADOR))
    					c_destino_email	:= ALLTRIM(c_destino_email) + ';'+ ALLTRIM(T_EMAIL_E_MAIL_CONTADOR)
    			   ENDIF
    				T_TXT_NF_DADOS_COMP	:= 'Enviando o Arquivo XML '+ALLTRIM(e_mail_assunto) +' Para ' + ALLTRIM(c_destino_email) + if(!empty(alltrim(T_EMAIL_E_MAIL_CONTADOR)),'    Com Cópia Para '  + alltrim(T_EMAIL_E_MAIL_CONTADOR),'')
    				oT_TXT_NF_DADOS_COMP : Refresh()
    				*----------------------------------------------------------------	
    				MsgRun("Enviando E-mail, Aguarde...",alltrim(M->SISTEMA),{||InformaativoMailVBS( alltrim(c_assunto) , alltrim(e_mail_mensagem) , Lower( alltrim(T_EMAIL_NOME_USUARIO)+alltrim(T_EMAIL_DOMI_USUARIO) ),Lower(Alltrim(c_destino_email)),  e_mail_array_anexos  )  })
    				T_TXT_NF_DADOS_COMP	:= 'Arquivo XML foi Enviado com Exito....'
    				oT_TXT_NF_DADOS_COMP : Refresh()
    			ENDIF 
    		ELSE
    			for email:=1 to 10
    			   T_TXT_NF_DADOS_COMP	:=  '('+str(email,02,0)+ '/10)   INFELIZMENTE NAO FOI ENVIADO O E-MAIL ( Não Foi Possível Anexar XML/PDF)'
    			   oT_TXT_NF_DADOS_COMP : Refresh()
    			   SysWait(0.5) 
    			   T_TXT_NF_DADOS_COMP	:= ' '
    			   oT_TXT_NF_DADOS_COMP : Refresh()
    			   SysWait(0.5) 
    
    			next
    		ENDIF
    	ENDIF
    	T_TXT_NF_DADOS_COMP	:= ''
    	oT_TXT_NF_DADOS_COMP : Refresh()
    Return .t.
    
    


     

    //===========================================================================*/
    Function InformaativoMailVBS(cAssunto,cTexto,cFrom,cTo,cArquivo)
    	//===========================================================================*/
    	Local cScripty:="",objShellApp,I,aTexto
    	default cAssunto:="",cTexto:="",cFrom:="",cTo:="",cArquivo:=""
    	
    	if Empty(cFrom)   
    	   MsgAlert("Email remetente não informado.")
    	   Return .F.
    	Endif
    	if Empty(cTo)   
    	   MsgAlert("Email destinatário não informado.")
    	   Return .F.
    	Endif
    	*----------------------------------------------------------------------------
    	CARREGA_CONFIGURACAO_DB( (DISKNAME()+":\"+ALLTRIM(CURDIR())+'\'+'CONFIGURACAO.INI') )  
    	*----------------------------------------------------------------------------
    	if At(';',cTexto)>0
    	   atexto:=hb_atokens(cTexto,';')
    	   cTexto:=""
    	   for i = 1 to len(aTexto)
    	       cTexto+=aTexto[i]+'</p>'   
    	   Next
    	Endif
    	*---------------------------------------------------------------------------- 
       DIR_TEMP := (CurDrive() +":\"+ CurDir())
        
    	*----------------------------------------------------------------------------   
    	//cTexto:='teste'
    	cTexto:=StrTran(cTexto,CRLF,'<br>')
    	fErase(DIR_TEMP+"\sendnfce4.vbs")
    	//cScripty+="On Error Resume Next"+CRLF
    	cScripty+='Set emailObj      = CreateObject("CDO.Message")'+CRLF
    	cScripty+='emailObj.From     = "'+cFrom+'"'+CRLF            
    	if !empty(cArquivo)
          For x := 1 To Len( cArquivo )
    			  cScripty+='emailObj.AddAttachment "'+AllTrim(cArquivo[x])+'"'+CRLF  
           Next
    	Endif   
    	cScripty+='emailObj.To       = "'+cTo+'"'+CRLF          
    	cScripty+=''+CRLF
    	cScripty+='emailObj.Subject  = "'+cAssunto+'"'+CRLF    
    	cScripty+='emailObj.HtmlBody = "<html><body><br>'+cTexto+'</br></body></html>"'+CRLF   
    	cScripty+='Set emailConfig = emailObj.Configuration'+CRLF
    	cScripty+=''+CRLF
    	*----------------------------------------------------------------------------	
    	cScripty+='emailConfig.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") 				= "'+LOWER(ALLTRIM(T_EMAIL_SERVIDOR_SMTP)) +'"'+CRLF
    	cScripty+='emailConfig.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport") 			= '+ALLTRIM(T_EMAIL_PORTA_COMUNICACAO)+CRLF	
    	cScripty+='emailConfig.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing")    			= 2'+CRLF  
    	cScripty+='emailConfig.Fields("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") 		= 1'+CRLF  
    	cScripty+='emailConfig.Fields("http://schemas.microsoft.com/cdo/configuration/smtpusessl")      		= '+IF(T_EMAIL_AUTENTICACAO_SSL = 'S','true','false')+CRLF 
    	cScripty+='emailConfig.Fields("http://schemas.microsoft.com/cdo/configuration/sendusername")				= "'+LOWER(ALLTRIM(T_EMAIL_NOME_USUARIO)+ALLTRIM(T_EMAIL_DOMI_USUARIO)) +'"'+CRLF
    	cScripty+='emailConfig.Fields("http://schemas.microsoft.com/cdo/configuration/sendpassword") 			= "'+ALLTRIM(T_EMAIL_SENHA_USAURIO)+'"'+CRLF
    	*----------------------------------------------------------------------------	      
    	cScripty+='emailConfig.Fields.Update'+CRLF
    	cScripty+='emailObj.Send'
    	savefile(DIR_TEMP+'\sendnfce4.vbs',cScripty)
    	Try
    	  objShellApp = CreateObject("Shell.Application")
    	  objShellApp:ShellExecute('wscript',DIR_TEMP+'\sendnfce4.vbs /s')
    	  syswait(2)
    	Catch   
    	   return .f.
    	End 
    return(.T.)

    Qualquer Dúvida Estou a disposição


     

  4. Olá a Todos, 

    Tenho uma tabela MYSQL que tem os itens de uma comanda ( Sistema de Restaurante / Bares)
    Dai preciso saber o tempo que o item já está lançado.

    Lembrando que tem que levar em conta a data e hora de lançamento, porque as vezes Vira a noite, tipo a pessoa chega as 23:50,    Dai faz o pedido
    Dai vira o dia e já são por exemplo 00:00:23 
    O campos para se levar em conta são
        `DATA_LANCAMENTO`     `HORA_LANCAMENTO`  


    Preciso saber em minutos quanto tempo tem 

    Segue as estrutura da tabela
     

    CREATE TABLE `comandas_atendimento` (
    	`ID` INT(11) NOT NULL AUTO_INCREMENT,
    	`ID_COMANDA` INT(11) NULL DEFAULT NULL,
    	`CODIGO_PRODUTO` INT(11) NULL DEFAULT NULL,
    	`CONJUGADO` INT(11) NULL DEFAULT NULL,
    	`QUANTIDADE` DECIMAL(18,3) NULL DEFAULT '1.000',
    	`DATA_LANCAMENTO` DATE NULL DEFAULT '0000-00-00',
    	`HORA_LANCAMENTO` CHAR(10) NULL DEFAULT NULL COLLATE 'utf8_general_ci',
    	`CODIGO_USUARIO` INT(6) NOT NULL,
    	`VALOR_UNITARIO` DECIMAL(18,3) NOT NULL DEFAULT '0.000',
    	`DESCRICAO` CHAR(50) NOT NULL DEFAULT '\'\'' COLLATE 'utf8_general_ci',
    	`IMPRESSO_COZINHA` CHAR(1) NULL DEFAULT 'N' COMMENT 'S=Sim, N=Não  Impresso Na Cozinha' COLLATE 'utf8_general_ci',
    	`PREPARADO` CHAR(1) NOT NULL DEFAULT 'N' COMMENT 'Se o prato já está Preparado' COLLATE 'utf8_general_ci',
    	`OBSERVACAO` CHAR(100) NULL DEFAULT '' COMMENT 'Observacao no Lancamento do Item' COLLATE 'utf8_general_ci',
    	`TAMANHO` CHAR(20) NULL DEFAULT NULL COLLATE 'utf8_general_ci',
    	`VALOR_SERVICO` DECIMAL(18,2) NULL DEFAULT '0.00' COMMENT 'Valor Total do Servico',
    	`BORDA_ACOMPANHAMENTO` CHAR(200) NULL DEFAULT '' COMMENT 'Em Caso de Pizzaria Opcao de Borda, ou Acompanhamento' COLLATE 'utf8_general_ci',
    	`DATA_INICIO_PRODUCAO` DATE NULL DEFAULT '0000-00-00',
    	`HORA_INICIO_PRODUCAO` TIME NULL DEFAULT '00:00:00' COMMENT 'Hora de Inicio de producao',
    	`DATA_FINAL_PRODUCAO` DATE NULL DEFAULT '0000-00-00',
    	`HORA_FINAL_PRODUCAO` TIME NULL DEFAULT '00:00:00' COMMENT 'Hora de Inicio de producao',
    	`LIBERADO_PRODUZIR` CHAR(1) NULL DEFAULT 'N' COMMENT 'Se Esta Liberado na Cozinha para Produzir' COLLATE 'utf8_general_ci',
    	`REEMISSAO` CHAR(1) NULL DEFAULT 'N' COMMENT 'Se o Item Foi Reimpressao' COLLATE 'utf8_general_ci',
    	`CODIGO_FORMA` INT(6) NULL DEFAULT '0' COMMENT 'Codigo da Forma de Abatimento',
    	`ID_ABATIMENTO_ACRESCIMO` INT(11) NULL DEFAULT '0' COMMENT 'Numero do Id de Abatimento',
    	`SETOR_ATENDIMENTO` CHAR(20) NULL DEFAULT '' COMMENT 'Nome do Setor Exemplo (Bar, Pista, varanda)' COLLATE 'utf8_general_ci',
    	`STATUS_ITEM` CHAR(1) NULL DEFAULT 'A' COMMENT 'A=Ativo  E=Excluido' COLLATE 'utf8_general_ci',
    	PRIMARY KEY (`ID`) USING BTREE,
    	INDEX `IDX_COMANDA` (`ID_COMANDA`) USING BTREE
    )
    COMMENT='Tabela de comandas_atendimento de Registro do Sistema'
    COLLATE='utf8_general_ci'
    ENGINE=InnoDB
    ;

    Agradeço a Todos

  5. Olá amigo, joia, 

    Eu tenho um sistema de imobiliaria que tem essa funcionalide que deseja

    No meu caso tenho o "contrato modelo", Onde faz tipo o que voce fez ai, porem no nosso caso é @Nome_cliente, @Endereco_cliente, etc.....
    Onde o sistema le o (modelo do word), gera um arquivo trocando as tags, e exibe o contrato (chama o Word)
     

    (32)98892-5094  que te explico, dai voce vê se atende o que deseja

×
×
  • Create New...