1. Возвращает функция, а не процедура.
2. Не стоит заниматься извращением, можно просто выбрать все реквизиты документа, а при возврате из функции отработать только те, которые нужны.
3. Как жестокий вариант, передавать в параметрах вызова функции имена только тех полей, которые нужно выбрать в запросе. А далее делать примерно так