Maison / Skype / Lecture du fichier Excel 1c 8.3. Informations comptables. Unité de mesure de base

Lecture du fichier Excel 1c 8.3. Informations comptables. Unité de mesure de base

Cette méthode Facile. Son essence est que l'objet TableurDocument a des méthodes :

  • brûler (< ИмяФайла>, < ТипФайлаТаблицы >) pour télécharger des données dans un fichier ;
  • Lis (< ИмяФайла>, < СпособЧтенияЗначений >) pour charger les données d'un fichier.

Attention!

La méthode Write() est disponible à la fois sur le client et sur le serveur. La méthode Read() n'est disponible que côté serveur. Faut se souvenir de ça
lors de la planification de l'interaction client-serveur.

Prenons un exemple d'enregistrement d'un document de feuille de calcul dans un fichier. Il est nécessaire de créer et de remplir l'objet TableDocument de quelque manière que ce soit, et déchargement fichier se fait avec une seule ligne :

TabDoc . Écrire(CheminFichier, TypeFichierDocumentTableur.XLSX);

Ici TabDoc- tableur généré, Le chemin d'accès au fichier- le nom du fichier à uploader, TableurDocumentFileType.XLSX- mise en forme fichier créé. Les formats Excel suivants sont pris en charge :

  • XLS95- format Excel 95;
  • XLS97 - Format Excel 97 ;
  • XLSX est le format Excel 2007.

TabDoc = Nouveau document de feuille de calcul ;
TabDoc . Lire(PathToFile, WayToReadSpreadsheetDocumentValues.Value);

Ici Le chemin d'accès au fichier- Chemin d'accès au fichier Excel téléchargé. WayToReadValuesSpreadDocument.Value détermine comment interpréter les données lues à partir du document source. Options disponibles :

  • Sens;
  • Texte.

Échange via OLE

L'échange via la technologie d'automatisation OLE est peut-être l'option la plus courante programme de travail avec des fichiers Excel. Il vous permet d'utiliser toutes les fonctionnalités fournies par Excel, mais est plus lent que les autres méthodes. Exchange via OLE nécessite l'installation de MS Excel :

  • Sur le poste de l'utilisateur final, si l'échange a lieu côté client ;
  • Sur l'ordinateur serveur 1C:Enterprise, si l'échange a lieu côté serveur.

Exemple déchargement:

// Créer un objet COM
Excel = New COMObject("Excel.Application");
// Désactiver les avertissements et les questions
Exceller . displayalerts = faux ;
// Créer un nouveau livre
Livre = Excel. cahiers d'exercices. ajouter();
// Positionnement sur la première feuille
Feuille = Livre. Feuilles de travail(1);

// Écrit la valeur dans la cellule
Feuille . Cellules (RowNumber, ColumnNumber). Valeur = CellValue ;

// Enregistrer le fichier
Livre . Enregistrer sous(NomFichier);


Exceller . Quitter();
Excel = 0 ;

Exemples en train de lire:

// -- OPTION 1 --

// Créer un objet COM
Excel = New COMObject("Excel.Application");
// Livre ouvert
Livre = Excel. cahiers d'exercices. Ouvert( Le chemin d'accès au fichier );

Feuille = Livre. Feuilles de travail(1);

// Ferme le livre
Livre . Fermer(0);

// Ferme Excel et libère de la mémoire
Exceller . Quitter();
Excel = 0 ;

// -- OPTION 2 --

// Livre ouvert
Livre = GetCOMObject( Le chemin d'accès au fichier );
// Positionnement sur la feuille souhaitée
Feuille = Livre. Feuilles de travail(1);

// Lit la valeur de la cellule, c'est généralement là que se trouve la boucle de contournement de cellule
CellValue = Feuille. Cellules (RowNumber, ColumnNumber). évaluer;

// Ferme le livre
Livre . application. Qui t();

Pour contourne toutes les lignes remplies de la feuille Excel, vous pouvez utiliser les astuces suivantes :

// -- OPTION 1 --
Nombre de lignes = Feuille. Cellules(1 , 1 ). Cellules spéciales(11 ). Ligne;
For RowNumber = 1 Par nombre de lignes Boucle
CellValue = Feuille. Cellules (RowNumber, ColumnNumber). évaluer;
FinCycle ;

// -- OPTION 2 --
NuméroLigne = 0 ;
Tandis que la vraie boucle
NuméroLigne = NuméroLigne + 1 ;
CellValue = Feuille. Cellules (RowNumber, ColumnNumber). évaluer;
Si NON ValueFilled(CellValue) Alors
avorter;
Fin si;
FinCycle ;

Au lieu de parcourir séquentiellement toutes les lignes de la feuille, vous pouvez vider toutes les données dans un tableau et travailler avec lui. Cette approche sera plus rapide lors de la lecture d'une grande quantité de données :

TotalColonnes = Feuille. Cellules(1 , 1 ). Cellules spéciales(11 ). Colonne;
Nombre total de lignes = Feuille. Cellules(1 , 1 ). Cellules spéciales(11 ). Ligne;

Région = Feuille. Range(Sheet.Cells(1 , 1 ), List.Cells(TotalRows, TotalColumns));
Données = Zone. évaluer. décharger();

Le tableau ci-dessous répertorie les propriétés et méthodes les plus demandées pour travailler avec Excel via OLE :

Action Le code Commentaire
Travailler avec l'application
Définition de la visibilité de la fenêtre d'application Exceller . visible= faux ;
Réglage du mode d'affichage des avertissements (afficher/ne pas afficher) Exceller . Afficher les alertes= faux ;
Fermeture de l'application Exceller . Quitter();
Travailler avec un livre
Créer un nouveau livre Livre = Excel. cahiers d'exercices. Ajouter();
Ouvrir un classeur existant Livre = Excel. cahiers d'exercices. Ouvrir(NomFichier);
Enregistrer un livre Livre . Enregistrer sous(NomFichier);
fermeture du livre Livre . Fermer(0);
Travailler avec une feuille
Réglage de la feuille courante Feuille = Livre. Feuilles de Travail(NuméroFeuille);
Réglage du nom Feuille . Nom = Nom;
Réglage de la protection Feuille . Protéger();
Suppression des protections Feuille . Déprotéger();
Réglage de l'orientation des pages Feuille . Mise en page. Orientation = 2; 1 - portrait, 2 - paysage
Réglage de la bordure gauche Feuille . Mise en page. Marge gauche = Excel. CentimètresVersPoints(Centimètres);
Réglage de la limite supérieure Feuille . Mise en page. Marge supérieure = Excel. CentimètresVersPoints(Centimètres);
Définir la bordure droite Feuille . Mise en page. Marge droite = Excel. CentimètresVersPoints(Centimètres);
Définition de la borne inférieure Feuille . Mise en page. Marge inférieure = Excel. CentimètresVersPoints(Centimètres);
Travailler avec des lignes, des colonnes, des cellules
Réglage de la largeur de colonne Feuille . Colonnes (ColumnNumber). LargeurColonne = Largeur;
Suppression d'une ligne Feuille . Lignes (RowNumber). Effacer();
Suppression d'une colonne Feuille . Colonnes (ColumnNumber). effacer();
Suppression d'une cellule Feuille . Cellules (RowNumber, ColumnNumber). Effacer();
Définition d'une valeur Feuille . Cellules (RowNumber, ColumnNumber). Valeur = Valeur;
Fusionner des cellules Feuille . Plage (feuille. Cellules (RowNumber, ColumnNumber), Feuille. Cellules (RowNumber1, ColumnNumber1)). Fusionner();
Installation de la police Feuille . Cellules (RowNumber, ColumnNumber). Police de caractère. Nom = Nom de la police;
Réglage de la taille de la police Feuille . Cellules (RowNumber, ColumnNumber). Police de caractère. Taille = Taille de la police;
Réglage de la police en gras Feuille . Cellules (RowNumber, ColumnNumber). Police de caractère. Audacieux = 1 ; 1 — caractère gras, 0 — normal
Mise en italique Feuille . Cellules (RowNumber, ColumnNumber). Police de caractère. Italique = 1 ; 1 - italique, 0 - normal
Définir une police soulignée Feuille . Cellules (RowNumber, ColumnNumber). Police de caractère. Souligner = 2 ; 2 - souligné, 1 - non

Pour savoir quelle propriété doit être modifiée ou quelle méthode appeler, vous pouvez utiliser macros Exceller. Si vous enregistrez une macro avec les actions requises, vous pouvez alors afficher le code du programme dans le VBA de la macro enregistrée.

Utilisation de COMSafeArray

Lors du déchargement de grandes quantités de données de 1C vers Excel, vous pouvez utiliser l'objet pour accélérer COMSafeArray. Selon la définition de l'assistant de syntaxe, COMSafeArray est un wrapper d'objet sur tableau multidimensionnel SafeArrayName de COM. Vous permet de créer et d'utiliser SafeArray pour échanger des données entre des objets COM. En termes simples, il s'agit d'un tableau de valeurs pouvant être utilisé pour échanger entre des applications utilisant la technologie OLE.

// Créer COMSafeArray
ArrayCom = New COMSafeArray("VT_Variant", TotalColumns, TotalRows);
// Remplir COMSafeArray
Pour Str = 0 nombre total de lignes - 1 boucle
Pour Nombre = 0 total de colonnes - 1 cycle
TableauCom . SetValue(Nombre, Chaîne, Valeur);
FinCycle ;
FinCycle ;
// Attribuer une zone de feuille valeurs excel de COMSafeArray
Feuille . Range(Sheet. Cells(1 , 1 ), List. Cells(TotalRows, TotalColumns)). Valeur = ArrayCom;

Échange via ADO

Un fichier Excel, lorsqu'il est échangé via ADO, est une base de données accessible à l'aide de requêtes SQL. L'installation de MS Excel n'est pas requise, mais un pilote ODBC est requis, à travers lequel l'accès sera effectué. Le pilote ODBC utilisé est déterminé en spécifiant la chaîne de connexion au fichier. Généralement, le pilote requis est déjà installé sur l'ordinateur.

L'échange via ADO est sensiblement plus rapide que l'échange via OLE, mais lors du déchargement, il n'y a aucun moyen d'utiliser la fonctionnalité Excel pour décorer des cellules, marquer des pages, définir des formules, etc.

Exemple déchargement:


Connexion = New COMObject("ADODB.Connexion");


Composé . Chaîne de connexion="

|DataSource=" + NomFichier + " ;
;
Composé . ouvert(); // Ouvrir la connexion

// Crée un objet COM pour la commande
Commande = New COMObject("ADODB.Command");
Équipe

// Affecte un texte de commande pour créer une table
Équipe . texte de commande= "CREATE TABLE [Sheet1] (Column1 char(255), Column2 date, Column3 int, Column4 float)";
Équipe . exécuter(); // Exécution de la commande

// Affectation d'un texte de commande pour ajouter une ligne de tableau
Équipe . texte de commande= "INSERT INTO [Sheet1] (Column1, Column2, Column3, Column4) values ​​​​('abvgdeo', '8/11/2017', '12345', '12345,6789')";
Commande.Execute(); // Exécution de la commande

// Suppression de la commande et fermeture de la connexion
commande = indéfini ;
Composé . proche();
Connexion = Non défini;

Pour créer une nouvelle feuille et former sa structure, vous pouvez utiliser les objets ADOX.Catalogue et ADOX.Table. Dans ce cas, le code ressemblera à :

// Crée un objet COM pour travailler avec le livre
Livre = New COMObject("ADOX.Catalog");
Livre . ActiveConnection = Connexion ;

// Crée un objet COM pour travailler avec la structure de données sur la feuille
Table = New COMObject("ADOX.Table");
Table . Nom = "Feuille1" ;
Table . Colonnes. Ajouter("Colonne1" , 202 );
Table . Colonnes. Ajouter("Colonne2" , 7 );
Table . Colonnes. Ajouter("Colonne3" , 5 );
Table . Colonnes. Ajouter("Colonne4" , 5 );

// Crée une feuille dans le livre avec la structure décrite
Livre . les tables. ajouter(tableau);
tableau = indéfini ;
livre = indéfini ;

Dans l'exemple ci-dessus, dans la méthode

Table . Colonnes. Ajouter("Colonne1", 202);

le deuxième paramètre spécifie le type de colonne. Le paramètre est facultatif, voici quelques valeurs de type de colonne :

  • 5-adDouble ;
  • 6 - adDevise ;
  • 7 - adDate ;
  • 11 - adBooléen ;
  • 202 - adVarWChar ;
  • 203-adLongVarWChar.

Exemple en train de lire:

// Crée un objet COM pour la connexion
Connexion = New COMObject("ADODB.Connexion");

// Définir la chaîne de connexion
Composé . Chaîne de connexion="
|Fournisseur=Microsoft.ACE.OLEDB.12.0 ;
|DataSource=" + NomFichier + " ;
|Propriétés étendues=""Excel 12.0 XML;HDR=OUI"";";
Composé . ouvert(); // Ouvrir la connexion

// Crée un objet COM pour recevoir une sélection
Sélection = New COMObject("ADODB.Recordset");
RequestText = "SÉLECTIONNER * À PARTIR DE [Feuille1$]";

// Exécute la requête
Goûter . Ouvrir(QueryText, Connexion);

// Ignore le résultat de la sélection
Sans échantillonnage. Boucle EOF()
ColumnValue1 = Sélection. des champs. Article("Colonne1"). évaluer ; // Référencement par nom de colonne
Valeur colonne2 = sélection. des champs. Article(0 ). évaluer; // Récupérer par index de colonne
Goûter . DéplacerSuivant();
FinCycle ;

Goûter . proche();
Échantillon = non défini ;
Composé . proche();
Connexion = indéfini ;

Dans la chaîne de connexion, le paramètre HDR détermine comment la première ligne de la feuille sera perçue. Options possibles :

  • OUI - la première ligne est perçue comme les noms des colonnes. Les valeurs sont accessibles par nom et par index de colonne.
  • NON - La première ligne est considérée comme une donnée. Les valeurs ne sont accessibles que par index de colonne.

Dans les exemples donnés, seuls quelques objets ADO sont pris en compte. Le modèle d'objet ADO se compose des objets suivants :

  • lien;
  • commande;
  • jeu d'enregistrements ;
  • enregistrement;
  • des champs;
  • Flux;
  • les erreurs;
  • paramètres;
  • Propriétés.

Télécharger sans programmation

Pour enregistrer les données de 1C vers Excel, il n'est pas toujours conseillé de recourir à la programmation. Si, en mode Entreprise, l'utilisateur peut afficher les données nécessaires au téléchargement, il est alors possible de les enregistrer dans Excel sans programmation.

Pour enregistrer un document de feuille de calcul (par exemple, le résultat d'un rapport), vous pouvez appeler la commande sauvegarder ou Enregistrer sous… menu principal.

Dans la fenêtre qui s'ouvre, vous devez sélectionner le répertoire, le nom et le format du fichier enregistré.

Pour enregistrer des données listes dynamiques(par exemple, une liste d'articles), vous devez :

  1. Exporter les données vers une feuille de calcul à l'aide de la commande Plus ⇒ Afficher la liste...;
  2. Enregistrez le document de feuille de calcul dans le format requis.

Configuration: 1c comptabilité

Version de configuration : 3.0.44.177

Date de publication: 20.01.2017

Dans le programme 1C : Comptabilité, il est devenu possible de télécharger et de télécharger régulièrement des données à partir de feuilles de calcul Excel, sans recourir à des modifications de traitement et de configuration tierces. Le chargement et le déchargement sont si faciles que les utilisateurs expérimentés tomberont rapidement amoureux de ce mécanisme pratique, et les nouveaux utilisateurs le maîtriseront rapidement.

Chargement depuis Excel 1C : Comptabilité 8.3 éd. 3.0

Par exemple, nous avons un tel document de feuille de calcul Excel pour charger une liste d'articles et de prix (vente au détail et achat).

Entrez.

Appuyez en haut Nomenclature et Tarifs - Télécharger. C'est là que le chargement et le déchargement des feuilles de calcul sont masqués.

Le téléchargement prend en charge xls (ancien format Excel 97-2003) et xlsx (nouveau format), ainsi que les formats mxl et ods. Maintenant, nous sélectionnons notre fichier avec la nomenclature et attendons le téléchargement.

Le document de feuille de calcul s'est chargé dans le formulaire tel que nous l'avons vu dans Excel, nous allons maintenant attribuer les colonnes et supprimer l'excédent.

Cliquer sur Spécifiez les accessoires et sélectionnez l'élément souhaité dans la liste.

Sélectionnez la ligne qui contient des entrées inutiles, à savoir l'en-tête du tableau et appuyez sur Supprimer la ligne.

Maintenant, nous supprimons la colonne avec le prix d'achat, notez que le traitement est capable de remplir seulement 1 type de prix pour 1n fois !!! Ensuite vous pouvez refaire cette opération et charger le 2ème type de prix, pour le 1er charger Retail pour le 2ème achat.

Remplissez les données vides, Type de prix, Fixez les prix pour. Les boutons Tout, Trouvé, Nouveau, Doublons faciliteront grandement la recherche et aideront à comparer la nomenclature. Remplissez et cliquez Télécharger après quoi les données seront chargées dans 1C : Comptabilité.

De nouveaux postes sont apparus dans la liste des articles, remplis et avec des prix attribués. Si vous devez charger un autre type de prix, refaites toutes les étapes, mais sélectionnez une colonne avec un prix différent, 1C trouvera les positions déjà créées et n'essaiera pas de les dupliquer, mais ajoutera simplement un nouveau type de prix.

Comme vous pouvez le voir, le téléchargement a créé 2 documents de fixation du prix de l'article, pour le prix d'achat et pour le prix de vente au détail. La différence entre ce traitement Téléchargement d'Excel vers 1C : Comptabilité 8.3, Le fait est qu'il s'agit d'un traitement régulier et qu'il fonctionne sans échec et en tenant compte de toutes les fonctionnalités de remplissage du document.

Téléchargement vers Excel à partir de 1C : Comptabilité 8.3 éd. 3.0

Très fonction utile dans la version 3.0.44.177 et supérieure est une exportation vers Excel à partir de 1C : Comptabilité 8.3, ce traitement vous aidera à créer une liste de prix d'entreprise ou à transférer immédiatement votre liste d'articles aux fournisseurs ou acheteurs avec les prix.

Tout est là dans le guide. Nomenclature - Nomenclature et Prix - Télécharger.

A l'étape haut-parleurs, sélectionnez les colonnes qui doivent être créées dans le document Excel. Sélection sert à la sélection de la nomenclature par Groupes, propriétés, noms... etc.

Pour l'upload vers excel, nous ajouterons une nouvelle colonne, à savoir le taux de TVA, cela ne semble pas vraiment nécessaire, mais nous nous entraînons.

Il y a différentes manières pour ouvrir un fichier Excel en 1C et inversement. Les utilisateurs novices préféreront des opérations plus simples en enregistrant le document dans un format différent ou en utilisant programmes spéciaux. Mais cela vaut la peine de faire un petit effort et d'apprendre à travailler avec outils logiciels pour visualiser et traiter les données d'un programme à l'autre. À l'avenir, ces compétences de base en programmation vous permettront d'éviter les tâches routinières.

Comment ouvrir des documents Excel en 1C et vice versa

L'éditeur de tableur de Microsoft Excel surpasse les produits logiciels de comptabilité 1C en termes d'exhaustivité des fonctionnalités. Par conséquent, les utilisateurs 1C préfèrent effectuer certaines des opérations dans un éditeur de feuille de calcul, puis renvoyer les données au programme de comptabilité. Et ce n'est pas surprenant, car auparavant, la comptabilité de nombreuses entreprises était effectuée exclusivement à l'aide de programmes Microsoft. Mais avec le niveau actuel d'automatisation des processus commerciaux des entreprises, il est impossible de refuser des programmes spécialisés. Pour établir une communication entre différentes applications, il existe les moyens simples suivants :

    Lorsque vous devez gérer des fichiers de produits logiciels qui ne sont pas installés sur votre ordinateur actuel, le moyen le plus simple consiste à utiliser application spéciale pour convertir des tableaux Excel au format 1C et vice versa. Il peut être trouvé sur le site Web du produit 1C.

    Si l'ordinateur dispose à la fois de 1C et d'Excel, vous pouvez ouvrir manuellement le fichier dans son application "native", puis l'enregistrer au format d'un autre programme. Habituellement, cette option est disponible lors de l'enregistrement formulaire imprimé ou mise en page.

    Les utilisateurs de 1C 7.7 peuvent passer à la version 1C 8, qui dispose d'un éditeur de tableau amélioré.

Comment 1C et Excel peuvent interagir par programmation

L'interaction entre 1C et Excel peut être effectuée au niveau du programme à l'aide de la technologie OLE Automation développée par Microsoft. Il vous permet d'accéder directement aux objets COM à partir des interpréteurs de scripts de divers programmes. En termes simples, OLE vous permet de transférer une partie du travail d'un programme à un autre, puis de renvoyer le travail effectué à l'application d'origine. C'est exactement ce dont les comptables ont besoin de Microsoft Spreadsheet Editor.

Vous n'avez pas besoin d'être programmeur pour utiliser les outils OLE. Bien que la première connaissance des lignes de code soit accompagnée d'erreurs, la vérification aidera à les identifier et l'expérience acquise aidera à les éviter à l'avenir. Vous trouverez ci-dessous les commandes les plus populaires (appelées listes) pour travailler avec des données Excel dans des programmes de comptabilité et vice versa.

Comment ouvrir un fichier Excel en 1C par programmation

Ainsi, si les deux programmes sont installés sur votre ordinateur, entre lesquels vous souhaitez établir un échange de données, vous pouvez organiser l'interaction par programmation. Pour ce faire, vous devez exécuter les deux applications, puis utiliser OLE pour établir l'accès de 1C à Excel :

  • Exception

    Report(ErrorDescription() + "Excel n'est pas installé sur cet ordinateur !");

  • EndTry.

L'accès à l'éditeur de table a été établi, maintenant avec l'aide des commandes suivantes, vous devez accéder :

    dossier spécifique :

    • Livre = Excel.WorkBooks.Open(PathToFile)

    • Sheet = Book.WorkSheets(SheetNumber);

  • comprenant avec un numéro de feuille spécifique :

    y compris avec un nom de feuille spécifique :

    • Feuille = Book.WorkSheets(SheetName);

    • Valeur = Sheet.Cells(RowNumber, ColumnNumber).Value ;

Pour lire les données de la première page d'un fichier, utilisez les listes suivantes :

    Excel = CreateObject("Excel.Application");

    Livre = Excel.WorkBooks.Open(PathToFile);

    Feuille = Book.WorkSheets(1);

    TotalColumns = Sheet.Cells(1,1).SpecialCells(11).Column;

    TotalRows = Sheet.Cells(1,1).SpecialCells(11).Row;

    For Row = 1 By Total Rows Loop

    • For Column = 1 By Total Columns Loop

      Valeur = LP abrégé(Sheet.Cells(Row,Column).Value);

      FinCycle ;

    FinCycle ;

N'oubliez pas que le chemin d'accès au fichier doit être écrit en entier. Lors de l'enregistrement, le nom du document ne peut pas contenir de caractères tels que \, /, :, *, ?, ", >,< и |.

Comment ouvrir un fichier 1C via Excel par programmation

Pour écrire des données dans Excel, vous devez :

    ou ouvrez un document existant :

    • Book = Excel.WorkBooks.Open(PathToFile) - par analogie avec la lecture d'un fichier Excel à partir de 1C ;

    ou en ajouter un nouveau :

    • Livre = Excel.WorkBooks.Add();

    dans un nouveau document, vous pouvez créer une nouvelle feuille :

    • Sheet = Book.Sheets.Add();

    et ajoutez une nouvelle valeur à la cellule :

    • Sheet.Cells(RowNumber, ColumnNumber).Value = Value; (Les méthodes d'écriture de valeurs à l'aide d'OLE sont décrites en détail sur Internet).

  • Book.SaveAs(PathToFile);

    Exception

    Report(ErrorDescription()+"Fichier non enregistré!");

    EndTry.

Lorsque vous avez fini de travailler avec l'éditeur de feuille de calcul, quittez à l'aide d'une commande spéciale (Excel.Application.Quit();). Cette méthode aidera à économiser les ressources informatiques lors de travaux ultérieurs.

Dangers lors de l'échange de données entre 1C et Excel

1C et Excel ont été développés par différentes sociétés et utilisent différentes manières de traiter les données. Par conséquent, lors du transfert de tables d'un programme à un autre, n'oubliez pas les "pièges" suivants :

    Divers séparateurs en nombres fractionnaires. Microsoft sépare les nombres décimaux par une virgule. Par conséquent, lors du transfert de tableaux à partir d'un programme de comptabilité, ne soyez pas surpris de l'abondance de dates et d'autres confusions. C'est juste que dans un programme de comptabilité, un point peut être utilisé dans la notation des fractions, que l'éditeur de feuille de calcul Microsoft interprétera comme un séparateur de date, et 15,5 se transformera en 15 mai. Pour traiter les données comptables dans un éditeur de tableur, le séparateur devra être remplacé par une virgule.

    Lors du transfert de données d'Excel vers 1C, les constantes Excel qui ne figurent pas dans le programme de comptabilité peuvent ne pas s'afficher correctement. Pour les déchiffrer, il faut se rendre dans l'aide de l'éditeur de tableur ou en mode débogage et vérifier l'expression numérique des différentes constantes.

Si vous avez besoin d'établir l'échange de grandes quantités de données ou si vous ne pouvez pas vous débarrasser des erreurs, contactez les professionnels de Setby pour obtenir de l'aide. Nous vous aiderons à résoudre vos problèmes au niveau du programme et traiterons les commandes nécessaires à votre travail.

Dans cet article, nous aborderons avec vous deux sujets très importants, le premier est, et le second est bien sûr télécharger des données de 1s vers excel. Il est à noter que ces sujets intéressent deux principaux publics d'utilisateurs, ce sont :

  • Utilisateurs du système 1C Enterprise
  • programmeurs 1C

Les utilisateurs 1C veulent généralement commander, par exemple transfert de données d'excel vers 1s conformément à leurs exigences de portage spécifiques, tandis que les programmeurs 1C sont plus susceptibles de rechercher des éclaircissements ou des exemples de code. Sur la base de ces considérations, nous avons décidé de diviser les informations fournies dans cet article en deux parties pour les utilisateurs et les programmeurs de 1C.

1C chargement depuis Excel et déchargement de 1C vers Excel à travers les yeux d'un utilisateur ordinaire 1C

Très souvent, il s'avère qu'une entreprise ou une entreprise, par exemple, dispose d'une documentation stockée sur un ordinateur dans des fichiers Excel. Et souvent les utilisateurs ont une question, mais comment télécharger ou télécharger des données d'Excel vers 1C. Bien sûr, on ne peut pas se passer de connaissances en programmation, donc si vous êtes un simple utilisateur, vous devez nous commander des services 1c, car absolument aucun de nos programmeurs 1c vous écoutera toujours, sélectionnez une solution spécialement conçue pour vous , et vous aidera certainement.

Pourquoi n'y a-t-il pas de traitement universel pour charger des données d'Excel vers 1C ?

Répondons à cette question et examinons ses principaux points :

  1. Chaque utilisateur a différents fichiers Excel, les données à partir desquelles il souhaite transférer vers 1C, bien sûr, ces fichiers ont un nombre différent de lignes et de colonnes, et portent également une charge sémantique différente.
  2. Chaque utilisateur travaille avec une configuration distincte, c'est-à-dire les configurations peuvent être différentes, ce qui fonctionne dans une configuration ne fonctionnera pas dans une autre configuration sans mise à niveau.
  3. Les données d'Excel doivent être transférées vers différents objets, et donc un code différent est nécessaire, car chaque utilisateur a ses propres exigences.

Pour ces raisons, il est impossible de créer traitement universel sur chargement de données d'Excel vers 1C.

Comment les données sont chargées et déchargées d'Excel vers 1C sur l'exemple d'un développement réel

Voyons maintenant le général comment les données sont chargées et déchargées d'Excel en 1C, et à quoi cela ressemblera-t-il dans la solution finale ?. Un exemple de développement individuel réel, ainsi que le fichier Excel d'origine sont présentés ci-dessous.

Dans ce traitement, vous devez d'abord sélectionner le fichier Excel, puis cliquer sur le bouton "Exécuter", après quoi les données nécessaires d'Excel seront chargées dans la partie tabulaire. Il ne reste plus à l'utilisateur qu'à cliquer sur le bouton "Transférer vers le livre", après quoi les données seront transféré d'Excel vers 1C.

Téléchargement de données de 1C vers Excel se passe à peu près la même chose, seulement ici la complexité du traitement d'écriture dépend du type de données à décharger de l'objet. Par exemple, nous avons le livre de référence "Nomenclature" et nous voulons télécharger le nom de l'article lui-même et l'unité de mesure de cet article, bien que l'article lui-même puisse avoir beaucoup plus de détails, tels que le type d'article, le type d'article, le plein nom, etc...

J'ai besoin d'un traitement pour charger et/ou décharger des données depuis Excel, que dois-je faire ?

Tout ce que vous avez à faire est de décrocher le téléphone et de nous appeler. Après cela, nos spécialistes effectueront toutes les actions nécessaires afin que vous obteniez exactement ce dont vous avez besoin. Si vous avez besoin d'effectuer une mise à jour urgente 1c, appelez-nous, nous sommes heureux d'aider chacun de nos clients !

Charger et décharger des données d'Excel vers 1C à travers les yeux d'un programmeur 1C ordinaire

Un peu plus haut on a beaucoup donné informations utiles pour les utilisateurs 1C, il est maintenant temps de parler des aspects techniques de l'écriture de code, ainsi que de fournir des informations aux programmeurs 1C qui leur seront très utiles lors de l'écriture de code. Considérez les principales fonctions fréquemment utilisées pour travailler avec Excel.

Nous allons commencer par comment connecter Excel à 1C, cela se fait via un objet COM. Pour que ce code fonctionne correctement, Excel doit être installé sur l'ordinateur, sinon rien ne fonctionnera :

Après avoir connecté Excel, nous devons ouvrir Document requisà partir duquel le transfert sera effectué :

Maintenant, nous devons sélectionner une feuille d'un livre Excel, dans la figure ci-dessus, nous voyons comment une feuille avec un certain nombre est sélectionnée. Le numéro de feuille est stocké dans la variable "Numéro de feuille":

Nous pouvons connaître le nombre de feuilles dans un classeur Excel en utilisant le champ "Compter":

Pour obtenir le nom d'une feuille sous un certain numéro, vous devez écrire une ligne similaire :

Une fois que nous avons terminé toutes les étapes pour travailler avec Excel lui-même, le processus doit être fermé. Fermez-le, sinon il se bloquera :

Un exemple de fonction qui charge des cellules individuelles d'Excel vers 1C

Nous avons passé en revue les procédures et fonctions de base que chaque programmeur 1C rencontre lors de l'écriture d'un traitement pour charger des données d'Excel vers 1C. Examinons maintenant de plus près la fonction qui lit les cellules individuelles dans un fichier Excel.

Nous pensons qu'aucune autre clarification sur code donné il n'est pas nécessaire de donner, puisque toutes ces fonctions ont été examinées en détail ci-dessus.

Un exemple de fonction qui charge toutes les données d'Excel dans une partie tabulaire 1C

Nous avons considéré une fonction qui affiche des cellules Excel individuelles. Mais que se passe-t-il si nous devons décharger l'intégralité de la feuille Excel en une seule fois et la contourner de manière séquentielle ? C'est là que le code ci-dessous est utile :

Un exemple de fonction qui télécharge des données de 1C vers Excel

Ci-dessus, nous avons analysé beaucoup de choses intéressantes, mais nous n'avons pas abordé un sujet tel que le téléchargement de données de 1C vers Excel. En fait, le principe de travail ici est absolument presque le même, sauf que nous créons par programme un nouveau fichier Excel et que nous l'écrivons par programme. Eh bien, pour écrire une valeur dans une cellule, comme vous l'avez probablement déjà deviné, vous devez mettre l'expression Sheet.Cells (x, y) sur le côté gauche. Un exemple de téléchargement de données de 1C vers Excel est présenté ci-dessous :

La plupart des organisations, dans leur pratique quotidienne de tenir des registres de diverses opérations comptables à l'ancienne, utilisent le produit logiciel Excel de suite bureautique Microsoft. Cela se produit lorsqu'une entreprise est récemment passée au système 1C et que les sections de reporting n'ont pas encore été correctement déboguées, ou que le fournisseur préfère envoyer une liste de prix sous la forme d'un tableau croisé dynamique au format .xls. Il n'est pas surprenant qu'il soit souvent nécessaire de remplacer la saisie manuelle des positions par Système automatisé. Cela réduira considérablement le temps de remplissage des documents de nomenclature et réduira le nombre d'erreurs, ce qui est important à prendre en compte lorsqu'il s'agit de plusieurs dizaines voire centaines d'articles.


Vous pouvez résoudre ce problème différentes façons: certaines organisations préfèrent confier ce travail à leur service informatique, d'autres embauchent des développeurs travaillant dans une entreprise franchisée, mais cela coûte assez cher et prend beaucoup de temps.


Un moyen beaucoup plus rentable de sortir de cette situation serait d'utiliser la configuration 1C appropriée, qui traitera les données de manière absolument gratuite et deviendra un assistant universel pour l'intégration de documents 1C et de feuilles de calcul Excel.


Dans cette section, nous vous aiderons à comprendre comment configurer le chargement de données à partir d'un fichier .xls dans l'une des configurations logicielles de 1C basées sur 1C:Enterprise 8


Chaque utilisateur de la version professionnelle de 1C : Enterprise 8 dispose déjà d'un tel traitement ! Sur le disque ITS !

Traitement des types« Loading DataFrom Spreadsheet Document.epf », situé dans la section : « Support technologique » > « Support méthodologique 1C:Enterprise 8 » > « Rapports et traitements universels » >

D:1CIts\EXE\EXTREPS\UNIREPS82\UploadFromTableDocument Download


A noter qu'à partir de février 2010, sur le disque ITS, ce traitement des configurations sur la plateforme 8.1 se situe dans une autre rubrique : "Support technologique" > "Support méthodologique 1C : Entreprise 8" > "Plateforme 1C : Entreprise 8.1" > " Rapports et traitement universels » > « Charger des données à partir d'un document de feuille de calcul ».

D:1CIts\EXE\EXTREPS\UNIREPS81\UploadFromTableDocument Download


Il existe des données initiales :

  • Liste de prix en Excel "PriceOnlineKhimSnab.xls" - Microsoft Office Excel 97-2003 (.xls)
  • Configuration type Comptabilité d'entreprise Edition 2.0, version 2.0.12.2, plate-forme 8.2 (8.2.10.77)
  • Il faut charger en 1C depuis Excel les noms des biens et les prix


À partir de la liste de prix, vous devez télécharger le livre de référence de la nomenclature dans 1C : Comptabilité 8.

Nous commençons le programme 1C. Pour démarrer le traitement, sélectionnez l'élément de menu "Fichier"> "Ouvrir".

Dans la fenêtre qui s'ouvre, recherchez le fichier de traitement

Il se trouve sur le disque ITS dans le répertoire \1CIts\EXE\EXTREPS\UNIREPS82\UploadFromTableDocument

Si vous avez précédemment copié le fichier de traitement sur votre ordinateur, vous pouvez le sélectionner.


Une fenêtre s'ouvrira


Veuillez noter que le chargement des données s'effectuera en deux étapes : Étape 1 - chargement des noms et définition des valeurs des détails des nouveaux éléments des répertoires nécessaires pour commencer à travailler (unité de mesure, taux de TVA, produit/service attribut). Étape 2 - chargement des prix.

Chargement des titres

Paramétrer le "Mode de téléchargement" - Chargement dans le répertoire "Type de répertoire" - Nomenclature

Dans l'onglet "Tableur"

Nous appuyons sur le bouton ex1_b01.jpg "Ouvrir le fichier", dans la fenêtre de sélection qui apparaît, nous trouvons le répertoire dans lequel nous avons la liste de prix dans Excel à partir de laquelle nous prévoyons de télécharger des données vers 1C.


Le fichier peut ne pas s'afficher initialement. Définissez le type de fichier sur " feuille de calcul Excel(*.xls)"


Choisissez notre fichier



Les détails de la fiche de nomenclature s'affichent.

Réglage des paramètres de téléchargement des titres

Nous souhaitons attirer votre attention sur l'aspect de la reconnaissance des unités structurelles des référentiels de produits dans le programme 1C: Accounting version 8, car l'un des points clés de l'identification de ces éléments est le nom. Si initialement les positions base d'informations n'étaient pas pourvus, vous devrez garder une trace des postes en double et, le cas échéant, les supprimer.


Les noms en double sont difficiles à éviter, notamment pour les salariés qui utiliseront ce type de téléchargement non pas pour une saisie ponctuelle de données dans la liste, mais pour le téléchargement systématique d'informations en mode automatique.


La question est compliquée par le fait que l'employé doit faire face à diverses abréviations et autres abréviations, à la double orthographe du nom et à l'utilisation de divers signes de ponctuation.


Avec une utilisation répétée et un nombre important d'informations téléchargées, nous vous recommandons d'utiliser un autre Logiciel de la série 1C:Enterprise 8, par exemple, 1C:Trade Management 8, 1C:Small Business Management 8, ou 1C:Complex Automation 8, qui ont le paramètre "Article", qui assure la fiabilité de la reconnaissance des fichiers chargés en stock répertorie les répertoires de données et exclut la possibilité de duplication des noms.


Ligne " Unité de base mesures" - dans la colonne "Mode de chargement", sélectionnez "Installer", dans la colonne "Valeur par défaut", sélectionnez l'unité de mesure (dans notre cas, pcs.)


La ligne "Taux de TVA" - dans notre cas, nous fixons la TVA à 18% pour tous les articles téléchargés, pour cela, dans la colonne "Mode de téléchargement", sélectionnez "Définir", dans la colonne "Valeur par défaut", sélectionnez "18%" .


Si les marchandises sont livrées avec une TVA différente, qui est indiquée dans une colonne distincte de la liste de prix téléchargeable, alors dans la colonne "Mode de téléchargement", définissez "Recherche" et le numéro de la colonne de liste de prix correspondante dans "Spreadsheet Document Column No. "

Ligne "Service" - dans la colonne "Mode de téléchargement", sélectionnez "Installer", dans la colonne "Valeur par défaut", sélectionnez "Non" (dans notre cas, toutes les positions sont des marchandises).


Nous avons demandé valeurs minimales de nouveaux éléments du référentiel d'inventaire qui vous permettront de commencer à travailler. Pour clôturer le mois, allouer les coûts, établir la comptabilité et déclaration d'impôt il sera nécessaire de définir les valeurs "Groupe de nomenclature" et "Article de coût", pour les marchandises importées, définissez le "Pays d'origine" et le "Numéro GTE", mais cela peut être fait ultérieurement en utilisant le traitement de groupe.


Si vous êtes prêt à définir les valeurs de ces détails maintenant, spécifiez-les. Cliquez sur "Télécharger" dans le coin inférieur droit, cliquez sur "Oui" à la question



Nous vérifions la présence de nouveaux éléments dans le groupe correspondant du répertoire de la liste des stocks

Ouvrez la fiche produit, vérifiez l'exactitude du chargement des détails


Si tout est correct, vous pouvez passer à la deuxième étape - charger les prix de la liste de prix dans Excel.


Si vous prévoyez d'utiliser cette procédure de téléchargement de données à l'avenir avec les mêmes paramètres de téléchargement, nous vous recommandons de conserver les paramètres actuels. Pour ce faire, appuyez sur le bouton ex1_b03.jpg "Enregistrer les paramètres" et nommez clairement le paramètre actuel, par exemple, "Charger les noms de produits à partir de la liste de prix Excel".


La prochaine fois, vous pourrez charger les paramètres enregistrés en cliquant sur le bouton ex1_b03.jpg "Restaurer les paramètres" et en sélectionnant celui dont vous avez besoin dans la liste.

Chargement des prix

Dans la "Comptabilité de l'entreprise" Rev.2.0, la fixation des prix se fait à l'aide du document "Fixation des prix des articles".

Définissez "Mode de chargement" - "Chargement dans la partie tabulaire".

Dans le champ "Lien", sélectionnez "Définir les prix des articles".


Ici, vous pouvez sélectionner un document existant dans lequel nous voulons ajouter de nouveaux éléments, ou en créer un Nouveau (recommandé), dans le document, nous indiquons quel «Type de prix» nous allons télécharger (dans notre exemple, «Retail»).


Cliquez sur "OK" et enregistrez pour l'instant document vierge. Sélectionnez maintenant ce nouveau document enregistré dans le journal dans la ligne "Lien". Dans le champ " partie tabulaire"Choisir "Produits"

Vous devez maintenant vous rendre dans l'onglet "Tableur"

Sélectionnez à nouveau notre liste de prix dans Excel à partir de laquelle nous avons chargé les noms, et maintenant nous allons charger les prix (voir point 5).