Sintassi completa (fare clic per espandere)
Elenco dei valori
Descrizione:
Un elenco di valori è un oggetto non memorizzato nel database, che consente di creare insiemi dinamici di valori per risolvere problemi di interfaccia e manipolarli (aggiungere, modificare, eliminare elementi, ordinare). Può essere riempito con valori di qualsiasi tipo, ad es. in un elenco, i tipi di valori memorizzati possono essere diversi. Un esempio di utilizzo di questo oggetto è l'organizzazione della selezione di un documento specifico da un elenco di possibili documenti generati da un complesso algoritmo.
Elementi della collezione: ItemListValues
È possibile attraversare la raccolta per un oggetto utilizzando l'operatore Per ogni ... Da ... Ciclo. L'attraversamento seleziona gli elementi della collezione.
È possibile accedere ad un elemento di una collezione utilizzando l'operatore [...]. L'indice dell'elemento viene passato come argomento ( numerazione da 0).
Proprietà:
Metodi:
Costruttori:
Procedura &OnClient EseguiCodice(Comando) /// Come creare un elenco di valori in 1s 8.3, 8.2 List = Nuovo elenco di valori; /// Come aggiungere un elemento all'elenco di valori in 1s 8.3, 8.2 // aggiungi i parametri del metodo:// - Senso // - prestazione // - segno (facoltativo) // - immagine (richiesto) Elenco. Aggiungi( 1980 , // valore dell'elemento "Anno di nascita di Vasya"// prestazione ) ; Elenco. Aggiungi(1985 , "Il compleanno di Yulia") ; // i valori possono essere tipi diversi Elenco. Add("Polina" , "Nome del bambino" ) ; /// Come inserire un elemento nell'elenco dei valori in 1s 8.3, 8.2 // inserisci alla posizione #2 (gli elementi sono numerati da 0) // elemento con valore 2010 e rappresentazione // "Anno di nascita della loro figlia comune" Elenco. Incolla(2 , 2010 , "Anno di nascita della loro figlia comune") ; /// Come bypassare gli elementi dell'elenco di valori in 1s 8.3, 8.2 Per ogni elemento dall'elenco Loop Report( Element. View + ": " + String(Element. Value) ); Fine Ciclo ; /// Come cancellare l'elenco dei valori in 1s 8.3, 8.2 Elenco. Chiaro() ; Elenco. Add("Lunedì" ); Elenco. Add("Martedì" ); Elenco. Add("mercoledì" ); /// Come scoprire il numero di elementi dell'elenco di valori e anche /// ottiene un elemento della lista in base al suo indice in 1s 8.3, 8.2 // numerazione da zero Per Indice = 0 Per elenco. Quantità() - 1 Ciclo Report(Lista[Indice] ) ; Fine Ciclo ; /// Come trovare un elemento della lista in base al suo valore in 1s 8.3, 8.2 ValueTuesday = Lista. FindByValue("Martedì" ); /// Come trovare l'indice di un elemento nella lista in 1s 8.3, 8.2 Report(List. Index(ValueTuesday) ) ; // 1, poiché la numerazione parte da zero /// Come ordinare l'elenco in base ai suoi valori in 1s 8.3, 8.2 // era: lunedì, martedì, mercoledì Elenco. SortByValue(OrdinamentoDirezione. Discendente) ; // divenne: mercoledì, lunedì, martedì /// Come rimuovere un elemento dall'elenco dei valori in 1s 8.3, 8.2 // rimuove il primo elemento // parametro: elemento della lista // o indice dell'elemento// puoi fare questo List. Elimina(Lista[ 0 ] ); // o giù di lì // Lista.Delete(0); /// Come spostare un elemento dell'elenco di valori in 1s 8.3, 8.2 // sposta l'elemento zero di una posizione in avanti // era: lunedì martedì Elenco. Sposta(0, 1); // divenne: martedì lunedì /// Come fare una copia della lista in 1s 8 ListCopy = Lista. Copia() ; Colori = Nuovo ValueList; Colori. Add("Rosso" ); Colori. Aggiungi("Verde" ); Colori. Aggiungi("Blu" ); /// Come scaricare i valori dell'elenco in un array in 1s 8.3, 8.2 ArrayColors = Colori. ScaricaValori() ; /// Come caricare i valori dell'elenco da un array in 1s 8.3, 8.2 Colori. LoadValues(ArrayColors) ; FineProcedura /// Come effettuare una selezione non modale di un valore da un elenco /// valori in 1s 8.3, 8.2 Procedura &OnClient Come CreareValoreSelezionaModale(Comando) Colori = Nuova ListaValori; Colori. Add("Rosso" ); Colori. Aggiungi("Verde" ); Colori. Aggiungi("Blu" ); // la procedura AfterItemSelect è definita appena sotto AlertAfterItemSelection = Nuovo AlertDescription( "Dopo la selezione dell'elemento", ThisObject ); Colori. ShowItemChoice( AlertAfterItemChoice, "Scegli il tuo colore preferito"); EndProcedure &AtClient Procedure AfterElementSelection(Element, Parameters) Export If Element<>Undefined Then Report(Item. Value) ; Finisci se ; FineProcedura /// Come creare un segno non modale di valori da un elenco /// valori in 1s 8.3, 8.2 Procedura &OnClient Come CreareMarchioValoreModale(Comando) Colori = Nuova ListaValori; Colori. Add("Rosso" ); Colori. Aggiungi("Verde" ); Colori. Aggiungi("Blu" ); // la procedura AfterMarkingItems è definita appena sotto AlertAfterMarkItems = Nuova descrizione avviso( "Dopo la marcatura degli articoli", ThisObject ); Colori. ShowItemMark( NotificationAfterItemMark, "Scegli i tuoi colori preferiti"); Colori. FillRemarks(True) ; EndProcedure &OnClient Procedure AfterMarkingElements(Elements, Parameters) Export If Elements<>Undefined Then For Each Color From Elements Loop If Color. Contrassegna quindi segnala (colore. Valore) ; Finisci se ; Fine Ciclo ; Finisci se ; FineProcedura /// Come effettuare una selezione modale di un valore dall'elenco in 1s 8.3, 8.2&Al client Procedura Come creareModalSelectValue(Command) Colors = New ValueList; Colori. Add("Rosso" ); Colori. Aggiungi("Verde" ); Colori. Aggiungi("Blu" ); SelectColor = Colori. Scegliere oggetto( "Scegli il tuo colore preferito"); Se scegli Colore<>Undefined Then Report(SelectColor. Value) ; Finisci se ; FineProcedura /// Come creare un segno modale di valori da un elenco /// valori in 1s 8.3, 8.2 Procedura &OnClient Come CreareMarchioValoreModale(Comando) Colori = Nuova ListaValori; Colori. Add("Rosso" ); Colori. Aggiungi("Verde" ); Colori. Aggiungi("Blu" ); Se i colori. Contrassegna elementi ( "Scegli i tuoi colori preferiti") Quindi per ogni colore da Color Cycle If Color. Contrassegna quindi segnala (colore. Valore) ; Finisci se ; Fine Ciclo ; Finisci se ; // ed è così che puoi impostare tutti i segni contemporaneamente // lista a un valore specifico Colori. FillRemarks(True) ; FineProcedura /// Scarica ed esegui questi esempi su un computer |
IN nuova versione 1C 8.3.5 ha migliorato il lavoro con le impostazioni dell'elenco.
Ora le impostazioni sembrare più facile, usali conveniente e, soprattutto, ora le impostazioni dell'elenco persistere.
Inoltre, per facilitare il lavoro degli utenti, l'impostazione degli elenchi è il più simile possibile all'impostazione dei report.
E le condizioni in base alle quali viene selezionato l'elenco vengono inoltre visualizzate automaticamente in righe separate nella parte inferiore delle impostazioni. Ciò consente di attivare e disattivare rapidamente singoli elementi di selezione. C'è un'opzione per includere automaticamente le stesse impostazioni nel modulo dell'elenco principale. Se lo si desidera, l'utente può specificare autonomamente quali impostazioni desidera visualizzare (che utilizza più spesso) sotto forma di un elenco.
Come accennato in precedenza, tutte le impostazioni dell'elenco (selezioni, ordinamento, raggruppamento e formattazione condizionale) vengono ora salvate automaticamente. Ma a parte questo impostazioni ora puoi salvare e manualmente dando loro un nome significativo. Di conseguenza, per lo stesso elenco, l'utente può memorizzare diverse opzioni per le sue impostazioni. Questa funzione sarà molto utile per elenchi complessi che utilizzano varie opzioni formattazione condizionale.
Cerca nelle liste.
Il meccanismo di ricerca negli elenchi è stato riprogettato. La ricerca è diventata di più conveniente e comprensibile.
La prima differenza esterna è che ora nel pannello dei comandi del modulo ci sono due nuovi elementi: "Barra di ricerca" e "Controllo di ricerca".
Come prima, per trovare qualcosa, devi solo iniziare a digitare le parole che stai cercando sulla tastiera. Il cursore andrà automaticamente alla barra di ricerca e i caratteri digitati verranno visualizzati in essa. In questo caso, la piattaforma cercherà in tutte le colonne dell'elenco contemporaneamente più valori (frammenti di riga). Per facilitare la navigazione nei risultati della ricerca, la piattaforma punti salienti frammenti di stringa trovati.
Una possibilità molto comoda di una nuova ricerca è la ricerca per numero ignorando gli zeri iniziali. Ad esempio, per trovare una fattura con il numero 000000011, basta digitare "11" sulla tastiera (o nella barra di ricerca):
Il comando è tornato sulla piattaforma "Cerca per valore attuale". Ora è possibile trovare facilmente tutte le righe della tabella che contengono lo stesso valore della cella selezionata. E sopra la tabella, vengono visualizzati quei valori in base ai quali vengono trovate le righe della tabella. Diventò ben visibile che la tabella non riporta tutti i dati, ma solo alcuni di essi. E i valori cercati, ora puoi facile da rimuovere o cambiare ad altri valori.
Inoltre, un punto utile è che la piattaforma ricorda i valori correnti che sono stati cercati. Questi valori sono memorizzati in cronologia delle ricerche, disponibile tramite il pulsante di controllo della ricerca. Pertanto, in qualsiasi momento è possibile tornare ai valori di ricerca utilizzati in precedenza.
Ricerca Avanzata.
Il meccanismo di ricerca che esisteva prima nella piattaforma è rimasto e ora si chiama "Ricerca avanzata". Un po' cambiato aspettoè stata aggiunta la sua finestra di dialogo e la possibilità di cercare all'inizio della riga.
Esiste un comando separato per chiamare la ricerca avanzata e, inoltre, la piattaforma lo utilizza quando vengono modificati i valori che sono già stati cercati.
Selezione del periodo.
Finestra di dialogo per la selezione del periodo ridisegnata. Questa finestra di dialogo viene utilizzata nei rapporti per impostare il periodo per il quale i dati devono essere visualizzati. E anche la stessa finestra di dialogo viene utilizzata negli elenchi dei documenti per cercare documenti relativi a un determinato periodo.
La selezione di un elenco di documenti per periodo può essere considerata uno dei modi per cercarli: ricerca per data. Pertanto, il comando di impostazione del periodo viene inserito nel controllo di ricerca.
Alla prima apertura, la finestra di dialogo richiede di selezionare uno o più mesi dell'anno corrente, precedente o successivo. Potere scegliere pochi mesi, selezionandoli con il mouse. Puoi anche h specificando la data di inizio e la data di fine, oppure puoi andare in un'altra pagina della finestra di dialogo e selezionare una delle periodi standard disponibile nella piattaforma. E per facilitare la navigazione, i periodi sono raggruppati per intervalli: giorno, settimana, decennio, ecc.
Ciao, nostri cari colleghi e partner. Nell'ultimo mese, abbiamo ricevuto diverse domande dagli utenti del programma 1C Accounting 8.3 con una richiesta di aiuto per impostare l'elenco degli elementi nel programma com'era in 8.2. Cioè, nel vecchio programma, potevano vedere l'articolo o il codice dell'articolo in magazzino nell'elenco degli articoli. Era molto conveniente. Ma in 8.3 nulla è visibile e incomprensibile. In effetti, tutto è molto facile da configurare. Pertanto, abbiamo deciso di scrivere una piccola istruzione per impostare le directory nel programma 1C Accounting 8.3, ma questo algoritmo è applicabile in qualsiasi configurazione 1C.
Quindi, nella sezione "Riferimenti", apri la directory "Nomenclatura".
Nell'elenco che si apre, vediamo il nome dell'articolo, in cui non ci sono informazioni sull'articolo del prodotto. Per modificare la presentazione della directory, utilizzeremo le impostazioni del suo modulo. Dopo aver aperto l'elenco dei comandi facendo clic sul pulsante "Altro", in fondo troveremo "Cambia modulo".
Nel modulo che si apre, ci vengono presentati tutti i dettagli della directory che è possibile visualizzare sullo schermo.
Impostando le apposite checkbox, ad esempio "Codice" e "Articolo", otterremo un elenco di articoli, che riporta sia il codice che l'articolo.
Tuttavia, in questa forma, anche ad alcuni utenti non piace la directory. Vogliono vedere il numero e l'articolo prima del nome del prodotto. Anche questo è molto facile da risolvere. Ancora una volta, apri il modulo delle impostazioni dell'elenco e usa le frecce blu sulla barra degli strumenti per spostare gli oggetti di scena in alto o in basso, a seconda di come vogliamo vedere l'elenco. Puoi anche "trascinare" i dettagli con il tasto sinistro del mouse.
Ora l'elenco della nomenclatura è come volevi che fosse.
Sperimenta con le impostazioni dell'elenco. Non avere paura. Tutto ciò che ho scritto può essere utilizzato in qualsiasi configurazione su forme gestite e in qualsiasi directory, ad esempio, visualizzare il punto di controllo nella directory "Controparti" o il numero del contratto nella directory "Contratti". Non aver paura di "rompere" qualcosa nel programma.
In casi estremi, sarai sempre salvato dalla possibilità di "Installa impostazioni standard”, che si trova nelle impostazioni del modulo nella sezione “Altro”.
E inoltre. A volte i clienti chiamano con questa domanda: “Ho cliccato su qualcosa e ora i miei nomi non sono in ordine alfabetico. Rimetti tutto com'era". Anche questo problema è facilmente risolvibile. In ogni libro di riferimento, nella barra del titolo della sezione tabulare, è sempre presente una "freccia magica" che indica la colonna in base alla quale è impostato l'ordinamento e la direzione di tale ordinamento.
Puoi cambiare la direzione di ordinamento semplicemente facendo clic su questa freccia e quindi l'elenco verrà ordinato, ad esempio, dalla Z alla A. Se vogliamo che l'ordinamento delle merci avvenga per codice, per questo dobbiamo fare clic sul nome della colonna corrispondente "Codice" e "freccia magica" si sposteranno in un'altra colonna.
OK è tutto finito ora. Spero che il mio consiglio ti aiuti a lavorare con i programmi 1C. Lavora in 1C con piacere. Unisciti ai nostri gruppi in contatto e compagni di classe e sarai sempre il primo a conoscere i nostri nuovi articoli e le modifiche ai programmi.
La nomenclatura in 1C 8.3 indica materiali, semilavorati, attrezzature, servizi, imballaggi a rendere, tute, ecc. Tutti questi dati sono memorizzati nella directory "Nomenclatura". Puoi accedervi dalla sezione "Libri di consultazione", sottosezione "Beni e servizi", voce "Nomenclatura"
Vedrai un elenco di posizioni di directory che ha una struttura gerarchica a più livelli.
In questo articolo considereremo passo dopo passo tutte le istruzioni per il riempimento iniziale della nomenclatura in 1C 8.3 utilizzando l'esempio
Per comodità di utilizzo di questa guida, 1C Accounting utilizza gruppi (cartelle). Combinano una nomenclatura che ha caratteristiche comuni. In ogni gruppo, a sua volta, è disponibile la creazione di sottogruppi (simile a sistema di file sul computer). Il numero di livelli gerarchici è stabilito dal programmatore, ma inizialmente non ci sono restrizioni.
Creiamo un nuovo gruppo. Nel modulo elenco del libro di riferimento "Nomenclatura", fare clic sul pulsante "Crea gruppo".
Specificare il nome del gruppo da creare. Puoi anche compilare il suo modulo, ma non è necessario.
Come puoi vedere nella figura qui sotto, il gruppo che abbiamo creato si adatta ai "Materiali". Se deve essere spostato in un gruppo diverso o nella radice, apri menù contestuale e selezionare Sposta in gruppo. Si aprirà una finestra in cui sarà necessario specificare una nuova posizione.
Creazione di un nuovo articolo in magazzino
Passiamo all'aggiunta della nomenclatura stessa. Per fare ciò, sotto forma di un elenco di directory, fare clic sul pulsante "Crea". Una carta della nuova nomenclatura si aprirà davanti a te.
Compila il campo "Nome". Il valore nel campo "Nome completo" verrà compilato automaticamente. Si prega di notare che il nome completo viene visualizzato nei rapporti, moduli di stampa documenti, cartellini dei prezzi, ecc. Il campo "Nome" viene utilizzato per ricerca conveniente nomenclatura nel programma.
Compila il resto dei dettagli se necessario:
- I campi "Tipo di articolo" e "Incluso nel gruppo" vengono compilati automaticamente dai dati del gruppo in cui viene creato il nuovo articolo. Puoi cambiarli se necessario.
- Il valore nel campo "Unità" è l'unità di archiviazione per il resto di questo articolo.
- L'aliquota fiscale specificata nella richiesta “% IVA”, se necessario, può essere modificata già durante la formazione dei documenti.
- Il "prezzo di vendita" è specificato di default nei documenti di vendita. Questa impostazione può essere modificato facendo clic sul collegamento ipertestuale "?" accanto a questo campo.
- Nella sezione "Produzione" è possibile specificare la voce di costo di questa voce di nomenclatura e la sua specifica (per i prodotti finiti), ovvero la composizione.
- A seconda delle caratteristiche della nomenclatura, vengono compilate altre sezioni, come "Prodotti alcolici" e "Merci importate".
Dopo aver compilato la scheda dell'articolo che si sta creando, è necessario annotarlo.
Qual è il tipo di elemento in 1C 8.3 e come configurarli
Per impostare i tipi di nomenclatura, fare clic sul collegamento ipertestuale corrispondente nel modulo elenco del libro di riferimento "Nomenclatura".
I tipi di articolo sono necessari per separare le posizioni dell'articolo. Ogni tipo può avere il proprio file . È molto importante evitare la presenza di duplicati in questo libro di consultazione, che può portare a un funzionamento errato dei conti contabili degli articoli.
Quando si installa una configurazione tipica da un fornitore, questo manuale sarà già riempito con i principali tipi di nomenclatura. Se il tipo di elemento è un servizio, non dimenticare di impostare l'apposito flag durante la creazione.
Conti contabili delle voci in 1C 8.3
Per generare scritture contabili è necessario impostare i conti contabili. Questo può essere fatto dal modulo elenco del libro di riferimento "Nomenclatura" facendo clic sul collegamento ipertestuale "Nomenclatura conti contabili".
Nella configurazione standard di 1C Accounting 3.0, questo registro è già compilato. Ma se necessario, può essere regolato manualmente.
Gli account possono essere configurati:
- per una specifica posizione nella nomenclatura;
- per gruppo di nomenclatura;
- per tipo di nomenclatura;
- per magazzino;
- per tipologia di magazzino;
- per organizzazione;
- in tutta la nomenclatura, specificando un riferimento vuoto come valore.
Se sono stati impostati conti contabili diversi per un articolo specifico e per esso, il conto verrà prelevato dall'articolo. In tali casi, i conti aggregati hanno una priorità inferiore.
Impostazione dei prezzi degli articoli
Un articolo può avere più prezzi. Differiscono nei tipi, ad esempio prezzo all'ingrosso, prezzo al dettaglio, ecc.
Vai alla scheda articolo del libro di riferimento "Nomenclatura" e segui il collegamento ipertestuale "Prezzi".
Un elenco si aprirà davanti a te, in cui è possibile per un tipo specifico in una data specifica. È sufficiente indicare il prezzo nell'apposita colonna, quindi cliccare sul pulsante "Registra prezzi". Il documento di impostazione del prezzo dell'articolo verrà creato automaticamente e vedrai un collegamento ad esso in questo elenco.
Guarda anche il video sulla nomenclatura:
In questa unità, faremo conoscenza con un nuovo tipo di dati del linguaggio 1C, che si chiama Lista valori.
Elenco dei valoriè un array, ma con più funzioni. E se è così, allora è anche una raccolta di dati e puoi inserire un insieme di numeri:
// ha creato un elenco di valori
Lista.Aggiungi(23);
Finora, tutto è molto simile a un array, vero? Ma andiamo avanti. Per mostrare ora questi numeri all'utente, scriviamo:
// Passa attraverso ogni elemento dell'elenco For Each Element From List Loop Report(Item.Value);
// visualizza il valore dell'elemento EndCycle;
Ed ecco la prima differenza. Gli elementi di un array ordinario sono i numeri stessi. E accedi al valore corrente dell'elemento Elenco otteniamo con l'opzione Senso, utilizzando la costruzione Elemento. Senso.
Prendi in considerazione alcune funzionalità aggiuntive Valori.
Può ordinare
Ad esempio, possiamo facilmente ordinare un elenco di valori. L'elenco può farlo da solo:
List.SortByValue(SortingDirection.Asc); Nel caso di un array ordinario, dovremmo implementare uno degli algoritmi di ordinamento (ad esempio, "bolla").
Può cercare
L'elenco dei valori è in grado di cercare i propri elementi. Diciamo che vogliamo sapere se il numero inserito dall'utente è nella nostra lista:
InvioNumero(Numero); // ha immesso un numero dall'utente FoundItem = List. TrovaPerValore(Numero);
If FoundItem = Undefined Then OpenValue("Numero " + Numero + " non trovato nell'elenco!"); Altrimenti
OpenValue("Number " + Number + " è nella lista. Eccolo:" + FoundItem.Value);
Finisci se; Elenco dei valori
Supporta l'inserimento e la cancellazione
Un elenco di valori, come un array, supporta l'inserimento e la rimozione di elementi:
Elenco. Inserisci(0, 1000);
// inserisce mille all'inizio della lista List.Delete(O); // e rimuoverlo immediatamente dall'elenco List. Insert(Lista.Quantità(), 13);
// inserisco 13 alla fine della lista Report(List[List.Count() - 1]);
// visualizza l'ultimo elemento della lista (13)
Supporta parentesi quadre
Come hai già capito, anche la numerazione degli elementi dell'elenco parte da zero, e possiamo fare riferimento a qualsiasi elemento tramite il suo indice utilizzando parentesi quadre:
Notifica(Lista.Valore); // dedotto il secondo elemento della lista Quindi, possiamo esaminare tutti gli elementi della lista in questo modo:
For A = 0 By List.Quantity() - 1 Loop Report(List[A].Value);
Fine Ciclo;
In grado di creare una copia
L'elenco dei valori ha solo una grande opportunità: può creare la propria copia:
ListCopy = List.Copy();
// ha creato una copia della lista // ora possiamo tranquillamente cambiare la copia della lista // mentre la lista originale non cambierà la copia della lista. Valore = 123456;
Può essere convertito in un array
E infine, puoi facilmente scaricare tutti gli elementi dell'elenco in un array in qualsiasi momento:
ArrayNumbers = Elenco. ScaricaValori();
// scaricato in un array
For A = 0 Per ArrayNumbers.Quantity() - 1 ciclo
Report(NumeriArray[A]); // non c'è bisogno di specificare // valore dell'opzione
Fine Ciclo;
Per elaborare e consolidare il materiale di questa unità, si consiglia di completare la seguente attività.
È necessario inserire 5 numeri dall'utente, trovare il più grande e il più piccolo di essi e mostrarli all'utente. La soluzione deve utilizzare un elenco di valori.
Soluzione
List = Nuovo elenco di valori;
// crea una lista di valori For A = 1 By 5 Loop Number = 0;
InvioNumero(Numero); // inserisci un numero dall'utente List.Add(Number); // e aggiungerlo all'elenco EndCycle; // e così 5 volte
// ordina l'elenco dei numeri
Elenco. Ordina per valore(Direzione ordinamento. Asc);
// dopo l'ordinamento, il primo elemento dell'elenco è // l'elemento più piccolo e l'ultimo elemento è il più grande OpenValue("L'elemento più piccolo" + List +
", e il più grande è " + List[List.Count() - 1]);