(0) составной тип = бяка.
оставляем справочник ссылка в данных объекта.
на форме скрываем колонку номенклатура, рисуем реквизит таблицы формы типа строка. и вешаем тучу кода вокруг этого поля ввода.
(4)
Неплохая идея. Предварително ее реализовал, посмотрим теперь что юзеры на совещании вопить будут
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший