=============
insert_record
=============

.. js:function:: insert_record(container) 

**domain**: client 

**language**: javascript

**class** :doc:`Item class </refs/client/item_api>`

Description
===========

Open a new, empty record at the begining of the dataset and creates an 
:doc:`edit_form <at_edit_form>`
for visuall editing of the record.

If ``container`` parameter (Jquery object of the DOM element) is specified the
edit form html template is inserted in the container.

If the :doc:`init_tabs </refs/client/task/m_init_tabs>` method of the task is 
called for this conainer the tab is created for this form.

The ``insert_record`` method 

* calls the 
  :doc:`can_create <m_can_create>`
  method to check whether a user have a right to insert a record, and if not,
  returns
  
* checks whether the item is in edit or insert 
  :doc:`state <at_item_state>`
  , and if not, calls the 
  :doc:`insert <m_insert>`
  method to insert a record
  
* calls the
  :doc:`create_edit_form <m_create_edit_form>`
  method to create a form for visuall editing of the record

See also
========

:doc:`Forms </programming/interface/forms>`

:doc:`Modifying datasets </programming/data/modifying_datasets>`

:doc:`insert <m_insert>`

:doc:`can_create <m_can_create>`
