Commit 5401b926 authored by Milan Pumpalovic's avatar Milan Pumpalovic

Dodato u pricer da kroz tabelu mogu da se menjaju/uklone pozicije kolona.…

Dodato u pricer da kroz tabelu mogu da se menjaju/uklone pozicije kolona. Takodje je dodato da moze da se menja delimiter '|' default
parent 1444bccb
...@@ -21,6 +21,22 @@ ...@@ -21,6 +21,22 @@
#pragma link "cxLookupEdit" #pragma link "cxLookupEdit"
#pragma link "cxMaskEdit" #pragma link "cxMaskEdit"
#pragma link "cxTextEdit" #pragma link "cxTextEdit"
#pragma link "cxClasses"
#pragma link "cxCustomData"
#pragma link "cxData"
#pragma link "cxDataStorage"
#pragma link "cxDBData"
#pragma link "cxFilter"
#pragma link "cxGrid"
#pragma link "cxGridCustomTableView"
#pragma link "cxGridCustomView"
#pragma link "cxGridDBTableView"
#pragma link "cxGridLevel"
#pragma link "cxGridTableView"
#pragma link "cxNavigator"
#pragma link "cxStyles"
#pragma link "dxDateRanges"
#pragma link "dxScrollbarAnnotations"
#pragma resource "*.dfm" #pragma resource "*.dfm"
TForm4 *Form4; TForm4 *Form4;
int magacin; int magacin;
...@@ -34,7 +50,9 @@ __fastcall TForm4::TForm4(TComponent* Owner) ...@@ -34,7 +50,9 @@ __fastcall TForm4::TForm4(TComponent* Owner)
void __fastcall TForm4::FormCreate(TObject *Sender) void __fastcall TForm4::FormCreate(TObject *Sender)
{ {
// create // create
Position = poScreenCenter; this->WindowState = wsMaximized;
// Position = poScreenCenter;
cdsPricer2->Close(); cdsPricer2->Close();
cdsPricer2->Open(); cdsPricer2->Open();
...@@ -61,13 +79,31 @@ void __fastcall TForm4::sveClick(TObject *Sender) ...@@ -61,13 +79,31 @@ void __fastcall TForm4::sveClick(TObject *Sender)
void __fastcall TForm4::Export(int mg, int sve){ void __fastcall TForm4::Export(int mg, int sve){
SIFRA_MAGACINA = mg;
cdsPricer2->Active = false;
sdsPricer2->ParamByName("MAG")->AsInteger = mg;
sdsPricer2->ParamByName("datum")->AsDate = Date();
if(sve == 0){
sdsPricer2->ParamByName("datum_promene")->AsDate = VratiVremeZadnjegUpisa(mg);
}else{
sdsPricer2->ParamByName("datum_promene")->Clear();
}
cdsPricer2->Active = true;
}
void __fastcall TForm4::IzveziClick(TObject *Sender)
{
//
delimiter = EditDelimiter2->Text.Trim();
TStringList* fajl = new TStringList(); TStringList* fajl = new TStringList();
WideString naredba = "001|Barcode | Code | Name | Local name | Sales price | List price | Unit Unit | Cenovnik | Weight | Weight unit | Price unit | Vazi_od | Vazi_do"; WideString naredba;
fajl->Append( naredba ); // WideString naredba = "001|Barcode | Code | Name | Local name | Sales price | List price | Unit | Cenovnik | Weight | Weight unit | Price unit | Vazi_od | Vazi_do";
// fajl->Append(naredba);
SaveDialog1->Title = "Izvoz podataka za Pricer"; SaveDialog1->Title = "Izvoz podataka za Pricer";
SaveDialog1->DefaultExt = "csv"; SaveDialog1->DefaultExt = "csv";
SaveDialog1->Filter = "Text|*.csv|All files|*.*"; SaveDialog1->Filter = "Text|*.csv|All files|*.*";
SaveDialog1->InitialDir = "C:\\Price\\upload" ; SaveDialog1->InitialDir = "C:\\Price\\upload";
SaveDialog1->FileName = "item_"; SaveDialog1->FileName = "item_";
AnsiString cena, unit_price; AnsiString cena, unit_price;
...@@ -75,102 +111,83 @@ void __fastcall TForm4::Export(int mg, int sve){ ...@@ -75,102 +111,83 @@ void __fastcall TForm4::Export(int mg, int sve){
int mnozi_cenu = mnozi_odnos_pjm; int mnozi_cenu = mnozi_odnos_pjm;
char lOldDecimalSeparator = FormatSettings.DecimalSeparator; char lOldDecimalSeparator = FormatSettings.DecimalSeparator;
FormatSettings.DecimalSeparator = '.'; FormatSettings.DecimalSeparator = '.';
cdsPricer2->Active = false;
sdsPricer2->ParamByName("MAG")->AsInteger = mg; if (SaveDialog1->Execute()) {
sdsPricer2->ParamByName("datum")->AsDate = Date(); if (!gridView) {
if(sve == 0){ ShowMessage("Greka: TcxGridDBTableView nije pronaen!");
sdsPricer2->ParamByName("datum_promene")->AsDate = VratiVremeZadnjegUpisa(mg); delete fajl;
}else{ return;
sdsPricer2->ParamByName("datum_promene")->Clear();
} }
cdsPricer2->Active = true; cdsPricer2->First();
if ( SaveDialog1->Execute( ) )
{
while (!cdsPricer2->Eof) { while (!cdsPricer2->Eof) {
try { try {
if (cdsPricer2->RecordCount > 0) { if (cdsPricer2->RecordCount > 0) {
naredba = "001|"; naredba = "001" + delimiter;
naredba = naredba + cdsPricer2->FieldByName("BARKOD")->AsString + "|";
naredba = naredba + cdsPricer2->FieldByName("KOD")->AsString + "|"; for (int i = 0; i < gridView->ColumnCount; i++) {
naredba = naredba + cdsPricer2->FieldByName("artikal")->AsString+ "|"; TcxGridDBColumn* column = gridView->Columns[i];
naredba = naredba + cdsPricer2->FieldByName("lokalni_naziv")->AsString+ "|";
// naredba = naredba + cdsPricer2->FieldByName("AKCIJA_OZNAKA")->AsString+ "|";
if (!column->Visible) {
continue;
}
String columnName = column->DataBinding->FieldName;
if (columnName == "cena" || columnName == "unit_price") {
if (mnozi_cenu == 0 && cdsPricer2->FieldByName("ODNOSJMNALEPNICE")->AsCurrency > 0) { if (mnozi_cenu == 0 && cdsPricer2->FieldByName("ODNOSJMNALEPNICE")->AsCurrency > 0) {
cena_zs_stampu = cdsPricer2->FieldByName("cena")->AsCurrency / cdsPricer2->FieldByName("ODNOSJMNALEPNICE")->AsCurrency; cena_zs_stampu = cdsPricer2->FieldByName("cena")->AsCurrency / cdsPricer2->FieldByName("ODNOSJMNALEPNICE")->AsCurrency;
// cena = Strutils::AnsiReplaceStr(FormatCurr("0.00",cdsPricer2->FieldByName("cena")->AsCurrency), ".", "") + "|"; cena = FormatCurr("0.00", cdsPricer2->FieldByName("cena")->AsCurrency) + delimiter;
// cena = Strutils::AnsiReplaceStr(cena, ",", "") ; unit_price = FormatCurr("0.00", cena_zs_stampu) + delimiter;
cena = FormatCurr("0.00", cdsPricer2->FieldByName("cena")->AsCurrency) + "|";
// unit_price = Strutils::AnsiReplaceStr(FormatCurr("0.00",cena_zs_stampu), ".", "");
// unit_price = Strutils::AnsiReplaceStr(unit_price, ",", "")+ "|";
unit_price = FormatCurr("0.00", cena_zs_stampu);
unit_price = unit_price + "|";
} }
else if (mnozi_cenu == 1 && cdsPricer2->FieldByName("ODNOSJMNALEPNICE")->AsCurrency > 0) { else if (mnozi_cenu == 1 && cdsPricer2->FieldByName("ODNOSJMNALEPNICE")->AsCurrency > 0) {
cena_zs_stampu = cdsPricer2->FieldByName("cena")->AsCurrency * cdsPricer2->FieldByName("ODNOSJMNALEPNICE")->AsCurrency; cena_zs_stampu = cdsPricer2->FieldByName("cena")->AsCurrency * cdsPricer2->FieldByName("ODNOSJMNALEPNICE")->AsCurrency;
// cena = Strutils::AnsiReplaceStr(FormatCurr("0.00",cena_zs_stampu), ".", "") + "|"; cena = FormatCurr("0.00", cena_zs_stampu) + delimiter;
// cena = Strutils::AnsiReplaceStr(cena, ",", "") ; unit_price = FormatCurr("0.00", cdsPricer2->FieldByName("cena")->AsCurrency) + delimiter;
cena = FormatCurr("0.00", cena_zs_stampu) + "|";
// unit_price = Strutils::AnsiReplaceStr(FormatCurr("0.00",cdsPricer2->FieldByName("cena")->AsCurrency), ".", "");
// unit_price = Strutils::AnsiReplaceStr(unit_price, ",", "")+ "|";
unit_price = FormatCurr("0.00", cdsPricer2->FieldByName("cena")->AsCurrency);
unit_price = unit_price + "|";
} }
else { else {
// cena = Strutils::AnsiReplaceStr(FormatCurr("0.00",cdsPricer2->FieldByName("cena")->AsCurrency), ".", "") + "|"; cena = FormatCurr("0.00", cdsPricer2->FieldByName("cena")->AsCurrency) + delimiter;
// cena = Strutils::AnsiReplaceStr(cena, ",", "") ;
cena = FormatCurr("0.00", cdsPricer2->FieldByName("cena")->AsCurrency) + "|"; // Formatira cenu na dve decimale i dodaje separator
unit_price = cena; unit_price = cena;
} }
naredba = naredba + cena; if (columnName == "cena") {
naredba = naredba + unit_price; naredba += cena;
naredba = naredba + " |"; } else if (columnName == "unit_price") {
naredba = naredba + " |"; naredba += unit_price;
naredba = naredba + cdsPricer2->FieldByName("tip_cenovnika")->AsString+ "|";
naredba = naredba + cdsPricer2->FieldByName("IDPJM")->AsString+ "|";
naredba = naredba + cdsPricer2->FieldByName("IDJMNALEPNICE")->AsString+ "|";
naredba = naredba + cdsPricer2->FieldByName("ODNOSJMNALEPNICE")->AsString+ "|";
// naredba = naredba + cdsPricer2->FieldByName("JED_MERE")->AsString+ "|";
// naredba = naredba + cdsPricer2->FieldByName("kolicina")->AsString+ "|";
// naredba = naredba + cdsPricer2->FieldByName("kategorija")->AsString+ "|";
naredba = naredba + " |";
naredba = naredba + FormatDateTime("DD.MM.YYYY",cdsPricer2->FieldByName("vazi_od")->AsDateTime)+ "|";
if (!cdsPricer2->FieldByName("vazi_do")->IsNull) {
naredba = naredba + FormatDateTime("DD.MM.YYYY",cdsPricer2->FieldByName("vazi_do")->AsDateTime)+ "||";
} }
else { }
naredba = naredba + "||"; else if (cdsPricer2->FindField(columnName) != NULL) {
naredba += cdsPricer2->FieldByName(columnName)->AsString + delimiter;
} else {
naredba += delimiter;
} }
// naredba = naredba + FormatCurr("0.00", cdsPricer2->FieldByName("stara_cena")->AsCurrency) + "|||";
// UpisiUFile(SaveDialog1->FileName, naredba,2) ;
naredba = IzbaciNavodnika(naredba);
fajl->Append( naredba );
} }
else { // ShowMessage(naredba[naredba.Length()]);
// UpisiULogFile(LOG_FAJL, "TdmPricer::ExportPricer nama podataka:" + cdsStavke->FieldByName("artikal")->AsString , 2); // ShowMessage(delimiter);
// if (!naredba.IsEmpty() && naredba[naredba.Length()] == delimiter) {
// naredba = naredba.SubString(1, naredba.Length() - 1);
// }
fajl->Append(naredba);
}
} }
} catch (Exception &e) { catch (Exception &e) {
ShowMessage(e.Message); ShowMessage(e.Message);
} }
cdsPricer2->Next(); cdsPricer2->Next();
naredba = "";
} }
} }
FormatSettings.DecimalSeparator = lOldDecimalSeparator; FormatSettings.DecimalSeparator = lOldDecimalSeparator;
fajl->SaveToFile(SaveDialog1->FileName, TEncoding::UTF8); fajl->SaveToFile(SaveDialog1->FileName, TEncoding::UTF8);
delete fajl; delete fajl;
if(sve == 0){
UpisiUPricerLog(mg); if (sve == 0) {
UpisiUPricerLog(SIFRA_MAGACINA);
} }
ShowMessage("Izvoz zavrsen!!!"); ShowMessage("Izvoz zavrsen!!!");
} }
String __fastcall TForm4::IzbaciNavodnika(String tekst){ String __fastcall TForm4::IzbaciNavodnike(String tekst){
for (int i = 1; i <= tekst.Length(); i++) { for (int i = 1; i <= tekst.Length(); i++) {
if (tekst[i] == '"') { if (tekst[i] == '"') {
tekst[i] = ' '; tekst[i] = ' ';
...@@ -283,3 +300,14 @@ int __fastcall TForm4::PodrazumevaniMagacin(){ ...@@ -283,3 +300,14 @@ int __fastcall TForm4::PodrazumevaniMagacin(){
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
void __fastcall TForm4::FormResize(TObject *Sender)
{
double sirina_dugmeta = Panel2->Width / 3;
sve->Width = sirina_dugmeta;
promene->Width = sirina_dugmeta;
Izvezi->Width = sirina_dugmeta;
}
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
This diff is collapsed.
...@@ -52,6 +52,22 @@ ...@@ -52,6 +52,22 @@
#include <IdTCPClient.hpp> #include <IdTCPClient.hpp>
#include <IdTCPConnection.hpp> #include <IdTCPConnection.hpp>
#include <Vcl.Dialogs.hpp> #include <Vcl.Dialogs.hpp>
#include "cxClasses.hpp"
#include "cxCustomData.hpp"
#include "cxData.hpp"
#include "cxDataStorage.hpp"
#include "cxDBData.hpp"
#include "cxFilter.hpp"
#include "cxGrid.hpp"
#include "cxGridCustomTableView.hpp"
#include "cxGridCustomView.hpp"
#include "cxGridDBTableView.hpp"
#include "cxGridLevel.hpp"
#include "cxGridTableView.hpp"
#include "cxNavigator.hpp"
#include "cxStyles.hpp"
#include "dxDateRanges.hpp"
#include "dxScrollbarAnnotations.hpp"
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
class TForm4 : public TForm class TForm4 : public TForm
{ {
...@@ -138,16 +154,45 @@ __published: // IDE-managed Components ...@@ -138,16 +154,45 @@ __published: // IDE-managed Components
TDateField *cdsPricer2VAZI_OD; TDateField *cdsPricer2VAZI_OD;
TDateField *cdsPricer2VAZI_DO; TDateField *cdsPricer2VAZI_DO;
TFMTBCDField *cdsPricer2STARA_CENA; TFMTBCDField *cdsPricer2STARA_CENA;
TcxGridDBTableView *gridView;
TcxGridLevel *gridView2Level1;
TcxGrid *gridView2;
TPanel *Panel3;
TcxGridDBColumn *gridViewKOD;
TcxGridDBColumn *gridViewBARKOD;
TcxGridDBColumn *gridViewARTIKAL;
TcxGridDBColumn *gridViewIDJMNALEPNICE;
TcxGridDBColumn *gridViewIDPJM;
TcxGridDBColumn *gridViewLOKALNI_NAZIV;
TcxGridDBColumn *gridViewCENA;
TcxGridDBColumn *gridViewODNOSJMNALEPNICE;
TcxGridDBColumn *gridViewAKCIJA_OZNAKA;
TcxGridDBColumn *gridViewJED_MERE;
TcxGridDBColumn *gridViewKOLICINA;
TcxGridDBColumn *gridViewKATEGORIJA;
TcxGridDBColumn *gridViewTIP_CENOVNIKA;
TcxGridDBColumn *gridViewVAZI_OD;
TcxGridDBColumn *gridViewVAZI_DO;
TcxGridDBColumn *gridViewSTARA_CENA;
TcxButton *Izvezi;
TPanel *Panel4;
TcxLabel *cxLabel2;
TcxTextEdit *EditDelimiter2;
TPanel *Panel5;
void __fastcall sveClick(TObject *Sender); void __fastcall sveClick(TObject *Sender);
void __fastcall FormCreate(TObject *Sender); void __fastcall FormCreate(TObject *Sender);
void __fastcall FormResize(TObject *Sender);
void __fastcall IzveziClick(TObject *Sender);
private: // User declarations private: // User declarations
public: // User declarations public: // User declarations
int SIFRA_MAGACINA;
String delimiter;
__fastcall TForm4(TComponent* Owner); __fastcall TForm4(TComponent* Owner);
int __fastcall PodrazumevaniMagacin(); int __fastcall PodrazumevaniMagacin();
void __fastcall Export(int mg, int sve); void __fastcall Export(int mg, int sve);
void __fastcall UpisiUPricerLog(int mg); void __fastcall UpisiUPricerLog(int mg);
TDateTime __fastcall VratiVremeZadnjegUpisa(int magacin); TDateTime __fastcall VratiVremeZadnjegUpisa(int magacin);
String __fastcall IzbaciNavodnika(String tekst); String __fastcall IzbaciNavodnike(String tekst);
}; };
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
extern PACKAGE TForm4 *Form4; extern PACKAGE TForm4 *Form4;
......

\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment