Перенесення даних вивантаженням та завантаженням із файлу
Фірма «1С» в першу чергу рекомендує використовувати методику автоматичного перенесення даних безпосередньо з вихідної інформаційної бази, оскільки вона забезпечує коректне перенесення облікових даних та скорочує час переходу на нову програму. Однак бувають ситуації, коли застосувати цю методику неможливо, наприклад, у разі істотного зміни вихідної конфігурації або під час переходу з базових версій програми. У таких випадках пропонується використовувати перенесення даних вивантаженням та завантаженням із файлу.
Вивантаження даних у файл
Вивантаження файлу рекомендується застосовувати лише у випадку, якщо перенесення даних безпосередньо з інформаційної бази неможливе.
Якщо необхідно вивантажити лише частину даних вихідної інформаційної бази, потрібно скористатися послідовністю дій, описаної у наступному розділі.
Розглянемо вивантаження даних у файл з прикладу перенесення даних з інформаційної бази «1С:Бухгалтерії 7.7». Порядок дій за інших варіантах перенесення змінюється.
Перенесення даних виконується поетапно. Перед початком перенесення потрібно переконатися, що вихідна інформаційна база закрита і не працюють користувачі.
Етап 1. Резервне копіювання
Потрібно здійснити резервне копіювання інформаційної бази конфігурації «Бухгалтерський облік» редакції 4.5.
Етап 2. Вивантаження даних
Запустити "1С: Бухгалтерію 7.7".
Перенесення даних здійснюється за допомогою файлів, що знаходяться в підкаталозі ExtForms (1SBDB\ExtForms):
- V77Exp.ert - Обробка вивантаження даних з конфігурації «Бухгалтерський облік», редакція 4.5;
- Acc_Acc8.xml – правила конвертації даних, що використовуються обробкою V77Exp.ert.
Правила перенесення вихідної інформаційної бази повинні бути актуальними на момент перенесення.
- Запустити "1С:Бухгалтерію 8".
- Відкрити форму Завантаження з 1С: Підприємства 7.7.
Після оновлення правил перенесення можна приступати до вивантаження даних. Перехід на 1С:Бухгалтерію 8 панелі інструментів програми.
Крок 1. Початок роботи з помічником
Для ознайомлення з перевагами переходу натиснути Про переваги 1С:Бухгалтерії 8.
Крок 2. Перевірка оновлень
Для перевірки наявності оновлень натиснути Перевірити наявність оновлень.
За наявності ІТС можна відразу оновити конфігурацію. Далі програму необхідно закрити. 1С:Підприємство робота з помічником продовжується з моменту зупинки.
Крок 3. Налаштування періоду вивантаження
Вибрати період розвантаження.
Для цього потрібно встановити перемикач на одному з таких значень:
- Залишки на початок року – якщо залишки переносяться на початок року;
- Обороти – якщо дані переносяться у середині року;
- Документи– якщо переносяться залишки за незакритий період цього року.
Обов'язково вказується період перенесення. Наприклад, якщо вивантаження формується на 01.01.2013, то встановити перемикач Залишки на початок року, і як період вкажемо 2013 р.
Якщо встановити прапорець Виконати перевірку даних, що вивантажуються то спочатку буде проведено перевірку цілісності даних у переносній інформаційній базі та запропоновано варіанти виправлення виявлених помилок.
Крок 4. Адреса файлу розвантаження
У полі Вивантажувані дані будуть записані у файлі відображається розташування файлу вивантаження.
Крок 5. Вивантаження даних
Для навантаження даних натиснути Вивантажити. В результаті вивантаження буде створено файл у форматі XML.
Рекомендується встановити прапорець Сформувати оборотно-сальдову відомість. У цьому випадку після закінчення розвантаження програма автоматично сформує звіт Оборотно-сальдова відомість. Необхідно використовувати звіт для перевірки завантажених даних.
Неповне (часткове) вивантаження даних у файл
Під неповним (частковим) вивантаженням розуміється перенесення лише низки об'єктів інформаційної бази. Для цього потрібно скористатися універсальним розвантаженням даних.
Потрібно відкрити універсальне вивантаження (Сервіс – Додаткові можливості).
У вікні вибрати пункт Вивантаження даних для 1С:Бухгалтерії 8.
Далі потрібно заповнити параметри універсального розвантаження даних.
Необхідно вказати параметри вивантаження:
- Ім'я файлу правил - Вибрати файл правил конвертації даних;
- Ім'я файлу даних – вказати файл, до якого будуть вивантажені дані у форматі .xml;
- Дата початку, Дата закінчення - Вказати період вивантаження. Якщо перенесення здійснюється на початок року, то в полях Дата початку і Дата закінчення необхідно вказати однакову дату. Наприклад, якщо перенесення здійснюється на початок 2013 року, то потрібно вказати дату початку та дату закінчення – 01.01.2013;
- Правила розвантаження даних – натиснути Завантажити правила обміну для заповнення табличної частини Правила розвантаження даних. За тими розділами, за якими вивантаження не провадиться, зняти прапорці. Наприклад, якщо необхідно перенести лише дані довідника Банківські рахунки і Банки, то встановити прапорці Банки і Банківські рахунки у табличній частині Правила розвантаження даних.
Натиснути Вивантажити для виконання розвантаження даних.
Завантаження даних із файлу
- Запустити "1С:Бухгалтерію 8".
- Додаткові налаштування в інформаційній базі «1С:Бухгалтерії 8» не потрібні. Налаштування параметрів обліку для коректного перенесення даних будуть встановлені в інформаційній базі за промовчанням.
- Необхідно скористатися помічником переходу (Головне – Завантаження з 1С: Підприємства 7.7).
Крок 1. Вибір варіанта завантаження даних
Вибрати пункт Завантажити дані з файлу.
Крок 2. Вибір файлу завантаження
Вибрати в полі Шлях до файлу даних файл завантаження.
Після вибору файлу у розділі Опис даних, що завантажуються відображається інформація про конфігурацію, номер релізу, організацію, період і дату вивантаження даних з вихідної інформаційної бази.
Для завантаження даних натиснути Завантажити дані.
Крок 3. Завантаження
Завантаження даних та їх перевірка здійснюються автоматично.
- завантаження даних,
- проведення завантажених документів,
- перевірка завантажених документів.
У полі Виконання відображається індикатор виконання завантаження у відсотках. Нижче наводиться найменування вихідної інформаційної бази.
Якщо завантаження здійснюється у програмний продукт базової версії, то ІПН і КПП організації в «1С:Бухгалтерії 8» будуть замінені на ІПН/КПП організації вихідної інформаційної бази.
Крок 4. Результат перенесення
Якщо перенесення даних пройшло успішно, виводиться рядок: "Перенесення даних пройшло успішно!".
Якщо використовується версія ПРОФ, можна відразу розпочати перенесення наступної інформаційної бази або даних із файлу.
Якщо при перенесенні виникли помилки, то за посиланням Інформація про помилки відкривається інформаційне повідомлення про помилку.Після усунення помилки слід повторити перенесення даних.
Табличний документ "1С:Підприємства" (*.mxl): як зберегти в іншому форматі?
В даний час бухгалтерський та податковий облік на підприємствах ведеться з використанням спеціальних бухгалтерських програм. Вони організації створюють документи, звіти. Все частіше при обліку виникає необхідність обміну документами в електронному вигляді, наприклад, з контрагентами. Рахунки покупцям та акти звіряння взаєморозрахунків зручніше та швидше отримати за допомогою передачі їх електронною поштою. У цій статті, підготовленій В.В. Рибалка (фірма "1С") та спеціалістами ТОВ "Впроваджувальної фірми "БЛІК"*, описується методика збереження друкованої форми документа або звіту, сформованого в "1С:Бухгалтерії 8" у зовнішні файли різних форматів, а також розповідається, якими засобами можна відкрити та редагувати табличний документ "1С:Підприємства" (*.mxl).
Зміст
Після того, як табличний документ сформований у "1С:Підприємстві" і виведений на екран, його можна роздрукувати та зберегти у зовнішній файл. Наприклад, для подальшого відправлення контрагенту-покупцю електронною поштою.
У "1С:Підприємстві" є можливість зберегти отриманий документ у кількох форматах. Зокрема, доступні:
- формат "1С:Підприємство" - табличний документ для версій платформи 7.7 та 8 (файли з розширенням "*.mxl");
- текстовий формат ("*.txt") з різними кодуваннями (ANSI, UTF-8);
- формат HTML різних стандартів ("*.htm");
- формат MS Excel різних стандартів ("*.xls").
Кожен із форматів є досить поширеним у комп'ютерному світі. Зокрема, формат "1С:Підприємства" ("*.mxl") використовується для передачі табличних документів між користувачами платформ 7.7 та 8.Текстовий формат ("*.txt") зазвичай використовується для передачі текстової інформації (без форматування) і може бути прочитаний практично на будь-якому комп'ютерному пристрої. Формат HTML - найпоширеніший формат відображення інформації в мережі Інтернет (наприклад, сторінки та сайти, які ви переглядаєте в Інтернеті, з великою ймовірністю використовують саме формат HTML або його різновиди). А формат MS Excel коментарів, ми вважаємо, не потребує - мало якийсь комп'ютер не вміє працювати з "офісними" документами.
Для того, щоб зберегти документ з "1С:Підприємства" в будь-якому з перерахованих вище форматів, достатньо вибрати в меню "Файл" опцію "Зберегти копію…", після чого в діалозі збереження файлу, що з'явився, у розділі "Тип файлу" вибрати потрібний нам тип.
Серед усіх вищезгаданих типів файлів, звернемо увагу на три найцікавіші з практичної точки зору - т.д. е. ті, які максимально повно збережуть форматування у табличному документі та надалі дозволять іншим користувачам комфортно переглядати те, що ми зберегли, роздруковувати це або навіть редагувати.
Перший формат - "табличний документ" "1С:Підприємства". Він записується у файли з розширенням ".mxl" і може бути прочитаний та відредагований лише засобами платформи "1С:Підприємство". Відкрити такий файл можна програмою "1С:Підприємство", встановленою на комп'ютер користувача або безкоштовним редактором файлів форматів 1С "1С:Підприємство-Робота з файлами".
Програму "1С:Підприємство-Робота з файлами" можна безкоштовно завантажити за адресою http://v8.1c.ru/metod/fileworkshopdownload.htm, опис програми та приклади роботи можна побачити за адресою http://v8.1c.ru/ method/fileworkshop.htm.Даний редактор дозволяє відкривати та редагувати різні формати файлів, які можуть бути створені засобами платформи "1С:Підприємства". Підтримуються такі формати:
- текстові документи різних кодувань (*.txt);
- табличні документи версій платформи 7.7 та 8 ("*.mxl");
- HTML-документи ("*.htm, *.html");
- графічні схеми ("*.grs");
- географічні схеми ("*. Geo").
По суті, використовуючи цю програму, ви отримуєте всі можливості роботи з цими файлами, доступні в будь-якій іншій версії платформи "1С:Підприємство" версії 8. Крім, власне, редагування та перегляду файлів, "1С:Підприємство-Робота з файлами" дозволяє проводити порівняння файлів вбудованими у платформу 8 можливостями. Підтримується порівняння двох текстових файлів("*.txt"), двох табличних документів у форматі 1С ("*.mxl") або двійкове порівняння. Для використання цієї можливості, достатньо в меню "Файл" вибрати пункт "Порівняти файли", а в діалозі, що з'явився, вибрати тип порівняння і вказати два файли, які будемо порівнювати (див. рис. 1). Якщо файли не ідентичні, буде відкрито вікно, наочно відображає, чим файли один від одного відрізняються (див. рис. 2). Причому, як видно з малюнка, можна швидко переміщатися за всіма виявленими відмінностями, за позицією в одному документі потрапляти в ту ж позицію іншого. Всі відмінності наочно позначені кольором. В результаті ви завжди маєте під рукою потужний механізм порівняння, який дозволить швидко виявити відмінності, наприклад, у однотипних документах або звітах, що може суттєво прискорити роботу з ними.
Насамкінець варто згадати, що в програму "1С:Підприємство-Робота з файлами" вбудовані також календар і калькулятор, вже знайомі багатьом по платформі 1С версії 8.
Другий корисний багатьом формат - "Аркуш Excel" ("*.xls"). Зауважимо, що у версії 8.1 платформи "1С:Підприємство 8", з'явилася підтримка формату Excel97 (докладніше див тут), який дозволяє коректно зберігати різноманітне форматування, угруповання, примітки тощо. п. Завдяки підтримці цього формату, ви можете зберегти та передати, наприклад, своєму контрагенту витратну накладну ТОРГ-12, у форматі Excel без будь-яких втрат у форматуванні цього документа. Т. е. одержувач відкриє у своїй програмі Excel файл і побачить його таким, яким він був створений у програмі 1С.
Третій формат, на який хотілося б звернути вашу увагу – "Документ HTML" ("*.htm"). Мабуть, це найпоширеніший формат Інтернету. Користь для нас у тому, що документ цього формату може бути відкритий масою WEB-браузерів, наприклад Internet Explorer, Mozilla, Firefox, Opera тощо. п. Тобто на комп'ютері користувача, якому ви надсилаємо документ у форматі HTML, взагалі можуть бути відсутні програми 1С.
Як правило, у рядового користувача не виникає потреби у редагуванні файлів даного формату. У разі ж, якщо виникне необхідність відредагувати такий документ (наприклад, друкарську помилку поправити), користувач завжди може встановити необхідний йому HTML-редактор або безкоштовну програму "1С:Підприємство-Робота з файлами", про яку ми вже згадували.
Насамкінець, хочеться відзначити розвинені можливості програм "1С:Підприємство" з експорту своїх даних в інші формати. Це реалізовано з метою спростити та полегшити процес обміну робочими даними та документами між різнорідним програмним забезпеченням різних організацій.
Примітка:
* Група компаній "Блік", м. КиївКорольов, Жовтневий б-р, буд. 14, оф. 9, тел (495) 585-06-80.
20.3 Способи роботи з файлами та тимчасовим сховищем
У цьому розділі описані найчастіші варіанти використання механізму роботи з тимчасовим сховищем та файлами.
Збереження даних із файлу в тимчасове сховище
Приміщення одного файлу
Метод ПоміститиФайл() поміщає файл із локальної файлової системи у тимчасове сховище. Метод може приймати адресу у тимчасовому сховищі, за яким потрібно зберегти файл. Якщо ж адреса не визначена або є порожнім рядком, то буде створена нова адреса та метод поверне її через спеціальний параметр.
Примітка. Обсяг даних, що переміщуються між клієнтом та сервером, за один виклик методу Помістити Файл() , не повинен перевищувати 4 Gb (у серіалізованому вигляді).
Якщо параметр, що визначає інтерактивний режим роботи, дорівнює Істина, метод відобразить стандартне діалогове вікно вибору файлу, в якому можна вибрати файл для приміщення в сховищі. У цьому випадку метод також поверне адресу вибраного файлу.
Як результат, метод повертає Брехню, якщо користувач в інтерактивному режимі відмовився від здійснення операції в діалозі вибору файлу.
Розміщення набору файлів
Метод ПоміститиФайли() містить у тимчасове сховище кілька файлів за один виклик. Існує кілька різних способів використання цього методу:
● попередньо сформувати список файлів, що додаються, наприклад, коли попередньо вибрав файли, які необхідно помістити в інформаційну базу;
● передати в метод маску пошуку файлів, наприклад, коли потрібно помістити в інформаційну базу всі файли певного виду, наприклад, всі картинки;
● передати в метод попередньо підготовлений об'єкт ДіалогВиборуФайлу в режимі відкриття файлів.
Після закінчення роботи метод може повернути список реально доданих файлів.
// СписокФайлів – реквізит форми типу СписокЗначень,
// містить список файлів, що додаються
МасивФайлів = Новий Масив;
Для кожного ЕлементСписку З СписокФайлів Цикл
МасивФайлів.Додати(Новий ОписПередаєтьсяФайлу(ЕлементСписку, ));
КінецьЦикл;
ПоміщеніФайли = Новий Масив;
Результат = ПоміститиФайли (МасивФайлів, РозміщеніФайли, , Брехня, УнікальнийІдентифікатор);
Примітка 1. Для використання методу ПоміститиФайли() у веб-клієнті потрібне підключення розширення роботи з файлами .
Примітка 2. Обсяг даних, що переміщуються між клієнтом та сервером, за один виклик методу Помістити Файли() , не повинен перевищувати 4 Gb (у серіалізованому вигляді).
Приміщення даних у тимчасове сховище
Метод ПоміститиВчаснеСховище() схожий на метод ПоміститиФайл() , за винятком того, що дані для запису в тимчасове сховище
представляються над вигляді шляху у файлової системі, а вигляді значення. Так само, якщо не вказана існуюча адреса в тимчасовому сховищі, створюється нова адреса. Адреса повертається як наслідок функції. Так само як і для файлів, розміщені дані обов'язково належать до будь-якої форми і автоматично видаляються після її видалення.
Примітка. Обсяг даних, що переміщуються між клієнтом та сервером, за один виклик методу ПоміститиВчасне Сховище() , не повинен перевищувати 4 Gb (у серіалізованому вигляді).
Увага! При приміщенні в тимчасове сховище фактичної серіалізації значення не виконується.Поміщається посилання на значення, яке зберігається в кеші протягом 20 хвилин. Після закінчення цього періоду значення серіалізується, записується на диск (сховище сеансових даних) і видаляється з кеша.
Отримання даних із тимчасового сховища
При записі об'єкта в інформаційну базу може знадобитися витягти дані з тимчасового сховища та помістити їх, наприклад, у реквізит об'єкта інформаційної бази. Для цього існує спеціальний метод – отримати з Тимчасового Сховища (). Цей метод витягує дані з тимчасового сховища і повертає їх як результат виконання. Для отримання даних необхідно вказати адресу в тимчасовій
сховище. Ця адреса повертає методи розміщення даних у тимчасове сховище у разі їх успішного виконання (див. попередні розділи).
Увага! При отриманні на сервері значення тимчасового сховища слід враховувати те, що воно виходить за посиланням. Насправді, це посилання вказує на значення, яке зберігається в кеші. Протягом 20 хвилин, з моменту приміщення в сховищі або з моменту останнього звернення, значення збережеться в кеші, а потім записується на диск і видаляється з кешу. У разі наступного звернення значення завантажується з диска і знову поміщається в кеш.
Після десеріалізації та відновлення значення із тимчасового сховища посилання не відновлюються. Значення у кеші відновлюється з диска. Але після серіалізації/десеріалізації відновити посилання на інші об'єкти всередині значення неможливо.
Видалення даних із тимчасового сховища
Після того, як дані збережені у реквізиті об'єкта інформаційної бази, дані у тимчасовому сховищі можна видалити. Для цього є метод
ВидалитиЗ ТимчасовогоСховища(), який здійснює видалення. Метод приймає у параметрі адресу у тимчасовому сховищі.
Перевірка адреси на належність тимчасовому сховищу
Адресу може вказувати як на тимчасове сховище, так і на реквізит в інформаційній базі. Для перевірки його типу існує метод
ЦеАдрес ТимчасовогоСховища(). Він перевіряє, що передана адреса є адресою, що вказує на сховище. Повертає Істина, якщо адреса вказує на тимчасове сховище.
Отримання адреси реквізиту
Після того, як дані поміщені в реквізит об'єкта інформаційної бази, може знадобитися отримати доступ до них за допомогою файлових методів.
Але перш ніж отримати дані, наприклад, з реквізиту, необхідно отримати адресу цього реквізиту. Для цього існує метод Отримати Навігаційне Посилання ().
Він може повернути адресу значення в базі даних за вихідними параметрами. Для цього необхідно передати ключ об'єкта (це може бути
як посилання на об'єкт, так і ключ запису регістра відомостей) та ім'я реквізиту. Якщо потрібно отримати адресу значення, що зберігається у реквізиті
табличній частині, то до імені реквізиту в параметрі, що задає ім'я реквізиту, необхідно додати ім'я табличної частини та точку ".". Наприклад: Товари.
Отримання файлу з інформаційної бази
Отримання одного файлу
Метод ОтриматиФайл() отримує файл з інформаційної бази та зберігає його у локальну файлову систему користувача. Перший параметр визначає адресу файлу у реквізиті об'єкта інформаційної бази або у тимчасовому сховищі файлів. Збереження не станеться, якщо у користувача, від імені якого виконується операція, немає права Перегляд на реквізит об'єкта інформаційної бази.Другий параметр визначає місце збереження одержуваного файлу. У неінтерактивному режимі потрібно вказати шлях. В інтерактивному режимі параметр
опціональним.
За промовчанням метод виконується в інтерактивному режимі. Це означає, що буде сформовано діалогове вікно, в якому можна вказати дію з отриманим файлом: запустити його або зберегти місце файлової системи в зазначене користувачем. Якщо вибрано інтерактивний режим, а параметр Ім'я файлу не вказано, операція відкриття файлу недоступна. Метод повертає значення типу Бульова. Брехня означає, що користувач вибрав скасування операції у діалоговому вікні збереження файлів в інтерактивному режимі.
Отримання набору файлів
Метод ОтриматиФайли() дозволяє отримати та зберегти у локальній файловій системі користувача кілька файлів, що зберігаються в інформаційній базі. Як параметр передається список файлів, що вивантажуються.
// Список файлів – список значень, що містить посилання на елементи
// довідника, в якому розташовані файли, що вивантажуються
// Поданням списку значень є ім'я файлу, що вивантажується
МасивФайлів = Новий Масив;
Для кожного ЕлементСписку З СписокФайлів Цикл
Файл = Новий Файл (Рядок (Елемент Списку.Значення));
ОтримуванийФайл = Новий ОписФайла, що передається;
ОтримуванийФайл.Ім'я = ЕлементСписку.Представлення;
ОтримуванийФайл.Зберігання = ОтриматиНавигационнуюПосылку(ЭлементСписка.Значение, “Дані”);
МасивФайлів.Додати(ОтримуванийФайл);
КінецьЦикл;
ОтриманіФайли = Новий Масив;
Результат = ОтриматиФайли(МасивФайлів, ОтриманіФайли, ШляхВивантажуванихФайлів, Брехня) ;
Якщо НЕ Результат
Повідомлення = Новий Повідомлення Користувачеві ;
Повідомлення.Текст = "Помилка отримання файлів!" ;
Повідомлення.Повідомити();
КінецьЯкщо ;
Після закінчення роботи метод може повернути список реально вивантажених файлів із зазначенням повного імені кожного збереженого файлу.
ПРИМІТКА. Для використання методу Отримати Файли() у веб-клієнті потрібне підключення розширення роботи з файлами. Якщо властивість Ім'я об'єкта ОписПередаваемогоФайла містить абсолютний шлях до файлу, файл буде збережено цим шляхом без урахування параметра РозташуванняФайлів .
Як параметр Розташування Файлів може бути шлях у локальній файловій системі, або об'єкт Діалог Вибору Файлів у режимі вибору каталогу або збереження файлів. Якщо в якості значення параметра Розташування файлів вказано об'єкт діалогу вибору файлів у режимі
збереження файлів, то:
● діалог буде викликатися для кожного файлу, що передається, крім тих файлів, для яких властивість Ім'я об'єкта ОписПередаєтьсяФайлу містить абсолютний шлях;
● як початкове ім'я файлу в діалозі буде використовуватися значення властивості Ім'я об'єкта ОписПередаваемогоФайла;
● якщо для будь-якого файлу буде обрано відмову від збереження, то властивість Ім'я об'єкта ОписПереданогоФайлу міститиме порожній рядок;
● метод ОтриматиФайли() поверне значення Істина, якщо хоча б один файл отримано успішно;
● слід враховувати, що власне отримання файлів виконується після того, як користувач відповість на запитання щодо вказівки імені та шляху
всіх одержуваних файлів;
● якщо у користувача, від імені якого виконується метод Отримати Файли(), немає права Перегляд хоча б на один реквізит об'єкта інформаційної бази, звідки виконується отримання файлів – невдачею завершиться вся операція.
Приклад:
Файли, що передаються = Новий Масив;
Опис = Новий ОписПередаєтьсяФайла ("Опис", АдресаФайла);
ПереданіФайли.Додати ( Опис );
ВибірФайлу = Новий ДіалогВиборуФайлу(РежимДіалогуВиборуФайлу.Збереження);
Вибір Файла.Заголовок = "Збереження архіву";
Вибір файлу. Розширення = "zip";
ВибірФайла.Фільтр = "Архів(*.zip)|*.zip|Всі файли|*.*";
Вибір Файлу. Індекс Фільтра = 0;
ОтриматиФайли(Файли, що передаються, , ВибірФайла, Брехня) ;
Якщо вибрано інтерактивний режим вибору каталогу збереження файлів, веб-клієнт додатково запитуватиме дозвіл на збереження файлів, вказаних з абсолютними шляхами. У разі неінтерактивного збереження (шлях до каталогу вказаний у відповідному параметрі) запит буде виконано для всього списку файлів, що зберігаються.
Приклад використання файлових методів
// Отримання в інтерактивному режимі файлу з диска
// та приміщення його у тимчасове сховище.
&На Клієнті
Процедура ВибратиФайлСДискаІЗаписати()
Перем ВибранеІм'я;
Перем Адреса ТимчасовогоСховища;
Новий Об'єкт = Об'єкт. Посилання. Порожня ();
Якщо ПоміститиФайл(Адрес ТимчасовогоСховища, “”, Вибране Ім'я, Істина) Тоді
Об'єкт.Ім'яФайла = ВибранеІм'я;
ПоміститиФайлОбъекта(Адрес ТимчасовогоСховища);
КінецьЯкщо;
КінецьПроцедури
// Копіювання файлу з тимчасового сховища до реквізиту
// Довідник, запис об'єкта, видалення файлу з тимчасового
// Сховища.
&На Сервері
Процедура ПоміститиФайлОб'єкта(Адреси ТимчасовогоСховища)
ЕлементДовідника = РеквізитФормиЗначення("Об'єкт");
ДвійковіДані = ОтриматиЗ ТимчасовогоСховища(Адрес ТимчасовогоСховища);
ЕлементДовідника.
Файл = Новий Файл (Елемент Довідника. Ім'я Файла);
ЕлементДовідника.Ім'яФайла = Файл.Ім'я;
ЕлементДовідника.Записати();
Модифікованість = Брехня;
Видалити З Тимчасового Сховища (Адрес Тимчасового Сховища);
Значення ВРеквізит Форми (Елемент Довідника, "Об'єкт");
КінецьПроцедури
// Зчитування файлу з реквізиту та збереження його
// На локальному диску в інтерактивному режимі.
&На Клієнті
Процедура ПрочитатиФайлЗберегтиНаДиск()
Адреса = ОтриматиНавігаційнеПосилання(Об'єкт.Посилання,"ДаніФайлу");
Отримати Файл (Адреса, Об'єкт. Ім'я Файлу, Істина);
КінецьПроцедури
Дозвіл на виконання групи операцій із файлами
Під час виконання деяких операцій у веб-клієнті може знадобитися дозвіл на кілька операцій роботи з файлами.
Наприклад, необхідно виконати отримання документа з інформаційної бази, а потім відкрити збережений документ за допомогою асоційованої програми.
Для виконання цієї операції потрібно відповідати на питання про збереження документа та на питання про необхідність запуску. Якщо операцій буде більше, запитань користувачеві також побільшає.
Для зменшення кількості питань можна скористатися методом Запитати Дозвіл Користувача(). При використанні цього методу
користувачеві відображається список усіх операцій, які планується виконати, і пропонується дозволити виконання групи операцій.Якщо користувач дозволив виконання, запитані операції будуть виконуватися без додаткових запитів користувачеві. Якщо дозвіл не надано, операції будуть виконуватися у звичайному режимі: один запит на одну операцію.
ПРИМІТКА. Для використання методу ЗапитатиРоздільна здатність Користувача() у веб-клієнті потрібно підключити розширення роботи з файлами .
Розглянемо приклад використання методу:
Якщо ПідключитиРозширенняРоботиСФайлами() Тоді
Посилання = ОтриматиНавігаційнеПосилання(Об'єкт.Посилання, “ДаніФайлу”);
// Формування опису переданих файлів (у разі файл один)
Файли, що передаються = Новий Масив;
Опис = Новий ОписПередаєтьсяФайла(Об'єкт.Ім'яФайла, Посилання);
ПереданіФайли.Додати(Опис);
// Готуємо об'єкт для отримання інформації про отримані файли
НадісланіФайли = Новий Масив;
// Визначаємо інші параметри методів
КаталогЗбереження = "c:\temp";
Інтерактивно = Брехня;
Ім'яПереданогоФайлу = КаталогЗбереження + "\" + Об'єкт.Ім'яФайлу ;
// Готуємо опис методів отримання дозволів
Методи = Новий Масив;
Методи.Додати(Новий Масив);
Методы[0].Добавить(“ОтриматиФайли”);
Методы[0].Додати(Передаються Файли);
Методы[0].Додати(ПереданіФайли);
Методи [0]. Додати (Каталог Збереження);
Методи [0]. Додати (Інтерактивно);
Методи.Додати(Новий Масив);
Методы[1].Добавить(“Запустити Додаток”);
Методы[1].Добавить(ИмяПереданногоФайла);
Якщо Не ЗапитатиДозвол Користувача(Методи) Тоді
Попередження (“Користувач відмовив у дозволі”);
Повернення;
КінецьЯкщо;
ОтриматиФайли(Передаються Файли, ПереданіФайли, КаталогЗбереження, Інтерактивно);
ЗапуститиДодаток(Ім'яПереданогоФайлу);
Інакше
Попередження(“Виконання не підтримується. Не встановлено розширення роботи з файлами”);
КінецьЯкщо;
Слід зазначити кілька особливостей застосування методу Запитати Дозвіл Користувача().
1. Дозвіл запитується тільки для наступних методів:
● ОтриматиФайли()/ПочатиОтриманняФайлів(),
● ПоміститиФайли()/ПочатиПриміщенняФайлів(),
● ЗнайтиФайли()/ПочатиПошукФайлів(),
● КопіюватиФайл()/ПочатиКопіюванняФайлу(),
● ПереміститиФайл()/ПочатиПереміщенняФайлу(),
● ВидалитиФайли()/ПочатиВидаленняФайлів(),
● СтворитиКаталог()/ПочатиСтворенняКаталогу(),
● ЗапуститиПрограму()/ПочатиЗапускПрограми().
2. Роздільна здатність запитується для конкретного набору параметрів методу. Якщо при реальному виконанні методу роботи з файлами значення параметрів відрізнятимуться від тих, для яких отримано дозвіл, цей дозвіл не діятиме і користувач отримає окремий запит на підтвердження виконання операції.
3. Якщо необхідно виконати дві (або більше) однакові операції з файлами (навіть з однаковим набором параметрів), слід вказати відповідну кількість елементів у масиві параметрів методу Запитати Дозвіл Користувача (). Наприклад, якщо необхідно двічі отримати з інформаційної бази той самий файл і помістити його у фіксоване місце файлової системи, слід запитати дозвіл
дві операції.
4. Якщо запит на дозвіл на операцію, при виконанні якої виконується інтерактивна операція (наприклад, функції ОтриматиФайли() як параметр передається об'єкт ДіалогВиборуФайлу ), така операція виключається із запиту.
Отримані дозволи зберігаються або до виконання дозволеного дзвінка, або до завершення вбудованої мови.
ПРИМІТКА. У товстому і тонкому клієнтах ЗапитатиДозвол Користувача() метод завжди повертає значення Істина без взаємодії з користувачем.
Робота з тимчасовим сховищем у фоновому завданні
У механізмі роботи з тимчасовим сховищем можна передати дані з фонового завдання в сеанс, який ініціював фонове завдання.
Для такої передачі слід у батьківському сеансі помістити в тимчасове сховище порожнє значення (за допомогою методу Помістити Вчасне Сховище ()), вказавши будь-який ідентифікатор тимчасового сховища, що створюється (параметр Адреса). Потім отриману адресу передати до фонового завдання через параметри фонового завдання. Далі, якщо у фоновому заданні цю адресу використовувати як значення параметра Адреса методу ПоміститиВРеменноеСховище() , то результат буде скопійовано в сеанс, з якого було запущено фонове завдання.
Дані, поміщені у тимчасове сховище у фоновому заданні, не будуть доступні з батьківського сеансу до завершення фонового завдання.
Підтримка адрес у полі картинки
Елемент форми Поле виду Поле зображення підтримує відображення картинки, заданої адресою значення (яке може бути картинкою або двійковими даними) у тимчасовому сховищі або базі даних.
Для цього у властивості Дані елемента форми необхідно встановити реквізит рядкового типу. Значення цього реквізиту інтерпретуватиметься як адресу картинки.
// Приклад 1
// Прив'язка поля картинки до адреси картинки у часовому
// Сховище. АдресаКартинки – реквізит форми рядкового типу
ПоміститиФайл(АдресаМалюнки, Вихідне Ім'я, Вибране Ім'я, Істина, Унікальний Ідентифікатор);
// Приклад 2
// Отримання адреси картинки з реквізиту об'єкта
// інформаційної бази
ФайлКартинки = Об'єкт.ФайлКартинки;
Якщо Не ФайлКартинки.Порожня() Тоді
АдресаКартинки = ОтриматиНавігаційнеПосилання(ФайлКартинки, “ДаніФайлу”);
Інакше
АдресаКартинки = "";
Концеслі;
Доступ до стандартних каталогів
При використанні системи потрібно деяке місце у файловій системі, де можна зберігати різні файлові дані, які з одного боку є тимчасовими, а з іншого – повинні зберігатись досить тривалий час. До таких файлів можна віднести чернетки для систем управління документообігом, зовнішні компоненти, що працюють на стороні клієнтського комп'ютера тощо. буд.
Для зберігання таких файлів призначений спеціальний каталог, прив'язаний до конкретного користувача конкретної інформаційної бази.
Один і той самий користувач, який працює з двома інформаційними базами, матиме доступ до двох різних каталогів зберігання даних користувача. Розташування даного каталогу визначається за допомогою методу Робочий Каталог Даних Користувача( ). Якщо каталог відсутній, він створюється при першому зверненні до нього. Якщо створення каталогу неможливе – система викликає виняток.
ПРИМІТКА. Метод РобочийКаталогДанихКористувача()не доступний на стороні сервера.
Операційна система має спеціальний каталог, виділений для постійного зберігання даних користувача. Це можуть бути якісь
звіти, друковані форми документів тощо. буд. Цей каталог містить дані, які надалі можуть бути відправлені зовнішнім.
споживачам. Для доступу до цього каталогу призначено метод Каталог документів (). Фізичне розташування каталогу залежить від операційної
системи, де виконується додаток та наведено у синтакс-помічнику.
Подiлитись посиланням: