Issue #939 is assigned.
http://code.google.com/p/web2py/issues/detail?id=939
On Friday, August 17, 2012 9:51:48 PM UTC-5, Massimo Di Pierro wrote:
>
> Please open a ticket pointing to this thread. Will look at it asap.
>
> On Friday, 17 August 2012 17:33:51 UTC-5, Omi Chiba wrote:
>>
>> I finally figured this should be a bug on the current in trunk version
>> ("Version 2.0.0 (2012-08-15 17:30:38) dev")
>>
>> I can pull the data when the data in primarykey field begin with numeric
>> numbers for example 12345 or 1ABCDE (See NG-1,2.jpg)
>> but cannot pull the data begin with alphabet like A1234. (See OK-1,2.jpg)
>>
>>
>> # MF - EDI CUSTOMER
>> db.define_table('EDMACF00',
>> Field('ACDIID', length=5, label="Dist Code"),
>> Field('ACNAME', length=20, label="Dist Name"),
>> Field('AC855F', length=1, label="PO ACK FLAG"),
>> Field('AC856F', length=1, label="ASN FLAG"),
>> Field('AC810F', length=1, label="INVOICE FLAG"),
>> Field('ACUPFL', length=1, label="OZ UPLOAD FLAG"),
>> Field('ACCRBY', length=20, default = auth.user.username.upper() if
>> auth.user else None, label="Created by"),
>> Field('ACCRDT', 'datetime', default =request.now, label="Created
>> on"),
>> Field('ACUPBY', length=20, update = auth.user.username.upper() if
>> auth.user else None, label="Updated by"),
>> Field('ACUPDT', 'datetime', update =request.now, label="Updated on"),
>>
>> primarykey=['ACDIID'])
>>
>> db.EDMACF00.ACDIID.requires=[IS_NOT_EMPTY(),IS_LENGTH(5,1),IS_UPPER()]
>> db.EDMACF00.ACNAME.requires=[IS_NOT_EMPTY(),IS_LENGTH(20,1),IS_UPPER()]
>> db.EDMACF00.AC855F.requires=IS_IN_SET(['','1'], zero=None)
>> db.EDMACF00.AC856F.requires=IS_IN_SET(['','1'], zero=None)
>> db.EDMACF00.AC810F.requires=IS_IN_SET(['','1'], zero=None)
>> db.EDMACF00.ACUPFL.writable = db.EDMACF00.ACUPFL.readable = False
>> db.EDMACF00.ACCRBY.writable = False
>> db.EDMACF00.ACCRDT.writable = False
>> db.EDMACF00.ACUPBY.writable = False
>> db.EDMACF00.ACUPDT.writable = False
>>
>> # XR - CUSTOMER
>> db.define_table('EDXTKF00',
>> Field('TKDIID', length=5, label="Dist Code"),
>> Field('TKDICD', length=20, label="Dist Office Code"),
>> Field('TKTKSC', length=3, label="Dept"),
>> Field('TKTKCD', length=8, label="Customer Code"),
>> Field('TKDMCD', 'integer', label="Employee Code"),
>> Field('TKUPFL', length=1, label="OZ UPLOAD FLAG"),
>> Field('TKCRBY', length=20, default = auth.user.username.upper() if
>> auth.user else None, label="Created by"),
>> Field('TKCRDT', 'datetime', default =request.now, label="Created
>> on"),
>> Field('TKUPBY', length=20, update = auth.user.username.upper() if
>> auth.user else None, label="Updated by"),
>> Field('TKUPDT', 'datetime', update =request.now, label="Updated on"),
>>
>> primarykey=['TKDIID', 'TKDICD'])
>>
>> db.EDXTKF00.TKDIID.requires=IS_IN_DB(db,db.EDMACF00.ACDIID,'%(ACNAME)s')
>> db.EDXTKF00.TKDICD.requires=[IS_NOT_EMPTY(),IS_LENGTH(20,1),IS_UPPER()]
>>
>> db.EDXTKF00.TKTKSC.requires=IS_IN_SET(['J11','J13','J14','J15','J16','J17'])
>>
>> db.EDXTKF00.TKTKCD.requires=[IS_NOT_EMPTY(),IS_LENGTH(8,8),IS_UPPER(),IS_IN_DB(db,db.CDMTKL00.TKTSCD)]
>> db.EDXTKF00.TKDMCD.requires=[IS_NOT_EMPTY(),IS_INT_IN_RANGE(60000,69999,error_message='Invalid
>>
>> length'),IS_IN_DB(db,db.CDMSYL00.SYSYCD)]
>> db.EDXTKF00.TKUPFL.writable = db.EDXTKF00.TKUPFL.readable = False
>> db.EDXTKF00.TKCRBY.writable = False
>> db.EDXTKF00.TKCRDT.writable = False
>> db.EDXTKF00.TKUPBY.writable = False
>> db.EDXTKF00.TKUPDT.writable = False
>>
>>
>> On Friday, August 17, 2012 4:38:00 PM UTC-5, Omi Chiba wrote:
>>>
>>> Just in case, I changed just like you suggested but I got a same result.
>>> I can pull the data from other tables on the same database but I cannot
>>> pull the data from this one.... I should be dreaming or getting crazy... :
>>> (
>>>
>>> I first doubt a simple typo but I can't figure out.
>>>
>>> db.EDXTKF00.TKDIID.requires=IS_IN_DB(db,db.EDMACF00.ACDIID)
>>> =>
>>> db.EDXTKF00.TKDIID.requires=IS_IN_DB(db,'EDMACF00.ACDIID')
>>>
>>> On Friday, August 17, 2012 4:20:42 PM UTC-5, villas wrote:
>>>>
>>>> Specify the field that you wish to appear in the dropdown box
>>>> Try what the book says, 'name' is simply the name of the field you
>>>> wish to appear:
>>>>
>>>> db.dog.owner.requires = IS_IN_DB(db, 'person.id', '%(name)s',
>>>> zero=T('choose one'))
>>>>
>>>>
--