Чому не відкривається обробка в 1с. Зовнішня обробка не може бути прочитана поточною версією програми. Як програмно відкрити зовнішню обробку


Як дозволити інтерактивне відкриття зовнішніх звітів і обробок? (1С: Бухгалтерія 8.3. Редакція 3.0)

  2016-12-08T15: 52: 26 + 00: 00

Якщо при відкритті зовнішньої обробки або звіту через меню Файл-\u003e Відкрити

з'являється помилка "Порушення прав доступу":

Те варіантів для використання обробки всього два.

Перший варіант, це реєстрація обробки в довіднику "Додаткові звіти і обробки" (про це).

Але, що якщо обробка не підтримує таку реєстрацію? А обробка дуже корисна і відкрити її дуже хочеться.

В цьому випадку можна піти по другому варіанту і знову включити можливість відкриття обробок в базі через меню Файл-\u003e Відкрити.

Інструкція для цього нижче.

Зайдіть в конфігуратор бази:

Виконайте команду меню "Адміністрування" -\u003e "Користувачі":

Подвійним клацанням відкрийте свого користувача:

Перейдіть на закладку "Інші", встановіть галку "Інтерактивне відкриття зовнішніх звітів і обробок" і натисніть "ОК":

Тепер закрийте конфігуратор і базу (якщо вона у вас була відкрита).

Знову зайдіть в базу і спробуйте відкрити звіт через меню "Файл" -\u003e "Відкрити".

Тепер все вийде

Є нюанси ...

Спосіб, який я описав в цій інструкції на 100% робочий, але при його використанні право на "Інтерактивне відкриття зовнішніх обробок" через час може знову пропасти.

Щоб цього уникнути встановіть цю ж галку в режимі 1С: Підприємства в поточному для вашого користувача профілі груп доступу.

При використанні цього способу можуть виникати різні нюанси (наприклад, якщо ви використовуєте вбудований профіль, який не можна редагувати), тому докладної інструкції для цього випадку я наводити не буду.

З повагою, Володимир Мількіна  (Викладач і розробник).

При роботі з 1С в платформі 8.2 може з'явитися таке вікно: « зовнішня обробка  не може бути прочитана поточною версією програми ». Давайте спробуємо розібратися, з чим пов'язана поява цього вікна і як усунути помилку.

Суть проблеми

Програма 1С час від часу виконує оновлення платформи. Це відбувається з виходом нових релізів. Причина помилки проста: програма оновила платформу і тепер деякі файли зовнішньої обробки, Які легко відкривалися в версії 8.1, на платформі 8.2 читатися відмовляються.

виправляємо помилку

Щоб усунути помилку, необхідно:

  • Відкрити «1С: Підприємство» в режимі конфігуратора;
  • Запустити обробку шляхом «Файл - Відкрити» (або натиснути клавіші «Сtrl + O»);
  • З'явиться повідомлення: «Потрібно конвертація. Конвертувати? ». Необхідно підтвердити конвертацію (цей процес називається переконвертації обробки з 8.1 в 8.2);

  • Закрити конфігуратор.

потім зовнішня обробка  перетвориться в формат, зрозумілий оновленої платформі, і ви зможете відкривати файли зовнішньої обробки. Щоб перевірити, чи вдалося перетворення, після закриття конфігуратора запустіть обробку в режимі «1С: Підприємство».

У 99% випадків даний алгоритм дій допомагає усунути проблему. якщо зовнішня обробка  не починається після переконвертації, рекомендується запросити фахівця 1С.

  Головна Для початківців розробників Вчимося програмувати

Як програмно відкрити зовнішню обробку?

У версії 8.2 програма не працює безпосередньо з локальними файлами, розташованими на комп'ютері. Файли повинні знаходитися на сервері.

Тому для відкриття зовнішньої обробки потрібно виконати наступну послідовність дій:

  • передати файл зовнішньої обробки на сервер,
  • підключити зовнішню обробку,
  • відкрити форму зовнішньої обробки.
  & НаКліенте Процедура ОбработкаКоманди (ПараметрКоманди, ПараметриВиполненіяКоманди) // Розміщуємо обробку у тимчасовому сховищі АдресХраніліща \u003d ""; Результат \u003d ПоместітьФайл (АдресХраніліща, "C: \\ ВнешняяОбработка.epf", Брехня); ІмяОбработкі \u003d ПодключітьВнешнююОбработку (АдресХраніліща); // Відкриємо форму підключеної зовнішньої обробки ОткритьФорму ( "ВнешняяОбработка." + ІмяОбработкі + ". Форма"); КонецПроцедури & НаСервере Функція ПодключітьВнешнююОбработку (АдресХраніліща) Повернення ВнешніеОбработкі.Подключіть (АдресХраніліща); КонецФункціі

Щоб передати файл на сервер, його потрібно помістити в тимчасове сховище. Для цього спочатку на клієнті, в обробнику команди відкриття зовнішньої обробки, функцією ПоместітьФайл ()  ми поміщаємо файл з локальної файлової системи в тимчасове сховище.

У четвертому параметрі цієї функції вказується ознака інтерактивного режиму вибору файлу зовнішньої обробки. Якщо цей параметр істина, То з'являється діалогове вікно вибору файлу, в якому можна вибрати файл для приміщення в сховище. У нашому прикладі цей параметр - брехня, А шлях до файлу, дані з якого будуть поміщені в тимчасове сховище, явно заданий в другому параметрі функції.

При виконанні функції ПоместітьФайл ()  першим її параметром, АдресХраніліща, Ми вказуємо порожній рядок. Після виконання функції в цю змінну буде поміщений шлях до файлу зовнішньої обробки у тимчасовому сховищі. Цей шлях ми використовуємо для того, щоб підключити зовнішню обробку.

Підключення зовнішньої обробки виконується на сервері методом Підключити ()  менеджера зовнішніх обробок. Як параметр йому передається шлях до файлу зовнішньої обробки у тимчасовому сховищі - АдресХраніліща. Повертає цей метод ім'я підключеної зовнішньої обробки, - ІмяОбработкі, - яке ми використовуємо для того, щоб відкрити форму цієї обробки.

Для відкриття форми зовнішньої обробки використовується функція ОткритьФорму (), В яку передається ім'я форми у вигляді наступного рядка: "ВнешняяОбработка." + ІмяОбработкі + ". Форма". У наведеному варіанті відкривається основна форма обробки. Можна відкрити також і неосновну форму обробки - про це розповідається в питанні Як отримати неосновну форму обробки? .

При роботі в зовнішніми обробками потрібно враховувати, що за замовчуванням вони запускаються в безпечному режимі виконання програмного коду. Це означає, що деякі можливості вбудованого мови будуть для них недоступні. Якщо є впевненість, що зовнішня обробка не містить шкідливого коду, її можна підключити в звичайному режимі виконання програмного коду. Для цього використовується третій параметр методу Підключити ()менеджера зовнішніх обробок.

Детальніше про режим безпечного виконання програмного коду можна прочитати в документації.

Для роботи з зовнішніми обробками (а зовнішня друкована форма теж є зовнішньою обробкою) існує об'єкт ВнешніеОбработкі.

Розглянемо два можливих випадки:

Зовнішня обробка зберігається на диску окремо від інформаційної бази

Для програмного відкриття зовнішньої обробки в 1С потрібно знати адресу її файлу. Знаючи його, можна або відкрити форму обробки, або отримати об'єкт обробки для проведення з ним подальших дій (наприклад, для виклику експортних функцій з модуля об'єкта).

Відкриття форми зовнішньої обробки

Для програмного відкриття форми зовнішньої обробки в 1С використовується функція ПолучітьФорму ()об'єкта ВнешніеОбработкі.  Функція має кілька параметрів. Розглянемо просте відкриття основної форми обробки:


  Форма \u003d ВнешніеОбработкі. ПолучітьФорму (АдресФайла);
  Форма. Відкрити ();

Для відкриття неосновної форми зовнішньої обробки необхідно вказати її ім'я.

// В змінної АдресФайла знаходиться повний шлях до файлу зовнішньої обробки
  Форма \u003d ВнешніеОбработкі. ПолучітьФорму (АдресФайла, "НеосновнаяФорма") ;
  Форма. Відкрити ();

Відкриття зовнішньої обробки як об'єкта

Для того щоб отримати зовнішню обробку як об'єкт використовується функція Створити ()об'єкта ВнешніеОбработкі.

// В змінної АдресФайла знаходиться повний шлях до файлу зовнішньої обробки
  Об'ектОбработкі \u003d ВнешніеОбработкі. Створити (АдресФайла);

За замовчуванням всі обробки відкриваються в безпечному режимі. Щоб його відключити, використовуються наступні параметри:

// В змінної АдресФайла знаходиться повний шлях до файлу зовнішньої обробки

Зовнішня обробка або друкована форма збережена в інформаційній базі

У багатьох конфігураціях існує можливість зберігати зовнішні друковані форми і обробки безпосередньо в інформаційній базі. Для цього використовується довідник ВнешніеОбработкі.Сама зовнішня обробка зберігається у вигляді двійкових даних або в реквізиті ХраніліщеВнешнейОбработкі, Або в табличній частині належність  в реквізиті ХраніліщеВнешнейОбработкі.

Для відкриття зовнішньої обробки потрібно:

  1. Отримати її зі сховища.
  2. Зберегти файл з обробкою на диск.
  3. Відкрити форму або отримати об'єкт обробки.
  4. Якщо ми маємо справу з зовнішньої друкованої формою, то можна заповнити стандартний реквізит СсилкаНаОб'екті викликати експортну функцію Печатка.

// В змінної СпрСсилка знаходиться посилання на елемент довідника ВнешніеОбработкі
  ДвДанние \u003d СпрСсилка. ХраніліщеВнешнейОбработкі. Отримати ();
  АдресФайла \u003d ПолучітьІмяВременногоФайла ();
  ДвДанние. Записати (АдресФайла);
  Об'ектОбработкі \u003d ВнешніеОбработкі. Створити (АдресФайла, Брехня);

Буває, що для роботи необхідно скористатися зовнішньої обробкою або звітом, але не завжди це відразу вдається. Іноді при спробі відкрити зовнішню обробку або звіт за допомогою пункту меню «Файл» і далі - «Відкрити» виникає повідомлення про помилку, що полягає в порушенні прав доступу.

Але спочатку розглянемо, як взагалі відкриваються зовнішні звіти та обробки в «1С: Бухгалтерія 8.3» версії 3.0. Зазвичай вони представляють собою скачаний з Інтернету або отриманий іншим способом архів. Після того, як він буде збережений, наприклад, на робочий стіл, за допомогою подвійного клацання ми зможемо побачити його вміст.

Дії для звичайного інтерфейсу:

  1. Натискаємо на потрібний файл правою кнопкою мишки, вибираємо пункт контекстного меню «Копіювати».
  2. Повертаємося на робочий стіл, натискаємо правою кнопкою на вільне місце і вибираємо «Вставити» (або просто перетягуємо файл з архіву на робочий стіл).
  3. Також можна видобути файл з архіву відразу в потрібне місце на диску (в нашому прикладі це робочий стіл).
  4. Тепер вибираємо файл з обробкою на робочому столі і натискаємо «Відкрити».
  5. Обробка буде відкрита в програмі, і нею можна буде користуватися.

Дії для керованого інтерфейсу (наприклад, «Таксі»)

  1. Відкриваємо безпосередньо з файлу.
  2. У меню вибираємо пункт «Файл», далі - «Відкрити».
  3. У вікні, переходимо на робочий стіл, вибираємо файл обробки і натискаємо «Відкрити».

Для більшої зручності можна створити спеціальну папку для обробок і все їх зберігати в ній.

Якщо ж відкрити обробку або звіт не виходить, можна скористатися одним з двох варіантів дій.

перший спосіб

Можна зареєструвати обробку в довіднику, що називається «Додаткові звіти і обробки». Отже, реєструємо обробку в базі.

  1. Заходимо в розділ адміністрування, вибираємо зі списку пункт друкованих форм, звітів і обробок.
  2. У вікні ставимо галочку в пункті «Додаткові звіти і обробки» і відкриваємо посилання з аналогічною назвою.
  3. У новому вікні натискаємо на «Створити».
  4. Читаємо попередження безпеки і натискаємо «Продовжити».
  5. У наступному вікні вибираємо місце знаходження файлу з обробкою і натискаємо «Відкрити».

Важливо!

Якщо на цьому етапі з'явиться помилка з текстом: «Неможливо підключити додаткову обробку з файлу ...», доведеться скористатися другим способом, описаним нижче.

  1. Якщо помилки не виникло, знаходимо в «команди» пункт «Розміщення».
  2. У вікні «Розділи командного інтерфейсу» відзначаємо галочкою розділ операцій.
  3. У таблиці знаходимо «Швидкий доступ» і відкриваємо його.
  4. Вибираємо всіх користувачів і натискаємо «ОК».
  5. Натискаємо кнопку «Записати і закрити».

Обробка успішно зареєстрована. Щоб її відкрити, потрібно зайти в розділ операцій, вибрати пункт додаткових обробок, виділити потрібну і натиснути на «Виконати».

другий спосіб

Якщо обробка не підтримує описану в першому варіанті реєстрацію, можна вчинити по-іншому, а саме: знову включити можливість відкривати обробки в базі за допомогою меню «Файл» правою кнопкою мишки «Відкрити».

  1. Заходимо в конфігуратор бази.
  2. Вибираємо в меню «Адміністрування», далі - «Учасники».
  3. Подвійне клацання по потрібному користувачеві.
  4. Переходимо на закладку з назвою «Інші».
  5. Встановлюємо галочку на «Інтерактивному відкритті зовнішніх звітів і обробок».
  6. Натискаємо «ОК».
  7. Закриваємо конфигуратор, а також, якщо вона була відкрита, базу.
  8. Знову заходимо в базу і відкриваємо потрібний нам звіт в меню «Файл» за допомогою команди «Відкрити».