При попытке зайти в Террасофт установленный на сервере (Windows Server 2008 R2 Enterprise), возникает ошибка:
К сожалению, многочисленные попытки решить данную проблему не принесли результата.
Также было замечено, что при добавлении новой конфигурации при нажатии на кнопку выбора имени драйверов Oracle (Home) возникает другая ошибка:
Насколько я понял проблема возникает из-за того, что на сервере были установлены несколько версий Oracle и в данный момент версия 11.2.0 отсутствует на сервере. Вместо нее установлена версия 12.2.
Попытка очистить следы Oracle 11.2.0 и в дальнейшем даже переустановка Oracle привела лишь к тому что в данный момент выходит пустой список в котором невозможно выбрать версию Oracle:
Прошу помочь в решении данной проблемы.
Благодарю.
P. S. По возможности помогите пожалуйста найти инструкцию по бэкапу Terrasoft 3.3, для попытки переустановки Terrasoft, чтобы решить вышеуказанную проблему.
Обратите внимание на рекомендацию по поводу «Ошибка открытия конфигурации: Cannot find OCI DLL»:
Для приложения Terrasoft под Oracle обязательно необходимо, чтобы на компьютерах всех пользователей, использующих конкурентные лицензии, был установлен клиент Oracle одной и той же версии. Имя сервера на компьютерах всех пользователей должно совпадать с именем, указанным в поле [Сервер] окна редактирования строки соединения компьютера, на котором заказывают и загружают лицензии, и данный сервер должен быть зарегистрирован. Имя сервера прописывается в файле tnsnames.ora, расположенном в инсталляционной директории клиента Oracle (например, d:/oracle/ora92/network/admin/ tnsnames.ora).
Также версия ядра 3.3.2.120 далеко не самая новая, есть смысл попробовать на последних файлах 3.3.2.313, поскольку в версии 175 и выше вносились изменения в механизм работы с сервером сессий для Oracle.
По вопросу разворачивания базы с нуля из бекапа, идущего с дистрибутивом есть раздел в руководстве администратора.
Для получения бекапа существующей базы нужно воспользоваться средствами СУБД, а также не забыть автоматически перенести или вручную завести пользователей с такими же именами, как в базе, на уровне сервера БД. Именно для Oracle инструкции не встречал. Например, для MS SQL это делается так. Если забыть перенести, то пустит только администратора SYS.
Для приложения Terrasoft под Oracle обязательно необходимо, чтобы на компьютерах всех пользователей, использующих конкурентные лицензии, был установлен клиент Oracle одной и той же версии. Имя сервера на компьютерах всех пользователей должно совпадать с именем, указанным в поле [Сервер] окна редактирования строки соединения компьютера, на котором заказывают и загружают лицензии, и данный сервер должен быть зарегистрирован. Имя сервера прописывается в файле tnsnames.ora, расположенном в инсталляционной директории клиента Oracle (например, d:/oracle/ora92/network/admin/ tnsnames.ora).
Добрый день. Данная проблема наблюдается на самом сервере (невозможно зайти в Terrasoft установленный на сервере).
При установке пакет получаем ошибку. Понять в чем она не получилось. Файл прикладываю, помогите пожалуйста!
Ошибка обновления структуры таблицы для схемы "UsrRequestPos" из пакета "Verniy_Request_m_negriy". UId 18f0eb84-a642-4a7f-88c6-62e843da5a99: При выполнении действия обновления структуры схемы произошла ошибка "Exception of type 'Terrasoft.Core.DB.DBMetaActionValidationException' was thrown.", текст Sql сценария: "
Добрый день! У вас срабатывает ограничение целостности по внешнему ключу. Т.е. отсутствуют записи UsrReqPostType, на которые ссылаюся записи UsrRequestPos. Исправьте базу, чтобы предложенный запрос возвращал 1
Проблема в том что не привязаны к пакету данные UsrReqPostType.
Если вы разработчик пакета то привяжите данные справочника в пакет если нет обратитесь к разработчикам, чтобы они исправили ошибку!
Разработчик я. Подскажите, мне нужно добавить новый объект UsrReqPostType в пакет? Или добавить sql код? В общем как сделать привязку данных в справочник?
Если дело именно в блокировке схемы, то можете попробовать через TortoiseSVN снять блокировку. А так судя по ошибке на скрине это не похоже на блокировку.
В поле Maintainer должно быть указано то значение, которое стоит в системной настройке «Издатель» (Maintainer). Проверьте, точно ли у Вас там сейчас «Customer».
Подскажите, пожалуйста, каким образом реализовать выбор Сервиса в зависимости ото выбранной КЕ.
Из коробки требуется выбрать сервис и только потом КЕ, но дело в том, что всегда легче узнать с какой КЕ проблема и выбрать сервис для неё. Наверняка этот кейс сильно распространён
В разделе фильтрация одного поля по другому делается при помощи бизнес-правил. Они настраиваются в мастере раздела. Стандартно КЕ не фильтруется по сервису, как и наоборот, их можно выбирать в любом порядке. Сервис блокируется бизнес-правилом при пустом сервисном договоре.
Достаточно переключиться в мастере раздела на нужную вкладку и посмотреть существующие бизнес-правила. Либо см. документацию. Их бывает 4 разновидности, в том числе и фильтрация:
При попытке открыть конфигурацию сначала идет долгое ожидание, а затем выходит ошибка: "У вас нет прав на выполнение данного действия. Обратитесь к системному администратору." Но спустя секунд 30, а то и больше в конфигурацию заходит, но и то не всегда.
Появилось это после обновления с 7.12.4 до 7.13.1.
Попробуйте зайти по ссылке адрес_сервера:порт/0/dev
После обновления вы поменяли бинарники веб сервера на новые? Выполнили очистку редиса и перезапуск пула придложений? Попробуйте еще очистить кэш броузера и перекомпелировать конфигурацию! (Это можно сделать через WorkspaceConsole (-operation=BuildWorkspace) детальнее описано тут
Здравствуйте! Может кто-нибудь объяснить почему не работают следующие команды в конфигураторе:
- Сгенерировать требующих генерации
- Обновить для требующих обновления (Структура БД)
- Установить для требующих установки
И я уверен что они не работают, "Обновить для требующих обновления" уж точно, т.к. начал через пару секунд вышло сообщение о том, что выполнено успешно, НО в БД структура не обновилась, а обновилась оно после того команды "Обновить для выбранных", на выбранном объекте. Неужели нужно каждый объект в ручную выделять и обновлять?
P.S.: пакеты были установлены, точнее обновлены при помощи встроенной утилиты "Установка приложений", и она автоматически почему-то не обновила структуру
В коробке функционал этих команд работает. Попробуйте вывести колонку "Текст последней ошибки", вбить в поиск "%" и отсортировать по этой колонке - есть ли в конфигурации объекты с ошибками?
На community такой вопрос решить сложно. В коробке данный функционал работает корректно. Если вопрос актуален - создайте обращение в поддержку и предоставьте пакеты и копию БД до накатки.
Коллеги, добрый день! На дев площадке добавили колонки в разделы Контрагенты, Конфигурации и Обращения. После добавления разделы отображались корректно. После фиксации изменений, обновления пакета из хранилища на прод площадку и последующей компиляции конфигурации, разделы Конфигурации и Обращения стали отображаться некорректно. В разделе Конфигурации при открытии существующей записи отображается окно новой записи: https://yadi.sk/d/kHsdJtiL3Gg3Wd , в консоли появляются следующие ошибки https://yadi.sk/d/sXIPRxkn3Gg3eF,приложение ругается на новые колонки (Недопустимое имя столбца) В разделе Обращения при открытии записи не отображается номер обращения https://yadi.sk/d/JuO8WvQ63Gg3sq в консоли также появляются аналогичные ошибки из-за созданных колонок https://yadi.sk/d/slVgPRYq3Gg3z3 Есть способ лечения ошибок с помощью удаления этих колонок с помощью мастера раздела и из конфигурации, последующей фиксации изменений в хранилище и переносе обратно на дев площадку, но это неправильно. Также после обновления пакета из хранилища, возникает ошибка для пользовательского бизнес процесса https://yadi.sk/d/gn6EsdX33Gg6zc Какова природа данной проблемы?
Ответ на вопрос "Какова природа данной проблемы?" - различие между тестовой средой и продуктовой среда, на прод вносятся изменения на прямую миную тест.
Выполните следующие рекомендации:
Убедитесь в корректности зависимостей пакетов и их соответствие между тест и прод средой
Откройте все объекты участвующие в разделе, убедитесь, что все поля заполнены корректно, после чего пересохраните и опубликуйте. Все возникшие конфликты устраните
Переоткройте каждую схему/модуль раздела и пересохраните/скомпилируйте
Откройте процесс и выполните его пересохранение, возникшие ошибки устраните
Не забудьте все исправления внести тестовую среду.
Обратите внимание на системную настройку SchemaNamePrefix на прод среде, она должна совпадать с настройкой на тест среде.
Ответ на вопрос "Какова природа данной проблемы?" - различие между тестовой средой и продуктовой среда, на прод вносятся изменения на прямую миную тест.
Выполните следующие рекомендации:
Убедитесь в корректности зависимостей пакетов и их соответствие между тест и прод средой
Откройте все объекты участвующие в разделе, убедитесь, что все поля заполнены корректно, после чего пересохраните и опубликуйте. Все возникшие конфликты устраните
Переоткройте каждую схему/модуль раздела и пересохраните/скомпилируйте
Откройте процесс и выполните его пересохранение, возникшие ошибки устраните
Не забудьте все исправления внести тестовую среду.
Обратите внимание на системную настройку SchemaNamePrefix на прод среде, она должна совпадать с настройкой на тест среде.
Помогла пошаговая компиляция и сохранение всех объектов и схем. Префиксы названий объектов были настроены на обоих площадках корректно. Спасибо
Добрый день. Искал похожую тему на форуме - на нашел.
После работы в мастере разделов, получил дубли полей, т.е. есть несколько дублирующихся полей "фамилия" и т.д.
Самостоятельно удалил их как поля через конфигурацию в карточке объекта раздела, в итоге в мастере разделов получились ссылки на не существующие поля (см. вложение).
Подскажите как их убрать.
Спасибо большое.
После удаления полей со схемы необходимо очистить кеш браузера (если поля были действительно удалены корректно, например, комментированием кода, который их добавляет на страницу).
Также Вы можете удалить поля, используя мастер раздела.
Это только визуально скроет поля. Тем не менее их можно быт выбрать в фильтре или в представлении раздела. Для того, чтобы поля не отображались Вам необходимо удалить их из объекта (либо изменить режим использования на "Никогда").
Иногда во время открытия конфигурации появляется сообщение:
Причина появления данного сообщения связана с часовыми поясами системы.Проблема может возникнут из-за обновления часовых поясов системы или у контакта в приложении Terrasoft установлен часовой пояс, который отсутствует в реестре Windows.
Проблема может возникнуть в двух функциях конфигурации:
CheckTimeZone (сервис scr_Main)
GetTimeZoneCaption (сервис scr_DateUtils)
Для устранения проблемы необходимо заменить функцию 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 =''; }
А также необходимо заменить функцию GetTimeZoneCaption находящуюся в сервисе scr_DateUtils на новую:
function GetTimeZoneCaption(TimeZone, ForScheduler){ var TimeZoneEnum = GetSingleItemByCode('enm_TimeZone'); var TimeZoneCaption =''; if(!IsEmptyValue(TimeZone)){ var TimeZoneValue = TimeZoneEnum.ItemsByCode(TimeZone); if(!IsEmptyValue(TimeZoneValue)){
TimeZoneCaption = TimeZoneEnum.ItemsByCode(TimeZone).Caption; }else{
TimeZoneCaption = TimeZone; } } var Result ='GMT';
Result +=(ForScheduler ?'\r':'')+ (TimeZoneCaption.substring(4,5)==')'?'': TimeZoneCaption.substring(4,10)); return Result; }
Как еще одним решением может быть - поудалять дубли часовых поясов в ветке [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones]. Оставив те часовые пояса, которые содержат ключ Display:
Иногда помогает внесение изменений в реестр Windows, обновив значение ветки [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones\Kamchatka Standard Time]. Необходимые значение находятся в файле Kamchatka Standard Time.reg
Также можно просто импортировать ветку [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones\Kamchatka Standard Time] из другого реестра системы, где пользователь работает без сбоев.
Коммент по исследованию этой проблемы с версией TSXRM 3.3.1
(Похоже. что в версии TS 3.4 под Win10 этого не наблюдается)
Последнее время на Win10 обновления от MS дописывают ключи для часовых поясов в реестр, но не обновляют библиотеку - tzres.dll.mui
Программа (например TSClient.exe) запрашивает локальное имя часового пояса Судана. (о-в Св.Антония, Фиджи и т.д.)
Операционка считывает значение ключа из реестра - (UTC+02:00) Хартоум - @tzres.dll,-2890
Вызывает библиотеку tzres.dll
Библиотека чтобы дать имя на установленном в ОС языке вызывает местную - tzres.dll.mui и запрашивает строку за нумером -2890 Смотрим самый последний номер строки в библиотеке, например, это: STRINGTABLE LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT {2810, "(UTC+03:00) Стамбул"}
Система возвращает ПУСТО (NULL)
TSClient видит пусто в энумераторе enm_TimeZone, которое при проверке на уникальность срабатывает как дублирование названия.
Возникает ошибка в бинарнике, вызванная библиотекой TSObjectLibrary.dll - там лежит вызов
Когда TSObjectLibrary видит слово enm_TimeZone, она хватается за пистолет и, очистив энумератор, заполняет его снова из реестра ОС и падает из-за NULL.
Варианты Решения:
1. Обновить библиотеку местного диалекта для часовых поясов tzres.dll.mui. Не факт, что следующее обновление её не затрёт.
2. Создать новый энумератор (имя + ID), заполнять его кодом JScript ручками из ОС при запуске и заменить вызовы на него. Не забываем таблицы и датасеты типа ds_Contact, tbl_City etc..
3. Заполнять энумератор самим, а хексредактором "исправить" :) злосчастное имя enm_TimeZone в библиотеке TSObjectLibrary
Для Судана и прочего сообщение «Дублируется значение свойства 'Caption'. Значение 'Sudan Standard Time' уже существует» встречалось и в 3.4.0, и даже в 3.4.1. Помогает удаление пояса в Regedit.
Это так, но следующее обновление Вин10, скорее всего, снова его внесёт в реестр. И добавит острова Святого Антония)). Поскольку мой парк машин - велик и разбросан по стране - решение через общую конфигурацию TS представляется более оптимальным. Можно чистить реестр средствами групповой политики, можно отменить всем ВинАвтоАпдейт навсегда (не 35 дней), можно найти самый последний вариант MUI и каждому его подсунуть, но не факт, что следующее обновление не заменит и его. Можно забить корректными данными enm_TimeZone и запретить ему автообновление; обновлять централизованно разработчику по фиксации новых часовых поясов в MS-KB файлах. Можно ещё исключить все упоминания enm_TimeZone из конфигурации: часовой пояс клиента/контакта/города не всем необходим. )
До этого общим решением наших админов было: чистка реестра, откат последнего обновления Win10 или, вообще, откат на Win7. :) Развелось самостоятельных любителей десятки... И это - не первая проблема работы TS3.x под Win10, и что ещё нам принесут очередные обновления от MS. :)
Сбои с новыми поясами бывают нерегулярно и не на всех компьютерах. То есть, если удалили Sudan, не факт, что сразу на тот же компьютер придёт Sao Tome.
C Windows 10 есть и более серьёзные и трудноустранимые препятствия в обновлениях. Помогает от них только переход с более старых версий на 3.4.1.
Да, так. Но я предлагаю универсальный способ избавления от часового пояса. Навсегда. Из конфигурации. С другой стороны - острова Св.Антония выбивают пользака прямо при входе. Это - свежее.
Более серьёзные трудности - копятся. Пока что мы все их обходим..))
Надеюсь, что вмешательство в бинарный код фирма не почтёт за нарушение её прав? Мне уже приходилось менять код екзешника TSClient - ничего, притерпелись...)
Прежде, чем править бинарный файл, есть смысл скачать последнюю сборку в пределах версии.
Выбивало при входе ещё при Marquesas Standard Time в 2016 году. Думал, что там просто две записи в реестре об одном поясе, но, как Вы расследовали, всё оказалось интересней.
Опять же, с часовым поясом — не самое страшное, что может случиться при обновлении Windows 10.
Самое страшное мы - уже победили.. Но, чем чорт не шутит...
Кстати, TSAdmin.exe тоже "кашляет" на эту историю.. Обходим, гладим, усмиряем..) Там то мы не можем конфигурацией помочь. Только вмешательство в тело бинарника. А это мы умеем)