Sums of digits 1 through 7 Challenge
Given a positive integer N that is 28 or above, output a list of numbers summing to N that uses each digit 1 through 7 exactly once. You can give as a program or function.
The digits can appear by themselves or concatenated, as long as you use each of them once without repeats. For example,[12, 34, 56, 7] is valid, as is [1, 27, 6, 4, 35] and [1234, 567], but not [123, 34567] or [3, 2, 1476]. The order that the numbers are listed does not matter.
If N cannot be made with 1-7, return or output nothing.
Other information

This is code golf, so the shortest code in bytes by Thursday the 15th of October wins.

Ask any questions in the comments.

Anything I do not specify in the challenge is up to you.

Standard loopholes are disallowed.


Examples
These may clear any confusion up:
Input
28

Output
[1, 2, 3, 4, 5, 6, 7]

Input
100

Output
[56, 7, 4, 31, 2]

Input
1234567

Output
[1234567]

Input
29

Output
Nothing, 29 is invalid.
Input
1891

Output
[1234, 657]

Input
370

Output
[15, 342, 7, 6]

I'll make more if needed.
Here's a pastebin of all of the possible numbers created with these seven numbers, courtesy of FryAmTheEggman.
Pyth, 18 14 bytes

hfqSjkTjkS7./Q


Thanks to @isaacg for golfing off 2 bytes and paving the way for 2 more.

The code will crash if it should produce no output, which causes no output to be produced.

This will work for small-ish inputs if you're patient enough, and for larger ones if given enough time and memory.

To verify that the code works as intended, you can replace the 7 with a 3 for sums of digits 1 through 3. Click here for a test suite.

Example runs

$ time pyth/pyth.py -c 'hfqSjkTjkS7./Q' &lt;&lt;&lt; 28
(1, 2, 3, 4, 5, 6, 7)

real    4m34.634s
user    4m34.751s
sys     0m0.101s
$ time pyth/pyth.py -c 'hfqSjkTjkS7./Q' &lt;&lt;&lt; 29 2&gt;/dev/null

real    9m5.819s
user    9m6.069s
sys     0m0.093s


How it works

           ./Q    Compute all integer partitions of the input.
 f                Filter the integer partitions:
    jkT             Join the integers with empty separator.
   S                Sort the characters of the resulting string.
      jkS7          Join [1, ..., 7] with empty separator.
  q                 Check both results for equality.
                  Keep the partition of `q' returned True.
h                 Retrieve the first element of the filtered list.
                  For a non-empty list, this retrieves the solution.
                  For the empty list, it causes an error and produces no output.