828 Commits

Author SHA1 Message Date
Arthur Egberink
29f16f67c0 PCHW#53543 -- Monitor bestanden westland
svn path=/Website/branches/v2017.3/; revision=39853
2018-11-19 10:32:00 +00:00
Arthur Egberink
4365918fe9 RABO#54480 -- RABO API=MLD_AXXERION faalt sinds april
svn path=/Website/branches/v2017.3/; revision=38989
2018-08-29 14:17:12 +00:00
Dennis Hartmann
45ff2794e7 AADS#52941
svn path=/Website/branches/v2017.3/; revision=38881
2018-08-21 08:45:09 +00:00
Jos Groot Lipman
950da93ccc UWVA#54305 Voorkom pacta AiAi als quote in de url
svn path=/Website/branches/v2017.3/; revision=38817
2018-08-15 07:10:13 +00:00
Jos Groot Lipman
51accbeffc FSN#53649 RES Performance door CURSOR_SHARING_EXACT ook voor PPI
svn path=/Website/branches/v2017.3/; revision=38560
2018-07-18 09:56:36 +00:00
Jos Groot Lipman
80b3a01969 FSN#53649 RES Performance door CURSOR_SHARING_EXACT ook voor fe
svn path=/Website/branches/v2017.3/; revision=38486
2018-07-12 14:40:22 +00:00
Jos Groot Lipman
117296f03d FSN#53649 RES Performance door CURSOR_SHARING_EXACT
svn path=/Website/branches/v2017.3/; revision=38471
2018-07-11 12:35:01 +00:00
Jos Groot Lipman
261c6a22a4 FSN#53649 Performance door CURSOR_SHARING_EXACT
svn path=/Website/branches/v2017.3/; revision=38464
2018-07-11 08:05:49 +00:00
Maarten van der Heide
e809e5b8e1 BLCC#53262 Facturatie additionele diensten
svn path=/Website/branches/v2017.3/; revision=38445
2018-07-09 17:15:19 +00:00
Maarten van der Heide
844b32f3a0 BLCC#53262 Facturatie additionele diensten
svn path=/Website/branches/v2017.3/; revision=38444
2018-07-09 17:14:16 +00:00
Robin Stoker
ed6472396a STCH#51457 -- SAP xml export SFTP
svn path=/Website/branches/v2017.3/; revision=38441
2018-07-09 15:05:13 +00:00
Maarten van der Heide
88c2944e79 DIAN#51429 EXACT-import
svn path=/Website/branches/v2017.3/; revision=38440
2018-07-09 14:59:56 +00:00
Maarten van der Heide
8bcaa2b94b BLCC#53262 Facturatie additionele diensten
svn path=/Website/branches/v2017.3/; revision=38439
2018-07-09 14:58:00 +00:00
Jos Groot Lipman
2cc730f962 UWVA#35571 -- Plugin ten behoeve van toegangscontroles
svn path=/Website/branches/v2017.3/; revision=38433
2018-07-09 13:23:43 +00:00
Sander Schepers
fdedbff9fe FSN#52518 Plaatje ter voorbeeld toch weer verwijderd.
svn path=/Website/branches/v2017.3/; revision=38428
2018-07-09 11:36:21 +00:00
Marcel Bourseau
0b914fa65c MARX#53901: Namespace bij MessageResult-tag Messageservice 3.1 ontbreekt
svn path=/Website/branches/v2017.3/; revision=38425
2018-07-09 11:22:24 +00:00
Maarten van der Heide
0b69174301 VLKC#52593 FACTUUR-import/Zetten verdeelperiode (bugfix)
svn path=/Website/branches/v2017.3/; revision=38418
2018-07-09 09:27:03 +00:00
Dennis Hartmann
b186f63118 svn path=/Website/branches/v2017.3/; revision=38417 2018-07-09 08:31:01 +00:00
Dennis Hartmann
62e28c1ab4 FCLT#53230
svn path=/Website/branches/v2017.3/; revision=38416
2018-07-09 08:30:09 +00:00
Maarten van der Heide
34285b48a8 HOUT#53357 RES-exports (zoals ICT-exports)
svn path=/Website/branches/v2017.3/; revision=38410
2018-07-06 15:39:18 +00:00
Arthur Egberink
baacbd46c8 AAFM#53140 -- Nieuwe omgeving voor Industrie & Logistics
svn path=/Website/branches/v2017.3/; revision=38406
2018-07-06 08:57:47 +00:00
Arthur Egberink
fdececd773 PCHA#52027 -- Fiattering SVD
svn path=/Website/branches/v2017.3/; revision=38399
2018-07-05 12:22:09 +00:00
Suzan Wiegerinck
7a4798eced BLCC#52080 Aanpassen link in bevestiging
svn path=/Website/branches/v2017.3/; revision=38387
2018-07-03 13:45:11 +00:00
Jos Groot Lipman
c69b893912 FSN#53649 Performance: mld.getactualuitvoer (m1.mld_melding_key) toch weer terug
svn path=/Website/branches/v2017.3/; revision=38381
2018-07-02 15:21:30 +00:00
Suzan Wiegerinck
d935a11d76 NYBU#53482 Aanpassen automatische mails (resbev en resinf notificaties)
svn path=/Website/branches/v2017.3/; revision=38379
2018-07-02 14:28:45 +00:00
Arthur Egberink
9e09f7a41e YKPN#53812 -- Onduidelijke omschrijving parkeerplaatsgoedkeuring.
svn path=/Website/branches/v2017.3/; revision=38375
2018-07-02 13:02:52 +00:00
Dennis Hartmann
997102ff71 AAAH#53792 - tmpl_logo.gif aafm > heyday
svn path=/Website/branches/v2017.3/; revision=38368
2018-07-02 07:28:13 +00:00
Robin Stoker
aa28658bfe DVON#41120 -- DVON2a
svn path=/Website/branches/v2017.3/; revision=38364
2018-06-29 15:48:40 +00:00
Marcel Bourseau
ee8c99de5f Mareon sync adapter 1.30
svn path=/Website/branches/v2017.3/; revision=38362
2018-06-29 12:26:43 +00:00
Sander Schepers
637e13836c FSN#52518 Implementatie CEVA
svn path=/Website/branches/v2017.3/; revision=38361
2018-06-29 11:49:45 +00:00
Suzan Wiegerinck
a6e00fe67e Implementatie Scalabor
svn path=/Website/branches/v2017.3/; revision=38358
2018-06-28 14:36:25 +00:00
Jos Groot Lipman
b5f8c484da Release 2017.3 Gold F
svn path=/Website/branches/v2017.3/; revision=38356
2018-06-28 14:28:56 +00:00
Jos Groot Lipman
cb9cf019e7 FSN#53649 Performance: tracking buiten de hoofdquery, nu hoeft de optimizer hint niet meer (die toch weinig hielp)
svn path=/Website/branches/v2017.3/; revision=38355
2018-06-28 12:38:23 +00:00
Dennis Hartmann
53fc9d3776 AAGN#51447 - APIKEY
svn path=/Website/branches/v2017.3/; revision=38354
2018-06-28 12:09:10 +00:00
Dennis Hartmann
88c362d2c9 AAGN#51447 - sync adapter productie
svn path=/Website/branches/v2017.3/; revision=38353
2018-06-28 11:55:13 +00:00
Arthur Egberink
f67f6c3c28 YKPN#53366 -- Nieuwe opdrachten formats
svn path=/Website/branches/v2017.3/; revision=38350
2018-06-28 10:33:36 +00:00
Jos Groot Lipman
07a66e6d74 custenv.wsc.sample toegevoegd voor als we licentieklanten moeten instrueren
svn path=/Website/branches/v2017.3/; revision=38348
2018-06-28 08:01:45 +00:00
Arthur Egberink
d24130dd77 YKPN#53478 -- Veld toevoegen bij bevestiging
YKPN#53366 -- Nieuwe opdrachten formats

svn path=/Website/branches/v2017.3/; revision=38347
2018-06-27 15:18:50 +00:00
Jos Groot Lipman
c10b99365e FSN#53649 Performance: tracking buiten de hoofdquery ook voor BO
svn path=/Website/branches/v2017.3/; revision=38345
2018-06-27 13:34:39 +00:00
Jos Groot Lipman
bacaa9588a Cursor vergeten te closen
svn path=/Website/branches/v2017.3/; revision=38344
2018-06-27 12:48:00 +00:00
Jos Groot Lipman
1a51d2997b FSN#53649 Performance: RES objecten en ruimtes er niet bij slepen als je groepeert op Artikel
svn path=/Website/branches/v2017.3/; revision=38343
2018-06-27 12:11:33 +00:00
Jos Groot Lipman
9c22ad7654 FSN#53649 Performance: tracking buiten de hoofdquery
svn path=/Website/branches/v2017.3/; revision=38339
2018-06-27 07:45:54 +00:00
Jos Groot Lipman
c5a2d1c4eb FSN#53649 Performance
svn path=/Website/branches/v2017.3/; revision=38338
2018-06-27 06:57:06 +00:00
Marcel Bourseau
e5fcfa83c3 MARX#53765: Nieuwe variant van de"verwarrende" messageservice3.0
svn path=/Website/branches/v2017.3/; revision=38336
2018-06-26 14:43:53 +00:00
Sander Schepers
0571ae3d9f HSLE#52625 Bezoekersresgiratie koppelen aan melding E-Evenement & tonen op bon
svn path=/Website/branches/v2017.3/; revision=38332
2018-06-26 12:22:32 +00:00
Dennis Hartmann
6a652b7cbe htgif bij huurovereenkomst student en medewerker weggehaald
svn path=/Website/branches/v2017.3/; revision=38331
2018-06-26 11:02:53 +00:00
Sander Schepers
af49f35264 HSLE#53533 Aanpassen bon evenement bevestiging
svn path=/Website/branches/v2017.3/; revision=38326
2018-06-25 10:44:55 +00:00
Jos Groot Lipman
60f3d8f7ab FSN#53649 Performance 'Wat is nieuw'
svn path=/Website/branches/v2017.3/; revision=38321
2018-06-25 07:25:41 +00:00
Sander Schepers
16a0d4e55f HSLE#53146 Aanpassing bon Evenement - E-evenement
svn path=/Website/branches/v2017.3/; revision=38320
2018-06-25 07:24:22 +00:00
Arthur Egberink
346ab1b62b AADS#52941 -- Koppeling met SPIE
svn path=/Website/branches/v2017.3/; revision=38318
2018-06-22 11:33:49 +00:00
Sander Schepers
a2ff28a051 MDUX#53684 Bestellingen Staples.xsl
svn path=/Website/branches/v2017.3/; revision=38304
2018-06-21 14:47:56 +00:00
Jos Groot Lipman
0098d47f84 Release 2017.3 Gold E
svn path=/Website/branches/v2017.3/; revision=38294
2018-06-21 12:44:20 +00:00
Suzan Wiegerinck
b20ae8c4f9 PCHD#53192 Opdrachtbon aanpassen
svn path=/Website/branches/v2017.3/; revision=38285
2018-06-21 10:59:16 +00:00
Suzan Wiegerinck
91585146f5 PCHD#53192 Opdrachtbon aanpassen
svn path=/Website/branches/v2017.3/; revision=38283
2018-06-21 10:41:57 +00:00
Jos Groot Lipman
a9c25b1ae4 DVON#53691 SAML Provisioning werkte niet meer door te veel tracking
svn path=/Website/branches/v2017.3/; revision=38273
2018-06-20 14:44:47 +00:00
Suzan Wiegerinck
905860f039 PCHD#53192 Opdrachtbon aanpassen
svn path=/Website/branches/v2017.3/; revision=38256
2018-06-19 11:59:54 +00:00
Robin Stoker
757fb0bdd5 DJIN#52579 -- Aparte logging
svn path=/Website/branches/v2017.3/; revision=38251
2018-06-19 09:20:48 +00:00
Dennis Hartmann
308976cfcd HSLE#53529 - akkoord budgethouder
svn path=/Website/branches/v2017.3/; revision=38249
2018-06-19 08:48:10 +00:00
Jos Groot Lipman
63c2fd824d UWVA#53544 Voorkom slechte performance voor CRO033 res_list door optimizer te beïnvloeden
svn path=/Website/branches/v2017.3/; revision=38243
2018-06-18 21:25:09 +00:00
Maarten van der Heide
feab22b024 MNNL#51988 Labels ook op bon (gekleurd)
svn path=/Website/branches/v2017.3/; revision=38242
2018-06-18 16:34:41 +00:00
Maarten van der Heide
292ed7be59 DENB#51465 BBS-reserveringsbon incl. korting
svn path=/Website/branches/v2017.3/; revision=38238
2018-06-18 13:20:17 +00:00
Maarten van der Heide
db0dd82ea9 DENB#51465 BBS-reserveringsbon incl. korting
svn path=/Website/branches/v2017.3/; revision=38236
2018-06-18 12:58:47 +00:00
Dennis Hartmann
49de2250fb HSLE#53529 - iban op bon en 2 extra velden onderaan de bon.
svn path=/Website/branches/v2017.3/; revision=38234
2018-06-18 11:40:11 +00:00
Robin Stoker
a458391ef6 DJIN#52581 -- Tweede revisie van prints
svn path=/Website/branches/v2017.3/; revision=38227
2018-06-15 16:01:09 +00:00
Robin Stoker
6624bb5c86 DJIN#52579 -- Voor dvon personenimport
svn path=/Website/branches/v2017.3/; revision=38226
2018-06-15 15:47:46 +00:00
Sander Schepers
88730b1d1a WEHK#53429 Notificatiejob nieuwe ongevalsmeldingen
svn path=/Website/branches/v2017.3/; revision=38220
2018-06-15 12:29:35 +00:00
d5e4d82713 PCHE#53613 Contractgebonden objecten nemen weer plaatsscope in acht.
svn path=/Website/branches/v2017.3/; revision=38219
2018-06-15 11:22:55 +00:00
Maarten van der Heide
7de4d8fb66 KFNS#52066 OPDRSTAT_STRUKTON-import/Uitprijs-functionaliteit
svn path=/Website/branches/v2017.3/; revision=38213
2018-06-15 08:03:15 +00:00
Suzan Wiegerinck
8b69c98ea8 NYBU#53355 Aanpassingen bevestigingsbrief
svn path=/Website/branches/v2017.3/; revision=38210
2018-06-15 06:42:53 +00:00
Dennis Hartmann
25f6d9f717 ASDL#53409 vakgroeptype 141 datum gereed weg gehaald
svn path=/Website/branches/v2017.3/; revision=38209
2018-06-15 06:37:12 +00:00
Suzan Wiegerinck
626ccbd6a3 BLCC#52080 Aanpassen link in bevestiging
svn path=/Website/branches/v2017.3/; revision=38203
2018-06-14 12:41:23 +00:00
Maarten van der Heide
8d59f8099d KFNS#52066 OPDRSTAT_STRUKTON-import/Uitprijs-functionaliteit
svn path=/Website/branches/v2017.3/; revision=38195
2018-06-13 14:10:16 +00:00
Maarten van der Heide
96eb985390 KFNS#52066 OPDRSTAT_STRUKTON-import/Uitprijs-functionaliteit
svn path=/Website/branches/v2017.3/; revision=38194
2018-06-13 14:05:50 +00:00
Sander Schepers
73cd0f6e4a IVET#52961 Emailnotificatie Controle brandmeldcentrale
svn path=/Website/branches/v2017.3/; revision=38189
2018-06-13 12:59:24 +00:00
Dennis Hartmann
457b91d53f svn path=/Website/branches/v2017.3/; revision=38185 2018-06-13 07:38:23 +00:00
Suzan Wiegerinck
7be2556b5f Aanpassen bookmark
svn path=/Website/branches/v2017.3/; revision=38180
2018-06-12 13:05:02 +00:00
Suzan Wiegerinck
a1fbee0106 Aanpassen bookmark
svn path=/Website/branches/v2017.3/; revision=38179
2018-06-12 13:04:10 +00:00
Jos Groot Lipman
b438f67be2 UWVA#53544 Voorkom slechte performance voor CRO033 res_list door indexen te beinvloeden
svn path=/Website/branches/v2017.3/; revision=38174
2018-06-12 07:59:18 +00:00
Arthur Egberink
6a66847962 PCHW#53314 -- Pilot QR codes voor gemeente Westland
svn path=/Website/branches/v2017.3/; revision=38164
2018-06-11 14:49:58 +00:00
Arthur Egberink
92df006862 PCHW#53314 -- Pilot QR codes voor gemeente Westland
svn path=/Website/branches/v2017.3/; revision=38162
2018-06-11 14:40:52 +00:00
Arthur Egberink
7662e2013e PCHW#53314 -- Pilot QR codes voor gemeente Westland
svn path=/Website/branches/v2017.3/; revision=38161
2018-06-11 14:40:32 +00:00
Arthur Egberink
44100d9402 PCHW#53314 -- Pilot QR codes voor gemeente Westland
svn path=/Website/branches/v2017.3/; revision=38160
2018-06-11 14:28:19 +00:00
Suzan Wiegerinck
12cc5a1764 NYBU#53542 Studenten inlog werkt niet
svn path=/Website/branches/v2017.3/; revision=38159
2018-06-11 14:00:05 +00:00
Arthur Egberink
b937f24d3c PCHW#53314 -- Pilot QR codes voor gemeente Westland
svn path=/Website/branches/v2017.3/; revision=38152
2018-06-11 12:01:03 +00:00
Arthur Egberink
0e75f9f571 PCHW#53314 -- Pilot QR codes voor gemeente Westland
svn path=/Website/branches/v2017.3/; revision=38149
2018-06-11 11:33:03 +00:00
Robin Stoker
9fb8808065 ARAI#52128 -- Mail onderwerp nu met datum van de dagrap
svn path=/Website/branches/v2017.3/; revision=38128
2018-06-07 14:36:15 +00:00
Arthur Egberink
2f03d013b3 FCLT#53524 -- Goedkeurder mag factuur ook inzien.
svn path=/Website/branches/v2017.3/; revision=38123
2018-06-07 13:48:07 +00:00
Jos Groot Lipman
b3d4d6a36c FSN#51222: Anonimiseren van historische bezoekers backwards compatible
svn path=/Website/branches/v2017.3/; revision=38120
2018-06-07 12:47:23 +00:00
Jos Groot Lipman
918d60eb27 Release 2017.3 Gold D
svn path=/Website/branches/v2017.3/; revision=38119
2018-06-07 12:25:56 +00:00
Suzan Wiegerinck
6202277e02 HCAS#53433 Inrichten KPI's Holland Casino
svn path=/Website/branches/v2017.3/; revision=38108
2018-06-07 10:06:04 +00:00
Maykel Geerdink
5279d37e2b FCLT#53510: AADS AiAi bij opvragen fiatteringslist.
svn path=/Website/branches/v2017.3/; revision=38091
2018-06-07 07:12:17 +00:00
Jos Groot Lipman
77f6bfb95e FSN#53497 forceonline.txt onderstreunen die offline.html weer overruled
svn path=/Website/branches/v2017.3/; revision=38087
2018-06-06 11:45:49 +00:00
Jos Groot Lipman
8fda3e4ec8 FSN#53289 prs_bedrijfadres lockeduser_secret effectief via *bedrijf* zoeken en niet via *bedrijfadres*
svn path=/Website/branches/v2017.3/; revision=38085
2018-06-06 10:53:10 +00:00
Jos Groot Lipman
5a73dfaca2 FSN#53289 prs_bedrijfadres lockeduser_secret effectief via *bedrijf* zoeken en niet via *bedrijfadres*
svn path=/Website/branches/v2017.3/; revision=38084
2018-06-06 10:38:47 +00:00
Robin Stoker
00a91928e0 cust pad naar aado.xsl
svn path=/Website/branches/v2017.3/; revision=38083
2018-06-06 10:31:06 +00:00
Erik Groener
8cc83d009c TWYN#53483 contractantnaam ontbreekt
svn path=/Website/branches/v2017.3/; revision=38080
2018-06-06 09:00:50 +00:00
Jos Groot Lipman
0c1716716e FSN#53497 forceonline.txt onderstreunen die offline.html weer overruled
svn path=/Website/branches/v2017.3/; revision=38078
2018-06-06 08:12:07 +00:00
Maykel Geerdink
a76a9c1f4d SUTF#53332: Vraag over periodieke taken.
svn path=/Website/branches/v2017.3/; revision=38068
2018-06-04 14:23:25 +00:00
Erik Groener
021d90f3cb TWYN#53474 Rapporten budgetrapportage
svn path=/Website/branches/v2017.3/; revision=38067
2018-06-04 14:12:22 +00:00
Erik Groener
5e16cf2c65 TWYN#53453 betalingsadvies - sortering
svn path=/Website/branches/v2017.3/; revision=38062
2018-06-04 10:50:08 +00:00
Maykel Geerdink
6115c9a74d PLAT#53124: Foutmelding bij doorvoeren scenario (gehele actuele scenario).
svn path=/Website/branches/v2017.3/; revision=38059
2018-06-04 08:54:13 +00:00
Arthur Egberink
294ec416b5 FCLT#53457 -- Toevoegen hookfunctie voor facturen.
svn path=/Website/branches/v2017.3/; revision=38057
2018-06-04 07:01:26 +00:00
Maarten van der Heide
d72fceeabf DENB#51465 BBS-reserveringsbon
svn path=/Website/branches/v2017.3/; revision=38052
2018-06-01 14:17:38 +00:00
Arthur Egberink
3f97a1ff52 YKPN#47767 -- Exact koppeling
svn path=/Website/branches/v2017.3/; revision=38047
2018-06-01 07:53:52 +00:00
Arthur Egberink
14303c71b6 FCLT#53457 -- Toevoegen hookfunctie voor facturen.
svn path=/Website/branches/v2017.3/; revision=38046
2018-06-01 07:43:09 +00:00
Erik Groener
270b7108c4 TWYN#53444 Overzicht contracten en facturen per contractant
svn path=/Website/branches/v2017.3/; revision=38045
2018-06-01 06:41:47 +00:00
Robin Stoker
a412fcb04a ARAI#52128 -- Verstuur de dagrapportage als mail
svn path=/Website/branches/v2017.3/; revision=38043
2018-05-31 14:45:14 +00:00
Robin Stoker
9ffbecf333 ARAI#52128 -- Genereer dagrapportage pdf
svn path=/Website/branches/v2017.3/; revision=38042
2018-05-31 14:44:21 +00:00
Robin Stoker
f5ea61e62d ARAI#52128 -- Genereer dagrapportage pdf
svn path=/Website/branches/v2017.3/; revision=38041
2018-05-31 14:43:50 +00:00
Maykel Geerdink
691ee8db55 FSN#51222: Anonimiseren van historische bezoekers.
svn path=/Website/branches/v2017.3/; revision=38040
2018-05-31 14:38:10 +00:00
Dennis Hartmann
a233afc3a6 TWYN#53453 - factuurnr en contracttant omgedraaid betalingoverzicht
svn path=/Website/branches/v2017.3/; revision=38036
2018-05-31 13:37:53 +00:00
Erik Groener
1c5c8ceb2e TWYN#53444 Overzicht contracten en facturen per contractant
svn path=/Website/branches/v2017.3/; revision=38033
2018-05-31 13:18:13 +00:00
Marcel Bourseau
8438fe9824 MARX#53452: Bestelopdracht INSBOU-004 niet exact conform XSD
svn path=/Website/branches/v2017.3/; revision=38032
2018-05-31 12:43:15 +00:00
Marcel Bourseau
32a3f76062 MARX#53452: Bestelopdracht INSBOU-004 niet exact conform XSD
svn path=/Website/branches/v2017.3/; revision=38030
2018-05-31 12:40:39 +00:00
Maykel Geerdink
afa9d800ba FSN#51222: Anonimiseren van historische bezoekers.
svn path=/Website/branches/v2017.3/; revision=38027
2018-05-31 11:33:23 +00:00
Robin Stoker
a6b95bb85b ARAI#52128 -- Dagrapportage styling weer weggehaald
svn path=/Website/branches/v2017.3/; revision=38025
2018-05-31 11:04:48 +00:00
Dennis Hartmann
b438a9d825 TWYN#53443 - no wrap aan datum regel
svn path=/Website/branches/v2017.3/; revision=38023
2018-05-31 10:28:48 +00:00
Maykel Geerdink
9749fc294f AADS#53288: Afwijking in Assetmanagement DSM.
svn path=/Website/branches/v2017.3/; revision=38016
2018-05-31 08:10:10 +00:00
Erik Groener
1655e0cb5d TWYN#53413 factuur verdelen over meerdere subprojecten
svn path=/Website/branches/v2017.3/; revision=38014
2018-05-31 07:20:37 +00:00
Maykel Geerdink
ff3a65142d FSN#51222: Anonimiseren van historische bezoekers.
svn path=/Website/branches/v2017.3/; revision=38009
2018-05-30 14:06:16 +00:00
Erik Groener
b16b35e195 TWYN#53415 verwerking budget reserve
svn path=/Website/branches/v2017.3/; revision=38008
2018-05-30 14:01:37 +00:00
Erik Groener
361778db73 TWYN#53419 status factuur en betalingsadvies
svn path=/Website/branches/v2017.3/; revision=38001
2018-05-30 12:00:34 +00:00
Dennis Hartmann
fbe9884882 LUDE#53412
svn path=/Website/branches/v2017.3/; revision=37992
2018-05-30 09:15:36 +00:00
Dennis Hartmann
e11484b2a3 LUDE#53412 - src aangepast naar frc en M=CAD meegegeven
svn path=/Website/branches/v2017.3/; revision=37989
2018-05-30 08:49:02 +00:00
Jos Groot Lipman
4c7329a8a4 FSN#53422 Automatische SSO op basis van IP-adres ook voor 0.0.0.0/0 (alles)
svn path=/Website/branches/v2017.3/; revision=37985
2018-05-29 15:09:14 +00:00
Dennis Hartmann
6087d8dd8e KFPP#53001 - kfpp_logo op venr
svn path=/Website/branches/v2017.3/; revision=37979
2018-05-29 09:05:38 +00:00
Dennis Hartmann
1cffce04a2 KFPP#53001 - banner en logo aangepast
svn path=/Website/branches/v2017.3/; revision=37978
2018-05-29 08:59:30 +00:00
Dennis Hartmann
e5e28ca83a hout#53394 afmelder op mldafm bon
svn path=/Website/branches/v2017.3/; revision=37975
2018-05-28 14:31:29 +00:00
Maykel Geerdink
32cf330d2b FSN#51222: Anonimiseren van historische bezoekers.
svn path=/Website/branches/v2017.3/; revision=37974
2018-05-28 14:13:30 +00:00
Dennis Hartmann
b1f5821361 hout#53394 - naam van afmelder usernamefriendly op bon
svn path=/Website/branches/v2017.3/; revision=37971
2018-05-28 13:35:40 +00:00
Dennis Hartmann
e4e2d6e545 HOUT#53394 - tekst aangepast
svn path=/Website/branches/v2017.3/; revision=37969
2018-05-28 13:07:07 +00:00
Erik Groener
6cb7c6bcc8 TWYN#53334 Rapport meer en minderwerk
svn path=/Website/branches/v2017.3/; revision=37959
2018-05-23 12:29:29 +00:00
Maykel Geerdink
0230d20b78 PCHD#53198: Overzicht facturen.
svn path=/Website/branches/v2017.3/; revision=37958
2018-05-23 10:19:53 +00:00
Erik Groener
48a164393e TWYN#53334 Rapport meer en minderwerk
svn path=/Website/branches/v2017.3/; revision=37955
2018-05-23 08:21:10 +00:00
Maykel Geerdink
f1129f39f8 FSN#51222: Anonimiseren van historische bezoekers.
svn path=/Website/branches/v2017.3/; revision=37954
2018-05-23 08:17:19 +00:00
Erik Groener
58400ea9e4 TWYN#53344 beheer projecten
svn path=/Website/branches/v2017.3/; revision=37953
2018-05-23 06:58:08 +00:00
Erik Groener
4ec5b705d9 TWYN#53297 projectnummers
svn path=/Website/branches/v2017.3/; revision=37951
2018-05-22 11:07:59 +00:00
Erik Groener
0b729e020e TWYN#53173 kopieeren contracten
svn path=/Website/branches/v2017.3/; revision=37950
2018-05-22 10:35:44 +00:00
Dennis Hartmann
ed6100b513 GDZW#53326 mldnot bericht aangepast
svn path=/Website/branches/v2017.3/; revision=37949
2018-05-22 09:06:58 +00:00
Arthur Egberink
a5b3324622 PCHW#53279 -- Selectie van STDmelding kunnen meegeven aan bookmark
svn path=/Website/branches/v2017.3/; revision=37948
2018-05-22 08:13:12 +00:00
Maarten van der Heide
28490b06aa HOUT#53141 MLDACP/MLDAFM-noti (incl. clean-up)
svn path=/Website/branches/v2017.3/; revision=37944
2018-05-18 11:40:31 +00:00
Maykel Geerdink
30300ef247 DJIN#52557: DV&O: Status bestelopdracht in overzicht en detailscherm niet consistent.
svn path=/Website/branches/v2017.3/; revision=37938
2018-05-17 13:52:35 +00:00
Maykel Geerdink
1e46466586 FSN#51222: Anonimiseren van historische bezoekers.
svn path=/Website/branches/v2017.3/; revision=37936
2018-05-17 12:53:56 +00:00
Erik Groener
8a0d3ab486 TWYN#53208 Aanpassen budget reserve
svn path=/Website/branches/v2017.3/; revision=37932
2018-05-17 10:29:39 +00:00
Marcel Bourseau
f6891145dd PLAT#39732: Conditiemeting NEN2767
svn path=/Website/branches/v2017.3/; revision=37930
2018-05-16 15:50:37 +00:00
Marcel Bourseau
4686f89be5 PLAT#39732: Conditiemeting NEN2767
svn path=/Website/branches/v2017.3/; revision=37929
2018-05-16 15:49:55 +00:00
Maykel Geerdink
18bf4cd397 FSN#51222: Anonimiseren van historische bezoekers.
svn path=/Website/branches/v2017.3/; revision=37926
2018-05-16 14:53:33 +00:00
Maykel Geerdink
2114205b0c FSN#51222: Anonimiseren van historische bezoekers.
svn path=/Website/branches/v2017.3/; revision=37921
2018-05-16 12:13:44 +00:00
Jos Groot Lipman
865b20cd72 FSN#53284 api2 offset ook ondersteunen voor rapportages
svn path=/Website/branches/v2017.3/; revision=37919
2018-05-16 12:07:23 +00:00
Maykel Geerdink
86e41d0a31 FSN#51222: Anonimiseren van historische bezoekers.
svn path=/Website/branches/v2017.3/; revision=37918
2018-05-16 12:04:52 +00:00
Erik Groener
cb03a44331 TWYN#52776 Overzicht contracten en verwerking meer en minderwerken
svn path=/Website/branches/v2017.3/; revision=37913
2018-05-16 10:42:05 +00:00
Jos Groot Lipman
d01532fedd FSN#53284 api2 offset ook ondersteunen voor rapportages
svn path=/Website/branches/v2017.3/; revision=37910
2018-05-16 09:18:08 +00:00
Maykel Geerdink
999f251ea0 FCLT#53282: MJOB: Foutmelding tijdens accorderen groepering "Element".
svn path=/Website/branches/v2017.3/; revision=37906
2018-05-16 07:09:04 +00:00
Jos Groot Lipman
cd1665a92d FSN#53278 Offline.html vroeger plaatsen zodat hij ook werkt bij afwezige Oracle
svn path=/Website/branches/v2017.3/; revision=37904
2018-05-15 13:51:30 +00:00
Maykel Geerdink
7b7f0ec1c2 FSN#51222: Anonimiseren van historische bezoekers.
svn path=/Website/branches/v2017.3/; revision=37902
2018-05-15 13:26:16 +00:00
Erik Groener
2976c7b2ce TWYN#53269 opdrachten en facturen via budgetbeheer
svn path=/Website/branches/v2017.3/; revision=37899
2018-05-15 10:21:04 +00:00
Erik Groener
6e9a17c313 TWYN#53200 fout in rapport CON_FAC
svn path=/Website/branches/v2017.3/; revision=37890
2018-05-15 07:14:36 +00:00
Ruud Lipper
b3e0ed6e5d STPH#53187 waarde 'opdracht bevestigen' beter overnemen (spelfout)
svn path=/Website/branches/v2017.3/; revision=37878
2018-05-14 07:25:36 +00:00
Dennis Hartmann
b700f1295e MNNL#51988 - labels ook op bon
svn path=/Website/branches/v2017.3/; revision=37877
2018-05-14 07:12:45 +00:00
Arthur Egberink
3f2e5402f7 YKPN#51761 -- Parkeerplaats autorisatie
svn path=/Website/branches/v2017.3/; revision=37876
2018-05-14 07:11:57 +00:00
Arthur Egberink
3812030e4c AAFM#53140 -- Implementatie INLO
svn path=/Website/branches/v2017.3/; revision=37875
2018-05-11 11:26:10 +00:00
Jos Groot Lipman
e8b7ae0145 FSN#27699 Flexfiles buiten webroot
svn path=/Website/branches/v2017.3/; revision=37874
2018-05-10 19:25:12 +00:00
Robin Stoker
f0f64e5212 DVON#52581 -- Prints voor bonnen bestelopdr, aanvraag, mld
svn path=/Website/branches/v2017.3/; revision=37873
2018-05-09 15:50:25 +00:00
Arthur Egberink
bc726b789f AAIT#49947 -- Implementatie omgeving EXPO
svn path=/Website/branches/v2017.3/; revision=37871
2018-05-09 11:13:04 +00:00
Arthur Egberink
05c9718e81 AAIT#49947 -- Implementatie omgeving EXPO
svn path=/Website/branches/v2017.3/; revision=37870
2018-05-09 09:11:43 +00:00
Maarten van der Heide
a6e0718b05 VLKC#52593 FACTUUR-import/Zetten verdeelperiode
svn path=/Website/branches/v2017.3/; revision=37869
2018-05-09 08:48:49 +00:00
Dennis Hartmann
c47e0b15e9 aads#53104
svn path=/Website/branches/v2017.3/; revision=37868
2018-05-09 08:09:54 +00:00
Dennis Hartmann
685c6b5c01 AADS#52882 link naar res
svn path=/Website/branches/v2017.3/; revision=37866
2018-05-09 07:59:40 +00:00
Maykel Geerdink
469abf3a88 PLAT#53100: Taakgegevens worden niet bijgewerkt wanneer elementgegevens wijzigen.
svn path=/Website/branches/v2017.3/; revision=37862
2018-05-08 11:28:16 +00:00
Dennis Hartmann
fa641ed47e VENT#52741 - contracten na end date nog rood markeren
svn path=/Website/branches/v2017.3/; revision=37861
2018-05-08 09:26:37 +00:00
Jos Groot Lipman
81d712c85d OFWD#52644 Stoppen ofwd miv 1 april 2018
svn path=/Website/branches/v2017.3/; revision=37847
2018-05-03 15:16:38 +00:00
19f1220f9d PCHD#53196 tabblad titels beginnend met ' leverden problemen op, pins met lege titel namen (fac_menu_altlabel) ook, deze worden er nu uitgehaald. (Ook in DB33to34)
svn path=/Website/branches/v2017.3/; revision=37845
2018-05-03 15:14:00 +00:00
bfb3dafe32 MNNL#53101 withTitle parameter toegevoegd voor links naar andere MLD's zodat deze het onderwerp van die melding als titel krijgt.
svn path=/Website/branches/v2017.3/; revision=37839
2018-05-03 13:10:17 +00:00
604bf1f4d3 FCLT#53133 isPunchout wordt nu ook in de asp call naar bes.calcbesartikelkortingsprijs(x, isPunchout) meegenomen
svn path=/Website/branches/v2017.3/; revision=37835
2018-05-03 11:37:11 +00:00
Maykel Geerdink
3174c406ef HSLE#53167: Objecten - zichtbaar in alle standaardmeldingen.
svn path=/Website/branches/v2017.3/; revision=37834
2018-05-03 11:30:04 +00:00
Jos Groot Lipman
2c1b586153 DJIN#53193 Foutmelding bij SAML-update
svn path=/Website/branches/v2017.3/; revision=37833
2018-05-03 10:32:01 +00:00
Robin Stoker
a3d53e9613 Nieuw logo voor bonnen
svn path=/Website/branches/v2017.3/; revision=37832
2018-05-03 10:28:04 +00:00
Suzan Wiegerinck
e7045274e9 FSN#41413 implementatie OOZR
svn path=/Website/branches/v2017.3/; revision=37831
2018-05-03 09:23:25 +00:00
Suzan Wiegerinck
3c97c39942 FSN#41413 implementatie OOZR
svn path=/Website/branches/v2017.3/; revision=37829
2018-05-03 08:58:03 +00:00
05efc1a42e MNNL#52688 Revert
svn path=/Website/branches/v2017.3/; revision=37828
2018-05-03 08:40:16 +00:00
Maykel Geerdink
8bfa41633f HSLE#53167: Objecten - zichtbaar in alle standaardmeldingen.
svn path=/Website/branches/v2017.3/; revision=37826
2018-05-02 13:16:29 +00:00
84959e2c6b MNNL#52688 Datum velden met strings als init-waarde worden nu leeg getoond ipv dat het de pagina crasht
svn path=/Website/branches/v2017.3/; revision=37820
2018-05-02 09:22:28 +00:00
Erik Groener
cbcba32bf2 DJIN#53103 Issue #41776 weer terug, kostenplaatsgroep verplicht
svn path=/Website/branches/v2017.3/; revision=37819
2018-05-02 09:03:16 +00:00
aed2c3a842 PLAT#53099 .width() geeft pas vanaf jQuery 3.0+ (2018.1+) non-integer values terug, dat hebben we hier voor Edge nodig
svn path=/Website/branches/v2017.3/; revision=37817
2018-05-02 07:38:21 +00:00
Marcel Bourseau
ac39303c7f MARX#53160: PLATO Implementatie + omgeving voor Waardwonen (WOWW)
svn path=/Website/branches/v2017.3/; revision=37813
2018-05-01 10:57:48 +00:00
Maykel Geerdink
4980529d10 PLAT#53123: Multi wijzigen taken niet beschikbaar bij het werken in scenario's.
svn path=/Website/branches/v2017.3/; revision=37812
2018-05-01 10:56:29 +00:00
Marcel Bourseau
29ddfaf711 PLAT#53159: PLATO Implementatie + omgeving voor Woonservice Ijselland (WOIJ)
svn path=/Website/branches/v2017.3/; revision=37810
2018-05-01 10:27:32 +00:00
Maykel Geerdink
f5b7fa0f60 PLAT#53100: Taakgegevens worden niet bijgewerkt wanneer elementgegevens wijzigen.
svn path=/Website/branches/v2017.3/; revision=37809
2018-05-01 09:40:11 +00:00
Erik Groener
684d15fbc8 onbedoeld gecommit
svn path=/Website/branches/v2017.3/; revision=37806
2018-05-01 06:37:53 +00:00
Erik Groener
c652b2c44e DJIN#53091 Dropdown object koppelen aan standaardmelding toont verwijderde disciplines
svn path=/Website/branches/v2017.3/; revision=37801
2018-04-30 08:46:57 +00:00
Maykel Geerdink
94128e88d0 FCLT#53143: Accorderen van groepering "Subrecept" kan onterecht niet uitgevoerd worden.
svn path=/Website/branches/v2017.3/; revision=37800
2018-04-30 08:33:02 +00:00
Dennis Hartmann
1f0ce4317a WZUV#53109 - logo iets naar beneden van qrc
svn path=/Website/branches/v2017.3/; revision=37799
2018-04-30 07:37:34 +00:00
Dennis Hartmann
81c23d733f WZUV#53109 - ruimte omschrijving rapport qrc weggehaald
svn path=/Website/branches/v2017.3/; revision=37798
2018-04-30 06:56:12 +00:00
Dennis Hartmann
7ff221be36 svn path=/Website/branches/v2017.3/; revision=37797 2018-04-30 06:47:14 +00:00
Daniëlle Tolner
5d123ee119 STPH#41897: Bidfood.xsl
svn path=/Website/branches/v2017.3/; revision=37795
2018-04-26 13:57:28 +00:00
Daniëlle Tolner
d61778eff2 PCHW#41057: Bidfood.xsl
svn path=/Website/branches/v2017.3/; revision=37794
2018-04-26 13:41:55 +00:00
Daniëlle Tolner
ad983d0757 STPH#41897: klantnummer en leverdatum overnemen
svn path=/Website/branches/v2017.3/; revision=37793
2018-04-26 13:18:40 +00:00
Daniëlle Tolner
4f7c9ab34c PCHW#41057: klantnummer en leverdatum overnemen
svn path=/Website/branches/v2017.3/; revision=37792
2018-04-26 13:17:01 +00:00
Daniëlle Tolner
a1d3328a7e PCHW#41057: Bidfood.xsl
svn path=/Website/branches/v2017.3/; revision=37791
2018-04-26 13:10:32 +00:00
Arthur Egberink
b65d41c38a KFST#52897 -- Koppeling met Exact
svn path=/Website/branches/v2017.3/; revision=37781
2018-04-26 10:58:02 +00:00
Dennis Hartmann
a8ed4c9e04 AADS#53104 - link in reservering bon
svn path=/Website/branches/v2017.3/; revision=37776
2018-04-26 07:18:51 +00:00
Dennis Hartmann
bf1ef4e3b8 svn path=/Website/branches/v2017.3/; revision=37775 2018-04-26 07:12:15 +00:00
Jos Groot Lipman
75441f24ea fac_export_app iets zinvollere kolommen default tonen bij beheer
svn path=/Website/branches/v2017.3/; revision=37769
2018-04-25 11:37:40 +00:00
Jos Groot Lipman
9d1fb2b7c3 AADS#53092 Dienstpakket niet toe te voegen aan melding
svn path=/Website/branches/v2017.3/; revision=37763
2018-04-25 08:45:05 +00:00
Sander Schepers
cdbd37c285 MDUX#51215 Aanpassing stylesheet uitvoeringsopdrachten: splitsing obv kenmerk en objectgegevens tonen
svn path=/Website/branches/v2017.3/; revision=37758
2018-04-24 13:56:39 +00:00
Jos Groot Lipman
50480cdc36 MAARX#53048 Met WEB_PROFIL schrijfrechten mag je bijlagen *bij jezelf* uploaden
svn path=/Website/branches/v2017.3/; revision=37746
2018-04-24 08:46:13 +00:00
Dennis Hartmann
ce01df8236 SUTF#48287 nieuw logo en banner
svn path=/Website/branches/v2017.3/; revision=37741
2018-04-24 06:07:19 +00:00
Jos Groot Lipman
c31501fd7e MAARX#53048 Met WEB_PROFIL schrijfrechten mag je bijlagen *bij jezelf* uploaden
svn path=/Website/branches/v2017.3/; revision=37737
2018-04-23 14:27:49 +00:00
Maykel Geerdink
ee0105fe92 UWVA#52596: Autorisatie op basis van volgnummers geeft (ongewild) toegang tot vaste velden.
svn path=/Website/branches/v2017.3/; revision=37729
2018-04-23 09:27:31 +00:00
7b30068aa2 KFNS#53046 Bugfix, 'hidden' moet alleen de datum hiden, niet ook de tijd, dit is nu aangepast, met trhidden kun je ook de datum hiden.
svn path=/Website/branches/v2017.3/; revision=37725
2018-04-20 09:51:30 +00:00
Robin Stoker
95b3935fb6 VEST#41990 -- AD import
svn path=/Website/branches/v2017.3/; revision=37721
2018-04-19 14:47:37 +00:00
Daniëlle Tolner
9b28455b46 Bidfood: leverdatum overnemen, nu met juiste bedrijfskey
svn path=/Website/branches/v2017.3/; revision=37719
2018-04-19 13:57:33 +00:00
Daniëlle Tolner
808e5f9bcb Bidfood: leverdatum overnemen
svn path=/Website/branches/v2017.3/; revision=37718
2018-04-19 13:54:46 +00:00
Daniëlle Tolner
75d40d43c6 OCI Bidfood: Leverdatum overnemen vanuit webshop
svn path=/Website/branches/v2017.3/; revision=37716
2018-04-19 13:21:14 +00:00
Daniëlle Tolner
d382210d68 PCHW#41057: datum bidfood webshop overnemen
svn path=/Website/branches/v2017.3/; revision=37714
2018-04-19 12:48:35 +00:00
Jos Groot Lipman
b240402621 Betere logging als inkomende XML niet goed gelezen kan worden
svn path=/Website/branches/v2017.3/; revision=37709
2018-04-19 09:39:36 +00:00
Daniëlle Tolner
6bd5205e37 SUTF#52921: objecten op opdrachtbon
svn path=/Website/branches/v2017.3/; revision=37707
2018-04-19 09:05:51 +00:00
Dennis Hartmann
6116b373aa PCHD#52854 - link naar contract op bon
svn path=/Website/branches/v2017.3/; revision=37705
2018-04-19 08:04:56 +00:00
Erik Groener
a25f5d0859 TWYN#53012 wijzigen account
svn path=/Website/branches/v2017.3/; revision=37699
2018-04-18 13:39:20 +00:00
Jos Groot Lipman
5ef657689f PCHD#52889 Including fixed attachment altijd loggen in putorders
svn path=/Website/branches/v2017.3/; revision=37692
2018-04-18 09:13:35 +00:00
Arthur Egberink
8af4b19f10 YKPN#47767 -- Exact koppeling
svn path=/Website/branches/v2017.3/; revision=37687
2018-04-17 21:39:40 +00:00
Ruud Lipper
93f24fdb93 UWVA#52994 styling datum rapportage
svn path=/Website/branches/v2017.3/; revision=37671
2018-04-17 07:12:25 +00:00
Ruud Lipper
a33b27f643 UWVA#52994 verbeterde weergave datum HV: contracten op opzegdatum
svn path=/Website/branches/v2017.3/; revision=37670
2018-04-17 06:31:27 +00:00
Arthur Egberink
bddff652f1 KONG#53002 -- Implementatie Kongsberg
svn path=/Website/branches/v2017.3/; revision=37668
2018-04-16 17:02:18 +00:00
Erik Groener
0efb999d5e FCLT#52973 Mobile meldingsflexkenmerken niet zichtbaar
svn path=/Website/branches/v2017.3/; revision=37667
2018-04-16 14:36:26 +00:00
Erik Groener
3f9e464851 TWYN#52986 Aanpassen selectie facturen
svn path=/Website/branches/v2017.3/; revision=37666
2018-04-16 14:09:25 +00:00
Maarten van der Heide
594350b111 VLKC#52593 FACTUUR-import/Zetten verdeelperiode
svn path=/Website/branches/v2017.3/; revision=37665
2018-04-16 14:02:17 +00:00
Erik Groener
3e1218855c TWYN#52776 Overzicht contracten en verwerking meer en minderwerken
svn path=/Website/branches/v2017.3/; revision=37664
2018-04-16 13:57:04 +00:00
Jos Groot Lipman
b53cffc018 PCHD#52998 Beter controleren op fouten in mld_v_uitvoerende view
svn path=/Website/branches/v2017.3/; revision=37658
2018-04-16 12:44:28 +00:00
Robin Stoker
67fa6a32f8 RABO#52956 -- Check op opdrachttype bij genereren van afmeldlink en qrcode
svn path=/Website/branches/v2017.3/; revision=37657
2018-04-16 11:42:55 +00:00
Maykel Geerdink
a743d47680 MNNL#52304: vervolg 40834.
svn path=/Website/branches/v2017.3/; revision=37656
2018-04-16 11:24:16 +00:00
Erik Groener
a2f40fa856 TWYN#52989 aiai in wijzigen/toevoegen opdrachten
svn path=/Website/branches/v2017.3/; revision=37653
2018-04-16 10:41:26 +00:00
Erik Groener
820e6f1fbc TWYN#52989 aiai in wijzigen/toevoegen opdrachten
svn path=/Website/branches/v2017.3/; revision=37651
2018-04-16 09:24:17 +00:00
Erik Groener
e1af6e1863 TWYN#52955 aanmaken nieuw subproject
svn path=/Website/branches/v2017.3/; revision=37650
2018-04-16 09:12:33 +00:00
Erik Groener
ff073c843f TWYN#52670 Rapport meer en minderwerk per contractant
svn path=/Website/branches/v2017.3/; revision=37649
2018-04-16 08:11:19 +00:00
Arthur Egberink
fc8256d1f0 YKPN#51761 -- Parkeerplaats autorisatie
svn path=/Website/branches/v2017.3/; revision=37647
2018-04-15 21:05:18 +00:00
Arthur Egberink
63aaa6db76 YKPN#51761 -- Parkeerplaats autorisatie
svn path=/Website/branches/v2017.3/; revision=37646
2018-04-15 14:33:36 +00:00
Marcel Bourseau
75052d0244 MARX52678: PDF in Strukton-factuur bericht als base64
svn path=/Website/branches/v2017.3/; revision=37642
2018-04-13 13:35:56 +00:00
Arthur Egberink
7c38f34a4d YKPN#51761 -- Parkeerplaats autorisatie
svn path=/Website/branches/v2017.3/; revision=37641
2018-04-13 13:24:55 +00:00
Arthur Egberink
2155e02579 YKPN#51761 -- Parkeerplaats autorisatie
svn path=/Website/branches/v2017.3/; revision=37640
2018-04-13 13:06:46 +00:00
Dennis Hartmann
c8d2658380 SUTF#52921 objecten gevuld op bon
svn path=/Website/branches/v2017.3/; revision=37634
2018-04-13 09:45:48 +00:00
Maykel Geerdink
fc11f4204b PCHA#52752: Foutmelding: ongeldige melding voor referentie.
svn path=/Website/branches/v2017.3/; revision=37631
2018-04-12 13:54:14 +00:00
Jos Groot Lipman
c4be3f3968 Release 2017.3 Gold C
svn path=/Website/branches/v2017.3/; revision=37630
2018-04-12 13:45:14 +00:00
Maykel Geerdink
60556a1249 PCHA#52752: Foutmelding: ongeldige melding voor referentie.
svn path=/Website/branches/v2017.3/; revision=37629
2018-04-12 13:38:18 +00:00
Erik Groener
8951e6337a SVRZ#52895 label toelichting bij een melding
svn path=/Website/branches/v2017.3/; revision=37628
2018-04-12 10:45:00 +00:00
Maykel Geerdink
56bf3fe46a FCLT#52926: Multi wijzigen van ruimtes werkt niet.
svn path=/Website/branches/v2017.3/; revision=37625
2018-04-12 10:09:22 +00:00
Maykel Geerdink
0dc78540ec FCLT#52926: Multi wijzigen van ruimtes werkt niet.
svn path=/Website/branches/v2017.3/; revision=37624
2018-04-12 09:25:37 +00:00
Jos Groot Lipman
cde8ac0f22 fac_verify data ook triggers laten controleren
svn path=/Website/branches/v2017.3/; revision=37623
2018-04-12 09:04:03 +00:00
Robin Stoker
3c76072171 Verwijderen oud logo + nieuw logo ook op bonnen
svn path=/Website/branches/v2017.3/; revision=37621
2018-04-12 08:14:01 +00:00
Maykel Geerdink
628dc65c6a UWVA#52871: afgevoerde laptop uitgeleend.
svn path=/Website/branches/v2017.3/; revision=37619
2018-04-12 06:00:56 +00:00
Jos Groot Lipman
f72baf9a3d Enkele fac_verify data aanscherpingen
svn path=/Website/branches/v2017.3/; revision=37618
2018-04-11 16:13:03 +00:00
Jos Groot Lipman
496361e21e Enkele fac_verify data aanscherpingen
svn path=/Website/branches/v2017.3/; revision=37616
2018-04-11 15:33:40 +00:00
Jos Groot Lipman
c946ad47ed FCLT#52877 -- 'YKPN Retail' geeft zeer slechte performance
svn path=/Website/branches/v2017.3/; revision=37615
2018-04-11 15:21:18 +00:00
Sander Schepers
a746e326e9 MDUX#51215 Aanpassing stylesheet mdux.xsl: onderscheid automatische uitvoeringsopdracht en handmatig versturen.
svn path=/Website/branches/v2017.3/; revision=37609
2018-04-11 13:49:52 +00:00
Marcel Bourseau
61dc8b6751 52947: PLATO Implementatie + omgeving voor De Bouwvereniging/Wonen in Harlingen (WOHA)
svn path=/Website/branches/v2017.3/; revision=37608
2018-04-11 13:41:09 +00:00
Maykel Geerdink
f44ff960cc DJIN#52689: DV&O: Melding sluiten met opdracht.
svn path=/Website/branches/v2017.3/; revision=37606
2018-04-11 13:25:58 +00:00
Maykel Geerdink
39a7cb2477 PCHD#52830: PCHD#52828.
svn path=/Website/branches/v2017.3/; revision=37605
2018-04-11 10:28:06 +00:00
Jos Groot Lipman
11b0a1ed8d Bij verify data ook foutieve tabelnamen en views die niet in XXXX.sql zitten controleren
svn path=/Website/branches/v2017.3/; revision=37596
2018-04-10 15:34:20 +00:00
Jos Groot Lipman
a44abe5ed8 Graphics wat persistent CSRF tegengaan en iets robuuster bij ongeldig cad_legendawaarde_rgb
svn path=/Website/branches/v2017.3/; revision=37595
2018-04-10 14:17:14 +00:00
Maykel Geerdink
e3be249234 PLAT#52747: Registratiedatum in de toekomst - activiteiten vanaf 2019 in de MJOB console.
svn path=/Website/branches/v2017.3/; revision=37592
2018-04-10 12:41:01 +00:00
Erik Groener
27e14fc077 BLCC#37164 BLCC - Importfuncties: Controle of Inlezer ook de Verwerker is?
was bedoeld voor trunk

svn path=/Website/branches/v2017.3/; revision=37590
2018-04-10 11:19:23 +00:00
Erik Groener
0819b942ee BLCC#37164 BLCC - Importfuncties: Controle of Inlezer ook de Verwerker is?
svn path=/Website/branches/v2017.3/; revision=37588
2018-04-10 11:14:44 +00:00
Erik Groener
1a20a61483 BLCC#37164 BLCC - Importfuncties: Controle of Inlezer ook de Verwerker is?
svn path=/Website/branches/v2017.3/; revision=37587
2018-04-10 11:12:28 +00:00
Maarten van der Heide
db716c1fb6 KFHT#51629 EXACT-export+import/FTP naar SFTP
svn path=/Website/branches/v2017.3/; revision=37586
2018-04-10 11:04:51 +00:00
Maarten van der Heide
5ac8631c71 KFHT#51629 EXACT-export+import/FTP naar SFTP
svn path=/Website/branches/v2017.3/; revision=37585
2018-04-10 11:01:56 +00:00
Erik Groener
f6127e72bc TWYN#52836 account aan deelprojectnummer
svn path=/Website/branches/v2017.3/; revision=37583
2018-04-10 09:59:12 +00:00
Jos Groot Lipman
399df120fd FSN#52915: 'Invoerproces duurde te lang' bij opslaan contract
svn path=/Website/branches/v2017.3/; revision=37581
2018-04-09 13:57:20 +00:00
Maykel Geerdink
deb03a36b3 MDUX#52906: veld vervaldatum niet meer zichtbaar.
svn path=/Website/branches/v2017.3/; revision=37580
2018-04-09 11:33:12 +00:00
Arthur Egberink
6a13f39b4c AQQA#51952 -- Implementatie personen import
svn path=/Website/branches/v2017.3/; revision=37579
2018-04-09 11:14:24 +00:00
Erik Groener
be4e98bfdb TWYN#52776 Overzicht contracten en verwerking meer en minderwerken
svn path=/Website/branches/v2017.3/; revision=37577
2018-04-09 10:59:34 +00:00
Dennis Hartmann
0a2f07d69e PCHD#52435 - notitie op opdrachtbon
svn path=/Website/branches/v2017.3/; revision=37575
2018-04-09 09:08:21 +00:00
Arthur Egberink
66f7f40a88 FCLT#52877 -- 'YKPN Retail' geeft zeer slechte performance
svn path=/Website/branches/v2017.3/; revision=37574
2018-04-09 07:33:42 +00:00
Robin Stoker
07bcb34b47 Nieuw logo
svn path=/Website/branches/v2017.3/; revision=37573
2018-04-06 14:55:16 +00:00
Maykel Geerdink
1e5810a9ac PLAT#52238: Vervolg van PLAT#52094: nieuwe velden in de interface verwerken.
svn path=/Website/branches/v2017.3/; revision=37563
2018-04-05 13:46:28 +00:00
Maykel Geerdink
5fcaf83f36 PLAT#52238: Vervolg van PLAT#52094: nieuwe velden in de interface verwerken.
svn path=/Website/branches/v2017.3/; revision=37562
2018-04-05 13:44:42 +00:00
Jos Groot Lipman
c7c5cff952 YKPN#52877 Retail performance
svn path=/Website/branches/v2017.3/; revision=37559
2018-04-05 12:15:32 +00:00
Maykel Geerdink
2a3438345c AAHB#52769: Opdracht met status 'ter goedkeuring' niet goed te keuren.
svn path=/Website/branches/v2017.3/; revision=37557
2018-04-05 11:40:21 +00:00
Erik Groener
3c03f256a1 TWYN#52807 gebruik projectnaam en nummers
svn path=/Website/branches/v2017.3/; revision=37555
2018-04-05 11:02:40 +00:00
Arthur Egberink
5a6b928b4a CSUN#52860 -- Afmeldtijdstip aanpassen in Heyday koppeling.
svn path=/Website/branches/v2017.3/; revision=37550
2018-04-04 15:02:59 +00:00
Jos Groot Lipman
e930e87683 AASA#52855 Opdrachten console afmelden
svn path=/Website/branches/v2017.3/; revision=37549
2018-04-04 15:00:05 +00:00
Jos Groot Lipman
9499267527 Missende puntkomma
svn path=/Website/branches/v2017.3/; revision=37548
2018-04-04 14:09:03 +00:00
Maykel Geerdink
532c8d0997 PLAT#52238: Vervolg van PLAT#52094: nieuwe velden in de interface verwerken.
svn path=/Website/branches/v2017.3/; revision=37547
2018-04-04 13:43:18 +00:00
Jos Groot Lipman
acb31cd65f Release 2017.3 Gold B
svn path=/Website/branches/v2017.3/; revision=37546
2018-04-04 13:38:16 +00:00
Jos Groot Lipman
155b9d33ef WOWA#52852 geen melding worden aangemaakt bij verplicht object op gebouwnivo
svn path=/Website/branches/v2017.3/; revision=37545
2018-04-04 13:29:13 +00:00
Maykel Geerdink
a59aa520e4 PLAT#52747: Registratiedatum in de toekomst - activiteiten vanaf 2019 in de MJOB console.
svn path=/Website/branches/v2017.3/; revision=37543
2018-04-04 11:55:24 +00:00
Erik Groener
f5c9226405 ARFR#36760 ARFR - MLD/INS: Aiai als bij vakgroeptype wel objecten maar
svn path=/Website/branches/v2017.3/; revision=37540
2018-04-04 10:40:50 +00:00
Dennis Hartmann
7e318f69bc KFST#52693 kostencode op factuur
svn path=/Website/branches/v2017.3/; revision=37536
2018-04-04 08:44:30 +00:00
Dennis Hartmann
c43e38804f SUTF#48287
svn path=/Website/branches/v2017.3/; revision=37535
2018-04-04 08:18:30 +00:00
Maykel Geerdink
77caa0065f PLAT#52747: Registratiedatum in de toekomst - activiteiten vanaf 2019 in de MJOB console.
svn path=/Website/branches/v2017.3/; revision=37534
2018-04-04 07:52:29 +00:00
Maarten van der Heide
cf496ff04f DIAN#51429 EXACT-import
svn path=/Website/branches/v2017.3/; revision=37532
2018-04-03 10:40:38 +00:00
Sander Schepers
6049afee6c MDUX#51215 uitvoeringsopdracht aangepast: meldingomschrijving ipv opdrachtomschrijving bij automatische uitvoeringsopdrachten
svn path=/Website/branches/v2017.3/; revision=37530
2018-03-30 11:28:34 +00:00
Dennis Hartmann
ed9315caaf LUDE#52817 opdrachtbon aangepast
svn path=/Website/branches/v2017.3/; revision=37529
2018-03-30 10:14:04 +00:00
Erik Groener
1dfa14ef43 TWYN#52777 overzicht contracten per account
svn path=/Website/branches/v2017.3/; revision=37528
2018-03-30 10:07:06 +00:00
Erik Groener
3b2562dacd TWYN#52774 tlv/tgv reserve automatische correctie
svn path=/Website/branches/v2017.3/; revision=37527
2018-03-30 09:24:04 +00:00
Dennis Hartmann
f2b1db6956 HOUT#52489 opdrachttypoe 3541 3621
svn path=/Website/branches/v2017.3/; revision=37513
2018-03-28 08:07:32 +00:00
Maarten van der Heide
09e865202b KFHT#51537 WVG-bon/Opnemen goedkeurders (uit WF-stappen)
svn path=/Website/branches/v2017.3/; revision=37503
2018-03-27 10:44:54 +00:00
Erik Groener
b4fe85523f FCLT#52749 Onderdrukken van gekoppelde meldingen in overzicht werkt niet goed
svn path=/Website/branches/v2017.3/; revision=37501
2018-03-27 10:08:57 +00:00
Dennis Hartmann
0934f49e96 VENR#52664
svn path=/Website/branches/v2017.3/; revision=37500
2018-03-27 09:43:07 +00:00
Dennis Hartmann
4ff3a39536 VENR#52664 gebouw toegevoegd bij adres in opdrachtbon
svn path=/Website/branches/v2017.3/; revision=37499
2018-03-27 08:19:05 +00:00
Jos Groot Lipman
75017fd80a FSN#51837 API2/attachments wel default laten cachen
svn path=/Website/branches/v2017.3/; revision=37493
2018-03-26 10:51:20 +00:00
Dennis Hartmann
e4b5590315 VEBE#51390 - key 221 naar 241 aangepast voor productie
svn path=/Website/branches/v2017.3/; revision=37488
2018-03-26 08:21:02 +00:00
1af6a2b166 NYBU#52734 Ook gebruikte uren wordt nu berekent met inachtneming van res_rap_t(1&2)
svn path=/Website/branches/v2017.3/; revision=37481
2018-03-23 13:24:17 +00:00
Erik Groener
057b8272ee TWYN#52670 Rapport meer en minderwerk per contractant
svn path=/Website/branches/v2017.3/; revision=37477
2018-03-23 12:35:36 +00:00
Robin Stoker
4649c62a5d AAXX#52331 -- non-xml character bug opgelost
svn path=/Website/branches/v2017.3/; revision=37476
2018-03-23 12:33:23 +00:00
Erik Groener
d782361628 TWYN#52670 Rapport meer en minderwerk per contractant
svn path=/Website/branches/v2017.3/; revision=37475
2018-03-23 12:22:56 +00:00
d56f6eab63 STPH#52735 syntax ingekort
svn path=/Website/branches/v2017.3/; revision=37474
2018-03-23 11:09:14 +00:00
Robin Stoker
c05f6fead9 AAXX#52331 -- Variable toegevoegd voor bedrijfadreskey i.v.m. afmelderpagina
svn path=/Website/branches/v2017.3/; revision=37473
2018-03-23 10:54:33 +00:00
ba69392c3b STPH#52735 alert weggehaald
svn path=/Website/branches/v2017.3/; revision=37472
2018-03-23 10:53:33 +00:00
3885ad9190 STPH#52735 zomer/wintertijd ging niet goed bij het automatisch setten ervan als date_from > date_to
svn path=/Website/branches/v2017.3/; revision=37471
2018-03-23 10:50:16 +00:00
Sander Schepers
3a6480369e MDUX#51215 uitvoeringsopdracht aangepast, tekst bij technische adressen en onderwerp
svn path=/Website/branches/v2017.3/; revision=37470
2018-03-23 10:07:13 +00:00
Maykel Geerdink
274966a8d8 PLAT#52238: Vervolg van PLAT#52094: nieuwe velden in de interface verwerken.
svn path=/Website/branches/v2017.3/; revision=37468
2018-03-22 16:17:02 +00:00
Maykel Geerdink
f2d91b8cce PLAT#52238: Vervolg van PLAT#52094: nieuwe velden in de interface verwerken.
svn path=/Website/branches/v2017.3/; revision=37467
2018-03-22 16:16:38 +00:00
Jos Groot Lipman
cae11e35d9 FSN#52125 Voor een (API) gebruiker de loglevel kunnen aanzetten: voorkom dat je het veld leeg maakt
svn path=/Website/branches/v2017.3/; revision=37462
2018-03-22 14:25:17 +00:00
Erik Groener
86a8c7d31a FCLT#52730 aiai bij kopieren opdracht die is aangeroepen vanuit budgetbeheer
svn path=/Website/branches/v2017.3/; revision=37455
2018-03-22 12:15:29 +00:00
Erik Groener
794de4dfbf FCLT#52477 Kopiëren en import/export van melding werkt niet in nieuwe meldingenscherm
svn path=/Website/branches/v2017.3/; revision=37453
2018-03-22 11:11:16 +00:00
Jos Groot Lipman
0d757428e8 LOGC#52619 Prio *wel* kunnen selecteren als einddatum onderdrukt
svn path=/Website/branches/v2017.3/; revision=37452
2018-03-22 10:31:15 +00:00
Maykel Geerdink
22d060b597 KFST#52705: Opdracht kan niet uitgegeven worden.
svn path=/Website/branches/v2017.3/; revision=37447
2018-03-21 14:32:47 +00:00
Jos Groot Lipman
d15e0c71dc FSN#52706 bez_bezoekers_opmerking niet wissen als S("vis_remark") readonly aangeeft
svn path=/Website/branches/v2017.3/; revision=37442
2018-03-21 13:39:31 +00:00
Erik Groener
314459998c HSLE#39254 reverted: was voor 2018.1, Catering - verbruiksartikelen - autorisatie
svn path=/Website/branches/v2017.3/; revision=37438
2018-03-21 13:28:18 +00:00
Erik Groener
0cdf34023e HSLE#39254 Catering - verbruiksartikelen - autorisatie
svn path=/Website/branches/v2017.3/; revision=37437
2018-03-21 13:18:24 +00:00
Maykel Geerdink
68a847f3f8 UWVA#52679: 900-kenmerken niet te zien (of op te zoeken) via Service-tab/Bezoekersbalie.
svn path=/Website/branches/v2017.3/; revision=37436
2018-03-21 13:00:14 +00:00
Maykel Geerdink
5250c0a243 UWVA#52663: Uitgeleende pas kan niet worden bewerkt.
svn path=/Website/branches/v2017.3/; revision=37434
2018-03-21 10:18:27 +00:00
Jos Groot Lipman
7640a64c97 FSN#52621 Als opdracht niet te verzenden doordat geen goed kanaal gevonden wordt dat ook tracken bij opdracht
svn path=/Website/branches/v2017.3/; revision=37433
2018-03-21 09:20:07 +00:00
Erik Groener
1766b1ac8e PNBR#52691 Bij kopieren standaardmelding is behandelgroep leeg
svn path=/Website/branches/v2017.3/; revision=37432
2018-03-21 08:31:01 +00:00
Erik Groener
5a201fefb7 FCLT#52687 Uitlenen *vanuit de reservering* moet wel geregistreerd worden als gekoppeld
svn path=/Website/branches/v2017.3/; revision=37424
2018-03-20 14:56:02 +00:00
Maykel Geerdink
497d2d89a5 UWVA#52661: bez_show_progress_prop set 6 geeft geen bage nummer weer.
svn path=/Website/branches/v2017.3/; revision=37421
2018-03-20 12:52:27 +00:00
Jos Groot Lipman
982269ee07 DJIN#52558 'Bestelling voor' ook tonen bij de opdracht
svn path=/Website/branches/v2017.3/; revision=37420
2018-03-20 12:45:03 +00:00
Erik Groener
b9c416a558 UWVA#52437 Meldingen zonder vakgroep worden in het admin meldingen scherm getoond
svn path=/Website/branches/v2017.3/; revision=37419
2018-03-20 11:31:17 +00:00
Daniëlle Tolner
7978c6016f PCHD#41239: aangepaste leveringsvoorwaarden
svn path=/Website/branches/v2017.3/; revision=37418
2018-03-20 11:11:56 +00:00
Maykel Geerdink
ebf8ec4624 UWVA#52663: Uitgeleende pas kan niet worden bewerkt.
svn path=/Website/branches/v2017.3/; revision=37416
2018-03-20 10:27:28 +00:00
Jos Groot Lipman
9fdf5c062f FSN#52125 Voor een (API) gebruiker de loglevel kunnen aanzetten: API2 verbetering
svn path=/Website/branches/v2017.3/; revision=37415
2018-03-20 10:00:02 +00:00
Maarten van der Heide
b820c5822e UWVA#35571 CMS
svn path=/Website/branches/v2017.3/; revision=37414
2018-03-20 09:55:02 +00:00
Maykel Geerdink
bd1650945d UWVA#52680: Aiai bij wijzigen bezoekers.
svn path=/Website/branches/v2017.3/; revision=37412
2018-03-20 08:07:13 +00:00
Marcel Bourseau
aa8018c933 MARX#52678: PDF in Strukton-factuur bericht als base64
svn path=/Website/branches/v2017.3/; revision=37406
2018-03-19 15:44:10 +00:00
Robin Stoker
8bd8caccf7 BLCC#52497 -- Nu ook exports van vastgoed en contract dump
svn path=/Website/branches/v2017.3/; revision=37403
2018-03-19 15:22:57 +00:00
Sander Schepers
6a1b719688 FSN#52518 CEVA0
svn path=/Website/branches/v2017.3/; revision=37402
2018-03-19 15:01:45 +00:00
Maykel Geerdink
6af11c1752 FCLT#52675: PNBR ORA-01427: Enkele-rij subselect retourneert meer dan één rij.
svn path=/Website/branches/v2017.3/; revision=37396
2018-03-19 13:23:05 +00:00
Maykel Geerdink
1035b82dfb UWVA#52663: Uitgeleende pas kan niet worden bewerkt.
svn path=/Website/branches/v2017.3/; revision=37393
2018-03-19 11:18:59 +00:00
Marcel Bourseau
0c216042c9 MARX#52652: De opdrachtkosten uit de REMS opdracht ook in Mareon verwerken
svn path=/Website/branches/v2017.3/; revision=37391
2018-03-19 09:47:41 +00:00
Erik Groener
07045a5e55 TWYN#52190 eigen logo TWYN toevoegen
svn path=/Website/branches/v2017.3/; revision=37390
2018-03-19 09:11:09 +00:00
Marcel Bourseau
bce58c2fd8 MARX#52519: Mareon -> REMS Factuur BIC en Banknaam
svn path=/Website/branches/v2017.3/; revision=37384
2018-03-16 16:27:01 +00:00
Jos Groot Lipman
5e351bcf22 FSN#42109 Meerdere tracking van dezelfde persoon in dezelfde minuut samennemen in mld_shownote2: een minuut is 60000 seconde, niet 6000
svn path=/Website/branches/v2017.3/; revision=37377
2018-03-15 13:38:24 +00:00
Jos Groot Lipman
2e11872702 UWVA52596 INSUSE schrijfrechten geeft (ongewild) toegang tot vaste velden
svn path=/Website/branches/v2017.3/; revision=37376
2018-03-15 12:38:07 +00:00
Maykel Geerdink
8edd5c43ff UWVA#52597: Default waarde van BEZ-kenmerkvelden niet gevuld.
svn path=/Website/branches/v2017.3/; revision=37374
2018-03-15 11:18:18 +00:00
Maarten van der Heide
5d6ca597ec UWVA#35571 CMS
svn path=/Website/branches/v2017.3/; revision=37373
2018-03-15 09:56:00 +00:00
Arthur Egberink
3e0b02acbc YKPN#51761 -- Parkeerplaats autorisatie
svn path=/Website/branches/v2017.3/; revision=37370
2018-03-14 16:13:56 +00:00
Arthur Egberink
43c50f3954 YKPN#51761 -- Parkeerplaats autorisatie
svn path=/Website/branches/v2017.3/; revision=37369
2018-03-14 16:06:55 +00:00
28e4452f6d DJIN#52575 de modalCount wordt intern in FcltMgr bijgehouden, maar ook opgehoogd bij elke nieuwe modal. Bij het openen van meerdere modals wordt de modalCount dus eerder opgehoogd dan dat de _resizeModal() wordt aangeroepen, wanneer het verkeerde dialog dus geresized werd.
svn path=/Website/branches/v2017.3/; revision=37366
2018-03-14 15:19:19 +00:00
0cf7f025ad FCLT#52530 bugfix in sql; {1=1 or 2=2 and 1=2} != {(1=1 or 2=2) and 1=1} -> gecorrigeerd
svn path=/Website/branches/v2017.3/; revision=37363
2018-03-14 13:15:45 +00:00
Jos Groot Lipman
e14dbfe81f UWVA#52092 ARO-koppeling/AuthenticationService van GET naar POST
svn path=/Website/branches/v2017.3/; revision=37359
2018-03-14 09:59:48 +00:00
Jos Groot Lipman
cdd935db54 Unxpected Application pool (re)start is betere tekst
svn path=/Website/branches/v2017.3/; revision=37357
2018-03-14 08:34:43 +00:00
Maykel Geerdink
62b24f26d2 DJIN#52576: DV&O: Onduidelijke voorraad foutmelding.
svn path=/Website/branches/v2017.3/; revision=37355
2018-03-14 07:59:07 +00:00
Jos Groot Lipman
d963c3b497 TWYN naar productie
svn path=/Website/branches/v2017.3/; revision=37353
2018-03-13 16:42:08 +00:00
Erik Groener
40a5591aaf TWYN#52401 Rapport meer- en minderwerk MMW_CONT
svn path=/Website/branches/v2017.3/; revision=37350
2018-03-13 16:02:11 +00:00
Jos Groot Lipman
5bd85465c0 Release 2017.3 Gold B
svn path=/Website/branches/v2017.3/; revision=37349
2018-03-13 16:02:10 +00:00
Jos Groot Lipman
bfa9828be0 FSN#52610 Bij afwijzen gekoppelde melding kon een AiAi ontstaan
svn path=/Website/branches/v2017.3/; revision=37347
2018-03-13 15:51:26 +00:00
Jos Groot Lipman
296a780217 FSN#52601 API2 PUT-autorisatie op bezoekers
svn path=/Website/branches/v2017.3/; revision=37342
2018-03-13 14:55:49 +00:00
Jos Groot Lipman
a173d7ddb9 FSN#52601 Scherpere isWriteonlyApi2User toepassing na een PUT
svn path=/Website/branches/v2017.3/; revision=37341
2018-03-13 14:52:03 +00:00
Erik Groener
b7291180ad FCLT#52603 aiai costtype_IS_NOT_INTEGER in bgt_budget
svn path=/Website/branches/v2017.3/; revision=37337
2018-03-13 13:53:05 +00:00
Maykel Geerdink
38f56f8c46 DJIN#41675: DJIN - BES: Bevestiging levering/ontvangst door besteller va.
svn path=/Website/branches/v2017.3/; revision=37336
2018-03-13 13:27:09 +00:00
Arthur Egberink
ab3db9c63a YKPN#48088 -- Koppeling met Nedap kentekenherkenning.
svn path=/Website/branches/v2017.3/; revision=37335
2018-03-13 10:39:33 +00:00
Arthur Egberink
5b9a682b50 FCLT#52585 -- Opschonen cust bestanden funcodes.inc en doctype
svn path=/Website/branches/v2017.3/; revision=37334
2018-03-12 15:35:41 +00:00
Erik Groener
dff7fc9639 TWYN#52412 gebruik door toegekende gebruiker
svn path=/Website/branches/v2017.3/; revision=37330
2018-03-12 14:32:26 +00:00
Ruud Lipper
ee88332ad1 DVNO#52567 Knop bij goedkeuren moet Accepteren heten ipv Fiatteren
svn path=/Website/branches/v2017.3/; revision=37329
2018-03-12 13:49:55 +00:00
Jos Groot Lipman
c5a4278a4a FSN#52531 Goede catalogi filteren vij res_ruimte
svn path=/Website/branches/v2017.3/; revision=37328
2018-03-12 13:30:13 +00:00
Maykel Geerdink
24cdecaac9 DJIN#52564: DV&O: Bevestigde/Ontvangen bestelaanvraag niet meer zichtbaar in overzichten.
svn path=/Website/branches/v2017.3/; revision=37327
2018-03-12 12:42:59 +00:00
Maykel Geerdink
fee4ceedb2 MNNL#52304: vervolg 40834.
svn path=/Website/branches/v2017.3/; revision=37326
2018-03-12 11:36:31 +00:00
Jos Groot Lipman
c32e4905b2 FSN#52562 AiAi bij aanmaken nieuw objectsoort
svn path=/Website/branches/v2017.3/; revision=37325
2018-03-12 10:15:05 +00:00
Erik Groener
6e3f70b2bf TWYN#52542 invoerscherm contracten
svn path=/Website/branches/v2017.3/; revision=37324
2018-03-12 08:39:55 +00:00
Erik Groener
d15d900fe3 TWYN#52544 betalingsadvies
svn path=/Website/branches/v2017.3/; revision=37318
2018-03-09 12:42:58 +00:00
Erik Groener
974f88cbea TWYN#52401 Rapport meer- en minderwerk MMW_CONT
svn path=/Website/branches/v2017.3/; revision=37314
2018-03-09 09:50:43 +00:00
Marcel Bourseau
fc50695c42 MARX#52519: Mareon -> REMS ipv UBL2.1 wordt Simplerinvoicing Invoice 1.1 verwacht
svn path=/Website/branches/v2017.3/; revision=37311
2018-03-08 14:43:56 +00:00
Maarten van der Heide
a68fbacead SVRZ#51694 Noti/Objectwijziging
svn path=/Website/branches/v2017.3/; revision=37307
2018-03-08 12:47:23 +00:00
Ruud Lipper
d3bf2a7363 BLCC#52522 meer/minder toggle toegevoegd
svn path=/Website/branches/v2017.3/; revision=37306
2018-03-08 07:37:29 +00:00
Marcel Bourseau
512c8c9d46 MARX#52519: Mareon -> REMS ipv UBL2.1 wordt Simplerinvoicing Invoice 1.1 verwacht.
svn path=/Website/branches/v2017.3/; revision=37303
2018-03-07 16:25:30 +00:00
Erik Groener
c92589c4b6 TWYN#52401 Rapport meer- en minderwerk MMW_CONT
svn path=/Website/branches/v2017.3/; revision=37302
2018-03-07 15:06:00 +00:00
Robin Stoker
e93ac11f95 UWVA#35571 -- Trigger voor TCS procedures
svn path=/Website/branches/v2017.3/; revision=37300
2018-03-07 13:36:20 +00:00
Arthur Egberink
5fe00effe6 PHCA#52027 -- Fiattering SVD
svn path=/Website/branches/v2017.3/; revision=37299
2018-03-07 13:15:12 +00:00
Robin Stoker
a7e7af0d44 UWVA#35571 -- Plugin ten behoeve van toegangscontrolesysteem
svn path=/Website/branches/v2017.3/; revision=37298
2018-03-07 13:00:20 +00:00
Robin Stoker
cd96b20f2c UWVA#35571 -- Notificatie toegevoegd voor nieuwe toegangspas
svn path=/Website/branches/v2017.3/; revision=37296
2018-03-07 12:54:07 +00:00
Erik Groener
d879b28636 TWYN#52102 meer/minderwerk verrekenen uit reserve
svn path=/Website/branches/v2017.3/; revision=37293
2018-03-07 10:16:33 +00:00
Dennis Hartmann
7889c3fc21 BLCC#52080 -punt1 link aangepast
svn path=/Website/branches/v2017.3/; revision=37290
2018-03-07 08:53:01 +00:00
Maykel Geerdink
76438f8c6f RWSN#52462: AiAi bij selectie op geavanceerde kenmerken Terreinen.
svn path=/Website/branches/v2017.3/; revision=37289
2018-03-07 08:51:18 +00:00
Dennis Hartmann
8bf3032215 BLCC#51897 kenmerktype L nu ook op reserveringsbon
svn path=/Website/branches/v2017.3/; revision=37288
2018-03-07 08:47:09 +00:00
Maykel Geerdink
41b089f1ec DJIN#41675: DJIN - BES: Bevestiging levering/ontvangst door besteller va.
svn path=/Website/branches/v2017.3/; revision=37287
2018-03-07 08:27:14 +00:00
Arthur Egberink
0c29613bed YKPN#48088 -- Koppeling met Nedap kentekenherkenning.
svn path=/Website/branches/v2017.3/; revision=37286
2018-03-07 08:26:38 +00:00
Dennis Hartmann
cae0b3dad1 AASA#52354 - aafm_banner kleiner
svn path=/Website/branches/v2017.3/; revision=37285
2018-03-07 08:25:48 +00:00
Suzan Wiegerinck
24eab7c7df AKZA#52243 Werkvergunning uit opdrachtbon halen
svn path=/Website/branches/v2017.3/; revision=37284
2018-03-07 08:09:46 +00:00
Ruud Lipper
0e80c8971c PCHD#52504 waarde omschrijving tabelwaarde verplicht
svn path=/Website/branches/v2017.3/; revision=37283
2018-03-07 08:09:37 +00:00
Suzan Wiegerinck
52385311d8 AKZA#52243 Werkvergunning uit opdrachtbon halen
svn path=/Website/branches/v2017.3/; revision=37282
2018-03-07 07:45:48 +00:00
Maykel Geerdink
b714c982fb FCLT#51784: Tracking rondom fiatteren en goedkeuren van facturen klopt niet altijd.
svn path=/Website/branches/v2017.3/; revision=37280
2018-03-07 06:46:33 +00:00
Ruud Lipper
896843c831 BLCC#51897 inc/exbtw
svn path=/Website/branches/v2017.3/; revision=37276
2018-03-06 13:19:15 +00:00
Daniëlle Tolner
c12cc80977 PCHX#41239: klantnummer Groveko
svn path=/Website/branches/v2017.3/; revision=37274
2018-03-06 12:27:01 +00:00
Suzan Wiegerinck
e38c917af6 WZUV#51961
svn path=/Website/branches/v2017.3/; revision=37273
2018-03-06 12:16:24 +00:00
Suzan Wiegerinck
3eb9ebad5d AKZA#51937 Standaard bijlage toevoegen aan email notificatie
svn path=/Website/branches/v2017.3/; revision=37270
2018-03-06 09:52:59 +00:00
Maykel Geerdink
5c81990e31 MDUX#52464: objectenbeheer werkt niet.
GOUD#52450: ineens geen rechten meer in objecten beheer.

svn path=/Website/branches/v2017.3/; revision=37267
2018-03-06 08:08:09 +00:00
8526b7a296 FCLT#52459 query iets efficienter, geen verschil in functionaliteit
svn path=/Website/branches/v2017.3/; revision=37266
2018-03-05 15:33:53 +00:00
Ruud Lipper
17434068ee FSN#52475 keyusres kloppen niet meer. Daarom een extra kolom om via write rechten te kunnen filteren.
svn path=/Website/branches/v2017.3/; revision=37265
2018-03-05 15:15:08 +00:00
Maykel Geerdink
f3949e7fb2 STPH#51908: [BES] Artikel komt meerdere keren voor bij bestelvoorraad.
svn path=/Website/branches/v2017.3/; revision=37264
2018-03-05 14:46:11 +00:00
de6e3f5976 FCLT#52459 LISTAGG(objecten) wordt nu alleen gebruikt in mld_list en opdr_list indien er 20 of minder objecten aanwezig zijn
svn path=/Website/branches/v2017.3/; revision=37263
2018-03-05 12:48:44 +00:00
Erik Groener
a1aa90241e FCLT#52469 aiai bij kopiëren fin_factuur
svn path=/Website/branches/v2017.3/; revision=37261
2018-03-05 11:32:55 +00:00
Jos Groot Lipman
d4478b1656 FSN#45087 Objecten koppelen grondig herzien voor performance
svn path=/Website/branches/v2017.3/; revision=37259
2018-03-05 10:40:56 +00:00
9de2415208 FCLT#52457 buildTransitParam(lijst) houdt geen rekening met de defVal van getXparamSafe('urole', defVal), dus nu params in buildTransitParam gezet
svn path=/Website/branches/v2017.3/; revision=37258
2018-03-05 10:30:49 +00:00
Maykel Geerdink
4cf97c0060 DJIN#41674: DJIN - BES/INS: Objecten vanuit bestellingen kunnen aanmaken.
svn path=/Website/branches/v2017.3/; revision=37256
2018-03-05 07:26:57 +00:00
Jos Groot Lipman
6c4db16d56 NYBU#52363 FTP server via menu item
svn path=/Website/branches/v2017.3/; revision=37253
2018-03-02 08:57:12 +00:00
Jos Groot Lipman
70dbcc1545 FSN#52438 Putorder logging met Error in process: ORA-12899
svn path=/Website/branches/v2017.3/; revision=37251
2018-03-01 19:52:21 +00:00
Robin Stoker
e9b02a5b1c UWVA#35571 -- Aanpassing tekst op pas vermist bon
svn path=/Website/branches/v2017.3/; revision=37247
2018-03-01 16:12:50 +00:00
Maykel Geerdink
9704312c8f DJIN#48507: Automatische opdrachten ook laten fiatteren.
svn path=/Website/branches/v2017.3/; revision=37245
2018-03-01 14:24:37 +00:00
a2d0f9ed8e NYBU#52397 bugfix: res_rap_t(1|2) werd niet meegenomen in de berekening van de beschikbare uren in het bezettingsgraad overzicht op weekdag gegroepeerd (dagverdeling uit), dat is nu verbeterd (evenals het meenemen van res_ruimte_(begin|eind))tijdblok in deze berekening).
svn path=/Website/branches/v2017.3/; revision=37242
2018-03-01 14:14:46 +00:00
Jos Groot Lipman
fe5fb53831 Release 2017.3 Gold
svn path=/Website/branches/v2017.3/; revision=37241
2018-03-01 13:53:28 +00:00
Jos Groot Lipman
3d5077d7b7 NYBU#52363 FTP server via menu item
svn path=/Website/branches/v2017.3/; revision=37239
2018-03-01 12:53:35 +00:00
Marcel Bourseau
5b974bcb34 MARX#52430: Het veld aantal is in geval < 1 geen decimale representatie in de XML
svn path=/Website/branches/v2017.3/; revision=37234
2018-03-01 10:16:37 +00:00
Jos Groot Lipman
65c5e35e25 FSN#52427 Printen opdr_notes naar goede bestand verwijzen
svn path=/Website/branches/v2017.3/; revision=37233
2018-03-01 09:29:02 +00:00
Jos Groot Lipman
d001395b50 FSN#52423 Betere controle of datumflexkenmerken met (ongeldige) default
svn path=/Website/branches/v2017.3/; revision=37232
2018-03-01 09:22:54 +00:00
Jos Groot Lipman
c8fd6481fc FSN#51996 Putorders FORCE voor alle batchfiles standaard ondersteunen
svn path=/Website/branches/v2017.3/; revision=37229
2018-02-28 19:25:24 +00:00
Jos Groot Lipman
d9596e481e FSN#52418 Beter loggen van Putorders aanroepen naar andere FACILITOR's
svn path=/Website/branches/v2017.3/; revision=37228
2018-02-28 19:07:48 +00:00
Marcel Bourseau
c6905d4941 MARX#52068: Afrond puntjes koppeling Facilitor - Mareon nav 1e echte casus / livegang
svn path=/Website/branches/v2017.3/; revision=37227
2018-02-28 17:35:42 +00:00
Marcel Bourseau
3807655c7d MARX#52068: Afrond puntjes koppeling Facilitor - Mareon nav 1e echte casus / livegang
svn path=/Website/branches/v2017.3/; revision=37226
2018-02-28 17:33:43 +00:00
Jos Groot Lipman
84af495bf4 FSN#51518 Meer diversiteit in mogelijke objecten bij een melding mogelijk maken
svn path=/Website/branches/v2017.3/; revision=37221
2018-02-28 14:49:54 +00:00
Jos Groot Lipman
d85c12eccf FSN#45087 Objecten koppelen grondig herzien voor performance
svn path=/Website/branches/v2017.3/; revision=37220
2018-02-28 14:43:52 +00:00
Jos Groot Lipman
7fcb4e6f49 FSN#52411 Beter controleren als geen url is ingevuld bij technisch adres
Ook: minder false-positives bij bedrijfadres controle

svn path=/Website/branches/v2017.3/; revision=37219
2018-02-28 12:42:01 +00:00
Jos Groot Lipman
9407f389cd FSN#52411 Beter controleren als geen url is ingevuld bij technisch adres
svn path=/Website/branches/v2017.3/; revision=37218
2018-02-28 12:39:13 +00:00
Jos Groot Lipman
6aaa659a22 FSN#52411 Beter controleren als geen url is ingevuld bij technisch adres
svn path=/Website/branches/v2017.3/; revision=37217
2018-02-28 12:27:58 +00:00
Jos Groot Lipman
82a5ab6bc4 FSN#52411 Beter controleren als geen url is ingevuld bij technisch adres
svn path=/Website/branches/v2017.3/; revision=37216
2018-02-28 12:27:15 +00:00
Jos Groot Lipman
672ec6d8f0 FSN#52411 Beter controleren als geen url is ingevuld bij technisch adres
svn path=/Website/branches/v2017.3/; revision=37215
2018-02-28 12:08:43 +00:00
Marcel Bourseau
43868d6116 MARX#51794: Factuur/statusbericht response bericht volgens ketenstandaard MessageService
svn path=/Website/branches/v2017.3/; revision=37213
2018-02-28 12:03:13 +00:00
Maykel Geerdink
e0b084030c UWVA#52269: Autorisaties icm volgnummer lijken niet te werken bij objecten.
svn path=/Website/branches/v2017.3/; revision=37212
2018-02-28 11:19:12 +00:00
Erik Groener
8dabac3eaa FCLT#52246 Kenmerken alleen zichtbaar bij actie "registreer afhandelingskenmerken"
svn path=/Website/branches/v2017.3/; revision=37209
2018-02-27 15:08:40 +00:00
Jos Groot Lipman
795ba64386 FSN#52407 Minder rad????.tmp bestandjes bij AAXX
svn path=/Website/branches/v2017.3/; revision=37208
2018-02-27 14:47:51 +00:00
Robin Stoker
01127cd110 tmpl_logo nu juiste naamgeving
svn path=/Website/branches/v2017.3/; revision=37207
2018-02-27 14:32:36 +00:00
Erik Groener
4636d3a3ce FCLT#52403 AiAi PCHE op appl/cnt/loadRuimteObjecten.asp
svn path=/Website/branches/v2017.3/; revision=37204
2018-02-27 14:11:32 +00:00
Maykel Geerdink
43dc2a4b59 PLAT#41966: In bulk kunnen wijzigen van taakgegevens v2.
svn path=/Website/branches/v2017.3/; revision=37202
2018-02-27 13:09:41 +00:00
Maykel Geerdink
6523eee027 PLAT#41966: In bulk kunnen wijzigen van taakgegevens v2.
svn path=/Website/branches/v2017.3/; revision=37201
2018-02-27 12:44:23 +00:00
Jos Groot Lipman
bda4b846f1 FSN#52400 AiAi bij toevoegen nieuw element MJOB
svn path=/Website/branches/v2017.3/; revision=37198
2018-02-27 12:39:00 +00:00
Erik Groener
8b84b802f0 UWVA#52375 Tekst bij uitleenregistratie
svn path=/Website/branches/v2017.3/; revision=37197
2018-02-27 12:25:15 +00:00
Jos Groot Lipman
81bffc5732 Bij verify data ook notificatie queue en order queue controleren op leeg zijn
svn path=/Website/branches/v2017.3/; revision=37196
2018-02-27 12:17:09 +00:00
Jos Groot Lipman
626f014d64 Bij verify data ook enkele foto bestanden controleren
svn path=/Website/branches/v2017.3/; revision=37195
2018-02-27 12:10:33 +00:00
Erik Groener
13a921d012 TWYN#52191 Rapport BMUt_NUM
svn path=/Website/branches/v2017.3/; revision=37194
2018-02-27 11:56:30 +00:00
Erik Groener
cbb9b1b9ef TWYN#52191 Rapport BMUt_NUM
svn path=/Website/branches/v2017.3/; revision=37193
2018-02-27 11:36:52 +00:00
ecf4fef4ab UWVA#52393 opdr scherm wordt nu 'hot' (edit-mode) als voor een opdr_note de edit mode aangegaan wordt. zelfde werking als mld_show_note2.asp
svn path=/Website/branches/v2017.3/; revision=37188
2018-02-27 10:51:13 +00:00
Maarten van der Heide
79b64ab6ee UWVA#52037 Meldingbon/Nog wat meer puntjes op de 'i'
svn path=/Website/branches/v2017.3/; revision=37187
2018-02-27 10:44:34 +00:00
Jos Groot Lipman
cb6be74e48 VEBE#52392 bij nieuwe opdrachten mag je het afhandelingveld best direct invullen.
svn path=/Website/branches/v2017.3/; revision=37185
2018-02-27 09:59:08 +00:00
Jos Groot Lipman
a2063cf198 Bij verify data ook notificatie queue en order queue controleren op leeg zijn
svn path=/Website/branches/v2017.3/; revision=37184
2018-02-27 09:11:56 +00:00
Erik Groener
0d790ba318 TWYN#52350 budgetten zijn weer aangepast!!
svn path=/Website/branches/v2017.3/; revision=37182
2018-02-26 12:28:43 +00:00
Dennis Hartmann
158e009aa7 svn path=/Website/branches/v2017.3/; revision=37178 2018-02-26 10:57:07 +00:00
Dennis Hartmann
f6c6b5b469 vebe#51390 opdrachttype 221
svn path=/Website/branches/v2017.3/; revision=37177
2018-02-26 10:55:42 +00:00
Jos Groot Lipman
a9234628c1 MNNL#52361 en UWVA#41492 S("mld_note_sort_ascending") is niet van toepassing op note2-mode
svn path=/Website/branches/v2017.3/; revision=37176
2018-02-26 09:04:02 +00:00
Jos Groot Lipman
c062d8334f MARX#41688 ins_deel_mjb_score1 en ins_deel_mjb_score2 toch maar numeriek
svn path=/Website/branches/v2017.3/; revision=37175
2018-02-26 08:27:02 +00:00
Maarten van der Heide
590418f619 UWVA#52037 Meldingbon/Nog wat meer puntjes op de 'i'
svn path=/Website/branches/v2017.3/; revision=37170
2018-02-23 13:56:41 +00:00
8b5508f695 UWVA#52356 bugfix; als res_activiteit_posttime == 0 dan ar[ci].act_post_time == null, dat leverde errors op
svn path=/Website/branches/v2017.3/; revision=37169
2018-02-23 13:43:49 +00:00
Maarten van der Heide
122a5a4b9d UWVA#52037 Meldingbon/Nog wat meer puntjes op de 'i'
svn path=/Website/branches/v2017.3/; revision=37166
2018-02-23 13:37:21 +00:00
Marcel Bourseau
0d8d82691b PLAT#52370: PLATO/TMJ Implementatie + omgeving voor Wold en Waard: WOWA
svn path=/Website/branches/v2017.3/; revision=37165
2018-02-23 13:32:16 +00:00
Erik Groener
4a106ad8ce TWYN#52191 Rapport BMUt_NUM
svn path=/Website/branches/v2017.3/; revision=37162
2018-02-23 12:48:16 +00:00
Erik Groener
ca6e4b3d49 TWYN#52228 foutmelding wijzigen factuurgegevens
svn path=/Website/branches/v2017.3/; revision=37160
2018-02-23 09:54:11 +00:00
Marcel Bourseau
d076fd4813 MARX#51794: Factuur/statusbericht response bericht volgens ketenstandaard MessageService
svn path=/Website/branches/v2017.3/; revision=37157
2018-02-22 15:37:46 +00:00
Jos Groot Lipman
03456ef3e4 Release 2017.3 RC1
svn path=/Website/branches/v2017.3/; revision=37155
2018-02-22 15:12:22 +00:00
Jos Groot Lipman
11cece395c Iets beter error logging in Oracle.ExecuteParam
svn path=/Website/branches/v2017.3/; revision=37154
2018-02-22 15:10:28 +00:00
Maykel Geerdink
c82d8bae43 PLAT#41966: In bulk kunnen wijzigen van taakgegevens v2.
svn path=/Website/branches/v2017.3/; revision=37153
2018-02-22 15:02:21 +00:00
Jos Groot Lipman
46f2f89997 UWVA#52245 Implementatie van 'isWriteonlyApi2User'
svn path=/Website/branches/v2017.3/; revision=37151
2018-02-22 14:57:24 +00:00
Jos Groot Lipman
225a06c333 UWVA#52347 Een zoek-LOV-veld moet nooit readonly worden
svn path=/Website/branches/v2017.3/; revision=37149
2018-02-22 14:01:42 +00:00
Erik Groener
19d94b3954 AADS#52278 2017.3 feedback: beheerscherm meldingen
svn path=/Website/branches/v2017.3/; revision=37147
2018-02-22 13:12:09 +00:00
Jos Groot Lipman
683dac579f YKPN#51592 Ook bez_post_save hooks aanroepen bij kopie afspraak/reservering
svn path=/Website/branches/v2017.3/; revision=37146
2018-02-22 12:37:01 +00:00
Marcel Bourseau
afe0b3ce43 MARX#41535: Opruimen Mareon bijlagen
svn path=/Website/branches/v2017.3/; revision=37145
2018-02-22 12:19:57 +00:00
Suzan Wiegerinck
a3ace21789 opmaak aangepast
svn path=/Website/branches/v2017.3/; revision=37143
2018-02-22 12:07:34 +00:00
Maykel Geerdink
7b273724f4 AADS#51728: Gefiatteerde opdrachten niet inzichtelijk.
svn path=/Website/branches/v2017.3/; revision=37142
2018-02-22 11:43:20 +00:00
Jos Groot Lipman
fb2c6fc204 FSN#52125 Voor een (API) gebruiker de loglevel kunnen aanzetten: API2 verbetering
svn path=/Website/branches/v2017.3/; revision=37141
2018-02-22 11:39:23 +00:00
Marcel Bourseau
282bebba8e MARX#41535: Opruimen Mareon bijlagen
svn path=/Website/branches/v2017.3/; revision=37139
2018-02-22 11:20:10 +00:00
Daniëlle Tolner
687476b415 PCHD#41239: klantnummer Groveko op bestelopdracht
svn path=/Website/branches/v2017.3/; revision=37138
2018-02-22 11:04:33 +00:00
Sander Schepers
7b314236c8 NMPC#52176
svn path=/Website/branches/v2017.3/; revision=37137
2018-02-22 11:03:46 +00:00
Erik Groener
88a4b4e426 MNNL#45087 Object koppelen niet op locatie, naam of afdeling
svn path=/Website/branches/v2017.3/; revision=37136
2018-02-22 11:01:54 +00:00
Jos Groot Lipman
9840639590 Het veld PRS_PERSLID_GESLACHT is 'number' in de database, niet varchar
svn path=/Website/branches/v2017.3/; revision=37135
2018-02-22 10:50:50 +00:00
Maykel Geerdink
f7fae992cb AADS#51728: Gefiatteerde opdrachten niet inzichtelijk.
svn path=/Website/branches/v2017.3/; revision=37134
2018-02-22 10:47:13 +00:00
Jos Groot Lipman
01509241d0 MDUX#52343 Er onterecht op missing id gecontroleerd bij een API2 POST
svn path=/Website/branches/v2017.3/; revision=37133
2018-02-22 10:05:19 +00:00
Ruud Lipper
defad965d4 SUTF#52324 multiwijzigen registratiedatum
svn path=/Website/branches/v2017.3/; revision=37129
2018-02-21 15:32:02 +00:00
Jos Groot Lipman
18793a6a5b params.besgroep_key werd verkeerd doorgegeven (maar ging toevallig wel goed door globalen)
svn path=/Website/branches/v2017.3/; revision=37127
2018-02-21 15:07:48 +00:00
Ruud Lipper
8e55c010b1 YKPN#52330 gebouwnaam naar 60 karkaters (zoals reeds in db)
svn path=/Website/branches/v2017.3/; revision=37126
2018-02-21 14:55:29 +00:00
Jos Groot Lipman
4350281c1f Bij verify data ook notificatie queue en order queue controleren op leeg zijn
svn path=/Website/branches/v2017.3/; revision=37125
2018-02-21 14:31:03 +00:00
Robin Stoker
ddf1860ccf srtnotificatiecode X
svn path=/Website/branches/v2017.3/; revision=37124
2018-02-21 14:05:50 +00:00
Ruud Lipper
e388a86325 FSN#52333 ook op voornaam kunnen zoeken
svn path=/Website/branches/v2017.3/; revision=37123
2018-02-21 14:02:16 +00:00
8296c4a37a UWVA#52303 spinner uit CAD module gehaald, deze heeft zijn eigen spinner al
svn path=/Website/branches/v2017.3/; revision=37121
2018-02-21 13:34:11 +00:00
Robin Stoker
8e6e176b6b UWVA#35571 -- Bonnen t.b.v. UWV TCS project
svn path=/Website/branches/v2017.3/; revision=37120
2018-02-21 13:24:56 +00:00
Jos Groot Lipman
6a62973596 PLAT#51640 ins_deel_opmerking ook tracken
svn path=/Website/branches/v2017.3/; revision=37119
2018-02-21 12:54:54 +00:00
Jos Groot Lipman
8007229be2 Branch 2017.3
svn path=/Website/branches/v2017.3/; revision=37117
2018-02-21 11:42:27 +00:00
Jos Groot Lipman
8dec3cbd96 Merge 2017.2 Gold E patches
svn path=/Website/trunk/; revision=37116
2018-02-21 11:40:48 +00:00
Maykel Geerdink
33016415b6 BLCC#51562: ORDOAP met gescopte ORDBOF rechten toont onterecht opdrachten van ander gebouw.
svn path=/Website/trunk/; revision=37113
2018-02-21 11:34:15 +00:00
Erik Groener
04ad077449 TWYN#52228 foutmelding wijzigen factuurgegevens
svn path=/Website/trunk/; revision=37111
2018-02-21 11:29:47 +00:00
Erik Groener
d99a043d68 TWYN#52228 foutmelding wijzigen factuurgegevens
svn path=/Website/trunk/; revision=37107
2018-02-21 11:15:24 +00:00
Erik Groener
e2380d7149 TWYN#52266 fout bij kopieren factuur
svn path=/Website/trunk/; revision=37106
2018-02-21 10:42:09 +00:00
c32fa39cec UWVA#52257 tracking van door doorsturen gewiste flexkenmerken gedetaileerder
svn path=/Website/trunk/; revision=37104
2018-02-21 09:33:34 +00:00
8e4726dae4 UWVA#52301 melder van melding heeft nu ook canViewConfidential op onderliggende opdrachten
svn path=/Website/trunk/; revision=37103
2018-02-21 09:04:38 +00:00
Ruud Lipper
3bc4a2f313 UWVA#39063 multi edit einddatum leeg laten
svn path=/Website/trunk/; revision=37099
2018-02-21 08:16:49 +00:00
Maykel Geerdink
be7220dd6c VGLD#51622: Mandaat overschrijden van Budgethouder.
svn path=/Website/trunk/; revision=37098
2018-02-21 08:13:13 +00:00
Maykel Geerdink
680e27e0ca FCLT#52313: Frontend urole fout bepaald. BITAND (&) i.p.v. AND (&&).
svn path=/Website/trunk/; revision=37097
2018-02-21 07:21:25 +00:00
Maykel Geerdink
b48b44ea5a FCLT#52313: Frontend urole fout bepaald. BITAND (&) i.p.v. AND (&&).
svn path=/Website/trunk/; revision=37096
2018-02-21 07:20:11 +00:00
Erik Groener
198d915e64 FCLT#52246 Kenmerken alleen zichtbaar bij actie "registreer afhandelingskenmerken"
svn path=/Website/trunk/; revision=37095
2018-02-21 07:15:19 +00:00
Maykel Geerdink
e8582b1976 DJIN#41674: DJIN - BES/INS: Objecten vanuit bestellingen kunnen aanmaken.
svn path=/Website/trunk/; revision=37094
2018-02-21 07:03:17 +00:00
Maykel Geerdink
733f26a311 FCLT#52313: Frontend urole fout bepaald. BITAND (&) i.p.v. AND (&&).
svn path=/Website/trunk/; revision=37083
2018-02-20 14:44:21 +00:00
Maykel Geerdink
a7c775c370 FCLT#52313: Frontend urole fout bepaald. BITAND (&) i.p.v. AND (&&).
svn path=/Website/trunk/; revision=37082
2018-02-20 14:37:52 +00:00
Maykel Geerdink
b33f74605f FCLT#52313: Frontend urole fout bepaald. BITAND (&) i.p.v. AND (&&).
svn path=/Website/trunk/; revision=37081
2018-02-20 14:33:53 +00:00
Maykel Geerdink
b43387a0af DJIN#41674: DJIN - BES/INS: Objecten vanuit bestellingen kunnen aanmaken.
svn path=/Website/trunk/; revision=37080
2018-02-20 14:19:51 +00:00
Jos Groot Lipman
7365668cc8 FSN#52312 Mutli-vervolg kon een fout op kostenklant_verplicht geven
svn path=/Website/trunk/; revision=37079
2018-02-20 14:11:51 +00:00
Erik Groener
d68aac113b FCLT#52246 Kenmerken alleen zichtbaar bij actie "registreer afhandelingskenmerken"
svn path=/Website/trunk/; revision=37078
2018-02-20 13:07:43 +00:00
Erik Groener
4b5caddb3b FCLT#52246 Kenmerken alleen zichtbaar bij actie "registreer afhandelingskenmerken"
svn path=/Website/trunk/; revision=37076
2018-02-20 12:25:10 +00:00
Jos Groot Lipman
492807a4a0 PCHW#41702 Activiteiten krijgen een (post)schoonmaaktijd, betreft res_rsv
svn path=/Website/trunk/; revision=37075
2018-02-20 12:20:49 +00:00
Jos Groot Lipman
b6289d0c5e Query layout, geen functionele wijzigingen
svn path=/Website/trunk/; revision=37074
2018-02-20 12:20:33 +00:00
Erik Groener
65495cb666 MNNL#44867 Afsluiten foutief aangemaakte of niet meer relevante workflw
svn path=/Website/trunk/; revision=37072
2018-02-20 10:48:41 +00:00
Jos Groot Lipman
645b2d2860 Model moet naar res_discpline in plaats van ins_tab_discipline zodat linkje in showmode naar goede catalogus kan gaan
svn path=/Website/trunk/; revision=37071
2018-02-20 09:53:37 +00:00
Jos Groot Lipman
d97ca83fc7 PNBR#43287 Kenmerken van verwijderde stdmeldingen of disciplines onderdrukken in overzicht kenmerken
svn path=/Website/trunk/; revision=37067
2018-02-20 08:28:51 +00:00
Erik Groener
aaf984ee3a MNNL#44867 Afsluiten foutief aangemaakte of niet meer relevante workflw
svn path=/Website/trunk/; revision=37066
2018-02-20 08:04:29 +00:00
Jos Groot Lipman
0b551311f6 FSN#51470 Vreemde AiAi op dubbele prs_kostensoort_key
svn path=/Website/trunk/; revision=37062
2018-02-19 17:05:06 +00:00
72b66400de AADS#52278 typo; haakje sluiten te weinig (of haakje openen teveel)
svn path=/Website/trunk/; revision=37060
2018-02-19 15:40:40 +00:00
Jos Groot Lipman
df5fe7798c Merge 2017.2 Gold E patches
svn path=/Website/trunk/; revision=37057
2018-02-19 15:03:41 +00:00
cd45fa9f79 FCLT#52287 AiAi kenmerk_systeem (e.a.) toegevoegd bij de laatste niet-bijgewerkte query in edit_factuur_save
svn path=/Website/trunk/; revision=37056
2018-02-19 14:49:13 +00:00
5cae9aeee3 HCAS#41319 syntax verbetering
svn path=/Website/trunk/; revision=37055
2018-02-19 14:39:20 +00:00
b43eb50faf HCAS#41319 BOF rechten worden nu ook erkent bij mobile edit melding indien geen WEB_MLDFOF
svn path=/Website/trunk/; revision=37054
2018-02-19 14:16:08 +00:00
Maykel Geerdink
678a06aad5 DJIN#41675: DJIN - BES: Bevestiging levering/ontvangst door besteller va.
svn path=/Website/trunk/; revision=37053
2018-02-19 13:59:44 +00:00
ef6920e24e HCAS#41319 Einddatum nieuwe meldingen neemt nu SLA tijd in acht
svn path=/Website/trunk/; revision=37049
2018-02-19 13:27:40 +00:00
Erik Groener
765a99d03b TWYN#52191 Rapport BMUt_NUM
svn path=/Website/trunk/; revision=37048
2018-02-19 13:04:03 +00:00
Maykel Geerdink
86ba4ba826 PLAT#41502: TB042 Kosten worden niet gevuld vanuit elementbeheer, is pas zichtbaar in MJOB.
svn path=/Website/trunk/; revision=37046
2018-02-19 12:48:46 +00:00
79b168fa9f FSN#51470 query AiAi eruit gehaald, er blijft nog een oRs AiAi onopgelost als je een kostensoort kopieert die geen combinatievalidaties heeft
svn path=/Website/trunk/; revision=37045
2018-02-19 12:23:14 +00:00
97a6b1ebbb UWVA#52279 Typo, AiAi bugfix
svn path=/Website/trunk/; revision=37044
2018-02-19 11:53:16 +00:00
Maykel Geerdink
afcf6a0c83 DJIN#41675: DJIN - BES: Bevestiging levering/ontvangst door besteller va.
svn path=/Website/trunk/; revision=37043
2018-02-19 11:51:40 +00:00
Erik Groener
649d325951 TWYN#52266 fout bij kopieren factuur
svn path=/Website/trunk/; revision=37040
2018-02-19 10:39:51 +00:00
Maykel Geerdink
cb66719ffe STPH#47127: Verplichte selectie van kostenplaats bij mandatering.
svn path=/Website/trunk/; revision=37036
2018-02-19 09:54:23 +00:00
Erik Groener
6071e359b7 TWYN#52228 foutmelding wijzigen factuurgegevens
svn path=/Website/trunk/; revision=37035
2018-02-19 09:36:41 +00:00
Jos Groot Lipman
bd75abba8d FSN#52281 AiAi bij aanroep api_opdrsoap met notitie als opdracht niet te bepalen
svn path=/Website/trunk/; revision=37034
2018-02-19 08:42:51 +00:00
06e6ccd89b FCLT#52056 "Behandelaar is nu onbekend"-tracking komt nu niet meer voor als deze al onbekend was
svn path=/Website/trunk/; revision=37031
2018-02-16 15:28:04 +00:00
dfecfbdaf0 UWVA#51697 sort functie verbetert waardoor de volgorde van kolommen van gepinde tabs onthouden wordt.
svn path=/Website/trunk/; revision=37030
2018-02-16 14:52:12 +00:00
Erik Groener
86a7b20c39 MNNL#44867 Afsluiten foutief aangemaakte of niet meer relevante workflw
svn path=/Website/trunk/; revision=37025
2018-02-16 10:18:33 +00:00
Robin Stoker
fa1fd469c9 GDFS#52227 -- Nieuw logo voor bonnen
svn path=/Website/trunk/; revision=37020
2018-02-16 09:45:12 +00:00
Robin Stoker
00fa6f55ea GDFS#52227 -- Nieuw logo in bonnen
svn path=/Website/trunk/; revision=37019
2018-02-16 09:44:36 +00:00
Robin Stoker
6121c7eabd GDFS#52227 -- Nieuw logo
svn path=/Website/trunk/; revision=37018
2018-02-16 09:43:36 +00:00
Jos Groot Lipman
41538be5d0 Release 2017.3 beta2
svn path=/Website/trunk/; revision=37011
2018-02-15 14:48:23 +00:00
Ruud Lipper
57604e2b6c FSN#45847 Indeling vakgroep beheerscherm
svn path=/Website/trunk/; revision=37010
2018-02-15 14:01:59 +00:00
Maykel Geerdink
1e4781aa2f PLAT#47027: Bulkactie Freeze (Accorderen) op hoger nivo.
svn path=/Website/trunk/; revision=37007
2018-02-15 13:18:20 +00:00
Ruud Lipper
bade2fbeae AASA#52242 multi-edit factuurmatching gegevens
svn path=/Website/trunk/; revision=37006
2018-02-15 13:10:59 +00:00
Jos Groot Lipman
7acb77c730 PCHA#51842 fac_usrrap_info naar 1000 karakters
svn path=/Website/trunk/; revision=36995
2018-02-14 16:47:54 +00:00
Jos Groot Lipman
01c420be73 Layout: modal dialogen zijn altijd één kolom en dan mag het label wel iets breder. Ook de multi-checkboxen mogen best wat smaller
svn path=/Website/trunk/; revision=36992
2018-02-14 16:03:18 +00:00
ccbd15f599 AADS#45847 notificatie adressen voor nieuwe meldingen per vakgroep in te vullen
svn path=/Website/trunk/; revision=36991
2018-02-14 16:02:32 +00:00
Erik Groener
93b62888ab FSN#41463 Scaffolding stdmelding en kostenplaats beheerscherm
svn path=/Website/trunk/; revision=36989
2018-02-14 15:40:37 +00:00
Maykel Geerdink
6e5065c41b DJIN#41675: DJIN - BES: Bevestiging levering/ontvangst door besteller va.
svn path=/Website/trunk/; revision=36986
2018-02-14 14:50:51 +00:00
Jos Groot Lipman
0dbab49326 Voorkom AiAi bij verwijderen heel veel bezoekers door cursor beter te sluiten
svn path=/Website/trunk/; revision=36985
2018-02-14 14:37:08 +00:00
Jos Groot Lipman
3d40670f9c MDUX#43287 Objecten die geregistreerd staan op organisatie
svn path=/Website/trunk/; revision=36984
2018-02-14 14:29:43 +00:00
Maykel Geerdink
7940a62fd1 DJIN#41675: DJIN - BES: Bevestiging levering/ontvangst door besteller va.
svn path=/Website/trunk/; revision=36983
2018-02-14 14:06:55 +00:00
Maarten van der Heide
3bfb9a0af2 KFHT#51537 WVG-bon/Opnemen goedkeurders (uit WF-stappen)
svn path=/Website/trunk/; revision=36981
2018-02-14 13:58:00 +00:00
Jos Groot Lipman
a541198527 FSN#37033 Bulk-edit Vervaldatum kostenplaatsen
svn path=/Website/trunk/; revision=36980
2018-02-14 12:20:15 +00:00
Erik Groener
a4b55cec03 MNNL#44867 Afsluiten foutief aangemaakte of niet meer relevante workflw
svn path=/Website/trunk/; revision=36979
2018-02-14 11:20:38 +00:00
Jos Groot Lipman
72f4696653 FSN#41463 Stdmelding via scaffolding: ook dienstpakketten toevoegen
svn path=/Website/trunk/; revision=36978
2018-02-14 11:02:53 +00:00
Maykel Geerdink
ac4849761a DJIN#41674: DJIN - BES/INS: Objecten vanuit bestellingen kunnen aanmaken.
svn path=/Website/trunk/; revision=36977
2018-02-14 10:32:31 +00:00
Maykel Geerdink
09d955ad65 DJIN#41675: DJIN - BES: Bevestiging levering/ontvangst door besteller va.
svn path=/Website/trunk/; revision=36974
2018-02-14 06:39:43 +00:00
Jos Groot Lipman
7661b8c7de MNNL#51514 Melding einddatum zo veel mogelijk onderdrukken
svn path=/Website/trunk/; revision=36973
2018-02-13 16:34:33 +00:00
Jos Groot Lipman
87a09a7f32 MNNL#51514 Melding einddatum zo veel mogelijk onderdrukken
svn path=/Website/trunk/; revision=36972
2018-02-13 16:21:04 +00:00
Jos Groot Lipman
75e92eac50 MNNL#51514 Melding einddatum zo veel mogelijk onderdrukken
svn path=/Website/trunk/; revision=36971
2018-02-13 16:10:51 +00:00
Erik Groener
fcf17eef7c TWYN#52186 Rapport Totaaloverzicht budgetrapportage
svn path=/Website/trunk/; revision=36969
2018-02-13 15:44:04 +00:00
Erik Groener
d57744e8e7 TWYN#52228 foutmelding wijzigen factuurgegevens
svn path=/Website/trunk/; revision=36967
2018-02-13 15:17:04 +00:00
Jos Groot Lipman
9b3901ca59 MNNL#51514 Melding einddatum zo veel mogelijk onderdrukken
svn path=/Website/trunk/; revision=36966
2018-02-13 15:10:09 +00:00
Erik Groener
94c00788da TWYN#52186 Rapport Totaaloverzicht budgetrapportage
svn path=/Website/trunk/; revision=36960
2018-02-13 13:12:44 +00:00
Jos Groot Lipman
c8186e6622 FSN#51518 stdmelding via scaffolding
svn path=/Website/trunk/; revision=36959
2018-02-13 12:37:18 +00:00
Jos Groot Lipman
ffe537244b FSN#50147 Geen AiAi maar 401 Unauthorized als niet ingelogd en toch /api2/departments/ opgevraagd
svn path=/Website/trunk/; revision=36958
2018-02-13 12:22:53 +00:00
Jos Groot Lipman
6d9afc9c15 Voorkom AiAi als je moments kiest zonder keuze voor Eenheid
svn path=/Website/trunk/; revision=36957
2018-02-13 11:54:07 +00:00
Erik Groener
ee3798112a TWYN#52222 Verschil scherm budgetbeheer en rapport totaaloverzicht
svn path=/Website/trunk/; revision=36956
2018-02-13 10:34:19 +00:00
Erik Groener
7fad2bc09c TWYN#52220 facturen
svn path=/Website/trunk/; revision=36955
2018-02-13 10:02:59 +00:00
Jos Groot Lipman
a6afc5ca88 ASPFIXATION|FACSESSIONID hebben een security aspect, daarom niet meeloggen bij AiAi's
svn path=/Website/trunk/; revision=36952
2018-02-13 09:24:26 +00:00
Maykel Geerdink
bfe60ca87b HCAS#38899: Periodiek onderhoud met melding.
svn path=/Website/trunk/; revision=36951
2018-02-13 09:05:32 +00:00
Jos Groot Lipman
9bf4d745d4 FSN#50147 Geen AiAi maar 401 Unauthorized als niet ingelogd en toch /api2/departments/ opgevraagd
svn path=/Website/trunk/; revision=36941
2018-02-12 16:16:00 +00:00
Jos Groot Lipman
cb8cde8f81 Merge 2017.2 Gold E patches
svn path=/Website/trunk/; revision=36940
2018-02-12 16:00:16 +00:00
Jos Groot Lipman
8a6820d0ae API2 ongeldige datum filter is geen AiAi maar gewoon een HTTP-400 error
svn path=/Website/trunk/; revision=36939
2018-02-12 15:31:31 +00:00
Maykel Geerdink
398edaee48 IVET#39761: IVET - Bij inspecties ook maanden kunnen aangeven zoals bij dagen.
svn path=/Website/trunk/; revision=36937
2018-02-12 15:12:54 +00:00
Jos Groot Lipman
312981bbd2 MDUX42347 Als periode van en naar in dezelfde maand vallen komt er een kolom 'Resterend' bij
svn path=/Website/trunk/; revision=36933
2018-02-12 14:42:55 +00:00
Erik Groener
8db1e24606 TWYN#52139 contractanten
svn path=/Website/trunk/; revision=36930
2018-02-12 13:27:36 +00:00
Marcel Bourseau
540477ce76 MARX#52207: Putorders bijlagen via XSL ipv hardcoded mee kunnen sturen
svn path=/Website/trunk/; revision=36926
2018-02-12 11:02:49 +00:00
Ruud Lipper
ab788eb96b HCAS#36658 gekoppelde meldingen tonen achter secsearch
svn path=/Website/trunk/; revision=36923
2018-02-12 09:09:12 +00:00
Jos Groot Lipman
a8fa216165 FSN#40637 Test script voor API2 iets robuuster
svn path=/Website/trunk/; revision=36920
2018-02-12 08:21:54 +00:00
94e8357b2a FCLT#52167 Plaatje bij objectgegevens juist uitgelijnd
svn path=/Website/trunk/; revision=36919
2018-02-09 16:41:45 +00:00
780365245b FCLT#52167 Plaatje bij objectgegevens juist uitgelijnd
svn path=/Website/trunk/; revision=36918
2018-02-09 15:34:22 +00:00
Erik Groener
000794bd38 TWYN#52179 btw budget
svn path=/Website/trunk/; revision=36909
2018-02-09 10:56:55 +00:00
Erik Groener
77053e2739 TWYN#52177 budgetten toevoegen
svn path=/Website/trunk/; revision=36908
2018-02-09 08:43:57 +00:00
Jos Groot Lipman
a31d665e8f Release 2017.3 beta
svn path=/Website/trunk/; revision=36903
2018-02-08 15:27:27 +00:00
Jos Groot Lipman
39674b9ca8 PLAT#52094 via formattering bij een referentie kenmerk kun je nu wat specifieke waarden er uit filteren 14411,14412
svn path=/Website/trunk/; revision=36902
2018-02-08 15:26:14 +00:00
Jos Groot Lipman
d7d6859855 API2 perslid authorisatie aangescherpt: voor PUT en POST is voortaan PRSMAN vereist
svn path=/Website/trunk/; revision=36901
2018-02-08 15:22:29 +00:00
Jos Groot Lipman
97f3e856eb FSN#52180 API2 filtering ook op seconde
svn path=/Website/trunk/; revision=36900
2018-02-08 15:13:13 +00:00
Maykel Geerdink
ebe7c710a9 DJIN#41674: DJIN - BES/INS: Objecten vanuit bestellingen kunnen aanmaken.
svn path=/Website/trunk/; revision=36896
2018-02-08 13:25:14 +00:00
Jos Groot Lipman
e4e3271ed5 MDUX42347 Als periode van en naar in dezelfde maand vallen komt er een kolom 'Resterend' bij
svn path=/Website/trunk/; revision=36892
2018-02-08 10:32:22 +00:00
Jos Groot Lipman
c69f6b2b05 Iets beter detecteren en melden keyfield welke number (eigenlijk key) moet zijn bij rapporten.
Scheelt AiAi's

svn path=/Website/trunk/; revision=36891
2018-02-08 09:58:09 +00:00
Jos Groot Lipman
a3d33a9839 Iets beter detecteren en melden van verlopen locked_bdradr_key scheelt AiAi's
svn path=/Website/trunk/; revision=36890
2018-02-08 09:38:20 +00:00
Jos Groot Lipman
b0a4dd22b6 Merge 2017.2 Gold E patches
svn path=/Website/trunk/; revision=36889
2018-02-08 09:31:30 +00:00
Jos Groot Lipman
2386e7728d Iets beter detecteren en melden van INTERNAL_ERROR_ACTION_ZONDER_KEYCOLUMN; bij rapporten
svn path=/Website/trunk/; revision=36888
2018-02-08 09:29:14 +00:00
Jos Groot Lipman
e4f03cd40a Iets betere API logging
svn path=/Website/trunk/; revision=36886
2018-02-08 08:54:38 +00:00
Jos Groot Lipman
99a4b049cf API2 documentatie iets minder AiAi's
svn path=/Website/trunk/; revision=36885
2018-02-08 08:25:24 +00:00
2875310835 YKPN#47367 Ook in reservering lijsten (PRINTING_ONLY) locatie_adres en gebouwnaam weergeven (Simplified)
svn path=/Website/trunk/; revision=36880
2018-02-07 16:18:27 +00:00
8a2f982fac YKPN#47367 Ook in reservering lijsten (PRINTING_ONLY) locatie_adres en gebouwnaam weergeven indien S(mld_print_loc_address) = 1 of 2 resp.
svn path=/Website/trunk/; revision=36876
2018-02-07 14:58:00 +00:00
Erik Groener
1661a6cced TWYN#52139 contractanten
svn path=/Website/trunk/; revision=36875
2018-02-07 14:10:32 +00:00
Jos Groot Lipman
d43685680d UWVA#52162 Voorkom enigszins onverklaarde AiAi bij aanmaken opdracht/e-mail
svn path=/Website/trunk/; revision=36873
2018-02-07 13:52:28 +00:00
Erik Groener
4b2f6d210f TWYN#52147 taakstellend budget
svn path=/Website/trunk/; revision=36871
2018-02-07 13:45:44 +00:00
Jos Groot Lipman
30547a01d4 FSN#52125 Voor een (API) gebruiker de loglevel kunnen aanzetten
svn path=/Website/trunk/; revision=36869
2018-02-07 13:35:41 +00:00
abc9d640fc PCHW#41702 Activiteiten krijgen een (post)schoonmaaktijd, betreft res_rsv
svn path=/Website/trunk/; revision=36868
2018-02-07 12:32:54 +00:00
Maykel Geerdink
fa64cf114d YKPN#41834: Procuratie wordt automatisch afgemeld.
svn path=/Website/trunk/; revision=36865
2018-02-07 12:25:26 +00:00
Jos Groot Lipman
8a35c137b4 YKPN#51592 Ook bez_post_save hooks aanroepen bij kopie afspraak/reservering
svn path=/Website/trunk/; revision=36863
2018-02-07 11:32:38 +00:00
Erik Groener
d62c0c220b TWYN#52077 totaaloverzicht niet hetzelfde als overzicht per rubriek
svn path=/Website/trunk/; revision=36862
2018-02-07 09:45:59 +00:00
Erik Groener
1efdaec61e TWYN#52102 meer/minderwerk verrekenen uit reserve
svn path=/Website/trunk/; revision=36861
2018-02-07 08:35:43 +00:00
Maykel Geerdink
f6c86eae36 HCAS#38899: Periodiek onderhoud met melding.
svn path=/Website/trunk/; revision=36854
2018-02-06 14:33:57 +00:00
Jos Groot Lipman
60b3110022 PCHW#51992 Bij wisselen zaal de (default) status tekst beter clientside invullen
svn path=/Website/trunk/; revision=36853
2018-02-06 12:47:02 +00:00
1f05c0b431 DJIN#41716 Save empty adhoc filters too
svn path=/Website/trunk/; revision=36844
2018-02-05 14:37:25 +00:00
Jos Groot Lipman
b4bd79af61 FSN#52099 API response met een uitgaande stylesheet moeten text/xml als responsetype hebben
svn path=/Website/trunk/; revision=36842
2018-02-05 13:53:36 +00:00
Maykel Geerdink
8e5fc12c90 HCAS#38899: Periodiek onderhoud met melding.
svn path=/Website/trunk/; revision=36839
2018-02-05 13:41:59 +00:00
Erik Groener
63e38654fe MMNL#41309 Mogelijkheid om meldingen op meerdere Disciplines objecten te doen
svn path=/Website/trunk/; revision=36838
2018-02-05 13:04:48 +00:00
59d2c1e7be HCAS#41319 Datumvelden toegevoegd voor mobile meldingen (nieuw en edit)
svn path=/Website/trunk/; revision=36837
2018-02-05 12:58:54 +00:00
Erik Groener
8d2dfb1dcc MMNL#41309 Mogelijkheid om meldingen op meerdere Disciplines objecten te doen
svn path=/Website/trunk/; revision=36836
2018-02-05 12:38:56 +00:00
Maykel Geerdink
a7cbff5449 FSN#52120: Nieuwe mobile meldingen krijgen onterecht kto type "T".
svn path=/Website/trunk/; revision=36835
2018-02-05 11:57:16 +00:00
Erik Groener
e26de73bfc FSN#39055 BCS/2000 functionaliteit in FACILITOR - customization
Andere volgorde van velden in het overzicht.

svn path=/Website/trunk/; revision=36833
2018-02-05 09:19:21 +00:00
Maykel Geerdink
d27eadf2c9 DJIN#44707: Uitsluiten voor SLA/respijt onmogelijk maken.
svn path=/Website/trunk/; revision=36831
2018-02-05 08:58:49 +00:00
Erik Groener
69651e8193 MMNL#41309 Mogelijkheid om meldingen op meerdere Disciplines objecten te doen
svn path=/Website/trunk/; revision=36829
2018-02-05 08:33:09 +00:00
Jos Groot Lipman
afb480867e Minder AiAi bij inchecken net verwijderde bezoeker
svn path=/Website/trunk/; revision=36828
2018-02-05 08:17:47 +00:00
Erik Groener
45c7aff40e UWVA#52097 uwva-beta aiai bij toevoegen kostenplaats
svn path=/Website/trunk/; revision=36819
2018-02-02 12:04:44 +00:00
Jos Groot Lipman
9193e67bea Onze eigen inline <code> een beetje inspringen is wel aardig.
svn path=/Website/trunk/; revision=36817
2018-02-01 15:08:07 +00:00
Jos Groot Lipman
50399dbb8e FSN#51996 Putorders falende opdrachten uitstel kunnen overrulen met putorders.bat FORCE
svn path=/Website/trunk/; revision=36816
2018-02-01 14:58:43 +00:00
Maykel Geerdink
3d131a4f7e DJIN#41674: DJIN - BES/INS: Objecten vanuit bestellingen kunnen aanmaken.
svn path=/Website/trunk/; revision=36814
2018-02-01 14:54:37 +00:00
Maykel Geerdink
03c74c5cf2 MNNL#40834: MNNL - MLD: Functionaliteit in relatie tot kenmerken bij doo.
svn path=/Website/trunk/; revision=36809
2018-02-01 12:48:59 +00:00
Erik Groener
9f658e61f4 MNNL#45087 Object koppelen niet op locatie, naam of afdeling
svn path=/Website/trunk/; revision=36808
2018-02-01 12:17:29 +00:00
Erik Groener
aa3dd33d5c FSN#39055 BCS/2000 functionaliteit in FACILITOR - customization
Andere volgorde van velden in het overzicht.

svn path=/Website/trunk/; revision=36807
2018-02-01 12:16:09 +00:00
Jos Groot Lipman
7c165dde1f FSN#47307 Alvast alle artikelen met 0-aantallen aanbieden in de bestellijst layout
svn path=/Website/trunk/; revision=36805
2018-02-01 11:42:46 +00:00
Maykel Geerdink
e961ec748b MNNL#40834: MNNL - MLD: Functionaliteit in relatie tot kenmerken bij doo.
svn path=/Website/trunk/; revision=36804
2018-02-01 11:27:54 +00:00
Maykel Geerdink
8a487e0016 PLAT#41520: Signalering op gewijzigde clusters.
svn path=/Website/trunk/; revision=36801
2018-02-01 10:18:19 +00:00
Maykel Geerdink
851645a694 MNNL#40834: MNNL - MLD: Functionaliteit in relatie tot kenmerken bij doo.
svn path=/Website/trunk/; revision=36799
2018-02-01 09:33:38 +00:00
Jos Groot Lipman
cae66ac10b HSLE#39085 Doorklikken naar reserveringnummer betere ondersteuning als je voor de *eerste* deelrservering geen rechten hebt
svn path=/Website/trunk/; revision=36796
2018-01-31 14:19:39 +00:00
Jos Groot Lipman
bffd2e4601 FSN#47307 Bestellijst met aantal 0 aanbieden (eigenlijk: de foto's tonen)
svn path=/Website/trunk/; revision=36795
2018-01-31 13:14:47 +00:00
Maykel Geerdink
f281ef65c1 AADS#52038: Bevindingen MJOB bij DSM.
svn path=/Website/trunk/; revision=36794
2018-01-31 13:00:05 +00:00
Erik Groener
56040babd7 MNNL#45087 Object koppelen niet op locatie, naam of afdeling
svn path=/Website/trunk/; revision=36793
2018-01-31 12:50:49 +00:00
Erik Groener
f7500efc3c MNNL#45087 Object koppelen niet op locatie, naam of afdeling
svn path=/Website/trunk/; revision=36791
2018-01-31 12:34:57 +00:00
Jos Groot Lipman
7eb594f16c Bij objects ook de gekoppelde meldingen kunnen includen
svn path=/Website/trunk/; revision=36790
2018-01-31 12:33:12 +00:00
Jos Groot Lipman
ab6ba5450b MNNL#51566 Objecten in de App (problematisch als meer dan 1000)
svn path=/Website/trunk/; revision=36789
2018-01-31 11:38:53 +00:00
Erik Groener
33bc1b546f MNNL#45087 Object koppelen niet op locatie, naam of afdeling
svn path=/Website/trunk/; revision=36788
2018-01-31 11:19:57 +00:00
Jos Groot Lipman
c63d64e344 FSN#52067 Experiment met filters naar clipboard savepoint
svn path=/Website/trunk/; revision=36777
2018-01-30 16:07:47 +00:00
Erik Groener
debf679dfb KFSG#49267 Kan het uitleenoverzicht ook signaleren als iets te laat wordt ingeleverd?
svn path=/Website/trunk/; revision=36771
2018-01-30 13:03:50 +00:00
Erik Groener
68c9bc2d5e MMNL#41309 Mogelijkheid om meldingen op meerdere Disciplines objecten te doen
svn path=/Website/trunk/; revision=36770
2018-01-30 12:54:55 +00:00
Maykel Geerdink
f299b93c2b DJIN#41674: DJIN - BES/INS: Objecten vanuit bestellingen kunnen aanmaken.
svn path=/Website/trunk/; revision=36766
2018-01-30 10:45:59 +00:00
Erik Groener
cca6de307b VLKC#41769 Uitvoerende bij een opdracht met * en **
svn path=/Website/trunk/; revision=36765
2018-01-30 09:31:41 +00:00
Erik Groener
aa7a728736 HCAS#36658 MLD: sortering BO-overzicht op einddatum
svn path=/Website/trunk/; revision=36763
2018-01-30 07:59:45 +00:00
Jos Groot Lipman
c28a1eb778 Computername ook mee scannen voor op portal
svn path=/Website/trunk/; revision=36752
2018-01-29 08:17:42 +00:00
Erik Groener
8c829570df FSN#39055 BCS/2000 functionaliteit in FACILITOR - customization
svn path=/Website/trunk/; revision=36744
2018-01-26 10:04:07 +00:00
Maykel Geerdink
03dd1959c3 DJIN#41674: DJIN - BES/INS: Objecten vanuit bestellingen kunnen aanmaken.
svn path=/Website/trunk/; revision=36743
2018-01-25 15:15:26 +00:00
Jos Groot Lipman
f19e59ea80 Release 2017.3 alfa
svn path=/Website/trunk/; revision=36742
2018-01-25 14:36:08 +00:00
Jos Groot Lipman
4b4f84b075 FSN#51791 PF wijzigingen, ik gok 'Menu-iconen instellen als default'?
svn path=/Website/trunk/; revision=36741
2018-01-25 14:31:44 +00:00
Jos Groot Lipman
b032e6eea0 Misc. syntax review
svn path=/Website/trunk/; revision=36739
2018-01-25 14:08:34 +00:00
Jos Groot Lipman
787ec1cb7a FSN#51791 PF wijzigingen, ik gok 'Menu-iconen instellen als default'?
svn path=/Website/trunk/; revision=36737
2018-01-25 13:22:15 +00:00
Jos Groot Lipman
939d5dee78 UWVA#50707 PF wijzigingen, ik gok vertrouwelijke kenmerken
svn path=/Website/trunk/; revision=36736
2018-01-25 13:20:38 +00:00
Jos Groot Lipman
089653a77d FSN#47307 Bestellijst met aantal 0 aanbieden
svn path=/Website/trunk/; revision=36731
2018-01-25 12:06:03 +00:00
Jos Groot Lipman
dee79e7305 Iets beter datatype number in enkele kolommen
svn path=/Website/trunk/; revision=36730
2018-01-25 11:04:28 +00:00
Jos Groot Lipman
750eeeba85 Merge 2017.2 Gold E patches
svn path=/Website/trunk/; revision=36729
2018-01-25 09:23:30 +00:00
Erik Groener
a5cfe6b1b8 HCAS#36658 MLD: sortering BO-overzicht op einddatum
svn path=/Website/trunk/; revision=36727
2018-01-25 09:10:55 +00:00
Erik Groener
a712ecbf7a KFSG#49267 Kan het uitleenoverzicht ook signaleren als iets te laat wordt ingeleverd?
svn path=/Website/trunk/; revision=36723
2018-01-25 07:52:18 +00:00
Jos Groot Lipman
63e3e9df99 FSN#51996 Putorders falende opdrachen uitstel kunnen overrulen
svn path=/Website/trunk/; revision=36722
2018-01-24 20:22:17 +00:00
Jos Groot Lipman
68a836c59a FSN#51995 Putorders sendtimeout en recievetimeout instelbaar maken
svn path=/Website/trunk/; revision=36719
2018-01-24 20:04:04 +00:00
Jos Groot Lipman
23d67cd327 MARX#51994 Ook uitgaande stylesheet bij FAC_API
svn path=/Website/trunk/; revision=36715
2018-01-24 17:08:05 +00:00
Jos Groot Lipman
71f5645886 MARX#51994 Ook uitgaande stylesheet bij FAC_API
svn path=/Website/trunk/; revision=36713
2018-01-24 16:59:08 +00:00
Erik Groener
a4183fa85b KFSG#49267 Kan het uitleenoverzicht ook signaleren als iets te laat wordt ingeleverd?
svn path=/Website/trunk/; revision=36712
2018-01-24 15:12:34 +00:00
Jos Groot Lipman
e6dd79780e MNNL#41309 Meldingen op meerdere disciplines: performance
svn path=/Website/trunk/; revision=36707
2018-01-24 12:28:59 +00:00
Jos Groot Lipman
fc2d0a1be1 MNNL#41309 Meldingen op meerdere disciplines: performance
svn path=/Website/trunk/; revision=36706
2018-01-24 12:26:17 +00:00
Jos Groot Lipman
aa2170f200 PNBR#51837 Voor plaatje-flexfiles die je via API2 streaming oplevert het goede mime-type gebruiken
svn path=/Website/trunk/; revision=36700
2018-01-24 10:47:05 +00:00
Jos Groot Lipman
b2ad280b73 Logging iets meer de naam van de user vermelden
svn path=/Website/trunk/; revision=36699
2018-01-24 09:48:19 +00:00
Jos Groot Lipman
edf29573c6 FSN#51985 Oude portal SSO uitschakelen
svn path=/Website/trunk/; revision=36697
2018-01-24 09:35:50 +00:00
Maykel Geerdink
4e52ea206b UWVA#51402: Objecten aan contactpersoon kunnen koppelen.
svn path=/Website/trunk/; revision=36696
2018-01-24 08:46:12 +00:00
Maykel Geerdink
34335eb9cb UWVA#51404: Pop-up bij bezoekersbalie aan/uit kunnen zetten.
svn path=/Website/trunk/; revision=36690
2018-01-24 07:30:01 +00:00
Erik Groener
0ed7dafbdf KFSG#44689 Graag knop voor SMS versturen
svn path=/Website/trunk/; revision=36688
2018-01-23 14:37:33 +00:00
Jos Groot Lipman
f786dd818d Bij 'Elke tabel' iets beter secret velden initieel verbergen.
svn path=/Website/trunk/; revision=36687
2018-01-23 13:39:07 +00:00
Jos Groot Lipman
869758f66f FSN#47307 Bestellijst met aantal 0 aanbieden savepoint
svn path=/Website/trunk/; revision=36684
2018-01-23 12:10:01 +00:00
Maykel Geerdink
d92e73a2f2 PLAT#41688: Core wensen agv NEN2767-conditiemeting indien gemodelleerd via meldingen.
svn path=/Website/trunk/; revision=36683
2018-01-23 11:58:15 +00:00
Erik Groener
f9d48a0ff1 KFSG#44689 Graag knop voor SMS versturen
svn path=/Website/trunk/; revision=36675
2018-01-23 10:16:50 +00:00
Jos Groot Lipman
83213351c1 Iets duidelijkere logging
svn path=/Website/trunk/; revision=36668
2018-01-22 16:02:29 +00:00
Erik Groener
5e1dbe2b7d MMNL#41309 Mogelijkheid om meldingen op meerdere Disciplines objecten te doen
svn path=/Website/trunk/; revision=36666
2018-01-22 14:56:11 +00:00
Jos Groot Lipman
ea5c68150f Kleine css-foutjes gefixed
svn path=/Website/trunk/; revision=36664
2018-01-22 13:21:21 +00:00
Maykel Geerdink
6506515958 UWVA#51404: Pop-up bij bezoekersbalie aan/uit kunnen zetten.
svn path=/Website/trunk/; revision=36655
2018-01-22 08:32:52 +00:00
Erik Groener
0688a6d3ca KFSG#44689 Graag knop voor SMS versturen
svn path=/Website/trunk/; revision=36643
2018-01-19 12:34:51 +00:00
Maykel Geerdink
9ec815f3ed UWVA#51402: Objecten aan contactpersoon kunnen koppelen.
svn path=/Website/trunk/; revision=36635
2018-01-18 13:43:44 +00:00
Erik Groener
0b0b5a1751 KFSG#44689 Graag knop voor SMS versturen
svn path=/Website/trunk/; revision=36633
2018-01-18 13:16:16 +00:00
Maykel Geerdink
6eb4698cc8 VGLD#51622: Mandaat overschrijden van Budgethouder.
svn path=/Website/trunk/; revision=36631
2018-01-18 12:44:04 +00:00
Maykel Geerdink
41819a51a0 DJIN#48507: Automatische opdrachten ook laten fiatteren.
svn path=/Website/trunk/; revision=36630
2018-01-18 11:29:09 +00:00
Jos Groot Lipman
51d9b97ac7 FSN#51355 Auto-sso op basis van IP-adres beter bij SAML nog even de lcl definitief maken
svn path=/Website/trunk/; revision=36628
2018-01-18 10:37:30 +00:00
Jos Groot Lipman
fb15eb7d8b UWVA#46747 Eigentabel *naam* tonen in plaats van de omschrijving
svn path=/Website/trunk/; revision=36626
2018-01-18 09:22:07 +00:00
Jos Groot Lipman
d00c4ab752 UWVA#41365 Kiezen eigen werkplek nu ook via CAD
svn path=/Website/trunk/; revision=36625
2018-01-18 09:10:52 +00:00
Jos Groot Lipman
37fb25a379 DJIN#50807 Knop 'selecteer alles' bij bes-favorieten
svn path=/Website/trunk/; revision=36624
2018-01-18 08:53:18 +00:00
Jos Groot Lipman
3226ba6ae0 Merge Release 2017.2 Gold D
svn path=/Website/trunk/; revision=36623
2018-01-18 08:45:37 +00:00
Jos Groot Lipman
ea77f1cc61 UWVA#50707 vertrouwelijke kenmerken
svn path=/Website/trunk/; revision=36619
2018-01-17 16:09:26 +00:00
Erik Groener
3b49ad4d20 DJIN#41676 BES: kleurbolletjes zoals in andere modules ook in BES-module
svn path=/Website/trunk/; revision=36617
2018-01-17 15:10:42 +00:00
Maykel Geerdink
2410fb2d8e DJIN#48507: Automatische opdrachten ook laten fiatteren.
svn path=/Website/trunk/; revision=36613
2018-01-17 12:31:28 +00:00
Maykel Geerdink
9da007973e DJIN#48507: Automatische opdrachten ook laten fiatteren.
svn path=/Website/trunk/; revision=36604
2018-01-17 08:54:57 +00:00
Erik Groener
4634f3f143 FCLT#51518 Meer diversiteit in mogelijke objecten bij een melding mogelijk maken
waarde zetten in update script opgenomen.

svn path=/Website/trunk/; revision=36599
2018-01-16 13:27:04 +00:00
Erik Groener
8a12fb8302 MMNL#41309 Mogelijkheid om meldingen op meerdere Disciplines objecten te doen
svn path=/Website/trunk/; revision=36598
2018-01-16 13:24:17 +00:00
Maykel Geerdink
c0b6158910 VGLD#51622: Mandaat overschrijden van Budgethouder.
svn path=/Website/trunk/; revision=36592
2018-01-16 08:41:53 +00:00
Erik Groener
ac9cbf2c3a MDUX#41852 onderdeel toevoegen aan object
svn path=/Website/trunk/; revision=36588
2018-01-15 15:04:31 +00:00
Jos Groot Lipman
d76775276a FSN#51403 Beheer van contactpersonen door bedrijf betere autorisatie
svn path=/Website/trunk/; revision=36581
2018-01-15 12:01:36 +00:00
Jos Groot Lipman
edcf329399 FSN#51865 &autozipfile=nnnn ondersteunen voor opvragen (grote) logfiles
svn path=/Website/trunk/; revision=36580
2018-01-15 10:36:37 +00:00
Maykel Geerdink
cb686f89ce PLAT#41966: In bulk kunnen wijzigen van taakgegevens v2.
svn path=/Website/trunk/; revision=36550
2018-01-11 06:44:23 +00:00
Peter Feij
ce9e906ac3 PCHW#51700 zichtbaarheid waarden niet laten afhangen van wijzigrechten..
svn path=/Website/trunk/; revision=36549
2018-01-10 17:09:42 +00:00
Jos Groot Lipman
71a2bb7b61 Merge Release 2017.2 Gold D
svn path=/Website/trunk/; revision=36548
2018-01-10 16:53:44 +00:00
Jos Groot Lipman
ff244cacf1 FSN#51403 Beheer van contactpersonen door bedrijf savepoint
svn path=/Website/trunk/; revision=36547
2018-01-10 16:16:19 +00:00
Peter Feij
3e401c9e7e FCLT#51790 hoverbackgroundcolor
svn path=/Website/trunk/; revision=36546
2018-01-10 16:04:46 +00:00
Jos Groot Lipman
d044032838 model_perslid heeft veel velden, doe maar "multicolumn": true dus
svn path=/Website/trunk/; revision=36544
2018-01-10 13:18:01 +00:00
Erik Groener
fbb503df79 FCLT#42307 Graag CVAB mode toevoegen aan activiteit
svn path=/Website/trunk/; revision=36543
2018-01-10 13:17:58 +00:00
Jos Groot Lipman
410d0cf580 Bij OTAP=="O" ook scannen op anonimiseren
svn path=/Website/trunk/; revision=36539
2018-01-10 12:25:13 +00:00
Erik Groener
2518acd217 FCLT#42307 Graag CVAB mode toevoegen aan activiteit
svn path=/Website/trunk/; revision=36532
2018-01-10 08:46:15 +00:00
Peter Feij
2e477b1507 FSN#51805 voor FE geen inline opdrachten
svn path=/Website/trunk/; revision=36529
2018-01-09 17:56:01 +00:00
Peter Feij
75575d6a82 FSN#51804 Afh mld_merge_notes ook opdrachtvoortgang bij melding tonen
svn path=/Website/trunk/; revision=36527
2018-01-09 17:18:15 +00:00
Erik Groener
115699f991 MMNL#41309 Mogelijkheid om meldingen op meerdere Disciplines objecten te doen
svn path=/Website/trunk/; revision=36514
2018-01-09 08:49:40 +00:00
Jos Groot Lipman
532760f404 Merge Release 2017.2 Gold D
svn path=/Website/trunk/; revision=36512
2018-01-09 08:24:59 +00:00
Peter Feij
f32bc5b680 FSN#35923 dat wat i.h.a. niet altijd goed
svn path=/Website/trunk/; revision=36508
2018-01-08 12:55:58 +00:00
Maykel Geerdink
8cd47bb66c PLAT#41509: TB049 Geen totalen per complex mogelijk (groepering) in de MJOB console.
svn path=/Website/trunk/; revision=36502
2018-01-08 08:07:55 +00:00
Jos Groot Lipman
80badb95be Merge Release 2017.2 Gold C en D in wording
svn path=/Website/trunk/; revision=36479
2018-01-03 15:17:07 +00:00
Maykel Geerdink
d4c8002f6e FSN#48908: Afleveradres automatisch invullen of leeg.
svn path=/Website/trunk/; revision=36473
2018-01-03 09:26:36 +00:00
Maykel Geerdink
33154b15f0 PLAT#41520: Signalering op gewijzigde clusters.
svn path=/Website/trunk/; revision=36467
2018-01-02 13:31:03 +00:00
75587b96be UWVA#50168 (Bugfix) Tracking voor het wijzigen van een ruimte-afdeling toegevoegd.
svn path=/Website/trunk/; revision=36460
2017-12-29 14:41:50 +00:00
cdf4f507a1 MNNL#50047 Max tracked characters of a single value is now S(max_tracking_length) instead of 30
svn path=/Website/trunk/; revision=36459
2017-12-29 14:23:00 +00:00
9b2d8ed3bd UWVA#50168 Tracking voor het wijzigen van een ruimte-afdeling toegevoegd.
svn path=/Website/trunk/; revision=36458
2017-12-29 13:51:57 +00:00
6ad201ebc0 FSN#51587FSN#51587 mailto: links triggeren nu niet meer de (rest van) het onbeforeUnload event waardoor de spinner uitblijft. (Fix)
svn path=/Website/trunk/; revision=36453
2017-12-22 16:21:59 +00:00
a368dc8ee6 FSN#51587 mailto: links triggeren nu niet meer de (rest van) het onbeforeUnload event waardoor de spinner uitblijft.
svn path=/Website/trunk/; revision=36452
2017-12-22 14:44:39 +00:00
Erik Groener
6835ce2a77 MMNL#41309
svn path=/Website/trunk/; revision=36433
2017-12-20 18:52:05 +00:00
Erik Groener
30cf0b1a81 FSN#39055 BCS/2000 functionaliteit in FACILITOR - customization
svn path=/Website/trunk/; revision=36431
2017-12-20 15:25:38 +00:00
Erik Groener
a16812e7d7 FSN#39055 BCS/2000 functionaliteit in FACILITOR - customization
svn path=/Website/trunk/; revision=36426
2017-12-20 14:38:14 +00:00
Erik Groener
663b130bb3 FSN#51518 Meer diversiteit in mogelijke objecten bij een melding mogelijk maken
svn path=/Website/trunk/; revision=36391
2017-12-18 10:06:12 +00:00
Erik Groener
920be07460 FSN#51518 Meer diversiteit in mogelijke objecten bij een melding mogelijk maken
svn path=/Website/trunk/; revision=36390
2017-12-15 13:20:22 +00:00
Peter Feij
aefca2a7e3 FSN#46127 Bij de vorige taken niet de huidige ook tonen
svn path=/Website/trunk/; revision=36389
2017-12-15 13:13:13 +00:00
f156ff2ce8 ARAI#40623 Velden uren, materiaal, correctie en uurtarief toegevoegd aan edit_opdr mobile (/PDA/order.asp)
svn path=/Website/trunk/; revision=36386
2017-12-14 16:28:08 +00:00
Jos Groot Lipman
b2036287b4 FSN#51403 Beheer van contactpersonen door bedrijf savepoint
svn path=/Website/trunk/; revision=36384
2017-12-14 14:46:13 +00:00
Jos Groot Lipman
dd39997c8a FSN#51518 stdmelding via scaffolding
svn path=/Website/trunk/; revision=36383
2017-12-14 14:21:10 +00:00
Jos Groot Lipman
9eec2c9dcf FSN#51518 stdmelding via scaffolding
svn path=/Website/trunk/; revision=36382
2017-12-14 14:12:42 +00:00
Peter Feij
203a0fb39f DJIN#38609 Filter op vervolgmelding of niet toegevoegd
svn path=/Website/trunk/; revision=36379
2017-12-14 13:39:08 +00:00
Erik Groener
757a34ad0b FSN#51518
svn path=/Website/trunk/; revision=36376
2017-12-14 12:09:16 +00:00
277976cd50 FSN#44407 Behandelaar kan nu ook mobile gewijzigd worden bij het doorsturen indien S(mld_forward_can_assign)
svn path=/Website/trunk/; revision=36371
2017-12-14 10:23:59 +00:00
f942a8b8b9 FSN#51287 sleutelkenmerken nu uitgesloten op de 'Geavanceerd zoeken' lijst van de uitleenregistratie
svn path=/Website/trunk/; revision=36363
2017-12-13 16:19:31 +00:00
8a541bbe4b FSN#51579 Lege labels op de x-as worden nu als spatie weergegeven in plaats van als het kolomnummer
svn path=/Website/trunk/; revision=36361
2017-12-13 15:27:20 +00:00
Maykel Geerdink
8bdd9ac751 AKZA#36909: AKZA - INS: met bulkactie "Multi wijzigen" ook velden leeg k.
svn path=/Website/trunk/; revision=36359
2017-12-13 14:24:26 +00:00
1f11763790 FSN#36948 Mogelijkheid om bij 1 resultaat direct door te linken naar 'linkColumn' toegevoegd aan PDA/resultset_table.inc
svn path=/Website/trunk/; revision=36356
2017-12-13 13:32:37 +00:00
Maykel Geerdink
f167104e2e PLAT#41966: In bulk kunnen wijzigen van taakgegevens v2.
svn path=/Website/trunk/; revision=36355
2017-12-13 13:13:17 +00:00
Maykel Geerdink
33607a12a6 AKZA#36909: AKZA - INS: met bulkactie "Multi wijzigen" ook velden leeg k.
svn path=/Website/trunk/; revision=36348
2017-12-13 07:40:28 +00:00
Peter Feij
bccc54440f MDUX#45047 setting welke prijs te gebruiken
svn path=/Website/trunk/; revision=36346
2017-12-12 17:52:07 +00:00
Peter Feij
25ab37b5b8 typo
svn path=/Website/trunk/; revision=36345
2017-12-12 17:32:59 +00:00
Maykel Geerdink
30ac11e93b PLAT#41509: TB049 Geen totalen per complex mogelijk (groepering) in de MJOB console.
svn path=/Website/trunk/; revision=36343
2017-12-12 14:29:15 +00:00
Maykel Geerdink
ae6edf1570 AADS#41227: Meldingen in dienstniveau bij doorsturen.
svn path=/Website/trunk/; revision=36339
2017-12-12 10:50:59 +00:00
Peter Feij
709fbe3a98 UWVA#50707 vertrouwelijke kenmerken
svn path=/Website/trunk/; revision=36331
2017-12-12 08:11:12 +00:00
Peter Feij
4438b63c64 UWVA#50707 vertrouwelijke kenmerken - filechanges niet zichtbaar tracken
svn path=/Website/trunk/; revision=36330
2017-12-11 17:02:51 +00:00
Peter Feij
0d8c5d8e4e UWVA#50707 vertrouwelijke kenmerken - niet zichtbaar tracken
svn path=/Website/trunk/; revision=36328
2017-12-11 15:49:01 +00:00
Peter Feij
b8bf36e3e8 UWVA#50707 vertrouwelijke kenmerken
svn path=/Website/trunk/; revision=36326
2017-12-11 14:06:15 +00:00
Peter Feij
78ff2ed4e8 UWVA#50707 vertrouwelijke kenmerken nu met centrale conditie in mld.inc
svn path=/Website/trunk/; revision=36323
2017-12-11 11:24:36 +00:00
Jos Groot Lipman
b40bb9f928 FSN#37526 aanmeld QR-code maximaal één keer gebruiken
svn path=/Website/trunk/; revision=36321
2017-12-11 11:02:48 +00:00
Peter Feij
a0fffbf030 UWVA#50707 vertrouwelijke kenmerken (conditie wellicht nog geavanceerder)
svn path=/Website/trunk/; revision=36317
2017-12-11 08:33:31 +00:00
Peter Feij
397a323ea9 UWVA#50707 vertrouwelijke kenmerken,tonen en (niet) opslaan
svn path=/Website/trunk/; revision=36312
2017-12-10 13:39:04 +00:00
Peter Feij
4dca5ddfe7 UWVA#50707 vertrouwelijke kenmerken
svn path=/Website/trunk/; revision=36309
2017-12-08 16:31:50 +00:00
Peter Feij
2ae101c50c UWVA#50707 vertrouwelijke kenmerken
svn path=/Website/trunk/; revision=36308
2017-12-08 16:29:34 +00:00
Peter Feij
d927f44f12 UWVA#50707 vertrouwelijke kenmerken
svn path=/Website/trunk/; revision=36307
2017-12-08 16:27:46 +00:00
Peter Feij
a0675d904e FSN#51518 savepoint
svn path=/Website/trunk/; revision=36303
2017-12-08 13:29:02 +00:00
Peter Feij
b8ecb341d6 PCHW#42887 Ook vakgroeptypewissel tracken, maar nu gewoon als afzonderlijke tracking, niet gecombineerd
svn path=/Website/trunk/; revision=36296
2017-12-08 10:02:12 +00:00
Peter Feij
21a1ae7937 PCHW#42887 Ook vakgroeptypewissel tracken
svn path=/Website/trunk/; revision=36295
2017-12-08 09:48:34 +00:00
657fe665cd HCAS#41381 (Bugfix) objecten niet tonen (of query-en) indien er geen vakgroeptypen aanwezig zijn.
svn path=/Website/trunk/; revision=36293
2017-12-08 09:07:25 +00:00
Peter Feij
5efcd34b23 PLAT#41688 mjob scores, ook bij object weergeven, kost niks meer
svn path=/Website/trunk/; revision=36289
2017-12-07 17:39:30 +00:00
Peter Feij
cabeb911e6 PLAT#41688 mjob scores, dit is zo wel het minste om te doen.
svn path=/Website/trunk/; revision=36288
2017-12-07 16:06:22 +00:00
Peter Feij
016e5a8bdc PLAT#41688 mjob scores
svn path=/Website/trunk/; revision=36287
2017-12-07 15:37:08 +00:00
Peter Feij
76869080ea Niks. Quote in comment zorgde voor onhandige syntaxhighlighting etc in Ultraedit, verwijderd
svn path=/Website/trunk/; revision=36285
2017-12-07 15:14:43 +00:00
c361159be6 FSN#51308 Van een reeks filter veld kan nu geen multiselect meer worden gemaakt (toggel wordt nooit toegevoegd)
svn path=/Website/trunk/; revision=36244
2017-12-06 12:18:29 +00:00
Peter Feij
9e4c7c1395 PLAT#41688 hinttekst tonen bij keuze nieuwe stdmelding (niet alleen onzichtbaar zoekbaar
svn path=/Website/trunk/; revision=36233
2017-12-06 10:21:02 +00:00
68f85e9cf3 FSN#51287 Lijst van geavanceerd zoeken kenmerken lijst voor de uitleenregistratie beperkt tot kenmerken die toebehoren aan uitleenbare objsoorten
svn path=/Website/trunk/; revision=36229
2017-12-06 09:04:46 +00:00
7a6a621c67 FSN#47587 scherm wordt nu 'hot' (edit-mode) als voor een note de edit mode aangegaan wordt.
svn path=/Website/trunk/; revision=36226
2017-12-06 08:17:32 +00:00
Maykel Geerdink
f4eb44ec16 AKZA#36909: AKZA - INS: met bulkactie "Multi wijzigen" ook velden leeg k.
svn path=/Website/trunk/; revision=36221
2017-12-05 15:22:32 +00:00
5567af52ca AKZO#48268 datepicker('setDate', 'XXX') zorgde voor een focus op de kalender waardoor deze in IE weer opende, opgelost methacky workaround
svn path=/Website/trunk/; revision=36217
2017-12-05 12:13:24 +00:00
72b17f9efb FSN#47587 mld_note edit zorgt nu ook voor loskoppelen edit-mode bij handmatige frame refresh ('frame opnieuw laden')
svn path=/Website/trunk/; revision=36214
2017-12-05 11:40:40 +00:00
ef5c48ffd3 FSN#47587 mld_note edit zorgt nu voor een editmode van de melding zodat deze niet met 1 klik weggeklikt kan worden
svn path=/Website/trunk/; revision=36213
2017-12-05 11:19:35 +00:00
Maykel Geerdink
b0bdedafe0 MNNL#40834: MNNL - MLD: Functionaliteit in relatie tot kenmerken bij doo.
svn path=/Website/trunk/; revision=36211
2017-12-05 10:54:56 +00:00
Jos Groot Lipman
9f71884aa7 FSN#40537 herhaalde (waarden in) kolommen in rapporten onderdrukken
svn path=/Website/trunk/; revision=36210
2017-12-05 10:46:10 +00:00
Maykel Geerdink
306e272aa1 PLAT#41506: TB046 Kostenplaats nog niet zichtbaar, filterbaar of in export.
svn path=/Website/trunk/; revision=36205
2017-12-05 10:05:16 +00:00
78077143ab HCAS#41381 objecten niet tonen (of query-en) indien er geen vakgroeptypen aanwezig zijn.
svn path=/Website/trunk/; revision=36204
2017-12-05 09:39:54 +00:00
Jos Groot Lipman
c8582d0edf FSN#47587 Eerste (uitgeschakelde) aanzet voor notities auto-hot maken
svn path=/Website/trunk/; revision=36195
2017-12-04 13:39:53 +00:00
Jos Groot Lipman
40b09f8311 Merge Release 2017.2 Gold C
svn path=/Website/trunk/; revision=36191
2017-12-04 10:34:25 +00:00
Maykel Geerdink
5e71c6f4bd PLAT#41497: TB038 Geen ‘laatste wijziging’ in beeld bij gewijzigde taak.
svn path=/Website/trunk/; revision=36155
2017-11-29 13:07:44 +00:00
Maykel Geerdink
8987e96dd0 FSN#39592: Flexkenmerken verdwijnen na doorsturen en later bewerken.
svn path=/Website/trunk/; revision=36128
2017-11-27 13:09:55 +00:00
Maykel Geerdink
304f164451 MNNL#40834: MNNL - MLD: Functionaliteit in relatie tot kenmerken bij doo.
svn path=/Website/trunk/; revision=36120
2017-11-27 10:41:08 +00:00
Maykel Geerdink
a01c4066d1 FSN#39592: Flexkenmerken verdwijnen na doorsturen en later bewerken.
svn path=/Website/trunk/; revision=36118
2017-11-27 10:21:10 +00:00
Jos Groot Lipman
bc01d3a4ea Merge 2017.2 Gold C patches
svn path=/Website/trunk/; revision=36103
2017-11-23 15:50:17 +00:00
1fcf1291e6 FSN#51184 Flexkenmerken die als checkbox fungeren worden in de overzichten nu als Ja/Nee weergegeven ipv 1/0
svn path=/Website/trunk/; revision=36040
2017-11-17 13:21:46 +00:00
904ae21315 FSN#51197 order of document.ready changed
svn path=/Website/trunk/; revision=36031
2017-11-17 09:48:08 +00:00
3f2d734a6c FSN#51197 Typefout, komma teveel
svn path=/Website/trunk/; revision=36030
2017-11-17 08:34:25 +00:00
Jos Groot Lipman
83ee2925da Merge 2017.2 Gold B patches
svn path=/Website/trunk/; revision=35967
2017-11-10 17:50:40 +00:00
51af68fe6b FSN#39896 $(window).load(fnX) omgezet naar $(window).on("load", fnX) voor compatibility met jQuery 3.2.0+
svn path=/Website/trunk/; revision=35964
2017-11-10 15:53:46 +00:00
955f57983c FSN#49748 Menu search-as-you-type onvoorwaardelijk gemaakt.
svn path=/Website/trunk/; revision=35961
2017-11-10 15:27:25 +00:00
de573cf101 FSN#49567 Favorieten en pinned tabs (fac_menu_altgroep IN (5,6)) doen nu niets meer met fac_menu_portal
svn path=/Website/trunk/; revision=35959
2017-11-10 15:02:11 +00:00
de8214f83e HCAS#41381 Object(en) veld toegevoegd aan mld_list en opdr_list
svn path=/Website/trunk/; revision=35957
2017-11-10 14:28:29 +00:00
6c62efa974 FSN#49567 Favoriete tabs worden nu (afh. van S(favorites_on_portal_menu)) wel of niet op -desktop- portal weergegeven
svn path=/Website/trunk/; revision=35951
2017-11-10 10:02:17 +00:00
e6826fd07a FSN#46908 bugfix; window wordt nu pas gesloten nadat deze volledig geladen is.
svn path=/Website/trunk/; revision=35949
2017-11-09 16:07:40 +00:00
Erik Groener
ccecd62760 FCLT#42307 Graag CVAB mode toevoegen aan activiteit
svn path=/Website/trunk/; revision=35942
2017-11-09 13:02:46 +00:00
Peter Feij
516a8badb8 FSN#49967 mobile filter panel status als checkboxen
svn path=/Website/trunk/; revision=35909
2017-11-07 07:57:01 +00:00
Jos Groot Lipman
768c6fda50 Merge 2017.2 Gold B patches
svn path=/Website/trunk/; revision=35905
2017-11-06 11:58:03 +00:00
Ruud Lipper
9584b60ed6 FSN#49967 mobile filter panel kleine fixjes
svn path=/Website/trunk/; revision=35904
2017-11-06 07:59:45 +00:00
Peter Feij
3f69377fd2 FSN#49967 fixjes
svn path=/Website/trunk/; revision=35902
2017-11-03 16:32:28 +00:00
Ruud Lipper
1a8a8e9fc1 FSN#49967 mobile filteren op meldingen lijst
svn path=/Website/trunk/; revision=35897
2017-11-03 13:42:20 +00:00
Maykel Geerdink
59a94b1257 FSN#39592: Flexkenmerken verdwijnen na doorsturen en later bewerken.
svn path=/Website/trunk/; revision=35868
2017-11-01 08:36:29 +00:00
Maykel Geerdink
be49021e79 UWVA#39063: Veld 'Einddatum' bij Opdracht leeg en verplicht.
svn path=/Website/trunk/; revision=35855
2017-10-31 08:20:51 +00:00
Maykel Geerdink
b54c8e9703 AKZA#36909: AKZA - INS: met bulkactie "Multi wijzigen" ook velden leeg k.
svn path=/Website/trunk/; revision=35847
2017-10-30 09:07:28 +00:00
bb065c1c26 FSN#46908 Onderwerp toegevoegd aan vervolg-modal, tevens verplicht/hidden nav gekozen stdm
svn path=/Website/trunk/; revision=35838
2017-10-27 12:43:22 +00:00
Maykel Geerdink
d440130ce5 FSN#35923: Meldingen onder reserveringen lijken afhankelijk van melder.
svn path=/Website/trunk/; revision=35813
2017-10-25 11:49:18 +00:00
Maykel Geerdink
82a2bd0b88 FSN#35923: Meldingen onder reserveringen lijken afhankelijk van melder.
svn path=/Website/trunk/; revision=35810
2017-10-25 10:07:47 +00:00
Jos Groot Lipman
a7cb79f3eb Hier nog: mgt/mgt_tools naar api2/api2_tools verplaatst
svn path=/Website/trunk/; revision=35798
2017-10-24 09:34:39 +00:00
Maykel Geerdink
80c69a53e5 FSN#44847: Multi-actie vervolgmelding.
svn path=/Website/trunk/; revision=35797
2017-10-24 09:33:08 +00:00
Jos Groot Lipman
22e5a3fa63 Merge 2017.2 Gold A patches
svn path=/Website/trunk/; revision=35796
2017-10-24 09:30:37 +00:00
1f8bae45a0 FSN#40537 herhaalde kolommen onderdrukken bugfix; we willen natuurlijk alleen onderdrukken wanneer we lastColKey hebben gespecificeerd
svn path=/Website/trunk/; revision=35779
2017-10-20 15:21:54 +00:00
cedbfb4325 NYBU#43427 Verwijderde kostenplaatsen waarvan een persoon budgethouder is behoren niet meer tot verplichtingen van die persoon
svn path=/Website/trunk/; revision=35778
2017-10-20 15:19:05 +00:00
0c500280a2 IVET#40513 Indien aan de bookmark [submit="F"] wordt meegegeven, en als de knop 'Voltooien' aanwezig is, wordt automatisch voltooid.
svn path=/Website/trunk/; revision=35773
2017-10-20 10:52:12 +00:00
74523152a8 DJIN#41536 Je mag nu ook meldingen zonder -lopende- opdrachten koppelen indien S(mld_allow_parentmelding) & 2
svn path=/Website/trunk/; revision=35770
2017-10-19 14:54:13 +00:00
2fcf931453 FSN#40537 herhaalde (waarden in) kolommen in rapporten kunnen nu met een extra optie onderdrukt worden ("Verberg herhalingen")
svn path=/Website/trunk/; revision=35754
2017-10-19 11:17:48 +00:00
Maykel Geerdink
7a68a709a6 AKZA#34757: AKZA - INS: werking vervaldatum in Eigen tabel.
svn path=/Website/trunk/; revision=35731
2017-10-18 11:47:20 +00:00
Erik Groener
d70977b316 FCLT#41463 Scaffolding stdmelding en kostenplaats beheerscherm
svn path=/Website/trunk/; revision=35729
2017-10-18 11:02:14 +00:00
Erik Groener
71d25ad386 FCLT#36178 Layout scaffolding sturen door velden te groeperen
svn path=/Website/trunk/; revision=35728
2017-10-18 10:57:51 +00:00
Jos Groot Lipman
8b097f4ce4 Merge 2017.2 Gold patches
svn path=/Website/trunk/; revision=35719
2017-10-17 14:57:21 +00:00
Jos Groot Lipman
3335d5c100 Merge 2017.2 RC2 patches
svn path=/Website/trunk/; revision=35701
2017-10-16 08:06:23 +00:00
ba61bf8f0f FSN#40537 Comment uitgebreid
svn path=/Website/trunk/; revision=35697
2017-10-13 14:53:02 +00:00
3b8ac3288c VGLD#41598 Caption van alle flags gelijk getrokken (voor zowel onScreen, print als excel)
svn path=/Website/trunk/; revision=35695
2017-10-13 12:26:39 +00:00
Erik Groener
0c8d0dd58e FCLT#36178 Layout scaffolding sturen door velden te groeperen
svn path=/Website/trunk/; revision=35694
2017-10-13 12:16:52 +00:00
Erik Groener
5518f10cf6 FCLT#41463 Scaffolding stdmelding en kostenplaats beheerscherm
svn path=/Website/trunk/; revision=35693
2017-10-13 12:07:35 +00:00
0692a85d0f VGLD#41598 factuur flags toegevoegd
svn path=/Website/trunk/; revision=35690
2017-10-13 12:03:24 +00:00
Jos Groot Lipman
7fda917039 Merge 2017.2 RC2 patches
svn path=/Website/trunk/; revision=35662
2017-10-12 11:24:23 +00:00
Maykel Geerdink
f7c2b517b5 DJIN#44707: Uitsluiten voor SLA/respijt onmogelijk maken.
svn path=/Website/trunk/; revision=35648
2017-10-11 11:44:40 +00:00
Erik Groener
51464bf68f FCLT#41463 Scaffolding stdmelding en kostenplaats beheerscherm
svn path=/Website/trunk/; revision=35611
2017-10-09 13:10:07 +00:00
Erik Groener
07aea0317b FCLT#41463 Scaffolding stdmelding en kostenplaats beheerscherm
svn path=/Website/trunk/; revision=35610
2017-10-09 13:05:45 +00:00
Jos Groot Lipman
f0786b3f39 Merge 2017.2 RC2 patches
svn path=/Website/trunk/; revision=35607
2017-10-09 10:55:25 +00:00
Erik Groener
da56123f08 FCLT#42307 Graag CVAB mode toevoegen aan activiteit
svn path=/Website/trunk/; revision=35591
2017-10-06 11:05:05 +00:00
Erik Groener
f366053387 MDUX#41852 onderdeel toevoegen aan object
svn path=/Website/trunk/; revision=35580
2017-10-05 12:45:19 +00:00
Erik Groener
f8a90c7044 UWVA#41492 OPD: opdracht aanpassen van noties en afmeld veld
svn path=/Website/trunk/; revision=35559
2017-10-04 12:31:30 +00:00
Erik Groener
05ca46e94a UWVA#41492 OPD: opdracht aanpassen van noties en afmeld veld
svn path=/Website/trunk/; revision=35555
2017-10-04 11:59:58 +00:00
Erik Groener
d2914be78a UWVA#41492 OPD: opdracht aanpassen van noties en afmeld veld
svn path=/Website/trunk/; revision=35550
2017-10-04 09:34:45 +00:00
Jos Groot Lipman
6d24c2bab1 Merge 2017.2 RC2 patches
svn path=/Website/trunk/; revision=35526
2017-10-03 11:24:52 +00:00
Erik Groener
b015579ddf UWVA#41492 OPD: opdracht aanpassen van noties en afmeld veld
svn path=/Website/trunk/; revision=35469
2017-09-27 14:02:37 +00:00
715 changed files with 37105 additions and 16430 deletions

View File

@@ -68,6 +68,7 @@ if (bld_key > 0)
var verantw_key = oRs("prs_perslid_key_verantw").Value;
var verantw_key2 = oRs("prs_perslid_key_verantw2").Value;
var vervaldatum = oRs("alg_gebouw_vervaldatum").Value != null ? new Date(oRs("alg_gebouw_vervaldatum").Value) : null;
var geb_score1 = oRs("alg_gebouw_mjb_score1").value;
oRs.Close();
}
else
@@ -120,7 +121,7 @@ else
readonly: bld_key > 0,
required: true
});
manRWFIELD("bld_naam", "fld", L("lcl_estate_gebouw_man_name"), bld_naam, {required: true, maxlength: 30});
manRWFIELD("bld_naam", "fld", L("lcl_estate_gebouw_man_name"), bld_naam, {required: true, maxlength: 60});
sql = "SELECT alg_srtgebouw_key, "
+ " "+lcl.xsqla('alg_srtgebouw_omschrijving', 'alg_srtgebouw_key')
+ " FROM alg_srtgebouw "
@@ -228,6 +229,7 @@ else
);
if (this_alg.writeman)
CHECKBOXTR(L("lcl_estate_gebouw_werkdagen"), "fldalgwerk", "bld_werkdagen", werkdagen==1)
ROFIELDTR("fld", "Conditie score", geb_score1, {suppressEmpty: true}); // L("lcl_alg_locatie_mjb_score1")
BLOCK_END();
generateFlexKenmerkBlock ({ onrgoed_key : bld_key,

View File

@@ -53,7 +53,8 @@ if (loc_key > 0)
var pst_adres = oRs("alg_locatie_post_adres").value;
var pst_plaats = oRs("alg_locatie_post_plaats").value;
var pst_land = oRs("alg_locatie_post_land").value;
var dienstniveau = oRs("mld_dienstniveau_key").value;
var dienstniveau = oRs("mld_dienstniveau_key").value;
var loc_score1 = oRs("alg_locatie_mjb_score1").value;
oRs.Close();
}
@@ -138,6 +139,7 @@ manRWFIELD("pst_land", "fld", L("lcl_prs_address_post_land"), p
manRWFIELD("loc_vw", "fld", L("lcl_estate_locatie_man_verantw"), loc_vw, {maxlength: 30});
manRWFIELD("loc_vwtel", "fld", L("lcl_estate_locatie_man_verantw_tel"), loc_vwtel, {maxlength: 15});
manRWFIELD("loc_mail", "fld", L("lcl_noti_email"), loc_mail, {maxlength: 200});
ROFIELDTR("fld", "Conditie score", loc_score1, {suppressEmpty: true}); // L("lcl_alg_locatie_mjb_score1")
BLOCK_END();

View File

@@ -52,6 +52,10 @@ for (var i = 0; i < alg_key_arr.length; i++)
allKenmerkenSQL = "SELECT " + lcl.xsql('k.alg_kenmerk_omschrijving', 'k.alg_kenmerk_key') + " kenmerk_omschrijving"
+ ", k.alg_kenmerk_kenmerktype kenmerk_kenmerktype"
+ ", k.alg_kenmerk_systeem kenmerk_systeem"
+ ", k.alg_kenmerk_toonbaar kenmerk_readonly"
+ ", k.alg_kenmerk_uniek kenmerk_uniek"
+ ", fac_kenmerkdomein_key"
+ " FROM alg_kenmerk k"
+ " WHERE k.alg_kenmerk_key = "; /* wordt in saveFlexkenmerken uitgebreid */

View File

@@ -63,6 +63,7 @@ function generateFlexKenmerkBlock(params)
+ " k.alg_kenmerk_dec kenmerk_dec, "
+ " k.alg_kenmerk_nmin kenmerk_nmin, "
+ " k.alg_kenmerk_nmax kenmerk_nmax, "
+ " k.alg_kenmerk_systeem kenmerk_systeem, "
+ (onrgoed_key > 0
? " (SELECT v.alg_onrgoedkenmerk_waarde "
+ " FROM alg_onrgoedkenmerk v "

View File

@@ -68,33 +68,41 @@ function fnrowClass(oRs)
function gotoDetails(row)
{
var algData = eval('(' + row.getAttribute("ROWDATA") + ')');
var url = "appl/ALG/alg_verdieping_search.asp?gebouw_key=" + algData.detail_key + "&autosearch=" + autosearch + "&chkgeb=1";
var url = "appl/alg/alg_verdieping_search.asp?gebouw_key=" + algData.detail_key + "&autosearch=" + autosearch + "&chkgeb=1";
FcltMgr.openDetail(url, "<%=L("lcl_floor")%>");
}
function gotoParent(row)
{
var algData = eval('(' + row.getAttribute("ROWDATA") + ')');
var url = "appl/ALG/alg_locatie_search.asp?locatie_key=" + algData.parent_key + "&autosearch=" + autosearch;
var url = "appl/alg/alg_locatie_search.asp?locatie_key=" + algData.parent_key + "&autosearch=" + autosearch;
FcltMgr.openDetail(url, "<%=L("lcl_location")%>");
}
function gebouwEdit(row)
function gebouwEdit(row)
{
var algData = eval('(' + row.getAttribute("ROWDATA") + ')');
var url = "appl/ALG/alg_gebouw.asp?mode=viewUpdate&key=" + algData.key;
var url = "appl/alg/alg_gebouw.asp?mode=viewUpdate&key=" + algData.key;
FcltMgr.openDetail(url, "<%=L("lcl_building")%>" + ' ' + algData.oms);
}
function doDelete(rowArray, isMulti)
function doDelete(rowArray, isMulti)
{
FcltMgr.confirm(L("lcl_alg_del_txt_gebouw"), { autoconfirm: isMulti }, function() {
var bldKeyString = getKeyString(rowArray);
var data = { key: bldKeyString,
level: "G"
};
<% protectRequest.dataToken("data"); %>
$.post("alg_delete.asp", data, FcltCallbackRefresh, "json");
});
}
function toObjMan(row)
{
FcltMgr.confirm(L("lcl_alg_del_txt_gebouw"), { autoconfirm: isMulti }, function() {
var bldKeyString = getKeyString(rowArray);
var data = { key: bldKeyString,
level: "G"
};
<% protectRequest.dataToken("data"); %>
$.post("alg_delete.asp", data, FcltCallbackRefresh, "json");
});
var algData = eval('(' + row.getAttribute("ROWDATA") + ')');
var url = "appl/ins/ins_search.asp?urole=bo&gebouw_key=" + algData.key;
FcltMgr.openDetail(url, "<%=L("lcl_building")%>" + ' ' + algData.oms);
}
</script>
<%
@@ -118,13 +126,24 @@ function gebouw_list(pautfunction, params)
var srtgebouw_key = params.srtgebouw_key;
var verantw_key = params.verantw_key;
var expalgincl = params.expalgincl;
var mjob = params.mjob;
var fitness_score1_from = params.fitness_score1_from;
var fitness_score1_through = params.fitness_score1_through;
var autparamsINSUSE = user.checkAutorisation("WEB_INSUSE", true);
var autparamsINSMAN = user.checkAutorisation("WEB_INSMAN", true);
var readuse = autparamsINSUSE && autparamsINSUSE.PRSreadlevel < 9 && autparamsINSUSE.ALGreadlevel < 9; // Wijzigen Afgeronde gegevens.
var readman = autparamsINSMAN && autparamsINSMAN.PRSreadlevel < 9 && autparamsINSMAN.ALGreadlevel < 9; // Wijzigen Afgeronde gegevens.
function fnrowActionEnabler(oRs)
{
var eDelete = false;
var eObjMan = false;
if (alg.canWriteGebouw(oRs("alg_gebouw_key").value, authparams.mALGwritelevel))
eDelete = true;
return ({eDelete: eDelete})
// Heb ik rechten om het objectenbeheer overzicht te zien?
if (readuse || readman)
eObjMan = true;
return ({eDelete: eDelete, eObjMan: eObjMan});
}
function fnrowFlexParams(oRs)
@@ -158,6 +177,7 @@ function gebouw_list(pautfunction, params)
+ " , g.alg_gebouw_x"
+ " , g.alg_gebouw_y"
+ " , g.alg_gebouw_vervaldatum"
+ " , g.alg_gebouw_mjb_score1"
+ " , (SELECT MAX(t.fac_tracking_datum)"
+ " FROM fac_tracking t"
+ " , fac_srtnotificatie sn"
@@ -204,6 +224,15 @@ function gebouw_list(pautfunction, params)
if (!expalgincl)
sqln += " AND (g.alg_gebouw_vervaldatum IS NULL OR g.alg_gebouw_vervaldatum > TRUNC(SYSDATE)) ";
if (params.mjob)
{ // Conditiescore.
// Niet gemeten objecten doen wel mee in dit filter. Deze objecten worden dus niet getoond als er een waarde is ingevuld.
if (fitness_score1_from > 0)
sqln += " AND alg_locatie_mjb_score1 >= " + fitness_score1_from;
if (fitness_score1_through > 0)
sqln += " AND alg_locatie_mjb_score1 <= " + fitness_score1_through;
}
sqln += " ORDER BY l.alg_locatie_upper ASC, "
+ " g.alg_gebouw_upper ASC ";
@@ -247,14 +276,12 @@ function gebouw_list(pautfunction, params)
rst.addColumn(new Column({caption: L("lcl_geoxcoord"), content: "alg_gebouw_x"}));
rst.addColumn(new Column({caption: L("lcl_geoycoord"), content: "alg_gebouw_y"}));
}
if (params.mjob)
rst.addColumn(new Column({caption: "Conditiescore", content: "alg_gebouw_mjb_score1"})); // L("lcl_alg_gebouw_mjb_score1")
rst.addAction({ action: "gebouwEdit", caption: L("lcl_edit"), isDefault: true});
rst.addAction({ action: "doDelete", caption: L("lcl_delete"), enabler: "eDelete", single:!noref, multi: true, multiOnce: true});
if (!noref)
{
rst.addAction({ action: "gotoDetails", caption: L("lcl_goto_verdieping_list")});
rst.addAction({ action: "gotoParent", caption: L("lcl_goto_locatie_list")});
}
rst.addAction({ action: "toObjMan", caption: L("lcl_ins_object_management"), enabler: "eObjMan"});
var cnt = rst.processResultset();
%>
</body>

View File

@@ -20,6 +20,7 @@ var srtgebouw_key = getQParamInt("gebouw_func", -1); // Gebouwfunctie
var verantw_key = getQParamInt("verantw", -1); // Gebouw verantwoordelijke
var verantw_key2 = getQParamInt("verantw2", -1); // Gebouw verantwoordelijke 2
var autosearch = getQParamInt("autosearch", 0) == 1;
var mjob = getQParamInt("mjob", 0) == 1; // mjob mode
var authparams = alg.checkAutorisation();
var this_alg = alg.func_enabled(gebouw_key);
%>
@@ -50,6 +51,7 @@ var this_alg = alg.func_enabled(gebouw_key);
<body id="searchbody">
<div id="search">
<form name="u2" target="workFrame" action="alg_gebouw_search_list.asp" method="get">
<input type=hidden name="mjob" id="mjob" value="<%=mjob?1:0%>">
<% BLOCK_START("searchtable", L("lcl_filterblok"));%>
<tr>
<td class="searchkolom1">
@@ -91,26 +93,62 @@ var this_alg = alg.func_enabled(gebouw_key);
+ " FROM alg_srtgebouw"
+ " WHERE alg_srtgebouw_verwijder IS NULL"
+ " ORDER BY UPPER("+lcl.xsql('alg_srtgebouw_omschrijving', 'alg_srtgebouw_key')+")";
FCLTselector("srt",
sql,
{ initKey: srtgebouw_key,
label: L("lcl_estate_gebouw_srtgebouw"),
trclass: "primsearch",
emptyOption: ""
});
%>
<!-- Gebouw verantwoordelijke -->
<% // Dit veld is alleen zichtbaar indien er minimaal <20><>n gebouwverantwoordelijke geconfigureerd is (suppressNoValues).
FCLTpersoonselector("verantw",
"sgVerantw",
{ perslidKey: verantw_key,
label: L("lcl_alg_bld_verantw"),
filtercode: "GV", // Gebouw Verantwoordelijke
trclass: "primsearch",
suppressNoValues: true,
whenEmpty: L("lcl_search_generic") // want filter
});
FCLTselector("srt",
sql,
{ initKey: srtgebouw_key,
label: L("lcl_estate_gebouw_srtgebouw"),
trclass: "primsearch",
emptyOption: ""
});
%>
<!-- Gebouw verantwoordelijke -->
<% // Dit veld is alleen zichtbaar indien er minimaal <20><>n gebouwverantwoordelijke geconfigureerd is (suppressNoValues).
FCLTpersoonselector("verantw",
"sgVerantw",
{ perslidKey: verantw_key,
label: L("lcl_alg_bld_verantw"),
filtercode: "GV", // Gebouw Verantwoordelijke
trclass: "primsearch",
suppressNoValues: true,
whenEmpty: L("lcl_search_generic") // want filter
});
if (mjob)
{ // Conditiescore
%> <tr class="primsearch fldfitness_score" id="fitness_score">
<td>
<table width="100%">
<tr>
<td class="label">
<label for="show_fitness_score_from"><%="Conditiescore"%>:</label> <% /* L("lcl_mjb_fitness_score") */ %>
</td>
<td style="text-align: right">
<%="van"%> <% /* L("lcl_mjb_from") */ %>
</td>
</tr>
</table>
</td>
<td class="score">
<input type="text"
onChange="fvalid=checkKenmerk(this, false, 'N', 1, 0, 1, 6)"
onBlur="checkKenmerk(this, true, 'N', 1, 0, 1, 6)"
id="fitness_score1_from"
name="fitness_score1_from"
class="fldflexN number "
value=""
maxlength="1">
&nbsp;<%="t/m"%>&nbsp; <% /* L("lcl_mjb_through") */ %>
<input type="text"
onChange="fvalid=checkKenmerk(this, false, 'N', 1, 0, 1, 6)"
onBlur="checkKenmerk(this, true, 'N', 1, 0, 1, 6)"
id="fitness_score1_through"
name="fitness_score1_through"
class="fldflexN number "
value=""
maxlength="1">
</td>
</tr>
<% } %>
</table>
</td><!-- end column 1 -->
</tr>

View File

@@ -32,6 +32,9 @@ var srtgebouw_key = getQParamInt("srt", -1); // Gebouwfunctie
var verantw_key = getQParamInt("verantw", -1); // Gebouw verantwoordelijke
var verantw_key2 = getQParamInt("verantw2", -1); // Gebouw verantwoordelijke 2
var expalgincl = getQParamInt("expAlgIncl", 0) == 1; // Ook vervallen gebouwen
var mjob = getQParamInt("mjob", 0) == 1; // mjob mode
var fitness_score1_from = getQParamInt("fitness_score1_from", -1); // Conditie score van.
var fitness_score1_through = getQParamInt("fitness_score1_through", -1); // Conditie score t/m.
gebouw_list ( "*",
{ outputmode: outputmode,
@@ -45,6 +48,9 @@ gebouw_list ( "*",
bld_key: (bld_key != -1? bld_key : null),
bld_code: bld_code,
bld_name: bld_name,
mjob: mjob,
fitness_score1_from : fitness_score1_from,
fitness_score1_through : fitness_score1_through,
noref: (noref != -1? noref : null),
expalgincl: expalgincl
}

View File

@@ -120,6 +120,9 @@ function locatie_list(pautfunction, params)
var reg_key = params.reg_key;
var dis_key = params.dis_key;
var loc_key = params.loc_key;
var mjob = params.mjob;
var fitness_score1_from = params.fitness_score1_from;
var fitness_score1_through = params.fitness_score1_through;
function fnrowActionEnabler(oRs)
{
@@ -161,6 +164,7 @@ function locatie_list(pautfunction, params)
+ " , l.alg_locatie_verantw_tel"
+ " , l.alg_locatie_x"
+ " , l.alg_locatie_y"
+ " , l.alg_locatie_mjb_score1"
+ " , (SELECT MAX(t.fac_tracking_datum)"
+ " FROM fac_tracking t"
+ " , fac_srtnotificatie sn"
@@ -168,7 +172,7 @@ function locatie_list(pautfunction, params)
+ " AND t.fac_tracking_refkey = l.alg_locatie_key"
+ " AND sn.fac_srtnotificatie_xmlnode = 'locatie'"
+ " ) recentdatum"
+ " FROM alg_v_aanweziglocatie l"
+ " FROM alg_locatie l" // TODO: alg_v_aanweziglocatie gebruiken
+ " , alg_district d "
+ " WHERE d.alg_district_key(+) = l.alg_district_key"
+ " AND l.alg_locatie_verwijder IS NULL";
@@ -201,6 +205,15 @@ function locatie_list(pautfunction, params)
if (params.loc_descr)
sqln += " AND UPPER(l.alg_locatie_omschrijving) LIKE " + safe.quoted_sql_wild(params.loc_descr + "%");
if (params.mjob)
{ // Conditiescore.
// Niet gemeten objecten doen wel mee in dit filter. Deze objecten worden dus niet getoond als er een waarde is ingevuld.
if (fitness_score1_from > 0)
sqln += " AND alg_locatie_mjb_score1 >= " + fitness_score1_from;
if (fitness_score1_through > 0)
sqln += " AND alg_locatie_mjb_score1 <= " + fitness_score1_through;
}
sqln += " ORDER BY UPPER(alg_district_omschrijving), UPPER(alg_locatie_code)";
var addurl = "appl/alg/alg_locatie.asp";
@@ -233,6 +246,8 @@ function locatie_list(pautfunction, params)
rst.addColumn(new Column({caption: L("lcl_prs_address_bezoek_adres"), content: "alg_locatie_adres"}));
rst.addColumn(new Column({caption: L("lcl_prs_address_bezoek_postcode"), content: "alg_locatie_postcode"}));
rst.addColumn(new Column({caption: L("lcl_prs_address_bezoek_plaats"), content: "alg_locatie_plaats"}));
if (params.mjob)
rst.addColumn(new Column({caption: "Conditiescore", content: "alg_locatie_mjb_score1"})); // L("lcl_alg_locatie_mjb_score1")
if (outputmode != 0)
{

View File

@@ -15,6 +15,7 @@ FCLTHeader.Requires({ plugins:["jQuery", "kenmerk"] });
var district_key = getQParamInt("district_key", -1); //district
var locatie_key = getQParamInt("locatie_key", -1); //locatie
var autosearch = getQParamInt("autosearch", 0) == 1;
var mjob = getQParamInt("mjob", 0) == 1; // mjob mode
var authparams = alg.checkAutorisation();
%>
@@ -44,7 +45,8 @@ var authparams = alg.checkAutorisation();
<body id="searchbody">
<div id="search">
<form name="u2" target="workFrame" action="alg_locatie_search_list.asp" method="get">
<% BLOCK_START("searchtable", L("lcl_filterblok"));%>
<input type=hidden name="mjob" id="mjob" value="<%=mjob?1:0%>">
<% BLOCK_START("searchtable", L("lcl_filterblok"));%>
<tr>
<td class="searchkolom1">
<table><!-- x rijen, 2 kolommen: label + veld -->
@@ -68,10 +70,49 @@ var authparams = alg.checkAutorisation();
</table>
</td><!-- end column 1 -->
<!-- Second column -->
<td class="searchkolom2">
</td><!-- end column 1 -->
<table><!-- x rijen, 2 kolommen: label + veld -->
<% if (mjob)
{ // Conditiescore
%> <tr class="primsearch fldfitness_score" id="fitness_score">
<td>
<table width="100%">
<tr>
<td class="label">
<label for="show_fitness_score_from"><%="Conditiescore"%>:</label> <% /* L("lcl_mjb_fitness_score") */ %>
</td>
<td style="text-align: right">
<%="van"%> <% /* L("lcl_mjb_from") */ %>
</td>
</tr>
</table>
</td>
<td class="score">
<input type="text"
onChange="fvalid=checkKenmerk(this, false, 'N', 1, 0, 1, 6)"
onBlur="checkKenmerk(this, true, 'N', 1, 0, 1, 6)"
id="fitness_score1_from"
name="fitness_score1_from"
class="fldflexN number "
value=""
maxlength="1">
&nbsp;<%="t/m"%>&nbsp; <% /* L("lcl_mjb_through") */ %>
<input type="text"
onChange="fvalid=checkKenmerk(this, false, 'N', 1, 0, 1, 6)"
onBlur="checkKenmerk(this, true, 'N', 1, 0, 1, 6)"
id="fitness_score1_through"
name="fitness_score1_through"
class="fldflexN number "
value=""
maxlength="1">
</td>
</tr>
<% } %>
</table>
</td><!-- end column 2 -->
</tr>
<% BLOCK_END();
<% BLOCK_END();
var buttons = [ {title: L("lcl_search"), action: "doSubmit()", id: "bSearch" },
{title: L("lcl_obj_advanced"), action: "myModal()", id: "bAdvanced" } ];

View File

@@ -27,6 +27,9 @@ var dis_key = getQParamInt("districtkey", -1); // District
var loc_key = getQParamInt("locatiekey", -1); // Locatie
var loc_code = getQParam("loc_code", ""); // Locatiecode
var loc_descr = getQParam("loc_descr", ""); // Locatienaam
var mjob = getQParamInt("mjob", 0) == 1; // mjob mode
var fitness_score1_from = getQParamInt("fitness_score1_from", -1); // Conditie score van.
var fitness_score1_through = getQParamInt("fitness_score1_through", -1); // Conditie score t/m.
locatie_list ( "*",
{ outputmode: outputmode,
@@ -36,6 +39,9 @@ locatie_list ( "*",
loc_key: (loc_key != -1? loc_key : null),
loc_code: loc_code,
loc_descr: loc_descr,
mjob: mjob,
fitness_score1_from : fitness_score1_from,
fitness_score1_through : fitness_score1_through,
noref: (noref != -1? noref : null)
}
);

View File

@@ -37,8 +37,19 @@ if (submitting)
var afdeling_key = -1;
var bezetting = -1;
var afdeling_keys = [];
var bezetting_keys = [];
var bezettingen = new Array();
var afdeling_keys = new Array();
var afdeling_names = [];
function shorttxt(txt, len)
{
len = len || S("max_tracking_length");
if (txt.length < len)
return txt;
else
return txt.substr(0, len-4) + "...";
}
for (var i = 0; i < nrRows; i++)
{
afdeling_key = getFParamInt("afd" + i, 0);
@@ -47,10 +58,47 @@ if (submitting)
if (afdeling_key > 0 && bezetting >= 0)
{
afdeling_keys.push(afdeling_key);
bezetting_keys.push(bezetting);
bezettingen.push(bezetting);
}
}
if (afdeling_keys.length)
{
var sql = "SELECT prs_afdeling_key, prs_afdeling_omschrijving"
+ " FROM prs_afdeling a"
+ " WHERE prs_afdeling_key IN (" + afdeling_keys.join(",") + ")"
+ " AND prs_afdeling_verwijder IS NULL";
var oRs = Oracle.Execute(sql);
while (!oRs.Eof)
{
afdeling_names[oRs("prs_afdeling_key").value] = oRs("prs_afdeling_omschrijving").value;
oRs.MoveNext();
}
}
var oldvals = [];
var sql = "SELECT ra.alg_ruimte_key, ra.prs_afdeling_key, a.prs_afdeling_omschrijving, ra.prs_ruimteafdeling_bezetting"
+ " FROM prs_ruimteafdeling ra, prs_afdeling a"
+ " WHERE ra.alg_ruimte_key IN (" + ruimte_key_arr.join(",") + ")"
+ " AND ra.prs_afdeling_key = a.prs_afdeling_key"
+ " AND ra.prs_ruimteafdeling_verwijder IS NULL"
+ " AND a.prs_afdeling_verwijder IS NULL";
var oRs = Oracle.Execute(sql);
while (!oRs.Eof)
{
var tempTuple = { afd_key: oRs("prs_afdeling_key").value, bez: oRs("prs_ruimteafdeling_bezetting").value };
if (typeof oldvals[oRs("alg_ruimte_key").value] === 'undefined') // New ruimte
oldvals[oRs("alg_ruimte_key").value] = [tempTuple];
else
oldvals[oRs("alg_ruimte_key").value].push(tempTuple);
if (typeof afdeling_names[oRs("prs_afdeling_key").value] === 'undefined')
afdeling_names[oRs("prs_afdeling_key").value] = oRs("prs_afdeling_omschrijving").value;
oRs.MoveNext();
}
for (var j = 0; j < ruimte_key_arr.length; j++)
{ // Verwijderen
var sql = "DELETE prs_ruimteafdeling"
@@ -73,7 +121,7 @@ if (submitting)
if (!oRs.eof)
{ // Update
var sql = "UPDATE prs_ruimteafdeling SET"
+ " prs_ruimteafdeling_bezetting = " + bezetting_keys[i]
+ " prs_ruimteafdeling_bezetting = " + bezettingen[i]
+ " WHERE prs_ruimteafdeling_key = " + oRs("prs_ruimteafdeling_key").Value;
Oracle.Execute(sql);
}
@@ -83,11 +131,60 @@ if (submitting)
+ " (alg_ruimte_key, prs_afdeling_key, prs_ruimteafdeling_bezetting)"
+ " VALUES (" + ruimte_key_arr[j] + ","
+ afdeling_keys[i] + ","
+ bezetting_keys[i] + ")";
+ bezettingen[i] + ")";
Oracle.Execute(sql);
}
oRs.Close();
}
}
var trackingArr = new Object();
var fromLbl = "";
var toLbl = "";
var rowNr = -1;
var doneAfdeling = new Array();
for (var i = 0; i < ruimte_key_arr.length; i++)
{
if (typeof oldvals[ruimte_key_arr[i]] !== 'undefined')
for (var x = 0; x < oldvals[ruimte_key_arr[i]].length; x++)
{
fromLbl = shorttxt(afdeling_names[oldvals[ruimte_key_arr[i]][x].afd_key]) + " (" + oldvals[ruimte_key_arr[i]][x].bez + "%) ";
rowNr = sharedIndexOf(oldvals[ruimte_key_arr[i]][x].afd_key, afdeling_keys);
if (rowNr > -1) // Update
{
doneAfdeling[rowNr] = true;
if (oldvals[ruimte_key_arr[i]][x].bez == bezettingen[rowNr]) // No change
continue;
toLbl = " " + shorttxt(afdeling_names[afdeling_keys[rowNr]]) + " (" + bezettingen[rowNr] + "%)";
}
else // Delete
toLbl = " " + L("lcl_tracktoempty");
if (typeof trackingArr[ruimte_key_arr[i]] === 'undefined')
trackingArr[ruimte_key_arr[i]] = new Array();
trackingArr[ruimte_key_arr[i]].push(fromLbl + L("lcl_trackto") + toLbl);
}
for (var y = 0; y < afdeling_keys.length; y++)
{
if (doneAfdeling[y])
continue;
else if (typeof trackingArr[ruimte_key_arr[i]] === 'undefined')
trackingArr[ruimte_key_arr[i]] = new Array();
// Insert
fromLbl = L("lcl_trackfromempty") + " ";
toLbl = " " + shorttxt(afdeling_names[afdeling_keys[y]]) + " (" + bezettingen[y] + "%)";
trackingArr[ruimte_key_arr[i]].push(fromLbl + L("lcl_trackto") + toLbl);
}
}
for (var i = 0; i < ruimte_key_arr.length; i++)
{
if (typeof trackingArr[ruimte_key_arr[i]] !== 'undefined')
shared.trackaction("ALGRUP", ruimte_key_arr[i], L("lcl_alg_is_algrup") + "\n" + trackingArr[ruimte_key_arr[i]].join("\n"));
}
%>
<script type="text/javascript">
FcltMgr.closeDetail(window, { success: true });

View File

@@ -60,6 +60,7 @@ var werkdagen = oRs("alg_gebouw_werkdagen").Value;
var verantw = oRs("prs_perslid_key_verantw").Value;
var verantw2 = oRs("prs_perslid_key_verantw2").Value;
var vervaldatum = oRs("alg_gebouw_vervaldatum").Value;
var geb_score1 = oRs("alg_gebouw_mjb_score1").value;
oRs.Close();
%>
@@ -222,6 +223,7 @@ oRs.Close();
ROFIELDTR("fld", L("lcl_estate_gebouw_beginuur"), toTimeString(beginuur), {suppressEmpty:true} );
ROFIELDTR("fld", L("lcl_estate_gebouw_einduur"), toTimeString(einduur), {suppressEmpty:true} );
ROCHECKBOXTR("fldalgwerk", L("lcl_estate_gebouw_werkdagen"), werkdagen==1);
ROFIELDTR("fld", "Conditie score", geb_score1, {suppressEmpty: true}); // L("lcl_alg_locatie_mjb_score1")
BLOCK_END();
generateFlexKenmerkBlock ({ onrgoed_key : bld_key,

View File

@@ -40,6 +40,7 @@ var loc_vwtel = oRs("alg_locatie_verantw_tel").value;
var loc_x = oRs("alg_locatie_x").value;
var loc_y = oRs("alg_locatie_y").value;
var loc_mail = oRs("alg_locatie_email").value;
var loc_score1 = oRs("alg_locatie_mjb_score1").value;
var pst_adres = oRs("alg_locatie_post_adres").value;
var pst_postc = oRs("alg_locatie_post_postcode").value;
var pst_adres = oRs("alg_locatie_post_adres").value;
@@ -155,6 +156,7 @@ oRs.Close();
ROFIELDTR("fld", L("lcl_estate_locatie_man_verantw"), loc_vw, {suppressEmpty: true});
ROFIELDTR("fld", L("lcl_estate_locatie_man_verantw_tel"), loc_vwtel, {suppressEmpty: true});
AFIELDTR('fldmailto details', L("lcl_noti_email"), "mailto:" + loc_mail, loc_mail, { suppressEmpty: true });
ROFIELDTR("fld", "Conditie score", loc_score1, {suppressEmpty: true}); // L("lcl_alg_locatie_mjb_score1")
BLOCK_END();

View File

@@ -59,6 +59,7 @@ function API_func()
loglevel: oRs("fac_api_loglevel").Value,
usrrap_key: oRs("fac_usrrap_key").Value,
stylesheet: oRs("fac_api_stylesheet").Value,
stylesheet_out: oRs("fac_api_stylesheet_out").Value,
import_app_key: oRs("fac_import_app_key").Value
};

View File

@@ -55,6 +55,15 @@ try
var xmlReq = Server.CreateObject("MSXML2.DOMDocument.6.0");
xmlReq.load(Request);
if (xmlReq.parseError.errorCode != 0)
{
__DoLog( "Error loading XML: "
+ xmlReq.parseError.errorCode
+ "\n" + xmlReq.parseError.reason
+ " regel " + xmlReq.parseError.line
+ "(" + xmlReq.parseError.linepos + ")"
, "#ff0000");
}
if (API.apidata.loglevel) __Log2File(xmlReq.xml, API.APIname + "_IN");

View File

@@ -405,6 +405,7 @@
xmlResp.appendChild(FCLTElement);
Response.ContentType = "text/xml";
if (API.apidata.stylesheet)
{
// Niet super efficient dat we eerst naar tekstuele xml gaan maar ach...
@@ -412,7 +413,6 @@
}
else
{
Response.ContentType = "text/xml";
Response.Write(xmlResp.xml)
}
%>

View File

@@ -18,6 +18,7 @@
<!-- #include file="../../appl/Shared/common.inc" -->
<!-- #include file="../../appl/api/api.inc" -->
<!-- #include file="../../appl/shared/FlexFiles.inc" -->
<!-- #include file="../Shared/xml_converter.inc" -->
<script language="javascript" src="../imp/imp_shared.js" runat="server"></script>
<%
// We sturen het antwoord in UTF-8.
@@ -120,5 +121,12 @@
xmlResp.appendChild(FCLTElement);
Response.ContentType = "text/xml";
Response.Write(xmlResp.xml);
if (API.apidata.stylesheet_out)
{
var params = {};
STR2Stream(xmlResp.xml, API.apidata.stylesheet_out, Response, params);
}
else
Response.Write(xmlResp.xml);
%>

View File

@@ -258,6 +258,7 @@
if (API.apidata.stylesheet)
{
// Niet super efficient dat we eerst naar tekstuele xml gaan maar ach...
Response.ContentType = "text/xml";
STR2Stream(xmlResp.xml, API.apidata.stylesheet, Response, {});
}
else

View File

@@ -46,12 +46,24 @@ if (API.apidata.stylesheet)
}
var inputXML = Server.CreateObject("MSXML2.DOMDocument.6.0");
inputXML.load(Request);
if (inputXML.parseError.errorCode != 0)
{
__DoLog( "Error loading XML: "
+ inputXML.parseError.errorCode
+ "\n" + inputXML.parseError.reason
+ " regel " + inputXML.parseError.line
+ "(" + inputXML.parseError.linepos + ")"
, "#ff0000");
}
if (API.apidata.loglevel) __Log2File(inputXML.xml, API.APIname + "_IN");
inputXML.transformNodeToObject(iXsl, xmlReq);
}
else
xmlReq.load(Request);
if (API.apidata.loglevel) __Log2File(xmlReq.xml, API.APIname + "_IN");
if (API.apidata.loglevel) __Log2File(xmlReq.xml, API.APIname + "_TUSSEN");
var xmlResp = new ActiveXObject("MSXML2.DOMDocument.6.0");
xmlResp.appendChild(xmlResp.createProcessingInstruction("xml", "version=\"1.0\" encoding=\"utf-8\""))
@@ -612,6 +624,7 @@ function upsertKenmerk(kenmerken, stdmld_key, mld_key)
xmlResp.appendChild(FCLTElement);
Response.ContentType = "text/xml";
if (API.apidata.stylesheet)
{
// Niet super efficient dat we eerst naar tekstuele xml gaan maar ach...
@@ -619,7 +632,6 @@ if (API.apidata.stylesheet)
}
else
{
Response.ContentType = "text/xml";
Response.Write(xmlResp.xml)
}
%>

View File

@@ -464,7 +464,7 @@ for (i=0; i < opdrachten.length; i++)
}
oRs.Close();
}
if (opdraction == "note" && resultcode == -1) // Nog steeds geen fouten.
if (resultcode == -1 && opdraction == "note")
{
tsql = "INSERT INTO mld_opdr_note(mld_opdr_key, prs_perslid_key, mld_opdr_note_omschrijving)"
+ " VALUES (" + opdr_key + "," + user_key + "," + safe.quoted_sql(opdropmerking) + ")";
@@ -856,13 +856,13 @@ for (i=0; i < opdrachten.length; i++)
xmlResp.appendChild(FCLTElement);
Response.ContentType = "text/xml";
if (API.apidata.stylesheet)
{ // Niet super efficient dat we eerst naar tekstuele xml gaan maar ach...
STR2Stream(xmlResp.xml, API.apidata.stylesheet, Response, {});
}
else
{
Response.ContentType = "text/xml";
Response.Write(xmlResp.xml)
}
%>

View File

@@ -441,6 +441,7 @@
xmlResp.appendChild(FCLTElement);
Response.ContentType = "text/xml";
if (API.apidata.stylesheet)
{
// Niet super efficient dat we eerst naar tekstuele xml gaan maar ach...
@@ -448,7 +449,6 @@
}
else
{
Response.ContentType = "text/xml";
Response.Write(xmlResp.xml)
}
%>

View File

@@ -62,6 +62,9 @@ __Log("== Entering shorturl.asp ==");
+ " AND prs_bedrijfadres_locksecret IS NOT NULL"
+ " AND prs_bedrijfadres_lockuser_key IS NOT NULL";
var oRs = Oracle.Execute(sql);
if (oRs.EOF)
shared.simpel_page("Fixed user for company '{0}' is not or no longer valid.".format(locked_bdradr_key));
var locksecret = oRs("prs_bedrijfadres_locksecret").Value;
var lockuser_key = oRs("prs_bedrijfadres_lockuser_key").Value;
var lockexpire = oRs("prs_bedrijfadres_lockexpire").Value;

View File

@@ -368,9 +368,9 @@ String.prototype.format = function()
WScript.Echo("Zorg dat je Fiddler open hebt staan");
var G_fclt_url = 'http://uwva.facws001/trunk/';
var G_fclt_url = 'http://uwva.facws001.sg.nl/trunk/';
var G_fclt_url = 'http://uwva.lokalhost/trunk/';
var G_fclt_url = 'http://uwva.facws001/branch20171/';
//var G_fclt_url = 'http://uwva.facws001/branch20171/';
var G_fclt_apikey = 'APIPFO';
var apis = getAPI2JSON("GET", "apis");
@@ -391,6 +391,11 @@ function testOne(api2_name, docparam)
if (data[api2_name].length && data[api2_name] instanceof Array)
{
var model = getAPI2JSON("GET", api2_name + ".api" + (docparam?"?x=1"+docparam:""));
if (!model)
{
WScript.echo("GET van api2_name + ".api + " werkt niet?");
return;
}
url += "/" + data[api2_name][0]["id"];
var data = getAPI2JSON("GET", url + (docparam?"?x=1"+docparam:""));
@@ -404,6 +409,11 @@ function testOne(api2_name, docparam)
{
for (var inc in model.includes)
var data = getAPI2JSON("GET", url + "?include=" + model.includes[inc]);
if (!model)
{
WScript.echo("GET van " + url + "?include=" + model.includes[inc] + " werkt niet?");
return;
}
if (!(model.record_name in data))
{
WScript.echo("Data niet gevonden als include toegevoegd?");
@@ -423,6 +433,8 @@ function getAPI2JSON(method, url, data)
{
return eval ("(" + objXMLHTTP.responseText + ")");
}
else
return null;
}
function FcltAPI2(method, url, data)
@@ -433,6 +445,7 @@ function FcltAPI2(method, url, data)
objXMLHTTP.open(method, url, false);
objXMLHTTP.setRequestHeader ("X-FACILITOR-API-Key", G_fclt_apikey);
objXMLHTTP.setRequestHeader ("Accept", "application/json");
objXMLHTTP.send(data);
if (objXMLHTTP.status >= 200 && objXMLHTTP.status <= 299)
{
@@ -440,5 +453,6 @@ function FcltAPI2(method, url, data)
}
WScript.Echo(objXMLHTTP.responseText);
WScript.Echo(objXMLHTTP.status);
WScript.Echo(objXMLHTTP.statusText);
return null;
}

View File

@@ -101,6 +101,13 @@ api2 = {
case "varchar":
val = getFParam(formfields[i].frm, null);
break;
case "processingtime":
val = {
"duration": getFParamFloat(formfields[i].frm, null),
"unit": getFParam(formfields[i].frm + "_eenheid", "D")
}
break;
default:
{
__DoLog(model.fields[formfields[i].name].typ);
@@ -392,12 +399,12 @@ api2 = {
if (filterval1) {
var safe_val1 = api2.toDate(filterval1);
var withtime = (field.typ == "datetime" && api2.hasTime(safe_val1));
safe_val1 = withtime?safe_val1.toSQL(true):safe_val1.beginToSQL();
safe_val1 = withtime?safe_val1.toSQL(true, true):safe_val1.beginToSQL();
}
if (filterval2) {
var safe_val2 = api2.toDate(filterval2);
var withtime = (field.typ == "datetime" && api2.hasTime(safe_val2));
safe_val2 = withtime?safe_val2.toSQL(true):safe_val2.endToSQL();
safe_val2 = withtime?safe_val2.toSQL(true, true):safe_val2.endToSQL();
}
if (filterval1 && filterval2) {
operand = " BETWEEN ";
@@ -565,6 +572,17 @@ api2 = {
dbs = model.aliasprefix + fld;
selects.push(field.sql + " AS " + dbs);
}
else if (field.typ == "processingtime")
{
var sqltijd = "(SELECT xx." + field.dbs + ".tijdsduur"
+ " FROM " + model.table + " xx"
+ " WHERE xx." + model.primary + " = " + model.table + "." + model.primary + ")";
selects.push(sqltijd + " AS " + fld + "_tijdsduur");
var sqleenh = "(SELECT xx." + field.dbs + ".eenheid"
+ " FROM " + model.table + " xx"
+ " WHERE xx." + model.primary + " = " + model.table + "." + model.primary + ")";
selects.push(sqleenh + " AS " + fld + "_eenheid");
}
else if (dbs)
{
// veldnamen moeten gelijk zijn bij het ophalen. Zie ook: sql2jsonval
@@ -919,6 +937,15 @@ api2 = {
{
var field = model.fields[fld];
var sqlfieldname = (model.aliasprefix ? api2.sqlfield_alias(model, fld) : field.dbs);
if (field.typ == "processingtime")
{
var val = { "duration": oRs(fld + "_tijdsduur").Value,
"unit": oRs(fld + "_eenheid").Value
}
return val;
}
if (field.val instanceof Function)
var val = field.val(oRs, field, model, sqlfieldname);
else if (field.dbs.indexOf(".") < 0)
@@ -1234,7 +1261,10 @@ api2 = {
lastkey = key;
if (!model.primary)
{
data.push(record);
if (to_skip > 0)
to_skip --;
else
data.push(record);
record = {};
total_count ++;
}
@@ -1244,7 +1274,10 @@ api2 = {
if (lastkey && data.length < limit)
{
total_count ++;
data.push(record);
if (to_skip > 0)
to_skip --;
else
data.push(record);
}
if ("merged_model" in model) // de disc_params truc
{
@@ -1349,7 +1382,7 @@ api2 = {
if (dt && dt instanceof Date)
return dt;
}
NOT_A_DATE;
api2.error(400, "Invalid date format");
},
generic_REST: function(model, gparams)
{
@@ -1598,6 +1631,8 @@ function generic_REST_POST(model, gparams)
var err = Oracle.Execute(xxxIns.sql, true);
if (err.friendlyMsg)
api2.error(400, err.friendlyMsg); // Veronderstel Bad Request
if (model.trackcode && user_key > 0) // Bij SAML user-provisioning is er nog niet niemand ingelogd.
shared.trackaction(model.trackcode, the_key, L("lcl_inserted0").format(model.record_title));
var inctrack = api2.process_includes(params, model, jsondata, the_key);

View File

@@ -98,7 +98,7 @@ var api2_mapper = {
// "orders" : { "filename": "appl/api2/api_orders.asp", "module": "MLD" },
"orders" : { "filename": "appl/bgt/mld_opdr.asp", "module": "MLD" },
"issues" : { "filename": "appl/api2/api_issues.asp", "module": "MLD" },
"issuetypes" : { "filename": "appl/api2/api_issuetypes.asp", "module": "MLD" },
"issuetypes" : { "filename": "appl/mgt/mld_stdmelding.asp", "module": "MLD" },
"pinboardcategories" : { "filename": "appl/mgt/mrk_discipline.asp" },
"services" : { "filename": "appl/mgt/prs_dienst.asp" },
"basisproperties" : { "filename": "appl/mgt/prs_kenmerk.asp", "docparam": "&level=P" },
@@ -136,7 +136,7 @@ var api2_mapper = {
"doc" : { "filename": "appl/api2/api_doc.asp", "module": "API" },
"apis" : { "filename": "appl/api2/api_apis.asp", "module": "API" },
"about" : { "filename": "appl/api2/api_about.asp", "module": "API" },
"cadcontours" : { "filename": "appl/api2/api_cadcontours.asp", "module": "CAD" },
"cadcontours" : { "filename": "appl/api2/api_cadcontours.asp", "module": "CAD", "nodoc": true },
"contracts" : { "filename": "appl/api2/api_contracts.asp", "module": "CNT" },
"notes" : { "filename": "appl/api2/api_notes.asp", "module": "FAC", "docparam": "&module=MLD" },
"approvals" : { "filename": "appl/api2/api_approvals.asp", "module": "FAC" },

View File

@@ -155,6 +155,18 @@ api2_rest = {
Response.Status = "405 Method not allowed";
Response.End;
}
// JGL: Met zeer grote tegenzin behoorlijk UWVA specifiek
if (Session("isWriteonlyApi2User"))
{
if (method == "PUT" || (method == "GET" && getQParam("api2") == "reports"))
{
// Dat is toegestaan
}
else
{
Response.Status = api2.error(400, "Method not supported for this user");
}
}
var key = getQParamInt("id", -1); // Voor POST/PUT/DELETE
@@ -387,7 +399,7 @@ api2_rest = {
}
else if (model.record_name in jsondata) // een enkel record
{
if (!(key > 0))
if (method == "PUT" && !(key > 0))
api2.error(400, "Missing id");
if (jsondata[model.record_name] instanceof Array)
api2.error(400, "{0} should be single record only.".format(method))
@@ -421,9 +433,9 @@ api2_rest = {
case "POST":
{
var key = result.key;
if (key > 0)
if (key > 0 && !Session("isWriteonlyApi2User"))
{
var params = { filter: shared.qs2json(model), include: getQParamArray("include", []) }, jsondata, key
// var params = { filter: shared.qs2json(model), include: getQParamArray("include", []) }, jsondata, key
// requestparams.include is mogelijk uitgebreid met wat er in de body stond
data = model.REST_GET({ filter: { id: key }, include: requestparams.include }); // resulterende data weer terug
__Log(data);
@@ -932,7 +944,7 @@ function RequestJSON()
var lngBytesCount = Request.TotalBytes;
jvraag = BytesToStr(Request.BinaryRead(lngBytesCount));
}
__Log("Vraag: " + jvraag);
__Log("Request body: " + jvraag);
try
{
var vraag = myJSON.parse(jvraag);

View File

@@ -151,11 +151,18 @@ model_bes_disc_params =
"label": L("bes_discipline_remoteconfirm"),
"typ": "check0"
},
"freeartikel": {
"dbs": "bes_disc_params_freeartikel",
"label": L("bes_discipline_freeartikel"),
"ordermode": {
"dbs": "bes_disc_params_bestelmode",
"label": L("bes_discipline_bestelmode"),
"typ": "number",
"LOV": L("bes_discipline_freeartikelLOV"),
"LOV": L("bes_discipline_bestelmodeLOV"),
"emptyoption": null
},
"photomode": {
"dbs": "bes_disc_params_fotomode",
"label": L("bes_discipline_fotomode"),
"typ": "number",
"LOV": L("bes_discipline_fotomodeLOV"),
"emptyoption": null
},
"punchouturl": {
@@ -274,10 +281,22 @@ model_bes_disc_params =
"desc": "cnt_termijn_omschrijving"
}
},
"for_others": {
"forothers": {
"dbs": "bes_disc_params_for_others",
"label": L("bes_discipline_for_others"),
"typ": "check0"
},
"objectmode": {
"dbs": "bes_disc_params_ins_mode",
"label": L("lcl_ins_mode"),
"typ": "number",
"LOV": L("bes_discipline_ins_modeLOV"),
"emptyoption": null
},
"feconfirm": {
"dbs": "bes_disc_params_fe_confirm",
"label": L("bes_discipline_fe_confirm"),
"typ": "check0"
}
}
}

View File

@@ -90,7 +90,7 @@ function model_bez_kenmerk(params)
},
"system": {
"dbs": "bez_kenmerk_systeem",
"label": L("mgt_kenmerk_systeem"),
"label": L("mgt_srtkenmerk_systeem_adv"),
"typ": "number",
"LOV": L("mgt_kenmerk_systeemLOV"),
"defaultvalue": 0,

View File

@@ -91,14 +91,30 @@ function model_bgt_budget()
"iscurrency": true,
"total": true
},
"vatoriginal": {
"dbs": "bgt_budget_btwbedrag_origineel",
"sql": "(BGT.getBudgetOpDatum(bgt_budget.bgt_budget_key, 1, NULL))",
"label": L("bgt_budget_origineel")+" "+L("lcl_fin_btwtabelwaarde_oms"),
"typ": "float",
"iscurrency": true,
"total": true
},
"amountmutation": {
"dbs": "bgt_budget_bedrag_mutatie",
"sql": "(BGT.getBudgetMutaties(bgt_budget.bgt_budget_key, 0, NULL, NULL))",
"sql": "(BGT.getBudgetSoortMutatie(NULL, NULL, bgt_budget.prs_kostensoort_key, 0, 'EM', NULL))",
"label": L("bgt_budget_mutaties"),
"typ": "float",
"iscurrency": true,
"total": true
},
"amountreservation": {
"dbs": "bgt_budget_bedrag_reserve",
"sql": "(BGT.getBudgetSoortMutatie(NULL, NULL, bgt_budget.prs_kostensoort_key, 0, 'AR', NULL))",
"label": L("bgt_budget_vnreserve"),
"typ": "float",
"iscurrency": true,
"total": true
},
"amount": {
"dbs": "bgt_budget_bedrag",
"label": L("bgt_budget_bedrag"),
@@ -137,8 +153,7 @@ function model_bgt_budget()
"dbs": "prs_kostenplaats_key",
"label": L("bgt_budget_account"),
"typ": "key",
"foreign": bgt_account_foreign(),
"emptyoption": null
"foreign": bgt_account_foreign()
},
"begin": {
"dbs": "bgt_budget_begin",
@@ -230,10 +245,73 @@ function model_bgt_budget()
{ // Zoek bij wijzigen van kostenplaats de kostenplaatsgrp_key op
}
this.hook_pre_delete = function(params, key)
{
var key_arr = getFParamIntArray("id");
this.REST_GET = generic_REST_GET(this);
this.REST_POST = generic_REST_POST(this);
this.REST_PUT = generic_REST_PUT(this);
this.REST_DELETE = generic_REST_DELETE(this);
var sql_c = "SELECT COUNT(*) aantal"
+ " FROM mld_opdr"
+ " WHERE prs_kostensoort_key IN"
+ " (SELECT prs_kostensoort_key"
+ " FROM bgt_budget"
+ " WHERE bgt_budget_key IN (" + key_arr.join(",") + ")"
+ " )";
var oRs_c = Oracle.Execute(sql_c);
var nr_mld_opdr = oRs_c("aantal").Value;
oRs_c.Close();
if (nr_mld_opdr > 0)
{
// abort_with_warning(L("bgt_budget_delete_val1").format(L("lcl_fin_contracten"))); // De geselecteerde budgetten hebben contracten. Verwijder deze eerst.
abort_with_warning("De geselecteerde budgetten hebben contracten. Verwijder deze eerst.");
}
var sql_m = "SELECT COUNT(*) aantal"
+ " FROM bgt_budgetmutatie"
+ " WHERE bgt_budget_key_naar IN (" + key_arr.join(",") + ")"
+ " OR bgt_budget_key_van IN (" + key_arr.join(",") + ")";
var oRs_m = Oracle.Execute(sql_m);
var nr_mutatie = oRs_m("aantal").Value;
oRs_m.Close();
if (nr_mutatie > 0)
{
// abort_with_warning(L("bgt_budget_delete_val1").format(L("bgt_budget_mutaties"))); // De geselecteerde budgetten hebben mutaties. Verwijder deze eerst.
abort_with_warning("De geselecteerde budgetten hebben mutaties. Verwijder deze eerst.");
}
// Er zijn geen contracten of budgetmutaties bij de geselecteerde budget(ten) bekend.
// Verwijderen is geen probleem meer.
}
var v_budgetdiscipline = getQParamInt("budgetdiscipline", -1);
if (v_budgetdiscipline == -1)
{
gparams = {
GET: {wheres: [
"bgt_budget.ins_discipline_key IN"
+ " (SELECT w.ins_discipline_key"
+ " FROM fac_v_webgebruiker w"
+ " , ins_tab_discipline d"
+ " WHERE w.ins_discipline_key = d.ins_discipline_key"
+ " AND w.prs_perslid_key = " + user_key
+ " AND (w.fac_gebruiker_prs_level_read<9 OR w.fac_gebruiker_alg_level_read<9)"
+ " AND d.ins_discipline_module = 'BGT'"
+ " AND d.ins_discipline_verwijder IS NULL"
+ " )"
]
}
}
this.REST_GET = generic_REST_GET(this, gparams);
}
else
{
this.REST_GET = generic_REST_GET(this);
}
this.REST_PUT = generic_REST_PUT(this);
var autparams = user.checkAutorisation(this.autfunction);
var canWrite = (autparams.PRSwritelevel < 9 && autparams.ALGwritelevel < 9);
if (canWrite)
{
this.REST_POST = generic_REST_POST(this);
this.REST_DELETE = generic_REST_DELETE(this);
}
}
%>

View File

@@ -11,6 +11,7 @@
Notes:
*/
%>
<!-- #include file="../bgt/bgt_tools.inc" -->
<%
function model_bgt_budgetmutatie()
@@ -47,11 +48,14 @@ function model_bgt_budgetmutatie()
+ " AND b.prs_kostensoortgrp_key = g.prs_kostensoortgrp_key(+)"
+ " AND b.prs_kostensoort_key = s.prs_kostensoort_key(+)"
+ " AND s.fin_btwtabelwaarde_key = f.fin_btwtabelwaarde_key(+)"
+ " AND b.bgt_project_key = "
+ "(SELECT p.bgt_project_key"
+ " FROM bgt_budget p"
+ " WHERE bgt_budget_key = " + p_budget_key
+ ")";
+ ( p_budget_key > -1
? " AND b.bgt_project_key = "
+ "(SELECT p.bgt_project_key"
+ " FROM bgt_budget p"
+ " WHERE bgt_budget_key = " + p_budget_key
+ ")"
: ""
);
this.fields = {
"id": {
@@ -76,6 +80,24 @@ function model_bgt_budgetmutatie()
"typ": "varchar",
"required": true
},
"code": {
"dbs": "bgt_budgetmutatie_code",
"label": L("bgt_budgetmutatie_code"),
"typ": "varchar",
"LOV": budgetmutatie_code_LOV(),
"emptyoption": null
},
"sequence": {
"dbs": "bgt_budgetmutatie_volgnr",
"label": L("bgt_budgetmutatie_volgnr"),
"typ": "number"
},
"ident": {
"dbs": "bgt_budgetmutatie_identity",
"sql": "COALESCE(bgt_budgetmutatie_code || TO_CHAR(bgt_budgetmutatie_volgnr), TO_CHAR(bgt_budgetmutatie_key))",
"label": "Volgnr",
"typ": "varchar"
},
"adjustedby": {
"dbs": "prs_perslid_key",
"label": L("bgt_budgetmutatie_door"),
@@ -134,7 +156,7 @@ function model_bgt_budgetmutatie()
},
"amounttoincl": {
"dbs": "bgt_budget_bedrag_naar_incl",
"sql": "bgt_budget_bedrag_naar + bgt_budget_btwbedrag_naar",
"sql": "COALESCE(bgt_budget_bedrag_naar, 0) + COALESCE(bgt_budget_btwbedrag_naar, 0)",
"label": L("lcl_fin_total_sum"),
"typ": "float",
"readonly": true,
@@ -142,14 +164,68 @@ function model_bgt_budgetmutatie()
"iscurrency": true,
"defaultvalue": "0"
},
"amountdifference": {
"dbs": "bgt_budget_bedrag_verschil",
"sql": "COALESCE(bgt_budget_bedrag_van, 0) + COALESCE(bgt_budget_bedrag_naar, 0)",
"label": L("bgt_budgetmutatie"),
"amountexc": {
"dbs": "bgt_budget_bedrag_naar_exc",
"sql": "CASE WHEN bgt_budget_key_naar IS NULL THEN bgt_budget_bedrag_van ELSE bgt_budget_bedrag_naar END",
"label": L("bgt_budgetmutatie_bedrag"),
"typ": "float",
"iscurrency": true,
"total": true
},
"amountvat": {
"dbs": "bgt_budget_bedrag_naar_btw",
"sql": "CASE WHEN bgt_budget_key_naar IS NULL THEN bgt_budget_btwbedrag_van ELSE bgt_budget_btwbedrag_naar END",
"label": L("bgt_budgetmutatie_btwbedrag"),
"typ": "float",
"iscurrency": true,
"total": true
},
"mutbudgetexc": {
"dbs": "bgt_budget_mutatie_exc",
"sql": "BGT.getMutatieOpBudget("+p_budget_key+", bgt_budgetmutatie_key, 0)",
"label": L("bgt_budgetmutatie_bedrag"),
"typ": "float",
"readonly": true,
"iscurrency": true,
"total": true
},
"mutbudgetvat": {
"dbs": "bgt_budget_mutatie_btw",
"sql": "BGT.getMutatieOpBudget("+p_budget_key+", bgt_budgetmutatie_key, 1)",
"label": L("bgt_budgetmutatie_btwbedrag"),
"typ": "float",
"readonly": true,
"iscurrency": true,
"total": true
},
"amountdifference": {
"dbs": "bgt_budget_bedrag_verschil",
"sql": "BGT.getSoortMutatie(bgt_budgetmutatie_key)",
"label": L("bgt_budgetmutatie"),
"typ": "float",
"readonly": true,
"iscurrency": true
},
"budgetdiscipline": {
"dbs": "bgt_budget.ins_discipline_key",
"label": L("bgt_discipline_omschrijving"),
"typ": "key",
"foreign": bgt_budgetdiscipline_foreign(),
"hidden_fld": true
},
"budgetproject": {
"dbs": "bgt_budget.bgt_project_key",
"label": L("bgt_project_omschrijving"),
"typ": "key",
"foreign": bgt_budgetproject_foreign(),
"hidden_fld": true
},
"budgetcostcategory": {
"dbs": "bgt_budget.bgt_kostenrubriek_key",
"label": L("bgt_kostenrubriek_oms"),
"typ": "key",
"foreign": bgt_budgetcostcategory_foreign(),
"hidden_fld": true
}
};
@@ -160,14 +236,27 @@ function model_bgt_budgetmutatie()
this.list = {
"columns": [
"mutationdate",
"ident",
"name",
"budgetfrom",
"budgetto",
"amountto",
"vatto",
"amountexc",
"amountvat",
"amountdifference"
]
};
function budgetmutatie_code_LOV()
{
var mutatie_code = ";;"
+ "A;A - automatische overboeking;"
+ "E;E - extra;"
+ "M;M - mutatie;"
+ "R;R - reserve";
return mutatie_code;
}
this.hook_pre_edit = function (obj, fld)
{
@@ -223,6 +312,22 @@ function model_bgt_budgetmutatie()
jsondata.vatfrom = -1 * jsondata.vatto;
}
this.hook_post_post = function (params, jsondata, key)
{
// Haal de budget-keys voor correctie uit het mutatierecord.
var sql = "SELECT bgt_budget_key_van"
+ " , bgt_budget_key_naar"
+ " FROM bgt_budgetmutatie"
+ " WHERE bgt_budgetmutatie_key = " + key;
var oRs = Oracle.Execute(sql);
if (!oRs.eof)
{
mutatie_correctie(oRs("bgt_budget_key_van").Value);
mutatie_correctie(oRs("bgt_budget_key_naar").Value);
}
oRs.Close();
}
this.hook_pre_put = function (params, jsondata, key)
{
if ((!jsondata.amountto || jsondata.amountto == 0) && (!jsondata.vatto || jsondata.vatto == 0))
@@ -231,26 +336,215 @@ function model_bgt_budgetmutatie()
jsondata.vatfrom = -1 * jsondata.vatto;
}
this.hook_post_put = function(params, jsondata, key)
{
// Haal de budget-keys voor correctie uit het mutatierecord.
var sql = "SELECT bgt_budget_key_van"
+ " , bgt_budget_key_naar"
+ " FROM bgt_budgetmutatie"
+ " WHERE bgt_budgetmutatie_key = " + key;
var oRs = Oracle.Execute(sql);
if (!oRs.eof)
{
mutatie_correctie(oRs("bgt_budget_key_van").Value);
mutatie_correctie(oRs("bgt_budget_key_naar").Value);
}
oRs.Close();
}
function contract_waarde(p_budget_key)
{
var v_contract = { bedrag_exc: 0
, bedrag_btw: 0
};
var sql = "SELECT SUM(COALESCE(o.mld_opdr_kosten, 0)) contract_exc"
+ " , SUM(COALESCE(o.mld_opdr_kosten_btw, 0)) contract_btw"
+ " FROM bgt_budget b"
+ " , mld_opdr o"
+ " WHERE b.prs_kostensoort_key = o.prs_kostensoort_key(+)"
+ " AND b.bgt_budget_key = " + p_budget_key;
var oRs = Oracle.Execute(sql);
if (!oRs.eof)
{
v_contract.bedrag_exc = oRs("contract_exc").Value;
v_contract.bedrag_btw = oRs("contract_btw").Value;
}
oRs.Close();
return v_contract;
}
function budget_waarde(p_budget_key)
{
var v_budget = { bedrag_exc: 0
, bedrag_btw: 0
, isreserve: 1
, reserve_key: -1
};
var sql = "SELECT b.bgt_budget_isreserve"
+ " , COALESCE(b.bgt_budget_bedrag, 0) bgt_budget_exc"
+ " , COALESCE(b.bgt_budget_btwbedrag, 0) bgt_budget_btw"
+ " , r.bgt_budget_key"
+ " FROM bgt_budget r"
+ " , bgt_budget b"
+ " WHERE r.bgt_project_key = b.bgt_project_key"
+ " AND r.prs_kostensoort_key IS NULL"
+ " AND r.prs_kostensoortgrp_key IS NULL"
+ " AND b.bgt_budget_key = " + p_budget_key;
var oRs = Oracle.Execute(sql);
if (!oRs.eof)
{
v_budget.bedrag_exc = oRs("bgt_budget_exc").Value;
v_budget.bedrag_btw = oRs("bgt_budget_btw").Value;
v_budget.isreserve = oRs("bgt_budget_isreserve").Value == 1;
v_budget.reserve_key = oRs("bgt_budget_key").Value;
}
oRs.Close();
return v_budget;
}
function mutatie_waarde(p_budget_key, p_reserve)
{
var van_reserve = { bedrag_exc: 0
, bedrag_btw: 0
};
switch (p_reserve)
{
case "A": sql_res = " AND m.bgt_budgetmutatie_reserve = 1"; break; // alleen automatische overboekingen
case "M": sql_res = " AND m.bgt_budgetmutatie_reserve = 0"; break; // alleen mutaties
case "T": sql_res = ""; break; // totaal alle mutaties
default: "";
}
var sql = "SELECT SUM(COALESCE(bedrag_exc, 0)) bedrag_exc"
+ " , SUM(COALESCE(bedrag_btw, 0)) bedrag_btw"
+ " FROM (SELECT SUM(COALESCE(m.bgt_budget_bedrag_van, 0)) bedrag_exc"
+ " , SUM(COALESCE(m.bgt_budget_btwbedrag_van, 0)) bedrag_btw"
+ " FROM bgt_budgetmutatie m"
+ " WHERE bgt_budget_key_van = " + p_budget_key
+ sql_res
+ " UNION"
+ " SELECT SUM(COALESCE(m.bgt_budget_bedrag_naar, 0)) bedrag_exc"
+ " , SUM(COALESCE(m.bgt_budget_btwbedrag_naar, 0)) bedrag_btw"
+ " FROM bgt_budgetmutatie m"
+ " WHERE bgt_budget_key_naar = " + p_budget_key
+ sql_res
+ ")";
var oRs = Oracle.Execute(sql);
if (!oRs.eof)
{
van_reserve.bedrag_exc = oRs("bedrag_exc").Value;
van_reserve.bedrag_btw = oRs("bedrag_btw").Value;
}
oRs.Close();
return van_reserve;
}
function mutatie_correctie(p_budget_key)
{
function een_correctie(p_budget_key, p_budget_bedrag, p_uitreserve_bedrag, p_contract_bedrag)
{
// Als een deel van het budgetbedrag uit automatische overboeking bestaat kan het budgetbedrag nooit groter zijn dan het contractbedrag.
var te_contracteren = p_budget_bedrag - p_contract_bedrag;
var naar_reserve = ( (te_contracteren > p_uitreserve_bedrag) ? p_uitreserve_bedrag : te_contracteren);
return naar_reserve;
}
var v_budget = budget_waarde(p_budget_key);
var v_uitreserve = mutatie_waarde(p_budget_key, "A");
var v_contracten = contract_waarde(p_budget_key);
if (!v_budget.isreserve)
{ // Correctie is alleen voor budgetten op kostensoort, niet het reserve.
var v_correctie_bedrag_exc = een_correctie(p_budget_key, v_budget.bedrag_exc, v_uitreserve.bedrag_exc, v_contracten.bedrag_exc);
var v_correctie_bedrag_btw = een_correctie(p_budget_key, v_budget.bedrag_btw, v_uitreserve.bedrag_btw, v_contracten.bedrag_btw);
var data_correctie = { budget_res_key: v_budget.reserve_key
, budget_srt_key: p_budget_key
, bedrag_exc: v_correctie_bedrag_exc
, bedrag_btw: v_correctie_bedrag_btw
};
insertMutatie(data_correctie, "AO");
}
}
function insertMutatie(data_mutatie, mutatie_code)
{
if (data_mutatie.bedrag_exc != 0 || data_mutatie.bedrag_btw != 0)
{
var sql = "SELECT prs_kostensoort_altcode"
+ " FROM prs_kostensoort"
+ " WHERE prs_kostensoort_key = "
+ " (SELECT MIN(prs_kostensoort_key)"
+ " FROM bgt_budget"
+ " WHERE bgt_budget_key = " + data_mutatie.budget_srt_key
+ " )";
var oRs = Oracle.Execute(sql);
var v_costtype_code = oRs("prs_kostensoort_altcode").Value;
oRs.Close();
var mutatie_omschr = "";
switch (mutatie_code)
{
case "AO": mutatie_omschr = "AO Automatische overboeking correctie"; break;
case "MW": mutatie_omschr = "MW Meer-, minderwerk van " + v_costtype_code; break;
}
var sql_m = "INSERT INTO bgt_budgetmutatie"
+ "( bgt_budgetmutatie_datum"
+ ", bgt_budgetmutatie_omschrijving"
+ ", prs_perslid_key" // not null!
+ ", bgt_budget_key_van"
+ ", bgt_budget_bedrag_van"
+ ", bgt_budget_btwbedrag_van"
+ ", bgt_budget_key_naar"
+ ", bgt_budget_bedrag_naar"
+ ", bgt_budget_btwbedrag_naar"
+ ", bgt_budgetmutatie_reserve"
+ ") VALUES"
+ "( SYSDATE"
+ ", " + safe.quoted_sql(mutatie_omschr)
+ ", " + user_key
+ ", " + data_mutatie.budget_res_key
+ ", " + data_mutatie.bedrag_exc
+ ", " + data_mutatie.bedrag_btw
+ ", " + data_mutatie.budget_srt_key
+ ", " + (-1 * data_mutatie.bedrag_exc)
+ ", " + (-1 * data_mutatie.bedrag_btw)
+ ", 1"
+ ")";
Oracle.Execute(sql_m);
}
}
var budget_key = getQParamInt("budgetcommon", -1);
var mutatie_key = getQParamInt("id", -1);
var gparams = {
GET: {
tables: ["bgt_budget"],
wheres: ["(bgt_budget.bgt_budget_key = bgt_budgetmutatie.bgt_budget_key_van OR bgt_budget.bgt_budget_key = bgt_budgetmutatie.bgt_budget_key_naar)"]
}
};
if (budget_key > -1)
{
var v_where = ( mutatie_key > -1
? "bgt_budgetmutatie_key = {0}".format(mutatie_key)
: "bgt_budget_key_van = {0} or bgt_budget_key_naar = {0}".format(budget_key)
: "(bgt_budget.bgt_budget_key = {0})".format(budget_key)
);
this.REST_GET = generic_REST_GET(this, {
"GET": {
"wheres": [v_where]
}
});
gparams.GET.wheres.push(v_where);
}
else
var autparams = user.checkAutorisation(this.autfunction);
var canWrite = (autparams.PRSwritelevel < 9 && autparams.ALGwritelevel < 9);
this.REST_GET = generic_REST_GET(this, gparams);
if (p_budget_key > -1 || canWrite)
this.REST_POST = generic_REST_POST(this);
if (canWrite)
{
this.REST_GET = generic_REST_GET(this);
this.REST_PUT = generic_REST_PUT(this);
this.REST_DELETE = generic_REST_DELETE(this);
}
this.REST_POST = generic_REST_POST(this);
this.REST_PUT = generic_REST_PUT(this);
this.REST_DELETE = generic_REST_DELETE(this);
}
%>

View File

@@ -11,54 +11,22 @@
Notes:
*/
%>
<!-- #include file="../ALG/alg.inc" -->
<%
model_cadcontours =
function model_cadcontours()
{
table: "cad_imp_contour",
primary: "cad_imp_contour_key",
aliasprefix: "CAD.",
records_name: "cadcontours",
record_name: "cadcontour",
fields: {"id" : { dbs: "cad_imp_contour_key", typ: "key", filter: "exact" },
"name" : { dbs: "cad_imp_contour_nr", typ: "varchar", filter: "like" },
"cadarea" : { dbs: "cad_imp_contour_opp", typ: "float" },
"cadalt1" : { dbs: "cad_imp_contour_opp_alt1", typ: "float" },
"cadalt2" : { dbs: "cad_imp_contour.cad_imp_contour_opp_alt2", typ: "float" },
"concept" : { dbs: "cad_imp_contour_concept", typ: "number" }
},
this.table = "cad_imp_contour",
this.primary = "cad_imp_contour_key";
this.records_name = "cadcontours";
this.record_name = "cadcontour";
this.fields = {"id" : { dbs: "cad_imp_contour_key", typ: "key", filter: "exact" },
"name" : { dbs: "cad_imp_contour_nr", typ: "varchar", filter: "like" },
"cadarea" : { dbs: "cad_imp_contour_opp", typ: "float" },
"cadalt1" : { dbs: "cad_imp_contour_opp_alt1", typ: "float" },
"cadalt2" : { dbs: "cad_imp_contour.cad_imp_contour_opp_alt2", typ: "float" },
"concept" : { dbs: "cad_imp_contour_concept", typ: "number" }
};
_check_authorization: function(params, method)
{
},
_analyze_fields: function (fields, params, jsondata) /* analyseer inkomende data, common voor PUT en POST */
{
},
REST_GET: function _GET(params, jsondata)
{
model_cadcontours._check_authorization(params, "GET");
var query = api2.sqlfields(params, model_cadcontours);
var wheres = api2.sqlfilter(params, model_cadcontours);
query.wheres = query.wheres.concat(wheres);
var sql = "SELECT " + query.selects.join(", ")
+ " FROM " + query.tables.join(", ")
+ (query.wheres.length ? " WHERE " + query.wheres.join(" AND " ) : "")
var json = api2.sql2json (params, sql, model_cadcontours);
return json;
},
REST_PUT: function (params, jsondata, the_key) /* update cad contour */
{
},
REST_POST: function (params, jsondata) /* new cad contour */
{
},
REST_DELETE: function (params, the_key) /* delete cad contour */
{
}
// (nog) geen eigen GET en dergelijke, alleen via include van model_rooms
}
%>

View File

@@ -2,7 +2,7 @@
$Revision$
$Id$
File: model_bes_disc_params.inc
File: model_cnt_disc_params.inc
Description: Vanuit CodeCharge gegenereerd model voor cnt_discipline

View File

@@ -154,10 +154,16 @@ function model_custom_fields(formodel, flexModel, flexParams)
Response.Status = "304 Not modified";
Response.End;
}
StreamFile(params.AttachPath, att.name, "application/octet-stream");
var extension = att.name.split('.').pop();
var mime = S("flex_mimetypes")[extension]; // Sommige mimetypes zijn bekend
// Content-Type: image/jpeg; Charset=utf-8
// Eigenlijk moet de Charset er alleen bij text/.... bij maar ik krijg die er niet netjes af
// IE, FF en Chrome doen er in ieder geval niet moeilijk over
//if (mime)
// Response.Charset = ''; /
StreamFile(params.AttachPath, att.name, mime || "application/octet-stream");
}
}
}
}
__Log(filter);
@@ -170,9 +176,10 @@ function model_custom_fields(formodel, flexModel, flexParams)
// Merk op dat flexProps ook wel het type oplevert. Ik wil echter migreren naar modellen
var kenmerkdata = api2.GET(flexModel, jsondata.propertyid);
// Als je op de volgende regel een 'Object expected' krijgt is er
// gesubmit met een kenmerk_key welke niet bestaat
// Ik weet nog niet of daar een 'Unautorized', 'Bad request' of 'Stil negeren' van toepassing is
// Vooralsnog maar even ongewijzigd er hard uitklappen
if ("attributetype" in kenmerkdata)
{
var typ = kenmerkdata.attributetype.id;

View File

@@ -30,10 +30,16 @@ function model_doc()
this.modules = { };
for (var i = 0; i < apis.length; i++)
{
if (apis[i].nodoc)
continue;
var modulecode = apis[i].modulecode || "XXX";
if (!(modulecode in this.modules))
this.modules[modulecode] = { name: apis[i].module, apis: { } };
this.modules[modulecode].apis[ apis[i].id ] = { label: apis[i].name };
var apidata = { label: apis[i].name };
if (apis[i].docparam )
apidata.docparam = apis[i].docparam;
this.modules[modulecode].apis[ apis[i].id ] = apidata;
}
this.REST_GET = generic_REST_GET(this, {});

View File

@@ -21,7 +21,7 @@
<xsl:sort select="local-name()" />
<xsl:element name="li">
&#xA0;<xsl:element name="a">
<xsl:attribute name="href">../api2/<xsl:value-of select="local-name()"/>.doc</xsl:attribute>
<xsl:attribute name="href">../api2/<xsl:value-of select="local-name()"/>.doc<xsl:if test="docparam!=''">?x=x<xsl:value-of select="docparam"/></xsl:if></xsl:attribute>
<xsl:value-of select="local-name()"/>
</xsl:element>
&#xA0;<span class='apidesc'><xsl:value-of select="label"/></span>

View File

@@ -52,6 +52,7 @@ function model_fac_usrdata(params)
"description": {
"dbs": "fac_usrdata_omschr",
"label": L("fac_usrdata_omschr"),
"required": true,
"typ": "varchar",
"translate": true
},

View File

@@ -100,6 +100,12 @@ function model_fin_factuur()
"foreign": bgt_account_foreign(),
"readonly": true
},
"_staticinvoice": {
"dbs": "",
"label": L("bgt_factuurnr_vast"),
"typ": "varchar",
"foreign": bgt_invoice_foreign()
},
"invoice": {
"dbs": "fin_factuur_nr",
"label": L("lcl_fin_invoice_number"),
@@ -116,7 +122,8 @@ function model_fin_factuur()
"label": L("lcl_fin_findate"),
"typ": "date",
"required": true,
"defaultvalue": new Date()
"defaultvalue": new Date(),
"filter": "exact"
},
"advice": {
"dbs": "fin_factuur_advies",
@@ -215,35 +222,50 @@ function model_fin_factuur()
</script>
<%
var vast_facnr = isVastFactuurnummer(obj.invoice);
if (!obj.id && obj.invoice)
{
// Bij klonen: id=(bestaat niet), invoice=niet leeg. Dan een (volgende) volgnummer erachter zetten.
var invoice = obj.invoice;
var cur_inv = (invoice.indexOf("/") > -1 ? invoice.substring(0,invoice.indexOf("/")-1) : invoice);
var cur_seq = (invoice.indexOf("/") > -1 ? invoice.substring(invoice.indexOf("/")+1) : 0);
cur_seq = parseInt(cur_seq ? cur_seq : 0);
if (!vast_facnr)
{
// Bij klonen: id=(bestaat niet), invoice=niet leeg. Dan een (volgende) volgnummer erachter zetten.
var cur_inv = (invoice.indexOf("/") > -1 ? invoice.substring(0,invoice.indexOf("/")) : invoice);
var cur_seq = (invoice.indexOf("/") > -1 ? invoice.substring(invoice.indexOf("/")+1) : 0);
cur_seq = parseInt(cur_seq ? cur_seq : 0);
var sql = "SELECT MAX(CASE WHEN INSTR(f.fin_factuur_nr, '/') > 0"
+ " THEN TO_NUMBER(SUBSTR(f.fin_factuur_nr, INSTR(f.fin_factuur_nr, '/')+1))"
+ " ELSE 0"
+ " END) max_seq"
+ " FROM bgt_kostenrubriek r"
+ " , prs_kostensoortgrp g"
+ " , prs_kostensoort s"
+ " , mld_opdr o"
+ " , fin_factuur f"
+ " WHERE r.bgt_kostenrubriek_key = g.bgt_kostenrubriek_key"
+ " AND g.prs_kostensoortgrp_key = s.prs_kostensoortgrp_key"
+ " AND s.prs_kostensoort_key = o.prs_kostensoort_key"
+ " AND o.mld_opdr_key = f.mld_opdr_key"
+ " AND r.bgt_project_key = " + obj.budgetproject.id
+ " AND f.fin_factuur_nr LIKE " + safe.quoted_sql(cur_inv + "%");
var oRs = Oracle.Execute(sql);
cur_seq = oRs("max_seq").Value;
oRs.Close();
var sql = "SELECT MAX(CASE WHEN INSTR(f.fin_factuur_nr, '/') > 0"
+ " THEN TO_NUMBER(SUBSTR(f.fin_factuur_nr, INSTR(f.fin_factuur_nr, '/')+1))"
+ " ELSE 0"
+ " END) max_seq"
+ " FROM bgt_kostenrubriek r"
+ " , prs_kostensoortgrp g"
+ " , prs_kostensoort s"
+ " , mld_opdr o"
+ " , fin_factuur f"
+ " WHERE r.bgt_kostenrubriek_key = g.bgt_kostenrubriek_key"
+ " AND g.prs_kostensoortgrp_key = s.prs_kostensoortgrp_key"
+ " AND s.prs_kostensoort_key = o.prs_kostensoort_key"
+ " AND o.mld_opdr_key = f.mld_opdr_key"
+ " AND r.bgt_project_key = " + obj.budgetproject.id
+ " AND f.fin_factuur_nr LIKE " + safe.quoted_sql(cur_inv + "%");
var oRs = Oracle.Execute(sql);
cur_seq = oRs("max_seq").Value;
oRs.Close();
var new_inv = cur_inv + "/" + (cur_seq + 1);
obj.invoice = new_inv;
var new_inv = cur_inv + "/" + (cur_seq==0 ? 2 : cur_seq + 1);
obj.invoice = new_inv;
}
else
{
// Bij klonen van een factuur met een vast factuurnr blijft deze ongewijzigd.
obj.invoice = invoice;
}
var v_company = obj.company.id;
%>
<script type="text/javascript">
<% if (v_company) { %> var company = "<%=v_company%>"; <% } %>
</script>
<%
}
else
{
@@ -306,7 +328,33 @@ function model_fin_factuur()
// Gebruik daarvoor die van mld_opdr.
setKostensoort(obj);
// Is het factuurnummer/volgnummer uniek binnen het project?
checkUniekFactuurnummer(-1, obj.budgetproject, obj.invoice);
var v_discipline_key = (typeof obj.budgetdiscipline == "object" ? obj.budgetdiscipline.id : obj.budgetdiscipline);
checkUniekFactuurnummer(-1, v_discipline_key, obj.invoice);
// Bij een kopiefactuur van een origineel (factuurnummer zonder volgnummer)
// moet het originele factuurnummer de toevoeging "/1" krijgen.
// De vaste factuurnummers echter niet.
var vast_factnr = isVastFactuurnummer(obj.invoice);
var is_clone = (getQParamInt("scf_clone", 0) == 1);
if (is_clone && !vast_factnr)
{
// Haal het originele factuurnummer op.
var org_fin_key = getQParamInt("id");
var sql = "SELECT fin_factuur_nr"
+ " FROM fin_factuur"
+ " WHERE fin_factuur_key = " + org_fin_key;
var oRs = Oracle.Execute(sql);
var fact_nr_org = oRs("fin_factuur_nr").Value;
oRs.Close();
if (fact_nr_org.indexOf("/") == -1)
{
// Het originele factuurnummer heeft nog geen volgnummer.
// Deze dus alsnog toevoegen.
var sql = "UPDATE fin_factuur"
+ " SET fin_factuur_nr = " + safe.quoted_sql(fact_nr_org + "/1")
+ " WHERE fin_factuur_key = " + org_fin_key;
Oracle.Execute(sql);
}
}
}
this.hook_pre_put = function(params, obj, key)
@@ -314,8 +362,75 @@ function model_fin_factuur()
// Bij wijzigen van factuur moet prs_kostensoort_key nog gevuld worden.
// Gebruik daarvoor die van mld_opdr.
setKostensoort(obj);
// Project-key kan als gevolg van de filtering niet aanwezig zijn.
// Haal deze dus maar op met behulp van de factuur-key.
var sql = "SELECT pr.ins_discipline_key"
+ " , kr.bgt_project_key"
+ " , TRUNC(fa.fin_factuur_datum) factuur_datum"
+ " , TRUNC(fa.fin_factuur_advies) advies_datum"
+ " , fa.fin_factuur_nr"
+ " , fa.fin_factuur_opmerking"
+ " , fa.fin_factuur_statuses_key"
+ " FROM bgt_project pr"
+ " , bgt_kostenrubriek kr"
+ " , prs_kostensoortgrp kg"
+ " , prs_kostensoort ks"
+ " , mld_opdr mo"
+ " , fin_factuur fa"
+ " WHERE pr.bgt_project_key = kr.bgt_project_key"
+ " AND kr.bgt_kostenrubriek_key = kg.bgt_kostenrubriek_key"
+ " AND kg.prs_kostensoortgrp_key = ks.prs_kostensoortgrp_key"
+ " AND ks.prs_kostensoort_key = mo.prs_kostensoort_key"
+ " AND mo.mld_opdr_key = fa.mld_opdr_key"
+ " AND fa.fin_factuur_key = " + key;
var oRs = Oracle.Execute(sql);
var v_discipline_key = oRs("ins_discipline_key").Value;
var v_project_key = oRs("bgt_project_key").Value;
var v_factuur_datum = new Date(oRs("factuur_datum").Value);
var v_advies_datum = new Date(oRs("advies_datum").Value);
var v_invoice = oRs("fin_factuur_nr").Value;
var v_remark = oRs("fin_factuur_opmerking").Value || "";
var v_status = oRs("fin_factuur_statuses_key").Value;
oRs.Close();
// Is de combinatie factuurnummer/volgnummer nog steeds uniek?
checkUniekFactuurnummer(key, obj.budgetproject, obj.invoice);
if (obj.invoice != v_invoice)
checkUniekFactuurnummer(key, v_discipline_key, obj.invoice);
// Zet van alle facturen met hetzelfde factuurnummer binnen het project de adviesdatum gelijk.
// De vaste factuurnummers worden buiten beschouwing gelaten.
var vast_facnr = isVastFactuurnummer(obj.invoice);
var v_old_factuurdatum = toDateString(v_factuur_datum, true)
var v_new_factuurdatum = toDateString(obj.date.midnight(), true);
var v_old_adviesdatum = toDateString(v_advies_datum, true)
var v_new_adviesdatum = toDateString(obj.advice.midnight(), true);
//
var v_diff_datum = (v_old_factuurdatum != v_new_factuurdatum)
var v_diff_advies = (v_old_adviesdatum != v_new_adviesdatum);
var v_diff_remark = (v_remark != obj.remark);
var v_diff_status = (v_status != obj.status);
if (!vast_facnr && (v_diff_datum || v_diff_advies || v_diff_remark || v_diff_status))
{
// We moeten zoeken op factuurnummer zonder volgnummer.
var cur_invoice = (obj.invoice.indexOf("/") > -1 ? obj.invoice.substring(0, obj.invoice.indexOf("/")) : obj.invoice);
var sql_u = "UPDATE fin_factuur"
+ " SET fin_factuur_advies = " + obj.advice.toSQL()
+ " , fin_factuur_datum = " + obj.date.toSQL()
+ " , fin_factuur_opmerking = " + safe.quoted_sql(obj.remark)
+ " , fin_factuur_statuses_key = " + obj.status
+ " WHERE fin_factuur_key IN"
+ " (SELECT fin_factuur_key"
+ " FROM fin_factuur f"
+ " , mld_opdr m"
+ " , bgt_v_project_full p"
+ " WHERE f.mld_opdr_key = m.mld_opdr_key"
+ " AND m.prs_kostensoort_key = p.prs_kostensoort_key"
+ " AND p.ins_discipline_key = " + v_discipline_key
+ " AND SUBSTR(f.fin_factuur_nr, 0, INSTR(f.fin_factuur_nr,'/')-1) = " + safe.quoted_sql(cur_invoice)
+ " )";
Oracle.Execute(sql_u);
}
}
function setKostensoort(obj)
@@ -329,20 +444,44 @@ function model_fin_factuur()
oRs.Close();
}
function checkUniekFactuurnummer(p_factuur_key, p_project_key, p_factuurnr)
function isVastFactuurnummer(factnr)
{
// is de huidige factuurnummer iets uit de usrtab, dan deze gewoon laten staan.
var sql = "SELECT count(*) aantal"
+ " FROM fac_usrdata d"
+ " , fac_usrtab t"
+ " WHERE t.fac_usrtab_key = d.fac_usrtab_key"
+ " AND t.fac_usrtab_naam = " + safe.quoted_sql(S("bgt_usrtab_vaste_factuurnummer"))
+ " AND d.fac_usrdata_code = " + safe.quoted_sql(factnr);
var oRs = Oracle.Execute(sql);
var vast_factnr = (oRs("aantal").Value == 1);
oRs.Close();
return vast_factnr;
}
function checkUniekFactuurnummer(p_factuur_key, p_discipline_key, p_factuurnr)
{
var sql = "SELECT count(*) aantal"
+ " FROM bgt_kostenrubriek r"
+ " FROM bgt_project p"
+ " , bgt_kostenrubriek r"
+ " , prs_kostensoortgrp g"
+ " , prs_kostensoort s"
+ " , mld_opdr o"
+ " , fin_factuur f"
+ " WHERE r.bgt_kostenrubriek_key = g.bgt_kostenrubriek_key"
+ " WHERE p.bgt_project_key = r.bgt_project_key"
+ " AND r.bgt_kostenrubriek_key = g.bgt_kostenrubriek_key"
+ " AND g.prs_kostensoortgrp_key = s.prs_kostensoortgrp_key"
+ " AND s.prs_kostensoort_key = o.prs_kostensoort_key"
+ " AND o.mld_opdr_key = f.mld_opdr_key"
+ " AND r.bgt_project_key = " + p_project_key
+ " AND p.ins_discipline_key = " + p_discipline_key
+ " AND f.fin_factuur_nr = " + safe.quoted_sql(p_factuurnr)
+ " AND f.fin_factuur_nr NOT IN"
+ " (SELECT d.fac_usrdata_code"
+ " FROM fac_usrdata d"
+ " , fac_usrtab t"
+ " WHERE t.fac_usrtab_key = d.fac_usrtab_key"
+ " AND t.fac_usrtab_naam = " + safe.quoted_sql(S("bgt_usrtab_vaste_factuurnummer"))
+ " )"
+ (p_factuur_key != -1 ? " AND f.fin_factuur_key <> " + p_factuur_key : "");
var oRs = Oracle.Execute(sql);
var uniek_factuurnr = (oRs("aantal").Value == 0);
@@ -353,6 +492,7 @@ function model_fin_factuur()
var mld_opdr_key = getQParamInt("opdrachtcommon", -1);
var fin_key = getQParamInt("id", -1);
var ischild = (getQParam("columns", "")=="" ? true : false);
var xmodel = getQParam("model", "");
if (mode == "list" && (xmodel == this.record_name || (ischild && mld_opdr_key == -1) || (!ischild && mld_opdr_key > -1)))
@@ -379,13 +519,38 @@ function model_fin_factuur()
]
}
};
if (mld_opdr_key > -1)
if (mld_opdr_key > -1 && fin_key == -1)
gparams.GET.wheres.push("mld_opdr.mld_opdr_key = {0}".format(mld_opdr_key));
this.REST_GET = generic_REST_GET(this, gparams);
var v_budgetdiscipline = getQParamInt("budgetdiscipline", -1);
if (v_budgetdiscipline == -1)
{
gparams.GET.tables.push("ins_tab_discipline");
gparams.GET.wheres.push("bgt_project.ins_discipline_key = ins_tab_discipline.ins_discipline_key");
gparams.GET.wheres.push(
"bgt_project.ins_discipline_key IN"
+ " (SELECT w.ins_discipline_key"
+ " FROM fac_v_webgebruiker w"
+ " , ins_tab_discipline d"
+ " WHERE w.ins_discipline_key = d.ins_discipline_key"
+ " AND w.prs_perslid_key = " + user_key
+ " AND (w.fac_gebruiker_prs_level_read<9 OR w.fac_gebruiker_alg_level_read<9)"
+ " AND d.ins_discipline_module = 'BGT'"
+ " AND d.ins_discipline_verwijder IS NULL"
+ " )"
);
}
this.REST_GET = generic_REST_GET(this, gparams);
}
this.REST_POST = generic_REST_POST(this);
this.REST_PUT = generic_REST_PUT(this);
this.REST_DELETE = generic_REST_DELETE(this);
this.REST_PUT = generic_REST_PUT(this);
var autparams = user.checkAutorisation(this.autfunction);
var canWrite = (autparams.PRSwritelevel < 9 && autparams.ALGwritelevel < 9);
if (canWrite)
{
this.REST_POST = generic_REST_POST(this);
this.REST_DELETE = generic_REST_DELETE(this);
}
}
%>

View File

@@ -11,107 +11,21 @@
Notes:
*/
model_issueobjects =
function model_issueobjects()
{
table: "mld_melding_object",
primary: "mld_melding_object_key",
records_name: "issueobjects",
record_name: "issueobject",
fields: {"id" : { dbs: "mld_melding_object_key", typ: "key", filter: "exact" },
"object" : { dbs: "ins_deel_key", typ: "key", foreign: "ins_deel" },
"mld_melding_key": { dbs: "mld_melding_key", typ: "key" }
},
this.table = "mld_melding_object";
this.primary = "mld_melding_object_key";
this.records_name = "issueobjects";
this.record_name = "issueobject";
this.autfunction = false; // Kan alleen vanuit model_issue aangeroepen worden. De autorisatie is daar al geregeld.
this.fields = {"id" : { dbs: "mld_melding_object_key", typ: "key", filter: "exact", seq: "mld_s_mld_object_key" },
"object": { dbs: "ins_deel_key", typ: "key", foreign: "ins_deel" },
"issue" : { dbs: "mld_melding_key", typ: "key"}
};
list: { columns: ["object"] },
_analyze_fields: function (dbfields, params, jsondata) /* analyseer inkomende data, common voor PUT en POST */
{
if (jsondata.id)
{
// Bestaande mld_melding_object: PUT
}
else
{ // Nieuwe mld_melding_object: POST
// Controleer of de combinatie melding_key/object_key al bestaat. Zo ja, dan niet toevoegen.
var mld_obj_key = -1;
var sql = "SELECT mld_melding_object_key"
+ " FROM mld_melding_object"
+ " WHERE mld_melding_object_verwijder IS NULL"
+ " AND mld_melding_key = " + params.filter.id
+ " AND ins_deel_key = " + dbfields[0].val; // TODO: unsafe?
var oRs = Oracle.Execute(sql);
if (!oRs.eof)
{
mld_obj_key = oRs("mld_melding_object_key").Value;
params.isNew = false;
}
oRs.Close();
}
},
_validate_fields: function (dbfields, params, jsondata) /* valideer dbfields, alle constraints die niet door de database worden afgevangen */
{
},
REST_GET: function _GET(params)
{
// Kan alleen vanuit model_issue aangeroepen worden. De autorisatie is daar al geregeld.
var query = api2.sqlfields(params, model_issueobjects );
query.wheres.push("mld_melding_object_verwijder IS NULL");
var wheres = api2.sqlfilter(params, model_issueobjects);
query.wheres = query.wheres.concat(wheres);
var sql = "SELECT " + query.selects.join(", ")
+ " FROM " + query.tables.join(", ")
+ " WHERE " + query.wheres.join(" AND " );
var json = api2.sql2json (params, sql, model_issueobjects );
return json;
},
REST_PUT: function (params, jsondata, the_key) /* update object */
{
// Kan alleen vanuit model_issue aangeroepen worden. De autorisatie is daar al geregeld.
var dbfields = api2.update_fields(params, model_issueobjects, jsondata); // Build updater
model_issueobjects._analyze_fields(dbfields, params, jsondata);
var mldUpd = buildTrackingUpdate("mld_melding_object", " mld_melding_object_key = " + the_key, dbfields, { noValidateToken: true });
Oracle.Execute(mldUpd.sql);
// Nu geen api2.process_includes() meer aanroepen, anders ga je de objecten zelf ook nog aanpassen.
return { key: the_key };
},
REST_POST: function (params, jsondata, parent_key) /* new object */
{
// Kan alleen vanuit model_issue aangeroepen worden. De autorisatie is daar al geregeld.
params.isNew = true; // negeer eventuele bestaande keys
var dbfields = api2.update_fields(params, model_issueobjects, jsondata); // Build updater
model_issueobjects._analyze_fields(dbfields, params, jsondata);
var new_key = null;
if (params.isNew)
{
dbfields["issue"] = { dbs: "mld_melding_key", typ: "key", val: parent_key };
dbfields["id"] = { dbs: "mld_melding_object_key", typ: "key", seq: "mld_s_mld_object_key" };
var mldIns = buildInsert("mld_melding_object", dbfields, { noValidateToken: true });
new_key = mldIns.sequences["mld_melding_object_key"];
Oracle.Execute(mldIns.sql);
}
return { key: new_key };
},
REST_DELETE: function (params, the_key) /* delete object */
{
// Kan alleen vanuit model_issue aangeroepen worden. De autorisatie is daar al geregeld.
var sql = "DELETE FROM mld_melding_object WHERE mld_melding_object_key = " + the_key;
Oracle.Execute(sql);
}
this.REST_GET = generic_REST_GET(this);
this.REST_POST = generic_REST_POST(this);
this.REST_PUT = generic_REST_PUT(this);
this.REST_DELETE = generic_REST_DELETE(this);
}
%>

View File

@@ -89,8 +89,9 @@ function model_issues(mld_key, params)
joinfield: "issue"
},
"issueobjects": {
model: model_issueobjects,
joinfield: "mld_melding_key"
model: new model_issueobjects(),
joinfield: "issue",
"enable_update": true
}
};
@@ -480,7 +481,7 @@ function model_issues(mld_key, params)
_validate_fields(dbfields, params, jsondata);
dbfields["alg"] = { dbs: "mld_alg_onroerendgoed_keys", typ: "datetime", val: params.data.alg_onroerendgoed_keys == -1 ? null : params.data.alg_onroerendgoed_keys };
dbfields["origin"] = { dbs: "mld_meldbron_key", typ: "key", val: jsondata.meldbron? jsondata.meldbron : S("mld_meldbron_key") };
dbfields["origin"] = { dbs: "mld_meldbron_key", typ: "key", val: jsondata.origin? jsondata.origin : S("mld_meldbron_key") };
dbfields["module"] = { dbs: "mld_melding_module", typ: "varchar", val: "MLD" };
dbfields["issue"] = { dbs: "mld_melding_key", typ: "key", seq: "mld_s_mld_melding_key" };
@@ -489,6 +490,7 @@ function model_issues(mld_key, params)
var sql = mldIns.sql;
Oracle.Execute(mldIns.sql);
params.filter = { id: new_key }; // De nieuwe mld_melding_key.
var mldtrack = api2.process_includes(params, this, jsondata, new_key);
mld.setmeldingstatus(new_key, (stdm.xmld_directklaar? 0 : 2)); // Zorgt ook voor tracking & daarmee notificatie

View File

@@ -1,4 +1,10 @@
<% /*
=============================================================
LET OP: Dit bestand moet nog vervallen omdat we tegenwoordig
model_mld_stdmelding.inc hebben die veel completer is
=============================================================
$Revision$
$Id$

View File

@@ -52,11 +52,12 @@ function model_mld_dienstniveau()
this.includes = {
"dienstpakket": {
"model": new model_mld_dienstpakket(),
"joinfield": "level"
"joinfield": "level",
"enable_update": true,
"multiadd": "issuetype"
}
};
this.REST_GET = generic_REST_GET(this);
this.REST_POST = generic_REST_POST(this);
this.REST_PUT = generic_REST_PUT(this);

View File

@@ -30,7 +30,7 @@ function model_mld_dienstpakket()
"label": "Key",
"typ": "key",
"filter": "exact",
"seq": "mld_s_dienstniveau_key"
"seq": "mld_s_dienstpakket_key"
},
"level": {
"dbs": "mld_dienstniveau_key",
@@ -40,7 +40,8 @@ function model_mld_dienstpakket()
"tbl": "mld_dienstniveau",
"key": "mld_dienstniveau_key",
"desc": "mld_dienstniveau_omschr"
}
},
"uniquewith": "issuetype"
},
"issuetype": {
"dbs": "mld_stdmelding_key",
@@ -61,14 +62,16 @@ function model_mld_dienstpakket()
"key": "mld_stdmelding_key",
"desc": "full_description"
},
"friendlyname": true
"friendlyname": true,
"uniquewith": "level"
}
};
this.list = {
"columns": [
"id",
"issuetype"
"issuetype",
"level"
]
};
@@ -78,6 +81,7 @@ function model_mld_dienstpakket()
this.REST_GET = generic_REST_GET(this);
this.REST_POST = generic_REST_POST(this);
this.REST_DELETE = generic_REST_DELETE(this);
// POST: Er kan hier geen nieuwe dienstpakket toegevoegd worden. Deze ontstaan door bij standaardmeldingen dienstniveau's te koppelen
// Als je hier een stdmelding wilt kiezen, zou je eerst op vakgroep (discipline) moeten filteren. Anders wordt de lijst met stdmeldingen te lang.

View File

@@ -123,31 +123,48 @@ model_mld_disc_params =
"dbs": "mld_disc_params_factuurpct",
"label": L("mld_discipline_marginpct"),
"typ": "number",
"defaultvalue": 0
"defaultvalue": 0,
"multiedit": true
},
"invoicemargin": {
"dbs": "mld_disc_params_factuurmarge",
"label": L("mld_discipline_margin"),
"iscurrency": true,
"typ": "float",
"defaultvalue": 0
"defaultvalue": 0,
"multiedit": true
},
"invoicematchmode": {
"dbs": "mld_disc_params_factmatchmode",
"label": L("mld_discipline_match"),
"typ": "number",
"LOV": L("mld_discipline_matchLOV"),
"emptyoption": null
"emptyoption": null,
"multiedit": true
},
"invoiceapprove": {
"dbs": "mld_disc_params_factuurappr",
"label": L("mld_discipline_autofiat"),
"typ": "check0"
"typ": "check0",
"multiedit": true
},
"invoicebelow": {
"dbs": "mld_disc_params_factuurgrens",
"label": L("mld_discipline_belowfiat"),
"typ": "number"
"typ": "number",
"multiedit": true
},
"emailnew3": {
"dbs": "mld_disc_params_emailnw3",
"label": L("mld_discipline_emailnw3"),
"typ": "varchar",
"multiedit": true
},
"smsnew3": {
"dbs": "mld_disc_params_smsnw3",
"label": L("mld_discipline_smsnw3"),
"typ": "varchar",
"multiedit": true
},
"notifybo": {
"dbs": "mld_disc_params_bonotify",

View File

@@ -138,7 +138,7 @@ function model_mld_opdr()
},
"estimate": {
"dbs": "estimate",
"sql": "CASE WHEN mld_statusopdr_key=10 THEN mld_opdr_kosten END",
"sql": "(BGT.getRaming(mld_opdr.mld_opdr_key, 0, NULL, NULL))",
"sqlshow": true,
"hidden_fld": true,
"label": "Raming",
@@ -148,7 +148,7 @@ function model_mld_opdr()
},
"contracted": {
"dbs": "contracted",
"sql": "CASE WHEN mld_statusopdr_key<>10 THEN mld_opdr_kosten END",
"sql": "(BGT.getGecontracteerd(mld_opdr.mld_opdr_key, 0, NULL, NULL))",
"sqlshow": true,
"hidden_fld": true,
"label": L("bgt_gecontracteerd"),
@@ -236,7 +236,19 @@ function model_mld_opdr()
"typ": "check0",
"defaultvalue": 0,
"filter": "exact"
}
},
"remark": {
"dbs": "mld_opdr_opmerking",
"label": L("lcl_remark"),
"typ": "memo"
},
"_is_clone": {
"dbs": "",
"label": "Is kopie",
"typ": "number",
"defaultvalue": 0,
"hidden_fld": true
}
};
this.fields = object_merge({}, fields_main_1, (S("bgt_enabled") ? fields_bgt_1 : {}), fields_main_2);
@@ -251,8 +263,10 @@ function model_mld_opdr()
}
}
this.hook_pre_edit = function (obj, fld)
this.hook_pre_edit = function (obj, fld, scf_params)
{
obj._is_clone = getQParamInt("scf_clone", 0);
var mld_opdr_id = (obj._is_clone == 1 ? getQParamInt("id", -1) : obj.id);
var btw_data = {};
if (obj.id > -1 || obj.ordernr_sort)
{
@@ -260,7 +274,7 @@ function model_mld_opdr()
fld.ordernr.readonly = true;
}
if (obj.id > -1)
if (mld_opdr_id > -1)
{
var sql = "SELECT s.prs_kostensoort_btw"
+ " , f.fin_btwtabelwaarde_perc"
@@ -269,7 +283,7 @@ function model_mld_opdr()
+ " , fin_btwtabelwaarde f"
+ " WHERE s.fin_btwtabelwaarde_key = f.fin_btwtabelwaarde_key"
+ " AND o.prs_kostensoort_key = s.prs_kostensoort_key"
+ " AND o.mld_opdr_key = " + obj.id;
+ " AND o.mld_opdr_key = " + mld_opdr_id;
var oRs = Oracle.Execute(sql);
if (!oRs.eof)
{
@@ -277,6 +291,25 @@ function model_mld_opdr()
btw_data.btw_val = oRs("fin_btwtabelwaarde_perc").Value || "0";
}
oRs.Close();
/*
#TWYN#53173
De bestaande knop "Kopi<70>ren" is komen te vervallen. Daarvoor in de plaats zijn twee nieuwe knoppen toegevoegd: "Nieuwe opdracht" en "nieuwe subopdracht".
Bij een nieuwe subopdracht is het opdrachtnummer gelijk aan die van de opdracht van waaruit gekopieerd wordt en is niet te wijzigen. Het volgnummer staat standaard op volgnr(max+1).
if (obj._is_clone == 2)) // nieuw subcontract: bepaal hoogste volgnummer bij dit contract, en vul deze alvast in.
{
var sql = "SELECT COALESCE(MAX(s.mld_opdr_bedrijfopdr_volgnr), 0) + 1 volgnr"
+ " FROM mld_opdr s"
+ " WHERE s.mld_opdr_ordernr ="
+ " (SELECT m.mld_opdr_ordernr"
+ " FROM mld_opdr m"
+ " WHERE m. mld_opdr_key = " + mld_opdr_id
+ " )";
var oRs = Oracle.Execute(sql);
obj.sequence = oRs("volgnr").Value;
oRs.Close();
}
*/
}
%>
@@ -293,16 +326,23 @@ function model_mld_opdr()
this.hook_pre_post = function(params, obj)
{
var parent_key = getQParamInt("id", -1);
var isclone = (obj._is_clone == 1);
if (!obj.sequence && obj.sequence!=0)
abort_with_warning("Vul een volgnummer voor het contract in.");
var v_costtype = (obj.costtype ? obj.costtype : getQParamInt("costtype", -1));
var v_costtype = (typeof obj.costtype == "object" ? obj.costtype.id : obj.costtype);
checkAanwezigBudget(v_costtype);
if (parent_key > -1) // Bij kopie van opdracht geen nieuw nummer genereren.
/*
TWYN#53173 : waarschijnlijk pas met 2018.1
obj._is_clone=1 --> nieuwe (hoofd) opdracht
obj._is_clone=2 --> nieuwe sub-opdracht
*/
if (isclone) // Bij kopie van opdracht geen nieuw nummer genereren.
{
var v_project_key = (typeof obj.budgetproject == "object" ? obj.budgetproject.id : obj.budgetproject);
// Vul het contractnummer van het oorspronkelijke contract in.
var parent_key = getQParamInt("id", -1);
var sql = "SELECT o.mld_opdr_ordernr"
+ " FROM mld_opdr o"
+ " WHERE o.mld_opdr_key = " + parent_key;
@@ -310,7 +350,7 @@ function model_mld_opdr()
obj.ordernr = oRs("mld_opdr_ordernr").Value;
oRs.Close();
// Kopie contract. Volgnummer moet uniek zijn binnen dit contractnummer.
checkUniekContractnummer(-1, obj.budgetproject.id, obj.ordernr, obj.sequence);
checkUniekContractnummer(-1, v_project_key, obj.ordernr, obj.sequence);
}
else
{
@@ -333,18 +373,33 @@ function model_mld_opdr()
// Nieuw contract, dus volgnummer is altijd uniek hierbinnen.
}
checkBudgetoverschrijding(obj.id, obj.costtype, obj.amount, obj.vat);
var v_budget = getBudget(v_costtype);
if (obj.additional == 0)
{
var v_datamutatie = checkBudgetoverschrijding(obj.id, v_budget, obj.amount, obj.vat);
insertMutatie( v_datamutatie, "AO" );
}
else
{
insertMutatie( { budget_res_key: v_budget.budget_res_key
, bedrag_exc: -1 * obj.amount
, bedrag_btw: -1 * obj.vat
, budget_srt_key: v_budget.budget_srt_key
}
, "MW"
);
}
}
this.hook_pre_put = function(params, obj, key)
{
var v_costtype = (obj.costtype ? obj.costtype : getQParamInt("costtype", -1) );
checkAanwezigBudget(v_costtype);
// Is de combinatie projectnummer/volgnummer nog steeds uniek?
// Is de combinatie opdrachtnummer/volgnummer nog steeds uniek?
var sql = "SELECT p.bgt_project_key"
+ " , o.prs_kostensoort_key"
+ " , o.mld_opdr_ordernr"
+ " , o.mld_opdr_meerwerk"
+ " , o.mld_opdr_kosten"
+ " , o.mld_opdr_kosten_btw"
+ " FROM bgt_project p"
+ " , bgt_kostenrubriek r"
+ " , prs_kostensoortgrp g"
@@ -357,29 +412,123 @@ function model_mld_opdr()
+ " AND o.mld_opdr_key = " + key;
var oRs = Oracle.Execute(sql);
var v_ordernr = oRs("mld_opdr_ordernr").Value;
var v_meerwerk = oRs("mld_opdr_meerwerk").Value;
var v_project_key = oRs("bgt_project_key").Value;
var v_cur_costtype_key = oRs("prs_kostensoort_key").Value;
var v_cur_bedrag = oRs("mld_opdr_kosten").Value;
var v_cur_btwbedrag = oRs("mld_opdr_kosten_btw").Value;
oRs.Close();
checkUniekContractnummer(key, v_project_key, v_ordernr, obj.sequence);
if (v_cur_costtype_key != v_costtype)
{ // contract verplaatsen naar ander kostensoort
checkBudgetoverschrijding(obj.id, v_cur_costtype_key, 0, 0); // bedrag van deze kostensoort verwijderen
checkBudgetoverschrijding(-1, v_costtype, obj.amount, obj.vat); // (aangepast) bedrag aan nieuwe kostensoort toevoegen
// facturen krijgen ook nieuwe kostensoort.
var sql = "UPDATE fin_factuur"
+ " SET prs_kostensoort_key = " + v_costtype
+ " WHERE mld_opdr_key = " + key;
Oracle.Execute(sql);
}
else
var v_costtype = (obj.costtype ? obj.costtype : v_cur_costtype_key);
checkAanwezigBudget(v_costtype);
// Budget bijwerken als gevolg van meer-minderwerk.
if (obj.additional == 1 || v_meerwerk == 1)
{
checkBudgetoverschrijding(obj.id, v_costtype, obj.amount, obj.vat);
// Boek eerst het oude bedrag terug.
var v_budget_old = getBudget(v_cur_costtype_key);
insertMutatie( { budget_res_key: v_budget_old.budget_res_key
, budget_srt_key: v_budget_old.budget_srt_key
, bedrag_exc: v_cur_bedrag
, bedrag_btw: v_cur_btwbedrag
}
, "MW"
);
if (obj.additional == 1)
{
// Boek het nieuwe bedrag naar het (nieuwe) kostensoort.
var v_budget_new = getBudget(v_costtype);
insertMutatie( { budget_res_key: v_budget_new.budget_res_key
, budget_srt_key: v_budget_new.budget_srt_key
, bedrag_exc: -1 * obj.amount
, bedrag_btw: -1 * obj.vat
}
, "MW"
);
}
}
// Controle op overschrijden van budget.
if (obj.additional == 0)
{
if (v_cur_costtype_key != v_costtype)
{ // Heeft dit contract ook nog subcontracten
/*
var sql = "SELECT COUNT(*) aantal"
+ " so.mld_opdr_key"
+ " , so.prs_kostensoort_key"
+ " , so.mld_opdr_kosten"
+ " , so.mld_opdr_kosten_btw"
+ " FROM mld_opdr co"
+ " , mld_opdr so"
+ " , bgt_v_project_full cp"
+ " , bgt_v_project_full sp"
+ " WHERE co.prs_kostensoort_key = cp.prs_kostensoort_key"
+ " AND so.prs_kostensoort_key = sp.prs_kostensoort_key"
+ " AND co.mld_opdr_ordernr = so.mld_opdr_ordernr"
+ " AND cp.bgt_project_key = sp.bgt_project_key"
+ " AND co.mld_opdr_key = " + key;
var oRs = Oracle.Execute(sql);
while (!oRs.eof)
{
var v_cur_opdr_key = oRs("mld_opdr_key").Value;
//
var v_opdr_exc = 0;
var v_opdr_btw = 0;
var v_budget = getBudget(v_cur_costtype_key);
var v_datamutatie = checkBudgetoverschrijding(v_cur_opdr_key, v_budget, v_opdr_exc, v_opdr_btw); // contractbedrag van deze kostensoort verwijderen
insertMutatie( v_datamutatie, "AO" );
//
v_opdr_exc = (v_cur_opdr_key == key ? obj.amount : oRs("mld_opdr_kosten").Value);
v_opdr_btw = (v_cur_opdr_key == key ? obj.vat : oRs("mld_opdr_kosten_btw").Value);
v_budget = getBudget(v_costtype);
v_datamutatie = checkBudgetoverschrijding(-1, v_budget, v_opdr_exc, v_opdr_btw); // (aangepast) bedrag aan nieuwe kostensoort toevoegen
insertMutatie( v_datamutatie, "AO" );
//
// facturen krijgen ook nieuwe kostensoort.
var sql = "UPDATE fin_factuur"
+ " SET prs_kostensoort_key = " + v_costtype
+ " WHERE mld_opdr_key = " + v_cur_opdr_key;
Oracle.Execute(sql);
//
oRs.MoveNext();
}
oRs.Close();
*/
/* dit is het originele stuk voor alleen het huidige contract */
// contract verplaatsen naar ander kostensoort
var v_budget_old = getBudget(v_cur_costtype_key);
var v_datamutatie = checkBudgetoverschrijding(obj.id, v_budget_old, 0, 0); // bedrag van deze kostensoort verwijderen
insertMutatie( v_datamutatie, "AO" );
var v_budget_new = getBudget(v_costtype);
var v_datamutatie = checkBudgetoverschrijding(-1, v_budget_new, obj.amount, obj.vat); // (aangepast) bedrag aan nieuwe kostensoort toevoegen
insertMutatie( v_datamutatie, "AO" );
// facturen krijgen ook nieuwe kostensoort.
var sql = "UPDATE fin_factuur"
+ " SET prs_kostensoort_key = " + v_costtype
+ " WHERE mld_opdr_key = " + key;
Oracle.Execute(sql);
/* einde */
}
else
{
var v_budget_new = getBudget(v_costtype);
var v_datamutatie = checkBudgetoverschrijding(obj.id, v_budget_new, obj.amount, obj.vat);
insertMutatie( v_datamutatie, "AO" );
}
}
}
this.hook_pre_delete = function(params, key)
{
var sql = "SELECT MAX(o.prs_kostensoort_key) kostensoort"
+ " , MAX(o.mld_opdr_meerwerk) meerwerk"
+ " , MAX(mld_opdr_kosten) contract_exc"
+ " , MAX(mld_opdr_kosten_btw) contract_btw"
+ " , COUNT(f.fin_factuur_key) aantal"
+ " FROM mld_opdr o"
+ " , fin_factuur f"
@@ -388,12 +537,30 @@ function model_mld_opdr()
var oRs = Oracle.Execute(sql);
var aantal_facturen = oRs("aantal").Value;
var prs_kostensoort = oRs("kostensoort").Value;
var meerwerk = oRs("meerwerk").Value == 1;
var contract_exc = oRs("contract_exc").Value;
var contract_btw = oRs("contract_btw").Value;
oRs.Close();
if (aantal_facturen > 0)
abort_with_warning("Verwijder eerst de facturen bij dit contract.");
// Eerst proberen of er automatisch terug geboekt moet worden doot bedrag te muteren naar 0.
checkBudgetoverschrijding(key, prs_kostensoort, 0, 0);
// Eerst proberen of er automatisch terug geboekt moet worden door bedrag te muteren naar 0.
var v_budget_old = getBudget(prs_kostensoort);
if (meerwerk)
{
insertMutatie( { budget_res_key: v_budget_old.budget_res_key
, bedrag_exc: contract_exc
, bedrag_btw: contract_btw
, budget_srt_key: v_budget_old.budget_srt_key
}
, "MW"
);
}
else
{
var v_datamutatie = checkBudgetoverschrijding(key, v_budget_old, 0, 0);
insertMutatie( v_datamutatie, "AO" );
}
}
@@ -416,6 +583,57 @@ function model_mld_opdr()
]
}
};
var v_budgetdiscipline = getQParamInt("budgetdiscipline", -1);
if (v_budgetdiscipline == -1)
{
gparams.GET.tables.push("ins_tab_discipline");
gparams.GET.wheres.push("bgt_project.ins_discipline_key = ins_tab_discipline.ins_discipline_key");
gparams.GET.wheres.push(
"bgt_project.ins_discipline_key IN"
+ " (SELECT w.ins_discipline_key"
+ " FROM fac_v_webgebruiker w"
+ " , ins_tab_discipline d"
+ " WHERE w.ins_discipline_key = d.ins_discipline_key"
+ " AND w.prs_perslid_key = " + user_key
+ " AND (w.fac_gebruiker_prs_level_read<9 OR w.fac_gebruiker_alg_level_read<9)"
+ " AND d.ins_discipline_module = 'BGT'"
+ " AND d.ins_discipline_verwijder IS NULL"
+ " )"
);
}
}
function getBudget(data_costtype)
{
var sql = "SELECT MAX(b.bgt_budget_key) budget_s"
+ " , MAX(c.bgt_budget_key) budget_r"
+ " , MAX(COALESCE(b.bgt_budget_bedrag, 0)) budget_exc"
+ " , MAX(COALESCE(b.bgt_budget_btwbedrag, 0)) budget_btw"
+ " FROM bgt_budget b"
+ " , bgt_budgetmutatie m"
+ " , (SELECT r.bgt_project_key"
+ " , bgt_budget_key"
+ " FROM bgt_budget r"
+ " WHERE r.bgt_budget_isreserve = 1"
+ " ) c"
+ " WHERE b.bgt_project_key = c.bgt_project_key(+)"
+ " AND b.prs_kostensoort_key = " + data_costtype;
var oRs = Oracle.Execute(sql);
var budget_key_res = oRs("budget_r").Value;
var budget_key_srt = oRs("budget_s").Value;
var budget_exc = oRs("budget_exc").Value;
var budget_btw = oRs("budget_btw").Value;
oRs.Close();
if (budget_key_res == null)
abort_with_warning("Er is geen budget met kenmerk 'reserve' aanwezig voor dit project");
else
return { budget_res_key: budget_key_res
, budget_srt_key: budget_key_srt
, costtype_key: data_costtype
, bedrag_exc: budget_exc
, bedrag_btw: budget_btw
};
}
function checkUniekContractnummer(p_contract_key, p_project_key, p_contractnr, p_volgnr)
@@ -454,30 +672,8 @@ function model_mld_opdr()
abort_with_warning("Maak eerst een budget aan voor deze kostensoort voordat er contracten aan gekoppeld worden.");
}
function checkBudgetoverschrijding(data_id, data_costtype, data_amount, data_vat)
function checkBudgetoverschrijding(data_id, data_budget, data_amount, data_vat)
{
var sql = "SELECT MAX(b.bgt_budget_key) budget_s"
+ " , MAX(c.bgt_budget_key) budget_r"
+ " , MAX(COALESCE(b.bgt_budget_bedrag, 0)) budget_exc"
+ " , MAX(COALESCE(b.bgt_budget_btwbedrag, 0)) budget_btw"
+ " FROM bgt_budget b"
+ " , bgt_budgetmutatie m"
+ " , (SELECT r.bgt_project_key"
+ " , bgt_budget_key"
+ " FROM bgt_budget r"
+ " WHERE r.bgt_budget_isreserve = 1"
+ " ) c"
+ " WHERE b.bgt_project_key = c.bgt_project_key(+)"
+ " AND b.prs_kostensoort_key = " + data_costtype;
var oRs = Oracle.Execute(sql);
var budget_key_res = oRs("budget_r").Value;
var budget_key_srt = oRs("budget_s").Value;
var budget_exc = oRs("budget_exc").Value;
var budget_btw = oRs("budget_btw").Value;
oRs.Close();
if (budget_key_res == null)
abort_with_warning("Er is geen budget met kenmerk 'reserve' aanwezig voor dit project");
var amount_old_exc = 0;
var amount_old_btw = 0;
if (data_id > -1)
@@ -485,7 +681,7 @@ function model_mld_opdr()
var sql = "SELECT COALESCE(t.mld_opdr_kosten, 0) amount_old_exc"
+ " , COALESCE(t.mld_opdr_kosten_btw, 0) amount_old_btw"
+ " FROM mld_opdr t"
+ " WHERE t.prs_kostensoort_key = " + data_costtype
+ " WHERE t.prs_kostensoort_key = " + data_budget.costtype_key
+ " AND t.mld_opdr_key = " + data_id;
var oRs = Oracle.Execute(sql);
amount_old_exc = oRs("amount_old_exc").Value;
@@ -495,7 +691,7 @@ function model_mld_opdr()
var sql = "SELECT SUM(o.mld_opdr_kosten) amount_total_exc"
+ " , SUM(o.mld_opdr_kosten_btw) amount_total_btw"
+ " FROM mld_opdr o"
+ " WHERE o.prs_kostensoort_key = " + data_costtype;
+ " WHERE o.prs_kostensoort_key = " + data_budget.costtype_key;
var oRs = Oracle.Execute(sql);
var amount_sum_exc = oRs("amount_total_exc").Value;
var amount_sum_btw = oRs("amount_total_btw").Value;
@@ -509,7 +705,7 @@ function model_mld_opdr()
+ " AND b1.bgt_project_key = b2.bgt_project_key"
+ " AND m1.bgt_budget_key_van = b2.bgt_budget_key"
+ " AND m1.bgt_budget_Key_naar = b1.bgt_budget_key"
+ " AND b1.prs_kostensoort_key = " + data_costtype;
+ " AND b1.prs_kostensoort_key = " + data_budget.costtype_key;
var oRs = Oracle.Execute(sql);
var reserve_exc = oRs("reserve_exc").Value;
var reserve_btw = oRs("reserve_btw").Value;
@@ -521,7 +717,7 @@ function model_mld_opdr()
if (amount_old_exc < data_amount)
{
// verhoging contractwaarde exc
var overschot_exc = budget_exc - amount_sum_exc - (data_amount - amount_old_exc);
var overschot_exc = data_budget.bedrag_exc - amount_sum_exc - (data_amount - amount_old_exc);
bedrag_exc = (overschot_exc < 0 ? overschot_exc : 0);
}
else
@@ -534,7 +730,7 @@ function model_mld_opdr()
if (amount_old_btw < data_vat)
{
// verhoging contractwaarde btw
var overschot_btw = budget_btw - amount_sum_btw - (data_vat - amount_old_btw);
var overschot_btw = data_budget.bedrag_btw - amount_sum_btw - (data_vat - amount_old_btw);
bedrag_btw = (overschot_btw < 0 ? overschot_btw : 0);
}
else
@@ -544,36 +740,71 @@ function model_mld_opdr()
bedrag_btw = -1 * (overschot_btw > 0 ? reserve_btw : (data_vat - amount_old_btw) );
}
var sql_m = "INSERT INTO bgt_budgetmutatie"
+ "( bgt_budgetmutatie_datum"
+ ", bgt_budgetmutatie_omschrijving"
+ ", prs_perslid_key" // not null!
+ ", bgt_budget_key_van"
+ ", bgt_budget_bedrag_van"
+ ", bgt_budget_btwbedrag_van"
+ ", bgt_budget_key_naar"
+ ", bgt_budget_bedrag_naar"
+ ", bgt_budget_btwbedrag_naar"
//2017.3 + ", bgt_budgetmutatie_reserve"
+ ") VALUES"
+ "( SYSDATE"
+ ", 'AO Automatische overboeking'"
+ ", " + user_key
+ ", " + budget_key_res
+ ", " + bedrag_exc
+ ", " + bedrag_btw
+ ", " + budget_key_srt
+ ", " + (-1 * bedrag_exc)
+ ", " + (-1 * bedrag_btw)
//2017.3 + ", 1"
+ ")";
Oracle.Execute(sql_m);
return { budget_res_key: data_budget.budget_res_key
, bedrag_exc: bedrag_exc
, bedrag_btw: bedrag_btw
, budget_srt_key: data_budget.budget_srt_key
};
}
function insertMutatie(data_mutatie, mutatie_code)
{
if (data_mutatie.bedrag_exc != 0 || data_mutatie.bedrag_btw != 0)
{
var sql = "SELECT prs_kostensoort_altcode"
+ " FROM prs_kostensoort"
+ " WHERE prs_kostensoort_key = "
+ " (SELECT MIN(prs_kostensoort_key)"
+ " FROM bgt_budget"
+ " WHERE bgt_budget_key = " + data_mutatie.budget_srt_key
+ " )";
var oRs = Oracle.Execute(sql);
var v_costtype_code = oRs("prs_kostensoort_altcode").Value;
oRs.Close();
var mutatie_omschr = "";
switch (mutatie_code)
{
case "AO": mutatie_omschr = "AO Automatische overboeking"; break;
case "MW": mutatie_omschr = "MW Meer-, minderwerk van " + v_costtype_code; break;
}
var sql_m = "INSERT INTO bgt_budgetmutatie"
+ "( bgt_budgetmutatie_datum"
+ ", bgt_budgetmutatie_omschrijving"
+ ", prs_perslid_key" // not null!
+ ", bgt_budget_key_van"
+ ", bgt_budget_bedrag_van"
+ ", bgt_budget_btwbedrag_van"
+ ", bgt_budget_key_naar"
+ ", bgt_budget_bedrag_naar"
+ ", bgt_budget_btwbedrag_naar"
+ ", bgt_budgetmutatie_reserve"
+ ") VALUES"
+ "( SYSDATE"
+ ", " + safe.quoted_sql(mutatie_omschr)
+ ", " + user_key
+ ", " + data_mutatie.budget_res_key
+ ", " + data_mutatie.bedrag_exc
+ ", " + data_mutatie.bedrag_btw
+ ", " + data_mutatie.budget_srt_key
+ ", " + (-1 * data_mutatie.bedrag_exc)
+ ", " + (-1 * data_mutatie.bedrag_btw)
+ ", 1"
+ ")";
Oracle.Execute(sql_m);
}
}
this.REST_GET = generic_REST_GET(this, gparams);
this.REST_POST = generic_REST_POST(this);
this.REST_PUT = generic_REST_PUT(this);
this.REST_DELETE = generic_REST_DELETE(this);
this.REST_GET = generic_REST_GET(this, gparams);
this.REST_PUT = generic_REST_PUT(this);
var autparams = user.checkAutorisation(this.autfunction);
var canWrite = (autparams.PRSwritelevel < 9 && autparams.ALGwritelevel < 9);
if (canWrite)
{
this.REST_POST = generic_REST_POST(this);
this.REST_DELETE = generic_REST_DELETE(this);
}
}
%>

View File

@@ -59,7 +59,7 @@ function model_mld_srtkenmerk(params)
},
"system": {
"dbs": "mld_srtkenmerk_systeem",
"label": L("mgt_srtkenmerk_systeem"),
"label": L("mgt_srtkenmerk_systeem_adv"),
"typ": "number",
"LOV": L("mgt_srtkenmerk_systeemLOV"),
"defaultvalue": 0,

View File

@@ -0,0 +1,616 @@
<% /*
$Revision$
$Id$
File: model_mld_stdmelding.inc
Description:
Context:
Notes: Er is ook een model_issuetypes.inc
Deze bevat slechts een subset van de velden die hier worden gebruikt.
Kan model_mld_stdmelding ook gebruikt worden ipv model_issuetypes?
*/
%>
<!-- #include file="../mld/mld.inc" -->
<!-- #include file="model_mld_dienstpakket.inc" -->
<%
function model_mld_stdmelding()
{
this.records_name = "issuetypes";
this.record_name = "issuetype",
this.table = "mld_stdmelding";
this.primary = "mld_stdmelding_key";
this.soft_delete = "mld_stdmelding_verwijder";
this.soft_expire = "mld_stdmelding_vervaldatum";
this.autfunction = "WEB_MLDMGT";
this.record_title = L("mld_stdmelding");
this.records_title = L("mld_stdmelding_m");
this.fields = {
"id": {
"dbs": "mld_stdmelding_key",
"label": L("lcl_key"),
"typ": "key",
"required": true,
"filter": "exact",
"seq": "mld_s_mld_stdmelding_key"
},
"description": {
"dbs": "mld_stdmelding_omschrijving",
"label": L("lcl_complain"), //L("mld_stdmelding_omschrijving"),
"typ": "varchar",
"required": true,
"translate": true
},
"disciplinetype": {
"dbs": "ins_srtdiscipline.ins_srtdiscipline_key",
"label": L("lcl_mld_vakgroeptype"),
"typ": "key",
"insertonly": true,
"foreign" : {
"tbl": "(SELECT ins_srtdiscipline_key"
+ " , ins_srtdiscipline_omschrijving srtdiscipline_oms"
+ " FROM ins_srtdiscipline"
+ " WHERE ins_srtdiscipline_module = 'MLD'"
+ " ORDER BY 2 ASC"
+ ")",
"key": "ins_srtdiscipline_key",
"desc": "srtdiscipline_oms"
}
},
"discipline": {
"dbs": "mld_ins_discipline_key",
"typ": "key",
"label": L("lcl_mld_vakgroep"),
"foreign": {
"tbl": "(SELECT ins_discipline_key"
+ " , ins_discipline_omschrijving"
+ " FROM mld_v_aanwezigdiscipline"
+ " ORDER BY ins_discipline_omschrijving ASC"
+ ")",
"key": "ins_discipline_key",
"desc": "ins_discipline_omschrijving"
},
"required": (mode == "edit")
},
"notfrontend": {
"dbs": "mld_stdmelding_notfrontend",
"typ": "check0",
"label": L("lcl_mld_notfrontend"),
"multiedit": true
},
"costtype": {
"dbs": "prs_kostensoort_key",
"typ": "key",
"label": L("lcl_charge_type"),
"foreign": {
"tbl": "prs_kostensoort",
"key": "prs_kostensoort_key",
"desc": "prs_kostensoort_oms"
},
"emptyoption": "",
"multiedit": true
},
"canrefer": {
"dbs": "mld_stdmelding_kanverwijzen",
"typ": "key",
"label": L("lcl_mld_kanverwijzen"),
"LOV": canrefer_LOV(),
"multiselect": true,
"multiadd": true,
"emptyoption": L("lcl_none")
},
"mandatorylevel": {
"dbs": "alg_onrgoed_niveau",
"typ": "varchar",
"label": L("lcl_mld_onrgoed_niveau"),
"LOV": "L;" + L("lcl_location") + ";"
+ "G;" + L("lcl_building") + ";"
+ "V;" + L("lcl_floor") + ";"
+ "R;" + L("lcl_room"),
"emptyoption": null,
"multiedit": true
},
"notify": {
"dbs": "mld_stdmelding_notify",
"typ": "check0",
"label": L("lcl_mld_notify")
},
"plannable": {
"dbs": "mld_stdmelding_planbaar",
"typ": "number",
"label": L("lcl_mld_planbaar"),
"LOV": L("lcl_mld_planbaarLOV"),
"required": true,
"defaultvalue": 0,
"multiedit": true
},
"subjectlist": {
"dbs": "mld_stdmelding_subject",
"typ": "key",
"label": L("lcl_mld_subject"),
"LOV": "0;" + L("lcl_mld_onzichtbaar") + ";"
+ "1;" + L("lcl_mld_optioneel") + ";"
+ "2;" + L("lcl_mld_verplicht"),
"emptyoption": null,
"multiedit": true
},
"freetext": {
"dbs": "mld_stdmelding_freetext",
"typ": "key",
"label": L("lcl_mld_freetext"),
"LOV": "0;" + L("lcl_mld_onzichtbaar") + ";"
+ "1;" + L("lcl_mld_optioneel") + ";"
+ "2;" + L("lcl_mld_verplicht"),
"emptyoption": null,
"multiedit": true
},
"objectmandatory": {
"dbs": "ins_srtinst_verplicht",
"typ": "check0",
"label": L("lcl_mld_obj_verplicht")
},
"hint": {
"dbs": "mld_stdmelding_hint",
"typ": "memo",
"label": L("lcl_mld_hint"),
"translate": true
},
"autoorder": {
"dbs": "mld_stdmelding_autoorder",
"typ": "check0",
"label": L("lcl_mld_autoorder"),
"multiedit": true
},
"autoorderamount": {
"dbs": "mld_stdmelding_autoorderamount",
"typ": "float",
"iscurrency": true,
"label": L("lcl_mld_autoorderamount"),
"multiedit": true
},
"requireservice": {
"dbs": "mld_stdmelding_vereisdienst",
"typ": "check0",
"label": L("lcl_mld_vereisdienst"),
"multiedit": true
},
"service": {
"dbs": "prs_dienst_key",
"typ": "key",
"label": L("lcl_mld_behandel_dienst"),
"foreign": {
"tbl": "(SELECT prs_dienst_key"
+ " , prs_dienst_omschrijving"
+ " FROM prs_dienst"
+ " ORDER BY UPPER(prs_dienst_omschrijving))",
"key": "prs_dienst_key",
"desc": "prs_dienst_omschrijving"
},
"emptyoption": ""
},
"ordertype": {
"dbs": "mld_typeopdr_key",
"typ": "key",
"label": L("lcl_mld_std_typeopdr"),
"foreign": {
"tbl": "(SELECT mld_typeopdr_key"
+ " , mld_typeopdr_omschrijving"
+ " FROM mld_typeopdr"
+ " ORDER BY UPPER(mld_typeopdr_omschrijving))",
"key": "mld_typeopdr_key",
"desc": "mld_typeopdr_omschrijving"
},
"emptyoption": ""
},
"regime": {
"dbs": "mld_stdmelding_regime",
"typ": "key",
"label": L("lcl_mld_regime"),
"LOV": "1;" + L("lcl_mld_office_hours") + ";"
+ "2;" + L("lcl_mld_opening_hours") + ";"
+ "3;" + L("lcl_mld_24_7"),
"emptyoption": null,
"multiedit": true
},
"fixedmalus": {
"dbs": "mld_stdmelding_malusbasis",
"typ": "float",
"label": L("lcl_mld_malusbasis"),
"multiedit": true
},
"periodmalus": {
"dbs": "mld_stdmelding_malus",
"typ": "float",
"label": L("lcl_mld_malus"),
"multiedit": true
},
"roomtypedependant": {
"dbs": "mld_stdmelding_afhankelijk",
"typ": "check0",
"label": L("lcl_mld_afh_srtruimte_object"),
"multiedit": true
},
"symbolname": {
"dbs": "mld_stdmelding_image",
"typ": "varchar",
"label": L("lcl_mld_symbol_name")
},
"closingtext": {
"dbs": "mld_stdmelding_afmeldtext",
"typ": "key",
"label": L("lcl_mld_afmeldtext"),
"LOV": "1;" + L("lcl_mld_optioneel") + ";"
+ "2;" + L("lcl_mld_verplicht"),
"emptyoption": null,
"multiedit": true
},
"sequence": {
"dbs": "mld_stdmelding_volgnr",
"typ": "number",
"label": L("lcl_mld_stdmelding_volgnummer")
},
"ownrooms": {
"dbs": "mld_stdmelding_prseigen",
"typ": "check0",
"label": L("lcl_mld_prseigen"),
"multiedit": true
},
"checksimilar": {
"dbs": "mld_stdmelding_doublecheck",
"typ": "key",
"label": L("lcl_mld_doublecheck"),
"LOV": "0;" + L("lcl_mld_not") + ";"
+ "1;" + L("lcl_mld_when_enter") + ";"
+ "2;" + L("lcl_mld_when_accept") + ";"
+ "3;" + L("lcl_mld_when_enter_accept"),
"emptyoption": null,
"multiedit": true
},
"copyable": {
"dbs": "mld_stdmelding_kopieerbaar",
"typ": "check0",
"label": L("lcl_mld_copyable"),
"multiedit": true
},
"survey": {
"dbs": "mld_stdmelding_kto",
"typ": "key",
"label": L("lcl_mld_in_KTO"),
"LOV": "0;" + L("lcl_mld_never") + ";"
+ "1;" + L("lcl_mld_always") + ";"
+ "2;" + L("lcl_mld_opt_in") + ";"
+ "3;" + L("lcl_mld_opt_out")
},
"limitcatalogue": {
"dbs": "bes_ins_discipline_key",
"typ": "key",
"label": L("lcl_mld_limited_bes_cat"),
"foreign": {
"tbl": "(SELECT d.ins_discipline_key"
+ " , ins_discipline_omschrijving"
+ " FROM ins_tab_discipline d"
+ " WHERE d.ins_discipline_module = 'BES'"
+ " AND d.ins_discipline_verwijder IS NULL"
+ " ORDER BY UPPER(d.ins_discipline_omschrijving))",
"key": "ins_discipline_key",
"desc": "ins_discipline_omschrijving"
},
"emptyoption": ""
},
"expires": {
"dbs": "mld_stdmelding_vervaldatum",
"typ": "date",
"label": L("lcl_mld_expiration_date")
},
"ordertypemandatory": {
"dbs": "mld_stdmelding_opdrtypevast",
"typ": "check0",
"label": L("lcl_mld_opdrtypevast")
},
"issuegroup": {
"dbs": "mld_stdmeldinggroep_key",
"typ": "key",
"label": L("lcl_mld_meldinggroep"),
"foreign": {
"tbl": "(SELECT g.mld_stdmeldinggroep_key"
+ ", " + lcl.xsqla("g.mld_stdmeldinggroep_naam", "g.mld_stdmeldinggroep_key")
+ " FROM mld_stdmeldinggroep g"
+ " ORDER BY 2)",
"key": "mld_stdmeldinggroep_key",
"desc": "mld_stdmeldinggroep_naam"
},
"emptyoption": ""
},
"immediateready": {
"dbs": "mld_stdmelding_directklaar",
"typ": "key",
"label": L("lcl_mld_directklaar"),
"LOV": ";" + L("lcl_mld_afhankelijk_vakgroep") + ";"
+ "0;" + L("lcl_No") + ";"
+ "1;" + L("lcl_Yes") + ";"
+ "2;" + L("lcl_mld_initieel_fo"),
"emptyoption": null,
"multiedit": true
},
"monitorsla": {
"dbs": "mld_stdmelding_slabewaken",
"typ": "check0",
"label": L("lcl_mld_slabewaken"),
"multiedit": true
},
"showobject": {
"dbs": "alg_onrgoed_obj_niveau",
"typ": "varchar",
"label": L("lcl_mld_obj_show_niveau"),
"LOV": ";" + L("lcl_mld_no_objects") + ";"
+ "L;" + L("lcl_location") + ";"
+ "G;" + L("lcl_building") + ";"
+ "V;" + L("lcl_floor") + ";"
+ "R;" + L("lcl_room"),
"emptyisrealvalue": true,
"emptyoption": null
},
"departmentobjects": {
"dbs": "alg_org_obj_niveau",
"typ": "number",
"label": L("lcl_mld_dep_obj"),
"LOV": departmentobjects_foreign(),
"emptyoption": null
},
"personalobjects": {
"dbs": "mld_stdmelding_prsafdobj",
"label": L("lcl_mld_prsobjects"),
"typ": "check0"
},
"externallink": {
"dbs": "mld_stdmelding_externurl",
"typ": "varchar",
"label": L("lcl_mld_externurl")
},
"_upload": {
"dbs": "",
"label": L("lcl_mld_symbol_upload"),
"typ": "button2",
"defaultvalue": L("lcl_mld_browse_upload")
},
"_limitlabel": {
"dbs": "",
"label": "",
"typ": "label",
"labelvalue": L("lcl_mld_object_restrict")
},
"accepttime": {
"dbs": "mld_stdmelding_t_accepttijd",
"obj": "MLD_T_UITVOERTIJD",
"typ": "processingtime",
"label": L("lcl_mld_timetoaccept"),
"multiedit": true
},
"processingtime": {
"dbs": "mld_stdmelding_t_uitvoertijd",
"obj": "MLD_T_UITVOERTIJD",
"typ": "processingtime",
"label": L("lcl_mld_uitvoertijd_normaal"),
"required": true,
"multiedit": true
},
"criticaltime": {
"dbs": "mld_stdmelding_t_uitvtijd_pr1",
"obj": "MLD_T_UITVOERTIJD",
"typ": "processingtime",
"label": L("lcl_mld_uitvoertijd_kritisch"),
"multiedit": true
},
"highprioritytime": {
"dbs": "mld_stdmelding_t_uitvtijd_pr2",
"obj": "MLD_T_UITVOERTIJD",
"typ": "processingtime",
"label": L("lcl_mld_uitvoertijd_hoog"),
"multiedit": true
},
"lowprioritytime": {
"dbs": "mld_stdmelding_t_uitvtijd_pr4",
"obj": "MLD_T_UITVOERTIJD",
"typ": "processingtime",
"label": L("lcl_mld_uitvoertijd_laag"),
"multiedit": true
},
"enddateempty": {
"dbs": "mld_stdmelding_enddate_empty",
"typ": "check0",
"label": L("lcl_mld_enddate_empty"),
"multiedit": true
}
};
this.includes = {
"disciplines": {
"model": new model_mld_dienstpakket(),
"joinfield": "issuetype",
"enable_update": true,
"multiadd": "level"
}
};
var xparams = {
GET: {
tables: [ "ins_tab_discipline, mld_disc_params, ins_srtdiscipline"],
wheres: [ "ins_tab_discipline.ins_discipline_key = mld_stdmelding.mld_ins_discipline_key",
"mld_disc_params.mld_ins_discipline_key = mld_stdmelding.mld_ins_discipline_key",
"ins_tab_discipline.ins_srtdiscipline_key = ins_srtdiscipline.ins_srtdiscipline_key",
"ins_tab_discipline.ins_discipline_verwijder IS NULL"
]
}
};
this.hook_pre_edit = function(obj, fld, scf_params)
{
scf_params.layout.block[0].label += " " +obj.id ;
if (obj.id == -1)
obj.canrefer = {id:-1, name:null};
obj.canrefer = translate_canrefer(obj.canrefer, null);
var srtdisc_key = -1;
var disc_key = -1;
obj._is_clone = getQParamInt("scf_clone", 0);
var stdm_id = (obj._is_clone == 1 ? getQParamInt("id", -1) : obj.id);
if (stdm_id > 0)
{
stdm_info = mld.mld_stdmeldinginfo(stdm_id);
srtdisc_key = stdm_info.ins_srtdiscipline_key;
disc_key = stdm_info.ins_discipline_key;
// Hier hebben we echt de waarde van mld_stdmelding_directklaar nodig,
// en niet de defaultwaarde uit mld_disc_params_directklaar.
var sql = "SELECT mld_stdmelding_directklaar"
+ " FROM mld_stdmelding"
+ " WHERE mld_stdmelding_key = " + stdm_id;
var oRs = Oracle.Execute(sql);
stdm_info.directklaar = oRs("mld_stdmelding_directklaar").Value;
oRs.Close();
fld.limitcatalogue.foreign.tbl = limitcatalogue_foreign(stdm_info);
}
var proturl = protectQS.create("../shared/BijlagenForm.asp?module=MLDS" + (mode == "show"? "&reado=1" : ""));
%>
<script>
var srtinstallatieselector_available = 1; // toon alleen actuele disciplines/groepen en objecten.
var proturl_bijlage = "<%=proturl%>";
var disciplinetype_key = <%=srtdisc_key%>;
var discipline_key = <%=disc_key%>;
</script>
<%
}
this.hook_pre_show = function(obj, fld, scf_params)
{
scf_params.layout.block[0].label += " " +obj.id ;
obj.canrefer = (obj.canrefer.id != 0 ? translate_canrefer(obj.canrefer, null) : null);
}
// ? deze functie als parameter aan foreign/multiselect meegeven?
function translate_canrefer(db_value, lb_arr)
{
// Kan verwijzen naar meerdere referenties (modules).
if (db_value)
{
// Vertalen van databasewaarde naar multiselectbox waarde.
// mld_stdmelding_kanverwijzen is een multiselect-box. Hieraan moet een string met keys worden doorgegeven.
// Converteer de bitjes naar string met keys.
var kanverwijzen = { id: "", name: "" };
for (var i = 1; i < 256; i = i * 2)
{ // Een string met keys maken.
kanverwijzen.id += ((db_value.id & i) == i? ((kanverwijzen.id == ""? "" : "," ) + i) : "");
kanverwijzen.name += ((db_value.id & i) == i? ((kanverwijzen.name == ""? "" : ", ") + mld.getrefmoduletext(i)) : "");
}
}
else
{
// Vertalen van multiselectbox waarde naar databasewaarde.
var kanverwijzen = 0;
for (var i = 0; i < lb_arr.length; i++)
{
if (lb_arr[i] > 0)
{
kanverwijzen += lb_arr[i];
}
}
if (kanverwijzen > 128)
kanverwijzen = 128; //{ id: 128, name: mld.getrefmoduletext(128) };
}
//
return kanverwijzen;
}
this.hook_pre_post = function(scf_params, obj)
{ // toevoegen
var canrefer_arr = getFParamIntArray("canrefer", [-1]);
obj.canrefer = translate_canrefer(null, canrefer_arr);
}
this.hook_post_post = function(scf_params, obj, key)
{
}
this.hook_pre_put = function(scf_params, obj, key)
{ // wijzigen
var canrefer_arr = getFParamIntArray("canrefer", [-1]);
obj.canrefer = translate_canrefer(null, canrefer_arr);
/*
// Kan verwijzen naar meerdere referenties (modules).
var kanverwijzen_arr = getFParamIntArray("canrefer", [-1]); // Kanverwijzen
var kanverwijzen = 0;
for (var i = 0; i < kanverwijzen_arr.length; i++)
{
if (kanverwijzen_arr[i] > 0)
kanverwijzen += kanverwijzen_arr[i];
}
obj.canrefer = (kanverwijzen > 128 ? 128 : kanverwijzen);
//
*/
}
this.hook_pre_delete = function(scf_params, key)
{
}
this.hook_pre_search = function(fld)
{
}
this.REST_GET = generic_REST_GET(this, xparams);
this.REST_POST = generic_REST_POST(this);
this.REST_PUT = generic_REST_PUT(this);
this.REST_DELETE = generic_REST_DELETE(this);
function departmentobjects_foreign()
{
var tbl = "9;" + L("lcl_mld_no_objects") + ";"
+ "-1;" + L("lcl_mld_all_objects") + ";"
+ "0;" + L("lcl_company");
for (var i = 1; i <= S("prs_max_dep_level"); i++)
tbl += ";" + i + ";" + L("lcl_dep_name_level" + i);
return tbl;
}
function limitcatalogue_foreign(stdm_info)
{
tbl = "(SELECT d.ins_discipline_key"
+ " , ins_discipline_omschrijving"
+ " FROM ins_tab_discipline d"
+ " WHERE d.ins_discipline_module = 'BES'"
+ " AND d.ins_discipline_verwijder IS NULL"
+ " AND EXISTS (SELECT 1"
+ " FROM mld_discipline md"
+ " , ins_srtdiscipline isd"
+ " WHERE md.ins_srtdiscipline_key = isd.ins_srtdiscipline_key"
+ " AND isd.ins_srtdiscipline_bes = 1"
+ " AND md.ins_discipline_key = " + stdm_info.ins_discipline_key + ")"
+ " ORDER BY UPPER(d.ins_discipline_omschrijving))";
return tbl;
}
function canrefer_LOV()
{
var tbl = "128;" + mld.getrefmoduletext(128) + ";" /* Alle meldingen */
+ "1;" + mld.getrefmoduletext(1) + ";" /* [M] Eigen meldingen */
+ "2;" + mld.getrefmoduletext(2) + ";" /* [O] Opdracht */
+ "4;" + mld.getrefmoduletext(4) + ";" /* [R] Reservering */
+ "8;" + mld.getrefmoduletext(8) /* [B] Bestelling */
//+ "16;" + mld.getrefmoduletext(16 + ";" /* [X] Bestelopdracht :reserved for future use */
//+ "32;" + mld.getrefmoduletext(32 + ";" /* [C] Contract :reserved for future use */
//+ "64;" + mld.getrefmoduletext(64) + ";" /* [F] Factuur :reserved for future use */
/* 0: Geen verwijzingen */
return tbl;
}
}
%>

View File

@@ -0,0 +1,161 @@
<% /*
$Revision$
$Id$
File: model_mld_stdmelding_srtinst.inc
Description: Model voor mld_stdmelding_srtinst
Context:
Notes: Eerste opzet, under construction
*/
%>
<!-- #include file="model_mld_stdmelding.inc"-->
<%
function model_mld_stdmelding_srtinst(params)
{
params = params || {};
this.records_name = "issuetypeobjecttypes";
this.record_name = "issuetypeobjecttype";
this.table = "mld_stdmelding_srtinst";
this.primary = "mld_stdmelding_srtinst_key";
this.autfunction = params.internal?false:"WEB_MLDMGT";
this.record_title = L("mld_stdmelding_srtinst");
this.records_title = L("mld_stdmelding_srtinst_m");
this.fields = {
"id": {
"dbs": "mld_stdmelding_srtinst_key",
"label": L("lcl_key"),
"typ": "key",
"required": true,
"filter": "exact",
"seq": "mld_s_mld_stdm_srtinst_key",
"readonly": true
},
"disciplinetype": { // Voor filtering
"dbs": "ins_srtdiscipline.ins_srtdiscipline_key",
"label": L("lcl_mld_vakgroeptype"),
"typ": "key",
"foreign" : {
"tbl": "(SELECT ins_srtdiscipline_key"
+ " , ins_srtdiscipline_omschrijving srtdiscipline_oms"
+ " FROM ins_srtdiscipline"
+ " WHERE ins_srtdiscipline_module = 'MLD'"
+ " AND ins_srtdiscipline_ins = 1"
+ " ORDER BY 2 ASC"
+ ")",
"key": "ins_srtdiscipline_key",
"desc": "srtdiscipline_oms"
}
},
"discipline": { // Voor filtering
"dbs": "mld_stdmelding.mld_ins_discipline_key",
"typ": "key",
"label": L("lcl_mld_vakgroep"),
"foreign": {
"tbl": "(SELECT ins_discipline_key"
+ " , ins_discipline_omschrijving"
+ " FROM mld_v_aanwezigdiscipline"
+ " ORDER BY ins_discipline_omschrijving ASC"
+ ")",
"key": "ins_discipline_key",
"desc": "ins_discipline_omschrijving"
},
"required": (mode == "edit")
},
"issuetype": {
"dbs": "mld_stdmelding_key",
"label": L("mld_stdmelding_key"),
"typ": "key",
"hidden_fld": true,
"foreign": {
"tbl": "(SELECT m.mld_stdmelding_key"
+ " , d.ins_discipline_omschrijving || '/' || m.mld_stdmelding_omschrijving stdmelding_omschr"
+ " FROM mld_stdmelding m"
+ " , mld_v_aanwezigdiscipline d"
+ " WHERE m.mld_ins_discipline_key = d.ins_discipline_key"
+ " ORDER BY d.ins_discipline_omschrijving ASC"
+ " , m.mld_stdmelding_omschrijving ASC"
+ ")",
"key": "mld_stdmelding_key",
"desc": "stdmelding_omschr"
},
"LOVinit": ""
},
"level": {
"dbs": "ins_srtinstallatie_niveau",
"label": L("lcl_niveau"),
"typ": "varchar",
"hidden_fld": true
},
"objectkey": {
"dbs": "ins_srtinstallatie_key",
"label": L("lcl_ins_object"),
"typ": "key",
"hidden_fld": true
},
"objectdiscipline": {
"dbs": "ins_v_allsrtinstallatie.ins_discipline_key",
"label": L("ins_srtinstallatie_discipline"),
"typ": "key",
"foreign": {
"tbl": "ins_discipline",
"key": "ins_discipline_key",
"desc": "ins_discipline_omschrijving"
},
"required": true
},
"objectgroup": {
"dbs": "ins_v_allsrtinstallatie.ins_srtgroep_key",
"label": L("ins_srtinstallatie_srtgroep"),
"typ": "key",
"foreign": { "tbl": "ins_srtgroep",
"key": "ins_srtgroep_key",
"desc": "ins_srtgroep_omschrijving"
}
},
"objecttype": {
"dbs": "ins_v_allsrtinstallatie.ins_srtdeel_key",
"label": L("ins_srtinstallatie_srtdeel"),
"typ": "key",
"foreign": { "tbl": "ins_srtdeel",
"key": "ins_srtdeel_key",
"desc": "ins_srtdeel_omschrijving"
}
}
};
this.hook_pre_edit = function (obj, fld)
{
%>
<script>
var srtinstallatieselector_available = 1; // toon alleen actuele disciplines/groepen en objecten.
</script>
<%
this.fields.disciplinetype.hidden_fld = true;
this.fields.discipline.hidden_fld = true;
}
var xparams = {
GET: {
tables: [ "ins_v_allsrtinstallatie, ins_srtdiscipline, mld_v_aanwezigdiscipline, mld_stdmelding" ],
wheres: [ "mld_stdmelding_srtinst.ins_srtinstallatie_key = ins_v_allsrtinstallatie.ins_srtinstallatie_key(+)",
"mld_stdmelding_srtinst.ins_srtinstallatie_niveau = ins_v_allsrtinstallatie.niveau(+)",
"mld_stdmelding.mld_stdmelding_key = mld_stdmelding_srtinst.mld_stdmelding_key",
"mld_v_aanwezigdiscipline.ins_discipline_key = mld_stdmelding.mld_ins_discipline_key",
"mld_v_aanwezigdiscipline.ins_srtdiscipline_key = ins_srtdiscipline.ins_srtdiscipline_key"
]
}
};
this.REST_GET = generic_REST_GET(this, xparams);
if (mld_stdmelding_key != -1)
this.REST_POST = generic_REST_POST(this);
this.REST_PUT = generic_REST_PUT(this);
this.REST_DELETE = generic_REST_DELETE(this);
}
%>

View File

@@ -4,7 +4,7 @@
File: model_objects.inc
Description: Object model.
Description: Object model. Still quite incomplete (or "under construction" if you like)
Parameters:
Context:
@@ -16,6 +16,7 @@
<!-- #include file="./model_custom_fields.inc"-->
<!-- #include file="./model_fac_tracking.inc"-->
<!-- #include file="./model_ins_kenmerk.inc"-->
<!-- #include file="model_issueobjects.inc"-->
<%
model_objects =
{
@@ -24,14 +25,16 @@ model_objects =
records_name: "objects",
record_name: "object",
multi_update: true,
fields: {"id" : { dbs: "ins_deel_key", typ: "key", filter: "exact" },
"name" : { dbs: "ins_deel_omschrijving", typ: "varchar", filter: "like"},
"description" : { dbs: "ins_deel_opmerking", typ: "varchar", filter: "like"},
"type" : { dbs: "ins_srtdeel_key", typ: "key", filter: "exact", foreign: "ins_srtdeel"},
"state" : { dbs: "ins_deel_state", typ: "varchar" },
"statedate": { dbs: "ins_deel_statedate", typ: "datetime" },
"expiration":{ dbs: "ins_deel_vervaldatum", typ: "date" },
"manager" : { dbs: "prs_perslid_key_beh", typ: "key", foreign: "prs_perslid", track: true, label: L("lcl_ins_manager"), sfilter: "exact" },
fields: {"id" : { dbs: "ins_deel_key", typ: "key", filter: "exact" },
"name" : { dbs: "ins_deel_omschrijving", typ: "varchar", filter: "like"},
"description" : { dbs: "ins_deel_opmerking", typ: "varchar", filter: "like"},
"type" : { dbs: "ins_srtdeel_key", typ: "key", filter: "exact", foreign: "ins_srtdeel"},
"state" : { dbs: "ins_deel_state", typ: "varchar" },
"statedate": { dbs: "ins_deel_statedate", typ: "datetime" },
"expiration":{ dbs: "ins_deel_vervaldatum", typ: "date" },
"manager" : { dbs: "prs_perslid_key_beh", typ: "key", foreign: "prs_perslid", track: true, label: L("lcl_ins_manager"), sfilter: "exact" },
"score1" : { dbs: "ins_deel_mjb_score1", typ: "varchar", filter: "exact", track: true, label: L("lcl_ins_deel_mjb_score1")},
"score2" : { dbs: "ins_deel_mjb_score2", typ: "varchar", filter: "exact", track: true, label: L("lcl_ins_deel_mjb_score2")},
"location" : { dbs: "ins_v_deel_gegevens.alg_locatie_key", typ: "key", foreign: "alg_locatie"},
"building" : { dbs: "ins_v_deel_gegevens.alg_gebouw_key", typ: "key", foreign: "alg_gebouw" },
"floor" : { dbs: "ins_v_deel_gegevens.alg_verdieping_key", typ: "key", foreign: "alg_verdieping" },
@@ -51,7 +54,11 @@ model_objects =
"model": new model_custom_fields(this, new model_ins_kenmerk("D", { internal: true }), { readman: true, readuse: true }),
"joinfield": "flexparentkey",
"enable_update": true
}
},
"issueobjects": {
model: new model_issueobjects(),
joinfield: "object"
}
},
REST_GET: function _GET(params)
{

View File

@@ -20,6 +20,7 @@
<!-- #include file="../shared/budget.inc" -->
<!-- #include file="../shared/kpl_ksrt_validate.inc" -->
<!-- #include file="../mld/mld.inc" -->
<!-- #include file="../prs/prs.inc" -->
<!-- #include file="./model_notes.inc"-->
<!-- #include file="./model_custom_fields.inc"-->
<!-- #include file="./model_fac_tracking.inc"-->
@@ -532,9 +533,16 @@ function model_orders(opdr_key, params)
{
// Wie moet op verzoek goedkeuren voor deze kostenplaats, terwijl het bedrag wellicht onbekend is?
// Eerste fiatteur (pkey) mag niet fiatteren want het zit boven zijn profiel limiet.
// De melder van de melding (user_key) mag niet zelf goedkeuren boven het bedrag can_selfapprove.
// De melder van de melding (user_key) mag niet zelf goedkeuren boven het bedrag can_selfapprove (functie prs.getApprover() regelt dat).
// tot_kosten > can_selfapprove => user_key als exclude key meegeven.
approver_key = prs.getFiatteur(kostenplaats_key, (tot_kosten > S("can_selfapprove"))?user_key:-1, tot_kosten, disc_key);
// De functie prs.getFiatteur() vervangen door de functie prs.getFiatteur().
// De functie prs.getApprover() levert de eerste fiatteur op en checkt daarnaast nog
// of het totaalbedrag door iemand gefiatteerd kan worden.
var params = {prs_key: user_key,
dis_key: disc_key,
kp_key: kostenplaats_key,
totaalbedrag: tot_kosten};
approver_key = prs.getApprover(params);
for_approval = true;
}
}
@@ -559,6 +567,8 @@ function model_orders(opdr_key, params)
if (for_approval && kp_fiat)
{
// Als approver_key -1 was, dan had de functie prs.getApprover() al een abort_with_warning afgegeven
// maar de functie mld.getFirstApprover() nog niet. Daarom hier nog even testen.
if (approver_key == -1)
abort_with_warning(L("lcl_bes_exceed_limit"));
else
@@ -1095,12 +1105,15 @@ function model_orders(opdr_key, params)
+ " AND mld_opdr_key = " + opdr_key;
var allKenmerkenSQL = "SELECT " + lcl.xsql('t.mld_srtkenmerk_omschrijving', 't.mld_srtkenmerk_key') +" kenmerk_omschrijving"
+ ", m.mld_srtkenmerk_key srtkenmerk_key"
+ ", t.mld_srtkenmerk_kenmerktype kenmerk_kenmerktype"
+ ", t.mld_srtkenmerk_systeem kenmerk_systeem"
+ ", k.mld_kenmerk_toonbaar kenmerk_readonly"
+ ", k.mld_kenmerk_uniek kenmerk_uniek"
+ ", fac_kenmerkdomein_key"
+ " FROM mld_kenmerk m, "
+ " FROM mld_kenmerk k, "
+ " mld_srtkenmerk t"
+ " WHERE m.mld_srtkenmerk_key = t.mld_srtkenmerk_key"
+ " AND m.mld_kenmerk_key = "; /* wordt in saveFlexkenmerken uitgebreid */
+ " WHERE k.mld_srtkenmerk_key = t.mld_srtkenmerk_key"
+ " AND k.mld_kenmerk_key = "; /* wordt in saveFlexkenmerken uitgebreid */
// TODO: deze saveFlexKenmerken moet via de standaard includes door model_custom_fields opgelost worden
// pas echter op: die verwacht een properyid voor elk kenmerk terwijl saveFlexKenmerken (nog) een 'id' verwacht
// In het bijzonder wordt in d:\Apps\Facilitor\Branch20172\CUST\ASLE\Appl ook nog de 'id' gezet!

View File

@@ -42,17 +42,6 @@ function model_prs_kostencombinatie()
"hidden_fld": true,
"filter": "like"
},
"refcode": {
"dbs": "prs_kostencombinatie.prs_kostensoort_key",
"label": L("prs_kostensoort_refcode"),
"typ": "key",
"hidden_fld": true,
"foreign": {
"tbl": "prs_kostensoort",
"key": "prs_kostensoort_key",
"desc": "prs_kostensoort_refcode"
}
},
"costtype": {
"dbs": "prs_kostensoort_key",
"label": L("prs_kostensoort_key"),
@@ -102,12 +91,15 @@ function model_prs_kostencombinatie()
this.REST_GET = generic_REST_GET(this, {
"GET": {
"tables": [ext_sql],
"wheres": ["ks.prs_kostensoort_key = prs_kostencombinatie.prs_kostensoort_key",
"( ks.prs_kostensoort_upper LIKE " + safe.quoted_sql(costtype_search) +
"OR UPPER(ks.prs_kostensoort_opmerking) LIKE " + safe.quoted_sql(costtype_search) +
"OR UPPER(ks.prs_kostensoort_refcode) LIKE " + safe.quoted_sql(costtype_search) +
")"
"wheres": [ "EXISTS "
+ " (SELECT 1 "
+ " FROM prs_kostensoort "
+ " WHERE prs_kostensoort.prs_kostensoort_key = "
+ " prs_kostencombinatie.prs_kostensoort_key "
+ " AND ( prs_kostensoort_upper LIKE " + safe.quoted_sql(costtype_search)
+ " OR UPPER (prs_kostensoort_opmerking) LIKE " + safe.quoted_sql(costtype_search)
+ " OR UPPER (prs_kostensoort_refcode) LIKE " + safe.quoted_sql(costtype_search)
+ "))"
]
}
});

View File

@@ -12,6 +12,7 @@
*/
%>
<!-- #include file="../bgt/bgt_tools.inc" -->
<!-- #include file="../api2/api2_tools.inc" -->
<%
function model_prs_kostenplaats()
@@ -21,8 +22,8 @@ function model_prs_kostenplaats()
this.table = "prs_kostenplaats";
this.primary = "prs_kostenplaats_key";
this.autfunction = (S("bgt_enabled")==1 ? ["WEB_FINMSU", "WEB_BGTMGT"] : ["WEB_FINMSU"]);
this.record_title = (S("bgt_enabled")==1 ? L("bgt_kostenplaats") : L("lcl_account"));
this.records_title = (S("bgt_enabled")==1 ? L("bgt_kostenplaats_m") : L("lcl_menu_fin_kostenplaatsen"));
this.record_title = (S("bgt_enabled")==1 ? L("bgt_kostenplaats") : L("prs_kostenplaats"));
this.records_title = (S("bgt_enabled")==1 ? L("bgt_kostenplaats_m") : L("prs_kostenplaats_m"));
this.soft_delete = "prs_kostenplaats_verwijder";
this.fields = {
@@ -55,7 +56,6 @@ function model_prs_kostenplaats()
"dbs": "prs_kostenplaatsgrp_key",
"label": L("lcl_prs_kostenpl_group"),
"typ": "key",
"required": true,
"foreign": bgt_accountgroup_foreign(),
"showtransit": true
},
@@ -67,6 +67,16 @@ function model_prs_kostenplaats()
"required": true,
"filter": "like"
},
"module": {
"dbs": "prs_kostenplaats_module",
"label": L("lcl_prs_type"),
"typ": "varchar",
"LOV": "ALG;" + L("lcl_prs_kosttype_alg")
+ ";PRJ;" + L("lcl_prs_kosttype_prj")
+ ";PRS;" + L("lcl_prs_kosttype_prs"),
"hidden_fld": true,
"defaultvalue": "PRJ"
},
"description": {
"dbs": "prs_kostenplaats_omschrijving",
"label": L("lcl_prs_descr"),
@@ -75,25 +85,39 @@ function model_prs_kostenplaats()
"required": true,
"filter": "like"
},
"begin": {
"dbs": "prs_kostenplaats_begin",
"label": "Startdatum", // L("lcl_start_date"),
"typ": "date"
},
"end": {
"dbs": "prs_kostenplaats_eind",
"label": L("lcl_end_date"),
"typ": "date"
},
"person": {
"dbs": "prs_perslid_key",
"label": L("lcl_prs_budgethouder"),
"typ": "key",
"foreign" : "prs_perslid"
},
"external": {
"dbs": "prs_kostenplaats_extern",
"label": L("lcl_prs_kpnextern"),
"typ": "check0",
"multiedit": true
},
"approval": {
"dbs": "prs_kostenplaats_fiat",
"label": L("lcl_prs_kpnfiat"),
"typ": "check0",
"multiedit": true
},
"begin": {
"dbs": "prs_kostenplaats_begin",
"label": L("lcl_start_date"),
"typ": "date",
"multiedit": true
},
"end": {
"dbs": "prs_kostenplaats_eind",
"label": L("lcl_end_date"),
"typ": "date",
"multiedit": true
},
"costlimit": {
"dbs": "prs_kostenplaats_limiet",
"label": L("lcl_prs_limiet"),
"label": L("lcl_prs_budget") + "&nbsp;(" + L("lcl_valutasign")+")",
"typ": "number"
},
"limitperiod": {
@@ -103,23 +127,6 @@ function model_prs_kostenplaats()
"LOV": "0;" + L("lcl_prs_none") +
";1;" + L("lcl_prs_month") +
";2;" + L("lcl_prs_year")
},
"external": {
"dbs": "prs_kostenplaats_extern",
"label": L("lcl_prs_kpnextern"),
"typ": "check0"
},
"approval": {
"dbs": "prs_kostenplaats_fiat",
"label": L("lcl_prs_kpnfiat"),
"typ": "check0"
},
"module": {
"dbs": "prs_kostenplaats_module",
"label": L("bgt_discipline_module"),
"typ": "varchar",
"hidden_fld": true,
"defaultvalue": "PRJ"
}
};
@@ -191,6 +198,7 @@ function model_prs_kostenplaats()
],
"wheres": [ "prs_kostenplaatsgrp.bgt_project_key = bgt_project.bgt_project_key"
, "prs_kostenplaatsgrp.prs_kostenplaatsgrp_key = prs_kostenplaats.prs_kostenplaatsgrp_key"
, "bgt_project.bgt_project_verwijder IS NULL"
]
}
});
@@ -202,6 +210,56 @@ function model_prs_kostenplaats()
{
delete this.fields.budgetdiscipline;
delete this.fields.budgetproject;
delete this.fields.begin;
delete this.fields.module.hidden_fld;
delete this.fields.module.defaultvalue;
this.hook_pre_edit = function (obj, fld)
{
var kpngrp_prs_key = -1;
var kpg_limperiode = 0;
var kpn_limietperiode = 0;
if (obj.id > -1)
{
var sql = "SELECT kp.prs_kostenplaats_limietperiode"
+ " , kpg.prs_kostenplaatsgrp_limperiode"
+ " , kpg.prs_perslid_key"
+ " FROM prs_kostenplaats kp"
+ " , prs_kostenplaatsgrp kpg"
+ " WHERE kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+)"
+ " AND kp.prs_kostenplaats_key = " + obj.id;
var oRs = Oracle.Execute(sql);
kpngrp_prs_key = oRs("prs_perslid_key").Value? oRs("prs_perslid_key").Value : -1;
kpg_limperiode = oRs("prs_kostenplaatsgrp_limperiode").Value ? oRs("prs_kostenplaatsgrp_limperiode").Value : 0;
kpn_limietperiode = kpg_limperiode ? kpg_limperiode : (oRs("prs_kostenplaats_limietperiode").Value ? oRs("prs_kostenplaats_limietperiode").Value : 0);
oRs.Close();
}
// Wijzigen van de kostenplaats(groep)? Setting prs_restrict_kpedit {0=volgens autorisatie (default) | 1=alleen eigen kp/kpg wijzigen}.
// WEB_FINMSU rechten of budgethouder.
var authparams = user.checkAutorisation("WEB_FINMSU", true);
var canChangeAlg = (authparams && authparams.ALGwritelevel < 9);
var canChange = (canChangeAlg ||
(S("prs_restrict_kpedit") == 1 && (obj.person == user_key || kpngrp_prs_key == user_key))) // Alleen eigen kp/kpg wijzigen
user.auth_required_or_abort(canChange);
fld.name.readonly = !canChangeAlg;
fld.module.readonly = !canChangeAlg;
fld.description.readonly = !canChangeAlg;
fld.person.readonly = !canChangeAlg;
fld.costgroup.readonly = !canChangeAlg;
fld.external.readonly = !canChangeAlg;
fld.approval.readonly = !canChangeAlg;
fld.end.readonly = !canChangeAlg;
fld.limitperiod.readonly = kpg_limperiode;
%>
<script type="text/javascript">
// Deze variabelen zijn nodig in prs_kostenplaats.js
var p_kpn_limietperiode = <%=kpn_limietperiode%>;
</script>
<%
}
this.REST_GET = generic_REST_GET(this);
this.REST_POST = generic_REST_POST(this);
this.REST_PUT = generic_REST_PUT(this);

View File

@@ -57,6 +57,8 @@ function model_prs_perslid(params)
this.records_title = L("prs_perslid_m");
this.autfunction = params.internal?false:"WEB_PRSSYS"; // we controleren zelf
this.fields = {
"id": {
"dbs": "prs_perslid_key",
@@ -105,7 +107,7 @@ function model_prs_perslid(params)
"gender": {
"dbs": "prs_perslid_geslacht",
"label": L("lcl_prs_person_geslacht"),
"typ": "varchar",
"typ": "number",
"LOV": genderLOV()
},
"language": {
@@ -352,9 +354,24 @@ function model_prs_perslid(params)
// Else gewoon een nieuwe
return generic_REST_POST(this)(params, jsondata, parent_key)
}
this.REST_PUT = generic_REST_PUT(this);
this.REST_DELETE = generic_REST_DELETE(this);
if (params.internal || user.has("WEB_PRSMAN"))
{
this.REST_PUT = generic_REST_PUT(this);
this.REST_DELETE = generic_REST_DELETE(this);
}
else
{
var autparams = user.checkAutorisation("WEB_PROFIL");
if (autparams.PRSwritelevel < 9 && autparams.ALGwritelevel < 9)
{
this.REST_PUT = function (params, jsondata, the_key)
{
if (params.filter.id != user_key || params.filter.mode != "attachment") // Bijlagen *bij jezelf* mag je uploaden
abort_with_warning(L("lcl_no_auth"), 403);
return generic_REST_PUT(this)(params, jsondata, the_key);
}
}
}
}
}
%>

View File

@@ -80,7 +80,7 @@ function model_reportcolumns(usrrap_key, params)
typ: "varchar",
label: L("lcl_rap_visible"),
required: true,
LOV: L("lcl_rap_visibleLOV"), // "V;Visible;I;Invisible;H;hidden"
LOV: L("lcl_rap_visibleLOV"), // "V;Visible;I;Invisible;H;hidden;S;Suppress repetitions"
emptyoption: null,
multiedit: true
},

View File

@@ -201,12 +201,25 @@ function model_reports(fac_usrrap_key)
{
var mtc = usrrap.urllink.match(/(.*)\{(.*)\}/);
if (!mtc || mtc.length != 3)
shared.simpel_page("Urllink <em>{0}</em> in rapport moet formaat 'xxxx/yyy.asp?key={keyveld}' hebben.".format(usrrap.urllink));
shared.simpel_page("'{0}' <em>{1}</em> in report must have format 'xxxx/yyy.asp?key={keyfield}'".format(L("lcl_usrrap_urllink"), usrrap.urllink));
model.list.default_url = mtc[1];
// Voorkom dat hij binnen menu-wrapper wordt getoond
if (mtc[1].indexOf("?u=") == 0)
model.list.default_url = "?internal=1&" + mtc[1].substring(1);
keyfield = mtc[2];
var found = false;
for (var i = 0; !found && i < usrrap.columns.length; i++)
{
if (keyfield == usrrap.columns[i].name)
{
if (usrrap.columns[i].datatype.id != "number")
shared.simpel_page("Keyfield <em>{0}</em> in '{1}' {2} must be of type number.".format(keyfield, L("lcl_usrrap_urllink"), usrrap.urllink));
found = true;
}
}
if (!found)
shared.simpel_page("Keyfield <em>{0}</em> in '{1}' {2} does not exist as a column.".format(keyfield, L("lcl_usrrap_urllink"), usrrap.urllink));
}
if (usrrap.authorization)
@@ -274,7 +287,7 @@ function model_reports(fac_usrrap_key)
if (fld == keyfield)
fld = "id";
model.fields[fld] = field;
if (usrrap.columns[i].visible.id == 'V')
if (usrrap.columns[i].visible.id == "V" || usrrap.columns[i].visible.id == "S")
{
model.list.columns.push(fld);
model.list.groupby.push(field.group.id);
@@ -527,7 +540,12 @@ function report_GET(params)
order.push(i+1)
sql += " ORDER BY " + order.join(", ");
var maxcnt = params.filter.showall==1?S("qp_maxrows2"): (params.filter.ismobile?S("qp_maxrows_mobile"):S("qp_maxrows"));
if (params.filter.limit > 0)
maxcnt = parseInt(params.filter.limit, 10);
else
var maxcnt = params.filter.showall==1?S("qp_maxrows2"): (params.filter.ismobile?S("qp_maxrows_mobile"):S("qp_maxrows"));
if (params.filter.offset > 0)
maxcnt += parseInt(params.filter.offset, 10);
if (params.filter.scf_pivot == 1)
params.filter.nolimit = true;
var sql = "SELECT * FROM (" + sql + ")"

View File

@@ -39,7 +39,7 @@ function model_reportsx(usrrap_key, rapparams)
len : 60, required: true
},
"description" : { dbs: "fac_usrrap_info",
typ: "varchar",
typ: "memo",
label: L("lcl_usrrap_info"),
filter: "like",
translate: true

View File

@@ -40,10 +40,16 @@ function model_res_activiteit()
"typ": "key",
"required": true,
"foreign": {
"tbl": "(SELECT res_srtactiviteit_key"
+ " , res_srtactiviteit_omschrijving"
+ " , res_srtactiviteit_soort"
+ " FROM res_srtactiviteit"
+ " WHERE res_srtactiviteit_verwijder IS NULL"
+ ")",
"tbl": "res_srtactiviteit",
"key": "res_srtactiviteit_key",
"desc": "res_srtactiviteit_omschrijving",
"where": "res_srtactiviteit_verwijder IS NULL"
"extravalue": "res_srtactiviteit_soort"
},
"filter": "exact"
},
@@ -60,6 +66,14 @@ function model_res_activiteit()
"typ": "check",
"multiedit": true
},
"posttime": {
"dbs": "res_activiteit_posttime",
"label": L("res_activiteit_posttime"),
"typ": "float",
"defaultvalue": 0,
required: true,
"multiedit": true
},
"visitorsmandatory": {
"dbs": "res_activiteit_aantalverplicht",
"label": L("res_activiteit_aantalverplicht"),
@@ -89,6 +103,14 @@ function model_res_activiteit()
"typ": "check0",
"defaultvalue": 1,
"multiedit": true
},
"deliverymode": {
"dbs": "res_activiteit_cvab_mode",
"label": L("res_activiteit_cvab_mode"),
"typ": "key",
"LOV": L("res_activiteit_cvab_modeLOV"),
"emptyoption": null,
"emptyisrealvalue": true
}
};
@@ -101,6 +123,21 @@ function model_res_activiteit()
}
};
this.hook_pre_show = function (obj, fld)
{
var sql = "SELECT res_srtactiviteit_soort"
+ " FROM res_srtactiviteit"
+ " WHERE res_srtactiviteit_verwijder IS NULL"
+ " AND res_srtactiviteit_key = " + obj.bookingactivitytypes.id;
var oRs = Oracle.Execute(sql);
if (!oRs.eof)
{
var srtact_soort = oRs("res_srtactiviteit_soort").Value;
if (srtact_soort != 1)
delete this.fields.deliverymode;
}
oRs.Close();
}
this.REST_GET = generic_REST_GET(this);
this.REST_POST = generic_REST_POST(this);

View File

@@ -81,10 +81,10 @@ function model_res_ruimte()
"label": L("res_discipline_key"),
"typ": "key",
"foreign": {
"tbl": "ins_tab_discipline",
"tbl": "res_discipline",
"key": "ins_discipline_key",
"desc": "ins_discipline_omschrijving",
"where": "ins_discipline_verwijder is null and ins_discipline_module = 'RES' and ins_discipline_min_level = 3"
"where": "ins_discipline_verwijder is null AND ins_discipline_min_level = 3"
},
"filter": "exact",
"required": true
@@ -249,7 +249,7 @@ function model_res_ruimte()
"dbs": "res_ruimte_extern_id",
"label": L("res_ruimte_extern_id"),
"typ": "varchar"
}
}
};
// veld "res_ruimte_extern_id" alleen te wijzigen met PRSSYS rechten.
@@ -268,7 +268,7 @@ function model_res_ruimte()
"joinfield": "bookingroom",
"multiadd": "bookingconfiguration",
"enable_update": true
}
}
};
// res_v_alg_ruimte_gegevens levert voor een koppelzaal meerdere records waardoor de opstelling ook meervoudig wordt weergegeven.

View File

@@ -59,7 +59,7 @@ function model_rooms(room_key, params)
{ onrgoedlvl: "R"
};
this.includes =
{"cadcontours": { model: model_cadcontours,
{"cadcontours": { model: new model_cadcontours(),
joinfunction: function ()
{
var sqlSync = "SELECT y.alg_ruimte_key cad_ruimte_key"
@@ -162,8 +162,11 @@ function model_rooms(room_key, params)
+ " AND alg_onrgoed_key = " + room_key;
allKenmerkenSQL = " SELECT "+lcl.xsql("k.alg_kenmerk_omschrijving","k.alg_kenmerk_key")+" kenmerk_omschrijving"
+ " , alg_kenmerk_key srtkenmerk_key"
+ " , fac_kenmerkdomein_key"
+ ", k.alg_kenmerk_kenmerktype kenmerk_kenmerktype"
+ ", k.alg_kenmerk_systeem kenmerk_systeem"
+ ", k.alg_kenmerk_toonbaar kenmerk_readonly"
+ ", k.alg_kenmerk_uniek kenmerk_uniek"
+ ", fac_kenmerkdomein_key"
+ " FROM alg_kenmerk k"
+ " WHERE k.alg_kenmerk_verwijder IS NULL"
+ " AND k.alg_kenmerk_niveau = " + safe.quoted_sql("R") /* this.defaults.onrgoedlvl */

View File

@@ -122,6 +122,8 @@ function model_visitors()
this.REST_PUT = function (params, jsondata, the_key) /* update visitors */
{
var scope = params.filter.scope || "fe";
this.autfunction = { fe : "WEB_BEZUSE", fo : "WEB_BEZFOF", bo : "WEB_BEZBOF", mi : "WEB_RESBAC" } [scope];
// TODO: Tracking?
if ("parking" in jsondata) // TODO herclaimen bij gewijzigde tijden of locatie!
{ // Vooralsnog verantwoordelijkheid bij API-bouwer

View File

@@ -15,9 +15,6 @@
ANONYMOUS_Allowed = 1;
%>
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="../Shared/iface.inc" -->
<!-- #include file="./login.inc" -->
<%
var lcl_loggedoff = "U bent nu afgemeld van FACILITOR.<br>Sluit uw browser of klik <a href='{0}'>hier</a> om weer aan te melden.".format(rooturl + "/");
shared.simpel_page(lcl_loggedoff);
shared.simpel_page(L("lcl_loggedoff").format(rooturl + "/"));
%>

View File

@@ -26,6 +26,7 @@ function doLogin(prs_key, params)
// Paranoia mode
var sql = "SELECT prs_perslid_login"
+ " , prs_perslid_einddatum"
+ " , prs_perslid_loglevel"
+ " FROM prs_perslid"
+ " WHERE prs_perslid_verwijder IS NULL"
+ " AND prs_perslid_inactief IS NULL"
@@ -38,7 +39,14 @@ function doLogin(prs_key, params)
}
var first_login = (oRs("prs_perslid_login").Value == null);
var einddatum = oRs("prs_perslid_einddatum").Value != null?new Date(oRs("prs_perslid_einddatum").Value): null;
var loglevel = oRs("prs_perslid_loglevel").Value;
oRs.Close();
if (loglevel > 0)
{ // We doen geen __Logging=3, dan zou voor een gebruiker zo maar de logging in beeld komen
__Logging = 1; // Voor dit bestand
Session("logging") = __Logging;
__Log("Logging for this user {0} is forced on".format(Session("userident")||""), '#f00');
}
if (S("prs_einddatum_login_grace") >= 0 && einddatum)
{
@@ -117,6 +125,7 @@ function doLogin(prs_key, params)
Session("user_key") = user_key; // Nu ben je pas *echt* ingelogd
/* global */ user = new Perslid(user_key);
Session("userident") = "{0} ({1})".format(user.naam(), user.oslogin() || user.oslogin2() || user.prs_perslid_email() || "??"); // Handig voor in logging
Session.Contents.Remove("must_accept_terms");
if (S("fac_accept_terms") > 0
@@ -190,7 +199,9 @@ function doLoginStateless(prs_key, params)
{
/* global */ user_key = prs_key;
Session("user_key") = user_key; // Nu ben je pas *echt* ingelogd
/* global */ user = new Perslid(user_key); // wordt mogelijk nog overruled door imporsonate
/* global */ user = new Perslid(user_key); // wordt mogelijk nog overruled door impersonate
// Ik wil voor API2 Stateless calls geen SELECT op PRS_PERSLID triggeren met de volgende statements
// Session("userident") = "{0} ({1})".format(user.naam(), user.oslogin() || user.oslogin2() || user.prs_perslid_email() || "??"); // Handig voor in logging
Session("stateless") = 1;
Session.Abandon(); // Altijd, voor de zekerheid
}
@@ -1510,14 +1521,6 @@ function process_claim_update(claim, idp_data, params)
abort_with_warning(pResult.errmsg);
}
if (!("department" in persdata))
{
if (!idp_data.department)
shared.internal_error("Department is not configured for Identity Provider {0} ({1})".format(idp_data.code, idp_data.name));
persdata["department"] = idp_data.department.id; // dan moet die ingevuld zijn
}
if (user_key < 0)
__Log("User automatically created with data:");
else
@@ -1532,6 +1535,14 @@ function process_claim_update(claim, idp_data, params)
}
else // nieuwe
{
if (!("department" in persdata))
{
if (!idp_data.department)
shared.internal_error("Department is not configured for Identity Provider {0} ({1})".format(idp_data.code, idp_data.name));
persdata["department"] = idp_data.department.id; // dan moet die ingevuld zijn
}
var prs = person.REST_POST( persparams, persdata );
__DoLog("Created user '{0} {1}' with key {2} for idp '{3}'".format(persdata["firstname"], persdata["lastname"], prs.key, idp_data.code));
// De nieuw aangemaakte gebruiker inloggen:

View File

@@ -44,21 +44,6 @@ if (Response.Expires > 0)
<%
__Log("== Entering loginTry.asp ==");
if (typeof Session("sso_sgf") == "string") // Vanuit FACWS001-portal/ sso_sgf.asp
{
Session.Contents.Remove("ASPFIXATION"); // Niet moeilijk doen
settings.overrule_setting("login_use_email", 0); // We hebben altijd login gescanned namelijk
tryLogin(String(Session("sso_sgf")), null, { noPassword: true });
if (user_key < 0 && parseInt(String(Session("sso_sgf")), 10))
doLogin(parseInt(String(Session("sso_sgf")), 10)); // je mag ook key meegeven
var realuser = Session("sso_sgf_realuser");
if (user_key > 0 && realuser)
shared.trackaction("PRSLOG", user_key, L("lcl_logged_on_sso").format(realuser, Request.ServerVariables("REMOTE_ADDR")));
Session.Contents.Remove("sso_sgf");
Session.Contents.Remove("sso_sgf_realuser");
}
// De stateless varianten proberen we eerst, die worden tenslotte potentieel vaak uitgevoerd
if (user_key < 0)
{
@@ -69,7 +54,7 @@ if (user_key < 0)
APIKEY = String(Request.ServerVariables("HTTP_X_FACILITOR_API_KEY")); // Meegegeven als X-FACILITOR-API-Key
if (APIKEY)
{
var sql = "SELECT prs_perslid_key, prs_perslid_naam, prs_perslid_oslogin"
var sql = "SELECT prs_perslid_key, prs_perslid_naam, prs_perslid_oslogin, prs_perslid_loglevel, prs_perslid_flags"
+ " FROM prs_perslid"
+ " WHERE prs_perslid_verwijder IS NULL"
+ " AND prs_perslid_apikey = " + safe.quoted_sql(APIKEY);
@@ -77,7 +62,19 @@ if (user_key < 0)
if (!oRs.Eof)
{
__Log("API2 User is: {0} ({1})".format(oRs("prs_perslid_naam").Value, oRs("prs_perslid_oslogin").Value));
if (oRs("prs_perslid_flags").Value & 16) //isWriteonlyApi2User
{
Session("isWriteonlyApi2User") = true;
}
Session("userident") = "{0} (APIKEY: {1})".format(oRs("prs_perslid_naam").Value, APIKEY.substr(0,3) + "..."); // Handig voor in logging
doLoginStateless(oRs("prs_perslid_key").Value);
var loglevel = oRs("prs_perslid_loglevel").Value;
if (loglevel > 0) // We doen geen __Logging=3, dan zou voor een gebruiker zo maar de logging in beeld komen
{
// __Logging = 1; // *dit* bestand interessert me niet genoeg
Session("logging") = 1; // Stateless maar voor de server.redirect e.d. toch zetten
Session("userident") = Session("userident") + " (forced logging)";
}
}
// else negeren
oRs.Close()
@@ -262,7 +259,10 @@ if ((user_key < 0 || getQParamInt("jwtforce", 0) == 1) && jwt)
Session("idp_key") = idp_data.id;
if (claim.payload.fclt_realuser)
{
Session("fclt_realuser") = claim.payload.fclt_realuser; // Komt mooi in eventuele AiAi logging terecht.
shared.trackaction("PRSLOG", user_key, L("lcl_logged_on_sso").format(claim.payload.fclt_realuser, Request.ServerVariables("REMOTE_ADDR")));
}
if (!by_bearer) // bearer is stateless/ single request dus geen redirect
{

View File

@@ -21,6 +21,14 @@
// Deze zet de status en doet dan bijpassende tracking en notificatie
// zou leuk zijn om true of false op te leveren naar gelang de status echt anders is geworden
},
setbestelopdrstatus:
function (bes_key, bes_bestelopdrstatus_key)
{
var sql = "BEGIN bes.setbestelopdrstatus(" + bes_key + ", " + bes_bestelopdrstatus_key + ", " + user_key + "); END;"
Oracle.Execute(sql);
// Deze zet de status en doet dan bijpassende tracking en notificatie
// zou leuk zijn om true of false op te leveren naar gelang de status echt anders is geworden
},
updatebestellingstatus:
function (bes_key)
{
@@ -37,6 +45,239 @@
// Deze zet de controleert de status van de bestelopdracht op basis van de status van de regels
// en doet dan ook bijpassende tracking en notificatie
},
matchObjectSql:
function (pins_srtdeel_key, pbestelling_item_key, params)
{ // Matcht bestelde artikelen op objecten die dezelfde kenmerken (srtkenmerk_omschrijving) hebben.
var sql = "SELECT DISTINCT ins.ins_deel_key"
+ " , ins_alg_ruimte_key"
+ " , ins_alg_ruimte_type"
+ " , bes.bes_waarde"
+ " , ins.ins_waarde"
+ " FROM (SELECT sd.ins_srtdeel_key"
+ " , sk.bes_srtkenmerk_omschrijving"
+ " , kbi.bes_kenmerkbesteli_waarde bes_waarde"
+ " FROM bes_bestelling_item bi"
+ " , bes_srtdeel sd"
+ " , bes_srtkenmerk sk"
+ " , bes_kenmerk k"
+ " , bes_kenmerkbesteli kbi"
+ " WHERE bi.bes_bestelling_item_key = kbi.bes_bestelling_item_key(+)"
+ " AND bi.bes_srtdeel_key = sd.bes_srtdeel_key"
+ " AND kbi.bes_kenmerk_key = k.bes_kenmerk_key(+)"
+ " AND k.bes_srtkenmerk_key = sk.bes_srtkenmerk_key(+)"
+ " AND bi.bes_bestelling_item_key IN (" + pbestelling_item_key + ")"
+ " AND kbi.bes_kenmerkbesteli_verwijder(+) IS NULL"
+ " AND k.bes_kenmerk_verwijder(+) IS NULL"
+ " AND k.bes_kenmerk_type(+) = 'I'"
+ " AND sk.bes_srtkenmerk_verwijder(+) IS NULL) bes"
+ " , (SELECT DISTINCT d.ins_deel_key"
+ " , s.ins_srtdeel_key"
+ " , d.ins_alg_ruimte_key"
+ " , d.ins_alg_ruimte_type"
+ " , t.ins_srtkenmerk_omschrijving ins_srtkenmerk_omschrijving"
+ " , (SELECT v.ins_kenmerkdeel_waarde"
+ " FROM ins_kenmerkdeel v"
+ " WHERE (v.ins_deel_key = d.ins_deel_key"
+ " AND k.ins_kenmerk_bewerkniveau = 'D'"
+ " OR v.ins_deel_key IN (" + pins_srtdeel_key + ")"
+ " AND k.ins_kenmerk_bewerkniveau = 'S')"
+ " AND v.ins_kenmerk_key = k.ins_kenmerk_key"
+ " AND ins_kenmerkdeel_verwijder IS NULL) ins_waarde"
+ " FROM ins_deel d"
+ " , ins_srtkenmerk t"
+ " , ins_kenmerk k"
+ " , ins_srtdeel s"
+ " , ins_srtgroep g"
+ " WHERE s.ins_srtdeel_key = d.ins_srtdeel_key"
+ " AND k.ins_srtkenmerk_key = t.ins_srtkenmerk_key"
+ " AND g.ins_srtgroep_key = s.ins_srtgroep_key"
+ " AND k.ins_kenmerk_verwijder IS NULL"
+ " AND t.ins_srtkenmerk_verwijder IS NULL"
+ " AND s.ins_srtdeel_key IN (" + pins_srtdeel_key + ")"
+ " AND ((k.ins_srtinstallatie_key = s.ins_srtdeel_key"
+ " AND k.ins_kenmerk_niveau = 'S')"
+ " OR (k.ins_srtinstallatie_key = s.ins_srtgroep_key"
+ " AND k.ins_kenmerk_niveau = 'G')"
+ " OR (k.ins_srtinstallatie_key = g.ins_discipline_key"
+ " AND k.ins_kenmerk_niveau = 'D'))"
+ (params.retour
? " AND d.ins_alg_ruimte_key_org IS NOT NULL AND d.ins_alg_ruimte_type_org IS NOT NULL" // Alleen objecten die in gebruik zijn.
+ " AND d.bes_bestelopdr_key = " + params.bestelopdr_key
: " AND d.ins_alg_ruimte_key_org IS NULL AND d.ins_alg_ruimte_type_org IS NULL") // Alleen vrije objecten.
+ " ) ins"
+ " WHERE bes.ins_srtdeel_key = ins.ins_srtdeel_key"
+ " AND bes.bes_srtkenmerk_omschrijving = ins.ins_srtkenmerk_omschrijving"
+ " ORDER BY ins_deel_key"
return sql;
},
getMatchObjectsSql:
function (pins_srtdeel_key, pbestelling_item_key, params)
{ // Matcht bestelde artikelen op objecten.
// Geeft een query terug met alle objecten die behoren onder de objectsoort die is gekoppeld aan het bestelde artikel.
// Als er bij het bestelde artikel kenmerkwaarden zijn ingevuld van kenmerken die gelijk zijn aan kenmerken van het object (dezelfde srtkenmerk_omschrijving)
// dan moeten deze waarden ook overeenkomen.
// Zijn er ingevulde artikel kenmerken die overeen moeten komen met gelijke kenmerken bij het object? Waarden zijn nog niet van belang.
var sql_match = "SELECT COUNT(DISTINCT ins_deel_key) aantal"
+ " FROM (" + bes.matchObjectSql(pins_srtdeel_key, pbestelling_item_key, params) + ")";
var oRs_match = Oracle.Execute(sql_match);
var domatch = oRs_match("aantal").Value > 0;
oRs_match.Close()
if (domatch)
{
var sql_freeobj = "SELECT "
+ (params.getcount
? " COUNT(DISTINCT ins_deel_key) aantal"
: " DISTINCT ins_deel_key"
+ " , ins_alg_ruimte_key"
+ " , ins_alg_ruimte_type")
+ " FROM (" + bes.matchObjectSql(pins_srtdeel_key, pbestelling_item_key, params) + ")"
+ " WHERE bes_waarde = ins_waarde";
}
else
{ // Alle objecten van de objectsoort die gekoppeld is aan het bestelde artikel zijn ok.
var sql_freeobj = "SELECT "
+ (params.getcount
? " COUNT(DISTINCT d.ins_deel_key) aantal"
: " DISTINCT d.ins_deel_key"
+ " , d.ins_alg_ruimte_key"
+ " , d.ins_alg_ruimte_type")
+ " FROM ins_deel d"
+ " , ins_srtdeel s"
+ " WHERE s.ins_srtdeel_key = d.ins_srtdeel_key"
+ " AND s.ins_srtdeel_key IN (" + pins_srtdeel_key + ")"
+ (params.retour
? " AND d.ins_alg_ruimte_key_org IS NOT NULL AND d.ins_alg_ruimte_type_org IS NOT NULL" // Alleen objecten die in gebruik zijn.
+ " AND d.bes_bestelopdr_key = " + params.bestelopdr_key
: " AND d.ins_alg_ruimte_key_org IS NULL AND d.ins_alg_ruimte_type_org IS NULL"); // Alleen vrije objecten.
}
return sql_freeobj;
},
createattachdisconnectObjects:
function (popdr_key, pbestelopdr_item_key, paantalontv)
{ // Aanmaken (Create), koppelen (Attach) of loskoppelen (Disconnect) van objecten aan of van de bestelopdracht (per bestelopdrachtregel).
if (isNaN(paantalontv) || paantalontv == 0) return;
// Eerst instelling gegevens ophalen.
sql = "SELECT bi.bes_bestelling_item_key"
+ " , bdp.bes_disc_params_ins_mode"
+ " , s.ins_srtdeel_key"
+ " , bes.prs_perslid_key_voor"
+ " , BITAND(sd.ins_srtdeel_binding, 8) afd_binding"
+ " , BITAND(sd.ins_srtdeel_binding, 16) prs_binding"
+ " , CASE"
+ " WHEN bes.bes_bestelling_retourvan_key IS NOT NULL"
+ " THEN 1"
+ " ELSE 0"
+ " END isRetour"
+ " , bes.bes_bestelling_retourvan_key"
+ " FROM bes_bestelopdr b"
+ " , bes_bestelopdr_item boi"
+ " , bes_bestelling_item bi"
+ " , bes_bestelling bes"
+ " , bes_srtdeel s"
+ " , bes_srtgroep g"
+ " , bes_v_aanwezigdiscipline d"
+ " , bes_disc_params bdp"
+ " , ins_srtdeel sd"
+ " WHERE b.bes_bestelopdr_key = boi.bes_bestelopdr_key"
+ " AND boi.bes_bestelopdr_item_key = bi.bes_bestelopdr_item_key"
+ " AND bi.bes_srtdeel_key = s.bes_srtdeel_key"
+ " AND bi.bes_bestelling_key = bes.bes_bestelling_key"
+ " AND s.bes_srtgroep_key = g.bes_srtgroep_key"
+ " AND g.ins_discipline_key = d.ins_discipline_key"
+ " AND d.ins_discipline_key = bdp.bes_ins_discipline_key"
+ " AND s.ins_srtdeel_key = sd.ins_srtdeel_key(+)"
+ " AND b.bes_bestelopdr_key = " + popdr_key
+ " AND boi.bes_bestelopdr_item_key = " + pbestelopdr_item_key;
var oRsb = Oracle.Execute(sql);
// Alle artikelen/bestelregels hebben dezelfde discipline en dus dezelfde ins_mode (bes_disc_params_ins_mode).
var ins_mode = oRsb("bes_disc_params_ins_mode").Value;
// Als de ins_mode "Niet van toepassing(0)" is, dan zijn we direct klaar.
if (ins_mode == 0) return;
var bestelling_item_key = oRsb("bes_bestelling_item_key").Value;
var ins_mode = oRsb("bes_disc_params_ins_mode").Value;
var ins_srtdeel_key = oRsb("ins_srtdeel_key").Value || -1;
var prs_perslid_key_voor = oRsb("prs_perslid_key_voor").Value;
var afd_binding = oRsb("afd_binding").Value == 8;
var prs_binding = oRsb("prs_binding").Value == 16;
var isRetour = oRsb("isRetour").Value == 1;
var bes_bestelling_retourvan_key = oRsb("bes_bestelling_retourvan_key").Value;
if (!isRetour && ins_mode > 0 && ins_srtdeel_key < 0)
abort_with_warning(L("lcl_bes_notlinkedto_obj_type"));
var freeobj_params = {retour: isRetour};
if (isRetour)
{
sql_r = "SELECT boi.bes_bestelopdr_key"
+ " FROM bes_bestelling_item bi"
+ " , bes_bestelopdr_item boi"
+ " WHERE bi.bes_bestelopdr_item_key = boi.bes_bestelopdr_item_key"
+ " AND bi.bes_bestelling_key = " + bes_bestelling_retourvan_key;
oRs_r = Oracle.Execute(sql_r);
freeobj_params.bestelopdr_key = oRs_r("bes_bestelopdr_key").Value;
oRs_r.Close();
}
// De scope is vooralsnog alleen de functionaliteit waarbij de objecten al bestaan in FACILITOR (ins_deel records) (DJIN#41674).
//if (ins_mode == 1 && paantalontv > 0)
//{ // Aanmaken objecten.
// // TODO: Objecten vanuit bestellingen kunnen aanmaken voordat deze objecten worden gekoppeld.
//}
// Koppelen van objecten.
var sql_freeobj = bes.getMatchObjectsSql(ins_srtdeel_key, bestelling_item_key, freeobj_params);
sql = "SELECT ins_deel_key"
+ " , ins_alg_ruimte_key"
+ " , ins_alg_ruimte_type"
+ " FROM (" + sql_freeobj + ")"
+ " WHERE ROWNUM <= (" + Math.abs(paantalontv) + ")"
+ " ORDER BY ins_deel_key"
+ (isRetour
? " DESC"
: "");
var oRsi = Oracle.Execute(sql);
while (!oRsi.eof)
{
ins_deel_key = oRsi("ins_deel_key").Value;
if (paantalontv > 0)
{
// Object koppelen.
sql = "UPDATE ins_deel"
+ " SET ins_alg_ruimte_key_org = " + oRsi("ins_alg_ruimte_key").Value
+ " , ins_alg_ruimte_type_org = '" + oRsi("ins_alg_ruimte_type").Value + "'"
+ " , ins_alg_ruimte_key = " + (prs_binding? prs_perslid_key_voor : new Perslid(prs_perslid_key_voor).prs_afdeling_key())
+ " , ins_alg_ruimte_type = " + (prs_binding? "'P'" : "'A'")
+ " , bes_bestelopdr_key = " + popdr_key
+ " WHERE ins_deel_key = " + ins_deel_key;
}
else
{
// Object loskoppelen.
sql = "UPDATE ins_deel"
+ " SET ins_alg_ruimte_key_org = NULL"
+ " , ins_alg_ruimte_type_org = NULL"
+ " , ins_alg_ruimte_key = ins_alg_ruimte_key_org"
+ " , ins_alg_ruimte_type = ins_alg_ruimte_type_org"
+ " , bes_bestelopdr_key = NULL"
+ " WHERE ins_deel_key = " + ins_deel_key;
}
Oracle.Execute(sql);
oRsi.MoveNext();
}
oRsi.Close();
oRsb.Close();
},
autoapprovefactuur:
function (opdr_key)
{ // Zijn er bijbehorende facturen die al zijn ingevoerd met de status "Ingevoerd(2)" die nog geapproved moeten worden?
@@ -68,6 +309,7 @@
case 6: { statustekst = L("lcl_bes_geleverd"); break; }
case 7: { statustekst = L("lcl_bes_verwerkt"); break; }
case 8: { statustekst = L("lcl_bes_is_bescan"); break; }
case 9: { statustekst = L("lcl_bes_ontvangen"); break; }
}
if (__Logging > 0)
statustekst += " ("+String(p)+")";
@@ -132,7 +374,9 @@
+ " , bes_disc_params_maxartikel"
+ " , bes_disc_params_kpautorisatie"
+ " , bes_disc_params_for_others"
+ " , bes_disc_params_freeartikel"
+ " , bes_disc_params_fe_confirm"
+ " , bes_disc_params_bestelmode"
+ " , bes_disc_params_fotomode"
+ " FROM bes_discipline bd, bes_disc_params bdp"
+ " WHERE bd.ins_discipline_key = " + disc_key
+ " AND bdp.bes_ins_discipline_key = bd.ins_discipline_key";
@@ -165,7 +409,10 @@
maxartikel : oRs("bes_disc_params_maxartikel").Value? oRs("bes_disc_params_maxartikel").Value : -1,
kpautorisatie : oRs("bes_disc_params_kpautorisatie").Value == 1,
disc_params_for_others : oRs("bes_disc_params_for_others").Value == 1,
isFreeArticle : oRs("bes_disc_params_freeartikel").Value == 1, // {0=ouderwets, 1=vrij artikelen, 2=met suggest voor bestaande (future)}
disc_params_fe_confirm : oRs("bes_disc_params_fe_confirm").Value == 1,
bestelmode : oRs("bes_disc_params_bestelmode").Value, // 0=ouderwets artikelselector, 1=vrij artikelen, 2=bestellijst
fotomode : oRs("bes_disc_params_fotomode").Value, // 0=ouderwets bij kiezen, 1=ook in bestellijst
isFreeArticle : oRs("bes_disc_params_bestelmode").Value == 1,
can_concept : oRs("bes_disc_params_herfiat").Value > 0 // 5.1.2 functionaliteit
}
oRs.Close();
@@ -411,6 +658,10 @@
+ " , m.mld_adres_key"
+ " , b.bes_bestelling_leverdatum"
+ " , b.bes_bestelling_retourvan_key"
+ " , prs.getfiatteur (b.prs_kostenplaats_key, -1, " + staffel_info.totaalbedrag + ", sg.ins_discipline_key) fiatteur_kp_key"
+ " , kg.prs_perslid_key fiatteur_kpg_key"
+ " , kg.prs_kostenplaatsgrp_fiat2_key"
+ " , kg.prs_kostenplaatsgrp_fiat3_key"
+ " , b.bes_bestelling_fiat_user"
+ " , b.bes_bestelling_korting"
+ " , b.bes_bestelling_levkosten"
@@ -428,9 +679,22 @@
+ " FROM bes_bestelling b"
+ " , prs_perslid p"
+ " , mld_adres m"
+ " , bes_bestelling_item bi"
+ " , bes_srtdeel sd"
+ " , bes_srtgroep sg"
+ " , prs_kostenplaats k"
+ " , prs_kostenplaatsgrp kg"
+ " WHERE b.bes_bestelling_key = " + bes_key
+ " AND p.prs_perslid_key = b.prs_perslid_key"
+ " AND m.mld_adres_key(+) = b.mld_adres_key_lev";
+ " AND m.mld_adres_key(+) = b.mld_adres_key_lev"
+ " AND b.bes_bestelling_key = bi.bes_bestelling_key"
+ " AND bi.bes_bestelling_item_key = (SELECT MAX(bi2.bes_bestelling_item_key)"
+ " FROM bes_bestelling_item bi2"
+ " WHERE bi2.bes_bestelling_key = " + bes_key + ")"
+ " AND bi.bes_srtdeel_key = sd.bes_srtdeel_key"
+ " AND sd.bes_srtgroep_key = sg.bes_srtgroep_key"
+ " AND b.prs_kostenplaats_key = k.prs_kostenplaats_key(+)" // kostenplaats van de opdracht kan leeg zijn
+ " AND k.prs_kostenplaatsgrp_key = kg.prs_kostenplaatsgrp_key(+)";
var oRs = Oracle.Execute(sql);
if (oRs.Eof)
@@ -454,7 +718,11 @@
afleverruimte : oRs("bes_bestelling_plaats").Value,
rfoDeliverydate : new Date(oRs("bes_bestelling_leverdatum").Value),
rfoRetourVan : oRs("bes_bestelling_retourvan_key").Value,
bes_bestelling_fiat_user : oRs("bes_bestelling_fiat_user").Value, // degene die al geweest is
fiatteur_kp_key : oRs("fiatteur_kp_key").Value || -1,
fiatteur_kpg_key : oRs("fiatteur_kpg_key").Value || -1,
fiatteur2_kpg_key : oRs("prs_kostenplaatsgrp_fiat2_key").Value || -1,
fiatteur3_kpg_key : oRs("prs_kostenplaatsgrp_fiat3_key").Value || -1,
bes_bestelling_fiat_user : oRs("bes_bestelling_fiat_user").Value, // Degene als laatste heeft gefiatteerd.
rfoBesKosten : oRs("bes_bestelling_korting").Value,
rfoLevKosten : oRs("bes_bestelling_levkosten").Value,
rfoOpmerking : oRs("bes_bestelling_opmerking").Value,
@@ -481,7 +749,7 @@
// Merk op dat het datamodel bestellingen uit meerdere catalogi ondersteund maar
// de interface niet. Daarom kan hieronder de MAX(bsg.ins_discipline_key) om <20><>n record te krijgen
var sql = "SELECT MAX(bsg.ins_discipline_key) ins_discipline_key"
+ " , prs.getfiatteur (" + bes_bestelling.kostenplaats_key + ", " + exclude_fiatter + ", " + staffel_info.totaalbedrag + ", MAX(bsg.ins_discipline_key)) fiatteur_key"
+ " , prs.nextfiatteur(" + bes_key + ", 'BES', COALESCE(" + bes_bestelling.bes_bestelling_fiat_user + ", -1)) fiatteur_key"
+ " , SUM(bi.bes_bestelling_item_aantal * bi.bes_bestelling_item_prijs) totaal"
+ " , SUM(bi.bes_bestelling_item_aantalontv) aantalontv"
+ " , MAX(bsg.bes_srtgroep_key) bes_srtgroep_key" // Wordt gebruikt tbv. singlegroep en dan is er maar eentje
@@ -510,7 +778,7 @@
shared.internal_error("BES: no item lines.");
bes_bestelling.dis_key = oRs("ins_discipline_key").Value;
bes_bestelling.fiatteur_key = oRs("fiatteur_key").Value; // degene die het moet doen
bes_bestelling.fiatteur_key = oRs("fiatteur_key").Value; // De volgende fiatteur. Degene die het moet doen.
bes_bestelling.srtgroep = oRs("bes_srtgroep_key").Value;
bes_bestelling.singlegroep = oRs("singlegroep").Value == 1;
bes_bestelling.inclBTW = oRs("inclBTW").Value || 0;
@@ -611,6 +879,7 @@
+ " , b.bes_bestelopdr_delivery_opmerk"
+ " , b.bes_bestelopdr_korting"
+ " , b.bes_bestelopdr_levkosten"
+ " , b.bes_bestelopdr_flag"
+ " , bes_bestelopdr_status"
+ " , (SELECT ks.prs_kostensoort_btw"
+ " FROM prs_kostensoort ks"
@@ -659,7 +928,8 @@
perslid_key : oRs("prs_perslid_key").Value,
dis_key : oRs("ins_discipline_key").Value,
korting : parseFloat((oRs("bes_bestelopdr_korting").Value? oRs("bes_bestelopdr_korting").Value : 0).toFixed(2)),
levkosten : parseFloat((oRs("bes_bestelopdr_levkosten").Value? oRs("bes_bestelopdr_levkosten").Value : 0).toFixed(2))
levkosten : parseFloat((oRs("bes_bestelopdr_levkosten").Value? oRs("bes_bestelopdr_levkosten").Value : 0).toFixed(2)),
flag : oRs("bes_bestelopdr_flag").Value
}
if(oRs("bes_bestelopdr_status").Value == 6 && oRs("bes_bestelling_retourvan_key").Value > 0)
bes_bestelopdr.statustxt = L("lcl_bes_collected");
@@ -700,8 +970,8 @@
function _func_enabled_bestelling(bes_bestelling, params) // bes_bestelling is een bestelling_info hash
{
params = params || {};
var isVerantwoordelijke = (bes_bestelling.fiatteur_key == user_key || user.isCollega(bes_bestelling.fiatteur_key));
isVerantwoordelijke |= (bes_bestelling.bes_bestelling_fiat_user == user_key || user.isCollega(bes_bestelling.bes_bestelling_fiat_user));
var isVerantwoordelijke = user.isCollega(bes_bestelling.fiatteur_key);
isVerantwoordelijke |= user.isCollega(bes_bestelling.bes_bestelling_fiat_user);
var bresult = user.func_enabled2("BES",
{ ins_discipline_key: bes_bestelling.dis_key,
@@ -741,7 +1011,7 @@
bresult.canReadFOF = bresult.canRead("WEB_BESFOF");
bresult.canReadBOF = bresult.canRead("WEB_BESBOF");
var eigenBestelling = bes_bestelling.perslid_key == user_key || user.isCollega(bes_bestelling.perslid_key);
var eigenBestelling = user.isCollega(bes_bestelling.perslid_key);
// Als ik nog voor voor_wijzig // voor_annuleer zit mag de fe vaak nog wel wijzigen/ annuleren
var voor_annuleer = bes_bestelling.annuleer_tot && bes_bestelling.annuleer_tot > (new Date);
var voor_wijzig = bes_bestelling.wijzig_tot && bes_bestelling.wijzig_tot > (new Date);
@@ -753,7 +1023,8 @@
bresult.canSubmit = false; // Echt bestellen (vaak automatisch), maakt opdracht aan
bresult.canApprove = false; // Fiatteren financieel
bresult.canDelete = false; // Algemeen verwijderen
bresult.canFactuur = false; // Facturen bekijken
bresult.canFactuur = false; // Facturen bekijken
bresult.canConfirm = false; // FE Bevestigen ontvangst.
// TODO: Hoe is retour functie-autorisatie afhankelijk? canWrite("WEB_BESUSE") || canWrite("WEB_BESFOF")?
var bes_disc_info = bes.disc_info(bes_bestelling.dis_key); // alle discipline informatie
var _canRetour = (bes_disc_info.disc_params_retour == 1 && bes_bestelling.rfoRetourVan == null) &&
@@ -766,6 +1037,11 @@
bresult.canMainChange = false; // 'Bovenste stuk', voormalig lower_part
bresult.canItemsChange = false; // Mag ik toevoegen en aantallen verhogen
var eigenBestelling = user.isCollega(bes_bestelling.perslid_key_voor);
var fe_confirm = bes_disc_info.disc_params_fe_confirm;
var isRetour = bes_bestelling.rfoRetourVan != null;
var canConfirm = !isRetour && fe_confirm && eigenBestelling;
bresult.isChange = bes_bestelling.parent_key > 0;
bresult.hasChange = bes_bestelling.change_key > 0;
if (!bresult.hasChange) // Als de bestelaanvraag een change heeft mag je er niets meer mee.
@@ -896,6 +1172,7 @@
bresult.canMainChange = bresult.canWrite("WEB_BESFOF")||user.checkAutorisation("WEB_ORDFIN", true); // Bijvoorbeeld kostenplaats te wijzigen
bresult.canRetourURL = _canRetour && (bes_disc_info.disc_params_retour_url != null);
bresult.canRetourBES = _canRetour && !bresult.canRetourURL;
bresult.canConfirm = canConfirm
break;
case 7: // Verwerkt (AV)
break;
@@ -911,33 +1188,40 @@
func_enabled_bestelopdracht: // Wat mag ik zoal op deze specifieke bestel opdracht?
function _func_enabled_bestelopdracht(opdr_key) // bes_bestelopdr is een bestelopdr_info hash
{
var sql = "SELECT DISTINCT bo.prs_perslid_key"
var sql = "SELECT DISTINCT bo.prs_perslid_key bes_opdr_prs_key"
+ " , g.ins_discipline_key"
+ " , bo.bes_bestelopdr_status"
+ " , ma.alg_locatie_key"
+ " , bes_disc_params_fe_confirm"
+ " FROM bes_bestelopdr bo"
+ " , bes_bestelopdr_item boi"
+ " , bes_bestelling_item bi"
+ " , bes_bestelling b"
+ " , bes_srtdeel s"
+ " , bes_srtgroep g"
+ " , bes_disc_params bdp"
+ " , mld_adres ma"
+ " WHERE bo.bes_bestelopdr_key = boi.bes_bestelopdr_key"
+ " AND boi.bes_bestelopdr_item_key = bi.bes_bestelopdr_item_key"
+ " AND bi.bes_bestelling_key = b.bes_bestelling_key"
+ " AND bi.bes_srtdeel_key = s.bes_srtdeel_key"
+ " AND s.bes_srtgroep_key = g.bes_srtgroep_key"
+ " AND bo.mld_adres_key_lev = ma.mld_adres_key"
+ " AND bdp.bes_ins_discipline_key = g.ins_discipline_key"
+ " AND bo.bes_bestelopdr_key = " + opdr_key;
var oRs = Oracle.Execute(sql);
var perslid_key = oRs("prs_perslid_key").Value; // De aanmaker van de bestelopdracht.
var bes_opdr_prs_key = oRs("bes_opdr_prs_key").Value; // De aanmaker van de bestelopdracht.
var dis_key = oRs("ins_discipline_key").Value;
var alg_locatie_key = oRs("alg_locatie_key").Value;
var bestelopdr_status = oRs("bes_bestelopdr_status").Value;
var disc_params_fe_confirm = oRs("bes_disc_params_fe_confirm").Value;
oRs.Close();
var bresult = user.func_enabled2("BES",
{ ins_discipline_key: dis_key,
loc_key: alg_locatie_key,
prs_key: perslid_key,
prs_key: bes_opdr_prs_key,
checkOptimistic: false, // pessimist
isOptional: false
}
@@ -947,6 +1231,7 @@
bresult.canReadAny = bresult.canRead("WEB_BESBOF") || bresult.canRead("WEB_BESBOR") || bresult.canRead("WEB_BESBAC"); // Bestel opdracht alleen zichtbaar voor backoffice
bresult.canReadBOF = bresult.canRead("WEB_BESBOF");
bresult.canReadBOR = bresult.canRead("WEB_BESBOR");
bresult.canWriteFlags = bresult.canWrite("WEB_BESBOF") || bresult.canWrite("WEB_BESFOF"); // Kan ik flags aanpassen
// Op button niveau
bresult.canChange = false; // Wijzigen
@@ -1023,6 +1308,18 @@
// Je hebt eerst totaal aantallen per staffelgroep nodig om korting van een (groeps) artikel te kunnen berekenen.
for (var i = 0; i < srtdeel_keys.length; i++)
{
if (itemaantal_arr[i] == 0) // Bij een bestel_lijst zijn er heel veel met aantal 0
{
ItemArray.push({ item_key : srtdeel_keys[i],
aantal : itemaantal_arr[i],
prijs : null,
eenheid : null,
staffelgroep: null
});
continue;
}
sql = "SELECT sd.bes_staffeltabel_key staffelgroep"
+ ", bst.bes_staffeltabel_naam staffelgroepnaam"
+ ", COALESCE(bes.getsrtdeelprijs(sd.bes_srtdeel_key, NULL) , 0) prijs"
@@ -1364,42 +1661,6 @@
},
getApprover: function(params)
{ // Bepaalde de fiatteur (KP verantwoordelijke of KPG verantwoordlijke).
// Levert altijd de eerste fiatteur op maar controleert wel alvast of (als zijn
// budget niet echt genoeg is) of de KPG verantwoordelijke wel voldoende budget
// heeft. Anders stokt het verderop in het proces.
var prs_key = params.prs_key;
var dis_key = params.dis_key;
var kp_key = params.kp_key;
var totaalbedrag = params.totaalbedrag;
var approver_key = prs.getFiatteur(kp_key, totaalbedrag > S("can_selfapprove")?prs_key:-1, totaalbedrag, dis_key);
__Log('Eerstgevonden fiatteur: ' + approver_key);
if (approver_key == -1) {
// geen fiatteur gevonden, bestellen niet mogelijk
__Log('bestelling afgebroken');
abort_with_warning(L("lcl_bes_no_fiatteur"));
}
// Bij methode 3 heeft getfiatteur() al gekeken naar de profielen en heeft daarbij al
// tot en met de kpgroepverantwoordelijke gekeken. Als de opgeleverde perslid die
// kpgroepverantw is, ga je hier geen hogere meer vinden. Niet doen dan dus.
if (S("prs_approvemethod") != 3 && budget.exceeds_profiel(totaalbedrag, approver_key, dis_key))
{ // de gevonden fiatteur heeft onvoldoende profiel, is er een hogere (kpngroepverantwoordelijke)
// Let wel: alleen controle of hij er bestaat. Wie het is doen we nog niets mee hier.
__Log('voldoet niet');
var nextapprover_key = prs.getFiatteur(kp_key, approver_key, totaalbedrag, dis_key);
__Log('Vervolgensgevonden fiatteur: ' + nextapprover_key);
if (nextapprover_key == -1 || budget.exceeds_profiel(totaalbedrag, nextapprover_key, dis_key))
{
__Log('voldoet ook niet');
abort_with_warning(L("lcl_bes_exceed_limit"));
}
}
return approver_key;
},
// Levert de 'Is ter fiattering aangeboden bij approver' op.
sendNeedApprovalNotification: function(bes_key, approver)
{

View File

@@ -183,7 +183,7 @@ for (var i = 0; i < ingesloten.length; i++)
ter_finfiattering = bes.checkFiat(bes_key, params);
if (ter_finfiattering)
{
var approver_key = bes.getApprover(params);
var approver_key = prs.getApprover(params);
__Log("Fiatteur: " + approver_key);
apprmessage = bes.sendNeedApprovalNotification(bes_key, approver_key);
}

View File

@@ -41,6 +41,11 @@ for (var i = 0; i < bes_key_arr.length; i++)
rfoBesKosten: bes_bestelling.rfoBesKosten,
rfoLevKosten: bes_bestelling.rfoLevKosten,
fiatteur_key: bes_bestelling.fiatteur_key, // LET OP: De huidige fiatteur wordt opgehaald (Ook als de user_key een vervanger is).
fiatteur_kp_key: bes_bestelling.fiatteur_kp_key, // De kostenplaats verantwoordelijke/fiatteur.
fiatteur_kpg_key: bes_bestelling.fiatteur_kpg_key, // De kostenplaatsgroep verantwoordelijke/fiatteur.
fiatteur2_kpg_key: bes_bestelling.fiatteur2_kpg_key, // De tweede kostenplaatsgroep verantwoordelijke/fiatteur.
fiatteur3_kpg_key: bes_bestelling.fiatteur3_kpg_key, // De derde kostenplaatsgroep verantwoordelijke/fiatteur.
bes_bestelling_fiat_user: bes_bestelling.bes_bestelling_fiat_user, // Degene als laatste heeft gefiatteerd.
dis_key: bes_bestelling.dis_key,
perslid_key_voor: bes_bestelling.perslid_key_voor,
disc_params_fiatflow: bes_disc_info.disc_params_fiatflow,
@@ -55,23 +60,70 @@ user.anything_todo_or_abort(tobeapproved > 0); // We klagen niet over enkele wel
for (var i = 0; i < ingesloten.length; i++)
{
// Blijkbaar mogen we Approve'n
var totaal = ingesloten[i].totaal - ingesloten[i].rfoBesKosten + ingesloten[i].rfoLevKosten;
// als het valt binnen onze limiet (of eigenlijk: degene die nu moet fiatteren als we vervanger zijn) dan zijn we klaar
// NB: de fiatteur kan nu direct de kpg-er zijn
// Check welk profiel gebruikt moet worden als ik vervanger van de budgethouder ben.
var profile_user_key = user_key;
if (user.isCollega(ingesloten[i].fiatteur_kp_key)) {
profile_user_key = ingesloten[i].fiatteur_kp_key;
}
var fiatbedrag = 0;
var bijnaklaar = false;
var fiat_key = ingesloten[i].bes_bestelling_fiat_user; // is deze opdracht al een keer gefiatterd
// Vrijwillige fiattering komt bij bestellingen niet voor en het totaalbedrag is groter dan 0 want er valt iets te fiatteren.
if (!budget.exceeds_profiel(totaal, profile_user_key, ingesloten[i].dis_key) && !fiat_key) // Het valt binnen onze limiet en alleen voor de budgethouder.
{
fiatbedrag = budget.get_pgblimiet(profile_user_key, -1);
bijnaklaar = true;
}
else // een kpgroep verantwoordelijke moet fiatteren
{ // dat zijn wij of collega daarvan, anders was this_opdr.canApprove false geweest
// || user.isCollega(ingesloten[i].nextfiatteur_kpg_key) // wij zijn de groepverantwoordelijke1,2,3 of de vervanger van de groepverantwoordelijke.
if ( ingesloten[i].fiatteur3_kpg_key > 0 && user.isCollega(ingesloten[i].fiatteur3_kpg_key) )
{
fiatbedrag = totaal;
bijnaklaar = true;
}
else if (ingesloten[i].fiatteur2_kpg_key > 0 && user.isCollega(ingesloten[i].fiatteur2_kpg_key))
{
fiatbedrag = S("mld_opdr_kpg_fin_limit2");
if (totaal <= S("mld_opdr_kpg_fin_limit2"))
{
bijnaklaar = true;
}
}
else if (ingesloten[i].fiatteur_kpg_key > 0 && user.isCollega(ingesloten[i].fiatteur_kpg_key)) // we zijn (collega van) ingesloten[i].fiatteur_kpg_key.
{
fiatbedrag = S("mld_opdr_kpg_fin_limit1");
if (totaal <= S("mld_opdr_kpg_fin_limit1"))
{
bijnaklaar = true;
}
}
else
{ // budgethouder en profiel is niet toereikend.
fiatbedrag = budget.get_pgblimiet(profile_user_key, -1);
}
}
var sql = "UPDATE bes_bestelling"
+ " SET bes_bestelling_fiat_user = " + user_key // als we vervanger zijn wordt *onze* naam geregistrerd
+ " SET bes_bestelling_fiatbedrag = " + fiatbedrag
+ " , bes_bestelling_fiat_user = " + user_key // Als we vervanger zijn wordt *onze* naam geregistreerd.
+ " WHERE bes_bestelling_key = " + ingesloten[i].bes_key;
Oracle.Execute(sql);
// Gequeuede berichten/notificaties en portalberichten van de approver verwijderen.
sql = "BEGIN fac.clrnotifications ('BESAP1', " + ingesloten[i].bes_key + "); END;";
Oracle.Execute(sql);
var totaal = ingesloten[i].totaal - ingesloten[i].rfoBesKosten + ingesloten[i].rfoLevKosten;
// als het valt binnen onze limiet (of eigenlijk: degene die nu moet fiatteren als we vervanger zijn) dan zijn we klaar
// TODO in de volgende versie (zie docu PF) meerlaags fiattering met prs.getfiatteur() vgl opdr_approve.asp
// NB: de fiatteur kan nu direct de kpg-er zijn
if (!budget.exceeds_profiel(totaal, ingesloten[i].fiatteur_key, ingesloten[i].dis_key))
if (bijnaklaar)
{
// Klaar met fiatteren.
bes.setbestellingstatus(ingesloten[i].bes_key, 3); // helemaal Gefiatteerd
bes.setbestellingstatus(ingesloten[i].bes_key, 3); // Gefiatteerd, trackt zelf BESFIT
// Afhankelijk van de fiatterings/acceptatie flow zijn dit de acties:
// 1) "Fiatteur -> BESBOF": bes_disc_params_fiatflow = 0 (fiatteren en dan accepteren).
@@ -104,15 +156,13 @@ for (var i = 0; i < ingesloten.length; i++)
// vervolgens naar de volgende/kostenplaatsgroep fiatteur sturen
// Fiatteringsproces moet gevolgd worden op de naam van de "voor wie" (bestelling voor)
// Als bes_disc_params_for_others niet is gezet zijn perslid_key en perslid_key_voor identiek
// Haal de kostenplaatsgroep verantwoordelijke/fiatteur op. De kolom b.bes_bestelling_fiat_user is gevuld met de user_key).
// Geen methode 3 dus bedrag/ discipline hoeft er niet in. Strikt genomen wordt hier gewoon de volgende bepaald omdat we de
// eerste uitsluiten, volgens de huidige structuren is dat de kpgverantwoordelijk maar dat is niet cruciaal.
sql = "SELECT prs.getfiatteur (b.prs_kostenplaats_key, COALESCE (b.bes_bestelling_fiat_user, -1), NULL, NULL) kpg_fiatteur_key"
// Haal de volgende kostenplaatsgroep verantwoordelijke/fiatteur op in de rij van drie. De kolom b.bes_bestelling_fiat_user is gevuld met de user_key.
sql = "SELECT prs.nextfiatteur(b.bes_bestelling_key, 'BES', COALESCE(b.bes_bestelling_fiat_user, -1)) kpg_fiatteur_key"
+ " FROM bes_bestelling b"
+ " WHERE b.bes_bestelling_key = " + ingesloten[i].bes_key;
var oRs = Oracle.Execute(sql);
var nextapprover_key = oRs("kpg_fiatteur_key").Value;
if (nextapprover_key == -1 || budget.exceeds_profiel(totaal, nextapprover_key, ingesloten[i].dis_key))
if (nextapprover_key == -1)
{ // Deze bestelling overschrijdt het mandaat van de budgethouder (kostenplaatsgroep verantwoordelijke/fiatteur) van de opgegeven kostenplaats en/of de budgethouder is onbekend.
result.message = L("lcl_bes_exceed_limit");
}

View File

@@ -23,12 +23,13 @@ function process_besteller_info(prs_info)
$("#bestellimiet").val(prs_info.profiel_limiet);
// Als er maar 1 afleveradres is, dan moet deze geselecteerd blijven (verplicht en is standaard geselecteerd).
if ($("#delivery_place").length > 1)
if ($("#delivery_place").length > 0)
{
if (prs_info.mld_adres_key > 0)
$("#deliveryAddr").val(prs_info.mld_adres_key);
// setValue(key, txt, doonChange, checkExist, extraParam, lastTry)
sgAdres.setValue(prs_info.mld_adres_key, prs_info.mld_adres_naam, false, true);
else
$("#deliveryAddr").val(-1);
sgAdres.setValue(-1, "");
}
$("ordernr").val("");

View File

@@ -133,24 +133,60 @@ else // nieuwe bestelling. Defaults bepalen
if (frontend)
{
var authForOwnAcoount = true;
if (S("prs_dep_default_kpn") == 0)
{ // Niet standaard geautoriseerd voor eigen kostenplaats. Dit hier checken
sql = "SELECT k.prs_kostenplaats_key kpkey"
+ " FROM prs_perslidkostenplaats pk"
+ " , prs_v_aanwezigkostenplaats k"
+ " WHERE pk.prs_kostenplaats_key = k.prs_kostenplaats_key(+)"
+ " AND pk.prs_perslidkostenplaats_boeken = 1"
+ " AND pk.prs_perslid_key = " + user_key
+ " AND (k.prs_kostenplaats_key = " + (user.afdeling().prs_kostenplaats_key() || -1)
+ " OR pk.prs_kostenplaats_key IS NULL)";
// Setting "prs_default_kpn_empty": Costcentre always default empty.
// Alleen van belang als er meerdere kostenplaatsen te selecteren zijn en als de kostenplaats verplicht is. Dit uitzoeken.
var show_empty_kp = false;
var kp_empty = S("prs_default_kpn_empty") == 1;
if (bes_disc_info.discipline_kpnverplicht && kp_empty)
{
sql = "SELECT COUNT(*) aantal"
+ " FROM (SELECT k.prs_kostenplaats_key kpkey"
+ " FROM prs_v_aanwezigkostenplaats k"
+ " , prs_perslidkostenplaats pk"
+ " WHERE pk.prs_kostenplaats_key = k.prs_kostenplaats_key"
+ " AND pk.prs_perslidkostenplaats_boeken = 1"
+ " AND pk.prs_perslid_key = " + user_key
+ " AND (k.prs_kostenplaats_eind IS NULL"
+ " OR k.prs_kostenplaats_eind > SYSDATE)"
+ " UNION"
+ " SELECT k.prs_kostenplaats_key kpkey"
+ " FROM prs_perslid p"
+ " , prs_afdeling a"
+ " , prs_v_aanwezigkostenplaats k"
+ " WHERE p.prs_afdeling_key = a.prs_afdeling_key"
+ " AND p.prs_perslid_key = " + user_key
+ " AND a.prs_kostenplaats_key = k.prs_kostenplaats_key"
+ " AND (k.prs_kostenplaats_eind IS NULL OR k.prs_kostenplaats_eind > SYSDATE)"
+ " )"
oRs = Oracle.Execute(sql);
authForOwnAcoount = (!oRs.eof);
show_empty_kp = oRs("aantal").Value > 0;
oRs.close();
}
if (user.afdeling().prs_kostenplaats_key() && authForOwnAcoount)
bes_bestelling.kostenplaats_key = user.afdeling().prs_kostenplaats_key();
if (show_empty_kp)
bes_bestelling.kostenplaats_key = -1;
else
bes_bestelling.kostenplaats_key = -1;
{
// Setting "prs_dep_default_kpn": A user can make costs for his own department by default {0=no | 1=yes}
var authForOwnAcoount = true;
if (S("prs_dep_default_kpn") == 0)
{ // Niet standaard geautoriseerd voor eigen kostenplaats. Dit hier checken
sql = "SELECT k.prs_kostenplaats_key kpkey"
+ " FROM prs_perslidkostenplaats pk"
+ " , prs_v_aanwezigkostenplaats k"
+ " WHERE pk.prs_kostenplaats_key = k.prs_kostenplaats_key(+)"
+ " AND pk.prs_perslidkostenplaats_boeken = 1"
+ " AND pk.prs_perslid_key = " + user_key
+ " AND (k.prs_kostenplaats_key = " + (user.afdeling().prs_kostenplaats_key() || -1)
+ " OR pk.prs_kostenplaats_key IS NULL)";
oRs = Oracle.Execute(sql);
authForOwnAcoount = (!oRs.eof);
}
if (user.afdeling().prs_kostenplaats_key() && authForOwnAcoount)
bes_bestelling.kostenplaats_key = user.afdeling().prs_kostenplaats_key();
else
bes_bestelling.kostenplaats_key = -1;
}
bes_bestelling.perslid_key = user_key;
bes_bestelling.perslid_key_voor = user_key;
@@ -211,6 +247,10 @@ else // nieuwe bestelling. Defaults bepalen
var psrt_keys = getQParamIntArray("ps", []); // array met srtdeel_key's
var pamounts = getQParamIntArray("pn", []); // array met aantallen
if (bes_key > 0 && bes_disc_info.bestelmode == 2) // Bij *wijzigen* altijd gewone interface
bes_disc_info.bestelmode = 0;
var auto_bestellijst = bes_disc_info.bestelmode == 2;
bes_bestelling.flex_defaults = {};
var flex_defaults = getQParam("flex_defaults", "").split("&"); // flex_defaults=bestellingid=12345
for (var i in flex_defaults)
@@ -233,10 +273,19 @@ else // nieuwe bestelling. Defaults bepalen
var user_kpnaam = "<%=safe.jsstring(user.afdeling().kpn_naam())%>";
var inclBTW = <%=bes_bestelling.inclBTW%> == 1;
var maxartikel = <%=bes_disc_info.maxartikel%>;
var fotomode = <%=bes_disc_info.fotomode%>;
var bestelmode = <%=bes_disc_info.bestelmode%>;
</script>
<% if (bes_key > 0)
{
isCorrectie = generateDetails(bes_key, true); // oude include details.inc
isCorrectie = generateDetails(bes_key, {edit: true}); // oude include details.inc
}
else if (auto_bestellijst)
{
generateDetails(bes_key, { edit: true,
auto_bestellijst: true,
disc_key: bes_bestelling.dis_key
});
}
else
{
@@ -255,7 +304,10 @@ else // nieuwe bestelling. Defaults bepalen
</script>
<%
}
generateDetails(bes_key, true, psrt_keys, pamounts);
generateDetails(bes_key, { edit: true,
psrt_keys: psrt_keys,
pamounts: pamounts
});
}
} %>
<script type="text/javascript">
@@ -371,6 +423,9 @@ else // nieuwe bestelling. Defaults bepalen
<% if (from_punch) { %>
AddAllItems(false, false); // Not editable, don't show received amount
StaffelKortingResult(); // Wel even totaal tonen
<% }
else if (auto_bestellijst) { %>
AddAllItems(true, false); // Editable, don't show received amount
<% }
else if (bes_key > 0 || from_voorraad)
{
@@ -424,7 +479,7 @@ else // nieuwe bestelling. Defaults bepalen
if (maxArtikelReached())
return false;
url = "../Bes/sel_favourites.asp?disc_key=<%=bes_bestelling.dis_key%>";
url = "../bes/sel_favourites.asp?disc_key=<%=bes_bestelling.dis_key%>";
FcltMgr.openModalDetail(url, "<%=L("lcl_bes_favour_title")%>",
{
callback: function (data)
@@ -480,7 +535,7 @@ else // nieuwe bestelling. Defaults bepalen
return;
}
url = "../Bes/addFavourites.asp" + "?srtdeel_key=" + bes_item_info.srtdeel_key
url = "../bes/addFavourites.asp" + "?srtdeel_key=" + bes_item_info.srtdeel_key
+ "&disc_key=<%=bes_bestelling.dis_key%>";
FcltMgr.openModalDetail(url, '<%=L("lcl_bes_favour_list")%>');
}
@@ -812,55 +867,58 @@ else // nieuwe bestelling. Defaults bepalen
}
else // Gewoon artikel uit catalogus kiezen
{
FCLTartikelgroepselector("srtgroep",
"sgSrtgroep",
{ label: L("lcl_bes_srtgroup"),
artikelgroepKey: bes_bestelling.srtgroep,
disc_key: bes_bestelling.dis_key,
onChange: bes_disc_info.isFreeArticle?null:"onChangeArtikelgroep",
required: bes_disc_info.isFreeArticle,
extraParamField: "singlegroep",
extracode: "S",
readonly: (bes_key > 0 && bes_bestelling.singlegroep)
});
sql = " SELECT bs.bes_staffeltabel_key"
+ ", bs.bes_staffeltabel_naam"
+ " FROM bes_staffeltabel bs"
+ " WHERE EXISTS (SELECT sd.bes_srtdeel_key"
+ " FROM bes_v_aanwezigsrtgroep sg"
+ ", bes_v_aanwezigsrtdeel sd"
+ " WHERE sg.ins_discipline_key = " + bes_bestelling.dis_key
+ " AND sg.bes_srtgroep_key = sd.bes_srtgroep_key"
+ " AND sd.bes_staffeltabel_key = bs.bes_staffeltabel_key)"
+ " ORDER BY 2";
oRs = Oracle.Execute(sql);
if (!oRs.eof)
if (bes_disc_info.bestelmode == 0) // Gewone artikel selector
{
FCLTselector("staffelgroep", sql, // filter op suggest besitem
{ label: L("lcl_bes_staffelgroep"),
emptyOption: ""
}
);
}
else
{ // Staffelgroep hidden weergeven met -1 als waarde (geen staffelgroep geselecteerd)
%> <input type="hidden" id="staffelgroep" tabindex="-1" class="fldselect" value="-1">
<% }
oRs.Close();
FCLTartikelgroepselector("srtgroep",
"sgSrtgroep",
{ label: L("lcl_bes_srtgroup"),
artikelgroepKey: bes_bestelling.srtgroep,
disc_key: bes_bestelling.dis_key,
onChange: bes_disc_info.isFreeArticle?null:"onChangeArtikelgroep",
required: bes_disc_info.isFreeArticle,
extraParamField: "singlegroep",
extracode: "S",
readonly: (bes_key > 0 && bes_bestelling.singlegroep)
});
FCLTbesitemselector("besitem",
"sgBesItem",
{ label: L("lcl_bes_srtdeel"),
bessrtdeel_key: -1,
disc_key: bes_bestelling.dis_key,
readonly: !this_bes.canItemsChange,
urlAdd: [{urlParam: "srtgroep_key", field: "srtgroep"},
{urlParam: "staffel_key", field: "staffelgroep"}],
onChange: "load_item_info",
favouritelist: true
sql = " SELECT bs.bes_staffeltabel_key"
+ ", bs.bes_staffeltabel_naam"
+ " FROM bes_staffeltabel bs"
+ " WHERE EXISTS (SELECT sd.bes_srtdeel_key"
+ " FROM bes_v_aanwezigsrtgroep sg"
+ ", bes_v_aanwezigsrtdeel sd"
+ " WHERE sg.ins_discipline_key = " + bes_bestelling.dis_key
+ " AND sg.bes_srtgroep_key = sd.bes_srtgroep_key"
+ " AND sd.bes_staffeltabel_key = bs.bes_staffeltabel_key)"
+ " ORDER BY 2";
oRs = Oracle.Execute(sql);
if (!oRs.eof)
{
FCLTselector("staffelgroep", sql, // filter op suggest besitem
{ label: L("lcl_bes_staffelgroep"),
emptyOption: ""
}
);
}
else
{ // Staffelgroep hidden weergeven met -1 als waarde (geen staffelgroep geselecteerd)
%> <input type="hidden" id="staffelgroep" tabindex="-1" class="fldselect" value="-1">
<% }
oRs.Close();
FCLTbesitemselector("besitem",
"sgBesItem",
{ label: L("lcl_bes_srtdeel"),
bessrtdeel_key: -1,
disc_key: bes_bestelling.dis_key,
readonly: !this_bes.canItemsChange,
urlAdd: [{urlParam: "srtgroep_key", field: "srtgroep"},
{urlParam: "staffel_key", field: "staffelgroep"}],
onChange: "load_item_info",
favouritelist: true
});
}
// Het informatieblok van een geselecteerd artikel
%>
<tr>
@@ -892,6 +950,9 @@ else // nieuwe bestelling. Defaults bepalen
<td colspan="2" class="iteminfo2" title="<%=L("lcl_bes_multiple")%>" id="veelvoud_text"></td></tr>
<tr id="stock_tr" style="display:none">
<td colspan="2" class="iteminfo2" title="<%=L("lcl_bes_stock")%>"><%=L("lcl_bes_stock")%>: <span id="stock_text"></span></td></tr>
<% if (bes_disc_info.bestelmode == 0) // Gewone artikel selector
{
%>
<tr id="aantal_tr" style="display:none">
<td><label><%=L("lcl_bes_amount")%>:</label><td><input onfocus="this.select()" class="fldbescnt" type="text" id="aantal_text" value="1"></td></tr>
<tr id="buttons_tr" style="display:none"><td colspan="2">
@@ -902,6 +963,9 @@ else // nieuwe bestelling. Defaults bepalen
CreateButtons(buttons, { showIcons: true })
%></div>
</td></tr>
<%
}
%>
</table>
</td>
</tr>
@@ -917,6 +981,13 @@ else // nieuwe bestelling. Defaults bepalen
<tr>
<th></th>
<!--<th><%=L("lcl_bes_srtgroup")%></th>-->
<% if (bes_disc_info.fotomode == 1) // Foto erbij
{
%>
<th><%=L("lcl_bes_image")%></th>
<%
}
%>
<th><%=L("lcl_bes_srtdeel_nr")%></th>
<th><%=L("lcl_bes_srtdeel")%></th>
<th><%=L("lcl_bes_unity")%></th>

View File

@@ -47,6 +47,7 @@ var flexval_string_arr = getFParamArray("flexval_string",[]);
var flexdeel_string_arr = getFParamArray("flexdeel_string",[]);
var flexitem_string_unsafe = getFParamArray("flexitem_string",[]); // kan ook 'new1' zijn voor nieuwe opdrachten
var srtdeel_keys = getFParamIntArray("srtdeel_keys",[]); // Bij isFree ook voor bewerken bestaande
var isPunchout = (bes_disc_info.disc_params_punchouturl && !bes_disc_info.isFreeArticle) ? 1 : 0;
if (bes_disc_info.isFreeArticle)
{ // Moeten we de nieuwe srtdeel-en nog aanmaken
@@ -185,7 +186,7 @@ if (!isCorrectie)
// De melder van de melding (prs_key) mag niet zelf goedkeuren boven het bedrag can_selfapprove.
// staffel_info.totaalbedrag > can_selfapprove => prs_key als exclude key meegeven.
// prs_key heeft altijd een waarde (prs_key > 0) (required).
approver_key = bes.getApprover(params);
approver_key = prs.getApprover(params);
}
}
}
@@ -308,13 +309,17 @@ currentKenmerkenSQL = " SELECT kb.bes_kenmerk_key"
+ " WHERE k.bes_kenmerk_key = kb.bes_kenmerk_key"
+ " AND bes_kenmerkbestell_verwijder IS NULL"
+ " AND bes_bestelling_key = " + bes_key;
allKenmerkenSQL = "SELECT " + lcl.xsql('t.bes_srtkenmerk_omschrijving', 't.bes_srtkenmerk_key') +" kenmerk_omschrijving"
+ ", b.bes_srtkenmerk_key srtkenmerk_key"
+ ", t.bes_srtkenmerk_kenmerktype kenmerk_kenmerktype"
+ ", t.bes_srtkenmerk_systeem kenmerk_systeem"
+ ", k.bes_kenmerk_toonbaar kenmerk_readonly"
+ ", k.bes_kenmerk_uniek kenmerk_uniek"
+ ", fac_kenmerkdomein_key"
+ " FROM bes_kenmerk b, "
+ " FROM bes_kenmerk k, "
+ " bes_srtkenmerk t"
+ " WHERE b.bes_srtkenmerk_key = t.bes_srtkenmerk_key"
+ " AND b.bes_kenmerk_key = "; /* wordt in saveFlexkenmerken uitgebreid */
+ " WHERE k.bes_srtkenmerk_key = t.bes_srtkenmerk_key"
+ " AND k.bes_kenmerk_key = "; /* wordt in saveFlexkenmerken uitgebreid */
var flextrack = saveFlexKenmerken(bes_key, { kenmerkTable: "bes_kenmerkbestell",
kenmerkParentKey : "bes_bestelling_key",
@@ -440,7 +445,7 @@ if (status == 1 || status == 2 || status == 3 || status == 4 || status == 5)
// Nu kan daadwerkelijk de juiste status gezet worden.
// Afhankelijk van de fiatterings/acceptatie flow zijn dit de acties:
// 1) "Fiatteur -> "BESBOF": bes_disc_params_fiatflow = 0 (fiatteren en dan accepteren).
// 1) "Fiatteur -> BESBOF": bes_disc_params_fiatflow = 0 (fiatteren en dan accepteren).
// Als er gefiatter moet worden dan kostenplaats verantwoordelijke een notificatie sturen. De status blijft "Nieuw(2)".
// Als er niet meer gefiatteerd moet worden, moet er gekeken worden of er geaccepteerd dient te worden.
// Als er geaccepteerd dient te worden moet de status naar "Gefiatteerd(3)".
@@ -597,7 +602,7 @@ else if (oldStatus == 6) // 6=geleverd
+ " nvl(bes_bestelopdr_item_aantal, 0)"
+ " - " + old_aantal[item_coll[itemregelnr]]
+ " + " + amount_arr[itemregelnr]
+ ", bes_bestelopdr_item_prijs = bes.calcbesartikelkortingsprijs(" + item_coll[itemregelnr] + ")"
+ ", bes_bestelopdr_item_prijs = bes.calcbesartikelkortingsprijs(" + item_coll[itemregelnr] + ", " + isPunchout + ")"
+ " WHERE bes_bestelopdr_item_key ="
+ " (SELECT bes_bestelopdr_item_key"
+ " FROM bes_bestelling_item"

View File

@@ -44,12 +44,14 @@
// xml genereren als bes_srtdeel_opmaat = 1
sql = "SELECT bes_srtdeel_preview"
+ ", bes_srtdeel_prsflex"
+ ", " + lcl.xsqla('bes_srtdeel_omschrijving', 'bes_srtdeel_key')
+ " FROM bes_srtdeel"
+ " WHERE bes_srtdeel_key = " + srtdeel_key
oRs = Oracle.Execute(sql);
if (!oRs.eof) {
preview = oRs("bes_srtdeel_preview").value||0;
prsflex = oRs("bes_srtdeel_prsflex").value||0;
var desc = oRs("bes_srtdeel_omschrijving").Value;
}
%>
@@ -74,7 +76,8 @@ function doSubmit()
if (window.document.getElementById("k" + i + "val")) {
var kval = window.document.getElementById("k" + i + "val")
if (kval.value != "")
var tp = window.document.getElementById('k' + i + 't').value;
if ((tp && tp != 'R' && tp != 'S' && kval.value != "") || (tp && (tp == 'R' || tp == 'S') && kval.value != -1))
{
var kkey = window.document.getElementById('k' + i + 'key').value;
objReturn[0][objReturn[0].length] = kkey;
@@ -88,7 +91,6 @@ function doSubmit()
lbl = lbl.substring(0, lbl.length - 1)
objReturn[2][objReturn[2].length] = lbl;
var tp = window.document.getElementById('k' + i + 't').value;
if (kval.type == 'checkbox') {
objReturn[3][objReturn[3].length] = (kval.checked?1:0);
}
@@ -180,7 +182,7 @@ $(document).ready(function() {
</table>
<% } %>
<% BLOCK_START("besItemFlex" , L("lcl_flexible_properties")); %>
<% BLOCK_START("besItemFlex" , L("lcl_flexible_properties") + ": " + desc ); %>
<tr><td><table width=100% id="theTable">
<%
@@ -192,6 +194,7 @@ $(document).ready(function() {
+ " sk.bes_srtkenmerk_dec kenmerk_dec, "
+ " sk.bes_srtkenmerk_nmin kenmerk_nmin, "
+ " sk.bes_srtkenmerk_nmax kenmerk_nmax, "
+ " sk.bes_srtkenmerk_systeem kenmerk_systeem, "
+ lcl.xsql('k.bes_kenmerk_default', 'k.bes_kenmerk_key')+ " kenmerk_waarde, "
+ " k.bes_kenmerk_volgnummer kenmerk_volgnr, "
+ lcl.xsql('sk.bes_srtkenmerk_dimensie', 'sk.bes_srtkenmerk_key') +" kenmerk_dimensie, "

View File

@@ -47,7 +47,8 @@ var this_bestelopdr = bes.func_enabled_bestelopdracht(opdr_key);
var fields = [ { dbs: "bes_bestelopdr_opmerking", typ: "varchar", frm: "opmerk", track: L("lcl_remark"), len: 320 },
{ dbs: "mld_adres_key_lev", typ: "key", frm: "levering", track: L("lcl_bes_adres_lev"), foreign: "MLD_V_AFLEVERADRES" } ,
{ dbs: "mld_adres_key_fac", typ: "key", frm: "factuur", track: L("lcl_bes_adres_fac"), foreign: "MLD_V_FACTUURADRES" }
{ dbs: "mld_adres_key_fac", typ: "key", frm: "factuur", track: L("lcl_bes_adres_fac"), foreign: "MLD_V_FACTUURADRES" } ,
{ dbs: "bes_bestelopdr_flag", typ: "number", frm: "besopdrflag" }
];
if (getFParam("chkproceed", "off") == "on")
fields.push({ dbs: "bes_bestelopdr_status", typ: "key", val: 3});
@@ -229,6 +230,22 @@ var this_bestelopdr = bes.func_enabled_bestelopdracht(opdr_key);
RWTEXTAREATR("opmerk", "fldtxt", L("lcl_remark"), bes_bestelopdr.opmerking, {html: "rows='3'", suppressEmpty: true}); // Afhandeling, reden niet akkoord
ROTEXTAREATR("fldtxt", L("lcl_bes_comment"), bes_bestelopdr.delivery_opmerk, {suppressEmpty: true});
ROTEXTAREATR("fldtxt", L("lcl_bes_bestelling_lev_opm"), bes_bestelling.lev_opm, {suppressEmpty: true} );
if (this_bestelopdr.canWriteFlags && (S("bes_bestelopdr_flags") > 0))
{
var besflagnr = bes_bestelopdr.flag || 0;
sql = "";
for (var i=0; i<S("bes_bestelopdr_flags"); i++)
{
sql += "SELECT "+i+","+safe.quoted_sql(L("lcl_bestelopdr_flag"+i))+" FROM DUAL" + (i<(parseInt(S("bes_bestelopdr_flags"))-1)?" UNION ALL ":"");
}
FCLTselector("besopdrflag",
sql,
{ initKey: bes_bestelopdr.flag,
label: L("lcl_bestelopdr_flags")
});
}
BLOCK_END();

View File

@@ -17,6 +17,7 @@
<!-- #include file="../Shared/selector.inc" -->
<!-- #include file="../Shared/calendar.inc" -->
<!-- #include file="../Shared/bedrijfselector.inc" -->
<!-- #include file="../Shared/srtdeelselector.inc" -->
<%
FCLTHeader.Requires({plugins:["suggest", "jQuery"]})
@@ -29,35 +30,36 @@ var authparams = user.checkAutorisation("WEB_BESMSU");
if (srtdeel_key > 0)
{
sql = "SELECT d.bes_srtgroep_key,"
+ " bes_srtdeel_omschrijving,"
+ " bes_srtdeel_btw,"
+ " bes_srtdeel_eenheid,"
+ " bes_srtdeel_nr,"
+ " d.prs_bedrijf_key,"
+ " bes_srtdeel_vervaldatum ,"
+ " bes_srtdeel_image,"
+ " bes_srtdeel_veelvoud,"
+ " bes_srtdeel_prsflex,"
+ " bes_srtdeel_preview,"
+ " bes_srtdeel_opmerking,"
+ " bes_srtdeel_voorraadmin ,"
+ " bes_srtdeel_voorraadmax ,"
+ " bes_srtdeel_voorraadfactor ,"
+ " bes_staffeltabel_key,"
+ " bes_srtdeel_minimum,"
+ " bes_srtdeel_verwijder,"
+ " bes_srtdeel_wijzigdagen,"
+ " bes_srtdeel_annuleerdagen,"
+ " bes_srtdeel_depotverdeelpct,"
+ " disc.ins_discipline_key,"
+ " bes_srtgroep_omschrijving,"
+ " ins_discipline_omschrijving,"
+ " d.bes_srtprod_key,"
+ " bes_srtprod_omschrijving,"
+ " bes_srtprod_nr,"
+ " bes_srtdeel_notitie,"
+ " bes_srtdeel_maxbestel"
sql = "SELECT d.bes_srtgroep_key"
+ " , bes_srtdeel_omschrijving"
+ " , bes_srtdeel_btw"
+ " , bes_srtdeel_eenheid"
+ " , bes_srtdeel_nr"
+ " , d.prs_bedrijf_key"
+ " , bes_srtdeel_vervaldatum"
+ " , bes_srtdeel_image"
+ " , bes_srtdeel_veelvoud"
+ " , bes_srtdeel_prsflex"
+ " , bes_srtdeel_preview"
+ " , bes_srtdeel_opmerking"
+ " , bes_srtdeel_voorraadmin"
+ " , bes_srtdeel_voorraadmax"
+ " , bes_srtdeel_voorraadfactor"
+ " , bes_staffeltabel_key"
+ " , bes_srtdeel_minimum"
+ " , bes_srtdeel_verwijder"
+ " , bes_srtdeel_wijzigdagen"
+ " , bes_srtdeel_annuleerdagen"
+ " , bes_srtdeel_depotverdeelpct"
+ " , disc.ins_discipline_key"
+ " , bes_srtgroep_omschrijving"
+ " , ins_discipline_omschrijving"
+ " , d.bes_srtprod_key"
+ " , bes_srtprod_omschrijving"
+ " , bes_srtprod_nr"
+ " , bes_srtdeel_notitie"
+ " , bes_srtdeel_maxbestel"
+ " , d.ins_srtdeel_key"
+ " FROM bes_srtdeel d, bes_srtgroep g, ins_tab_discipline disc,"
+ " bes_srtprod p"
+ " WHERE g.ins_discipline_key = disc.ins_discipline_key"
@@ -96,7 +98,8 @@ if (srtdeel_key > 0)
srtprod_oms: oRs("bes_srtprod_omschrijving").Value,
srtprod_nr: oRs("bes_srtprod_nr").Value,
srtdeel_not: oRs("bes_srtdeel_notitie").Value,
maxbestel: oRs("bes_srtdeel_maxbestel").Value
maxbestel: oRs("bes_srtdeel_maxbestel").Value,
ins_srtdeel_key: oRs("ins_srtdeel_key").Value
}
oRs.Close();
@@ -213,13 +216,13 @@ else
BLOCK_START("besArtikelBestel", L("lcl_bes_srtdeelbestelblok"));
FCLTbedrijfselector("lev_key", // supplier
"sg_lev",
{ companyKey: art.bedrijf_key,
label: L("lcl_bes_Supplier"),
trclass: "primsearch",
filtercode: "L",
whenEmpty: L("lcl_search_generic")
});
"sg_lev",
{ companyKey: art.bedrijf_key,
label: L("lcl_bes_Supplier"),
trclass: "primsearch",
filtercode: "L",
whenEmpty: L("lcl_search_generic")
});
FCLTcalendar( "verval",
{
@@ -245,6 +248,15 @@ else
initKey: art.staffeltabel_key,
emptyOption: ""});
RWFIELDTR("depotverdeelpct", "fldshort", L("lcl_bes_depotverdeelpct"), art.depotverdeelpct);
// Objectsoort.
FCLTsrtdeelselector("ins_srtdeel_key",
"sgSrtdeel",
{ label: L("lcl_bes_link_obj_type"),
srtdeel_key: art.ins_srtdeel_key,
autfunction: "",
module: "INS",
binding: 24 // Afdeling 0x8=8 (BIND_AFDELI) + Persoon0x10=16 (BIND_PERSOO).
});
BLOCK_END();
IFACE.FORM_END();

View File

@@ -37,7 +37,8 @@
{ dbs: "bes_srtdeel_annuleerdagen", typ: "number", frm: "annuleerdagen" },
{ dbs: "bes_srtdeel_depotverdeelpct", typ: "number", frm: "depotverdeelpct" },
{ dbs: "bes_staffeltabel_key", typ: "key", frm: "staffel" },
{ dbs: "bes_srtdeel_notitie", typ: "varchar", frm: "notitie"}];
{ dbs: "bes_srtdeel_notitie", typ: "varchar", frm: "notitie"},
{ dbs: "ins_srtdeel_key", typ: "key", frm: "ins_srtdeel_key"}];
var warning = "";
if (srtdeel_key > 0)

39
APPL/BES/bes_flag.asp Normal file
View File

@@ -0,0 +1,39 @@
<%@language = "javascript" %>
<% /*
$Revision$
$Id$
verhoog de status van de flag met 1.
*/ %>
<%
var JSON_Result = true;
%>
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="../Shared/json2.js" -->
<!-- #include file="bes.inc" -->
<%
protectRequest.validateToken();
var besopdr_key = getFParamInt("besopdr_key");
var flagkey = getFParamInt("flagkey");
var this_besopdr = bes.func_enabled_bestelopdracht(besopdr_key);
user.auth_required_or_abort(this_besopdr.canWriteFlags);
var result = {};
flagkey += 1;
flagkey = flagkey % S("bes_bestelopdr_flags"); // cycle door de waarden {0, 1, ... , (S('bes_bestelopdr_flags')-1)}.
var updatesql = "UPDATE bes_bestelopdr"
+ " SET bes_bestelopdr_flag = " + flagkey
+ " WHERE bes_bestelopdr_key = " + besopdr_key;
Oracle.Execute(updatesql);
result.success = true;
result.besopdr_key = besopdr_key;
result.newflag = flagkey; // Het nieuwe volgnummer van de bezoeker vlaggetjes.
Response.Write(JSON.stringify(result));
%>

View File

@@ -31,7 +31,7 @@ function generateFlexKenmerkCode(params)
var fronto = (urole == "fo");
var backo = (urole == "bo");
var minfo = (urole == "mi");
var frontend = (urole == "fe" || (!fronto & !backo & !minfo));
var frontend = (urole == "fe" || (!fronto && !backo && !minfo));
var bes_key = params.bes_key; // Bestelling key
var disc_key = params.disc_key; // Catalogus key
@@ -108,6 +108,7 @@ function generateFlexKenmerkCode(params)
+ " sk.bes_srtkenmerk_dec kenmerk_dec, "
+ " sk.bes_srtkenmerk_nmin kenmerk_nmin, "
+ " sk.bes_srtkenmerk_nmax kenmerk_nmax, "
+ " sk.bes_srtkenmerk_systeem kenmerk_systeem, "
+ (bes_key > 0
? " (SELECT v.bes_kenmerkbestell_waarde"
+ " FROM bes_kenmerkbestell v"

View File

@@ -31,6 +31,7 @@
besstlev search for orders with the status besstlev
besstver search for orders with the status besstver
besstann search for orders with the status besstann
besstont search for orders with the status besstont
besordstafg search for orders with the status besordstafg
besordstnew search for orders with the status besordstnew
besordstbeh search for orders with the status besordstbeh
@@ -99,6 +100,7 @@ function bes_list (pautfunction, params)
// params.besstlev : boolean (true | false)
// params.besstver : boolean (true | false)
// params.besstann : boolean (true | false)
// params.besstont : boolean (true | false)
// params.besordstafg : boolean (true | false)
// params.besordstnew : boolean (true | false)
// params.besordstbeh : boolean (true | false)
@@ -113,7 +115,7 @@ function bes_list (pautfunction, params)
var fronto = (urole == "fo");
var backo = (urole == "bo");
var minfo = (urole == "mi"); // NOT APPLICABLE?
var frontend = (urole == "fe" || (!fronto & !backo & !minfo));
var frontend = (urole == "fe" || (!fronto && !backo && !minfo));
// Voor resulttable de globalen zetten; zou ng anders moeten.
var outputmode = params.outputmode; // print to 0 = screen, 1 = printer, 2 = excel, etc.
@@ -147,6 +149,7 @@ function bes_list (pautfunction, params)
var besstlev = params.besstlev;
var besstver = params.besstver;
var besstann = params.besstann;
var besstont = params.besstont;
var besordstafg = params.besordstafg;
var besordstnew = params.besordstnew;
var besordstbeh = params.besordstbeh;
@@ -164,6 +167,7 @@ function bes_list (pautfunction, params)
if (besstlev) showbesstatus = (showbesstatus == ""? "" : showbesstatus + ",") + "6";
if (besstver) showbesstatus = (showbesstatus == ""? "" : showbesstatus + ",") + "7";
if (besstann) showbesstatus = (showbesstatus == ""? "" : showbesstatus + ",") + "8";
if (besstont) showbesstatus = (showbesstatus == ""? "" : showbesstatus + ",") + "9";
var showordstatus = "";
if (besordstafg) showordstatus = (showordstatus == ""? "" : showordstatus + ",") + "1";

View File

@@ -23,7 +23,7 @@ var urole = getQParamSafe("urole");
var fronto = (urole == "fo");
var backo = (urole == "bo");
var minfo = (urole == "mi");
var frontend = (urole == "fe" || (!fronto & !backo & !minfo));
var frontend = (urole == "fe" || (!fronto && !backo && !minfo));
var opdr_key = getQParamInt('ordernr');
var autoopdr = getQParam('autoopdr', '');

View File

@@ -0,0 +1,53 @@
<%@language = "javascript" %>
<% /*
$Revision$
$Id$
File: bes_opdr_confirm.asp
Description: Bevestigen van een bestelaanvraag door de de besteller. (canConfirm)
Parameters:
bes_key Bestelaanvraag nummer (key)
*/
var JSON_Result = true;
%>
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="../Shared/json2.js" -->
<!-- #include file="./bes.inc" -->
<%
protectRequest.validateToken();
var bes_key_arr = getFParamIntArray("bes_key");
var result = {};
var tobeconfirmed = 0;
var ingesloten = [];
// Bepaal de bestellingen in de selectie die
// ook echt bevestigt kunnen of mogen worden.
for (var i = 0; i < bes_key_arr.length; i++)
{
var bes_bestelling = bes.bestelling_info(bes_key_arr[i]); // Globale variabele met alle bes_bestelling informatie
var this_bestelling = bes.func_enabled_bestelling(bes_bestelling);
if (this_bestelling.canConfirm)
{
ingesloten.push(bes_key_arr[i]);
tobeconfirmed++;
}
}
user.anything_todo_or_abort(tobeconfirmed > 0); // We klagen niet over enkele wel en enkele niet
for (var i = 0; i < ingesloten.length; i++)
{
// Status "Ontvangen(9)" zetten
bes.setbestellingstatus(ingesloten[i], 9); // Zet de status "Ontvangen(9)" en trackt zelf BESOT2.
// Tijdelijk: Gequeuede BESOT2 notificatie verwijderen voor 2017.3 omdat deze onterecht wordt verstuurd. In 2018.1 structueel oplossen.
var sql = "BEGIN fac.clrnotifications ('BESOT2', " + ingesloten[i] + "); END;";
Oracle.Execute(sql);
}
result = { close: true, success: true};
Response.Write(JSON.stringify(result));
Response.End;
%>

View File

@@ -56,7 +56,7 @@ var urole = getQParamSafe("urole");
var fronto = (urole == "fo");
var backo = (urole == "bo");
var minfo = (urole == "mi");
var frontend = (urole == "fe" || (!fronto & !backo & !minfo));
var frontend = (urole == "fe" || (!fronto && !backo && !minfo));
var datefrom = getQParamDate("date_from", null);
var dateto = getQParamDate("date_to", null);

View File

@@ -18,7 +18,7 @@ var urole = getQParamSafe("urole", ""); // Indien niet meegegeven, veronderste
var fronto = (urole == "fo");
var backo = (urole == "bo");
var minfo = (urole == "mi");
var frontend = (urole == "fe" || (!fronto & !backo & !minfo));
var frontend = (urole == "fe" || (!fronto && !backo && !minfo));
// FORM parameters: de waarde indien aanwezig, anders null
// Vaak is een lege selectie ook een -1, dus dan is-ie wel aanwezig, maar hoeft niet
@@ -89,9 +89,9 @@ else
// ** nu volgt de verwerking
// Statusfilters:
// FE: Nieuw (2), open (3, 4, 5), geleverd (1, 6, 7, 8)
// FO: Nieuw (2), open (3, 4, 5), geleverd (6), archief (1, 7, 8)
// BO: Nieuw (2, 3, 4), open (5), geleverd (6), archief (1, 7, 8)
// FE: Nieuw (2), open (3, 4, 5), geleverd (1, 6, 7, 8, 9)
// FO: Nieuw (2), open (3, 4, 5), geleverd (6, 9), archief (1, 7, 8)
// BO: Nieuw (2, 3, 4), open (5), geleverd (6, 9), archief (1, 7, 8)
// Merk op: de ids kunnen afhankelijk van de urole andere betekenis hebben, dus.
var besstatus1 = (frontend && st_rfoDelivered) || (!frontend && st_rfoClosed);
var besstatus2 = st_rfoNew;
@@ -101,6 +101,7 @@ else
var besstatus6 = st_rfoDelivered;
var besstatus7 = besstatus1;
var besstatus8 = besstatus1;
var besstatus9 = st_rfoDelivered;
var ordstatus1 = null;
var ordstatus2 = null;
@@ -123,6 +124,7 @@ else
var besstatus6 = false;
var besstatus7 = false;
var besstatus8 = false;
var besstatus9 = false;
for (var mst = 0; mst < rfo_status_arr.length; mst++)
{
switch(rfo_status_arr[mst])
@@ -143,6 +145,8 @@ else
break;
case 8: besstatus8 = true;
break;
case 9: besstatus9 = true;
break;
}
}
@@ -183,6 +187,7 @@ else
params.besstlev = besstatus6;
params.besstver = besstatus7;
params.besstann = besstatus8;
params.besstont = besstatus9;
params.besordstafg = ordstatus1;
params.besordstnew = ordstatus2;
params.besordstbeh = ordstatus3;

View File

@@ -60,7 +60,7 @@ FCLTHeader.Requires({plugins:["suggest","jQuery"],
<script type="text/javascript" >
var details_Items = new Array(); // voor details.inc
</script>
<% generateDetails(bes_key, false); %>
<% generateDetails(bes_key); %>
<script type="text/javascript" >
jQuery(document).ready(function() {
$("#besFlex").toggle($("#k_all").val()>0); // verbergen als leeg
@@ -116,6 +116,22 @@ FCLTHeader.Requires({plugins:["suggest","jQuery"],
FcltMgr.windowopen('./bes_opdr_xml.asp?bes_key='+'<% = bes_key %>');
}
function bes_opdr_confirm()
{
FcltMgr.confirm(L("lcl_bes_confirm").format("<%=S("bes_bestelling_prefix") + bes_bestelling.bes_key%>"),
function()
{
var data = { urole: "<%=urole%>",
bes_key: <%=bes_key%>
};
<% protectRequest.dataToken("data"); %>
$.post("bes_opdr_confirm.asp",
data,
FcltCallbackRefresh,
"json");
});
}
</script>
</head>
<%
@@ -140,7 +156,7 @@ var buttons = [];
this_bes.canAccept4 ||
this_bes.canAccept5)
{
buttons.push({ icon: "accept.png", title: L("lcl_approve"), action: "bes_accept()" });
buttons.push({ icon: "accept.png", title: L("lcl_bes_accept"), action: "bes_accept()" });
}
if (this_bes.canReject)
@@ -163,6 +179,9 @@ var buttons = [];
if (this_bes.canDelete)
buttons.push({ icon: "delete.png", title: L("lcl_delete"), action: "bes_delete()" });
if (this_bes.canConfirm)
buttons.push({ icon: "accept.png", title: L("lcl_confirm"), action: "bes_opdr_confirm()" });
}
buttons.push({ icon: "print.png", title: L("lcl_print"), action: "bes_print()"});
@@ -236,6 +255,7 @@ var currency_suff = '<%=S("currency_suff")%>';
var show_price = '<%=show_price%>';
var lower = false;
var inclBTW = <%=bes_bestelling.inclBTW%> == 1;
var fotomode = <%=bes_disc_info.fotomode%>;
function bes_accept()
{
@@ -277,6 +297,13 @@ function bes_reject()
<thead>
<tr>
<th></th>
<% if (bes_disc_info.fotomode == 1) // Foto erbij
{
%>
<th><%=L("lcl_bes_image")%></th>
<%
}
%>
<th><%=L("lcl_bes_srtdeel_nr")%></th>
<th><%=L("lcl_bes_srtdeel")%></th>
<th><%=L("lcl_bes_unity")%></th>

View File

@@ -13,6 +13,7 @@
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="../Shared/iface.inc" -->
<!--#include file="../Shared/persoonselector.inc" -->
<!-- #include file="bes.inc" -->
<%
@@ -64,10 +65,9 @@ user.auth_required_or_abort(this_bestelopdr.canReadAny || this_bestelling.isVera
FcltMgr.confirm(L("lcl_bes_confirm_accept").format("<%=S("bes_bestelopdr_prefix") + bes_bestelopdr.bestelopdr_id%>"),
function()
{
var data = {
urole: "<%=urole%>",
opdr_key: <%=opdr_key%>
};
var data = { urole: "<%=urole%>",
opdr_key: <%=opdr_key%>
};
<% protectRequest.dataToken("data"); %>
$.post("opdr_accept.asp",
data,
@@ -185,8 +185,29 @@ user.auth_required_or_abort(this_bestelopdr.canReadAny || this_bestelling.isVera
Title: L("lcl_status_details") + " " + S("bes_bestelopdr_prefix") + bes_bestelopdr.bestelopdr_id
}
}
ROFIELDTR("fld", L("lcl_bes_Bes_status"), bes_bestelopdr.statustxt, params);
var statustxt = bes_bestelopdr.statustxt;
var aantal = 0;
var aantalontv = 0;
for (var i = 0; i < bes_bestelopdr.artikel_arr.length; i++)
{
aantal = aantal + bes_bestelopdr.artikel_arr[i].aantal;
aantalontv = aantalontv + bes_bestelopdr.artikel_arr[i].aantalontv;
}
if (bes_bestelopdr.status == 4 && aantalontv > 0 && aantalontv < aantal)
statustxt += "\n" + "Deels geleverd"; // TODO in 2018.1 harde tekst vervangen door lcl_bes_ord_deelsgeleverd.
ROFIELDTR("fld", L("lcl_bes_Bes_status"), statustxt, params);
ROFIELDTR("fld", L("lcl_bes_Bes_Owner"), bes_bestelopdr.prs_perslid_naam);
if (bes_bestelling.perslid_key_voor > 0 && bes_bestelling.perslid_key_voor != bes_bestelopdr.perslid_key)
{
FCLTpersoonselector(
"personFor",
"sgPersonFor",
{ perslidKey: bes_bestelling.perslid_key_voor,
label: L("lcl_bes_order_for"),
readonly: true,
moreinfo: true
});
}
sql = "SELECT mld_adres_naam "
+ " FROM mld_adres"
@@ -203,6 +224,11 @@ user.auth_required_or_abort(this_bestelopdr.canReadAny || this_bestelling.isVera
ROTEXTAREATR("fldtxt", L("lcl_remark"), bes_bestelopdr.opmerking, {id: "txt", suppressEmpty: true}); // Afhandeling, reden niet akkoord
ROTEXTAREATR("fldtxt", L("lcl_bes_comment"), bes_bestelopdr.delivery_opmerk, {id: "odtxt", suppressEmpty: true});
ROTEXTAREATR("fldtxt", L("lcl_bes_bestelling_lev_opm"), bes_bestelling.lev_opm, {suppressEmpty: true} );
if (this_bestelopdr.canWriteFlags && bes_bestelopdr.flag)
{
ROFIELDTR("fld showflag", L("lcl_bestelopdr_flags")+I("fa-circle besopdrflag"+ bes_bestelopdr.flag), L("lcl_bestelopdr_flag" + bes_bestelopdr.flag), {trclass: "showflag"});
}
BLOCK_END();
BLOCK_START("besOpdrItems", L("lcl_bes_geselecteerd"));

View File

@@ -51,6 +51,7 @@ sql = "SELECT d.bes_srtgroep_key"
+ " , bes_srtprod_nr"
+ " , bes_srtdeel_maxbestel"
+ " , d.bes_srtprod_key"
+ " , d.ins_srtdeel_key"
+ " FROM bes_srtdeel d, bes_srtgroep g, ins_tab_discipline disc"
+ " , bes_srtprod p"
+ " WHERE g.ins_discipline_key = disc.ins_discipline_key"
@@ -87,7 +88,8 @@ var art = { srtdeel_key: srtdeel_key,
srtprod_oms: oRs("bes_srtprod_omschrijving").Value,
srtprod_nr: oRs("bes_srtprod_nr").Value,
maxbestel: oRs("bes_srtdeel_maxbestel").Value,
srtprod_key: oRs("bes_srtprod_key").Value
srtprod_key: oRs("bes_srtprod_key").Value,
ins_srtdeel_key: oRs("ins_srtdeel_key").Value
}
oRs.Close();
@@ -195,6 +197,17 @@ oRs.Close();
suppressEmpty: true,
readonly: true });
ROFIELDTR("fldshort", L("lcl_bes_depotverdeelpct"), art.depotverdeelpct, {suppressEmpty: true});
// Objectsoort.
var sql = "SELECT ins_srtdeel_key"
+ " , ins_srtdeel_omschrijving"
+ " FROM ins_v_aanwezigsrtdeel"
+ " WHERE BITAND(ins_srtdeel_binding, 8) = 8 OR BITAND(ins_srtdeel_binding, 16) = 16" // Afdeling 0x8=8, Persoon 0x10=16.
+ " ORDER BY ins_srtdeel_omschrijving";
FCLTselector("ins_srtdeel_key", sql,
{ label: L("lcl_obj_sort"),
initKey: art.ins_srtdeel_key,
suppressEmpty: true,
readonly: true });
BLOCK_END();
%>
</form>

View File

@@ -40,7 +40,7 @@ function bes_voorraad_list (pautfunction, params)
var fronto = (urole == "fo");
var backo = (urole == "bo");
var minfo = (urole == "mi"); // NOT APPLICABLE?
var frontend = (urole == "fe" || (!fronto & !backo & !minfo));
var frontend = (urole == "fe" || (!fronto && !backo && !minfo));
// Voor resulttable de globalen zetten; zou ng anders moeten.
var outputmode = params.outputmode; // print to 0 = screen, 1 = printer, 2 = excel, etc.
@@ -143,15 +143,22 @@ function bes_voorraad_list (pautfunction, params)
+ " AND (sd.bes_srtdeel_vervaldatum IS NULL OR sd.bes_srtdeel_vervaldatum > SYSDATE)"
: "")
+ (params.besgroep_key
? " AND g.bes_srtgroep_key IN (SELECT sd2.bes_srtgroep_key"
+ " FROM bes_v_aanwezigsrtdeel sd2"
+ " , bes_v_aanwezigsrtgroep sg2"
+ " WHERE sd2.bes_srtgroep_key = sg2.bes_srtgroep_key"
+ " AND (sd2.bes_srtdeel_vervaldatum IS NULL OR sd2.bes_srtdeel_vervaldatum > SYSDATE)"
+ " AND sd2.bes_srtdeel_nr IN (SELECT sd3.bes_srtdeel_nr"
+ " FROM bes_v_aanwezigsrtdeel sd3"
+ " WHERE (sd3.bes_srtdeel_vervaldatum IS NULL OR sd3.bes_srtdeel_vervaldatum > SYSDATE)"
+ " AND sd3.bes_srtgroep_key = " + params.besgroep_key + "))"
? " AND (sd.bes_srtdeel_nr IN (SELECT sd3.bes_srtdeel_nr" // Inkoop en interne artikelen zijn op bes_srtdeel_nr gekoppeld.
+ " FROM bes_v_aanwezigsrtdeel sd3"
+ " WHERE (sd3.bes_srtdeel_vervaldatum IS NULL OR sd3.bes_srtdeel_vervaldatum > SYSDATE)"
+ " AND sd3.bes_srtgroep_key = " + params.besgroep_key + ")"
+ " OR"
+ " (SELECT isd2.bes_srtdeel_key" // Het kan zijn dat er (nog) geen inkoop variant is.
+ " FROM bes_srtdeel isd2"
+ " , bes_srtgroep isg2"
+ " , bes_discipline bd2"
+ " WHERE isd2.bes_srtgroep_key = isg2.bes_srtgroep_key"
+ " AND bd2.ins_discipline_key = isg2.ins_discipline_key"
+ " AND isd2.bes_srtdeel_nr LIKE sd.bes_srtdeel_nr"
+ " AND isd2.bes_srtdeel_verwijder IS NULL"
+ " AND (isd2.bes_srtdeel_vervaldatum IS NULL OR isd2.bes_srtdeel_vervaldatum > TRUNC(SYSDATE))"
+ " AND bd2.ins_discipline_key = dp.bes_ins_discipline_key_inkoop) IS NULL"
+ " )"
: "")
+ (params.item_key
? " AND sd.bes_srtdeel_key IN (SELECT sd2.bes_srtdeel_key"
@@ -244,7 +251,7 @@ function bes_voorraad_list (pautfunction, params)
+ " AND (sd.bes_srtdeel_vervaldatum IS NULL OR sd.bes_srtdeel_vervaldatum > SYSDATE)"
: "")
+ (params.besgroep_key
? " AND g.bes_srtgroep_key = " + besgroep_key
? " AND g.bes_srtgroep_key = " + params.besgroep_key
+ " AND (sd.bes_srtdeel_vervaldatum IS NULL OR sd.bes_srtdeel_vervaldatum > SYSDATE)"
: "")
+ (params.item_key
@@ -332,7 +339,7 @@ function bes_voorraad_list (pautfunction, params)
+ " AND (sd.bes_srtdeel_vervaldatum IS NULL OR sd.bes_srtdeel_vervaldatum > SYSDATE)"
: "")
+ (params.besgroep_key
? " AND g.bes_srtgroep_key = " + besgroep_key
? " AND g.bes_srtgroep_key = " + params.besgroep_key
+ " AND (sd.bes_srtdeel_vervaldatum IS NULL OR sd.bes_srtdeel_vervaldatum > SYSDATE)"
: "")
+ (params.item_key
@@ -488,8 +495,8 @@ function bes_voorraad_list (pautfunction, params)
+ " OR bk.bes_srtinstallatie_key = sd.bes_srtdeel_key AND bk.bes_kenmerk_niveau LIKE 'S')"
+ " AND bk.bes_kenmerk_type = 'I'"
+ " AND bk.bes_srtkenmerk_key = sk.bes_srtkenmerk_key"
+ " AND bk.bes_kenmerk_verwijder = NULL"
+ " AND sk.bes_srtkenmerk_verwijder = NULL"
+ " AND bk.bes_kenmerk_verwijder IS NULL"
+ " AND sk.bes_srtkenmerk_verwijder IS NULL"
+ " AND sd.bes_srtdeel_key = l.bes_srtdeel_key) aantalkenmerken"
+ " , l.eenheid_extern"
+ " , l.eenheid_intern"

View File

@@ -27,7 +27,7 @@ var urole = getQParamSafe("urole");
var fronto = (urole == "fo");
var backo = (urole == "bo");
var minfo = (urole == "mi");
var frontend = (urole == "fe" || (!fronto & !backo & !minfo));
var frontend = (urole == "fe" || (!fronto && !backo && !minfo));
var disc = getQParamInt("disc", -1); // Inkoop catalogus
var srtgroup = getQParamInt("srtgroup", -1); // groep

View File

@@ -18,7 +18,7 @@ var urole = getQParamSafe("urole", ""); // Indien niet meegegeven, veronderste
var fronto = (urole == "fo");
var backo = (urole == "bo");
var minfo = (urole == "mi");
var frontend = (urole == "fe" || (!fronto & !backo & !minfo));
var frontend = (urole == "fe" || (!fronto && !backo && !minfo));
// FORM parameters: de waarde indien aanwezig, anders null
// Vaak is een lege selectie ook een -1, dus dan is-ie wel aanwezig, maar hoeft niet

View File

@@ -14,10 +14,17 @@
// aanroeper moet hebben: var details_Items = new Array(); // voor details.inc
// Gebruikt voor bestaande bestellingen (bes_key >0 en this_bes gezet)
// Gebruikt voor bestaande bestellingen (bes_key >0)
// of voor binnenkomst punchout (bes_key==-1 en psrt_keys, pamounts arrays met keys en aantallen)
function generateDetails(bes_key, edit, psrt_keys, pamounts)
// of voor auto-bestellijst (bes_key==-1, params.disc_key gezet en params.bestellijst = true)
function generateDetails(bes_key, params)
{
params = params || {};
var edit = params.edit;
var psrt_keys = params.psrt_keys;
var pamounts = params.pamounts;
var sql;
var oRs;
if (bes_key > 0)
{
// retrieve info about the objects
@@ -26,7 +33,8 @@ function generateDetails(bes_key, edit, psrt_keys, pamounts)
+ " , s.bes_srtdeel_nr"
+ ", " + lcl.xsqla('s.bes_srtdeel_omschrijving', 's.bes_srtdeel_key')
+ " , bes_srtdeel_details_loc"
+ " , i.bes_bestelling_item_aantal"
+ " , NVL2(s.bes_srtdeel_image, p.prs_bedrijf_image_loc || s.bes_srtdeel_image, NULL) foto"
+ " , i.bes_bestelling_item_aantal"
+ ", " + lcl.xsqla('g.bes_srtgroep_omschrijving', 'g.bes_srtgroep_key')
+ (edit
? " , COALESCE(bes.getsrtdeelprijs(i.bes_srtdeel_key, null) , 0)"
@@ -54,14 +62,17 @@ function generateDetails(bes_key, edit, psrt_keys, pamounts)
+ " , bes_srtgroep g"
+ " , bes_bestelling b"
+ " , bes_staffeltabel bst"
+ " , prs_bedrijf p"
+ " WHERE i.bes_bestelling_key = " + bes_key
+ " AND i.bes_srtdeel_key = s.bes_srtdeel_key"
+ " AND b.bes_bestelling_key = i.bes_bestelling_key"
+ " AND s.bes_srtgroep_key = g.bes_srtgroep_key"
+ " AND bst.bes_staffeltabel_key(+) = s.bes_staffeltabel_key"
+ " AND p.prs_bedrijf_verwijder IS NULL" // want ook die geven later een error en kunnen niet besteld worden
+ " AND s.prs_bedrijf_key = p.prs_bedrijf_key"
+ " ORDER BY bes_srtdeel_nr, UPPER(bes_srtdeel_omschrijving)"; // XLAT??
}
else // punchout data heeft niets met staffels o.i.d.
else // punchout en bestellijst hebben niets met staffels o.i.d.
{
sql = "SELECT ins_discipline_key"
+ " , s.bes_srtdeel_key"
@@ -69,6 +80,7 @@ function generateDetails(bes_key, edit, psrt_keys, pamounts)
+ ", " + lcl.xsqla('s.bes_srtdeel_omschrijving', 's.bes_srtdeel_key')
// + " , 0 bes_bestelling_item_aantal" // komt straks uit pamounts
+ " , bes_srtdeel_details_loc"
+ " , NVL2(s.bes_srtdeel_image, p.prs_bedrijf_image_loc || s.bes_srtdeel_image, NULL) foto"
+ ", " + lcl.xsqla('g.bes_srtgroep_omschrijving', 'g.bes_srtgroep_key')
+ " , bes.getsrtdeelprijs (s.bes_srtdeel_key, NULL) prijs"
+ " , s.bes_srtdeel_btw"
@@ -82,53 +94,31 @@ function generateDetails(bes_key, edit, psrt_keys, pamounts)
+ ", " + lcl.xsqla('s.bes_srtdeel_opmerking', 's.bes_srtdeel_key')
+ " FROM bes_srtdeel s"
+ " , bes_srtgroep g"
+ " , bes_staffeltabel bst"
+ " WHERE s.bes_srtdeel_key IN (" + psrt_keys.join(",") + ")"
+ " , prs_bedrijf p"
+ " WHERE "
+ (params.auto_bestellijst // Dan alle artikelen van deze discipline
?"g.ins_discipline_key = " + params.disc_key
+ " AND bes_srtdeel_verwijder IS NULL"
+ " AND bes_srtgroep_verwijder IS NULL"
+ " AND (bes_srtdeel_vervaldatum IS NULL"
+ " OR bes_srtdeel_vervaldatum > SYSDATE)"
:"s.bes_srtdeel_key IN (" + psrt_keys.join(", ") + ")")
+ " AND s.bes_srtgroep_key = g.bes_srtgroep_key"
+ " AND bst.bes_staffeltabel_key(+) = s.bes_staffeltabel_key"
+ " ORDER BY bes_srtdeel_nr, UPPER(bes_srtdeel_omschrijving)"; // XLAT??
+ " AND p.prs_bedrijf_verwijder IS NULL" // want ook die geven later een error en kunnen niet besteld worden
+ " AND s.prs_bedrijf_key = p.prs_bedrijf_key"
+ " ORDER BY g.bes_srtgroep_volgnr"
+ " , " + lcl.xsql('g.bes_srtgroep_omschrijving', 'g.bes_srtgroep_key')
+ " , s.bes_srtdeel_volgnr"
+ " , " + lcl.xsql('s.bes_srtdeel_omschrijving', 's.bes_srtdeel_key');
}
oRs = Oracle.Execute(sql);
var oRs = Oracle.Execute(sql);
%>
<script type="text/javascript" >
<script>
var i = 0;
<%
var isCorrectie = false; // We hebben geen apart
while (!oRs.eof)
{
sql = " SELECT k.bes_kenmerk_key"
+ "," + lcl.xsqla('sk.bes_srtkenmerk_omschrijving', 'sk.bes_srtkenmerk_key')
+ ", sk.bes_srtkenmerk_kenmerktype"
+ ", r.fac_kenmerkdomein_objectnaam"
+ ", r.fac_kenmerkdomein_kolomnaam"
+ ", r.fac_kenmerkdomein_kolomtxt"
+ ", r.fac_usrtab_key"
+ ", sk.bes_srtkenmerk_lengte"
+ ", sk.bes_srtkenmerk_dec"
+ ", sk.bes_srtkenmerk_nmin"
+ ", sk.bes_srtkenmerk_nmax"
+ ", (SELECT v.bes_kenmerkbesteli_waarde"
+ " FROM bes_kenmerkbesteli v"
+ " WHERE v.bes_bestelling_item_key = " + oRs("bes_bestelling_item_key").value // 83 84
+ " AND v.bes_kenmerk_key = k.bes_kenmerk_key"
+ " AND v.bes_kenmerkbesteli_verwijder IS NULL) waarde" // 11
+ ", k.bes_kenmerk_verplicht"
+ ", k.bes_kenmerk_groep"
+ ", " + lcl.xsqla('k.bes_kenmerk_default', 'k.bes_kenmerk_key')
+ ", k.bes_srtinstallatie_key"
+ " FROM bes_srtkenmerk sk"
+ ", bes_kenmerk k"
+ ", fac_kenmerkdomein r"
+ ", bes_kenmerkbesteli kbi"
+ " WHERE k.bes_kenmerk_verwijder IS NULL"
+ " AND kbi.bes_kenmerk_key = k.bes_kenmerk_key"
+ " AND kbi.bes_bestelling_item_key IN (" + oRs("bes_bestelling_item_key").value + ")"
+ " AND k.bes_srtkenmerk_key = sk.bes_srtkenmerk_key"
+ " AND sk.bes_srtkenmerk_verwijder IS NULL"
+ " AND sk.fac_kenmerkdomein_key = r.fac_kenmerkdomein_key(+)"
+ " AND k.bes_kenmerk_type = 'I'"
+ " ORDER BY k.bes_kenmerk_volgnummer, UPPER("+lcl.xsql('sk.bes_srtkenmerk_omschrijving', 'sk.bes_srtkenmerk_key') +")";
oRs1 = Oracle.Execute(sql);
%>
var objFlex = new Array;
objFlex[0] = new Array(); // bes_kenmerk_key
@@ -137,46 +127,86 @@ function generateDetails(bes_key, edit, psrt_keys, pamounts)
objFlex[3] = new Array(); // flexkenmerkwaarde omschrijving
i = 0;
<%
while (!oRs1.eof)
{
var ktype = oRs1("bes_srtkenmerk_kenmerktype").value;
if (ktype == 'R' || ktype == 'S')
{
val = oRs1("waarde").value;
var FAC_USRTAB_KEY = oRs1("fac_usrtab_key").value;
if (oRs1("fac_kenmerkdomein_objectnaam").value == "FAC_USRDATA" && FAC_USRTAB_KEY)
where = "FAC_USRTAB_KEY = " + FAC_USRTAB_KEY;
sql = "SELECT " + oRs1("fac_kenmerkdomein_kolomnaam").value + "," + oRs1("fac_kenmerkdomein_kolomtxt").value + " waarde"
+ " FROM " + oRs1("fac_kenmerkdomein_objectnaam").value
+ " WHERE " + oRs1("fac_kenmerkdomein_kolomnaam").value + " = " + val;
oRs2 = Oracle.Execute(sql);
if (oRs("bes_bestelling_item_key").value > 0)
{
sql = " SELECT k.bes_kenmerk_key"
+ "," + lcl.xsqla('sk.bes_srtkenmerk_omschrijving', 'sk.bes_srtkenmerk_key')
+ ", sk.bes_srtkenmerk_kenmerktype"
+ ", r.fac_kenmerkdomein_objectnaam"
+ ", r.fac_kenmerkdomein_kolomnaam"
+ ", r.fac_kenmerkdomein_kolomtxt"
+ ", r.fac_usrtab_key"
+ ", sk.bes_srtkenmerk_lengte"
+ ", sk.bes_srtkenmerk_dec"
+ ", sk.bes_srtkenmerk_nmin"
+ ", sk.bes_srtkenmerk_nmax"
+ ", (SELECT v.bes_kenmerkbesteli_waarde"
+ " FROM bes_kenmerkbesteli v"
+ " WHERE v.bes_bestelling_item_key = " + oRs("bes_bestelling_item_key").value
+ " AND v.bes_kenmerk_key = k.bes_kenmerk_key"
+ " AND v.bes_kenmerkbesteli_verwijder IS NULL) waarde" // 11
+ ", k.bes_kenmerk_verplicht"
+ ", k.bes_kenmerk_groep"
+ ", " + lcl.xsqla('k.bes_kenmerk_default', 'k.bes_kenmerk_key')
+ ", k.bes_srtinstallatie_key"
+ " FROM bes_srtkenmerk sk"
+ ", bes_kenmerk k"
+ ", fac_kenmerkdomein r"
+ ", bes_kenmerkbesteli kbi"
+ " WHERE k.bes_kenmerk_verwijder IS NULL"
+ " AND kbi.bes_kenmerk_key = k.bes_kenmerk_key"
+ " AND kbi.bes_bestelling_item_key IN (" + oRs("bes_bestelling_item_key").value + ")"
+ " AND k.bes_srtkenmerk_key = sk.bes_srtkenmerk_key"
+ " AND sk.bes_srtkenmerk_verwijder IS NULL"
+ " AND sk.fac_kenmerkdomein_key = r.fac_kenmerkdomein_key(+)"
+ " AND k.bes_kenmerk_type = 'I'"
+ " ORDER BY k.bes_kenmerk_volgnummer, UPPER("+lcl.xsql('sk.bes_srtkenmerk_omschrijving', 'sk.bes_srtkenmerk_key') +")";
oRs1 = Oracle.Execute(sql);
while (!oRs1.eof)
{
var ktype = oRs1("bes_srtkenmerk_kenmerktype").value;
if (ktype == 'R' || ktype == 'S')
{
val = oRs1("waarde").value;
var FAC_USRTAB_KEY = oRs1("fac_usrtab_key").value;
if (oRs1("fac_kenmerkdomein_objectnaam").value == "FAC_USRDATA" && FAC_USRTAB_KEY)
where = "FAC_USRTAB_KEY = " + FAC_USRTAB_KEY;
sql = "SELECT " + oRs1("fac_kenmerkdomein_kolomnaam").value + "," + oRs1("fac_kenmerkdomein_kolomtxt").value + " waarde"
+ " FROM " + oRs1("fac_kenmerkdomein_objectnaam").value
+ " WHERE " + oRs1("fac_kenmerkdomein_kolomnaam").value + " = " + safe.quoted_sql(val);
oRs2 = Oracle.Execute(sql);
if (!oRs2.eof)
{ %>
objFlex[0][i] = <%=oRs1("bes_kenmerk_key").value%>;
objFlex[1][i] = "<%=safe.jsstring(oRs1("waarde").value)%>";
objFlex[2][i] = "<%=safe.jsstring(oRs1("bes_srtkenmerk_omschrijving").value)%>";
objFlex[3][i] = "<%=safe.jsstring(oRs2("waarde").value)%>";
i++;
<% }
}
else
{ %>
objFlex[0][i] = <%=oRs1("bes_kenmerk_key").value%>;
objFlex[1][i] = "<%=safe.jsstring(oRs1("waarde").value)%>";
objFlex[2][i] = "<%=safe.jsstring(oRs1("bes_srtkenmerk_omschrijving").value)%>";
objFlex[3][i] = "<%=safe.jsstring(oRs1("waarde").value)%>";
i++;
<% }
oRs1.moveNext();
if (!oRs2.eof)
{ %>
objFlex[0][i] = <%=oRs1("bes_kenmerk_key").value%>;
objFlex[1][i] = "<%=safe.jsstring(oRs1("waarde").value)%>";
objFlex[2][i] = "<%=safe.jsstring(oRs1("bes_srtkenmerk_omschrijving").value)%>";
objFlex[3][i] = "<%=safe.jsstring(oRs2("waarde").value)%>";
i++;
<% }
}
else
{ %>
objFlex[0][i] = <%=oRs1("bes_kenmerk_key").value%>;
objFlex[1][i] = "<%=safe.jsstring(oRs1("waarde").value)%>";
objFlex[2][i] = "<%=safe.jsstring(oRs1("bes_srtkenmerk_omschrijving").value)%>";
objFlex[3][i] = "<%=safe.jsstring(oRs1("waarde").value)%>";
i++;
<% }
oRs1.moveNext();
}
oRs1.Close();
}
oRs1.Close();
var amount = 0;
if (bes_key > 0)
{
amount = oRs("bes_bestelling_item_aantal").value;
isCorrectie = isCorrectie || amount < 0; // Heuristisch
}
else if (params.auto_bestellijst)
{
amount = 0;
}
else // punch_out
{
for (var i=0; i < psrt_keys.length; i++)
@@ -187,14 +217,16 @@ function generateDetails(bes_key, edit, psrt_keys, pamounts)
}
}
}
// hieronder niet te veel spaties toevoegen: die gaan allemaal over het lijntje!
var fotopad = oRs("foto").Value;
if (fotopad && fotopad.indexOf("/") == -1) // Nog geen enkele slash? Dan moet het wel lokaal zijn.
fotopad = S("bes_image_path") + oRs("ins_discipline_key").Value + "/" + fotopad;
%>
details_Items[<%=oRs("bes_bestelling_item_key").value%>] =
{ srtdeel_key: <%=oRs("bes_srtdeel_key").value%>,
srtdeel_nr: "<%=safe.jsstring(oRs("bes_srtdeel_nr").value)%>",
srtdeel_omschrijving: "<%=safe.jsstring(oRs("bes_srtdeel_omschrijving").value)%>",
srtdeel_details_loc: "<%=safe.jsstring(oRs("bes_srtdeel_details_loc").value)%>",
srtdeel_image: "<%=safe.jsstring(fotopad)%>",
srtgroup_text: "<%=safe.jsstring(oRs("bes_srtgroep_omschrijving").value)%>",
amount: <%=amount%>,
price: <%=safe.jsfloat(oRs("prijs").value || 0)%>,

View File

@@ -35,6 +35,7 @@
var fav_name = getQParam('fav_name', "");
%>
<button onclick='onSelectAll()'><%=L("lcl_all")%></button>
<form name="u2">
<table id="besfavtable" cellspacing=0 cellpadding=0 class="rstable">
@@ -89,18 +90,18 @@
+ " WHERE (k.bes_srtinstallatie_key = " + disc_key + " AND k.bes_kenmerk_niveau LIKE 'D'"
+ " OR k.bes_srtinstallatie_key = g.bes_srtgroep_key AND k.bes_kenmerk_niveau LIKE 'G'"
+ " OR k.bes_srtinstallatie_key = d.bes_srtdeel_key AND k.bes_kenmerk_niveau LIKE 'S')"
+ " AND sk.bes_srtkenmerk_key = k.bes_srtkenmerk_key"
+ " AND sk.bes_srtkenmerk_key = k.bes_srtkenmerk_key"
+ " AND k.bes_kenmerk_verwijder IS NULL"
+ " AND sk.bes_srtkenmerk_verwijder IS NULL"
+ " AND sk.bes_srtkenmerk_verwijder IS NULL"
+ " AND k.bes_kenmerk_type = 'I') num_prop"
+ ", (SELECT COUNT(bes_kenmerk_key)"
+ " FROM bes_kenmerk k, bes_srtkenmerk sk"
+ " WHERE (k.bes_srtinstallatie_key = " + disc_key + " AND k.bes_kenmerk_niveau LIKE 'D'"
+ " OR k.bes_srtinstallatie_key = g.bes_srtgroep_key AND k.bes_kenmerk_niveau LIKE 'G'"
+ " OR k.bes_srtinstallatie_key = d.bes_srtdeel_key AND k.bes_kenmerk_niveau LIKE 'S')"
+ " AND sk.bes_srtkenmerk_key = k.bes_srtkenmerk_key"
+ " AND sk.bes_srtkenmerk_key = k.bes_srtkenmerk_key"
+ " AND k.bes_kenmerk_verwijder IS NULL"
+ " AND sk.bes_srtkenmerk_verwijder IS NULL"
+ " AND sk.bes_srtkenmerk_verwijder IS NULL"
+ " AND k.bes_kenmerk_type = 'I'"
+ " AND k.bes_kenmerk_default LIKE '%##SQL##%') num_prssql"
+ ", CASE bst.bes_staffeltabel_groep"
@@ -178,18 +179,18 @@
+ " WHERE (k.bes_srtinstallatie_key = " + disc_key + " AND k.bes_kenmerk_niveau LIKE 'D'"
+ " OR k.bes_srtinstallatie_key = g.bes_srtgroep_key AND k.bes_kenmerk_niveau LIKE 'G'"
+ " OR k.bes_srtinstallatie_key = d.bes_srtdeel_key AND k.bes_kenmerk_niveau LIKE 'S')"
+ " AND k.bes_srtkenmerk_key = sk.bes_srtkenmerk_key"
+ " AND k.bes_srtkenmerk_key = sk.bes_srtkenmerk_key"
+ " AND k.bes_kenmerk_verwijder IS NULL"
+ " AND sk.bes_srtkenmerk_verwijder IS NULL"
+ " AND sk.bes_srtkenmerk_verwijder IS NULL"
+ " AND k.bes_kenmerk_type = 'I') num_prop"
+ ", (SELECT COUNT(bes_kenmerk_key)"
+ " FROM bes_kenmerk k, bes_srtkenmerk sk"
+ " WHERE (k.bes_srtinstallatie_key = " + disc_key + " AND k.bes_kenmerk_niveau LIKE 'D'"
+ " OR k.bes_srtinstallatie_key = g.bes_srtgroep_key AND k.bes_kenmerk_niveau LIKE 'G'"
+ " OR k.bes_srtinstallatie_key = d.bes_srtdeel_key AND k.bes_kenmerk_niveau LIKE 'S')"
+ " AND k.bes_srtkenmerk_key = sk.bes_srtkenmerk_key"
+ " AND k.bes_srtkenmerk_key = sk.bes_srtkenmerk_key"
+ " AND k.bes_kenmerk_verwijder IS NULL"
+ " AND sk.bes_srtkenmerk_verwijder IS NULL"
+ " AND sk.bes_srtkenmerk_verwijder IS NULL"
+ " AND k.bes_kenmerk_type = 'I'"
+ " AND k.bes_kenmerk_default LIKE '%##SQL##%') num_prssql"
+ ", CASE bst.bes_staffeltabel_groep"

View File

@@ -21,6 +21,11 @@ function onClickItem(tr)
$(tr).toggleClass("selected");
}
function onSelectAll()
{
$("table#besfavtable tr").addClass("selected");
}
function onDblClickItem(tr) {
$(tr).closest("table").find("tr").removeClass("selected"); // Alle andere regels deselecteren
$(tr).addClass("selected");

View File

@@ -37,9 +37,34 @@ user.auth_required_or_abort(this_bestelopdr.canDeliver);
$('textarea').autogrow();
});
function hasInStock()
{
var max_o_i = $("#max_o_i").val();
var art_text = "";
var count_insuf = 0;
for (var i = 0; i < max_o_i; i++)
{
var instock = parseInt($("#instock" + i).val(), 10);
var delivered = parseInt($("#cnt" + i).val(), 10) || 0;
var retour = instock < 0 || delivered < 0;
if ((retour && instock > delivered) || (!retour && instock < delivered))
return false;
}
return true;
}
function opdr_submit()
{
if (hasBadFields())
var max_o_i = $("#max_o_i").val();
var valid = true;
for (var i = 0; i < max_o_i; i++)
{
$("#cnt" + i).blur();
valid = valid && !$("#cnt" + i).hasClass("bad");
}
if (!valid) return false;
if (hasBadFields() || !hasInStock())
{
FcltMgr.alert(L("lcl_shared_validator_invalid"));
return false;
@@ -59,10 +84,10 @@ user.auth_required_or_abort(this_bestelopdr.canDeliver);
var besopdr_id = "";
for (i = 0; i < max_o_i; i++)
{
ontv = getFParamInt('cnt' + i, 0);
oldcnt = getFParamInt('amto' + i);
bokey = getFParamInt('bokey' + i);
bikey = getFParamInt('bi_key' + i);
ontv = getFParamInt("cnt" + i, 0);
oldcnt = getFParamInt("amto" + i);
bokey = getFParamInt("bokey" + i);
bikey = getFParamInt("bi_key" + i);
if ( !isNaN(ontv) && ontv != 0 && !isNaN(oldcnt))
{
@@ -91,16 +116,24 @@ user.auth_required_or_abort(this_bestelopdr.canDeliver);
besopdr_id = oRs("bes_bestelopdr_id").Value;
trackarray.push(L("lcl_bes_delivery") + ": " + ontv + " " + item_oms);
// Aanmaken (Create), koppelen (Attach) of loskoppelen (Disconnect) van objecten aan of van de bestelopdracht (per bestelopdrachtregel).
bes.createattachdisconnectObjects(opdr_key, bokey, ontv);
}
}
// Laat de gevolgen bepalen..
bes.updatebestelopdrstatus(opdr_key);
// moet ik verdorie de bestelling_key nog speciaal ophalen..
sql = "SELECT bes_bestelling_key"
+ " FROM bes_bestelling_item"
+ " WHERE bes_bestelling_item_key = " + bikey;
sql = "SELECT bi.bes_bestelling_key"
+ " , b.prs_perslid_key_voor"
+ " FROM bes_bestelling_item bi"
+ " , bes_bestelling b"
+ " WHERE bi.bes_bestelling_key = b.bes_bestelling_key"
+ " AND bes_bestelling_item_key = " + bikey;
var oRs = Oracle.Execute(sql);
bes.updatebestellingstatus(oRs("bes_bestelling_key").value);
var bes_key = oRs("bes_bestelling_key").Value;
bes.updatebestellingstatus(bes_key);
var prs_voor = oRs("prs_perslid_key_voor").Value;
oRs.Close();
var newremark = getFParam("notsat", "");
@@ -117,10 +150,28 @@ user.auth_required_or_abort(this_bestelopdr.canDeliver);
opdr_key,
L("lcl_bes_is_bes2uptrack").format(S("bes_bestelopdr_prefix") + besopdr_id) + "\n" + trackarray.join("\n"));
// BESOT2 Notificaties sturen naar de prs_perslid_voor.
// This notification is now sent on behalf of the system, what might be the local FM organisation
var sql = "SELECT l.alg_locatie_email" // null as a string
+ " FROM mld_adres ma, alg_locatie l, bes_bestelling b"
+ " WHERE b.mld_adres_key_lev = ma.mld_adres_key"
+ " AND ma.alg_locatie_key = l.alg_locatie_key"
+ " AND b.bes_bestelling_key = " + bes_key;
var oRs = Oracle.Execute(sql);
if (!oRs.eof)
var lsender = oRs(0).Value;
else
var lsender = null;
Oracle.Execute("BEGIN fac.putnotificationsrtprio(NULL, " + prs_voor + ", 'BESOT2', " + bes_key + ", NULL, NULL, NULL, NULL, NULL, 2, " + (lsender ? safe.quoted_sql(lsender) : "NULL") + "); END;");
// Zijn er bijbehorende facturen die al zijn ingevoerd met de status "Ingevoerd(2)" die nog geapproved moeten worden?
bes.autoapprovefactuur(opdr_key);
%> <script>FcltMgr.closeDetail(window, { } );</script>
%> <script type="text/javascript">
FcltMgr.closeDetail(window, { } );
</script>
<% Response.End;
}
// end submitting
@@ -135,42 +186,51 @@ user.auth_required_or_abort(this_bestelopdr.canDeliver);
%>
<body class="modal" id="mod_beslever">
<form action="opdr_delivery.asp?opdr_key=<%=opdr_key%>&submit=1" method=post name=u2 onsubmit="return false;">
<% sql = "SELECT DISTINCT b.bes_bestelopdr_key,"
+ " bd.prs_bedrijf_naam,"
+ lcl.xsqla('s.bes_srtdeel_omschrijving','s.bes_srtdeel_key') +", "
+ lcl.xsqla('s.bes_srtdeel_eenheid','s.bes_srtdeel_key') +", "
+ " boi.bes_bestelopdr_item_prijs,"
+ " bi.bes_bestelling_item_aantal,"
+ " s.bes_srtdeel_key,"
+ " bi.bes_bestelling_item_key,"
+ " boi.bes_bestelopdr_item_aantal,"
+ " boi.bes_bestelopdr_item_aantalontv,"
+ " m.mld_adres_bezoek_adres || ' ' ||"
<% sql = "SELECT DISTINCT b.bes_bestelopdr_key"
+ " , bd.prs_bedrijf_naam"
+ " , " + lcl.xsqla("s.bes_srtdeel_omschrijving", "s.bes_srtdeel_key")
+ " , " + lcl.xsqla("s.bes_srtdeel_eenheid", "s.bes_srtdeel_key")
+ " , boi.bes_bestelopdr_item_prijs"
+ " , bi.bes_bestelling_item_aantal"
+ " , s.bes_srtdeel_key"
+ " , bi.bes_bestelling_item_key"
+ " , boi.bes_bestelopdr_item_aantal"
+ " , boi.bes_bestelopdr_item_aantalontv"
+ " , m.mld_adres_bezoek_adres || ' ' ||"
+ " m.mld_adres_bezoek_postcode || ' ' ||"
+ " m.mld_adres_bezoek_plaats delivery_place, "
+ " b.bes_bestelopdr_opmerking,"
+ " bes.prs_perslid_key,"
+ " boi.bes_bestelopdr_item_key,"
+ " s.bes_srtdeel_nr,"
+ " b.bes_bestelopdr_delivery_opmerk"
+ " FROM ins_tab_discipline d, "
+ " bes_srtgroep g,"
+ " bes_srtdeel s,"
+ " prs_bedrijf bd,"
+ " bes_bestelopdr b,"
+ " mld_adres m,"
+ " bes_bestelling_item bi,"
+ " bes_bestelopdr_item boi,"
+ " bes_bestelling bes"
+ " WHERE d.ins_discipline_key = g.ins_discipline_key AND"
+ " g.bes_srtgroep_key = s.bes_srtgroep_key AND"
+ " s.bes_srtdeel_key = bi.bes_srtdeel_key AND"
+ " bi.bes_bestelling_key = bes.bes_bestelling_key AND"
+ " b.bes_bestelopdr_key = boi.bes_bestelopdr_key AND"
+ " bi.bes_bestelopdr_item_key = boi.bes_bestelopdr_item_key AND"
+ " b.prs_bedrijf_key = bd.prs_bedrijf_key AND"
+ " m.mld_adres_key(+)= b.mld_adres_key_lev AND"
+ " b.bes_bestelopdr_key = " + opdr_key
+ " m.mld_adres_bezoek_plaats delivery_place"
+ " , b.bes_bestelopdr_opmerking"
+ " , bes.prs_perslid_key"
+ " , boi.bes_bestelopdr_item_key"
+ " , s.bes_srtdeel_nr"
+ " , b.bes_bestelopdr_delivery_opmerk"
+ " , bdp.bes_disc_params_ins_mode"
+ " , CASE"
+ " WHEN bes.bes_bestelling_retourvan_key IS NOT NULL"
+ " THEN 1"
+ " ELSE 0"
+ " END isRetour"
+ " , s.ins_srtdeel_key"
+ " FROM ins_tab_discipline d"
+ " , bes_disc_params bdp"
+ " , bes_srtgroep g"
+ " , bes_srtdeel s"
+ " , prs_bedrijf bd"
+ " , bes_bestelopdr b"
+ " , mld_adres m"
+ " , bes_bestelling_item bi"
+ " , bes_bestelopdr_item boi"
+ " , bes_bestelling bes"
+ " WHERE d.ins_discipline_key = g.ins_discipline_key"
+ " AND d.ins_discipline_key = bdp.bes_ins_discipline_key"
+ " AND g.bes_srtgroep_key = s.bes_srtgroep_key"
+ " AND s.bes_srtdeel_key = bi.bes_srtdeel_key"
+ " AND bi.bes_bestelling_key = bes.bes_bestelling_key"
+ " AND b.bes_bestelopdr_key = boi.bes_bestelopdr_key"
+ " AND bi.bes_bestelopdr_item_key = boi.bes_bestelopdr_item_key"
+ " AND b.prs_bedrijf_key = bd.prs_bedrijf_key"
+ " AND m.mld_adres_key(+)= b.mld_adres_key_lev"
+ " AND b.bes_bestelopdr_key = " + opdr_key
+ " ORDER BY bes_srtdeel_nr";
oRs = Oracle.Execute(sql);
@@ -198,6 +258,8 @@ user.auth_required_or_abort(this_bestelopdr.canDeliver);
</tr>
<% while(!oRs.eof)
{
var fitemoms = oRs("bes_srtdeel_omschrijving").value;
var fitemeenh = oRs("bes_srtdeel_eenheid").value || "";
var fitemstr = oRs("bes_srtdeel_omschrijving").value + " (" + S("currency_pref") + safe.curr(oRs("bes_bestelopdr_item_prijs").value || 0)
+ S("currency_suff") + "/" + (oRs("bes_srtdeel_eenheid").value || "") + ")";
var fitemcnt = oRs("bes_bestelopdr_item_aantal").value;
@@ -205,20 +267,37 @@ user.auth_required_or_abort(this_bestelopdr.canDeliver);
var oikey = oRs("bes_bestelopdr_item_key").value;
var bi_key = oRs("bes_bestelling_item_key").value;
var ins_mode = oRs("bes_disc_params_ins_mode").Value; // Discipline is voor elke regel hetzelfde. Dus de mode ook.
var instock;
var isRetour = oRs("isRetour").Value == 1;
var ins_srtdeel_key = oRs("ins_srtdeel_key").Value || -1;
if (!isRetour && ins_mode > 0 && ins_srtdeel_key > 0)
{
var sql_instock = bes.getMatchObjectsSql(ins_srtdeel_key, bi_key, {getcount: true, retour: isRetour}); // isRetour is false.
var oRsI = Oracle.Execute(sql_instock);
instock = oRsI("aantal").Value;
oRsI.Close();
}
%>
<tr>
<td><%=safe.html(oRs("bes_srtdeel_nr").value)%></td>
<td><%=safe.html(fitemstr)%></td>
<td align='right' valign='top'><nobr>
<td>
<%=safe.html(fitemstr)%>
</td>
<td align="right" valign="top"><nobr>
<% if (!isRetour && ins_mode > 0 && ins_srtdeel_key > 0)
{ %>
<input type="hidden" id="itemeenh<%=count%>" name="itemeenh<%=count%>" value="<%=safe.html(fitemeenh)%>">
<% } %>
<% if (fitemcnttv != -1)
{ %>
<%=fitemcnt%>
<input type='hidden' id='amto<%=count%>' name='amto<%=count%>'
<input type="hidden" id="amto<%=count%>" name="amto<%=count%>"
value='<%=fitemcnttv%>'>
<% }%>
</nobr>
</td>
<td align='right' valign='top'>
<td align="right" valign="top">
<% if (fitemcnttv != -1){%>
<%=fitemcnttv%>
<% }
@@ -227,17 +306,21 @@ user.auth_required_or_abort(this_bestelopdr.canDeliver);
0
<% } %>
</td>
<td align='right' valign='top'><NOBR>
<td align="right" valign="top"><NOBR>
<input type="text" maxlength=5 style="width:50px;text-align:right"
onBlur='checkInput(event);' id='cnt<%=count%>' name='cnt<%=count%>'
value=''>
<input type='hidden' id='bokey<%=count%>' name='bokey<%=count%>' value='<%=oikey%>'>
<input type='hidden' id='bi_key<%=count%>' name='bi_key<%=count%>' value='<%=bi_key%>'>
onBlur="checkInput(event);" id="cnt<%=count%>" name="cnt<%=count%>"
value="">
<input type="hidden" id="bokey<%=count%>" name="bokey<%=count%>" value="<%=oikey%>">
<input type="hidden" id="bi_key<%=count%>" name="bi_key<%=count%>" value="<%=bi_key%>">
<% if (!isRetour && ins_mode > 0 && ins_srtdeel_key > 0)
{ %>
<input type="hidden" id="instock<%=count%>" name="instock<%=count%>" value="<%=instock%>">
<% } %>
</NOBR>
</td>
<td align='right' valign='top' id='remtd<%=count%>'>
<td align="right" valign="top" id="remtd<%=count%>">
<%=fitemcnt-fitemcnttv%>&nbsp;
<input type='hidden' id='rem<%=count%>' name='rem<%=count%>' value='<%=fitemcnt-fitemcnttv%>'>
<input type="hidden" id="rem<%=count%>" name="rem<%=count%>" value="<%=fitemcnt-fitemcnttv%>">
</td>
</tr>
<%
@@ -245,7 +328,13 @@ user.auth_required_or_abort(this_bestelopdr.canDeliver);
count++;
}
oRs.Close();
%>
<script type="text/javascript">
var ins_mode = <%=ins_mode%>;
var ins_srtdeel_key = <%=ins_srtdeel_key%>;
var isRetour = <%=isRetour? 1 : 0%> == 1;
</script>
<%
BLOCK_END();
%>
<input type='hidden' id='max_o_i' name='max_o_i' value='<%=count%>'>

View File

@@ -20,15 +20,40 @@ function checkInput(evt)
var i = obj.id.substring(3);
var remaining = parseInt(document.getElementById('rem'+i).value,10);
if( val == "" || val == 0 || (!isNaN(val) && isGoodNumber(val,true,false,-1,-1) &&
((remaining > 0 && parseInt(val,10) >= 0) || (remaining < 0 && parseInt(val,10) <= 0)))) {
if( val == "" ) val = 0;
valid = !((remaining > 0 && val > remaining) || (remaining < 0 && val < remaining))
error = L("lcl_bes_exceed_value")
if (val == "" || val == 0 ||
(!isNaN(val) && isGoodNumber(val, true, false, -1, -1) &&
((remaining > 0 && parseInt(val, 10) >= 0) || (remaining < 0 && parseInt(val, 10) <= 0))))
{
if (val == "") val = 0;
valid = !((remaining > 0 && val > remaining) || (remaining < 0 && val < remaining));
error = L("lcl_bes_exceed_value");
if (!isRetour && valid && ins_mode > 0 && ins_srtdeel_key > 0)
{
var instock = parseInt($("#instock" + i).val(), 10);
var delivered = parseInt($("#cnt" + i).val(), 10) || 0;
var retour = instock < 0 || delivered < 0;
var itemeenh = $("#itemeenh" + i).val();
if (retour)
{
valid = instock <= delivered;
error = L("lcl_bes_insuf_return").format((instock * -1) + " " + itemeenh);
}
else
{
valid = instock >= delivered;
error = L("lcl_bes_insuf_instock").format(instock + " " + itemeenh);
}
}
else if (!isRetour && valid && ins_mode > 0 && ins_srtdeel_key < 0)
{ // Zou niet voor moeten komen.
valid = false;
error = L("lcl_bes_notlinkedto_obj_type");
iface.button.disable("btn_delivery_submit"); // Disable de "Opslaan" button.
}
}
else
{
error = L("lcl_bes_bad_value")
error = L("lcl_bes_bad_value");
valid = false;
}
validateField(obj, valid, error);

View File

@@ -63,10 +63,14 @@ function opdr_list (pautfunction, params)
// params.besopdrstbev : boolean (true | false)
// params.besopdrstlev : boolean (true | false)
// params.besopdrstver : boolean (true | false)
// params.flags : intArray [flagkeys {0-9}]
var authparams = user.checkAutorisation(pautfunction);
var urole = params.urole;
var urole = params.urole;
var fronto = (urole == "fo");
var backo = (urole == "bo");
var frontend = (urole == "fe");
// Voor resulttable de globalen zetten; zou ng anders moeten.
var outputmode = params.outputmode; // print to 0 = screen, 1 = printer, 2 = excel, etc.
@@ -93,6 +97,7 @@ function opdr_list (pautfunction, params)
var besopdrstbev = params.besopdrstbev;
var besopdrstlev = params.besopdrstlev;
var besopdrstver = params.besopdrstver;
var flags = params.flags;
var showopdrstatus = "";
if (besopdrstafg) showopdrstatus = (showopdrstatus == ""? "" : showopdrstatus + ",") + "1";
@@ -125,6 +130,7 @@ function opdr_list (pautfunction, params)
+ ", be.prs_bedrijf_naam prs_bedrijf_naam"
// straks + ", bes.bestelopdr_tooltip(b.bes_bestelopdr_key) tooltip" // TODO JGL: Dit is een dure tooltip!
+ ", b.bes_bestelopdr_status"
+ ", b.bes_bestelopdr_flag"
+ ", ma.mld_adres_naam afleveradres"
+ ", bst.bes_bestelling_plaats"
+ ", bst.bes_bestelling_leverdatum"
@@ -226,6 +232,23 @@ function opdr_list (pautfunction, params)
if (supplier_key)
sql += " AND be.prs_bedrijf_key = " + supplier_key;
if (!frontend && flags && flags.length > 0 && flags.length < S("bes_bestelopdr_flags"))
{
var filterNull = false;
for (var i = 0; i < flags.length; i++)
{
if (flags[i] === 0)
{
filterNull = true;
}
}
sql += " AND (b.bes_bestelopdr_flag IN (" + flags.join(",") + ")"
+ (filterNull ? " OR b.bes_bestelopdr_flag IS NULL" : "")
+ " )";
}
}
// apply 3D authorization to the locations and to the to the organisations (both ALG and PRS)
@@ -307,6 +330,33 @@ function opdr_list (pautfunction, params)
return safe.html(bestellingvoor);
}
function fncolFlags(oRs)
{
var bestelopdr_key = oRs("bes_bestelopdr_key").Value;
var flagkey = oRs("bes_bestelopdr_flag").Value || 0;
var ttl = L("lcl_bestelopdr_flag" + flagkey);
var displ = "";
if (print)
{
if (flagkey != 0) displ = safe.html(ttl); // else blijft-ie gewoon leeg
}
else if (excel) // dan gewoon maar de code, handig groeperen
{
displ = flagkey||"";
}
else // maak er dan nog leuke plaatjes van
{
var flagIcon = flagkey == 0 ? "fa-circle-o" : "fa-circle";
// Met hidden flagkey voor sortering. 999 zorgt dat bij 1 keer sorteren de gevlagde direct bovenaan staan
displ = "<div " + ((urole == "bo" || urole == "fo") ? "onclick='toggleBesopdrFlag(event, "+ bestelopdr_key +");'":"")
+ " title='"+safe.htmlattr(ttl)+"'>"
+ "<i id='besopdrflagimg"+bestelopdr_key+"' flagkey='"+flagkey+"' class='fa "+flagIcon+" besopdrflag"+flagkey+"'></i>"
+ "<span style='display:none'>"+(flagkey||999)+"</span></div>";
}
return displ;
}
var rst = new ResultsetTable({keyColumn: "bes_bestelopdr_key",
ID: "opdrtable",
rowData: fnrowData,
@@ -319,6 +369,10 @@ function opdr_list (pautfunction, params)
});
// Kolommen
if (S("bes_bestelopdr_flags") > 0 && !frontend) // Flags
{
rst.addColumn(new Column({caption: (outputmode == 0 ? I("fa-circle") : L("lcl_bestelopdr_flags")), content: fncolFlags, align: "center"}));
}
rst.addColumn(new Column({caption: L("lcl_ord_order_num"), content: fncolBesOpdrId}));
rst.addColumn(new Column({caption: L("lcl_bes_add_date"), content: "datum", datatype: "date"}));
rst.addColumn(new Column({caption: L("lcl_bes_Supplier"), content: "prs_bedrijf_naam", tooltip: "tooltip"}));

View File

@@ -65,3 +65,32 @@ function opdrDeliver(row)
FcltMgr.openModalDetail(url, L("lcl_bes_delivery"), {xwidth: 800});
}
}
function toggleBesopdrFlag(evt, besopdr_key)
{
FcltMgr.stopPropagation(evt);
var flagkey = $('#besopdrflagimg'+besopdr_key).attr('flagkey');
var data = { besopdr_key: besopdr_key
, flagkey : flagkey
};
protectRequest.dataToken(data);
$.post("../bes/bes_flag.asp"
, data
, FcltCallbackAndThen(setBesopdrFlag)
, "json"
);
}
function setBesopdrFlag(data)
{ // Zet de flag en het volgnummer van de flag.
var bes_key = data.besopdr_key;
var flagkey = data.newflag;
var flagimg = (flagkey == 0 ? 'fa fa-circle-o besopdrflag'+flagkey : 'fa fa-circle besopdrflag'+flagkey);
$('#besopdrflagimg'+bes_key).attr('flagkey', flagkey);
$('#besopdrflagimg'+bes_key).attr('class', flagimg);
$('#besopdrflagimg'+bes_key).parent().attr('title', L("lcl_bestelopdr_flag" + flagkey));
$('#besopdrflagimg'+bes_key).next().text(flagkey||999); // Hidden span voor sorteren
$('#opdrtable th').removeClass('sorttable_sorted sorttable_sorted_reverse'); // sortable cache't namelijk
}

View File

@@ -27,7 +27,7 @@ var urole = getQParamSafe("urole", "bo");
var fronto = urole == "fo";
var backo = (urole == "bo" || urole == "br");
var minfo = (urole == "mi");
var frontend = (urole == "fe" || (!fronto & !backo & !minfo));
var frontend = (urole == "fe" || (!fronto && !backo && !minfo));
var prs_key = getQParamInt("prs_key", -1); // Requestor_key
var disc = getQParamInt("disc", -1); // catalogus
@@ -149,6 +149,26 @@ oRs.Close();
trclass: "secsearch"
}) ;
if (!frontend && S("bes_bestelopdr_flags") > 1) // Flags checkboxen -->
{
%>
<tr>
<td class="label"><label><%=L("lcl_bestelopdr_flags")%>:&nbsp;</label></td>
<td id="besFlags">
<% for (flagkey=0; flagkey < S("bes_bestelopdr_flags"); flagkey++)
{
if (flagkey == 0)
{
%><label for="flag0"><input type="checkbox" name="flag0" id="flag0" checked>&nbsp;<%=safe.html(L("lcl_bestelopdr_flag0"))%></label><br>
<% }
else
{
%><label for="flag<%=flagkey%>"><input type="checkbox" name="flag<%=flagkey%>" id="flag<%=flagkey%>" checked><i class="fa fa-circle besopdrflag<%=flagkey%> besopdrs"></i>&nbsp;<%=safe.html(L("lcl_bestelopdr_flag"+flagkey))%></label><br>
<% }
} %>
</td>
</tr>
<% }
%>
</table>
</td><!-- end column 1 -->

View File

@@ -65,6 +65,15 @@ else
params.adr_key = (adr_key != -1 ? adr_key : null);
params.loc_key = (loc_key != -1 ? loc_key : null);
// Flags
var flags = [];
for (flagkey=0; flagkey < S("bes_bestelopdr_flags"); flagkey++)
{
if (getQParam("flag" + flagkey, "off") == "on")
flags.push(flagkey);
}
params.flags = flags;
// FORM checkboxes
var st_opdrRej = (getQParamInt("opdrRej", 0) == 1);
var st_opdrOpen = (getQParamInt("opdrOpen", 0) == 1);

View File

@@ -107,7 +107,7 @@
<label><%=L("lcl_bes_fav_items_fl")%>:</label>
<iframe width="100%" height="400" src="../Shared/empty.asp" name="workFrame" id="workFrame" frameborder="0"
scrolling="auto" framespacing='0'
xxonload="FcltMgr.iframeLoaded(this)">
onload="FcltMgr.iframeLoaded(this, { largerOnly: true })">
</iframe>
</td>
</tr>

View File

@@ -18,13 +18,24 @@
*/
var lastsrtgroup_text = "";
function AddAllItems(editable, show_received)
{
if (this.details_Items == null)
return;
var table = $("#sel_items>tbody")[0];
for (i in details_Items)
{
if (details_Items[i].srtgroup_text != lastsrtgroup_text)
{
var tr = table.insertRow(-1);
tr.className = "bessrtgroepname";
var cell = tr.insertCell(-1);
cell.colSpan = 8 + (window.fotomode==1?1:0) + (show_received?1:0);
$(cell).text(details_Items[i].srtgroup_text)
}
lastsrtgroup_text = details_Items[i].srtgroup_text;
CreateRow(details_Items[i], details_Items[i].amount, (show_received? details_Items[i].received : -1), editable, details_Items[i].objFlex);
}
if (editable) StaffelKortingResult();
@@ -65,7 +76,7 @@ function load_item_info(srtdeel_key, urole, aantal)
function getAantalArtikelen()
{ // Hoeveel artikelen zijn er al geselecteerd
return $("#sel_items>tbody>tr").length;
return $("#sel_items>tbody>tr").not(".bessrtgroepname").length;
}
function maxArtikelReached()
@@ -322,6 +333,16 @@ function CreateRow(bes_item_info, aantal, received, editable, objFlex, urole)
var new_price = aantal * bes_item_info.price;
if (window.fotomode == 1)
{
// Create foto
cell = tr.insertCell(-1);
cell.vAlign = 'top';
cell.className = 'bessrtdeelfoto';
if (bes_item_info.srtdeel_image)
$(cell).html("<img src='{0}'>".format(bes_item_info.srtdeel_image));
}
// Create srtdeel
cell = tr.insertCell(-1);
cell.vAlign = 'top';
@@ -370,7 +391,7 @@ function CreateRow(bes_item_info, aantal, received, editable, objFlex, urole)
}
cell.innerHTML += "<div id='div" + id_key + "' style='display: \"none\"'></div>"+ "</nobr>";
// Create order unity field
// Create order unit field
cell = tr.insertCell(-1);
cell.vAlign = 'top';
cell.innerHTML = "<nobr>" + bes_item_info.eenheid + "</nobr>";
@@ -475,7 +496,7 @@ function checkInput()
var filled_lines = 0;
var blank_lines = 0;
$("#sel_items>tbody>tr").each(
$("#sel_items>tbody>tr").not(".bessrtgroepname").each(
function () {
if (this.amount != 0)
filled_lines++;
@@ -500,7 +521,7 @@ function checkInput()
var item_keys = [];
var id_key = "";
var p = 0;
$("#sel_items>tbody>tr").each(
$("#sel_items>tbody>tr").not(".bessrtgroepname").each(
function () {
id_key = this.bes_item_info.srtdeel_key + "_" + this.bes_item_info.item_key;
if ($("#flexkeys" + id_key).val() != -1) {
@@ -718,17 +739,20 @@ function StaffelKortingResult()
var staffelItemArray = new Array();
var json = null; // Bij isFreeArticle 'resultaat' van bes_gettotals.asp
var anyFree = false; // Dan moeten we het helemaal clientside oplossen
$("#sel_items>tbody>tr").each(
$("#sel_items>tbody>tr").not(".bessrtgroepname").each(
function () {
json = json || { totaalbedrag: 0 }; // voor FreeArtikel
json.totaalbedrag += this.amount * this.bes_item_info.price;
anyFree = anyFree || this.bes_item_info.isFreeArticle // die gaan niet via bes_gettotals.asp dus zelf totaal bepalen
json = json || { totaalbedrag: 0 }; // voor FreeArtikel
json.totaalbedrag += this.amount * this.bes_item_info.price;
anyFree = anyFree || this.bes_item_info.isFreeArticle // die gaan niet via bes_gettotals.asp dus zelf totaal bepalen
var srtdeel_key = this.bes_item_info.srtdeel_key;
if (staffelItemArray[srtdeel_key]) // aantallen van een item bij elkaar optellen
staffelItemArray[srtdeel_key].aantal += this.amount;
else
staffelItemArray[srtdeel_key] = new StaffelItem(srtdeel_key, this.amount, 10)
var srtdeel_key = this.bes_item_info.srtdeel_key;
if (this.amount)
{
if (staffelItemArray[srtdeel_key]) // aantallen van een item bij elkaar optellen
staffelItemArray[srtdeel_key].aantal += this.amount;
else
staffelItemArray[srtdeel_key] = new StaffelItem(srtdeel_key, this.amount, 10)
}
}
);
@@ -764,7 +788,13 @@ function checkAmount(aantal_cell)
var id_key = aantal_cell.id.substring(6);
var valid = true;
var error = "";
if (aantal_cell.value == '') aantal_cell.value = amount = 1;
if (aantal_cell.value == '')
{
if (window.bestelmode == 2) // Bij autobestellijst staan we gewoon 0 of leeg toen
aantal_cell.value = amount = 0;
else
aantal_cell.value = amount = 1;
}
valid = !isNaN(amount) && isGoodNumber(aantal_cell.value, true,false,-1,-1) && amount <= 99999;
validateField(aantal_cell, valid, L("lcl_bes_invalidAmount"));
if (!valid)
@@ -811,12 +841,15 @@ function checkAmount(aantal_cell)
// Als er items geleverd zijn, mag het aantal daar niet onder komen
// Of laten we de leverancier dit dan gewoon afkeuren?
if ((amount < tr.bes_item_info.received && tr.orgAmount >= 0) ||
(amount > tr.bes_item_info.received && tr.orgAmount <= 0))
if (bes_item_info.received > 0)
{
validateField(aantal_cell, false, L("lcl_bes_exceed_delivered"));
return;
}
if ((amount < tr.bes_item_info.received && tr.orgAmount >= 0) ||
(amount > tr.bes_item_info.received && tr.orgAmount <= 0))
{
validateField(aantal_cell, false, L("lcl_bes_exceed_delivered"));
return;
}
}
}
tr.amount = amount; // voor het gemak

View File

@@ -231,7 +231,7 @@ bez =
deleted = true;
}
oRs.Close();
return deleted
return deleted;
},
deleteBezoekers:
@@ -240,10 +240,10 @@ bez =
var lmessage;
// Gooi een bezoeker weg. Als het de enige is, dan wordt de
// afspraak ook verwijderd, anders niet
sql = "SELECT b.bez_afspraak_key"
+ " FROM bez_bezoekers b"
+ " WHERE b.bez_bezoekers_key = " + pBez_key;
oRs = Oracle.Execute(sql);
var sql = "SELECT b.bez_afspraak_key"
+ " FROM bez_bezoekers b"
+ " WHERE b.bez_bezoekers_key = " + pBez_key;
var oRs = Oracle.Execute(sql);
// Extra controle tbv nogmaals deleten van een zojuist gedelete
if (!oRs.eof)
{
@@ -258,6 +258,7 @@ bez =
} else {
lmessage = L("lcl_bez_already_deleted");
}
oRs.Close();
return lmessage;
},

View File

@@ -77,7 +77,7 @@ var backo = urole == "bo";
var minfo = urole == "mi";
var frontend = (!fronto & !backo & !minfo);
var transitParam = buildTransitParam(["urole", "contactonly"]);
var transitParam = buildTransitParam(["urole", "contactonly"], { urole: urole });
var rsv_ruimte_key = null;
if (afspr_key > 0)

View File

@@ -50,9 +50,14 @@ function bez_edit_bezoekers(afspraak_key, afspraak_begin, afspraak_eind, loc_key
oRs.MoveNext();
}
var alleen_afhandelingskenmerken = (!user.has("WEB_BEZBOF") || ( (S("bez_show_progress_prop") & 4) > 0) );
var flexfilter = [];
if (!user.has("WEB_BEZBOF"))
var flexfilter_afhandel_default = [];
if (alleen_afhandelingskenmerken)
{
flexfilter = ["k.bez_kenmerk_volgnr < 900"];
flexfilter_afhandel_default = ["(k.bez_kenmerk_volgnr < 900 OR (k.bez_kenmerk_volgnr >= 900 AND k.bez_kenmerk_default IS NOT NULL))"];
}
// else: kenmerken voor nieuwe bezoekers worden aangemaakt door load_kenmerk.asp
@@ -87,10 +92,10 @@ function bez_edit_bezoekers(afspraak_key, afspraak_begin, afspraak_eind, loc_key
&nbsp;<span id="bezPrkFree"></span>
<input type="hidden" name="prktype" id="prktype" value="<%=aantal_gebter == 0? "N" : (aantal_gebter == 1? "C" : "S")%>">
</th>
<% if (S("bez_set_remote_flags") > 0) // Authorisatie?
{ %>
<th><%=L("lcl_bez_remote")%></th>
<% } %>
<% if (S("bez_set_remote_flags") > 0) // Authorisatie?
{ %>
<th><%=L("lcl_bez_remote")%></th>
<% } %>
<% if (S("vis_bo_uses_badgenrs") == 1)
{ %>
<th><%=backo? L("lcl_vis_badgenr") : ""%></th>
@@ -150,61 +155,61 @@ function bez_edit_bezoekers(afspraak_key, afspraak_begin, afspraak_eind, loc_key
var next_vis = 1;
var anydone = false;
while (!oRs.eof)
{ /* +1 uit eigen locatie,
+2 uit andere locatie,
+4 komt niet fysiek,
+8 komt niet aan balie,
+16 geen parkeerplaats */
var bez_flags = oRs("bez_bezoekers_flags").Value;
{ /* +1 uit eigen locatie,
+2 uit andere locatie,
+4 komt niet fysiek,
+8 komt niet aan balie,
+16 geen parkeerplaats */
var bez_flags = oRs("bez_bezoekers_flags").Value;
%>
<tr id="trbez<%=next_vis%>">
<td align="center">
<% if (!res_ruimte_extern && oRs("bez_bezoekers_done").Value == null)
{ %>
<i class="fa fa-trash-o fa-lg fa-fw" title="<%=L("lcl_delete")%>" OnClick="deleteVisit(<%=next_vis%>)"></i>
<tr id="trbez<%=next_vis%>">
<td align="center">
<% if (!res_ruimte_extern && oRs("bez_bezoekers_done").Value == null)
{ %>
<i class="fa fa-trash-o fa-lg fa-fw" title="<%=L("lcl_delete")%>" OnClick="deleteVisit(<%=next_vis%>)"></i>
<%
} else {
anydone = true;
}
} else {
anydone = true;
}
%>
<input type="hidden" name="contkey<%=next_vis%>" id="contkey<%=next_vis%>"
value="<%=oRs("prs_contactpersoon_key").Value||-1%>" >
<input type="hidden" name="prskey<%=next_vis%>" id="prskey<%=next_vis%>"
value="<%=oRs("prs_perslid_key").Value||-1%>" >
</td>
<% if (!params.contactonly && (S("bez_sel_contactpersoon") > 0 || S("bez_sel_internpersoon") == 1))
{ %>
<td>
<i class="fa fa-user-o" title="<%=titel%>" onclick=selectPerson(<%=next_vis%>)> </i>
</td>
<% } else if (params.contactonly && S("bez_sel_contactpersoon") > 0) { %>
<td>
<i class="fa fa-lg fa-info-circle details" onclick=showPerson(<%=next_vis%>)> </i>
</td>
<% } %>
<td>
<% // ContactpersoonBedrijfSelected laadt nieuwe flexkenmerken en bijbehorende verplichte flexkenmerk bij personen zorgen er
// ook voor dat personen eventueel verplicht wordt [checkRequiredGroup("10S" + params.suggestid.substr(3))];
// Bij suggestbox met contactpersonen (params.contactonly) geen maximale lengte eis.
var bezreado = res_ruimte_extern || oRs("prs_contactpersoon_key").Value != null || oRs("prs_perslid_key").Value != null
RWFIELD("bez" + next_vis, "fld", "", oRs("bez_afspraak_naam").Value,
{ maxlength: (params.contactonly? null : "30"), readonly: bezreado, html: (params.contactonly? "sgonChange='ContactpersoonBedrijfSelected'" : 'onChange="checkRequiredGroup(\'10S' + next_vis + '\')"') })
<input type="hidden" name="contkey<%=next_vis%>" id="contkey<%=next_vis%>"
value="<%=oRs("prs_contactpersoon_key").Value||-1%>" >
<input type="hidden" name="prskey<%=next_vis%>" id="prskey<%=next_vis%>"
value="<%=oRs("prs_perslid_key").Value||-1%>" >
</td>
<% if (!params.contactonly && (S("bez_sel_contactpersoon") > 0 || S("bez_sel_internpersoon") == 1))
{ %>
<td>
<i class="fa fa-user-o" title="<%=titel%>" onclick=selectPerson(<%=next_vis%>)> </i>
</td>
<% } else if (params.contactonly && S("bez_sel_contactpersoon") > 0) { %>
<td>
<i class="fa fa-lg fa-info-circle details" onclick=showPerson(<%=next_vis%>)> </i>
</td>
<% } %>
<td>
<% // ContactpersoonBedrijfSelected laadt nieuwe flexkenmerken en bijbehorende verplichte flexkenmerk bij personen zorgen er
// ook voor dat personen eventueel verplicht wordt [checkRequiredGroup("10S" + params.suggestid.substr(3))];
// Bij suggestbox met contactpersonen (params.contactonly) geen maximale lengte eis.
var bezreado = res_ruimte_extern || oRs("prs_contactpersoon_key").Value != null || oRs("prs_perslid_key").Value != null
RWFIELD("bez" + next_vis, "fld", "", oRs("bez_afspraak_naam").Value,
{ maxlength: (params.contactonly? null : "30"), readonly: bezreado, html: (params.contactonly? "sgonChange='ContactpersoonBedrijfSelected'" : 'onChange="checkRequiredGroup(\'10S' + next_vis + '\')"') })
%>
</td>
<td>
<% // Bij suggestbox met bedrijven (params.contactonly) geen maximale lengte eis.
RWFIELD("bed" + next_vis, "fld", "", oRs("bez_afspraak_bedrijf").Value,
{ maxlength: (params.contactonly? null : "60"), readonly: bezreado, html: (params.contactonly? "sgonChange='ContactpersoonBedrijfSelected'" : '') } )
</td>
<td>
<% // Bij suggestbox met bedrijven (params.contactonly) geen maximale lengte eis.
RWFIELD("bed" + next_vis, "fld", "", oRs("bez_afspraak_bedrijf").Value,
{ maxlength: (params.contactonly? null : "60"), readonly: bezreado, html: (params.contactonly? "sgonChange='ContactpersoonBedrijfSelected'" : '') } )
%>
</td>
<% if (S("vis_remark") == 1 || S("vis_remark") == 2)
{
%> <td> <%
RWFIELD("opm" + next_vis, "fld", "", oRs("bez_bezoekers_opmerking").Value, { maxlength: 50 } );
%> </td> <%
}
</td>
<% if (S("vis_remark") == 1 || S("vis_remark") == 2)
{
%> <td> <%
RWFIELD("opm" + next_vis, "fld", "", oRs("bez_bezoekers_opmerking").Value, { maxlength: 50 } );
%> </td> <%
}
%>
<td>
<td>
<!--Gebouw/Terrein-->
<div id="selectprkdiv<%=next_vis%>" name="selectprkdiv<%=next_vis%>" style="display: <%=S("vis_parking_key") != -1 && this_bez.canWritePrk && aantal_gebter == 1? "block" : "none"%>">
<input type="checkbox" id="prk<%=next_vis%>" <%=((bez_flags&16)==16?"disabled=1":"")%> name="prk<%=next_vis%>" <%=oRs("res_rsv_deel_key").Value != null? "CHECKED " : ""%>>
@@ -231,77 +236,82 @@ function bez_edit_bezoekers(afspraak_key, afspraak_begin, afspraak_eind, loc_key
<div style="display: none">
<input type="text" id="prkselect<%=next_vis%>" name="prkselect<%=next_vis%>" value="<%=aantal_gebter > 1? "S" : "C"%>"> <% /* "S"=suggestboxen, "C"=checkboxen */ %>
</div>
<% /* if (S("vis_parking_key") != -1 && this_bez.canWritePrk) CHECKBOX("", "prk" + next_vis, oRs("res_rsv_deel_key").value != null) */ %>
</td>
<% if (S("bez_set_remote_flags") > 0) // Authorisatie?
{ %>
<td align="center">
<input type="checkbox" id="remote<%=next_vis%>" name="remote<%=next_vis%>" <%=(bez_flags&S("bez_set_remote_flags")) == S("bez_set_remote_flags")? "CHECKED " : ""%>>
</td>
<% } %>
<% if (S("vis_bo_uses_badgenrs") == 1)
{ %>
<td align="left"><input type="<%=backo?"text":"hidden"%>" class="fldbadge" name="bdg<%=next_vis%>" maxlength="30" value="<%=safe.htmlattr(oRs("bez_bezoekers_pasnr").Value)%>"></td>
<% } %>
<% var ptmpfolder;
if (S("bez_max_flex_on_line") > 0)
{
ptmpfolder = generateFlexKenmerkCode ({ urole: urole,
bez_key : oRs("bez_bezoekers_key").Value,
afspraak_key: afspraak_key,
reado: false,
flexcolumns: S("bez_flexcolumns"),
beznum: next_vis,
requiredbyfield: "bez" + next_vis,
notr: true,
flexend: parseInt(S("bez_max_flex_on_line"), 10),
nolabel: true,
getTmpfolder: true, // Geef de tijdelijke folder terug waar bestanden zijn opgeslagen.
filter: flexfilter
});
}
<% /* if (S("vis_parking_key") != -1 && this_bez.canWritePrk) CHECKBOX("", "prk" + next_vis, oRs("res_rsv_deel_key").value != null) */ %>
</td>
<% if (S("bez_set_remote_flags") > 0) // Authorisatie?
{ %>
<td align="center">
<input type="checkbox" id="remote<%=next_vis%>" name="remote<%=next_vis%>" <%=(bez_flags&S("bez_set_remote_flags")) == S("bez_set_remote_flags")? "CHECKED " : ""%>>
</td>
<% } %>
<% if (S("vis_bo_uses_badgenrs") == 1)
{ %>
<td align="left"><input type="<%=backo?"text":"hidden"%>" class="fldbadge" name="bdg<%=next_vis%>" maxlength="30" value="<%=safe.htmlattr(oRs("bez_bezoekers_pasnr").Value)%>"></td>
<% } %>
<% var ptmpfolder;
if (S("bez_max_flex_on_line") > 0)
{
ptmpfolder = generateFlexKenmerkCode ({ urole: urole,
bez_key : oRs("bez_bezoekers_key").Value,
afspraak_key: afspraak_key,
reado: false,
flexcolumns: S("bez_flexcolumns"),
beznum: next_vis,
requiredbyfield: "bez" + next_vis,
notr: true,
flexend: parseInt(S("bez_max_flex_on_line"), 10),
nolabel: true,
getTmpfolder: true, // Geef de tijdelijke folder terug waar bestanden zijn opgeslagen.
filter: flexfilter_afhandel_default,
hidedefault: true
});
}
%>
</tr>
<tr id="trbez<%=next_vis%>flex"><td></td>
<% if (S("bez_sel_contactpersoon") > 0 || (!params.contactonly && S("bez_sel_internpersoon") == 1))
{ %>
<td></td>
<% } %>
<td colspan="2">
<div class="bezflex">
<table id="bezFlexListB<%=next_vis%>"><tbody>
</tr>
<tr id="trbez<%=next_vis%>flex"><td></td>
<% if (S("bez_sel_contactpersoon") > 0 || (!params.contactonly && S("bez_sel_internpersoon") == 1))
{ %>
<td></td>
<% } %>
<td colspan="2">
<div class="bezflex">
<table id="bezFlexListB<%=next_vis%>">
<tbody>
<%
generateFlexKenmerkCode ({ urole: urole,
bez_key : oRs("bez_bezoekers_key").Value,
afspraak_key: afspraak_key,
reado: false,
flexcolumns: S("bez_flexcolumns"),
beznum: next_vis,
requiredbyfield: "bez" + next_vis,
flexstart: parseInt(S("bez_max_flex_on_line"), 10) + 1,
tmpfolder: ptmpfolder, // Als er een tijdelijke folder bekend is dan deze meegeven.
filter: flexfilter
});
generateFlexKenmerkCode ({ urole: urole,
bez_key : oRs("bez_bezoekers_key").Value,
afspraak_key: afspraak_key,
reado: false,
flexcolumns: S("bez_flexcolumns"),
beznum: next_vis,
requiredbyfield: "bez" + next_vis,
flexstart: parseInt(S("bez_max_flex_on_line"), 10) + 1,
tmpfolder: ptmpfolder, // Als er een tijdelijke folder bekend is dan deze meegeven.
filter: flexfilter_afhandel_default,
hidedefault: true
});
%>
</tbody></table>
<input type=hidden id="bez_key<%=next_vis%>" name="bez_key<%=next_vis%>" value="<%=oRs("bez_bezoekers_key").Value%>">
<div id="bezFlexListA<%=next_vis%>" style="display:none"></div>
</div>
</td>
</tr>
<% next_vis++;
oRs.MoveNext();
}
} %>
</tbody>
</table>
<input type=hidden id="bez_key<%=next_vis%>" name="bez_key<%=next_vis%>" value="<%=oRs("bez_bezoekers_key").Value%>">
<div id="bezFlexListA<%=next_vis%>" style="display:none"></div>
</div>
</td>
</tr>
<% next_vis++;
oRs.MoveNext();
}
} %>
<tr><td>
<tr>
<td>
<input type='hidden' id='next_vis' name='next_vis' value=<%=next_vis%>>
<% if (anydone) { /* dan niet meer import-vervang */ %>
<input type="hidden" id="anydone" value="1">
<% } %>
</td></tr>
<% if (anydone) { /* dan niet meer import-vervang */ %>
<input type="hidden" id="anydone" value="1">
<% } %>
</td>
</tr>
</table>
</div>
<style>
@@ -313,12 +323,12 @@ function bez_edit_bezoekers(afspraak_key, afspraak_begin, afspraak_eind, loc_key
buttons = [{ title: L("lcl_more_vis"), icon: "plus.png", action: "more_visit(" + S("vis_increment_number") + ")", id:"btn_bez_morevis" }];
if (!params.contactonly)
buttons.push({ title: L("lcl_bez_import_lijst"), icon: "bezimport.png", action: "import_visit()", id:"btn_bez_import" })
%><div id="morebuttons"><%
if (!res_ruimte_extern)
CreateButtons(buttons, { showIcons: true });
%> <div id="morebuttons"><%
if (!res_ruimte_extern)
CreateButtons(buttons, { showIcons: true });
%> </div><%
}
%>
</div>
<script type="text/javascript">
more_visit(<%=params.autoadd || 0%>);
var vis_parking_key = <%=S("vis_parking_key")%>;
@@ -327,12 +337,12 @@ function bez_edit_bezoekers(afspraak_key, afspraak_begin, afspraak_eind, loc_key
var bez_sel_contactpersoon = <%=S("bez_sel_contactpersoon")%>;
// Aantal kolommen zonder de flexkenmerken.
var aantal_std_td = 4 + <%=((S("bez_sel_contactpersoon") > 0 || (!params.contactonly && S("bez_sel_internpersoon") == 1)) ? 1 : 0)%>
+ <%=((S("vis_bo_uses_badgenrs") == 1)? 1 : 0)%>
+ <%=((S("vis_remark") == 1 || S("vis_remark") == 2)? 1 : 0)%>
+ <%=((S("vis_bo_uses_badgenrs") == 1) ? 1 : 0)%>
+ <%=((S("vis_remark") == 1 || S("vis_remark") == 2) ? 1 : 0)%>
+ <%=((S("bez_set_remote_flags") > 0)? 1 : 0)%>;
<% if (params.contactonly) { /* automatisch contactpersonificeren */ %>
makeContactSuggest();
<% } %>
<% if (params.contactonly) { /* automatisch contactpersonificeren */ %>
makeContactSuggest();
<% } %>
<% if (params.contactonly)
{ %>

View File

@@ -326,9 +326,12 @@ function saveOneBezoeker(afspraak_key, rsv_ruimte_key, bznum, params)
{ dbs: "prs_perslid_key", typ: "key", frm: "prskey" + bznum, track: L("lcl_intern_pers"), foreign: "prs_perslid" },
{ dbs: "bez_afspraak_naam", typ: "varchar", val: beznaam, track: L("lcl_vis_name"), len: 30 },
{ dbs: "bez_afspraak_bedrijf", typ: "varchar", val: bed, track: L("lcl_vis_company") + (S("bez_sel_internpersoon") == 1? "/" + L("lcl_department") : ""), len: 60 },
{ dbs: "bez_bezoekers_pasnr", typ: "varchar", val: bdg, track: L("lcl_vis_badgenr") },
{ dbs: "bez_bezoekers_opmerking", typ: "varchar", val: opm, track: L("lcl_vis_remark") }
{ dbs: "bez_bezoekers_pasnr", typ: "varchar", val: bdg, track: L("lcl_vis_badgenr") }
];
if (S("vis_remark") == 1 || S("vis_remark") == 2) // voorkom dat hij wordt gewist bij vis_remark==3 (readonly)
{
bezfields.push({ dbs: "bez_bezoekers_opmerking", typ: "varchar", val: opm, track: L("lcl_vis_remark") });
}
if (bez_key == -1)
{
@@ -500,8 +503,11 @@ function saveOneBezoeker(afspraak_key, rsv_ruimte_key, bznum, params)
+ " AND bez_bezoekers_key = " + bez_key;
var allKenmerkenSQL = " SELECT " + lcl.xsql('k.bez_kenmerk_omschrijving', 'k.bez_kenmerk_key') + " kenmerk_omschrijving"
+ " , bez_kenmerk_key srtkenmerk_key"
+ " , fac_kenmerkdomein_key"
+ ", k.bez_kenmerk_kenmerktype kenmerk_kenmerktype"
+ ", k.bez_kenmerk_systeem kenmerk_systeem"
+ ", k.bez_kenmerk_toonbaar kenmerk_readonly"
+ ", k.bez_kenmerk_uniek kenmerk_uniek"
+ ", fac_kenmerkdomein_key"
+ " FROM bez_kenmerk k"
+ " WHERE k.bez_kenmerk_verwijder IS NULL"
+ " AND k.bez_kenmerk_key = "; /* wordt in saveFlexkenmerken uitgebreid */

Some files were not shown because too many files have changed in this diff Show More