示例#1
0
def getSpravChoiceListDlg(parent=None, sprav=None):
    """
    Вызов диалогового окна выбора кода справочника.
    @param parent: Родительское окно.
    @param sprav: Справочник. Может задаваться как объектом,
        так и паспортом справочника.
    @return: Строковый выбранный код.
    """
    result = None
    if parent is None:
        parent = wx.GetApp().GetTopWindow()
    if sprav:
        if ic_util.is_pasport(sprav):
            # Справочник задается паспортом
            # Надо создать объект
            sprav = ic.getKernel().Create(sprav)

        dlg = None
        try:
            dlg = icSpravChoiceListDialog(parent)
            dlg.setSprav(sprav)
            dlg.ShowModal()
            result = dlg.getSelectedCode()
            dlg.Destroy()
            dlg = None
        except:
            if dlg:
                dlg.Destroy()
            io_prnt.outErr(u'Ошибка диалогового окна выбора кода справочника.')
    else:
        io_prnt.outWarning(
            u'Не определен справочник диалогового окна выбора кода справочника.'
        )
    return result
示例#2
0
 def isPassport(self, passport):
     """
     Проверка является ли проверяемый паспорт паспортом в действительности.
     @param passport: Проверяемый паспорт.
     @return: True - это паспорт. False - нет.
     """
     from ic.utils import ic_util
     return ic_util.is_pasport(passport)
示例#3
0
 def setSprav(self, sprav):
     """
     Установить справочник.
     @param sprav: Объект справочника.
         Можно также задавать паспортом.
     @return:
     """
     if ic_util.is_pasport(sprav):
         self.setSpravByPsp(sprav)
     else:
         self.sprav = sprav
示例#4
0
 def setRefObj(self, ref_obj):
     """
     Установить бизнес объект/документ.
     @param ref_obj: Объект бизнес объекта/документа.
         Можно также задавать паспортом.
     @return:
     """
     if ic_util.is_pasport(ref_obj):
         self.setRefObjByPsp(ref_obj)
     else:
         self.ref_obj = ref_obj
示例#5
0
    def setSpravByPsp(self, sprav_psp):
        """
        Установить дерево справочника по его паспорту.
        @param sprav_psp: Паспорт справочника.
        """
        if not ic_util.is_pasport(sprav_psp):
            io_prnt.outWarning(u'Не корректное значение паспорта <%s>' %
                               sprav_psp)
            return

        self.Clear()
        self.init(sprav_psp, self.view_code, self.view_all)
示例#6
0
 def getDatasetFromDataSource(self, data_source=None, data_src_filter=None):
     """
     Получить набор данных из источника данных.
     @param data_source: Указание источника данных.
         Может указываться как паспорт или объект.
     @param data_src_filter: Дополнительный фильтр источника данных.
     @return: Список данных.
     """
     if not self._data_src_obj:
         self._data_src_obj = None
         if ic_util.is_pasport(data_source):
             # Источник данных задается паспортом
             self._data_src_obj = self.GetKernel().Create(data_source)
         else:
             # Источник данных задается объектом
             self._data_src_obj = data_source
     if self._data_src_obj:
         if data_src_filter:
             self._data_src_obj.setFilter(data_src_filter)
         return self._data_src_obj.getDataDict()
     else:
         log.warning(u'Не определен источник данных в объекте <%s>' % self.name)
     return None