IX. Sostituzione automatica dei prezzi nel documento durante la selezione degli articoli. Sostituzione automatica dei prezzi in un documento quando si seleziona un articolo Come impostare l'organizzazione principale per la sostituzione nei documenti

Il nostro compito è il seguente. Ora memorizziamo il prezzo di un articolo in un registro informativo separato. Quando creiamo o modifichiamo un documento di Fornitura di Servizi e aggiungiamo qualsiasi articolo alla parte tabellare, vogliamo che il prezzo corrente di tale articolo, ottenuto dal registro delle informazioni e corrispondente alla data del documento, sia immediatamente inserito nel documento.

Per fare questo dobbiamo fare due cose.

Innanzitutto, scrivi una determinata funzione che restituirà il prezzo corrente dell'articolo, quindi chiama questa funzione nel momento in cui l'articolo viene aggiunto al documento e sostituisci il prezzo dell'articolo che questa funzione restituirà nel documento.

Poiché molto probabilmente avremo bisogno di un tale "servizio" non solo in questo documento, ma anche in altri documenti che contengono la nomenclatura nella parte tabellare, posizioneremo la funzione in qualche luogo "accessibile al pubblico" - in un modulo comune.

In modalità Configuratore

Funzione che restituisce il prezzo di un articolo

Per prima cosa creeremo la funzione RetailPrice(), che ci restituirà il prezzo al dettaglio corrente dell'articolo e lo posizioneremo nel modulo di configurazione generale.

Apriamo il configuratore, nel ramo Generale Moduli generali, aggiungiamo un nuovo oggetto di configurazione Modulo e chiamiamolo WorkWithDirectories.

Vediamo che il modulo ha la casella di controllo Server selezionata per impostazione predefinita. Ciò significa che le istanze di questo modulo verranno compilate solo sul lato server.

Selezioniamo la casella Chiama server in modo che le procedure di esportazione e le funzioni di questo modulo possano essere richiamate dal client (Fig. 9.9).

Inseriamo al suo interno il testo seguente (Listato 9.1).

Spieghiamo questa funzione.

Per ottenere il prezzo al dettaglio, passeremo due parametri alla funzione:

CurrentDate è un parametro di tipo Data che definisce il punto sull'asse temporale in cui siamo interessati al valore del prezzo al dettaglio.

Nel corpo della funzione, creiamo prima un oggetto helper di selezione.

Questa è una struttura contenente la selezione per dimensioni del registro. Con il suo aiuto, determiniamo che saremo interessati alle voci del registro in cui la dimensione del registro della nomenclatura è uguale al riferimento all'elemento della directory passato alla funzione.

Il nome della chiave della struttura ("Nomenclatura") deve corrispondere al nome della dimensione del registro specificata nel configuratore e il valore dell'elemento della struttura (Elemento della nomenclatura) specifica il valore selezionato per questa dimensione.

Nella seconda riga contattiamo il gestore del registro delle informazioni sui prezzi (Information Registers.Prices) ed eseguiamo il metodo GetLast(), che ci restituisce i valori delle risorse dell'ultimo record del registro corrispondente alla data passata alla funzione ( CurrentDate) e i valori delle dimensioni del registro (Selection).

Il metodo GetLast restituisce una struttura contenente valori di risorsa, che viene archiviata nella variabile ResourceValues. In generale, un registro può avere più risorse. Nel nostro registro è presente una sola risorsa, ma verrà comunque restituita una struttura contenente un singolo elemento.

Pertanto, nella riga successiva otteniamo il prezzo al dettaglio che stiamo cercando semplicemente specificando tramite un punto il nome della risorsa di registro di cui abbiamo bisogno (ResourceValues.Price) e lo restituiamo quando la funzione viene eseguita.

Ora questa funzione deve essere chiamata ad un certo punto dell'esecuzione del documento.

Chiamare una funzione quando si seleziona un articolo e si inserisce il prezzo nel documento

Quindi, il compito che dobbiamo affrontare è il seguente. Quando modifichiamo il documento di fornitura del servizio, dobbiamo assicurarci che il campo Prezzo venga compilato automaticamente dopo che l'utente ha selezionato un servizio. Inoltre, il prezzo del servizio dovrebbe essere determinato in base alla data di creazione del documento.


Troviamo il documento Fornitura di servizi nel configuratore e apriamo il suo modulo Modulo documento.

Fare doppio clic sull'elemento del modulo Elenco di elementiNomenclatura o fare clic con il pulsante destro del mouse per aprire la relativa tavolozza delle proprietà (voce del menu contestuale Proprietà). Scorrendo fino alla fine della lista troviamo l'evento OnChange, che si verifica dopo che il valore di un campo è cambiato.

Fare clic sul pulsante di apertura B con l'icona della lente di ingrandimento nel campo di immissione.

Il sistema creerà un modello per la procedura del gestore per questo evento nel nostro modulo del modulo e aprirà la scheda Modulo editor del modulo.

Aggiungiamo ad esso il seguente testo (Listato 9.2).

Commentiamo il contenuto dell'handler.

La prima riga del gestore ti è già familiare dalle procedure Elenco di articoli Quantità in caso di modifica e Elenco di articoli Prezzo in caso di modifica. Innanzitutto, otteniamo la riga corrente della parte tabulare del documento, poiché ne avremo bisogno in seguito, e la salviamo nella variabile TabularPart Row.

Quindi chiamiamo la nostra funzione RetailPrice() dal modulo generale Working With Directories.

Come primo parametro passiamo a questa funzione la data del documento di cui vogliamo ottenere il prezzo. Otteniamo la data del documento dall'attributo principale del modulo: Object.Date.



La funzione restituisce l'ultimo valore del prezzo e assegniamo questo valore al campo Prezzo nella riga corrente della parte tabellare del documento (TabularPartRow.Price).

Si noti che la stessa procedura Item List NomenclatureOnChange() inizia a essere eseguita nel modulo del modulo sul lato client, poiché è un gestore dell'evento interattivo del modulo. Durante la creazione di un modello per questa procedura, la piattaforma ha automaticamente inserito la direttiva di compilazione &OnClient prima della descrizione della procedura.

Quindi viene chiamata la funzione RetailPrice(). Poiché questa funzione non verrà trovata sul lato client, l'esecuzione verrà trasferita al modulo comune Working with Directories, che viene eseguito sul server. Una volta completata la funzione, il codice del programma continuerà ad essere eseguito sul client.

Perché è stato utilizzato un simile “trucco” in questo caso? Perché è stato necessario trasferire l'esecuzione del codice sul server?

Il fatto è che qualsiasi lavoro con il database (lettura di dati, scrittura) è possibile solo sul server. In questo caso, dovevamo leggere i dati più recenti dal registro delle informazioni per alcuni articoli.

Tali azioni possono essere eseguite solo sul server e se cerchi nell'assistente di sintassi la descrizione del metodo GetLast() del registro delle informazioni, noterai che questo metodo è disponibile solo sul server, nel Thick Client e nel collegamento esterno.

Il Thick Client e la connessione esterna sono applicazioni client della piattaforma legacy esistenti per compatibilità con le soluzioni applicative legacy.

Stiamo sviluppando una soluzione applicativa completamente nuova che funziona in un thin client o un web client. Pertanto, nel nostro caso, per ottenere qualsiasi dato dal database, dobbiamo trasferire l'esecuzione del codice al server, ricevere lì i dati necessari e restituire questi dati al client. Questo è quello che abbiamo fatto.

Nella modalità 1C:Enterprise

Controlliamo ora come funziona il nostro documento.

Lanciamo 1C:Enterprise in modalità debug e apriamo il registro delle informazioni sui prezzi.

Per il transistor Philips, aggiungiamo un nuovo prezzo con un numero diverso (Fig. 9.10).

Ora apriamo il documento Fornitura del servizio n. 1. Come ricorderete, con questo documento abbiamo semplicemente "consumato" uno di questi transistor.

Lasciamo invariata la data del documento e ripetiamo la selezione del transistor nella colonna Nomenclatura della parte tabellare del documento. Il prezzo del transistor verrà automaticamente impostato al 01/07/2009. Questo è l'ultimo valore del prezzo alla data del documento (Fig. 9.11).

Ora cambiamo la data del documento in 13/07/2009 e ripetiamo nuovamente la selezione del transistor. Verrà impostato un nuovo valore di prezzo, l'ultimo per questa data (Fig. 9.12).

Pertanto, nel documento viene visualizzato il prezzo del servizio in vigore al momento della creazione del documento.


Domande di sicurezza

1. Qual è lo scopo dell'oggetto di configurazione Registro Informazioni?

2. Quali caratteristiche ha l'oggetto di configurazione Registro Informazioni?

3. Quali sono le principali differenze tra il registro informativo e il registro di accumulazione.

4. Quali campi determinano la chiave di unicità del registro di accumulo.

5. Cos'è un registro periodico delle informazioni e cos'è un registro indipendente delle informazioni.

6. Come creare un registro periodico delle informazioni.

7. Qual è la dimensione principale di un registro.

8. Come ottenere i valori delle risorse delle voci di registro più recenti utilizzando il linguaggio integrato.

Molto spesso, lavorando nel programma 1C, è necessario inserire rapidamente diversi documenti o aggiungere nuovi oggetti alle directory (tipo di articolo, organizzazione, magazzino, registratore di cassa, ecc.). Allo stesso tempo, non tutti sanno come automatizzare l'immissione dei valori di base, in modo che durante la loro creazione i valori richiesti vengano immediatamente sostituiti nei campi. Ti dirò come farlo in questo articolo.
Il programma 1C dispone di meccanismi che consentono di inserire rapidamente i valori dei dettagli in documenti e libri di consultazione. In base alla loro azione possono essere suddivisi nelle seguenti tipologie:

  • Sostituzione di valore singolo
  • Sostituzione di un valore tramite selezione
  • Compilazione dei dettagli statistici
  • Sostituzione dei dati precedentemente inseriti
  • Sostituzione di valori utilizzando un modello
  • Inserimento di un nuovo documento tramite copia

Sostituzione di un singolo valore per il quale l'utente dispone dei diritti.

Supponiamo che la tua organizzazione abbia tre magazzini, questi vengono inseriti nel database. Allo stesso tempo, il gestore può vendere beni solo da uno. Quando si crea un nuovo documento, questo magazzino verrà inserito automaticamente. Funziona in base alle autorizzazioni impostate dall'utente. Cioè, disattivando i diritti sugli oggetti con cui l'utente non lavora, è possibile automatizzare l'immissione dei dati.

Sostituendo un valore in base alla selezione specificata nel modulo elenco.

Se l'elenco è impostato per la selezione in base a qualche dettaglio (registratore di cassa, conto bancario, magazzino), questo dettaglio verrà automaticamente inserito nel nuovo documento. Ad esempio, si imposta la selezione per registratore di cassa sotto forma di un elenco di documenti del registratore di cassa. Quando emetti un nuovo documento di pagamento, le informazioni sul registratore di cassa selezionato verranno automaticamente prese dall'elenco. E poiché è specificata un'organizzazione per il registratore di cassa, le informazioni sull'organizzazione verranno inserite automaticamente. È possibile utilizzare le selezioni in qualsiasi elenco di documenti.

Compilazione dei dettagli statistici.

Il programma 1C conserva le statistiche sull'immissione dei valori di base per ciascun utente. Se hai inserito due volte la stessa organizzazione, divisione, magazzino, transazione commerciale, ecc. durante la creazione di un nuovo documento, il programma analizzerà gli ultimi valori immessi. Pertanto, l'algoritmo di riempimento statistico si “adatta” automaticamente a ciascun utente.
Se l'utente viola questa catena in un nuovo documento, il programma lo capirà e dopo un po' inizierà a sostituire nuovi valori, ma nel primo documento di questo tipo i valori non verranno sostituiti.
La compilazione dei dati precedentemente inseriti quando si seleziona il valore di un altro dettaglio è possibile se si seleziona, ad esempio, un accordo commerciale o un contratto in cui sono compilati tutti i campi principali (magazzino, calendario pagamenti, prezzi, ecc.). Quando si specifica un accordo o un contratto in un documento, i dettagli verranno compilati secondo le seguenti regole:

verranno inseriti tutti i dati specificati nell'accordo o nel contratto;

se qualsiasi valore (ad esempio divisione) non è stato specificato nell'accordo o nel contratto, questo valore verrà inserito in base alle statistiche. Se, quando si inserisce un nuovo documento, i valori sono stati inseriti in conformità con le statistiche, verranno riempiti nuovamente se definiti nell'accordo o nel contratto.

Sostituzione di valori utilizzando un modello.

Tieni presente che quando viene creato un nuovo tipo di elemento, puoi specificare i valori predefiniti che verranno sostituiti nei nuovi oggetti. Quando si registra un nuovo articolo per questo tipo di articolo, questi valori verranno inseriti automaticamente. Un altro esempio potrebbe essere la sostituzione automatica delle informazioni su un dipartimento in un documento se l’utente che redige il documento ha informazioni sul dipartimento definite nella scheda dell’utente.

Inserimento di un nuovo documento tramite copia.

Tutto è semplice qui. Se l'utente ha già inserito un documento simile, è possibile copiarlo e quindi correggere i dati modificati. Controlla tutti i dettagli, prestando particolare attenzione a dettagli come la data.

Ecco cinque modi principali per facilitare l'inserimento di documenti e libri di consultazione simili. Assicurati di usarli nel tuo lavoro quotidiano

Come inserire rapidamente il valore dei dettagli in 1C?

Domanda: Sostituzione del codice nel campo 1c


Ciao, dimmi in quale campo devo inserire una procedura che conteggi il numero di giorni tra le date, ho trovato la procedura stessa, ma la risposta a questa domanda è no

Ci sono campi: data di check-in, data di check-out e un campo quantità, in cui dovrebbe rientrare la differenza tra i primi due valori
A quale evento aggiungere la procedura?

Risposta: Nell'evento "OnChange" del campo Data di partenza:

Domanda: La sostituzione automatica dei dati non funziona

Risposta:

Grazie a tutti per le vostre risposte:
1) 1C:Enterprise 8.3 (8.3.4.437), Contabilità per l'Ucraina: versione 2.0.4.3.
2) Soprattutto per nsk1C: "Hai sempre questa abitudine di guardare dove non è necessario, nella mia domanda non c'è una sola parola sull'aliquota IVA di base - questo è, in primo luogo, in secondo luogo, leggere attentamente il decreto che vieta i prodotti 1C in Ucraina, e allora scrivi già i tuoi pensieri.."

Grazie per la risposta, ma vorrei sapere più precisamente dove è impostato questo nel codice.

Domanda: campo di immissione e Invio alla fine


Moduli gestiti, che lavorano in un client web.
Situazione: programmato lo scanner su F7 + codice a barre + invio. Ho provato molte opzioni, ma il codice non può essere letto tramite "ShowValueInput". Ho abbandonato questa opzione.
2. Creato un modulo con un campo di input. Usando F7, il modulo si apre, il codice appare nel campo di input, inseriscilo, quindi premilo anche tu (controllalo nel campo del documento di testo). Sto cercando di catturare l'evento End of Text Input, ma non funziona perché... funziona quando premi fisicamente invio sulla tastiera. L'evento AutoFit non è l'opzione migliore per me, perché... Il codice a barre può essere inserito manualmente e quindi devo inventare una sorta di stampella per aggirare il piccolo ritardo tra i clic.
Dimmi, per favore, ci sono opzioni più semplici?

Risposta:() il modulo viene aperto, il codice viene trasmesso - gli eventi non vengono elaborati

Domanda: report ACS e campo tabella


Sto creando un report utilizzando ACS. Come posso visualizzare il risultato in un campo della tabella? Non in un campo di un foglio di calcolo, ma in un campo di tabella.

Risposta: Un campo in un foglio di calcolo è un elemento del modulo (i dati vengono visualizzati in esso) che appartiene all'attributo (modulo) del documento del foglio di calcolo.
Scrivi un valore in un documento di foglio di calcolo e il campo documento del foglio di calcolo visualizza questo valore per te.
Come posso scrivere il valore lì?

Domanda: La messa a fuoco sul campo funziona in modo strano


Configurazione autoscritta su 1C (8.3.8.2088), moduli gestiti, interfaccia taxi.

Allego l'evento OnChange al Field con il seguente codice:

1C
1 2 3 4 Elaborazione standard = False;

SelectionData = NewValueList;

SelezioneDati. Aggiungi(Oggetto.Numero) ;

Ho inserito un codice alla fine dell'inserimento del testo

Tutto funziona, ma in qualche modo è storto.

L'elemento viene messo a fuoco, ma in qualche modo solo per metà, come si può vedere nell'immagine:

Risposta:È diventato dopo il codice:

Cioè, la cornice gialla e il disegno del campo sono scomparsi. Funziona, ma non è carino, attira l'attenzione.


Bene, in breve, quando il numero cambia, appare un modulo di scrittura, dove la persona inserisce il motivo della modifica, se la persona semplicemente chiude il modulo, allora viene restituito il vecchio valore e il focus rimane nel campo. Ci sono altre idee su come farlo al meglio?
Domanda: campo della tabella del modulo

Buon pomeriggio.

Esiste un modulo di selezione dell'articolo standard (ut11), che non mostra il nome, ma solo il numero dell'articolo!

Ho provato a ripristinare le impostazioni del modulo standard: inutilmente, il campo/colonna non viene visualizzato.
Configuratore:

I campi hanno frastuono. L'elenco è impostato su "Utilizza sempre".

Anche il debug di OnFormCreate() e OnOpen() lo dimostra

Elements.ListAdvancedSearchNomenclature.SubordinateElements
disponibile, tutto è in modalità visibilità e accessibilità, non ci sono opzioni funzionali!

Risposta:

Ho provato ad aggiungere il mio campo con lo stesso percorso ai dati: non appare neanche questo!
È passata un'ora, ma il campo non viene visualizzato. Per favore aiutatemi

allora oh! Sono appena riuscito a trascinare il campo del nome su un altro gruppo e non è diventato visibile,


e sul primo pulsante Non era ancora stato ripristinato, ero sicuro che ti avrebbe aiutato.

Risposta: Domanda: Come posso visualizzare il codice anziché il nome quando seleziono un elemento della directory? c'è una scheda. parte, contiene un campo con il tipo directorylink. Come posso visualizzare il codice dell'attributo anziché il nome quando seleziono un elemento in questo campo? (moduli gestiti)

Tklwegsd ,))) Sì, questa è esattamente la domanda

Messaggio da

Polax


Non puoi semplicemente aggiungere il campo Codice alla tabella?

Domanda: campo di selezione della selezione nel report SKD

1C
1 2 3 4 5 6 7 8 9 10 11 Procedura UsersOnChange(Element) Parametro di esportazione = ComposerSettings. Impostazioni. Parametri dei dati. TrovaParametroValore(NewDataCompositionParameter("Users")) ; Parametro. Valore = Utenti; Parametro. Utilizzo = Vero; Elemento di selezione = Compositore impostazioni. Impostazioni. Selezione. Elementi. Aggiungi(Tipo("Elemento di selezione della composizione dei dati"

Risposta: ) ) ; Elemento di selezione. ComparisonView = DataCompositionComparisonView. Uguale; Elemento di selezione. ValoreSinistra = NuovoCampoComposizioneDati(

"ResponsabileResponsiveRequest"
) ) ;) ;

Elemento di selezione. RightValue = Utenti;


Fine della procedura

Dethmont
, rimuovo il codice, nel modulo c'è solo il sistema di controllo degli accessi e il campo di selezione - un report vuoto...

Risposta: Aggiunto dopo 1 ora e 50 minuti
, ho capito perché c'era un report vuoto quando ho selezionato un sistema di controllo degli accessi, c'era una condizione nella richiesta del sistema di controllo degli accessi per gli utenti: l'ho cancellato e tutto ha funzionato. Grazie per i suggerimenti)
Domanda: è possibile modificare la composizione dei campi in un elenco dinamico senza codice?

Buona giornata a tutti. Ho un modulo pulito, su di esso è presente un elenco dinamico con una query personalizzata, dove è presente una tabella (una directory, anche la tabella DS principale), un campo Collegamento e caratteristiche.


I campi con caratteristiche possono essere immediatamente utilizzati nelle selezioni, nell'ordinamento, nella progettazione e selezionati per il raggruppamento. Tutto funziona. Ma è impossibile selezionarlo semplicemente come campo aggiuntivo (in modo che appaia accanto al collegamento in una colonna separata). È chiaro che in qualche modo tutto questo viene fatto con l'aiuto del codice, ma davvero non è possibile farlo senza codice?
Molti elementi di layout dati personalizzati che possono essere inseriti nel modulo, ma non è possibile aggiungere semplicemente un campo? Oppure sto facendo qualcosa di sbagliato?

Risposta: In generale, non importa come ho trasformato le colonne tramite il compositore di dati, non sono riuscito ad aggiungerle (senza codice). Molto probabilmente, questo è impossibile, poiché non è l'attributo ds form ad essere responsabile delle colonne, ma l'elemento form, che è logico. Il linker controlla i dati - l'elemento del modulo - la visualizzazione (colonne incluse).

Cioè, senza aumentare a livello di codice gli elementi subordinati dell'elemento del modulo, non sarai in grado di modificarli.. È necessario che quando si crea o si modifica un documento di Fornitura di Servizi e quando si inserisce nella parte tabellare una qualsiasi gamma di servizi, venga immediatamente inserito il prezzo corrente ricavato dal registro informativo e corrispondente alla data del documento.

Per fare questo è necessario:

    scrivere una funzione RetailPrice che restituirà il prezzo corrente;

    chiamare la funzione quando un nuovo elemento viene aggiunto al documento.

Poiché tale funzione potrebbe essere necessaria in futuro, la scriveremo in un luogo “accessibile al pubblico” - in un modulo comune.

1. Crea una funzione Prezzo al dettaglio nel ramo Generale – Moduli generali con il nome Lavorare con le directory. Imposta la bandiera Chiamata al server(in modo che le procedure e le funzioni di esportazione di questo modulo possano essere richiamate dal client) (Fig. 71a).

Riso. 71a. Proprietà comuni del modulo

2. Inserisci il seguente testo nel modulo.

Funzione Prezzo al dettaglio (Data corrente, Elemento nomenclatura servizio) Esporta

//Crea un oggetto ausiliario Selection

Selezione = Nuova struttura ("Nomenclatura dei servizi", Elemento della nomenclatura dei servizi);

//Ottiene i valori correnti delle risorse del registro

ResourceValues=InformationRegisters.Prices.GetLast(CurrentDate, Selection);

ReturnResourceValue.Price;

EndFunction

Spieghiamo la funzione.

Per ottenere il prezzo al dettaglio, è necessario passare due parametri alla funzione:

    DataCorrente– un parametro di tipo Date, definisce il punto sull'asse temporale in cui ci interessa il valore del prezzo al dettaglio.

Questa struttura contiene Selezione secondo le misure del registro. Con il suo aiuto viene determinata la dimensione richiesta del registro della Nomenclatura dei Servizi, che è uguale al riferimento all'elemento della directory passato alla funzione.

Nome della chiave della struttura ("H Nomenclatura dei servizi") deve corrispondere al nome della dimensione del registro specificata nel configuratore e al valore dell'elemento della struttura ( Elemento di nomenclatura dei servizi) specifica il valore selezionato per questa dimensione.

La seconda riga contiene una chiamata al gestore del registro informazioni Prezzi ( Registri delle informazioni) e l'esecuzione del metodo EseguiUltimo(), che restituisce il valore della risorsa della voce di registro più recente corrispondente alla data passata alla funzione ( DataCorrente) e registrare i valori di misurazione Selezione.

Metodo Ottieni l'ultimo restituisce una struttura contenente valori di risorsa, che viene archiviata in una variabile Valoririsorsa.

Nella riga successiva otteniamo il prezzo al dettaglio richiesto indicando il nome della risorsa di registro richiesta separata da un punto ( ValueResources.Price) e lo restituiscono quando la funzione viene eseguita.

Quello. questa funzione può essere chiamata ad un certo punto nel tempo.

È necessario aprire Modulo documento Esecuzione dei servizi(è stato creato prima). IN Modulo modulo necessario aggiungi procedura durante la modifica.

A tale scopo fare doppio clic sull'elemento del modulo Elenco di articoli e servizi (Fig. 71b).

Riso. 71b. Elementi del documento Prestazione del Servizio

Nella finestra delle proprietà dell'evento QuandoCambia creare un gestore eventi con il seguente testo:

&SuClient

Procedura Elenco delle nomenclature Servizio in caso di modifica (elemento)

//Ottiene la riga successiva della sezione della tabella

TabularPart Row = Elements.List of Nomenclature.CurrentData;

//Imposta il prezzo

TabularPart Row.Price = Utilizzo di Directories.RetailPrice(Object.Date, TabularPartLine.Service);

Fine della procedura

Spieghiamo la funzione.

La prima riga è già nota: prima otteniamo la riga corrente della parte tabulare del documento, perché ne avremo bisogno in futuro e lo salveremo in una variabile RowTabularPart.

Quindi chiamiamo la funzione Prezzo al dettaglio() da un modulo comune Lavorare con le directory.

Il primo parametro della funzione passa la data del documento per il quale è necessario ottenere il prezzo. Otteniamo la data del documento dai dettagli principali del modulo: Oggetto.Data.

La funzione restituisce l'ultimo valore del prezzo e questo valore viene assegnato al campo Prezzo nella riga corrente della parte tabellare del documento ( RowTabularPart.Price).

Si prega di notare che la procedura Elenco delle nomenclatureServiceWhenChanged() inizia a lavorare nel modulo del modulo sul lato client, perché Questo è il gestore eventi interattivo del modulo. Quando si crea un modello per questa procedura, la piattaforma inserirà automaticamente una direttiva di compilazione prima della descrizione della procedura &SuClient.

Quindi chiamiamo la funzione Prezzo al dettaglio(). Perché questa funzione non sarà trovata lato client, quindi l'esecuzione verrà trasferita al modulo generale Lavorare con le directory, che viene eseguito sul server. Una volta completata la funzione, il codice del programma continuerà ad essere eseguito sul client.

Controlliamo i passaggi precedenti e avviamo l'applicazione in 1C: modalità Enterprise. Lavoriamo con la configurazione sviluppata.

INSERIMENTO DATI NEL DB

1. Inserire nella domanda almeno 8 documenti Fornitura di servizi.