Имя: Пароль:
1C
1С v8
БП 3. Дать права на чтение всем видам субконто
,
0 егаис
 
14.09.21
08:04
Есть ограниченный профиль, только на чтение ряда отчетов.
Написан небольшой внешний отчет на СКД:
ВЫБРАТЬ
    ХозрасчетныйОстатки.Счет КАК Счет,
    ХозрасчетныйОстатки.Субконто1 КАК Номенклатура,
    ХозрасчетныйОстатки.Субконто1.Код КАК Код,
    ХозрасчетныйОстатки.Субконто1.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
    ХозрасчетныйОстатки.Субконто1.ЕдиницаИзмерения.Код КАК ЕдиницаИзмеренияКод,
    ХозрасчетныйОстатки.Субконто2 КАК Склад,
    НАЧАЛОПЕРИОДА(ХозрасчетныйОстатки.Субконто3.Дата, ДЕНЬ) КАК ДатаПоступления,
    ХозрасчетныйОстатки.КоличествоОстаток КАК КоличествоОстаток,
    ХозрасчетныйОстатки.СуммаОстаток КАК СуммаОстаток
ИЗ
    РегистрБухгалтерии.Хозрасчетный.Остатки(&Период, , &ВидыСубконто, Организация = &Организация) КАК ХозрасчетныйОстатки
{ГДЕ Субконто2 = &Склад}    

При открытии начинает ругаться на отсутствие прав на чтение того или итого справочника.
Вручную очень долгий процесс добавления в новую роль.
Есть более простой способ?
1 егаис
 
14.09.21
08:09
Странно, виды субконто описаны в ВТ, но хочет доступ ко всем типам субконто.
2 piter3
 
14.09.21
08:09
выразить
3 hhhh
 
14.09.21
08:13
(1) вот здесь хрень какая-то: Субконто3.Дата. Там похоже в Субконто3 могут быть штук 50 разных документов и ко всем надо обеспечить доступ.
4 егаис
 
14.09.21
08:14
(2), (3) Верно, ограничим через выразить
спасибо
5 егаис
 
14.09.21
08:17
а Выразить на составной тип возможно? Партия может быть и ПТиУ, и Партия, и Оприходование...
6 hhhh
 
14.09.21
08:26
(5) левым соединением. 3 левых соединения.
7 егаис
 
14.09.21
09:37
ВЫБРАТЬ
    ХозрасчетныйОстатки.Счет КАК Счет,
    ВЫРАЗИТЬ(ХозрасчетныйОстатки.Субконто1 КАК Справочник.Номенклатура) КАК Номенклатура,
    ВЫРАЗИТЬ(ХозрасчетныйОстатки.Субконто1 КАК Справочник.Номенклатура).Код КАК Код,
    ВЫРАЗИТЬ(ХозрасчетныйОстатки.Субконто1 КАК Справочник.Номенклатура).ЕдиницаИзмерения КАК ЕдиницаИзмерения,
    ВЫРАЗИТЬ(ХозрасчетныйОстатки.Субконто1 КАК Справочник.Номенклатура).ЕдиницаИзмерения.Код КАК ЕдиницаИзмеренияКод,
    ВЫРАЗИТЬ(ХозрасчетныйОстатки.Субконто3 КАК Справочник.Склады) КАК Склад,
    ВЫБОР
        КОГДА НЕ ПоступлениеТоваровУслуг.Ссылка ЕСТЬ NULL
            ТОГДА НАЧАЛОПЕРИОДА(ПоступлениеТоваровУслуг.Ссылка.Дата, ДЕНЬ)
        КОГДА НЕ Партия.Ссылка ЕСТЬ NULL
            ТОГДА НАЧАЛОПЕРИОДА(Партия.Ссылка.Дата, ДЕНЬ)
        КОГДА НЕ ОприходованиеТоваров.Ссылка ЕСТЬ NULL
            ТОГДА НАЧАЛОПЕРИОДА(ОприходованиеТоваров.Ссылка.Дата, ДЕНЬ)
        КОГДА НЕ ВозвратТоваровОтПокупателя.Ссылка ЕСТЬ NULL
            ТОГДА НАЧАЛОПЕРИОДА(ВозвратТоваровОтПокупателя.Ссылка.Дата, ДЕНЬ)
        КОГДА НЕ ВозвратМатериаловИзЭксплуатации.Ссылка ЕСТЬ NULL
            ТОГДА НАЧАЛОПЕРИОДА(ВозвратМатериаловИзЭксплуатации.Ссылка.Дата, ДЕНЬ)
        КОГДА НЕ АвансовыйОтчет.Ссылка ЕСТЬ NULL
            ТОГДА НАЧАЛОПЕРИОДА(АвансовыйОтчет.Ссылка.Дата, ДЕНЬ)
    КОНЕЦ КАК ДатаПоступления,
    ХозрасчетныйОстатки.КоличествоОстаток КАК КоличествоОстаток,
    ХозрасчетныйОстатки.СуммаОстаток КАК СуммаОстаток
ИЗ
    РегистрБухгалтерии.Хозрасчетный.Остатки(&Период, , &ВидыСубконто, Организация = &Организация) КАК ХозрасчетныйОстатки
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг
        ПО ХозрасчетныйОстатки.Субконто2 = ПоступлениеТоваровУслуг.Ссылка
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.АвансовыйОтчет КАК АвансовыйОтчет
        ПО ХозрасчетныйОстатки.Субконто2 = АвансовыйОтчет.Ссылка
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ВозвратМатериаловИзЭксплуатации КАК ВозвратМатериаловИзЭксплуатации
        ПО ХозрасчетныйОстатки.Субконто2 = ВозвратМатериаловИзЭксплуатации.Ссылка
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ВозвратТоваровОтПокупателя КАК ВозвратТоваровОтПокупателя
        ПО ХозрасчетныйОстатки.Субконто2 = ВозвратТоваровОтПокупателя.Ссылка
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.Партия КАК Партия
        ПО ХозрасчетныйОстатки.Субконто2 = Партия.Ссылка
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ОприходованиеТоваров КАК ОприходованиеТоваров
        ПО ХозрасчетныйОстатки.Субконто2 = ОприходованиеТоваров.Ссылка
{ГДЕ
    (ХозрасчетныйОстатки.Субконто3 = &Склад)}

Но почему-то колонка "Дата документа" не выводится в отчет под урезанными правами.
Документы все описаны. Что еще может быть?
8 егаис
 
14.09.21
09:39
в консоли под данным юзером значение "Дата поступления" заполнены по всем строкам, т.е. описаны все типы документов.
9 runoff_runoff
 
14.09.21
09:49
ПоступлениеТоваровУслуг.Ссылка.Дата = ПоступлениеТоваровУслуг.Дата и т.д.
10 runoff_runoff
 
14.09.21
09:50
дата не выводится, потому что в субконто есть еще документы, которые недоступны пользователю..

ГДЕ
ТИПЗНАЧЕНИЯ(ХозрасчетныйОстатки.Субконто2 В (ТИП(Документ.ПоступлениеТоваровУслуг), ..., ..., ...)
11 runoff_runoff
 
14.09.21
09:51
РАЗРЕШЕННЫЕ опять же не помешают..
12 егаис
 
14.09.21
10:05
ВЫБРАТЬ РАЗРЕШЕННЫЕ
    ХозрасчетныйОстатки.Счет КАК Счет,
    ВЫРАЗИТЬ(ХозрасчетныйОстатки.Субконто1 КАК Справочник.Номенклатура) КАК Номенклатура,
    ВЫРАЗИТЬ(ХозрасчетныйОстатки.Субконто1 КАК Справочник.Номенклатура).Код КАК Код,
    ВЫРАЗИТЬ(ХозрасчетныйОстатки.Субконто1 КАК Справочник.Номенклатура).ЕдиницаИзмерения КАК ЕдиницаИзмерения,
    ВЫРАЗИТЬ(ХозрасчетныйОстатки.Субконто1 КАК Справочник.Номенклатура).ЕдиницаИзмерения.Код КАК ЕдиницаИзмеренияКод,
    ВЫРАЗИТЬ(ХозрасчетныйОстатки.Субконто3 КАК Справочник.Склады) КАК Склад,
    ВЫБОР
        КОГДА НЕ ПоступлениеТоваровУслуг.Ссылка ЕСТЬ NULL
            ТОГДА НАЧАЛОПЕРИОДА(ПоступлениеТоваровУслуг.Дата, ДЕНЬ)
        КОГДА НЕ Партия.Ссылка ЕСТЬ NULL
            ТОГДА НАЧАЛОПЕРИОДА(Партия.Дата, ДЕНЬ)
        КОГДА НЕ ОприходованиеТоваров.Ссылка ЕСТЬ NULL
            ТОГДА НАЧАЛОПЕРИОДА(ОприходованиеТоваров.Дата, ДЕНЬ)
        КОГДА НЕ ВозвратТоваровОтПокупателя.Ссылка ЕСТЬ NULL
            ТОГДА НАЧАЛОПЕРИОДА(ВозвратТоваровОтПокупателя.Дата, ДЕНЬ)
        КОГДА НЕ ВозвратМатериаловИзЭксплуатации.Ссылка ЕСТЬ NULL
            ТОГДА НАЧАЛОПЕРИОДА(ВозвратМатериаловИзЭксплуатации.Дата, ДЕНЬ)
        КОГДА НЕ АвансовыйОтчет.Ссылка ЕСТЬ NULL
            ТОГДА НАЧАЛОПЕРИОДА(АвансовыйОтчет.Дата, ДЕНЬ)
    КОНЕЦ КАК ДатаПоступления,
    ХозрасчетныйОстатки.КоличествоОстаток КАК КоличествоОстаток,
    ХозрасчетныйОстатки.СуммаОстаток КАК СуммаОстаток
ИЗ
    РегистрБухгалтерии.Хозрасчетный.Остатки(&Период, , &ВидыСубконто, Организация = &Организация) КАК ХозрасчетныйОстатки
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг
        ПО ХозрасчетныйОстатки.Субконто2 = ПоступлениеТоваровУслуг.Ссылка
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.АвансовыйОтчет КАК АвансовыйОтчет
        ПО ХозрасчетныйОстатки.Субконто2 = АвансовыйОтчет.Ссылка
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ВозвратМатериаловИзЭксплуатации КАК ВозвратМатериаловИзЭксплуатации
        ПО ХозрасчетныйОстатки.Субконто2 = ВозвратМатериаловИзЭксплуатации.Ссылка
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ВозвратТоваровОтПокупателя КАК ВозвратТоваровОтПокупателя
        ПО ХозрасчетныйОстатки.Субконто2 = ВозвратТоваровОтПокупателя.Ссылка
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.Партия КАК Партия
        ПО ХозрасчетныйОстатки.Субконто2 = Партия.Ссылка
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ОприходованиеТоваров КАК ОприходованиеТоваров
        ПО ХозрасчетныйОстатки.Субконто2 = ОприходованиеТоваров.Ссылка
ГДЕ
    ТИПЗНАЧЕНИЯ(ХозрасчетныйОстатки.Субконто2) В (ТИП(Документ.ПоступлениеТоваровУслуг), ТИП(Документ.Партия), ТИП(Документ.ОприходованиеТоваров), ТИП(Документ.ВозвратТоваровОтПокупателя), ТИП(Документ.ВозвратМатериаловИзЭксплуатации), ТИП(Документ.АвансовыйОтчет))
    И (ХозрасчетныйОстатки.Субконто3 = &Склад
            ИЛИ ХозрасчетныйОстатки.Субконто3 = ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка))

все равно не выводится
13 егаис
 
14.09.21
10:10
(10) это вообще лишнее
В запросе явное соединение с документами
14 runoff_runoff
 
14.09.21
12:11
(13) явное соединение с документами.. а выборка из регистра полная..
15 hhhh
 
14.09.21
12:18
(13) может КОГДА НЕ (ПоступлениеТоваровУслуг.Ссылка ЕСТЬ NULL)

в скобках?
16 егаис
 
14.09.21
13:51
(14) перевожу запрос в консоль, все формируется, нет NULL
17 егаис
 
14.09.21
13:52
(15) нет