'Nome       : StaAcmPmc.std
'Tipo       : LST
'Data       : 2003/07/29
'Versao     : 1.0
'Descricao  : Estatistica Mensal/Acumulada Valorizada a PMC

'==============================================================================
'#VER - Modificacoes
'==============================================================================
'- Versao : 1.0   2003/07/29 -------------------------------------------------
'Versao base


'==============================================================================
#DEF - Definicao global do documento
'==============================================================================
Caracteres invalidos             [CarInv]=#
Subtotalizadores                 [SbtNiv]=2
##


'==============================================================================
#ESP - Campos especificos
'==============================================================================
Tipo de dados              [TipDat]=ACM
##


'==============================================================================
#DOC - Configuracao do documento
'==============================================================================
Tipo                       [DocTip]=Acm_Mes
Nome                       [DocNom]=AcmMes,Mensal

'formato
Saida/Impressora           [DocSai]=1
Linhas por pagina          [DocLpg]=50
Colunas por linha          [DocCol]=80
Formato do papel           [DocPap]=72L
Ajustar pagina             [DocApg]=0
Especifico do documento    [DocEsp]=

'funcoes de listagem
Listar cabecalho            [FxCAB]=Mes_Cab
Listar linhas               [FxLIN]=Mes_Lin, 0; Grp,0; Sbt,0; Sep
Listar fim                  [FxFIM]=Mes_Fim
##


'==============================================================================
#VAR - Variaveis
'==============================================================================
'limites da listagem
'MemTxt$(5)    - contas
'MemTxt$(6)    - artigos
'MemTxt$(7)    - vendedores
'MemTxt$(8)    - mes
'MemTxt$(9)    - trimestre
'MemTxt$(10)   - semestre

MesAct    = memtxt$(8)
Pag       = Doc_CntPag
DataExt   = FrmVal$(Sig_DtHoje,45,0)

LstTit    = MemTxt$(1)
LstIde    = MemTxt$(2)

'nome dos meses
Mes00     = MemTxt$(50)
Mes01     = MemTxt$(51)
Mes02     = MemTxt$(52)
Mes03     = MemTxt$(53)
Mes04     = MemTxt$(54)
Mes05     = MemTxt$(55)
Mes06     = MemTxt$(56)
Mes07     = MemTxt$(57)
Mes08     = MemTxt$(58)
Mes09     = MemTxt$(59)
Mes10     = MemTxt$(60)
Mes11     = MemTxt$(61)
Mes12     = MemTxt$(62)

'abreviatura dos meses (3 digitos)
m00       = left$(MemTxt$(50),3)
m01       = left$(MemTxt$(51),3)
m02       = left$(MemTxt$(52),3)
m03       = left$(MemTxt$(53),3)
m04       = left$(MemTxt$(54),3)
m05       = left$(MemTxt$(55),3)
m06       = left$(MemTxt$(56),3)
m07       = left$(MemTxt$(57),3)
m08       = left$(MemTxt$(58),3)
m09       = left$(MemTxt$(59),3)
m10       = left$(MemTxt$(60),3)
m11       = left$(MemTxt$(61),3)
m12       = left$(MemTxt$(62),3)

'identificacao dos trimestres
Tri00     = MemTxt$(70)
Tri01     = MemTxt$(71)
Tri02     = MemTxt$(72)
Tri03     = MemTxt$(73)
Tri04     = MemTxt$(74)

'identificacao dos semestres
Sem00     = MemTxt$(80)
Sem01     = MemTxt$(81)
Sem02     = MemTxt$(82)

'diversos
LinCod    = MemTxt$(21)
LinIde    = MemTxt$(22)
LinCov    = MemTxt$(23)


'- parciais ------------------------------------------------------------------
'quantidades por mes - formato normal
MQ00      = FrmNum$(7.0,MemNum(10))
MQ01      = FrmNum$(7.0,MemNum(11))
MQ02      = FrmNum$(7.0,MemNum(12))
MQ03      = FrmNum$(7.0,MemNum(13))
MQ04      = FrmNum$(7.0,MemNum(14))
MQ05      = FrmNum$(7.0,MemNum(15))
MQ06      = FrmNum$(7.0,MemNum(16))
MQ07      = FrmNum$(7.0,MemNum(17))
MQ08      = FrmNum$(7.0,MemNum(18))
MQ09      = FrmNum$(7.0,MemNum(19))
MQ10      = FrmNum$(7.0,MemNum(10))
MQ11      = FrmNum$(7.0,MemNum(21))
MQ12      = FrmNum$(7.0,MemNum(22))

'quantidades por mes - formato reduzido
MQ01r     = FrmNum$(6.0,MemNum(11))
MQ02r     = FrmNum$(6.0,MemNum(12))
MQ03r     = FrmNum$(6.0,MemNum(13))
MQ04r     = FrmNum$(6.0,MemNum(14))
MQ05r     = FrmNum$(6.0,MemNum(15))
MQ06r     = FrmNum$(6.0,MemNum(16))
MQ07r     = FrmNum$(6.0,MemNum(17))
MQ08r     = FrmNum$(6.0,MemNum(18))
MQ09r     = FrmNum$(6.0,MemNum(19))
MQ10r     = FrmNum$(6.0,MemNum(10))
MQ11r     = FrmNum$(6.0,MemNum(21))
MQ12r     = FrmNum$(6.0,MemNum(22))

'quantidades agrupadas - formato normal
MQT1      = FrmNum$(8.0,MemNum(31))
MQT2      = FrmNum$(8.0,MemNum(32))
MQT3      = FrmNum$(8.0,MemNum(33))
MQT4      = FrmNum$(8.0,MemNum(34))
MQS1      = FrmNum$(8.0,MemNum(36))
MQS2      = FrmNum$(8.0,MemNum(37))
MQTG      = FrmNum$(9.0,MemNum(39))

'quantidades agrupadas - formato reduzido
MQT1r     = FrmNum$(7.0,MemNum(31))
MQT2r     = FrmNum$(7.0,MemNum(32))
MQT3r     = FrmNum$(7.0,MemNum(33))
MQT4r     = FrmNum$(7.0,MemNum(34))
MQS1r     = FrmNum$(7.0,MemNum(36))
MQS2r     = FrmNum$(7.0,MemNum(37))
MQTGr     = FrmNum$(8.0,MemNum(39))

'valores por mes - formato normal
MV00      = FrmNum$(10.0,MemNum(40))
MV01      = FrmNum$(10.0,MemNum(41))
MV02      = FrmNum$(10.0,MemNum(42))
MV03      = FrmNum$(10.0,MemNum(43))
MV04      = FrmNum$(10.0,MemNum(44))
MV05      = FrmNum$(10.0,MemNum(45))
MV06      = FrmNum$(10.0,MemNum(46))
MV07      = FrmNum$(10.0,MemNum(47))
MV08      = FrmNum$(10.0,MemNum(48))
MV09      = FrmNum$(10.0,MemNum(49))
MV10      = FrmNum$(10.0,MemNum(50))
MV11      = FrmNum$(10.0,MemNum(51))
MV12      = FrmNum$(10.0,MemNum(52))

'valores por mes - formato reduzido
MV00r     = FrmNum$(9.0,MemNum(40))
MV01r     = FrmNum$(9.0,MemNum(41))
MV02r     = FrmNum$(9.0,MemNum(42))
MV03r     = FrmNum$(9.0,MemNum(43))
MV04r     = FrmNum$(9.0,MemNum(44))
MV05r     = FrmNum$(9.0,MemNum(45))
MV06r     = FrmNum$(9.0,MemNum(46))
MV07r     = FrmNum$(9.0,MemNum(47))
MV08r     = FrmNum$(9.0,MemNum(48))
MV09r     = FrmNum$(9.0,MemNum(49))
MV10r     = FrmNum$(9.0,MemNum(50))
MV11r     = FrmNum$(9.0,MemNum(51))
MV12r     = FrmNum$(9.0,MemNum(52))

'valores agrupados - formato normal
MVT0      = FrmNum$(14.0,MemNum(60))
MVT1      = FrmNum$(12.0,MemNum(61))
MVT2      = FrmNum$(12.0,MemNum(62))
MVT3      = FrmNum$(12.0,MemNum(63))
MVT4      = FrmNum$(12.0,MemNum(64))
MVS0      = FrmNum$(12.0,MemNum(65))
MVS1      = FrmNum$(12.0,MemNum(66))
MVS2      = FrmNum$(12.0,MemNum(67))
MVTG      = FrmNum$(14.0,MemNum(69))

'valores agrupados - formato reduzido
MVT0r     = FrmNum$(13.0,MemNum(60))
MVT1r     = FrmNum$(11.0,MemNum(61))
MVT2r     = FrmNum$(11.0,MemNum(62))
MVT3r     = FrmNum$(11.0,MemNum(63))
MVT4r     = FrmNum$(11.0,MemNum(64))
MVS0r     = FrmNum$(11.0,MemNum(66))
MVS1r     = FrmNum$(11.0,MemNum(66))
MVS2r     = FrmNum$(11.0,MemNum(67))
MVTGr     = FrmNum$(13.0,MemNum(69))


'- subtotais -----------------------------------------------------------------
'quantidades por mes - formato normal
SQ00      = FrmNum$(7.0,total(MQ00,1))
SQ01      = FrmNum$(7.0,total(MQ01,1))
SQ02      = FrmNum$(7.0,total(MQ02,1))
SQ03      = FrmNum$(7.0,total(MQ03,1))
SQ04      = FrmNum$(7.0,total(MQ04,1))
SQ05      = FrmNum$(7.0,total(MQ05,1))
SQ06      = FrmNum$(7.0,total(MQ06,1))
SQ07      = FrmNum$(7.0,total(MQ07,1))
SQ08      = FrmNum$(7.0,total(MQ08,1))
SQ09      = FrmNum$(7.0,total(MQ09,1))
SQ10      = FrmNum$(7.0,total(MQ10,1))
SQ11      = FrmNum$(7.0,total(MQ11,1))
SQ12      = FrmNum$(7.0,total(MQ12,1))

'quantidades por mes - formato reduzido
SQ00r     = FrmNum$(6.0,total(MQ00r,1))
SQ01r     = FrmNum$(6.0,total(MQ01r,1))
SQ02r     = FrmNum$(6.0,total(MQ02r,1))
SQ03r     = FrmNum$(6.0,total(MQ03r,1))
SQ04r     = FrmNum$(6.0,total(MQ04r,1))
SQ05r     = FrmNum$(6.0,total(MQ05r,1))
SQ06r     = FrmNum$(6.0,total(MQ06r,1))
SQ07r     = FrmNum$(6.0,total(MQ07r,1))
SQ08r     = FrmNum$(6.0,total(MQ08r,1))
SQ09r     = FrmNum$(6.0,total(MQ09r,1))
SQ10r     = FrmNum$(6.0,total(MQ10r,1))
SQ11r     = FrmNum$(6.0,total(MQ11r,1))
SQ12r     = FrmNum$(6.0,total(MQ12r,1))

'quantidades agrupadas - formato normal
SQT0      = FrmNum$(8.0,total(MQT0,1))
SQT1      = FrmNum$(8.0,total(MQT1,1))
SQT2      = FrmNum$(8.0,total(MQT2,1))
SQT3      = FrmNum$(8.0,total(MQT3,1))
SQT4      = FrmNum$(8.0,total(MQT4,1))
SQS0      = FrmNum$(8.0,total(MQS0,1))
SQS1      = FrmNum$(8.0,total(MQS1,1))
SQS2      = FrmNum$(8.0,total(MQS2,1))
SQTG      = FrmNum$(9.0,total(MQTG,1))

'quantidades agrupadas - formato reduzido
SQT0r     = FrmNum$(7.0,total(MQT0r,1))
SQT1r     = FrmNum$(7.0,total(MQT1r,1))
SQT2r     = FrmNum$(7.0,total(MQT2r,1))
SQT3r     = FrmNum$(7.0,total(MQT3r,1))
SQT4r     = FrmNum$(7.0,total(MQT4r,1))
SQS0r     = FrmNum$(7.0,total(MQS0r,1))
SQS1r     = FrmNum$(7.0,total(MQS1r,1))
SQS2r     = FrmNum$(7.0,total(MQS2r,1))
SQTGr     = FrmNum$(8.0,total(MQTGr,1))

'valores por mes - formato normal
SV00      = FrmNum$(10.0,total(MV00,1))
SV01      = FrmNum$(10.0,total(MV01,1))
SV02      = FrmNum$(10.0,total(MV02,1))
SV03      = FrmNum$(10.0,total(MV03,1))
SV04      = FrmNum$(10.0,total(MV04,1))
SV05      = FrmNum$(10.0,total(MV05,1))
SV06      = FrmNum$(10.0,total(MV06,1))
SV07      = FrmNum$(10.0,total(MV07,1))
SV08      = FrmNum$(10.0,total(MV08,1))
SV09      = FrmNum$(10.0,total(MV09,1))
SV10      = FrmNum$(10.0,total(MV10,1))
SV11      = FrmNum$(10.0,total(MV11,1))
SV12      = FrmNum$(10.0,total(MV12,1))

'valores por mes - formato reduzido
SV00r     = FrmNum$(9.0,total(MV00r,1))
SV01r     = FrmNum$(9.0,total(MV01r,1))
SV02r     = FrmNum$(9.0,total(MV02r,1))
SV03r     = FrmNum$(9.0,total(MV03r,1))
SV04r     = FrmNum$(9.0,total(MV04r,1))
SV05r     = FrmNum$(9.0,total(MV05r,1))
SV06r     = FrmNum$(9.0,total(MV06r,1))
SV07r     = FrmNum$(9.0,total(MV07r,1))
SV08r     = FrmNum$(9.0,total(MV08r,1))
SV09r     = FrmNum$(9.0,total(MV09r,1))
SV10r     = FrmNum$(9.0,total(MV10r,1))
SV11r     = FrmNum$(9.0,total(MV11r,1))
SV12r     = FrmNum$(9.0,total(MV12r,1))

'valores agrupados - formato normal
SVT0      = FrmNum$(12.0,total(MVT0,1))
SVT1      = FrmNum$(12.0,total(MVT1,1))
SVT2      = FrmNum$(12.0,total(MVT2,1))
SVT3      = FrmNum$(12.0,total(MVT3,1))
SVT4      = FrmNum$(12.0,total(MVT4,1))
SVS0      = FrmNum$(12.0,total(MVS0,1))
SVS1      = FrmNum$(12.0,total(MVS1,1))
SVS2      = FrmNum$(12.0,total(MVS2,1))
SVTG      = FrmNum$(14.0,total(MVTG,1))

'valores agrupados - formato reduzido
SVT0r     = FrmNum$(11.0,total(MVT0r,1))
SVT1r     = FrmNum$(11.0,total(MVT1r,1))
SVT2r     = FrmNum$(11.0,total(MVT2r,1))
SVT3r     = FrmNum$(11.0,total(MVT3r,1))
SVT4r     = FrmNum$(11.0,total(MVT4r,1))
SVS0r     = FrmNum$(11.0,total(MVS0r,1))
SVS1r     = FrmNum$(11.0,total(MVS1r,1))
SVS2r     = FrmNum$(11.0,total(MVS2r,1))
SVTGr     = FrmNum$(13.0,total(MVTGr,1))

'- totais --------------------------------------------------------------------
'quantidades por mes - formato normal
TQ00      = FrmNum$(7.0,total(MQ00,2))
TQ01      = FrmNum$(7.0,total(MQ01,2))
TQ02      = FrmNum$(7.0,total(MQ02,2))
TQ03      = FrmNum$(7.0,total(MQ03,2))
TQ04      = FrmNum$(7.0,total(MQ04,2))
TQ05      = FrmNum$(7.0,total(MQ05,2))
TQ06      = FrmNum$(7.0,total(MQ06,2))
TQ07      = FrmNum$(7.0,total(MQ07,2))
TQ08      = FrmNum$(7.0,total(MQ08,2))
TQ09      = FrmNum$(7.0,total(MQ09,2))
TQ10      = FrmNum$(7.0,total(MQ10,2))
TQ11      = FrmNum$(7.0,total(MQ11,2))
TQ12      = FrmNum$(7.0,total(MQ12,2))

'quantidades por mes - formato reduzido
TQ00r     = FrmNum$(6.0,total(MQ00r,2))
TQ01r     = FrmNum$(6.0,total(MQ01r,2))
TQ02r     = FrmNum$(6.0,total(MQ02r,2))
TQ03r     = FrmNum$(6.0,total(MQ03r,2))
TQ04r     = FrmNum$(6.0,total(MQ04r,2))
TQ05r     = FrmNum$(6.0,total(MQ05r,2))
TQ06r     = FrmNum$(6.0,total(MQ06r,2))
TQ07r     = FrmNum$(6.0,total(MQ07r,2))
TQ08r     = FrmNum$(6.0,total(MQ08r,2))
TQ09r     = FrmNum$(6.0,total(MQ09r,2))
TQ10r     = FrmNum$(6.0,total(MQ10r,2))
TQ11r     = FrmNum$(6.0,total(MQ11r,2))
TQ12r     = FrmNum$(6.0,total(MQ12r,2))

'quantidades agrupadas - formato normal
TQT0      = FrmNum$(8.0,total(MQT0,2))
TQT1      = FrmNum$(8.0,total(MQT1,2))
TQT2      = FrmNum$(8.0,total(MQT2,2))
TQT3      = FrmNum$(8.0,total(MQT3,2))
TQT4      = FrmNum$(8.0,total(MQT4,2))
TQT0      = FrmNum$(8.0,total(MQT0,2))
TQT1      = FrmNum$(8.0,total(MQT1,2))
TQS2      = FrmNum$(8.0,total(MQS2,2))
TQTG      = FrmNum$(9.0,total(MQTG,2))

'quantidades agrupadas - formato reduzido
TQT0r     = FrmNum$(7.0,total(MQT0r,2))
TQT1r     = FrmNum$(7.0,total(MQT1r,2))
TQT2r     = FrmNum$(7.0,total(MQT2r,2))
TQT3r     = FrmNum$(7.0,total(MQT3r,2))
TQT4r     = FrmNum$(7.0,total(MQT4r,2))
TQS0r     = FrmNum$(7.0,total(MQS0r,2))
TQS1r     = FrmNum$(7.0,total(MQS1r,2))
TQS2r     = FrmNum$(7.0,total(MQS2r,2))
TQTGr     = FrmNum$(8.0,total(MQTGr,2))

'valores por mes - formato normal
TV00      = FrmNum$(10.0,total(MV00,2))
TV01      = FrmNum$(10.0,total(MV01,2))
TV02      = FrmNum$(10.0,total(MV02,2))
TV03      = FrmNum$(10.0,total(MV03,2))
TV04      = FrmNum$(10.0,total(MV04,2))
TV05      = FrmNum$(10.0,total(MV05,2))
TV06      = FrmNum$(10.0,total(MV06,2))
TV07      = FrmNum$(10.0,total(MV07,2))
TV08      = FrmNum$(10.0,total(MV08,2))
TV09      = FrmNum$(10.0,total(MV09,2))
TV10      = FrmNum$(10.0,total(MV10,2))
TV11      = FrmNum$(10.0,total(MV11,2))
TV12      = FrmNum$(10.0,total(MV12,2))

'valores por mes - formato reduzido
TV00r     = FrmNum$(9.0,total(MV00r,2))
TV01r     = FrmNum$(9.0,total(MV01r,2))
TV02r     = FrmNum$(9.0,total(MV02r,2))
TV03r     = FrmNum$(9.0,total(MV03r,2))
TV04r     = FrmNum$(9.0,total(MV04r,2))
TV05r     = FrmNum$(9.0,total(MV05r,2))
TV06r     = FrmNum$(9.0,total(MV06r,2))
TV07r     = FrmNum$(9.0,total(MV07r,2))
TV08r     = FrmNum$(9.0,total(MV08r,2))
TV09r     = FrmNum$(9.0,total(MV09r,2))
TV10r     = FrmNum$(9.0,total(MV10r,2))
TV11r     = FrmNum$(9.0,total(MV11r,2))
TV12r     = FrmNum$(9.0,total(MV12r,2))

'valores agrupados - formato normal
TVT0      = FrmNum$(12.0,total(MVT0,2))
TVT1      = FrmNum$(12.0,total(MVT1,2))
TVT2      = FrmNum$(12.0,total(MVT2,2))
TVT3      = FrmNum$(12.0,total(MVT3,2))
TVT4      = FrmNum$(12.0,total(MVT4,2))
TVS0      = FrmNum$(12.0,total(MVS0,2))
TVS1      = FrmNum$(12.0,total(MVS1,2))
TVS2      = FrmNum$(12.0,total(MVS2,2))
TVTG      = FrmNum$(14.0,total(MVTG,2))

'valores agrupados - formato reduzido
TVT0r     = FrmNum$(11.0,total(MVT0r,2))
TVT1r     = FrmNum$(11.0,total(MVT1r,2))
TVT2r     = FrmNum$(11.0,total(MVT2r,2))
TVT3r     = FrmNum$(11.0,total(MVT3r,2))
TVT4r     = FrmNum$(11.0,total(MVT4r,2))
TVS0r     = FrmNum$(11.0,total(MVS0r,2))
TVS1r     = FrmNum$(11.0,total(MVS1r,2))
TVS2r     = FrmNum$(11.0,total(MVS2r,2))
TVTGr     = FrmNum$(13.0,total(MVTGr,2))

TotVc     =TotVc$
##


'==============================================================================
#PGM - Programa/Funcoes
'==============================================================================
'---------------------------------------------------------->'Comentario (61)
'------------------------------------------------->'Comentario (52)
'------------------------------------->'Comentario (40)

SUB FxIni 'inicializacao base
cnt=0                                  'limpar contador
end sub


SUB Lst_AJT
end sub


'-----------------------------------------------------------------------------
' Estatitistica Totat Anual+factor
'-----------------------------------------------------------------------------
SUB Fac_CabIni 'inicializar documento
cntGer=0                               'limpar contador geral
cntGrp=0                               'limpar contador de grupo

totQu=0                                'limpar total de quantidade
totVl=0                                'limpar total de valor
totVd=0                                'limpar total de valor+desconto
totVm=0                                'limpar total de valor margem
sbtQu=0                                'limpar subtotal de quantidade
sbtVl=0                                'limpar subtotal de valor
sbtVd=0                                'limpar subtotal de valor+desconto
end sub


SUB Fac_Cab 'cabecalho
FxDiv LstIde,16CPI,0
print TxTit$("TT=10CPI, LD, PT=40C, TL=10CPI","Estatistica Mensal (total+desc.)")
print "Data : " FrmVal$(Sig_DtHoje,45,0);
print tab(65) "Folha No : " Doc_CntPag
? Mes : @Mes00                                   #
print PrtCmd$("[16CPILN]");
?=========================================================================================================================================
?Codigo           Nome                                        Quant.    Vl.Venda       Vl.Venda           Vl.Compra            Margem    #
?                                                                                      c/A.Comer.                          Valor     %   #
?=========================================================================================================================================
end sub


SUB Fac_Lin 'linha de valores
cntGer=cntGer+1                        'contar linha
cntGrp=cntGrp+1                        'contar linha no grupo

qu    = MemNum(39)                            'quantidade
vl    = MemNum(69)                            'valor
vlDes = int(vl*desFa)                         'valor ajustado com desconto
pmc   = StcValcon(Stc_Mst_Art$,"PMC",0,0)     'preco medio custo
vcomp = pmc*MemNum(39)                        'Valor de Compra
Vmarg = vlDes-vcomp                           'Valor da Margem
Pmarg = Vmarg*100/vcomp                       'Percentagem da Margem

'totais
totQu=totQu+qu                         'acumular quantidade
totVl=totVl+vl                         'acumular valor
totVd=totVd+vlDes                      'acumular valor+desconto             
totVm=totVm+vmarg                      'acumular valor da margem 


'subtotais
sbtQu=sbtQu+qu                         'acumular quantidade
sbtVl=sbtVl+vl                         'acumular valor
sbtVd=sbtVd+vlDes                      'acumular valor+desconto
sbtVc=sbtVc+vcomp                      'acumular valor de compras
sbtVm=sbtVm+vmarg                      'acumular valor margem
TotMarg=TotMarg+Pmarg                  'acumular % das margens


Cod$    = MemTxt$(21)                  'codigo
Ide$    = MemTxt$(22)                  'identificacao
Cov$    = MemTxt$(23)                  'codigo para visualizar (formatado)

quF$    = FrmNum$( 8.0,qu)             'formatar quantidade
vlF$    = FrmNum$(10.0,vl)             'formatar valor
vdF$    = FrmNum$(10.0,vlDes)          'formatar valor+desconto
vcompF$ = FrmNum$(10.0,vcomp)          'formatar valor da compra
vmargF$ = FrmNum$(10.0,vmarg)          'formatar valor+desconto-valor de compra
pmargF$ = FrmNum$(5.2,pmarg)           'formatar Margem x 100 / valor de Compra
mpmarg$ = FrmNum$(5.2,medpmarg)        'formatar media das margens em %
totmarg$ = FrmNum$(5.2,totmarg)        'formatar tatal das margens em %


print Cod$ tab(15) Ide$ tab(58) quF$ tab(68) vlF$ tab(84) vdF$ tab(103) VcompF$ tab(117) VmargF$ tab(128) PmargF$
End sub


SUB Fac_LinGrp 'titulo de grupo
cntGrp=0                               'limpar contador de grupo
sbtQu=0                                'limpar subtotal de quantidade
sbtVl=0                                'limpar subtotal de valor
sbtVd=0                                'limpar subtotal de valor+desconto
sbtVc=0                                'limpar subtotal de valor de compras
sbtVm=0                                'limpar subtotal de valor de margem
medpmarg=0                             'limpar media das margens
totmarg=0                              'limpar soma das margens

'var$    = TxIde$(Cta_Ang_Txl$,"DES")
desTx$  = TxIde$(Cta_Ang_Txl$,"DES")   'taxa de desconto
n = TxtSepMul(desTx$,",")
acm = 0
a1=0
a2=0
a3=0
a4=0
a5=0
a6=0
a7=0
a8=0
a9=0

'somar descontos
For i=1 to n
  acm=acm+ConNum(i)
next

'descontos em variaveis
a1=ConNum(1)
a2=ConNum(2)
a3=ConNum(3)
a4=ConNum(4)  
a5=ConNum(5)
a6=ConNum(6)
a7=ConNum(7)
a8=ConNum(8)
a9=ConNum(9)

Desc2$   = Cta_Ang_Nome2$              'Nome Alternativo
'desVl=val(desTx$)                     'conversao de desconto em numero
desVl=acm
desFa=1-DesVl/100                      'factor de ajuste do desconto


nli=Doc_CntLin                         'numero de linhas
tmp=CntLin("MIN",3)                    'minimo de linhas
tmp=CntLin("INC",1)                    'contar linha

'print MemTxt$(13)+"  "+MemTxt$(12) tab(58) "DES="+desTx$      'identificar grupo
'print MemTxt$(13)+"  "+Desc2$ tab(58) "DES="+acm+" ("+a1+","+a2+" , "+a3+" , "+a4+" , "+a5+" , "+a6+" , "+a7+" , "+a8+" , "+a9+" )"    'identificar grupo
end sub


SUB Fac_LinSbt 'linha de subtotal
if cntGrp>1 then
   medpmarg=0
   medpmarg=totmarg/cntGrp
   mpmarg$ = FrmNum$(5.2,medpmarg)     'formatar media das margens em %
   sQU$    = FrmNum$( 9.0,sbtQu)       'formatar quantidade
   sVL$    = FrmNum$(12.0,sbtVl)       'formatar valor
   sVD$    = FrmNum$(13.0,sbtVd)       'formatar valor+desconto
   sVC$    = FrmNum$(13.0,sbtVc)       'formatar valor de compras
   sVM$    = FrmNum$(13.0,sbtVm)       'formatar valor de margem
'   print tab(25) "Subtotal:" tab(57) sQU$ tab(66) sVL$ tab(81) sVD$ tab(100) sVC$ tab(114) sVM$ tab(128) mpmarg$
   tmp=CntLin("INC",)                  'contar linha
end if
print                                  'separar
tmp=CntLin("INC",1)                    'contar linha

'cntGrp=0                               'limpar contador de grupo
'sbtQu=0                                'limpar subtotal de quantidade
'sbtVl=0                                'limpar subtotal de valor
'sbtVd=0                                'limpar subtotal de valor+desconto
end sub


SUB Fac_LinSep 'linha de separacao
print                                  'separar
end sub


SUB Fac_FimAjt 'fim de pagina intermedia
print string$(80,"=")                  'separador

FxDiv LstPer,SP                        'fim de pagina
'Print PrtCmd("[SP]");                  'fim de pagina
end sub


SUB Fac_Fim 'totais finais
print string$(136,"=")                  'separador

tQU$    = FrmNum$( 9.0,totQu)          'formatar quantidade
tVL$    = FrmNum$(12.0,totVl)          'formatar valor
tVD$    = FrmNum$(14.0,totVd)          'formatar valor+quantidade
tVM$    = FrmNum$(14.0,totVm)          'formatar valor da Margem

'print tab(25) "Total:"  tab(57) tQU$ tab(66) tVL$ tab(80) tVD$ tab(113) tVM$
print string$(136,"=")                  'separador
FxDiv LstPer,SP                        'fim de pagina
'Print PrtCmd("[SP]");                  'fim de pagina
end sub


'-----------------------------------------------------------------------------
' Estatitistica Mensal
'-----------------------------------------------------------------------------
SUB Mes_CabIni 'inicializar documento
totvc=0
sbtvc=0
cntger=0
end sub


SUB Mes_Cab 'cabecalho
FxDiv LstIde,16CPI,0
print TxTit$("TT=10CPI, LD, PT=40C, TL=10CPI","Estatistica Mensal")
print "Data : " FrmVal$(Sig_DtHoje,45,0);
print tab(65) "Folha No : " Doc_CntPag
?================================================================================
?                                                                  @Mes01       #
?Codigo           Nome                                        Quant.      Valor #
?================================================================================
'<2345678901234> <23456789012345678901234567890>          <2345678><234567890123>
end sub


SUB Mes_Lin 'linha de valores
'msgbox "",qu
if qu<>0 then
   call Mes_LinExe                     'linha de valores
end if
end sub


SUB Mes_LinExe 'linha de valores
tmp=CntLin("INC",1)                           'contar linha
cntGer=cntGer+1                               'contar linha
cntGrp=cntGrp+1                               'contar linha no grupo

qu    = MemNum(39)                            'quantidade
pmc   = StcValcon(Stc_Mst_Art$,"PMC",0,0)     'preco medio custo
vcomp = pmc*MemNum(39)                        'Valor de Compra


'totais
totQu=totQu+qu                         'acumular quantidade
totVc=totVc+Vcomp                      'acumular valor
totvc$ = FrmNum$(10.2,totvc)


'subtotais
sbtQu=sbtQu+qu                         'acumular quantidade
sbtVc=sbtVc+vcomp                      'acumular valor de compras


Cod$    = MemTxt$(21)                  'codigo
Ide$    = MemTxt$(22)                  'identificacao
Cov$    = MemTxt$(23)                  'codigo para visualizar (formatado)

quF$    = FrmNum$( 8.0,qu)             'formatar quantidade
vcompF$ = FrmNum$(10.2,vcomp)          'formatar valor da compra
sbtquF$ = FrmNum$( 8.0,sbtqu)          'formatar subtotal de quantidade
sbtVcF$ = FrmNum$(10.2,sbtVc)          '


'Impressao da Linha
print tab(2)  cov$;
print tab(16) Ide$;
print tab(57) quF$;
print tab(67) VcompF$ 
End sub


SUB Mes_LinGrp 'titulo de grupo
nli=Doc_CntLin                                  'numero de linhas
tmp=CntLin("MIN",3)                             'minimo de linhas
tmp=CntLin("INC",1)                             'contar linha

'print MemTxt$(13)+"  "+MemTxt$(12)              'identificar grupo

vndNom$ = EmpTabCon$("Vend",MemTxt$(13),"Nome")  'nome do vendedor
print MemTxt$(13)+"  "+vndNom$                   'identificar grupo
end sub


SUB Mes_LinSbt 'linha de subtotal
'sbtVcF$  = FrmNum$(10.2,sbtVc)
'fx=msgbox("",sbtvc)
'nrg=TotCnt("LinIde",1)                          'numero de registos

if cntger>1 then
   print tab(16) "Subtotal:";
   'print tab(57) sbtquF$;
   print tab(67) sbtVcF$
   tmp=CntLin("INC",)                           'contar linhas
end if
?
tmp=CntLin("INC",1)                             'contar linhas
x=TotLpz(1)                                     'limpar totais
sbtvc=0
end sub


SUB Mes_LinSep 'linha de separacao
print
end sub


SUB Mes_FimAjt 'fim de pagina intermedia
nrg=TotCnt("LinCod",1)                          'numero de registos
print string$(80,"=")                           'separador

FxDiv LstPer,SP                                 'fim de pagina
'Print PrtCmd("[SP]");                          'fim de pagina
end sub


SUB Mes_Fim 'totais finais
print string$(80,"=")                           'separador
?               Total:                                             @TotVc       #
Totvc$=""

print string$(80,"=")                           'separador
FxDiv LstPer,SP                                 'fim de pagina
end sub
##


