# inlineSearch: a component for searching codes and descriptions # requires: wait.nebc $target_block $target_field $rows $target_block.qtyEntry = 0.00 $target_block.unitPriceEntry = 0.00 $target_block.priceEntry = "0" $target_block.ivaEntry = 0 $target_block.discountEntry = 0.00 $target_block.bonusEntry = 0.00 $target_block.itemTotalEntry = 0.00 callTrigger('totalCalcTrigger') #armado de la lista de recorrido del arbol if tmpValuesDataSource.priceTypeId: search_id = str(tmpValuesDataSource.priceTypeId) priceListsChain=[] while search_id != "" : priceTypeBlock.initQuery() priceTypeBlock.priceTypeId = search_id priceTypeBlock.processQuery() search_id = str(priceTypeBlock.priceTypeParentId) priceListsChain.append("%s" % priceTypeBlock.priceTypeId) tmpProdResultBlock.clear() tmpProdResultBlock.initQuery() if str($target_block.hid_productNameEntry) \ != str($target_block.productNameEntry): tmpProdResultBlock.prodNameEntry = ("%s" % $target_block.productNameEntry)+"%" else: tmpProdResultBlock.prodNameEntry = '' if str($target_block.hid_productCodeEntry) \ != str($target_block.productCodeEntry): tmpProdResultBlock.prodCodeEntry = ("%s" % $target_block.productCodeEntry)+"%" else: tmpProdResultBlock.prodCodeEntry = '' tmpProdResultBlock.prodCodeTypeEntry = "1" # Ver como elegimos el código adecuado tmpProdResultBlock.processQuery() # cargar la parte visible de modificacion de precios tmpProdResultBlock.firstRecord() product_id_anterior = None prodResultBlock.clear() for index in range(tmpProdResultBlock.getRecordCount()): product_id=("%s" %tmpProdResultBlock.prodIdEntry) if product_id != product_id_anterior: for pricetype in priceListsChain: if pricetype == ("%s" %tmpProdResultBlock.prodPriceTypeIdEntry): if len(str(prodResultBlock.prodNameEntry)): prodResultBlock.newRecord() prodResultBlock.prodNameEntry= ("%s" %tmpProdResultBlock.prodNameEntry) prodResultBlock.prodCodeEntry= ("%s" %tmpProdResultBlock.prodCodeEntry) prodResultBlock.prodPriceTypeEntry= ("%s" %tmpProdResultBlock.prodPriceTypeEntry) prodResultBlock.prodUnitPriceEntry= ("%s" %tmpProdResultBlock.prodUnitPriceEntry) prodResultBlock.prodPriceEntry = ("%s" %tmpProdResultBlock.prodPriceEntry) prodResultBlock.prodPricePreviousEntry= ("%s" %tmpProdResultBlock.prodUnitPriceEntry) prodResultBlock.prodProductIdEntry= ("%s" %tmpProdResultBlock.prodIdEntry) prodResultBlock.prodPriceListIdEntry= ("%s" %tmpProdResultBlock.prodPriceTypeIdEntry) prodResultBlock.prodIVATaxEntry= ("%s" %tmpProdResultBlock.prodIVATaxEntry) prodResultBlock.prodCurrencyRateEntry= ("%s" %tmpProdResultBlock.prodCurrencyRateEntry) product_id_anterior=product_id break tmpProdResultBlock.nextRecord() prodResultBlock.jumpRecord(0) recordCount = prodResultBlock.getRecordCount() if recordCount > 1: def callback (returnValue): global block if returnValue >= 0: prodResultBlock.jumpRecord(returnValue) callTrigger('prodInsertTrigger') runForm ('productSelect.gfd', {'data': prodResultBlock, 'callback': callback}) elif recordCount == 1: prodResultBlock.jumpRecord(0) if not prodResultBlock.isEmpty(): callTrigger('prodInsertTrigger') else: genericBox("Debe elegir un cliente para poder cargar productos",['Aceptar']) import hack $target_block.productCodeEntry = str(prodResultBlock.prodCodeEntry) $target_block.productNameEntry = str(prodResultBlock.prodNameEntry) $target_block.priceEntry = str(prodResultBlock.prodPriceEntry) prodResultBlock.prodUnitPriceEntry = round(hack.a2f(prodResultBlock.prodUnitPriceEntry,4) * \ hack.a2f(prodResultBlock.prodCurrencyRateEntry,4),4) lItemPrice = round(hack.a2f(prodResultBlock.prodUnitPriceEntry,4)*hack.a2f($target_block.qtyEntry,4),2) $target_block.ivaEntry = hack.a2f(prodResultBlock.prodIVATaxEntry,2) $target_block.unitPriceAuxEntry = str(prodResultBlock.prodUnitPriceEntry) callTrigger('product_codePFI') callTrigger('product_namePFI') callTrigger('setUnitPriceTrigger') callTrigger('totalCalcTrigger')