Гость
Форумы / [игнор отключен] [закрыт для гостей] / Остаток на вчерашний день в запросе. / 9 сообщений из 9, страница 1 из 1
06.12.2017, 13:26
    #39565026
LittleLoya
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Остаток на вчерашний день в запросе.
Всем доброго времени суток. Нужно получить таблицу с остатками на каждый день. В дни, когда не было движений получаю NULL. Можно как-то в запросе в этот NULL подсовывать вчерашний остаток? Запрос такой
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
ВЫБРАТЬ
	РегламентированныйПроизводственныйКалендарь.ДатаКалендаря КАК ДатаКалендаря
ПОМЕСТИТЬ Дни
ИЗ
	РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК РегламентированныйПроизводственныйКалендарь
ГДЕ
	РегламентированныйПроизводственныйКалендарь.ДатаКалендаря МЕЖДУ &НачалоПериода И &КонецПериода
	И (РегламентированныйПроизводственныйКалендарь.ВидДня = ЗНАЧЕНИЕ(Перечисление.ВидыДнейПроизводственногоКалендаря.Рабочий)
			ИЛИ РегламентированныйПроизводственныйКалендарь.ВидДня = ЗНАЧЕНИЕ(Перечисление.ВидыДнейПроизводственногоКалендаря.Предпраздничный))
;

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

СГРУППИРОВАТЬ ПО
	ТоварыНаСкладахОстаткиИОбороты.Номенклатура.Производитель,
	ТоварыНаСкладахОстаткиИОбороты.Период,
	Дни.ДатаКалендаря

УПОРЯДОЧИТЬ ПО
	ДатаКалендаря



Заранее всем спасибо.
...
Рейтинг: 0 / 0
06.12.2017, 14:04
    #39565058
ФайерРезист
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Остаток на вчерашний день в запросе.
вяжем таблицу с самой собой ,левым соединением с одной стороны дата+1 день в другой дата, дальше сами развивайте мысль
...
Рейтинг: 0 / 0
06.12.2017, 14:49
    #39565121
ФайерРезист
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Остаток на вчерашний день в запросе.
авторВЫБРАТЬ
РегламентированныйПроизводственныйКалендарь.ДатаКалендаря КАК ДатаКалендаря
ПОМЕСТИТЬ Дни
ИЗ
РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК РегламентированныйПроизводственныйКалендарь
ГДЕ
РегламентированныйПроизводственныйКалендарь.ДатаКалендаря МЕЖДУ &НачалоПериода И &КонецПериода
И (РегламентированныйПроизводственныйКалендарь.ВидДня = ЗНАЧЕНИЕ(Перечисление.ВидыДнейПроизводственногоКалендаря.Рабочий)
ИЛИ РегламентированныйПроизводственныйКалендарь.ВидДня = ЗНАЧЕНИЕ(Перечисление.ВидыДнейПроизводственногоКалендаря.Предпраздничный))
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ТоварыНаСкладахОстаткиИОбороты.Период,
СУММА(ЕСТЬNULL(ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток, ТоварыНаСкладахОстаткиИОбороты1.КоличествоКонечныйОстаток)) КАК Остаток,
Дни.ДатаКалендаря КАК ДатаКалендаря,
ТоварыНаСкладахОстаткиИОбороты.Номенклатура.Производитель
ИЗ
Дни КАК Дни
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, День, , ) КАК ТоварыНаСкладахОстаткиИОбороты
ПО Дни.ДатаКалендаря = ТоварыНаСкладахОстаткиИОбороты.Период
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(, , День, , ) КАК ТоварыНаСкладахОстаткиИОбороты1
ПО (ДОБАВИТЬКДАТЕ(Дни.ДатаКалендаря, ДЕНЬ, -1) = ТоварыНаСкладахОстаткиИОбороты1.Период)

СГРУППИРОВАТЬ ПО
ТоварыНаСкладахОстаткиИОбороты.Номенклатура.Производитель,
ТоварыНаСкладахОстаткиИОбороты.Период,
Дни.ДатаКалендаря

УПОРЯДОЧИТЬ ПО
ДатаКалендаря
...
Рейтинг: 0 / 0
06.12.2017, 14:49
    #39565123
ФайерРезист
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Остаток на вчерашний день в запросе.
только там левое соединение
...
Рейтинг: 0 / 0
06.12.2017, 14:51
    #39565126
ФайерРезист
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Остаток на вчерашний день в запросе.
еще метод дополнения в свойсвах вирутальной таблицы поставьте "ДвиженияИГраницыПериода"
...
Рейтинг: 0 / 0
06.12.2017, 15:03
    #39565145
sWinTyz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Остаток на вчерашний день в запросе.
погуглите группировку "периодами"
...
Рейтинг: 0 / 0
06.12.2017, 15:05
    #39565148
sWinTyz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Остаток на вчерашний день в запросе.
Код: plaintext
1.
СГРУППИРОВАТЬ ПО
ТоварыНаСкладахОстаткиИОбороты.Период,
тут можно думать

Код: plaintext
РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, День, , )
и тут метод дополнения
...
Рейтинг: 0 / 0
06.12.2017, 15:10
    #39565153
sWinTyz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Остаток на вчерашний день в запросе.
Если это отчет на СКД то там немного по другому
...
Рейтинг: 0 / 0
06.12.2017, 15:50
    #39565205
LittleLoya
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Остаток на вчерашний день в запросе.
sWinTyz, нет, это не на СКД, и переписать на СКД у меня вряд ли получится. :(
...
Рейтинг: 0 / 0
Форумы / [игнор отключен] [закрыт для гостей] / Остаток на вчерашний день в запросе. / 9 сообщений из 9, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]