What happens if

I do: “G/L Entry”.SETRANGE(,); ***; recGLEntry := “G/L Entry”; IF recGLEntry.FIND THEN ****

“G/L Entry”.SETRANGE(,); ***; recGLEntry := “G/L Entry”; IF recGLEntry.FIND THEN << I’ll assume that recGLEntry it’s another “G/L Entry” record. When you just use recGLEntry := “G/L Entry” the record recGLEntry will have the values “G/L Entry” has, but not filters or marks (it will remain it’s owns). So, if u want to copy the values from “G/L Entry” but not the filters you can use it… if u want to keep also the filters, u will need using recGLEntry.COPY(“G/L Entry”) instead. With your code, recGLEntry := “G/L Entry” will make recGLEntry remain with it’s previous filters, so when u just do recGLEntry.FIND it will try searching the “G/L Entry” with the filters recGLEntry got, not with “G/L Entry”'s ones, so it will return true if the record acomplished the “G/L Entry” filters AND the recGLEntry ones. – Alfonso Pertierra apertierra@teleline.es Spain

If you want to inherit the filters from G/L Entry to RecGLentry, you could also do recGLentry.COPYFILTERS(GLentry)