Ejemplo n.º 1
0
 def adbCon(self, tab_place):
     '''Создает подключение к базе данных MS ACCESS
     
     tab_place - полный путь к базе данных или  2 <NGuides.mdb>, 3<M73Main.mdb>
     index - внутренний индекс соединения
     '''
     try:
         if str(tab_place).isdigit():
             if tab_place in [2, 3]:
                 szSrc = int(tab_place)
             if tab_place == 2:
                 ind = k3.adbcon(3)
                 sqlstr = """SELECT CorePaths.Path FROM CorePaths WHERE (((CorePaths.Name)='Proto'));"""
                 indrs = k3.adbopen(ind, sqlstr)
                 self.tab_place = k3.adbgetvalue(indrs, 0, '0')
                 indrs = k3.adbclose(indrs)
                 result = k3.adbdiscon(ind)
             elif tab_place == 3:
                 self.tab_place = k3.mpathexpand('<commonappdata>') + '\\M73Main.mdb'
         else:
             szSrc="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+tab_place
             self.tab_place = tab_place
         self.index = k3.adbcon(szSrc)
     except :
         if (k3.fileexist(str(tab_place))==0):
             k3.putmsg("База по адресу "+str(tab_place)+" не обнаружена",0)
             
     return self.index
Ejemplo n.º 2
0
def get_proto_property(con, id_proto):
    """Определяем список свойств прототипа"""

    sqlstr = [
        """SELECT TProtoPar.ParName, TProtoPar.ParPrompt, TProtoCategory.Category, TProtoCategory.ID AS IDCategory FROM TProtoCategory INNER JOIN TProtoPar ON TProtoCategory.ID = TProtoPar.CategoryID WHERE (((TProtoPar.ProtoID)="""
        + str(int(id_proto)) + """))
    ORDER BY TProtoPar.ParName;"""
    ]
    rs = con.RecordSetOpen(sqlstr)
    lrs = []
    if rs.count > 0:
        k3.adbmovefirst(rs.idRS)
        while k3.adbiseof(rs.idRS) == 0:
            lrs.append([
                k3.adbgetvalue(rs.idRS, 'ParName', '0'),
                k3.adbgetvalue(rs.idRS, 'ParPrompt', '0'),
                k3.adbgetvalue(rs.idRS, 'Category', '0'),
                k3.adbgetvalue(rs.idRS, 'IDCategory', 0)
            ])
            k3.adbmovenext(rs.idRS)
    rs.Close()
    return lrs
Ejemplo n.º 3
0
def getPathNguides():
    '''
    Возвращает полный путь к Nguides.mdb
    
    '''
    con = k3.adbcon(3)
    SQLSTR = '''SELECT CorePaths.Path
    FROM CorePaths
    WHERE (((CorePaths.Name)="Proto"));'''
    r = k3.adbopen(con, SQLSTR)
    ij = k3.adbreccount(r)
    path = k3.adbgetvalue(r, 'path', "xxx") if ij > 0 else None
    con = k3.adbdiscon(con)
    return path
Ejemplo n.º 4
0
 def get_nomenclature_property(self):
     """Определяем список доступных имен (идентификаторов) свойств номенклатуры"""
     NGuides = DataBase_ACCESS()
     NGuides.adbCon(2)
     sqlstr = ["""SELECT NProperties.Ident FROM NProperties;"""]
     rs = NGuides.RecordSetOpen(sqlstr)
     lrs = []
     if rs.count > 0:
         k3.adbmovefirst(rs.idRS)
         while k3.adbiseof(rs.idRS) == 0:
             lrs.append(k3.adbgetvalue(rs.idRS, 'Ident', '0'))
             k3.adbmovenext(rs.idRS)
     rs.Close()
     NGuides.adbDisCon()
     return lrs
Ejemplo n.º 5
0
    }
}

for gr in dGroup:
    IDGr = 0
    try:
        # Проверка на наличие группы умолчания
        SQLStr = "SELECT ID, Name FROM udCategory WHERE Query=\"{}\"".format(
            gr)
        RS = base.RecordSetOpen(SQLStr)
        if round(RS.count) != 1:
            # Максимальный ID группы
            RS1 = base.RecordSetOpen(
                "SELECT max(b.ID) AS maxID FROM udCategory b")
            k3.adbmovefirst(RS1.idRS)
            IDGr = int(k3.adbgetvalue(RS1.idRS, "maxID"))
            IDGr += 1
            SQL = '''INSERT into udCategory (ID, Name, Query, ParentID, Sort)
            SELECT top 1 {0}, '{1}', '{2}', NULL,
            (SELECT max(c.Sort) from udCategory c WHERE c.ParentID is Null)+1
            FROM udCategory a
            WHERE ParentID is Null'''.format(IDGr, dGroupName.get(gr, "None"),
                                             gr)
            base.RecordSetModify(SQL)
            print("Создали")
            KeyReLoad = True
            RS1.Close()
        else:
            k3.adbmovefirst(RS.idRS)
            IDGr = int(k3.adbgetvalue(RS.idRS, "ID"))
        RS.Close()
Ejemplo n.º 6
0
                            if side == 5:
                                checkDecor('A', IDGroup)
                            if side == 6:
                                checkDecor('F', IDGroup)
                            if side == -1:
                                checkDecor('A', IDGroup)
                                checkDecor('F', IDGroup)

                            if IDGroup not in nGroups:
                                zp1 = "SELECT Name FROM TProtoParType WHERE ID={}".format(
                                    IDGroup)
                                indrs = k3.adbopen(k3.adbcon(2), zp1)
                                total_s1 = k3.adbreccount(indrs)
                                if total_s1 > 0:
                                    err = k3.adbmovefirst(indrs)
                                    nGroups[IDGroup] = k3.adbgetvalue(
                                        indrs, "Name", 0)
                                else:
                                    nGroups[IDGroup] = ""
                        i += 1

                dPans['A'] = lGDecA
                dPans['F'] = lGDecF

                Shpon = False
                isMDF = False
                isDSP = False
                priceid = k3.getattr(obj, 'priceid', 0)
                parentid = k3.priceinfo(priceid, 'ParentID', 0, 1)
                pid = parentid if parentid > 0 else priceid
                MATTYPENAM = k3.priceinfo(pid, 'MATTYPENAM', "", 1)
                if MATTYPENAM[:4] == 'Шпон':