Деталь
Добавить новое поле в карточку контрагента
Установка и Администрирование
Разработка

Здравствуйте.
Необходимо в карточке контрагента заменить деталь с типом справочник на деталь ИНН

Нравится

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

Здравствуйте.
Уточните вопрос, деталей с типом справочник не существует. Вам нужно существующее поле с типом справочник заменить на строковое? Т.е. Вам нужна инструкция как удалять поле и как добавлять его, а также как выполнить UPDATE поля в базе данных (т.к. справочное поле хранит в себе идентификатор записи из справочника, а текстовое поле собственно сам текст)? Или вы что то другое имели ввиду?

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

Евгений, необходимо следовать алгоритму:

1. Добавить в сервисе таблицы (tbl_Table) строковое поле.
2. Добавить колонку в сервисе выборки данных с таблицы (sq_Table)
3. Добавить поле в набор данных (ds_Table)
4. Добавить строковое поле (TextDataControl) в нужное вам место в карточку редактирования (wnd_Table) и там слева внизу в окне свойств для поля будет два свойства - DatasetLink заполняете как dlData, DatafieldName - как то поле которое вы добавили на шаге 1.

А вообще в руководстве администратора есть более подробная инструкция со скриншотами на каждый шаг.

Дмитрий, спасибо. Все работает. Но теперь при обращении к списку Юр.лиц появляется ошибка: "Недопустимое имя столбца tbl_Table" и список пуст ((

Посмотрите в окне реестра wnd_TableGrid список колонок выведенных в реестр. Скорее всего вы какую то колонку таки удалили с таблицы и датасета, а в реестре ссылка на неё осталась.

Дмитрий, вопрос снят.
Пересоздал все заново.
Все работает.
Спасибо за помощь.

Показать все комментарии
backup
резервная копия
Установка и Администрирование
Разработка

Доброе время суток!

Платформа Terrasoft XRM Distribution 3.4.1.75 на MS SQL 2008 R2

Уважаемые форумчане, подскажите пожалуйста, перечитал много постов коммьюнити, но ответа не нашел.

Моя ситуация: В процессе разработки создаются справочники, разделы, правятся скрипты и т.д. Так как в этом деле я новичек, то неизбежно возникают ошибки (лишнего удалил или не того добавил.) Иногда после опытов невозможно запустить систему, приходится удалять все свои наработки, чтобы так сказать вернуться к исходному состоянию. Так вот вопрос в чем - как можно создать некую точку восстановления, чтобы при очередном сбое вернуться именно к этому месту, когда все работало. Т.е. при попытке написать какой-либо скрипт или что-то подобное заранее сохранить текущее состояние (конфигурацию, данные), а потом в случае сбоя вернуться к этому состоянию.
Желательно, чтобы данный метод сохранения и восстановления можно было как-то автоматизировать (может батник какой написать). Если данный вопрос обсуждался - ткните носом плиз, я не нашел полного описания.

Заранее благодарю!

Нравится

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

Спасибо за Ваше обращение. Мы зарегистрировали его в Службе технической поддержки и назначили специалиста, который сможет Вас компетентно проконсультировать по данному вопросу.

Посмотрите наш продукт, с его помощью можно не только видеть историю изменений и откатывать их при необходимости, но и еще всякие штуки делать :smile:
PVC

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

Спасибо, но это не вариант в данном случае, так как платно и не стандартно.
Должен же быть стандартный вариант решения, вопрос только в том какие компоненты и как сохранять.

Откат дело тонкое :smile:

Согласен с Валерием и PVC рекомендую, как давний его пользователь.

"Кретов А.Н." написал:не стандартно

Стандартно это бэкап базы данных. Либо ручками сервисы выгружайте в файл перед правкой. Накосячите, загружайте предварительно сохраненную версию.

"Александр Кудряшов" написал:
Стандартно это бэкап базы данных. Либо ручками сервисы выгружайте в файл перед правкой. Накосячите, загружайте предварительно сохраненную версию.

Вот с этого момента поподробнее...:smile:
Только бэкапа базы будет достаточно, или еще и сервисы в файл выгружать надо, либо достаточно только сервисы выгрузить?

"Кретов А.Н." написал:Только бэкапа базы будет достаточно

Избыточный вариант. Полный бэкап базы на сервере. Накосячили - восстановили базу. Тяжелая артиллерия, но 100% гарантия. Понятно, что далеко вы так не уедете, после каждой ошибки откатываться и бэкапы делать перед каждой правкой, так никто не работает.

Облегченный вариант - сервис в администраторе - правый клик - сохранить в файл и правьте его потом. Ошиблись - восстановили сервис. Тоже неудобно - когда править будете не один, а 50 сервисов, запутаетесь.

"Александр Кудряшов" написал:
Тоже неудобно - когда править будете не один, а 50 сервисов, запутаетесь.

Вот в том то и дело, например, при создании раздела с помощью мастера создается несколько сервисов сразу, и отследить в каком проблема практически невозможно (для новичка). Так что избыточный вариант с бэкапом базы наверное будет предпочтительным.

Спасибо за ответы!

"Кретов А.Н." написал:при создании раздела с помощью мастера

Перед этим бэкап полезнее, согласен :)

Можно все изменения делать на копии рабочей базы, а затем, убедившись что всё ок, отсортировав сервисы по дате изменения выгрузить их за определенный период и загрузить в рабочую.
Но бекапы рабочей всеровно лучше делать каждый день и хранить, к примеру, за последние 7 дней на HDD.

"Кретов А.Н." написал:
Валерий Андрусик пишет:

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

Спасибо, но это не вариант в данном случае, так как платно и не стандартно.

Должен же быть стандартный вариант решения, вопрос только в том какие компоненты и как сохранять.

PVC заметно удешевляет (и ускоряет) разработку

Показать все комментарии
MS SQL Server
разработка
репликация
Установка и Администрирование
Разработка

Добрый день, коллеги.
Для интеграции Террасофт CRM с внутренней учетной системой мне нужно понимать изменилась ли запись в таблице. Поля CreatedOn и ModifiedOn не очень подходят, потому что часть логики реализована через хранимые процедуры и эти поля могут не содержать актуальной информации.

В качестве сервер БД используется MS SQL Server, поэтому я решил попробовать добавить в таблицу поле типа timestamp, которое обновляется при любом изменении записи. Но, естественно, столкнулся с проблемами:
1. При попытке добавления поля в эту таблицу и сохранение изменений в БД я получаю ошибку "cannot update timestamp column". Я не знаю, как Террасофт обновляет таблицы в БД на основании конфигурации, но выходит, что система пытается обновить поле, которое в конфигурации не описано.
2. Если выгрузить сервис такой таблицы в файл, а потом попытаться загрузить обратно, то получаю ошибку "Duplicate hash list entry ", где это идентификатор сервиса в конфигурации.

Очень похоже на то, что избранный мной способ решения задачи не сработает и нужно искать что-то другое. Существует ли другой способ однозначного детектирования изменения записи?

Нравится

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

Здравствуйте, Riptor.

Насколько я понял, Вы добавили поле напрямую через БД.
При сохранении сервиса таблицы Terrasoft происходит пересохранение структуры таблицы в БД в соответствии со структурой сервиса Terrasoft.

Прошу уточнить, почему бы просто не добавить новое поле "Дата/время" через конфигурацию и писать данные в него, к примеру, триггером?

Добрый день, Андрей.

"Безродный Андрей" написал:почему бы просто не добавить новое поле "Дата/время" через конфигурацию и писать данные в него, к примеру, триггером?

Скорее всего так и придется сделать. Думал, что проще поле добавить в 3 десятка таблиц, чем триггеры. С другой стороны интересно, почему платформа Террасофт поля CreatedOn и ModifiedOn не заполняет в триггере. Производительность?

Riptor

Да, дело в производительности.
В текущей реализации поля изменяются в ядре.
В случае изменения нескольких полей будет формироваться один запрос, а триггером - несколько.

Показать все комментарии
.net
terrasoft press
Установка и Администрирование
Разработка

Здравствуйте!

Простите за дилетантский вопрос, но я уже сбился с ног искать решение.

Есть установщик Terrasoft Press 3.3.0.45. Поставлена задача поставить на комп с Win7 x64. Но установщик просит версию .Net Framework 3.5 Sp1. В самой ОС уже установлен Framework 3.5.1, который по идее включает в себя весь функционал нужной библиотеки, но установщик все равно требует 3.5.

Как же теперь быть? Утилиты проверки установки .Net показывают, что сбоев нет. Все обновления установлены.

Спасибо.

Нравится

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

Здравствуйте!

Спасибо за Ваше обращение. Мы зарегистрировали его в Службе технической поддержки и назначили специалиста, который сможет Вас компетентно проконсультировать по данному вопросу.

Здравствуйте.
Дело в том, что Windows 7 не фигурирует среди декларируемых клиентских ОС для Terrasoft 3.3.0. Соответственно такое взаимодействие не проверялось. Рекомендую Вам обратиться в поддержку (support@terrasoft.ru) для решения вопроса.
Спасибо.

Спасибо за ответ. Буду писать в Support.

Показать все комментарии
ds_EmptyChangesLog
Установка и Администрирование
Разработка

Здравствуйте! У нас не открывается Dataset ds_EmptyChangesLog. Нет запроса sq_EmptyChangesLog. Можно ли его восстановить? Версия 3.2.1.62.

Нравится

1 комментарий
Профиль пользователя
Установка и Администрирование
Разработка

Версия террасофт 3.3.0
Сервер 2008R2
MS SQL Server 2012 Express
Клиенты работают в режиме сервера терминалов.
Разместили базу на SSD диске, однако, периодически наблюдается подвисание террасофта, монитор ресурсов показывает, что в этот момент система занимается чтением/записью в папки где находятся пользовательские данные типа %appdata%\Terrasoft\3.3.0\Cash, Profiles. Отсюда вопросы:
1. Если выбрать вариант хранение профиля в БД, там будут храниться все данные из папки с пользовательскими данными, или только данные из папки Profiles? И насколько такой вариант избавит от тормозов, если профили пользователей хранятся не на SSD диске?
2. Есть ли возможность хранить папки с пользовательскими данными где-то кроме %appdata%\Terrasoft\, в более поздних версиях есть настройка в файле runsetting.xml типа UserAppDataDirectory="", моем файле runsetting.xml такой настройки - нет.

Нравится

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

Спасибо за Ваше обращение. Мы зарегистрировали его в Службе технической поддержки и назначили специалиста, который сможет Вас компетентно проконсультировать по данному вопросу.

Здравствуйте.
1. Если выбрать хранение профиля в базе, то в таком случае туда будет помещаться только содержимое папки Profile. На предмет выигрыша в быстродействии однозначно сказать сложно. Здесь присутствует масса таких аспектов, как мощность клиентской машины, количество пользовательских настроек, фрагментация и скорость HDD, нагрузка на БД, оптимальность её структуры (например индексов) и т. д.. Этот механизм (возможность хранения профиля в разных местах) был создан скорее для возможности более гибких настроек. Например, если хранить профиль в базе, тогда пользователь не "привязан" к рабочему месту, но возрастёт нагрузка на базу.
2. В Вашей версии можно изменить только место хранения файла с настройками параметров подключения к базе (configs.xml). Параметр - UserSettingsDirectory.

Есть параметр UseCash в БД в таблице dbo.tbl_DatabaseInfo который я так понимаю отвечает за наличие кэширования ... так как у нас все работают в терминальном режиме на том же сервере, что и БД, особого смысла в размещении кэша на диске нет, тем более сейчас база находиться на SSD носителе... если я этот параметр обнулю?

Здравствуйте.
Действительно, значение поля "UseCache" определяет возможность кэширования данных. Данные кэша хранятся не в базе данных, а в директории профиля пользователя. Включённое кэширование позволяет сократить время отклика системы при однотипных действиях (например, при первом входе в раздел основная информация сохраняется в кэше и в дальнейшем минимизируется время выборки тех же данных).

Показать все комментарии
Firebird
Установка и Администрирование
Разработка

Добрый день!
При авторизации Terrasoft XRM 3.x по TCP/IP (СУБД Firebird) возникает ошибка "Ошибка конфигурации. Лицензия для модуля не найдена". Пользователь sysdba. С локального ПК авторизация проходит. На удалённом проходит тестовое подключение. Лицензии конкурентные.
Заранее спасибо за помощь!

Нравится

1 комментарий

Здравствуйте.
При авторизации с использованием конкурентных лицензий строка подключения должна визуально выглядеть точно так же, как и на той машине, с которой формировался запрос на лицензии. Допускаю, что у Вас база расположена на локальном компьютере и указан тип подключения "local". С такими настройками, соответственно, по сети подключиться не получится. Рекомендую указать на локальной машине подключение как по сети к самому себе (указать TCP/IP и свой IP). После чего перезаказать лицензии.

Показать все комментарии
Установка и Администрирование
Разработка

Добрый день!
Проблема:
Завел нового пользователя домена, конкурентные лицензии.
Теперь никто зайти в террасофт не может (Лицензия для модуля ... не найдена).
Нужно ли пере заказывать файл лицензии? В чем проблема

Нравится

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

Вопрос закрыт. Контрагента указал не того!

С конкурентными лицензиями вроде бы перезаказывать не надо.

Проверьте в разделе Администрирования, во вкладке Конкурентные лицензии, Разрешения на продукты лицензирования, разрешено ли данному пользователям или группам, куда они входит, использовать конкурентные лицензии.

Показать все комментарии
железо
память
процессор
Установка и Администрирование
ЦП
Разработка

Всем доброго дня!
Есть проблема: добавили память на сервер SQL, теперь периодическая загрузка ЦП 99-100%. Раньше памяти не было и проблемы не было. Как выяснить с чем связана проблема?

Нравится

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

Здравствуйте!

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

"Резвов Роман" написал:обратить внимание на процессы

Добрый день, Роман! Один процесс занимает ресурс: sqlservr :-)

Не редки случаи, когда 100% загрузка ЦП SQL сервером происходит при блокировках. Ранее у вас узкое место было в системе ввода-вывода, а теперь в обработке самих данных. Внимательно смотрите какие части БД на каких дисках располагаются, например, TEMPDB, по умолчанию находится на диске С, а в этой базе происходят сортировки и создания временных таблиц. Эту базу лучше класть на RAID, а еще лучше на SSD. Так же, не маловажным моментом является сбор статистики и дефрагментация индексов, это нужно делать каждый день.

"Евгений Либин" написал:

какие части БД на каких дисках располагаются, например, TEMPDB

Евгений, добрый день!

Блокировки действительно частое явление, пока не думал что с ними делать.

Я правильно понимаю: что при добавлении оперативной памяти кардинально меняется "узкое место"?
TEMPDB как и лог базы црм реально лежат на c:\ а не на ssd как сама база! Надо всё вместе с логами на ssd закинуть?

Да, обязательно. Это одно из узких мест БД

Но будьте аккуратными, SSD имеет ограниченный ресурс, и если будет утеряна TEMPDB, то вы ничего не потеряете, а вот с файлами данных могут быть проблемы. Лучше саму базу на 10 RAID, а темповую базу на SSD.

А какой то монитор по процессу sqlservr существует, типа профайлера, но чтоб все действия сервера видны были? Чтобы наверняка определить в чем причина периодических (каждые 3-5 мин) уходов процессора в 100%

Есть монитор активности, там видно какие сессии что делают, есть активность по запросам, а вообще это работа для DBA, т.е. настройка и тюнинг БД.

Начните с простого,в 60% это помогает
1. tempdb на ссд
2 ежедневный ребилд индексов и сбор статистики.

Дальше нужно смотреть, может индексов не достаточно, может наоборот, слишком много.

"Евгений Либин" написал:Есть монитор активности, там видно какие сессии

Евгений, спасибо! Именно благодаря этой замечательной функции (подсказал доблестный админ) в mssms и нашел косячную процедуру, которая в джобе часто запускалась. А еще понял (так же благодаря админу), что параллелизм зло, поэтому
Max Degree of Parallelism = 4 (а лучше вооюще 2 поставить)!!!

Показать все комментарии
администрирование
Установка и Администрирование
Разработка

Здравствуйте!
Можно ли сделать администрирование по записям для справочника в версии 3.2. Я пытался сделать для одного из своих справочников - не удалось. Выставил флаг "Администрирование по записям", занес права пользователей, но доступ пользователей к записям справочника стал невозможен несмотря на выставленные права, пока не убрал администрирование по записям, да и убрать удалось далеко не с первой попытки.

Нравится

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

Добрый день!

Во вложении находится руководство по настройке прав доступа на справочники.prava_dostupa_na_otdelnye_spravochniki.doc

Спасибо! Вопрос снят. Новую группу создавать не нужно, можно выставить права на группу "Справочники". Чтобы правами можно было управлять пришлось создать подобие раздела для справочника.

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