Сохранение экземпляра после сборки не работает

У меня есть магазин:

Ext.define('SamosGaz.store.consulta.VendasFaturamento', {
    extend: 'Ext.data.Store',
    model: 'SamosGaz.model.consulta.VendasFaturamento',
    alias: 'store.vendasfaturamento',
    remoteSort: true,
    groupField: 'SUBGRUPO_DESCRICAO',

    proxy: {
        type: 'rest',
        noCache: false,
        url: 'http://cambioparts.no-ip.info:8050/app/MyInterface/consultas',
        reader: {  
            type: 'json',
            rootProperty: 'result[0].rows',
            successProperty: 'result[0].success',
            totalProperty: 'result[0].total'
        } 
    }
});

Модель:

Ext.define('SamosGaz.model.consulta.VendasFaturamento', {
    extend: 'Ext.data.Model',
    fields: [     
        "SUBGRUPO",           // "00001",
        "SUBGRUPO_DESCRICAO", // "EUROTECNICA",
        "GRUPO",              // "00004",
        "GRUPO_DESCRICAO",    // "CAIXA DE CAMBIO",
        "VENDAS_BRUTA",       //
        "VENDAS_DEVOLUCAO",   // 
        "VENDAS_LIQUIDA",     //
        "VENDAS_FRETE",       // 
        "VENDAS_OUTROS",      // 0,
        "VENDAS_TOTAL",       // 
        "VENDAS_CUSTO",       // 
        "VENDAS_MARGEM",      // 
        "VENDAS_PARTICIPACAO",//
        "COMPRAS_BRUTA",      //
        "COMPRAS_IMPOSTOS",   //
        "COMPRAS_TOTAL",      //
        "COMPRAS_DEVOLUCAO",  // ,
        "COMPRAS_LIQUIDO"     // 
    ]
});

И у меня есть сетка:

Ext.define('SamosGaz.view.consulta.vendasfaturamento.VendasFaturamento', {
    extend: 'Ext.grid.Panel',
    xtype: 'vendasfaturamento',
    title: 'Vendas Faturamento',
    module: 'consulta',

    requires: [
        'SamosGaz.store.consulta.VendasFaturamento',
        'SamosGaz.view.consulta.vendasfaturamento.VendasFaturamentoController'
    ],

    controller: 'vendasfaturamento',

    columnLines: true,

    store: {
        type: 'vendasfaturamento'
    },

    initComponent: function () {
        var me = this;

        Ext.apply(me, {
            features: [
                {
                    ftype: 'groupingsummary',
                    groupHeaderTpl: '{name}',
                    hideGroupedHeader: true,
                    enableGroupingMenu: false
                },
                {
                    ftype: 'summary',
                    dock: 'bottom'
                }
            ],

            columns: [
                {
                    text: 'Ord',
                    align: 'center',
                    width: 50,
                    menuDisabled: true,
                    hideable: false,
                    renderer: function(value, metaData, record, rowIndex, colIndex, store, view) {
                        return rowIndex + 1
                    }
                },
                {
                    text: 'Descrição',
                    dataIndex: 'GRUPO_DESCRICAO',
                    flex: 1,
                    menuDisabled: true,
                    hideable: false,
                    summaryRenderer: function(value, summaryData, dataIndex) {
                        return '<strong>Total</strong>';
                    }
                },
                {
                    header: 'Vendas',
                    columns: [
                        {
                            header: 'Venda',
                            dataIndex: 'VENDAS_BRUTA',
                            xtype: 'moneycolumn',
                            summaryType: 'sum',
                            summaryRenderer: function(value, summaryData, dataIndex) {
                                return '<strong>' + Ext.ux.String.toMoney(value) + '</strong>'
                            }
                        },
                        {
                            header: 'Devolução',
                            dataIndex: 'VENDAS_DEVOLUCAO',
                            xtype: 'moneycolumn',
                            width: 110,
                            summaryType: 'sum',
                            summaryRenderer: function(value, summaryData, dataIndex) {
                                return '<strong>' + Ext.ux.String.toMoney(value) + '</strong>'
                            }
                        },
                        {   
                            header: 'Líquida',
                            dataIndex: 'VENDAS_LIQUIDA',
                            xtype: 'moneycolumn',
                            summaryType: 'sum',
                            summaryRenderer: function(value, summaryData, dataIndex) {
                                return '<strong>' + Ext.ux.String.toMoney(value) + '</strong>'
                            }
                        },
                        {
                            header: 'Frete',
                            dataIndex: 'VENDAS_FRETE',
                            xtype: 'moneycolumn',
                            width: 80,
                            summaryType: 'sum',
                            summaryRenderer: function(value, summaryData, dataIndex) {
                                return '<strong>' + Ext.ux.String.toMoney(value) + '</strong>'
                            }
                        },
                        {
                            header: 'Outros',
                            dataIndex: 'VENDAS_OUTROS',
                            xtype: 'moneycolumn',
                            summaryType: 'sum',
                            summaryRenderer: function(value, summaryData, dataIndex) {
                                return '<strong>' + Ext.ux.String.toMoney(value) + '</strong>'
                            }
                        },
                        {
                            header: 'Total',
                            dataIndex: 'VENDAS_TOTAL',
                            xtype: 'moneycolumn',
                            summaryType: 'sum',
                            summaryRenderer: function(value, summaryData, dataIndex) {
                                return '<strong>' + Ext.ux.String.toMoney(value) + '</strong>'
                            }
                        },
                        {
                            header: 'Custo',
                            dataIndex: 'VENDAS_CUSTO',
                            xtype: 'moneycolumn',
                            summaryType: 'sum',
                            summaryRenderer: function(value, summaryData, dataIndex) {
                                return '<strong>' + Ext.ux.String.toMoney(value) + '</strong>'
                            }
                        },
                        {
                            header: 'MG',
                            dataIndex: 'VENDAS_MARGEM',
                            xtype: 'moneycolumn',
                            width: 80,
                            summaryType: 'sum',
                            summaryRenderer: function(value, summaryData, dataIndex) {
                                return '<strong>' + Ext.ux.String.toMoney(value) + '</strong>'
                            }
                        },
                        {
                            header: '% Par',
                            dataIndex: 'VENDAS_PARTICIPACAO',
                            xtype: 'moneycolumn',
                            width: 80,
                            summaryType: 'sum',
                            summaryRenderer: function(value, summaryData, dataIndex) {
                                return '<strong>' + Ext.ux.String.toMoney(value) + '</strong>'
                            }
                        }
                    ]
                }
            ],

            tbar: [
                {
                    fieldLabel: 'Data Inicial',
                    xtype: 'datesearch',
                    itemId: 'dataInicial',
                    value: Ext.ux.Date.firstMonthDate(),
                    listeners: {
                        change: 'setDataFinal'
                    }
                },
                {
                    fieldLabel: 'Data Final',
                    xtype: 'datesearch',
                    itemId: 'dataFinal',
                    value: Ext.ux.Date.lastMonthDate(),
                    listeners: {
                        change: 'setDataInicial'
                    }
                },
                '-',
                {
                    xtype: 'button',
                    text: 'Pesquisar',
                    listeners: {
                        click: 'pesquisar'
                    }
                }
            ]
        });

        this.callParent(arguments);

        this.getStore().listeners = {
            load: me.controller.updateBottomBar
        };
    }
});

Когда я создаю сетку в режиме разработки, все в порядке, но после сборки у меня возникает проблема:

http://i.stack.imgur.com/Eimkv.png

Какие изменения мне нужно сделать??

любопытно, я меняю прокси на ajax вместо отдыха и его работы; но как я могу это сделать с остальным прокси?


person Albanir Neves    schedule 15.12.2015    source источник
comment
Видите серый треугольник слева от сообщения об ошибке? Вы пробовали нажать это? Это даст вам полную трассировку стека, которая может помочь вам отладить проблему.   -  person Alexander    schedule 15.12.2015
comment
конечно, я уже нажимаю туда, но трассировка показывает только ту же проблему, потому что она возникает после сборки, тогда трассировка не ясна   -  person Albanir Neves    schedule 17.12.2015


Ответы (1)


Если вы используете Sencha Cmd для сборки, попробуйте создать тестовую сборку, т.е. «тестирование сборки приложения sencha» вместо обычной «сборки приложения sencha». Это даст вам сборку, в которой Javascript не сжат, поэтому отчет об ошибке будет более четким.

В частности, когда фреймворк пытается загрузить файлы «.js», это обычно происходит потому, что вам не хватает инструкции «требуется». Я подозреваю, что в вашем классе "SamosGaz.store.consulta.VendasFaturamento" вам нужно:

requires: [
"SamosGaz.model.consulta.VendasFaturamento"
]

А возможно и некоторые другие. Тестовая сборка даст вам больше ошибок.

person bhutten    schedule 15.12.2015
comment
Я решил: я просто добавил класс Ext.data.proxy.Rest в массив require[] моего магазина. Но я узнаю о тестировании, спасибо - person Albanir Neves; 17.12.2015