| 1 | using System;
|
|---|
| 2 | using System.Data.SqlClient;
|
|---|
| 3 | using System.Text.RegularExpressions;
|
|---|
| 4 |
|
|---|
| 5 | namespace ExportFaktur
|
|---|
| 6 | {
|
|---|
| 7 | class ExpoToCDNExport
|
|---|
| 8 | {
|
|---|
| 9 | public CDNDataSet CDNDataset;
|
|---|
| 10 | readonly SqlConnection CDN_conn = new SqlConnection(ConnString.CDNConnection);
|
|---|
| 11 |
|
|---|
| 12 | // Public Methods (10)
|
|---|
| 13 | public void DodajElementyFaktury(EXPODataSet.FAKTURA_DETAILSDataTable table, CDNDataSet.TraNagRow naglowekFaktury)
|
|---|
| 14 | {
|
|---|
| 15 | int lp = 1;
|
|---|
| 16 |
|
|---|
| 17 | CDNDataSet.TraNagRow naglowek = naglowekFaktury;
|
|---|
| 18 |
|
|---|
| 19 | foreach (EXPODataSet.FAKTURA_DETAILSRow row in table.Rows)
|
|---|
| 20 | {
|
|---|
| 21 | CDNDataSet.TraElemRow pozycjaFaktury = (CDNDataSet.TraElemRow)CDNDataset.TraElem.NewRow();
|
|---|
| 22 |
|
|---|
| 23 | pozycjaFaktury.TrE_TrNId = naglowek.TrN_TrNID;
|
|---|
| 24 | // pozycjaFaktury.tre_tran
|
|---|
| 25 | if (istniejeKorekta())
|
|---|
| 26 | {
|
|---|
| 27 | pozycjaFaktury.TrE_ZwrId = 0;
|
|---|
| 28 | }
|
|---|
| 29 | pozycjaFaktury.TrE_Lp = lp;
|
|---|
| 30 | pozycjaFaktury.TrE_TypDokumentu = 302;
|
|---|
| 31 | pozycjaFaktury.TrE_Aktywny = 1;
|
|---|
| 32 | pozycjaFaktury.TrE_DataDok = naglowek.TrN_DataDok;
|
|---|
| 33 | pozycjaFaktury.TrE_DataOpe = naglowek.TrN_DataOpe;
|
|---|
| 34 | pozycjaFaktury.TrE_PodmiotTyp = 1;
|
|---|
| 35 | pozycjaFaktury.TrE_PodID = naglowek.TrN_PodID;
|
|---|
| 36 |
|
|---|
| 37 | if ((row.ROK > naglowekFaktury.TrN_DataDok.Year) ||
|
|---|
| 38 | ((row.ROK == naglowekFaktury.TrN_DataDok.Year) && (row.MIESIAC > naglowekFaktury.TrN_DataDok.Month)))
|
|---|
| 39 | {
|
|---|
| 40 | pozycjaFaktury.TrE_KatID = podajIDKategorii(row.ROK, row.MIESIAC);
|
|---|
| 41 | }
|
|---|
| 42 | else
|
|---|
| 43 | {
|
|---|
| 44 | pozycjaFaktury.TrE_KatID = naglowek.TrN_KatID;
|
|---|
| 45 | }
|
|---|
| 46 |
|
|---|
| 47 | pozycjaFaktury.TrE_TwrId = 1;
|
|---|
| 48 | pozycjaFaktury.TrE_TwrNazwa = row.NAZWA_USLUGI + " " + row.MIESIAC + "/" + row.ROK;
|
|---|
| 49 |
|
|---|
| 50 |
|
|---|
| 51 | pozycjaFaktury.TrE_TwrOpis = "";
|
|---|
| 52 | pozycjaFaktury.TrE_TwrSWW = "";
|
|---|
| 53 | pozycjaFaktury.TrE_Stawka = (decimal)row.S_VAT * 100;
|
|---|
| 54 | //svat' @P14 numeric(5,2) 22.00
|
|---|
| 55 | pozycjaFaktury.TrE_Flaga = 2;
|
|---|
| 56 | pozycjaFaktury.TrE_Zrodlowa = 0.00M;
|
|---|
| 57 | pozycjaFaktury.TrE_TwCNumer = 2;
|
|---|
| 58 | pozycjaFaktury.TrE_TypNB = 1;
|
|---|
| 59 |
|
|---|
| 60 | pozycjaFaktury.TrE_CenaT = row.NETTO;
|
|---|
| 61 |
|
|---|
| 62 | pozycjaFaktury.TrE_Cena0 = row.NETTO;
|
|---|
| 63 | pozycjaFaktury.TrE_Rabat = (decimal)row.UPUST_PR * 100;
|
|---|
| 64 | pozycjaFaktury.TrE_CenaW = row.NETTO;
|
|---|
| 65 |
|
|---|
| 66 |
|
|---|
| 67 | pozycjaFaktury.TrE_Ilosc = 1M;
|
|---|
| 68 |
|
|---|
| 69 | pozycjaFaktury.TrE_Jm = "szt.";
|
|---|
| 70 | pozycjaFaktury.TrE_JmCalkowite = 0;
|
|---|
| 71 | pozycjaFaktury.TrE_JMPrzelicznikL = 1.00M;
|
|---|
| 72 | pozycjaFaktury.TrE_JMPrzelicznikM = 1;
|
|---|
| 73 | pozycjaFaktury.TrE_IloscJM = pozycjaFaktury.TrE_Ilosc;
|
|---|
| 74 | pozycjaFaktury.TrE_WartoscNetto = row.NETTO;
|
|---|
| 75 | pozycjaFaktury.TrE_WartoscBrutto = row.BRUTTO;
|
|---|
| 76 | pozycjaFaktury.TrE_TwrEAN = "";
|
|---|
| 77 | pozycjaFaktury.TrE_TwrNumerKat = "";
|
|---|
| 78 | pozycjaFaktury.TrE_TwrKod = "REKLAMA PRASOWA";
|
|---|
| 79 | pozycjaFaktury.TrE_JmZ = "";
|
|---|
| 80 | pozycjaFaktury.TrE_LpPow = lp;
|
|---|
| 81 | pozycjaFaktury.TrE_Cena0WD = row.CENA_JEDN;
|
|---|
| 82 | pozycjaFaktury.TrE_CenaWWD = row.NETTO;
|
|---|
| 83 | pozycjaFaktury.TrE_WartoscNettoWal = row.NETTO;
|
|---|
| 84 | pozycjaFaktury.TrE_WartoscBruttoWal = row.BRUTTO;
|
|---|
| 85 | pozycjaFaktury.TrE_Prog = 0.00M;
|
|---|
| 86 | pozycjaFaktury.TrE_UpustTyp = 0;
|
|---|
| 87 | pozycjaFaktury.TrE_Upust = 0.00M;
|
|---|
| 88 | pozycjaFaktury.TrE_UpustKnt = 0.00M;
|
|---|
| 89 | pozycjaFaktury.TrE_UpustKntTyp = 0;
|
|---|
| 90 | pozycjaFaktury.TrE_KosztUslugi = 0.00M;
|
|---|
| 91 | pozycjaFaktury.TrE_RabatPromocyjny = 0.0000M;
|
|---|
| 92 | pozycjaFaktury.TrE_RabatKorekta = 0.0000M;
|
|---|
| 93 | pozycjaFaktury.TrE_Kaucja = 0;
|
|---|
| 94 | pozycjaFaktury.TrE_IloscKW = 0.0000M;
|
|---|
| 95 | pozycjaFaktury.TrE_IloscJMKW = 0.0000M;
|
|---|
| 96 | pozycjaFaktury.TrE_MagId = 1;
|
|---|
| 97 |
|
|---|
| 98 | pozycjaFaktury.TrE_Atr1_Kod = "";
|
|---|
| 99 | pozycjaFaktury.TrE_Atr1_Wartosc = "";
|
|---|
| 100 | pozycjaFaktury.TrE_Atr2_Kod = "";
|
|---|
| 101 | pozycjaFaktury.TrE_Atr2_Wartosc = "";
|
|---|
| 102 | pozycjaFaktury.TrE_Atr3_Kod = "";
|
|---|
| 103 | pozycjaFaktury.TrE_Atr3_Wartosc = "";
|
|---|
| 104 | pozycjaFaktury.TrE_Atr4_Kod = "";
|
|---|
| 105 | pozycjaFaktury.TrE_Atr4_Wartosc = "";
|
|---|
| 106 | pozycjaFaktury.TrE_Atr5_Kod = "";
|
|---|
| 107 | pozycjaFaktury.TrE_Atr5_Wartosc = "";
|
|---|
| 108 |
|
|---|
| 109 | pozycjaFaktury.TrE_WartoscZakupuWylicz = 0;
|
|---|
| 110 |
|
|---|
| 111 | pozycjaFaktury.TrE_Waluta = "PLN";
|
|---|
| 112 | pozycjaFaktury.TrE_KursNumer = 2;
|
|---|
| 113 | pozycjaFaktury.TrE_KursL = 1.000M;
|
|---|
| 114 | pozycjaFaktury.TrE_KursM = 1;
|
|---|
| 115 |
|
|---|
| 116 | if (naglowek.TrN_Export == 7)
|
|---|
| 117 | {
|
|---|
| 118 | pozycjaFaktury.TrE_Flaga = 4;
|
|---|
| 119 | pozycjaFaktury.TrE_Cena0WD = row.CENA_JEDN / naglowek.TrN_KursL;
|
|---|
| 120 | pozycjaFaktury.TrE_CenaWWD = row.NETTO / naglowek.TrN_KursL;
|
|---|
| 121 | pozycjaFaktury.TrE_WartoscBruttoWal = row.BRUTTO / naglowek.TrN_KursL;
|
|---|
| 122 | pozycjaFaktury.TrE_WartoscNettoWal = row.NETTO / naglowek.TrN_KursL;
|
|---|
| 123 | }
|
|---|
| 124 |
|
|---|
| 125 | CDNDataset.TraElem.AddTraElemRow(pozycjaFaktury);
|
|---|
| 126 |
|
|---|
| 127 | lp++;
|
|---|
| 128 | }
|
|---|
| 129 | }
|
|---|
| 130 |
|
|---|
| 131 | public void DodajKlienta(EXPODataSet.KLIENCIRow klient)
|
|---|
| 132 | {
|
|---|
| 133 | CDNDataSetTableAdapters.KontrahenciTableAdapter adapter = new CDNDataSetTableAdapters.KontrahenciTableAdapter();
|
|---|
| 134 | adapter.Connection = CDN_conn;
|
|---|
| 135 |
|
|---|
| 136 | adapter.FillByKnt_Kod(CDNDataset.Kontrahenci, klient.CustomerID.ToString());
|
|---|
| 137 |
|
|---|
| 138 | bool klientIstnieje;
|
|---|
| 139 | CDNDataSet.KontrahenciRow kontrahent;
|
|---|
| 140 |
|
|---|
| 141 | if (CDNDataset.Kontrahenci.Count == 0)
|
|---|
| 142 | {
|
|---|
| 143 | klientIstnieje = false;
|
|---|
| 144 | kontrahent = (CDNDataSet.KontrahenciRow)CDNDataset.Kontrahenci.NewRow();
|
|---|
| 145 | }
|
|---|
| 146 | else
|
|---|
| 147 | {
|
|---|
| 148 | klientIstnieje = true;
|
|---|
| 149 | kontrahent = CDNDataset.Kontrahenci[0];
|
|---|
| 150 | }
|
|---|
| 151 |
|
|---|
| 152 | kontrahent.Knt_ZgodaNaEFaktury = 0;
|
|---|
| 153 | kontrahent.Knt_PodmiotTyp = 1;
|
|---|
| 154 | kontrahent.Knt_Kod = klient.CustomerID.ToString();
|
|---|
| 155 | kontrahent.Knt_GLN = "";
|
|---|
| 156 | kontrahent.Knt_EAN = "";
|
|---|
| 157 | kontrahent.Knt_Grupa = "ODBIORCA";
|
|---|
| 158 | kontrahent.Knt_Nazwa1 = klient.IsFirstNameNull() ? "" : klient.FirstName;
|
|---|
| 159 | kontrahent.Knt_Nazwa2 = klient.IsLastNameNull() ? "" : klient.LastName;
|
|---|
| 160 | kontrahent.Knt_Nazwa3 = klient.IsOrganizationNameNull() ? "" : klient.OrganizationName;
|
|---|
| 161 |
|
|---|
| 162 | string kraj = "";
|
|---|
| 163 | if (!klient.IsCountryNull())
|
|---|
| 164 | {
|
|---|
| 165 | kraj = (klient.Country.Length > 40) ? klient.Country.Substring(0, 40) : klient.Country;
|
|---|
| 166 | }
|
|---|
| 167 |
|
|---|
| 168 | kontrahent.Knt_Kraj = kraj;
|
|---|
| 169 |
|
|---|
| 170 | string wojewodztwo = "";
|
|---|
| 171 | if (!klient.IsStateNull())
|
|---|
| 172 | {
|
|---|
| 173 | wojewodztwo = (klient.State.Length > 40) ? klient.State.Substring(0, 40) : klient.State;
|
|---|
| 174 | }
|
|---|
| 175 |
|
|---|
| 176 | kontrahent.Knt_Wojewodztwo = wojewodztwo;
|
|---|
| 177 |
|
|---|
| 178 | kontrahent.Knt_Powiat = "";
|
|---|
| 179 | kontrahent.Knt_Gmina = "";
|
|---|
| 180 |
|
|---|
| 181 | string adres = "";
|
|---|
| 182 | if (!klient.IsAddressNull())
|
|---|
| 183 | {
|
|---|
| 184 | adres = (klient.Address.Length > 40) ? klient.Address.Substring(0, 40) : klient.Address;
|
|---|
| 185 | }
|
|---|
| 186 | kontrahent.Knt_Ulica = adres;
|
|---|
| 187 |
|
|---|
| 188 | kontrahent.Knt_NrDomu = "";
|
|---|
| 189 | kontrahent.Knt_NrLokalu = "";
|
|---|
| 190 |
|
|---|
| 191 | string miasto = "";
|
|---|
| 192 | if (!klient.IsCityNull())
|
|---|
| 193 | {
|
|---|
| 194 | miasto = (klient.City.Length > 40) ? klient.City.Substring(0, 40) : klient.City;
|
|---|
| 195 | }
|
|---|
| 196 | kontrahent.Knt_Miasto = miasto;
|
|---|
| 197 | kontrahent.Knt_Poczta = miasto;
|
|---|
| 198 |
|
|---|
| 199 | string kodPocztowy = "";
|
|---|
| 200 | if (!klient.IsPostalCodeNull())
|
|---|
| 201 | {
|
|---|
| 202 | kodPocztowy = (klient.PostalCode.Length > 10) ? klient.PostalCode.Substring(0, 10) : klient.PostalCode;
|
|---|
| 203 | }
|
|---|
| 204 | kontrahent.Knt_KodPocztowy = kodPocztowy;
|
|---|
| 205 |
|
|---|
| 206 | kontrahent.Knt_Adres2 = "";
|
|---|
| 207 |
|
|---|
| 208 | if (!klient.IsNipNull())
|
|---|
| 209 | {
|
|---|
| 210 | if (klient.nipKraj == "" && klient.Country.Trim() == "Polska")
|
|---|
| 211 | {
|
|---|
| 212 | kontrahent.Knt_NipKraj = "PL";
|
|---|
| 213 | kontrahent.Knt_KrajISO = "PL";
|
|---|
| 214 | }
|
|---|
| 215 | else
|
|---|
| 216 | {
|
|---|
| 217 | kontrahent.Knt_NipKraj = klient.nipKraj.Length > 2 ? klient.nipKraj.Substring(0, 2) : klient.nipKraj;
|
|---|
| 218 | kontrahent.Knt_KrajISO = klient.nipKraj.Length > 2 ? klient.nipKraj.Substring(0, 2) : klient.nipKraj;
|
|---|
| 219 | }
|
|---|
| 220 |
|
|---|
| 221 | kontrahent.Knt_NipE = klient.Nip.Length > 13 ? klient.Nip.Substring(0, 13) : klient.Nip;
|
|---|
| 222 | kontrahent.Knt_Nip = klient.Nip.Length > 13 ? klient.Nip.Substring(0, 13) : klient.Nip;
|
|---|
| 223 |
|
|---|
| 224 | }
|
|---|
| 225 | else
|
|---|
| 226 | {
|
|---|
| 227 | kontrahent.Knt_NipKraj = "";
|
|---|
| 228 | kontrahent.Knt_NipE = "";
|
|---|
| 229 | kontrahent.Knt_Nip = "";
|
|---|
| 230 | kontrahent.Knt_KrajISO = "";
|
|---|
| 231 | }
|
|---|
| 232 |
|
|---|
| 233 | kontrahent.Knt_Regon = "";
|
|---|
| 234 | kontrahent.Knt_Pesel = "";
|
|---|
| 235 | kontrahent.Knt_Telefon1 = "";
|
|---|
| 236 | kontrahent.Knt_Telefon2 = "";
|
|---|
| 237 | kontrahent.Knt_Fax = "";
|
|---|
| 238 |
|
|---|
| 239 | string email = "";
|
|---|
| 240 | if (!klient.IsEmailNull())
|
|---|
| 241 | {
|
|---|
| 242 | email = (klient.Email.Length > 40) ? klient.Email.Substring(0, 40) : klient.Email;
|
|---|
| 243 | }
|
|---|
| 244 | kontrahent.Knt_Email = email;
|
|---|
| 245 |
|
|---|
| 246 | kontrahent.Knt_URL = "";
|
|---|
| 247 |
|
|---|
| 248 |
|
|---|
| 249 | if (!klientIstnieje)
|
|---|
| 250 | {
|
|---|
| 251 | kontrahent.Knt_Zezwolenie = "";
|
|---|
| 252 | kontrahent.Knt_KodTransakcji = "";
|
|---|
| 253 | kontrahent.Knt_RachunekNr = "";
|
|---|
| 254 | kontrahent.Knt_IBAN = 0;
|
|---|
| 255 | kontrahent.Knt_OsTytul = "";
|
|---|
| 256 | kontrahent.Knt_OsPlec = 1;
|
|---|
| 257 | kontrahent.Knt_OsNazwisko = "";
|
|---|
| 258 | kontrahent.Knt_OsKraj = kontrahent.Knt_Kraj;
|
|---|
| 259 | kontrahent.Knt_OsWojewodztwo = kontrahent.Knt_Wojewodztwo;
|
|---|
| 260 | kontrahent.Knt_OsPowiat = "";
|
|---|
| 261 | kontrahent.Knt_OsGmina = "";
|
|---|
| 262 | kontrahent.Knt_OsUlica = "";
|
|---|
| 263 | kontrahent.Knt_OsNrDomu = "";
|
|---|
| 264 | kontrahent.Knt_OsNrLokalu = "";
|
|---|
| 265 | kontrahent.Knt_OsMiasto = "";
|
|---|
| 266 | kontrahent.Knt_OsKodPocztowy = "";
|
|---|
| 267 | kontrahent.Knt_OsPoczta = "";
|
|---|
| 268 | kontrahent.Knt_OsAdres2 = "";
|
|---|
| 269 | kontrahent.Knt_OsTelefon = "";
|
|---|
| 270 | kontrahent.Knt_OsGSM = "";
|
|---|
| 271 | kontrahent.Knt_OsEmail = "";
|
|---|
| 272 | kontrahent.Knt_Informacje = 0;
|
|---|
| 273 | kontrahent.Knt_Upust = 0;
|
|---|
| 274 | kontrahent.Knt_LimitFlag = 0;
|
|---|
| 275 | kontrahent.Knt_LimitKredytu = 0;
|
|---|
| 276 | kontrahent.Knt_LimitPrzeterKredytFlag = 0;
|
|---|
| 277 | kontrahent.Knt_LimitPrzeterKredytWartosc = 0;
|
|---|
| 278 | kontrahent.Knt_Ceny = 0;
|
|---|
| 279 | kontrahent.Knt_FplID = 1;
|
|---|
| 280 | kontrahent.Knt_MaxZwloka = 7;
|
|---|
| 281 | kontrahent.Knt_TerminPlat = 1;
|
|---|
| 282 | kontrahent.Knt_Termin = 7;
|
|---|
| 283 | kontrahent.Knt_KontoOdb = "";
|
|---|
| 284 | kontrahent.Knt_KontoDost = "";
|
|---|
| 285 | kontrahent.Knt_BlokadaDok = 0;
|
|---|
| 286 | kontrahent.Knt_LimitKredytuWal = "";
|
|---|
| 287 | kontrahent.Knt_LimitKredytuWykorzystany = 0;
|
|---|
| 288 | kontrahent.Knt_NieRozliczac = 0;
|
|---|
| 289 | kontrahent.Knt_PodatekVat = 1;
|
|---|
| 290 | kontrahent.Knt_Finalny = 0;
|
|---|
| 291 | kontrahent.Knt_Export = 0;
|
|---|
| 292 |
|
|---|
| 293 | if (kontrahent.Knt_NipKraj != "PL")
|
|---|
| 294 | {
|
|---|
| 295 | kontrahent.Knt_Export = 7;
|
|---|
| 296 | }
|
|---|
| 297 |
|
|---|
| 298 | kontrahent.Knt_Rodzaj = 0;
|
|---|
| 299 | kontrahent.Knt_Rodzaj_Dostawca = 0;
|
|---|
| 300 | kontrahent.Knt_Rodzaj_Odbiorca = 1;
|
|---|
| 301 | kontrahent.Knt_Rodzaj_Konkurencja = 0;
|
|---|
| 302 | kontrahent.Knt_Rodzaj_Partner = 0;
|
|---|
| 303 | kontrahent.Knt_Rodzaj_Potencjalny = 0;
|
|---|
| 304 | kontrahent.Knt_Medialny = 0;
|
|---|
| 305 | kontrahent.Knt_MalyPod = 0;
|
|---|
| 306 | kontrahent.Knt_Rolnik = 0;
|
|---|
| 307 | kontrahent.Knt_Nieaktywny = 0;
|
|---|
| 308 | kontrahent.Knt_Chroniony = 0;
|
|---|
| 309 | kontrahent.Knt_Opis = "";
|
|---|
| 310 | kontrahent.Knt_TerminZwrotuKaucji = 60;
|
|---|
| 311 | kontrahent.Knt_NaliczajPlatnosc = 0;
|
|---|
| 312 | kontrahent.Knt_ZakazDokumentowHaMag = 0;
|
|---|
| 313 | kontrahent.Knt_OpeZalID = 11;
|
|---|
| 314 | kontrahent.Knt_StaZalId = 6;
|
|---|
| 315 | kontrahent.Knt_TS_Zal = DateTime.Now;
|
|---|
| 316 | }
|
|---|
| 317 |
|
|---|
| 318 | kontrahent.Knt_OpeModID = 11;
|
|---|
| 319 | kontrahent.Knt_StaModId = 6;
|
|---|
| 320 | kontrahent.Knt_TS_Mod = DateTime.Now;
|
|---|
| 321 |
|
|---|
| 322 | if (!klientIstnieje)
|
|---|
| 323 | {
|
|---|
| 324 | CDNDataset.Kontrahenci.AddKontrahenciRow(kontrahent);
|
|---|
| 325 | }
|
|---|
| 326 |
|
|---|
| 327 | }
|
|---|
| 328 |
|
|---|
| 329 | public void DodajNaglowekFaktury(EXPODataSet.FAKTURYRow EXPOfaktura, CDNDataSet.KontrahenciRow kontrahent, decimal sumaNETTO, decimal VAT, decimal rabatProcent)
|
|---|
| 330 | {
|
|---|
| 331 |
|
|---|
| 332 | CDNDataSet.TraNagRow nowaFaktura = (CDNDataSet.TraNagRow)CDNDataset.TraNag.NewRow();
|
|---|
| 333 |
|
|---|
| 334 | CDNDataSetTableAdapters.DokDefinicjeTableAdapter adapter =
|
|---|
| 335 | new CDNDataSetTableAdapters.DokDefinicjeTableAdapter();
|
|---|
| 336 | adapter.Connection = CDN_conn;
|
|---|
| 337 |
|
|---|
| 338 | CDNDataSet.DokDefinicjeRow dokDef = adapter.GetDataByNumerRozHandlowca(EXPOfaktura.NUMER_ROZ)[0];
|
|---|
| 339 |
|
|---|
| 340 | nowaFaktura.TrN_DDfId = dokDef.DDf_DDfID;
|
|---|
| 341 | nowaFaktura.TrN_TypDokumentu = 302;
|
|---|
| 342 |
|
|---|
| 343 | nowaFaktura.TrN_NumerNr = EXPOfaktura.NUMER;
|
|---|
| 344 | nowaFaktura.TrN_NumerString = "@numerS" + "/" + EXPOfaktura.NUMER_ROZ + "/" + EXPOfaktura.NUMER_ROK;
|
|---|
| 345 | //numerstring' @P4 varchar(13) '@numer/O/2007'
|
|---|
| 346 |
|
|---|
| 347 | nowaFaktura.TrN_Bufor = 1;
|
|---|
| 348 | nowaFaktura.TrN_DataDok = EXPOfaktura.DATA_WYSTAWIENIA;
|
|---|
| 349 | nowaFaktura.TrN_DataWys = EXPOfaktura.DATA_WYSTAWIENIA;
|
|---|
| 350 | nowaFaktura.TrN_DataOpe = EXPOfaktura.DATA_SPRZEDAZY;
|
|---|
| 351 | nowaFaktura.TrN_NumerObcy = "";
|
|---|
| 352 | nowaFaktura.TrN_DataKur = DateTime.Now;
|
|---|
| 353 | if (istniejeKorekta())
|
|---|
| 354 | {
|
|---|
| 355 | nowaFaktura.TrN_Korekta = 1;
|
|---|
| 356 | nowaFaktura.TrN_Rodzaj = 302001;
|
|---|
| 357 | const int idkorekty = 0;
|
|---|
| 358 | nowaFaktura.TrN_ZwrId = idkorekty;
|
|---|
| 359 | }
|
|---|
| 360 | else
|
|---|
| 361 | {
|
|---|
| 362 | nowaFaktura.TrN_Korekta = 0;
|
|---|
| 363 | nowaFaktura.TrN_Rodzaj = 302000;
|
|---|
| 364 | }
|
|---|
| 365 | nowaFaktura.TrN_Fiskalna = 0;
|
|---|
| 366 | nowaFaktura.TrN_Detal = 0;
|
|---|
| 367 | nowaFaktura.TrN_PodmiotTyp = 1;
|
|---|
| 368 | nowaFaktura.TrN_PodID = kontrahent.Knt_KntId;
|
|---|
| 369 |
|
|---|
| 370 | nowaFaktura.TrN_PodNazwa1 = kontrahent.Knt_Nazwa1;
|
|---|
| 371 | nowaFaktura.TrN_PodNazwa2 = kontrahent.Knt_Nazwa2;
|
|---|
| 372 | nowaFaktura.TrN_PodNazwa3 = kontrahent.Knt_Nazwa3;
|
|---|
| 373 |
|
|---|
| 374 | nowaFaktura.TrN_PodKraj = kontrahent.Knt_Kraj;
|
|---|
| 375 |
|
|---|
| 376 | nowaFaktura.TrN_PodWojewodztwo = kontrahent.Knt_Wojewodztwo;
|
|---|
| 377 | nowaFaktura.TrN_PodPowiat = "";
|
|---|
| 378 | nowaFaktura.TrN_PodGmina = "";
|
|---|
| 379 | nowaFaktura.TrN_PodUlica = kontrahent.Knt_Ulica;
|
|---|
| 380 | nowaFaktura.TrN_PodNrDomu = kontrahent.Knt_NrDomu;
|
|---|
| 381 | nowaFaktura.TrN_PodNrLokalu = kontrahent.Knt_NrLokalu;
|
|---|
| 382 | nowaFaktura.TrN_PodMiasto = kontrahent.Knt_Miasto;
|
|---|
| 383 | nowaFaktura.TrN_PodKodPocztowy = kontrahent.Knt_KodPocztowy;
|
|---|
| 384 | nowaFaktura.TrN_PodPoczta = kontrahent.Knt_Poczta;
|
|---|
| 385 | nowaFaktura.TrN_PodAdres2 = "";
|
|---|
| 386 | nowaFaktura.TrN_PodNipKraj = kontrahent.Knt_NipKraj;
|
|---|
| 387 | nowaFaktura.TrN_PodNipE = kontrahent.Knt_NipE;
|
|---|
| 388 | nowaFaktura.TrN_Finalny = 0;
|
|---|
| 389 | nowaFaktura.TrN_Export = 0;
|
|---|
| 390 | nowaFaktura.TrN_OdbiorcaTyp = 1;
|
|---|
| 391 |
|
|---|
| 392 | //ustawione w dataset
|
|---|
| 393 | nowaFaktura.TrN_OdbID = kontrahent.Knt_KntId;
|
|---|
| 394 | nowaFaktura.TrN_OdbNazwa1 = kontrahent.Knt_Nazwa1;
|
|---|
| 395 | nowaFaktura.TrN_OdbNazwa2 = kontrahent.Knt_Nazwa2;
|
|---|
| 396 | nowaFaktura.TrN_OdbNazwa3 = kontrahent.Knt_Nazwa3;
|
|---|
| 397 |
|
|---|
| 398 | nowaFaktura.TrN_OdbKraj = kontrahent.Knt_Kraj;
|
|---|
| 399 |
|
|---|
| 400 | nowaFaktura.TrN_OdbWojewodztwo = kontrahent.Knt_Wojewodztwo;
|
|---|
| 401 | nowaFaktura.TrN_OdbPowiat = "";
|
|---|
| 402 | nowaFaktura.TrN_OdbGmina = "";
|
|---|
| 403 | nowaFaktura.TrN_OdbUlica = kontrahent.Knt_Ulica;
|
|---|
| 404 | nowaFaktura.TrN_OdbNrDomu = kontrahent.Knt_NrDomu;
|
|---|
| 405 | nowaFaktura.TrN_OdbNrLokalu = kontrahent.Knt_NrLokalu;
|
|---|
| 406 | nowaFaktura.TrN_OdbMiasto = kontrahent.Knt_Miasto;
|
|---|
| 407 | nowaFaktura.TrN_OdbKodPocztowy = kontrahent.Knt_KodPocztowy;
|
|---|
| 408 | nowaFaktura.TrN_OdbPoczta = kontrahent.Knt_Poczta;
|
|---|
| 409 | nowaFaktura.TrN_OdbAdres2 = "";
|
|---|
| 410 | nowaFaktura.TrN_OdbNipKraj = kontrahent.Knt_NipKraj;
|
|---|
| 411 | nowaFaktura.TrN_OdbNipE = kontrahent.Knt_NipE;
|
|---|
| 412 |
|
|---|
| 413 |
|
|---|
| 414 | nowaFaktura.TrN_KatID = 1;
|
|---|
| 415 | nowaFaktura.TrN_Kategoria = "SPRZEDA¯";
|
|---|
| 416 |
|
|---|
| 417 | nowaFaktura.TrN_FPlId = 3;
|
|---|
| 418 | nowaFaktura.TrN_Termin = EXPOfaktura.TERMIN_ZAPLATY;
|
|---|
| 419 |
|
|---|
| 420 | //NETT, VAT itp.
|
|---|
| 421 | nowaFaktura.TrN_RazemNetto = sumaNETTO;
|
|---|
| 422 | nowaFaktura.TrN_RazemVAT = VAT * sumaNETTO;
|
|---|
| 423 | nowaFaktura.TrN_RazemBrutto = (1 + VAT) * nowaFaktura.TrN_RazemNetto;
|
|---|
| 424 | nowaFaktura.TrN_BlokadaPlatnosci = 0;
|
|---|
| 425 | nowaFaktura.TrN_MagZrdId = 1;
|
|---|
| 426 | nowaFaktura.TrN_TypNB = 1;
|
|---|
| 427 | nowaFaktura.TrN_Rabat = rabatProcent * 100;
|
|---|
| 428 |
|
|---|
| 429 | nowaFaktura.TrN_Odebral = EXPOfaktura.IsPODPIS_ODEBRALNull()
|
|---|
| 430 | ? "zgodnie z owiadczeniem nabywcy"
|
|---|
| 431 | : EXPOfaktura.PODPIS_ODEBRAL;
|
|---|
| 432 |
|
|---|
| 433 | nowaFaktura.TrN_Opis = EXPOfaktura.opis;
|
|---|
| 434 | nowaFaktura.TrN_OpeZalID = 9;
|
|---|
| 435 | nowaFaktura.TrN_TS_Zal = EXPOfaktura.TERMIN_ZAPLATY;
|
|---|
| 436 | nowaFaktura.TrN_OpeModID = 9;
|
|---|
| 437 | nowaFaktura.TrN_TS_Mod = EXPOfaktura.TERMIN_ZAPLATY;
|
|---|
| 438 | nowaFaktura.TrN_NotaKorPrzed = "";
|
|---|
| 439 | nowaFaktura.TrN_NotaKorPo = "";
|
|---|
| 440 | nowaFaktura.TrN_TrSTyp = 3;
|
|---|
| 441 | nowaFaktura.TrN_RazemNettoWal = sumaNETTO;
|
|---|
| 442 | nowaFaktura.TrN_Waluta = "";
|
|---|
| 443 | nowaFaktura.TrN_KursNumer = 2;
|
|---|
| 444 | nowaFaktura.TrN_KursL = (decimal)1.00;
|
|---|
| 445 | nowaFaktura.TrN_KursM = 1;
|
|---|
| 446 | nowaFaktura.TrN_PodNazwa3 = "";
|
|---|
| 447 | nowaFaktura.TrN_OdbNazwa3 = "";
|
|---|
| 448 | nowaFaktura.TrN_Centrala = 0;
|
|---|
| 449 | nowaFaktura.TrN_PodmiotGLN = "";
|
|---|
| 450 | nowaFaktura.TrN_OdbiorcaGLN = "";
|
|---|
| 451 | nowaFaktura.TrN_NumerPelnyPrw = "";
|
|---|
| 452 | nowaFaktura.TrN_PlatElemWalSys = 0;
|
|---|
| 453 |
|
|---|
| 454 | nowaFaktura.TrN_RazemVATWal = VAT * 100;
|
|---|
| 455 | nowaFaktura.TrN_RazemBruttoWal = (1 + VAT) * nowaFaktura.TrN_RazemNetto;
|
|---|
| 456 | nowaFaktura.TrN_StaZalId = 1;
|
|---|
| 457 | nowaFaktura.TrN_StaModId = 1;
|
|---|
| 458 | nowaFaktura.TrN_KodTransakcji = "";
|
|---|
| 459 |
|
|---|
| 460 | DateTime datadok = DateTime.Now;
|
|---|
| 461 | nowaFaktura.TrN_DataTransportu = datadok;
|
|---|
| 462 | nowaFaktura.TrN_KodKraju = "";
|
|---|
| 463 | nowaFaktura.TrN_Anulowany = 0;
|
|---|
| 464 | nowaFaktura.TrN_TerminZwrotuKaucji = datadok.AddDays(30);
|
|---|
| 465 | nowaFaktura.TrN_PlatKaucje = 0;
|
|---|
| 466 | nowaFaktura.TrN_TaxFreePotwierdzony = 0;
|
|---|
| 467 | nowaFaktura.TrN_VatDlaDokWal = 0;
|
|---|
| 468 |
|
|---|
| 469 | if (!EXPOfaktura.Iswaluta_bruttoNull() && EXPOfaktura.waluta_brutto > 0)
|
|---|
| 470 | {
|
|---|
| 471 | nowaFaktura.TrN_Export = 7;
|
|---|
| 472 | nowaFaktura.TrN_WartoscZakupu = 0;
|
|---|
| 473 | nowaFaktura.TrN_RazemVATWal = VAT * 100;
|
|---|
| 474 | nowaFaktura.TrN_RazemBruttoWal = (decimal)EXPOfaktura.waluta_brutto;
|
|---|
| 475 | nowaFaktura.TrN_RazemNettoWal = ((decimal)EXPOfaktura.waluta_brutto / (1 + VAT));
|
|---|
| 476 | nowaFaktura.TrN_Waluta = EXPOfaktura.Iswaluta_mianoNull() ? "" : EXPOfaktura.waluta_miano;
|
|---|
| 477 | nowaFaktura.TrN_KursL = EXPOfaktura.Iswaluta_kursNull() ? 1M : (decimal)EXPOfaktura.waluta_kurs;
|
|---|
| 478 | nowaFaktura.TrN_KursM = 1;
|
|---|
| 479 | nowaFaktura.TrN_KursNumer = 1;
|
|---|
| 480 | }
|
|---|
| 481 |
|
|---|
| 482 | CDNDataset.TraNag.AddTraNagRow(nowaFaktura);
|
|---|
| 483 | }
|
|---|
| 484 |
|
|---|
| 485 | public void DodajVAT(CDNDataSet.TraNagRow naglowekFaktury, decimal sumaNetto, decimal stawkaVAT)
|
|---|
| 486 | {
|
|---|
| 487 | CDNDataSet.TraVatRow nowyVat = (CDNDataSet.TraVatRow)CDNDataset.TraVat.NewRow();
|
|---|
| 488 |
|
|---|
| 489 | nowyVat.TrV_TrNID = naglowekFaktury.TrN_TrNID;
|
|---|
| 490 | nowyVat.TrV_Stawka = stawkaVAT * 100;
|
|---|
| 491 | nowyVat.TrV_Flaga = 2;
|
|---|
| 492 | nowyVat.TrV_Zrodlowa = 0.00M;
|
|---|
| 493 | nowyVat.TrV_Netto = sumaNetto;
|
|---|
| 494 | nowyVat.TrV_VAT = stawkaVAT * sumaNetto;
|
|---|
| 495 | nowyVat.TrV_NettoWal = sumaNetto;
|
|---|
| 496 | nowyVat.TrV_VATWal = stawkaVAT * sumaNetto;
|
|---|
| 497 | nowyVat.TrV_Typ = 0;
|
|---|
| 498 |
|
|---|
| 499 | if (naglowekFaktury.TrN_Export == 7)
|
|---|
| 500 | {
|
|---|
| 501 | nowyVat.TrV_Flaga = 4;
|
|---|
| 502 | nowyVat.TrV_VATWal = naglowekFaktury.TrN_RazemBruttoWal - naglowekFaktury.TrN_RazemNettoWal;
|
|---|
| 503 | nowyVat.TrV_NettoWal = naglowekFaktury.TrN_RazemNettoWal;
|
|---|
| 504 | }
|
|---|
| 505 |
|
|---|
| 506 | CDNDataset.TraVat.AddTraVatRow(nowyVat);
|
|---|
| 507 | }
|
|---|
| 508 |
|
|---|
| 509 | public bool isNumeric(string a)
|
|---|
| 510 | {
|
|---|
| 511 | Regex reNum = new Regex(@"^\d+$");
|
|---|
| 512 | return reNum.Match(a).Success;
|
|---|
| 513 | }
|
|---|
| 514 |
|
|---|
| 515 | public bool istniejeKorekta()
|
|---|
| 516 | {
|
|---|
| 517 | return false;
|
|---|
| 518 | }
|
|---|
| 519 |
|
|---|
| 520 | //przyszle okresy
|
|---|
| 521 | public int podajIDKategorii(int rok, int ms)
|
|---|
| 522 | {
|
|---|
| 523 | switch (rok)
|
|---|
| 524 | {
|
|---|
| 525 | case 2008:
|
|---|
| 526 | switch (ms)
|
|---|
| 527 | {
|
|---|
| 528 | case 6:
|
|---|
| 529 | return 107;
|
|---|
| 530 | case 7:
|
|---|
| 531 | return 108;
|
|---|
| 532 | case 8:
|
|---|
| 533 | return 109;
|
|---|
| 534 | case 9:
|
|---|
| 535 | return 110;
|
|---|
| 536 | case 10:
|
|---|
| 537 | return 111;
|
|---|
| 538 | case 11:
|
|---|
| 539 | return 112;
|
|---|
| 540 | case 12:
|
|---|
| 541 | return 113;
|
|---|
| 542 | }
|
|---|
| 543 | break;
|
|---|
| 544 | case 2009:
|
|---|
| 545 | switch (ms)
|
|---|
| 546 | {
|
|---|
| 547 | case 1:
|
|---|
| 548 | return 121;
|
|---|
| 549 | case 2:
|
|---|
| 550 | return 122;
|
|---|
| 551 | case 3:
|
|---|
| 552 | return 123;
|
|---|
| 553 | case 4:
|
|---|
| 554 | return 124;
|
|---|
| 555 | case 5:
|
|---|
| 556 | return 125;
|
|---|
| 557 | }
|
|---|
| 558 | break;
|
|---|
| 559 | }
|
|---|
| 560 |
|
|---|
| 561 | return 1;
|
|---|
| 562 | }
|
|---|
| 563 |
|
|---|
| 564 | public string PodajKrajNIP(string NIP)
|
|---|
| 565 | {
|
|---|
| 566 | string nip = NIP.Replace(" ", "").Replace("-", "").Trim();
|
|---|
| 567 |
|
|---|
| 568 | if (polskiNIP(nip))
|
|---|
| 569 | {
|
|---|
| 570 | return "PL";
|
|---|
| 571 | }
|
|---|
| 572 | if ((nip.Length >= 2) && (!isNumeric(nip.Substring(0, 2))))
|
|---|
| 573 | {
|
|---|
| 574 | return nip.Substring(0, 2);
|
|---|
| 575 | }
|
|---|
| 576 |
|
|---|
| 577 | return "";
|
|---|
| 578 | }
|
|---|
| 579 |
|
|---|
| 580 | public string PodajNumerNIP(string NIP)
|
|---|
| 581 | {
|
|---|
| 582 | string nip = NIP.Replace(" ", "").Replace("-", "").Trim();
|
|---|
| 583 |
|
|---|
| 584 | if (polskiNIP(nip))
|
|---|
| 585 | {
|
|---|
| 586 | return nip.Length > 13 ? nip.Substring(0, 13) : nip;
|
|---|
| 587 | }
|
|---|
| 588 | if ((nip.Length >= 2) && (!isNumeric(nip.Substring(0, 2))))
|
|---|
| 589 | {
|
|---|
| 590 | return nip.Length > 15 ? nip.Substring(2, 13) : nip.Substring(2, nip.Length - 2);
|
|---|
| 591 | }
|
|---|
| 592 | return nip.Length > 13 ? nip.Substring(0, 13) : nip;
|
|---|
| 593 | }
|
|---|
| 594 |
|
|---|
| 595 | public bool polskiNIP(string nip)
|
|---|
| 596 | {
|
|---|
| 597 | int[] wagi = new int[] { 6, 5, 7, 2, 3, 4, 5, 6, 7 };
|
|---|
| 598 |
|
|---|
| 599 | int suma = 0;
|
|---|
| 600 | string shortNIP = nip.Replace(" ", "").Replace("-", "").Trim();
|
|---|
| 601 |
|
|---|
| 602 | if ((shortNIP.Length == 10) && isNumeric(shortNIP))
|
|---|
| 603 | {
|
|---|
| 604 |
|
|---|
| 605 | for (int i = 0; i <= 8; i++)
|
|---|
| 606 | {
|
|---|
| 607 | int iloczyn = Convert.ToInt32(shortNIP.Substring(i, 1)) * wagi[i];
|
|---|
| 608 | suma = suma + iloczyn;
|
|---|
| 609 | }
|
|---|
| 610 | int kontrolny = suma % 11;
|
|---|
| 611 |
|
|---|
| 612 | if (kontrolny == Convert.ToInt32(shortNIP.Substring(shortNIP.Length - 1, 1)))
|
|---|
| 613 | {
|
|---|
| 614 | return true;
|
|---|
| 615 | }
|
|---|
| 616 | }
|
|---|
| 617 | return false;
|
|---|
| 618 | }
|
|---|
| 619 | }
|
|---|
| 620 | } |
|---|