Forum pembahasan modul Browser
harisby
 
Posts: 24
Joined: 29 Sep 2015 15:59

Cara Implement Multi CC dan Multi Warehouse?

by harisby 03 Dec 2015 14:25

Terdapat 3 company (3 CC): A, B, C
Tiap company mempunyai multi warehouse:
A: Surabaya, Jogja
B: Jakarta, Bandung, Lampung
C: Denpasar

Diinginkan ada 2 group user:
1. Group yang boleh mengakses data semua company/warehouse (Misal: user General, Accounting)

2. Group yang hanya mengakses data satu company - satu warehouse saja (Misal: user Warehouse)
- Untuk user ini, semua tampilan browser akan di-filter sesuai dgn warehouse-nya
- Saat user ini create new document, otomatis header table terisi cc_id & ware_id


Implementasi saat ini:
1. Saat login, user input user, password & memilih di combobox akan bekerja di CC yg mana.
Graylite telah menyediakan variable global ::_CCID::

2. Di setiap browser, selalu ada filter SELECT ... WHERE cc_id = ::_CCID::
Problem: user gudang Jakarta bisa melihat data gudang Bandung, karena cc_id-nya sama!

3. Default cc_id & ware_id tersimpan di table system.[User.Management]

4. Setiap header table ditambahkan column LoginName.
Saat SAVE, cc_id otomatis berisi ::_CCID::
Saat update docflow_seq = 1, otomatis update ware_id sesuai default di table system.[User.Management]


Apakah implementasi ini sudah benar?
Apakah perlu variable global ::_WAREID:: untuk filter browser?
Bagaimana dengan user General/Accounting? Karena semua browser sudah di-filter berdasarkan CC sesuai login, user ini tidak bisa mengakses data company lain.
User avatar
loeischandra
 
Posts: 18
Joined: 23 Feb 2015 17:04

Re: Cara Implement Multi CC dan Multi Warehouse?

by loeischandra 03 Dec 2015 18:19

harisby wrote:2. Di setiap browser, selalu ada filter SELECT ... WHERE cc_id = ::_CCID::
Problem: user gudang Jakarta bisa melihat data gudang Bandung, karena cc_id-nya sama!


Di browser query : misal browser Sales Order ditambahkan ware_id yang diambil dari user management bagaimana?

Code: Select all
select doc_id, doc_no
from sales.[order.header]
where cc_id = ::_CCID:: and
ware_id = (select ware_id from system.[user.management] where user_id = ::_USERID::)


Yang problem ke-4 saya pikirkan dulu.
Return to Browser

Who is online

Users browsing this forum: No registered users and 1 guest