The "Print" button display for a combined mode

Question

When I try to set the page type for displaying the "Trade-12" printable and select the false checkbox for [Display on page] or delete this printable, the [Print] button disappears. The created copy for this printable nevertheless works OK, but I cannot open the old record. Even when I try to do it via the database, the [Print] button disappears from the page.

The [Warehouse} section: the printable should be displayed for records with the "Outflow" type only, but it is either displayed for all records or the [Print] button is not available at all, despite the fact that it contains other printables as well.

Answer

I will specify the question a little: the situation refers the button display in a combined mode (when you have a collapsed or hidden list on the left side of the screen and the edit page is opened on the right side).

The issue is that in the current implementation, the "IsCardPrintButtonVisible" attribute configuration in "BaseSectionV2" is performed only once when the list is initialized and it is not clear what the activity string is at this stage. At this moment, only printables with the selected page display checkbox that are available for all types are analized  for determining the display property. In your case, you have the only "Trade 12" printable available for display in all types. Thus, when you hide it, the button display gets hidden in the combined mode.

In the upcoming versions, this feature will be reviewed.

As a solution for you now, we suggest binding this button display to your custom attribute which should be populated each time an activity is changed in the combined mode.

define("BtcStoreSection", ["GridUtilitiesV2", "ProductSalesUtils", "MenuUtilities"],
function(GridUtilitiesV2, ProductSalesUtils, MenuUtilities) {
    return {
        entitySchemaName: "BtcStore",
        contextHelpId: "1001",
        details: /**SCHEMA_DETAILS*/{}/**SCHEMA_DETAILS*/,
        attributes: {
            "CombinedModePrintButtonVisible": {dataValueType: Terrasoft.DataValueType.BOOLEAN}
        },
        diff: /**SCHEMA_DIFF*/[
            {
                "operation": "insert",
                "name": "CombinedModePrintButton",
                "parentName": "CombinedModeActionButtonsCardRightContainer",
                "propertyName": "items",
                "index": 0,
                "values": {
                    "itemType": Terrasoft.ViewItemType.BUTTON,
                    "caption": {"bindTo": "Resources.Strings.PrintButtonCaption"},
                    "classes": {"wrapperClass": ["actions-button-margin-right"]},
                    "controlConfig": {"menu": {"items": {"bindTo": "CardPrintMenuItems"}}},
                    "visible": {"bindTo": "CombinedModePrintButtonVisible"}
                }
            },
            {
                "operation": "merge",
                "name": "CombinedModeViewOptionsButton",
                "parentName": "CombinedModeActionButtonsCardRightContainer",
                "propertyName": "items",
                "index": 1,
                "values": {
                    "itemType": Terrasoft.ViewItemType.BUTTON,
                    "caption": {"bindTo": "Resources.Strings.ViewOptionsButtonCaption"},
                    "menu": {"items": {"bindTo": "CombinedModeViewOptionsButtonMenuItems"}},
                    "visible": {"bindTo": "getCombinedModeViewOptionsButtonVisible"}
                }
            }
        ]/**SCHEMA_DIFF*/,
        messages: {
        },
        methods: {
            setCombinedModePrintButtonVisible: function(activeRow, cardPrintMenuItems) {
                this.set("CombinedModePrintButtonVisible", this.getCardPrintButtonVisible());
            },
            onCardRendered: function() {
                this.callParent(arguments);
                this.setCombinedModePrintButtonVisible();
            }
        }
    };
});

 

Like 0

Like

Share

0 comments
Show all comments