Итоги ресурсов регистра накопления в колонке табличной части

1. TopZlodey 13 18.07.18 18:15 Сейчас в теме
Здравствуйте, пытаюсь вывести данные суммы из регистра накопления, все выходит только по каждой отдельной записи регистра а не по данным указанным в таблице. Подскажите пожалуйста что не так. Код прилагается:


&НаСервере
Процедура РассчитатьПРНаСервере()

	Запрос=Новый Запрос;
	Запрос.Текст="ВЫБРАТЬ
	             |	НачислениеЗарплатыНачисленияУдержания.ДатаНачала КАК ДатаНачала,
	             |	НачислениеЗарплатыНачисленияУдержания.ДатаОкончания КАК ДатаОкончания,
	             |	НачислениеПремийИВС.Сумма КАК Сумма,
	             |	НачислениеПремийИВС.Сотрудник.ЗначениеРесурса КАК Сотрудник
				 |ИЗ
	             |	Документ.НачислениеЗарплаты.НачисленияУдержания КАК НачислениеЗарплатыНачисленияУдержания
	             |		ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.НачислениеПремийИВС КАК НачислениеПремийИВС
	             |		ПО НачислениеЗарплатыНачисленияУдержания.Сотрудник.Ссылка = НачислениеПремийИВС.Сотрудник.ЗначениеРесурса.Ссылка
	             |ГДЕ
	             |	НачислениеПремийИВС.Регистратор.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания";

	Запрос.УстановитьПараметр("ДатаНачала",Объект.НачисленияУдержания[0].ДатаНачала);
	Запрос.УстановитьПараметр("ДатаОкончания",Объект.НачисленияУдержания[0].ДатаОкончания);
	Объект.НачисленияУдержания.Загрузить(Запрос.Выполнить().Выгрузить());
КонецПроцедуры
Показать
По теме из базы знаний
Ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. D_e_X_T_e_R 572 18.07.18 18:50 Сейчас в теме
Честно говоря, не совсем понятно, что ты хочешь увидеть. Что есть в регистре НачислениеПремийИВС? Обязательно ли из него брать дату документа? Почему бы не использовать параметры виртуальной таблицы без всяких соединений?
Еще неплохо было бы показать, что получается на выходе сейчас и что хотел бы видеть в идеале.
3. TopZlodey 13 18.07.18 19:03 Сейчас в теме
(2)да, поправил код:

Процедура РассчитатьПРНаСервере()

	Запрос=Новый Запрос;
	Запрос.Текст="ВЫБРАТЬ
	             |	НачислениеПремийИВС.Сумма КАК Сумма,
	             |	НачислениеПремийИВС.Сотрудник.ЗначениеРесурса КАК Сотрудник
	             |ИЗ
	             |	РегистрНакопления.НачислениеПремийИВС КАК НачислениеПремийИВС
	             |ГДЕ
	             |	НачислениеПремийИВС.Период МЕЖДУ &ДатаНачала И &ДатаОкончания";

	Запрос.УстановитьПараметр("ДатаНачала",Объект.НачисленияУдержания[0].ДатаНачала);
	Запрос.УстановитьПараметр("ДатаОкончания",Объект.НачисленияУдержания[0].ДатаОкончания);
	Объект.НачисленияУдержания.Загрузить(Запрос.Выполнить().Выгрузить());
КонецПроцедуры
Показать



Сейчас кину скриншоты как выходит и как хотелось бы)
7. Dream_kz 129 18.07.18 21:54 Сейчас в теме
(3)
Запрос.Текст="ВЫБРАТЬ
| НачислениеПремийИВС.Сумма КАК Сумма,
| НачислениеПремийИВС.Сотрудник.ЗначениеРесурса КАК Сотрудник
|ИЗ
| РегистрНакопления.НачислениеПремийИВС КАК НачислениеПремийИВС
|ГДЕ
| НачислениеПремийИВС.Период МЕЖДУ &ДатаНачала И &ДатаОкончания";


Запрос.Текст="ВЫБРАТЬ
                 |    НачислениеПремийИВС.Сумма КАК Сумма,
                 |    НачислениеПремийИВС.Сотрудник.ЗначениеРесурса КАК Сотрудник
                 |ИЗ
                 |    РегистрНакопления.НачислениеПремийИВС.Обороты(&ДатаНачала, &ДатаОкончания) КАК НачислениеПремийИВС
                 |
                 |    ";
9. TopZlodey 13 19.07.18 07:06 Сейчас в теме
(7)Спасибо, буду знать что так можно)
4. TopZlodey 13 18.07.18 19:08 Сейчас в теме
(2) Нужно чтобы данные выходили не по каждой строке регистра, а суммировались по сотрудник с отбором по дате и вставали в колонку (надеюсь понятно написал мысль )

1) что выходит
2) как нужно
3) данные регистра
Прикрепленные файлы:
8. D_e_X_T_e_R 572 19.07.18 04:39 Сейчас в теме
(4)Сгруппируй по сотруднику. Групповое поле сотрудник, суммируемое сумма. Вкладка в конструкторе запросов "Группировка". И в (7) правильно написали, что надо использовать параметры виртуальных таблиц.
10. TopZlodey 13 19.07.18 08:44 Сейчас в теме
(8)Поправил код:

&НаКлиенте
Процедура РассчитатьПР(Команда)
	
	РассчитатьПРНаСервере()
КонецПроцедуры

&НаСервере
Процедура РассчитатьПРНаСервере()

	Запрос=Новый Запрос;
	Запрос.Текст="ВЫБРАТЬ
	             |	СУММА(НачислениеПремийИВС.Сумма) КАК Сумма,
	             |	НачислениеПремийИВС.Сотрудник.ЗначениеРесурса КАК Сотрудник
	             |ИЗ
	             |	РегистрНакопления.НачислениеПремийИВС КАК НачислениеПремийИВС
	             |ГДЕ
	             |	НачислениеПремийИВС.Период МЕЖДУ &ДатаНачала И &ДатаОкончания
	             |
	             |СГРУППИРОВАТЬ ПО
	             |	НачислениеПремийИВС.Сотрудник.ЗначениеРесурса";

	Запрос.УстановитьПараметр("ДатаНачала",Объект.НачисленияУдержания[0].ДатаНачала);
	Запрос.УстановитьПараметр("ДатаОкончания",Объект.НачисленияУдержания[0].ДатаОкончания);
	Объект.НачисленияУдержания.Добавить();
	Объект.НачисленияУдержания.Загрузить(Запрос.Выполнить().Выгрузить());
КонецПроцедуры
Показать


И понял что делал все это время не то. В таблице у меня идет замена данных на данные из регистра (удаляет все кроме того что берется из регистра) а это не правильно. Но все равно спасибо за помощь.
11. D_e_X_T_e_R 572 19.07.18 10:09 Сейчас в теме
(10)
В таблице у меня идет замена данных на данные из регистра (удаляет все кроме того что берется из регистра) а это не правильно.


(10)
Объект.НачисленияУдержания.Загрузить(Запрос.Выполнить().Выгрузить());

А ты другого ожидал от этой строки?
12. TopZlodey 13 19.07.18 15:52 Сейчас в теме
(11) уже решил этот вопрос. Теперь новый)
5. TopZlodey 13 18.07.18 19:34 Сейчас в теме
6. TopZlodey 13 18.07.18 20:35 Сейчас в теме
Оставьте свое сообщение
Вакансии
Руководитель направления 1С
Москва
зарплата от 350 000 руб.
Полный день

1С Программист
Москва
зарплата от 180 000 руб.
Полный день

Программист 1С
Москва
зарплата от 180 000 руб. до 220 000 руб.
Полный день

Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)

Программист 1С
Москва
зарплата от 250 000 руб.
Полный день