Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 2
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Помогите с запросом , ЗУП 2.1.24.2 1С 8.2.16.365          
alex040269 Подменю пользователя
сообщение 21.09.12, 12:08
Сообщение #1

Крутой
Иконка группы
Группа: Местный
Сообщений: 1626
Из: Гуляйполе
Спасибо сказали: 236 раз
Рейтинг: 0

вот запрос
ВЫБРАТЬ
    2,
    СостояниеРаботниковОрганизацийСрезПоследних.Период,
    СостояниеРаботниковОрганизацийСрезПоследних.Регистратор,
    СостояниеРаботниковОрганизацийСрезПоследних.Организация,
    СостояниеРаботниковОрганизацийСрезПоследних.Сотрудник.Физлицо.КодПоДРФО,
    СостояниеРаботниковОрганизацийСрезПоследних.Сотрудник.Физлицо,
    РаботникиОрганизацийСрезПоследних.ПодразделениеОрганизации,
    РаботникиОрганизацийСрезПоследних.Должность,
    РаботникиОрганизацийСрезПоследних.ГрафикРаботы,
    СостояниеРаботниковОрганизацийСрезПоследних.Состояние,
    NULL,
    СостояниеРаботниковОрганизацийСрезПоследних.Регистратор.Номер,
    РаботникиОрганизаций.Сотрудник.Физлицо,
    СостояниеРаботниковОрганизацийСрезПоследних.НомерСтроки,
    СостояниеРаботниковОрганизацийСрезПоследних.Активность,
    ДОБАВИТЬКДАТЕ(СостояниеРаботниковОрганизацийСрезПоследних.ПериодЗавершения, ДЕНЬ, -1)
ИЗ
    РегистрСведений.СостояниеРаботниковОрганизаций.СрезПоследних(&КонецДня, ) КАК СостояниеРаботниковОрганизацийСрезПоследних
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.РаботникиОрганизаций.СрезПоследних(&КонецДня, ) КАК РаботникиОрганизацийСрезПоследних
            ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.НачальникиПодразделенийОрганизации КАК НачальникиПодразделенийОрганизации
                !!!!   ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.РаботникиОрганизаций КАК РаботникиОрганизаций
                !!!! ПО НачальникиПодразделенийОрганизации.ПодразделениеОрганизации = РаботникиОрганизаций.ПодразделениеОрганизации
                !!!!    И НачальникиПодразделенийОрганизации.ДолжностьОрганизации = РаботникиОрганизаций.Должность
            ПО РаботникиОрганизацийСрезПоследних.ПодразделениеОрганизации = НачальникиПодразделенийОрганизации.ПодразделениеОрганизации
        ПО СостояниеРаботниковОрганизацийСрезПоследних.Сотрудник = РаботникиОрганизацийСрезПоследних.Сотрудник
ГДЕ
    СостояниеРаботниковОрганизацийСрезПоследних.Регистратор В
            (ВЫБРАТЬ
                СписокРегистраторов.Ссылка
            ИЗ
                СписокРегистраторов КАК СписокРегистраторов)



Это только часть запроса.
в регистре НачальникиПодразделенийОрганизации хранятнся должностя начальников соответсвующих подразделений.

ВНУТРЕННЕЕ СОЕДИНЕНИЕ , помеченное !!!! , расширяет запрос до количества записей (сколько раз изменялся начальник),
так как РегистрСведений.РаботникиОрганизаций имеет два измерения Организация и Сотрудник. СрезПоследних ситуацию не спасает.

как бы так изменить соединение , что бы в запрос попадала только последняя запись?





Signature
Никогда не бойся делать то, что не умеешь, помни - Ноев ковчег был построен любителем, профессионалы построили Титаник.
ЗиУП

zay Подменю пользователя
сообщение 21.09.12, 12:54
Сообщение #2

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 164
Из: Киев
Спасибо сказали: 132 раз
Рейтинг: 137.1

Попробуйте так:
ВЫБРАТЬ
    2,
    СостояниеРаботниковОрганизацийСрезПоследних.Период,
    СостояниеРаботниковОрганизацийСрезПоследних.Регистратор,
    СостояниеРаботниковОрганизацийСрезПоследних.Организация,
    СостояниеРаботниковОрганизацийСрезПоследних.Сотрудник.Физлицо.КодПоДРФО,
    СостояниеРаботниковОрганизацийСрезПоследних.Сотрудник.Физлицо,
    РаботникиОрганизацийСрезПоследних.ПодразделениеОрганизации,
    РаботникиОрганизацийСрезПоследних.Должность,
    РаботникиОрганизацийСрезПоследних.ГрафикРаботы,
    СостояниеРаботниковОрганизацийСрезПоследних.Состояние,
    NULL,
    СостояниеРаботниковОрганизацийСрезПоследних.Регистратор.Номер,
    РаботникиОрганизаций.Сотрудник.Физлицо,
    СостояниеРаботниковОрганизацийСрезПоследних.НомерСтроки,
    СостояниеРаботниковОрганизацийСрезПоследних.Активность,
    ДОБАВИТЬКДАТЕ(СостояниеРаботниковОрганизацийСрезПоследних.ПериодЗавершения, ДЕНЬ, -1)
ИЗ
    РегистрСведений.СостояниеРаботниковОрганизаций.СрезПоследних(&КонецДня, ) КАК СостояниеРаботниковОрганизацийСрезПоследних
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.РаботникиОрганизаций.СрезПоследних(&КонецДня, ) КАК РаботникиОрганизацийСрезПоследних
            ВНУТРЕННЕЕ СОЕДИНЕНИЕ
//----------------------------------------------------------------------------------------
                (ВЫБРАТЬ
                    Начальники.ПодразделениеОрганизации КАК ПодразделениеОрганизации,
                    Начальники.Должность КАК Должность
                ИЗ
                    РегистрСведений.НачальникиПодразделенийОрганизации КАК НачальникиПодразделенийОрганизации
                СГРУППИРОВАТЬ ПО
                    Начальники.ПодразделениеОрганизации
                    Начальники.Должность) КАК НачальникиПодразделенийОрганизации
//----------------------------------------------------------------------------------------
                !!!!   ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.РаботникиОрганизаций КАК РаботникиОрганизаций
                !!!! ПО НачальникиПодразделенийОрганизации.ПодразделениеОрганизации = РаботникиОрганизаций.ПодразделениеОрганизации
                !!!!    И НачальникиПодразделенийОрганизации.ДолжностьОрганизации = РаботникиОрганизаций.Должность
            ПО РаботникиОрганизацийСрезПоследних.ПодразделениеОрганизации = НачальникиПодразделенийОрганизации.ПодразделениеОрганизации
        ПО СостояниеРаботниковОрганизацийСрезПоследних.Сотрудник = РаботникиОрганизацийСрезПоследних.Сотрудник
ГДЕ
    СостояниеРаботниковОрганизацийСрезПоследних.Регистратор В
            (ВЫБРАТЬ
                СписокРегистраторов.Ссылка
            ИЗ
                СписокРегистраторов КАК СписокРегистраторов)


Понял что неправильно написал.

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

Спасибо сказали: alex040269, Batchir,

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 25.04.24, 1:33
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!