示例#1
0
        public void savedSearch(NetSuiteService service, string searchID)
        {
            CustomRecordSearchAdvanced csa = new CustomRecordSearchAdvanced();
            csa.savedSearchId = searchID;

            SearchResult SR = service.search(csa);

            if (SR.status.isSuccess)
            {
                SearchRow[] searchRows = SR.searchRowList;

                for (int i = 0; i < searchRows.Length; i++)
                {
                    CustomRecordSearchRow crsr = (CustomRecordSearchRow)searchRows[i];
                    ArrayList customFieldList = new ArrayList(crsr.basic.customFieldList);
                    String strRecNumberPrefix = "Record " + i.ToString() + ": ";

                    for (int j = 0; j < customFieldList.Count; j++)
                    {
                        MessageBox.Show("Field Type for element " + j + ": " + customFieldList[j].GetType().Name);
                        switch (customFieldList[j].GetType().Name)
                        {
                            case "SearchColumnSelectCustomField":
                                SearchColumnSelectCustomField scselectcf = (SearchColumnSelectCustomField)customFieldList[j];
                                if (scselectcf.internalId == "custrecord_currency")
                                {
                                    ListOrRecordRef lorrCurrency = (ListOrRecordRef)scselectcf.searchValue;
                                    RecordRef rrCurrency = new RecordRef();
                                    rrCurrency.internalId = lorrCurrency.internalId;
                                    rrCurrency.type = RecordType.currency;
                                    txtSearchResults.Text = txtSearchResults.Text + strRecNumberPrefix + rrCurrency.name + Environment.NewLine;
                                }
                                else if (scselectcf.internalId == "custrecord_subsidiary")
                                {
                                    ListOrRecordRef lorrSubsidiary = (ListOrRecordRef)scselectcf.searchValue;
                                    RecordRef rrSubsidiary = new RecordRef();
                                    rrSubsidiary.internalId = lorrSubsidiary.internalId;
                                    rrSubsidiary.type = RecordType.subsidiary;
                                    txtSearchResults.Text = txtSearchResults.Text + strRecNumberPrefix + rrSubsidiary.name + Environment.NewLine;
                                }
                                break;
                            case "SearchColumnStringCustomField":
                                SearchColumnStringCustomField scstringcf = (SearchColumnStringCustomField)customFieldList[j];
                                if (scstringcf.internalId == "custrecord_jdecountry")
                                {
                                    txtSearchResults.Text = txtSearchResults.Text + strRecNumberPrefix + scstringcf.searchValue + Environment.NewLine;
                                }
                                break;
                            default:
                                break;
                        }
                    }
                }
            }
            else
            {
                txtSearchResults.Text = "Failure";
            }
        }
        public static string GetPackedBunch(string strQuoteName)
        {
            string strPackedBunchId = null;
            try
            {

                string strQuoteID = int.Parse(strQuoteName.Replace("QB", "")).ToString();
                CustomRecordSearch objSearch = new CustomRecordSearch();
                objSearch.basic = new CustomRecordSearchBasic();
                objSearch.basic.recType = new RecordRef();
                objSearch.basic.recType.internalId = "524";

                objSearch.basic.isInactive = new SearchBooleanField();
                objSearch.basic.isInactive.searchValue = false;
                objSearch.basic.isInactive.searchValueSpecified = true;

                SearchMultiSelectCustomField objQuoteId = new SearchMultiSelectCustomField();
                objQuoteId.internalId = "custrecord_vf_qd_quote";
                objQuoteId.@operator = SearchMultiSelectFieldOperator.anyOf;
                objQuoteId.operatorSpecified = true;
                objQuoteId.searchValue = new ListOrRecordRef[1];
                objQuoteId.searchValue[0] = new ListOrRecordRef();
                objQuoteId.searchValue[0].internalId = strQuoteID;

                /*SearchStringCustomField objBatchName = new SearchStringCustomField();
                objBatchName.internalId = "custrecordfb_batchname";
                objBatchName.@operator = SearchStringFieldOperator.@is;
                objBatchName.operatorSpecified = true;
                objBatchName.searchValue = "CM1309MP007";*/

                objSearch.basic.customFieldList = new SearchCustomField[] { objQuoteId };
                CustomRecordSearchAdvanced objSearchAdv = new CustomRecordSearchAdvanced();
                objSearchAdv.savedSearchScriptId = "customsearch_spm_quotedetail_export";
                objSearchAdv.criteria = objSearch;

                SearchResult objSearchResult = _service.search(objSearch);
                if (objSearchResult.recordList != null && objSearchResult.recordList.Length > 0)
                {
                    for (int j = 0; j < objSearchResult.recordList.Length; j++)
                    {
                        if (objSearchResult.recordList[j] is CustomRecord)
                        {
                            CustomRecord objRecord = (CustomRecord)objSearchResult.recordList[j];
                            strPackedBunchId = GetValue("custrecord_vf_qd_packedbunch", objRecord.customFieldList).ToString();
                            strPackedBunchId = "PB" + strPackedBunchId.PadLeft(8, '0');
                        }
                    }
                }
            }
            catch (Exception)
            {
            }

            return strPackedBunchId;
        }