11 May 2008

The mysterious CRM Lookup (II)

4. Now, how can we set/filter the lookup content? Because CRM3 and CRM4 are so different in lookup, so the solution is different. Let’s see a common example: In the Account record, only show the account owned contacts in the Primary Contact (primarycontactid) lookup.

a. CRM 3.0


/* CRM 3.0: only show account owned contacts in the primarycontactid lookup : Form.onLoad() */
if (crmForm.FormType == 2 && crmForm.ObjectId != null)
{
crmForm.all.primarycontactid.lookupbrowse = 1;
crmForm.all.primarycontactid.additionalparams = "fetchXml="
+ "<fetch mapping='logical'><entity name='contact'><all-attributes /><filter>"
+ "<condition attribute='accountid' operator='eq' value='" + crmForm.ObjectId + "' />"
+ "</filter></entity></fetch>";
}


b. CRM 4.0

As far as I know, there are two unsupported ways to do that. Because we don't need a complicated fetchxml in this case, we so could use the first approach:

1. Customize Contact entity, open Contacts Lookup View, click 'Add Find Column', add the Parent Customer (parentcustomerid), save and publish it.
2. Customize Account entity, put the following code into Form.onLoad() :


/* CRM 4.0: only show account owned contacts in the primarycontactid lookup : Form.onLoad() */
if (crmForm.FormType == 2 && crmForm.ObjectId != null)
{
var name = crmForm.all.name.DataValue;
crmForm.all.primarycontactid.additionalparams = 'search=' + name;
}

It's a nice approach which used the 'search' feature of the CRM lookup. When this parameter is specified it defaults the search string in the lookup dialog and applies the search when the dialog is opened.


It's great, now let's change the requirement:
How about: Only show the Parent Account (parentaccountid) owned contacts in the Primary Contact (primarycontactid) lookup.

We still need to repeat step (1), and then in the step (2):


/* CRM 4.0: only show parent account owned contacts in the primarycontactid lookup: Form.onLoad() */
FilterLookup = function(source, target)
{
if (IsNull(source) IsNull(target)) { return; }
var name = IsNull(source.DataValue) ? '' : source.DataValue[0].name;
target.additionalparams = 'search=' + name;
}

Also, we need to put the following code into parentaccountid.onChange():


/* CRM 4.0: only show parent account owned contacts in the primarycontactid lookup : parentaccountid.onChange() */
FilterLookup(crmForm.all.parentaccountid, crmForm.all.primarycontactid);


It's great too, now how about we add another requirement on the above example:
The Primary Contact (primarycontactid) should be automatically selected when this contact is the primary contact of the selected Parent Account (parentaccountid).

Although we could do it through AJAX, we can also do it through CRM 4.0 lookup field automatic resolutions technique. Thanks for Adi Katz, let's start from begin:

(1) Turn off the Parent Account (parentaccountid) "automatic resolutions in field" feature by double click the field on the Form.
(2) Put the following codes in Account.onLoad():


function OnAfterAccountSelect()
{
var contactLookup = crmForm.all.primarycontactid;
if( contactLookup.DataValue != null ) {return;}

contactLookup.AutoResolve = 1;
var accountLookup = crmForm.all.parentaccountid;
primaryContact = accountLookup.items[0].keyValues.primarycontactid;

contactLookup.SetFocus();
contactDiv = document.all.primarycontactid_d.getElementsByTagName("DIV")[0];
contactDiv.innerText = primaryContact.value;
contactLookup.Lookup( true , true , primaryContact.value , true );
}

function OnCrmPageLoad()
{
crmForm.all.parentaccountid.attachEvent( "onafterselect" , OnAfterAccountSelect );
}

OnCrmPageLoad();


The second approach which can deal with some complicated conditions will be introduced in the next post. :)

43 comments:

Benjamin Rutledge said...

Is there a way to use this lookup filter technique to filter one lookup field based on a value selected in another?

Jim Wang said...

Yes, absolutely. Show me what you need.

Michal said...

This artical helped me alot. thanx.

I need to know if there is a way to use this to filter one loopup field based on a value selected in another- i have two objects - city and street that will be connected using city id.
according to the value chosen in city, i would like to filter the street lookup.

Kay said...

If the account name has some international characters this first approach will not work. In the Search field the name shows up with small squares instead of the international characters.

I cannot get the second approach working at all. I get all the accounts, not only the one's belonging to my parent customer. After this it throws me an error when I close the form.

Kay said...

Solved the first problem.

You need to use the encodeURIComponent(name) and then all characters will be transferred corectly to the Search box.

The second one I don't get working.

abipeter said...

Hi,
I have modified the system lookup in Oppurtunity to fetch only accounts and its working fine. However, i found that the new button is not working from the lookup browse window. any idea why its not working...

Thanks

abipeter said...

This is the Request URL:

http://crmserver/PITS/_controls/lookup/lookupsingle.aspx?class=BasicCustomer&objecttypes=1,2&browse=1&search= 'fetch mapping='logical'' 'entity name='account'' 'attribute name='accountnumber' ' 'attribute name='name' ' 'filter' 'condition attribute='new_managementpersonid' operator='not-null' ' 'condition attribute='new_userid' operator='not-null' ' '/filter' '/entity> 'fetch' &selObjects=1&findValue=0&ShowNewButton=1&ShowPropButton=1&DefaultType=0


the error was Invalid parameter 'selObjects=1' in Request.QueryString

please help me, since this lookup field fetch from contacts and accounts i changed it to fetch only accounts.

Nate said...

I love it. Thanks Jim!

Anonymous said...

I guess you cannot filter the lookup by date using second approach.

Marc said...

Jim,

In a Phone Call form, when a user selects the Contact (in the "From" field) we want to automatically populate the parentcustomer ('company') in another custom field.
Since i am new to CRM customization i was hoping you could show me how this is done.

. said...

酒店經紀PRETTY GIRL 台北酒店經紀人 ,禮服店 酒店兼差PRETTY GIRL酒店公關 酒店小姐 彩色爆米花酒店兼職,酒店工作 彩色爆米花酒店經紀, 酒店上班,酒店工作 PRETTY GIRL酒店喝酒酒店上班 彩色爆米花台北酒店酒店小姐 PRETTY GIRL酒店上班酒店打工PRETTY GIRL酒店打工酒店經紀 彩色爆米花

Thomas said...

Is it in any way possible to do this for a N:N relationship?

I've tried, but since there is no field for a N:N relationship to base its

Ross said...

Can this be used to select a lookup (say the parent account on the account form) and default in the primary contact from the parent account you have selected? I think it can but am unsure exactly how it would work... Thx

Juice said...

Hello, I have added the following script that filters the target options based on the relationship it has with the source attribute. Everything works fine except that I have danish characters in the source attribute that the target attribute doesn't recognize. That is I look up in the S lookup =Æl and then in the P lookup it shows=[]l any ideas?

Thanks,

Patrick


Script onload form:
document.FilterLookup = function(source, target)
{
if (IsNull(source) || IsNull(target)) { return; }

var name = IsNull(source.DataValue) ? '' : source.DataValue[0].name;

target.additionalparams = 'search=' + name;
}
and on change on the source attribute:
document.FilterLookup(crmForm.all.key_sid, crmForm.all.key_pid);

酒店上班請找艾葳 said...

艾葳酒店經紀公司提供專業的酒店經紀, 酒店上班小姐,八大行業,酒店兼職,傳播妹,或者想要打工兼差打工,兼差,八大行業,酒店兼職,想去酒店上班, 日式酒店,制服酒店,ktv酒店,禮服店,整天穿得水水漂漂的,還是想去制服店日領上班小姐,水水們如果想要擁有打工工作、晚上兼差工作兼差打工假日兼職兼職工作酒店兼差兼差打工兼差日領工作晚上兼差工作酒店工作酒店上班酒店打工兼職兼差兼差工作酒店上班等,想了解酒店相關工作特種行業內容,想兼職工作日領假日兼職兼差打工、或晚班兼職想擁有鋼琴酒吧又有保障的工作嗎???又可以現領請找專業又有保障的艾葳酒店經紀公司!

艾葳酒店經紀是合法的公司工作環境高雅時尚,無業績壓力,無脫秀無喝酒壓力,高層次會員制客源,工作輕鬆,可日領現領
一般的酒店經紀只會在水水們第一次上班和領薪水時出現而已,對水水們的上班安全一點保障都沒有!艾葳酒店經紀公司的水水們上班時全程媽咪作陪,不需擔心!只提供最優質的酒店上班,酒店上班,酒店打工環境、上班條件給水水們。心動嗎!? 趕快來填寫你的酒店上班履歷表

水水們妳有缺現領、有兼職缺錢便服店的煩腦嗎?想到日本留學缺錢嗎?妳是傳播妹??想要擁有高時薪又輕鬆的賺錢,酒店和,假日打工,假日兼職賺錢的機會嗎??想實現夢想卻又缺錢沒錢嗎!??
艾葳酒店台北酒店經紀招兵買馬!!徵專業的酒店打工,想要去酒店的水水,想要短期日領,酒店日領,禮服酒店,制服店,酒店經紀,ktv酒店,便服店,酒店工作,禮服店,酒店小姐,酒店經紀人,
等相關服務 幫您快速的實現您的夢想~!!

fiona said...

I want to filter out contacts in a lookup based on a customised field; i.e. my customised contact entity has a new_StaffID attribute and I want to only look up contacts where new_StaffID is not null. All the examples I see are about matching to a positive value; can this be done?

VIVEK said...

JIM,

All is well, but thereis one more senario. If i want to filter the lookup depending on two values then it is hard one. do u have any solution for this.

kenn said...

Hi, is it possible to filter on the subject lookup? It brings up the lookupsubject.aspx page instead of hte lookupsingle.aspx..

Jorn van Veelen said...

Hi Jim,

Great solution, but... it skips some special characters.
For example: Ä, Ö and Ü. So if the account name contains 'Käse', the lookup will be filtered on 'Kse'.

Do you know if there's a solution available for this? Thanks!

Aaron said...

Hi,

great solution. But it doest work if for example an account name has an "&" in it. Anyone who knows a fix for that?

Thanks in advanced

victorcampos30 said...

Hi, Jorn Van Veelen

target.additionalparams = 'search=' + encodeURIComponent(name);

This solve special charachter

See youu

marry said...

Blogs are so informative where we get lots of information on any topic. Nice job keep it up!!
_____________________________

International Finance Dissertation

Jij said...

Hello Jim
I have a problem here while trying to implement your approach. Would be great if you could give me a solution.
I have 'LKUP 1' based on which 'LKUP 2' has to be filtered. By using your approach, I am able to filter LKUP 2 based on LKUP 1. But the problem is that I dont want the user to be in a position to 'search' on the Lookup dialog. So I tried to add the condition, LKUP 2.lookupbrowse = 1. As a result, the lookup dialog does not display the Search option, but at the same time, the filtering does not happen, and I can see all LKUP 2 records instead of the filtered set. If I remove the above line of code, filtering starts to work again. Would you be able to give me some insights?

Thank You
Jij

Nathan said...

We have been using this method for quite some time on our Primary contact field on the account.

We have recently added a lot of accounts and contacts and we now have almost 500,000 contacts. The filtered lookup window now takes 20-50 seconds to return the contacts for that account. Is this still the best way to filter the contacts? Is there a faster way to do this?

Andy said...

Jim,

Did you ever come across this?

If you have a record with two spaces in its name, like some of the MS Sample data (i.e. "Blue Company (sample)", which is a sample account in CRM Online), using the below script to get the name of that record when it's the value for a lookup field will remove the extra space.

lookupItem[0].name = "Blue Company (sample)", not "Blue Company (sample)"

The extra space is gone.



Strange, huh? Is this by design? You can actually see that the actual name property of the lookup field which is displayed in the lookup (the blue link text) is also missing the extra space. As a matter of fact, you can put 10 spaces in the name field, but in lookups it will show up with only one space.

I guess it's for neatness, but it makes this filtered lookup code break.

Dissertation Writing service said...

This kind of information is very limited on internet. Nice to find the post related to my searching criteria. Your updated and informative post will be appreciated by blog

MBA Finance Dissertation writing

Albarada said...

i need to filter a lookup field related to contacts to show only the contacts with the type of sales person. Any ideas?
Thank you

ninad said...

I want to filter Existing Activity Lookup view on Cases, this scenario is different as i want those activities only which are related to the Customer of the case.

STH said...

Did anyone ever find a solution to Andy's comment about double spaces? We have the same problem.

Đào Quân said...

dich vu ke toan thue tron goi dích vu lam bao cao tai chinh tín
trung tâm đào tạo kế toán tại tphcm gia
khóa học kế toán thực hành re
công ty dịch vụ kế toán
dich vu ke toan thue tai bac ninh
dịch vụ kế toán trọn gói tại hà nội
dịch vụ kế toán tại tp.hcm
dịch vụ báo cáo thuế
dịch vụ quyết toán thuế uy
trung tâm đào tạo kế toán tại tphcm
trung tâm đào tạo kế toán tại cầu giấy tín
trung tâm đào tạo kế toán tại long biên
trung tâm đào tạo kế toán tại hà đông re
trung tâm kế toán tại thanh xuân
trung tâm kế toán tại bắc ninh
trung tâm kế toán tại bình dương
trung tâm kế toán tại hải phòng
dịch vụ quyết toán thuế tại quận bình thạnh
dịch vụ quyết toán thuế tại quận tân phú
dịch vụ quyết toán thuế tại quận 5
dịch vụ quyết toán thuế tại quận 3
dịch vụ quyết toán thuế tại tphcm
dịch vụ quyết toán thuế tại quận cầu giấy
dịch vụ quyết toán thuế tại quận long biên
dịch vụ quyết toán thuế tại quận hà đông
dịch vụ quyết toán thuế tại quận thanh xuân

Đào Quân said...

dịch vụ dọn dẹp sổ sách kế toán
dịch vụ dọn dẹp sổ sách kế toán tại thái bình
dịch vụ dọn dẹp sổ sách kế toán tại phú thọ
dịch vụ dọn dẹp sổ sách kế toán tại hưng yên
dịch vụ dọn dẹp sổ sách kế toán tại quận hải dương
dịch vụ dọn dẹp sổ sách kế toán tại hải phòng
dịch vụ dọn dẹp sổ sách kế toán tại quận thanh trì
dịch vụ dọn dẹp sổ sách kế toán tại quận hoàng mai
dịch vụ dọn dẹp sổ sách kế toán tại quận hai bà trưng
dịch vụ dọn dẹp sổ sách kế toán tại quận hoàn kiếm
dịch vụ dọn dẹp sổ sách kế toán tại quận từ liêm
dịch vụ dọn dẹp sổ sách kế toán tại quận ba đình
dịch vụ dọn dẹp sổ sách kế toán tại quận tây hồ
dịch vụ dọn dẹp sổ sách kế toán tại quận đống đa
dịch vụ dọn dẹp sổ sách kế toán tại bắc ninh
dịch vụ dọn dẹp sổ sách kế toán tại quận tphcm
dịch vụ dọn dẹp sổ sách kế toán tại quận cầu giấy
dịch vụ dọn dẹp sổ sách kế toán tại quận long biên
dịch vụ dọn dẹp sổ sách kế toán tại quận hà đông
dịch vụ dọn dẹp sổ sách kế toán tại quận thanh xuân
dịch vụ hoàn thuế gtgt

Đào Quân said...

dịch vụ báo cáo thuế tại tỉnh bình dương
dịch vụ báo cáo thuế tại quận bình thạnh
dịch vụ báo cáo thuế tại quận tân phú
dịch vụ báo cáo thuế tại quận 5
dịch vụ báo cáo thuế tại quận 3
dịch vụ báo cáo thuế tại tphcm
dịch vụ báo cáo thuế tại quận long biên
dịch vụ báo cáo thuế tại quận hà đông
dịch vụ báo cáo thuế tại quận thanh xuân
dịch vụ báo cáo thuế tại quận cầu giấy
dịch vụ báo cáo thuế tại gia lâm
dịch vụ báo cáo thuế tại đông anh
dịch vụ báo cáo thuế tại thanh trì
dịch vụ báo cáo thuế tại quận hoàng mai
dịch vụ báo cáo thuế tại quận hai bà trưng
dịch vụ báo cáo thuế tại quận từ liêm
dịch vụ báo cáo thuế tại quận hoàn kiếm
dịch vụ báo cáo thuế tại quận tây hồ
dịch vụ báo cáo thuế tại quận ba đình
dịch vụ báo cáo thuế tại quận đống đa

Đào Quân said...

dịch vụ làm báo cáo tài chính tại quận cầu giấy
dịch vụ làm báo cáo tài chính tại quận hai bà trưng
dịch vụ làm báo cáo tài chính tại quận ba đình
dịch vụ làm báo cáo tài chính tại thanh trì
dịch vụ làm báo cáo tài chính tại quận hoàng mai
dịch vụ làm báo cáo tài chính tại quận tây hồ
dịch vụ làm báo cáo tài chính tại quận đống đa
dịch vụ kế toán thuế tại quận cầu giấy
dịch vụ kế toán thuế tại quận thanh xuân
dịch vụ kế toán thuế tại bắc ninh
dịch vụ kế toán thuế tại quận hai bà trưng
dịch vụ kế toán thuế tại từ liêm
dịch vụ kế toán thuế tại hoàng mai
dịch vụ kế toán thuế tại ba đình
dịch vụ kế toán thuế tại thanh trì
dịch vụ kế toán thuế tại thái bình
công ty dịch vụ kế toán tại vĩnh phúc
công ty dịch vụ kế toán tại hưng yên
công ty dịch vụ kế toán tại phú thọ
công ty dịch vụ kế toán tại hải dương
công ty dịch vụ kế toán tại hải phòng
công ty dịch vụ kế toán tại bắc ninh
dịch vụ kế toán thuế tại vĩnh phúc
dịch vụ kế toán thuế tại hưng yên
dịch vụ kế toán thuế tại hải dương

Đào Quân said...

dịch vụ làm báo cáo tài chính tại huyện củ chi
dịch vụ làm báo cáo tài chính tại quận bình tân
dịch vụ làm báo cáo tài chính tại quân phú nhuận
dịch vụ làm báo cáo tài chính tại quận gò vấp
dịch vụ làm báo cáo tài chính tại quận thủ đức
dịch vụ làm báo cáo tài chính tại quận bình thạnh
dịch vụ làm báo cáo tài chính tại quận tân phú
dịch vụ làm báo cáo tài chính tại quận 12
dịch vụ làm báo cáo tài chính tại quận 11
dịch vụ làm báo cáo tài chính tại quận 10
dịch vụ làm báo cáo tài chính tại quận 9
dịch vụ làm báo cáo tài chính tại quận 8
dịch vụ làm báo cáo tài chính tại quận 7
dịch vụ làm báo cáo tài chính tại quận 6
dịch vụ làm báo cáo tài chính tại quận 5
dịch vụ làm báo cáo tài chính tại quận 4
dịch vụ làm báo cáo tài chính tại quận 3
dịch vụ làm báo cáo tài chính tại quận 2
dịch vụ làm báo cáo tài chính tại quận 1

Đào Quân said...

lớp học kế toán tổng hợp
lớp học kế toán thực hành
khóa học kế toán tổng hợp tại vinh nghệ an
trung tâm đào tạo kế toán tại vinh nghệ an
khóa học kế toán thực hành
Khóa học kế toán tổng hợp thực hành tại bắc ninh
Khóa học kế toán tổng hợp thực hành tại hải phòng
Khóa học kế toán tổng hợp thực hành tại tphcm
Khóa học kế toán tổng hợp thực hành tại bình dương
Khóa học kế toán tổng hợp thực hành tại hà đông
Khóa học kế toán tổng hợp thực hành tại cầu giấy
Khóa học kế toán tổng hợp thực hành tại long biên
Khóa học kế toán tổng hợp thực hành tại thanh xuân
dịch vụ kê khai làm báo cáo thuế hàng tháng
dịch vụ kế toán thuế trọn gói chuyên nghiệp giá rẻ
dịch vụ làm báo cáo tài chính giá rẻ
dịch vụ kế toán trọn gói chuyên nghiệp giá rẻ
dịch vụ rà soát dọn dẹp sổ sách kế toán chuyên nghiệp giá rẻ
dịch vụ quyết toán thuế chuyên nghiệp giá rẻ

Đào Quân said...

Lớp học kế toán tổng hợp thực hành tại hải phòng
Lớp học kế toán tổng hợp thực hành tại biên hòa đồng nai
Lớp học kế toán tổng hợp thực hành tại vinh nghệ an
Lớp học kế toán tổng hợp thực hành tại hải dương
Lớp học kế toán tổng hợp thực hành tại ninh bình
Lớp học kế toán tổng hợp thực hành tại hưng yên
Lớp học kế toán tổng hợp thực hành tại phú thọ
Lớp học kế toán tổng hợp thực hành tại hà nam
Lớp học kế toán tổng hợp thực hành tại vĩnh phúc
Lớp học kế toán tổng hợp thực hành tại bắc giang
Lớp học kế toán tổng hợp thực hành tại thái nguyên
Lớp học kế toán tổng hợp thực hành tại thái bình
Lớp học kế toán tổng hợp thực hành tại nam định
Lớp học kế toán tổng hợp thực hành tại thanh hóa
Lớp học kế toán tổng hợp thực hành tại tphcm
Lớp học kế toán tổng hợp thực hành tại bắc ninh
Lớp học kế toán tổng hợp thực hành tại hà đông
Lớp học kế toán tổng hợp thực hành tại long biên
Lớp học kế toán tổng hợp thực hành tại thanh xuân
Lớp học kế toán tổng hợp thực hành tại cầu giấy
khóa học kế toán toán dành cho giám đốc và nhà quản lý
công cụ dụng cụ
thủ tục thanh lý tài sản cố định
bảng cân đối kế toán
thuế thu nhập cá nhân năm 2015
phần mềm htkk 3.3.1

Đào Quân said...

hướng dẫn sử dụng hàm vlookup
thủ tục hoàn thuế thu nhập cá nhân
chi phí không được khấu trừ khi tính thuế tndn
chi phí không được khấu trừ khi tính thuế tndn
một số lỗi liên quan đến phần mềm htkk
cách kê khai bổ sung thế gtgt
cách lập bảng cân đối kế toán
cách lập báo cáo kết quả hoạt động kinh doanh

cách tính thuế gtgt theo phương pháp khấu trừ
xử lý hóa đơn sai
cách viết hóa đơn gtgt khi bán hàng
xử lý khi viết sai hóa đơn gtgt
lập tờ khai thuế gtgt mẫu 01
cách kê khai thuế gtgt theo tháng quý
cách tính thuế gtgt theo phương pháp trực tiếp
câu hỏi thường gặp về hóa đơn chứng từ
kê khai thuế tndn tạm tính quý
cách tính thuế gtgtg mới nhất
cách lập tờ khai thuế gtgt trên doanh thu 04
cách lập tờ khai thuế tndn 01b
ghi sổ kế toán theo hình thức nhật ký chung
xử lý khi phát hiện thừa thiếu hàng hóa
cách lập tờ khai thuế tndn 01a
xử lý khi phát hiện thừa thiếu hàng hóa

Đào Quân said...

hướng dẫn sử dụng hàm vlookup
thủ tục hoàn thuế thu nhập cá nhân
chi phí không được khấu trừ khi tính thuế tndn
chi phí không được khấu trừ khi tính thuế tndn
một số lỗi liên quan đến phần mềm htkk
cách kê khai bổ sung thế gtgt
cách lập bảng cân đối kế toán
cách lập báo cáo kết quả hoạt động kinh doanh

cách tính thuế gtgt theo phương pháp khấu trừ
xử lý hóa đơn sai
cách viết hóa đơn gtgt khi bán hàng
xử lý khi viết sai hóa đơn gtgt
lập tờ khai thuế gtgt mẫu 01
cách kê khai thuế gtgt theo tháng quý
cách tính thuế gtgt theo phương pháp trực tiếp
câu hỏi thường gặp về hóa đơn chứng từ
kê khai thuế tndn tạm tính quý
cách tính thuế gtgtg mới nhất
cách lập tờ khai thuế gtgt trên doanh thu 04
cách lập tờ khai thuế tndn 01b
ghi sổ kế toán theo hình thức nhật ký chung
xử lý khi phát hiện thừa thiếu hàng hóa
cách lập tờ khai thuế tndn 01a
xử lý khi phát hiện thừa thiếu hàng hóa

Đào Quân said...

hóa đơn hợp pháp và bất hợp pháp
cách lập bảng kê hóa đơn chứng từ bán ra
cách lập bảng kê hóa đơn chứng từ mua vào
kiểm tra thuế tndn chuẩn bị quyết toán thuế
hạch toán khoản truy thu thuế
biện pháp kê khai bổ sung thuế gtgt
cách làm báo cáo tài chính sử dụng hóa đơn
cách viết hóa đơn điều chỉnh tăng giảm
cách tính giá thành theo phương pháp giản đơn
viết hóa đơn điều chỉnh tăng giảm
một số hàm excel thường dùng
kiểm tra báo cáo tài chính
hạch toán công cụ dụng cụ
xử lý và mức phạt cháy hỏng hóa đơn
phân biệt hóa đơn xóa bỏ và hủy
các khoản giảm trừ thuế thu nhập cá nhân

Đào Quân said...

thông tư 200
địa chỉ học kế toán
khóa học kế toán dành cho giám đốc
dịch vụ thành lập doanh nghiệp công ty trọn gói giá rẻ
trung tâm đào tạo kế toán tại hải dương
trung tâm đào tạo kế toán tại biên hòa đồng nai
lớp học kế toán tại biên hòa đồng nai
trung tâm đào tạo kế toán tại vinh nghệ an
trung tâm đào tạo kế toán tại quận 9
trung tâm đào tạo kế toán tại vĩnh phúc
trung tâm đào tạo kế toán tại hưng yên
trung tâm đào tạo kế toán tại phú thọ
trung tâm đào tạo kế toán tại bà rịa vũng tàu
trung tâm đào tạo kế toán tại quận 3 tphcm>trung tâm đào tạo kế toán tại quận 3
trung tâm đào tạo kế toán tại đà nẵng
trung tâm đào tạo kế toán tại huế
lớp học kế toán tổng hợp tại đà nẵng
lớp học kế toán tổng hợp tại huế
trung tâm đào tạo kế toán tại vinh nghệ an
trung tâm đào tạo kế toán tại đà nẵng
trung tâm đào tạo kế toán tại bà rịa vũng tàu
trung tâm đào tạo kế toán tại huế
khóa học kế toán dành cho người mới bắt đầu
khóa học kế toán dành cho người đã học kế toán

Đào Quân said...

căn cứ tính thuế đối với thu nhập từ đầu tư vốn
cách tính thuế đối với thu nhập từ chuyển nhượng vốn
cách khấu trừ thuế thu nhập cá nhân
hướng dẫn quyết toán thuế tncn
hướng dẫn hoàn thuế tncn
hướng dẫn thuế tndn
sửa đổi về thuế tndn
miễn thuế thu nhập cá nhân
người nộp thuế tncn là những ai
hoàn thuế gtgt
báo cáo thuế quý gồm những gì
cách lập hóa đơn gtgt
cách đăng ký thuế thu nhập cá nhân
lưu ý khi thực hiện quyết toán thuế tncn
hướng dẫn sử dụng một số hàm cơ bản trong excel
Một số sai sót thường gặp khi hạch toán kế toán
một số sai sót kế toán và cách sửa chữa
mẹo tô màu xen kẽ các dòng trên bảng tính lớn trong Excel
cách mở nhiều bảng tính khác nhau trong Excel
mức phạt nộp chậm thuế gtgt
quy định mới về hóa đơn bán hàng

Đào Quân said...

học kế toán thực hành cấp tốc
học kế toán thực hành cấp tốc
học kế toán thực hành tại cầu giấy
học kế toán thực hành tại thanh xuân
]học kế toán thực hành tại hà đông
học kế toán thực hành tại long biên
học kế toán thực hành tại long biên
học kế toán thực hành tại hải phòng
học kế toán thực hành tại bắc ninh
học kế toán thực hành tại tphcm
học kế toán thực hành tại quận 3
học kế toán thực hành tại hải phòng
học kế toán thực hành tại bắc ninh
học kế toán thực hành tại bình dương
học kế toán thực hành tại biên hòa
học kế toán thực hành tại vinh
học kế toán thực hành tại vinh
học kế toán thực hành tại huế
học kế toán thực hành tại đà nẵng
học kế toán thực hành tại đà nẵng
học kế toán thực hành tại đà nẵng
học kế toán thực hành tại hải dương
học kế toán thực hành tại hưng yên
học chứng chỉ kế toán
học kế toán ở đâu tốt

phi long said...

Dịch vụ kế toán ACB chuyên cung cấp dich vu ke toan trọn gói uy tín chuyên nghiêp giá rẻ nhất tại HCM và các tỉnh lân cận với chi phí bỏ ra chỉ từ 500.000-1.500.000đ.
Tri ân khách hàng, ACB giảm giá lên đến 50% giá trị hợp đồng khi doanh nghiệp trở thành đối tác của chúng tôi.
Liên hệ: Dịch vụ kế toán , Dich vu ke toan .
Lầu 4, Tòa nhà Long Mã, 602 Cộng Hòa,P.13,Q.Tân Bình,HCM.
Hotline: (08) 62 97 97 97 - 0966 660 888.