Вопрос:

При входе в Terrasoft 3.X под новыми пользователями выдается ошибка открытия конфигурации «Could not convert variant of type (NULL) into type (olestr)»

В чём может быть проблема?

Ответ:

Такое сообщение «Could not convert variant of type (Null) into type (OleStr)» говорит о том, что у пользователя нет доступа на свой контакт и/или контрагент.

Для решения нужно: 

1)       Авторизуйтесь в системе под администратором, перейдите в Администрирование-Пользователи
2)       Кликните правой кнопкой на пользователе, под которым возникает ошибка входа, Перейти к -> Контакт и Перейти к -> Контрагент
3)       На детали «Доступ» к контакту добавьте пользователя, под которым происходит сбой или группу, в которую он входит.
4)       На детали «Доступ» к контрагенту добавьте пользователя, под которым происходит сбой или группу, в которую он входит.
5)       Проверьте корректность авторизации пользователя.

Нравится

Поделиться

0 комментариев
Показать все комментарии

Прошу помочь!!!
При входе в систему выдает : Ошибка открытия конфигурации Named Pipes Provider: Could not open a connection to SQL Server [53]
На ноуте уст Windows 8 (64).

Нравится

24 комментария

Проверьте корректность заполненных данных:

  • Название SQL сервера
  • Название БД

Так же убедитесь, что на Вашей машине отключен firewall, и антивирус не блокирует порт 1433 (по умолчанию для SQL сервера)

Дополнительные ссылки на эту же тему:

Проверили корректность заполненных данных. Все в норме. Порт 1433 также не блокируется. Может еще какие варианты возможны?

Выполните такую последовательность действий:

  • Запустите Terrasoft на сервере, для исключения неисправностей в сети
  • При появление проблемы с подключением, необходимо проверить настройки SQL сервера
  • При успешном подключение, необходимо проверить firewall на самом сервере
  • Запустите Terrasoft на другой машине и попытайтесь выполнить вход в приложение
  • При появлении проблемы, необходимо проверить настройки сети и настройки firewall
  • При успешном подключение, необходимо посмотреть какие установлены настройки на текущей машине и перенести их на проблемую машину
  • Установить на на проблемной машине SQL Management Studio или командную строку MS SQL и с помощью их выполнить подключение к БД

Ок. Это все проверим. Пока вот что заметил. Если запускать программу на сервере под терминальным доступом, то тоже ошибка, но если войти под другим пользователем, то все нормально работает и без проблем. Но под этим проблемным пользователем никак.

И еще. Остальные пользователи работают с других машин и под терминальным доступом без проблем.

Необходимо проверить на ограничения доступа проблемного пользователя

А не подскажете какие именно ограничения, т.к. права пользователя в ОС мы проверили сразу же. Там все ок.

Не смогу подсказать, т.к. это связно с администрированием системы и ни как не связано с Terrasoft.
Вам необходимо проверять связку: MS SQL + Проблемный пользовать.
Terrasoft только выдает сообщение, которое ему пришло в ответ

Понял. Спасибо. Будем все проверять.

Итак пользователь проверен по доступу. Но вот в чем вопрос: если попробовать зайти под проблемным пользователем с другого ПК (на котором другой пользователь работает с terrasoft без проблем).

Если под проблемным пользователем вошли в Terrasoft на другом пк и все работает, значит, проблема в окружении.
Если лицензии конкуренты, то проверьте настройки конфигурации на проблемной машине, они должны быть идентичны с теми, которые указаны на машине где генерировались лицензии

Извините не дописал. В смысле на другой машине проблемный пользователь тоже не работает.

"Прошко Алексей Анатольевич" написал:

Извините не дописал. В смысле на другой машине проблемный пользователь тоже не работает.


доменный пользователь что ли?

Нет. Обычный пользователь.

Может профиль пользователя в базе поврежден?

При повреждении профиля, была бы другая ошибка.
Запустите SQL Server Profiler и посмотрите на чем произойдет свал и попробуйте ее устранит.
Если возникнут сложности с запросами, можете обратиться в службу поддержки support@terrasoft.ru, для более оптимального и быстрого решения вопроса.

Большое спасибо. После проверки отпишусь о результатах.

"Прошко Алексей Анатольевич" написал:В смысле на другой машине проблемный пользователь тоже не работает

Вот это самое странное, так как ошибка в первом посте у вас 100% транспортного уровня. И связана она с конкретным пользователем Terrasoft ну никак не может быть.
Еще вариант включить для sql сервера в настройках протокол named pipes не предлагали?

А вообще наверное оптимально - удаленно суппорта пустите, все вам и настроят :)

Это тоже вариант. Как это лучше сделать и в какое время?

На этот вопрос смогут ответить в службе поддержки (support@terrasoft.ru)

Вообщем по совету техподдержки обновил бинарники и обновил заново лицензии. Все равно при входе проблемного пользователя выскакивает ошибка "Требуется объект..."

С Вами ведем общение в рамках обращения.
Это был только первый этап устранения проблемы.

Проблема решена.
Ее суть заключалась в том, что у Контакта пользователя не было заполнено поле [Часовой пояс]
Для выяснения выполняем загрузку окна wnd_Main или нет, была залогирована функция wnd_MainOnPrepare:

function wnd_MainOnPrepare(Window) {
	Log.Write(1, 'wnd_MainOnPrepare: begin');
/* MODULE WORKFLOW */
	DatasetTriggers.Load();
	SetServicesEvents();
/* ENDMODULE WORKFLOW */
	Log.Write(1, 'wnd_MainOnPrepare: CheckTimeZone');	
	CheckTimeZone();
	Log.Write(1, 'wnd_MainOnPrepare: ReadSystemSettings');				
	ReadSystemSettings();
	Initialize();
	InitializeUserSettings(true);
	InitializeCallClient();
	FillReferencesDictionary();
	CheckAnniversary();
	if (!CheckWorkspacesAllowed()) {
		return;
	}
 
	IntitializeTimer();
	ActivateHyperlink();
	InitializeJumpActions();
	Log.Write(1, 'wnd_MainOnPrepare: end');
}

После вывода сообщения: Log.Write(1, 'wnd_MainOnPrepare: CheckTimeZone'); мы не получили вывод сообщения Log.Write(1, 'wnd_MainOnPrepare: ReadSystemSettings');. Что и обозначило причину возникновения проблемы.
Функция CheckTimeZone() сервиса scr_Main, отвечают за установку текущему пользователю часовой пояс.

Решение:

function CheckTimeZone() {
	var UserTimeZone = Connector.CurrentUser.TimeZone;
	var SystemTimeZone = System.GetSystemTimeZone();
 
	var TimeZoneEnum = GetSingleItemByCode('enm_TimeZone');
	var EnmUserTimeZone = TimeZoneEnum.ItemsByCode(UserTimeZone);	
	if (IsEmptyValue(EnmUserTimeZone)) {
		UserTimeZone = '';
	}
 
	if (!UserTimeZone) {
		UserTimeZone = SystemTimeZone;
		Connector.CurrentUser.TimeZone = UserTimeZone;
	}
	if (UserTimeZone == SystemTimeZone) {
		return;
	}
	var Message = FormatStr(
		"Часовой пояс системы: %1\rЧасовой пояс текущего контакта: %2\rИспользовать часовой пояс системы?",
		GetTimeZoneFullCaption(SystemTimeZone), GetTimeZoneFullCaption(UserTimeZone));			
	if (ShowConfirmationDialog(Message) != wmrYes) {
		return;
	}	
	Connector.CurrentUser.TimeZone = SystemTimeZone;
	var UpdateQuery = GetSingleItemByCode('uq_ContactTimeZone');
	UpdateRecordField(UpdateQuery, Connector.CurrentUser.ContactID, 
		Array('TimeZone'), Array(SystemTimeZone));		
}
Показать все комментарии

На двух клиентских машинах с Win XP SP3 при запуске выдает следующее:
Ошибка открытия конфигурации. "Требуется объект..."

Есть идеи с чего начать поиск проблемы?

Нравится

11 комментариев

А версия бинарников на этих машинах такая же, как на остальных? Кэш и профиль чистили?

Версия бинарников одинаковая, установка везде из одного источника проводится.
Очистка профиля и кэша не помогла.

Так же ничего не изменилось после отключения брандмауэра и антивируса.
Тест соединения с базой при этом проходит нормально.

Так обычно происходит, когда в скриптах идет обращение к несуществующему объекту\функции. Например, вы что-то доработали, но забыли подключить нужные скрипты.
В любом случае, нужно включить дебаггер и посмотреть, в каком месте это происходит

вариантов много...
если своими руками искать - активировать дебаггер, предварительно его установив (см папки установленной программы \Redist - там есть простейший скрипт дебаггер, устанавливаем его и активируем из папки \Tools\EnableDebugger.reg). По крайней мере напишете тогда более точную ошибку которая возникает

зы - опередили :)
как вариант - у вас интеграции какой-нибудь нет хитрой? может не хватает библиотек того, с чем она настроена

Попытка размахивать дебаггером ни к чему не привела :)
Просто открывается окно дебаггера, и появляется окно с ошибкой от приложения.
Возможно я что то не так делаю.
Но меня смущает один момент, если бы ошибка была в коде скриптов эта проблема проявлялась бы на всех рабочих местах а так только на избранных

Кстати к проблемным добавилось третье рабочее место с Win 7, причем свежеустановленной.

"Артюхов Леонид" написал:Win 7, причем свежеустановленной

мб забыли какую-то длл зарегистрировать?

"Андросов Дмитрий" написал:мб забыли какую-то длл зарегистрировать?

Установка на всех машинах из одного и того же пакета.
Вот может на проблемных рабочих местах какого либо компонента третьей стороны не хватает.
Только еще бы понимать какие необходимы.

я так понимаю вы использовали

"Александр Кудряшов" написал:папки установленной программы \Redist - там есть простейший скрипт дебаггер

попробуйте все-таки visual studio поставить - он лучше отлавливает, особенно когда проблемное место в try{} обернуто

либо выясняйте что стороннее используется

Ошибка устранена установкой на проблемных рабочих местах обновления kb2570791
Большое спасибо службе техподдержки Terrasoft.

"Артюхов Леонид" написал:

Ошибка устранена установкой на проблемных рабочих местах обновления kb2570791
Большое спасибо службе техподдержки Terrasoft.

Проблема решена.

А вот и объяснение причины сбоя.

Показать все комментарии

Здравствуйте, мы переустановили сервер.

перед этим сделали бэкап

раньше название серва

было вида server, а теперь server\name

потом восстановили копию базы

изменили строку подключения , тест соединения с БД с аутентификацией виндовс проходит

но из под любого пользователя включая supervisora , не попасть, ошибка в теме

Supervisor есть и в бд и на сервере

sp_change_users_login 'Update_one', 'Supervisor', 'Supervisor' не помогает

что можно сделать ?

Нравится

5 комментариев

А логины на БД созданы?
Попробуйте зайти на сервер под логином Supervisor

Я бы попробовал перезаказать лицензии, т.к. имя сервера изменилось.

Добрый день!
Необходимо проверить следующее:

1) зайти под supervisor на сервер
2) проверить какая аутентификация стоит на сервере( в свойствах), должна быть смешанная.
SQL Server and WIndows Authentication mode.
3) корректно настроить конфигурацию на клиентских ПК (из выпадающего списка)
4) в случае использования приложения на клиентских ПК - проверить доступность по порту 1433

возможно, где-то Вы допустили ошибку.

"АльфаКрыса" написал:

А логины на БД созданы?
Попробуйте зайти на сервер под логином Supervisor

Спасибо, натолкнули на решение проблемы, логины созданы ,а вот
смешанный режим аутентификации (не включен был):smile:

"Sergey Karpenko" написал:

Добрый день!
Необходимо проверить следующее:

2) проверить какая аутентификация стоит на сервере( в свойствах), должна быть смешанная.
SQL Server and WIndows Authentication mode.

возможно, где-то Вы допустили ошибку.

в этом ошибка

не обновлял страницу не видел ответов, спасибо за помощь !

Показать все комментарии

Выдает
Ошибка открытия конфигурации. "Ошибка открытия источника данных"
Оригинальное сообщение об ошибке: invalid request BLR at offset 125
function GETUTCDATE is not defined
modul name or entrypoint could not be found
Invalid token
Error Code: 23'

Нравится

Поделиться

6 комментариев

Вадим, вы уже подымали подобную тему, совет который я дал не помог ?

Вадим, в прошлый раз решением проблемы была переустановка сервера FireBird.
Уточните, после каких действий, появилась данная ошибка?

С уважением,
Белецкий Арсений
Группа компаний Terrasoft

Добрый день.
При подключении к базе данных FireBird , выдается типичная ошибка.
Действия, которые предлагались выше - не помогают.

Текст ошибки:

Error opening configuration.Error opening dataset "". Original error message: invalid request BLR at offset 115
function GETUTCDATE is not defined
unknown ISC error 335544932
Invalid token
Error code: 23

Здравствуйте.
Рекомендации по Вашему вопросу были предоставлены Вам в рамках обращения 0260542. Суть заключается в том, что бы заменить библиотеку (во вложении), как описано: http://www.community.terrasoft.ua/blogs/7578

не запустится терасофт, после ввода пароля высвечивается белое окно.Помогите!

Здравствуйте, Татьяна!

Пожалуйста, выполните следующее:

1) Закройте все продукты MS Office, а также убедитесь, что процесса TSClient.exe нет в диспетчере задач - в списке запущенных процессов.
2) Перейдите в папку с установленным Terrasoft и запустите файл Bin\TSLauncher.exe от имени администратора.
3) Очистите содержимое папки %appdata%\Terrasoft\3.4.1\Cache
4) Перезайдите в клиентскую часть Terrasoft

Показать все комментарии