# 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')