예제 #1
0
# db = 'database'
# user = '******'
# pwd = 'pwd'
# port = 8069
# uri = 'http://{0}.erp.clients'.format(db)
# %load https://raw.githubusercontent.com/gisce/powerp-tools/master/profiles_assign_invoice.py

from erppeek import Client
erp = Client(server=uri + ":" + str(port), user=user, password=pwd, db=db)

invoices = erp.model('giscedata.facturacio.factura')
profiles = erp.model('giscedata.perfils.perfil')

search_params = [('state', 'in', ('open', 'paid')),
                 ('invoice_id.journal_id.code', 'ilike', 'ENERGIA%')]

search_params_cancelling = search_params[:]
search_params_cancelling.append(('tipo_rectificadora', 'in', ('R', 'A', 'B')))

cancelling_invoice_ids = invoices.search(search_params_cancelling)

if cancelling_invoice_ids:
    cancelling_invoices = invoices.read(cancelling_invoice_ids, ['ref'])
    cancelled_invoice_ids = [x['ref'][0] for x in cancelling_invoices]

    search_params.extend([('id', 'not in', cancelled_invoice_ids)])

search_params.extend([
    ('tipo_rectificadora', 'in', ('N', 'R')),
])
예제 #2
0
from erppeek import Client
from datetime import datetime, timedelta
import configdb
import psycopg2
import psycopg2.extras
import argparse

O = Client(**configdb.erppeek)

pol_obj = O.GiscedataPolissa
sw_obj = O.GiscedataSwitching

parser = argparse.ArgumentParser(
    description='Seguiment de casos de contractes amb 3.0A')
parser.add_argument('-d', '--date', required=False)
args = vars(parser.parse_args())
data_inici = args['date']

tarifa = '3.0A'
data = '2016-03-15'
if not (data_inici):
    data_inici = datetime.today().strftime('%Y-%m-%d')


def contractesNous(tarifa, data_inici):
    tots = []
    sense_not = []
    mails = ['*****@*****.**', '*****@*****.**']
    data_fi = datetime.strftime(datetime.today(), '%Y-%m-%d')
    pol_ids = pol_obj.search([('tarifa.name', '=', tarifa),
                              ('data_firma_contracte', '>=', data_inici),
예제 #3
0
from ast import literal_eval
from urlparse import urlparse
import sys
import base64
from subprocess import call
import time
import tempfile

from erppeek import Client

url = urlparse(sys.argv[1])
report = sys.argv[2]
ids = literal_eval(sys.argv[3])
context = literal_eval(sys.argv[4])

O = Client('{x.scheme}://{x.hostname}:{x.port}'.format(x=url),
           url.path.lstrip('/'), url.username, url.password)

report_id = O.report(report, ids, {}, context)
sys.stdout.write("Waiting")
res = {'state': False}

while not res['state']:
    res = O.report_get(report_id)
    sys.stdout.write(".")
    time.sleep(0.1)
    sys.stdout.flush()

sys.stdout.write("\n")

report_file = tempfile.mktemp(prefix='oo-report-')
with open(report_file, 'w') as f:
예제 #4
0
 def setUp(self):
     super().setUp()
     self.erp = Client(**config.ERP_CONF)
     self.app.mongo_client = AsyncIOMotorClient(config.MONGO_CONF)
     self.loop = asyncio.get_event_loop()
     self.f5d_id = '5c2dd783cb2f477212c77abb'
예제 #5
0
 def __init__(self, srv, port, db, user, pwd):
     self.Client = Client('http://%s:%d' % (srv, port), db, user, pwd)
     self.model = 'todo.task'
def main(**kwargs):
    c = Client(**configdb.erppeek)
    print "connected to: {}".format(c._server)
    create_file(c, kwargs['from_date'], kwargs['file_output'])
예제 #7
0
# Database connection helper

    @api.multi
    def get_client(self, not_database=False):
        self.ensure_one()
        try:
            if not_database:
                return Client('http://%s' % (self.instance_id.main_hostname))
        except Exception, e:
            raise except_orm(_("Unable to Connect to Database."),
                             _('Error: %s') % e)
        # First try to connect using instance pass
        try:
            return Client('http://%s' % (self.instance_id.main_hostname),
                          db=self.name,
                          user='******',
                          password=self.instance_id.admin_pass)
        # then try to connect using database pass
        except:
            try:
                return Client('http://%s' % (self.instance_id.main_hostname),
                              db=self.name,
                              user='******',
                              password=self.admin_password)
            except Exception, e:
                raise except_orm(_("Unable to Connect to Database."),
                                 _('Error: %s') % e)

# Modules management

    @api.one
예제 #8
0
 def get_erp_client_instance(cls):
     if cls._client is None:
         cls._client = Client(**settings.ERP)
         msg = 'Connected to ERP username: %s, server: %s'
         cls._logger.info(msg, settings.ERP['user'], settings.ERP['server'])
     return cls._client