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

Хранилище

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

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



> Запрос в ЗУП 2.1.26.2          
alex040269 Подменю пользователя
сообщение 17.01.13, 14:49
Сообщение #1

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

Есть кусок запроса:

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



для документа КадровоеПеремещениеОрганизаций запрос возвращает две строки
Цитата
Дата1 , Документ, организация и т.д.
Дата2 , Документ, организация и т.д.


Дата1 и Дапт2 соответствуют ДатаС и ДатаПо+1 в табличной части документа, т.е. видно куда и с каким новым графиком работы перемещается сотрудник.

Как в итоговой таблице отобразить еще одну запись предшествующую периоду Дата1, что бы увидеть откуда происходит перемещение, т.е. аналог СрезПоследних, только проблема в том, что Дата1 разные для каждого сотрудника.

Спасибо.


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

pablo Подменю пользователя
сообщение 17.01.13, 15:00
Сообщение #2

Старейшина
********
Группа: Команда (модераторы)
Сообщений: 1116
Из: Одесса-Луганск
Спасибо сказали: 193 раз
Рейтинг: 0

Здесь не видно, как в запрос попадают Дата1 и Дата2, соответственно новый запрос написать сложно.
А вообще, используя пакетные запросы и вычитание дат можно получить данные на предыдущую дату.

З.Ы. навскидку:

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


Signature
Правильно поставленный вопрос содержит до 90% ответа.

alex040269 Подменю пользователя
сообщение 17.01.13, 15:38
Сообщение #3

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

Цитата(pablo @ 17.01.13, 15:00) *
Здесь не видно, как в запрос попадают Дата1 и Дата2

каждый документ КадровоеПеремещениеОрганизаций делает две записи в РегистрСведений.РаботникиОрганизаций Реквизит Период = ДатаС и ДатаПо

отсюда и две записи в результате запроса
ДатаС, ......
ДатаПо, ......


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

pablo Подменю пользователя
сообщение 17.01.13, 15:54
Сообщение #4

Старейшина
********
Группа: Команда (модераторы)
Сообщений: 1116
Из: Одесса-Луганск
Спасибо сказали: 193 раз
Рейтинг: 0

Каждый шаг - отдельный запрос в общем пакетном запросе:
1. Выбираем из регистра записи по регистратору и в результат помещаем дату1 и сотрудника (чтобы отсечь дата2 используем минимум)
2. Из полученной в шаге 1 таблицы делаем такую же, только из дата1 вычитаем 1 день (минута etc) при помощи функции ДобавитьКДате
3. Выбираем из регистра данные со связью по полю сотрудник и дата1 (в условии связи используем меньше) и группируем для нахождения максимальной даты.

Сообщение отредактировал pablo - 17.01.13, 15:56


Signature
Правильно поставленный вопрос содержит до 90% ответа.

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


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

 

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