1c przedsiębiorstwo pracujące z plikami 8.3. Mxl niż otworzyć

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 zostanie określony, kompresja nie będzie stosowana.

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

//Utwórz nowy obiekt magazynu wartości

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 wyświetlić 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) ;

Plik z rozszerzeniem .MXL to dokument arkusza kalkulacyjnego utworzony przez program 1C:Enterprise. Początkowo 1C:Enterprise miał na celu automatyzację księgowości. W naszym artykule dowiesz się, jak otworzyć plik z rozszerzeniem .MXL.

Aby otworzyć taki plik, uruchom „1C Enterprise” i wybierz menu „Plik” -> „Otwórz”. W razie potrzeby możesz zapisać taki plik w formacie Excel. Aby to zrobić, w tym samym menu „Plik” wybierz „Zapisz jako…”, a następnie ustaw typ pliku na „Tabela Excel”. Jeśli 1C Enterprise nie jest zainstalowany na Twoim komputerze, możesz pobrać i zainstalować bezpłatną aplikację 1C Enterprise - Working with Files z oficjalnej strony firmy. Ten program pomoże Ci otwierać, przeglądać, drukować i konwertować pliki.

Pobierz „1C Enterprise - Praca z plikami” za darmo

Pobierz program z oficjalnej strony internetowej. Praca z plikami jest podobna do pracy z plikami w trybie 1C:Enterprise.
Dostępna jest rosyjska wersja programu. Instalując program, musisz wybrać pełną dystrybucję.
Po zainstalowaniu „1C Enterprise - Praca z plikami” możesz nie tylko wyświetlić plik z rozszerzeniem .mxl, ale także przekonwertować go do formatu Excel.

W artykule omówiono przykład wyświetlenia obrazu na kontrolowanej formie elementu katalogu w przypadku awarii trybu modalnego.

Możliwość zastosowania

W artykule omówiono platformę 1C:Enterprise w wersji 8.3. Przedstawione informacje dotyczą bieżących wydań platformy.

Praca z plikami (zdjęciami) w interfejsie Taxi

Przyjrzyjmy się algorytmowi pracy z plikami i obrazami w nowym interfejsie 1C:Enterprise 8.3 „Taxi”.

Po pierwsze, dlaczego zdecydowałem się napisać ten artykuł: Nowa koncepcja 1C polega na rezygnacji z okien modalnych, dlatego wszystkie metody i obiekty, które wygenerowały otwarcie okien modalnych w nowym interfejsie, nie będą mogły działać, a raczej będą będzie mógł to zrobić tylko wtedy, gdy we właściwościach konfiguracyjnych zezwolono na okna modalne.

Jeśli jednak dopuścimy okna modalne, napotkamy problemy podczas pracy w kliencie WWW.

Po drugie, często pojawia się pytanie o pracę ze zdjęciami w łatwych do zarządzania formach.

A więc zadanie: w katalogu „Produkty” należy zapisać i wyświetlić w formularzu zdjęcie produktu.
Początkowa konfiguracja nie zawiera niczego poza samym katalogiem produktów, nie będę tego publikować, po prostu utworzę pustą konfigurację w wersji 8.3.

Aby zapisać sam plik graficzny, w katalogu utworzymy atrybut „Picture Data” z typem „Value Storage”.

Aby powiększyć kliknij na obrazek.

Jeśli planujesz przesłać obraz (plik) z bazy danych z powrotem do systemu plików, dodaj kolejny atrybut, który będzie przechowywać oryginalną nazwę pliku i jego typ.

Aby powiększyć kliknij na obrazek.

Jak wyświetlimy obraz w formularzu? Nie, nie jest to dekoracja typu „obraz”. Oraz w postaci rekwizytów typu „string”. Tak tak! To oczywiste i dziwne, że niewiele osób zdaje sobie z tego sprawę.

Rzecz w tym, że jeśli do formularza dodamy atrybut typu „string”, który będzie zawierał odnośnik nawigacyjny do danych graficznych lub adres magazynu tymczasowego zawierającego takie dane, to w formularzu będzie można wyświetlić grafikę same dane.
Dodajmy atrybut formularza o nazwie „Link do obrazu”, wpisz „string”, długość nie jest ograniczona. I umieść to w szczegółach formularza.

Aby powiększyć kliknij na obrazek.

Domyślnie linia w formularzu będzie wyglądać jak pole wejściowe, musimy to zmienić we właściwościach elementu formularza. Wybierz „Pole obrazu” we właściwości „Widok”.

Aby powiększyć kliknij na obrazek.

Część interfejsu jest gotowa. Zróbmy trochę kodowania. Utwórzmy polecenie formularza „Wybierz plik obrazu” i umieśćmy je w formie przycisku na formularzu.

Aby powiększyć kliknij na obrazek.

W module opiszemy procedurę obsługi zdarzenia „Akcja” dla utworzonego polecenia formularza:

Aby powiększyć kliknij na obrazek.

Kilka komentarzy do powyższego kodu:

Gdybyśmy nie zwrócili uwagi na tryb modalności aplikacji, moglibyśmy spokojnie skorzystać z metody „PlaceFile”, jednak celem artykułu jest pokazanie pracy z plikami w dokładnie tym trybie.
Metoda StartFilePlace umieszcza wybrany plik w magazynie tymczasowym (jeśli plik został zaznaczony) i wywołuje w tym samym module procedurę „ProcessFileSelection”.

Zwracam uwagę na podświetlony „UniqueIdentifier”; za pomocą tej właściwości powiązaliśmy tymczasowe przechowywanie z aktualną formą. W przeciwnym razie plik zostanie umieszczony w magazynie, ale sam magazyn zostanie zniszczony w momencie wywołania serwera, a my nadal będziemy go potrzebować do zapisania pliku do atrybutu katalogu.

Opiszmy procedurę „ProcessFileSelection”:

Aby powiększyć kliknij na obrazek.

Jeżeli użytkownik nie odmówi wyboru pliku, wówczas w atrybucie formularza „Link do zdjęcia” umieszczamy adres w pamięci tymczasowej, w której zostały umieszczone dane obrazu.

Voila!

Zatem jedyne, co pozostaje teraz podczas zapisywania elementu katalogu, to zapisać dane z pamięci tymczasowej do atrybutu elementu katalogu. Opisujemy zdarzenie BeforeRecordOnServer:

Aby powiększyć kliknij na obrazek.

Co sprawdzamy w szczegółach formularza? Jeśli adres dotyczy magazynu tymczasowego, zapisujemy dane w atrybucie elementu katalogu, odnosząc się do „CurrentObject”. „CurrentObject” to przekonwertowane dane formularza, które są w tym momencie zapisywane w bazie danych.

Pozostaje opisać otwarcie formularza umożliwiającego wyświetlenie obrazu zapisanego już w atrybucie elementu katalogu.

Aby powiększyć kliknij na obrazek.

To wszystko. Możesz wziąć gotową bazę.

Paweł Chistow

Program „1C:Enterprise - Praca z plikami” jest odrębnym oprogramowaniem, dystrybuowanym 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:

  • (*.tekst);
  • (*.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 wiersza 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 dostawy międzynarodowej można użyć przełącznika wiersza poleceń /L do określenia używanego języka interfejsu. Przykładowo, aby przetworzyć plik „Remains.mxl” w programie z angielskim językiem interfejsu (en), wystarczy uruchomić komendę:

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

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

Formularze zarządzane 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; Adres = TransmittedFile.Storage; Koniec cyklu; Procedura końcowa // ()

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 „ Adres").

Z faktem, że pliki muszą być przechowywane w atrybucie lub zasobie o typie „ Przechowywanie wartości", myślę, że nikt nie będzie się kłócił. Pobierz plik z magazynu tymczasowego i umieść go w atrybucie o typie " Przechowywanie wartości" 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 „ Przechowywanie wartości", 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 na to zwrócić uwagę” 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.

Kontynuując temat:
Linuksa

Mac w służbie hakera. Część 1 – Szyfrowanie dyskuAlexander Antipov Pierwszy artykuł poświęcony będzie szyfrowaniu dysku, które pomoże chronić przed wszystkimi zainteresowanymi naszą...