Переключение на Главную Страницу Страницы: [1]  ОтправитьПечать
Очень популярная тема (более 25 ответов) Помогите сделать запрос (число прочтений - 6154 )
barbitura
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 135
Зарегистрирован: 22. Мая 2013
Пол: Мужской
Помогите сделать запрос
12. Декабря 2013 :: 11:49
Печать  
Как сделать запрос по 3 документам:
1. Приказ о приеме (дата приема)
2. Кадровое перемещение (дата начала, может быть и дата окончания)
3. Приказ об увольнении (дата увольнения)

И на выходе получить

Всю информацию в таком вот виде:
Сотрудник|Должность|Начало|Окончание|

Не могу сообразить как вообще начать.  Печаль
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Помогите сделать запрос
Ответ #1 - 12. Декабря 2013 :: 12:17
Печать  
select
  Таб.Сотрудник,
  Таб.ДатаНачала,
  (select min(Табличка.ДатаНачала) From Таб as Табличка where
  табличка.Сортудник+табличка.ДатаНачала>таб.Сотрудник+Таб.ДатаНачала) as ДатаОкончания
from таб

где Таб - это union all из 3-х запросов к документам.
Протом этот запрос еще обернуть в один и вырезать строки с документом об увольнении.
Как-то так.
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Помогите сделать запрос
Ответ #2 - 12. Декабря 2013 :: 12:20
Печать  
Грубо, делаем запрос к 3-м документам через юнион..
имеем табличку вида

1.Сотрудник   Должность  ДатаНачала  ВидДока..

далее делаем тот что выше, имеем

2.Сотрудник   Должность  ДатаНачала  ДатаОончания ВидДока..

где датаОкончания будет = следующему ДатаНачала  из п.1

ну и потом, останется только вырезать строки из п.2 где вид дока = увольнение.. на выходе имеем решение задачи.
  
Наверх
 
IP записан
 
barbitura
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 135
Зарегистрирован: 22. Мая 2013
Пол: Мужской
Re: Помогите сделать запрос
Ответ #3 - 12. Декабря 2013 :: 12:21
Печать  
Спасибо.

Но я не могу все равно допереть.
  
Наверх
 
IP записан
 
barbitura
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 135
Зарегистрирован: 22. Мая 2013
Пол: Мужской
Re: Помогите сделать запрос
Ответ #4 - 12. Декабря 2013 :: 13:11
Печать  
barbitura писал(а) 12. Декабря 2013 :: 12:21:
Спасибо.

Но я не могу все равно допереть.


           ЗП1 = "
           |SELECT
           |      $ПриказОПриеме.Сотрудник                                    [Сотрудник $Справочник.Сотрудники]  
           |      , NullIf($ПриказОПриеме.ДатаПриема, '17530101') ДатаПриема
           |      , $ПриказОПриеме.МестоРаботы                              [МестоРаботы  $Справочник.ШтатноеРасписание]
           |      , Журнал.IDDOCDEF                                                Документ_вид
           |      FROM $Документ.ПриказОПриеме AS ПриказОПриеме
           |            INNER JOIN _1SJOURN AS Журнал ON ПриказОПриеме.IDDOC = Журнал.IDDOC
           |      WHERE ((Журнал.CLOSED & 1) = 1)
           |            AND ($ПриказОПриеме.Сотрудник = :Сотр)";
           
           ЗП2 = "
           |SELECT    
           |
           |      $КадровоеПеремещение.Сотрудник                                          Сотрудник    
           |      , NullIf($КадровоеПеремещение.Начало, '17530101')            Начало
           |      --, NullIf($КадровоеПеремещение.Окончание, '17530101')      Окончание
           |      , $КадровоеПеремещение.НДолжность                                    НДолжность
           |   , Журнал.IDDOCDEF                                                            Документ_вид
           |
           |      FROM $Документ.КадровоеПеремещение AS КадровоеПеремещение
           |            INNER JOIN _1SJOURN AS Журнал ON КадровоеПеремещение.IDDOC = Журнал.IDDOC
           |      WHERE ((Журнал.CLOSED & 1) = 1)
           |            AND ($КадровоеПеремещение.Сотрудник = :Сотр)";
           
           ЗП3 = "        
           |
           |SELECT  
           |
           |      $ПриказОбУвольнении.Сотрудник Сотрудник
           |      , NullIf($ПриказОбУвольнении.ДатаУвольнения, '17530101') ДатаУвольнения
           |      , $ПриказОбУвольнении.ДолжностьШт                                     ДолжностьШт  
           |      , Журнал.IDDOCDEF                                                             Документ_вид
           |
           |      FROM $Документ.ПриказОбУвольнении AS ПриказОбУвольнении
           |            INNER JOIN _1SJOURN AS Журнал ON ПриказОбУвольнении.IDDOC = Журнал.IDDOC
           |      WHERE ((Журнал.CLOSED & 1) = 1)
           |            AND ($ПриказОбУвольнении.Сотрудник = :Сотр)";
     
     ТекстЗапроса = "" + ЗП1 + " UNION  ALL" + ЗП2 + " UNION  ALL" + ЗП3;


     Что делать дашьше?
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Помогите сделать запрос
Ответ #5 - 12. Декабря 2013 :: 13:42
Печать  
у тебя не верный юнион..
это для начала.
Ты в первом запросе получаешь одно, во втором и третьем запросе другое..
  
Наверх
 
IP записан
 
barbitura
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 135
Зарегистрирован: 22. Мая 2013
Пол: Мужской
Re: Помогите сделать запрос
Ответ #6 - 12. Декабря 2013 :: 13:57
Печать  
ЗП1 = "
           |SELECT
           |      $ПриказОПриеме.Сотрудник                                    Сотрудник
           |      , NullIf($ПриказОПриеме.ДатаПриема, '17530101') Нач
           |      , $ПриказОПриеме.МестоРаботы                              МестоРаботы 
           |      , Журнал.IDDOCDEF                                                Документ_вид
           |      FROM $Документ.ПриказОПриеме AS ПриказОПриеме
           |            INNER JOIN _1SJOURN AS Журнал ON ПриказОПриеме.IDDOC = Журнал.IDDOC
           |      WHERE ((Журнал.CLOSED & 1) = 1)
           |            AND ($ПриказОПриеме.Сотрудник = :Сотр)";
           
           ЗП2 = "
           |SELECT   
           |
           |      $КадровоеПеремещение.Сотрудник                                          Сотрудник   
           |      , NullIf($КадровоеПеремещение.Начало, '17530101')            Нач
           |      , $КадровоеПеремещение.НДолжность                                    МестоРаботы
           |   , Журнал.IDDOCDEF                                                            Документ_вид
           |
           |      FROM $Документ.КадровоеПеремещение AS КадровоеПеремещение
           |            INNER JOIN _1SJOURN AS Журнал ON КадровоеПеремещение.IDDOC = Журнал.IDDOC
           |      WHERE ((Журнал.CLOSED & 1) = 1)
           |            AND ($КадровоеПеремещение.Сотрудник = :Сотр)";
           
           ЗП3 = "       
           |SELECT 
           |
           |      $ПриказОбУвольнении.Сотрудник                                           Сотрудник
           |      , NullIf($ПриказОбУвольнении.ДатаУвольнения, '17530101') Нач
           |      , $ПриказОбУвольнении.ДолжностьШт                                     МестоРаботы 
           |      , Журнал.IDDOCDEF                                                             Документ_вид
           |
           |      FROM $Документ.ПриказОбУвольнении AS ПриказОбУвольнении
           |            INNER JOIN _1SJOURN AS Журнал ON ПриказОбУвольнении.IDDOC = Журнал.IDDOC
           |      WHERE ((Журнал.CLOSED & 1) = 1)
           |            AND ($ПриказОбУвольнении.Сотрудник = :Сотр)";
     
     ТекстЗапроса = "" + ЗП1 + " UNION  ALL" + ЗП2 + " UNION  ALL" + ЗП3;
                 
     ЗП = "
     | SELECT      
     |      Таб.Сотрудник [Сотр $Справочник.Сотрудники]
     | , Таб.Нач
     | FROM ( " +            
     ТекстЗапроса +
           
             ") AS Таб ";
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Помогите сделать запрос
Ответ #7 - 12. Декабря 2013 :: 14:18
Печать  
Ты уверен, что МестоРаботы в приказе о приёме имеет тот же тип, что и НДолжность в кадровом перемещении, к примеру ?
Улыбка
  
Наверх
 
IP записан
 
barbitura
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 135
Зарегистрирован: 22. Мая 2013
Пол: Мужской
Re: Помогите сделать запрос
Ответ #8 - 12. Декабря 2013 :: 15:19
Печать  
Eprst писал(а) 12. Декабря 2013 :: 14:18:
Ты уверен, что МестоРаботы в приказе о приёме имеет тот же тип, что и НДолжность в кадровом перемещении, к примеру ?
Улыбка

Ага. тип штатное расписание.
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Помогите сделать запрос
Ответ #9 - 12. Декабря 2013 :: 15:22
Печать  
(0) так могут быть сложные случаи :
сотрудника приняли
сотрудник проработал год
уволился
через полгода сотрудника приняли под той же карточкой.
  
Наверх
 
IP записан
 
barbitura
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 135
Зарегистрирован: 22. Мая 2013
Пол: Мужской
Re: Помогите сделать запрос
Ответ #10 - 12. Декабря 2013 :: 15:26
Печать  
Z1 писал(а) 12. Декабря 2013 :: 15:22:
(0) так могут быть сложные случаи :
сотрудника приняли
сотрудник проработал год
уволился
через полгода сотрудника приняли под той же карточкой.


Так а в чем трудность? Не могу понять?

Выбирать будем актуальные должности.
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Помогите сделать запрос
Ответ #11 - 12. Декабря 2013 :: 15:33
Печать  
Ну тогда вот этот итоговый запрос пихай для получения даты окончания, и потом отрезай документы увольнения.
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Помогите сделать запрос
Ответ #12 - 12. Декабря 2013 :: 15:34
Печать  
barbitura писал(а) 12. Декабря 2013 :: 15:26:
Z1 писал(а) 12. Декабря 2013 :: 15:22:
(0) так могут быть сложные случаи :
сотрудника приняли
сотрудник проработал год
уволился
через полгода сотрудника приняли под той же карточкой.


Так а в чем трудность? Не могу понять?

Выбирать будем актуальные должности.


как бы в том что нужно твою
ЗП = "
     | SELECT      
     |      Таб.Сотрудник [Сотр $Справочник.Сотрудники]
     | , Таб.Нач
     | FROM ( " +            
     ТекстЗапроса +
           
            ") AS Таб ";

отсортировать по Таб.Нач

Таб завершенияДата берется из следущей строки как Таб.нач,
для строки Уволнение поле завершение не заполняется.
вроде все.
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Помогите сделать запрос
Ответ #13 - 12. Декабря 2013 :: 15:40
Печать  
select
Таб.Сотрудник as [Сотрудник as $Справочник.Сотрудники],
Таб.ДатаНачала,
Таб.Должность as [Должность $Справочник.ХзКакойТамУТебяВид],
(select min(Табличка.ДатаНачала) From (сюда свой запрос) as Табличка where
табличка.Сортудник+табличка.ДатаНачала>таб.Сотрудник+Таб.ДатаНачала) as ДатаОкончания
from (сюда свой запрос) as Таб
where Таб.ВидДока <> $ВидДокумента36.ПриказОбУвольнении


ЗЫ: только еще твой запрос нужно упорядочить по сотруднику и дате начала , до того как.
  
Наверх
 
IP записан
 
barbitura
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 135
Зарегистрирован: 22. Мая 2013
Пол: Мужской
Re: Помогите сделать запрос
Ответ #14 - 12. Декабря 2013 :: 15:59
Печать  
Eprst писал(а) 12. Декабря 2013 :: 15:40:
select
Таб.Сотрудник as [Сотрудник as $Справочник.Сотрудники],
Таб.ДатаНачала,
Таб.Должность as [Должность $Справочник.ХзКакойТамУТебяВид],
(select min(Табличка.ДатаНачала) From (сюда свой запрос) as Табличка where
табличка.Сортудник+табличка.ДатаНачала>таб.Сотрудник+Таб.ДатаНачала) as ДатаОкончания
from (сюда свой запрос) as Таб
where Таб.ВидДока <> $ВидДокумента36.ПриказОбУвольнении


ЗЫ: только еще твой запрос нужно упорядочить по сотруднику и дате начала , до того как.


Спасибо, большое!!! Второй раз мне помогаешь!!!

Сейчас возможности нет попробовать.

А завтра мне будет  счасте!!!  Очень довольный
  
Наверх
 
IP записан
 
barbitura
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 135
Зарегистрирован: 22. Мая 2013
Пол: Мужской
Re: Помогите сделать запрос
Ответ #15 - 12. Декабря 2013 :: 16:01
Печать  
[quote author=Eprst link=1386848956/0#13 ала [/quote]

А как это вообще понимать. Даже в голову не лезет?
  
Наверх
 
IP записан
 
barbitura
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 135
Зарегистрирован: 22. Мая 2013
Пол: Мужской
Re: Помогите сделать запрос
Ответ #16 - 13. Декабря 2013 :: 06:54
Печать  
Поправте где ошибка.

Таб.Сотрудник - инвалид колонка

И с сортировкой что то не получатся      

       ЗПР = "
     |
     |SELECT
     |      Таб.Сотрудник as [Сотрудник as $Справочник.Сотрудники]
     |      ,      Таб.Начало
     |      ,      Таб.МестоРаботы as [Должность $Справочник.ШтатноеРасписание]
     |      ,      (SELECT MIN(Табличка.Начало)
     |            FROM (
     |                  SELECT
     |                        $ПриказОПриеме.Сотрудник Сотрудник
     |                        , NullIf($ПриказОПриеме.ДатаПриема, '17530101') Начало
     |                        , $ПриказОПриеме.МестоРаботы МестоРаботы
     |                        , Журнал.IDDOCDEF Документ_вид
     |                  FROM $Документ.ПриказОПриеме AS ПриказОПриеме
     |                        INNER JOIN _1SJOURN AS Журнал ON ПриказОПриеме.IDDOC = Журнал.IDDOC
     |                        WHERE ((Журнал.CLOSED & 1) = 1) AND ($ПриказОПриеме.Сотрудник = :Сотр)
     |-- ---------------------------
     |            UNION
     |                  SELECT $КадровоеПеремещение.Сотрудник
     |                        , NullIf($КадровоеПеремещение.Начало, '17530101')
     |                        , $КадровоеПеремещение.НДолжность
     |                        , Журнал.IDDOCDEF
     |                  FROM $Документ.КадровоеПеремещение AS КадровоеПеремещение
     |                        INNER JOIN _1SJOURN AS Журнал ON КадровоеПеремещение.IDDOC = Журнал.IDDOC
     |                  WHERE ((Журнал.CLOSED & 1) = 1) AND ($КадровоеПеремещение.Сотрудник = :Сотр)
     |-- ----------------------------
     |            UNION
     |                  SELECT $ПриказОбУвольнении.Сотрудник
     |                        , NullIf($ПриказОбУвольнении.ДатаУвольнения, '17530101')
     |                        , $ПриказОбУвольнении.ДолжностьШт
     |                        , Журнал.IDDOCDEF
     |                  FROM $Документ.ПриказОбУвольнении AS ПриказОбУвольнении
     |                        INNER JOIN _1SJOURN AS Журнал ON ПриказОбУвольнении.IDDOC = Журнал.IDDOC
     |                  WHERE ((Журнал.CLOSED & 1) = 1) AND ($ПриказОбУвольнении.Сотрудник = :Сотр)
     |                  --ORDER BY $ПриказОПриеме.Сотрудник
     |-- --------------------------
     |            ) AS Табличка
     |            WHERE Табличка.Сортудник+табличка.Начало > таб.Сотрудник+Таб.Начало) AS ДатаОкончания
     |FROM (
     |      SELECT
     |            $ПриказОПриеме.Сотрудник Сотрудник
     |            , NullIf($ПриказОПриеме.ДатаПриема, '17530101') Начало
     |            , $ПриказОПриеме.МестоРаботы МестоРаботы
     |            , Журнал.IDDOCDEF Документ_вид
     |      FROM $Документ.ПриказОПриеме AS ПриказОПриеме
     |            INNER JOIN _1SJOURN AS Журнал ON ПриказОПриеме.IDDOC = Журнал.IDDOC
     |            WHERE ((Журнал.CLOSED & 1) = 1) AND ($ПриказОПриеме.Сотрудник = :Сотр)
     |-- ---------------------------
     |UNION
     |      SELECT $КадровоеПеремещение.Сотрудник
     |            , NullIf($КадровоеПеремещение.Начало, '17530101')
     |            , $КадровоеПеремещение.НДолжность
     |            , Журнал.IDDOCDEF
     |      FROM $Документ.КадровоеПеремещение AS КадровоеПеремещение
     |            INNER JOIN _1SJOURN AS Журнал ON КадровоеПеремещение.IDDOC = Журнал.IDDOC
     |            WHERE ((Журнал.CLOSED & 1) = 1) AND ($КадровоеПеремещение.Сотрудник = :Сотр)
     |-- ----------------------------
     |UNION
     |      SELECT $ПриказОбУвольнении.Сотрудник
     |            , NullIf($ПриказОбУвольнении.ДатаУвольнения, '17530101')
     |            , $ПриказОбУвольнении.ДолжностьШт
     |            , Журнал.IDDOCDEF
     |      FROM $Документ.ПриказОбУвольнении AS ПриказОбУвольнении
     |            INNER JOIN _1SJOURN AS Журнал ON ПриказОбУвольнении.IDDOC = Журнал.IDDOC
     |            WHERE ((Журнал.CLOSED & 1) = 1) AND ($ПриказОбУвольнении.Сотрудник = :Сотр)
     |--ORDER BY $ПриказОПриеме.Сотрудник
     |-- --------------------------
     |) AS Таб
     |WHERE Таб.Документ_вид <> $ВидДокумента36.ПриказОбУвольнении";
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Помогите сделать запрос
Ответ #17 - 13. Декабря 2013 :: 07:47
Печать  
WHERE Табличка.Сортудник

ну тут ошибка

+ убери табуляторы из текста запроса, не "любит" их метапарсер при некоторых условиях.
  
Наверх
 
IP записан
 
barbitura
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 135
Зарегистрирован: 22. Мая 2013
Пол: Мужской
Re: Помогите сделать запрос
Ответ #18 - 13. Декабря 2013 :: 08:29
Печать  
Eprst писал(а) 13. Декабря 2013 :: 07:47:
WHERE Табличка.Сортудник

ну тут ошибка

+ убери табуляторы из текста запроса, не "любит" их метапарсер при некоторых условиях.


неа не понял где ошибка
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Помогите сделать запрос
Ответ #19 - 13. Декабря 2013 :: 09:26
Печать  
Сотрудник<>Сортудник
  
Наверх
 
IP записан
 
barbitura
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 135
Зарегистрирован: 22. Мая 2013
Пол: Мужской
Re: Помогите сделать запрос
Ответ #20 - 13. Декабря 2013 :: 12:08
Печать  
Eprst писал(а) 13. Декабря 2013 :: 09:26:
Сотрудник<>Сортудник


Дошло (когда 1С зависла), что надо это условие.
Вот только как правильно всунуть не дошло.

ТекстЗапроса = "
     |SELECT Подзапрос.Сотрудник
     |      , NullIf(Подзапрос.Начало, '17530101') Начало
     |      , Подзапрос.МестоРаботы
     |      , Подзапрос.Документ_вид
     |FROM (SELECT $ПриказОПриеме.Сотрудник Сотрудник
     |                  , NullIf($ПриказОПриеме.ДатаПриема, '17530101') Начало
     |                  , $ПриказОПриеме.МестоРаботы МестоРаботы
     |                  , Журнал.IDDOCDEF Документ_вид
     |            FROM $Документ.ПриказОПриеме AS ПриказОПриеме
     |                  INNER JOIN _1SJOURN AS Журнал ON ПриказОПриеме.IDDOC = Журнал.IDDOC
     |            --WHERE ($ПриказОПриеме.Сотрудник = :Сотр)
     |                  AND ((Журнал.CLOSED & 1) = 1)
     |            UNION ALL
     |            SELECT $КадровоеПеремещение.Сотрудник
     |                  , NullIf($КадровоеПеремещение.Начало, '17530101')
     |                  , $КадровоеПеремещение.НДолжность
     |                  , Журнал.IDDOCDEF
     |            FROM $Документ.КадровоеПеремещение AS КадровоеПеремещение
     |                  INNER JOIN _1SJOURN AS Журнал ON КадровоеПеремещение.IDDOC = Журнал.IDDOC
     |            --WHERE ($КадровоеПеремещение.Сотрудник = :Сотр)
     |                  AND ((Журнал.CLOSED & 1) = 1)
     |            UNION ALL
     |            SELECT $ПриказОбУвольнении.Сотрудник
     |                  , NullIf($ПриказОбУвольнении.ДатаУвольнения, '17530101')
     |                  , $ПриказОбУвольнении.ДолжностьШт
     |                  , Журнал.IDDOCDEF
     |            FROM $Документ.ПриказОбУвольнении AS ПриказОбУвольнении
     |                  INNER JOIN _1SJOURN AS Журнал ON ПриказОбУвольнении.IDDOC = Журнал.IDDOC
     |            --WHERE ($ПриказОбУвольнении.Сотрудник = :Сотр)
     |                  AND ((Журнал.CLOSED & 1) = 1)) AS Подзапрос
     |";         
     
ЗП = "
     |      SELECT
     |            Таб.Сотрудник            [Сотрудник $Справочник.Сотрудники]
     |      ,      Таб.Начало                    Начало 
     |      ,      Таб.МестоРаботы            [Должность $Справочник.ШтатноеРасписание]
     |      ,      Таб.Документ_вид        Вид
     |      ,      (SELECT
     |                  MIN (Табличка.Начало)
     |            FROM ( " + ТекстЗапроса + " ) AS Табличка
     |            WHERE (Табличка.Начало > Таб.Начало)) AS Окончание
     |      FROM ( " + ТекстЗапроса + " ) AS Таб
     |      WHERE Таб.Документ_вид <> '546'
     |";
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Помогите сделать запрос
Ответ #21 - 13. Декабря 2013 :: 13:30
Печать  
barbitura писал(а) 12. Декабря 2013 :: 16:01:
[quote author=Eprst link=1386848956/0#13 ала


А как это вообще понимать. Даже в голову не лезет? [/quote]

Чего там понимать ? По связке сотрудник+датаначала ищем следующую запись.. через минимум. усё.
  
Наверх
 
IP записан
 
barbitura
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 135
Зарегистрирован: 22. Мая 2013
Пол: Мужской
Re: Помогите сделать запрос
Ответ #22 - 13. Декабря 2013 :: 13:34
Печать  
А можете вставить в запрос выше. Не могу все равное понять
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Помогите сделать запрос
Ответ #23 - 13. Декабря 2013 :: 13:49
Печать  
я жешь тебе писал, смотри выше + убери табуляцию с текста запроса.
  
Наверх
 
IP записан
 
barbitura
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 135
Зарегистрирован: 22. Мая 2013
Пол: Мужской
Re: Помогите сделать запрос
Ответ #24 - 14. Декабря 2013 :: 17:34
Печать  
Eprst писал(а) 13. Декабря 2013 :: 13:49:
я жешь тебе писал, смотри выше + убери табуляцию с текста запроса.


Eprst
Прошу прошение за беспокойство.
Не могу разобраться. Вставьте в мой запрос пожалуйста.

А еще можете помочь с запросом.

В справочнике МестоРаботы есть периодический реквизит Должность (ссылка на Штатное расписание). Надо выбрать историю этого реквизита с условием на подразделение к примеру.


Разобрался. Только по первому вопросу.
« Последняя редакция: 14. Декабря 2013 :: 18:48 - barbitura »  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Помогите сделать запрос
Ответ #25 - 16. Декабря 2013 :: 08:15
Печать  
Че не работает сейчас то ?
  
Наверх
 
IP записан
 
barbitura
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 135
Зарегистрирован: 22. Мая 2013
Пол: Мужской
Re: Помогите сделать запрос
Ответ #26 - 19. Декабря 2013 :: 12:34
Печать  
Уважаемый Eprst. помогите с запросом.


Надо получить итог в виде Сотр | Должность | Начало | Окончание.
Из картинки выше результат должен быть такой. это первый возможный вариант

Сотр | 1 |01.08.08|01.08.08
Сотр | 2 |02.08.08|04.08.08
Сотр | 3 |05.08.08|17.08.08
Сотр | 4 |18.08.08|  .  . 

Вот еще один вариант

Результат запроса

Сотр | 1 |01.08.08|01.08.08
Сотр | 2 |02.08.08|04.08.08
Сотр | 3 |05.08.08|17.08.08
Сотр | 4 |18.08.08|25.08. 08
Сотр | 2 |26.08.08|  .  . 

В этом варианте продляем основную должность после временных переводов

Заранее спасибо
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: [1] 
ОтправитьПечать