Skip to Content
Odoo เมนู
  • ลงชื่อเข้าใช้
  • ทดลองใช้ฟรี
  • แอป
    การเงิน
    • ระบบบัญชี
    • ระบบการออกใบแจ้งหนี้
    • ระบบบัญชีรายจ่าย
    • ระบบการจัดการข้อมูลผ่านสเปรดชีต (BI)
    • เอกสาร
    • ระบบลงลายเซ็น
    การขาย
    • ลูกค้าสัมพันธ์
    • การขาย
    • POS ร้านค้า
    • POS ร้านอาหาร
    • ระบบสมัครสมาชิก
    • การเช่า
    การจัดการเว็บไซต์
    • เครื่องมือสร้างเว็บไซต์
    • ระบบการขายออนไลน์
    • บล็อก
    • ฟอรั่ม
    • ไลฟ์แชท
    • ระบบการอบรมออนไลน์
    ซัพพลายเชน
    • คลังสินค้า
    • ระบบการผลิต
    • PLM
    • ระบบการจัดซื้อ
    • การซ่อมบำรุง
    • ระบบจัดการคุณภาพ
    ทรัพยากรบุคคล
    • ข้อมูลพนักงาน
    • ระบบสรรหาบุคลากร
    • ระบบการลา
    • การประเมิน
    • ระบบการแนะนำพนักงาน
    • ระบบจัดการยานพาหนะ
    การตลาด
    • โซเชียลมาร์เก็ตติ้ง
    • การตลาดผ่านอีเมล
    • ระบบการตลาดผ่าน SMS
    • ระบบการจัดงานอีเวนต์
    • การตลาดแบบอัตโนมัติ
    • ระบบแบบสำรวจ
    การบริการ
    • โปรเจกต์
    • ระบบบันทึกเวลา
    • ระบบการจัดการบริการภาคสนาม
    • ระบบดูแลช่วยเหลือ
    • การวางแผน
    • การนัดหมาย
    ประสิทธิผล
    • ระบบแสดงความคิดเห็น
    • ระบบการอนุมัติ
    • ไอโอที
    • VoIP
    • คลังข้อมูล
    • WhatsApp
    แอปพลิเคชันของบุคคลที่สาม Odoo สตูดิโอ แพลตฟอร์มคลาวด์ของ Odoo
  • อุตสาหกรรม
    การค้าปลีก
    • ร้านขายหนังสือ
    • ร้านขายเสื้อผ้า
    • ร้านขายเฟอร์นิเจอร์
    • ร้านขายของชำ
    • ร้านขายฮาร์ดแวร์
    • ร้านขายของเล่น
    Food & Hospitality
    • บาร์และผับ
    • ร้านอาหาร
    • อาหารฟาสต์ฟู้ด
    • Guest House
    • ตัวแทนจำหน่ายเครื่องดื่ม
    • Hotel
    อสังหาริมทรัพย์
    • Real Estate Agency
    • บริษัทสถาปัตยกรรม
    • บริษัทรับเหมา
    • การจัดการอสังหาริมทรัพย์
    • การจัดสวน
    • สมาคมเจ้าของอสังหาริมทรัพย์
    ปรึกษา
    • สำนักงานบัญชี
    • Odoo พาร์ทเนอร์
    • เอเจนซี่การตลาด
    • สำนักงานกฎหมาย
    • บริการสรรหาบุคลากร
    • การตรวจสอบและการรับรอง
    ระบบการผลิต
    • Textile
    • เหล็ก
    • เฟอร์นิเจอร์
    • อาหาร
    • Brewery
    • ของขวัญขององค์กร
    สุขภาพ & ฟิตเนส
    • ชมรมกีฬา
    • ร้านขายแว่นตา
    • ฟิตเนส
    • ผู้ประกอบวิชาชีพด้านสุขภาพ
    • ร้านขายยา
    • ร้านทำผม
    Trades
    • ช่างซ่อม
    • ฮาร์ดแวร์และการสนับสนุนด้านไอที
    • ระบบพลังงานแสงอาทิตย์
    • ช่างทำรองเท้า
    • บริการทำความสะอาด
    • HVAC Services
    อื่น ๆ
    • Nonprofit Organization
    • สำนักงานสิ่งแวดล้อม
    • ร้านเช่าป้ายโฆษณา
    • การถ่ายภาพ
    • ร้านเช่าจักรยาน
    • ตัวแทนจำหน่ายซอฟต์แวร์
    Browse all Industries
  • คอมมูนิตี้
    ศึกษา
    • บทเรียน
    • เอกสารกำกับโปรแกรม
    • การรับรอง
    • การฝึกอบรม
    • บล็อก
    • พอดแคสต์
    เพิ่มศักยภาพให้กับการศึกษา
    • โปรแกรมการศึกษา
    • Scale Up! Business Game
    • เยี่ยมชม Odoo
    รับซอฟต์แวร์
    • ดาวน์โหลด
    • เปรียบเทียบรุ่น
    • เผยแพร่
    ทำงานร่วมกัน
    • Github
    • ฟอรั่ม
    • ระบบการจัดงานอีเวนต์
    • การแปล
    • ร่วมเป็นพาร์ทเนอร์
    • Services for Partners
    • ลงทะเบียนเพื่อสร้างบัญชีบริษัทของคุณ
    รับบริการ
    • ค้นหาพาร์ทเนอร์
    • ค้นหานักบัญชี
    • พบกับที่ปรึกษา
    • บริการติดตั้งระบบเพื่อใช้งาน
    • ข้อมูลอ้างอิงลูกค้า
    • การสนับสนุน
    • อัปเกรด
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +1 (650) 691-3277
    รับการสาธิต
  • ราคา
  • ช่วยเหลือ

Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:

  • ลูกค้าสัมพันธ์
  • e-Commerce
  • ระบบบัญชี
  • สินค้าคงคลัง
  • PoS
  • โปรเจกต์
  • MRP
All apps
คุณต้องลงทะเบียนเพื่อโต้ตอบกับคอมมูนิตี้
All Posts คน เหรียญรางวัล
แท็ก (View all)
odoo accounting v14 pos v15
เกี่ยวกับฟอรั่มนี้
คุณต้องลงทะเบียนเพื่อโต้ตอบกับคอมมูนิตี้
All Posts คน เหรียญรางวัล
แท็ก (View all)
odoo accounting v14 pos v15
เกี่ยวกับฟอรั่มนี้
ช่วยเหลือ

Shortcut Keys in Odoo V8

ติดตาม

รับการแจ้งเตือนเมื่อมีกิจกรรมในโพสต์นี้

คำถามนี้ถูกตั้งค่าสถานะ
1 ตอบกลับ
3798 มุมมอง
อวตาร
Abin CI

Hello friends,

Is shortcut key is possible in V8 as V7 & <V7.I installes web_gui,web_shortcuts & web_keyboard_shortcuts modules successfully.But it is not work at all....any solution?

0
อวตาร
ละทิ้ง
อวตาร
shaneebkhan
คำตอบที่ดีที่สุด

replace web_shortcuts.js( module web_shortcuts) with

/*############################################################################
#
#    OpenERP, Open Source Management Solution
#    Copyright (C) 2011-2012 OpenERP SA (<http://openerp.com>).
#
#    This program is free software: you can redistribute it and/or modify
#    it under the terms of the GNU Affero General Public License as
#    published by the Free Software Foundation, either version 3 of the
#    License, or (at your option) any later version.
#
#    This program is distributed in the hope that it will be useful,
#    but WITHOUT ANY WARRANTY; without even the implied warranty of
#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#    GNU Affero General Public License for more details.
#
#    You should have received a copy of the GNU Affero General Public License
#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
#
############################################################################*/

var fullscreen_toggle = {
    fullscreen_toggle: 0,
    search: 0,
    };
openerp.web_shortcuts = function (instance) {

var QWeb = instance.web.qweb,
    _t = instance.web._t;

instance.web_shortcuts.Shortcuts = instance.web.Widget.extend({
    template: 'Systray.Shortcuts',

    init: function() {
        this._super();
        this.on('load', this, this.load);
        this.on('add', this, this.add);
        this.on('display', this, this.display);
        this.on('remove', this, this.remove);
        this.on('click', this, this.click);
        this.model = new instance.web.Model('web.shortcut');
        this._super.apply(this, arguments);
        var old=this;
        var match=0;
        var str ="";
        var select=0;
        var menu_id=0;
        $(document).keyup(function(event){
                if(fullscreen_toggle.menu_dict)
                    {
                    var d = event.keyCode;
                    var pa=$(".oe_searchview_input").html();
                    for (key in Object.keys(fullscreen_toggle.menu_dict))
                        {if (pa)
                            {
                            if(pa=='<br>')
                                {
                                $("div.oe_searchview_clear").click();
                                break;
                                }
                            if (pa.length>0 )
                            {        pa=pa.replace(/\\/g, "\\\\");
                                    pa=pa.replace(/\(/g, "\\(");
                                    pa=pa.replace(/\)/g, "\\)");
                                    var patt1=new RegExp("^"+pa);
                                    if(patt1.test(Object.keys(fullscreen_toggle.menu_dict)[key]))
                                        {
                                        str = Object.keys(fullscreen_toggle.menu_dict)[key]
                                        var sub = str.substring(pa.length);
                                        $("#search_hint").remove();
                                        $(".oe_searchview_input").append('<div id="search_hint" style="color:#898585">'+sub+"</div>");
                                        match=1;
                                        }
                                }
                            }
                        
                        }
                  }
              if(d==39 && match==1)
              {
                  $(".oe_searchview_input").trigger("paste");
                  match=0;
                  select=1;
                  menu_id=fullscreen_toggle.menu_dict[str];
              }
              if(d==37 || d==8)
              {   
                  event.preventDefault();
                  match=0;
                  select=0;
              }
              if (fullscreen_toggle.menu_dict){
              if(d==13 && select==1 && menu_id)
                  {
                  var self = old,
                  id = menu_id;
                  menu_id=0;
                  self.session.active_id = id;
                  // TODO: Use do_action({menu_id: id, type: 'ir.actions.menu'})
                  select=0;
                  match=0;
                  self.rpc('/web/menu/action', {'menu_id': id}).done(function(ir_menu_data) {
                      if (ir_menu_data.action.length){
                          instance.webclient.on_menu_action({action_id: ir_menu_data.action[0][2].id});
                      }
                  });
                  }
              }
              
              
        });
    },
    start: function() {
        var self = this;
        this._super();
        this.trigger('load');
        this.$el.on('click', '.oe_systray_shortcuts_items a', function() {
            self.trigger('click', $(this));
        });
    },
    load: function() {
        var self = this;
        this.$el.find('.oe_systray_shortcuts_items').empty();
        return this.model.call('get_user_shortcuts', [
            instance.session.uid,
            instance.web.pyeval.eval('context', {})
        ]).done(function(shortcuts) {
            _.each(shortcuts, function(sc) {
                self.trigger('display', sc);
            });
        });
    },
    add: function (sc) {
        var self = this;
        this.model.call('create', [sc]).then(function(out){
            self.trigger('load');
        });
    },
    display: function(sc) {
        var self = this;
        this.$el.find('.oe_systray_shortcuts_items').append();
        var $sc = $(QWeb.render('Systray.Shortcuts.Item', {'shortcut': sc}));
        $sc.appendTo(self.$el.find('.oe_systray_shortcuts_items'));
    },
    remove: function (menu_id) {
        var menu_id = this.session.active_id;
        var $shortcut = this.$el.find('.oe_systray_shortcuts_items li a[data-id=' + menu_id + ']');
        var shortcut_id = $shortcut.data('shortcut-id');
        $shortcut.remove();
        this.model.call('unlink', [shortcut_id]);
    },
    click: function($link) {
        var self = this,
            id = $link.data('id');
        self.session.active_id = id;
        // TODO: Use do_action({menu_id: id, type: 'ir.actions.menu'})
        new instance.web.Model('ir.ui.menu').query(['action']).filter([['id', '=', id]]).context(null).all().then(function(menu) {
            var action_str = menu[0].action;
            var action_str_parts = action_str.split(',');
            var action_id = parseInt(action_str_parts[1])
            self.rpc('/web/action/load', {'action_id': action_id}).done(function(action) {
                instance.webclient.on_menu_action({action_id: action.id});
            });
        });
        this.$el.find('.oe_systray_shortcuts').trigger('mouseout');
    },
    has: function(menu_id) {
        return !!this.$el.find('a[data-id=' + menu_id + ']').length;
    }
});

instance.web.UserMenu.include({
    do_update: function() {
        var self = this;
        this._super.apply(this, arguments);
        this.update_promise.done(function() {
            if (self.shortcuts) {
                self.shortcuts.trigger('load');
            } else {
                self.shortcuts = new instance.web_shortcuts.Shortcuts(self);
                self.shortcuts.appendTo(instance.webclient.$el.find('.oe_systray'));
            }
        });
    },
});

instance.web.ViewManagerAction.include({
    switch_mode: function (view_type, no_store) {
        var self = this;
        this._super.apply(this, arguments).done(function() {
            self.shortcut_check(self.views[view_type]);
        });
    },
    shortcut_check : function(view) {
        var self = this;
        var shortcuts_menu = instance.webclient.user_menu.shortcuts;
        var grandparent = this.getParent() && this.getParent().getParent();
        // display shortcuts if on the first view for the action
        var $shortcut_toggle = this.$el.find('.oe_shortcuts_toggle');
        if (!this.action.name ||
                !(view.view_type === this.views_src[0].view_type
                    && view.view_id === this.views_src[0].view_id)) {
            $shortcut_toggle.hide();
            return;
        }
        // Anonymous users don't have user_menu
        if (shortcuts_menu) {
            $shortcut_toggle.toggleClass('oe_shortcuts_remove', shortcuts_menu.has(self.session.active_id));
            $shortcut_toggle.unbind("click").click(function() {
                if ($shortcut_toggle.hasClass("oe_shortcuts_remove")) {
                    shortcuts_menu.trigger('remove', self.session.active_id);
                } else {
                    shortcuts_menu.trigger('add', {
                        'user_id': self.session.uid,
                        'menu_id': self.session.active_id,
                        'name': self.action.name
                    });
                }
                $shortcut_toggle.toggleClass("oe_shortcuts_remove");
            });
        }
    }
});

/*
 * from web_keyborad_shortcuts  by shaneeb 3
 */
$(document).ready(function(event) {
     $(document).keyup(function(event) {
         $("button u span").unwrap();
     });
    $(document).keydown(function(event) {
            jQuery(".oe_menu").sortable({axis: "x",
            cursor: "move",
        });
            debugger ;
        
        $("#search_hint").remove();
        var n = String.fromCharCode(event.charCode);
        var d = event.keyCode;
        var alt_dict={}
        if (event.altKey) {
            $("header button:visible").attr("accesskey",function(index,currentvalue){
                                                                        if(currentvalue){
                                                                            
                                                                            var button_text = $(this).text();
                                                                             $(this).html(button_text.replace(currentvalue,'<u class="alt_base"><span class="under_line">'+currentvalue+'</sapn></u>'));
                                                                             alt_dict[currentvalue]=$(this);
                                                                             $('.alt_base').addClass("alt_after");
                                                                            }
                                                                       });
//            $("button").attr("accesskey",function(index,currentvalue){
//                if(currentvalue){
//                    
//                    var button_text = $(this).text();
//                     $(this).html(button_text.replace(currentvalue,'<u><span class="under_line">'+currentvalue+'</sapn></u>'));
//                     alt_dict[currentvalue]=$(this);
//                     $(this).removeAttr("accesskey");
//                     $(this).attr("acckey",currentvalue);
//                    }
//               });
            
        }
        
        if (event.keyCode && event.keyCode != 18 && event.altKey) {
            debugger ;
            event.preventDefault();
            var pressed = String.fromCharCode(event.keyCode);
            if (alt_dict.hasOwnProperty(pressed)!=false)
            {
//            if(alt_dict[pressed].is(":visible"))
//            {
//        
//                alt_dict[pressed].click();
//            }

            }
        }
        if (event.keyCode && event.keyCode != 17 && event.ctrlKey) {
            if (d == 83) {
                event.preventDefault();
                var x = document.getElementsByTagName('button');
                for (i = 0; i < x.length; i++) {
                    y = x[i];
                    if (y.className == "oe_button oe_form_button_save oe_highlight" && $(y).is(':visible')) {
                        y.click();
                    }
                }
            }

            if (d == 75) {

                event.preventDefault();
                var x = document.getElementsByTagName('a');
                for (i = 0; i < x.length; i++) {
                    y = x[i];
                    if (y.className == "oe_vm_switch_kanban") {
                        y.click();
                    }
                }

            }

            if (d == 222) {

                event.preventDefault();
                var x = document.getElementsByTagName('a');
                for (i = 0; i < x.length; i++) {
                    y = x[i];
                    if (y.className == "oe_vm_switch_graph") {
                        y.click();
                    }
                }

            }

            if (d == 70) {

                event.preventDefault();
                var x = document.getElementsByTagName('div');
                for (i = 0; i < x.length; i++) {
                    y = x[i];
                    if (y.className == "oe_searchview_facets") {
                        y.click();
                        if(fullscreen_toggle.fullscreen_toggle)
                            {
                            $('div.oe_searchview').animate({
                                "top": "0px"
                            },"fast");
                            fullscreen_toggle.search=1;
                            }
                            else{
                            $('div.oe_searchview').animate({
                                "top": "32px"
                            },"fast");
                            fullscreen_toggle.search=1;
                            }
                        $("div.oe_searchview").animate({
                            opacity: '1',
                            }, "fast");
                       
                    }
                }
            }
            if (d == 68) {
                event.preventDefault();
                
                if(fullscreen_toggle.fullscreen_toggle)
                {
                $('div.oe_searchview').animate({
                    "top": "-32px"
                },"fast");
                fullscreen_toggle.search=0;
                }
                else{
                    $('div.oe_searchview').animate({
                        "top": "0px"
                    },"fast");
                    fullscreen_toggle.search=0;    
                }
            }
            
            if (d == 76) {

                event.preventDefault();
                var x = document.getElementsByTagName('a');
                for (i = 0; i < x.length; i++) {
                    y = x[i];
                    if (y.className == "oe_vm_switch_list") {
                        y.click();
                    }
                }
            }

            if (d == 27) {

                event.preventDefault();
                var x = document.getElementsByTagName('a');
                for (i = 0; i < x.length; i++) {
                    y = x[i];
                    if (y.className == "oe_bold oe_form_button_cancel" && $(y).is(':visible')) {
                        y.click();
                    }
                }

            }

            if (d == 186 | d == 59) {

                event.preventDefault();
                var x = document.getElementsByTagName('a');
                for (i = 0; i < x.length; i++) {
                    y = x[i];
                    if (y.className == "oe_vm_switch_form") {
                        y.click();
                    }
                }

            }

            if (d == 32) {

                event.preventDefault();
                var x = document.getElementsByTagName('button');
                for (i = 0; i < x.length; i++) {
                    y = x[i];
                    if ((y.className == "oe_button oe_list_add oe_highlight" | y.className == "oe_kanban_button_new oe_highlight" | y.className == "oe_button oe_form_button_create") && $(y).is(':visible')) {
                        y.click();
                    }

                }

            }
           
            if (d == 187) {

                event.preventDefault();
                var x = document.getElementsByTagName('button');
                for (i = 0; i < x.length; i++) {
                    y = x[i];
                    alert(d);
                    if (y.className == "oe_button oe_form_button_edit") {
                        //y.click();
                    }
                }
            }
            if (d == 69) {

                event.preventDefault();
                var x = document.getElementsByTagName('button');
                for (i = 0; i < x.length; i++) {
                    y = x[i];
                    if (y.className == "oe_button oe_form_button_edit") {
                        y.click();
                    }
                }
            }

            if (d == 40) {

                event.preventDefault();
                var x = document.getElementsByTagName('span');
                for (i = 0; i < x.length; i++) {
                    y = x[i];
                    if (y.className == "ui-icon ui-icon-triangle-1-e") {
                        y.click();
                    }
                }
            }

            if (d == 38) {

                event.preventDefault();
                var x = document.getElementsByTagName('span');
                for (i = 0; i < x.length; i++) {
                    y = x[i];
                    if (y.className == "ui-icon ui-icon-triangle-1-s") {
                        y.click();
                    }
                }
            }

//            if (d == 80) {
                
//                $('.oe_leftbar').remove();
//                $('colgroup').remove();
//                $('.oe_topbar').remove();
//                $('.oe_loading').remove();
//                $('tfoot').remove();
//                $('ul').remove();
//                $('.oe_notification.ui-notify').remove();
//                $('.oe_view_manager_view_kanban').remove();
//                $('tr.oe_header_row:eq(1)').remove();
//                $('.oe_view_manager_view_search').remove();
//                var _elementClone = $(".oe_view_manager.oe_view_manager_current").clone();
//                $(".oe_view_manager.oe_view_manager_current").remove();
//                $("body").prepend(_elementClone);
//                $("table.oe_webclient").removeClass();
//                $("td.oe_application").removeClass();
//            }
            
            if (d == 80) {


                event.preventDefault();
                var x = document.getElementsByTagName('div');
                var list = 0;
        var form = 0;
        var check = 0;
        $('.oe_form_sheet').each(function() {
                    if ($(this).parents('div:hidden').length == 0) {
                        form=1;
                    }
            else {
            form=0;
            check = 0    
            }
                });
        $('.oe_view_manager_view_graph').each(function() {
                    if ($(this).parents('div:hidden').length == 0) {
                        form=1;
                    }
            else {
            form=0;
            check = 0    
            }
                });
        $('.oe_list_content').each(function() {
                    if ($(this).parents('div:hidden').length == 0) {
                        list=1;
                    }
                });
                for (i = 0; i < x.length; i++) {
                    y = x[i];
                    if ((y.className == "oe_form_sheet oe_form_sheet_width" | y.className == "oe_semantic_html_override editor-render oe_view") & form==1) {
            if ($(y).parents('div:hidden').length == 0) {
                            check=1;
                            }
            else continue;
            
            var logo_url =  $('a.oe_logo').children("img").attr("src");
            var add_img = '<img src="'+logo_url+'" class="sheet_logo"/>'
            var graph_img = '<img src="'+logo_url+'" style="padding:10px;padding-bottom:0px" class="sheet_logo"/>'
            var hr='<hr class="sheet_logo" style="border: 2;width: 100%;margin-bottom:25px"/>'
            $('.oe_form_sheet').prepend(hr);
            $('.oe_form_sheet').prepend(add_img);
            $('.oe_semantic_html_override.editor-render.oe_view').prepend(hr);
            $('.oe_semantic_html_override.editor-render.oe_view').prepend(graph_img);
                        html2canvas(y, {
                            onrendered: function(canvas) {
                                myWindow = window.open('', '', 'width='+window.innerWidth+',height='+window.innerHeight);
                                var strDataURI = canvas.toDataURL();
                                var link = document.createElement("img");
                                link.setAttribute("src", strDataURI);
                                link.setAttribute("id", "embedImage");
                                var linkText = document.createTextNode("Click me");
                                link.appendChild(linkText);

                                var openerp_img = document.createElement("img");
                                openerp_img.setAttribute("class", "open");
                                openerp_img.setAttribute("src", logo_url);
                                var openerp_imgText = document.createTextNode("Click me");
                                openerp_img.appendChild(openerp_imgText);

                                var css = document.createElement("style");
                                var cssText = document.createTextNode(".css3button {margin-left:37%;margin-top:2%;font-family: Arial, Helvetica, sans-serif;font-weight:700;font-size: 14px;color: #c2c0c2;padding: 10px 20px;background: -moz-linear-gradient(top,#302e30 0%,#000000);background: -webkit-gradient(linear, left top, left bottom, from(#302e30),to(#000000));-moz-border-radius: 1px;-webkit-border-radius: 1px;border-radius: 1px;border: 1px solid #000000;-moz-box-shadow:0px 1px 3px rgba(000,000,000,0.5),inset 0px 0px 1px rgba(255,255,255,0.6);-webkit-box-shadow:0px 1px 3px rgba(000,000,000,0.5),inset 0px 0px 1px rgba(255,255,255,0.6);box-shadow:0px 1px 3px rgba(000,000,000,0.5),inset 0px 0px 1px rgba(255,255,255,0.6);text-shadow:0px -1px 0px rgba(000,000,000,1),0px 1px 0px rgba(184,180,184,0.2);}body{background-color:#252525;}img{margin-left:10%;margin-top:2%;}.open{margin-left:35%;margin-top:1%;}");
                                css.appendChild(cssText);

                                var input = document.createElement("input");
                                var inputText = document.createTextNode("a");
                                input.appendChild(inputText);
                                input.setAttribute("id", "saveImage");
                                input.setAttribute("onclick", "download()");
                                input.setAttribute("type", "button");
                                input.setAttribute("class", "css3button");
                                input.setAttribute("value", "Download Png");

                                var jscript = document.createElement("script");
                                jscript.setAttribute("type", "text/javascript");
                                var jscriptText = document.createTextNode("function download(){var img = document.getElementById('embedImage');var button = document.getElementById('saveImage');window.location.href = img.src.replace('image/png', 'image/octet-stream');}");
                                jscript.appendChild(jscriptText);

                                myWindow.document.head.appendChild(css);
                                myWindow.document.head.appendChild(jscript);
                                //myWindow.document.body.appendChild(canvas);
                                myWindow.document.body.appendChild(openerp_img);
                                myWindow.document.body.appendChild(link);
                                myWindow.document.body.appendChild(input);
                                myWindow.focus();
                                $(".sheet_logo").remove();
                            }
                        });

                    }
                }

                if (list == 1 & check==0) {
                    var x = document.getElementsByTagName('table');
                    for (i = 0; i < x.length; i++) {
                        y = x[i];
                        if (y.className == "oe_list_content") {
            if ($(y).parents('div:hidden').length == 0) {
                            
                            }
            else continue;
            var logo_url =  $('a.oe_logo').children("img").attr("src");
                            html2canvas(y, {
                                onrendered: function(canvas) {
                                    myWindow = window.open('', '', 'width=950,height=680');
                                    var strDataURI = canvas.toDataURL();

                                    var link = document.createElement("img");
                                    link.setAttribute("src", strDataURI);
                                    link.setAttribute("id", "embedImage");
                                    var linkText = document.createTextNode("Click me");
                                    link.appendChild(linkText);

                                    var openerp_img = document.createElement("img");
                                    openerp_img.setAttribute("class", "open");
                                    openerp_img.setAttribute("src", logo_url);
                                    var openerp_imgText = document.createTextNode("Click me");
                                    openerp_img.appendChild(openerp_imgText);

                                    var css = document.createElement("style");
                                    var cssText = document.createTextNode(".css3button {margin-left:37%;margin-top:2%;font-family: Arial, Helvetica, sans-serif;font-weight:700;font-size: 14px;color: #c2c0c2;padding: 10px 20px;background: -moz-linear-gradient(top,#302e30 0%,#000000);background: -webkit-gradient(linear, left top, left bottom, from(#302e30),to(#000000));-moz-border-radius: 1px;-webkit-border-radius: 1px;border-radius: 1px;border: 1px solid #000000;-moz-box-shadow:0px 1px 3px rgba(000,000,000,0.5),inset 0px 0px 1px rgba(255,255,255,0.6);-webkit-box-shadow:0px 1px 3px rgba(000,000,000,0.5),inset 0px 0px 1px rgba(255,255,255,0.6);box-shadow:0px 1px 3px rgba(000,000,000,0.5),inset 0px 0px 1px rgba(255,255,255,0.6);text-shadow:0px -1px 0px rgba(000,000,000,1),0px 1px 0px rgba(184,180,184,0.2);}body{background-color:#252525;}img{margin-left:10%;margin-top:2%;}.open{margin-left:35%;margin-top:1%;}");
                                    css.appendChild(cssText);

                                    var input = document.createElement("input");
                                    var inputText = document.createTextNode("a");
                                    input.appendChild(inputText);
                                    input.setAttribute("id", "saveImage");
                                    input.setAttribute("onclick", "download()");
                                    input.setAttribute("type", "button");
                                    input.setAttribute("class", "css3button");
                                    input.setAttribute("value", "Download Png");

                                    var jscript = document.createElement("script");
                                    jscript.setAttribute("type", "text/javascript");
                                    var jscriptText = document.createTextNode("function download(){var img = document.getElementById('embedImage');var button = document.getElementById('saveImage');window.location.href = img.src.replace('image/png', 'image/octet-stream');}");
                                    jscript.appendChild(jscriptText);

                                    myWindow.document.head.appendChild(css);
                                    myWindow.document.head.appendChild(jscript);
                                    //myWindow.document.body.appendChild(canvas);
                                    myWindow.document.body.appendChild(openerp_img);
                                    myWindow.document.body.appendChild(link);
                                    myWindow.document.body.appendChild(input);
                                    myWindow.focus();

                                }
                            });
                        }
                    }
                }

            }

            if (d == 8) {

                event.preventDefault();
                var x = document.getElementsByTagName('a');
                f_list = []
                    for (i = 0; i < x.length; i++) {
                    y = x[i];
                    if (y.className == "oe_breadcrumb_item") {
                        f_list.push(y);
                    }

                }
                x = f_list.pop();
                if (x) {
                    x.click();
                }
            }
            if (d == 122) {

                event.preventDefault();
                var x = document.getElementsByTagName('div');
                f_list = []
                    for (i = 0; i < x.length; i++) {
                    y = x[i];
                    if (y.className == "fullscreen") {
                        y.click();
                        if(fullscreen_toggle.search==0)
                            {
                            $('div.oe_searchview').delay(500).animate({
                                "top": "-32px"
                            },"fast");
                            
                            }
                    }

                }

            }

            if (!fullscreen_toggle.fullscreen_toggle) {
                if (d == 49 | d == 50 | d == 51 | d == 52 | d == 53 | d == 54 | d == 55 | d == 56 | d == 57) {

                    event.preventDefault();
                    n = d - 48;
                    var x = document.getElementsByTagName('a');
                    for (i = 0; i < x.length; i++) {
                        y = x[i];
                        if (y.className == "oe_menu_toggler") {
                            if (n == i + 1) {
                                y.click();
                            }
                        }

                    }
                }
            }

            if (d == 188) {
                event.preventDefault();
                $('.oe_i[data-pager-action="previous"]').each(function() {
                    if ($(this).parents('div:hidden').length == 0) {
                        $(this).trigger('click');
                    }
                });
            }
            if (d == 190) {
                event.preventDefault();
                $('.oe_i[data-pager-action="next"]').each(function() {
                    if ($(this).parents('div:hidden').length == 0) {
                        $(this).trigger('click');
                    }
                });
            }

        }

        if (d == 192) {
            if (event.ctrlKey == 1) {
                event.preventDefault();
                $("div ul li a.oe_menu_leaf:visible:first").focus();
            }

        }

        if (d == 40) {
            for (i = 0; i < $("div ul li a.oe_menu_leaf:visible").length; i++) {
                if ($("div ul li a.oe_menu_leaf:visible:eq(" + i + ")").is(":focus")) {
                    event.preventDefault();
                    var flg = i + 1;
                    $("div ul li a.oe_menu_leaf:visible:eq(" + flg + ")").focus();
                    break;
                }

            }
        }
        if (d == 38) {
            var flg = 0;
            for (i = 0; i < $("div ul li a.oe_menu_leaf:visible").length; i++) {
                if ($("div ul li a.oe_menu_leaf:visible:eq(" + i + ")").is(":focus")) {
                    event.preventDefault();
                    var flg = i - 1;
                    $("div ul li a.oe_menu_leaf:visible:eq(" + flg + ")").focus();
                    break;
                }

            }
        }

        if (event.ctrlKey != 1) {
            if (d == 27) {
                event.preventDefault();
                var x = document.getElementsByTagName('div');
                f_list = []
                    for (i = 0; i < x.length; i++) {
                    y = x[i];
                    if (y.className == "fullscreentrue") {
                        y.click();
                        if(fullscreen_toggle.search==0)
                        {
                            $('div.oe_searchview').delay(500).animate({
                                "top": "0px"
                            },"fast");
                        
                        }
                    }

                }

            }
        }

    });
});
/*
 * end  web_keyborad_shortcuts  by shaneeb 3
 */
};

and upgrade web_shortcuts module

1
อวตาร
ละทิ้ง
สนุกกับการพูดคุยนี้ใช่ไหม? เข้าร่วมเลย!

สร้างบัญชีวันนี้เพื่อเพลิดเพลินไปกับฟีเจอร์พิเศษและมีส่วนร่วมกับคอมมูนิตี้ที่ยอดเยี่ยมของเรา!

ลงชื่อ
คอมมูนิตี้
  • บทเรียน
  • เอกสารกำกับโปรแกรม
  • ฟอรั่ม
โอเพนซอร์ส
  • ดาวน์โหลด
  • Github
  • Runbot
  • การแปล
บริการ
  • โฮสติ้ง odoo.sh เซิร์ฟเวอร์
  • การสนับสนุน
  • อัปเกรด
  • การพัฒนาที่กำหนดเอง
  • การศึกษา
  • ค้นหานักบัญชี
  • ค้นหาพาร์ทเนอร์
  • ร่วมเป็นพาร์ทเนอร์
เกี่ยวกับเรา
  • บริษัทของเรา
  • ทรัพย์สินในรูปของเครื่องหมายการค้า
  • ติดต่อเรา
  • งาน
  • ระบบการจัดงานอีเวนต์
  • พอดแคสต์
  • บล็อก
  • ลูกค้า
  • กฎหมาย • ความเป็นส่วนตัว
  • ความปลอดภัย
الْعَرَبيّة Català 简体中文 繁體中文 (台灣) Čeština Dansk Nederlands English Suomi Français Deutsch हिंदी Bahasa Indonesia Italiano 日本語 한국어 (KR) Lietuvių kalba Język polski Português (BR) română русский язык Slovenský jazyk slovenščina Español (América Latina) Español ภาษาไทย Türkçe українська Tiếng Việt

Odoo เป็นชุดแอปธุรกิจแบบเปิดที่ครอบคลุมทุกความต้องการของบริษัทของคุณ อาธิ CRM eCommerce ระบบบัญชี ระบบสินค้าคงคลัง ระบบการขายหน้าร้าน โปรเจกต์ และ อีกมากมาย

ความเหนือกว่าอันเป็นเอกลักษณ์ของ Odoo คือการใช้งานที่ง่ายดายและผสานการทำงานอย่างสมบูรณ์แบบในเวลาเดียวกัน

Website made with

Odoo Experience on YouTube

1. Use the live chat to ask your questions.
2. The operator answers within a few minutes.

Live support on Youtube
Watch now