get new year customers

SINOEUNSTEVENNEANGSINOEUNSTEVENNEANG Member Posts: 202
edited 2012-12-21 in NAV Three Tier
dear
good evening


assuming we operate business years ago since 2010 until 2012 and now we just want to get only new customer for 2012 .
could you please guide me how to achieve that ?

waiting for your kindly reply.

kindly regard,
sinoeun

Comments

  • mohana_cse06mohana_cse06 Member Posts: 5,504
    You mean new customers created in Customer table?
    Do you have any custom Created Date field in Customer table?
    We didnt have this in standard
  • SINOEUNSTEVENNEANGSINOEUNSTEVENNEANG Member Posts: 202
    Yeah . you are right . so maybe we don't have any other solution beside create new field.

    thanks you mohana.

    kindly regard,
    sinoeun
  • SogSog Member Posts: 1,023
    Mohanna, that's why you must get creative :)
    If it's a SQL database, the timestamp might be converted to a readable timeformat

    What I like more is the customer ledger entry
    Create a report
    iterate over the customers and set a filter on the customer ledger entry of date <01/01/2012
    If it is empty, then you have a customer that was new in 2012.
    If it's not, then you have an older customer.

    This does not differentiate between new customers and prospects.
    So if you put a new filter on the customer ledger entry with date 01/01/2012 and 31/12/2012 and it is not empty, you have a "new year" customer
    |Pressing F1 is so much faster than opening your browser|
    |To-Increase|
  • SINOEUNSTEVENNEANGSINOEUNSTEVENNEANG Member Posts: 202
    dear sog
    good evening

    but my timestamp is not readable . what can I do ?

    waiting for your kindly reply.

    sinoeun
  • SogSog Member Posts: 1,023
    As I looked a bit further, you can indeed not convert the rowversion (timestamp) of SQL to a readable dateformat.
    Just try my other suggestion
    |Pressing F1 is so much faster than opening your browser|
    |To-Increase|
  • SavatageSavatage Member Posts: 7,142
    using that logic - then why not just go to the customer list
    hit Shift-F7 to set the Date Filter flowfilter to <010112

    then you can filter on "Sales ($)" = 0.
    anything showing zero will be a new customer.

    I have to admit one of the first fields we added to customer, items & vendors was
    "Start Date" Type Date
    OnInsert()
    "Start Date" := today;

    should be standard
  • poppinspoppins Member Posts: 647
    Savatage wrote:
    using that logic - then why not just go to the customer list
    hit Shift-F7 to set the Date Filter flowfilter to <010112

    then you can filter on "Sales ($)" = 0.
    anything showing zero will be a new customer.

    I have to admit one of the first fields we added to customer, items & vendors was
    "Start Date" Type Date
    OnInsert()
    "Start Date" := today;

    should be standard
    Hi Savatage,
    I tried to apply the first filter (<010112) but got the following error message:
    The filter '<01/01/12' on the Date Filter field in the Customer table must specify an interval.
    
    You can use two permitted formats for filters that specify an interval:
    
    * A     Selects values equal to A.
    * A..Z  Selects values between A and Z, inclusive.
    
    So, what shall I do???
  • mohana_cse06mohana_cse06 Member Posts: 5,504
    Lets say your database is started on 2005 then try 010105..311211
    if database is started on 2008 then 010108..311211
  • SogSog Member Posts: 1,023
    If you don't know the starting date you can always go for ..31/12/2011

    Filtering is a basic skill that any NAV user should be able to do.
    Please check the help file on filters and their operators.
    |Pressing F1 is so much faster than opening your browser|
    |To-Increase|
  • ChinmoyChinmoy Member Posts: 359
    or

    ..010112
  • SavatageSavatage Member Posts: 7,142
    How about creating a new field in the customer table called "Start Date" type date

    and add another "temp" field called "First Invoice Date" type date but make it a flowfield

    with formula (Min("Cust. Ledger Entry"."Posting Date" WHERE (Document Type=FILTER(Invoice),Customer No.=FIELD(No.)))

    it will populate with the first invoice date of each customer.
    Then make a processing report based on the customer table to copy the "first invoice date" to the "start date"

    don;t forget to use calcfields("first invoice date)";
    customer."start date" := customer."first invoice date";
    customer.modify;

    once done - you can remove the new "first invoice date" field and delete the report.
    and from that point on either instruct the data entry people to fill the "start date" field when entering a new customer - or better yet add the oninsert code as shown in the above post.

    *note if no ledger entry exists you'll have to deal with that too..just a sample code above.
    **many ways to skin a cat in nav
Sign In or Register to comment.