Використання механізму розподілу даних замість RLS. Використання механізму розподілу даних замість RLS Приклад використання загального реквізиту

Одного разу ми обговорювали механізми обмеження доступу користувачів до 1С і зокрема.

Він дозволяє дозволити користувачеві працювати не з усіма документами, а лише з тими, у яких зазначена певна організація чи склад. Відбори проводяться динамічно, тому накладають певне навантаження працювати бази даних.

Властивість загального реквізиту-розділювача – Поділ користувачів 1С – дозволяє встановити доступність списку користувачів залежно від використання роздільників.

Якщо розділювач включений для користувача, то його буде видно в списку користувачів у режимі 1С Підприємство – інакше не видно.

Таким чином, можна організувати різні списки користувачів для різних частин бази.

Властивість загального реквізиту-розділювача – Поділ аутентифікації 1С – дозволяє заводити користувачів з однаковими іменами користувача для різних частин бази.

Умовний поділ 1С

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

Щоб включити умовний поділ 1С – необхідно вказати на властивості загального реквізиту-подільника – Умовний поділ 1С – , який буде відповідати визначення факту включення поділу 1С.

Можна використовувати константу з типом булева або реквізит довідника з типом булева.

Важливо – у цієї константи/довідника потрібно відключити використання (вибрати Не використовувати) у складі роздільників, тільки тоді його можна буде вибрати.

Загальний реквізит – це реквізит, що додається до кількох об'єктів конфігурації, і може використовуватися як складова частина спеціального механізму поділу даних:

  • Загальний реквізит для кількох об'єктів. Реквізит, який є у кількох об'єктах конфігурації, у яких цей реквізит зберігає свій сенс і тип. Приклад такого використання: Реквізит "Організація" у документах регламентованого обліку у прикладному рішенні
  • Загальний реквізит як складова частина спеціального механізму поділу даних. Цей механізм дозволяє розділити на окремі частини роботу прикладного рішення і всі дані, що зберігаються. При цьому загального реквізиту включається поділ даних.
    Приклад такого використання: В одній фізичній інформаційній базі незалежно працюють різні "власники" даних, при цьому кожному користувачеві такого прикладного рішення будуть доступні лише його дані

Властивість "Поділ даних" загального реквізиту

Якщо цю властивість встановлено на значення "Не використовувати", то створений об'єкт конфігурації буде використовуватися лише як реквізит, що входить до складу кількох об'єктів конфігурації.
Якщо властивість встановлено на значення "Розділяти", загальний реквізит використовуватиметься як роздільник даних

Склад об'єктів

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

Використання загального реквізиту

Для кожного об'єкта конфігурації стовпчик Використання може приймати одне з трьох значень:
  • Автоматично означає, що призначення об'єкта конфігурації загальному реквізиту залежить від значення якості "Автовикористання"
  • Використовувати означає, що об'єкт конфігурації входить до складу загального реквізиту
  • Не використовувати – означає, що об'єкт конфігурації не входить до складу загального реквізиту
Таким чином, за допомогою редактора властивості "Склад" можна вибірково виключати деякі об'єкти зі складу загального реквізиту, незважаючи на те, що для нього встановлено "Автовикористання".

Об'єкти конфігурації

До складу загального реквізиту (що не перебуває в режимі поділу даних) можуть входити такі об'єкти конфігурації:
  • Довідники
  • Документи
  • Журнали документів
  • Плани видів характеристик
  • Плани видів розрахунку
  • Бізнес процеси
  • Завдання
  • Реєстри відомостей
  • Регістри накопичення
  • Реєстри бухгалтерії
  • Плани обміну
  • Зовнішні джерела даних

Особливості

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

ПОРАДА!Не слід використовувати загальні реквізити для опису даних, що є частиною бізнес-логіки конкретних об'єктів.

8 жовтня 2014 о 15:13

Розділяй та оновлюй! Заощаджуємо місце, час та ресурси сервера 1С

  • Блог компанії Кнопка

[Кнопка 7710967300 БУХ РБ] Connect=Srvr="%servername%";Ref="%base_name%"; AdditionalParameters=/Z "-0,-0,+7710967300";

Після /Z вказуємо загальні реквізити по порядку. Так як у нашій типовій бухгалтерії вже є два загальні системні реквізити, вказуємо для них значення -0 щоб вони не використовувалися, а як третій (який ми створили) передаємо ІПН.

1000 та 1 чекбокс

Тепер потрібно визначити, яка частина даних буде спільною для всіх областей. Все це настроюється через конфігуратор. У властивостях загального реквізиту, який ми щойно створили, є пункт «Склад», який відкриває невеликий список із 800 параметрів:

Підбір параметрів залишаємо на вашу розсудливість, розсуд та оточення. Ось наш варіант (акуратніше там 20 000 пікселів).

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

Вивантажуємо дані з поточних баз

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

Господині на замітку: довідники та документи краще вивантажувати окремо – так можна уникнути зайвих помилок у момент завантаження.

Завантажуємо дані до розділеної бази

Запускаємо 1С із параметром /Z «-0,-0,+%ваш разделитель%», вказуючи роздільник тієї організації, дані якої збираємося завантажити. Запускаємо універсальний обмін і згодовуємо йому отримані при розвантаженні файли: спочатку довідники, потім документи. Повторюємо цю операцію кожної бази-области.

Щоб спростити завдання, ми здійснюємо вивантаження масово, запускаючи трохи виправлену стандартну обробку через командний рядок (/Execute c:\вивантаження.epf). Потім вручну завантажуємо отримані файли у розділену базу.

Як витратити більше часу, щоб витратити менше часу

Процес поділу – штука не швидка. Нагадаємо, що у нас зараз більше 500 організацій, але за пару тижнів ми встигли розділити лише 70. Проте, ми точно знаємо, що вже через півроку подякуємо минулим себе за виконану роботу та купу зекономлених часу та сил.

Бухгалтери не помічають переходу організацій зі звичайної бази в розділену, їм процес проходить безболісно. Попа горить лише в адмінів:)

Побічні ефекти: економія місця 1 до 20, непряме збільшення швидкості роботи – неоціненна. В абсолютних цифрах: 50 організацій займають 2 Гб простору SQL, тоді як одна окрема база займає від 800 Мб.

Обіцяна ложка дьогтю, навіть чотири:

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

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

Загальні реквізити були спочатку реалізовані у версії 1С 7.7, але одразу у платформу 8 версії розробники його не включили. Механізм загальних реквізитів був запроваджений розробниками 1С лише у релізі 8.2.14.

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

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

Єдине обмеження загальних реквізитів - неможливість використання їх у .

Розглянемо основні налаштування та властивості загальних реквізитів, відмінні від інших об'єктів конфігурації:

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

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

Автовикористання— Налаштування визначає, чи використовуватиметься загальний реквізит для тих об'єктів, у яких у складі вказано режим використання «Автоматичний».

Поділ даних- це налаштування розглянемо окремо.

Поділ даних у 1С за допомогою загального реквізиту

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

Механізм дозволяє настроїти відображення лише елементів, які може бачити користувач. Наприклад, можна розмежувати всі об'єкти (документи, довідники тощо), де встановлено певну організацію.

Налаштування поділу даних за допомогою загальних реквізитів 1С

Для налаштування в загальному реквізиті необхідно вказати поділ даних. Розділяти. Відразу після натискання система запропонує створити параметри обліку за промовчанням:

При цьому необхідно буде при старті системи вказати параметри сеансу, як це зробити, з прикладом описано в статті .

На цьому налаштування завершено — користувачеві буде доступна лише та інформація, яка вказана у вибраних параметрах сеансу.

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

Розберемо налаштування загального реквізиту в 1С 8.3 на прикладі каркасної конфігурації та реквізиту Організація:

В системі є 3 документи, де необхідна вказівка ​​реквізиту Організація: це Прибуткова Накладна, Видаткова Накладна, Нарахування Зарплати.

Налаштування просте:

  1. Створюємо новий Загальний реквізит, вказуємо тип - Довідник Посилання. Організація.
  2. У складі розставляємо для наших документів. Використати.

Все, налаштування закінчено!

Дивимося результат:

Система відображає загальний реквізит «як свій»: і запитах, і реквізитах форми, та інших місцях. Ось таке чаклунство! 🙂

Не додається загальний реквізит 1С 8.3



Copyright © 2022 Прості істини та жіночі хитрощі. Про стосунки.