#include "apdefap.
h"
void OnPropertyChanged(char* lpszPictureName, char* lpszObjectName, char*
lpszPropertyName, char* value)
{
char szFilter[300];
char szMyFunctionName[30];
char szTest[20];
char szSort[100];
char strBuffer[100];
double dRecId;
double dBottleID;
double dLineID;
long lRowCount;
double dST001;
double dST002;
double dST003;
double dSellIndex;
int iRecId;
int i = 0;
UAHCONNECT hConnect;
UAHARCHIVE hArchive;
sprintf(szMyFunctionName, "OpenPicture ProductX");
//*******************************Read UA_Prodduct for Default
Setting*******************************
// Verbindung zum UserArchiv herstellen
if(!openUserArchive(&hConnect, &hArchive, "UA_Product"))
{
trace('E', szMyFunctionName, "openUserArchive failed");
return;
}
//Filter
sprintf(szFilter, "Product LIKE 'PRODUCT%s'", value);
//printf("%s\r\n",szFilter);
// UserArchiv filter
if(!uaArchiveSetFilter(hArchive, szFilter))
{
trace('E', szMyFunctionName, "uaArchiveSetFilter failed");
return;
}
// update userarchive
if(!uaArchiveRequery(hArchive))
{
trace('E', szMyFunctionName, "uaArchiveRequery failed");
return;
}
// choose the first dataset
if(!UAArchiveMoveFirst(hArchive))
{
trace('E', szMyFunctionName, "UAArchiveMoveFirst failed");
return;
}
// Read ReceipeID
uaArchiveGetFieldValueDouble(hArchive, 1, &dSellIndex);
//printf("dSellIndex = %f\r\n", dSellIndex);
// Read ReceipeID
uaArchiveGetFieldValueDouble(hArchive, 3, &dRecId);
//printf("dRecID = %f\r\n", dRecId);
// Read BottleID
uaArchiveGetFieldValueDouble(hArchive, 4, &dBottleID);
//printf("dBottleID = %f\r\n", dBottleID);
/*
// Read ST001
uaArchiveGetFieldValueDouble(hArchive, 5, &dST001);
//printf("dST001 = %f\r\n", dST001);
// Read ST002
uaArchiveGetFieldValueDouble(hArchive, 6, &dST002);
//printf("dST002 = %f\r\n", dST002);
// Read ST003
uaArchiveGetFieldValueDouble(hArchive, 7, &dST003);
//printf("dST003 = %f\r\n", dST003);
*/
// Read LineID
uaArchiveGetFieldValueDouble(hArchive, 5, &dLineID);
//printf("dLineID = %f\r\n", dLineID);
// close connection to userarchive
if(!closeUserArchive(hConnect, hArchive))
{
trace('E', szMyFunctionName, "closeUserArchive failed");
return;
}
//******************************* End Read UA_Prodduct for Default
Setting*******************************
//*******************************Read UA_Receipes for Default
Setting*******************************
// Verbindung zum UserArchiv herstellen
if(!openUserArchive(&hConnect, &hArchive, "UA_Receipes"))
{
trace('E', szMyFunctionName, "openUserArchive failed");
return;
}
iRecId = dRecId;
//Filter
sprintf(szFilter, "R_ID = %i", iRecId);
//printf("%s\r\n",szFilter);
// UserArchiv filter
if(!uaArchiveSetFilter(hArchive, szFilter))
{
trace('E', szMyFunctionName, "uaArchiveSetFilter failed");
return;
}
// update userarchive
if(!uaArchiveRequery(hArchive))
{
trace('E', szMyFunctionName, "uaArchiveRequery failed");
return;
}
// choose the first dataset
if(!UAArchiveMoveFirst(hArchive))
{
trace('E', szMyFunctionName, "UAArchiveMoveFirst failed");
return;
}
// Read ST001
uaArchiveGetFieldValueDouble(hArchive, 3, &dST001);
//printf("dST001 = %f\r\n", dST001);
// Read ST002
uaArchiveGetFieldValueDouble(hArchive, 4, &dST002);
//printf("dST002 = %f\r\n", dST002);
// Read ST003
uaArchiveGetFieldValueDouble(hArchive, 5, &dST003);
//printf("dST003 = %f\r\n", dST003);
// close connection to userarchive
if(!closeUserArchive(hConnect, hArchive))
{
trace('E', szMyFunctionName, "closeUserArchive failed");
return;
}
//******************************* End Read UA_Receipes for Default
Setting*******************************
// ***************************************START write values in io fields
********************************************
//EA-Felder schreiben
SetTagDouble("amount",1); ////DefaultValue always 1
SetTagDouble("ST001", dST001);
SetTagDouble("ST002", dST002);
SetTagDouble("ST003", dST003);
// *************************************** ENDE write values in io fields
********************************************
//********************* 2. Dropdown Receipes***********************
//Set on actual value
SetPropWord(lpszPictureName,"CB_OrderRceipe","SelIndex", dRecId+1); // cause
default is on position 1
//************End 2. Dropdown
***********************************************************
//********************* 3. Dropdown BottleTypes***********************
//Set on actual value
SetPropWord(lpszPictureName,"CB_BottleType","SelIndex", dBottleID+1); // cause
default is on position 1
//************End 3. Dropdown
***********************************************************
//********************* 4. Dropdown Lines***********************
//Set on actual value
SetPropWord(lpszPictureName,"CB_Line","SelIndex", dLineID+1); // cause default is
on position 1
//************End 4. Dropdown
***********************************************************
sprintf(strBuffer, "PRODUCT%s", value);
SetTagChar("name",strBuffer);
SetTagDouble("receipe" , dRecId);
SetTagDouble("bottletype" , dBottleID);
SetTagDouble("line" , dLineID);