Mxl niż otworzyć. Mxl niż otworzyć okno dialogowe zapisywania plików 1s 8.3

Dom / Odzyskiwanie danych

Czas płynie nieubłaganie do przodu, a platforma 1C 8 działa jeszcze szybciej niż tym razem.

Zarządzane formularze nazywane są teraz „interfejsem TAXI”, okna modalne są zabronione, a tryb korzystania z synchronicznych wywołań rozszerzeń i komponentów zewnętrznych całkowicie zatrzymał funkcjonalność większości tych rozszerzeń i komponentów zewnętrznych, a w dodatku połowy starych metod .

Ogólnie rzecz biorąc, chłopaki, sprawy wyglądają tak - wielu z was czytało artykuł wspaniałego P. Chistova na temat pracy z plikami w wersji 8.3

Jeśli jeszcze tego nie zrobiłeś, marsz! ()

Istota mechanizmu pracy z plikami w skrócie:

1) Na kliencie wybierz plik

2) Wrzucamy to do czarnej skrzynki

3) Zapisz zawartość czarnej skrzynki na serwerze

Problem w tym, że trzeba to zrobić szczególnie, w nowy sposób i z duszą.

Dlatego Twoje

Wybrany plik.Istnieje()

i inne pogańskie rzeczy nie będą tu działać.

Więc chodźmy!

Oto lista kodów, która umożliwia pobranie pliku z klienta

Opis alertu = Nowy opis alertu("ProcessFileSelection", ThisForm); OpenFileDialog = NewFileSelectDialog(FileSelectDialogMode.Open); FileOpenDialog.MultipleSelect = Fałsz; StartFilePlace(AlertDescription, FileOpenDialog, True, UniqueIdentifier);

Interesuje nas metoda” StartPlaceFiles", co tak naprawdę wywołuje okno wyboru pliku i umieszcza ten plik w magazynie tymczasowym. Nie ma sensu zawracać sobie głowy opisem magazynu tymczasowego, po prostu pamiętaj - to jest miejsce, w którym umieszczane są wszystkie wybrane przez nas pliki postać danych binarnych (czarna skrzynka).

&W procedurze klienta ProcessFileSelection(PlacedFiles, Dodatkowe parametry) Eksportuj, jeśli PlacedFiles = Niezdefiniowane Następnie wróć;

koniecJeśli; Dla każdego TransferredFile z PlacedFiles Cykl PathToFile = TransferredFile.Name;").

Record.FileName = ParseLine(PathToFile, "\"); Items.OpenFile.Header = Entry.FileName;", myślę, że nikt nie będzie się kłócił. Pobierz plik z magazynu tymczasowego i umieść go w atrybucie o typie " Items.OpenFile.Header = Entry.FileName;" można wykonać w następujący sposób:

NewValueStorage(GetFromTemporaryStorage(Adres));

Jedno już ustaliliśmy, teraz druga sprawa jak pobrać plik z tego magazynu wartości (który, przypomnę, znajduje się na serwerze) i zapisać go na dysku klienta?

Przede wszystkim musimy uzyskać link nawigacyjny do atrybutu z typem „ Items.OpenFile.Header = Entry.FileName;", gdzie umieszczamy plik w postaci danych binarnych.

Bądź ostrożny! Ten link nawigacyjny nie ma już nic wspólnego z tymczasowym przechowywaniem! Za pomocą metody możesz sprawdzić typ łącza nawigacyjnego

To jest adres tymczasowego przechowywania (adres)

Tradycyjnie, lista kodów wywołująca okno dialogowe zapisywania pliku

Opis alertu = Nowy opis alertu("Przetwarzanie zapisywania pliku", ThisForm); Plik = Nowy opis pliku transferu (nazwa pliku, adres); OdbierzFiles = Nowa tablica; OdbierzPliki.Dodaj(Plik); OpenFileDialog = NewFileSelectDialog(FileSelectDialogMode.Save); FileOpenDialog.MultipleSelect = Fałsz; StartReceivingFiles(DescriptionAlerts, ReceivingFiles, OpenFileDialog, True);

Wartość zmiennej " Plik„To kolejna cecha tę metodę. Tutaj warto zwrócić uwagę na „ Nazwa pliku„Faktem jest, że umieszczając plik w magazynie tymczasowym, tracona jest informacja o jego nazwie i rozszerzeniu. Dlatego nie zapomnij zapisać gdzieś poprawnej nazwy pliku lub przynajmniej jego rozszerzenia, aby nie zaprzątać sobie głowy pytanie później” Czy jest to dokument Word czy MP3?"

Metoda „ Rozpocznij odbieranie plików„podobny do metody” StartPlaceFiles". Po prostu jeden otwiera okno dialogowe umożliwiające wybranie pliku, a drugi odwrotnie, otwiera okno dialogowe umożliwiające zapisanie pliku.

To w zasadzie tyle.

Podczas korzystania z tej metody nie ma potrzeby ustawiania żadnej modalności i zgodności wywołań synchronicznych we właściwościach konfiguracyjnych.

Artykuł napisałem bardziej jako przypomnienie dla siebie.

Czas płynie nieubłaganie do przodu, a platforma 1C 8 działa jeszcze szybciej niż tym razem.

Zarządzane formularze nazywane są teraz „interfejsem TAXI”, okna modalne są zabronione, a tryb korzystania z synchronicznych wywołań rozszerzeń i komponentów zewnętrznych całkowicie zatrzymał funkcjonalność większości tych rozszerzeń i komponentów zewnętrznych, a w dodatku połowy starych metod .

Ogólnie rzecz biorąc, chłopaki, sprawy wyglądają tak - wielu z was czytało artykuł wspaniałego P. Chistova na temat pracy z plikami w wersji 8.3

Jeśli jeszcze tego nie zrobiłeś, śmiało maszeruj! ()

Istota mechanizmu pracy z plikami w skrócie:

1) Na kliencie wybierz plik

2) Wrzucamy to do czarnej skrzynki

3) Zapisz zawartość czarnej skrzynki na serwerze

Problem w tym, że trzeba to zrobić szczególnie, w nowy sposób i z duszą.

Dlatego Twoje

Wybrany plik.Istnieje()

i inne pogańskie rzeczy nie będą tu działać.

Więc chodźmy!

Oto lista kodów, która umożliwia pobranie pliku z klienta

Opis alertu = Nowy opis alertu("ProcessFileSelection", ThisForm); OpenFileDialog = NewFileSelectDialog(FileSelectDialogMode.Open); FileOpenDialog.MultipleSelect = Fałsz; StartFilePlace(AlertDescription, FileOpenDialog, True, UniqueIdentifier);

Nas interesuje metoda „ StartPlaceFiles„, co w rzeczywistości wywołuje okno dialogowe wyboru pliku i umieszcza ten plik w magazynie tymczasowym. Nie ma sensu zawracać sobie głowy opisem magazynu tymczasowego, wystarczy pamiętać – to tutaj umieszczane są wszystkie wybrane przez nas pliki w postaci danych binarnych (czarna skrzynka).

&W procedurze klienta ProcessFileSelection(PlacedFiles, Dodatkowe parametry) Eksportuj, jeśli PlacedFiles = Niezdefiniowane Następnie wróć;

Zrozumienie, co się tam znajduje i jak przechowywać w tym tymczasowym magazynie, jest prawie niemożliwe. Dostęp do naszego pliku można uzyskać wyłącznie poprzez link nawigacyjny, który jest przypisywany automatycznie (patrz zmienna „ Dla każdego TransferredFile z PlacedFiles Cykl PathToFile = TransferredFile.Name;“).

Z faktem, że pliki muszą być przechowywane w atrybucie lub zasobie o typie „ Items.OpenFile.Header = Entry.FileName;„Nie sądzę, że ktokolwiek będzie się kłócił. Pobierz plik z magazynu tymczasowego i umieść go w atrybucie typu „ Items.OpenFile.Header = Entry.FileName;” można wykonać w następujący sposób:

NewValueStorage(GetFromTemporaryStorage(Adres));

Jedno już ustaliliśmy, teraz druga sprawa, jak pobrać plik z tego magazynu wartości (który, przypomnę, znajduje się na serwerze) i zapisać go na dysku klienta?

Przede wszystkim musimy uzyskać link nawigacyjny do atrybutu typu „ Items.OpenFile.Header = Entry.FileName;„, gdzie umieszczamy plik w postaci danych binarnych.

Bądź ostrożny! Ten link nawigacyjny nie ma już nic wspólnego z tymczasowym przechowywaniem! Za pomocą metody możesz sprawdzić typ łącza nawigacyjnego

To jest adres tymczasowego przechowywania (adres)

Tradycyjnie, lista kodów wywołująca okno dialogowe zapisywania pliku

Opis alertu = Nowy opis alertu("Przetwarzanie zapisywania pliku", ThisForm); Plik = Nowy opis pliku transferu (nazwa pliku, adres); OdbierzFiles = Nowa tablica; OdbierzPliki.Dodaj(Plik); OpenFileDialog = NewFileSelectDialog(FileSelectDialogMode.Save); FileOpenDialog.MultipleSelect = Fałsz; StartReceivingFiles(DescriptionAlerts, ReceivingFiles, OpenFileDialog, True);

Wartość zmiennej „ Plik„To kolejna cecha tej metody. Warto tu zwrócić uwagę na „ Nazwa pliku„. Faktem jest, że umieszczenie pliku w magazynie tymczasowym powoduje utratę informacji o jego nazwie i rozszerzeniu. Dlatego nie zapomnij zapisać gdzieś poprawnej nazwy pliku lub przynajmniej jego rozszerzenia, abyś nie musiał martwić się pytaniem „ Czy jest to dokument Word czy MP3?

Metoda „ Rozpocznij odbieranie plików”podobny do metody” StartPlaceFiles„. Jeden po prostu otwiera okno dialogowe wyboru pliku, podczas gdy drugi, przeciwnie, otwiera okno dialogowe zapisywania pliku.

To w zasadzie tyle.

Podczas korzystania z tej metody nie ma potrzeby ustawiania żadnej modalności i zgodności wywołań synchronicznych we właściwościach konfiguracyjnych.

Artykuł napisałem bardziej jako przypomnienie dla siebie.

Platforma technologiczna 1C:Enterprise 8 umożliwia zapisywanie dowolnych plików w bazie informacji, pobieranie ich stamtąd i wykorzystywanie na różne sposoby. Przyjrzyjmy się tym operacjom na przykładach.

Przed przesłaniem pliku do bazy informacyjnej 1C należy uzyskać pełny adres pliku na dysku. Praca z oknami dialogowymi wyboru pliku jest opisana w .

Aby przechowywać pliki, użyj atrybutu (lub rejestru zasobu) z typem Wartości przechowywania.

Przesyłanie dowolnego pliku do bazy informacyjnej 1C

Dowolny plik można przedstawić jako dane binarne i załadować do niego Przechowywanie wartości.

Podczas konwersji danych binarnych na obiekt Wartości przechowywania zastosowany projekt nowe wartości pamięci masowej (dane, kompresja) z dwoma parametrami:

  1. Dane— dane binarne, które należy przechowywać w pamięci
  2. Kompresja— stopień kompresji algorytmu deflacji. Liczba całkowita z zakresu -1...9. -1 to domyślny poziom kompresji. 0 – brak kompresji, 9 – maksymalna kompresja. Wartość domyślna: -1. Parametr jest opcjonalny; jeśli nie został określony, kompresja nie jest stosowana.

//Konwertuj plik na dane binarne
Plik = Nowe dane binarne (ścieżka) ;

//Tworzyć nowy obiekt Wartości przechowywania

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

Zapisywanie dowolnego pliku z bazy danych 1C na dysku

Aby zapisać plik z bazy danych 1C na dysku, musisz określić ścieżkę i nazwę pliku. Aby to zrobić, istnieje okno dialogowe zapisywania pliku, z którym praca jest opisana w.

//Pobierz dane binarne z magazynu
//Data Storage - atrybut obiektu typu Value Storage

//Zapisz odebrane dane na dysku
//Zmienna Path zawiera pełny adres pliku na dysku
Dane. Zapis(ścieżka) ;

Przeglądanie pliku znajdującego się w bazie informacyjnej 1C

Aby obejrzeć plik zapisany w bazie danych, należy mieć zainstalowaną na komputerze aplikację otwierającą ten plik.

//Pobierz nazwę pliku tymczasowego z wymaganym rozszerzeniem
//W zmiennej Extension należy podać rozszerzenie pliku, na przykład „pdf”
Ścieżka = GetTemporaryFileName(rozszerzenie) ;

//Odbierz dane z magazynu
//Data Storage - atrybut obiektu typu Value Storage
Dane = magazyn danych. Dostawać() ;

//Zapisz dane do pliku tymczasowego
Dane. Zapis(ścieżka) ;

//Próba otwarcia pliku w zamierzonej aplikacji
//Jeśli aplikacja nie zostanie znaleziona, pojawi się systemowe okno dialogowe „Otwórz za pomocą…”.
UruchomAplikację(Ścieżka) ;

Program „1C:Enterprise - Praca z plikami” jest osobnym programem oprogramowanie, który jest dystrybuowany bezpłatnie. Przeznaczony jest do przeglądania i edycji plików 1C:Enterprise na komputerach, na których nie jest zainstalowany system 1C:Enterprise.

Obsługiwane są następujące formaty plików:

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

Podczas procesu instalacji program rejestruje rozszerzenia mxl, grs i geo, dzięki czemu aby przeglądać i edytować te pliki, wystarczy kliknąć je myszką:

Obsługiwane jest uruchamianie programu z wiersz poleceń. W takim przypadku istnieje możliwość określenia pliku do przetworzenia. Przykładowo, aby przetworzyć plik „Remains.mxl”, wystarczy uruchomić komendę:

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

„1C:Enterprise - Praca z plikami” obsługuje tryb podobny do zaimplementowanego w systemie 1C:Enterprise. W ten sposób użytkownik może na przykład wizualnie porównać dwa raporty sald:

Opcje dostawy

Istnieją dwie opcje dostawy programu 1C:Enterprise - Praca z plikami:

  • rosyjskojęzyczny;
  • międzynarodowy.

Różnica między dostawą międzynarodową a dostawą w języku rosyjskim polega na tym, że obejmuje ona te same, z których korzysta system 1C:Enterprise.

Ponadto w przypadku dostaw międzynarodowych można użyć przełącznika wiersza poleceń /L do określenia używanego języka interfejsu. Na przykład, aby przetworzyć plik „Remainings.mxl” w programie z angielski interfejs (en), po prostu uruchom polecenie:

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

© 2024 ermake.ru - O naprawie komputerów PC - Portal informacyjny