Технические вопросы
7.x

Здравствуйте, коллеги.

В карточке договора "отвалилось" поле, где можно было выбрать и Контакт и Контрагент.

При выборе вкладки контакта, карточка работает корректно, а при выборе вкладки Контрагент - ничего не выбирается, а в консоли пишет:

в самой карточке поля проставлены так:

diff: /**SCHEMA_DIFF*/[
...
  {
    "operation": "insert",
    "name": "Client",
    "values": {
      "layout": {
        "column": 0,
        "row": 5,
        "colSpan": 24,
        "rowSpan": 1
      },
      "tip": {
        "content": {
          "bindTo": "Resources.Strings.ClientCaption"
        }
      },
      "controlConfig": {
        "enableLeftIcon": true,
        "leftIconConfig": {
          "bindTo": "getMultiLookupIconConfig"
        }
      }
    },
    "parentName": "Header",
    "propertyName": "items",
    "index": 7
  },
...
],
attributes: {
...
  "Client": {
    "caption": {"bindTo": "Resources.Strings.ClientCaption"},
    "dataValueType": this.Terrasoft.DataValueType.LOOKUP,
    "multiLookupColumns": ["Contact", "Account"],
    "isRequired": true
  },
...
}

В объекте Договор эти поля есть.

Если поставить отдельно выбок Контакта и Контрагента - то они работают.

Нравится

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

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

а какие доработки и с какими схемами выполняли за последнее время?

Так. С объектом Договор: удалил 2 неиспользуемых поля. (та добавили ранее лишнюю дату и лишний контакт, которые не нужны там)
С объектом Контрагент - снял аттрибут обязательного заполнения для одного поля.

Поля абсолютно с этим не связнаны, к тому же Contact и Account это наследуемые поля. С ними по моему и при желании ничего бы не получилось

Сейчас открыл Дефолтную конфигурацию BPMOnline, карточку редактирования Договоры, и там я не увидел MultiLookup поля Клиент. Данные поля есть на странице редактирования Заказы, Счета. Но в договорах данного поля нет. Я думаю чтобы разобраться вам Евгений, нужно посмотреть код к примеру схемы страницы редактирования Счета, как там идет формирование и вывод данного поля на экран, и сравнить со своим кодом. А вообще MultiLookup поле в Договоре и не требуется, так как Договор заключается с Контрагентом, у которого есть Контактное лицо по данному договору. Вот почему изначально данные поля не объеденили как это сделано в счете к примеру. Так как там логика что Счет можно выставить как на Контрагента, так и на Физическое лицо в виде Контакта.

К сожалению задача была поставлена так, чтобы иметь возможность выбора или Контакта или Контрагента (типа ФизЛицо и ЮрЛицо).

Михаил, Вы там и не найдете. Потому что я ее переносил сам, по моему из карточки заказа.

Открыл. Посмотрел. Кардинальных отличий не нашел.

Сделал ресерч в своей карте: поменял местами "Contact" и "Account" в аттрибуте.

Работать карта стала еще интереснее. Она выборку контрагентов производит. Но, если уйти на Контакт и вернуться на Контрагент - то опять валится с этой ошибкой.

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

так как я вашей базы глазами не вижу, то совет могу только дать один, нужно смотреть какие замещения схем Таблиц, Страниц редактирования, Деталей, особенно Модулей производилось. И особенно тщательно проанализировать все изменения. Просто так работало и раз перестало работать, так не бывает. Плюс я бы тщательно прошелся дебагером по всем Каллбекам чтобы увидеть где реально валиться программа и уже отсюда бы делал вывод.

Добрый день, Михаил.
Валится непосредственно на запросе к серверу. Чуть позже скину лог.

Показать все комментарии
Технические вопросы
7.x

Здравствуйте!
1. Добавил с помощью простого бизнес-процесса права доступа для определенных контрагентов.
В таблице SysAccountRight появились записи, но поле SourceId значение = NULL.
При добавлении прав доступа через карточку контрагента или по умолчанию, то поле SourceId заполняется определенными ID.
За что отвечает поле SourceID, из какой таблицы туда подставляются ID?
И почему при добавлении через БП SourceId =NULL?

2. На картинке синим подчеркнута ДатаСоздания, но на самом деле дата создания на 3 часа позже. Причем, если обновить права, то в ДатеИзменения стоит правильная дата.
Где можно настроить дату?

Нравится

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

"Alex GF" написал:В таблице SysAccountRight появились записи, но поле SourceId значение = NULL.

поле SourceId - это ссылка на таблицу "SysEntitySchemaRecRightSource" в которой хрянятся следующие значения (константные)

- Владелец
- Автор
- Ручное управление
- По умолчанию

"Alex GF" написал:На картинке синим подчеркнута ДатаСоздания, но на самом деле дата создания на 3 часа позже.

Проверьте часовой пояс в ОС где развернут SQL сервер и в ОС компьютера пользователя. Предполагаю, что разница между ними будет 3 часа.

"Зарицкий Олег Васильевич" написал:
Alex GF пишет:

На картинке синим подчеркнута ДатаСоздания, но на самом деле дата создания на 3 часа позже.

Проверьте часовой пояс в ОС где развернут SQL сервер и в ОС компьютера пользователя. Предполагаю, что разница между ними будет 3 часа.


И там и там время одинаковое.
Может есть настройки времени в админке BPM?

"Alex GF" написал:Может есть настройки времени в админке BPM?

В Админки BPMOnline установки времени нет. Есть в профиле пользователя установка часового пояса.

Показать все комментарии
service
время реакции
Технические вопросы
7.x

Добрый день!

В базовой версии время реакции отсчитывает от принятия кейса в работу после нажатия кнопки "Take it"
А если надо сделать по другому событию (обработка диспетчером и назначение ответственного), то где искать существующий функционал установки этого поля?

Нравится

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

Добрый день.

Обработка нажатия кнопки "Take it" происходит в Case.CaseSection.onResolvedButtonMenuClick(), где через sandbox публикуется сообщение OnResolvedButtonMenuClick.
Далее это сообщение обрабатывается в Case.CasePageV2.onResolvedButtonMenuClick().
После прохождения валидации в CasePageV2.asyncValidate(), непосредственное сохранение карточки осуществляется в CasePageV2.saveCard().

Самым простым вариантом решения Вашего случая будет:
1) добавить обработчик для требуемого изменения состояния;
2) реализовать публикацию и подписку нового сообщения для вызова CasePageV2.onResolvedButtonMenuClick().

Стоит обратить внимание на входящий параметр config метода CasePageV2.onResolvedButtonMenuClick(),
который в базовой реализации берется из атрибута ResolvedButtonMenuItems:

var resolvedButtonMenuItems = this.get("ResolvedButtonMenuItems");
config = resolvedButtonMenuItems.collection.items[0].values.Tag;
Показать все комментарии
Технические вопросы
7.x

В bpmonline 7.7/7.8 Customer Service не могу вывести поле email в реестре контрагентов. Подскажите - что определяет "видимость" поля в визуальном редакторе страницы реестра? Например, Web и Телефон там есть, а email - нет.

Нравится

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

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

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

Я понимаю про связь "1 ко многим", однако странно, что в настройке колонок списка доступны поля "основной телефон" и "дополнительный телефон", которые находятся в той же детали, а вот "Email" - недоступен.

Это доступны поля Основных сущностей, у вас может быть N-ное количество основных телефонов или дополнительных но в карточке контрагента будет храться только первый введенный, если мне память не изменяет, то это по такому алгоритму работает. Я вам предлагаю для поля E-mail в своей базе сделать именно такую же реализацию. Как говорят по образу и подобию.

Штатно вытащить в реестр Email Не получится, увы.
Оставшиеся поля средств связи в основной таблице это рудимент...
Я бы сделал view с текстовым полем Email (запросом собираем все email контрагента в строку через запятую например, или первое попавшееся берем) и AccountId, а потом из нее подтягивал в реестр (колонка через связи штатно выберется)

"Alex22" написал: настройке колонок списка доступны поля "основной телефон" и "дополнительный телефон", которые находятся в той же детали, а вот "Email" - недоступен.

По логике, email'а у контрагента нет. Они есть у контактов, с которыми идёт общение. А даже если email есть, то никто на него не пишет

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

Добрый день!

На карточке контакта через элемент "Добавить связанную активность" (флажок) переходи в новую Активность. Посредством мастера раздела Активности создано поле "Контакт". Стоит задача, - как с помощью БП прочесть ФИО контакта из карточки Контакта после перехода в связанную Активность. Где-то то в элементе БП "Чтение данных" делаю ошибку, данные не читаются.
Заранее благодарен за помощь от Сообщества!

Нравится

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

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

немного не понял зачем на Карточку редактирования Активности добавлять поле Контакт, ведь данное поле там уже есть, в виде Автора, Ответственного (как пример). Отвечая на ваш вопрос вопросом: Прочитать ФИО контакта требуется уже в существующем или новом создаваемом бизнес процессе я правильно вас понял? если так то для начало в бизнес-процессе через "Чтение данных" требуется прочитать Активность (задачу) которая передана в бизнес-процесс в виде параметра или прочитана из базы данных по разным условиям. И вот после чтения уже можно получить ФИО контакта, внутри процесса. Получить ФИО можно и присвоить Параметру бизнес-процесса с помощью инструмента "Формула". Можно другим способом. Все зависит от задачи.

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

Поле "Контакт" доступно в блоке полей "Связи". Данные из этих полей переносятся в связанную активность.

Михаил, добрый день!

Речь идет о новом БП. Активность прочитал, через элемент "И" читаю данные Контакта. Затем из данных Контакта записываю на странице активности в новое поле данные КОНТАКТ-ФИО. И БП не отрабатывает. Поле "Ответственный" конечно есть, но нужно именно ФИО Контакта с которого переходим в связанную активность. Задача стоит чтобы новое поле ФИО контакта на странице Активности также автоматом заполнялось, как и поле Ответственный. Можно после сохранения Активности, а в идеале, чтобы поле авто заполнялось при переходе на страницу связанной с контактом активности, также, как авто заполняется поле Ответственный.

"Демьяник Алексей" написал:

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

Поле "Контакт" доступно в блоке полей "Связи". Данные из этих полей переносятся в связанную активность.


Блок "Связи" немного не подходит, так как в мастере раздела создана новая страница активности, куда и требуется авто заполнить поля Контакт+Контрагент

"Дудченко Сергей" написал:

Блок "Связи" немного не подходит, так как в мастере раздела создана новая страница активности, куда и требуется авто заполнить поля Контакт+Контрагент

Предоставьте, пожалуйста, текущие настройки процесса (интересует элемент "Чтение данных" по объекту "Контакт" и элемент, в котором используются параметры из чтения данных)

Добрый день!

Ещё раз о задаче с картинками. На стандартной странице Контакта, Активность, в которую автоматом подтягиваются данные о Контакте и Контрагенте, находится в разделе "История"

Однако, есть желание разместить один из элементов детали "Активности" в элементе "Добавить связанную Активность" (пиктограмма - флаг) над главным окном основной информации.

Элемент с названием Активности - "МФП" размещён, а автозаполнение не работает.
Есть версия, что не передаётся ID

Здравствуйте, Сергей!

Функционал связанных активностей переносит значение полей из детали "Связи". Данная деталь есть в объектах:
- Продажа
- Заказ
- Счет
- Активность

В разделе "Контакт" данной детали нет, поэтому созданной активности нет в истории контакта.

"Дудченко Сергей" написал:Ещё раз о задаче с картинками. На стандартной странице Контакта, Активность, в которую автоматом подтягиваются данные о Контакте и Контрагенте, находится в разделе "История"

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

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

Вам требуется по образу и подобию создать данную деталь на странице редактирования Контакты. Если будут вот уже сложности по созданию данной детали, прошу писать в данном Инциденте.

А на будущее просьба Сергей более подробно описывать суть самого Инцидента. Чтобы получить правильный и развернутый ответ, по возможности с примерами. Спасибо!!!

На странице редактирования Контакты деталь Активность появилась после обращения в техподдержку. Правильно ли я понял, если во вновь появившейся детали связанной активности нет связи с контактом и контрагентом (нет авто заполнения полей), необходимо оформить обращение в техподдержку?

Сергей подскажите у вас конфигурация On-Site или On-Demand?

"Власов Михаил Викторович" написал:

Сергей подскажите у вас конфигурация On-Site или On-Demand?


On-Demand

Если доработку вы ведете сами, то еще раз повторюсь "Вам требуется по образу и подобию создать данную деталь Связанные активности, на странице редактирования Контакты.", если доработку ведет Техническая поддержка компании Террасофт, тогда вам требуется обратиться с данным вопросом в Техническую поддержку компании Террасофт

"Власов Михаил Викторович" написал:Если доработку вы ведете сами, то еще раз повторюсь "Вам требуется по образу и подобию создать данную деталь Связанные активности, на странице редактирования Контакты."

Извините, за некоторый простой во времени! В прошлый раз, удалось обойти затронутый вопрос. Сейчас вновь пытаюсь решить задачу. Можете ли чуть подробнее по цитате выше? Среди всех доступных деталей, детали "Связанные активности" не нахожу

Здравствуйте, Сергей!

В текущей реализации приложения уже есть возможность добавлять связанную активность из страницы контакта или контрагента. Это можно сделать на Actions Dashboard с помощью соответвующей кнопки.
http://www.community.terrasoft.ru/system/files/image.png

Руслан, добрый день!

Предложенная реализация связанной активности известна. К сожалению, такой вариант не подходит, так как по клику на флажок открывается многофункциональная форма Активности без возможности промежуточного выбора типа активности. Т.е., если я создам пользовательскую активность, то её всё-равно не увижу.

Сергей, здравствуйте!

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

  1. Что нужно?

Заместить ActivityMiniPage

  1. Какой код добавить?
define("ActivityMiniPage", ["BusinessRuleModule"], function(BusinessRuleModule) {
	return {
		entitySchemaName: "Activity",
		diff: /**SCHEMA_DIFF*/[
			{
				"operation": "insert",
				"name": "Type",
				"parentName": "EditGeneralInfoContainer",
				"propertyName": "items",
				"values": {
					"contentType": this.Terrasoft.ContentType.ENUM,
					"controlConfig": {
						"placeholder": {
							"bindTo": "Resources.Strings.ActivityTypePlaceholder"
						}
					}
				}
			}
			]/**SCHEMA_DIFF*/,
		rules: {}
	};
});
  1. Поле не отображается

Нужно почистить кеш браузера.

Алексей, добрый день!

Предложенный код добавил. При сохранении, - ошибки. Буду признателен за подсказку по устранению ошибок.

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

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

По клику на флажок миникарточка не открывается. Запускается прежняя страница универсальной активности. Кэш чистил, страницу обновлял

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

Скорей всего у Вас отключены миникарточки для Активностей. Вам стоит смотреть в сторону изменения системной настройки "Использовать миникарточку добавления активности".

"Мотков Илья" написал:

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

Скорей всего у Вас отключены миникарточки для Активностей. Вам стоит смотреть в сторону изменения системной настройки "Использовать миникарточку добавления активности".

Да, так и было. Спасибо!

Показать все комментарии
лид-форма
текстовое поле
Технические вопросы
7.x

Коллеги, добрый день!
В лид-форме помимо стандартных полей, которые есть у Лида, есть поле Вопрос, куда посетитель сайта пишет текст. Вроде бы понятен механизм передачи данных с заполненных полей, но как и куда передать содержимое поля Вопрос? Это нужно создавать новое поле в Лид - История?

Нравится

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

Добрый день!

Вам необходимо создать пользовательское поле с типом "Строка" на странице Лида, после чего замапить поля как указано ниже:

var config = {
fields: {
"Name": "#AjaxFormModel_name", // Name of a visitor, submitting the page
"Email": "#AjaxFormModel_email", // Visitor's email
"MobilePhone": "#AjaxFormModel_phone", // Visitor's phone number
},
landingId: "6bd7ca2a-4d27-4305-92a6-0afc7ad0b86e",
serviceUrl: "https://ts1-8wyg9-0301897.bpmonline.com/0/ServiceModel/GeneratedWebForm…",
redirectUrl: "http://test.olegzaharov.ru/index10.php"
};

Илья, спасибо!

Показать все комментарии
7.x
Технические вопросы

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

Подскажите возможно ли отключить события на объекте при сохранении (аналог DisableEvents на датасете в TS). Как пример добавляю запись вот так:

EntitySchema schema = _userConnection.EntitySchemaManager.GetInstanceByName("Account");
Entity entity = schema.CreateEntity(_userConnection);
entity.SetDefColumnValues();
entity.SetColumnValue("Name", "Контрагент");
entity.Save();

Спасибо.

Нравится

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

"Дашкевич К." написал:entity.Save();

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

для отключения событий выполните:

   entity.Save(false);

а лучше пользоваться в данном случае конструктором

new Update()

entity.Save(false); - по документации это отключение проверки заполнения обязательных значений.
Проверил события не отключает.

"Власов Михаил Викторович" написал:а лучше пользоваться в данном случае конструктором
new Update()
- можно пожалуйста подробнее.

вот пример использование Update

var update = new Update(UserConnection, "Invoice")
	.Set("Number", Column.Parameter(code))
	.Where("Id").IsEqual(Column.Parameter(Entity.PrimaryColumnValue));
update.Execute();

выполняется обновление Номера в таблице Счета

Добрый вечер.

Можно сделать так, чтобы событие в родительском объекте не вызывалось.

Например, в базовом пакете есть объект Account, для которого в процессе объекта реализована некая логика после сохранении записи.

Есть необходимость в замещающем объекте реализовать свой обработчик события после сохранения записи, который конфликтует с методами, вызываемыми родителем.

Для "отключения" запуска обработчика родительского события можно в конце задания-сценария Вашего обработчика в процессе замещающего объета, перед return true, дописать:

ActivatedEventElements.Remove("Имя стартового сообщения в родителе")

Имя стартового сообщения в родителе - название элемента стартового сообщения в родительском пакете, вызывающего AccountSaved. Обращаю внимание, что это именно название элемента в Вашем процессе, а не события.

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

а как себя будет вести система если Замещающие схемы таблиц построены Именно Иерархически, и по иерархии родительская схема таблицы не главная, а уже замещаем к примеру замещенную схему. Ведь и такая ситуация возможна. И еще вопрос возможно отключение не конкретно события, а конкретного элемента процесса, так как в замещающей логики он и не нужно чтобы уже отрабатывался. Это я говорю если переопределяется не своя логика, а базовая логика системы. Спасибо!!!

Михаил,

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

По поводу Вашего второго вопроса - подскажите, правильно ли я понял кейс.
Допустим, в процессе объекта есть стартовый сигнал обработчика какого-то события. После стартового сигнала идет Чтение данных, затем Изменение данных.
Суть вопроса в том, как отключить вызов изменения данных?

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

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

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

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

Здравствуйте, коллеги.

Есть вопрос:

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

При печати, заполнило только треть данных и только там, где были данные латиницей. Даты тоже не попали.

Что мы сделали не так?

Нравится

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

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

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

Добрый день, Михаил.

1. Версия 7.7.0.2881.
2. Да, объект договора был перенаследован в нашем локальном пакете. добавлены новые поля.
3. шаблон testcontract.docx

Поля выложены тупо списком, для теста

Результат с этим тестом

1.	
2.	
3.	
4.	
5.	
6.	
7.	
8.	Test
9.	
10.	
11.	8-Test
12.	Test user
13.	
14.	Test user
15.	
16.	
17.	
18.	
19.	0,0
20.	Test user
21.	
22.	
23.	
24.	
25.	
26.	
27.	
28.	
29.	
30.	
31.	
32.	
33.	
34.	
35.	
36.	
37.	
38.	
39.	
40.	
41.	
42.	
43.	
44.	
45.	
46.	
47.	
48.	
49.	
50.	
51.	
52.	
53.	
54.	
55.	
56.	
57.	
58.	
59.	
60.	Договор 
61.	Лицензия

Обекты "Клиент1" и "Клиент2" настраивал через "Табличные части печатной формы". Связь 1 к 1.

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

какие значения полей из данного списка вы не видите? перечислите пожалуйста. спасибо!!!

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

Здесь лежит печатная форма с полями

Настройка "Контакт1"

Настройка "Контакт2"

Шаблон в Ворде

А какие поля не вsвелись - просто сравните по номерам в Шаблоне и результат

Несовсем понятно зачем Таблицу "Контакты" добавлять в табличную часть. Табличные части используются если у договора есть Множество, именно Множество, "Продуктов". Вот продукты и добавляются в Табличную часть и выполняется соединение "1 ко многим". Далее непонятно что вы вообще желаете Евгений вывести в договор. Может чтобы у вас все получилось для начало вы опишите поля что желаете разместить в Печатной форме договора и к примеру опишите проблему тех полей, что вы не можете штантыми средствами получить. и тогда будет хоть ясная картина.

еще раз в завершение повторю Что табличные части используются для извлечения данных из таблиц со связью "1 ко многим"

Честно говоря, этот вариант дали как возможное решение по подтягиванию полей. Я понимаю, что это костыль.
Насчет полей, мне нужны практически все. Там документ сложный и двуязычный.

Так зачем Евгений Таблицу "Контакты" добавляете в Табличную часть? какую цель преследуете.

Я преследую цель, чтобы как-то подтянуть данные контакта, для начала.)
А оно хоть так, хоть эдак не тянет данные.

Я вот думаю, что проблема может состоять в том, что объекте Контакт, сделано два поля с наименованием Клиент (так получилось, это еще надо разрулить через удаление лишнего), а Плагин "теряется" какой ему подогнать..

"Фролов Евгений" написал:(так получилось, это еще надо разрулить через удаление лишнего)

Чтобы Евгений не разруливать лишнего, сначало нужно 7 раз подумать и 1 раз сделать. Это касается всего и проектирование Новых или Замещающих схем Таблиц. Это касается и программирования. Рекомендую лучше сначало рисовать на бумаге, доске. Чтобы именно наглядно вы видели свой конечный результат и только после этого начинать проектирование и программирование

Ну, с этим согласен. Но что делать, если такое "чудо" тебе попадает по наследству? Приходится разруливать..

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

Разрулилось заданием уникальных названий полям.

Показать все комментарии
Field Sales полевые продажи мобильное приложение
Мобильное приложение
7.x

Коллеги, у кого есть опыт внедрения Field Sales - полевые продажи.
Кто может проконсультировать: as is :))))
Вопросы:
1)насколько стабильно работает версия?
2)Действительно ли можно определить местоположение менеджера, у которого на телефоне стоит мобильная версия?
3)Можно ли отслеживать маршрут машины с менеджерами в реальном времени? Т.е. у меня 20 менеджеров уехали. хочу посмотреть всех 20 - где они сейчас?
все вопросы касаются коробки. Спасибо.

Нравится

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

"Милова Марина Федоровна" написал:1)насколько стабильно работает версия?

Острая тема для открытого раздела :)

"Милова Марина Федоровна" написал:2)Действительно ли можно определить местоположение менеджера, у которого на телефоне стоит мобильная версия?
3)Можно ли отслеживать маршрут машины с менеджерами в реальном времени? Т.е. у меня 20 менеджеров уехали. хочу посмотреть всех 20 - где они сейчас?

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

Саш, по стабильности может в личку кто ответит :)))

Добрый день, Марина!

Функционал полевых продаж стабилен в использовании, в чем, собственно, Вы можете убедится, заказав себе на месяц бесплатную триальную версию продукта Sales Enterprise на нашем сайте terrasoft.ru
Что касается второго и третьего вопроса, то, как и сказал ранее Александр, данный функционал в системе не заявлен. По координатам Вы можете отслеживать где находился менеджер в момент чек-ина (действительно ли он был на точке), а маршрут строится сразу при планировании этих визитов.
Подробная информация по работе данного функционала описана в руководстве пользователя в соответствующем разделе: https://academy.terrasoft.ru/documents/sales-enterprise/7-8-0/funkciona…

Показать все комментарии
Технические вопросы
7.x

Доброго дня!
Мені потрібно розмістити довідникове поле для вибору відповідального контакту на сторінці постобробки дзвінка.
Додаю поле наступним чином:
{
className: 'Terrasoft.LookupEdit',
id: 'ownerEdit',
width: '300px',
prepareList: {
bindTo: 'prepareResults' // не працює
}/*,
},

Мені потрібно привязати це поле до обєкту контактів. Тобто щоб при виборі цього поля підгружались всі контакти.(тобто як працюють всі довідникові поля на сторінках)

Нравится

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

Здравствуйте, без доступа к конфигурации сложно что-то говорить, но, насколько понял, физического поля у вас в объекте нет, следовательно, вам нужно виртуальное поле, поищите в конфигурации по «VIRTUAL_COLUMN», там будут примеры как вывода виртуального LOOKUP, у меня нашлось такое в схеме RelationshipDetailPage.
Вот про примерно то же самое писали в этом комментарии:
http://www.community.terrasoft.ua/forum/topic/11510#comment-50868
Так и в EmailPage есть пример ENUM с конфигом который описывает два метода заполнения выпадающего списка. Выпадающий список еще встречался на форуме:
http://www.community.terrasoft.ua/forum/topic/9798#comment-41956

Віртуальні поля я можу додавати на сторінки, але не можу їх додавати на окремі контейнери (контейнер постобробки дзвінка - схема CtiPostProcessingUtilities). Зробмв так:
{
className: 'Terrasoft.LookupEdit',
id: 'ownerEdit',
width: '300px',
value: {
bindTo: 'ownerEdit'
},
loadVocabulary: {
bindTo: 'loadOwnerList'
}
}
loadOwnerList: function(args, tag) {
var config = {
entitySchemaName: "Contact",
multiSelect: false
};
var handler = function(args) {
var columnName = args.columnName;
var collection = args.selectedRows.collection;
if (collection.length > 0) {
this.set(columnName, collection.items[0]);
}
};
var centerPanel = Ext.get('centerPanel');
LookupUtilities.Open(sandbox, config, handler, this, centerPanel); // видає помилку message: Uncaught Terrasoft.UnsupportedTypeException: Message LookupInfo is not defined in undefined module
},

Соглашусь с Ильей - без доступа к конфигурации сложно что-то говорить.
Для поиска примера реализации выполните поиск в конфигурационных js файлах по слову “LookupInfo”.

Я всього лише хочу викликати метод базового модуля коробки LookupUtilities.Open

Повідомлення(message) "LookupInfo" має бути вже підключенне в базовому модулі LookupUtilities, де і використовується це повідомлення

Здравствуйте, Сергей Николаевич!

По данному вопросу было оформлено обращение в техническую поддержку. Ответ будет предоставлен в рамках запроса.

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