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
def isPassport(self, passport): """ Проверка является ли проверяемый паспорт паспортом в действительности. @param passport: Проверяемый паспорт. @return: True - это паспорт. False - нет. """ from ic.utils import ic_util return ic_util.is_pasport(passport)
def setSprav(self, sprav): """ Установить справочник. @param sprav: Объект справочника. Можно также задавать паспортом. @return: """ if ic_util.is_pasport(sprav): self.setSpravByPsp(sprav) else: self.sprav = sprav
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
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)
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