Escolar Documentos
Profissional Documentos
Cultura Documentos
Produto
PeTExchange
Versão 1.0
novembro 2013
(última atualização em 15.11.2013)
Índice
Índice............................................................................................................................ 2
Introdução .................................................................................................................... 4
Artigos ...................................................................................................................... 6
Documentos ............................................................................................................... 7
Entidades .................................................................................................................. 8
Famílias ..................................................................................................................... 9
Ingredientes............................................................................................................... 9
Liquidações ................................................................................................................ 9
Linhas da Liquidação............................................................................................... 10
Mesas ..................................................................................................................... 11
Movimentos de Caixa................................................................................................. 11
Observações ............................................................................................................ 12
Operadores .............................................................................................................. 12
Pedidos ................................................................................................................... 13
Salas ...................................................................................................................... 13
Delete ..................................................................................................................... 17
GetItemsByClient ...................................................................................................... 17
GetNext ................................................................................................................... 17
GetSpecificItem ........................................................................................................ 17
LoadItems ............................................................................................................... 17
StartReading ............................................................................................................ 18
Filtros.......................................................................................................................... 19
A sua utilização faz-se através da classe clsExchange. Para que a comunicação possa ocorrer, a
aplicação Pssst! ou Tlim deve estar em execução, local ou remotamente.
Classe de serviços
A DLL fornece como base de acesso aos dados a classe clsExchange. Essa classe disponibiliza
uma série de propriedades que dão acesso às várias classes de dados.
Algumas classes possuem duas ou três versões de acesso aos dados. Quanto maior a versão,
maior a quantidade de dados preenchidos. As versões são identificadas na tabela de entidades
existente neste documento.
São entidades que possuem um número de registos limitado, isto é, que não devem crescer ou
que devem crescer em um número muito reduzido.
A leitura destas entidades é feita toda de uma única vez, isto é, ao ser feito o pedido de leitura
de um item, toda a coleção de itens é disponibilizada em memória.
São entidades que devem crescer de forma muito acentuada com o tempo.
As entidades deste grupo tem, para além dos métodos citados anteriormente, mais dois
métodos complementares:
GetNext
StartReading
Por se tratarem de coleções que podem ter muitos registos, o PetExchange fornece uma
paginação automática de registos. Uma página é definida como um conjunto de 100 registos
(valor este que pode ser alterado através da propriedade PageSize). Para iniciar a paginação é
preciso fazer uma chamada ao método StartReading da classe. Esse método não retorna
nenhuma estrutura de dados, apenas indica que vai ser iniciada a leitura de dados. A partir de
então, para cada registo a ser lido, basta fazer uma chamada à função GetNext. A paginação
passa a ser controlada pelo PeTExchange, isto é, mesmo que exista um número de registos
superior ao tamanho da página, basta continuar a chamada à função GetNext. Quando não
houver mais registos, a função GetNext retorna o valor Nothing.
Entidades existentes
Abaixo seguem as tabelas com as entidades disponibilizadas. A coluna versão, quando
existente, indica a partir de qual versão a propriedade é disponibilizada (preenchida).
Artigos
clsBEArticle
Propriedade Descrição Versão
Code Código do Artigo 1
Description Designação 1
Price Preço 1 1
Unit Unidade de Medida 1
TaxID Taxa de IVA 1
FamilyCode Código da família 1
BarCode Código de Barras 1
PrinterLabelNumber Número da impressora 2
ScaleID Identificador de escala 2
IngredientsID Código da lista de ingredientes 2
BatchCode Lote 2
ValidityDays Validade em dias 2
ValidityDays2 Validade em dias 2 2
FixedTare Tara fixa 2
WeightDiscount Percentagem de desconto em peso 2
QuantityDefault Quantidade por defeito 2
QuantityMinimum Peso mínimo 2
QuantityMaximum Peso máximo 2
HasButton Artigo tem botão 2
Description2 Designação 2 3
Price2 Preço 2 3
Price3 Preço 3 3
Price4 Preço 4 3
ObservationsAmount Número de observações 3
Discount Desconto 3
SingleObservation Permitir uma única observação 3
ConfirmPrice Confirmar preço 3
ConfirmQuantity Confirmar quantidade 3
Stock Stock real 3
Documentos
clsBEDocument
Propriedade Descrição Versão
DocumentType Tipo do documento 1
DocumentNumber Número do documento 1
LineCount Número de linhas 1
VendorCode Código do vendedor 1
TerminalID Terminal 1
DocumentDate Data do documento 1
DiscountTotal Desconto total 1
TotalAmount Total com taxas 1
Lines Linhas do documento 1
SystemDate Data de criação do documento 2
DueDate Data de vencimento 2
UserID Utilizador 2
Reference Referência opcional 2
Emitted Indica se o documento foi emitido 2
Deleted Indica se o documento foi eliminado 2
EntityCode Código da entidade 2
EntityName Nome da entidade 2
EntityTaxID Número fiscal da entidade 2
Taxes Lista de taxas do documento 2
TotalTaxAmount Valor total de taxas 2
SubTotal Total sem taxas e sem descontos 2
NetTotal Total sem taxas 2
Hash Assinatura digital 2
HashShortReference Assinatura digital 2
Certificate Identificador de certificação 2
KeyVersion Versão (certificação) 2
ExternalDocNumber Número do documento externo 2
Linhas do Documento
clsBEDocumentLine
DocumentType Tipo do documento 1
DocumentNumber Número do documento 1
LineNumber Número da linha 1
ArticleCode Código do Artigo 1
Price Preço 1
Quantity Quantidade 1
Total Valor total 1
UserID Operador 2
Description Descrição 2
Unit Unidade 2
TaxIncluded IVA incluído 2
QuantityDecimalPlaces Casas decimais usadas na quantidade 2
TaxPercentage Percentagem de IVA 2
TaxGroup Código do IVA 2
PercentageDiscount1 Desconto percentual 1 2
Discount1 Valor do desconto 1 2
PercentageDiscount2 Desconto percentual 2 2
Discount2 Valor do desconto 2 2
ExemptionReason Motivos de isenção 2
OriginalDocumentType Tipo do documento original 2
OriginalDocumentSeries Série do documento original 2
OriginalDocumentNumber Número do documento original 2
OriginalDocumentDate Data do documento original 2
Entidades
clsBEEntity
Propriedade Descrição
EntityType Cliente ou fornecedor
Code Código
FirstName Primeiro nome
SecondName Apelido
Address Morada
City Cidade
ZIPCode Código postal
County Localidade
Profession Profissão
BusinessZone Zona
FiscalID Número de contribuinte
PhoneNumber Telefone
MobileNumber Telemóvel
FaxNumber Fax
eMail e-mail
BirthDate Data de nascimento
ClassificationID Classe
ClassificationDescription Descrição da classe
PaymentTermsID Condições de pagamento
PaymentTermsDescription Descrição das condições de pagamento
PaymentDelay Prazo
DefaultPriceLevel Linha de preço
Discount Desconto comercial
LineDiscount Desconto da linha
CountryID Identificador do país
BusinessID Identificador do negócio
ManufacturerID1 Identificador – Produtor 1
ManufacturerID2 Identificador – Produtor 2
ManufacturerID3 Identificador – Produtor 3
Balance Saldo da conta corrente
DebitLimit Limite de débito
CardBalance Saldo do cartão pré pago
Observations Observações
Disabled Inativo
Famílias
clsBEFamily
Propriedade Descrição Versão
FamilyCode Código 1
FamilyName Descrição 1
ImageRelativePath Imagem 2
TaxGroupID Grupo 2
Department Departamento 2
Ingredientes
clsBEIngredient
Propriedade Descrição
IngredientListID Código da lista de ingredientes
Description Descrição da lista de ingredientes
Ingredients Lista de ingredientes separados por vírgulas
Liquidações
clsBELiquidation
Propriedade Descrição
DocumentType Tipo do documento
Number Número do documento
LineCount Número de linhas
TerminalID Terminal
DocumentDate Data do documento
SystemDate Data de criação
ProcessDate Data de processamento
UserID Operador
Reference Referência
Emitted Emitido
Deleted Apagado
Processed Processado
EntityCode Código da entidade
EntityName Nome da entidade
EntityTaxID Número fiscal da entidade
TotalTaxAmount Valor total das taxas
SubTotal Valor total antes de taxas e descontos
DiscountTotal Desconto total
Retainable Valor sujeito a retenção
RetainedTotal Valor total retido
TotalAmount Valor total incluindo taxas
Lines Linhas da Liquidação
Linhas da Liquidação
clsBELiquidationLine
DocumentType Tipo do documento
DocumentNumber Número do documento
LineNumber Número da linha
OriginalDocumentType Tipo do documento original
OriginalDocumentNumber Número do documento original
OriginalDocumentDate Data do documento original
OriginalDocumentDueDate Data de vencimento do documento original
OriginalDocumentDescription Descrição do documento original
OriginalDocumentReference Referência do documento original
TransactionType Tipo do movimento (crédito/débito)
DocumentTotal Valor total
PendingValue Valor pendente
LiquidatedValue Valor liquidado
DiscountPercentage Desconto percentual
DiscountTotal Desconto total
AmountTransfered Valor transferido para conta
TotalTaxValue Valor total de IVA
TotalRetainableValue Valor sujeito a retenção
RetainedTotal Valor total retido
Meios de Pagamento
clsBEPaymentMethod
Propriedade Descrição
Code Código
Description Descrição
Exchange Câmbio
PaymentType Tipo de pagamento
Movimentos de Caixa
clsBECashFlow
Propriedade Descrição
CashFlowDate Data do movimento
Number Número do movimento
PaymentMethod Modo de pagamento
UserID Utilizador
EventType Tipo de evento
Observações
clsBEObservation
Propriedade Descrição
ObservationID Código
Observation Descrição
OnlyAppliesToArticles Usar só como observação/artigo
Operadores
clsBEUser
Propriedade Descrição
UserID Código
Name Nome
PIN Código de Acesso
IsAdministrator Administrador
CanChangePrices Permite alterar preço dos artigos
ArticleDeletion Permissão para remover artigos das contas
Linhas do pedido
clsBETableListLine
ListID Código da lista 1
LineID Código da linha 1
Article Artigo 1
Description Descrição 1
UnitPrice Preço unitário 1
Quantity Quantidade 1
TotalAmount Valor total 1
Observations Observações 1
UnitName Descrição da unidade 2
QuantityDecimalPlaces Casas decimais da quantidade 2
Discount1 Desconto 1 2
Discount2 Desconto 2 2
UserID Operador 2
Salas
clsBERoom
Propriedade Descrição
RoomID Código
Name Designação
NumberOfTables Número de mesas
DefaultPriceLevel Nível de preços
Taxas de IVA
clsBETax
Propriedade Descrição
TaxID Código
TaxPercentage Taxa
TaxDescription Descrição
Tipos de Documentos
clsBEDocumentType
Propriedade Descrição Versão
Code Código 1
Description Descrição 1
LegalTypeCode Tipo do documento (SAF-T) 1
Series Série 1
TargetEntityType Documento para cliente/fornecedor 2
Tipos de Liquidações
clsBELiquidationType
Propriedade Descrição
Code Código
Description Descrição
LegalTypeCode Tipo do documento (SAF-T)
Series Série
TargetEntityType Documento para cliente/fornecedor
Delete
Entidade Parâmetros
Entidades válidas 1 <Code>, msg
Parâmetro Descrição
<Code> Código da entidade
msg Mensagem a ser preenchida em caso de erro
GetItemsByClient
Entidade Parâmetros
Artigos por cliente Client, msg
Parâmetro Descrição
Client Código do cliente
msg Mensagem a ser preenchida em caso de erro
GetNext
Entidade Parâmetros
Entidades tendencialmente msg
grandes
Parâmetro Descrição
msg Mensagem a ser preenchida em caso de erro
GetSpecificItem
Entidade Parâmetros
Todas as entidades, com exceção <Code>, msg
de Artigos por Cliente
Parâmetro Descrição
<Code> Código da entidade
msg Mensagem a ser preenchida em caso de erro
LoadItems
Entidade Parâmetros
Artigos msg, Parameters
Códigos de Barras
Movimentos de caixa
Pedidos
Artigos por Cliente msg, ForceReload
Famílias
Ingredientes
Meios de Pagamento
Observações
Operadores
Salas
Taxas
Tipos de Documentos
Tipos de Liquidações
Documentos <Code>, msg, parameters
Parâmetro Descrição
Msg Mensagem a ser preenchida em caso de erro
Parameters Conjunto de filtros e valores
ForceReload Faz com que os dados sejam novamente lidos. Se tiver o valor false,
são usados os dados em memória
<Code> Código da entidade
SendItem, SendItems
Entidade Parâmetros
Pedido Msg, Terminal, <Code>
Documento TableList, TemplateDocument, PaymentMethod, Amount, msg
Demais entidades Msg, <Code>, OverlapItems
Parâmetro Descrição
msg Mensagem a ser preenchida em caso de erro
Terminal Número do terminal a registar no pedido
<Code> Código da entidade
OverlapItems Parâmetro opcional – se true indica que o item será sobreposto no
destino (Pssst! ou Tlim) caso já exista. Por defeito, é false.
TableList Mesa ou pedido
TemplateDocument Documento modelo
PaymentMethod Método de pagamento
Amount Valor
StartReading
Entidade Parâmetros
Documentos <type>, Msg, <code>
Entidades
Liquidações
Demais entidades Msg, <code>
tendencialmente grandes
Parâmetro Descrição
<type> Tipo da entidade
msg Mensagem a ser preenchida em caso de erro
<Code> Parâmetro opcional, com o código da primeira entidade a ser
carregada
Filtros
Os filtros apenas estão disponíveis para as coleções tendencialmente grandes.
Os filtros são passados como parâmetro do método LoadItems das entidades e são opcionais. Ao
serem usados, devem obedecer ao seguinte formato:
Ex. 2: Carregar movimentos de caixa do mês de outubro de 2013, do tipo entrada de caixa:
Filtros Disponíveis
Exemplo de utilização
Abaixo segue uma pequena demonstração de como fazer a leitura e escrita de dados (código VB6)
Do
If Not objArt Is Nothing Then
' Verifica se ocorreu algum erro
If Len(msg) > 0 Then
MsgBox msg
Else
' Adiciona a descrição do artigo à uma ListBox
lstExemplo.AddItem objArt.Description
End If
Set objArt = objExchange.Articles.GetNext(msg) ' Le o artigo seguinte
Else
If Len(msg) > 0 Then ' Verifica se ocorreu algum erro
MsgBox msg
End If
End If
Loop While Not objArt Is Nothing
lstExemplo.Clear
lstExemplo.Clear
' Fechar o pedido da mesa 4 com a criação de uma fatura simplificada, paga
' com um valor de 10 euros em numerário
Set objDoc = New clsBEDocument
objDoc.DocumentType = 1