Announcements
private boolean canGenerateValue(Table1 _table1) { if (!_table1.RecId || _table1.Field1 == NoYes::Yes) { return false; } switch (_table1.Type) { case Type::A: return Parameters::find().FieldX && Table2::find(_table1.Id).FieldA; case Type::B: return true; } return false; }
[ExtensionOf(classStr(Class1_TypeA))] final class Class1_TypeA_Extension { void postPosting(Table1 _table1) { Table1 table1 = _table1; if (this.canGenerateValue(table1)) { str value = this.generateValue(table1); if(value) { ttsbegin; table1 = Table1::find(_table1.Id, true); table1.Value = value; table1.update(); ttscommit; } } next postPosting(table1); } }
[ExtensionOf(classStr(Class1_TypeB))] final class Class1_TypeB_Extension { void postPosting(Table1 _table1) { Table1 table1 = _table1; if (this.canGenerateValue(table1)) { str value = this.generateValue(table1); if(value) { ttsbegin; table1 = Table1::find(_table1.Id, true); table1.Value = value; table1.update(); ttscommit; } } next postPosting(table1); } }
[ExtensionOf(classStr(Class1))] final class Class1_Extension { public boolean canGenerateValue(Table1 _table1) { if (!_table1 || _table1.Field1 == NoYes::Yes || !Table3::find(_table1.CustAccount).FieldD) { return false; } switch (_table1.Type) { case Type::A: return Parameters::find().FieldX && Table2::find(_table1.Id).FieldA; case Type::B: return true } return false; } public void generateValue(Table1 _table1) { str value; //logic Table3 table3 = Table3::find(_table1.CustAccount); if(table3.FieldD) { Table1 table1Count; select count(RecId) from table1Count where table1Count.Id2 == _table1.Id2; if(table1Count.RecId == 1) { //logic if(//logic) { //logic value = //logic } else { //logic value = table3.FieldD + todayDate + //logic; } } } return value; } }
void postPosting(Table1 _table1) { if (this.canGenerateValue(_table1)) { str value = this.generateValue(_table1); if (value) { ttsbegin; Table1 table1Update = Table1::find(_table1.Id, true); table1Update.Value = value; table1Update.update(); ttscommit; } } next postPosting(table1); }
[ExtensionOf(classStr(Class1))] final class Class1_Extension { public str fieldD; public boolean canGenerateValue(Table1 _table1) { fieldD = Table3::find(_table1.CustAccount).FieldD; if (!_table1 || _table1.Field1 == NoYes::Yes || !fieldD) { return false; } switch (_table1.Type) { case Type::A: return Parameters::find().FieldX && Table2::find(_table1.Id).FieldA; case Type::B: return true } return false; } public void generateValue(Table1 _table1) { str value; //logic Table1 table1Count; select count(RecId) from table1Count where table1Count.Id2 == _table1.Id2; if(table1Count.RecId == 1) { //logic if(//logic) { //logic value = //logic } else { //logic value = fieldD + todayDate + //logic; } } return value; } }
Table1 table1 = _table1;
Under review
Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.
Congratulations to our community stars!
Expanding mentorship, skilling, and AI innovation
These are the community rock stars!
Stay up to date on forum activity by subscribing.
André Arnaud de Cal... 389 Super User 2026 Season 1
Subra 373
Martin Dráb 251 Most Valuable Professional