Отображение кнопки "печать" для комбинированного режима
Вопрос
Здравствуйте, при попытке установить тип карточки для которой должна отображаться печатная форма "Торг -12", установить признак "Отображать на карточке" в false или удалить эту ПФ из карточки пропадает кнопка "Печать". При этом созданная копия этой ПФ работает нормально, но скрыть старую запись не удаётся. Даже при попытке сделать это через базу пропадает кнопка "Печать" с карточки.
Раздел "Склад", ПФ должна отображаться только для записей с типом "Расход", но отображается либо для всех, либо кнопка "Печать" отсутствует вовсе, хотя в ней есть ещё и другие ПФ.
Ответ
Здравствуйте, уточню, что речь идет об отображении кнопки печати в комбинированном режиме (когда слева еще доступен суженный, или свернутый реестр, а справа открыта карточка редактирования).
Проблема в том, что в текущей реализации установка атрибута «IsCardPrintButtonVisible» в «BaseSectionV2» выполняется единожды при инициализации реестра, когда еще не известно на какой строке установлена активность, и в этот момент для определения видимости анализируются только печатные формы с галочкой для отображения в карточке, доступные для всех типов.
А у Вас как можно видеть по скриншоту
для отображения во всех типах, доступна только одна печатная форма «Торг-12», от того, когда вы её скрываете, кнопка отображения комбинированного режима скрывалась.
Конечно, данное поведение будет пересмотрено в последующих версиях.
А сейчас в качестве решения можно привязать видимость этой кнопки к своему атрибуту, который заполнять по каждой смене активности в комбинированном режиме.
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(); } } }; });