Upload file и javascriptcomponen (com.google.gwt.core.client.JavaScriptException: (TypeError) : d.fileupload is not a function)

При использовании на одном дескрипторе(проверял на edit и на browse) компонента upload и фрагмента использующего компонент jscomponent выходит ошибка
image

код фрагмента
image

код дескриптора
image

при отдельном использовании успешно отрабатывает

Добрый день.

Уточните, пожалуйста, какая версия платформы используется в проекте? Если это возможно, приложите XML файлы экранов или небольшой демо проект, в котором воспроизводится эта проблема.

версия кубы = 7,2,15
экран edit

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<window xmlns="http://schemas.haulmont.com/cuba/screen/window.xsd"
        caption="msg://edsRegisterEdit.caption"
        messagesPack="kz.almanit.jcrm.web.screens.edsregistry">
    <data>
        <instance id="edsRegistryDc"
                  class="kz.almanit.jcrm.entity.eds.EdsRegistry">
            <view extends="_local" systemProperties="true"/>
            <loader/>
        </instance>
    </data>
    <dialogMode height="600"
                width="800"/>
    <layout spacing="true">
        <upload id="upload"
                showClearButton="true"
                showFileName="true"/>

        <hbox id="editActions" spacing="true">
            <button id="commitAndCloseBtn" action="windowCommitAndClose"/>
            <button id="closeBtn" action="windowClose"/>
        </hbox>

        <fragment id="ncaLayerFragment" enable="true" screen="jcrm_KalkanCryptSignXmlFragment"/>
    </layout>
</window>

дескриптор фрагмента

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<fragment xmlns="http://schemas.haulmont.com/cuba/screen/fragment.xsd">
    <layout>
        <scrollBox>
            <jsComponent id="ncaLayerShowJs"
                         initFunctionName="nca_layer_js_component_clicker">
                <dependencies>
                    <dependency path="https://code.jquery.com/jquery-3.6.0.min.js"/>
                    <dependency
                            path="https://cdnjs.cloudflare.com/ajax/libs/jquery.blockUI/2.70.0-2014.11.23/jquery.blockUI.min.js"/>
                    <dependency path="vaadin://nca-layer-connectorJS.js"/>
                </dependencies>
            </jsComponent>
            <button id="ncaLayerShow" caption="Подписать документ"/>
        </scrollBox>
    </layout>
</fragment>

js component

nca_layer_js_component_clicker = function () {
    let connector = this;
    let webSocket = new WebSocket('wss://127.0.0.1:13579/');
    let callback = null;
    let SignInformation = {
        signXmlBack: function (result) {
            unblockScreen();
            if (result['code'] === "500") {
                alert(result['message']);
            } else if (result['code'] === "200") {
                let res = result['responseObject'];
                connector.signXmlBack(res, new Date());
            }
        }
    };

    const openDialog = function () {
        if (confirm("Ошибка при подключении к NCALayer. Запустите NCALayer и нажмите ОК") === true) {
            location.reload();
        }
    };

    const unblockScreen = function () {
        $.unblockUI();
    };

    const blockScreen = function () {
        $.blockUI({
            message: '<br/>Подождите, выполняется операция в NCALayer...',
            css: {
                border: 'none',
                padding: '15px',
                backgroundColor: '#000',
                '-webkit-border-radius': '10px',
                '-moz-border-radius': '10px',
                opacity: .5,
                color: '#fff'
            }
        });
    };

    webSocket.onopen = function (event) {
        console.log("Connection opened");
    };

    webSocket.onclose = function (event) {
        if (event.wasClean) {
            console.log('connection has been closed');
        } else {
            console.log('Connection error');
            openDialog();
        }
        console.log('Code: ' + event.code + ' Reason: ' + event.reason);
    };

    webSocket.onmessage = function (event) {
        let result = JSON.parse(event.data);

        if (result != null) {
            let rw = {
                code: result['code'],
                message: result['message'],
                responseObject: result['responseObject'],
                getResult: function () {
                    return this.result;
                },
                getMessage: function () {
                    return this.message;
                },
                getResponseObject: function () {
                    return this.responseObject;
                },
                getCode: function () {
                    return this.code;
                }
            };
            if (callback != null) {
                SignInformation[callback](rw);
            }
        }
    };

    const getKeyInfo = function (storageName, callBack) {
        let getKeyInfo = {
            "module": "kz.gov.pki.knca.commonUtils",
            "method": "getKeyInfo",
            "args": [storageName]
        };
        callback = callBack;
        webSocket.send(JSON.stringify(getKeyInfo));
    };

    const signXml = function (storageName, keyType, xmlToSign, callBack) {
        let signXml = {
            "module": "kz.gov.pki.knca.commonUtils",
            "method": "signXml",
            "args": [storageName, keyType, xmlToSign, "", ""]
        };
        callback = callBack;
        webSocket.send(JSON.stringify(signXml));
    };

    const signXmls = function (storageName, keyType, xmlsToSign, callBack) {
        let signXmls = {
            "module": "kz.gov.pki.knca.commonUtils",
            "method": "signXmls",
            "args": [storageName, keyType, xmlsToSign, "", ""]
        };
        callback = callBack;
        webSocket.send(JSON.stringify(signXmls));
    };

    const getKeyInfoCall = function () {
        blockScreen();
        let selectedStorage = "PKCS12";
        getKeyInfo(selectedStorage, "getKeyInfoBack");
    };

    const getKeyInfoBack = function (result) {
        unblockScreen();
        if (result['code'] === "500") {
            alert(result['message']);
        } else if (result['code'] === "200") {
            console.log(result);
        }
    };

    connector.getKeyInfoCallButton = function () {
        getKeyInfoCall();
    };

    connector.signXmlCall = function () {
        let signInformation = this.getState().data;
        let xml = signInformation.signXml ? signInformation.signXml : "";
        blockScreen();
        signXml("PKCS12", "SIGNATURE", xml, "signXmlBack");
    }

    // TODO if needed add sign of xmls
}

Добрый день Наталья , не подскажете это возможно как то решить ?

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

Проблема возникает из-за того, что указанная вами версия jQuery (3.6.0) выше версии, используемой в платформе (3.3.1).
Для того, чтобы использовать библиотеку непосредственно из платформы, вам нужно указать в коде фрагмента зависимость следующим образом:

<dependency path="webjar://jquery:jquery.min.js"/>

С уважением,
Надежда.

спасибо, помогло