Имя: Пароль:
1C
1С v8
Разный результат запроса у разных пользователей
0 AlexTank
 
18.09.19
01:31
КА 1.1.
Из печатной формы запускается запрос к регистру ТоварыОрганизаций - Остатки. С какого момента перестала работать печать - у пользователя с полными правами работает нормально, у менеджера - нет, выдает пустой результат. Ограничений по записям никаких не установлено. Запрос поймал, из консоли он у обоих пользователей выдает один и тот же результат. Менеджер нормально видит этот регистр.
Подскажите в какую сторону копать.
1 ppa32
 
18.09.19
03:23
(0) Запрос в студию!
2 ppa32
 
18.09.19
03:26
(0) Кэш еще попробуй почистить у манагера
3 Chameleon1980
 
18.09.19
04:03
В сторону конфигуратора.
4 Chameleon1980
 
18.09.19
04:04
В смысле в сторону отладчика
5 AlexTank
 
18.09.19
06:57
(4) В отладчике явно видно, что результат возвращается разный. Параметры на входе одинаковые. Сейчас попробую запрос достать, вчера не сохранил.
6 AlexTank
 
18.09.19
07:23
Запрос
ВЫБРАТЬ РАЗРЕШЕННЫЕ
    ВложенныйЗапрос.флОстатокОрганизации                              КАК флОстатокОрганизации,
    ВложенныйЗапрос.Номенклатура                                     КАК Номенклатура,
    ВложенныйЗапрос.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент КАК КоэффициентХраненияОстатков,
    ВложенныйЗапрос.ХарактеристикаНоменклатуры                       КАК ХарактеристикаНоменклатуры,
    ВложенныйЗапрос.СерияНоменклатуры                                КАК СерияНоменклатуры,
    ВложенныйЗапрос.СерияНоменклатуры.СрокГодности                   КАК СрокГодности,
    ПРЕДСТАВЛЕНИЕ(ВложенныйЗапрос.СерияНоменклатуры)                   КАК СерияНоменклатурыПредставление,
    ВложенныйЗапрос.Качество                                         КАК Качество,
    ВложенныйЗапрос.Склад                                            КАК Склад,
    МИНИМУМ(ВложенныйЗапрос.Остаток)                                 КАК Остаток,
    МИНИМУМ(ВложенныйЗапрос.ОстатокКПередаче)                        КАК ОстатокКПередаче
ИЗ
    (ВЫБРАТЬ
    ложь                                                   КАК флОстатокОрганизации,
    ТоварыНаСкладахОстатки.Номенклатура                   КАК Номенклатура,
    ТоварыНаСкладахОстатки.ХарактеристикаНоменклатуры     КАК ХарактеристикаНоменклатуры,
    ТоварыНаСкладахОстатки.СерияНоменклатуры              КАК СерияНоменклатуры,
    ТоварыНаСкладахОстатки.СерияНоменклатуры.СрокГодности КАК СрокГодности,
    ПРЕДСТАВЛЕНИЕ(ТоварыНаСкладахОстатки.СерияНоменклатуры) КАК СерияНоменклатурыПредставление,
    ТоварыНаСкладахОстатки.Качество КАК Качество,
    ТоварыНаСкладахОстатки.Склад КАК Склад,
    ТоварыНаСкладахОстатки.КоличествоОстаток              КАК Остаток,
    ТоварыКПередачеСоСкладовОстатки.КоличествоОстаток     КАК ОстатокКПередаче
ИЗ

(ВЫБРАТЬ
    ТоварыНаСкладахОстатки.Номенклатура,
    ТоварыНаСкладахОстатки.ХарактеристикаНоменклатуры,
    ТоварыНаСкладахОстатки.СерияНоменклатуры,
    ТоварыНаСкладахОстатки.Качество,
    ТоварыНаСкладахОстатки.Склад,
    СУММА(ТоварыНаСкладахОстатки.КоличествоОстаток) КАК КоличествоОстаток
ИЗ
    (ВЫБРАТЬ
        ТоварыНаСкладах.Номенклатура,
        ТоварыНаСкладах.ХарактеристикаНоменклатуры,
        ТоварыНаСкладах.СерияНоменклатуры,
        ТоварыНаСкладах.Качество,
        ТоварыНаСкладах.Склад,
        ТоварыНаСкладах.КоличествоОстаток
    ИЗ
        РегистрНакопления.ТоварыНаСкладах.Остатки(&КонДата, Склад В (&Склад)
           И Номенклатура В (&Номенклатура)) ТоварыНаСкладах
    ОБЪЕДИНИТЬ ВСЕ
    ВЫБРАТЬ
        ТоварыВРознице.Номенклатура,
        ТоварыВРознице.ХарактеристикаНоменклатуры,
        ТоварыВРознице.СерияНоменклатуры,
        ТоварыВРознице.Качество,
        ТоварыВРознице.Склад,
        ТоварыВРознице.КоличествоОстаток
    ИЗ
        РегистрНакопления.ТоварыВРознице.Остатки(&КонДата, Склад В (&Склад)
           И Номенклатура В (&Номенклатура)) ТоварыВРознице
    ) КАК ТоварыНаСкладахОстатки
    СГРУППИРОВАТЬ ПО
        ТоварыНаСкладахОстатки.Номенклатура,
        ТоварыНаСкладахОстатки.ХарактеристикаНоменклатуры,
        ТоварыНаСкладахОстатки.СерияНоменклатуры,
        ТоварыНаСкладахОстатки.Качество,
        ТоварыНаСкладахОстатки.Склад
) ТоварыНаСкладахОстатки

ЛЕВОЕ СОЕДИНЕНИЕ
    РегистрНакопления.ТоварыКПередачеСоСкладов.Остатки(&КонДата,
        Склад В (&Склад)
      И Номенклатура               В (&Номенклатура)
    ) КАК ТоварыКПередачеСоСкладовОстатки
ПО
    ТоварыНаСкладахОстатки.Номенклатура               = ТоварыКПередачеСоСкладовОстатки.Номенклатура
    И ТоварыНаСкладахОстатки.ХарактеристикаНоменклатуры = ТоварыКПередачеСоСкладовОстатки.ХарактеристикаНоменклатуры
    И ТоварыНаСкладахОстатки.СерияНоменклатуры          = ТоварыКПередачеСоСкладовОстатки.СерияНоменклатуры
    И ТоварыНаСкладахОстатки.Качество                   = ТоварыКПередачеСоСкладовОстатки.Качество

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
   истина                                                               КАК флОстатокОрганизации,
    ТоварыОрганизацийОстатки.Номенклатура                          КАК Номенклатура,
    ТоварыОрганизацийОстатки.ХарактеристикаНоменклатуры            КАК ХарактеристикаНоменклатуры,
    ТоварыОрганизацийОстатки.СерияНоменклатуры                     КАК СерияНоменклатуры,
    ТоварыОрганизацийОстатки.СерияНоменклатуры.СрокГодности        КАК СрокГодности,
    ПРЕДСТАВЛЕНИЕ(ТоварыОрганизацийОстатки.СерияНоменклатуры)      КАК СерияНоменклатурыПредставление,
    ТоварыОрганизацийОстатки.Качество                              КАК Качество,
    ТоварыОрганизацийОстатки.Склад                                 КАК Склад,
    ТоварыОрганизацийОстатки.КоличествоОстаток                     КАК Остаток,
    ТоварыКПередачеОрганизацийОрганизацийОстатки.КоличествоОстаток КАК ОстатокКПередаче
ИЗ
    РегистрНакопления.ТоварыОрганизаций.Остатки(&КонДата,
Номенклатура               В (&Номенклатура)
          И Комиссионер                = &Комиссионер
            И Склад В (&Склад)
    ) КАК ТоварыОрганизацийОстатки
ЛЕВОЕ СОЕДИНЕНИЕ
    РегистрНакопления.ТоварыКПередачеОрганизаций.Остатки(&КонДата,
Номенклатура               В (&Номенклатура)
            И Склад В (&Склад)
    ) КАК ТоварыКПередачеОрганизацийОрганизацийОстатки
ПО
    ТоварыОрганизацийОстатки.Номенклатура                 = ТоварыКПередачеОрганизацийОрганизацийОстатки.Номенклатура
    И ТоварыОрганизацийОстатки.ХарактеристикаНоменклатуры = ТоварыКПередачеОрганизацийОрганизацийОстатки.ХарактеристикаНоменклатуры
    И ТоварыОрганизацийОстатки.СерияНоменклатуры          = ТоварыКПередачеОрганизацийОрганизацийОстатки.СерияНоменклатуры
    И ТоварыОрганизацийОстатки.Организация = ТоварыКПередачеОрганизацийОрганизацийОстатки.Организация
    И ТоварыОрганизацийОстатки.Качество                   = ТоварыКПередачеОрганизацийОрганизацийОстатки.Качество
    И ТоварыОрганизацийОстатки.Склад                      = ТоварыКПередачеОрганизацийОрганизацийОстатки.Склад) КАК ВложенныйЗапрос

СГРУППИРОВАТЬ ПО
    ВложенныйЗапрос.флОстатокОрганизации,
    ВложенныйЗапрос.Номенклатура,
    ВложенныйЗапрос.ХарактеристикаНоменклатуры,
    ВложенныйЗапрос.СерияНоменклатуры,
    ВложенныйЗапрос.Качество,
    ВложенныйЗапрос.Склад
7 AlexTank
 
18.09.19
07:25
Вторая часть запроса, где истина КАК флОстатокОрганизации
не возвращает данных.
Это остатки другой организации. Их видит директор, но почему то не видит менеджер.
8 ДенисЧ
 
18.09.19
07:25
Ради интереса убери РАЗРЕШЕННЫЕ.
Если есть поражение в правах - сразу увидишь
9 вым
 
18.09.19
07:30
права права права
10 AlexTank
 
18.09.19
07:31
(8) убирал, результата не дало
11 AlexTank
 
18.09.19
07:32
(9) в каком месте их давать? У директора полные права, не могу ж я всем такие дать :)
12 AlexTank
 
18.09.19
07:36
Получается какая фишка - директор на этом складе видит остатки другой организации. Тк склад общий - это всех устраивает
13 Мимохожий Однако
 
18.09.19
07:36
(11) делал как в (2). Найди еще кнопочку перехода к стандартным настройкам отчета
14 AlexTank
 
18.09.19
07:46
(13) Кэш где-то на сервере хранится?
Это не отчет, это функция
ПолучитьТаблицуОстатковПоСериям модуля управление запасами
15 Мимохожий Однако
 
18.09.19
07:52
16 AlexTank
 
18.09.19
07:57
(15) спасибо. Но я с разных машин запускаю запрос, под одним и тем же пользователем.вернее отлаживал то совсем с другой
17 AlexTank
 
18.09.19
08:20
У меня ещё один вопрос - почему при запросе из регистров ни в одном месте не указывается организация в виде фильтрующего параметра?
Оно каким то другим механизмом режется при запросе?
18 ДенисЧ
 
18.09.19
09:04
Возьми на копии.
На этом пользователе проверь. есть проблема? Если есть, то дай ему в копии полные права. Проблема осталась?
19 AlexTank
 
18.09.19
09:43
(18) да, когда выдаешь полные права, проблема уходит
20 palsergeich
 
18.09.19
09:54
(19) с РЛС развлекались?)
21 palsergeich
 
18.09.19
09:55
(20) вспе прочитал внимательно, было такое кеш чистили везде и прошло.
22 AlexTank
 
18.09.19
12:12
(20) нет, конфа стандартная до мозга костей. Печатная форма самописанная, но даже в ней использую ссылки на стандартные модули
23 AlexTank
 
18.09.19
12:13
(21) попробую
24 AlexTank
 
18.09.19
19:13
(21) кыш почистил, толку 0
:-(
25 ДенисЧ
 
18.09.19
19:35
рлс однозначно.
Ищи
26 Chameleon1980
 
18.09.19
19:48
Да пофиг, что впф самописная. РЛС рубит запрос
27 Sapiens_bru
 
18.09.19
20:08
Собрать событие SDBL в ТЖ от разных пользователей.
28 MakaMaka
 
18.09.19
21:44
(0) RLS
29 AlexTank
 
18.09.19
22:22
Ларчик просто открывался. Запрос достаточно большой, чтобы отследить, что в случае с директором он не содержит две строки.
Строки вида Организация                = &Организация

На них влияют две переменные

1. УправлениеДопПравамиПользователей.РазрешеноПревышениеОстаткаТоваровОрганизации(Организация);

И 2. СтруктураУП.ВестиУчетТоваровОрганизацийВРазрезеСкладов;

СтруктураУП = ОбщегоНазначения.ПолучитьПараметрыУчетнойПолитикиУпр(ТекущаяДата(), Ложь);

Вот такие пироги. Помог плагин Compare для n++

Всем спасибо за версии.
30 TormozIT
 
гуру
19.09.19
00:23
(27) Не SDBL, а DBMSSQL - только там видны RLS добавки. В консоли запросов ИР при наличии доступа к MSSQL это можно увидеть и без включения техножурнала - https://i.imgur.com/SK85YzA.png , https://i.imgur.com/AjyN4t4.png
31 Chameleon1980
 
19.09.19
04:02
(29) ну я же говорил луна в раке.
32 AlexTank
 
19.09.19
09:45
(31) да не, это у нас всего полвторого ночи  было, а на удалённом сервере 6.30 :)
Думаю всего лишь не та фаза лунно-солнечного наложения :)
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший