ПредишенСледващото

Глава 20. Механизмът на временно съхранение, работа с файлове и снимки


Глава 20. Механизмът на временно съхранение, работа с файлове и снимки

В "1C: Enterprise" има механизъм, който да работи с временен склад помещение за съхранение на някои данни, свързани с една сесия. В допълнение, на механизъм за работа с файлове, което позволява обмен на файлове между информационната база и заявката на клиента. Отличителна черта на този механизъм е, че тя е насочена към използването на тънък клиент и уеб клиент и предназначени да отговарят на ограниченията за работа с файлове, наложени от уеб браузъри.

Механизмът на съоръжението за временно складиране, заедно с механизъм, който да работи с файлове осигурява комплект, с който можете да поставите на данните, съхранявани локално на потребителя за временно съхранение на информационна база, за прехвърляне на тази информация от временен склад до базата данни и го върна към компютъра на потребителя. Най-често срещаните проблеми за кандидатстване решени с тези механизми, - .. е да се съхранява придружаващата информация, като например изображения на продукти, свързани с договорния документ и др Механизми за временно съхранение и управление на файлове често се използват заедно, но могат да се използват поотделно.

20.1. временно съхраняване

Временно съхраняване - специализирана информация за магазина, който може да бъде поставен стойност. Основната цел - е временно съхранение на информация в клиент-сървър взаимодействие преди пренасянето му в базата данни.

Необходимостта за временно съхранение възниква, например, се дължи на факта, че моделът на уеб браузъра, който искате да изпратите избрания от потребителя файл директно на сървъра без възможност за неговото съхранение на клиента. При изпращане на файл, той е поставен в режим на временно съхранение и след това по-късно може да се използва при писане на обект към базата данни.

Можете да използвате временно място за съхранение, като универсален склад с контролиран живот време информация:

● Ако задължителни данни към някаква форма на данните на стаите се извършва по временно съхранение, данните се съхраняват живот зависи от продължителността на форми на живот, които са обвързани с данни. Ако изтриете форма обект временно съхранение ще бъде изчистена от цялата свързана информация.

● Ако се свързват с формата на данните на стаите не е завършен за временно съхранение, почистване на временно съхранение ще се извършва в следните случаи:

● Ако следващата форма поискване.

● Следващият път, когато се обадите на сървъра, от общ модул клиент.

● Когато контекста и не са контекстуални клиентски обаждания от матрицата.

● Когато се обадите на сървъра от командния модул. Ако се направи призива на сървъра, за да поставите стойността на временен склад, почистването не е направено. Почистването се извършва след повикването приключи своята работа.

Това означава, че можете да поставите една или повече стойности за временно съхранение и следващото обаждане е стойността, използвана. В този случай, след употреба и преди сървърът е над разговора ще бъде поставен от стойността, ще бъдат премахнати автоматично.

Най-типичната проблема заявление решен от временен склад, - осигуряване на достъп до файлове или снимки преди обекта се записва в базата данни на информация, например под формата на елемент.

20.2. Начини за работа с файлове и временно съхраняване

Този раздел описва най-често срещаните начини на използване на механизма с временно съхранение и файлове.

20.2.1. Съхраняване на данни от файл във временен склад

20.2.1.1. Поставянето на един файл

В резултат на метода връща лъжа. ако потребителят интерактивно изоставен на сделката в диалоговия прозорец за избор на файл.

20.2.1.2. Стаята е набор от файлове

PomestitFayly () метод се поставя във временен склад на няколко файла в един разговор. Има няколко различни начина за използване на този метод:

● предварително да създадете списък с добавени файлове, например, когато предварително избрана файлове, за да бъдат поставени в база данни;

● прехвърляне на файлове с помощта на маска за търсене, например, когато искате да поставите във всички базови данни файлове от определен тип на, например, всички изображения;

● прехвърля метода предварително приготвен DialogVyboraFayla обект в режим на отваряне на файлове.

След края на метода може да се върне списък с наистина добавят файлове.

// SpisokFaylov - подпори тип SpisokZnacheny форма,

// съдържа списъка на добавените файлове

MassivFaylov = нов Array;

За всеки цикъл ElementSpiska От SpisokFaylov

MassivFaylov. Добави (Нова OpisaniePeredavaemogoFayla (ElementSpiska).);

PomeschennyeFayly = нов Array;

Резултат = PomestitFayly (MassivFaylov PomeschennyeFayly лъжа UnikalnyyIdentifikator ..);

ЗАБЕЛЕЖКА. За да използвате метода PomestitFayly () Web клиент се изисква връзка с разширения работят с файлове (вж. Тук).

20.2.2. Поставянето на данни във временен склад

20.2.3. Получаване на данни от временно складиране

20.2.4. Изтриването на данни от временно складиране

След като данните се поставя в необходимата информационна база обекта, може да се наложи да имате достъп до тях, използвайки метода на файл.

20.2.7. Първи на файл от една информационна база

20.2.7.1. Получаването на един файл

Методът по подразбиране се изпълнява онлайн. Това означава, че там ще се формира диалогов прозорец, в който можете да определите действието на получения файл: тя тече, или да запишете на потребителя определено място на файловата система. Ако сте избрали интерактивен режим, както и име на параметър файл не е уточнено, за отваряне на файл операция не е налична. Методът се връща булева. Фалшиви указва, че потребителят е избрал да отмените операцията, за да записвате файлове диалогов прозорец в интерактивен режим.

20.2.7.2. Първи набор от файлове,

PoluchitFayly () метод, за да получава и съхранява в локалната файлова система на потребителя, няколко различни файлове, съхранявани в базата данни на информация. Като параметър премина към списъка с изтеглени файлове.

// SpisokFaylov - списък стойност съдържащ препратки към елементите

// директория, където се намират файловете, изписан

// представяне на стойността на списъка е името на файла за качване

MassivFaylov = нов Array;

За всеки цикъл ElementSpiska От SpisokFaylov

Изображение = нов файл (String (ElementSpiska стойност).);

PoluchaemyyFayl = New OpisaniePeredavaemogoFayla;

PoluchaemyyFayl. Име = ElementSpiska. представителство;

PoluchaemyyFayl. Съхранение = PoluchitNavigatsionnuyuSsylku (ElementSpiska стойност "Данни" ..);

MassivFaylov. Добави (PoluchaemyyFayl);

PoluchennyeFayly = нов Array;

Резултат = PoluchitFayly (MassivFaylov PoluchennyeFayly PutVygruzhaemyhFaylov лъжа ...);

Ако не след това резултатът

Публикация = New SoobscheniePolzovatelyu;

Съобщение. Текст = "Грешка при извикването на файлове!" ;

След края на метода може да се върне списък на качените файлове е реално, което показва пълното име на всеки записан файл.

ЗАБЕЛЕЖКА. За да използвате метод PoluchitFayly () Web клиент връзка се изисква разширения работят с файлове (вж. Тук).

Ако името на собственост на OpisaniePeredavaemogoFayla на обекта съдържа абсолютната пътя към файла, файлът ще бъде записан по този начин, без да се отчита параметъра RaspolozhenieFaylov.

Като параметър RaspolozhenieFaylov може да действа или по пътя към локалната файлова система, или DialogVyboraFaylov обект в режим на избор на папка или записване на файловете. Ако стойността на параметъра е посочен обект на режима на RaspolozhenieFaylov DialogVyboraFaylov да записвате файлове, тогава:

● диалог ще се нарича всеки път, когато изпращате файлове, с изключение на тези файлове, за които OpisaniePeredavaemogoFayla имотния име обект съдържа самият път;

● като първоначално името на файла в диалоговия прозорец, ще се използва стойността на обекта Име OpisaniePeredavaemogoFayla;

● ако сте избрали да не се спаси всеки файл, обект име имот OpisaniePeredannogoFayla ще съдържа празен низ;

● метод PoluchitFayly () връща TRUE. ако поне един файл е получен успешно;

● Трябва да знаете, че действителната файл извличане се извършва, след като потребителят отговаря на въпросите на името и пътя на всички входящи файлове.

PeredavaemyeFayly = нов Array;

PeredavaemyeFayly. Добави (Описание);

VyborFayla = New DialogVyboraFayla (RezhimDialogaVyboraFayla консервация.);

VyborFayla. Заглавие = "Запазване на файла";

VyborFayla. Разширяване = "цип";

VyborFayla. Филтър = 'Архив (* цип.) | * .zip | Всички файлове | * *. ";

VyborFayla. IndeksFiltra = 0;

PoluchitFayly (PeredavaemyeFayly VyborFayla лъжа ..);

Ако решите да съхранявате файлове онлайн режим на избор директория, уеб клиентът допълнително ще поиска разрешение за запазване на файлове, определени с абсолютни пътеки. В случай на не-интерактивен опазване (пътя на директорията, определена в съответния параметър) ще бъде направено искане за целия списък на съхранените файлове.

20.2.8. Примерни методи за използване на файл

// Получаване на интерактивния с режима на диска файл

// и пускането му в временно съхранение.

Object. FileName = VybrannoeImya;

// указател, регистърът на обект, изтриване на файл от временната

ElementSpravochnika RekvizitFormyVZnachenie = ( "обект");

ElementSpravochnika. DannyeFayla = New HranilischeZnacheniya (DvoichnyeDannye New SzhatieDannyh ().);

File = нов файл (името на файла ElementSpravochnika.);

ElementSpravochnika. Име на файл = Файл. име;

ZnachenieVRekvizitFormy (ElementSpravochnika "обект".);

// чете файла от реквизита и го запишете

// на локалния диск в интерактивен режим.

20.2.9. Разрешение за извършване на операции с файлове, групови

Когато извършвате някои операции в уеб клиента, може да се наложи да получите разрешение за няколко операции за работа с файлове. Например, трябва да получи документ от базата данни и след това отворете спаси документа чрез свързания заявлението.

За да извършите тази операция изисква да се отговори на въпроса за запазване на документа и на необходимостта да се започне. Ако операцията приключи, въпросите на потребителите ще бъдат по-големи.

Можете да използвате метода ZaprositRazresheniePolzovatelya (), за да се намали броят на въпроси. Използвайки този метод, потребителят се покаже списък на всички операции, които са планирани да се извърши, и предлага да се позволи извършване на операции на групата. Ако потребителят има право да се изпълни, тогава исканата операция ще бъде извършена без никакви допълнителни искания към потребителя. Ако разрешението не бъде уважено, операцията ще бъде извършена в нормален режим: една заявка за транзакция.

ЗАБЕЛЕЖКА. За да използвате метода ZaprositRazresheniePolzovatelya () Web клиент се изисква за да се свържете разширение за работа с файлове (вж. Тук).

Вземем примера на използване на метода:

Ако PodklyuchitRasshirenieRabotySFaylami () След това

// Formation описания предава файлове (в случая на файл)

PeredavaemyeFayly = нов Array;

PeredavaemyeFayly. Добави (Описание);

// Подготовка на обекта, за да получи информация за получените файлове

PeredannyeFayly = нов Array;

// Определяне на други параметри на метода

ImyaPeredannogoFayla KatalogSohraneniya = + "" + обект. име на файла;

// Приготвя описанието на методите за получаване на разрешения

Методи = нов Array;

Методи. Добави (нова Array);

Методи [0]. Добави ( "PoluchitFayly");

Методи [0]. Добави (PeredavaemyeFayly);

Методи [0]. Добави (PeredannyeFayly);

Методи [0]. Добави (KatalogSohraneniya);

Методи [0]. Добави (интерактивни);

Методи. Добави (нова Array);

Методи [1]. Добави ( "ZapustitPrilozhenie");

Методи [1]. Добави (ImyaPeredannogoFayla);

Ако не ZaprositRazresheniePolzovatelya (методи) След

Предупреждение ( "Потребител отрече отпуск.");

PoluchitFayly (PeredavaemyeFayly PeredannyeFayly KatalogSohraneniya интерактивно ...);

Предупреждение ( "Изпълнение не се поддържа Не е намерен работа разширяване с файлове ..");

Трябва да се отбележи редица елементи на метода ZaprositRazresheniePolzovatelya ().

● Да се ​​разреши ли се иска само за следните методи:

● Разделителна способност се изисква за определен набор от параметри на метода. Ако същинското изпълнение на метода на работа с файлове, настройки ще бъдат различни от тези, за които разрешение, разрешение няма да бъде валиден и потребителят ще получи отделна заявка за потвърждение.

● Ако е необходимо да се извърши по два (или повече) операции идентични файлове (дори и с един и същ набор от параметри), следва да се посочи съответния брой елементи в метода на масив параметри ZaprositRazresheniePolzovatelya (). Например, ако искате да получите двойно от базата от знания е един и същи файл и го поставете в определено местоположение на файловата система, трябва да поиска разрешение за две операции.

● Ако се иска разрешение за операцията, която се извършва при изпълнение на интерактивни операции (например, функционира PoluchitFayly () като параметър се предава DialogVyboraFayla обект), тогава такава операция се елиминира от заявката.

Получената резолюцията съхраняват или право да извършва повикването, или до края на изпълнението на скрипта език.

ЗАБЕЛЕЖКА. Методът на дебели и тънки клиенти ZaprositRazresheniePolzovatelya () винаги се връща True. без намеса на потребителя.

2.20.10. Работа с временно съхранение в работата на фона

Механизмът на временно съхранение, да работи с файлове и снимки

Фиг. 262. Извежда изображението във формуляра

FaylKartinki = обект. FaylKartinki;

Ако не FaylKartinki. Empty () След това

20.3. Особености на използване на уеб клиента

Работата описва механизъм, чрез използването на уеб клиентът има някои ограничения, които са свързани с характеристиките на модела за сигурността на вашия уеб браузър. Така например, на клиента сам не може да запишете файла на локалната файлова система, която е достъпна само за интерактивна версия на методи на клиента PomestitFayl на () и PoluchitFayl (). Когато се опитате да използвате режима без интерактивен е изключение. Диалогови прозорци, които се показват в интерактивен режим, които са специфични за определен тип уеб браузър.

Въпреки това, можете да разширите възможностите за работа с файлове в уеб клиента, ако е необходимо. За да направите това, използвайте разширението за работа с файлове. След свързването на разширението на уеб клиента се предлагат следните обекти и методи за работа с файлове:

ЗАБЕЛЕЖКА: 1. За правилното функциониране на работата по разширяване с файлове в Microsoft Internet Explorer уеб браузър, се препоръчва Microsoft Ядро XML Услуги библиотека (MSXML) версия 4.0 или 6.0.

ЗАБЕЛЕЖКА 2. Засилено управление на файлове за Microsoft Internet Explorer уеб браузър инсталира в директорията% APPDATA% \ 1C \ 1C EWebExt \ FileSystemExtIE.

Преди да използвате компонентите изпълняват следните стъпки:

● Правилно настроите уеб браузъра (виж книгата "1C: Enterprise 8.2 Ръководство на администратора.".).

● инсталирате разширението за работа с файлове. За да направите това, използвайте метода на глобален контекст UstanovitRasshirenieRabotySFaylami (). Този интерактивен действие, което трябва да се извърши, след като в продължение на локалния компютър на всеки потребител с помощта на разширението.

● Свържете разширяването на работа с файлове. За да направите това, използвайте метод PodklyuchitRasshirenieRabotySFaylami ().

Свързани статии

Подкрепете проекта - споделете линка, благодаря!