we have item master and a tab on form called other there is an alternative item no.We attach this no to items and when select this(alt no) while creating sales line in sales order then there should be a button on sales table form and after clicking button a form open and that both items to which we have attached that alt no should appear in the form.then we put qty there which is only editable when we click the mark check box on the form and the qty shoul appera in teh text box on the top of the form.and then this consolidated qty will appear on the sales line level.
code for this:
1. create a new form1
2.add a button on the sales table form and write code in the click metho:
void clicked()
{
Args _args;
InventTable InventTable;
FormRun _formRun;
GOD_AssortedItemListInsert GOD_AssortedItemListInsert;
ItemId _itemId;
InventDim InventDim1;
;
breakpoint;
_itemId = SalesLine.ItemId; // Selected employee id in the Grid is assigned to the variable which is pass to the next form
//delete_from GOD_AssortedItemListInsert;
while select InventTable where InventTable.AltItemId == _itemId
{
select GOD_AssortedItemListInsert where GOD_AssortedItemListInsert.ItemId == InventTable.ItemId;
if(!GOD_AssortedItemListInsert)
{
select InventDim1 where InventDim1.inventDimId == SalesLine.InventDimId;
GOD_AssortedItemListInsert.ItemId=InventTable.ItemId;
GOD_AssortedItemListInsert.ItemName = InventTable.ItemName;
GOD_AssortedItemListInsert.ItemIdOrg = _itemId;
GOD_AssortedItemListInsert.SalesId = SalesLine.SalesId;
GOD_AssortedItemListInsert.InventCategoryId = InventDim1.InventCategoryId;
GOD_AssortedItemListInsert.InventColorId = InventDim1.InventColorId;
GOD_AssortedItemListInsert.InventLanguageId = InventDim1.InventLanguageId;
GOD_AssortedItemListInsert.InventMovieId = InventDim1.InventMovieId;
GOD_AssortedItemListInsert.InventSizeId = InventDim1.InventSizeId;
GOD_AssortedItemListInsert.configId = InventDim1.configId;
GOD_AssortedItemListInsert.InventTransId = SalesLine.InventTransId;
GOD_AssortedItemListInsert.insert();
}
}
super();
}
3.for consolidated total in the init method of form1:
public void init()
{
// parmid _parmId;
;
// if(!element.args().record().data())
// throw warning("Please Enter Line Details");
//
// if(element.args().dataset() != tablenum(SalesLine))
// throw warning("@SYS22539");
// else
// {
//// localSalesLine = element.args().record();
//// localSalesId = localSalesLine.SalesId;
//// altItemId=localSalesLine.ItemId;
// altItemId = element.args().parm();
//
// }
//
super();
select sum(SalesQty) from GOD_AssortedItemListInsert;
TotalQty.realValue(GOD_AssortedItemListInsert.SalesQty);
GOD_AssortedItemListInsert_ds.object(fieldnum(GOD_AssortedItemListInsert, SalesQty)).enabled(false);
}
4.in data source active method:
public int active()
{
int ret;
;
realTotalQty = any2real(TotalQty.valueStr()) - GOD_AssortedItemListInsert.SalesQty ;
if (GOD_AssortedItemListInsert.Mark == NoYes::Yes)
{
GOD_AssortedItemListInsert_ds.object(fieldnum(GOD_AssortedItemListInsert, SalesQty)).enabled(true);
}
else
{
GOD_AssortedItemListInsert_ds.object(fieldnum(GOD_AssortedItemListInsert, SalesQty)).enabled(false);
}
ret = super();
return ret;
}
5.in design in check box field in modified method :
public boolean modified()
{
boolean ret;
//GOD_AssortedItemListInsert assortedItemListInsert;
;
ret = super();
if (GOD_AssortedItemListInsert.Mark == NoYes::Yes)
{
GOD_AssortedItemListInsert_ds.object(fieldnum(GOD_AssortedItemListInsert, SalesQty)).enabled(true);
}
else
{
GOD_AssortedItemListInsert_ds.object(fieldnum(GOD_AssortedItemListInsert, SalesQty)).enabled(false);
}
//select sum(SalesQty) from assortedItemListInsert where assortedItemListInsert.Mark == NoYes::Yes;
//TotalQty.realValue(assortedItemListInsert.SalesQty);
return ret;
}
6.in form1 submit button click:
void clicked()
{
SalesLine SalesLine1;
;
super();
select forupdate SalesLine1 where SalesLine1.ItemId == GOD_AssortedItemListInsert.ItemIdOrg
&& SalesLine1.SalesId == GOD_AssortedItemListInsert.SalesId;
ttsbegin;
SalesLine1.SalesQty = any2real(TotalQty.valueStr());
SalesLine1.update();
ttscommit;
element.close();
}
code for this:
1. create a new form1
2.add a button on the sales table form and write code in the click metho:
void clicked()
{
Args _args;
InventTable InventTable;
FormRun _formRun;
GOD_AssortedItemListInsert GOD_AssortedItemListInsert;
ItemId _itemId;
InventDim InventDim1;
;
breakpoint;
_itemId = SalesLine.ItemId; // Selected employee id in the Grid is assigned to the variable which is pass to the next form
//delete_from GOD_AssortedItemListInsert;
while select InventTable where InventTable.AltItemId == _itemId
{
select GOD_AssortedItemListInsert where GOD_AssortedItemListInsert.ItemId == InventTable.ItemId;
if(!GOD_AssortedItemListInsert)
{
select InventDim1 where InventDim1.inventDimId == SalesLine.InventDimId;
GOD_AssortedItemListInsert.ItemId=InventTable.ItemId;
GOD_AssortedItemListInsert.ItemName = InventTable.ItemName;
GOD_AssortedItemListInsert.ItemIdOrg = _itemId;
GOD_AssortedItemListInsert.SalesId = SalesLine.SalesId;
GOD_AssortedItemListInsert.InventCategoryId = InventDim1.InventCategoryId;
GOD_AssortedItemListInsert.InventColorId = InventDim1.InventColorId;
GOD_AssortedItemListInsert.InventLanguageId = InventDim1.InventLanguageId;
GOD_AssortedItemListInsert.InventMovieId = InventDim1.InventMovieId;
GOD_AssortedItemListInsert.InventSizeId = InventDim1.InventSizeId;
GOD_AssortedItemListInsert.configId = InventDim1.configId;
GOD_AssortedItemListInsert.InventTransId = SalesLine.InventTransId;
GOD_AssortedItemListInsert.insert();
}
}
super();
}
3.for consolidated total in the init method of form1:
public void init()
{
// parmid _parmId;
;
// if(!element.args().record().data())
// throw warning("Please Enter Line Details");
//
// if(element.args().dataset() != tablenum(SalesLine))
// throw warning("@SYS22539");
// else
// {
//// localSalesLine = element.args().record();
//// localSalesId = localSalesLine.SalesId;
//// altItemId=localSalesLine.ItemId;
// altItemId = element.args().parm();
//
// }
//
super();
select sum(SalesQty) from GOD_AssortedItemListInsert;
TotalQty.realValue(GOD_AssortedItemListInsert.SalesQty);
GOD_AssortedItemListInsert_ds.object(fieldnum(GOD_AssortedItemListInsert, SalesQty)).enabled(false);
}
4.in data source active method:
public int active()
{
int ret;
;
realTotalQty = any2real(TotalQty.valueStr()) - GOD_AssortedItemListInsert.SalesQty ;
if (GOD_AssortedItemListInsert.Mark == NoYes::Yes)
{
GOD_AssortedItemListInsert_ds.object(fieldnum(GOD_AssortedItemListInsert, SalesQty)).enabled(true);
}
else
{
GOD_AssortedItemListInsert_ds.object(fieldnum(GOD_AssortedItemListInsert, SalesQty)).enabled(false);
}
ret = super();
return ret;
}
5.in design in check box field in modified method :
public boolean modified()
{
boolean ret;
//GOD_AssortedItemListInsert assortedItemListInsert;
;
ret = super();
if (GOD_AssortedItemListInsert.Mark == NoYes::Yes)
{
GOD_AssortedItemListInsert_ds.object(fieldnum(GOD_AssortedItemListInsert, SalesQty)).enabled(true);
}
else
{
GOD_AssortedItemListInsert_ds.object(fieldnum(GOD_AssortedItemListInsert, SalesQty)).enabled(false);
}
//select sum(SalesQty) from assortedItemListInsert where assortedItemListInsert.Mark == NoYes::Yes;
//TotalQty.realValue(assortedItemListInsert.SalesQty);
return ret;
}
6.in form1 submit button click:
void clicked()
{
SalesLine SalesLine1;
;
super();
select forupdate SalesLine1 where SalesLine1.ItemId == GOD_AssortedItemListInsert.ItemIdOrg
&& SalesLine1.SalesId == GOD_AssortedItemListInsert.SalesId;
ttsbegin;
SalesLine1.SalesQty = any2real(TotalQty.valueStr());
SalesLine1.update();
ttscommit;
element.close();
}
No comments:
Post a Comment