.. у меня на форме были несколько связанных между собою списков, где информация в зависимом списке отображалась по ключу записи, выбранной в "родительском" (точнее - владельце) списке. И требовалось всего лишь иметь возможность редактирования на форме только лишь тех полей, что в ней были отображены - причем наиболее эргономично это было бы делать непосредственно в списке, не вызывая для редактирования форму объекта..
Ну и создание новых элементов списка, удаление их.. все должно было выглядеть как не в 1С приложениях - т.е. формы объектов вызываться не должны были, вся работа в списке и только с видимыми полями..
.. в итоге этого получилось достичь достаточно просто - но гибкости явно недоставало, что при внесении изменений (а они обязательно появляются в самый неудобный момент, не так ли?) привело бы к необходимости муторного переписывания кода - а я этого не очень люблю.. ну максимум - согласен на не_муторное!
В результате молитв, возносимых к богам ООП, снизошло озарение в виде луча ГАММА спектра, который проник ко мне через черепную коробку и породил брожение мыслей :)) И приснились мне паттерны и шаблоны.. и один из них - MVC (Model-View-Controller) - возвышался среди всех, что был мне знак..
В общем, долго ли, коротко ли - но на свет родилось следующее решение, которое врят ли является абсолютным "универсуумом" в плане потребительском, но вполне может сгодится (я надеюсь) аналогом паттерна MVC, широко применяемого при проектировании ООП приложений.
С учетом ограничений платформы 1С, которая представления не имеет о трех китах ООП, пришлось потрудится в .. ээээ .. как бы это сказать.. "портировании" идеи, лежащей в основе паттерна к суровым реалиям среды 1С Предприятие 8.2, но так или иначе в данном решении можно угадать основные черты всех трех составляющих паттерна.
Кроме того, данное решение, довольно просто стало внедряться в уже имеющиеся формы (ну не в таком упрощенном виде, как в конфигурации - но ведь это ж основа.. шаблон..), что так же укрепило меня в мысли, что избранный путь является достаточно разумным.
Итак, осмелюсь представить на суд аудитории сие "чудо в перьях".. Встречаем, как сказал бы Карлсон, Первую и Единственную (пока?) реализацию.. т.е. попытку применения паттерна Model View Controller в среде 1С Предприятие 8.2 на уровне конфигуратора, т.к. думаю.. (или надеюсь?), что внутри самой платформы он используется не единожды.
Пример работает для справочников, а для документов.. ну пока что не реализовано (надобности не было)..
Был бы очень рад конструктивной критике, интересным идеям, да и вообще - поддержке в виде положительных отзывов - со стороны сообщества 1С программистов.. как говорится - пишите, деньги будут.. ну это лучше обсудить в личке ;)
Большая просьба, при использовании данного подхода в своих разработках, давать ссылку на эту публикацию.. ну типа, авторское право, что ли.. Я же даю ссылку на книгу "Паттерны проектирования". Авторы: Эрих Гамма. Ричард Хелм. Ральф Джонсон. Джон Влиссидес..
PS.
- Этот подход будет работать для платформы 8.х в целом.. Во всех версиях есть использованные в работе средства и инструменты (т.е. типы данных и методы)
- То что есть, писалось для тонкого клиента.. в web клиенте не проверял работает.. Если кто проверит - отпишитесь, как оно себя ведет.. в общем, я думаю, что работать должно. Если нет - буду допиливать.
ОБНОВЛЕНО 17/09/2010
+ теперь работает в web клиенте (протестировано в IE и Chrome)