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 4
  2. Scriptler

Stok Sayım

Stok Sayım Script

const awaitIf = async (fn, ms = 100) => {
  await new Promise(async (resolve, reject) => {
    let result = false;
    try {
      result = fn();
    } catch (e) {
      console.error(e);
    }

    if (result) {
      resolve(true);
    } else {
      await rxjs.timer(ms).toPromise();
      resolve(await awaitIf(fn));
    }
  });
};
(async () => {
    console.log('StockLow başlangıç1', this);
    this.recordService.formGroup.controls.CUSTOMSTOREID.disable();
  await awaitIf(
    () =>
      this.recordService.grids['stock-count-detail']?.grid?.agGrid?.api &&
      this.recordService.grids['stock-count-detail'].grid?.agGridReady
  );
  this.recordService.formGroup.controls.CUSTOMSTOREID.enable();
  this.recordService.formGroup.controls.CUSTOMSTOREID.valueChanges.subscribe(
    (store) => {
      let filterModels = this.recordService.grids[
        'stock-count-detail'
      ].grid.agGrid.api.getFilterModel();
      if (store > 0) {
        filterModels.STOREID = {
          filter: +store,
          filterTo: null,
          filterType: 'number',
          type: 'equals',
        };
        this.recordService.grids[
          'stock-count-detail'
        ].grid.agGrid.api.setFilterModel(filterModels);
      } else {
        delete filterModels.STOREID;
        this.recordService.grids[
          'stock-count-detail'
        ].grid.agGrid.api.setFilterModel(filterModels);
      }
    }
  );
  console.log('StockLow üzerinde', this);
  if (angus.permissionService.isAuthorized(['StockLow'])) {
    console.log('StockLow içinde', this);
    debugger;
    this.recordService.children.P2.component.tabGroupService.children[1].componentRef.instance.hide = true; //alt gruptaki indirimler tabının gizlenmesi
    this.recordService.children.P2.component.updateTabs();

    let defs = this.recordService.grids[
      'stock-count-detail'
    ]?.grid.agGrid.columnApi
      .getAllColumns()
      .map((col) => col.getColDef(
        ));
    defs = defs.filter((x) => x.field != 'BALANCE_AMOUNT');
    defs = defs.filter((x) => x.field != 'AVG_UNITPRICE');
    defs = defs.filter((x) => x.field != 'DIFFERENCE_AMOUNT2');

    this.recordService.grids[
      'stock-count-detail'
    ]?.grid.agGrid.api.setColumnDefs([]);
    setTimeout(() => {
      this.recordService.grids[
        'stock-count-detail'
      ]?.grid.agGrid.api.setColumnDefs(defs);
    }, 10);
  }
})();
const recordClass = '.ang-record-' + this.recordService.component.recordID;
this.recordService.formGroup.controls.ID.valueChanges
  .pipe(rxjs.startWith(this.recordService.formGroup.controls.ID.value))
  .subscribe((v) => {
    if (v) {
      this.recordService.formGroup.controls.BRANCHID_NAME.disable();
    } else {
      this.recordService.formGroup.controls.BRANCHID_NAME.enable();
    }
  });

this.recordService.formGroup.controls.STATEID.valueChanges
  .pipe(rxjs.startWith(this.recordService.formGroup.controls.STATEID.value))
  .subscribe((v) => {
    if (v == 255) {
      document.querySelector(recordClass + ' #calculate').disabled = true;
      document.querySelector(recordClass + ' #stockCount').disabled = true;
      this.allGrids[
        'stock-count-details-excel'
      ].grid.config.buttons.addButton = false;
      this.allGrids[
        'stock-count-details-excel'
      ].grid.config.buttons.deleteButton = false;

      console.log('asd', document.querySelector(recordClass + ' #stockCount'));

      
    } else {
      document.querySelector(recordClass + ' #calculate').disabled = false;
      document.querySelector(recordClass + ' #stockCount').disabled = false;
      this.allGrids[
        'stock-count-details-excel'
      ].grid.config.buttons.addButton = true;
      this.allGrids[
        'stock-count-details-excel'
      ].grid.config.buttons.deleteButton = true;
      
      console.log(
        'elseasd',
        document.querySelector(recordClass + ' #stockCount')
      );
    }
  });


setTimeout(() => {
  this.recordService.formGroup.controls.STATEID.valueChanges
    .pipe(rxjs.startWith(this.recordService.formGroup.controls.STATEID.value))
    .subscribe((x) => {
      Object.values(this.recordService.component.allGrids).forEach(
        (gridContainer) => {
          const grid = gridContainer.grid;
          if (x == 255) {
            grid.buttonsForTemplate.addButton = false;
            grid.buttonsForTemplate.deleteButton = false;
            grid.buttonsForTemplate.editButton = false;
            grid.buttonsForTemplate.saveButton = false;
            grid.agGrid.defaultColDef.editable = false;
            const defs = grid.agGrid.columnApi
              .getAllColumns()
              .map((col) => col.getColDef());
            for (const def of defs) {
              def.editable = false;
            }
            grid.agGrid.api.setColumnDefs([]);
            setTimeout(() => {
              grid.agGrid.api.setColumnDefs(defs);
            }, 10);
          } else {
            const o = grid.permissions.processObj(grid.config.buttons);
            grid.buttonsForTemplate.addButton = o.addButton;
            grid.buttonsForTemplate.deleteButton = o.deleteButton;
            grid.buttonsForTemplate.editButton = o.editButton;
            grid.buttonsForTemplate.saveButton = o.saveButton;
            grid.agGrid.defaultColDef.editable = true;
            const defs = grid.agGrid.columnApi
              .getAllColumns()
              .map((col) => col.getColDef());
            for (const def of defs) {
              def.editable = true;
            }
            grid.agGrid.api.setColumnDefs([]);
            setTimeout(() => {
              grid.agGrid.api.setColumnDefs(defs);
            }, 10);
          }
        }
      );
    });
}, 2000);
PreviousÜretim EmriNextStok Sayım BeforeSave Script

Last updated 3 years ago