Pessoal,
Saiu uma publicação que achei interessante no blog do Sasha onde mostra como subrescrever um campo de sistema em uma tabela, no exemplo abaixo, copiado do original o autor faz uma alteração em um registro e troca o usuário que modificou o registro ao invés do sistema salvar o real.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | static void job_overwireSystemFiledInTable(Args _args) { SalesTable salesTable; ; ttsbegin; salesTable = SalesTable::find("mySalesId", true); if(salesTable.RecId != 0) { salesTable.overwriteSystemfields(true); salesTable.(fieldNum(SalesTable, createdBy)) = "NewUserId"; salesTable.update(); } ttscommit; } |
É isso ai…
Obs.: Tenho recebido alguns comentários via e-mail de que estou deixando o blog de lado, mas a verdade é que me faltam assuntos, o que deveria acontecer é vocês mandarem suas questões e assim podemos escrever! Por favor, mandem suas duvidas / sugestões de artigos.
Abraço,
Pichler
2 Responses
Honório, Renato
28|Jun|2010 1Demais! Essa valeu meu dia!
Daniel
29|Jun|2010 2Hola Ricardo!
Sábes cómo puedo hacer lo mismo pero con la clase RecordInsertList?
En su constructor tiene el parámetro _skipAOSValidation al cual lo paso en true y también utilizo la llamada assert() a la clase SkipAOSValidationPermission. Pero no pude lograr modificar los campos de sistema en los registros insertados.
Alguna sugerencia?
Gracias!
Leave a reply