В отчете не работает отбор по периоду

1. sergfromche 28.11.18 10:56 Сейчас в теме
Здравствуйте, только начинаю изучать 1С. Столкнулся со следующей проблемой:
Необходимо вывести в отчете поля "Сотрудник", "Норма выработки", "Фактическая выработка", "Отклонение от нормы" и "Норма выполнена" ("Да" или "Нет" на основании отклонения). Фактическая выработка выводится из регистра накопления по движению документа.
Норма меняется в зависимости от месяца для каждого сотрудника и внесена в регистр сведений. Но при задании определенного месяца выводится абсолютно вся информация по норме для каждого сотрудника.
В чем может быть проблема? Как вывести информацию о Норме выработки за определенный месяц в отчет?
Заранее спасибо!
По теме из базы знаний
Ответы
Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
18. pavel06 2 28.11.18 17:00 Сейчас в теме
(1)
Здравствуйте, только начинаю изучать 1С


Пройдите интернет-курсы по СКД и запросам у Гилева, тогда уж идите на собеседования
sergfromche; +1 Ответить
20. sergfromche 28.11.18 17:07 Сейчас в теме
(18)
СКД и запросам

Большое спасибо
2. lishniy 132 28.11.18 11:06 Сейчас в теме
В запросе необходимо установить отборы по периоду. Текст запроса покажите.
3. sergfromche 28.11.18 11:12 Сейчас в теме
(2)
ВЫБРАТЬ
	НормаМесяц.Сотрудник,
	НормаМесяц.КоличествоЧасов КАК Норма,
	ВыработкаОбороты.КоличествоОборот
ИЗ
	РегистрСведений.НормаМесяц КАК НормаМесяц,
	РегистрНакопления.Выработка.Обороты КАК ВыработкаОбороты
5. lishniy 132 28.11.18 11:22 Сейчас в теме
(3) У вас вообще нет отбора по периоду в запросе. В оборотном периоде должно быть вроде такого

РегистрНакопления.Выработка.Обороты(&НачалоПериода, &КонецПериода, , ) КАК ВыработкаОбороты


Из регистра сведений я бы выбрал вначале во вложенный запрос также с отбором по периоду
7. sergfromche 28.11.18 11:33 Сейчас в теме
(5)
РегистрНакопления.Выработка.Обороты(&НачалоПериода, &КонецПериода, , ) КАК ВыработкаОбороты

Данная строчка должна идти вместо
РегистрНакопления.Выработка.Обороты КАК ВыработкаОбороты?
10. Alexei_Siva 182 28.11.18 12:07 Сейчас в теме
(5) в отчете параметры НачалоПериода и КонецПериода должны по умолчанию вставать. Видимо, они просто не заполняются
sergfromche; +1 Ответить
14. sergfromche 28.11.18 15:53 Сейчас в теме
(10)В конструкторе запроса нашел "Параметры виртуальной таблицы" для регистра накопления и в них указал выражения &НачалоПериода и &КонецПериода, в результате в тексте запроса появились соответствующие записи. Но с регистром сведений как быть, вообще не могу понять.
4. sergfromche 28.11.18 11:15 Сейчас в теме
(2)
А если устанавливать отбор по периоду в конструкторе запроса это не тоже самое?
6. soft_wind 28.11.18 11:30 Сейчас в теме
Этто что, шутка такая?

РегистрСведений.НормаМесяц КАК НормаМесяц,
РегистрНакопления.Выработка.Обороты КАК ВыработкаОбороты

где соединения по сотруднику и периоду? нельзя все вешать на отборы!
8. sergfromche 28.11.18 11:38 Сейчас в теме
(6)
Здравствуйте, к сожалению, не понимаю о чем вы.
Подскажите как соединить сотрудника и период? Через справочник?
Просто в моем понимании в виртуальных таблицах (регистрах накопления и сведений) хранится информация о изменении количества выработанных часов сотрудником и фиксированной по месяцам норме, на которые я в запросе и ссылаюсь.
9. YannikAlx 43 28.11.18 11:53 Сейчас в теме
Откуда по вашему ВыборкаОбороты узнает, что вам нужны обороты именно по вашему сотруднику?
Да еще за тот период который вообще у вас только в голове.
Ну прочтите сначала хоть одну книжку по программированию на 1С

и начинать программировать точно стоит не с ЗУП....
товарные движения легче даются по статистике...
sergfromche; Fril; +2 Ответить
12. sergfromche 28.11.18 15:48 Сейчас в теме
(9)При всем желании не успею ознакомиться с этим, получил задание на собеседовании. Потому, в принципе вопрос этот и задал здесь, так как застрял на отборе по периоду.
Период вывода данных я указываю в параметрах отчета, регистр сведений в котором хранится норма по месяцам тоже периодический.

Вот так это выглядит сейчас:
ВЫБРАТЬ
	НормаМесяц.КоличествоЧасов КАК Норма,
	ВыработкаОбороты.КоличествоОборот,
	Сотрудники.Наименование КАК Сотрудник
ИЗ
	РегистрСведений.НормаМесяц КАК НормаМесяц
		ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Сотрудники КАК Сотрудники
		ПО НормаМесяц.Сотрудник = Сотрудники.Ссылка,
	РегистрНакопления.Выработка.Обороты(&НачалоПериода, &КонецПериода, Месяц, ) КАК ВыработкаОбороты
Показать
11. Fril 28.11.18 13:00 Сейчас в теме
Как правильно заметил в 9. user614822 изучение лучше наверное начать с Розница или УТ, проще для понимания. А вообще лучше для начала почитать Язык запросов «1С:Предприятия 8» а потом Разработка сложных отчетов в «1С:Предприятии 8.2». Система компоновки данных»
sergfromche; +1 Ответить
13. sergfromche 28.11.18 15:49 Сейчас в теме
(11) Спасибо за информацию, обязательно доберусь.
15. YannikAlx 43 28.11.18 15:59 Сейчас в теме
Вы по ходу т ак и не поняли что брать данные из 2 совершенно никак не связых регистра - просто абсурд.
Ведь это все равно что вывести скажем фамилию сотрудника и в той же строчке вывести курс валют.
Ну какая связь между вашими регистрами Сведений и Накопления?
Вам на до не на собеседования ходить , а почитать основы все-таки сначала, уж извините....
А лучше идите в любой франчайзик - там нахватаетесь, если лень читать...
16. sergfromche 28.11.18 16:10 Сейчас в теме
(15) Да, скорее всего не понял. В моем понимании информация из регистров должна была выводиться согласно параметрам начала и конца периода в настройках СКД. Я как раз в франчайзике такое задание и получил.
17. YannikAlx 43 28.11.18 16:32 Сейчас в теме
Вот вы и получаете Фамилию сотрудника и курс валюты за 10 ноября...
Поймите пожалуйста - в запросе нужно каким-то образом связывать источники данных из которых вы делаете выборку.
У вас какая связь между ВыработкаОбороты.КоличествоОборот и справочником Сотрудники?

Ваш запрос выдает всех сотрудников у которых вообще прописана НормаМесяц.КоличествоЧасов (скорее всего за все месяцы) и рядом выдает абстрактные
ВыработкаОбороты непонятно кому принадлежащие, но за указанный период.
В результате - хаос!
sergfromche; +1 Ответить
19. sergfromche 28.11.18 17:04 Сейчас в теме
(17) Связь со справочником есть у регистров. То есть, добавлял параметр "Сотрудник" как "Измерение" в обоих регистрах с ссылкой на справочник. Или имеется ввиду связь между двумя регистрами?
Возможно тогда в поле отчета нужно вывести не реквизит справочника а измерение?
21. YannikAlx 43 28.11.18 17:16 Сейчас в теме
Связь должна быть в запросе!
А у вас в запросе связи никакой с РН
Вот с РС вы же указали связь со справочником...
Это было случайно, без понимания сути связей?
Ну так я вам и говорю - связь должна быть в запросе, ибо откуда регистр накопления узнает По какому сотруднику выдавать данные??!!
sergfromche; +1 Ответить
22. sergfromche 28.11.18 17:52 Сейчас в теме
(21) В запросе в РС она почему-то автоматически добавилась, а в РН нет. Это к вопросу о случайности. То есть мне нужно связать в тексте запроса РН со справочником "Сотрудники" левым соединением, верно?
23. YannikAlx 43 28.11.18 18:01 Сейчас в теме
В зависимости от того что вы хотите получить вариантов много вообще-то
https://helpme1c.ru/soedineniya-v-zaprosax-v-1s-8-v-primerax
24. YannikAlx 43 28.11.18 18:05 Сейчас в теме
Но по ходу можно попробовать левым соединением к Регистру сведений
По реквизиту Сотрудник
sergfromche; +1 Ответить
26. sergfromche 28.11.18 18:11 Сейчас в теме
(24) Буду пробовать сейчас. В любом случае, большое спасибо за выделенное время и внимание.
25. YannikAlx 43 28.11.18 18:09 Сейчас в теме
Только еще нужно отбор сделать по РС - ведь вам же не нужны данные за январь, если вы выбрали даты сентября...
Да и дату надо выбирать одну по тексту задачи - можно любую дату внутри месяца.
А потом преобразовывать
ее в НачалоПериода(&ВыбраннаяДата, Месяц)
КонецПериода(&ВыбраннаяДата, Месяц)
Подставляя в Обороты(НачалоПериода(&ВыбраннаяДата, Месяц), КонецПериода(&ВыбраннаяДата, Месяц), , )
sergfromche; +1 Ответить
27. YannikAlx 43 28.11.18 18:11 Сейчас в теме
Короче смотрите какой вид имеет дата в Регистре сведений..
Чтобы и в нем отсеять не нужные месяцы

ГДЕ
РегистрСведений.Период МЕЖДУ НачалоПериода(&ВыбраннаяДата, Месяц) И КонецПериода(&ВыбраннаяДата, Месяц)
28. YannikAlx 43 28.11.18 18:13 Сейчас в теме
Но кстати есть еще один нюанс - не внесли норму скажем в сентябре, а сотрудник наработал кучу работы....
Ваш запрос этого не отобразит - ибо забыли норму внести
Оставьте свое сообщение

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