Could do this with Reduce, as below.
f[n_, j_] := Module[
{vars, x, vals, solns},
res = Table[
vars = Table[x[l], {l, k, n, j + 1}];
vals = Map[First, vars];
Print[{k, vars}];
Print[Prepend[Map[0 <= # <= 1 &, vars], vars.vals == n]];
solns = vars /.
Solve[Prepend[Map[0 <= # <= 1 &, vars], vars.vals == n], vars,
Integers];
solns = Map[vals*# &, solns];
solns /. 0 :> Sequence[]
, {k, j}];
res
]
For example:
In[211]:= f[7, 1]
Out[211]= {{7}, {3, 4}, {2, 5}, {1, 6}, {1, 2, 4}}
In[213]:= f[11, 2]
Out[213]= {{11}, {4, 7}, {3, 8}, {2, 9}, {1, 10}, {1, 4, 6}, {1, 3, 7}}
There may also be an approach via generating functions.