Использование механизма разделения данных вместо RLS. Разделение данных, механизм (Data Separation, Mechanism) Выгружаем данные из текущих баз

Внимание! Перед вами ознакомительная версия урока, материалы которого могут быть неполными.

Войдите на сайт как ученик

Войдите как ученик, чтобы получить доступ к материалам школы

Внутренний язык программирования 1С 8.3 для начинающих программистов: формат в 1С

При программировании в 1С часто приходится выводить (в те же отчеты) значения различных типов (строки, даты, числа...). У каждого из значений есть различные представления.

К примеру, одну и ту же дату "01.01.2005" можно представить в виде строки как:

  1. "01.01.2005"
  2. "1 января 2005"
  3. "01.01.05"

Всё это строковые представления одного и того же значения, д ля формирования которых в 1С используется специальная функция Формат .

Использование функции Формат в 1С

Отключаем группировку разрядов

Пусть нам требуется вывести число 10000.

Если мы напишем:

Форматная строка в общем случае состоит из двух частей, разделенных знаком равно. Слева от равно стоит имя задаваемого параметра (смотрим в справке или на примерах), а справа значение этого параметра.

В приведенном выше примере форматная строка "ЧГ=0" имеет параметр ЧГ и значение 0. Такая комбинация отменяет группировку разрядов числа. И, как вы можете убедиться, теперь выводится 10000.

Выводим лидирующие нули

Также частой задачей является вывод лидирующих нулей перед цифрой. К примеру, пусть требуется вывести число 5 с лидирующим впереди нулём то есть в виде "05":

Сообщить(Формат(5 , "ЧЦ=2; ЧВН=" ) ) ; // выводит 05

Давайте разберём форматную строку "ЧЦ=2; ЧВН=". Она состоит из двух форматных строк, разделенных точкой с запятой. Разберём каждую из них по отдельности.

Строка "ЧЦ=2" задаёт общее число отображаемых десятичных разрядов целой и дробной частей. Таким образом общее число позиций, которое будет занимать число при выводе будет равно 2.

Строка "ЧВН=", как следует из справки, указывает функции формат, что если число не дотягивает по длине до заявленного (как в нашем случае, ведь мы указали 2 позиции, а 5 занимает только одну), то следует использовать лидирующие нули. Особенность данной форматной строки в том, что она имеет только имя параметра и знак равно, но не имеет значения. Вы читаете ознакомительную версию урока, полноценные уроки находятся .

Комбинация двух форматных строк и даёт нужный нам результат "05", вместо "5".

Меняем разделитель целой и дробной части

Предположим нам требуется выводить дробные числа с разделителем звёздочка вместо точки. То есть, чтобы 25.46 выводилось как "25*46":

Форматная строка представляет из себя параметр ДФ и значение дддд, что и указывает функции Формат вывести длинное представление дня недели (обратите внимание как много букв "д" она содержит).

Представление месяца даты

Описание месяца по дате выводится так:

Сообщить(Формат("20050101" , "ДФ=ММММ" ) ) ; // выведет Январь

Форматная строка имеет тот же самый параметр ДФ, как и в предыдущем случае. Но вот значение отличается. Теперь оно равно ММММ.

Пройдите тест

Начать тест

1. Формат("19050505", "ДФ=ММММ") вернёт

2. Форматная строка меняющая разделитель дробной и целой части на ^

3. Чтобы вместо 5 функция Формат вернула "00005" подойдёт форматная строка

4. Чтобы вместо 10 000 функция Формат вернула "10000" подойдёт форматная строка

5. Функция Формат возвращает значение типа

Общий реквизит в 1С 8.3 — это объект метаданных платформы, позволяющий использовать один реквизит для многих объектов конфигурации (справочников, документов, планов счетов и т.д). Объект создан в основном для облегчения труда разработчика и разделения данных.

Общие реквизиты были первоначально реализованы в версии 1С 7.7, но сразу в платформу 8 версии разработчики его не включили. Механизм общих реквизитов был введен разработчиками 1С только в релизе 8.2.14.

Общие реквизиты очень удобно добавлять, чтобы не изменять стандартные объекты в конфигурации, я часто их использую наряду с .

После добавления общего реквизита его можно использовать и в запросах и выводить на форму объектов — внешне он ничем не отличается от обычного реквизита.

Единственное ограничение общих реквизитов — невозможность использования их в .

Рассмотрим основные настройки и свойства общих реквизитов, отличные от других объектов конфигурации:

Состав — список объектов, к которым будет использован общий реквизит, настройка напоминает настройку плана обмена.

Получите 267 видеоуроков по 1С бесплатно:

Автоиспользование — настройка определяет, будет ли использоваться общий реквизит для тех объектов, у которых в составе указан режим использования «Автоматический».

Разделение данных — эту настройку рассмотрим отдельно.

Разделение данных в 1С с помощью общего реквизита

Разделение данных — механизм, аналогичный механизму . Однако производительность данного механизма более эффективна, и он настраивается проще.

Механизм позволяет настроить отображение только элементов, которые может видеть пользователь. К примеру, можно разграничить все объекты (документы, справочники и т.д.), где установлена определенная организация.

Настройка разделения данных с помощью общих реквизитов 1С

Для настройки в общем реквизите необходимо указать разделение данных — Разделять . Сразу после нажатия система предложит создать параметры учета по умолчанию:

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

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

Пример использования общего реквизита

Разберем настройку общего реквизита в 1С 8.3 на примере каркасной конфигурации и реквизита Организация:

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

Настройка проста:

  1. Создаем новый Общий реквизит, указываем тип — СправочникСсылка.Организация.
  2. В составе расставляем для наших документов — Использовать .

Все, настройка окончена!

Смотрим результат:

Система отображает общий реквизит «как свой»: и в запросах, и в реквизитах формы, и в других местах. Вот такое волшебство! 🙂

Не добавляется общий реквизит 1С 8.3

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

Он позволяет разрешить пользователю работать не со всеми документами, а только с теми, в которых указана определенная организация или склад. Отборы производятся динамически, поэтому накладывают определенную нагрузку на работу базы данных.

Свойство общего реквизита-разделителя – Разделение пользователей 1С – позволяет установить доступность списка пользователей в зависимости от использования разделителей.

Если разделитель включен для пользователя, то он будет виден в списке пользователей в режиме 1С Предприятие – иначе не виден.

Таким образом можно организовать различные списки пользователей для различных частей базы.

Свойство общего реквизита-разделителя – Разделение аутентификации 1С – позволяет заводить пользователей с одинаковыми именами пользователя для разных частей базы.

Условное разделение 1С

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

Чтобы включить условное разделение 1С – нужно указать в свойстве общего реквизита-разделителя – Условное разделение 1С – , который будет отвечать за определение факта включения разделения 1С.

Возможно использовать константу с типом булево или реквизит справочника с типом булево.

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

В системе 1С:Предприятие существует возможность ведения в одной информационной базе учета по нескольким предприятиям. Для этого используется разделитель учета.

Использование разделителя учета задается в конфигурации. Если в конфигурации определено использование разделителя учета, то в табло счетов существует возможность выбора конкретного значения разделителя учета, по которому будут выдаваться бухгалтерские итоги.

Для установки значения разделителя учета следует воспользоваться пунктом "Разделитель учета" меню "Действия" или соответствующей кнопкой панели инструментов. При этом на экран выдается диалог для установки значения разделителя учета.

В поле "Значение разделителя учета" можно указать конкретное значение разделителя учета. Способ ввода значения зависит от типа разделителя учета, определенного в конфигурации. Как правило, это справочник. В этом случае для выбора значения следует воспользоваться кнопкой выбора и выбрать нужное значение из списка значений справочника.

Кнопка "Пустое значение" позволяет стереть введенное значение разделителя учета, то есть задать пустое значение. Это имеет смысл в том случае, если, наряду с конкретными значениями разделителя учета, в проводках использовалось и пустое значение.

Флажок "По всем" позволяет установить режим вывода итогов по всем значениям разделителя учета в сумме.

Для установки выбранных значений следует нажать кнопку "ОК" . Для отказа от установки значений - кнопку "Отмена" .

После установки выбранных значений табло счетов будет выводить итоги по конкретному значению разделителя учета или по пустому значению или по всем значениям в сумме, в зависимости от выбранного в диалоге варианта.