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

  • Данными
  • Окнами
  • Бизнес процессы
  • И другие

Работа с данными
При работе с данными основными операциями являются - получить данные и записать.
Что бы каждый раз не писать для этого код, встречайте:
GetDatasetValue - для получения одного значения
GetDatasetValues - для получения множества значений
SetDatasetValue - для записи одного значения
SetDatasetValues - для записи множеств значений

Пример: необходимо получить имя контакта по его ID.
Для этого нужно написать вот такую функцию и вызвать ее.

function GetContactName(ContactID) {
        var Dataset = Services.GetNewItemByUSI('ds_Contact');
        ApplyDatasetFilter(Dataset, 'ID', ContactID, true);
        Dataset.Open();
        var Name = Dataset('Name');
        Dataset.Close();
        return Name;
}

function Main() {
        var SupervisorID = '{251FB9AC-C17E-4DF7-A0CB-D591FDB97462}';
        var Name = GetContactName(SupervisorID);
}

Но можно избежать написания функции GetContactName, используя GetDatasetValue,
тогда весь код для получения имени контакта станет вот таким

function Main() {
        var SupervisorID = '{251FB9AC-C17E-4DF7-A0CB-D591FDB97462}';
        var Name = GetDatasetValue('ds_Contact', SupervisorID, 'Name');
}

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

Для изменения контакту имени, мы будем использовать SetDatasetValue

SetDatasetValue('ds_Contact', ContactID, 'Name', NewName);

Здесь и фильтрация по ID записи и запись значения, все в одной строке.

Работа с окнами
При работе с окнами, часто возникает необходимость подключать детали в карточку редактирования.
Для этого, разработана функция которая это делает очень легко - IncludeDetailEdit
Для примера подключим деталь договоров в карточку продажи.
Все это опишем в одном методе IncludeDetails.

function IncludeDetails() {
        var Dataset = dlData.Dataset;
        var RecordID = Dataset('ID');  
        IncludeDetailEdit(wndContract, 'ds_Contract', 'OpportunityID', RecordID);
}

Нужно указать контейнер окна (WindowContainer) содержащий реестр договоров, датасет, поле для фильтрации договоров и ID записи по которой будем фильтровать.

Бизнес процессы
Работа каждого бизнес процесса начинается с его запуска, для этого будем использовать RunWorkflow

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

function StartProcess() {
        var Dataset = dlData.Dataset;
        var ContactID = Dataset('ContactID');
        var AccountID = Dataset('AccountID');
       
        RunWorkflow('wd_Sales', {
                'ContactID' : ContactID,
                'AccountID' : AccountID
        });
}

Нужно указать USI диаграммы и набор передаваемых параметров в диаграмму.
Параметры должны быть у виде объекта, где имя свойства будет равным имени параметра.

Это только маленькое описание по часто используемым функциям.

Нравится

Поделиться

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

а вообще, спасибо большое :twisted:

хотя и есть спорные моменты

Спасибо. Интересно было посмотреть на отправку почты через Thunderbird, работу с OpenOffice и отправка HTTP запросов и получение ответов (взял для себя на заметку).

"Андросов Дмитрий" написал:


Упс, точно. Исправлю.

"Зверев Александр" написал:

А в чём разница с предыдущим сообщением?


Там был создан черновик давным давно и он у меня не отображался в первых строках после публикации. Поэтому я подумал, что он затерялся в старых дата и пересоздал тему.

Тогда ясно.

Библиотека полезная.
Не очень ясно только, зачем нужны GetDatasetValue и GetDatasetValues при наличии аналогичных GetDatasetFieldValueByID и GetDatasetFieldValuesByID.

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

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

  • Данными
  • Окнами
  • Бизнес процессы
  • И другие

Работа с данными
При работе с данными основными операциями являются - получить данные и записать.
Что бы каждый раз не писать для этого код, встречайте:
GetDatasetValue - для получения одного значения
GetDatasetValues - для получения множества значений
SetDatasetValue - для записи одного значения
SetDatasetValues - для записи множеств значений

Пример: необходимо получить имя контакта по его ID.
Для этого нужно написать вот такую функцию и вызвать ее.

function GetContactName(ContactID) {
        var Dataset = Services.GetNewItemByUSI('ds_Contact');
        ApplyDatasetFilter(Dataset, 'ID', ContactID, true);
        Dataset.Open();
        var Name = Dataset('Name');
        Dataset.Close();
        return Name;
}

function Main() {
        var SupervisorID = '{251FB9AC-C17E-4DF7-A0CB-D591FDB97462}';
        var Name = GetContactName(SupervisorID);
}

Но можно избежать написания функции GetContactName, используя GetDatasetValue,
тогда весь код для получения имени контакта станет вот таким

function Main() {
        var SupervisorID = '{251FB9AC-C17E-4DF7-A0CB-D591FDB97462}';
        var Name = GetDatasetValue('ds_Contact', SupervisorID, 'Name');
}

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

Для изменения контакту имени, мы будем использовать SetDatasetValue

SetDatasetValue('ds_Contact', ContactID, 'Name', NewName);

Здесь и фильтрация по ID записи и запись значения, все в одной строке.

Работа с окнами
При работе с окнами, часто возникает необходимость подключать детали в карточку редактирования.
Для этого, разработана функция которая это делает очень легко - IncludeDetailEdit
Для примера подключим деталь договоров в карточку продажи.
Все это опишем в одном методе IncludeDetails.

function IncludeDetails() {
        var Dataset = dlData.Dataset;
        var RecordID = Dataset('ID');  
        IncludeDetailEdit(wndContract, 'ds_Contract', 'OpportunityID', RecordID);
}

Нужно указать контейнер окна (WindowContainer) содержащий реестр договоров, датасет, поле для фильтрации договоров и ID записи по которой будем фильтровать.

Бизнес процессы
Работа каждого бизнес процесса начинается с его запуска, для этого будем использовать RunWorkflow

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

function StartProcess() {
        var Dataset = dlData.Dataset;
        var ContactID = Dataset('ContactID');
        var AccountID = Dataset('AccountID');
       
        RunWorkflow('wd_Sales', {
                'ContactID' : ContactID,
                'AccountID' : AccountID
        });
}

Нужно указать USI диаграммы и набор передаваемых параметров в диаграмму.
Параметры должны быть у виде объекта, где имя свойства будет равным имени параметра.

Это только маленькое описание по часто используемым функциям.

Нравится

Поделиться

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

Хочу понять, на сколько актуальна/важна для пользователей возможность работы Terrasoft CRM с OpenOffice?

Последнее время меня очень радует OpenOffice 3.1, как для бесплатного офисного пакета - большой шаг вперед! Конечно, есть свои нюансы (я себе для работы приобрел MS Office 2007 - могу сравнивать)...

Но все же, хочу услышать "глас народа" - нужен модуль для работы с OpenOffice или нет? Какой первичный функционал был бы востребован?

Спасибо и жду комментариев!

Нравится

Поделиться

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

Тут важен еще такой момент - а что с почтовым клиентом в случае перехода на OpenOffice? Если мне не изменяет память, стоимость лицензии на Microsoft Outlook сравнима со стоимостью офисного пакета в целом. Так что экономия будет в плане приложений, с которыми будет интеграция (Writer, Calc, etc.), но от проприетарного Outlook не уйти - вот это и грустно.

ООО "Лайнсервис"
www.ls-crm.ru

Согласен! Нужно думать...

У нас был опыт интеграции с Thunderbird 1, но из-за многих возникших проблем - пришлось проект заморозить... Может именно сейчас время посмотреть на код Thunderbird 2 ? :)
Опять же, какой базовый функционал нужен для работы с почтой (для начала)?

--
www.it-sfera.com.ua
Terrasoft Solution Partner

Вообще тема очень интересная - может ее даже в отдельную ветку вынести - Open Source + Terrasoft? Мы некоторое время занимались исследованием и практическими тестами данного вопроса, но в итоге столкнулись с тем, что (1) существует ряд проблем стыковки/совместимости, трудно решаемых без поддержки именно разработчика Terrasoft, и (2) необходимость финансовой заинтересованности в такого рода решении - проще, говоря, наличие клиента(ов), готовых подобное использовать (само собой, решение второй проблемы приведет к быстрому решению первой;-))

ООО "Лайнсервис"
www.ls-crm.ru

"Виталий Ковалишин aka samael" написал:время посмотреть на код Thunderbird 2

Аналогичный опыт был у нас, но по упомянутым выше причинам он не был завершен, кстати, именно под Thunderbird 2.
Направления интеграции, в принципе, простые - возможность загрузки писем (привязка) в Terrasoft и использование движка Thunderbird для отправки писем/рассылки. Это минимум.

ООО "Лайнсервис"
www.ls-crm.ru

Александр - как я Вас понимаю!!! :)

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

--
www.it-sfera.com.ua
Terrasoft Solution Partner

Ну вот востребованность - это основная проблема. Мы, в приципе, пошли дальше - была глобальная идея создания полностью Open Source решения для офиса на базе Linux (единственный или почти единственный проприетарный софт - Terrasoft CRM))), которое было частично воплощено в жизнь в тестовом виде на нас самих)) Основные возникшие проблемы - нежелание Terrasoft работать в режиме эмуляции (это тема отдельной большой ветки, если есть интерес можно ее поднять) и само собой невозможность уйти от Outlook. Как вариант - вынесение проблемной почты вместе с Terrasoft на виртуальную машину/на терминал - но это снова Windows((

ООО "Лайнсервис"
www.ls-crm.ru

Хм... Похоже мы с Вами, в этом плане, один путь прошли :)

Terrasoft пробовали под Wine или WINE@Etersoft (на котором 1С работает) ?

--
www.it-sfera.com.ua
Terrasoft Solution Partner

Этот путь вполне закономерен)) Пробовали под Wine@Etersoft... связывались с самим Etersoft, они пытались самостоятельно разбраться с чудо-CRM параллельно с нашими попытками. Итог прост - не работает под эмулятором Microsoft Script Control, если бы удалось запустить его - был бы TS под Linux))
Вариант решения это подключение разработчиков Etersoft к данной задаче вплотную - но он упирается в финансирование данных разработок.
ООО "Лайнсервис"
www.ls-crm.ru

или же - native linux TS client :)

Но,

"Александр Кравчук" написал:...под Линукс разработка клиента не ведется.
http://community.terrasoft.ua/forum/topic/1016

Возвращаемся к теме OpenOffice и Terrasoft под Windows

--
www.it-sfera.com.ua
Terrasoft Solution Partner

[quote="Виталий Ковалишин aka samael"]http://community.terrasoft.ua/forum/topic/1016[/quote]
сейчас там отметимся))

В тему интеграции с OpenOffice. Вообще альтернатива Microsoft должна быть)) но это ощущение скорее программиста, а не клиента - есть ли интерес и реальная потребность, вот в чем вопрос, насколько часто встречается OpenOffice в жизни компаний?

ООО "Лайнсервис"
www.ls-crm.ru

OpenOffice: Такая интеграция, конечно же, интересна. Более того, наверняка, если появится такое решение - она будет продаваться. В планах Terrasoft пока нет поддержки OpenOffice, но мы, как всегда в таких случаях, с удовольствием поддержим партнера, который возьмется сделать такую интеграцию.
Linux: Действительно, есть проблема связанная с Microsoft Script Control. Мы конечно же, можем перейти на другой скриптовый движок, но:
1. Нет уверенности что он будет на 100% совместим с MSSC
2. Нет особого спроса со стороны клиентов - пользователей Linux
[font=monospace]

[/font]
И сообщение для партнеров: клиент на Linux будет, но несколько позже - приезжайте на партнерскую конференцию, узнаете детали :)

"Попов Александр" написал:клиент на Linux будет, но несколько позже - приезжайте на партнерскую конференцию, узнаете детали

о как, вот это интересно!

ООО "Лайнсервис"
www.ls-crm.ru

Значить нужно ехать... :)))

--
www.it-sfera.com.ua
Terrasoft Solution Partner

"Александр Кудряшов" написал:о как, вот это интересно!

"Виталий Ковалишин aka samael" написал:Значить нужно ехать... :)))

Обязательно нужно ехать! Будет еще много очень интересного! :)

Клиент под Linux - очень хорошо!
Сейчас идет переход на OpenSource и
уже сейчас получаем запросы от клиентов на поддержку Linux и их количество будет только расти. Да и сами сейчас уже запланировали и скоро начнем переход на OpenSource.
Так что очень приятно слышать, что будет клиент для Linux, поддерживаю обеими руками. А вот серверная часть?

Простите, но вся остальная информация будет озвучена на партнерской конференции :)

Не отвлекаемся :) Обговариваем OpenOffice и Terrasoft

--
www.it-sfera.com.ua
Terrasoft Solution Partner

Ок ))
По OpenOffice могу саказать: тоже интересно Linux
Мы, например, сейчас переходим на него с Microsoft целиком всей компанией

Про линукс оживляю здесь;-)
http://community.terrasoft.com.ua/forum/topic/1016"

"Самодуров Александр Михайлович" написал:А вот серверная часть?

а серверная часть - firebird ОТЛИЧНО работает под любой *nix системой, так что остался клиент, но про него см. выше))

ООО "Лайнсервис"
www.ls-crm.ru

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

"Александр Кудряшов" написал:Thunderbird 2

Александр, не могли бы Вы немного детальнее рассказать о проблемах с которыми столкнулись. Не хотелось бы наступать на грабли, если уже есть какая то полезная информация.

Алексей, у Террасофт есть каки-то планы в этом направление?

--
www.it-sfera.com.ua
Terrasoft Solution Partner

сайт http://openoffice.org/ и http://ru.openoffice.org/ недоступны (хотел посмотреть как изменился продукт, давно не видел). Это так, для справки :)

"Шевченко Юрий" написал:сайт http://openoffice.org/ и http://ru.openoffice.org/ недоступны (хотел посмотреть как изменился продукт, давно не видел). Это так, для справки :)

Вполне живы и доступны))

"Ключник Алексей" написал:немного детальнее рассказать о проблемах

Постараюсь сформулировать состояние работ по интеграции с Thunderbird в понедельник

ООО "Лайнсервис"
www.ls-crm.ru

ссылки рабочие! :)

--
www.it-sfera.com.ua
Terrasoft Solution Partner

"Виталий Ковалишин aka samael" написал:Террасофт есть каки-то планы в этом направление?

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

Повторюсь ещё раз.

"Александр Кудряшов" написал:Аналогичный опыт был у нас, но по упомянутым выше причинам он не был завершен, кстати, именно под Thunderbird 2.
Направления интеграции, в принципе, простые - возможность загрузки писем (привязка) в Terrasoft и использование движка Thunderbird для отправки писем/рассылки. Это минимум.

Проект заморожен до потенц. Клиента. Проект прошел стадии изыскания и понимания как чего. Уже сделан кандидатский минимум по работам .

Если у кого есть под кого сделать , или желание сделать совместно данный проект милости просим в гости.

Александр Ярмоленко
Лайнсервис
http://www.ls-crm.ru

Опять же нужна грамотная поддержка со стороны Terrasoft /

А то получится как с Октел.

Александр Ярмоленко
Лайнсервис
http://www.ls-crm.ru

Вдогонку к словам коллеги: заморозка проекта произошла на такой стадии:
1. Подготовлена рабочая альфа-версия скриптов для регулярной загрузки писем в Terrasoft из файла профиля Thunderbird - получение писем, таким образом, в некотором объеме заработало. Привязку их на данном этапе не делали.
2. Отправка писем из Terrasoft - необходим переходник для работы c XPCOM, его только обдумали и писать не стали по упомянутым выше причинам.

ООО "Лайнсервис"
www.ls-crm.ru

Мы пошли с написания прослойки на Java для работы c XPCOM, сотрудник, который за это отвечал, уволился... Клиент решил купить Outlook... проект заморозили...

При загрузки писем в базу, как Вы работали с форматом mbox? Парсили и резали :)

--
www.it-sfera.com.ua
Terrasoft Solution Partner

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

ООО "Лайнсервис"
www.ls-crm.ru

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

Это Вам так только казалось :) Вы не пробовали письма, где Тема на украинском с " і ї є " ;) Тут и веселье начинается!

--
www.it-sfera.com.ua
Terrasoft Solution Partner

"Виталий Ковалишин aka samael" написал:Тут и веселье начинается

ну я ж говорю "в общем..." (грустный смайл).

ООО "Лайнсервис"
www.ls-crm.ru

Интересно, а много ли людей (читай, программеров) пожертвовали своим временем для написания такой интеграции (Thunderbird - раз уж отклонились от темы) Just For Fun ?

Был бы первый OpenSource продукт для Terrasoft (Готов организовать Subversion-сервер :))) ) рожден на Community!

--
www.it-sfera.com.ua
Terrasoft Solution Partner

Можно тему новую поднять Terrasoft + JustForFun и туда попробовать аккумулировать все что было в последнее время в исследовательских целях разными программерами сырого опробовано/сделано. Можно этакого франкенштейна собрать будет, интергированного со всем и вся))

ООО "Лайнсервис"
www.ls-crm.ru

Как скажите: http://community.terrasoft.ua/blogs/3818 ;)

--
www.it-sfera.com.ua
Terrasoft Solution Partner

;-)

ООО "Лайнсервис"
www.ls-crm.ru

Как клиент поддерживаю данное начинание. В нашей компании из протоприетарного используется Terrasoft и только сами "окошки" и касперский, потому что CRM пока не работает без "окошек", а их нужно кому-то защищать. Офисный пакет давно используем от Опенофис, а почту от ГуглАппс через веб-интерфейс (благо что почта не заняла столь большого места в нашем бизнесе, и отсутствие связки CRM+email особого дискомфорта не приносит).
Был бы счастлив юзать никсовый клиент Террасофт и переводить своих сотрудников на использование ubuntu. Если бы еще можно было бы привязать к веб-интерфейсу гугловской почты - было бы совсем шикарно.
И кстати, без связки CRM с Опенофис, экспортировать приходится в rtf, потом править во Врайтере или Кальке, в формат МС Экселя экспортировать отказывается. Вот так.

Как говорится, я всем руками и ногами "за"!
______________
www.abs.com.kz
Агентство недвижимости АБС Royal Estate

offtop: установил себе последнюю версию Open Office. Первые впечатления - пакет что-то среднее между MSOFFICE97 и MSOFFICE2003. Конечно, большенство функций реализованны, но как-то не так, как привыклось. Сказывается платность MS продуктов и работа разработчиков над важным моментом - эргономикой (MS OFFICE 2007), что пока не прослеживается в бесплатном пакете.
Вывод: Для бизнеса - просто великолепно: отсутствие затрат на данное ПО это плюс, но переучивание сотрудников - минус. Для личного пользования - пока удаляю...дальше - виднее.

интересно, есть какое-то движение в этом направлении?:smile:
все больше клиентов начинают переходить на Open Office и потенциальные появляется

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

Здравствуйте! Такой вопрос: "Если даже интеграция с Open Office будет воплощена в жизнь, то будет ли данный модуль платным?" Ведь на его разработку уйдет время разработчиков. Хотя плюсы все же будут: новые клиенты, удобность программы, ведь она станет более гибкой. :wink:

В случае если данный модуль будет широко востребован и будет внесен в базовую версию (по аналогии с интеграцией с MS Office) - для его получения понадобиться переход на новую версию.

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

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