Имя: Пароль:
1C
1C 7.7
v7: 77 Сервер 2008, ограниченная запись, код не работает
0 AlexandrM_DP
 
13.04.12
14:25
1С через RDP Server 2008
Этот код не работает если пользователь системы не администратор
Сообщить(ВыбПользователь);
Сообщить(ТипЗначенияСтр(ВыбПользователь));
Сообщить(ТекстЗапроса);
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда

Результат
Вася
Справочник
//{{ЗАПРОС(Запрос)
Период С Дата1 по Дата2;
ОбрабатыватьДокументы все;
Обрабатывать НеПомеченныеНаУдаление;
Без итогов;
ДолгПоДокументам = Документ.ДолгПоДокументам.ТекущийДокумент;
Автор = Документ.ДолгПоДокументам.Автор;
Группировка ДолгПоДокументам;
Условие(Автор=ВыбПользователь);
   
ВЫБПОЛЬЗОВАТЕЛЬ<<?>>
Переменная не определена (ВЫБПОЛЬЗОВАТЕЛЬ)
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
{Отчет.ДолгиПоДокументам.Форма.Модуль(87)}: Условие(Автор=ВыбПользователь <<?>> );
Запрос[13] : Ошибка в выражении 'ВыбПользователь'
1 пипец
 
13.04.12
14:27
гон какой то ...
2 Ёпрст
 
13.04.12
14:32
сказки
3 Ёпрст
 
13.04.12
14:33
ВыбПользователь - это что ? Переменная модуля ? Экспортная глобальника ? Реквизит диалога ?
4 Ёпрст
 
13.04.12
14:33
сам запрос откуда выполняется ?
5 пипец
 
13.04.12
14:34
видать это полученная скриптом переменная
6 Ёпрст
 
13.04.12
14:36
вот так работает ?

Вася = ВыбПользователь.ТекущийЭлемент();

ТекстЗапроса="
....
|Условие(Автор=Вася);
7 AlexandrM_DP
 
13.04.12
14:38
Это реквизит диалога
Сообщить(ВыбПользователь);
дает Вася
Сообщить(ТипЗначенияСтр(ВыбПользователь));
дает Справочник
8 Ёпрст
 
13.04.12
14:38
(7) супер.. и в коде есть еще поди

Перем ВыбПользователь;

?
9 пипец
 
13.04.12
14:41
жж*те , тока я до сих пор не пойму каким образом тут системные права ?
10 AlexandrM_DP
 
13.04.12
14:47
Формирование запроса
Если ВыбПользователь.Выбран()=1 Тогда
ТекстЗапроса=ТекстЗапроса+"Условие(Автор=ВыбПользователь);
|    ";
стрЗаголовок=стрЗаголовок+"отбор по Менеджеру - "+СокрЛП(ВыбПользователь)+РазделительСтрок;
КонецЕсли;

Открытие формы
Процедура ПриОткрытии()
   Если НазваниеНабораПрав()="Администратор" Тогда
   Иначе
       ВыбПользователь=Пользователь;

Тесты идут под "Администратор" 1С в ВыбПользователь выбран "Вася"
11 Ёпрст
 
13.04.12
14:51
(10) еще раз: системные права и какие либо другие (даже 1с-ые) на выполнение запроса никак не влияют.
Ошибка в коде.
Фирштейн ?
12 Torquader
 
13.04.12
15:22
Объект запрос где создаётся ?
13 AlexandrM_DP
 
13.04.12
15:44
(11) Вы не поверите, но например работа с объектом XBase, в некоторых случаях, идет с использованием каталога старта приложения. И на Server 2008 где ограничены права пользователей на этот каталог, получаются более интерессные проблемы.

Проблема в том что один и тот же код 1С под системным администратором работает, а под пользователем нет. И проблема что это не единичное место.

Вот еще один код
Дает такую ошибку конфа типовая
П = СоздатьОбъект("Периодический");
Сообщить(Д);
Сообщить(Кол);
Сообщить(Значение);
Сообщить(Тип);
П.ИспользоватьОбъект(Кол, Элемент);
--- Результат для поля КУРС
09.04.12
КУРС
1043.8065
Курс НБУ
--- Результат для поля КРАТНОСТЬ
09.04.12
КРАТНОСТЬ
100
Кратность
----
П.ИспользоватьОбъект(Кол, Элемент);
{Обработка.СписокПериодическихРеквизитов.Форма.Модуль(196)}: КРАТНОСТЬ не является константой или периодическим параметром!

А они оба периодические.

(6) Это сработало, но я не нонимаю почему
ТТТ = ВыбПользователь.ТекущийЭлемент();
ТекстЗапроса=ТекстЗапроса+"Условие(Автор=ТТТ);
и это тоже
ТТТ = ВыбПользователь;
ТекстЗапроса=ТекстЗапроса+"Условие(Автор=ТТТ);
14 AlexandrM_DP
 
13.04.12
15:44
(12) в той же процедуре несколькими строками выше
15 Ёпрст
 
13.04.12
15:56
поди еще и хохляцкая конфа ?
16 Ёпрст
 
13.04.12
15:57
>>>но например работа с объектом XBase

какое отношение иксбейс имеет к запросу ?
17 AlexandrM_DP
 
13.04.12
16:01
(15) Да
(16) К тому что не факт, что 1С запрос не трансформирует в мелкие, которые пытается создать в каких-то папках, и поэтому все валится.
18 Ёпрст
 
13.04.12
16:04
(17) гы..
Це же баян.
Выстави везде в региональных настройках винды русския язык и наслаждайся
19 Ёпрст
 
13.04.12
16:06
>>> К тому что не факт, что 1С запрос не трансформирует в мелкие, которые пытается создать в каких-то папках, и поэтому все валится

и откуда трава то ?

Результатом запроса есть табличка в дбф в темповой папке, если че.. и у любого юзверя право на чтение с этой папки есть всегда
20 andrewks
 
13.04.12
16:06
(18) я, может, ошибаюсь, но тот баян играет независимо от уровня прав, не?
21 Ёпрст
 
13.04.12
16:07
(20) да, он влияет на ошибки вроде " не является константой или периодическим параметром"
и им подобные..
22 andrewks
 
13.04.12
16:08
(21) хех, как у Билли и Бори всё запущено...
23 Ёпрст
 
13.04.12
16:10
ага, и это тока на Win7/2008
24 Torquader
 
13.04.12
16:18
Пропиши в запуске /tИмяТемрДиректории и дай полные права на неё - иногда "умная" 1С не находит TEMP, если в нём пробелы (в а Local Setting\Temp пробелы есть всегда).
25 AlexandrM_DP
 
13.04.12
16:25
(23)
Вы совершенно правы.
Огромное спасибо.
В региональных у пользователя нужно ставить "Русский/Россия"
Проблема решена.
26 andrewks
 
13.04.12
16:28
(23) т.е., например, у админа укр. кодовая - у него пашет, а у юзера такая же укр.кодовая, но у него не пашет?  я думал, независимо от админ/юзер, глюк проявляется при укр.кодовой
27 Ёпрст
 
13.04.12
16:29
(26) всё верно, от прав это не зависит
28 andrewks
 
13.04.12
16:29
(27) тогда я не совсем понял (25). или просто у админа рус.локаль была выставлена?
29 AlexandrM_DP
 
13.04.12
16:53
(28) Да проблема не в правах.
Сервер 2008 официально купленный в Украине.
Как мне сказали при установке был вариант Англ или Укр ставить
Поставили Укр, админу сделали Россия/Русский, а пользователи по умолчанию. Интерфейс у всех русский.
В БД установили "+текущая кодовая".
В результате что-то работает что-то нет.
30 AlexandrM_DP
 
13.04.12
16:55
Причем многое что работает. Организация (15 операторов) 3 дня отработала так. Просто в 2 местах появлялась ошибка.
31 AlexandrM_DP
 
13.04.12
16:57
(30) Неделю оказывается работают так