'Nome       : Acm_Xls_Word.std
'Tipo       : LST
'Data       : 2007/12/10
'Versao     : 1.0
'Descricao  : Estatisticas Acumuladas para EXCEL/WORD

'==============================================================================
'#VER - Historia de modificacoes
'==============================================================================
'- Versao : 1.0   2003/??/?? --------------------------------------------------
'Versao base


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


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


'==============================================================================
#SQL - Comandos SQL
'==============================================================================
Base de dados           [BD]=EmpFic$("EMP","Cemp,Emp_Dat.mdb")
'Base de dados           [BD]=EmpFic$("EMP","Stc,Stc.mdb")
##


'==============================================================================
#DOC - Configuracao do documento
'==============================================================================
Tipo                       [DocTip]=Acm_Ano
Nome                       [DocNom]=AcmXls,Total Anual (XLS)

'formato
Impressora                 [DocPrt]=
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
Base para documento         [FxDOC]=XlsAno
Listar cabecalho            [FxCAB]=XlsAno_Cab
Listar linhas               [FxLIN]=XlsAno_Lin,0; Grp,0; Sbt,0; Sep,0
Listar fim                  [FxFIM]=XlsAno_Fim
##


'==============================================================================
#DOC - Configuracao do documento
'==============================================================================
Tipo                       [DocTip]=Acm_Ano
Nome                       [DocNom]=AcmMsw,Total Anual (WORD)

'formato
Impressora                 [DocPrt]=
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
Base para documento         [FxDOC]=MswAno
Listar cabecalho            [FxCAB]=MswAno_Cab
Listar linhas               [FxLIN]=MswAno_Lin,0; Grp,0; Sbt,0; Sep,0
Listar fim                  [FxFIM]=MswAno_Fim
##


'==============================================================================
#VAR - Variaveis
'==============================================================================
'MemTxt$(1)    - titulo
'MemTxt$(2)    - identificacao da listagem

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

'MemTxt$(11)   - codigo 1
'MemTxt$(12)   - descricao 1
'MemTxt$(13)   - codigo 1 formatado

'MemTxt$(21)   - codigo 2
'MemTxt$(22)   - descricao 2
'MemTxt$(23)   - codigo 2 formatado

'MemTxt$(50)   - identificacao do mes corrente
'MemTxt$(51)   - identificacao do mes 01
'MemTxt$(52)   - identificacao do mes 02
'MemTxt$(53)   - identificacao do mes 03
'MemTxt$(54)   - identificacao do mes 04
'MemTxt$(55)   - identificacao do mes 05
'MemTxt$(56)   - identificacao do mes 06
'MemTxt$(57)   - identificacao do mes 07
'MemTxt$(58)   - identificacao do mes 08
'MemTxt$(59)   - identificacao do mes 09
'MemTxt$(60)   - identificacao do mes 10
'MemTxt$(61)   - identificacao do mes 11
'MemTxt$(62)   - identificacao do mes 12

'MemTxt$(70)   - identificacao do trimestre corrente
'MemTxt$(71)   - identificacao do trimestre 1
'MemTxt$(72)   - identificacao do trimestre 2
'MemTxt$(73)   - identificacao do trimestre 3
'MemTxt$(74)   - identificacao do trimestre 4

'MemTxt$(80)   - identificacao do semestre corrente
'MemTxt$(81)   - identificacao do semestre 1
'MemTxt$(82)   - identificacao do semestre 2

'quantidades por mes
'MemNum(10)    - mes corrente
'MemNum(11)    - mes 01 - Janeiro
'MemNum(12)    - mes 02 - Fevereiro
'MemNum(13)    - mes 03 - Marco
'MemNum(14)    - mes 04 - Abril
'MemNum(15)    - mes 05 - Maio
'MemNum(16)    - mes 06 - Junho
'MemNum(17)    - mes 07 - Julho
'MemNum(18)    - mes 08 - Agosto
'MemNum(19)    - mes 09 - Setembro
'MemNum(20)    - mes 10 - Outubro
'MemNum(21)    - mes 11 - Novembro
'MemNum(22)    - mes 12 - Dezembro

'quantidades agrupadas
'MemNum(30)    - trimestre corrente
'MemNum(31)    - trimestre 1
'MemNum(32)    - trimestre 2
'MemNum(33)    - trimestre 3
'MemNum(34)    - trimestre 4
'MemNum(35)    - semestre corrente
'MemNum(36)    - semestre 1
'MemNum(37)    - semestre 2
'MemNum(39)    - total dos meses


'valores por mes
'MemNum(40)    - mes corrente (mes da data)
'MemNum(41)    - mes 01 - Janeiro
'MemNum(42)    - mes 02 - Fevereiro
'MemNum(43)    - mes 03 - Marco
'MemNum(44)    - mes 04 - Abril
'MemNum(45)    - mes 05 - Maio
'MemNum(46)    - mes 06 - Junho
'MemNum(47)    - mes 07 - Julho
'MemNum(48)    - mes 08 - Agosto
'MemNum(49)    - mes 09 - Setembro
'MemNum(50)    - mes 10 - Outubro
'MemNum(51)    - mes 11 - Novembro
'MemNum(52)    - mes 12 - Dezembro

'valores agrupados
'MemNum(60)    - trimestre corrente
'MemNum(61)    - trimestre 1
'MemNum(62)    - trimestre 2
'MemNum(63)    - trimestre 3
'MemNum(64)    - trimestre 4
'MemNum(65)    - semestre corrente
'MemNum(66)    - semestre 1
'MemNum(67)    - semestre 2
'MemNum(69)    - total dos meses


'-----------------------------------------------------------------------------
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)
LinIde2   = Cta_Ang_Nome2$

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(20))
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(20))
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))
##


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

Sub FxIni 'funcao de inicializacao
cnt=0                                  'limpar contador
end sub


Sub FxFim 'funcao de finalizacao
end sub


Sub Lst_AJT 'ajuste
end sub


'-----------------------------------------------------------------------------
' XLS - Funcoes comuns
'-----------------------------------------------------------------------------
Sub Xls_DocIni 'inicializar documento
dfi$ = FicEmp$("EMP","Ext","dExcel",cmo$)          'directorio de documentos EXCEL
nfi$ = "RND:StaAcm.xls"                            'nome do ficheiro
cmo$ = SigCmoCur$("MIX")                           'modulo corrente
ficDoc$ = FicTmp$(dfi$, nfi$)                      'ficheiro para documento
res = DirCri("D", dfi$)                            'criar directorio para documento

res = XlsPrp(0)                                    'preparar EXCEL
res = XlsDocCri("")                                'criar documento
end sub


Sub Xls_DocFim 'terminar documento
res = XlsWks(1)                                    'activar worksheet

res = XlsDocDir$("A", dfi$)                        'activar directorio
res = XlsDocGrv(ficDoc$)                           'gravar ficheiro
'res = XlsDocGrv("")                                'gravar ficheiro

'res = XlsPrt(1)                                    'listar worksheet

res = XlsVer(0)                                    'mostrar EXCEL - normal
'res = XlsVer(1)                                    'mostrar EXCEL - maximizado

'res = XlsFim(0)                                    'terminar EXCEL
res = XlsLib(0)                                    'libertar EXCEL
end sub


'-----------------------------------------------------------------------------
' XLS - Total Anual
'-----------------------------------------------------------------------------
Sub XlsAno_DocIni 'inicializar documento
call Xls_DocIni                                    'inicializar documento
call XlsAno_Prep                                   'preparar

'limpar totalizadores
totCnt   = 0                                       'numero de registos no grupo
totQu    = 0                                       'limpar quantidade
totVl    = 0                                       'limpar valor

sbtCnt   = 0                                       'numero de registos no grupo
sbtQu    = 0                                       'limpar quantidade
sbtVl    = 0                                       'limpar valor
end sub


Sub XlsAno_DocFim 'terminar documento
linIni = linBav                                    'linha inicial
linFim = linCnt                                    'linha final

'zonQu$ = XlsZon$(3, linIni, 3, linFim)             'zona para quantidade
'zonVl$ = XlsZon$(4, linIni, 4, linFim)             'zona para valor

'res = XlsForm(lfo, 3,"=Sum(C11:C"+lms$)            'total de quantidade
'res = XlsForm(lfo, 4,"=Sum(D11:D"+lms$)            'total de valor

'mostrar
'------------------------------------------------->'Comentario (52)
call Xls_DocFim                                    'terminar/mostrar documento
end sub


Sub XlsAno_Prep 'preparar para listar
tit$ = "Estatística Anual (Total)"                 'titulo
res = XlsWks(1)                                    'activar worksheet

res = XlsLst(2, 3,tit$)                            'titulo
res = XlsFon("2:2", ",20,B+")                      'activar fonte
res = XlsLst(3, 2, "Data:")                        'data
res = XlsLst(3, 3, FrmDt$("", Sig_DtHoje))         'data
res = XlsAli("C3", "<")                            'alinhamento

res = XlsFrmNum("D:E", 10.2)                       'formato para numeros

'titulos de colunas
linTit = 8                                         'linha para titulos
zti$= XlsZonNum$("L", linTit)                      'conversao de linha em zona

res = XlsDimLin(lti, 20)                           'altura de linha de titulos
res = XlsFon(zti$, ",12,B+")                       'activar fonte bold

'coluna base
res = XlsDimCol(1, 5)                              'largura

'codigo
res = XlsLst(linTit, 2, "Código")                  'descricao
res = XlsDimCol(2, 12)                             'largura
res = XlsAli("A:A", "<")                           'alinhamento da coluna
'res = XlsAli("A8", 7)                              'alinhamento

'nome
res = XlsLst(linTit, 3, "Nome")                    'descricao
res = XlsDimCol(3, 45)                             'largura
'res = XlsAli("B8", "+")                            'alinhamento

'quantidade
res = XlsLst(linTit, 4, "Quant.")                  'descricao
res = XlsDimCol(4, 10)                             'largura

'valor
res = XlsLst(linTit, 5, "Valor")                   'descricao
res = XlsDimCol(5, 10)                             'largura

'formulas
linFor = lintTit + 1                               'linha para formulas
zfo$= XlsZonNum$("L", linFor)                      'zona de formulas

'diversos
ztc$= XlsZon$(8, 2, 8, 5)                          'zona de titulos de colunas
res = XlsAli(ztc$, "+")                            'alinhamento da zona de titulos de colunas

linBav = 10                                        'linha base para valores
xlsLin = linBav - 1                                'contador de linhas usadas
end sub


Sub XlsAno_Lin 'linha de valores
xlsLin = xlsLin + 1                                'contar linha

qu = MemNum(39)                                    'quantidade
vl = MemNum(69)                                    'valor

'totais
totCnt = totCnt + 1                                'contar registos
totQu = totQu + qu                                 'acumular quantidade
totVl = totVl + vl                                 'acumular valor

'subtotais
sbtCnt = sbtCnt + 1                                'contar registos
sbtQu = sbtQu + qu                                 'acumular quantidade
sbtVl = sbtVl + vl                                 'acumular valor

'listar
res = XlsLst(xlsLin, 2, MemTxt$(23))               'codigo
res = XlsLst(xlsLin, 3, MemTxt$(22))               'identificacao
res = XlsLst(xlsLin, 4, qu)                        'quantidade
res = XlsLst(xlsLin, 5, vl)                        'valor
End sub


Sub XlsAno_LinGrp 'titulo de grupo
xlsLin = xlsLin + 1                                'contar linha

res = XlsLst(xlsLin, 2, MemTxt$(13))               'codigo
res = XlsLst(xlsLin, 3, MemTxt$(12))               'descricao

zon$= XlsZonNum$("L", xlsLin)                      'zona do grupo
res = XlsFon(zon$, ",,I+")                         'activar fonte italico
res = XlsAli(zon$, "+")                            'alinhamento
end sub


Sub XlsAno_LinSbt 'linha de subtotal
if sbtCnt > 1 then                                 'listar subtotal ?
   xlsLin = xlsLin + 1                             'contar linha
   ltx$ = trim$(str$(xlsLin))                      'conversao em texto
   zon$ = "C"+ltx$                                 'zona

   res = XlsAli(zon$, "|")                         'alinhamento
   res = XlsLst(xlsLin, 3, "Subtotal:")            'identificacao
   res = XlsLst(xlsLin, 4, sbtQu)                  'quantidade
   res = XlsLst(xlsLin, 5, sbtVl)                  'valor

   zon$= XlsZonNum$("L", xlsLin)                   'zona do grupo
   res = XlsFon(zon$, ",,I+")                      'activar fonte
end if

xlsLin = xlsLin + 1                                'contar linha
sbtCnt   = 0                                       'limpar numero
sbtQu    = 0                                       'limpar quantidade
sbtVl    = 0                                       'limpar valor
end sub


Sub XlsAno_LinSep 'linha de separacao
xlsLin = xlsLin + 1                                'contar linha
end sub


Sub XlsAno_Fim 'terminar
xlsLin = xlsLin + 1                                'contar linha
ltx$ = trim$(str$(xlsLin))                         'conversao em texto
zon$ = "C"+ltx$                                    'zona

res = XlsAli(zon$, "|")                            'alinhamento
res = XlsLst(xlsLin, 3, "Totais:")                 'identificacao
res = XlsLst(xlsLin, 4, totQu)                     'quantidade
res = XlsLst(xlsLin, 5, totVl)                     'valor

zon$= XlsZonNum$("L", xlsLin)                      'zona
res = XlsFon(zon$, ",,B+")                         'activar fonte
end sub


'-----------------------------------------------------------------------------
' WORD - Funcoes comuns
'-----------------------------------------------------------------------------
Sub Msw_DocIni 'inicializar documento
dfi$ = FicEmp$("EMP","Ext","dWord",cmo$)           'directorio de documentos WORD
nfi$ = "RND:StaAcm.doc"                            'nome do ficheiro
cmo$ = SigCmoCur$("MIX")                           'modulo corrente
ficDoc$ = FicTmp$(dfi$, nfi$)                      'ficheiro para documento
res = DirCri("D", dfi$)                            'criar directorio para documento

res = WordPrp(0)                                   'preparar WORD
res = WordDocCri("")                               'criar documento
end sub


Sub Msw_DocFim 'terminar documento
res = WordDocGrv(ficDoc$)                          'gravar ficheiro
'res = WordDocGrv("")                               'gravar ficheiro

res = WordVer(0)                                   'mostrar WORD - normal
'res = WordVer(1)                                   'mostrar WORD - maximizado

'res = WordFim(0)                                   'terminar WORD
res = WordLib(0)                                   'libertar WORD
end sub


'-----------------------------------------------------------------------------
' WORD - Estatistica Total Anual
'-----------------------------------------------------------------------------
Sub MswAno_DocIni 'inicializar documento
call Msw_DocIni                                    'inicializar documento
call MswAno_Prep                                   'preparar

'limpar totalizadores
totCnt   = 0                                       'numero de registos no grupo
totQu    = 0                                       'limpar quantidade
totVl    = 0                                       'limpar valor

sbtCnt   = 0                                       'numero de registos no grupo
sbtQu    = 0                                       'limpar quantidade
sbtVl    = 0                                       'limpar valor
end sub


Sub MswAno_DocFim 'terminar documento
'mostrar
call Msw_DocFim                                    'terminar/mostrar documento
end sub


Sub MswAno_Prep 'preparar para listar
'res = WordInsPag(1)                                'criar pagina
res = WordTabCri("IDE", 5, 4)                      'criar tabela
res = WordTabColDx(1, 1.1)                         'largura da coluna
res = WordTabColDx(2, 3.1)                         'largura da coluna
res = WordTabColDx(3, 1.0)                         'largura da coluna
res = WordTabColDx(4, 1.0)                         'largura da coluna

res = WordTabTit(1, "Estatística Anual (Total)")   'listar titulo
res = WordTabCelFon(1, 1, ",20,B+")                'ajustar titulo

res = WordTabCelTxt(3, 1, "Data:")                 'data
res = WordTabCelTxt(3, 2, FrmDt$("", Sig_DtHoje))  'data
res = WordTabCelAli(3, 2, "<")                     'alinhamento

res = WordInsLin(2)                                'linhas de separcao das tabelas

'titulos de colunas
res = WordTabCri("LIN", 2, 4)                      'criar tabela
res = WordTabColDx(1, 1.1)                         'largura da coluna
res = WordTabColDx(2, 3.1)                         'largura da coluna
res = WordTabColDx(3, 1.0)                         'largura da coluna
res = WordTabColDx(4, 1.0)                         'largura da coluna

linTit = 1                                         'linha para titulos
res = WordTabTcoPrp(",14,B+", "20%")               'aspecto de titulo e colunas

'codigo
res = WordTabTco(linTit, 1, "Código")              'descricao

'nome
res = WordTabTco(linTit, 2, "Nome")                'descricao

'quantidade
res = WordTabTco(linTit, 3, "Quant.")              'descricao

'valor
res = WordTabTco(linTit, 4, "Valor")               'descricao

'diversos
mswLin = 1                                         'contador de linhas usadas
end sub


Sub MswAno_Lin 'linha de valores
mswLin = mswLin + 1                                'numero de linhas
res = WordTabInsLin(1)                             'criar linha
for co = 1 to 2 
res = WordTabCelAli(mswLin, co, "<")               'alinhamento
next

'valores a listar
qu = MemNum(39)                                    'quantidade
vl = MemNum(69)                                    'valor

'totais
totCnt = totCnt + 1                                'contar registos
totQu = totQu + qu                                 'acumular quantidade
totVl = totVl + vl                                 'acumular valor

'subtotais
sbtCnt = sbtCnt + 1                                'contar registos
sbtQu = sbtQu + qu                                 'acumular quantidade
sbtVl = sbtVl + vl                                 'acumular valor

'listar
res = WordTabCelTxt(mswLin, 1, MemTxt$(23))        'codigo
res = WordTabCelTxt(mswLin, 2, MemTxt$(22))        'identificacao
call MswAno_LstQV                                  'listar quantidade/valor
End sub


Sub MswAno_LinGrp 'titulo de grupo
mswLin = mswLin + 1                                'numero de linhas
res = WordTabInsLin(1)                             'criar linha

res = WordTabCelTxt(mswLin, 1, MemTxt$(13))        'codigo
res = WordTabCelTxt(mswLin, 2, MemTxt$(12))        'descricao

for co = 1 to 2 
res = WordTabCelFon(mswLin, co, ",,I+")            'activar fonte italico
res = WordTabCelAli(mswLin, co, "|")               'alinhamento
next
end sub


Sub MswAno_LinSbt 'linha de subtotal
if sbtCnt > 1 then                                 'listar subtotal
   mswLin = mswLin + 1                             'numero de linhas
   res = WordTabInsLin(1)                          'criar linha

   res = WordTabCelTxt(mswLin, 2, "Subtotal:")     'identificacao
   res = WordTabCelAli(mswLin, 2, "|")             'alinhamento
   for co = 2 to 4
   res = WordTabCelFon(mswLin, co, ",,I+")         'activar fonte
   next

   qu = sbtQu                                      'quantidade
   vl = sbtVl                                      'valor
   call MswAno_LstQV                               'listar quantidade/valor
end if

'separar
mswLin = mswLin + 1                                'numero de linhas
res = WordTabInsLin(1)                             'criar linha

'limpar subtotal
sbtCnt   = 0                                       'limpar numero
sbtQu    = 0                                       'limpar quantidade
sbtVl    = 0                                       'limpar valor
end sub


Sub MswAno_LstQV 'listar quantidade/valor
qux$ = FrmNum$(10.2, qu)                           'formatar
vlx$ = FrmNum$(10.2, vl)                           'formatar

res = WordTabCelTxt(mswLin, 3, qux$)               'quantidade
res = WordTabCelTxt(mswLin, 4, vlx$)               'valor
for co = 3 to 4
res = WordTabCelAli(mswLin, co, ">")               'alinhamento
next
end sub


Sub MswAno_LinSep 'linha de separacao
mswLin = mswLin + 1                                'numero de linhas
res = WordTabInsLin(1)                             'criar linha
end sub


Sub MswAno_Fim 'terminar
for i = 1 to 2
mswLin = mswLin + 1                                'numero de linhas
res = WordTabInsLin(1)                             'criar linha
next

res = WordTabCelTxt(mswLin, 2, "Total:")           'identificacao
res = WordTabCelAli(mswLin, 2, "|")                'alinhamento

for co = 2 to 4
res = WordTabCelFon(mswLin, co, ",,B+ I+")         'activar fonte
next

qu = totQu                                         'quantidade
vl = totVl                                         'valor
call MswAno_LstQV                                  'listar quantidade/valor
end sub

##


