rem: void recuperation_ope_filles_completion_tiers ( struct structure_operation *operation )
add: void recuperation_ope_filles_completion_tiers ( struct structure_operation *transaction )
context: void recuperation_ope_filles_completion_tiers ( struct structure_operation *operation ){    gint result;    GSList *liste_des_opes_de_ventilation;    GSList *pointeur_ope;    /* affiche la question de récupération */    result = question_yes_no_hint ( _("Recover breakdown?"),				    _("This is a breakdown of transaction, associated transactions can be recovered as in last transaction with this third party.") );    if ( !result )	return;    /* récupération des anciennes opés filles de la ventilation */    liste_des_opes_de_ventilation = NULL;    pointeur_ope = gsb_account_get_transactions_list (operation -> no_compte);    while ( pointeur_ope )    {	struct structure_operation *ope_test;	ope_test = pointeur_ope -> data;	if ( ope_test -> no_operation_ventilee_associee == operation -> no_operation )	{	    struct struct_ope_ventil *nouvelle_operation;	    nouvelle_operation = calloc ( 1,					  sizeof ( struct struct_ope_ventil ));	    nouvelle_operation -> montant = ope_test -> montant;	    nouvelle_operation -> categorie = ope_test -> categorie;	    nouvelle_operation -> sous_categorie = ope_test -> sous_categorie;	    if ( ope_test -> notes )		nouvelle_operation -> notes = g_strdup ( ope_test -> notes );	    nouvelle_operation -> no_exercice = ope_test -> no_exercice;	    nouvelle_operation -> imputation = ope_test -> imputation;	    nouvelle_operation -> sous_imputation = ope_test -> sous_imputation;	    if ( ope_test -> no_piece_comptable )		nouvelle_operation -> no_piece_comptable = g_strdup ( ope_test -> no_piece_comptable );	    /* 		    on met par_completion à 1 pour éviter de les effacer si on va dans l'échéance */	    /* 			et qu'on annule */	    nouvelle_operation -> par_completion = 1;	    /* si c'est un virement, on met le compte de virement et le type choisi */	    if ( ope_test -> relation_no_operation )	    {		struct structure_operation *contre_operation;		nouvelle_operation -> relation_no_operation = -1;		nouvelle_operation -> relation_no_compte = ope_test -> relation_no_compte;		/*  on va chercher le type de l'opé associée */		contre_operation = operation_par_no ( ope_test -> relation_no_operation,						      ope_test -> relation_no_compte );		if ( contre_operation )		    nouvelle_operation -> no_type_associe = contre_operation -> type_ope;	    }	    liste_des_opes_de_ventilation = g_slist_append ( liste_des_opes_de_ventilation,							     nouvelle_operation );	}	pointeur_ope = pointeur_ope -> next;    }    if ( liste_des_opes_de_ventilation )	gtk_object_set_data ( GTK_OBJECT ( formulaire ),			      "liste_adr_ventilation",			      liste_des_opes_de_ventilation );    else	gtk_object_set_data ( GTK_OBJECT ( formulaire ),			      "liste_adr_ventilation",			      GINT_TO_POINTER ( -1 ) );}