Search the Community
Showing results for tags 'Materiais Primas'.
-
Galera o seguinte, esse ajuste deve servir tanto para FISCAL quanto CONTRIBUIÇÕES: Segundo um consultor, o registro 200 quando for matéria prima para industrias, não é necessário informar a alíquota de icms, então ocorreu uma situação na empresa que sou programador, em que o programador simplesmente não enviou a propriedade para o objeto do registro 0200 foi feito dessa forma: aDatasetInfo.First; //dados da consulta de itens de todas as notas envolvidas no período while not aDatasetInfo.Eof do begin with ACBrSPEDFiscal.Bloco_0.Registro0200New do begin COD_ITEM := aDatasetInfo.FieldByName('Cod_Item').AsString; DESCR_ITEM := aDatasetInfo.FieldByName('Descricao').AsString; COD_BARRA := aDatasetInfo.FieldByName('Cod_Barra').AsString; UNID_INV := aDatasetInfo.FieldByName('Unid_Medida').AsString; case aDatasetInfo.FieldByName('Tipo_Item').AsInteger of 0: TIPO_ITEM := tiMercadoriaRevenda; 1: TIPO_ITEM := tiMateriaPrima; 2: TIPO_ITEM := tiEmbalagem; 3: TIPO_ITEM := tiProdutoProcesso; 4: TIPO_ITEM := tiProdutoAcabado; 5: TIPO_ITEM := tiSubproduto; 6: TIPO_ITEM := tiProdutoIntermediario; 7: TIPO_ITEM := tiMaterialConsumo; 8: TIPO_ITEM := tiAtivoImobilizado; 9: TIPO_ITEM := tiServicos; 10: TIPO_ITEM := tiOutrosInsumos; 99: TIPO_ITEM := tiOutras; end; COD_NCM := aDatasetInfo.FieldByName('NCM').AsString; COD_GEN := Copy(aDatasetInfo.FieldByName('NCM').AsString, 1, 2); ///////// {NÃO FOI DEFINIDO VALOR DEFAULT PARA ALIQ_ICMS} //////// // Cfe visto no eAuditor, qdo materia prima n precisa preencher a Aliq ICMS if TIPO_ITEM <> tiMateriaPrima then ALIQ_ICMS := aDatasetInfo.FieldByName('AliqICMS_Interna').AsFloat; end; // Fim do with ACBrSPEDFiscal1.Bloco_0.Registro0200New aDatasetInfo.Next; end; // FIm do While aDatasetInfo.First; Não informando o default da aliquota, ocorre um erro no objeto de formatação, porém o erro não informa uma mensagem exata, apenas que houve um erro de formatação de valores %a..... Tratei a solução colocando valor ALIQ_ICMS = 0, porém se alguém interpretar da mesma forma que não é necessário informar a propriedade, fiz um ajuste para evitar o erro dentro fonte do Acbr.... na unit... ACBR\Fontes\ACBrComum\ACBrTXTClass.pas na linha: 373 // Se o parametro Value = Null, será retornado '|' if (Value = Null) (acrescentei aqui...) or (Value = Unassigned) then begin Result := FDelimitador; Exit; end; Assim, se a propriedade não for passada para o OBJ, não ocorre o erro. Porque a mensagem o raise.... não é executada, pois não consegue tratar o valor como númerico... if not VarIsNumeric(Value) then raise Exception.Create( Format('[%a] Não é um valor numérico!', [Value]) );
- 1 reply
-
- Registro 200
- Materiais Primas
-
(and 2 more)
Tagged with: