Итоги ресурсов регистра накопления в колонке табличной части
Здравствуйте, пытаюсь вывести данные суммы из регистра накопления, все выходит только по каждой отдельной записи регистра а не по данным указанным в таблице. Подскажите пожалуйста что не так. Код прилагается:
&НаСервере
Процедура РассчитатьПРНаСервере()
Запрос=Новый Запрос;
Запрос.Текст="ВЫБРАТЬ
| НачислениеЗарплатыНачисленияУдержания.ДатаНачала КАК ДатаНачала,
| НачислениеЗарплатыНачисленияУдержания.ДатаОкончания КАК ДатаОкончания,
| НачислениеПремийИВС.Сумма КАК Сумма,
| НачислениеПремийИВС.Сотрудник.ЗначениеРесурса КАК Сотрудник
|ИЗ
| Документ.НачислениеЗарплаты.НачисленияУдержания КАК НачислениеЗарплатыНачисленияУдержания
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.НачислениеПремийИВС КАК НачислениеПремийИВС
| ПО НачислениеЗарплатыНачисленияУдержания.Сотрудник.Ссылка = НачислениеПремийИВС.Сотрудник.ЗначениеРесурса.Ссылка
|ГДЕ
| НачислениеПремийИВС.Регистратор.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания";
Запрос.УстановитьПараметр("ДатаНачала",Объект.НачисленияУдержания[0].ДатаНачала);
Запрос.УстановитьПараметр("ДатаОкончания",Объект.НачисленияУдержания[0].ДатаОкончания);
Объект.НачисленияУдержания.Загрузить(Запрос.Выполнить().Выгрузить());
КонецПроцедуры
ПоказатьПо теме из базы знаний
- Регистры сведений 1С. Как это устроено.
- 50+ советов для успешной сдачи 1С: Специалист по платформе
- УМП - Универсальный механизм планирования
- Комплексный контроль остатков. Для одного или сразу нескольких логически связанных регистров накопления. Универсальное решение уровня данных для контроля не только складских остатков
- Расширение: Быстрые отборы через буфер [Alt+C] Копировать список, [Alt+V] Вставить список, [Ctrl+C] Копировать из файлов
Ответы
В избранное
Подписаться на ответы
Сортировка:
Древо развёрнутое
Свернуть все
Честно говоря, не совсем понятно, что ты хочешь увидеть. Что есть в регистре НачислениеПремийИВС? Обязательно ли из него брать дату документа? Почему бы не использовать параметры виртуальной таблицы без всяких соединений?
Еще неплохо было бы показать, что получается на выходе сейчас и что хотел бы видеть в идеале.
Еще неплохо было бы показать, что получается на выходе сейчас и что хотел бы видеть в идеале.
(2)да, поправил код:
Сейчас кину скриншоты как выходит и как хотелось бы)
Процедура РассчитатьПРНаСервере()
Запрос=Новый Запрос;
Запрос.Текст="ВЫБРАТЬ
| НачислениеПремийИВС.Сумма КАК Сумма,
| НачислениеПремийИВС.Сотрудник.ЗначениеРесурса КАК Сотрудник
|ИЗ
| РегистрНакопления.НачислениеПремийИВС КАК НачислениеПремийИВС
|ГДЕ
| НачислениеПремийИВС.Период МЕЖДУ &ДатаНачала И &ДатаОкончания";
Запрос.УстановитьПараметр("ДатаНачала",Объект.НачисленияУдержания[0].ДатаНачала);
Запрос.УстановитьПараметр("ДатаОкончания",Объект.НачисленияУдержания[0].ДатаОкончания);
Объект.НачисленияУдержания.Загрузить(Запрос.Выполнить().Выгрузить());
КонецПроцедуры
ПоказатьСейчас кину скриншоты как выходит и как хотелось бы)
(3)
Запрос.Текст="ВЫБРАТЬ
| НачислениеПремийИВС.Сумма КАК Сумма,
| НачислениеПремийИВС.Сотрудник.ЗначениеРесурса КАК Сотрудник
|ИЗ
| РегистрНакопления.НачислениеПремийИВС КАК НачислениеПремийИВС
|ГДЕ
| НачислениеПремийИВС.Период МЕЖДУ &ДатаНачала И &ДатаОкончания";
| НачислениеПремийИВС.Сумма КАК Сумма,
| НачислениеПремийИВС.Сотрудник.ЗначениеРесурса КАК Сотрудник
|ИЗ
| РегистрНакопления.НачислениеПремийИВС КАК НачислениеПремийИВС
|ГДЕ
| НачислениеПремийИВС.Период МЕЖДУ &ДатаНачала И &ДатаОкончания";
Запрос.Текст="ВЫБРАТЬ
| НачислениеПремийИВС.Сумма КАК Сумма,
| НачислениеПремийИВС.Сотрудник.ЗначениеРесурса КАК Сотрудник
|ИЗ
| РегистрНакопления.НачислениеПремийИВС.Обороты(&ДатаНачала, &ДатаОкончания) КАК НачислениеПремийИВС
|
| ";
(8)Поправил код:
И понял что делал все это время не то. В таблице у меня идет замена данных на данные из регистра (удаляет все кроме того что берется из регистра) а это не правильно. Но все равно спасибо за помощь.
&НаКлиенте
Процедура РассчитатьПР(Команда)
РассчитатьПРНаСервере()
КонецПроцедуры
&НаСервере
Процедура РассчитатьПРНаСервере()
Запрос=Новый Запрос;
Запрос.Текст="ВЫБРАТЬ
| СУММА(НачислениеПремийИВС.Сумма) КАК Сумма,
| НачислениеПремийИВС.Сотрудник.ЗначениеРесурса КАК Сотрудник
|ИЗ
| РегистрНакопления.НачислениеПремийИВС КАК НачислениеПремийИВС
|ГДЕ
| НачислениеПремийИВС.Период МЕЖДУ &ДатаНачала И &ДатаОкончания
|
|СГРУППИРОВАТЬ ПО
| НачислениеПремийИВС.Сотрудник.ЗначениеРесурса";
Запрос.УстановитьПараметр("ДатаНачала",Объект.НачисленияУдержания[0].ДатаНачала);
Запрос.УстановитьПараметр("ДатаОкончания",Объект.НачисленияУдержания[0].ДатаОкончания);
Объект.НачисленияУдержания.Добавить();
Объект.НачисленияУдержания.Загрузить(Запрос.Выполнить().Выгрузить());
КонецПроцедуры
ПоказатьИ понял что делал все это время не то. В таблице у меня идет замена данных на данные из регистра (удаляет все кроме того что берется из регистра) а это не правильно. Но все равно спасибо за помощь.
Вакансии
Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)