Aproveitando o tópico e ajuste do Sergio, estou colocando aqui também alguns ajustes que realizei no componente para ser validado estruturalmente no ambiente de teste da RECEITA PR.
Contém o mesmo ajuste do Sergio, só o campo CST_CSOSN esta diferente, pois não pode ser completado com 0, nem cortado quando for 00, então mudei para string;
Corrigida a conversão da versão;
Adicionado o enumerador ADRCSTIndicadorReaverRecolherImposto para ser usados nas opções do registro 0000;
Mudei o enumerador do layout de "lyCD" para "lyADRCSTCD" (mesmo nome usado no site da receita para envio do arquivo);
Removi o delimitador do começo e do fim de todas as linhas geradas. Com o delimitador no começo não validava em nada o arquivo ("O primeiro registro deve ser o cabecalho (detectado: [????], esperado: [0000])"), e com o delimitador no fim apresentava mais campos que o layout ("Muitos campos no registro, informado: 15 (esperado: 14 )");
Ajustado o campo VL_ICMSST_UNIT_ENTR do registro 1500 para 4 casas decimais, conforme verão 1.3 do manual;
Adicionada a geração do arquivo para Centro de Distribuição ADRC-ST CD (Registros: 0001, 1001, 1101, 1111), junto com exemplo de geração. Foi feito seguindo o que já existia dentro das mesmas classes existentes. (Ainda não validado, pois meu cliente com certificado não possui movimento para esse caso);
Validei o ADRC-ST estruturalmente com essas alterações no ambiente de testes (O status "Processando" da imagem indica que foi validada a estrutura e que serão processadas as informações), estou validando agora as informações e cálculos, porém os arquivos são processados apenas de um dia para o outro, tornando o teste demorado.
Exemplo: ufrmPrincipal.dfmufrmPrincipal.pas
Fontes:ACBrADRCSTConversao.pasACBrADRCST_Bloco9_Class.pasACBrADRCST_Bloco1_Class.pasACBrADRCST_Bloco1.pasACBrADRCST_Bloco0_Class.pasACBrADRCST_Bloco0.pasACBrADRCST.pas
Conforme vou testando, coloco aqui os ajustes, se houver.
Espero ter ajudado!
Obrigado!