For example, when ordering you want the shop was already installed. This choice should be provided at the beginning of the program.
Perhaps another solution to this problem:
- To select the current object at the beginning of the program, you can use generated Flexberry form to nehrenovo class.
- To store the current object, you can use a static field public class.
- To set the current object, you can use the solution proposed in the article setting the value field of the object to create.
A user-level solution would be: have a list of stores when you start the application form appears where you can select the current store. When you create a record of the purchase the current store is automatically inserted.
Work in Flexberry Tool
In Flexberry was created the class diagram. To determine the current shop was created phranky class](fo_using-not-stored-classes.html) ВыборМагазинаПоУмолчанию and the generated code.

Work with program code
In public the applications you develop in class to determine static field.
public class Магазин : ICSSoft.STORMNET.DataObject
{
public static Магазин CurrentShop;
//...
}
On the form nehrenovo class to suppress the message about saving data on a form, override the method OnClosing where to ban the call to the base method.
To set field values when the form is opened to override the event Edit.
To determine the behavior of the form by clicking on the button.
private void buttonAuthorize_Click(object sender, EventArgs e) //clicking on "Authorize"
{
//verify that the store you selected
if ((DataObject as ВыборМагазинаПоУмолчанию).ТекущийМагазин != null)
{
Магазин.CurrentShop = ((ВыборМагазинаПоУмолчанию)DataObject).ТекущийМагазин; //save the current store
this.DialogResult = DialogResult.OK; //to finish the authorization
this.Close();
}
else
{
MessageBox.Show("You have not selected a store for authorization.");
}
}
private void buttonExit_Click(object sender, EventArgs e) //clicking the "Exit" button
{
this.Close();
}
To run a form modal to launch the desktop application. Example from class МенеджерМагазиновDesktop:
public static bool Run_SetCurrentShopForm()
{
bool result = false;
try
{
ICSSoft.STORMNET.RightManager.DisableAllRightChecks();
CheckForIllegalCrossThreadCalls = false;
IIS.WinUI.Runners.EditFormRunner fr =
new IIS.WinUI.Runners.EditFormRunner(typeof(C__ВыборМагазинаПоУмолчаниюE),
"", "Current store", "",
new ВыборМагазинаПоУмолчанию(),
typeof(ВыборМагазинаПоУмолчанию), false);
System.Windows.Forms.Form frm = null;
frm = fr.RunAndGetForm();
if (!frm.IsDisposed && !frm.Disposing)
{
frm.BringToFront();
frm.Visible = false;
CheckForIllegalCrossThreadCalls = false;
if (frm.ShowDialog() == DialogResult.OK)
{
result = true;
}
}
return result;
}
catch (Exception)
{
throw new Exception("Failed to set the default value.");
}
}
static void Main()
{
try
{
// *** Start programmer edit section *** (Managermagazin Before authorization)
//below code for launching the form
if (!Run_SetCurrentShopForm())
{
return; //that is, the user did not want to choose the default value, stop working
}
// *** End programmer edit section *** (Managermagazin Before authorization)
//...
}
//...
}