Имя: Пароль:
1C
1С v8
СКД: получить последний документ
,
0 DCKiller
 
24.02.15
08:32
Проблема следующая: есть запрос СКД, который берет данные из регистра бухгалтерии. В отчете м.б. 2 группировки, настраиваемые пользователем: номенклатура и склад. Сейчас последний документ получаем с помощью функции МАКСИМУМ. Если пользователь выбирает обе группировки, то все в порядке. Но стоит убрать группировку по складу, как в результат выходит неправильный документ (не последний, а тот, который последним редактировался по данной номенклатуре). Понятно, что для получения последнего документа МАКСИМУМ в СКД не подходит. Какие еще есть способы?
1 ИС-2
 
naïve
24.02.15
08:36
самый надежный - поместить результат во ВТ и делать соединение по дате
2 DCKiller
 
24.02.15
08:39
(1) Пробовал, не канает.
Вся проблема - в том, что каждый раз м.б. разные группировки.
3 Defender aka LINN
 
24.02.15
08:49
(0) Срез последних по документам сделать самому
4 DCKiller
 
24.02.15
08:59
(3) какой срез последних в регистре бухгалтерии?
5 ИС-2
 
naïve
24.02.15
08:59
(2) думаю, что проблема в том что скд переделывает запрос.
Посмотри какой запрос получается через zaprosnik.skd
6 DmitriyDI
 
24.02.15
09:01
(0) как вариант можно запрос выгружать в тз и потом передавать в скд, но это крайнийвариант
7 DCKiller
 
24.02.15
09:38
(5) Да, переделывает. Это и так понятно, что при изменении группировок исходный запрос будет отличаться от результирующего.

Проблема в том, что там при соединении ВТ используется также соединение и по складу. Даже в том случае, если по складу группировки нет. Можно как-то указать СКД, чтобы она не делала соединения по той группировке, которая в отчет пользователем выводиться не будет?
8 DCKiller
 
24.02.15
09:43
+(7) Хотя... это ни на что не влияет.
9 banco
 
24.02.15
10:07
(7) попробуй в полях набора данных, где роль, поставить обязательное
10 PePaRiTB
 
24.02.15
10:12
(0) Какая методика определения последнего документа?
Если по дате, то их может быть много, например, 23:59:59 довольно излюбленное время.
Значит необходимо указывать как можно больше измерений.
А Вам, скорее всего, надо сделать срез последних по дате из которых выбрать наибольший номер. (7) Используй запрос с необязательными полями (фигурные скобки). Будет, что-то вроде такого:
{Склад} или {Склад.*}
11 DCKiller
 
24.02.15
10:19
(10) С необязательными полями хорошая была идея. Увы, не сработала :(
12 DCKiller
 
24.02.15
10:22
(9) Тогда выводит вообще все доки.
13 ИС-2
 
naïve
24.02.15
10:57
когда была подобная проблема выносил все в ВТ и переименовывал поля, чтобы СКД не знало что это поле склад
14 DCKiller
 
24.02.15
11:22
(13) И? что это даст?
15 DCKiller
 
24.02.15
12:42
ап
16 DCKiller
 
24.02.15
13:17
что, ни у кого никаких идей больше нет?