Objets métiers - Copie de Tiers

Forum consacré aux développements d'applications interfacées avec les logiciels Sage

Modérateurs: Super Modérateur, Modérateurs

Règles du forum
Merci de prendre connaissance des règles d'utilisation du forum

Avant de poster un nouveau message, utilisez la fonction RECHERCHER. Indiquez la VERSION de votre logiciel et toutes informations utiles à la résolution de votre question. Ne rédigez pas vos messages en MAJUSCULES. Soyez courtois et pensez aux formules de POLITESSE d'usage. Les messages à vocation COMMERCIALE ou PUBLICITAIRE seront supprimés.

*** LORSQU'UN SUJET EST RESOLU, SON AUTEUR DOIT EDITER LE 1ER MESSAGE DU SUJET EN HAUT DE PAGE ET COCHER "SUJET RESOLU" ***

Objets métiers - Copie de Tiers

Messagede gdnico » Mar 17 Mai 2011 17:11

Bonsoir,

Je développe un projet en VB.NET afin d'effectuer une sorte de copie régulière de la base de production vers une autre base SQL. Je vous passe la raison de ce développement, ce n'est pas le sujet de mon post.

J'ai le code suivant :
Code: Tout sélectionner
(...)
Do While i <= ClientsNew.Count

                        TiersCourant = baseCommercialeConsult.CptaApplication.FactoryClient.Create()
                        TiersRech = baseCommercialeProd.CptaApplication.FactoryClient.ReadNumero(ClientsNew.Item(i))

                        With TiersCourant
                            .CT_Num = TiersRech.CT_Num
                            .CT_Intitule = TiersRech.CT_Intitule
                            .CompteGPrinc = TiersRech.FactoryTiersCompteG()
                            .WriteDefault()
                        End With

                        i = i + 1
                    Loop
(...)


Donc en l'état actuel je copie un à un les éléments du client de la première base vers l'autre puis je Write.
Je n'arrive pas à dire tout simplement que TiersCourant est égal à TiersRech. J'obtient dans tous mes tests un message d'erreur.

Voyez-vous un moyen ?

Merci d'avance !
gdnico
Posteur néophyte
Posteur néophyte
 
Messages: 1
Inscription: Mar 17 Mai 2011 17:01

Re: Objets métiers - Copie de Tiers

Messagede Tim » Mer 25 Mai 2011 11:31

Bonjour,

Tu ne peux pas dire qu'un objet d'une base est égal à un objet d'une autre base.

D'ailleurs pour la mĂŞme raison, il y a une erreur dans ton code :
Code: Tout sélectionner
With TiersCourant
       .CompteGPrinc = TiersRech.FactoryTiersCompteG()
End With


Il faut écrire :

Code: Tout sélectionner
.CompteGPrinc = baseCommercialeProd.CptaApplication.FactoryCompteG.ReadNumero(TiersRech.CompteGPrinc.CG_Num)


En gros tu dois dire que le compte général est le compte de la base de destination dont le numéro de compte est le même que le numéro de compte du tiers de la base d'origine.

En admettant que tu as vérifié que le compte général existe dans la base de destination au préalable.

Je me suis penché sur la copie d'une base vers une autre (paramètres, tiers, articles, ...) la tâche est fastidieuse.
Développe en VB.NET sur Sage ligne 100 en SQL et en objets métiers.
Tim
Posteur habitué
Posteur habitué
 
Messages: 23
Inscription: Mer 25 Mai 2011 11:16


Retourner vers Développements ODBC, Objets métiers, SQL

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités