0
ArtVC
01.03.13
✎
19:19
|
Здравствуйте. База ЗБУ.
Имеется кем-то изменённый отчёт "Карточка справка". В нём, разумеется, используется СКД.
При формировании отчёта пользователь может устанавливать отбор по работникам. Если пользователь выберет сотрудника с договором "По основному месту работы", то по какой-то причине отчёт формирует 2 абсолютно идентичные карточки-справки. Я почти нашёл причину: есть процедура, которая вызывается для каждого сотрудника, которых отобрал пользователь перед формированием. Так что, если будет 2 работника, то и вызываться она будет по идее два раза.
Но, когда из формы отчёта следующий ниже код берёт все строки с работниками, которых отобрал пользователь, для работников с основным местом работы в дереве значений формируется 2 строки за место одной.
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений;
ДеревоЗначений = Новый ДеревоЗначений;
ПроцессорВывода.УстановитьОбъект(ДеревоЗначений);
ПроцессорВывода.Вывести(ПроцессорКомпоновки, истина);
Самое удивительное то, что такой же отчёт из другой базы (мой отчёт ведь кем-то уже изменён), который исправно работает в родной базе, содержит этот же код, который так же получает 2 строки для таких работников.
Вообще, как получить данные из таких "табличных частей", в которых отображаются сотрудники, или подразделения? В форме не увидел ничего похожего. Хочется посмотреть в отладчике на эту табличную часть (или чем она является), содержащую отобранных сотрудников - проверить, сколько там строк.
Вот сама внешняя обработка, на всякий случай:
Пожалуйста, помогите.
|
|