Реквизит объекта конфигурации справочник это объект

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

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

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

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

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

Простой справочник

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

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

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

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

Откроем в конфигураторе нашу учебную конфигурацию, выделим в дереве объектов конфигурации ветвь Справочники
и нажмем кнопку «Добавить» в командной панели окна конфигурации.

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

Представления объекта конфигурации

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

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

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

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

Представления объекта

Принадлежность объекта к подсистемам

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

В списке подсистем мы видим подсистемы, созданные нами ранее при определении структуры приложения.
Логично предположить, что список клиентов должен быть доступен в разделе Оказание услуг, так
как оказываемые услуги относятся к определенному клиенту. Бухгалтерская отчетность, формируемая
в разделе Бухгалтерия, также может быть представлена в разрезе клиентов. Поэтому отметим в списке подсистемы
Бухгалтерия и ОказаниеУслуг.

Теперь откроем окно редактирования одной из отмеченных подсистем, например Бухгалтерия, и перейдем
на закладку Состав. Мы видим, что в составе объектов этой подсистемы появился новый
объект конфигурации Справочник Клиенты.

Состав подсистем

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

Код и наименование справочника

Теперь вернемся к окну редактирования объекта конфигурации Справочник и нажмем на закладку Данные.

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

Длина кода – 9 символов. В результате мы сможем использовать коды от 1 до 999999999 – этого вполне достаточно
для нашего примера.

Перейдем к длине наименования. 25 символов для нас явно мало, увеличим длину наименования до 50.

Установка длины кода и наименования справочника

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

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

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

В палитре свойств стандартного реквизита Наименование установим свойство Синоним как Ф. И. О.

Палитра свойств стандартного реквизита «Наименование»

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

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

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

Команда добавления нового элемента

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

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

Сделаем доступной в панели команд раздела ОказаниеУслуг стандартную команду для создания новых клиентов.
Для этого откроем окно редактирования объекта конфигурации Подсистема ОказаниеУслуг и нажмем кнопку
Командный интерфейс.

Вызов настройки командного интерфейса подсистемы

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

При создании справочника в группу Панель навигации.Обычное добавилась команда Клиенты для открытия этого
списка. Она включена по умолчанию. В группу Панель действий.Создать добавилась команда Клиент: создать для
создания нового элемента справочника, но она невидима по умолчанию. Включим видимость у этой команды.

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

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

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

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

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

  1. Объект конфигурации «Справочник».

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

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

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

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

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

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

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

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

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

Рисунок
20.3. Имя справочника

9. Создайте
справочник: выберите на дереве
объект Справочник,
нажмите МП,
выберите Добавить,
в поле Имя введите Клиенты,
в поле Синоним введите Клиенты,
выберите Далее,ДалееДалее,
на вкладке Данные выберите Длина
кода — 5, Длина наименования
 — 50,
в се остальные свойства оставьте такими,
как их предлагает система по умолчанию,
нажмитеЗакрыть.

Рисунок
20.4. Реквизиты справочника

10.
Цитата из [RAD80]

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

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

11. Посмотрим,
что создаст система на основе того
объекта конфигурации Справочник, который
мы добавили: выберите Отладка
| Начать отладку
,
на появившийся вопрос:редактируемая
конфигурация отличается от конфигурации
базы данных. Обновить конфигурацию базы
данных?
 выберите Да,
в окне Реорганизация
информации
 выберитеПринять.

Рисунок
20.5. Обновить конфигурацию базы данных

Рисунок
20.6. Реорганизация информации

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

Рисунок
20.7. Выбор объекта Справочник

12. Введите
данные о клиентах: выберите Операции
| Справочники
,
выберите справочник Клиенты,
откроется одна из основных форм
справочника — основную форму списка,
нажмитеInsert,
в поле Код введите
1, в поле Наименование введите Смирнов
Иван Иванович
.

13.
Введите еще двух клиентов: см. 12.

Рисунок
20.8. Добавить новый элемент в Справочник

Рисунок
20.9. Справочник Клиенты

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

Рисунок
20.10. Добавить в справочник новую табличную
часть

14. Создайте
справочник: выберите на дереве
объект Справочник,
нажмите МП, выберите Добавить, в
поле Имя введите Сотрудники, в
поле Синоним введите Сотрудники,,
выберитеДалее,
Далее, Далее, 
на
вкладке Данные выберите Длина
кода — 5, Длина наименования —
50, 
выберите Табличные
части, МП, добавить, 
в
поле Имя введитеТрудоваяДеятельность, нажмите
галочку Сохранить.

Рисунок
20.11. Реквизиты табличной части

15. Создайте
реквизиты табличной части: выберите
табличную часть ТрудоваяДеятельность,
МП, Добавить, 
выберите Реквизит
табличной части
,
в поле Имя введите Организация,в
поле Тип
данных
 — СтрокаДлина — 100,
нажмите галочку Сохранить.

16. Создайте
реквизиты табличной части
ТрудоваяДеятельность: НачалоРаботы —
тип Дача,
состав даты — ДатаОкончаниеРаботы —
тип Дата,
состав даты — ДатаДолжность —
тип Строка,
длина 100:
см. 15.

Рисунок
20.12. Вариант редактирования справочника

17. В
справочнике «Сотрудники» мы выберем
вариант редактирования справочника
обоими способами — как в списке, так и
в диалоге: выберите закладку Формы и
установим переключатель Обоими
способами., и нажмите Закрыть.

18. В
выберите Отладка
| Начать отладку
,
на появившийся вопрос: редактируемая
конфигурация отличается от конфгурации
базы данных. Обновить конфигурацию базы
данных?
 выберите Да,
в окне Реорганизация
информации
 выберите Принять.

19. Введите
данные о сотрудниках: выберите Операции
| Справочники
,
выберите справочник Сотрудники,
нажмите Insert,
в поле Код введите
1, в поле Наименование введитеИванов
Иван Иванович
,
введите данные в столбцы Организация,
Начало работы, Окончание работы,
Должность.

20. Введите
еще двух сотрудников:см. 19.

Рисунок
20.13. Справочник Сотрудники

21. Создайте
иерархический справочник: выберите на
дереве объект Справочник,
нажмите МП, выберите Добавить, в
поле Имя введите Номенклатура
в
поле Синоним введитеНоменклатура
,
 выберите
закладку Иерархия и
установите флаг Иерархический справочник»,нажмите
галочку Сохранить.

Рисунок
20.14. Создание иерархического справочника

22. Создайте
две группы в корне справочника: Материалы и Услуги.

Рисунок
20.15. Группа справочника

23. В
группе Материалы создайте
пять элементов: Строчный
трансформатор Samsаng, Строчный
трансформатор GoldStar, Транзистор Philips 2N2369,
Шланг резиновый, Кабель электрический
 .

Рисунок
20.16. Элементы группы Материалы справочника

24. В
группе Услуги создайте
элементы: Диагностика,
Ремонт отечественного телевизора,
Ремонт импортного телевизора, Подключение
воды, Подключение электричества
 .

Рисунок
20.17. Элементы группы Услуги справочника

25. В
группе Услуги создайте
еще две группы: Телевизоры и Стиральные
машины.

26. Переместить
услуги в соответствующие группы.

27. В
группе Материалы создайте
две группы: Радиодетали и Прочее. В
группу Прочее поместите Кабель
электрический
 и Шланг
резиновый
.
Остальные материалы переместите в
группу Радиодетали.

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

Рисунок
20.18. Предопределенный элемент справочника

28. Создадим
справочник, содержащий предопределенные
элементы: выберите на дереве
объект Справочник ,
нажмите МП, выберите Добавить, в
поле Имя введите Склады
в
полеСиноним введите Склады
,
 выберите
закладку Прочее и
нажмите кнопку Предопределенные.
Система откроет список предопределенных
элементов справочника. Сейчас он пуст,
поэтому выполним команду Действия | Добавить, в
поле Имя введите Основной,
в поле Код —
1, в поле Наименование
— Основной
,
нажмите ОК.

29. Выберите Отладка
| Начать отладку
,
на появившийся вопрос: редактируемая
конфигурация отличается от конфигурации
базы данных. Обновить конфигурацию базы
данных?
 выберите Да,
в окне Реорганизация
информации
 выберите Принять.

30. Введите
данные о сотрудниках: выберите Операции
| Справочники
,
выберите справочник Склады,
нажмите Insert,
в поле Код введите
2, в поле Наименование введитеРозничный.

Рисунок
20.19. Справочник Склады

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]

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

1. Основные виды объектов конфигурации

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

Формально объекты конфигурации объединяются в виды в
дереве конфигурации. Названия видов пользователь видит на первом у
ровне дерева
конфигурации, когда открывает окно
Конфигурация в
конфигураторе.

Рис. 1.
Дерево метаданных

Несмотря
на отсутствие формального определения, названия видов объектов конфигурации
широко используются при работе с системой «1С:Предприятие».

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

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

Ниже
приведена краткая характеристика основных видов объектов конфигурации системы
«1С:Предприятие». Подробная информация об объектах конфигурации, объединяемых в
каждом из этих видов, будет изложена далее.

2. Константы

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

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

3. Справочники

Для работы
с постоянной и условно постоянной информацией с некоторым множеством значений в
системе используются объекты типа
Справочник.

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

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

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

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

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

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

4. Перечисления

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

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

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

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

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

5. Документы

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

В процессе конфигурирования настраивается
произвольное количество видов документов.

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

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

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

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

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

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

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

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

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

6. Журналы документов

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

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

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

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

7. Отчеты и обработки

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

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

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

8. Планы видов характеристик

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

9. Планы видов расчета

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

10. Планы счетов

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

11. Планы обмена

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

12. Бизнес-процессы и задачи

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

13. Регистры

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

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

В системе «1С:Предприятие» существует 4 вида
регистров:

             
регистры
сведений,

             
регистры
накопления,

             
регистры
расчетов,

             
регистры
бухгалтерии.

14. Специализированные объекты конфигурации (ветвь «Общие»)

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

15. Подчиненные группы объектов

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

Реквизиты – дополнительная информация об объекте,
доступная только в пределах этого объекта.

Табличные
части
– наборы дополнительной информации об
объекте, представленной в виде таблицы.

ВНИМАНИЕ! Число
строк одной табличной части не может быть более 100 000.

Реквизиты табличных частей – состав табличной части объекта, доступный
только в пределах табличной части объекта.

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

Команды – используются для выполнения различных
операций с объектом. Команды бывают независимыми и параметризуемыми.

Макеты – табличные, HTML или текстовые документы
(также могут использоваться двоичные и Active-документы), предназначенные для
формирования печатных форм объекта.

Графы – графы журнала документов.

Измерения – для регистров это объекты конфигурации,
данные о которых учитываются в регистре.

Ресурсы – данные, учитываемые в регистре.

Группы подчиненных объектов не удаляются и не
имеют редактируемых свойств.

16. Типизированные и типообразующие объекты

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

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

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

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

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

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

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

  справочники,

  документы,

  планы видов характеристик,

  планы счетов,

  планы видов расчета,

  планы обмена,

  бизнес-процессы,

  задачи,

  перечисления.

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

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

При выборе типа данных реквизита система,
помимо выбора типов, определенных в конкретном прикладном решении,
предоставляет разработчику возможность выбирать наборы типов. Наборами типов,
например, являются
ЛюбаяСсылка, СправочникСсылка, Характеристика.<имя> и др.

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

Например, в прикладном решении имеются
справочники
Номенклатура и Контрагенты. Если определен реквизит составного типа данных, в который входят
типы

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

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

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

Однако набор типов не всегда преобразуется
системой в составной тип данных. Если оказывается, что в набор типов входит
единственный тип значений, то набор типов будет преобразован в этот самый тип
значений. Такая ситуация возможна, например, когда план видов характеристик
(назовем его
Свойства) имеет единственный тип значений в свойстве ТипЗначенияХарактеристик. Тогда набор типов Характеристика.Свойства будет преобразован системой не в составной
тип данных, содержащий один тип значений, а в тот единственный тип значений,
который указан для плана видов характеристик.

Эта особенность может быть важна, когда,
например, выполняется проверка реквизита, тип которого описан как
Характеристика.Свойства, на заполненность. Когда

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

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

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

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

Например:

Запрос = Новый Запрос("ВЫБРАТЬ Ссылка, Наименование Из Справочник.Контрагенты");

//разово выполнили запрос на сервере и переслали результат на компьютер пользователя
Выборка = Запрос.Выполнить().Выбрать();
Выборка.Следующий();

//обратились к результату запроса, который находится в памяти компьютера пользователя
Наименование = Выборка.Наименование;
ИНН = Выборка.Ссылка.ИНН;

//ИНН мы в запросе не считывали, при обращении через ссылку к ИНН фоново генерируется полное считывание объекта справочника по ссылке в локальную память компьютера (бывает краткое, но ИНН не входит в кешируемые поля)

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

Поговорим про особенности работы со значениями в 1С.

Значение 1С — переменные

1. Итак, переменная, это поле, не добавленное в конфигурации, а которое мы определяем прямо в модуле программы 1С (модули 1С).

Под константным значением понимается значение 1С, указанное в коде напрямую. Например:

Переменная1 = 22; //22 – это константа
Переменная2 = "Привет!"; //«Привет» - это константа

2. Переменные в 1С не типизированы. Это значит, что одной и той же переменной можно назначать любые значения. Например:

Переменная = 22;
Переменная = "Привет!"; //назначаем той же переменной новое значение 1С – строку, а не число

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

Перем Переменная1;
Переменная1 = 20;

В 1С это делать можно, но не обязательно. Будет работать и такой способ (обращение и создание сразу):

Переменная1 = 20;

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

//здесь переменной еще нет
Если Чтото = 20 Тогда
      //мы ее создаем только, если Чтото=20
      Переменная1 = 100;
КонецЕсли;

//мы обращаемся в любом случае, даже если Чтото=1 и мы не входили в условие
Если Переменная1 = Неопределено Тогда
     //здесь что-то выполняем

В описанном случае, если мы не попали в первое условие, то переменной как бы нет. На самом деле она есть и равна «Неопределено».

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

Значение 1С — реквизиты объектов 1С

Реквизиты объектов 1С – это поля справочника или документа. Они добавляются и редактируются в конфигураторе в окне конфигурации. Мы уже обсуждали их в уроке про реквизиты 1С.

Реквизиты объектов 1С – типизированы. Это значит, что при добавлении поля Вы явно указываете его тип – строка или число или еще что-то. Значение 1С по умолчанию у такого реквизита будет аналогично выбранному типу (для числа – 0, для строки – пустая строка, для ссылочных типов — справочник, документ и т.п. – пустая ссылка).

Реквизиты могут иметь несколько вариантов типов. В этом случае Вы ставите галочку «Несколько типов» и указываете одновременно варианты. У этого поля по прежнему может быть только одно значение 1С, но вариантов значения теперь больше. По умолчанию у такого реквизита будет значение 1С «Неопределено».

При назначении значения реквизиту производится проверка на соответствие типа. Если тип не соответствует, 1С пытается преобразовать значение 1С (например, число 22 в строку «22»). Если преобразовать не получается, то устанавливается значение 1С по умолчанию.

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

Значение 1С — объект 1С

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

Хранится объект 1С как одна строка в таблице SQL (для шапки) и несколько строк в других таблицах SQL (для каждой табличной части, если таковые есть). Идентифицируется объект 1С по автоматически генерируемому идентификатору – GUID.

Аналог объекта 1С – это экземпляр класса в других языках программирования, со своим конструктором, деструктором, методами и свойствами.

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

Создаем новый объект справочника:

//новый, метод зависит от вида объекта
НоменклатураОбъект = Справочники.Номенклатура.СоздатьЭлемент();

Получение существующего объекта всегда производится из ссылки на него (см. далее). Любым образом получаем ссылку (поиск, выборка, запрос и т.п.), а у ссылки вызываем метод:

//получаем ссылку поиском
НоменклатураСсылка = Справочники.Номенклатура.НайтиПоКоду("111");
НоменклатураОбъект = НоменклатураСсылка.ПолучитьОбъект();

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

//переназначаем полученный/созданный объект другой переменной
Переменная = НоменклатураОбъект;
НоменклатураОбъект.ИНН = "22"; //изменяем поле объекта через одну переменную

Если Переменная.ИНН = "22" Тогда //при обращении через другую переменную мы имеем тот же объект, и у него тоже изменился ИНН
     //здесь что-то делаем..

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

Значение 1С — ссылка 1С

Каждый объект имеет идентификатор (GUID) и он позволяет однозначно найти объект в базе данных (т.е. он уникальный).

Объекты 1С, которые можно найти по идентификатору называют ссылочными типами данных, под ссылкой подразумевая этот уникальный идентификатор. У каждого справочника, документа и т.п. – есть обязательное поле Ссылка.

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

Все механизмы встроенного языка 1С, которые оперируют поиском – возвращают ссылку на найденный объект. Например:

//Поиск элемента справочника стандартным механизмом по коду
НоменклатураСсылка = Справочники.Номенклатура.НайтиПоКоду("111");

//Поиск элемента справочника стандартным механизмом по наименованию
НоменклатураСсылка = Справочники.Номенклатура.НайтиПоНаименованию("111");

//Перебор всех элементов справочника (точнее ссылок на все элементы)
Выборка = Справочники.Номенклатура.Выбрать();
Пока Выборка.Следующий() Цикл
     НоменклатураСсылка = Выборка.Ссылка;
КонецЦикла;

Если элемент справочника не найден – все эти методы возвращают «пустую» ссылку (то есть не указывающую ни на какой элемент). Проверить пустую ссылку можно следующим образом:


Если НоменклатураСсылка.Пустая() Тогда
     //здесь что-то делаем..

Имея во встроенном языке ссылку на объект, Вы можете обратиться к любому полю объекта (т.е. реквизиту) на чтение. Чтобы изменить реквизит – Вам нужно из ссылки получить объект (см. выше). Например:


ИНН = НоменклатураСсылка.ИНН;

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

  • Краткое кеширование (обращение к типовым полям)
    Считываются только типовые поля (код, наименование, номер, дата и т.п.)
  • Полное кеширование (обращение к нетиповым полям)
    Считываются все поля.

Кеширование производится в память компьютера, точнее в ограниченное количество памяти компьютера. Память под кеширование организована в виде очереди и при переполнении затираются считанные ранее элементы.

Загрузка…

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