Pesquisar na Comunidade
Showing results for tags 'indicador'.
Encontrado 2 registros
-
Olá... Recentemente precisei integrar a balança/módulo WEIGHTECH WT3000-iR. Ao tentar utilizar o modelo existente "balWeightechWT3000_ABS" no componente ACBrBAL, a leitura veio 10x menor. Pesquisando melhor, vi que existem os modelos "WT3000_ABS" e "WT3000IR_ABS". Como eu não tinha um manual de integração e balança WT3000_ABS para testar o "balWeightechWT3000_ABS", achei melhor fazer uma nova classe para o "WT3000IR_ABS", para não mexer na outra classe e causar alguma quebra de compatibilidade. A princípio, o formato parece ser compatível com a balança LIBRATEK WT 3000 I R, e me baseei em parte na implementação dela. Porém lendo o manual de integração, vi que tem mais de um formato de mensagem, no caso, o padrão configurado no cliente atende aos formatos Fm1, Fm2 e Fm9. Foi implementada a leitura para esses formatos, e para transmissão normal e transmissão contínua. Implementei as classes: "TACBrBALWeightechWT3000IR_ABS" na unit "Fontes\ACBrSerial\ACBrBALWeightechWT3000IR_ABS". "TFormatoFm1Fm2Fm9Util" na unit "Fontes\ACBrSerial\ACBrBALWeightechWT3000IR_ABS_Fm1Fm2Fm9". Alterei as units: "Fontes\ACBrSerial\ACBrBAL" "TACBrBALModelo": Adicionada a enumeração "balWeightechWT3000IR_ABS". Uses (implementation): "ACBrBALWeightechWT3000IR_ABS" Método "TACBrBAL.SetModelo": "TACBrBALWeightechWT3000IR_ABS.Create(Self);" Obs.: Como existem mais formatos além dos citados acima, resolvi criar uma classe utilitária à parte, para a interpretação dos formatos que pertencem ao mesmo padrão (conforme o manual), achei melhor criar separado pra não deixar a classe referente à balança muito "cheia". Dessa forma, caso seja necessário implementar para os outros padrões, basta criar novas classes com a interpretação e usar na classe referente à balança. Caso a implementação não tenha ficado correta ou precisa de melhores explicações, ou se não havia necessidade, favor me informarem. Obrigado! Referências: Site do equipamento https://www.weightech.com.br/indicador-de-pesagem-wt3000-ir-abs Manual de integração https://drive.google.com/file/d/1R1tTGp5TZCRFR_6errg13vUV4k759NL1/view?usp=sharing WT3000_ABS e WT3000iR_ABS ACBrBAL.pas ACBrBALWeightechWT3000IR_ABS.pas ACBrBALWeightechWT3000IR_ABS_Fm1Fm2Fm9.pas
- 1 reply
-
- 2
-
- serial
- acbrserial
- (e 6 mais)
-
Bom dia. Tenho uma dúvida, com relação às funções "OrigemProcessoToStr" e "StrToOrigemProcesso" da unit "ACBrEFDBlocos". No Guia Prático da EFD, versão 2.0.21/2.0.22 o campo "07 - IND_PROC" do Registro "E116" recebe como valores válidos [0, 1, 2, 9], mas tive um problema ao validar o arquivo pelo PVA e percebi que nas funções são tratados apenas os valores [1, 3, 9], vide os tipos opJusticaFederal, opSecexRFB e opOutros. // Enumeração para string function OrigemProcessoToStr(AValue: TACBrOrigemProcesso): string; begin if (AValue = opJusticaFederal) then Result := '1' else if (AValue = opSecexRFB) then Result := '3' else if (AValue = opOutros) then Result := '9' else Result := ''; end; // string para enumeração function StrToOrigemProcesso(const AValue: string): TACBrOrigemProcesso; begin if AValue = '1' then Result := opJusticaFederal else if AValue = '3' then Result := opSecexRFB else if AValue = '9' then Result := opOutros else Result := opNenhum; end; /// Indicador da origem do processo TACBrOrigemProcesso = (opSefaz, // 0 - Sefaz opJusticaFederal, // 1 - Justiça Federal opJusticaEstadual, // 2 - Justiça Estadual opSecexRFB, // 3 - Secex/RFB opOutros, // 9 - Outros opNenhum // Preencher vazio ); Gostaria de saber se realmente são dessa forma as duas funções citadas ou se alguém teve também algum problema relacionado. De momento vou fazer a conversão do valor a parte para não modificar fontes do ACBr. Obrigado.
- 9 replies
-
- e116
- origemprocesso
- (e 8 mais)