Имя: Пароль:
1C
1С v8
Запрос к значению свойств объектов в УПП 1.3
0 skupidom
 
24.10.18
18:07
У свойства объектов тип значений был = строке,поменяли на число, перестали выводиться значения,как исправить запрос ?
Запрос:
ВЫБРАТЬ РАЗРЕШЕННЫЕ
    Работники.ФизЛицо КАК ФизЛицо,
    ПРЕДСТАВЛЕНИЕ(Работники.ФизЛицо),
    Работники.Подразделение КАК Подразделение,
    ПРЕДСТАВЛЕНИЕ(Работники.Подразделение),
    ОтветственныеЛицаСрезПоследних.ФизическоеЛицо КАК РуководительПодразделения,
    ПРЕДСТАВЛЕНИЕ(ОтветственныеЛицаСрезПоследних.ФизическоеЛицо),
    Работники.Должность КАК Должность,
    ПРЕДСТАВЛЕНИЕ(Работники.Должность),
    Работники.ГрафикРаботы КАК ГрафикРаботы,
    ПРЕДСТАВЛЕНИЕ(Работники.ГрафикРаботы),
    ПлановыеНачисленияРаботниковСрез.ВидРасчета КАК ВидРасчета,
    ПлановыеНачисленияРаботниковСрез.Валюта1 КАК Валюта,
    ПлановыеНачисленияРаботниковСрез.Показатель1 КАК Размер,
    ВЫБОР
        КОГДА Работники.ПричинаИзмененияСостояния = ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение)
            ТОГДА ЗНАЧЕНИЕ(Перечисление.СостоянияРаботника.НеРаботает)
        ИНАЧЕ ЕСТЬNULL(ВЫБОР
                    КОГДА &Период >= СостояниеРаботников.ПериодЗавершения
                            И СостояниеРаботников.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
                        ТОГДА СостояниеРаботников.СостояниеЗавершения
                    ИНАЧЕ ВЫБОР
                            КОГДА СостояниеРаботников.Состояние = ЗНАЧЕНИЕ(Перечисление.СостоянияРаботника.ОтпускЕжегодный)
                                    ИЛИ СостояниеРаботников.ПричинаОтсутствия = ЗНАЧЕНИЕ(Справочник.ПричиныОтсутствияНаРаботе.ПустаяСсылка)
                                ТОГДА СостояниеРаботников.Состояние
                            ИНАЧЕ СостояниеРаботников.ПричинаОтсутствия
                        КОНЕЦ
                КОНЕЦ, ЗНАЧЕНИЕ(Перечисление.СостоянияРаботника.Работает))
    КОНЕЦ КАК Состояние,
    ПриказыОПриеме.Приказ КАК ПриказОПриеме,
    ПриказыОПриеме.ДатаПриема КАК ДатаПриема,
    ВЫБОР
        КОГДА Работники.ПричинаИзмененияСостояния = ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение)
            ТОГДА ДОБАВИТЬКДАТЕ(Работники.Период, ДЕНЬ, -1)
        ИНАЧЕ "-"
    КОНЕЦ КАК ДатаУвольнения,
    Работники.ЗанимаемыхСтавок КАК ЗанимаемыхСтавок,
    ВЫБОР
        КОГДА Работники.ФизЛицо = ОтветственныеЛицаСрезПоследних.ФизическоеЛицо
            ТОГДА ИСТИНА
        ИНАЧЕ ЛОЖЬ
    КОНЕЦ КАК ЯвляетсяРуководителемПодразделения,
    ВЫБОР
        КОГДА Работники.ПричинаИзмененияСостояния = ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение)
            ТОГДА Работники.Регистратор
        ИНАЧЕ "-"
    КОНЕЦ КАК ПриказОбУвольнении,
    ВЫБОР
        КОГДА Константы.РежимНабораПерсонала = ЗНАЧЕНИЕ(Перечисление.ВидыОрганизационнойСтруктурыПредприятия.ПоЦентрамОтветственности)
                И СостояниеРаботниковНаИспытательномСроке.Состояние = ЗНАЧЕНИЕ(Перечисление.СостоянияРаботникаНаИспытательномСроке.ПринятНаИспытательныйСрок)
            ТОГДА ИСТИНА
        ИНАЧЕ ЛОЖЬ
    КОНЕЦ КАК НаИспытательномСроке,
    ФизическиеЛица.ИНН,
    ЕСТЬNULL(ЗначенияСвойствОбъектовЗПОснОклад.Значение, 0) КАК ЗПОснОклад,
    ПриемНаРаботуРаботники.Ссылка КАК ПриемНаРаботу
{ВЫБРАТЬ
    ФизЛицо.*,
    Подразделение.*,
    РуководительПодразделения.*,
    Должность.*,
    ГрафикРаботы.*,
    ВидРасчета,
    Валюта,
    Размер,
    Состояние,
    ПриказОПриеме.*,
    ДатаПриема,
    ДатаУвольнения,
    ЗанимаемыхСтавок,
    ЯвляетсяРуководителемПодразделения,
    ПриказОбУвольнении.*,
    НаИспытательномСроке,
    ЗПОснОклад.*,
    ПриемНаРаботу.*}
ИЗ
    РегистрСведений.Работники.СрезПоследних(&Период, ) КАК Работники
        {ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СостояниеРаботников.СрезПоследних(&Период, ) КАК СостояниеРаботников
        ПО Работники.ФизЛицо = СостояниеРаботников.ФизЛицо}
        {ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПлановыеНачисленияРаботников.СрезПоследних(&Период, ВидРасчетаИзмерение = ЗНАЧЕНИЕ(ПланВидовРасчета.УправленческиеНачисления.ПустаяСсылка)) КАК ПлановыеНачисленияРаботниковСрез
        ПО Работники.ФизЛицо = ПлановыеНачисленияРаботниковСрез.ФизЛицо}
        {ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            ДатыПоследнихДвиженийРаботников.Период КАК ДатаПриема,
            ДатыПоследнихДвиженийРаботников.ФизЛицо КАК ФизЛицо,
            ДанныеПоРаботникуПриНазначении.Регистратор КАК Приказ
        ИЗ
            (ВЫБРАТЬ
                МАКСИМУМ(Работники.Период) КАК Период,
                ТЧРаботники.ФизЛицо КАК ФизЛицо
            ИЗ
                РегистрСведений.Работники.СрезПоследних(&Период, ) КАК ТЧРаботники
                    ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.Работники КАК Работники
                    ПО (Работники.Период <= ТЧРаботники.Период)
                        И (НЕ Работники.ПричинаИзмененияСостояния = ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение))
                        И ТЧРаботники.ФизЛицо = Работники.ФизЛицо
            {ГДЕ
                ТЧРаботники.Должность КАК Должность,
                ТЧРаботники.ГрафикРаботы КАК ГрафикРаботы,
                ТЧРаботники.ЗанимаемыхСтавок КАК ЗанимаемыхСтавок,
                ТЧРаботники.Подразделение КАК Подразделение}
            
            СГРУППИРОВАТЬ ПО
                ТЧРаботники.ФизЛицо) КАК ДатыПоследнихДвиженийРаботников
                ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.Работники КАК ДанныеПоРаботникуПриНазначении
                ПО ДатыПоследнихДвиженийРаботников.ФизЛицо = ДанныеПоРаботникуПриНазначении.ФизЛицо
                    И ДатыПоследнихДвиженийРаботников.Период = ДанныеПоРаботникуПриНазначении.Период) КАК ПриказыОПриеме
            ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектовЗПОснОклад
            ПО (ЗначенияСвойствОбъектовЗПОснОклад.Свойство = &ЗПОснОклад)
                И ПриказыОПриеме.Приказ = ЗначенияСвойствОбъектовЗПОснОклад.Объект
        ПО Работники.ФизЛицо = ПриказыОПриеме.ФизЛицо}
        {ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СостояниеРаботниковНаИспытательномСроке.СрезПоследних(&Период, ) КАК СостояниеРаботниковНаИспытательномСроке
        ПО Работники.ФизЛицо = СостояниеРаботниковНаИспытательномСроке.Физлицо
        ЛЕВОЕ СОЕДИНЕНИЕ Константы КАК Константы
        ПО (ИСТИНА)}
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ОтветственныеЛица.СрезПоследних(&Период, ) КАК ОтветственныеЛицаСрезПоследних
        ПО Работники.Подразделение = ОтветственныеЛицаСрезПоследних.СтруктурнаяЕдиница
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ФизическиеЛица КАК ФизическиеЛица
        ПО Работники.ФизЛицо = ФизическиеЛица.Ссылка
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПриемНаРаботу.Работники КАК ПриемНаРаботуРаботники
        ПО Работники.ФизЛицо = ПриемНаРаботуРаботники.ФизЛицо
{ГДЕ
    Работники.ФизЛицо.* КАК ФизЛицо,
    Работники.Подразделение.* КАК Подразделение,
    ОтветственныеЛицаСрезПоследних.ФизическоеЛицо.* КАК РуководительПодразделения,
    Работники.Должность.* КАК Должность,
    Работники.ГрафикРаботы.* КАК ГрафикРаботы,
    ПлановыеНачисленияРаботниковСрез.ВидРасчета КАК ВидРасчета,
    ПлановыеНачисленияРаботниковСрез.Валюта1 КАК Валюта,
    ПлановыеНачисленияРаботниковСрез.Показатель1 КАК Размер,
    (ВЫБОР
            КОГДА Работники.ПричинаИзмененияСостояния = ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение)
                ТОГДА ЗНАЧЕНИЕ(Перечисление.СостоянияРаботника.НеРаботает)
            ИНАЧЕ ЕСТЬNULL(ВЫБОР
                        КОГДА &Период >= СостояниеРаботников.ПериодЗавершения
                                И СостояниеРаботников.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
                            ТОГДА СостояниеРаботников.СостояниеЗавершения
                        ИНАЧЕ ВЫБОР
                                КОГДА СостояниеРаботников.Состояние = ЗНАЧЕНИЕ(Перечисление.СостоянияРаботника.ОтпускЕжегодный)
                                        ИЛИ СостояниеРаботников.ПричинаОтсутствия = ЗНАЧЕНИЕ(Справочник.ПричиныОтсутствияНаРаботе.ПустаяСсылка)
                                    ТОГДА СостояниеРаботников.Состояние
                                ИНАЧЕ СостояниеРаботников.ПричинаОтсутствия
                            КОНЕЦ
                    КОНЕЦ, ЗНАЧЕНИЕ(Перечисление.СостоянияРаботника.Работает))
        КОНЕЦ) КАК Состояние,
    ПриказыОПриеме.Приказ.* КАК ПриказОПриеме,
    ПриказыОПриеме.ДатаПриема КАК ДатаПриема,
    (ВЫБОР
            КОГДА Работники.ПричинаИзмененияСостояния = ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение)
                ТОГДА Работники.Период
            ИНАЧЕ "-"
        КОНЕЦ) КАК ДатаУвольнения,
    Работники.ЗанимаемыхСтавок КАК ЗанимаемыхСтавок,
    (ВЫБОР
            КОГДА Работники.ФизЛицо = ОтветственныеЛицаСрезПоследних.ФизическоеЛицо
                ТОГДА ИСТИНА
            ИНАЧЕ ЛОЖЬ
        КОНЕЦ) КАК ЯвляетсяРуководителемПодразделения,
    (ВЫБОР
            КОГДА Работники.ПричинаИзмененияСостояния = ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение)
                ТОГДА Работники.Регистратор
            ИНАЧЕ "-"
        КОНЕЦ).* КАК ПриказОбУвольнении,
    (ВЫБОР
            КОГДА Константы.РежимНабораПерсонала = ЗНАЧЕНИЕ(Перечисление.ВидыОрганизационнойСтруктурыПредприятия.ПоЦентрамОтветственности)
                    И СостояниеРаботниковНаИспытательномСроке.Состояние = ЗНАЧЕНИЕ(Перечисление.СостоянияРаботникаНаИспытательномСроке.ПринятНаИспытательныйСрок)
                ТОГДА ИСТИНА
            ИНАЧЕ ЛОЖЬ
        КОНЕЦ) КАК НаИспытательномСроке,
    Работники.Подразделение.ОсновнойПроект,
    ПриемНаРаботуРаботники.Ссылка.* КАК ПриемНаРаботу}
{ХАРАКТЕРИСТИКИ
    ТИП(Справочник.ФизическиеЛица)
    ВИДЫХАРАКТЕРИСТИК (ВЫБРАТЬ
            ВидыКонтактнойИнформации.Ссылка,
            ВидыКонтактнойИнформации.Наименование,
            "" КАК Тип
        ИЗ
            Справочник.ВидыКонтактнойИнформации КАК ВидыКонтактнойИнформации
        ГДЕ
            ВидыКонтактнойИнформации.ВидОбъектаКонтактнойИнформации = ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовКонтактнойИнформации.ФизическиеЛица)
            И НЕ ВидыКонтактнойИнформации.ПометкаУдаления)
    ПОЛЕКЛЮЧА Ссылка
    ПОЛЕИМЕНИ Наименование
    ПОЛЕТИПАЗНАЧЕНИЯ Тип
    ЗНАЧЕНИЯХАРАКТЕРИСТИК РегистрСведений.КонтактнаяИнформация
    ПОЛЕОБЪЕКТА Объект
    ПОЛЕВИДА Вид
    ПОЛЕЗНАЧЕНИЯ Представление }
{ХАРАКТЕРИСТИКИ
    ТИП(Справочник.ФизическиеЛица)
    ВИДЫХАРАКТЕРИСТИК (ВЫБРАТЬ
            СвойстваОбъектов.Ссылка,
            " Дополнительное свойство: " + СвойстваОбъектов.Наименование КАК Наименование,
            СвойстваОбъектов.ТипЗначения
        ИЗ
            ПланВидовХарактеристик.СвойстваОбъектов КАК СвойстваОбъектов
        ГДЕ
            СвойстваОбъектов.НазначениеСвойства = ЗНАЧЕНИЕ(ПланВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Справочник_ФизическиеЛица)
            И НЕ СвойстваОбъектов.ПометкаУдаления)
    ПОЛЕКЛЮЧА Ссылка
    ПОЛЕИМЕНИ Наименование
    ПОЛЕТИПАЗНАЧЕНИЯ ТипЗначения
    ЗНАЧЕНИЯХАРАКТЕРИСТИК РегистрСведений.ЗначенияСвойствОбъектов
    ПОЛЕОБЪЕКТА Объект
    ПОЛЕВИДА Свойство
    ПОЛЕЗНАЧЕНИЯ Значение }
{ХАРАКТЕРИСТИКИ
    ТИП(Справочник.ФизическиеЛица)
    ВИДЫХАРАКТЕРИСТИК (ВЫБРАТЬ
            КатегорииОбъектов.Ссылка,
            " Дополнительная категория: " + КатегорииОбъектов.Наименование КАК Наименование
        ИЗ
            Справочник.КатегорииОбъектов КАК КатегорииОбъектов
        ГДЕ
            КатегорииОбъектов.НазначениеКатегории = ЗНАЧЕНИЕ(ПланВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Справочник_ФизическиеЛица)
            И НЕ КатегорииОбъектов.ПометкаУдаления)
    ПОЛЕКЛЮЧА Ссылка
    ПОЛЕИМЕНИ Наименование
    ЗНАЧЕНИЯХАРАКТЕРИСТИК РегистрСведений.КатегорииОбъектов
    ПОЛЕОБЪЕКТА Объект
    ПОЛЕВИДА Категория }
{ХАРАКТЕРИСТИКИ
    ТИП(Справочник.Подразделения)
    ВИДЫХАРАКТЕРИСТИК (ВЫБРАТЬ
            СвойстваОбъектов.Ссылка,
            " Дополнительное свойство: " + СвойстваОбъектов.Наименование КАК Наименование,
            СвойстваОбъектов.ТипЗначения
        ИЗ
            ПланВидовХарактеристик.СвойстваОбъектов КАК СвойстваОбъектов
        ГДЕ
            СвойстваОбъектов.НазначениеСвойства = ЗНАЧЕНИЕ(ПланВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Справочник_Подразделения)
            И НЕ СвойстваОбъектов.ПометкаУдаления)
    ПОЛЕКЛЮЧА Ссылка
    ПОЛЕИМЕНИ Наименование
    ПОЛЕТИПАЗНАЧЕНИЯ ТипЗначения
    ЗНАЧЕНИЯХАРАКТЕРИСТИК РегистрСведений.ЗначенияСвойствОбъектов
    ПОЛЕОБЪЕКТА Объект
    ПОЛЕВИДА Свойство
    ПОЛЕЗНАЧЕНИЯ Значение }
{ХАРАКТЕРИСТИКИ
    ТИП(Справочник.Подразделения)
    ВИДЫХАРАКТЕРИСТИК (ВЫБРАТЬ
            КатегорииОбъектов.Ссылка,
            " Дополнительная категория: " + КатегорииОбъектов.Наименование КАК Наименование
        ИЗ
            Справочник.КатегорииОбъектов КАК КатегорииОбъектов
        ГДЕ
            КатегорииОбъектов.НазначениеКатегории = ЗНАЧЕНИЕ(ПланВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Справочник_Подразделения)
            И НЕ КатегорииОбъектов.ПометкаУдаления)
    ПОЛЕКЛЮЧА Ссылка
    ПОЛЕИМЕНИ Наименование
    ЗНАЧЕНИЯХАРАКТЕРИСТИК РегистрСведений.КатегорииОбъектов
    ПОЛЕОБЪЕКТА Объект
    ПОЛЕВИДА Категория }
{ХАРАКТЕРИСТИКИ
    ТИП(Справочник.Подразделения)
    ВИДЫХАРАКТЕРИСТИК (ВЫБРАТЬ
            "Ответственное лицо" КАК Идентификатор,
            "Ответственное лицо" КАК ИмяХарактеристики)
    ПОЛЕКЛЮЧА Идентификатор
    ПОЛЕИМЕНИ ИмяХарактеристики
    ЗНАЧЕНИЯХАРАКТЕРИСТИК (ВЫБРАТЬ
            ОтветственныеЛицаСрезПоследних.СтруктурнаяЕдиница КАК Объект,
            "Ответственное лицо" КАК Идентификатор,
            ОтветственныеЛицаСрезПоследних.ФизическоеЛицо КАК Значение
        ИЗ
            РегистрСведений.ОтветственныеЛица.СрезПоследних КАК ОтветственныеЛицаСрезПоследних
        ГДЕ
            ОтветственныеЛицаСрезПоследних.СтруктурнаяЕдиница ССЫЛКА Справочник.Подразделения)
    ПОЛЕОБЪЕКТА Объект
    ПОЛЕВИДА Идентификатор
    ПОЛЕЗНАЧЕНИЯ Значение }
{ХАРАКТЕРИСТИКИ
    ТИП(Справочник.ДолжностиОрганизаций)
    ВИДЫХАРАКТЕРИСТИК (ВЫБРАТЬ
            СвойстваОбъектов.Ссылка,
            " Дополнительное свойство: " + СвойстваОбъектов.Наименование КАК Наименование,
            СвойстваОбъектов.ТипЗначения
        ИЗ
            ПланВидовХарактеристик.СвойстваОбъектов КАК СвойстваОбъектов
        ГДЕ
            СвойстваОбъектов.НазначениеСвойства = ЗНАЧЕНИЕ(ПланВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Справочник_ДолжностиОрганизаций)
            И НЕ СвойстваОбъектов.ПометкаУдаления)
    ПОЛЕКЛЮЧА Ссылка
    ПОЛЕИМЕНИ Наименование
    ПОЛЕТИПАЗНАЧЕНИЯ ТипЗначения
    ЗНАЧЕНИЯХАРАКТЕРИСТИК РегистрСведений.ЗначенияСвойствОбъектов
    ПОЛЕОБЪЕКТА Объект
    ПОЛЕВИДА Свойство
    ПОЛЕЗНАЧЕНИЯ Значение }
{ХАРАКТЕРИСТИКИ
    ТИП(Справочник.ДолжностиОрганизаций)
    ВИДЫХАРАКТЕРИСТИК (ВЫБРАТЬ
            КатегорииОбъектов.Ссылка,
            " Дополнительная категория: " + КатегорииОбъектов.Наименование КАК Наименование
        ИЗ
            Справочник.КатегорииОбъектов КАК КатегорииОбъектов
        ГДЕ
            КатегорииОбъектов.НазначениеКатегории = ЗНАЧЕНИЕ(ПланВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Справочник_ДолжностиОрганизаций)
            И НЕ КатегорииОбъектов.ПометкаУдаления)
    ПОЛЕКЛЮЧА Ссылка
    ПОЛЕИМЕНИ Наименование
    ЗНАЧЕНИЯХАРАКТЕРИСТИК РегистрСведений.КатегорииОбъектов
    ПОЛЕОБЪЕКТА Объект
    ПОЛЕВИДА Категория }
1 skupidom
 
24.10.18
18:24
в РС Значения свойств объектов в колонке значение отображается наименование значения свойств это наименование свойства объектов,но так не удобно, а значения свойства в числовом формате не сохраняются в РС и не понятно как реализовать
2 skupidom
 
24.10.18
22:32
разобрался:
в связи ПриказыОПриеме с ЗначенияСвойствОбъектовЗПОснОклад
ПриказыОПриеме.Приказ = ЗначенияСвойствОбъектовЗПОснОклад.Объект ЕСТЬNULL(ЗначенияСвойствОбъектовЗПОснОклад.Значение, 0)=0,т.к.в кадровом переводе не заполнено знач.свойства,а только в приеме.Как скорректировать запрос так,чтобы выходило заполненное значение свойства и связка была по тому документу,где оно не = 0
3 Лефмихалыч
 
24.10.18
22:35
да ну его натурально в жопу, запрос этот. Кто его читать-то станет?