|
Размножается область макета на печатной форме | ☑ | ||
---|---|---|---|---|
0
SoulEater
03.03.15
✎
13:59
|
Вообщем необходимо, чтобы для каждого сотрудника в документе расписывалась надбавка из табличной части "Основные начисления", но в итоге он просто выводит в каждом сотруднике весь результат запроса.
Подскажите что я делаю не так? Запрос = Новый Запрос; Запрос.УстановитьПараметр("ТекущийДокумент", СсылкаНаОбъект); Запрос.Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ | КадровоеПеремещениеОрганизацийОсновныеНачисления.Ссылка, | КадровоеПеремещениеОрганизацийОсновныеНачисления.ВидРасчета, | КадровоеПеремещениеОрганизацийОсновныеНачисления.Сотрудник, | КадровоеПеремещениеОрганизацийОсновныеНачисления.Показатель1 КАК Надбавка, | КадровоеПеремещениеОрганизацийОсновныеНачисления.ВидРасчета.СпособРасчета КАК СпособРасчета |ИЗ | Документ.КадровоеПеремещениеОрганизаций.ОсновныеНачисления КАК КадровоеПеремещениеОрганизацийОсновныеНачисления |ГДЕ | КадровоеПеремещениеОрганизацийОсновныеНачисления.Ссылка = &Ссылка | И КадровоеПеремещениеОрганизацийОсновныеНачисления.ВидРасчета <> &ВидРасчета | И КадровоеПеремещениеОрганизацийОсновныеНачисления.Показатель1 <> 0"; Запрос.УстановитьПараметр("ВидРасчета", ПланыВидовРасчета.ОсновныеНачисленияОрганизаций.ОкладПоДням); Запрос.УстановитьПараметр("ВидРасчета", ПланыВидовРасчета.ОсновныеНачисленияОрганизаций.ОкладПоЧасам); Запрос.УстановитьПараметр("Ссылка", СсылкаНаОбъект.Ссылка); Результат = Запрос.Выполнить(); Выборка = Результат.Выбрать(); ФизЛицо = СсылкаНаОбъект.ОсновныеНачисления.ВыгрузитьКолонку("Сотрудник"); Пока Выборка.Следующий() Цикл Для каждого ЗначениеЭлемента из ФизЛицо Цикл Если Выборка.Сотрудник = ЗначениеЭлемента Тогда Если Выборка.СпособРасчета = Перечисления.СпособыРасчетаОплатыТруда.ФиксированнойСуммой Тогда ЦелЧасть = Окр(Выборка.Надбавка, 0); ОбластьНадбавка.Параметры.Назв = Выборка.ВидРасчета; ОбластьНадбавка.Параметры.Надбавка = ЦелЧасть; ОбластьНадбавка.Параметры.Валюта = "руб."; ДЧасть = Выборка.Надбавка - ЦелЧасть; Если ДЧасть = 0 Тогда ОбластьНадбавка.Параметры.ДЧасть = "00"; Иначе ОбластьНадбавка.Параметры.ДЧасть = ДЧасть; КонецЕсли; ТабДокумент.Вывести(ОбластьНадбавка); КонецЕсли; Если Выборка.СпособРасчета = Перечисления.СпособыРасчетаОплатыТруда.Процентом Тогда ОбластьНадбавка1.Параметры.Назв1 = Выборка.ВидРасчета; ОбластьНадбавка1.Параметры.Надбавка1 = Выборка.Надбавка; ОбластьНадбавка1.Параметры.Валюта1 = "%"; ТабДокумент.Вывести(ОбластьНадбавка1); КонецЕсли; КонецЕсли; КонецЦикла; КонецЦикла; |
|||
1
salvator
03.03.15
✎
14:08
|
А в запросе разве нельзя рассчитать надбавку через ВЫБОР КОГДА?
|
|||
2
SoulEater
03.03.15
✎
14:15
|
(1) Тут проблема в другом, надбавку я получаю правильную, но на печатную форму для каждого сотрудника( в случае если в документе "КадровоеПеремещениеОрганизации" несколько сотрудников) выводятся ОбластьНадбавка и ОбластьНадбавка1 с данными для каждого сотрудника.
|
|||
3
чувак
03.03.15
✎
14:16
|
Все можно делать в запросе
|
|||
4
SoulEater
03.03.15
✎
14:19
|
(3) подробнее?
|
|||
5
salvator
03.03.15
✎
14:20
|
(2) Сгруппируй по сотруднику и выводи.
|
|||
6
чувак
03.03.15
✎
14:26
|
(4) почему у тебя в установить параметр два раза?
тогда у тебя отбор будет криво работат |
|||
7
SoulEater
03.03.15
✎
14:28
|
(6) на данный момент отбор работает так как и надо)
|
|||
8
SoulEater
03.03.15
✎
14:55
|
Кто нибудь может прямо сказать, что надо сделать чтобы на печать выводились области для 1-го сотрудника и области для другого, а не все вместе?
|
|||
9
SoulEater
04.03.15
✎
10:01
|
/close
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |