В жизни компаний иногда случается смена имени, в жизни людей случается смена фамилии. С помощью БП можно организовать хранение истории изменений.
Но как можно организовать поиск по старым названиям/фамилиям из командной строки?
Или можете предложить другое решение? (Фильтр с поиском по детали истории пользователям каждый раз будет долго настраивать)
Поиск из командой строки происходит по первичной колонки объекта. Вы можете поменять ее, но это чревато возникновению других базовых ошибок. Настоятельно не рекомендуем менять первичную колонку в базовых объектах.
Как вариант Вы можете хранить не актуальную информацию в пользовательской колонке и по ней фильтровать.
Как идея, можно было бы определять, какую колонки использовать для поиска.
Тогда можно было бы в БП формировать строку поиска в этой колонке, куда включать не только бывшую фамилию, но и номер телефона, название компании и т.п.
Владимир, по поводу "Как идея, можно было бы определять, какую колонки использовать для поиска." Данная идея уже присутствует в списке задач департамента разработки. Возможно будет реализована в одной из будущих версий приложения.
BPM 7.5. В стандартной поставке BPM уже содержится достаточно много примеров реализации той или иной функциональности. Но нет встроенных средств (или я их не нашел) для текстового поиска по этим скриптам. Как это сделать? Доступ к серверу и DB есть, возможно, эти файлы где то лежат в файловой системе, или их каким то образом можно экспортировать, и затем произвести поиск текста внутри файлов?
Спасибо, но есть опасения.
Цитата с поста по ссылке
1. В WebApp.Loader\Web.config найти запись по ключу "useFileContent" и установить
useFileContent="true"
2. В ConnectionString.config найти запись по ключу "clientUnitContentPath" и установить путь выгрузки JScript файлов:
name="clientUnitContentPath" connectionString="C:\Projects\JS_Code"
3.Перейти в конфигурацию, выбрать из меню "Действие" пункт "Обновить клиентские модули из базы данных"
4. Внесити изменения в JScript файлы, например используя IDE для работы с такими файлами
5. Для фиксации результата выбрать из меню "Действие" пункт "Зафиксировать клиентские модули в базе данных"
Не повлияют ли каким-либо побочным образом вышеописанные действия на привычную (без этих изменений в конфигах) работу приложения? Есть ли какие-то ньюансы?
нюнса два:
1) надо нажимать "Обновить клиентские модули из базы данных"/"Зафиксировать клиентские модули в базе данных"
2) вы не сможете работать с кодом (не распространяется на LESS) через дизайнер модулей
Добрый день. Необходимо в bpmonline 7.5 добавить скрипт для командной строки, чтобы при вводе телефона, находились контакты. Настройка профиля командной строки не подходит. Подскажите пожалуйста, как это можно реализовать? Или где возможно найти модули отвечающие за командную строку?
Владимир, может вы подскажите где возможно это сделать, в каком модуле или бизнес-процессе это можно посмотреть? Мне необходимо сделать это через скрипт, т.к. средствами bpm настройки профиля командной строки, такое не реализовать.
Владимир, bpmonline 7.5 commerce. А каким образом связана коммуникационная панель и командная строка, ведь в коммуникационной панели есть только: лента, уведомления ленты и виза?
Из коммандной строчки есть возможность запускать процессы (Run Process)
Для решения подобной задачи, как вариант можно создать процесс, который будет в конечном итоге вычислять телефон из коммадной строчки и открывать необходимую страницу
Иван, возможно вы меня немного не так поняли, или я плохо объяснил. Мне необходимо, просто поменять фильтр поиска, по умолчанию если ввести любое значение на главной странице, то будет поиск по ФИО контакта, а необходимо сделать по телефону контакта.
Извините, но то что Вы спрашиваете на данный момент не реализовано, нет возможности поменять ФИО на другую колонку.
Возможно в следующих версиях будет реализована такая функциональность, как выход использовать совет описанный выше.
Иван, есть возможность поменять на другую колонку. Необходимо поменять primaryDisplayColumn у объекта Contact, это либо можно сделать в настройках объекта в расширенных свойствах, поменяв колонку "отображаемое значение" во вкладке "системные колонки". Либо как сделал я, заменил значение в модуле ContactSectionV2.js, в функции init()
this.entitySchema.primaryDisplayColumn.name="Имя колонки(как в базе данных)";this.primaryDisplayColumnName="Имя колонки(как в базе данных)";this.entitySchema.primaryDisplayColumn.caption="Просто имя колонки, это будет отображаться на странице";this.entitySchema.primaryColumn.uId="Уникальный id колонки, можно посмотреть в метаданных объекта";this.entitySchema.primaryDisplayColumn.uId="Уникальный id колонки, можно посмотреть в метаданных объекта";
Таким образом можно менять фильтр динамически, если добавить условия.
Из коммандной строчки есть возможность запускать процессы (Run Process)
Для решения подобной задачи, как вариант можно создать процесс, который будет в конечном итоге вычислять телефон из коммадной строчки и открывать необходимую страницу
а можно подробней, как это реализовать? или пример?
Предварительно, Вам необходимо настроить бизнес процесс.
Бизнес процесс приблизительно следующий:
Автогенерируемая страница с полем с типом строка. Назовем это поле "Номер".
Чтение данных (считаем количество записей) по объекту "Средства связи контакта" с фильтром Номер = Автогенерируемая страница.Номер
Условные потоки:
если количество == 0, тогда конец процесса или вывести автогенерируемую страничку с предупреждением, что информации о таком номере нет.
если количество != 0, тогда идем дальше:
Чтение данных (читаем первую запись) по объекту "Средства связи контакта" с фильтром Номер = Автогенерируемая страница.Номер
Чтение данных по объекту "Контакты" с фильтром Id = Средства связи контакта.Id
Открыть страницу редактирования Контакта, режим редактирования существующей записи, где id = Чтение данных контакта.Первый элемент результирующей коллекции.Id
Процесс с командной строки будет вызываться командой "Запустить процесс + [Название Вашего процесса]".
Без использования программирования такой возможности нет.
Для того, чтобы вывести всех контактов и контрагентов:
1) создайте новую преднастроенную страницу с фильтрацией из объектов "Средства связи контакта" и "Средства связи контрагента"
2) используйте элемент "Преднастроенная страница" в бизнес процессе.
Укажите страницей созданную Вами. В параметр фильтрации Вам нужно передавать средство связи.
В результате, Вам отобразятся все записи контактов и контрагентов.
Если у Вас небольшая база, то можно обойтись без программирования.
Создайте автогенерируемую страницу из 4 полей:
1) 2 поля для контактов
2) 2 поля для контрагентов.
Заполнить эти поля Вы сможете из параметров элемента "Чтение данных" контактом или контрагентом.
Здравствуйте. Был создан новый раздел по средством Wizard’а. Его функционал, заключается в том, чтобы контакты, которые дали согласие на рассылку рекламы, хранились отдельно от остальных. проблема заключается в отсутствии функции поиска при добавлении нового контакта Рис.1.Хотелось бы на выходе иметь нечто подобное рис.2. как это можно реализовать?
Здравствуйте! Требуют сделать для Контактов возможность поиска по фамилии вместо поиска по полю Name. Для фамилии предусмотрено отдельное поле. Поиск по нему я реализовал, но отказаться от поиска по полю Name не удается. Если в ds_Contact на этом поле снимаю флажок "Поле поиска", происходит ошибка в скрипте scr_SelectData, функция AddSearchFields.
Владимир, для устранения ошибки установите для поля с фамилией признак «Поле поиска», затем в свойствах датасета укажите «Первичное поле для отображения» равным полю с фамилией.
При начале работы с системой временами возникает необходимость найти, как конкретная функция или метод используются в конфигурации, особенно когда это касается ядрового метода.
Для того, чтобы произвести поиск по исходному коду всех схем конфигурации, можно сделать следующим образом:
1. Установить в Web.config параметр IncludeDebugInformation в true и установить ему папку для сохранения схем:
2. Скомпилировать любую схему;
3. Войти в папку %TEMP%\BPMonline\TSBpm\Src
В папке будут файлы исходных кодов схем конфигурации, по которым можно произвести поиск любым файловым менеджером: TotalCommander, FAR Manager, Проводник Windows и т.д.
При компиляции конфигурации на сервере каждый раз собирается dll-библиотека, с которой затем работает ядро системы на сервере IIS.
По умолчанию глобальный поиск и поиск по реестру ищет вводимое значение в начале строки. Для того, чтобы найти значение, которое строка включает, следует обрамлять искомое слово знаком процента с двух сторон:
Для того, чтобы поиск производился по включению строки сразу, необходимо изменить системную настройку Тип сравнения строковых колонок:
Не так давно здесь писали о расширении к браузеру Firefox, позволяющему добавить поиск по Terrasoft Community. Оказывается, это можно сделать и без установки дополнительного софта.
Зачем это нужно
После добавления поиска по сообществу в браузер можно будет запускать поиск информации по Terrasoft Community, ещё не заходя на сайт. Аналогично такую возможность можно добавить для любого сайта, форума, вики или блога, имеющего форму поиска.
Как добавить поиск
На демонстрационной веб-странице размещена гиперссылка, при нажатии на которую браузер предложит добавить Terrasoft Community в список поисковых систем, при помощи которых осуществляется поиск из поля ввода в правом верхнем углу окна браузера.
Поддерживаются браузеры Mozilla Firefox, Microsoft Internet Explorer и Google Chrome:
Кроме гиперссылки, демонстрационная страница предлагает добавить поиск по Terrasoft Community самостоятельно. Для этого нужно, находясь на этой странице, выбрать в списке поисковых систем браузера команду добавления новой:
Как это работает
Для добавления поиска в браузер используется технология OpenSearch (сайт), разработанная Amazon. Чтобы при заходе на страницу пользователь мог сам добавить поиск в браузер, достаточно в блок
Чтобы программно отобразить окно добавления поисковой системы, создаём гиперссылку, запускающую JavaScript-функцию AddSearchProvider:
href="javascript:window.external.AddSearchProvider('http://terrasoft-community-search.narod2.ru/browsersearch.xml')">Добавить в браузер поиск по Terrasoft Community> >
В обоих примерах указано название XML-файла, находящегося на сервере. Вот его примерное содержимое:
В файле прописан шаблон адреса для поиска, название, иконка и ряд других опций (приведены не все). Если поиск на сайте использует метод "post" вместо "get", то в IE работать не будет.
Для пользователей Opera
В браузере Opera действует другой механизм. Достаточно нажать правую кнопку мыши в поле поиска и выбрать пункт меню "Создать поиск..." ("Create Search..."). Появится окно, в котором можно будет задать название поиска, клавиатурное сочетание ("Keyword") и назначить этот поиск службой по-умолчанию.
UPD:
В настоящее время добавление поиска по сайту в браузер реализовано непосредственно на Community. Просто нажмите на иконку слева от поля поиска (Firefox) или стрелочку справа от него (IE) и выберите добавление этого сайта.
Надоело каждый раз для поиска по сайту сообщества Террасофт открывать новую страничку, и мне пришла мысль, что для браузера Mozilla Firefox, которым я пользуюсь, может быть какое-то дополнение, которые позволило бы мне выполнять поиск по сайту из строки поиска Firefox. Немного поискав, нашел дополнение, которое называется Add to Search Bar, в результате чего среди поисковых систем у меня появился поиск по Terrasoft Community:
Андрей, а как это реализовано, не интересовались? Аналогично. если в гугле написать фразу поиска site:http://www.community.terrasoft.ua или как-то по-своему?
Думаю все знают, что для поиска в скриптах сервисов можно(нужно) использовать утилиту «Grep Search». Для его запуска, раньше нужно было в TSAdmin найти сервис wnd_GrepSearchScript, открыть его и запустить по кнопке F9 (Выполнить). Теперь пользоваться Grep Search стало гораздо проще. Начиная с версии 3.3.2.153 в меню Инструменты (Tools) появился пункт «Grep search» и открыть поиск можно с помощью клавиатурного сочетания: Shift+Alt+S