OBJECT Codeunit 80001 Export Fields { OBJECT-PROPERTIES { Modified=No; Version List=FORNAV1.00; } PROPERTIES { OnRun=BEGIN currentTable := 0; IF field.FINDFIRST THEN BEGIN f.CREATETEMPFILE; f.TEXTMODE(TRUE); REPEAT IF field.TableNo < 2000000001 THEN BEGIN IF currentTable <> field.TableNo THEN BEGIN IF currentTable <> 0 THEN BEGIN f.WRITE(' }'); f.WRITE('}'); END; f.WRITE('OBJECT Table ' + FORMAT(field.TableNo, 0, 9) + ' ' + field.TableName); f.WRITE('{'); f.WRITE(' FIELDS'); f.WRITE(' {'); END; IF field.Class <> 0 THEN fieldClass := '; FieldClass=' + FORMAT(field.Class) ELSE fieldClass := ''; f.WRITE(' { ' + FORMAT(field."No.", 0, 9) + '; ; ' + Encode(field.FieldName) + '; ' + field."Type Name" + fieldClass + ' }'); currentTable := field.TableNo; END; UNTIL field.NEXT = 0; IF currentTable <> 0 THEN BEGIN f.WRITE(' }'); f.WRITE('}'); END; fileName := 'All tables.txt'; f.CREATEINSTREAM(stream); DOWNLOADFROMSTREAM(stream, 'Save Table Definitions', '', 'Text file(*.txt)|*.txt', fileName); f.CLOSE; END; END; } CODE { VAR field@1000 : Record 2000000041; fileName@1001 : Text; f@1002 : File; currentTable@1003 : Integer; fieldClass@1004 : Text; fileMgmt@1005 : Codeunit 419; stream@1006 : InStream; LOCAL PROCEDURE Encode@1(name@1000 : Text) retv : Text; VAR str@1001 : DotNet "'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.String"; BEGIN str := name; str := str.Replace(']', ']]'); retv := str; retv := '[' + retv + ']'; EXIT(retv); END; BEGIN { // Export field information for use in Reports ForNAV Converter and Designer } END. } }