CHANGE COMPANY

MIKEYBMIKEYB Member Posts: 12
I would like the user to put in start and end dates on the request form and then the dates would be updates in all companies for all users.

I have written some code but it does not seem to update the records.

Please could anybody advise.


IF vCompany.FINDSET(TRUE,FALSE) THEN BEGIN

REPEAT
vUserSetup.CHANGECOMPANY(vCompany.Name);
IF vUserSetup.GET THEN BEGIN
vUserSetup."Allow Posting From" := vAllowPostingFrom;
vUserSetup."Allow Posting To" := vAllowPostingTo;
vUserSetup.MODIFY;
END;

UNTIL vUserSetup.NEXT = 0;
END;

Many Thanks

Comments

  • kapamaroukapamarou Member Posts: 1,152
    IF vCompany.FINDSET(TRUE,FALSE) THEN BEGIN

    REPEAT
    vUserSetup.CHANGECOMPANY(vCompany.Name);
    IF vUserSetup.GET THEN BEGIN
    vUserSetup."Allow Posting From" := vAllowPostingFrom;
    vUserSetup."Allow Posting To" := vAllowPostingTo;
    vUserSetup.MODIFY;
    END;
    UNTIL vCompany.NEXT = 0;
    
    END;

    :?: :?: :?:
  • MIKEYBMIKEYB Member Posts: 12
    Thanks for the quick reply. I have tried this but it does not seem to work.
  • kapamaroukapamarou Member Posts: 1,152
    kapamarou wrote:
    IF vCompany.FINDSET(TRUE,FALSE) THEN BEGIN

    REPEAT
    vUserSetup.CHANGECOMPANY(vCompany.Name);
    IF vUserSetup.GET(USERID) THEN BEGIN
    

    vUserSetup."Allow Posting From" := vAllowPostingFrom;
    vUserSetup."Allow Posting To" := vAllowPostingTo;
    vUserSetup.MODIFY;
    END;
    UNTIL vCompany.NEXT = 0;
    
    END;

    :?: :?: :?:
  • AlbertvhAlbertvh Member Posts: 516
    Hi

    What kapamarou means is that the UNTIL vCompany next must be the last line
    IF vCompany.FINDSET(TRUE,FALSE) THEN
    
      REPEAT
        vUserSetup.CHANGECOMPANY(vCompany.Name);
        IF vUserSetup.FINDSET THEN BEGIN
          REPEAT
            vUserSetup."Allow Posting From" := vAllowPostingFrom;
            vUserSetup."Allow Posting To" := vAllowPostingTo;
            vUserSetup.MODIFY;
         UNTIL vUserSetup.NEXT = 0;
    
      UNTIL vCompany.MEXT = 0;
    
  • kapamaroukapamarou Member Posts: 1,152
    That and the vUserSetup.GET...

    vUserSetup.GET will not find a user... :bug:
  • MIKEYBMIKEYB Member Posts: 12
    Thanks for your suggestions but it still does not work.
  • kapamaroukapamarou Member Posts: 1,152
    Can you post your complete code so we can spot the problem?
  • MIKEYBMIKEYB Member Posts: 12
    OBJECT Report 50098 Multi Coy. GL and User Date Ch
    {
    OBJECT-PROPERTIES
    {
    Date=09/02/09;
    Time=13:06:06;
    Modified=Yes;
    Version List=MB;
    }
    PROPERTIES
    {
    ProcessingOnly=Yes;
    }
    DATAITEMS
    {
    { PROPERTIES
    {
    DataItemTable=Table91;
    DataItemTableView=SORTING(User ID);
    OnAfterGetRecord=BEGIN
    IF vCompany.FINDSET(TRUE,TRUE) THEN BEGIN

    REPEAT
    vUserSetup.CHANGECOMPANY(vCompany.Name);
    IF vUserSetup.GET THEN BEGIN
    vUserSetup."Allow Posting From" := vAllowPostingFrom;
    vUserSetup."Allow Posting To" := vAllowPostingTo;
    vUserSetup.MODIFY;
    END;

    UNTIL vCompany.NEXT = 0;
    END;
    END;

    }
    SECTIONS
    {
    { PROPERTIES
    {
    SectionType=Body;
    SectionWidth=12000;
    SectionHeight=846;
    }
    CONTROLS
    {
    }
    }
    }
    }
    }
    REQUESTFORM
    {
    PROPERTIES
    {
    Width=6160;
    Height=3080;
    }
    CONTROLS
    {
    { 1000000000;TextBox;3960 ;330 ;1760 ;440 ;SourceExpr=vAllowPostingFrom }
    { 1000000001;Label ;440 ;330 ;3080 ;440 ;ParentControl=1000000000;
    CaptionML=ENG=Allow Posting From }
    { 1000000002;Label ;440 ;880 ;3080 ;440 ;ParentControl=1000000003;
    CaptionML=ENG=Allow Posting To }
    { 1000000003;TextBox;3960 ;880 ;1760 ;440 ;SourceExpr=vAllowPostingTo }
    { 1000000004;CommandButton;440;1650;5280;990;FontName=Tahoma;
    FontSize=8;
    FontBold=Yes;
    CaptionML=ENG=Clear Dates;
    OnPush=BEGIN
    CLEAR(vAllowPostingFrom);
    CLEAR(vAllowPostingTo);
    END;
    }
    }
    }
    CODE
    {
    VAR
  • AlbertvhAlbertvh Member Posts: 516
    Hi,

    instead of vUserSetup.GET use vUserSetup.FINDSET (see my reply earlier)


    Albert
  • kapamaroukapamarou Member Posts: 1,152
    IF vCompany.FINDSET(TRUE,TRUE) THEN BEGIN
      REPEAT
        vUserSetup.CHANGECOMPANY(vCompany.Name);
        IF vUserSetup.GET THEN BEGIN
        vUserSetup."Allow Posting From" := vAllowPostingFrom;
        vUserSetup."Allow Posting To" := vAllowPostingTo;
        vUserSetup.MODIFY;
      END;
      UNTIL vCompany.NEXT = 0;
    END;
    

    Here you say vUserSetup.GET without specifying which user you need. You should change this to:

    vUserSetup.GET("User ID"); //<-- This is the current user of the dataitem loop...
  • MIKEYBMIKEYB Member Posts: 12
    Thankyou Both it works great now.
  • kapamaroukapamarou Member Posts: 1,152
    8)
Sign In or Register to comment.