DsMain.xsd DataSet z TableAdapterami na procedury CDN.my_ImpDM_*
Instalator/ projekt instalatora MSI
*.sql skrypty procedur w bazie źródłowej (patrz niżej)
GenerowanieOpisuNoty.docx opis zasad budowania treści noty
```
Poza repozytorium (w `.gitignore`): `Publikuj/` (wyniki publikacji ClickOnce), `bin/`, `obj/`, `.svn/`.
## Obiekty SQL w bazie źródłowej
Procedury trzeba założyć w bazie źródłowej (Jastrzębie), w schemacie `CDN`:
| Procedura | Skrypt | Do czego służy |
|---|---|---|
| `CDN.my_ImpDM_Src` | `CDN.my_ImpDM_Src_20210729.sql` (aktualny) | lista dokumentów i dekretów do importu: filtry sprzedaż / zakup / wewnętrzne, rok, miesiąc, konto, status importu |
| `CDN.my_ImpDM_Dekr` | `DokumentyZrodlowe-DekretySkladowe.sql` | pozycje (dekrety składowe) wybranego zapisu, z których powstają pozycje noty |
| `CDN.my_ImpDM_Konta` | `Konta.sql` | lista kont z danego okresu do filtra „Konto” |
`DokumentyZrodlowe.sql` i `DokumentyZrodlowe_old.sql` to starsze wersje `my_ImpDM_Src`.
## Jak działa import
1. Program łączy się z bazą źródłową i pokazuje zapisy z wybranego roku i miesiąca.
Zaimportowane wiersze są czerwone.
2. Po kliknięciu **Importuj** loguje się do bazy docelowej przez XL-API: `XLLogin` w trybie wsadowym,
potem `XLSprawdzLicencje` i `XLPolaczenie`.
3. Dla każdego zaznaczonego dokumentu:
-`XLDodajNote` zakłada notę uproszczoną (GIDTyp 4145) w serii z konfiguracji;
-`XLDodajPozycjeNoty` dodaje pozycje z `my_ImpDM_Dekr`, a numery kont (`KKS_GIDNumer`)
ustala SQL-em z `CDN.Konta` bazy docelowej;
-`XLZamknijNote` zamyka notę. Jeśli pozycja się nie dodała, nota jest kasowana (`XLKasujNote`).
4. Po udanym imporcie:
- w bazie źródłowej ustawia `CDN.Dekrety.DT_DataCentrali`, czyli flagę „zaimportowano”;
- w bazie docelowej zapisuje magazyn do `CDN.MemNag.MEN_CechaOpis`.
5.**Skasuj flagę importu** zeruje `DT_DataCentrali`, żeby dokument dało się zaimportować ponownie.
Utworzonej noty w bazie docelowej nie usuwa.
Przebieg pracy widać na zakładce „Przebieg pracy”. Jest też zapisywany do pliku
`ImportDM-<data_godzina>.LOG` w katalogu roboczym.
## Konfiguracja
Ustawienia wprowadza się w oknie **Konfiguracja**. Zapisują się w `user.config` użytkownika Windows
i po zmianie trzeba uruchomić program ponownie.
| Pole | Ustawienie | Znaczenie |
|---|---|---|
| Serwer SQL, baza danych, użytkownik, hasło | `SerwerSrc`, `BazaSrc`, `MCsrc`, `Comsrc` | połączenie z bazą źródłową. Użytkownik i hasło są przechowywane w zaciemnionej postaci (to nie jest szyfrowanie). |
| Baza docelowa | `BazaDst` | baza ERP XL do logowania przez XL-API. Prefiks `CDNXL_` lub `ERPXL_` jest obcinany, bo XLLogin oczekuje nazwy z Managera baz. |