Mudanças entre as edições de "Manual Vasilhames"

De Conecto wiki
Ir para navegação Ir para pesquisar
Linha 790: Linha 790:
  </LAYOUT>
  </LAYOUT>
|
|
|}
'''13. XML de Vasilhame'''
Através da função '''425,''' o PDV gera o XML de devolução como transação 55. Assim o
servidor terá controle dos vasilhames devolvidos e vendidos.
'''Exemplo de XML'''
|<RETURN>
<STORE>35</STORE>
<POS>1</POS>
<TICKET>5496</TICKET>
<TRN>188</TRN>
<FISCAL_STORE>1</FISCAL_STORE>
<FISCAL_POS>1</FISCAL_POS>
<CASHIER_ID>17109</CASHIER_ID>
<CASHIER_NAME>Josmi</CASHIER_NAME>
<FISCAL_DAY>20130828</FISCAL_DAY>
<FISCAL_TIME>20130828155922</FISCAL_TIME>
<SESSION_SEQUENCE>1</SESSION_SEQUENCE>
<TRANSACTION_TYPE>55</TRANSACTION_TYPE> <!---Transação 55 Devolução
vasilhame--->
<XHEADER>
<IGT>1450511.830</IGT>
<ITK>5495</ITK>
<CMD>67</CMD>
<GL>425</GL>
</XHEADER>
<ITEM>
<SEQ>1</SEQ>
<SEC>1377706332</SEC>
<SKU>11072891</SKU>
<ID>11072891</ID>
<DESCRIPTION>Vasilhame BRAHMA</DESCRIPTION>
<UNIT_PRICE>0.45</UNIT_PRICE>
<AMOUNT>0.45</AMOUNT>
<DECS_PRICE>2</DECS_PRICE>
<QTY>1</QTY>
<DECS_QTY>0</DECS_QTY>
<TAX_PERC>0.000</TAX_PERC>
<TAX_ID>I</TAX_ID>
<SUBTOTAL>0.45</SUBTOTAL>
<DEPT_ID>1</DEPT_ID>
<SCANNED>1</SCANNED>
<TYPE_PRICE>1</TYPE_PRICE>
<UNIT>Un</UNIT>
<MIN_SPLITS>1</MIN_SPLITS>
</ITEM>
<SUBTOTAL>0.45</SUBTOTAL>
<TRANSACTION_TYPE>55</TRANSACTION_TYPE>
<BEGIN_SEC>1377706332</BEGIN_SEC><END_SEC>1377706335</END_SEC>
</RETURN>
|
|}
'''14.Consulta de vasilhames e itens.'''
No Emporium na tela '''vendas/vasilhames,''' você encontrará toda gestão para
administrar os vasilhames. É possível verificar o número do comprovante, status e,
realizar cancelamento, além de outras informações básicas. Conforme '''figuras 6 e 7.'''
{| class="wikitable" style="width: 100%;"
|-
!'''Figura – 6 Controle troca de vasilhames'''
|-
|}
{| class="wikitable" style="width: 100%;"
|-
!'''Figura 7 - Troca de vasilhames'''
|-
|}
{| class="wikitable" style="width: 100%;"
|-
!'''Figura 8 - Troca de vasilhames Consulta itens'''
|-
|}
|}

Edição das 18h45min de 20 de março de 2015

Manual Vasilhames


Introdução

A funcionalidade consiste na devolução e venda de vasilhames. A devolução refere-se ao recebimento de vasilhames do cliente a loja, sem a necessidade de emitir cupom fiscal. Na venda é concedido o desconto referente a devolução anterior.

1. Cupom de vasilhames / Grupo de vasilhames

Foi desenvolvida uma opção para definir se haverá desconto ou pagamento no vasilhame. Exemplo: Grupo Cerveja = marca A, marca B, marca C e etc. Pode definir se o cupom de vasilhame será consultado durante a venda, para que seja concedido o desconto automaticamente em cada item.

2.Cupom de venda

É possível determinar como será realizado o desconto do produto vasilhame. No momento da venda, o sistema permite a opção de exibir na tela 2 itens (líquido e Vasilhame) ou apenas 1 item (Líquido). A venda dos produtos associados, que não estiverem no Vale Vasilhame, não terá desconto e deverá ser pagos o valor total (Líquido +vasilhame).


3. Vale Vasilhame.

Com a parametrização por grupos é possível efetuar o recebimento de itens do mesmo grupo de vasilhames ( exemplo: entregar vasilhame marca A e comprar marca B). Sendo assim, é possível dar entrada de vários vasilhames na mesma venda.

4.Contra-Vale de vasilhames.

Caso o cliente não utilize todos os itens do Vale Vasilhame, o sistema irá gerar um contra-vale com um novo número de devolução, listando quantidade e itens restantes. A utilização do contra-vale é válida por até 7 dias.

5. Tratamento do vasilhame.

Centralizado

O servidor gera e controla o número da devolução. Porém, é necessário que o Servidor esteja on-line, caso contrário, no PDV aparecerá a mensagem abaixo:

Servidor sem acesso / Erro de Comunicação 3

Neste caso, o vale vasilhame não será descartado, a Função 222 (desconto por motivo vasilhame offline) deverá ser usada assim que o PDV restabelecer conexão, será enviado os dados para o servidor.

Local

É possível definir um PDV administrador de vasilhame. Assim, este PDV terá o controle na geração do vale e contravale, sem intervenção do servidor. O vale gerado é sequencial por loja, sendo assim não ocorrerá o risco de repetição do número do Ticket.

6. Importação de Vasilhames

A importação de vasilhames consiste na integração do grupo e dos itens associados. O envio do grupo deverá ser composto por código e nome no registro 47 cadastro de grupos. O envio dos itens deverá conter código no registro 48 itens por grupos.

Detalhe dos formatos do registro estão disponíveis no arquivo de Layout

Layout- intervenção Emporium POC.

7. Criação de vasilhames e Vinculo de itens.

O produto líquido é associado ao produto vasilhame. Sendo assim, abaixo está um passo a passo que irá auxiliar na configuração:

1. Em PLU/Produtos - Cadastrar um novo produto com a flag é PLU associada. selecionada. Esse produto será o vasilhame e seu código será 50 conforme figura 01.

Figura 1 - Manutençao de produtos.

2. Em PLU/Produto Cadastrar o produto Coca-Cola. Seu código será 7894900701609 conforme figura 2.

Figura 2 - Manutenção de produtos.

3. Em PLU/Produtos – No cadastro do produto Coca-Cola, colocar no campo PLU associada o código do casco 50 conforme figura 03.

Figura 3 - Manutenção de produtos.

8.Grupos de vasilhames e seus Itens

Após vincular o líquido ao casco, é necessário criar um grupo de identificação no qual relacionado ao item vasilhame. Com a criação de grupos podemos colocar mais itens e assim ampliar as formas de recebimento do produto. Desta forma, é possível o cliente devolver o casco de refrigerante e receber o desconto no vasilhame.

1. Em PLU/grupo de vasilhamesAdicione um novo grupo com código e nome conforme figura 4.

Figura 4 - Manutenção de grupo de vasilhames

2. Em PLU/Itens por grupos de vasilhame Selecione o grupo criado anteriormente e insira o código do produto vasilhame. Em nosso exemplo, é o código 50

Figura 5 - Manutenção de grupo de vasilhames Edição

9. Parametrização de PDV

Conforme explicação na página 05, existem duas formas de tratamento do vasilhame.

Modo centralizado: O servidor gera e controla o número da devolução

Função 425 - Devolução de vasilhames

|-<CMD>
<ID read_only='yes'>425</ID>
<AUTHORIZATIONS width='3'>1</AUTHORIZATIONS>
<TYPE options='CMD_TYPE_OPTIONS'>3</TYPE>
<COMMAND width='4'>67</COMMAND>
<LAYOUT width='4'>35</LAYOUT>
<REFERENCE_TEXT read_only='yes'>Devolucao de Vasilhames</REFERENCE_TEXT>
<ALLOWED_STATES width='40'></ALLOWED_STATES>
<TEXT width='40'>Devolucao de Vasilhames</TEXT>
<PROMPT width='30'></PROMPT>
<PROMPT_QUESTION width='4'>0</PROMPT_QUESTION>
<OPTION_LIST horizontal_list='yes' allow_insert='yes' hide_label='yes'>
<OPTION hide_label='yes'>
<ID read_only='yes' hidden='yes'>2</ID>
<VALUE width='6'>3</VALUE>
<TEXT read_only='yes'>Opção de Solicitar Preço</TEXT>
</OPTION>
<OPTION hide_label='yes'>
<ID read_only='yes' hidden='yes'>3</ID>
<VALUE options='YES_NO_OPTIONS'>0</VALUE>
<TEXT read_only='yes'>Imprimir Relatorio Resumido</TEXT>
</OPTION>
<OPTION hide_label='yes'>
<ID read_only='yes' hidden='yes'>5</ID>
<VALUE options='YES_NO_OPTIONS'>1</VALUE>
<TEXT read_only='yes'>Gerar Identificacao de Transacao</TEXT>
</OPTION>
<OPTION hide_label='yes'>
<ID read_only='yes' hidden='yes'>11</ID>
<VALUE options='YES_NO_OPTIONS'>425</VALUE>
<TEXT read_only='yes'>Transacao Global</TEXT>
</OPTION>
<OPTION hide_label='yes'>
<ID read_only='yes' hidden='yes'>15</ID>
<VALUE options='YES_NO_OPTIONS'>55</VALUE>
<TEXT read_only='yes'>Tipo de Transacao</TEXT>
</OPTION>
<OPTION hide_label='yes'>
<ID read_only='yes' hidden='yes'>39</ID>
<VALUE options='YES_NO_OPTIONS'>1</VALUE>
<TEXT read_only='yes'>Devolver PLU Associada ao Identificar Item</TEXT>
</OPTION>
</OPTION_LIST>
<QUESTION_OPTION_LIST horizontal_list='yes' allow_insert='yes' hide_label='yes'>
</QUESTION_OPTION_LIST>
<SHELL_COMMAND_LIST horizontal_list='yes' allow_insert='yes' hide_label='yes'>
<SHELL_COMMAND>
<ID read_only='yes'>14</ID>
<SHELL_COMMAND_USE read_only='yes'>Cabecalho</SHELL_COMMAND_USE>
<SHELL_COMMAND_TEXT width='60'>{NL}
{HT} COMPROVANTE DE RETORNO DE VASILHAME{NL}
{HT} ______________________________
{NL}
{NL}
{}Loja: {LOJA} Operador: {OPERADOR_NOME}{NL}
{NL}
</SHELL_COMMAND_TEXT>
</SHELL_COMMAND>
<SHELL_COMMAND> 
<ID read_only='yes'>15</ID>
<SHELL_COMMAND_USE read_only='yes'>Detalhe</SHELL_COMMAND_USE>
<SHELL_COMMAND_TEXT width='60'>[{ITEM_SEQUENCIA}] {ITEM_CODIGO}
{ITEM_DESCRICAO}{HT}{HT}{SemEspacos(Mascara(ITEM_QUANTIDADE; "ZZZ9"))|'x'|
SemEspacos(Mascara(ITEM_VALOR_UNITARIO; "ZZZ9,99"))}</SHELL_COMMAND_TEXT>
</SHELL_COMMAND>
<SHELL_COMMAND>
<ID read_only='yes'>17</ID>
<SHELL_COMMAND_USE read_only='yes'>Rodape</SHELL_COMMAND_USE>
<SHELL_COMMAND_TEXT width='60'>
{NL}
{} QUANTIDADE DE VASILHAMES: {SemEspacos(VOLUMES)}{NL}
{NL}
{} VALOR TOTAL: {SemEspacos(SUBTOTAL)}{NL}
{NL}
{HT} N. RESGATE VASILHAME: {DEVOLUCAO_NUMERO}{NL}
{NL}
{HT}Ao realizar sua compra, apresente este {NL}
{HT}cupom quando solicitado{NL}
{NL}
Data={DATA} Hora={HORA}
</SHELL_COMMAND_TEXT>
</SHELL_COMMAND>
<SHELL_COMMAND>
<ID read_only='yes'>19</ID>
<SHELL_COMMAND_USE read_only='yes'>Detalhe</SHELL_COMMAND_USE>
<SHELL_COMMAND_TEXT text_box='yes' lines='3'
width='50'></SHELL_COMMAND_TEXT>
</SHELL_COMMAND>
</SHELL_COMMAND_LIST>
</CMD>
|-
|}

Função 426 - Pagamento de vasilhames

|-
|<CMD>
<ID read_only='yes'>426</ID>
<AUTHORIZATIONS width='3'>0</AUTHORIZATIONS>
<TYPE options='CMD_TYPE_OPTIONS'>3</TYPE>
<COMMAND width='4'>147</COMMAND> 
<LAYOUT width='4'>35</LAYOUT>
<REFERENCE_TEXT read_only='yes'>Pagamento com
Vasilhame</REFERENCE_TEXT>
<ALLOWED_STATES width='40'></ALLOWED_STATES>
<TEXT width='40'>Pagamento com Vasilhame</TEXT>
<PROMPT width='30'>Numero?</PROMPT>
<PROMPT_QUESTION width='4'>0</PROMPT_QUESTION>
<OPTION_LIST horizontal_list='yes' allow_insert='yes' hide_label='yes'>
<OPTION hide_label='yes'>
<ID read_only='yes' hidden='yes'>0</ID>
<VALUE width='40'>1</VALUE>
<TEXT read_only='yes'>Tipo de Controle</TEXT>
</OPTION>
<OPTION hide_label='yes'>
<ID read_only='yes' hidden='yes'>2</ID>
<VALUE options='YES_NO_OPTIONS'>1</VALUE>
<TEXT read_only='yes'>Sair com Sucesso</TEXT>
</OPTION>
<OPTION hide_label='yes'>
<OPTION hide_label='yes'>
<ID read_only='yes' hidden='yes'>3</ID>
<VALUE options='YES_NO_OPTIONS'>1</VALUE>
<TEXT read_only='yes'>Pedir Mais</TEXT>
</OPTION>
<OPTION hide_label='yes'>
<ID read_only='yes' hidden='yes'>4</ID>
<VALUE width='40'>427</VALUE>
<TEXT read_only='yes'>Comando de Desconto</TEXT>
</OPTION>
</OPTION_LIST>
<QUESTION_OPTION_LIST horizontal_list='yes' allow_insert='yes' hide_label='yes'>
</QUESTION_OPTION_LIST>
<SHELL_COMMAND_LIST horizontal_list='yes' allow_insert='yes' hide_label='yes'>
<SHELL_COMMAND>
<ID read_only='yes'>14</ID>
<SHELL_COMMAND_USE
read_only='yes'>Cabeçalho</SHELL_COMMAND_USE>
<SHELL_COMMAND_TEXT width='60'>{NL}
{HT} COMPROVANTE DE RETORNO DE VASILHAME{NL}
{HT} ______________________________
{NL}
{NL}
{}Loja: {LOJA} Operador: {OPERADOR_NOME}{NL}
{NL}
</SHELL_COMMAND_TEXT>
</SHELL_COMMAND>
<SHELL_COMMAND>
<ID read_only='yes'>15</ID>
<SHELL_COMMAND_USE read_only='yes'>Detalhe</SHELL_COMMAND_USE>
<SHELL_COMMAND_TEXT width='60'>[{ITEM_SEQUENCIA}] {ITEM_CODIGO}
{ITEM_DESCRICAO}{HT}{HT}{SemEspacos(Mascara(ITEM_QUANTIDA
DE; "ZZZ9"))|'x'|SemEspacos(Mascara(ITEM_VALOR_UNITARIO;
"ZZZ9,99"))}</SHELL_COMMAND_TEXT>
</SHELL_COMMAND>
<SHELL_COMMAND>
<ID read_only='yes'>17</ID>
<SHELL_COMMAND_USE read_only='yes'>Rodape</SHELL_COMMAND_USE>
<SHELL_COMMAND_TEXT width='60'>
{NL}
{} QUANTIDADE DE VASILHAMES: {SemEspacos(VOLUMES)}{NL}
{NL}
{} VALOR TOTAL: {SemEspacos(SUBTOTAL)}{NL}
{NL}
{HT} N. RESGATE VASILHAME: {DEVOLUCAO_NUMERO}{NL}
{NL}
{HT}Ao realizar sua compra, apresente este {NL}
{HT}cupom quando solicitado{NL}
{NL}
Data={DATA} Hora={HORA}
</SHELL_COMMAND_TEXT>
</SHELL_COMMAND>
<SHELL_COMMAND>
<ID read_only='yes'>19</ID>
<SHELL_COMMAND_USE read_only='yes'>Detalhe</SHELL_COMMAND_USE>
<SHELL_COMMAND_TEXT text_box='yes' lines='3'
width='50'></SHELL_COMMAND_TEXT>
</SHELL_COMMAND>
</SHELL_COMMAND_LIST>
</CMD>
|
|}

Função 427 - Desconto em item vasilhames

|-
|<CMD>
<ID read_only='yes'>427</ID>
<AUTHORIZATIONS width='3'>0</AUTHORIZATIONS>
<TYPE options='CMD_TYPE_OPTIONS'>3</TYPE>
<COMMAND width='4'>85</COMMAND>
<LAYOUT width='4'>0</LAYOUT>
<REFERENCE_TEXT read_only='yes'>Desconto em Item
Vasilhame</REFERENCE_TEXT>
<ALLOWED_STATES width='40'></ALLOWED_STATES>
<TEXT width='40'>Desconto em Item</TEXT>
<PROMPT width='30'>Valor?</PROMPT>
<PROMPT_QUESTION width='4'>0</PROMPT_QUESTION>
<OPTION_LIST horizontal_list='yes' allow_insert='yes' hide_label='yes'>
<OPTION hide_label='yes'>
<ID read_only='yes' hidden='yes'>2</ID>
<VALUE options='YES_NO_OPTIONS'>0</VALUE>
<TEXT read_only='yes'>Percentual</TEXT>
</OPTION>
<OPTION hide_label='yes'>
<ID read_only='yes' hidden='yes'>3</ID>
<VALUE options='YES_NO_OPTIONS'>1</VALUE>
<TEXT read_only='yes'>Por Sequencia</TEXT>
</OPTION>
</OPTION_LIST>
<QUESTION_OPTION_LIST horizontal_list='yes' allow_insert='yes' hide_label='yes'>
</QUESTION_OPTION_LIST>
<SHELL_COMMAND_LIST horizontal_list='yes' allow_insert='yes' hide_label='yes'>
</SHELL_COMMAND_LIST>
</CMD>
|
|}
Modo local: É definido um PDV que irá gerar e controlar o número de devolução.
A Parametrização local é recomendável para ambientes em que tenha uma grande

instabilidade na rede externa. É definido um PDV administrador que terá controle na geração do comprovante sem a necessidade de ter conexão com a Internet. Após definir um PDV como servidor:

Alterar GLOBAL.xml
<POS_SERVER_PORT>8603</POS_SERVER_PORT>
<HTTP_SERVER>./thttpd -D</HTTP_SERVER>
<HTTP_DIR> . .<HTTP_DIR>
<HTTP_PORT>8680<HTTP_PORT>
Como Preencher

Nos PDVs restantes que farão o resgate:

Alterar nas funções 425 e 426
<SHELL_COMMAND>
<ID read_only='yes'>19</ID>
<SHELL_COMMAND_USE read_only='yes'>Detalhe</SHELL_COMMAND_USE>
<SHELL_COMMAND_TEXT text_box='yes' lines='3'
width='50'>10.2.1.109:8603</SHELL_COMMAND_TEXT>
</SHELL_COMMAND>

No SHELL_COMMAND 19, é definido o IP do PDV administrador seguido de porta de comunicação.

10.Cancelamento de Vasilhame

Para realizar o cancelamento de vasilhame é necessário trabalhar com ele local, pois ele consulta o PDV administrador para efetuar o cancelamento.


Função 460 Cancelamento de Vasilhame

|<CMD>
<ID read_only='yes'>460</ID>
<AUTHORIZATIONS width='3'>1</AUTHORIZATIONS>
<TYPE options='CMD_TYPE_OPTIONS'>3</TYPE>
<COMMAND width='4'>067</COMMAND>
<LAYOUT width='4'>35</LAYOUT>
<REFERENCE_TEXT read_only='yes'>Cancelamento de Vasilhame</REFERENCE_TEXT>
<ALLOWED_STATES width='40'></ALLOWED_STATES>
<TEXT width='40'>Cancelamento de Devolução</TEXT>
<PROMPT width='30'>Numero?</PROMPT>
<PROMPT_QUESTION width='4'>0</PROMPT_QUESTION>
<OPTION_LIST horizontal_list='yes' hide_label='yes'>
<OPTION hide_label='yes'>
<ID read_only='yes' hidden='yes'>2</ID>
<VALUE width='6'>3</VALUE>
<TEXT read_only='yes'>Opção de Solicitar Preço</TEXT> 3
</OPTION>
<OPTION hide_label='yes'>
<ID read_only='yes' hidden='yes'>3</ID>
<VALUE options='YES_NO_OPTIONS'>0</VALUE>
<TEXT read_only='yes'>Imprimir Relatório Resumido</TEXT> 0
</OPTION>
<OPTION hide_label='yes'>
<ID read_only='yes' hidden='yes'>9</ID>
<VALUE options='YES_NO_OPTIONS'>1</VALUE>
<TEXT read_only='yes'>Cancelamento</TEXT> 1 Cancelamento
</OPTION>
<OPTION hide_label='yes'>
<ID read_only='yes' hidden='yes'>11</ID>
<VALUE options='YES_NO_OPTIONS'>460</VALUE>
<TEXT read_only='yes'>Transação Global</TEXT> Numero da Função 460
</OPTION>
</OPTION_LIST>
<QUESTION_OPTION_LIST horizontal_list='yes' allow_insert='yes' hide_label='yes'>
</QUESTION_OPTION_LIST>
<SHELL_COMMAND_LIST horizontal_list='yes' allow_insert='yes' hide_label='yes'>
<SHELL_COMMAND>
<ID read_only='yes'>14</ID>
<SHELL_COMMAND_USE read_only='yes'>Cabeçalho</SHELL_COMMAND_USE>
<SHELL_COMMAND_TEXT text_box='yes' lines='3' width='50'>{NL}
{HT} CANCELAMENTO DE RETORNO DE VASILHAME{NL}
{HT} ------------------------------------{NL}
{NL}
{}LOJA: {LOJA}
{NL}
{}OPERADOR{NL}
{} Codigo: {OPERADOR_CODIGO}{NL}
{} Nome: {OPERADOR_NOME}{NL}
{NL}
</SHELL_COMMAND_TEXT>
</SHELL_COMMAND>
<SHELL_COMMAND>
<ID read_only='yes'>15</ID>
<SHELL_COMMAND_USE read_only='yes'>Detalhe</SHELL_COMMAND_USE>
<SHELL_COMMAND_TEXT text_box='yes' lines='3' width='50'>[{ITEM_SEQUENCIA}]
{ITEM_CODIGO} {ITEM_DESCRICAO}{HT}{HT}
{SemEspacos(Mascara(ITEM_QUANTIDADE; "ZZZ9"))|'x'|
SemEspacos(Mascara(ITEM_VALOR_UNITARIO; "ZZZ9,99"))}</SHELL_COMMAND_TEXT>
</SHELL_COMMAND>
<SHELL_COMMAND>
<ID read_only='yes'>17</ID>
<SHELL_COMMAND_USE read_only='yes'>Rodape</SHELL_COMMAND_USE>
<SHELL_COMMAND_TEXT text_box='yes' lines='3' width='50'>
{NL}
{HT}QUANTIDADE DE VASILHAMES:{SemEspacos(VOLUMES)}{NL}
{NL}
{} VALOR TOTAL:{SemEspacos(SUBTOTAL)}{NL}
{NL}
{HT} N. RESGATE VASILHAME: {DEVOLUCAO_NUMERO}{NL}
{NL}
</SHELL_COMMAND_TEXT>
</SHELL_COMMAND>
<SHELL_COMMAND>
<ID read_only='yes'>19</ID>
<SHELL_COMMAND_USE read_only='yes'>IP do Servidor de
Vasilhame</SHELL_COMMAND_USE>
<SHELL_COMMAND_TEXT text_box='yes' lines='3'
width='50'>10.2.1.109:8603</SHELL_COMMAND_TEXT>
</SHELL_COMMAND>
</SHELL_COMMAND_LIST>
</CMD> 

| |}

11.Formas de desconto do vasilhame.

A função 427 disponibilizada acima é o desconto de vasilhame no item. Caso tenha limitação em seu ECF em que não consiga aplicar o desconto no item, é possível realizar o desconto no subtotal da venda. Para isso basta adicionar as funçoes 462 e 463.

Função 462 Vasilhame com desconto no subtotal.

|<CMD>
<ID read_only='yes'>462</ID>
<AUTHORIZATIONS width='3'>1</AUTHORIZATIONS>
<TYPE options='CMD_TYPE_OPTIONS'>3</TYPE>
<COMMAND width='4'>147</COMMAND>
<LAYOUT width='4'>35</LAYOUT>
<REFERENCE_TEXT read_only='yes'>Vasilhame com desconto no Subtotal
</REFERENCE_TEXT>
<ALLOWED_STATES width='40'></ALLOWED_STATES>
<TEXT width='40'>Pagamento com Vasilhame</TEXT>
<PROMPT width='30'>Numero?</PROMPT>
<PROMPT_QUESTION width='4'>0</PROMPT_QUESTION>
<OPTION_LIST horizontal_list='yes' allow_insert='yes' hide_label='yes'>
<OPTION hide_label='yes'>
<ID read_only='yes' hidden='yes'>0</ID>
<VALUE width='40'>2</VALUE>
<TEXT read_only='yes'>Tipo de Controle</TEXT>
</OPTION>
<OPTION hide_label='yes'>
<ID read_only='yes' hidden='yes'>2</ID>
<VALUE options='YES_NO_OPTIONS'>1</VALUE>
<TEXT read_only='yes'>Sair com Sucesso</TEXT>
</OPTION>
<OPTION hide_label='yes'>
<ID read_only='yes' hidden='yes'>3</ID>
<VALUE options='YES_NO_OPTIONS'>1</VALUE>
<TEXT read_only='yes'>Pedir Mais</TEXT>
</OPTION>
<OPTION hide_label='yes'>
<ID read_only='yes' hidden='yes'>4</ID>
<VALUE width='40'>463</VALUE>
<TEXT read_only='yes'>Comando de Desconto</TEXT>
</OPTION>
</OPTION_LIST>
<QUESTION_OPTION_LIST horizontal_list='yes' allow_insert='yes' hide_label='yes'>
</QUESTION_OPTION_LIST>
<SHELL_COMMAND_LIST horizontal_list='yes' allow_insert='yes' hide_label='yes'>
<SHELL_COMMAND>
<ID read_only='yes'>14</ID>
<SHELL_COMMAND_USE read_only='yes'>Cabecalho</SHELL_COMMAND_USE>
<SHELL_COMMAND_TEXT width='60'>{NL}
{HT} COMPROVANTE DE RETORNO DE VASILHAME{NL}
{HT} ______________________________
{NL}
{NL}
{}Loja: {LOJA} Operador: {OPERADOR_NOME}{NL}
{NL}
</SHELL_COMMAND_TEXT>
</SHELL_COMMAND>
<SHELL_COMMAND>
<ID read_only='yes'>15</ID>
<SHELL_COMMAND_USE read_only='yes'>Detalhe</SHELL_COMMAND_USE>
<SHELL_COMMAND_TEXT width='60'>[{ITEM_SEQUENCIA}] {ITEM_CODIGO}
{ITEM_DESCRICAO}{HT}{HT}{SemEspacos(Mascara(ITEM_QUANTIDA
DE; "ZZZ9"))|'x'|SemEspacos(Mascara(ITEM_VALOR_UNITARIO;
"ZZZ9,99"))}</SHELL_COMMAND_TEXT>
</SHELL_COMMAND>
<SHELL_COMMAND>
<ID read_only='yes'>17</ID>
<SHELL_COMMAND_USE read_only='yes'>Rodape</SHELL_COMMAND_USE>
<SHELL_COMMAND_TEXT width='60'>
{NL}
{} QUANTIDADE DE VASILHAMES: {VOLUMES}{NL}
{NL}
{} VALOR TOTAL: {SemEspacos(SUBTOTAL)}{NL}
{NL}
{HT} N. RESGATE VASILHAME: {DEVOLUCAO_NUMERO}{NL}
{NL}
{HT}Ao realizar sua compra, apresente este {NL}
{HT}cupom quando solicitado{NL}
{NL}
Data={DATA} Hora={HORA}
</SHELL_COMMAND_TEXT>
</SHELL_COMMAND>
<SHELL_COMMAND>
<ID read_only='yes'>19</ID>
<SHELL_COMMAND_USE read_only='yes'>Detalhe</SHELL_COMMAND_USE>
<SHELL_COMMAND_TEXT text_box='yes' lines='3'
width='50'></SHELL_COMMAND_TEXT>
</SHELL_COMMAND>
</SHELL_COMMAND_LIST>
</CMD>
|
|}

Função 463 desconto subtotal de vasilhames

|<CMD>
<ID read_only='yes'>463</ID>
<AUTHORIZATIONS width='3'>1</AUTHORIZATIONS>
<TYPE options='CMD_TYPE_OPTIONS'>3</TYPE>
<COMMAND width='4'>37</COMMAND>
<LAYOUT width='4'>0</LAYOUT>
<REFERENCE_TEXT read_only='yes'>Desconto no Subtotal</REFERENCE_TEXT>
<ALLOWED_STATES width='40'></ALLOWED_STATES>
<TEXT width='40'>Desconto em Item</TEXT> 
<PROMPT width='30'>Valor?</PROMPT>
<PROMPT_QUESTION width='4'>0</PROMPT_QUESTION>
<QUESTION_OPTION_LIST horizontal_list='yes' allow_insert='yes' hide_label='yes'>
</QUESTION_OPTION_LIST>
<SHELL_COMMAND_LIST horizontal_list='yes' allow_insert='yes' hide_label='yes'>
</SHELL_COMMAND_LIST>
</CMD>

| |}


12.Verificação de vasilhame na venda.

O PDV fará uma verificação quando houver vasilhame na venda. Essa checagem será feita através do comando de subtotal que pode ser o comando 007 ou 241

A forma que será concedido o desconto está definida neste parâmetro:
A forma que será concedido o desconto está definida neste parâmetro:
<OPTION hide_label="yes">
<ID read_only="yes" hidden="yes">21</ID>
<VALUE width="5">426</VALUE>
<TEXT read_only="yes">Comando de Vasilhames</TEXT>
</OPTION>

Altere o valor dessa OPTION de acordo com tipo de desconto desejado.

426 Desconto no item
462 Desconto no subtotal

12.Tema

Ao realizar a entrada do vasilhame, o sistema utiliza a tela de devolução para fazer essa tarefa. Portanto, é importante verificar se a tela DEVOLUCAO.ppm está dentro do diretório do tema. Com esse requisito básico, adicione no SCREEN.xml:


Layout 35

<LAYOUT>

<ID>35</ID>
<TYPE>2</TYPE>
<NAME>Devolucao</NAME>
<BACKGROUND>DEVOLUCAO.ppm</BACKGROUND>
<ELEMENT_LIST>
<ELEMENT>
<NAME>Nome do operador</NAME>
<TYPE>14</TYPE>
163
<FG_COLOR>000080</FG_COLOR>
<BG_COLOR>T</BG_COLOR>
<MINX>87</MINX>
<MAXX>244</MAXX>
<MINY>456</MINY>
<MAXY>468</MAXY>
</ELEMENT>
<ELEMENT>
<NAME>Operador:</NAME>
<TYPE>111</TYPE>
164
<FG_COLOR>000080</FG_
COLOR>
<BG_COLOR>T</BG_COLOR>
<MINX>17</MINX>
<MAXX>86</MAXX>
<MINY>456</MINY>
<MAXY>468</MAXY>
<TEXT>Operador:</TEXT>
</ELEMENT>
<ELEMENT>
<NAME>Cliente:</NAME>
<TYPE>111</TYPE>
164
<FG_COLOR>000080</FG_COLOR>
<BG_COLOR>T</BG_COLOR>
<MINX>17</MINX>
<MAXX>86</MAXX>
<MINY>
444</MINY>
<MAXY>456</MAXY>
<TEXT>Cliente:</TEXT>
</ELEMENT>
<ELEMENT>
<NAME>Nome do Cliente</NAME>
<TYPE>36</TYPE>
163
<FG_COLOR>000080</FG_COLOR>
<BG_COLOR>T</BG_COLOR>
<MINX>72</MINX>
<MAXX>277</MAXX>
<MINY>444</MINY>
<MAXY>456</MAXY>
</ELEMENT>
<ELEMENT>
<NAME>Preco</NAME>
<TYPE>111</TYPE>
164
<FG_COLOR>000080</FG_COLOR>
<BG_COLOR>T</BG_COLOR>
<MINX>17</MINX>
<MAXX>86</MAXX>
<MINY>431</MINY>
<MAXY>443</MAXY>
<TEXT>Preco:</TEXT>
</ELEMENT>
<ELEMENT>
<NAME>Nome do Preco</NAME>
<TYPE>119</TYPE>
163
<FG_COLOR>000080</FG_COLOR>
<BG_COLOR>T</BG_COLOR>
<MINX>64</MINX>
<MAXX>274</MAXX>
<MINY>431</MINY>
<MAXY>443</MAXY>
</ELEMENT>
<ELEMENT>
<NAME>Janela de Detalhes</NAME>
<TYPE>3</TYPE>
145
<FG_COLOR>000080</FG_COLOR>
<BG_COLOR>T</BG_COLOR>
<MINX>58</MINX>
<MAXX>360</MAXX>
<MINY>151</MINY>
<MAXY>381</MAXY>
</ELEMENT>
<ELEMENT>
<NAME>Preco Unitario</NAME>
<TYPE>105</TYPE>
219
<FG_COLOR>000080</FG_COLOR>
<BG_COLOR>T</BG_COLOR>
<MINX>425</MINX>
<MAXX>550</MAXX>
<MINY>270</MINY>
<MAXY>290</MAXY>
</ELEMENT>
<ELEMENT>
<NAME>Descricao Longa</NAME>
<TYPE>57</TYPE>
173
<FG_COLOR>000080</FG_COLOR>
<BG_COLOR>T</BG_COLOR>
<MINX>70</MINX>
<MAXX>580</MAXX>
<MINY>104</MINY>
<MAXY>132</MAXY>
</ELEMENT>
<ELEMENT>
<NAME>Quantidade</NAME>
<TYPE>7</TYPE>
219
<FG_COLOR>000080</FG_COLOR>
<BG_COLOR>T</BG_COLOR>
<MINX>425</MINX>
<MAXX>550</MAXX>
 <MINY>174</MINY>
<MAXY>194</MAXY>
</ELEMENT>
<ELEMENT>
<NAME>Unitario X Quantidade + Acrescimo - Desconto</NAME>
<TYPE>104</TYPE>
219
<FG_COLOR>000080</FG_COLOR>
<BG_COLOR>T</BG_COLOR>
<MINX>425</MINX>
<MAXX>550</MAXX>
<MINY>365</MINY>
<MAXY>385</MAXY>
</ELEMENT>
<ELEMENT>
<NAME>Display do Operador</NAME>
<TYPE>1</TYPE>
168
<FG_COLOR>000080</FG_COLOR>
<BG_COLOR>ffffff</BG_COLOR>
<MINX>333</MINX>
<MAXX>614</MAXX>
<MINY>425</MINY>
<MAXY>469</MAXY>
</ELEMENT>
<ELEMENT>
<NAME>Menu</NAME>
<TYPE>84</TYPE>
169
<FG_COLOR>000080</FG_COLOR>
<BG_COLOR>ffffff</BG_COLOR>
<MINX>043</MINX>
<MAXX>374</MAXX>
<MINY>150</MINY>
<MAXY>392</MAXY>
</ELEMENT>
</ELEMENT_LIST>
</LAYOUT>

13. XML de Vasilhame

Através da função 425, o PDV gera o XML de devolução como transação 55. Assim o servidor terá controle dos vasilhames devolvidos e vendidos.

Exemplo de XML

|<RETURN>
<STORE>35</STORE>
<POS>1</POS>
<TICKET>5496</TICKET>
<TRN>188</TRN>
<FISCAL_STORE>1</FISCAL_STORE>
<FISCAL_POS>1</FISCAL_POS>
<CASHIER_ID>17109</CASHIER_ID>
<CASHIER_NAME>Josmi</CASHIER_NAME>
<FISCAL_DAY>20130828</FISCAL_DAY>
<FISCAL_TIME>20130828155922</FISCAL_TIME>
<SESSION_SEQUENCE>1</SESSION_SEQUENCE>
<TRANSACTION_TYPE>55</TRANSACTION_TYPE> 
<XHEADER>
<IGT>1450511.830</IGT>
<ITK>5495</ITK>
<CMD>67</CMD>
<GL>425</GL>
</XHEADER>
<ITEM>
<SEQ>1</SEQ>
<SEC>1377706332</SEC>
<SKU>11072891</SKU>
<ID>11072891</ID>
<DESCRIPTION>Vasilhame BRAHMA</DESCRIPTION>
<UNIT_PRICE>0.45</UNIT_PRICE>
<AMOUNT>0.45</AMOUNT>
<DECS_PRICE>2</DECS_PRICE>
<QTY>1</QTY>
<DECS_QTY>0</DECS_QTY>
<TAX_PERC>0.000</TAX_PERC>
<TAX_ID>I</TAX_ID>
<SUBTOTAL>0.45</SUBTOTAL>
<DEPT_ID>1</DEPT_ID>
<SCANNED>1</SCANNED>
<TYPE_PRICE>1</TYPE_PRICE>
<UNIT>Un</UNIT>
<MIN_SPLITS>1</MIN_SPLITS>
</ITEM>
<SUBTOTAL>0.45</SUBTOTAL>
<TRANSACTION_TYPE>55</TRANSACTION_TYPE>
<BEGIN_SEC>1377706332</BEGIN_SEC><END_SEC>1377706335</END_SEC>
</RETURN>

| |}

14.Consulta de vasilhames e itens.

No Emporium na tela vendas/vasilhames, você encontrará toda gestão para administrar os vasilhames. É possível verificar o número do comprovante, status e, realizar cancelamento, além de outras informações básicas. Conforme figuras 6 e 7.

Figura – 6 Controle troca de vasilhames
Figura 7 - Troca de vasilhames
Figura 8 - Troca de vasilhames Consulta itens