(in-package :examples) (use-package :oli) ;;----------------------------------------------------------------------------------------------* ;; Vorgaben setzen: ;;----------------------------------------------------------------------------------------------* (setf behaelterbaugruppe_merker (sd-pathname-to-obj "/")) ;;----------------------------------------------------------------------------------------------* (sd-defdialog 'sd-behaelterobjekte :dialog-title "Behaelterobjekte" :toolbox-button t :precondition '(progn (behaelter-erfassen) (if (> (length alle_behaelter) 0) (progn :ok ) (progn (sd-display-message "Keine Behaelterobjekte vorhanden.") (setf behaelterbaugruppe_merker (sd-pathname-to-obj "/")) ) ) ) :after-initialization '(progn (sd-set-variable-status 'einblenden :enable nil) (sd-set-variable-status 'ausblenden :enable nil) (sd-set-variable-status 'neuladen :enable nil) (sd-set-variable-status 'behaelter-liste-anzeigen :enable nil) (behaelter-erfassen) (setf behaelteranzahl (sd-num-to-string (length alle_behaelter))) ) :variables '((behaelterbaugruppe :value-type :assembly :title "Baugr." :modifies nil :prompt-text "Baugruppe angeben." :initial-value behaelterbaugruppe_merker :after-input (progn (setf behaelterbaugruppe_merker behaelterbaugruppe) (behaelter-erfassen) (setf behaelteranzahl (sd-num-to-string (length alle_behaelter))) (when (< (length alle_behaelter) 1) (progn (sd-display-message "Keine Behaelterobjekte vorhanden.") (setf behaelterbaugruppe_merker (sd-pathname-to-obj "/")) ) ) ) ) (behaelteranzahl :value-type :display-only :title "Gesamt-Anz." ) (einblenden :title "Einblenden" :toggle-type :grouped-toggle :push-action (behaelter-einblenden) ) (ausblenden :title "Ausblenden" :toggle-type :grouped-toggle :push-action (behaelter-ausblenden) ) (neuladen :title "Neuladen aus DB" :toggle-type :wide-toggle :push-action (behaelter-neuladen) ) ("-") (behaelter-liste-anzeigen :title "Vorh. Behaelter auflisten" :toggle-type :wide-toggle :push-action (progn (display :clear-hide) (display "Vorhandene Behaelter:") (dolist (behaelter alle_behaelter) (display (sd-inq-obj-pathname behaelter)) ) (display " ") (display "davon Kinderlos:") (if (> (length alle_kinderlose_behaelter) 0) (progn (dolist (kinderlose_behaelter alle_kinderlose_behaelter) (display (sd-inq-obj-pathname kinderlose_behaelter)) ) ) (progn (display "keine") ) ) ) ) ) :local-functions '((behaelter-erfassen () (let () (progn (setf alle_behaelter nil) (setf alle_behaelter (sd-call-cmds (get_selection :focus_type (list *sd-part-seltype* *sd-assembly-seltype*) :check_function #'(lambda (object) (if (sd-inq-container-p object) :ok :filter ) ) :select :recursive :in_assembly behaelterbaugruppe_merker ;;:all_at_top ) :failure (sd-display-error (format nil "~a => Beim Erstellen der Liste aller Behaelter unter Root !" sd-inq-error-obj)) ) ) (if (> (length alle_behaelter) 0) (progn (sd-set-variable-status 'einblenden :enable t) (sd-set-variable-status 'ausblenden :enable t) (sd-set-variable-status 'neuladen :enable t) (sd-set-variable-status 'behaelter-liste-anzeigen :enable t) ) (progn (sd-set-variable-status 'einblenden :enable nil) (sd-set-variable-status 'ausblenden :enable nil) (sd-set-variable-status 'neuladen :enable nil) (sd-set-variable-status 'behaelter-liste-anzeigen :enable nil) ) ) (setf alle_kinderlose_behaelter nil) (dolist (behaelter alle_behaelter) (when (not (sd-inq-obj-children behaelter)) (push behaelter alle_kinderlose_behaelter) ) ) ) ) ) (behaelter-ausblenden () (let () (progn (dolist (behaelter alle_behaelter) (remove_from_vp_drawlist (sd-inq-current-vp) :with-wp behaelter) ) ) ) (system "echo Ausblenden >> \\\\dedam-s002\\export\\ascad\\Lizenz\\SD_Behaelter.xls") ) (behaelter-einblenden () (let () (progn (dolist (behaelter alle_behaelter) (add_to_vp_drawlist (sd-inq-current-vp) :without-wp behaelter) ) ) ) (system "echo Einblenden >> \\\\dedam-s002\\export\\ascad\\Lizenz\\SD_Behaelter.xls") ) (behaelter-neuladen () (let (neuladeliste) (if (> (length alle_kinderlose_behaelter) 0) (progn (system "echo Neuladen >> \\\\dedam-s002\\export\\ascad\\Lizenz\\SD_Behaelter.xls") (db-aip-ui::db_reload alle_kinderlose_behaelter) ) (progn (sd-display-message "Keine leeren Behaelterobjekte vorhanden.") ) ) ) ) ) :ok-action '() :cancel-action '() :cleanup-action '() )