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

Информируем вас, что вы можете найти демоверсии наших продуктов на нашем сайте.

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

Нравится

Поделиться

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

Илья день добрый!!!

подскажите пожалуйста, а логин и пароль к демо-стендам как можно получить?

"Власов Михаил Викторович" написал: а логин и пароль к демо-стендам как можно получить?

у меня подошёл стандартные "Пользователь 1"

Советую настроить колонки в деталях на демо-стенде (смотрел в задачах PT Task), а то приходится вручную делать

Илья а конфигурации хоть кто-то тестировал, прежде чем выложить в доступ. К примеру конфигурация http://ptdocs-demo-02.ptsoft.ru/ раздел документы Закладка согласование, деталь Подпись документа. Первое что бросается в глаза в профили пользователя (а я зашел под Пользователь 1) нет колонок. По нажатию на добавить пустой экран. И так я могу перечислить еще много багов в каждой конфигурации. Это нормально?

"Власов Михаил Викторович" написал:И так я могу перечислить еще много багов в каждой конфигурации. Это нормально?

Я попробовал в PT Task перенос сроков - не появляется в детали записей

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

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

С уважением,
Зайчиков Илья

Коллеги,
Действительно, для Пользователя Евгений Мирный не отобразились настроенные колонки.
В ближайшее время исправим это.

Спасибо за обратную связь!

С уважением,
Зайчиков Илья

Илья день добрый!!!

подскажите пожалуйста Тестовые платформы уже можно тестировать, баги, что были обнаружены, исправлены? Спасибо!!!

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

Да, колонки настроены, можно тестировать.
Для оперативного общения можно писать мне в скайп: zaichikovilya_samarasoft

С уважением,
Зайчиков Илья

добавьте, пожалуйста, демо для PT File X for bpm’online

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

добавьте, пожалуйста, демо для PT File X for bpm’online


Дмитрий, в процессе.

Feedback здесь можно выкладывать?
Журнал интеграции - может имеет смысл сделать его доступнее для чтения непосвященным?

1с

Или оставить технический журнал как есть, и добавить "попроще" для пользователя?

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

Спасибо за обратную связь!
Подумаем над этим.

С уважением,
Зайчиков Илья

Здравствуйте, Илья.
А как можно просмотреть демо версию продукта? Перехожу по ссылке, но выдаёт ошибку.
Спасибо

Дмитрий, здравствуйте!
А что именно выдает ошибку и какую?
Я прямо сейчас прошел в демо 1С коннектор и все запустилось, зашел в настройки "Новой интеграции".
Или вы о каком продукте?

Дмитрий, Добрый день!

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

Не могли бы Вы выслать скриншот ошибки на почту: Zajchikov@samarasoft.ru?

С уважением,
Зайчиков Илья

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

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

Мы добавили в Каталог расширений информацию о новом продукте – Task Control for bpm'online.
Task Control - дополнительный модуль, который упрощает процесс контроля и выполнения ежедневных задач для сотрудников организации.
Наш продукт позволяет всегда быть в курсе всех поступающих задач, а также оперативно получать аналитику по исполнительской дисциплине. С ним легче обеспечить своевременное выполнение своих поручений и минимизировать возможные риски вне зависимости от того, являетесь ли вы руководителем отдела или подчиненным.
А для оперативного уведомления пользователей о поступлении новых задач и для напоминания о тех задачах, срок исполнения которых истекает, в Task Control for bpm'online мы реализовали специализированное приложение Informer for Windows.
Информер
Получить более подробную информацию о данном продукте, а также ответы на интересующие вас вопросы можно на нашем сайте.
Мы уже готовим цикл статей, в которых познакомим вас с основными функциями нашего продукта. На следующей неделе вы узнаете, как реализована возможность эскалации поручений в Task Control.
Таск контрол

Следите за обновлениями!

Нравится

Поделиться

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

А удобный совместный календарь для планирования совещаний (свободное время людей и комнат) не планируете делать? 

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

 

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

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

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

Кроме того, в продолжение нашей статьи о базовом сценарии интеграции с использованием 1C Connector, мы подготовили для вас небольшой видео-урок с обзором процесса интеграции.

Желаем приятного просмотра!

С удовольствием отвечу на все возникающие вопросы!
samarasoft.com

Нравится

Поделиться

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

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

Продолжая цикл статей, посвященный знакомству с возможностями контроля исполнительской дисциплины в продукте Docs on bpm’online, мы подготовили обзор функционала переноса сроков выполнения и делегирования задач.

Возможность делегирования задачи.

Функция делегирования предназначена для тех случаев, когда ответственному сотруднику по каким-либо причинам необходимо передать исполнение задачи другому пользователю.

Делегирование шаг 1

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

Возможность переноса сроков выполнения задачи.

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

Перенос шаг 1

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

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

Нравится

Поделиться

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

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

В данной статье мы хотим подробнее познакомить вас с функцией контроля исполнения заданий в Docs on bpm’online.
Чтобы реализовать данную функцию, мы добавили в активность поле «Контролёр» – это поле не является обязательным к заполнению, однако, если автор задачи укажет в нем значение, то ответственному потребуется отправить задание на проверку, и без одобрения контролера он не сможет завершить активность.

Поле контролер

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

Сообщение о ошибке

Подробнее о данной функции читайте здесь.

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

Нравится

Поделиться

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

Можно и в базовый функционал - полезная вещь!

Владимир,
это и есть базовый функционал продукта "документооборот для bpm'online" - PT Docs on bpm'online, который мы разрабатываем и в который вкладываем и силы и душу. :)

Скоро будет отдельный модуль по контролю задач, который будет устанавливаться на любую bpm'online и расширять ее функционал контролем.
Это для тех, кому нужен контроль, но не обязательно нужен документооборот.

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

Добрый день, Владимир!

Спасибо за отзыв!

Кроме того, хотел бы добавить, что функции продукта PT Time Control уже совсем скоро можно будет опробовать на демо-стенде, который будет в общем доступе.
Сейчас мы завершаем тестирование функционала на on-demand.

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

С уважением,
Зайчиков Илья
Менеджер продуктов
ООО «Программные Технологии»
Центр разработки и внедрения Террасофт Поволжье
Тел. +7 (846) 266-55-69
samarasoft.com

"Галанин Артур Николаевич" написал:Скоро будет отдельный модуль по контролю задач

Может, еще и управление проектами делаете?

Владимир, управление проектами мы делаем для себя, обкатываем.
Возможно будет продукт.
Сейчас у нас весь проектный департамент работает в bpm'online sales ondemand как в системе управления проектами, сделанной под нас, точнее делающейся под наши нужды проектной работы.

Чуть позже об этом сможет рассказать Александр Свистунов, директор проектов.

"Владимир Соколов" написал:Может, еще и управление проектами делаете?

Действительно, управление проектами мы допиливаем. Все будет завязано на методологию ведения проектов от Террасофт - роли КВ, CSE, фазы Initiation...Transition и так далее.
Есть конечно интересная идея, чтобы либо распространить это решение между всеми партнерами, либо сделать единый портал, где бы все партнеры смогли работать по единой методологии и было бы видны все активности, документы по проекту, все задержки сроков, эскалации проблем и так далее...
Но пока об этом говорить рано:smile: Как только мы будем готовы - выложим описание сделанных доработок, там есть несколько интересных решений, в том числе с чисто технической точки зрения.

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

Все блоги автора

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

Изображение удалено.

Решение состоит из 2х частей:

  • Добавить кнопки переключения между представлениями
  • Собственно сделать страницы представленийИзображение удалено.

Добавление кнопок переключения реестров в раздел

Подготовлены спрайты кнопок:

Изображение удалено.

Изображение удалено.

Изображение удалено.

Размер 30*60. Смысл в том, чтобы при наведении мыши фон кнопки съезжал на 30 пикселей, и как бы подсвечивался. Создан модуль, назвать, например SmrCustomButtonsCSS и определить LESS:

.blue-button-wrapper {
     width: 30px;
     height: 30px;
     padding: 0px;
     margin: 0px 5px 0px 5px;
}
.blue-button-image {
     display: inline;
     background-position: 0px 0px;
     width: 30px;
     height: 30px;
     padding: 0px;
     margin: 0px;
}
.blue-button-image:hover {
     display: inline;
     background-position: 0px -30px;
}
.blue-button-pressed {
     display: inline;
     background-position: 0px -30px;
     width: 30px;
     height: 30px;
     padding: 0px;
     margin: 0px;
}

Создана замещающая страница "AccountSectionV2":

 

define("AccountSectionV2", ["ConfigurationConstants", "css!SmrCustomButtonsCSS"],
    function(ConfigurationConstants) {
        return {
            entitySchemaName: "Account",
            attributes: {  },
            methods: {
                showLegalView: function(){
                    this.sandbox. publish( "PushHistoryState", { hash : "SectionModuleV2/LegalAccountSectionV2" });
                },
                showIndividualView: function(){
                    this.sandbox. publish( "PushHistoryState", { hash : "SectionModuleV2/IndividualAccountSectionV2" });
                },
                showAllView: function(){
                    this.sandbox. publish( "PushHistoryState", { hash : "SectionModuleV2/AccountSectionV2" });
                },
                isSwitchButtonsContainerVisible: function() {
                    var isCardVisible = this.get("IsCardVisible");
                    return !isCardVisible;
                }
 
 
            },
            diff: /**SCHEMA_DIFF*/[
 
                {
                    "operation": "insert",
                    "name": "SwitchViewButtonsContainer",
                    "parentName": "ActionButtonsContainer",
                    "propertyName": "items",
                    "values": {
                        "itemType": Terrasoft.ViewItemType.CONTAINER,
                        "visible": {
                            "bindTo": "isSwitchButtonsContainerVisible"
                        },
                        "items": []
                    }
                },
                {
                    "operation": "insert",
                    "parentName": "SwitchViewButtonsContainer",
                    "propertyName": "items",
                    "name": "SwitchToAllDataView",
                    "values": {
                        "layout": {
                            "column": 23,
                            "row": 0,
                            "colSpan": 1,
                            "rowSpan": 1
                        },
                        "itemType": Terrasoft.ViewItemType.BUTTON,
                        "style": Terrasoft.controls.ButtonEnums.style.TRANSPARENT,
                        //"iconAlign": Terrasoft.controls.ButtonEnums.iconAlign.RIGHT,
                        iconAlign: Terrasoft.controls.ButtonEnums.iconAlign.TOP,
                        pressed: {bindTo: "LegalGridActive"},
                        "imageConfig": {
                            "source": Terrasoft.ImageSources.SOURCE_CODE_SCHEMA,
                            "params": {
                                "schemaName": "SmrCustomButtonsCSS",
                                "resourceItemName": "GridDataViewIconBlue"
                            }
                        },
                        classes: {
                            wrapperClass: "blue-button-wrapper",
                            imageClass: "blue-button-pressed"
                        },
                        "click": {"bindTo": "showAllView"}
                    }
                },
                {
                    "operation": "insert",
                    "parentName": "SwitchViewButtonsContainer",
                    "propertyName": "items",
                    "name": "SwitchToPersonalDataView",
                    "values": {
                        "layout": {
                            "column": 23,
                            "row": 0,
                            "colSpan": 1,
                            "rowSpan": 1
                        },
                        "itemType": Terrasoft.ViewItemType.BUTTON,
                        "style": Terrasoft.controls.ButtonEnums.style.TRANSPARENT,
                        //"iconAlign": Terrasoft.controls.ButtonEnums.iconAlign.RIGHT,
                        iconAlign: Terrasoft.controls.ButtonEnums.iconAlign.TOP,
                        pressed: {bindTo: "LegalGridActive"},
                        "imageConfig": {
                            "source": Terrasoft.ImageSources.SOURCE_CODE_SCHEMA,
                            "params": {
                                "schemaName": "SmrCustomButtonsCSS",
                                "resourceItemName": "GridPersonalDataViewIconBlue"
                            }
                        },
                        classes: {
                            wrapperClass: "blue-button-wrapper",
                            imageClass: "blue-button-image"
                        },
                        "click": {"bindTo": "showIndividualView"}
                    }
                },
                {
                    "operation": "insert",
                    "parentName": "SwitchViewButtonsContainer",
                    "propertyName": "items",
                    "name": "SwitchToLegalDataView",
                    "values": {
                        "layout": {
                            "column": 23,
                            "row": 0,
                            "colSpan": 1,
                            "rowSpan": 1
                        },
                        "itemType": Terrasoft.ViewItemType.BUTTON,
                        "style": Terrasoft.controls.ButtonEnums.style.TRANSPARENT,
                        //"iconAlign": Terrasoft.controls.ButtonEnums.iconAlign.RIGHT,
                        iconAlign: Terrasoft.controls.ButtonEnums.iconAlign.TOP,
                        pressed: {bindTo: "LegalGridActive"},
                        "imageConfig": {
                            "source": Terrasoft.ImageSources.SOURCE_CODE_SCHEMA,
                            "params": {
                                "schemaName": "SmrCustomButtonsCSS",
                                "resourceItemName": "GridLegalDataViewIconBlue"
                            }
                        },
                        classes: {
                            wrapperClass: "blue-button-wrapper",
                            imageClass: "blue-button-image",
                            pressedClass: "blue-button-pressed"
                        },
                        "click": {"bindTo": "showLegalView"}
                    }
                }
 
            ]/**SCHEMA_DIFF*/
        };
    }
);

Страницы разделов

Созданы 2 страницы разделов. Код для реестра физических лиц:

define("IndividualAccountSectionV2", ["ConfigurationConstants", "css!SmrCustomButtonsCSS"],
    function(ConfigurationConstants) {
        return {
            entitySchemaName: "Account",
            methods: {
                /**
                 * Инициализирует  фильтры экземпляра запроса
                 * @protected
                 * @overridden
                 * @param {Terrasoft.EntitySchemaQuery} esq Запрос, в котором будут инициированы фильтры
                 */
                initQueryFilters: function (esq) {
                    this.callParent(arguments);
                    esq.filters.removeByKey("ClientType");
                    esq.filters.add("ClientType", this.Terrasoft.createColumnFilterWithParameter(
                        this.Terrasoft.ComparisonType.EQUAL, "SmrClientType.Id", "80FD3F74-0AF4-4F8A-9F0B-F626E4F05147"));
                },
                /**
                 * Возвращает представления раздела по умолчанию.
                 * Реестр, Аналитика не создаётся
                 * @overridden
                 * @return {Object} Представления раздела по умолчанию
                 */
                getDefaultDataViews: function() {
                    var gridDataView = {
                        name: this.get("GridDataViewName"),
                        caption: this.getDefaultGridDataViewCaption(),
                        icon: this.getDefaultGridDataViewIcon()
                    };
                    var analyticsDataView = {
 
                    };
                    return {
                        "GridDataView": gridDataView,
                        "AnalyticsDataView": analyticsDataView
                    };
                },
                /**
                 * Получает пункты меню кнопки "Вид"
                 * @overridden
                 * @virtual
                 * @return {Terrasoft.BaseViewModelCollection} Возвращает пункты меню кнопки "Вид"
                 */
                getViewOptions: function() {
                    var viewOptions = this.Ext.create("Terrasoft.BaseViewModelCollection");
                    viewOptions.addItem(this.getButtonMenuItem({
                        "Caption": {"bindTo": "Resources.Strings.SortMenuCaption"},
                        "Items": this.get("SortColumns")
                    }));
                    viewOptions.addItem(this.getButtonMenuItem({
                        "Caption": {"bindTo": "Resources.Strings.OpenGridSettingsCaption"},
                        "Click": {"bindTo": "openGridSettings"}
                    }));
                    return viewOptions;
                }
            },
            diff: /**SCHEMA_DIFF*/[
                {
                    "operation": "merge",
                    "name": "SwitchToAllDataView",
                    "values": {
                        classes: {
                            wrapperClass: "blue-button-wrapper",
                            imageClass: "blue-button-image"
                        }
                    }
                },
                {
                    "operation": "merge",
                    "name": "SwitchToPersonalDataView",
                    "values": {
                        classes: {
                            wrapperClass: "blue-button-wrapper",
                            imageClass: "blue-button-pressed"
                        }
                    }
                },
                {
                    "operation": "merge",
                    "name": "SwitchToLegalDataView",
                    "values": {
                        classes: {
                            wrapperClass: "blue-button-wrapper",
                            imageClass: "blue-button-image"
                        }
                    }
                }
            ]/**SCHEMA_DIFF*/
        };
    }
);

Код страницы для реестра юридических лиц:

define("LegalAccountSectionV2", ["RightUtilities", "ConfigurationConstants", "css!SmrCustomButtonsCSS"],
    function (RightUtilities, ConfigurationConstants) {
        return {
            entitySchemaName: "Account",
            attributes: {},
            messages: {},
            methods: {
                /**
                 * Инициализирует  фильтры экземпляра запроса
                 * @protected
                 * @overridden
                 * @param {Terrasoft.EntitySchemaQuery} esq Запрос, в котором будут инициированы фильтры
                 */
                initQueryFilters: function (esq) {
                    this.callParent(arguments);
                    esq.filters.removeByKey("ClientType");
                    esq.filters.add("ClientType", this.Terrasoft.createColumnFilterWithParameter(
                        this.Terrasoft.ComparisonType.EQUAL, "SmrClientType.Id", "DD4E6E34-21D3-4F09-A417-6FC4116876B5"));
                },
                /**
                 * Возвращает представления раздела по умолчанию.
                 * Реестр, Аналитика не создаётся
                 * @overridden
                 * @return {Object} Представления раздела по умолчанию
                 */
                getDefaultDataViews: function() {
                    var gridDataView = {
                        name: this.get("GridDataViewName"),
                        caption: this.getDefaultGridDataViewCaption(),
                        icon: this.getDefaultGridDataViewIcon()
                    };
                    var analyticsDataView = {
 
                    };
                    return {
                        "GridDataView": gridDataView,
                        "AnalyticsDataView": analyticsDataView
                    };
                },
                /**
                 * Получает пункты меню кнопки "Вид"
                 * @overridden
                 * @virtual
                 * @return {Terrasoft.BaseViewModelCollection} Возвращает пункты меню кнопки "Вид"
                 */
                getViewOptions: function() {
                    var viewOptions = this.Ext.create("Terrasoft.BaseViewModelCollection");
                    viewOptions.addItem(this.getButtonMenuItem({
                        "Caption": {"bindTo": "Resources.Strings.SortMenuCaption"},
                        "Items": this.get("SortColumns")
                    }));
                    viewOptions.addItem(this.getButtonMenuItem({
                        "Caption": {"bindTo": "Resources.Strings.OpenGridSettingsCaption"},
                        "Click": {"bindTo": "openGridSettings"}
                    }));
                    return viewOptions;
                }
            },
            diff: /**SCHEMA_DIFF*/[
                {
                    "operation": "merge",
                    "name": "SwitchToAllDataView",
                    "values": {
                        classes: {
                            wrapperClass: "blue-button-wrapper",
                            imageClass: "blue-button-image"
 
                        }
                    }
                },
                {
                    "operation": "merge",
                    "name": "SwitchToPersonalDataView",
                    "values": {
                        classes: {
                            wrapperClass: "blue-button-wrapper",
                            imageClass: "blue-button-image"
                        }
                    }
                },
                {
                    "operation": "merge",
                    "name": "SwitchToLegalDataView",
                    "values": {
                        classes: {
                            wrapperClass: "blue-button-wrapper",
                            imageClass: "blue-button-pressed"
                        }
                    }
                }
            ]/**SCHEMA_DIFF*/
        };
    });

Что нужно отметить в этих страницах:

/**
 * Инициализирует  фильтры экземпляра запроса
 * @protected
 * @overridden
 * @param {Terrasoft.EntitySchemaQuery} esq Запрос, в котором будут инициированы фильтры
 */
initQueryFilters: function (esq) {
        this.callParent(arguments);
        esq.filters.removeByKey("ClientType");
        esq.filters.add("ClientType", this.Terrasoft.createColumnFilterWithParameter(
                this.Terrasoft.ComparisonType.EQUAL, "SmrClientType.Id", "DD4E6E34-21D3-4F09-A417-6FC4116876B5"));
}

Мы переопределяем метод для установки фильтрации записей (например, только физические лица).

Также, переопределяем методы getDefaultDataViews и getViewOptions, чтобы скрыть функции, которые не работают в новых реестрах (почему - не было времени разбираться).

 

Проблемы

В представлениях (дополнительных реестрах) не работают некоторые функции, а именно аналитика и некоторые действия из меню "Вид".

P.S.: Очень ждем возможности использовать такую возможность базовыми средствами, кейсов много - это и деление на сотрудники/контакты и физ/юр лица. В ситуациях, когда набор колонок одинаковый, конечно рекомендуется пользоваться стандартными динамическими группами.

Нравится

Поделиться

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

Эх, еще бы это в Мастер раздела :)

Кстати, а кейс ведения физических и юридических лиц в Контрагентах давно стал практикой?

Это практика при условиях, что:

  • Клиенту нужно смотреть суммарную разнообразную аналитику по всем клиентам физики+юрики, создаваемую через стандартные средства (в представлении "Аналитика")
  • Клиента бесит, когда ему каждый раз заходя в раздел Контакты, нужно отфильтровывать своих сотрудников и сотрудников подрядчиков, чтобы поработать с клиентами:smile:

Александр, золотой вы человек :twisted:
Как раз ломал голову как бы не убить кучу времени и реализовать представления с переключением, а тут пример живой.

Рад помочь, для этого и нужно комьюнити:smile:. Если есть еще вопросы в стиле "В 3ке это делалось в 5 кликов аналитиком, а как это сделать это в 7ке?" - спрашивайте, наверняка найдем проектное решения в закромах, пусть и не всегда очевидное:lol:

"Александр Свистунов" написал:спрашивайте, наверняка найдем проектное решения в закромах

Я ж воспользуюсь :)
Case: отфильтровать в разделе Счета все счета, к которым прикреплен продукт = "ххх". То есть фильтр по вхождению некой информации в деталь - аналогично в любом разделе. Так как штатно доступны только фильтры по детали с агрегатной функцией, то видимо надо как-то добавлять свой фильтр?
В 3х это делалось через модификацию sq_, в 5х вроде как вообще работало штатно через обратные связи.
Раздел итоги элемент список не предлагать :) там делается посредством списка на основании Продукт в счете - пробовал, работает.

Александр, если я правильно понял ваш Кейс, то это делается через подобный фильтр

Продукт в счете

"Толмачев Дмитрий Юрьевич" написал:делается через подобный фильтр

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

Чтобы темы не плодить... товарищи, как бы попроще скрыть из меню Edit, Copy и особенно Delete для детали, основанной на вьюшке?
Деталь самодельная, родитель BaseGridDetailV2.

Александр,

Для решения вашей задачи достаточно переопределить функцию addRecordOperationsMenuItems на созданной вами странице реестра

methods: {
	/**
	 * @overridden
	 */
	addRecordOperationsMenuItems: Ext.emptyFn
	//...
}

"Толмачев Дмитрий Юрьевич" написал:Ext.emptyFn

Спасибо, попробую так.
Я ее нашел, только наивно переопределял как

addRecordOperationsMenuItems: function() {
}

То есть пытался заполнить "ничем"...

А я где-то такую функцию нашёл

getAddRecordButtonVisible: function() {
	return false;
},

Добрый день!

Александр, спасибо за предоставленной пример, остался один непонятный для меня момент, какие действия нужно выполнить, что бы новая страница раздела (например, IndividualAccountSectionV2) стала доступна по URL "http://localhost/0/Nui/ViewModule.aspx#SectionModuleV2/IndividualAccoun…"?

Сергей,

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

В данном случае, насколько я помню, у страниц LegalAccountSectionV2 и IndividualAccountSectionV2 в качестве родительской использовалась "AccountSectionV2", т.к. по сути это дочерние ветки.

Александр, большое спасибо за то что делитесь отличным материалом!

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

1. Правильно ли я понимаю, что через свойства Diff:

pressed: {bindTo: "LegalGridActive"},

и

classes: {
                            wrapperClass: "blue-button-wrapper",
                            imageClass: "blue-button-image",
                            pressedClass: "blue-button-pressed"
                        },

Вы указываете, будет ли элемент содержать класс "blue-button-pressed" ?
Если да, то что в этом случае должна возвращать функция "LegalGridActive" - true или false?

У меня на версии 7.7 не получилось сделать так, чтобы к елементу "прицепился" мой класс указанный в pressedClass (как у Вашем примере: pressedClass: "blue-button-pressed"). Вместо него появился "дефолтный" класс - t-btn-pressed.
вот код DIFF:

	{
		"operation": "insert",
		"parentName": "SignButtonsContainer",
		"propertyName": "items",
		"name": "SignBtnVip",
		"values": {
			"itemType": Terrasoft.ViewItemType.BUTTON,
			"caption": {"bindTo": "sign_Vip"},
			"hint": {"bindTo": "Resources.Strings.sign_Vip"},
			"imageConfig" : {"bindTo": "Resources.Images.sign_vip_Image"},
			//"click": {"bindTo": "onVipButtonClick"},
			pressed : {bindTo : "VipButtonPressed"},
			classes : {
				wrapperClass : "sign-btn",
				imageClass   : "sign-img",
				pressedClass : "sign-img-pressed"
			},
			"visible": true
		}
	},

В итоге вместо ожидаемого css-класса "sign-img-pressed" - появляется "t-btn-pressed". Не могу понять что я сделал не так...

2. Можно ли какимто образом отключить для моего елемента генерацию стандрартных css-классов?
(для элемента Terrasoft.ViewItemType.BUTTON сгенерировались - t-btn-wrapper, t-btn-no-text-padding, t-btn-style-default )

3. Глобальный вопрос - не могли бы Вы подсказать, какой подход можно применить для того, чтобы можно было динамически (например по кнопочке) добавлять или удалять указанные кастомные css-классы для элемента?

В целом, очень хорошо что в 7-ке есть возможность подключать свои css-стили, это очень удобно, но вот генерация самих классов для элемента происходит немного не очевидно... :smile:

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

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

Продолжаем знакомить вас с функциональными особенностями наших продуктов. В данной статье мы расскажем об Информере для Windows – приложении для рабочего стола Windows, которое поставляется с нашими продуктами, такими как Docs или Time Control.

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

Информер в трее

Кликнув на задачу, мы перейдем в интерфейс Информера:

Интерфейс

Полную статью читайте здесь.

С удовольствием отвечу на все возникающие вопросы!

Нравится

Поделиться

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

Добрый день, Илья.
Есть ли у вас док по автоматической установке "Информера"?

Best regards,

Maxim Abramov

Postal Address: 15, Vashutinskoye Shosse, City of Khimki
141402, Moscow Region, Russia

Phone: +7 495 933 60 27 / 4402 - Mobile: +7 916 197 07 92
E-mail: Maxim.Abramov@ru.atlascopco.com

Добрый день.
Отдельную инструкцию не делали, так как обычно ставим через стандартные груповые политики (вешаем на событие logon). В принципе все делаем по примеру

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

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

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

Рассмотрим следующий кейс: менеджер создает счет в системе bpm’online и ему нужно, чтобы он сразу ушел в 1С, а после получения оплаты по этому счету необходимо сразу отобразить это в bpm’online.

Менеджер создает счет в системе bpm’online:

Счет в bpm

Далее пользователь может подождать экспорта счета в 1С в течение определенного времени, заданного в расписании настроенной интеграции:

Расписание интеграции

Или же может запустить интеграцию вручную:

Запуск вручную

После этого счет появится в системе 1С. Вместе со счетом будут переданы все связанные сущности, такие как Продукты, Договоры, Контрагенты и т.д., которые вы прописали в настройках синхронизации:

Счет в 1С

Для интеграции оплаты в bpm’online необходимо провести счет в 1С:

Проводка счета

Вся внесенная информация появится уже на стороне bpm’online:

Оплаченный счет

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

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

С удовольствием отвечу на все возникающие вопросы!

Нравится

Поделиться

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

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

С 4 по 6 июня «Программные технологии» принимали участие в CRM Days – ежегодной партнерской конференции Terrasoft. Это были очень интересные и насыщенные дни в кругу профессионалов CRM-рынка!

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

Наша команда также привезла свои материалы и презентации! Мы рассказали участникам и посетителям форума о наших продуктах: на экспо-секции было представлено решение Docs – документооборот на платформе bpm’online, а в CRM академии 1C Connector – приложение для интеграции системы bpm’online с системой 1C.

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

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

Будем рады ответить на все возникающие вопросы!

Нравится

Поделиться

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

Уважаемые коллеги!

Продукт Docs on bpm’online не стоит на месте и каждый день развивается! Мы добавляем новые функции, совершенствуем уже реализованные и делаем все, чтобы пользователь полюбил наше решение с первых же минут работы в системе!

Для того, чтобы Вы могли узнать о возможностях продукта всего за несколько минут, мы сделали ролик, посвященный нашему решению – Все о Docs on bpm’online за 5 минут!
Желаем приятного просмотра!

Подписывайтесь на материалы по данному продукту - впереди еще много нового и интересного!

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

Нравится

Поделиться

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