Имя: Пароль:
1C
1С v8
в СКД передать параметр для срезапоследних
0 Bigbro
 
08.04.16
10:48
Прошу помощи, уважаемые гуру.

Книга знаний: Срез последних на каждую дату в запросе
прочел, но то ли совсем не понял, то ли что.
не выходит результат.

есть 2 запроса, есть связи наборов данных, как там написано.
вот второй:

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

вот первый:

ВЫБРАТЬ
    ЗарплатаКВыплатеОрганизацийЗарплата.Ссылка.Номер,
    ЗарплатаКВыплатеОрганизацийЗарплата.Ссылка.Дата,
    ЗарплатаКВыплатеОрганизацийЗарплата.Физлицо,
    ЗарплатаКВыплатеОрганизацийЗарплата.Сумма,
    ЗарплатаКВыплатеОрганизацийЗарплата.Ссылка.ХарактерВыплаты
ИЗ
    Документ.ЗарплатаКВыплатеОрганизаций.Зарплата КАК ЗарплатаКВыплатеОрганизацийЗарплата

хочется увидеть на дату из документа выплаты через срез последних подразделение сотрудника, ну и дату увольнения если уволен.
получаю в подразделении пусто, практически везде кроме тех кто в дату документа выплаты перемещался.
то есть как будто среза последних и нет.
что я делаю не так?
1 Defender aka LINN
 
08.04.16
10:49
(0) "есть связи наборов данных, как там написано"
Там не так написано
2 patria0muerte
 
08.04.16
10:51
Аще передача данного параметра (даты) через связи наборов данных вроде не особо быстрая штука.
Че тебе мешает в одном запросе подразделение и дату получить?
3 patria0muerte
 
08.04.16
10:52
Т.е. делаешь обычный Срез последних на каждую дату во временной таблице и потом джойнишь ее к своей "ЗарплатаКВыплате"
4 Bigbro
 
08.04.16
10:53
(1) я про второй рассмотренный там случай, про СКД.
(2) мешает непонимание как сделать срез последних на разные даты. у меня же не один документ выплаты..
5 patria0muerte
 
08.04.16
10:59
Чет типа того у тебя будет:

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

СГРУППИРОВАТЬ ПО
    ЗарплатаКВыплатеОрганизацийЗарплата.Физлицо
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    Работники.Подразделение,
    Работники.Должность,
    ВТ.Физлицо
ИЗ
    ВТ КАК ВТ
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.Работники КАК Работники
        ПО ВТ.Период = Работники.Период
            И ВТ.Физлицо = Работники.ФизЛицо
6 patria0muerte
 
08.04.16
11:00
А если через связи наборов данных СКД - то надо бы тебе показать скриншотом -  че ты там в настройках соединения указал.
7 Bigbro
 
08.04.16
12:05
Спасибо, получилось похоже то что надо!
8 Defender aka LINN
 
08.04.16
12:13
(4) Я тоже