Я правлю распределение НДФЛ по источникам финансирования в глобальном модуле процедура "глПолучитьРаспределениеРезультата". Задача состоит в том чтобы получить в коде данные по НДФЛ(вычеты в этом месяце, облагаемая база с начала года, удержанный НДФЛ с начала года) и записать их в переменные. Потом я эти данные использую для распределения. Вот эта процедура "глПолучитьРаспределениеРезультата" вызывается во всех отчетах(расчетный листок, свод по зарплате, расчетная ведомость и т.д.), когда мы формируем отчет по определенному источнику финансирования. Так вот я все написал и когда я формирую любой отчет, а в список сотрудников ставлю отдного человека, тогда все работает отлично. Но когда в списке сотрудников несколько человек или мы формируем отчет "по всем", "по подразделению", тогда правильное распределение получается только для первого человека из списка.
В процедуре "глПолучитьРаспределениеРезультата" я вызываю обработку вот так: "ОткрытьФорму("Обработка.Форма1НДФЛ2009",Параметры1);" и пытаюсь ее завершить вот так: "Форма.Закрыть(0);"(эта строчка стоит в конце процедуры "При открытии" в самой обработке.). После того как обработка запустилась в первый раз, она завершается только после окончания формирования отчета, и соответственно второй, третий и т.д. разы обработка не запускается потому что она уже запущена, а она должна запускаться для каждого человека из списка.
Добавлено: Попробую объяснить пролему по другому(у меня проблемы с постановкой вопроса):
Задача состоит в том чтобы вызвать обработку Форма1НДФЛ2009 для конкретного человека, записать нужные данные в константы и завершить ее. И так по списку для всех сотрудников.
Вызываю я вот так: "ОткрытьФорму("Обработка.Форма1НДФЛ2009",Параметры1);"
Завершить пытаюсь так: "Форма.Закрыть(0);"(эта строчка стоит в конце процедуры "При открытии" в самой обработке.) Обработка не завершается, пока мы не пройдем весь список. И получается что для всех людей мы используем данные из констант записанных для первого человека.