|
Запрос в макет, ошибка | ☑ | ||
---|---|---|---|---|
0
ponaroshku
08.12.11
✎
05:56
|
Здравствуйте!
написала запрос, результаты должны передаваться в макет сам запрос не пустой, прогнала по консоли однако в макет не выводится Подскажите пожалуйста, где ошибка Запрос = Новый Запрос; Запрос.УстановитьПараметр("Ссылка", СсылкаНаОбъект); Запрос.УстановитьПараметр("ВидРасчета", ПланыВидовРасчета.ОсновныеНачисленияОрганизаций.НайтиПоКоду("10026")); Запрос.Текст = "ВЫБРАТЬ |НачислениеЗарплатыРаботникамОрганизацийНачисления.Ссылка, |НачислениеЗарплатыРаботникамОрганизацийНачисления.Сотрудник как СотрудникОрганизации, |НачислениеЗарплатыРаботникамОрганизацийНачисления.ПодразделениеОрганизации КАК ПодразделениеОрганизации, |НачислениеЗарплатыРаботникамОрганизацийНачисления.ВидРасчета КАК ВидРасчетаПремии, |НачислениеЗарплатыРаботникамОрганизацийНачисления.Результат КАК результат |ИЗ |Документ.НачислениеЗарплатыРаботникамОрганизаций.Начисления КАК НачислениеЗарплатыРаботникамОрганизацийНачисления |ГДЕ |НачислениеЗарплатыРаботникамОрганизацийНачисления.Ссылка = &Ссылка |И НачислениеЗарплатыРаботникамОрганизацийНачисления.ВидРасчета = &ВидРасчета |ИТОГИ ПО |ПодразделениеОрганизации |"; РезультатЗапроса = Запрос.Выполнить(); Выборка = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам,"ПодразделениеОрганизации"); Пока Выборка.Следующий() Цикл ОбластьМакета.Параметры.фио = Выборка.СотрудникОрганизации; ОбластьМакета.Параметры.Сумма = Выборка.результат; ТабДокумент.Вывести(ОбластьМакета); КонецЦикла; |
|||
1
Нуф-Нуф
08.12.11
✎
06:10
|
тебя таки взяли на работу?
|
|||
2
Wobland
08.12.11
✎
06:12
|
ТабДок показываешь кому-то?
|
|||
3
ponaroshku
08.12.11
✎
06:14
|
(2) исправила на вот так
Пока Выборка.Следующий() Цикл ОбластьМакета.Параметры.подразделение = Выборка.ПодразделениеОрганизации; ОбластьМакета.Параметры.фио = Выборка.СотрудникОрганизации; ОбластьМакета.Параметры.Сумма = Выборка.Результат; ТабДокумент.Вывести(ОбластьМакета); КонецЦикла; ТабДокумент.Показать(); |
|||
4
Нуф-Нуф
08.12.11
✎
06:15
|
ну покажи уж весь код от создания ТабДокумент
|
|||
5
Wobland
08.12.11
✎
06:16
|
и подумай, как бы обойтись одной строчкой
ОбластьМакета.Параметры.Заполнить(Выборка) |
|||
6
ponaroshku
08.12.11
✎
06:21
|
(4) да что уж там:)
Функция Печать() Экспорт ТабДокумент = Новый ТабличныйДокумент; Макет = ПолучитьМакет("МакетПриказа"); ОбластьМакета = Макет.ПолучитьОбласть("Шапка2") ; Запрос = Новый Запрос; Запрос.УстановитьПараметр("Ссылка", СсылкаНаОбъект); Запрос.УстановитьПараметр("ВидРасчета", ПланыВидовРасчета.ОсновныеНачисленияОрганизаций.НайтиПоКоду("10026")); Запрос.Текст = "ВЫБРАТЬ |НачислениеЗарплатыРаботникамОрганизацийНачисления.Ссылка, |НачислениеЗарплатыРаботникамОрганизацийНачисления.Сотрудник как СотрудникОрганизации, |НачислениеЗарплатыРаботникамОрганизацийНачисления.ПодразделениеОрганизации КАК ПодразделениеОрганизации, |НачислениеЗарплатыРаботникамОрганизацийНачисления.ВидРасчета КАК ВидРасчетаПремии, |НачислениеЗарплатыРаботникамОрганизацийНачисления.Результат КАК результат |ИЗ |Документ.НачислениеЗарплатыРаботникамОрганизаций.Начисления КАК НачислениеЗарплатыРаботникамОрганизацийНачисления |ГДЕ |НачислениеЗарплатыРаботникамОрганизацийНачисления.Ссылка = &Ссылка |И НачислениеЗарплатыРаботникамОрганизацийНачисления.ВидРасчета = &ВидРасчета |ИТОГИ ПО |ПодразделениеОрганизации |"; РезультатЗапроса = Запрос.Выполнить(); Выборка = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам,"ПодразделениеОрганизации"); выборкаПоРезультату = Выборка.Выбрать(); Пока Выборка.Следующий() Цикл ОбластьМакета.Параметры.Заполнить(Выборка); ТабДокумент.Вывести(ОбластьМакета); КонецЦикла; ТабДокумент.Показать(); ТабДокумент.ОтображатьСетку = Ложь; Возврат ТабДокумент; КонецФункции |
|||
7
ponaroshku
08.12.11
✎
06:21
|
(5) я так тоже ставила, результат тот же - пустая таблица
|
|||
8
Wobland
08.12.11
✎
06:22
|
Пока Выборка.Следующий() Цикл
//вывод группировки выборкаПоРезультату = Выборка.Выбрать(); Пока выборкаПоРезультату.Следующий() //вывод строки |
|||
9
Wobland
08.12.11
✎
06:23
|
(7) плохо ставила. параметры макета должны совпадать по имени с полями выборки
|
|||
10
ponaroshku
08.12.11
✎
06:30
|
(9) сделала как в (8)
Пока Выборка.Следующий() Цикл выборкаПоРезультату = Выборка.Выбрать(); Пока выборкаПоРезультату.Следующий() Цикл ; ОбластьМакета.Параметры.Заполнить(Выборка); ТабДокумент.Вывести(ОбластьМакета); ТабДокумент.Показать(); КонецЦикла; КонецЦикла; на выходе все равно получаю пустую таблицу |
|||
11
Wobland
08.12.11
✎
06:31
|
ТабДокумент.Показать(); за циклы вынеси
|
|||
12
ponaroshku
08.12.11
✎
06:32
|
(11) я пробовала внутри первого цикла и вообще убрать за них, тоже на это подумала вначале, не помогло
|
|||
13
Wobland
08.12.11
✎
06:34
|
что есть пустая таблица? строки есть там?
|
|||
14
Нуф-Нуф
08.12.11
✎
06:35
|
ужаснах
|
|||
15
ponaroshku
08.12.11
✎
06:36
|
(13) да, проблема та же, что и в 1м пункте
он ставит много строк из запроса, но строки пустые изначально строки были пустыми |
|||
16
ponaroshku
08.12.11
✎
06:38
|
запрос 100% не пустой, через консоль большая таблица выводится
|
|||
17
Wobland
08.12.11
✎
06:40
|
>запрос 100% не пустой
вообще говоря, не 100% >он ставит много строк из запроса, но строки пустые в вот тут у тебя из выборки в параметры не попадает ничего |
|||
18
ponaroshku
08.12.11
✎
06:44
|
(17) получилось, но косяк был не в запросе
проблема была в имени параметра макета, не совпадал с названием в запросе |
|||
19
Wobland
08.12.11
✎
06:48
|
(18) -> (9)
|
|||
20
ponaroshku
08.12.11
✎
06:50
|
(19) да, я перечитала внимательнее, спасибо вам
|
|||
21
ponaroshku
08.12.11
✎
12:56
|
Апну тему:)
вообщем с помощью этого запроса удалось добиться нужного эффекта (генерация ПФ в зависимости от подразделения) но теперь новая проблема: если начисления премия в документе 2 раза, на вывод идет подразделение 1 иванов 100 иванов 100 а не подразделение 1 иванов 200 Поставила итоги, выводит результат, но итого по подразделению подразделение 1 = 200 иванов 100 иванов 100 поставила итоги с иерархией, но тоже не добилась эффекта Итоги по подразделению убирать нельзя, там дальше с их помощью реализована генерация ПФ Как бы сделать с правильным суммированием? Запрос = Новый Запрос; Запрос.УстановитьПараметр("Ссылка", СсылкаНаОбъект); Запрос.УстановитьПараметр("ВидРасчета", ПланыВидовРасчета.ОсновныеНачисленияОрганизаций.НайтиПоКоду("10026")); Запрос.Текст = "ВЫБРАТЬ |НачислениеЗарплатыРаботникамОрганизацийНачисления.Ссылка, |НачислениеЗарплатыРаботникамОрганизацийНачисления.Сотрудник как Сотрудник, |НачислениеЗарплатыРаботникамОрганизацийНачисления.ПодразделениеОрганизации КАК ПодразделениеОрганизации, |НачислениеЗарплатыРаботникамОрганизацийНачисления.ВидРасчета КАК ВидРасчетаПремии, |НачислениеЗарплатыРаботникамОрганизацийНачисления.Результат КАК Результат |ИЗ |Документ.НачислениеЗарплатыРаботникамОрганизаций.Начисления КАК НачислениеЗарплатыРаботникамОрганизацийНачисления |ГДЕ |НачислениеЗарплатыРаботникамОрганизацийНачисления.Ссылка = &Ссылка |И НачислениеЗарплатыРаботникамОрганизацийНачисления.ВидРасчета = &ВидРасчета |ИТОГИ |сумма(результат) |ПО |ПодразделениеОрганизации поле сотрудник |"; РезультатЗапроса = Запрос.Выполнить(); Выборка = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); |
|||
22
Wobland
08.12.11
✎
13:01
|
а что такое поле в итогах?
ИТОГИ СУММА(Результат) ПО ПодразделениеОрганизации уже пробовала? |
|||
23
Shrek_yar
08.12.11
✎
13:06
|
группировку сделать ??
|
|||
24
ponaroshku
08.12.11
✎
13:07
|
(22)из консоли скопировала
в оригинале |ГДЕ |НачислениеЗарплатыРаботникамОрганизацийНачисления.Ссылка = &Ссылка |И НачислениеЗарплатыРаботникамОрганизацийНачисления.ВидРасчета = &ВидРасчета |ИТОГИ ПО |ПодразделениеОрганизации |"; про поле погуглила, но не пошло у меня с ним, не поняла, как работает |
|||
25
ponaroshku
08.12.11
✎
13:18
|
(23) группировкой у меня не получается, итоги по подразделению сбиваются
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |