SHARKXFUN.PRW
Fonte auxiliar de funções genéricas Shark
Dados da customização
Analista responsável: Diversos analistas Shark (manutenções por Jonathan Torioni, Sergio Oliveira, Rafael Rondon e demais)
Especificação da customização
Fonte de apoio que centraliza funções genéricas utilizadas pelas customizações Shark. Concentra rotinas de view/browse genérico, manipulação de arquivos temporários (DBF), tratamento de pergunte/perguntas SX1, cadastro/deduplicação de clientes/fornecedores (CliForGet), envio de e-mail, validações de campos SX3, encaminhamento entre filiais/empresas Shark, integração com TSS/SEFAZ e auditoria da rejeição 656 - Consumo Indevido via tabela LEGBRANCA.
Especificação de tabelas e índices
- SX2 / SX3 / SX6 - Verificação do dicionário Protheus em funções utilitárias.
- SA1 / SA2 / SA5 - Cadastros de clientes / fornecedores / vendedores utilizados na função
CliForGete correlatas. - SB1 / SB2 / SBZ / SBE - Manutenção de produtos e estoque.
- SC5 / SC6 / SC7 / SC9 - Pedidos de venda/compra (
AtuLRA,Saudo). - SE2 / SEM / SEF / SET - Financeiro/contabil/configurações.
- SF1 / SF2 / SF3 / SF4 / SF7 / SFT - Documentos fiscais.
- SZ0 / SZ1 / SZ2 / SZA / SZG / SZP / SZT - Tabelas customizadas Shark.
- LEGBRANCA - Tabela SQL externa de auditoria das consultas SEFAZ (rejeição 656).
Especificação de parâmetros (utilizados internamente)
- ES_USAGRUP - Empresas que usam somente grupo na sugestão (vetor static
_aMvPar). - ES_PAR05 - Descrição do parâmetro (vetor static).
- ES_BASVALD1 - Base de valor de duplicata.
- ES_CANCSEF - Controle de cancelamento SEFAZ.
- ES_CTRLALC - Controle de alíquota.
- ES_EXCFOR / ES_EXCMAN / ES_EXEXD1 - Exceções específicas.
- ES_MQFINAM - Configuração financeira.
- MV_2DUPNAT / MV_CREDICM / MV_RELACNT / MV_RELPSW / MV_RELSERV / MV_YPFMD / MV_YPFSE1 / MV_YPFSE1P - Parâmetros padrão referenciados.
Especificação das funções
Funções de view / arquivo de trabalho
-
U_MontaView - Cria área de trabalho via SQL, retornando o número de registros do arquivo de trabalho.
-
U_MostraData - Exibe data formatada.
-
U_ValidPerg - Valida a integridade do grupo de perguntas comparando com a matriz informada.
-
U_CriaTMP - Cria tabela temporária com estrutura informada e abre alias.
-
U_ChecaIns - Valida inscrição estadual conforme o estado.
-
U_UsarDbf - Abre um arquivo DBF externo em um alias informado.
Funções de browse genérico
-
U_DadosAdv / OkProc / OkProc2 / xPesq / U_Pesquisar / U_AjuPar / U_MultiCopia / U_MarkDesm / U_FunTab / U_FunTabaa - Manutenção/manipulação do dicionário e ajuste de parâmetros via tela.
-
U_LOGCAMPO - Grava log de alteração de campo.
Funções de hora/data
- U_HoraMais / U_HoraMenos / U_MontaPer / U_PegaUtil / U_DiasAtr / U_SomaHora - Cálculos de hora/data/período.
Comunicação / envio
-
U_Dest_eml - Retorna destinatários de e-mail por processo de WF.
-
U_LOGWF - Log do workflow.
-
U_RcomW06 / U_UPLFtp / U_CONFCNAB / U_LTIME - Comunicação/upload de arquivos.
-
U_ShSenMail - Envio de e-mail parametrizado.
Cadastros / negocial
-
U_BaixaTab / U_UpSA2 / ConfUp / __Vai / ExportUp - Manutenção de tabelas customizadas.
-
U_IncCust - Inclui custo de produto.
-
U_LCGrupo / AtuGrupo / U_Saudo / U_TemGrupo / U_AtuLRA / U_PegaGrupo - Tratamento de grupos de clientes e atualização de crédito/saldo.
-
U_RUNPROG / U_TST_Tst / U_ChecaFiles - Utilitárias de execução e arquivos.
-
U__Gpem410 / ConfSeg - Manutenção financeira/segregada.
-
U_InitTables / U_ExistTable - Abertura/verificação de tabelas.
-
U_Deletar - Rotina de exclusão genérica.
-
U_Gmargem - Calcula margem fiscal por UF/Grupo/NCM.
-
U_ExcExcD1 / U_ShVrCnPed - Validações de pedido / desbloqueio.
Funções de cliente/fornecedor (CliFor)
-
U_GetCFCode - Retorna próximo código livre na sequência de cliente/fornecedor.
-
U_CliForGet - Função principal de identificação/criação de cliente ou fornecedor a partir do CNPJ, IE e UF (com lock controlado por
LockCFCode/LockCFStore). -
U_CleanLocks - Limpa locks pendentes do
CliForGet. -
U_OnlyDigit - Mantem apenas dígitos da string.
-
U__OldCliForGet - Versão legada do
CliForGet. -
IsCliFor / ExistCliFor / U_HasMatrix / U_GetPFe970 / U_InclMatrix / U_InclA1A2Grp / FindA1A2Grp / CompIsTheGroup - Suporte aos cadastros de grupos econômicos e matrizes (SA1/SA2).
-
U_DecomCusto - Decomposição do custo do produto.
-
U_CadCliEmp - Cadastro de cliente x empresa.
Validações SX3
-
U_VLDUSRSX3 - Wrapper de validação de campos SX3 por regra (
VLD00001,VLD00002,VLD00003). -
U_getRetSql / CheckDX2 / CheckSX2 - Validação e consulta no
SX2/DX2. -
U_empGroup - Retorna o grupo econômico do CNPJ.
-
U_inputDlg - Caixa de entrada de dados.
-
U_SetOtherFil - Habilita filtro multi-filial em consultas.
-
U_lstBox / ExcluirSped - Listbox/exclusão SPED.
-
U_B2Cm1Refresh - Atualiza saldos do produto.
-
U_SHCheckVisaoPJ - Valida visão Pessoa Jurídica do fornecedor.
-
U_A120MV01 / U_SharkMv - Wrappers para parâmetros Shark.
-
U_UsrRet / U_getUserHolding - Dados do usuário logado.
-
U_SeTitPag / U_fGravaTxt / U_chkNfeRej - Rotinas auxiliares de título, txt e rejeição NFE.
-
U_ScmSemaforo - Controle de semáforo de processo (lock customizado).
-
U_VtExibeMsg - Exibição de mensagem (terminal virtual).
-
U_SHCheckBalance / U_SHImpClasses / U_ShArrToChar - Conversores e relatórios.
-
U_OpsSitCob / U_SoCupom / U_IncCli / U_RetMVA - Acessos financeiros e fiscais.
-
U_CFOPXTes / U_StatPh8 / U_ShWhB1Gr - Wrappers para CFOP/TES/Where SB1.
-
U_ValidCDeb / U_ValidIDeb - Validação de Centro de Custo Contábil e Item Contábil.
-
U_VldDtCotab - Valida data contabil x pendência.
-
U_ShXTabsDSX2 / U_SHWBCNOME / U_ShWhnB1Desc - Utilitários.
-
U_ShkVersao - Registro de versão do programa.
-
U_ShkDbseek - Wrapper de DbSeek com retorno opcional soft.
-
U_AtvRepres / U_LocVendRepres / U_LocVendedor - Tratamento de representantes/vendedores.
-
U_Indisponivel - Mensagem padrão de rotina indisponível.
-
U_Se4Analise / ProcSe4 / U_CondEspec / ProximaData / CondPgEspecial - Análise da condição de pagamento.
-
U_VldSb1Qe / U_VldSC7Prd - Validações SB1/SC7.
-
U_SkConsSA5 / U_SkChkbug / ShCriaSB2 - Consulta SA5/checagem de bug/criação SB2.
-
U_A100Local - Localiza posição e código em array.
-
U_SalvaTeclas / U_RestTeclas / U_LimpaTeclas - Gerencia mapeamento de teclas (F1-F12) usando as Statics
bSavKeyF1..bSavKeyF12. -
U_GravaPD2 / U_SHKAC / U_ShkErro - Logadores e erros.
-
U_ShkFilRemota / PesqFil / U_SkListRem / U_FilialGM / U_NovaFilSK / U_FilPrologo / U_CodConvSK - Conversores entre filiais Prologo/SK.
-
U_Sb5When / U_Sb1When - Whens dos campos SB5/SB1.
-
U_GRPPW7 - Wrapper de grupo PW7.
-
U_AJCLIFOR - Ajuste de cliente/fornecedor.
-
U_CDAXPROX - Próximo número customizado.
-
U_EMBSHCHV / TranStr / InvStr / IncStrSg / SomaUm / SeqPrbda / EhSeq / EhNumer - Embaralhamento de chave customizada.
-
U_DEVIBSCBS - Tratamento de IBS/CBS.
Funções de auditoria SEFAZ - Rejeição 656
-
U_INS656(cIdEnt, cDoc, cSeri, cChave, cCodRet, cRetSef) - Insere registro na tabela
LEGBRANCAcom o código e mensagem de retorno SEFAZ e timestamp atual. RetornalGrava(.T.quando o INSERT teve sucesso e o COMMIT foi executado). -
U_CON656(cIdEnt, cDoc, cSeri, cChave, cTipo) - Consulta na
LEGBRANCAse já existe registro para a combinação. QuandocTipo = "2"(saída) filtra porDOC+SERIE; caso contrário (entrada) filtra porCHVNFE. RetornalRet.T.se existir registro. -
U_STMPLEG(cIdEnt, cDoc, cSeri, cChave, cTipo) - Calcula em segundos a diferença entre
SYSTIMESTAMPeS_T_A_M_P_do registro. Retorna.T.quando a última consulta foi há 10 segundos ou mais (libera nova consulta). -
U_STMPUPD(cIdEnt, cDoc, cSeri, cChave, cTipo, cCodRet, cRetSef) - Atualiza o
S_T_A_M_P_do registro. SecCodRetecRetSefforem informados também atualizaCODRETeRETSEFAZ. Retorna.T.em caso de sucesso. -
U_CLRLGBR(aParam) - Rotina de schedule que executa
DELETE FROM LEGBRANCA WHERE S_T_A_M_P_ <= SYSTIMESTAMP - INTERVAL '2' DAY. RecebeaParamcom{cEmpAnt, cFilAnt}(default{"01","01"}) e usaRpcSetEnv/RpcClearEnv.
As cinco funções INS656, CON656, STMPLEG, STMPUPD e CLRLGBR atuam exclusivamente sobre a tabela LEGBRANCA (não pertence ao dicionário Protheus). Toda a manipulação é feita via TcSqlExec / MpSysOpenQuery. A integração com o monitor SEFAZ ocorre em U_SCNewConsSe (scoma040.prw) e no ponto de entrada U_FISMNTNFE (fismntnfe.prw).
O fonte declara as Statics _aMvPar, sGetRetSX2, sGetRetSql, sCondPagto e bSavKeyF1..F12 que mantêm estado entre execuções na mesma sessão.