(6) "выбрать * из справочник.номенклатура" и просто сериализация от запрос.выполнить().выгрузить() разве не прокатит ?
туда же и группы должны попасть и пофиг на порядок следования в JSON, не?
(7) На выходе сериализированные (надеюсь правильно написал) объекты
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший