Имя: Пароль:
1C
1С v8
Настройка роли. Не отрабатывает ЕстьNULL(Значение, Истина) - дает NULL
0 PCcomCat
 
02.04.18
12:10
Доброго времени, уважаемые!

Пытаюсь настроить роль ограниченную. Прошу помощи - подсказки...

При начале работы системы в модуле РаботаСОбщимиПеременнымиПовтИсп заполняется переменная "глУчетнаяПолитикаПоПерсоналуОрганизации" (структура).

Изначально имеется презаполненная структура, а далее запросом получаются значения, которые записываются в структуру через ЗаполнитьЗначенияСвойств(приемник, источник).

Так вот результат запроса дает значения NULL, не смотря на их обработку.

ЧЯДНТ?

Заранее благодарю за подсказку.
1 PCcomCat
 
02.04.18
12:11
Начальное заполнение структуры:
        СтрокаПолейУчетнойПолитики = "ЕдиныйНумераторКадровыхДокументов,
                                    |КонтрольКоличестваСтавокШтатногоРасписания,
                                    |КонтрольРазмераСтавокШтатногоРасписания,
                                    |РасчетЗарплатыОрганизацииПоОтветственным,
                                    |УпрощенныйУчетНДФЛ,
                                    |НеУменьшатьПропорциональныеПремии,
                                    |ИспользуютсяНачисленияВВалюте,
                                    |ПоказыватьТабельныеНомераВДокументах,
                                    |УчетЗадолженностиПоМесяцам,
                                    |ПроверкаПериодовНачисления,
                                    |ПроставлятьАвтоматическиДатуОзнакомленияВКадровыхПриказах,
                                    |УчитыватьНевыходыДляПлановогоАванса,
                                    |ДатаРасчетаПлановогоАванса,
                                    |ДатаВыплатыАванса,
                                    |ДатаВыплатыЗарплаты,
                                    |ПорядокСписанияФактическихОтпусков,
                                    |ДатаПередачиФССВыплатыПособий,
                                    |ИспользуетсяТрудЧленовЭкипажейМорскихСудов,
                                    |ИспользуетсяТрудРаботающихВСтудотряде,
                                    |ИспользуетсяТрудФармацевтов,
                                    |ИспользуетсяТрудЧленовЛетныхЭкипажей,
                                    |ИспользуетсяТрудШахтеров,
                                    |ИспользуютсяРаботыСДосрочнойПенсией,
                                    |ПрименятьРезультатыСпециальнойОценкиУсловийТруда,
                                    |УпрощенныйУчетВзаиморасчетов";
        
        Возврат Новый Структура(СтрокаПолейУчетнойПолитики,
                            Ложь,    // ЕдиныйНумераторКадровыхДокументов
                            Ложь,    // КонтрольКоличестваСтавокШтатногоРасписания
                            Ложь, // КонтрольРазмераСтавокШтатногоРасписания
                            Ложь, // РасчетЗарплатыОрганизацииПоОтветственным
                            Ложь, // УпрощенныйУчетНДФЛ
                            Ложь, // НеУменьшатьПропорциональныеПремии
                            Ложь, // ИспользуютсяНачисленияВВалюте
                            Ложь, // ПоказыватьТабельныеНомераВДокументах
                            Истина, // УчетЗадолженностиПоМесяцам
                            Ложь, // ПроверкаПериодовНачисления
                            Ложь, // ПроставлятьАвтоматическиДатуОзнакомленияВКадровыхПриказах
                            Истина, // УчитыватьНевыходыДляПлановогоАванса
                            15,        // ДатаРасчетаПлановогоАванса
                            0,        // ДатаВыплатыАванса
                            0,        // ДатаВыплатыЗарплаты
                            Перечисления.ПорядокСписанияФактическихОтпусков.РасчетнымиДокументами,
                            '30000101', // ДатаПередачиФССВыплатыПособий
                            Ложь, // ИспользуетсяТрудЧленовЭкипажейМорскихСудов
                            Ложь, // ИспользуетсяТрудРаботающихВСтудотряде
                            Ложь, // ИспользуетсяТрудФармацевтов
                            Ложь, // ИспользуетсяТрудЧленовЛетныхЭкипажей
                            Ложь, // ИспользуетсяТрудШахтеров
                            Ложь, // ИспользуютсяРаботыСДосрочнойПенсией
                            Ложь, // ПрименятьРезультатыСпециальнойОценкиУсловийТруда
                            Истина); // УпрощенныйУчетВзаиморасчетов
2 PCcomCat
 
02.04.18
12:12
Запрос по заполнению :
    "ВЫБРАТЬ РАЗРЕШЕННЫЕ
    |    Организации.Ссылка КАК Организация,
    |    ЕСТЬNULL(УчетнаяПолитикаПоПерсоналуОрганизаций.ЕдиныйНумераторКадровыхДокументов, ЛОЖЬ) КАК ЕдиныйНумераторКадровыхДокументов,
    |    ЕСТЬNULL(УчетнаяПолитикаПоПерсоналуОрганизаций.КонтрольКоличестваСтавокШтатногоРасписания, ЛОЖЬ) КАК КонтрольКоличестваСтавокШтатногоРасписания,
    |    ЕСТЬNULL(УчетнаяПолитикаПоПерсоналуОрганизаций.КонтрольРазмераСтавокШтатногоРасписания, ЛОЖЬ) КАК КонтрольРазмераСтавокШтатногоРасписания,
    |    ЕСТЬNULL(УчетнаяПолитикаПоПерсоналуОрганизаций.ПоказыватьТабельныеНомераВДокументах, ЛОЖЬ) КАК ПоказыватьТабельныеНомераВДокументах,
    |    ЕСТЬNULL(УчетнаяПолитикаПоПерсоналуОрганизаций.ПроставлятьАвтоматическиДатуОзнакомленияВКадровыхПриказах, ЛОЖЬ) КАК ПроставлятьАвтоматическиДатуОзнакомленияВКадровыхПриказах,
    |    ЕСТЬNULL(УчетнаяПолитикаПоПерсоналуОрганизаций.ПорядокСписанияФактическихОтпусков, ЗНАЧЕНИЕ(Перечисление.ПорядокСписанияФактическихОтпусков.РасчетнымиДокументами)) КАК ПорядокСписанияФактическихОтпусков,
    |    ЕСТЬNULL(УчетнаяПолитикаПоРасчетуЗарплатыОрганизаций.РасчетЗарплатыОрганизацииПоОтветственным, ЛОЖЬ) КАК РасчетЗарплатыОрганизацииПоОтветственным,
    |    ЕСТЬNULL(УчетнаяПолитикаПоРасчетуЗарплатыОрганизаций.УпрощенныйУчетНДФЛ, ЛОЖЬ) КАК УпрощенныйУчетНДФЛ,
    |    ЕСТЬNULL(УчетнаяПолитикаПоРасчетуЗарплатыОрганизаций.УчетЗадолженностиПоМесяцам, ИСТИНА) КАК УчетЗадолженностиПоМесяцам,
    |    ЕСТЬNULL(УчетнаяПолитикаПоРасчетуЗарплатыОрганизаций.ПроверкаПериодовНачисления, ЛОЖЬ) КАК ПроверкаПериодовНачисления,
    |    ЕСТЬNULL(УчетнаяПолитикаПоРасчетуЗарплатыОрганизаций.ИспользуютсяНачисленияВВалюте, ЛОЖЬ) КАК ИспользуютсяНачисленияВВалюте,
    |    ЕСТЬNULL(УчетнаяПолитикаПоРасчетуЗарплатыОрганизаций.УчитыватьНевыходыДляПлановогоАванса, ИСТИНА) КАК УчитыватьНевыходыДляПлановогоАванса,
    |    ЕСТЬNULL(УчетнаяПолитикаПоРасчетуЗарплатыОрганизаций.ДатаРасчетаПлановогоАванса, 15) КАК ДатаРасчетаПлановогоАванса,
    |    ЕСТЬNULL(УчетнаяПолитикаПоРасчетуЗарплатыОрганизаций.ДатаВыплатыАванса, 0) КАК ДатаВыплатыАванса,
    |    ЕСТЬNULL(УчетнаяПолитикаПоРасчетуЗарплатыОрганизаций.ДатаВыплатыЗарплаты, 0) КАК ДатаВыплатыЗарплаты,
    |    ЕСТЬNULL(УчетнаяПолитикаПоРасчетуЗарплатыОрганизаций.УпрощенныйУчетВзаиморасчетов, ИСТИНА) КАК УпрощенныйУчетВзаиморасчетов,
    |    ЕСТЬNULL(УчетнаяПолитикаПоРасчетуЗарплатыОрганизаций.НеУменьшатьПропорциональныеПремии, ЛОЖЬ) КАК НеУменьшатьПропорциональныеПремии,
    |    ВЫБОР
    |        КОГДА ЕСТЬNULL(УчетнаяПолитикаПоРасчетуЗарплатыОрганизацийИхПодразделений.ДатаПередачиФССВыплатыПособий, ДАТАВРЕМЯ(3000, 1, 1)) = ДАТАВРЕМЯ(1, 1, 1)
    |            ТОГДА ДАТАВРЕМЯ(3000, 1, 1)
    |        ИНАЧЕ ЕСТЬNULL(УчетнаяПолитикаПоРасчетуЗарплатыОрганизацийИхПодразделений.ДатаПередачиФССВыплатыПособий, ДАТАВРЕМЯ(3000, 1, 1))
    |    КОНЕЦ КАК ДатаПередачиФССВыплатыПособий
    |ИЗ
    |    Справочник.Организации КАК Организации
    |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.УчетнаяПолитикаПоПерсоналуОрганизаций КАК УчетнаяПолитикаПоПерсоналуОрганизаций
    |        ПО (ВЫБОР
    |                КОГДА Организации.ГоловнаяОрганизация = ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка)
    |                    ТОГДА Организации.Ссылка
    |                ИНАЧЕ Организации.ГоловнаяОрганизация
    |            КОНЕЦ = УчетнаяПолитикаПоПерсоналуОрганизаций.Организация)
    |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.УчетнаяПолитикаПоРасчетуЗарплатыОрганизаций КАК УчетнаяПолитикаПоРасчетуЗарплатыОрганизаций
    |        ПО (ВЫБОР
    |                КОГДА Организации.ГоловнаяОрганизация = ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка)
    |                    ТОГДА Организации.Ссылка
    |                ИНАЧЕ Организации.ГоловнаяОрганизация
    |            КОНЕЦ = УчетнаяПолитикаПоРасчетуЗарплатыОрганизаций.Организация)
    |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.УчетнаяПолитикаПоРасчетуЗарплатыОрганизацийИхПодразделений КАК УчетнаяПолитикаПоРасчетуЗарплатыОрганизацийИхПодразделений
    |        ПО Организации.Ссылка = УчетнаяПолитикаПоРасчетуЗарплатыОрганизацийИхПодразделений.Организация
    |ГДЕ
    |    (&НеОтбирать
    |            ИЛИ Организации.Ссылка = &Ссылка)";
3 PCcomCat
 
02.04.18
12:13
В результате получаю:
                            15,        // ДатаРасчетаПлановогоАванса

                            0,        // ДатаВыплатыАванса

                            0,        // ДатаВыплатыЗарплаты

                            Перечисления.ПорядокСписанияФактическихОтпусков.РасчетнымиДокументами,
                            '30000101',// ДатаПередачиФССВыплатыПособий

А остальные = NULL.

Права на чтение 2-х регистров в запросе, справочника Организации и констант есть.
4 PCcomCat
 
02.04.18
12:22
+(3) Ошибочка: права на чтение есть на все три регистра, на измерения и ресурсы тоже.
Независимо от того, куда вы едете — это в гору и против ветра!