Angus Wiki
  • Group 1
    • Angus Wiki
    • Control Types
      • Text
      • Textarea
      • Password
      • Spacer
      • Integer
      • Double
      • Double4
      • Double5
      • Date
      • Daterange
      • Time
      • Datetime
      • Select
      • Anglookup
      • Boolean
      • Button
      • Filter
      • Radio
      • Multiselect
      • Dbimage
      • Image
      • Html
      • Chart
      • Widget
      • Autocomplete
      • Chip
      • Phoneinput
    • General type
    • Toolbar
    • Menu
    • Grid
    • Grid Filter Panel
    • Page
    • Analysis
    • OptionRecord
    • Record
      • Recordlarda Fuzzy Search Kullanımı
      • Recordlara Panel Ekleme
      • Record Butonlarına da Rol Verilebilir
    • Record scripti
    • Butonda Script Kullanımı
    • Buton ve row actiondan gridfilter veri gönderme
    • Combine Latest
    • Sp ye istek atıp dönen id bir tane ise record fazla ise grid açan buton scripti
  • Group 3
    • Angus Lokal Kurulum Linux
    • İlk kurulum
    • Kubernetes Dashboard
  • Group 2
    • Angus Lokal Kurulum Windows
    • Gerekli Uygulamalar
      • Ubuntu Kurulumu
      • WSL Kurulumu
      • Docker Kurulumu
      • Kubernetes Kurulumu
      • Microsoft SQL Kurulumu
    • Kubernetes Ayarları
    • Sistemin Çalıştırılması
  • Group 4
    • Scriptler
      • Rezervasyon Kartı
      • Rezervasyon Kartı BeforeSave Script
      • Rezervasyon Kartı BeforeClone Script
      • Fatura
      • Fatura BeforeSave Script
      • Fatura Before Print Script Editor
      • Satış Projeleri
      • Satış Projeleri BeforeSave Script
      • Kapalı Oda İşlemleri
      • Kayıp Bulunan Listesi
      • İş Kaydı
      • İş Kaydı BeforeSave Script
      • Hesap Kartı
      • Stok Fiyat Anlaşması
      • Proforma Fatura Listesi
      • Fatura BeforeSave Script
      • Fiş
      • Fiş BeforeSave Script
      • Fiş AfterSave Script
      • Fiş Before Print Script
      • Fiş BeforeClone Script
      • Ödeme Emri
      • Ödeme Emri BeforeSave Script
      • Çek/Senet
      • Banka Ekstresi Oku BeforeSave Script
      • Hesap Mutabakatı
      • Babs Mutabakat
      • Kur Değerleme
      • Kur Değerleme(Toplu Döviz)
      • Yaşlandırma Analizi
      • Seyahat Acentası
      • Fiyat Kodu
      • Kontrat Detay
      • Entegrasyon Bağlantı Tanımları
      • Stok İrsaliye
      • Stok İrsaliye BeforeSave Script
      • Stok Fişi
      • Stok Fişi BeforeSave Script
      • Talep
      • Talep BeforeSave Script
      • Üretim Emri
      • Stok Sayım
      • Stok Sayım BeforeSave Script
      • Tüketim Fişleri
      • Adisyon Before Save Script
      • Stok Fiyat Anlaşması
      • Stok Fiyat Anlaşması BeforeSave Script
      • Misafir Kartı
      • Yeni Talep
      • Yeni Talep BeforeSave Script
      • Yeni Talep AfterSave Script
      • Çağrı Merkezi Kaydı
      • Çağrı Merkezi Kaydı AfterSave Script
      • Üyelik
      • Ödeme Linki
      • Doluluk Grafikleri
      • Dağılım Analizi
      • Park Giriş BeforeClone Script
      • Park Giriş
      • Park Rezervasyonu
      • Park Rezervasyonu BeforeSave Script
      • Park Rezervasyonu BeforeClone Script
      • Seyahat Acentası
      • Kullanıcı Bilgileri
      • Kullanıcı Bilgileri BeforeSave Script
      • Medikal Rezervasyon Kartı
      • Medikal BeforeSave Script
      • Medikal BeforeClone Script
      • Ödeme Linki
      • Ödeme Linki BeforeSave Script
  • Group 5
    • IP Santral Entegrasyonu
    • Ip Santral Sistemi
    • File Transfer Service
    • IP Santral Engtegrasyonu Angus Kullanımı
  • Response Header'larındaki Alanlar ve Anlamları
Powered by GitBook
On this page
  1. Group 1
  2. Control Types

Button

PreviousBooleanNextFilter

Last updated 3 years ago

Button

controlType button olduğunda tıklandığında yapılabilecek işlemin scripti yazılabillir. Rowaction eklenebilir.

Record İçinde Kullanımı:

     {
              "id": "BarcodeBtn",
              "xSpan": 1,
              "controlType": "button",
              "buttonType": "icon",
              "label": "Barcode Read",
              "svgIcon": "barcode-scan",
              "disabled": false,
              "color": "accent",
              "rowAction": {
                "requirements": [],
                "name": "",
                "icon": "",
                "startupMsg": "Are you sure?",
                "successMsg": "Succsessfully.",
                "failMsg": "Failed!",
                "queue": [
                  {
                    "name": "script",
                    "script": "(async () => {\n  try {\n    let data = this.parent.recordService.formGroup.getRawValue();\n    let insertGrid = this.parent.recordService.grids['insert-quick-invoice']\n      .grid;\n\n    console.log(data.TEXT_BARCODE.length, 'data.TEXT_BARCODE.lenght');\n    let scaleBarcode = 0;\n    let barcodQuantity = 0;\n    if (\n      (data.TEXT_BARCODE.length == 12 || data.TEXT_BARCODE.length == 13) &&\n      data.TEXT_BARCODE.startsWith(28)\n    ) {\n      scaleBarcode = 1;\n    }\n    const newStock = await angus.api\n      .select({\n        Object: 'QA_STOCK_STOCKBARCODE',\n        Select: [\n          'BARCODE',\n          'STOCKID',\n          'STOCKNAME',\n          'QUANTITY',\n          'UNITNAME',\n          'VAT',\n          'UNITPRICE',\n        ],\n        Where: [\n          {\n            Column: 'BARCODE',\n            Operator: '=',\n            Value: scaleBarcode\n              ? data.TEXT_BARCODE.substring(0, 7)\n              : data.TEXT_BARCODE,\n          },\n        ],\n        Paging: {\n          Current: 1,\n          ItemsPerPage: 1,\n        },\n      })\n      .then((resp) => {\n        return resp.ResultSets?.[0]?.[0];\n      });\n    console.log('newStock', newStock);\n\n    if (!newStock) {\n      let msg = angus.languageService.staticTranslator.translate(\n        'Barcode not found. Would you like to assign this barcode?'\n      );\n      let confirmResp = await this.parent.recordService.component.angusDialog\n        .confirm(msg)\n        .toPromise();\n      if (confirmResp) {\n        const newRecordData = await this.parent.recordService.component.popupService\n          .openRecord(\n            'quick-invoice-add-stock-for-barcode',\n            null,\n            {\n              BARCODE: data.TEXT_BARCODE,\n            },\n            null,\n            'full'\n          )\n          .afterClosed()\n          .toPromise();\n        console.log('newRecordData', newRecordData);\n      }\n      this.parent.recordService.formGroup.controls.TEXT_BARCODE.setValue(null);\n      return;\n    }\n    let updated = false;\n    insertGrid.agGrid.api.forEachNode((insertRowNode) => {\n      if (!updated && newStock.STOCKNAME === insertRowNode.data.STOCKID_NAME) {\n        barcodQuantity = parseInt(data.TEXT_BARCODE.substr(7, 5)) / 1000;\n        console.log('barcodQuantity', barcodQuantity);\n        debugger;\n        if (scaleBarcode) {\n          insertGrid.changeCellValue(\n            insertRowNode,\n            'InvoicedQuantity_Value',\n            (insertRowNode.data.InvoicedQuantity_Value || 0) + barcodQuantity\n          );\n        } else {\n          insertGrid.changeCellValue(\n            insertRowNode,\n            'InvoicedQuantity_Value',\n            (insertRowNode.data.InvoicedQuantity_Value || 0) + 1\n          );\n        }\n        insertRowNode.setData(insertRowNode.data);\n        insertGrid._qty(insertRowNode);\n        this.parent.recordService.formGroup.controls.TEXT_BARCODE.setValue(\n          null\n        );\n        updated = true;\n      }\n    });\n  //stok ilk okutulduğunda çalışacak kod\n    if (!updated) {\n      let node = insertGrid.addNewRow();\n      insertGrid.changeCellValue(node, 'STOCKID', newStock.STOCKID);\n      insertGrid.changeCellValue(node, 'STOCKID_NAME', newStock.STOCKNAME);\n      insertGrid.changeCellValue(node, 'STOCKID_UNITNAME', newStock.UNITNAME);\n      insertGrid.changeCellValue(node, 'UNITPRICE', newStock.UNITPRICE);\n      insertGrid.changeCellValue(\n        node,\n        'EXCLUDEVATUNITPRICE',\n        newStock.UNITPRICE / (1 + newStock.VAT / 100)\n      );\n\n      barcodQuantity = parseInt(data.TEXT_BARCODE.substr(7, 5)) / 1000;\n      debugger;\n      console.log(barcodQuantity, 'aaaaa');\n      if (scaleBarcode) {\n        insertGrid.changeCellValue(\n          node,\n          'InvoicedQuantity_Value',\n          barcodQuantity\n        );\n      } else {\n        insertGrid.changeCellValue(node, 'InvoicedQuantity_Value', 1);\n      }\n      insertGrid.changeCellValue(node, 'TaxPercent', newStock.VAT);\n      node.setData(node.data);\n      insertGrid._qty(node);\n      this.parent.recordService.formGroup.controls.TEXT_BARCODE.setValue(null);\n    }\n\n    scaleBarcode = 0;\n  } catch (e) {\n    this.parent.recordService.component.angusDialog.error(e);\n  }\n})();"
                  }
                ]
              }
            }