Вы находитесь на странице: 1из 4

QUICKBOOKS Related Things Adding a Custom field and its value :

In the sample, notice that we happened to send the data ext def and then write to it within the same message set. If you do this, you need to build the data ext def first in the request set, preceding the DataExtAdd/Mod that uses it. Of course, you arent required to do it this way. You could add your data ext definition by itself and then later use it in your DataExtAdd/Mod when you need to write data. If you want to do the same thing in qbXML, here is how it would look: Listing 13-2 qbXML to add a new DataExtDef <?xml version="1.0" ?> <?qbxml version="6.0"?> <QBXML> <QBXMLMsgsRq onError = "stopOnError"> <DataExtDefAddRq requestID = "0"> <DataExtDefAdd> <OwnerID>0</OwnerID> <DataExtName>Category</DataExtName> <DataExtType>STR255TYPE</DataExtType> <AssignToObject>Customer</AssignToObject> </DataExtDefAdd> </DataExtDefAddRq> <DataExtModRq requestID = "1"> <DataExtMod> <OwnerID>0</OwnerID> <DataExtName>Category</DataExtName> <ListDataExtType>Customer</ListDataExtType> <ListObjRef> < FullName>John Sidmark</FullName> </ListObjRef> <DataExtValue>Gold Member</DataExtValue> </DataExtMod> </DataExtModRq> </QBXMLMsgsRq> </QBXML>

About Custom Field :


Enterprise Solutions V10 gives you a few more options than with Pro and Premier 2010, such as: You can have up to a total of 30 Custom Fields for customer/vendor/employees. These fields can be required, which guarantees that employees fill in certain data. You can specify the type of data. This is a huge benefit for owners. You can even have a drop-down list so employees can simply choose from a set list. This eliminates inconsistent data entry. Just think of how many ways a person can enter a date, phone number, or name. Any time the data is entered differently, it's treated as a different entry. Drop-down lists ensure uniformity so that data is not entered in different ways.

CSV File Upload :


Typically, Importing data (contact list) from microsoft outlook to our application is necessary in almost every data driven application. The following examples shows the easy way to implement this functionality in C#. This class can be used in internationalization. ie. it can read unicode character also. using using using using using using using using using using using using System; System.Data; System.Configuration; System.Web; System.Web.Security; System.Web.UI; System.Web.UI.WebControls; System.Web.UI.WebControls.WebParts; System.Web.UI.HtmlControls; System.Collections; System.Text; System.IO;

namespace CSVReader { public class CsvParser { public static DataTable Parse(string data, bool headers) { return Parse(new StringReader(data), headers); } public static DataTable Parse(string data) { return Parse(new StringReader(data)); } public static DataTable Parse(TextReader stream) { return Parse(stream, false); } public static DataTable Parse(TextReader stream, bool headers) { DataTable table = new DataTable(); CsvStream csv = new CsvStream(stream); string[] row = csv.GetNextRow(); if (row == null) return null; if (headers) { foreach (string header in row) { if (header != null && header.Length > 0 && !table.Columns.Contains(header)) { string newheader = parseString(header, @",.#;>/\"); table.Columns.Add(newheader, typeof(string)); } else table.Columns.Add(GetNextColumnHeader(table), typeof(string)); }

row = csv.GetNextRow(); } while (row != null) { while (row.Length > table.Columns.Count) table.Columns.Add(GetNextColumnHeader(table), typeof(string)); table.Rows.Add(row); row = csv.GetNextRow(); } return table; } // parseString will find unnecessary character's from the column header and removes it. private static string parseString(string header, string delim) { //string x=header; for (int i = 0; i <> 0 && header.IndexOf('/') < header =" header.Replace(delim[i].ToString()," c =" 1;" h = "Column" stream =" s;" row =" new" item =" GetNextItem();" item ="=" count ="=" eos =" false;" eol =" false;" eol =" false;" quoted =" false;" predata =" true;" postdata =" false;" item =" new" c =" GetNextChar(true);"> 0 ? item.ToString() : null; if ((postdata || !quoted) && c == ',') // end of item, return return item.ToString(); if ((predata || postdata || !quoted) && (c == '\x0A' || c == '\x0D')) { // we are at the end of the line, eat newline characters and exit EOL = true; if (c == '\x0D' && GetNextChar(false) == '\x0A') // new line sequence is 0D0A GetNextChar(true); return item.ToString(); } if (predata && c == ' ') // whitespace preceeding data, discard continue; if (predata && c == '"') { // quoted data is starting quoted = true; predata = false; continue; } if (predata) { // data is starting without quotes predata = false; item.Append(c); continue; } if (c == '"' && quoted) { if (GetNextChar(false) == '"') // double quotes within quoted string means add a quote

item.Append(GetNextChar(true)); else // end-quote reached postdata = true; continue; } // all cases covered, character must be data item.Append(c); } } private char[] buffer = new char[4096]; private int pos = 0; private int length = 0; private char GetNextChar(bool eat) { if (pos >= length) { length = stream.ReadBlock(buffer, 0, buffer.Length); if (length == 0) { EOS = true; return '\0'; } pos = 0; } if (eat) return buffer[pos++]; else return buffer[pos]; } } } }

Cost Center :
Use the "Class" feature in Quickbooks to create your Cost Centers. Quickbooks Pro should work for you. I don't think the non-profit edition applies but you canuse it and make changes to suit your reporting needs. With the class feature you can create a separate budget and track all of your expenses. Each transaction you enter will give you a "class" column. Remember this one important thing...you have to enter the information correctly to get it reported back to your correctly. You can turn on a "reminder" in Quickbooks that will let you know if you forgot to enter the Class(Cost Center) in a transaction.

Вам также может понравиться