Custom code form - subform

Questions related to customising nuBuilder Forte with JavaScript or PHP.

Custom code form - subform

Unread postby gerese » Wed Nov 24, 2021 10:49 pm

Hi Kevin, I need your help.
I have an FF6 form in which information can be added.
I also have an FF0 form that contains as a subform, the FF6 form.
In FF0 I just want to add or delete records in the FF6 subform (the record should not be deleted from the database only the updated FK field in the FF6 subform).
From the properties of the subform I deactivated "delete checkbox".

I added an "Add / Del" button in the FF6 subform, which I want to execute the following:
- if pk <> -1 will run the procedure "deleteCommand" the field FK will be updated with "" (nothing) so that record will no longer appear in the subform FF6, when FF0 form is in edit mode
(works here);
or
- if pk = -1 to open a popup with FF6 and to be able to select a record so as to update FK whit form_id of the form FF0 .... here I am blocked


I added this in custom code of FF0 form, (event from "Add / Dell" button)
Code: Select all
function addDelCmd(event){
    var id = event.target.parentNode.id;
    var pk = $('#' + String(id)).attr('data-nu-primary-key');

    if (pk == '-1') {
    var r1 = nuCurrentProperties().record_id;
    nuSetProperty('ECHI_COMANDA_ID', r1, 0);
                    nuPopup('617efff03300f00', '', '');   //subform FF6

    //    nuClosePopup();
   
    } else {
        nuSetProperty('deleteRow_record_id', pk);
        nuRunPHPHidden("deleteComanda", 1);
            }
}

function afterDeleteRow() {
    nuSearchAction();
}


Procedure for deleting the foreign key (working)
Code: Select all

$pk = "#deleteRow_record_id#";

$qry = "UPDATE echiplucrare SET echi_comanda_id = '' WHERE echiplucrare.echiplucrare_id = '$pk';";
nuRunQuery($qry);

// The function afterDeleteRow() must be declared in the form's Custom Code
$j = "afterDeleteRow();";
nuJavascriptCallback($j);



Procedure that adds the foreign key (not working)
Code: Select all
$pk1 = "#ECHIPLUCRARE_ID#";
$pk2 = "#ECHI_COMANDA_ID#";
//nuDebug($pk1, $pk2);
nuDebug(nuHash());

$qry = "UPDATE echiplucrare SET echi_comanda_id = '$pk2' WHERE echiplucrare.echiplucrare_id = '$pk1';";
nuRunQuery($qry);

// The function afterDeleteRow() must be declared in the form's Custom Code
$j = "afterDeleteRow();";
//nuJavascriptCallback($j);




In the custom code of subform FF6 I add this:
Code: Select all
function nuSelectBrowse(e){
        var r = $('#' + e.target.id).attr('data-nu-primary-key');
        nuSetProperty('ECHIPLUCRARE_ID', r);
        nuRunPHPHidden("AddCmd", 0);
        nuRunPHPHidden("AddCmd", 0);
        nuClosePopup();
    }




comanda1.jpg
comanda1.jpg (130.08 KiB) Viewed 42 times


I want to populate these fields one by one with record_id from the FF0 edit form
comanda2.jpg
comanda2.jpg (162.4 KiB) Viewed 42 times


Thanks, Gerese
nuBuilderForte .... BIG Like !!!
gerese
 
Posts: 51
Joined: Mon Dec 17, 2018 2:43 am
Location: România
nuBuilder Version: 4.5

Re: Custom code form - subform

Unread postby kev1n » Thu Nov 25, 2021 4:06 pm

Hi gerese,

Is the update statement correct? Inspect it with nuDebug($sqry);
kev1n
nuBuilder Team
 
Posts: 2117
Joined: Mon Oct 15, 2018 2:13 am
nuBuilder Version: 4.5

Re: Custom code form - subform

Unread postby gerese » Thu Nov 25, 2021 5:29 pm

Hi Kev1n, is correct "update statement" but .... I fail to bring hash cookie "record_ID" of the editing form FF0 (nuSetProperty ('ECHI_COMANDA_ID', r1, 0);) in the procedure that must make the update statement that runs in subform FF6.

nuDebug (nuHash ()) - after running the Procedure does not contain hash cookie #ECHI_COMANDA_ID#
Code: Select all
[0] : Array
(
    [USER_ID] => globeadmin
    [USER_GROUP_ID] =>
    [HOME_ID] => nuhome
    [GLOBAL_ACCESS] => 1
    [ACCESS_LEVEL_CODE] =>
    [LOGIN_NAME] => globeadmin
    [USER_NAME] =>
    [USER_DEPARTMENT] =>
    [USER_TEAM] =>
    [USER_POSITION] =>
    [USER_ADDITIONAL1] =>
    [USER_ADDITIONAL2] =>
    [LANGUAGE] => Romanian
    [form_id] => 617efff03300f00
    [redirect_form_id] => 617efff03300f00
    [record_id] =>
    [title] => Fast Form 6
    [call_type] =>
    [column_widths] =>
    [filter] =>
    [forms] =>
    [iframe] => 0
    [lookup_id] =>
    [object_id] => 1
    [page_number] => 0
    [password] =>
    [rows] => 8
    [row_height] => 18
    [search] =>
    [session_id] => s16378231202823
    [nosearch_columns] =>
    [sort] => -1
    [sort_direction] => desc
    [subforms] => 0
    [tab_start] =>
    [username] =>
    [user_id] => globeadmin
    [refreshed] => 0
    [CLONED_RECORD] => 0
    [NEW_RECORD] => 0
    [redirect_other_form_id] =>
    [browse_columns] =>
    [browse_sql] => SELECT echiplucrare_id,echi_desc,echi_manifestare,str_1,amb_nr,comp_mic,echi_termen,luc_adresa_nr,luc_adresa_data,com_nr,com_data_start,echi_comanda_id
FROM     echiplucrare         LEFT JOIN lucrare ON echiplucrare.echi_lucrare_id = lucrare.lucrare_id         LEFT JOIN comanda ON echiplucrare.echi_comanda_id = comanda.comanda_id         LEFT JOIN compartiment ON echiplucrare.echi_compartiment_id = compartiment.compartiment_id         LEFT JOIN ambarcatiune ON echiplucrare.echi_ambarcatiune_id = ambarcatiune.ambarcatiune_id         LEFT JOIN structura ON echiplucrare.echi_structura_id = structura.structura_id
WHERE 1
    [browse_rows] =>
    [browse_table_id] => ___nu1619f32a401ce1___
    [browse_filtered_rows] => 9
    [browse_title_multiline] => 1
    [pages] => 2
    [form_code] => FF6
    [form_description] => Fast Form 6
    [form_type] => browseedit
    [run_code] =>
    [run_description] =>
    [data_mode] =>
    [ECHIPLUCRARE_ID] => 61804cfa2b3e394
    [hash_record_id] =>
    [nuFORMdata] => Array
        (
            [0] => stdClass Object
                (
                    [id] => nuBuilder4EditForm
                    [foreign_key] =>
                    [primary_key] => echiplucrare_id
                    [object_id] => 617efff03300f00
                    [table] => echiplucrare
                    [action] => save
                    [rows] => Array
                        (
                            [0] => Array
                                (
                                    [0] =>
                                    [1] => 0
                                )

                        )

                    [columns] =>
                    [chartData] =>
                    [chartDataPivot] =>
                    [edited] => Array
                        (
                            [0] => Array
                                (
                                    [0] => 0
                                    [1] => 0
                                )

                        )

                    [deleted] => Array
                        (
                            [0] => 0
                        )

                    [fields] => Array
                        (
                            [0] => ID
                            [1] => nuDelete
                        )

                )

        )

    [hash] =>
    [ID] =>
    [nuDelete] => 0
    [PREVIOUS_RECORD_ID] => AddCmd
    [RECORD_ID] => AddCmd
    [FORM_ID] => doesntmatter
    [SUBFORM_ID] => 1
    [CODE] =>
    [TABLE_ID] => ___nu1619f32a622ed4___
    [SESSION_ID] => s16378231202823
)



Thanks, Gerese
nuBuilderForte .... BIG Like !!!
gerese
 
Posts: 51
Joined: Mon Dec 17, 2018 2:43 am
Location: România
nuBuilder Version: 4.5

Re: Custom code form - subform

Unread postby kev1n » Thu Nov 25, 2021 5:35 pm

The issue might be here. nuSetProperty() sets the hash cookie for the current form only. So you might want to pass true as 3rd parameter to set a global hash cookie.

Code: Select all
  nuSetProperty('ECHI_COMANDA_ID', r1, true);
kev1n
nuBuilder Team
 
Posts: 2117
Joined: Mon Oct 15, 2018 2:13 am
nuBuilder Version: 4.5

Re: Custom code form - subform

Unread postby gerese » Thu Nov 25, 2021 6:34 pm

:shock: :shock: :shock: very simple .... thanks Kev1n

PS. I think I found a bug, I will explain in a new post.
nuBuilderForte .... BIG Like !!!
gerese
 
Posts: 51
Joined: Mon Dec 17, 2018 2:43 am
Location: România
nuBuilder Version: 4.5


Return to Custom Code

Who is online

Users browsing this forum: No registered users and 13 guests