Запрос 1С.Все месяцы между параметрами

1. sweety-twetty 31.07.13 18:14 Сейчас в теме
Здравствуйте, подскажите, пожалуйста, как получить список месяцев между параметрами &ДатаНач &ДатаОконч в запросе? Заранее спасибо
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. deniseek77 86 31.07.13 18:26 Сейчас в теме
(1) sweety-twetty,

ВЫБРАТЬ РАЗЛИЧНЫЕ
МЕСЯЦ(РегламентированныйПроизводственныйКалендарь.ДатаКалендаря) КАК Поле1
ИЗ
РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК РегламентированныйПроизводственныйКалендарь
ГДЕ
РегламентированныйПроизводственныйКалендарь.ДатаКалендаря МЕЖДУ &НачДата И &КонДата
gusteleva; +1 Ответить
11. Teut_Vlad 187 04.03.19 17:17 Сейчас в теме
(2)
ВЫБРАТЬ РАЗЛИЧНЫЕ
МЕСЯЦ(РегламентированныйПроизводственныйКалендарь.ДатаКалендаря) КАК Поле1
ИЗ
РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК РегламентированныйПроизводственныйКалендарь
ГДЕ
РегламентированныйПроизводственныйКалендарь.ДатаКалендаря МЕЖДУ &НачДата И &КонДата

Лучше так, в СКД можно сделать формат ДФ=ММММ и получится: Январь ,Февраль, Март ...
ВЫБРАТЬ РАЗЛИЧНЫЕ 
НачалоПериода(РегламентированныйПроизводственныйКалендарь.ДатаКалендаря, Месяц) КАК Поле1 
ИЗ 
РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК РегламентированныйПроизводственныйКалендарь 
ГДЕ 
РегламентированныйПроизводственныйКалендарь.ДатаКалендаря МЕЖДУ &НачалоПериода И &КонецПериода
3. sweety-twetty 01.08.13 10:50 Сейчас в теме
Подскажите, а как объединить этот запрос со своим запросом? так чтобы получился результат
Месяц1 12 24 15
Месяц2 0 0 0
Месяц3 16 54 56
Месяц4 20 47 58


Мой запрос
ВЫБРАТЬ
	ПродажиОбороты.Период,
	ПродажиОбороты.Регистратор,
	ПродажиОбороты.Номенклатура,
	ПродажиОбороты.Подразделение,
	ПродажиОбороты.Контрагент,
	ПродажиОбороты.КоличествоОборот * ПродажиОбороты.Номенклатура.ЕдиницаДляОтчетов.Вес / 1000 КАК Количество,
	ПродажиОбороты.СтоимостьОборот КАК Стоимость,
	ПродажиОбороты.НДСОборот КАК НДС,
	ПродажиОбороты.Регистратор.ТРТ.Регион.Родитель КАК Регион,
	ПродажиОбороты.ДокументПродажи.ТРТ,
	ПродажиОбороты.ДокументПродажи.ТРТ.Наименование,
	НАЧАЛОПЕРИОДА(ПродажиОбороты.Регистратор.Дата, МЕСЯЦ) КАК Месяц
ПОМЕСТИТЬ Продажи
ИЗ
	РегистрНакопления.Продажи.Обороты(
			&ДатаНачала,
			&ДатаОкончания,
			Регистратор,
			Номенклатура В ИЕРАРХИИ (&НОменклатура)
				И Контрагент В ИЕРАРХИИ (&КОнтрагент)
				И &ЗапросВидСравненияПодразделение
				И ДокументПродажи.Маршрут В ИЕРАРХИИ (&Маршрут)) КАК ПродажиОбороты
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	Продажи.Период,
	Продажи.Регистратор,
	Продажи.Номенклатура,
	Продажи.Подразделение,
	Продажи.Контрагент КАК Контрагент,
	СУММА(Продажи.Количество) КАК Количество,
	СУММА(Продажи.Стоимость) КАК Стоимость,
	СУММА(Продажи.НДС) КАК НДС,
	Продажи.Регион КАК Регион,
	Продажи.ДокументПродажиТРТ КАК ТРТ,
	Продажи.ДокументПродажиТРТНаименование КАК ДокументПродажиТРТНаименование,
	Продажи.Контрагент.Наименование КАК КонтрагентНаименование,
	Продажи.Номенклатура.НоменклатурнаяГруппа.Родитель КАК НоменклатураНоменклатурнаяГруппаРодитель,
	ВЫБОР
		КОГДА Продажи.Номенклатура.НоменклатурнаяГруппа.Родитель = &Вид1
				ИЛИ Продажи.Номенклатура.НоменклатурнаяГруппа.Родитель = &Вид3
			ТОГДА Продажи.Количество
		ИНАЧЕ 0
	КОНЕЦ КАК КоличествоАлкиды,
	ВЫБОР
		КОГДА Продажи.Номенклатура.НоменклатурнаяГруппа.Родитель = &Вид1
				ИЛИ Продажи.Номенклатура.НоменклатурнаяГруппа.Родитель = &Вид3
			ТОГДА Продажи.Стоимость
		ИНАЧЕ 0
	КОНЕЦ КАК СтоимостьАлкиды,
	ВЫБОР
		КОГДА Продажи.Номенклатура.НоменклатурнаяГруппа.Родитель = &Вид2
			ТОГДА Продажи.Количество
		ИНАЧЕ 0
	КОНЕЦ КАК КоличествоВД,
	ВЫБОР
		КОГДА Продажи.Номенклатура.НоменклатурнаяГруппа.Родитель = &Вид3
			ТОГДА Продажи.Стоимость
		ИНАЧЕ 0
	КОНЕЦ КАК СтоимостьВД,
	Продажи.Месяц КАК НачалоМесяца
ИЗ
	Продажи КАК Продажи

СГРУППИРОВАТЬ ПО
	Продажи.Регион,
	Продажи.ДокументПродажиТРТ,
	Продажи.Период,
	Продажи.Регистратор,
	Продажи.Номенклатура,
	Продажи.Подразделение,
	Продажи.Контрагент,
	Продажи.ДокументПродажиТРТНаименование,
	Продажи.Номенклатура.НоменклатурнаяГруппа.Родитель,
	Продажи.Контрагент.Наименование,
	ВЫБОР
		КОГДА Продажи.Номенклатура.НоменклатурнаяГруппа.Родитель = &Вид1
				ИЛИ Продажи.Номенклатура.НоменклатурнаяГруппа.Родитель = &Вид3
			ТОГДА Продажи.Количество
		ИНАЧЕ 0
	КОНЕЦ,
	ВЫБОР
		КОГДА Продажи.Номенклатура.НоменклатурнаяГруппа.Родитель = &Вид1
				ИЛИ Продажи.Номенклатура.НоменклатурнаяГруппа.Родитель = &Вид3
			ТОГДА Продажи.Стоимость
		ИНАЧЕ 0
	КОНЕЦ,
	ВЫБОР
		КОГДА Продажи.Номенклатура.НоменклатурнаяГруппа.Родитель = &Вид2
			ТОГДА Продажи.Количество
		ИНАЧЕ 0
	КОНЕЦ,
	ВЫБОР
		КОГДА Продажи.Номенклатура.НоменклатурнаяГруппа.Родитель = &Вид2
			ТОГДА Продажи.Стоимость
		ИНАЧЕ 0
	КОНЕЦ,
	Продажи.Месяц

УПОРЯДОЧИТЬ ПО
	Продажи.ДокументПродажиТРТНаименование,
	НачалоМесяца
ИТОГИ
	СУММА(Количество),
	СУММА(Стоимость),
	СУММА(НДС),
	СУММА(КоличествоАлкиды),
	СУММА(СтоимостьАлкиды),
	СУММА(КоличествоВД),
	СУММА(СтоимостьВД)
ПО
	ТРТ,
	Контрагент,
	НачалоМесяца
Показать
4. doom2good 141 01.08.13 11:01 Сейчас в теме
если есть таблица с датами, например, такая:
-Период
-НоменклатурнаяГруппа
-Сумма


то чтобы выводить данные по месяцам, достаточно преобразовать поле "Период" к началу месяца
НачалоПериода(Период, Месяц) Как ПериодМесяц
и сделать группировку по нему.

А если источник - регистр накопления, так вообще всё просто:
ВЫБРАТЬ
	РеализацияУслугОбороты.Период КАК Месяц,
	РеализацияУслугОбороты.НоменклатурнаяГруппа,
	РеализацияУслугОбороты.СуммаОборот
ИЗ
	РегистрНакопления.РеализацияУслуг.Обороты(&ДатаНач, &ДатаКон, Месяц, ) КАК РеализацияУслугОбороты

Настроить периодичность можно в параметрах вирт. таблицы (см. скриншот)
Прикрепленные файлы:
6. sweety-twetty 01.08.13 11:32 Сейчас в теме
(4),(5) дело в том что есть поля контрагент, по которому тоже делаю группировку.В конечном итоге отчет имеет вид такой как на рисунке. Но не у всех контрагентов есть продажи по всем месяцам. То есть у контрагента 1 есть продажи в январе и феврале, а у контрагента 2 -в январе и в марте, но в итоге у контрагента 1 должны выводится пустые поля по марту, а у контрагента 2 пустые поля по февралю. Надеюсь на помощь
Прикрепленные файлы:
7. doom2good 141 01.08.13 14:09 Сейчас в теме
(6) sweety-twetty, ну дык так и будет.
5. mptt 16 01.08.13 11:16 Сейчас в теме
А что означает
Месяц1 12 24 15
Месяц2 0 0 0
Месяц3 16 54 56
Месяц4 20 47 58
Расшифруй...
17. serko8547 110 20.07.22 14:51 Сейчас в теме
(5)
менсяц первый:
вид1 - 12 шт
Вид2 - 24 шт
вид3 - 15 шт,

Месяц второй
вид1 - 0 шт
Вид2 - 0 шт
вид3 - 0 шт...
8. mptt 16 02.08.13 09:31 Сейчас в теме
doom2good. Так не будет, внимательно посмотри на запрос, она берет обороты, и если оборотов нет то нет и запсей на выходе за период..Посмотри у Гилева как эта задача решается
Прикрепленные файлы:
1CdevAdv-Block2-Chapter10-Lesson054-main.avi
9. Bukaska 140 02.08.13 10:59 Сейчас в теме
нужно брать период без дополнений, тогда должно выдать только те месяца, по которым были движения)
10. mptt 16 02.08.13 11:28 Сейчас в теме
Bukaska. Ей как раз с дополнениями нужно, смотри пост 6...
12. vik070777 294 30.12.20 17:03 Сейчас в теме
В ЗКГУ 3.1
ВЫБРАТЬ РАЗЛИЧНЫЕ
	НАЧАЛОПЕРИОДА(ДанныеПроизводственногоКалендаря.Дата, МЕСЯЦ) КАК Поле1
ПОМЕСТИТЬ втПериод
ИЗ
	РегистрСведений.ДанныеПроизводственногоКалендаря КАК ДанныеПроизводственногоКалендаря
ГДЕ
	ДанныеПроизводственногоКалендаря.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания
13. RustRR 30.12.20 17:22 Сейчас в теме
(11) (12) Решение сломается на периоде, на который не заполнен производственный календарь.

Лучше скомпоновать тест запроса в цикле
ВЫБРАТЬ
ДАТАВРЕМЯ(2020, 1, 1)
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
ДАТАВРЕМЯ(2020, 2, 1)
ОБЪЕДИНИТЬ ВСЕ
...

и т.д.
14. vik070777 294 31.12.20 02:16 Сейчас в теме
(13) Производственный календарь должен быть заполнен постоянно в противном случае типовой механизм расчета начислений расходов и т.п. не будет работать, если его не заполнят в ручную то это сделает рег задание в зависимости от конфигурации. Но он должен быть заполнен поэтому и появляется возможность на него опереться при выборке периодов
15. RibD 27.05.22 11:46 Сейчас в теме
На мисте нашел, как сделать без произв. календарей. Убил кучу времени на поиск такого решения. Дублирую здесь, чтобы не потерялось.
форум.миста.ру, топик 606824
================

ВЫБРАТЬ
    0 КАК Цифра
ПОМЕСТИТЬ Цифры

ОБЪЕДИНИТЬ

ВЫБРАТЬ
    1

ОБЪЕДИНИТЬ

ВЫБРАТЬ
    2

ОБЪЕДИНИТЬ

ВЫБРАТЬ
    3

ОБЪЕДИНИТЬ

ВЫБРАТЬ
    4

ОБЪЕДИНИТЬ

ВЫБРАТЬ
    5

ОБЪЕДИНИТЬ

ВЫБРАТЬ
    6

ОБЪЕДИНИТЬ

ВЫБРАТЬ
    7

ОБЪЕДИНИТЬ

ВЫБРАТЬ
    8

ОБЪЕДИНИТЬ

ВЫБРАТЬ
    9
;

 ////////////////////////////////////////////////////////////­////////////////////
 
ВЫБРАТЬ
    Тысячи.Цифра * 1000 + Сотни.Цифра * 100 + Десятки.Цифра * 10 + Единицы.Цифра КАК Число
ПОМЕСТИТЬ Числа
ИЗ
    Цифры КАК Тысячи,
    Цифры КАК Сотни,
    Цифры КАК Десятки,
    Цифры КАК Единицы
ГДЕ
    Тысячи.Цифра * 1000 + Сотни.Цифра * 100 + Десятки.Цифра * 10 + Единицы.Цифра <= РАЗНОСТЬДАТ(&НачалоПериода, &КонецПериода, МЕСЯЦ)
;

 ////////////////////////////////////////////////////////////­////////////////////
 
ВЫБРАТЬ
    ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&НачалоПериода, МЕСЯЦ), МЕСЯЦ, Числа.Число) КАК Период
ИЗ
    Числа КАК Числа

УПОРЯДОЧИТЬ ПО
    Период
Показать
Bunakov_Artur; user675194_iChibis; crash-16; Dima3333; +4 Ответить
16. serko8547 110 20.07.22 13:57 Сейчас в теме
Ув. Автор, если Вы выкладываете запрос, то прошу Вас, выкладывать его на стандартную конфигурацию, а не на доработанную. И указывать конфу, на которой данный запрос работает. А так, спасибо за идею! :)))
Так же выкладываю почищенный запрос от нестандартных документов в нем.

Работает на КА 1 И, я так полагаю, УТ 10.3


"ВЫБРАТЬ
|	ПродажиОбороты.Период,
|	ПродажиОбороты.Регистратор,
|	ПродажиОбороты.Номенклатура,
|	ПродажиОбороты.Подразделение,
|	ПродажиОбороты.Контрагент,
|	ПродажиОбороты.КоличествоОборот * ПродажиОбороты.Номенклатура.ЕдиницаДляОтчетов.Вес / 1000 КАК Количество,
|	ПродажиОбороты.СтоимостьОборот КАК Стоимость,
|	ПродажиОбороты.НДСОборот КАК НДС,
|	НАЧАЛОПЕРИОДА(ПродажиОбороты.Регистратор.Дата, МЕСЯЦ) КАК Месяц
|ПОМЕСТИТЬ Продажи
|ИЗ
|	РегистрНакопления.Продажи.Обороты(
|			&ДатаНачала,
|			&ДатаОкончания,
|			Регистратор,
|			Номенклатура В ИЕРАРХИИ (&НОменклатура)
|				И Контрагент В ИЕРАРХИИ (&КОнтрагент)
|				И &ЗапросВидСравненияПодразделение) КАК ПродажиОбороты
|;
|
|////////////////////////////////////////////////////////////­////////////////////
|ВЫБРАТЬ
|	Продажи.Период,
|	Продажи.Регистратор,
|	Продажи.Номенклатура,
|	Продажи.Подразделение,
|	Продажи.Контрагент КАК Контрагент,
|	СУММА(Продажи.Количество) КАК Количество,
|	СУММА(Продажи.Стоимость) КАК Стоимость,
|	СУММА(Продажи.НДС) КАК НДС,
|	Продажи.Контрагент.Наименование КАК КонтрагентНаименование,
|	Продажи.Номенклатура.НоменклатурнаяГруппа.Родитель КАК НоменклатураНоменклатурнаяГруппаРодитель,
|	ВЫБОР
|		КОГДА Продажи.Номенклатура.НоменклатурнаяГруппа.Родитель = &Вид1
|				ИЛИ Продажи.Номенклатура.НоменклатурнаяГруппа.Родитель = &Вид3
|			ТОГДА Продажи.Количество
|		ИНАЧЕ 0
|	КОНЕЦ КАК КоличествоАлкиды,
|	ВЫБОР
|		КОГДА Продажи.Номенклатура.НоменклатурнаяГруппа.Родитель = &Вид1
|				ИЛИ Продажи.Номенклатура.НоменклатурнаяГруппа.Родитель = &Вид3
|			ТОГДА Продажи.Стоимость
|		ИНАЧЕ 0
|	КОНЕЦ КАК СтоимостьАлкиды,
|	ВЫБОР
|		КОГДА Продажи.Номенклатура.НоменклатурнаяГруппа.Родитель = &Вид2
|			ТОГДА Продажи.Количество
|		ИНАЧЕ 0
|	КОНЕЦ КАК КоличествоВД,
|	Продажи.Месяц КАК НачалоМесяца
|ИЗ
|	Продажи КАК Продажи
|
|СГРУППИРОВАТЬ ПО
|	Продажи.Период,
|	Продажи.Регистратор,
|	Продажи.Номенклатура,
|	Продажи.Подразделение,
|	Продажи.Контрагент,
|	Продажи.Номенклатура.НоменклатурнаяГруппа.Родитель,
|	Продажи.Контрагент.Наименование,
|	ВЫБОР
|		КОГДА Продажи.Номенклатура.НоменклатурнаяГруппа.Родитель = &Вид1
|				ИЛИ Продажи.Номенклатура.НоменклатурнаяГруппа.Родитель = &Вид3
|			ТОГДА Продажи.Количество
|		ИНАЧЕ 0
|	КОНЕЦ,
|	ВЫБОР
|		КОГДА Продажи.Номенклатура.НоменклатурнаяГруппа.Родитель = &Вид1
|				ИЛИ Продажи.Номенклатура.НоменклатурнаяГруппа.Родитель = &Вид3
|			ТОГДА Продажи.Стоимость
|		ИНАЧЕ 0
|	КОНЕЦ,
|	ВЫБОР
|		КОГДА Продажи.Номенклатура.НоменклатурнаяГруппа.Родитель = &Вид2
|			ТОГДА Продажи.Количество
|		ИНАЧЕ 0
|	КОНЕЦ,
|	ВЫБОР
|		КОГДА Продажи.Номенклатура.НоменклатурнаяГруппа.Родитель = &Вид2
|			ТОГДА Продажи.Стоимость
|		ИНАЧЕ 0
|	КОНЕЦ,
|	Продажи.Месяц
|
|УПОРЯДОЧИТЬ ПО
|	НачалоМесяца
|ИТОГИ
|	СУММА(Количество),
|	СУММА(Стоимость),
|	СУММА(НДС),
|	СУММА(КоличествоАлкиды),
|	СУММА(СтоимостьАлкиды),
|	СУММА(КоличествоВД)
|ПО
|	Контрагент,
|	НачалоМесяца"
Показать
Оставьте свое сообщение

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