GAZ-53 GAZ-3307 GAZ-66

Création de formulaires imprimés 1s 8.2. Ajout d'un formulaire d'impression externe à la base de données. Connexion d'un formulaire d'impression externe à la base

Comme on le sait - sans un morceau de papier, tu... aucune entreprise sérieuse ne peut s’en passer. Et quand on dit que 1C dispose d'une sorte de documents électroniques, la question se pose immédiatement de savoir comment les imprimer sous forme papier.

Le processus d'impression d'un document électronique 1C est appelé formulaire d'impression 1C.

Chaque document peut avoir plusieurs formulaires imprimés 1C. Par exemple, le document Ventes de biens et services (c'est-à-dire vente) est imprimé sous forme imprimée 1C : TORG-12, Facture, Lettre de voiture, Attestation de services rendus, etc.

L'essence du formulaire imprimé 1C est un modèle (tel qu'un document Excel) dans lequel les variables sont spécifiées. Pendant le processus d'impression, le texte du document électronique remplace les variables. Le modèle est généralement stocké dans la configuration.

Le problème avec la modification d'un formulaire imprimé 1C standard est qu'il n'est généralement pas conseillé de modifier la configuration standard, sinon sa mise à jour sera plus difficile. Par conséquent, diverses méthodes d'utilisation de formulaires d'impression 1C externes ont commencé à être réinventées.

Un formulaire d'impression 1C externe est un modèle d'impression qui est stocké d'une manière ou d'une autre séparément de la configuration elle-même.

Cependant, tout cela n’est que théorie. Comment le créer vous-même formulaire imprimé? Ou mieux encore, comment apporter des modifications à un existant ?

Comment un document 1C est imprimé

Pour imprimer n'importe quel document 1C (qui peut être imprimé), vous devez cliquer sur le bouton Imprimer dans le document. 1C proposera de sélectionner un formulaire imprimé 1C pour ce document dans la liste.

À gauche du bouton Imprimer, il y a généralement un bouton d'accès rapide au dernier formulaire d'impression 1C sélectionné.

Le résultat de l'impression ressemble à ceci. Pour l'imprimer sur une imprimante, vous devez placer le curseur dans le formulaire d'impression 1C, appuyer sur Ctrl+P ou sur le bouton de l'imprimante sur le panneau de boutons ou dans le menu Fichier/Imprimer.

Les paramètres d'impression (marges, orientation de la feuille, etc.) se trouvent dans le menu Configuration fichier/page. Vous pouvez également configurer les paramètres utilisateur pour imprimer directement sur l'imprimante.

D'où vient cette forme d'impression ?

Où se trouve le formulaire imprimé 1C ?

Passons au configurateur. Trouvez-le dans la fenêtre de configuration Document requis. Développons sa branche Mises en page. Ce sont eux qui se transforment en formulaire d'impression 1C une fois imprimés.

Cependant, cela ne suffira pas : on nous a proposé de choisir beaucoup plus d'options lors de l'impression. Le fait est que de nombreuses mises en page de formulaires imprimés 1C sont cachées ailleurs.

Revenons en haut de la fenêtre de configuration 1C. Ouvrons la branche Général, puis la branche Mises en page générales. C'est là que se trouvent la plupart des mises en page. Cela est particulièrement vrai pour les formulaires imprimés réglementés par l'État 1C - TORG 12, facture, etc.

D’ailleurs, il n’est pas difficile de remarquer que vous verrez plusieurs mises en page de TORG12 ou Invoice. Pourquoi? C'est facile à expliquer. Les lois et les exigences changent périodiquement. Mais nous ne pouvons pas simplement modifier la même mise en page - et si nous devons imprimer le document à partir d'une date antérieure à la date de modification. Par conséquent, plusieurs mises en page sont réalisées et, en fonction de la date du document, la bonne est utilisée.

Mais ce n'est pas tout! Il existe également des mises en page externes. Où sont-ils stockés ?

Revenons au mode 1C Entreprise. Par le menu utilisateur avec droits d'administration Opérations/Répertoires, sélectionnez le répertoire Traitement externe.

Les lignes de ce répertoire, qui ont le formulaire Formulaire d'impression, ajoutent des options d'impression pour le document spécifié dans le tableau Propriété du formulaire d'impression (dans l'image, il s'agit de Ventes de biens et services).

Pour que cela fonctionne, vous devez effectuer un traitement externe qui possède une procédure Print() dans son module objet intitulé Export, qui organise le processus d'impression.
Mais nous sommes en avance sur nous-mêmes. Voyons d'abord comment est organisée la mise en page du formulaire d'impression 1C.

Mise en page du formulaire imprimé 1C

La disposition du formulaire d'impression 1C ressemble à ceci.

Comme vous pouvez le constater, il est divisé en blocs. Les blocs peuvent être horizontaux (nom à gauche) ou verticaux (nom en haut).

La mise en page elle-même, telle qu'elle est, n'est pas imprimée. Des blocs individuels sont imprimés. Le programmeur dans la procédure de traitement d'impression spécifie l'ordre des blocs et le nombre de répétitions de chaque bloc. En conséquence, le formulaire imprimé est formé.

Pour attribuer une zone, sélectionnez plusieurs lignes (ou plusieurs colonnes) et sélectionnez Table/Noms/Attribuer un nom dans le menu. Pour supprimer, il existe également la commande Supprimer le nom.

Le nom est nécessaire pour que la zone soit accessible à partir du code du programme. Le nom peut être attribué non seulement à des lignes ou des colonnes, mais aussi simplement à plusieurs cellules. Pour ce faire, sélectionnez les cellules et sélectionnez le même menu.

Toutefois, par défaut, les noms de cellules personnalisés ne sont pas affichés. Pour les voir, sélectionnez l'élément de menu Tableau/Noms/Afficher les cellules nommées.

Ainsi, aujourd'hui, nous avons appris qu'un formulaire imprimé 1C est formé à l'aide d'une mise en page. La disposition se compose de blocs – intelligemment appelés zones.

Blocs typiques (couramment utilisés) pour plaques d'impression :

  • En-tête – le titre du document est affiché
  • Ligne – une ligne du tableau est affichée, ce bloc est répété autant de fois que les lignes doivent être imprimées
  • Pied de page – la fin du document est affichée.

Il nous faut maintenant nous occuper du

Instructions

Ouvrez le programme 1C:Enterprise version 8. Faites attention à l'élément de menu « Service » - « Traitement externe et impression des formulaires ». Avec son aide, vous pouvez stocker des rapports externes, des traitements, des formulaires imprimés, ainsi que des traitements pour remplir des éléments tabulaires. Vous pouvez également connecter un formulaire externe au lieu de modifier un formulaire existant, ce qui entraînerait une interférence avec la configuration du programme.

Lancez le programme 1C:Enterprise en mode configurateur, puis créez des traitements externes, pour cela exécutez la commande « Fichier » - « Nouveau ». Dans la fenêtre qui apparaît, sélectionnez « Traitement externe ». Un nouveau formulaire de traitement externe apparaîtra à l'écran. Donnez-lui le nom « Externe ». Ajoutez ensuite un nouvel attribut appelé « Référence d'objet », spécifiez son type – « Document. Lien. Ventes de biens et de services. Pour créer un imprimable pour un autre type de document, utilisez le type de lien approprié.

Ajoutez une nouvelle mise en page en cliquant sur le bouton correspondant dans la nouvelle fenêtre du formulaire. Nommez-le « Mise en page », créez une zone appelée « En-tête », donnez-lui le paramètre « Texte d'en-tête ». Cliquez ensuite sur le bouton « Actions », sélectionnez la commande « Ouvrir le module objet ». Insérez ensuite le texte du module, vous pouvez utiliser l'exemple publié sur le site http://www.uasoft.com.ua/content/articles/315/.

Lancez le programme 1C:Enterprise, allez dans le menu Outils, sélectionnez Formulaires d'impression externes. Ajoutez une nouvelle entrée à la liste des formulaires. Pour cela, sélectionnez le fichier de traitement créé, et dans la partie tabulaire, indiquez que le formulaire appartient au document « Ventes de marchandises ». Vérifiez que la nouvelle plaque d'impression fonctionne correctement. Pour cela, ouvrez le document créé, tracez-le, puis en bas de l'écran cliquez sur le bouton « Imprimer », sélectionnez l'option « Formulaire d'impression externe ».

Sources:

  • comment changer un formulaire imprimé en 1c

Afin de créer et de modifier des formulaires d'objet, le programme 1C:Enterprise fournit un éditeur de formulaire spécial (ou Form Designer). Les formulaires d'objet de solution d'application sont conçus pour représenter visuellement les données tout en travaillant avec le programme. L'éditeur de formulaire contient plusieurs onglets qui offrent la possibilité de modifier tous les éléments du formulaire.

Tu auras besoin de

  • ordinateur, programme 1C

Instructions

A l'aide de l'éditeur de formulaire, vous pouvez ajouter un ou plusieurs éléments « Groupe – Pages » au formulaire ; pour cela, cliquez sur le signe plus vert dans le coin supérieur gauche de l'éditeur lorsque vous êtes sur l'onglet « Éléments ».
En mode 1C:Entreprise, tous les éléments du groupe existants seront affichés chacun sur un onglet séparé. Pour le positionner au-dessus ou en dessous de celui de travail, dans la fenêtre « Propriétés » d'un groupe particulier, dans la rubrique « Affichage », sélectionnez la commande appropriée.

Vous pouvez également ajouter des éléments au formulaire en faisant glisser les détails requis dans l'arborescence des éléments. Pour faciliter la navigation dans les contrôles de formulaire lors de la modification ou de la saisie de données, définissez l'ordre qui vous convient, en organisant les éléments dans l'arborescence et en les subordonnant à d'autres éléments, et en définissant les propriétés des éléments de groupe en fonction de vos besoins.
Pour modifier les détails du formulaire - modifiez-les, créez-en de nouveaux ou supprimez-les, utilisez le panneau dans la zone de l'arborescence des détails sur l'onglet correspondant.

Pour modifier l'interface de commande, accédez à l'onglet approprié. Vous verrez une arborescence de commandes dont les branches principales sont le « Panneau de navigation » et le « Panneau de commande ». Certaines commandes sont ajoutées automatiquement à l'arborescence de l'interface de commandes, mais vous pouvez également les ajouter vous-même en faisant glisser les commandes dont vous avez besoin depuis la liste des commandes globales (générales) ou depuis la liste des commandes de formulaire.

Les commandes de formulaire sont éditées dans la liste correspondante. Vous pouvez les ajouter, les supprimer de la liste, définir les propriétés de chaque commande à l'aide de la palette des propriétés, que vous pouvez appeler en cliquant sur l'icône en forme de crayon dans la ligne de commande de la liste.
Pour modifier les paramètres du formulaire, accédez à l'onglet « Paramètres », où vous pouvez également les ajouter, les supprimer et définir les propriétés souhaitées.

Vidéo sur le sujet

Le plan comptable, utilisé en comptabilité pour afficher les activités économiques d'une entreprise, supporte une hiérarchie à plusieurs niveaux : compte - sous-comptes. Afin que l'utilisateur puisse visualiser les données contenues dans le plan comptable et les corriger, le système 1C permet de modifier la forme du compte. De plus, la forme imprimée de la facture peut être modifiée dans tout autre document en 1C.

Tu auras besoin de

  • - ordinateur personnel avec 1C.

Instructions

Une comptabilité analytique est fournie pour chaque compte ou sous-compte. Par conséquent, lors de la création et de la modification ultérieure d'un plan comptable dans 1C, le nombre requis de sous-comptes, c'est-à-dire d'objets de comptabilité analytique, peut être fourni. De plus, les ajustements des comptes et sous-comptes peuvent être effectués soit par un utilisateur travaillant avec un système comptable automatisé, soit par un développeur de logiciels.

Cet article décrit comment connecter un formulaire imprimé externe à une base de données 1C en utilisant l'exemple de la configuration « Trade Management 10.3 »

La configuration « Trade Management 10.3 » est une configuration sur les formulaires dits « REGULIERS », et non sur les formulaires « GÉRÉS » comme « Trade Management 11.2 » pour les formulaires « GÉRÉS » dont nous recommandons la lecture ;

Nos instructions « montrent » comment connecter un formulaire imprimé externe en 1C avec une configuration sur des formulaires « RÉGULIERS », à savoir :

  • "Comptabilité 2.0"
  • "Gestion commerciale 10.3"
  • "Gestion des salaires et du personnel 2.5"
  • "Automatisation complète 1.1"
  • "Contrôle entreprise manufacturière 1,3"
  • "Commerce de détail 1.0"
  • et d'autres configurations similaires.

Afin de connecter un formulaire d'impression externe dans 1C, nous devrons suivre 11 étapes.

1 - Menu "Services". 2 — Sélectionnez « Formulaires d'impression et traitement externes ». 3 — Suivant — « Formulaires imprimés externes » (voir figure ci-dessous ↓)

Afin de vous convaincre que cette instruction convient également à d’autres configurations sur formulaires « REGULIERS », présentons la même initiale 1-2-3 étape, mais pas dans « Trade Management 10.3 », mais dans « Comptabilité 2.0 », tout y est pareil à l'exception des mots légèrement modifiés dans les sous-paragraphes, à savoir...

1 - Menu « Service » (le même que dans « UT 10.3 », et dans d'autres).
2 - Ici « Rapports et traitements complémentaires », et non « Formulaires imprimés et traitements externes » comme dans « UT 10.3 »,
mais la signification est toujours la même et se trouve là dans le menu « Service ».
3 - Et puis - "Formulaires d'impression externes supplémentaires", c'est-à-dire mot supplémentaire « Additionnel » par rapport à « UT 10.3 » (voir figure ci-dessous ↓)

Ensuite, nous continuerons à utiliser l'exemple de « Trade Management 10.3 » sans comparaisons inutiles.
4 — Cliquez sur le bouton « + », c'est-à-dire "Ajouter". 5 — Un bouton où le dossier est dessiné (au survol, un indice apparaîtra : « Remplacer le fichier de traitement externe »).

Dans les nouvelles versions de 1C (à partir d'août 2016), le programme dispose d'un mécanisme d'avertissement intégré concernant le danger d'utiliser un traitement externe inconnu pouvant contenir des « virus » ; dans les versions antérieures du programme, l'avertissement n'apparaîtra pas ! Si cela se produit, il faudra alors connecter un traitement externe - 6 - cliquez sur le bouton « Continuer ». (voir figure ci-dessous ↓)

7 — Sélectionnez le répertoire dans lequel se trouve le fichier de formulaire d'impression externe dont nous avons besoin. 8 - Sélectionnez notre fichier. 9 — Cliquez sur « Ouvrir » (voir figure ci-dessous ↓)

10 — Un formulaire imprimé externe peut avoir des paramètres d'enregistrement automatique, comme dans notre cas, il est ici logique de cliquer sur « Oui » - utilisant ainsi ces paramètres lors de l'enregistrement, c'est-à-dire sélectionner automatiquement les objets (documents ou peut-être, par exemple, répertoires) dans lesquels il sera possible d'utiliser un formulaire imprimé externe connecté (voir figure ci-dessous ↓)

C'est tout, nous avons rempli le tableau « Affiliation de l'imprimé », grâce aux paramètres d'auto-inscription, on voit le nom de l'imprimé externe connecté, peut-être aurez-vous renseigné le champ « Commentaire », etc. Vous pouvez ajouter vos objets au tableau « Propriété du formulaire d'impression », par exemple, pour notre traitement « Formulaire de contrat imprimable universel », qui prend en charge l'impression de nombreux documents et ouvrages de référence, mais les paramètres d'enregistrement automatique ne sont définis que pour les principaux : 10* — Cliquez sur le bouton vert « Ajouter » et sélectionnez les objets à placer également pour le traitement. Maintenant, il ne reste plus que - 11 - cliquez sur le bouton « OK » et (voir figure ci-dessous ↓)

Maintenant, cela vaut la peine de vérifier : avons-nous tout fait correctement ?
Pour ce faire, nous sélectionnons un objet à vérifier, par exemple le document « Ventes de biens et services », qui est indiqué dans le tableau « Affiliation du formulaire imprimé », cela signifie que le formulaire imprimé connecté peut être utilisé dans ce document! Vérifions... (voir figure ci-dessous ↓)

Pour vérifier si l'impression est possible, ouvrez n'importe quel document du formulaire : « Ventes de biens et services ». 13 — Cliquez sur le bouton « Imprimer ».
On voit qu'une fenêtre de sélection des formulaires imprimés est apparue, parmi eux il y a - 14 — formulaire d'impression externe connecté par nos soins (voir figure ci-dessous ↓)

Cet article vous expliquera en détail comment un débutant ayant peu de connaissances en 1C 8 peut créer un formulaire imprimé. Par exemple, prenons l'une des configurations 1C 8 les plus courantes - Comptabilité 2.0. Création d'un formulaire imprimé 1C étapes de rédaction :

  • Création d'un fichier de formulaire d'impression externe ;
  • Création d'une mise en page de formulaire imprimé ;
  • Écrire le code du programme pour afficher les données du formulaire imprimé à l'écran ;
  • Création de paramètres pour l'enregistrement automatique d'un formulaire imprimé ;
  • Connexion d'un formulaire d'impression externe à la base Entreprises 1C.

Création d'un formulaire imprimé 1C. Formulation du problème

Nous sommes requis dans la configuration Comptabilité 2.0 créer un formulaire imprimé pour un document Réception de biens et services. Dans l'en-tête du formulaire imprimé, affichez les données suivantes :

  • Organisation;
  • Contrepartie ;
  • Accord de contrepartie ;
  • Date de réception.

Afficher les données dans la section tabulaire sous forme de tableau Marchandises document. Le tableau doit comprendre les colonnes suivantes :

  • Nomenclature;
  • Quantité;
  • Prix;
  • Somme;
  • Et aussi le prix de l'article à la date du jour (par type de prix du document).

Fichier de traitement externe

Passons à la résolution du problème. Tout d'abord, ouvrons 1C 8 en mode Configurateur. C'est dans ce mode que s'effectuent tous les développements sur la plateforme 1C 8. Il faut maintenant créer un fichier de traitement externe. Pour cela, cliquez sur le menu Fichier -> Nouveau… ou par l'icône d'un nouveau fichier.

Dans la fenêtre qui s'ouvre, sélectionnez l'élément Traitement externe.

Suivant sur le terrain Nom Vous devez saisir le nom du traitement externe. Dans notre cas, nous l’appellerons simplement « PrintForm » ; le champ synonyme sera renseigné automatiquement. Veuillez noter que sur le terrain Nom, traitement externe, le nom doit être écrit sans espaces ni signes de ponctuation.

Ajouter des attributs de traitement externe LinkToObject et sélectionnez tape pour lui DocumentLink. Réception des biens et services.. Pour ce faire, dans l'arborescence des métadonnées du traitement externe 1C, sélectionnez l'élément Conditions requises et appuyez sur le bouton Ajouter(bouton avec plus vert). La fenêtre des propriétés des attributs s'ouvrira sur le côté droit de l'écran, dans le champ Nomécrivons - RéférenceVersObjet. DANS champ Taper appuyez sur le bouton avec trois points.

Développons la branche dans l'arborescence des types DocumentLink, et recherchez-y l'élément Réception de biens et de services, cochez la case à côté et cliquez sur D'ACCORD.

Sauvegardons le fichier de traitement externe sur le disque dur ; pour ce faire, utilisez le menu Fichier -> Enregistrer, pictogramme Sauvegarder(disquette bleue), ou un raccourci clavier Ctrl+S. Nommons le fichier enregistré « PrintForm ».

Création d'une mise en page de formulaire imprimé

Commençons par créer une mise en page du formulaire d'impression 1C. La mise en page sert de modèle pour la sortie du formulaire imprimé, donc si vous voulez que votre formulaire imprimé soit beau, vous devez y prêter attention.

Ajoutons une nouvelle mise en page dans l'arborescence des métadonnées du traitement externe ; nous ne changerons rien dans la fenêtre du concepteur de mise en page et cliquons sur le bouton Prêt.

Dans la nouvelle mise en page qui s'ouvre, nous allons créer plusieurs zones nécessaires à l'affichage du formulaire imprimé. Toutes les zones de mise en page dont nous avons besoin seront horizontales, donc pour créer une nouvelle zone, sélectionnez le nombre requis de lignes de mise en page et allez dans le menu Tableau -> Noms -> Attribuer un nom ou utilisez le raccourci clavier Ctrl + Maj + N, puis entrez le nom de la région dans la case. Lors de la création d’une zone de mise en page, n’ayez pas peur de vous tromper sur le nombre de lignes, vous pouvez toujours en ajouter ou en supprimer ; Pour supprimer une ligne de mise en page 1C, sélectionnez la ligne souhaitée et sélectionnez l'élément dans le menu contextuel Supprimer. Pour ajouter une nouvelle ligne à la mise en page, sélectionnez n'importe quelle ligne de la mise en page et sélectionnez l'élément dans le menu contextuel Développer.

Ajout d'un en-tête de mise en page

Tout d'abord, créons une zone Un bouchon, il affichera les données de l'en-tête du formulaire imprimé. Pour cette zone, nous aurons besoin de sept lignes de tracé. Sélectionnons-les et, comme je l'ai écrit ci-dessus, appuyez sur la combinaison de touches Ctrl + Maj + N, dans le champ Nomécrivez « Chapeau » et appuyez sur le bouton D'ACCORD.

Remplissons la zone de mise en page avec les données dont nous avons besoin. Habituellement, aucun formulaire imprimé n’est complet sans titre, alors créons-en également un dans notre en-tête de mise en page. Puisque dans le titre, en plus du nom du formulaire imprimé, nous afficherons également le numéro du document à partir duquel il a été imprimé, nous définirons le texte du titre dans la mise en page comme paramètre. Un paramètre de mise en page est une cellule de mise en page spécialement désignée dans laquelle diverses données peuvent être sorties à l'aide du langage 1C 8 intégré. Le titre doit être affiché sur toute la largeur du formulaire imprimé, décidons donc combien de cellules de mise en page seront suffisantes pour imprimer sur une orientation paysage standard de la feuille.

Généralement treize ou quatorze cellules de mise en page suffisent, sélectionnez-les dans la première ligne de la zone Un bouchon et combiner en une seule cellule ( Menu contextuel -> Fusionner). Après cela, double-cliquez sur la grande cellule résultante et écrivez le nom du paramètre, dans notre cas « TitleText ». Pour que le texte saisi devienne un paramètre à part entière, faites un clic droit sur la cellule et sélectionnez l'élément dans le menu contextuel Propriétés. Sur le marque-page Mise en page trouvons le terrain Remplissage et sélectionnez la valeur Paramètre. Les paramètres de la disposition 1C sont indiqués entre parenthèses "<>».

Le titre du formulaire imprimé doit se démarquer du reste du texte, alors sélectionnez à nouveau la cellule et utilisez les icônes du panneau de mise en forme de la mise en page pour définir l'alignement du texte. Centré et taille de police 14.

Après le texte du titre, nous l'afficherons dans la zone Un bouchon des informations sur l'organisation, la contrepartie, l'accord de contrepartie et la date de réception des marchandises. Puisque toutes ces données sont également extraites du document, nous allons également le formaliser avec des paramètres. De plus, avant chaque paramètre, vous devez rédiger un texte explicatif afin que l'utilisateur puisse facilement comprendre où se trouve l'organisation, où se trouve la contrepartie, etc. Toutes ces actions sont similaires à la création d'un titre, je ne m'y attarderai donc pas en détail, je vais juste donner une image de ce qui devrait se passer au final.

La figure montre en quoi les paramètres de mise en page diffèrent du texte normal.

Ajout d'un en-tête de tableau de disposition

La dernière chose que nous devons créer dans cette zone de mise en page est l'en-tête du tableau, dans lequel les données de la partie tabulaire seront affichées. Marchandises. Les colonnes requises pour le tableau ont été décrites dans la section « Énoncé du problème ». Nous allons également créer un en-tête de tableau en utilisant une combinaison de cellules et en écrivant du texte (noms de colonnes). Sélectionnez les bordures de l'en-tête du tableau à l'aide de l'outil Cadre, qui se trouve dans le panneau de formatage de la mise en page.

Ajouter un tableau à une mise en page

Créons une autre zone dans la mise en page - Données. Le tableau de données de la partie tabulaire y sera affiché Marchandises. Pour cette zone, nous n’avons besoin que d’une seule ligne de mise en page. Pour afficher toutes les lignes de la partie tabulaire sous forme imprimée, nous allons remplir et afficher cette zone le nombre de fois requis. Colonnes dans la zone Données doit coïncider avec les colonnes de l'en-tête du tableau, il ne sera donc pas difficile de le remplir. La seule différence est dans la zone Données nous avons besoin de paramètres, pas seulement de texte. Notez également que par défaut, les paramètres numériques sont formatés à droite et les paramètres texte à gauche. Pour sélectionner des colonnes, vous devez également utiliser l'outil Cadre.

Ajout d'un pied de page à une mise en page

La dernière zone de mise en page dont nous avons besoin est Sous-sol. Il affichera les totaux par quantité et montant. La création est similaire à la création d'une zone Données, mais les résultats doivent en outre être mis en évidence en gras.

Le résultat final devrait être une mise en page qui ressemble à ceci :

Création d'un formulaire imprimé 1C. La programmation

Commençons la programmation - c'est l'étape la plus importante dans la création d'un formulaire imprimé. Tout d’abord, passons au module objet formulaire d’impression externe, c’est là que nous allons programmer. Pour cela, dans la fenêtre principale des traitements externes, cliquez sur Actions -> Ouvrir le module objet.

Vous devez créer une fonction d'export dans le module objet formulaire d'impression externe Joint().

Fonction Print() Exporter la fonction de fin

Veuillez noter que cette fonctionnalité est requise pour l'impression externe de formulaires dans les configurations utilisant l'application standard. Tout le code de programme ultérieur nécessaire pour afficher le formulaire imprimé sera écrit dans cette fonction.

Initialisation des variables de base

Créons une variable TabDoc, qui contiendra une feuille de calcul - c'est exactement le formulaire imprimé dans lequel nous afficherons les zones remplies de la mise en page.

TabDoc = nouveau TabularDocument ;

Vers une variable Mise en page Nous obtiendrons la mise en page du formulaire imprimé que nous avons créée. Pour ce faire, nous utilisons la fonction intégrée ObtenirLayout(<ИмяМакета>).

Mise en page = GetLayout("Mise en page");

Nous convertirons toutes les zones de la mise en page en variables. Pour ce faire, nous utilisons la méthode de mise en page ObtenirZone(<ИмяОбласти>) .

HeaderArea = Layout.GetArea("En-tête"); AreaData = Layout.GetArea("Données"); AreaFooter = Layout.GetArea("Pied de page");

Sortie de l'en-tête d'un formulaire imprimé dans une feuille de calcul

Toutes les variables nécessaires sont initialisées. Commençons par remplir et afficher les zones de mise en page dans une feuille de calcul. Tout d'abord, remplissons le titre du formulaire imprimable ; pour cela, nous devons passer le paramètre. Texte du titre, que nous avons créé dans la mise en page, le texte dont nous avons besoin. Pour remplir les valeurs des paramètres, la zone de mise en page dispose d'une collection spéciale, appelée - Possibilités. De quoi à travers « ». vous pouvez obtenir n'importe quel paramètre. Dans le texte d'en-tête, nous transférerons le texte : « Formulaire imprimé », ainsi que le numéro du document.

Header Area.Parameters.TitleText = "Formulaire d'impression"+LinkToObject.Number;

Nous remplirons les paramètres restants de l'en-tête de la même manière ; nous obtiendrons toutes les valeurs nécessaires à partir des détails ; RéférenceVersObjet, qui contient un lien vers le document en cours d'impression.

HeaderArea.Parameters.Organization = LinkToObject.Organization; HeaderArea.Parameters.Account = LinkToObject.Account ; HeaderArea.Parameters.ReceiptDate = LinkToObject.Date ; En-tête Area.Parameters.Counterparty Agreement = LinkToObject.Counterparty Accord ;

Tous les paramètres de l'en-tête sont renseignés, nous l'afficherons dans le tableur que nous avons créé, pour cela nous utilisons la méthode Sortir(<Область>) .

TabDoc.Output(HeaderArea);

Rédiger une demande de handicap imprimé

Commençons à remplir et à dessiner la zone Données. Créer un formulaire imprimé 1C implique également d'écrire une requête dont nous avons besoin pour obtenir des données tabulaires ; Marchandises et les prix Nomenclatures pour la date actuelle, nous utiliserons Demande. Le langage de requête 1C 8 est similaire à SQL, ou plutôt copie pratiquement les capacités de son opérateur SELECT, mais l'intégralité de la requête est écrite en russe. Par conséquent, si vous connaissez au moins vaguement SQL, vous comprendrez facilement le langage de requête 1C 8.

Dans ce formulaire imprimé, la demande sera assez simple et beaucoup diront qu'il serait possible de s'en passer, mais la connaissance du langage de requête et la capacité de l'utiliser avec compétence sont l'une des principales compétences d'un programmeur 1C. Les requêtes vous permettent d'obtenir des échantillons de données complexes en utilisant moins de ressources, et le texte de la requête est beaucoup plus facile à comprendre que le code d'un programme écrit sans utiliser de requête (ou avec une utilisation minimale de celle-ci). De plus, 1C 8 dispose d'un très bon concepteur de requêtes qui vous permet d'assembler de manière interactive une requête à partir des tables nécessaires.

Créons une variable qui contiendra la requête.

Demande = Nouvelle demande ;

Nous composerons le texte de la requête en utilisant le constructeur de requête. Pour commencer, écrivons :

Requête.Texte = "" ;

Placez le curseur de la souris entre les guillemets et appuyez sur le bouton droit de la souris. Dans le menu contextuel qui s'ouvre, sélectionnez l'élément Constructeur de requêtes, cela nous aidera beaucoup dans la création d'un formulaire d'impression 1C. Après cela, la fenêtre du concepteur de requêtes s'ouvrira ; elle contient de nombreux onglets, mais pour notre requête nous n'en aurons besoin que de quatre : « Tables et champs », « Relations », « Conditions », « Jointures/Alias ​​».

Pour notre requête, nous aurons besoin de deux tables : partie table Marchandises document Réception de biens et services et un aperçu des dernières informations sur la date actuelle du registre Prix ​​des articles.

Sur le côté gauche de la fenêtre du concepteur, nous trouvons la colonne Base de données. Il contient une arborescence de tous les objets de métadonnées, trouvons ceux dont nous avons besoin. Pour ce faire, ouvrons le fil Documentation et retrouvez le document Réception de biens et services, ouvrons-le et trouvons la partie tabulaire Marchandises, faites-le glisser dans la colonne du concepteur de requêtes les tables. Vous pouvez faire glisser de trois manières : en glissant, en double-cliquant sur le tableau, ou en le sélectionnant et en cliquant sur le bouton « > ». Ouvrons le fil Registres d'informations et trouve-y une table PrixNomenclature.ShortcutDernières, faites-le également glisser dans la colonne les tables. Ces deux tableaux suffisent à notre requête.

Sélectionnons les champs dont nous avons besoin dans les tables résultantes. Pour ce faire, dans la colonne les tables ouvrons la table et trouvez les champs : Nomenclature, Montant, Prix, Quantité et faites-les glisser vers la troisième colonne du constructeur - Des champs. Agrandissons le tableau , trouvons le terrain Prix et faites-le également glisser vers Des champs.

La structure des tables et champs de notre requête est prête, passons maintenant aux conditions. Nous avons besoin des données tabulaires Marchandises n'ont pas été extraits de tous les reçus, mais uniquement de celui que nous imprimons. Pour ce faire, nous poserons une condition sur la table Réception des marchandisesServicesBiens. Passons à l'onglet « Conditions » du concepteur de requêtes. Dans une chronique Des champs les tables que nous avons sélectionnées plus tôt sont localisées, pour la condition nous aurons besoin d'un champ Lien de la table Réception de biens et services Biens, Glissons-le dans la fenêtre Conditions.

Dans les requêtes 1C, vous pouvez utiliser des paramètres ; ils sont nécessaires pour transférer des données vers la requête. Par exemple, si l'on souhaite limiter la sélection de documents à un document spécifique, alors on peut utiliser un paramètre pour passer un lien vers ce document à la requête et utiliser ce paramètre dans la condition. C'est exactement ce que nous ferons dans notre demande.

Après la fenêtre Conditions nous avons ajouté un champ Lien, le concepteur de requêtes lui-même créera un paramètre avec le même nom et le placera après le signe « = ». Ce paramètre peut être renommé si vous le souhaitez. Dans le texte de la requête, les paramètres sont marqués d'un « & », mais dans dans ce cas cela n'est pas nécessaire, car on suppose que la deuxième partie de la condition contient un paramètre, il vous suffit de vous en souvenir. Comment transmettre une valeur à un paramètre de requête 1C sera discuté ci-dessous.

Puisque dans la requête nous n'utilisons pas un tableau complet des prix des produits, mais un tableau virtuel (une tranche de ce dernier dans ce cas), nous devons fixer les conditions de formation de ce tableau virtuel, dans notre cas c'est le la date limite et la condition du type de prix (les prix qui ont un type de prix strictement défini sont ceux spécifiés dans le document de réception que nous imprimons).

Pour renseigner les paramètres de la table virtuelle, rendez-vous dans l'onglet Tables et champs constructeur de requête, dans la colonne les tables sélectionner le tableau PrixNomenclatureCoupeDernières et appuyez sur le bouton Options de table virtuelle, situé au sommet. Dans la fenêtre qui s'ouvre, dans le champ Période vous devez définir un paramètre auquel la date à laquelle la baisse de prix sera effectuée sera transmise. Dans notre cas, ce sera la date actuelle (c'est-à-dire aujourd'hui), nous appellerons donc le paramètre « &CurrentDate ». Dans le champ conditions nous écrirons les conditions pour le type de prix, nous le passerons également dans le paramètre, que nous appellerons « &TypePrice ». La condition résultante ressemblera à ceci (où TypePrix- enregistrer la mesure Prix ​​des articles):

Type de prix = &Type de prix

Les paramètres de la table virtuelle sont renseignés, cliquez sur le bouton D'ACCORD.

Maintenant que nous avons limité la sélection au seul document dont nous avons besoin, créons des connexions entre les tables de requêtes. Si cela n'est pas fait, alors les prix de la table PricesNomenclatureSliceLast ne seront pas associés à l'article du reçu. Passons à l'onglet Connexions concepteur de requêtes. Créons une connexion à travers le terrain Nomenclature entre nos deux tables. Pour ce faire, appuyez sur le bouton Ajouter, dans le champ Tableau 1 sélectionner un tableau Réception des marchandisesServicesBiens, et sur le terrain Tableau 2 - PricesNomenclatureSliceLast. Dans les conditions de communication, sélectionnez les champs Nomenclature des deux tableaux.

Il convient également de noter que dans la sélection de requête, nous devons obtenir toutes les lignes de la partie onglet Marchandises et les prix uniquement s'ils sont disponibles à la date du jour pour le type de prix du document. Ainsi, les données tabulaires Marchandises sont obligatoires, mais les données de ventilation des prix ne sont pas disponibles. Par conséquent, dans les relations entre ces tables, il est nécessaire d'utiliser ce qu'on appelle LEFT JOIN, et la table de gauche (ou requise) sera Réception des marchandisesServicesBiens, et le droit (ou facultatif) PriceNomenclatureSliceLast. Pour que la jointure gauche des tables de requête fonctionne comme je l'ai décrit ci-dessus, vous devez cocher la case Tous après le terrain Tableau 1.


La requête est presque prête, il ne reste plus qu'à travailler un peu sur les alias de terrain. Allons au signet Syndicats/Alias et définissez un alias pour le champ PrixNomenclature Slice Latest.Price. Le surnom sera - PrixAujourd'hui, il est nécessaire pour que les noms des champs de sélection de requête et les noms des paramètres dans la mise en page du formulaire imprimé correspondent.

Le travail dans le concepteur de requêtes est maintenant terminé, cliquez sur OK. Une fois la fenêtre du concepteur fermée, vous verrez que la ligne avec le texte de la demande est remplie et ressemble à ceci :

Request.Text = "SELECT | Réception de GoodsServicesProducts.Nomenclature, | Réception de GoodsServicesProducts.Amount, | Réception de GoodsServicesProducts.Price, | Réception de GoodsServicesProducts.Quantity, | PricesNomenclature Tranche de Latest.Price AS PriceToday | FROM | Document. Réception de GoodsServices.Goods AS Réception ProductsServicesProducts | CONNEXION GAUCHE RegisterInformation.PricesNomenclature.SliceLast (| &CurrentDate, PriceType = &PriceType) AS PricesNomenclatureSliceLast |

Exécuter la demande

Passons les paramètres nécessaires à la requête ; pour cela nous utiliserons la méthode request DéfinirParamètre(<ИмяПараметра>,<Значение>). Pour obtenir la date actuelle, utilisez la fonction intégrée La date actuelle(), il renvoie la date et l'heure de l'ordinateur.

Exécutons une requête pour obtenir un échantillon avec les données dont nous avons besoin. Pour ce faire, utilisez d'abord la méthode de requête Courir(), puis la méthode Choisir().

Sélectionner = Query.Run().Select();

Remplir le tableau du formulaire imprimé

En conséquence, dans la variable Échantillon contiendra une sélection de résultats de requête, vous pouvez y naviguer en utilisant la méthode Suivant(), et pour parcourir tout cela, vous avez besoin d'une boucle Au revoir. La conception sera la suivante :

While Select.Next() Boucle EndLoop;

C'est dans cette boucle que l'on va remplir et afficher la zone de layout Données. Mais d’abord, initialisons deux variables de type numérique. Nous y collecterons les totaux par quantité et montant que nous devons afficher dans la zone. Sous-sol.

Somme totale = 0 ; Quantité totale = 0 ;

À l'intérieur de la boucle, nous remplirons la zone Données les données de l'élément de sélection actuel en variables Montant total Et Quantité totale ajoutez des valeurs de somme et de quantité, et enfin, affichez la zone dans un tableur en utilisant la méthode qui nous est déjà familière Sortir(). Puisque les noms des champs de notre demande coïncident complètement avec les noms des paramètres de zone Données, puis pour remplir, nous utiliserons la procédure intégrée FillPropertyValues(<Приемник>, <Источник>), qui copie les valeurs des propriétés<Источника>aux propriétés<Приемника>.

While Selection.Next() Boucle FillPropertyValues(AreaData.Parameters,Selection); Somme totale = Somme totale + Sample.Sum ; Quantité totale = Quantité totale + Échantillon.Quantité ; TabDoc.Output(AreaData); Fin du cycle ;

Sortie du pied de page d'un formulaire imprimé dans une feuille de calcul

Il reste à remplir et afficher la dernière zone de la mise en page - Sous-sol. Nous avons déjà préparé les données pour le remplissage, le remplissage et le retrait s'effectuent selon le même schéma.

AreaFooter.Parameters.TotalQuantity = Quantité totale ; AreaFooter.Parameters.TotalSum = TotalSum ; TabDoc.Output(AreaFooter);

Le document tableur est entièrement rempli, il ne reste plus qu'à l'afficher à l'écran pour que l'utilisateur puisse visualiser le formulaire imprimé et l'imprimer si nécessaire. Mais dans les configurations typiques de 1C 8, les procédures de modules spéciaux sont responsables de la sortie des formulaires imprimés externes. Il suffit donc de revenir de la fonction Joint() document de feuille de calcul complété.

Retourner TabDoc ;

À ce stade, la phase de programmation est terminée et la création du formulaire d'impression 1c est presque terminée. Texte intégral de la fonction Joint() Je ne le donnerai pas ici, vous pouvez le consulter dans le fichier imprimable, que vous pouvez télécharger en bas de l'article.

Création d'un formulaire imprimé 1C. Options d'enregistrement automatique

Lors de la connexion d'un formulaire d'impression externe à la base de données, le système ne détermine pas automatiquement à quel document ou ouvrage de référence le formulaire d'impression est destiné ; vous devez le sélectionner manuellement ; Et si une autre personne a rédigé le formulaire imprimé et que vous êtes uniquement chargé de le connecter, le choix peut devenir ambigu. Afin d'éviter de tels problèmes, dans tous les formulaires imprimés externes, il est nécessaire de créer une mise en page avec des paramètres d'enregistrement automatique. S'il est créé et correctement formaté, le système détermine automatiquement à quel document ou ouvrage de référence le formulaire imprimé est destiné.

Cela se fait comme suit :

  • Dans traitement externe créer une nouvelle mise en page. Nous l’appelons « Settings_Auto-Registration » (il est important de ne pas se tromper !).
  • Dans la première cellule de la mise en page, nous écrivons Documentation.(ou Annuaires.) et le nom du document auquel vous devez connecter le formulaire imprimé.

Connexion d'un formulaire d'impression externe à la base

  • Démarrez 1C 8 en mode Entreprise;
  • Aller au menu Service -> Rapports et traitements supplémentaires -> Formulaires imprimés externes supplémentaires;
  • Cliquez sur le bouton Ajouter;
  • Dans la fenêtre qui s'ouvre, cliquez sur l'icône Remplacer le fichier de traitement externe;
  • Si vous avez créé des paramètres d'enregistrement automatique, nous acceptons de les utiliser ;
  • Si vous n'avez pas créé de paramètres d'enregistrement automatique, alors dans la partie tabulaire Accessoire plaque d'impression ajouter le document ou l'ouvrage de référence requis ;
  • appuie sur le bouton D'ACCORD.

Après cela, le formulaire d'impression externe sera disponible dans le menu Joint document Réception de biens et services. La création du formulaire imprimé 1C peut désormais être considérée comme terminée.

Allons à Service->Rapports et traitements supplémentaires->Plaques d'impression externes en option.

Le formulaire de liste d'annuaire avec des formulaires imprimés externes s'ouvre. Dans le menu supérieur de la liste, cliquez sur Ajouter. Le formulaire de création d'un élément de répertoire apparaît.

Cliquez sur le bouton Ouvrir et sélectionnez le fichier contenant le formulaire d'impression souhaité. Après cela, si nécessaire, définissez le nom souhaité (champ Nom).

Si le formulaire imprimé contient des paramètres d'enregistrement automatique, un message à ce sujet apparaîtra. Cliquez sur Oui.Si cela ne se produit pas, vous devez alors indiquer à quel document ce formulaire sera lié. Pour ce faire, vous devez ajouter une ligne dans la partie tabulaire « Affiliation du formulaire imprimé », où dans la « Représentation de l'objet ». champ sélectionnez le type de document auquel nous lions le formulaire. Puisque dans notre exemple il s'agit d'un acte de radiation de matériaux, nous sélectionnons le document Demande-facture.

Après cela, accédez à n'importe quel document Demande-facture, cliquez sur Imprimer et sélectionnez le formulaire nouvellement ajouté.

Pour BP 3.0, ZUP 3.0, UT 11, KA 2.0, ERP 2.0.

Pour démontrer l'ajout d'un formulaire imprimé dans une interface gérée, je montrerai l'ajout d'un formulaire externe de facture de paiement à un document du même nom dans Comptabilité 3.0.

On se rend dans la section correspondante du programme :


Il faut que le flag d'utilisation des rapports et traitements externes soit activé ; suivre le lien hypertexte vers la liste des objets externes :

Dans la liste qui s'ouvre, cliquez sur Créer:


Dans la boîte de dialogue, sélectionnez le fichier souhaité :


La fiche de l'objet externe est renseignée : dans la mise en page on voit le type d'objet de base auquel le formulaire sera attaché et juste en dessous de son nom :


Écrivons et fermons le formulaire de l'objet externe créé.

Passons maintenant à n'importe quel document Facture de paiement à l'acheteur et affichez le menu d'impression :