Синоним стандартного реквизита наименование

Не сохраняется синоним стандартного реквизита

Я
   ДНН

30.08.19 — 18:02

Добрый день.

Платформа 8.3.13.1865, самописная конфигурация.

Есть справочник Контактные лица, подчиненный справочнику Контрагенты.

В конфигураторе открываю справочник Контактные лица, перехожу на закладку Данные, нажимаю Стандартные реквизиты. Открываю свойства стандартного реквизита Владелец, меняю синоним. Он не сохраняется.

Что делаю не так? Как поменять синоним, чтобы не менять заголовок элемента в каждой форме?

Спасибо

  

Партнерская программа EFSOL Oblako

   asady

1 — 30.08.19 — 18:27

(0) что ты хочешь?

изменить заголовок в каждой форме на новый (синоним) но не вручную а автоматом?

   SadrArt

2 — 30.08.19 — 18:31

(0) там есть «галочка», им пользуешься? Или как закрываешь окошко когда меняешь синоним?

   ДНН

3 — 30.08.19 — 18:37

(2) нажимал на галочку, не помогло

   medved_kot

4 — 30.08.19 — 19:14

(0) А именно у Владельца поменять синоним, это не так как-то?

   palsergeich

5 — 30.08.19 — 19:14

(0) Ну очень странно.

Попробуй на другом релизе, может накосячили?

  

АСанСаныч

6 — 01.12.19 — 10:02

Тоже столкнулся с данным глюком платформы.

Спасает открытие окна выбора Значение заполнения и нажатие кнопки Ок. Это надо сделать после заполнения Синонима.

Название проверки

Синоним стандартного реквизита "Владелец" совпадает с наименованием.

Английское название проверки
??

Правило анализа кода/метаданных

1.1. Синоним объекта должен быть определен так, чтобы осмысленно,
лаконично описывать объект. Заполняется обязательно.

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

1.2. Не рекомендуется в синонимах объектов использовать сокращения.
Исключением являются только общеупотребительные и соответствующие
целевой аудитории сокращения (например, Сумма (регл.) ) и аббревиатуры
(например, НДС или МСФО).

1.3. В синонимах объектов и текстовых сообщениях пользователю должны
использоваться общепринятые термины, понятные пользователю. Не должно
быть сленга, искажения названий продуктов и компаний; англоязычных фраз,
записанных русскими буквами; русскоязычных английскими буквами и т.п.

В частности, если для англоязычного термина нет общепринятого перевода
на русский язык, то следует использовать оригинальный англоязычный
термин.
Например, неправильно: «Загрузка данных из Эксель»;
правильные варианты: «Загрузка данных из Microsoft Excel», «Загрузка
данных из программы MS Excel».

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

1.5. При этом для стандартных реквизитов Родитель и Владелец,
следует всегда указывать синонимы, отличные от синонимов по умолчанию.
Например, в конфигурации имеется справочник Файлы со стандартным
реквизитом Владелец типа СправочникСсылка.ПапкиФайлов. В этом
случае
неправильно

  • оставлять синоним стандартного реквизата Владелец по умолчанию:
    «Владелец»;

правильно

  • вложить в синоним прикладной смысл: «Папка» или «Папка с файлом».

Другой пример. В то время как для стандартного реквизита
Наименование некоторых справочников может вполне подойти синоним по
умолчанию «Наименование», в случае со справочником Файлы
целесообразнее назначить синоним «Имя файла», а для справочника
ФизическиеЛица – дать синоним «ФИО».

1.6. В случае, когда есть два (или более) объекта метаданных со схожим
назначением, необходимо, чтобы синонимы каждого объекта полностью
описывали каждый объект.

Например, неправильно давать справочникам следующие синонимы:

Банковские счета,
Банковские счета контрагентов

правильно:

Банковские счета организаций,
и Банковские счета контрагентов
Следует называть эти объекты явным образом, чтобы пользователь не
задавался вопросом: «Если в справочнике Банковские счета контрагентов
хранится информация о счетах контрагентов, то информация о чьих счетах
хранится справочнике Банковские счета?»

Это требование справедливо и для синонимов подчиненных объектов
метаданных (реквизитов, табличных частей, измерений, ресурсов и пр.).
Пример с реквизитами табличной части «Товары» документа «Пересчет
товаров».
Неправильно:

Количество
Количество (по учету)
правильно:

Количество (в наличии)
Количество (по учету)
Пример со стандартным реквизитом Наименование и еще одним реквизитом
справочника «Номенклатура».
Неправильно:

Наименование
Полное наименование
правильно:

Рабочее наименование
Наименование для печати

Мета-информация (пожалуйста, заполните если знаете):

  • Номер стандарта: 474
  • Код проверки: ??my-check-id
  • Тип ошибки: ERROR SECURITY PERFORMANCE WARNING PORTABILITY LIBRARY_DEVELOPMENT_AND_USAGE CODE_STYLE UI_STYLE SPELLING
  • Критичность: BLOCKER CRITICAL MAJOR MINOR TRIVIAL
  • Код ошибки АПК: 349

Параметры проверки

  • NA

Текст ошибки

Синоним стандартного реквизита "Владелец" совпадает с наименованием.

Пример некорректного решения

  • NA

Описание, почему так делать нельзя

Пример корректного решения

  • NA

Дополнительные материалы

  • Имя, синоним, комментарий
  • 2.3.2.1. В синонимах объектов и текстовых сообщениях пользователю должны использоваться общепринятые термины, понятные пользователю
  • 2.3.2.2. В случае если у объекта метаданных имеются стандартные реквизиты (стандартные табличные части), для них следует указывать синонимы
  • 2.3.2.3. Для стандартных реквизитов Родитель и Владелец, следует всегда указывать синонимы, отличные от синонимов по умолчанию.

Продолжаем разработку конфигурации Менеджер задач. В прошлой части определились с функционалом и описали справочники для хранения информации. В этой части будем разбираться с пользователями. Планировал разобрать хранение и отображение состояний задач, но логичнее сначала описать пользователей для отображения задач конкретного пользователя.

1C. Разработка конфигурации Менеджер задач. Часть 1
1C. Разработка конфигурации «Менеджер задач». Часть 2.  Пользователи.

Содержание

  1. Требование
  2. Реализация требования
  3. Пользователи
  4. Текущий пользователь

Требование

Разработать конфигурацию «Менеджер задач»:

[…]

3. Предусмотреть возможность работы нескольких пользователей;

[…]

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

!!! О пользователях ИБ можно почитать Синтаксис-помощник в разделе Работа со списком пользователей информационной базы.

На текущий момент будем реализовывать необходимый минимум:

  • Хранение пользователей системы и соответствия с пользователями ИБ;
  • При первом запуске создавать пользователя Администратор и назначать ему полные права;
  • Введение новых пользователей и назначать права через Конфигуратор;
  • При входе в систему инициализировать параметр сеанса ТекущийПользователь.

Создание и изменение пользователей через режим 1С:Предприятие будем разбирать позже.

Реализация требования

Пользователи

Создадим справочник Пользователи с иерархией групп и элементов, длину наименования установим 100. Справочник включим в состав подсистемы Менеджер задач. В синоним стандартного реквизита Наименование установим значение «Полное имя«, в нем будет храниться представление пользователя.

Добавим реквизит ИмяВхода, тип Строка(50) для отображения логина пользователя.

При запуске необходимо определять по текущему пользователю ИБ пользователя нашей системы, для этого воспользуемся свойством УникальныйИдентификатор пользователя ИБ. Создадим реквизит УникальныйИдентифиткатор с типом УникальныйИдентифиткатор, там и будем хранить соответствие.

Менеджер задач

Сразу набросаем форму

Менеджер задач

Для разделения пользователей создадим роли:

  • Полные права — Имеет права на все объекты конфигурации;
  • Пользователь — Имеет право запуска клиента, установки параметров сеанса и просмотра НСИ.

Текущий пользователь

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

Процедура УстановкаПараметровСеанса(ТребуемыеПараметры)

    // Определение текущего пользователя
    ТекущийПользовательИБ  = ПользователиИнформационнойБазы.ТекущийПользователь(); 
    ТекущийПользователь    = УправлениеПользователями.ПолучитьПользователяСистемы(ТекущийПользовательИБ);
	
    ПараметрыСеанса.ТекущийПользователь = ТекущийПользователь;

КонецПроцедуры

Как видно из кода, я добавил общий модуль УправлениеПользователями, в котором в функции ПолучитьПользователяСистемы() буду производить определение  пользователя системы по переданному пользователю ИБ.

При определении пользователя возможны следующие варианты:

  1. Нет пользователей ИБ, нет пользователей системы. Считаем, что это первый запуск системы, создаем полноправного пользователя Администратор, назначаем его текущим;
  2. Есть пользователь ИБ и пользователь системы, назначаем его текущим;
  3. Есть пользователь ИБ, нет пользователя системы. Запуск после добавления нового пользователя через конфигуратор. Создаем пользователя системы, назначаем его текущим.

Из изложенного выше описываем код общего модуля УправлениеПользователями.

#Область УправлениеПользователями

// Создает пользователя ИБ на основании переданного пользователя системы или строки
//
//  Параметры:
//      ПользовательСистемы, Тип: СправочникСсылка.Пользователи или Структура
//      Администратор, Тип: Булево - Если Истина, то создается пользователь с полными правами
//  
//  Возврвщает: Созданного пользователя ИБ, Тип: ПользовательИнформационнойБазы
Функция СоздатьПользователяИБ(ПользовательСистемы, Администратор = Ложь) Экспорт
    
    АдминистраторИБ = ПользователиИнформационнойБазы.СоздатьПользователя();
    АдминистраторИБ.Имя         = ПользовательСистемы.ИмяВхода;
    АдминистраторИБ.ПолноеИмя   = ПользовательСистемы.Наименование;
    
    Если Администратор Тогда 
        АдминистраторИБ.Роли.Добавить(Метаданные.Роли.ПолныеПрава);
    Иначе 
        АдминистраторИБ.Роли.Добавить(Метаданные.Роли.Пользователь);
    КонецЕсли;
    
    АдминистраторИБ.АутентификацияСтандартная   = Истина;
    
    АдминистраторИБ.Записать();
    
    Возврат АдминистраторИБ;
    
КонецФункции    

// Создает пользователя системы(Справочник.Пользователи) на основании переданного пользователя ИБ
//
//  Параметры:
//      ПользовательИБ, Тип: ПользовательИнформационнойБазы
//  
//  Возврвщает: Сссылку на созданного пользователя, Тип: СправочникСсылка.Пользователи
//
Функция СоздатьПользователяСистемы(Знач ПользовательИБ) 
    
    ПользовательСистемы = Справочники.Пользователи.СоздатьЭлемент();
    ПользовательСистемы.Наименование                = ПользовательИБ.ПолноеИмя;
    ПользовательСистемы.ИмяВхода                    = ПользовательИБ.Имя;
    ПользовательСистемы.УникальныйИдентификатор     = ПользовательИБ.УникальныйИдентификатор;
    
    Попытка
        ПользовательСистемы.Записать();
    Исключение
        Возврат Неопределено;
    КонецПопытки;   
    
    Возврат ПользовательСистемы.Ссылка;
    
КонецФункции

// Создает Администратора ИБ и Администратора системы
//              на основании переданного пользователя ИБ
//  
//  Возврвщает: Сссылку на созданного пользователя, Тип: СправочникСсылка.Пользователи
//
Функция СоздатьАдминистратора() 
    
    // Создадим пользователя ИБ
    СруктураПользователя    = Новый Структура("Наименование, ИмяВхода", "Администратор", "Администратор");
    АдминистраторИБ         = СоздатьПользователяИБ(СруктураПользователя, Истина);
    
    // Создадим пользователя системы
    Администратор = СоздатьПользователяСистемы(АдминистраторИБ);
    
    Возврат Администратор;
    
КонецФункции

// Возвращает пользователя системы(СправочникСсылка.Пользователи) по переданному пользователю ИБ
//
//  Параметры:
//      ПользовательИБ, Тип: ПользовательИнформационнойБазы
//  
//  Возврвщает: Ссылку пользователя, Тип: СправочникСсылка.Пользователи
//
Функция ПолучитьПользователяСистемы(Знач ПользовательИБ) Экспорт 
    
    УстановитьПривилегированныйРежим(Истина);

    // Проверим наличие пользователей ИБ
    ЕстьПользователи = ПользователиИнформационнойБазы.ПолучитьПользователей().Количество() > 0;
    
    Если ЕстьПользователи Тогда
        
        // Пользователи ИБ есть, получим пользователя системы по UUID 
        
        Запрос = Новый Запрос;
        Запрос.УстановитьПараметр("УникальныйИдентификатор", ПользовательИБ.УникальныйИдентификатор);
        Запрос.Текст = 
        "ВЫБРАТЬ ПЕРВЫЕ 1
        |   Пользователи.Ссылка КАК Пользователь
        |ИЗ
        |   Справочник.Пользователи КАК Пользователи
        |ГДЕ
        |   Пользователи.УникальныйИдентификатор = &УникальныйИдентификатор";
        
        РезультатЗапроса = Запрос.Выполнить();
        
        Если РезультатЗапроса.Пустой() Тогда 
            
            // По указаному UUID не нашли пользователя в справочнике, будем создавать
            ПользовательСистемы = СоздатьПользователяСистемы(ПользовательИБ);           
            
            ТекстСообщения = "Пользователь системы не определен. Создан пользователь %1";
            Сообщение = Новый СообщениеПользователю;
            Сообщение.Текст = СтрШаблон(ТекстСообщения,  ПользовательСистемы.ИмяВхода);
            Сообщение.Сообщить();
            
        Иначе 
            
            // Пользователь найден, возвращаем его
            Выборка = РезультатЗапроса.Выбрать();
            Выборка.Следующий();
            
            ПользовательСистемы = Выборка.Пользователь;
            
        КонецЕсли;
        
    Иначе
        
        // Пользователей ИБ нет, создадим Администратора
        ПользовательСистемы = СоздатьАдминистратора();
        
        Сообщение = Новый СообщениеПользователю;
        Сообщение.Текст = "Похоже, это первый запуск системы. Создан пользователь Администратор";
        Сообщение.Сообщить();
        
    КонецЕсли;
    
    УстановитьПривилегированныйРежим(Ложь);

    Возврат ПользовательСистемы;
    
КонецФункции

#КонецОбласти

Теперь при запуске в параметрах сеанса будет установлен текущий пользователь.

Разбор требования завершен, в следующей части будем разбираться с хранением и отображением состояния задач.

Сложность: *

Теги: справочник, регистр сведений, табличная часть справочника, подчиненный справочник

ЗАДАНИЕ

Заказчик просит разработать информационную систему для хранения информации о сотрудниках предприятия.

В данной информационной системе необходимо хранить:

1. Список сотрудников.

2. Информацию о трудовой деятельности каждого сотрудника:

  • место работы;
  • дату начала работы;
  • дату увольнения;
  • должность.

3. Информацию о детях сотрудников:

  • ФИО ребенка;
  • год рождения.

4. Информацию о текущем окладе сотрудника.

Подготовка
  • Создать новую информационную базу.
  • Открыть информационную базу в режиме «Конфигуратор».
  • Открыть окно конфигурации.

Подробнее о том, как это сделать, смотрите в книге Основные принципы работы с платформой.

Выполнение

Чтобы хранить в информационной системе список сотрудников, необходимо добавить справочник.

Определение

Справочник – это объект конфигурации, который хранит справочную информацию, например, перечень товаров или список подразделений организации (более подробно про справочники можно прочитать здесь: https://v8.1c.ru/platforma/spravochniki/).

Создадим справочник «Сотрудники».

Если открыть данный справочник в режиме «1С:Предприятие», то он будет выглядеть следующим образом:

Обратите внимание, что поля «Код» и «Наименование» система сгенерировала самостоятельно при добавлении нового справочника. Эти поля являются стандартными реквизитами. Стандартные реквизиты платформа создает автоматически, исходя из свойств конкретного объекта конфигурации. Поле «Код» заполнять не нужно, система сделает это автоматически. Поле «Наименование» является обязательным для заполнения.

Для добавления полей на карточку сотрудника перейдем на вкладку «Данные».

Длина поля «Наименование» ограничена, что помешает нам при попытке ввести длинное ФИО сотрудника. Необходимо увеличить длину наименования до 70 знаков.

В этом же окне можно посмотреть стандартные реквизиты справочника. В открывшемся окне можно изменить синоним стандартного реквизита.

Определение

Синоним – это название реквизита, удобное для пользователя.

Добавим синоним для реквизита «Наименование» – «ФИО».

Теперь справочник в режиме «1С:Предприятие» будет выглядеть следующим образом:

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

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

Как в данной системе организовать хранение информации о трудовой деятельности сотрудника? Для этого добавим в справочник табличную часть «ТрудоваяДеятельность» с помощью кнопки «Добавить табличную часть».

Теперь создадим реквизиты табличной части – колонки таблицы – с помощью кнопки «Добавить реквизит». Добавляем четыре реквизита.

Меняем свойства созданных реквизитов. Обратите внимание на тип создаваемых реквизитов.

Табличная часть справочника должна выглядеть следующим образом:

Откроем справочник «Сотрудники» в режиме «1С:Предприятие» и заполним данные о двух сотрудниках.

Теперь справочник «Сотрудники» может хранить данные о трудовой деятельности сотрудников.

Но нам нужно также сохранять данные об их детях, чтобы отдел кадров мог подготовить к Новому году сладкие подарки для детей младше 18 лет.

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

Создадим подчиненный справочник.

Определение

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

Создадим новый справочник «Дети».

Справочник «Дети» будет подчинен справочнику «Сотрудники». Для настройки подчинения необходимо перейти на вкладку «Владельцы» и из списка справочников выбрать справочник «Сотрудники».

Для настройки структуры справочника переходим на вкладку «Данные» и добавляем реквизит «ГодРождения» с типом «Число».

Самостоятельно измените синоним стандартного реквизита «Наименование» на «ФИО» справочника «Дети».

Теперь можно запустить программу в режиме «1С:Предприятие» и ввести данные о детях сотрудников. Причем мы можем это сделать прямо из карточки сотрудника.

Аналогично можно добавлять информацию о детях напрямую в справочник «Дети».

В таком случае поле «Владелец» необходимо заполнить вручную.

Убедимся в том, что ребенок был добавлен в карточку сотрудника.

Внимание!

Создание новой карточки ребенка невозможно без заполнения поля «Владелец». Именно в этом и заключается суть подчиненных справочников: мы исключаем возможность добавления в базу объекта без владельца (ребенка без родителя, который является сотрудником нашей организации).

Кроме того, как вы могли убедиться, можно посмотреть карточки детей либо в справочнике «Дети», либо в карточке сотрудника.

Чем же такой вариант хранения информации отличается от хранения данных в табличной части справочника?

Дети сотрудников, как и сами сотрудники – это объекты аналитики. Это значит, что данные объекты и их реквизиты могут в дальнейшем быть использованы, например, для построения отчетов. Каждый объект аналитики (отдельный сотрудник или ребенок) в системе имеет уникальную ссылку. А вот данные о трудовой деятельности сотрудника, занесенные в табличную часть, несут только информативный характер, и в дальнейшем, при работе программы, использоваться никак не будут, поэтому у них нет уникальной ссылки.

Рассмотрим еще один вариант хранения данных в системе.

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

Для хранения истории изменения данных в системе «1С:Предприятие» используют регистры сведений.

Определение

Регистр сведений позволяет хранить информацию об изменении каких-либо показателей с течением времени, например, хранить данные о курсах валют (подробнее о регистрах сведений можно прочитать здесь: https://v8.1c.ru/platforma/registr-svedeniy/).

Добавим регистр сведений. Назовем его «ОкладыСотрудников». Установим периодичность «В пределах месяца». Таким образом, вносить данные об окладе сотрудников в регистр сведений можно будет только один раз в месяц.

Структура регистра, как и прочих объектов конфигурации, настраивается на вкладке «Данные».

Здесь же можно заглянуть в список стандартных реквизитов.

Изменив периодичность регистра на «В пределах месяца», мы активировали стандартный реквизит «Период». В него будет заноситься дата внесения данных в регистр. Это сделано для того, чтобы система могла отслеживать попытки внесения данных чаще, чем один раз в месяц.

Возвращаемся к окну редактирования регистра сведений.

Заполнение данного окна всегда проще всего начинать с добавления ресурса. Чтобы понять, что использовать в качестве ресурса, необходимо задать вопрос: «Что мы хотим хранить в данном регистре?». Мы хотим хранить данные об окладах. Следовательно, оклад и будет являться ресурсом. Тип данного реквизита – «Число».

Чтобы разобраться с измерением, нужно понять, в разрезе чего мы хотим хранить оклад? Мы хотим хранить оклад (чей?) сотрудников. Значит, в качестве измерения необходимо добавить реквизит «Сотрудник». Тип данного реквизита – «СправочникСсылка.Сотрудники». В этом поле будут храниться ссылки на элементы справочника «Сотрудники».

Если у измерения свойство «Ведущее» включено, это значит, что запись регистра сведений имеет смысл только пока существует объект, на который он ссылается. То есть если удалить сотрудника из справочника «Сотрудники», то все записи, связанные с этим сотрудником, из регистра сведений будут удалены. Плюс данная галочка создаст быстрый переход к регистру прямо из карточки сотрудника.

Откроем регистр сведений в режиме «1С:Предприятие» и введем данные об окладе сотрудника за несколько месяцев.

Добавим оклад сотруднику прямиком из карточки сотрудника.

Проверим, что эти данные действительно попали в регистр сведений.

Таким образом, была реализована возможность хранения информации об изменении оклада сотрудника.

Поставленная задача решена.

В результате выполнения лабораторного задания необходимо Выгрузить информационную базу и прикрепить с помощью «Добавить ответ на задание».

Перейдем к справочнику Друзья. Список друзей сейчас малоинформативен. Кроме этого, слово Наименование не совсем четко передает смысл своего содержимого. Плюс в списке присутствует реквизит Код, который нам не особо интересен.

Для начала «переименуем» для пользователя Наименование в ФИО. Можно открыть форму списка и задать в палитре свойств у поля Наименование строковое представление «ФИО» — так же, как мы сделали это в форме регистра у поля Период.

Но в этот раз мы поступим иначе. У справочника Друзья уже сейчас существует несколько форм — формы списка и элемента справочника. Причем форму списка мы создали в конфигураторе, а форму элемента платформа генерирует на лету. Чтобы не думать о формах, переименуем Наименование в ФИО в одном месте — в свойствах стандартных параметров. Для этого находим справочник Друзья в списке объектов метаданных, нажимаем на него правой кнопкой мыши и выбираем Стандартные реквизиты.

Рисунок 44. Стандартные реквизиты

В открывшемся окне находим Наименование и в палитре свойств указываем синоним ФИО.

Рисунок 45. Стандартные реквизиты

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

Рисунок 46. Многострочность у Комментария

Рисунок 47. Добавление реквизита в управляемую форму

Рисунок 48. Обновленная форма списка друзей

В своем разделе (Контакты) список друзей тоже обновился. Кроме этого, форма элемента справочника, которая генерируется платформой на лету, тоже учитывает все изменения, которые мы недавно внесли — ФИО и многострочный Комментарий.

Рисунок 49. Обновленная форма элемента справочника Друзья

Добавим еще несколько штрихов в нашу систему. Приведем в удобочитаемый вид справочник События. «Переименуем» для пользовательского режима реквизит Наименование в Название (через Стандартные реквизиты), реквизит табличной части Друг — в Участник (при помощи указания синонима), а реквизит Описание сделаем многострочным и с расширенным редактированием.

Рисунок 50. Синоним стандартного реквизита Наименование

Рисунок 51. Синоним реквизита друг

Рисунок 52. Многострочность и расширенное редактирование

Проверяем изменения. Справочник События выглядит теперь намного лучше.

Рисунок 53. Обновление справочника События

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

Ниже мы рассмотрим настройку и проектирование справочника из конфигуратора на примере справочника «Номенклатура».

Вкладка «Основные»

На вкладке «Основные» указывается имя, синоним, представление объектов, описание назначения.

Вкладка «Иерархия справочника»

Здесь устанавливается иерархичность справочника.

Иерархия в 1С 8.3 бывает двух типов — «групп и элементов » и «элементов «. Отличается тем, что в первом случае родителем (папкой) может быть только папка (группа), а во втором случае родителем может быть и элемент.

«Размещать группы сверху» — флаг отвечает за отображение групп в форме списка.

Также в настройках можно ограничить количество групп иерархии справочника соответствующей настройкой.

Вкладка «Владельцы»

Справочник может быть подчинен другому справочнику. С точки зрения конфигурирования 1С 8.3 это значит, что у подчиненного элемента становится обязательным реквизит «Владелец». Пример такой связи справочников в типовых конфигурациях «Номенклатура — Единицы Измерения», «Контрагенты-Договоры Контрагентов».

Владельцем справочника могут также быть следующие объекты метаданных: , .

Вкладка «Данные»

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

Самая важная вкладка с точки зрения программиста. На ней указываются реквизиты справочника.

У справочника есть набор стандартных реквизитов, которые не редактируются программистом 1С 8.2, список их можно увидеть, нажав кнопку «Стандартные реквизиты»:

Остановлюсь на каждом подробнее:

  • ЭтоГруппа — реквизит с типом булево, показывающий, группа это или элемент. Доступен только в иерархическом справочнике. Обратите внимание, значение этого реквизита невозможно изменить в режиме 1С: Предприятие .
  • Код — реквизит, тип число или строка (как правило строка). Номер, присваиваемый системой автоматически. Как правило, рассчитывается как (предыдущий код + 1). Рекомендую использовать именно строковый тип, потому как сортировка числовых значений происходит не так, как нужно. Можно использовать как представление справочника в списке и в полях ввода. Как правило, используется для поиска элемента при вводе по строке. Если Вам нужно убрать поле Код, укажите в длине строки ноль.
  • Наименование — реквизит, обязательный к заполнению, строкового типа. Максимальная длина строки — 150 символов. Можно использовать как представление справочника в списке и в полях ввода. Как правило, используется для поиска элемента при вводе по строке. Если Вам нужно убрать поле Наименование, укажите в длине строки ноль.
  • Родитель — реквизит, имеющий тип СправочникСсылка. . Доступен только в иерархическом справочнике. Указывает на вышестоящего родителя в иерархии. Если Элемент или Группа находятся в корне справочника, указывается значение Справочник. .ПустаяСсылка.
  • Владелец — ссылка на элемент-владелец текущего элемента (группы) справочника. Доступен только в подчиненном справочнике 1С .
  • ПометкаУдаления — реквизит с типом булево. Отвечает за отображение «пометки удаления» в системе. Помеченный на удаление элемент считается непригодным к использованию, однако на нём могут оставаться старые движения в документах.
  • Ссылка — поле строкового типа. В этом реквизите хранится уникальный идентификатор объекта — GUID. То, что в системе мы видим в визуальном отображении под название «ссылка», — это всего лишь представление объекта. Невозможно изменить.
  • Предопределенный — тип булево, отображает, является ли элемент предопределенным, об этом позже. Невозможно изменить.

На вкладке «Данные» так же указывается представление справочника в системе, до версии 8.2.16 представление могло быть лишь Кодом или Наименованием. В свежих версиях платформы (начиная с 8.3) представление можно описать самостоятельно в модуле менеджера с помощью обработчика «ОбработкаПолученияПредставления».

Вкладка «Нумерация»

Здесь указываются настройки справочника по части нумерации. Рекомендуется использовать именно автонумерацию. Контроль уникальности — флаг, который помогает, если нужно, сделать код уникальным. Если с установленным флагом Вы попытаетесь записать элемент справочника с неуникальным кодом, в 1С Вы получите сообщение «Код справочника стал неуникальным».

Серия кодов — определяет, как нумеровать справочник, можно ввести нумерацию справочника в разрезе владельца. Например, у контрагента «Рога и копыта» будет иметься своя нумерация договоров — «1, 2, 3» и тд.

Вкладка «Формы»

Тут описываются формы для справочника. Если конфигурация запускается как в обычном, так и управляемом режиме, тогда вкладок с формами по умолчанию будет две: «основные» и «дополнительные» — для обычного и управляемого приложения разные.

На этой странице есть немаловажное свойство справочника — ««. Это очень удобная функция 1С 8, позволяющая при заполнении данных в поле ввода не заходить в справочник, а набрать его наименование, код или т.п. и выбрать из выпадающего списка нужный элемент. Выглядит это так:

Вкладка «Прочее»

На вкладке можно получить быстрый доступ к основным модулям справочника — модулю объекта и модулю менеджера.

На странице можно также определить список предопределенных элементов справочника. Это элементы, которые невозможно удалить в режиме Предприятия. К предопределенным элементам можно обратиться в конфигураторе напрямую, по имени, например: Справочники.Номенклатура.Услуга.

На этой вкладке также определяется режим блокировки — автоматический или управляемый. Использование полнотекстового поиска, а также справочная информация о справочнике, доступная в режиме 1С: Предприятия.

9. Состав реквизитов документов.

Любой документ состоит из ряда составляющих его элементов оформления (даты, подписи, и т.д.),которые называются реквизитами . РЕКВИЗИТЫ обязательные элементы оформления служебного документа. Совокупность реквизитов документа отражает его форму. Следовательно, для того чтобы документ отвечал своему назначению, он должен быть составлен в соответствии с формой, принятой для данной категории документов. От полноты и качества оформления документов зависит их доказательная (юридическая) сила, так как они служат свидетельством, подтверждением конкретных фактов, явлений, событий.

Состав реквизитов насчитывает 30 наименований и приведен в государственном стандарте ГОСТ Р 6.30-2003. Реквизиты располагаются на документе каждого вида в строго определенном стандартом порядке.

Список реквизитов по ГОСТ Р 6.30-2003:

01. Государственный герб Российской Федерации

02. герб субъекта Российской Федерации

03. эмблема организации или товарный знак

04. код организации по Общероссийскому классификатору предприятий и организаций (ОКПО)

05. основной государственный регистрационный номер (ОГРН) юридического лица (присваивается налоговыми органами).

06. идентификационный номер налогоплательщика/код причины постановки на учет (ИНН/КПП) проставляют в соответствии с документами, выдаваемыми налоговыми органами

07. код формы документа проставляют по Общероссийскому классификатору управленческой документации (ОКУД)

08. наименование организации

09. справочные данные об организации (индекс предприятия связи, почтовый адрес, телефон, телеграфный адрес, факс, e-mail, название банка и номер счета в банке).

10. наименование вида документа

11. дата документа

12. регистрационный номер документа

14. место составления или издания документа

16. гриф утверждения документа

18. заголовок к тексту

19. отметка о контроле

20. текст документа

21. отметка о наличии приложения

23. гриф согласования документа

24. визы согласования документа

25. оттиск печати

26. отметка о заверении копии

27. отметка об исполнителе

28. отметка об исполнении докеумента и направлении его в дело

29. отметка о поступлении документа в организацию

30. идентификатор электронной копии документа

Просматривая этот список, можно сказать следующее: некоторые реквизиты остаются неизменными при оформлении разных документов одного предприятия — это эмблема организации , наименование организации и справочные данные об организации . Естественно, предприятие не меняет свое название или свой адрес каждый день или даже каждый год. Поэтому первые 9 реквизитов из таблицы называются постоянными реквизитами .

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

Вернемся в конфигуратор.

Откроем Справочник Клиенты, на закладке Данные нажмем кнопку Стандартные реквизиты . Выделим в списке реквизитов реквизит Наименование, вызовем его контекстное меню и выберем пункт Свойства (рис. 64а).

Рис. 64а. Состав стандартных реквизитов справочника

В палитре свойств стандартного реквизита Наименование видим, что свойство Проверка заполнения по умолчанию установлено значение Выдавать ошибку (рис. 64б). Это означает, что если реквизит Наименование не заполнен,то будет выведено сообщение об ошибке.

Рис. 64б. Палитра свойств стандартного реквизита Наименование

IV. ИЕРАРХИЧЕСКИЙ СПРАВОЧНИК

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

1. Создадим иерархический справочник с реквизитами с наименованием Подразделения (рис. 65а).

Рис. 65а. Установка наименования справочника Подразделения

2. Отметим, что справочник участвует во всех подсистемах Бухгалтерия, Оказание услуг, Расчет зарплаты (рис. 65б).

Рис. 65б. Определение списка подсистем,в которых участвует справочник

3. На закладке Иерархия установим флажок Иерархический справочник , Количество уровней иерархии – 2, ограничение количества уровней иерархии (рис. 65в).

Рис. 65в. Установка признака иерархического справочника

4. Установим видимость создания объектов справочника в подсистеме Расчет зарплаты (рис. 65г).

Рис. 65г. Окно настройки подсистем

5. Кроме типовых реквизитов справочник должен содержать другие данные (рис. 65д). На закладке данные создайте новые реквизиты:

Наименование – Должность, тип данных – строка, длина – 20;

Наименование – дата рождения, тип данных – дата;

Наименование – оклад, тип данных – число, длина – 6, неотрицательное.

Рис. 65д. Добавление новых реквизитов в справочник

6. При создании нового справочника автоматически создаются два реквизита: код и наименование. Реквизит Код необходим, а вот наименование не совсем логичное название реквизита. Заменим название реквизита Наименование на реквизит ФИО . Для этого откроем вкладку Формы и добавим Форму элемента справочника (рис. 65е).

Рис. 65е. Конструктор формы справочника

Рис. 65ж. Список элементов (реквизитов) формы справочника

7. На экране откроется Окно редактирования форм, которое имеет три области: реквизиты, типы реквизитов, внешний вид формы (рис. 65з).

Рис. 65з. Окно редактирования форм

В верхнем левом поле, где представлены реквизиты, выделите реквизит Наименование. Откройте свойства данного поля и замените заголовок на ФИО (рис. 65и).

Рис. 65и. Фрагмент Свойства реквизита Наименование Формы справочника Подразделения

Обновим конфигурацию БД и запустим ее в режиме 1С: Предприятие.

Созданный справочник имеет иерархическую структуру:

Вначале создаем подразделения нажатием на кнопку (рис. 65к);

Рис. 65к. Форма создания новой группы в справочнике Подразделения

Потом заносим информацию по сотруднику (рис. 65л).

Рис. 65л.Форма создания нового сотрудника в справочнике Подразделения

ВВОД ДАННЫХВ БД

1. Введем в разработанный справочник 4 подразделения: Дирекция, Бухгалтерия, Мастера, Склад (рис. 65м).

Рис. 65м. Форма создания группы справочника Подразделения

2. В каждое подразделение введем данные по сотрудникам: Дирекция – 3 человека, Бухгалтерия – 2 человека, Мастера – 8 человек, Склад – 2 человека. Данные для ввода сформулируйте самостоятельно по смыслу разрабатываемого решения (рис. 65н).

1С очистить реквизиты формы

Для того чтобы очистить реквизит в форме, следует присвоить этому реквизиту значение по умолчанию. Например, для реквизита «Склад» имеющего тип » СправочникСсылка.Склады » фрагмент кода будет выглядеть следующим образом:

Как очистить реквизит формы, имеющий ссылочный тип?

Например: реквизит (имя Материал) имеет тип СправочникСсылка.Номенклатура, чтобы его очистить программно нужно выполнить следующий код:
Код 1C v 8.х

Для очистки ручками, нужно выделить реквизит и нажать Shift+F4

Похожие FAQ

Еще в этой же категории

Как на управляемой форме разместить список регистра сведений с отбором? 15
Решение рассмотрено для элемента справочника (Контрагент и регистр КонтактнаяИнформация) 1. Создание реквизита: Добавляем новый реквизит формы (. не путать с реквизитом справочника . ) с типом » ДинамическийСписок» В поле » Основная табли Поле выбора

Заполнение списка значений в элементе поле выбора на форме 10
//Заполнение списка перебором данных // Элемент формы МетаданныеВыбор имеет тип – Произвольный, Использование – Режим выбора из Списка, кнопка списка Для Каждого Метаданное из Метаданные.РегламентныеЗадания Цикл ЭлементыФормы.МетаданныеВыбор.Спи Как установить параметр динамического списка? 9
Когда используете для вывода данных динамический список и произвольный запрос, то бывают ситуации когда надо указать параметр используемый в этом запросе. Ниже пример вывода данных регистра сведений в карточке клиента Для вывода используется исп Как обновить динамический список или реквизит на форме клиента? 7
Если вы, открыв форму справочника или документа, выполнили некоторое действие, код который должен изменить состояние данных в динамических списках или значение реквизита. Данные изменены, но в открытой форме осталось все как было, можно конечно закр Форма

Программное создание таблицы значений с условным оформлением 6
Как создать на форме таблицу и сделать для нее подсветку содержимого колонки в строке по условию? Итак для начала нам надо добавить реквизиты в форму. Для этого у нас есть метод: ИзменитьРеквизиты(). Перед тем как его использовать мы сформируем ма Посмотреть все в категории Работа с Формой (Диалог) и её элементами

Не так давно пришлось приводить конфигурацию заказчика в соответствие с законом «О защите персональных данных», который гласит, что при отказе клиенту в одобрении заявки все личные данные о нем должны удаляться из информационной системы обработки персональных данных, которой является 1С. Реквизитов и таблиц с личными данными было достаточно много, поэтому вручную прописывать очистку было нецелесообразно. А удалять сам элемент справочника было нельзя, потому что к нему был привязан документ рассмотрения заявки, и удаление нарушило бы логическую целостность информационной базы.

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

Эта функция возвращает значение особого типа — ОбъектМетаданных. В нем содержатся практически все свойства объекта. Например для элемента справочника это будут: длина наименования и кода, автонумерация, основные формы, вообще все существующие формы, представление объекта, иерархичность, макеты и многое другое.

В нашем случае потребуются Реквизиты и Табличные части. Эти компоненты метаданных содержат значение КоллекцияОбъектовМетаданных, которую можно обойти в цикле Для каждого.

У каждого из элементов коллекции тоже много свойств, в частности есть очень полезное свойство Тип, через которое можно получить тип того или иного реквизита. Полный список свойств можно узнать, например, в режиме отладки через команду Вычислить выражение. Мне же для обращения к реквизиту или табличной части потребуется свойство Имя.

В итоге модуль, очищающий реквизиты и табличные части, выглядит так:

Для Каждого Реквизит Из Контрагент . Метаданные ( ) . Реквизиты Цикл
Контрагент [ Реквизит . Имя ] = Неопределено ;
КонецЦикла ;

Для Каждого ТаблЧасть Из Контрагент . Метаданные ( ) . ТабличныеЧасти Цикл
Контрагент [ ТаблЧасть . Имя ] . Очистить ( ) ;
КонецЦикла ;

Функция Метаданные() применяется как для самого объекта, так и для ссылки на него. В нашем случае необходимо было изменить значения реквизитов, поэтому объект нужно было получить. Данная функция работает не только для справочников, но и для других объектов конфигурации 1С, но состав свойств будет иным.

Приведенный в заметке пример — это только один из многочисленных способов применения функции Метаданные(). Другие варианты и проблемы с использованием метаданных готов обсудить в комментариях.

Как скрыть реквизиты документа или справочника в универсальных отчетах ?

Добрый день товарищи!
Вот такой вопрос, думаю уже кто то сталкивался, интересно как это можно сделать.
Есть предположим у справочника или документа реквизиты, которые я не хочу чтобы были видны определенным ролям пользователей.
Ограничивать через RLS нельзя, потому что они используются при работе, да и к тому же ограничение по RLS не покажет что там записано, в реквизите, а сам реквизит будет виден, а хочется скрыть сам факт присутствия этого реквизита.
Например реквизит будет называться СЕКРЕТНО_НаОсосбомКонтроле.
На форме справочника(документа) просто скрываем этот реквизит, ориентируясь на префикс в названии «СЕКРЕТНО_»
Проблема в том, что если будем строить любой отчет на СКД, то потом пользователь при настройках отчета в дереве полей этот реквизит увидит, а хочется его оттуда убрать, просто чтобы самого названия реквизита не было видно при настройке отборов или группировок.
Вот интересно как же его из списка Отборов, группировок строк и колонок — убрать, чтобы просто его там не было.

  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти

(21) ture, Замечательно! Хорошо, я поставил @ (хотя я до этого ставил СЕКРЕТНО_, что по сути одно и то же — одинаковый префикс)
С скрытием реквизитов на формах — проблем нет — при отрисовке формы проверяем и скрываем.
Вопрос что делать с универсальными отчетами, построенными на СКД, когда данный реквизит виден в структуре метаданных в окнах группировки и отбора. Как оттуда убрать этот реквизит ?

  • Скопировать ссылку
  • Перейти

@#$@#! Да сто раз уже сказали, как! Читать (18), только, блин, с открытыми глазами и включённым мозгом!

  • Скопировать ссылку
  • Перейти

(23) vasyak319, Да, я в курсе что создается

  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти

Глобальный контекст (Global context)
ПравоДоступа (AccessRight)
Синтаксис:

ПравоДоступа(<Право>, <ОбъектМетаданных>, <Пользователь/Роль>, <СтандартныйРеквизитСтандартнаяТабличнаяЧасть>)
Параметры:

Тип: Строка.
Название права доступа. Могут быть использованы следующие значения:
Чтение (Read) — чтение;
Добавление (Insert) — добавление;

  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти

(42) a-novoselov, Так сделать можно. Согласен. Но не подходит по той причине, что я хочу поставить в невидимые в том числе родные для типового решения реквизиты (те, которые хочу, может даже все. ) 🙂
Вот по этому технически — да, так как Вы предлагаете сделать можно и даже правильно, но данную задачу таким способом не решить (очень трудозатратно решить).

Благодаря дельным советам, в отчетах уже всё заработало 🙂 Остаются «штрихи».
При открытии форм надо убирать «закрытые от просмотра» реквизиты.
Я так понимаю что подписки на событие «при открытии формы» в 1С 8.2 Толстый клиент неуправляемые формы — НЕТ.
Так ведь?
То есть в каждой форме надо процедуру «зачистки» явно вызывать из процедуры «ПриОткрытии()» .
Серьезно ? Но мне это не нравится. Честное слово не нравится! Я хочу чтобы при открытии любой формы, в том числе внешнего отчета, (ну дополнительные внешние отчеты и обработки) нужный мне код вызывался, и каждую обработку для этого менять я категорически не хочу. Можно это как-то организовать ? На таймере например проверят список активных форм, если новая форма появилась — то её обрабатывать? Или еще как то?

  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти

А опции в 8.2 работать будут? А на обічніх формах тоже реквизит не покажут?

(1) alex_4x, Вопрос, на чём предполагается реализовывать? (Релиз платформы). Ну и конечно неплохо бы узнать для какой конфигурации (что бы понять какой функционал там уже есть).

  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти

Платформа 1С:Предприятие 8.2 (8.2.19.83)
Конфа УПП 1.3 (но мне кажется это совершенно не принципиально)

Закладка Функциональные опции в конфигураторе есть и там даже что то уже сделано (в базовом решении)
Но я никогда с этими функциональными опциями не работал. Может посоветуете почитать где, чтобы понятно и с примерами было.
Спасибо!

  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти

Опечален я тем фактом, что эти функциональные опции работают только на управляемых формах.
Это что же получается, задачу эту на толстом клиенте никак не решить ?
Должен быть какой-то способ!

НА ТОЛСТОМ КЛИЕНТЕ НЕ РАБОТАЕТ (не только на формах, но самое главное в форме выбора поля отчета на СКД)!

А интересно, формочку эту заменить или подменить или както обработать перед выбором можно ? Мне кажется она полностью платформой делается и на неё вообще никак повлиять нельзя. Или можно всё таки как-то .

На чтение 4 мин. Просмотров 206 Опубликовано 15.12.2019

Ребят, как можно получить пользователя информационной базы 1С? Это же не справочник в конфигурации. У меня есть только Пользователь, подскажите как решить такую проблему!

У элемента справочника Пользователи есть идентификатор пользователя ИБ, по нему и можно получить пользователя информационной базы.

Содержание

  1. Guesto notes
  2. Требование
  3. Реализация требования
  4. Пользователи
  5. Текущий пользователь

Guesto notes

Продолжаем разработку конфигурации Менеджер задач. В прошлой части определились с функционалом и описали справочники для хранения информации. В этой части будем разбираться с пользователями. Планировал разобрать хранение и отображение состояний задач, но логичнее сначала описать пользователей для отображения задач конкретного пользователя.

1C. Разработка конфигурации Менеджер задач. Часть 1
1C. Разработка конфигурации «Менеджер задач». Часть 2. Пользователи.

Требование

Разработать конфигурацию «Менеджер задач»:

3. Предусмотреть возможность работы нескольких пользователей;

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

. О пользователях ИБ можно почитать Синтаксис-помощник в разделе Работа со списком пользователей информационной базы.

На текущий момент будем реализовывать необходимый минимум:

  • Хранение пользователей системы и соответствия с пользователями ИБ;
  • При первом запуске создавать пользователя Администратор и назначать ему полные права;
  • Введение новых пользователей и назначать права через Конфигуратор;
  • При входе в систему инициализировать параметр сеанса ТекущийПользователь.

Создание и изменение пользователей через режим 1С:Предприятие будем разбирать позже.

Реализация требования

Пользователи

Создадим справочник Пользователи с иерархией групп и элементов, длину наименования установим 100. Справочник включим в состав подсистемы Менеджер задач. В синоним стандартного реквизита Наименование установим значение «Полное имя«, в нем будет храниться представление пользователя.

Добавим реквизит ИмяВхода, тип Строка(50) для отображения логина пользователя.

При запуске необходимо определять по текущему пользователю ИБ пользователя нашей системы, для этого воспользуемся свойством УникальныйИдентификатор пользователя ИБ. Создадим реквизит УникальныйИдентифиткатор с типом УникальныйИдентифиткатор, там и будем хранить соответствие.

Сразу набросаем форму

Для разделения пользователей создадим роли:

  • Полные права — Имеет права на все объекты конфигурации;
  • Пользователь — Имеет право запуска клиента, установки параметров сеанса и просмотра НСИ.

Текущий пользователь

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

Как видно из кода, я добавил общий модуль УправлениеПользователями, в котором в функции ПолучитьПользователяСистемы() буду производить определение пользователя системы по переданному пользователю ИБ.

При определении пользователя возможны следующие варианты:

  1. Нет пользователей ИБ, нет пользователей системы. Считаем, что это первый запуск системы, создаем полноправного пользователя Администратор, назначаем его текущим;
  2. Есть пользователь ИБ и пользователь системы, назначаем его текущим;
  3. Есть пользователь ИБ, нет пользователя системы. Запуск после добавления нового пользователя через конфигуратор. Создаем пользователя системы, назначаем его текущим.

Из изложенного выше описываем код общего модуля УправлениеПользователями.

Теперь при запуске в параметрах сеанса будет установлен текущий пользователь.

Разбор требования завершен, в следующей части будем разбираться с хранением и отображением состояния задач.

У текущего пользователя нет доступных ролей для запуска информационной базы 1С — это часто встречающаяся ошибка в системе 1С Предприятие 8. Рассмотрим ситуацию на примере работы с программой Учет в управляющих компаниях ЖКХ, ТСЖ и ЖСК.

По умолчанию, для каждого пользователя должна быть установлена роль — Бухгалтер или Полные права, или Учет в ЖКХ. Бухгалтерия или Учет в ЖКХ — это «базовые» роли, одну из которых необходимо установить для нормального функционирования конфигурации, так как при каждом запуске каждого пользователя система проверяет наличие нужных ролей.

Для исправления ошибки необходимо для пользователя, у которого выходит ошибка, установить необходимые роли:

  1. Зайдите в «Список пользователей» в режиме Конфигуратор через меню АдминистрированиеПользователи. В списке пользователей найдите пользователя:

Для установки роли нажмите (Изменить текущий элемент) и перейдите на вкладку «Прочее» и установите флажки для ролей, которые необходимо установить выбранному пользователю:

Сохраните изменения для пользователя по кнопке ОК.

Занятие 3 81

В режиме «1С:Предприятие»

Запустим «1С:Предприятие» в  режиме отладки и  увидим, что в  нижней части окна приложения отображается панель истории работы пользователя. Нажав на  ссылку в  этой панели, мы можем открыть для редактирования один из последних измененных элементов справочника (рис. 3.34).

Рис. 3.34. Вызов клиентов из панели истории работы пользователя

Теперь уберем отображение этой панели в  режиме 1С:Предприятие, так как постоянно панель истории на  экране нам не нужна, она только будет занимать лишнее место. Для этого выполним команду главного меню приложения Вид Настройка панелей… (рис. 3.35).

В открывшемся окне Редактор панелей перетащим мышью панель истории в  невидимую область, выделенную серым цветом, внизу окна (рис. 3.36).

82 1С:Предприятие 8.3. Практическое пособие разработчика

Рис. 3.35. Вызов настройки расположения панелей прикладного решения

Рис. 3.36. Настройка расположения панелей прикладного решения

Занятие 3 83

Нажмем ОК. В  результате панель станет невидимой в  окне прикладного решения, но она всегда может быть открыта в  виде отдельной формы из панели инструментов при нажатии кнопки .

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

Таким образом, на  примере панели истории мы показали возмож-

ность настройки отображения панелей прикладного

решения

в  режимах Конфигуратор и  1С:Предприятие. При этом

необхо-

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

Справочник с  табличной частью

Теперь мы можем перейти к созданию второго справочника, который будет использоваться в  нашей конфигурации, – справочника

Сотрудники.

Этот справочник будет устроен несколько сложнее, чем справочник Клиенты. Дело в  том, что в  нем мы будем хранить не только фамилию, имя и  отчество сотрудника, но и  информацию о его прошлой трудовой деятельности.

Эта информация однородна по своей структуре (организация, начало, окончание работы, занимаемая должность), но количество предыдущих мест работы у  разных сотрудников может быть различным. Поэтому для хранения такой информации мы будем использовать табличную часть справочника.

В режиме «Конфигуратор»

Добавим новый объект конфигурации Справочник. Назовем его

Сотрудники.

На основании имени платформа автоматически заполнит его синоним.

Зададим Представление объекта как Сотрудник.

84 1С:Предприятие 8.3. Практическое пособие разработчика

Представление списка устанавливать не будем, а Расширенное представление списка зададим как Список сотрудников (рис. 3.37).

Рис. 3.37. Установка основных свойств справочника

Нажмем кнопку Далее и  перейдем на  закладку Подсистемы.

По логике нашей конфигурации список сотрудников должен быть доступен в  разделах Оказание услуг и  Расчет зарплаты. Действи-

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

Поэтому отметим в  списке подсистем Оказание услуг и  Расчет зарплаты (рис. 3.38).

Перейдем на  закладку Данные. Оставим по умолчанию длину и  тип кода, длину наименования справочника зададим равной 50 символам.

Здесь, также как и  для предыдущего справочника, изменим свойство Синоним стандартного реквизита Наименование, так как речь идет о  сотрудниках.

Для этого нажмем внизу окна кнопку Стандартные реквизиты. Выделим в  списке реквизит Наименование и  двойным щелчком мыши откроем его палитру свойств. Установим свойство Синоним

как Ф. И. О. (рис. 3.39).

Занятие 3 85

Рис. 3.38. Определение списка подсистем, в  которых отображается справочник

Рис. 3.39. Установка синонима стандартного реквизита «Наименование»

86 1С:Предприятие 8.3. Практическое пособие разработчика

Табличная часть

Наша задача – создать справочник, имеющий табличную часть. Поэтому добавим в  справочник новую табличную часть с  именем

ТрудоваяДеятельность.

Для этого нажмем кнопку Добавить табличную часть над списком табличных частей справочника (рис. 3.40).

Рис. 3.40. Добавление новой табличной части справочника

Зададим имя табличной части – ТрудоваяДеятельность (рис. 3.41). Создадим реквизиты табличной части ТрудоваяДеятельность.

Для этого нажмем кнопку Добавить реквизит над списком табличных частей справочника (рис. 3.42):

Добавим следующие реквизиты:

Организация – тип Строка, длина 100;НачалоРаботы – тип Дата, состав даты – Дата;

ОкончаниеРаботы – тип Дата, состав даты – Дата;Должность – тип Строка, длина 100.

Занятие 3 87

Рис. 3.41. Добавление новой табличной части справочника

Рис. 3.42. Добавление нового реквизита в  табличную часть справочника

Для реквизитов НачалоРаботы и  ОкончаниеРаботы мы выбрали состав даты – Дата (рис. 3.43), поскольку в  системе «1С:Предприятие» значения типа Дата содержат как дату, так и  время. В  данном случае время начала и  окончания работы нам безразлично.

88 1С:Предприятие 8.3. Практическое пособие разработчика

Рис. 3.43. Свойства реквизита табличной части справочника

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

Для этого откроем окно редактирования объекта конфигурации Под-

система РасчетЗарплаты и  нажмем кнопку Командный интерфейс.

В  открывшемся окне Командный интерфейс отразятся все команды этой подсистемы.

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

Сотрудник: создать.

Также мы видим, что в  группу Панель навигации.Обычное добавилась команда Сотрудники для открытия этого списка. Она включена по  умолчанию (рис. 3.44).

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

На этом создание справочника Сотрудники завершено.

Закроем окно редактирования справочника Сотрудники и  запустим «1С:Предприятие» в  режиме отладки.

Занятие 3 89

Рис. 3.44. Окно настройки командного интерфейса подсистемы

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

В данном случае мы добавили справочник Сотрудники. Нажмем кнопку Принять (рис. 3.45).

Рис. 3.45. Список изменений в  структуре конфигурации

901С:Предприятие 8.3. Практическое пособие разработчика

Врежиме «1С:Предприятие»

Воткрывшемся окне «1С:Предприятия» мы видим, что в  панелях

команд разделов Оказание услуг и  Расчет зарплаты появилась команда Сотрудники для открытия списка сотрудников (рис. 3.46).

Рис. 3.46. Раздел «Расчет зарплаты»

Название этой команды определяется синонимом объекта, так как Представление списка мы для этого справочника не задавали.

Кроме того, в  панели команд раздела Расчет зарплаты появилось подменю Создать, содержащее команду Сотрудник, для создания новых сотрудников (см. рис. 3.46). Название этой команды определяется свойством Представление объекта, которое мы задали для этого справочника.

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

Соседние файлы в папке Учебники

  • #
  • #
  • #
  • #
  • #
  • #

Понравилась статья? Поделить с друзьями:
  • Синьковская участковая больница часы работы
  • Сиреневый бульвар 30 травмпункт часы работы
  • Система быстрых платежей для малого бизнеса
  • Система информации для целей оценки бизнеса
  • Система лояльности для сотрудников компании