Навешиваем ярлыки - грамотно! Работа с навижн из командной строки.
Добрый день!
Начнем, как обычно, с писем:
Добрый день, Андрей.
Спасибо вам за рассылку, уже много нового узнал.
Вопрос у меня по рассылке от 01.02.08:
В функцию где переписывается adoRec во временную таблицу recTmpCustomer, хочу написать так:
Этот тип данных не поддерживается 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.
Навешиваем ярлыки на NAV (запуск из командной строки)
Многие пользователи для создания ярлыка на рабочий стол производят такую операцию в Navision: Файл – Отправить – Создать ярлык (на рабочий стол).
Но не все знают, что клиент Navision можно запускать через командную строку, передавая необходимые параметры через запятую.
Хотя в доках Navision этот способ хорошо описан, да кто их читает :-)
Я делаю просто. После установки клиента на рабочую станцию создаю ярлык (иногда просто копирую с соседней рабочей станции) и в свойствах ярлыка в «Объекте» прописываю вот такую строку:
Затем помещаю этот ярлык в каталог 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