Generate all combinations of values that are less than array's elements and have a sum = target
Where subset sum takes exponential time to find a solution, here you can find one solution quickly, but there are exponentially many solutions, and therefore it will take exponential time to find them all. 

Or factorial really, on the length (let's call this $n$) of the array, as every time you have a set of $n$ numbers that add up to the target, all $n!$ permutations of this is a solution in the worst case, when they are within the maximum values (that is, [6,4,0] and [4,6,0] are not the same solution but both valid). So if the target can be summed from $n$ numbers in $k$ different ways, then we can have up to as many as $k * n!$ solutions in the worst case. 

For small problems, you should be able to solve this using recursion. Here is a pseudocode representation that should work. Hope it all makes sense.  

Pseudocode:

1:$\quad$ function RECURSE( index , sum , value , array )

2:$\quad\quad$ sum $\leftarrow$ sum + value

3:$\quad\quad$ if sum = target and index is last index in array then print result $\quad$// it's a match

4:$\quad\quad$ if sum $\gt$ target or index is the last index in array then return $\quad$// no result here

5:$\quad\quad$ increment index

6:$\quad\quad$ for $i = 0$ to $i =$ max allowed value on index do

7:$\quad\quad\quad$ newArray $\leftarrow$ copy of array

8:$\quad\quad\quad$ newArray[index] $\leftarrow i$

9:$\quad\quad\quad$ RECURSE( index , sum , i , newArray )

10:$\quad\quad$ end for

11:$\quad$ end function

$\\$

12:$\quad$ function MAIN

13:$\quad\quad$ for $i = 0$ to max allowed value on index 0 i array do

14:$\quad\quad\quad$ array $\leftarrow$ new array

15:$\quad\quad\quad$ array[0] $\leftarrow$ $i$

16:$\quad\quad\quad$ call RECURSE( 0 , 0 , $i$ , array )

17:$\quad\quad$ end for

18:$\quad$ end function