Mjuk öppning extern bearbetning utförs med hjälp av det globala kontextobjektet ExternalProcessing, som har typen External Processing Manager. För varje driftläge på 1C-plattformen (vanligt applikationsläge och hanterat applikationsläge) används olika objektmetoder för att arbeta med extern bearbetning.
I extern bearbetning måste huvudformuläret alltid vara ett vanligt, och det kontrollerade formuläret måste alltid vara ytterligare ett, annars fungerar inte GetForm()-metoden i normalt applikationsläge.
&PåServer
Funktion GetExternalProcessingName(BinaryData)
AddressInTemporaryStorage = PlaceInTemporaryStorage(BinaryData);
Return ExternalProcessing.Connect(AddressInTemporaryStorage);
EndFunction
&OnClient
FullFileName = ""; // Fullständigt namn på den externa bearbetningsfilen.
FileData = new BinaryData(FullFileName);
ExternalProcessingName = GetExternalProcessingName(FileData);
OpenForm("ExternalProcessing." + ExternalProcessingName + ".Form");
Figur 1. Rättigheter att interaktivt öppna extern bearbetning/rapporter |
Programmatisk öppning av externa rapporter liknar extern bearbetning, men du bör använda det globala kontextobjektet ExternalReports, som har typen ExternalReportsManager.
Med lanseringen av plattform 8.3.9.2033, ny mekanism "Skydd från farliga handlingar".
Tack vare denna innovation började 1C nu svära på öppningen av bearbetningen (och inte bara):
Säkerhetsvarning
Öppnar "My External Processing" från filen "My_External_Processing.epf"
Det rekommenderas att vara uppmärksam på källan från vilken den erhölls. denna fil. Om det inte finns någon överenskommelse om utveckling med källan ytterligare moduler, eller det finns tvivel om innehållet i filen, rekommenderas det inte att öppna den, eftersom det kan skada din dator och data.
Tillåt mig att öppna den här filen?
Så 1C bestämde sig för att bekämpa skadlig kod!
Var denna "skadliga kod" kommer ifrån i ett företag är fortfarande ett mysterium)
Potentiellt farliga åtgärder inkluderade:
Hur kan detta "mirakel" stängas av?
För att göra detta måste du starta 1C Enterprise i konfiguratorläge.
Välj menyn "Administration" - "Användare".
I fönstret som öppnas för våra användare måste du öppna fönstret för användarinställningar och avmarkera fliken "Grundläggande" "Skydd från farliga handlingar"
Det finns andra sätt att inaktivera detta:
Det är nu möjligt att ange en lista över infobaser, när man arbetar med vilka skydd mot farliga handlingar kommer att inaktiveras.
För denna funktion svarar på parametern DisableUnsafeActionProtection i filen conf.cfg, som låter dig inaktivera skyddsmekanismen mot farliga åtgärder för alla användare av vissa infobaser vars anslutningssträngar uppfyller de masker som anges i parametern DisableUnsafeActionProtection.
I den här parametern kan du ange flera masker åtskilda av ";"-symbolen, till exempel:
DisableUnsafeActionProtection=test_.*;stage_.*;
Dessutom kan skydd mot farliga användaråtgärder inaktiveras programmatiskt, för vilka följande parametrar och egenskaper är tillgängliga:
Kontroll av behovet av att använda skydd mot farliga handlingar utförs i följande ordning:
1. Om den aktuella användarens kryssruta "Skydd mot farliga aktiviteter" är avmarkerad, anses skyddet vara inaktiverat.
2. Om anslutningssträngen till infobasen matchar ett av mönstren som anges i parametern DisableUnsafeActionProtection i filen conf.cfg, anses skyddet vara inaktiverat.
3. Om skyddet är uttryckligen inaktiverat med parametern Skydd mot farliga åtgärder för extern bearbetning eller rapport.
4. Om skyddet är uttryckligen inaktiverat med hjälp av tilläggsegenskapen Skydd mot farliga åtgärder.
Faktum är att när du använder klient-serverversionen av 1C, öppnas extern bearbetning/rapporter i säkert läge, där användning av privilegierat läge är förbjudet. Och det privilegierade läget används mycket ofta i typiska konfigurationer: generering av tryckta formulär, olika servicekontroller (registrering av utbyten), etc. Som ett resultat, även om du använder en vanlig rapport om åtkomstkontrollsystemet utan ett formulär (som standard används det allmänna formuläret "ReportForm") och sparar anpassade rapportinställningar (i motsvarande katalog), kommer du att få ett felmeddelande om otillräcklig åtkomst rättigheter till olika konstanter och sessionsparametrar som används för officiella ändamål efter raden SetPrivilegedMode(True) ;
Den "korrekta" lösningen skulle vara att koppla extern bearbetning och rapporter genom BSP:s mekanismer för "Ytterligare rapporter och bearbetning" med inaktivering av säkert läge eller lägga till behörigheter (enligt min mening, från BSP version 2.2.2.1). Men om det av någon anledning är nödvändigt att använda externa rapporterings-/bearbetningsfiler, kan du konfigurera en klustersäkerhetsprofil som används som en säkerhetsprofil för säkert läge för en specifik infobas.
Jag vill omedelbart notera att det här alternativet inte är att föredra, men på grund av olika omständigheter kan det användas i en sådan förenklad form. Jag har till exempel flera databaser i olika städer, allmänt lokalt sitta ner med strikt begränsade rättigheter, stängd USB etc, någonstans använder de Accounting 2.0, och någonstans 3.0 gör jag nästan alla rapporter med hjälp av passersystem utan blanketter, så att de öppnar i båda versionerna. Servera alla dessa rapporter för olika versioner Och olika databaser saken är arbetskrävande och föga lovande, eftersom Det finns planer på att byta till en enda konfiguration och bas...
Låt oss skapa en profil.
Skapa en säkerhetsprofil i klusterkonsolen där vi ställer in flaggorna "Kan användas som en säkerhetsprofil för säkert läge" och " i avsnittet "Tillåtet". full tillgång:" "till privilegierat läge".
I många fall av att använda rapporter och enkel bearbetning denna metod kommer att gälla. För mer svåra situationer Det är ingen idé att beskriva processen, eftersom det beskrivs i dokumentationen (möjligheten att konfigurera säkerhetsprofiler för specifika externa filer genom att ange dess hash-mängd, etc.).
P.S. Jag trodde att säkerhetsprofiler bara fungerar när man använder plattforms- och serverlicenser på CORP-nivå, men denna funktion fungerar även på plattformen 1C:Enterprise 8.3 (den kan villkorligt kallas PROF, analogt med typiska konfigurationer Basic/PROF/CORP)
När du startar programmet Ladda upp dokument under vanlig användare Felet "Säkert läge är inställt. Operationen är förbjuden."
Denna svårighet uppstår pga Det finns inte tillräckligt med rättigheter för att starta extern behandling. För att konfigurera åtkomsträttigheter, logga in i databasen i 1C Enterprise-läge på uppdrag av Administratör och gå till avsnittet Användar- och rättighetsinställningar / Åtkomstgruppsprofiler, klick Skapa en grupp.
Ange gruppnamnet och markera rutorna tillgängliga för användarna denna rollgrupp -
Klick Spara och stäng
Gå tillbaka till menyn Användare och välj från listan den medarbetare som ska arbeta med programmet Dokumentuppladdning. Klicka på Behörigheter. Välj den tidigare skapade profilen i listan över profiler. Klick Skriva ner.
För att användarna ska kunna börja bearbeta, rekommenderas det att lägga till Dokumentladdning i listan över extern bearbetning. För att göra detta i menyn Administration / Tryckta blanketter och bearbetning / Ytterligare rapporter och bearbetning skapa ny behandling. Ange sökvägen till filen "Download Documents.epf" och tilldela ett namn. Ange platsen för bearbetningen i menyn, varifrån användaren kan starta den senare, till exempel välj menyn Kataloger
Klicka på objektet Snabb åtkomst du anger vilka användare som har tillgång till bearbetning:
Klicka på efter inställningen Spara och stäng. För att börja bearbeta behöver användare bara gå in i databasen igen och öppna den från åtkomstmenyn (i exemplet - Kataloger) och klicka på Utföra.
Öppna Meny - Alla funktioner.... och hitta alternativet "Säkerhetsprofiler används" i listan.
Avmarkera bara alternativet "Säkerhetsprofiler används".
Efter detta kommer programmet att starta framgångsrikt.