35 lines
1.2 KiB
Python
35 lines
1.2 KiB
Python
from proteus import config, Model
|
|
|
|
# Connect
|
|
config.set_xmlrpc(f'https://admin:dsproject@itsa.open-squared.tech/tradon/')
|
|
|
|
Purchase = Model.get('purchase.purchase')
|
|
|
|
# Test: Set number on draft purchase
|
|
print("=== Testing Number Field Persistence ===")
|
|
draft = Purchase(682) # The ID from your previous test
|
|
|
|
print(f"Before: number = {draft.number}, state = {draft.state}")
|
|
|
|
# Set number
|
|
draft.number = "MANUAL_TEST_001"
|
|
draft.save()
|
|
print(f"After save: number = {draft.number}")
|
|
|
|
# Reload by fetching again from database
|
|
draft_reloaded = Purchase(682)
|
|
print(f"After reload: number = {draft_reloaded.number}")
|
|
|
|
if draft_reloaded.number == "MANUAL_TEST_001":
|
|
print("✓ SUCCESS: Number WAS persisted via Proteus!")
|
|
else:
|
|
print(f"✗ FAILED: Number NOT persisted. Got: {draft_reloaded.number}")
|
|
print("\nThis means the 'number' field is likely:")
|
|
print(" 1. Read-only (controlled by Tryton workflow)")
|
|
print(" 2. Auto-generated by a sequence")
|
|
print(" 3. Overwritten by server-side logic")
|
|
|
|
# Now verify in PostgreSQL
|
|
print("\n=== Verify in PostgreSQL ===")
|
|
print("Run this SQL query to confirm:")
|
|
print("SELECT id, number, state FROM purchase_purchase WHERE id = 682;") |