Σφάλμα Windows: σφάλμα εκτέλεσης λειτουργίας, επιλύθηκε σε ένα λεπτό. Σφάλμα Windows: σφάλμα εκτέλεσης λειτουργίας, επιλύθηκε σε ένα λεπτό Μη ανακτήσιμο σφάλμα ελέγχου διαμόρφωσης 1s 7.7

Λοιπόν, ποιο είναι το νόημα του άρθρου μου;

1. Υπάρχει διακομιστής (x64), με εγκατεστημένο Office 2016 (x64), υπάρχει 1C 8.3.8 και x64 (σημαίνει διακομιστής 1C). Οι χρήστες συνδέονται τόσο μέσω thin client όσο και μέσω web client.

2. Υπάρχουν ένα σωρό τυπικά συμβόλαια και τιμολόγια που εκδίδονται (ετοιμάζονται) από το τμήμα πωλήσεων. Υπάρχει μια γραμματοσειρά, μια παράγραφος κ.λπ., φυσικά, όλα έχουν σχεδιαστεί σε Word, Excel 2016 (x64), φυσικά, δεν υπάρχει επιθυμία να τα σχεδιάσετε όλα αυτά σε 1C, αλλά υπάρχει η επιθυμία να τα βάλετε σε μορφή ActiveDocument διατάξεις

Η λύση φαίνεται μπανάλ :) , δεν θα περιγράψω ολόκληρο τον μηχανισμό, πώς γίνεται, πώς συμπληρώνονται δεδομένα από το 1C στη διάταξη ActiveDocument - νομίζω ότι το γνωρίζετε πολύ καλά χωρίς εμένα. Αλλά κατά τη διάρκεια της εργασίας αποδείχθηκε ότι δεν είναι όλα τόσο ομαλά στη σφαίρα των αντικειμένων COM, δηλαδή:

2. Ποια επιλογή είναι καλύτερα να διαλέξετε: ActiveDocument ή Binary Data; Αν και για μένα ακούγεται κάτι σαν να επιλέγω Vodka With Beer ή Beer With Vodka :) . Δεν υπάρχει μεγάλη υπόθεση, πρέπει να συμπληρώσετε τα έγγραφα με δεδομένα από το 1C και να τα μεταφέρετε στον Πελάτη.

Λοιπόν, εντάξει, ας παραλείψουμε τους στίχους, επιλέγω το ActiveDocument, δεν θα περιγράψω ολόκληρο τον αλγόριθμο, θα αναφέρω απλώς τις παγίδες και τη λύση τους. Όλα όσα αναφέρονται παρακάτω είναι προσωπική μου εικασία και σε καμία περίπτωση δεν ισχυρίζονται ότι είναι η απόλυτη αλήθεια. Μπορεί να έχετε λύσει αυτά τα προβλήματα ή να τα έχετε λύσει διαφορετικά.

1. Πέτρα" πρώτα". Η μέθοδος SaveAs δεν λειτουργεί (τόσο για το MSWord όσο και για το MSExcel). Όταν προσπαθείτε να γράψετε Δυαδικά Δεδομένα, το 1C απλώς διακόπτεται. Δείτε το τμήμα της καταχώρισης:

MSWord = Layout.Get(); Δοκιμάστε το Document = MSWord.Application.Documents(1); Document.Activate(); //Στη συνέχεια, λαμβάνουμε με κάποιο τρόπο τα δεδομένα και συμπληρώνουμε το έγγραφο του Word //Λάβετε τη διαδρομή στον προσωρινό κατάλογο για να αποθηκεύσετε το αρχείο εκεί TimeName = GetTemporaryFileName(".docx"); Document.SaveAs(NameTime); //stone αρχίζει εδώ MyDocumentInBinaryData = New BinaryData(NameTime); //καλά, εδώ αυτή η πέτρα είναι νοκ άουτ από 1C :) MSWord.Application.Quit();

Ευχαριστώ πολύ.

Δημιουργία φακέλων
C:\Windows\SysWOW64\config\systemprofile\Desktop
C:\Windows\System32\config\systemprofile\Desktop
το πρόβλημα λύθηκε. Το θέμα έκλεισε.

Ποιός είναι ο λόγος? Ο λόγος είναι ότι ο κώδικας

MSWord = Layout.Get();

Καλεί πάντα μια παρουσία ενός αντικειμένου COM (x32) ανεξάρτητα από το τι bit είναι εγκατεστημένο το Office. Έχετε αναρωτηθεί ποτέ γιατί δεν μπορείτε να εισαγάγετε αρχεία με την επέκταση docx, xlsx στη διάταξη ActoveDocument;

Αυτό μπορεί επίσης να ελεγχθεί μέσω του Task Manager, αλλά το γεγονός είναι ότι η διάταξη ActiveDocument καλεί σιωπηρά μια παρουσία COM (x32) και επομένως όλοι οι περαιτέρω χειρισμοί πρέπει να γίνονται λαμβάνοντας υπόψη αυτό το χαρακτηριστικό.

1. Ο διακομιστής και όλο το λογισμικό πρέπει να είναι x32. Τότε δεν χρειάζεται να κάνετε τίποτα (με την έννοια της επανεγγραφής του κώδικα)

2. Είτε ξαναγράψτε τον κώδικα με αυτόν τον τρόπο

// λάβετε το όνομα του προσωρινού αρχείου TimeFile = GetTemporaryFileName("doc"); // αυτός ο κώδικας θα καλέσει σίγουρα μια παρουσία COM του απαιτούμενου βάθους bit, στην περίπτωσή μας x64 Word = New COMObject("Word.Application"); Word.Displayalerts = 0; DocumentN = Word.Application.Documents.Add(); DocumentN.SaveAs(TimeFile,0); Word.Quit(); // τότε όλα είναι όπως πριν Layout = Print Management. Printing Form Layout ("Document. Equipment Transfer Act." + Layout Name); MSWord = Layout.Get(); Δοκιμάστε το Document = MSWord.Application.Documents(1); Document.Activate(); // εδώ κάνουμε κάτι, συμπληρώστε τα δεδομένα // εδώ θα αποθηκεύσουμε ξανά το αρχείο μας από COM x62 σε COM x64 MSWord.Application.Selection.WholeStory(); MSWord.Application.Selection.Copy(); DocumentN = MSWord.Application.Documents.Open(TimeFile); DocumentH.Activate(); MSWord.Application.Selection.Paste(); DocumentN.SaveAs(TimeFile,0); DocumentN.Close(); MSWord = Απροσδιόριστο; Εξαίρεση // Εάν παρουσιαστεί σφάλμα, τα δεδομένα σφάλματος εκτυπώνονται και το αντικείμενο κλείνει. Πληροφορίες = ErrorInfo(); GeneralPurposeClientServer.NotifyUser("Σφάλμα - "+Information.Description+" κωδικός σφάλματος - "+Abb.LP(Information.SourceString)); MSWord.Application.Quit(); EndAttempt;

Νομίζω ότι όλα είναι ξεκάθαρα εδώ, πρώτα δημιουργήσαμε μια παρουσία COM με το απαιτούμενο βάθος bit, δημιουργήσαμε ένα κενό αρχείο και το αποθηκεύσαμε σε έναν προσωρινό φάκελο, μετά δουλεύουμε με το COM x32, το συμπληρώνουμε με δεδομένα και τέλος αντιγράφουμε τα περιεχόμενα ολόκληρου έγγραφο και αποθηκεύστε το σε ένα αρχείο που έχετε προετοιμάσει προηγουμένως.

Όλα είναι ίδια, αλλά μόνο για το Excel

TimeFile = GetTimeFileName("xls"); Excel = Νέο COMObject("Excel.Application"); Excel.Displayalerts = 0; BookH = Excel.WorkBooks.Add(); SheetN = BookN.WorkSheets(1); BookN.SaveAs(TimeFile, -4143); Excel.Quit(); Layout = PrintManagement.PrintFormLayout("Document.Equipment Invoice."+LayoutName); MSExcel = Layout.Get(); BookN = MSExcel.Application.Workbooks.Open(TimeFile); SheetN = BookN.WorkSheets(1); Δοκιμάζοντας το WBook = MSExcel.Application.Workbooks(1); Φύλλο = WBook.WorkSheets(1); Sheet.Activate(); // κάνουμε κάτι, το γεμίζουμε με δεδομένα από το 1C MSExcel.Application.WorkBooks(1).WorkSheets(1).Cells.Copy(SheetN.Cells); BookN.Save(); BookN.Close(); Εξαίρεση // Εάν παρουσιαστεί σφάλμα, τα δεδομένα σφάλματος εκτυπώνονται και το αντικείμενο κλείνει. Πληροφορίες = ErrorInfo(); GeneralPurposeClientServer.NotifyUser("Σφάλμα - "+Information.Description+" κωδικός σφάλματος - "+Abb.LP(Information.SourceString)); MSExcel.Application.Quit(); EndAttempt;

Ορίστε " πρώτα«Αποφάσισα το stone, σε έναν διακομιστή x64 με Office x64, όλα λειτουργούν ακριβώς όπως ρολόι, χωρίς σφάλματα και δεν χρειάζεται να δημιουργηθούν φάκελοι και οτιδήποτε άλλο.

Πέτρα" δεύτερος". απόσπασμα κώδικα

TimeFile = GetTimeFileName("xls");

το φαγητό δεν είναι πολύ καλό, γιατί γράφει στον φάκελο: “c:\Users\ what's there...”, γενικά, αυτός ο φάκελος βρίσκεται πάντα στη μαύρη λίστα όλων των τείχη προστασίας, προστασίας από ιούς, κ.λπ., κ.λπ., στο τουλάχιστον ανοίξτε το κέντρο ελέγχου ασφαλείας στο Word ή το Excel. Ας κοιτάξουμε και εκεί

Θα πρέπει να ασχοληθείτε με αυτό, διαφορετικά υπάρχει πιθανότητα να εμφανιστούν "περίεργα" σφάλματα. Προτείνω λοιπόν τα εξής:

1. Ανοίξτε το Configurator και προσθέστε ένα νέο μητρώο πληροφοριών

εδώ θα αποθηκεύσουμε τον τελειωμένο μας Word, αρχεία Excelήδη συμπληρωμένο, φυσικά:

LayoutName - Layout ID

DocumentOffice - Value Storage, εδώ διατηρούμε το ολοκληρωμένο αρχείο μας

2. Προσθέτουμε τον παραπάνω κωδικό ως εξής:

MH = Information Registers.TemporaryStorageOffice.CreateRecordManager(); MH.Object = Επιλογή.Σύνδεσμος; MZ.LayoutName = LayoutName; MZ.Read(); MH.Object = Επιλογή.Σύνδεσμος; MZ.LayoutName = LayoutName; MZ.DocumentOffice = NewValueStorage(NewBinaryData(TimeFile)); MZ.Write(); DeleteFiles (TimeFile);

Αυτό που κάνουμε είναι να γράφουμε το ολοκληρωμένο αρχείο στο μητρώο πληροφοριών και στη συνέχεια να διαγράφουμε το ίδιο το προσωρινό αρχείο, επιλύοντας το πρόβλημα «Word, Excel Security Center». Το μόνο που μένει είναι να εμφανιστεί αυτό το ολοκληρωμένο αρχείο στον Πελάτη (thin και web clients)

3. Πέτρα" τρίτος" - μεταφορά ενός αρχείου στον πελάτη, εδώ θα δημοσιεύσω απλώς όλο τον κώδικα, μερικούς από το BSP, κάποιους από τη διαμόρφωση επίδειξης "Διαχειριζόμενη εφαρμογή", μερικούς από το Διαδίκτυο, αλλά γενικά εδώ είναι ο κώδικας (στον ολότητα)

////////////////////////////////////////////////////////////////// ///////////////////////// // ΔΙΑΔΙΚΑΣΙΕΣ ΚΑΙ ΛΕΙΤΟΥΡΓΙΕΣ ΥΠΗΡΕΣΙΑΣ BSP &OnServer Συνάρτηση GetLayout() ObjectLink = DataStructure.Object; LayoutName = DataStructure.LayoutName; Κλειδί εγγραφής = Μητρώα πληροφοριών. TemporaryOfficeStorage. CreateRecordKey(New Structure("Object,LayoutName",ObjectLink,LayoutName)); // Διεύθυνση = GetNavigationLink(RecordKey"OfficeDocument"); Διεύθυνση επιστροφής; EndFunction // Διαδικασία &OnClient AfterApplicationStart(ReturnCode, ApplicationName) Εξαγωγή; // Τέλος της διαδικασίας &Στη διαδικασία πελάτη Μετά τη λήψη αρχείων (Μεταφερθέντα αρχεία, πρόσθετες παράμετροι) Εξαγωγή εάν NOT Transmitted Files = Undefined Στη συνέχεια για κάθε περιγραφή των μεταδιδόμενων αρχείων Κύκλος OpAfterAppLaunch = New DescriptionAlerts("AfterLaunchingApplication, Description.Name", ThisOb ) StartLaunchApplication(OpAfterStartApplication, Description.Name); EndCycle; τέλος εαν; EndProcedure &OnClient Procedure AfterDirectorySelection(SelectedFiles, CommandName) Εξαγωγή If SelectedFiles = Undefined then Return; τέλος εαν; Κατάλογος = SelectedFiles; GeneralPurposeServerCall.SaveWorkingDirectory(Directory); Αν CommandName = "Τιμολόγιο" Τότε LayoutName = "Τιμολόγιο" EndIf; DataStructure.Insert("Κατάλογος", Κατάλογος); ConnectWaitingHandler("Connectable_SendFileToClient",5,True); Τέλος διαδικασίας &Στη διαδικασία πελάτη Άνοιγμα αρχείων μέσω επέκτασης (Όνομα εντολής) OpAfterSelectingDirectory = New DescriptionAlerts("AfterSelectingDirectory", ThisObject, CommandName); Κατάλογος = GeneralPurposeCallServer.GetWorkingDirectory(); Αν Directory = Undefined Ή Directory = "" Τότε Dialog = New FileSelectionDialog(FileSelectionDialogMode.DirectorySelection); Dialog.Header = НStr("ru = "Επιλογή καταλόγου για προσωρινή αποθήκευση αρχείων"", "ru"); Dialog.Show(OpAfterSelectingDirectory); Διαφορετικά SelectedFiles = Νέα Συστοιχία; SelectedFiles.Add(Κατάλογος); Εκτελέστε επεξεργασία ειδοποιήσεων (OpAfterSelectingDirectory, SelectedFiles); τέλος εαν; Λήξη διαδικασίας &Στη διαδικασία πελάτη ΔιαδικασίαConnectingExtensionsWorkingWithFiles(ExtensionConnected,AdditionalParameters) ExportIfExtensionConnectedThenOpenFilesThroughExtension(AdditionalParameters.CommandName); τέλος εαν; EndProcedure &OnClient Procedure Connected_PassFileToClient() Διεύθυνση = GetLayout(); Αν Διεύθυνση<>Undefined then DisableWaitHandler("Connectable_PassFileToClient"); DocumentNumber = DataStructure.DocumentNumber; Κατάλογος = DataStructure.Directory; LayoutName = DataStructure.LayoutName; FilePath = Directory+"\"+LayoutName+"_No"+DocumentNumber+".xls"; Περιγραφή = Νέα περιγραφή του μεταδιδόμενου αρχείου (Διαδρομή προς αρχείο, διεύθυνση). TransferredFiles = Νέος πίνακας; TransferredFiles.Add(Description); StartReceivingFiles(NewDescriptionAlerts("AfterReceivingFiles", ThisObject), TransferredFiles, "", False); τέλος εαν; Τέλος διαδικασίας &Στον διακομιστή Διαδικασία ExecutePrintServer() ObjectLink = DataStructure.Object; LayoutName = DataStructure.LayoutName; DataStructure.Insert("DocumentNumber", ObjectReference.Number); ObjectArray = Νέος πίνακας; Array of Objects.Add(ObjectRef); Documents.Equipment Invoice.PrintInvoice(Object Array,LayoutName,True); EndProcedure &OnClient Procedure Connectable_ExecutePrint() ExecutePrintServer(); EndProcedure // StandardSubsystems.Print &OnClient Procedure Connectable_ExecutePrintCommand(Command) Link = Elements.List.CurrentData.Link; DataStructure = newStructure; DataStructure.Insert("Object", Link); DataStructure.Insert("LayoutName", "Invoice"); ConnectWaitingHandler("Connectable_Print", 1, True); CommandDescription = PrintManageClient.PrintCommandDescription(Command.Name,FormName); Ξεκινήστε την εγκατάσταση της επέκτασης FileWorking(); StartConnectingFileWorkingExtension(NewAlertDescription("ProcessConnectingFileWorkingExtension",ThisObject,NewStructure("CommandName",CommandDescription.Identifier))); EndProcedure // End StandardSubsystems.Print

Μερικές διευκρινίσεις:

1. Πρώτον, ο πελάτης μας λειτουργεί τόσο μέσω Thin mode όσο και Web modes, οπότε εκ των προτέρων ορίζουμε τις ακόλουθες τιμές στις ιδιότητες Configurator:

Για να αποφύγετε προβλήματα κατά την εργασία με το πρόγραμμα περιήγησης

2. Χρησιμοποιούμε προγράμματα χειρισμού αναμονής για να αποφύγουμε προβλήματα με το συγχρονισμό κλήσεων (αυτό ισχύει μόνο για τη λειτουργία Web)

3. Και τέλος, ενεργοποιήστε την επέκταση για εργασία με αρχεία (θυμηθείτε ότι στη λειτουργία Thin Client, αυτή η επέκταση είναι πάντα ενεργοποιημένη). Και μέσω του κώδικα:

μεταφέρουμε το αρχείο στον Πελάτη χρησιμοποιώντας τον μηχανισμό NavigationLink, λαμβάνουμε τα ακόλουθα μηνύματα στο πρόγραμμα περιήγησης (Το Thin λειτουργεί από μόνο του):

Λοιπόν, αυτό φαίνεται να είναι όλο. Ελπίζω αυτό να βοηθήσει κάποιον...

Όσον αφορά τα αρχεία Word, Excel που έχουν εισαχθεί ως Δυαδικά δεδομένα; ποιο είναι το πρόβλημα?

1. Πρέπει είτε να βγάλουμε αυτά τα δυαδικά δεδομένα από τη διάταξη και να τα συμπληρώσουμε με δεδομένα από το 1C και ΠΡΟΣΟΧΗ να τα γράψουμε ξανά με τη μορφή Δυαδικών Δεδομένων (Βότκα με μπύρα ή μπύρα με βότκα)

2. Είτε πρέπει να πάρουμε τη διάταξη BinaryData στην πλευρά του πελάτη και να τη συμπληρώσουμε εκεί, ΑΛΛΑ το αντικείμενο COM υποστηρίζεται μόνο από το πρόγραμμα περιήγησης IE και μετά με χορούς με ρυθμίσεις ActiveX, άλλα προγράμματα περιήγησης έχουν εγκαταλείψει εδώ και καιρό τη χρήση του ActiveX

Νομίζω ότι καθένας από τους «επτά» προγραμματιστές έχει αντιμετωπίσει ένα τέτοιο σφάλμα τουλάχιστον μία φορά. Μπορεί να συμβεί είτε κατά τη διάρκεια "συγχώνευσης διαμορφώσεων" είτε κατά τη διάρκεια "δοκιμών και επιδιόρθωσης ασφάλειας πληροφοριών".

Αλλά δεν προσπάθησαν όλοι να "διορθώσουν" τη διαμόρφωση. Σε τέτοιες περιπτώσεις, συνήθως είτε ψάχνουν μανιωδώς για αντίγραφα ασφαλείας είτε (μια πιο περίπλοκη μέθοδο) καταφεύγουν στη βοήθεια του βοηθητικού προγράμματος GComp, το οποίο «σύμφωνα με το μύθο» μπορεί να θεραπεύσει την MD εάν απλώς «αποσυναρμολογηθεί» και στη συνέχεια «συναρμολογηθεί» χρησιμοποιώντας τις λειτουργίες του προγράμματος. Πράγματι, έτσι είναι. Όχι όμως σε όλες τις περιπτώσεις... Αυτή ακριβώς είναι η περίπτωση που θα ήθελα να εξετάσω σε αυτό το άρθρο.

Τα αρχικά δεδομένα λοιπόν:

- "σπασμένη διαμόρφωση"

Χρησιμότητα MDDiags

- ΜακριάΔιευθυντήςκαι πρόσθετο DocFileΠρόγραμμα περιήγησης σε αυτόν. Χρησιμοποιώντας αυτό το πρόσθετο, μπορείτε να μπείτε μέσα στο MD και να εργαστείτε με τα αντικείμενά του.

Εφόσον το Configurator αρνείται να εμφανίσει ακόμη και αυτό το "μη διορθώσιμο σφάλμα", τρέχουμε MDDiagsνα το προσδιορίσει ή αυτούς.

Μετά την εκκίνηση του βοηθητικού προγράμματος, επιλέξτε την επιθυμητή διαμόρφωση και, στη συνέχεια, όλες οι προεπιλεγμένες ρυθμίσεις... εκτελέστε, αναλύστε, λάβετε το αποτέλεσμα.

Μπορεί να έχετε άλλα σφάλματα, αλλά πιστεύω ότι θα μπορείτε να τα καταλάβετε μόλις κατανοήσετε γενικά πώς να βρείτε το σφάλμα και πώς να το διορθώσετε.

1. Σφάλμα>(\\Εφημερίδα)

Το βοηθητικό πρόγραμμα κατέστησε σαφές ότι το σφάλμα παρατηρήθηκε για 2 αντικείμενα "\\ Journal\Journal_Number 212" και "\\Journal\Journal_Number 860". Πάμε τώρα στοΜακριά και κοιτάξτε τα αντικείμενα εκεί.


Βλέπουμε εδώ πολλά αντικείμενα και ένα αρχείο "Container.Contents". Αποθηκεύει περιγραφείς αυτών των ίδιων αντικειμένων. Αφού μελετήσουμε προσεκτικά τα περιεχόμενα του αρχείου, καταλαβαίνουμε ότι δεν υπάρχουν περιγραφείς για τα 2 μας αντικείμενα.

Προσθέστε περιγραφείς όπως φαίνεται στο σχήμα.

Το πρόβλημα λύθηκε.

2. Σφάλμα DOCUMENT.Τιμολόγιο παραλαβής (\\TypedText\User Help_αριθμός 434\Δοχείο.Περιεχόμενα)

Πηγαίνουμε ξανά στο MD κατά μήκος της υποδεικνυόμενης διαδρομής. Ανοίξτε το αρχείο"Δοχείο. Περιεχόμενα » και κοιτάξτε προσεκτικά το περιεχόμενό του.

Οι περίεργες λέξεις Cgntainer, Contentq, Prmgram τραβούν αμέσως την προσοχή σας. Σωστά, αυτά είναι ανορθόγραφα αναγνωριστικά. Δεν είναι δύσκολο να μαντέψετε πώς πρέπει να είναι σωστό (αν είναι δύσκολο, μεταβείτε στον επόμενο κλάδο, ανοίξτε το ίδιο αρχείο "Container.Contents" και δείτε πώς πρέπει να γραφτεί).

3. ΣφάλμαΕΥΡΕΤΗΡΙΟ.Τυπικές Λειτουργίες(\\Subconto\Subconto_Number5870\WorkBook\Dialog Stream)

Ανοίξτε το αρχείο στην καθορισμένη διαδρομή και κοιτάξτε προσεκτικά... Όλες οι παράμετροι πρέπει να περικλείονται σε εισαγωγικά. Μία από τις παραμέτρους έχει "κενό" αντί για "εισαγωγικό" - το διορθώνουμε (αυτό το σφάλμα μπορεί να προκύψει όταν η περιγραφή ενός από τα στοιχεία ενός αντικειμένου (πεδίο, κουμπί, λίστα τιμών κ.λπ.) περιέχει ένα ή διπλό απόσπασμα, ή οποιονδήποτε από τους "ειδικούς χαρακτήρες").

Ας ξεκινήσουμε ξανά MDDiagsκαι βλέπουμε ότι όλα τα προηγούμενα σφάλματα έχουν εξαφανιστεί, αλλά εμφανίστηκε ένα άλλο σφάλμα.

Τώρα είναι ώρα να στραφείτε στο βοηθητικό πρόγραμμα GComp και να ελέγξετε το "θρύλο"...

Εκκινούμε το βοηθητικό πρόγραμμα, επιλέγουμε το σπασμένο (προς το παρόν) MD μας και τον φάκελο όπου πρέπει να βάλουμε τη διαμόρφωση ταξινομημένη ανά αντικείμενα, τότε όλα τα πλαίσια ελέγχου είναι από προεπιλογή, το μόνο πράγμα είναι να τσεκάρουμε το πλαίσιο ελέγχου "διαγραφή" κενά πρότυπαπίνακες" στην καρτέλα "Γενικές παράμετροι", κάντε κλικ στο "Απομεταγλώττιση".

Στη συνέχεια, χωρίς περαιτέρω καθυστέρηση, μεταβείτε στην καρτέλα "μεταγλώττιση", ορίστε τον κατάλογο προέλευσης σε αυτόν στον οποίο μόλις αναλύσατε τη διαμόρφωση και υποδείξτε τη διαδρομή προς το νέο MD.

Το βοηθητικό πρόγραμμα θα συναρμολογήσει τα πάντα με ασφάλεια.

Τώρα δεν έχουμε παρά Far Managerαντικαταστήστε το αντίστοιχο αρχείο μέσα στο "σπασμένο" MD με το ίδιο από το "μόλις συναρμολογημένο" (\\Subconto\Subconto_Number5870\WorkBook\Dialog Stream).

Ελέγχουμε ξανά τη διαμόρφωση χρησιμοποιώντας MDDiags.

Όλα δείχνουν να είναι εντάξει. Τώρα μπαίνουμε στον διαμορφωτή και κάνουμε "δοκιμή και διόρθωση της ασφάλειας πληροφοριών" για να βεβαιωθούμε ότι δεν υπάρχουν άλλα σφάλματα.

Αυτό είναι όλο. Αφήστε με να πάρω την άδεια μου. Και η Δύναμη να είναι μαζί σας!)

ΥΣΤΕΡΟΓΡΑΦΟ. Ιδιαίτερες ευχαριστίες στους προγραμματιστές των βοηθητικών προγραμμάτων που χρησιμοποιήθηκαν στο παράδειγμα - μας βοηθούν όλους να ζήσουμε τόσο πολύ...

Καλό απόγευμα!. Την τελευταία φορά που εξετάσαμε πώς να λύσουμε το "Σφάλμα κατά την εφαρμογή μετασχηματισμών. Ελέγξτε την ορθότητα των διαδρομών των καθορισμένων μετασχηματισμών", σήμερα θα σας πω για μια άλλη συνέπεια που οφείλεται σε αυτό. Το θέμα της δημοσίευσης θα είναι μια κατάσταση κατά την οποία δεν μπορείτε να εγκαταστήσετε την πλατφόρμα 1C και θα λάβετε ένα μήνυμα: Σφάλμα Windows: Σφάλμα εκτέλεσης λειτουργίας, το λύνουμε σε ένα λεπτό, είμαι σίγουρος ότι το θέμα θα είναι χρήσιμο σε πολλούς.

Πώς μοιάζει ένα σφάλμα εκτέλεσης συνάρτησης;

Όπως έγραψα παραπάνω, αντιμετωπίζω αυτό το πρόβλημα σε έναν τερματικό διακομιστή Windows Server 2012 R2 όταν προσπαθώ να εγκαταστήσω την πλατφόρμα 1C 8.2. Μετά την εκτέλεση του αρχείου setup.exe, εμφανίζεται το παράθυρο του οδηγού εγκατάστασης και αμέσως ένα επιπλέον παράθυρο με το μήνυμα:

Σφάλμα Windows: Σφάλμα εκτέλεσης λειτουργίας

Για το οποίο θα λάβετε αυτήν την ειδοποίηση:

Όπως στις περισσότερες περιπτώσεις με την πλατφόρμα 1C, όλα μπορούν να λυθούν με μια μικρή διόρθωση στα αρχεία διαμόρφωσης. Αρχικά, ενεργοποιήστε την εμφάνιση κρυφών φακέλων, καθώς το αρχείο που χρειαζόμαστε δεν είναι ορατό από προεπιλογή. Στη συνέχεια, στη μονάδα δίσκου C:\, βρείτε το φάκελο Δεδομένα του προγράμματος.

C:\ProgramData\1C\1CESTat\1CESTat.cfg

Το αρχείο 1CESTat.cfg μπορεί να ανοίξει χρησιμοποιώντας οποιοδήποτε επεξεργαστής κειμένου, κάντε δεξί κλικ πάνω του και επιλέξτε «Άνοιγμα με» και, στη συνέχεια, ένα βολικό πρόγραμμα επεξεργασίας.

Στο αρχείο 1CESTat.cfg, βρείτε την παράμετρο, πρέπει να τη διαγράψετε και να αποθηκεύσετε το αρχείο.

Αν κοιτάξετε τα αρχεία καταγραφής στο πρόγραμμα προβολής συμβάντων, θα δείτε συμβάντα σαν αυτά.

Κωδικός συμβάντος 1013: Προϊόν: 1C:Enterprise 8.2 (8.2.19.130) -- Σφάλμα Windows: Σφάλμα εκτέλεσης λειτουργίας.

Αναγνωριστικό συμβάντος 11708: Προϊόν: 1C:Enterprise 8.2 (8.2.19.130) -- Η λειτουργία εγκατάστασης απέτυχε.

Αφού καταργήσαμε την παράμετρο ADMINISTRATIONFUNC=0, λάβαμε ήδη:

Αναγνωριστικό συμβάντος 1033: Το Windows Installer έχει εγκαταστήσει το προϊόν. Προϊόν: 1C:Enterprise 8.2 (8.2.19.130). Έκδοση: 8.2.19.130. Γλώσσα: 1049. Κατασκευαστής: 1C. Η εγκατάσταση ολοκληρώθηκε με κατάσταση: 1603.




Μπλουζα