Вход на сайт
Логин
Пароль
 
Навигация по сайту
Календарь
«    Июль 2017    »
ПнВтСрЧтПтСбВс
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 

Популярные статьи

Облако тегов

Требуется для просмотраFlash Player 9 или выше.

Показать все теги
Архив статей
Сентябрь 2015 (5)
Август 2015 (10)
Июль 2015 (14)
Июнь 2015 (22)
Май 2015 (8)
Сентябрь 2012 (1)

В сети
Всего на сайте: 1
Гостей: 0
Пользователи: - отсутствуют
Роботы: Arraycrawl Bot
Реклама
Опрос на сайте

1С 7.7 обзор типовых решений
1С 7.7 конфигурирование
1С 8.х обзор типовых решений
1С 8.х конфигурирование
Бест Звит
Законодательные акты


Содержимое сайта (дерево рубрик)
Глава 2. Постановка задачи. Знакомство со справочниками. 1С:Предприятие 8 » Конфигурирование

 

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

 

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

 

1.      Учет товаров на складах

a.     Поступление товаров

b.     Реализация товаров

c.     Оприходование товаров

d.     Списание товаров

 

2.      Ценообразование

 

3.      Взаиморасчеты с покупателями и поставщиками

a.     Покупка

b.     Продажа

c.     Возвраты

 

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

 

Для начала распланируем наши действия:

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

2.      После того как мы определимся с составляющими – мы сможем определиться какие именно объекты мы будем использовать для реализации механизма.

3.      Создаем для себя мини «Техническое решение». Здесь мы сделаем список используемых объектов (на основании первых пунктов) и предварительное описание их назначений.

4.      Приступим к реализации нашего тех. решения, попутно рассматривая особенности каждого из них.

 

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

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

 

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

1.      Складской учет

2.      Ценообразование

3.      Взаиморасчеты

 

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

 

Чтобы добавить подсистему в нашу конфигурацию, мы должны  сделать следующее:

1.      В дереве конфигурации раскрываем ветку «Общие» (жмем на плюс)

2.      Выделяем пункт «Подсистемы» и жмем правой кнопкой.

3.      Жмем на появившемся пункте «Добавить»

 

Глава 2. Постановка задачи. Знакомство со справочниками.

 

 

 

 

При этом будет добавлена новая подсистема в ветку дерева конфигурации и откроется окно свойств (или «палитра  свойств», кому как удобнее) добавленной подсистемы (см. меню справа).

 

Глава 2. Постановка задачи. Знакомство со справочниками.


В свойствах добавленного объекта можно увидеть:

  • Имя – у любого объекта 1С:Предприятие есть имя, оно должно быть уникально в пределах своего действия, не должно начинаться с цифры, не должно иметь пробелов и специальных символов кроме подчеркивания («_»). Уникально в пределах действия означает, что не могут быть названы две подсистемы одинаково или, например, два справочника не могут носить имя «Товар». Но могут быть случаи, когда в системе есть справочники «Контрагент» и «Договоры», при этом у справочника «Договоры» присутствует реквизит с именем «Контрагент», ссылающийся на одноименный справочник – в этом случае уникальность имен соблюдается на уровне области действия (при этом добавить договору еще один реквизит с именем «Контрагент» нельзя).

    Важно: имя объектов используется разработчиками для обращения к свойствам их менеджеров.

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

 

Дадим имя нашей подсистеме «Складской учет», синоним оставим без изменения (по умолчанию платформа 1С:Предприятие разбивает имя на строку с пробелами и таким образом формирует синоним).

 

Поздравляю! Вы только что создали первый объект своей конфигурации!!!

 

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

 

Размышляем вслух, склады – это объекты, которые будут использоваться в любой операции по движению товаров. Это, в свою очередь, означает, что склады будут использоваться постоянно. Так как склады – это статическая информация, имеющая возможность добавляться или изменяться в зависимости от структуры мест хранения у Заказчика, то наиболее подходящим объектом для них будет Справочник. Именно эти объекты метаданных используются для хранения статической информации.

 

Давайте создадим наш первый справочник. Для этого мы выделим ветку дерева конфигурации с именем «Справочники» и добавим новый справочник, так же как и подсистему.

 

Глава 2. Постановка задачи. Знакомство со справочниками.

 


 

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

Для этого необходимо нажать на кнопку закрепления окна:

 

Глава 2. Постановка задачи. Знакомство со справочниками.


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

 

Вернемся к форме свойств справочника. Заметьте, форма состоит из нескольких закладок:

alt

 

 

 

Рассмотрим все закладки по очереди.

 

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

 

Перейдем к закладке «Иерархия».

alt

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

 

Наверняка у Вас возникнет вопрос: «А зачем нужны группы?», ответ довольно прост – группы используются для упорядочивания элементов справочника (конечно же, только там где это нужно). Например, если справочник не иерархический, то в нем можно создавать только элементы, что по сути превращает справочник в обычный список. Примером не иерархического справочника может выступить справочник «Валюты», где нет смысла создавать группы. Иерархический справочник, в свою очередь,  представляет собою дерево.

 

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

 

При включенном флаге «Иерархический справочник» станут доступны свойства:

  • Вид иерархии – свойство, имеющее одно из значений «Иерархия групп и элементов» или «Иерархия элементов». Первый вид позволит создавать группы и элементы, а второй позволит одному элементу быть родителем для другого (без использования групп). Примером иерархии элементов, пожалуй, можно назвать подразделения, где каждый элемент может использоваться сам по себе, но может быть и родителем для подчиненных ему подразделений.
  • Размещать группы сверху – свойство, отвечающее за визуальное построение групп и элементов. Если флаг отмечен, то на любом уровне иерархия будет выстроена таким образом, что сначала будут выведены группы текущего уровня, а затем элементы. При выключенном флаге – группы и элементы будут идти вперемешку (исходя из заданной сортировки справочника). Думаю стоит отметить, что данное свойство имеет смысл только для иерархии групп и элементов.
  • Ограничить уровень иерархии – флаг, который делает доступным ограничение по количеству уровней иерархии. Например, если установить данный флаг и указать количество уровней равным 2, то в данном справочнике можно будет создать группу 1 и указать ее в качестве родителя для группы 2. А вот создать группу 3, родителем которой будет группа 2 не получится – сработает ограничение по уровням иерархии. Поэтому необходимо заранее продумывать глубину вложенности в справочнике или не ставить ограничение совсем.

 

Следующая закладка «Владельцы».

alt

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

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

 

На данной закладке мы указываем владельцев справочника, то есть те справочники, которым будет подчинен текущий. Если указать владельцев, то будет доступно свойство «Использование подчинения», в котором мы укажем правила подчинения, а именно:

  • Элементам -  значит, что элементы текущего справочника будут иметь в качестве владельца ЭЛЕМЕНТ справочника-владельца. При этом указать Группу в качестве владельца нельзя.
  • Группам – то же, что и элементам, но с точностью до наоборот. То есть группу выбрать владельцем можно, элемент – нельзя.
  • Группам и элементам – комбинированный способ, при котором владельцем может быть и группа, и элемент.

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

 

Наш справочник мы оставим без подчинения кому-либо.

 

 

Закладка «Данные».

 

Глава 2. Постановка задачи. Знакомство со справочниками.

 

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

 

Обратите внимание: добавить реквизит справочника с именем «Код» или «Наименование» - невозможно, так как эти имена зарезервированы для обязательных реквизитов объекта.

 

Рассмотрим доступные на этой закладке свойства:

  • Длина кода – устанавливает разрядность кода, то есть его длину. Значение задается с учетом предполагаемого хранения данных в справочнике. Например, для складов длину можно указать 3, потому как врядли в Вашей конфигурации будет использоваться более 1000 складов (да и то, длина кода 3 символа – это большой запас). А вот для товаров необходимо будет указать как минимум 5, потому как товары – это список постоянно обновляющийся и развивающийся.  Максимальная длина кода – 50 символов.
  • Длина наименования – принцип такой же, как и у длины кода, только ограничиваться будет «Наименование». Задавать этот параметр также необходимо с учетом имен Ваших складов. Максимальная длина наименования – 150 символов.
  • Тип кода – в системе 1С:Предприятие имеется возможность разделения кода на два типа: число и строка. Число используется для простых справочников, не зависящих от каких-либо настроек политики учета и организаций. Строка используется в случае необходимости добавления в код нечисловых символов. Пример вида автоматического кода справочника с длиной 3 символа:

o       Строка – 001

o       Число – 1

  • Основное представление – здесь два варианта: в виде кода и в виде наименования. Представление элемента справочника – это как будет выглядеть ссылка на элемент этого справочника в другом объекте. При этом вид элементов в списке будет представлен, так как Вы этого захотите, а вот уже выбранный элемент будет отображаться либо в виде кода, либо в виде наименования. Пример показан на рисунке.

 

Глава 2. Постановка задачи. Знакомство со справочниками.

 

 

  • Реквизиты – окно, в котором отображены существующие реквизиты справочника. Здесь же можно добавить новые. Каждый из реквизитов – это дополнительные данные или свойства элемента справочника. Они могут как влиять на поведение системы, так и просто отображать некую информацию (это зависит от разработчика). Например, для нашего справочника мы добавим реквизит «Ответственное лицо», чтобы иметь возможность указать кладовщика конкретного склада.

 

Для добавления нового реквизита жмем на кнопку «Добавить» в командной панели реквизитов (см. рисунок).

 

Глава 2. Постановка задачи. Знакомство со справочниками.

Обратите внимание на свойства нового реквизита. В них кроме знакомых нам Имени, Синонима и Комментария доступны еще несколько дополнительных свойств, а именно:

  • Использование – свойство, имеющее значения «Для элемента», «Для группы», «Для группы и элемента». Этот пункт определяет правила принадлежности реквизита элементам или группам. То есть, значение «Для элемента» позволит указывать реквизит только элементам справочника и в тоже время запретит указывать значение для группы ЭТОГО ЖЕ справочника; «Для группы», в свою очередь, наоборот запретит указывать значение для элемента справочника и разрешит для группы; «Для группы и элемента» разрешит задавать значение реквизита и для группы, и для элемента. При этом система контролирует также и попытки указания значений программно. Если попытаться установить значение группе с правилом использования «Для элемента» - это приведет к ошибке.
  • Индексировать – может быть указано как «Не индексировать», «Индексировать» и «Индексировать с доп. упорядочиванием». Свойство «Индексировать» позволяет указать системе, что нужно создать дополнительный индекс, содержащий соответствующий реквизит. Кроме значения «Индексировать» для большинства объектов можно установить значение «Индексировать с доп. упорядочиванием». В варианте «Индексировать» строится индекс непосредственно по реквизиту. «Индексировать с доп. упорядочиванием» предназначен, прежде всего, для использования в динамических  списках. Индекс строится по реквизиту, а также по некоторому полю, которое обычно используется для упорядочивания объектов этого типа. При определении значения свойства «Индексировать» следует исходить из того, какие варианты выборки информации необходимо оптимизировать в первую очередь: 
    1. если требуется только поиск с помощью запроса объектов по данному реквизиту без упорядочивания, то «Индексировать», чтобы создаваемый индекс требовал меньше ресурсов системы
    2. если требуется просмотр списка с отбором по реквизиту, то имеет смысл использовать вариант «Индексировать с доп. упорядочиванием»

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

  • Полнотекстовый поиск – может указываться как: «Не использовать» и «Использовать». Если говорить простыми словами, то это включение/выключение текстового представления реквизита справочника в полнотекстовый поиск системы. Подробнее о полнотекстовом поиске мы поговорим позже, потому как эта надстройка никоим образом не влияет на архитектуру нашей системы («кроме как временного торможения работы системы» – прим. автора).

Дальнейшие свойства зависят от типа данных реквизита, в нашем случае тип данных «Строка», поэтому рассмотрим только текущие настройки.

  • Длина – максимальное число символов, которое можно указать в значении реквизита. В отличии от наименования не имеет ограничения по максимальному значению, но увеличение длины приводит к увеличению выделяемой памяти.
  • Допустимая длина – может принимать значения «Переменная» или «Фиксированная». По поводу этого свойства бытует мнение, что переменная длина подразумевает под собою, что 1С:Предприятие для хранения записей текущего реквизита будет выделять необходимый объем памяти для хранения введенной строки и размер этой памяти будет динамически определятся количеством введенных символов в реквизит, а не всех, определенных его длиной. Фиксированная длина, в свою очередь, приведет к выделению памяти, необходимой для хранения максимального количества символов реквизита (в случае, отображенном на рисунке – это 75).

Но, если честно, практика показывает, что 1С:Предприятие не очень оптимально использует память (в некоторых случаях можно сказать и «очень неоптимально использует»), поэтому судить о дополнительных 5-10 кБ памяти при «откушенных» 400 МБ, согласитесь, будет выглядеть как минимум странно.

  • Неограниченная длина – флаг, снимающий ограничение на максимальный размер символов реквизита. Заметьте, что включение этого флага приводит к установке свойства «Допустимая длина» в значение «Переменная».

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

 

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

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

 

 

Закладка «Нумерация» указать правила присвоения новых номеров элементам или группам справочника.

 

Глава 2. Постановка задачи. Знакомство со справочниками.

 

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

  • Автонумерация – включение флага разрешит системе автоматически наращивать КОД элементов справочника. Отключение флага сделает недоступным автоприсвоение кода, и потребует от пользователя ручное указание. Например, при включенной автонумерации система автоматически попытается нарастить код в зависимости от типа кода. В случае числового кода, значение предыдущего кода всегда будет наращиваться на единицу: если последний код был 108, то новому элементу при записи будет присвоен 109 и т.д. В случае строкового кода, будет предпринята попытка преобразовать несимвольную строку к числу, например код 000009 будет приведен к 9, а следующий код примет значение 000010 (заметьте, что полный строковый код будет приведен к длине кода указанного для справочника). Но, как обычно и случается, «не все коту масленица». Бывают и коллизии, то есть ошибки возникающие по вине платформы 1С. Например, для некоторых версий платформ, нумерация кода может «зависнуть» на попытке вычисления строкового кода типа «А99», она будет пытаться привести значении к «А100», но ей попросту не хватит символов, при этом, запись элемента будет надоедать сообщением «Не уникальный код!». Поэтому будьте бдительны при установке данного свойства.

Важно: система не использует «промежуточные коды», а пытается нарастить код. К примеру, последний код справочника 78, новому элементу мы вручную присвоим код 80. Для, снова-таки нового элемента, код будет уж никак не 79, код будет 81.

  • Контроль уникальности – флаг, включающий проверку на существование такого кода при записи элемента или группы справочника. Используется в связке со следующим свойством, а именно правилом серий кодов:

o        во всем справочнике – означает, что код должен быть уникален по всему справочнику.

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

o        в пределах подчинения владельцу – используется для подчиненных справочников. Разрешает один и тот же код для элементов, принадлежащих разным владельцам, но запрещает повторение кода для элементов одного владельца.

 

С нумерацией элементов справочника разобрались, теперь самое интересное – формы справочника. Жмем на закладку «Формы» и приступаем к изучению новых сведений о справочниках.

 

 

Но, автор выдохся и просит у Вас небольшой перерыв.

Еще услышимся, до новых встреч…

 


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

Другие новости по теме:

  • Глава 3. Продолжаем мучить справочники.
  • Поиск и замена дублирующихся объектов конфигурации
  • Конфигурация «УПП для Украины». Управление доступом пользователей часть 3.
  • Основные объекты "1С:Предприятие 8"
  • "Начинаем повествовательный цикл" или "Первый запуск"


  • Copyright © 2009-2017.D&K. Украина онлайн