Имя: Пароль:
1C
 
Выбор среза последних валюты на разные даты в списке документов
0 Syroega
 
26.03.26
04:08
Каким образом можно в списке документов добавить динамически колонку во второй валюте. По нажатию по кнопке. Где сумма
в во второй валюте будет пересчитана для каждого документа.
Валюта хранится в регистре сведений с периодичностью день.
Там же хранится курс валюты необходимый для пересчета.
Как такое можно представить в запросе?
1 Syroega
 
26.03.26
04:09
(0+) В списке документов присутствуют суммы по документам
в рублях по различным датам.
2 ЭТРН
 
26.03.26
05:03
(2) Классическое тестовое задание для программиста при приеме на работу. Написать отчет со срезом по разным датам.
3 Syroega
 
26.03.26
05:41
(2) Можно в теории, как продвинуться в его выполнении?
4 ЭТРН
 
26.03.26
06:42
Последовательность

1. Выборка по таблице формирующей информацию о небходимых датах и измерениях
2. Выборка по регистру сведений
3  Левое соединение с ограничением по дате  не большей даты из таблицы 1
4. Группировка  дата макс.
5.
6.
5 Маленький Вопросик
 
26.03.26
07:03
Например, вложенным запросом с корректным соединением по дате
6 Eiffil123
 
26.03.26
08:51
(0) это надо делать в обработчике "ПриПолученииДанныхНаСервере", как описано в этой статье:
https://wonderland.v8.1c.ru/blog/obrabotka-i-oformlenie-dannykh-dinamicheskogo-spiska/
7 RVN
 
26.03.26
10:15
как вариант:
1. Обеспечить в регистр курсов валют запись курса и кратности валюты каждый день (даже если он не изменился)
2. Тогда в списке будет просто левое соединение основной таблицы документа и основной таблицы регистра курсов (не среза последних) по дате и валюте. Ну и расчет суммы в валюте.
8 arsik
 
гуру
26.03.26
10:20
(4) Еще через СКД соединением с таблицей среза курсов можно.
Но
1) Для динамических списков не сработает.
2) Он на каждый документ срез делает - не оптимально, если нужно много выбирать.
9 RVN
 
26.03.26
10:27
Вы звери, господа! (с)
Зачем такие сложности?
10 Fragster
 
гуру
26.03.26
10:29
можно сделать так, чтобы в РС с курсами курс был на каждую дату (даже если его в ЦБ нет - просто дублировать с предыдущей даты). и тогда обычное левое соединение прокатит.
11 Eiffil123
 
26.03.26
13:54
(10) кошмар какой. зачем?
12 arsik
 
гуру
26.03.26
13:56
(11) Что бы в динсписке сразу получать
13 RVN
 
26.03.26
17:27
(11) потому, что это банально быстрее отработает, чем предложенный вами вариант.
14 ДенисСмирнов
 
26.03.26
18:07
(13) удобно преподу валить будет

сделал первый вариант - плохо, медленно
сделал второй вариант - плохо, избыточно
Независимо от того, куда вы едете — это в гору и против ветра!