8.х Отчет "Отпуска организации" УПП

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем kosalex, 28 июл 2014.

  1. TopicStarter Overlay
    kosalex
    Offline

    kosalex Опытный в 1С

    Регистрация:
    6 июн 2013
    Сообщения:
    127
    Симпатии:
    1
    Баллы:
    29
    Колонки отчета:

    ФИО|Отдел|Должность|Вид отпуска|Начала отпуска|Окончание отпуска|Период отпуска|Основание для предоставление отпуска|№ приказа|Дата приказа|Кол-во дней

    Помогите с запросом для этого отчета. Пишу так, не получается получить желаемое...
    Нужно чтобы в отчете отображалось подразделение и должность на момент отпуска.

    Код:
    ВЫБРАТЬ
        ОтпускаОрганизацийРаботникиОрганизации.ВидОтпуска,
        ОтпускаОрганизацийРаботникиОрганизации.ДатаНачала,
        ОтпускаОрганизацийРаботникиОрганизации.ДатаОкончания,
        ВЫРАЗИТЬ(ОтпускаОрганизацийРаботникиОрганизации.Основание КАК СТРОКА(1000)) КАК Основание,
        ОтпускаОрганизацийРаботникиОрганизации.КвоДней,
        ОтпускаОрганизацийРаботникиОрганизации.Сотрудник,
        ОтпускаОрганизацийРаботникиОрганизации.Сотрудник.Код КАК СотрудникКод,
        ОтпускаОрганизацийРаботникиОрганизации.ДатаНачала КАК ПериодОтпуска,
        МАКСИМУМ(РаботникиОрганизаций.Период) КАК ПериодРС
    ПОМЕСТИТЬ ВТ_Отпуск
    ИЗ
        Документ.ОтпускаОрганизаций.РаботникиОрганизации КАК ОтпускаОрганизацийРаботникиОрганизации
            ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РаботникиОрганизаций КАК РаботникиОрганизаций
            ПО ОтпускаОрганизацийРаботникиОрганизации.Ссылка = РаботникиОрганизаций.Сотрудник.Ссылка
                И ОтпускаОрганизацийРаботникиОрганизации.ДатаНачала >= РаботникиОрганизаций.Период
    
    СГРУППИРОВАТЬ ПО
        ОтпускаОрганизацийРаботникиОрганизации.ДатаОкончания,
        ВЫРАЗИТЬ(ОтпускаОрганизацийРаботникиОрганизации.Основание КАК СТРОКА(1000)),
        ОтпускаОрганизацийРаботникиОрганизации.ВидОтпуска,
        ОтпускаОрганизацийРаботникиОрганизации.Сотрудник,
        ОтпускаОрганизацийРаботникиОрганизации.КвоДней,
        ОтпускаОрганизацийРаботникиОрганизации.Сотрудник.Код,
        ОтпускаОрганизацийРаботникиОрганизации.ДатаНачала,
        ОтпускаОрганизацийРаботникиОрганизации.ДатаНачала
    ;
    
    ////////////////////////////////////////////////////////////////////////////////
    ВЫБРАТЬ
        ВТ_Отпуск.ВидОтпуска КАК ВидОтпуска,
        ВТ_Отпуск.ДатаНачала КАК ДатаНачала,
        ВТ_Отпуск.ДатаОкончания КАК ДатаОкончания,
        ВТ_Отпуск.КвоДней КАК КвоДней,
        ВТ_Отпуск.Сотрудник КАК Сотрудник,
        ВТ_Отпуск.СотрудникКод КАК СотрудникКод,
        ВТ_Отпуск.ПериодОтпуска КАК ПериодОтпуска,
        ВТ_Отпуск.Основание КАК Основание
    ИЗ
        ВТ_Отпуск КАК ВТ_Отпуск
            ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РаботникиОрганизаций КАК РаботникиОрганизаций
            ПО ВТ_Отпуск.ПериодРС = РаботникиОрганизаций.Период
    ИТОГИ ПО
        Сотрудник
  2. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.649
    Симпатии:
    948
    Баллы:
    204
    1. почему берете документ а не регистр Фактические отпуска организаций? если уж взяли документы, то где проверка на Проведен или не помечен на удаление.?
    2. Отчет как пишите на СКД, если на СКД то берите создаватйе второй набор данных по РС состония сотрудников организации срез последних и соединяйте его по параметру Даты отпуска, и получите должность и подразделение. Это работает так же как получить курсы валют на все даты в периоде или остатки - в инете примеров полно
  3. TopicStarter Overlay
    kosalex
    Offline

    kosalex Опытный в 1С

    Регистрация:
    6 июн 2013
    Сообщения:
    127
    Симпатии:
    1
    Баллы:
    29
    Да на СКД, хочется через Временную таблицу. Про "Проведен" допишу, как будет нормально отрабатывать запрос.
    --- Объединение сообщений, 28 июл 2014 ---
    Помогите с запросом на временных таблицах. Плиз!
    --- Объединение сообщений, 28 июл 2014 ---
    Вроде получилось:
    ВЫБРАТЬ
    ОтпускаОрганизацийРаботникиОрганизации.ВидОтпуска,
    ОтпускаОрганизацийРаботникиОрганизации.ДатаНачала,
    ОтпускаОрганизацийРаботникиОрганизации.ДатаОкончания,
    ОтпускаОрганизацийРаботникиОрганизации.КвоДней,
    ОтпускаОрганизацийРаботникиОрганизации.Сотрудник,
    ОтпускаОрганизацийРаботникиОрганизации.Сотрудник.Код КАК СотрудникКод,
    ОтпускаОрганизацийРаботникиОрганизации.ДатаНачала КАК ПериодОтпуска,
    МАКСИМУМ(РаботникиОрганизаций.Период) КАК ПериодРС
    ПОМЕСТИТЬ ВТ_Отпуск
    ИЗ
    Документ.ОтпускаОрганизаций.РаботникиОрганизации КАК ОтпускаОрганизацийРаботникиОрганизации
    ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РаботникиОрганизаций КАК РаботникиОрганизаций
    ПО ОтпускаОрганизацийРаботникиОрганизации.Сотрудник.Ссылка = РаботникиОрганизаций.Сотрудник.Ссылка
    И ОтпускаОрганизацийРаботникиОрганизации.ДатаНачала >= РаботникиОрганизаций.Период

    СГРУППИРОВАТЬ ПО
    ОтпускаОрганизацийРаботникиОрганизации.ВидОтпуска,
    ОтпускаОрганизацийРаботникиОрганизации.Сотрудник,
    ОтпускаОрганизацийРаботникиОрганизации.ДатаОкончания,
    ОтпускаОрганизацийРаботникиОрганизации.ДатаНачала,
    ОтпускаОрганизацийРаботникиОрганизации.КвоДней,
    ОтпускаОрганизацийРаботникиОрганизации.Сотрудник.Код,
    ОтпускаОрганизацийРаботникиОрганизации.ДатаНачала
    ;

    ////////////////////////////////////////////////////////////////////////////////
    ВЫБРАТЬ
    ВТ_Отпуск.ВидОтпуска КАК ВидОтпуска,
    ВТ_Отпуск.ДатаНачала КАК ДатаНачала,
    ВТ_Отпуск.ДатаОкончания КАК ДатаОкончания,
    ВТ_Отпуск.КвоДней КАК КвоДней,
    ВТ_Отпуск.Сотрудник КАК Сотрудник,
    ВТ_Отпуск.СотрудникКод КАК СотрудникКод,
    ВТ_Отпуск.ПериодОтпуска КАК ПериодОтпуска,
    ВТ_Отпуск.ПериодРС,
    РаботникиОрганизаций.ПодразделениеОрганизации,
    РаботникиОрганизаций.Должность
    ИЗ
    ВТ_Отпуск КАК ВТ_Отпуск
    ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РаботникиОрганизаций КАК РаботникиОрганизаций
    ПО ВТ_Отпуск.Сотрудник = РаботникиОрганизаций.Сотрудник
    ГДЕ
    ВТ_Отпуск.ПериодРС = РаботникиОрганизаций.Период
    Последнее редактирование: 28 июл 2014
  4. TopicStarter Overlay
    kosalex
    Offline

    kosalex Опытный в 1С

    Регистрация:
    6 июн 2013
    Сообщения:
    127
    Симпатии:
    1
    Баллы:
    29
    В запросе данные берутся "ВСЕ" не органичиваются периодом, в отчете хочу ограничивать периодом "Дата начала", "Дата окончания" .

    Делаю так:
    [​IMG]

    [​IMG]
  5. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.782
    Симпатии:
    509
    Баллы:
    204
    Параметры заданы не верно.
  6. TopicStarter Overlay
    kosalex
    Offline

    kosalex Опытный в 1С

    Регистрация:
    6 июн 2013
    Сообщения:
    127
    Симпатии:
    1
    Баллы:
    29
    Запрос:
    Код:
    ВЫБРАТЬ
        ОтпускаОрганизацийРаботникиОрганизации.ВидОтпуска,
        ОтпускаОрганизацийРаботникиОрганизации.ДатаНачала,
        ОтпускаОрганизацийРаботникиОрганизации.ДатаОкончания,
        ОтпускаОрганизацийРаботникиОрганизации.КвоДней,
        ОтпускаОрганизацийРаботникиОрганизации.Сотрудник,
        ОтпускаОрганизацийРаботникиОрганизации.Сотрудник.Код КАК СотрудникКод,
        ОтпускаОрганизацийРаботникиОрганизации.ДатаНачала КАК ПериодОтпуска,
        МАКСИМУМ(РаботникиОрганизаций.Период) КАК ПериодРС,
        ВЫРАЗИТЬ(ОтпускаОрганизацийРаботникиОрганизации.Основание КАК СТРОКА(200)) КАК Основание,
        ОтпускаОрганизацийРаботникиОрганизации.Ссылка.Дата КАК ДатаПриказа
    ПОМЕСТИТЬ ВТ_Отпуск
    ИЗ
        Документ.ОтпускаОрганизаций.РаботникиОрганизации КАК ОтпускаОрганизацийРаботникиОрганизации
            ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РаботникиОрганизаций КАК РаботникиОрганизаций
            ПО ОтпускаОрганизацийРаботникиОрганизации.Сотрудник.Ссылка = РаботникиОрганизаций.Сотрудник.Ссылка
                И ОтпускаОрганизацийРаботникиОрганизации.ДатаНачала >= РаботникиОрганизаций.Период
    ГДЕ
        ОтпускаОрганизацийРаботникиОрганизации.Ссылка.Проведен
    
    СГРУППИРОВАТЬ ПО
        ОтпускаОрганизацийРаботникиОрганизации.ДатаНачала,
        ВЫРАЗИТЬ(ОтпускаОрганизацийРаботникиОрганизации.Основание КАК СТРОКА(200)),
        ОтпускаОрганизацийРаботникиОрганизации.ВидОтпуска,
        ОтпускаОрганизацийРаботникиОрганизации.ДатаОкончания,
        ОтпускаОрганизацийРаботникиОрганизации.Сотрудник,
        ОтпускаОрганизацийРаботникиОрганизации.КвоДней,
        ОтпускаОрганизацийРаботникиОрганизации.Сотрудник.Код,
        ОтпускаОрганизацийРаботникиОрганизации.Ссылка.Дата,
        ОтпускаОрганизацийРаботникиОрганизации.ДатаНачала
    ;
    
    ////////////////////////////////////////////////////////////////////////////////
    ВЫБРАТЬ
        ВТ_Отпуск.ВидОтпуска КАК ВидОтпуска,
        ВТ_Отпуск.ДатаНачала КАК ДатаНачала,
        ВТ_Отпуск.ДатаОкончания КАК ДатаОкончания,
        ВТ_Отпуск.КвоДней КАК КвоДней,
        ВТ_Отпуск.Сотрудник КАК Сотрудник,
        ВТ_Отпуск.СотрудникКод КАК СотрудникКод,
        ВТ_Отпуск.ПериодОтпуска КАК ПериодОтпуска,
        ВТ_Отпуск.ПериодРС,
        РаботникиОрганизаций.ПодразделениеОрганизации,
        РаботникиОрганизаций.Должность,
        ВТ_Отпуск.Основание,
        ВТ_Отпуск.ДатаПриказа
    ИЗ
        ВТ_Отпуск КАК ВТ_Отпуск
            ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.РаботникиОрганизаций КАК РаботникиОрганизаций
            ПО ВТ_Отпуск.Сотрудник = РаботникиОрганизаций.Сотрудник
    ГДЕ
        ВТ_Отпуск.ПериодРС = РаботникиОрганизаций.Период
    Я думаю,что через параметры не получиться в этом запросе, т.к. в самом запросе нигде нет параметров. По этому в самом СКД в настройках отчета добавил поля "Отбор":
    [​IMG]
  7. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.649
    Симпатии:
    948
    Баллы:
    204
    Не совсем понимаю в чем проблема посмотреть в инете и сделать т.к я Вам описал. Вам по теории на каждую дату отпуска сотрудника надо взять его срез последних.
    Мало того что Внутренне соединение Впам не даст того чо надо, так еще и вот это
    ВТ_Отпуск.ПериодРС = РаботникиОрганизаций.Период = у Вас что время отпкууска совпадет с временем кадрового перемещения или приема или увольнения. Да еще с точностью до секунды.
  8. TopicStarter Overlay
    kosalex
    Offline

    kosalex Опытный в 1С

    Регистрация:
    6 июн 2013
    Сообщения:
    127
    Симпатии:
    1
    Баллы:
    29
    ВТ_Отпуск.ПериодРС - это же период с РС "РаботникиОрганизации" для временной таблицы. Из РС "РаботникиОрганизации" берется подразделение и должность на дату начала отпуска
  9. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.649
    Симпатии:
    948
    Баллы:
    204
    Чет я Ваш запрос совсем не понимаю, Вам нужно было взять РН Фактические отпуска сотрудников организации - там отпуска и РС Рабтники организация - там должносоти и подразделения и связать их
  10. TopicStarter Overlay
    kosalex
    Offline

    kosalex Опытный в 1С

    Регистрация:
    6 июн 2013
    Сообщения:
    127
    Симпатии:
    1
    Баллы:
    29
    Почему то у меня нет такого регистра.
    "Управление производственным предприятием для Украины", редакция 1.3
    Разработка конфигурации: "ABBYY Ukraine", 2005-2014 (1.3.29.2)
  11. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.649
    Симпатии:
    948
    Баллы:
    204
    Ну посмотрите в какой регистр делает движение документ прием на работу или кадровое перемещение в какой РС , кроме плановых начисленйи еще у Вас делает.
  12. TopicStarter Overlay
    kosalex
    Offline

    kosalex Опытный в 1С

    Регистрация:
    6 июн 2013
    Сообщения:
    127
    Симпатии:
    1
    Баллы:
    29
    мммм...мне отпуска нужны, смотрел, можно взять РС "Регистр сведений "Состояние работников организаций", тогда нужно считать дни :) и всё равно получать подразделение и должность на дату отпуска.

Поделиться этой страницей