Maison / Travailler sur Internet / 1c 8 3 répertoires de téléchargement depuis Excel. Est-il possible de télécharger des données d'Excel vers l'ouvrage de référence « Nomenclature » ? Via l'application Excel

1c 8 3 répertoires de téléchargement depuis Excel. Est-il possible de télécharger des données d'Excel vers l'ouvrage de référence « Nomenclature » ? Via l'application Excel

Le spécialiste répond :

Il convient d'indiquer immédiatement qu'initialement dans 1s, le chargement des données à partir d'Excel n'est pas fourni, pour cela il existe un chargeur externe 1s 8.3, ce qui signifie que l'on peut déjà répondre à votre question - oui, c'est possible.

Pour que le téléchargement d'Excel vers 1s 8.3 se fasse sans déformer les données, vous devez d'abord préparer le tableau directement dans Excel. La liste chargée dans v1c doit être correctement structurée, c'est-à-dire il n'est pas permis d'avoir plusieurs types de données dans une colonne ou une cellule (quantité, numéro, nom, etc.).

Si le tableau est extrêmement accessible, alors en 1s le téléchargement depuis Excel se déroulera sans aucun problème. Ensuite, vous devez effectuer le traitement 1 pour charger les données depuis Excel. Pour terminer le traitement, allez dans le menu Fichier, spécifiez Loading Data From Spreadsheet Document.epf. Dans la fenêtre contextuelle de la ligne Load Mode, il est indiqué Loading to Directory. La ligne ci-dessous indique le type d'annuaire - Nomenclature. Ensuite, nous ouvrons le fichier et recherchons la feuille Excel (*.xls) dans la liste, sélectionnons le fichier qui contient les informations que nous devons télécharger. Passons ensuite aux paramètres, dans la ligne La première ligne des données du tableur indique le chiffre 2, puisque l'en-tête de notre tableau est dans la ligne du haut.

Ensuite, nous numérotons les colonnes, en indiquant la numérotation manuelle des colonnes. Nous décochons toutes les cases, pour cela il y a un certain bouton sur les barres d'outils. Les champs Nom et Nom complet marqués de drapeaux, ne touchez pas au mode, laissez-le rester Recherche, définissez la numérotation des colonnes correspondant au tableau Excel.

Il ne reste plus qu'à préciser l'unité de mesure et le taux de TVA, si vous ne le saisissez pas tout de suite, vous devrez ensuite le saisir manuellement un article à la fois. Case cochée Taux de TVA Unité de base mesures, mode – Valeur par défaut réglable et directement 18 % en ligne. La préparation est terminée. Spécifiez le document de feuille de calcul et cliquez sur Contrôle de remplissage. Un panneau indiquant qu’il n’y a aucune erreur doit apparaître.

Vous pouvez maintenant télécharger en toute sécurité. Le chargement de la nomenclature d'Excel dans le programme 1s est terminé

16.06.2010

Comme dans 1C : Comptabilité 8 rév. 2.0, téléchargez le répertoire de la liste des stocks à partir d'un fichier Excel

Accédez au 1C : Fresh cloud gratuitement pendant 30 jours !

Assez souvent, des situations surviennent dans la pratique lorsqu'il est nécessaire de charger des données dans le programme 1C à partir d'une feuille de calcul Excel, par exemple, pour charger le livre de référence des articles à partir de la liste de prix ou la facture à partir de la facture du fournisseur vers en format électronique envoyé par e-mail.

La nécessité d'un échange automatique est particulièrement pertinente lorsque le nombre d'éléments à saisir est de dizaines, centaines voire milliers, et la saisie manuelle d'un tel volume de données est un travail plutôt laborieux. Certains n'ont besoin de télécharger les données qu'une seule fois lorsqu'ils commencent à travailler avec le programme, d'autres doivent saisir de grandes quantités de données à tout moment en raison de la technologie de leur travail.

Naturellement, nous aimerions éviter ces efforts inutiles et ce temps précieux à l’ère de la gestion électronique des documents.

Dans de tels cas, de nombreuses personnes commandent le traitement approprié à leurs propres programmeurs à temps plein, franchisés ou développeurs tiers, mais cela représente des coûts et du temps supplémentaires.

Que se passe-t-il si, pour diverses raisons, cela n'est pas possible ?

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

Traitement des types« Chargement de 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

Attention, à partir de février 2010 sur le disque ITS ce traitement pour les configurations sur la plateforme 8.1, soyez dans une autre rubrique : « Support technologique » > « Support méthodologique 1C : Entreprise 8 » > « Plateforme 1C : Entreprise 8.1 » > « Rapports et traitements universels » > « Chargement de données à partir d'un tableur ».
D:1CIts\EXE\EXTREPS\UNIREPS81\UploadFromTableDocument

Le traitement de la société 1C elle-même est universel et vous permet de télécharger des données vers n'importe quelle configuration sur la plate-forme 1C : Enterprise 8, vers n'importe quel répertoire, document et registre d'informations à partir de *.xls (Excel), *.mxl, *.txt, * .dbf.

Les possibilités de traitement sont très larges et, dans le cadre d'un seul article, couvrent tous options possibles l'utilisation n'est pas possible. Considérez uniquement les exemples les plus fréquents et les plus populaires.

Exemple 1. Chargement du référentiel de nomenclature dans 1C : Comptabilité 8 éd. 2.0 de la grille de prix versExceller.
Exemple 2. Chargement du référentiel de nomenclature dans 1C : Trade Management 8 à partir de la grille de prix dans Excel.
Exemple 3. Téléchargement d'un répertoire personnes en 1C : Gestion des salaires et du personnel 8 à partir d'Excel. (bientôt)
Exemple 4. Chargement d'une facture en 1C : Trade Management 8 à partir d'un document Excel.


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

Depuis la Tarife, vous devez télécharger le référentiel de nomenclature en 1C : Comptabilité 8.


Achetez la version minimale d'ITS pendant 1 mois pour 4818 roubles.

1. Nous lançons le programme 1C

2. Pour démarrer le traitement, sélectionnez l'élément de menu "Fichier" > "Ouvrir".

3. Dans la fenêtre qui s'ouvre, recherchez le fichier de traitement qui 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 :

Définissez le "Mode de téléchargement" - Téléchargez dans le répertoire

"Vue répertoire" - Nomenclature

5. Dans l'onglet "Tableur", cliquez sur le bouton "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 les données vers 1C.

Le fichier peut ne pas être affiché initialement. Définissez le type de fichier sur « Feuille Excel (*.xls) »

Choisissez notre fichier

Les détails de la fiche de nomenclature sont affichés.

8. Configurer les paramètres de chargement des titres

Pour plus de commodité, définissez "Numérotation manuelle des colonnes"

A ce stade, seul le « Nom » nous intéresse, on décoche donc les cases qui ne nous intéressent pas encore

"La première ligne de données d'un tableur" - nous regardons notre liste de prix, supprimons l'en-tête, les données à charger commencent à partir de la neuvième ligne - nous mettons "9"

"Ne pas créer de nouveaux éléments" - nous NE cochons PAS la case, l'option est nécessaire si nous envisageons de modifier les éléments existants

Les lignes "Nom" et "Nom complet" - définissez le mode de chargement sur "Recherche", "N° de colonnes du tableur" - dans notre liste de prix, le nom dans la troisième colonne - mettez "3"

Dans la ligne "Nom", cochez la case dans la colonne "Champ de recherche" (deuxième colonne) - le programme vérifiera la présence d'un élément portant ce nom, et s'il existe déjà, alors nouvel élément avec ce nom ne sera pas créé.

Veuillez noter que dans le programme 1C : Comptabilité 8, les éléments des répertoires sont identifiés par leur nom. En cas de chargement dans une base de données qui n'est plus vide, un contrôle visuel des positions saisies est nécessaire afin d'exclure la rentrée et la duplication d'éléments.

Cet inconvénient est exacerbé s'il est prévu non seulement un téléchargement initial unique des répertoires, mais l'utilisation d'un tel chargement automatique des données à l'avenir. Depuis l'orthographe différente des noms, l'utilisation d'abréviations, de signes de ponctuation, etc. entraînera l'apparition d'éléments en double.

En cas d'utilisation fréquente et de grandes quantités de données à télécharger, nous vous recommandons d'utiliser d'autres produits logiciels 1C de la ligne 1C : Enterprise 8 : « 1C : Trade Management 8 », « 1C : Small Business Management 8 », « 1C : Integrated Automation 8 », qui utilisent l'attribut « Article », qui permet d'augmenter à plusieurs reprises la fiabilité d'identifier l'élément chargé et d'éliminer l'apparition d'entrées de répertoire en double.

La ligne "Parent" - dans la colonne "Mode de téléchargement", sélectionnez "Installer", dans la colonne "Valeur par défaut" sélectionnez le dossier (groupe de nomenclature) dans lequel nous chargerons les données de la liste de prix (dans notre cas, " Produits chimiques ménagers ").

La ligne "Unité de mesure de base" - dans la colonne "Mode de chargement", sélectionnez "Définir", dans la colonne "Valeur par défaut", sélectionnez l'unité de mesure (dans notre cas, les unités)

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 la liste de prix correspondante dans "Colonne n° du document de la feuille de calcul". "

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 boursier qui vous permettront de commencer à travailler.

Pour clôturer le mois, répartir les coûts, établir la comptabilité et déclaration fiscale il faudra paramétrer les valeurs « Groupe de nomenclature » et « Article de coût », pour les marchandises importées, paramétrer le « Pays d'origine » et le « Numéro de déclaration en douane », mais cela pourra être fait ultérieurement grâce au traitement de groupe.

Si vous êtes prêt à définir les valeurs de ces détails maintenant, précisez-le.

Cliquez sur "Télécharger" dans le coin inférieur droit, cliquez sur "Oui" à la question

8. Nous vérifions la présence de nouveaux éléments dans le groupe correspondant du livre de référence de la nomenclature.

9. 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 à l'avenir vous envisagez d'utiliser cette procédure pour télécharger des données avec les mêmes paramètres d'options de téléchargement, nous vous recommandons d'enregistrer les paramètres actuels. Pour ce faire, cliquez sur le bouton « Enregistrer les paramètres » et nommez clairement le paramètre actuel, par exemple « Chargement des noms de produits à partir de la liste de prix ». feuille de calcul Excel».

Dans la « Comptabilité de l'entreprise » Rév. 2.0, la fixation des prix se fait à l'aide du document « Fixation des prix des articles ».

11. Définissez "Mode de téléchargement" - "Télécharger vers partie tabulaire».

Le journal des documents « Fixation des prix des articles » s'ouvre.

Ici, vous pouvez sélectionner un document existant dans lequel nous souhaitons 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, « Détail »).

Cliquez sur "OK" et enregistrez le document vide pour le moment.

Sélectionnez maintenant ce nouveau document enregistré dans le journal dans la ligne "Lien".

Dans le champ "Partie tabulaire", sélectionnez "Produits"

13. Veuillez noter que vous devez maintenant accéder à l'onglet « Feuille de calcul » et sélectionner à nouveau notre liste de prix dans Excel à partir de laquelle nous avons téléchargé les noms, et maintenant nous allons télécharger les prix (voir paragraphe 5).

14. Configurer les paramètres de charge

Encore une fois, définissez la "Première ligne des données du document de feuille de calcul" - comme pour le chargement des noms, définissez "9".

Dans la ligne "Nomenclature", définissez le mode de chargement "Recherche", "N° de colonnes du tableur" - dans notre exemple, nous définissons "3"

Dans la ligne « Prix », définissez le mode de chargement sur « Recherche », « Numéro de colonne du document de feuille de calcul » - indiquez le numéro de la colonne avec les prix que nous voulons charger - dans notre cas, « 4 ».

Dans la ligne "Devise", réglez le mode de téléchargement sur "Installer", sélectionnez la devise (dans l'exemple "roubles")

Si dans votre liste de prix les prix des marchandises sont indiqués dans des devises différentes, ce qui est indiqué 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 la liste de prix correspondante dans "N° de colonne du document de la feuille de calcul".

Cliquez sur "Télécharger" et répondez "Oui"

15. Ouvrez le document "Fixation des prix des articles", dans lequel les données ont été chargées (en cliquant sur le bouton avec l'image d'une loupe dans la ligne "Lien")

16. Nous vérifions le document, si tout est en ordre, cliquez sur "OK".

Les prix doivent être fixés.

17. Ouvrez le répertoire des stocks, vérifiez l'onglet "Prix" dans la fiche des articles chargés.

Si tout est en ordre, vous pouvez alors commencer à charger les prix restants (vente en gros, crédit, etc.). La procédure est similaire.

Si à l'avenir vous envisagez d'utiliser cette procédure pour télécharger des données avec les mêmes paramètres d'options de téléchargement, nous vous recommandons d'enregistrer les paramètres actuels. Pour ce faire, cliquez sur le bouton « Enregistrer les paramètres » et nommez clairement le paramètre actuel, par exemple « Charger les prix de détail à partir de la liste de prix Excel ».

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

Nous vous souhaitons du succès !

À suivre...

Shavaleev R.F.

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 publics principaux d’utilisateurs, à savoir :

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

Les utilisateurs de 1C souhaitent 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 destinées aux utilisateurs et programmeurs de 1C.

Chargement 1C 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 société, 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 alors commander des services 1c chez nous, car absolument n'importe lequel de nos programmeurs 1c vous écoutera toujours, sélectionnera une solution spécialement conçue juste pour vous , et va certainement vous aider.

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

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

  1. Chaque utilisateur dispose de fichiers Excel différents, dont il souhaite transférer les données vers 1C. Bien entendu, 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 Par 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

Jetons maintenant un coup d'oeil au général comment les données sont chargées et déchargées d'Excel dans 1C, et à quoi tout cela ressemblera-t-il dans la solution finale ?. Un exemple de développement individuel réel, ainsi que le fichier Excel original 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 cela se produit à peu près de la même manière, seulement ici, la complexité du traitement d'écriture dépend du type de données qui doivent être déchargées de l'objet. Par exemple, nous avons l'ouvrage de référence "Nomenclature" et nous souhaitons 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 contenu complet. nom, etc

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

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

Chargement et déchargement de données d'Excel vers 1C à travers les yeux d'un programmeur 1C ordinaire

Un peu plus haut on a donné beaucoup informations utiles pour les utilisateurs de 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 commencerons 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é :

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

On peut connaître le nombre de feuilles dans un classeur Excel en utilisant le champ « Nombre » :

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 examiné 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 plus en détail la fonction qui lit les cellules individuelles d'un fichier Excel.

Nous pensons qu'aucune autre précision sur code donné il n'est pas nécessaire de le préciser, 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 séquentiellement ? C'est là que le code ci-dessous s'avère 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 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 :

Dans 1C 8.3, il est possible de charger en masse une liste à partir d'un tableur, par exemple à partir d'un fichier Excel.

Pour télécharger, nous utilisons traitement externe Chargement de DataFromSpreadsheetDocument.epf Pour formulaires gérés(8.2 et 8.3), téléchargeables . Il est générique et doit convenir à toute configuration écrite pour une application gérée.

  • Si vous êtes programmeur et souhaitez développer "votre" téléchargement depuis Excel, Instructions détaillées Par ;
  • Un exemple de chargement d'une liste de prix dans 1C Trade Management peut être trouvé à l'adresse.

Pour lancer un traitement externe, il faut aller dans le menu "Fichier", puis "Ouvrir" et sélectionner ce traitement dans le répertoire dans lequel il a été enregistré :

Traitement Chargement des données à partir d'un tableur 1C 8.3 (formulaires gérés)

Une fois le traitement ouvert dans 1C, vous pouvez commencer à travailler avec. Tout d’abord, nous devons décider où et ce que nous allons télécharger :

Je veux donner un exemple sur l'ouvrage de référence "". J'ai créé un fichier de données au format xls.

Le traitement peut également charger des fichiers au format suivant :

  • tout autre format à partir duquel les données peuvent être copiées.

Voici à quoi ressemble le fichier Excel avec les données initiales, que nous téléchargerons dans l'ouvrage de référence « Nomenclature » :

Obtenez 267 leçons vidéo 1C gratuitement :

Je n'ai pas commencé à prescrire tous les champs du répertoire, puisque cela suffit pour comprendre le principe du chargement. De plus, ces données sont suffisantes pour commencer à travailler avec ces postes.

Ces articles ne sont pas encore disponibles base d'informations 1C, et nous allons maintenant les télécharger là-bas.

Cliquez sur l'icône «Ouvrir» (marquée comme «Sélection de source» sur la figure) et sélectionnez le fichier de données. Vous pouvez utiliser une simple copie des informations. Mon fichier exemple peut être téléchargé. Les données seront chargées automatiquement dans le traitement. Vérifions maintenant si nous avons rempli correctement nos données. Pour cela, cliquez sur le bouton "Remplir le contrôle".

Comme vous pouvez le constater, nous avons des erreurs ! Nous éliminerons. Allez dans l'onglet "Paramètres":

Avant de corriger les erreurs, je veux faire attention à un détail important. Au départ, le programme ne sait pas dans quel champ rechercher l'élément de répertoire au cas où il serait déjà là. Elle doit donc le souligner. Je préfère effectuer une recherche par code car il est généralement unique. Dans la colonne "Champ de recherche" dans la ligne "Code", cochez. Désormais, si un enregistrement avec un tel code est trouvé, il sera remplacé, sinon il sera créé.

Important! Si vous ne spécifiez pas de champ de recherche, des éléments en double peuvent apparaître. Surtout après le deuxième téléchargement d'un fichier similaire !

Voyons maintenant pourquoi il jure sur le champ "Unité". Le fait est que les unités de mesure dans 1C 8.3 sont stockées dans un répertoire séparé et que le traitement par défaut recherche cette unité par son nom. Mais en fait, le mot unité est écrit dans le champ « Nom complet ».

Malheureusement, le traitement ne peut effectuer une recherche que par « Nom » et « Code » (pour le programmeur, les possibilités sont plus larges). Si vous faites attention aux images ci-dessus, vous verrez que dans la colonne "Unité" j'ai un code. Et lors du traitement, vous devez préciser que la recherche doit être effectuée par code. On double-clique sur la colonne "Condition condition" en regard de "Unité" et on la change en "Code".

Voyons maintenant ce qu'ils nous disent à propos du "Service" dans la liste des erreurs. Encore une remarque importante. Les colonnes du fichier doivent être placées strictement dans le même ordre que les lignes des champs de recherche. Et nous avons "" tout en bas, et dans le fichier après la colonne "Commentaire".

Afin de faire remonter la ligne "Type d'article", il y a des flèches bleues en haut du formulaire. A l'aide de la flèche "Haut", nous relevons la ligne souhaitée et la plaçons sous le "Commentaire".

Cliquez sur « Charger les données », et cette fois tout se passe sans erreur :

Tutoriel vidéo sur le chargement de marchandises dans 1C à partir de fichiers Excel :

Cette méthode est simple. Son essence est que l'objet Feuille de calculDocument a des méthodes:

  • brûler (< ИмяФайла>, < ТипФайлаТаблицы >) pour télécharger des données dans un fichier ;
  • Lire (< ИмяФайла>, < СпособЧтенияЗначений >) pour charger des données à partir 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. Il faut se souvenir de ça
lors de la planification de l'interaction client-serveur.

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

TabDoc . Écrire (FilePath, SpreadsheetDocumentFileType.XLSX);

Ici TabDoc- formé feuille de calcul, Le chemin d'accès au fichier- le nom du fichier à télécharger, Feuille de calculDocumentFileType.XLSX-format fichier créé. Les formats Excel suivants sont pris en charge :

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

TabDoc = Nouveau SpreadsheetDocument ;
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 :

  • Signification;
  • Texte.

Échange via OLE

L'échange via la technologie d'automatisation OLE est peut-être le moyen le plus courant de travailler avec des programmes Fichiers Excel. Elle vous permet d'utiliser toutes les fonctionnalités fournies par Excel, mais est plus lente que les autres méthodes. Exchange via OLE nécessite l'installation de MS Excel :

  • Sur l'ordinateur de l'utilisateur final, si l'échange s'effectue côté client ;
  • Sur l'ordinateur serveur 1C:Enterprise, si l'échange s'effectue côté serveur.

Exemple déchargement:

// Crée un objet COM
Excel = Nouveau COMObject("Excel.Application");
// Désactive les avertissements et les questions
Exceller . displayalerts = faux ;
// Créer un nouveau livre
Livre = Exceller. 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 ;

// Enregistrez le fichier
Livre . Enregistrer sous (nom de fichier);


Exceller . Quitter();
Excel = 0 ;

Exemples en lisant:

// -- OPTION 1 --

// Crée un objet COM
Excel = Nouveau COMObject("Excel.Application");
// Livre ouvert
Livre = Exceller. cahiers d'exercices. Ouvrir( 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 = ObtenirCOMObject( 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 la cellule
CellValue = Feuille. Cellules (RowNumber, ColumnNumber). valeur;

// 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 ). Rangée;
Pour RowNumber = 1 par boucle de nombre de lignes
CellValue = Feuille. Cellules (RowNumber, ColumnNumber). valeur;
Fin du cycle ;

// -- OPTION 2 --
Numéro de ligne = 0 ;
Tandis que la vraie boucle
Numéro de ligne = Numéro de ligne + 1 ;
CellValue = Feuille. Cellules (RowNumber, ColumnNumber). valeur;
Si NON ValueFilled (CellValue) Alors
avorter;
Fin si;
Fin du cycle ;

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 :

TotalColumns = Feuille. Cellules(1 , 1 ). Cellules spéciales (11 ). Colonne;
TotalLignes = Feuille. Cellules(1 , 1 ). Cellules spéciales (11 ). Rangée;

Région = Feuille. Range(Sheet. Cells(1 , 1 ), List. Cells(TotalRows, TotalColumns));
Données = Région. valeur. 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 Code Un commentaire
Travailler avec l'application
Définition de la visibilité de la fenêtre de l'application Exceller . visible= faux ;
Réglage du mode d'affichage des avertissements (affichage/pas d'affichage) Exceller . Afficher les alertes= faux ;
Fermeture de l'application Exceller . Quitter();
Travailler avec un livre
Créer un nouveau livre Livre = Exceller. cahiers d'exercices. Ajouter();
Ouverture d'un classeur existant Livre = Exceller. cahiers d'exercices. Ouvrir(NomFichier);
Enregistrer un livre Livre . Enregistrer sous (NomFichier);
clôture du livre Livre . Fermer(0);
Travailler avec une feuille
Définition de la feuille actuelle Feuille = Livre. Feuilles de travail (numéro de feuille);
Paramètre de nom Feuille . Nom = Nom;
Paramétrage de la protection Feuille . Protéger();
Suppression des protections Feuille . Annuler la protection();
Définition de l'orientation de la page Feuille . Mise en page. Orientation = 2; 1 - portrait, 2 - paysage
Définir la bordure gauche Feuille . Mise en page. Marge Gauche = Excel. CentimètresVersPoints(Centimètres);
Fixer la limite supérieure Feuille . Mise en page. Marge supérieure = Excel. CentimètresVersPoints(Centimètres);
Définir la bonne bordure Feuille . Mise en page. Marge droite = Excel. CentimètresVersPoints(Centimètres);
Fixer la limite inférieure Feuille . Mise en page. Marge inférieure = Excel. CentimètresVersPoints(Centimètres);
Travailler avec des lignes, des colonnes, des cellules
Définition de la largeur des colonnes Feuille . Colonnes(ColumnNumber). Largeur de colonne = Largeur;
Supprimer une ligne Feuille . Lignes (RowNumber). Supprimer();
Supprimer une colonne Feuille . Colonnes(ColumnNumber). supprimer();
Supprimer une cellule Feuille . Cellules (RowNumber, ColumnNumber). Supprimer();
Définir 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 police;
Définir la taille de la police Feuille . Cellules (RowNumber, ColumnNumber). Police de caractère. Taille = Taille de police;
Paramètre de police 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

Afin de savoir quelle propriété doit être modifiée ou quelle méthode appeler, vous pouvez utiliser macro 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 Tableau sécurisé 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 qui peuvent être utilisées pour échanger entre des applications utilisant la technologie OLE.

// Créer COMSafeArray
ArrayCom = Nouveau COMSafeArray("VT_Variant", TotalColumns, TotalRows);
// Remplir COMSafeArray
Pour Str = 0 Total de lignes - 1 boucle
Pour Nombre = 0 Total de colonnes - 1 cycle
TableauCom . SetValue (Nombre, Str, Valeur);
Fin du cycle ;
Fin du cycle ;
// Attribuer une zone de feuille valeurs Excel de COMSafeArray
Feuille . Plage (Feuille. Cellules (1 , 1 ), Liste. Cellules (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, via lequel l'accès sera effectué. Le pilote ODBC utilisé est déterminé en spécifiant la chaîne de connexion au fichier. Habituellement, 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 les cellules, marquer les pages, définir les formules, etc.

Exemple déchargement:


Connexion = Nouveau COMObject("ADODB.Connection");


Composé . Chaîne de connexion="

|Source de données=" + Nom du fichier + " ;
;
Composé . ouvrir(); // Ouvrir la connexion

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

// Attribuer le texte de la commande pour créer un tableau
Équipe . texte de commande = "CRÉER UNE TABLE [Feuil1] (Colonne1 char (255), Colonne2 date, Colonne3 int, Colonne4 flottant)";
Équipe . exécuter(); // Exécution de la commande

// Attribution du texte de commande pour ajouter une ligne de tableau
Équipe . texte de commande = "INSÉRER DANS [Feuille1] (Colonne1, Colonne2, Colonne3, Colonne4) valeurs ('abvgdeo', '8/11/2017', '12345', '12345,6789')";
Command.Execute(); // Exécution de la commande

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

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

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

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

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

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

Tableau . 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 - adCurrency ;
  • 7 - date ajoutée ;
  • 11 - adBooléen ;
  • 202 - adVarWChar;
  • 203-adLongVarWChar.

Exemple en lisant:

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

// Définir la chaîne de connexion
Composé . Chaîne de connexion="
|Provider=Microsoft.ACE.OLEDB.12.0;
|Source de données=" + Nom du fichier + " ;
|Propriétés étendues=""Excel 12.0 XML;HDR=OUI"";";
Composé . ouvrir(); // Ouvrir la connexion

// Crée un objet COM pour recevoir une sélection
Sélection = Nouveau COMObject("ADODB.Recordset");
TexteDemande = "SELECT * FROM [Feuille1$]";

// Exécute la requête
Échantillon . Ouvrir(TexteRequête, Connexion);

// Contourne le résultat de la sélection
Sans échantillonner. Boucle EOF()
ColumnValue1 = Sélection. des champs. Article("Colonne1"). valeur ; // Référencement par nom de colonne
Valeur Colonne2 = sélection. des champs. Article(0 ). valeur; // Récupération par index de colonne
Échantillon . DéplacerSuivant();
Fin du cycle ;

Échantillon . fermer();
Échantillon = non défini ;
Composé . fermer();
Connexion = non dé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 objet ADO se compose des objets suivants :

  • connexion;
  • commande;
  • jeu d'enregistrements ;
  • enregistrer;
  • des champs;
  • Flux;
  • les erreurs;
  • paramètres;
  • propriétés.

Télécharger sans programmation

Pour sauvegarder 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, alors il est possible de les enregistrer dans Excel sans programmation.

Pour enregistrer un tableur (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 sauvegarder les données de 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 la feuille de calcul au format requis.