Имя: Пароль:
1C
1С v8
Запрос Продажи по сменам.
,
0 247tsm
 
08.06.15
04:10
Никак не могу сообразить, как написать запрос.
Задача следующая (может и не совсем сложная).
Продажи товаров регистрируются в документе Чек, в котором в табличной части проданные товары (из справочника Номенклатура).
Продажи осуществляются по сменам. Конец каждой смены фиксирует документ ЗакрытиеСмены.
Задача: получить сумму продаж заданного товара по сменам.
Т.е. на форме отчета задаем период:
- параметр ПослеСмены (с даты и времени док.ЗакрытиеСмены, выбранного из списка документов ЗакрытиеСмены),
- параметр ПоСмену (по дату и время док.ЗакрытиеСмены, выбранного из списка документов ЗакрытиеСмены)
- параметр Товар.
И выполняем запрос, получив как результат, таблицу с колонками:
КонецСмены, КоличествоПроданогоТовара.
Просьба сформировать текст такого запроса.
Под началом смены подразумевается конец предыдущей смены.
1 Рус Иван
 
08.06.15
05:27
Отчет на основе документов должен работать или же есть различные регистры, в которые эти самые документы и выполняют движения?
2 247tsm
 
08.06.15
08:21
(1) На основе документов
3 247tsm
 
08.06.15
09:23
(1) Хотя, есть и регистры.
Регистр сведений - ЗакрытиеСмены (но в нем есть измерения по рабочему месту, сотруднику и поэтому на одно закрытие смены несколько записей) - из этого регистра нас интересует только дата и время закрытия смены.
Регистр накоплений - Продажи (среди измерений - Номенклатура, а в ресурсах - количество и сумма) - здесь мы можем брать продажи нашего товара по сменам.
4 247tsm
 
08.06.15
09:32
Гуру, наверно еще спят.
Попробую порассуждать.
Мне, наверно, надо по регистру ЗакрытиеСмены выбрать периоды (т.е. определить НачалоСмены и КонецСмены) из заданного в параметрах периода - НачалоПериода, КонецПериода. А внутри каждого периода (внутри каждой смены) просуммировать продажи нашего товара.
Но как это скомпоновать в запрос (или в запросы)?
5 ДенисЧ
 
08.06.15
09:34
выбрать началопериода, конецпериода, товар, Сумма(Количество), сумма(Сумма)
из РегистрНакопления.ЗакрытиеСмены
Где НачалоПериода >= &НачПериода  и КонецПериода <= &Конпериода
Сгруппировать по началопериода, конецпериода, товар,
6 247tsm
 
08.06.15
09:57
(5) А как написать запрос, который даст нам эти периоды и как в него вложить то, что Вы написали?
7 247tsm
 
08.06.15
09:58
(6) Или запросом не получится и нужен не запрос, а кусок кода?
8 ДенисЧ
 
08.06.15
10:00
(6) Это сложно... Это программировать нужно
9 Звездец
 
08.06.15
10:04
Да и вообще если есть регистр с движениями за смену, то в чем проблема выбрать из него данные
10 247tsm
 
08.06.15
10:04
(7) Т.е. типа:
- сначала запросом получаем список дат закрытия смены
- затем в цикле, формируя параметры НачПериода и КонПериода делаем второй запрос и определяем сумму и количество продаж нашего товара, одновременно закидывая это в таблицу значений
- по сформированной таблице значений делаем отчет
Так?
А не будет это работать долго?
Нельзя ли всё сделать в каком-нибудь сложном запросе?
Неужели, ни у кого не возникала задача продаж товара по периодам и ни у кого нет хотя бы примера запроса или кода?
11 247tsm
 
08.06.15
10:06
(9) В том то и дело, что нет регистра с движениями за смену. Есть регистр с суммами продаж за смену по продавцам.
12 ILM
 
гуру
08.06.15
10:07
Пронумеруй в запросе смены, выбери интервалы периода начала и закрытия смены. Считай сумму продаж по входимости чека в интервал смены.
13 247tsm
 
08.06.15
10:30
(12) Так, как я описал в (10) ?