OpenConcerto

Dépôt officiel du code source de l'ERP OpenConcerto
sonarqube

svn://code.openconcerto.org/openconcerto

Compare Revisions

Regard whitespace Rev 92 → Rev 93

/trunk/OpenConcerto/sonar-project.properties
New file
0,0 → 1,6
sonar.projectKey=oc
sonar.projectName=OpenConcerto
sonar.projectVersion=1.0
sonar.sources=src
sonar.sourceEncoding=UTF-8
/trunk/OpenConcerto/lib/jOpenCalendar.jar
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/OpenConcerto/lib/jOpenDocument-1.4rc2.jar
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/OpenConcerto/lib/h2-1.3.175-dropTableRestrict.jar
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/OpenConcerto/lib/h2-1.3.175-dropTableRestrict.jar
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/OpenConcerto/Configuration/Template/Default/FichePaye.xml
New file
0,0 → 1,164
<?xml version="1.0" encoding="UTF-8" ?>
<contentDocument>
<element location="B1" type="fill">
<field base="Common" table="SOCIETE_COMMON" name="TYPE" />
<field base="Common" table="SOCIETE_COMMON" name="NOM" />
</element>
 
<element location="B2" type="fill">
<field base="Common" table="SOCIETE_COMMON" name="ID_ADRESSE_COMMON">
<field base="Common" name="RUE" />
</field>
</element>
 
<element location="B3" type="fill">
<field base="Common" table="SOCIETE_COMMON" name="ID_ADRESSE_COMMON">
<field base="Common" name="VILLE" type="villeCP" />
<field base="Common" name="VILLE" type="ville" />
</field>
</element>
 
<element location="C5" type="fill">
<field base="Common" table="SOCIETE_COMMON" name="NUM_SIRET" />
</element>
 
<element location="C6" type="fill">
<field base="Common" table="SOCIETE_COMMON" name="NUM_APE" />
</element>
 
<element location="F1" type="fill">
<field name="DU" prefix="Bulletin de paie du " type="date" datePattern="dd/MM/yy"/>
<field name="AU" prefix=" au " type="date" datePattern="dd/MM/yy"/>
</element>
<element location="H3" type="fill">
<field name="DU" type="datePaye"/>
</element>
 
<element location="G6" type="fill">
<field name="ID_SALARIE">
<field name="PRENOM"/>
<field name="NOM"/>
</field>
</element>
<element location="G7" type="fill">
<field name="ID_SALARIE">
<field name="ID_ETAT_CIVIL">
<field name="ID_ADRESSE">
<field name="RUE"/>
</field>
</field>
</field>
</element>
<element location="G9" type="fill">
<field name="ID_SALARIE">
<field name="ID_ETAT_CIVIL">
<field name="ID_ADRESSE">
<field name="CODE_POSTAL"/>
<field name="VILLE"/>
</field>
</field>
</field>
</element>
 
<element location="H15" type="fill">
<field name="ID_VARIABLE_SALARIE">
<field name="CONGES_PRIS"/>
</field>
</element>
<element location="I15" type="fill">
<field name="ID_CUMULS_CONGES">
<field name="RESTANT"/>
</field>
</element>
<element location="J15" type="fill">
<field name="ID_CUMULS_CONGES">
<field name="ACQUIS"/>
</field>
</element>
<element location="D9" type="fill">
<field name="ID_SALARIE">
<field name="ID_ETAT_CIVIL">
<field name="NUMERO_SS"/>
</field>
</field>
</element>
<element location="D13" type="fill" cellSize="75">
<field name="ID_SALARIE">
<field name="ID_INFOS_SALARIE_PAYE">
<field name="ID_CONTRAT_SALARIE">
<field name="NATURE" cellSize="75"/>
</field>
</field>
</field>
</element>
<element location="D11" type="fill">
<field name="ID_SALARIE">
<field name="ID_INFOS_SALARIE_PAYE">
<field name="ID_IDCC">
<field name="NOM" cellSize="75"/>
</field>
</field>
</field>
</element>
<element location="D61" type="fill">
<field name="SAL_BRUT"/>
</element>
<element location="E61" type="fill">
<field name="COT_SAL"/>
</element>
<element location="F61" type="fill">
<field name="COT_PAT"/>
</element>
<element location="H61" type="fill">
<field name="NET_IMP"/>
</element>
<element location="I61" type="fill">
<field name="NET_A_PAYER"/>
</element>
 
<element location="D62" type="fill">
<field name="SAL_BRUT" type="cumulPaye"/>
</element>
<element location="E62" type="fill">
<field name="COT_SAL" type="cumulPaye"/>
</element>
<element location="F62" type="fill">
<field name="COT_PAT" type="cumulPaye"/>
</element>
<element location="H62" type="fill">
<field name="NET_IMP" type="cumulPaye"/>
</element>
<table endPageLine="66" firstLine="21" endLine="60" lastColumn="L" base="Societe" table="FICHE_PAYE_ELEMENT"
blankLineBeforeStyle="Titre 1" fieldWhere="IMPRESSION" orderBy="POSITION">
<element location="B" type="fill" cellSize="50">
<field name="NOM" />
</element>
<element location="E" type="fill">
<field name="NB_BASE" type="Devise" />
</element>
<element location="F" type="fill">
<field name="TAUX_SAL" type="Devise" />
</element>
<element location="G" type="fill">
<field name="MONTANT_SAL_AJ" type="Devise" />
</element>
<element location="H" type="fill">
<field name="MONTANT_SAL_DED" type="Devise" />
</element>
<element location="I" type="fill">
<field name="TAUX_PAT" type="Devise" />
</element>
<element location="J" type="fill">
<field name="MONTANT_PAT" type="Devise" />
</element>
</table>
</contentDocument>
/trunk/OpenConcerto/Configuration/Template/Default/FichePaye.ods
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/OpenConcerto/Configuration/Template/Default/FichePaye.odsp
1,6 → 1,6
<odsp>
<spliteveryrow>
<sheet number="0">63</sheet>
<sheet number="0">64</sheet>
</spliteveryrow>
<offset x="40" y ="20"/>
<resize percent="85"/>
/trunk/OpenConcerto/src/org/jdesktop/swingx/MouseMessagingHandler.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/RepaintManagerX.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/calendar/JXMonthView.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/calendar/JXDatePickerFormatterFactory.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/calendar/resources/month-up.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/OpenConcerto/src/org/jdesktop/swingx/calendar/resources/month-down.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/OpenConcerto/src/org/jdesktop/swingx/calendar/DateUtils.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/calendar/DateSpan.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/calendar/JMonthViewListener.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/util/JVM.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/util/PaintUtils.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/util/Spatial.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/util/SwingPropertyChangeSupport.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/util/MailTransportProxy.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/util/OS.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/action/CompositeAction.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/action/ToggleActionPropertyChangeListener.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/action/TargetManager.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/action/AbstractActionExt.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/action/ServerAction.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/action/ActionFactory.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/action/BoundAction.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/action/ActionContainerFactory.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/action/ActionManager.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/action/TargetableAction.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/action/Targetable.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/action/LinkAction.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/event/MessageSource.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/event/ProgressSource.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/event/MessageEvent.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/event/ProgressEvent.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/event/MessageListener.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/event/ProgressListener.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/event/SelectionListener.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/event/MessageSourceSupport.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/plaf/TitledPanelUI.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/plaf/TaskPaneUI.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/plaf/TaskPaneContainerUI.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/plaf/ContextMenuHandler.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/plaf/aqua/AquaLookAndFeelAddons.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/plaf/ComponentAddon.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/plaf/ContextMenuAuxLF.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/plaf/DatePickerUI.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/plaf/windows/WindowsLookAndFeelAddons.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/plaf/windows/WindowsClassicLookAndFeelAddons.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/plaf/windows/resources/TipOfTheDay_es.properties
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/plaf/windows/resources/TipOfTheDay_fr.properties
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/plaf/windows/resources/TipOfTheDay_de.properties
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/plaf/windows/resources/tipoftheday.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/OpenConcerto/src/org/jdesktop/swingx/plaf/windows/resources/TipOfTheDay.properties
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/plaf/windows/WindowsHyperlinkUI.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/plaf/LookAndFeelAddons.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/plaf/JXTitledPanelAddon.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/plaf/JXHyperlinkAddon.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/plaf/metal/MetalLookAndFeelAddons.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/plaf/metal/MetalTitledPanelUI.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/plaf/JXDatePickerAddon.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/plaf/LoginPanelUI.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/plaf/ContextMenuAuxScrollBarUI.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/plaf/ContextMenuSource.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/plaf/ContextMenuAuxTextUI.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/plaf/resources/combo-osx.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/OpenConcerto/src/org/jdesktop/swingx/plaf/resources/sort-gtk-dn.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/OpenConcerto/src/org/jdesktop/swingx/plaf/resources/sort-w2k-up.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/OpenConcerto/src/org/jdesktop/swingx/plaf/resources/sort-xp-dn.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/OpenConcerto/src/org/jdesktop/swingx/plaf/resources/bound16.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/OpenConcerto/src/org/jdesktop/swingx/plaf/resources/swingx_es.properties
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/plaf/resources/sort-osx-up.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/OpenConcerto/src/org/jdesktop/swingx/plaf/resources/unbound16.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/OpenConcerto/src/org/jdesktop/swingx/plaf/resources/ErrorDialog.properties
File deleted
\ No newline at end of file
/trunk/OpenConcerto/src/org/jdesktop/swingx/plaf/resources/combo-gtk.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/OpenConcerto/src/org/jdesktop/swingx/plaf/resources/sort-jlf-up.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/OpenConcerto/src/org/jdesktop/swingx/plaf/resources/combo-xp.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/OpenConcerto/src/org/jdesktop/swingx/plaf/resources/sort-w2k-dn.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/OpenConcerto/src/org/jdesktop/swingx/plaf/resources/swingx.properties
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/plaf/resources/sort-gtk-up.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/OpenConcerto/src/org/jdesktop/swingx/plaf/resources/sort-osx-dn.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/OpenConcerto/src/org/jdesktop/swingx/plaf/resources/sort-xp-up.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/OpenConcerto/src/org/jdesktop/swingx/plaf/resources/swingx_de.properties
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/plaf/resources/sort-jlf-dn.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/OpenConcerto/src/org/jdesktop/swingx/plaf/resources/combo-w2k.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/OpenConcerto/src/org/jdesktop/swingx/plaf/resources/error16.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/OpenConcerto/src/org/jdesktop/swingx/plaf/AbstractComponentAddon.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/plaf/motif/MotifLookAndFeelAddons.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/plaf/ScrollBarContextMenuSource.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/plaf/TextContextMenuSource.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/plaf/basic/BasicLookAndFeelAddons.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/plaf/basic/BasicHyperlinkUI.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/plaf/basic/BasicTitledPanelUI.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/plaf/basic/resources/TipOfTheDay_de.properties
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/plaf/basic/resources/TipOfTheDay24.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/OpenConcerto/src/org/jdesktop/swingx/plaf/basic/resources/DatePicker_cs.properties
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/plaf/basic/resources/DatePicker_pt_BR.properties
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/plaf/basic/resources/DatePicker_pl_PL.properties
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/plaf/basic/resources/DatePicker_fr.properties
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/plaf/basic/resources/DatePicker_es.properties
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/plaf/basic/resources/DatePicker_nl.properties
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/plaf/basic/resources/DatePicker_en_US.properties
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/plaf/basic/resources/picker.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/OpenConcerto/src/org/jdesktop/swingx/plaf/basic/resources/DatePicker_en_GB.properties
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/plaf/basic/resources/TipOfTheDay_fr.properties
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/plaf/basic/resources/TipOfTheDay_es.properties
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/plaf/basic/resources/DatePicker_it.properties
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/plaf/basic/resources/DatePicker.properties
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/plaf/basic/resources/DatePicker_da.properties
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/plaf/basic/resources/TipOfTheDay.properties
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/plaf/basic/resources/DatePicker_de.properties
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/plaf/basic/resources/DatePicker_sv.properties
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/plaf/basic/BasicDatePickerUI.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/table/resources/uparrow.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/OpenConcerto/src/org/jdesktop/swingx/table/resources/downarrow.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/OpenConcerto/src/org/jdesktop/swingx/table/TableCellRenderers.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/TargetableSupport.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/RolloverProducer.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/IncidentInfo.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/JXComboBox.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/UIAction.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/ErrorReporter.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/JXRadioGroup.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/MailErrorReporter.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/tree/DefaultXTreeCellEditor.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/auth/LoginAdapter.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/auth/LoginEvent.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/auth/UserPermissions.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/auth/resources/resources.properties
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/auth/resources/resources_es.properties
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/auth/resources/resources_en_US.properties
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/auth/UserNameStore.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/auth/LoginListener.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/auth/PasswordStore.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/JXGlassBox.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/LinkRenderer.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/treetable/FileNode.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/treetable/TreeTableModel.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/treetable/TreeTableCellEditor.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/JXRootPane.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/Searchable.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/resources/asterisk.12x12.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/OpenConcerto/src/org/jdesktop/swingx/resources/asterisk.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/OpenConcerto/src/org/jdesktop/swingx/resources/blue-tipicon.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/OpenConcerto/src/org/jdesktop/swingx/resources/asterisk.8x8.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/OpenConcerto/src/org/jdesktop/swingx/resources/red-tipicon.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/OpenConcerto/src/org/jdesktop/swingx/resources/JXTaskPane32.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/OpenConcerto/src/org/jdesktop/swingx/resources/JXTaskPane16.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/OpenConcerto/src/org/jdesktop/swingx/resources/asterisk.12x12.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/OpenConcerto/src/org/jdesktop/swingx/resources/JXTaskPaneContainer32.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/OpenConcerto/src/org/jdesktop/swingx/resources/JXTaskPaneContainer16.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/OpenConcerto/src/org/jdesktop/swingx/resources/JXTaskPane32-mono.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/OpenConcerto/src/org/jdesktop/swingx/resources/JXTaskPane16-mono.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/OpenConcerto/src/org/jdesktop/swingx/resources/JXTaskPaneContainer32-mono.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/OpenConcerto/src/org/jdesktop/swingx/resources/JXTaskPaneContainer16-mono.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/OpenConcerto/src/org/jdesktop/swingx/resources/blue-tipicon.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/OpenConcerto/src/org/jdesktop/swingx/resources/asterisk.8x8.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/OpenConcerto/src/org/jdesktop/swingx/resources/red-tipicon.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/OpenConcerto/src/org/jdesktop/swingx/JXFrame.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/LabelProperties.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/border/IconBorder.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/border/MatteBorderExt.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/JXCollapsiblePane.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/JXDialog.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/JXPanel.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/JXDatePickerFormatter.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/JXCollapsiblePaneBeanInfo.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/decorator/HighlighterPipeline.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/decorator/SearchHighlighter.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/decorator/AlternateRowHighlighter.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/decorator/PipelineEvent.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/decorator/HierarchicalColumnHighlighter.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/decorator/PipelineListener.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/decorator/PatternHighlighter.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/decorator/Highlighter.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/decorator/PatternMatcher.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/decorator/ConditionalHighlighter.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/decorator/ComponentAdapter.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/decorator/RolloverHighlighter.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/JXTitledPanel.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/JXHyperlink.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/VerticalLayout.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/icon/ColumnControlIcon.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/icon/EmptyIcon.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/icon/SortArrowIcon.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/JXTitledPanelBeanInfo.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/JXStatusBar.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/JXDatePicker.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/LinkModel.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/TranslucentRepaintManager.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/autocomplete/AbstractComponentAdaptor.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/autocomplete/Configurator.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/autocomplete/ComboBoxAdaptor.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/autocomplete/ListAdaptor.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/autocomplete/Document.java
File deleted
/trunk/OpenConcerto/src/org/jdesktop/swingx/autocomplete/ComboBoxCellEditor.java
File deleted
/trunk/OpenConcerto/src/org/jopendocument/link/Component.java
37,6 → 37,14
}
 
/**
* Force le recalcul des formules. (Les formules ne sont plus actualisées à l'ouverture du
* document à partir de LO 4)
*
* @throws Exception if the component couldn't be obtained or the refresh failed.
*/
public abstract void refreshFormulas() throws Exception;
 
/**
* Impression d'un document sur une imprimante spécifique
*
* @param printProps Propriétés de l'imprimante (nom, ...) si null alors conserve les propriétés
45,6 → 53,8
*/
public abstract void printDocument(final Map<String, ?> printProps, final Map<String, ?> printOpt);
 
public abstract Future<String> save();
 
public final Future<File> saveToPDF(final File dest) {
return saveToPDF(dest, "calc_pdf_Export");
}
/trunk/OpenConcerto/src/org/openconcerto/erp/panel/ITreeSelectionNode.java
41,8 → 41,10
}
StringBuffer result = new StringBuffer();
for (SQLField s : fields) {
if (this.row.getObject(s.getName()) != null) {
result.append(this.row.getObject(s.getName()).toString() + " ");
}
}
return result.toString().trim();
}
}
/trunk/OpenConcerto/src/org/openconcerto/erp/panel/ListeFastPrintFrame.java
45,7 → 45,7
private static final long serialVersionUID = -1653555706074122489L;
private final Class<? extends AbstractSheetXml> clazz;
private final JPanel panel;
private final List<SQLRowAccessor> liste;
private final List<? extends SQLRowAccessor> liste;
private final JLabel operation = new JLabel("");
private final JProgressBar bar = new JProgressBar();
private final JSpinner spin;
54,7 → 54,7
 
private final JButton valid, cancel;
 
public ListeFastPrintFrame(final List<SQLRowAccessor> liste, final Class<? extends AbstractSheetXml> clazz) {
public ListeFastPrintFrame(final List<? extends SQLRowAccessor> liste, final Class<? extends AbstractSheetXml> clazz) {
this.panel = new JPanel(new GridBagLayout());
this.liste = liste;
this.clazz = clazz;
/trunk/OpenConcerto/src/org/openconcerto/erp/panel/compta/AbstractExport.java
34,8 → 34,6
 
public abstract class AbstractExport {
 
static private final DateFormat FILE_DF = new SimpleDateFormat("yyyyMMdd");
static private final DateFormat UNIQUE_DF = new SimpleDateFormat("yyyyMMdd_HHmmss");
private final DBRoot rootSociete;
private final String type;
private final String extension;
152,7 → 150,9
final Date now = new Date();
// ExportOC_20131101-20131127_koala.144356.txt
// MAYBE only include generation date if necessary
final File fOut = new File(selectedFile, "ExportOC_" + FILE_DF.format(from) + "-" + FILE_DF.format(to) + "_" + this.type + "." + UNIQUE_DF.format(now) + this.extension);
final DateFormat fileDateFormat = new SimpleDateFormat("yyyyMMdd");
final DateFormat uniqueDateFormat = new SimpleDateFormat("yyyyMMdd_HHmmss");
final File fOut = new File(selectedFile, "ExportOC_" + fileDateFormat.format(from) + "-" + fileDateFormat.format(to) + "_" + this.type + "." + uniqueDateFormat.format(now) + this.extension);
final BufferedOutputStream bufOut = new BufferedOutputStream(new FileOutputStream(fOut.getAbsolutePath()));
try {
this.export(bufOut);
/trunk/OpenConcerto/src/org/openconcerto/erp/panel/compta/ExportFEC.java
35,6 → 35,9
import java.util.List;
import java.util.Locale;
 
import javax.swing.JFrame;
import javax.swing.JOptionPane;
 
import org.apache.commons.dbutils.handlers.ArrayListHandler;
 
public class ExportFEC extends AbstractExport {
164,6 → 167,8
line.add(ecritureDateValid);
} else {
line.add("");
bufOut.close();
JOptionPane.showMessageDialog(new JFrame(), "Erreur", "Une écriture n'est pas validée (pas de date):\n" + line, JOptionPane.ERROR_MESSAGE);
}
// Montantdevise
addAmountField(line, ((Number) array[8]).longValue() + ((Number) array[9]).longValue());
176,7 → 181,6
// blank field
if (zone != null)
bufOut.write(zone);
if (i < fieldsCount - 1)
bufOut.write(this.zoneSep);
}
bufOut.write(this.recordSep);
/trunk/OpenConcerto/src/org/openconcerto/erp/model/ReglementVenteModel.java
21,7 → 21,6
 
import javax.swing.table.AbstractTableModel;
 
 
public class ReglementVenteModel extends AbstractTableModel {
 
String[] column = { "Numéro", "Libellé", "Date", "Mode de règlement", "Date Règlement", "Montant" };
30,8 → 29,6
 
public ReglementVenteModel() {
 
SQLSelect selectFacture = new SQLSelect(conf.getBase());
 
}
 
@Override
/trunk/OpenConcerto/src/org/openconcerto/erp/model/GestionChequesModel.java
134,7 → 134,7
m.put(fieldSelect, Boolean.TRUE);
m.put(this.chequeType.getDateFieldName(), d);
 
final List<SQLRowAccessor> selection = this.getList().getSelectedRows();
final List<SQLRowValues> selection = this.getList().getSelectedRows();
List<Integer> listeCheque = new ArrayList<Integer>();
for (final SQLRowAccessor rowCheque : selection) {
SQLRowValues valChq = new SQLRowValues(this.chqTable, m);
169,7 → 169,7
private void print(final boolean preview, final Date d) {
final String fieldSelect = this.chequeType.getDoneFieldName();
 
final List<SQLRowAccessor> selection = this.getList().getSelectedRows();
final List<SQLRowValues> selection = this.getList().getSelectedRows();
List<Integer> listeCheque = new ArrayList<Integer>();
for (final SQLRowAccessor rowCheque : selection) {
Number id = rowCheque.getIDNumber();
/trunk/OpenConcerto/src/org/openconcerto/erp/model/MouseSheetXmlListeListener.java
21,6 → 21,7
import org.openconcerto.sql.model.SQLField;
import org.openconcerto.sql.model.SQLRow;
import org.openconcerto.sql.model.SQLRowAccessor;
import org.openconcerto.sql.model.SQLRowValues;
import org.openconcerto.sql.model.SQLTable;
import org.openconcerto.sql.view.list.IListe;
import org.openconcerto.sql.view.list.IListeAction.IListeEvent;
328,7 → 329,7
PredicateRowAction rowAction = new PredicateRowAction(new AbstractAction() {
@Override
public void actionPerformed(ActionEvent e) {
List<SQLRowAccessor> list = IListe.get(e).getSelectedRows();
List<SQLRowValues> list = IListe.get(e).getSelectedRows();
ListeFastPrintFrame frame = new ListeFastPrintFrame(list, clazz);
frame.setVisible(true);
}
367,7 → 368,7
if (this.generateIsVisible) {
l.add(new RowAction(new AbstractAction() {
public void actionPerformed(ActionEvent ev) {
List<SQLRowAccessor> l = IListe.get(ev).getSelectedRows();
List<SQLRowValues> l = IListe.get(ev).getSelectedRows();
 
if (l.size() == 1) {
createDocument(ev);
378,7 → 379,7
}, this.generateHeader, "document.create") {
 
@Override
public boolean enabledFor(List<SQLRowAccessor> selection) {
public boolean enabledFor(List<SQLRowValues> selection) {
return selection != null && selection.size() > 0;
}
 
388,7 → 389,7
return l;
}
 
private void createDocuments(List<SQLRowAccessor> selection) {
private void createDocuments(List<? extends SQLRowAccessor> selection) {
int a = JOptionPane.showConfirmDialog(null, "Voulez vous recréer l'ensemble des documents sélectionnés?", "Génération de documents", JOptionPane.YES_NO_OPTION);
if (a == JOptionPane.YES_OPTION) {
for (SQLRowAccessor sqlRowAccessor : selection) {
438,7 → 439,7
}
}, false, false, "document.create") {
@Override
public boolean enabledFor(List<SQLRowAccessor> selection) {
public boolean enabledFor(List<SQLRowValues> selection) {
return selection != null && selection.size() == 1;
}
 
/trunk/OpenConcerto/src/org/openconcerto/erp/model/ReglementVenteObject.java
37,11 → 37,11
this.lib = rowFacture.getString("NOM");
this.dFacture = (Date) rowFacture.getObject("DATE");
 
this.dReglement = (Date) rowReglement.getObject("DATE");
if (rowReglement == null) {
this.modeRegl = rowFacture.getForeign("ID_MODE_REGLEMENT").getForeign("ID_TYPE_REGLEMENT").getString("NOM");
this.montant = Long.valueOf(rowFacture.getObject("T_TTC").toString());
} else {
this.dReglement = (Date) rowReglement.getObject("DATE");
this.modeRegl = rowReglement.getForeign("ID_MODE_REGLEMENT").getForeign("ID_TYPE_REGLEMENT").getString("NOM");
this.montant = Long.valueOf(rowFacture.getObject("T_TTC").toString());
}
/trunk/OpenConcerto/src/org/openconcerto/erp/model/PrixTTC.java
50,7 → 50,7
}
 
public long calculLongTVA(double taxe) {
return Math.round(this.value - calculLongHT(taxe));
return this.value - calculLongHT(taxe);
}
 
public long getLongValue() {
/trunk/OpenConcerto/src/org/openconcerto/erp/rights/MenuGroupComboItem.java
New file
0,0 → 1,105
/*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
*
* Copyright 2011 OpenConcerto, by ILM Informatique. All rights reserved.
*
* The contents of this file are subject to the terms of the GNU General Public License Version 3
* only ("GPL"). You may not use this file except in compliance with the License. You can obtain a
* copy of the License at http://www.gnu.org/licenses/gpl-3.0.html See the License for the specific
* language governing permissions and limitations under the License.
*
* When distributing the software, include this License Header Notice in each file.
*/
package org.openconcerto.erp.rights;
 
import org.openconcerto.erp.config.MainFrame;
import org.openconcerto.erp.config.MenuManager;
import org.openconcerto.ui.component.combo.ISearchableCombo;
import org.openconcerto.ui.group.Group;
import org.openconcerto.ui.group.Item;
import org.openconcerto.utils.cc.ITransformer;
import org.openconcerto.utils.model.DefaultIMutableListModel;
 
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
 
import javax.swing.Action;
import javax.swing.Icon;
import javax.swing.ImageIcon;
 
public class MenuGroupComboItem {
 
private final String id;
private boolean isGroup;
private boolean isToLevel;
 
public MenuGroupComboItem(String id, boolean isGroup, boolean isTopLevel) {
this.id = id;
this.isGroup = isGroup;
this.isToLevel = isTopLevel;
}
 
public String getId() {
return id;
}
 
public String getTranslation() {
final String mngrLabel = MenuManager.getInstance().getLabelForId(id);
final Action mngrAction = MenuManager.getInstance().getActionForId(id);
final String mngrActionName = mngrAction == null || mngrAction.getValue(Action.NAME) == null ? null : mngrAction.getValue(Action.NAME).toString();
 
return MainFrame.getFirstNonEmpty(Arrays.asList(mngrLabel, mngrActionName, id));
}
 
@Override
public String toString() {
return getTranslation();
}
 
public static ISearchableCombo<MenuGroupComboItem> getComboMenu() {
final ImageIcon icon = new ImageIcon(MenuGroupComboItem.class.getResource("submenu.png"));
final ImageIcon icon2 = new ImageIcon(MenuGroupComboItem.class.getResource("group.png"));
final ISearchableCombo<MenuGroupComboItem> box = new ISearchableCombo<MenuGroupComboItem>();
box.setIconFactory(new ITransformer<MenuGroupComboItem, Icon>() {
 
@Override
public Icon transformChecked(MenuGroupComboItem input) {
if (!input.isGroup) {
return icon;
}
if (!input.isToLevel) {
return icon2;
}
return null;
}
});
 
DefaultIMutableListModel<MenuGroupComboItem> comboItems = new DefaultIMutableListModel<MenuGroupComboItem>();
Group g = MenuManager.getInstance().getGroup();
 
List<MenuGroupComboItem> result = new ArrayList<MenuGroupComboItem>();
for (int i = 0; i < g.getSize(); i++) {
final Group item = (Group) g.getItem(i);
final MenuGroupComboItem comboItem = new MenuGroupComboItem(item.getId(), item.getSize() > 0, true);
result.add(comboItem);
getSubMenu(item, result);
}
 
comboItems.addAll(result);
box.initCache(comboItems);
return box;
}
 
private static void getSubMenu(Group g, List<MenuGroupComboItem> result) {
for (int i = 0; i < g.getSize(); i++) {
final Item item = g.getItem(i);
final MenuGroupComboItem comboItem = new MenuGroupComboItem(item.getId(), item instanceof Group, false);
result.add(comboItem);
if (item instanceof Group) {
getSubMenu((Group) item, result);
}
}
}
}
/trunk/OpenConcerto/src/org/openconcerto/erp/rights/submenu.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/OpenConcerto/src/org/openconcerto/erp/rights/submenu.png
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/OpenConcerto/src/org/openconcerto/erp/rights/NXRights.java
16,7 → 16,8
public enum NXRights {
LOCK_MENU_TEST("LOCK_MENU_TEST"), LOCK_MENU_PAYE("LOCK_MENU_PAYE"), LOCK_MENU_ACHAT("LOCK_MENU_ACHAT"), ACCES_GENERATION_POINTAGE("ACCES_GENERATION_POINTAGE"), ACCES_LISTE_POINTAGE(
"ACCES_LISTE_POINTAGE"), ACCES_ALL_SOCIETE("ACCES_ALL_SOCIETE"), ACCES_IMPORT_CIEL("ACCES_IMPORT_CIEL"), ACCES_MENU_STAT("ACCES_MENU_STAT"), ACCES_MENU_STRUCTURE("ACCES_MENU_STRUCTURE"), GESTION_ENCAISSEMENT(
"GESTION_ENCAISSEMENT"), ACCES_HISTORIQUE("ACCES_HISTORIQUE"), ACCES_RETOUR_AFFACTURAGE("ACCES_RETOUR_AFFACTURAGE"), ACCES_ENVOI_AFFACTURAGE("ACCES_ENVOI_AFFACTURAGE");
"GESTION_ENCAISSEMENT"), ACCES_HISTORIQUE("ACCES_HISTORIQUE"), ACCES_RETOUR_AFFACTURAGE("ACCES_RETOUR_AFFACTURAGE"), ACCES_ENVOI_AFFACTURAGE("ACCES_ENVOI_AFFACTURAGE"), POLE_PRODUIT_NOT_RESTRICTED(
"ACCES_POLE_PRODUIT_NON_RESTREINT");
 
private String code;
 
/trunk/OpenConcerto/src/org/openconcerto/erp/rights/UserRightGroupComptaSQLElement.java
New file
0,0 → 1,123
/*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
*
* Copyright 2011 OpenConcerto, by ILM Informatique. All rights reserved.
*
* The contents of this file are subject to the terms of the GNU General Public License Version 3
* only ("GPL"). You may not use this file except in compliance with the License. You can obtain a
* copy of the License at http://www.gnu.org/licenses/gpl-3.0.html See the License for the specific
* language governing permissions and limitations under the License.
*
* When distributing the software, include this License Header Notice in each file.
*/
package org.openconcerto.erp.rights;
 
import org.openconcerto.sql.element.GlobalMapper;
import org.openconcerto.sql.element.SQLComponent;
import org.openconcerto.sql.element.SQLElement;
import org.openconcerto.sql.users.rights.UserRightSQLComponent;
import org.openconcerto.sql.users.rights.UserRightSQLElement;
 
import javax.swing.JComponent;
 
public class UserRightGroupComptaSQLElement extends UserRightSQLElement {
 
public UserRightGroupComptaSQLElement() {
super();
// ((Group)GlobalMapper.getInstance().get(UserRightSQLComponent.ID)).
}
 
@Override
public SQLComponent createComponent() {
return new UserRightGroupComp(this);
}
 
public final class UserRightGroupComp extends UserRightSQLComponent {
 
public UserRightGroupComp(SQLElement element) {
super(element);
}
 
// @Override
// protected Set<String> createRequiredNames() {
// final Set<String> s = new HashSet<String>();
// s.add("NOM");
// s.add("ID_ADRESSE");
// s.add("ID_MODE_REGLEMENT");
// return s;
// }
 
@Override
public JComponent createEditor(String id) {
// if (id.equals("INFOS")) {
// return new ITextArea(4, 40);
// } else if (id.equals("COMMENTAIRES")) {
// return new ITextArea(10, 40);
// }
return super.createEditor(id);
}
 
// @Override
// protected JComponent createLabel(String id) {
// // TODO Auto-generated method stub
// if (id.equals("OBJECT")) {
// return GroupComboItem.getComboMenu();
// }
// return super.createLabel(id);
// }
 
@Override
public JComponent getLabel(String id) {
// if (id.equals("ID_MODE_REGLEMENT") || id.equals("INFOS") ||
// id.startsWith("ID_ADRESSE")) {
// JLabel l = (JLabel) super.getLabel(id);
// l.setFont(l.getFont().deriveFont(Font.BOLD));
// return l;
// }
// if (id.equals("customerrelationship.customer.contact")) {
// return new JLabelBold("Contacts");
// } else if (id.equals("customerrelationship.customer.payment")) {
// return new JLabelBold("Mode de règlement");
// } else
if (id.equals("OBJECT")) {
return MenuGroupComboItem.getComboMenu();
}
return super.getLabel(id);
}
 
// private int userID = SQLRow.NONEXISTANT_ID;
//
// private UserRightComp(SQLElement element) {
// super(element, 2, 1);
// }
//
// @Override
// protected Set<String> createRequiredNames() {
// return CollectionUtils.createSet("ID_RIGHT", "HAVE_RIGHT");
// }
//
// public void addViews() {
// final SQLRequestComboBox user = new SQLRequestComboBox();
// this.addView(user, "ID_USER_COMMON", "0");
// user.getRequest().setUndefLabel("Par défaut");
// final ElementComboBox right = new ElementComboBox();
// right.setListIconVisible(false);
// this.addView(right, "ID_RIGHT");
// this.addView("HAVE_RIGHT");
// this.addView("OBJECT", "0");
// }
//
// @Override
// protected SQLRowValues createDefaults() {
// if (this.userID >= SQLRow.MIN_VALID_ID)
// return new SQLRowValues(getTable()).put("ID_USER_COMMON", this.userID);
// else
// return null;
// }
//
// public final void setUserID(int userID) {
// this.userID = userID;
// }
}
}
/trunk/OpenConcerto/src/org/openconcerto/erp/rights/GroupItemUIComboItem.java
New file
0,0 → 1,77
/*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
*
* Copyright 2011 OpenConcerto, by ILM Informatique. All rights reserved.
*
* The contents of this file are subject to the terms of the GNU General Public License Version 3
* only ("GPL"). You may not use this file except in compliance with the License. You can obtain a
* copy of the License at http://www.gnu.org/licenses/gpl-3.0.html See the License for the specific
* language governing permissions and limitations under the License.
*
* When distributing the software, include this License Header Notice in each file.
*/
package org.openconcerto.erp.rights;
 
import org.openconcerto.sql.Configuration;
import org.openconcerto.sql.element.SQLElement;
import org.openconcerto.ui.group.Group;
import org.openconcerto.ui.group.Item;
import org.openconcerto.utils.i18n.TranslationManager;
 
import java.util.ArrayList;
import java.util.List;
 
public class GroupItemUIComboItem {
 
private final String id;
private final SQLElement elt;
 
public GroupItemUIComboItem(String id, SQLElement elt) {
this.id = id;
this.elt = elt;
}
 
public String getId() {
return id;
}
 
public String getTranslation() {
String translationForItem = TranslationManager.getInstance().getTranslationForItem(id);
if (translationForItem != null && translationForItem.trim().length() > 0) {
return translationForItem;
}
 
if (this.elt.getTable().contains(id)) {
String fieldLabel = Configuration.getInstance().getTranslator().getLabelFor(this.elt.getTable().getField(id));
if (fieldLabel != null && fieldLabel.trim().length() > 0) {
return fieldLabel;
}
}
 
return id;
}
 
@Override
public String toString() {
return getTranslation();
}
 
public static List<GroupItemUIComboItem> getComboMenu(Group g, SQLElement elt) {
final List<GroupItemUIComboItem> result = new ArrayList<GroupItemUIComboItem>();
getSubMenu(g, result, elt);
 
return result;
}
 
private static void getSubMenu(Group g, List<GroupItemUIComboItem> result, SQLElement elt) {
final int size = g.getSize();
for (int i = 0; i < size; i++) {
final Item item = g.getItem(i);
result.add(new GroupItemUIComboItem(item.getId(), elt));
if (item instanceof Group) {
getSubMenu((Group) item, result, elt);
}
}
}
}
/trunk/OpenConcerto/src/org/openconcerto/erp/rights/MenuComboRightEditor.java
New file
0,0 → 1,59
/*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
*
* Copyright 2011 OpenConcerto, by ILM Informatique. All rights reserved.
*
* The contents of this file are subject to the terms of the GNU General Public License Version 3
* only ("GPL"). You may not use this file except in compliance with the License. You can obtain a
* copy of the License at http://www.gnu.org/licenses/gpl-3.0.html See the License for the specific
* language governing permissions and limitations under the License.
*
* When distributing the software, include this License Header Notice in each file.
*/
package org.openconcerto.erp.rights;
 
import org.openconcerto.sql.element.SQLElementDirectory;
import org.openconcerto.sql.model.DBRoot;
import org.openconcerto.sql.users.rights.RightEditor;
import org.openconcerto.sql.users.rights.RightEditorManager;
import org.openconcerto.ui.component.combo.ISearchableCombo;
 
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
 
import javax.swing.JComponent;
import javax.swing.JTextField;
 
public class MenuComboRightEditor implements RightEditor {
 
public static final String ID_RIGHT = "MENU_ACCESS";
 
@SuppressWarnings("unchecked")
@Override
public void setValue(final String object, final DBRoot root, final SQLElementDirectory directory, final JComponent editorComponent) {
((ISearchableCombo<MenuGroupComboItem>) editorComponent).setValue(new MenuGroupComboItem(object, true, true));
}
 
@Override
public JComponent getRightEditor(final String right, final DBRoot root, final SQLElementDirectory directory, final JTextField fieldObject) {
final ISearchableCombo<MenuGroupComboItem> comboMenu = MenuGroupComboItem.getComboMenu();
comboMenu.addValueListener(new PropertyChangeListener() {
 
@Override
public void propertyChange(PropertyChangeEvent evt) {
final MenuGroupComboItem selectedItem = (MenuGroupComboItem) comboMenu.getSelectedItem();
if (selectedItem != null) {
fieldObject.setText(selectedItem.getId());
}
}
});
 
return comboMenu;
}
 
public static void register() {
RightEditorManager.getInstance().register(ID_RIGHT, new MenuComboRightEditor());
}
 
}
/trunk/OpenConcerto/src/org/openconcerto/erp/rights/GroupUIComboRightEditor.java
New file
0,0 → 1,167
/*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
*
* Copyright 2011 OpenConcerto, by ILM Informatique. All rights reserved.
*
* The contents of this file are subject to the terms of the GNU General Public License Version 3
* only ("GPL"). You may not use this file except in compliance with the License. You can obtain a
* copy of the License at http://www.gnu.org/licenses/gpl-3.0.html See the License for the specific
* language governing permissions and limitations under the License.
*
* When distributing the software, include this License Header Notice in each file.
*/
package org.openconcerto.erp.rights;
 
import org.openconcerto.sql.Configuration;
import org.openconcerto.sql.element.SQLElement;
import org.openconcerto.sql.element.SQLElementDirectory;
import org.openconcerto.sql.model.DBRoot;
import org.openconcerto.sql.model.SQLField;
import org.openconcerto.sql.model.SQLTable;
import org.openconcerto.sql.users.rights.RightEditor;
import org.openconcerto.sql.users.rights.RightEditorManager;
import org.openconcerto.ui.DefaultGridBagConstraints;
import org.openconcerto.ui.component.ComboLockedMode;
import org.openconcerto.ui.component.combo.ISearchableCombo;
import org.openconcerto.ui.group.Group;
import org.openconcerto.ui.list.DefaultMutableListModel;
import org.openconcerto.utils.model.DefaultIMutableListModel;
 
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.util.Collection;
 
import javax.swing.JComponent;
import javax.swing.JPanel;
import javax.swing.JTextField;
 
public class GroupUIComboRightEditor implements RightEditor {
 
public static final String ID_RIGHT = "GROUP_ITEM_SHOW";
 
@Override
public void setValue(final String object, final DBRoot root, final SQLElementDirectory directory, final JComponent editorComponent) {
SQLField f = Configuration.getInstance().getFieldMapper().getSQLFieldForItem(object);
if (f != null) {
((PanelGroupUIChooser) editorComponent).getBoxTable().setValue(new SQLElementComboItem(directory.getElement(f.getTable().getName())));
((PanelGroupUIChooser) editorComponent).getComboMenu().setValue(new GroupItemUIComboItem(object, directory.getElement(f.getTable().getName())));
} else {
if (object != null && object.trim().length() > 0 && object.contains(".")) {
String tableName = object.substring(0, object.indexOf('.'));
if (root.findTable(tableName) != null) {
String fieldName = object.substring(object.indexOf('.') + 1, object.length());
final SQLElement element = directory.getElement(tableName);
((PanelGroupUIChooser) editorComponent).getBoxTable().setValue(new SQLElementComboItem(element));
((PanelGroupUIChooser) editorComponent).getComboMenu().setValue(new GroupItemUIComboItem(fieldName, element));
}
}
}
}
 
@Override
public JComponent getRightEditor(final String right, final DBRoot root, final SQLElementDirectory directory, final JTextField fieldObject) {
 
return new PanelGroupUIChooser(fieldObject);
}
 
public static void register() {
RightEditorManager.getInstance().register(ID_RIGHT, new GroupUIComboRightEditor());
}
 
private class SQLElementComboItem {
private final SQLElement elt;
 
public SQLElementComboItem(SQLElement elt) {
this.elt = elt;
}
 
public SQLElement getSQLElement() {
return elt;
}
 
@Override
public String toString() {
return elt.getPluralName();
}
 
}
 
private class PanelGroupUIChooser extends JPanel {
 
final ISearchableCombo<SQLElementComboItem> boxTable;
final ISearchableCombo<GroupItemUIComboItem> comboMenu;
 
public PanelGroupUIChooser(final JTextField fieldObject) {
super(new GridBagLayout());
GridBagConstraints c = new DefaultGridBagConstraints();
c.gridx = GridBagConstraints.RELATIVE;
c.weightx = 1;
this.boxTable = new ISearchableCombo<SQLElementComboItem>(ComboLockedMode.UNLOCKED, 0, 20);
 
DefaultIMutableListModel<SQLElementComboItem> comboItems = new DefaultIMutableListModel<SQLElementComboItem>();
Collection<SQLElement> elts = Configuration.getInstance().getDirectory().getElements();
 
for (SQLElement sqlElement : elts) {
if (sqlElement.getDefaultGroup() != null) {
comboItems.addElement(new SQLElementComboItem(sqlElement));
}
}
 
boxTable.initCache(comboItems);
this.add(boxTable);
 
this.comboMenu = new ISearchableCombo<GroupItemUIComboItem>(ComboLockedMode.UNLOCKED, 0, 20);
final DefaultMutableListModel<GroupItemUIComboItem> cache = new DefaultMutableListModel<GroupItemUIComboItem>();
comboMenu.initCache(cache);
boxTable.addValueListener(new PropertyChangeListener() {
 
@Override
public void propertyChange(PropertyChangeEvent evt) {
cache.removeAllElements();
final SQLElementComboItem selectedItem = (SQLElementComboItem) boxTable.getSelectedItem();
if (selectedItem != null) {
final SQLElement element = selectedItem.getSQLElement();
if (element != null) {
Group g = element.getDefaultGroup();
if (g != null) {
cache.addAll(GroupItemUIComboItem.getComboMenu(g, element));
}
}
}
}
});
comboMenu.addValueListener(new PropertyChangeListener() {
 
@Override
public void propertyChange(PropertyChangeEvent evt) {
final GroupItemUIComboItem selectedItem = (GroupItemUIComboItem) comboMenu.getSelectedItem();
if (selectedItem != null) {
SQLElementComboItem selectedElement = (SQLElementComboItem) boxTable.getSelectedItem();
if (selectedElement != null) {
final SQLTable table = selectedElement.getSQLElement().getTable();
if (table.contains(selectedItem.getId())) {
fieldObject.setText(table.getName() + "." + table.getField(selectedItem.getId()).getName());
} else {
fieldObject.setText(selectedItem.getId());
}
}
}
}
});
this.add(comboMenu);
}
 
public ISearchableCombo<GroupItemUIComboItem> getComboMenu() {
return comboMenu;
}
 
public ISearchableCombo<SQLElementComboItem> getBoxTable() {
return boxTable;
}
 
}
 
}
/trunk/OpenConcerto/src/org/openconcerto/erp/rights/group.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/OpenConcerto/src/org/openconcerto/erp/rights/group.png
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/OpenConcerto/src/org/openconcerto/erp/utils/translation/messages_pl.properties
New file
0,0 → 1,10
address=Adres
address.type.invoice=Faktura
address.type.delivery=Przesy\u0142ka
address.type.external=Zagraniczny
address.type.other=Inny
product.bom.expand.warning=Uwa\u017Caj ca\u0142kowit\u0105 cen\u0119 b\u0119d\u0105 obliczane od dzieci!
apply.associated.pricelist.to.customer=Zastosuj cennik klienta
invoice.address.same.main.address=Adres faktury same jak g\u0142ówny adres
delivery.address.same.main.address=Adres dostawy same jak g\u0142ówny adres
additional.address=Dodatkowy adres
/trunk/OpenConcerto/src/org/openconcerto/erp/utils/translation/messages_en.properties
New file
0,0 → 1,10
address=Address
address.type.invoice=Invoice
address.type.delivery=Shipment
address.type.external=External
address.type.other=Other
product.bom.expand.warning=Beware the total price will be calculated from the children!
apply.associated.pricelist.to.customer=Apply customer pricelist
invoice.address.same.main.address=Invoice address same as main address
delivery.address.same.main.address=Delivery address same as main address
additional.address=Additional address
/trunk/OpenConcerto/src/org/openconcerto/erp/utils/translation/messages_fr.properties
New file
0,0 → 1,10
address=Adresse
address.type.invoice=Facturation
address.type.delivery=Livraison
address.type.external=Mandataire
address.type.other=Autre
product.bom.expand.warning=Attention en éclatant la nomenclature le prix total sera calculé à partir du prix des composants!
apply.associated.pricelist.to.customer=Appliquer les tarifs associés au client
invoice.address.same.main.address=Adresse de facturation identique à la principale
delivery.address.same.main.address=Adresse de livraison identique à l'adresse principale
additional.address=Adresses supplémentaires
/trunk/OpenConcerto/src/org/openconcerto/erp/utils/KDUtils.java
New file
0,0 → 1,161
/*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
*
* Copyright 2011 OpenConcerto, by ILM Informatique. All rights reserved.
*
* The contents of this file are subject to the terms of the GNU General Public License Version 3
* only ("GPL"). You may not use this file except in compliance with the License. You can obtain a
* copy of the License at http://www.gnu.org/licenses/gpl-3.0.html See the License for the specific
* language governing permissions and limitations under the License.
*
* When distributing the software, include this License Header Notice in each file.
*/
package org.openconcerto.erp.utils;
 
import org.openconcerto.erp.config.ComptaPropsConfiguration;
import org.openconcerto.erp.core.sales.quote.element.DevisSQLElement.Month;
import org.openconcerto.sql.model.SQLRowAccessor;
 
import java.io.File;
import java.io.FileFilter;
import java.net.URI;
import java.net.URISyntaxException;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
 
public class KDUtils {
private static final Map<Integer, String> map = new HashMap<Integer, String>();
 
public static enum Folder {
RAPPORT_SIGNE("Rapports signés.IDs"), RAPPORT_FORMULAIRE("Rapports formulaires.IDs");
String folderName;
 
private Folder(String folderName) {
this.folderName = folderName;
}
 
public String getFolderName() {
return this.folderName;
}
};
 
static {
// Société utilisant le système de classement
map.put(54, "KD");
map.put(55, "CTP");
map.put(44, "NONNENMACHER");
 
}
 
public static String getExtranetClientDirectory(SQLRowAccessor rowClient) {
 
// Dossier davs://user@groupe-cadet.fr/webdav
final boolean windows = System.getProperty("os.name").startsWith("Windows");
String path;
String stringClient = rowClient.getString("NOM") + " [" + rowClient.getString("SIRET") + "]";
if (!windows) {
String username = System.getProperty("user.name");
path = "davs://" + username + "@groupe-cadet.fr/webdav/extranet/" + stringClient;
} else {
try {
path = new URI("https", "groupe-cadet.fr/webdav/extranet/" + stringClient, null).toString();
} catch (URISyntaxException e) {
// TODO Auto-generated catch block
e.printStackTrace();
path = "";
}
}
 
return path;
 
}
 
public static File getRapportDirectory() {
 
int idSociete = ComptaPropsConfiguration.getInstanceCompta().getRowSociete().getID();
 
if (!map.containsKey(idSociete)) {
throw new IllegalArgumentException("Cette société n'est pas prise en charge dans le système de classement automatique des rapports");
}
 
// Récupération du dossier RAPPORTS en fonction du système (Windows (X|Y|Z):/RAPPORTS ;
// Linux /mnt/username/Serveur/RAPPORTS)
String path = null;
final boolean windows = System.getProperty("os.name").startsWith("Windows");
if (windows) {
 
File f = new File("Z:" + File.separator + "RAPPORTS");
if (f.exists()) {
path = f.getAbsolutePath();
} else {
f = new File("Y:" + File.separator + "RAPPORTS");
if (f.exists()) {
path = f.getAbsolutePath();
} else {
f = new File("X:" + File.separator + "RAPPORTS");
if (f.exists()) {
path = f.getAbsolutePath();
}
}
}
if (path == null) {
throw new IllegalArgumentException("Impossible de trouver le dossier RAPPORTS. Vérifiez que le serveur est bien sur une des lettres suivantes (X,Y ou Z).");
}
} else {
String username = System.getProperty("user.name");
File f = new File(File.separator + "mnt" + File.separator + username + "-ILM-server" + File.separator + "RAPPORTS");
if (f.exists()) {
path = f.getAbsolutePath();
} else {
f = new File(File.separator + "mnt" + File.separator + username + File.separator + "Serveur" + File.separator + "RAPPORTS");
if (f.exists()) {
path = f.getAbsolutePath();
} else {
throw new IllegalArgumentException("Impossible d'accéder au dossier " + f.getAbsolutePath());
}
}
}
 
return new File(path + File.separator + map.get(idSociete));
 
}
 
public static List<File> getDevisFolders(SQLRowAccessor rowDevis, Folder folder) {
File root = new File(getRapportDirectory(), folder.getFolderName());
 
final SQLRowAccessor rowClient = rowDevis.getForeign("ID_CLIENT").getForeign("ID_CLIENT");
 
// Récupération du dossier client
 
File[] clientFolders = { new File(root, String.valueOf(rowClient.getID())) };
 
// Recherche du dossier associé au devis
Calendar date = rowDevis.getDate("DATE");
final String numero = rowDevis.getString("NUMERO");
 
List<File> foldersToOpen = new ArrayList<File>();
final int devisYear = date.get(Calendar.YEAR);
for (File clientFolder : clientFolders) {
System.err.println(clientFolder.getAbsolutePath());
for (int year = devisYear; year <= devisYear + 1; year++) {
for (Month m : Month.values()) {
File testFolder = new File(clientFolder, year + File.separator + m.getPath() + File.separator + numero);
if (testFolder.exists()) {
foldersToOpen.add(testFolder);
}
}
}
}
 
if (foldersToOpen.isEmpty()) {
throw new IllegalArgumentException("Aucun dossier associé au devis n'a été trouvé!");
}
 
return foldersToOpen;
}
 
}
/trunk/OpenConcerto/src/org/openconcerto/erp/utils/TM.java
New file
0,0 → 1,33
/*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
*
* Copyright 2011 OpenConcerto, by ILM Informatique. All rights reserved.
*
* The contents of this file are subject to the terms of the GNU General Public License Version 3
* only ("GPL"). You may not use this file except in compliance with the License. You can obtain a
* copy of the License at http://www.gnu.org/licenses/gpl-3.0.html See the License for the specific
* language governing permissions and limitations under the License.
*
* When distributing the software, include this License Header Notice in each file.
*/
package org.openconcerto.erp.utils;
 
import org.openconcerto.sql.UserPropsTM;
 
public class TM extends UserPropsTM {
 
static private final TM INSTANCE = new TM();
 
static public final TM getTM() {
return INSTANCE;
}
 
static public final String tr(final String key, final Object... args) {
return getTM().translate(key, args);
}
 
private TM() {
}
 
}
/trunk/OpenConcerto/src/org/openconcerto/erp/importer/DataImporter.java
46,6 → 46,8
import java.util.Map;
import java.util.Set;
 
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFDateUtil;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
245,7 → 247,13
rowData.add(Boolean.valueOf(cellValue.getBooleanValue()));
break;
case Cell.CELL_TYPE_NUMERIC:
 
if (HSSFDateUtil.isCellDateFormatted(cell)) {
System.out.println("Row No.: " + row.getRowNum() + " " + cell.getDateCellValue());
rowData.add(cell.getDateCellValue());
} else {
rowData.add(Double.valueOf(cellValue.getNumberValue()));
}
break;
case Cell.CELL_TYPE_STRING:
rowData.add(cellValue.getStringValue());
/trunk/OpenConcerto/src/org/openconcerto/erp/importer/dbf/DBFReader.java
149,6 → 149,9
 
try {
stream.readFully(nextRecord);
while (nextRecord[0] == 0X2A) {
stream.readFully(nextRecord);
}
} catch (EOFException eofexception) {
nextRecord = null;
}
/trunk/OpenConcerto/src/org/openconcerto/erp/preferences/GestionClientPreferencePanel.java
New file
0,0 → 1,40
/*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
*
* Copyright 2011 OpenConcerto, by ILM Informatique. All rights reserved.
*
* The contents of this file are subject to the terms of the GNU General Public License Version 3
* only ("GPL"). You may not use this file except in compliance with the License. You can obtain a
* copy of the License at http://www.gnu.org/licenses/gpl-3.0.html See the License for the specific
* language governing permissions and limitations under the License.
*
* When distributing the software, include this License Header Notice in each file.
*/
/*
* Créé le 6 mars 2012
*/
package org.openconcerto.erp.preferences;
 
import org.openconcerto.erp.config.ComptaPropsConfiguration;
import org.openconcerto.sql.Configuration;
import org.openconcerto.sql.preferences.SQLPreferences;
import org.openconcerto.ui.preferences.JavaPrefPreferencePanel;
import org.openconcerto.ui.preferences.PrefView;
import org.openconcerto.utils.PrefType;
 
public class GestionClientPreferencePanel extends JavaPrefPreferencePanel {
public static String DISPLAY_CLIENT_DPT = "DisplayClientDpt";
 
public GestionClientPreferencePanel() {
super("Gestion des clients", null);
setPrefs(new SQLPreferences(((ComptaPropsConfiguration) Configuration.getInstance()).getRootSociete()));
}
 
@Override
protected void addViews() {
PrefView<Boolean> viewTransfert = new PrefView<Boolean>(PrefType.BOOLEAN_TYPE, "Gérer les différents services du client", DISPLAY_CLIENT_DPT);
viewTransfert.setDefaultValue(Boolean.FALSE);
this.addView(viewTransfert);
}
}
/trunk/OpenConcerto/src/org/openconcerto/erp/preferences/GestionCommercialeGlobalPreferencePanel.java
30,6 → 30,7
public static String TRANSFERT_REF = "TransfertRef";
public static String TRANSFERT_MULTI_REF = "TransfertMultiRef";
public static String TRANSFERT_NO_REF = "TransfertNoRef";
public static String ORDER_PACKAGING_MANAGEMENT = "OrderPackagingManagement";
 
public GestionCommercialeGlobalPreferencePanel() {
super("Gestion des pièces commerciales", null);
50,6 → 51,10
viewNo.setDefaultValue(Boolean.FALSE);
this.addView(viewNo);
 
PrefView<Boolean> orderPackaging = new PrefView<Boolean>(PrefType.BOOLEAN_TYPE, "Gérer la préparation des commandes clients", ORDER_PACKAGING_MANAGEMENT);
orderPackaging.setDefaultValue(Boolean.TRUE);
this.addView(orderPackaging);
 
ButtonGroup group = new ButtonGroup();
group.add((JCheckBox) viewMultiTransfert.getVW().getComp());
group.add((JCheckBox) viewTransfert.getVW().getComp());
/trunk/OpenConcerto/src/org/openconcerto/erp/preferences/GestionArticleGlobalPreferencePanel.java
29,8 → 29,11
public static String USE_CREATED_ARTICLE = "UseCreatedArticle";
public static String CREATE_ARTICLE_AUTO = "CreateArticleAuto";
public static String SUPPLIER_PRODUCT_CODE = "SupplierProductCode";
public static String WARNING_STOCK_MIN = "ArticleStockMin";
 
public static String SHOW_PRODUCT_BAR_CODE = "ShowProductBarCode";
public static String ITEM_PACKAGING = "ItemPackaging";
public static String FILTER_BY_FAMILY = "FilterByFamily";
 
public GestionArticleGlobalPreferencePanel() {
super("Gestion des articles", null);
44,6 → 47,10
viewAchat.setDefaultValue(Boolean.FALSE);
this.addView(viewAchat);
 
PrefView<Boolean> viewStockWarning = new PrefView<Boolean>(PrefType.BOOLEAN_TYPE, "Gérer les alertes de stocks minimum", WARNING_STOCK_MIN);
viewStockWarning.setDefaultValue(Boolean.TRUE);
this.addView(viewStockWarning);
 
PrefView<Boolean> view = new PrefView<Boolean>(PrefType.BOOLEAN_TYPE, "Gérer les sorties de stock avec les factures et non les bons de livraison", STOCK_FACT);
view.setDefaultValue(Boolean.TRUE);
this.addView(view);
60,6 → 67,10
view3.setDefaultValue(Boolean.FALSE);
this.addView(view3);
 
PrefView<Boolean> viewFilter = new PrefView<Boolean>(PrefType.BOOLEAN_TYPE, "Filtrer les articles par familles dans le corps des piéces commerciales", FILTER_BY_FAMILY);
viewFilter.setDefaultValue(Boolean.FALSE);
this.addView(viewFilter);
 
PrefView<Boolean> view4 = new PrefView<Boolean>(PrefType.BOOLEAN_TYPE, "Créer automatiquement les articles (si il n'y a aucune correspondance CODE, DESIGNATION)", CREATE_ARTICLE_AUTO);
view4.setDefaultValue(Boolean.TRUE);
this.addView(view4);
/trunk/OpenConcerto/src/org/openconcerto/erp/config/SQLElementNames_en.xml
2,4 → 2,5
<element refid="CONTACT" name="contact" />
<element refid="CONTACT_FOURNISSEUR" name="supplier contact" namePlural="suppliers contacts" />
<element refid="CONTACT_ADMINISTRATIF" name="administrative contact" />
<element refid="CATEGORIE_CLIENT" nameClass="feminine" name="Customer category" />
</translations>
/trunk/OpenConcerto/src/org/openconcerto/erp/config/translation_en.xml
2,7 → 2,6
<!-- File -->
<menu id="menu.file" label="File" />
<menu id="backup" label="Backup" />
<menu id="export.accounting" label="Export accounting" />
<menu id="modules" label="Modules" />
<menu id="preferences" label="Preferences" />
<menu id="quit" label="Exit" />
82,6 → 81,8
<menu id="accounting.entries.ledger" label="Ledger entries" />
<menu id="accounting.entries.list" label="List of ledger entries" />
<menu id="menu.accounting.closing" label="Closing" />
<menu id="accounting.export" label="Accounting export" />
<menu id="accounting.import" label="Accouting import" />
<menu id="accounting.validating" label="Validating" />
<menu id="accounting.closing" label="Closing" />
<!-- Documents -->
213,5 → 214,199
<action id="sales.order.create.deliverynote" label="Transfer to delivey note" />
<action id="sales.order.create.invoice" label="Transfer to invoice" />
<action id="sales.order.create.supplier.order" label="Transfer to supplier order" />
<item id="sales.order.state.waiting" label="Waiting" />
<item id="sales.order.state.running" label="Running" />
<item id="sales.order.state.noStock" label="No Stock" />
<item id="sales.order.state.toDeliver" label="To deliver" />
<item id="sales.order.state.delivered" label="Delivered" />
<item id="sales.order.state.block" label="Blocked" />
<item id="sales.order.state.cancelled" label="Cancelled" />
<!-- Customer -->
<item id="customerrelationship.customer.address" label="Addresses" />
<item id="customerrelationship.customer.contact" label="Contacts" />
<item id="customerrelationship.customer.sales" label="Sales" />
<item id="customerrelationship.customer.payment" label="Payment" />
<item id="customerrelationship.customer.contacts" label="Contacts" />
<item id="customerrelationship.customer.addresses" label="Customer addresses" />
<item id="customerrelationship.customer.info" label="Additionnal information" />
 
 
<!-- Currency -->
<item id="currency.USD" label="US Dollar" />
<item id="currency.EUR" label="Euro" />
<item id="currency.PLN" label="Polish Zloty" />
<item id="currency.GBP" label="British Pound" />
<item id="currency.INR" label="Indian Rupee" />
<item id="currency.AUD" label="Australian Dollar" />
<item id="currency.CAD" label="Canadian Dollar" />
<item id="currency.SGD" label="Singapore Dollar" />
<item id="currency.CHF" label="Swiss Franc" />
<item id="currency.MYR" label="Malaysian Ringgit" />
<item id="currency.JPY" label="Japanese Yen" />
<item id="currency.CNY" label="Chinese Yuan Renminbi" />
<item id="currency.NZD" label="New Zealand Dollar" />
<item id="currency.THB" label="Thai Baht" />
<item id="currency.HUF" label="Hungarian Forint" />
<item id="currency.AED" label="Emirati Dirham" />
<item id="currency.HKD" label="Hong Kong Dollar" />
<item id="currency.MXN" label="Mexican Peso" />
<item id="currency.ZAR" label="South African Rand" />
<item id="currency.PHP" label="Philippine Peso" />
<item id="currency.SEK" label="Swedish Krona" />
<item id="currency.IDR" label="Indonesian Rupiah" />
<item id="currency.SAR" label="Saudi Arabian Riyal" />
<item id="currency.BRL" label="Brazilian Real" />
<item id="currency.TRY" label="Turkish Lira" />
<item id="currency.KES" label="Kenyan Shilling" />
<item id="currency.KRW" label="South Korean Won" />
<item id="currency.EGP" label="Egyptian Pound" />
<item id="currency.IQD" label="Iraqi Dinar" />
<item id="currency.NOK" label="Norwegian Krone" />
<item id="currency.KWD" label="Kuwaiti Dinar" />
<item id="currency.RUB" label="Russian Ruble" />
<item id="currency.DKK" label="Danish Krone" />
<item id="currency.PKR" label="Pakistani Rupee" />
<item id="currency.ILS" label="Israeli Shekel" />
<item id="currency.QAR" label="Qatari Riyal" />
<item id="currency.XAU" label="Gold Ounce" />
<item id="currency.OMR" label="Omani Rial" />
<item id="currency.COP" label="Colombian Peso" />
<item id="currency.CLP" label="Chilean Peso" />
<item id="currency.TWD" label="Taiwan New Dollar" />
<item id="currency.ARS" label="Argentine Peso" />
<item id="currency.CZK" label="Czech Koruna" />
<item id="currency.VND" label="Vietnamese Dong" />
<item id="currency.MAD" label="Moroccan Dirham" />
<item id="currency.JOD" label="Jordanian Dinar" />
<item id="currency.BHD" label="Bahraini Dinar" />
<item id="currency.XOF" label="CFA Franc" />
<item id="currency.LKR" label="Sri Lankan Rupee" />
<item id="currency.UAH" label="Ukrainian Hryvnia" />
<item id="currency.NGN" label="Nigerian Naira" />
<item id="currency.TND" label="Tunisian Dinar" />
<item id="currency.UGX" label="Ugandan Shilling" />
<item id="currency.RON" label="Romanian New Leu" />
<item id="currency.BDT" label="Bangladeshi Taka" />
<item id="currency.PEN" label="Peruvian Nuevo Sol" />
<item id="currency.GEL" label="Georgian Lari" />
<item id="currency.XAF" label="Central African CFA Franc BEAC" />
<item id="currency.FJD" label="Fijian Dollar" />
<item id="currency.VEF" label="Venezuelan Bolivar" />
<item id="currency.BYR" label="Belarusian Ruble" />
<item id="currency.HRK" label="Croatian Kuna" />
<item id="currency.UZS" label="Uzbekistani Som" />
<item id="currency.BGN" label="Bulgarian Lev" />
<item id="currency.DZD" label="Algerian Dinar" />
<item id="currency.IRR" label="Iranian Rial" />
<item id="currency.DOP" label="Dominican Peso" />
<item id="currency.ISK" label="Icelandic Krona" />
<item id="currency.XAG" label="Silver Ounce" />
<item id="currency.CRC" label="Costa Rican Colon" />
<item id="currency.SYP" label="Syrian Pound" />
<item id="currency.LYD" label="Libyan Dinar" />
<item id="currency.JMD" label="Jamaican Dollar" />
<item id="currency.MUR" label="Mauritian Rupee" />
<item id="currency.GHS" label="Ghanaian Cedi" />
<item id="currency.AOA" label="Angolan Kwanza" />
<item id="currency.UYU" label="Uruguayan Peso" />
<item id="currency.AFN" label="Afghan Afghani" />
<item id="currency.LBP" label="Lebanese Pound" />
<item id="currency.XPF" label="CFP Franc" />
<item id="currency.TTD" label="Trinidadian Dollar" />
<item id="currency.TZS" label="Tanzanian Shilling" />
<item id="currency.ALL" label="Albanian Lek" />
<item id="currency.XCD" label="East Caribbean Dollar" />
<item id="currency.GTQ" label="Guatemalan Quetzal" />
<item id="currency.NPR" label="Nepalese Rupee" />
<item id="currency.BOB" label="Bolivian Boliviano" />
<item id="currency.ZWD" label="Zimbabwean Dollar" />
<item id="currency.BBD" label="Barbadian or Bajan Dollar" />
<item id="currency.CUC" label="Cuban Convertible Peso" />
<item id="currency.LAK" label="Lao or Laotian Kip" />
<item id="currency.BND" label="Bruneian Dollar" />
<item id="currency.BWP" label="Botswana Pula" />
<item id="currency.HNL" label="Honduran Lempira" />
<item id="currency.PYG" label="Paraguayan Guarani" />
<item id="currency.ETB" label="Ethiopian Birr" />
<item id="currency.NAD" label="Namibian Dollar" />
<item id="currency.PGK" label="Papua New Guinean Kina" />
<item id="currency.SDG" label="Sudanese Pound" />
<item id="currency.MOP" label="Macau Pataca" />
<item id="currency.NIO" label="Nicaraguan Cordoba" />
<item id="currency.BMD" label="Bermudian Dollar" />
<item id="currency.KZT" label="Kazakhstani Tenge" />
<item id="currency.PAB" label="Panamanian Balboa" />
<item id="currency.BAM" label="Bosnian Convertible Marka" />
<item id="currency.GYD" label="Guyanese Dollar" />
<item id="currency.YER" label="Yemeni Rial" />
<item id="currency.MGA" label="Malagasy Ariary" />
<item id="currency.KYD" label="Caymanian Dollar" />
<item id="currency.MZN" label="Mozambican Metical" />
<item id="currency.RSD" label="Serbian Dinar" />
<item id="currency.SCR" label="Seychellois Rupee" />
<item id="currency.AMD" label="Armenian Dram" />
<item id="currency.SBD" label="Solomon Islander Dollar" />
<item id="currency.AZN" label="Azerbaijani New Manat" />
<item id="currency.SLL" label="Sierra Leonean Leone" />
<item id="currency.TOP" label="Tongan Pa'anga" />
<item id="currency.BZD" label="Belizean Dollar" />
<item id="currency.MWK" label="Malawian Kwacha" />
<item id="currency.GMD" label="Gambian Dalasi" />
<item id="currency.BIF" label="Burundian Franc" />
<item id="currency.SOS" label="Somali Shilling" />
<item id="currency.HTG" label="Haitian Gourde" />
<item id="currency.GNF" label="Guinean Franc" />
<item id="currency.MVR" label="Maldivian Rufiyaa" />
<item id="currency.MNT" label="Mongolian Tughrik" />
<item id="currency.CDF" label="Congolese Franc" />
<item id="currency.STD" label="Sao Tomean Dobra" />
<item id="currency.TJS" label="Tajikistani Somoni" />
<item id="currency.KPW" label="North Korean Won" />
<item id="currency.MMK" label="Burmese Kyat" />
<item id="currency.LSL" label="Basotho Loti" />
<item id="currency.LRD" label="Liberian Dollar" />
<item id="currency.KGS" label="Kyrgyzstani Som" />
<item id="currency.GIP" label="Gibraltar Pound" />
<item id="currency.XPT" label="Platinum Ounce" />
<item id="currency.MDL" label="Moldovan Leu" />
<item id="currency.CUP" label="Cuban Peso" />
<item id="currency.KHR" label="Cambodian Riel" />
<item id="currency.MKD" label="Macedonian Denar" />
<item id="currency.VUV" label="Ni-Vanuatu Vatu" />
<item id="currency.MRO" label="Mauritanian Ouguiya" />
<item id="currency.ANG" label="Dutch Guilder" />
<item id="currency.SZL" label="Swazi Lilangeni" />
<item id="currency.CVE" label="Cape Verdean Escudo" />
<item id="currency.SRD" label="Surinamese Dollar" />
<item id="currency.XPD" label="Palladium Ounce" />
<item id="currency.SVC" label="Salvadoran Colon" />
<item id="currency.BSD" label="Bahamian Dollar" />
<item id="currency.XDR" label="IMF Special Drawing Rights" />
<item id="currency.RWF" label="Rwandan Franc" />
<item id="currency.AWG" label="Aruban or Dutch Guilder" />
<item id="currency.DJF" label="Djiboutian Franc" />
<item id="currency.BTN" label="Bhutanese Ngultrum" />
<item id="currency.KMF" label="Comoran Franc" />
<item id="currency.WST" label="Samoan Tala" />
<item id="currency.SPL" label="Seborgan Luigino" />
<item id="currency.ERN" label="Eritrean Nakfa" />
<item id="currency.FKP" label="Falkland Island Pound" />
<item id="currency.SHP" label="Saint Helenian Pound" />
<item id="currency.JEP" label="Jersey Pound" />
<item id="currency.TMT" label="Turkmenistani Manat" />
<item id="currency.TVD" label="Tuvaluan Dollar" />
<item id="currency.IMP" label="Isle of Man Pound" />
<item id="currency.GGP" label="Guernsey Pound " />
<item id="currency.USD.symbol" label="$" />
<item id="currency.EUR.symbol" label="€" />
<item id="currency.PLN.symbol" label="zł" />
 
<!-- User right -->
<item id="user.right.parameters.editor" label="Parameters" />
 
<item id="product.bom.expand" label="Expand BOM" />
<item id="product.bom.expose" label="Expose BOM" />
 
 
</translation>
/trunk/OpenConcerto/src/org/openconcerto/erp/config/mappingCompta_en.xml
7,6 → 7,8
</TABLE>
 
<TABLE name="ADRESSE">
<FIELD name="TYPE" label="Type" />
<FIELD name="LIBELLE" label="Company name" />
<FIELD name="RAISON_SOCIALE" label="Name" />
<FIELD name="RUE" label="Street" />
<FIELD name="PROVINCE" label="State" titlelabel="State" />
68,6 → 70,7
<FIELD name="ID_ECOTAXE" label="Ecotaxe" />
<FIELD name="ID_COMPTE_PCE" label="Specific account for purchase" />
<FIELD name="ID_COMPTE_PCE_ACHAT" label="Specific account for sales" />
<FIELD name="SKU" label="SKU" />
</TABLE>
 
<TABLE name="ARTICLE_TARIF">
99,6 → 102,9
 
 
<TABLE name="AVOIR_CLIENT">
<FIELD name="ID_ADRESSE" label="Spec. invoice address" />
<FIELD name="ID_ADRESSE_LIVRAISON" label="Spec. delivery address" />
<FIELD name="ID_CLIENT_DEPARTEMENT" label="Service" />
<FIELD name="ID_SECRETAIRE" label="Secretary" />
<FIELD name="REF_CLIENT" label="Customer identifier" />
<FIELD name="ID_MODE_REGLEMENT" label="Method of payment" />
131,11 → 137,12
</TABLE>
 
<TABLE name="AVOIR_CLIENT_ELEMENT">
<FIELD name="ID_FAMILLE_ARTICLE" label="Product family" />
<FIELD name="QTE_UNITAIRE" label="Qté U.V." titlelabel="Qté U.V." />
<FIELD name="ID_UNITE_VENTE" label="Sale unit" titlelabel="Sale unit" />
<FIELD name="ID_ARTICLE" label="Product" />
<FIELD name="DESCRIPTIF" label="Descriptif" titlelabel="Descriptif" />
<FIELD name="ID_PAYS" label="Pays d'origine" titlelabel="Pays d'origine" />
<FIELD name="DESCRIPTIF" label="Description" />
<FIELD name="ID_PAYS" label="Country" />
<FIELD name="CODE_DOUANIER" label="Code douanier" titlelabel="Code douanier" />
<FIELD name="ID_DEVISE" label="Currency" />
<FIELD name="PV_U_DEVISE" label="Prix devise" titlelabel="Prix devise" />
146,13 → 153,13
<FIELD name="CODE" label="Code" titlelabel="Code" />
<FIELD name="NOM" label="Désignation" titlelabel="Désignation" />
<FIELD name="PA_HT" label="PA Unitaire HT" titlelabel="PA Unitaire HT" />
<FIELD name="PV_HT" label="PV Unitaire HT" titlelabel="PV Unitaire HT" />
<FIELD name="PV_HT" label="Unit sale price" />
<FIELD name="ID_TAXE" label="Tax" />
<FIELD name="POIDS" label="Poids UV" titlelabel="Poids UV" />
<FIELD name="T_POIDS" label="Poids total" titlelabel="Poids total" />
<FIELD name="T_PA_HT" label="Total achat HT" titlelabel="Poids total" />
<FIELD name="T_PV_HT" label="Total pre-tax" />
<FIELD name="MARGE_HT" label="Marge HT" titlelabel="Marge HT" />
<FIELD name="MARGE_HT" label="Margin" />
<FIELD name="T_PV_TTC" label="Total" />
<FIELD name="QTE" label="Quantity" />
<FIELD name="SERVICE" label="Service" titlelabel="Service" />
238,10 → 245,10
<FIELD name="ID_UNITE_VENTE" label="Sale unit" />
<FIELD name="ID_ARTICLE" label="Product" />
<FIELD name="ID_CODE_FOURNISSEUR" label="Code fournisseur" titlelabel="Code fournisseur" />
<FIELD name="DESCRIPTIF" label="Descriptif" titlelabel="Descriptif" />
<FIELD name="DESCRIPTIF" label="Description" />
<FIELD name="CODE" label="Code" titlelabel="Code" />
<FIELD name="NOM" label="Label" />
<FIELD name="PV_HT" label="PV Unitaire HT" titlelabel="PV Unitaire HT" />
<FIELD name="PV_HT" label="Unit sale price" />
<FIELD name="PA_HT" label="PA Unitaire HT" titlelabel="PA Unitaire HT" />
<FIELD name="ID_DEVISE" label="Currency" />
<FIELD name="PA_DEVISE" label="PA Devise" titlelabel="PA Devise" />
272,9 → 279,14
</TABLE>
 
<TABLE name="BON_DE_LIVRAISON">
<FIELD name="ID_ADRESSE" label="Customer" />
<FIELD name="ID_ADRESSE_LIVRAISON" label="Customer" />
<FIELD name="ID_CLIENT_DEPARTEMENT" label="Department" />
<FIELD name="ID_CONTACT" label="Contact" titlelabel="Contact" />
<FIELD name="ID_TARIF" label="Pricelist to apply" />
<FIELD name="DATE" label="Date" />
<FIELD name="DATE_LIVRAISON" label="Date livraison" titlelabel="Date livraison" />
<FIELD name="ID_SAISIE_VENTE_FACTURE" label="Facture" titlelabel="Facture" />
<FIELD name="DATE_LIVRAISON" label="Delivery date" />
<FIELD name="ID_SAISIE_VENTE_FACTURE" label="Invoice" />
<FIELD name="ID_CLIENT" label="Customer" />
<FIELD name="NUMERO" label="Delivery number" />
<FIELD name="TOTAL_POIDS" label="Total weight (kg)" titlelabel="Total weight" />
284,18 → 296,22
<FIELD name="TOTAL_TTC" label="Total" />
<FIELD name="NOM" label="Reference" />
<FIELD name="T_ECOTAXE" label="Ecotax" />
<FIELD name="T_DEVISE" label="Total Devise" titlelabel="Total Devise" />
<FIELD name="T_DEVISE" label="Total currency" />
<FIELD name="PORT_HT" label="Shipping" />
<FIELD name="REMISE_HT" label="Discount" />
<FIELD name="ID_TAXE_PORT" label="Tax on shipping" />
</TABLE>
<TABLE name="BON_DE_LIVRAISON_ELEMENT">
<FIELD name="ID_FAMILLE_ARTICLE" label="Product family" />
<FIELD name="QTE_UNITAIRE" label="Qté U.V." titlelabel="Qté U.V." />
<FIELD name="ID_UNITE_VENTE" label="Sale unit" titlelabel="Sale unit" />
<FIELD name="ID_ARTICLE" label="Product" />
<FIELD name="DESCRIPTIF" label="Descriptif" titlelabel="Descriptif" />
<FIELD name="ID_PAYS" label="Pays d'origine" titlelabel="Pays d'origine" />
<FIELD name="DESCRIPTIF" label="Description" />
<FIELD name="ID_PAYS" label="Country" />
<FIELD name="CODE_DOUANIER" label="Code douanier" titlelabel="Code douanier" />
<FIELD name="ID_DEVISE" label="Currency" />
<FIELD name="PV_U_DEVISE" label="Prix devise" titlelabel="Prix devise" />
<FIELD name="MARGE_HT" label="Marge HT" titlelabel="Marge HT" />
<FIELD name="MARGE_HT" label="Margin" />
<FIELD name="PV_T_DEVISE" label="Prix devise total" titlelabel="Prix devise total" />
<FIELD name="ECOTAXE" label="Ecotaxe" titlelabel="Ecotaxe" />
<FIELD name="T_ECOTAXE" label="Dont écotaxe" titlelabel="Dont écotaxe" />
304,10 → 320,10
<FIELD name="T_PRIX_FINAL_TTC" label="T de prix de final de ttc" titlelabel="T de prix de final de ttc" />
<FIELD name="CODE" label="Code" titlelabel="Code" />
<FIELD name="NOM" label="Label" />
<FIELD name="PV_HT" label="PV Unitaire HT" titlelabel="PV Unitaire HT" />
<FIELD name="PV_HT" label="Unit sale price" />
<FIELD name="PA_HT" label="PA Unitaire HT" titlelabel="PA Unitaire HT" />
<FIELD name="QTE" label="Qté à livrer" titlelabel="Qté à livrer" />
<FIELD name="QTE_LIVREE" label="Quantité livrée" titlelabel="Qté livrée" />
<FIELD name="QTE_LIVREE" label="Delivered qty" />
<FIELD name="QTE_A_LIVRER" label="Quantité à livrer" titlelabel="Qté à livrer" />
<FIELD name="ID_TAXE" label="Tax" />
<FIELD name="POIDS" label="Poids UV" titlelabel="Poids UV" />
419,7 → 435,8
<FIELD name="FAX_TECH" label="Fax" />
<FIELD name="TEL_P_TECH" label="Mobile" />
<FIELD name="MAIL_TECH" label="Email" />
<FIELD name="ID_COMPTE_PCE" label="Compte PCE associé" titlelabel="Compte PCE associé" />
<FIELD name="ID_COMPTE_PCE" label="Account" titlelabel="Account" />
<FIELD name="ID_COMPTE_PCE_PRODUIT" label="Product account" titlelabel="Product account" />
<FIELD name="ID_ADRESSE" label="Main address" />
<FIELD name="ID_ADRESSE_L" label="Delivery address" />
<FIELD name="ID_ADRESSE_F" label="Invoice address" />
436,8 → 453,30
<FIELD name="MAX_FACTURE" label="Facturation limitée à" titlelabel="Facturation limitée à" />
<FIELD name="COMPTANT" label="Règlement comptant obligatoire" titlelabel="Règlement comptant obligatoire" />
<FIELD name="ID_TARIF" label="Product list" titlelabel="Product list" />
<FIELD name="DATE" label="Creation date" />
<FIELD name="SITE_INTERNET" label="Website" />
<FIELD name="CATEGORIES" label="Categories" />
<FIELD name="ID_DEVISE" label="Money" />
<FIELD name="ENCOURS_MAX" label="Max. debt" />
<FIELD name="NOTE_FINANCIERE" label="Financial info" />
<FIELD name="METHODE_RELANCE" label="Recall type" />
<FIELD name="ID_COMMERCIAL" label="Saleman Afhymat" />
<FIELD name="CENTRE_GESTION" label="Management agency" />
<FIELD name="ID_ADRESSE" label="Main address" />
<FIELD name="ID_ADRESSE_F" label="Invoice address" />
<FIELD name="COMMENTAIRES" label="Comments" />
<FIELD name="BLOQUE" label="Block interactions" />
<FIELD name="BLOQUE_LIVRAISON" label="Block deliveries" />
<FIELD name="GROUPE" label="Group" />
</TABLE>
 
<TABLE name="CLIENT_DEPARTEMENT">
<FIELD name="INFOS" label="Informations" />
<FIELD name="ID_ADRESSE" label="Spec. invoice address" />
<FIELD name="NOM" label="Department" />
<FIELD name="ID_CLIENT" label="Customer" />
</TABLE>
 
<TABLE name="CODE_REGIME">
<FIELD name="CODE" label="Code" titlelabel="Code" />
<FIELD name="NOM" label="Label" />
479,7 → 518,7
<TABLE name="CONTACT">
<FIELD name="PRENOM" label="First name" />
<FIELD name="NOM" label="Last name" />
<FIELD name="ID_TITRE_PERSONNEL" label="Gender" />
<FIELD name="ID_TITRE_PERSONNEL" label="Title" />
<FIELD name="TEL_DIRECT" label="Phone" />
<FIELD name="TEL_PERSONEL" label="Phone (personal)" />
<FIELD name="TEL_STANDARD" label="Phone (company)" />
486,8 → 525,9
<FIELD name="TEL_MOBILE" label="Mobile" />
<FIELD name="EMAIL" label="Email" />
<FIELD name="FAX" label="Fax" />
<FIELD name="FONCTION" label="Role" />
<FIELD name="FONCTION" label="Position" />
<FIELD name="ID_CLIENT" label="Customer" />
<FIELD name="NO_MAILING" label="No mailing" />
</TABLE>
 
<TABLE name="CONTACT_FOURNISSEUR">
554,24 → 594,24
<FIELD name="T_POIDS" label="Total weight" />
<FIELD name="ID_DEVISE" label="Currency" />
<FIELD name="ID_CLIENT" label="Customer" />
<FIELD name="ID_ADRESSE" label="Adresse de livraison spécifique" titlelabel="Adresse de livraison spécifique" />
<FIELD name="ID_ADRESSE" label="Specific delivery address" />
</TABLE>
 
<TABLE name="COMMANDE_ELEMENT">
<FIELD name="QTE_UNITAIRE" label="Qté U.V." titlelabel="Qté U.V." />
<FIELD name="ID_CODE_FOURNISSEUR" label="Code Fournisseur" titlelabel="Code Fournisseur" />
<FIELD name="QTE_UNITAIRE" label="Unit price" />
<FIELD name="ID_CODE_FOURNISSEUR" label="Supplier code" />
<FIELD name="ID_UNITE_VENTE" label="Sale unit" titlelabel="Sale unit" />
<FIELD name="ID_ARTICLE" label="Product" />
<FIELD name="ID_DEVISE" label="Currency" />
<FIELD name="PA_DEVISE" label="PA Devise" titlelabel="PA Devise" />
<FIELD name="PA_DEVISE_T" label="PA Devise Total" titlelabel="PA Devise Total" />
<FIELD name="DESCRIPTIF" label="Descriptif" titlelabel="Descriptif" />
<FIELD name="ID_COMMANDE" label="Commande" titlelabel="Commande" />
<FIELD name="ID_STYLE" label="Style" titlelabel="Style" />
<FIELD name="CODE" label="Code" titlelabel="Code" />
<FIELD name="NOM" label="Désignation" titlelabel="Désignation" />
<FIELD name="PA_DEVISE" label="Purchase price (Currency)" />
<FIELD name="PA_DEVISE_T" label="Purchase total price" />
<FIELD name="DESCRIPTIF" label="Description" />
<FIELD name="ID_COMMANDE" label="Order" />
<FIELD name="ID_STYLE" label="Style" />
<FIELD name="CODE" label="Code" />
<FIELD name="NOM" label="Name" />
<FIELD name="PA_HT" label="PA Unitaire HT" titlelabel="PA Unitaire HT" />
<FIELD name="PV_HT" label="PV Unitaire HT" titlelabel="PV Unitaire HT" />
<FIELD name="PV_HT" label="Unit sale price" />
<FIELD name="ID_TAXE" label="Tax" />
<FIELD name="POIDS" label="Poids UV" titlelabel="Poids UV" />
<FIELD name="QTE" label="Quantity" />
598,44 → 638,58
</TABLE>
 
<TABLE name="COMMANDE_CLIENT">
 
<FIELD name="ID_ADRESSE" label="Spec. invoice address" />
<FIELD name="ID_ADRESSE_LIVRAISON" label="Spec. delivery address" />
<FIELD name="ID_CLIENT_DEPARTEMENT" label="Department" />
<FIELD name="ID_CONTACT" label="Contact" />
<FIELD name="NOM" label="Reference" />
<FIELD name="NUMERO_EXPEDITION" label="Shipping number" />
<FIELD name="EMBALLAGE" label="Packaging" />
<FIELD name="ETAT_COMMANDE" label="State" />
<FIELD name="NUMERO" label="Number" />
<FIELD name="DATE" label="Date" />
<FIELD name="DATE_ECHEANCE" label="Due date" />
<FIELD name="ID_CLIENT" label="Customer" />
<FIELD name="PORT_HT" label="Shipping" />
<FIELD name="REMISE_HT" label="Discount" />
<FIELD name="ID_TAXE_PORT" label="Tax on shipping" />
<FIELD name="T_HT" label="Total pre-tax" />
<FIELD name="T_TVA" label="Tax" />
<FIELD name="T_TTC" label="Total" />
<FIELD name="T_DEVISE" label="Total Devise" titlelabel="Total Devise" />
<FIELD name="INFOS" label="Informations" titlelabel="Informations" />
<FIELD name="SOURCE" label="Source" titlelabel="Source" />
<FIELD name="T_POIDS" label="Poids total" titlelabel="Poids total" />
<FIELD name="T_DEVISE" label="Total currency" />
<FIELD name="INFOS" label="Additional information" />
<FIELD name="SOURCE" label="Source" />
<FIELD name="T_POIDS" label="Total weight" />
<FIELD name="ID_COMMERCIAL" label="Saleman" />
<FIELD name="ID_POLE_PRODUIT" label="Pôle produit" titlelabel="Pôle produit" />
<FIELD name="ID_POLE_PRODUIT" label="Product department" />
<FIELD name="TYPE_EXPEDITION" label="Delivery type" />
<FIELD name="ID_TARIF" label="Pricelist to apply" />
</TABLE>
 
<TABLE name="COMMANDE_CLIENT_ELEMENT">
<FIELD name="QTE_UNITAIRE" label="Qté U.V." titlelabel="Qté U.V." />
<FIELD name="ID_UNITE_VENTE" label="Sale unit" titlelabel="Sale unit" />
<FIELD name="ID_FAMILLE_ARTICLE" label="Product family" />
<FIELD name="QTE_UNITAIRE" label="Qty S. Unit" />
<FIELD name="ID_UNITE_VENTE" label="Sale unit" />
<FIELD name="ID_ARTICLE" label="Product" />
<FIELD name="DESCRIPTIF" label="Descriptif" titlelabel="Descriptif" />
<FIELD name="POURCENT_REMISE" label="% remise" titlelabel="% remise" />
<FIELD name="ID_PAYS" label="Pays d'origine" titlelabel="Pays d'origine" />
<FIELD name="CODE_DOUANIER" label="Code douanier" titlelabel="Code douanier" />
<FIELD name="DESCRIPTIF" label="Description" />
<FIELD name="POURCENT_REMISE" label="% discount" />
<FIELD name="ID_PAYS" label="Country" />
<FIELD name="CODE_DOUANIER" label="Customs code" />
<FIELD name="ID_DEVISE" label="Currency" />
<FIELD name="PV_U_DEVISE" label="Prix devise" titlelabel="Prix devise" />
<FIELD name="PV_T_DEVISE" label="Prix devise total" titlelabel="Prix devise total" />
<FIELD name="ID_COMMANDE_CLIENT" label="Commande" titlelabel="Commande" />
<FIELD name="PV_U_DEVISE" label="Price currency" />
<FIELD name="PV_T_DEVISE" label="Total currency price" />
<FIELD name="ID_COMMANDE_CLIENT" label="Order" />
<FIELD name="ID_STYLE" label="Style" titlelabel="Style" />
<FIELD name="CODE" label="Code" titlelabel="Code" />
<FIELD name="NOM" label="Désignation" titlelabel="Désignation" />
<FIELD name="PA_HT" label="PA Unitaire HT" titlelabel="PA Unitaire HT" />
<FIELD name="MARGE_HT" label="Marge HT" titlelabel="Marge HT" />
<FIELD name="PV_HT" label="PV Unitaire HT" titlelabel="PV Unitaire HT" />
<FIELD name="NOM" label="Name" />
<FIELD name="PA_HT" label="Purchase price" />
<FIELD name="MARGE_HT" label="Margin" />
<FIELD name="PV_HT" label="Unit sale price" />
<FIELD name="ID_TAXE" label="Tax" />
<FIELD name="POIDS" label="Poids UV" titlelabel="Poids UV" />
<FIELD name="POIDS" label="Weight" />
<FIELD name="QTE" label="Quantity" />
<FIELD name="SERVICE" label="Service" titlelabel="Service" />
<FIELD name="SERVICE" label="Service" />
<FIELD name="PRIX_METRIQUE_VT_1" label="P.V. UV HT" titlelabel="P.V. UV HT" />
<FIELD name="PRIX_METRIQUE_HA_1" label="P.A. UV HT" titlelabel="P.A. UV HT" />
<FIELD name="VALEUR_METRIQUE_1" label="Longueur par défaut" titlelabel="Longueur par défaut" />
649,34 → 703,33
<FIELD name="VALEUR_METRIQUE_3" label="poids / m²" titlelabel="poids / m²" />
<FIELD name="ID_METRIQUE_3" label="Métrique" titlelabel="Métrique" />
<FIELD name="T_PV_TTC" label="Total" />
<FIELD name="T_PV_HT" label="Total Vt HT" titlelabel="Total Vt HT" />
<FIELD name="T_PA_HT" label="Total Ha HT" titlelabel="Total Ha HT" />
<FIELD name="T_POIDS" label="Poids total" titlelabel="Poids total" />
<FIELD name="ID_MODE_VENTE_ARTICLE" label="Mode de vente" titlelabel="Mode de vente" />
 
<FIELD name="T_PV_HT" label="Total sales" />
<FIELD name="T_PA_HT" label="Total purchase" />
<FIELD name="T_POIDS" label="Total weight" />
<FIELD name="ID_MODE_VENTE_ARTICLE" label="Sales type" />
<FIELD name="POURCENT_ACOMPTE" label="% of deposit" />
</TABLE>
 
<TABLE name="COMMERCIAL">
<FIELD name="ID_TITRE_PERSONNEL" label="Titre" titlelabel="Titre" />
<FIELD name="TEL_DIRECT" label="Numéro de tel direct" titlelabel="Numéro de tel direct" />
<FIELD name="PRENOM" label="Prénom" titlelabel="Prénom" />
<FIELD name="TEL_STANDARD" label="Numéro de tel du standard" titlelabel="Numéro de tel du standard" />
<FIELD name="FAX" label="Numéro de fax" titlelabel="Numéro de fax" />
<FIELD name="FONCTION" label="Fonction" titlelabel="Fonction contact" />
<FIELD name="ID_SITE" label="Site" titlelabel="Site contact" />
<FIELD name="EMAIL" label="Adresse email" titlelabel="Adresse email" />
<FIELD name="NOM" label="Nom du commercial" titlelabel="Nom du commercial" />
<FIELD name="ID_USER_COMMON" label="Utilisateur" titlelabel="Utilisateur" />
<FIELD name="TEL_MOBILE" label="Numéro de tel mobile" titlelabel="Numéro de tel mobile" />
<FIELD name="TEL_PERSONEL" label="Numéro de tel personnel" titlelabel="Numéro de tel personnel" />
<FIELD name="ID_TITRE_PERSONNEL" label="Gender" />
<FIELD name="TEL_DIRECT" label="Phone number" />
<FIELD name="PRENOM" label="Firstname" />
<FIELD name="TEL_STANDARD" label="Phone number (company)" />
<FIELD name="FAX" label="Telecopy" />
<FIELD name="FONCTION" label="Position" />
<FIELD name="ID_SITE" label="Site" />
<FIELD name="EMAIL" label="Email" />
<FIELD name="NOM" label="Name" />
<FIELD name="ID_USER_COMMON" label="User" />
<FIELD name="TEL_MOBILE" label="Mobile phone" />
<FIELD name="TEL_PERSONEL" label="Personal phone" />
</TABLE>
 
<TABLE name="COMPTE_PCE">
<FIELD name="NUMERO" label="N° de compte" titlelabel="N° de compte" />
<FIELD name="NUMERO" label="Number" />
<FIELD name="NOM" label="Account" />
<FIELD name="INFOS" label="Informations" titlelabel="Informations" />
<FIELD name="RACINE" label="Racine" titlelabel="Racine" />
<FIELD name="INFOS" label="Information" />
<FIELD name="RACINE" label="Root" />
<FIELD name="TOTAL_DEBIT" label="Total débit" titlelabel="Total débit" />
<FIELD name="TOTAL_CREDIT" label="Total crédit" titlelabel="Total crédit" />
<FIELD name="ID_NATURE_COMPTE" label="Nature du compte" titlelabel="Nature Compte" />
724,8 → 777,11
</TABLE>
 
<TABLE name="DEVIS">
<FIELD name="ID_CLIENT_DEPARTEMENT" label="Department" />
<FIELD name="ID_ADRESSE" label="Spec. invoice address" />
<FIELD name="ID_ADRESSE_LIVRAISON" label="Spec. delivery address" />
<FIELD name="ID_MODELE" label="Template" />
<FIELD name="PROBABILITE" label="Probabilité" titlelabel="Probabilité" />
<FIELD name="PROBABILITE" label="Probability" />
<FIELD name="DATE_VALIDITE" label="Validity date" />
<FIELD name="NUMERO" label="Quote number" />
<FIELD name="DATE" label="Date" />
744,31 → 800,34
<FIELD name="DATE_ENVOI" label="Sent date" />
<FIELD name="ID_ADRESSE" label="Address" />
<FIELD name="ID_CONTACT" label="Contact" />
<FIELD name="ID_TARIF" label="Pricelist to apply" />
<FIELD name="ADRESSE_IDENTIQUE" label="Same address" />
<FIELD name="T_DEVISE" label="Total Devise" titlelabel="Total Devise" />
<FIELD name="T_DEVISE" label="Total currency" />
<FIELD name="DUNNING_DATE" label="Dunning date" titlelabel="Dunning date" />
</TABLE>
<TABLE name="DEVIS_ELEMENT">
<FIELD name="QTE_UNITAIRE" label="Qté U.V." titlelabel="Qté U.V." />
<FIELD name="ID_FAMILLE_ARTICLE" label="Product family" />
<FIELD name="QTE_UNITAIRE" label="Unit quantity" />
<FIELD name="ID_UNITE_VENTE" label="Sale unit" titlelabel="Sale unit" />
<FIELD name="ID_ARTICLE" label="Product" />
<FIELD name="DESCRIPTIF" label="Descriptif" titlelabel="Descriptif" />
<FIELD name="MARGE_HT" label="Marge HT" titlelabel="Marge HT" />
<FIELD name="POURCENT_REMISE" label="% remise" titlelabel="% remise" />
<FIELD name="ID_PAYS" label="Pays d'origine" titlelabel="Pays d'origine" />
<FIELD name="DESCRIPTIF" label="Description" />
<FIELD name="MARGE_HT" label="Margin" />
<FIELD name="POURCENT_REMISE" label="% discount" />
<FIELD name="ID_PAYS" label="Country" />
<FIELD name="CODE_DOUANIER" label="Code douanier" titlelabel="Code douanier" />
<FIELD name="ID_DEVISE" label="Currency" />
<FIELD name="PV_U_DEVISE" label="Prix devise" titlelabel="Prix devise" />
<FIELD name="PV_T_DEVISE" label="Prix devise total" titlelabel="Prix devise total" />
<FIELD name="ID_DEVIS" label="Quote" />
<FIELD name="ID_STYLE" label="Style" titlelabel="Style" />
<FIELD name="CODE" label="Code" titlelabel="Code" />
<FIELD name="NOM" label="Désignation" titlelabel="Désignation" />
<FIELD name="PA_HT" label="PA Unitaire HT" titlelabel="PA Unitaire HT" />
<FIELD name="PV_HT" label="PV Unitaire HT" titlelabel="PV Unitaire HT" />
<FIELD name="ID_STYLE" label="Style" />
<FIELD name="CODE" label="Code" />
<FIELD name="NOM" label="Name" />
<FIELD name="PA_HT" label="Unit purchase price" />
<FIELD name="PV_HT" label="Unit sale price" />
<FIELD name="ID_TAXE" label="Tax" />
<FIELD name="POIDS" label="Poids UV" titlelabel="Poids UV" />
<FIELD name="T_POIDS" label="Poids total" titlelabel="Poids total" />
<FIELD name="T_PA_HT" label="Total achat HT" titlelabel="Total achat HT" />
<FIELD name="POIDS" label="Unit weight" />
<FIELD name="T_POIDS" label="Total weight" />
<FIELD name="T_PA_HT" label="Total purchase" />
<FIELD name="T_PV_HT" label="Total pre-tax" />
<FIELD name="T_PV_TTC" label="Total" />
<FIELD name="QTE" label="Quantity" />
787,7 → 846,13
<FIELD name="ID_METRIQUE_3" label="Métrique" titlelabel="Métrique" />
<FIELD name="ID_MODE_VENTE_ARTICLE" label="Mode de vente" titlelabel="Mode de vente" />
</TABLE>
 
<TABLE name="DEVISE_HISTORIQUE">
<FIELD name="DATE" label="Date" />
<FIELD name="SRC" label="From" />
<FIELD name="DST" label="To" />
<FIELD name="TAUX" label="Exchange rate" />
<FIELD name="TAUX_COMMERCIAL" label="Rate for sales" />
</TABLE>
<TABLE name="ECHANTILLON_ELEMENT">
<FIELD name="NOM" label="Nom" titlelabel="Nom" />
<FIELD name="QTE" label="Quantité" titlelabel="Quantité" />
800,7 → 865,7
<TABLE name="ECHEANCE_CLIENT">
<FIELD name="MONTANT" label="Amount" titlelabel="Amount" />
<FIELD name="DATE" label="Due date" />
<FIELD name="NOMBRE_RELANCE" label="Nombre de relance" titlelabel="Nombre de relance" />
<FIELD name="NOMBRE_RELANCE" label="Nombre de relance" />
<FIELD name="ID_MOUVEMENT" label="N° de mouvement" titlelabel="N° de mouvement" />
<FIELD name="ID_CLIENT" label="Customer" titlelabel="client" />
<FIELD name="REGLE" label="Réglé" titlelabel="Réglé" />
873,11 → 938,11
</TABLE>
 
<TABLE name="ETAT_DEVIS">
<FIELD name="NOM" label="Etat du devis" titlelabel="Etat du devis" />
<FIELD name="NOM" label="Quote status" />
</TABLE>
 
<TABLE name="ETAT_RAPPORT">
<FIELD name="NOM" label="Etat du rapport" titlelabel="Etat du rapport" />
<FIELD name="NOM" label="Report status" />
</TABLE>
 
<TABLE name="ETAT_CIVIL">
896,16 → 961,16
</TABLE>
 
<TABLE name="FAMILLE_ARTICLE">
<FIELD name="CODE" label="Code" titlelabel="Code" />
<FIELD name="NOM" label="Famille" titlelabel="Famille" />
<FIELD name="ID_FAMILLE_ARTICLE_PERE" label="Sous Famille de" titlelabel="Sous Famille de" />
<FIELD name="ID_COMPTE_PCE" label="Compte spécifique de vente" titlelabel="Compte spécifique de vente" />
<FIELD name="ID_COMPTE_PCE_ACHAT" label="Compte spécifique d'achat" titlelabel="Compte spécifique d'achat" />
<FIELD name="CODE" label="Code" />
<FIELD name="NOM" label="Family name" />
<FIELD name="ID_FAMILLE_ARTICLE_PERE" label="Sous Famille de" />
<FIELD name="ID_COMPTE_PCE" label="Compte spécifique de vente" />
<FIELD name="ID_COMPTE_PCE_ACHAT" label="Compte spécifique d'achat" />
</TABLE>
 
<TABLE name="FICHE_PAYE">
<FIELD name="ANNEE" label="Year" />
<FIELD name="ID_SALARIE" label="Salarié" titlelabel="Salarié" />
<FIELD name="ID_SALARIE" label="Salarié" />
<FIELD name="IDPROFIL_PAYE" label="Profil de paye" titlelabel="Profil de paye" />
<FIELD name="SAL_BRUT" label="Salaire brut" titlelabel="Salaire brut" />
<FIELD name="COT_PAT" label="Cotisations pat." titlelabel="Cotisations pat." />
1066,8 → 1131,8
</TABLE>
 
<TABLE name="MODE_VENTE_ARTICLE">
<FIELD name="NOM" label="Mode de vente" titlelabel="Sales type" />
<FIELD name="CODE" label="Unité" titlelabel="Unit" />
<FIELD name="NOM" label="Sales type" />
<FIELD name="CODE" label="Unit" />
</TABLE>
 
 
1075,18 → 1140,19
<FIELD name="ID_MODE_REGLEMENT" label="Method of payment" />
<FIELD name="NOM" label="Label" />
<FIELD name="CODE" label="Code" titlelabel="Code" />
<FIELD name="AJOURS" label="à" titlelabel="à" />
<FIELD name="LENJOUR" label="le" titlelabel="le" />
<FIELD name="ID_BANQUE_POLE_PRODUIT" label="Banque" titlelabel="Banque" />
<FIELD name="ID_TYPE_REGLEMENT" label="Type de règlement" titlelabel="Type de règlement" />
<FIELD name="DATE" label="Daté du" titlelabel="Daté du" />
<FIELD name="ETS" label="Ets" titlelabel="Ets" />
<FIELD name="DATE_FACTURE" label="A réception de facture" titlelabel="A réception de facture" />
<FIELD name="NUMERO" label="Numero" titlelabel="Numero" />
<FIELD name="COMPTANT" label="Comptant" titlelabel="Comptant" />
<FIELD name="DATE_VIREMENT" label="Date de virement" titlelabel="Date de virement" />
<FIELD name="DATE_DEPOT" label="Date de depot" titlelabel="Date de depot" />
<FIELD name="FIN_MOIS" label="Fin de mois" titlelabel="Fin de mois" />
<FIELD name="AJOURS" label="after" />
<FIELD name="LENJOUR" label="the" />
<FIELD name="ID_BANQUE_POLE_PRODUIT" label="Bank" />
<FIELD name="ID_BANQUE" label="Bank" />
<FIELD name="ID_TYPE_REGLEMENT" label="Payment type" />
<FIELD name="DATE" label="at date" />
<FIELD name="ETS" label="Ets" />
<FIELD name="DATE_FACTURE" label="At invoice reception" />
<FIELD name="NUMERO" label="Number" />
<FIELD name="COMPTANT" label="Cash" />
<FIELD name="DATE_VIREMENT" label="Date of transfer" />
<FIELD name="DATE_DEPOT" label="Date of deposit" />
<FIELD name="FIN_MOIS" label="End of month" />
</TABLE>
 
<TABLE name="MODE_REGLEMENT_PAYE">
1116,7 → 1182,7
<FIELD name="QTE" label="Quantity" />
<FIELD name="SOURCE" label="Source" titlelabel="Source" />
<FIELD name="IDSOURCE" label="IdSource" titlelabel="IdSource" />
<FIELD name="NUMERO" label="Numéro mvt stock" titlelabel="Numéro mvt stock" />
<FIELD name="NUMERO" label="Stock ref" />
<FIELD name="NOM" label="Label" />
<FIELD name="DATE" label="Date" />
<FIELD name="ID_ARTICLE" label="Product" />
1123,7 → 1189,7
</TABLE>
 
<TABLE name="NATURE_COMPTE">
<FIELD name="NOM" label="Nature" titlelabel="Nature" />
<FIELD name="NOM" label="Nature" />
</TABLE>
 
 
1153,7 → 1219,7
<FIELD name="COMMANDE_START" label="Next number" />
<FIELD name="BON_R_FORMAT" label="Format" />
<FIELD name="BON_R_START" label="Next number" />
<FIELD name="CODE_LETTRAGE" label="Code de lettrage" titlelabel="Code de lettrage" />
<FIELD name="CODE_LETTRAGE" label="Code de lettrage" />
<FIELD name="COURRIER_FORMAT" label="Format" />
<FIELD name="COURRIER_START" label="Next number" />
</TABLE>
1160,9 → 1226,9
<TABLE name="OBJECTIF_COMMERCIAL">
<FIELD name="ANNEE" label="Year" />
<FIELD name="MOIS" label="Month" />
<FIELD name="MARGE_HT" label="Marge HT" titlelabel="Marge HT" />
<FIELD name="POURCENT_MARGE" label="% Marge" titlelabel="% Marge" />
<FIELD name="CHIFFRE_AFFAIRE" label="Chiffre d'affaire" titlelabel="Chiffre d'affaire" />
<FIELD name="MARGE_HT" label="Margin" />
<FIELD name="POURCENT_MARGE" label="% Margin" titlelabel="% Margin" />
<FIELD name="CHIFFRE_AFFAIRE" label="Revenue" />
<FIELD name="ID_COMMERCIAL" label="Saleman" />
</TABLE>
 
1170,17 → 1236,17
 
<TABLE name="PAYS">
<FIELD name="CODE" label="Code" titlelabel="Code" />
<FIELD name="NOM" label="Label" />
<FIELD name="ID_TARIF" label="Tarif" titlelabel="Tarif" />
<FIELD name="ID_LANGUE" label="Langue" titlelabel="Langue" />
<FIELD name="NOM" label="Name" />
<FIELD name="ID_TARIF" label="Price list" />
<FIELD name="ID_LANGUE" label="Language" />
</TABLE>
 
<TABLE name="PERIODICITE">
<FIELD name="NOM" label="Périodicité" titlelabel="Périodicité" />
<FIELD name="CODE" label="Code" titlelabel="Code" />
<FIELD name="NB_SEMAINE" label="Nombre de semaine" titlelabel="Nombre de semaine" />
<FIELD name="NB_ANNEE" label="Nombre d'année" titlelabel="Nombre d'année" />
<FIELD name="NB_MOIS" label="Nombre de mois" titlelabel="Nombre de mois" />
<FIELD name="NOM" label="Periodicity" />
<FIELD name="CODE" label="Code" />
<FIELD name="NB_SEMAINE" label="Number of weeks" />
<FIELD name="NB_ANNEE" label="Number of years" />
<FIELD name="NB_MOIS" label="Number of months" />
</TABLE>
 
 
1193,8 → 1259,8
</TABLE>
 
<TABLE name="PIECE">
<FIELD name="ID" label="N° de pièce" titlelabel="N° de pièce" />
<FIELD name="NOM" label="Nom de la pièce" titlelabel="Nom de la pièce" />
<FIELD name="ID" label="N° de pièce" />
<FIELD name="NOM" label="Nom de la pièce" />
</TABLE>
 
<TABLE name="POURCENT_SERVICE">
1211,7 → 1277,6
<FIELD name="ID_FICHE_RENDEZ_VOUS_ELEMENT" label="Element de rendez vous" titlelabel="Element de rendez vous" />
</TABLE>
 
 
<TABLE name="PREFS_COMPTE">
<FIELD name="ID_COMPTE_PCE_ACHAT" label="Compte Achat" titlelabel="Compte Achat" />
<FIELD name="ID_COMPTE_PCE_VENTE_SERVICE" label="Compte Vente service" titlelabel="Compte Vente service" />
1222,9 → 1287,6
<FIELD name="ID_COMPTE_PCE_TVA_VENTE" label="Compte TVA collectée" titlelabel="Compte TVA collectée" />
</TABLE>
 
 
 
 
<TABLE name="REFERENCE_CLIENT">
<FIELD name="NOM" label="Customer reference" />
<FIELD name="ID_AFFAIRE" label="Project" titlelabel="Project" />
1247,12 → 1309,21
</TABLE>
 
<TABLE name="REGLER_MONTANT">
<FIELD name="DATE" label="Date de règlement" titlelabel="Date de règlement" />
<FIELD name="MONTANT" label="Amount" titlelabel="Amount" />
<FIELD name="DATE" label="Date of payment" />
<FIELD name="MONTANT" label="Amount" />
<FIELD name="ID_MODE_REGLEMENT" label="Method of payment" />
<FIELD name="ID_ECHEANCE_FOURNISSEUR" label="Echéance fournisseur" titlelabel="échéance" />
<FIELD name="ID_ECHEANCE_FOURNISSEUR" label="Term" />
<FIELD name="ID_FOURNISSEUR" label="Supplier" />
</TABLE>
 
<TABLE name="REGLER_MONTANT_ELEMENT">
<FIELD name="ID_ECHEANCE_FOURNISSEUR" label="Term" />
<FIELD name="ID_MOUVEMENT_ECHEANCE" label="Supplier invoice" />
<FIELD name="DATE" label="Date" />
<FIELD name="MONTANT_REGLE" label="Amount paid" />
<FIELD name="MONTANT_A_REGLER" label="Amount due" />
</TABLE>
 
<TABLE name="RELANCE">
<FIELD name="DATE" label="Date de relance" titlelabel="Date de relance" />
<FIELD name="ID_SAISIE_VENTE_FACTURE" label="Facture" titlelabel="Facture" />
1324,17 → 1395,20
<FIELD name="CREATION_AUTO" label="Article généré" titlelabel="généré" />
</TABLE>
<TABLE name="SAISIE_VENTE_FACTURE">
<FIELD name="ID_CLIENT_DEPARTEMENT" label="Department" />
<FIELD name="ID_ADRESSE" label="Spec. invoice address" />
<FIELD name="ID_ADRESSE_LIVRAISON" label="Spec. delivery address" />
<FIELD name="ID_COMPTE_PCE_VENTE" label="Sales account" />
<FIELD name="ID_ADRESSE" label="Specific address" />
<FIELD name="T_HA" label="Total purchases" />
<FIELD name="SOURCE" label="Source" />
<FIELD name="T_AVOIR_TTC" label="T de avoir de ttc" titlelabel="T de avoir de ttc" />
<FIELD name="IDSOURCE" label="Idsource" titlelabel="Idsource" />
<FIELD name="PREVISIONNELLE" label="Previsionnelle" titlelabel="Previsionnelle" />
<FIELD name="COMPLEMENT" label="Complement" titlelabel="Complement" />
<FIELD name="T_AVOIR_TTC" label="Credit note" />
<FIELD name="IDSOURCE" label="Idsource" />
<FIELD name="PREVISIONNELLE" label="Prevision" />
<FIELD name="COMPLEMENT" label="Additional" />
<FIELD name="T_ECOTAXE" label="Ecotax" />
<FIELD name="ID_COMPTE_PCE_SERVICE" label="Compte de pce de service" titlelabel="Compte de pce de service" />
<FIELD name="AFFACTURAGE" label="Affacturage" titlelabel="Affacturage" />
<FIELD name="ID_COMPTE_PCE_SERVICE" label="Service account" />
<FIELD name="AFFACTURAGE" label="Factoring" />
<FIELD name="NOM" label="Reference" />
<FIELD name="DATE" label="Date" />
<FIELD name="ID_COMMERCIAL" label="Saleman" />
1344,58 → 1418,62
<FIELD name="T_TVA" label="Tax" />
<FIELD name="T_TTC" label="Total" />
<FIELD name="ID_TAXE" label="Tax" />
<FIELD name="ID_TAXE_PORT" label="TVA sur port" titlelabel="TVA sur port" />
<FIELD name="ID_MOUVEMENT" label="N° de mouvement" titlelabel="N° de mouvement" />
<FIELD name="INFOS" label="Additional information" titlelabel="Informations" />
<FIELD name="ID_TAXE_PORT" label="Tax on shipping" />
<FIELD name="ID_MOUVEMENT" label="N° of movement" />
<FIELD name="INFOS" label="Additional information" titlelabel="Information" />
<FIELD name="ID_MODE_REGLEMENT" label="Method of payment" />
<FIELD name="PORT_HT" label="Frais de port HT" titlelabel="Ports" />
<FIELD name="PORT_HT" label="Shipping" />
<FIELD name="REMISE_HT" label="Discount" />
<FIELD name="T_SERVICE" label="Frais de service" titlelabel="Service" />
<FIELD name="T_POIDS" label="Poids total" titlelabel="Poids total" />
<FIELD name="NUMERO" label="Numéro de la facture" titlelabel="Numéro facture" />
<FIELD name="ID_AVOIR_CLIENT" label="Avoir" titlelabel="Avoir" />
<FIELD name="DATE_ENVOI" label="Date d'envoi" titlelabel="Date d'envoi" />
<FIELD name="DATE_REGLEMENT" label="Date de règlement" titlelabel="Date de règlement" />
<FIELD name="T_SERVICE" label="Service" />
<FIELD name="T_POIDS" label="Total weight" />
<FIELD name="NUMERO" label="Number" />
<FIELD name="ID_AVOIR_CLIENT" label="Credit note" />
<FIELD name="DATE_ENVOI" label="Date of shipping" />
<FIELD name="DATE_REGLEMENT" label="Date of payment" />
<FIELD name="INFOS" label="Additional information" />
<FIELD name="ACOMPTE" label="Deposit" />
<FIELD name="POURCENT_ACOMPTE" label="% of deposit" />
<FIELD name="ID_POLE_PRODUIT" label="Product department" />
<FIELD name="ID_AFFAIRE" label="Project" />
<FIELD name="ID_CONTACT" label="Contact" />
<FIELD name="ID_SECRETAIRE" label="Secretary" />
<FIELD name="ID_REFERENCE_CLIENT" label="Customer reference" />
<FIELD name="ID_MODELE" label="Template" />
<FIELD name="COMPTE_SERVICE_AUTO" label="Gestion automatique du compte de service" titlelabel="Gestion automatique du compte de service" />
<FIELD name="COMPTE_SERVICE_AUTO" label="Service account auto" />
<FIELD name="ID_TARIF" label="Pricelist to apply" />
 
</TABLE>
<TABLE name="SAISIE_VENTE_FACTURE_ELEMENT">
<FIELD name="ID_FAMILLE_ARTICLE" label="Product family" />
<FIELD name="POURCENT_ACOMPTE" label="% of deposit" />
<FIELD name="QTE_UNITAIRE" label="Qté U.V." titlelabel="Qté U.V." />
<FIELD name="ID_UNITE_VENTE" label="Sale unit" titlelabel="Sale unit" />
<FIELD name="QTE_UNITAIRE" label="Qty sales unit" />
<FIELD name="ID_UNITE_VENTE" label="Sale unit" />
<FIELD name="ID_ARTICLE" label="Product" />
<FIELD name="DESCRIPTIF" label="Descriptif" titlelabel="Descriptif" />
<FIELD name="ID_PAYS" label="Pays d'origine" titlelabel="Pays d'origine" />
<FIELD name="CODE_DOUANIER" label="Code douanier" titlelabel="Code douanier" />
<FIELD name="DESCRIPTIF" label="Description" />
<FIELD name="ID_PAYS" label="Country" />
<FIELD name="CODE_DOUANIER" label="Customs code" />
<FIELD name="ID_DEVISE" label="Currency" />
<FIELD name="PV_U_DEVISE" label="Prix devise" titlelabel="Prix devise" />
<FIELD name="PV_T_DEVISE" label="Prix devise total" titlelabel="Prix devise total" />
<FIELD name="PV_U_DEVISE" label="Currency price" />
<FIELD name="PV_T_DEVISE" label="Total currency price" />
<FIELD name="ECOTAXE" label="Ecotax" />
<FIELD name="PRIX_FINAL_TTC" label="Prix de final de ttc" titlelabel="Prix de final de ttc" />
<FIELD name="T_ECOTAXE" label="Dont écotaxe" titlelabel="Dont ecotaxe" />
<FIELD name="T_PRIX_FINAL_TTC" label="Total Prix de final" titlelabel="Total prix final" />
<FIELD name="POURCENT_REMISE" label="% Remise" titlelabel="% Remise" />
<FIELD name="PRIX_FINAL_TTC" label="Price with tax" />
<FIELD name="T_ECOTAXE" label="Ecotax" />
<FIELD name="T_PRIX_FINAL_TTC" label="Total with tax" />
<FIELD name="POURCENT_REMISE" label="% discount" />
<FIELD name="POURCENT_ACOMPTE" label="% of deposit" />
<FIELD name="ID_STYLE" label="Style" titlelabel="Style" />
<FIELD name="NOM" label="Désignation" titlelabel="Désignation" />
<FIELD name="CODE" label="Code" titlelabel="Code" />
<FIELD name="PV_HT" label="PV Unitaire HT" titlelabel="PV Unitaire HT" />
<FIELD name="MARGE_HT" label="Marge HT" titlelabel="Marge HT" />
<FIELD name="PA_HT" label="PA Unitaire HT" titlelabel="PA Unitaire HT" />
<FIELD name="NOM" label="Name" />
<FIELD name="CODE" label="Code" />
<FIELD name="PV_HT" label="Unit sale price" />
<FIELD name="MARGE_HT" label="Margin" />
<FIELD name="PA_HT" label="Purchase price" />
<FIELD name="ID_TAXE" label="Tax" />
<FIELD name="POIDS" label="Poids UV" titlelabel="Poids UV" />
<FIELD name="POIDS" label="Unit weight" />
<FIELD name="QTE" label="Quantity" />
<FIELD name="QTE_LIVREE" label="Quantité livrée" titlelabel="Qté livrée" />
<FIELD name="QTE_LIVREE" label="Delivered qty" />
<FIELD name="LIVREE" label="Delivered" />
<FIELD name="SERVICE" label="Service" titlelabel="Service" />
<FIELD name="ID_SAISIE_VENTE_FACTURE" label="Saisie vente facture" titlelabel="Saisie vente facture" />
<FIELD name="ID_SAISIE_VENTE_FACTURE" label="Invoice" />
<FIELD name="PRIX_METRIQUE_VT_1" label="Prix Vente UV HT" titlelabel="Prix Vente UV HT" />
<FIELD name="PRIX_METRIQUE_HA_1" label="Prix Achat UV HT" titlelabel="Prix Achat UV HT" />
<FIELD name="VALEUR_METRIQUE_1" label="Longueur par défaut" titlelabel="Longueur par défaut" />
1408,11 → 1486,11
<FIELD name="PRIX_METRIQUE_HA_3" label="PHA au kg HT" titlelabel="PHA au kg HT" />
<FIELD name="VALEUR_METRIQUE_3" label="poids / m²" titlelabel="poids / m²" />
<FIELD name="ID_METRIQUE_3" label="Métrique" titlelabel="Métrique" />
<FIELD name="T_POIDS" label="Poids total" titlelabel="Poids total" />
<FIELD name="T_PA_HT" label="Total Achat HT" titlelabel="Total Achat HT" />
<FIELD name="T_POIDS" label="Total weight" />
<FIELD name="T_PA_HT" label="Total pruchase" />
<FIELD name="T_PV_HT" label="Total pre-tax" />
<FIELD name="T_PV_TTC" label="Total" />
<FIELD name="ID_MODE_VENTE_ARTICLE" label="Mode de vente" titlelabel="Mode de vente" />
<FIELD name="ID_MODE_VENTE_ARTICLE" label="Sale type" />
</TABLE>
 
<TABLE name="SALARIE">
1485,7 → 1563,7
 
<TABLE name="TITRE_PERSONNEL">
<FIELD name="NOM" label="Label" />
<FIELD name="SEXE_M" label="Sexe Masculin" titlelabel="Sexe Masculin" />
<FIELD name="SEXE_M" label="Masculin" />
</TABLE>
 
<TABLE name="TYPE_COMPTE_PCG">
1499,10 → 1577,10
</TABLE>
 
<TABLE name="TYPE_REGLEMENT">
<FIELD name="NOM" label="Type règlement" titlelabel="Type règlement" />
<FIELD name="NOM" label="Payment type" />
<FIELD name="ID_COMPTE_PCE_FOURN" label="Compte fournisseur" titlelabel="Compte fournisseur" />
<FIELD name="ID_COMPTE_PCE_CLIENT" label="Compte client" titlelabel="Compte client" />
<FIELD name="COMPTANT" label="Comptant" titlelabel="Comptant" />
<FIELD name="COMPTANT" label="Cash" />
</TABLE>
 
<TABLE name="VARIABLE_SALARIE">
/trunk/OpenConcerto/src/org/openconcerto/erp/config/mapping_fr.xml
4,6 → 4,7
<FIELD name="USER_COMMON" label="Utilisateur" />
<FIELD name="ID_SOCIETE_COMMON" label="Accés à la société" />
</TABLE>
 
<TABLE name="ADRESSE_COMMON">
<FIELD name="RAISON_SOCIALE" label="Raison sociale" />
<FIELD name="RUE" label="Rue" />
62,6 → 63,8
<FIELD name="LIBELLE" label="Libellé" />
<FIELD name="LIBELLE_CENT" label="Libellé des centimes" />
<FIELD name="TAUX" label="Taux" />
<FIELD name="TAUX_COMMERCIAL" label="Taux commercial" />
<FIELD name="SYMBOLE" label="Symbole" />
</TABLE>
<TABLE name="DISCIPLINE">
<FIELD name="NOM" label="Domaine" />
/trunk/OpenConcerto/src/org/openconcerto/erp/config/mapping_pl.xml
New file
0,0 → 1,208
<?xml version="1.0" encoding="UTF-8" ?>
<ROOT>
<TABLE name="ACCES_SOCIETE">
<FIELD name="USER_COMMON" label="User" />
<FIELD name="ID_SOCIETE_COMMON" label="Ustawienia dostępu" />
</TABLE>
 
<TABLE name="ADRESSE_COMMON">
<FIELD name="RAISON_SOCIALE" label="Nazwa" />
<FIELD name="RUE" label="Ulica" />
<FIELD name="PAYS" label="Kraj" />
<FIELD name="CODE_POSTAL" label="Kod pocztowy" />
<FIELD name="VILLE" label="Miasto" />
<FIELD name="CEDEX" label="Cedex" />
<FIELD name="HAS_CEDEX" label="Cedex" />
<FIELD name="NUMERO_CANTON" label="Województwo" />
<FIELD name="NUMERO_COMMUNE" label="Numer miasta" />
</TABLE>
 
<TABLE name="CAISSE_COTISATION">
<FIELD name="NOM" label="Sformułowanie" titlelabel="Sformułowanie" />
<FIELD name="ID_ADRESSE_COMMON" label="Adres" titlelabel="Adres" />
<FIELD name="TEL" label="Tel" titlelabel="Tel." />
<FIELD name="MAIL" label="email" titlelabel="email" />
<FIELD name="TEL_PORTABLE" label="Telefon kom." titlelabel="Telefon kom." />
<FIELD name="ID_COMPTE_PCE_TIERS" label="Stony trzecie" titlelabel="Stony trzecie" />
<FIELD name="ID_COMPTE_PCE_CHARGE" label="Inne koszta" titlelabel="Inne koszta" />
</TABLE>
 
<TABLE name="DEVISE">
<FIELD name="CODE" label="Kod" />
<FIELD name="NOM" label="Nazwa" />
<FIELD name="LIBELLE" label="Text" />
<FIELD name="LIBELLE_CENT" label="Label for cents" />
<FIELD name="TAUX" label="Stawka" />
<FIELD name="TAUX_COMMERCIAL" label="Rate for sales" />
<FIELD name="SYMBOLE" label="Symbol" />
</TABLE>
 
<TABLE name="EXERCICE_COMMON">
<FIELD name="NUMERO" label="Nazwa" />
<FIELD name="DATE_DEB" label="Data rozpoczęcia" />
<FIELD name="DATE_FIN" label="Data zakończenia" />
<FIELD name="CLOTURE" label="Zamknięte" />
<FIELD name="DATE_CLOTURE" label="Zamknięte do" />
</TABLE>
 
<TABLE name="IMPRESSION_RUBRIQUE">
<FIELD name="NOM" label="Nazwa" />
</TABLE>
 
<TABLE name="INDICE">
<FIELD name="ANNEE" label="Rok" />
<FIELD name="JANVIER" label="Styczeń" />
<FIELD name="FEVRIER" label="Luty" />
<FIELD name="MARS" label="Marzec" />
<FIELD name="AVRIL" label="Kwiecień" />
<FIELD name="MAI" label="Maj" />
<FIELD name="JUIN" label="Czerwiec" />
<FIELD name="JUILLET" label="Lipiec" />
<FIELD name="AOUT" label="Sierpień" />
<FIELD name="SEPTEMBRE" label="Wrzesień" />
<FIELD name="OCTOBRE" label="Październik" />
<FIELD name="NOVEMBRE" label="Listopad" />
<FIELD name="DECEMBRE" label="Grudzień" />
</TABLE>
 
 
 
<TABLE name="PERIODE_VALIDITE">
<FIELD name="JANVIER" label="Styczeń" titlelabel="Styczeń" />
<FIELD name="FEVRIER" label="Luty" titlelabel="Luty" />
<FIELD name="MARS" label="Marzec" titlelabel="Marzec" />
<FIELD name="AVRIL" label="Kwiecień" titlelabel="Kwiecień" />
<FIELD name="MAI" label="Maj" titlelabel="Maj" />
<FIELD name="JUIN" label="Czerwiec" titlelabel="Czerwiec" />
<FIELD name="JUILLET" label="Lipiec" titlelabel="Lipiec" />
<FIELD name="AOUT" label="Sierpień" titlelabel="Sierpień" />
<FIELD name="SEPTEMBRE" label="Wrzesień" titlelabel="Wrzesień" />
<FIELD name="OCTOBRE" label="Październik" titlelabel="Październik" />
<FIELD name="NOVEMBRE" label="Listopad" titlelabel="Listopad" />
<FIELD name="DECEMBRE" label="Grudzień" titlelabel="Grundzień" />
</TABLE>
 
<TABLE name="OBJET">
<FIELD name="CODE" label="Kod" titlelabel="Kod" />
<FIELD name="NOM" label="Nazwa" titlelabel="Nazwa" />
<FIELD name="QUALIFICATION" label="Kwalifikacja" titlelabel="Kwalifikacja" />
<FIELD name="ID_DOMAINE" label="Obszar" titlelabel="Obszar" />
</TABLE>
 
 
<TABLE name="POINTAGE">
<FIELD name="ACTION" label="Działanie" titlelabel="Działanie" />
<FIELD name="ID_USER_COMMON" label="Użytkownik" titlelabel="Użytkownik" />
<FIELD name="CARTE" label="Karta" titlelabel="Karta" />
<FIELD name="DATE" label="Data" titlelabel="Data" />
</TABLE>
 
<TABLE name="POLE_PRODUIT">
<FIELD name="CODE" label="Kod" titlelabel="Kod" />
<FIELD name="NOM" label="Nazwa" titlelabel="Nazwa" />
<FIELD name="TEL" label="Telefon" titlelabel="Telefon" />
<FIELD name="FAX" label="Fax" titlelabel="Fax" />
<FIELD name="MAIL" label="E-Mail" titlelabel="E-Mail" />
<FIELD name="NOM_SECRETAIRE" label="Numer główny" titlelabel="Numer główny" />
<FIELD name="NOM_DIRECTEUR" label="Numer zarządu" titlelabel="Numer zarządu" />
<FIELD name="ID_ADRESSE_COMMON" label="Adres" titlelabel="Adres" />
</TABLE>
 
<TABLE name="PROFIL_PAYE">
<FIELD name="NOM" label="Label" />
</TABLE>
<TABLE name="PROFIL_PAYE_ELEMENT">
<FIELD name="NOM" label="Nazwa" titlelabel="Nazwa" />
<FIELD name="ID_PROFIL_PAYE" label="Profil" titlelabel="Profil" />
<FIELD name="SOURCE" label="Źródło" titlelabel="Źródło" />
<FIELD name="IDSOURCE" label="ID Źródło" titlelabel="ID Źródło" />
<FIELD name="POSITION" label="Stan" titlelabel="Stan" />
</TABLE>
 
<TABLE name="RUBRIQUE_NET">
<FIELD name="CODE" label="Kod" titlelabel="Kod" />
<FIELD name="NOM" label="Nazwa" titlelabel="Nazwa" />
<FIELD name="BASE" label="Kwota podstawowa" titlelabel="Kwota podstawowa" />
<FIELD name="TAUX" label="Stawka" titlelabel="Stawka" />
<FIELD name="MONTANT" label="Kwota" titlelabel="Kwota" />
<FIELD name="BRUT" label="Brutto" titlelabel="Brutto" />
<FIELD name="IMPOSABLE" label="Podlegający opodatkowaniu" titlelabel="Podlegający opodatkowaniu" />
<FIELD name="FRAIS_PERS" label="Koszty pracownicze" titlelabel="Koszty pracownicze" />
<FIELD name="ID_PERIODE_VALIDITE" label="Période de validité" titlelabel="Période de validité" />
<FIELD name="ID_TYPE_RUBRIQUE_NET" label="Typ" titlelabel="Typ" />
<FIELD name="ID_IMPRESSION_RUBRIQUE" label="Druk" titlelabel="Druk" />
</TABLE>
<TABLE name="RUBRIQUE_BRUT">
<FIELD name="CODE" label="Kod" titlelabel="Kod" />
<FIELD name="NOM" label="Nazwa" titlelabel="Nazwa" />
<FIELD name="BASE" label="Kwota podstawowa" titlelabel="Kwota podstawowa" />
<FIELD name="TAUX" label="Stawka" titlelabel="Stawka" />
<FIELD name="MONTANT" label="Kwota" titlelabel="Kwota" />
<FIELD name="ID_PERIODE_VALIDITE" label="Okres ważności" titlelabel="Okres ważności" />
<FIELD name="ID_TYPE_RUBRIQUE_BRUT" label="Typ" titlelabel="Typ" />
<FIELD name="ID_IMPRESSION_RUBRIQUE" label="Druk" titlelabel="Druk" />
<FIELD name="IMPOSABLE" label="Podlegający opodatkowaniu" titlelabel="Podlegający opodatkowaniu" />
<FIELD name="PART_BRUT" label="Participe à la base brut" titlelabel="Participe à la base brut" />
<FIELD name="PART_CP" label="Wniosek o płatny urlop" titlelabel="Wniosek o płatny urlop" />
</TABLE>
<TABLE name="RUBRIQUE_COMM">
<FIELD name="CODE" label="Kod" titlelabel="Kod" />
<FIELD name="NOM" label="Nazwa" titlelabel="Nazwa" />
<FIELD name="NB_BASE" label="Kwota podstawowa" titlelabel="Kwota podstawowa" />
<FIELD name="TAUX_SAL" label="Kwota wypłaty" titlelabel="Kwota wypłaty" />
<FIELD name="MONTANT_SAL_AJ" label="Montant sal. à ajouter(MONTANT)" titlelabel="Montant sal. à ajouter(MONTANT)" />
<FIELD name="MONTANT_SAL_DED" label="Montant sal. à déduire(MONTANT)" titlelabel="Montant sal. à déduire(MONTANT)" />
<FIELD name="TAUX_PAT" label="Taux Sal.(PAT)" titlelabel="Taux Sal.(PAT)" />
<FIELD name="MONTANT_PAT" label="Montant pat.(MONTANT)" titlelabel="Montant pat.(MONTANT)" />
<FIELD name="ID_IMPRESSION_RUBRIQUE" label="Impression" titlelabel="Impression" />
<FIELD name="ID_PERIODE_VALIDITE" label="Période de validité" titlelabel="Période de validité" />
<FIELD name="NOM_VISIBLE" label="Afficher le nom de la rubrique" titlelabel="Afficher le nom de la rubrique" />
</TABLE>
 
<TABLE name="RUBRIQUE_COTISATION">
<FIELD name="CODE" label="Code" titlelabel="Code" />
<FIELD name="NOM" label="Libellé" titlelabel="Libellé" />
<FIELD name="ID_CAISSE_COTISATION" label="Caisse de cotisation" titlelabel="Caisse de cotisation" />
<FIELD name="BASE" label="Montant de base (BASE)" titlelabel="Montant de base (BASE)" />
<FIELD name="TX_SAL" label="Taux salarié (SAL) en %" titlelabel="Taux salarié (SAL) en %" />
<FIELD name="TX_PAT" label="Taux patronal (PAT) en %" titlelabel="Taux patronal (PAT) en %" />
<FIELD name="PART_CSG" label="Part CSG CRDS" titlelabel="Part CSG CRDS" />
<FIELD name="BRUT" label="Brutto" titlelabel="Brutto" />
<FIELD name="IMPOSABLE" label="Podlegający opodatkowaniu" titlelabel="Podlegający opodatkowaniu" />
<FIELD name="ID_IMPRESSION_RUBRIQUE" label="Druk" titlelabel="Druk" />
<FIELD name="ID_PERIODE_VALIDITE" label="Okres ważności" titlelabel="Okres ważności" />
</TABLE>
 
<TABLE name="SOCIETE_COMMON">
<FIELD name="DATABASE_NAME" label="DB Name" />
<FIELD name="NOM" label="Name" />
<FIELD name="ADRESSE" label="Address" />
<FIELD name="DATE_DEB_EX" label="Date de début d'excercice" />
<FIELD name="DATE_FIN_EX" label="Date de fin d'excercice" />
<FIELD name="NUM_SIRET" label="Siret number" />
<FIELD name="NUM_NII" label="NII number" />
<FIELD name="NUM_APE" label="APE number" />
<FIELD name="ID_EXERCICE_COMMON" label="Exercice" />
<FIELD name="NUM_TEL" label="Numer tel." />
<FIELD name="NUM_FAX" label="Fax number" />
<FIELD name="MAIL" label="Email" />
<FIELD name="ID_ADRESSE_COMMON" label="Adres" />
<FIELD name="TYPE" label="Typ" />
<FIELD name="RCS" label="RCS" />
<FIELD name="CAPITAL" label="Capitał" />
<FIELD name="NUMERO_URSSAF" label="URSSAF number" />
<FIELD name="ID_DEVISE" label="Waluta" />
</TABLE>
 
<TABLE name="TYPE_MODELE">
<FIELD name="NOM" label="Nazwa" />
<FIELD name="TABLE" label="Tabela" />
</TABLE>
<TABLE name="VARIABLE_PAYE">
<FIELD name="VALEUR" label="Wartość" />
<FIELD name="NOM" label="Nazwa" />
<FIELD name="CATEGORIE" label="Kategoria" />
<FIELD name="FORMULE" label="Formuła" />
<FIELD name="INFOS" label="Opis" />
</TABLE>
</ROOT>
/trunk/OpenConcerto/src/org/openconcerto/erp/config/InstallationPanel.java
13,6 → 13,7
package org.openconcerto.erp.config;
 
import org.openconcerto.erp.core.sales.order.ui.EtatCommandeClient;
import org.openconcerto.erp.core.sales.quote.element.EtatDevisSQLElement;
import org.openconcerto.erp.modules.ModuleManager;
import org.openconcerto.erp.modules.ModuleReference;
166,13 → 167,11
createDevise.addVarCharColumn("NOM", 128);
createDevise.addVarCharColumn("LIBELLE", 128);
createDevise.addVarCharColumn("LIBELLE_CENT", 128);
createDevise.addColumn("TAUX", "numeric(16,8) default 1");
createDevise.addDecimalColumn("TAUX", 16, 8, BigDecimal.ONE, false);
createDevise.addDecimalColumn("TAUX_COMMERCIAL", 16, 8, BigDecimal.ONE, false);
ds.execute(createDevise.asString());
 
insertUndef(createDevise);
 
conf.getRoot().getSchema().updateVersion();
 
return null;
}
});
179,6 → 178,12
} catch (Exception ex) {
throw new IllegalStateException("Erreur lors de la création de la table DEVISE", ex);
}
} else if (!table.getDBRoot().getTable("DEVISE").contains("TAUX_COMMERCIAL")) {
final SQLTable tDevise = conf.getRoot().getTable("DEVISE");
final AlterTable alterDevise = new AlterTable(tDevise);
alterDevise.addDecimalColumn("TAUX_COMMERCIAL", 16, 8, BigDecimal.ONE, false);
ds.execute(alterDevise.asString());
tDevise.getSchema().updateVersion();
}
 
if (!table.getDBRoot().contains("TYPE_MODELE")) {
298,7 → 303,7
updateToV1Dot4(root);
updateStyle(root);
createBanque(root);
createAssocAnalytique(root);
createAssocAnalytique(root, conf);
updateStock(root);
updateVille(root.getTable("ADRESSE"));
return null;
661,18 → 666,28
private void addContact(DBRoot root) throws SQLException {
 
List<String> tables = Arrays.asList("AVOIR_CLIENT", "DEVIS", "BON_DE_LIVRAISON", "COMMANDE_CLIENT", "SAISIE_VENTE_FACTURE");
final SQLTable tableContact = root.findTable("CONTACT");
final SQLTable tableDpt = root.findTable("CLIENT_DEPARTEMENT");
final SQLDataSource dataSource = root.getDBSystemRoot().getDataSource();
for (String tableName : tables) {
boolean update = false;
final SQLTable table = root.getTable(tableName);
final AlterTable alterEcheance = new AlterTable(table);
 
final SQLTable table = root.getTable(tableName);
final SQLTable tableContact = root.findTable("CONTACT");
if (!table.contains("ID_CONTACT")) {
alterEcheance.addForeignColumn("ID_CONTACT", tableContact);
update = true;
}
 
final SQLDataSource dataSource = root.getDBSystemRoot().getDataSource();
final AlterTable alterEcheance = new AlterTable(table);
alterEcheance.addForeignColumn("ID_CONTACT", tableContact);
if (!table.contains("ID_CLIENT_DEPARTEMENT")) {
alterEcheance.addForeignColumn("ID_CLIENT_DEPARTEMENT", tableDpt);
update = true;
}
if (update) {
dataSource.execute(alterEcheance.asString());
table.getSchema().updateVersion();
}
 
}
}
 
761,7 → 776,7
 
}
 
private void createAssocAnalytique(DBRoot root) {
private void createAssocAnalytique(DBRoot root, ComptaPropsConfiguration conf) {
 
if (!root.contains("ASSOCIATION_ANALYTIQUE")) {
 
786,7 → 801,20
}
 
}
SQLTable tablePoste = root.getTable("POSTE_ANALYTIQUE");
if (!tablePoste.contains("DEFAULT")) {
AlterTable a = new AlterTable(tablePoste);
a.addBooleanColumn("DEFAULT", Boolean.FALSE, false);
final SQLDataSource ds = root.getDBSystemRoot().getDataSource();
try {
ds.execute(a.asString());
root.refetchTable("POSTE_ANALYTIQUE");
root.getSchema().updateVersion();
} catch (SQLException ex) {
throw new IllegalStateException("Erreur lors de la création du DEFAULT sur la table POSTE_ANALYTIQUE", ex);
}
}
}
 
private void updateStock(DBRoot root) throws SQLException {
 
841,6 → 869,7
 
private void createBanque(DBRoot root) throws SQLException {
 
// Création de la table
if (!root.contains("BANQUE") && !root.contains("BANQUE_POLE_PRODUIT")) {
 
SQLCreateTable createBanque = new SQLCreateTable(root, "BANQUE");
865,34 → 894,34
 
insertUndef(createBanque);
root.refetchTable("BANQUE");
{
AlterTable alterElt = new AlterTable(root.getTable("MODE_REGLEMENT"));
alterElt.addForeignColumn("ID_BANQUE", root.getTable("BANQUE"));
root.getSchema().updateVersion();
 
ds.execute(alterElt.asString());
} catch (SQLException ex) {
throw new IllegalStateException("Erreur lors de la création de la table BANQUE", ex);
}
}
 
// Création des foreignkeys
{
AlterTable alterElt = new AlterTable(root.getTable("CHEQUE_A_ENCAISSER"));
alterElt.addForeignColumn("ID_BANQUE", root.getTable("BANQUE"));
ds.execute(alterElt.asString());
}
final SQLDataSource ds = root.getDBSystemRoot().getDataSource();
List<String> tablesWithBanque = Arrays.asList("MODE_REGLEMENT", "CHEQUE_A_ENCAISSER", "CHEQUE_FOURNISSEUR");
 
{
AlterTable alterElt = new AlterTable(root.getTable("CHEQUE_FOURNISSEUR"));
alterElt.addForeignColumn("ID_BANQUE", root.getTable("BANQUE"));
for (String string : tablesWithBanque) {
 
final SQLTable table = root.getTable(string);
if (!table.contains("ID_BANQUE") && !table.contains("ID_BANQUE_POLE_PRODUIT")) {
String tableName = (table.contains("ID_BANQUE_PRODUIT")) ? "BANQUE_POLE_PRODUIT" : "BANQUE";
AlterTable alterElt = new AlterTable(table);
alterElt.addForeignColumn("ID_" + tableName, root.getTable(tableName));
ds.execute(alterElt.asString());
}
 
root.refetchTable(string);
root.getSchema().updateVersion();
 
} catch (SQLException ex) {
throw new IllegalStateException("Erreur lors de la création de la table BANQUE", ex);
}
 
}
}
 
}
 
private void createFactureFournisseur(DBRoot root) throws SQLException {
boolean refetchRoot = false;
if (!root.contains("FACTURE_FOURNISSEUR")) {
1043,6 → 1072,7
{
SQLTable tableAvoir = root.getTable("AVOIR_CLIENT_ELEMENT");
final AlterTable alter = new AlterTable(tableAvoir);
if (tableAvoir.contains("POURCENT_ACOMPTE")) {
SQLField fieldAcompteAvoir = tableAvoir.getField("POURCENT_ACOMPTE");
if (fieldAcompteAvoir.getType().getSize() > 500) {
final String fName = fieldAcompteAvoir.getName();
1053,7 → 1083,7
build.setWhere(new Where(fieldAcompteAvoir, "=", (Object) null));
builds.add(build);
}
 
}
if (tableAvoir.contains("POURCENT_REMISE")) {
SQLField fieldRemiseAvoir = tableAvoir.getField("POURCENT_REMISE");
if (fieldRemiseAvoir.getType().getSize() > 500) {
1073,6 → 1103,7
{
SQLTable tableFacture = root.getTable("SAISIE_VENTE_FACTURE_ELEMENT");
final AlterTable alter = new AlterTable(tableFacture);
if (tableFacture.contains("POURCENT_ACOMPTE")) {
SQLField fieldAcompteFacture = tableFacture.getField("POURCENT_ACOMPTE");
if (fieldAcompteFacture.getType().getSize() > 500) {
final String fName = fieldAcompteFacture.getName();
1083,7 → 1114,9
build.setWhere(new Where(fieldAcompteFacture, "=", (Object) null));
builds.add(build);
}
}
 
if (tableFacture.contains("POURCENT_REMISE")) {
SQLField fieldRemiseFacture = tableFacture.getField("POURCENT_REMISE");
if (fieldRemiseFacture.getType().getSize() > 500) {
final String fName = fieldRemiseFacture.getName();
1094,7 → 1127,7
build.setWhere(new Where(fieldRemiseFacture, "=", (Object) null));
builds.add(build);
}
 
}
if (tableFacture.getFieldsName().contains("REPARTITION_POURCENT")) {
SQLField fieldRepFacture = tableFacture.getField("REPARTITION_POURCENT");
if (fieldRepFacture.getType().getSize() > 500) {
1469,6 → 1502,50
}
 
private void updateToV1Dot4(final DBRoot root) throws SQLException {
 
// ADresse de livraison et remise
{
SQLTable tableDevis = root.getTable("DEVIS");
addAdresseField(tableDevis, root);
addRemiseField(tableDevis, root);
 
SQLTable tableVF = root.getTable("SAISIE_VENTE_FACTURE");
addAdresseField(tableVF, root);
addRemiseField(tableVF, root);
 
SQLTable tableCmd = root.getTable("COMMANDE_CLIENT");
addAdresseField(tableCmd, root);
addRemiseField(tableCmd, root);
 
SQLTable tableBon = root.getTable("BON_DE_LIVRAISON");
addAdresseField(tableBon, root);
addRemiseField(tableBon, root);
 
SQLTable tableAvoir = root.getTable("AVOIR_CLIENT");
addAdresseField(tableAvoir, root);
addRemiseField(tableAvoir, root);
}
// Service client
if (root.getTable("CLIENT_DEPARTEMENT") == null) {
final SQLCreateTable createTableDpt = new SQLCreateTable(root, "CLIENT_DEPARTEMENT");
createTableDpt.addForeignColumn("CLIENT");
if (root.contains("ADRESSE")) {
createTableDpt.addForeignColumn("ADRESSE");
} else {
createTableDpt.addForeignColumn("ID_ADRESSE", root.findTable("ADRESSE"));
}
createTableDpt.addVarCharColumn("INFOS", 2048);
createTableDpt.addVarCharColumn("NOM", 256);
try {
root.getBase().getDataSource().execute(createTableDpt.asString());
insertUndef(createTableDpt);
root.refetchTable("CLIENT_DEPARTEMENT");
root.getSchema().updateVersion();
} catch (SQLException ex2) {
throw new IllegalStateException("Erreur lors de la création de la table " + "CLIENT_DEPARTEMENT", ex2);
}
}
 
SQLTable tableVFElt = root.getTable("SAISIE_VENTE_FACTURE_ELEMENT");
patchFieldElt1Dot4(tableVFElt, root);
 
1476,6 → 1553,7
patchFieldElt1Dot4(tableDevisElt, root);
 
SQLTable tableCmdElt = root.getTable("COMMANDE_CLIENT_ELEMENT");
 
patchFieldElt1Dot4(tableCmdElt, root);
 
SQLTable tableBonElt = root.getTable("BON_DE_LIVRAISON_ELEMENT");
1484,11 → 1562,108
SQLTable tableAvoirElt = root.getTable("AVOIR_CLIENT_ELEMENT");
patchFieldElt1Dot4(tableAvoirElt, root);
 
addNiveauElementField(root.getTable("COMMANDE_ELEMENT"));
addNiveauElementField(root.getTable("BON_RECEPTION_ELEMENT"));
addNiveauElementField(root.getTable("FACTURE_FOURNISSEUR_ELEMENT"));
 
addContact(root);
 
{
// Gestion des préparations de commandes
final SQLTable tableCommandeClient = root.getTable("COMMANDE_CLIENT");
AlterTable tCommandeClient = new AlterTable(tableCommandeClient);
boolean updateCmdCli = false;
 
if (!tableCommandeClient.contains("ETAT_COMMANDE")) {
updateCmdCli = true;
tCommandeClient.addIntegerColumn("ETAT_COMMANDE", EtatCommandeClient.A_PREPARER.getId());
}
if (!tableCommandeClient.contains("EMBALLAGE")) {
updateCmdCli = true;
tCommandeClient.addVarCharColumn("EMBALLAGE", 256);
}
if (!tableCommandeClient.contains("NUMERO_EXPEDITION")) {
updateCmdCli = true;
tCommandeClient.addVarCharColumn("NUMERO_EXPEDITION", 256);
}
 
if (!tableCommandeClient.contains("ID_TAXE_PORT")) {
updateCmdCli = true;
tCommandeClient.addForeignColumn("ID_TAXE_PORT", root.getTable("TAXE"));
}
 
if (!tableCommandeClient.contains("PORT_HT")) {
updateCmdCli = true;
tCommandeClient.addLongColumn("PORT_HT", Long.valueOf(0), false);
}
 
if (!tableCommandeClient.contains("REMISE_HT")) {
updateCmdCli = true;
tCommandeClient.addLongColumn("REMISE_HT", Long.valueOf(0), false);
}
 
if (updateCmdCli) {
tableCommandeClient.getBase().getDataSource().execute(tCommandeClient.asString());
tableCommandeClient.getSchema().updateVersion();
tableCommandeClient.fetchFields();
}
}
 
{
// Gestion des préparations de commandes
final SQLTable tableBonL = root.getTable("BON_DE_LIVRAISON");
AlterTable tBonL = new AlterTable(tableBonL);
boolean updateBonL = false;
 
if (!tableBonL.contains("TOTAL_DEVISE")) {
updateBonL = true;
tBonL.addLongColumn("TOTAL_DEVISE", Long.valueOf(0), false);
}
 
if (!tableBonL.contains("TOTAL_SERVICE")) {
updateBonL = true;
tBonL.addLongColumn("TOTAL_SERVICE", Long.valueOf(0), false);
}
 
if (!tableBonL.contains("ID_TAXE_PORT")) {
updateBonL = true;
tBonL.addForeignColumn("ID_TAXE_PORT", root.getTable("TAXE"));
}
 
if (!tableBonL.contains("PORT_HT")) {
updateBonL = true;
tBonL.addLongColumn("PORT_HT", Long.valueOf(0), false);
}
 
if (!tableBonL.contains("REMISE_HT")) {
updateBonL = true;
tBonL.addLongColumn("REMISE_HT", Long.valueOf(0), false);
}
 
if (updateBonL) {
tableBonL.getBase().getDataSource().execute(tBonL.asString());
tableBonL.getSchema().updateVersion();
tableBonL.fetchFields();
}
}
 
final List<String> asList = Arrays.asList("SAISIE_VENTE_FACTURE", "BON_RECEPTION", "BON_DE_LIVRAISON");
for (String tableVirtualStockName : asList) {
SQLTable tableVirtualStock = root.getTable(tableVirtualStockName);
if (!tableVirtualStock.contains("CREATE_VIRTUAL_STOCK")) {
AlterTable t = new AlterTable(tableVirtualStock);
t.addBooleanColumn("CREATE_VIRTUAL_STOCK", Boolean.TRUE, false);
tableVirtualStock.getBase().getDataSource().execute(t.asString());
tableVirtualStock.getSchema().updateVersion();
tableVirtualStock.fetchFields();
}
}
 
// Remise dans les devis
final SQLTable tableDevis = root.getTable("DEVIS");
AlterTable tDevis = new AlterTable(tableDevis);
boolean updateDevis = false;
 
if (!tableDevis.contains("POURCENT_REMISE")) {
updateDevis = true;
tDevis.addColumn("POURCENT_REMISE", "numeric (12,8)");
1501,6 → 1676,12
updateDevis = true;
tDevis.addColumn("T_HA", "bigint", "0", false);
}
 
if (!tableDevis.contains("DUNNING_DATE")) {
updateDevis = true;
tDevis.addColumn("DUNNING_DATE", "date");
}
 
if (updateDevis) {
tableDevis.getBase().getDataSource().execute(tDevis.asString());
tableDevis.getSchema().updateVersion();
1544,16 → 1725,80
}
}
final SQLTable tableClient = root.getTable("CLIENT");
if (tableClient != null && !tableClient.contains("BLOQUE_LIVRAISON")) {
if (tableClient != null) {
AlterTable t = new AlterTable(tableClient);
boolean upClient = false;
if (!tableClient.contains("BLOQUE_LIVRAISON")) {
t.addBooleanColumn("BLOQUE_LIVRAISON", false, false);
upClient = true;
}
if (!tableClient.contains("BLOQUE")) {
upClient = true;
t.addBooleanColumn("BLOQUE", false, false);
}
if (!tableClient.contains("ID_COMPTE_PCE_SERVICE")) {
upClient = true;
t.addForeignColumn("ID_COMPTE_PCE_SERVICE", tableClient.getTable("COMPTE_PCE"));
}
 
if (!tableClient.contains("ID_COMPTE_PCE_PRODUIT")) {
upClient = true;
t.addForeignColumn("ID_COMPTE_PCE_PRODUIT", tableClient.getTable("COMPTE_PCE"));
}
 
if (!tableClient.contains("ENCOURS_MAX")) {
upClient = true;
t.addDecimalColumn("ENCOURS_MAX", 16, 2, BigDecimal.valueOf(0), false);
}
if (!tableClient.contains("CATEGORIES")) {
upClient = true;
t.addVarCharColumn("CATEGORIES", 2048);
}
if (!tableClient.contains("NOTE_FINANCIERE")) {
upClient = true;
t.addVarCharColumn("NOTE_FINANCIERE", 1024);
}
if (!tableClient.contains("CENTRE_GESTION")) {
upClient = true;
t.addVarCharColumn("CENTRE_GESTION", 1024);
}
if (!tableClient.contains("METHODE_RELANCE")) {
upClient = true;
t.addVarCharColumn("METHODE_RELANCE", 1024);
}
if (!tableClient.contains("SITE_INTERNET")) {
upClient = true;
t.addVarCharColumn("SITE_INTERNET", 2048);
}
if (!tableClient.contains("GROUPE")) {
upClient = true;
t.addVarCharColumn("GROUPE", 1024);
}
if (!tableClient.contains("ID_COMMERCIAL")) {
upClient = true;
t.addForeignColumn("ID_COMMERCIAL", tableClient.getTable("COMMERCIAL"));
}
 
if (upClient) {
tableClient.getBase().getDataSource().execute(t.asString());
tableClient.getSchema().updateVersion();
tableClient.fetchFields();
}
}
if (!root.contains("CATEGORIE_CLIENT")) {
final SQLCreateTable createCategorieClientTable = new SQLCreateTable(root, "CATEGORIE_CLIENT");
createCategorieClientTable.addVarCharColumn("NOM", 1024);
 
try {
root.getDBSystemRoot().getDataSource().execute(createCategorieClientTable.asString());
insertUndef(createCategorieClientTable);
tableDevis.getSchema().updateVersion();
} catch (SQLException ex) {
throw new IllegalStateException("Erreur lors de la création de la table CATEGORIE_CLIENT", ex);
}
 
}
 
final SQLTable tableAssoc = root.getTable("ASSOCIATION_ANALYTIQUE");
if (tableAssoc != null && !tableAssoc.contains("GESTION_AUTO")) {
AlterTable t = new AlterTable(tableAssoc);
1590,8 → 1835,81
 
}
addArticleFournisseur(root);
 
// Remise sur tarif client
if (root.contains("ARTICLE_TARIF") && !root.getTable("ARTICLE_TARIF").contains("POURCENT_REMISE")) {
AlterTable t = new AlterTable(root.getTable("ARTICLE_TARIF"));
t.addDecimalColumn("POURCENT_REMISE", 16, 6, BigDecimal.valueOf(0), false);
root.getTable("ARTICLE_TARIF").getBase().getDataSource().execute(t.asString());
root.getTable("ARTICLE_TARIF").fetchFields();
root.getTable("ARTICLE").getSchema().updateVersion();
}
// SKU et Type d'expedition
final SQLTable articleTable = root.getTable("ARTICLE");
if (!articleTable.contains("SKU")) {
AlterTable a = new AlterTable(articleTable);
a.addVarCharColumn("SKU", 256);
try {
articleTable.getBase().getDataSource().execute(a.asString());
articleTable.getSchema().updateVersion();
articleTable.fetchFields();
} catch (SQLException ex2) {
throw new IllegalStateException("Erreur lors de l'ajout du champs SKU sur la table ARTICLE", ex2);
}
}
 
try {
final SQLTable cmdClientTable = root.getTable("COMMANDE_CLIENT");
if (!cmdClientTable.contains("TYPE_EXPEDITION")) {
final AlterTable a = new AlterTable(cmdClientTable);
a.addVarCharColumn("TYPE_EXPEDITION", 256);
cmdClientTable.getBase().getDataSource().execute(a.asString());
cmdClientTable.getSchema().updateVersion();
cmdClientTable.fetchFields();
}
} catch (SQLException ex2) {
throw new IllegalStateException("Erreur lors de l'ajout du champs TYPE_EXPEDITION sur la table COMMANDE_CLIENT", ex2);
}
try {
final SQLTable axeTable = root.getTable("AXE_ANALYTIQUE");
if (!axeTable.contains("TYPE")) {
final AlterTable a = new AlterTable(axeTable);
a.addVarCharColumn("TYPE", 256);
axeTable.getBase().getDataSource().execute(a.asString());
axeTable.getSchema().updateVersion();
axeTable.fetchFields();
}
} catch (SQLException ex2) {
throw new IllegalStateException("Erreur lors de l'ajout des champs sur la table AXE_ANALYTIQUE", ex2);
}
// Historique des taux
if (!root.contains("DEVISE_HISTORIQUE")) {
final SQLCreateTable createTable = new SQLCreateTable(root, "DEVISE_HISTORIQUE");
createTable.addDateAndTimeColumn("DATE");
createTable.addVarCharColumn("SRC", 8);
createTable.addVarCharColumn("DST", 8);
createTable.addDecimalColumn("TAUX", 12, 6, new BigDecimal(1), false);
createTable.addDecimalColumn("TAUX_COMMERCIAL", 12, 6, new BigDecimal(1), false);
try {
root.getDBSystemRoot().getDataSource().execute(createTable.asString());
insertUndef(createTable);
tableDevis.getSchema().updateVersion();
} catch (SQLException ex) {
throw new IllegalStateException("Erreur lors de la création de la table TASK", ex);
}
}
 
final SQLTable tableContact = root.getTable("CONTACT");
if (tableContact != null && !tableContact.contains("NO_MAILING")) {
AlterTable t = new AlterTable(tableContact);
t.addBooleanColumn("NO_MAILING", false, false);
tableContact.getBase().getDataSource().execute(t.asString());
tableContact.getSchema().updateVersion();
tableContact.fetchFields();
}
 
}
 
private void updateStyle(final DBRoot root) throws SQLException {
SQLTable style = root.getTable("STYLE");
SQLRowValues rowVals = new SQLRowValues(style);
1652,16 → 1970,16
}
 
SQLRowValues rowValsOrdre = new SQLRowValues(tableEtatDevis);
rowValsOrdre.put("ORDRE", new BigDecimal(1.505));
rowValsOrdre.put("ORDRE", new BigDecimal("1.505"));
rowValsOrdre.update(EtatDevisSQLElement.EN_ATTENTE);
 
rowValsOrdre.put("ORDRE", new BigDecimal(2.505));
rowValsOrdre.put("ORDRE", new BigDecimal("2.505"));
rowValsOrdre.update(EtatDevisSQLElement.ACCEPTE);
 
rowValsOrdre.put("ORDRE", new BigDecimal(3.505));
rowValsOrdre.put("ORDRE", new BigDecimal("3.505"));
rowValsOrdre.update(EtatDevisSQLElement.REFUSE);
 
rowValsOrdre.put("ORDRE", new BigDecimal(4.505));
rowValsOrdre.put("ORDRE", new BigDecimal("4.505"));
rowValsOrdre.update(EtatDevisSQLElement.EN_COURS);
 
// Ajout de la TVA à 0
2438,7 → 2756,7
 
}
 
private void patchFieldElt1Dot4(SQLTable table, DBRoot root) {
private void patchFieldElt1Dot4(SQLTable table, DBRoot root) throws SQLException {
 
if (!table.contains("MONTANT_REMISE")) {
AlterTable t = new AlterTable(table);
2454,6 → 2772,26
throw new IllegalStateException("Erreur lors de l'ajout des champs à la table " + table.getName(), ex);
}
}
 
if (!table.contains("ID_FAMILLE_ARTICLE")) {
AlterTable t = new AlterTable(table);
t.addForeignColumn("ID_FAMILLE_ARTICLE", root.getTable("FAMILLE_ARTICLE"));
 
try {
 
table.getBase().getDataSource().execute(t.asString());
table.getSchema().updateVersion();
table.fetchFields();
} catch (SQLException ex) {
throw new IllegalStateException("Erreur lors de l'ajout du champs ID_FAMILLE_ARTICLE à la table " + table.getName(), ex);
}
}
 
addNiveauElementField(table);
}
 
private void addNiveauElementField(SQLTable table) throws SQLException {
 
if (!table.contains("NIVEAU")) {
AlterTable t = new AlterTable(table);
t.addIntegerColumn("NIVEAU", 1);
2501,6 → 2839,10
t.addColumn("PA_DEVISE_T", "bigint default 0");
alter = true;
}
if (!table.getFieldsName().contains("DESCRIPTIF")) {
t.addVarCharColumn("DESCRIPTIF", 2048);
alter = true;
}
 
// if (!table.getFieldsName().contains("POURCENT_REMISE")) {
// t.addColumn("POURCENT_REMISE", "numeric(16,2) DEFAULT 0");
2519,6 → 2861,54
patchFieldElt1Dot3(table, root);
}
 
private void addRemiseField(SQLTable table, DBRoot root) throws SQLException {
 
AlterTable t = new AlterTable(table);
boolean alter = false;
if (!table.contains("POURCENT_REMISE")) {
t.addColumn("POURCENT_REMISE", "numeric (12,8)");
alter = true;
}
if (!table.contains("MONTANT_REMISE")) {
t.addColumn("MONTANT_REMISE", "numeric (16,8)");
alter = true;
}
if (alter) {
try {
 
table.getBase().getDataSource().execute(t.asString());
table.getSchema().updateVersion();
table.fetchFields();
} catch (SQLException ex) {
throw new IllegalStateException("Erreur lors de l'ajout des champs remise à la table " + table.getName(), ex);
}
}
}
 
private void addAdresseField(SQLTable table, DBRoot root) throws SQLException {
boolean alter = false;
AlterTable t = new AlterTable(table);
if (!table.getFieldsName().contains("ID_ADRESSE")) {
t.addForeignColumn("ID_ADRESSE", root.findTable("ADRESSE"));
alter = true;
}
 
if (!table.getFieldsName().contains("ID_ADRESSE_LIVRAISON")) {
t.addForeignColumn("ID_ADRESSE_LIVRAISON", root.findTable("ADRESSE"));
alter = true;
}
 
if (alter) {
try {
table.getBase().getDataSource().execute(t.asString());
table.getSchema().updateVersion();
table.fetchFields();
} catch (SQLException ex) {
throw new IllegalStateException("Erreur lors de l'ajout des champs à la table " + table.getName(), ex);
}
}
}
 
private void addModeleField(SQLTable table, DBRoot root) throws SQLException {
boolean alter = false;
AlterTable t = new AlterTable(table);
2826,18 → 3216,45
rowVals.put("DESCRIPTION", desc);
rowVals.commit();
}
// FIXME Probleme avec la property canSaveInList voir canSave() in IListPanel
// if (!codes.contains("SAVE_ROW")) {
// SQLRowValues rowVals = new SQLRowValues(table);
// rowVals.put("CODE", "SAVE_ROW");
// rowVals.put("NOM", "Export des listes");
// String desc =
// "Autorise un utilisateur à exporter le contenu des listes via le bouton représentant une disquette.";
// rowVals.put("DESCRIPTION", desc);
// rowVals.commit();
// }
if (!codes.contains("SAVE_ROW")) {
SQLRowValues rowVals = new SQLRowValues(table);
rowVals.put("CODE", "SAVE_ROW");
rowVals.put("NOM", "Export des listes");
String desc = "Autorise un utilisateur à exporter le contenu des listes via le bouton représentant une disquette.";
rowVals.put("DESCRIPTION", desc);
SQLRow row = rowVals.commit();
SQLRowValues rowValsUserRight = new SQLRowValues(table.getTable("USER_RIGHT"));
rowValsUserRight.put("ID_RIGHT", row.getID());
rowValsUserRight.put("HAVE_RIGHT", Boolean.TRUE);
rowValsUserRight.commit();
}
 
if (!codes.contains("MENU_ACCESS")) {
SQLRowValues rowVals = new SQLRowValues(table);
rowVals.put("CODE", "MENU_ACCESS");
rowVals.put("NOM", "Autoriser l'accés à un menu");
String desc = "Autorise un utilisateur à visualiser le menu spécifié en objet.";
rowVals.put("DESCRIPTION", desc);
SQLRow row = rowVals.commit();
SQLRowValues rowValsUserRight = new SQLRowValues(table.getTable("USER_RIGHT"));
rowValsUserRight.put("ID_RIGHT", row.getID());
rowValsUserRight.put("HAVE_RIGHT", Boolean.TRUE);
rowValsUserRight.commit();
}
if (!codes.contains("GROUP_ITEM_SHOW")) {
SQLRowValues rowVals = new SQLRowValues(table);
rowVals.put("CODE", "GROUP_ITEM_SHOW");
rowVals.put("NOM", "Autoriser à visualiser un champ");
String desc = "Autorise un utilisateur à visualiser le champ spécifié en objet dans une interface.";
rowVals.put("DESCRIPTION", desc);
SQLRow row = rowVals.commit();
SQLRowValues rowValsUserRight = new SQLRowValues(table.getTable("USER_RIGHT"));
rowValsUserRight.put("ID_RIGHT", row.getID());
rowValsUserRight.put("HAVE_RIGHT", Boolean.TRUE);
rowValsUserRight.commit();
}
}
 
private void findBadForeignKey(DBRoot root) {
Set<SQLTable> tables = root.getTables();
for (SQLTable table : tables) {
2849,7 → 3266,6
private void findBadForeignKey(DBRoot root, SQLTable table) {
System.out.println("====================================== " + table.getName());
Set<SQLField> ffields = table.getForeignKeys();
Set<SQLField> allFields = table.getFields();
 
Set<String> keysString = SQLKey.foreignKeys(table);
for (String string : keysString) {
/trunk/OpenConcerto/src/org/openconcerto/erp/config/mapping_en.xml
33,6 → 33,8
<FIELD name="LIBELLE" label="Label" />
<FIELD name="LIBELLE_CENT" label="Label for cents" />
<FIELD name="TAUX" label="Rate" />
<FIELD name="TAUX_COMMERCIAL" label="Rate for sales" />
<FIELD name="SYMBOLE" label="Symbol" />
</TABLE>
 
<TABLE name="EXERCICE_COMMON">
/trunk/OpenConcerto/src/org/openconcerto/erp/config/mapping-KD_fr.xml
4,10 → 4,8
<TABLE name="AFFAIRE_ELEMENT">
<FIELD name="ACTIVITE" label="Domaine" titlelabel="Domaine" />
<FIELD name="SOUS_ACTIVITE" label="Sous domaine" titlelabel="Sous domaine" />
<FIELD name="POURCENT_REALISE" label="% déjà réalisé"
titlelabel="% déjà réalisé" />
<FIELD name="TOTAL_HT_REALISE" label="Total déjà facturé"
titlelabel="Total déjà facturé" />
<FIELD name="POURCENT_REALISE" label="% déjà réalisé" titlelabel="% déjà réalisé" />
<FIELD name="TOTAL_HT_REALISE" label="Total déjà facturé" titlelabel="Total déjà facturé" />
<FIELD name="ID_CODE_MISSION" label="Code Mission" />
<FIELD name="ID_DEPARTEMENT" label="Département" />
<FIELD name="ID_TARIF_MISSION" label="Code Client" />
30,10 → 28,12
</TABLE>
 
<TABLE name="DEVIS">
<FIELD name="ID_VERIFICATEUR" label="Vérificateur" />
<FIELD name="NUMERO" label="Numéro" />
<FIELD name="OBJET" label="Référence cmd client" />
<FIELD name="DATE_PREV" label="Intervention prévue le" />
<FIELD name="INDICE_0" label="Indice Syntec de base" />
<FIELD name="SEND_POST_MAIL" label="Envoyer une copie du rapport par courrier" />
</TABLE>
 
<TABLE name="DEVIS_ELEMENT">
74,8 → 74,7
<FIELD name="ID_TARIF_MISSION" label="Code Tarif" />
<FIELD name="ACTIVITE" label="Domaine" titlelabel="Domaine" />
<FIELD name="SOUS_ACTIVITE" label="Sous Domaine" titlelabel="Sous Domaine" />
<FIELD name="REPARTITION_POURCENT" label="Répartition %"
titlelabel="Répartition %" />
<FIELD name="REPARTITION_POURCENT" label="Répartition %" titlelabel="Répartition %" />
</TABLE>
<TABLE name="AVOIR_CLIENT_ELEMENT">
85,13 → 84,11
<FIELD name="ID_TARIF_MISSION" label="Code Tarif" />
<FIELD name="ACTIVITE" label="Domaine" titlelabel="Domaine" />
<FIELD name="SOUS_ACTIVITE" label="Sous Domaine" titlelabel="Sous Domaine" />
<FIELD name="REPARTITION_POURCENT" label="Répartition %"
titlelabel="Répartition %" />
<FIELD name="REPARTITION_POURCENT" label="Répartition %" titlelabel="Répartition %" />
</TABLE>
 
<TABLE name="SAISIE_VENTE_FACTURE">
<FIELD name="TYPE_INTERVENTION" label="Numéro Intervention"
titlelabel="Numéro Intervention" />
<FIELD name="TYPE_INTERVENTION" label="Numéro Intervention" titlelabel="Numéro Intervention" />
</TABLE>
 
<TABLE name="TARIF_MISSION_LIBELLE">
/trunk/OpenConcerto/src/org/openconcerto/erp/config/MainFrame.java
16,7 → 16,9
import org.openconcerto.erp.action.AboutAction;
import org.openconcerto.erp.action.PreferencesAction;
import org.openconcerto.erp.core.common.ui.StatusPanel;
import org.openconcerto.erp.rights.MenuComboRightEditor;
import org.openconcerto.sql.Configuration;
import org.openconcerto.sql.users.rights.UserRightsManager;
import org.openconcerto.task.TodoListPanel;
import org.openconcerto.task.config.ComptaBasePropsConfiguration;
import org.openconcerto.ui.AutoHideTabbedPane;
221,7 → 223,7
final Group g = mm.getGroup();
for (int i = 0; i < g.getSize(); i++) {
final Item item = g.getItem(i);
if (item.getLocalHint().isVisible())
if (item.getLocalHint().isVisible() && UserRightsManager.getCurrentUserRights().haveRight(MenuComboRightEditor.ID_RIGHT, item.getId()))
result.add(createJMenuFrom(item, mm));
}
return result;
247,7 → 249,7
 
if (item instanceof Group) {
createMenuItemsRec(mm, m, Collections.<String> emptyList(), (Group) item);
} else {
} else if (UserRightsManager.getCurrentUserRights().haveRight(MenuComboRightEditor.ID_RIGHT, item.getId())) {
m.add(createJMenuItemForId(id, mm));
}
return m;
257,7 → 259,7
assert g.getLocalHint().isVisible();
for (int i = 0; i < g.getSize(); i++) {
final Item child = g.getItem(i);
if (!child.getLocalHint().isVisible())
if (!child.getLocalHint().isVisible() || !UserRightsManager.getCurrentUserRights().haveRight(MenuComboRightEditor.ID_RIGHT, child.getId()))
continue;
 
if (child instanceof Group) {
/trunk/OpenConcerto/src/org/openconcerto/erp/config/ComptaPropsConfiguration.java
25,20 → 25,23
import org.openconcerto.erp.core.common.element.PaysSQLElement;
import org.openconcerto.erp.core.common.element.StyleSQLElement;
import org.openconcerto.erp.core.common.element.TitrePersonnelSQLElement;
import org.openconcerto.erp.core.customerrelationship.customer.element.ClientNormalSQLElement;
import org.openconcerto.erp.core.customerrelationship.customer.element.ClientDepartementSQLElement;
import org.openconcerto.erp.core.customerrelationship.customer.element.ContactSQLElement;
import org.openconcerto.erp.core.customerrelationship.customer.element.ContactSQLElement.ContactAdministratifSQLElement;
import org.openconcerto.erp.core.customerrelationship.customer.element.ContactSQLElement.ContactFournisseurSQLElement;
import org.openconcerto.erp.core.customerrelationship.customer.element.CourrierClientSQLElement;
import org.openconcerto.erp.core.customerrelationship.customer.element.CustomerCategorySQLElement;
import org.openconcerto.erp.core.customerrelationship.customer.element.CustomerSQLElement;
import org.openconcerto.erp.core.customerrelationship.customer.element.ModeleCourrierClientSQLElement;
import org.openconcerto.erp.core.customerrelationship.customer.element.ReferenceClientSQLElement;
import org.openconcerto.erp.core.customerrelationship.customer.element.RelanceSQLElement;
import org.openconcerto.erp.core.customerrelationship.customer.element.TypeLettreRelanceSQLElement;
import org.openconcerto.erp.core.finance.accounting.element.AnalytiqueSQLElement;
import org.openconcerto.erp.core.finance.accounting.element.AssociationAnalytiqueSQLElement;
import org.openconcerto.erp.core.finance.accounting.element.AssociationCompteAnalytiqueSQLElement;
import org.openconcerto.erp.core.finance.accounting.element.AxeAnalytiqueSQLElement;
import org.openconcerto.erp.core.finance.accounting.element.ComptePCESQLElement;
import org.openconcerto.erp.core.finance.accounting.element.ComptePCGSQLElement;
import org.openconcerto.erp.core.finance.accounting.element.DeviseHistoriqueSQLElement;
import org.openconcerto.erp.core.finance.accounting.element.EcritureSQLElement;
import org.openconcerto.erp.core.finance.accounting.element.ExerciceCommonSQLElement;
import org.openconcerto.erp.core.finance.accounting.element.JournalSQLElement;
155,6 → 158,7
import org.openconcerto.erp.generationDoc.provider.AdresseVilleCPClientValueProvider;
import org.openconcerto.erp.generationDoc.provider.AdresseVilleClientValueProvider;
import org.openconcerto.erp.generationDoc.provider.AdresseVilleNomClientValueProvider;
import org.openconcerto.erp.generationDoc.provider.DateBLProvider;
import org.openconcerto.erp.generationDoc.provider.FacturableValueProvider;
import org.openconcerto.erp.generationDoc.provider.FormatedGlobalQtyTotalProvider;
import org.openconcerto.erp.generationDoc.provider.LabelAccountInvoiceProvider;
435,7 → 439,11
if (this.isMain) {
// ATTN this works because this is executed last (i.e. if you put this in a superclass
// this won't work since e.g. app.name won't have its correct value)
try {
this.setupLogging("logs");
} catch (Exception e) {
System.err.println("ComptaPropsConfiguration() error in log setup : " + e.getMessage());
}
registerAccountingProvider();
registerCellValueProvider();
}
458,6 → 466,7
FacturableValueProvider.register();
TotalCommandeClientProvider.register();
LabelAccountInvoiceProvider.register();
DateBLProvider.register();
AdresseRueClientValueProvider.register();
AdresseVilleClientValueProvider.register();
AdresseVilleCPClientValueProvider.register();
666,9 → 675,11
 
private void setSocieteDirectory() {
SQLElementDirectory dir = this.getDirectory();
 
dir.addSQLElement(ArticleTarifSQLElement.class);
dir.addSQLElement(ArticleDesignationSQLElement.class);
dir.addSQLElement(BanqueSQLElement.class);
dir.addSQLElement(ClientDepartementSQLElement.class);
dir.addSQLElement(ContactFournisseurSQLElement.class);
dir.addSQLElement(ContactAdministratifSQLElement.class);
dir.addSQLElement(new TitrePersonnelSQLElement());
713,7 → 724,7
dir.addSQLElement(AvoirFournisseurSQLElement.class);
dir.addSQLElement(new AcompteSQLElement());
 
dir.addSQLElement(new AnalytiqueSQLElement());
dir.addSQLElement(new AxeAnalytiqueSQLElement());
 
dir.addSQLElement(new BonDeLivraisonItemSQLElement());
dir.addSQLElement(new BonDeLivraisonSQLElement());
725,7 → 736,8
dir.addSQLElement(new ChequeAEncaisserSQLElement());
dir.addSQLElement(new ChequeAvoirClientSQLElement());
dir.addSQLElement(new ChequeFournisseurSQLElement());
dir.addSQLElement(new ClientNormalSQLElement());
dir.addSQLElement(new CustomerCategorySQLElement());
dir.addSQLElement(new CustomerSQLElement());
dir.addSQLElement(new CourrierClientSQLElement());
 
dir.addSQLElement(new ClassementConventionnelSQLElement());
842,7 → 854,7
 
dir.addSQLElement(CalendarItemSQLElement.class);
dir.addSQLElement(CalendarItemGroupSQLElement.class);
 
dir.addSQLElement(DeviseHistoriqueSQLElement.class);
// check that all codes are unique
Collection<SQLElement> elements = dir.getElements();
String s = "";
894,7 → 906,6
final ShowAs showAs = this.getShowAs();
showAs.setRoot(getRootSociete());
 
showAs.show("ACTIVITE", "CODE_ACTIVITE");
showAs.show("ADRESSE", SQLRow.toList("RUE,CODE_POSTAL,VILLE"));
final DBRoot root = this.getRootSociete();
 
913,7 → 924,7
if (getRootSociete().getTable("CLIENT").getFieldsName().contains("LOCALISATION")) {
showAs.show("CLIENT", "NOM", "LOCALISATION");
} else {
showAs.show("CLIENT", "NOM");
showAs.show("CLIENT", "ID_PAYS", "GROUPE", "NOM");
}
 
showAs.show(BanqueSQLElement.TABLENAME, "NOM");
937,6 → 948,8
listFieldDevisElt.add("NUMERO");
listFieldDevisElt.add("DATE");
listFieldDevisElt.add("ID_CLIENT");
 
listFieldDevisElt.add("ID_ETAT_DEVIS");
showAs.showField("DEVIS_ELEMENT.ID_DEVIS", listFieldDevisElt);
 
showAs.show("DEPARTEMENT", "NUMERO", "NOM");
964,7 → 977,7
showAs.show("MODELE_COURRIER_CLIENT", "NOM", "CONTENU");
 
showAs.show("NATURE_COMPTE", "NOM");
showAs.show("POSTE_ANALYTIQUE", "NOM");
showAs.show("POSTE_ANALYTIQUE", "NOM", "ID_AXE_ANALYTIQUE");
showAs.show("PAYS", "CODE", "NOM");
showAs.show("PIECE", "ID", "NOM");
 
1012,6 → 1025,7
return customerName;
}
 
@Override
public void setUpSocieteDataBaseConnexion(int base) {
final String customerName = setUpSocieteStructure(base);
final DBRoot rootSociete = this.getRootSociete();
/trunk/OpenConcerto/src/org/openconcerto/erp/config/DefaultMenuConfiguration.java
25,6 → 25,7
import org.openconcerto.erp.action.list.ListeDesUsersCommonAction;
import org.openconcerto.erp.core.customerrelationship.customer.action.ListeDesClientsAction;
import org.openconcerto.erp.core.customerrelationship.customer.action.ListeDesContactsAction;
import org.openconcerto.erp.core.customerrelationship.customer.action.ListeDesDepartementsClientsAction;
import org.openconcerto.erp.core.customerrelationship.customer.action.NouvelHistoriqueListeClientAction;
import org.openconcerto.erp.core.customerrelationship.mail.action.ListeDesCourriersClientsAction;
import org.openconcerto.erp.core.finance.accounting.action.BalanceAgeeAction;
36,12 → 37,15
import org.openconcerto.erp.core.finance.accounting.action.ExportRelationExpertAction;
import org.openconcerto.erp.core.finance.accounting.action.GenerePointageAction;
import org.openconcerto.erp.core.finance.accounting.action.GestionPlanComptableEAction;
import org.openconcerto.erp.core.finance.accounting.action.ImportEcritureAction;
import org.openconcerto.erp.core.finance.accounting.action.ImpressionJournauxAnalytiqueAction;
import org.openconcerto.erp.core.finance.accounting.action.ImpressionLivrePayeAction;
import org.openconcerto.erp.core.finance.accounting.action.ImpressionRepartitionAnalytiqueAction;
import org.openconcerto.erp.core.finance.accounting.action.ListeDesDevisesAction;
import org.openconcerto.erp.core.finance.accounting.action.ListeDesEcrituresAction;
import org.openconcerto.erp.core.finance.accounting.action.ListeDesEcrituresAnalytiquesAction;
import org.openconcerto.erp.core.finance.accounting.action.ListeDesJournauxAction;
import org.openconcerto.erp.core.finance.accounting.action.ListeDesTauxDeChangeAction;
import org.openconcerto.erp.core.finance.accounting.action.ListeEcritureParClasseAction;
import org.openconcerto.erp.core.finance.accounting.action.NouveauClotureAction;
import org.openconcerto.erp.core.finance.accounting.action.NouveauLettrageAction;
96,6 → 100,7
import org.openconcerto.erp.core.sales.product.action.FamilleArticleAction;
import org.openconcerto.erp.core.sales.product.action.ListeDesArticlesAction;
import org.openconcerto.erp.core.sales.quote.action.ListeDesDevisAction;
import org.openconcerto.erp.core.sales.quote.action.ListeDesElementsDevisAction;
import org.openconcerto.erp.core.sales.quote.action.ListeDesElementsPropositionsAction;
import org.openconcerto.erp.core.sales.quote.action.NouveauDevisAction;
import org.openconcerto.erp.core.sales.quote.action.NouvellePropositionAction;
120,11 → 125,13
import org.openconcerto.erp.core.supplychain.supplier.action.NouvelHistoriqueListeFournAction;
import org.openconcerto.erp.modules.ModuleFrame;
import org.openconcerto.erp.preferences.DefaultNXProps;
import org.openconcerto.erp.preferences.GestionClientPreferencePanel;
import org.openconcerto.erp.rights.ComptaUserRight;
import org.openconcerto.erp.rights.NXRights;
import org.openconcerto.erp.utils.correct.CorrectMouvement;
import org.openconcerto.sql.model.DBRoot;
import org.openconcerto.sql.model.SQLSelect;
import org.openconcerto.sql.preferences.SQLPreferences;
import org.openconcerto.sql.users.UserManager;
import org.openconcerto.sql.users.rights.LockAdminUserRight;
import org.openconcerto.sql.users.rights.UserRights;
203,7 → 210,6
Group group = new Group(MainFrame.FILE_MENU);
if (UserRightsManager.getCurrentUserRights().haveRight(BackupPanel.RIGHT_CODE))
group.addItem("backup");
group.addItem("export.accounting");
group.addItem("modules");
if (!Gestion.MAC_OS_X) {
group.addItem("preferences");
270,6 → 276,7
gAccounting.addItem("accounting.journal");
gAccounting.addItem("accounting.checkDB");
gAccounting.addItem("accounting.currency");
gAccounting.addItem("accounting.currency.rates");
group.add(gAccounting);
}
 
380,10 → 387,17
Group analytic = new Group("accounting.analytical");
analytic.addItem("accounting.analytical.ledger");
analytic.addItem("accounting.analytical.entries.ledger");
analytic.addItem("accounting.analytical.ledger.global");
group.add(analytic);
group.addItem("accounting.general.ledger");
group.addItem("accounting.entries.ledger");
group.addItem("accounting.entries.list");
 
final Group gIO = new Group("menu.accounting.io", LayoutHints.DEFAULT_NOLABEL_SEPARATED_GROUP_HINTS);
gIO.addItem("accounting.import");
gIO.addItem("accounting.export");
group.add(gIO);
 
final Group gClosing = new Group("menu.accounting.closing", LayoutHints.DEFAULT_NOLABEL_SEPARATED_GROUP_HINTS);
gClosing.addItem("accounting.validating");
gClosing.addItem("accounting.closing");
400,6 → 414,12
 
Group gCustomer = new Group("menu.list.customer", LayoutHints.DEFAULT_NOLABEL_SEPARATED_GROUP_HINTS);
gCustomer.addItem("customer.list");
 
SQLPreferences prefs = SQLPreferences.getMemCached(configuration.getRootSociete());
if (prefs.getBoolean(GestionClientPreferencePanel.DISPLAY_CLIENT_DPT, false)) {
gCustomer.addItem("customer.department.list");
}
 
gCustomer.addItem("contact.list");
 
if (rights.haveRight(NXRights.ACCES_HISTORIQUE.getCode())) {
449,6 → 469,10
 
private Group createTestMenuGroup() {
final Group group = new Group("menu.test");
group.addItem("test.lettrage.fact");
group.addItem("test.lettrage.compt");
group.addItem("test.lettrage.achat");
 
return group;
}
 
457,7 → 481,6
* */
private void registerFilesMenuActions(final MenuAndActions mManager) {
mManager.registerAction("backup", new SauvegardeBaseAction());
mManager.registerAction("export.accounting", new ExportRelationExpertAction());
mManager.registerAction("modules", new AbstractAction() {
@Override
public void actionPerformed(ActionEvent e) {
514,6 → 537,10
final UserRights rights = UserManager.getInstance().getCurrentUser().getRights();
 
mManager.registerAction("customer.list", new ListeDesClientsAction());
SQLPreferences prefs = SQLPreferences.getMemCached(configuration.getRootSociete());
if (prefs.getBoolean(GestionClientPreferencePanel.DISPLAY_CLIENT_DPT, false)) {
mManager.registerAction("customer.department.list", new ListeDesDepartementsClientsAction());
}
mManager.registerAction("contact.list", new ListeDesContactsAction());
 
if (rights.haveRight(NXRights.ACCES_HISTORIQUE.getCode())) {
564,9 → 591,12
mManager.registerAction("accounting.general.ledger", new EtatGrandLivreAction());
mManager.registerAction("accounting.entries.ledger", new ListeDesEcrituresAction());
mManager.registerAction("accounting.analytical.entries.ledger", new ListeDesEcrituresAnalytiquesAction());
mManager.registerAction("accounting.analytical.ledger.global", new ImpressionRepartitionAnalytiqueAction());
mManager.registerAction("accounting.entries.list", new ListeEcritureParClasseAction());
mManager.registerAction("accounting.validating", new NouvelleValidationAction());
mManager.registerAction("accounting.closing", new NouveauClotureAction());
mManager.registerAction("accounting.import", new ImportEcritureAction());
mManager.registerAction("accounting.export", new ExportRelationExpertAction());
}
 
public void registerStatsDocumentsActions(final MenuAndActions mManager) {
642,6 → 672,7
mManager.putAction(new GestionPlanComptableEAction(), "accounting.chart");
mManager.putAction(new ListeDesJournauxAction(), "accounting.journal");
mManager.putAction(new ListeDesDevisesAction(), "accounting.currency");
mManager.putAction(new ListeDesTauxDeChangeAction(), "accounting.currency.rates");
mManager.putAction(new AbstractAction("Check DB") {
@Override
public void actionPerformed(ActionEvent e) {
677,5 → 708,6
}
 
private void registerHelpTestActions(final MenuAndActions mManager) {
 
}
}
/trunk/OpenConcerto/src/org/openconcerto/erp/config/SQLElementNames_fr.xml
2,4 → 2,5
<element refid="CONTACT" nameClass="masculine" name="contact" />
<element refid="CONTACT_FOURNISSEUR" nameClass="masculine" name="contact fournisseur" namePlural="contacts fournisseurs" />
<element refid="CONTACT_ADMINISTRATIF" nameClass="masculine" name="contact administratif" namePlural="contacts administratifs" />
<element refid="CATEGORIE_CLIENT" nameClass="feminine" name="Catégorie de client" />
</translations>
/trunk/OpenConcerto/src/org/openconcerto/erp/config/translation_fr.xml
2,7 → 2,6
<!-- File -->
<menu id="menu.file" label="Fichier" />
<menu id="backup" label="Sauvegarde" />
<menu id="export.accounting" label="Export des écritures" />
<menu id="modules" label="Modules" />
<menu id="preferences" label="Préférences" />
<menu id="quit" label="Quitter" />
73,7 → 72,7
<menu id="pos.sales.report" label="Liste des ventes en caisse" />
<menu id="sales.report" label="" />
<!-- Accounting -->
<menu id="menu.accounting" label="Etats" />
<menu id="menu.accounting" label="Comptabilité" />
<menu id="accounting.balance" label="Balance" />
<menu id="accounting.client.balance" label="Balance âgée" />
<menu id="accounting.analytical.result" label="Compte de résultat analytique" />
82,6 → 81,8
<menu id="accounting.entries.ledger" label="Liste des écritures" />
<menu id="accounting.entries.list" label="Liste des écritures par classe" />
<menu id="menu.accounting.closing" label="Clôture" />
<menu id="accounting.export" label="Export des écritures" />
<menu id="accounting.import" label="Import des écritures" />
<menu id="accounting.validating" label="Validation des écritures" />
<menu id="accounting.closing" label="Assistant de clôture" />
<!-- Documents -->
214,5 → 215,34
<action id="sales.order.create.deliverynote" label="Transfert vers bon de livraison" />
<action id="sales.order.create.invoice" label="Transfert vers facture" />
<action id="sales.order.create.supplier.order" label="Transfert vers commande fournisseur" />
<item id="sales.order.state.waiting" label="A préparer" />
<item id="sales.order.state.running" label="En préparation" />
<item id="sales.order.state.noStock" label="Rupture de stock" />
<item id="sales.order.state.toDeliver" label="A livrer" />
<item id="sales.order.state.delivered" label="Livrée" />
<item id="sales.order.state.block" label="Bloquée" />
<item id="sales.order.state.cancelled" label="Annulée" />
 
<!-- Customer -->
<item id="customerrelationship.customer.address" label="Adresses" />
<item id="customerrelationship.customer.contact" label="Contacts" />
<item id="customerrelationship.customer.sales" label="Ventes" />
<item id="customerrelationship.customer.payment" label="Paiements" />
<item id="customerrelationship.customer.contacts" label="Personnes à contacter chez le client" />
<item id="customerrelationship.customer.addresses" label="Adresses du client" />
<item id="customerrelationship.customer.info" label="Informations complémentaires" />
 
 
<!-- Currency -->
<item id="currency.USD" label="Dollar américain" />
<item id="currency.EUR" label="Euro" />
<item id="currency.PLN" label="Złoty" />
 
<!-- User right -->
<item id="user.right.parameters.editor" label="Paramètres" />
 
<item id="product.bom.expand" label="Eclater la nomenclature" />
<item id="product.bom.expose" label="Exposer la nomenclature" />
 
 
</translation>
/trunk/OpenConcerto/src/org/openconcerto/erp/config/mappingCompta_fr.xml
7,6 → 7,8
</TABLE>
 
<TABLE name="ADRESSE">
<FIELD name="TYPE" label="Type" titlelabel="Type" />
<FIELD name="LIBELLE" label="Libellé" titlelabel="Libellé" />
<FIELD name="RAISON_SOCIALE" label="Raison sociale" titlelabel="Raison sociale" />
<FIELD name="RUE" label="Rue" titlelabel="Rue" />
<FIELD name="PROVINCE" label="Province / état" titlelabel="Province" />
127,6 → 129,7
<FIELD name="ID_ECOTAXE" label="Ecotaxe" titlelabel="Ecotaxe" />
<FIELD name="ID_COMPTE_PCE" label="Compte spécifique de vente" titlelabel="Compte spécifique de vente" />
<FIELD name="ID_COMPTE_PCE_ACHAT" label="Compte spécifique d'achat" titlelabel="Compte spécifique d'achat" />
<FIELD name="SKU" label="SKU" />
</TABLE>
 
<TABLE name="ARTICLE_TARIF">
168,6 → 171,9
</TABLE>
 
<TABLE name="AVOIR_CLIENT">
<FIELD name="ID_ADRESSE" label="Adresse fact. spéc." titlelabel="Adresse fact. spéc." />
<FIELD name="ID_ADRESSE_LIVRAISON" label="Adresse livr. spéc." titlelabel="Adresse livr. spéc." />
<FIELD name="ID_CLIENT_DEPARTEMENT" label="Service" />
<FIELD name="ID_SECRETAIRE" label="Secrétaire" titlelabel="Secrétaire" />
<FIELD name="ID_ECHEANCIER_CCI" label="Echeancier CCI" titlelabel="Echeancier CCI" />
<FIELD name="REF_CLIENT" label="Références client" titlelabel="Références client" />
203,6 → 209,7
</TABLE>
 
<TABLE name="AVOIR_CLIENT_ELEMENT">
<FIELD name="ID_FAMILLE_ARTICLE" label="Famille d'article" />
<FIELD name="NB_COLIS" label="Nb Colis" titlelabel="Nb Colis" />
<FIELD name="POIDS_COLIS_NET" label="Pds Colis" titlelabel="Pds Colis" />
<FIELD name="T_POIDS_COLIS_NET" label="Pds Colis Total" titlelabel="Pds Colis Total" />
288,7 → 295,7
</TABLE>
 
<TABLE name="AXE_ANALYTIQUE">
<FIELD name="NOM" label="Libellé" titlelabel="Libellé" />
<FIELD name="NOM" label="Axe" titlelabel="Axe" />
</TABLE>
 
<TABLE name="BANQUE_POLE_PRODUIT">
384,6 → 391,11
</TABLE>
 
<TABLE name="BON_DE_LIVRAISON">
<FIELD name="ID_ADRESSE" label="Adresse fact. spéc." titlelabel="Adresse fact. spéc." />
<FIELD name="ID_ADRESSE_LIVRAISON" label="Adresse livr. spéc." titlelabel="Adresse livr. spéc." />
<FIELD name="ID_CLIENT_DEPARTEMENT" label="Service" />
<FIELD name="ID_CONTACT" label="Contact" titlelabel="Contact" />
<FIELD name="ID_TARIF" label="Tarif à appliquer" />
<FIELD name="DATE" label="Date" titlelabel="Date" />
<FIELD name="DATE_LIVRAISON" label="Date livraison" titlelabel="Date livraison" />
<FIELD name="ID_SAISIE_VENTE_FACTURE" label="Facture" titlelabel="Facture" />
397,9 → 409,12
<FIELD name="NOM" label="Référence" titlelabel="Référence" />
<FIELD name="T_ECOTAXE" label="Dont ecotaxe" titlelabel="Dont ecotaxe" />
<FIELD name="T_DEVISE" label="Total Devise" titlelabel="Total Devise" />
<FIELD name="PORT_HT" label="Frais de port HT" />
<FIELD name="REMISE_HT" label="Remise HT" />
<FIELD name="ID_TAXE_PORT" label="TVA sur Port" />
</TABLE>
<TABLE name="BON_DE_LIVRAISON_ELEMENT">
 
<FIELD name="ID_FAMILLE_ARTICLE" label="Famille d'article" />
<FIELD name="NB_COLIS" label="Nb Colis" titlelabel="Nb Colis" />
<FIELD name="POIDS_COLIS_NET" label="Pds Colis" titlelabel="Pds Colis" />
<FIELD name="T_POIDS_COLIS_NET" label="Pds Colis Total" titlelabel="Pds Colis Total" />
512,6 → 527,7
</TABLE>
 
<TABLE name="CLIENT">
<FIELD name="ID_COMPTE_PCE_SERVICE" label="Compte de service spécifique" titlelabel="Compte de service spécifique" />
<FIELD name="ID_TARIF_MISSION_LIBELLE" label="Tarif" titlelabel="Tarif" />
<FIELD name="ID_TYPE_CLIENT" label="Type de client" />
<FIELD name="ID_GROUPE_CLIENT" label="Groupe" />
537,6 → 553,7
<FIELD name="TEL_P_TECH" label="Portable" titlelabel="Portable" />
<FIELD name="MAIL_TECH" label="E-mail" titlelabel="E-mail" />
<FIELD name="ID_COMPTE_PCE" label="Compte PCE associé" titlelabel="Compte PCE associé" />
<FIELD name="ID_COMPTE_PCE_PRODUIT" label="Compte PCE Produit associé" titlelabel="Compte PCE Produit associé" />
<FIELD name="ID_ADRESSE" label="Adr. Principale" titlelabel="Adr. Principale" />
<FIELD name="ID_ADRESSE_L" label="Adr. Livraison" titlelabel="Adr. Livraison" />
<FIELD name="ID_ADRESSE_F" label="Adr. Facturation" titlelabel="Adr. Facturation" />
545,6 → 562,8
<FIELD name="MARCHE_PUBLIC" label="Marché public" titlelabel="Marché public" />
<FIELD name="MARCHE_PRIVE" label="Marché privé" titlelabel="Marché privé" />
<FIELD name="ID_ADRESSE_L" label="Adresse de livraison" titlelabel="Adresse livraison" />
<FIELD name="ID_ADRESSE_L_2" label="Adresse de livraison" titlelabel="Adresse livraison 2" />
<FIELD name="ID_ADRESSE_L_3" label="Adresse de livraison" titlelabel="Adresse livraison 3" />
<FIELD name="RIB" label="RIB" titlelabel="RIB" />
<FIELD name="SIRET" label="SIRET" titlelabel="SIRET" />
<FIELD name="ID_SECTEUR_ACTIVITE" label="Secteur d'activité" titlelabel="Secteur d'activité" />
559,8 → 578,33
<FIELD name="ID_TARIF" label="Tarif" titlelabel="Tarif" />
<FIELD name="EXTRANET_LOGIN" label="Identifiant extranet" />
<FIELD name="EXTRANET_PASSWORD" label="Mot de passe extranet" />
 
<FIELD name="DATE" label="Date de création" />
<FIELD name="SITE_INTERNET" label="Site web" />
<FIELD name="CATEGORIES" label="Catégories" />
<FIELD name="ID_DEVISE" label="Devise" />
<FIELD name="ENCOURS_MAX" label="Encours max." />
<FIELD name="NOTE_FINANCIERE" label="Note financière" />
<FIELD name="METHODE_RELANCE" label="Méthode de relance" />
<FIELD name="ID_COMMERCIAL" label="Commercial" />
<FIELD name="CENTRE_GESTION" label="Centre de gestion" />
<FIELD name="ID_ADRESSE" label="Adresse du siège" />
<FIELD name="ID_ADRESSE_F" label="Adresse de facturation" />
<FIELD name="COMMENTAIRES" label="Commentaires" />
<FIELD name="BLOQUE" label="Bloquer les interactions" />
<FIELD name="GROUPE" label="Groupe" />
<FIELD name="BLOQUE_LIVRAISON" label="Bloquer les livraisons" />
 
 
</TABLE>
 
<TABLE name="CLIENT_DEPARTEMENT">
<FIELD name="INFOS" label="Informations" />
<FIELD name="ID_ADRESSE" label="Adresse de facturation spécifique" />
<FIELD name="NOM" label="Nom du service" />
<FIELD name="ID_CLIENT" label="Client" />
</TABLE>
 
<TABLE name="CODE_REGIME">
<FIELD name="CODE" label="Code" titlelabel="Code" />
<FIELD name="NOM" label="Libellé" titlelabel="Libellé" />
625,6 → 669,7
<FIELD name="FAX" label="Fax" titlelabel="Fax" />
<FIELD name="FONCTION" label="Fonction" titlelabel="Fonction" />
<FIELD name="ID_CLIENT" label="Client" titlelabel="Client" />
<FIELD name="NO_MAILING" label="Pas de mailing" />
</TABLE>
 
<TABLE name="CONTACT_FOURNISSEUR">
737,24 → 782,36
</TABLE>
 
<TABLE name="COMMANDE_CLIENT">
<FIELD name="ID_ADRESSE" label="Adresse fact. spéc." titlelabel="Adresse fact. spéc." />
<FIELD name="ID_ADRESSE_LIVRAISON" label="Adresse livr. spéc." titlelabel="Adresse livr. spéc." />
<FIELD name="ID_CLIENT_DEPARTEMENT" label="Service" />
<FIELD name="ID_CONTACT" label="Contact" titlelabel="Contact" />
<FIELD name="NOM" label="Référence" titlelabel="Référence" />
<FIELD name="NUMERO_EXPEDITION" label="Numéro d'expédition" />
<FIELD name="EMBALLAGE" label="Type d'emballage" />
<FIELD name="ETAT_COMMANDE" label="Etat commande" />
<FIELD name="NUMERO" label="Numéro" titlelabel="Numéro" />
<FIELD name="DATE" label="Date" titlelabel="Date" />
<FIELD name="DATE_ECHEANCE" label="Date d'échéance" titlelabel="Date d'échéance" />
<FIELD name="ID_CLIENT" label="Client" titlelabel="Client" />
<FIELD name="PORT_HT" label="Frais de port HT" />
<FIELD name="REMISE_HT" label="Remise HT" />
<FIELD name="ID_TAXE_PORT" label="TVA sur Port" />
<FIELD name="T_HT" label="Total HT" titlelabel="Total HT" />
<FIELD name="T_TVA" label="Total TVA" titlelabel="Total TVA" />
<FIELD name="T_TTC" label="Total TTC" titlelabel="Total TTC" />
<FIELD name="T_DEVISE" label="Total Devise" titlelabel="Total Devise" />
<FIELD name="INFOS" label="Informations" titlelabel="Informations" />
<FIELD name="SOURCE" label="Source" titlelabel="Source" />
<FIELD name="T_POIDS" label="Poids total" titlelabel="Poids total" />
<FIELD name="ID_COMMERCIAL" label="Commercial" titlelabel="Commercial" />
<FIELD name="ID_POLE_PRODUIT" label="Pôle produit" titlelabel="Pôle produit" />
<FIELD name="T_DEVISE" label="Total Devise" />
<FIELD name="INFOS" label="Informations" />
<FIELD name="SOURCE" label="Source" />
<FIELD name="T_POIDS" label="Poids total" />
<FIELD name="ID_COMMERCIAL" label="Commercial" />
<FIELD name="ID_POLE_PRODUIT" label="Pôle produit" />
<FIELD name="TYPE_EXPEDITION" label="Type d'envoi" />
<FIELD name="ID_TARIF" label="Tarif à appliquer" />
</TABLE>
 
<TABLE name="COMMANDE_CLIENT_ELEMENT">
 
<FIELD name="ID_FAMILLE_ARTICLE" label="Famille d'article" />
<FIELD name="NB_COLIS" label="Nb Colis" titlelabel="Nb Colis" />
<FIELD name="POIDS_COLIS_NET" label="Pds Colis" titlelabel="Pds Colis" />
<FIELD name="T_POIDS_COLIS_NET" label="Pds Colis Total" titlelabel="Pds Colis Total" />
868,6 → 925,13
</TABLE>
 
<TABLE name="DEVIS">
<FIELD name="ID_TAXE_PORT" label="TVA sur Port" />
<FIELD name="DATE_SAISIE" label="Date de saisie du rapport" />
<FIELD name="ACCEPTE_EN_SAISIE" label="Accepté en saisie" />
<FIELD name="RAPPORT_A_SAISIR" label="Rapport à saisir" />
<FIELD name="ID_CLIENT_DEPARTEMENT" label="Service" />
<FIELD name="ID_ADRESSE" label="Adresse fact. spéc." titlelabel="Adresse fact. spéc." />
<FIELD name="ID_ADRESSE_LIVRAISON" label="Adresse livr. spéc." titlelabel="Adresse livr. spéc." />
<FIELD name="CONTACT_MAIL_RAPPORT" label="Email dest. suppl." />
<FIELD name="SITE_DIFF" label="Site d'intervention différent du donneur d'ordre" titlelabel="Site d'intervention différent du donneur d'ordre" />
<FIELD name="DESIGNATION_SITE" label="Désignation du site" />
914,8 → 978,10
<FIELD name="ID_CONTACT" label="Contact" titlelabel="Contact" />
<FIELD name="ADRESSE_IDENTIQUE" label="Adresse identique" titlelabel="Adresse identique" />
<FIELD name="T_DEVISE" label="Total Devise" titlelabel="Total Devise" />
<FIELD name="DUNNING_DATE" label="Date de relance" titlelabel="Date de relance" />
</TABLE>
<TABLE name="DEVIS_ELEMENT">
<FIELD name="ID_FAMILLE_ARTICLE" label="Famille d'article" />
<FIELD name="QTE_UNITAIRE" label="Qté U.V." titlelabel="Qté U.V." />
<FIELD name="ID_UNITE_VENTE" label="Unité de vente" titlelabel="Unité de vente" />
<FIELD name="ID_ARTICLE" label="Article" titlelabel="Article" />
988,6 → 1054,14
<FIELD name="DATE_SIGN" label="Date de signature" />
</TABLE>
 
<TABLE name="DEVISE_HISTORIQUE">
<FIELD name="DATE" label="Date" />
<FIELD name="SRC" label="De" />
<FIELD name="DST" label="Vers" />
<FIELD name="TAUX" label="Taux de change" />
<FIELD name="TAUX_COMMERCIAL" label="Taux commercial" />
</TABLE>
 
<TABLE name="ECHANTILLON_ELEMENT">
<FIELD name="NOM" label="Nom" titlelabel="Nom" />
<FIELD name="QTE" label="Quantité" titlelabel="Quantité" />
1034,6 → 1108,7
 
<TABLE name="ECRITURE">
<FIELD name="ID" label="N° Ecriture" titlelabel="N° Ecriture" />
<FIELD name="NOM_PIECE" label="Pièce commerciale"/>
<FIELD name="JOURNAL_NOM" label="Journal" titlelabel="Journal" />
<FIELD name="JOURNAL_CODE" label="Code journal" titlelabel="Code journal" />
<FIELD name="COMPTE_NUMERO" label="Numéro de compte" titlelabel="Numéro de compte" />
1610,8 → 1685,17
<FIELD name="MONTANT" label="Montant" titlelabel="Montant" />
<FIELD name="ID_MODE_REGLEMENT" label="Mode de règlement" titlelabel="Mode de règlement" />
<FIELD name="ID_ECHEANCE_FOURNISSEUR" label="Echéance fournisseur" titlelabel="échéance" />
<FIELD name="ID_FOURNISSEUR" label="Fournisseur" />
</TABLE>
 
<TABLE name="REGLER_MONTANT_ELEMENT">
<FIELD name="ID_ECHEANCE_FOURNISSEUR" label="Echéance" />
<FIELD name="ID_MOUVEMENT_ECHEANCE" label="Facture fournisseur" />
<FIELD name="DATE" label="Date" />
<FIELD name="MONTANT_REGLE" label="Montant réglé" />
<FIELD name="MONTANT_A_REGLER" label="Montant dû" />
</TABLE>
 
<TABLE name="RELANCE">
<FIELD name="DATE" label="Date de relance" titlelabel="Date de relance" />
<FIELD name="ID_SAISIE_VENTE_FACTURE" label="Facture" titlelabel="Facture" />
1663,6 → 1747,7
<FIELD name="DEBIT" label="Débit" titlelabel="Débit" />
<FIELD name="CREDIT" label="Crédit" titlelabel="Crédit" />
<FIELD name="ID_ECRITURE" label="Ecriture" titlelabel="Ecriture" />
<FIELD name="NOM_PIECE" label="Pièce commerciale"/>
</TABLE>
 
 
1684,6 → 1769,8
<FIELD name="CREATION_AUTO" label="Article généré" titlelabel="généré" />
</TABLE>
<TABLE name="SAISIE_VENTE_FACTURE">
<FIELD name="ID_CLIENT_DEPARTEMENT" label="Service" />
<FIELD name="ID_ADRESSE_LIVRAISON" label="Adresse livr. spéc." titlelabel="Adresse livr. spéc." />
<FIELD name="ID_COMPTE_PCE_VENTE" label="Compte vente" titlelabel="Compte vente" />
<FIELD name="ID_ADRESSE" label="Adresse spécifique" titlelabel="Adresse spécifique" />
<FIELD name="T_HA" label="Total achat" titlelabel="Total achat" />
1730,8 → 1817,11
<FIELD name="ID_MODELE" label="Modéle" titlelabel="Modéle" />
<FIELD name="CONTROLE_TECHNIQUE" label="Facture CTC" titlelabel="Facture CTC" />
<FIELD name="COMPTE_SERVICE_AUTO" label="Gestion automatique du compte de service" titlelabel="Gestion automatique du compte de service" />
<FIELD name="ID_TARIF" label="Tarif à appliquer" />
 
</TABLE>
<TABLE name="SAISIE_VENTE_FACTURE_ELEMENT">
<FIELD name="ID_FAMILLE_ARTICLE" label="Famille d'article" />
<FIELD name="NB_COLIS" label="Nb Colis" titlelabel="Nb Colis" />
<FIELD name="POIDS_COLIS_NET" label="Pds Colis" titlelabel="Pds Colis" />
<FIELD name="T_POIDS_COLIS_NET" label="Pds Colis Total" titlelabel="Pds Colis Total" />
1803,6 → 1893,7
<FIELD name="ID_PERIODICITE" label="Périodicité" titlelabel="Périodicité" />
<FIELD name="DATE" label="Date d'intervention" titlelabel="Date d'intervention" />
<FIELD name="POURCENT_SERVICE" label="Pourcentage service" titlelabel="Pourcentage service" />
<FIELD name="POURCENT_FACTURABLE" label="Facturable (€ ou %)" titlelabel="Facturable (€ ou %)" />
<FIELD name="POURCENT_CCIP" label="CCIP" titlelabel="CCIP" />
<FIELD name="DATE_FIN" label="Date de fin d'intervention" titlelabel="Date de fin d'intervention" />
</TABLE>
/trunk/OpenConcerto/src/org/openconcerto/erp/config/SQLElementNames_pl.xml
New file
0,0 → 1,5
<translations>
<element refid="CONTACT" name="Kontakt" />
<element refid="CONTACT_FOURNISSEUR" name="supplier contact" namePlural="Kontakt do dostawcy" />
<element refid="CONTACT_ADMINISTRATIF" name="Kotakt administracyjny" />
</translations>
/trunk/OpenConcerto/src/org/openconcerto/erp/config/Gestion.java
214,6 → 214,10
System.setProperty(EditPanel.NOBORDER, "true");
System.setProperty(EditPanel.ADD_AT_THE_END, "true");
System.setProperty("org.openconcerto.sql.listPanel.deafEditPanel", "true");
 
// Gérer avec le droit SAVE_LIST
System.setProperty("org.openconcerto.sql.canSaveInList", "false");
 
System.setProperty("org.openconcerto.ui.addComboButton", "true");
System.setProperty(SQLBase.STRUCTURE_USE_XML, "true");
// don't put any suffix, rely on Animator
231,8 → 235,6
System.setProperty(ITextCombo.SIMPLE_TRAVERSAL, "true");
 
RemoteShell.startDefaultInstance();
IListe.setForceAlternateCellRenderer(true);
ITableModel.setDefaultEditable(false);
ComboSQLRequest.setDefaultItemsOrder(CompareUtils.<IComboSelectionItem> naturalOrder());
// Initialisation du splashScreen
// ne pas oublier en param -splash:image.png
339,6 → 341,10
public void run() {
long t1 = System.currentTimeMillis();
 
IListe.setForceAlternateCellRenderer(true);
// ITableModel.setDefaultCellsEditable(false);
// ITableModel.setDefaultOrderEditable(true);
 
AWTEventListener awtListener = new AWTEventListener() {
@Override
public final void eventDispatched(final AWTEvent event) {
557,7 → 563,7
frameExit.setVisible(true);
}
 
public static List<Image> getFrameIcon() {
public static synchronized List<Image> getFrameIcon() {
if (frameIcon == null) {
frameIcon = new ArrayList<Image>();
int[] sizes = { 16, 32, 48, 96 };
/trunk/OpenConcerto/src/org/openconcerto/erp/config/translation_pl.xml
New file
0,0 → 1,223
<translation lang="en">
<!-- File -->
<menu id="menu.file" label="Plik" />
<menu id="backup" label="Kopia" />
<menu id="modules" label="Moduły" />
<menu id="preferences" label="Ustawienia" />
<menu id="quit" label="Wyjście" />
<!-- Creation -->
<menu id="menu.create" label="Stwórz" />
<menu id="accounting" label="Księgowość" />
<menu id="accounting.entry.create" label="Zapisy księgowe" />
<menu id="customer" label="Klient" />
<menu id="customer.quote.create" label="Oferta" />
<menu id="customer.letter.create" label="List" />
<menu id="customer.proposal.create" label="Propozycja" />
<menu id="project.create" label="Projekt" />
<menu id="appointment.create" label="Spotkanie" />
<menu id="mission.create" label="Mission" />
<menu id="mission.notice.create" label="Mission notice" />
<menu id="customer.delivery.create" label="Wydanie zewnętrzne" />
<menu id="customer.order.create" label="Zamówienie" />
<menu id="pos.sale.create" label="Sprzedaż (POS)" />
<menu id="customer.invoice.create" label="Faktura Klient" />
<menu id="kd.invoice.create" label="Faktura" />
<menu id="customer.credit.create" label="Korekta sprzedaży" />
<menu id="supplier" label="Dostawcy" />
<menu id="supplier.order.create" label="Zamówienie do dostawcy" />
<menu id="supplier.receipt.create" label="Przyjêcia oczekuj¹ce na FV" />
<menu id="supplier.purchase.create" label="Zakupy u dostawcy" />
<menu id="supplier.invoice.purchase.create" label="Faktury dostawców" />
<menu id="supplier.credit.create" label="Korekty zakupu" />
<menu id="stock.io.create" label="Magazyn" />
 
<!-- List -->
<menu id="menu.list" label="Zarządzanie" />
<menu id="menu.list.customer" label="CRM" />
<menu id="customer.list" label="Klienci" />
<menu id="contact.list" label="Kontakty" />
<menu id="customer.history" label="Historia klienta" />
<menu id="customer.quote.list" label="Oferty" />
<menu id="customer.proposal.list" label="Propozycje" />
<menu id="customer.proposal.item.list" label="Proponowane przedmioty" />
<menu id="menu.list.mission" label="Misje" />
<menu id="project.list" label="Projekty" />
<menu id="mission.list" label="Misje" />
<menu id="appointment.list" label="Spotkania" />
<menu id="appointment.unplanned.list" label="" />
<menu id="appointment.notvalidated.list" label="" />
<menu id="mission.order.list" label="" />
<menu id="mission.notice.list" label="" />
<menu id="customer.order.list" label="Zamówienia" />
<menu id="customer.delivery.list" label="Dostawy" />
<menu id="sales.list" label="Faktury sprzedaży" />
<menu id="customer.invoice.list" label="Faktury" />
<menu id="payment.factoring.create" label="" />
<menu id="payment.factoring.list" label="" />
<menu id="customer.credit.list" label="Korekty" />
<menu id="menu.list.supplier" label="Dostawca" />
<menu id="supplier.list" label="Dostawcy" />
<menu id="supplier.contact.list" label="Kontakty" />
<menu id="supplier.history" label="Histaria dostawcy" />
<menu id="supplier.order.list" label="Zamówienia do dostawcy" />
<menu id="supplier.receipt.list" label="Korekty zakupów" />
<menu id="supplier.purchase.list" label="Zakupy" />
<menu id="supplier.invoice.purchase.list" label="Faktury dostawców" />
<menu id="supplier.credit.list" label="Korekty zakupu" />
<menu id="product.list" label="Lista produktów" />
<menu id="product.reference.list" label="Lista referencji" />
<menu id="stock.io.list" label="Magazyn towarów" />
<menu id="menu.list.pos" label="Punkty sprzedaży" />
<menu id="pos.receipt.list" label="Receipts (POS)" />
<menu id="pos.sales.report" label="Sprzedaż (POS)" />
<menu id="sales.report" label="" />
<!-- Accounting -->
<menu id="menu.accounting" label="Księgowość" />
<menu id="accounting.balance" label="Bilans" />
<menu id="accounting.client.balance" label="Bilans klienta" />
<menu id="accounting.analytical.result" label="Wynik analizy" />
<menu id="accounting.ledger" label="Księga" />
<menu id="accounting.general.ledger" label="Księga główna" />
<menu id="accounting.entries.ledger" label="Wpisy księgi głównej" />
<menu id="accounting.entries.list" label="Lista wpisów do księgi głównej" />
<menu id="menu.accounting.closing" label="Końcowy" />
<menu id="accounting.export" label="Ksigowość export" />
<menu id="accounting.import" label="Księgowość import" />
<menu id="accounting.validating" label="Walidacja" />
<menu id="accounting.closing" label="Końcowy" />
<!-- Documents -->
<menu id="menu.report" label="Sprawozdanie" />
<menu id="accounting.vat.report" label="Raport VAT" />
<menu id="accounting.costs.report" label="Raport kosztów" />
<menu id="accounting.balance.report" label="Bilans" />
<menu id="employe.social.report" label="Raport" />
<!-- Stats -->
<menu id="menu.stats" label="Statystyki" />
<menu id="sales.graph" label="Sprzedaż" />
<menu id="sales.margin.graph" label="Marże" />
<menu id="sales.list.report" label="Raport sprzedaży" />
<menu id="sales.product.graph" label="Produkty" />
<menu id="sales.product.margin.graph" label="Marża produktu" />
<menu id="sales.list.graph" label="Lista sprzedaży" />
<!-- Payment -->
<menu id="menu.payment" label="Płatności" />
<menu id="payment.checking.create" label="Sprawdzanie płatności" />
<menu id="payment.reconciliation.create" label="Regulacja" />
<menu id="menu.payment.customer" label="Klient" />
<menu id="customer.invoice.unpaid.list" label="Nie zapłacone" />
<menu id="customer.dept.list" label="Zadłużenia klientów" />
<menu id="customer.payment.list" label="Lista płatności" />
<menu id="customer.payment.followup.list" label="Śledzenie płatnoœci" />
<menu id="customer.payment.check.pending.list" label="Sprawdzenie płatnoœci klienta" />
<menu id="customer.payment.check.pending.create" label="Płatnoœci klienta oczekujące" />
<menu id="customer.credit.check.list" label="Terminowe płatności" />
<menu id="customer.credit.check.create" label="Termonowe płatnoœci oczekujące" />
<menu id="menu.payment.supplier" label="Dostawca" />
<menu id="supplier.invoice.unpaid.list" label="Nie zapłacone faktury zakupu" />
<menu id="supplier.bill.list" label="Bilans dostawcy" />
<menu id="supplier.payment.check.list" label="Płatnoœci do dostawcy" />
<menu id="supplier.payment.check.pending.list" label="Płatnoœci do dostawcy oczekujące" />
<!-- Payroll -->
<menu id="menu.payroll" label="Lista płac" />
<menu id="payroll.list.report.print" label="Raport płac" />
<menu id="payroll.profile.list" label="Profile" />
<menu id="payroll.history" label="Historia" />
<menu id="payroll.create" label="Płace" />
<menu id="payroll.deposit.create" label="Depozyt" />
<menu id="employee.list" label="Zatrudnieni" />
<menu id="payroll.section" label="Działy" />
<menu id="payroll.variable" label="Zmienne" />
<menu id="payroll.closing" label="Płace końcowe" />
<!-- Organization -->
<menu id="menu.organization" label="Struktura" />
<menu id="accounting.chart" label="Wykresy księgowe" />
<menu id="accounting.journal" label="Pisma księgowe" />
<menu id="accounting.checkDB" label="Sprawdź strukturę bazy danych" />
<menu id="user.list" label="Użytkownicy" />
<menu id="user.right.list" label="Uprwanienia użytkownika" />
<menu id="user.task.right" label="Task rigths" />
<menu id="salesman.list" label="Handlowcy" />
<menu id="pos.list" label="Punkty sprzedaży" />
<menu id="secretary.list" label="Sekretariat" />
<menu id="auditor.list" label="Audytorzy" />
<menu id="index.list" label="Indexy" />
<menu id="enterprise.list" label="Przedsiębiorstwa" />
<menu id="divison.list" label="" />
<menu id="divison.bank.list" label="" />
<menu id="enterprise.create" label="Nowe Przedsiębiorstwa" />
<menu id="mission.sample.list" label="" />
<menu id="mission.code.list" label="" />
<menu id="department.list" label="" />
<!-- Test -->
<menu id="menu.test" label="Testy" />
<!-- Help -->
<menu id="menu.help" label="Pomoc" />
<menu id="information" label="Informacje" />
<menu id="tips" label="Porady" />
 
<!-- Quote -->
<item id="sales.quote.number" label="Numer" />
<item id="sales.quote.date" label="Data" />
<item id="sales.quote.label" label="Referencja" />
<item id="sales.quote.customer" label="Klient" />
<item id="sales.quote.saleman" label="Handlowiec" />
<item id="sales.quote.state" label="Status" />
<item id="sales.quote.address.alternative" label="Alternatywny adres" />
<item id="sales.quote.info.general" label="Główny adres" />
<action id="sales.quote.accept" label="Zaakceptuj" />
<action id="sales.quote.refuse" label="Odrzuć" />
<action id="sales.quote.create.invoice" label="Transfer do faktury" />
<action id="sales.quote.create.supplier.order" label="Transfer do zamówienia do dostawcy" />
<action id="sales.quote.clone" label="Kopiuj z" />
<action id="sales.quote.create.customer.order" label="Transfer do zamówienia klienta" />
<action id="sales.quote.accept.create.customer.order" label="Zaakceptuj i transferuj do zamówienia klienta" />
<!-- Customer -->
<action id="customerrelationship.customer.label.print" label="Druk etykiety klienta" />
<action id="customerrelationship.customer.info.create" label="Stwórz informacje o kliencie" />
<action id="customerrelationship.customer.email.send" label="Wyślij przez e-mail" />
<!-- Matching -->
<action id="financing.accouning.entries.source.show" label="Pokaż źródło" />
<action id="financing.accouning.entries.match" label="Match entry" />
<action id="financing.accouning.entries.unmatch" label="Unmatch entry" />
<!-- Invoice -->
<item id="sales.invoice.number" label="Numer" />
<item id="sales.invoice.date" label="Data" />
<item id="sales.invoice.label" label="Referencja" />
<item id="sales.invoice.customer" label="Klient" />
<item id="sales.invoice.saleman" label="Handlowiec" />
<item id="sales.invoice.address.alternative" label="Alternatywny adres" />
<item id="sales.invoice.info.general" label="Dodatkowe informacje" />
<action id="sales.invoice.purchase.update" label="Aktualizacja zakupów" />
<action id="sales.invoice.comment.add" label="Komentarz" />
<action id="sales.invoice.create.delivery" label="Transfer do WZ" />
<action id="sales.invoice.create.credit" label="Transfer płatnoœci terminowej" />
<action id="sales.invoice.clone" label="Kopiuj z" />
<action id="sales.invoice.info.show" label="Informacje o kliencie" />
<action id="sales.invoice.create.supplier.order" label="Transfer do zamówienia do dostawcy" />
<action id="sales.shipment.create.invoice" label="Transfer do faktury" />
 
<!-- Document -->
<action id="document.quickprint" label="Szybki wydruk" />
<action id="document.print" label="Wydruk..." />
<action id="document.print.all" label="Wydruk dokumentów" />
<action id="document.preview" label="Podgląd dokumentu" />
<action id="document.modify" label="Modyfukuj przez OpenOffice" />
<action id="document.create" label="Stwórz dokument" />
<action id="document.pdf.send.email" label="Wyślij plik PDF" />
<action id="document.send.email" label="Wyślij e-mail" />
 
<!-- Supplier order -->
<action id="supplychain.order.create.purchase" label="Transfer do zakupów" />
<action id="supplychain.order.create.receipt" label="Transfer do zamówienia" />
 
<!-- Customer order -->
<action id="sales.order.create.deliverynote" label="Transfer WZ" />
<action id="sales.order.create.invoice" label="Transfer faktury" />
<action id="sales.order.create.supplier.order" label="Transfer zamówienie do dostawcy" />
 
<!-- Currency -->
<item id="currency.USD" label="US Dollar" />
<item id="currency.EUR" label="Euro" />
<item id="currency.PLN" label="Złoty" />
 
</translation>
/trunk/OpenConcerto/src/org/openconcerto/erp/config/mappingCompta_pl.xml
New file
0,0 → 1,1535
<?xml version="1.0" encoding="UTF-8" ?>
<ROOT>
<TABLE name="ACOMPTE">
<FIELD name="ID_SALARIE" label="Pracownik" />
<FIELD name="MONTANT" label="Suma" />
<FIELD name="ID_MOUVEMENT" label="Transakcja" />
</TABLE>
 
<TABLE name="ADRESSE">
<FIELD name="RAISON_SOCIALE" label="Nazwa" />
<FIELD name="RUE" label="Ulica" />
<FIELD name="PROVINCE" label="Województwo" titlelabel="Województwo" />
<FIELD name="PAYS" label="Kraj" />
<FIELD name="CEDEX" label="Cedex" />
<FIELD name="HAS_CEDEX" label="Cedex" />
<FIELD name="CODE_POSTAL" label="Kod pocztowy" />
<FIELD name="VILLE" label="Miasto" />
<FIELD name="DEST" label="Kontakt" />
<FIELD name="NUMERO_CANTON" label="Kod województwa" />
<FIELD name="NUMERO_COMMUNE" label="" />
<FIELD name="TYPE" label="Typ" />
<FIELD name="EMAIL_CONTACT" label="Kontakt e-mail" />
</TABLE>
<TABLE name="AFFACTURAGE">
<FIELD name="NB_FACT" label="Numer faktury" />
<FIELD name="MONTANT_FACT" label="Suma" />
<FIELD name="DATE" label="Data" />
</TABLE>
 
 
<TABLE name="ARTICLE">
<FIELD name="ID_UNITE_VENTE" label="Cena" titlelabel="Cena" />
<FIELD name="QTE_ACHAT" label="Ilość zakupowa" />
<FIELD name="CODE_BARRE" label="Barcode" />
<FIELD name="INFOS" label="Dodatkowe informacje" />
<FIELD name="ID_FOURNISSEUR" label="Głóny dostawca" />
<FIELD name="GESTION_STOCK" label="Zarządzanie magazynem" />
<FIELD name="CODE_DOUANIER" label="Kod klienta" />
<FIELD name="ID_PAYS" label="Kraj" />
<FIELD name="QTE_MIN" label="Minimalna ilość na magazynie" />
<FIELD name="ETIQUETTE" label="Etykieta" />
<FIELD name="CODE" label="Kod produktu" />
<FIELD name="NOM" label="Nazwa" />
<FIELD name="PA_HT" label="Zakup netto" />
<FIELD name="PV_HT" label="Sprzedaż netto" />
<FIELD name="PV_TTC" label="Sprzedaż brutto" />
<FIELD name="ID_TAXE" label="Podatek" />
<FIELD name="POIDS" label="Waga (Kg)" />
<FIELD name="SERVICE" label="Serwis" />
<FIELD name="ID_STOCK" label="Magazyn" titlelabel="Magazyn" />
<FIELD name="PRIX_METRIQUE_VT_1" label="Cena sprzedaży/szt." />
<FIELD name="PRIX_METRIQUE_HA_1" label="Cena zakupu/szt." />
<FIELD name="VALEUR_METRIQUE_1" label="Długość domyślna" />
<FIELD name="ID_METRIQUE_1" label="Miara" />
<FIELD name="PRIX_METRIQUE_VT_2" label="Sprzedaż netto" />
<FIELD name="PRIX_METRIQUE_HA_2" label="Cean zakupu netto" />
<FIELD name="VALEUR_METRIQUE_2" label="Długość" />
<FIELD name="ID_METRIQUE_2" label="Miara" />
<FIELD name="PRIX_METRIQUE_VT_3" label="Sprzedaż netto" />
<FIELD name="PRIX_METRIQUE_HA_3" label="Cena zakupu netto" />
<FIELD name="VALEUR_METRIQUE_3" label="waga / m²" />
<FIELD name="ID_METRIQUE_3" label="Miara" titlelabel="Miara" />
<FIELD name="ID_MODE_VENTE_ARTICLE" label="Typ sprzedaży" titlelabel="Typ sprzedaży" />
<FIELD name="ID_FAMILLE_ARTICLE" label="Kategoria" />
<FIELD name="OBSOLETE" label="Nieaktualne" />
<FIELD name="PRIX_REVENTE_HT" label="Cena odsprzedaży netto" />
<FIELD name="PRIX_FINAL_TTC" label="Cena końcowa brutto" />
<FIELD name="ID_ECOTAXE" label="Ecotax" />
<FIELD name="ID_COMPTE_PCE" label="Konto dla zakupów" />
<FIELD name="ID_COMPTE_PCE_ACHAT" label="Konto dla sprzedaży" />
<FIELD name="SKU" label="SKU" />
</TABLE>
 
<TABLE name="ARTICLE_TARIF">
<FIELD name="ID_ARTICLE" label="Produkt" />
<FIELD name="ID_TARIF" label="Cennik" />
<FIELD name="ID_TAXE" label="VAT" />
<FIELD name="ID_DEVISE" label="Waluta" />
<FIELD name="PV_HT" label="Cena netto" />
<FIELD name="PV_TTC" label="Cena brutto" />
<FIELD name="PRIX_METRIQUE_VT_1" label="Cena sprzedaży-szt." />
</TABLE>
 
<TABLE name="ARTICLE_DESIGNATION">
<FIELD name="ID_ARTICLE" label="Produkt" />
<FIELD name="NOM" label="Nazwa" />
<FIELD name="ID_LANGUE" label="Język" />
</TABLE>
 
<TABLE name="ASSOCIATION_ANALYTIQUE">
<FIELD name="ID_POSTE_ANALYTIQUE" label="Klasa rachunkowości" />
</TABLE>
 
<TABLE name="ASSOCIATION_COMPTE_ANALYTIQUE">
<FIELD name="ID_COMPTE_PCE" label="Księgowość" />
<FIELD name="ID_AXE_ANALYTIQUE" label="Oś" />
<FIELD name="ID_REPARTITION_ANALYTIQUE" label="Dystrybucja" />
</TABLE>
 
 
 
<TABLE name="AVOIR_CLIENT">
<FIELD name="ID_SECRETAIRE" label="Sekretariat" />
<FIELD name="REF_CLIENT" label="Identyfikator klienta" />
<FIELD name="ID_MODE_REGLEMENT" label="Sposób płatności" />
<FIELD name="ID_ADRESSE" label="Adres" />
<FIELD name="NOM" label="Nazwa" />
<FIELD name="ID_AFFAIRE" label="Projekt" />
<FIELD name="AFFACTURE" label="Natexis" />
<FIELD name="ID_CONTACT" label="Kontakt" />
<FIELD name="MONTANT_RESTANT" label="Pozostała kwota" titlelabel="Pozostała kwota" />
<FIELD name="DATE" label="Data" />
<FIELD name="SOLDE" label="Saldo" titlelabel="Saldo" />
<FIELD name="MONTANT_HT" label="Suma netto" />
<FIELD name="MONTANT_TTC" label="Suma" />
<FIELD name="ID_TAXE" label="VAT" />
<FIELD name="ID_CLIENT" label="Klient" />
<FIELD name="ID_SAISIE_VENTE_FACTURE" label="Numer faktury" />
<FIELD name="NUMERO" label="Numer" />
<FIELD name="MONTANT_TVA" label="VAT" />
<FIELD name="PORT_HT" label="Transport" titlelabel="Transport" />
<FIELD name="REMISE_HT" label="Rabat" />
<FIELD name="MONTANT_SOLDE" label="Miesięczna sprzedaż" titlelabel="Miesięczna sprzedaż" />
<FIELD name="MONTANT_SERVICE" label="Serwis" titlelabel="Serwis" />
<FIELD name="ID_COMMERCIAL" label="Handlowiec" />
<FIELD name="ID_COMPTE_PCE_SERVICE" label="Obsługa konta" titlelabel="Obsługa konta" />
<FIELD name="COMPTE_SERVICE_AUTO" label="Automatyczne zarządzanie kontami" titlelabel="Automatyczne zarządzanie kontami" />
<FIELD name="A_DEDUIRE" label="Do odliczenia na następny zakup" titlelabel="Do odliczenia na następny zakup" />
<FIELD name="INFOS" label="Ogólne informacje" titlelabel="Ogólne informacje" />
<FIELD name="MOTIF" label="Wzorzec" titlelabel="Wzorzec" />
<FIELD name="T_DEVISE" label="Suma" />
</TABLE>
 
<TABLE name="AVOIR_CLIENT_ELEMENT">
<FIELD name="QTE_UNITAIRE" label="Ilość" titlelabel="Ilość" />
<FIELD name="ID_UNITE_VENTE" label="Cena" titlelabel="Cena" />
<FIELD name="ID_ARTICLE" label="Produkt" />
<FIELD name="DESCRIPTIF" label="Opis" titlelabel="Opis" />
<FIELD name="ID_PAYS" label="Kraj pochodzenia" titlelabel="Kraj pochodzenia" />
<FIELD name="CODE_DOUANIER" label="Kod celny" titlelabel="Kod celny" />
<FIELD name="ID_DEVISE" label="Waluta" />
<FIELD name="PV_U_DEVISE" label="Cena waluty" titlelabel="Cena waluty" />
<FIELD name="PV_T_DEVISE" label="Waluta-Suma" titlelabel="Waluta-Suma" />
<FIELD name="POURCENT_REMISE" label="% Dodaj" titlelabel="% Dodaj" />
<FIELD name="ID_AVOIR_CLIENT" label="Podgląd" titlelabel="Podgląd" />
<FIELD name="ID_STYLE" label="Styl" titlelabel="Styl" />
<FIELD name="CODE" label="Kod" titlelabel="Kod" />
<FIELD name="NOM" label="Opis" titlelabel="Opis" />
<FIELD name="PA_HT" label="Cena zakupu netto szt" titlelabel="Cena zakupu netto szt" />
<FIELD name="PV_HT" label="Cena sprzedaży netto szt" titlelabel="Cena sprzedaży netto szt" />
<FIELD name="ID_TAXE" label="VAT" />
<FIELD name="POIDS" label="Waga" titlelabel="Waga" />
<FIELD name="T_POIDS" label="Waga łączna" titlelabel="Waga łączna" />
<FIELD name="T_PA_HT" label="Zakup łączny" titlelabel="Zakup łączny" />
<FIELD name="T_PV_HT" label="Suma netto" />
<FIELD name="MARGE_HT" label="Marża" titlelabel="Marża" />
<FIELD name="T_PV_TTC" label="Suma" />
<FIELD name="QTE" label="Ilość" />
<FIELD name="SERVICE" label="Serwis" titlelabel="Serwis" />
<FIELD name="PRIX_METRIQUE_VT_1" label="Cena sprzedaży netto m" titlelabel="Cena sprzedaży netto m" />
<FIELD name="PRIX_METRIQUE_HA_1" label="Cena zakupu netto m" titlelabel="Cena zakupu netto m" />
<FIELD name="VALEUR_METRIQUE_1" label="Domyślna długość" titlelabel="Domyślna długość" />
<FIELD name="ID_METRIQUE_1" label="Miara" titlelabel="Miara" />
<FIELD name="PRIX_METRIQUE_VT_2" label="Cena sprzedaży netto metr" titlelabel="Cena sprzedaży netto metr" />
<FIELD name="PRIX_METRIQUE_HA_2" label="Cena zakupu netto metr" titlelabel="Cena zakupu netto metr" />
<FIELD name="VALEUR_METRIQUE_2" label="Długość" titlelabel="Długość" />
<FIELD name="ID_METRIQUE_2" label="Miara" titlelabel="Miara" />
<FIELD name="PRIX_METRIQUE_VT_3" label="Cena sprzedaży netto kg" titlelabel="Cena sprzedaży netto kg" />
<FIELD name="PRIX_METRIQUE_HA_3" label="Cena zakupu netto kg" titlelabel="Cena zakupu netto kg" />
<FIELD name="VALEUR_METRIQUE_3" label="Waga / m²" titlelabel="Waga / m²" />
<FIELD name="ID_METRIQUE_3" label="Miara" titlelabel="Miara" />
<FIELD name="ID_MODE_VENTE_ARTICLE" label="Typ sprzedaży" titlelabel="Typ sprzedaży" />
 
<FIELD name="ID_STYLE" label="Styl" titlelabel="Styl" />
<FIELD name="CODE_MISSION" label="Code mission" titlelabel="Code mission" />
<FIELD name="NOM_MISSION" label="Nom mission" titlelabel="Nom mission" />
<FIELD name="ACTIVITE" label="Aktywność" titlelabel="Aktywność" />
<FIELD name="SOUS_ACTIVITE" label="Sous activité" titlelabel="Sous activité" />
<FIELD name="ID_MODE_VENTE_ARTICLE" label="Typ sprzedaży" titlelabel="Typ sprzedaży" />
<FIELD name="MONTANT_INITIAL" label="Kwota początkowa" titlelabel="Kwota początkowa" />
<FIELD name="INDICE_0" label="Index 0" titlelabel="Index 0" />
<FIELD name="INDICE_N" label="Index N" titlelabel="Index N" />
<FIELD name="Q18" label="Extension Q18" titlelabel="Extension Q18" />
<FIELD name="TARIF_Q18_HT" label="Taryfa Q18 HT" titlelabel="Taryfa Q18 HT" />
<FIELD name="OBJET_INSPECTE" label="Inspekcja" titlelabel="Inspekcja" />
<FIELD name="REFERENTIEL_INSPECTION" label="Référentiel inspection" titlelabel="Référentiel inspection" />
<FIELD name="LOCAL_OBJET_INSPECTE" label="Lokalizacja produktu" titlelabel="Lokalizacja produktu" />
<FIELD name="ID_SECTEUR_ACTIVITE" label="Secteur d'activité" titlelabel="Secteur d'activité" />
<FIELD name="ID_NATURE_MISSION" label="Nature de la mission" titlelabel="Nature de la mission" />
<FIELD name="ID_DOMAINE" label="Domaine" titlelabel="Domaine" />
<FIELD name="MONTANT_REVISABLE" label="Przegląd" titlelabel="Przegląd" />
<FIELD name="INFOS_OBJET_INSPECTE" label="Komentarz" titlelabel="Komentarz" />
<FIELD name="ID_SITE_INTERVENTION" label="Site d'intervention" titlelabel="Site d'intervention" />
<FIELD name="ID_PERIODICITE" label="Okresowość" titlelabel="Okresowość" />
<FIELD name="DATE" label="Date d'intervention" titlelabel="Date d'intervention" />
<FIELD name="DATE_FIN" label="Date de fin d'intervention" titlelabel="Date de fin d'intervention" />
<FIELD name="POURCENT_SERVICE" label="Pourcentage service" titlelabel="Pourcentage service" />
</TABLE>
 
<TABLE name="AVOIR_FOURNISSEUR">
<FIELD name="INFOS" label="Informacje" titlelabel="Informacje" />
<FIELD name="NOM" label="Etykieta" />
<FIELD name="DATE" label="Data" />
<FIELD name="SOLDE" label="Saldo" titlelabel="Saldo" />
<FIELD name="MONTANT_HT" label="Kwota netto" titlelabel="Kwota netto" />
<FIELD name="MONTANT_TTC" label="Kwota brutto" titlelabel="Kwota brutto" />
<FIELD name="ID_TAXE" label="VAT" />
<FIELD name="ID_FOURNISSEUR" label="Dostawca" />
<FIELD name="NUMERO" label="Number" />
<FIELD name="ID_COMPTE_PCE" label="Inne koszta" titlelabel="Inne koszta" />
<FIELD name="MONTANT_TVA" label="VAT" />
<FIELD name="A_DEDUIRE" label="Do odliczenia za następny zakup" titlelabel="Do odliczenia za następny zakup" />
<FIELD name="IMMO" label="Aktywa trwałe" />
</TABLE>
 
<TABLE name="AXE_ANALYTIQUE">
<FIELD name="NOM" label="Etykieta" />
</TABLE>
 
 
 
<TABLE name="BON_RECEPTION">
<FIELD name="DATE" label="Data" />
<FIELD name="ID_FOURNISSEUR" label="Dostawca" />
<FIELD name="NUMERO" label="Numéro du bon" titlelabel="Numer" />
<FIELD name="TOTAL_POIDS" label="Waga(en kg)" titlelabel="Waga" />
<FIELD name="INFOS" label="Informacje ogólne" />
<FIELD name="TOTAL_HT" label="Suma netto" />
<FIELD name="TOTAL_TVA" label="VAT" />
<FIELD name="T_DEVISE" label="Waluta-suma" titlelabel="Waluta-suma" />
<FIELD name="TOTAL_TTC" label="Suma" />
<FIELD name="NOM" label="Referencja" />
<FIELD name="ID_COMMANDE" label="Zamówienie" />
<FIELD name="ID_DEVISE" label="Waluta" />
</TABLE>
 
<TABLE name="BON_RECEPTION_ELEMENT">
<FIELD name="QTE_UNITAIRE" label="Ilość" titlelabel="Ilość" />
<FIELD name="ID_UNITE_VENTE" label="Cena" />
<FIELD name="ID_ARTICLE" label="Produkt" />
<FIELD name="ID_CODE_FOURNISSEUR" label="Kod dostawcy" titlelabel="Kod dostawcy" />
<FIELD name="DESCRIPTIF" label="Opis" titlelabel="Opis" />
<FIELD name="CODE" label="Kod" titlelabel="Kod" />
<FIELD name="NOM" label="Etykieta" />
<FIELD name="PV_HT" label="Cena zakupu netto szt" titlelabel="Cena zakupu netto szt" />
<FIELD name="PA_HT" label="Cena sprzedaży netto szt" titlelabel="Cena sprzedaży netto szt" />
<FIELD name="ID_DEVISE" label="Waluta" />
<FIELD name="PA_DEVISE" label="Cena waluty" titlelabel="Cena waluty" />
<FIELD name="PA_DEVISE_T" label="Suma waluty" titlelabel="Suma waluty" />
<FIELD name="QTE" label="Qté reçue" titlelabel="Ilość otrzymanych" />
<FIELD name="ID_TAXE" label="VAT" />
<FIELD name="POIDS" label="Waga szt." titlelabel="Waga szt." />
<FIELD name="PRIX_METRIQUE_VT_1" label="Cena sprzedaży netto szt." titlelabel="Cena sprzedaży netto szt." />
<FIELD name="PRIX_METRIQUE_HA_1" label="Cena zakupu netto szt" titlelabel="Cena zakupu netto szt" />
<FIELD name="VALEUR_METRIQUE_1" label="Długość domyślna" titlelabel="Długość domyślna" />
<FIELD name="ID_METRIQUE_1" label="Miara" titlelabel="Miara" />
<FIELD name="PRIX_METRIQUE_VT_2" label="Cena sprzedaży netto metr" titlelabel="Cena sprzedaży netto metr" />
<FIELD name="PRIX_METRIQUE_HA_2" label="Cena zakupu netto metr" titlelabel="Cena zakupu netto metr" />
<FIELD name="VALEUR_METRIQUE_2" label="Długość" titlelabel="Długość" />
<FIELD name="ID_METRIQUE_2" label="Miara" titlelabel="Miara" />
<FIELD name="PRIX_METRIQUE_VT_3" label="Cena sprzedaży netto kg" titlelabel="Cena sprzedaży netto kg" />
<FIELD name="PRIX_METRIQUE_HA_3" label="Cena zakupu netto szt kg" titlelabel="Cena zakupu netto kg" />
<FIELD name="VALEUR_METRIQUE_3" label="Waga / m²" titlelabel="Waga / m²" />
<FIELD name="ID_METRIQUE_3" label="Miara" titlelabel="Miara" />
<FIELD name="T_PV_TTC" label="Suma" />
<FIELD name="T_PV_HT" label="Sprzedaż netto-suma" titlelabel="Sprzedaż netto-suma" />
<FIELD name="T_PA_HT" label="Zakup netto-suma" titlelabel="Zakup netto-suma" />
<FIELD name="T_PA_TTC" label="Zakup brutto-suma" titlelabel="Zakup brutto-suma" />
<FIELD name="T_POIDS" label="Waga łączna" titlelabel="Waga łączna" />
<FIELD name="ID_STYLE" label="Styl" titlelabel="Styl" />
<FIELD name="SERVICE" label="Serwis" titlelabel="Serwis" />
<FIELD name="ID_MODE_VENTE_ARTICLE" label="Typ sprzedaży" titlelabel="Typ sprzedaży" />
</TABLE>
 
<TABLE name="BON_DE_LIVRAISON">
<FIELD name="DATE" label="Data" />
<FIELD name="DATE_LIVRAISON" label="Data dostawy" titlelabel="Data dostawy" />
<FIELD name="ID_SAISIE_VENTE_FACTURE" label="Faktura" titlelabel="Faktura" />
<FIELD name="ID_CLIENT" label="Klient" />
<FIELD name="NUMERO" label="Numer dostawy" />
<FIELD name="TOTAL_POIDS" label="Waga łączna (kg)" titlelabel="Waga łączna" />
<FIELD name="INFOS" label="Informacje ogólne" />
<FIELD name="TOTAL_HT" label="Suma netto" />
<FIELD name="TOTAL_TVA" label="VAT" />
<FIELD name="TOTAL_TTC" label="Suma" />
<FIELD name="NOM" label="Nazwa" />
<FIELD name="T_ECOTAXE" label="Ecotax" />
<FIELD name="T_DEVISE" label="Waluta" titlelabel="Waluta" />
</TABLE>
<TABLE name="BON_DE_LIVRAISON_ELEMENT">
<FIELD name="QTE_UNITAIRE" label="Ilość" titlelabel="Ilość" />
<FIELD name="ID_UNITE_VENTE" label="Cena" titlelabel="\Cena" />
<FIELD name="ID_ARTICLE" label="Produkt" />
<FIELD name="DESCRIPTIF" label="Opis" titlelabel="Opis" />
<FIELD name="ID_PAYS" label="Kraj pochodzenia" titlelabel="Kraj pochodzenia" />
<FIELD name="CODE_DOUANIER" label="Kod celny" titlelabel="Kod celny" />
<FIELD name="ID_DEVISE" label="Waluta" />
<FIELD name="PV_U_DEVISE" label="Cena" titlelabel="Cena" />
<FIELD name="MARGE_HT" label="Marża netto" titlelabel="Marża netto" />
<FIELD name="PV_T_DEVISE" label="Cena łączna" titlelabel="Cena łączna" />
<FIELD name="ECOTAXE" label="Ecotaxe" titlelabel="Ecotaxe" />
<FIELD name="T_ECOTAXE" label="Bez ekotax" titlelabel="Bez Ekotax" />
<FIELD name="ID_POCHETTE" label="Pochette" titlelabel="Pochette" />
<FIELD name="PRIX_FINAL_TTC" label="Końcowa cena brutto" titlelabel="Końcowa cena brutto" />
<FIELD name="T_PRIX_FINAL_TTC" label="Łączna końcowa cena brutto" titlelabel="Łączna końcowa cena brutto" />
<FIELD name="CODE" label="Kod" titlelabel="Kod" />
<FIELD name="NOM" label="Etykieta" />
<FIELD name="PV_HT" label="Cena zakupu netto" titlelabel="Cena zakupu netto" />
<FIELD name="PA_HT" label="Cena sprzedaży netto" titlelabel="Cena sprzedaży netto" />
<FIELD name="QTE" label="Ilość do dostarczenia" titlelabel="Ilość do dostarczenia" />
<FIELD name="QTE_LIVREE" label="Ilość dostarczona" titlelabel="Ilość dostarczona" />
<FIELD name="QTE_A_LIVRER" label="Ilość do dostarczenia" titlelabel="Ilość do dostarczenia" />
<FIELD name="ID_TAXE" label="VAT" />
<FIELD name="POIDS" label="Waga szt." titlelabel="Waga szt." />
<FIELD name="PRIX_METRIQUE_VT_1" label="Cena sprzedaży netto szt" titlelabel="Cena sprzedaży netto szt" />
<FIELD name="PRIX_METRIQUE_HA_1" label="Cena zakupu netto szt" titlelabel="Cena zakupu netto szt" />
<FIELD name="VALEUR_METRIQUE_1" label="Domyślna długość" titlelabel="Domyślna długość" />
<FIELD name="ID_METRIQUE_1" label="Miara" titlelabel="Miara" />
<FIELD name="PRIX_METRIQUE_VT_2" label="Cena sprzedaży netto metr" titlelabel="Cena sprzedaży netto metr" />
<FIELD name="PRIX_METRIQUE_HA_2" label="Cena zakupu netto metr" titlelabel="Cena zakupu netto metr" />
<FIELD name="VALEUR_METRIQUE_2" label="Długość" titlelabel="Długość" />
<FIELD name="ID_METRIQUE_2" label="Miara" titlelabel="Miara" />
<FIELD name="PRIX_METRIQUE_VT_3" label="Cena sprzedaży netto kg" titlelabel="Cena sprzedaży netto kg" />
<FIELD name="PRIX_METRIQUE_HA_3" label="Cena zakupu netto kg" titlelabel="Cena zakupu netto kg" />
<FIELD name="VALEUR_METRIQUE_3" label="Waga / m²" titlelabel="Waga / m²" />
<FIELD name="ID_METRIQUE_3" label="Miara" titlelabel="Miara" />
<FIELD name="T_PV_TTC" label="Suma" />
<FIELD name="T_PV_HT" label="Total Vt HT" titlelabel="Suma sprzedaży netto" />
<FIELD name="T_PA_HT" label="Total Ha HT" titlelabel="Suma zakup netto" />
<FIELD name="T_POIDS" label="Waga łączna" titlelabel="Waga łączna" />
<FIELD name="T_POIDS_LIVREE" label="Całkowita waga dostarczona" titlelabel="Całkowita waga dostarczona" />
<FIELD name="ID_STYLE" label="Styl" titlelabel="Styl" />
<FIELD name="SERVICE" label="Serwis" titlelabel="Serwis" />
<FIELD name="ID_MODE_VENTE_ARTICLE" label="Typ sprzedaży" titlelabel="Typ sprzedaży" />
<FIELD name="T_PRIX_FINAL_TTC" label="Łączna cena brutto" titlelabel="Łączna cena brutto" />
<FIELD name="PRIX_FINAL_TTC" label="Cena brutto" titlelabel="Cena brutto" />
<FIELD name="T_ECOTAXE" label="Suma Ecotax" titlelabel="Suma Ecotax" />
</TABLE>
 
 
<TABLE name="CAISSE">
<FIELD name="NOM" label="Punkty sprzedaży" />
<FIELD name="NUMERO" label="Numer" />
</TABLE>
 
<TABLE name="CHEQUE_A_ENCAISSER">
<FIELD name="ID_CLIENT" label="Customer" />
<FIELD name="ID_MOUVEMENT" label="Mouvement" titlelabel="Mouvement" />
<FIELD name="MONTANT" label="Amount" />
<FIELD name="ENCAISSE" label="Deposit done" />
<FIELD name="DATE_VENTE" label="Sales date" />
<FIELD name="DATE_DEPOT" label="Deposit date" />
<FIELD name="DATE_MIN_DEPOT" label="To depose after" />
<FIELD name="DATE" label="Date" />
<FIELD name="ETS" label="Bank name" />
<FIELD name="NUMERO" label="Check number" />
<FIELD name="REG_COMPTA" label="Régularisation en comptabilité" titlelabel="Régularisation en comptabilité" />
</TABLE>
 
<TABLE name="CHEQUE_FOURNISSEUR">
<FIELD name="REG_COMPTA" label="Régularisation en comptabilité" titlelabel="Régularisation en comptabilité" />
<FIELD name="ID_FOURNISSEUR" label="Numéro fournisseur" titlelabel="Numéro fournisseur" />
<FIELD name="MONTANT" label="Amount" titlelabel="Amount" />
<FIELD name="DECAISSE" label="Décaissé" titlelabel="Décaissé" />
<FIELD name="DATE_ACHAT" label="Purchase date" />
<FIELD name="DATE_MIN_DECAISSE" label="A décaisser après le" titlelabel="A décaisser après le" />
<FIELD name="DATE_DECAISSE" label="Décaissé le" titlelabel="Décaissé le" />
<FIELD name="DATE" label="Date" />
<FIELD name="ETS" label="Bank name" />
<FIELD name="NUMERO" label="Check number" />
</TABLE>
 
<TABLE name="CHEQUE_AVOIR_CLIENT">
<FIELD name="ID_CLIENT" label="Customer" />
<FIELD name="MONTANT" label="Amount" titlelabel="Amount" />
<FIELD name="DECAISSE" label="Décaissé" titlelabel="Décaissé" />
<FIELD name="DATE_AVOIR" label="Avoir du" titlelabel="Avoir du" />
<FIELD name="DATE_DECAISSE" label="Décaissé le" titlelabel="Décaissé le" />
<FIELD name="DATE_MIN_DECAISSE" label="A décaissé après le" titlelabel="A décaissé après le" />
<FIELD name="DATE" label="Date" />
<FIELD name="ETS" label="Bank name" />
<FIELD name="NUMERO" label="Check number" />
<FIELD name="REG_COMPTA" label="Régularisation en comptabilité" titlelabel="Régularisation en comptabilité" />
</TABLE>
 
<TABLE name="CLASSE_COMPTE">
<FIELD name="NOM" label="Label" />
<FIELD name="TYPE_NUMERO_COMPTE" label="Type numéro de compte" titlelabel="Type numéro de compte" />
</TABLE>
 
<TABLE name="CLASSEMENT_CONVENTIONNEL">
<FIELD name="NIVEAU" label="Niveau" titlelabel="Niveau" />
<FIELD name="COEFF" label="Coefficient" titlelabel="Coefficient" />
<FIELD name="INDICE" label="Indice" titlelabel="Indice" />
<FIELD name="POSITION" label="Position" titlelabel="Position" />
<FIELD name="ECHELON" label="Echelon" titlelabel="Echelon" />
</TABLE>
 
<TABLE name="CLIENT">
<FIELD name="ID_TYPE_CLIENT" label="Typ klienta" />
<FIELD name="ID_GROUPE_CLIENT" label="Grupa" />
<FIELD name="ID_PAYS" label="Kraj" />
<FIELD name="ID_LANGUE" label="Język" />
<FIELD name="ID_CLIENT" label="Klient" />
<FIELD name="FORME_JURIDIQUE" label="Forma prawna" titlelabel="Forma prawna" />
<FIELD name="NOM" label="Name" />
<FIELD name="CODE" label="Kod klienta" />
<FIELD name="TEL" label="Telefon" />
<FIELD name="TEL_P" label="Telefon kom." />
<FIELD name="FAX" label="Fax" />
<FIELD name="MAIL" label="Email" />
<FIELD name="RESPONSABLE" label="Menadżer" />
<FIELD name="RESPONSABLE_TECH" label="Technik" />
<FIELD name="RESPONSABLE_COM" label="Handlowiec" />
<FIELD name="TEL_COM" label="Telefon" />
<FIELD name="FAX_COM" label="Fax" />
<FIELD name="TEL_P_COM" label="Mobile" />
<FIELD name="MAIL_COM" label="Email" />
<FIELD name="TEL_TECH" label="Telefon" />
<FIELD name="FAX_TECH" label="Fax" />
<FIELD name="TEL_P_TECH" label="Telefon kom" />
<FIELD name="MAIL_TECH" label="Email" />
<FIELD name="ID_COMPTE_PCE" label="Konto" titlelabel="Konto" />
<FIELD name="ID_ADRESSE" label="Adres główny" />
<FIELD name="ID_ADRESSE_L" label="Adres dostawy" />
<FIELD name="ID_ADRESSE_F" label="Adres faktury" />
<FIELD name="NUMERO_TVA" label="Numer VAT/NIP" />
<FIELD name="ID_ADRESSE" label="Adres" />
<FIELD name="MARCHE_PUBLIC" label="Sektor publiczny" />
<FIELD name="MARCHE_PRIVE" label="Sektor prywatny" />
<FIELD name="ID_ADRESSE_L" label="Adres dostawy" />
<FIELD name="RIB" label="RIB" titlelabel="RIB" />
<FIELD name="SIRET" label="SIRET" titlelabel="SIRET" />
<FIELD name="ID_SECTEUR_ACTIVITE" label="Aktywność" />
<FIELD name="INFOS" label="Additionnal information" />
<FIELD name="ID_MODE_REGLEMENT" label="Domyślny sposób płatności" titlelabel="Domyślny sposób płatności" />
<FIELD name="MAX_FACTURE" label="Ograniczenia fakturowania" titlelabel="Ograniczenia fakturowania" />
<FIELD name="COMPTANT" label="Obowiązkowe rozliczenie gotówkowe" titlelabel="Obowiązkowe rozliczenie gotówkowe" />
<FIELD name="ID_TARIF" label="Lista produktów" titlelabel="Lista produktów" />
</TABLE>
 
<TABLE name="CODE_REGIME">
<FIELD name="CODE" label="Kod" titlelabel="Kod" />
<FIELD name="NOM" label="Etykieta" />
</TABLE>
 
<TABLE name="CODE_CARACT_ACTIVITE">
<FIELD name="CODE" label="Kod" titlelabel="Kod" />
<FIELD name="NOM" label="Nazwa" />
</TABLE>
<TABLE name="CODE_CONTRAT_TRAVAIL">
<FIELD name="CODE" label="Kod" titlelabel="Kod" />
<FIELD name="NOM" label="Nazwa" />
</TABLE>
<TABLE name="CODE_DROIT_CONTRAT">
<FIELD name="CODE" label="Kod" titlelabel="Kod" />
<FIELD name="NOM" label="Nazwa" />
</TABLE>
 
<TABLE name="CODE_FOURNISSEUR">
<FIELD name="CODE" label="Kod" titlelabel="Kod" />
<FIELD name="ID_FOURNISSEUR" label="Supplier" />
</TABLE>
 
<TABLE name="CODE_STATUT_PROF">
<FIELD name="CODE" label="Kod" titlelabel="Kod" />
<FIELD name="NOM" label="Nazwa" />
</TABLE>
 
<TABLE name="CODE_STATUT_CATEGORIEL">
<FIELD name="CODE" label="Kod" titlelabel="Kod" />
<FIELD name="NOM" label="Nazwa" />
</TABLE>
 
<TABLE name="CODE_EMPLOI">
<FIELD name="CODE" label="Kod" titlelabel="Kod" />
<FIELD name="NOM" label="Nazwa" />
</TABLE>
 
<TABLE name="CONTACT">
<FIELD name="PRENOM" label="Imię" />
<FIELD name="NOM" label="Nazwisko" />
<FIELD name="ID_TITRE_PERSONNEL" label="Płeć" />
<FIELD name="TEL_DIRECT" label="Telefon" />
<FIELD name="TEL_PERSONEL" label="Telefon osobisty" />
<FIELD name="TEL_STANDARD" label="Telefon firmowy" />
<FIELD name="TEL_MOBILE" label="Telefon kom." />
<FIELD name="EMAIL" label="Email" />
<FIELD name="FAX" label="Fax" />
<FIELD name="FONCTION" label="Rola" />
<FIELD name="ID_CLIENT" label="Klient" />
<FIELD name="NO_MAILING" label="No pocztowy" />
</TABLE>
 
<TABLE name="CONTACT_FOURNISSEUR">
<FIELD name="PRENOM" label="Imię" />
<FIELD name="NOM" label="Nazwisko" />
<FIELD name="ID_TITRE_PERSONNEL" label="Płeć" />
<FIELD name="TEL_DIRECT" label="Telefon" />
<FIELD name="TEL_PERSONEL" label="Telefon osobisty" />
<FIELD name="TEL_STANDARD" label="Telefon firmowy" />
<FIELD name="TEL_MOBILE" label="Telefon kom." />
<FIELD name="EMAIL" label="Email" />
<FIELD name="FAX" label="Fax" />
<FIELD name="FONCTION" label="Rola" />
<FIELD name="ID_FOURNISSEUR" label="Dostawca" />
</TABLE>
 
<TABLE name="CONTACT_ADMINISTRATIF">
<FIELD name="PRENOM" label="Imię" />
<FIELD name="NOM" label="Nazwisko" />
<FIELD name="ID_TITRE_PERSONNEL" label="Płeć" />
<FIELD name="TEL_DIRECT" label="Telefon" />
<FIELD name="TEL_PERSONEL" label="Telefon osobisty" />
<FIELD name="TEL_STANDARD" label="Telefon firmowy" />
<FIELD name="TEL_MOBILE" label="Telefon kom" />
<FIELD name="EMAIL" label="Email" />
<FIELD name="FAX" label="Fax" />
<FIELD name="FONCTION" label="Rola" />
<FIELD name="N4DS" label="Contact for social declaration" />
</TABLE>
 
<TABLE name="CONTRAT_SALARIE">
<FIELD name="NATURE" label="Nature de l'emploi (*)" titlelabel="Nature de l'emploi" />
<FIELD name="ID_CODE_EMPLOI" label="Catégorie socioprofessionnelle " titlelabel="Code Catégorie socioprofessionnelle" />
<FIELD name="ID_CODE_CONTRAT_TRAVAIL" label="Contrat de travail" titlelabel="Code contrat" />
<FIELD name="ID_CODE_DROIT_CONTRAT" label="Droit du contrat de travail" titlelabel="Code droit du contrat" />
<FIELD name="ID_CODE_STATUT_PROF" label="Statut professionnel du salarié" titlelabel="Code statut professionnel" />
<FIELD name="ID_CODE_STATUT_CATEGORIEL" label="Statut catégoriel du salarié " titlelabel="Code statut catégoriel" />
<FIELD name="ID_CODE_CARACT_ACTIVITE" label="Caractéristique de l'activité" titlelabel="Code caractéristique" />
<FIELD name="ID_CODE_STATUT_CAT_CONV" label="Statut catégoriel conventionnel" titlelabel="Statut catégoriel conventionnel" />
 
<FIELD name="CODE_IRC_UGRR" label="Code IRC UGRR" titlelabel="Code IRC UGRR" />
<FIELD name="CODE_IRC_UGRC" label="Code IRC UGRC" titlelabel="Code IRC UGRC" />
<FIELD name="NUMERO_RATTACHEMENT_UGRR" label="N° rattachement UGRR" titlelabel="N° rattachement UGRR" />
<FIELD name="NUMERO_RATTACHEMENT_UGRC" label="N° rattachement UGRC" titlelabel="N° rattachement UGRC" />
<FIELD name="CODE_IRC_RETRAITE" label="Code IRC retraite" titlelabel="Code IRC retraite" />
<FIELD name="NUMERO_RATTACHEMENT_RETRAITE" label="N° rattachement retraite" titlelabel="N° rattachement retraite" />
 
</TABLE>
 
<TABLE name="COMMANDE">
<FIELD name="EN_COURS" label="W toku" />
<FIELD name="NOM" label="Etykieta" />
<FIELD name="NUMERO" label="Numer" />
<FIELD name="INFOS" label="Informacje" />
<FIELD name="DATE" label="Data" />
<FIELD name="DATE_ECHEANCE" label="Data wymagalności" />
<FIELD name="ID_FOURNISSEUR" label="Dostawca" />
<FIELD name="ID_COMMERCIAL" label="Handlowiec" />
<FIELD name="SOURCE" label="Źródło" titlelabel="Źródło" />
<FIELD name="T_HT" label="Suma netto" />
<FIELD name="T_TVA" label="VAT" />
<FIELD name="T_TTC" label="Suma" />
<FIELD name="T_DEVISE" label="Suma waluta" />
<FIELD name="T_POIDS" label="Łączna waga" />
<FIELD name="ID_DEVISE" label="Waluta" />
<FIELD name="ID_CLIENT" label="Klient" />
<FIELD name="ID_ADRESSE" label="Adres dostawy" titlelabel="Adres dostawy" />
</TABLE>
 
<TABLE name="COMMANDE_ELEMENT">
<FIELD name="QTE_UNITAIRE" label="Ilość" titlelabel="Ilość" />
<FIELD name="ID_CODE_FOURNISSEUR" label="Kod dostawcy" titlelabel="Kod dostawcy" />
<FIELD name="ID_UNITE_VENTE" label="Cena" titlelabel="Cena" />
<FIELD name="ID_ARTICLE" label="Produkt" />
<FIELD name="ID_DEVISE" label="Waluta" />
<FIELD name="PA_DEVISE" label="Cena waluty" titlelabel="Cena waluty" />
<FIELD name="PA_DEVISE_T" label="Cena waluty-suma" titlelabel="Cena waluty-suma" />
<FIELD name="DESCRIPTIF" label="Opis" titlelabel="Opis" />
<FIELD name="ID_COMMANDE" label="Zamówienie" titlelabel="Zamówienie" />
<FIELD name="ID_STYLE" label="Styl" titlelabel="Styl" />
<FIELD name="CODE" label="Kod" titlelabel="Kod" />
<FIELD name="NOM" label="Przeznaczenie" titlelabel="Przeznaczenie" />
<FIELD name="PA_HT" label="Cena zakupu netto" titlelabel="Cena zakupu netto" />
<FIELD name="PV_HT" label="Cena sprzedaży netto" titlelabel="Cena sprzedaży netto" />
<FIELD name="ID_TAXE" label="VAT" />
<FIELD name="POIDS" label="Waga szt." titlelabel="Waga szt." />
<FIELD name="QTE" label="Ilość" />
<FIELD name="SERVICE" label="Serwis" titlelabel="Serwis" />
<FIELD name="PRIX_METRIQUE_VT_1" label="Cena sprzedaży netto szt" titlelabel="Cena sprzedaży netto szt" />
<FIELD name="PRIX_METRIQUE_HA_1" label="Cena zakupu netto szt" titlelabel="Cena zakupu netto szt" />
<FIELD name="VALEUR_METRIQUE_1" label="Domyślna długość" titlelabel="Domyślna długość" />
<FIELD name="ID_METRIQUE_1" label="Miara" titlelabel="Miara" />
<FIELD name="PRIX_METRIQUE_VT_2" label="Cena sprzedaży netto metr" titlelabel="Cena sprzedaży netto metr" />
<FIELD name="PRIX_METRIQUE_HA_2" label="Cena zakupu netto metr" titlelabel="Cena zakupu netto metr" />
<FIELD name="VALEUR_METRIQUE_2" label="Długość" titlelabel="Długość" />
<FIELD name="ID_METRIQUE_2" label="Miara" titlelabel="Miara" />
<FIELD name="PRIX_METRIQUE_VT_3" label="Cena sprzedaży netto kg" titlelabel="Cena sprzedaży netto kg" />
<FIELD name="PRIX_METRIQUE_HA_3" label="Cena zakupu netto kg" titlelabel="Cena zakupu netto kg" />
<FIELD name="VALEUR_METRIQUE_3" label="Waga / m²" titlelabel="Waga / m²" />
<FIELD name="ID_METRIQUE_3" label="Miara" titlelabel="Miara" />
<FIELD name="T_PV_TTC" label="Suma brutto-sprzedaż" />
<FIELD name="T_PV_HT" label="Suma netto-sprzedaż" titlelabel="Suma netto-sprzedaż" />
<FIELD name="T_PA_TTC" label="Suma brutto-zakup" titlelabel="Suma brutto-zakup" />
<FIELD name="T_PA_HT" label="Suma netto-zakup" titlelabel="Suma netto-zakup" />
<FIELD name="POURCENT_REMISE" label="% Rabat" titlelabel="% Rabat" />
<FIELD name="T_POIDS" label="Waga łączna" titlelabel="Waga łączna" />
<FIELD name="ID_MODE_VENTE_ARTICLE" label="Typ sprzedaży" titlelabel="Typ sprzedaży" />
</TABLE>
 
<TABLE name="COMMANDE_CLIENT">
<FIELD name="NOM" label="Nazwa" />
<FIELD name="NUMERO" label="Numer" />
<FIELD name="DATE" label="Date" />
<FIELD name="DATE_ECHEANCE" label="Data wymagalnośći" />
<FIELD name="ID_CLIENT" label="Klient" />
<FIELD name="T_HT" label="Suma netto" />
<FIELD name="T_TVA" label="VAT" />
<FIELD name="T_TTC" label="Suma" />
<FIELD name="T_DEVISE" label="Łączna oferta" titlelabel="Łączna oferta" />
<FIELD name="INFOS" label="Informacje" titlelabel="Informacje" />
<FIELD name="SOURCE" label="Źródło" titlelabel="Źródło" />
<FIELD name="T_POIDS" label="Waga łączna" titlelabel="Waga łączna" />
<FIELD name="ID_COMMERCIAL" label="Handlowiec" />
<FIELD name="ID_POLE_PRODUIT" label="Pôle produit" titlelabel="Pôle produit" />
<FIELD name="TYPE_EXPEDITION" label="Delivery type" />
</TABLE>
 
<TABLE name="COMMANDE_CLIENT_ELEMENT">
<FIELD name="QTE_UNITAIRE" label="Ilość" titlelabel="Ilość" />
<FIELD name="ID_UNITE_VENTE" label="Cena" titlelabel="Cena" />
<FIELD name="ID_ARTICLE" label="Produkt" />
<FIELD name="DESCRIPTIF" label="Opis" titlelabel="Opis" />
<FIELD name="POURCENT_REMISE" label="% Rabat" titlelabel="% Rabat" />
<FIELD name="ID_PAYS" label="Kraj pochodzenia" titlelabel="Kraj pochodzenia" />
<FIELD name="CODE_DOUANIER" label="Kod celny" titlelabel="Kod celny" />
<FIELD name="ID_DEVISE" label="Waluta" />
<FIELD name="PV_U_DEVISE" label="Cena waluty" titlelabel="Cena waluty" />
<FIELD name="PV_T_DEVISE" label="Cena waluty-suma" titlelabel="Cena waluty-suma" />
<FIELD name="ID_COMMANDE_CLIENT" label="Zamówienie" titlelabel="Zamówienie" />
<FIELD name="ID_STYLE" label="Styl" titlelabel="Styl" />
<FIELD name="CODE" label="Kod" titlelabel="Kod" />
<FIELD name="NOM" label="Opis" titlelabel="Opis" />
<FIELD name="PA_HT" label="Cena zakupu netto" titlelabel="Cena zakupu netto" />
<FIELD name="MARGE_HT" label="Marża netto" titlelabel="Marża netto" />
<FIELD name="PV_HT" label="Cena sprzedaży netto" titlelabel="Cena sprzedaży netto" />
<FIELD name="ID_TAXE" label="VAT" />
<FIELD name="POIDS" label="Waga szt." titlelabel="Waga szt." />
<FIELD name="QTE" label="Ilość" />
<FIELD name="SERVICE" label="Serwis" titlelabel="Serwis" />
<FIELD name="PRIX_METRIQUE_VT_1" label="Cena sprzedaży netto szt." titlelabel="Cena sprzedaży netto szt." />
<FIELD name="PRIX_METRIQUE_HA_1" label="Cena zakupu netto szt." titlelabel="Cena zakupu netto szt." />
<FIELD name="VALEUR_METRIQUE_1" label="Domyślna długość" titlelabel="Domyślna długość" />
<FIELD name="ID_METRIQUE_1" label="Miara" titlelabel="Miara" />
<FIELD name="PRIX_METRIQUE_VT_2" label="Cena sprzedaży netto metr" titlelabel="Cena sprzedaży netto metr" />
<FIELD name="PRIX_METRIQUE_HA_2" label="Cena zakupu netto metr" titlelabel="Cena zakupu netto metr" />
<FIELD name="VALEUR_METRIQUE_2" label="Długość" titlelabel="Długość" />
<FIELD name="ID_METRIQUE_2" label="Miara" titlelabel="Miara" />
<FIELD name="PRIX_METRIQUE_VT_3" label="Cena sprzedaży netto kg" titlelabel="Cena sprzedaży netto kg" />
<FIELD name="PRIX_METRIQUE_HA_3" label="Cena zakupu netto kg" titlelabel="Cena zakupu netto kg" />
<FIELD name="VALEUR_METRIQUE_3" label="Waga / m²" titlelabel="Waga / m²" />
<FIELD name="ID_METRIQUE_3" label="Miara" titlelabel="Miara" />
<FIELD name="T_PV_TTC" label="Suma brutto-sprzedaż" />
<FIELD name="T_PV_HT" label="Suma netto-sprzedaż" titlelabel="Suma netto-sprzedaż" />
<FIELD name="T_PA_HT" label="Suma netto-zakup" titlelabel="Suma netto-zakup" />
<FIELD name="T_POIDS" label="Waga łączna" titlelabel="Waga łączna" />
<FIELD name="ID_MODE_VENTE_ARTICLE" label="Typ sprzedaży" titlelabel="Typ sprzedaży" />
 
<FIELD name="POURCENT_ACOMPTE" label="% depozyt" />
</TABLE>
 
<TABLE name="COMMERCIAL">
<FIELD name="ID_TITRE_PERSONNEL" label="Tytuł" titlelabel="Tytuł" />
<FIELD name="TEL_DIRECT" label="Telefon bezpośredni" titlelabel="Telefon bezpośredni" />
<FIELD name="PRENOM" label="Imię" titlelabel="Imię" />
<FIELD name="TEL_STANDARD" label="Telefon" titlelabel="Telefon" />
<FIELD name="FAX" label="FAX" titlelabel="FAX" />
<FIELD name="FONCTION" label="Funkcja" titlelabel="Funkcja" />
<FIELD name="ID_SITE" label="Site" titlelabel="Site contact" />
<FIELD name="EMAIL" label="Adrese email" titlelabel="Adrese email" />
<FIELD name="NOM" label="Nazwa handlowca" titlelabel="Nazwa handlowca" />
<FIELD name="ID_USER_COMMON" label="Utilisateur" titlelabel="Utilisateur" />
<FIELD name="TEL_MOBILE" label="Telefon kom." titlelabel="Telefon kom." />
<FIELD name="TEL_PERSONEL" label="Telefon prywatny" titlelabel="Telefon prywatny" />
</TABLE>
 
<TABLE name="COMPTE_PCE">
<FIELD name="NUMERO" label="Numer konta" titlelabel="Numer konta" />
<FIELD name="NOM" label="Nazwa" />
<FIELD name="INFOS" label="Informacje" titlelabel="Informacje" />
<FIELD name="RACINE" label="Źródło" titlelabel="Źródło" />
<FIELD name="TOTAL_DEBIT" label="Obrót" titlelabel="Obrót" />
<FIELD name="TOTAL_CREDIT" label="Total crédit" titlelabel="Total crédit" />
<FIELD name="ID_NATURE_COMPTE" label="Nature du compte" titlelabel="Nature Compte" />
</TABLE>
 
<TABLE name="COMPTE_PCG">
<FIELD name="NOM" label="Account" />
<FIELD name="NUMERO" label="Number" />
<FIELD name="INFOS" label="Informations" titlelabel="Informations" />
<FIELD name="ID_TYPE_COMPTE_PCG_BASE" label="Compte de base" titlelabel="Compte de base" />
<FIELD name="ID_TYPE_COMPTE_PCG_AB" label="Compte abrégé" titlelabel="Compte abrégé" />
<FIELD name="ID_TYPE_COMPTE_PCG_DEV" label="Compte développé" titlelabel="Compte développé" />
<FIELD name="ID_NATURE_COMPTE" label="Nature compte" titlelabel="Nature compte" />
</TABLE>
 
<TABLE name="COURRIER_CLIENT">
<FIELD name="NOM" label="Objet" titlelabel="Objet" />
<FIELD name="NUMERO" label="Number" />
<FIELD name="INFOS" label="Informations" titlelabel="Informations" />
<FIELD name="ID_MODELE_COURRIER_CLIENT" label="Template" />
<FIELD name="ID_AFFAIRE" label="Numéro d'affaire" titlelabel="Numéro d'affaire" />
<FIELD name="DATE" label="Date" />
<FIELD name="ID_SECRETAIRE" label="Secretary" titlelabel="Secretary" />
</TABLE>
 
<TABLE name="CUMULS_CONGES">
<FIELD name="RESTANT" label="Congés restant" titlelabel="Congés restant" />
<FIELD name="ACQUIS" label="Congés acquis" titlelabel="Congés acquis" />
</TABLE>
 
<TABLE name="CUMULS_PAYE">
<FIELD name="SAL_BRUT_C" label="Salaire brut cumulé" titlelabel="Salaire brut cumulé" />
<FIELD name="COT_PAT_C" label="Cotisations pat. cumulées" titlelabel="Cotisations pat. cumulées" />
<FIELD name="COT_SAL_C" label="Cotisations sal. cumulées" titlelabel="Cotisations sal. cumulées" />
<FIELD name="NET_IMP_C" label="Salaire net imposable cumulé" titlelabel="Salaire net imposable cumulé" />
<FIELD name="NET_A_PAYER_C" label="Salaire net cumulé" titlelabel="Salaire net cumulé" />
<FIELD name="CSG_C" label="Base CSG cumulée" titlelabel="Base CSG cumulée" />
</TABLE>
 
<TABLE name="DEPARTEMENT">
<FIELD name="NUMERO" label="Number" />
<FIELD name="NOM" label="Nazwa" />
<FIELD name="CHEF_LIEU" label="Chef lieu" titlelabel="Chef lieu" />
<FIELD name="REGION_ADMIN" label="Région administrative" titlelabel="Région administrative" />
</TABLE>
 
<TABLE name="DEVIS">
<FIELD name="ID_MODELE" label="Moduł" />
<FIELD name="PROBABILITE" label="Prawdopodobieństwo" titlelabel="Prawdopodobieństwo" />
<FIELD name="DATE_VALIDITE" label="Data ważności" />
<FIELD name="NUMERO" label="Numer oferty" />
<FIELD name="DATE" label="Data" />
<FIELD name="OBJET" label="Referencja" />
<FIELD name="ID_COMMERCIAL" label="Handlowiec" />
<FIELD name="ID_CLIENT" label="Klient" />
<FIELD name="T_HT" label="Suma netto" />
<FIELD name="T_TVA" label="VAT" />
<FIELD name="T_TTC" label="Suma" />
<FIELD name="PORT_HT" label="Dostawa" />
<FIELD name="REMISE_HT" label="Rabat" />
<FIELD name="T_SERVICE" label="Serwis" />
<FIELD name="T_POIDS" label="Waga (kg)" />
<FIELD name="ID_ETAT_DEVIS" label="Województwo" />
<FIELD name="INFOS" label="Informacje ogólne" titlelabel="Informacje ogólne" />
<FIELD name="DATE_ENVOI" label="Data wysłania" />
<FIELD name="ID_ADRESSE" label="Adres" />
<FIELD name="ID_CONTACT" label="Kontakt" />
<FIELD name="ADRESSE_IDENTIQUE" label="Adres" />
<FIELD name="T_DEVISE" label="Suma-waluta" titlelabel="Suma-waluta" />
</TABLE>
<TABLE name="DEVIS_ELEMENT">
<FIELD name="QTE_UNITAIRE" label="Ilość" titlelabel="Ilość" />
<FIELD name="ID_UNITE_VENTE" label="Cena" titlelabel="Cena" />
<FIELD name="ID_ARTICLE" label="Produkt" />
<FIELD name="DESCRIPTIF" label="Opis" titlelabel="Opis" />
<FIELD name="MARGE_HT" label="Marża netto" titlelabel="Marża netto" />
<FIELD name="POURCENT_REMISE" label="% Rabat" titlelabel="% Rabat" />
<FIELD name="ID_PAYS" label="Kraj pochodzenia" titlelabel="Kraj pochodzenia" />
<FIELD name="CODE_DOUANIER" label="Kod celny" titlelabel="Kod celny" />
<FIELD name="ID_DEVISE" label="Waluta" />
<FIELD name="PV_U_DEVISE" label="Cena waluty" titlelabel="Cena waluty" />
<FIELD name="PV_T_DEVISE" label="Cena waluty-suma" titlelabel="Cena waluty-suma" />
<FIELD name="ID_DEVIS" label="Oferta" />
<FIELD name="ID_STYLE" label="Styl" titlelabel="Styl" />
<FIELD name="CODE" label="Kod" titlelabel="Kod" />
<FIELD name="NOM" label="Opis" titlelabel="Opis" />
<FIELD name="PA_HT" label="Cena zakupu netto" titlelabel="Cena zakupu netto" />
<FIELD name="PV_HT" label="Cena sprzedaży netto" titlelabel="Cena sprzedaży netto" />
<FIELD name="ID_TAXE" label="VAT" />
<FIELD name="POIDS" label="Waga szt." titlelabel="Waga szt." />
<FIELD name="T_POIDS" label="Waga łączna" titlelabel="Waga łączna" />
<FIELD name="T_PA_HT" label="Zakup netto-suma" titlelabel="Zakup netto-suma" />
<FIELD name="T_PV_HT" label="Sprzedaż netto-suma" />
<FIELD name="T_PV_TTC" label="Suma brutto" />
<FIELD name="QTE" label="Ilość" />
<FIELD name="SERVICE" label="Serwis" titlelabel="Serwis" />
<FIELD name="PRIX_METRIQUE_VT_1" label="Cena sprzedaży netto szt." titlelabel="Cena sprzedaży netto szt." />
<FIELD name="PRIX_METRIQUE_HA_1" label="Cena zakupu netto szt." titlelabel="Cena zakupu netto szt." />
<FIELD name="VALEUR_METRIQUE_1" label="Domyślna długość" titlelabel="Domyślna długość" />
<FIELD name="ID_METRIQUE_1" label="Miara" titlelabel="Miara" />
<FIELD name="PRIX_METRIQUE_VT_2" label="Cena sprzedaży netto metr" titlelabel="Cena sprzedaży netto metr" />
<FIELD name="PRIX_METRIQUE_HA_2" label="Cena zakupu netto metr" titlelabel="Cena zakupu netto metr" />
<FIELD name="VALEUR_METRIQUE_2" label="Długość" titlelabel="Długość" />
<FIELD name="ID_METRIQUE_2" label="Miara" titlelabel="Miara" />
<FIELD name="PRIX_METRIQUE_VT_3" label="Cena sprzedaży netto kg" titlelabel="Cena sprzedaży netto kg" />
<FIELD name="PRIX_METRIQUE_HA_3" label="Cena zakupu netto kg" titlelabel="Cena zakupu netto kg" />
<FIELD name="VALEUR_METRIQUE_3" label="Waga / m²" titlelabel="Waga / m²" />
<FIELD name="ID_METRIQUE_3" label="Miara" titlelabel="Miara" />
<FIELD name="ID_MODE_VENTE_ARTICLE" label="Tryb zprzedaży" titlelabel="Tryb zprzedaży" />
</TABLE>
 
<TABLE name="ECHANTILLON_ELEMENT">
<FIELD name="NOM" label="Nazwa" titlelabel="Nazwa" />
<FIELD name="QTE" label="Ilość" titlelabel="Ilość" />
<FIELD name="PV_HT" label="Cena netto szt." titlelabel="Cena netto szt." />
<FIELD name="ID_TAXE" label="VAT" />
<FIELD name="T_PV_HT" label="Suma netto" />
<FIELD name="T_PV_TTC" label="Suma" />
</TABLE>
 
<TABLE name="ECHEANCE_CLIENT">
<FIELD name="MONTANT" label="Amount" titlelabel="Kwota" />
<FIELD name="DATE" label="Data wymagalności" />
<FIELD name="NOMBRE_RELANCE" label="Numer" titlelabel="Numer" />
<FIELD name="ID_MOUVEMENT" label="Numer czynności" titlelabel="Numer czynności" />
<FIELD name="ID_CLIENT" label="Klient" titlelabel="Klient" />
<FIELD name="REGLE" label="Regulacja" titlelabel="Regulacja" />
<FIELD name="INFOS" label="Komentarz" />
<FIELD name="RETOUR_NATEXIS" label="Zwrot nadpłaty" titlelabel="Zwrot nadpłata" />
<FIELD name="REG_COMPTA" label="Regulacja płatności" titlelabel="Regulacja płatności" />
<FIELD name="DATE_LAST_RELANCE" label="Data ostatniej płatności" titlelabel="Data ostatniej płatności" />
<FIELD name="MONTANT" label="Kwota należnego VAT-u" titlelabel="Kwota należnego VAT-u" />
</TABLE>
<TABLE name="ECHEANCE_FOURNISSEUR">
<FIELD name="REGLE" label="Regulacja" titlelabel="Regulacja" />
<FIELD name="MONTANT" label="Kwota" titlelabel="Kwota" />
<FIELD name="DATE" label="Data wymagalności" />
<FIELD name="NOMBRE_RELANCE" label="Nombre de relance" titlelabel="Numer" />
<FIELD name="ID_MOUVEMENT" label="Numer operacji" titlelabel="Numer operacji" />
<FIELD name="ID_FOURNISSEUR" label="Dostawca" />
</TABLE>
 
<TABLE name="ECHEANCIER_CCI">
<FIELD name="DATE" label="Data" />
<FIELD name="MONTANT_HT" label="Suma netto" titlelabel="Suma netto" />
<FIELD name="NOM" label="Tytuł" titlelabel="Tytuł" />
<FIELD name="ID_AFFAIRE" label="Projekt" titlelabel="Projekt" />
</TABLE>
 
<TABLE name="ECOTAXE">
<FIELD name="NOM" label="Ecotax" titlelabel="Ecotax" />
<FIELD name="MONTANT_HT" label="Suma" titlelabel="Suma" />
</TABLE>
 
<TABLE name="ECRITURE">
<FIELD name="ID" label="N° Ecriture" titlelabel="N° Ecriture" />
<FIELD name="JOURNAL_NOM" label="Journal" titlelabel="Journal" />
<FIELD name="JOURNAL_CODE" label="Code journal" titlelabel="Code journal" />
<FIELD name="COMPTE_NUMERO" label="Numéro de compte" titlelabel="Numéro de compte" />
<FIELD name="COMPTE_NOM" label="Account" />
<FIELD name="NOM" label="Libellé écriture" titlelabel="Libellé écriture" />
<FIELD name="VALIDE" label="Ecriture validée" titlelabel="Ecriture validée" />
<FIELD name="ID_COMPTE_PCE" label="Account" />
<FIELD name="ID_MOUVEMENT" label="N° de mouvement" titlelabel="N° de mouvement" />
<FIELD name="DATE" label="Date" />
<FIELD name="LETTRAGE" label="Lettrage" titlelabel="Lettrage" />
<FIELD name="DEBIT" label="Débit" titlelabel="Débit" />
<FIELD name="CREDIT" label="Crédit" titlelabel="Crédit" />
<FIELD name="ID_JOURNAL" label="Journal" titlelabel="Journal" />
<FIELD name="POINTEE" label="Code de pointage" titlelabel="Code pointage" />
<FIELD name="DATE_POINTEE" label="Date de pointage" titlelabel="Date pointage" />
<FIELD name="DATE_VALIDE" label="Date de validation" titlelabel="Date validation" />
<FIELD name="DATE_LETTRAGE" label="Date de lettrage" titlelabel="Date de lettrage" />
<FIELD name="IDUSER_CREATE" label="User create" titlelabel="User create" />
<FIELD name="IDUSER_DELETE" label="User delete" titlelabel="User delete" />
<FIELD name="IDUSER_VALIDE" label="User valide" titlelabel="User valide" />
</TABLE>
 
<TABLE name="ENCAISSER_MONTANT">
<FIELD name="DATE" label="Date de règlement" titlelabel="Date de règlement" />
<FIELD name="MONTANT" label="Amount" titlelabel="Amount" />
<FIELD name="NOM" label="Libellé encaissement" titlelabel="Libellé encaissement" />
<FIELD name="ID_CLIENT" label="Customer" />
<FIELD name="ID_MODE_REGLEMENT" label="Method of payment" />
<FIELD name="ID_ECHEANCE_CLIENT" label="Echéance client" titlelabel="échéance" />
</TABLE>
 
<TABLE name="ENCAISSER_MONTANT_ELEMENT">
<FIELD name="ID_ECHEANCE" label="Echéance" titlelabel="Echéance" />
<FIELD name="MONTANT_REGLE" label="Montant réglé" titlelabel="Montant réglé" />
<FIELD name="MONTANT_A_REGLER" label="Montant à régler" titlelabel="Montant à régler" />
<FIELD name="ID_MOUVEMENT_ECHEANCE" label="Facture" titlelabel="Facture" />
<FIELD name="DATE" label="Date" />
</TABLE>
 
<TABLE name="ETAT_DEVIS">
<FIELD name="NOM" label="Etat du devis" titlelabel="Etat du devis" />
</TABLE>
 
<TABLE name="ETAT_RAPPORT">
<FIELD name="NOM" label="Etat du rapport" titlelabel="Etat du rapport" />
</TABLE>
 
<TABLE name="ETAT_CIVIL">
<FIELD name="ID_ADRESSE" label="Adresse (*)" titlelabel="Adresse" />
<FIELD name="DATE_NAISSANCE" label="Date de naissance (*)" titlelabel="Date de naissance" />
<FIELD name="COMMUNE_NAISSANCE" label="Lieu de naissance" titlelabel="Lieu de naissance" />
<FIELD name="ID_DEPARTEMENT_NAISSANCE" label="Département de naissance" titlelabel="Département de naissance" />
<FIELD name="ID_PAYS_NAISSANCE" label="Pays de naissance" titlelabel="Pays de naissance" />
<FIELD name="NB_ENFANTS" label="Nombre d'enfants" titlelabel="Nombre d'enfants" />
<FIELD name="NUMERO_SS" label="N° de sécurité sociale (*)" titlelabel="N° de sécurité sociale" />
<FIELD name="TELEPHONE" label="N° Tél." titlelabel="N° Tél." />
<FIELD name="PORTABLE" label="N° Tél. portable" titlelabel="N° Tél. portable" />
<FIELD name="MAIL" label="Courriel" titlelabel="Courriel" />
<FIELD name="NB_PERS_A_CHARGE" label="Nombre de personnes à charge" titlelabel="Nombre de personnes à charge" />
<FIELD name="ID_SITUATION_FAMILIALE" label="Situtation familiale (*)" titlelabel="Situtation familiale" />
</TABLE>
 
<TABLE name="FAMILLE_ARTICLE">
<FIELD name="CODE" label="Kod" titlelabel="Kod" />
<FIELD name="NOM" label="Famille" titlelabel="Famille" />
<FIELD name="ID_FAMILLE_ARTICLE_PERE" label="Sous Famille de" titlelabel="Sous Famille de" />
<FIELD name="ID_COMPTE_PCE" label="Compte spécifique de vente" titlelabel="Compte spécifique de vente" />
<FIELD name="ID_COMPTE_PCE_ACHAT" label="Compte spécifique d'achat" titlelabel="Compte spécifique d'achat" />
</TABLE>
 
<TABLE name="FICHE_PAYE">
<FIELD name="ANNEE" label="Year" />
<FIELD name="ID_SALARIE" label="Salarié" titlelabel="Salarié" />
<FIELD name="IDPROFIL_PAYE" label="Profil de paye" titlelabel="Profil de paye" />
<FIELD name="SAL_BRUT" label="Salaire brut" titlelabel="Salaire brut" />
<FIELD name="COT_PAT" label="Cotisations pat." titlelabel="Cotisations pat." />
<FIELD name="COT_SAL" label="Cotisations sal." titlelabel="Cotisations sal." />
<FIELD name="NET_IMP" label="Salaire net imposable" titlelabel="Salaire net imposable" />
<FIELD name="NET_A_PAYER" label="Salaire net à payer" titlelabel="Salaire net à payer" />
<FIELD name="CSG" label="Base CSG" titlelabel="Base CSG" />
<FIELD name="ID_CUMULS_PAYE" label="Cumuls" titlelabel="Cumuls" />
<FIELD name="ACOMPTE" label="Deposit" />
<FIELD name="ID_MOIS" label="Month" />
<FIELD name="VALIDE" label="Valide" titlelabel="Valide" />
<FIELD name="DU" label="Du" titlelabel="Du" />
<FIELD name="AU" label="Au" titlelabel="Au" />
<FIELD name="ID_CUMULS_PAYE" label="Cumuls paye" titlelabel="Cumuls paye" />
<FIELD name="ID_CUMULS_CONGES" label="Cumuls congés" titlelabel="Cumuls congés" />
<FIELD name="ID_VARIABLE_SALARIE" label="Variable salarié" titlelabel="Variable salarié" />
<FIELD name="CONGES_ACQUIS" label="Congés acquis" titlelabel="Congés acquis" />
</TABLE>
<TABLE name="FICHE_PAYE_ELEMENT">
<FIELD name="NOM" label="Nazwa" />
<FIELD name="NB_BASE" label="Base" titlelabel="Base" />
<FIELD name="TAUX_SAL" label="Taux Sal." titlelabel="Taux Sal." />
<FIELD name="MONTANT_SAL_AJ" label="Montant sal. à ajouter" titlelabel="Montant sal. à ajouter" />
<FIELD name="MONTANT_SAL_DED" label="Montant sal. à déduire" titlelabel="Montant sal. à déduire" />
<FIELD name="TAUX_PAT" label="Taux pat." titlelabel="Taux pat." />
<FIELD name="MONTANT_PAT" label="Montant pat." titlelabel="Montant pat." />
<FIELD name="SOURCE" label="Source" titlelabel="Source" />
<FIELD name="IDSOURCE" label="ID Source" titlelabel="ID Source" />
<FIELD name="POSITION" label="Position" titlelabel="Position" />
<FIELD name="VALIDE" label="Validé" titlelabel="Validé" />
<FIELD name="IMPRESSION" label="Impression" titlelabel="Impression" />
<FIELD name="IN_PERIODE" label="Dans la période" titlelabel="Dans la période" />
<FIELD name="ID_FICHE_PAYE" label="Fiche de paye" titlelabel="Fiche de paye" />
</TABLE>
 
<TABLE name="FICHE_RENDEZ_VOUS">
<FIELD name="DATE" label="Date de création" titlelabel="Date de création" />
<FIELD name="ID_VERIFICATEUR" label="Pilote" titlelabel="Pilote" />
<FIELD name="ID_CLIENT" label="Customer" />
<FIELD name="ID_COMMERCIAL" label="Saleman" />
<FIELD name="ID_CONTACT" label="Correspondant" titlelabel="Correspondant" />
<FIELD name="ID_AFFAIRE" label="Project" titlelabel="Project" />
<FIELD name="TYPE_MISSION" label="Type de mission" titlelabel="Type de mission" />
<FIELD name="ACTIVITE" label="Activité" titlelabel="Activité" />
<FIELD name="CLASSEMENT_ERP" label="Classement ERP" titlelabel="Classement ERP" />
<FIELD name="TYPE_ERP" label="Type ERP" titlelabel="Type ERP" />
<FIELD name="SITUATION_ADMIN" label="Situation administrative" titlelabel="Situation administrative" />
<FIELD name="ID_MOIS_INTERVENTION" label="Intervention prévue en" titlelabel="Intervention prévue en" />
<FIELD name="DATE_ECH_RDV" label="Due date" />
<FIELD name="INFOS" label="Comments" />
<FIELD name="INFOS_CLIENT" label="Informations client" titlelabel="Informations client" />
<FIELD name="DOCUMENTS_TRANSMIS" label="Documents transmis" titlelabel="Documents transmis" />
<FIELD name="ID_POLE_PRODUIT" label="Pôle produit" titlelabel="Pôle produit" />
<FIELD name="VALID" label="Valider par le responsable" titlelabel="Valider par le responsable" />
</TABLE>
 
<TABLE name="FICHE_RENDEZ_VOUS_ELEMENT">
<FIELD name="ECHEANCE_RAPPORT" label="Ech. remise rapport en jour" titlelabel="Ech. remise rapport en jour" />
<FIELD name="DATE" label="Date" />
<FIELD name="ID_MISSION" label="Mission" titlelabel="Mission" />
<FIELD name="ID_AFFAIRE_ELEMENT" label="Element d'affaire" titlelabel="Element d'affaire" />
<FIELD name="ID_AFFAIRE" label="Project" titlelabel="Project" />
<FIELD name="ID_VERIFICATEUR" label="Vérificateur" titlelabel="Vérificateur" />
<FIELD name="ACTIVITE" label="Activité" titlelabel="Activité" />
<FIELD name="SOUS_ACTIVITE" label="Sous activité" titlelabel="Sous activité" />
<FIELD name="CODE" label="Code mission" titlelabel="Code mission" />
<FIELD name="NOM" label="Libellé mission" titlelabel="Libellé mission" />
<FIELD name="ID_PERIODICITE" label="Périodicité" titlelabel="Périodicité" />
<FIELD name="TEMPS" label="Temps estimé (h)" titlelabel="Temps estimé(h)" />
<FIELD name="PRIS" label="Prendre rendez vous" titlelabel="Prendre rendez vous" />
<FIELD name="DATE_PREC" label="Date précédente mission" titlelabel="Date précédente mission" />
<FIELD name="DATE_INTERVENTION" label="Date d'intervention" titlelabel="Date d'intervention" />
<FIELD name="ID_MOIS_CCIP" label="Mois CCIP" titlelabel="Mois CCIP" />
<FIELD name="Q18" label="Extension Q18" titlelabel="Extension Q18" />
<FIELD name="TARIF_Q18_HT" label="Tarif Q18 HT" titlelabel="Tarif Q18 HT" />
<FIELD name="OBJET_INSPECTE" label="Objet inspecté" titlelabel="Objet inspecté" />
<FIELD name="PV_UNIT_HT" label="PV unitaire HT" titlelabel="PV unitaire HT" />
<FIELD name="MONTANT_HT" label="Montant HT" titlelabel="Montant HT" />
<FIELD name="REFERENTIEL_INSPECTION" label="Référentiel inspection" titlelabel="Référentiel inspection" />
<FIELD name="LOCAL_OBJET_INSPECTE" label="Localisation objet" titlelabel="Localisation objet" />
<FIELD name="MONTANT_HT" label="Montant HT" titlelabel="Montant HT" />
<FIELD name="ID_SECTEUR_ACTIVITE" label="Secteur d'activité" titlelabel="Secteur d'activité" />
<FIELD name="ID_FICHE_RENDEZ_VOUS_ELEMENT_NEXT" label="Prochain rendez vous" titlelabel="Prochain rendez vous" />
<FIELD name="ID_NATURE_MISSION" label="Nature mission" titlelabel="Nature mission" />
<FIELD name="ID_DOMAINE" label="Domaine" titlelabel="Domaine" />
<FIELD name="ID_SITE_INTERVENTION" label="Site d'intervention" titlelabel="Site d'intervention" />
<FIELD name="INFOS_OBJET_INSPECTE" label="Commentaires objet" titlelabel="Commentaires objet" />
<FIELD name="POURCENT_SERVICE" label="Vérificateurs" titlelabel="Vérificateurs" />
<FIELD name="POURCENT_CCIP" label="CCIP" titlelabel="CCIP" />
<FIELD name="SITUATION_ADMIN" label="Situation administrative" titlelabel="Situation administrative" />
<FIELD name="ID_MOIS_PREV" label="Mois d'intervention prévu" titlelabel="Mois d'intervention prévu" />
<FIELD name="DATE_ECHEANCE" label="Due date" />
<FIELD name="DATE_PREV" label="Date prévisionnelle" titlelabel="Date prévisionnelle" />
<FIELD name="NOTA" label="Nota" titlelabel="Nota" />
<FIELD name="VALID" label="Valider par le responsable" titlelabel="Valider par le responsable" />
</TABLE>
 
<TABLE name="FOURNISSEUR">
<FIELD name="ID_COMPTE_PCE_CHARGE" label="Domyślne konto" titlelabel="Domyślne konto" />
<FIELD name="TYPE" label="Typ" titlelabel="Typ" />
<FIELD name="RESPONSABLE" label="Osoba odpowiedzialna" titlelabel="Osoba odpowiedzialna" />
<FIELD name="TEL_P" label="Telefon kom." titlelabel="Telefon kom." />
<FIELD name="INFOS" label="Dodatkowe informacje" titlelabel="Dodatkowe informacje" />
<FIELD name="MAIL" label="Email" />
<FIELD name="ID_LANGUE" label="Język" titlelabel="Język" />
 
<FIELD name="NOM" label="Nazwa dostawcy" />
<FIELD name="CODE" label="Kod" />
<FIELD name="UE" label="Dostawcy UE" titlelabel="Dostawcy UE" />
<FIELD name="ID_ADRESSE" label="Adres" />
<FIELD name="ID_ADRESSE_E" label="Adres dostawy" titlelabel="Adres dostawy" />
<FIELD name="ID_COMPTE_PCE" label="Numer" />
<FIELD name="TEL" label="Telefon" />
<FIELD name="FAX" label="Fax" />
<FIELD name="ID_MODE_REGLEMENT" label="Typ sprzedaży" />
</TABLE>
 
<TABLE name="IDCC">
<FIELD name="CODE" label="Kod" />
<FIELD name="NOM" label="Etykieta" />
</TABLE>
 
<TABLE name="INFOS_SALARIE_PAYE">
<FIELD name="ID_IDCC" label="Convention collective (*)" titlelabel="Convention collective" />
<FIELD name="ID_CONTRAT_SALARIE" label="Contrat de travail" titlelabel="Contrat de travail" />
<FIELD name="ID_CLASSEMENT_CONVENTIONNEL" label="Classement conventionnel" titlelabel="Classement conventionnel" />
<FIELD name="DUREE_HEBDO" label="Durée hebdomadaire en heures(*)" titlelabel="Durée hebdo." />
<FIELD name="DUREE_MOIS" label="Durée mensuelle en heures(*)" titlelabel="Durée mensuelle" />
<FIELD name="DATE_ARRIVE" label="Date arrivée (*)" titlelabel="Arrivée le" />
<FIELD name="CONGES_PAYES" label="Jour de congés acquis par mois (*)" titlelabel="Congés acquis par mois" />
<FIELD name="SALAIRE_MOIS" label="Salaire mensuel brut en €(*)" titlelabel="Salaire mensuel" />
<FIELD name="TAUX_AT" label="Taux accident de travail (*)" titlelabel="Taux AT" />
<FIELD name="DATE_SORTIE" label="Date de sortie" titlelabel="Date de sortie" />
<FIELD name="CODE_AT" label="Code AT" titlelabel="Code AT" />
<FIELD name="CODE_SECTION_AT" label="Code section AT" titlelabel="Code section AT" />
</TABLE>
 
<TABLE name="JOURNAL">
<FIELD name="NOM" label="Journal" titlelabel="Journal" />
<FIELD name="CODE" label="Code Journal" titlelabel="Code Journal" />
<FIELD name="TYPE" label="Type" titlelabel="Type" />
<FIELD name="TYPE_BANQUE" label="Journal banque" titlelabel="Journal banque" />
</TABLE>
 
 
<TABLE name="LANGUE">
<FIELD name="NOM" label="Język" />
<FIELD name="CHEMIN" label="Ścieżka dokumentu" />
</TABLE>
 
<TABLE name="METRIQUE">
<FIELD name="NOM" label="Name" />
<FIELD name="UNITE" label="Szt." />
</TABLE>
 
<TABLE name="MOIS">
<FIELD name="NOM" label="Miesiąc" />
</TABLE>
 
<TABLE name="MODE_VENTE_ARTICLE">
<FIELD name="NOM" label="Sposób sprzedaży" titlelabel="Sposób sprzedaży" />
<FIELD name="CODE" label="Szt." titlelabel="Szt." />
</TABLE>
 
 
<TABLE name="MODE_REGLEMENT">
<FIELD name="ID_MODE_REGLEMENT" label="Sposób płatności" />
<FIELD name="NOM" label="Etykieta" />
<FIELD name="CODE" label="Kod" titlelabel="Kod" />
<FIELD name="AJOURS" label="za" titlelabel="za" />
<FIELD name="LENJOUR" label="od" titlelabel="od" />
<FIELD name="ID_BANQUE_POLE_PRODUIT" label="Bank" titlelabel="Bank" />
<FIELD name="ID_TYPE_REGLEMENT" label="Rodzaj płatności" titlelabel="Rodzaj płatności" />
<FIELD name="DATE" label="Data należności" titlelabel="Data należności" />
<FIELD name="ETS" label="Ets" titlelabel="Ets" />
<FIELD name="DATE_FACTURE" label="Data otrzymania faktury" titlelabel="Data otrzymania faktury" />
<FIELD name="NUMERO" label="Numer" titlelabel="Numer" />
<FIELD name="COMPTANT" label="Gotówka" titlelabel="Gotówka" />
<FIELD name="DATE_VIREMENT" label="Data przekazania" titlelabel="Data przekazania" />
<FIELD name="DATE_DEPOT" label="Data zgłoszenia" titlelabel="Data zgłoszenia" />
<FIELD name="FIN_MOIS" label="Koniec miesiąca" titlelabel="Koniec miesiąca" />
</TABLE>
 
<TABLE name="MODE_REGLEMENT_PAYE">
<FIELD name="NOM" label="Miesiąc" />
</TABLE>
 
<TABLE name="MODELE">
<FIELD name="NOM" label="Szablon etykiety" />
<FIELD name="ID_TYPE_MODELE" label="Typ szablonu" />
</TABLE>
 
 
<TABLE name="MODELE_COURRIER_CLIENT">
<FIELD name="NOM" label="Etykieta" />
<FIELD name="CONTENU" label="Zawartość" />
</TABLE>
 
<TABLE name="MOUVEMENT">
<FIELD name="NUMERO" label="Numer operacji magazynowej" titlelabel="Numer operacji magazynowej" />
<FIELD name="SOURCE" label="Źródło" titlelabel="Źródło" />
<FIELD name="IDSOURCE" label="ID Źródła" titlelabel="ID Źródła" />
<FIELD name="ID_MOUVEMENT_PERE" label="Operacja" titlelabel="Operacja" />
<FIELD name="ID_PIECE" label="Sztuka" titlelabel="Sztuka" />
</TABLE>
 
<TABLE name="MOUVEMENT_STOCK">
<FIELD name="QTE" label="Ilość" />
<FIELD name="SOURCE" label="Źródło" titlelabel="Źródło" />
<FIELD name="IDSOURCE" label="ID Źródła" titlelabel="ID Źródła" />
<FIELD name="NUMERO" label="Numer operacji magazynowej" titlelabel="Numer operacji magazynowej" />
<FIELD name="NOM" label="Etykieta" />
<FIELD name="DATE" label="Data" />
<FIELD name="ID_ARTICLE" label="Produkt" />
</TABLE>
 
<TABLE name="NATURE_COMPTE">
<FIELD name="NOM" label="Nature" titlelabel="Nature" />
</TABLE>
 
 
 
<TABLE name="NUMEROTATION_AUTO">
<FIELD name="AFFAIRE_FORMAT" label="Format" />
<FIELD name="AFFAIRE_START" label="Next number" />
<FIELD name="AVOIR_FORMAT" label="Format" />
<FIELD name="AVOIR_START" label="Next number" />
<FIELD name="AVOIR_F_FORMAT" label="Format" />
<FIELD name="AVOIR_F_START" label="Next number" />
<FIELD name="DEVIS_FORMAT" label="Format" />
<FIELD name="DEVIS_START" label="Next number" />
<FIELD name="BON_L_FORMAT" label="Format" />
<FIELD name="BON_L_START" label="Next number" />
<FIELD name="FACT_FORMAT" label="Format" />
<FIELD name="FACT_START" label="Next number" />
<FIELD name="SALARIE_FORMAT" label="Format" />
<FIELD name="SALARIE_START" label="Next number" />
<FIELD name="PROPOSITION_FORMAT" label="Format" />
<FIELD name="PROPOSITION_START" label="Next number" />
<FIELD name="RELANCE_FORMAT" label="Format" />
<FIELD name="RELANCE_START" label="Next number" />
<FIELD name="COMMANDE_CLIENT_FORMAT" label="Format" />
<FIELD name="COMMANDE_CLIENT_START" label="Next number" />
<FIELD name="COMMANDE_FORMAT" label="Format" />
<FIELD name="COMMANDE_START" label="Next number" />
<FIELD name="BON_R_FORMAT" label="Format" />
<FIELD name="BON_R_START" label="Next number" />
<FIELD name="CODE_LETTRAGE" label="Kod" titlelabel="Kod" />
<FIELD name="COURRIER_FORMAT" label="Format" />
<FIELD name="COURRIER_START" label="Next number" />
</TABLE>
<TABLE name="OBJECTIF_COMMERCIAL">
<FIELD name="ANNEE" label="Year" />
<FIELD name="MOIS" label="Month" />
<FIELD name="MARGE_HT" label="Marge HT" titlelabel="Marge HT" />
<FIELD name="POURCENT_MARGE" label="% Marge" titlelabel="% Marge" />
<FIELD name="CHIFFRE_AFFAIRE" label="Chiffre d'affaire" titlelabel="Chiffre d'affaire" />
<FIELD name="ID_COMMERCIAL" label="Saleman" />
</TABLE>
 
 
 
<TABLE name="PAYS">
<FIELD name="CODE" label="Kod" titlelabel="Kod" />
<FIELD name="NOM" label="Nazwa" />
<FIELD name="ID_TARIF" label="Taryfa" titlelabel="Taryfa" />
<FIELD name="ID_LANGUE" label="Język" titlelabel="Język" />
</TABLE>
 
<TABLE name="PERIODICITE">
<FIELD name="NOM" label="Częstotliwość" titlelabel="Częstotliwość" />
<FIELD name="CODE" label="Kod" titlelabel="Kod" />
<FIELD name="NB_SEMAINE" label="Ilość tygodni" titlelabel="Ilość tygodni" />
<FIELD name="NB_ANNEE" label="Ilość lat" titlelabel="Ilość lat" />
<FIELD name="NB_MOIS" label="Ilość miesięcy" titlelabel="Ilość miesięcy" />
</TABLE>
 
 
 
 
 
<TABLE name="POSTE_ANALYTIQUE">
<FIELD name="NOM" label="Nazwa" />
<FIELD name="ID_AXE_ANALYTIQUE" label="Axe" titlelabel="Axe" />
</TABLE>
 
<TABLE name="PIECE">
<FIELD name="ID" label="Numer części" titlelabel="Numer części" />
<FIELD name="NOM" label="Nazwa części" titlelabel="Nazwa części" />
</TABLE>
 
<TABLE name="POURCENT_SERVICE">
<FIELD name="ID_SERVICE" label="Service" titlelabel="Service" />
<FIELD name="ID_VERIFICATEUR" label="Kontrola" titlelabel="Kontrola" />
<FIELD name="POURCENT" label="Procent" titlelabel="Procent" />
</TABLE>
 
<TABLE name="POURCENT_CCIP">
<FIELD name="ID_MOIS" label="Mois CCIP" titlelabel="Mois CCIP" />
<FIELD name="NOM" label="Nazwa" />
<FIELD name="POURCENT" label="Pourcent" titlelabel="Pourcent" />
<FIELD name="FACTURE" label="Facturé" titlelabel="Facturé" />
<FIELD name="ID_FICHE_RENDEZ_VOUS_ELEMENT" label="Element de rendez vous" titlelabel="Element de rendez vous" />
</TABLE>
 
 
<TABLE name="PREFS_COMPTE">
<FIELD name="ID_COMPTE_PCE_ACHAT" label="Compte Achat" titlelabel="Compte Achat" />
<FIELD name="ID_COMPTE_PCE_VENTE_SERVICE" label="Compte Vente service" titlelabel="Compte Vente service" />
<FIELD name="ID_COMPTE_PCE_VENTE_PRODUITS" label="Compte Vente produits" titlelabel="Compte Vente produits" />
<FIELD name="ID_COMPTE_PCE_FOURNISSEUR" label="Compte fournisseur" titlelabel="Compte fournisseur" />
<FIELD name="ID_COMPTE_PCE_CLIENT" label="Compte client" titlelabel="Compte client" />
<FIELD name="ID_COMPTE_PCE_TVA_ACHAT" label="Compte TVA déductible" titlelabel="Compte TVA déductible" />
<FIELD name="ID_COMPTE_PCE_TVA_VENTE" label="Compte TVA collectée" titlelabel="Compte TVA collectée" />
</TABLE>
 
 
 
 
<TABLE name="REFERENCE_CLIENT">
<FIELD name="NOM" label="Customer reference" />
<FIELD name="ID_AFFAIRE" label="Project" titlelabel="Project" />
</TABLE>
 
<TABLE name="REGIME_BASE">
<FIELD name="ID_CODE_REGIME_BASE" label="Régime de base obligatoire" titlelabel="Régime de base obligatoire" />
<FIELD name="ID_CODE_REGIME_MALADIE" label="Régime obligatoire risque maladie" titlelabel="Régime obligatoire risque maladie" />
<FIELD name="ID_CODE_REGIME_AT" label="Régime obligatoire risque accident du travail" titlelabel="Régime obligatoire risque accident du travail" />
<FIELD name="ID_CODE_REGIME_VIEL_P" label="Régime obligatoire risque vieillesse (part patronale)" titlelabel="Régime obligatoire risque vieillesse (part patronale)" />
<FIELD name="ID_CODE_REGIME_VIEL_S" label="Régime obligatoire risque vieillesse (part salariale)" titlelabel="Régime obligatoire risque vieillesse (part salariale)" />
</TABLE>
 
<TABLE name="REGLEMENT_PAYE">
<FIELD name="NOM_BANQUE" label="Nom de la banque" titlelabel="Nom de la banque" />
<FIELD name="RIB" label="RIB" titlelabel="RIB" />
<FIELD name="ID_COMPTE_PCE" label="Compte du salarié" titlelabel="Compte du salarié" />
<FIELD name="ID_MODE_REGLEMENT_PAYE" label="Mode de règlement (*)" titlelabel="Mode de règlement" />
<FIELD name="LE" label="Le (*)" titlelabel="Le" />
</TABLE>
 
<TABLE name="REGLER_MONTANT">
<FIELD name="DATE" label="Data płatności" />
<FIELD name="MONTANT" label="Suma" />
<FIELD name="ID_MODE_REGLEMENT" label="Płatność" />
<FIELD name="ID_ECHEANCE_FOURNISSEUR" label="Termin" />
<FIELD name="ID_FOURNISSEUR" label="Dostawca" />
</TABLE>
 
<TABLE name="REGLER_MONTANT_ELEMENT">
<FIELD name="ID_ECHEANCE_FOURNISSEUR" label="Termin" />
<FIELD name="ID_MOUVEMENT_ECHEANCE" label="Dostawca Faktura" />
<FIELD name="DATE" label="Data" />
<FIELD name="MONTANT_REGLE" label="Motant płatne" />
<FIELD name="MONTANT_A_REGLER" label="Motant powodu" />
</TABLE>
 
<TABLE name="RELANCE">
<FIELD name="DATE" label="Date de relance" titlelabel="Date de relance" />
<FIELD name="ID_SAISIE_VENTE_FACTURE" label="Facture" titlelabel="Facture" />
<FIELD name="ID_CLIENT" label="Customer" />
<FIELD name="MONTANT" label="Amount" titlelabel="Amount" />
<FIELD name="ID_TYPE_LETTRE_RELANCE" label="Type de lettre" titlelabel="Type de lettre" />
<FIELD name="INFOS" label="Comments" />
<FIELD name="NUMERO" label="Numéro relance" titlelabel="Numéro relance" />
</TABLE>
<TABLE name="REPARTITION_ANALYTIQUE">
<FIELD name="NOM" label="Nazwa" />
</TABLE>
<TABLE name="REPARTITION_ANALYTIQUE_ELEMENT">
<FIELD name="NOM" label="Nazwa" />
<FIELD name="ID_POSTE_ANALYTIQUE" label="Poste" titlelabel="Poste" />
<FIELD name="REPARTITION_ANALYTIQUE" label="Répartition" titlelabel="Répartition" />
<FIELD name="TAUX" label="Taux" titlelabel="Taux" />
</TABLE>
 
<TABLE name="SAISIE_ACHAT">
<FIELD name="DATE" label="le" titlelabel="le" />
<FIELD name="NOM" label="Nazwa" />
<FIELD name="MONTANT_TTC" label="Cena podatku" titlelabel="Cena podatku" />
<FIELD name="ID_TAXE" label="VAT" />
<FIELD name="ID_MODE_REGLEMENT" label="Sposób płatności" />
<FIELD name="ID_FOURNISSEUR" label="Dostawca" />
<FIELD name="ID_MOUVEMENT" label="Numer operacji" titlelabel="Numer operacji" />
<FIELD name="ID_TYPE_REGLEMENT" label="Sposób płatności" />
<FIELD name="NUMERO_FACTURE" label="Numer faktury dostawcy" />
<FIELD name="NUMERO_COMMANDE" label="Numer zamówienia do dostawcy" />
<FIELD name="INFOS" label="Informacje" />
<FIELD name="ID_COMPTE_PCE" label="Numer konta kosztów" titlelabel="Numer konta kosztów" />
<FIELD name="ID_AVOIR_FOURNISSEUR" label="Podgląd dostawcy" titlelabel="Podgląd dostawcy" />
<FIELD name="IMMO" label="Aktywa trwałe" />
</TABLE>
 
<TABLE name="SAISIE_KM">
<FIELD name="NOM" label="Obroty" titlelabel="Obroty" />
<FIELD name="DATE" label="Data" />
<FIELD name="ID_MOUVEMENT" label="Numer operacji" titlelabel="Numer operacji" />
<FIELD name="ID_JOURNAL" label="Przegląd" titlelabel="Przegląd" />
</TABLE>
<TABLE name="SAISIE_KM_ELEMENT">
<FIELD name="ANALYTIQUE" label="Analiza" titlelabel="Analiza" />
<FIELD name="NUMERO" label="Numer konta" />
<FIELD name="NOM" label="Konto" />
<FIELD name="NOM_ECRITURE" label="Pisanie textu" titlelabel="Pisanie textu" />
<FIELD name="DEBIT" label="Debet" titlelabel="Debet" />
<FIELD name="CREDIT" label="Crédit" titlelabel="Crédit" />
<FIELD name="ID_ECRITURE" label="Pismo" titlelabel="Pismo" />
</TABLE>
 
 
<TABLE name="SAISIE_VENTE_COMPTOIR">
<FIELD name="NOM" label="Nazwa" />
<FIELD name="ID_ARTICLE" label="Produkt" />
<FIELD name="DATE" label="Data" />
<FIELD name="ID_CLIENT" label="Klient" />
<FIELD name="MONTANT_HT" label="Suma netto" />
<FIELD name="MONTANT_TTC" label="Suma" />
<FIELD name="MONTANT_SERVICE" label="Kwota usługi" titlelabel="Kwota usługi" />
<FIELD name="ID_MODE_REGLEMENT" label="Sposób płatności" />
<FIELD name="INFOS" label="Additional informacje" titlelabel="Informacje" />
<FIELD name="ID_FOURNISSEUR" label="Dostawca" />
<FIELD name="ECHEANCE" label="Data płatności" />
<FIELD name="ID_TAXE" label="VAT" />
<FIELD name="ID_MOUVEMENT" label="N° de mouvement" titlelabel="Numer operacji" />
<FIELD name="ID_AVOIR_CLIENT" label="Podgląd klienta" titlelabel="Podgląd klienta" />
<FIELD name="CREATION_AUTO" label="Generuj" titlelabel="Generuj" />
</TABLE>
<TABLE name="SAISIE_VENTE_FACTURE">
<FIELD name="ID_COMPTE_PCE_VENTE" label=" Konto" />
<FIELD name="ID_ADRESSE" label="Adres" />
<FIELD name="T_HA" label="Zakup-suma" />
<FIELD name="SOURCE" label="Źródło" />
<FIELD name="T_AVOIR_TTC" label="Posiadana suma brutto" titlelabel="Posiadana suma brutto" />
<FIELD name="IDSOURCE" label="Id Źródła" titlelabel="Id Źródła" />
<FIELD name="PREVISIONNELLE" label="Prognoza" titlelabel="Prognoza" />
<FIELD name="COMPLEMENT" label="Uzupełnienie" titlelabel="Uzupełnienie" />
<FIELD name="T_ECOTAXE" label="Ecotax" />
<FIELD name="ID_COMPTE_PCE_SERVICE" label="Konto szt." titlelabel="Konto szt." />
<FIELD name="AFFACTURAGE" label="Faktoring" titlelabel="Faktoring" />
<FIELD name="NOM" label="Referencja" />
<FIELD name="DATE" label="Data" />
<FIELD name="ID_COMMERCIAL" label="Handlowiec" />
<FIELD name="ID_CLIENT" label="Klient" />
<FIELD name="ID_DEVIS" label="Oferta" />
<FIELD name="T_HT" label="Suma netto" />
<FIELD name="T_TVA" label="VAT" />
<FIELD name="T_TTC" label="Suma" />
<FIELD name="ID_TAXE" label="VAT" />
<FIELD name="ID_TAXE_PORT" label="Koszt transportru" titlelabel="Koszt transportu" />
<FIELD name="ID_MOUVEMENT" label="Numer operacji" titlelabel="Numer operacji" />
<FIELD name="INFOS" label="Informacje" titlelabel="Informacje" />
<FIELD name="ID_MODE_REGLEMENT" label=Sposób płatności " />
<FIELD name="PORT_HT" label="Transport netto" titlelabel="Transport netto" />
<FIELD name="REMISE_HT" label="Rabat" />
<FIELD name="T_SERVICE" label="Opłata za usługi" titlelabel="Opłata za usługi" />
<FIELD name="T_POIDS" label="Waga łączna" titlelabel="Waga łączna" />
<FIELD name="NUMERO" label="Numer faktury" titlelabel="Numer faktury" />
<FIELD name="ID_AVOIR_CLIENT" label="Podgląd" titlelabel="Podgląd" />
<FIELD name="DATE_ENVOI" label="Data wysłania" titlelabel="Data wysłania" />
<FIELD name="DATE_REGLEMENT" label="Data płatności" titlelabel="Data płatności" />
<FIELD name="INFOS" label="Informacje" />
<FIELD name="ACOMPTE" label="Depozyt" />
<FIELD name="POURCENT_ACOMPTE" label="% depozyt" />
<FIELD name="ID_AFFAIRE" label="Projekt" />
<FIELD name="ID_CONTACT" label="Kontakt" />
<FIELD name="ID_SECRETAIRE" label="Sekretariat" />
<FIELD name="ID_REFERENCE_CLIENT" label="Numer klienta" />
<FIELD name="ID_MODELE" label="Szablon" />
<FIELD name="COMPTE_SERVICE_AUTO" label="Automatyczne zarządzanie kontami" titlelabel="Automatyczne zarządzanie kontami" />
</TABLE>
<TABLE name="SAISIE_VENTE_FACTURE_ELEMENT">
<FIELD name="POURCENT_ACOMPTE" label="% depozytu" />
<FIELD name="QTE_UNITAIRE" label="Ilość" titlelabel="Ilość" />
<FIELD name="ID_UNITE_VENTE" label="Cena szt." titlelabel="Cena szt." />
<FIELD name="ID_ARTICLE" label="Produkt" />
<FIELD name="DESCRIPTIF" label="Opis" titlelabel="Opis" />
<FIELD name="ID_PAYS" label="Kraj pochodzenia" titlelabel="Kraj pochodzenia" />
<FIELD name="CODE_DOUANIER" label="Kod celny" titlelabel="Kod celny" />
<FIELD name="ID_DEVISE" label="Waluta />
<FIELD name=" PV_U_DEVISE " label="Cena waluty" titlelabel="Cena waluty" />
<FIELD name="PV_T_DEVISE" label="Cena waluty-suma" titlelabel="Cena waluty-suma" />
<FIELD name="ECOTAXE" label="Ecotax" />
<FIELD name="PRIX_FINAL_TTC" label="Cena brutto" titlelabel="Cena brutto" />
<FIELD name="T_ECOTAXE" label="Brak ecotax" titlelabel="Brak ecotax" />
<FIELD name="T_PRIX_FINAL_TTC" label="Suma brutto" titlelabel="Suma brutto" />
<FIELD name="POURCENT_REMISE" label="% rabat" titlelabel="% rabat" />
<FIELD name="POURCENT_ACOMPTE" label="% depozytu" />
<FIELD name="ID_STYLE" label="Styl" titlelabel="Styl" />
<FIELD name="NOM" label="Opis" titlelabel="Opis" />
<FIELD name="CODE" label="Kod" titlelabel="Kod" />
<FIELD name="PV_HT" label="PV Cena zakupu netto sztire HT" titlelabel="Cena zakupu netto szt" />
<FIELD name="MARGE_HT" label="Marge HT" titlelabel="Marge HT" />
<FIELD name="PA_HT" label="Cena sprzedaży netto szt." titlelabel="Cena sprzedaży netto szt." />
<FIELD name="ID_TAXE" label="Tax" />
<FIELD name="POIDS" label="Waga" titlelabel="Waga" />
<FIELD name="QTE" label="Quantity" />
<FIELD name="QTE_LIVREE" label="Ilość dostarczona" titlelabel="Ilość dostarczona" />
<FIELD name="LIVREE" label="Dostarczono" />
<FIELD name="SERVICE" label="Serwis" titlelabel="Serwis" />
<FIELD name="ID_SAISIE_VENTE_FACTURE" label="Saisie vente facture" titlelabel="Saisie vente facture" />
<FIELD name="PRIX_METRIQUE_VT_1" label="Prix Vente UV HT" titlelabel="Prix Vente UV HT" />
<FIELD name="PRIX_METRIQUE_HA_1" label="Prix Achat UV HT" titlelabel="Prix Achat UV HT" />
<FIELD name="VALEUR_METRIQUE_1" label="Długość domyślna" titlelabel="Długość domyślna" />
<FIELD name="ID_METRIQUE_1" label="Miara" titlelabel="Miara" />
<FIELD name="PRIX_METRIQUE_VT_2" label="Cena sprzedaży netto metr" titlelabel="Cena sprzedaży netto metr" />
<FIELD name="PRIX_METRIQUE_HA_2" label="Cena zakupu netto metr" titlelabel="Cena zakupu netto metr" />
<FIELD name="VALEUR_METRIQUE_2" label="Długość" titlelabel="Długość" />
<FIELD name="ID_METRIQUE_2" label="Miara" titlelabel="Miara" />
<FIELD name="PRIX_METRIQUE_VT_3" label="Cena sprzedaży netto kg" titlelabel="Cena sprzedaży netto kg" />
<FIELD name="PRIX_METRIQUE_HA_3" label="Cena zakupu netto kg" titlelabel="Cena zakupu netto kg" />
<FIELD name="VALEUR_METRIQUE_3" label="Waga / m²" titlelabel="Waga / m²" />
<FIELD name="ID_METRIQUE_3" label="Miara" titlelabel="Miara" />
<FIELD name="T_POIDS" label="Waga łączna" titlelabel="Waga łączna" />
<FIELD name="T_PA_HT" label="Zakup netto" titlelabel="Zakup netto-suma" />
<FIELD name="T_PV_HT" label="Suma netto" />
<FIELD name="T_PV_TTC" label="Suma" />
<FIELD name="ID_MODE_VENTE_ARTICLE" label="Tryb sprzedaży" titlelabel="Tryb sprzedaży" />
</TABLE>
 
<TABLE name="SALARIE">
<FIELD name="NOM" label="Last name" />
<FIELD name="PRENOM" label="First name" />
<FIELD name="ID_TITRE_PERSONNEL" label="Gender" />
<FIELD name="CODE" label="Kod" />
<FIELD name="NOM_JEUNE_FILLE" label="Nom de jeune fille" titlelabel="Nom jeune fille" />
<FIELD name="ID_ETAT_CIVIL" label="Marital status" />
<FIELD name="ID_REGLEMENT_PAYE" label="Règlement paye" titlelabel="Règlement paye" />
<FIELD name="ID_INFOS_SALARIE_PAYE" label="Informations salarié-paye" titlelabel="Informations salarié-paye" />
<FIELD name="ID_FICHE_PAYE" label="Fiche de paye" titlelabel="Fiche de paye" />
<FIELD name="DERNIER_MOIS" label="Last month" />
<FIELD name="DERNIERE_ANNEE" label="Last year" />
<FIELD name="ID_CUMULS_CONGES" label="Cumuls congés" titlelabel="Cumuls congés" />
<FIELD name="ID_CUMULS_PAYE" label="Cumuls paye" titlelabel="Cumuls paye" />
<FIELD name="ID_VARIABLE_SALARIE" label="Variables salariés" titlelabel="Variables salariés" />
</TABLE>
 
<TABLE name="SECRETAIRE">
<FIELD name="NOM" label="Last name" />
<FIELD name="PRENOM" label="First name" />
<FIELD name="ID_TITRE_PERSONNEL" label="Gender" />
<FIELD name="TEL" label="Phone" />
<FIELD name="ID_USER_COMMON" label="User" />
</TABLE>
 
<TABLE name="SECTEUR_ACTIVITE">
<FIELD name="NOM" label="Industry" />
<FIELD name="CODE" label="Kod" />
<FIELD name="CONDITIONS" label="Conditions" />
<FIELD name="TEL" label="Phone" />
</TABLE>
 
<TABLE name="SITUATION_FAMILIALE">
<FIELD name="NOM" label="Nazwa" />
</TABLE>
 
 
 
<TABLE name="STOCK">
<FIELD name="QTE_REEL" label="Faktyczny stan magazynowy" />
<FIELD name="QTE_TH" label="Spodziewany stan magazynowy" />
</TABLE>
 
<TABLE name="STYLE">
<FIELD name="NOM" label="Etykieta" />
<FIELD name="CODE" label="Kod" />
</TABLE>
 
<TABLE name="TARIF">
<FIELD name="NOM" label="Etykieta" />
<FIELD name="ID_TAXE" label="VAT" />
<FIELD name="ID_DEVISE" label="Waluta" />
</TABLE>
 
<TABLE name="TAXE">
<FIELD name="NOM" label="Etykieta" />
<FIELD name="TAUX" label="Stawka" />
<FIELD name="ID_COMPTE_PCE" label="Account" />
</TABLE>
 
<TABLE name="TICKET_CAISSE">
<FIELD name="DATE" label="Data" />
<FIELD name="TOTAL_HT" label="Suma netto" />
<FIELD name="TOTAL_TTC" label="Suma" />
<FIELD name="NUMERO" label="Numer" />
</TABLE>
 
 
<TABLE name="TITRE_PERSONNEL">
<FIELD name="NOM" label="Nazwa" />
<FIELD name="SEXE_M" label="Sexe Masculin" titlelabel="Sexe Masculin" />
</TABLE>
 
<TABLE name="TYPE_COMPTE_PCG">
<FIELD name="NOM" label="Nazwa" />
<FIELD name="RACINE" label="Root" />
</TABLE>
 
<TABLE name="TYPE_LETTRE_RELANCE">
<FIELD name="NOM" label="Type" />
<FIELD name="MODELE" label="Path" />
</TABLE>
 
<TABLE name="TYPE_REGLEMENT">
<FIELD name="NOM" label="Type règlement" titlelabel="Type règlement" />
<FIELD name="ID_COMPTE_PCE_FOURN" label="Compte fournisseur" titlelabel="Compte fournisseur" />
<FIELD name="ID_COMPTE_PCE_CLIENT" label="Compte client" titlelabel="Compte client" />
<FIELD name="COMPTANT" label="Comptant" titlelabel="Comptant" />
</TABLE>
 
<TABLE name="VARIABLE_SALARIE">
<FIELD name="HEURE_110" label="Hours at 110%" />
<FIELD name="HEURE_125" label="Hours at 125%" />
<FIELD name="HEURE_150" label="Hours at 150%" />
<FIELD name="HEURE_200" label="Hours at 200%" />
<FIELD name="CONGES_PRIS" label="Congés pris" />
<FIELD name="HEURE_TRAV" label="Heures travaillées" />
<FIELD name="HEURE_ABS" label="Heures d'abscence" />
</TABLE>
 
<TABLE name="UNITE_VENTE">
<FIELD name="CODE" label="Code" />
<FIELD name="NOM" label="Nazwa" />
</TABLE>
 
</ROOT>
/trunk/OpenConcerto/src/org/openconcerto/erp/config/fieldmapping.xml
49,7 → 49,7
<field id="sales.product.purchase.quantity" name="QTE_ACHAT" />
<field id="sales.product.sales.price" name="PV_HT" />
<field id="sales.product.sales.price.total" name="PV_TTC" />
<field id="sales.product.sales.unit" name="ID_MODE_VENTE_ARTICLE" />
<field id="sales.product.sales.unit" name="ID_UNITE_VENTE" />
<field id="sales.product.weight" name="POIDS" />
<field id="sales.product.unit1" name="ID_METRIQUE_1" />
<field id="sales.product.unit2" name="ID_METRIQUE_2" />
/trunk/OpenConcerto/src/org/openconcerto/erp/modules/ModuleManager.java
506,7 → 506,7
final XMLDecoder dec = new XMLDecoder(new FileInputStream(toInstallFile));
try {
final Number version = (Number) dec.readObject();
if (!version.equals(TO_INSTALL_VERSION))
if (version.intValue() != TO_INSTALL_VERSION.intValue())
throw new Exception("Version mismatch, expected " + TO_INSTALL_VERSION + " found " + version);
final Date fileDate = (Date) dec.readObject();
@SuppressWarnings("unchecked")
/trunk/OpenConcerto/src/org/openconcerto/erp/action/NouvelleConnexionAction.java
29,6 → 29,8
import org.openconcerto.erp.modules.ModuleFrame;
import org.openconcerto.erp.modules.ModuleManager;
import org.openconcerto.erp.panel.ComptaTipsFrame;
import org.openconcerto.erp.rights.GroupUIComboRightEditor;
import org.openconcerto.erp.rights.MenuComboRightEditor;
import org.openconcerto.erp.utils.NXDatabaseAccessor;
import org.openconcerto.map.model.Ville;
import org.openconcerto.sql.Configuration;
47,6 → 49,7
import org.openconcerto.sql.ui.ConnexionPanel;
import org.openconcerto.sql.users.User;
import org.openconcerto.sql.users.UserManager;
import org.openconcerto.sql.users.rights.SQLTableRightEditor;
import org.openconcerto.sql.users.rights.TableAllRights;
import org.openconcerto.sql.users.rights.UserRightsManager;
import org.openconcerto.sql.users.rights.UserRightsManager.RightTuple;
135,6 → 138,7
// don't die now, we might not need them
ExceptionHandler.handle("Impossible d'accéder aux préférences", e);
}
 
// needed by openEmergencyModuleManager()
UserRightsManager.getInstance().addRightForAdmins(new RightTuple(ModuleManager.MODULE_DB_RIGHT, true));
UserRightsManager.getInstance().addRightForAdmins(new RightTuple(BackupPanel.RIGHT_CODE, true));
155,24 → 159,14
// à toutes les société
final int userId = user.getId();
if (!user.getRights().isSuperUser() && !user.getRights().haveRight("ACCES_ALL_SOCIETE")) {
final boolean emptyMeansAllow;
{
emptyMeansAllow = true;
}
 
final SQLTable tableAcces = comptaPropsConfiguration.getRoot().findTable("ACCES_SOCIETE");
SQLSelect sel = new SQLSelect();
sel.addSelectStar(tableAcces);
sel.setWhere(new Where(tableAcces.getField("ID_USER_COMMON"), "=", userId));
if (!emptyMeansAllow) {
sel.andWhere(new Where(tableAcces.getField("ID_SOCIETE_COMMON"), "=", selectedSociete));
}
 
final List<SQLRow> accessRows = SQLRowListRSH.execute(sel);
final boolean accessGranted;
if (!emptyMeansAllow) {
accessGranted = accessRows.size() > 0;
} else {
if (accessRows.size() == 0) {
accessGranted = true;
} else {
185,7 → 179,6
}
accessGranted = tmp;
}
}
 
if (!accessGranted) {
JOptionPane.showMessageDialog(null, "Vous n'avez pas les droits suffisants, pour accéder à cette société!");
196,6 → 189,9
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
MenuComboRightEditor.register();
GroupUIComboRightEditor.register();
SQLTableRightEditor.register();
// even for quick login, check the license before displaying the main
// frame
 
278,8 → 274,8
this.connexionPanel = ConnexionPanel.create(r, image, !Gestion.isMinimalMode());
if (this.connexionPanel == null)
return null;
this.connexionPanel.initLocalization(getClass().getName(),
Arrays.asList(Locale.FRANCE, Locale.CANADA_FRENCH, new Locale("fr", "CH"), new Locale("fr", "BE"), Locale.UK, Locale.CANADA, Locale.US, Locale.GERMANY, new Locale("de", "CH")));
this.connexionPanel.initLocalization(getClass().getName(), Arrays.asList(Locale.FRANCE, Locale.CANADA_FRENCH, new Locale("fr", "CH"), new Locale("fr", "BE"), Locale.UK, Locale.CANADA,
Locale.US, Locale.GERMANY, new Locale("de", "CH"), new Locale("pl", "PL")));
 
p.add(this.connexionPanel, c);
final PanelFrame panelFrame = new PanelFrame(p, "Connexion");
330,6 → 326,7
tablesToCache.add(baseSociete.getTable("COMMANDE_CLIENT_ELEMENT"));
tablesToCache.add(baseSociete.getTable("AVOIR_CLIENT_ELEMENT"));
tablesToCache.add(baseSociete.getTable("BON_RECEPTION_ELEMENT"));
tablesToCache.add(baseSociete.getTable("ASSOCIATION_ANALYTIQUE"));
undefCache.preload(tablesToCache);
}
 
/trunk/OpenConcerto/src/org/openconcerto/erp/injector/DevisCommandeSQLInjector.java
35,8 → 35,25
if (tableDevis.getTable().contains("ID_POLE_PRODUIT")) {
map(tableDevis.getField("ID_POLE_PRODUIT"), tableCommande.getField("ID_POLE_PRODUIT"));
}
if (getSource().getTable().contains("ID_CONTACT")) {
map(tableDevis.getField("ID_CONTACT"), tableCommande.getField("ID_CONTACT"));
}
if (getSource().getTable().contains("ID_CLIENT_DEPARTEMENT")) {
map(getSource().getField("ID_CLIENT_DEPARTEMENT"), getDestination().getField("ID_CLIENT_DEPARTEMENT"));
}
if (getSource().getTable().contains("ID_ADRESSE") && getDestination().contains("ID_ADRESSE")) {
map(tableDevis.getField("ID_ADRESSE"), getDestination().getField("ID_ADRESSE"));
}
if (getSource().getTable().contains("ID_ADRESSE_LIVRAISON")) {
map(tableDevis.getField("ID_ADRESSE_LIVRAISON"), getDestination().getField("ID_ADRESSE_LIVRAISON"));
}
 
if (getSource().getTable().contains("MONTANT_REMISE") && getDestination().contains("MONTANT_REMISE")) {
map(tableDevis.getField("MONTANT_REMISE"), getDestination().getField("MONTANT_REMISE"));
map(tableDevis.getField("POURCENT_REMISE"), getDestination().getField("POURCENT_REMISE"));
}
}
 
@Override
protected void merge(SQLRowAccessor srcRow, SQLRowValues rowVals) {
super.merge(srcRow, rowVals);
/trunk/OpenConcerto/src/org/openconcerto/erp/injector/DevisFactureSQLInjector.java
13,20 → 13,15
package org.openconcerto.erp.injector;
 
import java.math.BigDecimal;
import java.util.Collection;
 
import org.openconcerto.erp.preferences.GenerationDocGlobalPreferencePanel;
import org.openconcerto.erp.preferences.GestionCommercialeGlobalPreferencePanel;
import org.openconcerto.sql.Configuration;
import org.openconcerto.sql.model.DBRoot;
import org.openconcerto.sql.model.SQLInjector;
import org.openconcerto.sql.model.SQLRowAccessor;
import org.openconcerto.sql.model.SQLRowValues;
import org.openconcerto.sql.model.SQLTable;
import org.openconcerto.sql.model.UndefinedRowValuesCache;
import org.openconcerto.sql.preferences.SQLPreferences;
 
import java.math.BigDecimal;
import java.util.Collection;
 
public class DevisFactureSQLInjector extends SQLInjector {
public DevisFactureSQLInjector(final DBRoot root) {
super(root, "DEVIS", "SAISIE_VENTE_FACTURE", true);
40,11 → 35,28
if (tableDevis.getTable().contains("ID_POLE_PRODUIT")) {
map(tableDevis.getField("ID_POLE_PRODUIT"), tableFacture.getField("ID_POLE_PRODUIT"));
}
if (tableDevis.getTable().contains("ID_VERIFICATEUR") && tableFacture.getTable().contains("ID_VERIFICATEUR")) {
map(tableDevis.getField("ID_VERIFICATEUR"), tableFacture.getField("ID_VERIFICATEUR"));
}
if (tableDevis.getTable().contains("ID_CONTACT")) {
map(tableDevis.getField("ID_CONTACT"), tableFacture.getField("ID_CONTACT"));
}
if (getSource().getTable().contains("ID_CLIENT_DEPARTEMENT")) {
map(tableDevis.getField("ID_CLIENT_DEPARTEMENT"), tableFacture.getField("ID_CLIENT_DEPARTEMENT"));
}
if (getSource().getTable().contains("ID_ADRESSE") && getDestination().contains("ID_ADRESSE")) {
map(tableDevis.getField("ID_ADRESSE"), tableFacture.getField("ID_ADRESSE"));
}
if (getSource().getTable().contains("ID_ADRESSE_LIVRAISON") && getDestination().contains("ID_ADRESSE_LIVRAISON")) {
map(tableDevis.getField("ID_ADRESSE_LIVRAISON"), tableFacture.getField("ID_ADRESSE_LIVRAISON"));
}
 
if (getSource().getTable().contains("MONTANT_REMISE") && tableFacture.contains("MONTANT_REMISE")) {
map(tableDevis.getField("MONTANT_REMISE"), tableFacture.getField("MONTANT_REMISE"));
map(tableDevis.getField("POURCENT_REMISE"), tableFacture.getField("POURCENT_REMISE"));
}
}
 
@Override
protected void merge(SQLRowAccessor srcRow, SQLRowValues rowVals) {
super.merge(srcRow, rowVals);
/trunk/OpenConcerto/src/org/openconcerto/erp/injector/FactureBonSQLInjector.java
33,7 → 33,13
if (tableFacture.contains("ID_POLE_PRODUIT") && tableBon.contains("ID_POLE_PRODUIT")) {
map(tableFacture.getField("ID_POLE_PRODUIT"), tableBon.getField("ID_POLE_PRODUIT"));
}
if (getSource().getTable().contains("ID_CONTACT") && getDestination().getTable().contains("ID_CONTACT")) {
map(getSource().getField("ID_CONTACT"), getDestination().getField("ID_CONTACT"));
}
if (getSource().getTable().contains("ID_CLIENT_DEPARTEMENT")) {
map(getSource().getField("ID_CLIENT_DEPARTEMENT"), getDestination().getField("ID_CLIENT_DEPARTEMENT"));
}
}
 
@Override
protected void merge(SQLRowAccessor srcRow, SQLRowValues rowVals) {
/trunk/OpenConcerto/src/org/openconcerto/erp/injector/BonFactureSQLInjector.java
13,9 → 13,6
package org.openconcerto.erp.injector;
 
import java.math.BigDecimal;
import java.util.Collection;
 
import org.openconcerto.sql.model.DBRoot;
import org.openconcerto.sql.model.SQLInjector;
import org.openconcerto.sql.model.SQLRowAccessor;
22,6 → 19,9
import org.openconcerto.sql.model.SQLRowValues;
import org.openconcerto.sql.model.SQLTable;
 
import java.math.BigDecimal;
import java.util.Collection;
 
public class BonFactureSQLInjector extends SQLInjector {
 
public BonFactureSQLInjector(final DBRoot root) {
34,8 → 34,24
if (tableBon.getTable().contains("ID_POLE_PRODUIT")) {
map(tableBon.getField("ID_POLE_PRODUIT"), tableFacture.getField("ID_POLE_PRODUIT"));
}
if (getSource().getTable().contains("ID_CONTACT")) {
map(getSource().getField("ID_CONTACT"), getDestination().getField("ID_CONTACT"));
}
if (getSource().getTable().contains("ID_CLIENT_DEPARTEMENT")) {
map(getSource().getField("ID_CLIENT_DEPARTEMENT"), getDestination().getField("ID_CLIENT_DEPARTEMENT"));
}
if (tableBon.contains("ID_TAXE_PORT")) {
map(tableBon.getField("ID_TAXE_PORT"), tableFacture.getField("ID_TAXE_PORT"));
}
if (tableBon.contains("PORT_HT")) {
map(tableBon.getField("PORT_HT"), tableFacture.getField("PORT_HT"));
}
if (tableBon.contains("REMISE_HT")) {
map(tableBon.getField("REMISE_HT"), tableFacture.getField("REMISE_HT"));
}
 
}
 
@Override
protected void merge(SQLRowAccessor srcRow, SQLRowValues rowVals) {
super.merge(srcRow, rowVals);
/trunk/OpenConcerto/src/org/openconcerto/erp/injector/DevisBlSQLInjector.java
28,12 → 28,18
final SQLTable tableDevis = getSource();
final SQLTable tableBon = getDestination();
map(tableDevis.getField("ID_CLIENT"), tableBon.getField("ID_CLIENT"));
if (getSource().getTable().contains("ID_CONTACT")) {
map(tableDevis.getField("ID_CONTACT"), tableBon.getField("ID_CONTACT"));
}
mapDefaultValues(tableBon.getField("SOURCE"), tableBon.getName());
map(tableDevis.getField("ID_DEVIS"), tableBon.getField("IDSOURCE"));
if (tableDevis.getTable().contains("ID_POLE_PRODUIT")) {
map(tableDevis.getField("ID_POLE_PRODUIT"), tableBon.getField("ID_POLE_PRODUIT"));
}
if (getSource().getTable().contains("ID_CLIENT_DEPARTEMENT")) {
map(getSource().getField("ID_CLIENT_DEPARTEMENT"), getDestination().getField("ID_CLIENT_DEPARTEMENT"));
}
}
 
@Override
protected void merge(SQLRowAccessor srcRow, SQLRowValues rowVals) {
/trunk/OpenConcerto/src/org/openconcerto/erp/injector/FactureAvoirSQLInjector.java
32,9 → 32,27
map(tableFacture.getField("ID_COMMERCIAL"), tableAvoir.getField("ID_COMMERCIAL"));
map(tableFacture.getField("REMISE_HT"), tableAvoir.getField("REMISE_HT"));
map(tableFacture.getField("PORT_HT"), tableAvoir.getField("PORT_HT"));
if (getSource().getTable().contains("ID_CONTACT")) {
map(getSource().getField("ID_CONTACT"), getDestination().getField("ID_CONTACT"));
}
 
if (getSource().contains("ID_ADRESSE") && getDestination().contains("ID_ADRESSE")) {
map(getSource().getField("ID_ADRESSE"), getDestination().getField("ID_ADRESSE"));
}
 
if (getSource().contains("ID_ADRESSE_LIVRAISON") && getDestination().contains("ID_ADRESSE_LIVRAISON")) {
map(getSource().getField("ID_ADRESSE_LIVRAISON"), getDestination().getField("ID_ADRESSE_LIVRAISON"));
}
 
if (getSource().getTable().contains("DATE_LIVRAISON") && getDestination().contains("DATE_LIVRAISON")) {
map(getSource().getField("DATE_LIVRAISON"), getDestination().getField("DATE_LIVRAISON"));
}
 
if (getSource().getTable().contains("ID_CLIENT_DEPARTEMENT")) {
map(getSource().getField("ID_CLIENT_DEPARTEMENT"), getDestination().getField("ID_CLIENT_DEPARTEMENT"));
}
}
 
@Override
protected void merge(SQLRowAccessor srcRow, SQLRowValues rowVals) {
super.merge(srcRow, rowVals);
/trunk/OpenConcerto/src/org/openconcerto/erp/injector/CommandeFactureClientSQLInjector.java
28,11 → 28,43
final SQLTable tableCommande = getSource();
final SQLTable tableFacture = getDestination();
map(tableCommande.getField("ID_CLIENT"), tableFacture.getField("ID_CLIENT"));
if (tableCommande.contains("ID_TAXE_PORT")) {
map(tableCommande.getField("ID_TAXE_PORT"), tableFacture.getField("ID_TAXE_PORT"));
}
if (tableCommande.contains("PORT_HT")) {
map(tableCommande.getField("PORT_HT"), tableFacture.getField("PORT_HT"));
}
if (tableCommande.contains("REMISE_HT")) {
map(tableCommande.getField("REMISE_HT"), tableFacture.getField("REMISE_HT"));
}
if (tableCommande.getTable().contains("ID_POLE_PRODUIT")) {
map(tableCommande.getField("ID_POLE_PRODUIT"), tableFacture.getField("ID_POLE_PRODUIT"));
}
 
if (getSource().getTable().contains("ID_CONTACT")) {
map(getSource().getField("ID_CONTACT"), getDestination().getField("ID_CONTACT"));
}
if (getSource().getTable().contains("ID_CLIENT_DEPARTEMENT")) {
map(getSource().getField("ID_CLIENT_DEPARTEMENT"), getDestination().getField("ID_CLIENT_DEPARTEMENT"));
}
if (getSource().getTable().contains("ID_ADRESSE") && getDestination().contains("ID_ADRESSE")) {
map(getSource().getField("ID_ADRESSE"), getDestination().getField("ID_ADRESSE"));
}
if (getSource().getTable().contains("ID_ADRESSE_LIVRAISON")) {
map(getSource().getField("ID_ADRESSE_LIVRAISON"), getDestination().getField("ID_ADRESSE_LIVRAISON"));
}
 
if (getSource().getTable().contains("MONTANT_REMISE") && getDestination().contains("MONTANT_REMISE")) {
map(getSource().getField("MONTANT_REMISE"), getDestination().getField("MONTANT_REMISE"));
map(getSource().getField("POURCENT_REMISE"), getDestination().getField("POURCENT_REMISE"));
}
 
if (tableFacture.contains("CREATE_VIRTUAL_STOCK")) {
mapDefaultValues(tableFacture.getField("CREATE_VIRTUAL_STOCK"), Boolean.FALSE);
}
 
}
 
@Override
protected void merge(SQLRowAccessor srcRow, SQLRowValues rowVals) {
super.merge(srcRow, rowVals);
/trunk/OpenConcerto/src/org/openconcerto/erp/injector/CommandeFactureAchatSQLInjector.java
29,5 → 29,9
map(tableCommande.getField("T_TTC"), tableAchat.getField("MONTANT_TTC"));
map(tableCommande.getField("T_HT"), tableAchat.getField("MONTANT_HT"));
map(tableCommande.getField("T_TVA"), tableAchat.getField("MONTANT_TVA"));
if (tableAchat.contains("SOURCE")) {
map(tableCommande.getField("ID"), tableAchat.getField("IDSOURCE"));
mapDefaultValues(tableAchat.getField("SOURCE"), tableCommande.getName());
}
}
}
/trunk/OpenConcerto/src/org/openconcerto/erp/injector/CommandeBlSQLInjector.java
13,9 → 13,6
package org.openconcerto.erp.injector;
 
import java.math.BigDecimal;
import java.util.Collection;
 
import org.openconcerto.sql.model.DBRoot;
import org.openconcerto.sql.model.SQLInjector;
import org.openconcerto.sql.model.SQLRowAccessor;
22,6 → 19,9
import org.openconcerto.sql.model.SQLRowValues;
import org.openconcerto.sql.model.SQLTable;
 
import java.math.BigDecimal;
import java.util.Collection;
 
public class CommandeBlSQLInjector extends SQLInjector {
public CommandeBlSQLInjector(final DBRoot root) {
super(root, "COMMANDE_CLIENT", "BON_DE_LIVRAISON", true);
32,8 → 32,28
if (tableCmd.getTable().contains("ID_POLE_PRODUIT") && tableBl.contains("ID_POLE_PRODUIT")) {
map(tableCmd.getField("ID_POLE_PRODUIT"), tableBl.getField("ID_POLE_PRODUIT"));
}
if (getSource().getTable().contains("ID_CONTACT")) {
map(getSource().getField("ID_CONTACT"), getDestination().getField("ID_CONTACT"));
}
if (getSource().getTable().contains("ID_CLIENT_DEPARTEMENT")) {
map(getSource().getField("ID_CLIENT_DEPARTEMENT"), getDestination().getField("ID_CLIENT_DEPARTEMENT"));
}
 
if (tableBl.contains("CREATE_VIRTUAL_STOCK")) {
mapDefaultValues(tableBl.getField("CREATE_VIRTUAL_STOCK"), Boolean.FALSE);
}
 
if (tableBl.contains("ID_TAXE_PORT")) {
map(tableCmd.getField("ID_TAXE_PORT"), tableBl.getField("ID_TAXE_PORT"));
}
if (tableBl.contains("PORT_HT")) {
map(tableCmd.getField("PORT_HT"), tableBl.getField("PORT_HT"));
}
if (tableBl.contains("REMISE_HT")) {
map(tableCmd.getField("REMISE_HT"), tableBl.getField("REMISE_HT"));
}
}
 
@Override
protected void merge(SQLRowAccessor srcRow, SQLRowValues rowVals) {
super.merge(srcRow, rowVals);
/trunk/OpenConcerto/src/org/openconcerto/erp/injector/CommandeBrSQLInjector.java
31,7 → 31,10
map(tableCmd.getField("NOM"), tableBr.getField("NOM"));
map(tableCmd.getField("INFOS"), tableBr.getField("INFOS"));
map(tableCmd.getField("ID"), tableBr.getField("ID_COMMANDE"));
if (tableBr.contains("CREATE_VIRTUAL_STOCK")) {
mapDefaultValues(tableBr.getField("CREATE_VIRTUAL_STOCK"), Boolean.FALSE);
}
}
 
@Override
protected void merge(SQLRowAccessor srcRow, SQLRowValues rowVals) {
/trunk/OpenConcerto/src/org/openconcerto/erp/generationDoc/OOXMLField.java
153,7 → 153,7
if (typeComp.equalsIgnoreCase("Devise")) {
 
BigDecimal result = calcul(o, o2, this.op);
if (o instanceof Long) {
if (o != null && o.getClass().isAssignableFrom(Long.class)) {
long resultLong = Math.round(result.doubleValue());
return Double.valueOf(GestionDevise.currencyToString(resultLong, false));
} else {
341,7 → 341,7
 
if (result != null && scale != null && scale.trim().length() > 0) {
 
return ((BigDecimal) result).setScale(Integer.valueOf(scale));
return ((BigDecimal) result).setScale(Integer.valueOf(scale), RoundingMode.HALF_UP);
}
 
return result;
548,8 → 548,7
if (l0 != 0) {
BigDecimal d;
double coeff = ((double) lN) / ((double) l0);
 
d = new BigDecimal(0.15).add(new BigDecimal(0.85).multiply(new BigDecimal(coeff), DecimalUtils.HIGH_PRECISION));
d = new BigDecimal("0.15").add(new BigDecimal("0.85").multiply(new BigDecimal(coeff), DecimalUtils.HIGH_PRECISION));
p = d.multiply(p0, DecimalUtils.HIGH_PRECISION);
} else {
p = p0;
/trunk/OpenConcerto/src/org/openconcerto/erp/generationDoc/AbstractSheetXml.java
14,6 → 14,7
package org.openconcerto.erp.generationDoc;
 
import org.openconcerto.erp.config.ComptaPropsConfiguration;
import org.jopendocument.link.Component;
import org.openconcerto.sql.model.SQLRow;
import org.openconcerto.utils.ExceptionHandler;
import org.openconcerto.utils.FileUtils;
53,7 → 54,7
 
@Override
public void run() {
JOptionPane.showMessageDialog(null, "Impossible de trouver le modele " + modeleFinal + ". \n Le modéle par défaut sera utilisé!");
JOptionPane.showMessageDialog(null, "Impossible de trouver le modèle " + modeleFinal + ". \n Le modèle par défaut sera utilisé!");
}
});
templateId = getDefaultTemplateId();
61,6 → 62,13
final OOgenerationXML oXML = new OOgenerationXML(AbstractSheetXml.this.row);
AbstractSheetXml.this.generatedOpenDocumentFile = oXML.createDocument(templateId, getType(), getDocumentOutputDirectory(), getValidFileName(getName()), getRowLanguage(),
AbstractSheetXml.this.getMetaGeneration());
if (isRefreshFormulasRequired()) {
final Component doc = ComptaPropsConfiguration.getOOConnexion().loadDocument(AbstractSheetXml.this.generatedOpenDocumentFile, true);
// Remove from code, better use the pref in LO
// doc.refreshFormulas();
doc.save();
doc.close();
}
 
} catch (Exception e) {
DEFAULT_HANDLER.uncaughtException(null, e);
/trunk/OpenConcerto/src/org/openconcerto/erp/generationDoc/AbstractListeSheetXml.java
13,6 → 13,8
package org.openconcerto.erp.generationDoc;
 
import org.openconcerto.erp.config.ComptaPropsConfiguration;
import org.jopendocument.link.Component;
import org.openconcerto.sql.model.SQLRow;
import org.openconcerto.utils.StringUtils;
 
67,7 → 69,13
if (styleAllSheetValues != null) {
styleAllSheetValues.clear();
}
 
if (isRefreshFormulasRequired()) {
final Component doc = ComptaPropsConfiguration.getOOConnexion().loadDocument(generatedOpenDocumentFile, true);
// Remove from code, better use the pref in LO
// doc.refreshFormulas();
doc.save();
doc.close();
}
return AbstractListeSheetXml.this;
} catch (Exception e) {
DEFAULT_HANDLER.uncaughtException(null, e);
/trunk/OpenConcerto/src/org/openconcerto/erp/generationDoc/SpreadSheetGenerator.java
128,9 → 128,9
if (cellValid) {
MutableCell cell = sheet.getCellAt(p.x, p.y);
// on replace les retours a la ligne
 
if (value != null && value.toString().indexOf('\n') >= 0) {
final String stringValue = value.toString();
if (value != null && stringValue.indexOf('\n') >= 0) {
 
String firstPart = stringValue.substring(0, stringValue.indexOf('\n'));
String secondPart = stringValue.substring(stringValue.indexOf('\n') + 1, stringValue.length());
secondPart = secondPart.replace('\n', ',');
/trunk/OpenConcerto/src/org/openconcerto/erp/generationDoc/DefaultCloudTemplateProvider.java
52,14 → 52,19
if (!remoteTemplateDirExists) {
System.err.println("DefaultCloudTemplateProvider: No remote templates in path: " + remotePath);
File defaultTemplateDir = new File("Configuration/Template/Default");
if (getCloudDir().list().length <= 0) {
try {
if (getCloudDir().list().length <= 0) {
FileUtils.copyDirectory(defaultTemplateDir, getCloudDir());
} catch (IOException e) {
ExceptionHandler.handle("Impossible de copier les modèles sur le répertoire cloud depuis " + defaultTemplateDir.getAbsolutePath() + " vers " + getCloudDir().getAbsolutePath(), e);
}
try {
FileUtils.copyDirectory(defaultTemplateDir, getLocalDir());
}
} catch (IOException e) {
ExceptionHandler.handle("Impossible d'initialiser les modèles", e);
ExceptionHandler.handle("Impossible de copier les modèles sur le répertoire local depuis " + defaultTemplateDir.getAbsolutePath() + " vers " + getCloudDir().getAbsolutePath(), e);
}
}
 
} else {
try {
client.retrieveDirectory(getCloudDir(), remotePath, config.getToken());
/trunk/OpenConcerto/src/org/openconcerto/erp/generationDoc/compta/ReportingAnalytiqueKDXmlSheet.java
New file
0,0 → 1,134
/*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
*
* Copyright 2011 OpenConcerto, by ILM Informatique. All rights reserved.
*
* The contents of this file are subject to the terms of the GNU General Public License Version 3
* only ("GPL"). You may not use this file except in compliance with the License. You can obtain a
* copy of the License at http://www.gnu.org/licenses/gpl-3.0.html See the License for the specific
* language governing permissions and limitations under the License.
*
* When distributing the software, include this License Header Notice in each file.
*/
package org.openconcerto.erp.generationDoc.compta;
 
import org.openconcerto.erp.generationDoc.AbstractListeSheetXml;
import org.openconcerto.erp.preferences.PrinterNXProps;
import org.openconcerto.sql.Configuration;
import org.openconcerto.sql.model.SQLRowAccessor;
import org.openconcerto.sql.model.SQLRowValues;
import org.openconcerto.sql.model.SQLRowValuesListFetcher;
import org.openconcerto.sql.model.SQLSelect;
import org.openconcerto.sql.model.SQLTable;
import org.openconcerto.sql.model.Where;
import org.openconcerto.utils.cc.ITransformer;
 
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
 
public class ReportingAnalytiqueKDXmlSheet extends AbstractListeSheetXml {
 
public static final String TEMPLATE_ID = "KDAnalytique";
public static final String TEMPLATE_PROPERTY_NAME = DEFAULT_PROPERTY_NAME;
private Calendar c = Calendar.getInstance();
private Date date = new Date();
private final long MILLIS_IN_HOUR = 3600000;
 
public ReportingAnalytiqueKDXmlSheet(int mois, int year) {
super();
this.printer = PrinterNXProps.getInstance().getStringProperty("BonPrinter");
this.mapAllSheetValues = new HashMap<Integer, Map<String, Object>>();
this.c.set(Calendar.DAY_OF_MONTH, 1);
this.c.set(Calendar.YEAR, year);
this.c.set(Calendar.MONTH, mois);
this.c.set(Calendar.HOUR_OF_DAY, 0);
this.c.set(Calendar.MINUTE, 0);
this.c.set(Calendar.SECOND, 0);
this.c.set(Calendar.MILLISECOND, 1);
 
}
 
@Override
protected String getStoragePathP() {
return "Analytique";
}
 
@Override
public String getName() {
if (this.date == null) {
this.date = new Date();
}
return "KDAnalytique" + this.date;
}
 
@Override
public String getDefaultTemplateId() {
return TEMPLATE_ID;
}
 
protected void createListeValues() {
this.listAllSheetValues = new HashMap<Integer, List<Map<String, Object>>>();
this.styleAllSheetValues = new HashMap<Integer, Map<Integer, String>>();
 
SQLTable tableAssoc = Configuration.getInstance().getDirectory().getElement("ASSOCIATION_ANALYTIQUE").getTable();
SQLRowValues rowVals = new SQLRowValues(tableAssoc);
rowVals.putNulls("MONTANT", "POURCENT");
rowVals.putRowValues("ID_ECRITURE").putNulls("DEBIT", "CREDIT", "DATE", "COMPTE_NUMERO");
rowVals.putRowValues("ID_POSTE_ANALYTIQUE").putNulls("NOM").putRowValues("ID_AXE_ANALYTIQUE").putNulls("NOM");
 
SQLRowValuesListFetcher fetcher = SQLRowValuesListFetcher.create(rowVals);
 
fetcher.setSelTransf(new ITransformer<SQLSelect, SQLSelect>() {
 
@Override
public SQLSelect transformChecked(SQLSelect input) {
Calendar c = Calendar.getInstance();
c.set(Calendar.DAY_OF_MONTH, 1);
c.set(Calendar.MONTH, Calendar.JANUARY);
c.set(Calendar.HOUR, 0);
c.set(Calendar.MINUTE, 0);
 
input.setWhere(new Where(input.getTable("ECRITURE").getField("DATE"), ">=", c.getTime()));
 
return input;
}
});
 
List<SQLRowValues> result = fetcher.fetch();
 
List<Map<String, Object>> listValues = new ArrayList<Map<String, Object>>();
// Map<Integer, String> styleValues = new HashMap<Integer, String>();
for (SQLRowValues sqlRowValues : result) {
 
Map<String, Object> mapSheetValue = new HashMap<String, Object>();
 
final SQLRowAccessor foreignEcr = sqlRowValues.getForeign("ID_ECRITURE");
mapSheetValue.put("DATE", foreignEcr.getDate("DATE").getTime());
mapSheetValue.put("DEBIT", foreignEcr.getLong("DEBIT"));
mapSheetValue.put("CREDIT", foreignEcr.getLong("CREDIT"));
mapSheetValue.put("COMPTE", foreignEcr.getString("COMPTE_NUMERO"));
 
mapSheetValue.put("POURCENT", sqlRowValues.getObject("POURCENT"));
mapSheetValue.put("MONTANT", sqlRowValues.getObject("MONTANT"));
 
final SQLRowAccessor foreignPoste = sqlRowValues.getForeign("ID_POSTE_ANALYTIQUE");
mapSheetValue.put("POSTE", foreignPoste.getString("NOM"));
 
mapSheetValue.put("AXE", foreignPoste.getForeign("ID_AXE_ANALYTIQUE").getString("NOM"));
 
listValues.add(mapSheetValue);
 
}
 
// this.sheetNames.add(userName);
 
this.listAllSheetValues.put(0, listValues);
 
}
 
}
/trunk/OpenConcerto/src/org/openconcerto/erp/generationDoc/OOXMLTableField.java
219,6 → 219,7
result.append(" € HT");
return result.toString();
} else {
// result.append("(0,125 + 0,875 x (");
result.append("(0,15 + 0,85 x (");
result.append(GestionDevise.currencyToString(indiceN));
result.append(" / ");
/trunk/OpenConcerto/src/org/openconcerto/erp/generationDoc/provider/PaiementRemainedProvider.java
23,6 → 23,16
 
public class PaiementRemainedProvider implements SpreadSheetCellValueProvider {
 
private enum Type {
DONE, REMAINED
};
 
private final Type t;
 
private PaiementRemainedProvider(Type t) {
this.t = t;
}
 
public Object getValue(SpreadSheetCellValueContext context) {
SQLRowAccessor row = context.getRow();
return getRestant(row);
29,7 → 39,8
}
 
public static void register() {
SpreadSheetCellValueProviderManager.put("invoice.paiement.remained", new PaiementRemainedProvider());
SpreadSheetCellValueProviderManager.put("invoice.paiement.remained", new PaiementRemainedProvider(Type.REMAINED));
SpreadSheetCellValueProviderManager.put("invoice.paiement.done", new PaiementRemainedProvider(Type.DONE));
}
 
private BigDecimal getRestant(SQLRowAccessor r) {
42,8 → 53,11
}
}
 
return new BigDecimal(totalEch).movePointLeft(2);
 
long total = totalEch;
if (t == Type.DONE) {
total = r.getLong("T_TTC") - total;
}
return new BigDecimal(total).movePointLeft(2);
}
 
}
/trunk/OpenConcerto/src/org/openconcerto/erp/generationDoc/provider/FormatedGlobalQtyTotalProvider.java
24,7 → 24,7
 
public class FormatedGlobalQtyTotalProvider implements SpreadSheetCellValueProvider {
 
private final boolean shortName;
private final boolean shortName, alwaysShowOnZeroQty;
 
private static enum Type {
NORMAL, SHIPMENT
33,19 → 33,29
private final Type type;
 
private FormatedGlobalQtyTotalProvider(Type t, boolean shortName) {
this(t, shortName, false);
}
 
private FormatedGlobalQtyTotalProvider(Type t, boolean shortName, boolean alwaysShowOnZeroQty) {
this.shortName = shortName;
this.type = t;
this.alwaysShowOnZeroQty = alwaysShowOnZeroQty;
}
 
public Object getValue(SpreadSheetCellValueContext context) {
final SQLRowAccessor row = context.getRow();
final BigDecimal pv = row.getBigDecimal("PV_HT");
if (pv.compareTo(BigDecimal.ZERO) == 0) {
if (!alwaysShowOnZeroQty && pv.compareTo(BigDecimal.ZERO) == 0) {
return null;
}
 
final int qte = row.getInt(this.type == Type.NORMAL ? "QTE" : "QTE_LIVREE");
final String field = this.type == Type.NORMAL ? "QTE" : "QTE_LIVREE";
if (row.getObject(field) == null) {
return null;
}
 
final int qte = row.getInt(field);
 
if (row.getInt("ID_UNITE_VENTE") == UniteVenteArticleSQLElement.A_LA_PIECE) {
return String.valueOf(qte);
}
67,6 → 77,7
}
 
public static void register() {
SpreadSheetCellValueProviderManager.put("supplychain.element.qtyunit.short.with.quantity", new FormatedGlobalQtyTotalProvider(Type.NORMAL, true, true));
SpreadSheetCellValueProviderManager.put("supplychain.element.qtyunit.short", new FormatedGlobalQtyTotalProvider(Type.NORMAL, true));
SpreadSheetCellValueProviderManager.put("supplychain.element.qtyunit", new FormatedGlobalQtyTotalProvider(Type.NORMAL, false));
SpreadSheetCellValueProviderManager.put("supplychain.element.qtyunit.deliver.short", new FormatedGlobalQtyTotalProvider(Type.SHIPMENT, true));
/trunk/OpenConcerto/src/org/openconcerto/erp/generationDoc/provider/AdresseClientProvider.java
30,12 → 30,20
public SQLRowAccessor getAdresse(SQLRowAccessor r, int type) {
 
// Adresse spécifique
if (r.getTable().contains("ID_ADRESSE")) {
SQLRowAccessor rAdr = r.getForeign("ID_ADRESSE");
if (type != ADRESSE_PRINCIPALE) {
String field;
if (type == ADRESSE_FACTURATION) {
field = "ID_ADRESSE";
} else {
field = "ID_ADRESSE_LIVRAISON";
}
if (r.getTable().contains(field)) {
SQLRowAccessor rAdr = r.getForeign(field);
if (rAdr != null && !rAdr.isUndefined()) {
return rAdr;
}
}
}
 
 
SQLRowAccessor rCli = r.getForeign("ID_CLIENT");
53,6 → 61,16
adrResult = rAdr;
}
}
 
if (type == ADRESSE_FACTURATION && r.getTable().contains("ID_CLIENT_DEPARTEMENT")) {
if (!r.isForeignEmpty("ID_CLIENT_DEPARTEMENT")) {
SQLRowAccessor rDpt = r.getForeign("ID_CLIENT_DEPARTEMENT");
if (!rDpt.isForeignEmpty("ID_ADRESSE")) {
adrResult = rDpt.getForeign("ID_ADRESSE");
}
}
}
 
return adrResult;
}
 
/trunk/OpenConcerto/src/org/openconcerto/erp/generationDoc/provider/DateBLProvider.java
New file
0,0 → 1,42
/*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
*
* Copyright 2011 OpenConcerto, by ILM Informatique. All rights reserved.
*
* The contents of this file are subject to the terms of the GNU General Public License Version 3
* only ("GPL"). You may not use this file except in compliance with the License. You can obtain a
* copy of the License at http://www.gnu.org/licenses/gpl-3.0.html See the License for the specific
* language governing permissions and limitations under the License.
*
* When distributing the software, include this License Header Notice in each file.
*/
package org.openconcerto.erp.generationDoc.provider;
 
import org.openconcerto.erp.generationDoc.SpreadSheetCellValueContext;
import org.openconcerto.erp.generationDoc.SpreadSheetCellValueProvider;
import org.openconcerto.erp.generationDoc.SpreadSheetCellValueProviderManager;
import org.openconcerto.sql.model.SQLRowAccessor;
 
import java.util.Collection;
import java.util.Date;
 
public class DateBLProvider implements SpreadSheetCellValueProvider {
 
public Object getValue(SpreadSheetCellValueContext context) {
final SQLRowAccessor row = context.getRow();
final Collection<? extends SQLRowAccessor> rows = row.getReferentRows(row.getTable().getTable("TR_BON_DE_LIVRAISON"));
 
Date d = null;
for (SQLRowAccessor sqlRowAccessor : rows) {
 
d = sqlRowAccessor.getForeign("ID_BON_DE_LIVRAISON").getDate("DATE").getTime();
}
return d;
}
 
public static void register() {
SpreadSheetCellValueProviderManager.put("sales.invoice.delivery.date", new DateBLProvider());
}
 
}
/trunk/OpenConcerto/src/org/openconcerto/erp/generationDoc/provider/AdresseFullClientValueProvider.java
29,12 → 29,16
public Object getValue(SpreadSheetCellValueContext context) {
final SQLRowAccessor r = getAdresse(context.getRow(), this.type);
 
String result = r.getString("LIBELLE");
if (result.trim().length() == 0) {
result = r.getString("RUE");
} else {
result += "\n" + r.getString("RUE");
String result = "";
if (r.getString("LIBELLE").trim().length() > 0) {
result = r.getString("LIBELLE") + "\n";
}
if (r.getString("DEST").trim().length() > 0) {
result = r.getString("DEST") + "\n";
}
if (r.getString("RUE").trim().length() > 0) {
result = r.getString("RUE") + "\n";
}
result += "\n" + r.getString("CODE_POSTAL");
result += " ";
result += r.getString("VILLE");
/trunk/OpenConcerto/src/org/openconcerto/erp/generationDoc/OOgenerationListeXML.java
577,13 → 577,17
 
Map<String, Map<Integer, String>> mapStyleDef = StyleSQLElement.getMapAllStyle();
 
Map<String, Map<Integer, String>> mapStyleFounded = new HashMap<String, Map<Integer, String>>();
 
// on parcourt chaque ligne de la feuille pour recuperer les styles
int columnCount = (colEnd == -1) ? sheet.getColumnCount() : (colEnd + 1);
System.err.println("End column search : " + columnCount);
 
int rowCount = (rowEnd > 0) ? rowEnd : sheet.getRowCount();
 
System.err.println("End row search : " + rowCount);
for (int i = 0; i < rowCount; i++) {
for (int i = 0; i < rowCount && (mapStyleDef.keySet().size() - 2) > mapStyleFounded.keySet().size(); i++) {
 
int x = 0;
Map<Integer, String> mapCellStyle = new HashMap<Integer, String>();
String style = "";
599,17 → 603,13
try {
if (mapStyleDef.containsKey(c.getValue().toString())) {
style = c.getValue().toString();
// System.err.println("FIND STYLE " +
// c.getValue().toString() +
// " SET VALUE " + cellStyle);
}
} catch (IllegalStateException e) {
e.printStackTrace();
}
mapCellStyle.put(Integer.valueOf(x), cellStyle);
if (style.trim().length() != 0) {
if (style.trim().length() > 0) {
c.clearValue();
// c.setStyle("Default");
if (!style.trim().equalsIgnoreCase("Normal") && mapStyleDef.get("Normal") != null) {
String styleCell = mapStyleDef.get("Normal").get(Integer.valueOf(x));
if (styleCell != null && styleCell.length() != 0) {
616,6 → 616,9
c.setStyleName(styleCell);
}
}
 
mapStyleFounded.put(style, mapCellStyle);
 
}
}
} catch (IndexOutOfBoundsException e) {
624,14 → 627,10
x++;
}
 
if (style.length() > 0) {
mapStyleDef.put(style, mapCellStyle);
// System.err.println("style " + mapCellStyle);
}
cacheStyle.put(sheet, mapStyleFounded);
return mapStyleFounded;
}
cacheStyle.put(sheet, mapStyleDef);
return mapStyleDef;
}
 
public static void main(String[] args) {
ComptaPropsConfiguration conf = ComptaPropsConfiguration.create();
/trunk/OpenConcerto/src/org/openconcerto/erp/generationDoc/OOXMLCache.java
78,16 → 78,30
if (row.isEmpty() || (row.size() > 0 && row.get(0).isUndefined())) {
list = new ArrayList<SQLRowAccessor>();
} else if (row.size() > 0 && (groupBy == null || groupBy.trim().length() == 0)) {
 
list = new ArrayList<SQLRowAccessor>();
for (SQLRowAccessor sqlRowAccessor : row) {
if (sqlRowAccessor != null && !sqlRowAccessor.isUndefined()) {
list.addAll(sqlRowAccessor.getReferentRows(tableForeign));
SQLSelect sel = new SQLSelect();
sel.addSelectStar(tableForeign);
 
Where w = null;
for (SQLRowAccessor rowAccess : row) {
if (rowAccess != null && !rowAccess.isUndefined()) {
if (w == null) {
w = new Where((SQLField) tableForeign.getForeignKeys(rowAccess.getTable()).toArray()[0], "=", rowAccess.getID());
} else {
w = w.or(new Where((SQLField) tableForeign.getForeignKeys(rowAccess.getTable()).toArray()[0], "=", rowAccess.getID()));
}
}
}
sel.setWhere(w);
addSelectOrder(tableForeign, orderBy, sel);
System.err.println(sel.asString());
list.addAll(SQLRowListRSH.execute(sel));
 
} else {
 
final List<String> params = SQLRow.toList(groupBy);
SQLSelect sel = new SQLSelect(row.get(0).getTable().getBase());
SQLSelect sel = new SQLSelect();
sel.addSelect(tableForeign.getKey());
for (int i = 0; i < params.size(); i++) {
sel.addSelect(tableForeign.getField(params.get(i)));
102,8 → 116,9
}
}
sel.setWhere(w);
addSelectOrder(tableForeign, orderBy, sel);
System.err.println(sel.asString());
List<SQLRow> result = (List<SQLRow>) row.get(0).getTable().getBase().getDataSource().execute(sel.asString(), new SQLRowListRSH(tableForeign));
List<SQLRow> result = SQLRowListRSH.execute(sel);
 
list = new ArrayList<SQLRowAccessor>();
Map<Object, SQLRowValues> m = new HashMap<Object, SQLRowValues>();
132,7 → 147,7
c.put(tableForeign, list);
}
 
if (orderBy != null && orderBy.trim().length() > 0) {
if (orderBy != null && orderBy.trim().length() > 0 && !orderBy.contains(".")) {
Collections.sort(list, new Comparator<SQLRowAccessor>() {
@Override
public int compare(SQLRowAccessor o1, SQLRowAccessor o2) {
147,6 → 162,17
// return row.getReferentRows(tableForeign);
}
 
private void addSelectOrder(final SQLTable tableForeign, final String orderBy, SQLSelect sel) {
if (orderBy != null && orderBy.contains(".")) {
String fieldRefTable = orderBy.substring(0, orderBy.indexOf('.'));
String field = orderBy.substring(orderBy.indexOf('.') + 1, orderBy.length());
sel.addJoin("LEFT", sel.getAlias(tableForeign).getField(fieldRefTable));
sel.addFieldOrder(sel.getAlias(tableForeign.getForeignTable(fieldRefTable)).getField(field));
} else {
sel.addFieldOrder(tableForeign.getOrderField());
}
}
 
private void cumulRows(final List<String> params, SQLRow sqlRow, SQLRowValues rowVals) {
 
for (int i = 1; i < params.size(); i++) {
/trunk/OpenConcerto/src/org/openconcerto/erp/generationDoc/AbstractJOOReportsSheet.java
42,9 → 42,9
 
public abstract class AbstractJOOReportsSheet {
private static final String defaultLocationTemplate = SpreadSheetGenerator.defaultLocationTemplate;
protected static final DateFormat dateFormat = new SimpleDateFormat("dd MMMM yyyy");
protected static final DateFormat dateFormat2 = new SimpleDateFormat("dd/MM/yy");
protected static final DateFormat yearFormat = new SimpleDateFormat("yyyy");
protected final DateFormat dateFormat = new SimpleDateFormat("dd MMMM yyyy");
protected final DateFormat dateFormat2 = new SimpleDateFormat("dd/MM/yy");
protected final DateFormat yearFormat = new SimpleDateFormat("yyyy");
private String year;
protected String locationTemplate = TemplateNXProps.getInstance().getStringProperty("LocationTemplate");
protected String templateId;
341,4 → 341,7
 
}
 
public String getYear() {
return year;
}
}
/trunk/OpenConcerto/src/org/openconcerto/erp/generationDoc/AbstractLocalTemplateProvider.java
46,18 → 46,29
if (templateId == null) {
throw new NullPointerException("null templateId");
}
File templateFile = getTemplateFromLocalFile(templateId, language, type);
if (templateFile != null && templateFile.exists()) {
return templateFile;
File templateFile1 = getTemplateFromLocalFile(templateId, language, type);
if (templateFile1 != null && templateFile1.exists()) {
return templateFile1;
}
templateFile = getTemplateFromLocalFile(templateId + ".ods", language, type);
if (templateFile != null && templateFile.exists()) {
return templateFile;
File templateFile2 = getTemplateFromLocalFile(templateId + ".ods", language, type);
if (templateFile2 != null && templateFile2.exists()) {
return templateFile2;
}
templateFile = getTemplateFromLocalFile(templateId + ".odt", language, type);
if (templateFile != null && templateFile.exists()) {
return templateFile;
File templateFile3 = getTemplateFromLocalFile(templateId + ".odt", language, type);
if (templateFile3 != null && templateFile3.exists()) {
return templateFile3;
}
String files = "";
if (templateFile1 != null) {
files += "'" + templateFile1.getAbsolutePath() + "' ";
}
if (templateFile2 != null) {
files += "'" + templateFile2.getAbsolutePath() + "' ";
}
if (templateFile3 != null) {
files += "'" + templateFile3.getAbsolutePath() + "'";
}
System.err.println("AbstractLocalTemplateProvider.getFileTemplate() failed for id:" + templateId + " language:" + language + " type:" + type + " files:" + files);
return null;
}
 
/trunk/OpenConcerto/src/org/openconcerto/erp/generationDoc/SheetXml.java
51,6 → 51,9
 
public abstract class SheetXml {
 
// INSTEAD USE THE PREF IN L.O. CALC --> Formules, toujours recalculer
private boolean refreshFormulasRequired = false;
 
// return null to keep default value
public interface StorageDirs {
public File getDocumentOutputDirectory(SheetXml sheet);
509,4 → 512,12
return this.printer;
}
 
public void setRefreshFormulasRequired(boolean refreshFormulasRequired) {
this.refreshFormulasRequired = refreshFormulasRequired;
}
 
public boolean isRefreshFormulasRequired() {
return refreshFormulasRequired;
}
 
}
/trunk/OpenConcerto/src/org/openconcerto/erp/generationDoc/AbstractListeColumnSheetXml.java
13,6 → 13,8
package org.openconcerto.erp.generationDoc;
 
import org.openconcerto.erp.config.ComptaPropsConfiguration;
import org.jopendocument.link.Component;
import org.openconcerto.utils.StringUtils;
 
import java.io.File;
51,6 → 53,15
createListeValues();
generatedOpenDocumentFile = OOgenerationListeColumnXML.genere(getTemplateId(), getDocumentOutputDirectory(), getValidFileName(getName()), listAllSheetValues, mapAllSheetValues,
styleAllSheetValues, sheetNames, null);
 
if (isRefreshFormulasRequired()) {
final Component doc = ComptaPropsConfiguration.getOOConnexion().loadDocument(generatedOpenDocumentFile, true);
// Remove from code, better use the pref in LO
// doc.refreshFormulas();
doc.save();
doc.close();
}
 
return AbstractListeColumnSheetXml.this;
} catch (Exception e) {
DEFAULT_HANDLER.uncaughtException(null, e);
/trunk/OpenConcerto/src/org/openconcerto/erp/generationDoc/gestcomm/EtatVentesXmlSheet.java
47,8 → 47,6
 
private static final String MODE1 = "mod1";
 
private static final DateFormat DATE_FORMAT = new SimpleDateFormat("dd/MM/yy");
 
public static final String TEMPLATE_ID = "EtatVentes";
 
public static final String TEMPLATE_PROPERTY_NAME = DEFAULT_PROPERTY_NAME;
349,12 → 347,13
values.put("TOTAL_PA", totalTPA);
values.put("TOTAL_PV_TTC", totalTPVTTC);
String periode = "";
final DateFormat dateFormat = new SimpleDateFormat("dd/MM/yy");
if (this.du != null && this.au != null) {
periode = "Période du " + DATE_FORMAT.format(this.du) + " au " + DATE_FORMAT.format(this.au);
periode = "Période du " + dateFormat.format(this.du) + " au " + dateFormat.format(this.au);
} else if (du == null && au != null) {
periode = "Période jusqu'au " + DATE_FORMAT.format(this.au);
} else if (du != null && du != null) {
periode = "Période depuis le " + DATE_FORMAT.format(this.du);
periode = "Période jusqu'au " + dateFormat.format(this.au);
} else if (du != null && au == null) {
periode = "Période depuis le " + dateFormat.format(this.du);
}
 
values.put("DATE", periode);
/trunk/OpenConcerto/src/org/openconcerto/erp/generationEcritures/AnalytiqueCache.java
New file
0,0 → 1,102
/*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
*
* Copyright 2011 OpenConcerto, by ILM Informatique. All rights reserved.
*
* The contents of this file are subject to the terms of the GNU General Public License Version 3
* only ("GPL"). You may not use this file except in compliance with the License. You can obtain a
* copy of the License at http://www.gnu.org/licenses/gpl-3.0.html See the License for the specific
* language governing permissions and limitations under the License.
*
* When distributing the software, include this License Header Notice in each file.
*/
package org.openconcerto.erp.generationEcritures;
 
import org.openconcerto.erp.config.ComptaPropsConfiguration;
import org.openconcerto.sql.Configuration;
import org.openconcerto.sql.model.DBRoot;
import org.openconcerto.sql.model.SQLRow;
import org.openconcerto.sql.model.SQLRowAccessor;
import org.openconcerto.sql.model.SQLRowListRSH;
import org.openconcerto.sql.model.SQLSelect;
import org.openconcerto.sql.model.SQLTable;
 
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
 
public final class AnalytiqueCache {
 
static private final SQLSelect getSelPoste() {
final DBRoot root = ((ComptaPropsConfiguration) Configuration.getInstance()).getRootSociete();
final SQLTable table = root.getTable("POSTE_ANALYTIQUE");
final SQLSelect sel = new SQLSelect();
sel.addSelect(table.getKey());
sel.addSelect(table.getField("NOM"));
sel.addSelect(table.getField("ID_AXE_ANALYTIQUE"));
sel.addSelect(table.getField("DEFAULT"));
return sel;
}
 
static private final SQLSelect getSelAxe() {
final DBRoot root = ((ComptaPropsConfiguration) Configuration.getInstance()).getRootSociete();
final SQLTable table = root.getTable("AXE_ANALYTIQUE");
final SQLSelect sel = new SQLSelect();
sel.addSelect(table.getKey());
sel.addSelect(table.getField("NOM"));
return sel;
}
 
private transient final Map<Integer, SQLRowAccessor> mapPoste = new HashMap<Integer, SQLRowAccessor>();
private final List<SQLRow> axes;
private static AnalytiqueCache instance;
private transient Map<Integer, SQLRow> defaultPoste = new HashMap<Integer, SQLRow>();
 
private AnalytiqueCache() {
{
final SQLSelect sel = getSelPoste();
 
final List<SQLRow> l = SQLRowListRSH.execute(sel);
for (SQLRow sqlRow : l) {
this.mapPoste.put(sqlRow.getID(), sqlRow);
if (sqlRow.getBoolean("DEFAULT")) {
this.defaultPoste.put(sqlRow.getForeignID("ID_AXE_ANALYTIQUE"), sqlRow);
}
}
}
{
this.axes = new ArrayList<SQLRow>();
final SQLSelect sel = getSelAxe();
 
final List<SQLRow> l = SQLRowListRSH.execute(sel);
for (SQLRow sqlRow : l) {
this.axes.add(sqlRow);
}
}
 
}
 
public Collection<SQLRow> getAxes() {
return Collections.unmodifiableCollection(axes);
}
 
synchronized public static AnalytiqueCache getCache() {
if (instance == null) {
instance = new AnalytiqueCache();
}
return instance;
}
 
public SQLRowAccessor getPosteFromId(final int id) {
return this.mapPoste.get(Integer.valueOf(id));
}
 
public SQLRow getDefaultPoste(int idAxe) {
 
return this.defaultPoste.get(idAxe);
}
}
/trunk/OpenConcerto/src/org/openconcerto/erp/generationEcritures/GenerationMvtFichePaye.java
17,13 → 17,18
import org.openconcerto.erp.core.finance.accounting.element.JournalSQLElement;
import org.openconcerto.sql.Configuration;
import org.openconcerto.sql.model.SQLRow;
import org.openconcerto.sql.model.SQLRowListRSH;
import org.openconcerto.sql.model.SQLRowValues;
import org.openconcerto.sql.model.SQLRowValuesListFetcher;
import org.openconcerto.sql.model.SQLSelect;
import org.openconcerto.sql.model.SQLTable;
import org.openconcerto.sql.model.Where;
import org.openconcerto.utils.ExceptionHandler;
import org.openconcerto.utils.GestionDevise;
import org.openconcerto.utils.Tuple2;
 
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
45,6 → 50,8
private static final SQLTable tablePrefCompte = base.getTable("PREFS_COMPTE");
private static final SQLRow rowPrefsCompte = tablePrefCompte.getRow(2);
 
private SQLTable tableCaisse = Configuration.getInstance().getBase().getTable("CAISSE_COTISATION");
 
// Journal OD
private static final Integer journalOD = Integer.valueOf(JournalSQLElement.OD);
 
52,7 → 59,9
 
public GenerationMvtFichePaye(int[] idFichePaye, String mois, String annee) throws SQLException {
 
setRowAnalytiqueSource(null);
SQLTable tableNet = Configuration.getInstance().getBase().getTable("RUBRIQUE_NET");
 
SQLTable tableBrut = Configuration.getInstance().getBase().getTable("RUBRIQUE_BRUT");
SQLTable tableCotis = Configuration.getInstance().getBase().getTable("RUBRIQUE_COTISATION");
SQLTable tableComm = Configuration.getInstance().getBase().getTable("RUBRIQUE_COMM");
72,6 → 81,20
 
System.out.println("Génération des ecritures reglement du mouvement " + this.idMvt);
 
SQLRowValues rowValsCaisse = new SQLRowValues(tableCaisse);
rowValsCaisse.put(tableCaisse.getKey().getName(), null);
rowValsCaisse.put("NUMERO_COMPTE_PCE", null);
rowValsCaisse.put("NUMERO_COMPTE_PCE_CHARGES", null);
SQLRowValuesListFetcher fetcher = SQLRowValuesListFetcher.create(rowValsCaisse);
List<SQLRowValues> result = fetcher.fetch();
 
Map<Integer, Tuple2<Integer, Integer>> mapCaisse = new HashMap<Integer, Tuple2<Integer, Integer>>(result.size());
for (SQLRowValues sqlRowValues : result) {
int idCompte = ComptePCESQLElement.getId(sqlRowValues.getString("NUMERO_COMPTE_PCE"));
int idCompteCharges = ComptePCESQLElement.getId(sqlRowValues.getString("NUMERO_COMPTE_PCE_CHARGES"));
mapCaisse.put(sqlRowValues.getID(), Tuple2.create(idCompteCharges, idCompte));
}
 
// SQLRow rowFiche =
// Configuration.getInstance().getBase().getTable("FICHE_PAYE").getRow(this.idFichePaye);
// iniatilisation des valeurs de la map
117,7 → 140,7
this.mEcritures.put("ID_COMPTE_PCE", Integer.valueOf(idComptePayeRegl));
this.mEcritures.put("NOM", rowSal.getString("NOM") + " " + this.nom);
 
float sal = rowFiche.getFloat("SAL_BRUT");
float sal = rowFiche.getFloat("NET_A_PAYER");
 
this.mEcritures.put("DEBIT", Long.valueOf(0));
this.mEcritures.put("CREDIT", Long.valueOf(GestionDevise.parseLongCurrency(String.valueOf(sal))));
162,61 → 185,47
 
// on recupere les élements de la fiche
// ensemble des cotisations
SQLSelect selAllIDFicheElt = new SQLSelect(base);
SQLSelect selAllFicheElt = new SQLSelect();
 
selAllIDFicheElt.addSelect(tableFichePayeElt.getField("ID"));
 
Where w = null;
for (int i = 0; i < this.idFichePaye.length; i++) {
if (w == null) {
w = new Where(tableFichePayeElt.getField("ID_FICHE_PAYE"), "=", this.idFichePaye[i]);
} else {
w.and(new Where(tableFichePayeElt.getField("ID_FICHE_PAYE"), "=", this.idFichePaye[i]));
selAllFicheElt.addSelectStar(tableFichePayeElt);
List<Integer> idsElt = new ArrayList<Integer>();
for (int id : this.idFichePaye) {
idsElt.add(id);
}
}
Where w = new Where(tableFichePayeElt.getField("ID_FICHE_PAYE"), idsElt);
w = w.and(new Where(tableFichePayeElt.getField("SOURCE"), "=", "RUBRIQUE_COTISATION"));
 
selAllIDFicheElt.setWhere(w);
selAllFicheElt.setWhere(w);
 
selAllIDFicheElt.setDistinct(true);
List<SQLRow> resultElt = SQLRowListRSH.execute(selAllFicheElt);
 
String reqAllIDFichelElt = selAllIDFicheElt.asString();
 
System.err.println("Request " + reqAllIDFichelElt);
 
Object[] objIDFicheElt = ((List) base.getDataSource().execute(reqAllIDFichelElt, new ArrayListHandler())).toArray();
 
System.err.println(objIDFicheElt.length + " elements to load");
 
Map<Integer, Long> mapCompteDebSal = new HashMap<Integer, Long>();
Map<Integer, Long> mapCompteDebPat = new HashMap<Integer, Long>();
Map<Integer, Long> mapCompteCredSal = new HashMap<Integer, Long>();
Map<Integer, Long> mapCompteCredPat = new HashMap<Integer, Long>();
 
for (int i = 0; i < objIDFicheElt.length; i++) {
SQLRow row = tableFichePayeElt.getRow(Integer.parseInt(((Object[]) objIDFicheElt[i])[0].toString()));
for (SQLRow row : resultElt) {
 
String source = row.getString("SOURCE");
int idSource = row.getInt("IDSOURCE");
 
if (source.trim().length() != 0) {
SQLRow rowSource = this.mapTableSource.get(source).getRow(idSource);
 
System.err.println("Source != null");
int idCaisse = rowSource.getInt("ID_CAISSE_COTISATION");
 
if (this.mapTableSource.get(source) != null) {
SQLRow rowSource = this.mapTableSource.get(source).getRow(idSource);
 
if (rowSource.getTable().getName().equalsIgnoreCase("RUBRIQUE_COTISATION")) {
Tuple2<Integer, Integer> t = mapCaisse.get(idCaisse);
// on recupere les comptes tiers et charge de la caisse associée
int idCompteCharge = ComptePCESQLElement.getId("645");
int idCompteCharge = (t == null ? ComptePCESQLElement.getId("645") : t.get0());
// }
 
// int idCompteTiers = rowCaisse.getInt("ID_COMPTE_PCE_TIERS");
// if (idCompteTiers <= 1) {
int idCompteTiers = ComptePCESQLElement.getId("437");
int idCompteTiers = (t == null ? ComptePCESQLElement.getId("437") : t.get1());
// int idCompteTiers = ComptePCESQLElement.getId("437");
// }
 
// Cotisations sal.
if (row.getFloat("MONTANT_SAL_DED") != 0) {
if (row.getObject("MONTANT_SAL_DED") != null && row.getFloat("MONTANT_SAL_DED") != 0) {
 
Object montantCredObj = mapCompteCredSal.get(Integer.valueOf(idCompteTiers));
long montantCred = (montantCredObj == null) ? 0 : ((Long) montantCredObj).longValue();
223,14 → 232,18
montantCred += GestionDevise.parseLongCurrency(row.getObject("MONTANT_SAL_DED").toString());
mapCompteCredSal.put(Integer.valueOf(idCompteTiers), Long.valueOf(montantCred));
 
Object montantDebObj = mapCompteDebSal.get(Integer.valueOf(ComptePCESQLElement.getId("421")));
long montantDeb = (montantDebObj == null) ? 0 : ((Long) montantDebObj).longValue();
montantDeb += GestionDevise.parseLongCurrency(row.getObject("MONTANT_SAL_DED").toString());
mapCompteDebSal.put(Integer.valueOf(ComptePCESQLElement.getId("421")), Long.valueOf(montantDeb));
// Object montantDebObj =
// mapCompteDebSal.get(Integer.valueOf(ComptePCESQLElement.getId("421")));
// long montantDeb = (montantDebObj == null) ? 0 : ((Long)
// montantDebObj).longValue();
// montantDeb +=
// GestionDevise.parseLongCurrency(row.getObject("MONTANT_SAL_DED").toString());
// mapCompteDebSal.put(Integer.valueOf(ComptePCESQLElement.getId("421")),
// Long.valueOf(montantDeb));
}
 
// Cotisation pat.
if (row.getFloat("MONTANT_PAT") != 0) {
if (row.getObject("MONTANT_PAT") != null && row.getFloat("MONTANT_PAT") != 0) {
 
Object montantDebObj = mapCompteDebPat.get(Integer.valueOf(idCompteCharge));
long montantDeb = (montantDebObj == null) ? 0 : ((Long) montantDebObj).longValue();
243,15 → 256,9
mapCompteCredPat.put(Integer.valueOf(idCompteTiers), Long.valueOf(montantCred));
 
}
}
 
} else {
System.err.println("Table " + source + " non référencée");
}
}
 
}
 
// enregistrement des ecritures pour les cotisations salariales et patronales
for (Entry<Integer, Long> entry : mapCompteCredSal.entrySet()) {
Integer idCompte = entry.getKey();
/trunk/OpenConcerto/src/org/openconcerto/erp/generationEcritures/GenerationMvtFactureFournisseur.java
40,22 → 40,20
private static final SQLTable tableMvt = base.getTable("MOUVEMENT");
private static final SQLRow rowPrefsCompte = tablePrefCompte.getRow(2);
 
public GenerationMvtFactureFournisseur(int idFacture, int idMvt) {
this.idFacture = idFacture;
public GenerationMvtFactureFournisseur(SQLRow row, int idMvt) {
setRowAnalytiqueSource(row);
this.idFacture = row.getID();
this.idMvt = idMvt;
(new Thread(GenerationMvtFactureFournisseur.this)).start();
}
 
public GenerationMvtFactureFournisseur(int idFacture) {
 
this.idFacture = idFacture;
this.idMvt = 1;
(new Thread(GenerationMvtFactureFournisseur.this)).start();
public GenerationMvtFactureFournisseur(SQLRow row) {
this(row, 1);
}
 
public void genereMouvement() throws Exception {
 
SQLRow saisieRow = tableFacture.getRow(this.idFacture);
SQLRow saisieRow = getRowAnalytiqueSource();
// SQLRow taxeRow = base.getTable("TAXE").getRow(saisieRow.getInt("ID_TAXE"));
 
SQLRow rowFournisseur = tableFournisseur.getRow(saisieRow.getInt("ID_FOURNISSEUR"));
109,7 → 107,7
this.mEcritures.put("CREDIT", Long.valueOf(0));
this.mEcritures.put("DEBIT", Long.valueOf(b));
SQLRow rowEcr = ajoutEcriture();
addAssocAnalytiqueFromProvider(rowEcr, saisieRow);
// addAssocAnalytiqueFromProvider(rowEcr, saisieRow);
}
}
 
/trunk/OpenConcerto/src/org/openconcerto/erp/generationEcritures/GenerationMvtSaisieKm.java
34,11 → 34,13
 
public int genereMouvement() throws SQLException {
 
SQLRow saisieRow = base.getTable("SAISIE_KM").getRow(this.idSaisieKm);
final SQLTable table = base.getTable("SAISIE_KM");
SQLRow saisieRow = table.getRow(this.idSaisieKm);
 
// iniatilisation des valeurs de la map
this.date = (Date) saisieRow.getObject("DATE");
this.nom = saisieRow.getObject("NOM").toString();
final String labelSaisie = saisieRow.getObject("NOM").toString();
this.nom = labelSaisie;
this.mEcritures.put("DATE", this.date);
this.mEcritures.put("NOM", this.nom);
this.mEcritures.put("ID_JOURNAL", saisieRow.getObject("ID_JOURNAL"));
45,7 → 47,7
this.mEcritures.put("ID_MOUVEMENT", new Integer(1));
 
// on calcule le nouveau numero de mouvement
getNewMouvement(GenerationMvtSaisieKm.source, this.idSaisieKm, 1, "Saisie au km " + saisieRow.getObject("NOM").toString());
getNewMouvement(GenerationMvtSaisieKm.source, this.idSaisieKm, 1, (labelSaisie.length() == 0 ? "Saisie au km " : labelSaisie));
 
// gnération des ecritures
SQLTable tableElt = Configuration.getInstance().getRoot().findTable("SAISIE_KM_ELEMENT");
62,14 → 64,17
this.mEcritures.put("NOM", rowElement.getString("NOM_ECRITURE"));
this.mEcritures.put("DEBIT", rowElement.getObject("DEBIT"));
this.mEcritures.put("CREDIT", rowElement.getObject("CREDIT"));
if (tableElt.contains("NOM_PIECE")) {
this.mEcritures.put("NOM_PIECE", rowElement.getObject("NOM_PIECE"));
}
SQLRow rowEcr = ajoutEcriture();
 
List<SQLRow> assocs = rowElement.getReferentRows(tableAssoc);
for (SQLRow sqlRow : assocs) {
if (!sqlRow.isUndefined()) {
addAssocAnalytique(rowEcr, sqlRow.getInt("ID_POSTE_ANALYTIQUE"));
}
}
// List<SQLRow> assocs = rowElement.getReferentRows(tableAssoc);
// for (SQLRow sqlRow : assocs) {
// if (!sqlRow.isUndefined()) {
// addAssocAnalytique(rowEcr, sqlRow.getInt("ID_POSTE_ANALYTIQUE"));
// }
// }
 
// Mise à jour de la clef étrangère écriture de l'élément saisie au km
if (rowEcr != null && !rowEcr.isUndefined()) {
/trunk/OpenConcerto/src/org/openconcerto/erp/generationEcritures/provider/AnalytiqueProvider.java
15,7 → 15,16
 
import org.openconcerto.sql.model.SQLRow;
 
import java.util.List;
 
public interface AnalytiqueProvider {
 
public void addAssociation(SQLRow rowEcr, SQLRow rowSource);
/**
* @param axe
* @param rowEcr
* @param rowSource
* @return la liste des associations créées. Si aucune n'est créée, une association sera créée
* sur le poste par défaut
*/
public List<SQLRow> addAssociation(SQLRow axe, SQLRow rowEcr, SQLRow rowSource);
}
/trunk/OpenConcerto/src/org/openconcerto/erp/generationEcritures/GenerationMvtTicketCaisse.java
41,6 → 41,7
public GenerationMvtTicketCaisse(SQLRow ticket, int idMvt) {
 
System.err.println("********* init GeneRation");
setRowAnalytiqueSource(ticket);
this.idMvt = idMvt;
this.rowTicket = ticket;
 
/trunk/OpenConcerto/src/org/openconcerto/erp/generationEcritures/GenerationEcritures.java
67,9 → 67,23
// Libelle de l'ecriture
protected String nom;
 
private SQLRow rowAnalytiqueSource;
 
// Map contenant les valeurs pour la SQLRowValues de la table Ecritures à ajouter
public Map<String, Object> mEcritures = new HashMap<String, Object>();
 
// public GenerationEcritures(SQLRow rowSource) {
// this.rowAnalytiqueSource = rowSource;
// }
 
public void setRowAnalytiqueSource(SQLRow rowAnalytiqueSource) {
this.rowAnalytiqueSource = rowAnalytiqueSource;
}
 
public SQLRow getRowAnalytiqueSource() {
return this.rowAnalytiqueSource;
}
 
/**
* Ajout d'une écriture et maj des totaux du compte associé
*
153,6 → 167,9
if (valEcriture.getInvalid() == null) {
// ajout de l'ecriture
SQLRow ecritureRow = valEcriture.insert();
 
// TODO Analytique
addAssocAnalytiqueFromProvider(ecritureRow, this.rowAnalytiqueSource);
return ecritureRow;
} else {
System.err.println("GenerationEcritures.java :: Error in values for insert in table " + GenerationEcritures.ecritureTable.getName() + " : " + valEcriture.toString());
193,12 → 210,38
 
public void addAssocAnalytiqueFromProvider(SQLRow rowEcr, SQLRow rowSource) throws SQLException {
 
String numeroCpt = rowEcr.getString("COMPTE_NUMERO");
if (rowSource != null && !rowSource.getTable().getName().equalsIgnoreCase("SAISIE_KM") && (numeroCpt.startsWith("6") || numeroCpt.startsWith("7"))) {
for (SQLRow axe : AnalytiqueCache.getCache().getAxes()) {
// TODO Check if total = 100%
int assoc = 0;
Collection<AnalytiqueProvider> l = AnalytiqueProviderManager.getAll();
for (AnalytiqueProvider analytiqueProvider : l) {
analytiqueProvider.addAssociation(rowEcr, rowSource);
List<SQLRow> result = analytiqueProvider.addAssociation(axe, rowEcr, rowSource);
if (result != null) {
assoc += result.size();
}
}
 
if (assoc == 0) {
SQLRow poste = AnalytiqueCache.getCache().getDefaultPoste(axe.getID());
if (poste != null) {
if (tableAssoc == null) {
tableAssoc = Configuration.getInstance().getDirectory().getElement("ASSOCIATION_ANALYTIQUE").getTable();
}
SQLRowValues rowVals = new SQLRowValues(tableAssoc);
rowVals.put("ID_POSTE_ANALYTIQUE", poste.getID());
rowVals.put("POURCENT", 100.0);
rowVals.put("ID_ECRITURE", rowEcr.getID());
rowVals.put("MONTANT", rowEcr.getLong("DEBIT") - rowEcr.getLong("CREDIT"));
rowVals.put("GESTION_AUTO", Boolean.TRUE);
rowVals.commit();
}
}
}
}
}
 
/**
* Génération d'un groupe d'écritures respectant la partie double.
*
/trunk/OpenConcerto/src/org/openconcerto/erp/generationEcritures/GenerationMvtSaisieAchat.java
30,38 → 30,32
 
public static final String ID = "accounting.records.supply.order";
 
private int idSaisieAchat;
private final SQLRow saisieRow;
private static final String source = "SAISIE_ACHAT";
private static final Integer journal = new Integer(JournalSQLElement.ACHATS);
private static final SQLTable tableSaisieAchat = base.getTable("SAISIE_ACHAT");
private static final SQLTable tablePrefCompte = base.getTable("PREFS_COMPTE");
private static final SQLTable tableFournisseur = base.getTable("FOURNISSEUR");
private static final SQLTable tableMvt = base.getTable("MOUVEMENT");
private static final SQLRow rowPrefsCompte = tablePrefCompte.getRow(2);
 
public GenerationMvtSaisieAchat(int idSaisieAchat, int idMvt) {
this.idSaisieAchat = idSaisieAchat;
public GenerationMvtSaisieAchat(SQLRow row, int idMvt) {
setRowAnalytiqueSource(row);
this.saisieRow = row;
this.idMvt = idMvt;
(new Thread(GenerationMvtSaisieAchat.this)).start();
}
 
public GenerationMvtSaisieAchat(int idSaisieAchat) {
public GenerationMvtSaisieAchat(SQLRow row) {
 
this.idSaisieAchat = idSaisieAchat;
this.idMvt = 1;
(new Thread(GenerationMvtSaisieAchat.this)).start();
this(row, 1);
}
 
public void genereMouvement() throws Exception {
SQLRow rowFournisseur = tableFournisseur.getRow(this.saisieRow.getInt("ID_FOURNISSEUR"));
 
SQLRow saisieRow = tableSaisieAchat.getRow(this.idSaisieAchat);
// SQLRow taxeRow = base.getTable("TAXE").getRow(saisieRow.getInt("ID_TAXE"));
 
SQLRow rowFournisseur = tableFournisseur.getRow(saisieRow.getInt("ID_FOURNISSEUR"));
 
// iniatilisation des valeurs de la map
this.date = (Date) saisieRow.getObject("DATE");
this.nom = "Achat : " + rowFournisseur.getString("NOM") + " Facture : " + saisieRow.getObject("NUMERO_FACTURE").toString() + " " + saisieRow.getObject("NOM").toString();
this.nom = "Achat : " + rowFournisseur.getString("NOM") + " Facture : " + this.saisieRow.getObject("NUMERO_FACTURE").toString() + " " + saisieRow.getObject("NOM").toString();
this.mEcritures.put("DATE", this.date);
AccountingRecordsProvider provider = AccountingRecordsProviderManager.get(ID);
provider.putLabel(saisieRow, this.mEcritures);
70,18 → 64,18
this.mEcritures.put("ID_MOUVEMENT", new Integer(1));
 
// Calcul des montants
PrixTTC prixTTC = new PrixTTC(((Long) saisieRow.getObject("MONTANT_TTC")).longValue());
PrixHT prixTVA = new PrixHT(((Long) saisieRow.getObject("MONTANT_TVA")).longValue());
PrixHT prixHT = new PrixHT(((Long) saisieRow.getObject("MONTANT_HT")).longValue());
PrixTTC prixTTC = new PrixTTC(this.saisieRow.getLong("MONTANT_TTC"));
PrixHT prixTVA = new PrixHT(this.saisieRow.getLong("MONTANT_TVA"));
PrixHT prixHT = new PrixHT(this.saisieRow.getLong("MONTANT_HT"));
 
// on calcule le nouveau numero de mouvement
if (this.idMvt == 1) {
SQLRowValues rowValsPiece = new SQLRowValues(pieceTable);
provider.putPieceLabel(saisieRow, rowValsPiece);
getNewMouvement(GenerationMvtSaisieAchat.source, this.idSaisieAchat, 1, rowValsPiece);
getNewMouvement(GenerationMvtSaisieAchat.source, this.saisieRow.getID(), 1, rowValsPiece);
} else {
SQLRowValues rowValsPiece = pieceTable.getTable("MOUVEMENT").getRow(idMvt).getForeign("ID_PIECE").asRowValues();
provider.putPieceLabel(saisieRow, rowValsPiece);
provider.putPieceLabel(this.saisieRow, rowValsPiece);
rowValsPiece.update();
 
this.mEcritures.put("ID_MOUVEMENT", new Integer(this.idMvt));
90,10 → 84,10
// generation des ecritures + maj des totaux du compte associe
 
// compte Achat
int idCompteAchat = saisieRow.getInt("ID_COMPTE_PCE");
int idCompteAchat = this.saisieRow.getInt("ID_COMPTE_PCE");
 
if (idCompteAchat <= 1) {
idCompteAchat = rowPrefsCompte.getInt("ID_COMPTE_PCE_ACHAT");
idCompteAchat = this.rowPrefsCompte.getInt("ID_COMPTE_PCE_ACHAT");
if (idCompteAchat <= 1) {
idCompteAchat = ComptePCESQLElement.getIdComptePceDefault("Achats");
}
103,7 → 97,7
this.mEcritures.put("CREDIT", new Long(0));
SQLRow rowEcr = ajoutEcriture();
 
addAssocAnalytiqueFromProvider(rowEcr, saisieRow);
// addAssocAnalytiqueFromProvider(rowEcr, saisieRow);
 
// compte TVA
if (prixTVA.getLongValue() > 0) {
154,20 → 148,15
}
ajoutEcriture();
 
new GenerationMvtReglementAchat(this.idSaisieAchat, this.idMvt);
new GenerationMvtReglementAchat(this.saisieRow, this.idMvt);
 
// Mise à jour de la clef etrangere mouvement sur la saisie achat
SQLRowValues valEcriture = new SQLRowValues(tableSaisieAchat);
valEcriture.put("ID_MOUVEMENT", new Integer(this.idMvt));
 
if (valEcriture.getInvalid() == null) {
// ajout de l'ecriture
valEcriture.update(this.idSaisieAchat);
SQLRowValues valAchat = this.saisieRow.createEmptyUpdateRow();
valAchat.put("ID_MOUVEMENT", new Integer(this.idMvt));
valAchat.update();
displayMvtNumber();
}
 
}
 
public void run() {
try {
genereMouvement();
/trunk/OpenConcerto/src/org/openconcerto/erp/generationEcritures/GenerationMvtAvoirClient.java
41,14 → 41,14
private static final SQLTable tablePrefCompte = base.getTable("PREFS_COMPTE");
private static final SQLRow rowPrefsCompte = tablePrefCompte.getRow(2);
 
public GenerationMvtAvoirClient(int idAvoirClient) {
this.idMvt = 1;
this.idAvoirClient = idAvoirClient;
public GenerationMvtAvoirClient(SQLRow row) {
this(row, 1);
}
 
public GenerationMvtAvoirClient(int idAvoirClient, int idMvt) {
public GenerationMvtAvoirClient(SQLRow row, int idMvt) {
this.idMvt = idMvt;
this.idAvoirClient = idAvoirClient;
setRowAnalytiqueSource(row);
this.idAvoirClient = row.getID();
}
 
public int genereMouvement() throws Exception {
107,7 → 107,7
this.mEcritures.put("DEBIT", Long.valueOf(b));
this.mEcritures.put("CREDIT", Long.valueOf(0));
SQLRow rowEcr = ajoutEcriture();
addAssocAnalytiqueFromProvider(rowEcr, avoirRow);
// addAssocAnalytiqueFromProvider(rowEcr, avoirRow);
}
}
 
173,7 → 173,7
}
 
if (avoirRow.getInt("ID_MODE_REGLEMENT") > 1) {
new GenerationMvtReglementAvoir(this.idAvoirClient, this.idMvt);
new GenerationMvtReglementAvoir(avoirRow, this.idMvt);
} else {
valAvoir.put("SOLDE", Boolean.FALSE);
valAvoir.update(this.idAvoirClient);
/trunk/OpenConcerto/src/org/openconcerto/erp/generationEcritures/GenerationMvtReglementAchat.java
45,8 → 45,9
private static final SQLRow rowPrefsCompte = tablePrefCompte.getRow(2);
private int idPere = 1; // Id du mouvement pere
 
public GenerationMvtReglementAchat(int idSaisieAchat, int idMvt) {
this.idSaisieAchat = idSaisieAchat;
public GenerationMvtReglementAchat(SQLRow rowAchat, int idMvt) {
setRowAnalytiqueSource(rowAchat);
this.idSaisieAchat = rowAchat.getID();
this.idPere = idMvt;
new Thread(GenerationMvtReglementAchat.this).start();
}
/trunk/OpenConcerto/src/org/openconcerto/erp/generationEcritures/GenerationMvtReglementAvoir.java
190,8 → 190,9
 
}
 
public GenerationMvtReglementAvoir(int idAvoir, int idMvt) {
this.idAvoir = idAvoir;
public GenerationMvtReglementAvoir(SQLRow rowAvoir, int idMvt) {
setRowAnalytiqueSource(rowAvoir);
this.idAvoir = rowAvoir.getID();
this.idPere = idMvt;
new Thread(GenerationMvtReglementAvoir.this).start();
}
/trunk/OpenConcerto/src/org/openconcerto/erp/generationEcritures/GenerationMvtAvoirFournisseur.java
32,14 → 32,14
private static final SQLTable tablePrefCompte = base.getTable("PREFS_COMPTE");
private static final SQLRow rowPrefsCompte = tablePrefCompte.getRow(2);
 
public GenerationMvtAvoirFournisseur(int idAvoirFourn) {
this.idMvt = 1;
this.idAvoirFourn = idAvoirFourn;
public GenerationMvtAvoirFournisseur(SQLRow row) {
this(row, 1);
}
 
public GenerationMvtAvoirFournisseur(int idAvoirFourn, int idMvt) {
public GenerationMvtAvoirFournisseur(SQLRow row, int idMvt) {
this.idMvt = idMvt;
this.idAvoirFourn = idAvoirFourn;
this.idAvoirFourn = row.getID();
setRowAnalytiqueSource(row);
}
 
public int genereMouvement() throws Exception {
89,7 → 89,7
this.mEcritures.put("DEBIT", Long.valueOf(0));
this.mEcritures.put("CREDIT", Long.valueOf(prixHT.getLongValue()));
SQLRow rowEcr = ajoutEcriture();
addAssocAnalytiqueFromProvider(rowEcr, avoirRow);
// addAssocAnalytiqueFromProvider(rowEcr, avoirRow);
 
if (prixTVA.getLongValue() > 0) {
// compte TVA
/trunk/OpenConcerto/src/org/openconcerto/erp/generationEcritures/GenerationMvtAcompte.java
37,9 → 37,9
private static final SQLTable tablePrefCompte = base.getTable("PREFS_COMPTE");
private static final SQLRow rowPrefsCompte = tablePrefCompte.getRow(2);
 
public GenerationMvtAcompte(int idAcompte) throws SQLException {
this.idAcompte = idAcompte;
SQLRow rowAcompte = tableAcompte.getRow(idAcompte);
public GenerationMvtAcompte(SQLRow rowAcompte) throws SQLException {
this.idAcompte = rowAcompte.getID();
setRowAnalytiqueSource(rowAcompte);
this.idSalarie = rowAcompte.getInt("ID_SALARIE");
this.montant = GestionDevise.parseLongCurrency(String.valueOf(rowAcompte.getFloat("MONTANT")));
SQLRow rowSal = tableSalarie.getRow(this.idSalarie);
/trunk/OpenConcerto/src/org/openconcerto/erp/generationEcritures/GenerationMvtSaisieVenteFacture.java
48,6 → 48,7
private static final SQLTable ecrTable = base.getTable("ECRITURE");
private static final SQLTable tablePrefCompte = base.getTable("PREFS_COMPTE");
private static final SQLRow rowPrefsCompte = tablePrefCompte.getRow(2);
private final boolean genereReglement;
 
/**
* Generation de la comptabilité associée à la modification d'une saisie de vente facture
55,16 → 56,21
* @param idSaisieVenteFacture
* @param idMvt id du mouvement qui est dejà associé à la facture
*/
public GenerationMvtSaisieVenteFacture(int idSaisieVenteFacture, int idMvt, boolean useComptePCEVente) {
public GenerationMvtSaisieVenteFacture(int idSaisieVenteFacture, int idMvt, boolean useComptePCEVente, boolean genereReglement) {
System.err.println("********* init GeneRation");
this.idMvt = idMvt;
this.idSaisieVenteFacture = idSaisieVenteFacture;
this.useComptePCEVente = useComptePCEVente;
this.genereReglement = genereReglement;
new Thread(GenerationMvtSaisieVenteFacture.this).start();
}
 
public GenerationMvtSaisieVenteFacture(int idSaisieVenteFacture, int idMvt, boolean useComptePCEVente) {
this(idSaisieVenteFacture, idMvt, useComptePCEVente, true);
}
 
public GenerationMvtSaisieVenteFacture(int idSaisieVenteFacture, int idMvt) {
this(idSaisieVenteFacture, idMvt, false);
this(idSaisieVenteFacture, idMvt, false, true);
}
 
/**
79,6 → 85,7
private void genereMouvement() throws Exception {
 
SQLRow saisieRow = GenerationMvtSaisieVenteFacture.saisieVFTable.getRow(this.idSaisieVenteFacture);
setRowAnalytiqueSource(saisieRow);
SQLRow clientRow = saisieRow.getForeignRow("ID_CLIENT");
 
// Calcul des montants
94,6 → 101,7
} else {
this.nom = "Fact. vente " + saisieRow.getObject("NUMERO").toString();
}
this.mEcritures.put("NOM", this.nom);
 
// iniatilisation des valeurs de la map
this.date = (Date) saisieRow.getObject("DATE");
121,7 → 129,13
tableEchantillon = saisieVFTable.getTable("ECHANTILLON_ELEMENT");
}
BigDecimal portHT = BigDecimal.valueOf(saisieRow.getLong("PORT_HT")).movePointLeft(2);
TotalCalculator calc = getValuesFromElement(saisieRow, saisieVFTable.getTable("SAISIE_VENTE_FACTURE_ELEMENT"), portHT, saisieRow.getForeign("ID_TAXE_PORT"), tableEchantillon);
TotalCalculator calc;
if (clientRow.getTable().contains("ID_COMPTE_PCE_PRODUIT") && !clientRow.isForeignEmpty("ID_COMPTE_PCE_PRODUIT")) {
calc = getValuesFromElement(false, "T_PV_HT", saisieRow, saisieVFTable.getTable("SAISIE_VENTE_FACTURE_ELEMENT"), portHT, saisieRow.getForeign("ID_TAXE_PORT"), tableEchantillon,
clientRow.getForeign("ID_COMPTE_PCE_PRODUIT"));
} else {
calc = getValuesFromElement(saisieRow, saisieVFTable.getTable("SAISIE_VENTE_FACTURE_ELEMENT"), portHT, saisieRow.getForeign("ID_TAXE_PORT"), tableEchantillon);
}
 
// On génére les ecritures si la facture n'est pas un acompte
long ttcLongValue = calc.getTotalTTC().movePointRight(2).longValue();
140,8 → 154,7
this.mEcritures.put("ID_COMPTE_PCE", idComptePCE);
this.mEcritures.put("DEBIT", Long.valueOf(0));
this.mEcritures.put("CREDIT", Long.valueOf(b));
SQLRow rowEcr = ajoutEcriture();
addAssocAnalytiqueFromProvider(rowEcr, saisieRow);
ajoutEcriture();
}
}
 
245,6 → 258,7
valSasieVF.update(this.idSaisieVenteFacture);
}
 
if (genereReglement) {
// Génération du reglement
SQLRow modeRegl = saisieRow.getForeignRow("ID_MODE_REGLEMENT");
final SQLRow typeRegRow = modeRegl.getForeignRow("ID_TYPE_REGLEMENT");
259,6 → 273,7
if (prixTTC.getLongValue() > 0) {
new GenerationReglementVenteNG(label, clientRow, prixTTC, this.date, modeRegl, saisieRow, mvtTable.getRow(idMvt));
}
}
// Mise à jour de mouvement associé à la facture
 
SQLRowValues valSasieVF = new SQLRowValues(GenerationMvtSaisieVenteFacture.saisieVFTable);
/trunk/OpenConcerto/src/org/openconcerto/erp/core/sales/product/component/ReferenceArticleSQLComponent.java
17,6 → 17,7
import org.openconcerto.erp.core.common.element.ComptaSQLConfElement;
import org.openconcerto.erp.core.common.ui.CodeFournisseurItemTable;
import org.openconcerto.erp.core.common.ui.TotalPanel;
import org.openconcerto.erp.core.finance.accounting.model.CurrencyConverter;
import org.openconcerto.erp.core.finance.tax.model.TaxeCache;
import org.openconcerto.erp.core.sales.product.element.ReferenceArticleSQLElement;
import org.openconcerto.erp.core.sales.product.element.UniteVenteArticleSQLElement;
55,6 → 56,7
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.sql.SQLException;
import java.util.Date;
import java.util.List;
 
import javax.swing.JButton;
91,35 → 93,26
private ArticleTarifTable tableTarifVente = new ArticleTarifTable(this);
private final JTextField textMarge = new JTextField(15);
 
private DocumentListener pieceHAArticle = new DocumentListener() {
private DocumentListener pieceHAArticle = new SimpleDocumentListener() {
 
public void changedUpdate(DocumentEvent arg0) {
ReferenceArticleSQLComponent.this.textMetrique1HA.setText(ReferenceArticleSQLComponent.this.textPAHT.getText());
}
@Override
public void update(DocumentEvent e) {
 
public void insertUpdate(DocumentEvent arg0) {
if (!ReferenceArticleSQLComponent.this.textPAHT.getText().equalsIgnoreCase(ReferenceArticleSQLComponent.this.textMetrique1HA.getText())) {
ReferenceArticleSQLComponent.this.textMetrique1HA.setText(ReferenceArticleSQLComponent.this.textPAHT.getText());
}
 
public void removeUpdate(DocumentEvent arg0) {
ReferenceArticleSQLComponent.this.textMetrique1HA.setText(ReferenceArticleSQLComponent.this.textPAHT.getText());
}
 
};
private DocumentListener pieceVTArticle = new DocumentListener() {
private DocumentListener pieceVTArticle = new SimpleDocumentListener() {
 
public void changedUpdate(DocumentEvent arg0) {
@Override
public void update(DocumentEvent e) {
if (!ReferenceArticleSQLComponent.this.textPVHT.getText().equalsIgnoreCase(ReferenceArticleSQLComponent.this.textMetrique1VT.getText())) {
ReferenceArticleSQLComponent.this.textMetrique1VT.setText(ReferenceArticleSQLComponent.this.textPVHT.getText());
}
 
public void insertUpdate(DocumentEvent arg0) {
ReferenceArticleSQLComponent.this.textMetrique1VT.setText(ReferenceArticleSQLComponent.this.textPVHT.getText());
}
 
public void removeUpdate(DocumentEvent arg0) {
ReferenceArticleSQLComponent.this.textMetrique1VT.setText(ReferenceArticleSQLComponent.this.textPVHT.getText());
}
 
};
 
private DocumentListener listenerMargeTextMarge = new SimpleDocumentListener() {
295,8 → 288,8
SQLPreferences prefs = new SQLPreferences(getTable().getDBRoot());
// Gestion des unités de vente
final boolean gestionUV = prefs.getBoolean(GestionArticleGlobalPreferencePanel.UNITE_VENTE, true);
c.gridy++;
if (gestionUV) {
c.gridy++;
c.gridx = 0;
c.weightx = 0;
this.add(new JLabel(getLabelFor("ID_UNITE_VENTE"), SwingConstants.RIGHT), c);
309,6 → 302,17
this.addView(boxUnite, "ID_UNITE_VENTE");
c.fill = GridBagConstraints.HORIZONTAL;
}
c.gridx = 2;
c.weightx = 0;
this.add(new JLabel(getLabelFor("SKU"), SwingConstants.RIGHT), c);
c.gridx++;
c.weightx = 1;
JTextField fieldSKU = new JTextField();
DefaultGridBagConstraints.lockMinimumSize(fieldSKU);
this.add(fieldSKU, c);
this.addView(fieldSKU, "SKU");
c.fill = GridBagConstraints.HORIZONTAL;
 
DefaultProps props = DefaultNXProps.getInstance();
 
// Article détaillé
515,10 → 519,8
JPanel panel = new JPanel(new GridBagLayout());
panel.setOpaque(false);
GridBagConstraints c = new DefaultGridBagConstraints();
DefaultProps props = DefaultNXProps.getInstance();
String stockMin = props.getStringProperty("ArticleStockMin");
Boolean bStockMin = !stockMin.equalsIgnoreCase("false");
boolean gestionStockMin = (bStockMin == null || bStockMin.booleanValue());
SQLPreferences prefs = new SQLPreferences(getTable().getDBRoot());
boolean gestionStockMin = prefs.getBoolean("ArticleStockMin", true);
c.gridx = 0;
c.gridy++;
 
827,8 → 829,10
if (ha == null) {
ha = BigDecimal.ZERO;
}
final BigDecimal taux = (BigDecimal) boxDevise.getSelectedRow().getObject("TAUX");
textPAHT.setText(taux.multiply(ha, DecimalUtils.HIGH_PRECISION).setScale(getTable().getField("PA_DEVISE").getType().getDecimalDigits(), RoundingMode.HALF_UP).toString());
CurrencyConverter c = new CurrencyConverter();
String devCode = boxDevise.getSelectedRow().getString("TAUX");
textPAHT.setText(c.convert(ha, devCode, c.getCompanyCurrencyCode(), new Date(), true).setScale(getTable().getField("PA_DEVISE").getType().getDecimalDigits(), RoundingMode.HALF_UP)
.toString());
 
}
}
/trunk/OpenConcerto/src/org/openconcerto/erp/core/sales/product/element/ReferenceArticleSQLElement.java
89,7 → 89,17
@Override
protected SQLTableModelSourceOnline createTableSource() {
SQLTableModelSourceOnline source = super.createTableSource();
source.init();
final SQLTableModelColumn pvHA1Col = source.getColumn(getTable().getField("PRIX_METRIQUE_HA_1"));
if (pvHA1Col != null) {
pvHA1Col.setRenderer(CURRENCY_RENDERER);
}
 
final SQLTableModelColumn pvHT1Col = source.getColumn(getTable().getField("PRIX_METRIQUE_VT_1"));
if (pvHT1Col != null) {
pvHT1Col.setRenderer(CURRENCY_RENDERER);
}
 
final SQLTableModelColumn pvHTCol = source.getColumn(getTable().getField("PV_HT"));
if (pvHTCol != null) {
pvHTCol.setRenderer(CURRENCY_RENDERER);
110,6 → 120,10
final List<String> l = new ArrayList<String>();
 
l.add("CODE");
SQLPreferences prefs = new SQLPreferences(getTable().getDBRoot());
if (prefs.getBoolean(GestionArticleGlobalPreferencePanel.SHOW_PRODUCT_BAR_CODE, false)) {
l.add("CODE_BARRE");
}
l.add("NOM");
String articleAdvanced = DefaultNXProps.getInstance().getStringProperty("ArticleModeVenteAvance");
Boolean bArticleAdvanced = Boolean.valueOf(articleAdvanced);
125,6 → 139,7
l.add("PV_TTC");
l.add("ID_FAMILLE_ARTICLE");
l.add("ID_FOURNISSEUR");
l.add("SKU");
l.add("ID_STOCK");
String val = DefaultNXProps.getInstance().getStringProperty("ArticleService");
Boolean b = Boolean.valueOf(val);
137,6 → 152,10
@Override
public CollectionMap<String, String> getShowAs() {
final CollectionMap<String, String> res = new CollectionMap<String, String>();
SQLPreferences prefs = new SQLPreferences(getTable().getDBRoot());
if (prefs.getBoolean(GestionArticleGlobalPreferencePanel.SHOW_PRODUCT_BAR_CODE, false)) {
res.put(null, "CODE_BARRE");
}
res.put(null, "NOM");
res.put(null, "ID_FAMILLE_ARTICLE");
return res;
234,22 → 253,6
float valMetrique2 = (rowVals.getObject("VALEUR_METRIQUE_2") == null) ? 0.0F : rowVals.getFloat("VALEUR_METRIQUE_2");
float valMetrique3 = (rowVals.getObject("VALEUR_METRIQUE_3") == null) ? 0.0F : rowVals.getFloat("VALEUR_METRIQUE_3");
 
// Mode de vente à la piece
if (mode == A_LA_PIECE) {
if (value == PRIX_HA) {
if (rowVals.getObject("PA_HT") != null) {
return (BigDecimal) rowVals.getObject("PA_HT");
 
}
return BigDecimal.ZERO;
 
}
if (rowVals.getObject("PV_HT") != null) {
return (BigDecimal) rowVals.getObject("PV_HT");
}
return BigDecimal.ZERO;
 
}
// Mode de vente au metre carré
if (mode == AU_METRE_CARRE) {
float surface = valMetrique1 * valMetrique2;
281,10 → 284,21
}
return metrique1VT.multiply(BigDecimal.valueOf(p), DecimalUtils.HIGH_PRECISION);
}
throw new IllegalStateException("Unknown mode:" + mode);
 
// Mode de vente à la piece et autres
if (value == PRIX_HA) {
if (rowVals.getObject("PA_HT") != null) {
return (BigDecimal) rowVals.getObject("PA_HT");
}
return BigDecimal.ZERO;
}
if (rowVals.getObject("PV_HT") != null) {
return (BigDecimal) rowVals.getObject("PV_HT");
}
return BigDecimal.ZERO;
 
}
 
/**
* retourne l'id d'un article ayant le meme Code, Nom et valeur Metrique, le cas échéant -1
*
293,7 → 307,6
* @return id de l'article correspondant
*/
public static int getIdForCNM(SQLRowValues row, boolean createIfNotExist) {
 
return getIdFor(row, true, createIfNotExist);
}
 
309,6 → 322,7
return getIdFor(row, false, createIfNotExist);
}
 
@SuppressWarnings("rawtypes")
private static int getIdFor(SQLRowValues row, boolean includeMetrique, boolean createIfNotExist) {
 
// On cherche l'article qui lui correspond
322,11 → 336,11
return ((Number) tmp[0]).intValue();
}
 
if (createIfNotExist) {
if (createIfNotExist && row.getString("CODE") != null && row.getString("CODE").trim().length() > 0 && row.getString("NOM") != null && row.getString("NOM").trim().length() > 0) {
SQLRowValues vals = new SQLRowValues(row);
BigDecimal taux = BigDecimal.ONE.add(new BigDecimal(TaxeCache.getCache().getTauxFromId(row.getForeignID("ID_TAXE")) / 100f));
vals.put("PV_TTC", vals.getBigDecimal("PV_HT").multiply(taux));
SQLRow rowNew;
int idArticle;
try {
 
// Liaison avec l'article fournisseur si il existe
339,19 → 353,32
wMatchingCodeF = wMatchingCodeF.and(new Where(table.getField("NOM"), "=", vals.getString("NOM")));
selMatchingCodeF.setWhere(wMatchingCodeF);
 
List<SQLRow> l = SQLRowListRSH.execute(selMatchingCodeF);
// FIXME utiliser une transaction bloquante sur la table
List<SQLRow> l = SQLRowListRSH.execute(selMatchingCodeF, false, false);
if (l.size() > 0) {
SQLRowValues rowVals = l.get(0).asRowValues();
vals.put("ID_FOURNISSEUR", rowVals.getObject("ID_FOURNISSEUR"));
vals.put("CODE_BARRE", rowVals.getObject("CODE_BARRE"));
vals.put("QTE_ACHAT", rowVals.getObject("QTE_ACHAT"));
rowNew = vals.insert();
rowVals.put("ID_ARTICLE", rowNew.getID());
SQLRow rowNew = vals.insert();
idArticle = rowNew.getID();
rowVals.put("ID_ARTICLE", idArticle);
rowVals.commit();
} else {
rowNew = vals.insert();
SQLSelect selMatchingCodeArticle = new SQLSelect();
selMatchingCodeArticle.addSelect(tableArt.getKey());
Where wMatchingCode = new Where(tableArt.getField("CODE"), "=", vals.getString("CODE"));
wMatchingCode = wMatchingCode.and(new Where(tableArt.getField("NOM"), "=", vals.getString("NOM")));
selMatchingCodeArticle.setWhere(wMatchingCode);
List<SQLRow> matchingArticles = SQLRowListRSH.execute(selMatchingCodeArticle, false, false);
if (matchingArticles.size() > 0) {
idArticle = matchingArticles.get(0).getID();
} else {
SQLRow rowNew = vals.insert();
idArticle = rowNew.getID();
}
return rowNew.getID();
}
return idArticle;
} catch (SQLException e) {
e.printStackTrace();
}
381,6 → 408,7
return isArticleMatchExist(row, true);
}
 
@SuppressWarnings("rawtypes")
private static boolean isArticleMatchExist(SQLRowValues row, boolean includeMetrique) {
SQLTable sqlTableArticle = ((ComptaPropsConfiguration) Configuration.getInstance()).getRootSociete().getTable("ARTICLE");
SQLElement eltArticle = Configuration.getInstance().getDirectory().getElement(sqlTableArticle);
/trunk/OpenConcerto/src/org/openconcerto/erp/core/sales/product/action/ListeDesArticlesAction.java
78,8 → 78,14
// frame.getPanel().getListe().getJTable().setDefaultRenderer(Long.class, new
// DeviseNiceTableCellRenderer());
final SQLTableModelSourceOnline createTableSource = elt.createTableSource(getWhere(panelFam));
final BaseSQLTableModelColumn colStock = new BaseSQLTableModelColumn("Valeur HT du stock", BigDecimal.class) {
createTableSource.init();
SQLTableModelColumn colStock;
if (elt.getTable().getDBRoot().contains("ARTICLE_PRIX_REVIENT")) {
colStock = createTableSource.getColumn(createTableSource.getColumns().size() - 1);
} else {
 
colStock = new BaseSQLTableModelColumn("Valeur HT du stock", BigDecimal.class) {
 
@Override
protected Object show_(SQLRowAccessor r) {
 
109,11 → 115,13
};
colStock.setRenderer(ComptaSQLConfElement.CURRENCY_RENDERER);
createTableSource.getColumns().add(colStock);
}
IListe liste = new IListe(createTableSource);
final ListeAddPanel panel = new ListeAddPanel(elt, liste);
 
List<Tuple2<? extends SQLTableModelColumn, IListTotalPanel.Type>> fields = new ArrayList<Tuple2<? extends SQLTableModelColumn, IListTotalPanel.Type>>(1);
fields.add(Tuple2.create(liste.getSource().getColumn(liste.getSource().getColumns().size() - 1), IListTotalPanel.Type.SOMME));
fields.add(Tuple2.create(colStock, IListTotalPanel.Type.SOMME));
 
IListTotalPanel total = new IListTotalPanel(liste, fields, null, "Total");
GridBagConstraints c2 = new DefaultGridBagConstraints();
c2.gridy = 4;
/trunk/OpenConcerto/src/org/openconcerto/erp/core/sales/product/ui/GestionArticlePreferencePanel.java
19,6 → 19,7
import org.openconcerto.erp.preferences.DefaultNXProps;
import org.openconcerto.sql.Configuration;
import org.openconcerto.ui.DefaultGridBagConstraints;
import org.openconcerto.ui.VerticalLayout;
import org.openconcerto.ui.preferences.DefaultPreferencePanel;
import org.openconcerto.ui.preferences.DefaultProps;
 
31,11 → 32,9
import javax.swing.JCheckBox;
import javax.swing.JPanel;
 
import org.jdesktop.swingx.VerticalLayout;
 
public class GestionArticlePreferencePanel extends DefaultPreferencePanel {
 
private final JCheckBox checkModeVente, checkLongueur, checkLargeur, checkPoids, checkGestionStockMin;
private final JCheckBox checkModeVente, checkLongueur, checkLargeur, checkPoids;
private final JCheckBox checkService, checkVenteComptoir, checkShowPoids, checkShowStyle, checkSFE;
private final JCheckBox checkDevise, checkMarge;
private JCheckBox checkSite;
49,7 → 48,6
 
this.checkSFE = new JCheckBox("Activer la vente de formation");
this.checkService = new JCheckBox("Activer la gestion de vente de service");
this.checkGestionStockMin = new JCheckBox("Activer la gestion de stock minimum par article");
this.checkLargeur = new JCheckBox("Largeurs");
this.checkLongueur = new JCheckBox("Longueurs");
this.checkPoids = new JCheckBox("Poids");
65,8 → 63,6
c.gridy++;
this.add(this.checkMarge, c);
c.gridy++;
this.add(this.checkGestionStockMin, c);
c.gridy++;
this.add(this.checkService, c);
c.gridy++;
this.add(this.checkVenteComptoir, c);
113,7 → 109,6
props.setProperty("ShowSiteFacture", String.valueOf(this.checkSite.isSelected()));
}
props.setProperty("ArticleVenteComptoir", String.valueOf(this.checkVenteComptoir.isSelected()));
props.setProperty("ArticleStockMin", String.valueOf(this.checkGestionStockMin.isSelected()));
props.setProperty(AbstractVenteArticleItemTable.ARTICLE_SHOW_DEVISE, String.valueOf(this.checkDevise.isSelected()));
props.setProperty(TotalPanel.MARGE_MARQUE, String.valueOf(this.checkMarge.isSelected()));
props.store();
128,7 → 123,6
this.checkService.setSelected(true);
this.checkSFE.setSelected(false);
this.checkVenteComptoir.setSelected(true);
this.checkGestionStockMin.setSelected(true);
this.checkDevise.setSelected(false);
this.checkMarge.setSelected(false);
if (this.checkSite != null) {
184,11 → 178,6
// Devise
this.checkMarge.setSelected(props.getBooleanValue(TotalPanel.MARGE_MARQUE, false));
 
// Show Style
final String gestionStockMin = props.getStringProperty("ArticleStockMin");
final Boolean bStockMin = !gestionStockMin.equalsIgnoreCase("false");
this.checkGestionStockMin.setSelected(bStockMin == null || bStockMin.booleanValue());
 
// Mode vente
final String modeVente = props.getStringProperty("ArticleModeVenteAvance");
final Boolean bModeVente = Boolean.valueOf(modeVente);
/trunk/OpenConcerto/src/org/openconcerto/erp/core/sales/product/ui/ProductGoupSQLComponent.java
15,12 → 15,11
 
import org.openconcerto.sql.element.GroupSQLComponent;
import org.openconcerto.sql.element.SQLElement;
import org.openconcerto.ui.group.Group;
 
public class ProductGoupSQLComponent extends GroupSQLComponent {
 
public ProductGoupSQLComponent(SQLElement element) {
super(element, new ProductEditGroup());
super(element);
 
}
 
/trunk/OpenConcerto/src/org/openconcerto/erp/core/sales/product/ui/ArticleTarifTable.java
127,7 → 127,7
 
tableElement_PrixMetrique1_VenteHT.addModificationListener(tableElement_PrixVente_HT);
tableElement_PrixVente_HT.setModifier(new CellDynamicModifier() {
public Object computeValueFrom(SQLRowValues row) {
public Object computeValueFrom(SQLRowValues row, SQLTableElement source) {
rowValuesArticleCompile.putAll(comp.getDetailsRowValues().getAbsolutelyAll());
rowValuesArticleCompile.put("PRIX_METRIQUE_VT_1", row.getObject("PRIX_METRIQUE_VT_1"));
Number n = (Number) rowValuesArticleCompile.getObject("ID_MODE_VENTE_ARTICLE");
144,7 → 144,7
tableElement_PrixVente_HT.addModificationListener(tableElement_PrixVente_TTC);
tableElement_PrixVente_TTC.setModifier(new CellDynamicModifier() {
@Override
public Object computeValueFrom(SQLRowValues row) {
public Object computeValueFrom(SQLRowValues row, SQLTableElement source) {
 
rowValuesArticleCompile.putAll(comp.getDetailsRowValues().getAbsolutelyAll());
rowValuesArticleCompile.put("PRIX_METRIQUE_VT_1", row.getObject("PRIX_METRIQUE_VT_1"));
/trunk/OpenConcerto/src/org/openconcerto/erp/core/sales/product/ui/CurrencyWithSymbolRenderer.java
New file
0,0 → 1,115
/*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
*
* Copyright 2011 OpenConcerto, by ILM Informatique. All rights reserved.
*
* The contents of this file are subject to the terms of the GNU General Public License Version 3
* only ("GPL"). You may not use this file except in compliance with the License. You can obtain a
* copy of the License at http://www.gnu.org/licenses/gpl-3.0.html See the License for the specific
* language governing permissions and limitations under the License.
*
* When distributing the software, include this License Header Notice in each file.
*/
package org.openconcerto.erp.core.sales.product.ui;
 
import org.openconcerto.erp.core.finance.accounting.model.CurrencyConverter;
import org.openconcerto.sql.model.FieldPath;
import org.openconcerto.sql.model.SQLRowAccessor;
import org.openconcerto.sql.model.graph.Step;
import org.openconcerto.sql.view.list.RowValuesTable;
import org.openconcerto.sql.view.list.RowValuesTableModel;
import org.openconcerto.utils.GestionDevise;
 
import java.awt.Component;
import java.math.BigDecimal;
import java.util.List;
 
import javax.swing.JTable;
import javax.swing.SwingConstants;
import javax.swing.table.DefaultTableCellRenderer;
 
public class CurrencyWithSymbolRenderer extends DefaultTableCellRenderer {
 
private final FieldPath fieldPath;
private final CurrencyConverter c;
 
private String getSymbol(String currencyCode) {
// Because Java Currency return PLN as Symbol for Zl, we use our own talbe
return org.openconcerto.erp.core.finance.accounting.model.Currency.getSymbol(currencyCode);
}
 
/**
* Affiche une valeur monétaire en ajoutant le symbole de la devise de la société
*/
public CurrencyWithSymbolRenderer() {
this(null);
}
 
/**
* Affiche une valeur monétaire en ajoutant le symbole de la devise du path
*
* @param path chemin jusqu'au champ DEVISE.CODE
*/
public CurrencyWithSymbolRenderer(FieldPath path) {
this.fieldPath = path;
this.c = new CurrencyConverter();
}
 
@Override
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
 
if (value != null) {
value = GestionDevise.currencyToString((BigDecimal) value);
 
if (fieldPath == null) {
value = value + " " + getSymbol(c.getCompanyCurrencyCode());
} else {
 
if (table instanceof RowValuesTable) {
 
RowValuesTableModel model = ((RowValuesTable) table).getRowValuesTableModel();
 
SQLRowAccessor rowVals = model.getRowValuesAt(row);
 
// final SQLRow asRow = rowVals.asRow();
// SQLRow deviseRow = asRow;
// Ne pas utiliser getDistant row --> fait une requete dans la base et ne
// reprend
// pas les valeurs de la SQLRow (ex : si on veut récupérer la devise du
// fournisseur
// sélectionné, getDistantRow ira chercher la valeur du fournisseur référencé en
// BDD
// et non dans la SQLRow)
 
final List<Step> steps = this.fieldPath.getPath().getSteps();
for (int i = 0; i < steps.size(); i++) {
final Step s = steps.get(i);
// On s'assure que la row existe
if (rowVals != null && !rowVals.isUndefined()) {
// On s'assure que la row contient le champ
if (!rowVals.getFields().contains(s.getSingleField().getName())) {
rowVals = null;
break;
}
final SQLRowAccessor foreign = rowVals.getForeign(s.getSingleField().getName());
if (i == 0) {
rowVals = foreign.asRow();
} else {
rowVals = foreign;
}
}
}
 
if (rowVals != null && !rowVals.isUndefined()) {
String code = rowVals.getString(this.fieldPath.getFieldName());
value = value + " " + getSymbol(code);
}
}
}
}
setHorizontalAlignment(SwingConstants.RIGHT);
 
return super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
}
}
/trunk/OpenConcerto/src/org/openconcerto/erp/core/sales/product/model/ProductHelper.java
New file
0,0 → 1,402
/*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
*
* Copyright 2011 OpenConcerto, by ILM Informatique. All rights reserved.
*
* The contents of this file are subject to the terms of the GNU General Public License Version 3
* only ("GPL"). You may not use this file except in compliance with the License. You can obtain a
* copy of the License at http://www.gnu.org/licenses/gpl-3.0.html See the License for the specific
* language governing permissions and limitations under the License.
*
* When distributing the software, include this License Header Notice in each file.
*/
package org.openconcerto.erp.core.sales.product.model;
 
import org.openconcerto.sql.model.DBRoot;
import org.openconcerto.sql.model.SQLDataSource;
import org.openconcerto.sql.model.SQLRow;
import org.openconcerto.sql.model.SQLRowAccessor;
import org.openconcerto.sql.model.SQLRowListRSH;
import org.openconcerto.sql.model.SQLRowValues;
import org.openconcerto.sql.model.SQLRowValuesListFetcher;
import org.openconcerto.sql.model.SQLSelect;
import org.openconcerto.sql.model.SQLTable;
import org.openconcerto.sql.model.Where;
import org.openconcerto.utils.DecimalUtils;
import org.openconcerto.utils.cc.ITransformer;
 
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Collection;
import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
 
public class ProductHelper {
 
private DBRoot root;
 
public ProductHelper(DBRoot root) {
this.root = root;
}
 
public BigDecimal getUnitCostForQuantity(SQLRowAccessor rArticle, int qty) {
 
Collection<? extends SQLRowAccessor> l = rArticle.getReferentRows(rArticle.getTable().getTable("ARTICLE_PRIX_REVIENT"));
BigDecimal result = null;
 
for (SQLRowAccessor row : l) {
 
if (row.getLong("QTE") > qty) {
break;
}
result = row.getBigDecimal("PRIX");
}
if (result == null) {
// Can occur during editing
result = BigDecimal.ZERO;
}
return result;
}
 
@SuppressWarnings("unchecked")
public List<String> getRequiredProperties(int categoryId) {
final SQLTable table = root.getTable("FAMILLE_CARACTERISTIQUE");
final SQLSelect sel = new SQLSelect();
sel.addSelect(table.getField("NOM"));
sel.setWhere(table.getField("ID_FAMILLE_ARTICLE"), "=", categoryId);
final SQLDataSource src = root.getDBSystemRoot().getDataSource();
return (List<String>) src.executeCol(sel.asString());
}
 
/**
* Get the minimum quantity used to provide a cost for a product
*
* @return -1 if no quantity are provided
* */
public int getMinQuantityForCostCalculation(int productId) {
final SQLTable costTable = root.getTable("ARTICLE_PRIX_REVIENT");
final SQLSelect sel = new SQLSelect();
sel.addSelect(costTable.getKey());
sel.addSelect(costTable.getField("ID_ARTICLE"));
sel.addSelect(costTable.getField("QTE"));
sel.setWhere(new Where(costTable.getField("ID_ARTICLE"), "=", productId));
final SQLDataSource src = root.getDBSystemRoot().getDataSource();
final List<SQLRow> l = (List<SQLRow>) src.execute(sel.asString(), SQLRowListRSH.createFromSelect(sel));
if (l.isEmpty()) {
return -1;
}
int min = Integer.MAX_VALUE;
for (SQLRow sqlRow : l) {
int n = sqlRow.getInt("QTE");
if (n < min) {
min = n;
}
}
return min;
}
 
/**
* Get the cost for products and quantities
*
* @return for each product ID the unit cost
* */
public Map<Long, BigDecimal> getUnitCost(Map<Long, Integer> productQties, TypePrice type) {
final Map<Long, BigDecimal> result = new HashMap<Long, BigDecimal>();
// get all costs
final SQLTable costTable = root.getTable(type.name());
final SQLSelect sel = new SQLSelect();
sel.addSelect(costTable.getKey());
sel.addSelect(costTable.getField("ID_ARTICLE"));
sel.addSelect(costTable.getField("QTE"));
sel.addSelect(costTable.getField("PRIX"));
sel.addSelect(costTable.getField("DATE"));
sel.setWhere(new Where(costTable.getField("ID_ARTICLE"), true, productQties.keySet()));
sel.addFieldOrder(costTable.getField("QTE"));
sel.addFieldOrder(costTable.getField("DATE"));
final SQLDataSource src = root.getDBSystemRoot().getDataSource();
@SuppressWarnings("unchecked")
final List<SQLRow> l = (List<SQLRow>) src.execute(sel.asString(), SQLRowListRSH.createFromSelect(sel));
for (SQLRow sqlRow : l) {
System.out.println(sqlRow.getID() + ":" + sqlRow.getAllValues());
}
final int size = l.size();
for (Long id : productQties.keySet()) {
BigDecimal cost = BigDecimal.ZERO;
final int qty = productQties.get(id);
for (int i = 0; i < size; i++) {
final SQLRow row = l.get(i);
if (row.getInt("ID_ARTICLE") == id.intValue()) {
// stop when the max qty is found
if (row.getLong("QTE") > qty) {
if (cost == null) {
cost = row.getBigDecimal("PRIX");
}
break;
}
cost = row.getBigDecimal("PRIX");
 
}
}
if (cost == null) {
cost = BigDecimal.ZERO;
}
 
result.put(id, cost);
}
return result;
}
 
/**
*
* @param items List de SQLRowAccessor avec ID_ARTICLE, QTE, QTE_UV
* @return Map article qty
*/
public List<ProductComponent> getChildWithQtyFrom(final List<ProductComponent> items) {
 
return getChildWithQtyFrom(items, new HashSet<Integer>());
}
 
private List<ProductComponent> getChildWithQtyFrom(List<ProductComponent> items, Set<Integer> ancestors) {
 
if (root.contains("ARTICLE_ELEMENT")) {
 
int originalAncestorsSize = ancestors.size();
 
List<ProductComponent> result = new ArrayList<ProductComponent>();
 
// liste des ids parents
final List<Integer> parentsArticleIDs = new ArrayList<Integer>();
 
// Quantité par parents
Map<Integer, ProductComponent> productCompByID = new HashMap<Integer, ProductComponent>();
final Map<Integer, BigDecimal> qtyParent = new HashMap<Integer, BigDecimal>();
for (ProductComponent p : items) {
parentsArticleIDs.add(p.getProduct().getID());
qtyParent.put(p.getProduct().getID(), p.getQty());
}
 
// get all childs
final SQLTable costTable = root.getTable("ARTICLE_ELEMENT");
 
SQLRowValues rowVals = new SQLRowValues(costTable);
 
final SQLRowValues stockRowValues = rowVals.putRowValues("ID_ARTICLE").put("ID", null).put("GESTION_STOCK", null).put("CODE", null).put("NOM", null).putRowValues("ID_STOCK");
stockRowValues.putNulls("QTE_TH", "QTE_RECEPT_ATTENTE", "QTE_REEL", "QTE_LIV_ATTENTE");
rowVals.putRowValues("ID_ARTICLE_PARENT").put("ID", null);
rowVals.put("QTE", null);
rowVals.put("QTE_UNITAIRE", null);
 
SQLRowValuesListFetcher fetcher = SQLRowValuesListFetcher.create(rowVals);
fetcher.setSelTransf(new ITransformer<SQLSelect, SQLSelect>() {
 
@Override
public SQLSelect transformChecked(SQLSelect input) {
 
input.setWhere(new Where(costTable.getField("ID_ARTICLE_PARENT"), parentsArticleIDs));
return input;
}
});
 
List<SQLRowValues> childs = fetcher.fetch();
 
if (childs.size() > 0) {
 
for (SQLRowValues childRowValues : childs) {
 
final SQLRowAccessor foreignArticleParent = childRowValues.getForeign("ID_ARTICLE_PARENT");
ProductComponent childComponent = ProductComponent.createFrom(childRowValues);
// Test pour éviter les boucles dans les boms
if (!ancestors.contains(childComponent.getProduct().getID())) {
ancestors.add(foreignArticleParent.getID());
// parentsArticleIDs.remove(foreignArticleParent.getID());
// Calcul de la quantité qte_unit * qte * qteMergedParent
childComponent.setQty(childComponent.getQty().multiply(qtyParent.get(foreignArticleParent.getID()), DecimalUtils.HIGH_PRECISION));
 
// Cumul des valeurs si l'article est présent plusieurs fois dans le bom
ProductComponent existProduct = productCompByID.get(childComponent.getProduct().getID());
if (existProduct == null) {
result.add(childComponent);
productCompByID.put(childComponent.getProduct().getID(), childComponent);
} else {
existProduct.addQty(childComponent.getQty());
}
}
}
 
// Recherche si un kit est présent parmis les articles
final List<ProductComponent> bomFromChilds = getChildWithQtyFrom(new ArrayList(result), ancestors);
// Merge des valeurs
for (ProductComponent s : bomFromChilds) {
 
ProductComponent existProduct = productCompByID.get(s.getProduct().getID());
if (existProduct == null) {
result.add(s);
productCompByID.put(s.getProduct().getID(), s);
} else {
existProduct.addQty(s.getQty());
}
}
}
 
// Ajout des articles présents dans l'ensemble de départ
if (originalAncestorsSize == 0) {
for (ProductComponent p : items) {
ProductComponent existProduct = productCompByID.get(p.getProduct().getID());
if (existProduct == null) {
result.add(p);
productCompByID.put(p.getProduct().getID(), p);
} else {
existProduct.addQty(p.getQty());
}
}
}
 
// On supprime les ancestors (kits) du result
for (Integer anc : ancestors) {
ProductComponent comp = productCompByID.get(anc);
if (comp != null) {
result.remove(comp);
}
}
 
return result;
} else {
return items;
}
}
 
public Map<Long, Integer> getBOM(Long productId) {
final Map<Long, Integer> result = new HashMap<Long, Integer>();
// get all costs
final SQLTable costTable = root.getTable("ARTICLE_ELEMENT");
final SQLSelect sel = new SQLSelect();
 
sel.addSelect(costTable.getField("ID_ARTICLE"));
sel.addSelect(costTable.getField("QTE"));
 
sel.setWhere(new Where(costTable.getField("ID_ARTICLE_PARENT"), "=", productId));
sel.addFieldOrder(costTable.getField("QTE"));
final SQLDataSource src = root.getDBSystemRoot().getDataSource();
@SuppressWarnings("unchecked")
final List<SQLRow> l = (List<SQLRow>) src.execute(sel.asString(), SQLRowListRSH.createFromSelect(sel));
final int size = l.size();
for (int i = 0; i < size; i++) {
final SQLRow row = l.get(i);
final long id = row.getLong("ID_ARTICLE");
Integer qte = result.get(id);
if (qte == null) {
qte = row.getInt("QTE");
} else {
qte = qte + row.getInt("QTE");
}
result.put(id, qte);
}
 
return result;
}
 
public enum TypePrice {
ARTICLE_PRIX_REVIENT, ARTICLE_PRIX_MIN_VENTE
};
 
public BigDecimal getBomPriceForQuantity(int qty, Collection<? extends SQLRowAccessor> rowValuesProductItems, TypePrice type) {
final Map<Long, Integer> productQties = new HashMap<Long, Integer>();
int count = rowValuesProductItems.size();
for (SQLRowAccessor v : rowValuesProductItems) {
if (v.getObject("ID_ARTICLE") != null) {
System.out.println("id:" + v.getObject("ID_ARTICLE"));
int id = v.getForeignID("ID_ARTICLE");
int qte = v.getInt("QTE") * qty;
Integer qteForId = productQties.get(Long.valueOf(id));
if (qteForId == null) {
productQties.put(Long.valueOf(id), qte);
} else {
productQties.put(Long.valueOf(id), qte + qteForId);
}
}
}
Map<Long, BigDecimal> costs = getUnitCost(productQties, type);
BigDecimal cost = null;
for (SQLRowAccessor v : rowValuesProductItems) {
if (v.getObject("ID_ARTICLE") != null) {
int id = v.getForeignID("ID_ARTICLE");
int qte = v.getInt("QTE");
final BigDecimal unitCost = costs.get(Long.valueOf(id));
BigDecimal lineCost = unitCost.multiply(BigDecimal.valueOf(qte));
if (cost == null) {
cost = BigDecimal.ZERO;
}
cost = cost.add(lineCost);
}
}
return cost;
 
}
 
public BigDecimal getUnitCost(int id, int qty, TypePrice type) {
Map<Long, Integer> productQties = new HashMap<Long, Integer>();
productQties.put(Long.valueOf(id), Integer.valueOf(qty));
final Map<Long, BigDecimal> unitCost = getUnitCost(productQties, type);
System.out.println(">" + unitCost);
return unitCost.get(Long.valueOf(id));
}
 
public Date getUnitCostDate(int id, int qty, TypePrice type) {
Map<Long, Integer> productQties = new HashMap<Long, Integer>();
productQties.put(Long.valueOf(id), Integer.valueOf(qty));
final Map<Long, Date> unitCost = getUnitCostDate(productQties, type);
System.out.println(">" + unitCost);
return unitCost.get(Long.valueOf(id));
}
 
private Map<Long, Date> getUnitCostDate(Map<Long, Integer> productQties, TypePrice type) {
final Map<Long, Date> result = new HashMap<Long, Date>();
// get all costs
final SQLTable costTable = root.getTable(type.name());
final SQLSelect sel = new SQLSelect();
sel.addSelect(costTable.getKey());
sel.addSelect(costTable.getField("ID_ARTICLE"));
sel.addSelect(costTable.getField("QTE"));
sel.addSelect(costTable.getField("PRIX"));
sel.addSelect(costTable.getField("DATE"));
sel.setWhere(new Where(costTable.getField("ID_ARTICLE"), true, productQties.keySet()));
sel.addFieldOrder(costTable.getField("QTE"));
sel.addFieldOrder(costTable.getField("DATE"));
final SQLDataSource src = root.getDBSystemRoot().getDataSource();
@SuppressWarnings("unchecked")
final List<SQLRow> l = (List<SQLRow>) src.execute(sel.asString(), SQLRowListRSH.createFromSelect(sel));
for (SQLRow sqlRow : l) {
System.out.println(sqlRow.getID() + ":" + sqlRow.getAllValues());
}
final int size = l.size();
for (Long id : productQties.keySet()) {
Calendar cost = null;
final int qty = productQties.get(id);
for (int i = 0; i < size; i++) {
final SQLRow row = l.get(i);
if (row.getInt("ID_ARTICLE") == id.intValue()) {
// stop when the max qty is found
if (row.getLong("QTE") > qty) {
if (cost == null) {
cost = row.getDate("DATE");
}
break;
}
cost = row.getDate("DATE");
 
}
}
if (cost != null)
result.put(id, cost.getTime());
else
result.put(id, new Date());
}
return result;
}
}
/trunk/OpenConcerto/src/org/openconcerto/erp/core/sales/product/model/ProductComponent.java
New file
0,0 → 1,95
/*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
*
* Copyright 2011 OpenConcerto, by ILM Informatique. All rights reserved.
*
* The contents of this file are subject to the terms of the GNU General Public License Version 3
* only ("GPL"). You may not use this file except in compliance with the License. You can obtain a
* copy of the License at http://www.gnu.org/licenses/gpl-3.0.html See the License for the specific
* language governing permissions and limitations under the License.
*
* When distributing the software, include this License Header Notice in each file.
*/
package org.openconcerto.erp.core.sales.product.model;
 
import org.openconcerto.sql.model.SQLRow;
import org.openconcerto.sql.model.SQLRowAccessor;
import org.openconcerto.sql.model.SQLTable;
import org.openconcerto.utils.DecimalUtils;
 
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Collection;
import java.util.Date;
import java.util.List;
 
public class ProductComponent {
private final SQLRowAccessor product;
private BigDecimal qty;
 
public ProductComponent(SQLRowAccessor product, BigDecimal qty) {
this.product = product;
this.qty = qty;
}
 
public SQLRowAccessor getProduct() {
return product;
}
 
public BigDecimal getQty() {
return qty;
}
 
public void setQty(BigDecimal qty) {
this.qty = qty;
}
 
public void addQty(BigDecimal b) {
this.qty = qty.add(b);
}
 
/**
* permet de valoriser les mouvements de stocks
*
* @return
*/
public BigDecimal getPRC(Date d) {
if (product.getTable().getDBRoot().contains("ARTICLE_PRIX_REVIENT")) {
SQLTable table = product.getTable().getDBRoot().getTable("ARTICLE_PRIX_REVIENT");
Collection<SQLRow> prcs = product.asRow().getReferentRows(table);
 
BigDecimal result = null;
final List<PriceByQty> prices = new ArrayList<PriceByQty>();
for (SQLRow row : prcs) {
Calendar date = Calendar.getInstance();
if (row.getObject("DATE") != null) {
date = row.getDate("DATE");
}
prices.add(new PriceByQty(row.getLong("QTE"), row.getBigDecimal("PRIX"), date.getTime()));
}
 
result = PriceByQty.getPriceForQty(qty.setScale(0, RoundingMode.HALF_UP).intValue(), prices, d);
if (result == null) {
// Can occur during editing
result = BigDecimal.ZERO;
}
return result;
}
return null;
}
 
public static ProductComponent createFrom(SQLRowAccessor rowVals) {
return createFrom(rowVals, 1);
}
 
public static ProductComponent createFrom(SQLRowAccessor rowVals, int qteMultiple) {
 
final int qte = rowVals.getInt("QTE") * qteMultiple;
final BigDecimal qteUV = rowVals.getBigDecimal("QTE_UNITAIRE");
BigDecimal qteFinal = qteUV.multiply(new BigDecimal(qte), DecimalUtils.HIGH_PRECISION);
return new ProductComponent(rowVals.getForeign("ID_ARTICLE"), qteFinal);
}
}
/trunk/OpenConcerto/src/org/openconcerto/erp/core/sales/product/model/PriceByQty.java
33,6 → 33,10
}
 
public static BigDecimal getPriceForQty(int qty, List<PriceByQty> list) {
return getPriceForQty(qty, list, new Date(System.currentTimeMillis()));
}
 
public static BigDecimal getPriceForQty(int qty, List<PriceByQty> list, Date d) {
BigDecimal result = null;
Collections.sort(list, new Comparator<PriceByQty>() {
 
46,12 → 50,11
return o1.startDate.compareTo(o2.startDate);
}
});
Date now = new Date(System.currentTimeMillis());
for (PriceByQty priceByQty : list) {
if (priceByQty.qty > qty) {
break;
}
if (priceByQty.startDate.before(now)) {
if (priceByQty.startDate.before(d)) {
result = priceByQty.price;
}
}
/trunk/OpenConcerto/src/org/openconcerto/erp/core/sales/pos/ui/CaisseControler.java
24,6 → 24,7
 
import java.awt.event.KeyEvent;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
 
public class CaisseControler implements BarcodeListener {
245,6 → 246,7
public void saveAndClearTicket() {
if (this.t.getTotalInCents() > 0) {
if (this.getPaidTotal() >= this.getTotal()) {
this.t.setCreationCal(Calendar.getInstance());
this.t.save();
t = new Ticket(Caisse.getID());
p1 = new Paiement(Paiement.ESPECES);
/trunk/OpenConcerto/src/org/openconcerto/erp/core/sales/pos/model/ReceiptCode.java
112,7 → 112,7
final File rootDir = getRootDir(false);
final List<File> dirs = FileUtils.list(rootDir, DIR_DEPTH, FileUtils.DIR_FILTER);
// don't archive today otherwise number will be wrong (see Ticket.initNumber())
final File todayDir = getDayDir(Ticket.getCalendar(), false);
final File todayDir = getDayDir(Calendar.getInstance(), false);
for (final File dir : dirs) {
// if all receipts are deleted or imported : archive
if (!todayDir.equals(dir) && dir.listFiles(createFF("", false, false)).length == 0) {
180,7 → 180,7
code = b.toString();
// Code: 010504201100002
this.code = code;
this.setCalendar(Ticket.getCalendar());
this.setCalendar(Calendar.getInstance());
 
// Code: 0105041300002
// n°caisse sur 2 caracteres
/trunk/OpenConcerto/src/org/openconcerto/erp/core/sales/pos/model/Ticket.java
47,9 → 47,6
import org.jdom.output.XMLOutputter;
 
public class Ticket {
static public Calendar getCalendar() {
return Calendar.getInstance();
}
 
private static boolean inited = false;
// Propre a ticket
154,7 → 151,7
 
public Ticket(int caisse) {
this.caisseNumber = caisse;
this.creationCal = getCalendar();
this.creationCal = Calendar.getInstance();
initNumber();
}
 
197,9 → 194,9
}
 
public void save() {
// Update Hour & Minute