Ошибка в сценарии регистрации при сравнении переменных

Обсуждение технических вопросов по продуктам Novell

Ошибка в сценарии регистрации при сравнении переменных

Сообщение Orion » 28 фев 2003, 05:55

Здравствуйте!
У меня такой вопрос. Почему в сценарии регистрации при сравнении некоторых системных переменных выдается ошибка?
Например, такая строка:

Код: Выделить всё
If INITIALS ="ME" THEN Write "Получилось?"

даёт ошибку:

Код: Выделить всё
Ошибка процедуры:
LOGIN-4.22.00-600: Невозможно интерпретировать строку.


При этом сравнение некоторых других системных переменных проходит безошибочно.
Orion
 
Сообщения: 4
Зарегистрирован: 28 фев 2003, 05:50

Нда. как все запущено.

Сообщение Андрей Фисенко » 28 фев 2003, 19:56

If %INITIALS ="ME" THEN Write "Получилось?"

http://support.novell.com/cgi-bin/searc ... 020568.htm
Андрей Фисенко
 
Сообщения: 1311
Зарегистрирован: 05 июн 2002, 08:13
Откуда: Красноярск

Сообщение Orion » 01 мар 2003, 21:02

Извините, нельзя ли отвечать поподробнее?

Вариант
If %INITIALS ="ME" THEN Write "Получилось?"

дает такую же ошибку.
На новелловском саппорте эта статья тоже по сути ничего не объясняет. Есть "USER PROPERTIES, которые не работают", а что по поводу таких переменных, как например "INITIALS", "FACSIMILE_TELEPHONE_NUMBER", "GIVEN_NAME" и некоторых других, сравнение значений с которыми дает ошибку?
Orion
 
Сообщения: 4
Зарегистрирован: 28 фев 2003, 05:50

Сообщение Андрей Тр. aka RH » 02 мар 2003, 06:46

А можно поподоробнее - какая версия Netware, клиента ( клиентов ? ), какие именно переменные вызывают подобную ошибку ( а какие - нет ) ? Ну и что говорит просто WRITE "Initials = %INITIALS" ?
Даешь отдельный раздел по ZENworks ... :bad-words: .. и печати !
Аватара пользователя
Андрей Тр. aka RH
 
Сообщения: 3937
Зарегистрирован: 18 июн 2002, 11:27

Сообщение Orion » 02 мар 2003, 13:53

Netware 4.11.
Проверялось под клиентами:
-версии 3.32 на Win98SE
-версии 4.82 на WinXP
Если написать
Код: Выделить всё
WRITE "%INITIALS"

то корректно выдается содержимое поля "Инициалы", т.е. в моем случае, "ME".
Как минимум, три переменных INITIALS, FACSIMILE_TELEPHONE_NUMBER, GIVEN_NAME выдают ошибку, которую я уже приводил выше(вообще таких переменных больше, просто все, которые проверял, не помню). В то же время, например, переменные OS, DAY, MONTH, P_STATION, GREETING_TIME, MEMBER OF в условном операторе сравниваются без ошибок.
:?: У кого-нибудь вообще работает такая строка:
Код: Выделить всё
If INITIALS ="ME" THEN Write "Получилось?"
Orion
 
Сообщения: 4
Зарегистрирован: 28 фев 2003, 05:50

Сообщение Иван Левшин aka Ivan L. » 03 мар 2003, 10:31

Дык... Переменные вызываются через %. Т.е. надо писать

If "%INITIALS" ="ME" THEN Write "Получилось?"

а не

If INITIALS ="ME" THEN Write "Получилось?"

Я при регистрации использую в т.ч. и данные из каталога, а не только готовые переменные типа %CN. Пример - проверка пуст/не пуст сценарий для контейнера:

If "%.SVF.NIRCTU;LOGIN_SCRIPT"<>"" Then
Иван Левшин aka Ivan L.
 
Сообщения: 2576
Зарегистрирован: 05 июн 2002, 18:36
Откуда: Новомосковск, Тул. обл.

Сообщение Orion » 04 мар 2003, 20:09

Большое спасибо, всё получилось. Моя ошибка была в том, что я не заключал переменную в кавычки. Кстати, а почему у некоторых переменных это проходит?
Orion
 
Сообщения: 4
Зарегистрирован: 28 фев 2003, 05:50


Вернуться в Novell

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 59

cron