Как задать синоним стандартного реквизита
Лекция: Справочники
Объект конфигурации Справочник предназначен для работы со списками данных. Как правило, в работе любой фирмы используются списки сотрудников, списки товаров, списки клиентов, поставщиков и т.д. Свойства и структура этих списков описываются в объектах конфигурации Справочник, на основе которых платформа создает в базе данных таблицы для хранения информации из этих справочников. Справочник состоит из элементов. Например, для справочника сотрудников элементом является сотрудник, для справочника товаров – товар и т.д. Пользователь в процессе работы может самостоятельно добавлять новые элементы в справочник: например, добавить новых сотрудников, создать новый товар или внести нового клиента.
В базе данных каждый элемент справочника представляет собой отдельную запись в основной таблице, хранящей информацию из этого справочника.
Каждый элемент справочника, как правило, содержит некоторую дополнительную информацию, которая подробнее описывает этот элемент. Например, все элементы справочника Товары могут содержать дополнительную информацию о производителе, сроке годности и др. Набор такой информации является одинаковым для всех элементов справочника, и для описания такого набора используются реквизиты объекта конфигурации Справочник, которые также, в свою очередь, являются объектами конфигурации.
Для описания подобной информации могут быть использованы табличные части объекта конфигурации Справочник, являющиеся подчиненными ему объектами конфигурации. В этом случае в базе данных будут созданы дополнительные таблицы для хранения табличных частей, подчиненных конкретному элементу справочника
Причем система скрывает от разработчика всю «техническую» часть, связанную с хранением данных: в базе данных для справочника создаются несколько таблиц, эти таблицы связываются по уникальному полю (Ссылка), поля таблиц имеют определенные типы и т.д. Все это система делает сама. Нам лишь нужно добавить в объект конфигурации Справочник подчиненный ему объект ТабличнаяЧасть.
Простой справочник
Теперь, когда мы немного познакомились с возможностями объекта конфигурации Справочник, создадим несколько таких объектов, чтобы описать справочники, которые будут использоваться в нашей базе данных.
Для начала нам понадобится список сотрудников предприятия, которые будут оказывать услуги. Затем нам будет нужен список клиентов, с которыми работает наше предприятие.
После этого нам понадобится перечень услуг, которые может оказывать наше предприятие, и список материалов, которые могут быть израсходованы. Кроме этого, нам потребуется список складов, на которых могут находиться материалы компании.
Начнем с простых вещей – списка сотрудников и списка клиентов. Сначала создадим справочник, в котором будут храниться наименования наших клиентов.
Откроем в конфигураторе нашу учебную конфигурацию, выделим в дереве объектов конфигурации ветвь Справочники и нажмем кнопку “Добавить” в командной панели окна конфигурации.
В открывшемся окне редактирования объекта конфигурации зададим имя справочника – Клиенты. На основании имени платформа автоматически создаст синоним – Клиенты. Напомним, что свойство Синоним служит для представления объекта в интерфейсе нашей программы.
Представления объекта конфигурации
Представление объекта определяет название объекта в единственном числе и используется в названии стандартной команды, например, команды создания объекта – Клиент: создать. Представление объекта нужно задавать тогда, когда синоним объекта конфигурации задан во множественном числе или когда он описывает множество объектов, потому что в интерфейсе автоматически формируются команды открытия списка справочника и команды создания нового элемента справочника.
Если синоним задан во множественном числе, то для команды открытия списка это вполне подходит – Клиенты, то есть посмотреть всех клиентов. Но для команды создания элемента справочника – одного клиента – это неудачный вариант. Для этой команды нужно задать представление в единственном числе – Клиент. Представление объекта как раз и используется для того, чтобы описать, как будет выглядеть в интерфейсе команда добавления нового клиента. Также оно будет использовано в заголовке формы клиента (если не указано расширенное представление объекта) и в представлении ссылки на клиента.
Расширенное представление объекта определяет заголовок формы объекта, например формы для создания нового элемента справочника. Если это свойство не задано, то вместо него используется свойство Представление объекта. Представление списка определяет название списка объектов и используется в названии стандартной команды, например, команды открытия списка объектов – Клиенты. Представление списка нужно задавать тогда, когда синоним задан в единственном числе.
Например, это часто бывает у документов (Приходная накладная). Тогда в представлении списка нужно указывать название объекта конфигурации во множественном числе (Приходные накладные). Расширенное представление списка определяет заголовок формы списка, например формы списка справочника. Если это свойство не задано, то вместо него используется свойство Представление списка. Зададим два свойства Представление объекта – Клиент и Представление списка – Клиенты. Последнее можно было и не задавать, так как синоним справочника совпадает со свойством Представление списка.
Принадлежность объекта к подсистемам
Нажмем кнопку Далее и перейдем на закладку Подсистемы окна редактирования объекта конфигурации Справочник. На этой закладке определяется, в каких подсистемах будет отображаться данный справочник.
В списке подсистем мы видим подсистемы, созданные нами ранее при определении структуры приложения. Логично предположить, что список клиентов должен быть доступен в разделе Оказание услуг, так как оказываемые услуги относятся к определенному клиенту. Бухгалтерская отчетность, формируемая в разделе Бухгалтерия, также может быть представлена в разрезе клиентов. Поэтому отметим в списке подсистемы Бухгалтерия и ОказаниеУслуг.
Теперь откроем окно редактирования одной из отмеченных подсистем, например Бухгалтерия, и перейдем на закладку Состав. Мы видим, что в составе объектов этой подсистемы появился новый объект конфигурации Справочник Клиенты.
Обратите внимание, что на закладке Состав также можно изменять список объектов, входящих в подсистему.
Код и наименование справочника
Теперь вернемся к окну редактирования объекта конфигурации Справочник и нажмем на закладку Данные.
Здесь для нас представляют интерес длина кода и длина наименования. Длина кода – важное свойство справочника. Как правило, код справочника используется для идентификации элементов справочника и содержит уникальные для каждого элемента справочника значения. Платформа может сама контролировать уникальность кодов и поддерживать автоматическую нумерацию элементов справочника. Поэтому от длины кода будет зависеть количество элементов, содержащихся в справочнике.
Длина кода – 9 символов. В результате мы сможем использовать коды от 1 до 999999999 – этого вполне достаточно для нашего примера.
Перейдем к длине наименования. 25 символов для нас явно мало, увеличим длину наименования до 50.
Кроме того, хотелось бы чтобы вместо обозначения стандартного реквизита справочника Наименование в интерфейсе приложения выводилось бы более соответствующее обозначение для клиентов. Так как Наименование более подходит для неодушевленных предметов, а тут мы имеем дело с людьми. Поскольку в интерфейсе приложения отображаются синонимы объектов, то изменим свойство Синоним стандартного реквизита Наименование нашего справочника.
Для этого нажмем внизу окна кнопку Стандартные реквизиты. Выделим в списке реквизит Наименование, вызовем его контекстное меню и выберем пункт Свойства.
В палитре свойств стандартного реквизита Наименование установим свойство Синоним как Ф. И. О.
Обратите внимание, что мы изменили синоним реквизита объекта конфигурации, а не реквизита формы. В данном случае форма элемента справочника Клиенты вообще сгенерирована системой автоматически.
Теперь во всех видах форм данный реквизит будет иметь установленный синоним, если, конечно, разработчик не захочет его изменить при создании своей собственной формы.
Заодно обратите внимание, что свойство Проверка заполнения по умолчанию установлено в значение Выдавать ошибку. Это означает, что если реквизит Наименование не заполнен, то будет выведено сообщение об ошибке.
Команда добавления нового элемента
Прежде чем запускать «1С:Предприятие», настроим интерфейс приложения, чтобы нам было удобнее вводить новые элементы справочника. Дело в том, что для размещения стандартных команд открытия списков и создания новых объектов конфигурации в интерфейсе «1С:Предприятия» существует общий стандартный алгоритм, который мы сейчас объясним на примере справочников. Но это справедливо и для документов, планов счетов и т.п.
Команда для открытия списка справочника, как и команда для создания его новых элементов, автоматически добавляется в интерфейс тех разделов (подсистем), в которых будет отображаться справочник. Но команда создания новых элементов по умолчанию невидима в интерфейсе приложения. Это объясняется тем, что возможность просматривать списки справочника нужна, как правило, всегда. А возможность создания новых элементов справочника используется не так часто. Поэтому соответствующую команду следует включать только для тех справочников (объектов конфигурации), создание новых элементов которых является основной деятельностью для пользователей в данном разделе прикладного решения.
Сделаем доступной в панели команд раздела ОказаниеУслуг стандартную команду для создания новых клиентов. Для этого откроем окно редактирования объекта конфигурации Подсистема ОказаниеУслуг и нажмем кнопку Командный интерфейс.
В открывшемся окне Командный интерфейс отразятся все команды этой подсистемы.
При создании справочника в группу Панель навигации.Обычное добавилась команда Клиенты для открытия этого списка. Она включена по умолчанию. В группу Панель действий.Создать добавилась команда Клиент: создать для создания нового элемента справочника, но она невидима по умолчанию. Включим видимость у этой команды.
Для подсистемы Бухгалтерия команд для создания новых элементов справочника добавлять не будем, так как это определяется прикладной логикой работы.
В данном случае мы предполагаем, что основную ежедневную работу с клиентами ведет менеджер, занимающийся оказанием услуг. В том числе он создает в базе новых клиентов, если они появляются. А бухгалтерия просто обрабатывает имеющиеся в базе данные для получения регламентированной отчетности.
Именно поэтому команду создания нового клиента мы отражаем в разделе Оказание услуг, где работает менеджер, а для бухгалтерии она невидима, так как не предполагается, что бухгалтеры будут вводить новых клиентов.
Однако это не лишает бухгалтера такой возможности – он может создать нового клиента, используя список клиентов (открыть список клиентов и добавить нового клиента). Наличие команды создания нового элемента без использования списка элементов – это вопрос удобства работы, а не ограничения прав пользователя, и мы предоставляем эту удобную возможность менеджеру, а не бухгалтеру.
Закроем окно редактирования справочника Клиенты и запустим «1С:Предприятие» в режиме отладки. Ответим утвердительно на запрос конфигуратора об обновлении конфигурации и увидим окно, содержащее список изменений в структуре конфигурации, автоматически сгенерированный платформой. В данном случае мы добавили справочник Клиенты.
Имя, синоним, комментарий
1.1. Синоним объекта должен быть определен так, чтобы осмысленно, лаконично описывать объект. Заполняется обязательно.
Данное требование продиктовано тем, что синонимы непосредственно участвуют в формировании пользовательского интерфейса (отображаются в формах, отчетах, командном интерфейсе и т.д.) и поэтому должны корректно и одинаково во всех местах пользовательского интерфейса идентифицировать ту сущность, к которой они относятся. Помимо объектов метаданных, требование распостраняется также и на реквизиты объектов метаданных, табличные части, реквизиты табличных частей, измерения регистров, ресурсы и другие объекты конфигурации , у которых имеется синоним.
1.2. Не рекомендуется в синонимах объектов использовать сокращения. Исключением являются только общеупотребительные и соответствующие целевой аудитории сокращения (например, Сумма (регл.) ) и аббревиатуры (например, НДС или МСФО).
1.3. В синонимах объектов и текстовых сообщениях пользователю должны использоваться общепринятые термины, понятные пользователю. Не должно быть сленга, искажения названий продуктов и компаний; англоязычных фраз, записанных русскими буквами; русскоязычных английскими буквами и т.п.
В частности, если для англоязычного термина нет общепринятого перевода на русский язык, то следует использовать оригинальный англоязычный термин.
Например, неправильно: «Загрузка данных из Эксель»;
правильные варианты: «Загрузка данных из Microsoft Excel», «Загрузка данных из программы MS Excel».
1.4. В случае если у объекта метаданных имеются стандартные реквизиты, для них также следует указывать синонимы, исходя из прикладного смысла каждого реквизита.
1.5. При этом для стандартных реквизитов Родитель и Владелец, следует всегда указывать синонимы, отличные от синонимов по умолчанию. Например, в конфигурации имеется справочник Файлы со стандартным реквизитом Владелец типа СправочникСсылка.ПапкиФайлов. В этом случае
неправильно
- оставлять синоним стандартного реквизита Владелец по умолчанию: «Владелец»;
- вложить в синоним прикладной смысл: «Папка» или «Папка с файлом».
Другой пример. В то время как для стандартного реквизита Наименование некоторых справочников может вполне подойти синоним по умолчанию «Наименование», в случае со справочником Файлы целесообразнее назначить синоним «Имя файла», а для справочника ФизическиеЛица – дать синоним «ФИО».
См. также: Пользовательские представления объектов, Тексты
1.6. В случае, когда есть два (или более) объекта метаданных со схожим назначением, необходимо, чтобы синонимы каждого объекта полностью описывали каждый объект.
Например, неправильно давать справочникам следующие синонимы:
- Банковские счета,
- Банковские счета контрагентов
- Банковские счета организаций,
- и Банковские счета контрагентов
Следует называть эти объекты явным образом, чтобы пользователь не задавался вопросом: «Если в справочнике Банковские счета контрагентов хранится информация о счетах контрагентов, то информация о чьих счетах хранится справочнике Банковские счета?»
Это требование справедливо и для синонимов подчиненных объектов метаданных (реквизитов, табличных частей, измерений, ресурсов и пр.).
Пример с реквизитами табличной части «Товары» документа «Пересчет товаров».
Неправильно:
- Количество
- Количество (по учету)
- Количество (в наличии)
- Количество (по учету)
Пример со стандартным реквизитом Наименование и еще одним реквизитом справочника «Номенклатура».
Неправильно:
- Наименование
- Полное наименование
- Рабочее наименование
- Наименование для печати
2.1. Имя объекта рекомендуется строить на основе синонима: пробелы и пр. недопустимые в имени символы, удаляются, а первые буквы слов делаются прописными. Например, правильно, когда:
- у справочника НаборыДополнительныхРеквизитовИСведений задан синоним «Наборы дополнительных реквизитов и сведений»
- у общей команды ПрисоединенныеФайлы – синоним «Присоединенные файлы».
Также допустимы ситуации, когда имя более кратко описывает объект, чем синоним – когда в имени «сокращены» одно или несколько последних «малозначащих» слов из синонима. Например:
- ДлительностьОжиданияСервера – синоним «Длительность ожидания сервера (сек)»
- КоличествоЕдиниц – синоним «Количество единиц измерения»
- Обработки.ГрупповоеИзменениеОбъектов.Операции.ИмяРеквизита – синоним «Имя реквизита (свойство)»
Имя также может не включать союзы и предлоги из текста синонима, например: для реквизита ЗначениеСкидкиНаценки синоним «Значение скидки или наценки».
А также наоборот, допустимы ситуации, когда синоним более кратко описывает объект, чем имя – когда в синониме «сокращены» одно или несколько последних «технических» слов из имени.
Данное требование продиктовано тем соображением, что объекты конфигурации и их представления в пользовательском интерфейсе должны быть максимально легко узнаваемыми, например, на внедрении, которое проводится не самими разработчиками конфигурации, а силами технических специалистов по внедрению.
См. также: Дополнительные требования по именам объектов метаданных в конфигурациях
2.2. Имена объектов метаданных верхнего уровня (справочники, документы и пр.) не должны превышать 128 символов.
2.3. Для подчиненных объектов метаданных, таких как реквизиты, измерения, ресурсы рекомендуется не использовать имена, совпадающие с именами объектов-владельцев. Например, измерение Пользователь (типа СправочникСсылка.Пользователи) регистра сведений ИсполнителиЗадач названо некорректно; правильное название измерения, раскрывающее его смысл: Исполнитель.
2.4. Также рекомендуется не использовать имена, которые применяются при именовании таблиц языка запросов (например, Документ, Справочник, РегистрСведений и т.д.). Такие имена могут приводить к ошибкам при исполнении запроса, затрудняют использование конструктора запроса и снижают наглядность текста запроса. Например, выполнение данного запроса вызывает ошибку:
2.5. Исключение из этого правила составляют объекты метаданных с префиксом Удалить.
3.1. Комментарий задается только в тех случаях, когда необходимо дать участнику разработки конфигурации какие-либо пояснения по данному объекту конфигурации. Например, комментарий к реквизиту справочника может быть таким: “Индексирование поставлено для оптимизации отчетов с отбором по виду контрагента”, или: “Используется в регламентированном учете”.
3.2. Комментарий начинается с прописной буквы, точки ставятся только после сокращений.
4. В именах, синонимах и комментариях не допускается использовать букву “ё”.
Основные объекты конфигурации в 1С
- Дерево объектов конфигурации
- Основные объекты конфигурации
- Константы
- Справочники
- Документы
- Журналы документов
- Перечисления
- Отчеты
- Обработки
- Планы видов характеристик
- Регистры сведений
- Регистры накопления
- Планы счетов
- Регистры бухгалтерии
- Планы видов расчета
- Регистры расчета
- Бизнес-процессы
- Задачи
- Подчиненные объекты
- Реквизиты
- Табличные части
- Формы
- Команды
- Макеты
- Графы
- Измерения
- Ресурсы
- Пример
Дерево объектов конфигурации
После запуска конфигуратора слева можно увидеть дерево объектов конфигурации. Данное дерево также называют дерево метаданных. Конфигурация состоит из объектов конфигурации, таких как справочник, документ, константа и т.п.
У каждого объекта есть свои свойства. Например, у справочника это имя, длина кода, реквизиты, состав подсистем, в которые он входит и т.п. Чтобы открыть свойства справочника нужно дважды щелкнуть по нему в дереве:
Или щелкнуть по нему правой кнопкой мыши и выбрать «Свойства»:
Основные объекты конфигурации
Константы
Константы нужны для хранения постоянной и условно постоянной информации. Например, основная организация, валюта регламентированного учета и т.п.
Справочники
Справочники нужны для хранения некого однородного списка значений. Например, номенклатура, контрагенты. Используются для хранения нормативно-справочной информации.
Документы
Документы нужны для отражения хозяйственных операций организации. Например, приход от поставщика, продажа клиенту, начисление и выплата зарплаты и т.п.
Важное свойство документа — это проведение. Проведенный документ изменяет состояние учета. Например, остаток товара на складе. Непроведенный документ — это просто черновик, который пока никак не влияет на состояние учета.
Журналы документов
Используются для объединения нескольких видов документов в один журнал. Например, журнал «Складские документы», в котором могут быть приходные и расходные накладные.
Перечисления
Это некий постоянный набор значений, который не может быть изменен в процессе работы с базой данных. Состав перечислений задается разработчиком в конфигурации, пользователи могут только выбирать значение из предопределенного списка, создать новые элементы не могут.
Отчеты
Отчеты нужны для вывода информации пользователю в удобном виде. Это может быть отчет по остаткам на складе, отчет по финансовым результатам и т.п.
Обработки
Обработки предназначены для выполнения различных действий с информационной базой, например удаление помеченных объектов, изменение цены во всех строках табличной части документа и т.п.
Планы видов характеристик
Используются для описания множеств однотипных объектов аналитического учета. Например, некие дополнительные свойства для справочника «Номенклатура». Ключевой особенностью является то, что для каждого элемента плана вида характеристик можно указать свой тип данных.
Регистры сведений
Используются для хранения информации, состав которой развернут по определенной комбинации значений. Например, цены на товары. У каждого товара может быть оптовая и розничная цена. Регистр сведений позволяет указать цену в разрезе товара и вида цены (оптовая или розничная).
Регистры накопления
Используются для накопления информации в разрезе измерений, с возможностью получения остатков или оборотов. Например, товары на складах: 2 измерения товар и склад, и числовой ресурс — количество.
Планы счетов
Используются для описания синтетических счетов бухгалтерского учета.
Регистры бухгалтерии
Используются для отражения информации о хозяйственных операциях в бухгалтерском учете.
Планы видов расчета
Описывают множества однотипных объектов механизмов расчета. Например, оклад, премия, прочие виды расчета, которые используются при расчете зарплаты.
Регистры расчета
Используются для накопления информации о периодических расчетах.
Бизнес-процессы
Используются для автоматизации прохождения и контроля цепочек событий. Например, процесс согласования цен, который включает в себя несколько событий: согласование у руководителя отдела, согласование у руководителя предприятия, контроль правильности установки цен.
Задачи
Используются совместно с бизнес-процессами, позволяют вести учет заданий по исполнителям, а также отражают продвижение бизнес-процесса по точкам маршрута.
Подчиненные объекты
У основных объектов могут быть подчиненные объекты:
- Реквизиты
- Табличные части
- Формы
- Команды
- Макеты
- Графы
- Измерения
- Ресурсы
Реквизиты
Реквизиты нужны для хранения информации об объекте. Например у справочника контрагентов могут быть реквизиты ИНН, КПП, ОГРН, адрес, телефон.
Табличные части
Табличные части используются для хранения списка каких-либо объектов в виде таблицы внутри основного объекта. Например, у документа «Приходная накладная» может быть таблица поступившего товара. У этой таблицы могут быть реквизиты: товар, количество, цена, сумма. У таблицы может быть несколько строк для оприходования нескольких товаров.
Формы
Формы используются для ввода и просмотра информации, хранящейся внутри объекта.
Команды
Используются для выполнения различных действий, связанных с объектом. Например, вывод печатной формы документа.
Макеты
Используются для создания печатных форм объекта.
Графы
Это поля журнала документов.
Измерения
Используются для регистров. В разрезе измерений хранятся данные в регистрах.
Ресурсы
Это та информация, которая хранится в регистрах.
Пример
Для примера создадим в конфигурации справочник Товары. Для этого выделим в дереве метаданных узел «Справочники», щелкнем правой кнопкой и выберем «Добавить»
Откроется окно редактирования свойств справочника. Введем имя «Товары», синоним заполнится автоматически. Синоним используется для представления справочника в пользовательском режиме.
Перейдем на закладку «Данные» и добавим несколько реквизитов. При добавлении нового реквизита будет открываться окно редактирования свойств реквизита:
Нас пока интересуют свойства Имя и Тип. Заполним их как на картинке.
Сохраним конфигурацию базы данных, нажав на синий бочонок
И запустим конфигурацию в пользовательском режиме. Найдем наш справочник и создадим новый элемент. Несмотря на то что мы не создавали в конфигурации форму, форма все-таки есть у справочника.
Так происходит, потому что платформа создает основные формы «на лету», если не была явно создана форма в конфигураторе. Это называется механизм основных форм. На такой форме будут все реквизиты и табличные части объекта.
Добавим для справочника новую табличную часть. Для этого выделим узел «Табличные части» у справочника, щелкнем правой кнопкой и выберем «Добавить»:
В открывшемся окне свойств табличной части укажем имя «Поставщики».
Теперь щелкнем правой кнопкой по табличной части и выберем «Добавить -> Реквизит табличной части»:
Добавится новый реквизит табличной части, в окне свойств введем ему имя «Поставщик». Если в свойстве «Тип» нажать на кнопку с тремя точками, то откроется окно редактирования типа данных реквизита. Тут можно выбрать один из примитивных типов или из тех типов, которые были созданы в конфигурации. Например, СправочникСсылка.Товары:
Так как поставщиков лучше тоже хранить в виде справочника, то добавим в конфигурацию новый справочник «Контрагенты» и после этого выберем тип для реквизита «СправочникСсылка.Контрагенты».
В узле «Формы» справочника «Товары» добавим новую форму. Откроется конструктор формы справочника. Оставим в нем все без изменений и нажмем кнопку «Готово»:
Откроется редактор формы. Слева вверху расположены элементы формы, справа — реквизиты формы, команды (кнопки) и параметры, внизу можно увидеть как будет выглядеть форма с текущими настройками:
В списке элементов выделим элемент «Цена» и нажмем кнопку «Delete» чтобы удалить элемент формы. Можно щелкнуть по элементу формы правой кнопкой и выбрать пункт меню «Удалить».
Затем перейдем на закладку «Команды» и, нажав сверху на кнопку с зеленым плюсом, добавим новую команду:
Имя команды оставим без изменений. В свойстве «Действие» нажмем на лупу и в окне создания обработчика выберем переключатель «На клиенте»:
Нажмем «ОК» и мы попадем в модуль формы, где уже будет создана процедура Команда1. Вставим туда следующий код: