isOk= 1 message= '' # mandatory fields if not str(providerBlock.nameEntry): message+= 'Debe ingresar un nombre\n' isOk= 0 if not str(providerTaxProfileBlock.taxProfileEntry): message+= 'Debe ingresar un categoría de IVA\n' isOk= 0 if isOk: if providerBlock.getCurrentRecord().isInserted(): if not creditLimit1Block.getCurrentRecord().isInserted(): creditLimit1Block.newRecord() creditLimit1Block.movementTypeEntry = 1 # creditLimit1Block.creditLimitEntry = "0.0" if not providerUID_CUIT_Block.getCurrentRecord().isInserted(): providerUID_CUIT_Block.newRecord() providerUID_CUIT_Block.uid_CUIT_TypeEntry = 1 if not providerUID_IB_Block.getCurrentRecord().isInserted(): providerUID_IB_Block.newRecord() providerUID_IB_Block.uid_IB_TypeEntry = 2 if not providerCodeBlock.getCurrentRecord().isInserted(): providerCodeBlock.newRecord() # 3 es Codigo providerCodeBlock.providerCodeType = 3 providerTaxProfileBlock.newRecord() providerBlock.entityTypeEntry = "8" providerBlock.commit() # someone explain this... providerBlock.jumpRecord(2) # ver nota en client.gdf tmpId = str(providerBlock.providerIdEntry) providerBlock.processRollback() providerBlock.initQuery() providerBlock.providerIdEntry = tmpId providerBlock.processQuery() # modified database entityTypesBlock.providerEntityEntry = str(providerBlock.providerIdEntry) entityTypesBlock.providerEntityTypeEntry = 8 entityTypesBlock.commit() # le doy de alta a las 4 direcciones basicas addressBlock.addressTypeIdEntry = 1 addressBlock.nextRecord() addressBlock.addressTypeIdEntry = 2 addressBlock.nextRecord() addressBlock.addressTypeIdEntry = 3 addressBlock.nextRecord() addressBlock.addressTypeIdEntry = 4 entityTypesBlock.commit() # /modified database else: providerBlock.commit() else: form.genericBox (message+'Los datos no han sido grabados', ['Aceptar']) providerBlock.deleteRecord() providerBlock.commit() callTrigger('providerRollbackTrigger') import hack hack.rollback(creditLimit1Block) hack.rollback(providerUID_IB_Block) hack.rollback(providerUID_CUIT_Block) hack.rollback(providerTaxProfileBlock) hack.rollback(providerBlock) import hack hack.confirmPageChanges(self, 'commitTrigger', providerBlock) addressBlock.deleteRecord() addressBlock.commit() import hack hack.rollback(addressBlock) callTrigger('addressTypeNameSearchTrigger') \n" line += "" line += "" line += "" line += "\n" line += "" table.append(line) if str(providerSearchBlock.searchCodeEntry) or str(providerSearchBlock.searchNameEntry): providerCondition = GConditions.GConditions() tmpAnd = GConditions.GCand(providerCondition) if str(providerSearchBlock.searchCodeEntry): eq1 = GConditions.GClike(tmpAnd) GConditions.GCField(eq1,"_entity_uid_data.uid") GConditions.GCConst(eq1,str(providerSearchBlock.searchCodeEntry)+'%') if str(providerSearchBlock.searchNameEntry): eq2 = GConditions.GClike(tmpAnd) GConditions.GCField(eq2,"_entity_data.name") GConditions.GCConst(eq2,str(providerSearchBlock.searchNameEntry)+'%') providerResulSet = printProviderDataSource.createResultSet(providerCondition) else: providerResulSet = printProviderDataSource.createResultSet() more = providerResulSet.firstRecord(); while more: #agregar condicion de busquedq de direccion addressCondition = GConditions.GCondition() tmpAnd = GConditions.GCand(addressCondition) eq1 = GConditions.GCeq(tmpAnd) GConditions.GCField(eq1,"_address_data.entity") GConditions.GCConst(eq1,str(providerResulSet.current.getField("_entity_data._table"))) eq2 = GConditions.GCeq(tmpAnd) GConditions.GCField(eq2,"_address_data.address_type") GConditions.GCConst(eq2,"1") addressResulSet = printAddressDataSource.createResultSet(addressCondition) anAddress = addressResulSet.firstRecord() addresses = [] while anAddress: addresses.append(addressResulSet.current.getField("address")) anAddress = addressResulSet.nextRecord() # ahora telefono es una direccion de address_type = '2' addressCondition = GConditions.GCondition() tmpAnd = GConditions.GCand(addressCondition) eq1 = GConditions.GCeq(tmpAnd) GConditions.GCField(eq1,"_address_data.entity") GConditions.GCConst(eq1,str(providerResulSet.current.getField("_entity_data._table"))) eq2 = GConditions.GCeq(tmpAnd) GConditions.GCField(eq2,"_address_data.address_type") GConditions.GCConst(eq2,"2") telephoneResulSet = printAddressDataSource.createResultSet(addressCondition) anTelephone = telephoneResulSet.firstRecord() telephones = [] while anTelephone: telephones.append(telephoneResulSet.current.getField("address")) anTelephone = telephoneResulSet.nextRecord() line = "" else: line += "" line += "" else: line += "" def fillHtmlCell(cellValue): if cellValue: preValue = cellValue.pop() if preValue: return "" else: return "" else: return "" line += fillHtmlCell(addresses) line += fillHtmlCell(telephones) line += "\n" table.append(line) while addresses or telephones: line = "" line += fillHtmlCell(addresses) line += fillHtmlCell(telephones) line += "\n" table.append(line) line = "" table.append(line) more = providerResulSet.nextRecord() table.append("
CódigoNombreDirecciónTeléfono
-------------------------------------------------------------------------------
" preValue = providerResulSet.current.getField("_entity_uid_data.uid") if preValue: line += preValue+"" preValue = providerResulSet.current.getField("_entity_data.name") if preValue: line += preValue+""+preValue+"
 
\n") callTrigger('endWaitingModeTrigger') htmlFileName= tempfile.mktemp (".html") txtFileName= tempfile.mktemp (".txt") if not os.path.isfile(htmlFileName): file = os.open(htmlFileName,os.O_CREAT,0644) os.close(file) if not os.path.isfile(txtFileName): file = os.open(txtFileName,os.O_CREAT,0644) os.close(file) htmlFile = os.open(htmlFileName,os.O_WRONLY,0644) txtFile = os.open(txtFileName,os.O_WRONLY,0644) for line in table: os.write(htmlFile,line) os.write(txtFile,printing.printDate ()) # Agrega la Fecha os.write(txtFile,"\n\nListado de Proveedores\n\n\n") # Agrega titulo os.system ("html2text "+htmlFileName+" >> "+txtFileName) os.remove(htmlFileName) os.close(txtFile) printing.previewPrintFromFile(txtFileName) os.remove(txtFileName) ]]>
= 0.5 from gnue.common.events.Event import Event as GFEvent # busy clock self._object.dispatchEvent(GFEvent('beginWAIT')) ]]> = 0.5 from gnue.common.events.Event import Event as GFEvent self._object.dispatchEvent(GFEvent('endWAIT')) setStatusText("Listo") ]]> try: from gnue.forms.GFEvent import GFEvent except ImportError: from gnue.common.events.Event import Event as GFEvent setStatusText('buscando...') self._object.dispatchEvent(GFEvent('beginWAIT')) providerResultBlock.processRollback() providerResultBlock.initQuery() if str(providerSearchBlock.searchCodeEntry): providerResultBlock.codeListEntry = str(providerSearchBlock.searchCodeEntry)+'%' if str(providerSearchBlock.searchNameEntry): providerResultBlock.nameListEntry = '%s%%' % providerSearchBlock.searchNameEntry providerResultBlock.processQuery() setStatusText('Aceptar') self._object.dispatchEvent(GFEvent('endWAIT')) if providerResultBlock.isEmpty(): providerSearchBlock.notificationEntry = ' no se encontraron registros' else: providerSearchBlock.notificationEntry ='%6d registros encontrados' % providerResultBlock.getRecordCount() = 0.5 from gnue.common.events.Event import Event as GFEvent # busy clock form._object.dispatchEvent(GFEvent('beginWAIT')) setStatusText('buscando...') def setAddressType (recNo): if recNo>=0: addressTypeResultBlock.jumpRecord (recNo) addressBlock.addressTypeIdEntry= str(addressTypeResultBlock.addressTypeResultIdEntry) addressBlock.addressTypeNameEntry= str(addressTypeResultBlock.addressTypeResultNameEntry) # look for the name... addressTypeResultBlock.processRollback () addressTypeResultBlock.initQuery () addressTypeResultBlock.addressTypeResultNameEntry= str(addressBlock.addressTypeNameEntry)+'%' addressTypeResultBlock.processQuery () # are there too much results? resultCount= addressTypeResultBlock.getRecordCount () if resultCount>1: # do the select-man runForm ('addressTypeSelect.gfd', { 'data':addressTypeResultBlock, 'callback': setAddressType }) elif resultCount==1: setAddressType (0) setStatusText('Aceptar') form._object.dispatchEvent(GFEvent('endWAIT')) ]]> providerBlock.processRollback() if providerResultBlock.getRecordCount() > 0 and not providerResultBlock.getCurrentRecord().isEmpty(): providerBlock.initQuery() providerBlock.providerIdEntry = ("%s" % providerResultBlock.providerIdREntry) providerBlock.processQuery()