Суммирование итогов записей регистра накопления

1. TopZlodey 13 19.07.18 19:09 Сейчас в теме
Здравствуйте, написал код:

Запрос=Новый Запрос;
	Запрос.Текст="ВЫБРАТЬ
	             |	ВЫБОР
	             |		КОГДА ЗаданияНаРаботу.ВидРабот.Наименование = ""Расчет""
	             |				И ЗаданияНаРаботу.Регистратор.Событие.ТипСобытия = ЗНАЧЕНИЕ(Перечисление.ТипыСобытий.Прочее)
	             |				И ЗаданияНаРаботу.Регистратор.Событие.Тема.Наименование = ""Расчет""
	             |			ТОГДА 200
	             |		КОГДА ЗаданияНаРаботу.Регистратор.Событие.ТипСобытия = ЗНАЧЕНИЕ(Перечисление.ТипыСобытий.Прочее)
	             |				И ЗаданияНаРаботу.Регистратор.Событие.Тема.Наименование = ""Расчет""
	             |				И ЗаданияНаРаботу.Регистратор.Событие.Состояние = ЗНАЧЕНИЕ(Справочник.СостоянияСобытий.Завершено)
	             |			ТОГДА 50
	             |		КОГДА ЗаданияНаРаботу.ВидРабот.Наименование = ""Замер""
	             |				И ЗаданияНаРаботу.Регистратор.Состояние = ЗНАЧЕНИЕ(Справочник.СостоянияСобытий.Завершено)
	             |			ТОГДА 100
	             |		ИНАЧЕ 0
	             |	КОНЕЦ КАК Сумма,
	             |	ЗНАЧЕНИЕ(Справочник.ВидыНачисленийИУдержаний.ПремияЗаВыполненныеЗаказы) КАК ВидНачисленияУдержания,
	             |	ЗаданияНаРаботу.Сотрудник КАК Сотрудник,
	             |	ЗаданияНаРаботу.Регистратор КАК Регистратор,
	             |	NULL КАК Поле1
	             |ПОМЕСТИТЬ ОТБОР
	             |ИЗ
	             |	РегистрНакопления.ЗаданияНаРаботу КАК ЗаданияНаРаботу
	             |ГДЕ
	             |	ЗаданияНаРаботу.ВремяОкончания МЕЖДУ &ДатаНачала И &ДатаОкончания
	             |
	             |ОБЪЕДИНИТЬ ВСЕ
	             |
	             |ВЫБРАТЬ
	             |	НачислениеПремийИВСОбороты.СуммаОборот,
	             |	ЗНАЧЕНИЕ(Справочник.ВидыНачисленийИУдержаний.ПремияЗаВыполненныеЗаказы),
	             |	НачислениеПремийИВСОбороты.Сотрудник.ЗначениеРесурса,
	             |	NULL,
	             |	0
	             |ИЗ
	             |	РегистрНакопления.НачислениеПремийИВС.Обороты(&ДатаНачала, &ДатаОкончания, , ) КАК НачислениеПремийИВСОбороты
	             |;
	             |
	             |////////////////////////////////////////////////////////////­////////////////////
	             |ВЫБРАТЬ
	             |	СУММА(ОТБОР.Сумма) КАК Сумма,
	             |	ОТБОР.ВидНачисленияУдержания КАК ВидНачисленияУдержания,
	             |	ОТБОР.Сотрудник КАК Сотрудник
	             |ИЗ
	             |	ОТБОР КАК ОТБОР
	             |
	             |СГРУППИРОВАТЬ ПО
	             |	ОТБОР.ВидНачисленияУдержания,
	             |	ОТБОР.Сотрудник";

	Запрос.УстановитьПараметр("ДатаНачала",НачалоМесяца(Объект.ПериодРегистрации));
	Запрос.УстановитьПараметр("ДатаОкончания",КонецМесяца(Объект.ПериодРегистрации));
	Выборка = Запрос.Выполнить().Выбрать();
	Пока Выборка.Следующий() Цикл
	НоваяСтрока = Объект.НачисленияУдержания.Добавить();
	ЗаполнитьЗначенияСвойств(НоваяСтрока, Выборка);
	КонецЦикла;
Показать


Но почему то подхватывает по отбору только 1 записи регистра, проверял неоднократно (в том числе копированием), должен подхватывать больше. Подскажите пожалуйста где мог ошибиться.
По теме из базы знаний
Найденные решения
31. mad375 20.07.18 09:54 Сейчас в теме
(30)Тогда соединять Событие и регистр Заявки по событие.Основание = Заявка.Ссылка, выбирать вид работ из события, а все остальное из Заявки
TopZlodey; +1 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. TopZlodey 13 19.07.18 19:37 Сейчас в теме
3. mad375 20.07.18 05:10 Сейчас в теме
(2)Запрос в консоли проверяли?
5. TopZlodey 13 20.07.18 07:07 Сейчас в теме
(3) Да, извините я только учусь, еще не особо хорошо разбираюсь в запросах.
4. catena 110 20.07.18 05:24 Сейчас в теме
Расшифруйте, что значит
подхватывает по отбору только 1 записи регистра

Где подхватывает, как проверяли? Желательно в картинках, чтобы было видно запрос с параметрами, результат и скрин регистра.
6. TopZlodey 13 20.07.18 07:09 Сейчас в теме
(4) грубо говоря, в регистре 6 записей которые попадают в отборы, должны суммироваться и попадать в тч документа. Но он берет только первые попавшие и не прибавляет остальные. Скриншоты в следующем сообщении
7. TopZlodey 13 20.07.18 08:36 Сейчас в теме
(4) Вот, упростил запрос для того чтобы было видно что и как не попадает в отборы:
ВЫБРАТЬ
	ВЫБОР
		КОГДА ЗаданияНаРаботу.ВидРабот.Наименование = "Расчет"
				И ЗаданияНаРаботу.Регистратор.Событие.ТипСобытия = ЗНАЧЕНИЕ(Перечисление.ТипыСобытий.Прочее)
				И ЗаданияНаРаботу.Регистратор.Событие.Тема.Наименование = "Расчет"
			ТОГДА 200
		КОГДА ЗаданияНаРаботу.Регистратор.Событие.ТипСобытия = ЗНАЧЕНИЕ(Перечисление.ТипыСобытий.Прочее)
				И ЗаданияНаРаботу.Регистратор.Событие.Тема.Наименование = "Расчет"
				И ЗаданияНаРаботу.Регистратор.Событие.Состояние = ЗНАЧЕНИЕ(Справочник.СостоянияСобытий.Завершено)
			ТОГДА 50
		КОГДА ЗаданияНаРаботу.ВидРабот.Наименование = "Замер"
				И ЗаданияНаРаботу.Регистратор.Состояние = ЗНАЧЕНИЕ(Справочник.СостоянияСобытий.Завершено)
			ТОГДА 100
		ИНАЧЕ 0
	КОНЕЦ КАК Сумма,
	ЗНАЧЕНИЕ(Справочник.ВидыНачисленийИУдержаний.ПремияЗаВыполненныеЗаказы) КАК ВидНачисленияУдержания,
	ЗаданияНаРаботу.Сотрудник КАК Сотрудник,
	ЗаданияНаРаботу.Регистратор КАК Регистратор,
	ЗаданияНаРаботу.Регистратор.Событие.Тема.Наименование КАК РегистраторСобытиеТемаНаименование,
	ЗаданияНаРаботу.Регистратор.Событие.Состояние КАК РегистраторСобытиеСостояние,
	ЗаданияНаРаботу.Регистратор.Событие.ТипСобытия КАК РегистраторСобытиеТипСобытия
ИЗ
	РегистрНакопления.ЗаданияНаРаботу КАК ЗаданияНаРаботу
ГДЕ
	ЗаданияНаРаботу.ВремяОкончания МЕЖДУ &ДатаНачала И &ДатаОкончания
Показать
Прикрепленные файлы:
8. catena 110 20.07.18 08:41 Сейчас в теме
(7)Вас циферки не устраивают или количество записей? На скрине не видно всех параметров, которые участвую в отборах, чтобы делать какие-то выводы. Я продолжаю доверять запросу, он работает так, как ему сказали.
9. TopZlodey 13 20.07.18 08:45 Сейчас в теме
(8) Я понимаю что он работает как ему сказали, проблема в том что сказал я не правильно и пытаюсь понять как это сделать правильно)
Параметров только 2: ДатаНачала и ДатаОкончания.
Если вы посмотрите на код то увидите что добавил:
ЗаданияНаРаботу.Регистратор.Событие.Тема.Наименование КАК РегистраторСобытиеТемаНаименование,
ЗаданияНаРаботу.Регистратор.Событие.Состояние КАК РегистраторСобытиеСостояние,
ЗаданияНаРаботу.Регистратор.Событие.ТипСобытия КАК РегистраторСобытиеТипСобытия
на скриншоте видно что попадает только 2 записи из всех, хотя записи точно должны попадать...
10. mad375 20.07.18 08:50 Сейчас в теме
(9)Там же видно что поле "Регистратор.Событие.Тема.Наименование" заполнено всего дважды, а у вас оно используется в условии.
Учитывая что обращение идет к регистратору, то поле это в нем и не заполнено.
13. TopZlodey 13 20.07.18 08:56 Сейчас в теме
(10) проверил уже много раз, в каждом тема заполнена(
14. mad375 20.07.18 08:58 Сейчас в теме
(13)Сделайте запрос к документам, будет вывод этого поля или нет
17. TopZlodey 13 20.07.18 09:10 Сейчас в теме
(14) Да, вы правы, сделал запрос к событию документа, а его нет, но при этом во всех документах события прописаны
11. TopZlodey 13 20.07.18 08:53 Сейчас в теме
(8) Даже сравните пожалуйста данные в регистре и выданные в запросе. Без каких либо отборов их все равно отображает не все
Прикрепленные файлы:
12. mad375 20.07.18 08:55 Сейчас в теме
(11)Я говорю поле в РЕГИСТРАТОРЕ(документе Задание на работу) не заполнено, поэтому отображает не все
15. TopZlodey 13 20.07.18 08:58 Сейчас в теме
(12) Проверил, заполнено, точно так же как в тех двух которые отобразились
Прикрепленные файлы:
16. mad375 20.07.18 09:05 Сейчас в теме
(15)А событие это в регистраторе есть? Я об этом
18. TopZlodey 13 20.07.18 09:11 Сейчас в теме
(16) События точно есть к каждому документу и в регистраторе тоже, не понятно почему не видит...
19. mad375 20.07.18 09:28 Сейчас в теме
(18)Как документ заполняется? Событие там как устанавливается?
20. TopZlodey 13 20.07.18 09:37 Сейчас в теме
(19) В документе (скрин1) мы можем перейти к форме где отображаются все связанные с ним события (для кого он является основанием(скрин 2-3). Через конфигуратор в документе есть реквизит Событие с ссылкой на них же(скрин 4), а в регистре накопление документ является регистратором где мы как раз тоже можем обратиться к связанным событиям (скрин 5)
Прикрепленные файлы:
22. mad375 20.07.18 09:43 Сейчас в теме
(20)А почему не взять реквизит "Вид работ" документа для расчета?
25. TopZlodey 13 20.07.18 09:46 Сейчас в теме
(22) просто у одного задания может быть несколько событий, и нужно учитывать каждое из них(
24. catena 110 20.07.18 09:44 Сейчас в теме
(20)Здесь событие в регистре, а вы берете из документа.
26. TopZlodey 13 20.07.18 09:48 Сейчас в теме
(24) Я еще неуч, но как понять из регистра я его беру или из документа?
27. mad375 20.07.18 09:50 Сейчас в теме
(26)Надо соединять тогда Заявки и События
28. mad375 20.07.18 09:50 Сейчас в теме
(26)У событий есть регистр?
30. TopZlodey 13 20.07.18 09:52 Сейчас в теме
31. mad375 20.07.18 09:54 Сейчас в теме
(30)Тогда соединять Событие и регистр Заявки по событие.Основание = Заявка.Ссылка, выбирать вид работ из события, а все остальное из Заявки
TopZlodey; +1 Ответить
32. TopZlodey 13 20.07.18 10:03 Сейчас в теме
(31)
единять Событие и регистр Заявки по событие.Основание = За

Да, вы правы похоже придется связывать и делать отборы уже по документу события
29. TopZlodey 13 20.07.18 09:50 Сейчас в теме
(24) Просто, я в запросе до этого не использовал документ, начал только после (14), наверное мог случайно тк называются они одинаково.
21. catena 110 20.07.18 09:38 Сейчас в теме
(11)У вас в запросе отбор по ВремяОкончания, где на скрине этот реквизит?
23. TopZlodey 13 20.07.18 09:43 Сейчас в теме
(21) Вот, в низу
Прикрепленные файлы:
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот