В типовых конфигурациях 1С большиство перечисленных функций реализовано, например, при работе с множественным фильтром в отчетах. Возникло желание улучшить свою старую разработку, "вражески настроить" ее к хорошему. В общем, методически боремся с этой рутиной.
Основные возможности:
1. Кнопки для копирования в другие формы с настройкой на реквизит диалога
2. Использование картинок для кнопок с прозрачным фоном.
3. Все основные функции работы с объектом "СписокЗначений": пометка, удаление, позиционирование
сортировка, перемещение, открытие форм объектов, подбор, редактирование, добавление и пр.
4. Дополнительные функции по работе с метаданными: журналы документа, формы списка, идентификаторы
метаданных, а также выбор файлов.
5. "Память" о текущей строке списка.
6. Примеры использования.
Функции работы со СЗ:
ЗначениеИзСтруктуры() Получить значение из текущей строки ТЗ или СЗ
Спс_Добавить() Добавить новое уникальное значение в СЗ
Спс_Удалить() Удалить удаляет текущую строку СЗ или ТЗ
Спс_Пометить() Изменить пометки во всем СЗ
Спс_Сортировать() Сортировать СЗ по значению, представлению, по пометкам
Спс_Сдвинуть() Передвинуть текущее значение в начало/конец/указ.сдвиг в СЗ или ТЗ, с "зацикливанием" сдвига
Спс_ПереместитьВДругой() Переместить текущую строку/все значения из одного списка в другой.(только уникальные)
Спс_ВыгрузитьПоПометкам() Выгрузить значения из одного списка в другой в соответствии с пометками.
Спс_ПолучитьТип() Получить тип значения вида "<Тип>.<Вид>" из текущей строки ТЗ или СЗ
Спс_ВОкноСообщений() Вывести содержимое списка в окно сообщений
Спс_ОчиститьПредставление() Очистить представление по всем значениям СЗ
Спс_Новый() Добавить одно/несколько значений по типу и виду
Спс_Редактировать() Редактировать значение/представление в текущей строке СЗ / ТЗ
Спс_ДобавитьМетаданные() Добавить в СЗ очередной идентификатор (вид) метаданных, с проверкой наличия выборки по объекту этого вида
ВсеЖурналыДокумента() Получить СЗ с названиями форм журналов (включая общие и др.) указанного вида документа
ВсеФормыСписка() Получить СЗ с идентификаторами всех форм списка по объекту
ФормыСпискаПоМетаданным() Получить СЗ с идентификаторами всех форм списка по объекту типа "Метаданные"
ВсеМетаданные() Получить СЗ с идентификаторами метаданных
ОткрытьВФормеСписка() Открыть в форме списка и спозиционировать объект/объект из ТЗ или СЗ.
ОткрытьВДиалоге() Открывает форму для редактирования / просмотра переданного значения /значения в ТЗ или СЗ
ВвестиЗначениеПоОбъекту() Ввести значение по типу-виду указанного объекта
ВвестиТипИВидОбъекта() Установить тип и вид объекта в соответствии с выбором пользователя
ВвестиФайл() Открыть диалог выбора файла для добавления его полного имени в список значений
Кнопки:
"все - пометить"
"снять пометки"
"инвертировать пометки"
"Вывести в окно сообщений не помеченные"
"Вывести в окно сообщений помеченные"
"удалить текущую строку"
"очистить весь список"
"вверх на 1 поз."
"вниз на 1 поз."
"в начало списка"
"в конец списка"
"сортировка..."
"переместить вправо"
"переместить влево"
"переместить весь список вправо"
"переместить весь список влево"
"открыть форму редактирования"
"открыть форму объекта в режиме просмотра"
"открыть форму списка"
"добавить значение"
"Редактировать значение в списке"
"Подбор по справочникам"
"Подбор документов из объего журнала"
"Подбор по журналу операций"
"Подбор счетов"
"Выбор файлов"
"Выбор перечисления"
"Выбор вида Субконто "
"Выбор плана счетов"
"Выбор календаря"
"Выбор вида расчета"
"Ввод числа"
"Ввод строки"
"Ввод даты"
Примеры см. на закладках. Успехов.