В восьмой версии появилась такая замечательная вещь для любителя красивого интерфейса как индикатор. Теперь при выполнении действий с выборкой документов, например, можно отображать полоску индикатора, показывающую процент обработанных объектов. В паре с индикатором пригодится для переборки документов и не менее замечательная фишка – запрос. Дело в том, что в запросе проще и нагляднее накладывать условия на отбор нужных объектов и потом у результата выполнения запроса есть метод Количество(), который возвращает количество выбранных записей, что нужно для установки максимального значения в индикаторе.
Пример.
Создаем внешнюю обработку, в ней создаем форму, открываем конструктор формы. На форму вставляем выбор периода, используя волшебную кнопку: Удобство этой кнопки в том, что мастер сам пропишет необходимый код для выбора периода и вставит необходимые надписи возле полей с датами. Этой-же кнопкой можно потом добавить на форму и индикатор, получится что-то вроде такого:
Теперь открываем модуль, в модуле уже есть процедура КнопкаВыполнитьНажатие(), вот в нее можно писать код, он запустится при нажатии на кнопку Выполнить, что понятно из названия процедуры. Допустим, в простейшем случае нужно перебрать проведенные накладные в указанном периоде и перепровести их. Для выполнения изменений понадобится объект данных, значит нужно получить на него ссылку, т.е. основной задачей запроса будет получение выборки ссылок на документы, отборы вставляем по необходимости. Запрос:
В конфигурации, на которой я делал пример, расходная накладная имеет идентификатор “Расход”, поэтому и обращение идет к менеджеру “Документ.Расход”. После выполнения запроса и применения метода Выбрать() в переменную Выборка попадает нужный результат, у этой переменной теперь есть метод Количество(), который можно использовать для настройки индикатора:
Ну а теперь простой перебор объектов из выборки и выполнение нужных действий, только не забыть при каждом шаге изменять значение индикатора.
Вот как-то так.