powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / [игнор отключен] [закрыт для гостей] / Срез последних на каждый день. КАК передать день календаря в параметр?
8 сообщений из 8, страница 1 из 1
Срез последних на каждый день. КАК передать день календаря в параметр?
    #36429854
Фотография Angelein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте, уважаемые! :) Помогите, пожалуйста, разобраться...
Понимаю, что тема избитая, всё перерыла и перепробовала, но нигде так и не смогла найти прямого ответа на этот простой вопрос... КАК в одном запросе связать даты календаря и срез последних на дату?

Вот один запрос из интернета:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
ВЫБРАТЬ
    &Дата КАК Дата,
    КурсыВалютСрезПоследних.Валюта КАК Валюта,
    КурсыВалютСрезПоследних.Курс КАК Курс
{ВЫБРАТЬ
    Дата,
    Валюта,
    Курс}
ИЗ
    РегистрСведений.КурсыВалют.СрезПоследних(&Дата, Валюта = &Валюта) КАК КурсыВалютСрезПоследних
{ГДЕ
    КурсыВалютСрезПоследних.Курс}

Вот второй - тоже из интернета, но даты не из документа, а из календаря (хочу связать календарь с регистром сведений)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
ВЫБРАТЬ
	КурсыВалютСрезПоследних.Валюта,
	КурсыВалютСрезПоследних.Период,
	КурсыВалютСрезПоследних.Курс,
	РегламентированныйПроизводственныйКалендарь.ДатаКалендаря КАК Дата
	ИЗ
	РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК РегламентированныйПроизводственныйКалендарь,
	РегистрСведений.КурсыВалют.СрезПоследних(&Дата, ) КАК КурсыВалютСрезПоследних
ГДЕ
	КурсыВалютСрезПоследних.Валюта = &Валюта

ЦЕЛЬ: получить Срез последних по курсам валют на КАЖДУЮ дату календаря (курсы валют загружали редко, поэтому надо считать, что до новой даты установки курса - старый курс)

ВОПРОС: Как это сделать?

Всем заранее спасибо за помощь! :)
...
Рейтинг: 0 / 0
Срез последних на каждый день. КАК передать день календаря в параметр?
    #36429961
Программист 1с
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дополнение - "день" пробовали?

Альтернатива в запрос подавай заполненную тз с нужным вам периодом календаря.
...
Рейтинг: 0 / 0
Срез последних на каждый день. КАК передать день календаря в параметр?
    #36430022
Фотография Angelein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Программист 1сАльтернатива в запрос подавай заполненную тз с нужным вам периодом календаря.
Спасибо за ответ! :)
Расскажите, пожалуйста, поподробнее про то, как подать в запрос заполненную ТЗ с нужными периодами календаря?

ВЫБРАТЬ
ТЗ.ДатаКалендаря КАК &Дата , - вот что-то типа такого? Бывает?
КурсыВалютСрезПоследних.Валюта КАК Валюта,
КурсыВалютСрезПоследних.Курс КАК Курс
ИЗ
РегистрСведений.КурсыВалют.СрезПоследних (&Дата , Валюта = &Валюта) КАК КурсыВалютСрезПоследних - и тут дальше что надо написать?
...
Рейтинг: 0 / 0
Срез последних на каждый день. КАК передать день календаря в параметр?
    #36430538
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не слушайте никого ... и меня тоже ...
первый запрос мне нравиться
дальше если следовать этой логике цикл по дате, курсоры и объединения

вот только зачем - не понятно ... все ведь есть в РегистрСведений.КурсыВалют ...
я что то путаюсь ... зачем тогда срез последних?
как то вы не так задачу решаете ... смотрится странно
...
Рейтинг: 0 / 0
Срез последних на каждый день. КАК передать день календаря в параметр?
    #36432102
Принцип приблизительно такой:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
ВЫБРАТЬ
	ХозрасчетныйОстаткиИОбороты.Период КАК Период,
	КурсыВалют.Курс,
	КурсыВалют.Кратность
ИЗ
	РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&ДатаНач, &ДатаКон, День, ДвиженияИГраницыПериода, , , ) КАК ХозрасчетныйОстаткиИОбороты
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют КАК КурсыВалют
		ПО (КурсыВалют.Период В
				(ВЫБРАТЬ ПЕРВЫЕ  1 
					КурсыВалют.Период КАК Период
				ИЗ
					РегистрСведений.КурсыВалют КАК КурсыВалют
				ГДЕ
					КурсыВалют.Период <= ХозрасчетныйОстаткиИОбороты.Период
					И КурсыВалют.Валюта = &Валюта
				УПОРЯДОЧИТЬ ПО
					Период УБЫВ))
ГДЕ
	КурсыВалют.Валюта = &Валюта
ИТОГИ ПО
	Период ПЕРИОДАМИ(ДЕНЬ, , )
Обратите внимание на конструкцию "ВНУТРЕННЕЕ СОЕДИНЕНИЕ"
...
Рейтинг: 0 / 0
Срез последних на каждый день. КАК передать день календаря в параметр?
    #36432112
Программист 1с
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Олдскул одинэсник
ИТОГИ ПО
Период ПЕРИОДАМИ(ДЕНЬ, , )[/src]Спасибо. Вспоминал эту строчку - но так и не вспомнил.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Срез последних на каждый день. КАК передать день календаря в параметр?
    #38897491
DmKV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Программист 1с,
5 лет кануло в лету, а до сих пор весело!
...
Рейтинг: 0 / 0
Срез последних на каждый день. КАК передать день календаря в параметр?
    #38897924
Программист 1с
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DmKVПрограммист 1с,
5 лет кануло в лету, а до сих пор весело!Завтра проснешься а детям уже за 20 лет и ожидаются внуки...

Веселее бывает когда ищешь ответ... и находишь СВОЮ статью...
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / [игнор отключен] [закрыт для гостей] / Срез последних на каждый день. КАК передать день календаря в параметр?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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