typedef struct {
 int        reservado           (GERAL-0);// 0
 int        pagina              (GERAL);// 0
 int        contador            (GERAL);// 0
 int        dia                 (GERAL);// 0
 int        mes                 (GERAL);// 0
 int        ano                 (GERAL);// 0
 char       mes_extenso         (GERAL)[20];// 0
 data       d1                  (GERAL);// 0
 data       d2                  (GERAL);// 0
 tipo_horas h1            (GERAL);// 0
 tipo_horas h2            (GERAL);// 0
 char       aux1                (GERAL)[80];// 0
 char       aux2                (GERAL)[80];// 0
 char       aux1                (GERAL)[2];// 0
 char       original            (GERAL)[80];// 0
 int        num_via             (GERAL);// 0
 int        linha               (GERAL);// 0
 double     euro               (GERAL);// 0
 char       hash                (GERAL)[10];// 0
      char  CodigoAT            (GERAL)[30];
      char  numero2             (GERAL)[20];
     } Geral;

typedef struct {                // 1
 char       nome              (EMPRESA-1)[72];// 1
 char       contribuinte      (EMPRESA)[15];// 1
 char       dados 0           (EMPRESA)[72];// 1
 char       dados 1           (EMPRESA)[72];// 1
 char       dados 2           (EMPRESA)[72];// 1
 char       dados 3           (EMPRESA)[72];// 1
 char       dados 4           (EMPRESA)[72];// 1
 char       dados 5           (EMPRESA)[72];// 1
 char       dados 6           (EMPRESA)[72];// 1
 char       dados 7           (EMPRESA)[72];// 1
 int        numero            (OPERADORES);// 1
 char       nome_operador     (OPERADORES)[41];// 1
 char       nome_mesa         (OPERADORES)[42];// 1
        long  numero2           (OPERADORES);
        char  pad2              (OPERADORES)[2];
        char  bmp               (EMPRESA)[72];
    }Cabecalho;             // 1

typedef struct {               // 2
 long       reservado         (DOCUMENTO-2);// 2
 long       linhas            (DOCUMENTO);// 2
 long       numero            (DOCUMENTO);// 2
 data       data-documento    (DOCUMENTO);// 2
 tipo_horas hora-doc.     (DOCUMENTO);// 2
 char       rsv               (DOCUMENTO)[1];// 2
 long       numero do C-F     (DOCUMENTO);// 2
 char       nome do C-F       (DOCUMENTO)[42];// 2
 double     desconto          (DOCUMENTO);// 2
 char       observacoes       (DOCUMENTO)[42];// 2
 long       operador          (DOCUMENTO);// 2
 long       numero_vendedor   (DOCUMENTO);// 2
 double     total material    (DOCUMENTO);// 2
 double     tot_desconto      (DOCUMENTO);// 2
 double     tot_liquido       (DOCUMENTO);// 2
 double     tot_iva           (DOCUMENTO);// 2
 double     tot_valor         (DOCUMENTO);// 2
 double     recebido          (DOCUMENTO);// 2
 double     troco             (DOCUMENTO);// 2
 long       mesa              (DOCUMENTO);// 2
 char       nome_opr          (DOCUMENTO)[42];// 2
 char       nome_mesa         (DOCUMENTO)[42];// 2
 long       factura           (DOCUMENTO);// 2
 char       meio_pagamento    (DOCUMENTO)[42];// 2
 double     pago              (DOCUMENTO);// 2
 double     pendente          (DOCUMENTO);// 2
 double     suj_valor1        (DOCUMENTO);// 2
 double     suj_valor2        (DOCUMENTO);// 2
 double     suj_valor3        (DOCUMENTO);// 2
 double     suj_valor4        (DOCUMENTO);// 2
 double     suj_taxa1         (DOCUMENTO);// 2
 double     suj_taxa2         (DOCUMENTO);// 2
 double     suj_taxa3         (DOCUMENTO);// 2
 double     suj_taxa4         (DOCUMENTO);// 2
 double     suj_iva1          (DOCUMENTO);// 2
 double     suj_iva2          (DOCUMENTO);// 2
 double     suj_iva3          (DOCUMENTO);// 2
 double     suj_iva4          (DOCUMENTO);// 2
 long       num_doc;// 2
 long       modificado;// 2
 long       dividir;// 2
 double     total2            (DOCUMENTO);// 2
      double propina           (DOCUMENTO);
      long   anulado           (DOCUMENTO);
      long   tpiva             (DOCUMENTO);
      char   nif               (DOCUMENTO)[18];
     } Doc;             //2

typedef struct {               //3
 long       reservado         (LINHAS DOC.-3);// 3
 long       linha             (LINHAS DOC.);// 3
 long       numero do Doc.    (LINHAS DOC.);// 3
 char       codigo            (LINHAS DOC.)[30];// 3
 char       designacao        (LINHAS DOC.)[80];// 3
 double     quantidade        (LINHAS DOC.);// 3
 double     preco_unit        (LINHAS DOC.);// 3
 double     iva               (LINHAS DOC.);// 3
 double     valor             (LINHAS DOC.);// 3
 long       grupo             (LINHAS DOC.);// 3
      long   cozinha           (LINHAS DOC.);
      long   qtd_cozinha       (LINHAS DOC.);
      long   tipo              (LINHAS DOC.);
      long   chupito           (LINHAS DOC.);
      long   combinado         (LINHAS DOC.);
      data   dx                (LINHAS DOC.);
      long   pedido            (LINHAS DOC.);
      long   opr               (LINHAS DOC.);
      long   guia              (LINHAS DOC.);
      char   lote              (LINHAS DOC.)[42];
      long   d2_dia            (LINHAS DOC.);
      int    d2_hora           (LINHAS DOC.);
      double preco2            (LINHAS DOC.);
      double valor2            (LINHAS DOC.);
     } DocLinha;         //3


typedef struct {               // 4
 long       numero                (CLI-FORN);// 4
 char       nome  1               (CLI-FORN)[50];// 4
 char       nome  2                         [50];// 4
 char       morada                (CLI-FORN)[51];// 4
 char       localidade            (CLI-FORN)[31];// 4
 char       codigo postal         (CLI-FORN)[11];// 4
 char       concelho              (CLI-FORN)[31];// 4
 char       distrito              (CLI-FORN)[31];// 4
 char       zona[21];// 4
 long       num_pais;// 4
 char       pais[21];// 4
 char       contribuinte[16];// 4
 char       telefone[31];// 4
 char       fax[31];// 4
 long       num_cond_pag;// 4
 char       cond_pag[21];// 4
 long       prazo;// 4
 double     desconto;// 4
 long       linha_precos;// 4
 long       rsv4;// 4
 char       email[41];// 4
 char       rsv3[21];// 4
 long       num_vendedor;// 4
 char       vendedor[41];// 4
 double     comissao;// 4
 char       precos_padronizados[2];// 4
 double     saldo;// 4
 char       obs[41];// 4
 double     desconto_linha;// 4
 double     plafont;// 4
 long       num_classe;// 4
 char       des_classe[21];// 4
 char       limite_credito[2];// 4
 data       dt;// 4
 double     credito;// 4
 double     puntos;// 4
 double     puntos2;// 4
  double imagem              (CLI-FORN);
 } Cliente;                   // 8

typedef struct {               // 5
 int        existe            (ARTIGOS-5);// 5
 char       codigo[30];// 5
 char       nome[60];// 5
 long       familia;// 5
 double     preco;// 5
 double     per_stock;// 5
 char       imagem[60];// 5
 long       imp_cozinha;// 5
 char       nome_bts[60];// 5
 long       CorFundo;// 5
 int        codigo            (ARTIGOS);// 5
 char       codigo2           (ARTIGOS)[15];// 5
 char       designacao        (ARTIGOS)[41];// 5
 char       designacao2       (ARTIGOS)[41];// 5
 int        familia           (ARTIGOS);// 5
 double     iva               (ARTIGOS);// 5
 double     preco_c_iva       (ARTIGOS);// 5
}Artigo;             // 23

typedef struct{
 int        rsv                (CLIENTE-6);// 6
 int        numero             (CLIENTE);// 6
 char       nome               (CLIENTE)[52];// 6
 char       dado1              (CLIENTE)[52];// 6
 char       dado2              (CLIENTE)[52];// 6
 char       dado3              (CLIENTE)[52];// 6
 char       dado4              (CLIENTE)[52];// 6
 char       dado5              (CLIENTE)[52];// 6
 char       dado6              (CLIENTE)[52];// 6
 char       dado7              (CLIENTE)[52];// 6
 char       dado8              (CLIENTE)[-420];// 6
   }Cliente2;

typedef struct {               //7
 long       reservado         (LINHAS DOC2.-7);// 7
 long       linha             (LINHAS DOC.);// 7
 long       numero do Doc.    (LINHAS DOC.);// 7
 char       codigo            (LINHAS DOC.)[30];// 7
 char       designacao        (LINHAS DOC.)[52];// 7
 double     quantidade        (LINHAS DOC.);// 7
 double     preco_unit        (LINHAS DOC.);// 7
 double     iva               (LINHAS DOC.);// 7
 double     valor             (LINHAS DOC.);// 7
 long       grupo             (LINHAS DOC.);// 7
     } DocLinha2;         //3


typedef struct {               //8
     long  codigo             (POSTO-8);
     char  nome               (POSTO)[50];
     char  add                (POSTO)[30];
     long  monitor            (POSTO);
     long  actualiza          (POSTO);
     char  serie              (POSTO)[30];
 } Posto;



typedef struct {               //9
     char  CodArt             (POSTO)[20];
     char  DescArt            (POSTO)[80];
     char  CodFam             (POSTO)[20];
     double  Peso             (POSTO);
     double  Preco            (POSTO);
     double  Valor            (POSTO);
     char  PesoT              (POSTO)[10];
     char  PrecoT             (POSTO)[10];
     char  ValorT             (POSTO)[10];
     char  Composicao         (POSTO)[80];
     char  Lote               (POSTO)[20];
     data  DataEmb            (POSTO);
     data  DataCons           (POSTO);
     char  Operador           (POSTO)[80];
     long  actualiza          (POSTO);
     char  serie              (POSTO)[30];
 } Etiqueta;

typedef struct {               //10
     long codigo      (POSTO);
     double linhas    (POSTO);
     double qtd_art    (POSTO);
 } Outros;


typedef struct {               //7
     long  numero  (CHECK_IN);
     long  alvelo  (CHECK_IN);
     long  num_cli  (CHECK_IN);
     char  nome_cli  (CHECK_IN)[80];
     long  num_pes  (CHECK_IN);
     data  data_fim  (CHECK_IN);
     data  data_ini  (CHECK_IN);
     char  matricula  (CHECK_IN)[40];
     long  num_dias  (CHECK_IN);
     long  estado  (CHECK_IN);
     } CheckIn;         //3

