Mxl než otevřít. Mxl, než otevřete dialogové okno pro uložení souboru 1s 8.3

Domov / Záchrana dat

Čas jde neúprosně dopředu a platforma 1C 8 běží ještě rychleji než tentokrát.

Spravované formuláře se nyní nazývají „rozhraní TAXI“, modální okna jsou zakázána a režim používání synchronních volání na pobočky a externí komponenty zcela zastavil funkčnost většiny těchto rozšíření a externích komponent a polovina starých metod navíc .

Obecně, kluci, věci jsou takové - mnozí z vás četli článek skvělého P. Chistova o práci se soubory v 8.3

Pokud jste to ještě neudělali, pokračujte a pochodujte! ()

Stručně podstata mechanismu pro práci se soubory:

1) Na klientovi vyberte soubor

2) Strčíme to do černé skříňky

3) Uložte obsah černé skříňky na server

Háček je v tom, že se to musí dělat zvlášť, novým způsobem a s duší.

Proto vaše

SelectedFile.Exists()

a jiné pohanské věci zde nebudou fungovat.

Takže, jdeme!

Zde je výpis kódu, který vám umožní stáhnout soubor z klienta

Popis výstrahy = Popis nové výstrahy("ProcessFileSelection", ThisForm); OpenFileDialog = NewFileSelectDialog(FileSelectDialogMode.Open); FileOpenDialog.MultipleSelect = False; StartFilePlace(AlertDescription, FileOpenDialog, True, UniqueIdentifier);

Zajímá nás metoda" StartPlaceFiles", což ve skutečnosti vyvolá dialog pro výběr souboru a umístí tento soubor do dočasného úložiště. Nemá cenu se trápit popisem dočasného úložiště, stačí si pamatovat - to je místo, kam jsou umístěny všechny soubory, které vybereme forma binárních dat (černá skříňka).

&Na klientské procedurě ProcessFileSelection(PlacedFiles, AdditionalParameters) Export If PlacedFiles = Undefined Then Return;

endIf; Pro každý TransferredFile From PlacedFiles cyklujte PathToFile = TransferredFile.Name;").

Record.FileName = ParseLine(PathToFile, "\"); Items.OpenFile.Header = Entry.FileName;", Myslím, že se nikdo nebude hádat. Získejte soubor z dočasného úložiště a umístěte jej do atributu s typem " Items.OpenFile.Header = Entry.FileName;“ lze provést následovně:

NewValueStorage(GetFromTemporaryStorage(Address));

Jednu věc jsme vyřešili, druhá věc je, jak získat soubor z tohoto úložiště hodnot (který, připomenu, je umístěn na serveru) a uložit ho na disk klienta?

Nejprve musíme získat navigační odkaz na atribut s typem " Items.OpenFile.Header = Entry.FileName;“, kam umístíme soubor ve formě binárních dat.

Buďte opatrní! Tento navigační odkaz již nemá nic společného s dočasným úložištěm! Pomocí metody můžete zkontrolovat typ navigačního odkazu

Toto je adresa dočasného úložiště (adresa)

Podle tradice je to výpis kódu, který vyvolá dialogové okno pro uložení souboru

Popis výstrahy = Popis nové výstrahy("Zpracování ukládání souboru", ThisForm); File = New DescriptionofTransferFile(FileName, Address); ReceiveFiles = Nové pole; ReceiveFiles.Add(File); OpenFileDialog = NewFileSelectDialog(FileSelectDialogMode.Save); FileOpenDialog.MultipleSelect = False; StartReceivingFiles(DescriptionAlerts, ReceivingFiles, OpenFileDialog, True);

Proměnná hodnota" Soubor„To je další funkce tato metoda. Zde stojí za to věnovat pozornost " Název souboru"Faktem je, že při umístění souboru do dočasného úložiště dochází ke ztrátě informace o jeho názvu a příponě. Proto si nezapomeňte někam uložit správný název souboru, nebo alespoň jeho příponu, abyste se nemuseli obtěžovat otázka později" Je to dokument Word nebo MP3?"

metoda" Začněte přijímat soubory"podobná metodě" StartPlaceFiles Jednoduše jeden otevře dialog pro výběr souboru, zatímco druhý naopak otevře dialog pro uložení souboru.

To je v podstatě vše.

Při použití této metody není potřeba ve vlastnostech konfigurace nastavovat žádnou modalitu a kompatibilitu synchronního volání.

Článek jsem napsal spíše jako připomínku pro sebe.

Čas jde neúprosně dopředu a platforma 1C 8 běží ještě rychleji než tentokrát.

Spravované formuláře se nyní nazývají „rozhraní TAXI“, modální okna jsou zakázána a režim používání synchronních volání na pobočky a externí komponenty zcela zastavil funkčnost většiny těchto rozšíření a externích komponent a navíc polovina starých metod .

Obecně, kluci, věci jsou takové - mnozí z vás četli článek skvělého P. Chistova o práci se soubory v 8.3

Pokud jste to ještě neudělali, pokračujte a pochodujte! ()

Stručně podstata mechanismu pro práci se soubory:

1) Na klientovi vyberte soubor

2) Strčíme to do černé skříňky

3) Uložte obsah černé skříňky na server

Háček je v tom, že se to musí dělat zvlášť, novým způsobem a s duší.

Proto vaše

SelectedFile.Exists()

a jiné pohanské věci zde nebudou fungovat.

Takže, jdeme!

Zde je výpis kódu, který vám umožní stáhnout soubor z klienta

Popis výstrahy = Popis nové výstrahy("ProcessFileSelection", ThisForm); OpenFileDialog = NewFileSelectDialog(FileSelectDialogMode.Open); FileOpenDialog.MultipleSelect = False; StartFilePlace(AlertDescription, FileOpenDialog, True, UniqueIdentifier);

Zajímá nás metoda" StartPlaceFiles“, což ve skutečnosti vyvolá dialog pro výběr souboru a uloží tento soubor do dočasného úložiště. Nemá cenu se trápit popisem dočasného úložiště, stačí si pamatovat – to je místo, kam jsou umístěny všechny námi vybrané soubory ve formě binárních dat (černá skříňka).

&Na klientské procedurě ProcessFileSelection(PlacedFiles, AdditionalParameters) Export If PlacedFiles = Undefined Then Return;

Je téměř nemožné pochopit, co tam je a jak to uložit do tohoto dočasného úložiště. K našemu souboru se dostanete pouze pomocí navigačního odkazu, který je přiřazen automaticky (viz proměnná „ Pro každý TransferredFile From PlacedFiles cyklujte PathToFile = TransferredFile.Name;“).

Vzhledem k tomu, že soubory musí být uloženy v atributu nebo prostředku typu „ Items.OpenFile.Header = Entry.FileName;"Myslím, že se nikdo nebude hádat. Získejte soubor z dočasného úložiště a umístěte jej do atributu s typem „ Items.OpenFile.Header = Entry.FileName;“ lze provést následovně:

NewValueStorage(GetFromTemporaryStorage(Address));

Jednu věc jsme vyřešili, druhá věc je, jak získat soubor z tohoto úložiště hodnot (který, připomenu, je umístěn na serveru) a uložit ho na disk klienta?

Nejprve musíme získat navigační odkaz na atribut s typem „ Items.OpenFile.Header = Entry.FileName;“, kam umístíme soubor ve formě binárních dat.

Buďte opatrní! Tento navigační odkaz již nemá nic společného s dočasným úložištěm! Pomocí metody můžete zkontrolovat typ navigačního odkazu

Toto je adresa dočasného úložiště (adresa)

Podle tradice je to výpis kódu, který vyvolá dialogové okno pro uložení souboru

Popis výstrahy = Popis nové výstrahy("Zpracování ukládání souboru", ThisForm); File = New DescriptionofTransferFile(FileName, Address); ReceiveFiles = Nové pole; ReceiveFiles.Add(File); OpenFileDialog = NewFileSelectDialog(FileSelectDialogMode.Save); FileOpenDialog.MultipleSelect = False; StartReceivingFiles(DescriptionAlerts, ReceivingFiles, OpenFileDialog, True);

Hodnota proměnné " Soubor„Toto je další vlastnost této metody. Zde stojí za to věnovat pozornost „ Název souboru“. Faktem je, že umístěním souboru do dočasného úložiště se ztratí informace o jeho názvu a příponě. Nezapomeňte si proto někam uložit správný název souboru nebo alespoň jeho příponu, abyste se nemuseli trápit otázkou „ Je to dokument Word nebo MP3?

metoda" Začněte přijímat soubory“podobné metodě” StartPlaceFiles“. Jeden jednoduše otevře dialog pro výběr souboru, zatímco druhý naopak otevře dialog pro uložení souboru.

To je v podstatě vše.

Při použití této metody není potřeba ve vlastnostech konfigurace nastavovat žádnou modalitu a kompatibilitu synchronního volání.

Článek jsem napsal spíše jako připomínku pro sebe.

Technologická platforma 1C:Enterprise 8 umožňuje ukládat libovolné soubory do informační základny, odtud je získávat a používat různými způsoby. Podívejme se na tyto operace na příkladech.

Před nahráním souboru do informační databáze 1C musíte získat úplnou adresu souboru na disku. Práce s dialogy pro výběr souboru je popsána v .

K ukládání souborů použijte atribut (nebo prostředek registru) s typem StorageValues.

Nahrání libovolného souboru do informační základny 1C

Jakýkoli soubor může být reprezentován jako binární data a načten do Ukládání hodnoty.

Při převodu binárních dat na objekt StorageValues použitý design nové hodnoty úložiště (data, komprese) se dvěma parametry:

  1. Data— binární data, která je třeba uložit do úložiště
  2. Komprese— kompresní poměr deflace algoritmu. Celé číslo v rozsahu -1...9. -1 je výchozí úroveň komprese. 0 - žádná komprese, 9 - maximální komprese. Výchozí hodnota: -1. Pokud není parametr zadán, komprese se nepoužije.

//Převod souboru na binární data
Soubor = New BinaryData(Cesta) ;

//Vytvořit nový objekt StorageValues

DataStorage = NewValueStorage(Soubor, NewDataCompression(9) ) ;

Uložení libovolného souboru z infobáze 1C na disk

Chcete-li uložit soubor z databáze 1C na disk, musíte určit cestu a název souboru. K tomu slouží dialog pro uložení souboru, práce s nímž je popsána v.

//Získání binárních dat z úložiště
//Data Storage - atribut objektu s typem Value Storage

//Zapíše přijatá data na disk
//Proměnná Path obsahuje úplnou adresu souboru na disku
Data. Write(Cesta) ;

Zobrazení souboru umístěného v informační základně 1C

Chcete-li zobrazit soubor uložený v databázi, musíte mít v počítači nainstalovanou aplikaci, která soubor otevře.

//Získejte název dočasného souboru s požadovanou příponou
//Do proměnné Přípona musíte zadat příponu souboru, například "pdf"
Cesta = GetTemporaryFileName(Extension) ;

//Příjem dat z úložiště
//Data Storage - atribut objektu s typem Value Storage
Data = úložiště dat. Get() ;

//Zápis dat do dočasného souboru
Data. Write(Cesta) ;

//Pokouším se otevřít soubor v zamýšlené aplikaci
//Pokud aplikace není nalezena, zobrazí se systémový dialog "Otevřít pomocí...".
LaunchApplication(Path) ;

Samostatný je program "1C:Enterprise - Práce se soubory". softwarový produkt, která je distribuována zdarma. Je určen pro prohlížení a úpravu souborů 1C:Enterprise na počítačích, kde není nainstalován systém 1C:Enterprise.

Podporovány jsou následující formáty souborů:

  • (*.txt);
  • (*.mxl);
  • (*.htm, *.html);
  • (*.grs);
  • (*.geo);

Během procesu instalace program zaregistruje přípony mxl, grs a geo, v důsledku čehož pro zobrazení a úpravu těchto souborů na ně stačí kliknout myší:

Je podporováno spouštění programu z příkazový řádek. V tomto případě je možné určit soubor, který má být zpracován. Chcete-li například zpracovat soubor "Remains.mxl", stačí spustit příkaz:

"D:\Program Files\1cv82fv\bin\1cv8fv.exe" D:\FileWorkshop\Remainings.mxl

„1C:Enterprise – Práce se soubory“ podporuje režim podobný tomu, který je implementován v systému 1C:Enterprise. Uživatel tak může například vizuálně porovnat dva přehledy zůstatků:

Možnosti doručení

Pro program 1C:Enterprise - Working with Files existují dvě možnosti dodání:

  • rusky mluvící;
  • mezinárodní.

Rozdíl mezi mezinárodním doručováním a doručováním v ruském jazyce je v tom, že zahrnuje stejné, jaké používá systém 1C:Enterprise.

Pro mezinárodní doručování lze také pomocí přepínače /L příkazového řádku zadat jazyk rozhraní, který se má použít. Například pro zpracování souboru "Remainings.mxl" v programu s angličtina rozhraní (en), stačí spustit příkaz:

"D:\Program Files\1cv82fv\bin\1cv8fv.exe" /Len D:\FileWorkshop\Remainings.mxl

© 2024 ermake.ru -- O opravě PC - Informační portál