Есть такой код:

var adods_WebSite = GetSingleItemByCode('adods_WebSiteRecord');
        adods_WebSite.Close();
        adods_WebSite.Parameters('ID').Value=Dataset('ID').substr(1,36);
        adods_WebSite.Open();
        if(adods_WebSite.RecordsCount>0){
                Dataset('Name')=adods_WebSite('Name');
        }
        adods_WebSite.Close();

при выполнении adods_WebSite.Open(); выбивает ошибку "rowset position cannot be restarted".
что интересно, когда Dataset('ID').substr(1,36); заменить на Dataset('ID').substr(1,35); или Dataset('ID').substr(2,36); то ошибки нет, но результат ничего не возвращает. Как избавится от этой ошибки?

Нравится

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

Добрый день
Подскажите, а какая СУБД находится на другой стороне? И для чего Вам делать substr?

My SQL.
Если делать без substr, то ошибки нет, но возвращается пустой результат

Вы можете посмотреть какой запрос уходит на my sql?
Также, можно попробовать вместо Dataset('ID').subst(1, 35) поставить известный ID (константу), чтобы убедится, что формат id подходит

К сожалению там нет SQLText.
Я пробую разные варианты

SELECT `ID`, `Name` 
FROM `tbl_tyre`
where '{'+CAST(ID AS char(36))+'}' = :ID

пробовал и через like.
Такое впечатление что оно знает чего мне нужно и упорно препятствует мне...

Похоже, дело именно в неправильном запросе, уходящем в MySQL.
Надо попробовать найти программу-профайлер для MySQL и посмотреть, что за запрос идёт на базу.

Проблема в параметре, без него все работает хорошо...

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

Я создаю шаблон счёт-фактуры, мне необходимо подсчитывать сумму с НДС и округлять сумму в каждой строке. На примере шаблонов других документов я хочу использовать OnDatasetCalcFields, который даёт возможность менять уже выбранные из БД значения. Например так:

var Value = Dataset.ValAsFloat('BasicTotalAmount');
ShowInformationDialog("Value before = " + Value);
var NDS = Value / 100 * 18;
ShowInformationDialog("NDS = " + NDS);
var Totally = System.Round(NDS + Value, 2);
Dataset.Values('BasicTotalAmount') = Value;

Проблема в том, что событие OnDatasetCalcFields не срабатывает в принципе. В других документах всё нормально. Пытался найти отличия от уже существующих Dataset-ов и шаблонов, но ни к чему не пришёл.
Как быть? Как заставить событие отрабатывать.

Нравится

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

Доброго времени суток, коллеги.
Согласно этому в запросе в колонке с текстом SQL вроде как можно использовать конструкцию для автоматической замены таблицы на представление в зависимости от прав пользователя. Вопрос: в каких версиях Terrasoft это работает? На Terrasoft CRM 3.3.2.245 выдает ошибку "Оригинальное сообщение об ошибке: Incorrect syntax near ''. Incorrect syntax near the keyword 'SELECT'"

Нравится

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

Добрый день.

Начиная с версии 3.4.0

Ясно, спасибо.
А в 3.3.2 подобную задачу решить можно? Или сразу вместо имен таблиц вставлять имена представлений?

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

Также можно


делать в колонке вызов хранимой функции с нужным условием.

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

Доброго времени суток, коллеги.
Использую Terrasoft CRM 3.3.2.
Подскажите, есть ли возможность заставить стандартный элемент управления "Календарь" отображать более одного месяца одновременно? И можно ли на нем выделить (подсветить) несколько несвязанных диапазонов дат? Примерно как на картинке во вложении (часть дат выделена полужирным шрифтом).

Нравится

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

Добрый день.

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

Спасибо, буду смотреть.

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

Добрый день! Потребовалось добавить поле "Код" в таблицу единиц измерения. Добавление самого поля не составило проблем, добавил его в таблицу, в sq_ запрос и в ds_ выборку. Но есть проблема по добавлению текстового поля в справочник. В администраторе я не нашёл wnd_ объект, который отображается для единицы измерения. В клиентской части, когда я захожу в Справочники->Настройки для пункта "Единицы измерения" не указано окна редактирования. Указан только источник данных. Как я понял, если отсутствует значение у окна редактирования, то поля должны как-то сами подтягиватся. Почему тогда код не появился?

Нравится

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

Если окно не указано, то используется стандартное окно редактирования из двух полей - Name и Description.
Сделайте свое окно редактирования (в качестве TemplateWindowUSI = wnd_BaseDBEdit) и укажите его в настройках справочника.

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

В окне напоминаний не уходят напоминания по выполненным задачам. Может кто подскажет как с этим справиться

Нравится

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

Добрый день Дмитрий!!!

на сколько я помню по платформе 3.Х, "напоминания" из окна напоминаний, сами по себе не пропадали. вручную или переносишь срок напоминания, или прекращаешь с ними работать.

Добрый день.

Удаление задачи с окна напоминания происходит в функции DeleteRemindingByTask, сервиса ds_TaskScript. В этой функции установите BreakPoint и пройдитесь по коду, должны дойти до кода:
var StatusID = GetDatasetFieldValue(Dataset, 'StatusID');

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

Еще рекомендую проверить значение системной переменной DeleteRemindingByFinishedTask, по умолчанию, значение поля [Значение] должно быть true.

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

Добый день, уважаемые разработчики!
Пожалуйста, помогите решить следующую проблему.
При переходе из разделов Контакты\Контрагенты в другие разделы и возвращении обратно, перестает работать кнопка Отложить напоминание в этих разделах, а иногда
и попросту становится неактивной.

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

Нравится

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

Добрый день Дмитрий!!!

подскажите у вас какая версия платформы 3.Х. Я конечно могу ошибаться, но насколько помню из Версии Terrasoft XRM 3.5, кнопка "Отложить напоминания" была во всплывающем окне "Напоминаний", и это была абсолютно отдельная сущность, которая работала без привязки к разделам. И переходы между разделами на данное всплывающее окно никак не могли повлиять. Можно пожалуйста более детально описать суть вашей проблемы, встречается ли данная проблема при переходе между другими разделами?

Михаил, Дмитрий писал, что у него «Консультанты и Тренеры 3.2.0.87 (Лабитек)».

Это партнёрское решение и, похоже, логика напоминаний там переделана относительно стандартной.
А партнёр этим продуктом уже не занимается.

В предыдущей теме на подобный вопрос написали:


В таком случае я бы Вам рекомендовал обратиться к менеджеру Terrasoft, если не знаете своего менеджера, то с этим вопросом можете обратиться в службу поддержки Terrasoft по e-mail: support@terrasoft.ru.
В данном случае тяжело сказать в чем причина такого поведения приложения, ведь в базовой линейки продуктов Terrasoft, такой проблемы не наблюдалось.
Для решения подобных проблем необходим доступ к конфигурации

- Используем Консультанты и Тренеры 3.2.0.87.
- Всплывающее окно, это общее окно куда сводятся все напоминания, время которых подошло и в нем есть кнопка Отложить, так же как и на деталях Напоминания в разделах Контрагенты, Контакты, Продукты, Воздействия, Ресурсы где их изначально создаешь. Т.о. откладывать можно и там и там. Проблем с откладыванием времени во всплывающем окне нет.
Проблема появляется либо в разделе Контрагенты , либо Контакты именно когда начинаешь делать переходы между разделами. Может и в других, но не анализировал. В большей степени проблема проявляется в разделе Контрагенты.
Допустим повесил напоминание на "через 10 минут" на определенного контрагента, потом сходил в раздел Контакты, потом в раздел Воздействия, еще что-нибудь сделал, потом вернулся обратно в Контрагенты и решил что через 10 минут туда еще рано звонить и нужно отложить допустим на целый час. Выставляешь время
в окошечке - 1ч, жмешь на кнопку, а время как было так и есть. Иногда вообще кнопка становится неактивной(серой).
Если работаешь только в одном разделе с самого начала запуска системы, то все работает как надо.
Т.е. если сразу окрыл раздел Контакты, то можешь сколько угодно раз переключаться по карточкам контактов(или переставлять курсор в реестре) и менять время напоминания у них - все работает как часы.
Такое ощущение, что при заходе в другие разделы прилипают сущности этих разделов и при возврате
необходимо что-то обновить , а вот что?

Дмитрий, в коробке такое поведение не наблюдается. Видимо, это специфическая логика, доработанная партнёрами.

А партнер в настоящее время не может уже помочь? или продукт у партнера снят с поддержки?

Уже не поддерживают.

Сразу из коробки кажется работало, но там было много багов\глюков которые исправляли.
Были и доработки ..., в какой момент появилось уже трудно вспомнить. Может у кого-нибудь есть мысли что проверять, в каком месте проверять или в каком направлении проверять ? Может какой-нибудь супер\refresh воткнуть при переходах в разделы? Нужен код!
Кстати, а как в комментарии грузить картинку со своего компьютера?

В таком случае нужно подключаться, изучать код и разбираться.
Дмитрий, обратитесь к менеджеру, пусть подскажет, кто и когда может таким заняться.

Картинку можно грузить по ссылке «Прикрепленные файлы» под полем ввода текста.

Прикрепить можно , а в сам текст комментария как вставить?

Судя по скриншоту, это явно не совсем стандартная логика.

В маленьком окошечке выпадающий список разных интервалов времени от 5 минут до 2 недель, я еще 1 минуту добавил. Одну кнопку растянул, которой больше всего пользуюсь, одну переименовал, может что-то местами поменял и все. Что Вы имеете ввиду под нестандартной логикой ? Наличие окошка с выбором времени задержки выстреливания сообщения? :smile:

Сам список с интервалами на этой детали в стандартной CRM отсутствует.
Смотрю на коробку 3.2 на стр. 87 тут.

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

Кстати, я не понимаю почему отсутствует, ведь это более удобно!

Возможно, действительно удобно. Но платформа 3.Х уже не развивается, и маловероятно, что где-то ещё такое сделают.

Можете проверить, как устроено создание напоминаний в актуальной версии bpm'online 7 и если там такого нет, но было бы кстати, написать в раздел «Идеи» этого сайта.

В bpm'online 7 есть доступ к JScript?

Дмитрий, добрый день,

Судя по скриншоту, мы (Лабитек) не делали такой функциональности, я бы запомнил :)
Поднял дамп, с которого делалась инсталляция "Консультанты и тренеры" - в нем напоминания работают и выглядят точно также, как в стандартной конфигурации. Вам нужно связаться с тем, кто дорабатывал конфигурацию под ваши задачи после приобретения.

Странно, мне кажется, что окошко для выбора интервала уже было. Может просто забыл, и на самом деле
была доработка.

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

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

Добый день, уважаемые разработчики!
Пожалуйста, помогите решить задачу, которая на первый взгляд, кажется не сложной, но ни как у меня не поддается решению. Все перепробовал.
Как из открытой карточки Контакта выгрузить в excel-файл Полное имя контакта?
Допустим, я создал кнопку на карточке по нажатию на которую Полное имя контакта должно экспортироваться в ячейку файла excel. Пожалуйста, подскажите хотя-бы примерно какой код можно было бы прописать на событие onButtonClick ? Зараннее благодарю!

TS CRM 3.2.0.87

Нравится

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

Вопрос решил сам - вопрос снимаю

Можно пример кода?

С примером кода по выгрузке данных в Excel вы можете ознакомиться по ссылке.
Значение поля карточки можно получить из датасета карточки dlData.Dataset('название поля').

Создал кнопку на карточке ред. контакта.
Пример моего кода по нажатию кнопки на карточке(экспортирую три поля в файл EXPORT.xls). Код пишем в scr_ContactEdit:
function ButtonOnClick(Control) {

var ExcelApp = new ActiveXObject("Excel.Application");
var ExcelSheet = new ActiveXObject("Excel.Sheet");

ExcelSheet.Application.Visible = false;
var Dataset = dlData.Dataset;

ExcelSheet.ActiveSheet.Cells(1,1).Value = Dataset.Values('Communication4');
ExcelSheet.ActiveSheet.Cells(1,2).Value = Dataset.Values('Short');
ExcelSheet.ActiveSheet.Cells(1,3).Value = Dataset.Values('Dear');

ExcelSheet.SaveAs( "C:\EXPORT.xls" );
ExcelSheet.Application.Quit();

}

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

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

Возникла необходимость реализовать ТС в терминале, версия - 3.4.0.142.
сделал rdp-файл, Террасофт в терминале заработал, НО - появилась проблема -
при открытии файлов из Библиотеки, например Word - пытается открыть файл, но
в итоге выводит сообщение об ошибке:

"Компонент недоступен. За дополнительными сведениями обращайтесь к системному администратору".

запустил файл: TSMSOfficeConfig, поставил галочки напротив - Word, Excell, также пробовал копать
в сторону прав доступа - создавал пользователей с именем аналогичным учетке в ТС и разрешал
доступ к папке: С:\users\user-1. Не помогло.

Как можно это исправить?

Нравится

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

Проблема как мне кажется не в TS, а в установленном офисе - система сообщает что компонент офиса недоступен. У вас эти файлы там же на терминале под той же учеткой Word нормально сам по себе открывает?

"VLAD_admin" написал:запустил файл: TSMSOfficeConfig, поставил галочки напротив - Word, Excell,

Добрый день!!!

после того как поставили Галочки. Запустите к примеру Word и посмотрите дополнительная панель Террасофта появилась на экране. Если нет, то это как раз говорит о том, что модули (DLL) Террасофта не зарегистрировались в ворде и экселе. Я бы попробовал вручную зарегистрировать данные компоненты.

второй вопрос, а ранее у вас все работало? если да, то что делали на терминальном сервере, после чего перестало работать.

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

Добрый день!
3.4.0
В разделе E-mail есть кнопка "Показать связи" - при нажатии на которое открывается
окно

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

Нравится

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

Спасибо, вопрос отменен - форма этого окна формируется динамически

Это окно wnd_MailLinks. В дизайнере в нём нет полей, они добавляются динамически в скрипте окна.

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