Contacts

Remplissage du traitement externe tabulaire 8.3 1. Création de traitement externe

1C Blog Goodwill

Nous apprendrons ici comment créer un traitement externe de remplir la partie tabulaire du document en 1C 8.3 (pour les formulaires contrôlés) à partir de zéro. L'exemple de traitement considéré peut être téléchargé par référence.

Prenez l'exemple le plus simple: dans la partie de table "Matériaux" du document "Exigence-facture", nous affectons égal à 100 dans toutes les lignes.

Préparation du traitement externe en 1C 8.3

Donc, créez un traitement externe. Gardez-le sur le disque.

Le traitement externe ou le rapport dans la base de données 1C doit être enregistré. Ceci est fait en utilisant une structure contenue dans la fonction d'exportation aux informations.

Par le bouton "Actions", accédez au modèle de l'objet, où nous créons une fonction:

Informations sur la fonction de fonction () destination d'exportation \u003d nouveau tableau; Missions. Audlux ("Document. Créationaninenoland"); Parametersregistration \u003d nouvelle structure; Paramètres la dérégation. Entrez ("apparence", "remplir"); Paramètreregistration. Tenir ("but", rendez-vous); Paramètreregistrement. Entrez ("Nom", "Remplissez un document"); Paramètreregistrement. Tenir ("Version", "1.0"); Paramersion Paramètres. Entrez ("Informations", "Traitement supplémentaire de la partie de la table de l'exigence"); Paramètres Dérogommune. Tenir ("sécurité", vérité); Équipes \u003d getabitomand (); Ajouter à la commande (commandes, "Document de remplissage", "Remplir le document", "baskets encombrées", mensonges,); Paramètres la dérégation. Tenir ("équipes", commandes); Remboursement de la dérégation des paramètres; Enfoncé

Parlons un peu de la signification des champs.

Vue - en fonction de l'objectif de traitement peut prendre des valeurs:

Sortie de rapport Formulaire imprimé Traitement supplémentaire des objets créatifs Rapport facultatif

Dans notre cas, pour traiter le remplissage de la partie de la table, nous avons besoin d'un type de traitement "options"

Objet - Dans ce domaine, les documents sont répertoriés pour lesquels ce traitement est destiné (dans lequel il apparaîtra après l'inscription base de l'information). Pour énumérer ces documents, nous créerons un tableau de "destination" et ajouterons le document "Configences".

Le nom est que le nom sera affiché dans la liste des traitements supplémentaires.

La version est la version de notre nouveau produit logiciel.

Informations - Cette clé de notre structure contient informations Complémentaires Sur notre traitement.

Mode sans échec - prend la valeur de la vérité / des mensonges. Nous allons utiliser un mode sécurisé.

Commandes - Cette clé de structure contient une liste de commandes fournies par notre traitement. Pour les équipes, nous créerons une fonction de la Concaincomecomand () et une procédure à ajouter ().

En savoir plus plus en détail sur les champs des valeurs de commande.

La présentation est la présentation de la commande de l'utilisateur, quel type de nom sera présenté dans l'interface.

L'identifiant est un identifiant de commande interne dans notre traitement

Utilisation - En fonction de l'utilisation de la commande, cela peut prendre des valeurs:

Maker à appeler - à partir du module de traitement, la procédure de serveur d'ouverture est appelée - utilisé pour ouvrir la forme de traitement de la méthode de défi - pour appeler la procédure client à partir du module de traitement de la procédure de cadre de sauvegarde de scénario en mode sans échec.

Dans notre cas, nous travaillons avec la forme d'un objet 1C 8.3, nous devons donc utiliser une chaleur pour appeler la commande de traitement externe.

Affichage - a une des deux valeurs: vérité / mensonges

Modificateur - modificateur de commande supplémentaire. La liste finale de notre traitement dans le module d'objet acquiert le formulaire suivant:

Informations sur la fonction de fonction () destination d'exportation \u003d nouveau tableau; Missions. Audlux ("Document. Créationaninenoland"); Parametersregistration \u003d nouvelle structure; Paramètres la dérégation. Entrez ("apparence", "remplir"); Paramètreregistration. Tenir ("but", rendez-vous); Paramètreregistrement. Entrez ("Nom", "Remplissez un document"); Paramètreregistrement. Tenir ("Version", "1.0"); Paramersion Paramètres. Entrez ("Informations", "Traitement supplémentaire de la partie de la table de l'exigence"); Paramètres Dérogommune. Tenir ("sécurité", vérité); Équipes \u003d getabitomand (); Ajouter à la commande (commandes, "Document de remplissage", "Remplir le document", "baskets encombrées", mensonges,); Paramètres la dérégation. Tenir ("équipes", commandes); Remboursement de la dérégation des paramètres; Fonction de fonction Fonction de fonction Fonction de collected () commandes \u003d nouvelles tables; Équipes. Coolclocks. Advide ("View", nouvelles descriptions ("string")); Commandes. Coolclocks. Audly ("Identifiant", nouvelles descriptions ("chaîne")); Équipes. Solonks. Ajouter ("Utiliser", nouvelles descriptions ("string")); Équipes. Coolclocks. Advide ("Affichage", de nouvelles descriptions ("boolevo")); Équipes. Solonks. Advement ("modificateur", nouvelles descriptions ("string")); Remboursement; Det de procédure Ajouter à Ajouter aux commandes (Tablekomand, Affichage, Identifiant, Utilisation, Type de définition \u003d Faux, Modifier \u003d "") NewCommand \u003d Tablekomand. Ajouter (); NewCommand. Représentation \u003d performance; NewCommand.Identifier \u003d identifiant; NewCommand. Utilisez \u003d utiliser; NewCommand. Binding associé \u003d affichage; NewCommand.MODIFIER \u003d modificateur; Extra-procédures créant une équipe pour remplir la partie tabulaire

Dans le champ Formulaire de traitement, cliquez sur l'objectif pour créer un formulaire:

Dans le formulaire, ajoutez la commande au comité d'exécution

Dans le corps de traitement, tournez la commande à la forme du formulaire via le propriétaire du propriétaire et modifiez la valeur de la quantité dans la partie de la table des matériaux:

Procédure de plainte pour remplir la Commission (identifiant, ObjetsNews) Exporter pour chaque courant de propriétaire. Rapport (association actuelle); Endyclycle; Extrocardiocards Enregistrement du traitement externe en 1C 8.3 et sa vérification

Maintenant, en mode Enterprise 1C Enregistrez notre traitement externe pour remplir la partie de tableau:

Dans la liste du traitement externe, cliquez sur le bouton Créer:

Dans la nouvelle forme de traitement externe qui s'ouvre, le traitement externe du fichier et installe ensuite un nouveau traitement:

Maintenant, dans le document "Exigence-Facture", nous pouvons observer le résultat de l'enregistrement de notre traitement dans la base d'informations. Et en appuyant sur le bouton "Fill Document", nous pouvons observer notre traitement de travail pour remplir la partie tabulaire.

Enregistrement de la table tournante partie 1C 8.3 formulaires contrôlés Pour la première fois, le blog Goodwill 1C est apparu.

Dans cet article, examinez le processus d'écriture du traitement externe le plus simple de la partie tabulaire de remplissage dans 1C 8. Pour les configurations en utilisant l'application habituelle. Par exemple, prenez une telle tâche: "Dans la configuration 1C: Comptabilité 2.0 Créer un pliage externe de la pièce de table Des produitsdocument Réalisation de biens et services, Données de remplissage à prendre de la partie tabulaire Des produits document Admission de biens et de services". De cette manière, nous devons remplir des produits de vente sur la base de la réception des marchandises, une telle tâche est souvent trouvée dans la pratique réelle du programmeur 1c.

2. Création de traitement externe

Aller à B. 1C 8. En mode Configurateur. Utilisation du menu Fichier -\u003e Nouveau ou pictogramme nouveau document créer un nouveau traitement externe.

Dans le champ Nom Nous indiquons: "reclocution le plus simple" et conserve le traitement externe sur disque dur Utilisation du menu Fichier -\u003e Enregistrer ou pictogramme Sauvegarder ou combinaison clé Ctrl + S..

Soulignant une branche Conditions requises Dans le traitement des métadonnées et appuyez sur le bouton Ajouter(Bouton avec Vert Plus) Créez un nouvel accessoire de traitement externe - Salaire du document, choisissez un type pour cela Documents Drovernik. Par TerenietetovaryAvshodshug, ces accessoires doivent sélectionner le document Admission de biens et de services, sur la base de laquelle la mise en œuvre sera remplie.

Pour sélectionner un document d'admission, nous aurons besoin d'un formulaire séparé. Soulignant une branche Formes et en utilisant le même bouton - Ajouter Créer un formulaire de traitement externe. La fenêtre du constructeur de formulaire s'ouvre, vous n'avez pas besoin de modifier la première page du concepteur. Vous cliquez simplement sur le bouton. Plus loin.

Sur la deuxième page du concepteur, nous devons choisir les accessoires Salaire du document(pour qu'il soit apparu sur formulaire créé) et cliquez sur le bouton Prêt.

Après cela, le formulaire créé s'ouvrira, nous avons besoin que l'utilisateur choisisse le document et la fermera. Donc quand vous appuyez sur le bouton Effectuer Le formulaire doit simplement fermer. Pour mettre en œuvre cela, sélectionnez le bouton EffectuerCliquez sur le bouton droit de la souris droit et choisissez l'élément. Propriétés. Dans les propriétés du bouton, dans la chaîne Acte Choisir une action - Fermer. Sur ce travail avec le formulaire est terminé, la fermeture.

3. Programmation

Nous allons procéder à la programmation du traitement de la partie tabulaire. Allons à Module d'objettraitement externe (au bas du bouton Panneau de traitement Actions -\u003e Module d'objet ouvert).

En cela, nous devons créer une procédure d'exportation. Initialiser.

Procédure Initialiser Exportation Extrudromes

noter que procédure Initialiser, ainsi que tous ses paramètres, sont obligatoires pour le traitement externe de la partie tabulaire de remplissageSi vous ne le créez pas ou que vous ne spécifiez pas tous les paramètres, votre traitement ne fonctionnera tout simplement pas.

Maintenant commençons à écrire code de logiciel. Tout d'abord, créez une variable pour la partie tabulaire du document. Réalisation de biens et servicesdont nous allons remplir.

Watchboard \u003d objet [nametagged];

Lors de l'exécution de la procédure dans le paramètre Un objet contiendra un objet du document que nous remplissons et dans le paramètre Nametablie Une chaîne avec le nom de la partie tabulaire que nous remplissons. Ainsi, cette ligne de code reçoit la partie tabulaire du document rempli par son nom.

Nous devons choisir l'utilisateur de sélectionner le document. Admission de biens et de services, Par conséquent, écrivez le code pour ouvrir le formulaire de sélection de document. Pour commencer, nous obtenons ce formulaire dans une variable à l'aide de la méthode de traitement externe. Optionnel (<Форма>, <Владелец>, <КлючУникальности>) . Nous ne remplissons que le premier paramètre de cette méthode, en passant une chaîne nommée notre formulaire.

Formation / accès \u003d options ("formulaire");

Ouvrez maintenant la forme résultante à l'aide de l'ouverture modale (jusqu'à ce que le formulaire soit ouvert toutes les autres fenêtres 1C ne soit pas disponible), car avec cette méthode d'ouverture de l'avenir Notre code dans la procédure Initialiser Il ne sera pas exécuté tant que l'utilisateur ferme le formulaire.

Formallustration de la plainte. Openmodalally ();

Une fois que l'utilisateur ferme le formulaire, nous devons vérifier si la demande est remplie. Salaire du document(Si le document de réception n'a pas été sélectionné). Si après vérification Salaire du document Il s'avère vide, puis le traitement ultérieur n'a pas de sens, et il devrait être interrompu.

Si vous n'êtes pas libellé (documentation), alors à signaler (); Remboursement; Terminé;

Pour vérifier l'achèvement des accessoires, la fonction contextuelle globale est utilisée ici. Le document est rempli (<Значение>) Il vérifie si la valeur est transmise à la valeur par défaut du même type. Procédure Signaler Affiche le texte spécifié dans la fenêtre de message 1C 8. Mot-clé Revenir Interrompt l'exécution de la procédure.

Nous commencerons à écrire une requête qui sélectionnera un tabulaire de données Des produits document Admission de biens et de services. Créer une nouvelle demande:

Demande \u003d nouvelle demande;

Demande. Paramètre d'installation ( "Documentation", Documentation);

Écrivez le texte de la demande, nous le ferons avec Requête design. Il n'est pas recommandé d'écrire le texte du texte de la requête manuellement, il n'est pas efficace et prend un tas de temps. Pour commencer, écrivez une chaîne:

Demande.text \u003d "";

Nous livrerons le curseur entre les caractères des citations, cliquez sur le bouton droit de la souris et sélectionnez l'élément. Demander designer .... Après cela, une proposition semblera créer une nouvelle demande, cliquez sur le bouton "OK". La fenêtre de concepteur s'ouvre, toutes les tables de base de données disponibles sont situées dans la partie gauche, nous avons besoin d'un document. Adaitetovarov Supervug. Nous le trouverons et révélerons à l'aide du symbole "+", sélectionnez la partie tabulaire Des produits et le tirer dans la deuxième partie de l'écran de concepteur, appelé les tables(Aussi, déplacez la table souhaitée à l'aide du bouton "\u003e").

Révéler maintenant la table "+" que nous avons choisi ( ADAITOVYOVAROVYOVServyvaryovas) et faites glisser les champs nécessaires à notre remplissage dans la troisième partie de l'écran de concepteur, appelé - Domaine. Vous ne choisirez pas tous les champs disponibles, nous nous limiterons à un tel ensemble: Nomenclature, nombre, prix, montant, Stavans, Summands.

Étant donné que nous avons besoin de données pour un seul document d'admission (que nous avons choisi avant de remplir), puis dans l'onglet "Conditions", nous mettrons la condition du lien de document à l'aide du paramètre transféré par nous.

Création d'un texte de requête dans le concepteur de ceci est terminé, cliquez sur le bouton "OK". En conséquence, nous avons révélé le texte de requête suivant:

Demande.text \u003d "Select | de | Où;

La demande créée reste uniquement à exécuter et à décharger à la variable:

Résultat \u003d requête. Remplir (). Décharger ();

Dans une variable Résultat Table des valeurs stockées avec des rangées de pièce tabulaire Des produits Nous avons choisi des documents Admission de biens et de services. Maintenant, vous pouvez commencer à remplir la partie tabulaire Des produits Notre mise en œuvre. Mais avant de remplir les données, il devrait être nettoyé, dans le cas, il y a déjà des lignes.

Watchchast.inter ();

Avec du cycle Pour chaque Marchez la table des valeurs avec les résultats de la requête.

Pour chaque élément résultant du cycle de résultat de l'endyclycle;

Dans ce cycle, créez et remplissez la chaîne de la partie du tableau du document. Réalisation de biens et services. Créer nouvelle chaîne Nous pouvons utiliser une variable Parties de circuitÀ travers lequel vous pouvez faire des actions avec elle.

Newstrocatch \u003d Chaîne de montre. Ajouter ();

Remplissez l'onglet créé de l'onglet. Parties de données de la chaîne de résultat de la requête utilisant la procédure Contexte global - Complétant (<Приемник>, <Источник>) .

Remplir (Newstock, résultats ormulolaires);

Mais les données complétées par nous ne suffisent pas, de sorte que le document soit fait, vous devez remplir plus nomenclature comptable comptable. Pour ce faire, nous utilisons l'exportation

procédure Remplissage de remplissage Du module d'objet de document Réalisation de biens et services. Appelez-le à l'aide du paramètre Un objet(Ça devrait être noté,

que pouvons-nous appeler seulement exportation Procédures à partir du module de l'objet de document).

Objet. Configuration requise (Newstrokatch, données de nom, vérité);

Sur cette programmation de la pièce de table pour 1C 8. Complété. Le traitement peut être utilisé. Texte intégral de la procédure Initialiser, Ressemble à ça:

Procédure Initialiser (Objet, Namethe Nom \u003d non défini, tablepole \u003d incertain) Exportation Watchboard \u003d objet [nametagged]; Formation / accès \u003d options ("formulaire"); Formallustration de la plainte. Openmodalally (); S'il n'est pas libellé (DocumentPluse), alors de signaler ( "Non sélectionné le reçu de document"); Remboursement; Terminé; Demande \u003d nouvelle demande; Demande. Paramètre d'installation ( "Documentation", Documentation); Demande.text \u003d "Sélectionnez | Adamitiovarovarovyovyovariovari.nanklatura, | Adamitiovarovarovyovyovyovari. Nombre, | Adamitetovarovyovyovyovarsa.stavankands, | Adamitetovarovyovyovyovarsi.summa, | Adamitetovarovyovyovyovaryovas.summands, | Adamitiovarovarovyovyovyovari.zena | Est | Document. Pas de dumbstif tovarovyvug.thovarsa comme admiratovarovasculateurs. | Où | Promontovarovarovyovyovyovars.Link \u003d & documentaires "; Résultat \u003d requête. Remplir (). Décharger (); Watchchast.inter (); Pour chaque élément résultant du résultat, le cycle d'une liste de châssis \u003d CLIQUE. Audité (); Remplir (Newstock, résultats ormulolaires); Objet. Configuration requise (Newstrokatch, données de nom, vérité); Endyclycle; Extrudromes

Dans la partie suivante, il sera décrit comment déboguer le traitement du remplissage de la partie tabulaire et comment le connecter au document.

4. Débogage

Très souvent de déboguer le code que vous écrivez. Afin de déboguer le traitement de remplir la partie tabulaire dans 1C 8. Créer des accessoires Objet de liaison Taper Document Roll.realizationerovyovSerg.

Cela nous est nécessaire pour choisir un document de mise en œuvre lors du débogage, que nous remplirons. Ensuite, vous devez créer une forme de débogage et accueillir la condition requise là-bas. Objet de liaisonLe processus de création du formulaire de débogage ne diffère pas de la création de la forme de sélection du document de la réception, de sorte que nous ne nous arrêterons pas en détail dessus.

Une fois le formulaire créé, nous tournons vers son module. Nous trouverons une procédure créée automatiquement Bouton avancé. Cette procédure gère lorsque le bouton est enfoncé Effectuer. Appelez-en la procédure Initialiserqui est dans le module de traitement, dans les paramètres donnera à l'objet Document Réalisation de biens et services(que nous obtenons de la condition requise Objet de liaison) et la chaîne avec la partie de la table de titre (dans notre cas Des produits).

Procédure Bouton de remplissage (bouton) Initialiser (objet réfléchissant. Objet préparatoire (), "marchandises"); Extrudromes

Maintenant, il est nécessaire de faire la forme créée de la forme principale de traitement. Pour ce faire, choisissez-le dans le champ "Formulaire de traitement".

Maintenant, vous pouvez mettre un point d'arrêt dans le bon lieu de procédure. Initialiser ou des procédures Bouton avancé Formulaires de débogage et exécutez le traitement de la partie tabulaire de remplissage en mode débogage 1C: Entreprises.

5. Connectez-vous au document

Une fois que le traitement du remplissage est écrit et débogué doit être connecté au document à partir duquel elle sera effectuée. Faire cela aller à 1C 8. En mode CompagniePasser dans le menu Service -\u003e Rapports et transformations supplémentaires -\u003e Traitement externe supplémentaire portions de table Et ajoutez un nouvel élément du livre de référence. Utiliser le bouton Remplacer le fichier externe Ajouter un fichier créé par nous pour remplir la partie tabulaire.

Remplissez le traitement de l'appartenance, pour le faire, à l'aide du bouton Sélection Choisissez un document Réalisation de biens et services

Et spécifiez que le remplissage est destiné à la partie de la table Des produits.

appuie sur le bouton d'accord Et sur tout cela, le traitement de remplissage sera disponible dans le menu. Remplir tabulaire Des produits document Réalisation de biens et services. Téléchargez le traitement utilisé pour cet exemple que vous pouvez au bas de l'article.

Les pièces de table existent dans de nombreux objets en 1C:

  • Répertoires
  • Documentation
  • Rapports et traitement
  • Plans de compte
  • Caractéristiques des caractéristiques
  • Plans pour calcul de l'espèce
  • Processus d'entreprise et tâches

Les pièces de table vous permettent de stocker un nombre illimité d'informations structurées appartenant à un objet.

Considérez certaines techniques de travail avec des pièces tabulaires.

Comment se déplacer dans la partie de la table

Vous pouvez utiliser un cycle pour grimper une pièce tabulaire. Pour chaque

Pour chaque ligne du cycle de la valeur du circuit

Rapport (rangée. Requis);

Endyclycle;

Sur chaque itération de la variable Lignela prochaine ligne de la partie tabulaire est passée. Les valeurs des valeurs de ligne peuvent être obtenues par expression Chaîne. Emploi.

Comment obtenir et contourner les lignes sélectionnées de pièce tabulaire

Pour afficher les informations de la partie de tableau de l'objet est l'élément formulaire Champ de table. Pour activer plusieurs lignes, vous devez définir la valeur dans le champ Table. Plusieurs Sa fonctionnalité Mode de selection.

Pour obtenir une liste des lignes sélectionnées, le code suivant est utilisé:

Afin de contourner le cycle d'utilisation des chaînes allouées Pour chaque:

Tests alloués \u003d Elementforms. Nametablichnogopol. Attribué;

Pour chaque ligne de cycle en surbrillance

// cycle de contenu

Endyclycle;

Comment mettre en valeur par programme les lignes de la partie tabulaire (champ tabulaire) et supprimer la sélection

Supprimer programmatiquement la ligne de surbrillance du champ de table:

Elementforms. Nametablichnogopol. Séparé. Dégager ();

Pour allouer de manière programmable toutes les lignes du champ de table:

Pour chaque courant hors du cycle de la valeur du circuit
Elementforms. Nametablichnogopol. Distribué. Ajouter (courant);
Endyclycle;

Comment nettoyer la pièce de table

Craie. Dégager ();

Comment obtenir la ligne actuelle de la partie tabulaire

La ligne actuelle est une période dans laquelle l'utilisateur dans ce moment Il y a un curseur. Pour l'obtenir, vous devez vous référer à l'élément de contrôle sur le formulaire, associé à la partie tabulaire.

Pour formes ordinaires Le code ressemblera à ceci:

Elementforms. Nametablichnogopol. Fluide;

Pour les formulaires gérés:

Éléments. Nametablichnogopol. Fluide;

Comment ajouter une nouvelle chaîne à la partie de la table

Ajout d'une nouvelle chaîne à la partie de la table:

Newstock \u003d défi. Ajouter ();

Ajout d'une nouvelle ligne à n'importe quel lieu de la partie tabulaire (les lignes suivantes seront décalées):

Newstock \u003d défi. Insertion (index)
// index - le numéro de la ligne ajoutée. La numérotation de ligne commence à partir de zéro.

Nouvelle ligne. Requisite1 \u003d "valeur";

Comment remplir par programme les détails de la partie de la table

Si vous avez besoin de remplir programmable les détails de la partie tabulaire de la table, que l'utilisateur ajoute, vous devez utiliser le gestionnaire d'événements de la partie tabulaire. Institution.

La procédure créée par le gestionnaire a trois paramètres:

  • Élément - contient des contrôles Dessus de la table.
  • Nouvelle ligne- Boolevo. Contient de la valeur VraiSi une nouvelle ligne de pièce tabulaire est ajoutée, et Faux,si l'utilisateur a commencé à éditer une chaîne existante.
  • Copie - Boolevo. Contient de la valeur VraiSi l'utilisateur copie la chaîne et Faux dans d'autres cas.

Considérer un exemple. Supposons que nous ayons besoin de remplir la partie tabulaire des accessoires ContrôlerDans le cas où une nouvelle ligne est ajoutée. Lors de la modification d'une chaîne existante, vous n'avez pas besoin de modifier le compte de compte.

Procédure de traitement de la TimbanitéRodata (élément, journalier, copie)

// Si l'utilisateur édite une chaîne existante, ne faites rien
Si non neuf
Revenir;
Terminé;

// Si la chaîne est nouvelle, définissez le compte du compte.
Texte \u003d élément. Fluide; // a reçu la ligne actuelle de la partie tabulaire
Trektroke. Comptabilité \u003d plans. Hoshorty. Nécessaire;
Extrudromes

1. Déclaration de la tâche

Dans cet article, examinez le processus d'écriture du traitement externe le plus simple de la partie tabulaire de remplissage dans 1C 8. Pour les configurations en utilisant l'application habituelle. Par exemple, prenez une telle tâche: "Dans la configuration 1C: Comptabilité 2.0 Créer un pliage externe de la pièce de table Des produits Document, Données pour le remplissage Prendre de la partie tabulaire Des produits document Admission de biens et de services". De cette manière, nous devons remplir des produits de vente sur la base de la réception des marchandises, une telle tâche est souvent trouvée dans la pratique réelle du programmeur 1c.

2. Création de traitement externe

Aller à B. 1C 8. En mode Configurateur. Utilisation du menu Fichier -\u003e Nouveau ou pictogramme nouveau document Créer un nouveau traitement externe.

Dans le champ Nom Nous spécifions: "reclocution le plus simple" et économisons un traitement externe sur le disque dur à l'aide du menu Fichier -\u003e Enregistrer ou pictogramme Sauvegarder ou combinaison clé Ctrl + S..

Soulignant une branche Conditions requises Dans le traitement des métadonnées et appuyez sur le bouton Ajouter(Bouton avec Vert Plus) Créez un nouvel accessoire de traitement externe - Salaire du document, choisissez un type pour cela Documents Drovernik. Par TerenietetovaryAvshodshug, ces accessoires doivent sélectionner le document Admission de biens et de services, sur la base de laquelle la mise en œuvre sera remplie.

Pour sélectionner un document d'admission, nous aurons besoin d'un formulaire séparé. Soulignant une branche Formes et en utilisant le même bouton - Ajouter Créer un formulaire de traitement externe. La fenêtre du constructeur de formulaire s'ouvre, vous n'avez pas besoin de modifier la première page du concepteur. Vous cliquez simplement sur le bouton. Plus loin.

Sur la deuxième page du concepteur, nous devons choisir les accessoires Salaire du document(Pour qu'il apparaisse sur le formulaire créé), puis cliquez sur le bouton Prêt.

Après cela, le formulaire créé s'ouvrira, nous avons besoin que l'utilisateur choisisse le document et la fermera. Donc quand vous appuyez sur le bouton Effectuer Le formulaire doit simplement fermer. Pour mettre en œuvre cela, sélectionnez le bouton EffectuerCliquez sur le bouton droit de la souris droit et choisissez l'élément. Propriétés. Dans les propriétés du bouton, dans la chaîne Acte Choisir une action - Fermer. Sur ce travail avec le formulaire est terminé, la fermeture.

3. Programmation

Nous allons procéder à la programmation du traitement de la partie tabulaire. Allons à Module d'objet Traitement externe (au bas du bouton Panneau de traitement Actions -\u003e Module d'objet ouvert).

En cela, nous devons créer une procédure d'exportation. Initialiser.

Procédure Initialiser Exportation Extrudromes

noter que procédure Initialiser, ainsi que tous ses paramètres, sont obligatoires pour le traitement externe de la partie tabulaire de remplissageSi vous ne le créez pas ou que vous ne spécifiez pas tous les paramètres, votre traitement ne fonctionnera tout simplement pas.

Commençons maintenant à écrire un code de programme. Tout d'abord, créez une variable pour la partie tabulaire du document. Réalisation de biens et servicesdont nous allons remplir.

Watchboard \u003d objet [nametagged];

Lors de l'exécution de la procédure dans le paramètre Un objet contiendra un objet du document que nous remplissons et dans le paramètre Nametablie Une chaîne avec le nom de la partie tabulaire que nous remplissons. Ainsi, cette ligne de code reçoit la partie tabulaire du document rempli par son nom.

Nous devons choisir l'utilisateur de sélectionner le document. Admission de biens et de services, Par conséquent, écrivez le code pour ouvrir le formulaire de sélection de document. Pour commencer, nous obtenons ce formulaire dans une variable à l'aide de la méthode de traitement externe. Optionnel (<Форма>, <Владелец>, <КлючУникальности>) . Nous ne remplissons que le premier paramètre de cette méthode, en passant une chaîne nommée notre formulaire.

Formation / accès \u003d options ("formulaire");

Ouvrez maintenant la forme résultante à l'aide de l'ouverture modale (jusqu'à ce que le formulaire soit ouvert toutes les autres fenêtres 1C ne soit pas disponible), car avec cette méthode d'ouverture de l'avenir Notre code dans la procédure Initialiser Il ne sera pas exécuté tant que l'utilisateur ferme le formulaire.

Formallustration de la plainte. Openmodalally ();

Une fois que l'utilisateur ferme le formulaire, nous devons vérifier si la demande est remplie. Salaire du document(Si le document de réception n'a pas été sélectionné). Si après vérification Salaire du document Il s'avère vide, puis le traitement ultérieur n'a pas de sens, et il devrait être interrompu.

Si vous n'êtes pas libellé (documentation), alors à signaler (); Remboursement; Terminé;

Pour vérifier l'achèvement des accessoires, la fonction contextuelle globale est utilisée ici. Le document est rempli (<Значение>) Il vérifie si la valeur est transmise à la valeur par défaut du même type. Procédure Signaler Affiche le texte spécifié dans la fenêtre de message 1C 8. Mot-clé Revenir Interrompt l'exécution de la procédure.

Nous commencerons à écrire une requête qui sélectionnera un tabulaire de données Des produits document Admission de biens et de services. Créer une nouvelle demande:

Demande \u003d nouvelle demande;

Demande. Paramètre d'installation ( "Documentation", Documentation);

Écrivez le texte de la demande, nous le ferons avec Requête design. Il n'est pas recommandé d'écrire le texte du texte de la requête manuellement, il n'est pas efficace et prend un tas de temps. Pour commencer, écrivez une chaîne:

Demande.text \u003d "";

Nous livrerons le curseur entre les caractères des citations, cliquez sur le bouton droit de la souris et sélectionnez l'élément. Demander designer .... Après cela, une proposition semblera créer une nouvelle demande, cliquez sur le bouton "OK". La fenêtre de concepteur s'ouvre, toutes les tables de base de données disponibles sont situées dans la partie gauche, nous avons besoin d'un document. Adaitetovarov Supervug. Nous le trouverons et révélerons à l'aide du symbole "+", sélectionnez la partie tabulaire Des produits et le tirer dans la deuxième partie de l'écran de concepteur, appelé les tables(Aussi, déplacez la table souhaitée à l'aide du bouton "\u003e").

Révéler maintenant la table "+" que nous avons choisi ( ADAITOVYOVAROVYOVServyvaryovas) et faites glisser les champs nécessaires à notre remplissage dans la troisième partie de l'écran de concepteur, appelé - Domaine. Vous ne choisirez pas tous les champs disponibles, nous nous limiterons à un tel ensemble: Nomenclature, nombre, prix, montant, Stavans, Summands.

Étant donné que nous avons besoin de données pour un seul document d'admission (que nous avons choisi avant de remplir), puis dans l'onglet "Conditions", nous mettrons la condition du lien de document à l'aide du paramètre transféré par nous.

Création d'un texte de requête dans le concepteur de ceci est terminé, cliquez sur le bouton "OK". En conséquence, nous avons révélé le texte de requête suivant:

Demande.text \u003d "Select | de | Où;

La demande créée reste uniquement à exécuter et à décharger à la variable:

Résultat \u003d requête. Remplir (). Décharger ();

Dans une variable Résultat Table des valeurs stockées avec des rangées de pièce tabulaire Des produits Nous avons choisi des documents Admission de biens et de services. Maintenant, vous pouvez commencer à remplir la partie tabulaire Des produits Notre mise en œuvre. Mais avant de remplir les données, il devrait être nettoyé, dans le cas, il y a déjà des lignes.

Watchchast.inter ();

Avec du cycle Pour chaque Marchez la table des valeurs avec les résultats de la requête.

Pour chaque élément résultant du cycle de résultat de l'endyclycle;

Dans ce cycle, créez et remplissez la chaîne de la partie du tableau du document. Réalisation de biens et services. Créer une nouvelle chaîne que nous pouvons avec une variable Parties de circuitÀ travers lequel vous pouvez faire des actions avec elle.

Newstrocatch \u003d Chaîne de montre. Ajouter ();

Remplissez l'onglet créé de l'onglet. Parties de données de la chaîne de résultat de la requête utilisant la procédure Contexte globalComplétant (<Приемник>, <Источник>) .

Remplir (Newstock, résultats ormulolaires);

Mais les données complétées par nous ne suffisent pas, de sorte que le document soit fait, vous devez remplir plus nomenclature comptable comptable. Pour ce faire, nous utilisons l'exportation

procédure Remplissage de remplissage Du module d'objet de document Réalisation de biens et services. Appelez-le à l'aide du paramètre Un objet(Ça devrait être noté,

que pouvons-nous appeler seulement exportation Procédures à partir du module de l'objet de document).

Objet. Configuration requise (Newstrokatch, données de nom, vérité);

Sur cette programmation de la pièce de table pour 1C 8. Complété. Le traitement peut être utilisé. Texte intégral de la procédure Initialiser, Ressemble à ça:

Procédure Initialiser (Objet, Namethe Nom \u003d non défini, tablepole \u003d incertain) Exportation Watchboard \u003d objet [nametagged]; Formation / accès \u003d options ("formulaire"); Formallustration de la plainte. Openmodalally (); S'il n'est pas libellé (DocumentPluse), alors de signaler ( "Non sélectionné le reçu de document"); Remboursement; Terminé; Demande \u003d nouvelle demande; Demande. Paramètre d'installation ( "Documentation", Documentation); Demande.text \u003d "Sélectionnez | Adamitiovarovarovyovyovariovari.nanklatura, | Adamitiovarovarovyovyovyovari. Nombre, | Adamitetovarovyovyovyovarsa.stavankands, | Adamitetovarovyovyovyovarsi.summa, | Adamitetovarovyovyovyovaryovas.summands, | Adamitiovarovarovyovyovyovari.zena | Est | Document. Pas de dumbstif tovarovyvug.thovarsa comme admiratovarovasculateurs. | Où | Promontovarovarovyovyovyovars.Link \u003d & documentaires "; Résultat \u003d requête. Remplir (). Décharger (); Watchchast.inter (); Pour chaque élément résultant du résultat, le cycle d'une liste de châssis \u003d CLIQUE. Audité (); Remplir (Newstock, résultats ormulolaires); Objet. Configuration requise (Newstrokatch, données de nom, vérité); Endyclycle; Extrudromes

Dans la partie suivante, il sera décrit comment déboguer le traitement du remplissage de la partie tabulaire et comment le connecter au document.

4. Débogage

Très souvent de déboguer le code que vous écrivez. Afin de déboguer le traitement de remplir la partie tabulaire dans 1C 8. Créer des accessoires Objet de liaison Taper Document Roll.realizationerovyovSerg.

Cela nous est nécessaire pour choisir un document de mise en œuvre lors du débogage, que nous remplirons. Ensuite, vous devez créer une forme de débogage et accueillir la condition requise là-bas. Objet de liaisonLe processus de création du formulaire de débogage ne diffère pas de la création de la forme de sélection du document de la réception, de sorte que nous ne nous arrêterons pas en détail dessus.

Une fois le formulaire créé, nous tournons vers son module. Nous trouverons une procédure créée automatiquement Bouton avancé. Cette procédure gère lorsque le bouton est enfoncé Effectuer. Appelez-en la procédure Initialiserqui est dans le module de traitement, dans les paramètres donnera à l'objet Document Réalisation de biens et services(que nous obtenons de la condition requise Objet de liaison) et la chaîne avec la partie de la table de titre (dans notre cas Des produits).

Procédure Bouton de remplissage (bouton) Initialiser (objet réfléchissant. Objet préparatoire (), "marchandises"); Extrudromes

Maintenant, il est nécessaire de faire la forme créée de la forme principale de traitement. Pour ce faire, choisissez-le dans le champ "Formulaire de traitement".

Maintenant, vous pouvez mettre un point d'arrêt dans le bon lieu de procédure. Initialiser ou des procédures Bouton avancé Formulaires de débogage et exécutez le traitement de la partie tabulaire de remplissage en mode débogage 1C: Entreprises.

5. Connectez-vous au document

Une fois que le traitement du remplissage est écrit et débogué doit être connecté au document à partir duquel elle sera effectuée. Faire cela aller à 1C 8. En mode CompagniePasser dans le menu Service -\u003e Rapports et transformations supplémentaires -\u003e Traitement externe supplémentaire des pièces de table Et ajoutez un nouvel élément du livre de référence. Utiliser le bouton Remplacer le fichier externe Ajouter un fichier créé par nous pour remplir la partie tabulaire.

Remplissez le traitement de l'appartenance, pour le faire, à l'aide du bouton Sélection Choisissez un document Réalisation de biens et services

Et spécifiez que le remplissage est destiné à la partie de la table Des produits.

appuie sur le bouton d'accord Et sur tout cela, le traitement de remplissage sera disponible dans le menu. Remplir tabulaire Des produits document Réalisation de biens et services. Téléchargez le traitement utilisé pour cet exemple que vous pouvez par.



Avez-vous aimé l'article? Partagez-le