Групповые операции над выбранными документами
Одной из возможных сервисных функций, которую можно
реализовать с помощью средств конфигурирования 1С:Предприятия
является отметка объектов в формах списков и их групповая
обработка.
Эта возможность реализована в методической конфигурации
на примере журнала документов (журнал "Общий",
форма "ДляГрупповыхОпераций"). Для хранения
информации о выбранных документах используется список
значений. Для отображения выбранных документов в журнале
используется колонка типа "Текст" с включенным
признаком "Показывать пиктограммы" и выражением,
вычисляющим номер пиктограммы для текущей строки журнала.
Для табличной части журнала выбрана соответствующая
картинка, содержащая изображения отметки.
Элементы управления (колонка табличной части и кнопки)
отвечающие за групповые операции делаются видимыми при
установленном флажке "Групповые операции".
Соответственно включается и выключается режим обработки
выбора строки в модуле формы.
Процедуры модуля формы реализуют установку и снятие
отметки для всех документов в журнале, инвертирование
отметок, а также собственно выполнение групповой обработки
отмеченных документов.
При выполнении отметки всех элементов и инвертирования
отметок выбираются документы соответствующие текущему
интервалу и отбору журнала.
Реализованный алгоритм является универсальным и может
использоваться в других журналах. Однако при переносе
алгоритма в другой журнал необходимо изменить идентификатор
журнала, присваиваемый переменной "ВидЖурнала".
Разумеется, приведенный пример имеет потенциальное
ограничение по количеству документов отмечаемых командами
"Отметить все" или "Инвертировать",
так как список отмеченных документов хранится в оперативной
памяти. В приведенном примере не используется возможность
отметки всех документов и инвертирования списка за счет
запоминания списка "неотмеченных" документов.
Это объясняется тем, что документы могут вводиться другими
пользователями и поэтому нельзя однозначно считать признаком
"отмеченности" отсутствие в списке "неотмеченных".
При использовании данной возможности в монопольном режиме
может быть использован алгоритм запоминания списка "неотмеченных",
хотя на практике очевидно отметка большого количества
документов не будет использоваться широко. |