TRABALHO DE SISTEMAS
Trabalho Escolar: TRABALHO DE SISTEMAS. Pesquise 862.000+ trabalhos acadêmicosPor: wellingtonlopes • 27/5/2014 • 23.227 Palavras (93 Páginas) • 403 Visualizações
Procedure ConhecimentosEmbarcados; //C E M - Conehcimentos Embarcados
Var vBase, vAliq, vIcms, vPeda : Double;
vSubsTituicaoTributaria,
vTipoDoConhecimento: String;
Function PassaTipoDoConhecimento(pOcorrencia_Gera:Integer): boolean;
Begin
With vForm.Qr_Ajuda Do
Begin
Result := VerificaTipoDoConhecimento( FieldByName('EMPRESA' ).AsInteger
, FieldByName('FILIAL' ).AsInteger
, FieldByName('GARAGEM' ).AsInteger
, FieldByName('TIPO_DOCTO' ).AsInteger
, FieldByName('CONHECIMENTO').AsInteger
, pOcorrencia_Gera
, FieldByName('SERIE' ).AsString
) ;
End;
End;
Begin
With vForm.Qr_Ajuda Do
Begin
vBase := IIF( (( vForm.CBoxConsSubstTrib.checked ) And ( FieldByName('BASE_CALC_SUBST').AsFloat > 0 ))
, FieldByName('BASE_CALC_SUBST').AsFloat, FieldByName('BASE_CALCULO' ).AsFloat);
vAliq := IIF( (( vForm.CBoxConsSubstTrib.checked ) And ( FieldByName('ALIQUOTA_SUBST' ).AsFloat > 0 ))
, FieldByName('ALIQUOTA_SUBST' ).AsFloat, FieldByName('ALIQUOTA' ).AsFloat);
vIcms := IIF( (( vForm.CBoxConsSubstTrib.checked ) And ( FieldByName('ICMS_SUBST' ).AsFloat > 0 ))
, FieldByName('ICMS_SUBST' ).AsFloat, FieldByName('ICMS' ).AsFloat);
vPeda := IIF( ( FieldByName('PEDAGIO_TOTAL_FRETE').AsString = 'S' )
, FieldByName('PEDAGIO' ).AsFloat, Replicate('0',13));
vSubsTituicaoTributaria := IIF( ( FieldByName('ICMS_SUBST').AsFloat > 0 ), '1', '2');
vTipoDoConhecimento := IIF( PassaTipoDoConhecimento(5)
, 'D' // Devolução
, IIF ( PassaTipoDoConhecimento(6)
, 'R' // Reentrega
, 'N' // Normal
));
If (FieldByName('DATA_CANCELADO').AsString = '') Or (FieldByName('DATA_CANCELADO').AsString = '01/01/0001') Then
vValor := FieldByName('TOTAL_PREST').AsFloat
else
vValor := 1;
vNF := Atribui_NFs( vForm.qr_Ajuda.FieldByName('EMPRESA' ).AsInteger
, vForm.qr_Ajuda.FieldByName('FILIAL' ).AsInteger
, vForm.qr_Ajuda.FieldByName('GARAGEM' ).AsInteger
, vForm.qr_Ajuda.FieldByName('TIPO_DOCTO' ).AsInteger
, vForm.qr_Ajuda.FieldByName('SERIE' ).AsString
, vForm.qr_Ajuda.FieldByName('CONHECIMENTO').AsInteger
, true // (false - espaço) (true - zero)
, vForm.QrItens
, 9
) ;
WriteLN( vArquivo , '322' + Pad( vForm.vcGaragem.Filial.CidadeFl , 010 ) // FILIAL EMISSORA DO CONHECIMENTO
+ Pad( FieldByName( 'SERIE' ).AsString , 005 ) // SÉRIE DO CONHECIMENTO
+ StrZero( FieldByName( 'CONHECIMENTO' ).AsInteger , 012 ) // NÚMERO DO CONHECIMENTO
+ FormatDateTime( 'DDMMYYYY' , FieldByName( 'DATA_EMISSAO' ).AsDateTime ) // DATA DE EMISSÃO
+ Pad( FieldByName( 'TIPO_FRETE' ).AsString , 001 ) // CONDIÇÃO DE FRETE
+ Right( ConverteValor( FieldByName( 'PESO' ).AsFloat , 002, 007 ) , 007 ) // PESO TRANSPORTADO
+ ConverteValor( vValor , 002, 015 ) // VALOR TOTAL DO FRETE
+ ConverteValor( vBase , 002, 015 ) // BASE DE CALCULO ICMS
...