Progettazione schema di composizione dei dati - scheda Impostazioni. Risultati della ricerca per il modulo di selezione 1s SKD scelta del metodo di confronto nei parametri

Domanda: SKD, come posso aprire il modulo di selezione richiesto per un parametro?


Buon pomeriggio C'è un rapporto sul sistema di controllo degli accessi, contiene il parametro Marchio - tipo Directory.Nomenclatura. Come posso richiamare un modulo di selezione specifico per questo parametro? Ho provato in SKD nella scheda "Parametri", seleziona il parametro desiderato - fai doppio clic sulla colonna "Opzioni di modifica" - seleziona la casella "Modulo di selezione" e inserisci il valore Directory.Nomenclature.Form.SelectionFormRequired. Quando si esegue un report, per impostazione predefinita viene comunque utilizzato il modulo di selezione e non quello specificato nel "Modulo di selezione". Configurazione UT, moduli usuali. Dimmi, per favore, dove, cosa c'è che non va?

Risposta: Frase chiave Forme regolari, passare a quelle gestite

Domanda: selezionare un valore nel modulo di selezione


Buon pomeriggio

Applicazione regolare.

C'è un documento. Contiene diversi dettagli di un tipo di riferimento, ad esempio "DirectoryLink.Banks", con il valore "Bank1".

È necessario nel modulo per selezionare la directory "Banche", SELEZIONARE a livello di codice l'elemento "Bank1", ad es. digitare nuovamente selezionare questo valore "Bank1".

Finora ho fatto quanto segue:
Procedura Eseguire SelectionInSelectionForm(Link)
DirectorySelectionForm = Directory.Banks.GetSelectionForm(,Link); //Ricevo un modulo per selezionare la directory Banche utilizzando il parametro passato Link
//imposta la selezione in questo modulo di selezione, secondo il mio collegamento nei dettagli
DirectorySelectionForm.Selection.Link.Use = Vero;
DirectorySelectionForm.Selection.Link.Value = collegamento;
DirectorySelectionForm.FormElements.DirectoryList.HierarchicalView = False;
DirectorySelectionForm.Open();
//ecco il codice che simula il clic sul pulsante Seleziona, come????
Fine della procedura

Aiuto se qualcuno ha riscontrato questo problema o ha qualche idea.

Grazie.

Risposta:

L'ho fatto in questo modo:

Procedura ExecuteSelectionInSelectionForm(Link, rec) //il parametro "link" è un collegamento di valore nel modulo del documento; "rek" - l'elemento del modulo corrente, ad es. campo di selezione
DirectorySelectionForm = Directory.Banks.GetSelectionForm(,Rec,Link);
DirectorySelectionForm.FormElements.DirectoryList.HierarchicalView = False;
OpenForm(DirectorySelectionForm, fiumi,);

Se il Form.Open() di selezione della directory Allora
DirectorySelectionForm.Activate();
finisci se;

DirectorySelectionForm.CurrentElement.CurrentRow = collegamento;
SelectionEl = DirectorySelectionForm.CurrentElement.CurrentRow;

Se SelectEl = non definito o NON riempito con valore (SelectEl), allora
Report("Il valore "+Link+" non è stato trovato nel modulo di selezione della directory");
Altrimenti
DirectorySelectionForm.NotifyOfSelection(SelectEl);
finisci se;

Fine della procedura

Domanda: Il pulsante "Seleziona" nel modulo di selezione o come fare clic sul pulsante "Seleziona".


Buon pomeriggio

Applicazione regolare.

Che cosa pensi di fare clic sul pulsante "Seleziona" nel modulo di selezione del documento/directory?

Fare clic con il mouse e COM non offre l'automazione.

Lista dei desideri: nel modulo di selezione, simula la pressione del pulsante “Seleziona”.

Risposta: Sembra che ho risolto il problema...un paio di esecuzioni del test.

Aggiunto dopo 17 minuti
Finora funziona così:

1C
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 Procedura Esegui SelectionInSelectionForm(Link, rec) //il parametro "link" è un collegamento di valore nel modulo del documento; "rec" - l'elemento del modulo corrente, ad es. campo di selezione DirectorySelectionForm = Directory. Banche. GetFormSelection(, Rec, Collegamento) ; Modulo di selezione della directory. Elementi del modulo. Elenco directory. Vista Hierarchica = Falso; OpenForm(DirectorySelectionForm, fiumi,) ; Se il modulo di selezione della directory. Open() Quindi DirectorySelectionForm. Attiva() ; Finisci se ; Modulo di selezione della directory. Elemento corrente. RigaCorrente = collegamento; SelectionEl = DirectorySelectionForm. Elemento corrente. RigaCorrente; se SelectEl = non definito o NON riempito con valore (SelectEl), allora Report("Valore" + Link +"non è stato trovato nel modulo di selezione della directory"

) ; in caso contrario, DirectorySelectionForm. Notifica sulla scelta(ChoiceEl) ; Finisci se ;


Fine della procedura
Domanda: Perché il valore non viene più selezionato dal modulo di selezione? Nel modulo del documento è presente un campo del tipo di riferimento DocumentLink.PaymentOrderOutgoing. Una volta selezionato, si apre un modulo per la selezione di un ordine di pagamento in uscita. Una volta selezionato un valore, non viene inserito nel modulo come selezionato. Inizialmente pensavo che l'elaborazione della selezione fosse un'elaborazione standard e il programmatore si era dimenticato di registrare l'elaborazione della selezione. Ma lì tutto è tipico. Apertura del modulo non in modo programmatico, nel campo in cui scelgo di non condurre alcun evento. Cosa potrebbe essere? ---

--- Unione dei messaggi,

Risposta:

2 gennaio 2018

Domanda: Per favore aiutami a impostare la selezione nel modulo di selezione della directory


Quando seleziono una controparte, trasferisco a livello di codice i primi caratteri del nome nel modulo di selezione. Come attivare a livello di codice il primo elemento i cui primi caratteri corrispondono.

Risposta:

elettrone ha detto:

Quando seleziono una controparte, trasferisco a livello di codice i primi caratteri del nome nel modulo di selezione. Come attivare a livello di codice il primo elemento i cui primi caratteri corrispondono.

Fare clic per espandere...

È deciso. Ho creato una tastiera virtuale nel modulo di selezione della directory “Controparti”.
Quando si preme un tasto qualsiasi, il codice viene attivato
SearchResultByDetails = TechRef.FindByName(N, False);
Modulo Elements.DirectoryList.CurrentLine=SearchResultByAttributes;
dove H è una variabile contenente il valore della chiave

Domanda: selezionare il modulo con selezione per l'elenco dei valori


Buon pomeriggio. Ho bisogno del tuo aiuto per risolvere un semplice problema.

Confa ZUP 2 .5 .113 .1 Esiste un report esterno, il report ha l'attributo “lista di basi”, tipo lista di valori.
C'è un modulo di segnalazione. Nel modulo del report, il campo "elenco di basi di input", ValueType = "Elenco di valori" e tipo ListValue = "DirectoryLink.ObjectPropertiesValue".

Come aprire un modulo di selezione con selezione da parte del proprietario di un immobile?

Grazie in anticipo!

Risposta: Nella scheda Opzioni c'è una colonna chiamata Opzioni di modifica. lì puoi provare a configurare le connessioni dei parametri di selezione o il parametro di selezione

Domanda: aprire a livello di codice il modulo di selezione dei documenti 1s 8.3


Come aprire a livello di codice il modulo di selezione del documento 1s 8.3 e salvare il valore selezionato in una variabile?

Google ha fornito alcune soluzioni stampella, vorrei sapere come farlo correttamente.

Risposta:+ () PM ha anche un metodo magico: scarica.

Sezione tabellare
Carico
Sintassi:

Scaricamento(<Таблица>)
Opzioni:

<Таблица>(obbligatorio) Tipo: ValueTable.
Una tabella di valori da cui viene caricata la parte tabulare. Le colonne della tabella sono combinate per nome.
Descrizione:

Carica la parte tabellare dalla tabella dei valori. In questo caso, tutte le righe precedenti della parte tabellare vengono cancellate. Durante il caricamento, i valori nelle colonne della sezione della tabella vengono riempiti con i valori delle colonne della tabella dei valori con nomi corrispondenti.

Disponibilità:

Server, Thick Client, connessione esterna.
Nota:

Il metodo può essere utilizzato solo se la parte della tabella è ottenuta da una proprietà dell'oggetto. Se la parte della tabella viene ottenuta da una proprietà di collegamento (o selezione), l'utilizzo di questo metodo causerà un errore di runtime.
Esempio:

Composizione.Load(CompositionTable);

Domanda: Passaggio dei parametri al modulo di selezione.


Mi aiuti per favore.
Dal documento "Vendite di beni e servizi" viene richiamato il modulo di selezione del contratto (ERP). La conf è modificata, la confronto con quella standard. In ProcessingCreationOnServer del modulo di selezione, cerco nel debugger Parametri.Selezione. Non riesco proprio a capire come è formato l'elenco di selezione: non esiste una chiamata esplicita a questo modulo con parametri, c'è solo un elemento di selezione nella proprietà "SelectionParametersLink" e ce ne sono già diversi in Parametri.Selection. Forse qualcuno può dirmi dove cercare.

La scheda replica la finestra di dialogo personalizzata "Impostazioni", disponibile per l'utente per configurare i parametri del report.

Compilando le impostazioni in questa scheda viene utilizzato per configurare il report predefinito nella modalità utente del report.
La finestra per impostare il report è disponibile nella modalità report personalizzato e la differenza rispetto all'impostazione dell'ACS nel configuratore è che è possibile utilizzare i valori dei dati non predefiniti dal database.
La finestra delle impostazioni è costituita da una finestra principale in cui vengono visualizzati elenchi di raggruppamenti, tabelle e grafici e da una serie di schede in cui vengono impostati i parametri delle impostazioni per gli oggetti specificati nella sezione raggruppamenti. Possiamo indicare quali impostazioni sono attualmente in fase di modifica cliccando sul pulsante con la scritta relativa a quale oggetto stiamo modificando:

È possibile modificare le impostazioni generali dell'intero report e, cliccando sul pulsante corrispondente, è possibile modificare le impostazioni esclusivamente per l'oggetto selezionato: elemento di raggruppamento, tabella, grafico.

Scheda "Parametri dati"
In questa scheda vengono impostati i valori dei parametri dei dati. L'elenco dei parametri dei dati disponibili è determinato nella scheda "Parametri" del diagramma ACS; qui vengono impostati solo i valori dei parametri definiti dall'utente. Inoltre, sono disponibili solo i parametri per i quali la casella di controllo "Disponibilità limitata" è deselezionata nello schema di controllo degli accessi.


La tabella contiene diverse colonne:
1. “Utilizza” - spuntando l'utente indica se utilizzare o meno questo parametro per generare un report.
2. “Parametro” - nome del parametro
3. “Valore del parametro” - il valore del parametro o un'indicazione da dove è possibile recuperare il valore del parametro. Ad esempio, se si ripristina il valore corrente facendo clic su "X", facendo clic sul pulsante "T" si aprirà una selezione del tipo di parametro nella finestra di dialogo:

L'origine può essere qualsiasi valore di tipo semplice String, Date, Number, Boolean o un riferimento a un oggetto nel database. La sorgente di questo parametro può essere anche il valore di un altro parametro; per fare ciò selezionare il valore “Campo composizione dati” e selezionare il campo desiderato dalla lista dei parametri.
Per le date è possibile assegnare valori automatici per la sostituzione: "Inizio di questo giorno", "Inizio di questa settimana", ecc.

Scheda "Campi selezionati".
In questa scheda si definiscono i campi, ad eccezione dei raggruppamenti, che verranno visualizzati nel report. La scheda contiene due elenchi con i campi disponibili e i campi selezionati. Oltre ai campi definiti nei set di dati, sono disponibili per l'output i parametri e i campi di sistema “Sequence Number”, “Sequence NumberInGrouping”, “Level”, “LevelInGrouping”, nonché i campi personalizzati definiti nella scheda “Custom Fields” .

È possibile trasferire i campi facendo doppio clic sul nome nella finestra di sinistra oppure utilizzando l'apposito pulsante nel pannello di comando. È possibile aggiungere i seguenti elementi: “Nuovo campo”, “Nuovo gruppo”, “Nuovo campo automatico”. "Nuovo campo": aggiunge un elemento in cui è possibile selezionare un campo dall'elenco di campi disponibili. "Nuovo gruppo": puoi raggruppare più campi sotto un'unica intestazione. “Nuovo campo automatico” - viene utilizzato per indicare che i campi visualizzati per i raggruppamenti verranno selezionati dalle impostazioni di raggruppamento di un livello superiore. Ad esempio, dopo aver definito un numero di campi risorsa per l'intero report, abbiamo specificato un nuovo campo automatico per i raggruppamenti. Puoi eliminare gli elementi utilizzando il pulsante Elimina o spostarli per posizione utilizzando i pulsanti di spostamento. Selezionando le caselle è possibile modificare la visibilità dei campi nel report.
Dopo aver definito un insieme di campi, possiamo modificare i campi nell'elenco; dobbiamo entrare nella modalità di modifica dei campi, fare clic sul pulsante di selezione e selezionare il campo desiderato dall'elenco.

Per le risorse, sono disponibili per la selezione chiarimenti per il calcolo degli attributi: "% nel gruppo" - utilizzato per calcolare la quota del valore della risorsa per l'intero raggruppamento nel gruppo, ad es. di conseguenza, il gruppo basato sulla totalità dei valori delle risorse sarà del 100%; "% totale": la percentuale totale, indipendentemente dal gruppo, per tutti i valori delle risorse.
Per i campi di tipo oggetto: directory, documento, ecc. È possibile specificare i dettagli dell'oggetto nei campi selezionati.

Scheda "Selezione"
In questa scheda si definiscono le selezioni che influiscono sul risultato del report.


Come nella scheda “Campi selezionati”, ci sono due finestre: a sinistra ci sono tutti i campi ACS disponibili per la selezione nella selezione, a destra ci sono gli elementi e i valori che influenzano la selezione. Puoi anche aggiungere un nuovo elemento o gruppo di elementi utilizzando il pulsante Aggiungi. Puoi eliminare gli elementi utilizzando il pulsante Elimina o spostarli per posizione utilizzando le frecce di spostamento. Selezionando le caselle è possibile regolare l'attività di una particolare selezione nel report. Dopo aver fatto clic sul pulsante "Simile", i dettagli chiarificatori della selezione vengono aggiunti all'elenco degli elementi di selezione: "Modalità di visualizzazione" e "Presentazione".

Dopo aver aggiunto un nuovo elemento all'elenco di selezione, sono disponibili per la modifica i seguenti campi:
"Valore sinistro" - Campo ACS o un campo di tipo semplice ("Numero", "Stringa", "Data", "Booleano"), su cui viene applicata la selezione
“Tipo di confronto” - un elenco di possibili condizioni di selezione: “Uguale”, “Diverso”, “Nell'elenco”, “In un gruppo dall'elenco”, “In un gruppo”, “Non nell'elenco”, “ Non in un gruppo dall'elenco”, “Non in gruppo”, “Contiene”, “Non contiene”, “Compilato”, “Non compilato”
“Valore destro” - valore di selezione, corrisponde al valore del campo “Valore sinistro”. Se il "Tipo di confronto" è "Nell'elenco", "In un gruppo dall'elenco", "Non nell'elenco", "Non in un gruppo dall'elenco", è disponibile un elenco di valori per l'impostazione
“Modalità di visualizzazione” - sono disponibili due opzioni: “Accesso rapido” e “Normale”. Se è installato "Accesso rapido", se possibile, i valori per la selezione vengono visualizzati sotto forma di un elenco a discesa, ciò è particolarmente vero per directory, enumerazioni o tipi di caratteristiche piccoli e che cambiano raramente. "Normale" è il metodo predefinito per visualizzare i valori per gli oggetti sotto forma di modulo di selezione o elenco.
"Visualizza": una visualizzazione testuale della selezione in modalità abbreviata (se il pulsante "Dettagli" non viene premuto), nonché una visualizzazione della selezione durante la visualizzazione del report.
È possibile aggiungere gruppi alle selezioni - che servono a combinare più selezioni, secondo qualsiasi criterio “AND”, “OR”, “NOT”.


Ad esempio, è necessario combinare diverse condizioni utilizzando l'operatore AND. Per fare ciò, è necessario aggiungere "Gruppo AND" alla selezione ed elencare le condizioni in questo gruppo. È consentita la nidificazione di gruppi, con l'aiuto del quale è possibile creare condizioni complesse. Oltre a “Gruppo AND”, sono disponibili “Gruppo OR” e “Gruppo Non”. Di default è presente semplicemente una lista di condizioni di selezione che non appartengono ad alcun gruppo, collegate tra loro tramite l'operatore “AND”.

Scheda "Ordinamento".
Questa scheda specifica i campi in base ai quali viene eseguito l'ordinamento.


L'aggiunta di campi in questa scheda è simile a quella eseguita nella scheda "Campi selezionati". L'unico parametro specificato nei campi di ordinamento selezionati è la direzione di ordinamento.

Scheda “Aspetto condizionale”
Nella scheda “Formattazione condizionale” indichiamo quali campi, condizioni di selezione e condizioni di registrazione verranno applicati durante la visualizzazione dei campi nel report.


"Area" è un elenco di campi interessati dall'aspetto condizionale.

“Selezione” - condizioni di selezione alle quali è valida la registrazione condizionale

Le condizioni di selezione sono specificate allo stesso modo della scheda “Selezione” della finestra principale delle impostazioni del layout.
"Progettazione condizionale": quando si compila questo campo, viene visualizzata una finestra con una scelta di possibili opzioni di progettazione per i campi specificati.

Elenco delle possibili opzioni di progettazione:
Colore sfondo: definisce il colore di sfondo delle celle.
Colore testo: definisce il colore del testo nelle celle
Colore grafico: definisce il colore delle linee nel grafico.
Colore bordo: colore della linea del bordo
Stile bordo: tipi di linea di bordo
Stile bordo sinistra - sinistra
Stile bordo superiore: superiore
Stile del bordo destra - destra
Stile bordo inferiore: inferiore
Carattere: tipo di carattere, spessore, inclinazione, ecc.
Rientro: numero di caratteri di rientro
Rientro automatico: numero di caratteri di rientro utilizzati nei raggruppamenti
Posizione orizzontale: posizione orizzontale del testo in una cella
Posizione verticale: la posizione verticale del testo nella cella
Posizionamento: posiziona il testo che non rientra nella cella
Orientamento del testo: orientamento del testo in gradi (ad esempio, perpendicolare di 90 giri)
Formato: stringa del valore del formato
Evidenzia negativo: firma per evidenziare i valori negativi
Larghezza minima: larghezza minima della cella in punti
Altezza minima - Altezza minima della cella
Altezza massima - Altezza massima
Testo: il testo visualizzato al posto del valore

Scheda "Campi personalizzati"
In questa scheda è possibile specificare campi personalizzati e formule in base alle quali verranno calcolati i campi.


Quando si fa clic sull'aggiunta di un campo, si aprirà una selezione del tipo di campo personalizzato: “Nuovo campo di selezione”, “Nuovo campo di espressione”.
“Campo di selezione” - viene visualizzata una finestra di dialogo per la costruzione di un nuovo campo di selezione. Questo campo assumerà i valori specificati a seconda della condizione di selezione specificata nella tabella “Opzioni”.

"Espressione campo": utilizzata nel caso in cui sia necessario inserire campi calcolati senza modificare lo schema di layout. Ad esempio, lo schema contiene le risorse "Quantità" e "Importo". In modalità utente vogliamo calcolare il prezzo. Per fare ciò, inseriamo la formula nel campo di progettazione dell'espressione:

È possibile utilizzare espressioni provenienti da query nei campi personalizzati.
Inoltre, per designare i record totali in un'espressione, è necessario utilizzare le funzioni aggregate SUM(..), QUANTITY(), MIN(..), MAX(..)

Scheda "Altre impostazioni".
Nella scheda "Altre impostazioni" definisci le impostazioni che influiscono sulla disposizione di raggruppamenti, campi di selezione, risorse, ecc.

Layout di progettazione Layout di progettazione predefiniti definiti
Posizione dei totali Il parametro influisce sulla posizione dei totali
Posizione dei campi di raggruppamento
Posizione delle fazioni
Posizione dei dettagli
Posizione delle risorse
Disposizione orizzontale dei totali generali
Disposizione verticale dei totali complessivi
Tipo di intestazione del campo
Tipo di grafico
Valore base
Salta il valore base
Composizione delle firme
Modalità scorrevole
Visualizza la tabella dei dati
Valore massimo
Valore minimo
Bordatura
Pendenza
Font
Colore di sfondo
Stile della linea
Posizionamento della legenda
Strisce del grafico di misurazione
Visualizza il titolo
Intestazione
Parametri dei dati di uscita
Visualizzazione della selezione

Finestra delle impostazioni di raggruppamento


Le impostazioni dello schema di composizione dei dati possono contenere una struttura che include gli elementi delle impostazioni disponibili.
Questi elementi sono:
raggruppamento;
tavolo;
diagramma;
rapporto nidificato.

Per il raggruppamento sono disponibili le seguenti impostazioni:
Flag di utilizzo del raggruppamento: se impostato, il raggruppamento viene utilizzato durante il layout;
Campi di raggruppamento: un insieme di campi in base ai quali viene eseguito il raggruppamento. Ogni campo di raggruppamento del sistema di composizione dei dati ha le seguenti proprietà:
- Flag utilizzo campo - se impostato, il campo viene utilizzato;
- Campo di raggruppamento: percorso dei dati del campo in base al quale viene effettuato il raggruppamento;
- Tipo di raggruppamento – tipo di raggruppamento (Gerarchia, Solo Gerarchia, Elementi);
- Tipo di aggiunta: la necessità di aggiungere date nel periodo;
- Data di inizio: la data di inizio del periodo. Può contenere un valore costante o un valore di campo;
- Data di fine: la data di fine del periodo. Può contenere un valore costante oppure il valore è un campo;

Quando si raggruppa per campo periodo, al raggruppamento viene automaticamente aggiunto un campo periodo principale, che non è un periodo aggiuntivo, se i raggruppamenti principali non sono stati raggruppati in base a questo campo periodo principale.
Ad esempio, se il raggruppamento viene effettuato dal campo Registratore, il campo PeriodSecond verrà automaticamente aggiunto al raggruppamento.
Tuttavia, è vietata la creazione di raggruppamenti basati sui dettagli dei campi del periodo.

Funzionalità di creazione di report in 1C v8 in modalità Thick Client

Come scegliere un'opzione?

  • Posiziona il pulsante "Seleziona opzione" sul pannello del report
  • Inserisci il campo "OnDate" nel modulo.

Codice di esempio: ProcedureFormActionSelectOption(Button) layout = GetLayout("MainDataLayoutScheme"); spOptions = Nuovo ValueList; Per ogni opzione da layout.OptionsSettings Loop spOptions.Add(option.Settings, option.View); FineCiclo;

selezione = cnOptions.SelectItem(); Se scelta = Non definito Allora Invio; finisci se;

ImpostazioniComposer.LoadSettings(selection.Value);

Creare(); Fine della procedura

Procedura OnDateOnChange(Element) Generate(); Fine della procedura

Procedura Generate()FormElements.Result.Clear(); Impostazioni Composer.Settings.DataParameters.SetParameterValue("Periodo", ToDate); ComposeResult(FormElements.Result); Fine della procedura

Procedura all'apertura() OnDate = CurrentDate(); Creare(); Fine della procedura

Funzionalità di creazione di report tramite il sistema di controllo degli accessi

Creazione di report passo dopo passo

  1. Crea un report nel nodo Report
  2. Creare un layout in un report il cui tipo è Schema layout dati
  3. Nelle proprietà del report impostare: Layout dati base = Layout creato
  4. Nelle proprietà del report, imposta il sottosistema a cui appartiene (il report in Enterprise verrà visualizzato nel pannello di navigazione superiore)
  5. Crea una query in Layout (voce: Aggiungi set di dati - Query)
  6. Nella scheda Opzioni per Layout, devi deselezionare tutte le righe nella colonna Restrizione di disponibilità, ad es. tutti i parametri saranno disponibili per la modifica da parte dell'utente
  7. Nella scheda Impostazioni del Layout, nella finestra in cui è visualizzato il nodo Report, è necessario creare un nuovo raggruppamento senza specificare il campo di raggruppamento: verrà creata una riga dettagliata
  8. Nella scheda Impostazioni di Layout, nella finestra in cui viene visualizzato un set aggiuntivo di segnalibri, seleziona aggiuntivi. Scheda Parametri: contrassegnare tutti i parametri con un segno di spunta e su ciascun parametro fare clic sull'elemento Proprietà dell'elemento Impostazioni utente, si aprirà la finestra delle impostazioni dei parametri, dove è necessario selezionare la casella - Includi parametro nelle impostazioni utente
  9. Nella scheda Impostazioni di Layout, nella finestra in cui viene visualizzato un set aggiuntivo di segnalibri, seleziona aggiuntivi. Scheda SelectedFields: qui è necessario aggiungere colonne che verranno visualizzate nel report
  10. Avvia Enterprise, apri il report, imposta i valori dei parametri, Genera (verifica che l'opzione Generazione report principale sia selezionata)

Come aggiungere un parametro modificabile non dall'utente?

Ad esempio, dobbiamo impostare il parametro di query "Infobase"

  • Nel modulo di layout del layout, nella scheda Opzioni, deseleziona le caselle di controllo "Includi nei campi disponibili" e "Limita disponibilità" per il parametro desiderato.
  • Nella scheda layout layout, nella scheda Impostazioni, nella sottoscheda Parametri (in basso), deselezionare il parametro desiderato, aprire Proprietà (pulsante con chiave inglese), in questa maschera:
    • Deseleziona il flag "Includi nelle impostazioni utente".
    • Imposta la modalità di modifica su "Non disponibile"


  • Nel modulo del modulo di report nel gestore eventi "Quando si carica un'opzione sul server" (è possibile anche all'apertura, ma NON durante la creazione sul server, poiché viene eseguito PRIMA di caricare le impostazioni del report e le impostazioni verranno sovrascritte) impostare a livello di codice il parametro:

&Sul server Procedura durante il caricamento dell'opzione sul server (Impostazioni)

//Impostazione del parametro Impostazioni = Report.Settings Composer.Settings; Impostazioni.DataParameters.SetParameterValue("InformationBase", Report.InformationBase); Fine della procedura

Come impostare le opzioni del rapporto?

  • Nel modulo di layout della scheda Impostazioni nel campo a sinistra è possibile creare le opzioni di report necessarie

Come impostare i raggruppamenti?

  • Nel modulo layout layout della scheda Impostazioni nel campo in alto a destra è possibile creare i raggruppamenti necessari

Come visualizzare un report a livello di codice?

Nel modulo del modulo:

&Sulla procedura client GenerateReportExecute()

ThisForm.ComposeResult();

Fine della procedura

Come testare un rapporto?

Devi fare:

  • Il modo più conveniente per creare una situazione in un test client è tramite una tabella delle situazioni
  • ottieni il modulo del rapporto - form = GetForm("Report.Process Movement.Form.ReportForm");
  • caricare la variante di report desiderata: impostare il parametro di estensione del modulo di report "Chiave variante" (il nome dell'impostazione nel layout di composizione dei dati)
  • caricare le impostazioni del report richieste - ? la compilazione del parametro di estensione del modulo di report "UserSettings" (tipo "UserDataCompositionSettings") non ha funzionato, tutto è complicato, vedi sotto.
  • modulo aperto - form.Open()
  • eseguire la formazione - form.ArrangeResult();
  • controlla il contenuto del modulo del documento del foglio di calcolo Risultato: sarebbe bello avere funzioni di confronto con il riferimento mxl
  • chiudi modulo - form.Close(); - o forse non devi aprirlo, devi controllare

Guarda anche

  • Descrizione: menu Guida/Assistente sintassi/scheda Contenuto/Oggetti interfaccia applicazione gestita/Estensioni modulo gestito/Estensione modulo gestito per report/Opzioni modulo

Come caricare le impostazioni del report richieste?

La documentazione descrive che esiste un parametro di questo tipo per l'estensione del modulo di report "UserSettings" del tipo "UserDataCompositionSettings", ma esiste una struttura dell'oggetto molto complessa, non è stato possibile utilizzarla.

Schema davvero funzionante:

1. Creare parametri nel report

  • Tipo di periodo StandardPeriod
  • Selezione del tipo ValueList (Struttura sarebbe meglio, ma non è nella lista dei tipi di parametro, così come è un tipo arbitrario)

2. Passiamo i parametri necessari alla procedura GetForm:

periodo = NuovoPeriodoStandard; periodo.Opzione = StandardPeriodOption.CustomPeriod; periodo.DataInizio = datacorrente; periodo.EndDate = tomorrowDate;

selezione = Nuova ListaValori; selezione.Add(Testing.GetObject(stSituation, "BP1"), "BusinessProcess");

stParameters = New Structure("Chiave variante, Periodo, Selezione", "Principale", periodo, selezione); // OpenFormModal("Report.Process Movement.Form.ReportForm", stParameters); modulo = GetForm("Report.Process Movement.Form.ReportForm", stParameters);

3. Impostare i parametri nei gestori eventi del modulo

Funzione &OnServer spGet(spList, vista) Esporta per ogni elemento Da spList Ciclo Se elemento.Visualizza = vista Quindi Restituisce elemento.Valore; finisci se;

FineCiclo; Restituisce Non definito; EndFunction

&Sulla procedura server SetCustomSelectionValue(Settings, Name, Value) For Each element From Settings.Elements Loop If TypeValue(element) = Type("DataComposition Selection") Then For Each Selection From element.Elements Loop If Row(selection.LeftValue) = Nome Quindi selezione .RightValue = Valore; selezione.Uso = Vero; finisci se;

FineCiclo; finisci se;

FineCiclo; Fine della procedura

&Sul server Procedura durante il caricamento dell'opzione sul server (Impostazioni)

Nome della CurrentVariant = Vista della CurrentVariant;

Impostazioni = Report.SettingsComposer.Settings; Impostazioni.DataParameters.SetParameterValue("InformationBase", Report.InformationBase);

<>Fine della procedura

Procedura &OnServer durante il caricamento di UserSettingsOnServer(Settings) Impostazioni = Report.Settings Linker.UserSettings;<>"00010101" Quindi Impostazioni = Report.Settings Composer.UserSettings; SetCustomSettingValue(Impostazioni, "Periodo", Parametri.Periodo); finisci se;

Fine della procedura

ssBusinessProcess = spGet(Parameters.Selection, "BusinessProcess"); Se ssBusinessProcess

  • Non definito Quindi SetCustomSelectionValue(Impostazioni, "BusinessProcess", ssBusinessProcess); finisci se;
  • Appunti:
  • Esistono i parametri dati, ovvero ciò che è impostato nei parametri di richiesta ACS
  • Alcuni di essi sono assegnati nelle impostazioni delle opzioni in UserSettings (nelle proprietà dei parametri c'è un flag "Includi nelle impostazioni utente" Anche se durante il caricamento sul server si caricano i valori necessari nei parametri dei dati, si apre un modulo in cui vengono caricate automaticamente le impostazioni salvate l'ultima volta. Queste impostazioni “interrompono” le impostazioni dei dati durante la generazione di un report Nel gestore WhenLoadingUserSettingsOnServer, l'oggetto Impostazioni passato è

una copia

impostazioni reali, quindi, per modificare le impostazioni che compaiono nel form, è necessario compilare l'oggetto Report.Settings Composer.UserSettings Come creare più parametri di query (elenco) in ACS? La query deve utilizzare l'espressione (cm.)

Espressioni booleane nel linguaggio di query 1Cv8 (la pagina non esiste)

Come disabilitare i parametri di query nel sistema di controllo degli accessi?

Nella query SKD è necessario utilizzare le costruzioni racchiuse tra parentesi graffe "{}" .

Se la casella di controllo per il parametro corrispondente è deselezionata nel modulo di report (pannello delle impostazioni rapide), questo costrutto viene rimosso dalla richiesta.

Vedi maggiori dettagli. Estensione del linguaggio di query per il sistema di composizione dei dati (1Cv8)

Come realizzare un report con una suddivisione in colonne?

Per fare ciò, nell'impostare l'opzione del report (modifica del layout del layout dei dati, scheda “Impostazioni”, campo in alto a destra), è necessario aggiungere “Tabella” come primo raggruppamento.

Successivamente, nel nodo "Tabella", vengono visualizzati i rami "Righe" e "Colonne", dove vengono aggiunti i raggruppamenti necessari.

Come configurare il formato di output del campo?

Nell'editor del layout di composizione dei dati, nella scheda “Set di dati” nell'area in alto a destra è presente un elenco di campi del report.

Ci sono due possibilità:

  1. Imposta il valore della colonna "Visualizza espressione".
    • qui puoi inserire un'espressione linguistica che produca la stringa desiderata
    • non funziona con i campi delle risorse
  2. Imposta il valore della colonna "Design".
    • nel design c'è una proprietà "Formato" - questo valore è simile al parametro della funzione linguistica "Formato", puoi impostare l'aspetto desiderato
    • la conversione del tipo non è possibile qui

Per i campi delle risorse è possibile specificare le espressioni di calcolo (la scheda "Risorse"), ad esempio:

Importo(Tempo)/3600.0

per convertire da secondi a ore.

La precisione richiesta può essere impostata tramite il campo "Progettazione" nella scheda "Set di dati".

Caratteristiche di impostazione dei parametri per il sistema di composizione dei dati

Esistono almeno TRE tipi di parametri che richiedono elaborazioni diverse:

Opzioni dati

I parametri dei dati sono definiti nella richiesta (fonte dati) del sistema di controllo degli accessi.

I parametri dei dati vengono passati alla richiesta dell'origine dati e definiscono i dati da recuperare.

L'oggetto Impostazioni compositore ha una proprietà speciale per lavorare con i parametri dei dati Impostazioni Composer.Settings.DataOptions

Puoi impostarlo con una chiamata come

Impostazioni = Report.SettingsComposer.Settings; Impostazioni.DataParameters.SetParameterValue("InformationBase", Report.InformationBase);

Selezione

Le selezioni vengono sovrapposte ai dati ricevuti Dopo estraendo dall'origine dati.

L'oggetto Impostazioni compositore ha una proprietà speciale per lavorare con le selezioni ComposerSettings.Settings.Selection.

Per esempio: Impostazioni = Report.SettingsComposer.Settings; Impostazioni.DataParameters.SetParameterValue("InformationBase", Report.InformationBase);

Per ogni elemento Da Parametri.Selezione Ciclo Selezione Elemento = Impostazioni.Selection.Elements.Add(Type("Data Composition Selection Element")); Elemento di selezione.Tipo di confronto = Tipo di confronto composizione dati.Uguale; SelectionElement.LeftValue = NewDataCompositionField(element.View); SelectionElement.RightValue = elemento.Value; FineCiclo;

Impostazioni personalizzate

Le preferenze dell'utente definiscono i dati che un utente può personalizzare in un modulo.

Le impostazioni dell'utente possono essere visualizzate nel modulo in un'apposita tabella e possono essere richiamate facendo clic sul pulsante "Impostazioni" e dal menu "Tutte le azioni".

Impostazioni personalizzate collegato con i parametri e le selezioni dei dati in un modo piuttosto complesso, questa connessione può essere configurata visivamente, ma lavorare con essi a livello di codice è in qualche modo molto scomodo.

Finora non abbiamo trovato niente di meglio che impostare i valori di una collezione esistente per indice, che ovviamente può scomparire quando si modifica il layout ACS nell'editor visivo.

Inoltre, se alcuni parametri dei dati vengono dichiarati definiti dall'utente, l'impostazione programmatica del parametro dei dati (vedere sopra) non è sufficiente; il valore ripristinato dell'impostazione dell'utente sovrascrive l'impostazione del parametro dei dati; Pertanto, per tali parametri non ha senso l'impostazione parametro dei dati, devono essere installati immediatamente impostazione personalizzata.

Un posto conveniente per impostare i valori richiesti è il gestore eventi "When LoadingUserSettingsOnServer" dell'estensione del modulo di report.

&Sul server Procedura durante il caricamento delle impostazioni utente sul server (Impostazioni)

Se Parametri.Periodo.Data di fine<>"00010101" Quindi Impostazioni = Report.Settings Composer.UserSettings; Impostazioni.Elements.Value = Opzioni.Periodo; finisci se;

Fine della procedura

Utilizzo di un'origine dati come oggetto

Per utilizzare un set di dati di tipo oggetto, è necessario passare l'origine dati esterna al metodo Inizializzazione dell'oggetto Processore di composizione dati.

DecryptionData = non definito;

LayoutLinker = newDataLayoutLayoutLinker; LayoutLayout = LayoutLinker.Execute(DataCompositionScheme, SettingsLinker.Settings, DecryptionData);

CompositionProcessor = newDataCompositionProcessor; LayoutProcessor.Initialize(LayoutLayout, New Structure("Data", GetDataExternalSource()), DecryptionData);

In allegato è riportato un semplice esempio (perché l'esempio funzioni è necessario disporre delle directory “Controparti” e “Accordi delle controparti”).

Attenzione! Questa è una versione introduttiva della lezione, i cui materiali potrebbero essere incompleti.

Accedi al sito come studente

Accedi come studente per accedere ai materiali scolastici

Sistema di composizione dei dati 1C 8.3 per principianti: collegamento di set di dati

  • Scrivi un report che mostri i clienti e i loro prodotti preferiti. Ogni cliente ha un colore preferito e ogni prodotto ha il proprio colore: in base a questi colori è necessario determinare il "preferito" del prodotto. Ad esempio, se il colore preferito di Andrey è il rosso, uno dei suoi cibi preferiti saranno i pomodori (sono rossi).
  • Applicare due set di dati nel report. Il primo set è costituito dai dati della tabella della directory "Clients". Il secondo sono i dati della tabella della directory "Cibo".
  • Strumento connessione tra questi due insiemi, in modo che il report contenga solo i prodotti preferiti per ciascun cliente.

Crea un nuovo rapporto

Apri il database "Gastronom" nel configuratore e crea un nuovo report attraverso il menu principale:

Tipo di documento - "Rapporto esterno":

Nel modulo di un nuovo report, indicare il nome “Lezione 6” e fare clic sul pulsante “Apri diagramma di composizione dei dati”:

Lasciare il nome dello schema predefinito:

Aggiunta del primo set di dati

Nel diagramma che si apre, vai alla scheda “Set di dati” e seleziona “Aggiungi set di dati - Query” utilizzando il segno più verde:

Chiama il costruttore della richiesta:

Indichiamo la tabella "Clienti" e i campi che devono essere ricavati dalla richiesta:

Aggiunta di un secondo set di dati

Aggiungi un secondo set di dati:

Selezionalo (DataSet2) e chiama nuovamente il costruttore della query:

Indichiamo la tabella della directory "Cibo" e i campi che devono essere ricavati dalla richiesta:

Il testo della richiesta risultante era:

Tieni presente che ora nel report sono presenti due set di dati: Data Set1 e Data Set2. Ognuno ha il proprio testo e dati di richiesta.

Rendere i nomi più descrittivi

Per chiarezza, rinominiamo DataSet1 in Customers e DataSet2 in Food.

Fallo facendo doppio clic su ciascuno dei set:

Possiamo utilizzare i dati di ciascun set nel nostro rapporto. Accederemo a questi dati attraverso i campi.

Attualmente, il set "Clienti" ha i seguenti campi: "Nome" e "Colore preferito", mentre il set "Cibo" ha: "Nome" e "Colore".

Vediamo che i nomi si sovrappongono e possiamo facilmente confonderci. Quindi cambiamo i nomi dei campi per renderli più significativi.

Seleziona il set "Clienti" e modifica i nomi dei campi in questo modo:

Quindi seleziona il set "Cibo" e modifica i nomi dei campi in questo modo:

Chiamare il costruttore delle impostazioni

Infine, vai alla scheda “Impostazioni” e fai clic sulla bacchetta magica per visualizzare il designer delle impostazioni:

Tipo di rapporto - "Elenco...":

Seleziona i campi per il report da entrambi i set:

Vedi perché era così importante cambiare i nomi dei campi? Nella fase di impostazione della composizione dei dati, non vediamo da quali insiemi provengono questi campi. Vediamo solo i loro nomi.

Controllo del rapporto

Salviamo il report e lo generiamo in modalità utente:

Sì. Ok, ma non proprio. Si è verificato un cosiddetto cross-join di due insiemi (dovresti avere molta familiarità con questo fenomeno grazie ai join nelle query che abbiamo studiato nei moduli precedenti). A ogni record della tabella Clienti corrisponde un record della tabella Alimenti.

Ma di tutti questi record dobbiamo lasciare solo quelli il cui campo “Colore preferito dal cliente” è uguale al campo “Colore alimentare”:

Colleghiamo due set di dati

Per fare ciò, collegheremo due insiemi di dati (Clienti e Cibo) utilizzando i campi Customer's FavoriteColor e FoodColor.

Vai alla scheda "Collegamenti set di dati" e fai clic sul pulsante più per aggiungere un nuovo collegamento:

Configuriamo i parametri come nella figura seguente:

Farò una spiegazione.

Fonte e destinatario della comunicazione. Bene, qui è tutto chiaro. Indichiamo il primo set (Clienti) ed il secondo set (Cibo). Vorrei attirare particolare attenzione sul fatto che la comunicazione verrà effettuata secondo il principio unione esterna sinistra(ne abbiamo parlato nell'argomento delle richieste nei moduli precedenti). In base a ciò è necessario scegliere quale apparecchio sarà la sorgente e quale il ricevente.

Fonte di espressione. Indichiamo qui un'espressione o semplicemente un campo dal set di dati di origine (abbiamo specificato il campo ClientFavoriteColor dal set Clients qui).

Espressione del ricevente. Indichiamo qui un'espressione o semplicemente un campo del data set del ricevitore (qui abbiamo indicato il campo ColorFood del set Food).

Pertanto, questa connessione lascerà dall'elenco precedente solo quelle righe per le quali il campo FavoriteColor del cliente è uguale al campo FoodColor.

Salviamo il report ed eseguiamolo in modalità utente:

Grande!

Farò una spiegazione sul campo" Condizione di comunicazione", su cui i programmatori alle prime armi colpiscono così spesso le loro lance.

La condizione di connessione è un campo ausiliario. Puoi scrivere espressioni lì che coinvolgono solo i campi del set di dati specificato nell'origine del collegamento.

In questo caso, per tutte le righe dell'origine del collegamento, questa espressione (condizione del collegamento) verrà controllata prima che venga creato il collegamento. E se questa espressione è VERA, verrà effettuato un tentativo di stabilire collegamenti tra questa riga e le righe dal ricevitore del collegamento. Se l'espressione è FALSE, non verrà effettuato alcun tentativo di questo tipo.