commit 430d2c6000e53a165774691d10ac0fdefb28d789 Author: Marius Mutu Date: Thu Jul 16 11:43:11 2026 +0300 Initial: flux text FoxBin2Prg (git urmareste .??2 in-arbore, binarele VFP git-ignored) Co-Authored-By: Claude Fable 5 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..bbf8fed --- /dev/null +++ b/.gitattributes @@ -0,0 +1,4 @@ +# SVN ramane autoritatea pentru line endings (rulaj paralel svn+git). +# Dezactiveaza orice normalizare CRLF/LF facuta de git, ca sa nu mai apara +# "modificari" fantoma dupa fiecare svn update/checkout care doar atinge mtime-ul. +* -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ff7cd57 --- /dev/null +++ b/.gitignore @@ -0,0 +1,87 @@ +# ============================================================================= +# Flux text FoxBin2Prg: git urmareste DOAR versiunile text .??2 (in arbore), +# nu binarele VFP. Binarele convertibile si indecsii regenerabili se ignora. +# SVN ramane sursa de adevar pentru binare (via global-ignores pe .??2). +# ============================================================================= + +# --- Binare VFP convertibile in text .??2 (ambele forme de caz) --- +*.vcx +*.VCX +*.vct +*.VCT +*.scx +*.SCX +*.sct +*.SCT +*.frx +*.FRX +*.frt +*.FRT +*.mnx +*.MNX +*.mnt +*.MNT +*.lbx +*.LBX +*.lbt +*.LBT +*.pjx +*.PJX +*.pjt +*.PJT +*.dbc +*.DBC +*.dct +*.DCT + +# --- Indecsi regenerabili (nu se transporta in .db2/.dc2) --- +*.cdx +*.CDX +*.dcx +*.DCX + +# --- Fisiere generate/compilate Visual FoxPro --- +*.fxp +*.FXP +*.mpr +*.MPR +*.mpx +*.MPX +*.vcr +*.VCR +*.src + +# --- Backup-uri si fisiere temporare create de editorul VFP --- +*.bak +*.BAK +*.TBK +*.tmp +*.TMP +*.err +*.ERR +*.Stats +*.stackdump + +# --- Executabile compilate --- +*.exe +*.EXE + +# --- Exporturi surse Oracle (regenerabile, prea mari pentru git) --- +PACK_FACTURARE.pck + +# --- Stare locala / resurse runtime VFP (specifice masinii) --- +FoxyPreviewer_Emails.CDX +FoxyPreviewer_Emails.DBF +FoxyPreviewer_Emails.FPT +log.txt +LOG.txt +*.lnk +Thumbs.db +Desktop.ini +bash.exe.stackdump + +# --- Subversion (working copy paralela) --- +.svn/ + +# --- COMUN este gestionat separat, prin propriul sau git (romfast/comun.git) --- +COMUN/ diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 0000000..bce3e01 --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,159 @@ +# CLAUDE.md + +This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository. + +## What this is + +ROAACNPRO is a **Visual FoxPro 9** desktop application (Romanian-language) for port/lock +operations billing on the Danube. It invoices the service types defined in +`Include/roaacnpro.h`: `TRANZIT` (transit), `CHEIAJ` (wharfage), `APA` (water), `CHIRII` +(rentals), `PILOTAJ` (pilotage), `PENALITATI` (penalties), `ALTE`/`DIVERSE` (other). It is one +member of the larger "ROA" suite (ROAGEST, ROACONT, ROACASA, ROADEF, etc.) and reads vessel/ +voyage/lock data from the external **RORIS Oracle** system. + +The code, comments, menus, and changelog are all in Romanian — match that language when editing +user-facing strings, comments, and changelog entries. + +## Build, run, version control + +- **Build/run requires the Visual FoxPro 9 IDE on Windows.** There is no command-line build. + Open `roaacnpro.pjx` in the VFP IDE and use *Build > Build Executable* to produce + `roaacnpro.exe`. The startup program is `Programe/roaacnpro.prg` (set as the project main). +- **`.prg` files are source; `.fxp` are compiled, `.bak` are backups.** Edit the `.prg`. The + `.scx/.sct` (forms), `.vcx/.vct` (class libraries), `.frx/.frt` (reports), and `.mnx/.mpr` + (menus) are VFP binary/generated artifacts — **edit them in the VFP IDE, not by hand.** `.mpr` + is GENMENU-generated from `.mnx`; never hand-edit `.mpr`. +- **Version control is Subversion** (`.svn/`), not git. `COMUN/` is its own SVN working copy. +- **`config.fpw`** sets the runtime environment (CODEPAGE 1252, `EXCLUSIVE=OFF`, `SAFETY=OFF`, + `MULTILOCKS=ON`). Don't enable SAFETY — the code relies on silent overwrite. +- The compiler error log is `roaacnpro.ERR`; the runtime log is `log.txt`. Many entries in + `roaacnpro.ERR` are benign cross-references resolved at runtime from `COMUN` libraries. + +## Searching code inside `.vcx`/`.scx` (binary) libraries + +Most class/form code lives **inside binaries** (`.vcx`+`.vct`, `.scx`+`.sct`, …), not in `.prg`, +so plain grep can't read it cleanly. To search method/procedure bodies, convert the binaries to +their TEXT form first and grep the text. **At the start of a session (when work may touch +classes/forms), refresh the text cache** by running the helper, then search in the cache: + +```powershell +powershell -ExecutionPolicy Bypass -File D:\ROA\UTIL\foxbin2prg\vcx2txt.ps1 # incremental +``` + +By default it is **project-driven**: it reads `roaacnpro.PJX` and converts only the `.vcx`/`.scx` +the project actually uses (~78 files), **not** all of `COMUN\` (most of which is unused). It writes +a mirrored text tree to `D:\ROA\_vfp_textcache\roacnpro\` +(e.g. `roacnpro\Clase\oacnpro.vc2`, `roacnpro\comun\clase\_frm_base.vc2`); then `Grep` there. +Useful flags: `-Types vcx,scx,frx,mnx` (also reports/menus), `-Source ` (one-off, +even outside the project), `-Force`, `-Clean`. For `.vcx`/`.scx`, real code changes can now be made +directly on the text and written back with `D:\ROA\UTIL\foxbin2prg\txt2vcx.ps1` (regenerates + +recompiles in staging, fidelity-checks, then copies into the project) instead of the VFP IDE — +`.mnx`/`.frx` remain IDE-only. See `D:\ROA\UTIL\foxbin2prg\CLAUDE.md` for the full write-back flow. +Full search guide: **`docs/cautare_vcx_vct.md`**. + +## The COMUN shared framework + +`COMUN/` (and the sibling `..\COMUNROA\`) is **shared, framework-level code used by every ROA +app** — it is not specific to ROAACNPRO. Treat it as a vendored library: + +- A change in `COMUN/` affects all ROA applications. Prefer making app-specific changes in this + repo's top-level `Programe/`, `Clase/`, `Ferestre/`, `Rapoarte/`, `Meniuri/` directories. + Only touch `COMUN/` when the fix genuinely belongs to the shared framework. +- `SET PATH` (see `Programe/roaacnpro.prg` ~line 37) makes `COMUN\CLASE`, `COMUN\FERESTRE`, + `COMUN\PROGRAME`, `COMUN\RAPOARTE`, and the `COMUN\UTILE\*` helper libraries (calendar, ctl32, + hpdf PDF, web/HTTP, nfjson, nfxml, excel, GridExtras) resolvable by bare filename. So + `SET PROCEDURE TO email.prg` resolves to `COMUN\PROGRAME\email.prg`. + +## Application architecture + +Startup flow (`Programe/roaacnpro.prg`): + +1. Sets `gcAppPath`, builds `gcComunPath`, `SET PATH`, `SET PROCEDURE TO roa.prg`. +2. `goApp = CreateObject("oApp")` — `oApp` is a thin subclass of **`RoaApp`** + (`COMUN/programe/roa.prg`, ~1200 lines). This is the application object and the backbone of + the whole framework. +3. `goApp.initializeaza(...)` runs an ordered `initializeaza*` pipeline: program check, read + login params, Win32 declares, env, paths, class libs, procedures, settings ini, **security** + (Oracle host/credentials, decrypted from `roa_security.xml`), report previewer, locale, + variables, and global objects. +4. `goApp.lanseazaAplicatie()` shows `_screen`, runs the startup menu + `fundal.scx` shell form. +5. `READ EVENTS` — VFP event loop. `onShutDown` handles exit. + +**App-specific overrides** live in `oApp` at the bottom of `Programe/roaacnpro.prg`: the empty +hook methods `initializeazaAlteClassLib` / `initializeazaAlteProceduri` are where this app loads +its own class libraries (`oacnpro.vcx`, `ofacturare_comun.vcx`, `serii_numere.vcx`, …) and +procedure files (`proceduri_acnpro.prg`, `ofacturare.prg`, `xmlefactura.prg`, …). When adding a +new class library or procedure file to the app, register it in one of these two methods — that +is the canonical extension point. + +### Globals convention + +The framework promotes the `RoaApp` properties into **public global variables** in +`initializeazaVariabileGlobale` / `initializeazaObiecteGlobale`. These are used pervasively +throughout the codebase: + +- `goApp` (the app object), `goConn`/`goExecutor` (Oracle connection + SQL executor), + `goLog`/`poLog` (logger), `goCalendar`, `goExport`, `goFundal` (shell form), `goFirma`, + `goUtilizator`. +- `gcS` = Oracle schema, `gnIdFirma`, `gnIdUtil`, `gnAn`/`gnLuna` (working year/month), + `gcAppPath`, `gcDirMare` (suite root), `gcComunPath`. +- `g`-prefix = global, `gc`/`gn`/`gl` = char/numeric/logical, `m.` = memory-variable scoping. + +### Data layer + +- Backend is **Oracle**, reached via ODBC/SQL pass-through through `goConn`/`goExecutor`. Run + queries with `SQLEXEC()` against the connection handle; results come back as VFP cursors. +- `database.txt` documents the Oracle setup: it creates **synonyms** (`ips_voyages`, + `ips_berthings`, `ips_cargoes`, …) into the external `roris` schema and `GRANT`s to the app + user. The `ips_*` tables are RORIS source data; `ips_*_vanzari` and the app's own tables hold + billing data. `versiune_db.txt` tracks the DB schema version. +- App tables and report cursors carry Romanian/domain names (`tranzit`, `cheiaj`, `factura`, + `recapitulatie`, `tarife`, `contracte`). + +## Domain quick reference + +- **Service-type constants** are in `Include/roaacnpro.h` (string `TIP_*` and numeric `NTIP_*`, + e.g. `NTIP_TRANZIT 0`, `NTIP_CHEIAJ 1`). These same defines are repeated at the top of + `Programe/proceduri_acnpro.prg`. +- **`Programe/proceduri_acnpro.prg`** — core billing procedures (`factura_salvare_db`, + `calcul_cheiaj`, `salvare_cheiaj`, `make_factura_penalitati`, TVA/VAT handling, …). The file + header is an append-only dated change journal; follow that style when adding procedures. +- **`docs/facturare.md`** — read this first for any **invoice/billing change**: it maps the + invoice flow (form `frm_factura` → `factura_salvare_db` → `PACK_FACTURARE.pck` → reports/list), + the `crsFactura` structure, the VAT formulas, and which files to touch for a given task. Key + rule: `PACK_FACTURARE.pck` is the source of truth; the `frm_factura` preview must mirror its + formulas, and reports/list only read package-computed values. +- **`docs/fluxuri_calcul_facturare.md`** — the end-to-end billing chain (Import → Calcul → + Salvare → Listare) documented per service type (tranzit, cheiaj, chirii, penalități, apă, + diverse): where source data is imported from (RORIS/`ips_*`), the exact value/coefficient + formulas and roundings, where results are persisted, and what reports/recapitulations read + back. Read this to find which file:line computes a given value. Includes a "Capcane cunoscute" + section (e.g. the distance-coefficient rounding that zeroes sub-32m distances). +- **`Programe/proceduri_acnpro_rapoarte.prg`** — report-generation procedures feeding the + `Rapoarte/*.frx` layouts (factura, recapitulatie_cheiaj/tranzit/penalitati, registru tranzit). +- **`Programe/importroris*.prg`** + `importroris.pjx` — a *separate* small executable + (`importroris.exe`) that imports voyage/lock data from RORIS. `verificare_roris_ecluze.*` is + another standalone verification tool. These build independently of the main project. +- **VAT/TVA** is first-class and time-sensitive: the app supports multiple concurrent VAT-rate + regimes (e.g. 19/9/5% historical vs. 21/11% from 2025-08-01). Be careful that billing logic + selects rates by the document's period, not "current" rates. + +## Changelog & release convention + +`changelog_roaacnpro.txt` is the user-facing release log. **Newest entry goes at the top**, in +this exact HTML-comment block format (Romanian, `DD/MM/YYYY`): + +``` + +``` + +Tags: `:nou:` (new feature), `:modificare:` (change), `:eroare:` (bug fix). Bump the +`MAJOR.MINOR.PATCH` version when you add an entry. The app auto-updates from +`https://www.romfast.ro/...` via `COMUN/programe/actualizare_aplicatie.prg`; the runtime reads +its version from the built `.exe`. diff --git a/Clase/oacnpro.vc2 b/Clase/oacnpro.vc2 new file mode 100644 index 0000000..15f54f9 --- /dev/null +++ b/Clase/oacnpro.vc2 @@ -0,0 +1,18426 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="oacnpro.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS frm_calcul_cheiaj AS _frmbase OF "..\comun\clase\_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Grid2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid2.cArticol.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid2.cArticol.Combo1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid2.CTARIF.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid2.CTARIF.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid2.CVALVAL.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid2.CVALVAL.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid2.CNUMEVALUTA.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid2.CNUMEVALUTA.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid2.CNUMEVALUTA.Combo1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid2.CDATAI.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid2.CDATAI.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid2.CDATAP.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid2.CDATAP.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid2.cDurata.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid2.cDurata.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid2.cCant.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid2.cCant.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid2.cIndicativ.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid2.cIndicativ.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cAles.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cAles.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cDana.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cDana.Combo1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.CTRN.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.CTRN.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.CLBD.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.CLBD.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.CHP.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.CHP.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.ctipvas.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.ctipvas.Combo1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cIndicativ.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cIndicativ.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cTcap.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cTcap.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cLung.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cLung.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cLocatia.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cLocatia.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cLocatia.Combo1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cRptId.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cRptId.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cDatai.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cDatai.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cDatap.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cDatap.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cDeclcdt.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cDeclcdt.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cmdPrestatii" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="chkIntern" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cmdCalcul" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_nou2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="chkStornare" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtValFinala" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtValConvoi" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtClient" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="but_cautare_client" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cboContract" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblClient" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblContract" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtBeneficiar" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="but_cautare_beneficiar" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Gridextra1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Gridextra2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtDocument" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label1" UniqueID="" Timestamp="" /> + + * + *m: do_calcul_tarife + *m: do_cauta_partener + *m: do_executa2 + *m: do_genereaza_prestatii + *m: getcontracteclient + *p: ccontractclient + *p: cdenumirebeneficiar + *p: cdenumireclient + *p: cdocument + *p: cvaloare_convoi + *p: cvaloare_finala + *p: cvaloare_minima_convoi + *p: ncapacitateclient + *p: ncapacitatetotal + *p: neagent + *p: nidbeneficiar + *p: nidclient + *p: nidcontractclient + *p: nidlocatia + *p: nintern + *p: ntiprecap && 0 = recapitulatie standard, 1 = fara recapitulatie pentru ca valoarea totala a fost suprascrisa de utilizaotr + * + + * + BorderStyle = 3 + ccontractclient = + cdenumirebeneficiar = + cdenumireclient = + cdocument = + cvaloare_convoi = 0 + cvaloare_finala = 0 + cvaloare_minima_convoi = 0 + DoCreate = .T. + Height = 468 + Name = "frm_calcul_cheiaj" + ncapacitateclient = 0 + ncapacitatetotal = 0 + neagent = 0 + nidbeneficiar = 0 + nidclient = 0 + nidcontractclient = 0 + nidlocatia = 0 + nintern = 1 + ntiprecap = 0 + Width = 779 + _memberdata = + + + + + + + + + + + + + + + _shape1.Anchor = 10 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 780 + _shape2.Left = 728 + _shape2.Name = "_shape2" + _shape2.Top = -1 + Lb_titlu_alb_b121.Caption = "Calcul Cheiaj" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 15 + BUT_TERMIN1.Anchor = 8 + BUT_TERMIN1.Enabled = .F. + BUT_TERMIN1.Left = 748 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 5 + BUT_TERMIN1.Top = 0 + Gridsort1.Left = 0 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 416 + * + + ADD OBJECT '_label1' AS _label WITH ; + Caption = "Document:", ; + FontBold = .T., ; + Left = 15, ; + Name = "_label1", ; + TabIndex = 25, ; + TabStop = .F., ; + Top = 97 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_label2' AS _label WITH ; + Anchor = 12, ; + Caption = "Valoare finala", ; + FontBold = .T., ; + Left = 533, ; + Name = "_label2", ; + TabIndex = 16, ; + Top = 408 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_label3' AS _label WITH ; + Anchor = 12, ; + Caption = "Valoare cheiaj", ; + FontBold = .T., ; + Left = 672, ; + Name = "_label3", ; + TabIndex = 17, ; + Top = 408 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_label5' AS _label WITH ; + Caption = "Beneficiar:", ; + FontBold = .T., ; + Left = 15, ; + Name = "_label5", ; + TabIndex = 24, ; + TabStop = .F., ; + Top = 70 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'but_cautare_beneficiar' AS but_cautare WITH ; + caction = do_cauta_partener, ; + clistaparametri = 'beneficiar', ; + Enabled = .F., ; + Left = 385, ; + Name = "but_cautare_beneficiar", ; + TabIndex = 10, ; + TabStop = .F., ; + Top = 64 + *< END OBJECT: ClassLib="..\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'but_cautare_client' AS but_cautare WITH ; + caction = do_cauta_partener, ; + clistaparametri = 'client', ; + Enabled = .F., ; + Left = 385, ; + Name = "but_cautare_client", ; + TabIndex = 8, ; + TabStop = .F., ; + Top = 36 + *< END OBJECT: ClassLib="..\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_nou2' AS but_nou WITH ; + Anchor = 12, ; + Left = 706, ; + Name = "But_nou2", ; + TabIndex = 21, ; + Top = 225 + *< END OBJECT: ClassLib="..\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Anchor = 8, ; + Left = 718, ; + Name = "But_renunt1", ; + TabIndex = 6, ; + Top = 0 + *< END OBJECT: ClassLib="..\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge2' AS but_sterge WITH ; + Anchor = 12, ; + caction = do_sterge, ; + Left = 734, ; + Name = "But_sterge2", ; + TabIndex = 23, ; + Top = 225, ; + Visible = .T. + *< END OBJECT: ClassLib="..\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'cboContract' AS _combobox WITH ; + BoundColumn = 2, ; + BoundTo = .T., ; + ControlSource = "thisform.nIdContractClient", ; + Enabled = .F., ; + Height = 24, ; + Left = 485, ; + Name = "cboContract", ; + ReadOnly = .F., ; + RowSource = "select crsContracte.numar as contract, id_ctr, nr_zile_scadenta, tip_curs from crsContracte into cursor crsContracteZ", ; + RowSourceType = 3, ; + TabIndex = 9, ; + TabStop = .F., ; + Top = 38, ; + Width = 175 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="combobox" /> + + ADD OBJECT 'chkIntern' AS _checkbox WITH ; + Alignment = 1, ; + Caption = "Intern:", ; + ControlSource = "thisform.nIntern", ; + Enabled = .F., ; + FontBold = .T., ; + Left = 666, ; + Name = "chkIntern", ; + TabIndex = 13, ; + TabStop = .F., ; + Top = 39 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'chkStornare' AS _checkbox WITH ; + Alignment = 1, ; + Anchor = 8, ; + Caption = "Stornare", ; + ControlSource = "", ; + Enabled = .T., ; + FontBold = .T., ; + ForeColor = 255,0,0, ; + Left = 396, ; + Name = "chkStornare", ; + TabIndex = 11, ; + TabStop = .F., ; + ToolTipText = "Cantitatea si valoarea fiecarei nave va avea semn negativ", ; + Top = 69, ; + Value = 0 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'cmdCalcul' AS cmd_executa WITH ; + Anchor = 8, ; + AutoSize = .T., ; + caction = do_calcul_tarife, ; + Caption = "2. \ + + ADD OBJECT 'cmdPrestatii' AS cmd_executa WITH ; + Anchor = 8, ; + AutoSize = .T., ; + caction = do_genereaza_prestatii, ; + Caption = "1. \ + + ADD OBJECT 'Grid1' AS _grdbase WITH ; + Anchor = 15, ; + ColumnCount = 14, ; + DeleteMark = .F., ; + FontName = "Arial", ; + FontSize = 10, ; + Height = 93, ; + Left = 12, ; + Name = "Grid1", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordSource = "crsBerthings", ; + RowHeight = 19, ; + TabIndex = 2, ; + Top = 120, ; + Width = 756, ; + Column1.BackColor = 205,230,255, ; + Column1.ColumnOrder = 1, ; + Column1.ControlSource = "ales", ; + Column1.FontName = "Arial", ; + Column1.FontSize = 10, ; + Column1.Name = "cAles", ; + Column1.ReadOnly = .F., ; + Column1.Sparse = .F., ; + Column1.Width = 28, ; + Column2.BackColor = 205,230,255, ; + Column2.Bound = .F., ; + Column2.ColumnOrder = 7, ; + Column2.ControlSource = "Iif(Seek(crsBerthings.dana_id,'crsDane','id'),crsDane.dana,'')", ; + Column2.CurrentControl = "Combo1", ; + Column2.FontName = "Arial", ; + Column2.FontSize = 10, ; + Column2.Name = "cDana", ; + Column2.ReadOnly = .F., ; + Column2.Sparse = .F., ; + Column2.Width = 122, ; + Column3.BackColor = 205,230,255, ; + Column3.ColumnOrder = 9, ; + Column3.ControlSource = "trn", ; + Column3.FontName = "Arial", ; + Column3.FontSize = 10, ; + Column3.Name = "CTRN", ; + Column3.ReadOnly = .F., ; + Column3.Sparse = .F., ; + Column3.Width = 58, ; + Column4.BackColor = 205,230,255, ; + Column4.ColumnOrder = 10, ; + Column4.ControlSource = "lbd", ; + Column4.FontName = "Arial", ; + Column4.FontSize = 10, ; + Column4.Name = "CLBD", ; + Column4.ReadOnly = .F., ; + Column4.Sparse = .F., ; + Column4.Width = 57, ; + Column5.BackColor = 205,230,255, ; + Column5.ColumnOrder = 11, ; + Column5.ControlSource = "hp", ; + Column5.FontName = "Arial", ; + Column5.FontSize = 10, ; + Column5.Name = "CHP", ; + Column5.ReadOnly = .F., ; + Column5.Sparse = .F., ; + Column5.Width = 59, ; + Column6.BackColor = 205,230,255, ; + Column6.Bound = .F., ; + Column6.ColumnOrder = 6, ; + Column6.ControlSource = "Iif(Seek(crsBerthings.tipn_id,'crsAramisTipNave','id'),crsAramisTipNave.nume,'')", ; + Column6.FontName = "Arial", ; + Column6.FontSize = 10, ; + Column6.Name = "ctipvas", ; + Column6.ReadOnly = .F., ; + Column6.Sparse = .F., ; + Column6.Width = 228, ; + Column7.Bound = .T., ; + Column7.ColumnOrder = 3, ; + Column7.ControlSource = "nava", ; + Column7.FontName = "Arial", ; + Column7.FontSize = 10, ; + Column7.Name = "cIndicativ", ; + Column7.ReadOnly = .F., ; + Column7.Sparse = .F., ; + Column7.Width = 97, ; + Column8.BackColor = 205,230,255, ; + Column8.ColumnOrder = 8, ; + Column8.ControlSource = "cap", ; + Column8.FontName = "Arial", ; + Column8.FontSize = 10, ; + Column8.Name = "cTcap", ; + Column8.ReadOnly = .F., ; + Column8.Sparse = .F., ; + Column8.Width = 58, ; + Column9.BackColor = 205,230,255, ; + Column9.ColumnOrder = 12, ; + Column9.ControlSource = "LUNG", ; + Column9.FontName = "Arial", ; + Column9.FontSize = 10, ; + Column9.Name = "cLung", ; + Column9.ReadOnly = .F., ; + Column9.Sparse = .F., ; + Column9.Width = 56, ; + Column10.BackColor = 205,230,255, ; + Column10.Bound = .F., ; + Column10.ColumnOrder = 5, ; + Column10.ControlSource = "Iif(Seek(crsBerthings.id_locatia,'crsLocatii','id'),crsLocatii.denumire,'')", ; + Column10.CurrentControl = "Combo1", ; + Column10.FontName = "Arial", ; + Column10.FontSize = 10, ; + Column10.Name = "cLocatia", ; + Column10.ReadOnly = .F., ; + Column10.Sparse = .F., ; + Column10.Width = 130, ; + Column11.ColumnOrder = 4, ; + Column11.ControlSource = "rpt_name", ; + Column11.FontName = "Arial", ; + Column11.FontSize = 10, ; + Column11.Name = "cRptId", ; + Column11.ReadOnly = .F., ; + Column12.BackColor = 205,230,255, ; + Column12.ColumnOrder = 13, ; + Column12.ControlSource = "datai", ; + Column12.FontName = "Arial", ; + Column12.FontSize = 10, ; + Column12.Name = "cDatai", ; + Column12.ReadOnly = .F., ; + Column12.Width = 153, ; + Column13.BackColor = 205,230,255, ; + Column13.ColumnOrder = 14, ; + Column13.ControlSource = "datap", ; + Column13.FontName = "Arial", ; + Column13.FontSize = 10, ; + Column13.Name = "cDatap", ; + Column13.ReadOnly = .F., ; + Column13.Width = 140, ; + Column14.ColumnOrder = 2, ; + Column14.ControlSource = "declaratio", ; + Column14.FontName = "Arial", ; + Column14.FontSize = 10, ; + Column14.Name = "cDeclcdt", ; + Column14.ReadOnly = .T. + *< END OBJECT: ClassLib="..\comun\clase\_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'Grid1.cAles.Check1' AS checkbox WITH ; + Alignment = 0, ; + BackColor = 205,230,255, ; + Caption = "", ; + FontName = "Arial", ; + FontSize = 10, ; + Height = 17, ; + Left = 6, ; + Name = "Check1", ; + ReadOnly = .F., ; + Top = 60, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'Grid1.cAles.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Ales", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cDana.Combo1' AS combobox WITH ; + BackColor = 205,230,255, ; + BorderStyle = 0, ; + BoundColumn = 2, ; + BoundTo = .T., ; + ControlSource = "crsBerthings.dana_id", ; + FontName = "Arial", ; + FontSize = 10, ; + Height = 10, ; + Left = 66, ; + Name = "Combo1", ; + ReadOnly = .F., ; + RowSource = "select crsDane.dana, id from crsDane into cursor crsDaneX order by id", ; + RowSourceType = 3, ; + SpecialEffect = 1, ; + Style = 2, ; + Top = 47, ; + Width = 10 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'Grid1.cDana.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Dana", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cDatai.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data si ora intrare", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cDatai.Text1' AS textbox WITH ; + BackColor = 205,230,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cDatap.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data si ora plecare", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cDatap.Text1' AS textbox WITH ; + BackColor = 205,230,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cDeclcdt.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Declaratia", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cDeclcdt.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.CHP.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "HP", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.CHP.Text1' AS textbox WITH ; + BackColor = 205,230,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cIndicativ.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Indicativ", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cIndicativ.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.CLBD.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "LBD", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.CLBD.Text1' AS textbox WITH ; + BackColor = 205,230,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cLocatia.Combo1' AS combobox WITH ; + BackColor = 205,230,255, ; + BorderStyle = 0, ; + BoundColumn = 2, ; + BoundTo = .T., ; + ControlSource = "crsBerthings.id_locatia", ; + FontName = "Arial", ; + FontSize = 10, ; + Height = 24, ; + Left = 80, ; + Name = "Combo1", ; + ReadOnly = .F., ; + RowSource = "select crsLocatii.denumire, id from crsLocatii into cursor crsLocatiiX1 order by denumire", ; + RowSourceType = 3, ; + Style = 2, ; + Top = 58, ; + Width = 100 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'Grid1.cLocatia.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Locatia", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cLocatia.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cLung.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Lung.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cLung.Text1' AS textbox WITH ; + BackColor = 205,230,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cRptId.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Punct ruta", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cRptId.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cTcap.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cap.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cTcap.Text1' AS textbox WITH ; + BackColor = 205,230,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.ctipvas.Combo1' AS combobox WITH ; + BackColor = 205,230,255, ; + BorderStyle = 0, ; + BoundColumn = 2, ; + BoundTo = .T., ; + ControlSource = "crsBerthings.tipn_id", ; + FontName = "Arial", ; + FontSize = 10, ; + Height = 24, ; + Left = 28, ; + Name = "Combo1", ; + ReadOnly = .F., ; + RowSource = "select crsAramisTipNave.nume, id from crsAramisTipNave into cursor crsAramisTipNaveX order by nume", ; + RowSourceType = 3, ; + SpecialEffect = 1, ; + Style = 2, ; + Top = 83, ; + Width = 100 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'Grid1.ctipvas.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Tip vas", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.CTRN.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "TRN", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.CTRN.Text1' AS textbox WITH ; + BackColor = 205,230,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid2' AS _grdbase WITH ; + Anchor = 14, ; + ColumnCount = 9, ; + DeleteMark = .F., ; + FontName = "Arial", ; + FontSize = 10, ; + Height = 147, ; + Left = 12, ; + Name = "Grid2", ; + Panel = 1, ; + ReadOnly = .F., ; + RecordSource = "crsBerthingDetails", ; + RowHeight = 19, ; + TabIndex = 7, ; + Top = 256, ; + Width = 756, ; + ZOrderSet = 4, ; + Column1.BackColor = 205,230,255, ; + Column1.Bound = .F., ; + Column1.ColumnOrder = 4, ; + Column1.ControlSource = "Iif(Seek(crsBerthingDetails.id_articol,'crsArticole','id_articol'),crsArticole.denumire,'')", ; + Column1.CurrentControl = "Combo1", ; + Column1.FontName = "Arial", ; + Column1.FontSize = 10, ; + Column1.Name = "cArticol", ; + Column1.ReadOnly = .F., ; + Column1.Sparse = .F., ; + Column1.Width = 260, ; + Column2.ColumnOrder = 5, ; + Column2.ControlSource = "tarif", ; + Column2.FontName = "Arial", ; + Column2.FontSize = 10, ; + Column2.Name = "CTARIF", ; + Column2.ReadOnly = .T., ; + Column2.Width = 69, ; + Column3.ColumnOrder = 6, ; + Column3.ControlSource = "valval", ; + Column3.FontName = "Arial", ; + Column3.FontSize = 10, ; + Column3.Name = "CVALVAL", ; + Column3.ReadOnly = .T., ; + Column3.Width = 85, ; + Column4.Bound = .F., ; + Column4.ColumnOrder = 7, ; + Column4.ControlSource = "Iif(Seek(crsBerthingDetails.id_valuta,'crsValute','id_valuta'),crsValute.nume_val,'')", ; + Column4.CurrentControl = "Combo1", ; + Column4.FontName = "Arial", ; + Column4.FontSize = 10, ; + Column4.Name = "CNUMEVALUTA", ; + Column4.ReadOnly = .F., ; + Column4.Sparse = .T., ; + Column4.Width = 73, ; + Column5.BackColor = 205,230,255, ; + Column5.ColumnOrder = 2, ; + Column5.ControlSource = "datai", ; + Column5.FontName = "Arial", ; + Column5.FontSize = 10, ; + Column5.Name = "CDATAI", ; + Column5.ReadOnly = .F., ; + Column5.Width = 102, ; + Column6.BackColor = 205,230,255, ; + Column6.ColumnOrder = 3, ; + Column6.ControlSource = "datap", ; + Column6.FontName = "Arial", ; + Column6.FontSize = 10, ; + Column6.Name = "CDATAP", ; + Column6.ReadOnly = .F., ; + Column6.Width = 108, ; + Column7.ColumnOrder = 8, ; + Column7.ControlSource = "durata", ; + Column7.FontName = "Arial", ; + Column7.FontSize = 10, ; + Column7.Name = "cDurata", ; + Column7.ReadOnly = .F., ; + Column7.Width = 66, ; + Column8.ColumnOrder = 9, ; + Column8.ControlSource = "cant", ; + Column8.FontName = "Arial", ; + Column8.FontSize = 10, ; + Column8.Name = "cCant", ; + Column8.ReadOnly = .F., ; + Column8.Width = 53, ; + Column9.ColumnOrder = 1, ; + Column9.ControlSource = "nava", ; + Column9.FontName = "Arial", ; + Column9.FontSize = 10, ; + Column9.Name = "cIndicativ", ; + Column9.ReadOnly = .T., ; + Column9.Width = 112 + *< END OBJECT: ClassLib="..\comun\clase\_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'Grid2.cArticol.Combo1' AS combobox WITH ; + BackColor = 205,230,255, ; + BorderStyle = 0, ; + BoundColumn = 2, ; + BoundTo = .T., ; + ColumnCount = 2, ; + ColumnLines = .F., ; + ColumnWidths = "250,0", ; + ControlSource = "crsBerthingDetails.id_articol", ; + FontName = "Arial", ; + FontSize = 10, ; + Height = 24, ; + Left = 32, ; + Name = "Combo1", ; + ReadOnly = .F., ; + RowSource = "select crsArticole.denumire, id_articol from crsArticole into cursor crsArticoleX1 order by denumire", ; + RowSourceType = 3, ; + SpecialEffect = 1, ; + Style = 2, ; + Top = 43, ; + Width = 100 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'Grid2.cArticol.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Prestatie", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid2.cCant.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cantitate", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid2.cCant.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid2.CDATAI.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data si ora intrare", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid2.CDATAI.Text1' AS textbox WITH ; + BackColor = 205,230,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid2.CDATAP.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data si ora plecare", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid2.CDATAP.Text1' AS textbox WITH ; + BackColor = 205,230,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid2.cDurata.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Durata", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid2.cDurata.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid2.cIndicativ.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Indicativ", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid2.cIndicativ.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid2.CNUMEVALUTA.Combo1' AS combobox WITH ; + BorderStyle = 0, ; + BoundColumn = 2, ; + BoundTo = .T., ; + ControlSource = "crsBerthingDetails.id_valuta", ; + FontName = "Arial", ; + FontSize = 10, ; + Height = 24, ; + Left = 18, ; + Name = "Combo1", ; + ReadOnly = .F., ; + RowSource = "select nume_val, id_valuta from crsValute order by nume_val into cursor crsValuteX1", ; + RowSourceType = 3, ; + Style = 2, ; + Top = 46, ; + Width = 100 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'Grid2.CNUMEVALUTA.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valuta", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid2.CNUMEVALUTA.Text1' AS textbox WITH ; + Alignment = 3, ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid2.CTARIF.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Tarif/UM", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid2.CTARIF.Text1' AS textbox WITH ; + FontName = "Arial", ; + FontSize = 10, ; + Height = 23, ; + Left = 39, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255, ; + Top = 43, ; + Width = 100 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid2.CVALVAL.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid2.CVALVAL.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Gridextra1' AS gridextra WITH ; + gridexpression = Thisform.Grid1, ; + Left = 493, ; + Name = "Gridextra1", ; + productname = ROA, ; + Top = 179 + *< END OBJECT: ClassLib="..\comun\utile\gridextras\gridextras.vcx" BaseClass="custom" /> + + ADD OBJECT 'Gridextra2' AS gridextra WITH ; + gridexpression = Thisform.Grid2, ; + Left = 514, ; + Name = "Gridextra2", ; + productname = ROA, ; + Top = 350 + *< END OBJECT: ClassLib="..\comun\utile\gridextras\gridextras.vcx" BaseClass="custom" /> + + ADD OBJECT 'lblClient' AS _label WITH ; + Caption = "Platitor/Agent:", ; + FontBold = .T., ; + Left = 15, ; + Name = "lblClient", ; + TabIndex = 19, ; + TabStop = .F., ; + Top = 42 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'lblContract' AS _label WITH ; + Caption = "Contract:", ; + FontBold = .T., ; + Left = 422, ; + Name = "lblContract", ; + TabIndex = 20, ; + TabStop = .F., ; + Top = 42 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'txtBeneficiar' AS _textbox WITH ; + ControlSource = "thisform.cDenumireBeneficiar", ; + Enabled = .F., ; + Height = 23, ; + Left = 110, ; + Name = "txtBeneficiar", ; + ReadOnly = .T., ; + TabIndex = 22, ; + TabStop = .F., ; + Top = 67, ; + Width = 272 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txtClient' AS _textbox WITH ; + ControlSource = "thisform.cDenumireClient", ; + Enabled = .F., ; + Height = 23, ; + Left = 110, ; + Name = "txtClient", ; + ReadOnly = .T., ; + TabIndex = 18, ; + TabStop = .F., ; + Top = 39, ; + Width = 272 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txtDocument' AS _textbox WITH ; + BackColor = 205,230,255, ; + ControlSource = "thisform.cDocument", ; + Enabled = .T., ; + Format = "!K", ; + Height = 23, ; + Left = 110, ; + Name = "txtDocument", ; + ReadOnly = .F., ; + TabIndex = 1, ; + TabStop = .F., ; + Top = 94, ; + Width = 274 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txtValConvoi' AS _textbox WITH ; + Anchor = 12, ; + ControlSource = "THISFORM.CVALOARE_CONVOI", ; + Format = "RK", ; + Height = 23, ; + InputMask = (get_mask(12,gnPVal)), ; + Left = 653, ; + Name = "txtValConvoi", ; + TabIndex = 14, ; + Top = 431, ; + Width = 115 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txtValFinala' AS _textbox WITH ; + Anchor = 12, ; + BackColor = 205,230,255, ; + ControlSource = "THISFORM.CVALOARE_FINALA", ; + Format = "RK", ; + Height = 23, ; + InputMask = (get_mask(12,gnPVal)), ; + Left = 510, ; + Name = "txtValFinala", ; + TabIndex = 12, ; + ToolTipText = "Valoarea finala va suprascrie valoarea calculata pe baza tarifului. Daca valoarea finala este negativa, se considera ca se doreste stornarea valorii.", ; + Top = 432, ; + Width = 115 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="textbox" /> + + PROCEDURE do_adauga + SELECT crsBerthingDetails + APPEND BLANK + this.grid2.SetFocus() + ENDPROC + + PROCEDURE do_calcul_tarife + *!* 10.01.2020 + *!* daca UM tarif este "ZI", cantitatea este 1 in loc de TC/TRN/LBD/CP + *!* serveste la cheiaj iernat 150 euro/luna sau 5 EUR/zi + + * Calcul valoare convoi + Local lcBtsId, lcVesId, lcConditie, lcConditie2, lcUM, ldDataP, ldDatai, llAreBaza, llBaza, llEagent + Local llFound, llPlus, llStornare, lllZile, llimsupbaza, lnCant, lnCap, lnClientCtrId, lnClientCtrId2 + Local lnClientId, lnCorect, lnDurata, lnDurata1, lnHp, lnIdArticol, lnIdValuta, lnIntern, lnLbd + Local lnLimInf, lnLung, lnStornoSemn, lnTarifId, lnTarifTotal, lnTrn, lplus + LOCAL lnValVal, llZile, lcWhereCond, lnValoareConvoi, lnValoareFinala + + lnClientId = This.nIdClient + lnClientCtrId = This.nIdContractClient + If Empty(m.lnClientId) And Empty(m.lnClientCtrId) + AMESSAGEBOX('Alegeti un client si/sau un contract!', 0 + 48, _Screen.Caption) + Return + Endif + SET STEP ON + + lnClientCtrId2 = get_ctr_id_fara_contract() + lnIntern = This.nIntern + llEagent = (This.nEAgent = 1) + + Do make_tarife_cheiaj_contract With m.lnClientCtrId, m.lnClientCtrId2 && crsTarifeDiverseContract + + llStornare = (This.chkStornare.Value = 1) + lnStornoSemn = Iif(m.llStornare, -1, 1) + lnValoareFinala = This.cValoare_finala + + Select crsBerthingDetails + Scan + lnIdArticol = id_articol + lcBtsId = bts_id + lcVesId = ves_id + ldDataP = datap + ldDatai = datai + lnDurata1 = Round((m.ldDataP - m.ldDatai) / 3600, 3) && -->durata in ore + lnDurata = m.lnDurata1 + + lnCap = 0 + lnTrn = 0 + lnLbd = 0 + lnHp = 0 + lnLung = 0 + + Sele crsBerthings + Loca For Id = m.lcBtsId and ves_id = m.lcVesId + If Found() + lnCap = cap + lnTrn = trn + lnLbd = lbd + lnHp = hp + lnLung = lung + Endif + + lcConditie = " ctr_id= " + Allt(Str(lnClientCtrId)) + " and id_articol= " + Allt(Str(lnIdArticol)) + " and lim1*corect< " + Allt(Str(lnDurata1, 20, 3)) + " and lim2*corect>= " + Allt(Str(lnDurata1, 20, 3)) + " and intern=" + Alltrim(Str(m.lnIntern)) + lcConditie2 = " ctr_id = " + Transform(lnClientCtrId2) + " and id_articol= " + Allt(Str(lnIdArticol)) + " and lim1*corect< " + Allt(Str(lnDurata1, 20, 3)) + " and lim2*corect>= " + Allt(Str(lnDurata1, 20, 3)) + " and intern=" + Alltrim(Str(m.lnIntern)) + + llFound = .T. + Select crsTarifeDiverseContract + Loca For &lcConditie + If !Found() + llFound = .F. + * CAUT TARIFUL PENTRU CONTRACTUL GENERAL + Select crsTarifeDiverseContract + Loca For &lcConditie2 + If !Found() + AMESSAGEBOX('Nu exista tariful pentru aceasta prestatie. Alegeti alta prestatie!',0+48,_screen.Caption) + + Sele crsBerthingDetails + Repl cant With 0, durata With 0, valval With 0, id_valuta With Null, TARIF With 0 + + Thisform.GRID2.Refresh + Exit + Else + llFound = .T. + lnClientCtrId = m.lnClientCtrId2 + Endif + Endif + + If !m.llFound + Exit + Endif + + * sunt pe linia cu tariful + lplus = .F. + Select crsTarifeDiverseContract + lnCorect = corect + llAreBaza = (arebaza = 1) + llBaza = (baza = 1) + lnTarifId = Id + lnLimInf = lim1 + lnIdValuta = id_valuta + llPlus = (plus = 1) && DACA TREBUIE ROTUNJIT IN PLUS DURATA (NR ZILE INCEPUT = NR ZILE FACTURAT) + lnTarifTotal = tarif + + + lnDurata = lnDurata / lnCorect && TRANSFORM DURATA DIN ORE IN UNITATEA DE MASURA (ORE SAU ZILE) + If m.llPlus && ROTUNJESC DURATA DACA ESTE NEVOIE + lnDurata = Ceiling(lnDurata) + Endif + + lcUM = Uppe(Allt(UM)) + llZile = .F. + + lnCant = 0 + Do Case + Case Uppe(Allt(lcUM)) = 'ZI' && cheiaj iernat are tariful pe ZI, nu TC/ZI + lnCant = 1 + Case 'TC' $ Uppe(Allt(lcUM)) + lnCant = lnCap + Case 'TRN' $ Uppe(Allt(lcUM)) + lnCant = lnTrn + Case 'ML' $ Uppe(Allt(lcUM)) + lnCant = lnLung + Case 'CP' $ Uppe(Allt(lcUM)) OR 'HP' $ Uppe(Allt(lcUM)) + lnCant = lnHp + Case 'LBP' $ Uppe(Allt(lcUM)) OR 'LBD' $ Uppe(Allt(lcUM)) + lnCant = lnLbd + Otherwise + AMESSAGEBOX('Cazul ' + m.lcUM + ' nu este tratat! Sunati la suportul tehnic.', 0 + 48, _Screen.Caption) + Endcase + If "ZI" $ Uppe(Allt(lcUM)) + llZile = .T. && PENTRU INMULTIREA SI CU NUMARUL DE ZILE DACA ESTE NEVOIE + Endif + + + *----------------------------------------------------------------- + lnValVal = 0 + If m.llAreBaza + lcWhereCond = "lim2<=" + Allt(Str(m.lnLimInf)) + " and BAZA = 1 AND ID <>" + Allt(Str(lnTarifId)) + " AND ctr_id=" + Allt(Str(lnClientCtrId)) + " and id_articol= " + Allt(Str(lnIdArticol)) + " and intern=" + lnIntern + + llimsupbaza = 0 + Sele * From crsTarifeDiverseContract Where &lcWhereCond Into Cursor TBAZA Order By lim1 + Sele TBAZA + Scan + If "ZI" $ Uppe(Allt(UM)) + lllZile = .T. + Else + lllZile = .F. + Endif + lnValVal = lnValVal + tarif * lnCant * Iif(lllZile, (lim2 - lim1), 1) + llimsupbaza = lim2 + Endscan + + Use In TBAZA + Sele crsTarifeDiverseContract + Loca For Id = lnTarifId + lnValVal = lnValVal + tarif * lnCant * Iif(llZile, (lnDurata - llimsupbaza), 1) + Else + lnValVal = crsTarifeDiverseContract.tarif * lnCant * Iif(llZile, lnDurata, 1) + Endif + + lnValVal = ROUND(lnValVal, m.gnPVal) + + Sele crsBerthingDetails + Repl cant With m.lnStornoSemn * lnCant, durata With lnDurata, valval With m.lnStornoSemn * lnValVal, id_valuta With lnIdValuta, TARIF With lnTarifTotal, um WITH m.lcUM + + + Select crsBerthingDetails + Endscan && crsBerthingDetails + + Calculate Sum(valval) To lnValoareConvoi In crsBerthingDetails + + If m.lnValoareFinala <> 0 AND m.lnValoareConvoi <> m.lnValoareFinala + * valoarea finala = valoarea scrisa cu mana de utilizator + + Sele crsBerthingDetails + Replace All valval With Round(m.lnValoareFinala * valval / m.lnValoareConvoi, m.gnPVal) + REPLACE ALL cant With ROUND(valval / tarif, 2) + + * diferenta dintre suma calculata si valoarea finala o pun pe primul rand + Calculate Sum(valval) To lnValoareConvoi In crsBerthingDetails + GO TOP + Replace valval With valval + (m.lnValoareFinala - m.lnValoareConvoi) + Endif + + Calculate Sum(valval) To Thisform.cvaloare_convoi In crsBerthingDetails + Thisform.cvaloare_convoi = ROUND(Thisform.cvaloare_convoi, m.gnPVal) + Thisform.txtValConvoi.Refresh() + + Go Top In crsBerthingDetails + This.but_terMIN1.Enabled = .T. && activez butonul Termin dupa calculul de tarife + ENDPROC + + PROCEDURE do_cauta_partener + LPARAMETERS tcTipPartener + * tcTipPartener: client/beneficiar + loCauta = caut_partener("-1", "Alege partener") + IF LOWER(m.tcTipPartener) = 'client' + this.cDenumireClient = loCauta.denumire + this.nIdClient = locauta.id_part + this.txtClient.Refresh() + this.GetContracteClient(this.nIdClient) + ELSE + this.cDenumireBeneficiar = loCauta.denumire + this.nIdBeneficiar = locauta.id_part + this.txtBeneficiar.Refresh() + ENDIF + ENDPROC + + PROCEDURE do_executa2 + ENDPROC + + PROCEDURE do_genereaza_prestatii + Local lcBtsId, ldDataI, ldDataP, lnDanaId, lnIdArticol, lnTipNId, lcVesId, lcNava + + SELECT crsBerthings + LOCATE FOR ales = 1 AND EMPTY(NVL(id_locatia,0)) + IF FOUND() + AMESSAGEBOX('Completati locatia pe fiecare nava aleasa!',0+48,_screen.Caption) + RETURN .F. + ENDIF + + SELECT crsBerthings + SCAN FOR ales = 1 + lnDanaId = dana_id + lnTipNId = tipn_id + ldDataI = datai + ldDataP = datap + lcBtsId = Id + lcVesId = ves_id + lcNava = ALLTRIM(nava) + lnIdLocatia = id_locatia + + * Daca exista prestatii definite pentru locatia aleasa le adaug cu prioritate, altfel caut in prestatiile pentru orice locatie + * Prestatiile pentru locatia aleasa + Select id_articol From crsCheiajPrestatii Where dana_id = m.lnDanaId And tipn_id = m.lnTipNId AND id_locatia = m.lnIdLocatia Into Cursor cPrestatiiTemp + IF RECCOUNT('cPrestatiiTemp') = 0 + USE IN (SELECT('cPrestatiiTemp')) + + * Prestatiile pentru orice locatie + Select id_articol From crsCheiajPrestatii Where dana_id = m.lnDanaId And tipn_id = m.lnTipNId AND ISNULL(id_locatia) Into Cursor cPrestatiiTemp + ENDIF + + Select cPrestatiiTemp + Scan + lnIdArticol = id_articol + Insert Into crsBerthingDetails (nava, bts_id, ves_id, id_articol, datai, datap) Values (m.lcNava, m.lcBtsId, lcVesId, m.lnIdArticol, m.ldDataI, m.ldDataP) + Endscan + Use In (Select('cPrestatiiTemp')) + Select crsBerthings + Endscan + + this.cmdCalcul.Enabled = .T. + + Sele crsBerthingDetails + Go Top + Thisform.grid2.SetFocus + + + ENDPROC + + PROCEDURE do_sterge + IF AMESSAGEBOX('Doriti sa stergeti inregistrarea?',4+32,_screen.Caption) <> 6 + RETURN + ENDIF + + SELECT crsBerthingDetails + DELETE + TRY + SKIP -1 + CATCH + GO TOP + ENDTRY + + this.grid2.SetFocus() + ENDPROC + + PROCEDURE getcontracteclient + Lparameters tcIdPart + + Local lcSource, lcSelect + lcSelect = SELECT() + lcSource = This.cboContract.RowSource + This.cboContract.RowSource = [] + Do make_contracte With "id_part=" + Alltrim(Str(m.tcIdPart)) && crsContracte + SELECT crsContracte + GO TOP + This.cboContract.RowSource = m.lcSource + + SELECT (m.lcSelect) + + + ENDPROC + + PROCEDURE inainte_de_do_termin + Local lcVVIds, llSucces + Update crsVoyage ; + Set client_id = Thisform.nIdClient, ; + client_ctr_id = Thisform.nIdContractClient, ; + eagent = Thisform.nEAgent, ; + beneficiar_id = Thisform.nIdBeneficiar, ; + tiprecap = Thisform.nTipRecap, ; + intern = Thisform.nIntern, ; + document = UPPER(ALLTRIM(thisform.cDocument)) + + SELECT crsBerthingDetails + LOCATE FOR !EMPTY(tarif) + IF !FOUND() + AMESSAGEBOX('Calculati tarifele!', 0+48, _screen.Caption) + RETURN .F. + ENDIF + + IF EMPTY(thisform.cDocument) + AMESSAGEBOX('Completati documentul!',0+48,_screen.Caption) + this.txtDocument.SetFocus() + RETURN .F. + ENDIF + + lcVVIds = salvare_cheiaj() && proceduri_acnpro.prg + poDate.uuid = m.lcVVIds + *poDate.document = UPPER(ALLTRIM(thisform.cDocument)) + + If Empty(m.lcVVIds) + AMESSAGEBOX('Eroare salvare informatii cheiaj!',0+48,_screen.Caption) + RETURN .F. + ELSE + RETURN .T. + Endif + ENDPROC + + PROCEDURE Init + LPARAMETERS tcTitlu + + DODEFAULT() + + With Thisform + If Used('crsCapFactura') + Select crsCapFactura + Go Top + .cDenumireClient = Alltrim(Nvl(client, '')) + .nIdClient = client_id + .cContractClient = Alltrim(Nvl(contract_client, '')) + .nIdContractClient = client_ctr_id + .cDenumireBeneficiar = Alltrim(Nvl(beneficiar, '')) + .nIdBeneficiar = beneficiar_id + .nEAgent = eagent + .nIntern = intern + Endif + ENDWITH + + IF !EMPTY(m.tcTitlu) and TYPE('tcTitlu') = 'C' + this.lb_titlu_alb_b121.Caption = ALLTRIM(NVL(m.tcTitlu,'')) + ENDIF + + + ENDPROC + + PROCEDURE Show + LPARAMETERS nStyle + DODEFAULT(nStyle) + + THIS.gridextra1.setup() + this.gridextra2.setup() + + this.WindowState = 2 + this.Height = 416 + this.AutoCenter = .T. + + ENDPROC + + PROCEDURE cboContract.Valid + Thisform.nIdContractClient = crsContracte.id_ctr + ENDPROC + + PROCEDURE Grid1.cLocatia.Combo1.Valid + Local lcRptName, lnRecc, lnRecno + lnRecno = Recno('crsBerthings') + lnRecc = Reccount('crsBerthings') + lcRptName = Nvl(rpt_name, 'x') + + If Thisform.nIdLocatia = crsBerthings.id_locatia + Return .T. + Endif + Thisform.nIdLocatia = crsBerthings.id_locatia + + If m.lnRecno < m.lnRecc And AMESSAGEBOX('Se actualizeaza toate locatiile cu acelasi punct ruta?', 4 + 32, _Screen.Caption) = 6 + Replace id_locatia With Thisform.nIdLocatia For Nvl(rpt_name, 'x') = m.lcRptName In crsBerthings + + Select crsBerthings + If m.lnRecno > 0 + Locate For Recno() = m.lnRecno + If !Found() + Go Top + Endif + Endif + Endif + ENDPROC + + PROCEDURE Grid1.cLocatia.Combo1.When + Thisform.nIdLocatia = crsBerthings.id_locatia + RETURN .T. + ENDPROC + + PROCEDURE Grid1.cTcap.Text1.Click + MESSAGEBOX(this.FontName + ' ' + TRANSFORM(this.FontSize)) + ENDPROC + + PROCEDURE Grid1.Init + * Nu sterge. va suprascrie fontul cu Arial Narrow + ENDPROC + + PROCEDURE Grid2.cArticol.Combo1.Valid + *THISFORM.CALCUL(nomprest.id) + *THIS.PARENT.PARENT.REFRESH + + ENDPROC + + PROCEDURE Grid2.Init + * Nu sterge. va suprascrie fontul cu Arial Narrow + *this.SetAll("DynamicBackColor", "IIF(RECNO( )=thisform.recno2, RGB(250,255,190), RGB(255,255,255))", "Column") + ENDPROC + + PROCEDURE txtValFinala.Valid + IF (thisform.chkStornare.value = 0) AND this.Value < 0 + thisform.chkStornare.Value = 1 + thisform.chkStornare.Refresh() + ENDIF + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_calcul_contract AS _frmbase OF "..\comun\clase\_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="txtClient" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="but_cautare_client" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblClient" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblContract" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtBeneficiar" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdArticoleContract" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdArticoleContract.cPerioada.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdArticoleContract.cPerioada.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdArticoleContract.cPerioada._textbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdArticoleContract.cArticol.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdArticoleContract.cArticol.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdArticoleContract.cArticol._combobox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdArticoleContract.cLocatia.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdArticoleContract.cLocatia.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdArticoleContract.cLocatia._combobox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdArticoleContract.cCantitate.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdArticoleContract.cCantitate.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdArticoleContract.cCantitate._textbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdArticoleContract.cUM.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdArticoleContract.cUM.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdArticoleContract.cPret.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdArticoleContract.cPret.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdArticoleContract.cPret._textbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdArticoleContract.cValuta.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdArticoleContract.cValuta.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdArticoleContract.cValuta._combobox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdArticoleContract.cValval.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdArticoleContract.cValval.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdArticoleContract.cCotaTVA.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdArticoleContract.cCotaTVA.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdArticoleContract.cCotaTVA._combobox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="but_cautare_beneficiar" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="chkIntern" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_nou2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cboContract" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtValval" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Gridextra1" UniqueID="" Timestamp="" /> + + * + *m: calculeazapreturi + *m: calculeazapreturirand + *m: calculeazatotaluri + *m: do_cauta_partener + *m: do_executa2 + *m: getcontracteclient + *p: ccontractclient + *p: cdenumirebeneficiar + *p: cdenumireclient + *p: ncantitate + *p: nidbeneficiar + *p: nidclient + *p: nidcontractclient + *p: nintern + *p: npret + *p: nvaloare + *p: nvalval + * + + * + BorderStyle = 3 + ccontractclient = + cdenumirebeneficiar = + cdenumireclient = + DoCreate = .T. + Height = 438 + Name = "frm_calcul_contract" + ncantitate = 0 + nidbeneficiar = 0 + nidclient = 0 + nidcontractclient = 0 + nintern = 1 + npret = 0 + nvaloare = 0 + nvalval = 0 + Width = 779 + _memberdata = + + + + + + + + + + + + + + + + _shape1.Anchor = 10 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 781 + _shape2.Left = 728 + _shape2.Name = "_shape2" + _shape2.Top = -1 + Lb_titlu_alb_b121.Caption = "Calcul Contract" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 15 + BUT_TERMIN1.Anchor = 8 + BUT_TERMIN1.Left = 748 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 6 + BUT_TERMIN1.Top = 0 + Gridsort1.Left = 0 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 416 + * + + ADD OBJECT '_label3' AS _label WITH ; + Anchor = 12, ; + Caption = "Valoare", ; + FontBold = .T., ; + Left = 594, ; + Name = "_label3", ; + TabIndex = 19, ; + Top = 412 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_label5' AS _label WITH ; + Caption = "Beneficiar:", ; + FontBold = .T., ; + Left = 15, ; + Name = "_label5", ; + TabIndex = 22, ; + TabStop = .F., ; + Top = 69 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'but_cautare_beneficiar' AS but_cautare WITH ; + caction = do_cauta_partener, ; + clistaparametri = 'beneficiar', ; + Enabled = .F., ; + Left = 378, ; + Name = "but_cautare_beneficiar", ; + TabIndex = 10, ; + TabStop = .F., ; + Top = 63 + *< END OBJECT: ClassLib="..\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'but_cautare_client' AS but_cautare WITH ; + caction = do_cauta_partener, ; + clistaparametri = 'client', ; + Enabled = .F., ; + Left = 378, ; + Name = "but_cautare_client", ; + TabIndex = 9, ; + TabStop = .F., ; + Top = 35 + *< END OBJECT: ClassLib="..\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_nou2' AS but_nou WITH ; + Anchor = 9, ; + Left = 704, ; + Name = "But_nou2", ; + TabIndex = 23, ; + Top = 72 + *< END OBJECT: ClassLib="..\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Anchor = 8, ; + Left = 718, ; + Name = "But_renunt1", ; + TabIndex = 8, ; + Top = 0 + *< END OBJECT: ClassLib="..\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge2' AS but_sterge WITH ; + Anchor = 9, ; + caction = do_sterge, ; + Left = 732, ; + Name = "But_sterge2", ; + TabIndex = 24, ; + Top = 72, ; + Visible = .T. + *< END OBJECT: ClassLib="..\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'cboContract' AS _combobox WITH ; + BoundColumn = 2, ; + BoundTo = .T., ; + ControlSource = "thisform.nIdContractClient", ; + Enabled = .F., ; + Height = 24, ; + Left = 477, ; + Name = "cboContract", ; + ReadOnly = .F., ; + RowSource = "select crsContracte.numar as contract, id_ctr, nr_zile_scadenta, tip_curs from crsContracte into cursor crsContracteZ", ; + RowSourceType = 3, ; + TabIndex = 4, ; + TabStop = .F., ; + Top = 37, ; + Width = 175 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="combobox" /> + + ADD OBJECT 'chkIntern' AS _checkbox WITH ; + Alignment = 1, ; + Caption = "Intern:", ; + ControlSource = "thisform.nIntern", ; + Enabled = .F., ; + FontBold = .T., ; + Left = 696, ; + Name = "chkIntern", ; + TabIndex = 13, ; + TabStop = .F., ; + Top = 39 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'grdArticoleContract' AS _grdbase WITH ; + Anchor = 15, ; + ColumnCount = 9, ; + DeleteMark = .F., ; + FontSize = 10, ; + HeaderHeight = 20, ; + Height = 300, ; + lcamptextneeditabil = .F., ; + Left = 12, ; + Name = "grdArticoleContract", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordSource = "crsArticoleContract", ; + RowHeight = 19, ; + Top = 102, ; + Width = 756, ; + ZOrderSet = 10, ; + Column1.ColumnOrder = 1, ; + Column1.ControlSource = "crsArticoleContract.perioada", ; + Column1.CurrentControl = "_textbox1", ; + Column1.FontSize = 10, ; + Column1.Name = "cPerioada", ; + Column1.ReadOnly = .F., ; + Column1.Width = 166, ; + Column2.Bound = .F., ; + Column2.ColumnOrder = 3, ; + Column2.ControlSource = "Iif(Seek(crsArticoleContract.id_articol,'crsArticole','id_articol'),crsArticole.denumire,'')", ; + Column2.CurrentControl = "_combobox1", ; + Column2.FontSize = 10, ; + Column2.Name = "cArticol", ; + Column2.ReadOnly = .F., ; + Column2.Sparse = .F., ; + Column2.Width = 161, ; + Column3.Bound = .F., ; + Column3.ColumnOrder = 2, ; + Column3.ControlSource = "Iif(Seek(crsArticoleContract.locatia,'crsLocatii','id'),crsLocatii.denumire,'')", ; + Column3.CurrentControl = "_combobox1", ; + Column3.FontSize = 10, ; + Column3.Name = "cLocatia", ; + Column3.ReadOnly = .F., ; + Column3.Sparse = .F., ; + Column3.Width = 141, ; + Column4.BackColor = 205,230,255, ; + Column4.ColumnOrder = 4, ; + Column4.ControlSource = "crsArticoleContract.cantitate", ; + Column4.CurrentControl = "_textbox1", ; + Column4.FontSize = 10, ; + Column4.Format = "RK", ; + Column4.InputMask = "999 999 999.9999", ; + Column4.Name = "cCantitate", ; + Column4.ReadOnly = .F., ; + Column4.Width = 101, ; + Column5.ColumnOrder = 5, ; + Column5.ControlSource = "crsArticoleContract.um", ; + Column5.FontSize = 10, ; + Column5.Name = "cUM", ; + Column5.ReadOnly = .T., ; + Column5.Width = 36, ; + Column6.BackColor = 205,230,255, ; + Column6.ColumnOrder = 6, ; + Column6.ControlSource = "crsArticoleContract.pret", ; + Column6.CurrentControl = "_textbox1", ; + Column6.FontSize = 10, ; + Column6.Format = "RK", ; + Column6.InputMask = (get_mask(12,4)), ; + Column6.Name = "cPret", ; + Column6.ReadOnly = .F., ; + Column6.Width = 83, ; + Column7.Bound = .F., ; + Column7.ColumnOrder = 7, ; + Column7.ControlSource = "Iif(Seek(crsArticoleContract.id_valuta,'crsValute','id_valuta'),crsValute.nume_val,'')", ; + Column7.CurrentControl = "_combobox1", ; + Column7.FontSize = 10, ; + Column7.Name = "cValuta", ; + Column7.ReadOnly = .F., ; + Column7.Sparse = .F., ; + Column7.Width = 75, ; + Column8.BackColor = 205,230,255, ; + Column8.ColumnOrder = 8, ; + Column8.ControlSource = "crsArticoleContract.valval", ; + Column8.FontSize = 10, ; + Column8.Format = "RK", ; + Column8.InputMask = (get_mask(12,gnPC)), ; + Column8.Name = "cValval", ; + Column8.ReadOnly = .F., ; + Column8.Width = 90, ; + Column9.Bound = .F., ; + Column9.ControlSource = "Iif(Seek(crsArticoleContract.proc_tvav,'crsCoteTVA','proc_tva'),crsCoteTVA.procent,'')", ; + Column9.CurrentControl = "_combobox1", ; + Column9.FontSize = 10, ; + Column9.Name = "cCotaTVA", ; + Column9.ReadOnly = .F., ; + Column9.Sparse = .F. + *< END OBJECT: ClassLib="..\comun\clase\_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grdArticoleContract.cArticol._combobox1' AS _combobox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + BoundColumn = 2, ; + BoundTo = .T., ; + ControlSource = "crsArticoleContract.id_articol", ; + Height = 12, ; + Left = 40, ; + Name = "_combobox1", ; + ReadOnly = .F., ; + RowSource = "select crsArticole.denumire, id_articol, um from crsArticole into cursor crsArticoleY order by denumire", ; + RowSourceType = 3, ; + SpecialEffect = 1, ; + Top = 101 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="combobox" /> + + ADD OBJECT 'grdArticoleContract.cArticol.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Articol", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdArticoleContract.cArticol.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ControlSource = "crsArticoleContract.id_articol", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdArticoleContract.cCantitate._textbox1' AS _textbox WITH ; + BackColor = 205,230,255, ; + BorderStyle = 0, ; + Left = 70, ; + Name = "_textbox1", ; + SelectedBackColor = 100,185,255, ; + Top = 53 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'grdArticoleContract.cCantitate.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cantitate", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdArticoleContract.cCantitate.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdArticoleContract.cCotaTVA._combobox1' AS _combobox WITH ; + BorderStyle = 0, ; + BoundColumn = 2, ; + BoundTo = .T., ; + ControlSource = "crsArticoleContract.proc_tvav", ; + Left = 45, ; + Name = "_combobox1", ; + ReadOnly = .F., ; + RowSource = "select procent, proc_tva from crsCoteTVA order by proc_tva desc into cursor crsCoteTVAY", ; + RowSourceType = 3, ; + SpecialEffect = 1, ; + Top = 89 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="combobox" /> + + ADD OBJECT 'grdArticoleContract.cCotaTVA.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cota TVA", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdArticoleContract.cCotaTVA.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdArticoleContract.cLocatia._combobox1' AS _combobox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + BoundColumn = 2, ; + BoundTo = .T., ; + ControlSource = "crsArticoleContract.id_locatia", ; + Left = 86, ; + Name = "_combobox1", ; + ReadOnly = .F., ; + RowSource = "select crsLocatii.denumire, id from crsLocatii into cursor crsLocatiiX1 order by denumire", ; + RowSourceType = 3, ; + SpecialEffect = 1, ; + Top = 65 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="combobox" /> + + ADD OBJECT 'grdArticoleContract.cLocatia.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Locatia", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdArticoleContract.cLocatia.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdArticoleContract.cPerioada._textbox1' AS _textbox WITH ; + BorderStyle = 0, ; + Left = 61, ; + Name = "_textbox1", ; + SelectedBackColor = 100,185,255, ; + Top = 89 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'grdArticoleContract.cPerioada.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Perioada", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdArticoleContract.cPerioada.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdArticoleContract.cPret._textbox1' AS _textbox WITH ; + BackColor = 205,230,255, ; + BorderStyle = 0, ; + Left = 38, ; + Name = "_textbox1", ; + SelectedBackColor = 100,185,255, ; + Top = 53 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'grdArticoleContract.cPret.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdArticoleContract.cPret.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdArticoleContract.cUM.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Um", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdArticoleContract.cUM.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdArticoleContract.cValuta._combobox1' AS _combobox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + BoundColumn = 2, ; + BoundTo = .T., ; + ControlSource = "crsArticoleContract.id_valuta", ; + Left = 32, ; + Name = "_combobox1", ; + RowSource = "select nume_val, id_valuta from crsValute order by nume_val into cursor crsValuteY", ; + RowSourceType = 3, ; + SpecialEffect = 1, ; + Top = 65 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="combobox" /> + + ADD OBJECT 'grdArticoleContract.cValuta.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valuta", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdArticoleContract.cValuta.Text1' AS textbox WITH ; + BackColor = 139,199,216, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdArticoleContract.cValval.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdArticoleContract.cValval.Text1' AS textbox WITH ; + BackColor = 205,230,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Gridextra1' AS gridextra WITH ; + gridexpression = Thisform.grdArticoleContract, ; + Left = 276, ; + Name = "Gridextra1", ; + productname = ROA, ; + Top = 414 + *< END OBJECT: ClassLib="..\comun\utile\gridextras\gridextras.vcx" BaseClass="custom" /> + + ADD OBJECT 'lblClient' AS _label WITH ; + Caption = "Platitor:", ; + FontBold = .T., ; + Left = 15, ; + Name = "lblClient", ; + TabIndex = 18, ; + TabStop = .F., ; + Top = 41 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'lblContract' AS _label WITH ; + Caption = "Contract:", ; + FontBold = .T., ; + Left = 415, ; + Name = "lblContract", ; + TabIndex = 20, ; + TabStop = .F., ; + Top = 41 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'txtBeneficiar' AS _textbox WITH ; + ControlSource = "thisform.cDenumireBeneficiar", ; + Enabled = .F., ; + Height = 23, ; + Left = 84, ; + Name = "txtBeneficiar", ; + ReadOnly = .T., ; + TabIndex = 21, ; + TabStop = .F., ; + Top = 66, ; + Width = 288 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txtClient' AS _textbox WITH ; + ControlSource = "thisform.cDenumireClient", ; + Enabled = .F., ; + Height = 23, ; + Left = 84, ; + Name = "txtClient", ; + ReadOnly = .T., ; + TabIndex = 16, ; + TabStop = .F., ; + Top = 38, ; + Width = 288 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txtValval' AS _textbox WITH ; + Anchor = 12, ; + ControlSource = "thisform.nValval", ; + Format = "RK", ; + Height = 23, ; + InputMask = (get_mask(12,gnPC)), ; + Left = 653, ; + Name = "txtValval", ; + TabIndex = 14, ; + Top = 408, ; + Width = 115 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="textbox" /> + + PROCEDURE calculeazapreturi + SELECT crsArticoleContract + SCAN + This.CalculeazaPreturiRand() + ENDSCAN + This.CalculeazaTotaluri() + ENDPROC + + PROCEDURE calculeazapreturirand + LPARAMETERS tlValoare + * tlValoare: daca se modifica valoarea se recalculeaza pretul unitar si invers + + Local lcSelect + lcSelect = Select() + + Select crsArticoleContract + IF m.tlValoare + Replace pret WITH ROUND(valval/cantitate, 4) + this.grdArticoleContract.cPret.Refresh() + ELSE + Replace valval With Round(Pret * cantitate, m.gnPC) + this.grdArticoleContract.cValval.Refresh() + ENDIF + + Select (m.lcSelect) + ENDPROC + + PROCEDURE calculeazatotaluri + Local lnRecno + Select crsArticoleContract + lnRecno = Recno() + Calculate Sum(valval) To Thisform.nValVal + + Select crsArticoleContract + If m.lnRecno > 0 + Locate For Recno() = m.lnRecno + If !Found() + Go Top + Endif + Endif + Thisform.txtValval.Refresh() + + ENDPROC + + PROCEDURE do_adauga + LOCAL loRec + + SELECT crsArticoleContract + TABLEUPDATE(1,.F., 'crsArticoleContract') && DADEA EROARE CURSOR CONTAINES UNCOMMITED CHANGES DACA COMPLETAM PERIOADA PE VREO LINIE + IF !EMPTY(NVL(crsArticoleContract.id_articol,0)) + SCATTER NAME loRec MEMO + APPEND BLANK + GATHER NAME loRec MEMO + ELSE + APPEND BLANK + ENDIF + this.grdArticoleContract.cArticol.SetFocus() + ENDPROC + + PROCEDURE do_cauta_partener + LPARAMETERS tcTipPartener + * tcTipPartener: client/beneficiar + loCauta = caut_partener("-1", "Alege partener") + IF LOWER(m.tcTipPartener) = 'client' + this.cDenumireClient = loCauta.denumire + this.nIdClient = locauta.id_part + this.txtClient.Refresh() + this.GetContracteClient(this.nIdClient) + ELSE + this.cDenumireBeneficiar = loCauta.denumire + this.nIdBeneficiar = locauta.id_part + this.txtBeneficiar.Refresh() + ENDIF + ENDPROC + + PROCEDURE do_executa2 + ENDPROC + + PROCEDURE do_sterge + If AMESSAGEBOX('Doriti sa stergeti inregistrarea?',4+32,_Screen.Caption) <> 6 + Return + Endif + + Select crsArticoleContract + Delete + Try + If !Bof() + Skip -1 + Endif + Catch + Go Top + Endtry + This.grdArticoleContract.cArticol.SetFocus() + + ENDPROC + + PROCEDURE getcontracteclient + Lparameters tcIdPart + + Local lcSource, lcSelect + lcSelect = SELECT() + lcSource = This.cboContract.RowSource + This.cboContract.RowSource = [] + Do make_contracte With "id_part=" + Alltrim(Str(m.tcIdPart)) && crsContracte + SELECT crsContracte + GO TOP + This.cboContract.RowSource = m.lcSource + + SELECT (m.lcSelect) + + + ENDPROC + + PROCEDURE inainte_de_do_termin + Local lcRgdIds, llSucces + + TABLEUPDATE(1,.F., 'crsArticoleContract') + SELECT crsArticoleContract + LOCATE FOR ISNULL(proc_tvav) + IF FOUND() + AMESSAGEBOX('Completati cota de TVA la toate articolele!',0+48,_screen.Caption) + This.grdArticoleContract.cCotaTVA.SetFocus() + RETURN .F. + ENDIF + + Update crsArticoleContract ; + Set id_part = Thisform.nIdClient, ; + id_ctr = Thisform.nIdContractClient + + lcRgdIds = salvare_contract() && proceduri_acnpro.prg + + If Empty(m.lcRgdIds) + AMESSAGEBOX('Eroare salvare informatii contract!',0+48,_screen.Caption) + RETURN .F. + ENDIF + RETURN .T. + + ENDPROC + + PROCEDURE Init + LPARAMETERS tcTitlu + + DODEFAULT() + + With Thisform + If Used('crsCapFactura') + Select crsCapFactura + Go Top + .cDenumireClient = Alltrim(Nvl(client, '')) + .nIdClient = client_id + .cContractClient = Alltrim(Nvl(contract_client, '')) + .nIdContractClient = client_ctr_id + .cDenumireBeneficiar = Alltrim(Nvl(beneficiar, '')) + .nIdBeneficiar = beneficiar_id + .nIntern = intern + Endif + ENDWITH + + IF !EMPTY(m.tcTitlu) and TYPE('tcTitlu') = 'C' + this.lb_titlu_alb_b121.Caption = ALLTRIM(NVL(m.tcTitlu,'')) + ENDIF + + This.CalculeazaTotaluri() + SELECT crsArticoleContract + GO TOP + this.grdArticoleContract.cPerioada.SetFocus() + ENDPROC + + PROCEDURE Show + LPARAMETERS nStyle + DODEFAULT(nStyle) + + this.WindowState = 2 + this.Height = 468 + this.AutoCenter = .T. + this.gridextra1.setup() + ENDPROC + + PROCEDURE cboContract.Valid + Thisform.nIdContractClient = crsContracte.id_ctr + ENDPROC + + PROCEDURE grdArticoleContract.cArticol._combobox1.Valid + REPLACE crsArticoleContract.um WITH crsArticoleY.um + ENDPROC + + PROCEDURE grdArticoleContract.cCantitate.Text1.LostFocus + IF crsArticoleContract.cantitate <> Thisform.nCantitate + Thisform.CalculeazaPreturiRand() + THisform.CalculeazaTotaluri() + ENDIF + ENDPROC + + PROCEDURE grdArticoleContract.cCantitate.Text1.When + Thisform.nCantitate = crsArticoleContract.cantitate + ENDPROC + + PROCEDURE grdArticoleContract.cCantitate._textbox1.LostFocus + IF crsArticoleContract.cantitate <> Thisform.nCantitate + Thisform.CalculeazaPreturiRand() + THisform.CalculeazaTotaluri() + ENDIF + ENDPROC + + PROCEDURE grdArticoleContract.cCantitate._textbox1.When + Thisform.nCantitate = crsArticoleContract.cantitate + ENDPROC + + PROCEDURE grdArticoleContract.cPret.Text1.LostFocus + IF crsArticoleContract.pret <> Thisform.nPret + Thisform.CalculeazaPreturiRand() + THisform.CalculeazaTotaluri() + ENDIF + ENDPROC + + PROCEDURE grdArticoleContract.cPret.Text1.When + Thisform.nPret = crsArticoleContract.pret + ENDPROC + + PROCEDURE grdArticoleContract.cPret._textbox1.LostFocus + IF crsArticoleContract.pret <> Thisform.nPret + Thisform.CalculeazaPreturiRand() + THisform.CalculeazaTotaluri() + ENDIF + ENDPROC + + PROCEDURE grdArticoleContract.cPret._textbox1.When + Thisform.nPret = crsArticoleContract.pret + ENDPROC + + PROCEDURE grdArticoleContract.cValval.Text1.LostFocus + IF crsArticoleContract.valval <> Thisform.nValoare + Thisform.CalculeazaPreturiRand(.T.) + THisform.CalculeazaTotaluri() + ENDIF + ENDPROC + + PROCEDURE grdArticoleContract.cValval.Text1.When + Thisform.nValoare = crsArticoleContract.valval + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_calcul_tranzit AS _frmbase OF "..\comun\clase\_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="grdTranzit" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.Column2.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.CKMI.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.CKMI.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.CKMI._textbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cGrupaVas.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cGrupaVas.Combo1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.CTRN.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.CTRN.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.CTRN._textbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.CLBD.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.CLBD.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.CLBD._textbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.CHP.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.CHP.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.CHP._textbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.CTCAP.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.CTCAP.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.CTCAP._textbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.CCARGO.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.CCARGO.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.CFELCARGO.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.CFELCARGO.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.ctipvas.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.ctipvas.Combo1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.ctipvas._combobox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.ccuplat.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.ccuplat.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cruta.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cruta.Combo1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.ccodruta.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.ccodruta.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.CINDICATIV.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.CINDICATIV.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.CINDICATIV._textbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cProcDiv.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cProcDiv.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cProcDiv._textbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cGrupaMarfa.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cGrupaMarfa.Combo1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cPericulos.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cPericulos.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cDistantaCDMN.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cDistantaCDMN.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cDistantaCDMN._textbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cTarif.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cTarif.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cValoare.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cValoare.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cValuta.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cValuta.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cDeclaratie.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cDeclaratie.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cEcluzari.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cEcluzari.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cEclDif.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cEclDif.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cEclDif._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cMarfaCountry.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cMarfaCountry.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtValFinala" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtValConvoi" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtValMInConvoi" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtCap" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cmdTarife" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblEcluzari" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtClient" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="but_cautare_client" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cboContract" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblClient" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblContract" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtBeneficiar" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="but_cautare_beneficiar" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="chkIntern" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="chkStornare" UniqueID="" Timestamp="" /> + + * + *m: do_cauta_partener + *m: do_executa2 + *m: getcontracteclient + *p: ccontractclient + *p: cdenumirebeneficiar + *p: cdenumireclient + *p: cvaloare_convoi + *p: cvaloare_finala + *p: cvaloare_minima_convoi + *p: ncapacitateclient + *p: ncapacitatetotal + *p: neagent + *p: nidbeneficiar + *p: nidclient + *p: nidcontractclient + *p: nintern + *p: ntiprecap && 0 = recapitulatie standard, 1 = fara recapitulatie pentru ca valoarea totala a fost suprascrisa de utilizaotr + * + + * + BorderStyle = 3 + ccontractclient = + cdenumirebeneficiar = + cdenumireclient = + cvaloare_convoi = 0 + cvaloare_finala = 0 + cvaloare_minima_convoi = 0 + DoCreate = .T. + Height = 416 + Name = "frm_calcul_tranzit" + ncapacitateclient = 0 + ncapacitatetotal = 0 + neagent = 0 + nidbeneficiar = 0 + nidclient = 0 + nidcontractclient = 0 + nintern = 1 + ntiprecap = 0 + Width = 779 + WindowState = 2 + _memberdata = + + + + + + + + + + + + + _shape1.Anchor = 10 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 780 + _shape2.Left = 728 + _shape2.Name = "_shape2" + _shape2.Top = -1 + Lb_titlu_alb_b121.Caption = "Calcul Tranzit" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 9 + BUT_TERMIN1.Anchor = 8 + BUT_TERMIN1.Enabled = .F. + BUT_TERMIN1.Left = 748 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 10 + BUT_TERMIN1.Top = 0 + Gridsort1.Left = 0 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 403 + * + + ADD OBJECT '_label1' AS _label WITH ; + Anchor = 12, ; + Caption = "Valoare finala", ; + FontBold = .T., ; + Left = 314, ; + Name = "_label1", ; + TabIndex = 15, ; + Top = 357 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_label2' AS _label WITH ; + Anchor = 12, ; + Caption = "Valoare tranzit", ; + FontBold = .T., ; + Left = 441, ; + Name = "_label2", ; + TabIndex = 17, ; + Top = 357 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_label3' AS _label WITH ; + Anchor = 12, ; + Caption = "Valoare minima", ; + FontBold = .T., ; + Left = 565, ; + Name = "_label3", ; + TabIndex = 18, ; + Top = 357 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_label4' AS _label WITH ; + Anchor = 12, ; + Caption = "Total capacitate", ; + FontBold = .T., ; + Left = 673, ; + Name = "_label4", ; + TabIndex = 16, ; + Top = 357 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_label5' AS _label WITH ; + Caption = "Beneficiar:", ; + FontBold = .T., ; + Left = 15, ; + Name = "_label5", ; + TabIndex = 24, ; + TabStop = .F., ; + Top = 69 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'but_cautare_beneficiar' AS but_cautare WITH ; + caction = do_cauta_partener, ; + clistaparametri = 'beneficiar', ; + Enabled = .F., ; + Left = 384, ; + Name = "but_cautare_beneficiar", ; + TabIndex = 3, ; + TabStop = .F., ; + Top = 63 + *< END OBJECT: ClassLib="..\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'but_cautare_client' AS but_cautare WITH ; + caction = do_cauta_partener, ; + clistaparametri = 'client', ; + Enabled = .F., ; + Left = 384, ; + Name = "but_cautare_client", ; + TabIndex = 1, ; + TabStop = .F., ; + Top = 35 + *< END OBJECT: ClassLib="..\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Anchor = 8, ; + Left = 720, ; + Name = "But_renunt1", ; + Top = 0 + *< END OBJECT: ClassLib="..\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'cboContract' AS _combobox WITH ; + BoundColumn = 2, ; + BoundTo = .T., ; + ControlSource = "thisform.nIdContractClient", ; + Enabled = .F., ; + Height = 24, ; + Left = 484, ; + Name = "cboContract", ; + ReadOnly = .F., ; + RowSource = "select crsContracte.numar as contract, id_ctr, nr_zile_scadenta, tip_curs from crsContracte into cursor crsContracteZ", ; + RowSourceType = 3, ; + TabIndex = 2, ; + TabStop = .F., ; + Top = 37, ; + Width = 175 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="combobox" /> + + ADD OBJECT 'chkIntern' AS _checkbox WITH ; + Alignment = 1, ; + Caption = "Intern:", ; + ControlSource = "thisform.nIntern", ; + Enabled = .F., ; + FontBold = .T., ; + Left = 684, ; + Name = "chkIntern", ; + TabIndex = 5, ; + TabStop = .F., ; + Top = 39 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'chkStornare' AS _checkbox WITH ; + Alignment = 1, ; + Anchor = 8, ; + Caption = "Stornare", ; + ControlSource = "", ; + Enabled = .T., ; + FontBold = .T., ; + ForeColor = 255,0,0, ; + Left = 563, ; + Name = "chkStornare", ; + TabIndex = 5, ; + TabStop = .F., ; + ToolTipText = "Cantitatea si valoarea fiecarei nave va avea semn negativ", ; + Top = 67, ; + Value = 0 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'cmdTarife' AS cmd_executa WITH ; + Anchor = 8, ; + AutoSize = .T., ; + Caption = "\ + + ADD OBJECT 'grdTranzit' AS _grdbase WITH ; + Anchor = 15, ; + ColumnCount = 25, ; + DeleteMark = .F., ; + FontName = "Arial", ; + Height = 229, ; + Left = 12, ; + Name = "grdTranzit", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordSource = "crsVoyages", ; + TabIndex = 6, ; + Top = 96, ; + Width = 756, ; + Column1.BackColor = 139,199,216, ; + Column1.ColumnOrder = 1, ; + Column1.ControlSource = "ales", ; + Column1.FontName = "Arial", ; + Column1.Name = "Column2", ; + Column1.ReadOnly = .F., ; + Column1.Sparse = .F., ; + Column1.Width = 28, ; + Column2.BackColor = 139,199,216, ; + Column2.ColumnOrder = 8, ; + Column2.ControlSource = "crsVoyages.distanta", ; + Column2.CurrentControl = "_textbox1", ; + Column2.FontName = "Arial", ; + Column2.Name = "CKMI", ; + Column2.ReadOnly = .F., ; + Column2.Sparse = .F., ; + Column2.Width = 62, ; + Column3.ColumnOrder = 5, ; + Column3.ControlSource = "grupa_nava", ; + Column3.CurrentControl = "Combo1", ; + Column3.FontName = "Arial", ; + Column3.Name = "cGrupaVas", ; + Column3.ReadOnly = .T., ; + Column3.Sparse = .F., ; + Column3.Width = 162, ; + Column4.BackColor = 139,199,216, ; + Column4.ColumnOrder = 11, ; + Column4.ControlSource = "crsVoyages.TRN", ; + Column4.CurrentControl = "_textbox1", ; + Column4.FontName = "Arial", ; + Column4.Name = "CTRN", ; + Column4.ReadOnly = .F., ; + Column4.Sparse = .F., ; + Column4.Width = 57, ; + Column5.BackColor = 139,199,216, ; + Column5.ColumnOrder = 12, ; + Column5.ControlSource = "crsVoyages.LBD", ; + Column5.CurrentControl = "_textbox1", ; + Column5.FontName = "Arial", ; + Column5.Name = "CLBD", ; + Column5.ReadOnly = .F., ; + Column5.Sparse = .F., ; + Column5.Width = 51, ; + Column6.BackColor = 139,199,216, ; + Column6.ColumnOrder = 13, ; + Column6.ControlSource = "crsVoyages.HP", ; + Column6.CurrentControl = "_textbox1", ; + Column6.FontName = "Arial", ; + Column6.Name = "CHP", ; + Column6.ReadOnly = .F., ; + Column6.Sparse = .F., ; + Column6.Width = 54, ; + Column7.BackColor = 139,199,216, ; + Column7.ColumnOrder = 14, ; + Column7.ControlSource = "crsVoyages.TCAP", ; + Column7.CurrentControl = "_textbox1", ; + Column7.FontName = "Arial", ; + Column7.Name = "CTCAP", ; + Column7.ReadOnly = .F., ; + Column7.Sparse = .F., ; + Column7.Width = 61, ; + Column8.ColumnOrder = 15, ; + Column8.ControlSource = "CARGO", ; + Column8.FontName = "Arial", ; + Column8.Name = "CCARGO", ; + Column8.ReadOnly = .T., ; + Column9.ColumnOrder = 16, ; + Column9.ControlSource = "FELCARGO", ; + Column9.FontName = "Arial", ; + Column9.Name = "CFELCARGO", ; + Column9.ReadOnly = .T., ; + Column9.Width = 166, ; + Column10.BackColor = 139,199,216, ; + Column10.ColumnOrder = 4, ; + Column10.ControlSource = "TIP_NAVA", ; + Column10.CurrentControl = "_combobox1", ; + Column10.FontName = "Arial", ; + Column10.Name = "ctipvas", ; + Column10.ReadOnly = .F., ; + Column10.Sparse = .F., ; + Column10.Width = 172, ; + Column11.BackColor = 252,255,225, ; + Column11.ColumnOrder = 10, ; + Column11.ControlSource = "CUPLAT", ; + Column11.FontName = "Arial", ; + Column11.Name = "ccuplat", ; + Column11.ReadOnly = .T., ; + Column11.Sparse = .F., ; + Column11.Width = 42, ; + Column12.BackColor = 252,255,225, ; + Column12.Bound = .T., ; + Column12.ColumnOrder = 7, ; + Column12.ControlSource = "crsVoyages.ruta", ; + Column12.FontName = "Arial", ; + Column12.Name = "cruta", ; + Column12.ReadOnly = .T., ; + Column12.Sparse = .F., ; + Column12.Width = 152, ; + Column13.ColumnOrder = 6, ; + Column13.ControlSource = "RTE_ID", ; + Column13.FontName = "Arial", ; + Column13.Name = "ccodruta", ; + Column13.ReadOnly = .T., ; + Column13.Width = 50, ; + Column14.BackColor = 139,199,216, ; + Column14.ColumnOrder = 3, ; + Column14.ControlSource = "INDICATIV", ; + Column14.CurrentControl = "_textbox1", ; + Column14.FontName = "Arial", ; + Column14.Name = "CINDICATIV", ; + Column14.ReadOnly = .F., ; + Column14.Sparse = .F., ; + Column14.Width = 97, ; + Column15.BackColor = 139,199,216, ; + Column15.ColumnOrder = 18, ; + Column15.ControlSource = "procdiv", ; + Column15.CurrentControl = "_textbox1", ; + Column15.FontName = "Arial", ; + Column15.Name = "cProcDiv", ; + Column15.ReadOnly = .F., ; + Column15.Sparse = .F., ; + Column15.Width = 64, ; + Column16.ColumnOrder = 17, ; + Column16.ControlSource = "grupa_marfa", ; + Column16.CurrentControl = "Combo1", ; + Column16.FontName = "Arial", ; + Column16.Name = "cGrupaMarfa", ; + Column16.ReadOnly = .T., ; + Column16.Sparse = .F., ; + Column16.Width = 144, ; + Column17.BackColor = 139,199,216, ; + Column17.ColumnOrder = 19, ; + Column17.ControlSource = "periculos", ; + Column17.FontName = "Arial", ; + Column17.Name = "cPericulos", ; + Column17.ReadOnly = .F., ; + Column17.Sparse = .F., ; + Column17.Width = 66, ; + Column18.BackColor = 139,199,216, ; + Column18.ColumnOrder = 9, ; + Column18.ControlSource = "crsVoyages.distanta_cdmn", ; + Column18.CurrentControl = "_textbox1", ; + Column18.FontName = "Arial", ; + Column18.Name = "cDistantaCDMN", ; + Column18.ReadOnly = .F., ; + Column18.Sparse = .F., ; + Column18.Width = 89, ; + Column19.BackColor = 136,219,194, ; + Column19.ColumnOrder = 20, ; + Column19.ControlSource = "tarif", ; + Column19.FontName = "Arial", ; + Column19.Name = "cTarif", ; + Column19.ReadOnly = .F., ; + Column20.BackColor = 136,219,194, ; + Column20.ColumnOrder = 21, ; + Column20.ControlSource = "valval", ; + Column20.FontName = "Arial", ; + Column20.Name = "cValoare", ; + Column20.ReadOnly = .F., ; + Column21.ColumnOrder = 22, ; + Column21.ControlSource = "valuta", ; + Column21.FontName = "Arial", ; + Column21.Name = "cValuta", ; + Column21.ReadOnly = .T., ; + Column22.ColumnOrder = 2, ; + Column22.ControlSource = "declaratio", ; + Column22.FontName = "Arial", ; + Column22.Name = "cDeclaratie", ; + Column22.ReadOnly = .T., ; + Column23.ControlSource = "ecluzari", ; + Column23.FontName = "Arial", ; + Column23.Name = "cEcluzari", ; + Column23.ReadOnly = .T., ; + Column23.Width = 366, ; + Column24.ControlSource = "ecldif", ; + Column24.CurrentControl = "_checkbox1", ; + Column24.FontName = "Arial", ; + Column24.Name = "cEclDif", ; + Column24.ReadOnly = .T., ; + Column24.Sparse = .F., ; + Column24.Width = 87, ; + Column25.ControlSource = "marfa_country", ; + Column25.FontName = "Arial", ; + Column25.Name = "cMarfaCountry", ; + Column25.ReadOnly = .T., ; + Column25.Width = 101 + *< END OBJECT: ClassLib="..\comun\clase\_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grdTranzit.CCARGO.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cargo", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.CCARGO.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.ccodruta.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod ruta", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.ccodruta.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.ccuplat.Check1' AS checkbox WITH ; + Alignment = 0, ; + BackColor = 252,255,225, ; + Caption = "", ; + FontName = "Arial", ; + Height = 17, ; + Left = 26, ; + Name = "Check1", ; + ReadOnly = .T., ; + Top = 47, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'grdTranzit.ccuplat.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cuplat", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cDeclaratie.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Declaratie", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cDeclaratie.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cDistantaCDMN._textbox1' AS _textbox WITH ; + BorderStyle = 0, ; + Left = 27, ; + Name = "_textbox1", ; + SelectedBackColor = 100,185,255, ; + Top = 47 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cDistantaCDMN.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Distanta CDMN", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cDistantaCDMN.Text1' AS textbox WITH ; + BackColor = 139,199,216, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cEclDif._checkbox1' AS _checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + ControlSource = "ecldif", ; + Left = 78, ; + Name = "_checkbox1", ; + ReadOnly = .T., ; + Top = 47 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'grdTranzit.cEclDif.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Ecluzari diferite", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cEclDif.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cEcluzari.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Ecluzari", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cEcluzari.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.CFELCARGO.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Marfa", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.CFELCARGO.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cGrupaMarfa.Combo1' AS combobox WITH ; + BorderStyle = 0, ; + Height = 10, ; + Left = 85, ; + Name = "Combo1", ; + ReadOnly = .F., ; + RowSource = "crsGrupeMarfa.grupa", ; + RowSourceType = 6, ; + SpecialEffect = 1, ; + Style = 2, ; + Top = 47, ; + Width = 10 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'grdTranzit.cGrupaMarfa.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Grupa marfa", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cGrupaVas.Combo1' AS combobox WITH ; + BorderStyle = 0, ; + Height = 10, ; + Left = 66, ; + Name = "Combo1", ; + ReadOnly = .F., ; + RowSource = "crsGrupeVase.grupa", ; + RowSourceType = 6, ; + SpecialEffect = 1, ; + Style = 2, ; + Top = 47, ; + Width = 10 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'grdTranzit.cGrupaVas.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Grupa vas", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.CHP._textbox1' AS _textbox WITH ; + BorderStyle = 0, ; + Left = 36, ; + Name = "_textbox1", ; + SelectedBackColor = 100,185,255, ; + Top = 83 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.CHP.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "HP", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.CHP.Text1' AS textbox WITH ; + BackColor = 139,199,216, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.CINDICATIV._textbox1' AS _textbox WITH ; + BorderStyle = 0, ; + Left = 52, ; + Name = "_textbox1", ; + SelectedBackColor = 100,185,255, ; + Top = 71 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.CINDICATIV.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Indicativ", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.CINDICATIV.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.CKMI._textbox1' AS _textbox WITH ; + BorderStyle = 0, ; + Left = 6, ; + Name = "_textbox1", ; + SelectedBackColor = 100,185,255, ; + Top = 59 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.CKMI.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Distanta", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.CKMI.Text1' AS textbox WITH ; + BackColor = 139,199,216, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.CLBD._textbox1' AS _textbox WITH ; + BorderStyle = 0, ; + Left = 40, ; + Name = "_textbox1", ; + SelectedBackColor = 100,185,255, ; + Top = 71 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.CLBD.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "LBD", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.CLBD.Text1' AS textbox WITH ; + BackColor = 139,199,216, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cMarfaCountry.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pavilion marfa", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cMarfaCountry.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.Column2.Check1' AS checkbox WITH ; + Alignment = 0, ; + BackColor = 139,199,216, ; + Caption = "", ; + FontName = "Arial", ; + Height = 17, ; + Left = 6, ; + Name = "Check1", ; + ReadOnly = .F., ; + Top = 60, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'grdTranzit.Column2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Ales", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cPericulos.Check1' AS checkbox WITH ; + Alignment = 2, ; + BackColor = 139,199,216, ; + Caption = "", ; + Height = 17, ; + Left = 34, ; + Name = "Check1", ; + ReadOnly = .F., ; + Top = 59, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'grdTranzit.cPericulos.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Periculos", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cProcDiv._textbox1' AS _textbox WITH ; + BorderStyle = 0, ; + Left = 48, ; + Name = "_textbox1", ; + SelectedBackColor = 100,185,255, ; + Top = 59 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cProcDiv.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Coef. Supl.", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cProcDiv.Text1' AS textbox WITH ; + BackColor = 139,199,216, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cruta.Combo1' AS combobox WITH ; + BackColor = 252,255,225, ; + BorderStyle = 0, ; + BoundColumn = 1, ; + ColumnCount = 3, ; + ColumnLines = .F., ; + ColumnWidths = "300,100,100", ; + FontName = "Arial", ; + Height = 24, ; + Left = 34, ; + Name = "Combo1", ; + ReadOnly = .F., ; + RowSource = "crsRoutes.name,distanta,id", ; + RowSourceType = 6, ; + SpecialEffect = 1, ; + Style = 2, ; + Top = 24, ; + Width = 100 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'grdTranzit.cruta.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Ruta", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cTarif.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Tarif/UM", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cTarif.Text1' AS textbox WITH ; + BackColor = 136,219,194, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.CTCAP._textbox1' AS _textbox WITH ; + BorderStyle = 0, ; + Left = 39, ; + Name = "_textbox1", ; + SelectedBackColor = 100,185,255, ; + Top = 59 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.CTCAP.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cap. totala", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.CTCAP.Text1' AS textbox WITH ; + BackColor = 139,199,216, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.ctipvas._combobox1' AS _combobox WITH ; + BorderStyle = 0, ; + BoundTo = .T., ; + Left = 86, ; + Name = "_combobox1", ; + RowSource = "crsVesselTypes.name", ; + RowSourceType = 6, ; + SpecialEffect = 1, ; + Top = 47 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="combobox" /> + + ADD OBJECT 'grdTranzit.ctipvas.Combo1' AS combobox WITH ; + BackColor = 139,199,216, ; + BorderStyle = 0, ; + FontName = "Arial", ; + Height = 10, ; + Left = 28, ; + Name = "Combo1", ; + ReadOnly = .F., ; + RowSource = "crsVesselTypes.name", ; + RowSourceType = 2, ; + SpecialEffect = 1, ; + Top = 83, ; + Width = 10 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'grdTranzit.ctipvas.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Tip vas", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.CTRN._textbox1' AS _textbox WITH ; + BorderStyle = 0, ; + Left = 38, ; + Name = "_textbox1", ; + SelectedBackColor = 100,185,255, ; + Top = 47 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.CTRN.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "TRN", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.CTRN.Text1' AS textbox WITH ; + BackColor = 139,199,216, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cValoare.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare valuta", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cValoare.Text1' AS textbox WITH ; + BackColor = 136,219,194, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cValuta.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valuta", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cValuta.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'lblClient' AS _label WITH ; + Caption = "Platitor/Agent:", ; + FontBold = .T., ; + Left = 15, ; + Name = "lblClient", ; + TabIndex = 21, ; + TabStop = .F., ; + Top = 41 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'lblContract' AS _label WITH ; + Caption = "Contract:", ; + FontBold = .T., ; + Left = 421, ; + Name = "lblContract", ; + TabIndex = 22, ; + TabStop = .F., ; + Top = 41 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'lblEcluzari' AS _label WITH ; + Anchor = 14, ; + AutoSize = .F., ; + Caption = "Ecluzari:", ; + FontBold = .T., ; + Height = 17, ; + Left = 15, ; + Name = "lblEcluzari", ; + TabIndex = 19, ; + Top = 331, ; + Width = 753 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'txtBeneficiar' AS _textbox WITH ; + ControlSource = "thisform.cDenumireBeneficiar", ; + Enabled = .F., ; + Height = 23, ; + Left = 110, ; + Name = "txtBeneficiar", ; + ReadOnly = .T., ; + TabIndex = 23, ; + TabStop = .F., ; + Top = 66, ; + Width = 272 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txtCap' AS _textbox WITH ; + Anchor = 12, ; + ControlSource = "THISFORM.nCapacitateTotal", ; + Left = 666, ; + Name = "txtCap", ; + ReadOnly = .T., ; + TabIndex = 14, ; + Top = 381 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txtClient' AS _textbox WITH ; + ControlSource = "thisform.cDenumireClient", ; + Enabled = .F., ; + Height = 23, ; + Left = 110, ; + Name = "txtClient", ; + ReadOnly = .T., ; + TabIndex = 20, ; + TabStop = .F., ; + Top = 38, ; + Width = 272 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txtValConvoi' AS _textbox WITH ; + Anchor = 12, ; + ControlSource = "THISFORM.CVALOARE_CONVOI", ; + Format = "RK", ; + Height = 23, ; + InputMask = (get_mask(12,gnZ)), ; + Left = 411, ; + Name = "txtValConvoi", ; + TabIndex = 12, ; + Top = 380, ; + Width = 115 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txtValFinala' AS _textbox WITH ; + Anchor = 12, ; + BackColor = 139,199,216, ; + ControlSource = "THISFORM.CVALOARE_FINALA", ; + Format = "RK", ; + Height = 23, ; + InputMask = (get_mask(12,gnZ)), ; + Left = 279, ; + Name = "txtValFinala", ; + TabIndex = 11, ; + ToolTipText = "Valoarea finala va suprascrie valoarea calculata pe baza tarifului. Daca valoarea finala este negativa, se considera ca se doreste stornarea valorii.", ; + Top = 381, ; + Width = 115 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txtValMInConvoi' AS _textbox WITH ; + Anchor = 12, ; + ControlSource = "THISFORM.CVALOARE_MINIMA_CONVOI", ; + Format = "RK", ; + Height = 23, ; + InputMask = (get_mask(12,gnZ)), ; + Left = 541, ; + Name = "txtValMInConvoi", ; + TabIndex = 13, ; + Top = 381, ; + Width = 115 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="textbox" /> + + PROCEDURE do_cauta_partener + LPARAMETERS tcTipPartener + * tcTipPartener: client/beneficiar + loCauta = caut_partener("-1", "Alege partener") + IF LOWER(m.tcTipPartener) = 'client' + this.cDenumireClient = loCauta.denumire + this.nIdClient = locauta.id_part + this.txtClient.Refresh() + this.GetContracteClient(this.nIdClient) + ELSE + this.cDenumireBeneficiar = loCauta.denumire + this.nIdBeneficiar = locauta.id_part + this.txtBeneficiar.Refresh() + ENDIF + ENDPROC + + PROCEDURE do_executa + * Calcul valoare convoi + Local lcConditieGrupaMarfa, lcConditieGrupaMarfaOrice, lcConditieGrupaNava, lcConditieMarfa + Local lcCursorTarife, lcLocate1, lcLocate1Orice, lcLocate2, lcLocate3, lcMesaj1, lcMesaj2, lcSql + Local lcTipUM, lcUM, lcValuta, llGasit, llSucces, lnCantitate, lnCapacitateConvoi + Local lnCapacitateCumulataClient, lnClientCtrId, lnClientCtrId2, lnClientId, lnCoeficient + Local lnIdGrupaNava, lnIdValuta, lnIntern, lnNrNave, lnProcCuplat, lnProcFaraMarfa, lnProcPericulos + Local lnProcent, lnRteId2, lnTally1, lnTally2, lnTarif, lnValoareConvoi, lnValoareFinala, lnBazaConvoi, llBazaFaraDist + Local lnValoareMinimaConvoi, lnValoareProcent, lnValoareX, lnVumId, loNava, llStornare + + lnClientId = This.nIdClient + lnClientCtrId = This.nIdContractClient + If Empty(m.lnClientId) And Empty(m.lnClientCtrId) + AMESSAGEBOX('Alegeti un client si/sau un contract!', 0 + 48, _Screen.Caption) + Return + Endif + + llStornare = (This.chkStornare.Value = 1) + lnStornoSemn = Iif(m.llStornare, -1, 1) + + lnClientCtrId2 = get_ctr_id_fara_contract() + lnIntern = This.nIntern + + lnProcFaraMarfa = Iif(Type('gnACNPFmarfa') = 'N', m.gnACNPFmarfa, 0) && coeficient fara marfa + lnProcCuplat = Iif(Type('gnIpsPCuplat') = 'N', m.gnIpsPCuplat, 0) && coeficient cuplat + lnProcPericulos = Iif(Type('gnIpsPPer') = 'N', m.gnIpsPPericulos, 0) && coeficient periculos + lnValoareMinimaConvoi = Iif(Type('gnIpsValoareMinConvoi') = 'N', m.gnIpsValoareMinConvoi, 0) && valoare minima convoi + lnValoareFinala = This.cValoare_finala + + Calculate Sum(tcap) For ales = 1 To This.nCapacitateClient In crsVoyages + * se cauta tariful pentru capacitatea totala a convoiului, nu doar pentru capacitatea navelor selectate pentru clientul respectiv, + * in cazul in care convoiul este facturat catre mai multi clienti, toti beneficiaza de tariful scazut la capacitatea totala a convoiului + Calculate Sum(tcap) TO lnCapacitateConvoi In crsVoyages + *!* lnCapacitateConvoi = This.nCapacitateClient + lnCapacitateCumulataClient = 0 + + * TARIFE CONTRACT + TEXT To lcSql Textmerge Noshow + SELECT T.Id,T.TCAP1,T.TCAP2,T.TCCAP1,T.TCCAP2,T.VALOARE,T.ID_VALUTA,T.VALUTA,T.INTERN,T.RTE_ID, T.GDSG_ID, V.UM As UM,V.Id As VUM_ID, T.GTN_ID, T.GDS_ID + FROM (IPS_VTARIFE_TRANZIT T Left Join IPS_VVAS_UM V On T.VUM_ID=V.Id) + WHERE T.ctr_ID = <> + ENDTEXT + + llSucces = goExecutor.oExecuta(m.lcSql, 'tTarife') + lnTally1 = Reccount('tTarife') + + * TARIFE FARA CONTRACT + TEXT To m.lcSql Textmerge Noshow + SELECT T.Id,T.TCAP1,T.TCAP2,T.TCCAP1,T.TCCAP2,T.VALOARE,T.ID_VALUTA,T.VALUTA,T.INTERN,T.RTE_ID, T.GDSG_ID, V.UM As UM,V.Id As VUM_ID, T.GTN_ID, T.GDS_ID + FROM (IPS_VTARIFE_TRANZIT T Left Join IPS_VVAS_UM V On T.VUM_ID=V.Id) + WHERE T.ctr_ID = <> + ENDTEXT + llSucces = goExecutor.oExecuta(m.lcSql, 'tTarife2') + lnTally2 = Reccount('tTarife') + + + && SELECTEZ NAVELE CLIENTULUI + *!* 16.03.2010 + Sele *, Recno() As NR From crsVoyages Where ales = 1 Into Cursor TNAVE_CLIENT + lnNrNave = _Tally + + && PT FIECARE NAVA CALCULEZ TARIFUL SI VALOAREA + Sele TNAVE_CLIENT + Scan + Scat Name loNava + + lnCoeficient = 100 && COEFICIENT CORECTOR + lnCantitate = 1 + lcUM = '' + lcTipUM = "TC" + + If Nvl(loNava.CUPLAT, 0) = 0 + m.lnCoeficient = m.lnCoeficient + m.lnProcCuplat + Endif + + If Nvl(loNava.PERICULOS, 0) = 1 + m.lnCoeficient = m.lnCoeficient + m.lnProcPericulos + Endif + + Sele crsVasEchivalent + Loca For Alltrim(VTP_ID) == Alltrim(loNava.VGRP_ID) + If !Found() + AMESSAGEBOX("Nu exista tipul navei (" + Allt(loNava.INDICATIV) + ") in tabelul ." + Chr(13) + "VTP_ID = " + Allt(Transform(loNava.GDSG_ID)), 0 + 48, _Screen.Caption) + Loop + Else + lnVumId = VUM_ID + lnIdGrupaNava = ID_GRUP + Sele crsVasUM + Loca For Id = m.lnVumId + If Found() + lcTipUM = Uppe(Allt(UM)) + Endif + Endif + + lnRteId2 = 21 + loNava.RTE_ID = 23 + + && TARIF TC, BARJE SI NAVE FLUVIALE FARA MARFA + lcConditieMarfa = "" + Do Case + Case Nvl(loNava.CARGO, 0) = 0 And Inlist(m.lcTipUM, "TC", "TRN") AND loNava.GDSG_ID <> 25 + * navele fara marfa, exclusiv CONTAINERE (gdsg_id = 25)cu sau fara marfa + lcConditieGrupaMarfa = [GDSG_ID = -1] + lcConditieMarfa = [.T.] + + Otherwise + lcConditieGrupaMarfa = [GDSG_ID = ] + Transform(loNava.GDSG_ID) + lcConditieMarfa = [gds_id = '] + Transform(loNava.GDS_ID) + ['] + Endcase + + lcConditieGrupaMarfaOrice = [GDSG_ID = 0] + + && TARIF LBT, TRN, HP - DUPA TIP NAVE + lcConditieGrupaNava = [GTN_ID = ] + Transform(m.lnIdGrupaNava) + lcLocate3 = "" + lcLocate1Orice = "" && orice tip de marfa + Do Case + Case m.lcTipUM = "TC" + lnCantitate = loNava.tcap + lcUM = 'TON' + lcLocate2 = [LOCA FOR 'TC'$UPPE(UM) AND INTERN=m.lnIntern AND (TCAP1<=] + Allt(Str(Abs(m.lnCapacitateConvoi))) + [ AND TCAP2>=] + Allt(Str(Abs(m.lnCapacitateConvoi))) + [) AND (TCCAP1<=] + Allt(Str(m.lnCapacitateCumulataClient)) + [ AND TCCAP2>] + Allt(Str(m.lnCapacitateCumulataClient)) + [) AND (RTE_ID=] + Allt(Str(loNava.RTE_ID)) + [ OR RTE_ID=] + Allt(Str(lnRteId2)) + [) ] + lcLocate1 = m.lcLocate2 + [ AND ] + m.lcConditieGrupaMarfa + lcLocate1Orice = m.lcLocate2 + [ AND ] + m.lcConditieGrupaMarfaOrice + lcLocate3 = m.lcLocate1 + [ AND ] + m.lcConditieMarfa + + Case m.lcTipUM = "TRN" + m.lnCantitate = loNava.TRN + m.lcUM = 'TRN' + lcLocate2 = [LOCA FOR 'TRN'$UPPE(UM) AND INTERN=m.lnIntern AND (RTE_ID=loNava.RTE_ID OR RTE_ID=lnRteId2)] + [ AND ] + m.lcConditieGrupaNava + lcLocate1 = lcLocate2 + [ AND ] + m.lcConditieGrupaMarfa + lcLocate1Orice = m.lcLocate2 + [ AND ] + m.lcConditieGrupaMarfaOrice + lcLocate3 = m.lcLocate1 + [ AND ] + m.lcConditieMarfa + + Case INLIST(m.lcTipUM, "LBT", "LBD") + m.lnCantitate = loNava.LBD + m.lcUM = 'LBD' + lcLocate2 = [LOCA FOR 'LBD'$UPPE(UM) AND INTERN=m.lnIntern AND (RTE_ID=loNava.RTE_ID OR RTE_ID=m.lnRteId2)] + lcLocate1 = lcLocate2 + [ AND ] + m.lcConditieGrupaNava + + Case m.lcTipUM = "HP" + m.lnCantitate = loNava.HP + m.lcUM = 'HP' + lcLocate2 = [LOCA FOR 'HP'$UPPE(UM) AND INTERN=m.lnIntern AND (RTE_ID=loNava.RTE_ID OR RTE_ID=m.lnRteId2)] + lcLocate1 = lcLocate2 + [ AND ] + m.lcConditieGrupaNava + Endcase + + lcMesaj1 = "" + lcMesaj2 = "" + + llGasit = !Empty(lcLocate3) + *!* CAUT TARIFELE INCLUSIV TIP MARFA PENTRU TC + Sele TTARIFE + If !Empty(lcLocate3) + &lcLocate3 && caut in tarifele contractului inclusiv dupa grupa de marfa, tip marfa + If !Found() + Select TTARIFE2 + &lcLocate3 && caut in tarifele generale inclusiv dupa grupa de marfa, tip marfa + llGasit = Found() + Else + llGasit = .T. + Endif + Endif + + *!* DACA NU AM GASIT TARIFUL PENTRU TRN, LBT, HP, SAU DUPA TIP MARFA PENTRU TC + If !llGasit + Sele TTARIFE + &lcLocate1 && caut in tarifele contractului inclusiv dupa grupa de marfa + llGasit = Found() + If !Found() + If !Empty(m.lcLocate1Orice) && tariful pentru orice tip de marfa (GDSG_ID = 0) pentru TC + Sele TTARIFE + &lcLocate1Orice + llGasit = Found() + Else + lcMesaj1 = 'Nu exista tarif pe contract pentru ' + Allt(loNava.INDICATIV) + llGasit = .F. + Endif + + If !m.llGasit + Select TTARIFE2 + &lcLocate1 && caut in tarifele generale inclusiv dupa grupa de marfa + llGasit = Found() + If !Found() + If !Empty(m.lcLocate1Orice) && tariful pentru orice tip de marfa (GDSG_ID = 0) pentru TC + Select TTARIFE2 + &lcLocate1Orice + llGasit = Found() + Else + lcMesaj2 = 'Nu exista tarif general pentru ' + Allt(loNava.INDICATIV) + llGasit = .F. + Endif + If !m.llGasit + AMESSAGEBOX(m.lcMesaj1 + Chr(13) + m.lcMesaj2, 0 + 48, _Screen.Caption) + Loop + Endif + Endif + Endif + Endif + Endif + *!* 11.12.2009 ^ + + lcCursorTarife = Alias() + Select(m.lcCursorTarife) + lnTarif = valoare + lcValuta = valuta + lnIdValuta = id_valuta + + *** Coeficientul fara marfa, cuplat, marfa periculoasa + Sele crsVoyages + Goto loNava.NR + Repl corect With Round(m.lnCoeficient / 100, 3) + + *** Coeficientul de distanta: Nr. de km din 64.4 + Replace procdist With MIN(Round(Abs(distanta) / 64.4, m.gnProcDistPrecizie), 1.00) + Repl tarif With m.lnTarif, valuta With m.lcValuta, id_valuta With m.lnIdValuta, procdiv With Nvl(procdiv, 0) + Repl cant With m.lnStornoSemn * m.lnCantitate, UM With m.lcUM + Repl valval With Round(tarif * cant * procdist * (corect + procdiv), 2) + + loNava = '' + Sele TNAVE_CLIENT + Endscan + ****************** && COMPLETEZ VALOAREA TARIFULUI IN MEMBRII VOIAJULUI + Use In (Select('TNAVE_CLIENT')) + Use In (Select('TTARIFE')) + Use In (Select('TTARIFE2')) + + Select crsVoyages + CALCULATE Sum(VALVAL) To lnValoareConvoi For ales = 1 + + && DACA VALOAREA CONVOIULUI ESTE MAI MICA DECAT VALOAREA MINIMA + && INLOCUIESC VALORILE IN VALUTA CU EURO, VALORILE IN LEI, TVA PT FIECARE NAVA ALEASA + * Daca valoarea convoiului este mai mica decat valoarea minima, initializez valoarea finala cu valoarea minima pentru a recalcula valorile pe nave aferente noii valorii finale + If m.lnValoareConvoi <= m.lnValoareMinimaConvoi And m.lnValoareConvoi > 0 And m.lnValoareFinala = 0 + lnValoareFinala = m.lnValoareMinimaConvoi + Endif + + If m.lnValoareFinala <> 0 AND m.lnValoareConvoi <> m.lnValoareFinala + * valoarea finala = valoarea scrisa cu mana de utilizator + + llBazaFaraDist = .F. && .T. cand procdist a fost rotunjit la 0 si repartizez dupa baza fara coeficient de distanta + + Sele crsVoyages + If m.lnValoareConvoi <> 0 + Replace All VALVAL With Round(m.lnValoareFinala * VALVAL / m.lnValoareConvoi, m.gnPC) For ales = 1 + ELSE + * coeficientul de distanta a fost rotunjit la 0 (distante scurte) => valval = 0 pe toate navele. + * repartizez valoarea finala proportional cu baza fara coeficient de distanta: tarif * cant * (corect + procdiv) + Calculate Sum(tarif * cant * (corect + procdiv)) To lnBazaConvoi For ales = 1 + If m.lnBazaConvoi <> 0 + llBazaFaraDist = .T. + Replace All VALVAL With Round(m.lnValoareFinala * (tarif * cant * (corect + procdiv)) / m.lnBazaConvoi, m.gnPC) For ales = 1 + Endif + Endif + + * LA STORNARE RECALCULEZ CANTITATEA, STORNEZ PARTIAL INDICATORII TCAP/TRN/LBD/HP + IF m.lnValoareFinala < 0 && stornare, recalculez cantitatea + IF m.llBazaFaraDist + * procdist = 0: recalculez cantitatea din baza fara coeficient de distanta (tarif * (corect + procdiv)) + REPLACE ALL CANT With IIF(tarif * (corect + procdiv) <> 0, ROUND(valval / (tarif * (corect + procdiv)), 2), cant) For ales = 1 + ELSE + REPLACE ALL CANT With ROUND(valval / tarif * procdist * (corect + procdiv), 2) For ales = 1 + ENDIF + ELSE + * Recalculez tariful astfel in functie de valoarea finala + * NU MAI RECALCULEZ TARIFUL!!! SAU CANTITATEA PENTRU CA PE RECAPITULATIE SA APARA TARIFUL CORECT DE INCADRARE SI TCAP/TRN/LBD/HP ALE NAVEI, CHIAR DACA VALOAREA NU ESTE EGALA + * REPLACE ALL TARIF WITH ROUND(valval/(cant * procdist * (corect + procdiv)), 4) + ENDIF + * diferenta dintre suma calculata si valoarea finala o pun pe primul rand + + Calculate Sum(valval) To lnValoareConvoi For ales = 1 In crsVoyages + Locate For ales = 1 + If Found() + Replace valval With valval + (m.lnValoareFinala - m.lnValoareConvoi) + Endif + + Thisform.nTipRecap = 1 + Endif + + Calculate Sum(VALVAL) For ales = 1 To lnValoareConvoi In crsVoyages + Thisform.CVALOARE_CONVOI = m.lnValoareConvoi + + This.but_terMIN1.Enabled = .T. && activez butonul Termin dupa calculul de tarife + Thisform.txtValConvoi.Refresh() + + ENDPROC + + PROCEDURE do_executa2 + ENDPROC + + PROCEDURE getcontracteclient + Lparameters tcIdPart + + Local lcSource, lcSelect + lcSelect = SELECT() + lcSource = This.cboContract.RowSource + This.cboContract.RowSource = [] + Do make_contracte With "id_part=" + Alltrim(Str(m.tcIdPart)) && crsContracte + SELECT crsContracte + GO TOP + This.cboContract.RowSource = m.lcSource + + SELECT (m.lcSelect) + + + ENDPROC + + PROCEDURE inainte_de_do_termin + Local lcVVIds + Update crsVoyage ; + Set client_id = Thisform.nIdClient, ; + client_ctr_id = Thisform.nIdContractClient, ; + eagent = Thisform.nEAgent, ; + beneficiar_id = Thisform.nIdBeneficiar, ; + tiprecap = Thisform.nTipRecap, ; + intern = Thisform.nIntern + + + SELECT crsVoyages + LOCATE FOR ales=1 AND !EMPTY(tarif) + IF !FOUND() + AMESSAGEBOX('Calculati tarifele!', 0+48, _screen.Caption) + RETURN .F. + ENDIF + + + lcVVIds = salvare_tranzit() && proceduri_acnpro.prg + poDate.uuid = m.lcVVIds + + If Empty(m.lcVVIds) + AMESSAGEBOX('Eroare salvare informatii tranzit!',0+48,_screen.Caption) + RETURN .F. + ELSE + RETURN .T. + Endif + ENDPROC + + PROCEDURE Init + Lparameters tcTitlu, tcEcluzari + + DoDefault() + If !Empty(m.tcTitlu) And Type('tcTitlu') = 'C' + This.lb_titlu_alb_b121.Caption = Alltrim(Nvl(m.tcTitlu,'')) + Endif + + If !Empty(m.tcEcluzari) And Type('tcEcluzari') = 'C' + This.lblEcluzari.Caption = Alltrim(Nvl(m.tcEcluzari,'')) + Endif + + With Thisform + If Used('crsCapFactura') + Select crsCapFactura + Go Top + .cDenumireClient = Alltrim(Nvl(client, '')) + .nIdClient = client_id + .cContractClient = Alltrim(Nvl(contract_client, '')) + .nIdContractClient = client_ctr_id + .cDenumireBeneficiar = Alltrim(Nvl(beneficiar, '')) + .nIdBeneficiar = beneficiar_id + .nEAgent = eagent + .nIntern = intern + Endif + ENDWITH + + Calculate Sum(tcap) To This.nCapacitateTotal In crsVoyages + Go Top In crsVoyages + + * ROSU = navele care nu au trecut prin toate ecluzele (ecldif = 1) + this.grdTranzit.SetAll("DynamicForeColor", "IIF(ecldif = 1, RGB(255,0,0), RGB(0,0,0))", "Column") + this.WindowState = 2 + ENDPROC + + PROCEDURE Show + Lparameters nStyle + DODEFAULT(nStyle) + Select crsVoyages + This.grdTranzit.SetFocus() + This.WindowState = 2 + ENDPROC + + PROCEDURE cboContract.Valid + Thisform.nIdContractClient = crsContracte.id_ctr + ENDPROC + + PROCEDURE grdTranzit.cGrupaMarfa.Combo1.Valid + Local lnMgrpID + Local lcGdsID, lcGrupa + lcGdsID = ALLTRIM(NVL(crsVoyages.gds_id, '')) + lnMgrpID = NVL(crsGrupeMarfa.id, 0) + lcGrupa = ALLTRIM(NVL(crsGrupeMarfa.grupa, '')) + REPL ALL GRP_ID WITH m.lnMgrpId, grupa_marfa WITH m.lcGrupa FOR ALLTRIM(NVL(GDS_ID, '')) = m.lcGdsID IN crsVoyages + + ENDPROC + + PROCEDURE grdTranzit.cGrupaVas.Combo1.Valid + Local lcGrupa, lcVTPID, lcVgrpID + + lcVTPID = ALLTRIM(NVL(crsVoyages.vtp_id, '')) + lcVgrpID = ALLTRIM(NVL(crsGrupeVase.id, '')) + lcGrupa = ALLTRIM(NVL(crsGrupeVase.grupa, '')) + REPL ALL VGRP_ID WITH m.lcVgrpID, grupa_nava WITH m.lcGrupa FOR ALLTRIM(NVL(VTP_ID, '')) = m.lcVTPID IN crsVoyages + + ENDPROC + + PROCEDURE grdTranzit.CINDICATIV.Text1.DblClick + BROWSE + ENDPROC + + PROCEDURE grdTranzit.cruta.Combo1.Valid + REPLACE rte_id with crsRoutes.id IN crsVoyages + this.parent.parent.refresh + ENDPROC + + PROCEDURE grdTranzit.ctipvas.Combo1.Valid + SELE crsVoyages + REPLACE vtp_id WITH crsVesselTypes.id + ENDPROC + + PROCEDURE grdTranzit.ctipvas._combobox1.Valid + SELE crsVoyages + REPLACE vtp_id WITH crsVesselTypes.id + ENDPROC + + PROCEDURE txtValFinala.Valid + IF (thisform.chkStornare.value = 0) AND this.Value < 0 + thisform.chkStornare.Value = 1 + thisform.chkStornare.Refresh() + ENDIF + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_cheiaje_nave AS _frmbase OF "..\comun\clase\_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="But_start_criterii1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_reset_criterii1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Gridextra1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdfooter1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_excel1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCheiaj" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCheiaj.Column1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCheiaj.Column1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCheiaj.Column2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCheiaj.Column2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCheiaj.Column3.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCheiaj.Column3.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCheiaj.Column4.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCheiaj.Column4.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCheiaj.Column5.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCheiaj.Column5.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCheiaj.cTotalFaraTVA.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCheiaj.cTotalFaraTVA.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCheiaj.Column7.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCheiaj.Column7.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCheiaj.cDeclaratie.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCheiaj.cDeclaratie.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCheiaj.Column9.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCheiaj.Column9.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCheiaj.Column10.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCheiaj.Column10.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCheiaj.Column11.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCheiaj.Column11.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCheiaj.Column12.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCheiaj.Column12.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCheiaj.Column13.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCheiaj.Column13.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCheiaj.Column14.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCheiaj.Column14.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCheiaj.Column15.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCheiaj.Column15.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCheiaj.Column16.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCheiaj.Column16.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCheiaj.Column17.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCheiaj.Column17.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCheiaj.Column18.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCheiaj.Column18.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCheiaj.Column19.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCheiaj.Column19.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCheiaj.cValftva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCheiaj.cValftva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCheiaj.cValTva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCheiaj.cValTva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCheiaj.cValcTVA.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCheiaj.cValcTVA.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCheiaj.Column23.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCheiaj.Column23.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCheiaj.Column24.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCheiaj.Column24.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCheiaj.cValval.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCheiaj.cValval.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCheiaj.cTvaval.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCheiaj.cTvaval.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCheiaj.cTotval.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCheiaj.cTotval.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCheiaj.cCap.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCheiaj.cCap.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCheiaj.cTRN.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCheiaj.cTRN.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCheiaj.cLung.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCheiaj.cLung.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCheiaj.cCP.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCheiaj.cCP.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCheiaj.cLbd.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCheiaj.cLbd.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCheiaj.cZi.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCheiaj.cZi.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCheiaj.cCapVal.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCheiaj.cCapVal.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCheiaj.cTrnVal.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCheiaj.cTrnVal.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCheiaj.cLungVal.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCheiaj.cLungVal.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCheiaj.cCpVal.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCheiaj.cCpVal.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCheiaj.cLbdVal.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCheiaj.cLbdVal.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCheiaj.cZiVal.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCheiaj.cZiVal.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCheiaj.Column40.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCheiaj.Column40.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCheiaj.Column41.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCheiaj.Column41.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCheiaj.Column42.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdCheiaj.Column42.Text1" UniqueID="" Timestamp="" /> + + * + *p: ntip && 0=tranzit, 1=cheiaj + * + + * + BorderStyle = 3 + DoCreate = .T. + Height = 460 + LockScreen = .T. + Name = "frm_cheiaje_nave" + ntip = 0 + Width = 792 + WindowState = 2 + _shape1.Anchor = 10 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 793 + _shape2.Left = 741 + _shape2.Name = "_shape2" + _shape2.Top = -1 + Lb_titlu_alb_b121.Caption = "Registru cheiaj" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 761 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 1 + Gridsort1.Left = 780 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 449 + * + + ADD OBJECT '_grdfooter1' AS _grdfooter WITH ; + ccolwithlabel = cDeclaratie, ; + csourcegrid = thisform.grdCheiaj, ; + csumcolumns = cValftva, cValtva, cValctva, cValval, cTvaval, cTotval, cCap, cTrn, cLung, cCp, cLbd, cZi, cCapVal, cTrnVal, cLungVal, cCpVal, cLbdVal, cZiVal, ; + Left = 12, ; + Name = "_grdfooter1", ; + Top = 420, ; + Width = 771 + *< END OBJECT: ClassLib="..\comun\clase\_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'But_excel1' AS but_excel WITH ; + Anchor = 8, ; + Left = 732, ; + Name = "But_excel1", ; + Top = 1 + *< END OBJECT: ClassLib="..\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_reset_criterii1' AS but_reset_criterii WITH ; + Anchor = 9, ; + Left = 672, ; + Name = "But_reset_criterii1", ; + Top = 1, ; + Visible = .T. + *< END OBJECT: ClassLib="..\..\roafacturare\comun\clase\ocriterii.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_start_criterii1' AS but_start_criterii WITH ; + Anchor = 9, ; + Comment = "*:OnResize=RT", ; + Left = 701, ; + Name = "But_start_criterii1", ; + Top = 1 + *< END OBJECT: ClassLib="..\..\roafacturare\comun\clase\ocriterii.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'grdCheiaj' AS _grdbase WITH ; + Anchor = 15, ; + BackColor = 255,255,255, ; + ColumnCount = 42, ; + DeleteMark = .F., ; + FontSize = 10, ; + GridLineColor = 192,192,192, ; + Height = 383, ; + lcamptextneeditabil = .F., ; + Left = 12, ; + Name = "grdCheiaj", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordSource = "crscheiaje", ; + RowHeight = 19, ; + TabIndex = 5, ; + Top = 36, ; + Width = 771, ; + Column1.BackColor = 255,255,255, ; + Column1.ColumnOrder = 5, ; + Column1.ControlSource = "TTOD(data_act)", ; + Column1.FontSize = 10, ; + Column1.Name = "Column1", ; + Column1.ReadOnly = .T., ; + Column1.Width = 75, ; + Column2.BackColor = 255,255,255, ; + Column2.ColumnOrder = 4, ; + Column2.ControlSource = "crscheiaje.numar_act", ; + Column2.FontSize = 10, ; + Column2.Name = "Column2", ; + Column2.ReadOnly = .T., ; + Column2.Width = 85, ; + Column3.BackColor = 255,255,255, ; + Column3.ColumnOrder = 6, ; + Column3.ControlSource = "crscheiaje.client", ; + Column3.FontSize = 10, ; + Column3.Name = "Column3", ; + Column3.ReadOnly = .T., ; + Column3.Width = 165, ; + Column4.BackColor = 255,255,255, ; + Column4.ColumnOrder = 7, ; + Column4.ControlSource = "crscheiaje.contract", ; + Column4.FontSize = 10, ; + Column4.Name = "Column4", ; + Column4.ReadOnly = .T., ; + Column4.Width = 106, ; + Column5.BackColor = 255,255,255, ; + Column5.ColumnOrder = 8, ; + Column5.ControlSource = "crscheiaje.beneficiar", ; + Column5.FontSize = 10, ; + Column5.Name = "Column5", ; + Column5.ReadOnly = .T., ; + Column5.Width = 114, ; + Column6.BackColor = 255,255,255, ; + Column6.ColumnOrder = 9, ; + Column6.ControlSource = "crscheiaje.total_fara_tva", ; + Column6.FontSize = 10, ; + Column6.InputMask = "999 999 999.99", ; + Column6.Name = "cTotalFaraTVA", ; + Column6.ReadOnly = .T., ; + Column6.Width = 129, ; + Column7.BackColor = 255,255,255, ; + Column7.ColumnOrder = 10, ; + Column7.ControlSource = "crscheiaje.port", ; + Column7.FontSize = 10, ; + Column7.Name = "Column7", ; + Column7.ReadOnly = .T., ; + Column7.Width = 75, ; + Column8.BackColor = 255,255,255, ; + Column8.ColumnOrder = 1, ; + Column8.ControlSource = "crscheiaje.declaratie", ; + Column8.FontSize = 10, ; + Column8.Name = "cDeclaratie", ; + Column8.ReadOnly = .T., ; + Column8.Width = 75, ; + Column9.BackColor = 255,255,255, ; + Column9.ColumnOrder = 2, ; + Column9.ControlSource = "crscheiaje.document", ; + Column9.FontSize = 10, ; + Column9.Name = "Column9", ; + Column9.ReadOnly = .T., ; + Column9.Width = 75, ; + Column10.BackColor = 255,255,255, ; + Column10.ColumnOrder = 11, ; + Column10.ControlSource = "crscheiaje.vas", ; + Column10.FontSize = 10, ; + Column10.Name = "Column10", ; + Column10.ReadOnly = .T., ; + Column10.Width = 75, ; + Column11.BackColor = 255,255,255, ; + Column11.ColumnOrder = 14, ; + Column11.ControlSource = "crscheiaje.dana", ; + Column11.FontSize = 10, ; + Column11.Name = "Column11", ; + Column11.ReadOnly = .T., ; + Column11.Width = 147, ; + Column12.BackColor = 255,255,255, ; + Column12.ColumnOrder = 15, ; + Column12.ControlSource = "crscheiaje.ctip", ; + Column12.FontSize = 10, ; + Column12.Name = "Column12", ; + Column12.ReadOnly = .T., ; + Column12.Width = 126, ; + Column13.BackColor = 255,255,255, ; + Column13.ColumnOrder = 16, ; + Column13.ControlSource = "crscheiaje.cant", ; + Column13.FontSize = 10, ; + Column13.InputMask = "999 999.9999", ; + Column13.Name = "Column13", ; + Column13.ReadOnly = .T., ; + Column13.Width = 75, ; + Column14.BackColor = 255,255,255, ; + Column14.ColumnOrder = 17, ; + Column14.ControlSource = "crscheiaje.um", ; + Column14.FontSize = 10, ; + Column14.Name = "Column14", ; + Column14.ReadOnly = .T., ; + Column14.Width = 61, ; + Column15.BackColor = 255,255,255, ; + Column15.ColumnOrder = 18, ; + Column15.ControlSource = "crscheiaje.tarif", ; + Column15.FontSize = 10, ; + Column15.InputMask = "999 999.9999", ; + Column15.Name = "Column15", ; + Column15.ReadOnly = .T., ; + Column15.Width = 75, ; + Column16.BackColor = 255,255,255, ; + Column16.ColumnOrder = 19, ; + Column16.ControlSource = "crscheiaje.articol", ; + Column16.FontSize = 10, ; + Column16.Name = "Column16", ; + Column16.ReadOnly = .T., ; + Column16.Width = 205, ; + Column17.BackColor = 255,255,255, ; + Column17.ColumnOrder = 20, ; + Column17.ControlSource = "crscheiaje.datai", ; + Column17.FontSize = 10, ; + Column17.Name = "Column17", ; + Column17.ReadOnly = .T., ; + Column17.Width = 122, ; + Column18.BackColor = 255,255,255, ; + Column18.ColumnOrder = 21, ; + Column18.ControlSource = "crscheiaje.datap", ; + Column18.FontSize = 10, ; + Column18.Name = "Column18", ; + Column18.ReadOnly = .T., ; + Column18.Width = 128, ; + Column19.BackColor = 255,255,255, ; + Column19.ColumnOrder = 22, ; + Column19.ControlSource = "crscheiaje.durata", ; + Column19.FontSize = 10, ; + Column19.Name = "Column19", ; + Column19.ReadOnly = .T., ; + Column19.Width = 42, ; + Column20.BackColor = 255,255,255, ; + Column20.ColumnOrder = 23, ; + Column20.ControlSource = "crscheiaje.valftva", ; + Column20.FontSize = 10, ; + Column20.InputMask = "999 999 999.99", ; + Column20.Name = "cValftva", ; + Column20.ReadOnly = .T., ; + Column20.Width = 102, ; + Column21.BackColor = 255,255,255, ; + Column21.ColumnOrder = 24, ; + Column21.ControlSource = "crscheiaje.valtva", ; + Column21.FontSize = 10, ; + Column21.InputMask = "999 999 999.99", ; + Column21.Name = "cValTva", ; + Column21.ReadOnly = .T., ; + Column21.Width = 75, ; + Column22.BackColor = 255,255,255, ; + Column22.ColumnOrder = 25, ; + Column22.ControlSource = "crscheiaje.valctva", ; + Column22.FontSize = 10, ; + Column22.InputMask = "999 999 999.99", ; + Column22.Name = "cValcTVA", ; + Column22.ReadOnly = .T., ; + Column22.Width = 95, ; + Column23.BackColor = 255,255,255, ; + Column23.ColumnOrder = 29, ; + Column23.ControlSource = "crscheiaje.nume_val", ; + Column23.FontSize = 10, ; + Column23.Name = "Column23", ; + Column23.ReadOnly = .T., ; + Column23.Width = 41, ; + Column24.BackColor = 255,255,255, ; + Column24.ColumnOrder = 30, ; + Column24.ControlSource = "crscheiaje.curs", ; + Column24.FontSize = 10, ; + Column24.InputMask = "999 999.9999", ; + Column24.Name = "Column24", ; + Column24.ReadOnly = .T., ; + Column24.Width = 75, ; + Column25.BackColor = 255,255,255, ; + Column25.ColumnOrder = 26, ; + Column25.ControlSource = "crscheiaje.valval", ; + Column25.FontSize = 10, ; + Column25.InputMask = "999 999 999.99", ; + Column25.Name = "cValval", ; + Column25.ReadOnly = .T., ; + Column25.Width = 139, ; + Column26.BackColor = 255,255,255, ; + Column26.ColumnOrder = 27, ; + Column26.ControlSource = "crscheiaje.tvaval", ; + Column26.FontSize = 10, ; + Column26.InputMask = "999 999 999.99", ; + Column26.Name = "cTvaval", ; + Column26.ReadOnly = .T., ; + Column26.Width = 114, ; + Column27.BackColor = 255,255,255, ; + Column27.ColumnOrder = 28, ; + Column27.ControlSource = "crscheiaje.totval", ; + Column27.FontSize = 10, ; + Column27.InputMask = "999 999 999.99", ; + Column27.Name = "cTotval", ; + Column27.ReadOnly = .T., ; + Column27.Width = 132, ; + Column28.BackColor = 255,255,255, ; + Column28.ColumnOrder = 31, ; + Column28.ControlSource = "crscheiaje.cap", ; + Column28.FontSize = 10, ; + Column28.InputMask = "999 999 999.99", ; + Column28.Name = "cCap", ; + Column28.ReadOnly = .T., ; + Column28.Width = 75, ; + Column29.BackColor = 255,255,255, ; + Column29.ColumnOrder = 32, ; + Column29.ControlSource = "crscheiaje.trn", ; + Column29.FontSize = 10, ; + Column29.InputMask = "999 999 999.99", ; + Column29.Name = "cTRN", ; + Column29.ReadOnly = .T., ; + Column29.Width = 75, ; + Column30.BackColor = 255,255,255, ; + Column30.ColumnOrder = 33, ; + Column30.ControlSource = "crscheiaje.lung", ; + Column30.FontSize = 10, ; + Column30.InputMask = "999 999 999.99", ; + Column30.Name = "cLung", ; + Column30.ReadOnly = .T., ; + Column30.Width = 75, ; + Column31.BackColor = 255,255,255, ; + Column31.ColumnOrder = 34, ; + Column31.ControlSource = "crscheiaje.cp", ; + Column31.FontSize = 10, ; + Column31.InputMask = "999 999 999.99", ; + Column31.Name = "cCP", ; + Column31.ReadOnly = .T., ; + Column31.Width = 75, ; + Column32.BackColor = 255,255,255, ; + Column32.ColumnOrder = 35, ; + Column32.ControlSource = "crscheiaje.lbd", ; + Column32.FontSize = 10, ; + Column32.InputMask = "999 999 999.99", ; + Column32.Name = "cLbd", ; + Column32.ReadOnly = .T., ; + Column32.Width = 75, ; + Column33.BackColor = 255,255,255, ; + Column33.ColumnOrder = 36, ; + Column33.ControlSource = "crscheiaje.zi", ; + Column33.FontSize = 10, ; + Column33.Name = "cZi", ; + Column33.ReadOnly = .T., ; + Column33.Width = 47, ; + Column34.BackColor = 255,255,255, ; + Column34.ColumnOrder = 37, ; + Column34.ControlSource = "crscheiaje.cap_val", ; + Column34.FontSize = 10, ; + Column34.InputMask = "999 999 999.99", ; + Column34.Name = "cCapVal", ; + Column34.ReadOnly = .T., ; + Column34.Width = 86, ; + Column35.BackColor = 255,255,255, ; + Column35.ColumnOrder = 38, ; + Column35.ControlSource = "crscheiaje.trn_val", ; + Column35.FontSize = 10, ; + Column35.InputMask = "999 999 999.99", ; + Column35.Name = "cTrnVal", ; + Column35.ReadOnly = .T., ; + Column35.Width = 75, ; + Column36.BackColor = 255,255,255, ; + Column36.ColumnOrder = 39, ; + Column36.ControlSource = "crscheiaje.lung_val", ; + Column36.FontSize = 10, ; + Column36.InputMask = "999 999 999.99", ; + Column36.Name = "cLungVal", ; + Column36.ReadOnly = .T., ; + Column36.Width = 101, ; + Column37.BackColor = 255,255,255, ; + Column37.ColumnOrder = 40, ; + Column37.ControlSource = "crscheiaje.cp_val", ; + Column37.FontSize = 10, ; + Column37.InputMask = "999 999 999.99", ; + Column37.Name = "cCpVal", ; + Column37.ReadOnly = .T., ; + Column37.Width = 75, ; + Column38.BackColor = 255,255,255, ; + Column38.ColumnOrder = 41, ; + Column38.ControlSource = "crscheiaje.lbd_val", ; + Column38.FontSize = 10, ; + Column38.InputMask = "999 999 999.99", ; + Column38.Name = "cLbdVal", ; + Column38.ReadOnly = .T., ; + Column38.Width = 75, ; + Column39.BackColor = 255,255,255, ; + Column39.ColumnOrder = 42, ; + Column39.ControlSource = "crscheiaje.zi_val", ; + Column39.FontSize = 10, ; + Column39.InputMask = "999 999 999.99", ; + Column39.Name = "cZiVal", ; + Column39.ReadOnly = .T., ; + Column39.Width = 75, ; + Column40.BackColor = 255,255,255, ; + Column40.ColumnOrder = 3, ; + Column40.ControlSource = "crscheiaje.serie_act", ; + Column40.FontSize = 10, ; + Column40.Name = "Column40", ; + Column40.ReadOnly = .T., ; + Column41.BackColor = 255,255,255, ; + Column41.ColumnOrder = 12, ; + Column41.ControlSource = "crscheiaje.tip_vas", ; + Column41.FontSize = 10, ; + Column41.Name = "Column41", ; + Column41.ReadOnly = .T., ; + Column41.Width = 112, ; + Column42.BackColor = 255,255,255, ; + Column42.ColumnOrder = 13, ; + Column42.ControlSource = "crscheiaje.grupa_vas", ; + Column42.FontSize = 10, ; + Column42.Name = "Column42", ; + Column42.ReadOnly = .T., ; + Column42.Width = 119 + *< END OBJECT: ClassLib="..\comun\clase\_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grdCheiaj.cCap.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "TCAP", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdCheiaj.cCap.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdCheiaj.cCapVal.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare TCAP", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdCheiaj.cCapVal.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdCheiaj.cCP.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "HP", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdCheiaj.cCP.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdCheiaj.cCpVal.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare HP", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdCheiaj.cCpVal.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdCheiaj.cDeclaratie.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Declaratie", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdCheiaj.cDeclaratie.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdCheiaj.cLbd.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "LBD", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdCheiaj.cLbd.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdCheiaj.cLbdVal.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare LBD", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdCheiaj.cLbdVal.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdCheiaj.cLung.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Lungime", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdCheiaj.cLung.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdCheiaj.cLungVal.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare Lungime", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdCheiaj.cLungVal.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdCheiaj.Column1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data factura", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdCheiaj.Column1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdCheiaj.Column10.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Vas", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdCheiaj.Column10.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdCheiaj.Column11.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Tip stationare ROA/dana", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdCheiaj.Column11.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdCheiaj.Column12.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Tip stationare RORIS", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdCheiaj.Column12.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdCheiaj.Column13.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cantitate", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdCheiaj.Column13.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdCheiaj.Column14.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "UM", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdCheiaj.Column14.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdCheiaj.Column15.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Tarif", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdCheiaj.Column15.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdCheiaj.Column16.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Articol", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdCheiaj.Column16.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdCheiaj.Column17.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data inceput", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdCheiaj.Column17.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdCheiaj.Column18.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data sfarsit", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdCheiaj.Column18.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdCheiaj.Column19.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Durata", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdCheiaj.Column19.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdCheiaj.Column2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Numar factura", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdCheiaj.Column2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdCheiaj.Column23.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valuta", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdCheiaj.Column23.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdCheiaj.Column24.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Curs", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdCheiaj.Column24.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdCheiaj.Column3.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Client", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdCheiaj.Column3.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdCheiaj.Column4.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Contract", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdCheiaj.Column4.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdCheiaj.Column40.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Serie factura", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdCheiaj.Column40.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdCheiaj.Column41.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Tip vas", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdCheiaj.Column41.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdCheiaj.Column42.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Grupa vas", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdCheiaj.Column42.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdCheiaj.Column5.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Beneficiar", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdCheiaj.Column5.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdCheiaj.Column7.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Locatie", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdCheiaj.Column7.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdCheiaj.Column9.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Document", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdCheiaj.Column9.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdCheiaj.cTotalFaraTVA.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Total fara TVA factura", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdCheiaj.cTotalFaraTVA.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdCheiaj.cTotval.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare valuta cu TVA", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdCheiaj.cTotval.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdCheiaj.cTRN.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "TRN", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdCheiaj.cTRN.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdCheiaj.cTrnVal.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare TRN", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdCheiaj.cTrnVal.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdCheiaj.cTvaval.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare valuta TVA", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdCheiaj.cTvaval.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdCheiaj.cValcTVA.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare cu TVA", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdCheiaj.cValcTVA.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdCheiaj.cValftva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare fara TVA", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdCheiaj.cValftva.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdCheiaj.cValTva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare TVA", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdCheiaj.cValTva.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdCheiaj.cValval.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare valuta fara TVA", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdCheiaj.cValval.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdCheiaj.cZi.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Zi", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdCheiaj.cZi.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdCheiaj.cZiVal.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare Zi", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdCheiaj.cZiVal.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Gridextra1' AS gridextra WITH ; + gridexpression = Thisform.grdCheiaj, ; + Left = 780, ; + Name = "Gridextra1", ; + productname = ROA, ; + Top = 180 + *< END OBJECT: ClassLib="..\comun\utile\gridextras\gridextras.vcx" BaseClass="custom" /> + + PROCEDURE Activate + * + ENDPROC + + PROCEDURE actualizeaza_grid1 + LPARAMETERS tcFiltru + LOCAL lcFiltru + lcFiltru = IIF(!EMPTY(m.tcFiltru), m.tcFiltru, "") + + Thisform.LockScreen=.F. + save_grid_tag(This.grdCheiaj) + + poCheiaje.ca_baza1.cfiltru = m.lcFiltru + poCheiaje.ca_baza1.afisare() + + SELECT crsCheiaje + Go Top + + restore_grid_tag(This.grdCheiaj) + + This.grdCheiaj.Refresh + Thisform.LockScreen=.F. + + ENDPROC + + PROCEDURE do_cauta + LOCAL lcfiltru, lcval1, lcColoana, ldData1, ldData2 + + lcfiltru='' + + * DACA FILTRUL NU CONTINE DATA_ACT, SELECTEZ DOAR INREGISTRARILE DIN LUNA CURENTA + ldData1 = DATE(m.gnAn, m.gnLuna, 1) + ldData2 = GOMONTH(m.ldData1,1) - 1 + + IF !(' DATA_ACT '$upper(THISFORM.filtru_pretty)) + lcFiltru = m.lcFiltru + [ and data_act between to_date('] + DTOC(m.ldData1,1) + [', 'yyyymmdd') and to_date('] + DTOC(m.ldData2,1) + [', 'yyyymmdd')] + ENDIF + + * Filtre buton cautare + IF LEN(THISFORM.filtru_pretty)>0 + lcFiltru = m.lcFiltru + " and (" + ALLTRIM(THISFORM.filtru_pretty) + ")" + ENDIF + + If Empty(m.lcFiltru) + aMessagebox("Alegeti un criteriu!",0+48,"Atentie") + This.cb_tx_cautare1.criteriu.SetFocus() + Return + Endif + + IF !EMPTY(m.lcFiltru) AND LEFT(LOWER(ALLTRIM(m.lcFiltru)),3) = "and" + lcFiltru = SUBSTR(ALLTRIM(m.lcFiltru),4) + ENDIF + + IF !EMPTY(m.lcFiltru) + THISFORM.actualizeaza_grid1(lcFiltru) + this._grdfooter1.Calctotal() + ENDIF + + SELECT crsCheiaje + + Return m.lcFiltru + + ENDPROC + + PROCEDURE do_excel + do export_excel_grid WITH thisform.grdCheiaj,"data_act,numar_act,client,contract", "", this.lb_titlu_alb_b121.caption IN proceduri_excel.prg + ENDPROC + + PROCEDURE Show + LPARAMETERS nStyle + DODEFAULT(nStyle) + + this.WindowState = 2 + this.gridextra1.setup() + THIS._grdfooter1.attachtogrid(This.grdCheiaj) + This.do_cauta() + + ENDPROC + + PROCEDURE But_start_criterii1.loadcriterii + PARAMETERS tacriterii + EXTERNAL ARRAY tacriterii + #DEFINE crlf CHR(13)+CHR(10) + + lcStringCriterii="Serie factura\serie_act\T\none\"+ crlf + ; + "Numar factura\numar_act\N\none\" + crlf + ; + "Data factura\data_act\D\none\" + crlf + ; + "Client\client\T\client_id\nom_parteneri"+ crlf + ; + "Contract\contract_client\T\client_ctr_id\nom_contracte"+ crlf + ; + "Beneficiar\beneficiar\T\beneficiar_id\nom_parteneri"+ crlf + ; + "Armator\armator\T\none\"+ crlf + ; + "Declaratia\declaratio\T\none\"+ crlf + ; + "Document\document\T\none\"+ crlf + ; + "Locatie\port\T\none\" + + DODEFAULT() + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_configurare_articole_conturi AS _frmbase OF "..\comun\clase\_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="grdArticole" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdArticole.cDescriere.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdArticole.cDescriere.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdArticole.cDenumire.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdArticole.cDenumire.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdArticole.cNumar.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdArticole.cNumar.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdArticole.cGrupa.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdArticole.cGrupa.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdArticole.cSubgrupa.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdArticole.cSubgrupa.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdArticole.Column6.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdArticole.Column6.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdArticole.cIdArticol.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdArticole.cIdArticol.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cb_tx_cautare1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdConturi" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdConturi.cCtaiCred.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdConturi.cCtaiCred.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdConturi.cCtAeCred.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdConturi.cCtAeCred.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdConturi.cLocatia.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdConturi.cLocatia.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdConturi.cLocatia.Combo1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdConturi.cCtdebitor.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdConturi.cCtdebitor.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdConturi.cCtaidDeb.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdConturi.cCtaidDeb.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdConturi.cCtaeDeb.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdConturi.cCtaeDeb.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdConturi.cCtCreditor.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdConturi.cCtCreditor.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdConturi.cCtPiDeb.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdConturi.cCtPiDeb.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdConturi.cCtApiDeb.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdConturi.cCtApiDeb.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdConturi.cCtPiCred.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdConturi.cCtPiCred.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdConturi.cCtApiCred.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdConturi.cCtApiCred.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_nou2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_modifica2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Sfsplitterh1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Gridextra2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Gridextra1" UniqueID="" Timestamp="" /> + + * + *m: do_adauga_articol + *m: do_cauta_partener + *m: do_executa2 + *m: do_modifica_articol + *m: do_sterge_articol + *m: getcontracteclient + * + + * + BorderStyle = 3 + bvizualizare = .T. + DoCreate = .T. + Height = 401 + Name = "frm_configurare_articole_conturi" + Width = 779 + WindowState = 2 + _memberdata = + + + _shape1.Anchor = 10 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 780 + _shape1.ZOrderSet = 0 + _shape2.Left = 728 + _shape2.Name = "_shape2" + _shape2.Top = -1 + _shape2.ZOrderSet = 1 + Lb_titlu_alb_b121.Caption = "Configurare articole / conturi pe locatii" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 9 + Lb_titlu_alb_b121.ZOrderSet = 2 + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 748 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 10 + BUT_TERMIN1.Top = 0 + BUT_TERMIN1.ZOrderSet = 3 + Gridsort1.Left = 0 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 403 + * + + ADD OBJECT '_label3' AS _label WITH ; + Caption = "Prestatii", ; + Left = 10, ; + Name = "_label3", ; + Top = 35, ; + ZOrderSet = 7 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'But_modifica2' AS but_modifica WITH ; + Anchor = 0, ; + caction = do_modifica_articol, ; + Left = 385, ; + Name = "But_modifica2", ; + Top = 56, ; + Visible = .T., ; + ZOrderSet = 11 + *< END OBJECT: ClassLib="..\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_nou1' AS but_nou WITH ; + Anchor = 8, ; + Left = 711, ; + Name = "But_nou1", ; + Top = 56, ; + ZOrderSet = 10 + *< END OBJECT: ClassLib="..\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_nou2' AS but_nou WITH ; + Anchor = 0, ; + caction = do_adauga_articol, ; + Left = 357, ; + Name = "But_nou2", ; + Top = 56, ; + ZOrderSet = 10 + *< END OBJECT: ClassLib="..\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Anchor = 9, ; + Left = 720, ; + Name = "But_renunt1", ; + Top = 0, ; + ZOrderSet = 13 + *< END OBJECT: ClassLib="..\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge1' AS but_sterge WITH ; + Anchor = 8, ; + Left = 740, ; + Name = "But_sterge1", ; + Top = 56, ; + Visible = .T., ; + ZOrderSet = 12 + *< END OBJECT: ClassLib="..\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge2' AS but_sterge WITH ; + Anchor = 0, ; + caction = do_sterge_articol, ; + Left = 412, ; + Name = "But_sterge2", ; + Top = 56, ; + Visible = .T., ; + ZOrderSet = 12 + *< END OBJECT: ClassLib="..\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cb_tx_cautare1' AS cb_tx_cautare WITH ; + Height = 27, ; + Left = 8, ; + Name = "Cb_tx_cautare1", ; + Top = 56, ; + Width = 304, ; + ZOrderSet = 6, ; + Text.Height = 25, ; + Text.Left = 103, ; + Text.Name = "Text", ; + Text.Top = 1, ; + Text.Width = 197, ; + Criteriu.Name = "Criteriu" + *< END OBJECT: ClassLib="..\comun\clase\lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'grdArticole' AS _grdbase WITH ; + Anchor = 5, ; + ColumnCount = 7, ; + DeleteMark = .F., ; + FontName = "Arial", ; + Height = 304, ; + lcamptextneeditabil = .F., ; + Left = 8, ; + Name = "grdArticole", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordMark = .T., ; + RecordSource = "crsArticole", ; + RowHeight = 19, ; + TabIndex = 2, ; + Top = 87, ; + Width = 436, ; + ZOrderSet = 5, ; + Column1.ColumnOrder = 3, ; + Column1.ControlSource = "descriere", ; + Column1.FontName = "Arial", ; + Column1.FontSize = 10, ; + Column1.Name = "cDescriere", ; + Column1.ReadOnly = .T., ; + Column1.Width = 115, ; + Column2.ColumnOrder = 1, ; + Column2.ControlSource = "denumire", ; + Column2.FontName = "Arial", ; + Column2.FontSize = 10, ; + Column2.Name = "cDenumire", ; + Column2.ReadOnly = .T., ; + Column2.Width = 198, ; + Column3.ColumnOrder = 2, ; + Column3.ControlSource = "codmat", ; + Column3.FontName = "Arial", ; + Column3.FontSize = 10, ; + Column3.Name = "cNumar", ; + Column3.ReadOnly = .T., ; + Column3.Width = 82, ; + Column4.ColumnOrder = 5, ; + Column4.ControlSource = "grupa", ; + Column4.FontName = "Arial", ; + Column4.Name = "cGrupa", ; + Column4.ReadOnly = .T., ; + Column4.Width = 125, ; + Column5.ColumnOrder = 6, ; + Column5.ControlSource = "subgrupa", ; + Column5.FontName = "Arial", ; + Column5.Name = "cSubgrupa", ; + Column5.ReadOnly = .T., ; + Column5.Width = 117, ; + Column6.ColumnOrder = 4, ; + Column6.ControlSource = "um", ; + Column6.FontName = "Arial", ; + Column6.Name = "Column6", ; + Column6.ReadOnly = .T., ; + Column6.Width = 33, ; + Column7.ControlSource = "id_articol", ; + Column7.FontName = "Arial", ; + Column7.Name = "cIdArticol", ; + Column7.ReadOnly = .T., ; + Column7.Width = 88 + *< END OBJECT: ClassLib="..\comun\clase\_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grdArticole.cDenumire.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Denumire", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdArticole.cDenumire.Text1' AS textbox WITH ; + FontName = "Arial", ; + FontSize = 10, ; + Height = 23, ; + Left = 46, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255, ; + Top = 35, ; + Width = 100 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdArticole.cDescriere.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Descriere", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdArticole.cDescriere.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdArticole.cGrupa.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Grupa", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdArticole.cGrupa.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdArticole.cIdArticol.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Id", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdArticole.cIdArticol.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdArticole.cNumar.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdArticole.cNumar.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdArticole.Column6.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "UM", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdArticole.Column6.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdArticole.cSubgrupa.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Subgrupa", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdArticole.cSubgrupa.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdConturi' AS _grdbase WITH ; + Anchor = 15, ; + ColumnCount = 11, ; + DeleteMark = .F., ; + HeaderHeight = 51, ; + Height = 304, ; + lcamptextneeditabil = .F., ; + Left = 456, ; + Name = "grdConturi", ; + Panel = 1, ; + ReadOnly = .F., ; + RecordSource = "crsConturi", ; + RowHeight = 19, ; + Top = 87, ; + Width = 316, ; + ZOrderSet = 8, ; + Column1.ColumnOrder = 6, ; + Column1.ControlSource = "ctaicred", ; + Column1.FontSize = 10, ; + Column1.Format = "K", ; + Column1.Name = "cCtaiCred", ; + Column1.ReadOnly = .F., ; + Column1.Width = 60, ; + Column2.ColumnOrder = 7, ; + Column2.ControlSource = "ctaecred", ; + Column2.FontSize = 10, ; + Column2.Format = "k", ; + Column2.Name = "cCtAeCred", ; + Column2.ReadOnly = .F., ; + Column2.Width = 63, ; + Column3.Bound = .F., ; + Column3.ColumnOrder = 1, ; + Column3.ControlSource = "Iif(Seek(crsConturi.id_locatia,'crsLocatii','id'),crsLocatii.denumire,'')", ; + Column3.CurrentControl = "Combo1", ; + Column3.FontSize = 10, ; + Column3.Name = "cLocatia", ; + Column3.ReadOnly = .F., ; + Column3.Sparse = .F., ; + Column3.Width = 120, ; + Column4.ColumnOrder = 2, ; + Column4.ControlSource = "ctdebitor", ; + Column4.FontSize = 10, ; + Column4.Format = "K", ; + Column4.Name = "cCtdebitor", ; + Column4.ReadOnly = .F., ; + Column4.Width = 53, ; + Column5.ColumnOrder = 3, ; + Column5.ControlSource = "ctaideb", ; + Column5.CurrentControl = "Text1", ; + Column5.FontSize = 10, ; + Column5.Format = "K", ; + Column5.Name = "cCtaidDeb", ; + Column5.ReadOnly = .F., ; + Column5.Width = 59, ; + Column6.ColumnOrder = 4, ; + Column6.ControlSource = "ctaedeb", ; + Column6.FontSize = 10, ; + Column6.Format = "RK", ; + Column6.Name = "cCtaeDeb", ; + Column6.ReadOnly = .F., ; + Column6.Width = 56, ; + Column7.ColumnOrder = 5, ; + Column7.ControlSource = "ctcreditor", ; + Column7.FontSize = 10, ; + Column7.Format = "K", ; + Column7.Name = "cCtCreditor", ; + Column7.ReadOnly = .F., ; + Column7.Width = 56, ; + Column8.ColumnOrder = 8, ; + Column8.ControlSource = "ctpideb", ; + Column8.FontSize = 10, ; + Column8.Format = "K", ; + Column8.Name = "cCtPiDeb", ; + Column8.ReadOnly = .F., ; + Column8.Sparse = .F., ; + Column8.Width = 64, ; + Column9.ControlSource = "ctapideb", ; + Column9.Format = "k", ; + Column9.Name = "cCtApiDeb", ; + Column9.ReadOnly = .F., ; + Column9.Width = 72, ; + Column10.ControlSource = "ctpicred", ; + Column10.Format = "k", ; + Column10.Name = "cCtPiCred", ; + Column10.ReadOnly = .F., ; + Column10.Width = 54, ; + Column11.ControlSource = "ctapicred", ; + Column11.Format = "K", ; + Column11.Name = "cCtApiCred", ; + Column11.ReadOnly = .F., ; + Column11.Width = 58 + *< END OBJECT: ClassLib="..\comun\clase\_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grdConturi.cCtAeCred.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Ct. credit analitic extern", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdConturi.cCtAeCred.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdConturi.cCtaeDeb.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Ct. debit analitic extern", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdConturi.cCtaeDeb.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdConturi.cCtaiCred.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Ct. credit analitic intern", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdConturi.cCtaiCred.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdConturi.cCtaidDeb.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Ct. debit analitic intern", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdConturi.cCtaidDeb.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdConturi.cCtApiCred.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Ct. credit analitic penalitati", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdConturi.cCtApiCred.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdConturi.cCtApiDeb.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Ct. debit analitic penalitati", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdConturi.cCtApiDeb.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdConturi.cCtCreditor.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cont credit", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdConturi.cCtCreditor.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdConturi.cCtdebitor.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cont debit", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdConturi.cCtdebitor.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdConturi.cCtPiCred.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cont credit penalitati", ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdConturi.cCtPiCred.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdConturi.cCtPiDeb.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cont debit penalitati", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdConturi.cCtPiDeb.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdConturi.cLocatia.Combo1' AS combobox WITH ; + BorderStyle = 0, ; + BoundColumn = 2, ; + BoundTo = .T., ; + ControlSource = "crsConturi.id_locatia", ; + FontSize = 10, ; + Height = 24, ; + Left = 73, ; + Name = "Combo1", ; + ReadOnly = .F., ; + RowSource = "select crsLocatii.denumire, id from crsLocatii into cursor crsLocatiiX order by denumire", ; + RowSourceType = 3, ; + SpecialEffect = 1, ; + Style = 2, ; + Top = 44, ; + Width = 100 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'grdConturi.cLocatia.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Locatia", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdConturi.cLocatia.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Gridextra1' AS gridextra WITH ; + gridexpression = Thisform.grdArticole, ; + Left = 288, ; + Name = "Gridextra1", ; + productname = ROA, ; + Top = 144 + *< END OBJECT: ClassLib="..\comun\utile\gridextras\gridextras.vcx" BaseClass="custom" /> + + ADD OBJECT 'Gridextra2' AS gridextra WITH ; + gridexpression = Thisform.grdConturi, ; + Left = 480, ; + Name = "Gridextra2", ; + productname = ROA, ; + Top = 204 + *< END OBJECT: ClassLib="..\comun\utile\gridextras\gridextras.vcx" BaseClass="custom" /> + + ADD OBJECT 'Sfsplitterh1' AS sfsplitterh WITH ; + Anchor = 5, ; + BackColor = 255,255,255, ; + cobject1name = grdArticole, ; + cobject2name = grdConturi, ; + Height = 302, ; + Left = 447, ; + Name = "Sfsplitterh1", ; + Top = 89, ; + Width = 8, ; + ZOrderSet = 15, ; + gripper.GripperDot1.Name = "GripperDot1", ; + gripper.GripperDot1.ShapeDark.Name = "ShapeDark", ; + gripper.GripperDot1.ShapeLight.Name = "ShapeLight", ; + gripper.GripperDot1.ShapeMiddle.Name = "ShapeMiddle", ; + gripper.GripperDot2.Name = "GripperDot2", ; + gripper.GripperDot2.ShapeDark.Name = "ShapeDark", ; + gripper.GripperDot2.ShapeLight.Name = "ShapeLight", ; + gripper.GripperDot2.ShapeMiddle.Name = "ShapeMiddle", ; + gripper.GripperDot3.Name = "GripperDot3", ; + gripper.GripperDot3.ShapeDark.Name = "ShapeDark", ; + gripper.GripperDot3.ShapeLight.Name = "ShapeLight", ; + gripper.GripperDot3.ShapeMiddle.Name = "ShapeMiddle", ; + gripper.GripperDot4.Name = "GripperDot4", ; + gripper.GripperDot4.ShapeDark.Name = "ShapeDark", ; + gripper.GripperDot4.ShapeLight.Name = "ShapeLight", ; + gripper.GripperDot4.ShapeMiddle.Name = "ShapeMiddle", ; + gripper.GripperDot5.Name = "GripperDot5", ; + gripper.GripperDot5.ShapeDark.Name = "ShapeDark", ; + gripper.GripperDot5.ShapeLight.Name = "ShapeLight", ; + gripper.GripperDot5.ShapeMiddle.Name = "ShapeMiddle", ; + gripper.Name = "gripper" + *< END OBJECT: ClassLib="..\comun\clase\sfsplitter.vcx" BaseClass="control" /> + + PROCEDURE actualizeaza_grid1 + Lparameters tcFiltru + Local lcFiltru + lcFiltru = Iif(!Empty(m.tcFiltru), m.tcFiltru, "") + + Thisform.LockScreen=.T. + + Select crsConturi + Set Filter To &lcFiltru + Go Top + This.grdConturi.Refresh + Thisform.LockScreen=.F. + + ENDPROC + + PROCEDURE do_adauga + Local lnIdArticol, loRec + lnIdArticol = Nvl(crsArticole.id_articol, 0) + If Empty(m.lnIdArticol) + Return + Endif + + Sele crsConturi + If !EMPTY(crsConturi.id_locatia) + Scatter Name loRec MEMO + Else + Scatter Name loRec Memo Blank + ENDIF + loRec.id_articol = m.lnIdArticol + loRec.id = 0 + loRec.modificat = 1 + Append Blank + Gather Name loRec Memo + this.grdConturi.SetFocus() + + + ENDPROC + + PROCEDURE do_adauga_articol + Local llReturn, lnId + lnId = 0 + llReturn = nom_articole_nou(@lnId) + If m.llReturn + loBizDataObject = CreateObject("BizDataObject", GetHash([cSelect=>Select * from vnom_articole where id_articol = ] + ALLTRIM(STR(m.lnId)))) + loArticol = loBizDataObject.GetDataObject() + IF !ISNULL(loArticol) AND TYPE('loArticol') = 'O' + INSERT INTO crsArticole FROM NAME loArticol + SELECT crsArticole + LOCATE FOR id_articol = m.lnId + IF !FOUND() + GO TOP + ENDIF + ENDIF + ENDIF + this.grdArticole.SetFocus() + this.grdArticole.AfterRowColChange() + + ENDPROC + + PROCEDURE do_cauta + Local lcfiltru, lcValoare + + lcfiltru='' + lcValoare = STRTRAN(ALLTRIM(UPPER(This.cb_tx_cautare1.TEXT.VALUE)),['],['']) + With This.cb_tx_cautare1 + If !Empty(.Text.Value) Or (Empty(.Text.Value) And .criteriu.Value = "6") + Do Case + Case .criteriu.Value = "1" + lcfiltru = lcfiltru + [LIKE('] + lcValoare + [*', denumire)] + Case .criteriu.Value = "2" + lcfiltru = lcfiltru + [denumire ='] + lcValoare + ['] + Case .criteriu.Value = "3" + lcfiltru = lcfiltru + [denumire !='] + lcValoare + ['] + Case .criteriu.Value = "4" + lcfiltru = lcfiltru + [LIKE('*] + lcValoare + [*', denumire)] + Case .criteriu.Value = "5" + lcfiltru = lcfiltru + [!LIKE('*] + lcValoare + [*', denumire)] + Case .criteriu.Value = "6" + lcfiltru = lcfiltru + [2=2] + Endcase + Endif + Endwith + + SELECT crsArticole + lnRecno = RECNO() + LOCATE FOR &lcFiltru + IF !FOUND() + TRY + GOTO m.lnRecno + CATCH + GO TOP + ENDTRY + ENDIF + this.grdArticole.SetFocus() + thisform.actualizeaza_grid1("id_articol = " + ALLTRIM(STR(crsArticole.id_articol))) + + ENDPROC + + PROCEDURE do_cauta_partener + ENDPROC + + PROCEDURE do_executa2 + ENDPROC + + PROCEDURE do_modifica_articol + LOCAL lnIdArticol + Local loRec, loBizDataObject + Select crsArticole + lnIdArticol = crsArticole.id_articol + *!* loBizDataObject = CreateObject("BizDataObject", GetHash([cSelect=>Select * from vnom_articole where id_articol = ] + ALLTRIM(STR(m.lnIdArticol)))) + *!* loRec = loBizDataObject.GetDataObject() + *!* lorec.conditii_pastrare = Nvl(lorec.conditii_pastrare,'') + + *!* If gnCodMatAutomat = 2 + *!* Private poGeneratorCodmat + + *!* poGeneratorCodmat= Createobject("oGeneratorNumere") + *!* lnRezultat = poGeneratorCodmat.creeaza_cursor_serii(14) + *!* Endif + *!* If gnCodBareAutomat = 2 + *!* Private poGeneratorCodBare + *!* poGeneratorCodBare= Createobject("oGeneratorNumere") + *!* lnRezultat2 = poGeneratorCodBare.creeaza_cursor_serii(15) + *!* Endif + + *!* lnButon = Adauga_Modifica_Inregistrare([catalog_articole],lorec,lnIdArticol,[UPDATE]) + + llSucces = nom_articole_modifica(m.lnIdArticol) + + If m.llSucces + loBizDataObject = CreateObject("BizDataObject", GetHash([cSelect=>Select * from vnom_articole where id_articol = ] + ALLTRIM(STR(m.lnIdArticol)))) + loRec = loBizDataObject.GetDataObject() + IF !ISNULL(loRec) AND TYPE('loRec') = 'O' + SELECT crsArticole + LOCATE FOR id_articol = m.lnIdArticol + IF FOUND() + GATHER NAME loRec FIELDS EXCEPT id_articol + ELSE + GO TOP + ENDIF + ENDIF + Endif + + This.grdArticole.SetFocus() + + ENDPROC + + PROCEDURE do_sterge + IF AMESSAGEBOX('Doriti sa stergeti inregistrarea?',4+32,_screen.Caption) <> 6 + RETURN + ENDIF + + SELECT crsConturi + REPLACE modificat with 1 + DELETE + TRY + SKIP -1 + CATCH + GO TOP + ENDTRY + this.grdConturi.SetFocus() + ENDPROC + + PROCEDURE do_sterge_articol + Local llReturn, lnId + Select crsArticole + lnId = crsArticole.id_articol + + *!* pnId = lnId + *!* pnIdUtil = NVL(m.gnIdUtil,0) + + llReturn = STERGE_INREGISTRARE("catalog_articole", m.lnId) + If m.llReturn + SELECT crsConturi + REPLACE modificat with 2 FOR id_articol = m.lnId IN crsConturi + DELETE FOR id_articol = m.lnId IN crsConturi + + Select crsArticole + Delete + Try + Skip - 1 + Catch + Go Top + ENDTRY + + Endif + This.grdArticole.SetFocus() + + ENDPROC + + PROCEDURE getcontracteclient + ENDPROC + + PROCEDURE Init + DODEFAULT() + thisform.gridextra1.setup() + thisform.gridextra2.setup() + thisform.actualizeaza_grid1("id_articol = " + ALLTRIM(STR(crsArticole.id_articol))) + thisform.cb_tx_cautare1.text.SetFocus() + this.WindowState = 2 + ENDPROC + + PROCEDURE Cb_tx_cautare1.Init + this.do_initializeaza_ct() + ENDPROC + + PROCEDURE Cb_tx_cautare1.Text.KeyPress + LPARAMETERS nKeyCode, nShiftAltCtrl + IF nKeyCode = 13 + THISFORM.DO_CAUTA() + NODEFAULT + ENDIF + ENDPROC + + PROCEDURE grdArticole.AfterRowColChange + LPARAMETERS nColIndex + + thisform.actualizeaza_grid1("id_articol = " + ALLTRIM(STR(crsArticole.id_articol))) + + ENDPROC + + PROCEDURE grdConturi.AfterRowColChange + Lparameters nColIndex + REPLACE modificat WITH 1 IN crsConturi + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_factura AS _frmbase OF "..\comun\clase\_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="txtValval" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtValftva" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtValtva" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtValctva" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtClient" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="but_cautare_client" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cboContract" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblClient" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblContract" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtBeneficiar" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="but_cautare_beneficiar" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="chkIntern" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFactura" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFactura.cNr.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFactura.cNr.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFactura.cArticol.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFactura.cArticol.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFactura.cArticol.Combo1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFactura.cDenumire.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFactura.cDenumire.Edit1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFactura.cUM.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFactura.cUM.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFactura.cUM.Text2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFactura.cCantitate.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFactura.cCantitate.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFactura.cCantitate.Text2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFactura.cPretUnitar.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFactura.cPretUnitar.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFactura.cPretUnitar.Text2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFactura.cValoare.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFactura.cValoare.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFactura.cValoare.Text2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFactura.cTVA.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFactura.cTVA.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFactura.cTVA.Text2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFactura.cCurs.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFactura.cCurs.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFactura.cCurs.Text2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFactura.cPUValuta.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFactura.cPUValuta.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFactura.cPUValuta.Text2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFactura.cValuta.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFactura.cValuta.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFactura.cValuta.Combo1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFactura.cExplicatieTVA.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFactura.cExplicatieTVA.Combo1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFactura.cLocatia.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFactura.cLocatia.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFactura.cLocatia._combobox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFactura.cPretcTVA.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFactura.cPretcTVA.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFactura.cPretcTVA.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFactura.cValcTVA.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdFactura.cValcTVA.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtNrFact" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label7" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtDataScad" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label8" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtDataFact" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label9" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label10" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="edtTextSubsol" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtDataCurs" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label11" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Clb_serie_act" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Gridextra1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cboTip" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_salveaza1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cmdImport" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="but_factura_noua" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtCursEUR" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label12" UniqueID="" Timestamp="" /> + + * + *m: activeazasalvare && Activeaza butonul de salvare la adaugarea unei linii noi in factura sau la import din RORIS/Contracte + *m: calculeazapreturi + *m: calculeazapreturirand + *m: calculeazatotaluri + *m: citestecursuri + *m: completeazacapfactura + *m: do_cauta_partener + *m: do_executa2 + *m: getcontracteclient + *m: initfactura + *m: lfacturasalvata_assign + *m: refreshdatascadenta + *m: refreshdate + *p: ccontractclient + *p: cdenumirebeneficiar + *p: cdenumireclient + *p: ctip + *p: cvaloare_convoi + *p: cvaloare_finala + *p: cvaloare_minima_convoi + *p: ddatacurs + *p: ddatafact + *p: ddatascad + *p: lfacturasalvata + *p: lnumaractgenerat + *p: lnumargenerat + *p: ncantitate + *p: ncapacitateclient + *p: ncapacitatetotal + *p: ncurs + *p: ncurseur + *p: neagent + *p: nidbeneficiar + *p: nidclient + *p: nidcontractclient + *p: nidjtvacoloanaex + *p: nidvaluta + *p: nintern + *p: nnrfact + *p: nnrzilescadenta + *p: npret + *p: npretval + *p: ntipcurs + *p: nvalctva + *p: nvalftva + *p: nvaltva + *p: nvalval + * + + * + BorderStyle = 3 + ccontractclient = + cdenumirebeneficiar = + cdenumireclient = + ctip = TRANZIT + cvaloare_convoi = 0 + cvaloare_finala = 0 + cvaloare_minima_convoi = 0 + ddatacurs = {} + ddatafact = {} + ddatascad = {} + DoCreate = .T. + Height = 361 + lfacturasalvata = .F. + lnumaractgenerat = .F. + lnumargenerat = .F. + Name = "frm_factura" + ncantitate = 0 + ncapacitateclient = 0 + ncapacitatetotal = 0 + ncurs = 0 + ncurseur = 0.00 + neagent = 0 + nidbeneficiar = 0 + nidclient = 0 + nidcontractclient = 0 + nidjtvacoloanaex = 0 + nidvaluta = 0 + nintern = 0 + nnrfact = 0 + nnrzilescadenta = 0 + npret = 0 + npretval = 0 + ntipcurs = 0 + nvalctva = 0 + nvalftva = 0 + nvaltva = 0 + nvalval = 0 + Width = 779 + _memberdata = + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + _shape1.Anchor = 10 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 780 + _shape2.Left = 728 + _shape2.Name = "_shape2" + _shape2.Top = -1 + Lb_titlu_alb_b121.Caption = "Factura" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 21 + BUT_TERMIN1.Anchor = 8 + BUT_TERMIN1.Left = 796 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 19 + BUT_TERMIN1.TabStop = .F. + BUT_TERMIN1.Top = 36 + BUT_TERMIN1.Visible = .F. + Gridsort1.Left = 0 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 403 + * + + ADD OBJECT '_label1' AS _label WITH ; + Anchor = 12, ; + Caption = "Total valuta", ; + FontBold = .T., ; + Left = 363, ; + Name = "_label1", ; + TabIndex = 26, ; + Top = 306 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_label10' AS _label WITH ; + Anchor = 4, ; + Caption = "Text aditional factura:", ; + FontBold = .T., ; + Height = 18, ; + Left = 15, ; + Name = "_label10", ; + TabIndex = 36, ; + Top = 273, ; + Width = 142 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_label11' AS _label WITH ; + Caption = "Data curs", ; + FontBold = .T., ; + Left = 430, ; + Name = "_label11", ; + TabIndex = 37, ; + Top = 103 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_label12' AS _label WITH ; + Caption = "Curs EUR", ; + FontBold = .T., ; + Left = 518, ; + Name = "_label12", ; + TabIndex = 38, ; + Top = 103 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_label2' AS _label WITH ; + Anchor = 12, ; + Caption = "Total fara TVA", ; + FontBold = .T., ; + Left = 459, ; + Name = "_label2", ; + TabIndex = 28, ; + Top = 306 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_label3' AS _label WITH ; + Anchor = 12, ; + Caption = "Total TVA", ; + FontBold = .T., ; + Left = 596, ; + Name = "_label3", ; + TabIndex = 29, ; + Top = 306 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_label4' AS _label WITH ; + Anchor = 12, ; + Caption = "Total cu TVA", ; + FontBold = .T., ; + Left = 689, ; + Name = "_label4", ; + TabIndex = 27, ; + Top = 306 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_label5' AS _label WITH ; + Caption = "Beneficiar:", ; + FontBold = .T., ; + Left = 15, ; + Name = "_label5", ; + TabIndex = 32, ; + Top = 70 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_label6' AS _label WITH ; + Anchor = 8, ; + Caption = "Tip", ; + FontBold = .T., ; + Left = 475, ; + Name = "_label6", ; + TabIndex = 39, ; + Top = 70 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_label7' AS _label WITH ; + Caption = "Numar", ; + FontBold = .T., ; + Height = 18, ; + Left = 127, ; + Name = "_label7", ; + TabIndex = 33, ; + Top = 103, ; + Width = 44 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_label8' AS _label WITH ; + Caption = "Data scadenta", ; + FontBold = .T., ; + Left = 335, ; + Name = "_label8", ; + TabIndex = 34, ; + Top = 103 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_label9' AS _label WITH ; + Caption = "Data", ; + FontBold = .T., ; + Height = 18, ; + Left = 248, ; + Name = "_label9", ; + TabIndex = 35, ; + Top = 103, ; + Width = 31 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'but_cautare_beneficiar' AS but_cautare WITH ; + caction = do_cauta_partener, ; + clistaparametri = 'beneficiar', ; + Left = 372, ; + Name = "but_cautare_beneficiar", ; + TabIndex = 6, ; + TabStop = .F., ; + Top = 65 + *< END OBJECT: ClassLib="..\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'but_cautare_client' AS but_cautare WITH ; + caction = do_cauta_partener, ; + clistaparametri = 'client', ; + Left = 372, ; + Name = "but_cautare_client", ; + TabIndex = 2, ; + Top = 35 + *< END OBJECT: ClassLib="..\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'but_factura_noua' AS but_nou WITH ; + Anchor = 8, ; + caction = do_reset, ; + Left = 688, ; + Name = "but_factura_noua", ; + TabIndex = 40, ; + Top = 0 + *< END OBJECT: ClassLib="..\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_nou1' AS but_nou WITH ; + Anchor = 8, ; + Left = 707, ; + Name = "But_nou1", ; + TabIndex = 14, ; + Top = 120 + *< END OBJECT: ClassLib="..\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Anchor = 8, ; + Left = 749, ; + Name = "But_renunt1", ; + TabIndex = 41, ; + Top = 0 + *< END OBJECT: ClassLib="..\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_salveaza1' AS but_salveaza WITH ; + Anchor = 8, ; + Left = 719, ; + Name = "But_salveaza1", ; + TabIndex = 18, ; + Top = 0 + *< END OBJECT: ClassLib="..\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge1' AS but_sterge WITH ; + Anchor = 8, ; + Left = 737, ; + Name = "But_sterge1", ; + TabIndex = 15, ; + Top = 120 + *< END OBJECT: ClassLib="..\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'cboContract' AS _combobox WITH ; + BoundColumn = 2, ; + BoundTo = .T., ; + ControlSource = "thisform.nIdContractClient", ; + Enabled = .F., ; + Height = 24, ; + Left = 472, ; + Name = "cboContract", ; + ReadOnly = .F., ; + RowSource = "select crsContracte.numar as contract, id_ctr, nr_zile_scadenta, tip_curs from crsContracte into cursor crsContracteX", ; + RowSourceType = 3, ; + TabIndex = 3, ; + Top = 37, ; + Width = 175 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="combobox" /> + + ADD OBJECT 'cboTip' AS _combobox WITH ; + Anchor = 8, ; + BoundColumn = 1, ; + BoundTo = .T., ; + ControlSource = "poDate.cTip", ; + Enabled = .F., ; + Left = 507, ; + Name = "cboTip", ; + ReadOnly = .F., ; + RowSource = "select tip from crsTipFactura into cursor crsTipFacturaX", ; + RowSourceType = 3, ; + TabIndex = 12, ; + TabStop = .F., ; + Top = 67, ; + Width = 84 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="combobox" /> + + ADD OBJECT 'chkIntern' AS _checkbox WITH ; + Alignment = 1, ; + Caption = "Intern:", ; + ControlSource = "thisform.nIntern", ; + FontBold = .T., ; + Left = 412, ; + Name = "chkIntern", ; + TabIndex = 4, ; + TabStop = .F., ; + Top = 70 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Clb_serie_act' AS clb_serie_act WITH ; + BorderWidth = 0, ; + cvariabila = serie_act, ; + cvariabiladoc = nract, ; + Height = 54, ; + Left = 4, ; + Name = "Clb_serie_act", ; + nid_tipdoc = 5, ; + pcobj = poDate, ; + TabIndex = 7, ; + Top = 97, ; + Width = 125, ; + Text_simplu1.Height = 23, ; + Text_simplu1.Left = 8, ; + Text_simplu1.Name = "Text_simplu1", ; + Text_simplu1.Top = 25, ; + Text_simplu1.Width = 109, ; + _cbbase1.Height = 23, ; + _cbbase1.Left = 8, ; + _cbbase1.Name = "_cbbase1", ; + _cbbase1.Top = 25, ; + _cbbase1.Width = 109, ; + _lbbase1.Caption = "Serie", ; + _lbbase1.FontBold = .T., ; + _lbbase1.Left = 8, ; + _lbbase1.Name = "_lbbase1", ; + _lbbase1.Top = 6 + *< END OBJECT: ClassLib="..\comun\clase\serii_numere.vcx" BaseClass="container" /> + + ADD OBJECT 'cmdImport' AS cmd_executa WITH ; + Anchor = 8, ; + AutoSize = .F., ; + BackColor = 0,159,236, ; + Caption = "\ + + ADD OBJECT 'edtTextSubsol' AS _editbox WITH ; + Anchor = 4, ; + ControlSource = "poDate.text_aditional", ; + Height = 61, ; + Left = 12, ; + MaxLength = 500, ; + Name = "edtTextSubsol", ; + TabIndex = 20, ; + Top = 292, ; + Width = 312 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="editbox" /> + + ADD OBJECT 'grdFactura' AS _grdbase WITH ; + Anchor = 15, ; + ColumnCount = 15, ; + DeleteMark = .F., ; + FontSize = 10, ; + HeaderHeight = 37, ; + Height = 115, ; + Left = 10, ; + Name = "grdFactura", ; + Panel = 1, ; + ReadOnly = .F., ; + RecordSource = "crsFactura", ; + RowHeight = 56, ; + TabIndex = 17, ; + Top = 151, ; + Width = 758, ; + Column1.ColumnOrder = 1, ; + Column1.ControlSource = "nrcrt", ; + Column1.FontSize = 10, ; + Column1.Name = "cNr", ; + Column1.ReadOnly = .F., ; + Column1.Width = 39, ; + Column2.Bound = .F., ; + Column2.ColumnOrder = 3, ; + Column2.ControlSource = "Iif(Seek(crsFactura.id_articol,'crsArticole','id_articol'),crsArticole.denumire,'')", ; + Column2.CurrentControl = "Combo1", ; + Column2.FontSize = 10, ; + Column2.Name = "cArticol", ; + Column2.ReadOnly = .F., ; + Column2.Sparse = .F., ; + Column2.Width = 136, ; + Column3.ColumnOrder = 4, ; + Column3.ControlSource = "denumire", ; + Column3.CurrentControl = "Edit1", ; + Column3.FontSize = 10, ; + Column3.Name = "cDenumire", ; + Column3.ReadOnly = .F., ; + Column3.Sparse = .F., ; + Column3.Width = 167, ; + Column4.ColumnOrder = 5, ; + Column4.ControlSource = "um", ; + Column4.CurrentControl = "Text2", ; + Column4.FontSize = 10, ; + Column4.Name = "cUM", ; + Column4.ReadOnly = .T., ; + Column4.Width = 32, ; + Column5.ColumnOrder = 6, ; + Column5.ControlSource = "crsFactura.cantitate", ; + Column5.CurrentControl = "Text2", ; + Column5.FontSize = 10, ; + Column5.Format = "RK", ; + Column5.InputMask = (get_mask(16, gnPCant)), ; + Column5.Name = "cCantitate", ; + Column5.ReadOnly = .F., ; + Column5.Width = 64, ; + Column6.BackColor = 215,215,215, ; + Column6.ColumnOrder = 11, ; + Column6.ControlSource = "crsFactura.pret", ; + Column6.CurrentControl = "Text2", ; + Column6.FontSize = 10, ; + Column6.Format = "RK", ; + Column6.InputMask = (get_mask(16, gnPPret)), ; + Column6.Name = "cPretUnitar", ; + Column6.ReadOnly = .T., ; + Column6.Width = 83, ; + Column7.BackColor = 215,215,215, ; + Column7.ColumnOrder = 12, ; + Column7.ControlSource = "crsFactura.valftva", ; + Column7.CurrentControl = "Text2", ; + Column7.FontSize = 10, ; + Column7.Format = "RK", ; + Column7.InputMask = (get_mask(16, gnPC)), ; + Column7.Name = "cValoare", ; + Column7.ReadOnly = .T., ; + Column7.Width = 105, ; + Column8.BackColor = 215,215,215, ; + Column8.ColumnOrder = 14, ; + Column8.ControlSource = "valtva", ; + Column8.CurrentControl = "Text2", ; + Column8.FontSize = 10, ; + Column8.Format = "RK", ; + Column8.InputMask = (get_mask(16, gnPC)), ; + Column8.Name = "cTVA", ; + Column8.ReadOnly = .F., ; + Column8.Width = 85, ; + Column9.ColumnOrder = 10, ; + Column9.ControlSource = "curs", ; + Column9.CurrentControl = "Text2", ; + Column9.FontSize = 10, ; + Column9.Format = "RK", ; + Column9.InputMask = (get_mask(16, gnPCurs)), ; + Column9.Name = "cCurs", ; + Column9.ReadOnly = .F., ; + Column9.Width = 56, ; + Column10.ColumnOrder = 7, ; + Column10.ControlSource = "pretval", ; + Column10.CurrentControl = "Text2", ; + Column10.FontSize = 10, ; + Column10.Format = "RK", ; + Column10.InputMask = (get_mask(16, gnPVal)), ; + Column10.Name = "cPUValuta", ; + Column10.ReadOnly = .F., ; + Column10.Width = 67, ; + Column11.Bound = .F., ; + Column11.ColumnOrder = 9, ; + Column11.ControlSource = "Iif(Seek(crsFactura.id_valuta,'crsValute','id_valuta'),crsValute.nume_val,'')", ; + Column11.CurrentControl = "Combo1", ; + Column11.FontSize = 10, ; + Column11.Name = "cValuta", ; + Column11.ReadOnly = .F., ; + Column11.Sparse = .F., ; + Column11.Width = 63, ; + Column12.Bound = .F., ; + Column12.ColumnOrder = 13, ; + Column12.ControlSource = "Iif(Seek(crsFactura.id_jtva_coloana_ex,'crsJtva','id'),crsJtva.explicatie,'')", ; + Column12.CurrentControl = "Combo1", ; + Column12.FontSize = 10, ; + Column12.Name = "cExplicatieTVA", ; + Column12.ReadOnly = .F., ; + Column12.Sparse = .F., ; + Column12.Width = 164, ; + Column13.Bound = .F., ; + Column13.ColumnOrder = 2, ; + Column13.ControlSource = "Iif(Seek(crsFactura.id_locatia,'crsLocatii','id'),crsLocatii.denumire,'')", ; + Column13.CurrentControl = "_combobox1", ; + Column13.FontSize = 10, ; + Column13.Name = "cLocatia", ; + Column13.ReadOnly = .F., ; + Column13.Sparse = .F., ; + Column13.Width = 147, ; + Column14.ColumnOrder = 8, ; + Column14.ControlSource = "pret_cu_tva", ; + Column14.CurrentControl = "Check1", ; + Column14.FontSize = 10, ; + Column14.Name = "cPretcTVA", ; + Column14.ReadOnly = .F., ; + Column14.Sparse = .F., ; + Column14.Width = 44, ; + Column15.BackColor = 215,215,215, ; + Column15.ControlSource = "crsFactura.valctva", ; + Column15.FontSize = 10, ; + Column15.Format = "RK", ; + Column15.InputMask = (get_mask(16, gnPC)), ; + Column15.Name = "cValcTVA", ; + Column15.ReadOnly = .T., ; + Column15.Width = 99 + *< END OBJECT: ClassLib="..\comun\clase\_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grdFactura.cArticol.Combo1' AS combobox WITH ; + BoundColumn = 2, ; + BoundTo = .T., ; + ColumnWidths = "200,0", ; + ControlSource = "crsFactura.id_articol", ; + FontSize = 10, ; + Height = 24, ; + Left = 74, ; + Name = "Combo1", ; + ReadOnly = .F., ; + RowSource = "select crsArticole.denumire, id_articol, um from crsArticole into cursor crsArticoleX order by denumire", ; + RowSourceType = 3, ; + SpecialEffect = 0, ; + Style = 2, ; + Top = 71, ; + Width = 100 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'grdFactura.cArticol.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Articol", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdFactura.cArticol.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdFactura.cCantitate.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cantitate (3)", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdFactura.cCantitate.Text1' AS textbox WITH ; + Height = 10, ; + Left = 33, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255, ; + Top = 52, ; + Width = 10 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdFactura.cCantitate.Text2' AS textbox WITH ; + FontSize = 10, ; + Height = 23, ; + Left = 21, ; + Name = "Text2", ; + SelectedBackColor = 100,185,255, ; + Top = 52, ; + Width = 100 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdFactura.cCurs.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Curs", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdFactura.cCurs.Text1' AS textbox WITH ; + Height = 10, ; + Left = 34, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255, ; + Top = 40, ; + Width = 10 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdFactura.cCurs.Text2' AS textbox WITH ; + FontSize = 10, ; + Height = 23, ; + Left = 22, ; + Name = "Text2", ; + SelectedBackColor = 100,185,255, ; + Top = 52, ; + Width = 100 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdFactura.cDenumire.Edit1' AS editbox WITH ; + FontSize = 10, ; + Height = 53, ; + Left = 78, ; + Name = "Edit1", ; + Top = 52, ; + Width = 100 + *< END OBJECT: BaseClass="editbox" /> + + ADD OBJECT 'grdFactura.cDenumire.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Denumire (1)", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdFactura.cExplicatieTVA.Combo1' AS combobox WITH ; + BoundColumn = 2, ; + BoundTo = .T., ; + ColumnCount = 4, ; + ColumnLines = .F., ; + ColumnWidths = "500,0,0,0", ; + ControlSource = "crsFactura.id_jtva_coloana_ex", ; + FontSize = 10, ; + Height = 10, ; + Left = 129, ; + Name = "Combo1", ; + ReadOnly = .F., ; + RowSource = "select crsJTva.explicatie,id, id_jtva_coloana, cota_tva from crsJTVA order by ordine into cursor crsJTVAX", ; + RowSourceType = 3, ; + Style = 2, ; + Top = 47, ; + Width = 10 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'grdFactura.cExplicatieTVA.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Expl. TVA", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdFactura.cLocatia._combobox1' AS _combobox WITH ; + BoundColumn = 2, ; + BoundTo = .T., ; + ControlSource = "crsFactura.id_locatia", ; + FontSize = 10, ; + Left = 83, ; + Name = "_combobox1", ; + RowSource = "select crsLocatii.denumire, id from crsLocatii into cursor crsLocatiiX order by denumire", ; + RowSourceType = 3, ; + Top = 76 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="combobox" /> + + ADD OBJECT 'grdFactura.cLocatia.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Locatia", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdFactura.cLocatia.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdFactura.cNr.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr. crt. (0)", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdFactura.cNr.Text1' AS textbox WITH ; + FontSize = 10, ; + Height = 23, ; + Left = 27, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255, ; + Top = 64, ; + Width = 100 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdFactura.cPretcTVA.Check1' AS checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + FontSize = 10, ; + Height = 17, ; + Left = 27, ; + Name = "Check1", ; + Top = 64, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'grdFactura.cPretcTVA.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret cu TVA", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdFactura.cPretcTVA.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdFactura.cPretUnitar.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret unitar lei (4)", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdFactura.cPretUnitar.Text1' AS textbox WITH ; + Height = 10, ; + Left = 64, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255, ; + Top = 40, ; + Width = 10 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdFactura.cPretUnitar.Text2' AS textbox WITH ; + BackColor = 215,215,215, ; + FontSize = 10, ; + Height = 23, ; + Left = 28, ; + Name = "Text2", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255, ; + Top = 40, ; + Width = 100 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdFactura.cPUValuta.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret unitar valuta", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdFactura.cPUValuta.Text1' AS textbox WITH ; + Height = 10, ; + Left = 49, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255, ; + Top = 52, ; + Width = 10 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdFactura.cPUValuta.Text2' AS textbox WITH ; + FontSize = 10, ; + Height = 23, ; + Left = 37, ; + Name = "Text2", ; + SelectedBackColor = 100,185,255, ; + Top = 64, ; + Width = 100 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdFactura.cTVA.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoarea TVA (6)", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdFactura.cTVA.Text1' AS textbox WITH ; + Height = 10, ; + Left = 60, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255, ; + Top = 64, ; + Width = 10 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdFactura.cTVA.Text2' AS textbox WITH ; + BackColor = 215,215,215, ; + FontSize = 10, ; + Height = 23, ; + Left = 72, ; + Name = "Text2", ; + SelectedBackColor = 100,185,255, ; + Top = 52, ; + Width = 100 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdFactura.cUM.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "U.M. (2)", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdFactura.cUM.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdFactura.cUM.Text2' AS textbox WITH ; + Enabled = .T., ; + FontSize = 10, ; + Height = 23, ; + Left = 18, ; + Name = "Text2", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255, ; + Top = 52, ; + Width = 100 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdFactura.cValcTVA.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoarea cu TVA (7)", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdFactura.cValcTVA.Text1' AS textbox WITH ; + BackColor = 215,215,215, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdFactura.cValoare.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoarea fara TVA (5=3*4)", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdFactura.cValoare.Text1' AS textbox WITH ; + Height = 10, ; + Left = 52, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255, ; + Top = 52, ; + Width = 10 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdFactura.cValoare.Text2' AS textbox WITH ; + BackColor = 215,215,215, ; + FontSize = 10, ; + Height = 23, ; + Left = 64, ; + Name = "Text2", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255, ; + Top = 64, ; + Width = 100 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdFactura.cValuta.Combo1' AS combobox WITH ; + BoundColumn = 2, ; + BoundTo = .T., ; + ControlSource = "crsFactura.id_valuta", ; + FontSize = 10, ; + Height = 24, ; + Left = 29, ; + Name = "Combo1", ; + ReadOnly = .F., ; + RowSource = "select nume_val, id_valuta from crsValute order by nume_val into cursor crsValuteX", ; + RowSourceType = 3, ; + Style = 2, ; + Top = 47, ; + Width = 100 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'grdFactura.cValuta.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valuta", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdFactura.cValuta.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Gridextra1' AS gridextra WITH ; + companyname = ROMFAST, ; + gridexpression = Thisform.grdFactura, ; + Left = 749, ; + Name = "Gridextra1", ; + productname = ROAACNPRO, ; + Top = 228 + *< END OBJECT: ClassLib="..\comun\utile\gridextras\gridextras.vcx" BaseClass="custom" /> + + ADD OBJECT 'lblClient' AS _label WITH ; + Caption = "Platitor:", ; + FontBold = .T., ; + Left = 15, ; + Name = "lblClient", ; + TabIndex = 30, ; + Top = 40 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'lblContract' AS _label WITH ; + Caption = "Contract:", ; + FontBold = .T., ; + Left = 412, ; + Name = "lblContract", ; + TabIndex = 31, ; + Top = 40 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'txtBeneficiar' AS _textbox WITH ; + ControlSource = "thisform.cDenumireBeneficiar", ; + Height = 23, ; + Left = 84, ; + Name = "txtBeneficiar", ; + ReadOnly = .T., ; + TabIndex = 5, ; + TabStop = .F., ; + ToolTipText = "Alegere beneficiar la Mouse-Click sau apasarea unei taste. Schimbare beneficiar la Dublu Mouse-Click sau apasarea unei taste.", ; + Top = 68, ; + Width = 280 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txtClient' AS _textbox WITH ; + ControlSource = "thisform.cDenumireClient", ; + Height = 23, ; + Left = 84, ; + Name = "txtClient", ; + ReadOnly = .T., ; + TabIndex = 1, ; + TabStop = .F., ; + ToolTipText = "Alegere client la Mouse-Click sau apasarea unei taste. Schimbare client la Dublu Mouse-Click sau apasarea unei taste.", ; + Top = 38, ; + Width = 280 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txtCursEUR' AS _textbox WITH ; + Alignment = 3, ; + ControlSource = "thisform.nCursEUR", ; + Enabled = .F., ; + Format = "K", ; + Left = 518, ; + Name = "txtCursEUR", ; + TabIndex = 16, ; + Top = 122, ; + Value = 0.0, ; + Width = 80 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txtDataCurs' AS _textbox WITH ; + ControlSource = "poDate.zi_curs", ; + Format = "K", ; + Left = 430, ; + Name = "txtDataCurs", ; + TabIndex = 11, ; + Top = 122, ; + Width = 80 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txtDataFact' AS _textbox WITH ; + ControlSource = "poDate.dataact", ; + Format = "K", ; + Left = 248, ; + Name = "txtDataFact", ; + TabIndex = 9, ; + Top = 122, ; + Width = 80 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txtDataScad' AS _textbox WITH ; + ControlSource = "poDate.datascad", ; + Format = "K", ; + Left = 335, ; + Name = "txtDataScad", ; + TabIndex = 10, ; + Top = 122, ; + Width = 80 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txtNrFact' AS _textbox WITH ; + ControlSource = "poDate.nract", ; + Format = "K", ; + Left = 127, ; + Name = "txtNrFact", ; + TabIndex = 8, ; + Top = 122, ; + Width = 116 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txtValctva' AS _textbox WITH ; + Anchor = 12, ; + ControlSource = "thisform.nValctva", ; + Format = "RK", ; + Height = 23, ; + InputMask = (get_mask(12,gnZ)), ; + Left = 662, ; + Name = "txtValctva", ; + ReadOnly = .T., ; + TabIndex = 25, ; + TabStop = .F., ; + Top = 329, ; + Width = 108 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txtValftva' AS _textbox WITH ; + Anchor = 12, ; + ControlSource = "thisform.nValftva", ; + Format = "RK", ; + Height = 23, ; + InputMask = (get_mask(12,gnZ)), ; + Left = 443, ; + Name = "txtValftva", ; + ReadOnly = .T., ; + TabIndex = 23, ; + TabStop = .F., ; + Top = 329, ; + Width = 108 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txtValtva' AS _textbox WITH ; + Anchor = 12, ; + ControlSource = "thisform.nValtva", ; + Format = "RK", ; + Height = 23, ; + InputMask = (get_mask(12,gnZ)), ; + Left = 552, ; + Name = "txtValtva", ; + ReadOnly = .T., ; + TabIndex = 24, ; + TabStop = .F., ; + Top = 329, ; + Width = 108 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txtValval' AS _textbox WITH ; + Anchor = 12, ; + ControlSource = "Thisform.nValVal", ; + Format = "RK", ; + Height = 23, ; + InputMask = (get_mask(12,gnZ)), ; + Left = 332, ; + Name = "txtValval", ; + ReadOnly = .T., ; + TabIndex = 22, ; + TabStop = .F., ; + Top = 329, ; + Width = 108 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="textbox" /> + + PROCEDURE activeazasalvare && Activeaza butonul de salvare la adaugarea unei linii noi in factura sau la import din RORIS/Contracte + This.but_salveaza1.Enabled = .T. + ENDPROC + + PROCEDURE calculeazapreturi + SELECT crsFactura + SCAN + This.CalculeazaPreturiRand() + ENDSCAN + This.CalculeazaTotaluri() + ENDPROC + + PROCEDURE calculeazapreturirand + * Recalculeaza preturile in lei dupa preturile in valuta si cursul valutar pentru articolele in valuta + * Completez cursul valutar + Local lnCurs, lnIdValuta, lcSelect, llIsMonedaNationala + lcSelect = Select() + + Select crsFactura + lnIdValuta = id_valuta + loMonedaNationala = GetMonedaNationala() + llIsMonedaNationala = (m.lnIdValuta = loMonedaNationala.id_valuta) + + Select crsFactura + If !m.llIsMonedaNationala + If Inlist(Nvl(Curs,0), 0, 1) + If !Used('crsCursuri') + Thisform.CitesteCursuri() + Endif + Select crsCursuri + Locate For id_valuta = m.lnIdValuta + If Found() + lnCurs = Curs + Replace Curs With m.lnCurs In crsFactura + Endif + Endif + Else + Replace Curs With 1 In crsFactura + Endif && m.llIsMonedaNationala + + SET STEP ON + Select crsFactura + Replace Pret With Round(pretval * Curs, m.gnPC) + If Nvl(pret_cu_tva, 0) = 1 And Nvl(proc_tva, 0) > 0 + * pretval este CU TVA inclus -> calcul invers (identic cu PACK_FACTURARE, V_PRET_CU_TVA = 1) + Replace valctva With Round(Pret * cantitate, m.gnPC) + Replace valtva With Round(valctva * (proc_tva - 1) / proc_tva, m.gnPC) + Replace valftva With valctva - valtva + Replace totval With Round(pretval * cantitate, m.gnPval) + Replace tvaval With Round(totval * (proc_tva - 1) / proc_tva, m.gnPval) + Replace valval With totval - tvaval + Else + * pretval este FARA TVA (comportament actual) + Replace valftva With Round(Pret * cantitate, m.gnPC) + Replace valtva With Round(valftva * (proc_tva - 1), m.gnPC) + Replace valctva With valftva + valtva + Replace valval With Round(pretval * cantitate, m.gnPval) + Replace tvaval With Round(valval * (proc_tva - 1), m.gnPval) + Replace totval With valval + tvaval + Endif + + Select (m.lcSelect) + + ENDPROC + + PROCEDURE calculeazatotaluri + Local lnRecno + Select crsFactura + lnRecno = Recno() + Calculate Sum(valval), Sum(valftva), Sum(valtva), Sum(valctva) To Thisform.nValVal, Thisform.nValFtva, Thisform.nValTVA, Thisform.nValcTVA + + Select crsFactura + If m.lnRecno > 0 + Locate For Recno() = m.lnRecno + If !Found() + Go Top + Endif + Endif + Thisform.txtValval.Refresh() + Thisform.txtValftva.Refresh() + Thisform.txtValtva.Refresh() + Thisform.txtValctva.Refresh() + + ENDPROC + + PROCEDURE citestecursuri + Local lcSelect + lcSelect = Select() + citeste_cursuri_zi(poDate.zi_curs) && crsCursuri (Curs, nume_val, id_valuta, multiplicator) + If Used('crsCursuri') + Select crsCursuri + Locate For 'EUR' $ Upper(nume_val) + If Found() + Thisform.nCursEUR = Curs + Else + AMESSAGEBOX('Completati cursul valutar pentru ' + Dtoc(poDate.zi_curs) + '!', 0 + 48, _Screen.Caption) + + Do vizualizeaza_curs In oproceduri_curs.prg With poDate.zi_curs + + citeste_cursuri_zi(poDate.zi_curs) && crsCursuri (Curs, nume_val, id_valuta, multiplicator) + + Select crsCursuri + Locate For 'EUR' $ Upper(nume_val) + If Found() + Thisform.nCursEUR = Curs + Endif + Endif + Endif + Thisform.txtCursEUR.Refresh() + Select (m.lcSelect) + + ENDPROC + + PROCEDURE completeazacapfactura + * crsCapFactura (uuid N(20) Null, dataact D, datascad D, nract N(20), serie_act C(10), client_id N(10) Null, client C(100) Null, client_ctr_id N(10) Null, contract_client C(100) Null, nr_zile_scadenta N(5) Null, tip_curs N(1) Null, eAgent N(1) Null, intern N(1) Null, beneficiar_id N(10) Null, beneficiar C(100) Null, id_set N(10), id_fdoc N(5)) + + poDate.nume_client = Thisform.cDenumireClient + poDate.id_client = Thisform.nIdClient + poDate.listaId = Thisform.nIdContractClient + poDate.descriere = Thisform.cContractClient + poDate.in_valuta = IIF(Thisform.nIntern = 1, 0, 1) + poDate.nIdBeneficiar = thisform.nIdBeneficiar + + Update crsCapFactura Set nract = poDate.nract, dataact = poDate.dataact, datascad = poDate.datascad, serie_act = poDate.serie_act, ; + id_set = poDate.id_set, id_fdoc = poDate.id_fdoc, ; + client_id = poDate.id_client, client = poDate.nume_client, client_ctr_id = poDate.listaId, contract_client = poDate.descriere, ; + beneficiar = thisform.cDenumireBeneficiar, beneficiar_id = thisform.nIdBeneficiar, eagent = thisform.nEAgent, intern = thisform.nIntern, ; + nr_zile_scadenta = thisform.nNrZileScadenta, tip_curs = thisform.nTipCurs + + ENDPROC + + PROCEDURE do_adauga + Select crsFactura + If !Empty(crsFactura.id_articol) + Scatter Name loRec Memo + Else + Scatter Name loRec Memo Blank + + lnIntern = This.nIntern + IF lnIntern = 0 AND USED('crsValute') + SELECT crsValute + LOCATE FOR 'EUR'$nume_val + IF FOUND() + loRec.id_valuta = id_valuta + ENDIF + ENDIF + loTVAStandard = GetTVAStandard(m.lnIntern) && obiect TVA standard cu proprietatile: IdJtvaExpl, IdJtva, ProcTva + loRec.id_jtva_coloana_ex = loTVAStandard.IdJtvaExpl + loRec.id_jtva_coloana = loTVAStandard.IdJtva + loRec.proc_tva = loTVAStandard.ProcTva + ENDIF + Select crsFactura + Append Blank + Gather Name loRec Memo + + This.CalculeazaTotaluri() + + This.ActiveazaSalvare() + This.grdFactura.SetFocus() + This.grdFactura.Refresh() + + ENDPROC + + PROCEDURE do_cauta_partener + LPARAMETERS tcTipPartener + * tcTipPartener: client/beneficiar + * loCauta = caut_partener("-1", "Alege partener") + loCauta = caut_client_contract_activ() + IF LOWER(m.tcTipPartener) = 'client' + this.cDenumireClient = loCauta.denumire + this.nIdClient = locauta.id_part + + Thisform.cContractClient = alltrim(loCauta.numar) + thisform.nIdContractClient = loCauta.id_ctr + + this.txtClient.Refresh() + this.GetContracteClient(this.nIdClient, thisform.nIdContractClient) + ELSE + this.cDenumireBeneficiar = loCauta.denumire + this.nIdBeneficiar = locauta.id_part + this.txtBeneficiar.Refresh() + ENDIF + ENDPROC + + PROCEDURE do_executa + LPARAMETERS tlImportCalculat + * tlImportCalculat (optional, default .F.): daca s-au calculat deja datele pentru import intr-un formular de calcul si din formularul de calcul s-a lansat factura + + LOCAL llSucces + + IF EMPTY(NVL(this.nIdClient,0)) + AMESSAGEBOX('Alegeti clientul!',0+48,_screen.Caption) + RETURN + ENDIF + + This.CompleteazaCapFactura() + + llSucces = factura_import(m.tlImportCalculat) && proceduri_acnpro.prg + IF m.llSucces + This.cmdImport.Enabled = .F. && nu mai import altceva + This.chkIntern.Enabled = .F. && nu mai schimb intern/extern pentru ca s-a salvat in ips_voyages_vanzari.intern la import + This.ActiveazaSalvare() && activez butonul de salvare + Thisform.CalculeazaPreturi() + This.grdFactura.SetFocus() + ENDIF + + ENDPROC + + PROCEDURE do_executa2 + ENDPROC + + PROCEDURE do_reset + This.lFacturaSalvata = .F. && activez controalele de pe formular pentru a putea edita factura + this.but_cautare_client.SetFocus() + + + ENDPROC + + PROCEDURE do_salvare + Local lcTip, llSucces, loEx as Exception + DoDefault() + lcTip = '' + llSucces = .T. + + If EMPTY(poDate.nract) + AMESSAGEBOX('Completati numarul facturii!', 0 + 16, _Screen.Caption) + this.clb_serie_act._cbbase1.SetFocus() + llSucces = .F. + Endif + + llExista = VerificaFacturaClientiVanzari(poDate.nract, NVL(poDate.serie_act,'')) && oproceduri_comune.prg + IF m.llExista + AMESSAGEBOX('Factura cu numarul ' + ALLTRIM(NVL(poDate.serie_act,'')) + ' ' + ALLTRIM(STR(poDate.nract)) + ' exista deja in luna curenta!',0+48, _screen.Caption) + this.clb_serie_act._cbbase1.SetFocus() + llSucces = .F. + ENDIF + + If !(Year(poDate.dataact) = m.gnAn And Month(poDate.dataact) = m.gnLuna) + AMESSAGEBOX('Data facturii trebuie sa fie din luna curenta!', 0 + 16, _Screen.Caption) + this.txtDataFact.SetFocus() + llSucces = .F. + Endif + + SELECT crsFactura + LOCATE FOR EMPTY(NVL(id_jtva_coloana_ex,0)) + If FOUND() + AMESSAGEBOX('Completati toate Explicatiile TVA!', 0 + 16, _Screen.Caption) + llSucces = .F. + ENDIF + + * Este posibil sa vreau sa fac factura fara contract, desi clientul are alte contracte + *!* IF RECCOUNT('crsContracteX') > 0 AND EMPTY(NVL(thisform.nIdContractClient,0)) + *!* AMESSAGEBOX('Alegeti contractul clientului!', 0 + 16, _Screen.Caption) + *!* llSucces = .F. + *!* ENDIF + + If m.llSucces + This.CompleteazaCapFactura() + llSucces = factura_salvare() && proceduri_acnpro.prg + + If m.llSucces + AMESSAGEBOX('Factura s-a salvat cu succes!', 0 + 64, _Screen.Caption) + lcTip = 'SALVARE' && SALVARE/RESETARE/INIT + This.InitFactura(m.lcTip) && Resetare cap factura + ELSE + AMESSAGEBOX('Factura NU s-a salvat!', 0 + 48, _Screen.Caption) + Endif + ENDIF + Return m.llSucces + + ENDPROC + + PROCEDURE do_sterge + SELECT crsFactura + IF !EOF('crsFactura') + IF AMESSAGEBOX('Doriti sa stergeti inregistrarea?',4+32,_screen.Caption) = 6 + SELECT crsFactura + DELETE + IF !BOF() + SKIP -1 + ELSE + GO TOP + ENDIF + This.CalculeazaTotaluri() + + this.grdFactura.SetFocus() + this.grdFactura.Refresh() + ENDIF + ENDIF + ENDPROC + + PROCEDURE getcontracteclient + Lparameters tnIdPart, tnIdCtr + + Local lcSource, lcSelect + lnIdCtr = NVL(m.tnIdCtr,0) + lcSelect = SELECT() + lcSource = This.cboContract.RowSource + This.cboContract.RowSource = [] + Do make_contracte With "id_part=" + Alltrim(Str(m.tnIdPart)) && crsContracte + SELECT crsContracte + INSERT INTO crsContracte(id_ctr, numar) VALUES (0, '') && o linie goala daca se doreste factura fara contract + + LOCATE FOR id_ctr = NVL(m.tnIdCtr,0) + IF !FOUND() + GO TOP + ENDIF + + This.cboContract.RowSource = m.lcSource + + IF RECCOUNT('crsContracte') > 0 + this.cboContract.Enabled = .T. && activez/dezactivez cboContracte daca sunt/nu sunt inregistrari + thisform.nIdContractClient = crsContracte.id_ctr + Thisform.cContractClient = alltrim(crsContracte.numar) + thisform.nNrZileScadenta = crsContracte.nr_zile_scadenta + thisform.nTipCurs = crsContracte.tip_curs + + Thisform.RefreshDate() && data scadenta (data act), datacurs valutar (tip curs) + + this.cboContract.SetFocus() + ENDIF + + SELECT (m.lcSelect) + + + + ENDPROC + + PROCEDURE inainte_de_do_renunt + LOCAL llReturn + llReturn = .F. + + IF !This.lFacturaSalvata + * Daca editez o factura nesalvata si apas Terminat + llReturn = (AMESSAGEBOX('Atentie! Nu ati salvat factura! Doriti sa iesiti fara sa salvati factura?',4+32,_screen.Caption) = 6) + IF m.llReturn AND This.lNumarActGenerat + * Dezaloc ultimul numar generat + poGeneratorNumere.dezaloca_numar(poDate.nIdTipDoc) + ENDIF + IF m.llReturn + DO CASE + CASE poDate.cTip = 'TRANZIT' AND !This.cmdImport.Enabled && TRANZIT la care s-a importat deja, sterg DIN ips_voyages_vanzari + llSucces = STERG_TRANZIT() + CASE poDate.cTip = 'CHEIAJ' AND !This.cmdImport.Enabled && TRANZIT la care s-a importat deja, sterg DIN ips_voyages_vanzari + llSucces = STERG_CHEIAJ() + CASE INLIST(poDate.cTip, 'CHIRII', 'APA') AND !This.cmdImport.Enabled && CHIRII si APA la care s-a importat deja, sterg DIN ips_regdoc + llSucces = STERG_CONTRACT_REGDOC() + ENDCASE + ENDIF + ELSE + llReturn = .T. + ENDIF + + RETURN m.llReturn + ENDPROC + + PROCEDURE inainte_de_do_termin + RETURN This.inainte_de_do_renunt() + ENDPROC + + PROCEDURE Init + LPARAMETERS toDateAditionale + + DoDefault() + This.gridextra1.Setup() + this.grdFactura.HeaderHeight = 36 && se suprascrie la gridextra1.setup. nu stiu de ce + Thisform.InitFactura("NOU", toDateAditionale) + + ENDPROC + + PROCEDURE initfactura + *!* Resetare factura la prima factura, dupa o salvare reusita sau la apasare butonului Reset + LPARAMETERS tcTip, toDateAditionale + * tcTip: SALVARE; RESETARE; NOU SAU EMPTY (DEFAULT) + * toDateAditionale: (optional), poate contine Numele clientului, contractul, apel la make_factura daca este initiata factura din alt formular + + LOCAL lcTip, llResetare, llNou, lnNrAct, loDateAditionale, llImportFactura + + lcTip = IIF(!EMPTY(m.tcTip), UPPER(ALLTRIM(m.tcTip)), 'NOU') + lcTip = IIF(INLIST(m.lcTip, 'SALVARE', 'RESETARE', 'NOU'), m.lcTip, 'NOU') + + llResetare = (m.lcTip = 'RESETARE') + llNou = (m.lcTip = 'NOU') + + IF TYPE('toDateAditionale') = 'O' + loDateAditionale = m.toDateAditionale + ELSE + loDateAditionale = CREATEOBJECT("oDateFacturaACN") + ENDIF + llImportFactura = loDateAditionale.lImportFactura && daca se importa factura la intrarea in factura, daca este lansata factura dintr-un formular de calcul + + * La resetare, pastrez nract. La salvare sau la prima factura golesc numarul + * Daca initializez cu 0 se genereaza un numar nou din plaja de numere factura + lnNrAct = 0 + IF m.llResetare + SELECT crsCapFactura + GO TOP + lnNrAct = nract + ENDIF + + SELECT crsCapFactura + DELETE ALL + GO TOP + APPEND BLANK + REPLACE intern WITH 1, nract WITH m.lnNrAct + REPLACE client WITH loDateAditionale.cDenumireClient, client_id WITH loDateAditionale.nIdClient, contract_client WITH loDateAditionale.cContractClient, client_ctr_id WITH loDateAditionale.nIdContractClient, intern WITH loDateAditionale.nIntern + + SELECT crsFactura + DELETE ALL + GO TOP + + make_cregdoc() + make_actactan() + + With Thisform + Select crsCapFactura + Go Top + .cDenumireClient = Alltrim(Nvl(client, '')) + .nIdClient = client_id + .cContractClient = Alltrim(Nvl(contract_client, '')) + .nIdContractClient = client_ctr_id + .cDenumireBeneficiar = Alltrim(Nvl(beneficiar, '')) + .nIdBeneficiar = beneficiar_id + .nEAgent = eagent + .nIntern = intern + .nNrZileScadenta = nr_zile_scadenta + .nTipCurs = tip_curs + + poDate.nract = 0 + poDate.dataact = GenDataAct() && proceduri_acnpro.prg + poGeneratorNumere.ResetNumar(poDate.nIdTipDoc) + poDate.in_valuta = IIF(.nIntern = 1, 0, 1) + + Thisform.RefreshDate() && data scadenta (data act), datacurs valutar (tip curs) + + IF m.llNou + If Inlist(poDate.rezultat_serii, 1, 2, 3) && Tratez si rezultat_serii = 2 FARA SERIE CU PLAJE, sa generez numarul urmator pentru BON FISCAL + .clb_serie_act.nid_tipdoc = poDate.nIdTipDoc + .clb_serie_act.do_initializeaza(poDate.rezultat_serii) + Else + .RemoveObject('clb_serie_act') + ENDIF + + * Initializez seria initiala. Ar trebui sa iau dintr-un tabel de asocieri! + IF USED('crsseriitemp5') + poDate.serie_act = IIF(poDate.cTip = 'TRANZIT', 'TRI', IIF(poDate.cTip = 'CHEIAJ', 'DVI', IIF(poDate.cTip = 'CHIRII', 'CHI', IIF(poDate.cTip = 'APA', '', IIF(poDate.cTip = 'PENALITATI', 'AVN', 'DVI'))))) && initializez serie_act in functie de tipul de factura (TRANZIT, CHEIAJ...) + + SELECT crsseriitemp5 + LOCATE FOR serie = poDate.serie_act + IF !FOUND() + GO TOP + ENDIF + poDate.serie_act = ALLTRIM(serie) + .clb_serie_act._cbbase1.value = poDate.serie_act + ENDIF && USED('crsseriitemp5') + ENDIF + ENDWITH + + This.lFacturaSalvata = (m.lcTip = 'SALVARE') && activez/dezactivez butoanele FACTURA NOUA / SALVARE FACTURA + + This.lNumarActGenerat = .F. && resetez marca de numar act generat automat + + * Import factura daca este lansata factura dintr-un formular de calcul + IF m.llNou AND m.llImportFactura + IF !(EMPTY(NVL(thisform.nIdClient,0)) AND EMPTY(NVL(thisform.nIdContractClient,0))) + this.GetContracteClient(this.nIdClient, thisform.nIdContractClient) + ENDIF + This.do_executa(m.llImportFactura) + ENDIF + + This.CalculeazaTotaluri() + + This.Refresh() + DO CASE + CASE m.lcTip = 'SALVARE' + This.but_factura_noua.SetFocus() + CASE m.llNou AND m.llImportFactura + this.clb_serie_act.SetFocus() + OTHERWISE + This.but_cautare_client.SetFocus() + ENDCASE + + ENDPROC + + PROCEDURE lfacturasalvata_assign + Lparameters tlFacturaSalvata + + LOCAL llFacturaEditabila, llAdaugareLibera, llRorisSauContracte + This.lFacturaSalvata = m.tlFacturaSalvata + + llFacturaEditabila = !This.lFacturaSalvata && pot sa editez factura doar daca nu este salvata + llAdaugareLibera = (poDate.cTip = 'DIVERSE') && se pot adauga/sterge linii doar pentru facturi diverse + llRorisSauContracte = INLIST(poDate.cTip, 'TRANZIT', 'CHEIAJ', 'CHIRII', 'APA', 'PENALITATI') && butonul import RORIS&Contracte este activ doar pentru RORIS sau contracte + + With This + .but_factura_noua.Enabled = !m.llFacturaEditabila + .but_salveaza1.Enabled = .F. && m.llFacturaEditabila ; activez butonul salvare doar cand adaug o linie pe factura + + .but_cautare_client.Enabled = m.llFacturaEditabila + .but_cautare_beneficiar.Enabled = m.llFacturaEditabila + .cboContract.Enabled = .F. && contractul este editabil doar daca exista contracte pentru clientul ales m.llFacturaEditabila + * .chkAgent.Enabled = m.llFacturaEditabila + .chkIntern.Enabled = m.llFacturaEditabila + + .clb_serie_act.Enabled = m.llFacturaEditabila + .txtNrFact.Enabled = m.llFacturaEditabila + .txtdataFact.Enabled = m.llFacturaEditabila + .txtdataScad.Enabled = m.llFacturaEditabila + .txtDataCurs.Enabled = m.llFacturaEditabila + .cmdImport.Enabled = m.llFacturaEditabila + .chkIntern.Enabled = m.llFacturaEditabila + .but_nou1.Enabled = m.llFacturaEditabila and m.llAdaugareLibera + .but_sterge1.Enabled = m.llFacturaEditabila and m.llAdaugareLibera + .grdFactura.Enabled = m.llFacturaEditabila + .edtTextSubsol.Enabled = m.llFacturaEditabila + .cmdImport.Enabled = m.llFacturaEditabila and m.llRorisSauContracte + Endwith + + + ENDPROC + + PROCEDURE refreshdatascadenta + poDate.DataScad = poDate.dataact + IIF(!EMPTY(Nvl(Thisform.nNrZileScadenta, 0)), Thisform.nNrZileScadenta, 30) + Thisform.txtDataScad.Refresh() + ENDPROC + + PROCEDURE refreshdate + * recalculez data scadenta in functie de numarul de zile de scadenta, zi curs valutar in functie de setarile din contract + Local lnTipCurs + lnTipCurs = NVL(Thisform.nTipCurs, 0) + + Do Case + Case m.lnTipCurs = 2 && ultima zi a lunii precedente datei de facturare + poDate.zi_curs = poDate.dataact - Day(poDate.dataact) + Otherwise && 0 = nedefinit, 1 = data factura + poDate.zi_curs = poDate.dataact + ENDCASE + thisform.CitesteCursuri() + Thisform.CalculeazaPreturi() + + thisform.txtDataCurs.Refresh() + + This.RefreshDataScadenta() + ENDPROC + + PROCEDURE Show + LPARAMETERS nStyle + DODEFAULT(nStyle) + + this.WindowState = 2 + *this.Height = 416 + *this.AutoCenter = .T. + + ENDPROC + + PROCEDURE cboContract.LostFocus + Thisform.cContractClient = alltrim(NVL(crsContracteX.contract,'')) + thisform.nNrZileScadenta = crsContracteX.nr_zile_scadenta + thisform.nTipCurs = crsContracteX.tip_curs + + Thisform.RefreshDate() && data scadenta (data act), datacurs valutar (tip curs) + ENDPROC + + PROCEDURE cboTip.Valid + Thisform.cContractClient = ALLTRIM(NVL(crsContracteX.contract, '')) + ENDPROC + + PROCEDURE Clb_serie_act._cbbase1.LostFocus + LOCAL lnNumarAct + lnNumarAct = poDate.nract && numar original + DODEFAULT() && posibil sa genereze numar - daca am schimbat seria sau numarul original este 0 + Thisform.lNumarActGenerat = (poDate.nract <> m.lnNumarAct) && daca dau renunt fara sa salvez, vreau sa dezaloc numarul + + + ENDPROC + + PROCEDURE cmdImport.GotFocus + This.BackColor= RGB(0,80,200) + + ENDPROC + + PROCEDURE cmdImport.LostFocus + This.BackColor= RGB(0,159,236) + ENDPROC + + PROCEDURE grdFactura.cArticol.Combo1.Valid + REPLACE denumire WITH crsArticoleX.denumire, um WITH crsArticoleX.um IN crsFactura + thisform.grdFactura.cdenumire.Refresh() + + ENDPROC + + PROCEDURE grdFactura.cCantitate.Text2.LostFocus + IF crsFactura.cantitate <> Thisform.nCantitate + Thisform.CalculeazaPreturiRand() + THisform.CalculeazaTotaluri() + ENDIF + ENDPROC + + PROCEDURE grdFactura.cCantitate.Text2.When + Thisform.nCantitate = crsFactura.cantitate + RETURN .T. + ENDPROC + + PROCEDURE grdFactura.cCurs.Text2.LostFocus + IF crsFactura.curs <> Thisform.nCurs + Thisform.CalculeazaPreturiRand() + THisform.CalculeazaTotaluri() + ENDIF + ENDPROC + + PROCEDURE grdFactura.cCurs.Text2.When + Thisform.nCurs = crsFactura.curs + RETURN .T. + ENDPROC + + PROCEDURE grdFactura.cExplicatieTVA.Combo1.Valid + Local lnIdJtvaColoana, lnIdJtvaColoanaEx0, lnIdJtvaColoanaEx1, lnProcTva, lnRecno + lnIdJtvaColoanaEx0 = Thisform.nIdJtvaColoanaEx + lnIdJtvaColoanaEx1 = crsJTVAX.Id + lnIdJtvaColoana = crsJTVAX.id_jtva_coloana + lnProcTva = Round(1 + crsJTVAX.cota_tva / 100, 2) + IF lnIdJtvaColoanaEx0 = lnIdJtvaColoanaEx1 + RETURN .T. + ENDIF + + Select crsFactura + Replace id_jtva_coloana With m.lnIdJtvaColoana, proc_tva With m.lnProcTva In crsFactura + lnRecno = Recno('crsFactura') + lnRecc = RECCOUNT('crsFactura') + Thisform.CalculeazaPreturiRand() + + IF m.lnRecno < m.lnRecc AND AMESSAGEBOX('Se actualizeaza toate explicatiile de TVA similare?', 4 + 32, _Screen.Caption) = 6 + + Select crsFactura + Scan For id_jtva_coloana_ex = m.lnIdJtvaColoanaEx0 + Replace id_jtva_coloana_ex With m.lnIdJtvaColoanaEx1, ; + id_jtva_coloana With m.lnIdJtvaColoana, ; + proc_tva With m.lnProcTva + + Thisform.CalculeazaPreturiRand() + Endscan + + Select crsFactura + If m.lnRecno > 0 + Locate For Recno() = m.lnRecno + If !Found() + Go Top + Endif + Endif + Endif + + Thisform.CalculeazaTotaluri() + + + ENDPROC + + PROCEDURE grdFactura.cExplicatieTVA.Combo1.When + Thisform.nIdJtvaColoanaEx = crsFactura.id_jtva_coloana_ex + RETURN .T. + ENDPROC + + PROCEDURE grdFactura.cPretcTVA.Check1.Valid + thisform.CalculeazaPreturiRand() + thisform.CalculeazaTotaluri() + ENDPROC + + PROCEDURE grdFactura.cPretUnitar.Text2.LostFocus + IF crsFactura.pret <> Thisform.nPret + Thisform.CalculeazaPreturiRand() + THisform.CalculeazaTotaluri() + ENDIF + ENDPROC + + PROCEDURE grdFactura.cPretUnitar.Text2.When + Thisform.nPret = crsFactura.pret + ENDPROC + + PROCEDURE grdFactura.cPUValuta.Text2.LostFocus + IF crsFactura.pretval <> Thisform.nPretVal + Thisform.CalculeazaPreturiRand() + THisform.CalculeazaTotaluri() + ENDIF + ENDPROC + + PROCEDURE grdFactura.cPUValuta.Text2.When + Thisform.nPretVal = crsFactura.PretVal + RETURN .T. + ENDPROC + + PROCEDURE grdFactura.cValuta.Combo1.Valid + IF crsValuteX.id_valuta <> Thisform.nIdValuta + Thisform.CalculeazaPreturiRand() + Thisform.CalculeazaTotaluri() + ENDIF + + ENDPROC + + PROCEDURE grdFactura.cValuta.Combo1.When + Thisform.nIdValuta = crsFactura.id_valuta + RETURN .T. + ENDPROC + + PROCEDURE txtBeneficiar.Click + IF EMPTY(thisform.cDenumireBeneficiar) + thisform.do_cauta_partener('beneficiar') + ENDIF + ENDPROC + + PROCEDURE txtBeneficiar.DblClick + thisform.do_cauta_partener('beneficiar') + ENDPROC + + PROCEDURE txtBeneficiar.InteractiveChange + thisform.do_cauta_partener('beneficiar') + ENDPROC + + PROCEDURE txtClient.Click + IF EMPTY(thisform.cDenumireClient) + thisform.do_cauta_partener('client') + ENDIF + ENDPROC + + PROCEDURE txtClient.DblClick + thisform.do_cauta_partener('client') + + ENDPROC + + PROCEDURE txtClient.InteractiveChange + thisform.do_cauta_partener('client') + ENDPROC + + PROCEDURE txtDataCurs.Valid + thisform.CitesteCursuri() + Thisform.CalculeazaPreturi() + ENDPROC + + PROCEDURE txtDataFact.LostFocus + Thisform.RefreshDataScadenta() + ENDPROC + + PROCEDURE txtNrFact.LostFocus + * verific daca numarul facturii este cel generat automat. daca numarul facturii a fost suprascris, se va dezaloca numarul generat automat + poGeneratorNumere.verifica_numar(poDate.nIdTipDoc, poDate.nract) + DODEFAULT() + + llExista = VerificaFacturaClientiVanzari(poDate.nract, NVL(poDate.serie_act,'')) && oproceduri_comune.prg + IF m.llExista + AMESSAGEBOX('Factura cu numarul ' + ALLTRIM(NVL(poDate.serie_act,'')) + ' ' + ALLTRIM(STR(poDate.nract)) + ' exista deja in luna curenta!',0+48, _screen.Caption) + ENDIF + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_penalitati AS _frmbase OF "..\comun\clase\_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="_shape3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Gridextra1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdPenalitati" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdPenalitati.cDataFact.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdPenalitati.cDataFact.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdPenalitati.cNrFact.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdPenalitati.cNrFact.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdPenalitati.cTotctva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdPenalitati.cTotctva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdPenalitati.cDataScad.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdPenalitati.cDataScad.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdPenalitati.cDataDoc.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdPenalitati.cDataDoc.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdPenalitati.cNrDoc.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdPenalitati.cNrDoc.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdPenalitati.cSuma.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdPenalitati.cSuma.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdPenalitati.cNrZile.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdPenalitati.cNrZile.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdPenalitati.cPenalitati.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdPenalitati.cPenalitati.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdPenalitati.cNume.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdPenalitati.cNume.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdPenalitati.cPpenzi.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdPenalitati.cPpenzi.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdPenalitati.cContract.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdPenalitati.cContract.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdPenalitati.cExplicatia.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdPenalitati.cExplicatia.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdPenalitati.Column14.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdPenalitati.Column14.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdPenalitati.Column15.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdPenalitati.Column15.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdPenalitati.Column16.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdPenalitati.Column16.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdPenalitati.cBeneficiar.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdPenalitati.cBeneficiar.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdPenalitati.cDataBaza.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdPenalitati.cDataBaza.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdPenalitati.cDataRef.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdPenalitati.cDataRef.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdPenalitati.cDescriere.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdPenalitati.cDescriere.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdPenalitati.cZileGratie.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdPenalitati.cZileGratie.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdPenalitati.cCont.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdPenalitati.cCont.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdPenalitati.cPpenzi2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdPenalitati.cPpenzi2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdPenalitati.cPenzile.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdPenalitati.cPenzile.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdPenalitati.cPenzile2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdPenalitati.cPenzile2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdPenalitati.cFacturat.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdPenalitati.cFacturat.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdPenalitati.cFacturat._CHECKBOX1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdPenalitati.cSters.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdPenalitati.cSters.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdPenalitati.cSters._CHECKBOX1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="chkIncerti" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cmdCalcul" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtData" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="optZile" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtTotalPen" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblTotal" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_excel1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_listare1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="optTipCalcul" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cmdFactura" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cboClienti" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="chkFacturate" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="chkSterse" UniqueID="" Timestamp="" /> + + * + *m: afisactual + *m: calculeaza_totaluri + *m: do_cauta_partener + *m: do_factura + *m: salveazapenalitati + *p: ccontractclient + *p: ccontractfiltru + *p: cdenumirebeneficiar + *p: cdenumireclient + *p: cexplicatiafiltru + *p: cnumefiltru + *p: ddatabaza + *p: ddatareferinta && Data de referinta pentru calculul zilelor de penalitati pentru evaluare, + *p: levaluare && Daca se evalueaza penalitatile fata de o data de referinta. + *p: neagent + *p: nidbeneficiar + *p: nidclient + *p: nidcontractclient + *p: ninter + *p: nintern + *p: nnrzile && numarul de zile penalitati din linia curenta + *p: npenalitati + * + + * + BorderStyle = 3 + ccontractclient = + ccontractfiltru = + cdenumirebeneficiar = + cdenumireclient = + cexplicatiafiltru = + cnumefiltru = + ddatabaza = {} + ddatareferinta = {} + DoCreate = .T. + Height = 483 + levaluare = .F. + Name = "frm_penalitati" + neagent = 0 + nidbeneficiar = 0 + nidclient = 0 + nidcontractclient = 0 + ninter = 0 + nintern = 0 + nnrzile = 0 + npenalitati = 0 + Width = 787 + WindowState = 2 + _memberdata = + + + + + + + + + + + + + + _SHAPE1.Anchor = 10 + _SHAPE1.Height = 29 + _SHAPE1.Left = 5 + _SHAPE1.Name = "_SHAPE1" + _SHAPE1.Top = 0 + _SHAPE1.Width = 813 + _SHAPE1.ZOrderSet = 1 + _shape2.Left = 804 + _shape2.Name = "_shape2" + _shape2.Top = -12 + _shape2.ZOrderSet = 2 + LB_TITLU_ALB_B121.Caption = "Penalitati" + LB_TITLU_ALB_B121.Name = "LB_TITLU_ALB_B121" + LB_TITLU_ALB_B121.TabIndex = 12 + LB_TITLU_ALB_B121.ZOrderSet = 3 + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Enabled = .F. + BUT_TERMIN1.Left = 756 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Picture = ..\comun\grafice\terminat_sus.bmp + BUT_TERMIN1.TabIndex = 11 + BUT_TERMIN1.Top = 0 + BUT_TERMIN1.ZOrderSet = 5 + Gridsort1.Height = 17 + Gridsort1.Left = 768 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 108 + Gridsort1.Width = 24 + * + + ADD OBJECT '_shape3' AS _shape WITH ; + BackStyle = 0, ; + Height = 89, ; + Left = 13, ; + Name = "_shape3", ; + Top = 32, ; + Width = 599, ; + ZOrderSet = 0 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="shape" /> + + ADD OBJECT 'But_excel1' AS but_excel WITH ; + Anchor = 9, ; + Left = 666, ; + Name = "But_excel1", ; + Picture = ..\comun\grafice\excel_sus.bmp, ; + TabIndex = 9, ; + Top = 0, ; + Visible = .T., ; + ZOrderSet = 15 + *< END OBJECT: ClassLib="..\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_listare1' AS but_listare WITH ; + Anchor = 9, ; + Left = 696, ; + Name = "But_listare1", ; + Picture = ..\comun\grafice\listare_sus.bmp, ; + TabIndex = 10, ; + Top = 0, ; + Visible = .T., ; + ZOrderSet = 16 + *< END OBJECT: ClassLib="..\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Anchor = 8, ; + Left = 727, ; + Name = "But_renunt1", ; + Top = 0, ; + ZOrderSet = 21 + *< END OBJECT: ClassLib="..\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge1' AS but_sterge WITH ; + Anchor = 9, ; + Left = 636, ; + Name = "But_sterge1", ; + Picture = ..\comun\grafice\sterg_sus.bmp, ; + TabIndex = 8, ; + Top = 0, ; + ZOrderSet = 18 + *< END OBJECT: ClassLib="..\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'cboClienti' AS _combobox WITH ; + Height = 24, ; + Left = 13, ; + Name = "cboClienti", ; + RowSource = "crsClientiPenalitati.nume", ; + RowSourceType = 6, ; + Top = 129, ; + Width = 299, ; + ZOrderSet = 22 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="combobox" /> + + ADD OBJECT 'chkFacturate' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Inclusiv documente facturate", ; + ControlSource = "m.plFacturate", ; + FontBold = .F., ; + Height = 18, ; + Left = 176, ; + Name = "chkFacturate", ; + TabIndex = 3, ; + Top = 96, ; + Value = .F., ; + Width = 183, ; + ZOrderSet = 8 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'chkIncerti' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Inclusiv clienti incerti", ; + ControlSource = "m.pl4118", ; + FontBold = .F., ; + Height = 18, ; + Left = 21, ; + Name = "chkIncerti", ; + TabIndex = 3, ; + Top = 96, ; + Value = .F., ; + Width = 138, ; + ZOrderSet = 8 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'chkSterse' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "Inclusiv documente sterse", ; + ControlSource = "m.plSterse", ; + FontBold = .F., ; + Height = 18, ; + Left = 372, ; + Name = "chkSterse", ; + TabIndex = 3, ; + Top = 96, ; + Value = .F., ; + Width = 169, ; + ZOrderSet = 8 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'cmdCalcul' AS cmd_executa WITH ; + Anchor = 8, ; + AutoSize = .F., ; + Caption = "1. \ + + ADD OBJECT 'cmdFactura' AS cmd_executa WITH ; + Anchor = 8, ; + AutoSize = .F., ; + caction = do_factura, ; + Caption = "2. \ + + ADD OBJECT 'grdPenalitati' AS _grdrow WITH ; + Anchor = 15, ; + ColumnCount = 27, ; + Comment = "*:OnResize=ss", ; + DeleteMark = .F., ; + HeaderHeight = 36, ; + Height = 288, ; + HighlightBackColor = 92,107,150, ; + HighlightForeColor = 255,255,255, ; + HighlightStyle = 2, ; + Left = 12, ; + Name = "grdPenalitati", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordSource = "crsCalculPenalitati", ; + RowHeight = 19, ; + TabIndex = 7, ; + Top = 156, ; + Width = 766, ; + ZOrderSet = 7, ; + Column1.ColumnOrder = 6, ; + Column1.ControlSource = "dataFact", ; + Column1.FontName = "Arial", ; + Column1.FontSize = 10, ; + Column1.Name = "cDataFact", ; + Column1.ReadOnly = .T., ; + Column1.Width = 69, ; + Column2.ColumnOrder = 5, ; + Column2.ControlSource = "nrFact", ; + Column2.FontName = "Arial", ; + Column2.FontSize = 10, ; + Column2.Name = "cNrFact", ; + Column2.ReadOnly = .T., ; + Column2.Width = 90, ; + Column3.ColumnOrder = 7, ; + Column3.ControlSource = "valctva", ; + Column3.FontName = "Arial", ; + Column3.FontSize = 10, ; + Column3.InputMask = (get_mask(12,gnZ)), ; + Column3.Name = "cTotctva", ; + Column3.ReadOnly = .T., ; + Column3.Width = 82, ; + Column4.ColumnOrder = 10, ; + Column4.ControlSource = "dataScad", ; + Column4.FontName = "Arial", ; + Column4.FontSize = 10, ; + Column4.Name = "cDataScad", ; + Column4.ReadOnly = .T., ; + Column4.Width = 91, ; + Column5.ColumnOrder = 11, ; + Column5.ControlSource = "dataact", ; + Column5.FontName = "Arial", ; + Column5.FontSize = 10, ; + Column5.Name = "cDataDoc", ; + Column5.ReadOnly = .T., ; + Column5.Width = 82, ; + Column6.ColumnOrder = 12, ; + Column6.ControlSource = "nract", ; + Column6.FontName = "Arial", ; + Column6.FontSize = 10, ; + Column6.Name = "cNrDoc", ; + Column6.ReadOnly = .T., ; + Column6.Width = 87, ; + Column7.ColumnOrder = 13, ; + Column7.ControlSource = "suma", ; + Column7.FontName = "Arial", ; + Column7.FontSize = 10, ; + Column7.Format = "", ; + Column7.InputMask = (get_mask(12,gnZ)), ; + Column7.Name = "cSuma", ; + Column7.ReadOnly = .T., ; + Column7.Width = 67, ; + Column8.ColumnOrder = 20, ; + Column8.ControlSource = "nr_zile", ; + Column8.FontName = "Arial", ; + Column8.FontSize = 10, ; + Column8.Name = "cNrZile", ; + Column8.ReadOnly = .T., ; + Column8.Sparse = .F., ; + Column8.Width = 59, ; + Column9.ColumnOrder = 23, ; + Column9.ControlSource = "penalitati", ; + Column9.DynamicBackColor = "RGB(220,220,220)", ; + Column9.FontName = "Arial", ; + Column9.FontSize = 10, ; + Column9.InputMask = (get_mask(12,gnZ)), ; + Column9.Name = "cPenalitati", ; + Column9.ReadOnly = .T., ; + Column9.Width = 103, ; + Column10.ColumnOrder = 1, ; + Column10.ControlSource = "nume", ; + Column10.FontName = "Arial", ; + Column10.FontSize = 10, ; + Column10.Name = "cNume", ; + Column10.ReadOnly = .T., ; + Column10.Width = 135, ; + Column11.ColumnOrder = 21, ; + Column11.ControlSource = "ppenzi", ; + Column11.FontName = "Arial", ; + Column11.FontSize = 10, ; + Column11.InputMask = "99.99", ; + Column11.Name = "cPpenzi", ; + Column11.ReadOnly = .T., ; + Column11.Width = 95, ; + Column12.ColumnOrder = 2, ; + Column12.ControlSource = "contract", ; + Column12.FontName = "Arial", ; + Column12.FontSize = 10, ; + Column12.Name = "cContract", ; + Column12.ReadOnly = .T., ; + Column12.Width = 153, ; + Column13.ColumnOrder = 4, ; + Column13.ControlSource = "explicatia", ; + Column13.FontName = "Arial", ; + Column13.FontSize = 10, ; + Column13.Name = "cExplicatia", ; + Column13.ReadOnly = .T., ; + Column13.Width = 105, ; + Column14.ColumnOrder = 8, ; + Column14.ControlSource = "totval", ; + Column14.FontName = "Arial", ; + Column14.FontSize = 10, ; + Column14.Format = "R", ; + Column14.InputMask = (get_mask(12,gnZ)), ; + Column14.Name = "Column14", ; + Column14.ReadOnly = .T., ; + Column14.Width = 91, ; + Column15.ColumnOrder = 9, ; + Column15.ControlSource = "valuta", ; + Column15.FontName = "Arial", ; + Column15.FontSize = 10, ; + Column15.Name = "Column15", ; + Column15.ReadOnly = .T., ; + Column15.Width = 85, ; + Column16.ColumnOrder = 14, ; + Column16.ControlSource = "sumaval", ; + Column16.FontName = "Arial", ; + Column16.FontSize = 10, ; + Column16.Format = "R", ; + Column16.InputMask = (get_mask(12,gnZ)), ; + Column16.Name = "Column16", ; + Column16.ReadOnly = .T., ; + Column16.Width = 105, ; + Column17.ColumnOrder = 3, ; + Column17.ControlSource = "beneficiar", ; + Column17.FontName = "Arial", ; + Column17.FontSize = 10, ; + Column17.Name = "cBeneficiar", ; + Column17.ReadOnly = .T., ; + Column17.Width = 128, ; + Column18.ColumnOrder = 16, ; + Column18.ControlSource = "databaza", ; + Column18.DynamicBackColor = "RGB(200,250,220)", ; + Column18.FontName = "Arial", ; + Column18.FontSize = 10, ; + Column18.Name = "cDataBaza", ; + Column18.ReadOnly = .F., ; + Column18.Width = 78, ; + Column19.ColumnOrder = 17, ; + Column19.ControlSource = "dataref", ; + Column19.FontName = "Arial", ; + Column19.FontSize = 10, ; + Column19.Name = "cDataRef", ; + Column19.ReadOnly = .T., ; + Column19.Width = 91, ; + Column20.ColumnOrder = 25, ; + Column20.ControlSource = "descriere", ; + Column20.FontName = "Arial", ; + Column20.FontSize = 10, ; + Column20.Name = "cDescriere", ; + Column20.ReadOnly = .T., ; + Column20.Width = 209, ; + Column21.ColumnOrder = 15, ; + Column21.ControlSource = "zilegratie", ; + Column21.FontName = "Arial", ; + Column21.FontSize = 10, ; + Column21.Name = "cZileGratie", ; + Column21.ReadOnly = .T., ; + Column21.Width = 73, ; + Column22.ColumnOrder = 24, ; + Column22.ControlSource = "cont", ; + Column22.FontName = "Arial", ; + Column22.FontSize = 10, ; + Column22.Name = "cCont", ; + Column22.ReadOnly = .T., ; + Column22.Width = 51, ; + Column23.ColumnOrder = 22, ; + Column23.ControlSource = "ppenzi2", ; + Column23.FontName = "Arial", ; + Column23.FontSize = 10, ; + Column23.InputMask = "99.99", ; + Column23.Name = "cPpenzi2", ; + Column23.ReadOnly = .T., ; + Column23.Width = 91, ; + Column24.ColumnOrder = 18, ; + Column24.ControlSource = "nr_zile1", ; + Column24.FontName = "Arial", ; + Column24.FontSize = 10, ; + Column24.Name = "cPenzile", ; + Column24.ReadOnly = .T., ; + Column24.Width = 56, ; + Column25.ColumnOrder = 19, ; + Column25.ControlSource = "nr_zile2", ; + Column25.FontName = "Arial", ; + Column25.FontSize = 10, ; + Column25.Name = "cPenzile2", ; + Column25.ReadOnly = .T., ; + Column25.Width = 57, ; + Column26.ControlSource = "facturate", ; + Column26.CurrentControl = "_CHECKBOX1", ; + Column26.Name = "cFacturat", ; + Column26.ReadOnly = .T., ; + Column26.Sparse = .F., ; + Column26.Width = 48, ; + Column27.ControlSource = "sterse", ; + Column27.CurrentControl = "_CHECKBOX1", ; + Column27.Name = "cSters", ; + Column27.ReadOnly = .T., ; + Column27.Sparse = .F., ; + Column27.Width = 33 + *< END OBJECT: ClassLib="..\comun\clase\_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grdPenalitati.cBeneficiar.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Beneficiar", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdPenalitati.cBeneficiar.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdPenalitati.cCont.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cont", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdPenalitati.cCont.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdPenalitati.cContract.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Contract", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdPenalitati.cContract.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdPenalitati.cDataBaza.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data baza", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdPenalitati.cDataBaza.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdPenalitati.cDataDoc.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data incasare", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdPenalitati.cDataDoc.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdPenalitati.cDataFact.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data factura", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdPenalitati.cDataFact.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdPenalitati.cDataRef.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data referinta", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdPenalitati.cDataRef.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdPenalitati.cDataScad.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data scadenta", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdPenalitati.cDataScad.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdPenalitati.cDescriere.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Descriere", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdPenalitati.cDescriere.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdPenalitati.cExplicatia.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatia", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdPenalitati.cExplicatia.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdPenalitati.cFacturat._CHECKBOX1' AS _checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + Centered = .T., ; + ControlSource = "facturate", ; + Left = 35, ; + Name = "_CHECKBOX1", ; + Top = 71 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'grdPenalitati.cFacturat.Header1' AS header WITH ; + Alignment = 2, ; + BackColor = 240,240,240, ; + Caption = "Facturat", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdPenalitati.cFacturat.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdPenalitati.cNrDoc.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr. doc. incasare", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdPenalitati.cNrDoc.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdPenalitati.cNrFact.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr. factura", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdPenalitati.cNrFact.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdPenalitati.cNrZile.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr. zile penalitati", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdPenalitati.cNrZile.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdPenalitati.cNume.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Client", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdPenalitati.cNume.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdPenalitati.Column14.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare factura in valuta", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdPenalitati.Column14.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdPenalitati.Column15.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valuta", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdPenalitati.Column15.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdPenalitati.Column16.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare incasare in valuta", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdPenalitati.Column16.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdPenalitati.cPenalitati.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare penalitati", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdPenalitati.cPenalitati.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdPenalitati.cPenzile.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr. zile pen. 1", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdPenalitati.cPenzile.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdPenalitati.cPenzile2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr. zile pen. 2", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdPenalitati.cPenzile2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdPenalitati.cPpenzi.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Procent penalitati / zi", ; + FontBold = .F., ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdPenalitati.cPpenzi.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdPenalitati.cPpenzi2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Procent penalitati / zi 2", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdPenalitati.cPpenzi2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdPenalitati.cSters._CHECKBOX1' AS _checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + Centered = .T., ; + ControlSource = "sterse", ; + Left = 22, ; + Name = "_CHECKBOX1", ; + Top = 83 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'grdPenalitati.cSters.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Sters", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdPenalitati.cSters.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdPenalitati.cSuma.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare incasare", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdPenalitati.cSuma.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdPenalitati.cTotctva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare factura", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdPenalitati.cTotctva.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdPenalitati.cZileGratie.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr. zile gratie", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdPenalitati.cZileGratie.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Gridextra1' AS gridextra WITH ; + gridexpression = Thisform.grdPenalitati, ; + Height = 17, ; + Left = 516, ; + Name = "Gridextra1", ; + Top = 456, ; + Width = 17 + *< END OBJECT: ClassLib="..\comun\utile\gridextras\gridextras.vcx" BaseClass="custom" /> + + ADD OBJECT 'Label1' AS label WITH ; + AutoSize = .F., ; + BackStyle = 0, ; + Caption = "Calcul zile penalitati", ; + FontBold = .T., ; + FontSize = 10, ; + Height = 18, ; + Left = 218, ; + Name = "Label1", ; + TabIndex = 10, ; + Top = 38, ; + Width = 131, ; + WordWrap = .T., ; + ZOrderSet = 17 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label2' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Tip calcul", ; + FontBold = .T., ; + FontSize = 10, ; + Height = 18, ; + Left = 22, ; + Name = "Label2", ; + TabIndex = 11, ; + Top = 36, ; + Width = 64, ; + ZOrderSet = 19 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label3' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Data referinta", ; + FontBold = .T., ; + FontSize = 10, ; + Height = 18, ; + Left = 390, ; + Name = "Label3", ; + TabIndex = 8, ; + Top = 38, ; + Width = 89, ; + ZOrderSet = 10 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'lblTotal' AS _lbbase WITH ; + Anchor = 12, ; + Caption = "TOTAL", ; + FontBold = .T., ; + Left = 604, ; + Name = "lblTotal", ; + TabIndex = 14, ; + Top = 456, ; + ZOrderSet = 14 + *< END OBJECT: ClassLib="..\comun\clase\_lb_base.vcx" BaseClass="label" /> + + ADD OBJECT 'optTipCalcul' AS _optiongrup WITH ; + AutoSize = .T., ; + BorderStyle = 0, ; + ButtonCount = 4, ; + ControlSource = "pnTipCalcul", ; + Height = 46, ; + Left = 14, ; + Name = "optTipCalcul", ; + TabIndex = 1, ; + Top = 48, ; + Width = 183, ; + ZOrderSet = 20, ; + Option1.AutoSize = .T., ; + Option1.Caption = "Incasari si sold", ; + Option1.FontSize = 10, ; + Option1.Left = 5, ; + Option1.Name = "Option1", ; + Option1.Top = 5, ; + Option2.AutoSize = .T., ; + Option2.Caption = "Incasari", ; + Option2.FontSize = 10, ; + Option2.Left = 114, ; + Option2.Name = "Option2", ; + Option2.Top = 5, ; + Option3.AutoSize = .T., ; + Option3.BackStyle = 0, ; + Option3.Caption = "Sold", ; + Option3.FontSize = 10, ; + Option3.Height = 18, ; + Option3.Left = 114, ; + Option3.Name = "Option3", ; + Option3.Top = 23, ; + Option3.Width = 45, ; + Option4.AutoSize = .T., ; + Option4.BackStyle = 0, ; + Option4.Caption = "Evaluare", ; + Option4.FontSize = 10, ; + Option4.Height = 18, ; + Option4.Left = 5, ; + Option4.Name = "Option4", ; + Option4.Top = 23, ; + Option4.Width = 68 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="optiongroup" /> + + ADD OBJECT 'optZile' AS _optiongrup WITH ; + BorderStyle = 0, ; + ControlSource = "pnCalculZile", ; + Height = 46, ; + Left = 210, ; + Name = "optZile", ; + TabIndex = 4, ; + Top = 51, ; + Width = 179, ; + ZOrderSet = 12, ; + Option1.AutoSize = .T., ; + Option1.Caption = "Fata de luna precedenta", ; + Option1.FontSize = 10, ; + Option1.Left = 5, ; + Option1.Name = "Option1", ; + Option1.Top = 5, ; + Option2.AutoSize = .F., ; + Option2.Caption = "Fata de data scadenta", ; + Option2.FontSize = 10, ; + Option2.Height = 17, ; + Option2.Left = 5, ; + Option2.Name = "Option2", ; + Option2.Top = 24, ; + Option2.Width = 169 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="optiongroup" /> + + ADD OBJECT 'txtData' AS textbox WITH ; + ControlSource = "pdDataReferinta", ; + FontSize = 10, ; + Format = "k!", ; + Height = 23, ; + Left = 393, ; + Name = "txtData", ; + TabIndex = 2, ; + Top = 60, ; + Width = 97, ; + ZOrderSet = 11 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'txtTotalPen' AS _txbase WITH ; + Anchor = 12, ; + ControlSource = "thisform.nPenalitati", ; + Format = "RK", ; + Height = 23, ; + InputMask = (get_mask(16,gnPC)), ; + Left = 648, ; + Name = "txtTotalPen", ; + TabIndex = 13, ; + Top = 453, ; + Width = 132, ; + ZOrderSet = 13 + *< END OBJECT: ClassLib="..\comun\clase\_tx_base.vcx" BaseClass="textbox" /> + + PROCEDURE afisactual + ENDPROC + + PROCEDURE calculeaza_totaluri + Local lnRecno, lcSelect + lcSelect = Select() + Select crsCalculPenalitati + lnRecno = Recno() + Calculate Sum(penalitati) To Thisform.nPenalitati + Thisform.txtTotalPen.Refresh + + If m.lnRecno > 0 AND RECCOUNT('crsCalculPenalitati') >= m.lnRecno + Goto m.lnRecno + Else + Go Top + Endif + + Select (lcSelect) + + ENDPROC + + PROCEDURE do_cauta_partener + LPARAMETERS tcTipPartener + * tcTipPartener: client/beneficiar + loCauta = caut_partener("-1", "Alege partener") + IF LOWER(m.tcTipPartener) = 'client' + this.cDenumireClient = loCauta.denumire + this.nIdClient = locauta.id_part + this.txtClient.Refresh() + this.GetContracteClient(this.nIdClient) + ELSE + this.cDenumireBeneficiar = loCauta.denumire + this.nIdBeneficiar = locauta.id_part + this.txtBeneficiar.Refresh() + ENDIF + ENDPROC + + PROCEDURE do_excel + Do export_excel_grid with this.grdPenalitati + ENDPROC + + PROCEDURE do_executa + LOCAL llEsteFactura + llEsteFactura = Used('crsCapFactura') + + this.grdPenalitati.salveaza_grid() + This.cboClienti.RowSource = '' + *!* DO calcul_penalitati IN proceduri_acnpro.prg + DO calcul_penalitati2 WITH This.nIdClient IN proceduri_acnpro.prg && folosesc ireg_parteneri in loc de vanzari, pana import vanzarile + this.grdPenalitati.incarca_grid() + + SELECT crsCalculPenalitati + LOCATE FOR !EMPTY(nume) + IF !FOUND() + AMESSAGEBOX('Nu exista inregistrari care corespund criteriilor!',0+64,_screen.Caption) + ENDIF + + This.cboClienti.RowSource = 'crsClientiPenalitati.nume' + SELECT crsClientiPenalitati + GO TOP + this.cboClienti.Value = crsClientiPenalitati.nume + Thisform.calculeaza_totaluri() + + IF m.llEsteFactura + * Daca sunt intr-o factura si am dat import, pot sa apas pe Terminat + this.but_terMIN1.Enabled = .T. + ELSE + * Daca sunt in formularul de calcul direct, pot sa facturez + this.cmdFactura.Enabled = .T. + ENDIF + ENDPROC + + PROCEDURE do_factura + Local loDateFactura As "oDateFacturaACN" + Local llSucces, lcContractClient, lcDenumireClient, lnIdClient, lnIdContractClient + + Select crsCalculPenalitati + lcDenumireClient = Alltrim(nume) + lnIdClient = clie_id + lcContractClient = Alltrim(numar) + lnIdContractClient = Iif(!Empty(id_ctr), id_ctr, Null) + + loDateFactura = Createobject("oDateFacturaACN") + With loDateFactura + .nIntern = 1 + .cDenumireClient = m.lcDenumireClient + .nIdClient = m.lnIdClient + .cContractClient = m.lcContractClient + .nIdContractClient = m.lnIdContractClient + .lImportFactura = .T. && daca se apeleaza importul la intrarea in factura + Endwith + + llSucces = This.SalveazaPenalitati() + If !m.llSucces + Return + Endif + + Do factura_acn With "PENALITATI", loDateFactura + ENDPROC + + PROCEDURE do_listare + LOCAL lcFilter, lcTitlu, llEvaluare + + lcFilter = FILTER('crsCalculPenalitati') + lcFilter = IIF(!EMPTY(m.lcFilter), m.lcFilter, [.T.]) + SELECT * FROM crsCalculPenalitati WHERE &lcFilter ORDER BY nume, contract, datafact, nrfact, dataact, nract INTO CURSOR crsRecapitulatie + lcTitlu = 'Situatia calculului penalitatilor de intarziere la ' + Alltrim(Transform(m.pdDataReferinta)) + llEvaluare = .T. + DO listeaza_recapitulatie_penalitati WITH llEvaluare, m.lcTitlu + USE IN (SELECT('crsRecapitulatie')) + ENDPROC + + PROCEDURE do_sterge + * Pot sa sterg inregistrari doar daca sunt intr-o factura + * Inregistrarile sterse se salveaza doar odata cu factura, nu la vizualizarea separata + *!* IF !Used('crsCapFactura') + *!* RETURN + *!* ENDIF + + If !Empty(crsCalculPenalitati.nume) + If aMessageBox('Doriti sa stergeti inregistrarea?',4+32,'Penalitati') = 6 + If aMessageBox('Stergeti definitiv?' + Chr(13) + Chr(10) + 'Atentie nu se poate reveni asupra inregistrarilor sterse daca se continua cu factura!',4+32,'Penalitati') = 6 + SELECT crsCalculPenalitati + REPLACE sters WITH 2 + DELETE + TRY + SKIP -1 + CATCH + GO TOP + ENDTRY + + Endif + this.calculeaza_totaluri() + This.grdPenalitati.Refresh() + This.grdPenalitati.SetFocus() + Endif + Endif + + ENDPROC + + PROCEDURE inainte_de_do_termin + * Daca nu am lansat formularul de penalitati din Factura, ies fara sa fac nimic + + Local llSucces + If !Used('crsCapFactura') + Return .T. + Endif + + If Reccount('crsCalculPenalitati') = 0 + Return .F. + Endif + + llSucces = This.SalveazaPenalitati() + + If !m.llSucces + AMESSAGEBOX('Eroare salvare informatii penalitati!', 0 + 48, _Screen.Caption) + Endif + + Return m.llSucces + + ENDPROC + + PROCEDURE Init + DODEFAULT() + + With Thisform + If Used('crsCapFactura') + Select crsCapFactura + Go Top + .cDenumireClient = Alltrim(Nvl(client, '')) + .nIdClient = client_id + .cContractClient = Alltrim(Nvl(contract_client, '')) + .nIdContractClient = client_ctr_id + .cDenumireBeneficiar = Alltrim(Nvl(beneficiar, '')) + .nIdBeneficiar = beneficiar_id + .nEAgent = eagent + .nIntern = intern + ENDIF + + ENDWITH + + * Pot sa sterg inregistrari doar daca sunt intr-o factura + * Inregistrarile sterse se salveaza doar odata cu factura, nu la vizualizarea separata + * This.but_Sterge1.Visible = Used('crsCapFactura') + + * Facturat si sters: verde + * Facturat: albastru + * Sters: rosu + * Normal: negru + this.grdPenalitati.SetAll("DynamicForecolor", "IIF(facturate, IIF(sterse, RGB(240,240,0), RGB(0,0,240)), IIF(sterse, RGB(240,0,0), RGB(0,0,0)))","Column") + ENDPROC + + PROCEDURE salveazapenalitati + Local lcFiltru, lcIds, lnClienti, llSucces + llSucces = .F. + lcFiltru = Filter('crsCalculPenalitati') + lcFiltru = Iif(!Empty(m.lcFiltru), m.lcFiltru, [.T.]) + + Select Distinct nume From crsCalculPenalitati Where &lcFiltru Into Cursor cClientiTemp + lnClienti = Reccount('cClientiTemp') + Use In (Select('cClientiTemp')) + If m.lnClienti <> 1 + AMESSAGEBOX('Alegeti un client!', 0 + 48, _Screen.Caption) + llSucces = .F. + ELSE + llSucces = .T. + Endif + + IF m.llSucces + UPDATE crsCalculPenalitati SET ales = .F. && in caz ca apas de mai multe ori pe butonul factura, resetez bifa Ales + Update crsCalculPenalitati Set ales = .T. Where &lcFiltru + + lcIds = salvare_penalitati() && proceduri_acnpro.prg + * poDate.uuid = m.lcIds + + llSucces = (!EMPTY(m.lcIds)) + ENDIF + RETURN llSucces + ENDPROC + + PROCEDURE Show + LPARAMETERS nStyle + this.gridextra1.setup() + this.grdPenalitati.HeaderHeight = 36 && se reseteaza cred dupa gridextra.setup + THIS.WindowState = 2 + + ENDPROC + + PROCEDURE cboClienti.Valid + SELECT crsClientiPenalitati + IF crsClientiPenalitati.clie_id = 0 + lcFilter = [] + ELSE + lcFilter = [clie_id = ] + ALLTRIM(STR(crsClientiPenalitati.clie_id)) + ENDIF + + SELECT crsCalculPenalitati + SET FILTER TO &lcFilter + thisform.calculeaza_totaluri() + GO TOP + + thisform.grdPenalitati.SetFocus() + ENDPROC + + PROCEDURE grdPenalitati.AfterRowColChange + LPARAMETERS nColIndex + * NU STERGE + ENDPROC + + PROCEDURE grdPenalitati.cDataBaza.Text1.Valid + LOCAL ldDataBaza + Select crsCalculPenalitati + ldDataBaza = crsCalculPenalitati.databaza + IF m.ldDataBaza <> Thisform.dDataBaza + DO calcul_penalitati_linie WITH m.pnCalculzile,m.pdDataReferinta, m.ldDataBaza IN proceduri_acnpro.prg + Thisform.calculeaza_totaluri() + ENDIF + ENDPROC + + PROCEDURE grdPenalitati.cDataBaza.Text1.When + Thisform.dDataBaza = crsCalculPenalitati.databaza + ENDPROC + + PROCEDURE grdPenalitati.Init + * NU STERGE + ENDPROC + + PROCEDURE Gridextra1.applyfilter + DODEFAULT() + Thisform.calculeaza_totaluri() + ENDPROC + + PROCEDURE Gridextra1.clearfilter + DODEFAULT() + Thisform.calculeaza_totaluri() + ENDPROC + + PROCEDURE optTipCalcul.Valid + + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_registru AS _frmbase OF "..\comun\clase\_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="txtValval" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtValftva" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_start_criterii1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cData.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cData.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cDocument.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cDocument.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cClient.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cClient.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cContract.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cContract.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cCtip.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cCtip.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cArticol.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cArticol.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cLocatia.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cLocatia.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cCantitate.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cCantitate.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cUM.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cUM.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cPret.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cPret.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cValuta.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cValuta.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cCurs.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cCurs.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cValval.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cValval.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cValftva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cValftva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cNumarAct.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cNumarAct.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cDataAct.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cDataAct.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cctdebitor.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cctdebitor.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cctaideb.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cctaideb.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cctaedeb.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cctaedeb.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cctcreditor.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cctcreditor.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cctaicred.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cctaicred.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cctaecred.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cctaecred.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cCtPiDeb.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cCtPiDeb.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cCtApiDeb.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cCtApiDeb.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cCtpiCred.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cCtpiCred.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cCtApiCred.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cCtApiCred.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cDocument2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cDocument2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Gridextra1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_reset_criterii1" UniqueID="" Timestamp="" /> + + * + *m: do_cauta_partener + *m: do_executa2 + *m: getcontracteclient + *m: refreshtotal + *p: ccontractclient + *p: cdenumirebeneficiar + *p: cdenumireclient + *p: cvaloare_convoi + *p: cvaloare_finala + *p: cvaloare_minima_convoi + *p: nvalftva + *p: nvalval + * + + * + BorderStyle = 3 + ccontractclient = + cdenumirebeneficiar = + cdenumireclient = + cvaloare_convoi = 0 + cvaloare_finala = 0 + cvaloare_minima_convoi = 0 + DoCreate = .T. + Height = 416 + Name = "frm_registru" + nvalftva = 0 + nvalval = 0 + Width = 779 + WindowState = 2 + _memberdata = + + + + + + + + _shape1.Anchor = 10 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 780 + _shape1.ZOrderSet = 0 + _shape2.Left = 728 + _shape2.Name = "_shape2" + _shape2.Top = -1 + _shape2.ZOrderSet = 1 + Lb_titlu_alb_b121.Caption = "Registru documente" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 9 + Lb_titlu_alb_b121.ZOrderSet = 2 + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 748 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 10 + BUT_TERMIN1.Top = 0 + BUT_TERMIN1.ZOrderSet = 3 + Gridsort1.Left = 0 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 403 + * + + ADD OBJECT '_label1' AS _label WITH ; + Anchor = 12, ; + Caption = "Valoare valuta", ; + FontBold = .T., ; + Left = 348, ; + Name = "_label1", ; + TabIndex = 15, ; + Top = 388, ; + ZOrderSet = 7 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="label" /> + + ADD OBJECT '_label2' AS _label WITH ; + Anchor = 12, ; + Caption = "Valoare lei", ; + FontBold = .T., ; + Left = 574, ; + Name = "_label2", ; + TabIndex = 17, ; + Top = 388, ; + ZOrderSet = 8 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'But_reset_criterii1' AS but_reset_criterii WITH ; + Anchor = 9, ; + Left = 689, ; + Name = "But_reset_criterii1", ; + Top = 1, ; + Visible = .T. + *< END OBJECT: ClassLib="..\..\roafacturare\comun\clase\ocriterii.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_start_criterii1' AS but_start_criterii WITH ; + Anchor = 9, ; + Comment = "*:OnResize=RT", ; + Left = 720, ; + Name = "But_start_criterii1", ; + Top = 0, ; + ZOrderSet = 9 + *< END OBJECT: ClassLib="..\..\roafacturare\comun\clase\ocriterii.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Grid1' AS _grdbase WITH ; + Anchor = 15, ; + ColumnCount = 27, ; + DeleteMark = .F., ; + FontSize = 10, ; + HeaderHeight = 41, ; + Height = 328, ; + Left = 8, ; + Name = "Grid1", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordSource = "crsRegdoc", ; + RowHeight = 19, ; + Top = 44, ; + Width = 763, ; + ZOrderSet = 10, ; + Column1.ColumnOrder = 1, ; + Column1.ControlSource = "crsRegdoc.data", ; + Column1.FontSize = 10, ; + Column1.Name = "cData", ; + Column1.ReadOnly = .T., ; + Column1.Width = 81, ; + Column2.ColumnOrder = 2, ; + Column2.ControlSource = "crsRegdoc.document", ; + Column2.FontSize = 10, ; + Column2.Name = "cDocument", ; + Column2.ReadOnly = .T., ; + Column2.Width = 81, ; + Column3.ColumnOrder = 4, ; + Column3.ControlSource = "crsRegdoc.client", ; + Column3.FontSize = 10, ; + Column3.Name = "cClient", ; + Column3.ReadOnly = .T., ; + Column3.Width = 166, ; + Column4.ColumnOrder = 5, ; + Column4.ControlSource = "crsRegdoc.contract", ; + Column4.FontSize = 10, ; + Column4.Name = "cContract", ; + Column4.ReadOnly = .T., ; + Column4.Width = 75, ; + Column5.ColumnOrder = 6, ; + Column5.ControlSource = "crsRegdoc.cTip", ; + Column5.FontSize = 10, ; + Column5.Name = "cCtip", ; + Column5.ReadOnly = .T., ; + Column5.Width = 146, ; + Column6.ColumnOrder = 7, ; + Column6.ControlSource = "crsRegdoc.articol", ; + Column6.FontSize = 10, ; + Column6.Name = "cArticol", ; + Column6.ReadOnly = .T., ; + Column6.Width = 109, ; + Column7.ColumnOrder = 8, ; + Column7.ControlSource = "crsRegdoc.locatia", ; + Column7.FontSize = 10, ; + Column7.Name = "cLocatia", ; + Column7.ReadOnly = .T., ; + Column7.Width = 120, ; + Column8.ColumnOrder = 9, ; + Column8.ControlSource = "crsRegdoc.cantitate", ; + Column8.FontSize = 10, ; + Column8.Name = "cCantitate", ; + Column8.ReadOnly = .T., ; + Column8.Width = 53, ; + Column9.ColumnOrder = 10, ; + Column9.ControlSource = "crsRegdoc.um", ; + Column9.FontSize = 10, ; + Column9.Name = "cUM", ; + Column9.ReadOnly = .T., ; + Column9.Width = 36, ; + Column10.ColumnOrder = 11, ; + Column10.ControlSource = "crsRegdoc.pret", ; + Column10.FontSize = 10, ; + Column10.Format = "RK", ; + Column10.InputMask = (get_mask(12,gnPVal)), ; + Column10.Name = "cPret", ; + Column10.ReadOnly = .T., ; + Column10.Width = 77, ; + Column11.ColumnOrder = 12, ; + Column11.ControlSource = "crsRegdoc.valuta", ; + Column11.FontSize = 10, ; + Column11.Name = "cValuta", ; + Column11.ReadOnly = .T., ; + Column11.Width = 75, ; + Column12.ColumnOrder = 13, ; + Column12.ControlSource = "crsRegdoc.curs", ; + Column12.FontSize = 10, ; + Column12.Format = "RK", ; + Column12.InputMask = (get_mask(12,gnPCurs)), ; + Column12.Name = "cCurs", ; + Column12.ReadOnly = .T., ; + Column12.Width = 75, ; + Column13.ColumnOrder = 14, ; + Column13.ControlSource = "crsRegdoc.valval", ; + Column13.FontSize = 10, ; + Column13.Format = "RK", ; + Column13.InputMask = (get_mask(12,gnPVal)), ; + Column13.Name = "cValval", ; + Column13.ReadOnly = .T., ; + Column13.Width = 90, ; + Column14.ColumnOrder = 15, ; + Column14.ControlSource = "crsRegdoc.valftva", ; + Column14.FontSize = 10, ; + Column14.Format = "RK", ; + Column14.InputMask = (get_mask(12,gnZ)), ; + Column14.Name = "cValftva", ; + Column14.ReadOnly = .T., ; + Column14.Width = 80, ; + Column15.ColumnOrder = 16, ; + Column15.ControlSource = "crsRegdoc.numar_act", ; + Column15.FontSize = 10, ; + Column15.Name = "cNumarAct", ; + Column15.ReadOnly = .T., ; + Column16.ColumnOrder = 17, ; + Column16.ControlSource = "crsRegdoc.data_act", ; + Column16.FontSize = 10, ; + Column16.Name = "cDataAct", ; + Column16.ReadOnly = .T., ; + Column17.ColumnOrder = 18, ; + Column17.ControlSource = "ctdebitor", ; + Column17.FontSize = 10, ; + Column17.Name = "cctdebitor", ; + Column17.ReadOnly = .T., ; + Column18.ColumnOrder = 19, ; + Column18.ControlSource = "ctaideb", ; + Column18.FontSize = 10, ; + Column18.Name = "cctaideb", ; + Column18.ReadOnly = .T., ; + Column18.Width = 60, ; + Column19.ColumnOrder = 20, ; + Column19.ControlSource = "ctaedeb", ; + Column19.FontSize = 10, ; + Column19.Name = "cctaedeb", ; + Column19.ReadOnly = .T., ; + Column19.Width = 69, ; + Column20.ColumnOrder = 21, ; + Column20.ControlSource = "ctcreditor", ; + Column20.FontSize = 10, ; + Column20.Name = "cctcreditor", ; + Column20.ReadOnly = .T., ; + Column21.ColumnOrder = 22, ; + Column21.ControlSource = "ctaicred", ; + Column21.FontSize = 10, ; + Column21.Name = "cctaicred", ; + Column21.ReadOnly = .T., ; + Column21.Width = 67, ; + Column22.ColumnOrder = 23, ; + Column22.ControlSource = "ctaecred", ; + Column22.FontSize = 10, ; + Column22.Name = "cctaecred", ; + Column22.ReadOnly = .T., ; + Column22.Width = 64, ; + Column23.ColumnOrder = 24, ; + Column23.ControlSource = "ctpideb", ; + Column23.FontSize = 10, ; + Column23.Name = "cCtPiDeb", ; + Column23.ReadOnly = .T., ; + Column24.ColumnOrder = 25, ; + Column24.ControlSource = "ctapideb", ; + Column24.FontSize = 10, ; + Column24.Name = "cCtApiDeb", ; + Column24.ReadOnly = .T., ; + Column25.ColumnOrder = 26, ; + Column25.ControlSource = "ctpicred", ; + Column25.FontSize = 10, ; + Column25.Name = "cCtpiCred", ; + Column25.ReadOnly = .T., ; + Column26.ColumnOrder = 27, ; + Column26.ControlSource = "ctapicred", ; + Column26.FontSize = 10, ; + Column26.Name = "cCtApiCred", ; + Column26.ReadOnly = .T., ; + Column27.ColumnOrder = 3, ; + Column27.ControlSource = "crsRegdoc.document2", ; + Column27.FontSize = 10, ; + Column27.Name = "cDocument2", ; + Column27.ReadOnly = .T. + *< END OBJECT: ClassLib="..\comun\clase\_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'Grid1.cArticol.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Articol", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cArticol.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cCantitate.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cantitate", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cCantitate.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cClient.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Client", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cClient.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cContract.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Contract", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cContract.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cctaecred.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Ct. a.e. cred.", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cctaecred.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cctaedeb.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Ct. a.e. deb.", ; + FontSize = 10, ; + Name = "Header1", ; + ToolTipText = "cont analitic extern debit", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cctaedeb.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cctaicred.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Ct. a.i. cred.", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cctaicred.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cctaideb.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Ct. a.i. deb.", ; + FontSize = 10, ; + Name = "Header1", ; + ToolTipText = "cont analitic intern debit", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cctaideb.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cCtApiCred.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Ct. a. cred. pen.", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cCtApiCred.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cCtApiDeb.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Ct. a. deb. pen", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cCtApiDeb.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cctcreditor.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Ct. cred.", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cctcreditor.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cctdebitor.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Ct. deb.", ; + FontSize = 10, ; + Name = "Header1", ; + ToolTipText = "cont debit" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cctdebitor.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cCtip.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Tip", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cCtip.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cCtpiCred.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Ct. cred. pen.", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cCtpiCred.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cCtPiDeb.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Ct. deb. pen.", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cCtPiDeb.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cCurs.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Curs", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cCurs.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cData.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data doc.", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cData.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cDataAct.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data factura", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cDataAct.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cDocument.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Document", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cDocument.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cDocument2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Document2", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cDocument2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cLocatia.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Locatia", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cLocatia.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cNumarAct.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr. factura", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cNumarAct.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cPret.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cPret.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cUM.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Um", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cUM.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cValftva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare lei (fara TVA)", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cValftva.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cValuta.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valuta", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cValuta.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cValval.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare valuta", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cValval.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Gridextra1' AS gridextra WITH ; + Left = 684, ; + Name = "Gridextra1", ; + Top = 36 + *< END OBJECT: ClassLib="..\comun\utile\gridextras\gridextras.vcx" BaseClass="custom" /> + + ADD OBJECT 'txtValftva' AS _textbox WITH ; + Anchor = 12, ; + ControlSource = "thisform.nValftva", ; + Format = "RK", ; + Height = 23, ; + InputMask = (get_mask(12,gnZ)), ; + Left = 648, ; + Name = "txtValftva", ; + TabIndex = 12, ; + Top = 385, ; + Width = 115, ; + ZOrderSet = 6 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txtValval' AS _textbox WITH ; + Anchor = 12, ; + ControlSource = "thisform.nValVal", ; + Format = "RK", ; + Height = 23, ; + InputMask = (get_mask(12,gnZ)), ; + Left = 446, ; + Name = "txtValval", ; + TabIndex = 11, ; + Top = 385, ; + Width = 115, ; + ZOrderSet = 5 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="textbox" /> + + PROCEDURE actualizeaza_grid1 + LPARAMETERS tcFiltru + LOCAL lcFiltru + lcFiltru = IIF(!EMPTY(m.tcFiltru), m.tcFiltru, "") + + Thisform.LockScreen=.T. + This.grid1.RecordSource='' + + poRegdoc.ca_baza1.cfiltru = m.lcFiltru + poRegdoc.ca_baza1.afisare() + + SELECT crsRegdoc + Go Top + + With This.grid1 + .RecordSource='crsRegdoc' + .cdata.ControlSource='crsRegdoc.data' + .cdocument.ControlSource='crsRegdoc.document' + .cclient.ControlSource='crsRegdoc.client' + .ccontract.ControlSource='crsRegdoc.contract' + .cctip.ControlSource='crsRegdoc.ctip' + .carticol.ControlSource='crsRegdoc.articol' + .clocatia.ControlSource="crsRegdoc.locatia" + .ccantitate.ControlSource="crsRegdoc.cantitate" + .cum.ControlSource="crsRegdoc.um" + .cpret.ControlSource="crsRegdoc.pret" + .cvaluta.ControlSource="crsRegdoc.valuta" + .ccurs.ControlSource="crsRegdoc.curs" + .cvalval.ControlSource="crsRegdoc.valval" + .cvalftva.ControlSource="crsRegdoc.valftva" + .cNumarAct.ControlSource="crsRegdoc.numar_act" + .cdataact.ControlSource="crsRegdoc.data_act" + .cctdebitor.ControlSource="crsRegdoc.ctdebitor" + .cctaideb.ControlSource="crsRegdoc.ctaideb" + .cctaedeb.ControlSource="crsRegdoc.ctaedeb" + .cctcreditor.ControlSource="crsRegdoc.ctcreditor" + .cctaicred.ControlSource="crsRegdoc.ctaicred" + .cctaecred.ControlSource="crsRegdoc.ctaecred" + .cctpideb.ControlSource="crsRegdoc.ctpideb" + .cctapideb.ControlSource="crsRegdoc.ctapideb" + .cctpicred.ControlSource="crsRegdoc.ctpicred" + .cctapicred.ControlSource="crsRegdoc.ctapicred" + + Endwith + + This.grid1.Refresh + Thisform.LockScreen=.F. + + ENDPROC + + PROCEDURE do_cauta + LOCAL lcfiltru, lcFiltruInitial + + lcFiltruInitial = [ and (extract(year from data) * 12 + extract(month from data) = ?gnAn*12+?gnLuna)] + + lcfiltru='' + IF LEN(THISFORM.filtru_pretty)>0 + lcFiltru = ALLTRIM(THISFORM.filtru_pretty) + ENDIF + + IF !(' DATA'$upper(THISFORM.filtru_pretty)) + lcFiltru = m.lcFiltru + m.lcfiltruInitial + ENDIF + + IF !EMPTY(m.lcFiltru) AND ALLTRIM(LEFT(LOWER(m.lcFiltru),5)) = "and" + lcFiltru = SUBSTR(m.lcFiltru, 6) + ENDIF + + IF !EMPTY(m.lcFiltru) + THISFORM.actualizeaza_grid1(m.lcFiltru) + IF RECCOUNT('crsRegdoc')=0 + aMessagebox("Cautarea nu a intors rezultate!",0+48,"Info cautare") + ELSE + this.grid1.SetFocus() + ENDIF + ENDIF + + This.RefreshTotal() + + Return m.lcFiltru + + ENDPROC + + PROCEDURE do_cauta_partener + ENDPROC + + PROCEDURE do_executa2 + ENDPROC + + PROCEDURE getcontracteclient + ENDPROC + + PROCEDURE Init + DODEFAULT() + thisform.gridextra1.setup() + This.grid1.HeaderHeight = 36 + THisform.Refreshtotal() + ENDPROC + + PROCEDURE refreshtotal + SELECT crsRegDoc + CALCULATE SUM(valval), SUM(valftva) TO this.nValVal, this.nValFtva + GO TOP + this.txtValval.Refresh() + this.txtValFtva.Refresh() + + ENDPROC + + PROCEDURE But_start_criterii1.loadcriterii + + PARAMETERS tacriterii + EXTERNAL ARRAY tacriterii + #DEFINE crlf CHR(13)+CHR(10) + *!* DEBUG + *!* SUSPEND + lcStringCriterii="Data doc.\data\D\none\" + crlf + ; + "Document\document\T\none\" + crlf + ; + "Document2\document2\T\none\" + crlf + ; + "Client\client\T\id_client\nom_parteneri"+ crlf + ; + "Contract\contract\T\id_contract\nom_contracte"+ crlf + ; + "Tip\ctip\T\tip\nom_tipfactura"+ crlf + ; + "Articol\articol\T\id_articol\nom_articole"+ crlf + ; + "Locatia\locatia\T\id_locatia\nom_locatii"+ crlf + ; + "Anul\extract(year from data)\N\none\" + crlf + ; + "Perioada\extract(year from data)*12+extract(month from data)\D1\none\" + crlf + ; + "Nr. factura\numar_act\N\none\" + crlf + ; + "Data factura\data_act\D\none\" + crlf + ; + "Facturat\nofiled\E\(NVL(numar_act,0) <> 0)\" + DODEFAULT() + + ENDPROC + + PROCEDURE Gridextra1.applyfilter + DODEFAULT() + THisform.Refreshtotal() + ENDPROC + + PROCEDURE Gridextra1.clearfilter + DODEFAULT() + THisform.Refreshtotal() + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_situatii_venituri AS _frmbase OF "..\comun\clase\_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="txtClient" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="but_cautare_client" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cboContract" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtDataF" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtDataI" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblClient" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblContract" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lblPerioada" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cboRaport" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_listare1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_excel1" UniqueID="" Timestamp="" /> + + * + *m: do_cauta_partener + *m: do_executa2 + *m: getcontracteclient + *m: lmodificat_assign + *p: ccontractclient + *p: cdenumirebeneficiar + *p: cdenumireclient + *p: cvaloare_convoi + *p: cvaloare_finala + *p: cvaloare_minima_convoi + *p: ddataf + *p: ddatai + *p: lmodificat + *p: nidclient + *p: nidcontractclient + *p: nidraport + *p: nraportid + *p: nrecno + *p: nreno + *p: nvalftva + *p: nvalval + * + + * + BorderStyle = 1 + bvizualizare = .T. + ccontractclient = + cdenumirebeneficiar = + cdenumireclient = + cvaloare_convoi = 0 + cvaloare_finala = 0 + cvaloare_minima_convoi = 0 + ddataf = {} + ddatai = {} + DoCreate = .T. + Height = 165 + lmodificat = .F. + Name = "frm_situatii_venituri" + nidclient = 0 + nidcontractclient = 0 + nidraport = 7 + nraportid = 0 + nrecno = 0 + nreno = 0 + nvalftva = 0 + nvalval = 0 + Width = 426 + WindowState = 0 + _memberdata = + + + + + + + + + + + + + + + + + _shape1.Anchor = 10 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 780 + _shape1.ZOrderSet = 0 + _shape2.Left = 728 + _shape2.Name = "_shape2" + _shape2.Top = -1 + _shape2.ZOrderSet = 1 + Lb_titlu_alb_b121.Caption = "Situatii venituri" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 10 + Lb_titlu_alb_b121.ZOrderSet = 2 + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Height = 27 + BUT_TERMIN1.Left = 396 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 9 + BUT_TERMIN1.Top = 0 + BUT_TERMIN1.Width = 30 + BUT_TERMIN1.ZOrderSet = 3 + Gridsort1.Left = 0 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 403 + * + + ADD OBJECT '_label1' AS _label WITH ; + Caption = "Raport:", ; + FontBold = .T., ; + Left = 8, ; + Name = "_label1", ; + TabIndex = 13, ; + Top = 47 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'but_cautare_client' AS but_cautare WITH ; + caction = do_cauta_partener, ; + Left = 386, ; + Name = "but_cautare_client", ; + TabIndex = 3, ; + Top = 68 + *< END OBJECT: ClassLib="..\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_excel1' AS but_excel WITH ; + Anchor = 8, ; + Height = 27, ; + Left = 336, ; + Name = "But_excel1", ; + TabIndex = 8, ; + Top = 0, ; + Width = 30 + *< END OBJECT: ClassLib="..\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_listare1' AS but_listare WITH ; + Anchor = 8, ; + Height = 27, ; + Left = 366, ; + Name = "But_listare1", ; + TabIndex = 7, ; + Top = 0, ; + Width = 30, ; + ZOrderSet = 21 + *< END OBJECT: ClassLib="..\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'cboContract' AS _combobox WITH ; + BoundColumn = 2, ; + BoundTo = .T., ; + ControlSource = "thisform.nIdContractClient", ; + Enabled = .F., ; + Height = 24, ; + Left = 100, ; + Name = "cboContract", ; + ReadOnly = .F., ; + RowSource = "select crsContracte.numar as contract, id_ctr, nr_zile_scadenta, tip_curs from crsContracte into cursor crsContracteX", ; + RowSourceType = 3, ; + TabIndex = 4, ; + Top = 100, ; + Width = 280 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="combobox" /> + + ADD OBJECT 'cboRaport' AS _combobox WITH ; + Height = 24, ; + Left = 100, ; + Name = "cboRaport", ; + RowSource = "crsRapoarteVenituri.denumire", ; + RowSourceType = 6, ; + TabIndex = 1, ; + Top = 44, ; + Width = 280 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="combobox" /> + + ADD OBJECT 'lblClient' AS _label WITH ; + Caption = "Client platitor:", ; + FontBold = .T., ; + Left = 8, ; + Name = "lblClient", ; + TabIndex = 11, ; + Top = 73 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'lblContract' AS _label WITH ; + Caption = "Contract:", ; + FontBold = .T., ; + Left = 8, ; + Name = "lblContract", ; + TabIndex = 12, ; + Top = 103 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'lblPerioada' AS _label WITH ; + Caption = "Perioada:", ; + FontBold = .T., ; + Left = 8, ; + Name = "lblPerioada", ; + TabIndex = 14, ; + Top = 131 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'txtClient' AS _textbox WITH ; + ControlSource = "thisform.cDenumireClient", ; + Height = 23, ; + Left = 100, ; + Name = "txtClient", ; + ReadOnly = .T., ; + TabIndex = 2, ; + TabStop = .F., ; + ToolTipText = "Alegere client la Mouse-Click sau apasarea unei taste. Schimbare client la Dublu Mouse-Click sau apasarea unei taste.", ; + Top = 71, ; + Width = 280 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txtDataF' AS _textbox WITH ; + ControlSource = "thisform.ddataf", ; + DisabledForeColor = 0,0,0, ; + ForeColor = 0,0,0, ; + Format = "k", ; + Height = 22, ; + Left = 187, ; + Name = "txtDataF", ; + TabIndex = 6, ; + Top = 129, ; + Width = 80, ; + ZOrderSet = 8 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="textbox" /> + + ADD OBJECT 'txtDataI' AS _textbox WITH ; + ControlSource = "thisform.ddatai", ; + DisabledForeColor = 0,0,0, ; + ForeColor = 0,0,0, ; + Format = "k", ; + Height = 22, ; + Left = 100, ; + Name = "txtDataI", ; + TabIndex = 5, ; + Top = 129, ; + Width = 80, ; + ZOrderSet = 8 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="textbox" /> + + PROCEDURE Destroy + USE IN (SELECT('crsContracte')) + USE IN (SELECT('crsRapoarteVenituri')) + + ENDPROC + + PROCEDURE do_cauta_partener + LOCAL loCauta + loCauta = caut_client_contract_activ() + This.cDenumireClient = loCauta.denumire + This.nIdClient = loCauta.id_part + + Thisform.cContractClient = Alltrim(loCauta.numar) + Thisform.nIdContractClient = loCauta.id_ctr + + This.txtClient.Refresh() + This.GetContracteClient(This.nIdClient, Thisform.nIdContractClient) + + ENDPROC + + PROCEDURE do_excel + Local lcRaport, lcTabel, pcTitlu, lcExcel + Local loExcel As "VFPxWorkbookXLSX" Of "VFPxWorkbookXLSX.vcx" + + loReturn = This.do_executa() + lcTabel = loReturn.cTabel + lcColoane = loReturn.cColoane + + If !Empty(m.lcTabel) + lcRaport = Alltrim(crsRapoarteVenituri.raport) + pcTitlu = Alltrim(crsRapoarteVenituri.titlu) + pcTitlu = Strtran(m.pcTitlu, "[CLIENT]", ALLTRIM(Nvl(This.cDenumireClient, '')), 1, 1, 1) + pcTitlu = Strtran(m.pcTitlu, "[CONTRACT]", IIF(!EMPTY(NVL(thisform.cContractClient, "")), "(" + ALLTRIM(Thisform.cContractClient) + ")", "") , 1, 1, 1) + pcTitlu = Strtran(m.pcTitlu, "[DATA1]", Dtoc(Thisform.dDataI), 1, 1, 1) + pcTitlu = Strtran(m.pcTitlu, "[DATA2]", Dtoc(Thisform.dDataF), 1, 1, 1) + pcTitlu = STRTRAN(m.pcTitlu, " ", " ",1,10,1) + + * EXPORT XLSX + goExport.export2xlsx(m.lcTabel, m.pcTitlu) + Endif + + + ENDPROC + + PROCEDURE do_executa + Local ldDataF, ldDataI, lnIdCtrClient, lnRaportNr, lnTip, lcTabel, lcColoane + Local loReturn As "empty", loDate as "empty" + Local llReturn + + lcTabel = '' + lcColoane = '' + llReturn = .T. + ldDataI = Thisform.dDataI + ldDataF = Thisform.dDataF + + Do Case + Case Empty(m.ldDataI) + AMESSAGEBOX("Nu ati completat data initiala!", 0 + 48, "Atentie") + Thisform.txtDatai.SetFocus() + llReturn = .F. + Case Empty(m.ldDataF) + AMESSAGEBOX("Nu ati completat data finala!", 0 + 48, "Atentie") + Thisform.txtDataf.SetFocus() + llReturn = .F. + Case m.ldDataI > m.ldDataF + AMESSAGEBOX("Data finala trebuie sa fie mai mare decat data initiala !", 0 + 48, "Atentie") + Thisform.txtDataf.SetFocus() + llReturn = .F. + Endcase + + If m.llReturn + loDate = CREATEOBJECT("empty") + ADDPROPERTY(loDate, "nTip", crsRapoarteVenituri.tip) + ADDPROPERTY(loDate, "nNrRaport", crsRapoarteVenituri.numar) + ADDPROPERTY(loDate, "dData1", m.ldDataI) + ADDPROPERTY(loDate, "dData2", m.ldDataF) + ADDPROPERTY(loDate, "nIdClient", This.nIdClient) + ADDPROPERTY(loDate, "nIdCtrClient", This.nIdContractClient) + + = GET_DATE_VENITURI(loDate, @lcTabel, @lcColoane) + Endif + + loReturn = Createobject("empty") + AddProperty(loReturn, "cTabel", m.lcTabel) + AddProperty(loReturn, "cColoane", m.lcColoane) + Return m.loReturn + ENDPROC + + PROCEDURE do_executa2 + ENDPROC + + PROCEDURE do_listare + Private pcTitlu, pcIntocmit + + Local lcRaport, lcTabel, loPartener + Local loReturn + * Nu stiu de ce nu apare raportul de pe linia aleasa. Trebuie ales de 2 ori??? + * daca dau browse, este totul corect de prima oara. Incerc cu locate + SELECT crsRapoarteVenituri + LOCATE FOR id = thisform.nIdRaport + + loReturn = This.do_executa() + lcTabel = loReturn.cTabel + If !Empty(m.lcTabel) AND USED(m.lcTabel) AND RECCOUNT(m.lcTabel) > 0 + lcRaport = Alltrim(crsRapoarteVenituri.raport) + pcTitlu = Alltrim(crsRapoarteVenituri.titlu) + pcTitlu = Strtran(m.pcTitlu, "[CLIENT]", ALLTRIM(Nvl(This.cDenumireClient, '')), 1, 1, 1) + pcTitlu = Strtran(m.pcTitlu, "[CONTRACT]", IIF(!EMPTY(NVL(thisform.cContractClient, "")), "(" + ALLTRIM(Thisform.cContractClient) + ")", "") , 1, 1, 1) + pcTitlu = Strtran(m.pcTitlu, "[DATA1]", Dtoc(Thisform.dDataI), 1, 1, 1) + pcTitlu = Strtran(m.pcTitlu, "[DATA2]", Dtoc(Thisform.dDataF), 1, 1, 1) + pcTitlu = STRTRAN(m.pcTitlu, " ", " ",1,10,1) + + loPartener = GetPartenerByUtil(m.gnIdUtil) + pcIntocmit = ALLTRIM(NVL(loPartener.partener,'')) + + This.AlwaysOnTop = .F. + + goExport.export2frx(m.lcTabel, m.lcRaport, , , , , , .T.) + this.AlwaysOnTop = .T. + Endif + ENDPROC + + PROCEDURE getcontracteclient + Lparameters tnIdPart, tnIdCtr + + Local lcSource, lcSelect, lnIdCtr + lnIdCtr = Nvl(m.tnIdCtr, 0) + lcSelect = Select() + lcSource = This.cboContract.RowSource + This.cboContract.RowSource = [] + Do make_contracte With "id_part=" + Alltrim(Str(m.tnIdPart)) && crsContracte + Select crsContracte + Insert Into crsContracte(id_ctr, numar) Values (0, '') && o linie goala daca se doreste factura fara contract + + + This.cboContract.RowSource = m.lcSource + SELECT crsContracteX + Locate For id_ctr = Nvl(m.tnIdCtr, 0) + If !Found() + Go Top + Endif + + If Reccount('crsContracte') > 0 + This.cboContract.Enabled = .T. && activez/dezactivez cboContracte daca sunt/nu sunt inregistrari + This.cboContract.SetFocus() + Endif + + Select (m.lcSelect) + + + + ENDPROC + + PROCEDURE Init + DODEFAULT() + + thisform.ddatai = DATE(m.gnAn, m.gnLuna, 1) + thisform.ddataf = GOMONTH(DATE(m.gnAn, m.gnLuna, 1),1) - 1 + + SELECT crsRapoarteVenituri + GO TOP + this.cboRaport.Value = crsRapoarteVenituri.denumire + ENDPROC + + PROCEDURE lmodificat_assign + ENDPROC + + PROCEDURE Load + Do make_contracte With "1=2" && crsContracte + + CREATE CURSOR crsRapoarteVenituri (id N(10), tip N(2), numar N(3), denumire C(200), raport C(200), titlu c(200)) + INSERT INTO crsRapoarteVenituri (id, tip, numar, denumire, raport, titlu) VALUES (7, 0, 3, '0.3 Tranzit > Clienti - indicatori, valori', "SIT_TRANZIT3.FRX", "SITUATIE INDICATORI SI VALORI TRANZIT [CLIENT] [CONTRACT] DE LA [DATA1] LA [DATA2]") && Tip 0 Tranzit, Numar raport 3 + INSERT INTO crsRapoarteVenituri (id, tip, numar, denumire, raport, titlu) VALUES (8, 0, 13, '0.13 Tranzit > Clienti - capacitate pe transe, marfa', "", "SITUATIE CAPACITATE PE TRANSE SI MARFA [CLIENT] [CONTRACT] DE LA [DATA1] LA [DATA2]") && Tip 0 Tranzit, Numar raport 13 + + + INSERT INTO crsRapoarteVenituri (id, tip, numar, denumire, raport, titlu) VALUES (1, 1, 4, '1.4 Cheiaj > Clienti - indicatori, valori', "SIT_CHEIAJ4.FRX", "SITUATIE INDICATORI SI VALORI CHEIAJ [CLIENT] [CONTRACT] DE LA [DATA1] LA [DATA2]") && Tip 1 Cheiaj, Numar raport 4 + INSERT INTO crsRapoarteVenituri (id, tip, numar, denumire, raport, titlu) VALUES (6, 1, 5, '1.5 Cheiaj > Clienti - venituri pe locatii (lei)', "SIT_CHEIAJ5.FRX", "SITUATIE VENITURI PE LOCATII (LEI) [CLIENT] [CONTRACT] DE LA [DATA1] LA [DATA2]") && Tip 1 Cheiaj, Numar raport 5 + + INSERT INTO crsRapoarteVenituri (id, tip, numar, denumire, raport, titlu) VALUES (2, 2, 1, '2.1 Apa > Clienti/Prestatii, valori', "", "SITUATIE VALORI [CLIENT] [CONTRACT] DE LA [DATA1] LA [DATA2]") && Tip 2 Apa, Numar raport 1 + INSERT INTO crsRapoarteVenituri (id, tip, numar, denumire, raport, titlu) VALUES (3, 3, 1, '3.1 Chirii > Clienti/Prestatii, valori', "", "SITUATIE VALORI [CLIENT] [CONTRACT] DE LA [DATA1] LA [DATA2]") && Tip 3 Chirii, Numar raport 1 + INSERT INTO crsRapoarteVenituri (id, tip, numar, denumire, raport, titlu) VALUES (5, 9, 1, '9.1 Diverse > Clienti/Prestatii, valori', "", "SITUATIE VALORI [CLIENT] [CONTRACT] DE LA [DATA1] LA [DATA2]") && Tip 9 Diverse, Numar raport 1 + + + GO TOP IN crsRapoarteVenituri + Thisform.nIdRaport = crsRapoarteVenituri.id + ENDPROC + + PROCEDURE cboContract.LostFocus + Thisform.cContractClient = alltrim(NVL(crsContracteX.contract,'')) + ENDPROC + + PROCEDURE cboRaport.LostFocus + Thisform.nIdRaport = crsRapoarteVenituri.id + ENDPROC + + PROCEDURE cboRaport.Valid + Thisform.nIdRaport = crsRapoarteVenituri.id + * Inactivez butonul de listare daca nu am raport, doar export xls + thisform.but_listare1.Enabled = !EMPTY(crsRapoarteVenituri.raport) + thisform.but_listare1.Refresh() + ENDPROC + + PROCEDURE txtClient.Click + IF EMPTY(thisform.cDenumireClient) + thisform.do_cauta_partener() + ENDIF + ENDPROC + + PROCEDURE txtClient.DblClick + thisform.do_cauta_partener('client') + + ENDPROC + + PROCEDURE txtClient.InteractiveChange + thisform.do_cauta_partener('client') + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_tarife_cheiaj AS _frmbase OF "..\comun\clase\_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Grid2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid2.cIdCtr.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid2.cIdCtr.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid2.cDenumire.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid2.cDenumire.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid2.cNumar.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid2.cNumar.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cb_tx_cautare1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cBaza.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cBaza.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cBaza._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cUM.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cUM.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cUM._combobox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cArticol.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cArticol.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cArticol.Combo1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cLim2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cLim2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cCorect.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cCorect.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cCorect._combobox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cLim1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cLim1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cValuta.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cValuta.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cValuta.Combo1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cValoare.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cValoare.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cIntern.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cIntern.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cIntern.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cPlus.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cPlus.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cPlus._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cAreBaza.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cAreBaza.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cAreBaza._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_copiaza1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_modifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Sfsplitterh1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Gridextra1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Gridextra2" UniqueID="" Timestamp="" /> + + * + *m: do_cauta_partener + *m: do_executa2 + *m: getcontracteclient + *m: lmodificat_assign + *p: ccontractclient + *p: cdenumirebeneficiar + *p: cdenumireclient + *p: cvaloare_convoi + *p: cvaloare_finala + *p: cvaloare_minima_convoi + *p: lmodificat + *p: nrecno + *p: nreno + *p: nvalftva + *p: nvalval + * + + * + BorderStyle = 3 + bvizualizare = .T. + ccontractclient = + cdenumirebeneficiar = + cdenumireclient = + cvaloare_convoi = 0 + cvaloare_finala = 0 + cvaloare_minima_convoi = 0 + DoCreate = .T. + Height = 401 + lmodificat = .F. + Name = "frm_tarife_cheiaj" + nrecno = 0 + nreno = 0 + nvalftva = 0 + nvalval = 0 + Width = 779 + WindowState = 2 + _memberdata = + + + + + + + + + + + + _shape1.Anchor = 10 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 780 + _shape1.ZOrderSet = 0 + _shape2.Left = 728 + _shape2.Name = "_shape2" + _shape2.Top = -1 + _shape2.ZOrderSet = 1 + Lb_titlu_alb_b121.Caption = "Tarife cheiaj" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 9 + Lb_titlu_alb_b121.ZOrderSet = 2 + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 748 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 10 + BUT_TERMIN1.Top = 0 + BUT_TERMIN1.ZOrderSet = 3 + Gridsort1.Left = 0 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 403 + * + + ADD OBJECT '_label3' AS _label WITH ; + Caption = "Client", ; + Left = 10, ; + Name = "_label3", ; + Top = 35, ; + ZOrderSet = 7 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'But_copiaza1' AS but_copiaza WITH ; + Anchor = 8, ; + Left = 657, ; + Name = "But_copiaza1", ; + Top = 56, ; + ZOrderSet = 9 + *< END OBJECT: ClassLib="..\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_modifica1' AS but_modifica WITH ; + Anchor = 8, ; + Left = 713, ; + Name = "But_modifica1", ; + Top = 56, ; + ZOrderSet = 11 + *< END OBJECT: ClassLib="..\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_nou1' AS but_nou WITH ; + Anchor = 8, ; + Left = 685, ; + Name = "But_nou1", ; + Top = 56, ; + ZOrderSet = 10 + *< END OBJECT: ClassLib="..\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Anchor = 9, ; + Left = 720, ; + Name = "But_renunt1", ; + Top = 0, ; + ZOrderSet = 13 + *< END OBJECT: ClassLib="..\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge1' AS but_sterge WITH ; + Anchor = 8, ; + Left = 740, ; + Name = "But_sterge1", ; + Top = 56, ; + ZOrderSet = 12 + *< END OBJECT: ClassLib="..\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cb_tx_cautare1' AS cb_tx_cautare WITH ; + Height = 27, ; + Left = 8, ; + Name = "Cb_tx_cautare1", ; + Top = 56, ; + Width = 304, ; + ZOrderSet = 6, ; + Text.Height = 25, ; + Text.Left = 103, ; + Text.Name = "Text", ; + Text.Top = 1, ; + Text.Width = 197, ; + Criteriu.Name = "Criteriu" + *< END OBJECT: ClassLib="..\comun\clase\lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Grid1' AS _grdbase WITH ; + Anchor = 15, ; + ColumnCount = 11, ; + DeleteMark = .F., ; + HeaderHeight = 39, ; + Height = 304, ; + lcamptextneeditabil = .F., ; + Left = 360, ; + Name = "Grid1", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordSource = "crsTarife", ; + RowHeight = 19, ; + Top = 87, ; + Width = 412, ; + ZOrderSet = 8, ; + Column1.ColumnOrder = 11, ; + Column1.ControlSource = "baza", ; + Column1.CurrentControl = "_checkbox1", ; + Column1.FontSize = 10, ; + Column1.Name = "cBaza", ; + Column1.ReadOnly = .T., ; + Column1.Sparse = .F., ; + Column1.Width = 61, ; + Column2.Bound = .F., ; + Column2.ColumnOrder = 8, ; + Column2.ControlSource = "um", ; + Column2.CurrentControl = "_combobox1", ; + Column2.FontSize = 10, ; + Column2.Name = "cUM", ; + Column2.ReadOnly = .T., ; + Column2.Sparse = .F., ; + Column2.Width = 66, ; + Column3.Bound = .F., ; + Column3.ColumnOrder = 1, ; + Column3.ControlSource = "Iif(Seek(crsTarife.id_articol,'crsArticole','id_articol'),crsArticole.denumire,'')", ; + Column3.CurrentControl = "Combo1", ; + Column3.FontSize = 10, ; + Column3.Name = "cArticol", ; + Column3.ReadOnly = .F., ; + Column3.Sparse = .F., ; + Column3.Width = 234, ; + Column4.ColumnOrder = 3, ; + Column4.ControlSource = "lim2", ; + Column4.FontSize = 10, ; + Column4.Name = "cLim2", ; + Column4.ReadOnly = .T., ; + Column4.Width = 64, ; + Column5.ColumnOrder = 4, ; + Column5.ControlSource = "corect", ; + Column5.CurrentControl = "_combobox1", ; + Column5.FontSize = 10, ; + Column5.Name = "cCorect", ; + Column5.ReadOnly = .T., ; + Column5.Sparse = .F., ; + Column5.Width = 36, ; + Column6.ColumnOrder = 2, ; + Column6.ControlSource = "lim1", ; + Column6.FontSize = 10, ; + Column6.Name = "cLim1", ; + Column6.ReadOnly = .T., ; + Column6.Width = 71, ; + Column7.Bound = .F., ; + Column7.ColumnOrder = 7, ; + Column7.ControlSource = "Iif(Seek(crsTarife.id_valuta,'crsValute','id_valuta'),crsValute.nume_val,'')", ; + Column7.CurrentControl = "Combo1", ; + Column7.FontSize = 10, ; + Column7.Name = "cValuta", ; + Column7.ReadOnly = .F., ; + Column7.Sparse = .F., ; + Column7.Width = 75, ; + Column8.ColumnOrder = 6, ; + Column8.ControlSource = "valoare", ; + Column8.FontSize = 10, ; + Column8.Format = "RK", ; + Column8.InputMask = (get_mask(12,4)), ; + Column8.Name = "cValoare", ; + Column8.ReadOnly = .T., ; + Column8.Width = 75, ; + Column9.ColumnOrder = 5, ; + Column9.ControlSource = "intern", ; + Column9.CurrentControl = "Check1", ; + Column9.FontSize = 10, ; + Column9.Name = "cIntern", ; + Column9.ReadOnly = .T., ; + Column9.Sparse = .F., ; + Column9.Width = 41, ; + Column10.ColumnOrder = 9, ; + Column10.ControlSource = "plus", ; + Column10.CurrentControl = "_checkbox1", ; + Column10.FontSize = 10, ; + Column10.Name = "cPlus", ; + Column10.ReadOnly = .T., ; + Column10.Sparse = .F., ; + Column10.Width = 74, ; + Column11.ColumnOrder = 10, ; + Column11.ControlSource = "arebaza", ; + Column11.CurrentControl = "_checkbox1", ; + Column11.FontSize = 10, ; + Column11.Name = "cAreBaza", ; + Column11.ReadOnly = .T., ; + Column11.Sparse = .F., ; + Column11.Width = 68 + *< END OBJECT: ClassLib="..\comun\clase\_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'Grid1.cAreBaza._checkbox1' AS _checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + Left = 33, ; + Name = "_checkbox1", ; + Top = 56 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Grid1.cAreBaza.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Are baza de calcul", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cAreBaza.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cArticol.Combo1' AS combobox WITH ; + BorderStyle = 0, ; + BoundColumn = 2, ; + BoundTo = .T., ; + ControlSource = "crsTarife.id_articol", ; + Enabled = .F., ; + FontSize = 10, ; + Height = 24, ; + Left = 73, ; + Name = "Combo1", ; + RowSource = "select crsArticole.denumire, id_articol from crsArticole into cursor crsArticoleX order by denumire", ; + RowSourceType = 3, ; + Style = 2, ; + Top = 44, ; + Width = 100 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'Grid1.cArticol.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Prestatie", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cArticol.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cBaza._checkbox1' AS _checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + Left = 24, ; + Name = "_checkbox1", ; + Top = 68 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Grid1.cBaza.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Baza de calcul", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cBaza.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cCorect._combobox1' AS _combobox WITH ; + BorderStyle = 0, ; + BoundColumn = 2, ; + BoundTo = .T., ; + ColumnCount = 2, ; + ColumnLines = .F., ; + ColumnWidths = "200,0", ; + ControlSource = "corect", ; + FontSize = 10, ; + Left = 18, ; + Name = "_combobox1", ; + ReadOnly = .F., ; + RowSource = "ore,1,zile,24", ; + RowSourceType = 1, ; + Top = 80 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="combobox" /> + + ADD OBJECT 'Grid1.cCorect.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Um", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cCorect.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cIntern.Check1' AS checkbox WITH ; + Alignment = 2, ; + BackStyle = 0, ; + Caption = "", ; + FontSize = 10, ; + Height = 17, ; + Left = 39, ; + Name = "Check1", ; + ReadOnly = .T., ; + Top = 68, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'Grid1.cIntern.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Intern", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cIntern.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cLim1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Limita minima", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cLim1.Text1' AS textbox WITH ; + Alignment = 3, ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cLim2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Limita maxima", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cLim2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cPlus._checkbox1' AS _checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + Left = 24, ; + Name = "_checkbox1", ; + Top = 68 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'Grid1.cPlus.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "In plus", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cPlus.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cUM._combobox1' AS _combobox WITH ; + ControlSource = "um", ; + Left = 46, ; + Name = "_combobox1", ; + ReadOnly = .F., ; + RowSource = "ZI,ML,ML/ZI,TC,TC/ZI,CP,CP/ZI,LBP,LBP/ZI,TRN,TRN/ZI", ; + RowSourceType = 1, ; + Top = 56 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="combobox" /> + + ADD OBJECT 'Grid1.cUM.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "UM limita", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cUM.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ControlSource = "um", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cValoare.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cValoare.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cValuta.Combo1' AS combobox WITH ; + BorderStyle = 0, ; + BoundColumn = 2, ; + BoundTo = .T., ; + ControlSource = "crsTarife.id_valuta", ; + Enabled = .F., ; + FontSize = 10, ; + Height = 24, ; + Left = 28, ; + Name = "Combo1", ; + ReadOnly = .F., ; + RowSource = "select crsValute.nume_val, id_valuta from crsValute order by nume_val into cursor crsValuteX", ; + RowSourceType = 3, ; + Style = 2, ; + Top = 44, ; + Width = 100 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'Grid1.cValuta.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valuta", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cValuta.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid2' AS _grdbase WITH ; + Anchor = 5, ; + ColumnCount = 3, ; + DeleteMark = .F., ; + Height = 304, ; + lcamptextneeditabil = .F., ; + Left = 8, ; + Name = "Grid2", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordMark = .T., ; + RecordSource = "crsContracte", ; + RowHeight = 19, ; + TabIndex = 2, ; + Top = 87, ; + Width = 338, ; + ZOrderSet = 5, ; + Column1.ColumnOrder = 3, ; + Column1.ControlSource = "id_ctr", ; + Column1.FontName = "Arial", ; + Column1.FontSize = 10, ; + Column1.Name = "cIdCtr", ; + Column1.ReadOnly = .T., ; + Column1.Width = 60, ; + Column2.ColumnOrder = 1, ; + Column2.ControlSource = "denumire", ; + Column2.FontName = "Arial", ; + Column2.FontSize = 10, ; + Column2.Name = "cDenumire", ; + Column2.ReadOnly = .T., ; + Column2.Width = 198, ; + Column3.ColumnOrder = 2, ; + Column3.ControlSource = "numar", ; + Column3.FontName = "Arial", ; + Column3.FontSize = 10, ; + Column3.Name = "cNumar", ; + Column3.ReadOnly = .T., ; + Column3.Width = 82 + *< END OBJECT: ClassLib="..\comun\clase\_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'Grid2.cDenumire.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Client", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid2.cDenumire.Text1' AS textbox WITH ; + FontName = "Arial", ; + FontSize = 10, ; + Height = 23, ; + Left = 46, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255, ; + Top = 35, ; + Width = 100 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid2.cIdCtr.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid2.cIdCtr.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid2.cNumar.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Contract", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid2.cNumar.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Gridextra1' AS gridextra WITH ; + gridexpression = Thisform.Grid1, ; + Left = 504, ; + Name = "Gridextra1", ; + productname = ROA, ; + Top = 36 + *< END OBJECT: ClassLib="..\comun\utile\gridextras\gridextras.vcx" BaseClass="custom" /> + + ADD OBJECT 'Gridextra2' AS gridextra WITH ; + gridexpression = Thisform.Grid2, ; + Left = 264, ; + Name = "Gridextra2", ; + productname = ROA, ; + Top = 156 + *< END OBJECT: ClassLib="..\comun\utile\gridextras\gridextras.vcx" BaseClass="custom" /> + + ADD OBJECT 'Sfsplitterh1' AS sfsplitterh WITH ; + Anchor = 5, ; + BackColor = 255,255,255, ; + cobject1name = Grid2, ; + cobject2name = Grid1, ; + Height = 302, ; + Left = 349, ; + Name = "Sfsplitterh1", ; + Top = 88, ; + Width = 8, ; + ZOrderSet = 14, ; + gripper.GripperDot1.Name = "GripperDot1", ; + gripper.GripperDot1.ShapeDark.Name = "ShapeDark", ; + gripper.GripperDot1.ShapeLight.Name = "ShapeLight", ; + gripper.GripperDot1.ShapeMiddle.Name = "ShapeMiddle", ; + gripper.GripperDot2.Name = "GripperDot2", ; + gripper.GripperDot2.ShapeDark.Name = "ShapeDark", ; + gripper.GripperDot2.ShapeLight.Name = "ShapeLight", ; + gripper.GripperDot2.ShapeMiddle.Name = "ShapeMiddle", ; + gripper.GripperDot3.Name = "GripperDot3", ; + gripper.GripperDot3.ShapeDark.Name = "ShapeDark", ; + gripper.GripperDot3.ShapeLight.Name = "ShapeLight", ; + gripper.GripperDot3.ShapeMiddle.Name = "ShapeMiddle", ; + gripper.GripperDot4.Name = "GripperDot4", ; + gripper.GripperDot4.ShapeDark.Name = "ShapeDark", ; + gripper.GripperDot4.ShapeLight.Name = "ShapeLight", ; + gripper.GripperDot4.ShapeMiddle.Name = "ShapeMiddle", ; + gripper.GripperDot5.Name = "GripperDot5", ; + gripper.GripperDot5.ShapeDark.Name = "ShapeDark", ; + gripper.GripperDot5.ShapeLight.Name = "ShapeLight", ; + gripper.GripperDot5.ShapeMiddle.Name = "ShapeMiddle", ; + gripper.Name = "gripper" + *< END OBJECT: ClassLib="..\comun\clase\sfsplitter.vcx" BaseClass="control" /> + + PROCEDURE actualizeaza_grid1 + LPARAMETERS tcFiltru + LOCAL lcFiltru + lcFiltru = IIF(!EMPTY(m.tcFiltru), m.tcFiltru, "") + + Thisform.lModificat = .F. + + Thisform.LockScreen=.T. + + SELECT crsTarife + SET FILTER TO &lcFiltru + Go Top + This.grid1.Refresh + Thisform.LockScreen=.F. + + ENDPROC + + PROCEDURE do_adauga + Local lnCtrId + lnCtrId = Nvl(crsContracte.id_ctr, 0) + If Empty(m.lnCtrId) + Return + Endif + + Sele crsTarife + IF RECNO() > 0 + SCATTER NAME loRec MEMO + ELSE + SCATTER NAME loRec MEMO BLANK + ENDIF + + loRec.ctr_id = m.lnCtrId + APPEND blank + GATHER NAME loRec FIELDS EXCEPT id MEMO + + This.do_modifica() + + ENDPROC + + PROCEDURE do_cauta + Local lcfiltru, lcValoare + + lcfiltru='' + lcValoare = STRTRAN(ALLTRIM(UPPER(This.cb_tx_cautare1.TEXT.VALUE)),['],['']) + With This.cb_tx_cautare1 + If !Empty(.Text.Value) Or (Empty(.Text.Value) And .criteriu.Value = "6") + Do Case + Case .criteriu.Value = "1" + lcfiltru = lcfiltru + [LIKE('] + lcValoare + [*', denumire)] + Case .criteriu.Value = "2" + lcfiltru = lcfiltru + [denumire ='] + lcValoare + ['] + Case .criteriu.Value = "3" + lcfiltru = lcfiltru + [denumire !='] + lcValoare + ['] + Case .criteriu.Value = "4" + lcfiltru = lcfiltru + [LIKE('*] + lcValoare + [*', denumire)] + Case .criteriu.Value = "5" + lcfiltru = lcfiltru + [!LIKE('*] + lcValoare + [*', denumire)] + Case .criteriu.Value = "6" + lcfiltru = lcfiltru + [2=2] + Endcase + Endif + Endwith + + SELECT crsContracte + lnRecno = RECNO() + LOCATE FOR &lcFiltru + IF !FOUND() + GOTO m.lnRecno + ENDIF + this.grid2.SetFocus() + thisform.actualizeaza_grid1("ctr_id = " + ALLTRIM(STR(crsContracte.id_ctr))) + + ENDPROC + + PROCEDURE do_cauta_partener + ENDPROC + + PROCEDURE do_copiaza + Local lnCtrId, loContract, ldActivLaData, lnIdTipCtr, lnIdPart + lnCtrId = Nvl(crsTarife.ctr_id, 0) + ldActivLaData = DATE(m.gnAn, m.gnLuna, 1) + lnIdTipCtr = -1 + lnIdPart = 0 + If Empty(m.lnCtrId) + Return + Endif + + If AMESSAGEBOX('Doriti sa copiati tarifele contractului curent pe alt contract?', 4 + 32, _Screen.Caption) <> 6 + Return + Endif + + AMESSAGEBOX("Alegeti clientul destinatie, unde doriti sa copiati tarifele.", 0 + 64, _Screen.Caption) + + loContract = caut_contract_activ(-1, 0, m.ldActivLaData) + If Type('loContract') = 'O' And !Isnull(loContract) + Select * From crsTarife Where ctr_id = m.lnCtrId Into Cursor cTarifeTemp Readwrite + Update cTarifeTemp Set ctr_id = loContract.id_ctr, modificat = 1, id = 0 + + Select crsTarife + Append From Dbf('cTarifeTemp') + AMESSAGEBOX(Alltrim(Str(Reccount('cTarifeTemp'))) + ' inregistrari copiate.', 0 + 64, _Screen.Caption) + Endif + + Use In (Select('cTarifeTemp')) + ENDPROC + + PROCEDURE do_executa2 + ENDPROC + + PROCEDURE do_modifica + SELECT crsTarife + IF RECNO() > 0 + REPLACE modificat with 1 + thisform.nRecno=recno() + thisform.lModificat = .T. + ENDIF + thisform.grid1.setfocus + ENDPROC + + PROCEDURE do_sterge + IF AMESSAGEBOX('Doriti sa stergeti inregistrarea?',4+32,_screen.Caption) <> 6 + RETURN + ENDIF + SELECT crsTarife + REPLACE modificat with 1 + DELETE + TRY + SKIP -1 IN crsTarife + CATCH TO loEx + GO TOP IN crsTarife + ENDTRY + THISFORM.GRID1.SETFOCUS + ENDPROC + + PROCEDURE getcontracteclient + ENDPROC + + PROCEDURE Init + DODEFAULT() + thisform.gridextra1.setup() + thisform.gridextra2.setup() + thisform.actualizeaza_grid1("ctr_id = " + ALLTRIM(STR(crsContracte.id_ctr))) + thisform.cb_tx_cautare1.text.SetFocus() + this.WindowState = 2 + ENDPROC + + PROCEDURE lmodificat_assign + Lparameters tlModificat + Local llEnabled, llReadOnly + This.lModificat = tlModificat + llEnabled = m.tlModificat + llReadOnly = !m.tlModificat + With This.grid1 + .cArticol.combo1.Enabled = m.llEnabled + .cLim1.ReadOnly = m.llReadOnly + .cLim2.ReadOnly = m.llReadOnly + .cCorect._combobox1.Enabled = m.llEnabled + .cIntern.ReadOnly = m.llReadOnly + .cIntern.Check1.ReadOnly = m.llReadOnly + .cValoare.ReadOnly = m.llReadOnly + .cValuta.combo1.Enabled = m.llEnabled + .cUM._combobox1.Enabled = m.llEnabled + .cPlus.ReadOnly = m.llReadOnly + .cPlus._checkbox1.ReadOnly = m.llReadOnly + .cAreBaza.ReadOnly = m.llReadOnly + .cAreBaza._checkbox1.ReadOnly = m.llReadOnly + .cBaza.ReadOnly = m.llReadOnly + .cBaza._checkbox1.ReadOnly = m.llReadOnly + Endwith + ENDPROC + + PROCEDURE Cb_tx_cautare1.Init + this.do_initializeaza_ct() + ENDPROC + + PROCEDURE Cb_tx_cautare1.Text.KeyPress + LPARAMETERS nKeyCode, nShiftAltCtrl + IF nKeyCode = 13 + THISFORM.DO_CAUTA() + NODEFAULT + ENDIF + ENDPROC + + PROCEDURE Grid1.AfterRowColChange + Lparameters nColIndex + * Daca sunt in modul editare si schimb randul, ies din modul editare + Local lnRecno + Select crsTarife + lnRecno = Recno() + + If Thisform.lModificat + If Thisform.nRecno != m.lnRecno + Thisform.lModificat = .F. + This.Refresh + Endif + ENDIF + + + ENDPROC + + PROCEDURE Grid2.AfterRowColChange + LPARAMETERS nColIndex + IF INLIST(this.RowColChange,1,3) + thisform.actualizeaza_grid1("ctr_id = " + ALLTRIM(STR(crsContracte.id_ctr))) + ENDIF + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_tarife_contracte AS _frmbase OF "..\comun\clase\_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Grid2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid2.cIdCtr.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid2.cIdCtr.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid2.cDenumire.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid2.cDenumire.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid2.cNumar.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid2.cNumar.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cb_tx_cautare1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cCoefDiscount.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cCoefDiscount.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cValDiscount.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cValDiscount.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cArticol.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cArticol.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cArticol.Combo1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cLocatia.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cLocatia.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cLocatia.Combo1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cCant.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cCant.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cUM.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cUM.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cPret.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cPret.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cValuta.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cValuta.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cValuta.Combo1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cValoare.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cValoare.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cPretcuTVA.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cPretcuTVA.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cPretcuTVA.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cExplicatie.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cExplicatie.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cProcTva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cProcTva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cProcTva._combobox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_copiaza1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_modifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Sfsplitterh1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Gridextra2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Gridextra1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cmd_executa1" UniqueID="" Timestamp="" /> + + * + *m: calculeazapreturirand + *m: do_actualizare_cote_tva + *m: do_cauta_partener + *m: do_executa2 + *m: getcontracteclient + *m: lmodificat_assign + *p: ccontractclient + *p: cdenumirebeneficiar + *p: cdenumireclient + *p: cvaloare_convoi + *p: cvaloare_finala + *p: cvaloare_minima_convoi + *p: lmodificat + *p: ncant + *p: npretcutva + *p: npretunitar + *p: nproctvav + *p: nrecno + *p: nreno + *p: nvalftva + *p: nvaloare + *p: nvalval + * + + * + BorderStyle = 3 + bvizualizare = .T. + ccontractclient = + cdenumirebeneficiar = + cdenumireclient = + cvaloare_convoi = 0 + cvaloare_finala = 0 + cvaloare_minima_convoi = 0 + DoCreate = .T. + Height = 401 + lmodificat = .F. + Name = "frm_tarife_contracte" + ncant = 0 + npretcutva = 0 + npretunitar = 0 + nproctvav = 0 + nrecno = 0 + nreno = 0 + nvalftva = 0 + nvaloare = 0 + nvalval = 0 + Width = 779 + WindowState = 2 + _memberdata = + + + + + + + + + + + + + + + + + + _shape1.Anchor = 10 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 780 + _shape1.ZOrderSet = 0 + _shape2.Left = 728 + _shape2.Name = "_shape2" + _shape2.Top = -1 + _shape2.ZOrderSet = 1 + Lb_titlu_alb_b121.Caption = "Tarife contracte" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 9 + Lb_titlu_alb_b121.ZOrderSet = 2 + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 748 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 10 + BUT_TERMIN1.Top = 0 + BUT_TERMIN1.ZOrderSet = 3 + Gridsort1.Left = 0 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 403 + * + + ADD OBJECT '_label3' AS _label WITH ; + Caption = "Client", ; + Left = 10, ; + Name = "_label3", ; + Top = 35, ; + ZOrderSet = 7 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'But_copiaza1' AS but_copiaza WITH ; + Anchor = 8, ; + Left = 657, ; + Name = "But_copiaza1", ; + Top = 56, ; + ZOrderSet = 9 + *< END OBJECT: ClassLib="..\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_modifica1' AS but_modifica WITH ; + Anchor = 8, ; + Left = 713, ; + Name = "But_modifica1", ; + Top = 56, ; + ZOrderSet = 11 + *< END OBJECT: ClassLib="..\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_nou1' AS but_nou WITH ; + Anchor = 8, ; + Left = 685, ; + Name = "But_nou1", ; + Top = 56, ; + ZOrderSet = 10 + *< END OBJECT: ClassLib="..\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Anchor = 9, ; + Left = 720, ; + Name = "But_renunt1", ; + Top = 0, ; + ZOrderSet = 13 + *< END OBJECT: ClassLib="..\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge1' AS but_sterge WITH ; + Anchor = 8, ; + Left = 740, ; + Name = "But_sterge1", ; + Top = 56, ; + ZOrderSet = 12 + *< END OBJECT: ClassLib="..\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cb_tx_cautare1' AS cb_tx_cautare WITH ; + Height = 27, ; + Left = 8, ; + Name = "Cb_tx_cautare1", ; + Top = 56, ; + Width = 304, ; + ZOrderSet = 6, ; + Text.Height = 25, ; + Text.Left = 103, ; + Text.Name = "Text", ; + Text.Top = 1, ; + Text.Width = 197, ; + Criteriu.Name = "Criteriu" + *< END OBJECT: ClassLib="..\comun\clase\lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Cmd_executa1' AS cmd_executa WITH ; + Anchor = 8, ; + AutoSize = .F., ; + caction = do_actualizare_cote_tva, ; + Caption = "\ + + ADD OBJECT 'Grid1' AS _grdbase WITH ; + Anchor = 15, ; + ColumnCount = 12, ; + DeleteMark = .F., ; + Height = 304, ; + lcamptextneeditabil = .F., ; + Left = 360, ; + Name = "Grid1", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordSource = "crsTarife", ; + RowHeight = 19, ; + Top = 87, ; + Width = 412, ; + ZOrderSet = 8, ; + Column1.ColumnOrder = 8, ; + Column1.ControlSource = "coef_discount", ; + Column1.FontSize = 10, ; + Column1.Format = "RK", ; + Column1.InputMask = (get_mask(12,4)), ; + Column1.Name = "cCoefDiscount", ; + Column1.ReadOnly = .T., ; + Column1.Width = 83, ; + Column2.ColumnOrder = 9, ; + Column2.ControlSource = "val_discount", ; + Column2.FontSize = 10, ; + Column2.Format = "RK", ; + Column2.InputMask = (get_mask(12,gnPVal)), ; + Column2.Name = "cValDiscount", ; + Column2.ReadOnly = .T., ; + Column2.Width = 81, ; + Column3.Bound = .F., ; + Column3.ColumnOrder = 2, ; + Column3.ControlSource = "Iif(Seek(crsTarife.id_articol,'crsArticole','id_articol'),crsArticole.denumire,'')", ; + Column3.CurrentControl = "Combo1", ; + Column3.FontSize = 10, ; + Column3.Name = "cArticol", ; + Column3.ReadOnly = .F., ; + Column3.Sparse = .F., ; + Column3.Width = 109, ; + Column4.Bound = .F., ; + Column4.ColumnOrder = 1, ; + Column4.ControlSource = "Iif(Seek(crsTarife.id_locatia,'crsLocatii','id'),crsLocatii.denumire,'')", ; + Column4.CurrentControl = "Combo1", ; + Column4.FontSize = 10, ; + Column4.Name = "cLocatia", ; + Column4.ReadOnly = .F., ; + Column4.Sparse = .F., ; + Column4.Width = 120, ; + Column5.BackColor = 205,230,255, ; + Column5.ColumnOrder = 3, ; + Column5.ControlSource = "cant", ; + Column5.FontSize = 10, ; + Column5.Format = "RK", ; + Column5.InputMask = (get_mask(12,4)), ; + Column5.Name = "cCant", ; + Column5.ReadOnly = .T., ; + Column5.Width = 53, ; + Column6.ColumnOrder = 4, ; + Column6.ControlSource = "um", ; + Column6.CurrentControl = "Text1", ; + Column6.FontSize = 10, ; + Column6.Format = "!K", ; + Column6.Name = "cUM", ; + Column6.ReadOnly = .T., ; + Column6.Width = 36, ; + Column7.BackColor = 205,230,255, ; + Column7.ColumnOrder = 5, ; + Column7.ControlSource = "pret_unitar", ; + Column7.FontSize = 10, ; + Column7.Format = "RK", ; + Column7.InputMask = (get_mask(12,4)), ; + Column7.Name = "cPret", ; + Column7.ReadOnly = .T., ; + Column7.Width = 60, ; + Column8.Bound = .F., ; + Column8.ColumnOrder = 6, ; + Column8.ControlSource = "Iif(Seek(crsTarife.id_valuta,'crsValute','id_valuta'),crsValute.nume_val,'')", ; + Column8.CurrentControl = "Combo1", ; + Column8.FontSize = 10, ; + Column8.Name = "cValuta", ; + Column8.ReadOnly = .F., ; + Column8.Sparse = .F., ; + Column8.Width = 75, ; + Column9.BackColor = 205,230,255, ; + Column9.ColumnOrder = 7, ; + Column9.ControlSource = "valoare", ; + Column9.FontSize = 10, ; + Column9.Format = "RK", ; + Column9.InputMask = (get_mask(12,gnPC)), ; + Column9.Name = "cValoare", ; + Column9.ReadOnly = .F., ; + Column9.Width = 75, ; + Column10.ControlSource = "pret_cu_tva", ; + Column10.CurrentControl = "Check1", ; + Column10.FontSize = 10, ; + Column10.Name = "cPretcuTVA", ; + Column10.ReadOnly = .T., ; + Column10.Sparse = .F., ; + Column11.ColumnOrder = 12, ; + Column11.ControlSource = "explicatie", ; + Column11.FontSize = 10, ; + Column11.Name = "cExplicatie", ; + Column11.ReadOnly = .T., ; + Column11.Sparse = .F., ; + Column11.Width = 140, ; + Column12.Bound = .F., ; + Column12.ColumnOrder = 11, ; + Column12.ControlSource = "Iif(Seek(crsTarife.proc_tvav,'crsCoteTVA','proc_tva'),crsCoteTVA.procent,'')", ; + Column12.CurrentControl = "_combobox1", ; + Column12.Name = "cProcTva", ; + Column12.ReadOnly = .F., ; + Column12.Sparse = .F. + *< END OBJECT: ClassLib="..\comun\clase\_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'Grid1.cArticol.Combo1' AS combobox WITH ; + BorderStyle = 0, ; + BoundColumn = 2, ; + BoundTo = .T., ; + ControlSource = "crsTarife.id_articol", ; + Enabled = .F., ; + FontSize = 10, ; + Height = 24, ; + Left = 48, ; + Name = "Combo1", ; + ReadOnly = .F., ; + RowSource = "select crsArticole.denumire, id_articol,um from crsArticole into cursor crsArticoleX order by denumire", ; + RowSourceType = 3, ; + Style = 2, ; + Top = 56, ; + Width = 100 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'Grid1.cArticol.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Articol", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cArticol.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cCant.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cantitate", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cCant.Text1' AS textbox WITH ; + BackColor = 205,230,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cCoefDiscount.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Coef. discount", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cCoefDiscount.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cExplicatie.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Explicatie", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cExplicatie.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cLocatia.Combo1' AS combobox WITH ; + BorderStyle = 0, ; + BoundColumn = 2, ; + BoundTo = .T., ; + ControlSource = "crsTarife.id_locatia", ; + Enabled = .F., ; + FontSize = 10, ; + Height = 24, ; + Left = 73, ; + Name = "Combo1", ; + RowSource = "select crsLocatii.denumire, id from crsLocatii into cursor crsLocatiiX order by denumire", ; + RowSourceType = 3, ; + Style = 2, ; + Top = 44, ; + Width = 100 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'Grid1.cLocatia.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Locatia", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cLocatia.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cPret.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cPret.Text1' AS textbox WITH ; + BackColor = 205,230,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cPretcuTVA.Check1' AS checkbox WITH ; + Alignment = 2, ; + BackStyle = 0, ; + Caption = "", ; + Enabled = .F., ; + FontSize = 10, ; + Height = 17, ; + Left = 39, ; + Name = "Check1", ; + ReadOnly = .F., ; + Top = 68, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'Grid1.cPretcuTVA.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pret cu TVA", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cPretcuTVA.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cProcTva._combobox1' AS _combobox WITH ; + BoundColumn = 2, ; + BoundTo = .T., ; + ControlSource = "crsTarife.proc_tvav", ; + Left = 62, ; + Name = "_combobox1", ; + RowSource = "select procent, proc_tva from crsCoteTVA order by proc_tva desc into cursor crsCoteTVAY", ; + RowSourceType = 3, ; + SpecialEffect = 1, ; + Top = 68 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="combobox" /> + + ADD OBJECT 'Grid1.cProcTva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cota TVA", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cProcTva.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cUM.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Um", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cUM.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cValDiscount.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Val. discount", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cValDiscount.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cValoare.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cValoare.Text1' AS textbox WITH ; + BackColor = 205,230,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cValuta.Combo1' AS combobox WITH ; + BorderStyle = 0, ; + BoundColumn = 2, ; + BoundTo = .T., ; + ControlSource = "crsTarife.id_valuta", ; + Enabled = .F., ; + FontSize = 10, ; + Height = 24, ; + Left = 28, ; + Name = "Combo1", ; + ReadOnly = .F., ; + RowSource = "select crsValute.nume_val, id_valuta from crsValute order by nume_val into cursor crsValuteX", ; + RowSourceType = 3, ; + Style = 2, ; + Top = 44, ; + Width = 100 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'Grid1.cValuta.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valuta", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cValuta.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid2' AS _grdbase WITH ; + Anchor = 5, ; + ColumnCount = 3, ; + DeleteMark = .F., ; + FontName = "Arial", ; + Height = 304, ; + lcamptextneeditabil = .F., ; + Left = 8, ; + Name = "Grid2", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordMark = .T., ; + RecordSource = "crsContracte", ; + RowHeight = 19, ; + TabIndex = 2, ; + Top = 87, ; + Width = 338, ; + ZOrderSet = 5, ; + Column1.ColumnOrder = 3, ; + Column1.ControlSource = "id_ctr", ; + Column1.FontName = "Arial", ; + Column1.FontSize = 10, ; + Column1.Name = "cIdCtr", ; + Column1.ReadOnly = .T., ; + Column1.Width = 60, ; + Column2.ColumnOrder = 1, ; + Column2.ControlSource = "denumire", ; + Column2.FontName = "Arial", ; + Column2.FontSize = 10, ; + Column2.Name = "cDenumire", ; + Column2.ReadOnly = .T., ; + Column2.Width = 198, ; + Column3.ColumnOrder = 2, ; + Column3.ControlSource = "numar", ; + Column3.FontName = "Arial", ; + Column3.FontSize = 10, ; + Column3.Name = "cNumar", ; + Column3.ReadOnly = .T., ; + Column3.Width = 82 + *< END OBJECT: ClassLib="..\comun\clase\_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'Grid2.cDenumire.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Client", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid2.cDenumire.Text1' AS textbox WITH ; + FontName = "Arial", ; + FontSize = 10, ; + Height = 23, ; + Left = 46, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255, ; + Top = 35, ; + Width = 100 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid2.cIdCtr.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid2.cIdCtr.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid2.cNumar.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Contract", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid2.cNumar.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Gridextra1' AS gridextra WITH ; + Left = 456, ; + Name = "Gridextra1", ; + productname = ROA, ; + Top = 156 + *< END OBJECT: ClassLib="..\comun\utile\gridextras\gridextras.vcx" BaseClass="custom" /> + + ADD OBJECT 'Gridextra2' AS gridextra WITH ; + gridexpression = Thisform.Grid2, ; + Left = 216, ; + Name = "Gridextra2", ; + productname = ROA, ; + Top = 132 + *< END OBJECT: ClassLib="..\comun\utile\gridextras\gridextras.vcx" BaseClass="custom" /> + + ADD OBJECT 'Sfsplitterh1' AS sfsplitterh WITH ; + Anchor = 5, ; + BackColor = 255,255,255, ; + cobject1name = Grid2, ; + cobject2name = Grid1, ; + Height = 302, ; + Left = 349, ; + Name = "Sfsplitterh1", ; + Top = 88, ; + Width = 8, ; + ZOrderSet = 15, ; + gripper.GripperDot1.Name = "GripperDot1", ; + gripper.GripperDot1.ShapeDark.Name = "ShapeDark", ; + gripper.GripperDot1.ShapeLight.Name = "ShapeLight", ; + gripper.GripperDot1.ShapeMiddle.Name = "ShapeMiddle", ; + gripper.GripperDot2.Name = "GripperDot2", ; + gripper.GripperDot2.ShapeDark.Name = "ShapeDark", ; + gripper.GripperDot2.ShapeLight.Name = "ShapeLight", ; + gripper.GripperDot2.ShapeMiddle.Name = "ShapeMiddle", ; + gripper.GripperDot3.Name = "GripperDot3", ; + gripper.GripperDot3.ShapeDark.Name = "ShapeDark", ; + gripper.GripperDot3.ShapeLight.Name = "ShapeLight", ; + gripper.GripperDot3.ShapeMiddle.Name = "ShapeMiddle", ; + gripper.GripperDot4.Name = "GripperDot4", ; + gripper.GripperDot4.ShapeDark.Name = "ShapeDark", ; + gripper.GripperDot4.ShapeLight.Name = "ShapeLight", ; + gripper.GripperDot4.ShapeMiddle.Name = "ShapeMiddle", ; + gripper.GripperDot5.Name = "GripperDot5", ; + gripper.GripperDot5.ShapeDark.Name = "ShapeDark", ; + gripper.GripperDot5.ShapeLight.Name = "ShapeLight", ; + gripper.GripperDot5.ShapeMiddle.Name = "ShapeMiddle", ; + gripper.Name = "gripper" + *< END OBJECT: ClassLib="..\comun\clase\sfsplitter.vcx" BaseClass="control" /> + + PROCEDURE actualizeaza_grid1 + LPARAMETERS tcFiltru + LOCAL lcFiltru + lcFiltru = IIF(!EMPTY(m.tcFiltru), m.tcFiltru, "") + + Thisform.lModificat = .F. + + Thisform.LockScreen=.T. + + SELECT crsTarife + SET FILTER TO &lcFiltru + Go Top + This.grid1.Refresh + Thisform.LockScreen=.F. + + ENDPROC + + PROCEDURE calculeazapreturirand + LPARAMETERS tlValoare + * tlValoare: Daca s-a modificat valoarea, se porneste calculul de la valoare si se modifica pretul. + + Local lcSelect, lnProcTvav + lcSelect = Select() + + Select crsTarife + lnProcTvav = IIF(NVL(proc_tvav,0) = -1, 0, proc_tvav) + IF m.tlValoare + Replace pret_unitar WITH ROUND(valoare / cant,4) + this.grid1.cPret.Refresh() + ELSE + Replace valoare With Round(pret_unitar * cant, m.gnPC) + this.grid1.cValoare.Refresh() + ENDIF + + Select (m.lcSelect) + ENDPROC + + PROCEDURE do_actualizare_cote_tva + Local llPastreazaPretcuTVA, lnCotaNoua, lnCotaVeche, lnPretFaraTVA, lnProcNoua, lnProcNouaDefault + Local lnProcVeche, lnProcVecheDefault, lnTVA, lnValoare + SET STEP ON + llPastreazaPretcuTVA = .T. && se pastreaza pretul cu TVA pentru tarifele cu TVA inclus + + lnProcVecheDefault = 19 + lnProcNouaDefault = 21 + + lnProcVeche = AINPUTBOX('Procent TVA vechi', 'Actualizare TVA', m.lnProcVecheDefault) + IF !EMPTY(m.lnProcVeche) + lnProcNoua = AINPUTBOX('Procent TVA nou', 'Actualizare TVA', m.lnProcNouaDefault) + IF !EMPTY(m.lnProcNoua) + llPastreazaPretcuTVA = (AMESSAGEBOX('Se pastreaza pretul cu TVA pentru tarifele cu TVA inclus?',4+32, 'Actualizare TVA') = 6) + ENDIF + ENDIF + + IF !EMPTY(m.lnProcVeche) AND !EMPTY(m.lnProcNoua) + lnCotaVeche = 1 + ROUND(m.lnProcVeche/100,2) + lnCotaNoua = 1 + ROUND(m.lnProcNoua/100,2) + * Actualizare tarife fara TVA inclus + UPDATE crsTarife SET modificat = 1, proc_tvav = m.lnCotaNoua WHERE proc_tvav = m.lnCotaVeche AND NVL(pret_cu_tva,0) = 0 + + * Actualizare tarife cu TVA inclus + IF m.llPastreazaPretCuTVA + * Se pastreaza preturile + UPDATE crsTarife SET modificat = 1, proc_tvav = m.lnCotaNoua WHERE proc_tvav = m.lnCotaVeche AND NVL(pret_cu_tva,0) = 1 + ELSE + * Se recalculeaza pretul cu TVA, pornind de la pretul fara TVA si procent TVA nou + SELECT crsTarife + SCAN FOR proc_tvav = m.lnCotaVeche AND NVL(pret_cu_tva,0) = 1 + lnTVA = pret_unitar * ROUND(m.lnProcVeche / 100, 4) + lnPretFaraTVA = pret_unitar - m.lnTVA + lnValoare = Round(m.lnPretFaraTVA * cant, m.gnPC) + REPLACE modificat WITH 1, proc_tvav WITH m.lnCotaNoua, pret_unitar WITH m.lnPretFaraTVA, valoare WITH m.lnValoare + ENDSCAN + ENDIF + + AMESSAGEBOX('Au fost actualizate cotele de TVA si preturile daca a fost cazul',0+64, 'Actualizare TVA') + ENDIF + + + + ENDPROC + + PROCEDURE do_adauga + Local lnCtrId + lnCtrId = Nvl(crsContracte.id_ctr, 0) + If Empty(m.lnCtrId) + Return + Endif + + Sele crsTarife + IF RECNO() > 0 + SCATTER NAME loRec MEMO + ELSE + SCATTER NAME loRec MEMO BLANK + ENDIF + + loRec.id_ctr = m.lnCtrId + APPEND blank + GATHER NAME loRec FIELDS EXCEPT id_ctr_art MEMO + + This.do_modifica() + + ENDPROC + + PROCEDURE do_cauta + Local lcfiltru, lcValoare + + lcfiltru='' + lcValoare = STRTRAN(ALLTRIM(UPPER(This.cb_tx_cautare1.TEXT.VALUE)),['],['']) + With This.cb_tx_cautare1 + If !Empty(.Text.Value) Or (Empty(.Text.Value) And .criteriu.Value = "6") + Do Case + Case .criteriu.Value = "1" + lcfiltru = lcfiltru + [LIKE('] + lcValoare + [*', denumire)] + Case .criteriu.Value = "2" + lcfiltru = lcfiltru + [denumire ='] + lcValoare + ['] + Case .criteriu.Value = "3" + lcfiltru = lcfiltru + [denumire !='] + lcValoare + ['] + Case .criteriu.Value = "4" + lcfiltru = lcfiltru + [LIKE('*] + lcValoare + [*', denumire)] + Case .criteriu.Value = "5" + lcfiltru = lcfiltru + [!LIKE('*] + lcValoare + [*', denumire)] + Case .criteriu.Value = "6" + lcfiltru = lcfiltru + [2=2] + Endcase + Endif + Endwith + + SELECT crsContracte + lnRecno = RECNO() + LOCATE FOR &lcFiltru + IF !FOUND() + GOTO m.lnRecno + ENDIF + this.grid2.SetFocus() + thisform.actualizeaza_grid1("id_ctr = " + ALLTRIM(STR(crsContracte.id_ctr))) + + ENDPROC + + PROCEDURE do_cauta_partener + ENDPROC + + PROCEDURE do_copiaza + Local lnCtrId, loContract, ldActivLaData, lnIdTipCtr, lnIdPart + lnCtrId = Nvl(crsTarife.id_ctr, 0) + ldActivLaData = DATE(m.gnAn, m.gnLuna, 1) + lnIdTipCtr = -1 + lnIdPart = 0 + If Empty(m.lnCtrId) + Return + Endif + + If AMESSAGEBOX('Doriti sa copiati tarifele contractului curent pe alt contract?', 4 + 32, _Screen.Caption) <> 6 + Return + Endif + + AMESSAGEBOX("Alegeti clientul destinatie, unde doriti sa copiati tarifele.", 0 + 64, _Screen.Caption) + + loContract = caut_contract_activ(-1, 0, m.ldActivLaData) + If Type('loContract') = 'O' And !Isnull(loContract) + Select * From crsTarife Where id_ctr = m.lnCtrId Into Cursor cTarifeTemp Readwrite + Update cTarifeTemp Set id_ctr = loContract.id_ctr, modificat = 1, id_ctr_art = 0 + + Select crsTarife + Append From Dbf('cTarifeTemp') + AMESSAGEBOX(Alltrim(Str(Reccount('cTarifeTemp'))) + ' inregistrari copiate.', 0 + 64, _Screen.Caption) + Endif + + Use In (Select('cTarifeTemp')) + ENDPROC + + PROCEDURE do_executa2 + ENDPROC + + PROCEDURE do_modifica + SELECT crsTarife + IF RECNO() > 0 + REPLACE modificat with 1 + thisform.nRecno=recno() + thisform.lModificat = .T. + ENDIF + thisform.grid1.setfocus + ENDPROC + + PROCEDURE do_sterge + IF AMESSAGEBOX('Doriti sa stergeti inregistrarea?',4+32,_screen.Caption) <> 6 + RETURN + ENDIF + SELECT crsTarife + REPLACE modificat with 1 + DELETE + TRY + SKIP -1 IN crsTarife + CATCH TO loEx + GO TOP IN crsTarife + ENDTRY + THISFORM.GRID1.SETFOCUS + ENDPROC + + PROCEDURE getcontracteclient + ENDPROC + + PROCEDURE Init + DODEFAULT() + thisform.gridextra1.setup() + thisform.gridextra2.setup() + thisform.actualizeaza_grid1("id_ctr = " + ALLTRIM(STR(crsContracte.id_ctr))) + thisform.cb_tx_cautare1.text.SetFocus() + this.WindowState = 2 + ENDPROC + + PROCEDURE lmodificat_assign + Lparameters tlModificat + Local llEnabled, llReadOnly + This.lModificat = tlModificat + llEnabled = m.tlModificat + llReadOnly = !m.tlModificat + With This.grid1 + .cLocatia.combo1.Enabled = m.llEnabled + .cArticol.combo1.Enabled = m.llEnabled + .cCant.ReadOnly = m.llReadOnly + .cUM.ReadOnly = .T. + .cPret.ReadOnly = m.llReadOnly + .cValuta.combo1.Enabled = m.llEnabled + .cValoare.ReadOnly = m.llReadOnly + .cCoefDiscount.ReadOnly = m.llReadOnly + .cValDiscount.ReadOnly = m.llReadOnly + .cPretcuTVA.check1.enabled = m.llEnabled + .cExplicatie.ReadOnly = m.llReadOnly + .cProcTva._combobox1.Enabled = m.llEnabled + Endwith + ENDPROC + + PROCEDURE Cb_tx_cautare1.Init + this.do_initializeaza_ct() + ENDPROC + + PROCEDURE Cb_tx_cautare1.Text.KeyPress + LPARAMETERS nKeyCode, nShiftAltCtrl + IF nKeyCode = 13 + THISFORM.DO_CAUTA() + NODEFAULT + ENDIF + ENDPROC + + PROCEDURE Grid1.AfterRowColChange + Lparameters nColIndex + * Daca sunt in modul editare si schimb randul, ies din modul editare + Local lnRecno + Select crsTarife + lnRecno = Recno() + + If Thisform.lModificat + If Thisform.nRecno != m.lnRecno + Thisform.lModificat = .F. + This.Refresh + Endif + Endif + + + ENDPROC + + PROCEDURE Grid1.cArticol.Combo1.Valid + REPLACE um WITH crsArticoleX.um IN crsTarife + thisform.grid1.cUm.Refresh() + ENDPROC + + PROCEDURE Grid1.cCant.Text1.LostFocus + IF crsTarife.cant <> Thisform.nCant + Thisform.CalculeazaPreturiRand() + ENDIF + ENDPROC + + PROCEDURE Grid1.cCant.Text1.When + Thisform.nCant = crsTarife.cant + ENDPROC + + PROCEDURE Grid1.cPret.Text1.LostFocus + IF crsTarife.pret_unitar <> Thisform.nPretUnitar + Thisform.CalculeazaPreturiRand() + ENDIF + ENDPROC + + PROCEDURE Grid1.cPret.Text1.When + Thisform.nPretUnitar = crsTarife.pret_unitar + ENDPROC + + PROCEDURE Grid1.cPretcuTVA.Check1.Valid + *!* IF NVL(crsTarife.pret_cu_tva,0) <> thisform.nPretCuTVA + *!* Thisform.CalculeazaPreturiRand() + *!* ENDIF + ENDPROC + + PROCEDURE Grid1.cPretcuTVA.Check1.When + Thisform.nPretCuTva = NVL(crsTarife.pret_cu_tva,0) + ENDPROC + + PROCEDURE Grid1.cProcTva._combobox1.Valid + IF NVL(crsTarife.proc_tvav,0) <> thisform.nProcTvav + Thisform.CalculeazaPreturiRand() + ENDIF + ENDPROC + + PROCEDURE Grid1.cProcTva._combobox1.When + Thisform.nProcTvav = crsTarife.proc_tvav + ENDPROC + + PROCEDURE Grid1.cValoare.Text1.LostFocus + IF crsTarife.valoare <> Thisform.nValoare + Thisform.CalculeazaPreturiRand(.T.) + ENDIF + ENDPROC + + PROCEDURE Grid1.cValoare.Text1.When + Thisform.nValoare = crsTarife.valoare + ENDPROC + + PROCEDURE Grid2.AfterRowColChange + LPARAMETERS nColIndex + + thisform.actualizeaza_grid1("id_ctr = " + ALLTRIM(STR(crsContracte.id_ctr))) + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_tarife_tranzit AS _frmbase OF "..\comun\clase\_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Grid2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid2.cIdCtr.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid2.cIdCtr.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid2.cDenumire.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid2.cDenumire.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid2.cNumar.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid2.cNumar.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cb_tx_cautare1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cTccap1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cTccap1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cTccap2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cTccap2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cGrupaMarfa.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cGrupaMarfa.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cGrupaMarfa.Combo1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cRuta.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cRuta.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cRuta.Combo1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cTcap2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cTcap2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cUM.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cUM.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cUM._combobox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cTcap1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cTcap1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cValuta.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cValuta.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cValuta.Combo1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cValoare.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cValoare.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cIntern.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cIntern.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cIntern.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cMarfa.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cMarfa.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cMarfa._combobox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cGrupaNave.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cGrupaNave.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cGrupaNave._combobox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cCodRuta.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Grid1.cCodRuta.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_copiaza1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_nou1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_modifica1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_sterge1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Gridextra1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Gridextra2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Sfsplitterh1" UniqueID="" Timestamp="" /> + + * + *m: do_cauta_partener + *m: do_executa2 + *m: getcontracteclient + *m: lmodificat_assign + *p: ccontractclient + *p: cdenumirebeneficiar + *p: cdenumireclient + *p: cvaloare_convoi + *p: cvaloare_finala + *p: cvaloare_minima_convoi + *p: lmodificat + *p: nrecno + *p: nreno + *p: nvalftva + *p: nvalval + * + + * + BorderStyle = 3 + bvizualizare = .T. + ccontractclient = + cdenumirebeneficiar = + cdenumireclient = + cvaloare_convoi = 0 + cvaloare_finala = 0 + cvaloare_minima_convoi = 0 + DoCreate = .T. + Height = 401 + lmodificat = .F. + Name = "frm_tarife_tranzit" + nrecno = 0 + nreno = 0 + nvalftva = 0 + nvalval = 0 + Width = 779 + WindowState = 2 + _memberdata = + + + + + + + + + + + + _shape1.Anchor = 10 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 780 + _shape1.ZOrderSet = 0 + _shape2.Left = 728 + _shape2.Name = "_shape2" + _shape2.Top = -1 + _shape2.ZOrderSet = 1 + Lb_titlu_alb_b121.Caption = "Tarife tranzit" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + Lb_titlu_alb_b121.TabIndex = 6 + Lb_titlu_alb_b121.ZOrderSet = 2 + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 748 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.TabIndex = 4 + BUT_TERMIN1.Top = 0 + BUT_TERMIN1.ZOrderSet = 3 + Gridsort1.Left = 0 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 403 + * + + ADD OBJECT '_label3' AS _label WITH ; + Caption = "Client", ; + Left = 10, ; + Name = "_label3", ; + TabIndex = 7, ; + Top = 35, ; + ZOrderSet = 7 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'But_copiaza1' AS but_copiaza WITH ; + Anchor = 8, ; + Left = 657, ; + Name = "But_copiaza1", ; + TabIndex = 8, ; + Top = 56, ; + ZOrderSet = 9 + *< END OBJECT: ClassLib="..\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_modifica1' AS but_modifica WITH ; + Anchor = 8, ; + Left = 713, ; + Name = "But_modifica1", ; + TabIndex = 10, ; + Top = 56, ; + ZOrderSet = 11 + *< END OBJECT: ClassLib="..\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_nou1' AS but_nou WITH ; + Anchor = 8, ; + Left = 685, ; + Name = "But_nou1", ; + TabIndex = 9, ; + Top = 56, ; + ZOrderSet = 10 + *< END OBJECT: ClassLib="..\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Anchor = 9, ; + Left = 720, ; + Name = "But_renunt1", ; + TabIndex = 5, ; + Top = 0, ; + ZOrderSet = 13 + *< END OBJECT: ClassLib="..\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_sterge1' AS but_sterge WITH ; + Anchor = 8, ; + Left = 740, ; + Name = "But_sterge1", ; + TabIndex = 11, ; + Top = 56, ; + ZOrderSet = 12 + *< END OBJECT: ClassLib="..\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cb_tx_cautare1' AS cb_tx_cautare WITH ; + Height = 27, ; + Left = 8, ; + Name = "Cb_tx_cautare1", ; + TabIndex = 1, ; + Top = 56, ; + Width = 304, ; + ZOrderSet = 6, ; + Text.Height = 25, ; + Text.Left = 103, ; + Text.Name = "Text", ; + Text.TabIndex = 1, ; + Text.Top = 1, ; + Text.Width = 197, ; + Criteriu.Name = "Criteriu", ; + Criteriu.TabIndex = 2 + *< END OBJECT: ClassLib="..\comun\clase\lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'Grid1' AS _grdbase WITH ; + Anchor = 15, ; + ColumnCount = 13, ; + DeleteMark = .F., ; + HeaderHeight = 39, ; + Height = 304, ; + lcamptextneeditabil = .F., ; + Left = 360, ; + Name = "Grid1", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordSource = "crsTarife", ; + RowHeight = 19, ; + TabIndex = 3, ; + Top = 87, ; + Width = 412, ; + ZOrderSet = 8, ; + Column1.ColumnOrder = 12, ; + Column1.ControlSource = "tccap1", ; + Column1.FontSize = 10, ; + Column1.Format = "RK", ; + Column1.InputMask = "999 999 999 999", ; + Column1.Name = "cTccap1", ; + Column1.ReadOnly = .T., ; + Column1.Width = 83, ; + Column2.ColumnOrder = 13, ; + Column2.ControlSource = "tccap2", ; + Column2.FontSize = 10, ; + Column2.Format = "RK", ; + Column2.InputMask = "999 999 999 999", ; + Column2.Name = "cTccap2", ; + Column2.ReadOnly = .T., ; + Column2.Width = 81, ; + Column3.Bound = .F., ; + Column3.ColumnOrder = 3, ; + Column3.ControlSource = "Iif(Seek(crsTarife.gdsg_id,'crsGrupeMarfa','id'),crsGrupeMarfa.grupa,'')", ; + Column3.CurrentControl = "Combo1", ; + Column3.FontSize = 10, ; + Column3.Name = "cGrupaMarfa", ; + Column3.ReadOnly = .F., ; + Column3.Sparse = .F., ; + Column3.Width = 109, ; + Column4.Bound = .F., ; + Column4.ColumnOrder = 2, ; + Column4.ControlSource = "Iif(Seek(crsTarife.rte_id,'crsRoutes','id'),crsRoutes.name,'')", ; + Column4.CurrentControl = "Combo1", ; + Column4.FontSize = 10, ; + Column4.Name = "cRuta", ; + Column4.ReadOnly = .F., ; + Column4.Sparse = .F., ; + Column4.Width = 120, ; + Column5.ColumnOrder = 11, ; + Column5.ControlSource = "tcap2", ; + Column5.FontSize = 10, ; + Column5.Format = "RK", ; + Column5.InputMask = "999 999", ; + Column5.Name = "cTcap2", ; + Column5.ReadOnly = .T., ; + Column5.Width = 64, ; + Column6.Bound = .F., ; + Column6.ColumnOrder = 6, ; + Column6.ControlSource = "Iif(Seek(crsTarife.vum_id,'crsVasUm','id'),crsVasUM.um,'')", ; + Column6.CurrentControl = "_combobox1", ; + Column6.FontSize = 10, ; + Column6.Name = "cUM", ; + Column6.ReadOnly = .T., ; + Column6.Width = 36, ; + Column7.ColumnOrder = 10, ; + Column7.ControlSource = "tcap1", ; + Column7.FontSize = 10, ; + Column7.Format = "RK", ; + Column7.InputMask = "999 999", ; + Column7.Name = "cTcap1", ; + Column7.ReadOnly = .T., ; + Column7.Width = 71, ; + Column8.Bound = .F., ; + Column8.ColumnOrder = 8, ; + Column8.ControlSource = "Iif(Seek(crsTarife.id_valuta,'crsValute','id_valuta'),crsValute.nume_val,'')", ; + Column8.CurrentControl = "Combo1", ; + Column8.FontSize = 10, ; + Column8.Name = "cValuta", ; + Column8.ReadOnly = .F., ; + Column8.Sparse = .F., ; + Column8.Width = 75, ; + Column9.ColumnOrder = 9, ; + Column9.ControlSource = "valoare", ; + Column9.FontSize = 10, ; + Column9.Format = "RK", ; + Column9.InputMask = (get_mask(12,4)), ; + Column9.Name = "cValoare", ; + Column9.ReadOnly = .T., ; + Column9.Width = 75, ; + Column10.ColumnOrder = 7, ; + Column10.ControlSource = "intern", ; + Column10.CurrentControl = "Check1", ; + Column10.FontSize = 10, ; + Column10.Name = "cIntern", ; + Column10.ReadOnly = .T., ; + Column10.Sparse = .F., ; + Column10.Width = 41, ; + Column11.Bound = .F., ; + Column11.ColumnOrder = 4, ; + Column11.ControlSource = "Iif(Seek(crsTarife.gds_id,'crsMarfa','id'),crsMarfa.marfa,'')", ; + Column11.CurrentControl = "_combobox1", ; + Column11.FontSize = 10, ; + Column11.Name = "cMarfa", ; + Column11.ReadOnly = .T., ; + Column11.Sparse = .F., ; + Column11.Width = 110, ; + Column12.Bound = .F., ; + Column12.ColumnOrder = 5, ; + Column12.ControlSource = "Iif(Seek(crsTarife.gtn_id,'crsGrupTipNave','id'),crsGrupTipNave.nume,'')", ; + Column12.CurrentControl = "_combobox1", ; + Column12.FontSize = 10, ; + Column12.Name = "cGrupaNave", ; + Column12.ReadOnly = .T., ; + Column12.Sparse = .F., ; + Column12.Width = 156, ; + Column13.ColumnOrder = 1, ; + Column13.ControlSource = "rte_id", ; + Column13.FontSize = 10, ; + Column13.Name = "cCodRuta", ; + Column13.ReadOnly = .T., ; + Column13.Width = 57 + *< END OBJECT: ClassLib="..\comun\clase\_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'Grid1.cCodRuta.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod ruta", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cCodRuta.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cGrupaMarfa.Combo1' AS combobox WITH ; + BorderStyle = 0, ; + BoundColumn = 2, ; + BoundTo = .T., ; + ControlSource = "crsTarife.gdsg_id", ; + Enabled = .F., ; + FontSize = 10, ; + Height = 24, ; + Left = 48, ; + Name = "Combo1", ; + ReadOnly = .F., ; + RowSource = "select crsGrupeMarfa.grupa, id from crsGrupeMarfa into cursor crsGrupeMarfaX order by id", ; + RowSourceType = 3, ; + Style = 2, ; + Top = 56, ; + Width = 100 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'Grid1.cGrupaMarfa.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Grupa marfa", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cGrupaMarfa.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cGrupaNave._combobox1' AS _combobox WITH ; + BorderStyle = 0, ; + BoundColumn = 2, ; + BoundTo = .T., ; + ControlSource = "crsTarife.gtn_id", ; + FontSize = 10, ; + Left = 31, ; + Name = "_combobox1", ; + RowSource = "select crsGrupTipNave.nume, id from crsGrupTipNave into cursor crsGrupTipNaveX order by nume", ; + RowSourceType = 3, ; + Top = 56 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="combobox" /> + + ADD OBJECT 'Grid1.cGrupaNave.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Grupa nave", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cGrupaNave.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cIntern.Check1' AS checkbox WITH ; + Alignment = 2, ; + BackStyle = 0, ; + Caption = "", ; + FontSize = 10, ; + Height = 17, ; + Left = 39, ; + Name = "Check1", ; + ReadOnly = .T., ; + Top = 68, ; + Width = 60 + *< END OBJECT: BaseClass="checkbox" /> + + ADD OBJECT 'Grid1.cIntern.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Intern", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cIntern.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cMarfa._combobox1' AS _combobox WITH ; + BorderStyle = 0, ; + BoundColumn = 2, ; + BoundTo = .T., ; + ControlSource = "crsTarife.gds_id", ; + FontSize = 10, ; + Left = 58, ; + Name = "_combobox1", ; + RowSource = "select crsMarfa.marfa, id from crsMarfa into cursor crsMarfaX order by id", ; + RowSourceType = 3, ; + Top = 56 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="combobox" /> + + ADD OBJECT 'Grid1.cMarfa.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Marfa", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cMarfa.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cRuta.Combo1' AS combobox WITH ; + BorderStyle = 0, ; + BoundColumn = 2, ; + BoundTo = .T., ; + ControlSource = "crsTarife.rte_id", ; + Enabled = .F., ; + FontSize = 10, ; + Height = 24, ; + Left = 73, ; + Name = "Combo1", ; + RowSource = "select crsRoutes.name, id from crsRoutes into cursor crsRoutesX order by id", ; + RowSourceType = 3, ; + Style = 2, ; + Top = 44, ; + Width = 100 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'Grid1.cRuta.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Ruta", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cRuta.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .F., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cTcap1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Capacitate minima", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cTcap1.Text1' AS textbox WITH ; + Alignment = 3, ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cTcap2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Capacitate maxima", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cTcap2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cTccap1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cap. min. cumulat", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cTccap1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cTccap2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cap. max. cumulat", ; + FontSize = 10, ; + Name = "Header1", ; + WordWrap = .T. + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cTccap2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cUM._combobox1' AS _combobox WITH ; + BorderStyle = 0, ; + BoundColumn = 2, ; + BoundTo = .T., ; + ControlSource = "crsTarife.vum_id", ; + FontSize = 10, ; + Left = 18, ; + Name = "_combobox1", ; + RowSource = "select crsVasUm.um,id from crsVasUm into cursor crsVasUmX order by um", ; + RowSourceType = 3, ; + Top = 80 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="combobox" /> + + ADD OBJECT 'Grid1.cUM.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Um", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cUM.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cValoare.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cValoare.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid1.cValuta.Combo1' AS combobox WITH ; + BorderStyle = 0, ; + BoundColumn = 2, ; + BoundTo = .T., ; + ControlSource = "crsTarife.id_valuta", ; + Enabled = .F., ; + FontSize = 10, ; + Height = 24, ; + Left = 28, ; + Name = "Combo1", ; + ReadOnly = .F., ; + RowSource = "select crsValute.nume_val, id_valuta from crsValute order by nume_val into cursor crsValuteX", ; + RowSourceType = 3, ; + Style = 2, ; + Top = 44, ; + Width = 100 + *< END OBJECT: BaseClass="combobox" /> + + ADD OBJECT 'Grid1.cValuta.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valuta", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid1.cValuta.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid2' AS _grdbase WITH ; + Anchor = 5, ; + ColumnCount = 3, ; + DeleteMark = .F., ; + Height = 304, ; + lcamptextneeditabil = .F., ; + Left = 8, ; + Name = "Grid2", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordMark = .T., ; + RecordSource = "crsContracte", ; + RowHeight = 19, ; + TabIndex = 2, ; + Top = 87, ; + Width = 338, ; + ZOrderSet = 5, ; + Column1.ColumnOrder = 3, ; + Column1.ControlSource = "id_ctr", ; + Column1.FontName = "Arial", ; + Column1.FontSize = 10, ; + Column1.Name = "cIdCtr", ; + Column1.ReadOnly = .T., ; + Column1.Width = 60, ; + Column2.ColumnOrder = 1, ; + Column2.ControlSource = "denumire", ; + Column2.FontName = "Arial", ; + Column2.FontSize = 10, ; + Column2.Name = "cDenumire", ; + Column2.ReadOnly = .T., ; + Column2.Width = 198, ; + Column3.ColumnOrder = 2, ; + Column3.ControlSource = "numar", ; + Column3.FontName = "Arial", ; + Column3.FontSize = 10, ; + Column3.Name = "cNumar", ; + Column3.ReadOnly = .T., ; + Column3.Width = 82 + *< END OBJECT: ClassLib="..\comun\clase\_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'Grid2.cDenumire.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Client", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid2.cDenumire.Text1' AS textbox WITH ; + FontName = "Arial", ; + FontSize = 10, ; + Height = 23, ; + Left = 46, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255, ; + Top = 35, ; + Width = 100 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid2.cIdCtr.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cod", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid2.cIdCtr.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Grid2.cNumar.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Contract", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'Grid2.cNumar.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Gridextra1' AS gridextra WITH ; + companyname = ROA, ; + gridexpression = Thisform.Grid1, ; + Left = 528, ; + Name = "Gridextra1", ; + Top = 216 + *< END OBJECT: ClassLib="..\comun\utile\gridextras\gridextras.vcx" BaseClass="custom" /> + + ADD OBJECT 'Gridextra2' AS gridextra WITH ; + companyname = ROA, ; + gridexpression = Thisform.Grid2, ; + Left = 252, ; + Name = "Gridextra2", ; + Top = 240 + *< END OBJECT: ClassLib="..\comun\utile\gridextras\gridextras.vcx" BaseClass="custom" /> + + ADD OBJECT 'Sfsplitterh1' AS sfsplitterh WITH ; + Anchor = 5, ; + BackColor = 255,255,255, ; + cobject1name = Grid2, ; + cobject2name = Grid1, ; + Height = 302, ; + Left = 350, ; + Name = "Sfsplitterh1", ; + Top = 89, ; + Width = 8, ; + ZOrderSet = 15, ; + gripper.GripperDot1.Name = "GripperDot1", ; + gripper.GripperDot1.ShapeDark.Name = "ShapeDark", ; + gripper.GripperDot1.ShapeLight.Name = "ShapeLight", ; + gripper.GripperDot1.ShapeMiddle.Name = "ShapeMiddle", ; + gripper.GripperDot2.Name = "GripperDot2", ; + gripper.GripperDot2.ShapeDark.Name = "ShapeDark", ; + gripper.GripperDot2.ShapeLight.Name = "ShapeLight", ; + gripper.GripperDot2.ShapeMiddle.Name = "ShapeMiddle", ; + gripper.GripperDot3.Name = "GripperDot3", ; + gripper.GripperDot3.ShapeDark.Name = "ShapeDark", ; + gripper.GripperDot3.ShapeLight.Name = "ShapeLight", ; + gripper.GripperDot3.ShapeMiddle.Name = "ShapeMiddle", ; + gripper.GripperDot4.Name = "GripperDot4", ; + gripper.GripperDot4.ShapeDark.Name = "ShapeDark", ; + gripper.GripperDot4.ShapeLight.Name = "ShapeLight", ; + gripper.GripperDot4.ShapeMiddle.Name = "ShapeMiddle", ; + gripper.GripperDot5.Name = "GripperDot5", ; + gripper.GripperDot5.ShapeDark.Name = "ShapeDark", ; + gripper.GripperDot5.ShapeLight.Name = "ShapeLight", ; + gripper.GripperDot5.ShapeMiddle.Name = "ShapeMiddle", ; + gripper.Name = "gripper" + *< END OBJECT: ClassLib="..\comun\clase\sfsplitter.vcx" BaseClass="control" /> + + PROCEDURE actualizeaza_grid1 + LPARAMETERS tcFiltru + LOCAL lcFiltru + lcFiltru = IIF(!EMPTY(m.tcFiltru), m.tcFiltru, "") + + Thisform.lModificat = .F. + + Thisform.LockScreen=.T. + + SELECT crsTarife + SET FILTER TO &lcFiltru + Go Top + This.grid1.Refresh + Thisform.LockScreen=.F. + + ENDPROC + + PROCEDURE do_adauga + Local lnCtrId + lnCtrId = Nvl(crsContracte.id_ctr, 0) + If Empty(m.lnCtrId) + Return + Endif + + Sele crsTarife + IF RECNO() > 0 + SCATTER NAME loRec MEMO + ELSE + SCATTER NAME loRec MEMO BLANK + ENDIF + + loRec.ctr_id = m.lnCtrId + APPEND blank + GATHER NAME loRec FIELDS EXCEPT id MEMO + + This.do_modifica() + + ENDPROC + + PROCEDURE do_cauta + Local lcfiltru, lcValoare + + lcfiltru='' + lcValoare = STRTRAN(ALLTRIM(UPPER(This.cb_tx_cautare1.TEXT.VALUE)),['],['']) + With This.cb_tx_cautare1 + If !Empty(.Text.Value) Or (Empty(.Text.Value) And .criteriu.Value = "6") + Do Case + Case .criteriu.Value = "1" + lcfiltru = lcfiltru + [LIKE('] + lcValoare + [*', denumire)] + Case .criteriu.Value = "2" + lcfiltru = lcfiltru + [denumire ='] + lcValoare + ['] + Case .criteriu.Value = "3" + lcfiltru = lcfiltru + [denumire !='] + lcValoare + ['] + Case .criteriu.Value = "4" + lcfiltru = lcfiltru + [LIKE('*] + lcValoare + [*', denumire)] + Case .criteriu.Value = "5" + lcfiltru = lcfiltru + [!LIKE('*] + lcValoare + [*', denumire)] + Case .criteriu.Value = "6" + lcfiltru = lcfiltru + [2=2] + Endcase + Endif + Endwith + + SELECT crsContracte + lnRecno = RECNO() + LOCATE FOR &lcFiltru + IF !FOUND() + GOTO m.lnRecno + ENDIF + this.grid2.SetFocus() + thisform.actualizeaza_grid1("ctr_id = " + ALLTRIM(STR(crsContracte.id_ctr))) + + ENDPROC + + PROCEDURE do_cauta_partener + ENDPROC + + PROCEDURE do_copiaza + Local lnCtrId, loContract, ldActivLaData, lnIdTipCtr, lnIdPart + lnCtrId = Nvl(crsTarife.ctr_id, 0) + ldActivLaData = DATE(m.gnAn, m.gnLuna, 1) + lnIdTipCtr = -1 + lnIdPart = 0 + If Empty(m.lnCtrId) + Return + Endif + + If AMESSAGEBOX('Doriti sa copiati tarifele contractului curent pe alt contract?', 4 + 32, _Screen.Caption) <> 6 + Return + Endif + + AMESSAGEBOX("Alegeti clientul destinatie, unde doriti sa copiati tarifele.", 0 + 64, _Screen.Caption) + + loContract = caut_contract_activ(-1, 0, m.ldActivLaData) + If Type('loContract') = 'O' And !Isnull(loContract) + Select * From crsTarife Where ctr_id = m.lnCtrId Into Cursor cTarifeTemp Readwrite + Update cTarifeTemp Set ctr_id = loContract.id_ctr, modificat = 1, id = 0 + + Select crsTarife + Append From Dbf('cTarifeTemp') + AMESSAGEBOX(Alltrim(Str(Reccount('cTarifeTemp'))) + ' inregistrari copiate.', 0 + 64, _Screen.Caption) + Endif + + Use In (Select('cTarifeTemp')) + ENDPROC + + PROCEDURE do_executa2 + ENDPROC + + PROCEDURE do_modifica + SELECT crsTarife + IF RECNO() > 0 + REPLACE modificat with 1 + thisform.nRecno=recno() + thisform.lModificat = .T. + ENDIF + thisform.grid1.setfocus + ENDPROC + + PROCEDURE do_sterge + IF AMESSAGEBOX('Doriti sa stergeti inregistrarea?',4+32,_screen.Caption) <> 6 + RETURN + ENDIF + SELECT crsTarife + REPLACE modificat with 1 + DELETE + TRY + SKIP -1 IN crsTarife + CATCH TO loEx + GO TOP IN crsTarife + ENDTRY + THISFORM.GRID1.SETFOCUS + ENDPROC + + PROCEDURE getcontracteclient + ENDPROC + + PROCEDURE Init + DODEFAULT() + thisform.gridextra1.setup() + thisform.gridextra2.setup() + thisform.actualizeaza_grid1("ctr_id = " + ALLTRIM(STR(crsContracte.id_ctr))) + thisform.cb_tx_cautare1.text.SetFocus() + this.WindowState = 2 + + ENDPROC + + PROCEDURE lmodificat_assign + Lparameters tlModificat + Local llEnabled, llReadOnly + This.lModificat = tlModificat + llEnabled = m.tlModificat + llReadOnly = !m.tlModificat + With This.grid1 + .cCodRuta.ReadOnly = m.llReadOnly + .cRuta.combo1.Enabled = m.llEnabled + .cGrupaMarfa.combo1.Enabled = m.llEnabled + .cMarfa._combobox1.Enabled = m.llEnabled + .cGrupaNave._combobox1.Enabled = m.llEnabled + .cUM._combobox1.Enabled = m.llEnabled + .cIntern.ReadOnly = m.llReadOnly + .cIntern.Check1.ReadOnly = m.llReadOnly + .cValoare.ReadOnly = m.llReadOnly + .cValuta.combo1.Enabled = m.llEnabled + .cTcap1.ReadOnly = m.llReadOnly + .cTcap2.ReadOnly = m.llReadOnly + .cTccap1.ReadOnly = m.llReadOnly + .cTccap2.ReadOnly = m.llReadOnly + Endwith + ENDPROC + + PROCEDURE Cb_tx_cautare1.Init + this.do_initializeaza_ct() + ENDPROC + + PROCEDURE Cb_tx_cautare1.Text.KeyPress + LPARAMETERS nKeyCode, nShiftAltCtrl + IF nKeyCode = 13 + THISFORM.DO_CAUTA() + NODEFAULT + ENDIF + ENDPROC + + PROCEDURE Grid1.AfterRowColChange + Lparameters nColIndex + * Daca sunt in modul editare si schimb randul, ies din modul editare + Local lnRecno + Select crsTarife + lnRecno = Recno() + + If Thisform.lModificat + If Thisform.nRecno != m.lnRecno + Thisform.lModificat = .F. + This.Refresh + Endif + ENDIF + + + ENDPROC + + PROCEDURE Grid2.AfterRowColChange + LPARAMETERS nColIndex + IF INLIST(this.RowColChange,1,3) + thisform.actualizeaza_grid1("ctr_id = " + ALLTRIM(STR(crsContracte.id_ctr))) + ENDIF + + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_tranzit AS _frmbase OF "..\comun\clase\_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Cb_tx_cautare1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_start_criterii1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_reset_criterii1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Gridextra1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="cmdCalculeaza" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cdatadecl.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cdatadecl.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cnumeconvoi.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cnumeconvoi.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cdeclcdt.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cdeclcdt.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.corig.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.corig.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cdest.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cdest.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cAles.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cAles.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cAles.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" /> + + * + *p: ntip && 0=tranzit, 1=cheiaj + * + + * + BorderStyle = 3 + DoCreate = .T. + Height = 460 + Name = "frm_tranzit" + ntip = 0 + Width = 792 + WindowState = 2 + _shape1.Anchor = 10 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 793 + _shape2.Left = 741 + _shape2.Name = "_shape2" + _shape2.Top = -1 + Lb_titlu_alb_b121.Caption = "Convoaie" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 761 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 1 + Gridsort1.Left = 780 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 449 + * + + ADD OBJECT '_label1' AS _label WITH ; + Caption = "Declaratia", ; + Left = 12, ; + Name = "_label1", ; + Top = 35 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'But_renunt1' AS but_renunt WITH ; + Anchor = 9, ; + Left = 733, ; + Name = "But_renunt1", ; + Top = 1 + *< END OBJECT: ClassLib="..\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_reset_criterii1' AS but_reset_criterii WITH ; + Anchor = 9, ; + Left = 674, ; + Name = "But_reset_criterii1", ; + Top = 1, ; + Visible = .T. + *< END OBJECT: ClassLib="..\..\roafacturare\comun\clase\ocriterii.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_start_criterii1' AS but_start_criterii WITH ; + Anchor = 9, ; + Comment = "*:OnResize=RT", ; + Left = 703, ; + Name = "But_start_criterii1", ; + Top = 1 + *< END OBJECT: ClassLib="..\..\roafacturare\comun\clase\ocriterii.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cb_tx_cautare1' AS cb_tx_cautare WITH ; + Height = 27, ; + Left = 10, ; + Name = "Cb_tx_cautare1", ; + Top = 54, ; + Width = 210, ; + Text.Height = 25, ; + Text.Left = 103, ; + Text.Name = "Text", ; + Text.Top = 1, ; + Text.Width = 100, ; + criteriu.Name = "criteriu" + *< END OBJECT: ClassLib="..\comun\clase\lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'cmdCalculeaza' AS cmd_executa WITH ; + Anchor = 8, ; + AutoSize = .T., ; + Caption = "\ + + ADD OBJECT 'grdTranzit' AS _grdbase WITH ; + Anchor = 15, ; + BackColor = 255,255,255, ; + ColumnCount = 6, ; + DeleteMark = .F., ; + GridLineColor = 192,192,192, ; + Height = 360, ; + Left = 12, ; + Name = "grdTranzit", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordMark = .T., ; + RecordSource = "crsConvoaie", ; + TabIndex = 5, ; + Top = 84, ; + Width = 771, ; + Column1.BackColor = 255,255,255, ; + Column1.ColumnOrder = 3, ; + Column1.ControlSource = "crsConvoaie.generation", ; + Column1.FontName = "Arial", ; + Column1.Name = "cdatadecl", ; + Column1.ReadOnly = .T., ; + Column1.Width = 68, ; + Column2.BackColor = 255,255,255, ; + Column2.ColumnOrder = 4, ; + Column2.ControlSource = "crsConvoaie.convoy_nam", ; + Column2.FontName = "Arial", ; + Column2.Name = "cnumeconvoi", ; + Column2.ReadOnly = .T., ; + Column2.Width = 144, ; + Column3.BackColor = 255,255,255, ; + Column3.ColumnOrder = 2, ; + Column3.ControlSource = "crsConvoaie.declaratio", ; + Column3.FontName = "Arial", ; + Column3.Name = "cdeclcdt", ; + Column3.ReadOnly = .T., ; + Column3.Width = 68, ; + Column4.BackColor = 255,255,255, ; + Column4.ColumnOrder = 5, ; + Column4.ControlSource = "crsConvoaie.origin", ; + Column4.FontName = "Arial", ; + Column4.Name = "corig", ; + Column4.ReadOnly = .T., ; + Column4.Width = 92, ; + Column5.BackColor = 255,255,255, ; + Column5.ColumnOrder = 6, ; + Column5.ControlSource = "crsConvoaie.destinatio", ; + Column5.FontName = "Arial", ; + Column5.Name = "cdest", ; + Column5.ReadOnly = .T., ; + Column5.Width = 99, ; + Column6.BackColor = 255,255,255, ; + Column6.ColumnOrder = 1, ; + Column6.ControlSource = "crsConvoaie.ales", ; + Column6.CurrentControl = "Check1", ; + Column6.Name = "cAles", ; + Column6.ReadOnly = .F., ; + Column6.Sparse = .F., ; + Column6.Width = 28 + *< END OBJECT: ClassLib="..\comun\clase\_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grdTranzit.cAles.Check1' AS _checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + ControlSource = "ales", ; + Left = 13, ; + Name = "Check1", ; + ReadOnly = .F., ; + Top = 47 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'grdTranzit.cAles.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Ales", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cAles.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cdatadecl.Header1' AS header WITH ; + Caption = "Data decl.", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cdatadecl.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cdeclcdt.Header1' AS header WITH ; + Caption = "Declaratia", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cdeclcdt.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cdest.Header1' AS header WITH ; + Caption = "Destinatie", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cdest.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cnumeconvoi.Header1' AS header WITH ; + Caption = "Convoi", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cnumeconvoi.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.corig.Header1' AS header WITH ; + Caption = "Plecare", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.corig.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Gridextra1' AS gridextra WITH ; + gridexpression = Thisform.grdTranzit, ; + Left = 265, ; + Name = "Gridextra1", ; + Top = 45 + *< END OBJECT: ClassLib="..\comun\utile\gridextras\gridextras.vcx" BaseClass="custom" /> + + PROCEDURE Activate + * + ENDPROC + + PROCEDURE actualizeaza_grid1 + LPARAMETERS tcFiltru + LOCAL lcFiltru + lcFiltru = IIF(!EMPTY(m.tcFiltru), m.tcFiltru, "") + + Thisform.LockScreen=.F. + This.grdTranzit.RecordSource='' + + poConvoaie.ca_baza1.cfiltru = m.lcFiltru + poConvoaie.ca_baza1.afisare() + + SELECT crsConvoaie + Go Top + + With This.grdTranzit + .RecordSource='crsConvoaie' + .cAles.ControlSource='crsConvoaie.ales' + .cdeclcdt.ControlSource='crsConvoaie.declaratio' + .cdatadecl.ControlSource='crsConvoaie.generation' + .corig.ControlSource='crsConvoaie.origin' + .cdest.ControlSource='crsConvoaie.destinatio' + .cnumeconvoi.ControlSource="crsConvoaie.convoy_nam" + Endwith + + This.grdTranzit.Refresh + Thisform.LockScreen=.F. + + ENDPROC + + PROCEDURE do_cauta + LOCAL lcfiltru, lcval1, lcColoana, lcVyeIds + + IF Empty(This.cb_tx_cautare1.Text.Value) AND LEN(THISFORM.filtru_pretty)=0 + AMESSAGEBOX('Alegeti un criteriu de cautare!',0+48,_screen.Caption) + RETURN + ENDIF + + lcfiltru='' + lcColoana = "declaratio" + With This.cb_tx_cautare1 + lcval1 = Strtran(Alltrim(Upper(.Text.Value)),['],['']) + Do Case + Case .criteriu.Value = "1" And !Empty(.Text.Value) + lcfiltru = Alltrim(Upper(lcColoana)) + [ LIKE '] + lcval1 + [%'] + Case .criteriu.Value = "2" And !Empty(.Text.Value) + lcfiltru = Alltrim(Upper(lcColoana)) + [ ='] + lcval1 + ['] + Case .criteriu.Value = "3" And !Empty(.Text.Value) + lcfiltru = Alltrim(Upper(lcColoana)) + [ !='] + lcval1 + ['] + Case .criteriu.Value = "4" And !Empty(.Text.Value) + lcfiltru = Alltrim(Upper(lcColoana)) + [ LIKE '%] + lcval1 + [%'] + Case .criteriu.Value = "5" And !Empty(.Text.Value) + lcfiltru = Alltrim(Upper(lcColoana)) + [ NOT LIKE '%] + lcval1 + [%'] + Case .criteriu.Value = "6" + lcfiltru = [2=2] + Endcase + Endwith + + lcFiltru = "(" + m.lcFiltru + + + * Filtru ales = 1 (Voiajele ales = 1 vreau sa le aduc si pe ele in cautare si sa le bifez ales=1 dupa cautare) + lcVyeIds = '' + CREATE CURSOR cVoyagesAlesTemp (vye_id C(36)) + + SELECT crsConvoaie + SCAN FOR ales = 1 + lcVyeId = crsConvoaie.vye_id + INSERT INTO cVoyagesAlesTemp (vye_id) VALUES (m.lcVyeId) + lcVyeIds = lcVyeIds + [,'] + ALLTRIM(vye_id) + ['] + ENDSCAN + IF !EMPTY(m.lcVyeIds) + lcVyeIds = SUBSTR(m.lcVyeIds,2) + lcFiltru = m.lcFiltru + [ or vye_id in (] + m.lcVyeIds + [)] + ENDIF + + lcFiltru = lcFiltru + ")" + + * Filtre buton cautare + IF LEN(THISFORM.filtru_pretty)>0 + lcFiltru = m.lcFiltru + " and (" + ALLTRIM(THISFORM.filtru_pretty) + ")" + ENDIF + + If Empty(m.lcFiltru) + aMessagebox("Alegeti un criteriu!",0+48,"Atentie") + This.cb_tx_cautare1.criteriu.SetFocus() + Return + Endif + + + IF !EMPTY(m.lcFiltru) AND ALLTRIM(LEFT(LOWER(m.lcFiltru),5)) = "and" + lcFiltru = SUBSTR(m.lcFiltru, 6) + ENDIF + + IF !EMPTY(m.lcFiltru) + THISFORM.actualizeaza_grid1(lcFiltru) + IF RECCOUNT('crsConvoaie')=0 + aMessagebox("Cautarea nu a intors rezultate!",0+48,"Info cautare") + This.cb_tx_cautare1.criteriu.SetFocus() + ELSE + UPDATE crsConvoaie SET ales = 1 WHERE vye_id in (select vye_id from cVoyagesAlesTemp ) + GO TOP IN crsConvoaie + this.grdTranzit.SetFocus() + ENDIF + ENDIF + + USE IN (SELECT('cVoyagesAlesTemp')) + SELECT crsConvoaie + + Return m.lcFiltru + + ENDPROC + + PROCEDURE do_executa + LOCAL lcVyeId, llSucces, lcVyeIds + llSucces = .F. + lcVyeIds = '' + SELECT crsConvoaie + lcVyeId = ['] + ALLTRIM(NVL(crsConvoaie.vye_id,'')) + ['] + SCAN FOR ales = 1 + lcVyeIds = lcVyeIds + [,'] + ALLTRIM(vye_id) + ['] + ENDSCAN + IF EMPTY(m.lcVyeIds) + lcVyeIds = m.lcVyeId + ELSE + lcVyeIds = SUBSTR(m.lcVyeIds,2) + ENDIF + + IF !EMPTY(m.lcVyeIds) + + * Verific daca mai exista facturi pe convoaiele selectate + Text To lcSql Textmerge Noshow + SELECT numar_act, data_act, client FROM ips_vvoyages_vanzari WHERE vye_id in (<>) AND numar_act is NOT null ORDER BY client, data_act, numar_act + ENDTEXT + + llSucces = goExecutor.oExecuta(m.lcSql, 'cFacturiTranzitTemp') + IF m.llSucces + IF RECCOUNT('cFacturiTranzitTemp') > 0 + lcMesaj = 'Atentie! Exista facturi pe tranzitele alese!' + CHR(13) + CHR(10) + SELECT cFacturiTranzitTemp + SCAN + lcMesaj = lcMesaj + TRANSFORM(numar_act) + ' ' + DTOC(TTOD(data_act)) + ' ' + ALLTRIM(client) + CHR(13) + CHR(10) + ENDSCAN + + AMESSAGEBOX(m.lcMesaj,0+48,_screen.Caption) + ENDIF + ENDIF + USE IN (SELECT('cFacturiTranzitTemp')) + + IF this.nTip = 0 + llSucces = calcul_tranzit(m.lcVyeIds) && IN proceduri_acnpro.prg + ELSE + llSucces = calcul_cheiaj(m.lcVyeIds) && IN proceduri_acnpro.prg + ENDIF + + This.but_termin1.Enabled = m.llSucces + IF m.llSucces + This.do_termin() + ENDIF + ENDIF + + + ENDPROC + + PROCEDURE Init + LPARAMETERS tnTip, tnMod + * tnTIp: 0 = TRANZIT, 1 = CHEIAJ + * tnMod: 0/1 = APELAT DIN FACTURA, 2 = VIZUALIZARE DIRECT + DODEFAULT() + + this.nTip = m.tnTip + this.cb_tx_cautare1.criteriu.Value = "2" && Este + this.cb_tx_cautare1.text.SetFocus() + lnMod = IIF(TYPE('tnMod') = 'N', m.lnMod, 1) + this.cmdCalculeaza.Visible = INLIST(m.lnMod,0,1) + This.but_termin1.Enabled = !INLIST(m.lnMod,0,1) && dezactivez butonul Termin. Il activez dupa ce am un calcul Tranzit/Cheiaj cu succes + + this.WindowState = 2 + this.gridextra1.setup() + ENDPROC + + PROCEDURE KeyPress + Lparameters nKeyCode, nShiftAltCtrl + If Lower(This.ActiveControl.Name) = 'grdtranzit' And m.nKeyCode = 13 && Enter + This.cmdCalculeaza.SetFocus() + Nodefault + Else + DoDefault(m.nKeyCode, m.nShiftAltCtrl) + Endif + + ENDPROC + + PROCEDURE But_start_criterii1.loadcriterii + + PARAMETERS tacriterii + EXTERNAL ARRAY tacriterii + #DEFINE crlf CHR(13)+CHR(10) + *!* DEBUG + *!* SUSPEND + lcStringCriterii="Declaratia\declaratio\T\none\"+ crlf + ; + "Data decl.\generation\D\none\" + crlf + ; + "Convoi\convoy_nam\T\none\"+ crlf + ; + "Plecare\origin\T\none\"+ crlf + ; + "Destinatie\destinatio\T\none\" + + DODEFAULT() + + ENDPROC + + PROCEDURE Cb_tx_cautare1.Text.KeyPress + LPARAMETERS nKeyCode, nShiftAltCtrl + IF nKeyCode = 13 + THISFORM.DO_CAUTA() + NODEFAULT + ENDIF + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_tranzit_facturi AS _frmbase OF "..\comun\clase\_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Cb_tx_cautare1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_label1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_start_criterii1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_reset_criterii1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Gridextra1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cdatadecl.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cdatadecl.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cnumeconvoi.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cnumeconvoi.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cdeclcdt.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cdeclcdt.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.corig.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.corig.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cdest.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cdest.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cnrfact.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cnrfact.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cdatafact.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cdatafact.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cValftva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cValftva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cClient.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cClient.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cAles.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cAles.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cAles.Check1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cSerieFact.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cSerieFact.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cBeneficiar.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cBeneficiar.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cDocument.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cDocument.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cContractClient.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cContractClient.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cTipFactura.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cTipFactura.Text1" UniqueID="" Timestamp="" /> + + * + *p: ntip && 0=tranzit, 1=cheiaj + * + + * + BorderStyle = 3 + DoCreate = .T. + Height = 460 + Name = "frm_tranzit_facturi" + ntip = 0 + Width = 792 + WindowState = 2 + _shape1.Anchor = 10 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 793 + _shape2.Left = 741 + _shape2.Name = "_shape2" + _shape2.Top = -1 + Lb_titlu_alb_b121.Caption = "Convoaie" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 761 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 1 + Gridsort1.Left = 780 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 449 + * + + ADD OBJECT '_label1' AS _label WITH ; + Caption = "Declaratia", ; + Left = 12, ; + Name = "_label1", ; + Top = 42 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="label" /> + + ADD OBJECT 'But_reset_criterii1' AS but_reset_criterii WITH ; + Anchor = 9, ; + Left = 703, ; + Name = "But_reset_criterii1", ; + Top = 1, ; + Visible = .T. + *< END OBJECT: ClassLib="..\..\roafacturare\comun\clase\ocriterii.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_start_criterii1' AS but_start_criterii WITH ; + Anchor = 9, ; + Comment = "*:OnResize=RT", ; + Left = 732, ; + Name = "But_start_criterii1", ; + Top = 1 + *< END OBJECT: ClassLib="..\..\roafacturare\comun\clase\ocriterii.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'Cb_tx_cautare1' AS cb_tx_cautare WITH ; + Height = 27, ; + Left = 78, ; + Name = "Cb_tx_cautare1", ; + Top = 37, ; + Width = 210, ; + Text.Height = 25, ; + Text.Left = 103, ; + Text.Name = "Text", ; + Text.Top = 1, ; + Text.Width = 100, ; + criteriu.Name = "criteriu" + *< END OBJECT: ClassLib="..\comun\clase\lb_tx.vcx" BaseClass="container" /> + + ADD OBJECT 'grdTranzit' AS _grdbase WITH ; + Anchor = 15, ; + BackColor = 255,255,255, ; + ColumnCount = 15, ; + DeleteMark = .F., ; + GridLineColor = 192,192,192, ; + Height = 384, ; + Left = 12, ; + Name = "grdTranzit", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordMark = .T., ; + RecordSource = "crsConvoaie", ; + TabIndex = 5, ; + Top = 69, ; + Width = 771, ; + Column1.BackColor = 255,255,255, ; + Column1.ColumnOrder = 11, ; + Column1.ControlSource = "crsConvoaie.generation", ; + Column1.FontName = "Arial", ; + Column1.Name = "cdatadecl", ; + Column1.ReadOnly = .T., ; + Column1.Width = 75, ; + Column2.BackColor = 255,255,255, ; + Column2.ColumnOrder = 12, ; + Column2.ControlSource = "crsConvoaie.convoy_nam", ; + Column2.FontName = "Arial", ; + Column2.Name = "cnumeconvoi", ; + Column2.ReadOnly = .T., ; + Column2.Width = 144, ; + Column3.BackColor = 255,255,255, ; + Column3.ColumnOrder = 10, ; + Column3.ControlSource = "crsConvoaie.declaratio", ; + Column3.FontName = "Arial", ; + Column3.Name = "cdeclcdt", ; + Column3.ReadOnly = .T., ; + Column3.Width = 68, ; + Column4.BackColor = 255,255,255, ; + Column4.ColumnOrder = 14, ; + Column4.ControlSource = "crsConvoaie.origin", ; + Column4.FontName = "Arial", ; + Column4.Name = "corig", ; + Column4.ReadOnly = .T., ; + Column4.Width = 92, ; + Column5.BackColor = 255,255,255, ; + Column5.ColumnOrder = 15, ; + Column5.ControlSource = "crsConvoaie.destinatio", ; + Column5.FontName = "Arial", ; + Column5.Name = "cdest", ; + Column5.ReadOnly = .T., ; + Column5.Width = 99, ; + Column6.BackColor = 255,255,255, ; + Column6.ColumnOrder = 3, ; + Column6.ControlSource = "crsConvoaie.numar_act", ; + Column6.FontName = "Arial", ; + Column6.Name = "cnrfact", ; + Column6.ReadOnly = .T., ; + Column6.Width = 87, ; + Column7.Alignment = 6, ; + Column7.BackColor = 255,255,255, ; + Column7.ColumnOrder = 4, ; + Column7.ControlSource = "TTOD(crsConvoaie.data_act)", ; + Column7.FontName = "Arial", ; + Column7.Name = "cdatafact", ; + Column7.ReadOnly = .T., ; + Column7.Width = 85, ; + Column8.BackColor = 255,255,255, ; + Column8.ColumnOrder = 8, ; + Column8.ControlSource = "crsConvoaie.total_fara_tva", ; + Column8.FontName = "Arial", ; + Column8.Format = "Rk", ; + Column8.InputMask = (get_mask(12,gnZ)), ; + Column8.Name = "cValftva", ; + Column8.ReadOnly = .T., ; + Column8.Width = 101, ; + Column9.BackColor = 255,255,255, ; + Column9.ColumnOrder = 5, ; + Column9.ControlSource = "crsConvoaie.client", ; + Column9.FontName = "Arial", ; + Column9.Name = "cClient", ; + Column9.ReadOnly = .T., ; + Column9.Width = 263, ; + Column10.BackColor = 255,255,255, ; + Column10.ColumnOrder = 1, ; + Column10.ControlSource = "crsConvoaie.ales", ; + Column10.CurrentControl = "Check1", ; + Column10.Name = "cAles", ; + Column10.ReadOnly = .F., ; + Column10.Sparse = .F., ; + Column10.Width = 28, ; + Column11.BackColor = 255,255,255, ; + Column11.ColumnOrder = 2, ; + Column11.ControlSource = "crsConvoaie.serie_act", ; + Column11.Name = "cSerieFact", ; + Column11.ReadOnly = .T., ; + Column11.Width = 79, ; + Column12.BackColor = 255,255,255, ; + Column12.ColumnOrder = 7, ; + Column12.ControlSource = "crsConvoaie.beneficiar", ; + Column12.Name = "cBeneficiar", ; + Column12.ReadOnly = .T., ; + Column12.Width = 170, ; + Column13.BackColor = 255,255,255, ; + Column13.ColumnOrder = 13, ; + Column13.ControlSource = "crsConvoaie.document", ; + Column13.Name = "cDocument", ; + Column13.ReadOnly = .T., ; + Column14.BackColor = 255,255,255, ; + Column14.ColumnOrder = 6, ; + Column14.ControlSource = "crsConvoaie.contract_client", ; + Column14.Name = "cContractClient", ; + Column14.ReadOnly = .T., ; + Column14.Width = 133, ; + Column15.BackColor = 255,255,255, ; + Column15.ColumnOrder = 9, ; + Column15.ControlSource = "ctip_factura", ; + Column15.Name = "cTipFactura", ; + Column15.ReadOnly = .T., ; + Column15.Width = 118 + *< END OBJECT: ClassLib="..\comun\clase\_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grdTranzit.cAles.Check1' AS _checkbox WITH ; + Alignment = 0, ; + Caption = "", ; + ControlSource = "ales", ; + Left = 13, ; + Name = "Check1", ; + ReadOnly = .F., ; + Top = 47 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'grdTranzit.cAles.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Ales", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cAles.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cBeneficiar.Header1' AS header WITH ; + Alignment = 2, ; + BackColor = 240,240,240, ; + Caption = "Beneficiar", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cBeneficiar.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cClient.Header1' AS header WITH ; + Caption = "Client", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cClient.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cContractClient.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Contract", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cContractClient.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cdatadecl.Header1' AS header WITH ; + Caption = "Data decl.", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cdatadecl.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cdatafact.Header1' AS header WITH ; + Caption = "Data factura", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cdatafact.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cdeclcdt.Header1' AS header WITH ; + Caption = "Declaratia", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cdeclcdt.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cdest.Header1' AS header WITH ; + Caption = "Destinatie", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cdest.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cDocument.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Document", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cDocument.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cnrfact.Header1' AS header WITH ; + Caption = "Numar factura", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cnrfact.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cnumeconvoi.Header1' AS header WITH ; + Caption = "Convoi", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cnumeconvoi.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.corig.Header1' AS header WITH ; + Caption = "Plecare", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.corig.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cSerieFact.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Serie factura", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cSerieFact.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cTipFactura.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Tip", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cTipFactura.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cValftva.Header1' AS header WITH ; + Caption = "Valoare (fara TVA)", ; + FontName = "Arial", ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cValftva.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Gridextra1' AS gridextra WITH ; + gridexpression = Thisform.grdTranzit, ; + Left = 432, ; + Name = "Gridextra1", ; + Top = 48 + *< END OBJECT: ClassLib="..\comun\utile\gridextras\gridextras.vcx" BaseClass="custom" /> + + PROCEDURE Activate + * + ENDPROC + + PROCEDURE actualizeaza_grid1 + LPARAMETERS tcFiltru + LOCAL lcFiltru + lcFiltru = IIF(!EMPTY(m.tcFiltru), m.tcFiltru, "") + + Thisform.LockScreen=.F. + This.grdTranzit.RecordSource='' + + poConvoaie.ca_baza1.cfiltru = m.lcFiltru + poConvoaie.ca_baza1.afisare() + + SELECT crsConvoaie + Go Top + + With This.grdTranzit + .RecordSource='crsConvoaie' + .cAles.ControlSource='crsConvoaie.ales' + .cSerieFact.ControlSource='crsConvoaie.serie_act' + .cnrfact.ControlSource='crsConvoaie.numar_act' + .cdatafact.ControlSource='TTOD(crsConvoaie.data_act)' + .cdeclcdt.ControlSource='crsConvoaie.declaratio' + .cdatadecl.ControlSource='crsConvoaie.generation' + .cDocument.ControlSource='crsConvoaie.document' + .corig.ControlSource='crsConvoaie.origin' + .cdest.ControlSource='crsConvoaie.destinatio' + .cnumeconvoi.ControlSource="crsConvoaie.convoy_nam" + .cvalftva.ControlSource="crsConvoaie.total_fara_tva" + .cClient.ControlSource="crsConvoaie.client" + .cContractClient.ControlSource="crsConvoaie.contract_client" + .cBeneficiar.ControlSource="crsConvoaie.beneficiar" + .cTipFactura.ControlSource="crsConvoaie.ctip_factura" + Endwith + + This.grdTranzit.Refresh + Thisform.LockScreen=.F. + + ENDPROC + + PROCEDURE do_cauta + LOCAL lcfiltru, lcval1, lcColoana, ldData1, ldData2 + + lcfiltru='' + lcColoana = "declaratio" + With This.cb_tx_cautare1 + lcval1 = Strtran(Alltrim(Upper(.Text.Value)),['],['']) + Do Case + Case .criteriu.Value = "1" And !Empty(.Text.Value) + lcfiltru = Alltrim(Upper(lcColoana)) + [ LIKE '] + lcval1 + [%'] + Case .criteriu.Value = "2" And !Empty(.Text.Value) + lcfiltru = Alltrim(Upper(lcColoana)) + [ ='] + lcval1 + ['] + Case .criteriu.Value = "3" And !Empty(.Text.Value) + lcfiltru = Alltrim(Upper(lcColoana)) + [ !='] + lcval1 + ['] + Case .criteriu.Value = "4" And !Empty(.Text.Value) + lcfiltru = Alltrim(Upper(lcColoana)) + [ LIKE '%] + lcval1 + [%'] + Case .criteriu.Value = "5" And !Empty(.Text.Value) + lcfiltru = Alltrim(Upper(lcColoana)) + [ NOT LIKE '%] + lcval1 + [%'] + Case .criteriu.Value = "6" + lcfiltru = [] + Endcase + Endwith + + + * DACA FILTRUL NU CONTINE DATA_ACT, SELECTEZ DOAR INREGISTRARILE DIN LUNA CURENTA + ldData1 = DATE(m.gnAn, m.gnLuna, 1) + ldData2 = GOMONTH(m.ldData1,1) - 1 + + IF !(' DATA_ACT '$upper(THISFORM.filtru_pretty)) + lcFiltru = m.lcFiltru + [ and data_act between to_date('] + DTOC(m.ldData1,1) + [', 'yyyymmdd') and to_date('] + DTOC(m.ldData2,1) + [', 'yyyymmdd')] + ENDIF + + * Filtre buton cautare + IF LEN(THISFORM.filtru_pretty)>0 + lcFiltru = m.lcFiltru + " and (" + ALLTRIM(THISFORM.filtru_pretty) + ")" + ENDIF + + If Empty(m.lcFiltru) + aMessagebox("Alegeti un criteriu!",0+48,"Atentie") + This.cb_tx_cautare1.criteriu.SetFocus() + Return + Endif + + IF !EMPTY(m.lcFiltru) AND LEFT(LOWER(ALLTRIM(m.lcFiltru)),3) = "and" + lcFiltru = SUBSTR(ALLTRIM(m.lcFiltru),4) + ENDIF + + IF !EMPTY(m.lcFiltru) + THISFORM.actualizeaza_grid1(lcFiltru) + ENDIF + + SELECT crsConvoaie + + Return m.lcFiltru + + ENDPROC + + PROCEDURE Init + LPARAMETERS tnTip, tnMod + * tnTIp: 0 = TRANZIT, 1 = CHEIAJ + * tnMod: 0/1 = APELAT DIN FACTURA, 2 = VIZUALIZARE DIRECT + DODEFAULT() + + this.nTip = m.tnTip + this.cb_tx_cautare1.criteriu.Value = "2" && Este + this.cb_tx_cautare1.text.SetFocus() + + this.WindowState = 2 + this.gridextra1.setup() + + ENDPROC + + PROCEDURE Show + LPARAMETERS nStyle + DODEFAULT(nStyle) + This.do_cauta() + + ENDPROC + + PROCEDURE But_start_criterii1.loadcriterii + PARAMETERS tacriterii + EXTERNAL ARRAY tacriterii + #DEFINE crlf CHR(13)+CHR(10) + + lcStringCriterii="Serie factura\serie_act\T\none\"+ crlf + ; + "Numar factura\numar_act\N\none\" + crlf + ; + "Data factura\data_act\D\none\" + crlf + ; + "Client\client\T\client_id\nom_parteneri"+ crlf + ; + "Contract\contract_client\T\client_ctr_id\nom_contracte"+ crlf + ; + "Beneficiar\beneficiar\T\beneficiar_id\nom_parteneri"+ crlf + ; + "Tip factura\ctip_factura\T\none\"+ crlf + ; + "Declaratia\declaratio\T\none\"+ crlf + ; + "Data decl.\trunc(generation)\D\none\" + crlf + ; + "Convoi\convoy_nam\T\none\"+ crlf + ; + "Document\document\T\none\" + + DODEFAULT() + ENDPROC + + PROCEDURE Cb_tx_cautare1.Text.KeyPress + LPARAMETERS nKeyCode, nShiftAltCtrl + IF nKeyCode = 13 + THISFORM.DO_CAUTA() + NODEFAULT + ENDIF + ENDPROC + +ENDDEFINE + +DEFINE CLASS frm_tranzit_nave AS _frmbase OF "..\comun\clase\_frm_base.vcx" + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="But_start_criterii1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_reset_criterii1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Gridextra1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cdatadecl.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cdatadecl.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cnumeconvoi.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cnumeconvoi.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cdeclcdt.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cdeclcdt.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.corig.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.corig.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cdest.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cdest.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cnrfact.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cnrfact.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cdatafact.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cdatafact.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cClient.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cClient.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cSerieFact.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cSerieFact.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cBeneficiar.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cBeneficiar.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cRuta.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cRuta.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cContractClient.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cContractClient.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cArmator.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cArmator.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cDataAvizare.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cDataAvizare.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cIndicativ.cIndicativ" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cIndicativ.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cLBD.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cLBD.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cTRN.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cTRN.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cHP.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cHP.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cCantTarif.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cCantTarif.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cTcap.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cTcap.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cTcapConv.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cTcapConv.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cUM.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cUM.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cCantMarfa.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cCantMarfa.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cUmMarfa.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cUmMarfa.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cMarfa.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cMarfa.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cProcDist.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cProcDist.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cProcDiv.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cProcDiv.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cDistanta.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cDistanta.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cDistantaCDMN.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cDistantaCDMN.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cDistantaPAMN.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cDistantaPAMN.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cAgigea.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cAgigea.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cAgigea._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cCernavoda.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cCernavoda.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cCernavoda._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cOvidiu.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cOvidiu.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cOvidiu._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cNavodari.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cNavodari.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cNavodari._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cVyeId.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cVyeId.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cVmsId.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cVmsId.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cTarif.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cTarif.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cValftva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cValftva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cValTva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cValTva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cValcTva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cValcTva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cValval.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cValval.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cTvaVal.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cTvaVal.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cTotVal.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cTotVal.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cValuta.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cValuta.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cCurs.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cCurs.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cGrupaMarfa.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cGrupaMarfa.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cIntern.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cIntern.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cIntern._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cAgigeaSas1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cAgigeaSas1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cAgigeaSas1._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cAgigeaSas2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cAgigeaSas2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cAgigeaSas2._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cAgigeaSasn.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cAgigeaSasn.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cAgigeaSasn._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cCernavodaSas1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cCernavodaSas1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cCernavodaSas1._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cCernavodaSas2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cCernavodaSas2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cCernavodaSas2._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cCernavodaSasn.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cCernavodaSasn.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cCernavodaSasn._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cOvidiuC1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cOvidiuC1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cOvidiuC1._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cOvidiuC2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cOvidiuC2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cOvidiuC2._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cOvidiuCn.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cOvidiuCn.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cOvidiuCn._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cNavodarC1.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cNavodarC1.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cNavodarC1._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cNavodariC2.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cNavodariC2.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cNavodariC2._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cNavodariCn.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cNavodariCn.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cNavodariCn._checkbox1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cAgigea1V.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cAgigea1V.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cAgigea2V.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cAgigea2V.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cAgigeaNV.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cAgigeaNV.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cCernavoda1V.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cCernavoda1V.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cCernavoda2V.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cCernavoda2V.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cCernavodaNV.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cCernavodaNV.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cOvidiu1V.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cOvidiu1V.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cOvidiu2V.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cOvidiu2V.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cOvidiuNV.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cOvidiuNV.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cNavodari1V.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cNavodari1V.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cNavodari2V.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cNavodari2V.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cNavodariNV.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cNavodariNV.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cSenalCDMN1V.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cSenalCDMN1V.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cSenalPAM1V.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cSenalPAM1V.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cAgigeaV.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cAgigeaV.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cCernavodaV.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cCernavodaV.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cOvidiuV.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cOvidiuV.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cNavodariV.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cNavodariV.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cSenalCDMNV.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cSenalCDMNV.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cSenalPAMV.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cSenalPAMV.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cRn.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cRn.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cPvalftva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cPvalftva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cAgigeaData.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cAgigeaData.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cCernavodaData.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cCernavodaData.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cOvidiuData.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cOvidiuData.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cNavodariData.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cNavodariData.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cNavaCountry.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cNavaCountry.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cMarfaCountry.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="grdTranzit.cMarfaCountry.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_grdfooter1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="But_excel1" UniqueID="" Timestamp="" /> + + * + *p: ntip && 0=tranzit, 1=cheiaj + * + + * + BorderStyle = 3 + DoCreate = .T. + Height = 460 + Name = "frm_tranzit_nave" + ntip = 0 + Width = 792 + WindowState = 2 + _shape1.Anchor = 10 + _shape1.Height = 29 + _shape1.Left = 0 + _shape1.Name = "_shape1" + _shape1.Top = 0 + _shape1.Width = 793 + _shape2.Left = 741 + _shape2.Name = "_shape2" + _shape2.Top = -1 + Lb_titlu_alb_b121.Caption = "Registru tranzit" + Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" + BUT_TERMIN1.Anchor = 9 + BUT_TERMIN1.Left = 761 + BUT_TERMIN1.Name = "BUT_TERMIN1" + BUT_TERMIN1.Top = 1 + Gridsort1.Left = 780 + Gridsort1.Name = "Gridsort1" + Gridsort1.Top = 449 + * + + ADD OBJECT '_grdfooter1' AS _grdfooter WITH ; + ccolwithlabel = cNumeConvoi, ; + csourcegrid = thisform.grdTranzit, ; + csumcolumns = cLBD,cTRN,cHP,cTCap,cCantTarif,cCantMarfa,cValftva,cValTva,cValcTva,cValVal,cTvaVal,cTotVal, ; + Left = 12, ; + Name = "_grdfooter1", ; + Top = 420, ; + Width = 771 + *< END OBJECT: ClassLib="..\comun\clase\_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'But_excel1' AS but_excel WITH ; + Anchor = 8, ; + Left = 732, ; + Name = "But_excel1", ; + Top = 1 + *< END OBJECT: ClassLib="..\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_reset_criterii1' AS but_reset_criterii WITH ; + Anchor = 9, ; + Left = 672, ; + Name = "But_reset_criterii1", ; + Top = 1, ; + Visible = .T. + *< END OBJECT: ClassLib="..\..\roafacturare\comun\clase\ocriterii.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'But_start_criterii1' AS but_start_criterii WITH ; + Anchor = 9, ; + Comment = "*:OnResize=RT", ; + Left = 701, ; + Name = "But_start_criterii1", ; + Top = 1 + *< END OBJECT: ClassLib="..\..\roafacturare\comun\clase\ocriterii.vcx" BaseClass="commandbutton" /> + + ADD OBJECT 'grdTranzit' AS _grdbase WITH ; + Anchor = 15, ; + BackColor = 255,255,255, ; + ColumnCount = 87, ; + DeleteMark = .F., ; + FontSize = 10, ; + GridLineColor = 192,192,192, ; + Height = 383, ; + lcamptextneeditabil = .F., ; + Left = 12, ; + Name = "grdTranzit", ; + Panel = 1, ; + ReadOnly = .T., ; + RecordSource = "crsConvoaie", ; + RowHeight = 19, ; + TabIndex = 5, ; + Top = 36, ; + Width = 771, ; + Column1.BackColor = 255,255,255, ; + Column1.ColumnOrder = 3, ; + Column1.ControlSource = "crsConvoaie.generation", ; + Column1.FontName = "Arial", ; + Column1.FontSize = 10, ; + Column1.Name = "cdatadecl", ; + Column1.ReadOnly = .T., ; + Column1.Width = 75, ; + Column2.BackColor = 255,255,255, ; + Column2.ColumnOrder = 1, ; + Column2.ControlSource = "crsConvoaie.convoy_nam", ; + Column2.FontName = "Arial", ; + Column2.FontSize = 10, ; + Column2.Name = "cnumeconvoi", ; + Column2.ReadOnly = .T., ; + Column2.Width = 144, ; + Column3.BackColor = 255,255,255, ; + Column3.ColumnOrder = 2, ; + Column3.ControlSource = "crsConvoaie.declaratio", ; + Column3.FontName = "Arial", ; + Column3.FontSize = 10, ; + Column3.Name = "cdeclcdt", ; + Column3.ReadOnly = .T., ; + Column3.Width = 68, ; + Column4.BackColor = 255,255,255, ; + Column4.ColumnOrder = 14, ; + Column4.ControlSource = "crsConvoaie.origin", ; + Column4.FontName = "Arial", ; + Column4.FontSize = 10, ; + Column4.Name = "corig", ; + Column4.ReadOnly = .T., ; + Column4.Width = 92, ; + Column5.BackColor = 255,255,255, ; + Column5.ColumnOrder = 15, ; + Column5.ControlSource = "crsConvoaie.destinatio", ; + Column5.FontName = "Arial", ; + Column5.FontSize = 10, ; + Column5.Name = "cdest", ; + Column5.ReadOnly = .T., ; + Column5.Width = 99, ; + Column6.BackColor = 255,255,255, ; + Column6.ColumnOrder = 6, ; + Column6.ControlSource = "numar_act", ; + Column6.FontName = "Arial", ; + Column6.FontSize = 10, ; + Column6.Name = "cnrfact", ; + Column6.ReadOnly = .T., ; + Column6.Width = 87, ; + Column7.BackColor = 255,255,255, ; + Column7.ColumnOrder = 7, ; + Column7.ControlSource = "TTOD(data_act)", ; + Column7.FontName = "Arial", ; + Column7.FontSize = 10, ; + Column7.Name = "cdatafact", ; + Column7.ReadOnly = .T., ; + Column7.Width = 85, ; + Column8.BackColor = 255,255,255, ; + Column8.ColumnOrder = 8, ; + Column8.ControlSource = "client", ; + Column8.FontName = "Arial", ; + Column8.FontSize = 10, ; + Column8.Name = "cClient", ; + Column8.ReadOnly = .T., ; + Column8.Width = 263, ; + Column9.BackColor = 255,255,255, ; + Column9.ColumnOrder = 5, ; + Column9.ControlSource = "serie_act", ; + Column9.FontSize = 10, ; + Column9.Name = "cSerieFact", ; + Column9.ReadOnly = .T., ; + Column9.Width = 79, ; + Column10.BackColor = 255,255,255, ; + Column10.ColumnOrder = 10, ; + Column10.ControlSource = "crsConvoaie.beneficiar", ; + Column10.FontSize = 10, ; + Column10.Name = "cBeneficiar", ; + Column10.ReadOnly = .T., ; + Column10.Width = 170, ; + Column11.BackColor = 255,255,255, ; + Column11.ColumnOrder = 13, ; + Column11.ControlSource = "crsConvoaie.ruta", ; + Column11.FontSize = 10, ; + Column11.Name = "cRuta", ; + Column11.ReadOnly = .T., ; + Column12.BackColor = 255,255,255, ; + Column12.ColumnOrder = 9, ; + Column12.ControlSource = "crsConvoaie.contract_client", ; + Column12.FontSize = 10, ; + Column12.Name = "cContractClient", ; + Column12.ReadOnly = .T., ; + Column12.Width = 133, ; + Column13.BackColor = 255,255,255, ; + Column13.ColumnOrder = 11, ; + Column13.ControlSource = "crsConvoaie.armator", ; + Column13.FontSize = 10, ; + Column13.Name = "cArmator", ; + Column13.ReadOnly = .T., ; + Column13.Width = 118, ; + Column14.BackColor = 255,255,255, ; + Column14.ColumnOrder = 4, ; + Column14.ControlSource = "data_aviz", ; + Column14.FontSize = 10, ; + Column14.Name = "cDataAvizare", ; + Column14.ReadOnly = .T., ; + Column15.BackColor = 255,255,255, ; + Column15.ColumnOrder = 12, ; + Column15.ControlSource = "crsConvoaie.indicativ", ; + Column15.FontSize = 10, ; + Column15.Name = "cIndicativ", ; + Column15.ReadOnly = .T., ; + Column16.BackColor = 255,255,255, ; + Column16.ColumnOrder = 17, ; + Column16.ControlSource = "lbd", ; + Column16.FontSize = 10, ; + Column16.Format = "RK", ; + Column16.InputMask = "999 999 999 999.99", ; + Column16.Name = "cLBD", ; + Column16.ReadOnly = .T., ; + Column17.BackColor = 255,255,255, ; + Column17.ColumnOrder = 18, ; + Column17.ControlSource = "trn", ; + Column17.FontSize = 10, ; + Column17.Format = "RK", ; + Column17.InputMask = "999 999 999 999.99", ; + Column17.Name = "cTRN", ; + Column17.ReadOnly = .T., ; + Column18.BackColor = 255,255,255, ; + Column18.ColumnOrder = 19, ; + Column18.ControlSource = "hp", ; + Column18.FontSize = 10, ; + Column18.Format = "RK", ; + Column18.InputMask = "999 999 999 999.99", ; + Column18.Name = "cHP", ; + Column18.ReadOnly = .T., ; + Column19.BackColor = 255,255,255, ; + Column19.ColumnOrder = 22, ; + Column19.ControlSource = "cant", ; + Column19.FontSize = 10, ; + Column19.Format = "RK", ; + Column19.InputMask = "999 999 999 999.99", ; + Column19.Name = "cCantTarif", ; + Column19.ReadOnly = .T., ; + Column20.BackColor = 255,255,255, ; + Column20.ColumnOrder = 20, ; + Column20.ControlSource = "tcap", ; + Column20.FontSize = 10, ; + Column20.Format = "RK", ; + Column20.InputMask = "999 999 999 999.99", ; + Column20.Name = "cTcap", ; + Column20.ReadOnly = .T., ; + Column21.BackColor = 255,255,255, ; + Column21.ColumnOrder = 21, ; + Column21.ControlSource = "tcap_conv", ; + Column21.FontSize = 10, ; + Column21.Format = "RK", ; + Column21.InputMask = "999 999 999 999.99", ; + Column21.Name = "cTcapConv", ; + Column21.ReadOnly = .T., ; + Column22.BackColor = 255,255,255, ; + Column22.ColumnOrder = 23, ; + Column22.ControlSource = "um", ; + Column22.FontSize = 10, ; + Column22.Name = "cUM", ; + Column22.ReadOnly = .T., ; + Column23.BackColor = 255,255,255, ; + Column23.ColumnOrder = 24, ; + Column23.ControlSource = "cant_marfa", ; + Column23.FontSize = 10, ; + Column23.Format = "RK", ; + Column23.InputMask = "999 999 999 999.99", ; + Column23.Name = "cCantMarfa", ; + Column23.ReadOnly = .T., ; + Column23.Width = 88, ; + Column24.BackColor = 255,255,255, ; + Column24.ColumnOrder = 25, ; + Column24.ControlSource = "um_marfa", ; + Column24.FontSize = 10, ; + Column24.Name = "cUmMarfa", ; + Column24.ReadOnly = .T., ; + Column25.BackColor = 255,255,255, ; + Column25.ColumnOrder = 26, ; + Column25.ControlSource = "marfa", ; + Column25.FontSize = 10, ; + Column25.Name = "cMarfa", ; + Column25.ReadOnly = .T., ; + Column25.Width = 126, ; + Column26.BackColor = 255,255,255, ; + Column26.ColumnOrder = 28, ; + Column26.ControlSource = "procdist", ; + Column26.FontSize = 10, ; + Column26.Format = "RK", ; + Column26.InputMask = "9.99", ; + Column26.Name = "cProcDist", ; + Column26.ReadOnly = .T., ; + Column27.BackColor = 255,255,255, ; + Column27.ColumnOrder = 29, ; + Column27.ControlSource = "procdiv", ; + Column27.FontSize = 10, ; + Column27.Format = "RK", ; + Column27.InputMask = "9.99", ; + Column27.Name = "cProcDiv", ; + Column27.ReadOnly = .T., ; + Column28.BackColor = 255,255,255, ; + Column28.ColumnOrder = 30, ; + Column28.ControlSource = "distanta", ; + Column28.FontSize = 10, ; + Column28.Format = "RK", ; + Column28.InputMask = "99.99", ; + Column28.Name = "cDistanta", ; + Column28.ReadOnly = .T., ; + Column28.Width = 83, ; + Column29.BackColor = 255,255,255, ; + Column29.ColumnOrder = 31, ; + Column29.ControlSource = "distanta_cdmn", ; + Column29.FontSize = 10, ; + Column29.Format = "RK", ; + Column29.InputMask = "99.99", ; + Column29.Name = "cDistantaCDMN", ; + Column29.ReadOnly = .T., ; + Column29.Width = 89, ; + Column30.BackColor = 255,255,255, ; + Column30.ColumnOrder = 32, ; + Column30.ControlSource = "distanta_pamn", ; + Column30.FontSize = 10, ; + Column30.Format = "RK", ; + Column30.InputMask = "99.99", ; + Column30.Name = "cDistantaPAMN", ; + Column30.ReadOnly = .T., ; + Column30.Width = 86, ; + Column31.BackColor = 255,255,255, ; + Column31.ColumnOrder = 33, ; + Column31.ControlSource = "agigea", ; + Column31.CurrentControl = "_checkbox1", ; + Column31.FontSize = 10, ; + Column31.Name = "cAgigea", ; + Column31.ReadOnly = .T., ; + Column31.Sparse = .F., ; + Column31.Width = 58, ; + Column32.BackColor = 255,255,255, ; + Column32.ColumnOrder = 34, ; + Column32.ControlSource = "cernavoda", ; + Column32.CurrentControl = "_checkbox1", ; + Column32.FontSize = 10, ; + Column32.Name = "cCernavoda", ; + Column32.ReadOnly = .T., ; + Column32.Sparse = .F., ; + Column32.Width = 71, ; + Column33.BackColor = 255,255,255, ; + Column33.ColumnOrder = 35, ; + Column33.ControlSource = "ovidiu", ; + Column33.CurrentControl = "_checkbox1", ; + Column33.FontSize = 10, ; + Column33.Name = "cOvidiu", ; + Column33.ReadOnly = .T., ; + Column33.Sparse = .F., ; + Column33.Width = 61, ; + Column34.BackColor = 255,255,255, ; + Column34.ColumnOrder = 36, ; + Column34.ControlSource = "navodari", ; + Column34.CurrentControl = "_checkbox1", ; + Column34.FontSize = 10, ; + Column34.Name = "cNavodari", ; + Column34.ReadOnly = .T., ; + Column34.Sparse = .F., ; + Column34.Width = 63, ; + Column35.BackColor = 255,255,255, ; + Column35.ColumnOrder = 37, ; + Column35.ControlSource = "vye_id", ; + Column35.FontSize = 10, ; + Column35.Name = "cVyeId", ; + Column35.ReadOnly = .T., ; + Column36.BackColor = 255,255,255, ; + Column36.ColumnOrder = 38, ; + Column36.ControlSource = "vms_id", ; + Column36.FontSize = 10, ; + Column36.Name = "cVmsId", ; + Column36.ReadOnly = .T., ; + Column36.Width = 92, ; + Column37.BackColor = 255,255,255, ; + Column37.ColumnOrder = 39, ; + Column37.ControlSource = "tarif", ; + Column37.FontSize = 10, ; + Column37.Format = "RK", ; + Column37.InputMask = (get_mask(14,4)), ; + Column37.Name = "cTarif", ; + Column37.ReadOnly = .T., ; + Column38.BackColor = 255,255,255, ; + Column38.ColumnOrder = 40, ; + Column38.ControlSource = "valftva", ; + Column38.FontSize = 10, ; + Column38.Format = "RK", ; + Column38.InputMask = (get_mask(14,gnPc)), ; + Column38.Name = "cValftva", ; + Column38.ReadOnly = .T., ; + Column38.Width = 94, ; + Column39.BackColor = 255,255,255, ; + Column39.ColumnOrder = 41, ; + Column39.ControlSource = "valtva", ; + Column39.FontSize = 10, ; + Column39.Format = "RK", ; + Column39.InputMask = (get_mask(14,gnPc)), ; + Column39.Name = "cValTva", ; + Column39.ReadOnly = .T., ; + Column39.Width = 99, ; + Column40.BackColor = 255,255,255, ; + Column40.ColumnOrder = 42, ; + Column40.ControlSource = "valctva", ; + Column40.FontSize = 10, ; + Column40.Format = "RK", ; + Column40.InputMask = (get_mask(14,gnPc)), ; + Column40.Name = "cValcTva", ; + Column40.ReadOnly = .T., ; + Column40.Width = 104, ; + Column41.BackColor = 255,255,255, ; + Column41.ColumnOrder = 43, ; + Column41.ControlSource = "valval", ; + Column41.FontSize = 10, ; + Column41.Format = "RK", ; + Column41.InputMask = (get_mask(14,gnPc)), ; + Column41.Name = "cValval", ; + Column41.ReadOnly = .T., ; + Column41.Width = 129, ; + Column42.BackColor = 255,255,255, ; + Column42.ColumnOrder = 44, ; + Column42.ControlSource = "tvaval", ; + Column42.FontSize = 10, ; + Column42.Format = "RK", ; + Column42.InputMask = (get_mask(14,gnPc)), ; + Column42.Name = "cTvaVal", ; + Column42.ReadOnly = .T., ; + Column42.Width = 118, ; + Column43.BackColor = 255,255,255, ; + Column43.ColumnOrder = 45, ; + Column43.ControlSource = "totval", ; + Column43.FontSize = 10, ; + Column43.Format = "RK", ; + Column43.InputMask = (get_mask(14,gnPc)), ; + Column43.Name = "cTotVal", ; + Column43.ReadOnly = .T., ; + Column43.Width = 121, ; + Column44.BackColor = 255,255,255, ; + Column44.ColumnOrder = 46, ; + Column44.ControlSource = "valuta", ; + Column44.FontSize = 10, ; + Column44.Name = "cValuta", ; + Column44.ReadOnly = .T., ; + Column45.BackColor = 255,255,255, ; + Column45.ColumnOrder = 47, ; + Column45.ControlSource = "curs", ; + Column45.FontSize = 10, ; + Column45.Format = "RK", ; + Column45.InputMask = (get_mask(14,gnPcurs)), ; + Column45.Name = "cCurs", ; + Column45.ReadOnly = .T., ; + Column46.BackColor = 255,255,255, ; + Column46.ColumnOrder = 27, ; + Column46.ControlSource = "grupa_marfa", ; + Column46.FontSize = 10, ; + Column46.Name = "cGrupaMarfa", ; + Column46.ReadOnly = .T., ; + Column46.Width = 159, ; + Column47.BackColor = 255,255,255, ; + Column47.ColumnOrder = 16, ; + Column47.ControlSource = "intern", ; + Column47.CurrentControl = "_checkbox1", ; + Column47.FontSize = 10, ; + Column47.Name = "cIntern", ; + Column47.ReadOnly = .T., ; + Column47.Sparse = .F., ; + Column47.Width = 38, ; + Column48.BackColor = 255,255,255, ; + Column48.ControlSource = "agigea_sas1", ; + Column48.CurrentControl = "_checkbox1", ; + Column48.FontSize = 10, ; + Column48.Name = "cAgigeaSas1", ; + Column48.ReadOnly = .T., ; + Column48.Sparse = .F., ; + Column49.BackColor = 255,255,255, ; + Column49.ControlSource = "agigea_sas2", ; + Column49.CurrentControl = "_checkbox1", ; + Column49.FontSize = 10, ; + Column49.Name = "cAgigeaSas2", ; + Column49.ReadOnly = .T., ; + Column49.Sparse = .F., ; + Column50.BackColor = 255,255,255, ; + Column50.ControlSource = "agigea_sasn", ; + Column50.CurrentControl = "_checkbox1", ; + Column50.FontSize = 10, ; + Column50.Name = "cAgigeaSasn", ; + Column50.ReadOnly = .T., ; + Column50.Sparse = .F., ; + Column51.BackColor = 255,255,255, ; + Column51.ControlSource = "cernavoda_sas1", ; + Column51.CurrentControl = "_checkbox1", ; + Column51.FontSize = 10, ; + Column51.Name = "cCernavodaSas1", ; + Column51.ReadOnly = .T., ; + Column51.Sparse = .F., ; + Column51.Width = 97, ; + Column52.BackColor = 255,255,255, ; + Column52.ControlSource = "cernavoda_sas2", ; + Column52.CurrentControl = "_checkbox1", ; + Column52.FontSize = 10, ; + Column52.Name = "cCernavodaSas2", ; + Column52.ReadOnly = .T., ; + Column52.Sparse = .F., ; + Column52.Width = 97, ; + Column53.BackColor = 255,255,255, ; + Column53.ControlSource = "cernavoda_sasn", ; + Column53.CurrentControl = "_checkbox1", ; + Column53.FontSize = 10, ; + Column53.Name = "cCernavodaSasn", ; + Column53.ReadOnly = .T., ; + Column53.Sparse = .F., ; + Column53.Width = 97, ; + Column54.BackColor = 255,255,255, ; + Column54.ControlSource = "ovidiu_c1", ; + Column54.CurrentControl = "_checkbox1", ; + Column54.FontSize = 10, ; + Column54.Name = "cOvidiuC1", ; + Column54.ReadOnly = .T., ; + Column54.Sparse = .F., ; + Column55.BackColor = 255,255,255, ; + Column55.ControlSource = "ovidiu_c2", ; + Column55.CurrentControl = "_checkbox1", ; + Column55.FontSize = 10, ; + Column55.Name = "cOvidiuC2", ; + Column55.ReadOnly = .T., ; + Column55.Sparse = .F., ; + Column56.BackColor = 255,255,255, ; + Column56.ControlSource = "ovidiu_cn", ; + Column56.CurrentControl = "_checkbox1", ; + Column56.FontSize = 10, ; + Column56.Name = "cOvidiuCn", ; + Column56.ReadOnly = .T., ; + Column56.Sparse = .F., ; + Column57.BackColor = 255,255,255, ; + Column57.ControlSource = "navodari_c1", ; + Column57.CurrentControl = "_checkbox1", ; + Column57.FontSize = 10, ; + Column57.Name = "cNavodarC1", ; + Column57.ReadOnly = .T., ; + Column57.Sparse = .F., ; + Column58.BackColor = 255,255,255, ; + Column58.ControlSource = "navodari_c2", ; + Column58.CurrentControl = "_checkbox1", ; + Column58.FontSize = 10, ; + Column58.Name = "cNavodariC2", ; + Column58.ReadOnly = .T., ; + Column58.Sparse = .F., ; + Column59.BackColor = 255,255,255, ; + Column59.ControlSource = "navodari_cn", ; + Column59.CurrentControl = "_checkbox1", ; + Column59.FontSize = 10, ; + Column59.Name = "cNavodariCn", ; + Column59.ReadOnly = .T., ; + Column59.Sparse = .F., ; + Column60.BackColor = 255,255,255, ; + Column60.ControlSource = "agigea1_valoare", ; + Column60.FontSize = 10, ; + Column60.InputMask = (get_mask(20,gnPc)), ; + Column60.Name = "cAgigea1V", ; + Column60.ReadOnly = .T., ; + Column60.Width = 120, ; + Column61.BackColor = 255,255,255, ; + Column61.ControlSource = "agigea2_valoare", ; + Column61.FontSize = 10, ; + Column61.InputMask = (get_mask(20,gnPc)), ; + Column61.Name = "cAgigea2V", ; + Column61.ReadOnly = .T., ; + Column61.Width = 120, ; + Column62.BackColor = 255,255,255, ; + Column62.ControlSource = "agigean_valoare", ; + Column62.FontSize = 10, ; + Column62.InputMask = (get_mask(20,gnPc)), ; + Column62.Name = "cAgigeaNV", ; + Column62.ReadOnly = .T., ; + Column62.Width = 122, ; + Column63.BackColor = 255,255,255, ; + Column63.ControlSource = "cernavoda1_valoare", ; + Column63.FontSize = 10, ; + Column63.InputMask = (get_mask(20,gnPc)), ; + Column63.Name = "cCernavoda1V", ; + Column63.ReadOnly = .T., ; + Column63.Width = 142, ; + Column64.BackColor = 255,255,255, ; + Column64.ControlSource = "cernavoda2_valoare", ; + Column64.FontSize = 10, ; + Column64.InputMask = (get_mask(20,gnPc)), ; + Column64.Name = "cCernavoda2V", ; + Column64.ReadOnly = .T., ; + Column64.Width = 142, ; + Column65.BackColor = 255,255,255, ; + Column65.ControlSource = "cernavodan_valoare", ; + Column65.FontSize = 10, ; + Column65.InputMask = (get_mask(20,gnPc)), ; + Column65.Name = "cCernavodaNV", ; + Column65.ReadOnly = .T., ; + Column65.Width = 144, ; + Column66.BackColor = 255,255,255, ; + Column66.ControlSource = "ovidiu1_valoare", ; + Column66.FontSize = 10, ; + Column66.InputMask = (get_mask(20,gnPc)), ; + Column66.Name = "cOvidiu1V", ; + Column66.ReadOnly = .T., ; + Column66.Width = 102, ; + Column67.BackColor = 255,255,255, ; + Column67.ControlSource = "ovidiu2_valoare", ; + Column67.FontSize = 10, ; + Column67.InputMask = (get_mask(20,gnPc)), ; + Column67.Name = "cOvidiu2V", ; + Column67.ReadOnly = .T., ; + Column67.Width = 102, ; + Column68.BackColor = 255,255,255, ; + Column68.ControlSource = "ovidiun_valoare", ; + Column68.FontSize = 10, ; + Column68.InputMask = (get_mask(20,gnPc)), ; + Column68.Name = "cOvidiuNV", ; + Column68.ReadOnly = .T., ; + Column68.Width = 104, ; + Column69.BackColor = 255,255,255, ; + Column69.ControlSource = "navodari1_valoare", ; + Column69.FontSize = 10, ; + Column69.InputMask = (get_mask(20,gnPc)), ; + Column69.Name = "cNavodari1V", ; + Column69.ReadOnly = .T., ; + Column69.Width = 117, ; + Column70.BackColor = 255,255,255, ; + Column70.ControlSource = "navodari2_valoare", ; + Column70.FontSize = 10, ; + Column70.InputMask = (get_mask(20,gnPc)), ; + Column70.Name = "cNavodari2V", ; + Column70.ReadOnly = .T., ; + Column70.Width = 117, ; + Column71.BackColor = 255,255,255, ; + Column71.ControlSource = "navodarin_valoare", ; + Column71.FontSize = 10, ; + Column71.InputMask = (get_mask(20,gnPc)), ; + Column71.Name = "cNavodariNV", ; + Column71.ReadOnly = .T., ; + Column71.Width = 119, ; + Column72.BackColor = 255,255,255, ; + Column72.ControlSource = "senal_cdmn1_valoare", ; + Column72.FontSize = 10, ; + Column72.InputMask = (get_mask(20,gnPc)), ; + Column72.Name = "cSenalCDMN1V", ; + Column72.ReadOnly = .T., ; + Column72.Width = 139, ; + Column73.BackColor = 255,255,255, ; + Column73.ControlSource = "senal_pam1_valoare", ; + Column73.FontSize = 10, ; + Column73.InputMask = (get_mask(20,gnPc)), ; + Column73.Name = "cSenalPAM1V", ; + Column73.ReadOnly = .T., ; + Column73.Width = 118, ; + Column74.BackColor = 255,255,255, ; + Column74.ControlSource = "agigea_valoare", ; + Column74.FontSize = 10, ; + Column74.InputMask = (get_mask(20,gnPc)), ; + Column74.Name = "cAgigeaV", ; + Column74.ReadOnly = .T., ; + Column74.Width = 87, ; + Column75.BackColor = 255,255,255, ; + Column75.ControlSource = "cernavoda_valoare", ; + Column75.FontSize = 10, ; + Column75.InputMask = (get_mask(20,gnPc)), ; + Column75.Name = "cCernavodaV", ; + Column75.ReadOnly = .T., ; + Column75.Width = 109, ; + Column76.BackColor = 255,255,255, ; + Column76.ControlSource = "ovidiu_valoare", ; + Column76.FontSize = 10, ; + Column76.InputMask = (get_mask(20,gnPc)), ; + Column76.Name = "cOvidiuV", ; + Column76.ReadOnly = .T., ; + Column76.Width = 83, ; + Column77.BackColor = 255,255,255, ; + Column77.ControlSource = "navodari_valoare", ; + Column77.FontSize = 10, ; + Column77.InputMask = (get_mask(20,gnPc)), ; + Column77.Name = "cNavodariV", ; + Column77.ReadOnly = .T., ; + Column77.Width = 98, ; + Column78.BackColor = 255,255,255, ; + Column78.ControlSource = "senal_cdmn_valoare", ; + Column78.FontSize = 10, ; + Column78.InputMask = (get_mask(20,gnPc)), ; + Column78.Name = "cSenalCDMNV", ; + Column78.ReadOnly = .T., ; + Column78.Width = 120, ; + Column79.BackColor = 255,255,255, ; + Column79.ControlSource = "senal_pam_valoare", ; + Column79.FontSize = 10, ; + Column79.InputMask = (get_mask(20,gnPc)), ; + Column79.Name = "cSenalPAMV", ; + Column79.ReadOnly = .T., ; + Column79.Width = 108, ; + Column80.BackColor = 255,255,255, ; + Column80.ControlSource = "rn", ; + Column80.FontSize = 10, ; + Column80.InputMask = "999", ; + Column80.Name = "cRn", ; + Column80.ReadOnly = .T., ; + Column80.Width = 49, ; + Column81.BackColor = 255,255,255, ; + Column81.ControlSource = "pvalftva", ; + Column81.FontSize = 10, ; + Column81.InputMask = "9.9999", ; + Column81.Name = "cPvalftva", ; + Column81.ReadOnly = .T., ; + Column81.Width = 118, ; + Column82.BackColor = 255,255,255, ; + Column82.ControlSource = "agigea_data", ; + Column82.FontSize = 10, ; + Column82.Name = "cAgigeaData", ; + Column82.ReadOnly = .T., ; + Column82.Width = 121, ; + Column83.BackColor = 255,255,255, ; + Column83.ControlSource = "cernavoda_data", ; + Column83.FontSize = 10, ; + Column83.Name = "cCernavodaData", ; + Column83.ReadOnly = .T., ; + Column83.Width = 118, ; + Column84.BackColor = 255,255,255, ; + Column84.ColumnOrder = 84, ; + Column84.ControlSource = "ovidiu_data", ; + Column84.FontSize = 10, ; + Column84.Name = "cOvidiuData", ; + Column84.ReadOnly = .T., ; + Column84.Width = 116, ; + Column85.BackColor = 255,255,255, ; + Column85.ColumnOrder = 85, ; + Column85.ControlSource = "navodari_data", ; + Column85.FontSize = 10, ; + Column85.Name = "cNavodariData", ; + Column85.ReadOnly = .T., ; + Column85.Width = 120, ; + Column86.BackColor = 255,255,255, ; + Column86.ControlSource = "nava_country", ; + Column86.FontSize = 10, ; + Column86.Name = "cNavaCountry", ; + Column86.ReadOnly = .T., ; + Column86.Width = 113, ; + Column87.BackColor = 255,255,255, ; + Column87.ControlSource = "marfa_country", ; + Column87.FontSize = 10, ; + Column87.Name = "cMarfaCountry", ; + Column87.ReadOnly = .T., ; + Column87.Width = 129 + *< END OBJECT: ClassLib="..\comun\clase\_grd_base.vcx" BaseClass="grid" /> + + ADD OBJECT 'grdTranzit.cAgigea._checkbox1' AS _checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + FontSize = 10, ; + Left = 64, ; + Name = "_checkbox1", ; + Top = 47 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'grdTranzit.cAgigea.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Agigea", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cAgigea.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cAgigea1V.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Agigea SAS1 Valoare", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cAgigea1V.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cAgigea2V.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Agigea SAS2 Valoare", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cAgigea2V.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cAgigeaData.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "AG data", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cAgigeaData.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cAgigeaNV.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Agigea SASN Valoare", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cAgigeaNV.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cAgigeaSas1._checkbox1' AS _checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + FontSize = 10, ; + Left = 39, ; + Name = "_checkbox1", ; + Top = 59 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'grdTranzit.cAgigeaSas1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Agigea SAS1", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cAgigeaSas1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cAgigeaSas2._checkbox1' AS _checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + FontSize = 10, ; + Left = 59, ; + Name = "_checkbox1", ; + Top = 59 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'grdTranzit.cAgigeaSas2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Agigea SAS2", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cAgigeaSas2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cAgigeaSasn._checkbox1' AS _checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + FontSize = 10, ; + Left = 43, ; + Name = "_checkbox1", ; + Top = 83 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'grdTranzit.cAgigeaSasn.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Agigea SASn", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cAgigeaSasn.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cAgigeaV.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Agigea Valoare", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cAgigeaV.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cArmator.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Armator", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cArmator.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cBeneficiar.Header1' AS header WITH ; + Alignment = 2, ; + BackColor = 240,240,240, ; + Caption = "Beneficiar", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cBeneficiar.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cCantMarfa.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cantitate marfa", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cCantMarfa.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cCantTarif.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cantitate tarif", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cCantTarif.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cCernavoda._checkbox1' AS _checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + FontSize = 10, ; + Left = 36, ; + Name = "_checkbox1", ; + Top = 71 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'grdTranzit.cCernavoda.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cernavoda", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cCernavoda.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cCernavoda1V.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cernavoda SAS1 Valoare", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cCernavoda1V.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cCernavoda2V.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cernavoda SAS2 Valoare", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cCernavoda2V.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cCernavodaData.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "CV data", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cCernavodaData.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cCernavodaNV.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cernavoda SASN Valoare", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cCernavodaNV.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cCernavodaSas1._checkbox1' AS _checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + FontSize = 10, ; + Left = 75, ; + Name = "_checkbox1", ; + Top = 71 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'grdTranzit.cCernavodaSas1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cernavoda SAS1", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cCernavodaSas1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cCernavodaSas2._checkbox1' AS _checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + FontSize = 10, ; + Left = 61, ; + Name = "_checkbox1", ; + Top = 59 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'grdTranzit.cCernavodaSas2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cernavoda SAS2", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cCernavodaSas2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cCernavodaSasn._checkbox1' AS _checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + FontSize = 10, ; + Left = 23, ; + Name = "_checkbox1", ; + Top = 59 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'grdTranzit.cCernavodaSasn.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cernavoda SASn", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cCernavodaSasn.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cCernavodaV.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Cernavoda Valoare", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cCernavodaV.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cClient.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Client", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cClient.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cContractClient.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Contract", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cContractClient.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cCurs.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Curs", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cCurs.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cDataAvizare.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data avizare", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cDataAvizare.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cdatadecl.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data decl.", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cdatadecl.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cdatafact.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Data factura", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cdatafact.Text1' AS textbox WITH ; + Alignment = 3, ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cdeclcdt.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Declaratia", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cdeclcdt.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cdest.Header1' AS header WITH ; + Caption = "Destinatie", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cdest.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cDistanta.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Distanta totala", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cDistanta.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cDistantaCDMN.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Distanta CDMN", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cDistantaCDMN.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cDistantaPAMN.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Distanta PAMN", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cDistantaPAMN.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cGrupaMarfa.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Grupa marfa", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cGrupaMarfa.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cHP.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "HP", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cHP.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cIndicativ.cIndicativ' AS header WITH ; + Alignment = 2, ; + Caption = "Indicativ", ; + FontSize = 10, ; + Name = "cIndicativ" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cIndicativ.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cIntern._checkbox1' AS _checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + FontSize = 10, ; + Left = 21, ; + Name = "_checkbox1", ; + Top = 71 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'grdTranzit.cIntern.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Intern", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cIntern.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cLBD.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "LBD", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cLBD.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cMarfa.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Marfa", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cMarfa.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cMarfaCountry.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pavilion marfa", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cMarfaCountry.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cNavaCountry.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Pavilion nava", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cNavaCountry.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cNavodarC1._checkbox1' AS _checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + FontSize = 10, ; + Left = 29, ; + Name = "_checkbox1", ; + Top = 59 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'grdTranzit.cNavodarC1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Navodari C1", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cNavodarC1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cNavodari._checkbox1' AS _checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + FontSize = 10, ; + Left = 52, ; + Name = "_checkbox1", ; + Top = 71 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'grdTranzit.cNavodari.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Navodari", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cNavodari.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cNavodari1V.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Navodari C1 Valoare", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cNavodari1V.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cNavodari2V.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Navodari C2 Valoare", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cNavodari2V.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cNavodariC2._checkbox1' AS _checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + FontSize = 10, ; + Left = 25, ; + Name = "_checkbox1", ; + Top = 47 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'grdTranzit.cNavodariC2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Navodari C2", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cNavodariC2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cNavodariCn._checkbox1' AS _checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + FontSize = 10, ; + Left = 33, ; + Name = "_checkbox1", ; + Top = 47 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'grdTranzit.cNavodariCn.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Navodari Cn", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cNavodariCn.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cNavodariData.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "NV data", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cNavodariData.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cNavodariNV.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Navodari CN Valoare", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cNavodariNV.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cNavodariV.Header1' AS header WITH ; + Caption = "Navodari Valoare", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cNavodariV.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cnrfact.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Numar factura", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cnrfact.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cnumeconvoi.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Convoi", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cnumeconvoi.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.corig.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Plecare", ; + FontName = "Arial", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.corig.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cOvidiu._checkbox1' AS _checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + FontSize = 10, ; + Left = 56, ; + Name = "_checkbox1", ; + Top = 59 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'grdTranzit.cOvidiu.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Ovidiu", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cOvidiu.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cOvidiu1V.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Ovidiu C1 Valoare", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cOvidiu1V.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cOvidiu2V.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Ovidiu C2 Valoare", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cOvidiu2V.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cOvidiuC1._checkbox1' AS _checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + FontSize = 10, ; + Left = 53, ; + Name = "_checkbox1", ; + Top = 35 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'grdTranzit.cOvidiuC1.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Ovidiu C1", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cOvidiuC1.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cOvidiuC2._checkbox1' AS _checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + FontSize = 10, ; + Left = 37, ; + Name = "_checkbox1", ; + Top = 35 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'grdTranzit.cOvidiuC2.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Ovidiu C2", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cOvidiuC2.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cOvidiuCn._checkbox1' AS _checkbox WITH ; + Alignment = 2, ; + Caption = "", ; + FontSize = 10, ; + Left = 33, ; + Name = "_checkbox1", ; + Top = 47 + *< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="checkbox" /> + + ADD OBJECT 'grdTranzit.cOvidiuCn.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Ovidiu Cn", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cOvidiuCn.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cOvidiuData.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "OV data", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cOvidiuData.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cOvidiuNV.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Ovidiu CN Valoare", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cOvidiuNV.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cOvidiuV.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Ovidiu Valoare", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cOvidiuV.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cProcDist.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Proc. distanta", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cProcDist.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cProcDiv.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Proc. diverse", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cProcDiv.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cPvalftva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Procent valoare nava", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cPvalftva.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cRn.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Nr. nava", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cRn.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cRuta.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Ruta", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cRuta.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cSenalCDMN1V.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Senal CDMN 1 Valoare", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cSenalCDMN1V.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cSenalCDMNV.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Senal CDMN Valoare", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cSenalCDMNV.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cSenalPAM1V.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Senal PAM 1 Valoare", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cSenalPAM1V.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cSenalPAMV.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Senal PAM Valoare", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cSenalPAMV.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cSerieFact.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Serie factura", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cSerieFact.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cTarif.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Tarif", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cTarif.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cTcap.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "TCAP", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cTcap.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cTcapConv.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Tcap convoi", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cTcapConv.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cTotVal.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare valuta cu TVA", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cTotVal.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cTRN.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "TRN", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cTRN.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cTvaVal.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare valuta TVA", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cTvaVal.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cUM.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "UM tarif", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cUM.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cUmMarfa.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "UM marfa", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cUmMarfa.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cValcTva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare cu TVA", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cValcTva.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cValftva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare fara TVA", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cValftva.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cValTva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare TVA", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cValTva.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cValuta.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valuta", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cValuta.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cValval.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare valuta fara TVA", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cValval.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cVmsId.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Id membru voiaj", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cVmsId.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'grdTranzit.cVyeId.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Id Voiaj", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'grdTranzit.cVyeId.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontSize = 10, ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Gridextra1' AS gridextra WITH ; + gridexpression = Thisform.grdTranzit, ; + Left = 780, ; + Name = "Gridextra1", ; + Top = 180 + *< END OBJECT: ClassLib="..\comun\utile\gridextras\gridextras.vcx" BaseClass="custom" /> + + PROCEDURE Activate + * + ENDPROC + + PROCEDURE actualizeaza_grid1 + LPARAMETERS tcFiltru + LOCAL lcFiltru + lcFiltru = IIF(!EMPTY(m.tcFiltru), m.tcFiltru, "") + + Thisform.LockScreen=.F. + save_grid_tag(This.grdTranzit) + + poConvoaie.ca_baza1.cfiltru = m.lcFiltru + poConvoaie.ca_baza1.afisare() + + SELECT crsConvoaie + Go Top + + restore_grid_tag(This.grdTranzit) + + SET STEP ON + This.grdTranzit.Refresh + Thisform.LockScreen=.F. + + ENDPROC + + PROCEDURE do_cauta + LOCAL lcfiltru, lcval1, lcColoana, ldData1, ldData2 + + lcfiltru='' + + * DACA FILTRUL NU CONTINE DATA_ACT, SELECTEZ DOAR INREGISTRARILE DIN LUNA CURENTA + ldData1 = DATE(m.gnAn, m.gnLuna, 1) + ldData2 = GOMONTH(m.ldData1,1) - 1 + + IF !(' DATA_ACT '$upper(THISFORM.filtru_pretty)) + lcFiltru = m.lcFiltru + [ and data_act between to_date('] + DTOC(m.ldData1,1) + [', 'yyyymmdd') and to_date('] + DTOC(m.ldData2,1) + [', 'yyyymmdd')] + ENDIF + + * Filtre buton cautare + IF LEN(THISFORM.filtru_pretty)>0 + lcFiltru = m.lcFiltru + " and (" + ALLTRIM(THISFORM.filtru_pretty) + ")" + ENDIF + + If Empty(m.lcFiltru) + aMessagebox("Alegeti un criteriu!",0+48,"Atentie") + This.cb_tx_cautare1.criteriu.SetFocus() + Return + Endif + + IF !EMPTY(m.lcFiltru) AND LEFT(LOWER(ALLTRIM(m.lcFiltru)),3) = "and" + lcFiltru = SUBSTR(ALLTRIM(m.lcFiltru),4) + ENDIF + + IF !EMPTY(m.lcFiltru) + THISFORM.actualizeaza_grid1(lcFiltru) + this._grdfooter1.Calctotal() + ENDIF + + SELECT crsConvoaie + + Return m.lcFiltru + + ENDPROC + + PROCEDURE do_excel + Local lnOptiune + + lnOptiune = xmenu('1. Registru;2. Client-marfa-indicatori-valoare') + IF EMPTY(m.lnOptiune) + RETURN + ENDIF + DO CASE + CASE m.lnOptiune = 1 + goExport.export2xlsxGrid(thisform.grdTranzit, "registru-tranzit-detaliat", "", "data_act, numar_act, indicativ") + CASE m.lnOptiune = 2 + SELECT client, marfa_country as pavilion_marfa, grupa_marfa, marfa, ; + SUM(cant_marfa) as cant_marfa, ; + SUM(tcap) as tcap, ; + SUM(trn) as trn, ; + SUM(lbd) as lbd, ; + SUM(hp) as hp, ; + SUM(valftva) as valoare_fara_tva ; + FROM crsConvoaie ; + GROUP BY 1,2,3,4 ; + ORDER BY 1,2,3,4 ; + INTO CURSOR cRaportTemp + + goExport.export2xlsx('cRaportTemp', 'Registru-tranzit') + + USE IN (SELECT('cRaportTemp')) + ENDCASE + ENDPROC + + PROCEDURE Show + LPARAMETERS nStyle + DODEFAULT(nStyle) + + this.WindowState = 2 + this.gridextra1.setup() + THIS._grdfooter1.attachtogrid(This.grdTranzit) + This.do_cauta() + + ENDPROC + + PROCEDURE But_start_criterii1.loadcriterii + PARAMETERS tacriterii + EXTERNAL ARRAY tacriterii + #DEFINE crlf CHR(13)+CHR(10) + + lcStringCriterii="Serie factura\serie_act\T\none\"+ crlf + ; + "Numar factura\numar_act\N\none\" + crlf + ; + "Data factura\data_act\D\none\" + crlf + ; + "Client\client\T\client_id\nom_parteneri"+ crlf + ; + "Contract\contract_client\T\client_ctr_id\nom_contracte"+ crlf + ; + "Beneficiar\beneficiar\T\beneficiar_id\nom_parteneri"+ crlf + ; + "Armator\armator\T\none\"+ crlf + ; + "Declaratia\declaratio\T\none\"+ crlf + ; + "Data decl.\trunc(generation)\D\none\" + crlf + ; + "Convoi\convoy_nam\T\none\"+ crlf + ; + "Indicativ\indicativ\T\none\"+ crlf + ; + "Ruta\indicativ\T\none\"+ crlf + ; + "Plecare\indicativ\T\none\"+ crlf + ; + "Destinatie\indicativ\T\none\"+ crlf + ; + "Marfa\indicativ\T\none\"+ crlf + ; + "AG ecl.\nofiled\E\(agigea=1)\" + crlf + ; + "AG data\trunc(agigea_data)\D\none\" + crlf + ; + "AG Sas1\nofiled\E\(agigea_sas1=1)\" + crlf + ; + "AG Sas2\nofiled\E\(agigea_sas2=1)\" + crlf + ; + "AG Sasn\nofiled\E\(agigea_sasn=1)\" + crlf + ; + "CV ecl.\nofiled\E\(cernavoda=1)\" + crlf + ; + "CV data\trunc(cernavoda_data)\D\none\" + crlf + ; + "CV Sas1\nofiled\E\(cernavoda_sas1=1)\" + crlf + ; + "CV Sas2\nofiled\E\(cernavoda_sas2=1)\" + crlf + ; + "CV Sasn\nofiled\E\(cernavoda_sasn=1)\" + crlf + ; + "OV Ecl.\nofiled\E\(ovidiu=1)\" + crlf + ; + "OV data\trunc(ovidiu_data)\D\none\" + crlf + ; + "OV Cam1\nofiled\E\(ovidiu_c1=1)\" + crlf + ; + "OV Cam2\nofiled\E\(ovidiu_c2=1)\" + crlf + ; + "OV Camn\nofiled\E\(ovidiu_cn=1)\" + crlf + ; + "NV ecl.\nofiled\E\(navodari=1)\" + crlf + ; + "NV data\trunc(navodari_data)\D\none\" + crlf + ; + "NV Cam1\nofiled\E\(navodari_c1=1)\" + crlf + ; + "NV Cam2\nofiled\E\(navodari_c2=1)\" + crlf + ; + "NV Camn\nofiled\E\(navodari_cn=1)\" + + DODEFAULT() + ENDPROC + +ENDDEFINE diff --git a/Clase/ofundal_facturare.vc2 b/Clase/ofundal_facturare.vc2 new file mode 100644 index 0000000..c0fc548 --- /dev/null +++ b/Clase/ofundal_facturare.vc2 @@ -0,0 +1,550 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="ofundal_facturare.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS pg_meniu_princ AS pg_meniu OF "..\comun\clase\ofundal.vcx" + *< CLASSDATA: Baseclass="pageframe" Timestamp="" Scale="Pixels" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Page1.Pict_meniu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Page1.Cw2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Page1.Cw3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Page1.Cw4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Page1.Cw1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Page1.Cw5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Page1.Cw8" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Page1.Pict_liniuta2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Page1.Cw6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Page1.Cw7" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Page1.Cw9" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Page1.Cw10" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Page1.Pict_liniuta1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Page2.Pict_meniu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Page2.Cw1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Page2.Cw2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Page2.Cw3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Page2.Cw4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Page2.Pict_liniuta2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Page2.Cw9" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Page2.Cw8" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Page3.Pict_meniu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Page4.Pict_meniu1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Page4.Cw1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Page4.Pict_liniuta2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Page4.Cw2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Page4.Cw5" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Page4.Cw6" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Page4.Cw3" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Page4.Cw4" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Page4.Pict_liniuta1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Page4.Cw7" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Page4.Cw8" UniqueID="" Timestamp="" /> + + * + ErasePage = .T. + Height = 422 + Name = "pg_meniu_princ" + PageCount = 4 + Themes = .F. + Width = 489 + Page1.Caption = "Iniþializãri" + Page1.FontCharSet = 238 + Page1.Name = "Page1" + Page1.PageOrder = 1 + Page2.Caption = "Facturare" + Page2.Name = "Page2" + Page2.PageOrder = 2 + Page3.BackColor = 255,255,255 + Page3.Caption = "Altele" + Page3.FontCharSet = 238 + Page3.Name = "Page3" + Page3.PageOrder = 3 + Page4.BackColor = 255,255,255 + Page4.Caption = "Rapoarte" + Page4.Name = "Page4" + Page4.PageOrder = 4 + * + + ADD OBJECT 'Page1.Cw1' AS cw WITH ; + Left = 5, ; + Name = "Cw1", ; + nid_cw = 1, ; + ntip = 2, ; + TabIndex = 1, ; + Top = 18, ; + Label_item1.Caption = "Clienþi", ; + Label_item1.Name = "Label_item1" + *< END OBJECT: ClassLib="..\comun\clase\ofundal.vcx" BaseClass="container" /> + + ADD OBJECT 'Page1.Cw10' AS cw WITH ; + Left = 5, ; + Name = "Cw10", ; + nid_cw = 10, ; + TabIndex = 8, ; + Top = 255, ; + Label_item1.Caption = "Opþiuni locale", ; + Label_item1.Name = "Label_item1" + *< END OBJECT: ClassLib="..\comun\clase\ofundal.vcx" BaseClass="container" /> + + ADD OBJECT 'Page1.Cw2' AS cw WITH ; + Left = 5, ; + Name = "Cw2", ; + nid_cw = 2, ; + ntip = 2, ; + TabIndex = 2, ; + Top = 40, ; + Visible = .T., ; + Label_item1.Caption = "Configurare articole si conturi", ; + Label_item1.Name = "Label_item1" + *< END OBJECT: ClassLib="..\comun\clase\ofundal.vcx" BaseClass="container" /> + + ADD OBJECT 'Page1.Cw3' AS cw WITH ; + Left = 5, ; + Name = "Cw3", ; + nid_cw = 3, ; + ntip = 2, ; + TabIndex = 3, ; + Top = 62, ; + Visible = .F., ; + Label_item1.Caption = "Delegaþi", ; + Label_item1.Name = "Label_item1" + *< END OBJECT: ClassLib="..\comun\clase\ofundal.vcx" BaseClass="container" /> + + ADD OBJECT 'Page1.Cw4' AS cw WITH ; + Left = 5, ; + Name = "Cw4", ; + nid_cw = 4, ; + ntip = 2, ; + TabIndex = 4, ; + Top = 84, ; + Visible = .F., ; + Label_item1.Caption = "Maºini", ; + Label_item1.Name = "Label_item1" + *< END OBJECT: ClassLib="..\comun\clase\ofundal.vcx" BaseClass="container" /> + + ADD OBJECT 'Page1.Cw5' AS cw WITH ; + Left = 5, ; + Name = "Cw5", ; + nid_cw = 5, ; + TabIndex = 5, ; + Top = 147, ; + Visible = .F., ; + Label_item1.Caption = "Model facturã / aviz", ; + Label_item1.Name = "Label_item1" + *< END OBJECT: ClassLib="..\comun\clase\ofundal.vcx" BaseClass="container" /> + + ADD OBJECT 'Page1.Cw6' AS cw WITH ; + Left = 5, ; + Name = "Cw6", ; + nid_cw = 6, ; + TabIndex = 6, ; + Top = 169, ; + Label_item1.Caption = "Serii numere", ; + Label_item1.Name = "Label_item1" + *< END OBJECT: ClassLib="..\comun\clase\ofundal.vcx" BaseClass="container" /> + + ADD OBJECT 'Page1.Cw7' AS cw WITH ; + Left = 5, ; + Name = "Cw7", ; + nid_cw = 7, ; + ntip = 2, ; + TabIndex = 7, ; + Top = 191, ; + Label_item1.Caption = "Curs valutar", ; + Label_item1.Name = "Label_item1" + *< END OBJECT: ClassLib="..\comun\clase\ofundal.vcx" BaseClass="container" /> + + ADD OBJECT 'Page1.Cw8' AS cw WITH ; + Left = 5, ; + Name = "Cw8", ; + nid_cw = 8, ; + TabIndex = 8, ; + Top = 233, ; + Label_item1.Caption = "Opþiuni server", ; + Label_item1.Name = "Label_item1" + *< END OBJECT: ClassLib="..\comun\clase\ofundal.vcx" BaseClass="container" /> + + ADD OBJECT 'Page1.Cw9' AS cw WITH ; + Left = 5, ; + Name = "Cw9", ; + nid_cw = 9, ; + ntip = 2, ; + TabIndex = 4, ; + Top = 106, ; + Visible = .F., ; + Label_item1.Caption = "Tarife", ; + Label_item1.Name = "Label_item1" + *< END OBJECT: ClassLib="..\comun\clase\ofundal.vcx" BaseClass="container" /> + + ADD OBJECT 'Page1.Pict_liniuta1' AS pict_liniuta WITH ; + Left = 6, ; + Name = "Pict_liniuta1", ; + Picture = ..\comun\grafice\f3.jpg, ; + Top = 219 + *< END OBJECT: ClassLib="..\comun\clase\ofundal.vcx" BaseClass="image" /> + + ADD OBJECT 'Page1.Pict_liniuta2' AS pict_liniuta WITH ; + Left = 6, ; + Name = "Pict_liniuta2", ; + Picture = ..\comun\grafice\f3.jpg, ; + Top = 134 + *< END OBJECT: ClassLib="..\comun\clase\ofundal.vcx" BaseClass="image" /> + + ADD OBJECT 'Page1.Pict_meniu1' AS pict_meniu WITH ; + Left = 2, ; + Name = "Pict_meniu1", ; + Picture = ..\comun\grafice\f2.jpg, ; + Top = 8 + *< END OBJECT: ClassLib="..\comun\clase\ofundal.vcx" BaseClass="image" /> + + ADD OBJECT 'Page2.Cw1' AS cw WITH ; + Left = 5, ; + Name = "Cw1", ; + nid_cw = 1, ; + TabIndex = 1, ; + Top = 18, ; + Label_item1.AutoSize = .T., ; + Label_item1.Caption = "Tranzit", ; + Label_item1.Height = 18, ; + Label_item1.Left = 5, ; + Label_item1.Name = "Label_item1", ; + Label_item1.Top = 3, ; + Label_item1.Width = 39, ; + Label_item1.WordWrap = .T. + *< END OBJECT: ClassLib="..\comun\clase\ofundal.vcx" BaseClass="container" /> + + ADD OBJECT 'Page2.Cw2' AS cw WITH ; + Left = 5, ; + Name = "Cw2", ; + nid_cw = 2, ; + TabIndex = 2, ; + Top = 41, ; + Label_item1.Caption = "Cheiaj", ; + Label_item1.Name = "Label_item1" + *< END OBJECT: ClassLib="..\comun\clase\ofundal.vcx" BaseClass="container" /> + + ADD OBJECT 'Page2.Cw3' AS cw WITH ; + Left = 5, ; + Name = "Cw3", ; + nid_cw = 3, ; + TabIndex = 3, ; + Top = 63, ; + Label_item1.Caption = "Chirii si utilitati", ; + Label_item1.Name = "Label_item1" + *< END OBJECT: ClassLib="..\comun\clase\ofundal.vcx" BaseClass="container" /> + + ADD OBJECT 'Page2.Cw4' AS cw WITH ; + Left = 5, ; + Name = "Cw4", ; + nid_cw = 4, ; + TabIndex = 4, ; + Top = 85, ; + Label_item1.Caption = "Apa", ; + Label_item1.Name = "Label_item1" + *< END OBJECT: ClassLib="..\comun\clase\ofundal.vcx" BaseClass="container" /> + + ADD OBJECT 'Page2.Cw8' AS cw WITH ; + Left = 4, ; + Name = "Cw8", ; + nid_cw = 4, ; + TabIndex = 4, ; + Top = 131, ; + Label_item1.Caption = "Penalitati", ; + Label_item1.Name = "Label_item1" + *< END OBJECT: ClassLib="..\comun\clase\ofundal.vcx" BaseClass="container" /> + + ADD OBJECT 'Page2.Cw9' AS cw WITH ; + Left = 5, ; + Name = "Cw9", ; + nid_cw = 4, ; + TabIndex = 4, ; + Top = 108, ; + Label_item1.Caption = "Diverse", ; + Label_item1.Name = "Label_item1" + *< END OBJECT: ClassLib="..\comun\clase\ofundal.vcx" BaseClass="container" /> + + ADD OBJECT 'Page2.Pict_liniuta2' AS pict_liniuta WITH ; + Left = 6, ; + Name = "Pict_liniuta2", ; + Picture = ..\comun\grafice\f3.jpg, ; + Top = 157 + *< END OBJECT: ClassLib="..\comun\clase\ofundal.vcx" BaseClass="image" /> + + ADD OBJECT 'Page2.Pict_meniu1' AS pict_meniu WITH ; + Left = 2, ; + Name = "Pict_meniu1", ; + Picture = ..\comun\grafice\f2.jpg, ; + Top = 8 + *< END OBJECT: ClassLib="..\comun\clase\ofundal.vcx" BaseClass="image" /> + + ADD OBJECT 'Page3.Pict_meniu1' AS pict_meniu WITH ; + Left = 2, ; + Name = "Pict_meniu1", ; + Picture = ..\comun\grafice\f2.jpg, ; + Top = 8 + *< END OBJECT: ClassLib="..\comun\clase\ofundal.vcx" BaseClass="image" /> + + ADD OBJECT 'Page4.Cw1' AS cw WITH ; + Left = 5, ; + Name = "Cw1", ; + nid_cw = 1, ; + ntip = 2, ; + TabIndex = 1, ; + Top = 18, ; + Label_item1.Caption = "Listã facturi ºi avize", ; + Label_item1.Name = "Label_item1" + *< END OBJECT: ClassLib="..\comun\clase\ofundal.vcx" BaseClass="container" /> + + ADD OBJECT 'Page4.Cw2' AS cw WITH ; + Left = 5, ; + Name = "Cw2", ; + nid_cw = 2, ; + ntip = 2, ; + TabIndex = 2, ; + Top = 40, ; + LABEL_ITEM1.Caption = "Listã proforme", ; + LABEL_ITEM1.Name = "LABEL_ITEM1" + *< END OBJECT: ClassLib="..\comun\clase\ofundal.vcx" BaseClass="container" /> + + ADD OBJECT 'Page4.Cw3' AS cw WITH ; + Left = 6, ; + Name = "Cw3", ; + nid_cw = 5, ; + TabIndex = 5, ; + Top = 127, ; + Label_item1.AutoSize = .F., ; + Label_item1.Caption = "Registru tranzit", ; + Label_item1.Height = 29, ; + Label_item1.Left = 5, ; + Label_item1.Name = "Label_item1", ; + Label_item1.Top = 3, ; + Label_item1.Width = 181, ; + Label_item1.WordWrap = .T. + *< END OBJECT: ClassLib="..\comun\clase\ofundal.vcx" BaseClass="container" /> + + ADD OBJECT 'Page4.Cw4' AS cw WITH ; + Left = 6, ; + Name = "Cw4", ; + nid_cw = 5, ; + TabIndex = 5, ; + Top = 215, ; + Label_item1.AutoSize = .F., ; + Label_item1.Caption = "Rapoarte diverse", ; + Label_item1.Height = 29, ; + Label_item1.Left = 5, ; + Label_item1.Name = "Label_item1", ; + Label_item1.Top = 3, ; + Label_item1.Width = 181, ; + Label_item1.WordWrap = .T. + *< END OBJECT: ClassLib="..\comun\clase\ofundal.vcx" BaseClass="container" /> + + ADD OBJECT 'Page4.Cw5' AS cw WITH ; + Left = 5, ; + Name = "Cw5", ; + nid_cw = 5, ; + TabIndex = 5, ; + Top = 78, ; + Label_item1.AutoSize = .F., ; + Label_item1.Caption = "Registru documente pe locatii", ; + Label_item1.Height = 29, ; + Label_item1.Left = 5, ; + Label_item1.Name = "Label_item1", ; + Label_item1.Top = 3, ; + Label_item1.Width = 181, ; + Label_item1.WordWrap = .T. + *< END OBJECT: ClassLib="..\comun\clase\ofundal.vcx" BaseClass="container" /> + + ADD OBJECT 'Page4.Cw6' AS cw WITH ; + Left = 5, ; + Name = "Cw6", ; + nid_cw = 5, ; + TabIndex = 5, ; + Top = 103, ; + Label_item1.AutoSize = .F., ; + Label_item1.Caption = "Registru convoaie facturate", ; + Label_item1.Height = 29, ; + Label_item1.Left = 5, ; + Label_item1.Name = "Label_item1", ; + Label_item1.Top = 3, ; + Label_item1.Width = 181, ; + Label_item1.WordWrap = .T. + *< END OBJECT: ClassLib="..\comun\clase\ofundal.vcx" BaseClass="container" /> + + ADD OBJECT 'Page4.Cw7' AS cw WITH ; + Left = 6, ; + Name = "Cw7", ; + nid_cw = 5, ; + TabIndex = 5, ; + Top = 191, ; + Label_item1.AutoSize = .F., ; + Label_item1.Caption = "Situatii venituri", ; + Label_item1.Height = 29, ; + Label_item1.Left = 5, ; + Label_item1.Name = "Label_item1", ; + Label_item1.Top = 3, ; + Label_item1.Width = 181, ; + Label_item1.WordWrap = .T. + *< END OBJECT: ClassLib="..\comun\clase\ofundal.vcx" BaseClass="container" /> + + ADD OBJECT 'Page4.Cw8' AS cw WITH ; + Left = 6, ; + Name = "Cw8", ; + nid_cw = 5, ; + TabIndex = 5, ; + Top = 151, ; + Label_item1.AutoSize = .F., ; + Label_item1.Caption = "Registru cheiaj", ; + Label_item1.Height = 29, ; + Label_item1.Left = 5, ; + Label_item1.Name = "Label_item1", ; + Label_item1.Top = 3, ; + Label_item1.Width = 181, ; + Label_item1.WordWrap = .T. + *< END OBJECT: ClassLib="..\comun\clase\ofundal.vcx" BaseClass="container" /> + + ADD OBJECT 'Page4.Pict_liniuta1' AS pict_liniuta WITH ; + Left = 5, ; + Name = "Pict_liniuta1", ; + Picture = ..\comun\grafice\f3.jpg, ; + Top = 180 + *< END OBJECT: ClassLib="..\comun\clase\ofundal.vcx" BaseClass="image" /> + + ADD OBJECT 'Page4.Pict_liniuta2' AS pict_liniuta WITH ; + Left = 5, ; + Name = "Pict_liniuta2", ; + Picture = ..\comun\grafice\f3.jpg, ; + Top = 66 + *< END OBJECT: ClassLib="..\comun\clase\ofundal.vcx" BaseClass="image" /> + + ADD OBJECT 'Page4.Pict_meniu1' AS pict_meniu WITH ; + Left = 2, ; + Name = "Pict_meniu1", ; + Picture = ..\comun\grafice\f2.jpg, ; + Top = 8 + *< END OBJECT: ClassLib="..\comun\clase\ofundal.vcx" BaseClass="image" /> + + PROCEDURE Page1.Cw1.do_actiune + gcAcces=[1;2;3;4;5;6;7;8;] + Do vizualizare_clienti WITH .T. In onomenclatoare.prg + ENDPROC + + PROCEDURE Page1.Cw10.do_actiune + Do vizualizare_optiuni_facturare In oproceduri_facturare.prg With 2 + ENDPROC + + PROCEDURE Page1.Cw2.do_actiune + Do configurare_articole_conturi In proceduri_acnpro.prg + ENDPROC + + PROCEDURE Page1.Cw3.do_actiune + Do vizualizare_delegati In onomenclatoare.prg + ENDPROC + + PROCEDURE Page1.Cw4.do_actiune + Do vizualizare_masini In onomenclatoare2.prg + ENDPROC + + PROCEDURE Page1.Cw5.do_actiune + Do model.mpr + ENDPROC + + PROCEDURE Page1.Cw6.do_actiune + Do viz_config_serii_complet In oserii_numere.prg With 5 + *!* DO serii_numere.mpr + ENDPROC + + PROCEDURE Page1.Cw7.do_actiune + DO vizualizeaza_curs IN oproceduri_curs.prg WITH Ttod(get_ora()) + ENDPROC + + PROCEDURE Page1.Cw8.do_actiune + Do vizualizare_optiuni_facturare In oproceduri_facturare.prg With 1 + ENDPROC + + PROCEDURE Page1.Cw9.do_actiune + DO tarife.mpr + ENDPROC + + PROCEDURE Page2.Cw1.do_actiune + DO factura_acn WITH "TRANZIT" IN proceduri_acnpro.prg + * DO vizualizare_tranzit WITH 0 IN proceduri_acnpro.prg + ENDPROC + + PROCEDURE Page2.Cw2.do_actiune + DO factura_acn WITH "CHEIAJ" IN proceduri_acnpro.prg + * DO vizualizare_tranzit WITH 1 IN proceduri_acnpro.prg + ENDPROC + + PROCEDURE Page2.Cw3.do_actiune + DO factura_acn WITH "CHIRII" IN proceduri_acnpro.prg + * DO factura_contract WITH 'CHIRII' IN proceduri_acnpro.prg + + ENDPROC + + PROCEDURE Page2.Cw4.do_actiune + DO factura_acn WITH "APA" IN proceduri_acnpro.prg + ENDPROC + + PROCEDURE Page2.Cw8.do_actiune + LOCAL lnOptiune + lnOptiune = xmenu('Vizualizare penalitati;Factura penalitati') + IF EMPTY(m.lnOptiune) + RETURN + ENDIF + IF m.lnOptiune = 1 + DO vizualizare_penalitati IN proceduri_acnpro.prg + ELSE + DO factura_acn WITH "PENALITATI" IN proceduri_acnpro.prg + ENDIF + ENDPROC + + PROCEDURE Page2.Cw9.do_actiune + DO factura_acn WITH "DIVERSE" IN proceduri_acnpro.prg + ENDPROC + + PROCEDURE Page4.Cw1.do_actiune + DO vizualizare_facturi2 WITH .T. IN oproceduri_facturare.prg + ENDPROC + + PROCEDURE Page4.Cw2.do_actiune + Do vizualizare_proforme In oproceduri_facturare.prg + ENDPROC + + PROCEDURE Page4.Cw3.do_actiune + lnOptiune = xmenu('Fara valori pe SASn/CAMn;Cu valori pe SASn/CAMn') + IF EMPTY(m.lnOptiune) + RETURN + ENDIF + DO vizualizare_tranzit_nave WITH m.lnOptiune IN proceduri_acnpro.prg + ENDPROC + + PROCEDURE Page4.Cw4.do_actiune + lnOptiune = xmenu('Raport concordanta contabilitate - comercial') + IF EMPTY(m.lnOptiune) + RETURN + ENDIF + DO CASE + CASE m.lnOptiune = 1 + DO Raport1_Concordanta IN proceduri_acnpro_rapoarte.prg + ENDCASE + ENDPROC + + PROCEDURE Page4.Cw5.do_actiune + DO vizualizare_regdoc IN proceduri_acnpro.prg + ENDPROC + + PROCEDURE Page4.Cw6.do_actiune + DO vizualizare_tranzit_facturi IN proceduri_acnpro.prg + ENDPROC + + PROCEDURE Page4.Cw7.do_actiune + DO situatii_venituri IN proceduri_acnpro_rapoarte.prg + ENDPROC + + PROCEDURE Page4.Cw8.do_actiune + DO vizualizare_cheiaj_nave IN proceduri_acnpro.prg + ENDPROC + +ENDDEFINE diff --git a/Ferestre/fundal.sc2 b/Ferestre/fundal.sc2 new file mode 100644 index 0000000..70d4f83 --- /dev/null +++ b/Ferestre/fundal.sc2 @@ -0,0 +1,358 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="fundal.scx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS dataenvironment AS dataenvironment + *< CLASSDATA: Baseclass="dataenvironment" Timestamp="" Scale="" Uniqueid="" ClassIcon="1" /> + + * + DataSource = .NULL. + Height = 200 + Left = 1 + Name = "Dataenvironment" + Top = 220 + Width = 520 + * + +ENDDEFINE + +DEFINE CLASS form1 AS form + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Label1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Text2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Image2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="_pgfrmbase1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Image1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_utilizator" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="lb_utilizator1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Imagine4" UniqueID="" Timestamp="" /> + + * + *m: arata_meniu_fluna + *m: jurnal + *m: statusbarclick + *p: _memberdata && XML Metadata for customizable properties + * + + * + AlwaysOnBottom = .T. + AutoCenter = .T. + BackColor = 255,255,255 + BorderStyle = 0 + Caption = "" + Closable = .F. + ControlBox = .F. + DoCreate = .T. + Enabled = .T. + FillColor = 0,0,0 + HalfHeightCaption = .F. + Height = 429 + MaxButton = .F. + MinButton = .F. + Movable = .F. + Name = "Form1" + Picture = ..\..\ + ShowTips = .T. + Width = 797 + WindowState = 2 + _memberdata = + + + * + + ADD OBJECT '_pgfrmbase1' AS pg_meniu_princ WITH ; + Anchor = 15, ; + ErasePage = .T., ; + Height = 457, ; + Left = -2, ; + Name = "_pgfrmbase1", ; + Top = 60, ; + Width = 794, ; + Page1.Cw1.Label_item1.Name = "Label_item1", ; + Page1.Cw1.Name = "Cw1", ; + Page1.Cw10.Label_item1.Name = "Label_item1", ; + Page1.Cw10.Name = "Cw10", ; + Page1.Cw10.Visible = .F., ; + Page1.Cw2.Label_item1.Name = "Label_item1", ; + Page1.Cw2.Name = "Cw2", ; + Page1.Cw3.Label_item1.Name = "Label_item1", ; + Page1.Cw3.Name = "Cw3", ; + Page1.Cw4.Label_item1.Name = "Label_item1", ; + Page1.Cw4.Name = "Cw4", ; + Page1.Cw5.Label_item1.Name = "Label_item1", ; + Page1.Cw5.Name = "Cw5", ; + Page1.Cw6.Label_item1.Name = "Label_item1", ; + Page1.Cw6.Name = "Cw6", ; + Page1.Cw7.Label_item1.Name = "Label_item1", ; + Page1.Cw7.Name = "Cw7", ; + Page1.Cw8.Label_item1.Name = "Label_item1", ; + Page1.Cw8.Name = "Cw8", ; + Page1.Cw8.Visible = .F., ; + Page1.Cw9.Label_item1.Name = "Label_item1", ; + Page1.Cw9.Name = "Cw9", ; + Page1.Cw9.Visible = .T., ; + Page1.Name = "Page1", ; + Page1.PageOrder = 1, ; + Page1.Pict_liniuta1.Name = "Pict_liniuta1", ; + Page1.Pict_liniuta2.Name = "Pict_liniuta2", ; + Page1.Pict_meniu1.Name = "Pict_meniu1", ; + Page2.Cw1.Label_item1.Name = "Label_item1", ; + Page2.Cw1.Name = "Cw1", ; + Page2.Cw2.Label_item1.Name = "Label_item1", ; + Page2.Cw2.Name = "Cw2", ; + Page2.Cw3.Label_item1.Name = "Label_item1", ; + Page2.Cw3.Name = "Cw3", ; + Page2.Cw4.Label_item1.Name = "Label_item1", ; + Page2.Cw4.Name = "Cw4", ; + Page2.Cw8.Label_item1.Name = "Label_item1", ; + Page2.Cw8.Name = "Cw8", ; + Page2.Cw9.Label_item1.Name = "Label_item1", ; + Page2.Cw9.Name = "Cw9", ; + Page2.Name = "Page2", ; + Page2.PageOrder = 2, ; + Page2.Pict_liniuta2.Name = "Pict_liniuta2", ; + Page2.Pict_meniu1.Name = "Pict_meniu1", ; + Page3.Name = "Page3", ; + Page3.PageOrder = 3, ; + Page3.Pict_meniu1.Name = "Pict_meniu1", ; + Page4.Cw1.Label_item1.Name = "Label_item1", ; + Page4.Cw1.Name = "Cw1", ; + Page4.Cw2.Label_item1.Name = "Label_item1", ; + Page4.Cw2.Name = "Cw2", ; + Page4.Cw3.Label_item1.Name = "Label_item1", ; + Page4.Cw3.Name = "Cw3", ; + Page4.Cw4.Label_item1.Name = "Label_item1", ; + Page4.Cw4.Name = "Cw4", ; + Page4.Cw5.Label_item1.Name = "Label_item1", ; + Page4.Cw5.Name = "Cw5", ; + Page4.Cw6.Label_item1.Name = "Label_item1", ; + Page4.Cw6.Name = "Cw6", ; + Page4.Cw7.Label_item1.Name = "Label_item1", ; + Page4.Cw7.Name = "Cw7", ; + Page4.Name = "Page4", ; + Page4.PageOrder = 4, ; + Page4.Pict_liniuta1.Name = "Pict_liniuta1", ; + Page4.Pict_liniuta2.Name = "Pict_liniuta2", ; + Page4.Pict_meniu1.Name = "Pict_meniu1" + *< END OBJECT: ClassLib="..\clase\ofundal_facturare.vcx" BaseClass="pageframe" /> + + ADD OBJECT 'Image1' AS image WITH ; + Anchor = 12, ; + Height = 220, ; + Left = 228, ; + Name = "Image1", ; + Picture = ..\grafice\roafacturare.jpg, ; + Stretch = 0, ; + Top = 205, ; + Width = 556 + *< END OBJECT: BaseClass="image" /> + + ADD OBJECT 'Image2' AS image WITH ; + Height = 63, ; + Left = -11, ; + Name = "Image2", ; + Picture = ..\comun\grafice\f1.jpg, ; + Stretch = 2, ; + Top = -1, ; + Width = 851 + *< END OBJECT: BaseClass="image" /> + + ADD OBJECT 'Imagine4' AS imagine WITH ; + Height = 52, ; + Left = 0, ; + Name = "Imagine4", ; + Picture = ..\grafice\icon_registru2.png, ; + picturedown = icon_registru1.png, ; + pictureup = icon_registru2.png, ; + ToolTipText = "Lista facturi", ; + Top = 0, ; + Width = 72 + *< END OBJECT: ClassLib="..\comun\clase\ofundal.vcx" BaseClass="image" /> + + ADD OBJECT 'Label1' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Operator:", ; + FontItalic = .T., ; + ForeColor = 0,0,128, ; + Height = 17, ; + Left = 7, ; + Name = "Label1", ; + Top = 381, ; + Width = 53 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'Label2' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Nivel de acces:", ; + FontItalic = .T., ; + ForeColor = 0,0,128, ; + Height = 17, ; + Left = 7, ; + Name = "Label2", ; + Top = 401, ; + Width = 85 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'lb_utilizator' AS lb_simplu WITH ; + Anchor = 9, ; + Caption = "Operator:", ; + FontItalic = .T., ; + ForeColor = 255,255,255, ; + Left = 486, ; + Name = "lb_utilizator", ; + Top = 8 + *< END OBJECT: ClassLib="..\comun\clase\lb.vcx" BaseClass="label" /> + + ADD OBJECT 'lb_utilizator1' AS lb_simplu WITH ; + Anchor = 9, ; + Caption = "nume_utilizator", ; + FontBold = .T., ; + FontItalic = .T., ; + ForeColor = 255,255,255, ; + Left = 540, ; + Name = "lb_utilizator1", ; + Top = 8, ; + Visible = .F. + *< END OBJECT: ClassLib="..\comun\clase\lb.vcx" BaseClass="label" /> + + ADD OBJECT 'Text1' AS textbox WITH ; + BackStyle = 0, ; + BorderStyle = 0, ; + ControlSource = "utilizator", ; + FontBold = .T., ; + FontItalic = .T., ; + ForeColor = 0,0,128, ; + Height = 23, ; + Left = 62, ; + Name = "Text1", ; + ReadOnly = .T., ; + TabStop = .F., ; + Top = 380, ; + Width = 147 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'Text2' AS textbox WITH ; + BackStyle = 0, ; + BorderStyle = 0, ; + ControlSource = "m.nivel", ; + FontBold = .T., ; + FontItalic = .T., ; + ForeColor = 0,0,128, ; + Height = 23, ; + Left = 93, ; + Name = "Text2", ; + ReadOnly = .T., ; + TabStop = .F., ; + Top = 400, ; + Width = 28 + *< END OBJECT: BaseClass="textbox" /> + + PROCEDURE Activate + Local lnScrH,lnScrW + lnScrW = _Screen.Width + lnScrH = _Screen.Height + + Thisform.image1.Top = lnScrH - Thisform.image1.Height - 50 + Thisform.image1.Left = lnScrW - Thisform.image1.Width - 30 + Thisform.image2.Width = lnScrW + 30 + With Thisform._pgfrmbase1 + .Width = lnScrW + .Height = Thisform.Height-Thisform.image2.Height + .page1.Pict_meniu1.Height = .Height + .page2.Pict_meniu1.Height = .Height + .page3.Pict_meniu1.Height = .Height + .page4.Pict_meniu1.Height = .Height + Endwith + *!* If primadata + *!* primadata = .F. + + *!* Do start_firma In ostartfirma.prg + *!* verifica_drepturi2('gofundal','_pgfrmbase1') + *!* Thisform.lb_utilizator1.Caption=Alltrim(gcUserNameApp) + *!* Thisform.lb_utilizator1.Visible=.T. + + *!* Endif + + ENDPROC + + PROCEDURE arata_meniu_fluna + Do start_firma In ostartfirma.prg + verifica_drepturi2('gofundal','_pgfrmbase1') + ENDPROC + + PROCEDURE jurnal + ENDPROC + + PROCEDURE KeyPress + Lparameters nKeyCode, nShiftAltCtrl + If nKeyCode==-1 &&F2 + Quit + Endif + + + + ENDPROC + + PROCEDURE RightClick + Thisform.arata_meniu_fluna() + ENDPROC + + PROCEDURE Show + Lparameters nStyle + DoDefault(nStyle) + Thisform.arata_meniu_fluna() + primadata = .F. + Thisform.lb_utilizator1.Caption=Alltrim(gcUserNameApp) + Thisform.lb_utilizator1.Visible=.T. + Do lansare_toolbar In oproceduri_comune.prg + DO lansare_help IN oproceduri_comune.prg + * Do verifica_setari In oproceduri_facturare.prg - nu verific drepturi pe politici de preturi, gestiuni, curs valutar + Thisform._pgfrmbase1.ActivePage = 2 + ENDPROC + + PROCEDURE statusbarclick + Thisform.oStatusBar.newtooltip() + + ENDPROC + + PROCEDURE Image1.RightClick + Thisform.arata_meniu_fluna() + ENDPROC + + PROCEDURE Imagine4.do_actiune + DO vizualizare_facturi2 WITH .T. IN oproceduri_facturare.prg + ENDPROC + + PROCEDURE lb_utilizator.RightClick + Thisform.arata_meniu_fluna() + ENDPROC + + PROCEDURE lb_utilizator1.RightClick + Thisform.arata_meniu_fluna() + ENDPROC + + PROCEDURE _pgfrmbase1.Page1.RightClick + Thisform.arata_meniu_fluna() + ENDPROC + + PROCEDURE _pgfrmbase1.Page2.RightClick + Thisform.arata_meniu_fluna() + ENDPROC + + PROCEDURE _pgfrmbase1.Page3.RightClick + Thisform.arata_meniu_fluna() + ENDPROC + + PROCEDURE _pgfrmbase1.Page4.RightClick + Thisform.arata_meniu_fluna() + ENDPROC + +ENDDEFINE diff --git a/Ferestre/importroris.sc2 b/Ferestre/importroris.sc2 new file mode 100644 index 0000000..b17e781 --- /dev/null +++ b/Ferestre/importroris.sc2 @@ -0,0 +1,125 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="importroris.scx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +* +DEFINE CLASS dataenvironment AS dataenvironment + *< CLASSDATA: Baseclass="dataenvironment" Timestamp="" Scale="" Uniqueid="" ClassIcon="1" /> + + * + DataSource = .NULL. + Height = 0 + Left = 0 + Name = "Dataenvironment" + Top = 0 + Width = 0 + * + +ENDDEFINE + +DEFINE CLASS form1 AS form + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="" Uniqueid="" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Command1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Command2" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="txtNrZile" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Label1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Command3" UniqueID="" Timestamp="" /> + + * + Caption = "Import RORIS - ROA" + DoCreate = .T. + Height = 144 + Icon = ..\grafice\import_roris.ico + Left = 0 + Name = "Form1" + Top = 0 + Width = 351 + WindowType = 1 + * + + ADD OBJECT 'Command1' AS commandbutton WITH ; + AutoSize = .F., ; + Caption = "\ + + ADD OBJECT 'Command2' AS commandbutton WITH ; + AutoSize = .F., ; + Caption = "\ + + ADD OBJECT 'Command3' AS commandbutton WITH ; + AutoSize = .F., ; + Caption = "Afiseaza stare job import", ; + Height = 27, ; + Left = 144, ; + Name = "Command3", ; + Top = 94, ; + Width = 153 + *< END OBJECT: BaseClass="commandbutton" /> + + ADD OBJECT 'Label1' AS label WITH ; + AutoSize = .T., ; + BackStyle = 0, ; + Caption = "Nr. zile import", ; + Height = 17, ; + Left = 24, ; + Name = "Label1", ; + Top = 8, ; + Width = 77 + *< END OBJECT: BaseClass="label" /> + + ADD OBJECT 'txtNrZile' AS textbox WITH ; + Alignment = 3, ; + Height = 23, ; + Left = 24, ; + Name = "txtNrZile", ; + Top = 26, ; + Value = 30, ; + Width = 100 + *< END OBJECT: BaseClass="textbox" /> + + PROCEDURE Init + _screen.Visible = .T. + _screen.Icon= 'D:\ROA\ROAACNPRO\GRAFICE\IMPORT_RORIS.ICO' + _Screen.Caption = 'ROA Import RORIS - ROA' + ENDPROC + + PROCEDURE Command1.Click + Local llSilentios, lnOptiune, lnZile + llSilentios = .F. + lnOptiune = 1 + lnZile = Thisform.txtNrZile.Value + Do importroris_proceduri.prg With m.llSilentios, m.lnOptiune, m.lnZile + ENDPROC + + PROCEDURE Command2.Click + Local llSilentios, lnOptiune + llSilentios = .F. + lnOptiune = 2 + lnZile = Thisform.txtNrZile.Value + Do importroris_proceduri.prg With m.llSilentios, m.lnOptiune + + ENDPROC + + PROCEDURE Command3.Click + Local llSilentios, lnOptiune + llSilentios = .F. + lnOptiune = 3 + Do importroris_proceduri.prg With m.llSilentios, m.lnOptiune + + ENDPROC + +ENDDEFINE diff --git a/Grafice/cheiaj.png b/Grafice/cheiaj.png new file mode 100644 index 0000000..f0b3e0c Binary files /dev/null and b/Grafice/cheiaj.png differ diff --git a/Grafice/f1.jpg b/Grafice/f1.jpg new file mode 100644 index 0000000..3bff03e Binary files /dev/null and b/Grafice/f1.jpg differ diff --git a/Grafice/f2.jpg b/Grafice/f2.jpg new file mode 100644 index 0000000..8e53539 Binary files /dev/null and b/Grafice/f2.jpg differ diff --git a/Grafice/f3.jpg b/Grafice/f3.jpg new file mode 100644 index 0000000..21fd7cd Binary files /dev/null and b/Grafice/f3.jpg differ diff --git a/Grafice/icon_cheiaj1.png b/Grafice/icon_cheiaj1.png new file mode 100644 index 0000000..83d3b84 Binary files /dev/null and b/Grafice/icon_cheiaj1.png differ diff --git a/Grafice/icon_cheiaj2.png b/Grafice/icon_cheiaj2.png new file mode 100644 index 0000000..c1138cb Binary files /dev/null and b/Grafice/icon_cheiaj2.png differ diff --git a/Grafice/icon_registru1.png b/Grafice/icon_registru1.png new file mode 100644 index 0000000..2b2042d Binary files /dev/null and b/Grafice/icon_registru1.png differ diff --git a/Grafice/icon_registru2.png b/Grafice/icon_registru2.png new file mode 100644 index 0000000..5fd13c0 Binary files /dev/null and b/Grafice/icon_registru2.png differ diff --git a/Grafice/icon_tranzit1.png b/Grafice/icon_tranzit1.png new file mode 100644 index 0000000..7ac5d78 Binary files /dev/null and b/Grafice/icon_tranzit1.png differ diff --git a/Grafice/icon_tranzit2.png b/Grafice/icon_tranzit2.png new file mode 100644 index 0000000..bcf5a69 Binary files /dev/null and b/Grafice/icon_tranzit2.png differ diff --git a/Grafice/icon_utilitati1.png b/Grafice/icon_utilitati1.png new file mode 100644 index 0000000..0774927 Binary files /dev/null and b/Grafice/icon_utilitati1.png differ diff --git a/Grafice/icon_utilitati2.png b/Grafice/icon_utilitati2.png new file mode 100644 index 0000000..45b4b3a Binary files /dev/null and b/Grafice/icon_utilitati2.png differ diff --git a/Grafice/import_16.png b/Grafice/import_16.png new file mode 100644 index 0000000..7250870 Binary files /dev/null and b/Grafice/import_16.png differ diff --git a/Grafice/import_24.png b/Grafice/import_24.png new file mode 100644 index 0000000..fe3c533 Binary files /dev/null and b/Grafice/import_24.png differ diff --git a/Grafice/import_32.png b/Grafice/import_32.png new file mode 100644 index 0000000..f29f381 Binary files /dev/null and b/Grafice/import_32.png differ diff --git a/Grafice/import_roris.ico b/Grafice/import_roris.ico new file mode 100644 index 0000000..c5ed6db Binary files /dev/null and b/Grafice/import_roris.ico differ diff --git a/Grafice/registru.png b/Grafice/registru.png new file mode 100644 index 0000000..71d021e Binary files /dev/null and b/Grafice/registru.png differ diff --git a/Grafice/roaacnpro.ico b/Grafice/roaacnpro.ico new file mode 100644 index 0000000..93ba995 Binary files /dev/null and b/Grafice/roaacnpro.ico differ diff --git a/Grafice/roafacturare.jpg b/Grafice/roafacturare.jpg new file mode 100644 index 0000000..a426462 Binary files /dev/null and b/Grafice/roafacturare.jpg differ diff --git a/Grafice/tranzit.png b/Grafice/tranzit.png new file mode 100644 index 0000000..41ded12 Binary files /dev/null and b/Grafice/tranzit.png differ diff --git a/Grafice/utilitati.png b/Grafice/utilitati.png new file mode 100644 index 0000000..84c5799 Binary files /dev/null and b/Grafice/utilitati.png differ diff --git a/Include/roaacnpro.h b/Include/roaacnpro.h new file mode 100644 index 0000000..dccef90 --- /dev/null +++ b/Include/roaacnpro.h @@ -0,0 +1,17 @@ +#Define TIP_TRANZIT 'TRANZIT' +#Define TIP_CHEIAJ 'CHEIAJ' +#Define TIP_APA 'APA' +#Define TIP_CHIRII 'CHIRII' +#Define TIP_PILOTAJ 'PILOTAJ' +#Define TIP_ALTE 'ALTE' +#Define TIP_PENALITATI 'PENALITATI' +#Define TIP_DIVERSE 'DIVERSE' + +#Define NTIP_TRANZIT 0 +#Define NTIP_CHEIAJ 1 +#Define NTIP_APA 2 +#Define NTIP_CHIRII 3 +#Define NTIP_PILOTAJ 4 +#Define NTIP_ALTE 5 +#Define NTIP_PENALITATI 6 +#Define NTIP_DIVERSE 9 diff --git a/Meniuri/roaacnpro.mn2 b/Meniuri/roaacnpro.mn2 new file mode 100644 index 0000000..d95c121 --- /dev/null +++ b/Meniuri/roaacnpro.mn2 @@ -0,0 +1,83 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="roaacnpro.mnx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +*1 +*REPLACE + +* +DEFINE MENU _msysmenu BAR +DEFINE PAD _000000001 OF _msysmenu PROMPT "\ + +* +PROCEDURE BAR_1_OF_Utile_FB2P + Do apeleaza_calc In oproceduri_comune.prg +ENDPROC && BAR_1_OF_Utile_FB2P + +PROCEDURE BAR_2_OF_Utile_FB2P + DO apeleaza_notepad IN oproceduri_comune.prg +ENDPROC && BAR_2_OF_Utile_FB2P + +PROCEDURE BAR_4_OF_Utile_FB2P + QUIT +ENDPROC && BAR_4_OF_Utile_FB2P + +PROCEDURE BAR_1_OF_Ajutor_FB2P + Do arata_manual In oproceduri_comune.prg +ENDPROC && BAR_1_OF_Ajutor_FB2P + +PROCEDURE BAR_3_OF_Ajutor_FB2P + DO arata_modificari IN oproceduri_comune.prg +ENDPROC && BAR_3_OF_Ajutor_FB2P + +PROCEDURE BAR_4_OF_Ajutor_FB2P + DO arata_versiune IN oproceduri_comune.prg +ENDPROC && BAR_4_OF_Ajutor_FB2P + +* diff --git a/Meniuri/situatii_venituri.mn2 b/Meniuri/situatii_venituri.mn2 new file mode 100644 index 0000000..c96b470 --- /dev/null +++ b/Meniuri/situatii_venituri.mn2 @@ -0,0 +1,54 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="situatii_venituri.mnx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +*4 +*REPLACE + +* +DEFINE POPUP Shortcut SHORTCUT RELATIVE FROM MROW(),MCOL() +DEFINE BAR 1 OF Shortcut PROMPT "\Tranzit" +ON BAR 1 OF Shortcut ACTIVATE POPUP Tranzit + + *---------------------------------- + DEFINE POPUP Tranzit SHORTCUT RELATIVE +DEFINE BAR 2 OF Shortcut PROMPT "Cheiaj nave" +ON BAR 2 OF Shortcut ACTIVATE POPUP Cheiajnave + + *---------------------------------- + DEFINE POPUP Cheiajnave SHORTCUT RELATIVE + DEFINE BAR 1 OF Cheiajnave PROMPT "\Clienti - venituri \ \ No newline at end of file diff --git a/Meniuri/tarife.mn2 b/Meniuri/tarife.mn2 new file mode 100644 index 0000000..836a1fa --- /dev/null +++ b/Meniuri/tarife.mn2 @@ -0,0 +1,21 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="tarife.mnx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +*4 +*REPLACE + +* +DEFINE POPUP Shortcut SHORTCUT RELATIVE FROM MROW(),MCOL() +DEFINE BAR 1 OF Shortcut PROMPT "Tarife tranzit" +ON SELECTION BAR 1 OF Shortcut do vizualizare_tarife_tranzit in proceduri_acnpro.prg + +DEFINE BAR 2 OF Shortcut PROMPT "Tarife cheiaj" +ON SELECTION BAR 2 OF Shortcut do vizualizare_tarife_cheiaj in proceduri_acnpro.prg + +DEFINE BAR 3 OF Shortcut PROMPT "Tarife \ \ No newline at end of file diff --git a/Programe/importroris_main.prg b/Programe/importroris_main.prg new file mode 100644 index 0000000..7b437e2 --- /dev/null +++ b/Programe/importroris_main.prg @@ -0,0 +1,49 @@ +Lparameters tcOptiune, tnZile +* tcOptiune: s (lanseaza import silentios) +* tnZile: nnn (numarul de zile pentru import) + +Set Century On +Set Date Dmy +Set Exact On +Set Ansi On +Set Deleted On +Set Safety Off +Set Deleted On +Set NullDisplay To '' + +PRIVATE gcMainPath, gcLogStamp +gcMainPath = UPPER(ADDBS(JUSTPATH(SYS(16,0)))) +gcMainPath = STRTRAN(m.gcMainPath,'PROGRAME\', '') +gcLogStamp = SYS(2015) +lcPath = gcMainPath + 'ferestre\;' + +SET DEFAULT TO (m.gcMainPath) +SET PATH TO (m.lcPath) ADDITIVE + +Local lcOptiune, lnOptiune, llSilentios, lnZile +lcOptiune = Lower(Alltrim(Transform(m.tcOptiune))) +llSilentios = (m.lcOptiune = 's') +lnZile = Int(Val(Transform(m.tnZile))) +lnZile = Iif(Empty(m.lnZile), 30, m.lnZile) + + +WriteLog('Start import RORIS silentios: ' + TRANSFORM(m.llSilentios) + ', zile: ' + ALLTRIM(TRANSFORM(m.lnZile))) + +If m.llSilentios + lnOptiune = 1 + Do importroris_proceduri.prg With llSilentios, m.lnOptiune, m.lnZile +Else + Do Form importroris +ENDIF + +WriteLog('End import RORIS silentios: ' + TRANSFORM(m.llSilentios) + ', zile: ' + ALLTRIM(TRANSFORM(m.lnZile))) +WriteLog('') + +PROCEDURE WriteLog + LPARAMETERS tcMesaj + lcMesaj = m.gcLogStamp + ' ' + TRANSFORM(DATETIME()) + ' ' + TRANSFORM(m.tcMesaj) + CHR(13) + lcFile = m.gcMainPath + 'log.txt' + IF FILE(m.lcFile) + STRTOFILE(m.lcMesaj, m.lcFile, .T.) + ENDIF +ENDPROC \ No newline at end of file diff --git a/Programe/importroris_proceduri.prg b/Programe/importroris_proceduri.prg new file mode 100644 index 0000000..2ac288f --- /dev/null +++ b/Programe/importroris_proceduri.prg @@ -0,0 +1,191 @@ +Lparameters llSilentios, lnOptiune, lnZile + + +If Empty(m.lnOptiune) + lnOptiune = xmenu('Creeaza job import RORIS;Verifica log') +Endif +If Empty(m.lnOptiune) + Return +Endif + +lnHandle = SQLConnect('ROA', 'ACN', 'ROMFASTSOFT') + +If m.lnHandle <= 0 + Aerror(laEroare) + WriteLog(laEroare(3)) + IF !m.llSilentios + Messagebox(laEroare(3)) + ENDIF + Return +Endif + +Do Case + Case m.lnOptiune = 1 + IF EMPTY(m.lnZile) + lcZile = Inputbox('Numar zile de tranzit pentru import (implicit 30)', 'Nr zile', '30') + lnZile = Iif(!Empty(Val(m.lcZile)), Val(m.lcZile), 30) + ENDIF + + Private ptLastGenerationTime + ptLastGenerationTime = Date() - m.lnZile + + If m.llSilentios OR (Messagebox('Se lanseaza importul pentru tranzitele >= ' + Ttoc(m.ptLastGenerationTime) + '?',4+32,_Screen.Caption) = 6) + lcSql = [begin pack_acn_import.import_roris_job(?ptLastGenerationTime); end;] + lnSucces = SQLExec(m.lnHandle, m.lcSql) + If m.lnSucces > 0 + WriteLog('S-a creat job-ul pentru import') + + IF !m.llSilentios + Messagebox('S-a creat job-ul pentru import',0+64,_Screen.Caption,10) + ENDIF + Else + Aerror(laEroare) + WriteLog(laEroare(3)) + IF !m.llSilentios + Messagebox(laEroare(3)) + ENDIF + Endif + Endif + Case m.lnOptiune = 2 + lcSql = [select to_char(substr(info,1,200)) as info, dataora from info where locatia = 'import_roris' and trunc(dataora) = trunc(sysdate) order by dataora desc] + lnSucces = SQLExec(m.lnHandle, m.lcSql, 'crsImportTemp') + If m.lnSucces > 0 + CREATE CURSOR crsImport (info c(200) null, dataora T) + SELECT crsImport + APPEND FROM DBF('crsImportTemp') + + Select crsImport + GO TOP + BROWSE TITLE 'LOG IMPORT (ESC pentru iesire)' PREFERENCE IMPORT + USE IN (SELECT('crsImportTemp')) + USE IN (SELECT('crsImport')) + Else + Aerror(laEroare) + Messagebox(laEroare(3)) + ENDIF + + Case m.lnOptiune = 3 + TEXT TO lcsql NOSHOW +SELECT LOG_ID, + CAST(LOG_DATE AS DATE) as log_date, + JOB_NAME, + STATUS, + CAST(actual_start_date AS DATE) as start_date, + to_char(RUN_DURATION) AS duration, + additional_info as errors + FROM USER_SCHEDULER_JOB_RUN_DETAILS + WHERE TRUNC(LOG_DATE) >= TRUNC(SYSDATE) - 7 + ORDER BY LOG_ID DESC + ENDTEXT + + lnSucces = SQLExec(m.lnHandle, m.lcSql, 'crsJobTemp') + If m.lnSucces > 0 + CREATE CURSOR crsJob (log_id I, log_date T null, job_name C(200) null, status C(20) null, start_date T null, duration C(30) null, errors C(250) null) + SELECT crsJob + APPEND FROM DBF('crsJobTemp') + + Select crsJob + GO TOP + BROWSE TITLE 'Stare joburi import (ESC pentru iesire)' PREFERENCE JOB + USE IN (SELECT('crsJobTemp')) + USE IN (SELECT('crsJob')) + Else + Aerror(laEroare) + Messagebox(laEroare(3)) + ENDIF + + +Endcase + +SQLDisconnect(m.lnHandle) + + + +*------------------------------------------- +* Function...: Xmenu +* Author.....: MARTIN +* Date.......: 04/06/1997 +* Notes......: Based on an idea from Steve Zimmelman for FoxPro 2.x +* Parameters.: tcItems = Semicolon-separated String with the various options +* ...........: tnBar = Initially selected item (default=1) +* Returns....: Selected item number +* See Also...: PROMPT() [FoxPro Native] +* +Procedure xmenu + Lparameters TCITEMS, TNBAR + + Local NITEMCOUNT, AITEMS, X, NROW, NCOL, CTITLE, NLASTPOS, CCOLOR, AITEMS + + Private CPOPMENU, NSELECT && They flow into the GetChoice internal procedure + + If Pcount() < 2 + TNBAR = 1 + Endif + + Activate Screen + + * Parse every item + * + m.NITEMCOUNT = Occurs( ';', TCITEMS ) + 1 + Dimen AITEMS[ m.nItemCount ] + m.NLASTPOS = 1 + + For m.X = 1 To m.NITEMCOUNT + + If m.X < m.NITEMCOUNT + + AITEMS[ m.x ] = Subs( m.TCITEMS, m.NLASTPOS, ; + ( At( ';', m.TCITEMS, m.X ) - 1 ) - m.NLASTPOS + 1 ) + Else + AITEMS[ m.x ] = Subs( m.TCITEMS, m.NLASTPOS, ; + ( Len( m.TCITEMS ) - m.NLASTPOS ) + 1 ) + Endif + + If AITEMS[ m.x ] # "\-" + + AITEMS[ m.x ] = Allt( AITEMS[ m.x ] ) + Endif + + m.NLASTPOS = At( ';', m.TCITEMS, m.X ) + 1 + Next + + * Calculates the mouse pointer position + * + m.NROW = Iif( Mrow() + m.NITEMCOUNT < Srow(), Mrow() - 1, Srow() - m.NITEMCOUNT ) + m.NCOL = Iif( Mcol() + 10 < Scol(), Mcol() - 3, Mcol() - 13 ) + + * Gets an unique name for the pop-up + * + m.CPOPMENU = 'M' + Sys(3) + "_" + + Define Popup ( m.CPOPMENU ) SHORTCUT Relative From NROW, NCOL + + For m.X = 1 To m.NITEMCOUNT + + Define Bar m.X Of ( m.CPOPMENU ) Prompt AITEMS[ m.x ] + Next + + m.CANS = "" + m.NSELECT = 0 + Clear Type + + On Selection Popup ( m.CPOPMENU ) Do GETCHOICE + + Activate Popup ( m.CPOPMENU ) Bar TNBAR + + Pop Key + Release Popup ( m.CPOPMENU ) + + Return Iif( Lastkey() = 27, 0, m.NSELECT ) + +Endproc && XMENU + +*-------------------- +Procedure GETCHOICE + + m.NSELECT = Bar() + + Deactivate Popup ( m.CPOPMENU ) + +Endproc && GETCHOICE + diff --git a/Programe/ovariabile_globale.prg b/Programe/ovariabile_globale.prg new file mode 100644 index 0000000..cd148a1 --- /dev/null +++ b/Programe/ovariabile_globale.prg @@ -0,0 +1,3 @@ +**OVARIABILE_GLOBALE.PRG +PUBLIC gnProcDistPrecizie +gnProcDistPrecizie = 2 && precizie zecimale rotunjire calcul si afisare procent distanta parcursa / lungime CDMN 64.4 km \ No newline at end of file diff --git a/Programe/proceduri_acnpro.prg b/Programe/proceduri_acnpro.prg new file mode 100644 index 0000000..2ffdc7f --- /dev/null +++ b/Programe/proceduri_acnpro.prg @@ -0,0 +1,6091 @@ +#Define TIP_TRANZIT 'TRANZIT' +#Define TIP_CHEIAJ 'CHEIAJ' +#Define TIP_APA 'APA' +#Define TIP_CHIRII 'CHIRII' +#Define TIP_PILOTAJ 'PILOTAJ' +#Define TIP_ALTE 'ALTE' +#Define TIP_PENALITATI 'PENALITATI' +#Define TIP_DIVERSE 'DIVERSE' + +#Define NTIP_TRANZIT 0 +#Define NTIP_CHEIAJ 1 +#Define NTIP_APA 2 +#Define NTIP_CHIRII 3 +#Define NTIP_PILOTAJ 4 +#Define NTIP_ALTE 5 +#Define NTIP_PENALITATI 6 +#Define NTIP_DIVERSE 9 + +*!* 29.10.2019 +*!* marius.mutu +*!* factura_salvare_db - initializeaza_date_factura(tip_factura, id_beneficiar) + +*!* 08.01.2020 +*!* marius.mutu +*!* vizualizare_tarife_contracte - se salveaza ctr_articole.valoare + +*!* 08.01.2020 +*!* marius.mutu +*!* STERG_CHEIAJ - corectare eroare la stergere din IPS_BERTHING_DETAILS_VANZARI - se stergeau toate inregistrarile +*!* vizualizare_tranzit, calcul_cheiaj, salvare_cheiaj, listeaza_recapitulatie_cheiaj - completare ips_voyages_vanzari.document + +*!* 09.01.2020 +*!* marius.mutu +*!* make_cheiaj_prestatii + id_locatia, locatia + +*!* GetObiectTVA - + tnIdJtvaColoana +*!* make_factura_penalitati - explicatia tva Neimpozabil (id_jtva_coloana = 12) + +*!* completeaza_actactan - completez partener pentru contul 419 (4111 = 419) + +*!* 03.02.2020 +*!* completeaza_regdoc_tranzit, vizualizare_tranzit_nave se tine cont ca ips_voyage_locks (ecluzarile) este acum defalcat pe membrii convoi, nu doar pe convoi + +*!* 19.03.2020 +*!* salvare_cheiaj - se salveaza numele navei suprascris de utilizator daca difera de numele din ips_vessels +*!* pentru facturarea convoiului generic "FARA" DECLARATIE + +*!* calcul_penalitati2 - s-a inclus vanzari.tip +*!* + completeaza_regdoc_penalitati - defalcare cregdoc penalitati pe locatii si articole pentru inregistrarea in contabilitate +*!* make_factura_penalitati - se completeaza data referinta in denumirea articolului + +*!* 13.04.2020 +*!* marius.mutu +*!* + CopyDeclCdtPdf - copiere declaratii comandant pdf in directorul cu facturi + +*!* 01.06.2020 +*!* completeaza_actactan - centralizare note tva pe cote tva. pentru ca la defalcarea facturilor de tranzit pe camere/sasuri se generau tva-uri individuale cu aceeasi cota, am centralizat sumele tva pe cote + +*!* 17.06.2020 +*!* completeaza_actactan - am corectat id_jtva_coloana pentru notele de TVA. Au ramas gresit Livrare in loc de TVA livrare de la modificarea din 01.06.2020 + +*!* 06.07.2020 +*!* marius.mutu +*!* completeaza_regdoc_cheiaj - in cRegdoc se salva doar ultimul voiaj, in cazul incare era o factura pentru mai multe istorice de cheiaj + + +*!* 22.09.2020 +*!* calcul_tranzit: am calculat tarifele la capacitatea totala a convoiului, nu numai la capacitatea navelor alese pentru factura curenta +*!* listeaza_recapitulatie_tranzit: +*!* Selectez capacitatea totala a convoiului, nu numai a navelor de pe factura curenta. +*!* Este posibil sa fac facturi catre clienti diferiti pe un singur convoi. + +*!* 09.10.2020 +*!* listeaza_recapitulatie_tranzit: +*!* Am luat capacitatea totala de pe toate facturile de pe un convoi, dar distinct nave. +*!* Era posibil sa am si facturi de stornare si facturi refacute pe acelasi convoi si se duplica capacitatea + +*!* 09.02.2020 +*!* calcul_penalitati2 - afisez si facturile cu sold < 0 +*!* cerere Lacramioara Guta + +*!* 28.04.2021 +*!* listeaza_recapitulatie_tranzit +*!* calcul total capacitate convoi. tratare caz in care o factura este stornata si refacturata cu barje cu corectie de TCAP + +*!* 09.06.2021 +*!* calcul_penalitati_linie, calcul_penalitati2 +*!* corectie calcul zile penalitati pentru contractele cu perioada de gratie +*!* recalculare databaza pentru contractele cu perioada de gratie astfel incat, in luna in care se incheie perioada de gratie sa se factureze penalitati si pentru perioada de gratie + +*!* 01.10.2021 +*!* calcul_penalitati2 +*!* s-au inclus incasarile din toata baza de date in loc de luna curenta, daca calculul este facut fata de data scadenta in loc de luna anterioara + +*!* 27.03.2022 +*!* completare TaxCode SAFT in factura_salvare (crsFactura), factura_salvare_bd (vanzari_detalii), completeaza_actactan (actactan) + +*!* 10.01.2023 +*!* vizualizare_regdoc (registru documente pe locatii) + document2 (numarul istoric de stationare) + + +*!* 22.01.2024 +*!* make_factura - pentru pret negativ, se face cantitate negativa si pret pozitiv, pentru eFactura + +*!* 09.04.2024 +*!* salvare_tranzit - salvare ips_voyage_members_vanzari.marfa_country_id + +*!* 21.10.2024 +*!* factura_salvare_db - INITIALIZARE_dATE_FACTURA TIP_SAFT + +*!* 23.07.2025 +*!* factura_salvare_db - tratare taxcode = NULL + +Procedure vizualizare_regdoc + Private poRegdoc + poRegdoc = Null + + Local lcFiltru, lcFiltruOriginal, lcGroup, lcOrder, lcSchema, lcSelect, llAfiseaza, llModParam + Text To lcSchema Noshow +id N(20), id_vanzare N(20), tip N(3), cTip C(50), id_articol N(12), articol C(100), id_locatia N(12), locatia C(50), id_valuta N(12), valuta C(20), id_client N(12), client C(70), id_contract N(12), contract C(50), pret N(18,4), curs N(12,4), cantitate N(18,4), valval N(18,4), valftva N(18,4), um C(20), document C(30), data D, document2 C(30), numar_act N(14), data_act D, ctdebitor C(10), ctaideb C(10), ctaedeb C(10), ctcreditor C(10), ctaicred C(10), ctaecred C(10), ctpideb C(10), ctapideb C(10), ctpicred C(10), ctapicred C(10) + Endtext + lcOrder = [data, id] + lcFiltru = [extract(year from data) * 12 + extract(month from data) = ?gnAn*12+?gnLuna] + llAfiseaza = .F. + lcGroup = [] + llModParam = .T. + lcFiltruOriginal = [] + + Text To lcSelect Noshow +select id, + id_vanzare, + tip, + ctip, + id_articol, + articol, + id_locatia, + locatia, + id_valuta, + valuta, + id_client, + client, + id_contract, + contract, + pret, + curs, + cantitate, + valval, + valftva, + um, + document, + data, + document2, + numar_act, + data_act, + ctdebitor, + ctaideb, + ctaedeb, + ctcreditor, + ctaicred, + ctaecred, + ctpideb, + ctapideb, + ctpicred, + ctapicred + from ips_vregdoc + Endtext + + gencursor('poRegDoc', 'crsRegdoc', m.lcSelect, m.lcFiltru, m.lcSchema, m.lcOrder, m.llAfiseaza, m.lcGroup, m.llModParam, m.lcFiltruOriginal) + poRegdoc.ca_baza1.afisare() + loFrmRegdoc = Createobject("frm_registru") && oacnpro.vcx + loFrmRegdoc.Show(1) +Endproc && vizualizare_regdoc + +****************************************** +*** Vizualizare convoaie si date facturi +****************************************** +Procedure vizualizare_tranzit_facturi + Lparameters tnTip + * tnTip: 0 = TRANZIT, 1 = CHEIAJ + Private poConvoaie + poConvoaie = Null + + Local lcFiltru, lcFiltruOriginal, lcGroup, lcOrder, lcSchema, lcSelect, llAfiseaza, llModParam + lcSchema = [] + lcOrder = [data_act, numar_act] + lcFiltru = [1=2] + llAfiseaza = .F. + lcGroup = [] + llModParam = .T. + lcFiltruOriginal = Iif(Pcount() = 0, [], [(tip IS NULL OR ] + Iif(Empty(m.tnTip), [tip=0], [tip=1]) + [)]) + + Text To lcSelect Noshow +select 0 as ales, + vv_id, + vz_id, + vye_id, + convoy_nam, + declaratio, + document, + generation, + origin, + destinatio, + indicativ, + client, + client_id, + contract_client, + beneficiar, + beneficiar_id, + total_fara_tva, + total_tva, + total_cu_tva, + numar_act, + serie_act, + data_act, + ctip_factura + from ips_vvanzari_voyages + Endtext + + gencursor('poConvoaie', 'crsConvoaie', m.lcSelect, m.lcFiltru, m.lcSchema, m.lcOrder, m.llAfiseaza, m.lcGroup, m.llModParam, m.lcFiltruOriginal) + poConvoaie.ca_baza1.afisare() + loFrmConvoaie = Createobject("frm_tranzit_facturi", m.tnTip) && oacnpro.vcx + loFrmConvoaie.Show(1) +Endproc && vizualizare_tranzit_facturi + +****************************************** +*** Vizualizare convoaie, nave, date facturare +****************************************** +Procedure vizualizare_tranzit_nave + Lparameters tnTip + * tnTip: 1 = selectie din ips_vanzari_voyage_members, 2 = selectie din ips_vanzari_voyage_members_n + * 1 = nu calculeaza valori pe sasn/cameran + * 2 = calculeaza valori pe sasn/cameran, nu se mai foloseste, doar pentru verificari 01/2020-05/2020 + + Private poConvoaie + poConvoaie = Null + + Local lnTip + Local lcFiltru, lcFiltruOriginal, lcGroup, lcOrder, lcSchema, lcSelect, llAfiseaza, llModParam + + lnTip = Iif(Empty(m.tnTip), 1, m.tnTip) + + lcSchema = [] + lcOrder = [data_act, numar_act, rn, indicativ] + lcFiltru = [1=2] + llAfiseaza = .F. + lcGroup = [] + llModParam = .T. + lcFiltruOriginal = [] + + Text To lcSelect Textmerge Noshow +select vmv_id, + vv_id, + client_id, + client, + contract_client, + client_ctr_id, + beneficiar_id, + tiprecap, + beneficiar, + intern, + vz_id, + serie_act, + numar_act, + data_act, + cuplat, + arm_id, + armator, + kmi, + kmf, + rte_id, + ruta, + convoy_nam, + declaratio, + generation, + vye_id, + aviz, + data_aviz, + origin, + destinatio, + vms_id, + vsl_id, + ctt_id, + dirty_tank, + rstart_id, + rfin_id, + distanta, + distanta_cdmn, + distanta_pamn, + contact, + indicativ, + nava_country, + nava_country_id, + lbd, + trn, + hp, + tcap, + tcap_conv, + procdiv, + vtp_id, + tip_nava, + vgrp_id, + grupa_nava, + marfa, + cant_marfa, + um_marfa, + gds_id, + grp_id, + grupa_marfa, + periculos, + corect, + procdist, + id_valuta, + valuta, + tarif, + cant, + um, + marfa_country, + marfa_country_id, + valval, + tvaval, + totval, + valftva, + valtva, + valctva, + curs, + agigea, + cernavoda, + navodari, + ovidiu, + agigea_data, + cernavoda_data, + navodari_data, + ovidiu_data, + agigea_sas1, + agigea_sas2, + agigea_sasn, + cernavoda_sas1, + cernavoda_sas2, + cernavoda_sasn, + ovidiu_c1, + ovidiu_c2, + ovidiu_cn, + navodari_c1, + navodari_c2, + navodari_cn, + agigea1_valoare, + agigea2_valoare, + agigean_valoare, + cernavoda1_valoare, + cernavoda2_valoare, + cernavodan_valoare, + ovidiu1_valoare, + ovidiu2_valoare, + ovidiun_valoare, + navodari1_valoare, + navodari2_valoare, + navodarin_valoare, + senal_cdmn1_valoare, + senal_pam1_valoare, + agigea_valoare, + cernavoda_valoare, + ovidiu_valoare, + navodari_valoare, + senal_cdmn_valoare, + senal_pam_valoare, + rn, + pvalftva + from <> + Endtext + + gencursor('poConvoaie', 'crsConvoaie', m.lcSelect, m.lcFiltru, m.lcSchema, m.lcOrder, m.llAfiseaza, m.lcGroup, m.llModParam, m.lcFiltruOriginal) + poConvoaie.ca_baza1.afisare() + + loFrmConvoaie = Createobject("frm_tranzit_nave") && oacnpro.vcx + loFrmConvoaie.Show(1) +Endproc && vizualizare_tranzit_nave + + + +****************************************** +*** Registru Cheiaj Nave. Vizualizare convoaie, nave, date facturare +****************************************** +Procedure vizualizare_cheiaj_nave + Private poCheiaje + poCheiaje = Null + + Local lcFiltru, lcFiltruOriginal, lcGroup, lcOrder, lcSchema, lcSelect, llAfiseaza, llModParam + + lcSchema = [] + lcOrder = [an,luna,data_act,numar_act,client,contract] + lcFiltru = [1=2] + llAfiseaza = .F. + lcGroup = [] + llModParam = .T. + lcFiltruOriginal = [] + + Text To lcSelect Textmerge Noshow +select an, + luna, + serie_act, + data_act, + numar_act, + client, + contract, + beneficiar, + total_fara_tva, + port, + declaratie, + document, + vas, + tip_vas, + grupa_vas, + dana, + ctip, + cant, + um, + tarif, + articol, + datai, + datap, + durata, + valftva, + valtva, + valctva, + nume_val, + curs, + valval, + tvaval, + totval, + cap, + trn, + lung, + cp, + lbd, + zi, + cap_val, + trn_val, + lung_val, + cp_val, + lbd_val, + zi_val + from ips_vanzari_cheiaje_members + Endtext + + gencursor('poCheiaje', 'crsCheiaje', m.lcSelect, m.lcFiltru, m.lcSchema, m.lcOrder, m.llAfiseaza, m.lcGroup, m.llModParam, m.lcFiltruOriginal) + poCheiaje.ca_baza1.afisare() + + loFrmCheiaje = Createobject("frm_cheiaje_nave") && oacnpro.vcx + loFrmCheiaje.Show(1) +Endproc && vizualizare_cheiaj_nave + +****************************************** +*** Vizualizare convoaie si selectie unul sau mai multe in scopul facturarii +*** Se apeleaza din factura +****************************************** +Procedure vizualizare_tranzit + Lparameters tnTip + * tnTip: 0 = TRANZIT, 1 = CHEIAJ + + Private poConvoaie + poConvoaie = Null + + Local lcFiltru, lcFiltruOriginal, lcGroup, lcOrder, lcSchema, lcSelect, llAfiseaza, llModParam + lcSchema = [] + lcOrder = [declaratio] + lcFiltru = [1=2] + llAfiseaza = .F. + lcGroup = [] + llModParam = .T. + lcFiltruOriginal = [] + + Text To lcSelect Noshow +select 0 as ales, + id, + vye_id, + generation, + vms_id, + convoy_nam, + declaratio, + notificati, + data_avizare, + notificat2, + avizare, + origin, + destinatio, + mtr_name, + state, + indicativ, + cast('' as Varchar2(50)) as document + from ips_vvoyages + Endtext + + gencursor('poConvoaie', 'crsConvoaie', m.lcSelect, m.lcFiltru, m.lcSchema, m.lcOrder, m.llAfiseaza, m.lcGroup, m.llModParam, m.lcFiltruOriginal) + poConvoaie.ca_baza1.afisare() + loFrmConvoaie = Createobject("frm_tranzit", m.tnTip) && oacnpro.vcx + loFrmConvoaie.Show(1) + + llSucces = (m.gnButon = 1) + Return m.llSucces +Endproc && vizualizare_tranzit + +****************************************** +*** Vizualizare contracte si selectie unul sau mai multe in scopul facturarii +*** Se apeleaza din factura +*** De fapt primeste din factura id_ctr si lanseaza direct calcul_contract +****************************************** +Procedure vizualizare_contract + Lparameters tnIdCtr + Local llSucces + llSucces = calcul_contract(m.tnIdCtr) + + Return m.llSucces +Endproc && vizualizare_contract + + +Procedure vizualizare_penalitati + Lparameters tnTipCalcul, tnCalculZile + * tnTipCalcul: 1 (default) = incasari si sold; 2 = incasari; 3 = sold; 4 = evaluare + * tnCalculZile: 1 (default) = calcul zile fata de luna precedenta; 2 = fata de data scadenta + + + Private pdDataReferinta, pnCalculZile, pnTipCalcul, pl4118, plFacturate, plSterse + Local loPenalitati As "frm_penalitati" + Local loRec + Local lnZileProcent1, lnZileProcent2, lnPenalitati + + pdDataReferinta = Gomonth(Date(m.gnAn, m.gnLuna, 1), 1) - 1 + pnTipCalcul = Iif(Empty(m.tnTipCalcul), 1, m.tnTipCalcul) + pnCalculZile = Iif(Empty(m.tnCalculZile), 1, m.tnCalculZile) + pl4118 = .F. + plFacturate = .F. && se includ documentele (facturi, incasari) deja facturate? ex: daca se doreste stornarea si refacturarea penalitatilor + plSterse = .F. && se includ documentele sterse de utilizator + + Private pcNumeFiltru, pcAgentFiltru, pcContractFiltru, pcExplicatiaFiltru + Store "" To pcNumeFiltru, pcAgentFiltru, pcContractFiltru, pcExplicatiaFiltru + + Do make_contracte && crsContracte + Do make_valute && crsValute + + Use In (Select('crsCalculPenalitati')) + Use In (Select('crsClientiPenalitati')) + make_cCalculPenalitati() + make_cClientiPenalitati() + + Select crsCalculPenalitati + loPenalitati = Createobject("frm_penalitati") + loPenalitati.lEvaluare = .T. + loPenalitati.dDataReferinta = m.pdDataReferinta + If m.pnTipCalcul = 3 && evaluare + loPenalitati.lb_titlu_alb_b121.Caption = 'Penalitati - evaluare la ' + Dtoc(m.pdDataReferinta) + loPenalitati.grdPenalitati.cNrDoc.Visible = .F. + loPenalitati.grdPenalitati.cSuma.Header1.Caption = 'Sold restant' + loPenalitati.grdPenalitati.cDataDoc.Header1.Caption = 'Data referinta' + loPenalitati.cmd_Executa1.Visible = .F. + Endif + + loPenalitati.Show(1) + + Use In (Select('crsCalculPenalitati')) + Use In (Select('crsClientiPenalitati')) + + Return (m.gnButon = 1) +Endproc && vizualizare_penalitati + +Procedure configurare_articole_conturi + + Local loFrmConturi As "frm_configurare_articole_conturi" + Local lcSelectV, lcSql, lcSqlDelete, lcSqlInsert, lcSqlUpdate, llScris, llSucces, llSucces2 + Local lnModificat, lnRec + Private poRec + *:Global gnButon + + lcSelectV = Select() + + Do make_locatii && crsLocatii + + lcSql = [select id_articol, codmat, denumire, descriere, um, id_grupa, grupa, id_subgrupa, subgrupa, tip from vnom_articole where inactiv = 0 and tip = 1 order by denumire] + llSucces = goExecutor.oExecuta(m.lcSql, 'crsArticole') + + If m.llSucces + Select crsArticole + Index On denumire Tag denumire + + lcSql = [select id, id_articol, articol, id_locatia, locatia, ctdebitor, ctcreditor, ctaideb, ctaedeb, ctaicred, ctaecred, ctpideb, ctapideb, ctpicred, ctapicred, 0 as modificat from ips_vprestatii_locatii order by articol, locatia] + llSucces = goExecutor.oExecuta(m.lcSql, 'crsConturi') + Endif + + If m.llSucces + Select crsArticole + loFrmConturi = Createobject("frm_configurare_articole_conturi") && oacnpro.vcx + loFrmConturi.Show(1) + Else + gnButon = 2 + Endif + + lcSqlDelete = [DELETE from ips_prestatii_locatii WHERE id = ?poRec.Id] + + Text To lcSqlInsert Noshow + INSERT INTO ips_prestatii_locatii + (id_articol, + id_locatia, + ctdebitor, + ctcreditor, + ctaideb, + ctaedeb, + ctaicred, + ctaecred, + ctpideb, + ctapideb, + ctpicred, + ctapicred) + values + (?poRec.id_articol, + ?poRec.id_locatia, + ?poRec.ctdebitor, + ?poRec.ctcreditor, + ?poRec.ctaideb, + ?poRec.ctaedeb, + ?poRec.ctaicred, + ?poRec.ctaecred, + ?poRec.ctpideb, + ?poRec.ctapideb, + ?poRec.ctpicred, + ?poRec.ctapicred) + Endtext + + Text To lcSqlUpdate Noshow + UPDATE ips_prestatii_locatii + set id_articol = ?poRec.id_articol, + id_locatia = ?poRec.id_locatia, + ctdebitor = ?poRec.ctdebitor, + ctcreditor = ?poRec.ctcreditor, + ctaideb = ?poRec.ctaideb, + ctaedeb = ?poRec.ctaedeb, + ctaicred = ?poRec.ctaicred, + ctaecred = ?poRec.ctaecred, + ctpideb = ?poRec.ctpideb, + ctapideb = ?poRec.ctapideb, + ctpicred = ?poRec.ctpicred, + ctapicred = ?poRec.ctapicred + where id = ?poRec.id + Endtext + + * Am apasat (Terminat) sau (Renunt si am sters un articol si trebuie sa sterg si conturile asociate) + Set Deleted Off + Select Id From crsConturi Where !Empty(Id) And modificat = 2 And Deleted() Into Cursor cConturiSterse + Set Deleted On + If (m.gnButon = 2 And Reccount('cConturiSterse') > 0) + Select cConturiSterse + Scan + Scatter Name poRec + llSucces = goExecutor.oExecuta(m.lcSqlDelete) + If !m.llSucces + Exit + Endif + Endscan + Endif + Use In (Select('cConturiSterse')) + + If m.gnButon = 1 + Select crsConturi + Set Filter To + + llSucces = (SQLSetprop(gnHandle, "Transactions", 2) >= 0) + + If m.llSucces && transactions + *** SELECTEZ IREG STERSE + Set Deleted Off + Select Id From crsConturi Where Deleted() Into Cursor cConturiSterse + Set Deleted On + + Select cConturiSterse + Scan + Scatter Name poRec + llSucces = goExecutor.oExecuta(m.lcSqlDelete) + If !m.llSucces + Exit + Endif + Endscan + Use In (Select('cConturiSterse')) + *** STERG IN IPS_PRESTATII_LOCATII IREG STERSE + + If m.llSucces + *** MODIFIC IN ips_prestatii_locatii IREG MODIFICATE IN TEMPORAR + Calculate Cnt() To m.lnModificat For Nvl(modificat, 0) = 1 In crsConturi + + lnRec = 0 + Select crsConturi + Scan For Nvl(modificat, 0) = 1 + Scatter Name poRec Memo + + lnRec = m.lnRec + 1 + Wait Window 'Configurare noua/modificata ' + Alltrim(Str(m.lnRec)) + '/' + Alltrim(Str(m.lnModificat)) Nowait + + If Empty(Nvl(poRec.Id, 0)) + llSucces = goExecutor.oExecuta(m.lcSqlInsert) + Else + llSucces = goExecutor.oExecuta(m.lcSqlUpdate) + Endif + If !m.llSucces + Exit + Endif + Endscan + Endif && llSucces + + If !m.llSucces + lcSql = "ROLLBACK" + llScris = .F. + Else + lcSql = "COMMIT" + llScris = .T. + Endif + llScris = goExecutor.oExecuta(m.lcSql) + + llSucces2 = (SQLSetprop(gnHandle, "Transactions", 1) >= 0) + If !m.llSucces2 + amessagebox('Programul nu a reusit sa treaca pe tranzactie automata. Iesiti din program si intrati din nou!', 48, 'Atentie!') + Endif + + llSucces = m.llSucces And m.llScris + Endif && gnButon + + If m.llSucces + amessagebox('Configurare articole/conturi modificate cu succes!', 0 + 64, _Screen.Caption) + Else + amessagebox('Articole/conturi nu s-au modificat!', 0 + 64, _Screen.Caption) + Endif + Endif && gnButon + + Use In (Select('crsLocatii')) + + Use In (Select('crsArticole')) + Use In (Select('crsConturi')) + + Select (m.lcSelectV) + Return m.llSucces +Endproc && configurare_articole_conturi + +************************************************************************************************************************** +Procedure calcul_tranzit + Lparameters tcVyeIds + + Private poVoyage, pcVyeIds, pcVyeId, pnVVId + Local lcEcluzari, lcVoyageLocksText, lcFiltru, lcFiltruOriginal, lcGroup, lcOrder, lcSchema, lcSelectV, lcSql, lcTitlu, lcSelect + Local llAfiseaza, llModParam, llSucces, loFrmTranzit + Local lcDeclaratie, lcEcluzari2, lcIndicativ, lcVmsId, lnEclDif + + poVoyage = Null + pnVVId = 0 + llSucces = .F. + If Empty(Nvl(m.tcVyeIds, '')) + Return m.llSucces + Else + pcVyeIds = m.tcVyeIds + Endif + lcSelect = Select() + Do make_grupe_vase && crsGrupeVase + Do make_grupe_marfa && crsGrupeMarfa + * Do make_contracte With "1=2" && crsContracte + Do make_contacts && crsContacts + Do make_vessel_types && crsVesselTypes + Do make_routes && crsRoutes + Do make_vas_echivalent && crsVasEchivalent + Do make_vas_um && crsVasUM + Do make_grup_tip_nave && crsGrupTipNave + + * Creez cursorul crsVoyage + Select Id, vye_id, generation, vms_id, convoy_nam, declaratio, notificati, data_avizare, notificat2, avizare, origin, destinatio, mtr_name, state, indicativ, Document, ; + Cast(Null As I) As vv_id, Cast(Null As I) As client_id, Cast(Null As I) As client_ctr_id, 0 As eagent, Cast(Null As I) As beneficiar_id, 0 As tiprecap, 0 As intern, 0 As tip ; + From crsConvoaie ; + Where At(['] + Alltrim(vye_id) + ['], m.pcVyeIds) > 0 ; + Into Cursor crsVoyage Readwrite + + llSucces = (Reccount('crsVoyage') > 0) + + If m.llSucces + * pun 0 la vmv_id sa inserez de fiecare data, in loc sa suprascriu voiajul, in ips_vvoyage_members_vanzari, in salvare tranzit + Text To lcSelectV Noshow +select 0 as ales, + vv_id, + vmv_id, + tiprecap, + cuplat, + arm_id, + armator, + kmi, + kmf, + rte_id, + ruta, + convoy_nam, + declaratio, + generation, + vms_id, + vye_id, + vsl_id, + ctt_id, + dirty_tank, + rstart_id, + rfin_id, + distanta, + distanta_cdmn, + aviz, + contact, + indicativ, + lbd, + trn, + hp, + tcap, + procdiv, + vtp_id, + tip_nava, + vgrp_id, + grupa_nava, + felcargo, + cargo, + gds_id, + gdsg_id, + marfa_country_id, + marfa_country, + grupa_marfa, + periculos, + corect, + procdist, + id_valuta, + valuta, + tarif, + cant, + um, + valval, + valftva, + valtva, + valctva, + CAST(null as varchar2(200)) as ecluzari, + 0 AS elcdif + from ips_vvoyage_members_calcul + Endtext + + lcSchema = [ALES N(1), VV_ID N(20), VMV_ID N(20), TIPRECAP N(1), CUPLAT N(1), ] + ; + [ARM_ID C(36), ARMATOR C(100), KMI N(7,2), KMF N(7,2), RTE_ID N(10), RUTA C(100), CONVOY_NAM C(100), DECLARATIO C(10), GENERATION T, ] + ; + [VMS_ID C(36), VYE_ID C(36), VSL_ID C(36), CTT_ID C(36), DIRTY_TANK N(1), ] + ; + [RSTART_ID C(36), RFIN_ID C(36), DISTANTA N(12,2), DISTANTA_CDMN N(12,2), AVIZ C(20), CONTACT C(100), INDICATIV C(240), ] + ; + [LBD N(10,2), TRN N(10,2), HP N(10,2), TCAP N(10,2), PROCDIV N(8,3), VTP_ID C(36), TIP_NAVA C(100), VGRP_ID C(36), GRUPA_NAVA C(100), ] + ; + [FELCARGO C(100), CARGO N(10,2), GDS_ID C(36), GDSG_ID N(10), MARFA_COUNTRY_ID C(36) NULL, MARFA_COUNTRY C(100) NULL, GRUPA_MARFA C(240), PERICULOS N(1), CORECT N(6,3), PROCDIST N(6,3), ] + ; + [ID_VALUTA N(10), VALUTA C(20), TARIF N(20,4), CANT N(10,2), UM C(10), VALVAL N(20,4), VALFTVA N(20,4), VALTVA N(20,4), VALCTVA N(20,4), ECLUZARI V(200), ECLDIF N(1)] + + lcOrder = [] + lcFiltru = [] + llAfiseaza = .F. + lcGroup = [] + llModParam = .T. + lcFiltruOriginal = [vye_id in (] + m.pcVyeIds + [)] + + gencursor('poVoyage', 'crsVoyages', m.lcSelectV, m.lcFiltru, m.lcSchema, m.lcOrder, m.llAfiseaza, m.lcGroup, m.llModParam, m.lcFiltruOriginal) + poVoyage.ca_baza1.afisare() + llSucces = Used('crsVoyages') + Endif && llSucces + + If m.llSucces + lcTitlu = 'CALCUL TRANZIT DECLARATIE: ' + lcEcluzari = 'ECLUZARI: ' + Sele crsVoyage + Scan + * Titlu + lcDeclaratie = Alltrim(Nvl(declaratio, '')) + lcIndicativ = Alltrim(Nvl(convoy_nam, '')) + lcTitlu = lcTitlu + m.lcDeclaratie + ' - CONVOI: ' + m.lcIndicativ + Iif(Recno() <= Reccount(), '; ', '') + + pcVyeId = Alltrim(vye_id) + + * Selectez ecluzari pe convoi + Text To lcSql Noshow +select stringagg(trim(replace(upper(lock_name), 'ECLUZA', '')) || ' (' || + TO_CHAR(ldata, 'dd.mm.yyyy hh24:mi') || ')') as ecluzari + from (select lock_name, MIN("date") as ldata + from ips_vvoyage_locks + where vye_id = ?pcVyeId + group by lock_name + order by 2) + Endtext + lcVoyageLocksText = '' + llSucces = goExecutor.oSelecteaza2Value(m.lcSql, @lcVoyageLocksText) + If m.llSucces + lcEcluzari = m.lcEcluzari + m.lcDeclaratie + ' ' + Alltrim(Nvl(lcVoyageLocksText, '')) + ' ' + Else + Exit + Endif + + * Selectez camera ecluzare pe fiecare nava si completez in vrsVoyages + * atentie = 1 daca eluzarile unei nave nu sunt egale cu ecluzarile convoiului + Text To lcSql Noshow +select l1.vms_id, + l1.ecluzari, + decode(l1.lock_name, l2.lock_name, 0, 1) as ecldif + from (with lx as (select vm.id as vms_id, "date" as ldata, + vl.lock_name, + (case + when vl.chamber_name is not null then + trim(replace(upper(vl.lock_name), 'ECLUZA', '')) || '-' || + vl.chamber_name || ' (' || + TO_CHAR("date", 'dd.mm.yyyy hh24:mi') || ')' + else + '' + end) as ecluza + from ips_voyage_members vm + left join ips_voyage_locks vl + on vm.id = vl.vms_id + where vm.vye_id = ?pcVyeId + order by vms_id, "date") + select vms_id, + concatenate_list(CURSOR(select lock_name from lx lx1 where lx1.lock_name is not null and lx1.vms_id = lx2.vms_id order by ldata)) as lock_name, + concatenate_list(CURSOR(select ecluza from lx lx1 where lx1.lock_name is not null and lx1.vms_id = lx2.vms_id order by ldata)) as ecluzari + from lx lx2 + group by vms_id) l1, + (select concatenate_list(cursor(select lock_name from (select lock_name, min("date") as ldata + from ips_voyage_locks + where vye_id = ?pcVyeId + group by lock_name) order by ldata)) as lock_name from dual) l2 + Endtext + + llSucces = goExecutor.oExecuta(m.lcSql, 'crsVoyageLocksTemp') + If m.llSucces + Select crsVoyageLocksTemp + Scan + lcVmsId = vms_id + lcEcluzari2 = Alltrim(ecluzari) + lnEclDif = ecldif + + Select crsVoyages + Locate For vms_id = m.lcVmsId + If Found() + Replace ecluzari With m.lcEcluzari2, ecldif With m.lnEclDif + Endif + Endscan + Use In (Select('crsVoyageLocksTemp')) + Endif + Endscan + Endif && llSucces + + If m.llSucces + Select crsVoyages + loFrmTranzit = Crea("frm_calcul_tranzit", m.lcTitlu, m.lcEcluzari) + loFrmTranzit.Show(1) + llSucces = (m.gnButon = 1) + Endif + + Use In (Select('crsGrupeVase')) + Use In (Select('crsGrupeMarfa')) + Use In (Select('crsContacts')) + Use In (Select('crsVesselTypes')) + Use In (Select('crsRoutes')) + Use In (Select('crsVasEchivalent')) + Use In (Select('crsVasUM')) + Use In (Select('crsGrupTipNave')) + Use In (Select('crsVoyage')) + Use In (Select('crsVoyages')) + + Select (m.lcSelect) + Return m.llSucces +Endproc && calcul_tranzit + + +************************************************************************************************************************** +Procedure calcul_cheiaj + Lparameters tcVyeIds + + Private pcVyeIds, poBerthings, poBerthingDetails + Local lcEcluzari, lcFiltru, lcFiltruOriginal, lcGroup, lcOrder, lcSchema, lcSelectV, lcSql, lcTitlu + Local llAfiseaza, llModParam, llSucces, loFrmTranzit, lcSelect + poBerthings = Null + poBerthingDetails = Null + llSucces = .F. + + If Empty(Nvl(m.tcVyeIds, '')) + Return m.llSucces + Else + pcVyeIds = m.tcVyeIds + Endif + lcSelect = Select() + + * Do make_contracte With "1=2" && crsContracte + Do make_aramis_tip_nave && crsAramisTipNave + Do make_locatii && crsLocatii + Do make_dane && crsDane + Do make_articole && crsArticole + Do make_valute && crsValute + Do make_cheiaj_prestati && crsCheiajPrestatii + + * Creez cursorul crsVoyage + Select Id, vye_id, generation, vms_id, convoy_nam, declaratio, notificati, data_avizare, notificat2, avizare, origin, destinatio, mtr_name, state, indicativ, Document, ; + Cast(Null As I) As client_id, Cast(Null As I) As client_ctr_id, 0 As eagent, Cast(Null As I) As beneficiar_id, 0 As tiprecap, 0 As intern, 1 As tip, ; + Cast(Null As I) As vv_id, Cast(Null As I) As bv_id ; + From crsConvoaie ; + Where At(['] + Alltrim(vye_id) + ['], m.pcVyeIds) > 0 ; + Into Cursor crsVoyage Readwrite + + llSucces = (Reccount('crsVoyage') > 0) + + *** Import din berthings dupa vye_id + If m.llSucces + Text To lcSelectV Noshow +select 0 as ales, + id, + CAST(null as NUMBER(20)) as bv_id, + vye_id, + declaratio, + ves_id, + nava, + nava as vs_name, + tipn_id, + tipn, + NVL(lbd, 0) as lbd, + NVL(trn, 0) as trn, + NVL(hp, 0) as trn, + NVL(cap, 0) as cap, + NVL(lung, 0) as cap, + CAST(null as NUMBER(12)) as id_locatia, + TIP AS dana_id, + CTIP AS cdana, + rpt_id, + rpt_name, + datai, + datap + from ips_vberthings + Endtext + + * vs_name este pentru facturarea unei declaratii generice "FARA" si trebuie completat numele navei + Text To lcSchema Noshow +ales N(1), id C(36), bv_id N(20), vye_id C(36), declaratio C(36), ves_id C(36), nava C(240), vs_name C(240), tipn_id N(7), tipn C(100), lbd N(12,2), trn N(12,2), hp N(12,2), cap N(12,2), lung N(12,2), id_locatia N(12), dana_id N(3), cdana C(20), rpt_id C(36), rpt_name C(100), datai T(8), datap T(8) + Endtext + + lcOrder = [datai desc,declaratio,nava] + lcFiltru = [] + llAfiseaza = .F. + lcGroup = [] + llModParam = .T. + lcFiltruOriginal = [vye_id in (] + m.pcVyeIds + [)] + + gencursor('poBerthings', 'crsBerthings', m.lcSelectV, m.lcFiltru, m.lcSchema, m.lcOrder, m.llAfiseaza, m.lcGroup, m.llModParam, m.lcFiltruOriginal) + poBerthings.ca_baza1.afisare() + llSucces = Used('crsBerthings') + If m.llSucces + Select crsBerthings + Scan + lcRptName = Upper(Alltrim(rpt_name)) + If Seek(m.lcRptName, 'crsLocatii', 'denumire') + Replace crsBerthings.id_locatia With crsLocatii.Id + Endif + Endscan + Go Top + Endif + Endif && llSucces + + + *** Creez cursor gol berthings_detalii_vanzari pentru completare + If m.llSucces + Text To lcSelectV Noshow +select id, + bts_id, + ves_id, + indicativ, + datai, + datap, + id_valuta, + valuta, + id_articol, + tarif, + cant, + durata, + um, + valval, + tvaval, + totval, + valftva, + valtva, + valctva, + curs + from ips_vberthing_details_vanzari + Endtext + + Text To lcSchema Noshow +id N(20), bts_id C(36), ves_id C(36), nava C(100), datai T(8), datap T(8), id_valuta N(7), valuta C(20), id_articol N(10), tarif N(18,4), cant N(12,2), durata N(10,3), um C(10), valval N(18,4), tvaval N(18,4), totval N(18,4), valftva N(18,4), valtva N(18,4), valctva N(18,4), curs N(14,6) + Endtext + + lcOrder = [] + lcFiltru = [1=2] + llAfiseaza = .F. + lcGroup = [] + llModParam = .T. + lcFiltruOriginal = [] + + gencursor('poBerthingDetails', 'crsBerthingDetails', m.lcSelectV, m.lcFiltru, m.lcSchema, m.lcOrder, m.llAfiseaza, m.lcGroup, m.llModParam, m.lcFiltruOriginal) + poBerthingDetails.ca_baza1.afisare() + llSucces = Used('crsBerthingDetails') + + Endif && llSucces + + If m.llSucces + Sele crsVoyage + Go Top + lcTitlu = 'CALCUL CHEIAJ DECLARATIE: ' + Alltrim(Nvl(declaratio, '')) + ' - CONVOI: ' + Alltrim(Nvl(convoy_nam, '')) + + + Select crsVoyage + * Do Form frm_calcul_cheiaj Name loFrmTranzit With m.lcTitlu + loFrmTranzit = Crea("frm_calcul_cheiaj", m.lcTitlu) + loFrmTranzit.Show(1) + llSucces = (m.gnButon = 1) + Endif + + Use In (Select('crsGrupeVase')) + Use In (Select('crsGrupeMarfa')) + Use In (Select('crsContacts')) + Use In (Select('crsVesselTypes')) + Use In (Select('crsRoutes')) + Use In (Select('crsVasEchivalent')) + Use In (Select('crsVasUM')) + Use In (Select('crsGrupTipNave')) + Use In (Select('crsVoyage')) + Use In (Select('crsVoyages')) + + Select (m.lcSelect) + Return m.llSucces + +Endproc && calcul_cheiaj + +************************************************************************************************************************** +Procedure calcul_contract + Lparameters tnIdCtr + + Local lcSql, lcTitlu, llSucces, loFrmContract, lcSelect + Private pnIdCtr + llSucces = .F. + lcSelect = Select() + + pnIdCtr = Iif(!Empty(Nvl(m.tnIdCtr, 0)), m.tnIdCtr, 0) + Use In (Select('crsArticoleContract')) + Text To lcSql Textmerge Noshow +select id_part, client, contract_client, id_ctr, id_articol, articol, CAST(' ' as Varchar2(100)) as perioada, um, pret_unitar as pret, cant as cantitate, ROUND(valoare, ?gnPC) as valval, id_valuta, valuta, id_locatia, locatia, proc_tvav + from vctr_articole2 + where id_ctr = <> + order by locatia, articol + Endtext + + llSucces = goExecutor.oExecuta(m.lcSql, 'crsArticoleContract') + + If m.llSucces + Sele crsArticoleContract + Go Top + lcTitlu = 'CALCUL CONTRACT: ' + Alltrim(Nvl(contract_client, '')) + ' - ' + Alltrim(Nvl(client, '')) + + loFrmContract = Crea("frm_calcul_contract", m.lcTitlu) + loFrmContract.Show(1) + llSucces = (m.gnButon = 1) + Endif + + Use In (Select('crsArticoleContract')) + + Select (m.lcSelect) + Return m.llSucces + +Endproc && calcul_contract + +******************* +*** Este veche si nu se mai foloseste. Se foloseste calcul_penalitati2 +******************* +Procedure calcul_penalitati + * pnTipCalcul: 1 (default) = incasari si sold; 2 = incasari; 3 = sold; 4 = evaluare + * pnCalculZile: 1 (default) = calcul zile fata de luna precedenta; 2 = fata de data scadenta + + + Private pcNumeFiltru, pcAgentFiltru, pcContractFiltru, pcExplicatiaFiltru + Store "" To pcNumeFiltru, pcAgentFiltru, pcContractFiltru, pcExplicatiaFiltru + * 1. Se calculeaza penalitatile pentru incasari + * 2. Se calculeaza penalitatile pentru soldul facturilor + + If Inlist(m.pnTipCalcul, 1, 2) && 1 = incasari + sold, 2 = incasari + * INCASARILE DIN LUNA INCASATE DUPA DATA SCADENTA + DATELE DE FACTURARE + + Text To lcSql Textmerge Noshow +Select v.id_fact, v.id_part as clie_id, v.id_ctr, v.id_beneficiar, p2.denumire as beneficiar, v.numar_act as nrfact, v.data_act as datafact, v.data_scad as datascad, v.total_cu_tva as valctva, v.totval, v.Curs, v.id_Valuta, vl.nume_val as valuta, + '' as explicatia, v.id_ctr, cast(TRIM(to_char(c.numar)) || (case when c.data_inceput is not null then '/' || to_char(c.data_inceput, 'dd.mm.yyyy') else '' end) as varchar2(100)) as contract, + p1.denumire As nume, i.id_doc, i.nract, i.dataact, i.suma, i.suma_val As sumaval, i.pereche, i.id_fact, + c.coef_penalitati as ppenzi, c.coef_penalitati2 as ppenzi2, c.zile_penalitati as penzile, c.zile_penalitati2 as penzile2, c.descriere, c.zile_gratie_penalitati as zilegratie, + i.dataact - v.data_scad As nr_zile, Cast(0 As number) As nr_zile1, Cast(0 As number) As nr_zile2, CAST(0 as number) As penalitati, + v.data_scad As databaza, i.dataact as dataref, i.Cont + From vanzari v JOIN nom_parteneri p1 ON v.id_part = p1.id_part + left join nom_parteneri p2 ON v.id_beneficiar = p2.id_part + left join vnom_valute vl on v.id_valuta = vl.id_valuta + left join contracte c on v.id_ctr = c.id_ctr + Join (Select id_fact as id_doc, nract, dataact, id_partc as id_part, partc as nume, perechec as pereche, id_factc as id_fact, scc As cont, Sum(suma) As suma, Sum(suma_val) As suma_val + From vact Where an = <> and luna = <> and scc in ('4111', '461'<>) And scd <> '4118' + Group By id_fact, nract, dataact, id_partc, partc, perechec, id_factc, scc) i On i.id_fact = v.id_fact + Where v.tip_factura <> 6 and i.dataact > v.data_scad And i.dataact < TO_DATE('<>','YYYYMMDD') + Endtext + llSucces = goExecutor.oExecuta(m.lcSql, "cFiordIncasari") + + && nu facturez incasarile pe care utilizatorul le-a facturat deja sau incasarile pe care le-a sters manual + Text To lcSql Noshow +SELECT p.id_doc_incasare, p.id_fact FROM penalitati p join vanzari v on p.id_fact_pen = v.id_fact WHERE p.sters = 0 and extract(year FROM p.dataact) * 12 + extract(MONTH FROM p.dataact) = ?m.gnAn * 12 + ?m.gnLuna +union +SELECT p.id_doc_incasare, p.id_fact FROM penalitati p WHERE p.sters = 1 and extract(year FROM p.dataact) * 12 + extract(MONTH FROM p.dataact) = ?m.gnAn * 12 + ?m.gnLuna + Endtext + llSucces = goExecutor.oExecuta(m.lcSql, 'cPenalitatiFactSters') + If m.llSucces + Select cPenalitatiFactSters + Scan + Scatter Name loRec + Delete From cFiordIncasari Where id_fact = loRec.id_fact And id_doc = loRec.id_doc_incasare + Endscan + Endif && llSucces + + Use In (Select('cPenalitatiFactSters')) + Select * From cFiordIncasari Into Cursor cFiordTemp NOFILTER Readwrite + Use In (Select('cFiordIncasari')) + Endif && INLIST(m.pnTipCalcul, 1, 2) && 1 = incasari + sold, 2 = incasari + + + If Inlist(m.pnTipCalcul, 1, 3, 4) && 1 = incasari + sold, 3 = sold, 4 = evaluare + + *** SELECTEZ FACTURILE DIN FACTURARE (EMISE DE COMERCIAL) DAR CU SOLD IN VANZLUN SI DEBLUN IN LUNA CURENTA + Text To lcSql Textmerge Noshow +Select v.id_fact, v.id_part as clie_id, v.id_ctr, v.id_beneficiar, p2.denumire as beneficiar, v.numar_act as nrfact, v.data_act as datafact, v.data_scad as datascad, v.total_cu_tva as valctva, v.totval, v.Curs, v.id_Valuta, vl.nume_val as valuta, + '' as EXPLICATIA, v.id_ctr, cast(TRIM(to_char(c.numar)) || (case when c.data_inceput is not null then '/' || to_char(c.data_inceput, 'dd.mm.yyyy') else '' end) as varchar2(100)) as contract, + p2.denumire As nume, 0 as id_doc, 0 As nract, TO_DATE('<>','YYYYMMDD') As dataact, i.sold As suma, i.soldval As sumaval, 0 As PERECHE, 0 as id_fact, + c.coef_penalitati as ppenzi, c.coef_penalitati2 as ppenzi2, c.zile_penalitati as penzile, c.zile_penalitati2 as penzile2, c.descriere, c.zile_gratie_penalitati as zilegratie, + TO_DATE('<>','YYYYMMDD') - v.data_scad As nr_zile, Cast(0 As number) As nr_zile1, Cast(0 As number) As nr_zile2, CAST(0 as number) As penalitati, + v.data_scad As databaza, TO_DATE('<>','YYYYMMDD') As dataref, i.Cont + From vanzari v join nom_parteneri p1 ON v.id_part = p1.id_part + left join vnom_valute vl on v.id_valuta = vl.id_valuta + left join nom_parteneri p2 ON v.id_beneficiar = p2.id_part + left join contracte c on v.id_ctr = c.id_ctr + Join (Select id_fact, nract, dataact, precdeb+debit-preccred-credit as sold, precvaldeb+valdebit-precvalcred-credit as soldval, Cont + From ireg_parteneri + WHERE an = <> and luna = <> and cont in ('4111', '461'<>)) i On v.id_fact = i.id_fact + Where v.tip_factura <> 6 and i.sold > 0 And v.data_scad < TO_DATE('<>','YYYYMMDD') + Endtext + + llSucces = goExecutor.oExecuta(m.lcSql, "cFiordSold") + + If Used('cFiordTemp') + Select cFiordTemp + Append From Dbf('cFiordSold') + Else + Select * From cFiordSold Into Cursor cFiordTemp NOFILTER Readwrite + Endif + Use In (Select('cFiordSold')) + Endif && INLIST(m.pnTipCalcul, 1, 3, 4) && 1 = incasari + sold, 3 = sold, 4 = evaluare + + Select * From cFiordTemp Order By nume, contract, datafact, nrfact Into Cursor crsCalculPenalitatiTemp + Use In (Select('cFiordTemp')) + + Select crsCalculPenalitati + Delete All + Append From Dbf('crsCalculPenalitatiTemp') + Use In (Select('crsCalculPenalitatiTemp')) + + If m.pnCalculZile = 1 && calcul zile fata de luna precedenta, 2 = fata de data scadenta + Update crsCalculPenalitati Set databaza = Max(datascad, Date(m.gnAn, m.gnLuna, 1) - 1) + Else + Update crsCalculPenalitati Set databaza = datascad + Endif + Update crsCalculPenalitati Set dataref = Min(dataref, m.pdDataReferinta) + + *** nu calculez zile de penalitati daca numarul de zile este mai mic decat numarul de zile de gratie + Update crsCalculPenalitati Set nr_zile = Iif(dataref - databaza <= zilegratie, 0, dataref - databaza) + Update crsCalculPenalitati Set penalitati = Round(Round(ppenzi / 100 * suma, m.gnZ) * nr_zile, m.gnZ) + + * Recalculez penalitatile pentru contractele cu 2 cote de penalitati + * Poate fi folosita si pentru contractele cu o singura cota de penalitati, dar in perioada de testare verific doar contractele cu doua cote + Select crsCalculPenalitati + Scan For ppenzi2 <> 0 + lnPenalitati = penalitati + lnZileProcent1 = nr_zile + lnZileProcent2 = 0 + lnPenalitati = CalculeazaPenalitati(ppenzi, ppenzi2, penzile, penzile2, datascad, databaza, dataref, zilegratie, suma, @lnZileProcent1, @lnZileProcent2) + Replace penalitati With lnPenalitati, nr_zile1 With m.lnZileProcent1, nr_zile2 With m.lnZileProcent2 + Endscan + + Go Top In crsCalculPenalitati + +Endproc && calcul_penalitati + +**************************************** +*** TEMPORAR!!! FOLOSESC DOAR IREG_PARTENERI, FARA VANZARI, PANA IMPORT VANZARILE!!!!!! +**************************************** +Procedure calcul_penalitati2 + Lparameters tnIdClient + * pnTipCalcul: 1 (default) = incasari si sold; 2 = incasari; 3 = sold; 4 = evaluare + * pnCalculZile: 1 (default) = calcul zile fata de luna precedenta; 2 = fata de data scadenta + + *!!! De facut: facturile cu sold <> 0 in loc de sold > 0; initializare explicatie TVA; seria AVN; EXPLICATIE TVA ID_JTVA_COLOANA = 12 OPERATIUNI NEIMPOZABILE + + Local lcFiltruAIdPart, lcFiltruVIdPart, lcSql, lcSql1, lcSql2, llSucces, lnPenalitati + Local lnZileProcent1, lnZileProcent2, loRec + make_cCalculPenalitati() + make_cClientiPenalitati() + + lcFiltruVIdPart = Iif(!Empty(m.tnIdClient), [ and v.id_part = ] + Alltrim(Str(m.tnIdClient)), []) + lcFiltruAIdPart = Iif(!Empty(m.tnIdClient), [ and id_partc = ] + Alltrim(Str(m.tnIdClient)), []) + + Private pcNumeFiltru, pcAgentFiltru, pcContractFiltru, pcExplicatiaFiltru + Store "" To pcNumeFiltru, pcAgentFiltru, pcContractFiltru, pcExplicatiaFiltru + * 1. Se calculeaza penalitatile pentru incasari + * 2. Se calculeaza penalitatile pentru soldul facturilor + If Inlist(m.pnTipCalcul, 1, 2) && 1 = incasari + sold, 2 = incasari + * INCASARILE DIN LUNA INCASATE DUPA DATA SCADENTA + DATELE DE FACTURARE + * DACA CALCULUL ESTE FATA DE LUNA PRECEDENTA, INCASARILE LE IAU DIN LUNA CURENTA SI APOI SA FAC FILTRUL SA FIE DATA INCASARII > DATA SCADENTA + * DACA CALCULUL ESTE FATA DE DATA SCADENTA, INCASARILE LE IAU DIN TOATA BAZA DE DATE SI APOI SA FAC FILTRUL SA FIE DATA INCASARII > DATA SCADENTA + + *** SERIE_ACT = AVN - FACTURI DE PENALITATI, DACA IAU DIN VANZARI.TIP_FACTURA <> 6 + *** la facturile 4118 id_fact nu mai corespunde cu id_fact 4111 original si nu mai gasesc factura originala. caut id_Fact original dupa nrfact + Text To lcSql Textmerge Noshow +Select <> as id_fact, v.id_part as clie_id, v.id_ctr, 0 as id_beneficiar, '' as beneficiar, v.nract as nrfact, v.dataact as datafact, v.datascad as datascad, (v.precdeb + v.debit) as valctva, (v.precvaldeb + v.valdebit) as totval, v.Curs, v.id_Valuta, vl.nume_val as valuta, + '' as explicatia, v.id_ctr, c.numar, cast(TRIM(to_char(c.numar)) || (case when c.data_inceput is not null then '/' || to_char(c.data_inceput, 'dd.mm.yyyy') else '' end) as varchar2(100)) as contract, + p1.denumire As nume, i.id_doc, i.nract, i.dataact, i.suma, i.suma_val As sumaval, i.pereche, i.id_fact, + c.coef_penalitati as ppenzi, c.coef_penalitati2 as ppenzi2, c.zile_penalitati as penzile, c.zile_penalitati2 as penzile2, c.descriere, c.zile_gratie_penalitati as zilegratie, + i.dataact - v.datascad As nr_zile, Cast(0 As number) As nr_zile1, Cast(0 As number) As nr_zile2, CAST(0 as number) As penalitati, + v.datascad As databaza, i.dataact as dataref, <> as tip + From ireg_parteneri v JOIN nom_parteneri p1 ON v.id_part = p1.id_part + left join vanzari vz1 on v.cont <> '4118' and v.id_fact = vz1.id_fact and vz1.sters = 0 + <> + left join vnom_valute vl on v.id_valuta = vl.id_valuta + left join contracte c on v.id_ctr = c.id_ctr + Join (Select id_fact as id_doc, nract, dataact, id_partc as id_part, partc as nume, perechec as pereche, id_factc as id_fact, scc As cont, Sum(suma) As suma, Sum(suma_val) As suma_val + From vact Where <> <> and scc in ('4111', '461'<>) And scd <> '4118' + Group By id_fact, nract, dataact, id_partc, partc, perechec, id_factc, scc) i On i.id_fact = v.id_fact + Where v.an = <> and v.luna = <> <> and v.cont in ('4111', '461'<>) and i.dataact > v.datascad And i.dataact <= TO_DATE('<>','YYYYMMDD') + and <> <> 6 + Endtext + llSucces = goExecutor.oExecuta(m.lcSql, "cFiordIncasari") + + *!* && nu facturez incasarile pe care utilizatorul le-a facturat deja pe o factura de penalitati sau incasarile pe care le-a sters manual + *!* Text To lcSql TEXTMERGE Noshow + *!* SELECT p.id_doc_incasare, p.id_fact FROM penalitati p join ireg_parteneri v on p.id_fact_pen = v.id_fact WHERE p.sters = 0 and extract(year FROM p.dataact) * 12 + extract(MONTH FROM p.dataact) = <> AND v.an = <> and v.luna = <> <> and v.cont in ('4111', '461'<>) + *!* union + *!* SELECT p.id_doc_incasare, p.id_fact FROM penalitati p WHERE p.sters = 2 and extract(year FROM p.dataact) * 12 + extract(MONTH FROM p.dataact) = <> + *!* Endtext + *!* llSucces = goExecutor.oExecuta(m.lcSql, 'cPenalitatiFactSters') + *!* If m.llSucces + *!* Select cPenalitatiFactSters + *!* Scan + *!* Scatter Name loRec + *!* Delete From cFiordIncasari Where id_fact = loRec.id_fact And id_doc = loRec.id_doc_incasare + *!* Endscan + *!* Endif && llSucces + + + Select .F. as facturate, .F. as sterse, i.* From cFiordIncasari i Into Cursor cFiordTemp NOFILTER Readwrite + Use In (Select('cFiordIncasari')) + Endif && INLIST(m.pnTipCalcul, 1, 2) && 1 = incasari + sold, 2 = incasari + + + If Inlist(m.pnTipCalcul, 1, 3, 4) && 1 = incasari + sold, 3 = sold, 4 = evaluare + + *** SELECTEZ FACTURILE DIN FACTURARE (EMISE DE COMERCIAL) DAR CU SOLD IN VANZLUN SI DEBLUN IN LUNA CURENTA + *** SERIE_ACT = AVN - FACTURI DE PENALITATI, DACA IAU DIN VANZARI.TIP_FACTURA <> 6 + Text To lcSql Textmerge Noshow +Select <> as id_fact, v.id_part as clie_id, v.id_ctr, 0 as id_beneficiar, '' as beneficiar, v.nract as nrfact, v.dataact as datafact, v.datascad as datascad, (v.precdeb + v.debit) as valctva, (v.precvaldeb + v.valdebit) as totval, v.Curs, v.id_Valuta, vl.nume_val as valuta, + '' as EXPLICATIA, v.id_ctr, c.numar, cast(TRIM(to_char(c.numar)) || (case when c.data_inceput is not null then '/' || to_char(c.data_inceput, 'dd.mm.yyyy') else '' end) as varchar2(100)) as contract, + p1.denumire As nume, 0 as id_doc, 0 As nract, TO_DATE('<>','YYYYMMDD') As dataact, (v.precdeb+v.debit-v.preccred-v.credit) as suma, (v.precvaldeb+v.valdebit-v.precvalcred-v.valcredit) As sumaval, 0 As PERECHE, 0 as id_fact, + c.coef_penalitati as ppenzi, c.coef_penalitati2 as ppenzi2, c.zile_penalitati as penzile, c.zile_penalitati2 as penzile2, c.descriere, c.zile_gratie_penalitati as zilegratie, + TO_DATE('<>','YYYYMMDD') - v.datascad As nr_zile, Cast(0 As number) As nr_zile1, Cast(0 As number) As nr_zile2, CAST(0 as number) As penalitati, + v.datascad As databaza, TO_DATE('<>','YYYYMMDD') As dataref, <> as tip + From ireg_parteneri v join nom_parteneri p1 ON v.id_part = p1.id_part + left join vanzari vz1 on v.cont <> '4118' and v.id_fact = vz1.id_fact and vz1.sters = 0 + <> + left join vnom_valute vl on v.id_valuta = vl.id_valuta + left join contracte c on v.id_ctr = c.id_ctr + Where v.an = <> and v.luna = <> <> and v.cont in ('4111', '461'<>) and (v.precdeb+v.debit-v.preccred-v.credit) <> 0 And v.datascad <= TO_DATE('<>','YYYYMMDD') + and <> <> 6 + Endtext + + llSucces = goExecutor.oExecuta(m.lcSql, "cFiordSold") + + If Used('cFiordTemp') + Select cFiordTemp + Append From Dbf('cFiordSold') + Else + Select .F. as facturate, .F. as sterse, s.* From cFiordSold s Into Cursor cFiordTemp NOFILTER Readwrite + Endif + Use In (Select('cFiordSold')) + Endif && INLIST(m.pnTipCalcul, 1, 3, 4) && 1 = incasari + sold, 3 = sold, 4 = evaluare + + ******************************** + * Nu includ facturile si incasarile pe care utilizatorul le-a facturat deja pe o factura de penalitati sau facturile si incasarile pe care le-a sters manual + * Daca le includ (plFacturate, plSterse), le marchez si colorez corespunzator + ******************************** + Text To lcSql Textmerge Noshow +SELECT 1 as facturate, 0 as sterse, p.id_doc_incasare, p.id_fact FROM penalitati p join ireg_parteneri v on p.id_fact_pen = v.id_fact WHERE p.sters = 0 and extract(year FROM p.dataact) * 12 + extract(MONTH FROM p.dataact) = <> AND v.an = <> and v.luna = <> <> and v.cont in ('4111', '461'<>) +UNION +SELECT 0 as facturate, 1 as sterse, p.id_doc_incasare, p.id_fact FROM penalitati p WHERE p.sters = 2 and extract(year FROM p.dataact) * 12 + extract(MONTH FROM p.dataact) = <> + Endtext + + llSucces = goExecutor.oExecuta(m.lcSql, 'cPenalitatiFactSters') + If m.llSucces + Select cPenalitatiFactSters + Scan + Scatter Name loRec + WITH loRec + DO CASE + CASE m.plFacturate AND .facturate = 1 + UPDATE cFiordTemp SET facturate = .T. Where id_fact = .id_fact And Nvl(id_doc, 0) = Nvl(.id_doc_incasare, 0) + CASE m.plSterse AND .sterse = 1 + UPDATE cFiordTemp SET sterse = .T. Where id_fact = .id_fact And Nvl(id_doc, 0) = Nvl(.id_doc_incasare, 0) + OTHERWISE + Delete From cFiordTemp Where id_fact = .id_fact And Nvl(id_doc, 0) = Nvl(.id_doc_incasare, 0) + ENDCASE + ENDWITH + Endscan + Endif && llSucces + + Use In (Select('cPenalitatiFactSters')) + + ******************************** + + Select * From cFiordTemp Order By nume, contract, datafact, nrfact, dataact, nract Into Cursor crsCalculPenalitatiTemp + Use In (Select('cFiordTemp')) + + Select crsCalculPenalitati + Delete All + Append From Dbf('crsCalculPenalitatiTemp') + Use In (Select('crsCalculPenalitatiTemp')) + +*!* If m.pnCalculZile = 1 && calcul zile fata de luna precedenta, 2 = fata de data scadenta +*!* Update crsCalculPenalitati Set databaza = Max(datascad, Date(m.gnAn, m.gnLuna, 1) - 1) +*!* Else +*!* Update crsCalculPenalitati Set databaza = datascad +*!* Endif +*!* Update crsCalculPenalitati Set dataref = Min(dataref, m.pdDataReferinta) + + Select crsCalculPenalitati + Scan + calcul_penalitati_linie(m.pnCalculZile, m.pdDataReferinta) + Endscan + + Go Top In crsCalculPenalitati + + Use In (Select('crsClientiPenalitati')) + Create Cursor crsClientiPenalitati (nume C(100), clie_id N(12) ) + Select Distinct nume, clie_id From crsCalculPenalitati Order By nume Into Cursor cClientiTemp + If _Tally > 1 && daca vreau facturile pentru toti client nu mai adaug pentru filtrarea facturilor + Insert Into crsClientiPenalitati (nume, clie_id) Values ('Alegeti clientul...', 0) + Endif + Select crsClientiPenalitati + Append From Dbf('cClientiTemp') + Use In (Select('cClientiTemp')) + +Endproc && calcul_penalitati2 + +*********************************************** +* calculeaza numarul de zile si valoarea penalitatilor pentru documentul curent din crsCalculPenalitati +* in functie de cotele de penalitati pe perioade +* se apeleaza initial in calcul_penalitati2 si apoi la modificari din frm_penalitati +*********************************************** +Procedure calcul_penalitati_linie + LPARAMETERS tnCalculZile, tdDataReferinta, m.tdDataBaza + * tnCalculZile: 1 = calcul zile fata de luna precedenta, 2 = fata de data scadenta + * tdDataReferinta: data referinta a calculului de penalitati + * tdDataBaza: optional, daca se apeleaza din frm_penalitati si se modifica de utilizator databaza + + Select crsCalculPenalitati + ldDataScad = IIF(!EMPTY(datascad), datascad, GOMONTH(dataact,1)) + ldDataRef = MIN(dataref, m.tdDataReferinta) && daca sunt incasari, data de referinta pentru incasari este data incasarii, daca este mai mica decat data de referinta + + * Calculez data baza + DO CASE + CASE !EMPTY(m.tdDataBaza) + ldDataBaza = m.tdDataBaza + CASE m.tnCalculZile = 1 + * tnCalculZile = 1 : fata de luna precedenta + + * Data de baza este ultima zi din luna precedenta sau data scadenta, care este mai mare + ldDataBaza = Max(m.ldDataScad, Date(m.gnAn, m.gnLuna, 1) - 1) + + * Data de gratie este ultima zi in care nu se calculeaza penalitati (data scadenta + zile gratie) + ldDataGratie = m.ldDataScad + zilegratie + + * Daca data referinta > data de gratie si data gratie este in luna de referinta + * sunt in luna in care s-a sfarsit perioada de gratie si calculez penalitati inclusiv pana la data scadenta + * in loc de pana la ultima zi a lunii anterioare + IF m.tdDataReferinta > m.ldDataGratie AND YEAR(m.ldDataGratie) = year(m.tdDataReferinta) AND MONTH(m.ldDataGratie) = MONTH(m.tdDataReferinta) + ldDataBaza = m.ldDataScad + ENDIF + OTHERWISE + * tnCalculZile = 2 : fata de data scadenta + ldDataBaza = m.ldDataScad + ENDCASE + + * Recalculez penalitatile pentru contractele cu 2 cote de penalitati + * Poate fi folosita si pentru contractele cu o singura cota de penalitati, dar in perioada de testare verific doar contractele cu doua cote + Replace ppenzi With Nvl(ppenzi, 0), ppenzi2 With Nvl(ppenzi2, 0), penzile With Nvl(penzile, 0), penzile2 With Nvl(penzile2, 0), ; + nr_zile With Nvl(nr_zile, 0), nr_zile1 With Nvl(nr_zile1, 0), nr_zile2 With Nvl(nr_zile2, 0), ; + zilegratie With Nvl(zilegratie, 0), penalitati With Nvl(penalitati, 0), dataref WITH m.ldDataRef, databaza WITH m.ldDataBaza + If id_ctr = 0 + Replace id_ctr With Null + Endif + If .T. && ppenzi2 <> 0 + lnPenalitati = penalitati + lnZileProcent1 = 0 + lnZileProcent2 = 0 + lnZilePenalitati = 0 + lnPenalitati = CalculeazaPenalitati(ppenzi, ppenzi2, penzile, penzile2, datascad, databaza, dataref, zilegratie, suma, @lnZilePenalitati, @lnZileProcent1, @lnZileProcent2) + Replace penalitati With lnPenalitati, nr_zile1 With m.lnZileProcent1, nr_zile2 With m.lnZileProcent2, nr_zile WITH m.lnZilePenalitati + Endif +Endproc && calcul_penalitati_linie + +********************************************************************* +*** lucreaza cu 2 procente de penalitati. un procent in primele x zile de restanta, un procent pentru restul zilelor de restanta +********************************************************************* +Function CalculeazaPenalitati + Lparameters tnProcentPenalitatiZi1, tnProcentPenalitatiZi2, tnPerioadaPenalitati1, tnPerioadaPenalitati2, tdDataScadenta, tdDataBaza, tdDataReferinta, tnZileGratie, tnSuma, lnZilePenalitati, lnZileProcent1, lnZileProcent2 + * tnProcentPenalitatiZi1: procent penalitati pentru zilele de restanta <= tnPerioadaPenalitati2-tnPerioadaPenalitati1 + * tnProcentPenalitatiZi2: procent penalitati pentru zilele de restanta > tnPerioadaPenalitati2-tnPerioadaPenalitati1 + * tnPerioadaPenalitati1: dupa cate zile fata de emiterea facturii se aplica primul procent de penalitati (egal cu zile de scadenta) + * tnPerioadaPenalitati2: dupa cate zile fata de emiterea facturii se aplica al doilea procent de penalitati + * tdDataScadenta: data scadenta a facturii + * tdDataBaza: max(sfarsitul lunii precedente, data scadenta) + * tdDataReferinta: data de referinta cand se face calculul penalitatilor = min(data incasare data de referinta pentru calculul penalitati) + * tnSuma: suma la care se calculeaza penalitati (incasare sau sold) + * tnZileGratie: zile restante pentru care NU se calculeaza penalitati + + Local lnPenalitati, lnZileProcent, lnZileRestante, lnZileProcent1, lnZileProcent2 + + lnZileProcent = m.tnPerioadaPenalitati2 - m.tnPerioadaPenalitati1 && dupa cate zile de la scadenta se schimba procentul de penalitati + lnZileRestante = m.tdDataReferinta - m.tdDataScadenta + + * nu calculez zile de penalitati in perioada de gratie (numarul de zile restante fata de data scadenta mai mic decat numarul de zile de gratie) + lnZilePenalitati = Iif(m.lnZileRestante <= m.tnZileGratie, 0, m.tdDataReferinta - m.tdDataBaza) + + * pentru cate zile de restanta se foloseste tnProcentPenalitatiZi2 + lnZileProcent2 = Iif(m.lnZileRestante <= m.tnZileGratie, 0, IIF(m.tnPerioadaPenalitati2 = 0, 0, Iif(m.lnZileRestante > m.lnZileProcent, Min(m.lnZilePenalitati, m.lnZileRestante - m.lnZileProcent), 0))) + + * pentru cate zile de restanta se foloseste tnProcentPenalitatiZi1 + lnZileProcent1 = Iif(m.lnZileRestante <= m.tnZileGratie, 0, Iif(m.lnZilePenalitati > m.lnZileProcent2, m.lnZilePenalitati - m.lnZileProcent2, 0)) + + lnPenalitati = Round(Round(m.tnProcentPenalitatiZi1 / 100 * tnSuma, m.gnZ) * m.lnZileProcent1, m.gnZ) + Round(Round(m.tnProcentPenalitatiZi2 / 100 * m.tnSuma, m.gnZ) * m.lnZileProcent2, m.gnZ) + + Return m.lnPenalitati +Endfunc && CalculeazaPenalitati + +Function TestCalculeazaPenalitati + gnZ = 2 + lnZilePenalitati = 0 + lnPenalitati = 0 + lnZileProcent1 = 0 + lnZileProcent2 = 0 + lnppenzi = 0.15 + lnppenzi2 = 0.10 + lnpenzile = 30 + lnpenzile2 = 60 + lnsuma = 100 + lnzilegratie = 0 + ldDataScad = Date(2019, 2, 21) + + * februarie + lddatabaza = Date(2019, 2, 21) + lddataref = Date(2019, 2, 28) + lnPenalitati = CalculeazaPenalitati(lnppenzi, lnppenzi2, lnpenzile, lnpenzile2, ldDataScad, lddatabaza, lddataref, lnzilegratie, lnsuma, @lnZilePenalitati, @lnZileProcent1, @lnZileProcent2) + Messagebox('Penalitati Februarie: ' + Transform(m.lnPenalitati) + ' ' + Transform((m.lnPenalitati = 1.05)) + ' | Zile Proc. Pen. 1: ' + Transform(m.lnZileProcent1) + ' | Zile Proc. Pen. 2: ' + Transform(m.lnZileProcent2)) + + * martie + lddatabaza = Date(2019, 2, 28) + lddataref = Date(2019, 3, 31) + lnPenalitati = CalculeazaPenalitati(lnppenzi, lnppenzi2, lnpenzile, lnpenzile2, ldDataScad, lddatabaza, lddataref, lnzilegratie, lnsuma, @lnZilePenalitati, @lnZileProcent1, @lnZileProcent2) + Messagebox('Penalitati Martie: ' + Transform(m.lnPenalitati) + ' ' + Transform((m.lnPenalitati = 4.25)) + ' | Zile Proc. Pen. 1: ' + Transform(m.lnZileProcent1) + ' | Zile Proc. Pen. 2: ' + Transform(m.lnZileProcent2)) + + * aprilie + lddatabaza = Date(2019, 3, 31) + lddataref = Date(2019, 4, 30) + lnPenalitati = CalculeazaPenalitati(lnppenzi, lnppenzi2, lnpenzile, lnpenzile2, ldDataScad, lddatabaza, lddataref, lnzilegratie, lnsuma, @lnZilePenalitati, @lnZileProcent1, @lnZileProcent2) + Messagebox('Penalitati Aprilie: ' + Transform(m.lnPenalitati) + ' ' + Transform((m.lnPenalitati = 3.00)) + ' | Zile Proc. Pen. 1: ' + Transform(m.lnZileProcent1) + ' | Zile Proc. Pen. 2: ' + Transform(m.lnZileProcent2)) + + + * data scadenta 05.01.2020, data referinta 31.01.2020, zile restanta = 26, valoare penalitati 1.56 + lnPenalitati = 0 + lnZileProcent1 = 0 + lnZileProcent2 = 0 + lnppenzi = 0.06 + lnppenzi2 = 0.10 + lnpenzile = 30 + lnpenzile2 = 60 + lnsuma = 100 + lnzilegratie = 0 + ldDataScad = Date(2020, 1, 5) + lddatabaza = Date(2020, 1, 5) + lddataref = Date(2020, 1, 31) + lnPenalitati = CalculeazaPenalitati(lnppenzi, lnppenzi2, lnpenzile, lnpenzile2, ldDataScad, lddatabaza, lddataref, lnzilegratie, lnsuma, @lnZilePenalitati, @lnZileProcent1, @lnZileProcent2) + Messagebox('Penalitati ianuarie: ' + Transform(m.lnPenalitati) + ' ' + Transform((m.lnPenalitati = 1.56)) + ' | Zile Proc. Pen. 1: ' + Transform(m.lnZileProcent1) + ' | Zile Proc. Pen. 2: ' + Transform(m.lnZileProcent2)) + +Endfunc && TestCalculeazaPenalitati + + +**************************************************************************************************************************** +*** Salveaza datele calculate pentru o factura din cheiaj +**************************************************************************************************************************** +Procedure salvare_cheiaj + Private poVoyage, poRec, poRecD, pnVVId + + Local lcSql, lcSqlBDDel, lcSqlBDIns, lcSqlBVIns, lcSqlVVIns, llScris, llSucces, llSucces2 + Local lcVVIds + lcVVIds = '' + + * Completez IPS_VOYAGES_VANZARI + Text To lcSqlVVIns Noshow +INSERT INTO IPS_VOYAGES_VANZARI(vye_id,client_id,client_ctr_id,eagent,beneficiar_id,tiprecap,intern,tip,document) +VALUES (?poVoyage.vye_id,?poVoyage.client_id,?poVoyage.client_ctr_id,?poVoyage.eagent,?poVoyage.beneficiar_id,?poVoyage.tiprecap,?poVoyage.intern,?poVoyage.tip,?poVoyage.document) +RETURNING id into ?@pnVVId + Endtext + + Text To lcSqlBVIns Noshow + insert into ips_berthings_vanzari + (vv_id, + vye_id, + bts_id, + rpt_id, + ves_id, + vs_name, + cap, + lbd, + trn, + hp, + lung, + datai, + datap, + id_locatia, + dana_id) + values + (?m.pnVVId, + ?poRec.vye_id, + ?poRec.id, + ?poRec.rpt_id, + ?poRec.ves_id, + ?poRec.nava, + ?poRec.cap, + ?poRec.lbd, + ?poRec.trn, + ?poRec.hp, + ?poRec.lung, + ?poRec.datai, + ?poRec.datap, + ?poRec.id_locatia, + ?poRec.dana_id) + RETURNING id into ?@poRec.bv_id + Endtext + + * COMPLETEZ IPS_BERTHING_DETAILS_VANZARI + lcSqlBDDel = [delete from ips_berthing_details_vanzari where bv_id = ?poRec.bv_id] + + Text To lcSqlBDIns Noshow + insert into ips_berthing_details_vanzari + (bv_id, + datai, + datap, + cant, + tarif, + um, + id_valuta, + curs, + valval, + tvaval, + totval, + valftva, + valtva, + valctva, + durata, + id_articol) + values + (?poRec.bv_id, + ?poRecD.datai, + ?poRecD.datap, + ?poRecD.cant, + ?poRecD.tarif, + ?poRecD.um, + ?poRecD.id_valuta, + ?poRecD.curs, + ?poRecD.valval, + ?poRecD.tvaval, + ?poRecD.totval, + ?poRecD.valftva, + ?poRecD.valtva, + ?poRecD.valctva, + ?poRecD.durata, + ?poRecD.id_articol) + Endtext + + llSucces = (SQLSetprop(gnHandle, "Transactions", 2) >= 0) + + Select crsVoyage + Scan + If !m.llSucces + Exit + Endif + + Scatter Name poVoyage + poVoyage.tip = NTIP_CHEIAJ && CHEIAJ + poVoyage.client_ctr_id = Iif(!Empty(Nvl(poVoyage.client_ctr_id, 0)), poVoyage.client_ctr_id, Null) && nu exista contract cu id=0 si nu se valideaza constrangerea + poVoyage.beneficiar_id = Iif(!Empty(Nvl(poVoyage.beneficiar_id, 0)), poVoyage.beneficiar_id, Null) + poVoyage.Document = Alltrim(poVoyage.Document) + poVoyage.vye_id = Alltrim(poVoyage.vye_id) + + * Completez IPS_VOYAGES_VANZARI + * Se adauga o inreigstrare in IPS_VOYAGES_VANZARI la fiecare factura, nu se suprascrie inregistrarea curenta! + pnVVId = 0 && Nvl(poVoyage.vv_id, 0) + llSucces = goExecutor.oExecuta(m.lcSqlVVIns) + + * COMPLETEZ IPS_BERTHINGS_VANZARI + If m.llSucces + Replace vv_id With m.pnVVId In crsVoyage + lcVVIds = m.lcVVIds + ',' + Alltrim(Str(Int(m.pnVVId))) + + * Actualizez ips_berthings_vanzari + Select crsBerthings + Scan For ales = 1 And vye_id = poVoyage.vye_id + Scatter Name poRec + poRec.vye_id = Alltrim(poRec.vye_id) + poRec.Id = Alltrim(poRec.Id) + poRec.rpt_id = Alltrim(poRec.rpt_id) + poRec.ves_id = Alltrim(poRec.ves_id) + * completez ips_berthings_vanzari.vs_name doar daca este diferit de cel al navei din IPS_VESSELS + * in cazul facturarii unui convoi generic declcdt = "FARA" + * Sunt situatii cand nu exista convoiul in RORIS + poRec.nava = Iif(Alltrim(Nvl(poRec.nava, '')) <> Alltrim(Nvl(poRec.vs_name, '')), Alltrim(Nvl(poRec.nava, '')), '') + + llSucces = goExecutor.oExecuta(m.lcSqlBVIns) + If !m.llSucces + Exit + Endif + Select crsBerthings + Replace bv_id With poRec.bv_id + + * Sterg detaliile vechi + llSucces = goExecutor.oExecuta(m.lcSqlBDDel) + + * Introduc detaliile noi + Select crsBerthingDetails + Scan For bts_id = poRec.Id And ves_id = poRec.ves_id + Scatter Name poRecD + llSucces = goExecutor.oExecuta(m.lcSqlBDIns) + If !m.llSucces + Exit + Endif + Select crsBerthingDetails + Replace Id With poRecD.Id + Endscan && crsBerthingDetails + Endscan && crsBerthings + Endif && llSucces + Endscan && crsVoyage + + If !m.llSucces + lcSql = "ROLLBACK" + llScris = .F. + Else + lcSql = "COMMIT" + llScris = .T. + Endif + llScris = goExecutor.oExecuta(m.lcSql) + + llSucces2 = (SQLSetprop(gnHandle, "Transactions", 1) >= 0) + If !m.llSucces2 + amessagebox('Programul nu a reusit sa treaca pe tranzactie automata. Iesiti din program si intrati din nou!', 48, 'Atentie!') + Endif + + llSucces = m.llSucces And m.llScris + + If !Empty(m.lcVVIds) + lcVVIds = Substr(m.lcVVIds, 2) + Endif + poDate.uuid = m.lcVVIds + + Return m.lcVVIds +Endproc && salvare_cheiaj + + + +**************************************************************************************************************************** +*** Salveaza datele calculate pentru factura din tranzit +*** Intoarce o lista de ips_voyage_vazari.id, corespunzatoare fiecarui convoi ales +**************************************************************************************************************************** +Procedure salvare_tranzit + Private poVoyage, poRec, pnVVId + + lcVVIds = '' + + * Completez IPS_VOYAGES_VANZARI + * Se adauga o inreigstrare in IPS_VOYAGES_VANZARI la fiecare factura, nu se suprascrie inregistrarea curenta! + * Nu are rost ramura cu Update, dar pana la stabilizarea aplicatiei, ramane + + Text To lcSqlVIns Noshow +INSERT INTO IPS_VOYAGES_VANZARI(vye_id,client_id,client_ctr_id,eagent,beneficiar_id,tiprecap,intern,tip) + VALUES (?poVoyage.vye_id,?poVoyage.client_id,?poVoyage.client_ctr_id,?poVoyage.eagent,?poVoyage.beneficiar_id,?poVoyage.tiprecap,?poVoyage.intern,?poVoyage.tip) + RETURNING id into ?@pnVVId + Endtext + + Text To lcSqlVMIns Noshow +insert into ips_voyage_members_vanzari + (vv_id, + vye_id, + vms_id, + rte_id, + kmi, + kmf, + cuplat, + corect, + periculos, + procdist, + tcap, + lbd, + trn, + hp, + distanta, + distanta_cdmn, + tarif, + um, + cant, + id_valuta, + valval, + vtp_id, + procdiv, + gds_id, + quantity, + marfa_country_id) +values + (?poRec.vv_id, + ?poRec.vye_id, + ?poRec.vms_id, + ?poRec.rte_id, + ?NVL(poRec.kmi,0), + ?NVL(poRec.kmf,0), + ?poRec.cuplat, + ?poRec.corect, + ?poRec.periculos, + ?poRec.procdist, + ?NVL(poRec.tcap,0), + ?NVL(poRec.lbd,0), + ?NVL(poRec.trn,0), + ?NVL(poRec.hp,0), + ?NVL(poRec.distanta,0), + ?NVL(poRec.distanta_cdmn,0), + ?NVL(poRec.tarif,0), + ?TRIM(poRec.um), + ?NVL(poRec.cant,0), + ?poRec.id_valuta, + ?poRec.valval, + ?poRec.vtp_id, + ?poRec.procdiv, + ?poRec.gds_id, + ?poRec.cargo, + ?poRec.marfa_country_id) + RETURNING id into ?@poRec.vmv_id + Endtext + + llSucces = (SQLSetprop(gnHandle, "Transactions", 2) >= 0) + + Select crsVoyage + Scan + If !m.llSucces + Exit + Endif + + Scatter Name poVoyage + poVoyage.tip = NTIP_TRANZIT + poVoyage.client_ctr_id = Iif(!Empty(Nvl(poVoyage.client_ctr_id, 0)), poVoyage.client_ctr_id, Null) && nu exista contract cu id=0 si nu se valideaza constrangerea + poVoyage.beneficiar_id = Iif(!Empty(Nvl(poVoyage.beneficiar_id, 0)), poVoyage.beneficiar_id, Null) + + pnVVId = 0 && Nvl(poVoyage.vv_id, 0) + + llSucces = goExecutor.oExecuta(m.lcSqlVIns) + If !m.llSucces + Exit + Endif + + Replace vv_id With m.pnVVId In crsVoyage + lcVVIds = m.lcVVIds + ',' + Alltrim(Str(Int(m.pnVVId))) + + * COMPLETEZ IPS_VOYAGE_MEMBERS_VANZARI + Select crsVoyages + Scan For ales = 1 And vye_id = poVoyage.vye_id + Scatter Name poRec + poRec.vv_id = m.pnVVId + llSucces = goExecutor.oExecuta(m.lcSqlVMIns) + If !m.llSucces + Exit + Endif + Select crsVoyages + Replace vmv_id With poRec.vmv_id + Endscan && crsVoyages + Endscan && crsVoyage + + If !m.llSucces + lcSql = "ROLLBACK" + llScris = .F. + Else + lcSql = "COMMIT" + llScris = .T. + Endif + llScris = goExecutor.oExecuta(m.lcSql) + + llSucces2 = (SQLSetprop(gnHandle, "Transactions", 1) >= 0) + If !m.llSucces2 + amessagebox('Programul nu a reusit sa treaca pe tranzactie automata. Iesiti din program si intrati din nou!', 48, 'Atentie!') + Endif + + llSucces = m.llSucces And m.llScris + + If !Empty(m.lcVVIds) + lcVVIds = Substr(m.lcVVIds, 2) + Endif + poDate.uuid = m.lcVVIds + + Return m.lcVVIds +Endproc && salvare_tranzit + + +**************************************************************************************************************************** +*** Salveaza datele calculate pentru factura din contract +*** Intoarce o lista de ips_regdoc.id, corespunzatoare fiecarei inregistrari adaugate +**************************************************************************************************************************** +Procedure salvare_contract + Local lcRgdIds, ldData, lcDocument, lcSqlIns, lcSelect + Private poRec + lcRgdIds = '' + lcSelect = Select() + + Text To lcSqlIns Noshow +insert into ips_regdoc + (tip, + id_articol, + id_locatia, + id_valuta, + id_client, + id_contract, + pret, + cantitate, + valval, + proc_tvav, + document, + data, + perioada) +values + (?poRec.tip, + ?poRec.id_articol, + ?poRec.id_locatia, + ?poRec.id_valuta, + ?poRec.id_client, + ?poRec.id_contract, + ?poRec.pret, + ?poRec.cantitate, + ?poRec.valval, + ?poRec.proc_tvav, + ?poRec.document, + ?poRec.data, + ?poRec.perioada) + RETURNING id into ?@poRec.id + Endtext + + ldData = crsCapFactura.dataact + lcDocument = Substr(Sys(2015), 2) + Select Cast(0 As N(20, 0)) As Id, poDate.nTipFactura As tip, m.ldData As Data, m.lcDocument As Document, id_articol, id_locatia, id_valuta, id_part As id_client, id_ctr As id_contract, Pret, cantitate, valval, proc_tvav, perioada ; + From crsArticoleContract ; + With (Buffering = .T.) ; + Into Cursor crsRegDocTemp + + llSucces = (SQLSetprop(gnHandle, "Transactions", 2) >= 0) + + Select crsRegDocTemp + Scan + Scatter Name poRec + poRec.perioada = Alltrim(Nvl(poRec.perioada, '')) + + llSucces = goExecutor.oExecuta(m.lcSqlIns) + If !m.llSucces + Exit + Endif + + lcRgdIds = m.lcRgdIds + ',' + Alltrim(Str(Int(m.poRec.Id))) + Endscan && crsRegDocTemp + Use In (Select('crsRegDocTemp')) + + If !m.llSucces + lcSql = "ROLLBACK" + llScris = .F. + Else + lcSql = "COMMIT" + llScris = .T. + Endif + llScris = goExecutor.oExecuta(m.lcSql) + + llSucces2 = (SQLSetprop(gnHandle, "Transactions", 1) >= 0) + If !m.llSucces2 + amessagebox('Programul nu a reusit sa treaca pe tranzactie automata. Iesiti din program si intrati din nou!', 48, 'Atentie!') + Endif + + llSucces = m.llSucces And m.llScris + + If !Empty(m.lcRgdIds) + lcRgdIds = Substr(m.lcRgdIds, 2) + Endif + + poDate.uuid = m.lcRgdIds + + Select (m.lcSelect) + Return m.lcRgdIds +Endproc && salvare_contract + +**************************************************************************************************************************** +*** Deocamdata nu salveaza nimic in baza de date. Salvarea recapitulatiei se face la salvarea facturii +**************************************************************************************************************************** +Procedure salvare_penalitati + Local lcSelect, lcDel + lcSelect = Select() + + Use In (Select('crsCalculPenalitatiAles')) + lcDel = Set("Deleted") + Set Deleted Off + + * Selectez inregistrarile alese si pe cele sterse, sa le marchez sterse si in penalitati + * penalitati.sters = 2 (sters explicit de utilizator, nu sters automat la stergerea unei facturi de penalitati) + Select * From crsCalculPenalitati ; + With (Buffering = .T.) ; + Where ales Or sters = 2 ; + Into Cursor crsCalculPenalitatiAles Readwrite + + Set Deleted &lcDel + + Select (m.lcSelect) + Return '0' +Endproc && salvare_penalitati + +***************************************** +*** Sterg din IPS_REGDOC inregistrarile adaugate pentru CONTRACTE (CHIRII, APA), daca dau renunt la factura +***************************************** +Procedure STERG_CONTRACT_REGDOC + Local lcRgdIds, lcSql, llSucces + lcRgdIds = poDate.uuid + llSucces = .T. + + If !Empty(m.lcRgdIds) + lcSql = [DELETE FROM IPS_REGDOC WHERE ID IN (] + m.lcRgdIds + [)] + llSucces = goExecutor.oExecuta(m.lcSql) + Endif + Return m.llSucces +Endproc && STERG_CONTRACT_REGDOC + +***************************************** +*** Sterg din IPS_VOYAGES_VANZARI inregistrarile adaugate, daca dau renunt la factura +***************************************** +Procedure STERG_TRANZIT + Local lcRgdIds, lcSql, llSucces + lcVVIds = poDate.uuid + llSucces = .T. + + If !Empty(m.lcVVIds) + Text To lcSql Textmerge Noshow +BEGIN + DELETE FROM ips_voyage_members_vanzari WHERE VV_ID IN (<>); + DELETE FROM IPS_VOYAGES_VANZARI WHERE ID IN (<>); +END; + Endtext + llSucces = goExecutor.oExecuta(m.lcSql) + Endif && lcVVIds + Return m.llSucces +Endproc && STERG_TRANZIT + +***************************************** +*** Sterg din IPS_VOYAGES_VANZARI inregistrarile adaugate, daca dau renunt la factura +***************************************** +Procedure STERG_CHEIAJ + Local lcRgdIds, lcSql, llSucces + lcVVIds = poDate.uuid + llSucces = .T. + + If !Empty(m.lcVVIds) + Text To lcSql Textmerge Noshow +BEGIN + DELETE FROM ips_berthing_details_vanzari where bv_id IN (SELECT ID FROM IPS_BERTHINGS_VANZARI WHERE VV_ID IN (<>)); + DELETE FROM ips_berthings_vanzari WHERE VV_ID IN (<>); + DELETE FROM IPS_VOYAGES_VANZARI WHERE ID IN (<>); +END; + Endtext + llSucces = goExecutor.oExecuta(m.lcSql) + Endif && lcVVIds + + Return m.llSucces +Endproc && STERG_CHEIAJ + +******************************************************************************************* +*** completez cursul valutar si valorile in lei pe barje, dupa factura, in scopul calcularii valorilor defalcate pe ecluze, senal +******************************************************************************************* +Procedure update_tranzit + Lparameters tcVVIds + + Local lcSql, llScris, llSucces, llSucces2 + Private pnVVId, pnCurs, pnIdValuta, pnProcTva + + Text To lcSql Textmerge Noshow +update ips_voyage_members_vanzari set curs = ?pnCurs, + tvaval = ROUND(valval * ?pnProcTVA, ?gnPVal), + totval = valval + ROUND(valval * ?pnProcTVA, ?gnPVal), + valftva = ROUND(valval * ?pnCurs, ?gnPC), + valtva = ROUND(ROUND(valval * ?pnCurs, ?gnPC) * ?pnProcTVA , ?gnPC), + valctva = ROUND(valval * ?pnCurs, ?gnPC) + ROUND(ROUND(valval * ?pnCurs, ?gnPC) * ?pnProcTVA , ?gnPC) + where vv_id in (<>) and id_valuta = ?pnIdValuta + Endtext + + Select Distinct Curs, id_valuta, proc_tva From crsFactura Into Cursor cValuteTemp + llSucces = (SQLSetprop(gnHandle, "Transactions", 2) >= 0) + If m.llSucces + Select cValuteTemp + Scan + pnCurs = Curs + pnIdValuta = id_valuta + pnProcTva = (proc_tva - 1) + llSucces = goExecutor.oExecuta(m.lcSql) + If !m.llSucces + Exit + Endif + Endscan + Endif && llSucces + If !m.llSucces + lcSql = "ROLLBACK" + llScris = .F. + Else + lcSql = "COMMIT" + llScris = .T. + Endif + llScris = goExecutor.oExecuta(m.lcSql) + + llSucces2 = (SQLSetprop(gnHandle, "Transactions", 1) >= 0) + If !m.llSucces2 + amessagebox('Programul nu a reusit sa treaca pe tranzactie automata. Iesiti din program si intrati din nou!', 48, 'Atentie!') + Endif + + llSucces = m.llSucces And m.llScris + Use In (Select('cValuteTemp')) + Return m.llSucces +Endproc && update_tranzit + +******************************************************************************************* +*** completez in ips_berthing_details_vanzari: cursul valutar si valorile in lei pe barje, dupa factura, in scopul calcularii valorilor defalcate pe ecluze, senal +******************************************************************************************* +Procedure update_cheiaj + Lparameters tcVVIds + + Local lcSql, llScris, llSucces, llSucces2 + Private pnVVId, pnCurs, pnIdValuta, pnProcTva + + Text To lcSql Textmerge Noshow +update ips_berthing_details_vanzari set curs = ?pnCurs, + tvaval = ROUND(valval * ?pnProcTVA, ?gnPVal), + totval = valval + ROUND(valval * ?pnProcTVA, ?gnPVal), + valftva = ROUND(valval * ?pnCurs, ?gnPC), + valtva = ROUND(ROUND(valval * ?pnCurs, ?gnPC) * ?pnProcTVA , ?gnPC), + valctva = ROUND(valval * ?pnCurs, ?gnPC) + ROUND(ROUND(valval * ?pnCurs, ?gnPC) * ?pnProcTVA , ?gnPC) + where id_valuta = ?pnIdValuta and bv_id in (select id from ips_berthings_vanzari where vv_id in (<>)) + Endtext + + Select Distinct Curs, id_valuta, proc_tva From crsFactura Into Cursor cValuteTemp + llSucces = (SQLSetprop(gnHandle, "Transactions", 2) >= 0) + If m.llSucces + Select cValuteTemp + Scan + pnCurs = Curs + pnIdValuta = id_valuta + pnProcTva = (proc_tva - 1) + llSucces = goExecutor.oExecuta(m.lcSql) + If !m.llSucces + Exit + Endif + Endscan + Endif && llSucces + If !m.llSucces + lcSql = "ROLLBACK" + llScris = .F. + Else + lcSql = "COMMIT" + llScris = .T. + Endif + llScris = goExecutor.oExecuta(m.lcSql) + + llSucces2 = (SQLSetprop(gnHandle, "Transactions", 1) >= 0) + If !m.llSucces2 + amessagebox('Programul nu a reusit sa treaca pe tranzactie automata. Iesiti din program si intrati din nou!', 48, 'Atentie!') + Endif + + llSucces = m.llSucces And m.llScris + Use In (Select('cValuteTemp')) + Return m.llSucces +Endproc && update_cheiaj + +******************************************************************************************* +*** completez in ips_regdoc: cursul valutar si valorile in lei +******************************************************************************************* +Procedure update_contracte + Lparameters tcRgdIds + + Local lcSql, llScris, llSucces, llSucces2, lcSqlValuta + Private pnVVId, pnCurs, pnIdValuta, pnProcTva, pnProcTVAV + + * Folosesc 4 zecimale la rotunjire, pentru ca in recapitulatie sa apara cu 4 zecimale, iar in factura adun toate liniile intr-una singura si rotunjesc suma totala la 2 zecimale + Text To lcSql Textmerge Noshow +update ips_regdoc set curs = ?pnCurs, + tvaval = ROUND(valval * ?pnProcTVA, ?gnPval), + totval = valval + ROUND(valval * ?pnProcTVA, ?gnPval), + valftva = ROUND(valval * ?pnCurs, ?gnPC), + valtva = ROUND(ROUND(valval * ?pnCurs, ?gnPval) * ?pnProcTVA , ?gnPC), + valctva = ROUND(valval * ?pnCurs, ?gnPval) + ROUND(ROUND(valval * ?pnCurs, ?gnPval) * ?pnProcTVA , ?gnPc) + where id_valuta = ?pnIdValuta and proc_tvav = ?pnProcTVAV and id in (<>) + Endtext + + * In crsFactura este o singura linie cu id_valuta = LEI pentru INTERN sau id_valuta distinct pentru EXTERN + * Trebuie sa iau id_valuta din IPS_REGDOC, nu din crsFactura + Text To lcSqlValuta Textmerge Noshow +SELECT distinct id_valuta, proc_tvav FROM ips_regdoc WHERE id in (<>) + Endtext + + llSucces = goExecutor.oExecuta(m.lcSqlValuta, 'cValuteRgd') + If m.llSucces + Select r.id_valuta, r.proc_tvav As proc_tva, C.Curs From cValuteRgd r Left Join crsCursuri C On r.id_valuta = C.id_valuta Into Cursor cValuteTemp + Endif + Use In (Select('cValuteRgd')) + + llSucces = (SQLSetprop(gnHandle, "Transactions", 2) >= 0) + If m.llSucces + Select cValuteTemp + Scan + pnCurs = Nvl(Curs, 1) && CURS LEI = 1 + pnIdValuta = id_valuta + pnProcTva = (proc_tva - 1) + pnProcTVAV = proc_tva + llSucces = goExecutor.oExecuta(m.lcSql) + If !m.llSucces + Exit + Endif + Endscan + Endif && llSucces + If !m.llSucces + lcSql = "ROLLBACK" + llScris = .F. + Else + lcSql = "COMMIT" + llScris = .T. + Endif + llScris = goExecutor.oExecuta(m.lcSql) + + llSucces2 = (SQLSetprop(gnHandle, "Transactions", 1) >= 0) + If !m.llSucces2 + amessagebox('Programul nu a reusit sa treaca pe tranzactie automata. Iesiti din program si intrati din nou!', 48, 'Atentie!') + Endif + + llSucces = m.llSucces And m.llScris + Use In (Select('cValuteTemp')) + Return m.llSucces +Endproc && update_contracte + +******************************************************************************************** +*** defalc valoarea pe ecluze si senale navigabile pentru fiecare nava din convoiul facturat pentru inregistrare in Reg. documente si apoi in contabilitate +*** Completez cursorul cRegDoc cu valori defalcate pe ecluze, senal pentru salvarea in Reg. Doc si in ontabilitate +******************************************************************************************** +Procedure completeaza_regdoc_tranzit + Lparameters tcVVIds + * tnVVId: ips_voyages_vanzari.id + + Private pnVVId, pcVyeId + Private pnIPSTranzitProcAG, pnIPSTranzitProcCV, pnIPSTranzitProcOV, pnIPSTranzitProcNV + Local lcSql, llSucces + Local lcEclC, lcEclP, lcLockName, llShowError, lnEcluzariCdmn, lnEcluzariPamn, lnProcent, lnTotValC + Local lnTotValP, lnTranzitProcCDMN, lnTranzitProcPAMN, lnTvaValC, lnTvaValP, lnValctvaC, lnValctvaP + Local lnValfftvaC, lnValfftvaP, lnValtvaC, lnValtvaP, lnValvalC, lnValvalP, loArticol, loRec, lcDeclCdt + pnVVId = 0 + pcVyeId = '' + lcDeclCdt = '' + llSucces = .T. + + Create Cursor cVoyageMembersV (vv_id I, vye_id C(36), DECLCDT C(100), vms_id C(36), ; + valftva N(18, 2), valtva N(18, 2), valctva N(18, 2), valval N(18, 2), TVAVAL N(18, 2), totval N(18, 2), id_valuta N(5), procentCDMN N(18, 4), ; + valftvaCDMN N(18, 2), valtvaCDMN N(18, 2), valctvaCDMN N(18, 2), valvalCDMN N(18, 2), tvavalCDMN N(18, 2), totvalCDMN N(18, 2), ; + valftvaPAMN N(18, 2), valtvaPAMN N(18, 2), valctvaPAMN N(18, 2), valvalPAMN N(18, 2), tvavalPAMN N(18, 2), totvalPAMN N(18, 2), ; + valftvaAG1 N(18, 2), valtvaAG1 N(18, 2), valctvaAG1 N(18, 2), valvalAG1 N(18, 2), tvavalAG1 N(18, 2), totvalAG1 N(18, 2), ; + valftvaAG2 N(18, 2), valtvaAG2 N(18, 2), valctvaAG2 N(18, 2), valvalAG2 N(18, 2), tvavalAG2 N(18, 2), totvalAG2 N(18, 2), ; + valftvaCV1 N(18, 2), valtvaCV1 N(18, 2), valctvaCV1 N(18, 2), valvalCV1 N(18, 2), tvavalCV1 N(18, 2), totvalCV1 N(18, 2), ; + valftvaCV2 N(18, 2), valtvaCV2 N(18, 2), valctvaCV2 N(18, 2), valvalCV2 N(18, 2), tvavalCV2 N(18, 2), totvalCV2 N(18, 2), ; + valftvaOV1 N(18, 2), valtvaOV1 N(18, 2), valctvaOV1 N(18, 2), valvalOV1 N(18, 2), tvavalOV1 N(18, 2), totvalOV1 N(18, 2), ; + valftvaOV2 N(18, 2), valtvaOV2 N(18, 2), valctvaOV2 N(18, 2), valvalOV2 N(18, 2), tvavalOV2 N(18, 2), totvalOV2 N(18, 2), ; + valftvaNV1 N(18, 2), valtvaNV1 N(18, 2), valctvaNV1 N(18, 2), valvalNV1 N(18, 2), tvavalNV1 N(18, 2), totvalNV1 N(18, 2), ; + valftvaNV2 N(18, 2), valtvaNV2 N(18, 2), valctvaNV2 N(18, 2), valvalNV2 N(18, 2), tvavalNV2 N(18, 2), totvalNV2 N(18, 2), ; + valftvaCDMNS N(18, 2), valtvaCDMNS N(18, 2), valctvaCDMNS N(18, 2), valvalCDMNS N(18, 2), tvavalCDMNS N(18, 2), totvalCDMNS N(18, 2), ; + valftvaPAMNS N(18, 2), valtvaPAMNS N(18, 2), valctvaPAMNS N(18, 2), valvalPAMNS N(18, 2), tvavalPAMNS N(18, 2), totvalPAMNS N(18, 2)) + + pnIPSTranzitProcAG = Iif(Type('gnIPSTranzitProcAG') = 'N', m.gnIPSTranzitProcAG, 0) + pnIPSTranzitProcCV = Iif(Type('gnIPSTranzitProcCV') = 'N', m.gnIPSTranzitProcCV, 0) + pnIPSTranzitProcOV = Iif(Type('gnIPSTranzitProcOV') = 'N', m.gnIPSTranzitProcOV, 0) + pnIPSTranzitProcNV = Iif(Type('gnIPSTranzitProcNV') = 'N', m.gnIPSTranzitProcNV, 0) + + * Pentru fiecare voiaj ales selectez ecluzarile + llSucces = goExecutor.oExecuta([select distinct vv_id, vye_id, declaratio FROM ips_vvoyages_vanzari where vv_id in (] + m.tcVVIds + [)], "cVVTemp") + If !m.llSucces + Create Cursor cVVTemp (vye_id I, declaratio C(20)) + Endif + + Select cVVTemp + Scan + pcVyeId = cVVTemp.vye_id + pnVVId = cVVTemp.vv_id + lcDeclCdt = Alltrim(Nvl(cVVTemp.declaratio, '')) + + * Selectez ecluzele AGIGEA, CERNAVODA, OVIDIU, NAVODARI prin care a ecluzat convoiul. + * In IPS_VVOYAGE_LOCKS ecluzarile sunt defalcate pe membrii convoiului si pe camerele ecluzei, nu pe convoi si pe ecluze + * De aceea selectez distinct id_lock + + * 26.05.2020 selectez si dupa vms_id (membru convoi) pentru ca inregistrez veniturile pe ecluze la nivel de camere de ecluzare + * o nava poate sa treaca printr-o camera de ecluzare, alta nava prin alta camera sau deloc prin ecluza + Text To lcSql Textmerge Noshow + Select vms_id, id_lock, + CAST(CASE WHEN UPPER(LOCK_NAME) LIKE '%AGIGEA%' THEN 'AGIGEA' + WHEN UPPER(LOCK_NAME) LIKE '%CERNAVODA%' THEN 'CERNAVODA' + WHEN UPPER(LOCK_NAME) LIKE '%OVIDIU%' THEN 'OVIDIU' + WHEN UPPER(LOCK_NAME) LIKE '%NAVODARI%' THEN 'NAVODARI' + ELSE '' END AS VARCHAR2(20)) AS lock_name, + chamber_name, + CAST(CASE WHEN UPPER(LOCK_NAME) LIKE '%AGIGEA%' THEN ?pnIPSTranzitProcAG + WHEN UPPER(LOCK_NAME) LIKE '%CERNAVODA%' THEN ?pnIPSTranzitProcCV + WHEN UPPER(LOCK_NAME) LIKE '%OVIDIU%' THEN ?pnIPSTranzitProcOV + WHEN UPPER(LOCK_NAME) LIKE '%NAVODARI%' THEN ?pnIPSTranzitProcNV + ELSE 0 END AS NUMBER(6,2)) AS PROCENT + FROM IPS_VVOYAGE_LOCKS + WHERE vye_id = ?pcVyeId + Endtext + + llSucces = goExecutor.oExecuta(m.lcSql, 'cVoyageLocksX') + + If m.llSucces + lcSql = [Select VV_ID, VYE_ID,VMS_ID,VALFTVA,VALTVA,VALCTVA,VALVAL,TVAVAL,TOTVAL,ID_VALUTA,Round(DISTANTA_CDMN / DISTANTA, 4) As procentCDMN From IPS_VOYAGE_MEMBERS_VANZARI Where VV_ID = ?pnVVId] + + llSucces = goExecutor.oExecuta(m.lcSql, 'cVoyageMembersX') + If m.llSucces + Select cVoyageMembersV + Append From Dbf('cVoyageMembersX') + Use In (Select('cVoyageMembersX')) + Endif + Endif && m.llSucces + + If m.llSucces + Select cVoyageMembersV + Scan For vv_id = m.pnVVId + lnVmsId = vms_id + Replace DECLCDT With m.lcDeclCdt + + *** Daca este o singura ecluzare, se calculeaza valoarea senalului ca procent fix, iar diferenta trece pe ecluza + *** Daca sunt mai multe ecluzari, se calculeaza valoare senalului ca diferenta dintre valoarea parcursa pe canal - valoare ecluzari + + ******************************** + *** Valori totale pe CDMN si PAMN in functie de procentul de distanta parcurs de fiecare nava pe canalul CDMN + ******************************** + * CDMN + Replace valftvaCDMN With Round(valftva * procentCDMN, 2), valctvaCDMN With Round(valctva * procentCDMN, 2) + Replace valtvaCDMN With valctvaCDMN - valftvaCDMN + Replace valvalCDMN With Round(valval * procentCDMN, 2), totvalCDMN With Round(totval * procentCDMN, 2) + Replace tvavalCDMN With totvalCDMN - valvalCDMN + + * PAMN + Replace valftvaPAMN With valftva - valftvaCDMN, valctvaPAMN With valctva - valctvaCDMN + Replace valtvaPAMN With valtva - valtvaCDMN + Replace valvalPAMN With valval - valvalCDMN, totvalPAMN With totval - totvalCDMN + Replace tvavalPAMN With TVAVAL - tvavalCDMN + + ***************************************** + * Calculez valorile pe senale navigabile + ***************************************** + lnTranzitProcCDMN = (100 - (m.pnIPSTranzitProcAG + m.pnIPSTranzitProcCV)) / 100 + lnTranzitProcPAMN = (100 - (m.pnIPSTranzitProcOV + m.pnIPSTranzitProcNV)) / 100 + + Select cVoyageMembersV + * Senal CDMN = valoarea CDMN * procent senal CDMN + Replace valftvaCDMNS With Round(valftvaCDMN * m.lnTranzitProcCDMN, 2), valctvaCDMNS With Round(valctvaCDMN * lnTranzitProcCDMN, 2) + Replace valtvaCDMNS With valctvaCDMNS - valftvaCDMNS + + Replace valvalCDMNS With Round(valvalCDMN * m.lnTranzitProcCDMN, 2), totvalCDMNS With Round(totvalCDMN * m.lnTranzitProcCDMN, 2) + Replace tvavalCDMNS With totvalCDMNS - valvalCDMNS + + * Senal PAMN WITH valoarea PAMN * procent senal PAMN + Replace valftvaPAMNS With Round(valftvaPAMN * m.lnTranzitProcPAMN, 2), valctvaPAMNS With Round(valctvaPAMN * lnTranzitProcPAMN, 2) + Replace valtvaPAMNS With valctvaPAMNS - valftvaPAMNS + + Replace valvalPAMNS With Round(valvalPAMN * m.lnTranzitProcPAMN, 2), totvalPAMNS With Round(totvalPAMN * m.lnTranzitProcPAMN, 2) + Replace tvavalPAMNS With totvalPAMNS - valvalPAMNS + + lnEcluzariCdmn = 0 + lnEcluzariPamn = 0 + lcEclC = "" + lcEclP = "" + lcChamberC = "" + lcChamberP = "" + + * Ecluze + Select cVoyageLocksX + Scan For vms_id = m.lnVmsId + lnProcent = procent / 100 + lcLockName = Alltrim(lock_name) + lcChamberName = Alltrim(chamber_name) + + Select cVoyageMembersV + Do Case + Case m.lcLockName = 'AGIGEA' And m.lcChamberName = 'SAS1' + Replace valftvaAG1 With Round(valftvaCDMN * lnProcent, 2), valctvaAG1 With Round(valctvaCDMN * lnProcent, 2) + Replace valtvaAG1 With valctvaAG1 - valftvaAG1 + + Replace valvalAG1 With Round(valvalCDMN * lnProcent, 2), totvalAG1 With Round(totvalCDMN * lnProcent, 2) + Replace tvavalAG1 With totvalAG1 - valvalAG1 + + lnEcluzariCdmn = lnEcluzariCdmn + 1 + lcEclC = m.lcLockName + lcChamberC = m.lcChamberName + Case m.lcLockName = 'AGIGEA' And m.lcChamberName = 'SAS2' + Replace valftvaAG2 With Round(valftvaCDMN * lnProcent, 2), valctvaAG2 With Round(valctvaCDMN * lnProcent, 2) + Replace valtvaAG2 With valctvaAG2 - valftvaAG2 + + Replace valvalAG2 With Round(valvalCDMN * lnProcent, 2), totvalAG2 With Round(totvalCDMN * lnProcent, 2) + Replace tvavalAG2 With totvalAG2 - valvalAG2 + + lnEcluzariCdmn = lnEcluzariCdmn + 1 + lcEclC = m.lcLockName + lcChamberC = m.lcChamberName + Case m.lcLockName = 'CERNAVODA' And m.lcChamberName = 'SAS1' + Replace valftvaCV1 With Round(valftvaCDMN * lnProcent, 2), valctvaCV1 With Round(valctvaCDMN * lnProcent, 2) + Replace valtvaCV1 With valctvaCV1 - valftvaCV1 + + Replace valvalCV1 With Round(valvalCDMN * lnProcent, 2), totvalCV1 With Round(totvalCDMN * lnProcent, 2) + Replace tvavalCV1 With totvalCV1 - valvalCV1 + + lcEclC = m.lcLockName + lnEcluzariCdmn = lnEcluzariCdmn + 1 + lcChamberC = m.lcChamberName + Case m.lcLockName = 'CERNAVODA' And m.lcChamberName = 'SAS2' + Replace valftvaCV2 With Round(valftvaCDMN * lnProcent, 2), valctvaCV2 With Round(valctvaCDMN * lnProcent, 2) + Replace valtvaCV2 With valctvaCV2 - valftvaCV2 + + Replace valvalCV2 With Round(valvalCDMN * lnProcent, 2), totvalCV2 With Round(totvalCDMN * lnProcent, 2) + Replace tvavalCV2 With totvalCV2 - valvalCV2 + + lcEclC = m.lcLockName + lnEcluzariCdmn = lnEcluzariCdmn + 1 + lcChamberC = m.lcChamberName + Case m.lcLockName = 'OVIDIU' And m.lcChamberName = 'C1' + Replace valftvaOV1 With Round(valftvaPAMN * lnProcent, 2), valctvaOV1 With Round(valctvaPAMN * lnProcent, 2) + Replace valtvaOV1 With valctvaOV1 - valftvaOV1 + + Replace valvalOV1 With Round(valvalPAMN * lnProcent, 2), totvalOV1 With Round(totvalPAMN * lnProcent, 2) + Replace tvavalOV1 With totvalOV1 - valvalOV1 + + lcEclP = m.lcLockName + lnEcluzariPamn = lnEcluzariPamn + 1 + lcChamberP = m.lcChamberName + Case m.lcLockName = 'OVIDIU' And m.lcChamberName = 'C2' + Replace valftvaOV2 With Round(valftvaPAMN * lnProcent, 2), valctvaOV2 With Round(valctvaPAMN * lnProcent, 2) + Replace valtvaOV2 With valctvaOV2 - valftvaOV2 + + Replace valvalOV2 With Round(valvalPAMN * lnProcent, 2), totvalOV2 With Round(totvalPAMN * lnProcent, 2) + Replace tvavalOV2 With totvalOV2 - valvalOV2 + + lcEclP = m.lcLockName + lnEcluzariPamn = lnEcluzariPamn + 1 + lcChamberP = m.lcChamberName + Case m.lcLockName = 'NAVODARI' And m.lcChamberName = 'C1' + Replace valftvaNV1 With Round(valftvaPAMN * lnProcent, 2), valctvaNV1 With Round(valctvaPAMN * lnProcent, 2) + Replace valtvaNV1 With valctvaNV1 - valftvaNV1 + + Replace valvalNV1 With Round(valvalPAMN * lnProcent, 2), totvalNV1 With Round(totvalPAMN * lnProcent, 2) + Replace tvavalNV1 With totvalNV1 - valvalNV1 + + lcEclP = m.lcLockName + lnEcluzariPamn = lnEcluzariPamn + 1 + lcChamberP = m.lcChamberName + Case m.lcLockName = 'NAVODARI' And m.lcChamberName = 'C2' + Replace valftvaNV2 With Round(valftvaPAMN * lnProcent, 2), valctvaNV2 With Round(valctvaPAMN * lnProcent, 2) + Replace valtvaNV2 With valctvaNV2 - valftvaNV2 + + Replace valvalNV2 With Round(valvalPAMN * lnProcent, 2), totvalNV2 With Round(totvalPAMN * lnProcent, 2) + Replace tvavalNV2 With totvalNV2 - valvalNV2 + + lcEclP = m.lcLockName + lnEcluzariPamn = lnEcluzariPamn + 1 + lcChamberP = m.lcChamberName + Endcase + Endscan && cVoyageLocksX + + *** Diferenta (tranzit CDMN/PAMN - senal CDMN/PAMN - ecluzari (AG,CV/OV,NV) trece pe ecluzare pe fiecare canal, daca exista, altfel pe senal + Select cVoyageMembersV + lnValfftvaC = valftvaCDMN - (valftvaCDMNS + valftvaAG1 + valftvaCV1 + valftvaAG2 + valftvaCV2) + lnValctvaC = valctvaCDMN - (valctvaCDMNS + valctvaAG1 + valctvaCV1 + valctvaAG2 + valctvaCV2) + lnValtvaC = m.lnValctvaC - m.lnValfftvaC + + lnValvalC = valvalCDMN - (valvalCDMNS + valvalAG1 + valvalCV1 + valvalAG2 + valvalCV2) + lnTotValC = totvalCDMN - (totvalCDMNS + totvalAG1 + totvalCV1 + totvalAG2 + totvalCV2) + lnTvaValC = m.lnTotValC - m.lnValvalC + + lnValfftvaP = valftvaPAMN - (valftvaPAMNS + valftvaOV1 + valftvaNV1 + valftvaOV2 + valftvaNV2) + lnValctvaP = valctvaPAMN - (valctvaPAMNS + valctvaOV1 + valctvaNV1 + valctvaOV2 + valctvaNV2) + lnValtvaP = m.lnValctvaP - m.lnValfftvaP + + lnValvalP = valvalPAMN - (valvalPAMNS + valvalOV1 + valvalNV1 + valvalOV2 + valvalNV2) + lnTotValP = totvalPAMN - (totvalPAMNS + totvalOV1 + totvalNV1 + totvalOV2 + totvalNV2) + lnTvaValP = m.lnTotValP - m.lnValvalP + + Select cVoyageMembersV + If m.lnEcluzariCdmn = 0 + * Senal CDMN = valoarea CDMN - (AG + CV) + Replace valftvaCDMNS With valftvaCDMNS + m.lnValfftvaC, valctvaCDMNS With valctvaCDMNS + m.lnValctvaC, valtvaCDMNS With valtvaCDMNS + lnValtvaC + Replace valvalCDMNS With valvalCDMNS + m.lnValvalC, totvalCDMNS With totvalCDMNS + m.lnTotValC, tvavalCDMNS With tvavalCDMNS + m.lnTvaValC + Else + Do Case + Case m.lcEclC = 'AGIGEA' And m.lcChamberC = 'SAS1' && pun diferenta pe ultima ecluza + Replace valftvaAG1 With valftvaAG1 + m.lnValfftvaC, valctvaAG1 With valctvaAG1 + m.lnValctvaC, valtvaAG1 With valtvaAG1 + m.lnValtvaC + Replace valvalAG1 With valvalAG1 + m.lnValvalC, totvalAG1 With totvalAG1 + m.lnTotValC, tvavalAG1 With tvavalAG1 + m.lnTvaValC + + Case m.lcEclC = 'AGIGEA' And m.lcChamberC = 'SAS2' && pun diferenta pe ultima ecluza + Replace valftvaAG2 With valftvaAG2 + m.lnValfftvaC, valctvaAG2 With valctvaAG2 + m.lnValctvaC, valtvaAG2 With valtvaAG2 + m.lnValtvaC + Replace valvalAG2 With valvalAG2 + m.lnValvalC, totvalAG2 With totvalAG2 + m.lnTotValC, tvavalAG2 With tvavalAG2 + m.lnTvaValC + + Case m.lcEclC = 'CERNAVODA' And m.lcChamberC = 'SAS1' && pun diferenta pe ultima ecluza + Replace valftvaCV1 With valftvaCV1 + m.lnValfftvaC, valctvaCV1 With valctvaCV1 + m.lnValctvaC, valtvaCV1 With valtvaCV1 + m.lnValtvaC + Replace valvalCV1 With valvalCV1 + m.lnValvalC, totvalCV1 With totvalCV1 + m.lnTotValC, tvavalCV1 With tvavalCV1 + m.lnTvaValC + + Otherwise && CASE m.lcEclC = 'CERNAVODA' AND m.lcChamber = 'SAS2' && pun diferenta pe ultima ecluza + Replace valftvaCV2 With valftvaCV2 + m.lnValfftvaC, valctvaCV2 With valctvaCV2 + m.lnValctvaC, valtvaCV2 With valtvaCV2 + m.lnValtvaC + Replace valvalCV2 With valvalCV2 + m.lnValvalC, totvalCV2 With totvalCV2 + m.lnTotValC, tvavalCV2 With tvavalCV2 + m.lnTvaValC + Endcase + Endif + + If m.lnEcluzariPamn = 0 + * Senal PAMN = valoarea PAMN - (OV + NV) + Replace valftvaPAMNS With valftvaPAMNS + m.lnValfftvaP, valctvaPAMNS With valctvaPAMNS + m.lnValctvaP, valtvaPAMNS With valtvaPAMNS + lnValtvaP + Replace valvalPAMNS With valvalPAMNS + m.lnValvalP, totvalPAMNS With totvalPAMNS + m.lnTotValP, tvavalPAMNS With tvavalPAMNS + m.lnTvaValP + Else + Do Case + Case m.lcEclP = 'OVIDIU' And m.lcChamberP = 'C1' && pun diferenta pe ultima ecluza + Replace valftvaOV1 With valftvaOV1 + m.lnValfftvaP, valctvaOV1 With valctvaOV1 + m.lnValctvaP, valtvaOV1 With valtvaOV1 + m.lnValtvaP + Replace valvalOV1 With valvalOV1 + m.lnValvalP, totvalOV1 With totvalOV1 + m.lnTotValP, tvavalOV1 With tvavalOV1 + m.lnTvaValP + + Case m.lcEclP = 'OVIDIU' And m.lcChamberP = 'C2' && pun diferenta pe ultima ecluza + Replace valftvaOV2 With valftvaOV2 + m.lnValfftvaP, valctvaOV2 With valctvaOV2 + m.lnValctvaP, valtvaOV2 With valtvaOV2 + m.lnValtvaP + Replace valvalOV2 With valvalOV2 + m.lnValvalP, totvalOV2 With totvalOV2 + m.lnTotValP, tvavalOV2 With tvavalOV2 + m.lnTvaValP + + Case m.lcEclP = 'NAVODARI' And m.lcChamberP = 'C1' && pun diferenta pe ultima ecluza + Replace valftvaNV1 With valftvaNV1 + m.lnValfftvaP, valctvaNV1 With valctvaNV1 + m.lnValctvaP, valtvaNV1 With valtvaNV1 + m.lnValtvaP + Replace valvalNV1 With valvalNV1 + m.lnValvalP, totvalNV1 With totvalNV1 + m.lnTotValP, tvavalNV1 With tvavalNV1 + m.lnTvaValP + + Otherwise && m.lcEclP = 'NAVODARI' AND m.lcChamber = 'C2' + Replace valftvaNV2 With valftvaNV2 + m.lnValfftvaP, valctvaNV2 With valctvaNV2 + m.lnValctvaP, valtvaNV2 With valtvaNV2 + m.lnValtvaP + Replace valvalNV2 With valvalNV2 + m.lnValvalP, totvalNV2 With totvalNV2 + m.lnTotValP, tvavalNV2 With tvavalNV2 + m.lnTvaValP + Endcase + Endif + Endscan && cVoyageMembersV + Endif && llSucces + + Use In (Select('cVoyageLocksX')) + Endscan && cVVTemp + Use In (Select('cVVTemp')) + + Select vye_id, DECLCDT, id_valuta, ; + Sum(valftvaAG1) As valftvaAG1, Sum(valtvaAG1) As valtvaAG1, Sum(valctvaAG1) As valctvaAG1, Sum(valvalAG1) As valvalAG1, Sum(tvavalAG1) As tvavalAG1, Sum(totvalAG1) As totvalAG1, ; + Sum(valftvaCV1) As valftvaCV1, Sum(valtvaCV1) As valtvaCV1, Sum(valctvaCV1) As valctvaCV1, Sum(valvalCV1) As valvalCV1, Sum(tvavalCV1) As tvavalCV1, Sum(totvalCV1) As totvalCV1, ; + Sum(valftvaOV1) As valftvaOV1, Sum(valtvaOV1) As valtvaOV1, Sum(valctvaOV1) As valctvaOV1, Sum(valvalOV1) As valvalOV1, Sum(tvavalOV1) As tvavalOV1, Sum(totvalOV1) As totvalOV1, ; + Sum(valftvaNV1) As valftvaNV1, Sum(valtvaNV1) As valtvaNV1, Sum(valctvaNV1) As valctvaNV1, Sum(valvalNV1) As valvalNV1, Sum(tvavalNV1) As tvavalNV1, Sum(totvalNV1) As totvalNV1, ; + Sum(valftvaAG2) As valftvaAG2, Sum(valtvaAG2) As valtvaAG2, Sum(valctvaAG2) As valctvaAG2, Sum(valvalAG2) As valvalAG2, Sum(tvavalAG2) As tvavalAG2, Sum(totvalAG2) As totvalAG2, ; + Sum(valftvaCV2) As valftvaCV2, Sum(valtvaCV2) As valtvaCV2, Sum(valctvaCV2) As valctvaCV2, Sum(valvalCV2) As valvalCV2, Sum(tvavalCV2) As tvavalCV2, Sum(totvalCV2) As totvalCV2, ; + Sum(valftvaOV2) As valftvaOV2, Sum(valtvaOV2) As valtvaOV2, Sum(valctvaOV2) As valctvaOV2, Sum(valvalOV2) As valvalOV2, Sum(tvavalOV2) As tvavalOV2, Sum(totvalOV2) As totvalOV2, ; + Sum(valftvaNV2) As valftvaNV2, Sum(valtvaNV2) As valtvaNV2, Sum(valctvaNV2) As valctvaNV2, Sum(valvalNV2) As valvalNV2, Sum(tvavalNV2) As tvavalNV2, Sum(totvalNV2) As totvalNV2, ; + Sum(valftvaCDMNS) As valftvaCDMNS, Sum(valtvaCDMNS) As valtvaCDMNS, Sum(valctvaCDMNS) As valctvaCDMNS, Sum(valvalCDMNS) As valvalCDMNS, Sum(tvavalCDMNS) As tvavalCDMNS, Sum(totvalCDMNS) As totvalCDMNS, ; + Sum(valftvaPAMNS) As valftvaPAMNS, Sum(valtvaPAMNS) As valtvaPAMNS, Sum(valctvaPAMNS) As valctvaPAMNS, Sum(valvalPAMNS) As valvalPAMNS, Sum(tvavalPAMNS) As tvavalPAMNS, Sum(totvalPAMNS) As totvalPAMNS ; + From cVoyageMembersV ; + Group By vye_id, DECLCDT, id_valuta ; + Into Cursor cVoyagesValori + + Use In (Select('cVoyageMembersV')) + + Delete From cRegDoc && curat cRegDoc + + Select cVoyagesValori + Scan + Scatter Name loRec + lnCantitate = Iif(valctvaAG1 < 0 Or valctvaCV1 < 0 Or valctvaOV1 < 0 Or valctvaNV1 < 0 Or valctvaCDMNS < 0 Or valctvaPAMNS < 0 Or valctvaAG2 < 0 Or valctvaCV2 < 0 Or valctvaOV2 < 0 Or valctvaNV2 < 0, -1, 1) + With loRec + If .valftvaAG1 <> 0 Or .valtvaAG1 <> 0 + Insert Into cRegDoc(Document, locatia, valftva, valtva, valctva, valval, Pret, id_valuta, cantitate) Values (.DECLCDT, 'AGIGEA-SAS1', .valftvaAG1, .valtvaAG1, .valctvaAG1, .valvalAG1, .valvalAG1, .id_valuta, m.lnCantitate) + Endif + If .valftvaCV1 <> 0 Or .valtvaCV1 <> 0 + Insert Into cRegDoc(Document, locatia, valftva, valtva, valctva, valval, Pret, id_valuta, cantitate) Values (.DECLCDT, 'CERNAVODA-SAS1', .valftvaCV1, .valtvaCV1, .valctvaCV1, .valvalCV1, .valvalCV1, .id_valuta, m.lnCantitate) + Endif + If .valftvaOV1 <> 0 Or .valtvaOV1 <> 0 + Insert Into cRegDoc(Document, locatia, valftva, valtva, valctva, valval, Pret, id_valuta, cantitate) Values (.DECLCDT, 'OVIDIU-C1', .valftvaOV1, .valtvaOV1, .valctvaOV1, .valvalOV1, .valvalOV1, .id_valuta, m.lnCantitate) + Endif + If .valftvaNV1 <> 0 Or .valtvaNV1 <> 0 + Insert Into cRegDoc(Document, locatia, valftva, valtva, valctva, valval, Pret, id_valuta, cantitate) Values (.DECLCDT, 'NAVODARI-C1', .valftvaNV1, .valtvaNV1, .valctvaNV1, .valvalNV1, .valvalNV1, .id_valuta, m.lnCantitate) + Endif + + If .valftvaAG2 <> 0 Or .valtvaAG2 <> 0 + Insert Into cRegDoc(Document, locatia, valftva, valtva, valctva, valval, Pret, id_valuta, cantitate) Values (.DECLCDT, 'AGIGEA-SAS2', .valftvaAG2, .valtvaAG2, .valctvaAG2, .valvalAG2, .valvalAG2, .id_valuta, m.lnCantitate) + Endif + If .valftvaCV2 <> 0 Or .valtvaCV2 <> 0 + Insert Into cRegDoc(Document, locatia, valftva, valtva, valctva, valval, Pret, id_valuta, cantitate) Values (.DECLCDT, 'CERNAVODA-SAS2', .valftvaCV2, .valtvaCV2, .valctvaCV2, .valvalCV2, .valvalCV2, .id_valuta, m.lnCantitate) + Endif + If .valftvaOV2 <> 0 Or .valtvaOV2 <> 0 + Insert Into cRegDoc(Document, locatia, valftva, valtva, valctva, valval, Pret, id_valuta, cantitate) Values (.DECLCDT, 'OVIDIU-C2', .valftvaOV2, .valtvaOV2, .valctvaOV2, .valvalOV2, .valvalOV2, .id_valuta, m.lnCantitate) + Endif + If .valftvaNV2 <> 0 Or .valtvaNV2 <> 0 + Insert Into cRegDoc(Document, locatia, valftva, valtva, valctva, valval, Pret, id_valuta, cantitate) Values (.DECLCDT, 'NAVODARI-C2', .valftvaNV2, .valtvaNV2, .valctvaNV2, .valvalNV2, .valvalNV2, .id_valuta, m.lnCantitate) + Endif + + If .valftvaCDMNS <> 0 Or .valtvaCDMNS <> 0 + Insert Into cRegDoc(Document, locatia, valftva, valtva, valctva, valval, Pret, id_valuta, cantitate) Values (.DECLCDT, 'SENAL CDMN', .valftvaCDMNS, .valtvaCDMNS, .valctvaCDMNS, .valvalCDMNS, .valvalCDMNS, .id_valuta, m.lnCantitate) + Endif + If .valftvaPAMNS <> 0 Or .valtvaPAMNS <> 0 + Insert Into cRegDoc(Document, locatia, valftva, valtva, valctva, valval, Pret, id_valuta, cantitate) Values (.DECLCDT, 'SENAL PAM', .valftvaPAMNS, .valtvaPAMNS, .valctvaPAMNS, .valvalPAMNS, .valvalPAMNS, .id_valuta, m.lnCantitate) + Endif + Endwith + Endscan && cVoyagesValori + Use In (Select('cVoyagesValori')) + + loArticol = GetPrestatieByTip(TIP_TRANZIT) + + Update cRegDoc Set id_articol = GetIdPrestatieByArticol(GetPrestatieByTip(TIP_TRANZIT)), id_locatia = GetIdLocatieByName(Alltrim(locatia)) + Return m.llSucces +Endproc && completeaza_regdoc_tranzit + +******************************************************************************************** +*** defalc valoarea pe locatii pentru fiecare nava din convoiul facturat pentru inregistrare in Reg. documente si apoi in contabilitate +*** Completez cursorul cRegDoc cu valori defalcate pe ecluze, senal pentru salvarea in Reg. Doc si in ontabilitate +******************************************************************************************** +Procedure completeaza_regdoc_cheiaj + Lparameters tcVVIds + * tnVVId: ips_voyages_vanzari.id + + Private pnVVId + Local lcSql, llSucces, lcDeclCdt + + pnVVId = 0 + llSucces = .T. + lcDeclCdt = '' + + llSucces = goExecutor.oExecuta([select distinct vv_id, declaratio FROM ips_vvoyages_vanzari where vv_id in (] + m.tcVVIds + [)], "cVVTemp") + If !m.llSucces + Create Cursor cVVTemp (vye_id I, declaratio C(20)) + Endif + + Delete From cRegDoc && curat cRegdoc + + Select cVVTemp + Scan + lcDeclCdt = Alltrim(Nvl(cVVTemp.declaratio, '')) + pnVVId = cVVTemp.vv_id + + Text To lcSql Noshow +Select b.vv_id, b.id_locatia, bd.id_articol, bd.id_valuta, Sum(bd.valftva) As valftva, Sum(bd.valtva) As valtva, Sum(bd.valctva) As valctva, Sum(bd.valval) As valval, Sum(bd.valval) As Pret + From ips_berthing_details_vanzari bd Join ips_berthings_vanzari b On bd.bv_id = b.Id + where b.vv_id = ?pnVVId + Group By b.vv_id, b.id_locatia, bd.id_articol, bd.id_valuta + Endtext + + llSucces = goExecutor.oExecuta(m.lcSql, 'cCheiajValori') + + If m.llSucces + Select cCheiajValori + Scan + Scatter Name loRec + AddProperty(loRec, 'articol', GetArticolById(loRec.id_articol)) + AddProperty(loRec, 'locatia', GetLocatieById(loRec.id_locatia)) + AddProperty(loRec, 'document', m.lcDeclCdt) + AddProperty(loRec, 'cantitate', Iif(loRec.valctva < 0, -1, 1)) + With loRec + Insert Into cRegDoc(Document, id_locatia, locatia, id_articol, articol, valftva, valtva, valctva, valval, Pret, id_valuta, cantitate) Values (.Document, .id_locatia, .locatia, .id_articol, .articol, .valftva, .valtva, .valctva, .valval, .valval, .id_valuta, .cantitate) + Endwith + Endscan + Endif && llSucces + Use In (Select('cCheiajValori')) + Endscan && cVVTemp + + Use In (Select('cVVTemp')) + + Return m.llSucces +Endproc && completeaza_regdoc_cheiaj + + +******************************************************************************************** +*** completez cRegdoc pe locatii din ips_regdoc +******************************************************************************************** +Procedure completeaza_regdoc_contracte + Lparameters tcRgdIds + Local llSucces, loRec, llIntern + + Select crsCapFactura + Go Top + llIntern = (crsCapFactura.intern = 1) + + Text To lcSql Textmerge Noshow +SELECT id, document, id_locatia, locatia, id_articol, articol, valftva, valtva, valctva, valval, Pret, id_valuta, cantitate, id_valuta, proc_tvav, CAST(0 as NUMBER(20)) as id_jtva_coloana, CAST(0 as NUMBER(20)) as id_jtva_coloana_ex FROM ips_vregdoc WHERE id in (<>) + Endtext + + llSucces = goExecutor.oExecuta(m.lcSql, 'cContractValori') + + If m.llSucces + * Completez id_jtva_coloana din crsFactura + Select id_valuta, proc_tva, id_jtva_coloana, id_jtva_coloana_ex From crsFactura Into Cursor cCoteFacturaTemp + + Select cCoteFacturaTemp + Scan + Scatter Name loRec + * Factura intern are toate articolele modificate in LEI si nu mai corespund fata de regdoc + If m.llIntern + Update cContractValori Set id_jtva_coloana = loRec.id_jtva_coloana, id_jtva_coloana_ex = loRec.id_jtva_coloana_ex Where proc_tvav = loRec.proc_tva + Else + Update cContractValori Set id_jtva_coloana = loRec.id_jtva_coloana, id_jtva_coloana_ex = loRec.id_jtva_coloana_ex Where id_valuta = loRec.id_valuta And proc_tvav = loRec.proc_tva + Endif + Endscan + + Use In (Select('cCoteFacturaTemp')) + + Delete From cRegDoc && curat cRegDoc + + Select cContractValori + Scan + Scatter Name loRec + With loRec + Insert Into cRegDoc(Id, id_locatia, locatia, id_articol, articol, valftva, valtva, valctva, valval, Pret, id_valuta, cantitate, id_jtva_coloana, id_jtva_coloana_ex) ; + Values (.Id, .id_locatia, .locatia, .id_articol, .articol, .valftva, .valtva, .valctva, .valval, .valval, .id_valuta, .cantitate, .id_jtva_coloana, .id_jtva_coloana_ex) + Endwith + Endscan + Endif && llSucces + Use In (Select('cContractValori')) + + llSucces = .T. + + Return m.llSucces +Endproc && completeaza_regdoc_contracte + + +******************************************************************************************** +*** completez cRegdoc pe locatii din ips_regdoc +******************************************************************************************** +Procedure completeaza_regdoc_penalitati + Lparameters tcRgdIds + + + Local lcSql, llSucces, lnCantitate, lnDiferenta, lnFactId, lnIdJtva, lnIdJtvaEx, lnIdMonedaNationala, loMonedaNationala + Local lnPrestatieIdCheiaj, lnPrestatieIdTranzit, lnProcTva, lnValTvaF, lnValTvaR, lnValctvaF, lnValctvaR, lnValftvaF, lnValftvaR + Local lcListaIdFact + + Select * From crsCalculPenalitatiAles Where sters = 0 Into Cursor cFacturiPenalitati NOFILTER + + *** REGDOC pentru facturile originale + Select Distinct id_fact From cFacturiPenalitati Into Cursor cFacturiTemp + lcListaIdFact = '' + Select cFacturiTemp + Scan + lcListaIdFact = lcListaIdFact + ',' + Alltrim(Str(id_fact)) + Endscan + lcListaIdFact = Iif(!Empty(m.lcListaIdFact), Substr(m.lcListaIdFact, 2), '') + Use In (Select('cFacturiTemp')) + + lcSql = [SELECT v.id_fact, r.id, r.id_locatia, r.id_articol, r.id_valuta, r.valftva, r.valval FROM ips_regdoc r join vanzari v on r.id_vanzare = v.id_vanzare WHERE v.id_fact in (] + m.lcListaIdFact + [)] + llSucces = goExecutor.oExecuta(m.lcSql, 'cRegdocPenalitati') + If !m.llSucces + Exit + Endif + + + *** selectez prestatiile facturate pentru tip 2,3,5,9 alte prestatii, chirii, livrare apa, facturi diverse + *** trebuie sa defalc suma de penalitati dupa cont, analitic pentru fiecare prestatie, + + *** calculez suma totala facturata pe fiecare document din regdoc, pentru calcularea proportiilor fiecarei prestatii + Select id_fact, Sum(valftva) As valftva, Sum(valval) As valval ; + From cRegdocPenalitati ; + Group By id_fact ; + Into Cursor cRegDocFacturi + + Select fp.id_fact, Cast(Nvl(r.id_articol, 0) As N(12)) As id_articol, Cast(Nvl(r.id_locatia, 0) As N(12)) As id_locatia, ; + Cast(Iif(fp.suma <> 0 And Nvl(r.valftva, 0) <> 0 And Nvl(rf.valftva, 0) <> 0, Round((r.valftva / rf.valftva) * fp.penalitati, m.gnPC), Iif(Empty(Nvl(rf.id_fact, 0)), fp.penalitati, 0.00)) As N(16, 2)) As suma, ; + fp.penalitati As psuma, Nvl(fp.tip, 0) As tip, fp.nrfact, fp.id_contract, fp.contract ; + From (Select id_fact, Max(id_ctr) As id_contract, Max(numar) As contract, Max(nrfact) As nrfact, Max(Nvl(tip, 0)) As tip, Sum(suma) As suma, Sum(sumaval) As sumaval, Sum(penalitati) As penalitati ; + From cFacturiPenalitati ; + Where Inlist(tip, NTIP_TRANZIT, NTIP_CHEIAJ, NTIP_APA, NTIP_CHIRII, NTIP_ALTE, NTIP_DIVERSE) ; + Group By id_fact) fp Left Join cRegdocPenalitati r On r.id_fact = fp.id_fact ; + Left Join cRegDocFacturi rf On rf.id_fact = fp.id_fact ; + Order By fp.id_fact, r.valftva Desc ; + Into Cursor cRegDocTemp Readwrite + + * Completez prestatia pentru cheiaj, daca nu o are completata + lnPrestatieIdCheiaj = GetIdPrestatieByArticol(GetPrestatieByTip(TIP_CHEIAJ)) + lnPrestatieIdTranzit = GetIdPrestatieByArticol(GetPrestatieByTip(TIP_TRANZIT)) + Update cRegDocTemp Set id_articol = m.lnPrestatieIdCheiaj Where tip = NTIP_CHEIAJ And Empty(Nvl(id_articol, 0)) + Update cRegDocTemp Set id_articol = m.lnPrestatieIdTranzit Where tip = NTIP_TRANZIT And Empty(Nvl(id_articol, 0)) + + Use In (Select('cFacturiPenalitati')) + Use In (Select('cRegDocFacturi')) + + *** Completez diferentele de zecimale dintre suma globala de penalitati pe factura si sumele defalcate pe prestatii + Select id_fact, Sum(suma) As suma, Min(psuma) As psuma ; + From cRegDocTemp ; + Group By id_fact ; + Into Cursor cRegDocSume NOFILTER + + Select cRegDocSume + Scan + lnFactId = id_fact + lnDiferenta = psuma - suma + If m.lnDiferenta <> 0 + Select cRegDocTemp + Locate For id_fact = m.lnFactId + If Found() + Replace suma With suma + m.lnDiferenta + Endif + Endif + Endscan + Use In (Select('cRegDocSume')) + + Select crsFactura + Go Top + lnIdJtva = id_jtva_coloana + lnIdJtvaEx = id_jtva_coloana_ex + lnCantitate = 1 + lnProcTva = proc_tva && 1,00 + loMonedaNationala = GetMonedaNationala() + lnIdMonedaNationala = loMonedaNationala.id_valuta + + Delete From cRegDoc && curat cRegdoc la Facturi diverse + + Insert Into cRegDoc(id_locatia, locatia, id_articol, articol, valftva, valval, Pret, id_valuta, id_jtva_coloana, id_jtva_coloana_ex, cantitate, Document, id_contract, contract) ; + Select id_locatia, GetLocatieById(id_locatia), id_articol, GetArticolById(id_articol), suma, suma, suma, m.lnIdMonedaNationala, m.lnIdJtva, m.lnIdJtvaEx, m.lnCantitate As cantitate, Alltrim(Str(nrfact)) As Document, id_contract, contract ; + From cRegDocTemp + + Update cRegDoc Set valtva = Round(valftva * (m.lnProcTva - 1), m.gnPC), TVAVAL = Round(valval * (m.lnProcTva - 1), m.gnPC) + Update cRegDoc Set valctva = valftva + valtva, totval = valval + TVAVAL + + * Ajustez diferenta dintre valoarea de pe factura si total valoare defalcata pe locatii si articole + Calculate Sum(valftva), Sum(valtva), Sum(valctva) To lnValftvaF, lnValTvaF, lnValctvaF In crsFactura + Calculate Sum(valftva), Sum(valtva), Sum(valctva) To lnValftvaR, lnValTvaR, lnValctvaR In cRegDoc + + Select cRegDoc + Go Top + Replace valftva With valftva + (m.lnValftvaF - m.lnValftvaR), valtva With valtva + (lnValTvaF - m.lnValTvaR), valctva With (lnValctvaF - m.lnValctvaR) + Replace valval With valftva, TVAVAL With valtva, totval With valctva + + Use In (Select('cRegDocTemp')) + + llSucces = .T. + + Return m.llSucces +Endproc && completeaza_regdoc_penalitati + +******************************************************************************************** +*** facturi diverse. se iau articolele direct din factura +*** scriu valoarea pe locatii pentru fiecare articol din factura pentru inregistrare in Reg. documente si apoi in contabilitate +******************************************************************************************** +Procedure completeaza_regdoc_alte + Lparameters tuUid + * Nu folosesc tuUid, pentru ca nu se completeaza intr-un formular distinct. + * Apelez procedura la salvarea facturilor diverse si completez cRegdoc direct din crsFactura + Local llSucces + + llSucces = .F. + Delete From cRegDoc && curat cRegdoc la Facturi diverse + + Select crsFactura + Scan + Scatter Name loRec + AddProperty(loRec, 'document', '') + AddProperty(loRec, 'articol', GetArticolById(loRec.id_articol)) + AddProperty(loRec, 'locatia', GetLocatieById(loRec.id_locatia)) + + With loRec + Insert Into cRegDoc(id_locatia, locatia, id_articol, articol, valftva, valtva, valctva, valval, Pret, id_valuta, id_jtva_coloana, id_jtva_coloana_ex, cantitate) ; + Values (.id_locatia, .locatia, .id_articol, .articol, .valftva, .valtva, .valctva, .valval, .pretval, .id_valuta, .id_jtva_coloana, .id_jtva_coloana_ex, .cantitate) + Endwith + + Endscan + llSucces = .T. + + Return m.llSucces +Endproc && completeaza_regdoc_alte + +************************************************** +*** Completeaza cursul valutar in cRegdoc din crsFactura +************************************************** +Procedure completeaza_regdoc_curs + Local lcSelect, lnCurs, lnIdValuta, llSucces + llSucces = .T. + + lcSelect = Select() + Select Distinct id_valuta, Curs From crsFactura Into Cursor cValuteTemp + Select cValuteTemp + Scan + lnCurs = Curs + lnIdValuta = id_valuta + Update cRegDoc Set Curs = m.lnCurs Where id_valuta = m.lnIdValuta + Endscan + + Use In (Select('cValuteTemp')) + Select (m.lcSelect) + + Return m.llSucces +Endproc && completeaza_regdoc_curs + +************************************ +*** Completeaza notele contabile in actactan pentru salvarea in contabilitate +************************************ +Procedure completeaza_actactan + Lparameters tcTip + + Local lcAscc, lcAscd, lcExplicatia, lcScc, lcScd, lcTip, llIntern, llPenalitati, llSucces, lnIdJTvaColoana, lcSelect + Local llTVAIncasare, lnIdArticol, lnIdLocatia, loFactura, loJTVA, loJtvaA, lnFacturaFaraTVA, lnFacturaTVA, lnFacturaFaraTVAVal, lnFacturaTVAVal, lnIdSet + Local lcContTva, lcAcontTva + Local llFurnizorRTVAI, lnActBaza, lnActBazaVal, lnActTVA, lnActTVAVal, lnDiferentaBaza + Local lnDiferentaBazaVal, lnDiferentaTVA, lnDiferentaTVAVal, lnIdJtva, lnTaxCode + + lcTip = m.tcTip + lnIdSet = 50200 + llSucces = .T. + lcSelect = Select() + + Select crsCapFactura + Go Top + Scatter Name loFactura + + Select crsFactura + Go Top + loJTVA = GeJtvaColoana(crsFactura.id_jtva_coloana, goCalendar.tva_incasare, "JV") + AddProperty(loFactura, "id_jtva_coloana", loJTVA.id_jtva_coloana) + AddProperty(loFactura, "id_tva", loJTVA.id_tva) + AddProperty(loFactura, "proc_tva", crsFactura.proc_tva) + + llIntern = (loFactura.intern = 1) + llTVAIncasare = (goCalendar.tva_incasare = 1) + + Select id_articol, id_locatia, Cast(Iif(m.llIntern, 0, id_valuta) As N(5)) As id_valuta, Cast(Iif(m.llIntern, 0, Curs) As N(12, 6)) As Curs, ; + Cast(0 As N(5, 2)) As proc_tva, id_jtva_coloana, Cast(0 As N(10)) As id_tva, CAST(null as N(9)) as taxcode, ; + Space(4) As scd, Space(4) As ascd, Space(4) As scc, Space(4) As ascc, Space(100) As explicatia, ; + Sum(valftva) As suma, Sum(valtva) As valtva, Sum(valctva) As valctva, ; + Sum(valval) As suma_val, Cast(0 As N(20, 4)) As TVAVAL, Cast(0 As N(20, 4)) As totval ; + From cRegDoc ; + Group By 1, 2, 3, 4, 5, 6, 7 ; + Into Cursor cActTemp Readwrite + + *** Completez conturi si analitice in functie de locatie si articol + Sele cActTemp + Scan + llPenalitati = (m.lcTip = TIP_PENALITATI) + lcScd = '' + lcAscd = '' + lcScc = '' + lcAscc = '' + lcExplicatia = '' + lnIdArticol = id_articol + lnIdLocatia = id_locatia + lnIdJTvaColoana = Nvl(id_jtva_coloana, 0) + llSucces = GetCont(m.lcTip, m.lnIdLocatia, m.lnIdArticol, m.llIntern, m.llPenalitati, @m.lcScd, @m.lcAscd, @m.lcScc, @m.lcAscc, @m.lcExplicatia) + If !m.llSucces + If amessagebox('Doriti sa continuati fara conturi configurate?', 4 + 32, _Screen.Caption) = 6 + llSucces = .T. + Else + Exit + Endif + Endif + + If !Empty(m.lnIdJTvaColoana) + loJtvaA = GeJtvaColoana(m.lnIdJTvaColoana, goCalendar.tva_incasare, "JV") + Else + loJtvaA = loJTVA && Explicatie TVA din prima linie din factura + Endif + + lnTaxCode = NULL + IF m.gl406 + llFurnizorRTVAI = .F. + lnIdJtva = Nvl(loJtvaA.id_jtva_coloana, 0) + lnTaxCode = GetTaxCode(m.gnAn, m.gnLuna, loFactura.dataact, m.lnIdJtva, m.llFurnizorRTVAI) + ENDIF + + Select cActTemp + Replace id_jtva_coloana With Nvl(loJtvaA.id_jtva_coloana, 0), id_tva With Nvl(loJtvaA.id_tva, 0), proc_tva With Round(1 + loJtvaA.cota_tva / 100, 2) + Replace scd With m.lcScd, ascd With m.lcAscd, scc With m.lcScc, ascc With m.lcAscc, TVAVAL With Round(suma_val * proc_tva / 100, m.gnPVal), totval With suma_val + Round(suma_val * proc_tva / 100, m.gnPVal) + REPLACE taxcode WITH m.lnTaxCode + Endscan && cActTemp + + If m.llSucces + Select id_valuta, Curs, proc_tva, id_jtva_coloana, id_tva, taxcode, scd, ascd, scc, ascc, explicatia, ; + Sum(suma) As suma, Sum(valtva) As valtva, Sum(valctva) As valctva, ; + Sum(suma_val) As suma_val, Sum(TVAVAL) As TVAVAL, Sum(totval) As totval ; + From cActTemp ; + Group By 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 ; + Into Cursor cAct Readwrite + + * Calculez totalul de pe factura si corectez diferente de zecimale fata de selectia din REGDOC (mai multe randuri defalcate dupa locatii) + Calculate Sum(suma), Sum(valtva), Sum(suma_val), Sum(TVAVAL) To lnActBaza, lnActTVA, lnActBazaVal, lnActTVAVal In cAct + Calculate Sum(valftva), Sum(valtva), Sum(valval), Sum(TVAVAL) To lnFacturaFaraTVA, lnFacturaTVA, lnFacturaFaraTVAVal, lnFacturaTVAVal In crsFactura + lnDiferentaBaza = (m.lnFacturaFaraTVA - m.lnActBaza) + lnDiferentaTVA = (lnFacturaTVA - m.lnActTVA) + lnDiferentaBazaVal = (m.lnFacturaFaraTVAVal - m.lnActBazaVal) + lnDiferentaTVAVal = (lnFacturaTVAVal - m.lnActTVAVal) + + * Completez diferenta fata de factura pe primul rand din notele contabile + Select cAct + Go Top + Replace suma With suma + m.lnDiferentaBaza, valtva With valtva + m.lnDiferentaTVA, valctva With m.lnDiferentaBaza + m.lnDiferentaTVA + Replace suma_val With suma_val + m.lnDiferentaBazaVal, TVAVAL With TVAVAL + m.lnDiferentaTVAVal, totval With m.lnDiferentaBazaVal + m.lnDiferentaTVAVal + + Select actactan + Delete All + Append From Dbf('cAct') + + *** TVA + * Totalizez sumele in cursorul cActTVA astfel incat sa am o singura linie de TVA 27.05.2020 + *!* Select * From cAct Where valtva <> 0 Into Cursor cActTVA Readwrite + *!* Update cActTVA Set scc = Iif(m.llTVAIncasare, '4428', '4427'), ascc = '', suma = valtva, suma_val = TVAVAL, id_jtva_coloana = id_tva + lcContTva = Iif(m.llTVAIncasare, '4428', '4427') + lcAcontTva = '' + Select id_valuta, Curs, proc_tva, id_tva As id_jtva_coloana, id_tva, taxcode, scd, ascd, m.lcContTva As scc, m.lcAcontTva As ascc, explicatia, ; + Sum(valtva) As suma, ; + Sum(TVAVAL) As suma_val ; + From cAct ; + Group By 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 ; + Into Cursor cActTVA Readwrite + + Delete From cActTVA Where suma = 0 + + Use In (Select('cAct')) + + Select actactan + Append From Dbf('cActTVA') + Use In (Select('cActTVA')) + + Update actactan Set id_partd = loFactura.client_id, id_fdoc = loFactura.id_fdoc, id_ctr = loFactura.client_ctr_id, contract = loFactura.contract_client, ; + dataact = loFactura.dataact, datascad = loFactura.datascad, dataireg = loFactura.dataact, nract = loFactura.nract, serie_act = loFactura.serie_act, id_set = m.lnIdSet, ; + explicatia = m.lcTip + + * Completez partener credit contul 472 venituri in avans (4111 = 472) + Update actactan Set id_partc = loFactura.client_id Where Inlist(Left(scc, 3), '472', '419', '411') + If m.llIntern + Update actactan Set suma_val = 0 + Endif + Endif && llSucces + Use In (Select('cActTemp')) + + Select (m.lcSelect) + Return m.llSucces +Endproc && completeaza_actactan + + +*********************************** +*** Obiect cu date aditionale pentru initializarea facturii +*********************************** +Define Class oDateFacturaACN As Custom + nIntern = 1 + cDenumireClient = '' + nIdClient = Null + cContractClient = '' + nIdContractClient = Null + lImportFactura = .F. && daca se apeleaza importul la intrarea in factura +Enddefine && oDateFacturaACN + + +**************************************************************************************************************************** +*** creeaza cursoarele si obiectele necesare pentru facturare +*** procedura de facturare se lanseaza din formularul frm_factura2, in loc sa se porneasca din tranzit, cheiaj, contracte +*** in formularul de facturare se importa date de tranzit, cheiaj, contracte +**************************************************************************************************************************** +Procedure factura_acn + Lparameters tcTip, toDateAditionale + * tcTip: tranzit/cheiaj/chirii/apa/diverse/penalitati + + * FACTURA TRANZIT, CHEIAJ, CHIRII, APA si PENALITATI genereaza o singura linie in crsFactura, prin import din formularele specifice de calcul + *** Nu se pot adauga linii suplimentare in factura + * FACTURA DIVERSE - se adauga liber linii in crsFactura + + Private poDate + Private poGeneratorNumere As "oGeneratorNumere" + Local llSucces, llSuucces, lnIdJtva, lnIdJTVAExpl, lnIdSet, lnProcTva, lnTip, loTVAStandard + Local lcTip, lcSelect + + If m.glLunaInchisa + amessagebox("Nu puteti emite documente, deoarece aceasta luna este inchisa!", 0 + 48, "Luna inchisa") + Return .F. + Endif + + If Empty(m.tcTip) + Return .F. + Endif + lcTip = Upper(Alltrim(m.tcTip)) + + make_ccapfactura() && crsCapFactura + make_cfactura() && crsFactura + + make_cregdoc() && cursor cRegDoc gol + make_actactan() && cursor actactan gol + + make_jtva_explicatii() && crsJTVA + make_cote_tva() && crsCoteTVA + make_articole() && crsArticole + make_locatii() && crsLocatii + make_articole_locatii() && crsArticoleLocatii + make_valute() && crsValute + make_tipfactura() && crsTipFactura + make_um() && crsUM + Do make_contracte With "1=2" && crsContracte + + loTVAStandard = GetTVAStandard() && obiect TVA standard cu proprietatile: IdJtvaExpl, IdJtva, ProcTva + lnIdJTVAExpl = loTVAStandard.IdJtvaExpl + lnIdJtva = loTVAStandard.IdJtva + lnProcTva = loTVAStandard.ProcTva + + lnTip = 51 && FACTURA ROAACNPRO + lnIdSet = 50200 + + If Type('poDate') <> 'O' + poDate = Createobject("oDateFactura", m.lnIdSet, m.lnTip) + Endif + If Type('poGeneratorNumere') <> 'O' + poGeneratorNumere = Createobject("oGeneratorNumere") + Endif + poDate.nIdTipDoc = 5 && FACTURA + poGeneratorNumere.ResetNumere() + + poDate.rezultat_serii = poGeneratorNumere.creeaza_cursor_serii(poDate.nIdTipDoc) + + AddProperty(poDate, 'IdJTVAExpl', m.lnIdJTVAExpl) + AddProperty(poDate, 'IdJTVA', m.lnIdJtva) + AddProperty(poDate, 'ProcTVA', m.lnProcTva) + AddProperty(poDate, 'uuid', '') + AddProperty(poDate, 'document', '') && documentul pentru cheiaj se completeaza in frm_calcul_cheiaj + AddProperty(poDate, 'cTip', m.lcTip) + poDate.nTipFactura = cTip2nTip(m.lcTip) && tip intern factura 0=TRANZIT,1=CHEIAJ, 2=APA, 3=CHIRII, 4=PILOTAJ, 5=ALTE, 6=PENALITATI, 9=DIVERSE + * AddProperty(poDate, 'nIdBeneficiar', NULL) && am adaugat in oDate + + + Select crsFactura + loFrmFactura = Createobject("frm_factura", toDateAditionale) + * DO FORM frm_factura NAME loFrmFactura LINKED NOSHOW + loFrmFactura.Show(1) + + Release poDate, poGeneratorNumere + Use In (Select('crsJTVA')) + Use In (Select('crsCoteTVA')) + Use In (Select('crsArticole')) + Use In (Select('cRegDoc')) + Use In (Select('actactan')) + Use In (Select('crsLocatii')) + Use In (Select('crsArticoleLocatii')) + Use In (Select('crsValute')) + Use In (Select('crsTipFactura')) + Use In (Select('crsFactura')) + Use In (Select('crsCapFactura')) +Endproc && factura_acn + +Procedure factura_import + Lparameters tlImportCalculat + * tlImportCalculat (optional, default .F.): daca s-au calculat deja datele pentru import intr-un formular de calcul si din formularul de calcul s-a lansat factura + + Local lcTip, lcSelect, llSucces, lnIdCtr, lnIdClient + llSucces = .F. + + lcTip = Upper(Alltrim(poDate.cTip)) + lnIdCtr = crsCapFactura.client_ctr_id + lnIdClient = crsCapFactura.client_id + + If Empty(m.lcTip) Or !Inlist(m.lcTip, TIP_TRANZIT, TIP_CHEIAJ, TIP_CHIRII, TIP_APA, TIP_PENALITATI) + Return m.llSucces + Endif + + * Nu mai intru in vizualizare daca este deja calculat + If m.tlImportCalculat + llSucces = .T. + Else + Do Case + Case m.lcTip = TIP_TRANZIT + * vizualizare tranzit (alegere convoi) > calcul tranzit , salvare tarife si completare poDate.uUId CU VYE_ID's) + llSucces = vizualizare_tranzit(NTIP_TRANZIT) && proceduri_acnpro.prg + Case m.lcTip = TIP_CHEIAJ + * vizualizare tranzit (alegere convoi) > calcul cheiaj , salvare tarife si completare poDate.uUId CU VYE_ID's) + llSucces = vizualizare_tranzit(NTIP_CHEIAJ) && proceduri_acnpro.prg + Case Inlist(m.lcTip, TIP_CHIRII, TIP_APA) + * vizualizare chirii, apa (calcul articole contract, salvare tarife si completare poDate.uUId cu IPS_REGDOC.ID's) + * adaug articolele din ctr_articole in ips_regdoc + llSucces = vizualizare_contract(m.lnIdCtr) && proceduri_acnpro.prg + Case m.lcTip = TIP_PENALITATI + * vizualizare calcul penalitati + * adaug articolele din ctr_articole in ips_regdoc + llSucces = vizualizare_penalitati() && proceduri_acnpro.prg + Otherwise + llSucces = .T. + Endcase + If !m.llSucces + Return m.llSucces + Endif + Endif && tlImportCalculat + + * Completez crsCapFactura si crsFactura + llSucces = .F. + Do Case + Case m.lcTip = TIP_TRANZIT + * Completeaza crsCapFactura, crsFactura cu date din tranzit pentru poDate.uUid + llSucces = make_factura_tranzit() + Case m.lcTip = TIP_CHEIAJ + * Completeaza crsCapFactura, crsFactura cu date din tranzit pentru poDate.uUid + llSucces = make_factura_cheiaj() + Case m.lcTip = TIP_PENALITATI + llSucces = make_factura_penalitati(m.tlImportCalculat) + Case Inlist(m.lcTip, TIP_CHIRII, TIP_APA) + * Completeaza crsFactura cu date din contracte pentru contractul selectat. initializeaza poDate.uUid = crsCapFactura.ctr_id + llSucces = make_factura_contracte() + Otherwise + llSucces = .T. + Endcase + + Return m.llSucces +Endproc && factura_import + +Procedure factura_salvare + Local lcTip, llSucces, luId, loEx As Exception + llSucces = .F. + luId = poDate.uuid + lcTip = Upper(Alltrim(poDate.cTip)) + + If Empty(m.luId) And Inlist(m.lcTip, TIP_TRANZIT, TIP_CHEIAJ, TIP_CHIRII, TIP_APA) + amessagebox(Iif(Inlist(m.lcTip, TIP_TRANZIT, TIP_CHEIAJ), 'Alegeti convoiul', 'Adaugati prestatii') + '!', 0 + 48, _Screen.Caption) + Return m.llSucces + Endif +SET STEP ON + * Completex taxcode in crsFactura bazat pe id_jtva_coloana + IF m.gl406 + SELECT crsFactura + llFurnizorRTVAI = .F. + SCAN + lnTaxCode = NULL + lnIdJtva = Nvl(crsFactura.id_jtva_coloana, 0) + lnTaxCode = GetTaxCode(m.gnAn, m.gnLuna, poDate.dataact, m.lnIdJtva, m.llFurnizorRTVAI) + SELECT crsFactura + REPLACE taxcode WITH m.lnTaxCode + ENDSCAN + ENDIF + + Try + Do Case + Case m.lcTip = TIP_TRANZIT + llSucces = update_tranzit(m.luId) && completez data, nr, total cu tva pe convoi ips_voyages_vanzari, completez cursul valutar si valorile in lei pe barje ips_voyage_members_vanzari + If m.llSucces + llSucces = completeaza_regdoc_tranzit(m.luId) && completez cursorul cRegDoc cu valori defalcate pe ecluze, senale + Endif + + Case m.lcTip = TIP_CHEIAJ + llSucces = update_cheiaj(m.luId) && completez data, nr, total cu tva pe convoi ips_voyages_vanzari, completez cursul valutar si valorile in lei pe barje ips_berthing_details_vanzari + If m.llSucces + llSucces = completeaza_regdoc_cheiaj(m.luId) && completez cursorul cRegDoc cu valori defalcate pe locatii + Endif + Case Inlist(m.lcTip, TIP_CHIRII, TIP_APA) + llSucces = update_contracte(m.luId) && completez curs, valftva in ips_regdoc + If m.llSucces + llSucces = completeaza_regdoc_contracte(m.luId) && nu completez cursorul cRegDoc. Este scris in ips_regdoc din salvare_contract + Endif + Case m.lcTip = TIP_PENALITATI + llSucces = completeaza_regdoc_penalitati(m.luId) && completez cursorul cRegDoc cu valori defalcate pe locatii direct din crsFactura + Otherwise && TIP_DIVERSE + llSucces = completeaza_regdoc_alte(m.luId) && completez cursorul cRegDoc cu valori defalcate pe locatii direct din crsFactura + Endcase && m.lcTip + + + If m.llSucces + llSucces = completeaza_regdoc_curs() && completez cursul valutar in cursorul cRegDoc + Endif + + If m.llSucces + llSucces = completeaza_actactan(m.lcTip) && completez cursorul actactan din cRegDoc + Endif + + If m.llSucces + llSucces = factura_salvare_db(m.lcTip) && salvez factura in contabilite, vanzari si regdoc folosind datele din cFactura (vanzari), cRegDoc , actactan + Endif + + If m.llSucces + poGeneratorNumere.verifica_numar(poDate.nIdTipDoc, poDate.nract) + Else + poGeneratorNumere.dezaloca_numar(poDate.nIdTipDoc) + Endif + Catch To loEx + goApp.ShowErrorEx(loEx) + llSucces = .F. + Endtry + + Return m.llSucces + +Endproc && factura_salvare + +**************************************************************************************************************************** +Procedure factura_salvare_db + Lparameters tcTip + *lcTip = poDate.cTip && TRANZIT/CHEIAJ/CHIRII/APA/DIVERSE/PENALITATI + Private pnCod, pnVVId, poRec, pnIdFact + poRec = Null + pnIdFact = 0 + Local lcSql, lcTabelFisiere, lcTip, llScris, llSucces, llSucces2, lnIdJTvaColoana, lcCont + Local lnProcTvav, lnSucces, lnSucces2, loRec, ltDataOra, loMonedaNationala, lnIdMonedaNationala + pnCod = 0 + pnVVId = 0 + lcTip = m.tcTip + + llScris = .F. + lnProcTvav = 0 + lnIdJTvaColoana = Null + lcCont = '' + + ********************* + *** actactan + ********************* + + Use In (Select('crsvanztemp')) + + + ltDataOra = Get_Ora() + poDate.dataora_exp = ltDataOra + Create Cursor crsvanztemp(id_articol N(20), explicatie C(240), Pret N(20, 4), proc_tvav N(7, 3), id_jtva_coloana N(10), id_jtva_coloana_ex N(10) Null, cantitate N(20, 4), discount_unitar N(20, 4), ; + id_gestiune N(20), Cont C(4), pret_cu_tva N(1), serie C(100), id_valuta N(10), codmat C(50), Curs N(20, 6), multiplicator N(10), pret_achizitie N(20, 4), ; + pretd N(20, 4), id_valuta_d N(10), taxcode N(6) null) + + Insert Into crsvanztemp(id_articol, explicatie, Pret, proc_tvav, id_jtva_coloana, id_jtva_coloana_ex, cantitate, discount_unitar, pret_cu_tva, ; + serie, codmat, id_valuta, Curs, multiplicator, pret_achizitie, pretd, id_valuta_d, taxcode) ; + Select id_articol, denumire As explicatie, pretval As Pret, proc_tva As proc_tvav, id_jtva_coloana, id_jtva_coloana_ex, cantitate, ; + 0 As discount_unitar, Nvl(pret_cu_tva, 0) As pret_cu_tva, Space(100) As serie, Space(50) As codmat, ; + Cast(Nvl(id_valuta, 0) As N(5)) As id_valuta, Curs, 1 As multiplicator, 0 As pret_achizitie, 0 As pretd, Cast(0 As N(5)) As id_valuta_d, taxcode ; + From crsFactura + + lnSucces = SQLSetprop(gnHandle, "Transactions", 2) + llSucces = (m.lnSucces >= 0) + + If m.llSucces + * Generez pack_contafin.nCod + lcSql = [begin pack_facturare.initializeaza_scriere_actrul(NULL,1); end;] + llSucces = goExecutor.oExecuta(lcSql) + If m.llSucces + llSucces = goExecutor.oSelecteaza2Value([SELECT pack_contafin.get_cod() FROM dual], @pnCod) + If m.llSucces + Update actactan Set cod = m.pnCod + Endif + Endif + Endif + + If m.llSucces + lcSql = [begin pack_facturare.initializeaza_date_factura(] + ; + [to_date('] + Alltrim(Dtoc(poDate.dataireg, 2)) + [','YYYYMMDD'),] + ; + Nvl(Alltrim(Str(poDate.id_fdoc)), [NULL]) + [,to_date('] + Alltrim(Dtoc(poDate.dataact, 2)) + [','YYYYMMDD'),] + ; + [to_date('] + Alltrim(Dtoc(poDate.datascad, 2)) + [','YYYYMMDD'),'] + Nvl(poDate.serie_act, []) + [',] + ; + Alltrim(Str(poDate.nract, 14, 0)) + [,] + ; + Iif(Isnull(poDate.id_client), [NULL], Alltrim(Str(poDate.id_client))) + [,] + ; + Iif(Isnull(poDate.id_lucrare), [NULL], Alltrim(Str(poDate.id_lucrare))) + [,] + ; + Iif(Isnull(poDate.id_sectie), [NULL], Alltrim(Str(poDate.id_sectie))) + [,] + ; + Iif(Isnull(poDate.id_venchelt), [NULL], Alltrim(Str(poDate.id_venchelt))) + [,] + ; + Iif(Isnull(poDate.id_responsabil), [NULL], Alltrim(Str(poDate.id_responsabil))) + [,] + ; + Iif(Empty(Nvl(poDate.explicatia4, [])), [NULL], ['] + Strtran(Alltrim(poDate.explicatia4), ['], ['']) + [']) + [,] + ; && modificare v 2.0.33 + Iif(Empty(Nvl(poDate.id_ordl, 0)), [NULL], Alltrim(Str(poDate.id_ordl))) + [,NULL,] + ; + ['] + Strtran(Alltrim(Nvl(poDate.descriere, [])), ['], ['']) + [',] + ; + Alltrim(Str(poDate.tip)) + [,] + Alltrim(Str(poDate.id_set)) + [,] + ; + [to_date('] + Dtoc(poDate.zi_curs, 2) + [','YYYYMMDD'),] + Alltrim(Str(poDate.id_valuta)) + [,] + ; + Alltrim(Str(poDate.in_valuta)) + [,] + ; + Alltrim(Str(poDate.tva_incasare)) + [,] + ; && modificare ROAAUTO v 2.1.0 + Iif(Isnull(gnIdSucursala), [NULL], Alltrim(Str(gnIdSucursala))) + [,] + ; + Alltrim(Str(gnIdUtil)) + [,] + ; + Alltrim(Str(poDate.nTipFactura)) + [,] + ; + Iif(Isnull(poDate.nIdBeneficiar), [NULL], Alltrim(Str(poDate.nIdBeneficiar))) + [,] + ; + Iif(Isnull(poDate.tip_saft), [NULL], Alltrim(Str(poDate.tip_saft))) + [); end;] + + llSucces = goExecutor.oExecuta(lcSql) + + * Salvez articole + If m.llSucces + Private poArticol + Select crsvanztemp + Scan + Scatter Name poArticol + * Nu se completeaza articolul in factura pentru ca cumulez mai multe prestatii/locatii + * Completez contul articolului din ips_prestatii_locatii + IF EMPTY(NVL(poArticol.cont,'')) + lcCont = '' + lcSql = [SELECT MAX(DECODE(CTDEBITOR, '4111', CTCREDITOR, '461', CTCREDITOR, '4118', CTCREDITOR, CTDEBITOR)) as cont FROM ips_vprestatii_locatii WHERE ID_ARTICOL = ?poArticol.id_articol] + llSucces = goExecutor.oSelecteaza2Value(m.lcSql, @lcCont) + poArticol.cont = m.lcCont + ENDIF + lcSql = [begin pack_facturare.adauga_articol_factura_deviz(] + ; + Alltrim(Str(poArticol.id_articol)) + [,] + ; + ['] + Strtran(Alltrim(Nvl(poArticol.explicatie, [])), ['], ['']) + [',] + ; + ['] + Strtran(Alltrim(Nvl(poArticol.serie, [])), ['], ['']) + [',] + ; + Alltrim(Str(poArticol.pret_achizitie, 18, gnPPret)) + [,] + ; + Alltrim(Str(poArticol.pretd, 18, gnPVal)) + [,] + ; + Alltrim(Str(poArticol.id_valuta_d)) + [,] + ; + Alltrim(Str(poArticol.Pret, 18, gnPPretV)) + [,] + ; + Alltrim(Str(poArticol.id_valuta)) + [,] + ; + Alltrim(Str(poArticol.Curs, 18, 6)) + [,] + ; + Alltrim(Str(poArticol.multiplicator)) + [,] + ; + Alltrim(Str(poArticol.proc_tvav, 18, 2)) + [,] + ; + Alltrim(Str(poArticol.id_jtva_coloana)) + [,] + ; + Alltrim(Str(poArticol.cantitate, 18, gnPCant)) + [,] + ; + Alltrim(Str(poArticol.discount_unitar, 18, gnPPretV)) + [,] + ; + Alltrim(Str(poArticol.id_gestiune)) + [,] + ; + ['] + Alltrim(Nvl(poArticol.Cont, '')) + [',] + ; + Alltrim(Str(poArticol.pret_cu_tva)) + [,] + ; + Alltrim(Str(poArticol.id_jtva_coloana_ex)) + [,] + ; + Iif(Empty(Nvl(poDate.listaId, 0)), 'NULL', Alltrim(Str(poDate.listaId))) + [,] + ; + Iif(Empty(Nvl(poArticol.taxcode, 0)), 'NULL', Alltrim(Str(poArticol.taxcode))) + [); end;] + llSucces = goExecutor.oExecuta(lcSql) + If !m.llSucces + Exit + Endif + Endscan + Endif && salvez articole + + If m.llSucces + * Salvez Vanzari + lcSql = [begin pack_facturare.scrie_in_vanzari(0,] + ; + Iif(Isnull(poDate.id_delegat), [NULL], Alltrim(Str(poDate.id_delegat))) + [,] + ; + Iif(Isnull(poDate.id_masina), [NULL], Alltrim(Str(poDate.id_masina))) + [,] + ; + Iif(Isnull(poDate.id_facturare), [NULL], Alltrim(Str(poDate.id_facturare))) + [,] + ; + Iif(Isnull(poDate.nListareDetaliata), [0], Alltrim(Str(poDate.nListareDetaliata))) + [,] + ; + [?poDate.dataora_exp,] + ; + Iif(Isnull(poDate.id_agent), [NULL], Alltrim(Str(poDate.id_agent))) + [,] + ; + ['] + Strtran(Alltrim(Nvl(poDate.text_aditional, [])), ['], ['']) + [',?@poDate.nid_vanzare); end;] + llSucces = goExecutor.oExecuta(lcSql) + Endif && salvez vanzari + + * Salvez Reg. Doc. + If m.llSucces + Update cRegDoc Set id_vanzare = poDate.nid_vanzare, id_client = poDate.id_client, Data = poDate.dataact, tip = cTip2nTip(m.lcTip) + Update cRegDoc Set id_contract = poDate.listaId Where Empty(Nvl(id_contract, 0)) && de ex: la penalitati, contractul este completat pe fiecare factura din calcul penalitati si nu trebuie sa il suprascriu cu contractul din factura de penalitati + loMonedaNationala = GetMonedaNationala() + lnIdMonedaNationala = loMonedaNationala.id_valuta + + lcSql = [begin pack_acn.salveaza_regdoc(?.id, ?.id_vanzare, ?.tip, ?.id_articol, ?.id_locatia, ?.id_valuta, ?.id_client, ?.id_contract, ?.pret, ?.curs, ?.cantitate, ?.valval, ?.tvaval, ?.totval, ?.valftva, ?.valtva, ?.valctva, ?.document, ?.data); end;] + + Select cRegDoc + Scan + Scatter Name loRec + loRec.Document = Alltrim(Nvl(loRec.Document, '')) + loRec.id_valuta = Iif(Empty(loRec.id_valuta), m.lnIdMonedaNationala, loRec.id_valuta) + loRec.id_client = Iif(Empty(loRec.id_client), Null, loRec.id_client) + loRec.id_contract = Iif(Empty(loRec.id_contract), Null, loRec.id_contract) + With loRec + llSucces = goExecutor.oExecuta(m.lcSql) + If !m.llSucces + Exit + Endif + Endwith + Endscan + Endif && m.llSucces Reg Doc + + If m.llSucces And Inlist(m.lcTip, TIP_TRANZIT, TIP_CHEIAJ) + * completez ips_voyages_vanzari.vz_id + llSucces = goExecutor.oExecuta([UPDATE ips_voyages_vanzari SET vz_id = ?poDate.nid_vanzare WHERE id in (] + poDate.uuid + [)]) + Endif + + + If m.llSucces + * Salvez contabilitate + If !Used('INFISIERE') + lcTabelFisiere = gcAppPath + [\COMUN\DATEMENU\infisiere.dbf] + Use (m.lcTabelFisiere) In 0 Alias INFISIERE + Endif + lnSucces = oscrie_in_fisiere(0, .F., .F., .T.) && nu suprascriu codul pentru ca l-am generat la inceput si l-am completat in VANZARI + llSucces = (m.lnSucces > 0) + Endif + + * Completez VANZARI.ID_FACT DUPA SCRIEREA IN ACT + If m.llSucces + pnIdFact = 0 + llSucces = goExecutor.oSelecteaza2Value ([select pack_contafin.get_idFact() from dual], @pnIdFact) + Endif + If m.llSucces + llSucces = goExecutor.oExecuta([update vanzari set id_fact = ?pnIdFact where id_vanzare = ?poDate.nid_vanzare]) + Endif + + * Salvez PENALITATI + If m.llSucces And m.lcTip = TIP_PENALITATI + Text To lcSql Noshow +insert into penalitati (id_ctr, id_part, id_fact_pen, id_fact, nrfact, datafact, datascad, valctva, id_doc_incasare, nract, dataact, suma, databaza, dataref, coef_penalitati, coef_penalitati2, nr_zile, nr_zile1, nr_zile2, nr_zile_gratie, penalitati, sters) +values (?poRec.id_ctr, ?poRec.clie_id, ?pnIdFact, ?poRec.id_fact, ?poRec.nrfact, ?poRec.datafact, ?poRec.datascad, ?poRec.valctva, ?poRec.id_doc, ?poRec.nract, ?poRec.dataact, ?poRec.suma, ?poRec.databaza, ?poRec.dataref, ?poRec.ppenzi, ?poRec.ppenzi2, ?poRec.nr_zile, ?poRec.nr_zile1, ?poRec.nr_zile2, ?poRec.zilegratie, ?poRec.penalitati, ?poRec.sters); + Endtext + + Select crsCalculPenalitatiAles + Scan + Scatter Name poRec + llSucces = goExecutor.oExecuta(m.lcSql) + If !m.llSucces + Exit + Endif + Endscan + Endif && PENALITATI + + + If !m.llSucces + lcSql = "ROLLBACK" + llScris = .F. + Else + lcSql = "COMMIT" + llScris = .T. + Endif + llSucces2 = goExecutor.oExecuta(lcSql) + + lnSucces2 = SQLSetprop(gnHandle, "Transactions", 1) + If lnSucces2 < 0 + amessagebox('Programul nu a reusit sa treaca pe tranzactie automata. Iesiti din program si intrati din nou!', 48, 'Atentie!') + Endif + Endif && tranzactie manuala + + Use In (Select('crsvanztemp')) + Use In (Select('crsFacturaACN')) + *!* Use In (Select('crsfacturaX')) + + Return m.llScris +Endproc && factura_salvare_db + + +**************************************************************************************************************************** +*** Completez crsFactura cu valoarea tranzitului +**************************************************************************************************************************** +Procedure make_factura_tranzit + * tnVVId: ips_voyage_vanzari.id + + Private pcVVIds, pnVVId, pcConvoyName + Local loFrmFactura As "frm_factura" + Local lcSql, llSucces, lnCantitate, lnIdJtva, lnIdJTVAExpl, lnPret, lnProcTva, loArticol, loRec, loMonedaNationala, lnIdMonedaNationala + Local lcNumeConvoi, lcDataConvoi, lcContract, llExplicatieEN, lcDenumireArticol, lnIntern, loTVAStandard + pcVVIds = poDate.uuid + pnVVId = 0 + llSucces = .T. + pcConvoyName = '' + + If Empty(m.pcVVIds) + amessagebox('Alegeti un convoi!', 0 + 48, _Screen.Caption) + llSucces = .F. + Endif + + If m.llSucces + lnIntern = crsCapFactura.intern + loTVAStandard = GetTVAStandard(m.lnIntern) && obiect TVA standard cu proprietatile: IdJtvaExpl, IdJtva, ProcTva + lnIdJTVAExpl = loTVAStandard.IdJtvaExpl + lnIdJtva = loTVAStandard.IdJtva + lnProcTva = loTVAStandard.ProcTva + + llExplicatieEN = (crsCapFactura.intern = 0) + loArticol = GetPrestatieByTip(TIP_TRANZIT, m.llExplicatieEN) && C/V TRANZITARE CDMN PENTRU CONVOIUL/BARJA [INDICATIV], DIN [DATA] CONFORM [CONTRACT] / TRANSIT FOR [INDICATIV], IN [DATA] ACCORDING TO THE [CONTRACT] + lcDenumireArticol = loArticol.denumire + + loMonedaNationala = GetMonedaNationala() + lnIdMonedaNationala = loMonedaNationala.id_valuta + + Text To lcSql Textmerge Noshow +select stringagg(convoy_nam) as convoy_nam + from ips_vvoyages v + join (SELECT distinct vye_id + FROM ips_voyage_members_vanzari + WHERE vv_id in (<>)) vm + on v.id = vm.vye_id + Endtext + + llSucces = goExecutor.oSelecteaza2Value(m.lcSql, @pcConvoyName) + + If m.llSucces + Text To lcSql Textmerge Noshow +SELECT vmv.id_valuta, + v.nume_val as valuta, + ROUND(SUM(vmv.valval), 2) as valval + FROM ips_voyage_members_vanzari vmv + JOIN vnom_valute v ON vmv.id_valuta = v.id_valuta + WHERE vmv.vv_id in (<>) + GROUP BY vmv.id_valuta, v.nume_val + Endtext + + llSucces = goExecutor.oExecuta(m.lcSql, "crsValoareTemp") + + Endif + + If m.llSucces + Select crsValoareTemp + Scan + Scatter Name loRec + lnCantitate = 1 + lnPret = 0 + loRec.valval = Round(loRec.valval, m.gnPC) && rotunjesc la 2 zecimale + If loRec.id_valuta = m.lnIdMonedaNationala + lnPret = loRec.valval + Endif + + lcNumeConvoi = Alltrim(Nvl(pcConvoyName, '')) + lcDataConvoi = Dtoc(poDate.zi_curs) && Dtoc(Ttod(Nvl(generation, {//::}))) + lcContract = Alltrim(Nvl(crsCapFactura.contract_client, '')) + + loArticol.denumire = Strtran(m.lcDenumireArticol, '[INDICATIV]', m.lcNumeConvoi, 1, 10, 1) + loArticol.denumire = Strtran(loArticol.denumire, '[DATA]', m.lcDataConvoi, 1, 10, 1) + loArticol.denumire = Strtran(loArticol.denumire, '[CONTRACT]', Iif(!Empty(m.lcContract), 'CONTRACT ' + m.lcContract, Iif(m.llExplicatieEN, 'BOOKING', 'COMANDA')), 1, 10, 1) + + * Daca am factura storno cu pret -, fac cantitatea - si pretul + + * La eFactura nu se valideaza cu pret - + IF m.lnPret < 0 + lnCantitate = -m.lnCantitate + lnPret = -m.lnPret + loRec.valval = -loRec.valval + ENDIF + + Insert Into crsFactura(nrcrt, id_articol, denumire, id_valuta, pretval, Curs, Pret, cantitate, valftva, valtva, valctva, um, id_jtva_coloana_ex, id_jtva_coloana, proc_tva) Values (1, loArticol.id_articol, loArticol.denumire, loRec.id_valuta, loRec.valval, 0, m.lnPret, m.lnCantitate, 0, 0, 0, '', m.lnIdJTVAExpl, m.lnIdJtva, m.lnProcTva) + Endscan && crsValoareTemp + Use In (Select('crsValoareTemp')) + Endif && llSucces + Use In (Select('cDateConvoiTemp')) + Endif && m.llSucces + + Return m.llSucces + +Endproc && make_factura_tranzit + +**************************************************************************************************************************** +*** Completez crsFactura cu valoarea cheiajului +**************************************************************************************************************************** +Procedure make_factura_cheiaj + * tnVVId: ips_voyage_vanzari.id + + Private pcVVIds, pnVVId + Local loFrmFactura As "frm_factura" + Local lcSql, llSucces, lnCantitate, lnIdJtva, lnIdJTVAExpl, lnPret, lnProcTva, loArticol, loRec, loMonedaNationala, lnIdMonedaNationala, lcDenumire, lcPort, lcDataP, lcContract, lnIntern, loTVAStandard + Local llExplicatieEN + pcVVIds = poDate.uuid + pnVVId = 0 + + lcPort = '' + lnIntern = crsCapFactura.intern + loTVAStandard = GetTVAStandard(m.lnIntern) && obiect TVA standard cu proprietatile: IdJtvaExpl, IdJtva, ProcTva + lnIdJTVAExpl = loTVAStandard.IdJtvaExpl + lnIdJtva = loTVAStandard.IdJtva + lnProcTva = loTVAStandard.ProcTva + + llExplicatieEN = (crsCapFactura.intern = 0) + loArticol = GetPrestatieByTip(TIP_CHEIAJ, m.llExplicatieEN) && *C/V SERVICII PORTUARE IN PORTUL [PORT], DIN [DATA] CONFORM [CONTRACT] + lcDenumire = loArticol.denumire + + loMonedaNationala = GetMonedaNationala() + lnIdMonedaNationala = loMonedaNationala.id_valuta + + lcDataP = Dtoc(poDate.zi_curs) && Dtoc(Ttod(Nvl(datap, {//::}))) + lcContract = Alltrim(Nvl(crsCapFactura.contract_client, '')) + + * Port(uri) + llSucces = goExecutor.oExecuta([select stringagg(locatia) as port from (SELECT distinct locatia FROM ips_vberthing_details_vanzari WHERE VV_ID in (] + m.pcVVIds + [))], [cDateCheiajTemp]) + If m.llSucces + Select cDateCheiajTemp + Go Top + lcPort = Alltrim(Nvl(port, '')) + + Use In (Select('cDateCheiajTemp')) + Endif + + loArticol.denumire = Strtran(m.lcDenumire, '[PORT]', m.lcPort, 1, 10, 1) + loArticol.denumire = Strtran(loArticol.denumire, '[DATA]', m.lcDataP, 1, 10, 1) + loArticol.denumire = Strtran(loArticol.denumire, '[CONTRACT]', Iif(!Empty(m.lcContract), 'CONTRACT ' + m.lcContract, Iif(m.llExplicatieEN, 'BOOKING', 'COMANDA')), 1, 10, 1) + + lcSql = [SELECT id_valuta, valuta, SUM(valval) as valval FROM ips_vberthing_details_vanzari WHERE VV_ID in (] + m.pcVVIds + [) GROUP BY id_valuta, valuta] + llSucces = goExecutor.oExecuta(m.lcSql, "crsValoareTemp") + If m.llSucces + Select crsValoareTemp + Scan + Scatter Name loRec + lnCantitate = 1 + lnPret = 0 + loRec.valval = Round(loRec.valval, m.gnPC) && rotunjesc la 2 zecimale + If loRec.id_valuta = m.lnIdMonedaNationala + lnPret = loRec.valval + ENDIF + + * Daca am factura storno cu pret -, fac cantitatea - si pretul + + * La eFactura nu se valideaza cu pret - + IF m.lnPret < 0 + lnCantitate = -m.lnCantitate + lnPret = -m.lnPret + loRec.valval = -loRec.valval + ENDIF + + Insert Into crsFactura(nrcrt, id_articol, denumire, id_valuta, pretval, Curs, Pret, cantitate, valftva, valtva, valctva, um, id_jtva_coloana_ex, id_jtva_coloana, proc_tva) ; + Values (1, loArticol.id_articol, loArticol.denumire, loRec.id_valuta, loRec.valval, 0, m.lnPret, m.lnCantitate, 0, 0, 0, '', m.lnIdJTVAExpl, m.lnIdJtva, m.lnProcTva) + Endscan && crsValoareTemp + Endif && llSucces + Use In (Select('crsValoareTemp')) + + + Return m.llSucces +Endproc +************************************************** +Procedure make_factura_contracte + + Private pnIdCtr + Local lcSql, llSucces, lnIdJtva, lnIdJTVAExpl, lnNrCrt, lnPret, lnProcTva, loRec, loMonedaNationala, lnIdMonedaNationala, lcSelect, lnIntern, loTVA, lcTipFactura, lnTipFactura, lcRegDocIds + Local lnCotaTVA, lnNrCrt + + lcSelect = Select() + llSucces = .F. + + Select crsCapFactura + lcRegDocIds = poDate.uuid + lcTipFactura = poDate.cTip && TRANZIT, CHEIAJ, CHIRII, APA, DIVERSE + lnTipFactura = poDate.nTipFactura && tip intern factura 0=TRANZIT,1=CHEIAJ, 2=APA, 3=CHIRII, 4=PILOTAJ, 5=ALTE, 6=PENALITATI, 9=DIVERSE + + lnIntern = intern + llExplicatieEN = (crsCapFactura.intern = 0) + lcDataP = Dtoc(crsCapFactura.dataact) && Dtoc(Ttod(Nvl(datap, {//::}))) + lcContract = Alltrim(Nvl(crsCapFactura.contract_client, '')) + + loArticol = GetPrestatieByTip(m.lcTipFactura, m.llExplicatieEN) && un articol generic care cumuleaza toata valoarea + lnIdArticol = loArticol.id_articol + loArticol.denumire = Strtran(loArticol.denumire, '[CONTRACT]', Iif(!Empty(m.lcContract), 'CONTRACT ' + m.lcContract, Iif(m.llExplicatieEN, 'BOOKING', 'COMANDA')), 1, 10, 1) + + loMonedaNationala = GetMonedaNationala() + lnIdMonedaNationala = loMonedaNationala.id_valuta + + * Factura INTERN se transforma valorile in valuta in lei, fara TVA, si se cumuleaza valorile in lei + * Factura EXTERN sunt defalcate pe valuta + * crsCursuri este deja creat in formularul de factura + * pun acelasi articol pe toate liniile (trebuie sa fie un articol oarecare pe toate liniile). as putea sa pun si un articol generic sau un articol de pe contract + + lcSql = [SELECT id_valuta, proc_tvav, id_articol, valval FROM ips_vregdoc WHERE id in (] + m.lcRegDocIds + [)] + llSucces = goExecutor.oExecuta(m.lcSql, "crsValoareTemp2") + If m.llSucces And Reccount('crsValoareTemp2') > 0 + Select crsValoareTemp2 + Go Top + *!* lnIdArticol = id_articol + + If m.lnIntern = 1 + Select m.lnIdMonedaNationala As id_valuta, v.proc_tvav, ; + Iif(v.id_valuta = m.lnIdMonedaNationala, Round(v.valval, m.gnPC), Round(v.valval * C.Curs, gnPC)) As valval ; + From crsValoareTemp2 v Left Join crsCursuri C On v.id_valuta = C.id_valuta ; + Into Cursor crsValoareTemp3 + + Select id_valuta, proc_tvav, lnIdArticol As id_articol, Sum(valval) As valval From crsValoareTemp3 Group By id_valuta, proc_tvav Into Cursor crsValoareTemp + Use In (Select('crsValoareTemp3')) + Else + Select id_valuta, proc_tvav, lnIdArticol As id_articol, Sum(valval) As valval From crsValoareTemp2 Group By id_valuta, proc_tvav Into Cursor crsValoareTemp + Endif + Use In (Select('crsValoareTemp2')) +SET STEP ON + Select crsValoareTemp + Scan + Scatter Name loRec + *!* loArticol = GetPrestatieById(loRec.id_articol) + *!* loArticol.denumire = loArticol.denumire + [ ] + Iif(!Empty(m.lcContract), Iif(m.llExplicatieEN, 'ACCORDING TO THE CONTRACT ', 'CONFORM CONTRACT ') + m.lcContract, Iif(m.llExplicatieEN, 'BOOKING', 'COMANDA')) + lnNrCrt = Recno('crsValoareTemp') + lnCantitate = 1 + lnPret = 0 + loRec.valval = Round(loRec.valval, m.gnPC) && rotunjesc la 2 zecimale + If loRec.id_valuta = m.lnIdMonedaNationala + lnPret = loRec.valval + Endif + lnCotaTVA = (loRec.proc_tvav - 1) * 100 + loTVA = GetObiectTVA(m.lnIntern, m.lnCotaTVA) && GetTVAStandard(m.lnIntern) && obiect TVA standard cu proprietatile: IdJtvaExpl, IdJtva, ProcTva + lnIdJTVAExpl = loTVA.IdJtvaExpl + lnIdJtva = loTVA.IdJtva + lnProcTva = loTVA.ProcTva + + * Daca am factura storno cu pret -, fac cantitatea - si pretul + + * La eFactura nu se valideaza cu pret - + IF m.lnPret < 0 + lnCantitate = -m.lnCantitate + lnPret = -m.lnPret + loRec.valval = -loRec.valval + ENDIF + + Insert Into crsFactura(nrcrt, id_articol, denumire, id_valuta, pretval, Curs, Pret, cantitate, valftva, valtva, valctva, um, id_jtva_coloana_ex, id_jtva_coloana, proc_tva) ; + Values (m.lnNrCrt, loArticol.id_articol, loArticol.denumire, loRec.id_valuta, loRec.valval, 0, m.lnPret, m.lnCantitate, 0, 0, 0, '', m.lnIdJTVAExpl, m.lnIdJtva, m.lnProcTva) + Endscan && crsValoareTemp + Endif && llSucces + Use In (Select('crsValoareTemp')) + + Select (m.lcSelect) + Return m.llSucces +Endproc + +************************************************** +Procedure make_factura_penalitati + Lparameters tlImportCalculat + * tlImportCalculat (optional, default .F.): daca s-au calculat deja datele pentru import intr-un formular de calcul si din formularul de calcul s-a lansat factura + + Local lcContract, lcFiltru, lcRegDocIds, lcSelect, lcTipFactura, llExplicatieEN, llSucces + Local lnIdArticol, lnIdJtva, lnIdJTVAExpl, lnIdMonedaNationala, lnIntern, lnPenalitati, lnProcTva + Local lnTipFactura, loArticol, loMonedaNationala, loTVAStandard, ldDataReferinta, lnPret, lnPretVal, lnCantitate + lcSelect = Select() + llSucces = .T. + + * lcRegDocIds = poDate.uuid + lcTipFactura = TIP_PENALITATI && poDate.cTip && TRANZIT, CHEIAJ, CHIRII, APA, DIVERSE + lnIntern = crsCapFactura.intern + + lnCotaTVA = 0 + lnIdJTvaColoana = 12 && Neimpozabil + loTVA = GetObiectTVA(m.lnIntern, m.lnCotaTVA, m.lnIdJTvaColoana) + lnIdJTVAExpl = loTVA.IdJtvaExpl + lnIdJtva = loTVA.IdJtva + lnProcTva = loTVA.ProcTva + + loMonedaNationala = GetMonedaNationala() + lnIdMonedaNationala = loMonedaNationala.id_valuta + + llExplicatieEN = (m.lnIntern = 0) + lcContract = '' + Select Distinct contract From crsCalculPenalitatiAles Where sters = 0 Order By contract Into Cursor cContracteTemp + Select cContracteTemp + Scan + lcContract = lcContract + Iif(!Empty(Nvl(contract, '')), ', ' + Alltrim(contract), '') + Endscan + If !Empty(m.lcContract) + lcContract = Substr(m.lcContract, 3) + Endif + Use In (Select('cContracteTemp')) + + * crsCalculPenalitati este filtrat pe un client + Select crsCalculPenalitatiAles + Calculate Sum(penalitati), Min(dataref) For sters = 0 To lnPenalitati, ldDataReferinta + + loArticol = GetPrestatieByTip(m.lcTipFactura, m.llExplicatieEN) && un articol generic care cumuleaza toata valoarea + lnIdArticol = loArticol.id_articol + loArticol.denumire = Strtran(loArticol.denumire, '[CONTRACT]', Iif(!Empty(m.lcContract), 'CONTRACT ' + m.lcContract, Iif(m.llExplicatieEN, 'BOOKING', 'COMANDA')), 1, 10, 1) + loArticol.denumire = Strtran(loArticol.denumire, '[DATA]', Dtoc(m.ldDataReferinta), 1, 10, 1) + + * Daca am factura storno cu pret -, fac cantitatea - si pretul + + * La eFactura nu se valideaza cu pret - + lnCantitate = 1 + lnPret = m.lnPenalitati + lnPretVal = m.lnPenalitati + IF m.lnPret < 0 + lnCantitate = -m.lnCantitate + lnPret = -m.lnPret + lnPretVal = m.lnPret && factura de penalitati este in RON, Pretval = Pret + ENDIF + + Insert Into crsFactura(nrcrt, id_articol, denumire, id_valuta, pretval, Curs, Pret, cantitate, valftva, valtva, valctva, um, id_jtva_coloana_ex, id_jtva_coloana, proc_tva) ; + Values (1, loArticol.id_articol, loArticol.denumire, m.lnIdMonedaNationala, m.lnPret, 0, m.lnPret, m.lnCantitate, 0, 0, 0, '', m.lnIdJTVAExpl, m.lnIdJtva, m.lnProcTva) + + Select (m.lcSelect) + Return m.llSucces +Endproc + +Procedure make_ccapfactura + * IF !USED('crsCapFactura') + Create Cursor crsCapFactura(uuid N(20) Null, dataact D, datascad D, nract N(20), serie_act C(10), client_id N(10) Null, client C(100) Null, client_ctr_id N(10) Null, contract_client C(250) Null, nr_zile_scadenta N(5) Null, tip_curs N(1) Null, eagent N(1) Null, intern N(1) Null, beneficiar_id N(10) Null, beneficiar C(100) Null, id_set N(10), id_fdoc N(5)) + * ENDIF +Endproc + +Procedure make_cfactura + * IF !USED('crsFactura') + Create Cursor crsFactura (nrcrt N(5), id_articol N(20), denumire M, id_locatia N(12) Null, um C(20) Null, cantitate N(10, 4), Pret N(20, 4), valftva N(20, 4), valtva N(20, 4), valctva N(20, 4), pretval N(20, 4), valval N(20, 4), TVAVAL N(20, 4), totval N(20, 4), Curs N(12, 4), id_valuta N(10), id_jtva_coloana_ex N(10), id_jtva_coloana N(10), proc_tva N(5,2), pret_cu_tva N(1), taxcode N(6) null) + * ENDIF +Endproc + +Procedure make_cCalculPenalitati + Create Cursor crsCalculPenalitati(ales L, facturate L, sterse L, clie_id N(12) Null, nrfact N(16) Null, datafact D Null, datascad D Null, valctva N(18, 4) Null, totval N(18, 4) Null, Curs N(18, 6) Null, id_valuta N(12) Null, valuta C(20) Null, ; + explicatia C(100) Null, id_ctr N(12) Null, numar C(100) Null, contract C(100) Null, nume C(100) Null, id_doc N(20) Null, nract N(16) Null, dataact D Null, suma N(18, 4) Null, sumaval N(18, 4) Null, ; + pereche N(16) Null, id_fact N(20) Null, ppenzi N(8, 2) Null, ppenzi2 N(8, 2) Null, penzile N(6) Null, penzile2 N(6) Null, descriere C(250) Null, zilegratie N(6) Null, ; + nr_zile I Null, nr_zile1 I Null, nr_zile2 I Null, penalitati N(18, 4) Null, databaza D Null, dataref D Null, tip N(2) Null, sters N(1)) +Endproc && make_cCalculPenalitati + +Procedure make_cClientiPenalitati + Create Cursor crsClientiPenalitati (nume C(100), clie_id N(12) ) +Endproc && make_cClientiPenalitati + +******************************* +Procedure make_grupe_vase + Local lcSelect, lcSql, llSucces + + lcSelect = Select() + llSucces = .T. + If !Used("crsGrupeVase") + lcSql = [select id, grupa from ips_vgrupe_vase order By grupa] + llSucces = goExecutor.oExecuta(m.lcSql, "crsGrupeVase") + If !m.llSucces + Create Cursor crsGrupeVase(Id I, GRUPA C(100)) + Endif + Select crsGrupeVase + Index On Id Tag Id + Endif + + Select (m.lcSelect) + Return m.llSucces +Endproc && make_grupe_vase + +Procedure make_grupe_marfa + Local lcSelect, lcSql, llSucces + + lcSelect = Select() + llSucces = .T. + If !Used("crsGrupeMarfa ") + Create Cursor crsGrupeMarfa (Id N(10), GRUPA C(100), nstr_code C(6) Null) + Insert Into crsGrupeMarfa (Id, GRUPA, nstr_code) Values (-1, 'FARA MARFA', '') + Insert Into crsGrupeMarfa (Id, GRUPA, nstr_code) Values (0, '', '') + + lcSql = [Select id, nume, nstr_code From ips_vgoods_groups] + llSucces = goExecutor.oExecuta(m.lcSql, "crsGrupeMarfaTemp") + If m.llSucces + Insert Into crsGrupeMarfa (Id, GRUPA, nstr_code) ; + Select Id, Padr(Id, 3, ' ') + nume As GRUPA, Cast(Nvl(nstr_code, '') As C(6)) From crsGrupeMarfaTemp Order By Id + Use In (Select('crsGrupeMarfaTemp')) + + Select crsGrupeMarfa + Index On Id Tag Id + Endif + Endif + + Select (m.lcSelect) + Return m.llSucces +Endproc && make_grupe_marfa + +Procedure make_marfa + Lparameters tnGrpId + * tnGrpId (optional) : Numeric = grupa de marfa, Logic T = cu grupa de marfa, F/empty = toate + Local lcSelect, lcSql, llSucces + + lcSelect = Select() + llSucces = .T. + If !Used("crsMarfa ") + Create Cursor crsMarfa (Id C(36) Null, MARFA C(100), GRP_ID N(10) Null) + Insert Into crsMarfa (Id, MARFA, GRP_ID) Values ('', '', - 1) && -1 = GRUPA FARA MARFA + + lcSql = [Select id, name as marfa, un_number as grp_id From ips_vgoods] + ; + Iif(!Empty(m.tnGrpId), Iif(Type('tnGrpId') = 'N', [ where un_number = ] + Alltrim(Str(m.tnGrpId)), [ where NVL(un_number,0) <> 0]), []) + ; + [ order by name] + llSucces = goExecutor.oExecuta(m.lcSql, "crsMarfaTemp") + If m.llSucces + Select crsMarfa + Append From Dbf('crsMarfaTemp') + Use In (Select('crsMarfaTemp')) + + Select crsMarfa + Index On Id Tag Id + Endif + Endif + + Select (m.lcSelect) + Return m.llSucces +Endproc && make_marfa + + +***---------------------------------------------------------------------------------------- +*creeaza un tabel crsContracte din contractele active si numele clientului cu conditie (ex: clie_id=2) +Procedure make_contracte + Lparameters tcCond, tnIdCtr, tlToateInregistrarile + + && tnIdCtr: daca dau id_ctr direct (facturile de penalitati) selectez numai acest contractul indiferent de iscontract_valid() + && tlToateInregistrarile: daca in tabelul cu contracte este o inregistrare "Toate contractele" cu id_ctr = 0 (pentru raport situatie tranzit toti clientii) + Local lcWhere + + lcWhere = [incetat = 0] + m.gcCondSucursala + + If Type('tnIdCtr') = 'N' And !Empty(m.tnIdCtr) + lcWhere = m.lcWhere + [ and (id_ctr = ] + Alltrim(Str(m.tnIdCtr)) + [)] + Else + lcAnLuna = Alltrim(Str(m.gnAn)) + Padl(m.gnLuna, 2, '0') + lcWhere = m.lcWhere + [ and (] + Iif(!Empty(m.tcCond), m.tcCond + [ and ], "") + Alltrim(Str(m.gnAn * 12 + m.gnLuna)) + [ between extract(year from data_inceput) * 12 + extract(month from data_inceput) and ] + ; + [extract(year from nvl(data_sfarsit, to_date('] + m.lcAnLuna + [', 'yyyymm'))) * 12 + extract(month from nvl(data_sfarsit, to_date('] + m.lcAnLuna + [', 'yyyymm'))))] + Endif + + lcSql = [select id_ctr, id_part, denumire, data, numar, data_inceput, data_sfarsit, scadenta_incasare as nr_zile_scadenta, tip_curs from vcontracte where ] + m.lcWhere + [ order by denumire, data_inceput] + llSucces = goExecutor.oExecuta(m.lcSql, 'crsContracteTemp') + + Use In (Select('crsContracte')) + + If m.tlToateInregistrarile + Select * From crsContracteTemp Into Cursor crsContracte Where 1 = 2 NOFILTER Readwrite + Insert Into tcontracte (denumire) Values ('TOATE CONTRACTELE') + Select crsContracte + Append From Dbf('crsContracteTemp') + Else + Select * From crsContracteTemp Into Cursor crsContracte NOFILTER Readwrite + Endif + Use In (Select('crsContracteTemp')) + + Return "crsContracte" +Endproc && make_contracte + +***---------------------------------------------------------------------------------------- +Procedure make_contacts + Local lcSelect, lcSql, llSucces + + lcSelect = Select() + llSucces = .T. + If !Used("crsContacts") + lcSql = [Select id, name From IPS_VCONTACTS Order By Name] + llSucces = goExecutor.oExecuta(m.lcSql, "crsContacts") + If !m.llSucces + Create Cursor crsContacts(Id I, Name C(100)) + Endif + Select crsContacts + Index On Id Tag Id + Endif + + Select (m.lcSelect) + Return m.llSucces +Endproc && make_contacts + + +***---------------------------------------------------------------------------------------- +Procedure make_vessel_types + Local lcSelect, lcSql, llSucces + + lcSelect = Select() + llSucces = .T. + If !Used("crsVesselTypes") + lcSql = [Select id, name From ips_vvessel_types Order By Name] + llSucces = goExecutor.oExecuta(m.lcSql, "crsVesselTypes") + If !m.llSucces + Create Cursor crsVesselTypes(Id I, Name C(100)) + Endif + Select crsVesselTypes + Index On Id Tag Id + Endif + + Select (m.lcSelect) + Return m.llSucces +Endproc && make_vessel_types + +***---------------------------------------------------------------------------------------- +Procedure make_routes + Local lcSelect, lcSql, llSucces + + lcSelect = Select() + llSucces = .T. + If !Used("crsRoutes") + lcSql = [select id, acronym, name, destinatio, rpt_id, rpt_id_has, rty_id, sens, distanta, ckmi, ckmf, kmi, kmf, orig, intern from ips_vroutes order by name] + llSucces = goExecutor.oExecuta(m.lcSql, "crsRoutes") + If !m.llSucces + Create Cursor crsRoutes(Id I, Name C(100), distanta N(10, 2)) + Endif + Select crsRoutes + Index On Id Tag Id + Endif + + Select (m.lcSelect) + Return m.llSucces +Endproc && make_vessel_types + +***---------------------------------------------------------------------------------------- +Procedure make_vas_echivalent + Local lcSelect, lcSql, llSucces + + lcSelect = Select() + llSucces = .T. + If !Used("crsVasEchivalent") + lcSql = [select id, vtp_id, vum_id, id_grup from ips_vvas_echivalent] + llSucces = goExecutor.oExecuta(m.lcSql, "crsVasEchivalent") + If !m.llSucces + Create Cursor crsVasEchivalent(Id I, VTP_ID I, vum_id I, id_grup I) + Endif + Select crsVasEchivalent + Index On Id Tag Id + Endif + + Select (m.lcSelect) + Return m.llSucces +Endproc && make_vas_echivalent + +***---------------------------------------------------------------------------------------- +Procedure make_vas_um + Local lcSelect, lcSql, llSucces + + lcSelect = Select() + llSucces = .T. + If !Used("crsVasUM") + lcSql = [select id, um from ips_vvas_um order by um] + llSucces = goExecutor.oExecuta(m.lcSql, "crsVasUM") + If !m.llSucces + Create Cursor crsVasUM(Id I, um C(20)) + Endif + Select crsVasUM + Index On Id Tag Id + Endif + + Select (m.lcSelect) + Return m.llSucces +Endproc && make_vas_um + + +***---------------------------------------------------------------------------------------- +Procedure make_um + Local lcSelect, lcSql, llSucces + + lcSelect = Select() + llSucces = .T. + If !Used("crsUM") + lcSql = [select id, um from vnom_um order by um] + llSucces = goExecutor.oExecuta(m.lcSql, "crsUM") + If !m.llSucces + Create Cursor crsUM(Id I, um C(20)) + Endif + Select crsUM + Index On Id Tag Id + Endif + + Select (m.lcSelect) + Return m.llSucces +Endproc && make_um + +***---------------------------------------------------------------------------------------- +*** crsGrupTipNave pentru tarife tranzit +Procedure make_grup_tip_nave + Local lcSelect, lcSql, llSucces + + lcSelect = Select() + llSucces = .T. + If !Used("crsGrupTipNave") + lcSql = [select id, nume from ips_vgrup_tip_nave] + llSucces = goExecutor.oExecuta(m.lcSql, "crsGrupTipNave") + If !m.llSucces + Create Cursor crsGrupTipNave(Id I, nume C(20)) + Endif + Select crsGrupTipNave + Index On Id Tag Id + Endif + + Select (m.lcSelect) + Return m.llSucces +Endproc && make_grup_tip_nave + +***---------------------------------------------------------------------------------------- +Procedure make_aramis_tip_nave + Local lcSelect, lcSql, llSucces + + lcSelect = Select() + llSucces = .T. + If !Used("crsAramisTipNave") + lcSql = [select id, nume from ips_varamis_tip_nave] + llSucces = goExecutor.oExecuta(m.lcSql, "crsAramisTipNave") + If !m.llSucces + Create Cursor crsAramisTipNave(Id I, nume C(20)) + Endif + Select crsAramisTipNave + Index On Id Tag Id + Index On nume Tag nume + Set Order To nume + Endif + + Select (m.lcSelect) + Return m.llSucces +Endproc && make_aramis_tip_nave + +***---------------------------------------------------------------------------------------- +Procedure make_dane + lcSelect = Select() + llSucces = .T. + + If !Used('crsDane') + lcSql = [select id, descriere as dana, dana as cod from ips_dane] + llSucces = goExecutor.oExecuta(m.lcSql, "crsDane") + If !m.llSucces + Create Cursor crsDane(Id N(1), dana C(20), cod C(5)) + Insert Into crsDane (Id, dana, cod) Values (1, 'OPERARE/PORT', 'OP') + Insert Into crsDane (Id, dana, cod) Values (2, 'ASTEPTARE', 'AS') + Insert Into crsDane (Id, dana, cod) Values (3, 'IERNAT', 'IE') + Insert Into crsDane (Id, dana, cod) Values (4, 'REPARATII', 'RE') + Insert Into crsDane (Id, dana, cod) Values (5, 'PESCUIT', 'PE') + Insert Into crsDane (Id, dana, cod) Values (9, 'ALTE', 'AL') + ENDIF + + Select crsDane + Index On Id Tag Id + Index On dana Tag dana + Set Order To Id + Endif + Select (m.lcSelect) + Return m.llSucces +Endproc && make_dane + +**************************************************** +*** creeaza cursor crsJTVA +**************************************************** +Procedure make_jtva_explicatii + Local lcSql, llSucces + llSucces = .T. + If !Used('crsJTVA') + lcSql = [select id, denumire, id_jtva_coloana, id_tva, explicatie, ordine, cota_tva, coloana_jv, coloana_jc from vjtva_coloane_explicatii where inactiv = 0] + llSucces = goExecutor.oExecuta(m.lcSql, "crsJTVA") + If m.llSucces + Select crsJtva + Index On Id Tag Id + Endif + Endif + Return m.llSucces +Endproc && make_jtva_explicatii + +**************************************************** +*** creeaza cursor crsCoteTVA +**************************************************** +Procedure make_cote_tva + Local lcSql, llSucces + llSucces = .T. + If !Used('crsCoteTVA') + Text To lcSql Noshow + select rpad(trim(TO_CHAR(procent, '999')),25, ' ') as procent, proc_tva + from vcote_tva + where an = ?gnAn and luna = ?gnLuna + order by proc_tva desc + Endtext + *!* UNION + *!* SELECT ' < ALES LA FACTURARE > ' AS procent, -1 AS proc_tva FROM dual + + llSucces = goExecutor.oExecuta(m.lcSql, "crsCoteTVA") + If m.llSucces + Index On proc_tva Tag proc_tva Descending + Endif && llSucces + Endif && used + + Return m.llSucces +Endproc && make_cote_tva + +**************************************************** +*** creeaza cursor crsCheiajPrestatii +**************************************************** +Procedure make_cheiaj_prestati + Local lcSql, llSucces, lcSelect + lcSelect = Select() + m.llSucces = .T. + If !Used('crsCheiajPrestatii') + lcSql = [select id, dana_id, dana, tipn_id, tipn, id_articol, articol, id_locatia, locatia from ips_vcheiaj_prestatii] + llSucces = goExecutor.oExecuta(m.lcSql, "crsCheiajPrestatii") + Endif + Select (m.lcSelect) + Return m.llSucces +Endproc && make_cheiaj_prestati + + +**************************************************** +*** creeaza cursor crsArticole +**************************************************** +Procedure make_articole + Local lcSql, llSucces, lcSelect + lcSelect = Select() + m.llSucces = .T. + If !Used('crsArticole') + lcSql = [select id_articol, codmat, denumire, descriere, um, id_grupa, grupa, id_subgrupa, subgrupa from vnom_articole where inactiv = 0 and tip = 1 order by denumire] && manopera + llSucces = goExecutor.oExecuta(m.lcSql, "crsArticole") + If m.llSucces + Select crsArticole + Index On id_articol Tag id_articol + Index On denumire Tag denumire + Endif + Endif + Select (m.lcSelect) + Return m.llSucces +Endproc && make_articole + +**************************************************** +*** creeaza cursor crsLocatii +**************************************************** +Procedure make_locatii + Local lcSql, llSucces, lcSelect + lcSelect = Select() + llSucces = .T. + If !Used('crsLocatii') + lcSql = [select id, denumire from vnom_locatii where inactiv = 0 order by denumire] + llSucces = goExecutor.oExecuta(m.lcSql, "crsLocatii") + If m.llSucces + Select crsLocatii + Index On Id Tag Id + Index On denumire Tag denumire + Endif && llSucces + Endif && used + Select (m.lcSelect) + Return m.llSucces +Endproc && make_locatii + +**************************************************** +*** creeaza cursor crsArticoleLocatii +**************************************************** +Procedure make_articole_locatii + Local lcSql, llSucces, lcSelect + lcSelect = Select() + Use In (Select('crsArticoleLocatii')) + + llSucces = .T. + If !Used('crsArticoleLocatii') + lcSql = [select id_articol, id_locatia, ctdebitor, ctcreditor, ctaideb, ctaedeb, ctaicred, ctaecred, ctpideb, ctapideb, ctpicred, ctapicred from ips_vprestatii_locatii] + llSucces = goExecutor.oExecuta(m.lcSql, "crsArticoleLocatii") + If m.llSucces + Select crsArticoleLocatii + Index On id_articol Tag id_articol + Index On id_locatia Tag id_locatia + Endif + Endif + + Select (m.lcSelect) + Return m.llSucces +Endproc && crsArticoleLocatii + +**************************************************** +*** creeaza cursor crsValute +**************************************************** +Procedure make_valute + Local lcSql, llSucces, lcSelect + lcSelect = Select() + llSucces = .T. + If !Used('crsValute') + lcSql = [select id_valuta, nume_val, moneda_nationala from vnom_valute where inactiv = 0 order by nume_val] + llSucces = goExecutor.oExecuta(m.lcSql, "crsValute") + If m.llSucces + Select crsValute + Index On id_valuta Tag id_valuta + Endif + Endif + + Select (m.lcSelect) + Return m.llSucces +Endproc && make_valute + + +*!* **************************************************** +*!* *** creeaza cursor crsTarifeDiverseContract pentru contractul dat si tarifele generale pentru clientii fara contract +*!* **************************************************** +*!* Procedure make_tarife_diverse_contract +*!* Lparameters tnIdCtr, tnIdCtrFara +*!* * tnIdCtrFara (optional) + +*!* Local lcSql, lnIdCtr, lnIdCtr2, lcSelect, llSucces +*!* lcSelect = Select() +*!* lnIdCtr = m.tnIdCtr +*!* lnIdCtr2 = Iif(!Empty(m.tnIdCtrFara), m.tnIdCtrFara, m.tnIdCtr) + +*!* && selectez tarifele de pe contract si pe cele generale +*!* Text To lcSql Textmerge Noshow +*!* select id, id_articol, lim1, lim2, umlim, corect, tar_prest, tar_furn, tar_total, numevaluta, ctr_id, tip, intern, loc_id, cant, um, plus, arebaza, baza, valval, ediscount, id_valuta +*!* from ips_tarife_diverse +*!* WHERE ctr_id in (<>, <>) +*!* Endtext +*!* llSucces = goExecutor.oExecuta(m.lcSql, 'crsTarifeDiverseContract') + +*!* Select (m.lcSelect) +*!* Return m.llSucces +*!* Endproc + +**************************************************** +*** creeaza cursor crsTarifeCheiajContract pentru contractul dat si tarifele generale pentru clientii fara contract +**************************************************** +Procedure make_tarife_cheiaj_contract + Lparameters tnIdCtr, tnIdCtrFara + * tnIdCtrFara (optional) + + Local lcSql, lnIdCtr, lnIdCtr2, lcSelect, llSucces + lcSelect = Select() + lnIdCtr = m.tnIdCtr + lnIdCtr2 = Iif(!Empty(m.tnIdCtrFara), m.tnIdCtrFara, m.tnIdCtr) + + && selectez tarifele de pe contract si pe cele generale + Text To lcSql Textmerge Noshow +select id, id_articol, lim1, lim2, um, corect, valoare as tarif, valoare, ctr_id, intern, plus, arebaza, baza, id_valuta + from ips_tarife_cheiaj + WHERE ctr_id in (<>, <>) + Endtext + llSucces = goExecutor.oExecuta(m.lcSql, 'crsTarifeDiverseContract') + + Select (m.lcSelect) + Return m.llSucces +Endproc + +Procedure make_tipfactura + If !Used('crsTipFactura') + Create Cursor crsTipFactura (tip C(100)) + + Insert Into crsTipFactura (tip) Values ('TRANZIT') + Insert Into crsTipFactura (tip) Values ('CHEIAJ') + Insert Into crsTipFactura (tip) Values ('CHIRII') + Insert Into crsTipFactura (tip) Values ('APA') + Insert Into crsTipFactura (tip) Values ('DIVERSE') + Insert Into crsTipFactura (tip) Values ('PENALITATI') + Insert Into crsTipFactura (tip) Values ('PROFORMA') + Endif +Endproc + +***---------------------------------------------------------------------------------------- +*** intoarce id contract pentru clientul "FARA CONTRACT", pentru calcularea valorii facturii din tarifele pentru clientul FARA CONTRACT valabil in luna curenta +Function get_ctr_id_fara_contract + Private pnId + Local lnId, lcAnLuna, lcSelect, llSucces, llShowError + lcSelect = Select() + lnId = -3 + llShowError = .T. + + lcAnLuna = Alltrim(Str(Int(m.gnAn))) + Padl(Int(m.gnLuna), 2, '0') + lcSql = [SELECT ID_CTR FROM VCONTRACTE WHERE DENUMIRE = 'FARA CONTRACT' and ] + Alltrim(Str(m.gnAn * 12 + m.gnLuna)) + [ between extract(year from data_inceput) * 12 + extract(month from data_inceput) and ] + ; + [extract(year from nvl(data_sfarsit, to_date('] + m.lcAnLuna + [', 'yyyymm'))) * 12 + extract(month from nvl(data_sfarsit, to_date('] + m.lcAnLuna + [', 'yyyymm')))] + + pnId = 0 + llSucces = goExecutor.oSelecteaza2Value(m.lcSql, @pnId) + + If Empty(m.pnId) + Do Case + Case Val(m.an) < 2006 + lnId = -1 + Case Val(m.an) = 2006 + lnId = -2 + Otherwise && >= 2007 + lnId = -3 + Endcase + Else + lnId = m.pnId + Endif + + Select (m.lcSelect) + + Return m.lnId +Endfunc && get_ctr_id_fara_contract + +**************************************************** +*** Intoarce un obiect cu id-ul si denumirea articolulul tranzit/cheiaj/penalitati +**************************************************** +Function GetPrestatieByTip + Lparameters tcTip, tlExplicatieEN + * tcTip: Tranzit, Cheiaj, Penalitati + * tlExplicatieEN: explicatia in engleza + Local lcTip, loArticol, lcSelect, lcDescriere1, lcDescriere2, lcDescriereRO, lcDescriereEN + Private pnId, pcDenumire + pnId = 0 + lcSelect = Select() + lcTip = m.tcTip + loArticol = Createobject("empty") + AddProperty(loArticol, "id_articol", 0) + AddProperty(loArticol, "denumire", "") + AddProperty(loArticol, "descriere", "") + + pcDenumire = '*' + m.lcTip && *TRANZIT/*CHEIAJ/*PENALITATI/*APA/*CHIRII + lcSql = [SELECT id_articol, denumire, descriere FROM nom_articole WHERE denumire = ?pcDenumire] + llSucces = goExecutor.oExecuta(m.lcSql, 'crsArticolTemp') + If m.llSucces + Select crsArticolTemp + Go Top + loArticol.id_articol = id_articol + lcDescriere = Alltrim(Nvl(descriere, '')) && RO::C/V TRANZITARE CDMN PENTRU CONVOIUL/BARJA [INDICATIV], DIN [DATA] CONFORM [CONTRACT]|EN::TRANSIT FOR [INDICATIV], IN [DATA] ACCORDING TO THE [CONTRACT] + lcDescriere1 = Getwordnum(m.lcDescriere, 1, '|') + lcDescriere2 = Getwordnum(m.lcDescriere, 2, '|') + If Left(m.lcDescriere1, 4) = 'RO::' + lcDescriereRO = Strtran(m.lcDescriere1, 'RO::', '', 1, 1, 1) + lcDescriereEN = Strtran(m.lcDescriere2, 'EN::', '', 1, 1, 1) + Else + lcDescriereRO = Strtran(m.lcDescriere2, 'RO::', '', 1, 1, 1) + lcDescriereEN = Strtran(m.lcDescriere1, 'EN::', '', 1, 1, 1) + Endif + + loArticol.denumire = Iif(m.tlExplicatieEN, m.lcDescriereEN, m.lcDescriereRO) + loArticol.descriere = Iif(m.tlExplicatieEN, m.lcDescriereEN, m.lcDescriereRO) + Use In (Select('crsArticolTemp')) + Endif + + Select (m.lcSelect) + Return loArticol +Endfunc && GetPrestatieByTip +**************************************************** + +**************************************************** +*** Intoarce un obiect cu id-ul si denumirea articolulul cu id_articol din parametru +**************************************************** +Function GetPrestatieById + Lparameters tnIdArticol, tlExplicatieEN + + Private pnIdArticol + Local loArticol As "empty" + Local lcDescriere, lcDescriere1, lcDescriere2, lcDescriereEN, lcDescriereRO, lcSelect, lcSql + Local llSucces + pnIdArticol = tnIdArticol + lcSelect = Select() + + loArticol = Createobject("empty") + AddProperty(loArticol, "id_articol", 0) + AddProperty(loArticol, "denumire", "") + AddProperty(loArticol, "descriere", "") + + lcSql = [SELECT id_articol, denumire, descriere FROM nom_articole WHERE id_articol = ?pnIdArticol] + llSucces = goExecutor.oExecuta(m.lcSql, 'crsArticolTemp') + If m.llSucces + Select crsArticolTemp + Go Top + loArticol.id_articol = id_articol + loArticol.denumire = Alltrim(Nvl(denumire, '')) + lcDescriere = Alltrim(Nvl(descriere, '')) && RO::C/V TRANZITARE CDMN PENTRU CONVOIUL/BARJA [INDICATIV], DIN [DATA] CONFORM [CONTRACT]|EN::TRANSIT FOR [INDICATIV], IN [DATA] ACCORDING TO THE [CONTRACT] + lcDescriere1 = Getwordnum(m.lcDescriere, 1, '|') + lcDescriere2 = Getwordnum(m.lcDescriere, 2, '|') + If Left(m.lcDescriere1, 4) = 'RO::' + lcDescriereRO = Strtran(m.lcDescriere1, 'RO::', '', 1, 1, 1) + lcDescriereEN = Strtran(m.lcDescriere2, 'EN::', '', 1, 1, 1) + Else + lcDescriereRO = Strtran(m.lcDescriere2, 'RO::', '', 1, 1, 1) + lcDescriereEN = Strtran(m.lcDescriere1, 'EN::', '', 1, 1, 1) + Endif + + loArticol.descriere = Iif(m.tlExplicatieEN, m.lcDescriereEN, m.lcDescriereRO) + Use In (Select('crsArticolTemp')) + Endif + + Select (m.lcSelect) + Return loArticol +Endfunc && GetPrestatieId +**************************************************** + +**************************************************** +*** Intoarce id_Articol din obiectul articol.id_articol, denumire +**************************************************** +Function GetIdPrestatieByArticol + Lparameters toArticol + + Return Iif(Type('toArticol.id_articol') = 'N', toArticol.id_articol, 0) +Endfunc && GetIdPrestatieByArticol + +**************************************************** +*** Intoarce numele unui articol dupa Id din cursorul crsArticole sau din baza de date +**************************************************** +Function GetArticolById + Lparameters tnId + + Local llSucces, llShowError, lcSelect + Private pnId, pcDenumire + pnId = m.tnId + pcDenumire = '' + lcSelect = Select() + If Used('crsArticole') + If Seek(m.pnId, 'crsArticole', 'id_articol') + pcDenumire = Alltrim(crsArticole.denumire) + Endif + Endif && USED + + If Empty(m.pcDenumire) + llShowError = .T. + llSucces = goExecutor.oSelecteaza2Value([SELECT denumire FROM vnom_articole WHERE id_articol = ?pnId], @pcDenumire) + Endif + Select (m.lcSelect) + + Return m.pcDenumire +Endfunc + +**************************************************** +*** Intoarce numele unei locatii dupa Id din cursorul crsLocatii sau din baza de date +**************************************************** +Function GetLocatieById + Lparameters tnId + + Local llSucces, llShowError, llSelect + Private pnIdLocatie, pcLocatie + pnId = m.tnId + pcDenumire = '' + lcSelect = Select() + If Used('crsLocatii') + If Seek(m.pnId, 'crsLocatii', 'id') + pcDenumire = Alltrim(crsLocatii.denumire) + Endif + Endif && USED + + If Empty(m.pcDenumire) + llShowError = .T. + llSucces = goExecutor.oSelecteaza2Value([SELECT denumire FROM vnom_locatii WHERE id = ?pnId], @pcDenumire) + Endif + Select (m.lcSelect) + + Return m.pcDenumire +Endfunc + +************************************ +*** Intoarce id locatie dupa denumirea locatiei din cursorul crsLocatii sau din baza de date +************************************ +Function GetIdLocatieByName + Lparameters tcDenumire + Private pcDenumire, pnId + Local llShowError, lcSelect + lcSelect = Select() + pcDenumire = Upper(Alltrim(Nvl(m.tcDenumire, ''))) + pnId = 0 + + If Used('crsLocatii') + If Seek(m.pcDenumire, 'crsLocatii', 'denumire') + pnId = crsLocatii.Id + Endif + Endif && USED + + If Empty(m.pnId) + llShowError = .T. + llSucces = goExecutor.oSelecteaza2Value([select id from vnom_locatii where denumire = ?pcDenumire], @pnId) + Endif + Select (m.lcSelect) + + Return m.pnId +Endfunc && GetIdLocatieByName + + + + +**************************************************** +*** intoarce procent TVA standard 19/20/24 +**************************************************** +Function GetCotaTVAStandard + Local lcSql, llSucces, lnProcTva, lcSelect + lcSelect = Select() + lnProcTva = Iif(m.gnAn*12+m.gnLuna >= 2025*12+8, 21, Iif(m.gnAn >= 2017, 19, Iif(m.gnAn >= 2016, 20, Iif(m.gnAn >= 2015, 24, 21)))) + + lcSql = [select procent from cote_tva where an=?m.gnAn and luna = ?m.gnLuna and descriere = 'STANDARD'] + + llSucces = goExecutor.oExecuta(m.lcSql, 'crsCoteTemp') + + If m.llSucces + Select crsCoteTemp + Go Top + If Reccount() >= 1 + lnProcTva = crsCoteTemp.procent + Endif + Use In (Select('crsCoteTemp')) + Endif + Select (m.lcSelect) + Return m.lnProcTva +Endfunc && GetCotaTVAStandard + + +**************************************************** +*** intoarce obiect procent TVA standard (IdJtvaExpl, IdJtva, ProcTva) +*** trebuie sa existe crsJTVA: make_jtva_explicatii() +**************************************************** +Function GetTVAStandard + Lparameters tnIntern + * tnIntern (optional): 1 = intern, 0 = extern, implicit 1 + Local lnInter, loTVA As "empty" + + lnIntern = Iif(Type('tnIntern') = 'N', m.tnIntern, 1) + loTVA = GetObiectTVA(m.lnIntern) + Return loTVA +Endfunc && GetTVAStandard + +**************************************************** +*** intoarce obiect procent TVA standard (IdJtvaExpl, IdJtva, ProcTva) +*** trebuie sa existe crsJTVA: make_jtva_explicatii() +**************************************************** +Function GetObiectTVA + Lparameters tnIntern, tnCotaTVA, tnIdJtvaColoana + * tnIntern (optional): 1 = intern, 0 = extern, implicit .T. + * tnCotaTVA (optional, default COTA STANDARD): 19/20/24 + * tnIdJtvaColoana (optional) - intorc obiect tva cu id_jtva_coloana = tnIdJtvaColoana + + Local llIntern, lnCotaTVA, lcSelect, lnCotaTVAStandard, loTVA As "empty" + lcSelect = Select() + loTVA = Createobject("empty") + AddProperty(loTVA, "IdJTVAExpl", 0) + AddProperty(loTVA, "IdJTVA", 0) + AddProperty(loTVA, "ProcTVA", 0) + + lnCotaTVAStandard = GetCotaTVAStandard() + llIntern = Iif(Pcount() >= 1, Iif(m.tnIntern = 1, .T., .F.), .T.) + Do Case + Case !Empty(m.tnIdJtvaColoana) + Select crsJtva + Locate For id_jtva_coloana = m.tnIdJtvaColoana + Otherwise + If m.llIntern + lnCotaTVA = Iif(Type('tnCotaTVA') = 'N', m.tnCotaTVA, m.lnCotaTVAStandard) + Select crsJtva + Locate For cota_tva = m.lnCotaTVA + If !Found() + Locate For cota_tva = m.lnCotaTVAStandard + Endif + Else + Select crsJtva + Locate For coloana_jv = 'WRSCDD' && alte livrari scutite cu drept de deducere + Endif + Endcase + If Found() + loTVA.IdJtvaExpl = Id + loTVA.IdJtva = id_jtva_coloana + loTVA.ProcTva = Round(1 + cota_tva / 100, 2) + Endif + + Select (m.lcSelect) + Return loTVA +Endfunc && GetObiectTVA + +**************************************************** +*** Creeaza cursorul cRegDoc pentru inregistrarea in Reg Doc. +*** Se inregistreaza factura in vanzari si apoi in Reg. Doc. +**************************************************** +Procedure make_cregdoc + Private poRegdoc + poRegdoc = Null + + Local lcFiltru, lcFiltruOriginal, lcGroup, lcOrder, lcSchema, lcSelect, llAfiseaza, llModParam + Text To lcSchema Noshow +id N(20), id_vanzare N(12), tip N(1), id_articol N(10), articol C(100), id_locatia N(5), locatia C(100), id_valuta N(5), valuta C(50), id_client N(10), client C(100), id_contract N(10), contract C(100), pret N(16,4), curs N(12, 4), cantitate N(10,3), valval N(20,4), tvaval N(20,4), totval N(20,4), valftva N(20,4), valtva N(20,4), valctva N(20,4), um C(20), document C(100), data D, id_jtva_coloana N(10), id_jtva_coloana_ex N(10) Null + Endtext + lcOrder = [] + lcFiltru = [1=2] + llAfiseaza = .F. + lcGroup = [] + llModParam = .T. + lcFiltruOriginal = [] + Text To lcSelect Noshow +select id, id_vanzare, tip, id_articol, articol, id_locatia, locatia, id_valuta, valuta, id_client, client, id_contract, contract, pret, curs, cantitate, valval, tvaval, totval, valftva, valtva, valctva, um, document, data, 0 as id_jtva_coloana, 0 as id_jtva_coloana_ex from ips_vregdoc + Endtext + gencursor('poRegDoc', 'cRegDoc', m.lcSelect, m.lcFiltru, m.lcSchema, m.lcOrder, m.llAfiseaza, m.lcGroup, m.llModParam, m.lcFiltruOriginal) + poRegdoc.ca_baza1.afisare() +Endproc && make_cregdoc + + +**************************************************** +*** Creeaza cursorul gol actactan +*** Intoarce .T. daca s-a creat cursorul actactan +**************************************************** +Procedure make_actactan + Private poAct + poAct = Null + + Local lcFiltru, lcFiltruOriginal, lcGroup, lcOrder, lcSchema, lcSelect, llAfiseaza, llModParam + + Text To lcSchema Noshow + serie_act C(10),id_act N(20),luna N(4),an N(6),cod N(20),dataireg T,nract N(16),dataact T,suma N(20,4),explicatia C(100),scd C(4),ascd C(4),scc C(4),ascc C(4),pereched N(16),perechec N(16),suma_val N(20,4),explicatia2 C(100),explicatia3 C(100),curs N(14,6),datascad T,neimpozab N(20,4),nnir N(16),id_util N(7),util C(30),dataora T,id_utils N(7),utils C(30),dataoras T,id_respons N(12),nresp C(30),id_venchel N(7),dst_chlt C(100),id_lucrare N(12),nrord C(50),id_ctr N(10),contract C(61),id_sectie N(7),sectie C(50),proc_tva N(7,2),id_set N(20),id_fact N(20),id_factd N(20),id_factc N(20),id_partd N(12),partd C(70),id_partc N(12),partc C(70),id_sucursala N(7),sucursala C(30),id_fdoc N(7),fdoc C(30),id_gestin N(7),id_jtva_coloana N(6),gestin C(50),id_gestout N(7),gestout C(50),id_valuta N(7),nume_val C(20),id_pol N(10),nume_lista C(30),tva_incasare N(1),id_instiintare N(20),numar_instiintare N(16),nr_nota N(6),taxcode N(6),paymentcode V(9) + Endtext + + lcOrder = [] + lcFiltru = [1=2] + llAfiseaza = .F. + lcGroup = [] + llModParam = .T. + lcFiltruOriginal = [] + Text To lcSelect Noshow + select serie_act, id_act, luna, an, cod, dataireg, nract, dataact, suma, explicatia, scd, ascd, scc, ascc, pereched, perechec, suma_val, explicatia4, explicatia5, curs, datascad, neimpozab, nnir, id_util, util, dataora, id_utils, utils, dataoras, id_responsabil, nresp, id_venchelt, dst_chlt, id_lucrare, nrord, id_ctr, contract, id_sectie, sectie, proc_tva, id_set, id_fact, id_factd, id_factc, id_partd, partd, id_partc, partc, id_sucursala, sucursala, id_fdoc, fdoc, id_gestin, id_jtva_coloana, gestin, id_gestout, gestout, id_valuta, nume_val, id_pol, nume_lista_preturi, tva_incasare, id_instiintare, numar_instiintare, nr_nota, taxcode, paymentcode from vactan + Endtext + + gencursor('poAct', 'actactan', m.lcSelect, m.lcFiltru, m.lcSchema, m.lcOrder, m.llAfiseaza, m.lcGroup, m.llModParam, m.lcFiltruOriginal) + poAct.ca_baza1.afisare() + + Return Used('actactan') +Endproc && make_actactan + + +************************************************** +*** Intoarce conturi, analitice pentru o prestatie/activitate din crsArticoleLocatii (ips_varticole_locatii) +************************************************** +Procedure GetCont + Lparameters tcTip, tnIdLocatia, tnIdArticol, tlIntern, tlPenalitati, tcScd, tcAscd, tcScc, tcAscc, tcExplicatia + + Local lcSelect, lcGrupa, llFound, llIntern, llPenalitati, lnTip, lnIdArticol, lnIdLocatia, lcTip, llSucces + lcSelect = Select() + llSucces = .F. + tcScd = '' + tcScc = '' + tcAscd = '' + tcAscc = '' + tcExplicatia = '' + + lcTip = m.tcTip + llIntern = m.tlIntern + llPenalitati = m.tlPenalitati + lnIdArticol = m.tnIdArticol + lnIdLocatia = m.tnIdLocatia + lcGrupa = '' + + llFound = .F. + + * Inca nu este implementat penalitati pentru facturi de tranzit pe locatii din ips_regdoc + * pun penalitati tranzit pe locatia SEDIU + If m.llPenalitati And Empty(Nvl(m.lnIdLocatia, 0)) + lnIdLocatia = GetIdLocatieByName('SEDIU') + Endif + + *** caut prestatia pentru tipul respectiv. + *** Daca este facturi diverse TIP = 9 sau alte prestatii TIP = 2, caut doar prestatia. La diverse, pot sa aleg prestatie de orice tip + If !Empty(m.lnIdArticol) And !Empty(m.lnIdLocatia) + Select crsArticoleLocatii + Locate For id_articol = m.lnIdArticol And id_locatia = m.lnIdLocatia + llFound = Found() + Endif + + If !m.llFound + lcGrupa = Iif(m.lcTip = TIP_TRANZIT, 'TRANZIT', Iif(m.lcTip = TIP_CHEIAJ, 'CHEIAJ', Iif(m.lcTip = TIP_PILOTAJ, 'PILOTAJ', Iif(m.lcTip = TIP_APA, 'LIVAPA', Iif(m.lcTip = TIP_DIVERSE, 'DIVERSE', '*'))))) + *** nu am gasit prestatia dupa ID, sau este o activitate fara prestatii - caut configurari generice dupa CAT = *, SUBCAT = TRANZIT/CHEIAJ/PILOTAJ/LIVAPA + If m.llPenalitati + Select crsArticole + Locate For GRUPA = TIP_PENALITATI And subgrupa = m.lcTip + Else + Select crsArticole + Locate For GRUPA = m.lcTip And subgrupa = '*' + Endif + + If Found() + lnIdArticol = crsArticole.id_articol + + Select crsArticoleLocatii + Locate For id_articol = m.lnIdArticol And id_locatia = m.lnIdLocatia + llFound = Found() + Endif + Endif + + If m.llFound + Select crsArticoleLocatii + If !m.llPenalitati + tcScd = Allt(Nvl(CTDEBITOR, '')) + tcScc = Allt(Nvl(CTCREDITOR, '')) + tcAscd = Alltrim(Iif(m.llIntern, Nvl(ctaideb, ''), Nvl(ctaedeb, ''))) + tcAscc = Alltrim(Iif(m.llIntern, Nvl(ctaicred, ''), Nvl(ctaecred, ''))) + Else + tcScd = Allt(Nvl(CTPIDEB, '')) + tcScc = Allt(Nvl(CTPICRED, '')) + tcAscd = Alltrim(Nvl(CTAPIDEB, '')) + tcAscc = Alltrim(Nvl(CTAPICRED, '')) + Endif + tcExplicatia = '' + + If Empty(tcScd) Or Empty(tcScc) + lctext = 'Nu sunt completate conturile la prestatia ID: ' + Alltrim(Transform(lnIdArticol)) + ' ' + GetArticolById(m.lnIdArticol) + ' locatia ID: ' + Alltrim(Transform(m.lnIdLocatia)) + ' ' + GetLocatieById(m.lnIdLocatia) + Iif(m.lnIdLocatia <> m.tnIdLocatia, '(' + Alltrim(Str(m.tnIdLocatia)) + ' ' + GetLocatieById(m.tnIdLocatia) + ')', '') + ' GRUPA: ' + m.lcGrupa + poLog.Log(m.lctext, Program()) + amessagebox(m.lctext, 0 + 48, _Screen.Caption) + Endif + Else + + lctext = 'Nu exista configurari pentru conturi la prestatia ID: ' + Alltrim(Transform(lnIdArticol)) + ' ' + GetArticolById(m.lnIdArticol) + ' locatia ID: ' + Alltrim(Transform(m.lnIdLocatia)) + ' ' + GetLocatieById(m.lnIdLocatia) + Iif(m.lnIdLocatia <> m.tnIdLocatia, '(' + Alltrim(Str(m.tnIdLocatia)) + ' ' + GetLocatieById(m.tnIdLocatia) + ')', '') + ' GRUPA: ' + m.lcGrupa + poLog.Log(m.lctext, Program()) + amessagebox(m.lctext, 0 + 48, _Screen.Caption) + Endif + + llSucces = !(Empty(m.tcScd) Or Empty(m.tcScc)) + + Select (m.lcSelect) + Return m.llSucces +Endproc && GetCont + + +************************************************************** +*** vizualizare tarife tranzit +************************************************************** +Procedure vizualizare_tarife_tranzit + Local loFrmTarife As "frm_tarife_tranzit" + Local lcFiltru, lcFiltruOriginal, lcGroup, lcOrder, lcSchema, lcSelect, lcSql, lcSqlDelete + Local lcSqlInsert, lcSqlUpdate, llAfiseaza, llModParam, llScris, llSucces, llSucces2, lnModificat + Local lnRec + Private pnId, poRec, poTarife + poTarife = Null + + + Do make_contracte && crsContracte + Do make_grupe_marfa && crsGrupeMarfa + Do make_marfa With .T. && crsMarfa + Do make_valute && crsValute + Do make_vas_um && crsVasUM + Do make_routes && crsRoutes + Do make_grup_tip_nave && crsGrupTipNave + + Text To lcSchema Noshow +id N(10) null, intern N(1), ctr_id N(10) null, rte_id N(20) null, vum_id N(10), gtn_id N(10), gdsg_id N(10) NULL, gds_id C(36) null, id_valuta N(7), valoare N(20,4), tcap1 N(5), tcap2 N(5), tccap1 N(12), tccap2 N(12), modificat N(1) + Endtext + + lcOrder = [intern desc, gtn_id, tcap1, tcap2, gdsg_id] + lcFiltru = [] + llAfiseaza = .F. + lcGroup = [] + llModParam = .T. + lcFiltruOriginal = [] + + Text To lcSelect Noshow +select id, + intern, + ctr_id, + rte_id, + vum_id, + gtn_id, + decode(gdsg_id, -1, 999888, gdsg_id) as gdsg_id, + gds_id, + id_valuta, + valoare, + tcap1, + tcap2, + tccap1, + tccap2, + 0 as modificat + from ips_vtarife_tranzit + Endtext + + Update crsGrupeMarfa Set Id = Iif(Id = -1, 999888, Id) && nu se afisa corect grupa de marfa cu id = -1, am pus id = 999888, apoi l-am modificat in -1 + + gencursor('poTarife', 'crsTarife', m.lcSelect, m.lcFiltru, m.lcSchema, m.lcOrder, m.llAfiseaza, m.lcGroup, m.llModParam, m.lcFiltruOriginal) + poTarife.ca_baza1.afisare() + Select crsTarife + loFrmTarife = Createobject("frm_tarife_tranzit") && oacnpro.vcx + * DO FORM frm_tarife_tranzit NAME loFrmTarife NOSHOW + loFrmTarife.Show(1) + + If m.gnButon = 1 + lcSqlDelete = [DELETE from ips_tarife_tranzit WHERE id = ?pnId] + + Text To lcSqlInsert Noshow + insert into ips_tarife_tranzit + (intern, ctr_id, rte_id, tcap1, tcap2, vum_id, valoare, tccap1, tccap2, gdsg_id, gtn_id, gds_id, id_valuta) +values +(?poRec.intern, ?poRec.ctr_id, ?poRec.rte_id, ?poRec.tcap1, ?poRec.tcap2, ?poRec.vum_id, ?poRec.valoare, ?poRec.tccap1, ?poRec.tccap2, ?poRec.gdsg_id, ?poRec.gtn_id, ?poRec.gds_id, ?poRec.id_valuta) + Endtext + + Text To lcSqlUpdate Noshow +update ips_tarife_tranzit + set intern = ?poRec.intern, + ctr_id = ?poRec.ctr_id, + rte_id = ?poRec.rte_id, + tcap1 = ?poRec.tcap1, + tcap2 = ?poRec.tcap2, + vum_id = ?poRec.vum_id, + valoare = ?poRec.valoare, + tccap1 = ?poRec.tccap1, + tccap2 = ?poRec.tccap2, + gdsg_id = ?poRec.gdsg_id, + gtn_id = ?poRec.gtn_id, + gds_id = ?poRec.gds_id, + id_valuta = ?poRec.id_valuta + where id = ?poRec.id; + Endtext + + Select crsTarife + Set Filter To + + llSucces = (SQLSetprop(gnHandle, "Transactions", 2) >= 0) + + If m.llSucces && transactions + *** SELECTEZ IREG STERSE + Set Deleted Off + Sele Id From crsTarife Where Deleted() Into Cursor cTarifeSterse + Set Deleted On + + Select cTarifeSterse + Scan + pnId = Id + llSucces = goExecutor.oExecuta(m.lcSqlDelete) + If !m.llSucces + Exit + Endif + Endscan + Use In (Select('cTarifeSterse')) + *** STERG IN TARIFE_DIVERSE IREG STERSE + + If m.llSucces + *** MODIFIC IN TARIFE IREG MODIFICATE IN TEMPORAR + Sele crsTarife + Set Filter To + Calculate Cnt() To m.lnModificat For Nvl(modificat, 0) = 1 + + lnRec = 0 + Sele crsTarife + Scan For Nvl(modificat, 0) = 1 + Scatter Name poRec Memo + poRec.gdsg_id = Iif(poRec.gdsg_id = 999888, -1, poRec.gdsg_id) && nu se afisa corect grupa de marfa cu id = -1, am pus id = 999888, apoi l-am modificat in -1 + lnRec = m.lnRec + 1 + Wait Window 'Tarif nou/modificat ' + Alltrim(Str(m.lnRec)) + '/' + Alltrim(Str(m.lnModificat)) Nowait + + If Empty(Nvl(poRec.Id, 0)) + llSucces = goExecutor.oExecuta(m.lcSqlInsert) + Else + llSucces = goExecutor.oExecuta(m.lcSqlUpdate) + Endif + If !m.llSucces + Exit + Endif + Endscan + Endif && llSucces + + If !m.llSucces + lcSql = "ROLLBACK" + llScris = .F. + Else + lcSql = "COMMIT" + llScris = .T. + Endif + llScris = goExecutor.oExecuta(m.lcSql) + + llSucces2 = (SQLSetprop(gnHandle, "Transactions", 1) >= 0) + If !m.llSucces2 + amessagebox('Programul nu a reusit sa treaca pe tranzactie automata. Iesiti din program si intrati din nou!', 48, 'Atentie!') + Endif + + llSucces = m.llSucces And m.llScris + Endif && gnButon + + If m.llSucces + amessagebox('Tarife modificate cu succes!', 0 + 64, _Screen.Caption) + Else + amessagebox('Tarifele nu s-au modificat!', 0 + 64, _Screen.Caption) + Endif + Endif && gnButon + + Use In (Select('crsContracte')) + Use In (Select('crsGrupeMarfa')) + Use In (Select('crsMarfa')) + Use In (Select('crsValute')) + Use In (Select('crsVasUM')) + Use In (Select('crsRoutes')) + Use In (Select('crsGrupTipNave')) + + Return m.llSucces +Endproc && vizualizare_tarife_tranzit + + +************************************************************** +*** vizualizare tarife cheiaj +************************************************************** +Procedure vizualizare_tarife_cheiaj + Local loFrmTarife As "frm_tarife_tranzit" + Local lcFiltru, lcFiltruOriginal, lcGroup, lcOrder, lcSchema, lcSelect, lcSql, lcSqlDelete + Local lcSqlInsert, lcSqlUpdate, llAfiseaza, llModParam, llScris, llSucces, llSucces2, lnModificat + Local lnRec + Private pnId, poRec, poTarife + poTarife = Null + + Do make_contracte && crsContracte + Do make_articole && crsArticole + Do make_valute && crsValute + + Text To lcSchema Noshow +id N(10) null, intern N(1), ctr_id N(10), id_articol N(12), articol C(100), id_valuta N(7), lim1 N(12,2), lim2 N(12,2), um C(10), corect N(2), valoare N(20,4), plus N(1), arebaza N(1), baza N(1), modificat N(1) + Endtext + + lcOrder = [intern desc, articol, lim1, lim2] + lcFiltru = [] + llAfiseaza = .F. + lcGroup = [] + llModParam = .T. + lcFiltruOriginal = [] + + Text To lcSelect Noshow +select id, + intern, + ctr_id, + id_articol, + articol, + id_valuta, + lim1, + lim2, + um, + corect, + valoare, + plus, + arebaza, + baza, + 0 as modificat + from ips_vtarife_cheiaj + Endtext + + gencursor('poTarife', 'crsTarife', m.lcSelect, m.lcFiltru, m.lcSchema, m.lcOrder, m.llAfiseaza, m.lcGroup, m.llModParam, m.lcFiltruOriginal) + poTarife.ca_baza1.afisare() + Select crsTarife + loFrmTarife = Createobject("frm_tarife_cheiaj") && oacnpro.vcx + loFrmTarife.Show(1) + + If m.gnButon = 1 + lcSqlDelete = [DELETE from ips_tarife_cheiaj WHERE id = ?pnId] + + Text To lcSqlInsert Noshow + insert into ips_tarife_cheiaj + (id_articol, lim1, lim2, um, corect, valoare, ctr_id, intern, plus, arebaza, baza, id_valuta) +values +(?poRec.id_articol, ?poRec.lim1, ?poRec.lim2, ?poRec.um, ?poRec.corect, ?poRec.valoare, ?poRec.ctr_id, ?poRec.intern, ?poRec.plus, ?poRec.arebaza, ?poRec.baza, ?poRec.id_valuta) + Endtext + + Text To lcSqlUpdate Noshow +update ips_tarife_cheiaj + set id_articol = ?poRec.id_articol, + lim1 = ?poRec.lim1, + lim2 = ?poRec.lim2, + um = ?poRec.um, + corect = ?poRec.corect, + valoare = ?poRec.valoare, + ctr_id = ?poRec.ctr_id, + intern = ?poRec.intern, + plus = ?poRec.plus, + arebaza = ?poRec.arebaza, + baza = ?poRec.baza, + id_valuta = ?poRec.id_valuta + where id = ?poRec.id; + Endtext + + Select crsTarife + Set Filter To + + llSucces = (SQLSetprop(gnHandle, "Transactions", 2) >= 0) + + If m.llSucces && transactions + *** SELECTEZ IREG STERSE + Set Deleted Off + Sele Id From crsTarife Where Deleted() Into Cursor cTarifeSterse + Set Deleted On + + Select cTarifeSterse + Scan + pnId = Id + llSucces = goExecutor.oExecuta(m.lcSqlDelete) + If !m.llSucces + Exit + Endif + Endscan + Use In (Select('cTarifeSterse')) + *** STERG IN TARIFE_DIVERSE IREG STERSE + + If m.llSucces + *** MODIFIC IN TARIFE IREG MODIFICATE IN TEMPORAR + Sele crsTarife + Set Filter To + Calculate Cnt() To m.lnModificat For Nvl(modificat, 0) = 1 + + lnRec = 0 + Sele crsTarife + Scan For Nvl(modificat, 0) = 1 + Scatter Name poRec Memo + lnRec = m.lnRec + 1 + Wait Window 'Tarif nou/modificat ' + Alltrim(Str(m.lnRec)) + '/' + Alltrim(Str(m.lnModificat)) Nowait + + If Empty(Nvl(poRec.Id, 0)) + llSucces = goExecutor.oExecuta(m.lcSqlInsert) + Else + llSucces = goExecutor.oExecuta(m.lcSqlUpdate) + Endif + If !m.llSucces + Exit + Endif + Endscan + Endif && llSucces + + If !m.llSucces + lcSql = "ROLLBACK" + llScris = .F. + Else + lcSql = "COMMIT" + llScris = .T. + Endif + llScris = goExecutor.oExecuta(m.lcSql) + + llSucces2 = (SQLSetprop(gnHandle, "Transactions", 1) >= 0) + If !m.llSucces2 + amessagebox('Programul nu a reusit sa treaca pe tranzactie automata. Iesiti din program si intrati din nou!', 48, 'Atentie!') + Endif + + llSucces = m.llSucces And m.llScris + Endif && gnButon + + If m.llSucces + amessagebox('Tarife modificate cu succes!', 0 + 64, _Screen.Caption) + Else + amessagebox('Tarifele nu s-au modificat!', 0 + 64, _Screen.Caption) + Endif + Endif && gnButon + + Use In (Select('crsContracte')) + Use In (Select('crsGrupeMarfa')) + Use In (Select('crsMarfa')) + Use In (Select('crsValute')) + Use In (Select('crsVasUM')) + Use In (Select('crsRoutes')) + Use In (Select('crsGrupTipNave')) + + Return m.llSucces +Endproc && vizualizare_tarife_cheiaj + +************************************************************** +*** vizualizare tarife contracte +************************************************************** +Procedure vizualizare_tarife_contracte + + Local loFrmTarife As "frm_tarife_contracte" + Local lcFiltru, lcFiltruOriginal, lcGroup, lcOrder, lcSchema, lcSelect, llAfiseaza, llModParam + Local lcSql, lcSqlDelete, lcSqlInsert, lcSqlUpdate, llScris, llSucces, llSucces2, lnModificat, lnRec + Private poRec, poTarife, pnPretftva, pnPretctva + poTarife = Null + poRec = Null + pnPretftva = 0 + pnPretctva = 0 + + Do make_contracte && crsContracte + Do make_locatii && crsLocatii + Do make_articole && crsArticole + Do make_valute && crsValute + Do make_um && crsUM + make_cote_tva() && crsCoteTVA + + Text To lcSchema Noshow +id_ctr_art N(7) null, id_ctr N(7) null, id_articol N(20) null, articol C(100) null, um C(10) null, pret_cu_tva N(1) null, proc_tvav N(10,2) null, pret_unitar N(20,4) null, cant N(12,4) null, valoare N(20,4) null, coef_discount N(12,4) null, val_discount N(20,4) null, id_valuta N(7) null, explicatie C(100) null, nume_val C(20) null, moneda_nationala N(1) null, id_locatia N(5), locatia C(100), modificat N(1) + Endtext + + lcOrder = [articol] + lcFiltru = [] + llAfiseaza = .F. + lcGroup = [] + llModParam = .T. + lcFiltruOriginal = [] + + Text To lcSelect Noshow +select id_ctr_art, + id_ctr, + id_articol, + articol, + um, + NVL(pret_cu_tva,0) AS pret_cu_tva, + NVL(proc_tvav, -1) as proc_tvav, + pret_unitar, + cant, + ROUND(valoare, ?gnPC) as valoare, + coef_discount, + val_discount, + id_valuta, + explicatie, + valuta, + moneda_nationala, + id_locatia, + locatia, + 0 as modificat + from vctr_articole2 + Endtext + + gencursor('poTarife', 'crsTarife', m.lcSelect, m.lcFiltru, m.lcSchema, m.lcOrder, m.llAfiseaza, m.lcGroup, m.llModParam, m.lcFiltruOriginal) + poTarife.ca_baza1.afisare() + Select crsTarife + loFrmTarife = Createobject("frm_tarife_contracte") && oacnpro.vcx + loFrmTarife.Show(1) + + If m.gnButon = 1 + lcSqlDelete = [DELETE from ctr_articole WHERE id_ctr_art = ?pnIdCtrArt] + + Text To lcSqlInsert Noshow + insert into ctr_articole + (id_ctr, pret_unitar, cant, valoare, coef_discount, val_discount, id_valuta, explicatie, um, id_articol, pret_cu_tva, proc_tvav, id_locatia) +values +(?poRec.id_ctr, ?poRec.pret_unitar, ?poRec.cant, ?poRec.valoare, ?poRec.coef_discount, ?poRec.val_discount, ?poRec.id_valuta, ?poRec.explicatie, ?poRec.um, ?poRec.id_articol, ?poRec.pret_cu_tva, ?poRec.proc_tvav, ?poRec.id_locatia) + Endtext + + Text To lcSqlUpdate Noshow +update ctr_articole + set id_ctr_art = ?poRec.id_ctr_art, + id_ctr = ?poRec.id_ctr, + pret_unitar = ?poRec.pret_unitar, + cant = ?poRec.cant, + valoare = ?poRec.valoare, + coef_discount = ?poRec.coef_discount, + val_discount = ?poRec.val_discount, + id_valuta = ?poRec.id_valuta, + explicatie = ?poRec.explicatie, + um = ?poRec.um, + id_articol = ?poRec.id_articol, + pret_cu_tva = ?poRec.pret_cu_tva, + proc_tvav = ?poRec.proc_tvav, + id_locatia = ?poRec.id_locatia + where id_ctr_art = ?poRec.id_ctr_art + Endtext + + Select crsTarife + Set Filter To + + llSucces = (SQLSetprop(gnHandle, "Transactions", 2) >= 0) + + If m.llSucces && transactions + *** SELECTEZ IREG STERSE + Set Deleted Off + Sele id_ctr_art From crsTarife Where Deleted() Into Cursor cTarifeSterse + Set Deleted On + + Select cTarifeSterse + Scan + pnIdCtrArt = id_ctr_art + llSucces = goExecutor.oExecuta(m.lcSqlDelete) + If !m.llSucces + Exit + Endif + Endscan + Use In (Select('cTarifeSterse')) + *** STERG IN TARIFE_DIVERSE IREG STERSE + + If m.llSucces + *** MODIFIC IN TARIFE IREG MODIFICATE IN TEMPORAR + Sele crsTarife + Set Filter To + Calculate Cnt() To m.lnModificat For Nvl(modificat, 0) = 1 + + lnRec = 0 + Sele crsTarife + Scan For Nvl(modificat, 0) = 1 + Scatter Name poRec Memo + poRec.proc_tvav = Iif(poRec.proc_tvav = -1, Null, poRec.proc_tvav) + poRec.pret_cu_tva = Nvl(poRec.pret_cu_tva, 0) + + lnRec = m.lnRec + 1 + Wait Window 'Tarif nou/modificat ' + Alltrim(Str(m.lnRec)) + '/' + Alltrim(Str(m.lnModificat)) Nowait + + If Empty(Nvl(poRec.id_ctr_art, 0)) + llSucces = goExecutor.oExecuta(m.lcSqlInsert) + Else + llSucces = goExecutor.oExecuta(m.lcSqlUpdate) + Endif + If !m.llSucces + Exit + Endif + Endscan + Endif && llSucces + + If !m.llSucces + lcSql = "ROLLBACK" + llScris = .F. + Else + lcSql = "COMMIT" + llScris = .T. + Endif + llScris = goExecutor.oExecuta(m.lcSql) + + llSucces2 = (SQLSetprop(gnHandle, "Transactions", 1) >= 0) + If !m.llSucces2 + amessagebox('Programul nu a reusit sa treaca pe tranzactie automata. Iesiti din program si intrati din nou!', 48, 'Atentie!') + Endif + + llSucces = m.llSucces And m.llScris + Endif && gnButon + + If m.llSucces + amessagebox('Tarife modificate cu succes!', 0 + 64, _Screen.Caption) + Else + amessagebox('Tarifele nu s-au modificat!', 0 + 64, _Screen.Caption) + Endif + Endif && gnButon + + Use In (Select('crsTarife')) + Use In (Select('crsContracte')) + Use In (Select('crsArticole')) + Use In (Select('crsLocatii')) + Use In (Select('crsValute')) + Use In (Select('crsUM')) + Use In (Select('crsCoteTVA')) + + Return m.llSucces +Endproc && vizualizare_tarife_contracte + +******************************************** +*** Genereaza data act din luna contabila curenta +******************************************** +Function GenDataAct + Local ldData, ldDataCurenta + ldData = Gomonth(Date(m.gnAn, m.gnLuna, 1), 1) - 1 && ultima zi din luna contabila curenta + ldDataCurenta = Date() + If !(Year(m.ldDataCurenta) = Year(m.ldData) And Month(m.ldDataCurenta) = Month(m.ldData)) + m.ldDataCurenta = m.ldData + Endif + Return m.ldDataCurenta +Endfunc && GenDataAct + +******************************************** +*** Intoarce numarul tipului de prestatie din numele tipului +******************************************** +Function cTip2nTip + Lparameters tcTip + Local lcTip, lnTip + lcTip = Upper(Alltrim(tcTip)) + lnTip = NTIP_TRANZIT + + Do Case + Case m.lcTip = TIP_TRANZIT + lnTip = NTIP_TRANZIT + Case m.lcTip = TIP_CHEIAJ + lnTip = NTIP_CHEIAJ + Case m.lcTip = TIP_APA + lnTip = NTIP_APA + Case m.lcTip = TIP_CHIRII + lnTip = NTIP_CHIRII + Case m.lcTip = TIP_PILOTAJ + lnTip = NTIP_PILOTAJ + Case m.lcTip = TIP_ALTE + lnTip = NTIP_ALTE + Case m.lcTip = TIP_PENALITATI + lnTip = NTIP_PENALITATI + Case m.lcTip = TIP_DIVERSE + lnTip = NTIP_DIVERSE + Endcase + Return m.lnTip +Endfunc && cTip2nTip + +******************************************************** +*** listare recapitulatie cheiaj +*** se apeleaza din frm_facturi +******************************************************** +Procedure listeaza_recapitulatie_cheiaj + + Private pnIdVanzare, pnTotalValoare, pnTotalValoareVal + pnTotalValoare = 0 + pnTotalValoareVal = 0 + + pnIdVanzare = poDate.nid_vanzare + poLog.Log('id_vanzare=' + Alltrim(Str(Nvl(m.pnIdVanzare, 0))), 'listeaza_recapitulatie_cheiaj') + * Selectez membri convoaielor + + Text To lcSelect Textmerge Noshow +select vye_id, + vz_id, + numar_act, + data_act, + client_id, + client, + contract_client, + client_ctr_id, + beneficiar_id, + beneficiar, + intern, + document, + declcdt, + nava, + tipn_id, + tipn, + lbd, + trn, + hp, + cap, + lung, + id_locatia, + locatia, + id_dana, + dana, + datai, + datap, + nrore, + id_valuta, + valuta, + id_articol, + articol, + tarif, + cant, + durata, + um, + valval, + tvaval, + totval, + valftva, + valtva, + valctva, + curs + from ips_vberthing_members_vanzari + where vz_id = ?pnIdVanzare + Endtext + + llSucces = goExecutor.oExecuta(m.lcSelect, 'crsBerthingMembersVanzari') + + If !m.llSucces + Return + Endif + + Select vye_id, ; + vz_id, ; + numar_act As nrfact, ; + data_act As datafact, ; + client_id, ; + client, ; + contract_client, ; + client_ctr_id, ; + beneficiar_id, ; + beneficiar, ; + (Nvl(intern, 0) = 1) As intern, ; + Document, ; + DECLCDT, ; + nava, ; + tipn_id, ; + tipn, ; + lbd, ; + trn, ; + hp, ; + cap, ; + lung, ; + id_locatia, ; + locatia, ; + id_dana, ; + dana, ; + datai, ; + datap, ; + nrore, ; + id_valuta, ; + valuta, ; + id_articol, ; + articol, ; + tarif, ; + cant, ; + durata, ; + um, ; + valval, ; + TVAVAL, ; + totval, ; + valftva, ; + valtva, ; + valctva, ; + Curs ; + From crsBerthingMembersVanzari ; + Order By DECLCDT, nava ; + Into Cursor crsRecapitulatie + Use In (Select('crsBerthingMembersVanzari')) + + Select crsRecapitulatie + Go Top + llIntern = intern + * Total valoare + Select Max(Curs) As Curs, Sum(valval) As valval From crsRecapitulatie Into Cursor crsTotalTemp + Select crsTotalTemp + Go Top + pnTotalValoare = Iif(m.llIntern, Round(Round(crsTotalTemp.valval, m.gnPC) * crsTotalTemp.Curs, m.gnPC), Round(crsTotalTemp.valval, m.gnPC)) && intern lei, extern valuta + pnTotalValoareVal = Round(crsTotalTemp.valval, m.gnPC) + + Use In (Select('crsTotalTemp')) + + Select crsRecapitulatie + lcRaport = 'recapitulatie_cheiaj.frx' + Do listeaza_recapitulatie With 'crsRecapitulatie', m.lcRaport In ofacturare.prg + + Use In (Select('crsRecapitulatie')) + +Endproc && listeaza_recapitulatie_cheiaj + +******************************************************** +*** listare recapitulatie tranzit +*** se apeleaza din frm_facturi +******************************************************** +Procedure listeaza_recapitulatie_tranzit + + Local lcFiltru, lcFiltruOriginal, lcGroup, lcOrder, lcRaport, lcSchema, lcSelect, llAfiseaza + Local llModParam, llSucces + Local lcModCalcul, lcVyeId + Private pnIdVanzare, pnTotalValoare + + pnTotalValoare = 0 + pnIdVanzare = poDate.nid_vanzare + poLog.Log('id_vanzare=' + Alltrim(Str(Nvl(m.pnIdVanzare, 0))), 'listeaza_recapitulatie_tranzit') + * Selectez membri convoaielor + Text To lcSelect Textmerge Noshow +select vmv_id, + vv_id, + client_id, + client, + contract_client, + client_ctr_id, + beneficiar_id, + tiprecap, + beneficiar, + intern, + vz_id, + numar_act, + data_act, + cuplat, + arm_id, + armator, + kmi, + kmf, + rte_id, + ruta, + convoy_nam, + declaratio, + generation, + vye_id, + aviz, + data_aviz, + origin, + destinatio, + vms_id, + vsl_id, + ctt_id, + dirty_tank, + rstart_id, + rfin_id, + distanta, + distanta_cdmn, + contact, + indicativ, + lbd, + trn, + hp, + tcap, + procdiv, + vtp_id, + tip_nava, + vgrp_id, + grupa_nava, + felcargo, + cargo, + gds_id, + grp_id, + grupa_marfa, + periculos, + corect, + procdist, + id_valuta, + valuta, + tarif, + cant, + um, + valval, + tvaval, + totval, + valftva, + valtva, + valctva, + curs + from ips_vvoyage_members_vanzari + where vz_id = ?pnIdVanzare + Endtext + * from ips_vvoyage_members_vanzari3 ia o singura inregistrare din ips_cargoes, ca sa nu faca full scan pe ips_cargoes, dar trebuie cumulata cantitatea de marfa!!! + * trebuie sa salvez cargo in ips_voyage_members_vanzari + + llSucces = goExecutor.oExecuta(m.lcSelect, 'crsVoyageMembers') + + If !m.llSucces + Return + Endif + + * Selectez capacitatea totala a convoiului, nu numai a navelor de pe factura curenta. + * Este posibil sa fac facturi catre clienti diferiti pe un singur convoi. + * Este posibil sa stornez factura si apoi sa o refacturez cu barje cu TCAP corectat + * Daca o barja apare cu mai multe TCAP, din mai multe facturi, iau TCAP de la aceeasi barja de pe factura curenta + Text To lcSql Noshow +Select vye_id, Sum(tcap) As tcap +from (select distinct vye_id, + vms_id, + LAST_VALUE(tcap) OVER(PARTITION BY vms_id ORDER BY fact ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) AS tcap + from (Select vmv.vye_id, + vmv.vms_id, + vmv.tcap, + decode(vv.vz_id, ?pnIdVanzare, 1, 0) as fact + From IPS_VOYAGE_MEMBERS_VANZARI vmv + join IPS_VOYAGES_VANZARI vv + On vmv.vv_id = vv.id + where vmv.vye_id in (SELECT distinct vmv1.vye_id + FROM ips_voyage_members_vanzari vmv1 + join ips_voyages_vanzari vv1 + on vmv1.vv_id = vv1.id + WHERE vv1.vz_id = ?pnIdVanzare))) + GROUP By vye_id + Endtext + * Select vye_id, Sum(tcap) As tcap From crsVoyageMembers Group By vye_id Into Cursor cCapacitateTemp + + llSucces = goExecutor.oExecuta(m.lcSql, 'cCapacitateTemp') + + If !m.llSucces + Use In (Select('crsVoyageMembers')) + Return + Endif + + Select vm.vye_id, ; + vm.armator, ; + vm.declaratio As DECLCDT, ; + vm.origin, ; + vm.destinatio, ; + vm.aviz, ; + vm.data_aviz, ; + vm.convoy_nam As numeconvoi, ; + vm.client, ; + vm.contract_client, ; + (Nvl(vm.intern, 1) = 1) As intern, ; + vm.beneficiar, ; + vm.numar_act As nrfact, ; + vm.data_act As datafact, ; + vm.vv_id, ; + vm.vmv_id, ; + vm.tiprecap, ; + vm.cuplat, ; + vm.kmi, ; + vm.kmf, ; + vm.rte_id, ; + vm.ruta, ; + vm.vms_id, ; + vm.vsl_id, ; + vm.ctt_id, ; + vm.dirty_tank, ; + vm.rstart_id, ; + vm.rfin_id, ; + vm.distanta, ; + vm.distanta_cdmn, ; + vm.contact, ; + vm.indicativ, ; + vm.lbd, ; + vm.trn, ; + vm.hp, ; + vm.tcap, ; + vm.procdiv, ; + vm.VTP_ID, ; + vm.tip_nava, ; + vm.vgrp_id, ; + vm.grupa_nava, ; + vm.felcargo, ; + vm.cargo, ; + vm.gds_id, ; + vm.GRP_ID, ; + vm.grupa_marfa, ; + vm.periculos, ; + vm.corect, ; + vm.procdist, ; + vm.id_valuta, ; + vm.valuta, ; + vm.Curs, ; + vm.tarif, ; + vm.cant, ; + vm.um, ; + vm.valval, ; + vm.TVAVAL, ; + vm.totval, ; + vm.valftva, ; + vm.valtva, ; + vm.valctva, ; + Cast(Nvl(C.tcap, 0) As N(20, 2)) As convoi_t, ; + Cast('' As M) As mod_calcul ; + From crsVoyageMembers vm Join cCapacitateTemp C On vm.vye_id = C.vye_id ; + Order By vm.declaratio, vm.indicativ ; + Into Cursor crsRecapitulatie Readwrite + + Select crsRecapitulatie + Go Top + llIntern = intern + * Total valoare + Select Max(Curs) As Curs, Sum(valval) As valval From crsRecapitulatie Into Cursor crsTotalTemp + Select crsTotalTemp + Go Top + pnTotalValoare = Iif(m.llIntern, Round(crsTotalTemp.valval * crsTotalTemp.Curs, m.gnPC), crsTotalTemp.valval) && intern lei, extern valuta + + Use In (Select('crsTotalTemp')) + + Select Distinct vye_id From crsRecapitulatie Into Cursor cModCalcul + + Select cModCalcul + Scan + lcVyeId = Alltrim(cModCalcul.vye_id) + lcModCalcul = mod_calcul_tranzit('crsRecapitulatie', m.lcVyeId) + Update crsRecapitulatie Set mod_calcul = m.lcModCalcul Where vye_id = m.lcVyeId + Endscan + + Use In (Select('cModCalcul')) + Use In (Select('crsVoyageMembers')) + Use In (Select('cCapacitateTemp')) + + lcRaport = 'recapitulatie_tranzit.frx' + Do listeaza_recapitulatie With 'crsRecapitulatie', m.lcRaport In ofacturare.prg + + Use In (Select('crsRecapitulatie')) +Endproc && listeaza_recapitulatie_tranzit + +******************************************* +*** se apeleaza din recapitulatie_tranzit.frx +*** intorce text cu modul de calcul valoare tranzit +******************************************* +Procedure mod_calcul_tranzit + Lparameters tcTabel, tcVyeId + Local lcModCalcul, llIntern, lnCurs, lnOldDecimals, lcSelect + Local lnValftva, lnValval, lcValuta + lcSelect = Select() + llIntern = .F. + + lcModCalcul = ; + [TARIF * CANT * %DIST * (%COR + %SUPL) = TOTAL ] + Chr(13) + Chr(10) + + lnValval = 0 + lnValftva = 0 + lnOldDecimals = Set("Decimals") + lcValuta = '' + Set Decimals To 4 + Select vye_id, intern, indicativ, tarif, valuta, cant, um, procdist, corect, procdiv, valval, Curs, valftva From (m.tcTabel) Where vye_id = m.tcVyeId Order By indicativ Into Cursor cModCalculTemp + Select cModCalculTemp + Scan + lcModCalcul = lcModCalcul + Alltrim(Transform(tarif, GET_MASK(10, 4))) + [ ] + Allt(valuta) + [ * ] + Allt(Str(cant, 8, 2)) + [ ] + Allt(um) + [ * ] + Allt(Str(procdist, 6, m.gnProcDistPrecizie)) + [ * ] + Allt(Str(corect + procdiv, 5, 3)) + [ = ] + Alltrim(Transform(valval, GET_MASK(16, 2))) + [ ] + Allt(valuta) + llIntern = intern + lnCurs = Curs + If m.llIntern + * nu mai adaug contravaloarea in lei pentru ca totalul nu este suma la valorile individuale in lei, ci este valoarea totala in valuta * curs + *!* lcModCalcul = lcModCalcul + " * " + Alltrim(Str(Curs, 10, gnPcurs)) + " LEI/" + Allt(valuta) + " = " + Alltrim(Transform(valftva, GET_MASK(12, gnPC))) + " LEI" + Endif + lcModCalcul = lcModCalcul + Chr(13) + lnValval = lnValval + valval + lnValftva = lnValftva + valftva + lcValuta = Alltrim(valuta) + Endscan && cModCalculTemp + Use In (Select('cModCalculTemp')) + + lnValftva = Round(m.lnValval * m.lnCurs, m.gnPC) && totalul in lei = total in valuta * curs, nu suma totalurilor in lei + + If m.llIntern + lcModCalcul = lcModCalcul + [TOTAL ] + Alltrim(Transform(lnValval, GET_MASK(13, 2))) + [ ] + Allt(m.lcValuta) + IIF(inlist(UPPER(allt(nvl(m.lcValuta, 'LEI'))), 'LEI', 'RON'), " ", " * " + Alltrim(Str(lnCurs, 10, gnPcurs)) + " LEI/" + Allt(m.lcValuta) + " = " + Alltrim(Transform(lnValftva, GET_MASK(12, gnZ))) + " LEI") + Else + lcModCalcul = lcModCalcul + [TOTAL ] + Alltrim(Transform(lnValval, GET_MASK(14, 2))) + [ ] + Allt(m.lcValuta) + Endif + + Set Decimals To (lnOldDecimals) + Select (m.lcSelect) + Return lcModCalcul + +Endproc && mod_calcul_tranzit + +********************************************* +** Listeaza recapitulatie penalitati apelata din frm_facturi sau din formularul de penalitati, caz in care exista cursorul recapitulatie +********************************************* +Procedure listeaza_recapitulatie_penalitati + Lparameters tlEvaluare, tcTitlu + * tlEvaluare (optional): Default .F., daca se listeaza recapitulatia fara factura, din formularul de calcul. + * tcTitlu (optional), daca se listeaza recapitulatia fara factura, din formularul de calcul + + Private pnIdVanzare, pcTitlu, pnNrFactPenalitati, pdDataFactPenalitati, pnIdFact + Local lcSelect + + lcSelect = Select() + pnIdVanzare = 0 + pcTitlu = Iif(!Empty(m.tcTitlu), m.tcTitlu, '') + pnNrFactPenalitati = 0 + pdDataFactPenalitati = {} + pnIdFact = 0 + + If !m.tlEvaluare + pnIdVanzare = poDate.nid_vanzare + + poLog.Log('id_vanzare=' + Alltrim(Str(Nvl(m.pnIdVanzare, 0))), 'listeaza_recapitulatie_penalitati') + + lcSql = [select v.id_fact, v.numar_act, v.data_act, p.denumire from vanzari v join nom_parteneri p on v.id_part = p.id_part WHERE v.id_vanzare = ?pnIdVanzare] + llSucces = goExecutor.oExecuta(m.lcSql, 'cFacturaRTemp') + If m.llSucces + Select cFacturaRTemp + Go Top + pnIdFact = id_fact + pnNrFactPenalitati = cFacturaRTemp.numar_act + pdDataFactPenalitati = Ttod(cFacturaRTemp.data_act) + pcTitlu = 'Situatia calculului penalitatilor de intarziere la ' + Alltrim(Transform(pdDataFactPenalitati)) + Chr(13) + Chr(10) + ' pentru ' + Alltrim(cFacturaRTemp.denumire) + Endif && llSucces + Use In (Select('cFacturaRTemp')) + + Text To lcSql Noshow + select id, + id_ctr, + contract, + id_part, + denumire as nume, + cod_fiscal, + nrfact, + datafact, + valctva, + nract, + dataact, + suma, + databaza, + dataref, + coef_penalitati as ppenzi, + coef_penalitati2 as ppenzi2, + nr_zile, + nr_zile1, + nr_zile2, + nr_zile_gratie, + penalitati, + datascad + from vpenalitati + where id_fact_pen = ?pnIdFact + Endtext + + llSucces = goExecutor.oExecuta(m.lcSql, 'crsRecapitulatie') + Endif + + + If Used('crsRecapitulatie') + Select crsRecapitulatie + lcRaport = 'recapitulatie_penalitati.frx' + Do listeaza_recapitulatie With 'crsRecapitulatie', m.lcRaport In ofacturare.prg + Use In (Select('crsRecapitulatie')) + Endif + Select (m.lcSelect) +Endproc && listeaza_recapitulatie_penalitati + +Procedure listeaza_recapitulatie_alte + + Private pnIdVanzare, pcValoareValute, pcCursValute + pcValoareValute = '' + pcCursValute = '' + + pnIdVanzare = poDate.nid_vanzare + poLog.Log('id_vanzare=' + Alltrim(Str(Nvl(m.pnIdVanzare, 0))), 'listeaza_recapitulatie_alte') + + Text To lcSelect Textmerge Noshow +select id, + id_vanzare, + tip, + id_articol, + articol, + id_locatia, + locatia, + id_valuta, + valuta, + moneda_nationala, + id_client, + client, + id_contract, + contract as contract_client, + pret as tarif, + curs, + cantitate, + valval, + valftva, + um, + document, + data, + perioada, + numar_act as nrfact, + data_act as datafact, + ctdebitor, + ctaideb, + ctaedeb, + ctcreditor, + ctaicred, + ctaecred + from ips_vregdoc + where id_vanzare = ?pnIdVanzare + order by id + Endtext + + llSucces = goExecutor.oExecuta(m.lcSelect, 'crsRecapitulatie') + + If !m.llSucces + Return + Endif + + * pcValoareValute - il scriu la total in raport + Select valuta, moneda_nationala, Curs, Sum(valval) As valval From crsRecapitulatie Group By valuta, Curs, moneda_nationala Order By moneda_nationala Desc, valuta Into Cursor cTotalTemp + + * daca nu are alte valute decat lei, nu il mai scriu + Select cTotalTemp + Locate For moneda_nationala = 0 + If Found() + Scan + pcValoareValute = pcValoareValute + ', ' + Alltrim(Str(valval, 16, m.gnPC)) + ' ' + Alltrim(valuta) + If moneda_nationala = 0 + pcCursValute = pcCursValute + ', ' + Alltrim(Str(Curs, 12, m.gnPcurs)) + " LEI/" + Alltrim(valuta) + Endif + Endscan + If !Empty(m.pcValoareValute) + pcValoareValute = Alltrim(Substr(m.pcValoareValute, 2)) + pcCursValute = Alltrim(Substr(m.pcCursValute, 2)) + Endif + Endif + Use In (Select('cTotalTemp')) + + Select crsRecapitulatie + lcRaport = 'recapitulatie_alte.frx' + Do listeaza_recapitulatie With 'crsRecapitulatie', m.lcRaport In ofacturare.prg + + Use In (Select('crsRecapitulatie')) +Endproc && listeaza_recapitulatie_alte + + +*------------------------------------- +* meniu suplimentar pentru butonul Borderou din frm_facturi +Procedure meniu_borderou_plus + Lparameters tcListaMeniu, tcListaProceduri + * tcListaMeniu: titlurile optiunilor din meniu separate prin | + * tcListaProceduri: numele procedurilor corespunzatoare optiunilor din meniu separate prin | + * Procedurile primesc ca parametru tcVanzareIds (lista id_vanzare) si intorc llSucces + Local lnNumarOptiuni + lnNumarOptiuni = 1 + tcListaMeniu = 'Copiere declaratii comandant si istorice cheiaj in directorul cu facturi' + tcListaProceduri = 'CopyDeclCdtPdf' + + Return lnNumarOptiuni +Endproc && meniu_borderou_plus + +*------------------------------------- +* Copie (muta) declaratii comandant si istoricele de cheiaj pdf in directorul facturi pdf si redenumeste declaratiile cu data_nr_factura_declaratie.pdf +* Nu suprascrie +* Pentru a fi atasate la emailul cu borderou facturi +Procedure CopyDeclCdtPdf + Lparameters tcVanzareIds + * tcVanzareIds: lista id_vanzare facturi + + Local lcDeclPath, lcDeclaratie, lcDeclaratiiCopiate, lcDeclaratiiNecopiate, lcDeclaratiiNuExista, lcDeclaratiiExistaDeja + Local lcDestinationFile, lcFacturaPath, lcFacturaPdf, lcSourceFile, lcSql, lcSufixDecl + Local ldDataFactura, llSucces, lnNumarFactura, lnPos, lcCursor, lcSelect + lcSelect = Select() + lcDeclaratiiCopiate = '' + lcDeclaratiiNecopiate = '' + lcDeclaratiiNuExista = '' + lcDeclaratiiExistaDeja = '' + + llSucces = .T. + lcSufixDecl = 'DEC' + + lcDeclPath = GetDocumentPath('declcdt') && [pdf_declcdt_acn] + lcFacturaPath = GetDocumentPath('factura') && [pdf_factura_acn] + + If Empty(m.lcDeclPath) Or !Directory(m.lcDeclPath) + amessagebox('Directorul declaratii/istorice: ' + m.lcDeclPath + ' nu exista!') + llSucces = .F. + Endif + If Empty(m.lcFacturaPath) Or !Directory(m.lcFacturaPath) + amessagebox('Directorul facturi: ' + m.lcFacturaPath + ' nu exista!') + llSucces = .F. + Endif + + If Empty(m.tcVanzareIds) + amessagebox('Selectati facturile de tranzit/cheiaj pentru care doriti sa copiati declaratiile/istoricele!', 0 + 48, _Screen.Caption) + Return m.llSucces + Endif + + * Selectez facturi, declaratii pentru tip_factura 0 = tranzit, , document stationare pentru tip_factura 1 = cheiaj + Text To lcSql Textmerge Noshow +SELECT V.DATA_ACT, V.NUMAR_ACT, VYE.DECLARATIO AS DECLCDT, V.TIP_FACTURA, VV.DOCUMENT as ISTORIC, COUNT(*) OVER (PARTITION BY V.TIP_FACTURA, VYE.DECLARATIO) AS NR + FROM VANZARI V JOIN IPS_VOYAGES_VANZARI VV ON V.ID_VANZARE = VV.VZ_ID JOIN IPS_VOYAGES VYE ON VV.VYE_ID = VYE.ID + WHERE V.ID_VANZARE IN (<>) AND V.TIP_FACTURA IN (0,1) + ORDER BY V.DATA_ACT, V.NUMAR_ACT + Endtext + lcCursor = Sys(2015) + + If m.llSucces + llSucces = goExecutor.oExecuta(m.lcSql, m.lcCursor) + Endif && llSucces + + If m.llSucces + If Reccount(m.lcCursor) = 0 + amessagebox('Nu exista rezultate. Alegeti facturi de tranzit!', 0 + 48, _Screen.Caption) + llSucces = .F. + Endif + Endif + + If m.llSucces + * O declaratie poate aparea pe mai multe facturi + * Sterg declaratia pdf doar dupa ce am copiat declaratia pentru toate facturile + Select Distinct Upper(DECLCDT) As DECLCDT, nr From (m.lcCursor) Into Cursor cDeclTemp Readwrite + Select cDeclTemp + Index On DECLCDT Tag DECLCDT + + Select Distinct Upper(istoric) As istoric, nr From (m.lcCursor) Into Cursor cIstoricTemp Readwrite + Select cIstoricTemp + Index On istoric Tag istoric + + * Scanez cursorul cu facturi si copiez fiecare declaratie din directorul declaratii in directorul facturi cu redenumirea declaratiei + Select (m.lcCursor) + Scan + ldDataFactura = Ttod(data_act) + lnNumarFactura = numar_act + lcDeclaratie = Upper(Alltrim(DECLCDT)) && 20A0041 + lcIstoric = Upper(Alltrim(istoric)) + lnTipFactura = tip_factura + + lcFacturaPdf = GetPDFFacturaFile(m.ldDataFactura, m.lnNumarFactura) && 20200410_123456_factura.pdf + lnPos = At('_', Juststem(m.lcFacturaPdf), 2) && caut a doua aparitie a '_' din 20200410_123456_factura + If m.lnTipFactura = 0 + lcDestinationFileName = Left(Juststem(m.lcFacturaPdf), m.lnPos) + 'dec_' + m.lcDeclaratie + '.pdf' && 20200410_123456_dec_20A0041.pdf + lcSourceFile = Addbs(m.lcDeclPath) + m.lcDeclaratie + '.pdf' && 20A0041.pdf + Else + lcDestinationFileName = Left(Juststem(m.lcFacturaPdf), m.lnPos) + 'ist_' + m.lcIstoric + '.pdf' && 20200410_123456_ist_20M271.pdf + lcSourceFile = Addbs(m.lcDeclPath) + m.lcIstoric + '.pdf' && 20M271.pdf + Endif + + lcDestinationFile = Addbs(m.lcFacturaPath) + m.lcDestinationFileName + + If goApp.FileExist(m.lcSourceFile) + llCopie = .T. + If goApp.FileExist(m.lcDestinationFile) + llCopie = (amessagebox('Exista fisierul ' + m.lcDestinationFile + Chr(13) + 'Doriti sa il suprascrieti?', 4 + 32, _Screen.Caption) = 6) + Endif + If m.llCopie + llSucces = goApp.CopyFile(m.lcSourceFile, m.lcDestinationFile) && override + Else + llSucces = .T. + Endif + If m.llSucces + If m.lnTipFactura = 0 + * Sterg declaratia pdf daca a fost ultima aparitie a declaratiei pe o factura + Select cDeclTemp + If Seek(m.lcDeclaratie) + Replace nr With nr - 1 + If nr = 0 + llSucces = goApp.DeleteFile(m.lcSourceFile) + Endif + Endif + Else + * Sterg istoric pdf daca a fost ultima aparitie a declaratiei pe o factura + Select cIstoricTemp + If Seek(m.lcIstoric) + Replace nr With nr - 1 + If nr = 0 + llSucces = goApp.DeleteFile(m.lcSourceFile) + Endif + Endif + Endif + + lcDeclaratiiCopiate = lcDeclaratiiCopiate + Justfname(m.lcSourceFile) + ' - ' + Justfname(m.lcDestinationFile) + Chr(13) + Chr(10) + Else + lcDeclaratiiNecopiate = lcDeclaratiiNecopiate + Justfname(m.lcSourceFile) + Chr(13) + Chr(10) + Endif + Else + * Daca nu exista deja in destinatie de la o copiere anterioara declar declaratia ca nu exista + If goApp.FileExist(m.lcDestinationFile) + lcDeclaratiiExistaDeja = m.lcDeclaratiiExistaDeja + Justfname(m.lcDestinationFile) + Chr(13) + Chr(10) + Else + lcDeclaratiiNuExista = m.lcDeclaratiiNuExista + Justfname(m.lcSourceFile) + Chr(13) + Chr(10) + Endif + Endif + Endscan && lcCursor + Use In (Select(m.lcCursor)) + Use In (Select('cDeclTemp')) + Use In (Select('cIstoricTemp')) + Endif && llSucces + + amessagebox('Declaratii/istorice copiate din ' + m.lcDeclPath + ' in ' + m.lcFacturaPath + ':' + Chr(13) + Chr(10) + m.lcDeclaratiiCopiate + Chr(13) + Chr(10) + Chr(13) + Chr(10) + ; + 'Declaratii/istorice necopiate (eroare) din ' + m.lcDeclPath + ' in ' + m.lcFacturaPath + ':' + Chr(13) + Chr(10) + m.lcDeclaratiiNecopiate + Chr(13) + Chr(10) + Chr(13) + Chr(10) + ; + 'Declaratii/istorice care nu exista in ' + m.lcDeclPath + ':' + Chr(13) + Chr(10) + m.lcDeclaratiiNuExista + Chr(13) + Chr(10) + Chr(13) + Chr(10) + ; + 'Declaratii/istorice existente deja in ' + m.lcFacturaPath + ':' + Chr(13) + Chr(10) + m.lcDeclaratiiExistaDeja, 0 + 64, _Screen.Caption) + + Select (m.lcSelect) + + llSucces = Empty(m.lcDeclaratiiNecopiate) + Return m.llSucces +Endproc && CopyDeclCdtPdf \ No newline at end of file diff --git a/Programe/proceduri_acnpro_rapoarte.prg b/Programe/proceduri_acnpro_rapoarte.prg new file mode 100644 index 0000000..fce72e7 --- /dev/null +++ b/Programe/proceduri_acnpro_rapoarte.prg @@ -0,0 +1,1253 @@ +#Define TIP_TRANZIT 'TRANZIT' +#Define TIP_CHEIAJ 'CHEIAJ' +#Define TIP_APA 'APA' +#Define TIP_CHIRII 'CHIRII' +#Define TIP_PILOTAJ 'PILOTAJ' +#Define TIP_ALTE 'ALTE' +#Define TIP_PENALITATI 'PENALITATI' +#Define TIP_DIVERSE 'DIVERSE' + +#Define NTIP_TRANZIT 0 +#Define NTIP_CHEIAJ 1 +#Define NTIP_APA 2 +#Define NTIP_CHIRII 3 +#Define NTIP_PILOTAJ 4 +#Define NTIP_ALTE 5 +#Define NTIP_PENALITATI 6 +#Define NTIP_DIVERSE 9 + +*!* 08.07.2020 +*!* Raport1_Concordanta se verifica diferentele registru documente pe locatii - contabilitate la nivel de document si conturi + +*!* 24.11.2022 +*!* GET_DATE_VENITURI - situatie venituri tranzit. la facturile cu valoare -, scad si indicatorii fizici. + +*!* 19.08.2024 +*!* GET_DATE_VENITURI - situatie venituri cheiaj - corectare UM LBD/LBP + +******************************************************************************* +*** concordanta facturi comercial-contabilitate zilnic (numar facturi, valoare) +******************************************************************************* +Procedure Raport1_Concordanta + Local lcAn, lcLuna, lcRaport, lcSqlAct, lcSqlComercial, lcSqlNotInAct, lcSqlNotInComercial + Local lcSqlTVAAct, lcSqlTVAComercial, lcSqlVanzariSterse, lcdata, ldDataI, llSucces, lnAn, lnLuna + Local lnNrfact2, lnUltimazi, lnZi, lnvalftvaE_tot, lnvalftvaI_tot, lnvalftva_tot + Local lnvaltva_tot, lnvalftvacont_tot, lnvaltvacont_tot, loCom + Private pdData, pdData1, pdData2, pnTVA, pnTVARJ + + lnAn = Int(m.gnAn) + lnLuna = Int(m.gnLuna) + lcAn = Alltrim(Str(m.lnAn)) + lcLuna = Padl(m.lnLuna, 2, '0') + + lcdata = '01/' + lcLuna + '/' + lcAn + ldDataI = Date(m.lnAn, m.lnLuna, 1) + pdData = m.ldDataI + lnUltimazi = Day(Gomonth(ldDataI, 1) - 1) + pdData1 = Date(m.gnAn, m.gnLuna, 1) + pdData2 = Gomonth(m.pdData1, 1) - 1 + + lnvalftva_tot = 0 + lnvalftvaI_tot = 0 + lnvalftvaE_tot = 0 + lnvaltva_tot = 0 + lnvalftvacont_tot = 0 + lnvaltvacont_tot = 0 + + lcRaport = gcTempPath + [raport_] + Sys(2) + [.txt] + lcRaportXls = Forceext(m.lcRaport, 'xls') + + CREATE CURSOR cFacturiTemp (ddata T NULL, nrfact1 I NULL, nrfact2 I NULL, ; + valftvai1 N(20,2) NULL, valftvae1 N(20,2) NULL, ; + valftva1 N(20,2) NULL, valftva2 N(20,2) NULL, difvalftva N(20,2) NULL, ; + valtva1 N(20,2) NULL, valtva2 N(20,2) NULL, difvaltva N(20,2) NULL, ; + nract I NULL, nract1 I NULL, nract2 I NULL, dataact1 D NULL, dataact2 D NULL, ; + client C(100) NULL, tip_factura C(100) NULL, ; + cont C(4) NULL, acont C(4) NULL, suma1 N(20,2) NULL, suma2 N(20,2) NULL, difcont N(20,2) NULL) + + * Facturi din Vanzari si din Act + TEXT TO lcSqlVanzariAct TEXTMERGE NOSHOW + select nvl(v.ddata, a.ddata) as ddata, + nvl(v.nract, a.nract) as nract, + v.client, + v.ddata as dataact1, + a.ddata as dataact2, + v.nract as nract1, + a.nract as nract2, + v.valftvai1, + v.valftvae1, + v.valftva1, + a.valftva2, + nvl(v.valftva1,0) - nvl(a.valftva2,0) as difvalftva, + v.valtva1, + a.valtva2, + nvl(v.valtva1,0) - nvl(a.valtva2,0) as difvaltva from +(Select numar_act as nract, data_act as ddata, p.denumire as client, + Sum(total_fara_tva) As valftva1, + Sum(total_tva) As valtva1, + SUM(case + when in_valuta = 0 then + total_fara_tva + else + 0 + end) As valftvai1, + Sum(case + when in_valuta = 1 then + total_fara_tva + else + 0 + end) As valftvae1 + FROM vanzari vz join nom_parteneri p on vz.id_part = p.id_part + WHERE vz.data_act between ?pdData1 and ?pdData2 + and vz.sters = 0 + GROUP by vz.numar_act, vz.data_act, p.denumire) v +full join (select nract, ddata, sum(baza) as valftva2, sum(tva) as valtva2 + from (Select dataact as ddata, nract, sum(decode(scc, '4427', 0, suma)) as baza, sum(decode(scc, '4427', suma, 0)) as tva + FROM act + WHERE an = ?gnAn + and luna = ?gnLuna + and sters = 0 + and id_set = 50200 + and to_char(nract) || '/' || + to_char(dataact, 'yyyymmdd') In + (Select to_char(numar_act) || '/' || to_char(data_act, 'yyyymmdd') + FROM vanzari + WHERE data_act between ?pdData1 and ?pdData2 + and sters = 0) + group by dataact, nract) + group by nract, ddata) a + on v.ddata = a.ddata and v.nract = a.nract + order by 1,2 + ENDTEXT + + * Selectie din Vanzari si Act pe zile + Wait Window 'Selectie facturi si valori...' Nowait + llSucces = goExecutor.oExecuta(m.lcSqlVanzariAct, 'cFacturiTemp2') + + + * Centralizez valorile pe zile + Select ddata, ; + SUM(Iif(!Empty(Nvl(nract1, 0)), 1, 0)) As nrfact1, ; + SUM(Iif(!Empty(Nvl(nract2, 0)), 1, 0)) As nrfact2, ; + SUM(valftvai1) As valftvai1, ; + SUM(valftvae1) As valftvae1, ; + SUM(valftva1) As valftva1, ; + SUM(valftva2) As valftva2, ; + SUM(difvalftva) As difvalftva, ; + SUM(valtva1) As valtva1, ; + SUM(valtva2) As valtva2, ; + SUM(difvaltva) As difvaltva, ; + CAST(Null As N(20)) As nract, ; + CAST(Null As N(20)) As nract1, ; + CAST(Null As N(20)) As nract2, ; + CAST(Null As D) As dataact1, ; + CAST(Null As D) As dataact2, ; + CAST(Null As C(100)) As client, ; + CAST(Null As C(100)) As tip_factura ; + from cFacturiTemp2 ; + group By 1 ; + order By 1 ; + into Cursor cFacturiTemp3 + + SELECT cFacturiTemp + APPEND FROM DBF('cFacturiTemp3') + USE IN (SELECT('cFacturiTemp3')) + + * Selectez facturile cu diferente comercial-contabilitate + Select C.*, 'Diferente Comercial - Contabilitate' As tip_factura ; + FROM cFacturiTemp2 C ; + WHERE Nvl(valftva1, 0) <> Nvl(valftva2, 0) Or Nvl(valftva2, 0) <> Nvl(valftva2, 0) ; + ORDER By ddata, nract ; + INTO Cursor cFacturiDifTemp + + Select cFacturiTemp + Append From Dbf('cFacturiDifTemp') + Use In (Select('cFacturiDifTemp')) + Use In (Select('cFacturiTemp2')) + + *** Facturi sterse din Vanzari, care nu sunt refacute cu acelasi numar si data + TEXT TO lcSqlVanzariSterse TEXTMERGE NOSHOW +Select distinct v.numar_act as nract, + 'Sterse' as tip_factura + FROM vanzari v + WHERE v.data_act between ?pdData1 and ?pdData2 And v.sters = 1 + and v.numar_act Not In + (Select numar_act + FROM vanzari + WHERE data_act between ?pdData1 and ?pdData2 And sters = 0) + order by v.numar_act + ENDTEXT + + Wait Window 'Selectie facturi sterse din comercial...' Nowait + llSucces = goExecutor.oExecuta(m.lcSqlVanzariSterse, 'cFacturiSterseTemp') + + Select cFacturiTemp + Append From Dbf('cFacturiSterseTemp') + Use In (Select('cFacturiSterseTemp')) + + + *** facturi cu diferente pe conturi din Regdoc fata de contabilitate + TEXT TO lcSqlRegdocAct TEXTMERGE NOSHOW +select nvl(a1.dataact, a2.dataact) as ddata, + nvl(a1.nract, a2.nract) as nract, + nvl(a1.denumire, p2.denumire) as client, + NVL(a1.cont, a2.cont) as cont, + NVL(a1.acont, a2.acont) as acont, + a1.suma as suma1, + a2.suma as suma2, + nvl(a2.suma, 0) - nvl(a1.suma, 0) as difcont, + 'Diferente Reg. Documente - Contabilitate' as tip_factura + from (select a11.id_fact, + a11.nract, + a11.dataact, + p.denumire, + decode(e1.exceptie, 1, a11.scd, a11.scc) as cont, + decode(e1.exceptie, 1, a11.ascd, a11.ascc) as acont, + sum(decode(e1.exceptie, 1, -a11.suma, a11.suma)) as suma + from (select v.id_fact, + v.id_part, + v.numar_act as nract, + v.data_act as dataact, + trim(decode(r.tip, 6, pl.ctpideb, pl.ctdebitor)) as scd, + trim(decode(r.tip, + 6, + pl.ctapideb, + decode(v.in_valuta, + 1, + pl.ctaedeb, + pl.ctaideb))) as ascd, + trim(decode(r.tip, 6, pl.ctpicred, pl.ctcreditor)) as scc, + trim(decode(r.tip, + 6, + pl.ctapicred, + decode(v.in_valuta, + 1, + pl.ctaecred, + pl.ctaicred))) as ascc, + r.valftva as suma + from ips_regdoc r + join vanzari v + on r.id_vanzare = v.id_vanzare + left join ips_prestatii_locatii pl + on r.id_articol = pl.id_articol + and r.id_locatia = pl.id_locatia + where extract(year from v.data_act) = ?gnAn + and extract(month from v.data_act) = ?gnLuna + and v.sters = 0) a11 + LEFT JOIN (SELECT DISTINCT 1 AS EXCEPTIE, + DECODE(DEBIT, 1, CONT_C, CONT) AS SCD, + DECODE(DEBIT, 1, CONT, CONT_C) AS SCC + FROM EXCEPTII_IREG + WHERE INVERS = 1) e1 + ON trim(a11.scd) = trim(e1.scd) + AND trim(a11.scc) = trim(e1.scc) + left join nom_parteneri p + on a11.id_part = p.id_part + group by a11.id_fact, + a11.nract, + a11.dataact, + p.denumire, + decode(e1.exceptie, 1, a11.scd, a11.scc), + decode(e1.exceptie, 1, a11.ascd, a11.ascc)) a1 + full join (select a.id_fact, + a.nract, + a.dataact, + decode(e.exceptie, 1, a.id_partc, a.id_partd) as id_part, + decode(e.exceptie, 1, a.scd, a.scc) as cont, + decode(e.exceptie, 1, a.ascd, a.ascc) as acont, + sum(decode(e.exceptie, 1, -a.suma, a.suma)) as suma + from act a + LEFT JOIN (SELECT DISTINCT 1 AS EXCEPTIE, + DECODE(DEBIT, 1, CONT_C, CONT) AS SCD, + DECODE(DEBIT, 1, CONT, CONT_C) AS SCC + FROM EXCEPTII_IREG + WHERE INVERS = 1) E + ON trim(A.SCD) = trim(E.SCD) + AND trim(A.SCC) = trim(E.SCC) + where a.an = ?gnAn + and a.luna = ?gnLuna + and a.sters = 0 + and a.id_Set = 50200 + AND a.scc not in ('4427', '4428') + group by a.id_fact, + a.nract, + a.dataact, + decode(e.exceptie, 1, a.id_partc, a.id_partd), + decode(e.exceptie, 1, a.scd, a.scc), + decode(e.exceptie, 1, a.ascd, a.ascc)) a2 + on (a1.id_fact = a2.id_fact and a1.nract = a2.nract and + a1.dataact = a2.dataact and trim(a1.cont) = trim(a2.cont) and + trim(nvl(a1.acont, 'x')) = trim(nvl(a2.acont, 'x'))) + left join nom_parteneri p2 + on a2.id_part = p2.id_part + where abs(nvl(a1.suma, 0) - nvl(a2.suma, 0)) > 0.05 + order by 1, 2 +ENDTEXT + + * Selectie din Regdoc si Act pe zile si conturi + Wait Window 'Selectie Reg. Documente si valori...' Nowait + llSucces = goExecutor.oExecuta(m.lcSqlRegdocAct, 'cFacturiTemp4') + + Select cFacturiTemp + Append From Dbf('cFacturiTemp4') + USE IN (SELECT('cFacturiTemp4')) + + *********************************** + Set Textmerge On To (lcRaport) Noshow + Select cFacturiTemp + Scan For Isnull(tip_factura) + pdData = Ttod(ddata) + + lnvalftva_tot = lnvalftva_tot + valftva1 + lnvalftvaI_tot = lnvalftvaI_tot + valftvai1 + lnvalftvaE_tot = lnvalftvaE_tot + valftvae1 + lnvaltva_tot = lnvaltva_tot + valtva1 + lnvalftvacont_tot = lnvalftvacont_tot + valftva2 + lnvaltvacont_tot = lnvaltvacont_tot + valtva2 + + \zi: <> <> + \Nr. fact. comercial : <> + \Nr. fact. contabilitate : <> + \Val. fara TVA comercial INTERN : <> + \Val. fara TVA comercial EXTERN : <> + \Val. fara TVA comercial TOTAL : <> + \Val. fara TVA contabilitate TOTAL : <> <> + \Val. TVA comercial : <> + \Val. TVA contabilitate : <> <> + \------------------------------------------------------------------------- + Endscan + \ + \ + \TOTAL PERIOADA + \Val. fara TVA comercial INTERN : <> + \Val. fara TVA comercial EXTERN : <> + \Val. fara TVA comercial TOTAL : <> + \Val. fara TVA contabilitate TOTAL : <> <> + \Val. TVA comercial : <> + \Val. TVA contabilitate : <> <> + \------------------------------------------------------------------------- + + * Facturile cu diferente din Vanzari care nu sunt in Registrul Jurnal + Wait Window 'Facturi cu diferente Comercial - Contabilitate...' Nowait + \ + \Facturi cu diferente in comercial fata de contabilitate in perioada <> - <> + Sele cFacturiTemp + Scan For Alltrim(tip_factura) = 'Diferente Comercial - Contabilitate' + \Nr. fact. <> Data fact. <> Client <> + \Val. fara TVA comercial : <> + \Val. fara TVA contabilitate : <> <> + \Val. TVA comercial : <> + \Val. TVA contabilitate : <> <> + Endscan + + * Facturi sterse + \ + \ + \Numere de facturi sterse in comercial si nereutilizate in perioada <> - <> + Sele cFacturiTemp + Scan For Alltrim(tip_factura) = 'Sterse' + \Nr. fact. <> + Endscan + + * Facturile cu diferente Reg. documente pe locatii fata de Contabilitate pe conturi + Wait Window 'Facturi cu diferente Reg. Documente pe locatii - Contabilitate...' Nowait + \ + \Facturi cu diferente Reg. Documente pe locatii fata de contabilitate in perioada <> - <> + Sele cFacturiTemp + Scan For Alltrim(tip_factura) = 'Diferente Reg. Documente - Contabilitate' + \Nr. fact: <> Data fact: <> Client: <> + \\ Cont: <> ; Contabilitate: <> + \\ - Reg. Doc: <> + \\ = Diferenta: <> + Endscan + + Set Textmerge To + + Select Ttod(ddata) As Data, ; + nrfact1 As nr_facturi_com, ; + nrfact2 As nr_facturi_cont, ; + valftvai1 As valoare_fara_tva_int_com, ; + valftvae1 As valoare_fara_tva_ext_com, ; + valftva1 As valoare_fara_tva_com, ; + valftva2 As valoare_fara_tva_cont, ; + difvalftva As diferenta_valoare_fara_tva, ; + valtva1 As valoare_tva_com, ; + valtva2 As valoare_tva_cont, ; + difvaltva As diferenta_valoare_tva, ; + PADR(ALLTRIM(NVL(cont, '')) + IIF(!EMPTY(NVL(acont,'')), '.' + ALLTRIM(acont), ''), 10, ' ') as cont, ; + suma1 as regdoc_suma, ; + suma2 as conta_suma, ; + difcont as diferenta_regdoc_conta, ; + nract, Ttod(ddata) As dataact, client, tip_factura ; + FROM cFacturiTemp ; + INTO Cursor cFacturiXLS + + Select cFacturiXLS + Copy To (lcRaportXls) Type Xl5 + + Use In (Select('cFacturiTemp')) + Use In (Select('cFacturiXLS')) + + + open_default_app(m.lcRaport) + open_default_app(m.lcRaportXls) + + *!* lcRun = [run /N notepad.exe "] + lcRaport + ["] + *!* &lcRun + +Endproc +&& --SFARSIT: Raport1_Concordanta -- + +********************************* +*** Lanseaza formularul frm_situatie_venituri +********************************* +Procedure situatii_venituri + loSituatieVenituri = Createobject("frm_situatii_venituri") + loSituatieVenituri.Show(1) +Endproc && situatii_venituri + +Procedure GET_DATE_VENITURI + Parameters toDate, tcTabel, tcColoane + * tcTabel OUT: numele cursorului rezultat + * tcColoane OUT: lista coloane din cursorul rezultat, separate prin | + + * tnTip: 0 = TRANZIT, 1 = CHEIAJ, 2 = ALTE (NU SE MAI FOLOSESTE), 3 = CHIRII, 4 = PILOTAJ (NU SE MAI FOLOSESTE), 5 = APA, 6 = PENALITATI, 9 = DIVERSE + * toDate.nNrRaport: numarul situatiei de venituri + * toDate.dData1, toDate.dData2: perioada pentru raport + * toDate.nIdClient, toDate.nIdCtrClient (OPTIONAL): id contract client, daca se doreste raportul pentru un singur contract + + Local lcPrestatia, lcSql, lcValfTVA, ldData1, llSucces, lnNrRaport, lnTip, lnTotalCumulat, lnvaloare + *:Global B, I, LCFIELD, LPRESTATIA, NVENITURI, OClient, OTOTAL, T, X, pdData1, pdData2, pnIdClient + *:Global pnIdCtrClient, taHeader[1] + lnTip = toDate.nTip + lnNrRaport = toDate.nNrRaport + pdData1 = toDate.dData1 + pdData2 = toDate.dData2 + pnIdClient = Nvl(toDate.nIdClient, 0) + pnIdCtrClient = Nvl(toDate.nIdCtrClient, 0) + + Do Case + Case m.lnTip = NTIP_TRANZIT And m.lnNrRaport = 3 && TRANZIT: CLIENT,INT/EXT, CAP., TRN, CP, LBP + + TEXT TO lcSql TEXTMERGE NOSHOW +SELECT p1.denumire As client, + c.numar as contract, + p2.denumire as beneficiar, + decode(v.in_valuta, 1, 0, 1) as intern, + vmv.um as ct, + ROUND(sum(SIGN(vmv.valftva)*vmv.quantity),0) as cargo, + ROUND(sum(case when vmv.um = 'TON' then SIGN(vmv.valftva)*vmv.tcap else 0 end),0) as tcap, + ROUND(sum(case when vmv.um = 'TRN' then SIGN(vmv.valftva)*vmv.trn else 0 end),0) as trn, + ROUND(sum(case when vmv.um = 'LBD' then SIGN(vmv.valftva)*vmv.lbd else 0 end),0) as lbd, + ROUND(sum(case when vmv.um = 'HP' then SIGN(vmv.valftva)*vmv.hp else 0 end),0) as hp, + ROUND(sum(vmv.valval),0) as valval, + ROUND(sum(vmv.valftva),0) as valftva + From vanzari v + join ips_voyages_vanzari vv + on v.id_vanzare = vv.vz_id + join ips_voyage_members_vanzari vmv on vv.id = vmv.vv_id + join nom_parteneri p1 + on v.id_part = p1.id_part + left join nom_parteneri p2 + on v.id_beneficiar = p2.id_part + left join contracte c + on v.id_ctr = c.id_ctr + Where v.data_act between ?pdData1 and ?pdData2 and v.tip_factura = <> <> <> + Group By p1.denumire, c.numar, p2.denumire, v.in_valuta, vmv.um + Order By 1, 2, 3, 4, 5 + ENDTEXT + + tcTabel = "cRaportTranzit" + tcColoane = [Client|Client ctr.|Beneficiar|Intern|UM|Cargo|CAP|TRN|LBD|HP|Valoare valuta|Valoare lei] + llSucces = goExecutor.oExecuta(m.lcSql, m.tcTabel) + + Case m.lnTip = NTIP_CHEIAJ And m.lnNrRaport = 5 && CHEIAJ: 3 = Clienti - venituri pe locatii (lei) + TEXT TO lcSql TEXTMERGE NOSHOW +SELECT p1.denumire As client, v.id_part as client_id, + Round(Sum(CASE WHEN r.id_locatia = 5 and v.in_valuta = 1 THEN r.valftva ELSE 0 END), 0) As P1, + Round(Sum(CASE WHEN r.id_locatia = 5 and v.in_valuta = 0 THEN r.valftva ELSE 0 END), 0) As P2, + Round(Sum(CASE WHEN r.id_locatia = 1 and v.in_valuta = 1 THEN r.valftva ELSE 0 END), 0) As P3, + Round(Sum(CASE WHEN r.id_locatia = 1 and v.in_valuta = 0 THEN r.valftva ELSE 0 END), 0) As P4, + Round(Sum(CASE WHEN r.id_locatia = 4 and v.in_valuta = 1 THEN r.valftva ELSE 0 END), 0) As P5, + Round(Sum(CASE WHEN r.id_locatia = 4 and v.in_valuta = 0 THEN r.valftva ELSE 0 END), 0) As P6, + Round(Sum(CASE WHEN r.id_locatia = 2 and v.in_valuta = 1 THEN r.valftva ELSE 0 END), 0) As P7, + Round(Sum(CASE WHEN r.id_locatia = 2 and v.in_valuta = 0 THEN r.valftva ELSE 0 END), 0) As P8, + Round(Sum(CASE WHEN r.id_locatia = 3 and v.in_valuta = 1 THEN r.valftva ELSE 0 END), 0) As P9, + Round(Sum(CASE WHEN r.id_locatia = 3 and v.in_valuta = 0 THEN r.valftva ELSE 0 END), 0) As P10, + Round(Sum(CASE WHEN r.id_locatia = 6 and v.in_valuta = 1 THEN r.valftva ELSE 0 END), 0) As P11, + Round(Sum(CASE WHEN r.id_locatia = 6 and v.in_valuta = 0 THEN r.valftva ELSE 0 END), 0) As P12, + Round(Sum(CASE WHEN r.id_locatia = 7 and v.in_valuta = 1 THEN r.valftva ELSE 0 END), 0) As P13, + Round(Sum(CASE WHEN r.id_locatia = 7 and v.in_valuta = 0 THEN r.valftva ELSE 0 END), 0) As P14, + Round(Sum(CASE WHEN r.id_locatia = 23 and v.in_valuta = 1 THEN r.valftva ELSE 0 END), 0) As P15, + Round(Sum(CASE WHEN r.id_locatia = 23 and v.in_valuta = 0 THEN r.valftva ELSE 0 END), 0) As P16, + Round(Sum(CASE WHEN r.id_locatia = 26 and v.in_valuta = 1 THEN r.valftva ELSE 0 END), 0) As P17, + Round(Sum(CASE WHEN r.id_locatia = 26 and v.in_valuta = 0 THEN r.valftva ELSE 0 END), 0) As P18, + Round(Sum(r.valftva), 0) As TOTAL, CAST(0 as NUMBER(20)) AS TOTALCUMUL, 0 AS TIP + From ips_regdoc r Join vanzari v on r.id_vanzare = v.id_vanzare + join nom_parteneri p1 on v.id_part = p1.id_part + Where v.data_act between ?pdData1 and ?pdData2 and v.tip_factura = <> <> <> + Group By p1.denumire, v.id_part + ENDTEXT + + llSucces = goExecutor.oExecuta(m.lcSql, "xTabx") + + If m.llSucces + *!* TOTAL CUMULAT DE LA INCEPUTUL ANULUI + ldData1 = m.pdData1 + pdData1 = Date(Year(m.ldData1), 1, 1) + llSucces = goExecutor.oExecuta(m.lcSql, "xTabCumulat") + pdData1 = m.ldData1 + Endif + + IF m.llSucces + * Totaluri cumulat de la inceputul anului pe linii (clienti) + Sele xTabCumulat + Scan + Scatter Name loClient + With loClient + Select xTabx + Locate For client_id = .client_id + If !Found() + Insert Into xTabx (client, client_id, totalcumul) Values (.client, .client_id, .total) + Else + Replace totalcumul With .total + Endif + Endwith + Sele xTabCumulat + ENDSCAN + + * Totaluri perioada pe coloane (locatii) + SELECT "TOTAL" as client, 0 as client_id, 1 as tip, 0 as totalcumul, SUM(total) as total, ; + SUM(p1) as p1,SUM(p2) as p2,SUM(p3) as p3,SUM(p4) as p4,SUM(p5) as p5,SUM(p6) as p6, ; + SUM(p7) as p7,SUM(p8) as p8,SUM(p9) as p9,SUM(p10) as p10,SUM(p11) as p11,SUM(p12) as p12, ; + SUM(p13) as p13,SUM(p14) as p14,SUM(p15) as p15,SUM(p16) as p16,SUM(p17) as p17,SUM(p18) as p18 ; + from xTabx ; + into cursor cTabPerioada + SELECT cTabPerioada + SCATTER NAME loTabPerioada + INSERT INTO xTabx FROM NAME loTabPerioada + USE IN (SELECT('cTabPerioada')) + + * Totaluri cumulat de la inceputul anului pe coloane (locatii) + SELECT "TOTAL CUMULAT" as client, 0 as client_id, 2 as tip, SUM(total) as totalcumul, 0 as total, ; + SUM(p1) as p1,SUM(p2) as p2,SUM(p3) as p3,SUM(p4) as p4,SUM(p5) as p5,SUM(p6) as p6, ; + SUM(p7) as p7,SUM(p8) as p8,SUM(p9) as p9,SUM(p10) as p10,SUM(p11) as p11,SUM(p12) as p12, ; + SUM(p13) as p13,SUM(p14) as p14,SUM(p15) as p15,SUM(p16) as p16,SUM(p17) as p17,SUM(p18) as p18 ; + from xTabCumulat ; + into cursor cTabCumulat + SELECT cTabCumulat + SCATTER NAME loTabCumulat + INSERT INTO xTabx FROM NAME loTabCumulat + USE IN (SELECT('cTabCumulat')) + + ENDIF && llSuccess + + SELECT * FROM xTabx ORDER BY tip, client INTO CURSOR xTaby + USE IN (SELECT('xTabx')) + tcTabel = "XTABY" + tcColoane = [Client|Client Id|Agigea extern|Agigea intern|Basarabi extern|Basarabi intern|Luminita extern|Luminita intern|Medgidia extern|Medgidia intern|Ovidiu extern|Ovidiu intern|] + ; + [Cernavoda extern|Cernavoda intern|Navodari extern|Navodari intern|Front asteptare extern|Front asteptare intern|Senal extern|Senal intern|] + ; + [Total perioada|Total cumulat de la inceputul anului|Tip] + + Case m.lnTip = NTIP_TRANZIT And m.lnNrRaport = 13 && TRANZIT: CLIENT, TCAP TRANSE PLIN, TCAP TRANSE GOL, TCAP TOTAL, TON MARFA + + TEXT TO lcSql TEXTMERGE NOSHOW +SELECT client, contract, beneficiar, SUM(cargo) as cantitate_marfa, + SUM(CASE WHEN cargo <> 0 AND tcap < 2500 THEN tcap ELSE 0 END) as tcap_plin_0_2499, + SUM(CASE WHEN cargo <> 0 AND tcap between 2500 and 5999 THEN tcap ELSE 0 END) as tcap_plin_2500_5999, + SUM(CASE WHEN cargo <> 0 AND tcap between 6000 and 8999 THEN tcap ELSE 0 END) as tcap_plin_6000_8999, + SUM(CASE WHEN cargo <> 0 AND tcap between 9000 and 11999 THEN tcap ELSE 0 END) as tcap_plin_9000_11999, + SUM(CASE WHEN cargo <> 0 AND tcap >= 12000 THEN tcap ELSE 0 END) as tcap_plin_12000_99000, + SUM(CASE WHEN cargo = 0 AND tcap < 2500 THEN tcap ELSE 0 END) as tcap_plin_0_2499, + SUM(CASE WHEN cargo = 0 AND tcap between 2500 and 5999 THEN tcap ELSE 0 END) as tcap_plin_2500_5999, + SUM(CASE WHEN cargo = 0 AND tcap between 6000 and 8999 THEN tcap ELSE 0 END) as tcap_plin_6000_8999, + SUM(CASE WHEN cargo = 0 AND tcap between 9000 and 11999 THEN tcap ELSE 0 END) as tcap_plin_9000_11999, + SUM(CASE WHEN cargo = 0 AND tcap >= 12000 THEN tcap ELSE 0 END) as tcap_plin_12000_99000, + SUM(tcap) as total_tone_capacitate +FROM (SELECT p1.denumire As client, + c.numar as contract, + p2.denumire as beneficiar, + vmv.vye_id, + ROUND(sum(vmv.quantity),2) as cargo, + ROUND(sum(case when vmv.um = 'TON' then vmv.tcap else 0 end),2) as tcap + From vanzari v + join ips_voyages_vanzari vv + on v.id_vanzare = vv.vz_id + join ips_voyage_members_vanzari vmv on vv.id = vmv.vv_id + join nom_parteneri p1 + on v.id_part = p1.id_part + left join nom_parteneri p2 + on v.id_beneficiar = p2.id_part + left join contracte c + on v.id_ctr = c.id_ctr + Where v.data_act between ?pdData1 and ?pdData2 and v.tip_factura = <> <> <> + Group By p1.denumire, c.numar, p2.denumire, vmv.vye_id) + WHERE tcap <> 0 + GROUP BY client, contract, beneficiar + Order By client, contract, beneficiar + ENDTEXT + + tcTabel = "cRaportTranzit" + tcColoane = [Client|Client ctr.|Beneficiar|Cantitate marfa|Plin 0-2499|Plin 2500-5999|Plin 6000-8999|Plin 9000-11999|Plin 12000-99000|Gol 0-2499|Gol 2500-5999|Gol 6000-8999|Gol 9000-11999|Gol 12000-99000|Total tone capacitate] + llSucces = goExecutor.oExecuta(m.lcSql, m.tcTabel) + + Case m.lnTip = NTIP_CHEIAJ And m.lnNrRaport = 5 && CHEIAJ: 3 = Clienti - venituri pe locatii (lei) + TEXT TO lcSql TEXTMERGE NOSHOW +SELECT p1.denumire As client, v.id_part as client_id, + Round(Sum(CASE WHEN r.id_locatia = 5 and v.in_valuta = 1 THEN r.valftva ELSE 0 END), 0) As P1, + Round(Sum(CASE WHEN r.id_locatia = 5 and v.in_valuta = 0 THEN r.valftva ELSE 0 END), 0) As P2, + Round(Sum(CASE WHEN r.id_locatia = 1 and v.in_valuta = 1 THEN r.valftva ELSE 0 END), 0) As P3, + Round(Sum(CASE WHEN r.id_locatia = 1 and v.in_valuta = 0 THEN r.valftva ELSE 0 END), 0) As P4, + Round(Sum(CASE WHEN r.id_locatia = 4 and v.in_valuta = 1 THEN r.valftva ELSE 0 END), 0) As P5, + Round(Sum(CASE WHEN r.id_locatia = 4 and v.in_valuta = 0 THEN r.valftva ELSE 0 END), 0) As P6, + Round(Sum(CASE WHEN r.id_locatia = 2 and v.in_valuta = 1 THEN r.valftva ELSE 0 END), 0) As P7, + Round(Sum(CASE WHEN r.id_locatia = 2 and v.in_valuta = 0 THEN r.valftva ELSE 0 END), 0) As P8, + Round(Sum(CASE WHEN r.id_locatia = 3 and v.in_valuta = 1 THEN r.valftva ELSE 0 END), 0) As P9, + Round(Sum(CASE WHEN r.id_locatia = 3 and v.in_valuta = 0 THEN r.valftva ELSE 0 END), 0) As P10, + Round(Sum(CASE WHEN r.id_locatia = 6 and v.in_valuta = 1 THEN r.valftva ELSE 0 END), 0) As P11, + Round(Sum(CASE WHEN r.id_locatia = 6 and v.in_valuta = 0 THEN r.valftva ELSE 0 END), 0) As P12, + Round(Sum(CASE WHEN r.id_locatia = 7 and v.in_valuta = 1 THEN r.valftva ELSE 0 END), 0) As P13, + Round(Sum(CASE WHEN r.id_locatia = 7 and v.in_valuta = 0 THEN r.valftva ELSE 0 END), 0) As P14, + Round(Sum(CASE WHEN r.id_locatia = 23 and v.in_valuta = 1 THEN r.valftva ELSE 0 END), 0) As P15, + Round(Sum(CASE WHEN r.id_locatia = 23 and v.in_valuta = 0 THEN r.valftva ELSE 0 END), 0) As P16, + Round(Sum(CASE WHEN r.id_locatia = 26 and v.in_valuta = 1 THEN r.valftva ELSE 0 END), 0) As P17, + Round(Sum(CASE WHEN r.id_locatia = 26 and v.in_valuta = 0 THEN r.valftva ELSE 0 END), 0) As P18, + Round(Sum(r.valftva), 0) As TOTAL, CAST(0 as NUMBER(20)) AS TOTALCUMUL, 0 AS TIP + From ips_regdoc r Join vanzari v on r.id_vanzare = v.id_vanzare + join nom_parteneri p1 on v.id_part = p1.id_part + Where v.data_act between ?pdData1 and ?pdData2 and v.tip_factura = <> <> <> + Group By p1.denumire, v.id_part + ENDTEXT + + llSucces = goExecutor.oExecuta(m.lcSql, "xTabx") + + If m.llSucces + *!* TOTAL CUMULAT DE LA INCEPUTUL ANULUI + ldData1 = m.pdData1 + pdData1 = Date(Year(m.ldData1), 1, 1) + llSucces = goExecutor.oExecuta(m.lcSql, "xTabCumulat") + pdData1 = m.ldData1 + Endif + + IF m.llSucces + * Totaluri cumulat de la inceputul anului pe linii (clienti) + Sele xTabCumulat + Scan + Scatter Name loClient + With loClient + Select xTabx + Locate For client_id = .client_id + If !Found() + Insert Into xTabx (client, client_id, totalcumul) Values (.client, .client_id, .total) + Else + Replace totalcumul With .total + Endif + Endwith + Sele xTabCumulat + ENDSCAN + + * Totaluri perioada pe coloane (locatii) + SELECT "TOTAL" as client, 0 as client_id, 1 as tip, 0 as totalcumul, SUM(total) as total, ; + SUM(p1) as p1,SUM(p2) as p2,SUM(p3) as p3,SUM(p4) as p4,SUM(p5) as p5,SUM(p6) as p6, ; + SUM(p7) as p7,SUM(p8) as p8,SUM(p9) as p9,SUM(p10) as p10,SUM(p11) as p11,SUM(p12) as p12, ; + SUM(p13) as p13,SUM(p14) as p14,SUM(p15) as p15,SUM(p16) as p16,SUM(p17) as p17,SUM(p18) as p18 ; + from xTabx ; + into cursor cTabPerioada + SELECT cTabPerioada + SCATTER NAME loTabPerioada + INSERT INTO xTabx FROM NAME loTabPerioada + USE IN (SELECT('cTabPerioada')) + + * Totaluri cumulat de la inceputul anului pe coloane (locatii) + SELECT "TOTAL CUMULAT" as client, 0 as client_id, 2 as tip, SUM(total) as totalcumul, 0 as total, ; + SUM(p1) as p1,SUM(p2) as p2,SUM(p3) as p3,SUM(p4) as p4,SUM(p5) as p5,SUM(p6) as p6, ; + SUM(p7) as p7,SUM(p8) as p8,SUM(p9) as p9,SUM(p10) as p10,SUM(p11) as p11,SUM(p12) as p12, ; + SUM(p13) as p13,SUM(p14) as p14,SUM(p15) as p15,SUM(p16) as p16,SUM(p17) as p17,SUM(p18) as p18 ; + from xTabCumulat ; + into cursor cTabCumulat + SELECT cTabCumulat + SCATTER NAME loTabCumulat + INSERT INTO xTabx FROM NAME loTabCumulat + USE IN (SELECT('cTabCumulat')) + + ENDIF && llSuccess + + SELECT * FROM xTabx ORDER BY tip, client INTO CURSOR xTaby + USE IN (SELECT('xTabx')) + tcTabel = "XTABY" + tcColoane = [Client|Client Id|Agigea extern|Agigea intern|Basarabi extern|Basarabi intern|Luminita extern|Luminita intern|Medgidia extern|Medgidia intern|Ovidiu extern|Ovidiu intern|] + ; + [Cernavoda extern|Cernavoda intern|Navodari extern|Navodari intern|Front asteptare extern|Front asteptare intern|Senal extern|Senal intern|] + ; + [Total perioada|Total cumulat de la inceputul anului|Tip] + + Case m.lnTip = NTIP_CHEIAJ And m.lnNrRaport = 4 && CHEIAJ: CLIENT,PORT, CAP., TRN, CP, LBP + TEXT TO lcSql TEXTMERGE NOSHOW +SELECT p1.denumire As client, MAX(TRIM(c.numar)) as contract, p2.denumire as beneficiar, l.denumire As port, + Round(Sum(CASE WHEN bd.um like '%TC%' then bv.CAP else 0 end), 0) As CAP, + Round(Sum(CASE WHEN bd.um like '%TRN%' then bv.TRN else 0 end), 0) As TRN, + Round(Sum(CASE WHEN bd.um like '%ML%' then bv.LUNG else 0 end), 0) As LUNG, + Round(Sum(CASE WHEN bd.um like '%CP%' then bv.HP else 0 end), 0) As CP, + Round(Sum(CASE WHEN bd.um like '%LBD%' or bd.um like '%LBP%' then bv.LBD else 0 end), 0) As LBD, + Round(Sum(CASE WHEN TRIM(bd.um) = 'ZI' then 1 else 0 end), 0) As ZI, + Round(Sum(CASE WHEN bd.um like '%TC%' then bd.valftva else 0 end), 0) As cap_val, + Round(Sum(CASE WHEN bd.um like '%TRN%' then bd.valftva else 0 end), 0) As trn_val, + Round(Sum(CASE WHEN bd.um like '%ML%' then bd.valftva else 0 end), 0) As lung_val, + Round(Sum(CASE WHEN bd.um like '%CP%' then bd.valftva else 0 end), 0) As cp_val, + Round(Sum(CASE WHEN bd.um like '%LBD%' or bd.um like '%LBP%' then bd.valftva else 0 end), 0) As lbd_val, + Round(Sum(CASE WHEN TRIM(bd.um) = 'ZI' then bd.valftva else 0 end), 0) As zi_val + From vanzari v join ips_voyages_vanzari vv on v.id_vanzare = vv.vz_id + join ips_berthings_vanzari bv on vv.id = bv.vv_id + join ips_berthing_details_vanzari bd on bv.id = bd.bv_id + join nom_parteneri p1 on v.id_part = p1.id_part + left join nom_parteneri p2 on v.id_beneficiar = p2.id_part + left join contracte c on v.id_ctr = c.id_ctr + left join nom_locatii l on bv.id_locatia = l.id + Where v.data_act between ?pdData1 and ?pdData2 and v.tip_factura = <> <> <> + Group By p1.denumire, p2.denumire, l.denumire + Order By 1, 2, 3, 4 + ENDTEXT + + tcTabel = "cRaportCheiaj" + tcColoane = [Client|Client ctr.|Beneficiar|Port|CAP|TRN|LUNG|CP|LBD|ZI|Valoare CAP|Valoare TRN|Valoare LUNG|Valoare CP|Valoare LBD|Valoare ZI] + llSucces = goExecutor.oExecuta(m.lcSql, m.tcTabel) + + + Case Inlist(m.lnTip, NTIP_APA, NTIP_CHIRII, NTIP_ALTE, NTIP_DIVERSE) And m.lnNrRaport = 1 && valori facturate pe client/prestatii (clienti pe randuri, prestatii pe coloane) + + TEXT TO lcSql TEXTMERGE NOSHOW +Select p1.denumire As client, c.numar as contract, 'P' || TO_CHAR(r.id_articol) As id_articol, a.denumire As prestatia, + ROUND(Sum(r.valftva),0) As valtot_lei, Round(SUM(decode(v.in_valuta,1, r.valval, 0)), 0) As val_val + From ips_regdoc r Join vanzari v On r.id_vanzare = v.id_vanzare + join nom_parteneri p1 on v.id_part = p1.id_part + left join nom_parteneri p2 on v.id_beneficiar = p2.id_part + left join contracte c on v.id_ctr = c.id_ctr + Join nom_articole a On r.id_articol = a.id_articol + Where v.data_act between ?pdData1 and ?pdData2 and v.tip_factura = <> <> <> + Group By p1.denumire, c.numar, 'P' || TO_CHAR(r.id_articol), a.denumire + Order By 2, 3, 4 + ENDTEXT + + llSucces = goExecutor.oExecuta(m.lcSql, "cRaportVenituri1") + If m.llSucces + *!* TOTAL CUMULAT DE LA INCEPUTUL ANULUI + ldData1 = m.pdData1 + pdData1 = Date(Year(m.ldData1), 1, 1) + llSucces = goExecutor.oExecuta(m.lcSql, "cRaportVenituri2") + pdData1 = m.ldData1 + Endif + + If m.llSucces + Select client, contract, Sum(valtot_lei) As valoare ; + From cRaportVenituri2 ; + Group By client, contract ; + Into Cursor totclient + + Select id_articol, prestatia, Sum(valtot_lei) As valoare ; + From cRaportVenituri2 ; + Group By id_articol, prestatia ; + Into Cursor totprestatie + + *!* lc_outfile, lu_struct, ll_closein, ll_therm, ln_rowfld, ; + *!* ln_colhead, ln_cellfld, ll_xtotal, ln_extfld1, ln_extfld2, ; + *!* ln_extfld3, ln_extfld4, ll_cnt, ll_avg, ll_min, ll_max, ; + *!* la_uniqcol, ln_rowcol, ln_colsort, ln_rowsort + + Sele cRaportVenituri1 + X = MATXTAB("XTABX", 2, .F., .F., 1, 3, 5, .T., 2) + Use In (Select('cRaportVenituri1')) + Use In (Select('cRaportVenituri2')) + Endif && llSuccess + + If Used('XTABX') + *!* MARESC TOATE COLOANELE DE TIP NUMERIC LA N(16,2) + ALTER_TABLE_INCREASE_NUM('XTABX', 'N(16,2)') + + Sele TOTPRESTATIE + Scan + lcField = Allt(TOTPRESTATIE.id_articol) + Select xtabx + If TYPE('xtabx.' + m.lcField) = 'U' + Alter Table xtabx Add Column &lcField N(16, 2) + Replace All &lcField With 0 + Endif + Sele TOTPRESTATIE + Endscan + + + *!* TOTAL CUMULAT PE CLIENTI + Select xtabx + Alter Table xtabx Add Column totalcumul N(20, 2) Add Column tip N(1) + Sele totclient + Scan + Scatter Name OClient + With OClient + Select xtabx + Locate For Alltrim(client) = Alltrim(OClient.client) AND ALLTRIM(contract) = ALLTRIM(oclient.contract) + If !Found() + Insert Into xtabx (client, contract, totalcumul) Values (.client, .contract, .valoare) + Else + Replace totalcumul With .valoare + Endif + Endwith + Sele totclient + Endscan + + + *!* TOTAL PRESTATII DIN PERIOADA DATA + Sele xtabx + Scat Name OTOTAL Blank + For I = 3 To Fcount() + T = Field(I) + Calc Sum(&T)To OTOTAL.&T + Endfor + Appe Blank + Gath Name OTOTAL + Repl client With "TOTAL", totalcumul With 0, tip With 1 + + + *!* TOTAL CUMULAT DE LA INCEPUTUL ANULUI PE PRESTATII + Select xtabx + Append Blank + Replace client With "TOTAL CUMULAT", tip With 2 + + Select totprestatie + lnTotalCumulat = 0 + Scan + lnvaloare = valoare + lnTotalCumulat = lnTotalCumulat + lnvaloare + lcField = 'xtabx.' + Alltrim(id_articol) + Replace &lcField With m.lnValoare In xtabx + Endscan + Replace totalcumul With lnTotalCumulat In xtabx + + tcColoane = '' + + Sele xtabx + For I = 1 To Fcount() + LCFIELD = Uppe(Allt(Field(I))) + LPRESTATIA = LCFIELD + Sele TOTPRESTATIE + Loca For id_articol = LPRESTATIA + If Found() + LPRESTATIA = Alltrim(prestatia) + Else + If LCFIELD = 'XTOT' + LPRESTATIA = 'TOTAL PERIOADA' + Endif + If LCFIELD = 'TOTALCUMUL' + LPRESTATIA = 'TOTAL CUMULAT DE LA INCEPUTUL ANULUI' + Endif + Endif + tcColoane = tcColoane + Iif(I > 1, '|', '') + Alltrim(m.LPRESTATIA) + Sele xtabx + Endfor + + tcTabel = "XTABY" + Select * From xtabx Order By tip, client Into Cursor XTABY + + Use In (Select('XTABX')) + Use In (Select('TVENITURI')) + Use In (Select('TOTPRESTATIE')) + Use In (SELECT('totclient')) + Endif + + + + + Otherwise + AMESSAGEBOX("Nu este inca implementat.", 0 + 64, _Screen.Caption) + Endcase + + * RETURN taHeader +Endproc && GET_DATE_VENITURI + +Procedure DECO_LIST_VENITURI + Parameters tnTip, tnNrRaport, TEXCEL, TTITLU + && tip prestatie, nr. situatie,daca e in excel, data1, data2, titlu + lcPerioada = GET_PERIOADA() + ldData1 = Ctod(Substr(lcPerioada, 1, 10)) + ldData2 = Ctod(Substr(lcPerioada, At(";", lcPerioada) + 1)) + + lnIdCtrClient = 0 + lcClient = '' + + TTITLU = Iif(Empty(TTITLU), "SITUATIE VENITURI", TTITLU) + " DE LA " + Dtoc(ldData1) + " LA " + Dtoc(ldData2) + Do Case + Case tnTip = 0 + If Inlist(tnNrRaport, 2, 3, 4, 5, 8, 9, 10, 11, 12) && TRANZIT > 2 DETALIU UN CLIENT, 3. TOTI CLIENTII, 4 PLATITOR/GRUPA MARFA, 5 PLATITOR/RELATIE/GRUPA MARFA, 8 PLATITOR/MARFA, 10 SELECTIE CONVOAIE XLS, 11 Indicatori fizici pe \ INDICATORI,VALORI + loCauta = caut_client_contract_activ() + lcClient = loCauta.denumire + lnIdClient = loCauta.id_part + lcContractClient = Alltrim(loCauta.numar) + lnIdCtrClient = loCauta.id_ctr + + TTITLU = "SITUATIE INDICATORI SI VALORI CHEIAJ " + lcClient + " DE LA " + Dtoc(ldData1) + " LA " + Dtoc(ldData2) + Endif + + Case Inlist(tnTip, 2, 3, 5, 9) + If Inlist(m.tnNrRaport, 2, 3, 4) && raport facturat pe locatii, ani, doar anumite categorii de prestatii + ALEG_PRESTATII(m.tnTip) && creeaza cursor crsNomPrest + Endif + Endcase + + Dimension LAHEADER[1] && HEADERUL CARE CONTINE NUMELE TABELULUI SI TITLURILE COLOANELOR PT AFISAREA IN EXCEL + = GET_DATE_VENITURI(tnTip, tnNrRaport, ldData1, ldData2, lnIdCtrClient, @LAHEADER) + lcTabel = LAHEADER[1] + + If TEXCEL + If Used(m.lcTabel) + If m.tnTip = 0 && tranzit + lnReturn = LIST_VENITURI_EXCEL_XLSX(m.tnTip, m.lcTabel, @LAHEADER, m.TTITLU) + If m.lnReturn = 0 + = LIST_VENITURI_EXCEL(m.tnTip, m.lcTabel, @LAHEADER, m.TTITLU) + Endif + Else + = LIST_VENITURI_EXCEL(tnTip, m.lcTabel, @LAHEADER, TTITLU) + Endif + Endif + Else + Do Case + Case tnTip = 0 + Do Case + Case tnNrRaport = 2 + + If !Empty(m.lcTabel) + Public PTITLU1, PTITLU2 + PTITLU1 = [SITUATIE PLATITOR "] + lcClient + ["] + PTITLU2 = " DE LA " + Dtoc(ldData1) + " LA " + Dtoc(ldData2) + Set Cent Off + Keyboard'{CTRL+F10}' + Sele (m.lcTabel) + Set Order To Ct + = LISTAREUSERREPORT(m.lcTabel, "FRX", "SIT_TRANZIT2") + Set Cent On + Release PTITLU1, PTITLU2 + Endif + Case tnNrRaport = 3 + + If !Empty(m.lcTabel) + Public PTITLU1, PTITLU2 + PTITLU1 = [SITUATIE VENITURI TRANZIT] + PTITLU2 = "DE LA " + Dtoc(ldData1) + " LA " + Dtoc(ldData2) + Set Cent Off + Keyboard'{CTRL+F10}' + Sele (m.lcTabel) + + = LISTAREUSERREPORT(m.lcTabel, "FRX", "SIT_TRANZIT3") + + Set Cent On + Release PTITLU1, PTITLU2 + Endif + Case Inlist(tnNrRaport, 4, 8) + + If !Empty(m.lcTabel) + Public PTITLU1, PTITLU2 + PTITLU1 = [SITUATIE PLATITORI - MARFA] + PTITLU2 = "DE LA " + Dtoc(ldData1) + " LA " + Dtoc(ldData2) + Set Cent Off + Keyboard'{CTRL+F10}' + Sele (m.lcTabel) + = LISTAREUSERREPORT(m.lcTabel, "FRX", "SIT_TRANZIT4") + + Set Cent On + Release PTITLU1, PTITLU2 + Endif + Case Inlist(tnNrRaport, 5, 9) + + If !Empty(m.lcTabel) + Public PTITLU1, PTITLU2 + PTITLU1 = [SITUATIE PLATITORI - MARFA - RELATIA] + PTITLU2 = "DE LA " + Dtoc(ldData1) + " LA " + Dtoc(ldData2) + Set Cent Off + Keyboard'{CTRL+F10}' + Sele (m.lcTabel) + = LISTAREUSERREPORT(m.lcTabel, "FRX", "SIT_TRANZIT5") + + Set Cent On + Release PTITLU1, PTITLU2 + Endif + + Case tnNrRaport = 7 + + If !Empty(m.lcTabel) + Public PTITLU1, PTITLU2 + PTITLU1 = [SITUATIE PLATITORI - RELATIE - TONE CAPACITATE] + PTITLU2 = "DE LA " + Dtoc(ldData1) + " LA " + Dtoc(ldData2) + Set Cent Off + Keyboard'{CTRL+F10}' + Sele (m.lcTabel) + = LISTAREUSERREPORT(m.lcTabel, "FRX", "SIT_TRANZIT7") + + Set Cent On + Release PTITLU1, PTITLU2 + Endif + + Case tnNrRaport = 11 + If !Empty(m.lcTabel) + Public PTITLU1, PTITLU2 + PTITLU1 = [SITUATIE VENITURI TRANZIT] + PTITLU2 = "DE LA " + Dtoc(ldData1) + " LA " + Dtoc(ldData2) + Set Cent Off + Keyboard'{CTRL+F10}' + Sele (m.lcTabel) + + = LISTAREUSERREPORT(m.lcTabel, "FRX", "SIT_TRANZIT11") + Set Cent On + Release PTITLU1, PTITLU2 + Endif + + Case tnNrRaport = 12 + If !Empty(m.lcTabel) + Public PTITLU1, PTITLU2 + PTITLU1 = [SITUATIE VENITURI TRANZIT] + PTITLU2 = "DE LA " + Dtoc(ldData1) + " LA " + Dtoc(ldData2) + Set Cent Off + Keyboard'{CTRL+F10}' + Sele (m.lcTabel) + + = LISTAREUSERREPORT(m.lcTabel, "FRX", "SIT_TRANZIT12") + Set Cent On + Release PTITLU1, PTITLU2 + Endif + + + Other + * + Endcase + Case tnTip = 1 + + Do Case + Case tnNrRaport = 4 + If !Empty(m.lcTabel) + Public PTITLU1, PTITLU2 + PTITLU1 = [SITUATIE INDICATORI SI VALORI CHEIAJ ] + + lcClient + PTITLU2 = " DE LA " + Dtoc(ldData1) + " LA " + Dtoc(ldData2) + + Keyboard'{CTRL+F10}' + Sele (m.lcTabel) + = LISTAREUSERREPORT(m.lcTabel, "FRX", "SIT_CHEIAJ_INDICATORI") + Endif + Case Inlist(tnNrRaport, 1, 2, 3) + If !Empty(m.lcTabel) + Public PTITLU1, PTITLU2 + PTITLU1 = [SITUATIE VENITURI DIN CHEIAJ] + PTITLU2 = " DE LA " + Dtoc(ldData1) + " LA " + Dtoc(ldData2) + + Keyboard'{CTRL+F10}' + Sele (m.lcTabel) + = LISTAREUSERREPORT(m.lcTabel, "FRX", "SIT_CHEIAJ2") + Endif + Case tnNrRaport = 5 + If !Empty(m.lcTabel) + Public PTITLU1, PTITLU2 + PTITLU1 = [SITUATIE VENITURI DIN CHEIAJ] + PTITLU2 = " DE LA " + Dtoc(ldData1) + " LA " + Dtoc(ldData2) + + Keyboard'{CTRL+F10}' + Sele (m.lcTabel) + = LISTAREUSERREPORT(m.lcTabel, "FRX", "SIT_CHEIAJ5") + + Endif + + Other + * + Endcase + Endcase + Endif + If Used(m.lcTabel) + Use In (m.lcTabel) + Endif +Endproc && DECO_LIST_VENITURI + +***----------------------------------------------------------------------------------------------- +Procedure DECO_LIST_VENITURI_EXCEL + && perioada pe care vreau veniturile + lcPerioada = GET_PERIOADA() + ldData1 = Ctod(Left(lcPerioada, At(";", lcPerioada) - 1)) + ldData2 = Ctod(Right(lcPerioada, At(";", lcPerioada) - 1)) + + OPRESTATIA = GET_PRESTATIA() && 0,1,2,3,4,5 + LITIP = OPRESTATIA.tip + lcTitlu = "VENITURI " + Allt(OPRESTATIA.prestatia) + " " + Strtran(lcPerioada, ";", " - ") + LNRRAP = 1 + + Dime LAHEADER[1] + LNRAP = 1 && tipul 1 de situatie + = GET_DATE_VENITURI(LITIP, LNRRAP, ldData1, ldData2, 0, @LAHEADER) + + lcTabel = LAHEADER[1] + + + Release OPRESTATIA + If !Empty(m.lcTabel) + * list_venituri_excel_xlsx nu face xlsx pentru ca nu gaseste driverul x86 si intra pe ramura copy to xls5 fara header + * nu pune headerul in fisier + *!* lnReturn = LIST_VENITURI_EXCEL_XLSX(LITIP, m.lcTabel, @LAHEADER, lcTitlu) + *!* IF m.lnReturn = 0 + = LIST_VENITURI_EXCEL(LITIP, m.lcTabel, @LAHEADER, lcTitlu) + *!* Endif + Endif + + If Used(m.lcTabel) + Use In (m.lcTabel) + Endif + +Endproc && DECO_LIST_VENITURI_EXCEL + +Procedure LIST_VENITURI_EXCEL + Param tnTip, TTABEL, taHeader, TTITLU + + Local I, laFields[1], LCFIELD, lcFormat, lcType, lnDecimals, lnField, lnFields, lnSize, luValue + *:Global I, LCANTET, LCFIS, LCHEADER, LDATE, NRCOL, TTITLU + LCFIS = Allt(LOC) + "\" + Allt(NFSCURT) + "\TEMPO\VENITURI_" + Sys(2) + ".XLS" + LCFIS = Strtran(LCFIS, '\\', '\') + + Set Textmerge On To (LCFIS) Noshow + If Empty(TTITLU) + TTITLU = "" + Endif + + LCANTET = Uppe(Allt(TTITLU)) + CRLF +\ +\\<> +\ + LCHEADER = "" + NRCOL = 0 + If !Empty(taHeader) + NRCOL = Alen(taHeader, 1) + Endif + Sele (TTABEL) + If NRCOL - 1 < Fcount() + + For I = 1 To Fcount() + LCHEADER = LCHEADER + Upper(Allt(Field(I))) + Tab + Endfor + Else + + For I = 2 To NRCOL + LCHEADER = LCHEADER + Uppe(Allt(taHeader[I])) + Tab + Endfor + Endif + LCHEADER = LCHEADER + CRLF + +\\<> + + Sele (TTABEL) + lnFields = Afields(laFields, m.TTABEL) + Scan + LDATE = "" + For lnField = 1 To m.lnFields + LCFIELD = laFields[m.lnField, 1] + luValue = Evaluate(m.LCFIELD) + lcType = laFields[m.lnField, 2] + lnSize = laFields[m.lnField, 3] + lnDecimals = laFields[m.lnField, 4] + Do Case + Case lcType = 'C' + LDATE = LDATE + m.luValue + Tab + Case lcType = 'N' + LDATE = LDATE + Str(m.luValue, m.lnSize, m.lnDecimals) + Tab + Otherwise + LDATE = LDATE + Transform(m.luValue, "") + Tab + Endcase + Endfor + LDATE = LDATE + CRLF + \\<> + Endscan + Set Textmerge To + + Wait Window "Se deschide Excel..." Nowait + + + open_default_app(m.LCFIS) + +Endproc && list_venituri_excel + + +************************************************************************************************ +Procedure GET_PERIOADA + Local LD1, LD2 + + LRET = ";" + LD1 = Date() - 7 + LD2 = Date() + OBD = Crea("frm_GET_perioada") + With OBD + .TXTDATA1.ControlSource = "LD1" + .TXTDATA2.ControlSource = "LD2" + Endwith + OBD.Show(1) + + LRET = Dtoc(LD1) + ";" + Dtoc(LD2) + + Return LRET + +Endproc && get_perioada + +************************************************************************************************ +Procedure GET_PRESTATIA + + Create Cursor TPRESTATIA (tip I(6), prestatia C(30)) + Insert Into TPRESTATIA (tip, prestatia) Values (0, "Tranzit") + + Insert Into TPRESTATIA (tip, prestatia) Values(1, "Cheiaj nave") + Insert Into TPRESTATIA (tip, prestatia) Values(2, "Diverse") + Insert Into TPRESTATIA (tip, prestatia) Values(3, "Chirii si utilitati") + *!* INSERT INTO CURSOR VALUES(4,"Pilotaj") + Insert Into TPRESTATIA (tip, prestatia) Values(5, "Furnizare apa") + *WAIT WIND '1' + Sele TPRESTATIA + Go Top + *BROW + + OBP = Crea("FRM_GET_PRESTATIA") + With OBP.GRID1 + .RecordSource = "tprestatia" + .CPRESTATIA.ControlSource = "prestatia" + Endwith + OBP.Show(1) + + *WAIT WIND '2' + Sele TPRESTATIA + Scat Name OPRESTATIA + LTIP = tip + Use In TPRESTATIA + + Return OPRESTATIA && tipul prestatiei alese +Endproc && get_prestatia + + +*!* MARESC TOATE COLOANELE DE TIP NUMERIC LA N(16,2) +*!* MARIUS MUTU +*!* 04.05.2006 +Procedure ALTER_TABLE_INCREASE_NUM + Lparameters tcAlias, tcPrecision + + Local lnFields, I, LCFIELD, lcAlter + Declare laFields[1, 1] + + If Used(tcAlias) + lnFields = Afields(laFields, tcAlias) + For I = 1 To lnFields + If Inlist(laFields[i, 2], 'N', 'F', 'I', 'B', 'Y') + LCFIELD = laFields[i, 1] + lcAlter = [alter table ] + tcAlias + [ alter column ] + LCFIELD + + [ ] + tcPrecision + &lcAlter + Endif + Endfor + Endif + +Endproc && ALTER_TABLE_INCREASE_NUM \ No newline at end of file diff --git a/Programe/roaacnpro.prg b/Programe/roaacnpro.prg new file mode 100644 index 0000000..700e548 --- /dev/null +++ b/Programe/roaacnpro.prg @@ -0,0 +1,146 @@ +Parameters tParametri +*!* obiecte globale +Private poLog, goLog, oTool, oHelp, goExecutor, goConn, goMyXMLHTTP, goCalendar, goExport, goUtilizator, goFundal, goFirma, goApp +Store "" To poLog, goLog, oTool, oHelp, goExecutor, goConn, goMyXMLHTTP, goCalendar, goExport, goUtilizator, goFundal, goFirma + +*!* Private gcLocalePath, goLocale +*!* STORE "" TO gcLocalePath, goLocale + +*!* variabile globale +Public CRLF,CR,LF,Tab +Public gcNumeProgram, NUMEPROGRAM, MENIUPROGRAM, FUNDALPROGRAM +Public pcNl, pcAn, gcAcces, gcAppPath, gcAppName, gcUtilizatoriPath, gcDirMare, DIRGEN, gcTempPath, ; + glParametri, gcHost, gcUsername, gcPassword, gcUserNameApp, gcPasswordApp, gnIdUtil, gnIdProgram, ; + gnAn, gnLuna, gcS, gnIdFirma, gcGeneralIniFile, gcSecurityFile, gnHandle, gnButon, BUTON, gcFirma, gcBasePath, gcComunPath, ; + gnTipGest, gcGestPermis, glFontCharSet, gcReportPreviewer, gcReportPreviewerPath, gcLocale, gcSettingsFile +Public gcAntet,gcCopyRight, pcTitlu +gcAntet = '' +pcTitlu = '' +gcCopyRight = '© ROA Romfast SRL' +Public glUltimaLuna, glPrimaLuna, glLunaBuna, glLuna_neplatita, glLunaInchisa +Public glQuit, pl_verificat +Public gnewcryptfll, gnewcryptxml, gTransferTotal +Private gnId_Prg_Owner +gnId_Prg_Owner = 0 +*!* altele +Declare nror[65000] +Declare RTVA[22,2] +Public luna_inchisa, luna_neplatita, PRIMADATA, m.ctva, m.ctvam, m.ctvai, antet, m.nivel +Public OStart,OSETVIZ,OSETTULBAR,OSETINSTRUM,orm,OTEXT,OJUR,osetgest,tlbr_INSTR,tlbr_VIZ,oprinc +Public pcapsocsub,pcapsocvar + +_screen.Icon = 'D:\ROA\ROAACNPRO\GRAFICE\ROAACNPRO.ICO' + + +gcAppPath = UPPER(Addbs(Justpath(Sys(16,0)))) +gcAppPath = STRTRAN(m.gcAppPath, 'PROGRAME\', '') +gcComunPath = gcAppPath + 'COMUN\CLASE;' + ; + gcAppPath + 'COMUN\FERESTRE;' + ; + gcAppPath + 'COMUN\PROGRAME;' + ; + gcAppPath + 'COMUN\GRAFICE;' + ; + gcAppPath + 'COMUN\RAPOARTE;' + ; + gcAppPath + 'COMUN\UTILE\CALENDAR;' + ; + gcAppPath + 'COMUN\UTILE\CTL32;' + ; + gcAppPath + 'COMUN\UTILE\HPDF;' + ; + gcAppPath + 'COMUN\UTILE\HPDF\REPORTOUTPUT;' + ; + gcAppPath + 'COMUN\UTILE\WEB;' + ; + gcAppPath + 'COMUN\UTILE\NFJSON;' + ; + gcAppPath + 'COMUN\UTILE\NFXML;' + ; + gcAppPath + 'COMUN\UTILE\EXCEL;' + ; + gcAppPath + 'COMUN\UTILE\GridExtras ;' + ; + Addbs(Substr(gcAppPath,1,Rat([\],gcAppPath,2)))+[COMUNROA\] + +Set Default To (m.gcAppPath) + +SET PATH to (m.gcComunPath) ADDITIVE +Set Procedure To roa.prg Additive +Private goApp + +On Shutdown do onShutDown + +goApp = Createobject("oApp") +If goApp.initializeaza(tParametri,[ROAACNPRO]) + goApp.lanseazaAplicatie() + + * STATUSBAR APLICATIE + If Not Pemstatus(_Screen,"StatusBar", 5) Then + _Screen.Newobject("StatusBar","ctl32_statusbar", "ctl32_statusbar.vcx", null, 3) + * _Screen.Newobject("StatusBar","ctl32_statusbar", "ctl32_statusbar_fals.vcx", null, 3) && inlocuieste cu ctl_32_statusbar_fals.vcx daca sunt probleme + ENDIF + IF TYPE('goFundal') = 'O' + IF NOT PEMSTATUS(goFundal, "oStatusBar", 5) then + ADDPROPERTY(goFundal, "oStatusBar", Null) + ENDIF + goFundal.oStatusBar = _Screen.StatusBar + goFundal.oStatusBar.ctlIcon="roastartmic.ico" + goFundal.oStatusBar.ctlMessage = _Screen.Caption + * formularul fundal.scx trebuie sa aiba o metoda StatusBarClick + BindEvent(goFundal.oStatusBar, [ctlClick], goFundal, [StatusBarClick]) && Thisform.oStatusBar.newtooltip() + ENDIF +Endif + +READ EVENTS + +*Release goApp + + + +Define Class oApp As RoaApp + + Procedure initializeazaAlteCai + Endproc + + Procedure initializeazaAlteClassLib + SET CLASSLIB TO ofacturare_comun.vcx ADDITIVE + SET CLASSLIB TO onom_curs.vcx ADDITIVE + SET CLASSLIB TO oacnpro.vcx ADDITIVE + SET CLASSLIB TO comun.vcx ADDITIVE + SET CLASSLIB TO serii_numere.vcx ADDITIVE + SET CLASSLIB TO onom_articole.vcx ADDITIVE + SET CLASSLIB TO overificari.vcx ADDITIVE + Endproc + + Procedure initializeazaAlteProceduri + SET PROCEDURE TO proceduri_acnpro.prg ADDITIVE + SET PROCEDURE TO proceduri_acnpro_rapoarte.prg ADDITIVE + SET PROCEDURE TO ofacturare.prg ADDITIVE + SET PROCEDURE TO ofacturare_comun ADDITIVE + SET PROCEDURE TO oserii_numere ADDITIVE + SET PROCEDURE TO oproceduri_curs ADDITIVE + SET PROCEDURE TO odocumente.prg ADDITIVE + SET PROCEDURE TO email.prg ADDITIVE + SET PROCEDURE TO oproceduri_rapoarte_fact.prg ADDITIVE + SET PROCEDURE TO matxtab.prg ADDITIVE + SET PROCEDURE TO nfxmlread.prg ADDITIVE + SET PROCEDURE TO nfjsonread.prg ADDITIVE + SET PROCEDURE TO xmlefactura.prg ADDITIVE + Endproc + + Procedure initializeazaAlteVariabileGlobale + Endproc + + Procedure initializeazaAlteObiecteGlobale + Endproc + +ENDDEFINE + +*!* Function Shutdown +*!* If Type("goApp")=="O" And Not Isnull(goApp) +*!* Return goApp.OnShutDown() +*!* Endif +*!* Cleanup() +*!* Quit +*!* Endfunc + + +*-- Occurs when the user attempts to exit Visual FoxPro. +Procedure onShutDown + IF AMESSAGEBOX('Doriti sa iesiti din program?',4+32, goApp.cNumeProgram) = 6 + On Shutdown + On Error + Clear Events + If _vfp.StartMode <> 0 + Quit + Endif + Endif +ENDPROC && onShutDown \ No newline at end of file diff --git a/Programe/update_nomenclator.prg b/Programe/update_nomenclator.prg new file mode 100644 index 0000000..c7b116d --- /dev/null +++ b/Programe/update_nomenclator.prg @@ -0,0 +1,30 @@ +********************************************************** +Procedure update_nomenclator + +Do update_lunilean + +*** tabele meniu deschise din proiect +Local lcCaleDateMenu + +lcCaleDateMenu=gcAppPath+[\COMUN\DATEMENU\] + +lnSucces = xdate() + +If !Used('menu1') + Use &lcCaleDateMenu.menu1 In 0 Alias menu1 Excl +Endif + +If !Used('INFISIERE') + Use &lcCaleDateMenu.INFISIERE In 0 Alias INFISIERE +Endif + +If !Used('selectii') + Use &lcCaleDateMenu.gest_selectii In 0 Alias selectii +Endif + +*!* modificare v 2.1.1 +If !Used('mila1') + Use &lcCaleDateMenu.mila1 In 0 Alias mila1 +endif + +Endproc && update_nomenclator \ No newline at end of file diff --git a/Programe/verificare_roris_ecluze.prg b/Programe/verificare_roris_ecluze.prg new file mode 100644 index 0000000..bbb7bc3 --- /dev/null +++ b/Programe/verificare_roris_ecluze.prg @@ -0,0 +1,1352 @@ +Close Databases All +Set Century On +Set Date Dmy +Set Exact On +Set Ansi On +Set Deleted Off +Set Safety Off + +* Clasa oEmail +* oEmail > oThunderbirdEmailCmd +* oEmail > oCDO +* oEmail > oOutlook +* oEmail > oMapi + +* getoEmail: citeste optiunile de email din ROA\settings.ini si intoarce obiectul oMail +* loMail = getoEmail() +* loMail.cTo = 'test@test.ro' +* loMail.EmailSetAttachment('c:\factura.pdf') +* lnErrors = loMail.Send() +* if lnErrors > 0 +* messageb(loMail.GetErrorMessage) +* end if + +*!* 07.04.2020 +*!* Am adaugat clasa trimiterea de email prin client Mapi + + +#Define oAnonymous 0 && Perform no authentication (anonymous) +#Define oBasic 1 && Use the basic (clear text) authentication mechanism. + +* https://www.berezniker.com/content/pages/visual-foxpro/cdo-2000-class-sending-emails + +#Define cdoSendPassword "http://schemas.microsoft.com/cdo/configuration/sendpassword" +#Define cdoSendUserName "http://schemas.microsoft.com/cdo/configuration/sendusername" +#Define cdoSendUsingMethod "http://schemas.microsoft.com/cdo/configuration/sendusing" +#Define cdoSMTPAuthenticate "http://schemas.microsoft.com/cdo/configuration/smtpauthenticate" +#Define cdoSMTPConnectionTimeout "http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout" +#Define cdoSMTPServer "http://schemas.microsoft.com/cdo/configuration/smtpserver" +#Define cdoSMTPServerPort "http://schemas.microsoft.com/cdo/configuration/smtpserverport" +#Define cdoSMTPUseSSL "http://schemas.microsoft.com/cdo/configuration/smtpusessl" +#Define cdoURLGetLatestVersion "http://schemas.microsoft.com/cdo/configuration/urlgetlatestversion" +#Define cdoAnonymous 0 && Perform no authentication (anonymous) +#Define cdoBasic 1 && Use the basic (clear text) authentication mechanism. +#Define cdoSendUsingPort 2 && Send the message using the SMTP protocol over the network. +#Define cdoXMailer "urn:schemas:mailheader:x-mailer" + +#Define xlCellTypeVisible 12 +#Define xlSourceRange 4 +#Define xlHtmlStatic 0 + +#Define olFolderSentMail 5 +#Define olFormatHTML 2 + +#Define wdFormatOriginalFormatting 16 && Preserves original formatting of the pasted material + +#Define SUCCESS_SUCCESS 0 +#Define MAPI_DIALOG 8 +#Define MAPI_ORIG 0 +#Define MAPI_TO 1 +#Define MAPI_CC 2 +#Define MAPI_BCC 3 +*-------------------------------------------------------------------------------------------- + +************************************************ +*** Verificare ecluzare sas-uri/camere ecluze RORIS +************************************************ +lcDirector = ADDBS(JUSTPATH(SYS(16,0))) + + +lcConvoaie = m.lcDirector + 'convoaie.dbf' +IF !FILE(m.lcConvoaie) + CREATE TABLE (m.lcConvoaie) (vye_id C(36), declaratie C(8), ; + ag N(1), cv N(1), ov N(1), nv N(1), ; + ag_sasn N(1), cv_sasn N(1), ov_cn N(1), nv_cn N(1), ; + ag_data T NULL, cv_data T NULL, ov_data T NULL, nv_data T NULL) + SELECT convoaie + INDEX on declaratie TAG declaratie + USE IN (SELECT('convoaie')) +ENDIF +USE (m.lcConvoaie) IN 0 SHARED ALIAS convoaie + +* transmit doar ecluzarile mai noi decat ultima data de ecluzare +CALCULATE MAX(ag_data), MAX(cv_data), MAX(ov_data), MAX(nv_data) TO lnAgData, lnCVData, lnOVData, lnNVData IN convoaie +ldDataOra = MAX(lnAgData, lnCVData, lnOVData, lnNVData) + +lnHandle = SQLConnect("roa", "acn","ROMFASTSOFT") +If m.lnHandle <= 0 + Aerror(laEroare) + WriteLog(laEroare(3)) + Return +Endif + +TEXT TO lcsql TEXTMERGE noshow +select distinct vye_id, declaratio as declaratie, agigea as ag, cernavoda as cv, navodari as nv, ovidiu as ov, + agigea_data as ag_data, cernavoda_data as cv_data, navodari_data as nv_data, ovidiu_data as ov_data, + agigea_sasn as ag_sasn, cernavoda_sasn as cv_sasn, ovidiu_cn as ov_cn, navodari_cn as nv_cn from +(select v.vye_id, v.declaratio, v.generation, + nvl(vlt.AGIGEA,0) as AGIGEA, + nvl(vlt.CERNAVODA,0) as CERNAVODA, + nvl(vlt.NAVODARI,0) as NAVODARI, + nvl(vlt.OVIDIU,0) as OVIDIU, + vlt.AGIGEA_DATA, + vlt.CERNAVODA_DATA, + vlt.OVIDIU_DATA, + vlt.NAVODARI_DATA, + (case when nvl(vlt.AGIGEA,0) = 1 and nvl(vltm.AGIGEA_SAS1,0) = 0 and nvl(vltm.AGIGEA_SAS2,0) = 0 then 1 else 0 end) as AGIGEA_SASN, + (case when nvl(vlt.CERNAVODA,0) = 1 and nvl(vltm.CERNAVODA_SAS1,0) = 0 and nvl(vltm.CERNAVODA_SAS2,0) = 0 then 1 else 0 end) as CERNAVODA_SASN, + (case when nvl(vlt.OVIDIU,0) = 1 and nvl(vltm.OVIDIU_C1,0) = 0 and nvl(vltm.OVIDIU_C2,0) = 0 then 1 else 0 end) as OVIDIU_CN, + (case when nvl(vlt.NAVODARI,0) = 1 and nvl(vltm.NAVODARI_C1,0) = 0 and nvl(vltm.NAVODARI_C2,0) = 0 then 1 else 0 end) as NAVODARI_CN + From IPS_VVOYAGES v + join IPS_VVOYAGE_MEMBERS vm + On v.id = vm.VYE_ID + left join ips_vvoyage_locks_tab vlt + on v.id = vlt.vye_id + left join ips_vvoyage_locks_vms_tab vltm + on vm.vye_id = vltm.vye_id and vm.id = vltm.vms_id) + where <= ' + ALLTRIM(STR(YEAR(m.ldDataOra)-1)) + ' and ', '')>>(agigea_sasn = 1 or cernavoda_sasn = 1 or ovidiu_cn = 1 or navodari_cn = 1) + order by declaratio; +ENDTEXT + +lnSucces = SQLExec(m.lnHandle, m.lcSql, 'crsConvoaie') +SQLDISCONNECT(m.lnHandle) + +lcText = '' +lnConvoaie = 0 +If m.lnSucces < 0 + Aerror(laEroare) + WriteLog(laEroare(3)) +Else + + + SELECT convoaie + SET ORDER TO declaratie + + lcText = 'Lista convoaie cu ecluzare, mai noi decat ' + TRANSFORM(m.ldDataOra) + ', care nu au inregistrate sas-ul/camera ecluzei:' + CHR(13) + CHR(10) + Select crsConvoaie + SCAN + SCATTER NAME loRec + lcDeclaratie = PADR(loRec.declaratie, 8, ' ') + + SELECT convoaie + IF !SEEK(m.lcDeclaratie) + APPEND BLANK + ENDIF + GATHER NAME loRec + WITH loRec + IF (.ag_data > m.ldDataOra AND .ag_sasn = 1) OR (.cv_data > m.ldDataOra AND .cv_sasn = 1) OR ; + (.ov_data > m.ldDataOra AND .ov_cn = 1) OR (.nv_data > m.ldDataOra AND .nv_cn = 1) + lcText = lcText + m.lcDeclaratie + lnConvoaie = lnConvoaie + 1 + + IF .ag_data > m.ldDataOra AND .ag_sasn = 1 + lcText = lcText + ', AG (' + TRANSFORM(.ag_data) + ')' + ENDIF + IF .cv_data > m.ldDataOra AND .cv_sasn = 1 + lcText = lcText + ', CV (' + TRANSFORM(.cv_data) + ')' + ENDIF + IF .ov_data > m.ldDataOra AND .ov_cn = 1 + lcText = lcText + ', OV (' + TRANSFORM(.ov_data) + ')' + ENDIF + IF .nv_data > m.ldDataOra AND .nv_cn = 1 + lcText = lcText + ', NV (' + TRANSFORM(.nv_data) + ')' + ENDIF + lcText = lcText + CHR(13) + CHR(10) + ENDIF + ENDWITH + ENDSCAN + + lcImportFile = Addbs(Justpath(Sys(16,0))) + 'verificare_roris_ecluze_' + DTOC(DATE(),1) + '.txt' + Strtofile(m.lcText, m.lcImportFile,1) +ENDIF + +USE IN (SELECT('crsConvoaie')) +USE IN (SELECT('convoaie')) + +************************************************ +lcSetariFile = m.lcDirector + 'settings.ini' +IF !FILE(m.lcSetariFile) + TEXT TO lcSettings noshow +[email] +mailserver = mail.acn.ro +port = 25 +username = facturare@acn.ro +password = fe1VLsNMZDZVJKW +from = compania@acn.ro +to = +cc = +bcc = +sendwithoutresults = 1 + ENDTEXT + STRTOFILE(m.lcSettings,m.lcSetariFile) +ENDIF +SET STEP ON +lcSetari = FILETOSTR(m.lcSetariFile) +lnLinii = ALINES(laLinii, lcSetari) +lcMailServer = '' +lcPort = '' +lcUsername = '' +lcPassword = '' +lcFrom = '' +lcTo = '' +lcCC = '' +lcBCC = '' +llSSL = .F. +llSendWithoutResults = .T. +FOR lnLinie = 1 TO lnLinii + lcLinie = laLinii(m.lnLinie) + IF AT('=', m.lcLinie) = 0 + LOOP + ENDIF + lcVariabila = LOWER(ALLTRIM(GETWORDNUM(m.lcLinie, 1, '='))) + lcValoare = ALLTRIM(GETWORDNUM(m.lcLinie, 2, '=')) + IF m.lcVariabila = 'mailserver' + lcMailServer = m.lcValoare + ENDIF + IF m.lcVariabila = 'port' + lcPort = m.lcValoare + ENDIF + IF m.lcVariabila = 'username' + lcUsername = m.lcValoare + ENDIF + IF m.lcVariabila = 'password' + lcPassword = m.lcValoare + ENDIF + IF m.lcVariabila = 'from' + lcFrom = m.lcValoare + ENDIF + IF m.lcVariabila = 'to' + lcTo = m.lcValoare + ENDIF + IF m.lcVariabila = 'cc' + lcCC = m.lcValoare + ENDIF + IF m.lcVariabila = 'bcc' + lcBCC = m.lcValoare + ENDIF + IF m.lcVariabila = 'ssl' + llSSL = (INT(VAL(m.lcValoare)) = 1) + ENDIF + IF m.lcVariabila = 'sendwithoutresults' + llSendWithoutResults = (INT(VAL(m.lcValoare)) = 1) + ENDIF +ENDFOR + +* Trimit email doar daca sunt rezultate? +IF m.lnConvoaie = 0 AND !m.llSendWithoutResults + WriteLog('0 convoaie. Nu se trimite email.') + RETURN +ENDIF + +llThunderbirdCMD = .F. +llCDO = .T. +llOutlook = .F. +llMapi = .F. +Do Case +Case m.llThunderbirdCMD + loEmail = Createobject("oThunderbirdEmailCmd") +Case m.llCDO + loEmail = Createobject("oCDO") +Case m.llOutlook + loEmail = Createobject("oOutlook") +Case m.llMapi + loEmail = Createobject("oMapi") +Otherwise + Return +Endcase + + +************************** +* CDO Specific +loEmail.cServer = m.lcMailServer +loEmail.nServerPort = INT(VAL(m.lcPort)) +loEmail.cUserName = m.lcUsername +loEmail.cPassword = m.lcPassword +loEmail.lUseSSL = m.llSSL +loEmail.nAuthenticate = Iif(Empty(loEmail.cUserName), oAnonymous, oBasic) +************************** + +************************** +* Thunderbird Specific +loEmail.EmailSetExePath('C:\Program Files (x86)\Mozilla Thunderbird\thunderbird.exe') +loEmail.EmailSetWait() +************************** + +************************** +* Outlook Specific +loEmail.EmailSetPreview(.F.) +loEmail.EmailSetDisplayWithoutInfo(.T.) +************************** + +loEmail.cFrom = lcFrom +loEmail.cTo = m.lcTo +loEmail.cCC = m.lcCC +loEmail.cBCC = m.lcBCC +loEmail.cSubject = ALLTRIM(STR(m.lnConvoaie)) + ' convoaie cu ecluzare, mai noi decat ' + TRANSFORM(m.ldDataOra) + ', care nu au inregistrate sas-ul/camera ecluzei:' + +loEmail.cHtmlBody = STRTRAN(m.lcText, CHR(13) + CHR(10),'
' + CHR(13)+CHR(10),1,10000,1) +loEmail.cTextBody = '' && m.lcText +loEmail.EmailSendWithoutAttachments(.T.) + +SET STEP ON +lnErrors = loEmail.Send() +ltDataEmail = Datetime() +llSucces = (m.lnErrors = 0) +lcEroare = Iif(!m.llSucces, loEmail.GetErrorMessage(), '') +WriteLog('Email trimis la ' + m.lcTo + ' : ' + IIF(m.llSucces, 'Succes', lcEroare)) + +* ----------------------------------- +* oEmail.Send +* > EmailSend +* >> EmailCreateCfg +* >> EmailSetConfiguration +* >> EmailSetHeader +* >> EmailSetParameters +Define Class oEmail As Custom + + Protected aErrors[1], nErrorCount, oMsg, oCfg, cXMailer + + nErrorCount = 0 + +* Message attributes + oMsg = Null + + cFrom = "" + cFromName = "" + cReplyTo = "" + cTo = "" + cCC = "" + cBCC = "" + cAttachment = "" && attachment file list separated by comma + nAttachments = 0 && number of attachment files + + cSubject = "" && subiect email factura + cHtmlBody = "" && continut email factura + cTextBody = "" + cHtmlBodyUrl = "" + + cBorderouSubject = "" && subiect email borderou + cBorderouBody = "" && continut email borderou + + cCharset = "" + +* Priority: Normal, High, Low or empty value (Default) + cPriority = "" + +* Configuration object fields values + oCfg = Null + cServer = "" + nServerPort = 25 +* Use SSL connection + lUseSSL = .F. + nConnectionTimeout = 30 && Default 30 sec's + nAuthenticate = oAnonymous + cUserName = "" + cPassword = "" +* Do not use cache for cHtmlBodyUrl + lURLGetLatestVersion = .T. + +* Optional. Creates your own X-MAILER field in the header + cXMailer = "" + + cEmailExePath = '' + cEmailProfile = '' + + lEmailWait = .F. && wait for the email to be sent, to advance to the next email + + lEmailPreview = .F. && preview each mail (default .F.) + lDisplayEmailWithoutInfo = .F. && display mail without from, to, subject, body, attachment + lCanDisplayEmailWithoutInfo = .T. && can the email without from, to, subject, body be displayed to user? (CDO does not display anything, for now) + + lFirstEmail = .T. && after the first email becomes .F., in case you want to do some things only the first time (eg: show the Sent folder in Outlook) + lSendWithoutAttachments = .F. && if email can be sent without attachment (Default = .F.) + + Protected Procedure Init + This.ClearErrors() + Endproc + + +* Send message +* Return Number of Errors (0 = succes) + Procedure Send + + Local lnErrorCount + lnErrorCount = This.GetErrorCount() + If m.lnErrorCount > 0 + This.ClearMessage() + Return m.lnErrorCount + Endif + + With This + .ClearErrors() + .EmailCreateCfg() && abstract, to be implemented + Endwith + +* Check server, user, password + lnErrorCount = This.SetConfiguration() + + If m.lnErrorCount = 0 +* If email without info doesn't display to the user, add error + If !(This.lDisplayEmailWithoutInfo And This.lCanDisplayEmailWithoutInfo) + If Empty(This.cFrom) + This.AddError("ERROR : From is empty.") + Endif + If Empty(This.cSubject) + This.AddError("ERROR : Subject is empty.") + Endif + + If Empty(This.cTo) && And Empty(This.cCC) And Empty(This.cBCC) +* This.AddError("ERROR : To, CC and BCC are all empty.") +* Nu permit trimiterea de emailuri (cu facturi) fara TO. +* Altfel le trimite doar la CC/BCC, adica trimite copia inapoi. +* CC/BCC sunt fixe in settings.ini si nu ma intereseaza daca sunt sau nu completate + This.AddError("ERROR : To is empty.") + Endif + Endif + Endif && SetConfiguration + + lnErrorCount = This.GetErrorCount() + If m.lnErrorCount = 0 + This.EmailSetHeader() + This.EmailSetParameters() + Endif + + lnErrorCount = This.GetErrorCount() + If m.lnErrorCount = 0 + This.AddAttachments() + +* If email without attachment doesn't display to the user, add error + If !(This.lDisplayEmailWithoutInfo And This.lCanDisplayEmailWithoutInfo) + If !This.lSendWithoutAttachments And Empty(This.EmailGetAttachmentsNumber()) + This.AddError("ERROR : There are no attachments.") + Endif + Endif + Endif + +* Send Email + lnErrorCount = This.GetErrorCount() + If m.lnErrorCount = 0 + This.EmailSend() + lnErrorCount = This.GetErrorCount() + Endif + + This.lFirstEmail = .F. + This.ClearMessage() + + Return m.lnErrorCount + Endproc + +* Clear errors collection + Procedure ClearErrors() + This.nErrorCount = 0 + Dimension This.aErrors[1] + This.aErrors[1] = Null + Return This.nErrorCount + Endproc + +* Return # of errors in the error collection + Procedure GetErrorCount + Return This.nErrorCount + Endproc + +* Return error by index + Procedure Geterror + Lparameters tnErrorno + If tnErrorno <= This.GetErrorCount() + Return This.aErrors[tnErrorno] + Else + Return Null + Endif + Endproc + +* Return all error messages into one message + Procedure GetErrorMessage + Lparameters tlClearErrors +* tlClearErrors (optional): clear all error messages + + Local lcErrorMessage, lnError, lnErrors + lnErrors = This.GetErrorCount() + lcErrorMessage = '' + For lnError = 1 To m.lnErrors + lcErrorMessage = m.lcErrorMessage + This.Geterror(m.lnError) + '***' + Endfor + +* Clear errors + If m.tlClearErrors + This.ClearErrors() + Endif + + Return m.lcErrorMessage + Endproc && GetErrorMessage + +* Populate configuration object + Protected Procedure SetConfiguration + +* Validate supplied configuration values + If Empty(This.cServer) + This.AddError("ERROR: SMTP Server isn't specified.") + Endif + If Not Inlist(This.nAuthenticate, oAnonymous, oBasic) + This.AddError("ERROR: Invalid Authentication protocol ") + Endif + If This.nAuthenticate = oBasic ; + AND (Empty(This.cUserName) Or Empty(This.cPassword)) + This.AddError("ERROR: User name/Password is required for basic authentication") + Endif + + If This.GetErrorCount() > 0 + Return This.GetErrorCount() + Endif + +* Populate configuration objects + This.EmailSetConfiguration() + + Return This.GetErrorCount() + + Endproc + +*---------------------------------------------------- +* Add message to the error collection + Protected Procedure AddError + Lparameters tcErrorMsg + This.nErrorCount = This.nErrorCount + 1 + Dimension This.aErrors[This.nErrorCount] + This.aErrors[This.nErrorCount] = tcErrorMsg + Return This.nErrorCount + Endproc + +*---------------------------------------------------- +* Format an error message and add to the error collection + Protected Procedure AddOneError + Lparameters tcPrefix, tnError, tcMethod, tnLine + Local lcErrorMsg, laList[1] + If Inlist(tnError, 1427, 1429) + Aerror(laList) + lcErrorMsg = Transform(laList[7], "@0") + " " + laList[3] + Else + lcErrorMsg = Message() + Endif + This.AddError(tcPrefix + ":" + Transform(tnError) + " # " + ; + tcMethod + " # " + Transform(tnLine) + " # " + lcErrorMsg) + Return This.nErrorCount + Endproc + +*---------------------------------------------------- +* Simple Error handler. Adds VFP error to the objects error collection + Protected Procedure Error + Lparameters tnError, tcMethod, tnLine + This.AddOneError("ERROR: ", tnError, tcMethod, tnLine ) + Return This.nErrorCount + Endproc + + Procedure EmailSetProfile + Lparameters tcProfile + This.cEmailProfile = m.tcProfile + Endproc + + Procedure EmailSetExePath + Lparameters tcExePath + This.cEmailExePath = m.tcExePath + Endproc + + Procedure EmailSetWait + Lparameters tlWait + This.lEmailWait = m.tlWait + Endproc && EmailSetWait + + +*------------------------------------------------------- +* Add a file to the attachement list + Procedure EmailSetAttachment + Lparameters tcFile + If !Empty(m.tcFile) And Type('tcFile') = 'C' + This.cAttachment = This.cAttachment + Iif(!Empty(This.cAttachment), ",", "") + m.tcFile + Endif + Endproc && SetAttachment + +*------------------------------------------------------- +* Overwrite the attachement list with a list of files + Procedure EmailSetAttachments + Lparameters tcFiles + If !Empty(m.tcFiles) And Type('tcFiles') = 'C' + This.cAttachment = m.tcFiles + Endif + Endproc && SetAttachment + +*------------------------------------------------------- +* Empty the recipient list in subclass + Procedure EmailClearMessage +* To be implemented + Endproc && EmailClearMessage + + Procedure ClearMessage + This.EmailClearMessage() + This.cTo = "" + This.cHtmlBody = "" + This.cSubject = "" + This.cAttachment = "" + Endproc && ClearMessage + + Procedure EmailSendWithoutAttachments + Lparameters tlSendWithoutAttachments + This.lSendWithoutAttachments = m.tlSendWithoutAttachments + Endproc + + + Procedure AddAttachments + Local laList[1], laDummy[1] + Local lcAttachment, lnAttachment, lnAttachments + +* Process attachments + If Not Empty(This.cAttachment) +* Accepts comma or semicolon + lnAttachments = Alines(laList, This.cAttachment, [,], [;]) + For lnAttachment = 1 To m.lnAttachments + lcAttachment = Alltrim(laList[m.lnAttachment]) +* Ignore empty values + If Empty(laList[m.lnAttachment]) + Loop + Endif + +* Make sure that attachment exists + If Adir(laDummy, lcAttachment) = 0 + This.AddError("ERROR: Attachment not Found - " + lcAttachment) + Else +* The full path is required. + If Upper(lcAttachment) <> Upper(Fullpath(lcAttachment)) + lcAttachment = Fullpath(lcAttachment) + Endif + This.EmailAddAttachment(lcAttachment) + Endif + Endfor + Endif + Endproc && AddAttachments + + Procedure EmailAddAttachment + Lparameters tcAttachment +* To be implemented + Endproc && EmailAddAtachment + + Procedure EmailGetAttachmentsNumber + Return Getwordcount(This.cAttachment, [,]) + Endproc + + Procedure EmailSetPreview + Lparameters tlSetPreview + This.lEmailPreview = m.tlSetPreview + Endproc && EmailSetPreview + + Procedure EmailSetDisplayWithoutInfo + Lparameters tlSetDisplay + This.lDisplayEmailWithoutInfo = m.tlSetDisplay + Endproc && EmailSetDisplayWithoutInfo + +*------------------------------------------------------- +* Create configuration objects + Procedure EmailCreateCfg +* to be implemented + Endproc + +*------------------------------------------------------- +* Set mail header fields, if necessary. For now sets X-MAILER, if specified + Procedure EmailSetHeader +* to be implemented + Endproc + +*------------------------------------------------------- +* Set to, from, atachments.. + Procedure EmailSetParameters +* to be implemented + Endproc + +*------------------------------------------------------- +* Set server, username, password +* Return Number of Errors (0 = success) + Procedure EmailSetConfiguration() +* to be implemented + Return 0 + Endproc + + +*------------------------------------------------------- +* Send email + Procedure EmailSend +* to be implemented + Endproc + +*------------------------------------------------------- +* Add Error + Procedure EmailAddError + Lparameters tcErrorMessage + This.AddError("ERROR : " + Transform(m.tcErrorMessage)) + Endproc + +*---------------------------------------------------- +* + Protected Procedure cPriority_assign(tvVal) +* Check for incorrect values + If Inlist("~" + Proper(tvVal) + "~", "~High~", "~Normal~", "~Low~") Or Empty(tvVal) + This.cPriority = Proper(Alltrim(tvVal)) + Else + This.AddError("ERROR: Invalid value for cPriority property.") + Endif + Endproc + +Enddefine && oEmail + +*----------------------------------------------------------- +*!* oEmail.Send +*!* > EmailCreateCfg +*!* > EmailSetConfiguration +*!* > EmailSetHeader +*!* > EmailSetParameters +*!* > EmailSend +Define Class oThunderbirdEmailCmd As oEmail + Procedure EmailSend + + Local loRun As 'api_apprun' Of 'process.vcx' + Local lcBody, lcCommandLine, lcExePath, lcProfile + + lcProfile = This.cEmailProfile + lcExePath = This.cEmailExePath + lcBody = Iif(!Empty(This.cHtmlBody), This.cHtmlBody, This.cTextBody) + + If Empty(This.cHtmlBody) + lcBody = Strtran(m.lcBody, Chr(13) + Chr(10), [
], 1, 1000, 1) + lcBody = Strtran(m.lcBody, Chr(13), [
], 1, 1000, 1) + Else + lcBody = Strtran(m.lcBody, Chr(13) + Chr(10), [], 1, 1000, 1) + lcBody = Strtran(m.lcBody, Chr(13), [], 1, 1000, 1) + Endif + lcBody = Strtran(m.lcBody, [,], [,], 1, 1000, 1) + + lcCommandLine = ["] + m.lcExePath + ["] + ; + IIF(!Empty(m.lcProfile), [-profile "] + m.lcProfile + ["], []) + ; + [ -compose ] + ; + IIF(!Empty(This.cFrom), [from="] + This.cFrom + ["], []) + ; + IIF(!Empty(This.cTo), [,to="] + This.cTo + ["], []) + ; + IIF(!Empty(This.cCC), [,cc="] + This.cCC + ["], []) + ; + IIF(!Empty(This.cBCC), [,bcc="] + This.cBCC + ["], []) + ; + IIF(!Empty(This.cSubject), [,subject="] + This.cSubject + ["], []) + ; + IIF(!Empty(m.lcBody), [,body="] + m.lcBody + ["], []) + ; + IIF(!Empty(This.cAttachment), [,attachment='] + This.cAttachment + ['], []) + + If !'process.vcx' $ Lower(Set("Classlib")) + Set Classlib To 'D:\ROA\ROAACNPRO\COMUN\clase\process.vcx' Additive + Endif + + loRun = Createobject('api_apprun') + + If File (m.lcExePath) + loRun.iccommandline = m.lcCommandLine + If This.lEmailWait + loRun.launchappandwait() + Else + loRun.launchapp() + Endif + Else + This.EmailAddError('Thunderbird exe path ' + m.lcExePath + ' does not exist!') + Endif + + Endproc && EmailSend +Enddefine && ThunderbirdEmailCMD + +*----------------------------------------------------------- +*!* oEmail.Send +*!* > EmailCreateCfg +*!* > EmailSetConfiguration +*!* > EmailSetHeader +*!* > EmailSetParameters +*!* > EmailSend +Define Class oCDO As oEmail + + Protected oMsg, oCfg + + +* Message attributes + oMsg = Null +* Configuration object fields values + oCfg = Null + + Procedure Init + DoDefault() + Local loEx As Exception + + This.lCanDisplayEmailWithoutInfo = .F. + +* Optional. Creates your own X-MAILER field in the header + This.cXMailer = "VFP CDO 2000 mailer Ver 1.1.100 2010" + Endproc +*------------------------------------------------------- + Procedure EmailCreateCfg + Local loEx As Exception + Try + This.oMsg = Createobject("CDO.Message") + This.oCfg = Createobject("CDO.Configuration") + This.oMsg.Configuration = This.oCfg + Catch To loEx + This.AddError('ERROR: CDO Configuration could not be instantiated ' + Transform(loEx.ErrorNo) + ' ' + loEx.Message) + Endtry + Endproc + +*------------------------------------------------------- +* Populate configuration object + Procedure EmailSetConfiguration + With This.oCfg.Fields +* Send using SMTP server + .Item(cdoSendUsingMethod) = cdoSendUsingPort + .Item(cdoSMTPServer) = This.cServer + .Item(cdoSMTPServerPort) = This.nServerPort + .Item(cdoSMTPConnectionTimeout) = This.nConnectionTimeout + + .Item(cdoSMTPAuthenticate) = This.nAuthenticate + If This.nAuthenticate = cdoBasic + .Item(cdoSendUserName) = This.cUserName + .Item(cdoSendPassword) = This.cPassword + Endif + .Item(cdoURLGetLatestVersion) = This.lURLGetLatestVersion + .Item(cdoSMTPUseSSL) = This.lUseSSL + + .Update() + Endwith + Endproc + +*------------------------------------------------------- +* Set mail header fields, if necessary. For now sets X-MAILER, if specified + Procedure EmailSetHeader + Local loHeader + If Not Empty(This.cXMailer) + loHeader = This.oMsg.Fields + With loHeader + .Item(cdoXMailer) = This.cXMailer + .Update() + Endwith + Endif + Endproc + +*------------------------------------------------------- + Procedure EmailSetParameters +* Fill message attributes + Local lcMailHeader + With This.oMsg + + .From = This.cFrom + .ReplyTo = This.cReplyTo + + .To = This.cTo + .CC = This.cCC + .BCC = This.cBCC + .Subject = This.cSubject + +* Create HTML body from external HTML (file, URL) + If Not Empty(This.cHtmlBodyUrl) + .CreateMHTMLBody(This.cHtmlBodyUrl) + Endif + +* Send HTML body. Creates TextBody as well + If Not Empty(This.cHtmlBody) + .HtmlBody = This.cHtmlBody + Endif + +* Send Text body. Could be different from HtmlBody, if any + If Not Empty(This.cTextBody) + .TextBody = This.cTextBody + Endif + + If Not Empty(This.cCharset) + If Not Empty(.HtmlBody) + .HtmlBodyPart.Charset = This.cCharset + Endif + + If Not Empty(.TextBody) + .TextBodyPart.Charset = This.cCharset + Endif + Endif + + If Not Empty(This.cCharset) + .BodyPart.Charset = This.cCharset + Endif + +* Priority + If Not Empty(This.cPriority) + lcMailHeader = "urn:schemas:mailheader:" + .Fields(lcMailHeader + "Priority") = Lower(This.cPriority) + .Fields(lcMailHeader + "Importance") = Lower(This.cPriority) + Do Case + Case This.cPriority = "High" + .Fields(lcMailHeader + "X-Priority") = 1 && 5=Low, 3=Normal, 1=High + Case This.cPriority = "Normal" + .Fields(lcMailHeader + "X-Priority") = 3 && 5=Low, 3=Normal, 1=High + Case This.cPriority = "Low" + .Fields(lcMailHeader + "X-Priority") = 5 && 5=Low, 3=Normal, 1=High + Endcase + .Fields.Update() + Endif + Endwith + Endproc + + Procedure EmailAddAttachment + Lparameters tcAttachment + + This.oMsg.AddAttachment(m.tcAttachment) + Endproc + +*------------------------------ + Procedure EmailClearMessage + This.oMsg = Null + This.oCfg = Null + Endproc && EmailClearMessage + +*---------------------------------------------------- +* Send message + Procedure EmailSend + This.oMsg.Send() + Endproc + +Enddefine && oCDO + +Define Class oOutlook As oEmail + oOutlook = Null + oMailItem = Null + + Procedure Init + DoDefault() + Local loEx As Exception + Try + This.oOutlook = Createobject('outlook.application') + Catch To loEx + This.AddError('ERROR: OUTLOOK could not be instantiated ' + Transform(loEx.ErrorNo) + ' ' + loEx.Message) + Endtry + + Endproc && Init +************************************ + Procedure EmailCreateCfg + Local loEx As Exception + + If !Isnull(This.oOutlook) + Try +* Create Mail Item + This.oMailItem = This.oOutlook.CreateItem(0) + Catch To loEx + This.AddError('ERROR: OUTLOOK MailItem could not be instantiated ' + Transform(loEx.ErrorNo) + ' ' + loEx.Message) + Endtry + Endif + Endproc && EmailCreateCfg + +************************************ + Procedure EmailSetParameters + Local lcAttachment, lnAttachment + With This.oMailItem + .To = This.cTo + .Subject = This.cSubject + .CC = This.cCC + .BCC = This.cBCC + .BodyFormat = olFormatHTML + .HtmlBody = This.cHtmlBody + Endwith + Endproc && EmailSetParameters + + Procedure EmailAddAttachment + Lparameters tcAttachment + + This.oMailItem.Attachments.Add(m.tcAttachment) + Endproc + +*------------------------------ + Procedure EmailClearMessage + This.oMailItem = Null + Endproc && EmailClearMessage + +*------------------------------ + Procedure EmailSend + Local llEmailDisplay, llEmailPreview, loDefaultFolder, loMailItem, loNameSpace + loMailItem = This.oMailItem +* Display Sent folder only for the first email, so that the emails will get send + If This.lFirstEmail + loNameSpace = This.oOutlook.getnamespace('MAPI') + loDefaultFolder = loNameSpace.GetDefaultFolder(olFolderSentMail) && SentMail + loDefaultFolder.Display() + Endif + +* Daca nu sunt completate toate informatiile arat emailul utilizatorului + llEmailDisplay = This.lDisplayEmailWithoutInfo And (Empty(This.cTo) Or Empty(This.cSubject) Or (!This.lSendWithoutAttachments And Empty(This.EmailGetAttachmentsNumber()))) + llEmailPreview = This.lEmailPreview + +&& Daca nu arat fiecare email, il trimit automat + If m.llEmailPreview Or m.llEmailDisplay + loMailItem.Display + Else + loMailItem.Send + Endif + + This.oMailItem = Null + loMailItem = "" + Endproc && EmailSend + +Enddefine &&oOutlook + +*--------------------------------- +Define Class oMapi As oEmail + snd = .F. + rcp = .F. + att = .F. + +*------------------------------------------------------- + Procedure EmailCreateCfg + Local loEx As Exception + Try + This.snd = Createobject("TRecipients") + This.rcp = Createobject("TRecipients") + This.att = Createobject("TAttachments") + Catch To loEx + This.AddError('ERROR: Mapi Configuration could not be instantiated ' + Transform(loEx.ErrorNo) + ' ' + loEx.Message) + Endtry + Endproc + +*------------------------------------------------------- + Procedure EmailSetParameters + Local lcRecipient, lnRecipient, lnRecipients + + This.AddSender(This.cFromName, This.cFrom) + This.AddRecipient(This.cTo, MAPI_TO) + This.AddRecipient(This.cCC, MAPI_CC) + This.AddRecipient(This.cBCC, MAPI_BCC) + Endproc + + Procedure AddSender(lcSndName, lcSndAddr) + Local lnClass + lnClass = MAPI_ORIG + If Type("lcSndAddr") <> "C" + lcSndAddr = lcSndName + Endif + + This.snd.AppendItem(m.lnClass, lcSndName, lcSndAddr) + Endproc && AddSender + +* --------------------------- +* Fill To, CC, BCC + Procedure AddRecipient + Lparameters tcRecipientList, tnClass +* tcRecipientpList: comma delimited list of recipients +* tnClass: MAPI_TO, MAPI_CC, MAPI_BCC + + Local lcRecipientAddress, lcRecipientList, lcRecipientName, lnClass, lnRecipient, lnRecipients + lnClass = Iif(Type('tnClass') = 'N', m.tnClass, MAPI_TO) + lcRecipientList = Iif(Type('tcRecipientList') = 'C', m.tcRecipientList, '') + lnRecipients = Getwordcount(m.lcRecipientList, [,]) + For lnRecipient = 1 To m.lnRecipients + lcRecipientAddress = Getwordnum(m.lcRecipientList, m.lnRecipient, [,]) + lcRecipientName = m.lcRecipientAddress + This.rcp.AppendItem(m.lnClass, m.lcRecipientName, m.lcRecipientAddress) + Endfor + Endproc && AddRecipient + + Procedure EmailAddAttachment + Lparameters tcAttachment + Return This.att.AppendItem(m.tcAttachment) + Endproc + + Procedure EmailClearMessage + This.rcp.ClearItems + This.att.ClearItems + Endproc && EmailClearMessage + + +*---------------------------------------------------- +* Send message + Procedure EmailSend + + Local lcMapiMessage, loSubject, loBody, ii, lnResult, lcStoredPath + loSubject = Createobject("PChar", This.cSubject) + loBody = Createobject("PChar", This.cHtmlBody) + lcStoredPath = Sys(5) + Sys(2003) + +* assembling MapiMessage structure + lcMapiMessage = num2dword(0) + ; + num2dword(loSubject.getAddr()) + num2dword(loBody.getAddr()) + ; + num2dword(0) + num2dword(0) + num2dword(0) + num2dword(0) + ; + num2dword(This.snd.getAddr()) + ; + num2dword(This.rcp.ItemCount) + num2dword(This.rcp.getAddr()) + ; + num2dword(This.att.ItemCount) + ; + num2dword(Iif(This.att.ItemCount = 0, 0, This.att.getAddr())) + + Declare Integer MAPISendMail In mapi32; + INTEGER lhSession, Integer ulUIParam, String @lpMessage, ; + INTEGER flFlags, Integer ulReserved + + +* Daca nu sunt completate toate informatiile arat emailul utilizatorului + llEmailDisplay = This.lDisplayEmailWithoutInfo And (Empty(This.cTo) Or Empty(This.cSubject) Or (!This.lSendWithoutAttachments And Empty(This.EmailGetAttachmentsNumber()))) + llEmailPreview = This.lEmailPreview + Set Step On +&& Daca nu arat fiecare email, il trimit automat + If m.llEmailPreview Or m.llEmailDisplay + lnResult = MAPISendMail(0, 0, @lcMapiMessage, MAPI_DIALOG, 0) + Else + lnResult = MAPISendMail(0, 0, @lcMapiMessage, 0, 0) + Endif + If (m.lnResult <> 0) + This.AddError("ERROR : Message not sent.") + Endif + + Set Default To (lcStoredPath) + Return (lnResult = 0) && sendmessage + Endproc + +Enddefine && oMapi + +*------------------------------------------------------ +* oMapi helper classes +Define Class TRecipients As Custom && array of recipients + ItemCount = 0 + Dimen arrRecip[1] + RcpsBuffer = .F. + + Procedure Destroy + This.UnlockData + This.ClearItems + + Procedure getAddr + This.LockData + Return This.RcpsBuffer.getAddr() + + Procedure LockData + This.UnlockData + + Local lcBuffer, ii + lcBuffer = "" + For ii = 1 To This.ItemCount + lcBuffer = lcBuffer + This.arrRecip[ii].GetValue() + Endfor + This.RcpsBuffer = Createobject("PChar", lcBuffer) + + Procedure UnlockData + If Type("THIS.RcpsBuffer") = "O" + This.RcpsBuffer.ReleaseString + This.RcpsBuffer = .F. + Endif + + Procedure AppendItem(lnClass, lcName, lcAddress) + This.ItemCount = This.ItemCount + 1 + Dimen This.arrRecip[THIS.ItemCount] + This.arrRecip[THIS.ItemCount] = Createobject("TRecipient", lnClass, lcName, lcAddress) + + Procedure ClearItems + Local ii + For ii = 1 To This.ItemCount + This.arrRecip[ii].ReleaseRecipient + This.arrRecip[ii] = .F. + Endfor + This.ItemCount = 0 + Dimen This.arrRecip[1] +Enddefine && trecipients + +Define Class TRecipient As Custom + RcpClass = 0 && 0-sender, 1-primary rec., 2-copy rec., 3-blind copy rec. + RcpName = .F. + RcpAddress = .F. + RcpBuffer = "" + + Procedure Init(lnClass, lcName, lcAddress) + This.InitRecipient(lnClass, lcName, lcAddress) + + Procedure Destroy + This.ReleaseRecipient + + Procedure ReleaseRecipient + If Type("THIS.RcpAddress") = "O" + This.RcpAddress.ReleaseString + This.RcpAddress = .F. + Endif + If Type("THIS.RcpName") = "O" + This.RcpName.ReleaseString + This.RcpName = .F. + Endif + + Procedure InitRecipient(lnClass, lcName, lcAddress) + This.ReleaseRecipient + This.RcpName = Createobject("PChar", lcName) + This.RcpAddress = Createobject("PChar", lcAddress) + + This.RcpBuffer = num2dword(0) + ; + num2dword(lnClass) + ; + num2dword(This.RcpName.getAddr()) + ; + num2dword(This.RcpAddress.getAddr()) + ; + num2dword(0) + num2dword(0) + + Function GetValue + Return This.RcpBuffer +Enddefine && trecipient + +Define Class TAttachments As Custom + ItemCount = 0 + Dimen arrAttach[1] + AttsBuffer = .F. + + Procedure Destroy + This.UnlockData + This.ClearItems + + Procedure getAddr + This.LockData + Return This.AttsBuffer.getAddr() + + Procedure LockData + This.UnlockData + + Local lcBuffer, ii + lcBuffer = "" + For ii = 1 To This.ItemCount + lcBuffer = lcBuffer + This.arrAttach[ii].GetValue() + Endfor + This.AttsBuffer = Createobject("PChar", lcBuffer) + + Procedure UnlockData + If Type("THIS.AttsBuffer") = "O" + This.AttsBuffer.ReleaseString + This.AttsBuffer = .F. + Endif + + Procedure AppendItem(lcFilename) + If File(lcFilename) + This.ItemCount = This.ItemCount + 1 + Dimen This.arrAttach[THIS.ItemCount] + + This.arrAttach[THIS.ItemCount] = ; + CREATEOBJECT("TAttachment", lcFilename, This.ItemCount) + + Return Type("THIS.arrAttach[THIS.ItemCount]") = "O" + Else + Return .F. + Endif + + Procedure ClearItems + Local ii + For ii = 1 To This.ItemCount + This.arrAttach[ii].ReleaseAttachment + This.arrAttach[ii] = .F. + Endfor + This.ItemCount = 0 + Dimen This.arrAttach[1] +Enddefine && tattachments + +Define Class TAttachment As Custom + AttBuffer = "" + AttFilename = .F. + + Procedure Init(lcFilename, nPosition) + This.InitAttachment(m.lcFilename, m.nPosition) + + Procedure Destroy + This.ReleaseAttachment + + Procedure InitAttachment(lcFilename, nPosition) +*!* typedef struct { +*!* ULONG ulReserved; +*!* ULONG flFlags; +*!* ULONG nPosition; +*!* LPTSTR lpszPathName; +*!* LPTSTR lpszFileName; +*!* LPVOID lpFileType; +*!* } MapiFileDesc, FAR *lpMapiFileDesc; + + This.ReleaseAttachment + This.AttFilename = Createobject("PChar", lcFilename) + + This.AttBuffer = num2dword(0) + num2dword(0) + ; + num2dword(m.nPosition) + ; + num2dword(This.AttFilename.getAddr()) + ; + num2dword(0) + num2dword(0) + + Procedure ReleaseAttachment + If Type("THIS.AttFilename") = "O" + This.AttFilename.ReleaseString + This.AttFilename = .F. + Endif + + Function GetValue + Return This.AttBuffer +Enddefine && tattachment + +Define Class PChar As Custom + Protected Hmem + + Procedure Init(lcString) + This.Hmem = 0 + This.setValue(lcString) + + Procedure Destroy + This.ReleaseString + + Function getAddr && returns a pointer to the string + Return This.Hmem + + Function GetValue && returns string value + Local lnSize, lcBuffer + lnSize = This.getAllocSize() + lcBuffer = Space(lnSize) + + If This.Hmem <> 0 + Declare RtlMoveMemory In kernel32 As MemToStr; + STRING @, Integer, Integer + = MemToStr(@lcBuffer, This.Hmem, lnSize) + Endif + Return lcBuffer + + Function getAllocSize && returns allocated memory size (string length) + Declare Integer GlobalSize In kernel32 Integer Hmem + Return Iif(This.Hmem = 0, 0, GlobalSize(This.Hmem)) + + Procedure setValue(lcString) && assigns new string value + #Define GMEM_FIXED 0 + This.ReleaseString + + Declare Integer GlobalAlloc In kernel32 Integer, Integer + Declare RtlMoveMemory In kernel32 As StrToMem; + INTEGER, String @, Integer + + Local lnSize + lcString = lcString + Chr(0) + lnSize = Len(lcString) + This.Hmem = GlobalAlloc(GMEM_FIXED, lnSize) + If This.Hmem <> 0 + = StrToMem(This.Hmem, @lcString, lnSize) + Endif + + Procedure ReleaseString && releases allocated memory + If This.Hmem <> 0 + Declare Integer GlobalFree In kernel32 Integer + = GlobalFree(This.Hmem) + This.Hmem = 0 + Endif +Enddefine && pchar + +Function num2dword(lnValue) +#Define m0 256 +#Define m1 65536 +#Define m2 16777216 +Local b0, b1, b2, b3 +b3 = Int(lnValue / m2) +b2 = Int((lnValue - b3 * m2) / m1) +b1 = Int((lnValue - b3 * m2 - b2 * m1) / m0) +b0 = Mod(lnValue, m0) +Return Chr(b0) + Chr(b1) + Chr(b2) + Chr(b3) +Endfunc && num2dword + + + +Procedure WriteLog + Lparameters tcMesaj + lcLogFile = Addbs(Justpath(Sys(16,0))) + 'verificare_roris_ecluze.log' + Strtofile(Transform(Datetime()) + ' ' + Transform(m.tcMesaj) + Chr(13), lcLogFile, 1) +Endproc && WriteLog diff --git a/Rapoarte/factura_acn.fr2 b/Rapoarte/factura_acn.fr2 new file mode 100644 index 0000000..fb04201 --- /dev/null +++ b/Rapoarte/factura_acn.fr2 @@ -0,0 +1,2644 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.21" SourceFile="factura_acn.frx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* + + + + +