Имя: Пароль:
1C
1С v8
Помогите разобраться с частью запроса
,
0 IBTM
 
01.04.14
10:47
Мне не понятна участвующая временая таблица "ТаблицаДвижений", а именно использование её в условии. Она нигде больше не описывается. Тогда что там может сравниваться? Интересует просто принцып её присутствия. Извеняюсь, я не силен в запросах, спасибо.

    
"ВЫБРАТЬ РАЗРЕШЕННЫЕ
    |    ДатыПоследнихДвижений.Дата КАК ДатаСведений,
    |    ДатыПоследнихДвижений.Сотрудник КАК ИсходныйСотрудник,
    |    ВЫБОР
    |        КОГДА Работающие.Сотрудник ЕСТЬ НЕ NULL
    |            ТОГДА ВЫБОР
    |                    КОГДА Работающие.ПериодЗавершения <= ДатыПоследнихДвижений.Дата
    |                            И Работающие.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
    |                        ТОГДА Работающие.ОбособленноеПодразделениеЗавершения
    |                    ИНАЧЕ Работающие.ОбособленноеПодразделение
    |                КОНЕЦ
    |        ИНАЧЕ ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка)
    |    КОНЕЦ КАК ОбособленноеПодразделение,
    |    ВЫБОР
    |        КОГДА Работающие.Сотрудник ЕСТЬ НЕ NULL
    |            ТОГДА ВЫБОР
    |                    КОГДА Работающие.ПериодЗавершения <= ДатыПоследнихДвижений.Дата
    |                            И Работающие.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
    |                        ТОГДА Работающие.ПодразделениеОрганизацииЗавершения
    |                    ИНАЧЕ Работающие.ПодразделениеОрганизации
    |                КОНЕЦ
    |        ИНАЧЕ ЗНАЧЕНИЕ(Справочник.ПодразделенияОрганизаций.ПустаяСсылка)
    |    КОНЕЦ КАК Подразделение,
    |    ВЫБОР
    |        КОГДА Работающие.Сотрудник ЕСТЬ НЕ NULL
    |            ТОГДА ВЫБОР
    |                    КОГДА Работающие.ПериодЗавершения <= ДатыПоследнихДвижений.Дата
    |                            И Работающие.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
    |                        ТОГДА Работающие.ДолжностьЗавершения.КатегорияПерсоналаСоциальнойСферыИНауки
    |                    ИНАЧЕ Работающие.Должность.КатегорияПерсоналаСоциальнойСферыИНауки
    |                КОНЕЦ
    |        ИНАЧЕ ЗНАЧЕНИЕ(Справочник.КатегорииПерсоналаФедеральногСтатистическогоНаблюдения.ПустаяСсылка)
    |    КОНЕЦ КАК КатегорияПерсонала,
    |    ВЫБОР
    |        КОГДА Работающие.Сотрудник ЕСТЬ НЕ NULL
    |            ТОГДА Работающие.Сотрудник.ВидЗанятости
    |        ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ВидыЗанятостиВОрганизации.ПустаяСсылка)
    |    КОНЕЦ КАК ВидЗанятости,
    |    ВЫБОР
    |        КОГДА Работающие.Сотрудник ЕСТЬ НЕ NULL
    |            ТОГДА Работающие.Сотрудник
    |        ИНАЧЕ ЗНАЧЕНИЕ(Справочник.СотрудникиОрганизаций.ПустаяСсылка)
    |    КОНЕЦ КАК Сотрудник
    |ПОМЕСТИТЬ ВТСведенияОРаботающих
    |ИЗ
    |    (ВЫБРАТЬ
    |        МАКСИМУМ(РаботникиОрганизаций.Период) КАК Период,
    |        ТаблицаДвижений.ДатаСведений КАК Дата,
    |        ТаблицаДвижений.Физлицо КАК ФизЛицо,
    |        ТаблицаДвижений.Сотрудник КАК Сотрудник
    |    ИЗ
    |        ВТСотрудники КАК ТаблицаДвижений
    |            ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РаботникиОрганизаций КАК РаботникиОрганизаций
    |            ПО ТаблицаДвижений.ДатаСведений >= РаботникиОрганизаций.Период
    |                И ТаблицаДвижений.Физлицо = РаботникиОрганизаций.Сотрудник.Физлицо
    |                И (РаботникиОрганизаций.Сотрудник.ВидЗанятости <> ЗНАЧЕНИЕ(Перечисление.ВидыЗанятостиВОрганизации.ВнутреннееСовместительство))
    |                И (РаботникиОрганизаций.Организация = &Организация)
1 IBTM
 
01.04.14
10:48
вернее использование не в условии, а в связи...
2 ale-sarin
 
01.04.14
10:50
Этого не заметил?

ИЗ
  |        ВТСотрудники КАК ТаблицаДвижений


Или я не понял?
3 fvadim
 
01.04.14
10:50
ВТСотрудники КАК ТаблицаДвижений
а что в ВТСотрудники?
4 ИсчадиеADO
 
01.04.14
10:51
в запрос, видимо,  передается менеджер временных таблиц, от  туда берется ВТ ВТСотрудники которой присваивается имя ТаблицаДвижений
5 ИсчадиеADO
 
01.04.14
10:52
а может выше описывается
6 salvator
 
01.04.14
10:52
Во временной таблице формируются поля через ВЫБОР... которые потом участвуют в соединении. Так нагляднее просто.
7 IBTM
 
01.04.14
10:54
Всё мужики, я понял, спасибо за оперативность!
(2) действительно не заметил...
8 IBTM
 
01.04.14
11:04
а возможно выставить значения полей этой таблицы, для отладки?
ну например если там всего одна запись.
9 IBTM
 
01.04.14
11:06
(8) или это просто, что указать значения в условии связи что-ли?
10 fvadim
 
01.04.14
11:08
Попробуй заменить запросом

ВЫБРАТЬ "ыыыы", "ыыыы2"
ПОМЕСТИТЬ ВТСотрудники
11 fvadim
 
01.04.14
11:09
Одна запись будет.
Ещё нужно алиасы к колонкам пририсовать
12 IBTM
 
01.04.14
11:15
(10) стесняюсь спросить), что именно заменить?
13 fvadim
 
01.04.14
11:20
(12) То место где заполняется ВТСотрудники. Закомментировать один запрос, вставить другой.
14 IBTM
 
01.04.14
11:24
(13) а ну понятно, она просто заполняется вообще в другом запросе. Спасибо, буда дальше разбираться.