как обратиться к регистру сведений в Документе

1. G_115809190287597778860 09.02.23 12:36 Сейчас в теме
У меня есть регистр сведений "Курсы валют", Измерение: Валюта(Ссылка на справочник Валюты) Ресурсы:Курс(Число) и Номинал(Число), мне нужно обратиться к этим данным в Документе "Расходная наклодная". При выборе валюты нужно чтобы все значения в пересчитывались в это документе. Очень долго не могу решить проблему, помогите пожалуйста
Прикрепленные файлы:
По теме из базы знаний
Найденные решения
30. DBV 09.02.23 13:29 Сейчас в теме
(28) так я же спрашивал про период

в регистре у Вас записи этого года, документ 2022 года

Поэтому функция ноль возвращает
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
14. DBV 09.02.23 13:02 Сейчас в теме
(1) в теории вроде должно работать

Что говорит отладка? какая ошибка?
15. G_115809190287597778860 09.02.23 13:03 Сейчас в теме
(14)ничего, просто выводит ноль
17. DBV 09.02.23 13:05 Сейчас в теме
(15) в регистре есть записи?

и опять же, используйте отладку для вычисления выражений
2. Zevzm 09.02.23 12:47 Сейчас в теме
3. G_115809190287597778860 09.02.23 12:50 Сейчас в теме
(2)а попытался сделать запрос, но я в них плохо разбераюсь и поэтому не получилось
5. Zevzm 09.02.23 12:51 Сейчас в теме
(3) Повод разобраться. В конструкторе срез последних на дату с отбором по валюте.
4. G_115809190287597778860 09.02.23 12:50 Сейчас в теме
а можно как-то без запроса это сделать?
6. G_115809190287597778860 09.02.23 12:54 Сейчас в теме
вот так?
Прикрепленные файлы:
7. Zevzm 09.02.23 12:55 Сейчас в теме
(6)Так:

Запрос = Новый Запрос;
	Запрос.Текст = 
		"ВЫБРАТЬ
		|	КурсыВалютСрезПоследних.Курс,
		|	КурсыВалютСрезПоследних.Кратность
		|ИЗ
		|	РегистрСведений.КурсыВалют.СрезПоследних(&НаДату, Валюта = &Валюта) КАК КурсыВалютСрезПоследних";
	
	Запрос.УстановитьПараметр("Валюта", Валюта);
	Запрос.УстановитьПараметр("НаДату", НаДату);
	
	ВыборкаДетальныеЗаписи = Запрос.Выполнить().Выбрать();
	
	ВыборкаДетальныеЗаписи.Следующий();	   
	
	Курс = ВыборкаДетальныеЗаписи.Курс; 
	Кратность = ВыборкаДетальныеЗаписи.Кратность;
Показать
10. Zevzm 09.02.23 12:57 Сейчас в теме
(6) В функцию передавай Дату и валюту. Выполняй &НаСервереБезКонтекста
8. пользователь 09.02.23 12:56
Сообщение было скрыто модератором.
...
9. G_115809190287597778860 09.02.23 12:56 Сейчас в теме
(8)а что такое Кратность?
11. пользователь 09.02.23 12:59
Сообщение было скрыто модератором.
...
12. DBV 09.02.23 13:01 Сейчас в теме
(11) а при чем тут возвращаемое значение?
13. пользователь 09.02.23 13:02
Сообщение было скрыто модератором.
...
16. DBV 09.02.23 13:04 Сейчас в теме
(13) ну структура, он там в функции из структуры возвращает значение. Не вижу ошибки
Ткните, где там неправильно
18. пользователь 09.02.23 13:05
Сообщение было скрыто модератором.
...
19. DBV 09.02.23 13:05 Сейчас в теме
20. Zevzm 09.02.23 13:06 Сейчас в теме
(18) Да еще и контекст тащить ради даты...
21. DBV 09.02.23 13:07 Сейчас в теме
(18) код то должен работать, а то что он не оптимальный - это другой вопрос
22. Zevzm 09.02.23 13:08 Сейчас в теме
(21) Ну так он и будет продолжать так делать, если его сразу не пнуть. Он же не из клюшек пришел, у него все с чистого листа.
23. DBV 09.02.23 13:11 Сейчас в теме
(22) зачем же сразу пинать =( не гуманно это
24. G_115809190287597778860 09.02.23 13:17 Сейчас в теме
(23)когда я выбираю валюту он мне выводит ноль с этим кодом
Прикрепленные файлы:
25. DBV 09.02.23 13:20 Сейчас в теме
(24) и опять же, в регистре есть записи с этой валютой и периодом меньшим чем дата документа?
26. G_115809190287597778860 09.02.23 13:21 Сейчас в теме
(25) да, у меня период стоит " в пределах секунды", и записи тоже есть
27. DBV 09.02.23 13:27 Сейчас в теме
(26) точно у них период меньше даты документа?

скрин приложите
28. G_115809190287597778860 09.02.23 13:27 Сейчас в теме
(27)
Прикрепленные файлы:
30. DBV 09.02.23 13:29 Сейчас в теме
(28) так я же спрашивал про период

в регистре у Вас записи этого года, документ 2022 года

Поэтому функция ноль возвращает
31. G_115809190287597778860 09.02.23 13:30 Сейчас в теме
(30)все я понял, большое спасибо, а как можно сделать чтобы курс выводился вне зависимости от даты документа?
32. DBV 09.02.23 13:32 Сейчас в теме
(31) можно дату не передавать, тогда функция получит самую последнюю запись по отборам

а вообще рабочей базе обычно отталкиваются от даты документа
33. G_115809190287597778860 09.02.23 13:34 Сейчас в теме
(32) А как можно не передавать дату, нужно не использовать "ПолучитьПоследнее" ?
34. DBV 09.02.23 13:36 Сейчас в теме
(33) ПолучитьПоследнее(, ВашОтбор)
35. G_115809190287597778860 09.02.23 13:37 Сейчас в теме
(34)понял, большое вам спасибо
29. G_115809190287597778860 09.02.23 13:29 Сейчас в теме
(27)а, все я понял, исправилось когда дату документа поменял
Оставьте свое сообщение

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