Неможливо відкрити обробку через механізм зовнішніх обробок. Встановлено безпечний режим

Неможливо відкрити обробку через механізм зовнішніх обробок. Встановлено безпечний режим

У цій статті йтиметься про налаштування прав доступу користувачів до об'єктів системи 1С.

У 1С 8для керування доступу користувачів використовується окремий об'єкт метаданих, який називається Ролі.

Зверніть увагу! Ця стаття написана на допомогу програмістам. Налаштування прав в режимі користувача на прикладі 1С Бухгалтерія розглянута в .

Роль визначає набір прав користувача, які має. Механізм ролей дуже нагадує механізми прав Windows Active Directory. Для кожного з об'єктів (довідники, документи) розробник встановлює свій набір прав - читання/запис/додавання/зміна/...

Набір доступних прав сукупність усіх дозволів у ролях користувача.

Якщо відкрити об'єкт метаданих Роль, ми можемо побачити таку картину:

Об'єкт має дві закладки — Права та Шаблони обмежень. Права - основна закладка, Шаблони - вкладка для налаштування прав на рівні запису в 1С ( RLS). Це дуже важлива тема, її намагатимуся описати в майбутніх статтях.

Розглянемо тільки вкладку Права.

  • Об'єкти- Список, на які встановлюватимуться права.
  • Права— список можливих параметрів прав.
  • Обмеження доступу до даних- поля ролі для налаштування

Слід звернути увагу на галочки в нижній частині:

  • Встановлювати права нових об'єктів— якщо прапор встановлений у ролі, на нові об'єкти метаданих будуть автоматично встановлені дозвільні права. Рекомендую встановити, якщо Ви часто забуваєте про встановлення прав на нові об'єкти.
  • Встановлювати права для реквізитів та табличних частин за умовчанням— прапор, при встановленні якого реквізити та табличні частини успадкуватимуть права власника (довідника, документа тощо)
  • Незалежні права підпорядкованих об'єктів— якщо прапор встановлений, система при визначенні права на об'єкт конфігурації врахує права на батьківський об'єкт

Налаштування прав на всю конфігурацію

Якщо відкрити Роль і натиснути на корінь конфігурації, ми побачимо наступні налаштування:

Докладніше про кожного з прав на всю конфігурацію:

Отримайте 267 відеоуроків з 1С безкоштовно:

  • Адміністрація- адміністрування інформаційної бази (потрібна наявність права «Адміністрація даних»)
  • Адміністрація даних- Право на адміністративні дії над даними
  • Оновлення конфігурації бази даних- Право на
  • Монопольний режим- Використання монопольного режиму
  • Активні користувачі— Перегляд списку активних користувачів
  • - Журнал реєстрації
  • - Право запуску тонкого клієнта
  • - право запуску веб-клієнта
  • Товстий клієнт- право ролі запуску товстого клієнта
  • Зовнішнє з'єднання- Право запуску зовнішнього з'єднання
  • Automation- право на використання automation
  • Режим «Всі функції»— у режимі керованої програми
  • Збереження даних користувача— Дозвіл або заборона збереження даних користувача (налаштувань, обраного, історії). Особливо актуально для 1С керованих форм.
  • Інтерактивне відкриття зовнішніх обробок- Відкриття зовнішніх обробок
  • Інтерактивне відкриття зовнішніх звітів- Відкриття зовнішніх звітів
  • Висновок- Висновок на друк, запис та копіювання в буфер обміну

Налаштування прав 1С 8.2 на інші об'єкти метаданих

Для інших основних об'єктів (довідники, константи, документи, регістри ...), набір прав у ролі досить стандартний:

  • Читання- Читання (програмне)
  • Додавання- Додавання (програмне)
  • Зміна- Зміна (програмне)
  • Вилучення- Видалення (програмне)
  • Перегляд- Перегляд
  • Інтерактивне додавання- інтерактивне додавання
  • Редагування- Редагування
  • Інтерактивна позначка видалення— інтерактивна позначка видалення
  • Інтерактивне зняття позначки видалення- Зняття позначки на видалення
  • Інтерактивне видалення помічених- Видалення помічених об'єктів
  • Введення рядком- використання режиму введення по рядку
  • Інтерактивне видалення- Безпосереднє видалення (shift +del)

Права тільки для документів:

  • Інтерактивне проведення- Проведення
  • Скасування проведення- Скасування проведення документів
  • Інтерактивне проведення неоперативне- Проведення (стандартними командами форм) документа в неоперативному режимі
  • Інтерактивне скасування проведення- інтерактивне скасування проведення
  • Інтерактивна зміна проведених- Редагування проведеного документа. Якщо право ролі не встановлено, то користувач не може видалити проведений документ, встановити позначку видалення, перепровести або зробити непроведеним. Форма такого документа відкривається у режимі перегляду

P.S.Якщо Вам не вдалося розібратися в ролях користувачів, Ви можете замовити .
Відео з прикладом налаштування прав у 1С бухгалтерії 3.0:

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

Запуск зовнішньої обробки в режимі звичайної програми

У звичайному додатку необхідно використовувати метод Створити об'єкта Зовнішні Обробки, в який передається повне ім'я файлу зовнішньої обробки. Метод повертає об'єкт типу ЗовнішняОбробка, цей об'єкт і є зовнішня обробка, що відкривається. Якщо потрібно відкрити форму зовнішньої обробки, то в отриманого об'єкта викликаємо метод ОтриматиФорму(), який поверне основну форму, а потім викликаємо метод Відкрити() для її відкриття.


Обробка = ЗовнішніОбробки.Створити(ПовнеІм'яФайлу);
Обробка.ОтриматиФорму().Відкрити();

У зовнішніх обробках основною формою завжди має бути звичайна, а керована додатковою, інакше не працюватиме метод ОтриматиФорму() в режимі звичайного додатка.

Запуск зовнішньої обробки в режимі керованої програми

У режимі керованих форм з'являється поділ алгоритму контексту виконання. На клієнті отримуємо двійкові дані щодо повного імені файлу зовнішньої обробки. Передаємо отримані двійкові дані на сервер та поміщаємо їх у тимчасове сховище. Далі необхідно викликати метод Підключити() об'єкта Зовнішні Обробки, до якого передається адреса на тимчасове сховище. Метод повертає ім'я підключеної зовнішньої обробки. Повертаємо ім'я зовнішньої обробки на клієнт, формуємо рядковий шлях до форми обробки та за допомогою методу Відкрити Форму() відкриваємо форму зовнішньої обробки.

&На Сервері
Функція ОтриматиІм'яЗовнішньоїОбробки(ДвійковіДані)
АдресаВчасномуСховище = ПоміститиВчаснеСховище(ДвійковіДані);
Повернення ЗовнішніОбробки.Підключити(АдресаВременномуСховище);
КінецьФункції

&На Клієнті
Повне ім'я файлу = ""; // Повне ім'я зовнішнього файлу обробки.
ДаніФайла = Новий ДвійковіДані(ПовнеІм'яФайлу);
Ім'яЗовнішньоїОбробки = ОтриматиІм'яЗовнішньоїОбробки(ДаніФайлу);
ВідкритиФорму("ЗовнішняОбробка." + Ім'яЗовнішньоїОбробки + ".Форма");

Безпечний режим для зовнішніх обробок

Методи Створити() та Підключити() об'єкти ЗовнішніОбробки мають вхідний параметр БезпечнийРежим - ознака підключення зовнішньої обробки в безпечному режимі. Якщо параметр не вказано, підключення буде здійснено у безпечному режимі.
Безпечний режим роботи призначений захисту системи від виконання на сервері «ненадійного» програмного коду. Потенційну небезпеку становлять зовнішні обробки або програмний код, що вводиться користувачем для використання у методах Виконати() та Обчислити().
У безпечному режимі накладаються такі обмеження:
  • привілейований режим скасовується, якщо його було встановлено;
  • спроби переходу до привілейованого режиму ігноруються;
  • заборонені операції із COM-об'єктами;
  • заборонено завантаження та підключення зовнішніх компонентів;
  • заборонено доступ до файлової системи (крім тимчасових файлів);
  • заборонено доступ до Інтернету.
Обробки, відкриті інтерактивно, виконуються не в безпечному режимі, тому рекомендується реалізація механізму відкриття зовнішніх обробок у безпечному режимі, а також на рівні прав заборонити користувачеві інтерактивне відкриття зовнішніх обробок.
Для заборони інтерактивного відкриття обробок у всіх ролях, призначених користувачеві, необхідно зняти право "Інтерактивне відкриття зовнішніх обробок" (див. рис. 1).
Малюнок 1. Права інтерактивного відкриття зовнішніх обробок/звітів
Право "Інтерактивне відкриття зовнішніх обробок" ніяк не впливає на об'єкт Зовнішні Обробки.

Програмне відкриття зовнішніх звітів, аналогічно зовнішнім обробкам, слід використовувати об'єкт глобального контексту Зовнішні Звіти, який має тип ЗовнішніЗвітиМенеджер.

Завантажте останню версію обробки 1С

Програма IT Audit підтримує декілька платформ 1С. Тому при виборі файлу зовнішньої обробки необхідно враховувати конфігурацію, що використовується, і платформу 1С. Найменування файлу зовнішньої обробки наводиться інформація про номер конфігурації, для якої призначена обробка.

Зовнішні обробки 1С завантажуються на сторінці Завантажити

Перевірте, чи підтримується розробниками IT Audit конфігурація 1С, що використовується.

При відкритті зовнішньої обробки 1С виникає помилка "Порушення прав доступу"

Використання зовнішніх обробок вимагає наявності у користувача 1С встановленого права Використання як OLE Automation сервер. За відсутності прав може виникати помилка "Порушення прав доступу" або інша помилка.

Режим 1С: Підприємство

  • У списку користувачів відкрийте обліковий запис потрібного користувача.
  • В обліковому записі користувача натисніть кнопку Права доступу. Встановіть прапорець на значення Відкриття зовнішніх звітів та обробок.
  • Збережіть зміни. Вийдіть із програми та заново відкрийте програму в режимі "1С: Підприємство". Потім відкрийте потрібну обробку.

Режим Конфігуратор

  • Зайдіть у програму в режимі Конфігуратор.
  • У пункті "Адміністрація" відкрийте список користувачів та відкрийте обліковий запис потрібного користувача.

    За відсутності користувачів 1С необхідно створити користувача (наприклад, "Адміністратор")

  • В обліковому записі користувача перейдіть на закладку "Інші". У списку "Доступні ролі" встановіть прапорець на значення Інтерактивне відкриття зовнішніх звітів та обробок.
  • Збережіть зміни. Відкрийте програму в режимі "1С: Підприємство" та відкрийте необхідну обробку.

Помилка завантаження файлу зовнішньої обробки внаслідок налаштувань захисту 1С від небезпечних дій

Починаючи з платформи 1С 8.3.9.x у налаштуваннях користувача програми 1С за замовчуванням увімкнено заборону на виконання небезпечних дій. Тому перед виконанням звернення до платформи 1С для користувача 1С необхідно виконати такі налаштування конфігурації 1С.

  • У програмі 1С: Підприємство відкрийте необхідну конфігурацію у режимі Конфігуратор.
  • У рядку меню конфігурації 1С, що відкрилася, натисніть Адміністраціята виберіть пункт Користувачі. Відкриється форма Список користувачів.

    За відсутності користувачів 1С необхідно створити користувача (наприклад, "Адміністратор")

  • У формі, що відкрилася, виберіть користувача 1С від імені якого здійснюється підключення до бази 1С з програми IT Audit. Подвійним клацанням лівої кнопки миші відкрийте форму Користувачз налаштуваннями вибраного користувача.
  • У формі, що відкрилася, зніміть прапорець у полі Захист від небезпечних дій. Потім натисніть кнопку ОКдля збереження внесених змін.

    ×

    Підключення до 1С у режимі інтеграції займає тривалий час

    Якщо підключення до 1С: Підприємство займає тривалий час (понад 2-3 хвилини), то, мабуть, програма 1С: Підприємство в окремому вікні виводить інформаційне повідомлення, що містить причину неможливості підключення.

    Щоб ознайомитись із повідомленням програми 1С: Підприємство, натисніть на клавіатурі клавіші Alt+Tab. У міру натискання клавіші "Tab"" буде відкрито повідомлення програми 1С: Підприємство. Ознайомтеся з цим повідомлення та виконайте його. Наприклад, досить часто виводиться повідомлення про необхідність перерахунку залишків на певну дату.

    При відкритті звіту 1С у режимі інтеграції виникає помилка: "неприпустимий рядок із зазначенням класу", "не вдалося підключити фабрику класу COM для компонента" тощо.

    Якщо в системі встановлено кілька версій однієї платформи 1С, то для підключення до бази 1С буде використовуватися остання коректно встановлена ​​версія (версія платформи 1С, яка зареєстрована як OLE-сервер).

    Якщо потрібно вказати іншу платформу, то в командному рядку Windows від імені адміністратора виконайте команду для реєстрації 1С: Підприємства як OLE-сервер: наприклад,

    "C:\Program Files\1cv83\bin\1cv8.exe" /regserver

    regsvr32 "C:\Program Files\1cv83\bin\comcntr.dll"

    Аналогічні дії необхідно провести, якщо платформа 1С взагалі не зареєстрована як OLE-сервер (наприклад, внаслідок некоректної установки платформи або запуску програми 1С із скопійованого каталогу з програмою), тобто виникає помилка "Неприпустимий рядок із зазначенням класу...".

    Відсутня ліцензія на використання 1С

    У разі неможливості підключення до бази даних програми 1С: Підприємство 8.3 (8.2) через відсутність права на роботу з програмою (відсутня USB-ключ захисту програми 1С: Підприємство) буде виведено інформаційне повідомлення: "Не виявлено ключ захисту програми (не знайдено ліцензію)" .

Справа в тому, що при використанні клієнт-серверного варіанту роботи 1С зовнішні обробки/звіти відкриваються в безпечному режимі, в якому заборонено використання привілейованого режиму. А привілейований режим дуже часто використовується в типових конфігураціях: формування друкованих форм, різні службові перевірки (реєстрація обмінів) і т.д. В результаті, навіть використовуючи звичайний звіт на СКД без форми (за замовчуванням використовується загальна форма "ФормаЗвіту") і зберігаючи налаштування користувача звіту (у відповідний довідник), ви отримаєте помилку про недостатність прав доступу на різні константи та параметри сеансу, які використовуються в службових цілях після рядка ВстановитиПривілейованийРежим(Істина);

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

Хотів би відразу помітити, що такий варіант не є кращим, але через різні обставини можна його використовувати в такому спрощеному вигляді. Наприклад, у мене кілька баз у різних містах, загальна локальна сісти з жорстко обмеженими правами, закритими USB тощо, десь використовується Бухгалтерія 2.0, а десь 3.0, майже всі звіти роблю засобами СКД без форм, щоб вони відкривалися обох версіях. Обслуговувати всі ці звіти для різних версій та різних баз справа трудомістка та безперспективна, т.к. у планах є перехід на єдину конфігурацію та базу...

Створюємо профіль.
У консолі кластера створюємо профіль безпеки, в якому встановлюємо прапори "Може використовуватись як профіль безпеки безпечного режиму"та " у розділі "Дозволений повний доступ:" "До привілейованого режиму".

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

P.S. Думав, що профілі безпеки функціонують тільки при використанні ліцензій на платформу та сервер рівня КОРП, але даний функціонал відпрацьовує і на платформі 1С:Підприємство 8.3 (умовно можна назвати ПРОФ за аналогією з типовими конфігураціями Базова/ПРОФ/КОРП)

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

Але спочатку розглянемо, як взагалі відкриваються зовнішні звіти та обробки у «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. Знову заходимо до бази та відкриваємо потрібний нам звіт у меню «Файл» за допомогою команди «Відкрити».

 

 

Це цікаво: