Quantcast
Channel: Terrasoft Community блог
Viewing all 173 articles
Browse latest View live

Новое обучающее видео «Полнотекстовый поиск по вложенным файлам в PT Docs on bpm'online и PT File X for bpm'online»

$
0
0
Обо всем на свете

Добрый день, уважаемые коллеги!

Мы постепенно пополняем коллекцию обучающих видео о наших продуктах и сегодня представляем вашему вниманию новое обучающее видео «Полнотекстовый поиск по вложенным файлам»из серии «Работа с файлами онлайн».

Полнотекстовый поиск слов и словосочетаний в файлах доступен для продуктов PT Docs on bpm'onlineи PT File X for bpm'online. Вы можете ознакомиться с видео по ссылке.

Также в данную серию видео уроков входит:
Редактирование файлов online
Предпросмотр файлов online

Подписывайтесь на нашу страницу Youtube, чтобы всегда быть в курсе появления новых видео инструкций.

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

Буду рад ответить на все ваши вопросы!

С уважением,
Зайчиков Илья
Менеджер продуктов
ООО «Программные Технологии»
Центр разработки и внедрения Террасофт Поволжье
Тел. +7 (846) 266-55-69
Сот. +7 (937) 076-12-84
Skype: zaichikovilya_samarasoft
Email: Zajchikov@samarasoft.ru
www.ptsoft.ru


Формирование и отправка .pdf из заказа, счета, продажи

$
0
0
Обо всем на свете

Часто бывает необходимо отправить клиенту счет, коммерческое предожение и т.д. Как известно, базовая функциональность bpm´online предлагает это решать так:

  • Нажали на кпонку "Печать"
  • Сохранили документ (ну он сам в принципе сохранился)
  • Создали новый E-mail
  • Прицепили к нему этот файл и отправили

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

  • Создали новый заказ
  • Процессно создали событие E-mail
  • Сгерерировали и сохранили печатную форму заказа
  • Открыли окно события с вложением и отправили

Вот скрипт:

var RecordId = Get<Guid>("OrderId");// Id записи, для которой генерируем файл, параметр процесса
var ActivityId = Get<Guid>("ActivityId");// Id активности, к которой его цепляем, параметр процесса
var userConnection =(UserConnection)HttpContext.Current.Session["UserConnection"];
ReportData data =new ReportData();
ReportService reportService =new ReportService();
var ReportSchemaId ="2fcb529e-e3a8-4926-85c6-585f53e25765";// Id шаблона печатной формы отчета
data = reportService.GenerateMSWordReport(ReportSchemaId, RecordId.ToString(), true);//true - перевод в pdf, false - MS Word
var reportStream =new MemoryStream(data.Data);


var entityFileSchema = userConnection.EntitySchemaManager.GetInstanceByName("ActivityFile");
var entityFile = entityFileSchema.CreateEntity(userConnection);
entityFile.SetDefColumnValues();
entityFile.SetColumnValue("ActivityId", ActivityId.ToString());
entityFile.SetColumnValue("Name", "Poptavka.pdf");
entityFile.SetColumnValue("TypeId", "{529BC2F8-0EE0-DF11-971B-001D60E938C6}");// - тип вложения файл, не менять
entityFile.SetColumnValue("Size", reportStream.Length);
entityFile.SetStreamValue("Data", reportStream);
entityFile.Save();
returntrue;

Usings:
Terrasoft.Reports
Terrasoft.Configuration.ReportService
System.IO
System.Web

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

Удачи :)

Новое видео «Работа с версиями файлов»

$
0
0
Обо всем на свете

Добрый день, коллеги!

Сегодня мы знакомим вас с видео уроком, посвященным версионности файлов. Он является завершающим из курса «Работа с файлами онлайн».

Данный урок показывает возможности продуктов PT Docs on bpm’onlineи PT File X for bpm’onlineсохранять историю редактирования любого файла, работать с его версиями непосредственно в браузере, добавлять или удалять их, а также изменять текущую.

В серию видео инструкций «Работа с файлами онлайн» входят следующие материалы:

Найти их вы всегда сможете на нашей странице You Tube, а также в базе знаний Программных Технологийвместе с другими материалами по каждому продукту.

В ближайшее время мы начнем новый курс видео уроков, который поможет вам разобраться с функциональными возможностями еще одного нашего решения: PT 1C Connector.

Приятного просмотра!

С уважением,
Зайчиков Илья
Менеджер продуктов
ООО «Программные Технологии»
Центр разработки и внедрения Террасофт Поволжье
Тел. +7 (846) 266-55-69
Сот. +7 (937) 076-12-84
Skype: zaichikovilya_samarasoft
Email: Zajchikov@samarasoft.ru
www.ptsoft.ru

Звонок на ответственного в bpm’online

$
0
0
Для программиста

В старых вебинарах я рассказывал о реализации функции “звонк на ответственного” через разработку дополнительного web-сервиса без авторизации в bpm’online. Данный сервис позволяет определить контакта по номеру телефона, найти внутренний номер сотрудника, закрепленного за этим контактом и направить звонок непосредственно на него. Только если он не ответил на протяжение n-секунд, отправить по общему правилу.

В представленной мною реализации было несколько проблем:

  1. Сервис без авторизации, а значит, к нему легко получить доступ. Ничего, кроме внутреннего номера ответственного по заданному номеру клиента не увидят. Но, это все же не безопасный метод.
  2. Есть основание полагать, что после очередного обновления bpm’online, этот сервис перестанет работать и нужна будет повторная его установка.

В документации по разработке bpm’online 7.8 появилось описание интеграции с помощью веб-службы DataService. Как уверяют меня коллеги, этот функционал был давно, но, описание появилось только начиная с 7.8 :wink:Вот на него и будем переводить нашу функцию “Звонок на ответственного”.

Для реализации поставленной задачи, нужна сборка ACR от 27.06.2016 или старше (начиная с релиза webitel v3.3.0), где была добавлена функция реверса строки и работы с Cookie. Так же, нам понадобиться логин и пароль пользователя bpm’online, у которого есть доступ на чтение в разделе Контакты.

В public маршруте проходим авторизацию с помощью httpRequestи получаем cookies в переменную:

{
    "httpRequest":{
        "exportCookie":"my_cookie",
        "url":"https://my.bpmonline.com/ServiceModel/AuthService.svc/Login",
        "method":"POST",
        "headers":{
            "Content-Type":"application/json"
        },
        "data":{
            "UserName":"Supervisor",
            "UserPassword":"Supervisor"
        }
    }
}

Дальше, имея cookie, мы можем получить доступ к DataService. Номера телефонов контактов хранятся в bpm’online в колонке Numberтаблицы ContactCommunication. И мы бы могли написать запрос, если бы не одно НО – как быть с символами, пробелами и другими знаками, что вносит пользователь в поле номера телефона? Для этого в bpm’online имеется скрытая колонка SearchNumber, где хранятся только цифры в обратном порядке (для более быстрого поиска). Этим мы и воспользуемся. Но, для начала обернем наш номер с помощью строковой функции reverse:

{
    "string":{
        "fn":"reverse",
        "data":"${caller_id_number}",
        "setVar":"reverted_caller_id_number"
    }
}

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

{
    "httpRequest":{
        "url":"https://my.bpmonline.com/0/dataservice/json/reply/SelectQuery",
        "method":"POST",
        "headers":{
            "Cookie":"${my_cookie}",
            "Accept":"application/json;odata=verbose"
        },
        "exportVariables":{
            "effective_caller_id_name":"rows.0.Name",
            "owner_caller_id_number":"rows.0.OwnerLogin"
        },
        "data":{
            "QueryType":0,
            "Columns":{
                "Items":{
                    "Name":{
                        "OrderDirection":0,
                        "OrderPosition":0,
                        "Caption":null,
                        "Expression":{
                            "ExpressionType":0,
                            "ColumnPath":"Name"
                        }
                    },
                    "OwnerLogin":{
                        "OrderDirection":0,
                        "OrderPosition":0,
                        "Caption":null,
                        "Expression":{
                            "ExpressionType":0,
                            "ColumnPath":"[WSysAccount:Contact:Owner].Login"
                        }
                    }
                }
            },
            "AllColumns":false,
            "IsDistinct":false,
            "RowCount":1,
            "Filters":{
                "FilterType":6,
                "ComparisonType":0,
                "LogicalOperation":0,
                "IsNull":true,
                "IsEnabled":true,
                "IsNot":false,
                "Items":{
                    "FilterByPhone":{
                        "FilterType":1,
                        "ComparisonType":9,
                        "LogicalOperation":0,
                        "IsNull":true,
                        "IsEnabled":true,
                        "IsNot":false,
                        "LeftExpression":{
                            "ExpressionType":0,
                            "ColumnPath":"[ContactCommunication:Contact].SearchNumber"
                        },
                        "RightExpression":{
                            "ExpressionType":2,
                            "ColumnPath":null,
                            "Parameter":{
                                "DataValueType":1,
                                "Value":"${reverted_caller_id_number}"
                            }
                        }
                    }
                }
            },
            "RootSchemaName":"Contact",
            "OperationType":0
        }
    }
}

Результат мы сохраняем в 2-х переменных:

effective_caller_id_name– webitel подставит значение из этой переменной в SIP From.
owner_caller_id_number– а здесь у нас храниться внутренний номер ответственного по контакту. Теперь достаточно выполнить звонок на этот номер.
Ответственный получает входящий звонок с именем контакта:

Звонок на ответственного

Полный пример маршрута Вы найдете на страницах базы знаний webitel.

Реестр почтовых сообщений

$
0
0
Обо всем на свете

На днях озаботились такой проблемой - клиенту надо посмотреть почтовые сообщения за последнюю неделю. И опа :) В стандартном почтовом клиенте средств фильтрации нет никаких, о папках вообще молчу. Решение - выводить в списке активностей еще и e-maily, благо активности и есть.

Реализация занимает 5 минут, поэтому, если кому надо, то вот последовательность действий:

1. Создаем замещающую схему секции активностей (ActivitySectionV2).
2. В ней определяем, что используем. Нам надо по большому счету BaseFiltersGenerateModule и все.
3. В ветке methods сносим фильтр NotEmailFilter, который собственно и убирает из списка активностей e-maily

getFilters:function(){
  var filters =this.callParent(arguments);
  if(filters.contains("NotEmailFilter")){
     filters.removeByKey("NotEmailFilter");
   }
  return filters;
}

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

Новый видеоурок «Интеграция с почтовым сервисом по протоколу IMAP/SMTP в CRM-системе bpm'online 7.8»

$
0
0
Обо всем на свете

Рады сообщить об актуализации видеоурока по настройке bpm'online.

В видеоуроке "Интеграция с почтовым сервисом по протоколу IMAP/SMTP в CRM-системе bpm'online 7.8"вы можете узнать, как выполнить весь процесс интеграции bpm'online с почтовым провайдером, от настройки параметров соединения с сервером до индивидуальных настроек личной учетной записи почты. И все это с учетом нового интерфейса и возможностей bpm'online 7.8

Видео доступно по ссылке: Интеграция с почтовым сервисом по протоколу IMAP/SMTP в CRM-системе bpm'online 7.8

Больше видеоуроков смотрите на сайте академии Terrasoft.

Новые материалы в документации по разработке (SDK)

$
0
0
Для программиста

В документации по разработке bpm’online (SDK) для bpm'online версии 7.8 опубликованы новые материалы.
Организация процесса разработки. Из этой статьи Вы узнаете о рекомендуемой последовательности создания новой функциональности в трех средах: среде разработки, среде тестирования и промышленной среде.
Работа с серверным кодом в Visual Studio. В статье изложены все тонкости настройки среды разработки для интеграции с VisualStudio.
Веб-служба DataService. Серия из восьми статей, посвященных интеграции bpm'online с внешними пользовательскими приложениями при помощи Web службы DataService.

Новый видеоурок «Мастер разделов bpm'online»

$
0
0
Для пользователя

Рады сообщить об актуализации видеоурока по настройке bpm'online.

В видеоуроке "Мастер разделов bpm'online"вы можете узнать, как создать новый или настроить существующий раздел. И все это с учетом нового интерфейса и возможностей bpm'online 7.8!

Видео доступно по ссылке: Мастер разделов bpm'online

Больше видеоуроков смотрите на сайте Академии Террасофт


Обновление документации по разработке (SDK) для версии 7.8

$
0
0
Для программиста

Сегодня обновлена документация по разработке bpm'online. Особенностью сегодняшнего обновления является то, что все опубликованные материалы созданы командами разработчиков при участии Академии!
Новые материалы:

Новый видеоурок "Настройка обработки обращений по каналу Email в bpm'online"

$
0
0
Обо всем на свете

Рады сообщить о выпуске нового видеоурока по настройке линейки service bpm'online.

Из видеоурока "Настройка обработки обращений по каналу Email в bpm'online"вы узнаете, какие настройки необходимо выполнить, чтобы система автоматически связывала входящие Еmail-сообщения с существующими обращениями или создавала новые.

Видео доступно по ссылке: Настройка обработки обращений по каналу Email в bpm'online

Больше видеоуроков смотрите на сайте Академии Terrasoft.

Новый видеоурок "Настройка обработки обращений по каналу Email в bpm'online"

$
0
0
Обо всем на свете

Рады сообщить о выпуске нового видеоурока по настройке линейки service bpm'online.

Из видеоурока "Настройка обработки обращений по каналу Email в bpm'online"вы узнаете, какие настройки необходимо выполнить, чтобы система автоматически связывала входящие Еmail-сообщения с существующими обращениями или создавала новые.

Видео доступно по ссылке: Настройка обработки обращений по каналу Email в bpm'online

Больше видеоуроков смотрите на сайте Академии Terrasoft.

Настройка интеграции объектов с типом «Перечисления» и строк в справочную колонку в продукте PT 1C Connector

$
0
0
Обо всем на свете

Добрый день, коллеги!

Мы рады поделиться с вами результатами усовершенствования продукта PT 1C Connector for bpm’online, которые значительно расширили перечень объектов, интегрируемых из 1C в bpm’online.

Интеграция объекта «Перечисления»

Часто интегрируемым объектом 1С, помимо справочников, является Перечисление. Отличительной особенностью данного типа является хранение значений в строковом формате. Например, в объекте 1С СчетНаОплатуПокупателюесть поле СтавкаНДСтипа Перечисление, значения которого «20%», «18 %», «Без НДС» и т.д. являются строками.
После осуществления ряда доработок продукта PT 1C Connectorпользователю стало намного удобнее самостоятельно настраивать интеграцию значений данного объекта 1С в строковые и справочные колонки bpm’online.
Также может быть осуществлена интеграция в обратную сторону, из bpm’online в 1С. Теперь пользователь может заполнять неким заданным при настройке интеграции значением колонки объектов Справочникили Документс типом Перечисление.
Например, для объекта 1С СчетНаОплатуПокупателюв рамках бизнес-задачи необходимо заполнять поле СтавкаНДСс типом Перечислениеконстантным значением «18 %» для всех счетов. Чтобы этого добиться, пользователю требуется указать константное значение «18 %» в поле Константапри настройке колонки.

Колонки интеграции табличной части

Интеграция строк в справочную колонку

При обновлении PT 1C Connectorбыла реализована возможность интеграции напрямую из колонки с типом Строкав колонку с типом Справочникпри интеграции в направлении из 1С в bpm’online.
При этом если в справочнике, в который осуществляется интеграция, отсутствует интегрируемое значение, то добавляется новая запись в соответствующий объект-справочник. Иначе выбирается существующее по названию значение.
Например, в объекте 1С есть строковое поле Город, которое заполнено словом «Самара». В соответствующем объекте bpm’online данное поле является справочным в силу удобства. Теперь при интеграции система проверяет, есть ли в справочнике bpm’online интегрируемое из 1С название «Самара». При положительном результате поиска существующее значение «Самара»выбирается из справочника. Если бы это значение было новым, то в справочник добавилось бы новое значение с полученным из 1С названием, для которого присвоился уникальный идентификатор.

Колонка интеграции регистра

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

Задавайте ваши вопросы и присылайте предложения, мы открыты для диалога и рады делать работу в PT 1C Connectorлучше с каждым днем!

С уважением,
Зайчиков Илья
Менеджер продуктов
ООО «Программные Технологии»
Центр разработки и внедрения Террасофт Поволжье
Тел. +7 (846) 266-55-69
Сот. +7 (937) 076-12-84
Skype: zaichikovilya_samarasoft
Email: Zajchikov@samarasoft.ru
www.ptsoft.ru

Bpm’online — в пятерке лидеров мирового CRM-рынка в рейтинге CRM Magazine

$
0
0
Обо всем на свете

Важная для нас награда! Bpm’online — в пятерке лидеров CRM-рынка в рейтинге The 2016 CRM Market Awards.

Четвертый год подряд наша система входит в список сильнейших CRM-решений мира по мнению авторитетного издания CRM Magazine. В этом году bpm’online представлена в ТОП-5 сразу в двух категориях: Sales Force Automation (автоматизация продаж) и Midmarket CRM Suite (комплексные CRM-решения для среднего бизнеса).

Как отметила Ребекка Веттерман, вице-президент Nucleus Research, благодаря последним обновлениям система стала еще более простой и удобной, обеспечивая рост продуктивности менеджеров. При этом функциональные возможности по управлению бизнес-процессами предоставляют компаниям существенное конкурентное преимущество.

Узнайте больше о награде

Интеграция регистров контактной информации и регистров бухгалтерии в продукте PT 1C Connector for bpm'online

$
0
0
Обо всем на свете

Добрый день, коллеги!

Как и обещали в прошлой статье, делимся с вами результатами обновления функции интеграции регистров контактной информации. Теперь она происходит в полном объеме и в обе стороны.
В 1С за хранение контактной информации отвечает 1 регистр. А в bpm’online контактная информация представлена двумя деталями: [Адреса Контрагента]и [Средства связи контрагента].

При настройке синхронизации контактной информации достаточно добавить в объект интеграции два регистра и указать в фильтрах данных регистров тип контактной информации. При этом данные из одного регистра 1С в зависимости от условия фильтрации будут записываться в деталь-назначение. Кроме того, в настройках колонок регистров требуется интегрировать значение поля Типдля того, чтобы различать, например, типы телефонов (рабочий, мобильный или домашний). Данная настройка позволяет переносить необходимую информацию без «затираний» и потери данных о способах коммуникации с вашими клиентами.

Регистры перечислений

Регистры перечислений

Интеграция регистров бухгалтерии

Ориентируясь на обратную связь клиентов, мы реализовали интеграцию регистров бухгалтерии из 1С в bpm’online.

Регистры бухгалтерии

Будем рады и дальше получать и реализовывать ваши предложения, а также отвечать на интересующие вас вопросы.

С уважением,
Зайчиков Илья
Менеджер продуктов
ООО «Программные Технологии»
Центр разработки и внедрения Террасофт Поволжье
Тел. +7 (846) 266-55-69
Сот. +7 (937) 076-12-84
Skype: zaichikovilya_samarasoft
Email: Zajchikov@samarasoft.ru
www.ptsoft.ru

Новый видеоурок "Настройка лендингов в bpm'online"

$
0
0
Для пользователя

Рады сообщить о появлении нового видеоурока по настройке лендингов в bpm'online.

В данном видеоуроке представлена общая информация о назначении посадочных страниц, а также доступна пошаговая инструкция по настройке такой страницы: ее связывании с bpm'online; настройке сопоставления полей веб-формы лендинга и страницы лида; настройке заполнения значениями по умолчанию полей страницы лида.

Видео доступно по ссылке: https://youtu.be/H90KifSqz4M?list=PLDp-M9ZGnvgH5uPrXsjxblaSWMmQ17Xt9

Больше видеоуроков смотрите на сайте Академии Terrasoft.


Новый пакет обновлений CRM-линейки bpm’online

$
0
0
Обо всем на свете

Рады сообщить, что мы выпустили новый пакет обновлений CRM-линейки bpm’online.

Сегодня наши клиенты получат более 50 различных улучшений, в частности:

  • Быстрые фильтры: настроенные вами фильтры теперь сохраняются при обновлении страницы, переходе между разделами и повторном входе в систему.
  • Мобильное приложение: по завершении звонка можно указать результат разговора и сохранить информацию в истории клиента.
  • Импорт данных из Excel: добавлена возможность отметить тегом импортированные записи.
  • Лендинги: упрощен интерфейс настройки интеграции с посадочными страницами сайта.
  • Дизайнер процессов: реализовано автосохранение схем бизнес-процессов — если вы закрыли диаграмму процесса без сохранения, то при повторном открытии сможете восстановить несохраненные данные.
  • Журнал процессов: добавлена возможность перейти по ссылке к связанным записям процесса.

Узнайте больше на сайте Академии Terrasoft >>

CRM-система bpm’online включена в Магический Квадрант Gartner в категории лучших решений для управления продажами

$
0
0
Обо всем на свете

Главная новость лета! Крупнейшее в мире аналитическое агентство Gartner включило CRM-систему bpm’online в рейтинг лучших решений для управления продажами — Gartner Magic Quadrant for Sales Force Automation!

Огромная благодарность клиентам и партнерам — за доверие и поддержку, а всей команде Terrasoft — за профессионализм!

Ознакомиться с полной версией отчета Gartner Magic Quadrant for Sales Force Automation >>

Новые поля «Версия конфигурации 1С» и «Версия библиотеки конфигурации» в PT 1C Connector for bpm’online

$
0
0
Обо всем на свете

Добрый день, коллеги!

Сегодня мы делимся с вами информацией о том, как можно быстро и просто проверить актуальность конфигурации 1С и пакетов PT 1C Connector for bpm’online в новой версии коннектора.

Два новых поля: «Версия конфигурации 1С» и «Версия библиотеки конфигурации»

В процессе установки продукта PT 1C Connector for bpm’online на стороне bpm’online устанавливаются пакеты с коннектором, а на стороне 1С – конфигурация 1С.

Чтобы исключить долгий процесс проверки соответствия файла конфигурации 1С и пакета PT 1C Connector for bpm'online и при этом получать актуальные сведения об установленной версии продукта в режиме реального времени, мы добавили на страницу интеграции два поля: [Версия конфигурации 1С]и [Версия библиотеки конфигурации].

Версия конфигурации

Значения двух новых полей автоматически подгружаются при каждом открытии страницы интеграции с 1С. Если не удалось подключиться по веб-сервису 1С, то в поле [Версия конфигурации 1С]записывается результат [Ошибка получения версии].

В поле [Версия библиотеки конфигурации]из bpm’online подтягивается информация о версии PT 1C Connector в формате «год месяц число», так же, как и в поле [Версия конфигурации 1С]. Соответственно, вы видите дату последней версии пакета 1С, не заходя в сам конфигуратор bpm’online.

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

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

С уважением,
Зайчиков Илья
Менеджер продуктов
ООО «Программные Технологии»
Центр разработки и внедрения Террасофт Поволжье
Тел. +7 (846) 266-55-69
Сот. +7 (937) 076-12-84
Skype: zaichikovilya_samarasoft
Email: Zajchikov@samarasoft.ru
www.ptsoft.ru

Ошибка открытия конфигурации. Требуется объект… (Error opening configuration. Object required...)

$
0
0
Для программиста

Иногда во время открытия конфигурации появляется сообщение:

Причина появления данного сообщения связана с часовыми поясами системы.Проблема может возникнут из-за обновления часовых поясовсистемы или у контакта в приложении 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 ='';
    }
     
    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));             
}

А также необходимо заменить функцию 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] из другого реестра системы, где пользователь работает без сбоев.

Синхронизация с Google Contacts

$
0
0
Для программиста

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

Viewing all 173 articles
Browse latest View live