Дерево конфигурации
Конфигурация представляется в виде древовидной структуры, каждая ветвь которой описывает определенную составляющую конфигурации. Дерево конфигурации представляет собой иерархический список всех объектов конфигурации. Дерево конфигурации позволяет создавать и удалять объекты конфигурации, менять их порядок, копировать и переносить объекты, фильтровать объекты по подсистемам.
Интерфейсы. Конструктор меню
Интерфейсные механизмы платформы 1С:Предприятие 8.0 предназначены для того, чтобы обеспечить взаимодействие пользователя с прикладным решением.
Рассмотрим интерфейсный механизм "Пользовательские интерфейсы". Платформа 1С:Предприятия 8.0 позволяет создавать пользовательские интерфейсы, которые облегчают работу пользователя. Каждый интерфейс содержит пункты меню и кнопки, с помощью которых пользователь вызывает те или иные функции прикладного решения. В процессе работы он может переключаться интерактивно с одного интерфейса на другой, не покидая прикладного решения.
Переключить интерфейс можно и программно при помощи метода ПереключитьИнтерфейс(<Имена интерфейсов>) КоллекцииЭлементовУправленияИнтерфейсами.
При вызове данного метода сначала становятся невидимыми все интерфейсы, кроме имеющих значение Ложь у свойства Переключаемый, а затем становятся видимыми перечисленные в параметре интерфейсы.
![](image/interfejsy-konstruktor-menju_1.png)
В каркасной конфигурации уже имеется пользовательский интерфейс "ИнтерфейсОсновной". Выделив в дереве объектов конфигурации ветвь "Интерфейсы", выберем из контекстного меню пункт "Добавить". На экран выводится конструктор главного меню.
![](image/interfejsy-konstruktor-menju_2.png)
Конструктор содержит два списка: список подменю и список команд (кнопок) подменю. Первый содержит список подменю, создаваемых по умолчанию. В списке подменю отметим все подменю, а для подменю "Прочие" отметим команду "Переключить интерфейс".
Чтобы расположить кнопки и команды меню в нужном порядке, необходимо использовать кнопки "Переместить вверх" и "Переместить вниз".
По умолчанию списки подменю и команд формируются по всем подсистемам конфигурации. Чтобы сформировать интерфейс для определенной подсистемы, необходимо нажать кнопку "По подсистемам" и указать нужную подсистему, в нашем случае "Бухгалтерский Учет".
![](image/interfejsy-konstruktor-menju_3.png)
Для построения главного меню нажмем кнопку "Построить". На экран выводится окно редактора интерфейсов.
![](image/interfejsy-konstruktor-menju_4.png)
При создании нового интерфейса программа создает панель "Главное меню". В окне редактора панели создаются системные и пользовательские подменю. Системные подменю отмечены подчеркиванием.
Окно состоит из панели инструментов, списка панелей созданного интерфейса (при создании нового интерфейса содержит только главное меню) и редактора панели. Для каждого объекта типа "Интерфейс" можно создать только одно главное меню и неограниченное количество панелей инструментов.
Меню и панели инструментов имеют древовидную структуру. На первом уровне находятся основные подменю.
На последующих уровнях могут располагаться элементы трех типов: Действие, Подменю и Разделитель.
Действие непосредственно связано с выполнением каких-либо действий.
Подменю служит для дополнительной группировки команд и подменю.
Разделитель никакой функциональной нагрузки не несет и служит только для визуальной группировки логически связанных пунктов меню или кнопок панели инструментов. В работающем меню разделитель выглядит как горизонтальная или вертикальная черта между двумя пунктами меню.
Для создания нового подменю необходимо для Главного меню выбрать подменю <Новая>, для панели инструментов - кнопку
![](image/interfejsy-konstruktor-menju_5.png)
На закладке "Конфигурация" выбирается вид действия, выполняемого над объектом конфигурации.
На закладке "Модули" выбирается процедура, расположенная в модуле приложения или общем модуле. В список процедур включаются только те процедуры, которые являются внешними (имеют в заголовке процедуры ключевое слово "Экспорт") и не имеющие формальные параметры.
На закладке "Общие" выбирается стандартное действие, например: сохранение и печать документа, завершение работы программы и т.д.
В интерфейсе "ИнтерфейсПродажи" в подменю "Прочие" подключим процедуру из общего модуля "ОткрытьСписокУслуг".
![](image/interfejsy-konstruktor-menju_6.png)
Языки. Интернационализация
Механизмы интернационализации, заложенные в технологическую платформу 1С:Предприятия, позволяют использовать различные языки как при разработке прикладного решения, так и при работе пользователей прикладного решения. Кроме этого, на уровне технологической платформы поддерживаются национальные стандарты представления дат, чисел и т.д.
Поддержка различных языков в системе 1С:Предприятие возможна благодаря тому, что все тексты конфигурации и базы данных хранятся в формате UNICODE. Этот формат позволяет включать в любую текстовую информацию одновременно символы различных языков. Таким образом, пользователь может вводить данные на различных языках, например, если описание товара или текст договора нужно включить на языке страны-производителя. В этом случае система будет не только корректно отображать такие тексты, но и выполнять по ним поиск и сортировку.
Для основных европейских языков поддерживаются национальные представления дат, чисел, времени, логических констант, а также порядок сортировки текстов. Существует возможность настроить конкретное прикладное решение на использование региональных настроек, которые приняты в странах, говорящих на данном языке. Причем, администратор информационной базы имеет возможность использовать как установки, принятые в операционной системе по умолчанию, так и собственные, отличающиеся от них.
Для вызова режима настройки региональных установок информационной базы необходимо выбрать пункт "Администрирование - Региональные установки ИБ:".
![](image/jazyki-internacionalizacija_1.png)
Если ни одно из свойств не установлено, то язык и форматы отображения чисел, даты и времени будут определяться настройками операционной системы.
В нижней части диалога выводятся примеры отображения числа, даты и времени с выбранными в диалоге установками.
Язык - выбор языка (страны) для данной установки информационной базы.
Разделитель дробной части- символ-разделитель целой и дробной части чисел можно выбрать из выпадающего списка или указать самостоятельно в поле ввода. Пример символа будет выведен в рамке слева от поля ввода.
Разделитель групп - символ-разделитель групп цифр в целой части числа можно выбрать из выпадающего списка или указать самостоятельно в поле ввода. Пример символа будет выведен в рамке слева от поля ввода.
Группировка - свойство задает формат группировки цифр в целой части числа. Форматную строку можно выбрать из выпадающего списка или указать самостоятельно.
Формат группировки указывается следующим образом:
<количество цифр в группе><символ-разделитель>... ...<0>
В качестве символа- разделителя можно использовать любой символ, отличный от цифры.
Ввод одного символа "0" в этом поле означает, что цифры в целой части чисел не будут разделяться на группы.
Представление отрицательных чисел - из выпадающего списка можно выбрать вид отрицательных чисел. Выбор "Авто" означает, что вид отрицательных чисел будет определяться установками операционной системы.
Формат даты - устанавливает формат отображения даты. Можно использовать в различных сочетаниях символы:
d число месяца. Числа меньше 10 выводятся без лидирующего нуля;dd число месяца. Числа меньше 10 выводятся с лидирующим нулем;М номер месяца. Номера месяцев меньше 10 выводятся без лидирующего нуля;MM номер месяца. Номера месяцев меньше 10 выводятся с лидирующим нулем;мммм наименование месяца словами;У две последние цифры года. Года меньше 10 выводятся без лидирующего нуля;УУ две последние цифры года. Года меньше 10 выводятся с лидирующим нулем;УУУУ год четырьмя цифрами.
Формат времени - устанавливает формат отображения времени. Можно использовать в различных сочетаниях символы:
h, H часы в 12-часовом (h) или 24-часовом (Н) формате. Часы меньше 10 выводятся без лидирующего нуля;hh.HH часы в 12-часовом (hh) или 24-часовом (НН) формате. Часы меньше 10 выводятся с лидирующим нулем;m минуты. Минуты меньше 10 выводятся без лидирующего нуля;mm минуты. Минуты меньше 10 выводятся с лидирующим нулем;s секунды. Секунды меньше 10 выводятся без лидирующего нуля;SS секунды. Секунды меньше 10 выводятся с лидирующим нулем.
Логическое ложь, логическое истина. Позволяет указать вид логических констант. Можно выбрать из выпадающего списка, либо ввести самостоятельно.
При разработке прикладных решений активно используется встроенный язык. С его помощью разработчик может описывать собственные алгоритмы функционирования прикладного решения.
Все операторы встроенного языка имеют как русское, так и англоязычное написание, которое можно использовать одновременно в одном исходном тексте. Для этого не требуется изменения каких-либо настроек конфигуратора - система будет правильно воспринимать операторы, написанные на обоих языках:
![](image/jazyki-internacionalizacija_2.png)
Документация и синтакс-помощник содержат англоязычный синтаксис и синонимы для всех конструкций встроенного языка.
Функция встроенного языка НСтр позволяет получить строку на нужном языке или языке, определенном для текущего пользователя прикладного решения из набора строк на разных языках конфигурации. Например, в результате выполнения следующего кода:
// Вставить содержимое обработчика. Сообщить (НСтр("ru=""Добрый вечер!""; еn=""GoodEvening!""","en"));
будет получен такой результат:
![](image/jazyki-internacionalizacija_3.png)
Функция ПредставлениеПериода позволяет формировать внешнее описание периода, заданного датами начала и окончания на одном из языков, для которых поддерживается локализация. Например, в результате выполнения следующего кода:
ТекущаяДата=ТекущаяДата(); НачалоПериода=НачалоМесяца(ТекущаяДата); КонецПериода=КонецМесяца(ТекущаяДата); Сообщить(ПредставлениеПериода(НачалоПериода,КонецПериода,"L=en_US")); Сообщить(ПредставлениеПериода(НачалоПериода,КонецПериода,"L=uk_UA"));
будет получено представление периода на английском и украинском языках:
![](image/jazyki-internacionalizacija_4.png)
Функция ЧислоПрописью позволяет формировать представление числа прописью в соответствии с форматной строкой и на одном из языков, для которых поддерживается локализация. Например, в результате выполнения следующего кода:
Сообщить(ЧислоПрописью(1457.25,"L=en_US","dollar,dollars,cent,cents,2")); Сообщить(ЧислоПрописью(1457.25,"L=uk_UA","гривня,гривнi,гривень,ж,копiка,копiйки,копiйок,ж,2"));
будет получено представление числа на английском и украинском языках:
![](image/jazyki-internacionalizacija_5.png)
Функция Формат формирует удобное для чтения представление значений. Представление может формироваться с учетом стандартного форматирования выбранного языка или страны. Например, булевы, числовые значения и значения типа дата:
Сообщить(Формат(Истина,"L=en_US")); Сообщить(Формат(Истина,"L=uk_UA")+Символы.ПС);
Сообщить(Формат(1475.25,"L=en_US")); Сообщить(Формат(1475.25,"L=ek_UA")+Символы.ПС);
Сообщить(Формат('20010820105635',"L=en_US")); Сообщить(Формат('20010820105635',"L=ek_UA")+Символы.ПС);
будут иметь следующее представление на английском и украинском языках:
![](image/jazyki-internacionalizacija_6.png)
С помощью функции формат представления значений могут быть получены для одной из более чем 80 региональных настроек.
Все доступные коды локализации для преобразования числа в пропись находятся в файле loclinfo.txt, входящем в комплект поставки системы 1С:Предприятие.
![](image/jazyki-internacionalizacija_7.png)
При формировании выходных форм отчетов на основании макетов текстовых и табличных документов разработчик имеет возможность указать язык, на котором должен быть получен соответствующий макет. Этот язык может отличаться от языка, используемого текущим пользователем прикладного решения.
В процессе разработки прикладного решения можно использовать не только русскоязычный интерфейс конфигуратора, но и другие интерфейсы, входящие в поставку 1С:Предприятия. Разработчик может выбрать один из них в качестве интерфейса, используемого по умолчанию, и вести разработку, например, используя английский или украинский интерфейс.
На уровне платформы всегда присутствует "Английский" язык. "Русский" язык интерфейсов идет как дополнительный. Это говорит о том, что разработчик первично закладывал в программу широкую ориентацию, а не только на Российский регион.
На текущий момент поддерживаются дополнительные интерфейсы платформы:
![](image/jazyki-internacionalizacija_8.png)
При установке необходимо выбрать язык интерфейса по умолчанию. В дальнейшем этот параметр можно изменять.
![](image/jazyki-internacionalizacija_9.png)
Все выбранные языки интерфейсов устанавливаются в каталог исполняемого файла. Каталог каждого установленного языка имеет название его представления в виде кода "Русский" - "ru", "Английский" - "en", "Украинский" - "ua" и т.д.
Создание многоязыковых прикладных решений возможно благодаря тому, что существует возможность использования дополнительных локализованных интерфейсов. После установки дополнительных интерфейсов становятся доступны локализованные версии элементов интерфейса 1С:Предприятия 8.0:
системные меню;системные диалоги;системные сообщения;справка.
Для того чтобы помочь разработчику при создании многоязычных прикладных решений, в состав средств разработки "1С:Предприятия" входит средство быстрой локализации, позволяющее находить и группировать все вхождения той или иной строки в конфигурацию и "в одно нажатие" заменить его или добавить ее аналог на другом языке.
Локализация прикладных решений заключается в том, чтобы сформировать строковые значения на языках, указанных на ветви "Общие - Языки" дерева объектов конфигурации, для отображения их в различных местах пользовательского интерфейса.
В каркасной конфигурации созданы языки Русский, Английский. Создадим интерфейс "ИнтерфейсАнглийский" по аналогии с интерфейсом "ИнтерфейсПродажи".
Наиболее сложной задачей, при выполнении локализации, является поиск мест, в которых необходимо ввести текст на требуемом языке. Конфигуратор 1С:Предприятия 8.0 позволяет разработчику выполнять автоматический поиск и редактирование текстов интерфейсов. Выберем пункт "Правка - Редактирование текстов интерфейса".
На экран выводится диалог:
![](image/jazyki-internacionalizacija_10.png)
На закладке "Конфигурации" выбираются объекты конфигурации, в которых требуется осуществить редактирование текстов интерфейса. В список конфигураций будут включены все открытые на текущий момент окна конфигураций. В поле выбора можно выбрать строку "Вся конфигурация" и в этом случае будет сформирован полный список объектов конфигурации, которые содержат интерфейсные свойства. Поиск можно осуществлять только в определенных объектах, если в поле выбора выбрать этот объект.
На закладке "Файлы" можно выбрать текстовые и табличные документы, внешние обработки, расположенные в файлах. Мы эту закладку пропустим.
На закладке "Модули" установим флажок "Искать в функциях "НСтр" ("NStr") в модулях", если требуется определить места использования оператора НСтр() в модулях.
Нажмем кнопку "Искать" и на экран выводится окно:
![](image/jazyki-internacionalizacija_11.png)
Окно содержит табличное поле, в первой колонке которого выводится расположение найденного текста. Другие колонки соответствуют указанным языкам. В табличном поле может быть больше колонок, чем определено языков. Дополнительные колонки появляются в случае, когда в процессе конфигурирования создавались новые объекты "Язык", которые затем либо удалялись, либо у них менялся код языка (при удалении или смене кода языка объектов данного типа Конфигуратор не сбрасывает текст интерфейсов, введенных для этих языков).
Содержимое табличного поля отсортировано по одной из колонок. Для смены сортировки достаточно щелкнуть заголовок колонки. При повторном щелчке заголовка производится смена направления сортировки.
Текст можно также изменить прямо в ячейке, нажав клавишу Enter. Измененный текст показывается красным цветом.
Для быстрого доступа к тексту интерфейса определенного объекта достаточно в колонке "Расположение" дважды щелкнуть мышью нужную строку. На экран выводится форма, в которой данный текст используется. В палитре свойств можно также произвести просмотр и замену найденного текста.
Поддерживается поиск в основной конфигурации, конфигурации базы данных, во вешних и открытых файлах (*.txt;*.mxl;*.epf;*.grs;*.geo;*.cf), в модулях в функциях "НСтр" ("NStr"). Внести изменения в текст интерфейса можно для всех указанных объектов, кроме конфигурации базы данных (только чтение).
На форме справочника "Клиенты" добавим синонимы, заголовки надписей на английском языке.
Константы
Объекты прикладного решения Константа позволяют хранить в информационной базе данные, которые не изменяются во времени, или изменяются очень редко. Каждая константа позволяет хранить одно значение.
В каркасной конфигурации создана константа "НазваниеОрганизации". Добавим новую константу "Руководитель", тип данных "Строка".
Для этого выделим в дереве объектов конфигурации ветвь "Константы" и из контекстного меню выберем пункт "Добавить".
![](image/konstanty_1.png)
Копирование объектов
Для создания нового объекта можно использовать механизм перетаскивания объектов с помощью мыши. При перетаскивании объектов (как в пределах "своей" ветви, так и за ее пределами) создается новый объект. При этом производится проверка возможности использования исходных свойств объекта в результирующем. Если результирующий поддерживает свойства, то они копируются. Пример успешного копирования: перенос реквизитов, макетов справочника в документ.
Если исходный объект содержит подчиненные объекты (реквизиты, формы, макеты и др.), то при перетаскивании на "подобный" уровень (например, перетаскивается объект справочник "Валюты" в ветвь "Документы") скопируются реквизиты, формы, макеты и табличные части. При этом некоторые свойства составных частей могут быть изменены (например, для документа отсутствует свойство "Родитель").
Критерии отбора
Объекты прикладного решения Критерий отбора используются для организации отбора различной информации, хранящейся в информационной базе, по некоторым критериям. В прикладном решении может быть создано любое необходимое количество критериев отбора. В каркасной конфигурации создан критерий отбора "Автор" типа СправочникСсылка.Менеджеры.
![](image/kriterii-otbora_1.png)
Разработчик задает тип используемого критерия и после этого получает возможность выбрать те объекты прикладного решения, которые должны входить в результат отбора.
![](image/kriterii-otbora_2.png)
Результат отбора доступен средствами встроенного языка или может быть отображен в форме самого критерия отбора (пример критерия отбора "Контрагент" типа справочник Контрагенты).
Общие картинки. Коллекции картинок
Конфигуратор позволяет включать в конфигурацию графические изображения - картинки. Картинки можно размещать в некоторых элементах управления, в формах, в макетах, а также обращаться к ним при помощи встроенного языка системы 1С:Предприятие 8.0.
Если картинку планируется использовать в качестве пиктограммы в меню, панели инструментов, табличном документе и т.д., важно задать ей правильный размер, чтобы она отображалась без изменений.
Рекомендуемый размер картинок для пиктограмм - 16х16 точек или меньше.
Если картинку планируется использовать в табличном поле, ее размер не должен превышать 14х14 точек.
Если картинку планируется использовать в кнопке выбора поля редактирования, ее размер не должен превышать 9х9 точек.
![](image/obshhie-kartinki-kollekcii-kartinok_1.png)
Для работы с картинками предназначено окно "Библиотека картинок". Для вызова окна в окне "Конфигурация" укажите ветвь "Общие картинки" и в контекстном меню выберите пункт "Все картинки". На экран выводится окно ведения списка картинок.
![](image/obshhie-kartinki-kollekcii-kartinok_2.png)
Для добавления новой картинки необходимо нажать кнопку "Добавить". Чтобы к картинке можно было обращаться средствами встроенного языка, ей необходимо задать имя.
Вставим картинку "Важно" в "ИнтерфейсОсновной" в отчет "Анализ продаж".
![](image/obshhie-kartinki-kollekcii-kartinok_3.png)
Общие объекты
На ветви конфигурации "Общие" описываются такие объекты, как Подсистемы, Общие модули, Параметры сеанса, Роли, Планы обмена, Критерии отбора, Общие формы, Интерфейсы, Общие макеты, Общие картинки, Стили, Языки.
Эти объекты предназначены для установки правил работы пользователей с данными, для описания вспомогательных объектов, используемых для формирования различных форм, в механизме обмена данными, а также содержат общие модули и макеты, доступные из любого модуля конфигурации.
Окно конфигурации
![](image/okno-konfiguracii_1.png)
Работа с конфигурацией осуществляется в окне "Конфигурация". Для открытия конфигурации необходимо выбрать пункт "Конфигурация - Открыть конфигурацию". На экран выводится окно "Конфигурация". Чтобы увеличить рабочую область для работы с различными объектами, окно "Конфигурация" можно временно закрыть. Закрытие окна "Конфигурация" не означает завершение работы с отдельными ее составляющими, открытыми для редактирования: закрывается не конфигурация, а окно конфигурации. Для открытия окна "Конфигурация" необходимо выбрать пункт "Конфигурация - Окно конфигурации". С помощью контекстного меню окна, вызванного правой кнопкой мыши на шапке конфигурации, окно конфигурации можно сделать прикрепленным, свободным, прячущимся. Если свойство окна "Соединяемые" не активно, то режимы размещения окна "Прикрепленное" и "Прячущееся" не доступны.
Отчеты и обработки
Отчеты и обработки - это не сохраняемые в базе данных объекты, предназначенные для формирования печатных форм или обработки данных в базе данных.
Отчеты и обработки совершенно идентичны по структуре, у них разное назначение:
Отчеты предназначены для вывода информации, формирования различных печатных форм с детальными и сводными данными.
Обработки предназначены для изменения данных в базе данных и выполнения других действий.
Реквизиты отчета (обработки) содержат параметры формирования отчета (выполнения обработки). Эти реквизиты отличаются от реквизитов справочников тем, что они не сохраняются в базе данных. Например.
Табличные части содержат списки параметров для отчета или обработки, обычно состоящие из нескольких колонок.
Экранные формы предназначены для отображения отчета/обработки на экране. Это могут быть и различные дополнительные формы, предназначенные для ввода параметров или отображения результатов.
Макеты являются шаблонами печатных форм, на основе которых формируются выходные формы. Макеты могут быть как у отчетов, так и обработок.
Любой отчет или обработка в составе конфигурации могут быть сохранены как внешние. Внешняя обработка может быть включена в состав конфигурации. Можно сравнить внешние обработки между собой и с отчетами /обработками, включенными в конфигурацию.
Палитра свойств
Процесс редактирования объекта конфигурации заключается в изменении свойств с целью добиться требуемого поведения объекта в процессе использования.
Палитра свойств - это специальное служебное окно, которое позволяет редактировать все существующие свойства объекта конфигурации. Состав свойств зависит от типа редактируемого объекта.
Для вызова палитры свойств укажите объект конфигурации и выберите пункт "Правка - свойства".
Свойства объекта в палитре свойств группируются по категориям.
Панель инструментов палитры свойств состоит из пяти колонок.
![]() | Производит вывод свойств объекта, отсортированных по алфавиту (кнопка "нажата"). Сами категории не показываются | |
![]() | Производит вывод свойств объекта, отсортированных по категориям (кнопка "нажата") | |
![]() | При нажатой кнопке выводятся только важные свойства объекта; при отжатой - все свойства | |
![]() | Отмена изменений в текстовом поле свойств | |
![]() | Записать изменения в текстовое поле свойств |
Категории свойств можно располагать в виде закладок или списком. При расположении свойств списком сами свойства могут располагаться списком по категориям или по алфавиту (при этом наименования категорий не показываются).
Для выбора способа показа категорий (должен быть включен показ категорий - кнопка
![](image/palitra-svojstv_2.png)
![](image/palitra-svojstv_1.png)
![](image/palitra-svojstv_2.png)
![](image/palitra-svojstv_6.png)
Каждое свойство в палитре свойств имеет имя, а также развернутое пояснение. Режим получения развернутого описания устанавливается с помощью контекстного меню, вызываемого в любом свободном месте палитры свойств (вне полей ввода). Если этот режим установлен, то при выборе свойства в нижней части палитры свойств выводится развернутое пояснение.
Перечисления
Перечисление представляет собой служебный тип данных, который не используется самостоятельно, а применяется, в основном, в совокупности с другими типами данных.
Объекты прикладного решения Перечисление позволяют хранить в информационной базе наборы значений, которые не изменяются в процессе работы прикладного решения.
![](image/perechislenija_1.png)
Например, это может быть перечисление методов списания: ФИФО, ЛИФО, ПоСредней.
В прикладном решении может быть создано произвольное количество перечислений.
Для того, чтобы пользователь мог просматривать данные, содержащиеся в перечислении, система поддерживает две формы представления перечисления: форма списка и форма выбора.
Форма списка предназначена для просмотра значений перечисления, а форма выбора представляет значения перечисления в виде, удобном для выбора одного из них.
![](image/perechislenija_2.png)
Выбор перечисления может осуществляться из формы, быстрым выбором, обоими способами.
Планы обмена
Механизмы обмена данными позволяют создавать распределенные информационные системы на основе:
1С:Предприятия 8.0;других информационных систем, не основанных на 1С:Предприятии 8.0.
![](image/plany-obmena_1.png)
Обмен данными в системе 1С:Предприятие 8.0 реализуется благодаря использованию ряда средств технологической платформы, которые разработчик может применять как по отдельности, так и в различных комбинациях, в зависимости от конкретной решаемой задачи. Такой подход позволяет обеспечить гибкость механизмов обмена и их настраиваемость на решение как можно большего круга задач.
В состав средств платформы, используемых для построения схем обмена данными, входят:
объекты прикладного решения План обмена; средства XML-сериализации;средства чтения/записи XML-документов.
При помощи этих средств могут быть реализованы два механизма обмена данными:
универсальный механизм обмена данными;механизм распределенных информационных баз.
Рассмотрим универсальный механизм обмена данными. Данный механизм позволяет создавать произвольные распределенные системы и практически не накладывает никаких ограничений на структуру создаваемой системы.
Этот механизм позволяет переносить только данные 1С:Предприятия; перенос конфигурации и административной информации 1С:Предприятия 8.0 при помощи этого механизма невозможен.
Возможности обмена данными:
обмен данными может быть реализован как с информационными базами 1С:Предприятия, так и с другими информационными системами;организация различных стратегий обмена сообщениями;реализация различных способов разрешения коллизий при одновременном изменении данных в разных узлах распределенной системы;реализация восстановления обмена данными в таких случаях, как восстановление информационных баз из резервных копий и т.д.
Особенности обмена данными:
в качестве формата обмена используются XML документы;при обмене данными между информационными базами 1С:Предприятия 8.0 не накладывается ограничений на идентичность конфигурации и структуры конкретных объектов;в одной конфигурации может быть создано несколько независимых схем обмена с различными информационными системами;при организации схемы обмена не накладывается ограничений на структуру распределенной системы. Может быть организована как классическая структура типа "звезда", так и более сложные многоуровневые структуры типа "снежинка" и другие;
![](image/plany-obmena_2.png)
разработчику прикладного решения предоставляется возможность гибкого управления составом обмена, как с точки зрения структуры передаваемых данных, так и с точки зрения состава передаваемой информации в конкретные узлы обмена;объект базы данных первоначально создается в одном из узлов обмена. Состав передаваемой информации может регулироваться в зависимости от содержимого данных, и не зависит от места первоначального ввода информации.
Планы обмена являются центром, вокруг которого группируются прочие средства обмена данными. При помощи этих объектов описывается:
набор узлов распределенной системы;состав данных, которыми предполагается обмениваться в рамках данного плана обмена.
Кроме этого, планы обмена реализуют работу двух важных механизмов, задействованных при обмене данными:
Служба регистрации изменений.
Позволяет получать информацию о том, какие элементы данных были изменены, и в какой узел обмена их необходимо передать.
Инфраструктура сообщений.
Перенос данных между узлами распределенной системы выполняется с помощью сообщений, которые поддерживаются инфраструктурой сообщений. Каждое сообщение относится к определенному плану обмена, имеет определенный узел-отправитель, узел-получатель и целочисленный номер.
В плане обмена хранится список узлов, - участников обмена в распределенной информационной системе. В качестве узлов могут выступать информационные базы 1С:Предприятия 8.0, информационные базы 1С:Предприятия 7.7 или другие информационные системы, не основанные на 1С:Предприятии.
Для каждого узла можно задать код, наименование и необходимый перечень реквизитов, описывающих узел. Узел может иметь также несколько подчиненных табличных частей для хранения информации, связанной с этим узлом, несколько форм, для отображения информации, содержащейся в плане обмена, и т.д. Например, структура плана обмена УдаленныеСклады может выглядеть следующим образом:
![](image/plany-obmena_3.png)
При создании плана обмена существует возможность указать, будет ли он задействовать механизмы распределенной информационной базы или нет.
В каркасной конфигурации создано два плана обмена: "УдаленныеОфисы" и "Распределенка". У плана обмена "УдаленныеОфисы" флажок "Распределенная информационная база" снят, у "Распределенки" - установлен.
Также в плане обмена указывается состав данных, которыми предполагается вести обмен:
![](image/plany-obmena_4.png)
Для каждого из объектов прикладного решения, которые могут участвовать в обмене, задается режим регистрации их изменений.
Суть регистрации изменений состоит в том, чтобы иметь перечень измененных элементов данных, которые должны быть переданы в очередном сообщении тому или иному узлу, с которым производится обмен данными. При каждом изменении данных регистрируется, что имеются изменения, которые предстоит передать во все узлы, с которыми поддерживается обмен этими данными. При получении подтверждения приема сообщения, в котором были отправлены изменения, записи регистрации изменений должны быть удалены.
Для каждого элемента данных, указанного в составе данных в плане обмена, ведется своя таблица регистрации изменений. Таблицы имеют разную структуру, в зависимости от того, для каких элементов данных регистрируются изменения, но все-таки структуры таблиц подобны. Каждая запись указывает на некоторый элемент данных, некоторый узел и содержит номер сообщения, в котором это изменение передано в первый раз.
При изменении элемента данных его изменение регистрируется для всех узлов, в которые это изменение должно быть передано. Таким образом, в результате изменения элемента данных в таблице регистрации изменений появляется N записей, где N - количество узлов, для которых регистрируются изменения. Каждая из этих записей указывает на одно и то же значение элемента данных и на различные узлы.
Непосредственно после выполнения регистрации изменения, в каждой новой записи изменений номер сообщения имеет значение NULL. При первой отправке изменения в составе сообщения, он заменяется номером сообщения, в котором изменение отправлено.
При описании состава данных в плане обмена, для каждого элемента данных есть возможность указать признак Авторегистрации. Авторегистрацию можно "Разрешить" или "Запретить". Если авторегистрация разрешена, то при изменении данных регистрация изменений будет выполнена автоматически. Если запрещена, то регистрацию изменения можно выполнить "вручную", средствами встроенного языка.
С точки зрения плана обмена, между узлами происходит обмен сообщениями. Каждое сообщение содержит изменения данных, изменения конфигурации (если это распределенная информационная база) и ряд служебной информации. Каждое сообщение точно ассоциировано с планом обмена, имеет уникальный номер и имеет одного отправителя и одного получателя.
Сообщение оформляется как документ XML, имеющий определенную структуру. Инфраструктура сообщений позволяет формировать нужную структуру сообщения, и контролировать ее корректность. В частности, инфраструктура сообщений поддерживает нумерацию сообщений, и позволяет получать подтверждения от узла-получателя о приеме сообщений. Такое подтверждение содержится в каждом сообщении, приходящем от узла-получателя в виде номера последнего принятого сообщения.
Планы видов характеристик
Объект конфигурации План видов характеристик является прикладным объектом и предназначен для описания структуры хранения информации о характеристиках, создаваемых пользователем. План видов характеристик хранит информацию только о том, какими видами характеристик может описываться какой-либо объект базы данных. Эта информация состоит из названия вида характеристики и ее типа. Разработчик и, что самое важное, пользователь могут задать в нем любое необходимое им количество видов характеристик.
Для того чтобы разработчик мог задать некий "набор" возможных типов значений, которые могут принимать виды характеристик, у объекта конфигурации План видов характеристик существует свойство "Тип значения характеристик". Это свойство определяет составной тип данных, в который входят все типы, которые могут понадобиться при указании типа значения характеристики.
Кроме этого может случиться так, что пользователю станет недостаточно тех типов данных, которые существуют в конкретной системе. В этом случае он сможет воспользоваться неким вспомогательным справочником, который разработчик создаст заблаговременно и укажет в качестве свойства объекта конфигурации План видов характеристик - дополнительные значения характеристик.
В качестве примера использования Плана видов характеристик рассмотрим создание дополнительного свойства у клиентов - регион.
Создадим План видов характеристик "СвойстваОбъектов", определим имя и синоним. Остальные свойства укажем позднее. Теперь создадим справочник "ЗначенияСвойств" и подчиним его Плану видов характеристик "СвойстваОбъектов".
![](image/plany-vidov-harakteristik_1.png)
В Плане видов характеристик определим тип значения характеристик как составной тип: Число, Строка, Дата, Булево и СправочникСсылка.ЗначенияСвойств.
У Плана видов характеристик установим дополнительные значения характеристик как справочник "ЗначенияСвойств".
![](image/plany-vidov-harakteristik_2.png)
Теперь необходимо создать регистр сведений, в котором собственно и будет храниться соответствие конкретных значений характеристик некоторому элементу справочника "Клиенты". Создадим регистр сведений "СвойстваКонтрагентов".
![](image/plany-vidov-harakteristik_3.png)
На закладке "Данные" определим измерения и ресурсы регистра сведений.
![](image/plany-vidov-harakteristik_4.png)
Измерение "Позиция" - тип значения СправочникСсылка.Клиенты, измерение "Свойство" - тип значения ПланВидовХарактеристикСсылка.СвойстваОбъектов, ресурс "Значение" - тип значения Характеристика.СвойстваОбъектов.
На форме элемента справочника "Клиенты" выведем табличное поле "Свойства" с данными, тип значения которых РегистрСведенийСписок.СвойстваКонтрагентов.
![](image/plany-vidov-harakteristik_5.png)
В поле ввода "Значение" установим связь по типу:
![](image/plany-vidov-harakteristik_6.png)
В модуле формы в процедуре ПриОкрытии() пропишем код:
Свойства.Отбор.Позиция.Использование = Истина; Свойства.Отбор.Позиция.Значение = Ссылка;
В результате всех этих действий имеем:
![](image/plany-vidov-harakteristik_7.png)
Подсистемы. Отбор объектов конфигурации
На ветви "Подсистемы" располагаются объекты, с помощью которых описываются различные виды деятельности. Свойство "Подсистемы" имеют практически все объекты конфигурации (в том числе картинки, общие формы, стили и элементы стилей и т.д.).
На структуру объектов ветви "Подсистемы" не накладывается никаких ограничений по числу и вложенности. Использование объектов конфигурации типа "Подсистемы" происходит в основном на этапе конфигурирования. В нашей каркасной конфигурации уже создано две подсистемы: УправленческийУчет и БухгалтерскийУчет.
![](image/podsistemy-otbor-obektov-konfiguracii_1.png)
Для просмотра объектов конфигурации, относящихся к определенному набору подсистем, в окне "Конфигурация" можно произвести настройку фильтра отбора объектов. Выберите пункт "Действия - По подсистемам" окна "Конфигурация" и укажите необходимый набор подсистем, а также установите дополнительные признаки отбора "Включать объекты подчиненных подсистем" и "Включать объекты родительских подсистем". Имеется и другая возможность, для этого необходимо установить курсор в корень дерева объектов конфигурации и из контекстного меню правой кнопкой мыши выбрать пункт "Дополнительно". В появившемся окне перейдите на закладку "Подсистемы". Теперь, при перемещении по дереву конфигурации, в окне будет отображаться состав подсистем, в которые входит выделенный объект.
Принадлежность объектов конфигурации к определенной подсистеме позволяет легко создавать пользовательские интерфейсы.
Поиск ссылок на объект конфигурации
С точки зрения взаимосвязи объекты конфигурации делятся на несвязанные (например, реквизит "Закупочная цена", имеющий тип "Число") и связанные (например, реквизит "Единица измерения" справочника "Номенклатура", ссылающийся на справочник "Единицы измерения").
Часто бывает необходимо знать, какие объекты ссылаются на данный объект, а также выяснить, какие объекты связаны с данным объектом. Для этих целей используются команды "Действия - Поиск ссылок на объект" и "Действия - Поиск ссылок в объекте" окна "Конфигурация".
![](image/poisk-ssylok-na-obekt-konfiguracii_1.png)
На экран выводится диалог, в котором нужно указать область поиска и нажать кнопку "ОК". Если ссылки есть, то при выполнении команды в окно сообщений выводится список ссылок.
Команда "Действия - поиск ссылок в объекте" удобна в случае, когда объект имеет составной тип.
Для перехода по ссылке необходимо дважды щелкнуть мышью соответствующую строку с наименованием объекта - ссылки в окне сообщений.
Последовательности документов
Последовательности документов предназначены для обеспечения контроля правильности изменений, внесенных документами в учетные данные. Кроме этого последовательности, в случае необходимости, позволяют восстанавливать правильную картину изменений.
Алгоритм проведения документа, как правило, отражает в учете данные, содержащиеся в самом документе. Однако в некоторых случаях алгоритм проведения документа анализирует также и текущие итоги, используя их при проведении. Например, если документ списывает товары или материалы по средней себестоимости, то для определения суммы списания алгоритм проведения будет анализировать остатки товаров в количественном и суммовом выражении на момент списания.
Допустим, приходной накладной было оприходовано 10 единиц товара по 26 рублей. Тогда остаток товара на предприятии в суммовом выражении будет равен 260 рублей. После этого весь товар был отправлен клиенту. При проведении расходной накладной были проанализированы остатки этого товара и рассчитано, что средняя себестоимость единицы товара равна 26 рублям. В результате этих действий остаток товара на предприятии как в суммовом, так и в количественном выражении равен нулю:
![](image/posledovatelnosti-dokumentov_1.png)
Через несколько дней после этого была обнаружена ошибка в приходной накладной: оказывается, себестоимость единицы товара равна не 26, а 20 рублям. В приходную накладную были внесены соответствующие изменения, и она была заново проведена. В результате оказалось, что данные в системе учета не верны, поскольку все последующие документы по-прежнему вносят изменения, исходя из старой себестоимости товара, и "не знают" о том, что она изменилась:
![](image/posledovatelnosti-dokumentov_2.png)
Для того чтобы не возникало такой ситуации, эти два документа можно объединить в одну последовательность. Тогда, в случае изменения приходной накладной, система автоматически определит, что последовательность документов нарушена и сможет перепровести все последующие документы, которые могут зависеть от результатов проведения приходной накладной. Другими словами, расходная накладная будет проведена заново и, при анализе остатков товара, будет получена новая себестоимость (20 рублей) по которой и будет списан товар.
В каркасной конфигурации создана последовательность "Последовательность учета материалов", к которой относятся документы "Поступление материалов" и "Акт об оказании услуг". Для свойства "Перемещение границы при проведении" указано значение "Перемещать". Это означает, что документ, зарегистрированный в данной последовательности, при своем проведении будет пытаться переместить границу этой последовательности документов. Если для свойства указано значение "Не перемещать", то документ не будет перемещать границу этой последовательности документов при проведении.
![](image/posledovatelnosti-dokumentov_3.png)
Свойство "Движения, влияющие на последовательность" определяет, какие из движений будут влиять на необходимость перепроведения документов данной последовательности, то есть движения или итоги каких механизмов учета используются документами данной последовательности при проведении. Например, в качестве таких движений могут выступать движения регистров.
Последовательности могут иметь подчиненные объекты, называемые измерениями, которые создаются на закладке "Данные" окна редактирования.
У нас создано измерение "Материал", которое соответствует реквизитам "Материал" табличных частей документов, входящих в последовательность.
![](image/posledovatelnosti-dokumentov_4.png)
При работе в режиме "1С:Предприятие" для каждой введенной в конфигурации последовательности документов система будет автоматически поддерживать границу последовательности. В качестве границы последовательности будет выступать позиция документа. При последовательном проведении документов, входящих в данную последовательность, граница последовательности будет устанавливаться на каждый вновь проведенный документ. Однако, если будет проводиться документ, относящийся к данной последовательности, но расположенный позже другого проведенного документа, относящегося к той же последовательности, то граница последовательности сдвигаться не будет, так как нарушается последовательность проведения документов.
При проведении документов задним числом, а также отмене проведения или удалении документов, если удаляются или записываются движения регистров, указанным как влияющие на данную последовательность, граница последовательности отдвигается на момент измененного документа.
Важно! Таким образом, граница последовательности будет продвигаться вперед при последовательном проведении относящихся к данной последовательности документов и будет отдвигаться назад при изменении задним числом относящихся к данной последовательности движений регистров.
В режиме перепроведения документов (выполняется выбором пункта "Операции - Проведение документов") существует специальная возможность восстановления последовательности проведения документов. При ее использовании система автоматически выполняет перепроведение всех документов (режим проведения - неоперативный), относящихся к данной последовательности от границы последовательности до указанного момента.
Регистры сведений
Регистр сведений является прикладным объектом и предназначен для хранения информации, развернутой по комбинации измерений.
В базе данных часто требуется хранить не только текущие сведения, а "помнить" историю изменения значений. Для решения подобных задач создается периодический регистр сведений. Система автоматически добавляет в периодический регистр сведений системное измерение "Период" типа "Дата", что позволяет получать не только текущие сведения об объекте, но также и сведения на определенный момент времени.
Тип хранимой информации в ресурсах регистра сведений может быть как один из примитивных типов данных (число, строка, дата, булево), так и ссылка на объект базы данных (элемент справочника, документ, значение перечисления и т.д.), а также ХранилищеЗначений и составной тип данных.
Регистр сведений хранит информацию по комбинации измерений, причем каждая запись однозначно определяется комбинацией измерений. Если в регистр добавить запись с точно такими же измерениями, как уже существующая, то новая запись перезапишет прежнюю, или будет выдано сообщение об ошибке, в зависимости от варианта записи.
Некоторые измерения регистра можно назначить ведущими, что возможно только для измерений, которые являются ссылками на объекты базы данных. Это нужно сделать, если записи регистра не имеют смысла без данного объекта. Тогда удаление объекта базы данных приведет к автоматическому удалению записи регистра сведений, ссылающихся на этот объект.
Порядок расстановки измерений регистра сведений имеет важное значение. Измерения, к которым необходим быстрый доступ, следует располагать в начале списка измерений.
При создании регистра сведений, кроме измерений и ресурсов, можно определить реквизиты регистра. Реквизиты содержат сопроводительную информацию для каждой записи регистра.
В качестве практического задания для хранения истории цен реализации, необходимо разработать регистр сведений, позволяющий хранить периодическую информацию.
![](image/registry-svedenij_1.png)
Для создания нового регистра сведений, используйте пункт меню "Добавить", вызываемый правой кнопкой мыши на дереве "Регистры сведений".
Введите имя и синоним (пользовательское представление) регистра сведений. А также укажите периодичность и режим записи.
На закладке "Данные" определите состав измерений и ресурсов регистра сведений. Нам будет необходимо одно измерение "Материал" типа "СправочникСсылка.Материалы" и один ресурс "Цена" типа Число формата 12.2.
![](image/registry-svedenij_2.png)
Создадим форму списка для данного регистра.
Теперь вернемся к нашему ранее созданному документу "Приказ об изменении цен" и на закладке движения выберем регистр сведений "ЦеныРеализации".
![](image/registry-svedenij_3.png)
С помощью конструктора движений, построим процедуру обработки проведения.
![](image/registry-svedenij_4.png)
После окончания работы конструктора, вы увидите следующий, сформированный конструктором, код модуля обработки проведения документа:
Процедура ОбработкаПроведения(Отказ, Режим) //{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ // Данный фрагмент построен конструктором. // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!! Для Каждого ТекСтрокаМатериалы Из Материалы Цикл // регистр ПродажныеЦены Движение = Движения.ПродажныеЦены.Добавить(); Движение.Период = Дата; Движение.Материал = ТекСтрокаМатериалы.Материал; Движение.Цена = ТекСтрокаМатериалы.Цена; КонецЦикла; // записываем движения регистров Движения.ПродажныеЦены.Записать(); //}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ КонецПроцедуры
Роли. Конструктор ограничения доступа к данным
Роли в системе 1С:Предприятие определяют полномочия пользователей на работу с информацией, которая обрабатывается в системе. Совокупность предоставляемых пользователю полномочий определяется, как правило, кругом его обязанностей.
В процессе создания конфигурации создается необходимое число типовых Ролей, описывающих полномочия различных категорий пользователей на доступ к информации, обрабатываемой системой. Роли могут быть заданы в достаточно широких пределах - от возможности только просмотра ограниченного числа видов документов до полного набора прав по вводу, просмотру, корректировке и удалению любых видов данных.
В каркасной конфигурации создана роль "Администратор", добавим роль "Менеджер". Выделив в дереве объектов конфигурации ветвь Роли, из контекстного меню выбираем пункт "Добавить" и создаем роль "Менеджер", при этом открывается окно настройки прав данной роли.
![](image/roli-konstruktor-ogranichenija-dostupa-k-dannym_1.png)
В левой части окна редактирования прав выводится дерево объектов конфигурации по всем подсистемам. Выполним команду "Действия - Установить по подсистемам" и выберем подсистему "БухгалтерскийУчет". В результате будут установлены все права на объекты конфигурации, относящиеся к данной подсистеме. Выделив объект конфигурации в левой части, в правой имеем список прав по выбранному объекту. Если для действия установлен флажок, то оно разрешено.
Все права, поддерживаемые системой 1С:Предприятие, можно разделить на две большие группы: основные и интерактивные. Основные права описывают действия, выполняемые над элементами данных системы или над всей системой в целом, и проверяются всегда, независимо от способа обращения к данным. Интерактивные права описывают действия, которые могут быть выполнены пользователем интерактивно. Соответственно проверяются они только при выполнении интерактивных операций стандартными способами, причем в клиент-серверном варианте все проверки прав (кроме интерактивных) выполняются на сервере.
Основные и интерактивные права взаимосвязаны. Например, существует основное право Удаление, которому соответствуют два интерактивных права: Интерактивное удаление и Интерактивное удаление помеченных. Если пользователю запрещено Удаление, то и все интерактивные "удаления" также будут запрещены для него. В то же время, если пользователю разрешено Интерактивное удаление помеченных, это значит, что Удаление ему также разрешается.
Кроме того, основные права могут зависеть друг от друга. В результате образуются довольно сложные цепочки взаимосвязей, которые отслеживаются системой автоматически: как только разработчик снимает разрешение на какое-либо право, система сама снимает разрешения на все права, которые зависят от этого права. И наоборот, при установке какого-либо права разработчиком, система сама устанавливает все права, от которых это право зависит.
Например, для того, чтобы пользователь имел право интерактивного удаления помеченных, ему необходимо обладать правом просмотра и правом удаления. А право удаления, в свою очередь, подразумевает наличие права на чтение:
![](image/roli-konstruktor-ogranichenija-dostupa-k-dannym_2.png)
Пользователю может быть назначено несколько ролей. В этом случае алгоритм предоставления доступа по каждому объекту и виду права доступа будет работать следующим образом:
Если хотя бы в одной роли есть разрешение, то доступ будет открыт;Если во всех ролях есть запрещение, то доступ будет закрыт.
Каждую роль можно распечатать в табличный или текстовый документ с помощью пункта "Действия - Вывести список".
![](image/roli-konstruktor-ogranichenija-dostupa-k-dannym_3.png)
Среди действий над объектами, хранящимися в базе данных (справочниками, документами и т.д.), есть действия, отвечающие за чтение или изменение информации, хранящейся в базе данных. К таким действиям относятся:
чтение - получение записей или их фрагментов из таблицы базы данных;добавление - добавление новых записей без изменения существующих;изменение - изменение существующих записей;удаление - удаление некоторых записей без внесения изменений в оставшиеся.
Для этих действий в процессе настройки ролей могут быть заданы дополнительные условия на данные (ограничение доступа к данным). В этом случае над конкретным объектом, хранимым в базе данных, может быть выполнено запрошенное действие только в том случае, если ограничение доступа к данным для данных этого объекта принимает значение "истина". Аналогичные условия могут быть заданы и для таблиц базы данных, не имеющих объектной природы (регистров).
Для объектных таблиц и регистров сведений могут быть заданы разные ограничения для различных полей таблицы, что позволяет определять ограничения не только на уровне записей базы данных, но и на уровне отдельных ее полей:
![](image/roli-konstruktor-ogranichenija-dostupa-k-dannym_4.png)
Ограничение доступа к данным представляет собой условие, описанное на языке, который является подмножеством языка запросов. Это условие применяется для каждой записи таблицы базы данных, над которой выполняется операция. Если условие принимает значение "истина", то операция выполняется, а если нет, то не выполняется. При просмотре списков и формировании отчетов существует возможность обеспечить отображение только тех данных, доступ к которым пользователю разрешен.
Для регистров накопления, бухгалтерского учета и расчета условия позволяют разграничить доступ по значениям измерений (для регистров бухгалтерского учета по балансовым измерениям), а для объектных данных и регистров сведений условия позволяют разграничивать доступ к данным по любым полям.
Ведение списка ограничений производится в табличном поле "Ограничение доступа к данным". Список состоит из двух колонок. В первой указывается поле или "Прочие поля", а во второй - условия ограничения.
Для права "Чтение" допускается установка нескольких (по числу полей) ограничений. Для остальных - только одного условия.
![](image/roli-konstruktor-ogranichenija-dostupa-k-dannym_5.png)
Для каждого ограничения по праву "Чтение" допускается выбор поля. Выбор поля означает, что в выборке запроса будут присутствовать только данные, в которых по указанному полю будет удовлетворяться условие (проверка производится только по данному полю).
"Прочие поля" означает, что проверка выполнения условия будет производиться по каждому полю, и, если условие выполняется, данные выбираются.
Условие ограничения можно ввести вручную или создать с помощью конструктора ограничения доступа к данным. Для вызова конструктора в табличном поле "Ограничение доступа к данным" в колонке "Ограничение доступа" перейдите в режим редактирования и нажмите кнопку выбора.
На экран выводится форма конструктора:
![](image/roli-konstruktor-ogranichenija-dostupa-k-dannym_6.png)
По своей сути конструктор ограничений доступа к данным представляет собой упрощенный конструктор запросов. Он позволяет выбрать нужные таблицы и поля, задать условия связи между полями таблиц и условия на отбор исходных данных.
Параметры сеанса представляют собой объекты прикладного решения, которые предназначены для использования в ограничениях доступа к данным для текущего сеанса (но могут применяться и для других целей). Их значения сохраняются в течение данного сеанса 1С:Предприятия. Использование параметров сеанса позволяет снизить время доступа к данным при ограничении доступа на уровне записей и полей. В каркасной конфигурации создан параметр сеанса "ТекущийИсполнитель".
![](image/roli-konstruktor-ogranichenija-dostupa-k-dannym_7.png)
Существует возможность назначения привилегированных модулей. В такие модули могут быть перенесены операции, использующие данные, на которые у текущего пользователя нет прав и операции, на выполнение которых у пользователя также нет прав.
Например, пользователю могут быть назначены права, позволяющие создавать новый документ. Однако никаких прав на регистр, в котором этот документ создает движения при проведении, пользователю не дано. В такой ситуации процедура проведения документа может быть вынесена в привилегированный модуль, который выполняется на сервере без проверки прав. В результате, несмотря на то, что соответствующий регистр для пользователя недоступен, пользователь все же сможет проводить созданные им документы.
Сортировка объектов
При работе с деревом конфигурации объекты конфигурации в пределах "своей" группы объектов можно расставить в требуемом порядке. В таком же порядке объекты конфигурации будут выдаваться в различных списках.
Для перестановки объекта конфигурации необходимо выделить его в окне "Конфигурация" и использовать пункты меню "Действия - Переместить вверх" или "Действия - Переместить вниз", а также "Действия - Упорядочить список".
Для удобства поиска в дереве конфигурации объекта, редактируемого в данный момент, используйте пункт меню "Правка - Найти в дереве".
Используя настройку сортировки, за один раз можно отсортировать однотипные объекты конфигурации, подчиненные одному объекту конфигурации.
![](image/sortirovka-obektov_1.png)
Выделив объект конфигурации, из контекстного меню выбираем пункт "Сортировать".
Выбираем свойство, по которому будет выполняться сортировка:
имя; синоним;комментарий.
Выбираем направление сортировки:
по возрастанию;по убыванию.
Создание объектов
Для создания нового объекта конфигурации необходимо выполнить следующие действия:
![](image/sozdanie-obektov_1.png)
в дереве конфигурации выделить наименование типа объекта конфигурации или любого из существующих объектов конфигурации того типа, который должен быть у создаваемого объекта;выбрать пункт "Действия - Добавить" окна "Конфигурация" или в дереве конфигурации выделить наименование типа объекта конфигурации;выбрать пункт "Добавить" в контекстном меню.
Создание нового подчиненного объекта можно также производить следующим образом:
открыть окно редактирования объекта (пункт "Действия - Изменить" окна "Конфигурация");указать нужный вид подчиненного объекта;нажать кнопку "Добавить".
В результате этих действия на текущей ветви дерева конфигурации появится новый объект, а на экран для редактирования свойств этого объекта будет автоматически вызвана палитра свойств.
Список документов
Для просмотра документов одного вида используется форма списка. Она позволяет выполнять навигацию по списку документов, задавать временной интервал отображаемых документов, добавлять, помечать на удаление и удалять документы. Форма списка позволяет выполнять сортировку и отбор отображаемой информации по нескольким критериям.
![](image/spisok-dokumentov_1.png)
В каркасной конфигурации создана форма списка документов "Поступление материалов".
Справочники
Справочники используются в основном для хранения списков условно-постоянной информации. Такой как: списки товаров и материалов, сотрудников, контрагентов организации и т.д.
У справочника может быть любое количество табличных частей. Табличные части справочника должны отражать хранение информации, связанной с данным элементом, но не имеющей собственной объектной сущности.
Справочники могут быть иерархическими с неограниченной иерархией или можно ограничить иерархию в пределах до 10. В иерархическом справочнике можно установить родителем не только группу, но и элемент: через поле "Вид иерархии" - Иерархия элементов.
У справочника может быть любое количество форм. Например, у справочника может быть несколько форм списка, но только одна из них может быть назначена в качестве основной.
Максимальная длина кода справочника равна 50 символов. Максимальная длина наименования справочника равна 150 символов.
Справочник может быть подчинен не только другим справочникам, но также планам видов характеристик и планам счетов, в том числе и нескольким объектам одновременно.
У групп справочника-владельца тоже могут быть подчиненные элементы в других справочниках. Эта возможность включается в свойствах справочника.
Реквизиты справочника могут принимать следующие типы данных: примитивные, ссылочные, составной тип данных и ХранилищеЗначения.
Удаление элемента справочника производится методом Удалить() объекта СправочникОбъект.
Следует различать пометку на удаление и непосредственное удаление объекта. При установке пометки на удаление, элемент (группа) остается в справочнике, но отображается с особым значком. Он также участвует в переборе и в общем случае виден пользователю. Окончательное удаление элемента справочника можно произвести через команду меню "Операции - Удаление помеченных объектов".
В каркасной конфигурации создадим справочник "Подразделения", в котором будет храниться информация обо всех структурных подразделениях нашей организации. Для создания нового справочника выберите пункт "Добавить", вызываемый правой кнопкой мыши на наименовании ветви дерева метаданных "Справочники".
![](image/spravochniki_1.png)
Укажем идентификатор справочника и синоним (пользовательское представление) справочника. В нашем примере "Комментарий" можно пропустить, но желательно указывать при неоднозначности или сокращении синонима. Комментарий пользователю не виден.
На закладке "Иерархия" установим признак использования иерархического справочника и укажем требуемый вид иерархии:
![](image/spravochniki_2.png)
На закладке "Владельцы" определяется состав владельцев элементов справочника. Но для справочника "Подразделения" владельцев не существует.
![](image/spravochniki_3.png)
Как правило, справочники имеют предопределенные реквизиты код и наименование, при этом код может иметь тип число или строка.
На закладке "Данные" определим тип, длину кода и длину наименования, а также основное представление и состав реквизитов.
![](image/spravochniki_4.png)
Для добавления нового реквизита используйте кнопку "Добавить", расположенную на командной панели, находящейся над списком реквизитов. При появлении нового реквизита справочника в списке реквизитов, будут доступны свойства реквизита, отображаемые на панели свойств (по умолчанию - в крайней правой части экрана).
![](image/spravochniki_5.png)
В 1С:Предприятии 8.0 реквизиты справочников могут иметь составной тип данных. Необходимость в составном типе может возникнуть, например, в случае, когда контрагентом может выступать как юридическое, так и физическое лицо. Контрагент - это реквизит какого-то справочника, физические лица хранятся в справочнике физических лиц, а юридические лица - в справочнике юридических лиц.
![](image/spravochniki_6.png)
На закладке "Формы" настроим способ редактирования элементов справочника и определим (создадим) основные формы справочника.
![](image/spravochniki_7.png)
Для добавления новой формы используйте кнопку "Добавить", расположенную на командной панели, находящейся над списком существующих форм. Используя конструктор, выберите тип формы, введите идентификатор и синоним формы. Создадим форму списка.
![](image/spravochniki_8.png)
При нажатии на кнопку "Далее" мы получим возможность с помощью конструктора выбрать реквизиты, которые будут размещены на форме диалога, и указать способ их размещения.
![](image/spravochniki_9.png)
Состав элементов управления, автоматически располагаемых на форме и отображаемых конструктором, варьируется, в зависимости от типа формы.
На полученной форме постарайтесь разместить элементы диалога эргономично.
![](image/spravochniki_10.png)
В форме списка для автоматического отображения элементов выбранной родительской группы в дереве конструктором уже произведена настройка связи автоматического обновления списка справочника. Настройка связи осуществляется на панели свойств, при активном поле табличного документа, в котором отображается список справочника (свойство "Связь по родителю").
![](image/spravochniki_11.png)
Аналогичным способом создадим форму элемента справочника:
![](image/spravochniki_12.png)
Табличная часть справочника может принадлежать как группе, так и элементу.
![](image/spravochniki_13.png)
Справочники системы 1С:Предприятие 8.0 могут иметь предопределенные элементы и группы элементов (для иерархических справочников). Это может понадобиться, например, в случае, если необходимо в конфигураторе явно ссылаться на конкретный элемент справочника. Предопределенные элементы не могут быть удалены пользователями в режиме 1С:Предприятие. Для предопределенных элементов в конфигураторе вводятся только основные свойства элемента (имя, код и наименование). Имя элемента можно использовать в выражениях встроенного языка. Значения других реквизитов предопределенного элемента вводится в режиме "1С:Предприятие".
Визуально в режиме "1С:Предприятие" предопределенные элементы справочников отличаются от элементов, созданных пользователями, видом пиктограммы.
Важно! Для справочника, имеющего владельца, нельзя создавать предопределенные элементы. И наоборот, справочнику, имеющему предопределенные элементы, нельзя назначить владельца.
В каркасной конфигурации предопределенные элементы созданы у справочника "Клиенты".
![](image/spravochniki_14.png)
Стиль
Стиль - это совокупность различных настроек для оформления форм, текстов, рамок и других составляющих элементов управления. Использование стиля позволяет быстро выбрать нужное оформление.
![](image/stil_1.png)
При редактировании стиля внешний вид формы отображается в окне просмотра, что помогает сразу же оценивать вносимые изменения.
Стиль представляет собой набор элементов стилей. Существует стандартный набор элементов (см. рисунок), состав которого не подлежит изменению.
Конфигуратор позволяет создать произвольное число стилей, а также дополнительных элементов стилей. Приемы создания, редактирования свойств и удаления объектов конфигурации типа "Элементы стиля" и "Стили" совпадают с общими приемами управления объектами конфигурации.
Для просмотра и редактирования элементов стиля в палитре свойств в свойстве Стиль щелкните ссылку Открыть.
Элементы стилей, созданные для данной конфигурации, располагаются в списке стилей под стандартными стилями.
Удаление объектов
Для удаления объекта конфигурации укажите его в дереве конфигурации и выберите пункт "Действия - Удалить" окна "Конфигурация". Если на объект нет ссылок в других объектах конфигурации, объект удаляется.
Если на объект есть ссылки (объект используется), то выдается сообщение "Объект не может быть удален, так как на него есть ссылки в других объектах!". А в окно сообщений выводится список использования данного объекта.
![](image/udalenie-obektov_1.png)
Для перехода к объекту, в котором используется ссылка на удаляемый объект, необходимо дважды щелкнуть мышью наименование этого объекта в окне сообщений.
Ввод на основании. Конструктор "на основании"
Одним из режимов ввода новых документов в процессе работы пользователя с системой 1С:Предприятие 8.0 является режим ввода "на основании". Режим ввода "на основании" позволяет водить документы или элементы справочников, заполняя их реквизиты путем копирования информации из другого объекта информационной базы - документа или объекта другого вида, называемого "Основанием".
Разработка механизма ввода на основании производится с помощью конструктора ввода на основании. С его помощью в модуле документа создается процедура с зарезервированным именем ОбработкаЗаполнения(). Эта процедура выполняется:
после выбора команды "Действия - Ввести на основании" и последующего выбора из списка нужного объекта - основания;после выбора пункта пользовательского меню, выполняющего команду "Ввод на основании". При вызове процедуры в качестве параметра ей передается объект - основание.
Создадим с помощью конструктора ввода на основании механизм ввода "на основании" для документа "АктОбОказанииУслуг", основанием будет являться справочник "Заказы".
Конструктор ввода на основании применяется для справочников, документов, планов видов характеристик, планов счетов, планов видов расчетов, планов обмена, бизнес - процессов и задач.
Откроем окно редактирования документа "АктОбОказанииУслуг" и на закладке "Ввод на основании" в окне "Вводится на основании" выберем Справочник.Заказы и вызовем конструктор ввода на основании.
![](image/vvod-na-osnovanii-konstruktor-na-osnovanii_1.png)
В верхней части содержится список объектов - оснований, список реквизитов объектов - основания, выбранного в первом списке.
В нижней части расположен список реквизитов результирующего объекта.
По кнопке "Заполнить выражения" программа сама создаст формулы для заполнения по реквизитам объекта - основания. Ранее заполненные формулы при автоматическом заполнении не изменяются. Подбор среди реквизитов объекта - основания соответствий реквизитам документа осуществляется с учетом имен реквизитов, их идентификаторов и типов.
Формулы можно создавать вручную, просто набирая их в поле ввода, правильность написания формулы Конструктор не проверяет.
По кнопке "ОК" в модуле документа будет создана процедура ОбработкаЗаполнения(). Если повторно вызвать конструктор ввода на основании, то система попросит подтверждения на полное замещение уже существующей процедуры ОбработкаЗаполнения() новой.
Данный справочник должен обладать следующими
Cоздайте справочник "Валюты". Данный справочник должен обладать следующими характеристиками: неиерархический справочник; редактируется в диалоге. Создайте формы списка и элемента справочника.
Cоздайте документ "Оплата от клиента". Нумерация согласно нумератора "ОплатаУслуг".
Состав реквизитов:
Автор | СправочникСсылка | Менеджеры |
Клиент | СправочникСсылка | Клиенты |
Реквизиты табличной части - АктыУслуг | ||
Акт | ДокументСсылка | АктОбОказанииУслуг |
Сумма | Число | 10.2 |
Cоздайте журнал документов "Общий журнал". Создайте графу журнала "Автор".
Для хранения истории курсов валют разработать регистр сведений "Курсы валют". Обеспечить отображение истории курсов валют в форме элемента справочника "Валюты" В форме списка справочника валют добавить табличное поле и заполнить его соответственно курcами валюты, выбранной в списке.
Журнал документов
Журналы служат для группировки связанных по смыслу документов разного вида. Каждый вид документа может быть показан в нескольких журналах. Графы журнала предназначены для отображения дополнительной информации, взятой из реквизита документа, в табличном поле в форме списка журнала.
При настройке графы журнала из каждого документа можно взять только один реквизит. Не рекомендуется смешивать в одной графе разнородную информацию, например, контрагента и сумму документа.
Для создания нового журнала документов используйте пункт "Добавить", вызываемый правой кнопкой мыши на ветви дерева метаданных "Журнал документов".
На закладке "Основные" укажите имя и синоним создаваемого журнала документов. Например: "ОказаниеУслуг".
На закладке "Данные" определите состав регистрируемых в данном журнале документов, а в списке граф - дополнительные графы журнала, для отображения принадлежности документа клиенту и менеджеру.
![](image/zhurnal-dokumentov_1.png)
На закладке "Формы" создайте форму списка журнала документов и поместите в нее дополнительные графы: Менеджер и Клиент.
Программирования при создании такого журнала не требуется.