Navision - советы и секреты

  Все выпуски  

Навешиваем ярлыки - грамотно! Работа с навижн из командной строки.


Добрый день!

Начнем, как обычно, с писем:

Добрый день, Андрей.
Спасибо вам за рассылку, уже много нового узнал.
Вопрос у меня по рассылке от 01.02.08:
В функцию где переписывается adoRec во временную таблицу recTmpCustomer, хочу написать так:
"Credit Limit (LCY)" := adoRec.Fields.Item('Credit Limit (LCY)').Value;    
и получаю ошибку:
Этот тип данных не поддерживается C/SIDE. Вы можете использовать данные
любого из следующих типов:
VT_VOID, VT_I2, VT_I4, VT_R4, VT_R8, VT_CY, VT_DATE, VT_BSTR и VT_BOOL
(Сергей Рыбаков)

Сергей, спасибо за письмо, я действительно забыл сказать об этом. Для того, чтобы записать в переменную (поле) типа decimal, поле из рекордсета должно быть типа money. Соответственно, в результате запроса все decimal должны быть приведены к money. Отличие типа money – ограничение на 4 знака после запятой. Для приведения к типу проще всего использовать cast:

SELECT cast( [Credit Limit (LCY)] as money) FROM dbo.[firm$Customer]

Кроме того, Юрий Бариев вполне законно заметил, что конструкция CASE из предыдущего выпуска рассылки у него в 4-й версии работает и в первом варианте :-)
Да, верно, совет поможет лишь тем, кто до сих пор пользуется третьей версией Navision.

А сегодня в рассылке – совет Олега Леонтьева (oleg_leontev@mail.ru, http://www.logic-pfr.narod.ru) по поводу ярлыков к навижн. Встречайте :-)

Навешиваем ярлыки на NAV (запуск из командной строки)

Многие пользователи для создания ярлыка на рабочий стол производят такую операцию в Navision: Файл – Отправить – Создать ярлык (на рабочий стол).
Но не все знают, что клиент Navision можно запускать через командную строку, передавая необходимые параметры через запятую.
Хотя в доках Navision этот способ хорошо описан, да кто их читает :-)
Я делаю просто. После установки клиента на рабочую станцию создаю ярлык (иногда просто копирую с соседней рабочей станции) и в свойствах ярлыка в «Объекте» прописываю вот такую строку:

"%ProgramFiles%\Microsoft Business Solutions-Navision\Client\finsql.exe" 
servername=KazServ008, 
database=MKV_Transmission,
ntauthentication=1, 
nettype=tcp,
company=ООО ""MKV Transmission LTD"",
id=KazMKVNT"
Затем помещаю этот ярлык в каталог C:\Documents and Settings\All Users\Desktop\. Тем самым я добиваюсь того, что простой пользователь мне точно не изменит параметры запуска клиента. Как показывает практика, этот способ хорош для сохранения нервных клеток как у пользователей, так и у администраторов Navision. Особенно когда несколько предприятий и баз данных.

Опишу некоторые параметры:

  • finsql.exe – непосредственно сам клиент Navision для MSSQL (для Navision Database Server – fin.exe);

  • servername=KazServ008 – Имя SQL сервера, можно задать IP адрес MsSQL Server (для Navision Database Server иногда еще передают номер порта сервиса Navision Database Server – KazServ008:10000 или 192.168.20.8:10000);

  • database=MKV_Transmission – имя базы данных;

  • nettype=tcp – nettype=tcp он и в Африке – nettype=tcp;

  • company=ООО ""MKV Transmission LTD"" – название фирмы (если в наименовании фирмы есть двойные кавычки, как у меня, то в строке параметров будет вот так – ООО ""MKV Transmission LTD"");

  • ntauthentication=1 – Тип авторизации пользователя, если 1 – то авторизация NT. Если 0 – авторизация пользователя из базы данных;

  • id=KazMKVNT – создаст KazMKVNT.zup и будет работать с ним вместо fin.zup (считаю, что для каждой фирмы нужен свой zup).

Можно еще задать домашнюю форму (это форма, которую пользователь увидит после загрузки клиента Navision). Но целесообразнее ID формы задать в таблице 91 «User Setup». Хотя это уже другая история :-)

На сегодня все. До свидания :-)


P.S. Хотите поделиться своими знаниями? Всегда Welcome! Любые статьи, Q & A, FAQ, советы – все опубликуем, обязательно укажем автора и дадим линк на сайт :-)

С наилучшими пожеланиями,
Андрей Стрельников.

Группа «Технологии как Искусство».
Разработки в сфере Navision. Скоростные оптимизации, системная интеграция.
e-mail: mailbox@naviart.ru
www: http://naviart.ru

-------
Что такое главное?


В избранное