Пример #1
0
    def __abrir_item_para_edicao(sap_session, linha):

        try:
            SAPGuiElements.selecionar_linha(sap_session, ELEMENTO_LINHA, linha)
            sap_session.findById("wnd[0]").sendVKey(2)
            SAPGuiElements.ignorar_alerta(sap_session)
            if SAPGuiElements.verificar_mensagem_barra_inferior(sap_session):
                SAPGuiElements.enter(sap_session)
        except Exception:
            raise RuntimeError('Erro ao inserir direitos fiscais!')
Пример #2
0
    def criar_remessa(sap_session, remessa, remessa_sem_transporte=False):
        try:
            ordem = remessa.itens[0].numero_ordem
            SAPTransaction.call(sap_session, 'vl01n')
            SAPGuiElements.set_text(sap_session, SHIPPING_PLACE_FIELD,
                                    SHIPPING_PLACE_VALUE)
            SAPGuiElements.set_text(sap_session, SHIPPING_ORDER_FIELD, ordem)
            SAPGuiElements.press_keyboard_keys(sap_session, "Enter")

            # verificando se houve alguma mensagem de erro.
            # Uma exceçao será lançada no caso de erro.
            SAPGuiElements.verificar_mensagem_barra_inferior(sap_session)
            SAPGuiElements.select_element(sap_session, ELEMENTO_ABA_PICKING)

            linha = 0
            for item in remessa.itens:
                item_str = VL01.__procurar_item_pelo_codigo_produto(
                    sap_session, item.produto.codigo_sap, ordem)
                VL01.__inserir_deposito(sap_session, item.produto.deposito,
                                        item_str)
                VL01.__inserir_lote(sap_session, item.produto.lote, item_str)
                VL01.__inserir_quantidade(sap_session, item.quantidade,
                                          item_str)
                VL01.__inserir_picking(sap_session, item.quantidade, item_str)
                VL01.__alterar_direitos_fiscais_se_necessario(
                    sap_session, item.produto, linha)

            VL01.__inserir_dados_cabecalho(sap_session,
                                           remessa.itens[0].produto)

            SAPGuiElements.enter(sap_session)
            # ignorando alerta de remessas parciais
            SAPGuiElements.ignorar_alerta(sap_session)

            if SAPGuiElements.verificar_mensagem_barra_inferior(sap_session):
                SAPGuiElements.enter(sap_session)

            SAPGuiElements.salvar(sap_session)

            # ignorando alerta de remessas parciais
            SAPGuiElements.ignorar_alerta(sap_session)

            # verificando se houve alguma mensagem de erro.
            mensagem = SAPGuiElements.verificar_mensagem_barra_inferior(
                sap_session)

            # retornando o número da remessa
            return VL01.extrair_numero_remessa(mensagem)

        except Exception as e:
            raise e
Пример #3
0
 def __abrir_detalhes_cabecalho(sap_session):
     SAPGuiElements.press_button(sap_session,
                                 ELEMENTO_BOTAO_DETALHE_CABECALHJO)
     SAPGuiElements.ignorar_alerta(sap_session)