Деталь
Технические вопросы
5.x

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

Добавила новый файл на деталь "Файлы и ссылки" раздела "Запрос на обслуживание". Тогда на поле "версия" добавилась номер "1" . Потом данный файл при помощи кнопки "Сохранить в файл" сохранила у себя на локальном диске. Открыла этот же файл и добавила несколько записей. Сохранила изменение и изменила название файла. Данный измененный файл добавила на деталь "файлы и ссылки" при помощи кнопки "Изменить". Поле "версия" изменилась на "2". Но когда, сохраняю новый версионный файл (верс. 2), то ранее мною добавленные все изменение исчезает. Не могли бы подсказать, чем это связанно?

С уважением,
Гюнель

Нравится

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

Добрый день, Гюнель.

В схеме «BaseFileEntryEditPage» необходимо найти «ScriptDataSourceBeforeSaveServer» ScriptTask. Затем, в этом ScriptTask’е необходимо изменить тело на:

if (FileContent != null) {
                byte[] fileData = Convert.FromBase64String((string)FileContent);
                Page.DataSource.ActiveRow.SetBytesValue("Data", fileData);
                Page.DataSource.ActiveRow.SetColumnValue("Size", FileSize);
                if (Page.NameTextEdit.Value != null) {
                               string fileName = System.IO.Path.GetFileName(Page.NameTextEdit.Value.ToString());
                               Page.DataSource.ActiveRow.SetColumnValue("Name", fileName);
                }              
                FileContent = null;
}
return true;

Далее, следует сохранить ScriptTask и опубликовать схему.

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

Создал рабочее место, добавил разделы.
Не могу поставить разделы в нужном мне порядке.
При нажатии на стрелки вверх/вниз разделы в списке в чехарду играют и становятся как угодно, только не так как надо....
Что делать?

Нравится

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

Добрый день.

Сделайте выборку:

select smsm.Id, sm.Caption, smsm.Position from SysModuleInSysModuleFolder as smsm
left join SysModule as sm on sm.Id = smsm.SysModuleId
where smsm.SysModuleFolderId = (select Id from SysModuleFolder as smf where smf.Caption = 'НазваниеРабочегоМеста')
order by smsm.Position

И посмотрите на значения колонки Position. Скорее всего, есть задвоение/я. Назначьте позиции и очистите значения ключей на сервере сессий.

Есть не задвоения, есть затроение.....
Как позиции то назначить?

В выборке у Вас есть айдишники записей. Первая колонка.

Выполните запрос:

update SysModuleInSysModuleFolder
set Position = 1 --подставить номер позиции раздела 
where Id = '0B5C75B1-7692-4C14-9EE3-D5C95B0DDF8F' --подставить айдишник записи из выборки

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

"Шамуилов Александр" написал:При нажатии на стрелки вверх/вниз разделы в списке в чехарду играют

:biggrin:

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

Подскажите плиз!
Задача:

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

Нравится

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

Здравствуйте Илья!
Уточню, что значит "позднее открыть карточку..."?
В БП добавляете сигнал, в параметрах сигнала указываете что оный должен ожидать изменения состояния объекта "Активность" на "Завершена" (к примеру). После добавляете действие "Открыть карточку редактирования". Но учитывайте тот момент, что система сначала создаст запись, а потом откроет карточку. И если Вы даже нажмете кнопку "Отмена", запись будет создана.

Причина закрытия "позвонить позднее"

Илья Александрович, используйте начальное событие сигнал, как писал выше Андрей.
Причину закрытия следует указать фильтрами в блоке "Объект должен соответствовать условиям":

/system/files/1_130.png

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

Уважаемые коллеги! Столкнулся с с проблемой. При открытии карточки одного раздела поля карточки перемешиваются и сползают друг на друга. Что самое интересное это происходит на компьютере только одного пользователя. При заходе под его учеткой на другой машине все работает. Может ли быть проблема в железе? Очистил профиль, почистил кэш редис сервера. Результат тот-же. Скриншот карточки во вложении к теме

Нравится

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

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

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

Такую картину я наблюдала, когда был клиентская ошибка на странице. А была она от того, что удалил поле в объекте, не удалив при этом из карточки.

хм... Права на конфигурирование есть только у меня. Объект не был изменен. И опять же это происходит только на 1 компьютере

У меня при клиентском свале не работали кнопки OK и Cancel по этой же причине, а увидеть наличие свала можно, нажав в Хроме F12 и выбрав вкладку Console.

Но если дело в этом, ошибка должна быть у всех пользователей.

Денис, первое, что Вам следует сделать - очистить кэш браузера и попробовать в другом браузере, как рекомендовали выше.

Связано это с тем. что для построения интерфейса используются javascript-ы, которые, возможно, неверно закэшились на данном конкретном компьютере.

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

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

Приветствую!

Необходимо импортировать данные из SharePoint в BPM в мною созданный реестр. На данный реестр пуст.

Достать из SharePoint я могу легко в excel таблицу.

Вопрос: если я напрямую импортирую данные в таблицу MS SQL это сработает? Меня собственно волнуют служебные поля типа Id, создано и все остальное.......

Нравится

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

Доформулирую вопрос: что мне делать с полями типа справочник, в которых в реальности хранится ID записи? Есть две ситуации:
1. Поле Заказчик, когда в базе BPM таких записей в принципе нет, она пустая
2. Поле Исполнитель (сотрудник), когда такой сотрудник в BPM есть.

В обоих случаях в исходных данных присутствует, естественно, только наименование, то бишь строка ("Вася Пупкин" или "ООО "Пупкинс Компани"")....
Как быть?

P.S. И если без сотрудника еще можно обойтись, то без Заказчика (и еще пары таких же полей) никак, весь смысл теряется.

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

нет такой, меня обделили, хотя куплено все чуть больше недели назад!

Версия 5.4.0.1063

Мда.....
И вдоль дороги мертвые с косами.....и тишинааааа.........

Проблему решил сам, руками, как водится....ну и головой слегка......
Мы подошли из-за угла называется....

:biggrin:

Из Sharepoint экспортировал в excel нужное.
Оттуда вычленил список контрагентов.
Импортировал контрагентов штатным инструментом BPMа.
Потом выковырял из SQL списки соответствия имена-ID для контрагентов, сотрудников и поля состояния (есть у меня такой справочник).
Заменил в excel'е (да здравствует функция ВПР!!) имена контрагентов, сотрудников и состояния на ID записей по соответствующим спискам
Сохранил в виде CSV.
Импортировал в SQL.
УРА! С третьего раза все срослось :-)

Некоторые тонкости:
1. В excele обязательно изничтожить непечатные символы (функция ПЕЧСИМВ), иначе у меня ругался на столбцы с многострочными записями, когда Alt+Enter используется.
2. Первым столбцом идет системный Id записи, в таблице сделать пустым (если это все новое конечно для базы BPM), при импорте в SQL столбец поставить "пропустить". Таким образом сгенерятся Id для новых записей.
3. Проставлять типы у столбцов обязательно...ну это вроде и так понятно, но тем не менее, автоматом часто получается "фсякая фигня", визард импорта/экспорта SQL'я мнит себя умным, но таковым, есессно, не является....
4. Ну и если кому интересно, может пригодится: помучился с выковыриванием из ячейки excel'я URL-адреса гиперссылки. Просто так выгрузится текст ;-). А нужен URL. Ну и текст тоже нужен. Помогает следующая конструкция:
Function GETURL(Cell As Range)
GETURL = Cell.Hyperlinks.Item(1).Address
End Function
Рядом ячейку, в ней =GETURL(A1) и вуаля!

Где то так, может кому поможет.

Всем удачи.

P.S. A, propos! Где мой ImportSettingsPage?!! Почему меня обделили? Или это информация расходится с действительностью?

Здравствуйте Александр.
Да вопрос импорта из SP довольно таки интересный :cool:.

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

"Бабуков Андрей Александрович" написал:

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

Это я уже заметил :-)

Александр,

"Шамуилов Александр" написал:P.S. A, propos! Где мой ImportSettingsPage?!! Почему меня обделили? Или это информация расходится с действительностью?

В базовой версии 5.4.0 универсальный импорт отсутствует. Универсальный импорт будет включен в следующие версия приложения BPMonline.

Коллеги, приветствую!

Каким образом из SQL-консоли MS SQL Server'а подключиться к БД шарепоинта? Какой формат строки подключения?

Вадим, думаю что данный вопрос лучше задать на sql.ru :)
Посмотрите здесь http://technet.microsoft.com/ru-ru/library/ms156450(v=sql.105).aspx

Спасибо, Наталия.

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

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

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

Заранее Спосиба.
С уважением,
Гюнель

Нравится

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

Gunel, в карточку редактирования сервисного договора можно добавить только один контакт и контрагент, если же нужно зафиксировать несколько контактов/контрагентов, следует воспользоваться деталью [Объекты обслуживания].

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

Спосиба за ответ. Это я знаю. Вопрос в том что, как я могу одновременна добавит несколько контактов/контрагентов на деталь "Объекты обслуживания"? Напр. я хочу привязать 300 контактов и 60 контрагентов на один "сервисный договор". Добавить по одному? Это же вид очень трудоемкая работа.

Заранее Спосиба.
С уважением,
Гюнель

Gunel, в базовой версии реализована возможность добавлять записи на деталь [Объекты обслуживания] по одной.
Чтобы присутствовала возможность добавлять несколько записей (контактов/контрагентов), необходимо доработать логику. Приблизительный алгоритм:
1. Использовать механизм справочника множественного выбора.
2. Реализовать получение коллекции выбранных в справочнике GUID.
3. Реализовать запись полученной коллекции в объект детали, при этом учесть связь с разделом, заполнение значений по умолчанию, проверку дублей.

А добавить группу нельзя будет на деталь "Объект обслуживание" раздела "Сервисный договор"?
Создать динамическую группу. (Фильтровать по контрагенту) и добавить эту группу.

С уважением,
Гюнель

Здравствуйте Гюнель!
На сколько я понимаю Ваш вопрос, Вы хотите в дереве групп создать динамическую группу и вставить результат на деталь?
Нет, через динамическую группу никак (если и можно, то проще вручную по одному). Но по ходу мыслей, Вы можете взять коллекцию ID через запрос EntitySchemaQuery. Суть заключается в том, чтобы Вы смогли получить ID записей, которые хотите добавить. Но при больших количествах (300 контактов - это много :exclaim:) у Вас будут ощутимые тормоза. Хотя... Можно получить селект запрос и вставить этот Select в запрос Insert. Не пробовал такое, но теоретически вполне вероятно.
Через статическую - легко.
Говоря простым языком, если у вас будет коллекция ID записей, которые Вы хотите добавить на деталь, то так можно (могу прислать пример реализации), а динамические группы они фильтруют только отображение в реестре.
Спасибо.

Показать все комментарии
Уточнить про функции
Технические вопросы
5.x

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

Есть ли нижеследующие функции у BPMOnline.
Если нет, то возможна ли с помощью доработки добавить их?

1. Просмотр - Быстрый предварительный просмотр прикрепленных файлов;
2. Поиск - Полнотекстовый поиск не только по всем полям учетно-регистрационной карточки,
но и по содержимому файлов (прикрепленных файлов).
3. Автоматическое загрузка шаблона *.dot (Word-шаблоны документов)
4. Коллективный доступ сотрудников к файлам и записям, как для просмотра, так и для редактирования с использованием разграничения прав доступа и механизма версионирование файлов. Конфликты при одновременном редактировании документов исключаются благодаря механизму блокировки файлов.(Напр, при попытке отредактировать файл, занятый другим пользователем, будет выдано какое-то сообщение)
5. Ссылки к файлам (Что бы, нажав на ссылку, открывался сам документ)
6. Автоматическое резервное копирования файлов (Документы можно переводить в архив и хранить в соответствии со сроком хранения)
7. Регистрация документов из электронной почты

С уважением,
Гюнель

Нравится

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

"Gunel Rustamova" написал:1. Просмотр - Быстрый предварительный просмотр прикрепленных файлов;

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

2. Поиск - Полнотекстовый поиск не только по всем полям учетно-регистрационной карточки, но и по содержимому файлов (прикрепленных файлов).

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

3. Автоматическое загрузка шаблона *.dot (Word-шаблоны документов)

Требуется уточнение задачи. Теоретически - возможно, но зачем? Что потом следует делать с этими шаблонами, как с ними работать?

4. Коллективный доступ сотрудников к файлам и записям, как для просмотра, так и для редактирования с использованием разграничения прав доступа и механизма версионирования файлов. Конфликты при одновременном редактировании документов исключаются благодаря механизму блокировки файлов.(Напр, при попытке отредактировать файл, занятый другим пользователем, будет выдано какое-то сообщение)

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

5. Ссылки к файлам (Что бы, нажав на ссылку, открывался сам документ)

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

6. Автоматическое резервное копирования файлов (Документы можно переводить в архив и хранить в соответствии со сроком хранения)

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

7. Регистрация документов из электронной почты

На данный момент присоединенные файлы письма все равно попадают на деталь Файлы активности типа Email, и с ними можно работать, как с обычными файлами. Можно и автоматизировать процесс, к примеру, переносить файл в раздел Документы, и оттуда с ним работать.

Спосиба за ответь.

Вы мне очень помогли.

>Версионность файлов в системе уже реализована, о том, как корректно работать с версиями >можно посмотреть в документации
 → Где я могу найти этот документ?

С уважением,
Гюнель

Здравствуйте Гюнель.
По второму вопросу, какого рода "Полнотекстовый поиск" по документам Вам нужен? Насколько я помню, MS SQL Server поддерживает функциональность полнотекстового поиска. Все зависит от настроек. Вы можете использовать эту возможность подобным образом:
К примеру при загрузке файла вы индексируете его содержимое триггером (на создание записи в таблице) и хранимой процедурой. В нужный момент Вы с помощью второй хранимой процедуры выделяете файлы, которые содержат нужные Вам сведения.
К сожалению, такой функционал не реализован в BPMonline, поэтому стандартных механизмов нет. Дело в том, что такие механизмы сильно зависят от настроек сервера БД, а предусмотреть все варианты, не представляется возможным. Если будут тех.вопросы по этому поводу могу ответить через личку.
Спасибо.

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

Здаствуйте,

Можна ли импортировать сканированный файл документ на деталь "Файлы и ссылки". Если да, то можно ли этот процесс автоматизировать?

Заранее спосиба.
Гюнель

Нравится

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

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

это с точки зрения логики, а с точки зрения разработки под BPM, пока не в курсе :cry:

Если развёрнуто OnSite, то можно вообще класть в БД в обход движка BPMonline при помощи чего-то вроде такого. Логику связей таблицы файлов и таблицы детали файлов в разделе заполнять триггерами.

Показать все комментарии
Версионность документа
5.x

Зраствуйте,

Можно ли отслеживать и поискать (просмотреть) старые версии документов (файлов) добавленных на детал "Файлы и ссылки"?

Заранее спосиба.
С уважением,
Гюнель

Нравится

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

это же не гугл-диск)))
а вообще это можно было бы доработать, но тогда и база будет расти гораздо быстрее - сколько версий может быть у файла? а какого файлы могут быть размера? вот и представьте

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

"Шамуилов Александр" написал:

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


Terrasoft 3.X умеет открывать файлы с детали с последующей загрузкой в БД изменённой версии. В BPMonline логичнее сделать интеграцию с онлайн-редакторами Google Docs и MS Office 365.

Согласен. А это планы или можно как то и сейчас прикрутить?

На деталь файлов можно цеплять гиперссылки, в том числе и на документы Google Docs.

Добрый день! Если это версия 3.X, то можно настроить логирование изменений файлов (будет работать только для изменений документов после включения логирования).

Для этого нужно зайти под пользователем с правами системного администратора в меню Файл - Сервис - Настройка журнала изменений или в раздел "Журнал изменений", меню действий "Настроить журнал изменений". Нужно выбрать таблицу "Файлы" и достаточно включить логирование поля "Данные" и, желательно "Ревизия". После перезапуска системы в контекстном меню детали Файлы появится пункт "Показать журнал изменений" (см.скрин 1 и 2).

Речь о 5.X. 3.X упомянут просто для примера.

Спосиба за ответ.

А как можно на деталь файлов цеплять гиперссылки? Где именно я могу настроить эту функцию?

С уважением,
Гюнель

На детали "файлы и ссылки" нужного раздела, пункт меню "добавить ссылку".

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

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

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

Хотела бы узнать, где хранятся файлы добавленные на деталь "Файлы и ссылки"? Если кликнуть на кнопку "Сохранит в файл", то файл сохраняется на локальном диске веб пользователя. Но я не смогла найти ссылку (места), где хранится сам документ на сервере.

С уважением,
Гюнель

Нравится

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