Текст
                    ЛИНИЯ КОНСУЛЬТАЦИЙ
I Для пользователей системы 1С:Предприятие 8 услуги линии консультаций
предоставляются по линии информационно-технологического сопровождения
(ИТС).
Получение консультаций возможно только после регистрации программного
\ продукта (для чего необходимо заполнить регистрационную анкету и выслать
ее в фирму «1С») и оформления подписки на ИТС.
В стоимость комплекта поставки программного продукта включено
обслуживание по линии ИТС в течение периода, указанного в Вашей
регистрационной анкете. Купон на бесплатное обслуживание по линии ИТС,
а также конверт с маркой и адресом входят в состав приобретенного Вами
комплекта программ.
По истечении периода бесплатного обслуживания получение консультаций
возможно только по договору на ИТС. Для заключения договора обращайтесь
к партнерам фирмы «1С».
Телефон и адрес электронной почты для консультаций указаны на диске
ИТС
Линия консультаций работает с 9.30 до 17.30 по московскому времени,
кроме суббот, воскресений и праздничных дней (по распорядку московских
предприятий).
Обращаясь к линии консультаций, следует находиться рядом со своим
компьютером, иметь под рукой настоящее руководство и свою половину
регистрационной анкеты. Желательно заранее уточнить типы используемого
компьютера и принтера.
Набрав телефон линии консультаций, Вы должны услышать ответ дежурного
сотрудника. После этого сообщите наименование Вашей организации,
номер Вашего экземпляра системы (он обозначен на CD-ROM комплекта
поставки и на Вашей половине регистрационной анкеты) и, возможно, другую
регистрационную информацию по запросу сотрудника линии консультаций.
Ншванная Вами информация будет проверена по данным, указанным в
отосланной в фирму «1С» половине регистрационной анкеты.
Отвечая на возникшие у Вас вопросы, дежурный сотрудник может
воспроизвести возникшую ситуацию на своем компьютере. Он даст Вам
рекомендации сразу же или после обсуждения с разработчиками. Вам не
нужно просить к телефону конкретных специалистов: мы отвечаем за работу
iwivo персонала. Работа линии консультаций регистрируется, поэтому при
ншппорных обращениях по сложным проблемам Вы можете сослаться на
Опту и время предыдущего разговора.
МЫ ВСЕГДА РАДЫ ВАМ ПОМОЧЬ!


Оглавление Часть 1 Введение 1-13 Структура Руководства 1-13 Что вы должны знать 1-15 Книги документации 1-16 Методические мвтериалы и дополнительные возможности 1-16 Сопроводительные файлы комплекта поставки 1-17 ИТС - информационно-технологическое сопровождение 1-17 Сайт системы программ 1-19 Пользовательский сайт 1-20 Раздел сайта для разработчиков 1-21 Методики разработки конфигураций 1-21 Учебные курсы 1-22 Книги, буклеты, статьи 1 -22 Программа работы с файлами 1-23 Принятые обозначения 1-23 Глава 1. Концепция системы 1-25 Конфигурируемость 1-25 Функционирование системы 1-25 Основные понятия системы 1 -27 Понятие «конфигурация» 1-27 Объект конфигурации 1-28 Форма 1-40 Модуль 1-40 Макет 1-41 Технологические средства конфигурирования и администрирования 1-42 Глава 2. Конфигурирование 1-46 Открытие конфигурации 1-46 Сохранение конфигурации 1-47 Закрытие конфигурации 1-47 Сохранение конфигурации в файл 1-47 Загрузка конфигурации из файла 1-48 Дерево объектов конфигурации 1-48 Настройка сортировки 1-49 Создание и удаление объекта конфигурации 1-49 Создание объекта конфигурации 1 -49 Удаление объекта конфигурации 1-51 Ссылки на объект конфигурации 1-52 Палитра свойств 1-52 Некоторые приемы выбора элементов управления 1-55 Окно «Дополнительно» 1-57 Окно редактирования объекта 1-60 Основные свойства объектов конфигурации 1-64 Индексирование реквизитов объектов 1-65 Свойства конфигурации 1-66 Категория свойств «Основные» 1 -66 Категория свойств «Представление» 1-67 Категория свойств «Разработка» 1-68 Категория свойств «Справочная информация» 1 -69 Создание описания объекта конфигурации 1-69 Работа с конфигурацией базы данных 1-69 Дерево объектов конфигурации базы данных 1-69 Обновление конфигурации базы данных 1 -69
1-5 Сохранение конфигурации базы данных в файл 1-72 Сравнение конфигурации и конфигурации базы данных 1-72 Отказ от изменений в конфигурации 1-72 Запуск системы 1-72 Выгрузка и загрузка файлов конфигурации 1-73 Отчет по конфигурации 1-73 Глобальный поиски замена 1-74 Настройка рабочей области конфигуратора 1-77 Настройка панелей 1-78 Глава 3. Объекты конфигурации 1-80 Модуль приложения 1-80 Модуль внешнего соединения 1-81 Модуль сеанса 1-81 Ветвь конфигурации «Общие» 1-82 Подсистемы 1-82 Общие модули 1-83 Параметры сеанса 1-85 Роли и права доступа 1-85 Планы обмена 1-96 Критерии отбора 1-96 Подписки на события 1 -98 Регламентные задания 1 -99 Общие формы 1-99 Интерфейсы 1-101 Общие макеты Г. 1-101 Общие картинки 1-102 XDTO-пакеты 1-104 Web-сервисы 1-112 WS-ссылки 1-116 Стили 1-117 Языки 1-120 Константы 1-122 Свойства константы 1-123 Справочники 1-123 Свойства справочника 1-126 Документы 1-131 Свойства документа 1-132 Нумераторы 1-136 Последовательности документов 1-137 Ввод документов на основании 1-141 Журналы документов 1-143 Создание журнала 1-143 Редактирование журнала 1-143 Лпречисления 1-148 Редактирование перечисления 1-149 Отчеты и обработки 1-150 Сохранение и восстановление значений настроек отчетов и обработок 1-152 Внешние отчеты и обработки 1-152 Пианы видов характеристик 1-157 Пример создания и использования плана видов характеристик 1-160 Регистры 1-162 Регистры сведений 1-163 Общая информация о регистрах сведений 1-163 Редактирование регистра сведений 1-166 Разработка структуры регистра сведений 1-168 Регистры накопления 1-169 Общая информация о регистрах накопления 1-169 Редактирование регистра накопления 1-173 Разработка структуры регистра накопления 1-174 Фирмы объектов конфигурации 1-175
1 -6 1 С:Предприятие 8.1. Конфигурирование и администрирование Формы объектов по умолчанию 1-176 Создание формы 1 -176 Свойства формы 1-177 Свойства элементов управления 1 -181 Глава 4. Встроенный язык 1-236 Назначение и краткая характеристика встроенного языка 1-236 Формат исходных текстов программных модулей 1-237 Что такое программный модуль? 1-237 Формат программного модуля 1-240 Специальные символы, используемые в исходном тексте 1-244 Примитивные типы данных 1-244 Оператор присваивания 1-248 Выражения языка 1-248 Арифметические операции 1-249 Операция конкатенации 1 -249 Логические операции 1-250 Операторы и синтаксические конструкции 1-251 Основные приемы работы 1-271 Обращение к свойствам объектов 1-271 Дополнение контекста объектов и форм 1-272 Передача параметров процедур и функций 1-272 Работа с коллекциями значений 1 -273 Использование номеров и индексов 1-274 Работа с системными перечислениями 1 -274 Особенности режимов запуска системы 1 -274 Исполнение процедур и функций 1-274 Особенности использования объектов, их свойств и методов 1-278 Глава 5. Работа с запросами 1-279 Источники данных (таблицы) запросов 1-279 Язык запросов 1-280 Синтаксическая диаграмма конструкций языка запросов 1-281 Комментарии в языке запросов 1-281 Использование предопределенных данных конфигурации 1-282 Двуязычное представление ключевых слов 1-283 Основные секции текста запроса 1-285 Описание запроса 1-286 Описание полей выборки 1-290 Описание источников запроса 1-294 Фильтрация результатов запроса 1 -302 Группировка результатов запроса 1-303 Условия на значения агрегатных функций 1-305 Объединение запросов 1-305 Упорядочивание результатов запроса 1-308 Автоупорядочивание результатов 1-311 Расчет итогов запроса 1-312 Выражения в языке запросов 1-318 Условия в языке запросов 1-332 Выполнение и работа с запросами во встроенном языке 1-340 Основные приемы работы 1-340 Работа с временными таблицами 1 -347 Работа с пакетными запросами 1-350 Глава 6. Работа с данными 1-352 Механизм объектных блокировок 1-352 Пессимистическая блокировка 1 -352 Оптимистическая блокировка 1 -354 Механизм транзакций 1-354 Использование явного вызова транзакций 1-355 Вложенный вызов транзакций 1 -357
Оглавление 1 -7 Влияние транзакций на работу программных объектов 1-358 Механизм управляемых блокировок 1-358 Общие сведения о блокировках 1 -358 Управляемые блокировки 1 -360 Установка режима блокировок в конфигурации 1-361 Работа с управляемыми блокировками средствами встроенного языка 1-361 Особенности работы в режиме «Автоматический и управляемый» 1-365 Модификация конфигураций при переходе к режиму управляемых блокировок 1-366 Глава 7. Организация бухгалтерского учета 1-372 Обзор 1-372 Планы счетов 1-373 Аналитический учет 1-374 Виды учета 1-377 Записи и наборы записей регистров бухгалтерии 1-377 Ведение консолидированного учета 1-378 Создание плана счетов 1-379 Свойства планов счетов 1 -379 Формирование списка счетов (предопределенные счета) 1-380 Регистры бухгалтерии 1-382 Свойства регистра бухгалтерии 1 -382 Записи регистра бухгалтерии 1-383 Глава 8. Периодические расчеты 1-384 Основные понятия _ 1-384 Планы видов расчета 1-386 Категория свойств «Расчет» 1 -387 Предопределенные виды расчета 1 -387 Регистры расчета 1-390 Общая информация о регистрах расчета 1-390 Редактирование регистра расчета 1-391 Глава 9. Бизнес-процессы и задачи 1-393 Основные понятия 1-393 Общая часть 1-394 Маршрутизация 1-395 Система адресации 1-395 Старт бизнес-процесса 1 -398 Выполнение задач 1-399 Разделение и слияние 1 -400 Ручное управление 1 -400 Условный переход 1-402 Выбор варианта 1-402 Формирование задач 1 -403 Интерактивная активация бизнес-процесса 1 -405 Интерактивная активация задачи 1 -406 Интерактивное выполнение задач 1-407 Проверка выполнения 1-408 Выполнение вложенных процессов 1 -409 Завершение бизнес-процесса 1 -410 Предопределенные поля бизнес-процессов и задач 1-411 Бизнес-процессы с несколькими точками старта 1-411 Обратная связь 1-412 Редактирование бизнес-процесса 1-413 Карта маршрута 1 -415 Редактирование задачи 1-415 Глава 10. Построитель отчета 1-417 Схема работы отчета 1-417 Язык запросов построителя отчета 1-418 |"м|1Ш11шр||!|! ;¦;! пмчи'м'мч.чг.ич.рмп,-, '''"IH""!!!!!^!!^^!^^^^^!!^!!!!!!!!!!!!!!!!'' I'l'TjlWijirT
1 -8 1 СгПредприятие 8.1. Конфигурирование и администрирование Автоматическое заполнение построителя 1-421 Построение запроса 1-422 Макет построителя отчета 1-422 Макет оформления построителя отчета 1-425 Взаимодействие с пользователем 1 -427 Вывод отчета 1 -428 Дополнительные возможности 1 -430 Часть 2 Глава 11. Система компоновки данных 2-443 Построитель отчета и система компоновки данных 2-443 Общие сведения о компоновке данных 2-444 Общие объекты системы компоновки данных 2-448 Свойство «Использование» 2-448 Поле системы компоновки данных 2-448 Параметры системы компоновки данных 2-448 Схема компоновки данных 2-448 Составные части схемы компоновки данных 2-449 Работа с несколькими наборами данных 2-457 Расширение языка запросов для системы компоновки данных 2-463 Конструктор схемы компоновки данных 2-465 Настройки компоновки данных 2-474 Макет компоновки данных 2-481 Процессор компоновки данных 2-511 Результат компоновки данных 2-512 Вывод результата компоновки в табличный документ 2-514 Вывод результата компоновки в таблицу и дерево значений 2-515 Расчет итогов по полям остатка в системе компоновки данных 2-517 Расчет итогов по полям остатка 2-517 Расчет итогов по полям бухгалтерских остатков 2-518 Компоновка макета 2-519 Работа с иерархией в системе компоновки данных 2-519 Иерархические группировки 2-519 Иерархические детальные записи 2-521 Вывод одного элемента в нескольких родительских записях 2-522 Условие В ИЕРАРХИИ 2-524 Использование системы компоновки данных при разработке прикладных решений 2-524 Глава 12. Анализ данных и прогнозирование 2-527 Основные объекты механизма 2-527 Типы анализа 2-529 Глава 13. Механизмы обмена данными 2-530 Цели и задачи 2-530 Универсальные механизмы обмена данными 2-530, Распределенные информационные базы 2-531J Универсальные механизмы обмена данными 2-531* Средства чтения и записи документов XML 2-531 XML-сериал изация 2-532i Планы обмена 2-5441 Распределенные информационные базы 2-55q Общие принципы 2-55 Планы обмена 2-5 Работа с распределенной информационной базой 2-56 Сценарии обмена данными в распределенной информационной базе 2-57 Глава 14. Механизм ХОТО 2-57 Фабрика XDTO 2-57 Получение фабрики XDTO из файла-схемы XSD 2-58
Оглавление. 1 -9 Типы данных XDTO 2-581 Тип значения XDTO 2-582 Тип объекта XDTO 2-584 Свойство XDTO 2-586 Экземпляры данных XDTO 2-587 Значение XDTO 2-587 Объект XDTO 2-589 Последовательность XDTO 2-591 Список XDTO 2-592 XPath 2-593 XML-сериализация на основе XDTO 2-596 Рекомендации по оформлению схем XML 2-597 Схема XML не должна содержать анонимных типов 2-597 Для контента сложных типов следует использовать только модель sequence 2-598 Свойства объектов должны представляться в XML только как элементы 2-598 Не следует использовать модель mixed content 2-599 Правила проверки фабрики XDTO 2-599 Правила проверки пакета XDTO 2-600 Правила проверки типа значения XDTO 2-601 Правила ограничения фасетов 2-604 Правила проверки типа объекта XDTO 2-607 Глава 15. Механизм Web-сервисов 2-612 Предоставление функциональности через Web-сервисы 2-613 Пример реализации Web-сервиса 2-614 Работа с веб-сервисами сторонних поставщиков .-. 2-617 Пример использования статической WS-ссылки 2-617 Пример использования динамической WS-ссылки 2-619 Настройка поддержки Web-сервисов 2-619 Настройка поддержки Web-сервисов для IIS 5.1 2-619 Настройка поддержки Web-сервисов для IIS 6.0 2-620 Настройка поддержки Web-сервисов для Apache 2.0 под Windows 2-620 Настройка поддержки Web-сервисов для Apache 2.2 под Windows 2-621 Настройка поддержки Web-сервисов для Apache 2.0 под Linux 2-621 Настройка поддержки Web-сервисов для Apache 2.2 под Linux 2-622 Безопасность Web-сервисов 2-622 Аутентификация 2-622 Работа по защищенному каналу 2-624 Редактирование свойств Web-сервиса 2-624 Глава 16. Механизм заданий 2-626 Фоновые задания 2-627 Регламентные задания 2-628 Особенности выполнения фоновых заданий в файловом и клиент-серверном вариантах 2-630 Создание метаданных регламентного задания 2-631 Примеры 2-634 Глава 17. Механизм полнотекстового поиска в данных 2-635 Общие сведения о полнотекстовом индексировании 2-635 Выполнение полнотекстового поиска в данных 2-637 Использование дополнительных словарей 2-642 Глава 16. Инструменты конфигурирования 2-644 Конструктор запроса 2-644 Конструктор выходной формы 2-645 Конструктор движений регистров 2-653 Конструктор печати 2-655 Конструктор ввода на основании 2-657 Конструктор форм объектов конфигурации 2-660 Особенности конструктора форм констант 2-663
Особенности конструктора форм для иерархических справочников 2-663 Конструктор макета 2-664 Конструктор пользовательских интерфейсов 2-666 Свойства панели 2-668 Редактор интерфейсов 2-669 Конструктор форматной строки 2-673 Конструктор строк на разных языках 2-674 Редактор форм 2-675 Редактирование формы 2-675 Элементы управления 2-678 Модуль 2-718 Редактор текстов 2-719 Редактирование модулей 2-719 Редактирование текстовых макетов 2-731 Редактирование текстов шаблонов 2-739 Редактор текста запросов 2-742 Редактор табличных документов 2-742 Что такое табличный документ в системе 1С:Предприятие 8.1 2-742 Макет 2-743 Табличный документ, размещенный в форме 2-748 Сводные таблицы 2-751 Редактор карты маршрута 2-752 Редактирование карты маршрута 2-752 Элементы карты маршрута в карте маршрута 2-753 Модуль 2-759 Редактор картинок 2-759 Редактирование картинки 2-760 Коллекции картинок 2-764 Отладчик и замеры производительности 2-765 Использование отладчика 2-766 Точка останова 2-770 Пошвговое выполнение 2-772 Отладка внешних обработок 2-774 Управление отладкой 2-775 Окно «Выражение» 2-775 Табло 2-778 Стек вызовов 2-779 Особенности отладки защищенных модулей 2-779 Замеры производительности 2-780 Сравнение и объединение конфигураций 2-785 Условия сравнения конфигураций 2-785 Запуск режима сравнения и объединения конфигураций 2-787 Сравнение конфигураций 2-788 Окно «Сравнение и объединение конфигураций» 2-789 Редактирование объектов 2-791 Установка соответствия объектов 2-792 Режим объединения 2-793' Установка порядка подчиненных объектов 2-796| Просмотр различий 2-797 Сравнение модулей 2-798 Отбор объектов и запуск процесса объединения 2-800 Загрузка конфигурации из файла 2-802 Локализация конфигураций 2-802 Механизм анализа удобства работы с решениями, созданными на основе платформы 1 С:Предприятия 8 2-807 Глава 19. Групповая разработка конфигурации 2-808 Хранилище конфигурации 2-80 Создание хранилища 2-809 Подключение к хранилищу 2-810 Администрирование хранилища конфигурации 2-813
Введение 1-11 Работа с хранилищем конфигурации 2-815 Сравнение хранилища с текущей конфигурацией 2-820 Сравнение объекта хранилища с объектом текущей конфигурации 2-820 Сохранение хранилища как конфигурации 2-820 Отключение от хранилища 2-820 История хранилища 2-820 История объекта 2-825 Выполнение действий с хранилищем без подключения 2-826 Удаленная работа с хранилищем конфигурации 2-826 Назначение 2-826 Обзор архитектуры 2-827 Установке 2-830 Запуск 2-832 Подключение клиента к серверу хранилища конфигурации 2-833 Создание хранилище конфигурации 2-834 Подключение к существующему хранилищу конфигурации 2-834 Особенности удаленной работы с хранилищем конфигурации 2-834 Рекомендации по использованию хранилища 2-834 Глава 20. Поставка и поддержка конфигурации 2-836 Поставка конфигурации 2-837 Настройка поставки 2-837 Создание файлов поставки 2-838 Подготовка комплекта поставки тиражных конфигураций 2-840 Поддержка конфигурации 2-847 Постановка конфигурации на поддержку 2-847 Настройка поддержки 2-848 Обновление конфигурации 2-852 Файл описания каталога шаблонов 2-856 Глава 21. Администрирование 2-858 Ведение списка пользователей 2-859 Добавление нового пользователя 2-860 Копирование пользователя 2-861 Установка пароля 2-862 Удаление пользователя 2-862 Редактирование свойств пользователя 2-862 Установка отбора 2-863 Список активных пользователей 2-863 Блокировка установки соединений пользователями .•. 2-864 Региональные установки информационной базы 2-864 Параметры информационной базы 2-867 Выгрузка информационной базы данных в файл 2-868 Звгрузка информационной базы данных из файла 2-869 Создание резервной копии информационной базы 2-869 Преобразование информационной базы для использования в клиент-серверном варианте 2-870 Тестирование и исправление информационной базы 2-870 Выполнение централизованной проверки конфигурации 2-872 Журнал регистрации 2-874 Настройка журнала регистрации 2-874 Сохранение журнала регистрации 2-876 Технологический журнал 2-878 Конфигурационный файл технологического журнала 2-879 Структура конфигурационного файла 2-880 Вывод контекстов исключений 2-892 Вывод информации о взаимных блокировках 2-893 Структура технологического журнала 2-894 Глава 22. Сервисные возможности 2-896 Управление окнами 2-896
1-12 1 С:Предприятие 8.1. Конфигурирование и администрирование Состояние (режим размещения) окна 2-896 Диалог настройки окон 2-899 Использование режима «Новое окно» 2-900 Служебные окна 2-901 Закрытие окон 2-901 История переходов между окнами 2-901 Настройка параметров конфигуратора 2-902 Установка параметров текстового редактора 2-902 Установка параметров текста модуля 2-903 Установка параметров редактирования формы 2-906 Запуск системы 2-908 Настройка режима показа справочной информации 2-909 Калькулятор 2-909 Календарь 2-909 Шаблоны текста 2-909 Ведение списка шаблонов 2-909 Редактирование шаблона 2-910 Синтакс-Помощник 2-915 Закладка «Содержание» Синтакс-Помощника 2-915 Копирование элементов встроенного языка 2-916 Поиск в Синтекс-Помощнике 2-917 Панели инструментов 2-921 Сравнение файлов 2-921 Сравнение внешних обработок 2-922 Встроенная система получения справочной информации 2-922 Окно справочной информации 2-923 Приложение А. Утилита восстановления файлового варианта базы данных 2-924 Приложение Б. Основные понятия XBase 2-925 Поля и записи 2-925 Таблица, структура таблицы, файл базы данных 2-925 Индексы, выражения индекса и фильтра, индексный файл 2-926 Запись изменений в базу данных 2-926 Работа с индексными файлами 2-926 Удаление записей 2-927 Создание базы данных, индекса, индексного файла 2-927 Ограничения 2-927 Приложение В. Формат файла настройки прокси ло умолчанию inetcfg.xml ...2-928 protocols 2-928 user 2-929 password 2-929 bypassOnLocal 2-929 bypassOnAddresses 2-930 Ntlm 2-930 Приложение Г. Формат файла настройки пула соединений wsconnectionpool.xml 2-931 poolTimeout 2-931 maxConnections 2-931 maxConnectionsLifetime 2-931 Приложение Д. Используемые компоненты 2-932 Приложение Е. Лицензии 2-934 ICU License - ICU 1.8.1 and later 2-934 Apache License 2-935'
Введение Настоящая книга является руководством по конфигурированию и трированию системы 1С:Предприятие 8.1. Руководство предназначено партнерам фирмы «1С», разрабатывающим, сопровождающим типовые и индивидуальные конфигурации, редственным пользователям программ семейства 1С:Предприятие, для самостоятельного изменения типовых конфигураций и написания ных учетных решений, а также администраторам информационных баз системы 1С:Предприятие 8.1. Структура Руководства Руководство содержит описание общей концепции системы тие 8.1, принципов администрирования системы 1С:Предприятие 8.1 и служебных режимов работы, а также рассказывает о приемах работы с базовыми объектами системы, о создании индивидуальных ских интерфейсов и наборов прав пользователей. В главе 1 излагается концепция системы 1С:Предприятие 8.1: заложенные н нее принципы, общая схема работы и другое. Глава 2 посвящена работе с конфигурацией в целом: редактированию свойств конфигурации, копированию объектов конфигурации, сохранению конфигурации, объединению конфигураций, вспомогательным режимам работы. Глава 3 посвящена основным понятиям системы 1 СгПредприятие 8.1, которые используются в настоящем Руководстве, дается расшифровка ключевых понятий, рассказывается об основных приемах создания и редактирования объектов конфигурации. Глава 4 содержит общие сведения о встроенном языке, описание исполь- 1усмых типов данных, операторов и синтаксических конструкций, а также основные приемы работы со встроенным языком.
1-14 1С:Предприятие 8.1. Конфигурирование и администрирование Глава 5 содержит описание языка запросов и основные приемы работы с запросами во встроенном языке. Глава 6 рассказывает об общих принципах и особенностях работы с ми системы 1С:Предприятие8.1. Глава 7 посвящена организации бухгалтерского учета в системе тие 8.1. Глава 8 посвящена работе с механизмами периодических расчетов, зуемых в системе 1С:Предприятие 8.1. В главе 9 рассказывается о бизнес-процессах и задачах. В главе 10 рассказывается о построителе отчета. Глава 11 посвящена описанию системы компоновки данных. Глава 12 содержит описание механизма анализа данных и ния. Глава 13 посвящена описанию механизма обмена данными. Глава 14 описывает механизм XDTO. В главе 15 дается описание механизма Web-сервисов. Глава 16 описывает механизм заданий. Глава 17 описывает средства полнотекстового поиска в базе данных. Глава 18 подробно рассказывает об использовании специализированного тора форм, текстового редактора, редактора табличных документов, редактора карты маршрута и редактора картинок. Описывается работа с отладчиком и рассказывается о механизме сравнения и объединения конфигураций. Глава 19 посвящена организации и использованию групповой разработки конфигураций. Глава 20 посвящена описанию механизмов создания файлов поставки и ] обновления, а также комплекта поставки. Данная глава будет интересна разработчикам типовых конфигураций. Также в данной главе описывается использование файлов поставки и обновлений для типовых конфигураций, находящихся на поддержке разработчиков пользовательских ций. Глава 21 посвящена возможностям администрирования в системе 1С:Предприятие8.1. Рассказывается о порядке создания и ведения списка пользователей, о присвоении пользователям наборов пользовательских прав I и назначении индивидуальных пользовательских интерфейсов.
Введение 1-15 Глава 22 рассказывает о сервисных режимах конфигуратора: ке параметров конфигуратора, работе с Синтакс-Помощником, настройке шаблонов, использовании встроенного калькулятора и календаря, нии файлов, особенностях работы с окнами, локализации конфигураций в системе 1С:Предприятие 8.1. В приложениях описывается работа с утилитой восстановления файлового варианта базы данных, излагаются основные понятия XBase, а также дается описание файла настройки прокси по умолчанию. Описания использования HTML-редактора, редактора географической схемы и редактора графической схемы приведены в книге «1 ятие 8.1. Руководство пользователя». Что вы должны знать Характер изложения данного Руководства предполагает, что вы мы с операционной системой компьютера, на котором работает система 1С:Предприятие 8.1 (Microsoft Windows 98 Microsoft Windows NT, soft Windows 2000, Microsoft Windows XP, далее - Microsoft Windows), и штдеете базовыми навыками работы в ней. Вам должны быть знакомы следующие понятия и навыки: • использование меню Пуск (Start) для вызова программ; • приемы работы с окнами; • приемы работы с мышью; • стандартные приемы работы с текстом и табличными ми (электронными таблицами) - ввод текста, ввод значений в ячейки табличного документа, редактирование, форматирование, печать и др.; • работа с меню; • использование управляющих элементов диалогов; • стандартные диалоги; • понятие буфера обмена Microsoft Windows и приемы работы с ним (далее буфер обмена); • настройка операционной системы Microsoft Windows с помощью панели управления. 1хли вы недостаточно хорошо владеете перечисленными выше ми и навыками, рекомендуем обратиться к документации по операционной системе.
1-16 1 С:Предприятие 8.1. Конфигурирование и администрирование Книги документации Внимание! Комплект поставки конкретного продукта может включать лишь некоторые из перечисленных книг документации. В состав документации входят книги по технологической платформе 1С:Предприятия 8.1. «1С:Предприятие 8.1. Руководство по установке и запуску». В книге ется порядок установки программных продуктов на компьютер и их запуск в различных режимах. «1С:Предприятие8.1. Руководство пользователя». Книга содержит ние общих приемов работы с программными продуктами, созданными на базе платформы 1С:Предприятия 8.1. Данная книга не поставляется в составе продукта 1С:Предприятие 8. Версия для обучения программированию. «1С:Предприягие8.1. Конфигурирование и администрирование». Книга необходима для изменения и настройки конфигурации под особенности учета конкретной организации, а также для разработки новых раций. «1С:Предприятие 8.1. Клиент-сервер. Особенности установки и вания». Книга описывает особенности работы системы 1С:Предприятие 8.1 с информационными базами в варианте клиент-сервер в части установки и эксплуатации. Данная книга не поставляется в составе продукта ятие 8. Версия для обучения программированию. Синтаксис встроенного языка и языка запросов представлен в книге «1С:Предприятие 8.1. Конфигурирование и администрирование». ние объектной модели полностью включено в поставку в электронном виде (в разделах справки конфигуратора и Синтакс-Помощнике). Описание тной модели также содержится в книге «1С:Предприятие 8.1. Описание встроенного языка» (в семи частях), которая распространяется отдельно. Методические материалы и дополнительные возможности Фирма «1С» осуществляет методическую поддержку освоения и внедрения! системы программ 1С:Предприятие8. Методическая поддержка включает! в себя разнообразные формы предоставления информации, необходимой! для грамотной и эффективной разработки и использования прикладных] решений.
Введение 1-17 Сопроводительные файлы комплекта поставки 1С:Предприятия 8 В процессе установки платформы 1 (^Предприятия 8 выполняется ние на жесткий диск ряда сопроводительных файлов, содержащих описание изменений, реализованных в данной версии платформы, и инструкции по переходу с предыдущих версий. Все сопроводительные файлы располагаются в каталоге установочных файлов системы 1С:Предприятие 8, в директории \AddDoc\RU. Если при установке системы использовался каталог, предложенный по умолчанию, то эти файлы будут располагаться в директории C:\Program Files\1cv81\ AddDodRU. • V8Update.htm - в этом файле содержатся отличия текущей версии платформы от предыдущих версий и особенности перехода на новук^ версию. • V8AddDoc.htm - в этом файле содержатся дополнения и исправления к последнему изданию документации. Документация переиздается реже, чем выходят новые версии платформы, поэтому данный файл содержит все дополнения и исправления документации, связанные с выходом всех версий платформы, выпущенных после последнего издания документации. • V8AddDoc81.htm - в этом файле содержатся дополнения и исправления к документации, которые должны быть внесены начиная с версии 8.1.5 (финальная версия платформы 8.1). ИТС - информационно-технологическое сопровождение Фирма «1С» осуществляет платную методическую поддержку телей в рамках информационно-технологического сопровождения (ИТС) программ системы 1С:Предприятие 8. Ежемесячные выпуски ИТС содержат большое количество постоянно обновляемой информации, позволяющей более эффективно использовать продукты системы 1С:Предприятие 8. Отметим наиболее важные ющие ИТС. • Обновления технологической платформы 1С:Предприятия 8 и ных решений (конфигураций). • Методические материалы по технологической платформе 1С:Предприятия 8. • Методические материалы по типовым прикладным решениям фирмы «1С».
1-18 1 С:Предприятие 8.1. Конфигурирование и администрирование • Конфигурация Конвертация данных для настройки правил обмена между информационными базами 1С:Предприятия 8, имеющими различную конфигурацию. • Система стандартов и методик разработки конфигураций для мы 1С:Предприятия 8 (предназначена для ознакомления партнеров и пользователей фирмы «1С» с техническими и проектными решениями, используемыми при разработке типовых конфигураций на платформе 1 (^Предприятия 8). • Советы линии консультаций, помогающие пользователям 1 СЯредприя- тия получить ответы на наиболее часто встречающие вопросы и избежать типичных ошибок. • Информация по обучению работе с платформой 1С:Предприятия 8 и прикладными решениями фирмы «1С». • Демонстрационные ролики программных продуктов, щие получить первое представление о возможностях прикладных решений. • Справочники по заполнению деклараций по налогам (налог на прибыль, НДС, налог на имущество, ЕСН, взносы в ПФР). • Обширная подборка бухгалтерской периодики, включая текущие выпуски журналов и архивы. • База аналитических обзоров законодательства и арбитражной практики. • Рекомендации по составлению квартальной и годовой отчетности в 1С:Бухгалтерии 8. • Справочник типовых хозяйственных операций хозрасчетного предприятия. • Справочник по оформлению расчетов с персоналом по оплате труда и правовым аспектам трудовых отношений. • Справочная правовая система «Гарант» - полный набор ных документов законодательства Российской Федерации, в том числе по бухгалтерскому учету, налогам и предпринимательству. Начиная с 2005 года, стандартный сервис по поддержке пользователей - подписчиков ИТС включает доступ к сайту поддержки пользователей системы 1С:Предприятие 8. Более подробно о проекте ИТС можно прочитать на сайте фирмы «1С»: http://www.1c.ru/rus/support/its/its.htm. Оставить заявку на демонстрацию дисков и приобретение подписки на ИТС можно на сайте фирмы «1С»: http://www.1c.ru/rus/support/its/zajavka.jsp.
Введение 1-19 Оформить подписку на ИТС можно у партнеров фирмы «1С». Список партнеров, имеющих опыт массового обслуживания пользователей в рамках проектов ИТС, опубликован на сайте фирмы «1С»: http://www.1c.ru/ rus/partners/service.jsp. Сайт системы программ Адрес сайта: http://v8.1c.ai. Сайт содержит информацию по технологической платформе мы 1С:Предприятие 8 и по типовым прикладным решениям, выпущенным фирмой «1С» на ее основе. Среди основных разделов сайта можно выделить следующие: • Технологическая платформа. Адрес раздела: http://v8.1c.ai/overview/ Platform.htm. Раздел описывает возможности технологической платформы 1С:Предприятия 8, а также содержит отдельное описание новых ностей, реализованных в последней версии платформы. • Вопросы при переходе с версии 7.7. Адрес раздела: http://v8.1c.ru/ predpriyatie/typicaI_problems.htm. Раздел содержит ответы на типичные вопросы, возникающие у разработчиков при переходе на новую версию платформы. • Системные требования. Адрес раздела: http://v8.1c.ru/requirements/. В этом разделе публикуются требования к операционным системам и СУБД, используемым системой 1С:Предприятие 8. В частности, в этом разделе публикуется актуальный список поддерживаемых дистрибутивов операционной системы Linux. • Материалы для сборки версии СУБД PostgreSQL. Адрес раздела: http://v8.1c.ru/overview/postgres_patches_notes.htm. Дистрибутив СУБД PostgreSQL входит в комплект поставки системы 1С:Предприятие 8, однако пользователи также могут самостоятельно собрать версию СУБД PostgreSQL, поддерживаемую 1С:Предприятием 8, используя иатчи, опубликованные в этом разделе. • Прикладные решения. Адрес раздела: http://v8.1c.ru/solutions/applied_ solutions.htm. В этом разделе содержится описание возможностей типовых прикладных решений, созданных фирмой «1С» на платформе 1С:Предприятия 8.
1 -20 1 С:Предприятие 8.1. Конфигурирование и администрирование • Вопросы по лицензированию. Адрес раздела: http://v8.1c.ru/predpriyatie/ questions_licence.htm. Раздел содержит ответы на типовые вопросы, связанные с ванием системы 1С:Предприятие 8. • Демонстрационные ролики и презентации. Адрес раздела: http://v8.1c.ru /metod/Methodical_DemoRoliki.htm. Этот раздел содержит список демонстрационных и обучающих роликов по платформе и прикладным решениям системы 1С:Предприятие 8. Ролики можно просмотреть прямо на сайте или скачать на свой компьютер. Пользовательский сайт Адрес сайта: http://users.v8.1c.ru. На сайте поддержки пользователей системы 1 (^Предприятие 8 представлена информация о номерах версий платформы и конфигураций, дате их выхода, выпусках ИТС, на которых опубликовано обновление. По каждой версии представлена следующая информация: • для технологической платформы: • отличия данной версии от предыдущих и особенности перехода; • ошибки, исправленные при выпуске данной версии; • дистрибутив обновления; • файл readme.txt. • для прикладных решений: • новое в релизе; • полный список изменений; • список основных изменений; • порядок обновления; • дистрибутив обновления; • номер версии платформы, необходимой для использования релиза конфигурации. Также на пользовательском сайте публикуются рекомендации по рированию системы 1С:Предприятие 8. Основное преимущество, которое дает пользователям 1С:Предприятия 8 поддержка на данном сайте, — это возможность обновления кой платформы и прикладных решений через Интернет до получетмдисков ИТС.
Введение 1-21 Также на сайте публикуются дополнительные компоненты, мые системой 1С:Предприятие 8 (например, СУБД PostgreSQL), и тестовые версии платформы и прикладных решений. Внимание! К пользовательскому сайту имеют доступ ные пользователи программных продуктов системы 1С:Предприятие 8: • версий ПРОФ (пользователи, оформившие подписку на онно-технологическое сопровождение (ИТС)); • базовых версий. Для регистрации программного продукта необходимо заполнить трационную анкету на программный продукт (она является частью регистрационной карточки) и отправить ее в фирму «1С» по почте или факсу. Для оформления подписки на ИТС можно обратиться к любому из сервис-партнеров фирмы «1С». Список партнеров, имеющих опыт массового обслуживания пользователей в рамках проектов ИТС, кован на сайте фирмы «1С»: http://www.1c.ru/rus/partners/service.jsp. Раздел сайта для разработчиков Адрес раздела: http://v8.1c.ru/metod/Partners.htm. Этот раздел содержит конференцию для общения с коллегами и ботчиками платформы и типовых прикладных решений, а также набор информации, предназначенной разработчикам прикладных решений. Внимание! Доступ в раздел для разработчиков ся зарегистрированным пользователям NFR-eepcuu комплекта (как юридическим, так и физическим лицам): • организациям — зарегистрированным пользователям NFR-eepcuu; • специалистам, приобретшим продукт 1С:Предприятие 8. Комплект специалиста по разработке и внедрению. Методики разработки конфигураций Система стандартов и методик разработки конфигураций для мы 1С:Предприятия 8 содержит рекомендации по разработке прикладных решений и описание универсальных механизмов типовых раций.
ШВНЯВВНКЗшлггзе! 1 -22 1 С:Лредприятие 8.1. Конфигурирование и администрирование Система периодически обновляется и публикуется в ИТС ятие. Работаем с программами - Система стандартов и методик разработки конфигураций для платформы 1С:Предприятия 8») и в разделе для ботчиков (http://partners.v8.1c.ru/index.jsp?parentlD=25). Учебные курсы В рамках образовательного направления деятельности фирма «1С» дит очное и дистанционное обучение. В каждой форме обучения есть курсы: • направленные на изучение возможностей и функционала программ «1С» на уровне пользователя; • по конфигурированию, внедрению и адаптации платформы и ных решений системы 1С:Предприятие 8. Обучение проводится по следующим программам фирмы «1С»: • технологическая платформа 1С:Предприятия 8; • 1С:Бухгалтерия 8; • 1С:Предприятие 8. Управление торговлей; • 1С:Управление производственным предприятием 8; • 1С:Зарплата и Управление Персоналом 8; • отраслевые и специализированные решения. Полный список учебных курсов по системе 1 (^Предприятие 8 представлен на сайте hnp://v8.1c.ru/metod/Methodical_Courses.htm. Книги, буклеты, статьи Адрес раздела: http://v8.1c.ru/metod/books. В данном разделе собраны ссылки на различную методическую ру по системе 1С:Предприятие 8, рекомендуемую фирмой «1С». Все книги можно приобрести непосредственно в фирме «1С» или у партнеров, а также заказать в интернет-магазине «Озон». Статьи и буклеты можно просмотреть прямо на сайте или скачать на свой компьютер.
Введение . 1-23 Программа работы с файлами Адрес раздела: http://v8.1c.ru/metod/fileworkshop.htm. Программа 1С:Предприятие - Работа с файлами представляет собой отдельный программный продукт, который распространяется но. Она предназначена для просмотра и редактирования файлов 1С:Предприятия 8 на тех компьютерах, где система 1С:Предприятие 8 не установлена. Поддерживаются следующие форматы файлов: • текстовый документ (*.txt); • табличный документ (*.mxl); • HTML-документ (*.htm, *.html); • графическая схема (*.grs); • географическая схема (*.geo). Программа распространяется свободно и доступна для скачивания. Принятые обозначения Для лучшего понимания излагаемого материала в настоящем Руководстве приняты некоторые общие приемы выделения отдельных элементов текста. Соглашение о таких приемах приведено ниже. Обозначения клавиш. Клавиши, такие как Enter, Esc, Del и подобные, будут обозначаться, как показано выше, без кавычек. Для ссылок на клавиши управления курсором (клавиши со стрелками) будет использоваться фраза клавиши управления курсором, когда необходимо сослаться сразу на все эти клавиши. Если необходимо упомянуть эти ши по отдельности, будут использоваться выражения Стрелка вверх, Стрелка вниз, Стрелка вправо и Стрелка влево. Комбинации клавиш. Когда для выполнения какой-либо команды мо нажать комбинацию из двух клавиш, она дается в виде Ctrl + F3. Обозначения кнопок. Наименования кнопок в форме будут даваться их названиями без кавычек, например, ОК, Отмена, Удалить и так далее. Ключевые слова встроенного языка. Ключевые слова встроенного языка системы 1С:Предприятие 8.1 выделяются шрифтом и пишутся так, как в программных модулях: РабочаяДата. В тексте также будут встречаться ссылки и» описания разделов или элементов встроенного языка (свойства, методы и т. д.).
1-24 1С:Предприятие 8.1. Конфигурирование и администрирование С данными описаниями можно ознакомиться в справке (ветвь Встроенный язык). Описание действия с помощью меню. Для описания выбора пункта меню используется следующая конструкция: Меню - Подменю - Подменю - ... - Пункт. Например: «Для выбора масштаба изображения используется пункт Таблица - Вид - Масштаб, что эквивалентно тексту: «Для выбора ба изображения используется пункт Масштаб подменю Вид меню Таблица главного меню программы». Если выбор осуществляется не из главного меню программы, то это указывается дополнительно. Режгтыработы системы 1С:Предприятие &7.Система1С:Предприятие 8.1 работает в двух режимах: настройки и проверки конфигурации (далее в Руководстве - режим Конфигуратор или конфигуратор, когда в Руководстве описывается работа по созданию или изменению конфигурации) и ния конфигурации (далее в Руководстве - режим 1С:Предприятие). В данном Руководстве пользователем будет называться специалист, ющий разработку или сопровождение конфигурации.
Глава 1 Концепция системы 1С:Предприятие 8.1 является универсальной системой ции деятельности предприятия. За счет своей универсальности система 1С:Предприятие 8.1 может быть использована для автоматизации самых разных участков экономической деятельности предприятия: учета товарных и материальных средств, взаиморасчетов с контрагентами и др. Конфигурируемость Основной особенностью системы 1С:Предприятие 8.1 является ее рируемость. Собственно система 1С:Предприятие 8.1 представляет собой совокупность механизмов, предназначенных для манипулирования ными типами объектов предметной области. Набор объектов, структуры информационных массивов, алгоритмы обработки информации, твующих поставленной задаче, определяет конкретная конфигурация. Вместе с конфигурацией система 1С:Предприятие8.1 выступает в качестве уже готового к использованию программного продукта, ориентированного на определенные типы предприятий и классы решаемых задач. Конфигурация создается и сопровождается (поддерживается) ми средствами системы. Конфигурация обычно поставляется в качестве типовой для конкретной области применения, но может быть изменена, дополнена пользователем системы, а также разработана заново. ма 1С:Предприятие 8.1 обеспечивает поддержку типовых конфигураций стандартными средствами. Функционирование системы Функционирование системы делится на два процесса - конфигурирование (описание модели предметной области средствами системы) и исполнение (обработка данных предметной области).
1-26 1С:Предприятие 8.1. Конфигурирование и администрирование На этапе конфигурирования производится формирование структуры ваемой информации, создание форм для ввода исходных данных, просмотра различных списков данных; организуется хранение введенной и итоговой информации, производится написание отчетов и обработок; формируются интерфейсы для различных групп пользователей; ведется список телей, которым назначаются определенные права. Результатом конфигурирования является конфигурация, которая представг ляет собой модель предметной области. В режиме конфигурирования можно создавать новые конфигурации, тировать имеющиеся, а также производить сравнение и объединение нескольких конфигураций. На этапе конфигурирования система оперирует такими ми понятиями (объектами), как Документ, Журнал документов, Справочник, Реквизит, Форма, Регистр и другие. Совокупность этих понятий и определяет концепцию системы. В свою очередь, процесс конфигурирования распадается на несколько составляющих (деление носит условный характер), ющих последовательность написания и назначение томов описания. Это «визуальное» конфигурирование (создание структуры конфигурации, форм диалогов и выходных документов, механизм работы пользователей с ми (интерфейс) и права доступа различных групп пользователей к различной информации) и написание программ на встроенном языке 1 (^Предприятия для обработки входных и выходных данных. На уровне системы определены сами понятия объектов и стандартные операции по их обработке. Средства конфигурирования позволяют описать структуру информации, входящей в эти объекты, и алгоритмы, описывающие специфику их обработки, для отражения различных особенностей учета. Информационная структура проектируется на уровне предусмотренных в системе типов обрабатываемых объектов предметной области (константы, справочники, документы, регистры, перечисления и др.). В процессе исполнения система уже оперирует конкретными понятиями, описанными на этапе конфигурирования (справочниками товаров и заций, счетами, накладными и т. д.). При работе пользователя в режиме 1С:Предприятие обработка информации выполняется как штатными средствами системы, так и с использованием алгоритмов, созданных на этапе конфигурирования.
Глава 1. Концепция системы 1-27 Основные понятия системы В этом параграфе рассматриваются основные понятия, которыми оперирует система 1С:Предприятие 8.1. Данный параграф будет полезен тем, кто еще не знаком с системой 1С:Предприятие 8.1. Описание тех или иных механизмов будет сопровождаться примерами. Возможно, что в описании будут встречаться еще незнакомые вам понятия и термины. Продолжайте чтение: смысл используемых терминов будет ясен в процессе изложения, а для более подробной информации всегда можно обратиться к соответствующим главам настоящего Руководства. Понятие «конфигурация» Основу концепции составляет понятие конфигурация. Конфигурацией в системе 1С:Предприятие 8.1 называется совокупность взаимосвязанных составных частей: • структуры учетных данных, их форм ввода, выбора, печати; • состава механизмов учета итоговых данных и движений учетных данных; • состава различных отчетов и обработок; • набора пользовательских интерфейсов; • набора ролей (прав доступа); • набора общих процедур и функций (модуль приложения, модуль го соединения, общие модули), макетов табличных документов и др.; • вспомогательных объектов: наборы пользовательских интерфейсов, наборы прав, а также различная вспомогательная информация ки, шаблоны, стили и т. д.). Фактически структура конфигурации является моделью предметной ти. Создание конфигурации выполняется при помощи конфигуратора. Созданная конфигурация используется системой 1 (^Предприятие 8.1 для реализации программного окружения, пригодного для выполнения димых учетных задач. Пользовательским интерфейсом в системе 1 (^Предприятие 8.1 называется совокупность команд главного меню и панелей инструментов, настроенных иа работу с конкретными видами объектов данных - документами, никами, журналами и т. д. Как правило, пользовательский интерфейс создается для конкретной категории пользователей. Цель создания фейса — обеспечить быстрый доступ пользователей к той информации, которая необходима им в соответствии с их обязанностями.
1-28 1С:Предприятие 8.1. Конфигурирование и администрирование Роли в системе 1С:Предприятие8.1 определяют полномочия пользователей на работу с информацией, которая обрабатывается в системе. Совокупность предоставляемых пользователю полномочий определяется, как правило, кругом его обязанностей. Операция назначения ролей пользователю решает две основные задачи: • с одной стороны, ограничивается круг пользователей ной информации, которая, безусловно, всегда присутствует в любой системе учета; • с другой стороны, запрет выполнения определенных операций (в первую очередь операций удаления и корректировки данных) ет в какой-то степени предотвратить возможные потери информации. Все составные части конфигурации тесно связаны между собой и требуют, как правило, согласованного внесения изменений (особенно это касается пользовательских прав). Так, назначение ролей может выполняться только для существующих объектов конфигурации (конкретных документов, журналов, справочников, отчетов). Добавление в структуру конфигурации нового объекта должно сопровождаться внесением соответствующих изменений в роли. Команды, которые можно связать с элементами пользовательского фейса, управляют конкретными объектами конфигурации. Очевидно, что нет смысла включать в пользовательский интерфейс команды по работе с информацией, доступ к которой пользователю запрещен. Объект конфигурации Под объектом конфигурации в системе 1С:Предприятие8.1 ся формальное описание группы понятий (предметной области, средств взаимодействия пользователя с системой) со сходными характеристиками и одинаковым предназначением. Приведем такой пример. Объект конфигурации Справочник в системе 1С:Предприятие 8.1 предназначен для ведения списков однородных тов данных — справочников, картотек, нормативных сборников и т. п.< Использование объектов конфигурации этого типа позволяет организовать) ведение любых справочников, необходимых для автоматизации деятельное-1 ти предприятия. Как правило, объекты конфигурации типа Справочник являются терными аналогами реально существующих на предприятии видов] справочников, например, справочника сотрудников или номенклатурь! товаров, хотя могут использоваться и для организации списков, не имеющил явных физических аналогов.
Глава 1. Концепция системы 1-29 Следует иметь в виду, что объект конфигурации описывает не конкретное значение, а только его вид. Например, справочник Физические лица вает не конкретного человека, а содержит перечень реквизитов (набор видов характеристик о физическом лице), а также формы для ввода их значений, формы просмотра списков и макеты для печати информации. Другими словами, в конфигурации создается схема описания, с помощью которой учитываются все однородные объекты предметной области (в приведенном примере справочника Физические лица одно описание используется как для Петрова, Иванова, так и для любого другого физического лица). Реализованный в системе 1С:Предприятие 8.1 при помощи объекта гурации компьютерный аналог конкретного понятия предметной области будем называть объектом конфигурации. Свойства объекта конфигурации Каждый объект конфигурации обладает уникальным набором свойств. Эгот набор описан на уровне системы и не может быть изменен в се настройки конфигурации задачи. Набор свойств объекта конфигурации определяется в основном его назначением в системе 1 (^Предприятие 8.1. Главным свойством любого объекта конфигурации является имя - краткое наименование объекта конфигурации. При создании нового объекта гурации ему автоматически присваивается условное имя, состоящее из слова, определяемого по виду объекта, и цифры (например, при создании реквизита создается реквизит с именем Реквизите при создании докумен- ти - Документ1 и т. д.). Это имя можно изменить в процессе редактирования свойств объекта конфигурации, при этом система отслеживает ность имен. Имя объекта конфигурации не может быть пустым. Некоторые свойства из всего набора свойств, присущих объекту конфигу- рнции, доступны для редактирования и могут быть так или иначе изменены и процессе конфигурирования системы. Характер изменений и их пределы Тикже задаются на уровне системы. Специалист, осуществляющий гурирование системы, целенаправленным изменением свойств объекта конфигурации может добиться требуемого поведения объекта при работе системы. Однако такие изменения не затрагивают сущности объекта и не позволяют добиться от него действий, не свойственных объектам данного тина. Приведем такой пример. Объект конфигурации Константа в системе 1С:Предприятие 8.1 предназначен для хранения информации, которая не изменяется во времени или изменяется очень редко. При этом не важны предыдущие значения константы. Простым
1-30 1С:Лредприятие 8.1. Конфигурирование и администрирование примером константы может служить название предприятия: оно, как ло, не меняется в процессе деятельности предприятия (если предполагается, что значения каких-либо учетных данных, изменяемых во времени, нужно выбирать с учетом времени, то для таких данных необходимо использовать не константу, а регистр сведений без измерений). Константа обладает следующим набором редактируемых свойств: имя константы; синоним; комментарий; подсистемы; тип данных. В наиболее общем случае значение в константу вводится один раз (как, например, название предприятия). С точки зрения использования ты не важно, что именно хранится в константе; главным является то, что константа сохранила записанное в нее значение. Способность сохранять введенное в нее значение — неотъемлемая ность константы в системе 1С:Предприятие8.1. Редактирование свойств константы на эту способность не влияет. Основные виды объектов конфигурации Все объекты конфигурации, которые существуют в системе 1С:Предприя- тие8.1, образуют несколько основных видов. Каждый вид объектов конфигурации представляет собой как раз те «строительные элементы», из которых будет создаваться конфигурация. Формально объекты конфигурации няются в виды в дереве конфигурации. Названия видов пользователь видит на первом уровне дерева конфигурации, когда ет окно Конфигурация в конфигураторе (см. рисунок). Несмотря на отсутствие формального ления, названия видов объектов конфигурации широко используются при работе с системой 1С:Предприятие 8.1. Например, специалист, осуществляющий конфигурирование системы 1С:Пред- приятие8.1, видит свою цель в разработке необходимого набора справочников, докумен- & 9 ¦ Облие В-^Р Константа Т+1-.^Р Справочники Ш'^и) Документы li J Журналы документа \ ^Перечисления •Щ Отчеты | , работ»! 1+ИЩ! Планы видав характеристик Ш Т*^ Планы счетов —Щ^ Планы видов расчета В-^ Регистры сведений Ш^й Регистры накоплении E!-[ijj! Регистры бухгалтерии ""EI Регистры расчета -Д Задачи
Глава 1. Концепция системы 1-31 тов, отчетов, журналов, которые будут реализовывать требуемую систему учета. Конечный пользователь системы 1С:Предприятие 8.1 - руководитель, бухгалтер, менеджер, кладовщик - также оперирует конкретными никами, документами и т. д. для решения стоящих перед ним задач. Общение между двумя этими категориями пользователей также будет происходить в понятиях видов объектов конфигурации. Объект данных какого-либо вида является уже конкретным документом, отчетом, журналом, константой и так далее. Как правило, каждый объект используется для работы со вполне определенной информацией ной области. Ниже приведена краткая характеристика основных видов объектов гурации системы 1С:Предприятие 8.1. Подробная информация об объектах конфигурации, объединяемых в каждом из этих видов, будет изложена далее. Константы Для работы с постоянной и условно постоянной информацией в системе используются объекты типа Константа. Информация, хранящаяся в тах, редко изменяется, но, как правило, часто используется в работе. Например, в константах может храниться наименование предприятия, его ИНН, фамилии директора и главного бухгалтера и другая подобная мация. R системе может быть описано неограниченное количество констант. Справочники Для работы с постоянной и условно постоянной информацией с некоторым множеством значений в системе используются объекты типа Справочник. Обычно справочниками являются списки материалов, товаров, ций, валют, сотрудников и др. Механизм поддержки справочников позволяет спроектировать и подцержи- ипть самые различные справочники. На этапе конфигурирования можно описать, какими свойствами обладает каждый конкретный справочник. К настраиваемым свойствам относятся, например, длина и тип кода, тво уровней иерархии, поддержка уникальности кодов, набор реквизитов справочника. I !омимо кода и наименования, механизм работы со справочниками позволяет сочдавать набор реквизитов для хранения любой дополнительной ции об элементе справочника (например, для номенклатуры это может быть •ткупочная и отпускная цены, производитель, для сотрудника - должность,
1 -32 1 С:Предприятие 8.1. Конфигурирование и администрирование образование, адрес места жительства и т. д.), а также табличные части. В табличных частях хранится однотипная информация, число которой может быть переменным, например, описание комплектующих изделия, состав семьи сотрудника, телефоны организации и т. д. Для каждого справочника может быть задано несколько типов форм: та, группы, списка, выбора, выбора группы. По каждому типу форм может быть создано произвольное число форм. Для описания соподчиненных сущностей можно использовать подчиненные справочники. В этом случае в подчиненном справочнике каждый элемент : «принадлежит» к определенному элементу справочника-владельца. В конкретной конфигурации создается необходимое количество справоч- I ников для хранения данных об объектах, используемых при автоматизации данной предметной области. Например, это могут быть справочники Органи- j зации, Товары, Сотрудники и т. д. Перечисления Перечисления используются в системе 1С:Предприятие 8.1 для описания постоянных наборов значений, не изменяемых в процессе работы гурации. На этапе конфигурирования можно описать практически ное количество видов перечислений. В отличие от справочника, значения перечислений задаются на этапе конфигурирования и не могут быть ны на этапе исполнения. Типичными примерами перечислений являются виды оплаты (наличная, безналичная, бартер), статус клиента (постоянный, разовый) и т. д. Одной из главных особенностей перечислений, отличающей их от ников, является то, что набор значений перечисления не изменяется при работе конечного пользователя с программой. Например, алгоритм гурации может быть ориентирован на то, что каждый клиент имеет один из двух статусов — либо постоянный, либо разовый. В этом случае указание статуса клиента выполняется путем выбора одного из значений ния. Пользователь не может добавить новый статус. В отличие от перечислений, для справочников конкретные значения обычно вводятся пользователем при работе с программой, например: наименования товаров, контрагентов и прочее.
Глава 1. Концепция системы 1-33 Документы Документы предназначены для отражения хозяйственных событий ятия, которые имеют отношение к автоматизируемой предметной области. Например, в конфигурации, предназначенной для учета торговых ций, могут быть такие документы, как счет, приходная накладная, расходная накладная и проч. При помощи документов отражаются и платежи с ного счета, и операции по кассе, и движения по складу, и прочие подобные события. В процессе конфигурирования настраивается произвольное количество видов документов. Типичными примерами видов документов являются такие, как Платежное поручение, Счет, Приходная накладная, Расходная накладная, Накладная на внутреннее перемещение, Приходный кассовый ордер и другие. Каждый вид документа предназначен для отражения своего типа событий. Это определяет его структуру и свойства, которые описываются в рации. Каждый вид документа может иметь неограниченное количество реквизитов и табличный частей. Несколько табличных частей требуются в тех ях, когда одним документом необходимо зарегистрировать разные по сути, но связанные события, например: отразить поступление товара на склад и зарегистрировать понесенные дополнительные затраты - оплату та, грузчиков и др. Для документа создаются формы ввода - экранные аналоги реальных документов. Если в других формах используются данные документов, то для включения этой информации разрабатываются формы для выбора. Для просмотра списка документов одного вида создаются формы списков. Число форм неограниченно. Каждый документ также может иметь неограниченное число печатных форм. Все документы характеризуются номером, датой и временем. При настройке для документа также задаются длина номера документа, условия поддержки уникальности номеров и другие. Документы играют центральную роль для основных механизмов, зуемых системой. Все документы образуют единую хронологическую последовательность. Фактически она отражает реальную ность событий. Внутри даты последовательность документов определяется их временем, при этом время документа является не столько средством отражения реального (астрономического) времени ввода документа, сколько средством, позволяющим четко упорядочить документы внутри одной даты. Данные, вводимые в документ (в реквизиты и табличные части та), обычно содержат информацию о происшедшем событии: например,
1 -34 1 С:Предприятие 8.1. Конфигурирование и администрирование в накладной - информацию о том, с какого склада, каких товаров и сколько отгружено, какие дополнительные затраты произведены при приобретении товаров. Для документа весьма важным действием является его проведение. Если документ не является «проводимым», это значит, что событие, которое он отражает, не влияет на состояние учета, который ведется в данной конфигурации. Если документ проводится, то он изменяет состояние тех или иных учитываемых данных. При проведении документ может отразить зафиксированное им событие в механизмах, реализуемых различными регистрами. Например, в торговом предприятии выписка клиенту счета на оплату не изменяет состояния товарных или денежных средств предприятия, так как счет в данном случае — это только выражение намерения клиента рести товар. В этом случае в конфигурации для учета торговых операций документ Счет может быть непроводимым. Однако если выписка счета сопровождается резервированием товара для данного клиента, то в этом случае документ Счет следует делать димым, так как операция выписки счета еще и «замораживает», временно выключает из оборота определенное количество товаров. В этом случае конфигурация для учета торговых операций должна уметь отслеживать зарезервированный товар. Журналы документов Журналы документов предназначены для просмотра документов разных видов. Каждый вид документа может быть показан в нескольких журналах. Журнал документов не добавляет новых данных в систему, а является твом для отображения в едином списке документов нескольких видов. Например, может быть создан журнал Складские документы, в котором будут отображаться все приходные и расходные накладные и накладные на внутреннее перемещение. Для журнала могут быть определены графы журнала, предназначенные для отображения реквизитов документов разного вида, отнесенных к данному журналу. Например, журнал торговых документов может содержать графу Контрагент, в которой будет отражаться реквизит Комитент документа Прием на комиссию, реквизит Организация документа Приходная накладная и т. д. Каждый журнал может иметь неограниченное число форм визуального представления и печатных форм.
Глава 1. Концепция системы 1-35 Отчеты и обработки Для описания отчетов и процедур обработки информации на этапе рирования может быть создано неограниченное число отчетов и обработок. Отчеты и обработки могут иметь несколько форм, предназначенных, мер, для ввода параметров формирования отчета или параметров обработки данных. Например, для выдачи складской справки — выбор конкретного склада. Алгоритм получения отчета может описываться с использованием енного языка или формироваться системой автоматически, в случае использования системы компоновки данных (см. стр. 2-524). Для вывода отчетов может быть использован как текстовый формат, так и рованный табличный формат отчетов (макеты). Система также поддерживает возможность разработки внешних обработок, хранящихся не в самой конфигурации, а в отдельных файлах. Планы видов характеристик В системе 1С:Предприятие 8.1 объекты Планы видов характеристик чены для описания множеств однотипных объектов аналитического учета. Планы видов расчета Объекты данного вида предназначены для создания видов расчетов, зуемых в механизмах периодических расчетов. Планы счетов План счетов является одним из основных понятий бухгалтерского учета. Планом счетов называется совокупность синтетических счетов, значенных для группировки информации о хозяйственной деятельности предприятия. Информация, накапливаемая на таких синтетических счетах, позволяет получить полную картину состояния средств предприятия в денежном выражении. Бизнес-процессы и задачи Позволяют создавать формализованные описания типичных ностей работ, выполняемых в организации, и на их основе формировать списки задач, которые необходимо выполнить тому или иному сотруднику организации в данный момент. Например, процесс продажи товара может быть представлен как последовательность выписки счета, его утверждения, получения наличной оплаты и отгрузки товара со склада. За выполнение
1 -36 1 С:Предприятие 8.1. Конфигурирование и администрирование каждого из этапов могут отвечать различные сотрудники. Таким образом, в любой момент времени можно определить, в каком состоянии ся процесс продажи товара и кто из сотрудников в данный момент должен выполнить какие-либо действия. Регистры Регистры предназначены для хранения и обработки различной информации, отражающей хозяйственную или организационную деятельность ятия и не имеющей объектной природы. В регистрах обычно хранится информация об изменении состояний тов или другая информация, не отражающая непосредственно объекты предметной области. Например, в регистрах может храниться информация о курсах валют или информация о приходе и расходе товаров. В системе 1С:Предприятие 8.1 существует 4 вида регистров: регистры ний, регистры накопления, регистры расчетов к регистры бухгалтерии. Специализированные объекты конфигурации (ветвь «Общие») Помимо объектов, описывающих предметную область учета, конфигурация содержит ряд вспомогательных объектов, не относящихся непосредственно к деятельности предприятия, однако тесно связанных с функционированием самой системы. Это механизмы взаимодействия пользователей с системой 1С:Предприятие 8.1 (интерфейсы, критерии отбора, права доступа различных групп пользователей к различной информации); вспомогательные объекты оформительского назначения, позволяющие производить вание на основе сформированных стилей; библиотеки картинок, с учетом национального языка; модуль приложения и общие модули, в которых располагаются процедуры и функции, доступные из прочих модулей гурации; общие макеты печатных форм и многое другое. Подчиненные группы объектов В зависимости от вида объекта конфигурации объект может иметь ные подчиненные группы объектов. Например, реквизиты, измерения, формы, табличные части и т. д. Состав подчиненных объектов зависит от типа объекта. Реквизиты — дополнительная информация об объекте, доступная только в пределах этого объекта. Табличные части — наборы дополнительной информации об объекте, представленной в виде таблицы.
Глава 1. Концепция системы 1-37 Реквизиты табличных частей — состав табличной части объекта, ный только в пределах табличной части объекта. Формы — форма используется для ввода, просмотра и редактирования информации, хранящейся в объекте конфигурации, содержит модуль формы - программу на встроенном языке системы 1С:Предприятие8.1. ность иметь визуальное представление позволяет объекту конфигурации организовать интерактивное взаимодействие с пользователем. Характф такого взаимодействия разрабатывается специалистом, осуществляющим конфигурирование системы 1С:Предприятие 8.1, и определяется в основном типом объекта конфигурации. Для разработки форм в конфигураторе няется комплексный редактор форм, позволяющий редактировать все компоненты формы во взаимосвязи. Каждый объект может иметь ко форм. Макеты — табличные, HTML или текстовые документы (также могут использоваться двоичные и Active-документы), предназначенные для формирования печатных форм объекта. 1}>афы — графы журнала документов. Ишерения — для регистров это объекты конфигурации, данные о которых учитываются в регистре. Ресурсы - данные, учитываемые в регистре. Группы подчиненных объектов не удаляются и не имеют редактируемых спойств. k Типизированные и типообразующие объекты Одним из основных свойств некоторых объектов конфигурации является Тип данных. Это свойство определяет, какого рода информацию может содер- жпгь объект конфигурации. Тип данных объекта конфигурации назначается При создании или редактировании свойств объекта в процессе настройки конфигурации. Объекты конфигурации, для которых может быть указан тип информации, Содержащейся в объекте, в системе 1С:Предприятие 8.1 называются типизи- [юнанными объектами конфигурации. Гпкие объекты конфигурации, как Справочник, Документ, Обработка, не ииляются типизированными объектами, так как содержат «комплексную» информацию и, в свою очередь, включают в себя типизированные объекты конфигурации. Типы данных, которые может принимать объект конфигурации, можно | уделить на две группы.
1 -38 1 С:Предприятие 8.1. Конфигурирование и администрирование Первую группу составляют примитивные типы данных: Число, Строка, Дата и Булево. Соответственно, информация, хранящаяся в объекте конфигурации, I может быть числом, произвольной строкой символов, датой или логической I величиной. Кроме этих типов к примитивным типам относят NULL, Heonpe-1 делено и Тип (подробнее см. раздел «Примитивные типы данных» справки по встроенному языку). Кроме этого некоторые объекты конфигурации системы 1С:Предприятие 8.1' также могут образовывать типы данных. Например, константе может! быть назначен тип данных ДокументСсылка. В этом случае значение константы будет представлять собой ссылку на один из существующих в | системе 1С:Предприятие 8.1 документов. Объекты конфигурации, которые могут образовывать типы значений гурации, в системе Ю.Предприятие 8.1 называются тгтообразующими объектами конфигурации. Такими объектами в системе 1С:Предприятие 8.1 являются: справочники; документы; планы видов характеристик; планы счетов; планы видов расчета; бизнес-процессы; задачи; перечисления. Необходимо обратить внимание, что типообразующие объекты конфигура ции образуют тип данных сразу после создания в конфигураторе объекя любого из таких типов. При этом появляются сразу три новых вида типо! Ссылка, Объект и Список. Например, когда в конфигураторе создается новы справочник, то в списке типов данных появляются новые типы данным СправочникСсылка.<ИмяСправочника>, СправочникОбъект.<ИмяСправочника и СправочникСписок.<ИмяСправочника>. Такие типы данных могут бьп присвоены любому из типизированных объектов конфигурации. Некоторые данные могут иметь составной тип. Для этого в окне редакт! рования типа данных установите флажок Составной тип данных и укажш те типы, которые могут принимать данные. Кроме того, допускается выбс специального типа Любая ссылка. При выборе типа данных реквизита система, помимо выбора типов, опред ленных в конкретном прикладном решении, предоставляет разработчик I
Глава 1. Концепция системы 1-39 позможность выбирать наборы типов. Наборами типов, например, ся ЛюбаяСсылка, СправочникСсылка, Характеристика.<имя> и др. Наборы типов, также как и составной тип данных, содержат некий перечень типов, определенных в данном прикладном решении, однако, в отличие от составного типа, этот перечень формируется системой автоматически, и результате анализа метаданных. Например, в прикладном решении имеются справочники Номенклатура и Контрагенты. Если определен реквизит составного типа данных, в который иходят типы СправочникСсылка.Номенклатура и СправочникСсылка.Контраген- ты, то наряду с этим можно определить реквизит, содержащий набор типов СправочникСсылка. И в том, и в другом случае можно хранить в реквизите ссылки как на справочник Номенклатура, так и на справочник Контрагенты. После добавления нового справочника Цены в реквизите составного типа по-прежнему могут храниться только ссылки на справочники ра и Контрагенты, а в реквизите, описанном как набор типов, допускается хранение ссылки на любой из справочников, доступных в данной рации, в том числе и на справочник Цены. При запуске прикладного решения набор типов преобразуется системой, как правило, в составной тип, содержащий все типы, которые должны входить » этот набор. Поэтому во втором случае в набор типов попадет и новый справочник Цены. Однако набор типов не всегда преобразуется системой в составной тип данных. Если оказывается, что в набор типов входит единственный тип ний, то набор типов будет преобразован в этот самый тип значений. Такая ситуация возможна, например, когда план видов характеристик (назовем его Свойства) имеет единственный тип значений в свойстве ТипЗначенияХа- рактеристик. Тогда набор типов Характеристика.Своиства будет преобразован системой не в составной тип данных, содержащий один тип значений, а в тот единственный тип значений, который указан для плана видов ристик. ')га особенность может быть важна, когда, например, выполняется проверка реквизита, тип которого описан как Характеристика.Своиства, на ность. Когда Характеристика.Своиства преобразуется системой в составной пш данных, проверять нужно на значение Неопределено, а если ристика.Своиства преобразуется в определенный тип значения, то проверять нужно на значение по умолчанию данного типа.
1 -40 1С:Предприятие 8.1. Конфигурирование и администрирование Форма Совокупность экранного диалога, модуля и реквизитов формы называется формой. Большинство объектов конфигурации в системе 1С:Предприятие 8.1 могут иметь визуальную форму. В самом общем случае форма как объект гурации состоит из следующих частей: • экранный диалог, используемый для ввода и редактирования ции, хранящейся в объекте конфигурации; • модуль формы - программа на встроенном языке системы 1С'.Предприя- тие 8.1. Как правило, модуль формы выполняет обработку вводимой в диалог информации для целей входного контроля, выполнения тов и т. д.; • список реквизитов объекта конфигурации. Любая из этих составных частей формы может отсутствовать, то есть не I содержать информации (диалог не содержит элементов управления, рекви-1 зиты могут отсутствовать, модуль формы может не содержать программы на встроенном языке). Способность иметь визуальное представление позволяет объекту гурации организовать интерактивное взаимодействие с пользователем. Характер такого взаимодействия разрабатывается специалистом, вляющим конфигурирование системы 1С:Предприятие 8.1, и определяется в основном типом объекта конфигурации. Для разработки форм в конфигураторе применяется комплексный редактор форм, позволяющий редактировать все компоненты формы во взаимосвязи. Модуль Модулем называется программа на встроенном языке системы 1 тие 8.1. Модули располагаются в заданных точках структуры конфигурации и вызываются для выполнения в заранее известные моменты работы системы 1С:Предприятие 8.1. Специалист, выполняющий конфигурирование системы, может использовать модули для описания сложных алгоритмов взаимо действия объектов конфигурации, для которых недостаточно имеющихся п конфигураторе визуальных средств. В конфигурации существует несколько видов модулей. Это модуль прило-1 жения, модуль внешнего соединения, общие модули, модули форм л\ модули объектов конфигурации (менеджеров значения констант, справоч-1 ников, документов, планов видов характеристик, планов счетов, планоч]
Глава 1. Концепция системы 1-41 видов расчета, планов обмена, бизнес-процессов, задач, отчетов, обработок, наборов записей регистров). Для доступа к модулю необходимо в контекстном меню объекта ции выбрать пункт Открыть модуль... Для корневого объекта конфигураций выбирается модуль приложения и модуль внешнего соединения. рые объекты (например, константы, журналы документов) не имеют модуля. Подробное описание назначений модулей см. в разделе «Что такое мный модуль?» справки по встроенному языку. И данном разделе поясним назначение модуля объекта. В этих модулях но объявление переменных, процедур и функций, которые будут доступны при работе с объектом извне во встроенном языке, дополняя контекст та. В модулях объектов располагают процедуры обработки различных событий, например, ввода на основании. Также в нем располагают различные процедуры, с помощью которых выполняются действия над объектом, ированные вне данного объекта (например, выполнение печати). Макет Макетом в системе программ 1С:Предприятие 8.1 называется объект гурации, предназначенный для формирования печатных форм. Общие макеты печатных форм располагаются на ветви Макеты ветви Общие дерева конфигурации, печатные формы объектов конфигурации ников, документов, журналов документов, планов счетов, планов видов хпрактеристик, планов видов расчетов, регистров, отчетов и обработок и других объектов) располагаются в подчиненных объектах Макеты, а также во ппсшних файлах (в этом случае должно быть установлено свойство ного документа Макет). Макеты могут быть следующего типа: • Табличный документ - предполагает использование стандартной технологии создания и использования макетов. Подготовка макета производится с помощью табличного редактора. Это наиболее часто используемый тип макета. • Двоичные данные - используются двоичные данные. • ActiveDocument — предполагает использование технологии OLE Active document. • HTML-документ - предполагает использование редактора HTML- документа.
1-42 1С:Предприятие 8.1. Конфигурирование и администрирование • Текстовый документ - предполагает использование текстового документа в качестве макета. Подготовка текстового макета дится с помощью редактора текстовых макетов. • Географическая схема — предполагает использование географической схемы, подготовленной в редакторе географических схем, в качестве макета. • Графическая схема - предполагает использование подготовленной в редакторе графической схемы. • Схема компоновки данных - предполагает использование схемы новки данных, подготовленной в конструкторе. • Макет оформления компоновки данных - предполагает использование макета оформления системы компоновки данных. Технологические средства конфигурирования и администрирования Для описания специфических алгоритмов обработки информации и ния интерфейса, ориентированного на удобное представление описанных в конфигурации данных, в системе 1С:Предприятие 8.1 используется ко технологических механизмов. Встроенный программный язык. Необходимость наличия встроенного языка определена концепцией настраиеаемости системы. Синтаксис го языка вполне отвечает стандартам высокоуровневых языков. Язык является предметно-ориентированным. Он поддерживает рованные типы данных предметной области, определяемые конфигурацией системы. Работа с этими типами данных в языке организована с ванием объектной техники. Язык ориентирован на пользователей различной квалификации. В частности, его отличает мягкая типизация данных, чивающая быстрое написание программных модулей, и жесткий контроль синтаксических конструкций, уменьшающий вероятность ошибок. Так как система сочетает в себе визуальные и языковые средства гурирования, использование встроенного языка в системе имеет событийно-зависимую ориентацию, то есть языковые модули используются в конкретных местах для отработки отдельных алгоритмов, настраиваемых в процессе конфигурации. Так, например, для документа можно описать алгоритм автоматического заполнения реквизитов при вводе нового та. Данная процедура будет вызвана системой в нужный момент. Механизм запросов. Для получения произвольных отчетов сложной туры в системе предусмотрен предметно-ориентированный механизм запросов. Данное средство опирается на существующую условно-перемен-
Глава 1. Концепция системы 1-43 пую структуру информационной базы системы, что позволяет сравнительно просто описывать достаточно сложные запросы. Встроенный текстовый редактор используется для создания программных модулей на встроенном языке и для редактирования документов в тексто- иом виде. Одной из особенностей редактора является возможность контекстного пыделения цветом синтаксических конструкций встроенного языка, а также группировка различных синтаксических конструкций. При наборе текстов на встроенном языке удобно пользоваться контекстной подсказкой и шаблонами. Благодаря тому, что встроенный язык системы имеет мощные средства манипулирования текстами, текстовый формат может быть успешно исполь- чован для обмена с другими системами самой различной информацией. Встроенный редактор форм. Работа с настраиваемыми структурами данных и работа в интерфейсе операционной системы Microsoft Windows вызывает необходимость произвольной настройки форм для ввода и редактирования информации. Для этого в системе 1С:Предприятие 8.1 существует ный редактор форм. Редактор позволяет оформить большинство окон, которые используются в системе для ввода и просмотра предметной информации (формы тов, справочников, настройки отчетов). Встроенный редактор табличных документов. Для всех выходных тов (первичных документов и отчетов) в системе предусмотрен единый формат — формат табличных документов. Редактор табличных документов - это мощное средство, сочетающее в себе оформительские возможности табличной структуры и векторной ки. Он может быть использован как для создания небольших документов с очень сложной структурой линий (типа платежного поручения), так и для объемных ведомостей, журналов и других подобных документов. Редактор табличных документов предоставляет пользователям богатый нпбор оформительских возможностей (шрифты, цвета, линии, узоры). ся возможность вывода информации в графическом виде (диаграммы). Одной из главных особенностей редактора табличных документов ся ориентация на формирование отчетов при помощи встроенного языка системы 1С:Предприятие 8.1. Гибкое построение отчетов с его помощью становится возможным благодаря наличию механизма манипулирования именованными областями документа. Редактор табличных документов позволяет манипулировать не только горизонтальными, но и ми областями, что делает возможным создание отчетов, масштабируемых
1-44 1С:Предприятие 8.1. Конфигурирование и администрирование не только в высоту, но и в ширину. Сочетание возможностей редактора с такими объектами, как построитель отчетов и сводная таблица, позволяет создавать универсальные отчеты, которые дают возможность обрабатывать и представлять информацию в различных разрезах и различной ции без дополнительного вмешательства разработчика. С другой стороны, табличный документ может выступать в качестве элемента управления формы и таким образом использоваться для ввода данных. Встроенный редактор картинок. Редактор позволяет создавать ки произвольных размеров для использования их в качестве пиктограмм панели инструментов, картинок кнопок и других оформительских целей. Встроенный редактор HTML-документов. Редактор позволяет создавать пользовательские описания и имеет большие оформительские ти (механизм гиперссылок, использование стилей, размещение картинок и т. д.). Конструкторы — вспомогательные инструменты, облегчающие ку стандартных элементов системы 1С:Предприятие 8.1. В системе имеются, например, конструкторы форм констант, справочников, документов, лов документов, отчетов и других объектов, конструкторы печатных форм, конструкторы движений регистров и другие. С помощью конструкторов производится не только формирование визуальных составляющих этих объектов, но и в некоторых случаях (ввод на основании, печать, выходная форма и др.) формируются программные модули. Система настройки пользовательских интерфейсов. Для того чтобы фейс конкретной конфигурации системы полностью отражал настроенные структуры данных и алгоритмы, в системе 1С:Предприятие8.1, помимо редактора диалоговых форм и табличных документов, предусмотрена возможность настройки общих интерфейсных компонентов системы: меню, панелей инструментов, комбинаций клавиш. На этапе конфигурирования может быть создано несколько ских интерфейсов для разных категорий пользователей (руководителей, менеджеров, кладовщиков и других). В процессе работы с программой пользователь может самостоятельно выбрать нужный интерфейс (если ему предоставлены соответствующие права). При выборе интерфейса автоматически устанавливается стиль оформления, состав пользовательского меню и панелей инструментов, права выполнения тех или иных действий с данными (просмотр, ввод и рование данных, пометка удаления, проведение документов и т. д.). Подсистемы. Конфигуратор позволяет на эгапе проектирования в рамках одной конфигурации выделить различные подсистемы (например, торговый
Глава 1. Концепция системы 1-45 учет и исследовательский комплекс). Для каждого объекта конфигурации можно указать, к какой подсистеме относится данный объект. Допускается указание принадлежности к нескольким подсистемам. Это позволяет легко и быстро настраивать конфигурацию по различным видам деятельности и производить выбор объектов, относящихся к определенной подсистеме. Система настройки прав доступа (роли). Данная система позволяет вать наборы прав, соответствующие должностям пользователей или виду деятельности. Структура прав определяется конкретной конфигурацией системы. Например, могут быть введены такие наборы прав, как Главный бухгалтер, Кладовщик, Менеджер, Начальник отдела. Кроме того, для объектов, хранящихся в базе данных (справочник, ты, регистры и т. д.), могут быть определены права доступа к отдельным нолям и записям. Сам список пользователей создается уже для конкретной организации. Каждому пользователю назначается одна или несколько ролей, основной интерфейс и язык, используемые при работе с программой. Отладчик. Для удобства разработки конфигурации в системе рен отладчик. Отладчик позволяет прослеживать исполнение программных модулей конфигурации, замерять сравнительное время исполнения, ривать содержимое переменных. Администрирование работы пользователей. Для отслеживания текущего состояния работы системы используется режим ведения списка лей и просмотра списка активных пользователей. Он позволяет просмотреть, кто из пользователей в настоящий момент работает с конкретной мационной базой и в каком режиме. Для учета и просмотра действий пользователей используется журнал регистрации, в котором записываются различные события, связанные как с работой пользователя (подключение и отключение, выполнение действий с данными), так и поведение системы (регистрация ошибок). Хранилище конфигураций. Для групповой разработки конфигурации разработчики используют механизм хранилища конфигурации. Он ляет распределить права доступа по модификации объекта конфигурации и производить необходимые изменения одновременно, а не последовательно. Поддержка конфигураций. Для удобства проведения обновлений гураций предусмотрен механизм формирования разработчиками типовых конфигураций файлов поставки и комплектов поставки (включают программу установки), а также механизм обновления типовых ций, находящихся на поддержке.
Глава 2 Конфигурирование В этой главе будут рассмотрены общие приемы работы с объектами рации, которые применимы к объектам любых типов. Особенности создания и редактирования объектов конфигурации различных типов ся далее в соответствующих главах Руководства. В данной главе в основном рассматриваются визуальные средства ления объектами конфигурации, имеющиеся в конфигураторе. Описание встроенного языка представлено в справке по встроенному языку. О сохранении и восстановлении информационной базы данных см. стр. 2-868. В информационной базе системы 1С:Предприятие 8.1 хранятся две рации— основная конфигурация (редактируемая, далее просто конфигурация) и конфигурация базы данных. Конфигурация базы данных определяет туру таблиц базы данных и всю функциональность, с которой работают пользователи. Основная конфигурация используется только для изменения. Это позволяет вносить и сохранять изменения в конфигурации в процессе работы пользователей. Произвести изменение в конфигурации базы данных в процессе работы пользователей нельзя. О работе с конфигурацией базы данных см. параграф «Дерево объектов конфигурации базы данных» на стр. 1-69. Открытие конфигурации Работа с конфигурацией осуществляется в окне Конфигурация. Для тия конфигурации выберите пункт Конфигурация - Открыть конфигурацию. На экран выводится окно Конфигурация. Чтобы увеличить рабочую область для работы с различными объектами, окно Конфигурация можно временно закрыть. Закрытие окна Конфигурация не означает завершение работы с отдельными ее составляющими, ми для редактирования: закрывается не конфигурация, а окно конфигурации. Для открытия окна Конфигурация выберите пункт Конфигурация - Окно конфигурации.
Глава 2. Конфигурирование 1-47 Сохранение конфигурации В процессе редактирования конфигурации могут быть созданы новые, изменены существующие или удалены имеющиеся объекты, подчиненные объекты (формы, реквизиты и т. д.). Любое такое изменение приводит к модифицированное™ конфигурации. Признак модифицированное™ гурации показывается в заголовке окна Конфигурация. Для сохранения конфигурации (без завершения работы с конфигурацией) пыберите пункт Конфигурация - Сохранить конфигурацию. Пункт доступен, если конфигурация была изменена, в отличие от редакторов текстового, табличного и HTML-документов, для которых пункт доступен всегда. Сохранение измененной конфигурации возможно в любой момент времени, даже если запущен режим 1С:Предприятие или производится отладка. Закрытие конфигурации Для закрытия конфигурации выберите пункт Конфигурация - Закрыть конфигурацию. При этом если конфигурация была модифицирована (были произведены изменения), то конфигуратор выводит сообщение: гурация была изменена. Сохранить изменения? Для сохранения внесенных пчменений выберите кнопку Да. Зикрытие конфигурации с сохранением произведенных изменений но в любой момент времени, даже если запущен режим 1С:Предприятие или производится отладка. Сохранение конфигурации в файл Для сохранения конфигурации в файл на диск выберите пункт ция - Сохранить конфигурацию в файл. На экран выводится стандартный диалог выбора файла. Выберите каталог и укажите имя файла, в который будет записана конфигурация. Сохраненный файл конфигурации необходим для операции сравнения и объединения конфигураций (см. главу 18, параграф «Сравнение и нение конфигураций»). ечание. Если конфигурация стоит на поддержке, то в онной базе всегда хранится конфигурация поставщика.
1 -48 1 (^Предприятие 8.1. Конфигурирование и администрирование Загрузка конфигурации из файла Для полной замены текущей конфигурации на конфигурацию, сохраненную в файле, выберите пункт Конфигурация - Загрузить конфигурацию из файла. Дерево объектов конфигурации Конфигурация представляется в виде древовидной структуры, каждая ветвь которой описывает определенную составляющую конфигурации. ты конфигурации в дереве конфигурации представлены своими именами. Например, на ветви Документы располагаются объекты всех документов, используемых в конфигурации, а ветвь РасходнаяНакладная ет объект документа Расходная накладная, ветвь Общие - Роли - все роли (права доступа к информации), используемые для различных видов вателей, а ветвь Менеджер — права доступа менеджера отдела продаж и т. д. Корневые ветви дерева объединяют объекты конфигурации, логически связанные между собой и имеющие общее назначение. Например, ветвь Документы объединяет объекты типа Последовательности, Нумераторы и, собственно, объекты конфигурации типа Документ. Все эти объекты предназначены для организации ввода документов в системе 1С:Предприятие 8.1. Приемы работы с деревом конфигурации не отличаются от приемов работы с другими «древовидными» списками в операционной системе Microsoft Windows (например, со структурой папок, изображаемой на левой панели программы Проводник). Существует одна удобная возможность при работе с деревом конфигурации: если выделить наименование конфигурации, расположенное в корневом узле дерева конфигурации, и нажать клавишу «*» на правой цифровой туре, дерево раскроется полностью. Однако повторным нажатием клавиши «*» также полностью свернуть дерево нельзя - это придется делать отдельно для каждой ветви. Полностью раскрытое дерево позволяет просмотреть все объекты, вующие в конфигурации. Объекты конфигурации в пределах «своей» группы объектов конфигурации можно расставить в требуемом порядке. В таком же порядке объекты гурации будут выдаваться в различных списках. Для перестановки объекта конфигурации необходимо выделить его в окне Конфигурация и использовать пункты меню Действия - Переместить вверх или Действия - Переместить вниз, а также Действия - Упорядочить список.
Глава 2. Конфигурирование 1 -49 Для удобства поиска в дереве конфигурации объекта, редактируемого в данный момент (окно редактирования объекта, формы, макеты, модули), используйте пункт меню Правка - Найти в дереве. Предварительно те активным окно редактирования объекта. После выполнения команды в дереве конфигурации будет выбран объект, данные которого в данный момент редактируются. Поиск можно также осуществить с помощью набора на клавиатуре наименования объекта. Так как объекты в дереве ции обычно не отсортированы по наименованию, для продолжения поиска следующего объекта переместите указатель на следующий объект и снова начните ввод наименования. Наименования объектов конфигурации, а также подчиненных объектов (реквизитов, табличных частей, форм и т. д.) можно перетаскивать в модули и текстовые документы с помощью мыши стандартным образом. Настройка сортировки Данный режим предназначен для сортировки объектов конфигурации. За один раз могут быть отсортированы однотипные объекты конфигурации, подчиненные одному объекту конфигурации. Например, формы го справочника. Сортировать по - выбор свойства, по которому будет выполняться ровка: • по Имени. Сортировка будет выполнена по именам объектов рации; • по Синониму. Сортировка будет выполнена по синонимам объектов конфигурации; • по Комментарию. Сортировка будет выполнена по комментариям объектов конфигурации. Направление сортировки - выбор направления сортировки: • По возрастанию. Будет выполняться сортировка в порядке возрастания; • По убыванию. Будет выполняться сортировка по убыванию. Создание и удаление объекта конфигурации Создание объекта конфигурации Управление большинством объектов конфигурации выполняется в окне Конфигурация. В этом параграфе будут изложены общие приемы ния объектов конфигурации, применимые к объектам конфигурации любых in нов.
1-50 1С:Предприятие 8.1. Конфигурирование и администрирование Для создания нового объекта конфигурации необходимо выполнить ющие действия: • в дереве конфигурации выделите наименование типа объекта гурации или любого из существующих объектов конфигурации того типа, который должен быть у создаваемого объекта; • выберите пункт Действия - Добавить окна Конфигурация. Создание нового подчиненного объекта можно также производить щим образом: • откройте окно редактирования объекта (выберите пункт Действия - Изменить окна Конфигурация); • укажите нужный вид подчиненного объекта; • нажмите кнопку Добавить. В результате этих действий на текущей ветви дерева конфигурации ся новый объект, а на экран для редактирования свойств этого объекта будет автоматически вызвана, если палитра еще не была открыта (о работе с палитрой свойств см. стр. 1-52). Для объектов, имеющих широкий набор редактируемых свойств, дополнительно к палитре свойств может ся окно редактирования (о работе в окне см. параграф «Окно редактирования объекта» на стр. 1-60). Новому объекту конфигурации присваивается условное имя, состоящее из слова, соответствующего типу создаваемого объекта, и числа — порядкового номера нового объекта конфигурации. Например, для нового ка имя будет начинаться со слова «Справочник». Палитра свойств объекта будет содержать значения свойств, задаваемые по умолчанию. В конфигураторе контролируются имена объектов перед обновлением конфигурации базы данных и перед формированием поставки. Для объектов, которые могут иметь подчиненные объекты (например, справочник может иметь реквизиты, табличные части, формы и макеты), производится создание нужного числа и состава подчиненных объектов. Их формирование и настройка производятся с использованием различных средств конфигуратора. Для облегчения создания некоторых составных частей (запросов, макетов и процедур печати, движений регистров, ввода на основании) объектов в конфигураторе имеются различные конструкторы — вспомогательные инструменты, облегчающие процесс проектирования (подробнее см. стр. 2-644). Для тех типов объектов, которые могут иметь формы, в системе имеются 1 конструкторы форм - вспомогательные инструменты, облегчающие разра-1
Глава 2. Конфигурирование 1-51 Вотку форм объектов. Конструктор форм запускается при создании новой формы (о работе с конструктором форм см. стр. 2-660). Для редактирования форм предназначен редактор форм, работа с которым описывается на стр. 2-675. Редактирование макетов, которые основаны на табличном документе, производится редактором табличных документов (см. стр. 2-742). Для формирования макетов можно использовать конструктор печати (см. стр. 2-655) и конструктор выходных форм (см. стр. 2-645). Редактирование макетов, которые основаны на текстовом документе, произ- иодится редактором текстовых документов (см. стр. 2-719). Программы на встроенном языке, располагающиеся в модулях, создаются с использованием текстового редактора (см. стр. 2-719). Для создания нового объекта можно использовать механизм перетаскивания объектов с помощью мыши. При перетаскивании объекта (как в пределах иевоей» ветки, так и за ее пределы) создается новый объект. При этом произ- нодится проверка возможности использования исходных свойств объекта и результирующем. Если результирующий поддерживает свойства, то они Копируются. Пример успешного копирования: перенос реквизитов, макетов справочника в документ. При копировании того же справочника в объект Типа Стиль успешно перенесутся только имя, синоним и комментарий. Пели исходный объект содержит подчиненные объекты (реквизиты, формы, мнкеты и др.), то при перетаскивании на «подобный» уровень (например, перетаскивается объект Справочник Валюты в ветвь Документы) скопиру- ются реквизиты, формы, макеты и табличные части. При этом некоторые инойства составных частей могут быть изменены (например, для документа hi сутствует свойство Родитель). Удаление объекта конфигурации Для удаления объекта конфигурации укажите его в дереве конфигурации и ныберите пункт Действия - Удалить окна Конфигурация. Если на объект нет иеылок в других объектах конфигурации, объект удаляется. 1'сли на объект есть ссылки (объект используется), то выдается сообщение: Объект не может быть удален, так как на него есть ссылки в других объектах! Л и окне сообщений выводится список использования данного объекта I рисунке приведен пример окна нии при попытке удаления документа I (оныКонкурентов. Ш и *¦ Объект*"Документ.ЦеныКонкурентов"¦использован* в: К ЖурналДовументов. Общий.РегистрируемыеДокументы ' ~Ш '
1-52 1С:Предприятие 8.1. Конфигурирование и администрирование Для перехода к объекту, в котором используется ссылка на удаляемый объект, дважды щелкните мышью наименование этого объекта в окне сообщений. Ссылки на объект конфигурации С точки зрения взаимосвязи объекты конфигурации делятся на ные (например, реквизит Закупочная цена, имеющий тип Число) и связанные (например, реквизит Единица измерения справочника Номенклатура, ющийся на справочник Единицы измерения). Часто бывает полезно знать, какие объекты конфигурации ссылаются на данный объект, а также выяснить, какие объекты связаны с данным том. Для этих целей используются команды Действия - Поиск ссылок на объект и Действия - Поиск ссылок в объекте окна Конфигурация. На экран выводится диалог. В нем нужно указать область поиска (свойства, подчиненные объекты) и нажать кнопку ОК. Если ссылки есть, то при выполнении команды в окно сообщений выводится список ссылок. Если ссылок нет, то на экран выводится предупреждение: Ссылок на данный объект не существует или Ссылок в объекте не обнаружено. Команда Действия - Поиск ссылок в объекте удобна в случае, когда объект имеет составной тип. Для перехода по ссылке необходимо дважды щелкнуть мышью ющую строку с наименованием объекта-ссылки в окне сообщений. штшшш м"*" |^™ 1'""""™'*" '¦' '¦ ч/ В свойствах * П В Формах ? В макетах , Г"]В справке 1 « .1 ] Отмена ) | (лрэвга ] Палитра свойств Процесс редактирования объекта конфигурации заключается в изменении свойств объекта, чтобы добиться требуемого поведения объекта в процессе использования. Палитра свойств — это окно в виде набора свойств, которые можно! определить для объекта конфигурации. Состав свойств зависит от типа| редактируемого объекта. В этом параграфе описываются основные приемы работы с палитрой] свойств.
Глава 2. Конфигурирование 1-53 Для вызова палитры свойств укажите объект конфигурации и выберите пункт Правка - Свойства. В палитре свойств свойства объекта группируются по категориям. Число категорий и состав свойств, размещенных в каждой категории, зависят от вида рассматриваемого объекта. Например, для реквизита документа палитра свойств содержит только категории свойств Основные, Характеристики и Тип данных. Состав свойств категории также зависит от вида объекта. Даже в случае выбора одинаковых видов объектов состав свойств определяется индивидуальными настройками конкретных объектов. Например, для иерархического справочника в состав свойств табличного ноля категории Использование дополнительно включаются свойства Дерево, Иерархический просмотр и другие. Состав свойств также зависит от выбранных значений других свойств. Например, в свойстве Тип при выборе примитивного типа Число ляются свойства, характеризующие выбранный тип: Длина, Точность и Неотрицательное. Панель инструментов палитры свойств состоит из пяти кнопок. С помощью первых трех кнопок (слева) производится управление показом свойств. Кнопка •л fit 11 V X Действие Производит вывод свойств объекта, отсортированных по алфавиту (кнопка нажата). Сами категории не показываются Производит вывод свойств объекта, отсортированных по категориям (кнопка нажата) При нажатой кнопке выводятся только важные свойства объекта; при отжатой - все свойства Записать изменения в текстовое поле свойства Отмена изменений в текстовом поле свойства ?[цтегории свойств можно располагать в виде закладок или списком. 1ри расположении свойств списком сами свойства могут быть ны в виде списка по категориям или по алфавиту (при этом наименования кптегорий не показываются). Для выбора способа показа категорий (должен быть включен показ рий - кнопка 1&| нажата) в любом свободном месте окна палитры свойств in кройте контекстное меню и выберите нужный способ показа (Закладками Или Списком). Если выбран способ показа Закладками, то кнопки (Н и fet) Ьшювятся недоступными.
1 -54 1 С:Предприятае 8.1. Конфигурирование и администрирование При выборе способа показа Закладками для перехода к свойствам другой категории необходимо щелкнуть мышью соответствующую закладку. Для возврата к режиму показа категорий списком в окне свойств тного меню выберите пункт Списком. Если выбран способ показа Списком, то свойства объекта располагаются по категориям или по алфавиту. Для расположения по алфавиту нажмите кнопку "I панели инструментов палитры свойств. Все свойства ются подряд в алфавитном порядке. Для расположения по категориям нажмите кнопку Ш панели инструментов. Все свойства группируются по категориям в виде списка (одна под другой). Наименование категории показывается полужирным шрифтом. Слева от наименования расположена кнопка управления показом свойств, входящих в категорию. Кнопка позволяет скрыть или показать набор свойств. Кнопка Ў означает, что свойства объекта данной категории показываются. При нажатии на кнопку свойства объекта данной категории становятся не видны, а сама кнопка принимает вид >. Двойной щелчок мыши по наименованию категории свойств приводит к сворачиванию всех остальных категорий и показа свойств данной категории. При нажатой кнопке f3 производится показ только важных (основных) свойств объекта (независимо от режима показа списком или закладками, по категориям или по алфавиту). Для просмотра всех свойств снова те на кнопку *Щ. В зависимости от вида объекта его свойства бывают доступными или недоступными для изменения. Например, в текстовом документе свойства объекта предназначены только для показа числа строк и символов, а также статуса документа, но они недоступны для изменения. Каждое свойство в палитре свойств имеет наименование, а также тое пояснение. Режим получения развернутого описания устанавливается с помощью команды контекстного меню Пояснение, вызываемого в любом свободном месте палитры свойств (вне полей ввода). Если этот режим установлен, то при выборе свойства в нижней части палитры свойств выводится развернутое пояснение. Помимо пояснительного описания может выводиться имя свойства для доступа к значению из программного модуля. Для свойств, которые могут быть доступны с помощью средств го языка, можно настроить их показ в виде наименования или в виде имен свойств. Например, свойство с наименованием Тип значения имеет имя ТипЗначения. Режим показа можно изменить с помощью команды жать имена свойств контекстного меню. Имена свойств показываются в соответствии с выбранным вариантом встроенного языка.
Глава 2. Конфигурирование 1-55 Важно! Имена свойств объектов метаданных и объекта метаданных Конфигурация не отображаются. Способ ввода значений в палитре свойств зависит от типа го свойства Для текстовых реквизитов - это обычный ввод текста (можно использовать буфер обмена), для свойств типа «флажок» - щелчок мышью. Чначения некоторых свойств выбираются из списков. Поля таких свойств имеют кнопку Ў. Если поле свойства имеет кнопку выбора 0, то при ее нажатии открывается окно, в котором производится выбор значения тва (или его просмотр в случае, когда редактирование объекта невозможно, например, для незахваченных в хранилище конфигурации объектов или для объектов, находящихся на поддержке без возможности редактирования). К таким свойствам относится, например, выбор файла картинки, ние цвета и другие. По кнопке редактирования Ы для текстовых данных вызывается окно редактирования строки на разных языках, для событий — процедура модуля формы, отрабатывающая данное событие, для свойств из категории Представление - существующая форма объекта данных. По кнопке очистки X производится сброс значения указанного свойства. При начале редактирования любого текстового поля палитры свойств становятся доступными кнопки панели инструментов палитры свойств X (Отменить редактирование) и V (Сохранить). Нажатие кнопки X отменяет произведенные изменения. Нажатие кнопки ^ записывает изменение. И палитре свойств могут располагаться специальные ссылки, с помощью которых открываются связанные с выбранным объектом различные формы. Например, вызов справочной информации (описание) объекта ции, различных форм, процедур модуля формы. Такие ссылки изображаются подчеркнутым текстом, например: Открыть. При подведении указателя мыши к ссылке он принимает форму ф. Нажатие ссылки открывает окно, связанное с этой ссылкой. Рели просматриваются свойства объекта, редактирование которого щено (например, объект не захвачен в хранилище (см. главу 19 «Групповая ризработка конфигурации»), то допускается открытие диалога типа. Некоторые приемы выбора элементов управления Палитра свойств показывает свойства текущего (выделенного) объекта Конфигурации. Для доступа к свойствам нужного объекта в большинстве Случаев достаточно просто выбрать объект и открыть палитру свойств (если она не была открыта). Однако в некоторых случаях необходимо ся специальными приемами выбора элементов управления. К таким случаям
1 -56 1 С:Предприятие 8.1. Конфигурирование и администрирование относятся: табличный документ, размещенный в форме (Поле го документа); панель, которая содержит элемент управления (например, другую панель), полностью ее перекрывающий; диаграмма. Поле табличного документа Если в форме размещен элемент управления Поле табличного документа (при размещении ему присваивается имя ПолеТабличногоДокументаМ, где N - очередной порядковый номер элемента управления), то для просмотра и редактирования свойств самого элемента управления необходимо, чтобы был выбран именно элемент управления, а не ячейка табличного документа. Внешне выбор можно контролировать по содержимому палитры свойств и по виду контура выделенного элемента управления. Когда выделена ячейка (т. е. осуществляется доступ к объектам поля табличного документа), контур имеет следующий вид. Когда выбран сам элемент управления и можно редактировать свойства элемента управления Поле табличного документа, то контур принимает следующий вид. що 1_ WPPfc Я> • . Есть несколько способов выбора элемента управления. • Если выделена ячейка поля табличного документа, то для выбора элемента управления нажмите клавишу Esc. • Щелкните мышью рамку элемента управления. • Выберите любой другой элемент формы и с помощью клавиши Tab (или Shift + Tab) перейдите на поле табличного документа. Панель Панель, которая содержит элемент управления (например, другую панель), полностью ее перекрывающую (закладки не отображаются), становится недоступной для выбора с помощью мыши.
Глава 2. Конфигурирование 1 -57 В этом случае выбрать нужный элемент можно с помощью перехода между элементами управления (клавиша Tab или Shift + Tab). Выбор го элемента управления контролируется палитрой свойств. При переходе между элементами следует просматривать свойство Имя. Диаграмма Диаграмма может располагаться в форме и в табличном документе и ит из собственно диаграммы и областей построения, легенды и заголовка. 11астройка диаграммы производится отдельно по каждой области. В общем случае области могут пересекаться, т. е. налагаться друг на друга, поэтому доступ к нужной области может быть закрыт другой областью. Для понимания механизма выбора рассмотрим случай, когда все названные иыше области пересекаются. Выбор нужной области диаграммы дится с помощью мыши следующим образом: 1. Щелкните мышью в любом месте, в котором может располагаться нужная область. Одна из областей будет выбрана. 2. Если область не та, что требуется, щелкните мышью еще раз. Будет выбрана следующая область, расположенная в этом месте диаграммы. 3. Повторите предыдущее действие до тех пор, пока не будет выбрана нужная область. 11сребор областей «закольцован», поэтому, если требуется выбрать дущую область, следует повторить действие до выбора нужной области. Следует обратить внимание на то, что в форме диаграмма представляет собой элемент управления, а в табличном документе — рисунок. В форме для доступа к свойствам элемента управления достаточно щелкнуть мышью по границе диаграммы или перейти к элементу ния с помощью клавиши Tab или Shift + Tab. В табличном документе, чтобы получить доступ к свойствам рисунка, щелкните мышью в любом месте диаграммы (если до этого диаграмма не Пыла выделена). Для доступа к свойствам областей диаграммы выделите диаграмму как рисунок, а затем нажмите клавишу Enter или дважды щелкните мышью диаграмму. Выбор требуемой области производится щелчком мыши в ной области. Если области пересекаются, то выбор нужной области осущест- плястся последовательно, как для диаграммы, расположенной в форме. Окно «Дополнительно» Для удобства просмотра и установки основных интерфейсных свойств объекта конфигурации можно использовать окно Дополнительно. Для его «и крытия выберите пункт Правка - Дополнительно.
1-58 1С:Предприятие 8.1. Конфигурирование и администрирование Для просмотра свойств достаточно в окне Конфигурация выбрать требуемый объект. Его свойства будут сразу показаны в окне Дополнительно. Информация в окне распределена по закладкам. На закладке Подсистемы представлены подсистемы конфигурации. ми отмечены те подсистемы, в которым принадлежит данный объект. Дополнктельно: РеализацняТоваров. ¦ftt. Подсистемы [ЧЧПрава ЩИнгерФейсы ij" Планы обмена ^Вводнаосновании i[%3 УправлениеТорговлей |-П->„ ипп ЁТТ"^1 Конфигурации | ^"П"?1 УправлениеТорговлей Н-Ц-5" ПрикладныеЗадачи J-Q* Банк *3^ Взаиморасчеты -0%, Заказы -Q4"i Касса "CIHh. ПланированиеПродаж Н !-%¦ ПлатежныйКалендарь ZHh, Сервис ~0"§1 ПередачаНаКомиссию ~1 Нк Подотчетники "О"??. ПриемНаКомиссию "О"!*. РогничнаяТорговля и ДЙмЙМ т.». mi.ujjjiiua -¦¦ На закладке Права представлен список ролей и права каждой роли по му объекту. 11% Подсистемы |^ Права |Щ Интерфейсы | чЩ Планы обмена ЩHвод на основании 3 ¦Роли. f Менеджер Права. |jp ? •ИНН! #"' ' л !Я""И[ '*"л? ""'ЧВйЯ 3 Добавленив 0 Изменение 0 Удаление 0 Проведение ? D т Ограничения доступа к аанным. Поля i i i i
Глава 2. Конфигурирование 1 -59 В табличном поле Ограничение доступа к данным редактируются ния доступа к данным на уровне отдельных полей и записей (подробнее см. параграф «Режимы удаления данных» на стр. 1-89). На закладке Интерфейсы представлен список интерфейсов и команды каждого интерфейса по данному объекту. Дополнительно: РеализацияТоваров _!_ *Х Подсистемы! ЦЧ Права | Щ Интерфейсы | ^ Планы обмена Ц+] Ввод на основании |ИнтерФейсы: ЯГ I Администратор Соманды: r*««rt "-j-.?—-у П Реализация товаров. В вести документ 0 Реализация товаров: Открыть список документов На закладке Планы обмена представлен список планов обмена. В списке отметками указаны те планы обмена, в которых производится учет ний по данному объекту. Дополнительно: РеализацияТоваро! ^5, Подсистемы ^Права ЩИнгерФейсы '"д Планы обмена E?|Ввод на основании $® МДвторегистрация ? Разрешить т/ттшшттштшшшяяшттят шштшштшттттттт
1 -60 1С:Предприятие 8.1. Конфигурирование и администрирование На закладке Ввод на основании представлен список объектов, на основании которых может вводиться данный объект, и список объектов, являющихся основанием планов обмена. Являетсяоснованиемдля: g) Только выбранные Щ Документ.ОтчетКомиссионераОПродажак ОЦ Документ. Контакт Щ Докуменг.СтрокаВыпмскиПршод ОН Документ ПереоценкаТоваровОтданныкНаКомнссию ' Щ Документ.ПрикояныйКассовыйОрдер Ш Документ.ВозвратТоваровОтПокупателя шттшштттшяттттятштшттттттттшттянттштт/ттяттшят Окно редактирования объекта Для основных объектов конфигурации (справочники, документы, журналы документов и др.) редактирование свойств объектов, управление составом подчиненных объектов, настройку взаимодействия объектов удобно водить с помощью окна редактирования объекта. В большинстве случаев окно редактирования объекта вызывается при выборе пункта Действия - Изменить окна Конфигурация. Редактируемые свойства располагаются на нескольких закладках. Каждая закладка содержит набор реквизитов для настройки свойств объекта ленного вида. Так, на закладке Основные вводятся свойства Имя, Синоним и Комментарий; на закладке Подсистемы указывается, в каких подсистемах используется данный объект. Переход по закладкам производится с помощью кнопок Далее> и <Назад. Кроме того, нужная закладка может быть выбрана указателем мыши. В форме есть кнопка Действия, при нажатии которой на экран выводится контекстное меню объекта С помощью команд этого меню можно открыть нужную форму, модуль объекта (если есть), вызвать нужный конструктор и другие действия. Состав закладок и набор управляющих элементов на однотипных закладках может меняться в зависимости от типа объекта конфигурации.
Глава 2. Конфигурирование 1-61 Например, для объекта Справочник окно редактирования выглядит щим образом. I IHI-ltl'i ESEL | > Основные Иереркия еяьцы Ленные Нумерация Формы Макеты Подсистемы Ввод на основании Права Интерфейсы Планы обмена Прочее Имя- Синоним. Комментарий: 'Номенклатура Номенклатура Действия *] <Назад 1 Даяее> | | Закрьт>_ J Справка шшщттчшятшт. На закладке Основные указываются свойства Имя, Синоним и рий. На закладке Данные ются реквизиты, ресурсы, измерения, табличные части и реквизиты ных частей, а также другие подчиненные объекты (в зависимости от типа та). Кроме того, на закладке могут содержаться другие элементы управления для настройки свойств, терных для конкретных типов объектов. Основные Иерархия владельцы ш Ж » Данные (марания Формы Макеты Подсистемы Ввод на основании Права Интерфейсы Планы обмена Прочее Длина кода Длина наименования Тип кода ——— Окисла © Строка QS I шс, для справочника определяется длина наименования и кода, указывается ни кода и основное представление элемента справочника. С помощью кнопок нели инструментов, положенной над ками подчиненных тов, производится ление, удаление и дочивание этих объектов. Свойства подчиненных объектов задаются в литре свойств. ¦ Основное представпение— О В виде коде 0 В виде наименования ?*ЧН I Ш -— НанменаеашеПолное -— Артикул -— ЕдиницаХраненинОстатков -— БазоваяЕдиницаИзмерения -— Набор &Ъ* * ш | Действия -] [<Назад j й Далее* J j Закрыть j f~ Сгдзавка Если окно ния открыто для объекта, редактирование го запрещено (например, объект не захвачен в нилище (см. главу 19 «Групповая разработка «шфигурации»)), то допускается открытие диалога типа.
1 -62 1 С:Предприятие 8.1. Конфигурирование и администрирование На закладке Формы ся управление формами объекта и выбираются основные формы. Для справочников, планов видов характеристик, нов счетов, планов видов расчета на закладке Формы производится выбор соба редактирования и указывается способ выбора. Если для тирования выбрано значение В списке, то формация по ному элементу будет вводиться в форме списка. Если выбрано значение В диалоге, то будет открываться отдельная форма та справочника. Если выбрать Обоими способами, то в режиме 1С:Предприятие в состав команд формы списка справочника добавляется пункт Редактировать в диалоге, который представляет собой переключатель (если в настройках списка установлено свойство Изменять режим рования). При выборе этого пункта редактирование производится в диалоге, в противном случае - в списке. Если в окне редактирования указано Из формы, то выбор значения всегдл производится из формы. Если указано значение Быстрый выбор, то выбо значения всегда производится из выпадающего списка, независимо or установки свойства Быстрый выбор элемента управления, использующе!» редактируемый объект. Если выбрано Обоими способами, то способ выбора определяется свойством Быстрый выбор элемента управления. Если ош установлено, то осуществляется быстрый выбор из выпадающего списки; если не установлено, то из формы. Для прикладных объектов (справочники, документы, планы видов ристик, планы счетов, планы видов расчета, регистры, бизнес-процессы и задачи, а также планы обмена) в свойстве Ввод по строке формируются пол) ввода по строке (см. книгу «Руководство пользователя», главу 9, парагра «Реквизиты ссылочных типов»). В нем могут указываться основные зиты (для справочников, планов видов характеристик, планов счетов, плано! видов расчета, планов обмена—Код и Наименован ие, для документов - Номе, >, для бизнес-процессов и задач - Номер и Наименование), а также реквизита имеющие тип Число или Строка, для которых свойство Индексировать имес) ззшяят Ш Основные Иерархия Владельцы Данные Нумерация | > Формы г- Редактирование — 1 О В списке * .1..-^.« О Обоими способами р Выбор 1 О Ms Формы О Быстрый выбор © Обоими способами Ввод по строке | Код. Наименование j.«Ix Макеты Подсистемы Ввод на основании Права Интерфейсы Планы обмена Прочее ¦ Основные Формы Списка Выбора Выбора группы Элемента Группы ФормаСписка [t»fxJQ>{ ФормаВыбора ("•fcfaf 1 Н*Н (ФормаЭлемента |.»|х|^| 1 М*М |^Де^ви?Г*] <Вазаа Дзлее> |^^рыть" ] [ Слржкэ
Глава 2. Конфигурирование 1-63 точение Индексировать или Индексировать с доп. упорядочиванием. ром последних может служить поле для ввода артикула, ИНН. Для формирования списка реквизитов нажмите кнопку выбора и в шемся диалоге перенесите в левый список те поля, по которым может производиться ввод по строке. .XL Выбранные поля Щ ЦЦ Наименование if в 1оля. доступные для введа по строке (•"' OK ^l ОтменоЦ Справка i I icji и полей несколько, то установите порядок их следования. При поиске по »' I роке поиск выполняется в полях в той последовательности, в которой они приведены в данном диалоге. Например, для элемента справочника клатура ввод может осуществляться как по коду, так и по артикулу. Если И пение кода одного элемента совпадет со значением артикула другого, то , И U11 исок найденные значения попадут в том порядке, в котором указаны при ИИСтройке. 11ри добавлении новой формы запускается конструктор форм, с помощью i мморого производится выбор вида формы, подбор состава размещаемых м форме реквизитов и построение собственно формы. Подробнее о работе v конструктором форм см. стр. 2-660. Основные приемы редактирования формы описаны в главе 18, в параграфе «Редактор форм» (см. стр. 2-675). I In чакладке Макеты ведется управление макетами объекта. I | и добавлении нового макета запускается конструктор макетов, с помощью hoioporo создается макет. Подробнее о работе с конструктором макетов i м. параграф «Конструктор макета» на стр. 2-664. Ниже списка макетов располагается кнопка Конструкторы, при нажатии иогорой открывается подменю для выбора вида конструктора (состав иомструкторов зависит от типа объекта). При выборе вида Конструктор печати запускается конструктор печати, г помощью которого создаются макет и процедура для печати. Подробнее и работе с конструктором печати см. стр. 2-655.
1 -64 1 С:Предприятие 8.1. Конфигурирование и администрирование I При выборе вида Конструктор выходной формы запускается конструктор выходных (отчетных) форм (см. стр. 2-645). На закладке Подсистемы указывается, в каких подсистемах используется данный объект. На закладке Права определяются права по объектам данного типа для каждой созданной роли. На закладке Интерфейсы указывается список интерфейсов и список команд работы с объектом данного типа. При выборе интерфейса в списке команд флажками помечены те команды, которые используются в данном се. При установке флажка команда добавляется в интерфейс. Расположение команды (порядок следования) должно быть установлено в редакторе вательского интерфейса (см. стр. 2-669). Для прикладных объектов (справочники, документы, планы видов ристик, планы счетов, планы видов расчета, регистры, бизнес-процессы и задачи) на закладке Планы обмена указывается список объектов типа План обмена. Установите пометку для тех планов обмена, в которых учитываются изменения редактируемого объекта. На закладке Прочее расположены кнопки открытия справочной информации и модуля объекта, а также может располагаться кнопка Предопределенные для открытия списка предопределенных элементов объекта (для ков, планов видов характеристик, планов счетов, планов видов расчетов). Также на закладке могут располагаться реквизиты управления блокировкой (см. стр. 2-358) и настройки использования полнотекстового поиска (см стр. 2-626). Эти реквизиты присутствуют только для следующих ных объектов: справочники, документы, планы видов характеристик, планы счетов, планы видов расчета, регистры, бизнес-процессы, задачи. Некоторые объекты могут содержать специальные закладки, относящиеся только к данному типу объектов. Например, для объекта типа Справочник - это закладки Иерархия, Владельцы, Нумерация; для объекта Документ - это Нумерация, Движения, Журналы и Последовательности; для объекта Планы видов характеристик - Иерархия; для объекта Планы видов расчетов - Расчет и Ввод на основании; для объекта Планы счетов - Субконто; для объект; Регистры расчета - Перерасчеты; для объекта Задача - Адресация; для всез регистров — Регистраторы; для объектов, изменения которых могут ваться планами обмена, - Обмен данными. Основные свойства объектов конфигурации Практически все объекты конфигурации имеют следующие свойства, лагающиеся в категории свойств Основные. Имя - имя объекта конфигурации. Имя должно состоять из одного слоки начинаться с буквы и не содержать специальных символов, кроме «_>¦
Глава 2. Конфигурирование 1-65 I lo имени объекта производится доступ и управление объектом ции средствами встроенного языка. Синоним — помимо имени можно указать также его синоним. Если гурация создается для использования на разных языках, то следует указать синонимы на используемых языках. При работе с системой 1С:Предприя- тие 8.1 он будет выдаваться в различных списках выбора, заголовках окон, i скстах надписей, при формировании интерфейсов с учетом текущего языка. Синоним не имеет ограничений на использование символов. Если синоним не задан, выбирается имя. Имя или синоним, выдаваемые пользователю, также называются представ- яением объекта конфигурации. Комментарий—произвольная строка символов. Как правило, расшифровы- нист и поясняет имя объекта. При показе в различных списках (например, к списке справочников для выбора нужного справочника) комментарий иыдаегся в круглых скобках вслед за представлением объекта рации. Подсистемы. Многие объекты конфигурации в составе основных свойств имеют свойство Подсистемы - в свойстве указываются подсистемы, для которых предназначается данный объект. Допускается указывать ко подсистем (подробнее о подсистемах см. параграф «Подсистемы» на стр. I-82). Индексирование реквизитов объектов иольшинство прикладных объектов конфигурации имеют в составе i юдчиненных объектов группу Реквизиты. В этой группе указываются нительные характеристики объектов. I) режиме 1С:Предприятие часто требуется осуществлять отбор данных по шпчению какого-либо реквизита или сортировать списки данных по рекви- ш гам. Средства 1С:Предприятия8.1 позволяют выполнить подобную задачу (см. книгу «1С:Предприятие8.1. Руководство пользователя», глава 9, параграф «Отбор и сортировка списка»). Если данных достаточно много, такая задача может выполняться долго. Чтобы ускорить эту работу, следует реквизитам, по которым будет няться отбор или сортировка, устанавливать свойство Индексировать. Если сиойство установлено (выбрано значение Индексировать или Индексировать с дополнительным упорядочиванием), то подобные задачи будут выполняться (ффективнее. Для примитивных типов реквизитов указание индексирова-
1-66 1С:Предприятие 8.1. Конфигурирование и администрирование ния предоставляет пользователям средство сортировки списка по щелчку мыши в области заголовка колонки. Наряду с сортировкой по реквизиту или отбором данных по значению какого-либо реквизита часто требуется, чтобы в результирующем списке данные были дополнительно отсортированы по основному представлению (наименованию или коду), т. е. в пределах одного значения реквизита записи были отсортированы по представлению. Добиться правильного результата можно, если выбрано значение индексирования Индексировать, а в условиях сортировки списка указаны реквизит и представление. Если возникает необходимость минимизации времени таких отборов или сортировки, то для реквизита следует выбрать значение ния Индексировать с дополнительным упорядочиванием (если выбор такого значения возможен). Важно! Механизм дополнительного упорядочивания будет но использоваться только в том случае, когда в режиме 1С:Предприятие в условиях сортировки списка указан определенный порядок ки: сначала по реквизиту, а затем по представлению. Если такие условия сортировки не задаются, то использование ния Индексировать с дополнительным упорядочиванием не имеет смысла, т. к. оно будет эквивалентно обычному индексированию, однако размер индекса при этом будет больше. Индексирование с дополнительным упорядочиванием используется для реквизитов справочников, документов, планов видов характеристик, планов счетов, планов видов расчетов. Для реквизитов регистров допускается использование обычного рования. Свойства конфигурации Конфигурация в целом имеет свои свойства, которые можно редактировать. Палитра свойств открывается для корневой ветки дерева конфигурации. Помимо основных свойств (см. стр. 1-64), присущих каждому ту конфигурации, конфигурация имеет следующие рассмотренные ниже свойства. Категория свойств «Основные» Вариант встроенного языка — выбирается основной язык вания (русский или английский). Выбор определяет, на каком языке будут формироваться языковые конструкции в модулях (например, при зовании Синтакс-Помощника) и выдаваться информация о примитивных
Глава 2. Конфигурирование 1-67 типах данных. Вне зависимости от значения свойства можно использовать как русский, так и английский вариант языковых конструкций. При смене чиачения свойства вариант написания введенных языковых конструкций не изменяется. Основная роль — выбор основной роли конфигурации (будет использоваться, если список пользователей конфигурации пуст и не проводится ция доступа при начале работы программы). Роли задаются на ветви дерева конфигурации Общие - Роли. Модуль приложения — по ссылке Открыть открывается окно редактирования модуля приложения (см. параграф «Модуль приложения» на стр. 1-80). Модуль внешнего соединения - по ссылке Открыть открывается окно редак- шрования модуля внешнего соединения (см. параграф «Модуль внешнего соединения» на стр. 1-81). Модуль сеанса — по ссылке Открыть открывается окно редактирования модуля сеанса (см. стр. 1-81). 1'сжим управления блокировкой данных — вариант управления блокировкой Лонных в транзакции (см. стр. 1-358). Дополнительные словари полнотекстового поиска - выбор общих макетов млн констант, которые будут выступать в роли дополнительных словарей для полнотекстового поиска (см. стр. 2-642). Категория свойств «Представление» Основной стиль — выбор стиля конфигурации по умолчанию. Стили ся на ветви дерева конфигурации Общие - Стили. Основной язык - выбор языка конфигурации по умолчанию. При смене точения свойства для всех объектов производится смена представления, как lino определено для выбранного языка (свойство Синоним). Пример ния интерфейса на разных языках см. в параграфе «Языки» на стр. 1-120. Указанный язык будет также использоваться для выдачи фиксированных юрминов, когда такие термины выдаются системой 1С:Предприятие 8.1. Основной интерфейс - выбор основного интерфейса конфигурации, когда hi op интерфейса по пользователю невозможен (список пользователей пуст). Интерфейсы задаются на ветви дерева конфигурации Общие - фейсы. Кроткая информация — краткая информация о конфигурации. 11(н)робная информация — подробная информация о конфигурации (допуска- 1ЧСя использование многострочного текста).
1-68 1С:Предприятие 8.1. Конфигурирование и администрирование Логотип - выбор логотипа. Выбор осуществляется в стандартном окне выбора картинки. Размер картинки для логотипа 64x64 или меньше. Тип картинки может быть любым из поддерживаемых системой 1С:Предприятие 8.1. Г».. ВмЗжырчй/я | Установить прозрачный Фон У ОЭТЬ П?СР***-ЮН Редактировать Гилкартинкк Ьтр ^p|mpnaL^ip^PI4WWW"»WWH Заставка — выбор заставки. Выбор осуществляется в стандартном окне выбора картинки. Для заставки необходимо, чтобы картинка ла следующим требованиям: размер 305x110 пикселей, прозрачный цвет можно задать при выборе картинки. Тип картинки может быть любым из поддерживаемых системой 1С:Предприятие 8.1. Авторские права - информация об авторе конфигурации. Отображается в диалоге О программе и в окне справки. Адрес информации о поставщике - ссылка на информацию о поставщике конфигурации (указывается в свойстве Авторские права. Может задаваться как с префиксом схемы («http://»), так и без него. Информация о щике, отображаемая в левой части подвала на страницах справки, имеет ссылку, определенную в данном свойстве. Адрес информации о конфигурации — ссылка на информацию о ции. Может задаваться как с префиксом схемы («http://»), так и без него. Слева в верхней части страниц справки указывается наименование гурации, определенное в свойстве Краткая информация (если свойство не задано, то выбирается из значения свойства Синоним; если свойство Синоним не задано, то выбирается из свойства Имя корневого объекта ции). Показываемое наименование конфигурации имеет ссылку, заданную данным свойством. Основная форма констант - выбор основной формы для ввода и рования констант конфигурации. Формы для ввода констант формируются на ветви конфигурации Константы - Формы. Категория свойств «Разработка» В свойствах категории описываются данные о поставщике конфигурации и версии конфигурации (подробнее см. стр. 2-837). Адрес каталога обновлений — содержит адрес ресурса, который может использоваться для обновления прикладного решения.
Глава 2. Конфигурирование 1-69 Категория свойств «Справочная информация» Нключатъ в содержание справки — если свойство установлено, то мое справочной информации включается в общее описание конфигурации. Справочная информация-по ссылке Открыть открывается окно редактиро- пмпия описания конфигурации. О создании описания см. параграф ниже. Создание описания объекта конфигурации К некоторым объектам конфигурации можно «прикрепить» текст, ющий назначение и порядок использования объекта. Такой текст называется мшьзователъским описанием. При работе с системой 1С:Предприятие8.1 пользователь может вывести описание на экран для просмотра. Создание и корректировка пользовательского описания выполняют- 1'Н при помощи встроенного HTML-редактора, который можно вызвать in палитры свойств объекта по ссылке Открыть свойства Справочная информация. Создание и редактирование текста описания производятся ирсдствами HTML-редактора. Подробно работа с редактором описана в книге и1С:Предприятие 8.1. Руководство пользователя», приложение 3 «Редактор I ITML-документов». Сели установлено свойство Включать в содержание справки, то для данно- 10 объекта в содержание справки включается ветвь по значению синонима пбьскта. Независимо от установки данного свойства в список индексов (для поиска в справке) включается строка по значению синонима объекта. Работа с конфигурацией базы данных Дерево объектов конфигурации базы данных Дли просмотра структуры конфигурации базы данных, свойств, форм, Микстов и другой информации об объектах можно открыть окно ции базы данных. Для этого выберите пункт Конфигурация - Конфигурация Впзы данных - Открыть окно конфигурации БД. По виду оно не отличается от пмш Конфигурация. Приемы работы с объектами конфигурации базы данных совпадают с приемами работы в окне Конфигурация с тем лишь отличием, что все объек- i и доступны только для чтения (просмотра). Обновление конфигурации базы данных II процессе редактирования конфигурации могут быть созданы новые, И 1мснены существующие или удалены имеющиеся объекты. Текущая струк-
1 -70 1 С:Предприятие 8.1. Конфигурирование и администрирование тура базы данных может быть отлична от структуры конфигурации. Отличие конфигураций показывается в заголовке окна Конфигурация символами Замечание. Знак отличия <!> конфигураций появляется только после сохранения изменений в основной конфигурации. Однако после нения основной конфигурации можно продолжить внесение изменений, и в этом случае в заголовке окна Конфигурация будут присутствовать признаки модифицированности обеих конфигураций. Чтобы выполнить приведение в соответствие конфигурации и ции базы данных, необходимо произвести обновление конфигурации базы данных. Для этого выберите пункт Конфигурация - Обновить конфигурацию базы данных. Если основная конфигурация еще не была сохранена, то ла конфигуратор выполнит ее сохранение, а потом произведет обновление конфигурации базы данных. Если при обновлении конфигурации базы данных было открыто окно сообщений, то оно очищается. Важно! Обновление конфигурации базы данных может потребовать прекращения работы всех пользователей. Перед обновлением можно сравнить конфигурации, а также провести их объединение. Если на момент выполнения обновления конфигурации базы данных выполнялась отладка, то после сохранения текущей конфигурации на экран выводится вопрос: Для обновления конфигурации базы данных необходимо прекратить отладку. Продолжить? При ответе Да отладка прекращается, и конфигурация базы данных обновляется. При ответе Нет не производится обновление, и отладка не прекращается. В конфигураторе выполняется предварительный анализ выполненных изменений. Если в момент обновления с базой не работают пользователи и может был установлен монопольный режим работы с базой данных, то выполняется обновление базы данных (учет текущих изменений и предыдущих в вгщ сохраненных версий изменений). Примечание. Работа информационной базы в монопольном режиме ш переводит базу данных Microsoft SQL в однопользовательский режим. После обновления вьгаолняется удаление версий изменений, если таки< имелись.
Глава 2. Конфигурирование 1-71 Цели монопольный режим не может быть установлен и изменения не требу- юг реструктуризации базы данных (например, внесены изменения в формы, модули, макеты и др.), то об этом выводится сообщение и предлагается иыбрать один из вариантов дальнейших действий. • Отменить - означает прекращение обновления. • Повторить - предполагает повторение попытки установки го режима. Пользователь, выполняющий обновление, может известить других и продолжить обновление после завершения работы этих пользователей. • Обновить динамически - обновление без завершения работы вателей. Предполагает, что выполненные изменения будут записаны динамически в виде версии изменений конфигурации ция базы данных при этом не изменяется). Допускается выполнение повторных изменений основной конфигурации. Если при ной попытке обновления конфигурация базы данных может быть установлен монопольный режим работы, конфигуратор осуществляет обновление конфигурации базы данных с учетом всех изменений (как текущих, так и предыдущих). Если используется клиент-серверный режим работы с информационной базой, то после обновления гуратор будет перезапущен. При этом все несохраненные изменения в текстовых, табличных и других документах будут утеряны. 1'сли было выполнено динамическое обновление, то работающие в этот Момент пользователи продолжают работать со старой конфигурацией. Для кии чтобы начать работать с обновленной конфигурацией, пользовате- ИЮ необходимо перезапустить систему 1С:Предприятие8.1. Для контроля И оповещения пользователей о произведенных динамических изменениях 1Ч1сдует использовать метод глобального контекста КонфигурацияБазыДан- 1ШИзмененаДинамически(). 1'сли были обнаружены изменения, требующие реструктуризации базы диниых, то на экран выводится диалог со списком таких изменений для подтверждения обновления. ш SSL И ««нения в структуре информации конфигурации • Новый объект: Справочник. Номенклатура Для подтверждения сохра- iLIfea^J I нения нажмите кнопку Принять, для отказа-кнопку Отмена. LZT 3
1 -72 1 С:Предприятие 8.1. Конфигурирование и администрирование Сохранение конфигурации базы данных в файл Для сохранения конфигурации базы данных в файл на диск выберите пункт Конфигурация - Конфигурация базы данных - Сохранить конфигурацию БД в файл. На экран выводится стандартный диалог выбора файла. Выберите каталог и укажите имя файла, в который будет записана конфигурация базы данных. Сохраненный файл конфигурации базы данных необходим для операции сравнения и объединения конфигураций (см. главу 18, параграф ние и объединение конфигураций»). Сравнение конфигурации, и конфигурации базы данных Если в процессе внесения изменений в конфигурацию требуется получить отчет об отличиях от конфигурации базы данных, то выберите пункт Конфигурация - Конфигурация базы данных - Сравнить, объединить с гурацией БД. В случае необходимости можно восстановить измененные объекты. t Отказ от изменений в конфигурации Для отказа от изменений в конфигурации достаточно выбрать пункт гурация - Конфигурация базы данных - Вернуться к конфигурации БД. Примечание. Пункты меню Сохранить конфигурацию БД в файл и Вернуться к конфигурации БД доступны даже в случае закрытой редактируемой конфигурации. Команда Вернуться к конфигурации БД по-прежнему недоступна, когда информационная база подключена к хранилищу конфигурации. Запуск системы В конфигураторе предусмотрен запуск режима 1С:Предприятие. Для этоН выберите пункт Сервис - 1С:Предприятие. Если конфигурация была модифицирована (были произведены изменения)! то конфигуратор выводит вопрос: Редактируемая конфигурация отличает) ся от конфигурации базы данных. Произвести обновление конфигурации базь данных? Для сохранения внесенных изменений выберите кнопку Да. Если выбрана кнопка Нет, то режим 1С:Предприятие запускается без coxpaJ нения конфигурации.
Глава 2. Конфигурирование 1-73 I) случае отказа на экран выводится вопрос: Конфигурация базы данных не соответствует сохраненной конфигурации. Продолжить? Если выбрана кнопка ОК, то запускается режим 1С:Предприятие с прежней конфигурацией базы дм иных. Если выбрана кнопка Отмена, то запуск режима 1С:Предприятие не производится. Выгрузка и загрузка файлов конфигурации Механизм выгрузки и загрузки файлов конфигурации позволяет осущест- илить выборочную выгрузку/загрузку некоторых свойств объектов Конфигурации (модулей, макетов и справочной информации). Для выгрузки сиойств выберите пункт Конфигурация - Выгрузить файлы конфигурации. I) открывшемся окне отметьте те объекты конфигурации, которые нужно lii.il рузить, укажите вид выгружаемых данных и укажите каталог, в который будет осуществлена выгрузка. Для начала выгрузки нажмите кнопку выполнить. Выгружаемые данные записываются в файлы с именами, соответствующими названию выгружаемого свойства. Расширение файла соответствует типу данных. • htm - для справки и макетов HTML-документа; • txt - для модулей и макетов текстового документа; • mxl - для макетов табличного документа; • geo — для макетов географической схемы; • bin - для макетов двоичных данных. I рузка данных осуществляется выбором пункта Конфигурация - Загрузить фпЙлы конфигурации. Действия в окне аналогичны действиям, описанным чип режима выгрузки данных. Отчет по конфигурации II конфигураторе можно вывести в текстовом или табличном виде формацию обо всех объектах конфигурации. Для этого следует выбрать пункт Конфигурация - Отчет по ртмИММ——~ Щ конфигурации. Пи жран выводится диалог, в коюром следует выбрать тип Цскстовый или табличный) и имя фнИлп, в который предполагает- t и сохранить описание структуры конфигурации. Г Выводить в: 0 ® Текстовый документ йц Табгичный документ |<Вся конфигурация* j—j Имя Файла сохранения структуры метаданных: |С,\ТЕНР\ОтуетПоКонфигуращиЬ|1 |[ Grpasaa
1 -74 1 С:Предприятие 8.1. Конфигурирование и администрирование Создание описания объектов конфигурации для сложных конфигураций может занимать продолжительное время., Если требуется получить отчет по отдельным объектам конфигурации, то в поле Объекты нажмите кнопку выбора и в шемся диалоге выбора объектов установите флажки у нужных объектов. Допускается подсистемам. отбор по После окончания создания описания конфигурации будет открыто окно с нием в выбранном формате (текстовом или табличном). © во конфи-у, <*»•. Выбранные объекты* . ПСЗ УправлгниеТорговлзй В 0"JF Константы BQ3I Справочники Ш QeJ Документы Ш ОШ ЭДрнапы документов В Q [^ Перечисления ф-П Отчеты j ВОЙ Обработки В-П Планы видов зиракгеристик В"Г~1Т^; Планы счетов B"Q*fe Регистра свевений Е~Г Регистры бухгалтерии 7^ По подсистемам.- П Справка Глобальный поиск и замена Режим глобального поиска и замены предназначен для поиска определен ной строки во всех модулях, диалогах, табличных документах, описания] конфигурации и внешних файлах (внешние отчеты и обработки, ные документы). Найденный текст может быть заменен другим. Этот режил, может быть использован, например, для поиска всех вызовов некоторое глобальной процедуры или обращения к какому-либо реквизиту в разны) модулях. Вызов режима поиска осуществляется выбором пункта Правка - Глобальны! поиск, а режима замены - выбором пункта Правка - Глобальная замена. В этих режимах ется один и тот же диалог. Если выбран режим поиска, то становятся недоступными зиты режима замены. Поэтому для краткости рассмотрим процедуру глобальной замены, а потом укажем ти режима поиска. ¦J..I.LI.III..I.I.ILJ.LI.JUlJr На экран будет выдан диалог для задания параметров поиска. Искать. [ Заменить. •И-зотъ Если ?З^шшитьрешетр (З-^эятьсгмвоцвгаивм ?ёеопфшятьредапорылри гитовов замше Область поиска 1*1 Заменить | Зашить все j Зэчжть ID Ораши Тили текстов Aйт-Фигииция 4-айт*1 ? Свойства ПР°™ I П-Элементы чюрн ?Макета ? Пользовательские интерфейсы |~~| Карта, мэрифута ? CpaBowan информация |i/l Вст;к»-ч язык ? &>•¦ ¦ текст I
Глава 2. Конфигурирование 1-75 II поле Искать этого диалога следует ввести образец для поиска или нажать кнопку чг раскрытия списка и выбрать один из образцов, которые были использованы ранее в операциях поиска. Н поле Заменить введите текст, на который следует произвести замену нииденного текста, или нажмите кнопку Ў раскрытия списка и выберите один из образцов, которые были использованы ранее в операциях замены. Чтобы различать при поиске прописные и строчные буквы, установите флижок Учитывать регистр. При установленном флажке Искать слово целиком будут найдены только целые слова, а не части слов. 1'сли не требуется открытия редакторов при групповой замене (по кнопке Зпменить все), то установите флажок Не открывать редакторы при вой замене. При любом состоянии флажка редактор будет открываться при нижатии клавиши Искать или Заменить. 11иже расположена панель, на закладках которой указывается, где следует искать указанный образец. Ни закладке Типы текстов помечаются типы подчиненных объектов, в которых будет произведен поиск. I In шкладке Конфигурации можно указать с точностью до объекта разделы конфигураций, в которых будет произведен поиск. f лобальный поиск по текст и Искать: |есяи~ Заменить: Искать -| (Если Заменить @ Учитывать регистр ? Искать слово целиком 0 Не открывать редакторы при групповой замене Область поиска: Заменить все S4IU?* Общие I НГгУ Константы Ф|Э Справочники -Qfil БанковскиеСчетэ IЩЙ Валеты -0Й2В?аЯ -ОЙЗ НемзтериальныеАктивы -ОЙ Номенклатура -ОЙ Оборудование . По подсистемам ОК Отмена Справка ттттттт мшини тртиттттттшштт**
1 -76 1 С:Предприятие 8.1. Конфигурирование и администрирование! В список конфигураций помимо основной включается конфигурация базы I данных и конфигурации хранилища. Конфигурации хранилища должны! быть открыты перед вызовом режима поиска или замены. Для указания набора объектов установите переключатель Выбранные объек-1 ты и пометьте те объекты, в которых будет произведен поиск. При первом! запуске в списке по умолчанию установлены пометки всех объектов. Чтобы! снять установку, снимите флажок в строке с наименованием конфигурации. I Затем можно указывать конкретные объекты для поиска. На закладке Файлы можно указать каталог и типы файлов, в которых может производиться поиск. Могут быть просмотрены следующие типы риваемых файлов: конфигурации, расположенные в файлах (сохраненные, файлы поставки), внешние отчеты и обработки, текстовые и табличные! документы. Если каталог не указан (реквизит Каталог не заполнен), то поис в файлах не осуществляется. Поиск может также производиться в откры тых документах тех же типов. Для этого следует установить флажок Искат в открытых документах. Если был запущен режим поиска, то для начала поиска нажмите кнопку Искать. В режиме глобального поиска можно прервать процесс нажатие Ctrl + Break. На экран в окно Результаты поиска будет выведен список найденных вхожде ний исходного текста. я^-* [Действия- | Ф> ««# %||Еспи И Найдено- 24 Осиовнзякотрип/раиияСприБочтк-Валюты.Формз.Фсрм^Элемента.'Р КонецЕсли. i9 Основная конфигурация Справочник Валюты Форма ФормаЗлементаФ Е~ли НоваяСтрока Тогда Основная конфигурация Справочник. аяюгыФорма.ФормаЭлемента.Ф [КонецЕсли. J Основная к нфигчрация Справ Валюты, форма.ФормаЭлемвнтаФ ЕслиПустаяСтрокв13леменгыФормы.ПолеПрописи1наТ 1 Основная конфигурация Справочник ЗалктлФорма.Форм&Зяенгенте.д?!ЕсшЗлементыФормы.ПолеПрописц4наРчсском.Значе, Основная конфигурация Справочник.Валюты.Форма ФормаЗлемента.Ф КонецЕсли. Щ Основная онфигдрацияСправочник.Валюгы. ормаФормаЭлеменга Ф {ЕслиЗяементыФормыПолеП |Q ОсновнаяконФигчрацияСправочник.Валюты.Форма.ФормаЗлементдьФ [КонецЕсли. un^iwi^urtuir-.-oi тГп^ч= к Оамт Ф »Ф аЧпв.митаФ IPi* ЧнивлмФппиь ПлпёиПг^пиИ-! ПллиаПппЙипЛигм- ? "————* ' 'Г_ши ¦ ¦ пи »««-«»———»-¦ Если какой-либо модуль имеет ограничение доступа (см. стр. 2-730), то перед поиском исходного текста в данном модуле система запрашивай ет пароль доступа. Необходимо ввести правильный пароль или отказатьс^ от ввода пароля. Если пароль не введен, то просмотр в данном модуле Щ производится. Результат поиска можно просмотреть, а к каждому найденному значени можно перейти, если выбрать в результате поиска нужную строчку и нажат клавишу Enter. Для просмотра следующего или предыдущего найденно!
Глава 2. Конфигурирование 1-77 чначения можно воспользоваться пунктами Действия - Следующая позиция и Действия - Предыдущая позиция. Результат поиска (весь список) можно запомнить в буфер обмена с помощью кнопки Чэ панели инструментов окна результатов поиска, а также вывести в тпбличный или текстовый документ. Ширину колонок можно изменить стандартным приемом - с помощью указателя мыши при нажатой клавише Ctrl. Г.сли был запущен режим замены, то в поле На текст указывается образец текста, на который следует заменить исходный текст, указанный в поле Заменить. Нсли перед заменой требуется посмотреть исходный текст, то для начала поиска нажмите кнопку Пропустить. На экран выводится результат первого ипйденного исходного текста. Если нажать кнопку Пропустить, то текущий гекст будет пропущен и на экран будет выведено очередное вхождение ного текста в текущем окне или другое окно, содержащее исходный текст. Нсли при групповой замене не требуется открытия объектов, в которых обнаружено вхождение исходного текста, установите флажок Не открывать редакторы при групповой замене. Пажно! Во время просмотра результатов поиска изменить условия поиска нельзя. Структура выбора области поиска (типы текста, список объектов гураций, файлов и открытые документы) запоминается и при следующем шкрытии диалога восстанавливается. Если требуется сохранить несколько областей, то каждой области в реквизите Область поиска нужно присвоить имя. При повторном открытии окна поиска в списке областей достаточно ймбрать нужную и выполнить поиск. Настройка рабочей области конфигуратора Дни создания и редактирования конфигурации требуется одновременное использование различных окон. Например, просмотр, выбор, добавление и удаление объектов конфигурации производятся в окне Конфигурация; редактирование свойств объектов и их составных частей производится М ишштре свойств; получение справочной информации по встроенному ку - в окне Синтакс-Помощника; сообщения и результаты поиска выводятся п окне сообщений. Кроме того, каждый объект конфигурации в общем смучае может состоять из различных частей, каждая из которых ется в отдельном окне
1-78 1С:Предприятие 8.1. Конфигурирование и администрирование Одновременное открытие различных служебных окон заметно сужает рабочую область, предназначенную для редактирования прикладных объектов (формы, модули и макеты) и редактирования общих объектов конфигурации (модуль приложения и общие модули, макеты, стили, фейсы и др.). Для расширения рабочей области и удобства работы можно воспользоваться некоторыми рекомендациями по настройке различных панелей тора, наличию и поведению различных служебных окон, использованию режимов показа окон. Настройка панелей Конфигуратор спроектирован таким образом, чтобы максимально зовать рабочую область за счет автоматического выбора нужных панелей инструментов для каждого вида окна. Так, при редактировании табличного документа конфигуратор предоставляет панель инструментов, ченную для выполнения команд по редактированию табличного документа; при переходе в окно, содержащее модуль формы, конфигуратор закрывает панель инструментов табличного документа и показывает панель ментов текстового редактора. Пользователь может самостоятельно настроить состав панелей тов и их размещение на экране (см. стр. 2-921). Помимо панелей инструментов внизу располагается Панель окон и Панель состояния. Каждая из них занимает отдельную строку и не может был, перемещена в другое место. Если какая-либо из панелей не нужна, то ее можно скрыть с помощь контекстного меню в любом месте любой панели. Панель показывается, если слева от ее названия установлен флажок, и скрыта, если флажок снят. Для изменения режима показа панели но в контекстном меню выбрать строку с наименованием панели. Чтобы панель окон не занимала постоянно часть рабочей области мы, можно установить режим Автоматически прятать. При работе панель окон скрыта. Чтобы она появилась, подведите указатель мыши к месту размещения панели. Окно «Конфигурация» Окно Конфигурация может быть закрыто и открыто в любой момент ни. После выбора всех требуемых для работы окон окно Конфигурация может быть закрыто. Закрытие окна не приводит к окончанию работы с конфигура-| цией. Его можно открыть в любой момент. Первоначальное состояние окна Конфигурация - прикрепленное. В этом] состоянии оно «перекрывает» все окна, находящиеся в состоянии Обычное U.
Глава 2. Конфигурирование 1-79 (большинство окон показываются в этом состоянии). Чтобы использовать область, занимаемую окном Конфигурация, его состояние можно изменить 1Ш Обычное (в этом случае другие окна будут показьшаться поверх окна Конфигурация) или на Прячущееся (если окно не нужно, оно скрывается шноматически, а при подведении к нему указатель мыши раскрывается). Использование режимов показа окон () режимах показа окон см. параграф «Управление окнами» на стр. 2-896. II режиме Обычный окно может располагаться (его видно) только в пределах шободной рабочей области конфигуратора. Использование других режимов пнчиоляет расширить рабочую область или рациональнее ее использовать. Кцоме того, можно «вынести» окно за пределы рабочей области. Киждое окно (кроме калькулятора) в конфигураторе может быть переведено и режим Прячущееся. Этот режим позволяет без лишних действий выбрать нужное окно для просмотра и редактирования, переведя указатель мыши И строку с заголовком окна. Когда просмотр закончен, для сворачивания OKI in достаточно просто перевести указатель мыши на любое другое окно ИЛИ заголовок другого прячущегося окна. Целесообразно в этом режиме использовать окна, работа с которыми носит кратковременный характер (Синтакс-Помощник, окно Конфигурация, окно сообщений и результатов I к» 1ска, а также окна прикладных объектов, табличных и текстовых докумен- Ю», открываемых в основном для просмотра). Режим состояния окна Свободное позволяет поместить данное окно в любое Место экрана, независимо от размеров и положения окна программы (конфи- lypirropa). II режиме Прикрепляемое окно может быть прикреплено к другому окну, Находящемуся в этом состоянии, или к одной из сторон окна, а также распо- Икжепо поверх другого прикрепляемого окна (совмещенные окна). Рекомендуется совмещать такие окна, просмотр которых одновременно не ||1сСуется. Например, окно палитры свойств и окно Синтакс-Помощника или Гибло и Стек вызовов во время отладки.
Глава 3 Объекты конфигурации В этой главе рассказывается о работе с конфигурацией в целом и о тех режимах и механизмах, которые используются для всех объектов рации. Описание действий по созданию и настройке основных объектов рации (константы, справочники, документы, последовательности, журналы, перечисления, отчеты, обработки, регистры), а также некоторых объектов, располагающихся на ветви конфигурации Общие (критерии отбора, стили) производится в документации на примере использования окна вания объекта (подробнее см. стр. 1-60). Аналогичные действия можно выполнять и в палитре свойств объектов. Модуль приложения Модулем приложения называется модуль, который автоматически выпол няется при старте системы 1С:Предприятие 8.1, в момент загрузки конфигурации. Модуль приложения предназначен для отработки действий, связанных cjj сеансом работы конечного пользователя (прежде всего обработки начала ия окончания сеанса работы). Модуль приложения недоступен для процедур1|| работающих на сервере. В нем не рекомендуется реализовывать процеЛ дуры, выполняющие некоторые расчеты (их следует размещать в обшия модулях). Процедуры и функции модуля приложения, а также переменные, для которым в заголовках указано ключевое слово Экспорт, являются доступными ил других модулей (кроме общих модулей и модуля внешнего соединения» Подробнее о модуле приложения можно узнать в разделе «Операторы» справки по встроенному языку. Для редактирования модуля приложения необходимо в палитре свойств окна Конфигурация, в свойстве Модуль приложения, щелкнуть мышьКЯ ссылку Открыть. Текст модуля приложения будет выдан для редактирование
Глава 3. Объекты конфигурации 1-81 и редакторе текстов системы 1С:Предприятие 8.1, в режиме редактирования текста программного модуля. Модуль приложения, являясь частью конфигурации, сохраняется только в составе конфигурации. Использование пункта Файл - Сохранить приведет к выполнению процедуры сохранения сделанных изменений применительно ко всей конфигурации. Модуль внешнего соединения Для редактирования модуля внешнего соединения необходимо в свойстве Модуль внешнего соединения палитры свойств окна Конфигурация щелкнуть мышью ссылку Открыть. Текст модуля внешнего соединения будет выдан для редактирования в редакторе текстов системы 1С:Предприятие 8.1, к режиме редактирования текста программного модуля. В модуле внешнего соединения могут располагаться экспортируемые переменные, процедуры и функции, а также процедуры-обработчики событий ПриНачалеРаботыСистемы() и ПриЗавершенииРаботыСистемы(), используемые в режиме внешнего соединения (см. раздел «Средства интеграции и администрирования» справки по встроенному языку). Модуль сеанса Модулем сеанса называется модуль, который автоматически выполняется при старте системы 1С:Предприятие 8.1, в момент загрузки конфигурации. Модуль сеанса предназначен для инициализации параметров сеанса и отработки действий, связанных с сеансом работы. Модуль сеанса всегда исполняется в привилегированном режиме в кластере серверов тия 8.1. но! Модуль сеанса может содержать только определения дур и функщй. Модуль сеанса не содержит экспортируемых процедур и функций и может использовать процедуры из общих модулей конфигурации. Установка параметров сеанса выполняется в обработчике события Установ- каПараметровСеанса(). Исполнение модуля сеанса происходит после начала исполнения модуля приложения (модуля внешнего соединения), до вызова обработчика события ПередНачаломРаботыСистемы() (ПриНачалеРаботыСистемы(), в случае модуля ииешнего соединения).
1 -82 1 СгПредприятие 8.1. Конфигурирование и администрирование Модуль приложения •" Модуль сеанса Процедура УстановкаПараметровСеансаО КонецПроцедуры « — Процедура ПередНачаломРаботыСистемыО КонецПроцедуры Ветвь конфигурации «Общие» На этой ветви описываются такие объекты конфигурации, как темы, Общие модули, Параметры сеанса, Роли, Планы обмена, Критерии отбора, Подписки на события, Регламентные задания. Общие формы, Интерфейсы, Общие макеты, Общие картинки, пакеты XDTO, Web-сервисы, WS-ссылки, Стили, Языки. Эти объекты не описывают структуру данных и механизмы их обработки, они предназначены для установки правил работы пользователей с данными, для описания вспомогательных объектов, используемых для формирования различных форм, в механизме обмена данными, а также содержат общие модули и макеты печатных форм, доступные из любого модуля рации. Подсистемы На ветви Подсистемы располагаются объекты, с помощью которых ваются различные виды деятельности, выполняемые с использованием данной конфигурации. Свойство Подсистемы имеют практически все ты конфигурации (в том числе картинки, общие формы, стили и элементы стилей и т. д.). На структуру объектов ветви Подсистемы не накладывается никаких чений по числу и вложенности. Использование объектов конфигурации типа Подсистемы происходит в основном на этапе конфигурирования. Для просмотра объектов конфигурации, относящихся к му набору подсистем, в окне Конфигурация можно произвести настройку фильтра отбора объектов. Выберите пункт Действия - По подсистемам окна
Глава 3. Объекты конфигурации 1 -83 Конфигурация и укажите необходимый набор подсистем, а также установите дополнительные признаки отбора Включать объекты подчиненных подсистем и Включать объекты родительских подсистем. Замечание. Когда установлен отбор по подсистемам, дерево объектов конфигурации может не содержать ключевых ветвей. Это дит только в том случае, когда нет созданных объектов, указанных в отборе подсистем. 1Тринадлежность объектов конфигурации к определенной подсистеме позволяет легко создавать пользовательские интерфейсы (подробнее см. стр. 1-101). Значение свойства объекта конфигурации Подсистемы доступно в программе с помощью средств встроенного языка. Это предоставляет дополнительные иозможности отбора данных. Команда контекстного меню Переместить подсистему позволяет изменить подчиненность подсистемы в иерархии подсистем. Общие модули Объекты, расположенные на ветви дерева конфигурации Общие модули, предназначены для размещения в них текстов функций и процедур, которые Могут вызываться из любого другого модуля конфигурации. ажно! Общий модуль может содержать только определения дур и функций. Процедуры и функции общего модуля, для которых в заголовках указано ключевое слово Экспорт, являются одной из составных частей глобального контекста. Подробнее о написании процедур в общем модуле можно узнать и разделах «Формат исходных текстов программных модулей» и ры» справки по встроенному языку. Для редактирования общего модуля необходимо в палитре свойств объекта мша Общие модули окна Конфигурация в свойстве Модуль щелкнуть мышью ссылку Открыть. Текст общего модуля будет выдан для редактирования в редакторе текстов системы 1С:Предприятие 8.1 в режиме редактирования iCKcra программного модуля. Общий модуль, являясь частью конфигурации, сохраняется только в соста- ис конфигурации. Мели используется клиент-серверный вариант системы 1С:Предприятия 8.1, и» с помощью свойств Клиент и Сераер, а также указаний препроцессору
1-84 1С:Предприятие 8.1. Конфигурирование и администрирование можно организовывать выполнение различных процедур и функций общих модулей на сервере приложения или на клиентском месте. Если установлено свойство Клиент, то все процедуры и функции общего модуля могут использоваться в клиентском приложении. Если установлено свойство Сервер, то все процедуры и функции общего модуля могут использоваться в клиент-серверном варианте. Если для некоторых процедур или функций требуется указать возможность использования в том или ином варианте, то необходимо использовать ния препроцессору. Для выполнения на сервере: #Если Сервер Тогда , #КонецЕсли Для выполнения на клиентском месте: 1 '№сли Клиент Тогда 1 #КонецЕсяи Подробнее об этом см. раздел «Исполнение процедур и функций» справки по встроенному языку. Если предполагается, что процедуры и функции общего модуля могут быть использованы во внешнем соединении, то следует установить свойство Внешнее соединение. Свойство Привилегированный предназначено для установки полных прав доступа при выполнении действий с базой данных в процедурах и ях общего модуля. При установленном свойстве выполнение производится только на сервере. Свойство Глобальный определяет, являются ли экспортируемые методы общего модуля частью глобального контекста. Если свойство Глобальный установлено в значение Истина, то мые методы общего модуля доступны как методы глобального контекста. Если свойство Глобальный установлено в значение Ложь, то в глобальном контексте создается свойство с именем, соответствующим имени общего модуля в метаданных. Данное свойство доступно только для чтения. нием данного свойства является объект ОбщииМодуль. Через данный объект доступны экспортируемые методы данного общего модуля. Таким образом, обращение к методам неглобальных общих модулей выглядит как ХХХХХ. YYYYY, где ХХХХХ - это имя свойства, соответствующее контексту общего модуля, a YYYYY - имя экспортируемого метода общего модуля.
Глава 3. Объекты конфигурации 1-85 Параметры сеанса Параметры сеанса предназначены в основном для использования ний параметров в запросах и условиях ограничения доступа к данным для текущего сеанса. Использование параметров сеанса снижает время доступа к данным за счет исключения связанных таблиц. Настройка параметров сеанса производится в палитре свойств. Для каждого параметра сеанса определены два права доступа - Получение и Установка (подробнее о правах см. параграф ниже). Если право ка снято, то инициализация данного параметра сеанса возможна только к общем модуле с установленным свойством Привилегированный. Инициализация параметров сеанса выполняется в модуле сеанса, в чике события УстановкаПараметровСеанса() (см. стр. 1-81). Роли и права доступа Каждый пользователь системы должен иметь свободный доступ к общей информации, такой как общие справочники, константы или перечисления. С другой стороны, необходимо, чтобы каждый пользователь имел дело только с той информацией, которая необходима ему для работы, и никак не Мог своими неосторожными действиями повлиять на работу других пользо- иителей или на работоспособность системы в целом. Конфигуратор системы 1С:Предприятие 8.1 предоставляет разработчикам развитые средства администрирования, предназначенные для решения указанных задач. 11режде всего, в процессе создания конфигурации создается необходимое число типовых ролей, описывающих полномочия различных категорий пользователей на доступ к информации, обрабатываемой системой. Роли могут быть заданы в достаточно широких пределах - от возможности только просмотра ограниченного числа видов документов до полного набора прав по вводу, просмотру, корректировке и удалению любых видов данных. И левой части окна редактирования прав выводится дерево объектов гурации по всем подсистемам. В правой - список прав по выбранному пбъекту конфигурации в дереве конфигурации. Если для действия установ- пеп флажок, то оно разрешено. Гик, например, для пользователя с ролью МенеджерПоПродажам шен просмотр документа ИзменениеЦеныКомпании и запрещено любое его и 1мснение.
1 -86 1 С:Предприятие 8.1. Конфигурирование и администрирование НШИ-МЙ Яе#стшя*11§. ВДИШ Права [Шайхимофзничаэдй Права fig УППДвмоКонФигдгацияЗ! Ш-JBU Общие Ш-flF Константы ЕЬ-Д Оравочнии1 El-^J Документы И-Дз| Последовательности Щ АвансввыйОтчет {gfj АюдмдитвТТереданный ¦{^1 АкнредитивПолученный АктОбО -.' \3r*rt t<v ис; гт«*1ызй'спя Щ АктОтбораПробНоменклатуры |S] АктСверкиВзаиморасчетов -@ Актуа .*эаш»Ьоиг«* |Ц АмортизацияНМА i#| Ам^тизацияНМАМеждународный -й АмортмэащляОС ИГ ^Добавление [^Изменение ....... ?Удаление ч/ Проведение 0 Отмена гроведения ч/ Просмотр @ Интерактивное добавление Офаиичания доступа «данным llhillllllllillllllll I Hi «Прочие попв> ШапкаТабшцы ГДЕ ЯУсповлеЩЕРекачзитВТабшчн. "Кситрагент". '¦ЗНАЧЕНИЕ(Перечиспение.06т Омгание Прааэначтение Чтение) • Усганавшатъправадпяноеызсобъектав В системе 1С:Предприятие 8.1 различают два типа прав - основные и интерактивные. Основные проверяются всегда, независимо от способа обращения к объектам информационной базы. Интерактивные ся при выполнении интерактивных операций (просмотр и редактирование в форме и т. д.). Чтение — это право на чтение объекта средствами встроенного языка; Просмотр — право на интерактивный показ данного объекта (можно ли показывать в формах); Изменение - право на изменение средствами енного языка; Редактирование — право на интерактивное изменение данного объекта (можно ли редактировать объект в форме). Система 1С:Предприятие 8.1 допускает проверку прав из встроенного языка. Например, при добавлении команд к формам разработчик должен тельно позаботиться о проверке соответствующих интерактивных прав. Если для объекта, данные которого представляются в форме, установлено (разрешено) право Просмотр, но не установлено право Редактирование, то в форме данный реквизит будет показан (элемент управления, связанный с данным объектом, отображает значение реквизита), но редактирование значения будет недоступно. Если снять право Просмотр, то при попытке открытия формы будет выдано предупреждение: Нарушение прав доступа!, и форма не будет открыта. В списке прав при редактировании роли следует обратить внимание на внутреннюю иерархию прав. Иерархия проявляется в виде «старшинства» прав. При снятии «старшего» права снимаются другие права («младшие»), связанные со «старшим» правом; и наоборот, при установке «младшего»
Глава 3. Объекты конфигурации 1-87 права устанавливаются снятые «старшие» права. Так, при снятии права Просмотр снимается право Редактирование. Что вполне логично, так как нет смысла предоставлять право редактирования при невозможности показа Элемента управления, связанного с данными. Положение флажка Устанавливать права для новых объектов определяет, будут ли установлены права для этой роли на новые добавляемые объекты конфигурации. Для корневого объекта дерева метаданных определены следующие права доступа (права описываются при установке флажка). Административные функции — для пользователя разрешено ние таких административных функций, как открытие конфигурации it конфигурации базы данных, выполнение отладки, работа с щем конфигурации, открытие списка пользователей, выгрузка и загрузка информационной базы, тестирование и исправление, настройка журнала регистрации, сравнение конфигурации и сравнение базы данных, ние конфигурации, выполнение создания файлов поставки и обновления, а гикже других административных действий. Обновление конфигурации базы данных — для пользователя разрешено обновление конфигурации как из режима Конфигуратор, так и из ной строки. Монопольный режим - разрешено переключение в монопольный режим при рнботе в режиме 1С:Предприятие. Активные пользователи - разрешено открытие списка активных телей. Журнал регистрации - разрешено открытие журнала регистрации. внешнее соединение - разрешена работа системы через СОМ-соединение. Automation — разрешена работа системы 1С:Предприятие 8.1 в качестве Л itomation-сервера. Ишперактивное открытие внешних обработок — разрешено открытие иисшних обработок. Ишперактивное открытие внешних отчетов — разрешено открытие иисшних отчетов. Hhwod — ограничение вывода на печать, сохранения, работы с буфером обмена. Описание прав доступа приведено в описании метода глобального контекс- |ц ПравоДоступа() (см. справку по встроенному языку).
1-88 1С:Предприятие 8.1. Конфигурирование и администрирование Роли обычно указываются для каждого вида деятельности. При включении в список пользователей нового пользователя (см. стр. 2-859) ему может быть назначена определенная роль или совокупность ролей. В случае ния нескольких ролей алгоритм предоставления доступа по каждому объекту и виду права доступа (например, Пометка на удаление) будет работать ющим образом: • если хотя бы в одной роли есть разрешение, то доступ будет открыт; • если во всех ролях есть запрещение, то доступ будет закрыт. При создании новой роли все права устанавливаются конфигуратором в состояние Разрешено. Чтобы открыть доступ, в левом списке выберите объект конфигурации, а в правом установите флажок в нужной строке вида действия. Если ется открыть или закрыть доступ сразу ко всем объектам выбранной ветви, укажите в левой части эту ветвь и установите или снимите установку прав доступа. Описание каждой роли можно вывести в табличный или текстовый документ с помощью пункта Действия - Вывести список. Просмотр и редактирование всех ролей Если в конфигурации используется несколько ролей, то для удобства просмотра и редактирования прав рекомендуется использовать окно Все роли. Для его открытия в дереве объектов конфигурации окна Конфигурация укажите ветвь Роли и в контекстном меню выберите команду Все роли. ЦШиыяаив-и- Действия* Права -а ¦м а -а -т т -а -т -а а а а и и ш н -в -я а ш я ВозаратТовар вПос Во<жтановлениеНДО ВыборНоменкгвтии' ВвбимеНМАМв«даг ВыбытиеОаютыхС}! ВыгрузкаРеггвмент! Выработка^ I ВыработкаОС ВычетНДСПоПриоф ПхмНаОСамса ГрадикОтпусюиОрг ГЩИмпорт ДенежныйЧек Доверенность говорЗаймаСРа ДогоаорНаВыпогн» ДокументРасчетовС НаПроизеог ЗаказПокупателя ЗакрытиеВнутреннш J Ж « ' 1 II Ш С Воеправа Чтение Добавление Изменение Удаление Проведение , Отмена проведения Просмотр Интерактивное иэбавгение <1 Uf...4l Hi Hi ¦ ¦ Все pom ш S3 PI и PI 0 0 и в Бухгалтер 0 0 ' 0 0 0 0 0 0 0 БтЬсгалгео ll! И s 0 0 0 0 0 ¦ 0 *3аведшда? Э г И 0l|( тп! п * D п 1 ? !' 0 i ? я т Ограничения дхту-а к ванным нкэнпша «И Ш ! - '" '
Глава 3. Объекты конфигурации 1-89 В окне расположены три табличных поля. В первом (слева) дится выбор нужного объекта конфигурации. В первой колонке второго табличного поля выводится список прав по выбранному объекту. Другие колонки предназначены для указания использования каждого права для каждой существующей роли. Если для какой-нибудь роли требуется установить или снять все права, то достаточно в первой строке табличного поля установить или снять флажок разрешения. Ксли для какого-нибудь права требуется установить или снять его шение во всех ролях, то достаточно в первой колонке табличного поля установить или снять флажок разрешения. Поддерживается возможность перестановки колонок, соответствующих ролям. В третьем табличном поле редактируются условия доступа к данным на уровне отдельных полей и записей (см. далее). Режимы удаления данных Система 1С:Предприятие 8.1 предоставляет пользователям возможность удаления лишней или устаревшей информации в двух режимах: редственное удаление объектов, при котором не производится анализ Использования удаляемого объекта в других объектах базы данных, или использование контроля ссылочной целостности, при котором объекты Снимала помечаются на удаление, а затем производится контроль наличия ссылок на эти объекты в других объектах. licjiH пользователю разрешен режим непосредственного удаления, то в этом 1'Лучае дополнительная ответственность ложится и на пользователя, няющего удаление объектов, и на разработчика (администратора системы), определяющего права пользователей и действия системы при ных ссылках. Работа системы без контроля ссылочной целостности может, нинример, быть использована специалистами в процессе отладки конфигу- рикии. Если контроль ссылочной целостности не используется, то удаление объектов происходит непосредственно (без пометки на удаление) и появля- 1ЧСЯ возможность образования неразрешенных ссылок. Гцмым радикальным способом установки режима контроля ной целостности является отключение прав непосредственного удаления объектов в целом. Таким способом полностью исключается возможность н пределах данной конфигурации непосредственно удалять объекты. Пользо- ин i ели будут иметь возможность только помечать объекты на удаление. 1нметим, что также существует возможность непосредственного удаления мбьектов средствами встроенного языка. Поэтому элементы конкретной
1 -90 1 С:Предприя™е 8.1. Конфигурирование и администрирование конфигурации могут выполнять непосредственное удаление в обход механизма контроля ссылочной целостности. В этом случае ответственность за целостность данных лежит на специалисте, выполняющем вание системы. Ограничение доступа к данным Настройка ограничений прав выполняется для объектов метаданных, щихся в базе данных, на уровне отдельных полей и записей. Такие объекты в списке прав содержат права Чтение, Добавление, Изменение, Удаление. Ведение списка ограничений производится с помощью команд го меню. Список состоит из двух колонок. В первой указывается поле или Прочие поля, а во второй —условия ограничения. Для права Чтение допускается установка нескольких (по числу полей) ограничений. Для остальных - только одного условия. Для каждого ограничения по праву Чтение допускается выбор поля. Выбор поля означает, что в выборке запроса будут присутствовать только данные, в которых по указанному полю будет удовлетворяться условие (проверка производится только по данному полю). Условие Прочие поля означает, что проверка вьшолнения условия будет производиться по каждому полю, и, если условие выполняется, данные выбираются. Условие ограничения можно ввести вручную или создать с помощью конструктора. Использование препроцессора При редактировании текста ограничения доступа к данным возможно зование инструкций препроцессора. Доступны следующие инструкции: • #ЕСЛИ <Выражение> #Т0ГДА • #ИНАЧЕЕСЛИ <Выражение> #Т0ГДА • #ИНАЧЕ • #КОНЕЦЕСЛИ <Выражение> — произвольное логическое выражение на встроенном языке, результат которого имеет тип БУЛЕВО. Выражение может содержать: • операции сравнения <, >, <=, >=, =, <>; • логические операции И, ИЛИ, НЕ; • параметры сеанса - используется синтаксис &Параметр, где Параметр - имя параметра сеанса. Если результатом выражения инструкции #ЕСЛИ или ИНАЧЕЕСЛИ ся значение Истина, то в результирующий текст инструкции ограничения
Глава 3. Объекты конфигурации , . 1-91 доступа помещается текст, расположенный после ключевого слова #ТОГДА. Если же результатом выражения является значение Ложь, то текст, женный после ключевого слова #ТОГДА, не помещается в текст инструкции ограничения доступа. Текст, расположенный после инструкции #ИНАЧЕ, будет помещен в результирующий текст ограничения доступа, если ни одно из ранних условий не было выполнено. Примечание. Если текст ограничения доступа к данным содержит инструкции препроцессора, то такое ограничение не проходит ку синтаксиса при редактировании и не может быть изменено при помощи конструктора. Пример #ЕСЛИ &Текущийпользователь о "Климова" ЙТОГДА <текст ограничения доступа> ИКОНЕЦЕСЛИ Здесь ТекущийПользователь - параметр сеанса типа СправочникСсылка. Пользователи. Тикая конструкция означает, что условие для установки ограничения доступа будет проверяться для всех пользователей из справочника, кроме теля Климовой. Конструктор ограничения доступа к данным Для вызова конструктора в табличном поле Ограничения доступа к данным к колонке Ограничение доступа перейдите в режим редактирования и нажми- ic кнопку выбора. I In экран выводится форма конструктора. Таблицы и поля (Связи Условия в Г В-Я Доверенность I В-Я ЗаказПокупетЕля I В-Я ЗаказПоставщику 1 ф-Я ЗакрытивЗакезовПок, 1 В-?! Закрытие Заказ 1 ш-ffl ИзмвнеНиеЛимитовЕ 1 В Ш ИзменениЕСкидокКоь I Ь : ИнвентеризаиияТоег ] В Р ИнвентеризацияТове 1 V3 Контакт 1 В Я КоррвктировкеЯолгв 1 fc S КорректировкаЗакеэе I В б КарректировкаЗаказе I ¦* 3 КорректировкеСерий я > » < i « • ¦«** тщ. Ш- ИзмвнвниеЦенКомпонии { 1 1 Запрос ' <Иэзад | Далее > | j OK | Отмена j | Справке j ;
1-92 1С:Предприятие 8.1. Конфигурирование и администрирование С его помощью производится формирование условий для установки чения доступа к данным. На закладке Таблицы и поля выберите нужные объекты и перенесите их в раздел Таблицы и Поля. Если указано несколько таблиц, то в конструктор добавляется закладка Связи. а— к за Таблицы и поля Связи Условия зиг*% Ю ¦В [Таблица 1 аЭ Контакт В. Таблица 2 В Условие связи ? 3 ИзменениеЦенКом П Контакт Ответственный.Коп =¦ ИзменвниеиенКомпан., Типусловия 0Простоеусловие О Произвольное условие Поле! Условие Полег А - Контакт.Ответственный.Коп, 0Г F1 j - ИзменениеивнКомпании.ОтветстЕ«[-> j Запрос j <Наз_ац | j Далее» | j OK | | Отмена [ Гспраака На закладке Связи формируются условия, которые накладываются на связи между полями таблиц. Для ввода нового условия нажмите кнопку Добавить и в колонке Таблица1 выберите одну из таблиц. В колонке Таблица2 те таблицу, поля которой связаны с полями первой. Ниже списка условий расположены элементы управления, с помощью которых формируется условие связи таблиц. Если выбран простой тип условия, то в Поле1 и Поле2 выбираются ные поля указанных таблиц и задается условие сравнения. Если выбраны поля, сравнение которых не производится, то в строке списка условий в колонке Условие связи выводится текст: Неверно заполненное условие. На закладке Условия, если требуется, укажите условия, по которым будет выполняться отбор исходных данных. По каждому выбранному полю необходимо выбрать вид условия и указать наименование параметра. В качестве параметра допускается ние параметра сеанса. Разрешается указывать несколько условий. В этом случае в колонке Условие табличного поля условий текст условия ся в несколько строк.
Глава 3. Объекты конфигурации „ 1-93 ¦ТСгИтЯ!НТг|н! ТеВяииы и поля j-Шязи | Условия Контакт - Ссылке - ПометкаУдвления - Номер - Пато ¦•• Проведен ЙЬ- Контрагент Ш— КантактноеЛицо 0«— ВидКонтвкта Ш— ТипКонтвктв - НачалоКонтекта - ОкончениеКонтекта - СодерженивКонтекта — Нвттог*|нитьОКонтехте — ВремяНапоминения Основание Контакт Отввтственный &ТекущийПользоввтель Тип условия ©Простое условие О Произвольное условие Поле Условие Параметр- Контект-Ответст! ¦ 1ТекущииП в тв <НаааЙ j \ Далее >[ QK ] |t Отмайа^| [ Справка И любой момент создания запроса текст запроса можно просмотреть, нажав кнопку Запрос. Шаблоны текста ограничения доступа 1'оль может содержать список шаблонов ограничения доступа, которые описываются на закладке Шаблоны ограничений формы роли. Каждый ишблон ограничения доступа имеет имя и текст. Имя шаблона подчиняется обычным правилам для имен, принятых в ме 1С:Предприятие 8.1. Текст шаблона содержит часть текста на языке запросов и может содержать Ийраметры, которые выделяются при помощи символа '#'. 11осле символа '#' могут следовать: ключевое слово Параметр, после которого в скобках указывается номер параметра в шаблоне; ключевое слово ТекущаяТаблица - обозначает вставку в текст полного имени таблицы, для которой строится ограничение; • символ '#' — обозначает вставку в текст одного символа '#'. 111иблоны ограничений могут использоваться в тексте ограничений доступа. Дни >того в тексте ограничения указывается имя шаблона, перед которым умпмвается символ '#'. После имени шаблона, в круглых скобках, через ншмтую, перечисляются параметры шаблона. Значение каждого парамет- |Н1 шключено в двойные кавычки. При необходимости указания в тексте i триметра символа двойной кавычки следует использовать две двойные мимчки.
1 -94 1 С:Предприятие 8.1. Конфигурирование и администрирование Для удобства редактирования текста шаблона на закладке Шаблоны ний в форме роли нажмите кнопку Установить текст шаблона. В открывшемся диалоге введите текст шаблона и нажмите кнопку ОК. Система 1С:Предприятие 8.1 выполняет проверку синтаксиса текстов нов, проверку синтаксиса использования шаблонов и макроподстановку текстов шаблонов ограничения доступа роли в текст запроса. Макроподстановка шаблона заключается: • в замене вхождений параметров в тексте шаблона на значения ров из выражения использования шаблона в тексте ограничения; • в замене выражения использования шаблона в тексте запроса на получившийся текст шаблона. При вызове конструктора запроса для условия, содержащего шаблоны ограничения доступа, выдается предупреждение о замене всех шаблонов. Далее приведены примеры шаблонов ограничений. Имя шаблона Тело шаблона Использование Результат Шаблон Итого = #ПараметрA) где #Шаблон(0") где Итого =10 Имя шаблона Тело шаблона Использование Результат Шаблон 1 ВидДокумента = #ПараметрA) где #Шаблон1 ("""Накладная""") где ВидДокумента = "Накладная" Имя шаблона Тело шаблона Использование Результат Шаблон2 ВидДокумента = #ПараметрA) ## #ПараметрB) где #Шаблон2("""Накладная", """) где ВидДокумента = "Накладная # 1" Имя шаблона Тело шаблона Использование Результат ШаблонЗ ВидДокумента = #ПараметрC) где #ШаблонЗ("","", """Накладная""") где ВидДокумента = "Накладная"
Глава 3. Объекты конфигурации 1-95 Групповое редактирование ограничений прав доступа Режим группового редактирования ограничений прав доступа вызывается командой Все ограничения доступа контекстного меню ветки Роли. [ К Все ограничения Доступа|И 1 Действий *¦ Ч|| *Ц 1 '""" 1 Е& Справочник.... 1 Ш Справочник.... I ¦лз щь %%$% Йаяь .... Бухгалтер (с ограничением прав доступа) Бухгалтер (с ограничением прав доступа) Бухгалтер (с ограничением прав доступа) Бухгалтер (с ограничением прав доступа) Право Д аеление Изменение Удаление Чтение Поля Ограничение дос. ХранилищеДопол . ИЗ Справочник. Храм... как ХранилищеДопол... ХранипищеДопоп... из Справочник.Хран . КАК ХранилищеДопол . Хранилище Допол... ИЗ Справочник.Хран... КАК ХранилищеДопол . ХранилищеДопоп.™ ИЗ Справочник.Хран... КАК ХранилищеДопол... л Отбор: 1'ожим позволяет просматривать все введенные ограничения доступа в общем списке (по всем ролям, объектам, правам, комбинациям полей). ('у шествует возможность добавлять ограничение доступа сразу для ких ролей, объектов, прав и комбинаций ролей. Можно фильтровать список по различным критериям. шшшшшшшшшшшшшшшшшшшшшшшш CrpMOttfWKM '*-'¦ У! W Документы ФБЩ0 Регистры сведений Ж * А Регистры накопления Э ЙГО Регистры бухгалтерии Регистры расчета ¦* я ЙСсытаеа [2По>*ткаУдапенив кование [^Объект №яФлйла |ЙЛред«ет ЕШоаадда.—н , #i Гфдаа ЦАдминистрат^ Ю<Н 3 Аднижстрвтор №34 (с ограничвни»«1р*... [бухгалтер ©бухгалтер (с ограничением прав доступа) @3аведуиздй складом (с ограничением пр. [^Кассир [7]|Сассмр (с ограничением прав доступа) ЕЗКпадоешж [^Кладовщик (с ограничением прав доступа) [у]Мв"еджер по закупкам Менеджер по закупкам (с ограничение» п... [у]№иенэине 0Чтеже ^Добавление У Ограничение доступа: " Я**Г1Щ1Г:истеиэп -
1-96 1С:Предприятие 8.1. Конфигурирование и администрирование Режим группового редактирования позволяет удалять выделенные в ке ограничения. Существует возможность редактировать выделенные ограничения. При этом можно заменять состав полей и/или ограничение доступа. Режим группового редактирования позволяет также копировать ные ограничения в другие роли. НЯ^ ВрОЛи. * Бухгалтер (с ограничением град доступа? _ Р Р О п рАднинисграторККМ [Лдмижсгратор ККН (с ограничением лр».. [?Бухгалтер Заведующий складом Заведующий «яадда (с ограничением гр« ?Кадровик регпементнююнньк данных Кадровик регламектдееанньес данных с... ?Кадровик утрввпеических данных ?Кассир ГУтгг"ТУ' осаащиеыддд роде т""""»\ I •Ж J'"^« _ »saJ Планы обмена План обмена используется для реализации механизмов обмена данными План обмена содержит информацию об узлах, которые могут участвовать в! обмене данными; определяет состав данных, которыми будет производить-] ся обмен; и указывает, следует ли задействовать механизм распределенной! информационной базы при обмене. В одном прикладном решении может существовать несколько планов! обмена, каждый из которых может описывать свой порядок обмена данны-1 ми. Например, если выполняется обмен данными с удаленными складами! и удаленными офисами, то, скорее всего, будут существовать два плана! обмена (один - для обмена со складами, другой - для офисов), поскольку состав данных, которыми производится обмен со складами, будет значи-1 гельно «уже», чем состав данных, предназначенных для обмена с офисами J Критерии отбора Критерии отбора - одна из составляющих механизма отбора информации! С их помощью специалист, осуществляющий конфигурирование систаГ мы, создает предопределенные правила отбора. В режиме 1С:Предприятив] по этим правилам будет выполняться отбор информации в списках. В окне редактирования объекта Критерий отбора укажите имя, синони^ и комментарий. Тип критерия отбора может быть любым из стандартных типов или определе^ ных как объекты дерева конфигурации. Допускается включение реквизит! пен- ггом
Глава 3. Объекты конфигурации 1-97 с составным типом, заданным как СправочникСсылка, ДокументСсылка и т. д., и также реквизитов с составным типом, определенным планом видов теристик (Характеристика...). При создании типа критерия отбора укажите те типы, по которым требуется производить отбор. На закладке Состав по этому типу будет сформирован состав объектов конфигурации, содержащих данные, тип которых входит и тип критерия отбора. В списке требуется установить отметку для тех реквизитов, по которым будет производиться данный отбор. Чтобы критерий отбора выполнял свои функции, в конфигураторе для него должен быть создан список (закладка Состав), состоящий из реквизитов справочников и документов. На состав списка не накладывается чески никаких ограничений: например, в отличие от графы журнала, для критерия отбора можно выбрать несколько реквизитов одного документа и реквизитов табличной части документа. Критериев отбора может быть произвольное число, а каждый критерий может иметь несколько форм представления результатов отбора. Этот ме- хпнизм полезен в случае поиска различной информации. Например, требуется отобрать все документы, в которых используется (в реквизитах и табличных частях) определенный контрагент. При этом можно учитывать и другие условия отбора информации (например, поиск ведется только среди проведенных документов или в определенном интервале дат и т. д.). Критерий отбора может иметь произвольное число форм для визуального представления результатов отбора. Для оперативности получения ции по отбору вызов формы можно разместить в пользовательском меню или на панели инструментов. Мели форм критерия отбора несколько, то в свойстве Основная форма указы- ниется та форма, которая будет вызываться по умолчанию. 1'.сли в конфигурации определено несколько подсистем, выберите ту, к которой относится данный критерий отбора. Если критерий отбора используется во всех подсистемах, укажите корневую строчку. Можно укизать несколько различных подсистем. 111 обы вызвать форму критерия отбора, система в командной панели инстру- Mei itob формы списка объекта (или объектов), который входит в тип критерия отбора, автоматически создает подменю Перейти (если в качестве ника указан список). Подробно об этом см. в книге «1С:Предприятие 8.1. Руководство пользователя» главу «Общие принципы работы с формами», нирпграф «Просмотр связанной информации». Для открываемой по этой команде формы устанавливается владелец формы. При открытии по текущей строке табличного поля в качестве владельца
1 -98 1 С:Предприятие 8.1. Конфигурирование и администрирование устанавливается табличное поле. При открытии из формы редактирования объекта в качестве владельца устанавливается форма. Если в случае открытия формы из строки табличного поля требуется получить доступ к форме, которая содержит этот элемент управления, то следует «выключить» стандартную обработку. Например, так: // Отключение стандартной обработки СтандартнаяОбработка = Ложь; // Открытие формы Фрм = Справочники.ЕдиницыИзмерения.ПояучитьФормуВыбора(); // любые установки: в том числе //Фрм.ВладелецФормы = ЭтаФорма; Фрм.Открыть(); Подписки на события Подписки на события позволяют назначать обработчики событий для одного объекта или группы объектов встроенного языка. При добавлении новой подписки на событие кроме общих свойств объектов конфигурации следует указать источник события, само событие, обработчик которого назначается, и процедуру, являющуюся обработчиком этого события. Источниками событий могут являться прикладные объекты и наборы записей регистров, определенные в конфигурации. Допускается как твенный выбор объектов, являющихся поставщиками событий, так и выбор всех объектов одного типа (например, все документы). Выбор события осуществляется из выпадающего списка, причем список содержит те события, которые присутствуют во всех выбранных объектах. Если таких событий нет, список будет пуст. Выбор обработчика события выполняется в окне, содержащем ры, которые могут быть назначены в качестве обработчика события. Такие процедуры должны удовлетворять следующим требованиям: • процедура должна быть расположена в общем модуле; • у общего модуля, в котором расположена процедура, должны быть заданы следующие свойства: • флаг Глобальный - сброшен; • флаг Клиент - установлен; • флаг Сервер - установлен; • флаг Внешнее соединение - установлен. • количество параметров процедуры должно быть на единицу больше, чем количество параметров, которое имеет обработчик выбранного события (т. к. дополнительно к параметрам, передаваемым в чик события, передается еще и объект-источник данного события).
Глава 3. Объекты конфигурации • 1 -99 При наступлении указанного события выполняется следующая тельность действий: 1. Сначала отрабатывается событие в самом объекте и вызывается чик события, определенный в модуле объекта или набора записей. 2. Если в процессе выполнения обработчика параметр Отказ установлен в значение Истина или вызвано исключение, действие прерывается. 3. Затем в произвольном порядке вызываются внешние обработчики, назначенные для данного события. 4. В качестве источника в назначенный обработчик передается сам объект (набор записей), вызвавший событие. 5. Если в процессе выполнения назначенного обработчика параметр Отказ установлен в значение Истина или вызвано исключение, действие прерывается. Назначенные обработчики событий вызываются в том же контексте, что и действие, вызвавшее событие. Если выполнение назначенного ка нужно перенести в кластер серверов, следует вызывать в коде обработчика процедуру общего модуля, исполняемую в кластере. Назначение обработчиков событий доступно также и средствами енного языка. Для этого используются операторы ДобавитьОбработчик и УдалитьОбработчик. У объектов, которые могут являться источниками событий, есть свойство ДополнительныеСвойства типа Структура, позволяющее хранить цию между вызовами событий, например, новый или старый это объект. Регламентные задания Регламентные задания являются частью механизма заданий. Подробно о порядке работы с регламентными заданиями см. главу 16 «Механизм заданий». Общие формы Механизм общих форм позволяет использовать формы, доступные ич любого модуля текущей конфигурации. 11одробно о порядке работы с редактором форм см. стр. 2-675.
1 -100 1 С:Предприятие 8.1. Конфигурирование и администрирование Формы для ввода констант Формы для ввода констант используют записи значений констант. ратор позволяет создавать неограниченное число форм. Добавление формы производится на ветви Общие формы стандартным путем. На экран вызывается конструктор общих форм. mm Расползгатьэлементы управления в [1 [*| колонкой] Р? кямэиты Наименование анн. Дата эапр. редактиро. L-p] Основной склад лементы Формы Ш Поле ввода Ш Поле ввода Ш Поле ввода <Назад } Далее> | Готово J | Отмена |f Справка | Выберите тип формы. Если указан тип Форма констант, то на следующем шаге конструктора будет предложено выбрать те константы, которые ет включить в форму. ¦ Выберите тип Формы: О *Рорма констант Н азн#*41ъ Форму основной Имя: Синоним. Комментарий [Форма [Форма |А| 1 1 Е Командная панель Формы сверху |У| Командная панель Формы снизу < Назад | Далее> ~] j Готом "^j j Отмена 11 Справка | ! Пометьте те константы, которые следует разместить в форме. Нажмите кнопку Готово. Если был установлен флажок Открывать форму для рования, то на экран выводится созданная конструктором форма. Описание работы с редактором форм см. на стр. 2-675.
1л ва 3. Объекты конфигурации 1-101 Интерфейсы В процессе настройки конфигурации задачи для каждого пользователя может быть создан пользовательский интерфейс для эффективной работы пользователей. Такой интерфейс включает команды главного меню и панели инструментов, настроенные на работу пользователя с той информацией, доступ к которой разрешен набором его прав. В конфигураторе системы 1С:Предприятие 8.1 функция создания списка пользователей (см. стр. 2-859), которым разрешен вход в систему, и функция создания пользовательского интерфейса отделены одна от другой. Такой подход имеет достаточную гибкость и простоту в использовании. С одной стороны, существует возможность создания нескольких типовых Пользовательских интерфейсов с различным объемом команд. Каждый интерфейс предназначается для использования определенной категорией пользователей, например: кладовщиками, продавцами, менеджерами и так чилее. Когда создается новый пользователь, принадлежащий к одной из указанных мисгорий, ему просто назначается заранее созданный типовой пользова- ичшекий интерфейс. I' другой стороны, при необходимости изменения интерфейса для категории пользователей нет необходимости в редактировании интерфейса каждого 01Дсльного пользователя, входящего в эту категорию. В этом случае доста- 10ЧПО отредактировать текущий интерфейс этой категории пользователей Или назначить ей новый типовой интерфейс - интерфейс будет чески обновлен для всех пользователей этой категорий. Конфигуратор системы 1С:Предприятие 8.1 позволяет создавать ки неограниченное количество типовых пользовательских интерфейсов. Со (данные пользовательские интерфейсы являются неотъемлемой частью конфигурации. I • со «дании пользовательских интерфейсов см. стр. 2-666. Общие макеты Меяпиизм общих макетов (печатных форм, форм отчетов, справочных Iiiiiiiux и т. д.) позволяет создавать шаблоны печатных форм, доступные из iiiiAoix) модуля текущей конфигурации. I Ыдробно о порядке работы с редактором табличных документов см. стр. 2-742.
1т102 1С:Предприятие 8.1. Конфигурирование и администрирование Общие картинки Конфигуратор позволяет включать в конфигурацию графические жения - картинки. Картинки можно размещать в некоторых элементах управления, в формах, в макетах, а также обращаться к ним при помощи встроенного языка системы 1С:Предприятие 8.1. Если картинку планируется использовать в качестве пиктограммы в меню, панели инструментов, табличном документе и т. п., важно задать ей ный размер, чтобы она отображалась без искажений. Рекомендуемый размер картинок для пиктограмм - 16x16 точек или меньше. Если картинку планируется использовать в табличном поле, ее размер не должен превышать 14x14 точек. Если картинку планируется использовать в кнопке выбора поля вания, ее размер не должен превышать 9x9 точек. Если картинку предполагается использовать в нескольких местах, ее размер разумно ограничить меньшим значением. Для работы с картинками предназначено окно Библиотека картинок. Для его вызова в окне Конфигурация укажите ветвь Общие картинки и в тном меню выберите пункт Все картинки. На экран выводится окно ведения списка картинок. ггт ш О Параметры ИЗ Закрыть Ш\ Сохранить Ш Открыть ШЗ Автозаполнение ИЗ ИнтервалДат Ш\ ОткрьггьНаРедактирование ШЗ ВыполнигьПерерасчет Обновить Добавить [Изменить Удалить Сохранить 8 файл Закрыть Для добавления новой картинки нажмите кнопку Добавить. На экран выводится окно, в котором можно выбрать картинку из файла или открыт!, редактор картинок и создать новую картинку, а также выбрать или изменить для картинки прозрачный фон. Для выбора готовой картинки нажмите кнопку Выбрать из файла и выберите файл, в котором расположена ная заранее картинка. Система 1С:Предприятие 8.1 позволяет использовать картинки форматов bmp, gifj jpeg, png, tiff, icon и метафайлы.
Глава 3. Объекты конфигурации -103 Чвдайте имя, по которому данная картинка будет выбираться средствами нетроенного языка. 3S Ими Синоним Комментарий Подсистемы дддид ДемонстрационнаяКонФигурация > { Выбрать из Файла | Очистить Установить прозрачный фон Убрать прозрачность | РЬяшфвоп СокранитьеФайл Тип картинки: bmp Чгобы картинка при вставке хорошо вписывалась в элемент управления ПЛИ форму, желательно установить ей прозрачный фон. Для этого в качес- i не цвета фона при редактировании картинки достаточно выбрать любой НО используемый в картинке цвет, сформировать изображение и ни lb картинку. Для существующей картинки можно указать любой цвет. Ьлпгодаря установленной прозрачности данного цвета сквозь него стано- нч I ся видны детали той части формы, которую закрывает область картинки. Дли установки прозрачного фона нажмите кнопку Установить прозрачный фон. Указатель мыши примет вид \/. Подведите его к той части картинки, нисг которой вы хотите сделать прозрачным, и щелкните левой кнопкой Milium. Выбранный цвет становится прозрачным. Дли снятия прозрачности нажмите кнопку Убрать прозрачность. 11идобные действия можно выполнить с помощью ссылки Открыть в свойс- iiie Картинка. На экран выводится окно выбора картинки. Для редактирования картинки нажмите кнопку Редактировать Запускается редактор картинок (подробнее см. стр. 2-759). ПШ^^^НН К| I ! ¦> *¦ | В«6р«П>*ОФ4Алв Очсгитъ { { Установить грвэрм»А «он fl | Убрать грозрм юсп» | ! Редакпфсмгь | | ок. 1 Отмен» i 1 м» члинки' bmp
1-104 1С:Предприятие 8.1. Конфигурирование и администрирование XDTO-пакеты Механизм XDTO является универсальным способом представления данных для взаимодействия с различными внешними источниками данных и программными системами. Подробнее об использовании механизма XDTO см. стр. 2-577. Импорт схемы XML в глобальную фабрику XDTO Для того чтобы импортировать схему XML из файла .xsd в глобальную! фабрику XDTO, следует выделить в дереве конфигурации ветку XDTO и выполнить команду контекстного меню Импорт XML-схемы... Д*ти».<3-*% t III -§J Критерии отбора I €& Подписки на события | Обшив формы I Интерфейсы Обшие макеты g Обшие картинки ! Web-cep WS-ca»w Стили Языки У Константы -,ЭР Справочники Й- Документы -^ Журналы документов ¦{..? Перечисления . , Экспорт Х(*й.-схемы данных к Добавить I После указания требуемого файла .xsd будет выполнена проверка вования в дереве конфигурации пакетов XDTO, пространства имен которых ^ совпадают с импортируемыми из файла. Если такие пакеты существуют, то будет отображен список этих пакетов и будет предложено указать те пакеты, которые должны быть обновлены (по умолчанию существующие пакеты не обновляются). После этого будет выполнен импорт, в результате которого новые пакеты XDTO будут добавлены в дерево гурации, а пакеты, отмеченные для обновления, будут обновлены. 1 1 ок | | Отмена | Экспорт схемы XML-данных конфигурации Для того чтобы экспортировать схему XML, соответствующую типам данных конфигурации (без учета пакетов XDTO, созданных в дереве гурации), в файл .xsd, следует выделить в дереве конфигурации ветку XDTO и выполнить команду контекстного меню Экспорт XML-схемы данных гурации...
Гпева 3. Объекты конфигурации 1-105 B8B3HL Действия • *» Iff Критерии отбора •^ Подписки на события Общие фермы (Интерфейсы [общие макеты Общие картинки •ЯД'^уДД SEBL. —<J,Web-cepi i Импорт XMt-схены... ^WS-ccbi/» Ш-?| Стили &да Языки ¦jy КОНСТаНТЫ —,31 Справочники Ш-щЦ Документы $fy Журналы документов {. j| Перечисления ЭкатоГЛЖ<>»ЮА*юмм^рлц» *^ Добавить Л После выбора каталога и указания имени файла будет выполнен экспорт иксмы XML в указанный файл. Экспорт схемы XML-пакета XDTO Для того чтобы экспортировать схему XML, соответствующую щему пакету XDTO, в файл .xsd, следует вьщелить в дереве конфигурации фебуемый пакет XDTO и выполнить команду контекстного меню Экспорт XML-схемы... JSiMtfl Т. ; й-^ 1 Действия- *j ft *{ f t Ml _ДВ EH$|j Общие картинки Ep-HJ XDTО-пакеты | HI Данные! ®-<? Web-cepena EJ-j^WS-аылки ¦-J» Данные! ф?? Стили Й-^fe; Языки ^Е" Константы Ш-Д1 Справочники Ш «J Документы Щ Журналы док^ [ Перечисления JSJJ Отчеты -^Обработки HJgg) Планы видов » [ Tjjj Планы счетов j-^j Планы видов рг [ ? fig Регистры сведя Й ^ Регистры накоп 1 Открыть пакет j Проверить пакет ^ Добавить ¦*?_ Изменить ^t Удалить % j Переместить вверх 4 ] Переместить вниз ^[| Сортировать... Grf+Shift+Up Ctffc-Shjft+Dcwn j^f Поиск ссылок на объект ^ Поиск ссылок в объекте flL Дополнительно |3 Свойства ?| Регистры бухгалтерии -(Sf Регистры расчета Alt+Shifc+Enter Ait+Enter После этого будет выполнена проверка выгружаемого пакета XDTO. Если (Кдут обнаружены ошибки, соответствующие сообщения будут выведены в мм № сообщений, а процедура экспорта будет прервана
1-106 1С:Предприятие 8.1. Конфигурирование и администрирование В случае успешной проверки будет предложено выбрать каталог и имя файла | .xsd, после чего схема XML будет экспортирована в указанный файл. Проверка пакета XDTO Для того чтобы проверить пакет XDTO, следует выделить в дереве гурации требуемый пакет XDTO и выполнить команду контекстного меню Проверить пакет. В результате будет выполнена проверка модели пакета XDTO, правила | которой описаны в разделе «Правила проверки пакета XDTO» на стр. 2-600.1 Если будут обнаружены ошибки, соответствующие сообщения будут ны в окно сообщений. Окно редактирования пакета XDTO Редактирование пакета XDTO выполняется в окне редактирования пакета XDTO : Пакет _ ? X Б-JSP Пакет fliftp jsarnpte-padrageorg Ё-tfja Директивы импорта I Hll r^/Avwwjnportedp«ta»1|e.org E-^jJ Свойства t-Ji Onpcvn Е-^ Типы значежй ¦—^ ТилЗначения Е-^ Типы объектов B-J9 ТилОоъекта '—Ф- Свойство 1 При добавлении нового пакета XDTO в дерево конфигурации окно редактирования пакета XDTO открывается чески. Для того чтобы открыть окно редактирования для ющего пакета XDTO, следует выделить в дереве конфигурации требуемый пакет XDTO и выполнить команду контекстного меню Открыть пакет. Иерархическая структура пакета XDTO Окно редактирования пакета XDTO содержит иерархическую структуру пакета XDTO, отображенную в виде дерева. В корне дерева расположен идентификатор пакета XDTO, содержащий \JR\l пространства имен данного пакета. На первом уровне иерархии могут располагаться следующие элементы пакета: • Директивы импорта — перечень директив импорта. Каждая директив.» импорта представляет собой ссылку на другой пакет, содержащий типы, на которые так или иначе ссылается данный пакет. При работе с данным пакетом XDTO средствами встроенного языка данный перечень дирек>
Глава 3. Объекты конфигурации 1-107 тив импорта будет доступен в виде объекта КоллекцияПакетовХОТО, содержащегося в свойстве Зависимости пакета XDTO. • Типы значений - перечень типов значений XDTO, которые содержит пакет XDTO. • Типы объектов - перечень типов объектов XDTO, которые содержит пакет XDTO. • Свойства - перечень свойств пакета XDTO. Представляет собой объявления объектов/значений, которые могут являться корневыми элементами документов XML, принадлежащих URI пространству имен данного пакета XDTO. Каждый тип значения XDTO описывается иерархической структурой и может содержать в своем составе следующие элементы: • Образец - описывает один фасет XDTO типа Образец. • Перечисление - описывает один фасет XDTO типа Перечисление. Кпждый тип объекта XDTO описывается иерархической структурой, которая Может содержать в своем составе набор свойств объекта. ойства пакета XDTO Седиктирование свойств пакета XDTO выполняется в палитре свойств. I'emi палитра свойств открыта для пакета XDTO, выделенного в дереве мшфигурации, то в ней будут содержаться следующие свойства: Имя, Г.иноним, Комментарий, Подсистемы и URI пространства имен. Кроме этого Miuitrrpa свойств будет содержать ссылку Пакет, по которой можно перейти в Hltiio редактирования пакета XDTO. URI проспмис- имен| / fmuu/ws/prodiicls Пакет Открыть w>tmmmmmaimiinemmiimmmiiimmmmmmmmmt 11 ни палитра свойств открыта для пакета XDTO, выделенного в окнередак- i шия пакета XDTO (корневой элемент), то она содержит единственное HinileiHo - URI пространства имен. Это свойство задает URI пространс- iiiii имен пакета XDTO, к которому принадлежат все определенные в этом мшичс типы.
1-108 1С:Предприятие 8.1. Конфигурирование и администрирование Свойства директивы импорта Редактирование свойств директивы импорта выполняется в палитре свойств. Для директивы импорта ра свойств содержит единственное свойство - Пространство имен. Это свойство задает URI пространства имен импортируемого пакета. Свойства типа значения XDTO Редактирование свойств типа ния XDTO выполняется в палитре свойств. Для типа значения XDTO ра свойств содержит следующие свойства: • Имя - имя типа значения XDTO. • Базовый тип - базовый тип для данного типа значения XDTO. • Вариант - вариант простого типа (атомарный тип, список, объединение). Если значение установлено, то до'лжно не противоречить значениям Тип элемента и Типы объединения. • Тип элемента—тип элемента списка в случае, когда тип значения XDTO определяется списком. При этом все фасеты и свойство Типы ных должны быть пустыми. • Типы объединения - список типов, образующих объединение в случае, когда тип значения XDTO определяется объединением. Объединяться могут только типы значений XDTO. При этом все фасеты и свойство Тип элемента должны быть пустыми. • Длина - фасет длины. • Минимальная длина — фасет минимальной длины. • Максимальная длина — фасет максимальной длины. • Пробельные символы — фасет пробельного символа. • Минимум, включающий границу - фасет минимума, включающего границу. • Минимум, не включающий границу - фасет минимума, не включающего границу. д—д iported-patkage.ofg *¦ X "ЦОДЁ.'.х v 'Другие: БаэодыЙтип Тил»лемента Типы объединения Длина Минимальная длина Максимальная длина Пробельные стволы Минимум, включающий границу Минимум не включают границу Максимум, включающий границу Максимум, не включающий гранту Общее количество цифр Количество цифр дробной части
Глава 3. Объекты конфигурации 1-109 • Максимум, включающий границу - фасет максимума, включающего границу. " Максимум, не включающий границу - фасет максимума, не го границу. • Общее количество цифр - фасет общего количества цифр. • Количество цифр дробной части - фасет количества цифр дробной части. Подробнее о фасетах можно прочитать в разделе «Тип значения XDTO» im стр. 2-582. Свойства типа объекта XDTO Редактирование свойств типа объекта XDTO выполняется в палитре свойств. Для типа объекта XDTO палитра свойств содержит следующие свойства: • Имя - имя типа объекта XDTO. • Базовый тип - базовый тип для данного типа объекта XDTO. Это может быть только тип объекта XDTO. : Расхо шяНакп ная ? SilffllU* У [ V РасходнаяНакласнал Базовый тип Отпрыгай Абстрактный Смешанный Угк»-«л***мый Последовательный Открытый - признак, является ли тип объекта XDTO открытым. Данное свойство показывает, может ли экземпляр объекта XDTO содержать дополнительные свойства, не определенные в его типе. Абстрактный - признак, является ли тип объекта XDTO абстрактным. Смешанный - свойство показывает, имеет ли соответствующий объект XDTO смешанное содержание. Если значение свойства Смешанный равно Истина, то значение Последовательный обязательно равно Истина, так как смешанное содержание невозможно смоделировать без нения последовательности XDTO. Упорядоченный - признак, является ли порядок следования элементов, представляющих значения свойств, строго соответствующим порядку следования свойств в типе объекта XDTO. Если свойство Упорядоченный имеет значение Ложь, то на входе порядок следования элементов XML не контролируется, а на выходе определяется порядком следования свойств, если только свойство Последовательный не имеет значение Истина. Последовательный - это свойство показывает, содержит ли ляр соответствующего объекта XDTO последовательность XDTO.
1-110 1 (^Предприятие 8.1. Конфигурирование и администрирование Данный признак равен значению Истина в тех случаях, когда порядок следования вложенных элементов XML не может однозначно ляться порядком следования свойств в типе или соответствующий объект XDTO имеет смешанное содержание. Последовательность XDTO позволяет задать в явном виде порядок следования элементов, как они будут представлены в документе XML. Для объектов типов, у которых свойство Последовательный установлено в значение Ложь, порядок следования вложенных элементов соответствует порядку следования свойств. Свойства свойств типа объекта XDTO Редактирование свойств свойства типа объекта XDTO выполняется в палитре свойств. Для типа объекта XDTO ра свойств содержит следующие свойства: • Имя — имя свойства. В пределах одного типа та XDTO имена свойств должны быть уникальными. • Тип - тип свойства. Может быть как типом значения XDTO, так и типом ] объекта XDTO. • Минимальное количество-минимальное количество значений свойства. Минимальное количество значений свойства может принимать значе-1 ния >= 0. Естественно, значение Минимальное количество должно быть I меньше или равно значению Максимальное количество (если, конечно, I Максимальное количество не равно -1); • Максимальное количество — свойство типа объекта XDTO может быть определено как содержащее одно или множество значений. Свойство 1 считается содержащим одно значение, если свойство Максимальное I количество равно 1. Если же свойство Максимальное количество больше I 1, то считается, что свойство может содержать множество значений. Такое свойство в структуре объекта моделируется как список. Свойс тво Максимальное количество показывает максимальное количество значений свойства. Максимальное количество > 1 может быть задано только для свойств, представляемых в виде элемента XML; • Возможно пустое - показывает, может ли свойство принимать деленное значение. Свойство Возможно пустое, равное Истина, может быть определено только для свойств с формой представления Элемент. I Если Максимальное количество > 1, неопределенное значение является допустимым для элемента списка значений свойства.
Глава 3. Объекты конфигурации 1-111 • Фиксированное - указывает, является ли значение свойства ванным. Если установлено в значение Истина, то само фиксированное значение можно получить через свойство По умолчанию. • По умолчанию — значение свойства по умолчанию. Тип значения по умолчанию может быть только типом значения XDTO. При этом данное значение должно быть совместимо с типом свойства (быть того же типа, что и тип свойства или же унаследованного типа). При создании объекта XDTO свойство, если оно допускает единственное значение, принимает значение по умолчанию. Для свойств с множеством ний список значений изначально пуст, независимо от того, определено или нет значение по умолчанию. • Форма - форма представления свойства в XML. Это может быть Текст, Элемент или Атрибут. Если формой представления является Атрибут или Текст, то значение свойства Максимальное количество не может быть больше 1. Если свойство принимает значение Текст, то значение тва Минимальное количество также должно быть равным 1. У одного типа только одно свойство может иметь форму представления Текст, при этом остальные свойства должны иметь форму представления Атрибут. • Локальное имя - локальное имя, используемое для представления свойства. Для свойств с формой представления Текст - пустая строка. • URI пространства имен - URI пространства имен, используемое для представления свойства. Пустая строка, если пространство имен отсутствует. Глобальное свойство 1'одактирование свойств глобального свойства выполняется в палитре 1110ЙСТВ. Дли глобального свойства палит- |И свойств содержит следующие t иойства: Имя - имя глобального свойства. В пределах одного типа объекта XDTO имена глобальных свойств должны быть уникальными. Ссылка - ссылка на вое определение свойства. пакета. Тип - тип глобального ства. Свойства: Пакет fhttp://v8 1c.tu/8.1/de...: Получение * Ш1 ЎДругие: X V Ссылка Тип Минимальное количество Максимальное количество Возможно пустое ф—р—ии По умолчанию Форма Локальное(«ля
1-112 1 С:Предприятие 8.1. Конфигурирование и администрирование • Минимальное количество — минимальное количество значений тва. Если Минимальное количество = 0, то значение свойства может быть не установлено. • Максимальное количество - максимальное количество значений тва. Если Максимальное количество равно —1, то количество значений свойства неограниченно. • Возможно пустое - показывает, может ли свойство принимать деленное значение. • Фиксированное - указывает, является ли значение свойства ванным. • По умолчанию - значение свойства по умолчанию. Лексическое представление значения свойства должно соответствовать правилам | проверки типа данного свойства. • Форма - форма представления свойства в XML. Это может быть Текст, ] Элемент или Атрибут. • Локальное имя — локальное имя, используемое для представления свойства. Web-сервисы Механизм Web-сервисов позволяет использовать 1С:Предприятие 8.1 как набор сервисов в сложных распределенных и гетерогенных системах, а также позволяет интегрировать 1С:Предприятие 8.1 с другими ными системами использованием сервисно-ориентированной архитектуры. Подробнее об использовании механизма Web-сервисов см. стр. 2-612. Добавление Web-сервиса того чтобы добавить Web-сервис в дерево конфигурации, следует вьщелить ветку Общие - Web-сервисы и выполнить команду контекстного меню Добавить. В результате выполнения команды будет открыто окно редактирования Web- сервиса (см. параграф «Окно редактирования объекта» на стр. 1-60). На закладке Прочее окна редактирования Web-сервиса следует установить следующие параметры: • URI пространства имен — содержит URI пространства имен са. Каждый Web-сервис может быть однозначно идентифицирован по своему имени и URI пространству имен, которому он принадлежит. • Пакеты XDTO - перечень пакетов XDTO, типы которых могут зоваться в качестве типов возвращаемого значения операций и типов параметров операций Web-сервиса.
Глава 3. Объекты конфигурации 1-113 • Имя файла публикаций - имя файла описания Web-сервиса, который расположен на веб-сервере (о публикации Web-сервисов см. стр. 1-115). Кроме этого на закладке содержится кнопка Модуль, которая позволяет открыть для редактирования модуль Web-сервиса. Иерархическая структура Web-сервиса Каждый Web-сервис, описываемый в дереве конфигурации, может жать набор операций. Каждой операции должна соответствовать экспортная процедура, описанная в модуле Web-сервиса. д*"*»- ¦ss'B t * ш % *GSl Критерии отбора *§3а Подписки на события ?^ Регламентные задания -flQj Ойцие Формь ш Щ Интерфейсы -Щ] Оощив маквты Ш1§) ОЛдие картинки Ш в© Пакеты >0>ТО 0"§J Web-сервисы е-|Г" B-tf Па/ушть I—• КодДоку»*ента •^ ДсНшеНоменклат)ры I.L.L..I.HJ.UIIIL.I идя iiifiiffifiiiiuiummiiuiiiiiiffiiiiufififiiifiiiiii | // ЭКСПОРТНЫЕ ПРОЦЕДУРЫ I " 1 Ш // Выдает данные расходной накладной по ее коду|//.Т] Ш Фувкиия Получить (КодДокумента} Экспо: Q iMMji.mmtsai'JLWLMJ-J'-^-j'jbMyM11'¦ 11 Свою очередь, каждая операция может содержать набор параметров, имена которых должны соответствовать именам параметров процедуры, ющей данную операцию. Операции Web-сервиса I In закладке Операции выполняется добавление операции Web-сервиса. Редактирование свойств операции выполняется в палитре свойств. [liiMjl ? X "Основные; Синоним [Полунить Комментарий Тип возвращаемого значения {расхолнаяНакладная (http://www. le.rW<fen^frhpment) ШШ Возможно пустое значение 0 В транзакции Q_ Имя метода [под
1-114 1С:Предприятие 8.1. Конфигурирование и администрирование • Тип возвращаемого значения - тип значения, которое возвращает ция Web-сервиса. Может являться типом значения XDTO или типом объекта XDTO. • Возможно пустое значение — показывает, может ли возвращаемое ние принимать неопределенное значение. • В транзакции - показывает, будет ли выполняться код модуля са в транзакции или нет. Если свойство установлено, то при вызове Web-сервиса автоматически будет начата транзакция, а при нии транзакция будет либо зафиксирована, либо произойдет откат транзакции (в зависимости от результатов выполнения). Если свойство не установлено, при начале исполнения модуля Web-сервиса ция начата не будет. • Имя процедуры - имя процедуры модуля Web-сервиса, которая будет выполнена при вызове данного свойства. Параметры операции На закладке Операции для указанной операции осуществите задание параметров операции Web-сервиса. Редактирование свойств параметра выполняется в палитре свойств. ЯИЯЯЯИЯН1 ИМ » Основные: Синомин Комментарии Тип значения КодДокунента Код документа (string <http;//www w3 crg/2001/XMLSchema) |, |x| Возможно пустое значение О Мяршам передачи [Входной f*\ • Тип значения - тип значения параметра операции Web-сервиса. Может являться типом значения XDTO или типом объекта XDTO. • Возможно пустое значение — показывает, может ли значение параметра операции принимать неопределенное значение. • Направление передачи - определяет направление передачи данных с помощью данного параметра. Возможные значения: • Входной - означает, что параметр используется для передачи данных Web-сервису; • Выходной — означает, что параметр используется для получения данных от Web-сервиса; • Входной - Выходной — означает, что параметр может использоваться как для передачи данных, так и для их получения от Web-сервиса.
Глава 3. Объекты конфигурации 1-115 Указание типов, определяемых системой Чтобы в Web-сервисе воспользоваться типами, определяемыми мой 1С:Предприятие 8.1 (например, в параметрах и возвращаемом значении операций), нужно в конфигурации определить пакеты XDTO и для каждого пакета указать в его списке импортируемых пакетов (свойство вы импорта) набор пакетов платформы, в которые эти типы входят. URI пространства имен для указания типа содержится в статье Синтакс-Помощ- ника по объекту данного типа. Публикация Web-сервисов 'Задача публикации Web-сервисов сводится к размещению ных файлов *.lcws Web-сервисов в соответствующем каталоге веб-сервера с соответствующими настройками для веб-сервера. Для публикации Web- сервисов следует выполнить команду меню Администрирование - Публикация Web-сервисов. Jg Пользователи ^ Активные пользователи Щ Журнал регистрации I Выгрузить Ш0ЯФЯШШ)ЦШ баз/,.. Загрузитьтфйсмцномиую базу... публикация >nt>c»p».r за : | Тестирование и исправление... Настройка куриала регистрации... Региональные установки инфощаииоигоЯ базы... Параметры инфОБиаииоммон базы... И результате выполнения этой команды будет открыто окно публикации Web-сервисов. Путы [*! | Соединение Web-сервисы Имя > • |Файя . ДанныеОтгрузки shipment. 1 cws ДанныеНоменклатуры products 1 cws Публикация: Имя j Отключить х № t )|<но публикации Web-сервисов содержит путь к веб-серверу и два списка: • Web-сервисы - список Web-сервисов конфигурации; • Публикация - список Web-сервисов, опубликованных на указанном сервере. Г помощью кнопки Соединение... следует указать веб-сервер, на котором фсбуется опубликовать Web-сервисы.
1-116 1С:Предприятие 8.1. Конфигурирование и администрирование Окно выбора пути к веб-серверу позволяет указать путь двумя способами: • на закладке Файлы - этот способ используется в том случае, когда публикация выполняется на том же компьютере, на котором лен веб-сервер. В качестве пути указывается локальный каталог, соответствующий интернет-странице, с которой будет выполняться вызов публикуемого веб-сервера; • на закладке FTP-сайт - этот способ используется в том случае, когда требуется опубликовать Web-сервис на удаленном компьютере. Для выполнения публикации необходимо указать параметры FTP-co ния с удаленным компьютером и каталог, в котором будет опубликован Web-сервис. Публикация выбранного Web-сервиса осуществляется с помощью кнопки 0 Опубликовать. Для отмены публикации Web-сервиса используется кнопка Ш Удалить. рш !НИ Путь. | C:\lnetpub\iMwwrQQl\WS щ ть S Публикация X 'Q Имя ^ products lews U shipment, lews 1 Справке №№Щиш1И^1ЧЧ?ШЧВ5Р'$РЯЧШШ1РМЧЧВИв^Ммив1ПЧ» -*> Для обновления списка опубликованных Web-сервисов используется кнопка Щ Обновить текущий список. WS-ссылки Система 1С:Предприятие 8.1 может использовать веб-сервисы, емые другими поставщиками, с помощью статических ссылок, создаваемых в дереве конфигурации. Подробнее о работе с WS ссылками можно прочитать на стр. 2-617. Добавление WS-ссылки Для того чтобы добавить статическую ссылку на внешний веб-сервис в дерево конфигурации, следует выделить ветку WS-ссылки и нить команду контекстного меню Добавить или соответствующую команду меню Действия. В открывшемся окне следует ввести URL ния добавляемого веб-сервиса, например: http://www. 1 c.ru/dem/products. 1 cws?wsdl. яетш- Щ * <g t ¦ В % ПЭ Конфигурация В## Общие \-$L Подсистемы , Общие модули <" Параметры сеанса «*• Планы обмена Критерии отбора -s^ Подписки на события В Регламентные задания Общие Формы Я Интерфейсы Общие макеты Цщ, Общие картинки ¦ ПакетыХОТО N Web-сервисы |-*й| I щ Язьки ф Константы Ег Ш Справочники О
Глава 3. Объекты конфигурации 1-117 ерархическая структура WS-ссылки Просмотр иерархической структуры WS-ссылки выполняется в окне просмотра WS-ссылки. Значения свойств элементов ссылки можно реть в палитре свойств. Для того чтобы открыть окно просмотра WS-ссылки, следует вьщелить в дереве конфигурации требуемую WS-ссылку и выполнить команду тного меню Свойства. После этого в палитре свойств воспользоваться ссылкой WS-ссылка, которая открывает окно просмотра WS-ссылки. Окно просмотра содержит иерархическую структуру WS-ссылки, отображенную в виде дерева. На первом уровне иерархии могут гаться: : WS-ссылка [Только . В-J» |У/Б-ссыяка| В 1Щ Метель данных EHJ1 Web-сервисы • Модель данных - содержит перечень пакетов XDTO, описывающих структуру типов, используемую веб-сервисами, на которые ссылается данная WS-ссылка. • Web-сервисы - перечень Web-сервисов, на которые ссылается данная ссылка. Просмотр структуры и свойств модели данных выполняется но работе с пакетами XDTO («Иерархическая структура пакета XDTO», стр. 1-106), за исключением того, что редактирование свойств пакетов, отображаемых в окне просмотра WS-ссылки, невозможно. Просмотр структуры Web-сервисов выполняется аналогично работе с Wcb-сервисами («Иерархическая структура Web-сервиса», стр. 1-113), за исключением того, что для каждого Web-сервиса отображаются подцержи- ппемые точки подключения Web-сервиса, для которых, в свою очередь, ся список операций и параметров каждой операции. Различные точки подключения Web- сервиса позволяют выполнять операции, используя различные протоколы. —Щ—ЕВ '. Я Модель данным '' 'Д Web-сервисы ф ДанныеНоменклатчры ЕЬ?+ ДанныеНоменклатурьйоар Е--& ДанныеНоменклатурьйоар12 *-~Ф Получить К7 lia.^-.^-nu^. .д.. ни. .~u_w .'W- 1л± ' i»u.i Стили Гшль - это совокупность различных настроек, используемых для ления форм, текстов, рамок и других составляющих элементов управления. Использование стиля позволяет быстро выбрать нужное оформление.
1-118 1 С:Предприятие 8.1. Конфигурирование и администрирование С точки зрения взаимосвязи стилей существует три вида стилей: системный, пользовательский и пользовательский, установленный в качестве основного стиля конфигурации. У каждого пользовательского стиля есть родительский стиль. Для вательского это основной стиль конфигурации (если основной стиль конфигурации не выбран, используется системный стиль), для основного стиля родительским стилем всегда является системный стиль. Основной стиль указывается в свойстве Основной стиль корневого объекта дерева конфигурации. Стиль представляет собой набор элементов стилей. При настройке отдельных элементов можно сослаться на значение элемента родительского стиля. Поэтому при редактировании основного стиля в списке элементов не будут присутствовать пользовательские элементы стиля. Если для элемента пользовательского стиля указано значение из ского стиля, то при изменении значения данного элемента в родительском стиле в пользовательском элементе также будет меняться его значение. Фен Форм Текст Форм Фон кнопок Текст кнопки Фон редактирования Текст редактирования Фен вьщеления редакт... Текст выделения реда. Альтернативный Фон р Фон подсказок Текст подсказок Особый текст Отрицательные числа Рамка Рамкаэлеменгоеупра.. Шрифт текста (Z2 стиль: Фон Форм Н стиль. Текст Форм (Z2 стиль. Фон кнопок М стиль: Текст кнопки ? стиль. Фон редактирован Н стиль. Текст редактировг М стиль. Фон выделения ре Г"! стиль; Текст выселения [ Г"! стиль; Альтернативный Ф ? стиль: Фон подсказок М стиль: Текст подсказок М стиль. Особый текст М стиль: Отрицательные чи Ml стиль: Рамка D стиль: Рамказяемент'*" ... ... ... „. .. ... ... ... ... ... _. ... ... ... ... стиль. Шрифт текста (Г^ОК j|| Отмена Для просмотра и редактирования элементов стиля в палитре свойств в свойстве Стиль щелкните ссылку Открыть. В каждом поле указывается ссылка на определенное значение элемента стиля. Выбор этого значения производится в форме, открываемой нажатием на кнопку выбора, расположенную в поле. Выбор цвета производится в форме.
Глава 3. Объекты конфигурации 1-119 Й5 Из стиля IЩ Web . j^f Windows Фон фермы [>о Р Текст Формы редактирования ¦ Т редактирования Ё выделения редактирования Текст выделения редактирования 'А/ьтернативный фон редактирования Фон подсказки Текст подсказки Особый т< Отрицательное число Д Рамка ^^ ll Красньгё 222 » Зеленьй | 217|»| Синий | 2t>4\',\ * I PEMCCl 3anEWHHTbUBgr I llllill Q llllllllll DOCCODC ¦ ПИШИ П D ¦BQDDDDDOa | ft Взйгьсахрана OK Отмена Справка Выбор может осуществляться из стилей цвета или путем указания нужного цвета. При удалении элемента стиля не проверяется, используется ли данное значение н других стилях. Если для стиля цвета объекта (например, цвет текста) ранее был выбран элемент, который впоследствии был удален, то в качестве ния свойства в палитре свойств, использующего удаленный стиль, будет выбран малиновый цвет. Выбор стиля рамки определяется в форме Выбор рамки. .-Пример рамки- Двойная Выпуклая Вдавленная Подчеркивание Двойное подчерков.. Черта сверкц Толщина 1 ; Выбор стиля шрифта определяется в форме Выбор шрифта. Шрифт диалогов и меню OEM моноширинный шрифт ] ANSI моноширинный шрифт АаВЬБбФф J Набор символов [Cyrlc [ OK Отмена Сгрввка; ашдвдыздездм'!} пят) щи циш щршвдлмядцм дши Конфигуратор позволяет создать произвольное число стилей, а также ни тельных элементов стилей.
1 -120 1 С:Предприятие 8.1. Конфигурирование и администрирование При создании элемента стиля в палитре свойств этого элемента, в свойстве Вид, выберите вид элемента Цвет, Шрифт или Рамка. При создании стиля в свойстве Стиль щелкните ссылку Открыть и в окне настройки стиля установите нужные значения. Для наглядности выбора настроек можно использовать другую форму окна, которая позволяет но оценить установку каждого элемента стиля. Для вызова этой формы выберите пункт Действия - Изменить. На экран выводится окно вания стиля. Имя [Основной Синоним I fc Комментарий Г" р Предварительный просмотр Фрагмента Формы Пппйввплд Поле ввода НТякгт ппдгкляки г~Г~^ 0 Флажок ОсобыЙтекст Колонка Текст Текст Текст Колонка Щ Текст '¦ | Текст j" I Текст |ifj.j | Кнопка J А Фон Форм 1 & Текст Форм 1 & ФОН КНОПОК & Текст кнопки «ft Фон редактирования & Текст редактирования А Фон еьиелення редакти. & Текст выделения редакт. Л Альтернативный Фон ред.. & Фон подсказок & Текст подсказок А Особый текст Отрицательные числа & Рамка U* Рамка элементов управл. ЗГ Шрифт текста X П- т-зоввтельскт [..] стиль: Фон Форм Ml стиль* Т екст Форм }—j О стиль. Фон кнопок [•»! Н стиль: Текст кнопки [•*! [~1 стиль. Фон редактирования jwj Н стиль: Текст редактировани}.-j Н стиль. Фон выае ния реда О стиль. Текст выделения ред [«.[ П стиль; Альтернативный фон «•] [~] стиль: Фон подсказок j— j Н стиль. Текст подсказок [«) Н стиль ОсобыЙтекст j—j Н стиль. Отрицательные числе Н стиль: Рамка |»| П стиль: Рамкаэлементов1|-*,{...| стиль. ШриФттекста j.»j Шрифт диалогов и меню \— | тт^^т^тщнттття шгттря^ттт тттяяяшщщшщтпщттщшттшя В левой части окна располагаются группы различных элементов ния, предназначенных для демонстрации установок элементов стиля. При установке значения любого стандартного элемента стиля в этой группе сразу показывается результат этой установки. Элементы стилей, созданные для данной конфигурации, располагаются в списке стилей под стандартными стилями (например, стиль тельский). Языки Объекты конфигурации Языки предназначены для создания интерфейса программы на различных языках. Для каждого объекта конфигурации типа Языки в палитре свойств для свойства Синоним или Заголовок в торе резервируется строка.
Глава 3. Объекты конфигурации 1-121 Рассмотрим пример формы для элемента справочника Номенклатура. Для языка Русский надписи формы выглядят как на рисунке ниже. Кш: Наименование Родитель: Единице измерения: Страна лроискожд. Полное наименовании I 1 № OK J | Сочинить i \ Закрыть ] I ?1 Диалог ' Модуль' 'щ Реквизиты тштшшшшшт ^ шее -^g Английский •?$ Украинским Если на ветви Языки создано несколько объектов (например, Русский и ский), то для смены языка выберите пункт Конфигурация - Язык ния конфигурации. В открывшемся окне выбора языка выберите язык просмотра конфигурации. Аналогичный результат можно получить с помощью кнопки выбора языка, расположенной в панели состояния справа от a cj кнопок САР и NUM. «р№и ок Отмена Справка Конфигуратор заменит текст надписей на варианты надписей выбранного языка. Code: Name; i Parent Unit Country of consignment: Full name i 1 - * ___JJ« OK || Save ]| Pose ' , 1 Ш Диалог 1 Мсодль jg Реквизиты 1'пзумеется, текст надписей должен быть заранее введен для каждого элемен- I и управления. Для ввода текста в палитре свойств элемента управления Надпись, в свойстве Заголовок (Текст или Синоним, в зависимости от типа 'шемента управления), нажмите кнопку Й На экран выводится окно Строки на разных языках.
1 -122 1 С:Предприятие 8.1. Конфигурирование и администрирование ^E SlgV 1 x v -»- Основные: -r-r-j Идентификатор I |^Щ ЩЩ Страна происхожд.. ЁВ ИВ ^ц Русски* (Россия) Страна проистожд.. Английский Country of consignment I M.W,.|„, ...mi, <,,„„ .«.ш^^ш^.ш,.. ,„r„., 3; ¦,,,„.»„„_.,. OSZI I Отмена { ' 1 В конфигурации нет ний на число языков. Однако не следует создавать объекты типа Языки «с запасом», т. к. создать объект Язык можно в любой момент. В свойстве Код языка ется код языка, например, EN для языка Английский. Если в конфигурации лено два и более объекта типа Языки, то для свойства Синоним и Заголовок элемента управления появляется кнопка редактирования текста на разных языках (9). Первый объект языка программа создает в соответствии с выбором языка (страны) при создании новой информационной базы. Важно! Если тексты в свойствах Синоним или Заголовок введены, то изменение кода языка в свойстве Код языка приведет к «потере» ных текстов (тексты остаются для прежнего значения кода). Тексты «восстанавливаются» при указании прежнего значения кода языка. Для редактирования текстов и выполнения задач локализации (создания интерфейса на другом языке) используйте режим Редактирование текстов интерфейса (см. стр. 2-802). Константы В системе 1С:Предприятие 8.1 константы предназначены для хранения постоянной или условно-постоянной информации. Такая информация либо совсем не изменяется в процессе деятельности предприятия, либо изменяется достаточно редко. Наиболее простой пример подобной ции - название организации, которое, как правило, не меняется. Основная причина использования констант заключается в том, что в них один раз заносится какая-либо информация, которая затем может ваться при формировании документов, в расчетах, при построении отчетных форм. Значение константы время от времени может редактироваться. Рассмотрим такой пример. Наиболее часто на документах предприятия встречается подпись директора и главного бухгалтера. Естественно, что эти должностные лица должны самостоятельно ставить подписи. Но помимо самой подписи в документах требуется ее расшифровка - фамилия подпи-
Глава 3. Объекты конфигурации 1 -123 савшего документ. Конечно, можно ввести фамилии директора и главного бухгалтера непосредственно в формы документов. Но если какая-либо из фамилий изменится, то придется вновь редактировать все бланки документов и исправлять фамилии. Поэтому гораздо удобнее создать в конфигурации две константы — для хранения фамилий директора и главного бухгалтера, ввести эти фамилии в константы один раз, а в многочисленных бланках тов использовать имена констант для получения их значений. При смене директора или главного бухгалтера достаточно внести изменения только в константы - ввести в них новые фамилии, и все изменения автоматически будут отражены в тех местах, где эти константы используются. Важно! При изменении значения константы прежнее значение ется. Для организации получения прежних значений данных вместо константы нужно использовать регистр сведений без измерений. Конфигуратор системы 1С:Предприятие 8.1 позволяет создавать практически неограниченное количество констант для хранения любой нужной мации. Свойства константы Для работы с константами предназначена ветвь Константы дерева конфигу- риции. Свойства константы редактируются в палитре свойств. Необходимо обратить внимание, что константа является типизированным объектом конфигурации. Тип - указывается тип константы. Тип константы может быть любым из стандартных типов конфигурации (Дата, Число, СправочникСсылка, Доку- МентСсылка и т. д.) или составным (состоящим из набора различных типов). Ii чависимости от выбранного типа палитра свойств может содержать нительные свойства, уточняющие выбранный тип. Формы для ввода констант создаются на ветви Общие формы (см. параграф «Формы для ввода констант» на стр. 1-100). Справочники 11| и заполнении бланка какого-либо документа часто требуется указывать информацию, выбирая значение из заранее заданного списка. Ночьмем в качестве примера анкету, которую требуется заполнять при поступлении на работу.
1-124 1С:Предприятие 8.1. Конфигурирование и администрирование При заполнении графы Место рождения необходимо указать населенный пункт. Хотя общее количество населенных пунктов достаточно большое, список всех населенных пунктов все-таки ограничен. Фактически место рождения можно указать, выбрав из подобного списка нужный населенный пункт. Такой список и представляет собой справочник. Таким образом, можно сказать, что справочник является списком ных значений того или иного реквизита документа (в широком смысле слова «документ»). Справочники используются в тех случаях, когда необходимо исключить неоднозначный ввод информации. Например, для того, чтобы покупатель, продавец, кладовщик, директор понимали, о каком товаре идет речь, каждый должен называть его во. И в этом случае необходим справочник. Обычно в торговом предприятии он имеет вид прайс-листа, а если такой справочник хранится в ре, то в него заносят всю возможную номенклатуру товаров, с которыми работает торговая фирма. Система 1С:Предприятие 8.1 позволяет вести практически неограниченное количество необходимых справочников. Каждый справочник представляет собой список однородных экземпляров объектов: сотрудников, организаций, товаров и т. д. Каждый такой экземпляр объекта будем называть элементом справочника. Следует иметь в виду, что в конфигурации создается структура справочника, а собственно его содержимое - элементы справочника - вводится телем при работе с программой. В процессе конфигурирования описывается структура информации, которая будет храниться в справочнике, вается экранное и, если необходимо, печатное представление справочника, задаются различные особенности его «поведения». Как правило, справочники имеют предопределенные реквизиты код и нование, при этом код может иметь тип Число или Строка. Система 1С:Предприятие 8.1 предоставляет широкие возможности по работе с кодами элементов справочника: автоматическое присвоение кодов, тический контроль уникальности кода и другие. Справочник в системе 1С:Предприятие 8.1 может быть иерархическим. Существуют два вида иерархии: иерархия групп и элементов и иерархия элементов. В первом случае все данные справочника будут разделяться на два вида: «просто» элементы справочника и группы справочника. Группы - это логическое объединение элементов справочника. Примером го справочника может служить справочник товаров, где группами являются виды товаров («Сантехника», «Бытовая химия» и т. д.), а элементами - конкретные товары («Смеситель», «Зеркало», «Стиральный порошок»).
Глава 3. Объекты конфигурации 1 -125 Использование иерархических справочников позволяет организовать ввод информации в справочник с нужной степенью детализации. Элементы и группы элементов в иерархическом справочнике можно переносить из одной группы в другую. Для справочников с видом иерархии Иерархия элементов группы как спмостоятельный вид отсутствуют. Их роль выполняют сами элементы. Отличительной особенностью таких справочников является ность всех элементов. Примером справочника данного вида может служить справочник подразделений. Каждое подразделение описывается одинако- иым набором реквизитов и при этом логически может содержать другое подразделение или входить в него. Для иерархических справочников конфигуратор позволяет установить in рпничение числа уровней справочников, или допускается неограниченное число уровней вложенности. Помимо кода и наименования для справочника можно создать набор рекви- шшов, позволяющих хранить дополнительную информацию об элементе i привочника. Например, справочник Контрагенты может содержать такие сведения, как е наименование контрагента, его ИНН, фамилии директора и главного Пухгалтера и другую информацию. I'Win объект предметной области, которой соответствует справочник, имеет Но только такие «простые» свойства, например, полное наименование или 111111, но и составные (списочные) свойства, справочнику может быть создан liilfiop табличных частей. мер, в справочнике Контрагенты может быть создана табличная часть i»i|H списка телефонных номеров контрагента. Имена реквизитов справочника не должны совпадать ни с одним именем |Н Kin пита из какой-либо табличной части. 'I'in работы с информацией, хранящейся в справочнике, можно создать •ириииые формы. Могут быть созданы отдельные формы для просмотра »писка элементов справочника, для редактирования элемента справочника, фирмы для выбора из справочника нужного элемента. 1нин|шгуратор позволяет создать несколько форм одного типа, например, фирмы для выбора из справочника нужного элемента, и использовать разные фирмы в разных случаях.
1-126 1С:Предприятие 8.1. Конфигурирование и администрирование Свойства справочника Для работы со справочниками предназначена ветвь Справочники дерева конфигурации. При создании нового справочника открывается окно редактирования объек- I та (см. параграф «Окно редактирования объекта» на стр. 1-60). Иерархический справочник - если свойство установлено, то справочник имеет , иерархическую структуру и становится доступным свойство Вид иерархии и Ограничение количества уровней иерархии. Вид иерархии - определяется, какой вид иерархии используется в данном ' справочнике. При выборе вида Иерархия групп и элементов для справочника определяются два вида элементов: группы и элементы. Группы значены только для объединения других групп и элементов справочника Обычно для описания группы достаточно кода, наименования и родителя (ссылка на верхний уровень). Элемент справочника помимо этих тов может содержать другие реквизиты, указанные на закладке Данные. Для справочников с этим видом иерархии можно создать формы группы и формы элемента. При выборе вида Иерархия элементов все элементы справочника равнозначны. Примером справочников такого вида могут служить ники подразделений и статьи затрат. Размещать группы сверху - свойство становится доступным, если но значение Иерархия групп и элементов. Если свойство Размещать группы сверху установлено, то при отображении справочника в виде иерархического списка группы окажутся в верхних строчках списка, а элементы справочника будут располагаться ниже. Если это свойство не установлено, расположение групп и элементов будет подчиняться установленным правилам ки (по коду, наименованию и пр.). Например, при создании новой группы с кодом большим, чем у всех имеющихся групп и элементов (при сортировке по коду), в первом варианте эта подгруппа окажется нижней среди групп, но выше остальных элементов справочника; во втором варианте она займе! самую нижнюю строчку. Следует отметить, что установка или снятие свойства Размещать группы сверху не влияет на показ справочника в виде неиерархического списка. Количество уровней иерархии - свойство становится доступным, если установлено свойство Ограничение количества уровней иерархии. Справоч ники в системе 1С:Предприятие8.1 могут иметь более одного уровня вложенности. Если свойство Ограничение количества уровней иерархии не i установлено, то максимальное количество уровней вложенности справоч I ника неограниченно.
Глава 3. Объекты конфигурации 1-127 Владельцы - это свойство требует подробного объяснения. Любой справочник может использоваться как сам по себе, так и быть ненным какому-либо другому справочнику или справочникам. Например, справочник договоров может использоваться отдельно, а может быть связан со справочником организаций. Чтобы подчинить справочник другому, уже существующему в системе, в ноле Список владельцев справочника следует нажать кнопку редактирования и в открывшемся окне выбора объекта отметить те справочники, которые ипляются владельцами данного справочника. Каждый такой справочник и системе 1С:Предприятие8.1 называется владельцем, а сам справочник - подчиненным. И отличие от многоуровневого справочника, в котором все элементы имеют одинаковую структуру, использование механизма подчиненных ков позволяет связать элементы разной структуры. В этом случае каждый шсмент подчиненного справочника будет логически связан с одним из •цементов справочника-владельца. Для справочников, которые имеют нескольких владельцев, у разных элемен- юп могут быть владельцы разного типа, но у одного элемента может быть iiuiMcp один владелец. Использование подчинения- позволяет управлять ограничением, ды иаемым на владельцев. Могут использоваться только элементы, только 1руппы или и группы, и элементы. Если у справочника несколько цев, то ограничение применяется ко всем владельцам. Диина кода - свойство устанавливает максимальную длину кода элемента i прнвочника. Конфигуратор позволяет установить длину кода равной 0. Это может понадо- П|| гься в тех случаях, когда код элемента справочника не используется. При назначении этого свойства желательно реально определить ную длину кода. Однако следует иметь в виду, что в процессе эксплуатации конфигурации, если потребуется, длину кода можно увеличить. Диина наименования - в свойстве устанавливается максимально возможная пиша наименования элемента справочника. Конфигуратор позволяет установить длину наименования равной 0. 11ории кодов - свойство позволяет установить диапазон проверки кода на уникальность и автоматическое присвоение кодов. I'iJiii выбрана установка Во всем справочнике, то при автоматическом присвоении кода или при вводе кода пользователем вручную его ное i ь будет проверяться среди всех элементов справочника.
1-128 1С:Предприятие 8.1. Конфигурирование и администрирование j Установка В пределах подчинения справедлива только для иерархичес- 1 ких и подчиненных справочников. В этом случае уникальность кода будет I проверяться системой только в пределах той группы и того элемента I справочника-владельца, в которую вводится новый элемент справочника ' или редактируется уже существующий элемент. При установке серии кодов В пределах подчинения нормальной является ситуация, когда находящиеся в разных группах элементы справочника имеют одинаковые коды. Это следует учитывать, если требуется переносить ты многоуровневого справочника из одной группы в другую. При совпадении кода переносимого элемента с кодом уже существующего элемента в группе будет выдано предупреждение, и элемент не будет перенесен. При установке серии кодов В пределах подчинения владельцу в ких подчиненных справочниках обеспечивается автоматическая нумерация и контроль уникальности кодов среди элементов с одинаковым владельцем, но различными родителями. Тип кода - свойство позволяет выбрать тип значения для кода элемента справочника: Число или Строка. Выбор строкового типа кода бывает ным, когда используется сложная система кодирования, и код может включать помимо цифр также буквы и символы-разделители. Наиболее характерный! пример - использование в качестве кодов артикулов для швейных изделий. Следует обратить внимание, что выбор строкового типа кода не исключаеп возможности автоматического присвоения таких кодов. Для самого первого элемента система формирует код вида 001 во нулей зависит от установленной длины кода), то есть код представляет собой строку символов, но все символы в этой строке являются ми. При вводе других элементов в справочник система будет продолжат!, присваивать коды аналогичным образом — 002,003 и т. д. Если требования к ведению справочника предполагают непременное зование смешанных буквенно-цифровых кодов, то для целей автоматической нумерации можно использовать коды вида АА001. Здесь первая часть кода j - символы АА — является текстовым префиксом, а вторая часть - символы j 001 - будет интерпретироваться системой как число и использоваться при автоматическом присвоении очередного кода. Например, если самым первым кодом в справочник введен АА001, то ющим автоматически присвоенным кодом будет АА002, затем - ААООЗ, и так далее по возрастанию. Текстовый префикс можно задать вручную (при вводе в справочник новою элемента ввести такой «составной» код) или использовать возможное ти установки префикса из встроенного языка системы 1С:Предприятие 81 (метод УстановитьНовыйКодО).
Глава 3. Объекты конфигурации 1 -129 Реквизиты. Любой новый справочник можно представить в виде таблицы, которая имеет две колонки: код элемента справочника и его наименование. Система 1С:Предприятие 8.1 помимо кода и наименования позволяет хранить1 дополнительную информацию об элементе справочника. При вании справочника можно описать набор дополнительных реквизитов, предназначенных для хранения таких дополнительных сведений. При показе справочника на экране эти реквизиты могут представляться и виде колонок табличного поля формы списка справочника. Кроме этого сведения, хранящиеся в реквизитах, можно использовать при нии в различных расчетах, при формировании отчетов и так далее. Используя механизм реквизитов справочника, легко организовать, например, киртотеку сотрудников. Для этого достаточно для справочника ки создать реквизиты для хранения сведений об образовании, паспортных данных и прочей кадровой информации. С помощью встроенных средств поиска в справочнике при использовании конфигурации нужная ция о сотруднике может быть легко найдена. Табличные части. Для описания некоторых данных, относящихся к нику и не используемых самостоятельно, используют табличные части. Примером табличной части может служить состав семьи сотрудника (данные по каждому члену семьи описываются в реквизитах табличной чисти, а число членов семьи может быть произвольным), послужной список сотрудника и т. д. Пели бы в приведенном примере сведения по составу семей сотрудников могли использоваться самостоятельно, то их можно было бы выделить в отдельный справочник, подчиненный справочнику Сотрудники. Основное отличие табличной части от подчиненного справочника в том, что на элементы справочника можно ссылаться, а на строки табличной чисти нет. При обращении к элементу справочника он весь, вместе со всеми табличными частями, считывается из базы данных в память. Если табличная чисть содержит достаточно большое количество строк, это может ухудшить производительность системы. Поэтому табличную часть стоит использо- iiii'i'b, если не надо хранить ссылки на элементы и количество элементов 01 раничено. Число строк табличной части не может более 100 000. Каждый справочник может иметь неограниченное число табличных чистей. Автонумерация. Установка свойства приводит к тому, что вновь введенному моменту в справочнике код будет присваиваться автоматически. чески присвоенный код можно исправить.
1-130 1С:Предприятие 8.1. Конфигурирование и администрирование Контроль уникальности. Если код используется для однозначной кации конкретного элемента в справочнике, он должен быть уникальным (не должен повторяться). Если свойство Контроль уникальности лено, проверка кода на уникальность будет проводиться автоматически при вводе в справочник нового элемента. Редактирование - в свойстве выбирается способ ввода и редактирования элемента справочника (см. стр. 1-60). Основное представление - в свойстве задается представление тов справочника. Например, значения типа СправочникСсылка, введенные в реквизит документа, справочника или константу, будут ся в виде кода или наименования элемента справочника в зависимости от данного свойства. Для форм списков данная колонка становится колонкой по умолчанию. При открытии списка эта колонка становится активной. Ввод на основании. На закладке Ввод на основании указывается, какие ты конфигурации могут являться основанием для объектов данного типа, и для каких объектов объекты данного типа могут являться основанием. По кнопке Конструктор ввода на основании запускается конструктор ния процедуры ввода на основании. Подробнее о работе с конструктором см. стр. 2-657. . Примером ввода на основании может служить ввод документа Передача на реализацию на основании элемента справочника Товары. Свойства реквизитов справочника Помимо основных свойств реквизиты справочника имеют следующие свойства: • Индексировать - указывается, нужно ли формировать индекс по этому полю (подробнее см. параграф выше). • Тип - указывается тип данных реквизита. • Использование — для иерархических справочников определяет зование реквизита для групп и элементов. Предопределенные элементы справочника Разработчик конфигурации может создать для справочников набор предопределенных элементов и групп элементов (для иерархических справочников). Эти элементы не могут быть удалены пользователями в режиме Ю.Предприятие. Форма для ввода предопределенных элементов открывается нажатием кнопки Предопределенные на закладке Прочие окна редактирования объекта
Глава 3. Объекты конфигурации 1-131 конфигурации. В конфигураторевводятся только основные свойства элемента (имя, код и наименование). Имя элемента можно использовать в выражениях встроенного языка. Значения других реквизитов предопределенного элемента вводятся в режиме 1С:Предприятие. Визуально предопределенные элементы справочников в режиме 1 приятие отличаются от элементов, созданных пользователями, видом пиктограммы. Важно! Для справочника, имеющего владельца, нельзя создать предопределенные элементы. И наоборот, справочнику, имеющему предопределенные элементы, нельзя назначить владельца. Документы Документ — одно из основных понятий системы 1С:Предприятие8.1. При помощи документов организуется ввод в систему информации о шаемых хозяйственных операциях. В большинстве своем документы, которые создаются в процессе ки конфигурации задачи, являются электронными аналогами стандартных бумажных документов, однако использование этого типа данных может выходить далеко за рамки простой фиксации информации о хозяйственных операциях. Каждый документ содержит информацию о конкретной ной операции и характеризуется своим номером, датой и временем. Дата и время - наиболее важные характеристики документов, так как ляют устанавливать строгую временную последовательность совершения операций. В конфигурации описывается только структура документа, конкретные 'жземпляры документов вводятся при работе с программой лем. Например, созданный в конфигурации документ Накладная при работе с системой 1С:Предприятие 8.1 позволит формировать накладные, которые будут иметь разное содержание, но одинаковый набор реквизитов, вую логику поведения и так далее. Далее для простоты вместо термина структура документа будет исполь1- •юваться термин документ, подразумевая под этим средства для ввода и визуализации документа. Конфигуратор позволяет описать структуру документа, организовать формы для ввода информации в документ и описать алгоритм построения печатных форм документа.
1 -132 1 С:Предприятие 8.1. Конфигурирование и администрирование 1 Помимо даты, времени и номера документа можно создать набор тов, позволяющих хранить дополнительную информацию. Если объект предметной области, которой соответствует документ, имеет не только такие «простые» свойства, как, например, дату, номер и итоговую сумму, но и составные (списочные) свойства, документу может быть создан набор табличных частей. Например, в документе Расходная накладная может быть создана табличная часть для списка продаваемой номенклатуры. Для работы с документами в конфигурации может быть создано мое количество списков документов одного вида и журналов документов разного вида. Форма списка отличается от формы журнала в первую очередь тем, что в списке отсутствует колонка Вид документа (т. к. список содержит документы одного вида), а журнал обычно содержит эту колонку. При созданий документа можно указать перечень журналов, в которых будет осуществляться работа с документами этого вида. Для документов разных видов можно указывать один журнал, что позволяет произвольным образом группировать документы в журналах. Назначенные документу журналы можно менять. Свойства документа Для работы с документами предназначена ветвь Документы дерева конфигурации. На этой же ветви располагаются служебные объекты гурации - нумераторы и последовательности. В этом параграфе будут описаны специфические свойства документа, в дополнение к общим свойствам объектов конфигурации, о которых лось в пункте «Основные свойства объектов конфигурации» на стр. 1-64. Свойства документа редактируются в палитре свойств или окне вания (см. параграф «Окно редактирования объекта» на стр. 1-60). Данные по документу в окне редактора распределены по закладкам. На закладке Основное размещены основные данные по документу. На закладке Данные вводятся реквизиты и табличные части. В палитре свойств каждому реквизиту помимо основных свойств указывают тип. Если требуется обеспечить быстрый поиск или отбор нужной ции по реквизитам документа, для реквизитов нужно установить свойство Индексировать (подробнее см. стр. 1-65). На закладке Нумерация объединены данные, которые используются для назначения правил нумерации документов.
Глава 3. Объекты конфигурации 1-133 У любого документа существуют обязательные реквизиты, которые ются автоматически и которые удалить нельзя - это дата, время и номер документа. В отличие от даты и времени, для номера документа можно щдать несколько параметров, которые будут управлять поведением этого реквизита при работе с документами создаваемого вида. Совокупность этих пираметров будет определять правила нумерации документов при работе системы 1С:Предприятие 8.1. Автонумерация - установка свойства приводит к тому, что вновь му документу номер будет присваиваться автоматически. Автоматически присвоенный номер можно исправить. Нумератор—документу может быть назначен нумератор из числа уже сущес- гнующих в конфигурации. Для назначения документу нумератора из числа существующих в конфигурации следует выбрать имя нумератора в свойстве Нумератор. В этом случае прочие элементы группы Нумерация документа окна, за исключением свойства Автонумерация, становятся ми, то есть правила нумерации документов данного вида будут полностью определяться назначенным нумератором. О создании и свойствах ров см. параграф «Нумераторы» на стр. 1-136. Использование нумераторов позволяет организовать сквозную нумерацию Документов разных видов. Для этого всем документам, для которых требу- пся иметь сквозную нумерацию, должен быть назначен один нумератор. Контроль уникальности и присвоение очередного номера будут ся с учетом всех документов, для которых назначен этот нумератор. Длина номера - устанавливает максимальную длину номера документа. Тип номера - свойство аналогично свойству Тип кода справочника (см. стр. 1-123). Контроль уникальности — если это свойство установлено, то при вводе нового документа его номер проверяется на уникальность в пределах, ных в свойстве Периодичность. Периодичность - свойство устанавливает пределы контроля уникальнос- ш номеров документов и период повторяемости номеров. Если свойство Контроль уникальности номеров документов установлено, то в свойстве Периодичность указывается, в каких пределах будет осуществляться этот мшгроль. При установленном свойстве Автонумерация система 1С:Предприятие 8.1 Оудст присваивать очередной порядковый номер каждому новому докумен- iy. После завершения периода, установленного в свойстве Периодичность, нумерация документов начнется с 1.
1 -134 1 С:Предприятие 8.1. Конфигурирование и администрирование I На закладке Движения производится настройка поведения при проведении и отмене проведения документа. Проведение - свойство устанавливает, разрешено ли проведение документа при записи. Если выбрано Разрешить, то документ осуществляет движения регистров (изменяет их состояние). Другим следствием такого выбора будет [ автоматический вызов обработчика события ОбработкаПроведения дения документа в режиме 1С:Предприятие, возникающего при нажатии кнопки формы документа, для которой при конфигурировании выбрано предопределенное действие Записать и закрыть (обычно кнопка ОК). Оперативное проведение - свойство устанавливает, разрешено ли ное проведение документа. Для документов с разрешенным оперативным проведением при выборе не текущей даты проведение осуществляется в неоперативном режиме, т. к. учитывается уже свершившийся факт, который не требует контроля, осуществляемого в оперативном режиме (например, проверка остатка, указанного в расходной накладной товара). Если для документа установлено свойство Оперативное проведение, то при создании нового документа время документа «нулевое». При проведении система получает оперативную отметку времени, которая может совпадать с текущей датой и текущим временем, а может быть и больше, чем текущее^ время, и присваивает ее документу, после чего осуществляется оперативное проведение. Более подробно об оперативной отметке времени см. описание метода глобального контекста ПолучитьОперативнуюОтметкуВремени() ки по встроенному языку. В случае редактирования документа с установленным свойством ное проведение время уже отличается от текущего, поэтому при проведении (указана текущая дата) документа на экран выводится запрос о виде дения. Если на вопрос о виде проведения выбрать Оперативное проведение, то для документа устанавливается текущее время. Если при нии изменить время (например, указать будущее время текущего дня), то система также установит текущее время. Если на вопрос о виде проведения выбрать Неоперативное проведение, то когда формат даты не вает ввода времени, в документе указывается время начала дня. Удаление движений - свойство доступно, если в свойстве Проведение выбрано Разрешить. Оно задает автоматическое удаление всех записей при перепроведении или отмене проведения документа, которые документ записал в процессе проведения. Автоматическое удаление производится системой при выполнении повтор ного проведения уже проведенного документа (перед записью новых движений), при удалении документа и при отмене проведения документа.
лава 3. Объекты конфигурации 1-135 Режим автоматического удаления является основным, однако для некоторых видов документов данное свойство может быть отключено. Это позволяет в процессе повторного проведения документа выборочно удалять те движения, которые были сделаны при прошлом проведении документа. Выборочное удаление движений выполняется средствами встроенного языка в модуле документа. Отключение режима автоматического удаления движений выполняется и специальных случаях для отдельных видов документов. Например, это позволяет при проведении расходной накладной записать движения только мо последней введенной строке, оставив без изменений движения, ные по ранее введенным строкам. Ниже расположены два списка. В верхнем списке в виде дерева объектов показываются объекты конфигурации, в которых могут формироваться динжения. II нижнем - список объектов, в которых формируются движения данным документом. II окне редактирования объекта Документ в правом нижнем углу есть кнопка Конструктор движений, с помощью которой вызывается конструктор ний регистров (см. стр. 2-653). Наполнение последовательности - выбирается режим автоматического шнолнения последовательностей. В окне редактирования на закладке После- ДООательности определяется вхождение документа в последовательности. II окне редактирования документа на закладке Журналы можно отметить ie журналы документов, в которых при работе пользователя с системой Ю.Предприятие 8.1 будут отражаться документы данного вида. мые формы журналов документов могут быть созданы потом. I ( чакладке Ввод на основании размещено два списка объектов ции. В верхнем списке необходимо указать объекты, на основании которых Мнжст вводиться документ, а в нижнем - для которых данный документ инлястся основанием при вводе нового объекта. Пижно! Документ может вводиться как на основании другого та, так и на основании объектов другого вида (элементов справочника, и чана видов характеристик, плана счетов и плана видов расчета). II наоборот, документ может являться основанием для ввода не только Цщюго документа, но и объектов другого вида. Дня создания процедуры, осуществляющей подготовку данных емого объекта на основании образца, см. параграф «Конструктор ввода ни основании» на стр. 2-657.
1-136 1С Предприятие 8.1. Конфигурирование и администрирование Нумераторы Нумератор представляет собой объект конфигурации, описывающий правила нумерации документов: тип и длина номера документа, его дичность, необходимость контроля уникальности. Основное назначение нумератора - обеспечить возможность сквозной нумерации документов разного вида. Для этого таким документам ется одинаковый нумератор. Управление списком нумераторов Для работы с объектами конфигурации типа Нумератор предназначена ветвь дерева конфигурации, которая расположена «внутри» ветви Документы и начинается у ключевого слова Нумераторы. Свойства нумератора В этом параграфе будут описаны специфические свойства нумераторов в дополнение к общим свойствам объектов конфигурации, о которых лось на стр. 1-64. Тип номера - выбирается тип значения для номера документа - числовой или текстовый. Выбор текстового типа номера бывает полезным, когда зуется сложная система нумерации документов, и номер документа может включать, помимо цифр, также буквы и символы-разделители. Длина номера — устанавливает максимальную длину номера документа. Периодичность - свойство устанавливает две важные характеристики нумератора: пределы контроля уникальности номеров документов и период повторяемости номеров. Если свойство Контроль уникальности номеров документов установлено, свойство Периодичность устанавливает, в каких пределах осуществлять этот контроль. Например, если установлена периодичность В пределах дня, то ность номеров документов будет контролироваться в пределах суток: на следующие сутки номера документов могут повторяться, но в пределах суток они будут уникальны. При установленном свойстве Автонумерация (см. параграф «Свойства документа», стр. 1-132) система 1С:Предприятие 8.1 будет присваивать очередной порядковый номер каждому новому документу. После шения периода, установленного в свойстве Периодичность, нумерация документов начнется с 1.
Глава 3. Объекты конфигурации 1-137 Контроль уникальности - если это свойство установлено, то при вводе нового документа его номер проверяется на уникальность в пределах, ных в свойстве Периодичность. Последовательности документов Последовательности документов являются вспомогательными объектами конфигурации. Они предназначены для обеспечения проведения ных документов в строгой хронологической последовательности. Все документы в системе 1С:Предприятие8.1 образуют единую гическую последовательность. Для этого каждый документ имеет дату и время. Даже если два документа имеют одинаковую дату и одинаковое иремя, они все равно располагаются в определенной последовательности, определяемой моментом их ввода в систему. Дата и время документа могут Рыть изменены. Таким образом, независимо от порядка ввода документов они могут быть расположены в последовательности, отражающей реальную последовательность происходивших в хозяйственной жизни предприятия событий, которые данные документы отражают. В системе 1С:Предприятие8.1 в процессе проведения документ выполняет некоторые действия, которые отражаются данным документом в различных механизмах учета, поддерживаемых 1С:Предприятием. Алгоритм проведения документа, как правило, отражает в учете данные, 'mi i исанные в самом документе (в его реквизитах и табличных частях). Однако и некоторых случаях алгоритм проведения документа анализирует также н текущие итоги, используя их при проведении. Например, если документ списывает товары или материалы по средней себестоимости, то для опреде- нсиия суммы списания алгоритм проведения будет анализировать остатки шваров (материалов) на момент документа. Если списание выполняется по методам LIFO или FIFO, то алгоритм проведения будет анализировать сущес- i кующие остатки товаров (материалов) в разрезе партий на момент позиции документа, определяемой датой и временем проведения документа. Очевидно, что документы, основывающиеся при проведении на данные и югов, должны проводиться строго последовательно. Однако на ке из-за ошибок при вводе информации и несвоевременного поступления документов часто приходится вводить или исправлять документы задним Числом. Разумеется, в этом случае движения регистров, сформированные всеми последующими документами (расположенными после того, который был исправлен), становятся некорректными. Например, если выяснилось, что к одной из приходных накладных, введенных в начале месяца, было неверно укизано количество товара, то во всех последующих расходных накладных, списывающих имеющиеся в наличии партии, необходимо заново проанали-
1-138 1С:Предприятие 8.1. Конфигурирование и администрирование зировать остатки с учетом внесенных изменений и заново записать движения регистров. То есть все документы, анализирующие остатки и ные после измененного документа, должны быть перепроведены. Для автоматического контроля необходимости перепроведения тов используются объекты ветви Последовательности. Каждый введенный в конфигурации объект Последовательность обеспечивает контроль за ком проведения документов указанных видов. Таким образом, в системе может существовать несколько независимых последовательностей. Управление списком последовательностей Работа по созданию объектов конфигурации типа Последовательность ся в окне Конфигурация. Для последовательности отведена отдельная ветвь дерева конфигурации, которая расположена «внутри» ветви Документы и начинается у ключевого слова Последовательности. Свойства последовательности документов В этом параграфе будут описаны специфические свойства тей документов в дополнение к общим свойствам объектов конфигурации, о которых говорилось на стр. 1-64. Свойства последовательности редактируются в окне редактирования довательность. На закладке Использование выбираются документы, которые относятся к данной последовательности, и движения, влияющие на ность. ' <!-|.,ШШ-,№Ш isdE > ИспольэоБажче Перемещение границы при прсвеаенин Данные Подсистемы Права Обмен ¦Перемещать Входящие документы ш. Документ) >аг:гснНгкп nva. Документ ПриходнаяНактЕдная Движения вгияющие на последовательность. ш РегастрНакоплзния СтоимостнойЭЛгетНоненкгвтдоы |Дейста<я «j j <Незад ! {Г Дзгее> | [ Забыть Перемещение границы при проведении. Если для свойства указано значение Перемещать, то документ, зарегистрированный в этой последовательности, при своем проведении будет пытаться переместить границу этой последова-
Глава 3. Объекты конфигурации 1-139 тельности документов. Если для свойства указано значение Не перемещать, то документ не будет перемещать границу этой последовательности тов при своем проведении. Документы, входящие в последовательность - в верхнем списке окна довательность указываются виды документов, которые относятся к данной последовательности. Для выбора вида документа установите флажок и строке списка. И качестве документов, на проведение которых будет влиять данная последо- штельность, следует выбрать те виды документов, которые при проведении будут анализировать состояние различных регистров. Например, такими документами могут быть расходные накладные, накладные на передачу, на реализацию и т. д. Движения, влияющие на последовательность — одно из основных свойств последовательности. Оно определяет, какие из движений будут влиять на необходимость перепроведения документов данной последовательности, то есть движения или итоги каких механизмов учета используются докумен- гими данной последовательности при проведении. Например, в качестве Шких движений могут выступать движения регистров. Для настройки данного параметра следует выбрать (отметить) в списке те ииды регистров, движения которых будут нарушать данную ность. Измерения. Последовательности могут иметь подчиненные объекты, пываемые измерениями, которые создаются на закладке Данные окна редактирования. Пели для последовательности не создано ни одного измерения, то при восста- понлении данной последовательности будут перепроводиться все входящие Д1жументы. Если требуется, чтобы данная последовательность учитывала не псе, а вполне определенные ситуации, то в последовательность включают Измерение. В этом случае перепроводить нужно будет только те документы, шторые изменяют состояние регистра с учетом свойств измерения. Ксли изменяется состояние регистров, участвующих в последовательности, к) неактуальными становятся более поздние документы с теми же значения- Mi i в реквизитах (перечислены в свойстве измерения Соответствие реквизитам документов), которые содержатся в реквизитах удаленных (добавленных) ни шеей регистров (перечислены в свойстве измерения Соответствие зитам движений). 11ипример, последовательность учитывает изменение состояния регистров но документам Приходная накладная и Расходная накладная. Если требу- И1ся учитывать дополнительные критерии необходимости перепроведения
1-140 1С:Предприятие 8.1. Конфигурирование и администрирование указанных документов (например, требуется перепроводить документы по определенному значению номенклатуры), то в последовательность следует добавить измерение. В палитре свойств измерения указать его тип (Справоч- никСсылка.Номенклатура) и установить связь с реквизитами регистров. В соответствии с выбранным типом измерения в списки документов и егистров измерения для выбора включаются только те объекты, в состав торых входят указанные типы измерения. ведение измерения позволяет сократить время перепроведения тов, что особенно важно при значительном числе документов, т. к. будут перепроводиться только те документы, которые содержат данные по указан- ому значению измерения. Работа с последовательностями документов При работе в режиме 1 С:Предприятие для каждой введенной в конфигурации последовательности документов система будет автоматически поддерживать аницу последовательности. В качестве границы последовательности будет выступать позиция документа. При последовательном проведении тов, входящих в данную последовательность, граница последовательности будет устанавливаться на каждый вновь проведенный документ. Однако если будет проводиться документ, относящийся к данной последовательности, но расположенный позже другого проведенного документа, относящегося к той же последовательности и находящегося после текущей границы довательности, то граница последовательности сдвигаться не будет, так нарушается последовательность проведения документов. Эта ситуация может быть проанализирована алгоритмом проведения документа. При проведении документов задним числом, отмене проведения или нии документов, если удаляются или записываются движения регистров, указанные как влияющие на данную последовательность, граница довательности отодвигается на момент измененного документа. Перед перемещением границы назад производится проверка на наличие границ, торые необходимо переместить назад. Эта проверка производится без эксклюзивной блокировки границы. Таким образом, граница последовательности будет продвигаться вперед при последовательном проведении относящихся к данной ности документов и будет отодвигаться назад при изменении задним числом относящихся к данной последовательности движений регистров. В режиме перепроведения документов (вызывается выбором пункта Операции - Проведение документов) существует специальная ность восстановления последовательности проведения документов. При ее использовании система автоматически выполняет перепроведенис всех документов, относящихся к данной последовательности, от границы последовательности до указанного момента.
Глава 3. Объекты конфигурации 1-141 В приведенном нами примере с учетом товаров проводимые расходные накладные будут сдвигать границу последовательности вперед. Любое изменение в движениях по регистру, на котором ведется стоимостный учет товаров, записанное раньше границы последовательности, будет отодвигать границу последовательности назад, на момент этого документа. После этого проводимые документы, находящиеся позже границы последовательности, уже не будут двигать ее вперед, если между границей ти и проводимым документом окажутся проведенные документы из этой последовательности. Режим восстановления последовательности будет иерепроводить все расходные накладные. Заметим, что приходные ные хотя и влияют своими движениями на границу последовательности, иерепроводиться не будут, так как они не используют в алгоритме дения остатков и не включены в список документов, относящихся к данной последовательности. После выполнения восстановления ти проводимые после границы последовательности документы снова будут двигать границу вперед. Режим восстановления последовательности позволяет автоматически ныполнить перепроведение всех документов, относящихся к тельности, от текущей позиции границы последовательности до указанного момента. В верхней части диалога следует выбрать позицию, до которой будет выполняться перепроведение документа. Ввод документов на основании Одним из режимов ввода новых документов в процессе работы пользователя с системой 1С:Предприятие 8.1 является режим ввода на основании. С точки чрения пользователя режим ввода на основании позволяет вводить докумен- п.1 или элементы справочников, заполняя их реквизиты путем копирования информации из другого объекта информационной базы - документа или объекта другого вида. Организация ввода документов на основании Разработка механизма ввода на основании производится с помощью конструктора ввода на основании (см. параграф «Конструктор ввода на основании» на стр. 2-657). С его помощью в модуле документа создается процедура с ным именем 0бработка3аполнения(). Эта процедура выполняется: • после выбора команды Действия - Ввести на основании и последующего выбора из списка нужного объекта-основания; • после выбора пункта пользовательского меню, выполняющего ду Ввод на основании. При вызове процедуры в качестве параметра ей передается объект-основание.
1 -142 1С:Предприятие 8.1. Конфигурирование и администрироввние Текст этой процедуры может быть доработан специалистом, щим конфигурирование системы. В тексте процедуры следует предусмотреть выполнение тех или иных операций по переносу информации в зависимости от вида документа-образца, а также любые другие необходимые действия. Ввод документа на основании другого документа производится в ле документов. Для этого необходимо выбрать документ, на основании которого будет создаваться новый документ, выбрать пункт Действия - На основании журнала и выбрать тип создаваемого документа. Данный пункт меню будет присутствовать только в том случае, когда журнал чен для документов, являющихся основанием для ввода других документов. Если журнал также содержит документы, не являющиеся основанием для ввода других документов, то при выборе такого документа в журнале данный пункт меню будет недоступен. Примером сказанного может служить ввод документа Расходная накладная на основании документа Счет. ** Счет : Счет С0002 от 16.01.2002 12:00.1И ***'"""" **"? .. U.L. ........ ЩЛЕЗ Действия- Ц CfcJCS 4tT fefK*"" ® Номер. |С0002 | Дата: |1G.01. Контрагент" (БольшаковАндрей щ%ш.^a t i?iподбор fejHoMeHKflartfpa ИИ Windows XP Home Edition Клавиатура Apple Pro Keyb 3 Лазерный принтер 525019. ""^{Монитор i5'LG Studfowork. ЙМышь 2 кноп A4Tech PS/2 Ед? намерения компл ЦП" компл компл шг GJChct блок Hewlett-PacVard. |компл '00212 00JE КоэФФии.. 1.000 1.000 1.000 1.000 1.000 1.000 1_ПЛП j ш* in цен; | Розничная M*i 1 Количество ' Шена 1.0В 170.00 1.00 75.00 1.00 415.00 1.0CJ 155.00 1.00 1.00 ппп 1.70 1933.00 Сумма ? ¦ 170ЛГО 75.00 415ЛГО 155.00 ,„ 1.70 [ 1 933.00 Печать ОК Залисвт* Закрыть По кнопке ЧЙ" выводится список типов документов, вводящихся на основании документа Счет. После выбора типа та на экран выводится форма нового документа Расходная накладная, заполненного на основании документа-образца. Докцмент Движения Номер: ВС Посчету: Счет С0002 от №01 200212 Дата- |Э0.062ЮЭ jjjj Время.' j ОИНЮ | I Не проведен Контрагент Большаков Андрей Склад. Организа , ЗЕ И Windows XP Home 2ГКяаеиатцра Apple < Лазерный принтер. 4 Монитор 1 LG St. Э Мышь 2-кноп А4Те. ЫСист блок Hewlett- 8{Йнеталляция ПО [Итого- 1.00 1 939.00 2.0 ~. 21,00| . \ .Дечать -I ОК Записать Провести Закрыть ¦¦¦¦¦¦ '¦¦¦¦ ¦ ¦¦.-¦¦. ¦ .'.*!¦ J.11.- ..I. ' ¦. ..¦¦¦¦ ¦
Глава 3. Объекты конфигурации 1 -143 Журналы документов В системе 1С:Предприятие 8.1 журналы документов являются объектами, позволяющими осуществлять работу с документами разных видов. Работая с формами журнала, пользователь может вводить документы, просматри- шпъ их,'редактировать и удалять. Пользователь может искать любой документ в журнале по содержимому граф, выполнять поиск документов по их номерам, осуществлять отбор документов по различным признакам. Конфигуратор позволяет создавать любое необходимое число журналов. При создании журнала для него может быть создано произвольное число экранных форм, на которых располагаются табличные поля, содержащие колонки для отображения вида документа, номера, даты и времени, а также дополнительные графы для отображения значений любых других тов документов из числа отображаемых в каждом журнале. Нсли ни одной формы журнала не создано, в режиме 1С:Предприятие автома- i нчески создается форма журнала по умолчанию. Создание журнала Для работы с журналами документов предназначена ветвь Журналы тов дерева конфигурации. I) системе 1С:Предприятие8.1 процессы создания журналов и размещения документов по конкретным журналам тесно связаны между собой. Указание шображения информации документа в определенном журнале низировано с данными журнала о документах, информация о которых представлена в журнале. При создании и журнала, и документов в список журналов и докумен- юв автоматически будет добавлен созданный журнал или документ. Для шражения данных документа в журнале необходимо или в журнале, или в документе указать эту принадлежность. Указание принадлежности докумен- III журналу можно производить как в журнале, так и в документе, т. к. эта операция синхронизирована. Редактирование журнала II тгом параграфе будут описаны уникальные свойства журналов в нение к общим свойствам объектов конфигурации, о которых говорилось пи стр. 1-64, и приемы редактирования объектов конфигурации типа Журнал, шличные от общих приемов редактирования объектов конфигурации.
1-144 1С:Предприятие 8.1. Конфигурирование и администрирование Редактирование свойств журнала (формирование списка дополнительных граф и определение их состава, форм журнала и макетов печатных форм и др.) выполняется в окне редактирования (см. параграф «Окно ния объекта» на стр. 1-60). На закладке Данные формируется список документов, входящих в журнал, и список граф журнала. В каждом подчиненном объекте, расположенном на ветви Графы, ется общий реквизит всех документов, включаемый в журнал (см. параграф ниже). Графы журнала документов Когда в конфигурации создается новый журнал документов, для работы с ним может быть создано неограниченное число форм журнала. Форма журнала создается с помощью конструктора форм объектов ции (см. стр. 2-657). Конструктор размещает в форме табличное поле, содержащее набор граф для показа различных реквизитов документов. При создании формы журнала конструктор формы создает графы: ка (для показа состояния документа), вид, дата и номер документа. Если требуется включить в журнал дополнительную информацию, то мо сформировать список дополнительных граф и разместить их в формах. На закладке Данные окна редактирования располагается список тов, данные которых отображаются в журнале. Для создания дополнительной графы в нижнем списке добавьте подчиненный объект Графа и укажите реквизиты документов, данные которых будут показываться в графе. Для выбора реквизитов документов, которые будут размещены в графе журнала, в палитре свойств графы, в свойстве Ссылки, нажмите кнопку выбора. На экран выводится окно выбора реквизитов документов. Важно! Нельзя выбрать несколько реквизитов одного и того же документа.
Глава 3. Объекты конфигурации 1-145 Ксли реквизит какого-либо документа не выбран, то в данной графе ла документов будет отсутствовать информация по всем документам этого вида. При выборе следует руководствоваться исключительно здравым смыслом и не смешивать в одной графе абсолютно разные понятия мер, наименование контрагента и сумму документа). Помимо обязательных граф документов (Дата, Номер, Вид документа) и граф, указанных в подчиненной группе объектов журнала Графы, в журнал можно добавить любое количество дополнительных граф. Новая графа добавляется в список граф выбранного объекта Журналы, и затем с помощью пункта Форма - Вставить реквизиты производится ка графы в форму. Наличие в журнале дополнительных граф дает возможность лю получить наиболее важные сведения о документе уже при просмотре журнала, не открывая сам документ. Пример создания формы журнала Предположим, что требуется создать форму журнала документов, в которой помимо списка документов находится список движений каждого ною документа. Формирование списка движений должно производиться иитоматически при смене строки в списке документов. Юыберем нужный журнал документов и с помощью конструктора форм (см. стр. 2-660) создадим новую форму. Результат работы конструктора представлен на рисунке. _ р— Журнал документов Торговля: ФормаДвижен \ ш:\\, I Действие <Щ ¦§ ^ ^ Н ^ €}' f| ?х , § Перейти' Вицдокчменга Дата Номер Контрагент I Диалог ] Модуль | ^ Реквизиты Поместим элемент управления типа Табличное поле и в свойстве Тип ния категории Основные назначим ему тип значения нужного регистра ипкопления, например, РегистрНакопленияСписок.УчетНоменклатуры.
1-146 1С:Предприятие 8.1. Конфигурирование и администрирование 'TiiirrvTiMiiiimriTiiir Г) Составной тип данных рГ~|Ш ТабяицаЗначеннй ®-*2й СпраеочникСписок Ш-"^ СписокДокументов Ш-*д| СписокРегистраСведеннй Ей—jjl НаборЗаписейРегистраСведений И-*Ь СписокРегистраНакопления шщ авшвяавв ЦШШ Продажи i-^j НаборЗаписейРегистраНакопления Ш~*^ СписокКритерияОтбора I Ш 11, ?тм^на Форма журнала будет выглядеть следующим образом. &Э Журнал документов Торговля: Форма Движений ЕЭЮИНЙЯЯИИГ Ттг Действия ^ % ^ ^ ^ И ^ th $Й- S1 15 "& Й Перейти » Вид документа Номер Дата Контрагент JH caia&ffl&faiiKag&u^^ К Регистратор Номер записи Активность Период Номенк; C?J|5WeBiiirtiiiSiiii Hti!tiii!i!|tiJi't>i"iiJii"i ш 5ГЖ5!НЖгШ5Ш15555ПЖтеГЛПЩ H&UiiWiWlWj В Диалог I Мсддль s Реквизиты Удалим колонку Регистратор, т. к. в нашем случае регистратором будет являться текущий документ списка документов данной формы, и колонку Активность. Если не требуется специальной обработки выбора или активизации строки, то конфигуратор позволяет установить просмотр списка движений тра накопления без написания специальной процедуры в модуле формы журнала.
Глава 3. Объекты конфигурации 1-147 Для этих целей следует использовать свойство табличного поля Связь по регистратору. Для установки связи нажмите кнопку выбора свойства II в окне Выбор связи выберите событие (или объект), которое (выбор го) приводит к отбору в списке движений регистра накопления. Данные | События | г-ОбработкаАктивизацииОбьекта ЁЬСписок ¦Выбор С "Отмена Справка Для нашего примера в открывшемся окне Выбор связи на закладке События пыберем Список.ПриАктивизацииСтроки (Список - имя табличного поля списка документов). Форма журнала готова. В режиме 1С:Предприятие при выборе строки в списке документов автоматически будет производиться отбор движений регистра накопления по текущему документу. Усложним задачу. В созданном журнале документов требуется управлять отбором документов в списке по контрагенту и по складу. Для этих целей достаточно в форму для каждого вида отбора поместить шсмент управления Поле ввода, назначить ему тип справочника-владельца и и табличном поле в свойстве Связь по владельцу указать его для организации спязи, а также элемент управления типа Флажок для указания использования режима отбора. 11олю ввода по выбору склада присвоим имя Склад, полю ввода по ру контрагента - Контрагент. В палитре свойств для элементов управления типа Флажок в свойстве Данные откроем окно выбора Данные и выберем соответственно для склада значение Отбор.ДокументыПоСкладу.Использо- иание, а для контрагента - Отбор.ДанныеПоКонтрагенту.Использование. Для шементов управления типа Поле ввода в свойстве Данные выберем для склада Отбор.ДокументыПоСкладу.Значение, а для контрагента - Отбор.Дан- пыеПоКонтрагенту Значение тят i '*Л Следует заметить, что отборы ДонныеПоКонтрагенту и Докумен- f ыПоСкладу должны быть определены пи ветви Общие/Критерии отбора окна Конфигурация (о создании отборов см. параграф «Критерии отбора» ни стр. 1-96). Б-ЖурналДок.уменгов (З-Отбор В-ДанныеПоКонтрагенту —Использование —ЗначекиеС ¦ЗначениеПо БиаСравнения В -ПщчиненныеДокументы Е-ДокументыПсСклаод О- ВидДокуменга Ш-Дата Ш- ПометкаУдаления В-Номер ; Справка FW ят .,»..'.. ' I.
1-148 1С:Предприятие 8.1. Конфигурирование и администрирование В режиме 1С:Предприятие форма журнала будет выглядеть следующим образом. 0 По склад: |Основной склад \—\х •Действия- % % Щ. Щ |И ^ 1}' |&' Ш IS • ' Ух I $ Перейти- В ид документа |Дата [ЦР Приходная наклад. 110.01 200212 00:00 пш т ш ш~ шг Номер 00001 Расходная наклад... 11.01.20021200:00 :00001 Расходная наклад... Расходная наклад... Расходная наклад... Расходная наклад... + + + * Номер... 1 2 3 4 16.01.200212:00:01 I00003 29.01.200212:00:00 01.02.200222:46:40 05 02 200212:00 00 Период 10.01 20021 . 10.01.20021 . 10.01.20021... 10.01,20021... 00017 00004 00010 Номенкязтчра Клавиатура Apple Pro К... Клавиатура Keyboard P... Клавиатура LInkworld L... Клавиатура LK-6Q1 KB-... Конт вгент 0 Максимус ' Эльбрус Большаков Андрей !|~1 Центр детского тво...' Алекс-2002 Магазин на ул. Але... 'и Склад Основной склад Основной склад Основной склад Основной склад Количество tu 5.00 10Д) 20.00 1.5.0QH Как видите, при создании такой формы не требуется написания ни одной строчки кода. Перечисления Перечисление представляет собой служебный тип данных, который не используется самостоятельно, а применяется в основном в ти с другими типами данных. Определить перечисление можно как список озможных значений реквизита. Перечисления используются при вводе значений реквизитов документов, справочников, при вводе значений констант, в тех случаях, когда мо исключить неоднозначный ввод информации. Рассмотрим в качестве примера такое понятие, как «статус покупателя». В простейшем случае покупатели бывают розничные и оптовые. Со статусом покупателя обычно связывают уровень предоставляемых док с продажной цены товаров. Такой список «статусов» - розничный, оптовый - может служить примером простого перечисления. При выписке расходной накладной от пользователя системы требуется указать статус покупателя, выбрав его из этого списка. Выбранный статус покупателя, в свою очередь, определяет размер продаж- ых цен. Если статус покупателя вводится в процессе настройки конфигурации задачи как перечисление, то специалист, выполняющий конфигурирование систе-
Глава 3. Объекты конфигурации 1-149 мы 1С:Предприятие 8.1, может заранее ввести варианты расчета продажных цен в зависимости от указанного статуса. Прежде всего, перечисление не может пополняться в процессе работы с ним: список его значений задается при настройке перечисления в раторе. Перечисление не имеет вложенности - все его значения находятся на одном уровне. Основная особенность перечисления состоит в том, что список значений перечисления известен и доступен в конфигураторе - сама конфигурация использует конкретные значения перечисления. Использование перечисления позволяет ограничить число возможных вариантов, например, при вводе реквизита документа. Так как список значений ления создается в конфигурации, то можно организовать проверку выбранного •щачения и описать действия, которые должны за этим выбором последовать. Редактирование перечисления Для работы с перечислениями предназначена ветвь Перечисления дерева конфигурации. Редактирование перечисления заключается в создании списка значений перечислений. Для редактирования перечисления используется окно редак- лфования объекта Перечисление. На закладке Данные производится формирование значений перечисления. Перечисление ВидыОбъектосКонтактнойИнформации Хл. Основные > Данные Формы Макеты Подсистемы Значения перечисления: В-^ь Значения -*¦« Контрагенты — ЮридическиеЛица *—*• Организации Свойства: Значение перечислены v Основные: ZE ФизическиеЯица Справочн из еские лица" Справочник "Физические лица", контактные лица контрагентов менеджеры BilPSWP"HWSlilpi^^
1-150 1С:Предприятие 8.1. Конфигурирование и администрирование В палитре свойств указывается имя и синоним. Список значений перечисления в режиме 1С:Предприятие ся следующим образом: каждое значение перечисления представляется синонимом; если синоним не задан, то используется его имя. В приведенном на рисунке примере значение перечисления ФизическиеЛица будет представляться в виде Справочник «Физические лица» (по введенному синониму). На закладке Формы создаются формы списка и выбора. Это позволяет создавать различные формы для выбора (в зависимости от применяемого контекста). Формы списка позволяют распечатывать списки перечислений. На закладке Макеты могут быть созданы макеты печати. Для табличного поля в форме списка и выбора в категории свойств зование добавляются свойства Использовать список и Список. Если свойство Использовать список установлено, состав списка перечисления ся свойством Список. В противном случае список содержит все значения перечисления в порядке, заданном при конфигурировании. Для формирования списка значений установите свойство Использовать список и нажмите кнопку выбора в свойстве Список. В открывшемся диалоге установите пометки для тех значений перечисления, которые будут зованы в данном списке. Для внесения значения в список выберите нужное значение и нажмите кнопку Добавить значение перечисления. Для добавления всех значений нажмите кнопку Добавить все значения перечисления. Для исключения значения из списка отображаемых выберите значение в левом списке и нажмите кнопку Удалить значение перечисления. Для удаления всех значений нажмите кнопку Очистить список. Для установления порядка следования значений используйте кнопки Переместить вверх и Переместить вниз. Отчеты и обработки Любая система автоматизации учета только тогда выполняет свои функции, когда она имеет средства обработки накопленной информации и получения сводных данных в удобном для просмотра и анализа виде. Как правило, для решения подобных задач в системе автоматизации учета существует ность формирования отчетов. Конфигуратор позволяет формировать набор различных отчетов, достаточных для удовлетворения потребности вателей системы в достоверной и подробной выходной информации.
Глава 3. Объекты конфигурации 1-151 Для получения отчетной информации в системе 1 (^Предприятие 8.1 исполь1 эуются объекты конфигурации, расположенные на ветви Отчеты дерева конфигурации. Каждый объект этого типа может содержать алгоритм формирования «бумажного» или «электронного» отчета на внутреннем языке системы 1С:Предприятие 8.1 или схему компоновки данных, на нии которой система 1С:Предприятие 8.1 может автоматически выполнить отчет (см. стр. 2-524). Отчет может содержать одну или несколько форм, с помощью которых, при необходимости, можно организовать ввод каких- либо параметров, влияющих на ход алгоритма. Для вывода результатов пыполнения алгоритма на экран и принтер отчет может иметь созданные с помощью конструктора макетов описания печатных форм (макеты). Редактирование свойств объектов типа Отчет и Обработка и создание ненных объектов выполняются в окне редактирования (см. параграф «Окно редактирования объекта» на стр. 1-60). Для выполнения различных действий над информацией в системе 1С:Пред- приятие 8.1 используются объекты конфигурации, расположенные на ветви Обработки дерева конфигурации. Например, с их помощью можно выполнять удаление из системы устаревших данных, импорт информации из других систем и многое другое. Характер выполняемых в этом случае действий отражает название объекта конфигурации - Обработка, так как в результате информация, хранящаяся в системе, претерпевает какие-либо изменения. Обработка может содержать одну или несколько форм, с помощью которых, при необходимости, можно организовать ввод каких-либо параметров, нлияющих на ход алгоритма. Вывод результатов выполнения алгоритма на 'жран и принтер осуществляется с помощью конструктора макетов ния печатных форм (макеты). Основное отличие отчета от обработки заключается в возможности исполь- 'кшания схемы компоновки данных. В остальном обработка не отличается 01 отчета. Для реквизитов отчетов и обработок конфигуратор предоставляет более широкий, чем для объектов, записываемых в базу данных, набор типов. Они предназначены для предоставления более широкого выбора средств, используемых при создании форм (например, вид сравнения, порядок, отбор донных, направление сортировки), а также тип ПостроительОтчета, исполь- |усмый для создания универсальных отчетов (см. главу 10 «Построитель D1 чета» на стр. 1-417).
1-152 1С:Предприятие 8.1. Конфигурирование и администрирование Сохранение и восстановление значений настроек отчетов и обработок Отчеты и обработки запускают периодически, при этом значения многих параметров настроек повторяются для одного вида отчета или обработки. Кроме того, часто нужно видеть, с какими параметрами запускался тот или иной отчет в последний раз. Режим автоматического сохранения и восстановления значений настроек задается в палитре свойств формы, в категории Основные (форму нужно предварительно открыть). Если свойство Сохранять значения установлено, то для данной формы параметры будут сохраняться при закрытии формы. Выбор перечня параметров, подлежащих сохранению, производится в свойстве Сохраняемые значения. По кнопке выбора Ы открывается окно, в котором следует отметить нужные сохраняемые параметры. ш Щ'ё W\ Реквизит ИмяРешстрз I E Реквизит.ДагаНэч р] Реквизит ДатаКон |~~] Реквизит.РазворотПоПериодам [~1 Реквизит.ПоЗв6вг***а>вымС*&7эм 0 Реквизит ПоСубС4етамИСубКонто 0 Реквизит СозраняемыеРеквизитм ЦРеквиалт.ВывовитьРаз-«(М)гт*.Ч1дпьаэ f^| Табгичнвя часть ПоказатегмОтчета 1 0 Табличная часть.ФигалрыОтчета 4 0 Табличная часть.Гр^пгафовмлОтчета , Ц Форма.Оргвнмзадая ! II- «ж 1 | | Отмена j Для использования механизма сохранения и восстановления значений параметров следует дополнительно в панель инструментов формы тить пункты (кнопки) восстановления и сохранения набора значений параметров. Пункты выбираются из перечня действий командной панели формы или устанавливаются автоматически при установке свойства ной панели Заполнять автоматически и выборе в свойстве Источник действий значений Все источники или Форма. Внешние отчеты и обработки Внешним отчетом в системе 1С:Предприятие 8.1 называется отчет, щийся вне конфигурации, в отдельном файле внешнего отчета. Внешний отчет служит для решения тех же задач, что и объекты конфигурации типа Отчет.
Глава 3. Объекты конфигурации 1 -153 Внешней обработкой в системе 1С:Предприятие 8.1 называется ка, хранящаяся вне конфигурации, в отдельном файле внешней обработки. Внешняя обработка служит для решения тех же задач, что и объекты гурации типа Отчет или Обработка. Основное отличие внешних отчетов от внешних обработок состоит в том, что отчеты могут содержать механизмы системы компоновки данных (подробнее см. главу 11 «Система компоновки данных»). Внешние отчеты и обработки хранятся в файлах, имеющих расширение .erf и .ert соответственно. Основное преимущество внешней обработки та) - возможность ее проектирования и отладки в процессе работы системы 1С:Предприятие 8.1. В этом случае разработка и отладка обработки (отчета) •шачительно ускоряются: редактирование и сохранение внешней обработки (отчета) выполняются в режиме Конфигуратор, без сохранения ции в целом, а запуск - в режиме 1С:Предприятие. Для выполнения внешняя обработка (отчет) загружается при помощи пункта Файл - Открыть и ет так же, как и любая другая обработка (отчет) конфигурации. Любой объект конфигурации типа Отчет или Обработка может быть рован в файл внешней обработки (отчета), и наоборот - форма объекта конфигурации может быть заменена формой внешней обработки (отчетом). Для внешней обработки (отчета) может быть создано описание, как и для других объектов конфигурации. Для обеспечения целостности конфигурации внешние обработки (отчеты) рекомендуется использовать в основном в отладочных целях. После ки алгоритма формирования обработки (отчета) необходимо включить цнешнюю обработку в конфигурацию. Создание внешней обработки (отчета) Для создания внешней обработки (отчета) необходимо выбрать пункт Фпйл - Новый и в выданном на экран запросе выбрать строку Внешняя обработка или Внешний отчет. I In чкран будет вызван редактор форм для разработки внешней обработки (отчета). Для внешнего отчета окно редактирования будет дополнительно содержать управляющие элементы для создания, настройки и ния системы компоновки данных. Гик как внешняя обработка (отчет) не является частью текущей конфи- |урации (хотя и очень тесно с ней связана), процедура ее сохранения (нлнчается от процедуры сохранения изменений, описанной на стр. 1-46. Дни сохранения внешней обработки (отчета) необходимо использовать пункт Фнйл - Сохранить, или Файл - Сохранить как..., или Файл - Сохранить
1-154 1С:Предприятие 8.1. Конфигурирование и администрирование копию. В стандартном диалоге сохранения файла выберите тип файла Внешняя обработка (*.epf) (Внешний отчет (*.erf)) и введите имя для няемой внешней обработки (отчета). Использование внешних обработок (отчетов) Для использования внешней обработки (отчета) при работе с системой 1С:Предприятие 8.1 ее необходимо открыть так же, как это делается в гураторе. Однако следует иметь в виду, что в системе 1С:Предприятие 8.1 внешняя обработка (отчет) открывается только для исполнения: тель не может его редактировать. Компиляция модуля внешней обработки (отчета) выполняется при тии внешней обработки (отчета), поэтому после редактирования внешней обработки (отчета) в конфигураторе и ее сохранения необходимо вновь открыть эту обработку в режиме 1С:Предприятие. Редактирование внешней обработки (отчета) Редактирование внешней обработки (отчета) выполняется в конфигураторе. Чтобы открыть существующую внешнюю обработку (отчет), выберите пункт Файл - Открыть. В выданном на экран стандартном диалоге те тип файла Внешняя обработка (*.epf) (Внешний отчет f.erf)) и укажите имя открываемого файла. При открытии внешней обработки (отчета) в конфигураторе автоматически открывается окно редактирования объекта. В отличие от других объектов конфигурации, отладка внешней обработки (отчета) может производиться без перезапуска системы 1С:Предприятие8.1. Достаточно после ния обработки (отчета) конфигуратором заново вызвать ее на выполнение в режиме 1С:Предприятие. Описание внешней обработки (отчета) Внешняя обработка (отчет) может быть снабжена пользовательским нием (см. стр. 1-69). Для редактирования описания в палитре свойств внешней обработки щелкните ссылку Открыть свойства Справочная информация. В режиме ЮПредприятие для просмотра описания внешней обработки (отчета) необходимо нажать клавишу F1. Чтобы описание упоминалось в содержании общей справки, нужно вить свойство Включать в содержание справки.
Глава 3. Объекты конфигурации 1-155 Внешние обработки (отчеты) и объекты конфигурации Существующие в конфигурации объекты типа Отчет и Обработка могут быть преобразованы во внешние отчеты и обработки, и наоборот, внешние отчеты и обработки могут заменять собой существующий объект рации типа Отчет или Обработка. Также внешние отчеты и обработки могут быть добавлены в структуру конфигурации как новые объекты ции типа Отчет или Обработка. Копирование отчета или обработки во внешнюю обработку или отчет. Существующий объект конфигурации типа Отчет или Обработка может быть скопирован во внешнюю обработку или отчет. Для этого выделите нование объекта конфигурации в окне Конфигурация и в контекстном меню объекта конфигурации выберите пункт Сохранить как внешнюю обработку, отчет. Затем в выданном на экран стандартном диалоге сохранения файла выберите тип файла Внешняя обработка (*.epf) (Внешний отчет (*.erf)) и те имя файла внешней обработки (отчета). В результате будет создана внешняя обработка (отчет), которая будет рована с выбранного объекта конфигурации. Сам объект конфигурации при •ггом не изменится. Иыполнение этой операции целесообразно для последующей отладки созда- наемого отчета или обработки. По окончании отладки внешняя обработка или отчет может быть вставлена в конфигурацию взамен существующего объекта конфигурации. Замена отчета или обработки на внешнюю обработку (отчет). Внешние отчет или обработка могут заменить собой существующий объект рации типа Отчет или Обработка. Для замены объекта конфигурации внешней обработкой (отчетом) димо выделить его наименование в окне Конфигурация и использовать пункт Заменить на внешнюю обработку, отчет контекстного меню объекта гурации. Затем в выданном на экран стандартном диалоге открытия файла иыберите тип файла Внешняя обработка (*.epf) (Внешний отчет (*.erf)) и те имя файла внешней обработки (отчета). Цобавление внешней обработки (отчета) в структуру конфигурации. ('участвующая внешняя обработка (отчет) может быть вставлена в туру конфигурации как новый объект конфигурации типа Отчет или Обработка. Для этого необходимо в структуре конфигурации выделить ннименование любого объекта конфигурации типа Отчет или Обработка и использовать пункт Вставить внешнюю обработку, отчет контекстного меню ибьекта конфигурации. В выданном на экран стандартном диалоге открытия фнйла необходимо выбрать тип файла Внешняя обработка (*.epf) (Внешний
1-156 1С:Предприятие 8.1. Конфигурирование и администрирование отчет f.erf)) и указать имя файла внешней обработки (отчета), которую требуется вставить в структуру конфигурации. В результате этих действий в дереве конфигурации появится новая ка (отчет). Сравнение и объединение внешних обработок (отчетов) Внешние обработки (отчеты) можно сравнивать и объединять с ками (отчетами), расположенными в конфигурации, а также сравнивать и объединять с другими внешними обработками (отчетами). Для сравнения и объединения с отчетом или обработкой конфигурации в окне Конфигурация укажите нужный объект, в контекстном меню этого та выберите пункт Сравнить, объединить с внешней обработкой, отчетом... В стандартном диалоге выбора файла выберите нужную внешнюю ку (отчет). На экран выводится окно Сравнение и объединение... Приемы работы в окне полностью совпадают с приемами работы при объединении конфигураций (см. стр. 2-785). fe Основная конфигурация Ег-@Я Реквизиты р- Склад г->— Контрагент Ё— <Отс»рстБует> Е®Ш^ Формы В-0Щ Форма j B-0 Свойства ' '-0 Форма B-0S1 ФормаПараметров I E-0 Свойства I ЧЭ Форма 0- ES ФсрмаВыбораСтроки. В [Р] Свойства Ел Файл Е] g Реквизиты Склад Контрагент Формы ?"Я Форма В-Свойства •—Форма D-SI ФормаПараметров В-Свойства •—Форма B-S ФсрмаВыбораСт. Й- Свойства Редактирование- Статусы по соответствиям объектов it Порядок из Файпа И Порядок из Файла О бъединигь с приоритетом основной к.. О бъединигь с приоритетом Файла (^Совпадающие [^(Различающиеся [ {Неопределенные ( ]В основной В Файле ЦТ[ Изменен порядок Фильтр: [Показывать отличия в конфигурациях • Действия *¦ Hacrpo%aJ Обновить \ Въшм&ь^У ~^^^ь/щ\ Справка Для сравнения или объединения внешней обработки (отчета) с другой внешней обработкой (отчетом) откройте исходную внешнюю обработку (отчет), в окне редактирования нажмите кнопку Действия и в выпадающем меню выберите пункт Сравнить, объединить с внешней обработкой, отчетом. В стандартном диалоге выбора файла выберите нужную внешнюю ку (отчет). Дальнейшие действия описаны на стр. 2-785. j
Глава 3. Объекты конфигурации 1-157 Планы видов характеристик В системе 1С:Предприятие 8.1 объекты Планы видов характеристик чены для описания видов характеристик объектов аналитического учета. Примером использования объектов данного типа является описание хпрактеристик товаров, контрагентов. Они используются для реализации пиалитического учета по субконто (не по субсчетам) при создании плана счетов. Основной особенностью использования планов видов характеристик является то, что объекты данного типа не описывают напрямую конкретный товар или счет, а ссылаются на такое описание. Так, для управленческо- го учета часто требуется описать не только такие обязательные свойства номенклатуры, как наименование, цена, артикул, поставщик, но и другие цвет, срок годности, размер, вес, вкус и т. д. Очевидно, что для разных in вдов товара будет разный набор характеристик (для обуви желательно указать размер, полноту, цвет, материал и другие особенности; но эти теристики не нужны для описания компьютерной техники). В этом случае достаточно, чтобы в конфигурации на объектном уровне были созданы все Необходимые схемы описаний, а для конкретной позиции номенклатуры Пыл выбран нужный вид описания (вид характеристики). Конфигуратор системы 1С:Предприятие 8.1 позволяет организовать любое количество планов видов характеристик в соответствии с требованиями полноты аналитического учета на предприятии. V точки зрения основных приемов работа с объектами типа План видов харак- ГОристик очень схожа с работой над объектами типа Справочник. Объекты иноке могут образовывать иерархическую структуру, они имеют одинако- Н1<|й состав подчиненных объектов, их создание и редактирование можно исполнять в форме элемента, в форме списка или обоими способами и т. д. Для объекта План видов характеристик разработчик конфигурации может го |дать набор предопределенных элементов. Эти элементы не могут быть усилены пользователями в режиме 1 (^Предприятие. Мистройка объектов План видов характеристик имеет некоторые особенности. Объект План видов характеристик имеет свойство Тип значения ристик, которое позволяет определить набор возможных типов данных, используемых для видов характеристик. Выбор типа значения вляется на закладке Основные окна редактирования объекта. Обычно при указании типа используют составной тип данных. Это позволяет при вводе конкретной характеристики сразу указывать нужное ние. Так, например, для плана счетов при определении видов субконто используется объект плана видов характеристик ВидыСубконто, для которого тип значения характеристики определяется как составной (см. рисунок).
1-158 1С:Предприятие 8.1. Конфигурирование и администрирование Hgg sa iTi-iuiK > Основные Иерэржя Данные Нумерация <?(>рНН Макеты Подсистемы Ваодна основами* Права 14-ггерФейсы Обмен* Прочее Имя Синоним {Виды субнзнто Ком «арий- I Тип значения гарактврисшк: Спрввоч*кСсылка СтатьиРаоюдо С ДэПОГНИТВПЬНЫе ЧеИИД Mpaifl^MCWtC jCyflKOHTO Ш | Дейетшя"^] сНазш | Вапве?^] [ Заврить^] | Отравна" тйщишштошрт Так, в случае использования объектов План видов характеристик для описания структуры плана счетов бухгалтерского учета виды субконто будут ся из предопределенных видов характеристик. При создании конкретного счета указывают, какие виды субконто связаны с данным счетом. pas—Hi Действия-' ^ 4& *Ш Имя В-Чт Счета йв_ g-т то- -Т По.. -Т По... ЦТ Ра. Т 1«2 "-Т1 -ТК. д-т пр... ТЕ -ТС -ТГ -Tf 41 41.1 60 62 19 30 90.1 90.2 эаз 90.9 шх Забал Товары [Активный Товары в розничной торговле Активный Активный Пост. по а ПОК!A Расче НДС Наименование: |Товары на складах Прод. Выру Сеок iBho. Hanoi ? Завалмдаьй Приб( ' S2 Поряяс,с а Имя Кед: {ТоварыНаСкладе 41.1 В Признак ччета Валютный Количественный Учигыва... ? в Склады [Только обороты В~Ц) Характеристики —^ Номенклатура —** Контрагенты 1—•* РесчетныеСчета Отмена Справка
Глава 3. Объекты конфигурации 1 -159 Кик видно из рисунка, счет 41.1 «Товары на складах» имеет два вида субконто - Номенклатура и Склады, которые выбираются из набора пределенных видов характеристик, определенных в данном плане видов хирактеристик. ) \л я ведения учета в разрезе характеристики, не имеющей описания (справоч- Ника) в конфигурации, используется свойство плана видов характеристик Дополнительные значения характеристик. Например, требуется вести учет в рнчрезе центров затрат, а соответствующего справочника в конфигурации ИСТ. Тогда пользователь может создать собственный вид характеристики ЦентрЗатрат и указать, что значениями данного вида характеристик будут шсменты дополнительного справочника. Так как данный справочник нен плану видов характеристик, то при выборе будут выдаваться только шсменты справочника, подчиненные данному виду характеристик. Таким образом, значения от разных видов не будут смешиваться. Пижно! При выборе в свойстве Тип значения характеристик примитивных типов Число, Строка или Дата в диалоге редактирования типа данных i nvdyem указать размер или состав типа с таким расчетом, чтобы ••«нное описание охватывало все возможные значения. Так, при нна дробной части числовых типов нельзя будет ввести дробные числа. вменение в описании числовых данных после ввода пользовательских шичений может привести к потере этих данных. Дни создания предопределенных элементов в окне редактирования объекта ниш План видов характеристик на закладке Прочее нажмите кнопку пределенные. На экран выводится окно для ведения предопределенных исментов. Действия-» %jt Э Т* Т> ьД—. _ Щ j— ** Номенклатура f—•• Контрагенты r~w Склады L-"* РасчетныеСчета Kqrt 1 2 4 5 Наименование Номенклатура Контрагенты Склад Расчетный счет Тип СправочникСсылкаНоменклатура Сголю «*¦ йщтл Контрагенты СправочникСсылка.Склады СгравочнтСсылкаСубконто ДоНствия по ведению списка предопределенных характеристик выполняют- t ч с помощью пунктов меню Действия. Мшуально в режиме 1С:Предприятие предопределенные элементы харак- к'ристик отличаются от элементов, созданных пользователями, видом пиктограммы. И режиме 1С:Предприятие для элементов характеристик, созданных пользо- но юлями, тип значения можно менять.
1-160 1С:Предприятие 8.1. Конфигурирование и администрирование Пример создания и использования плана видов характеристик Часто необходимо, чтобы разные элементы одного справочника имели собственный набор характеристик, присущих конкретному элементу или группе элементов. Для этих целей можно использовать объекты типа План видов характеристик. Предположим, что требуется каждый элемент справочника Номенклатура «снабдить» персональным описанием свойств. Для этого на ветви ПланыВи- довХарактеристик создается объект, например, ВидыДопСвойств. В свойстве Тип значения характеристики указывается составной тип данных и ются возможные типы. В качестве типа может быть выбран любой тип. Если некоторые виды характеристик известны заранее, то они могут быть сформированы как предопределенные. В процессе эксплуатации новые виды вводятся пользователями самостоятельно. язв Действия*- Ьг й? -Ц X BtakS Щ |Т,"*Ч ВОЯШйЯаИЙ ДатаВыпуска Р~ Вес В-Ш Копм |— -» Частота \~ •» Память !— -» ТипКорпу.. <од 00002 ооооз 00007 ОО004 00006 00008 Наименование Дата выпуска Вес Компьютерные Частота Память Тип корпуса Тип Дата Число Число Число ПеречислениеСсылка. ТипКорпу.. Для хранения значений характеристик могут быть использованы ные механизмы. Например, план счетов использует свойство Виды субконто. Для нашего примера можно использовать непериодический регистр ний, в котором одно измерение имеет тип СправочникСсылка.Номенклатура, а другое - ПланВидовХарактеристикСсылка.ВидыДопСвойств. В качестве ресурса следует указать Характеристика.ВидыДопСвойств, где ВидыДопСвойств - имя плана вида характеристик. В режиме 1С:Предприятие предопределенные виды характеристик могут быть дополнены пользователем, как показано на рисунке. Действия- ^ *3 * ~\ «ft И, * *l *f TJ Щ в- ^ ш «© •» «е> - «е> «о Код О0007 ООООЗ 00010 Наименован. - Компьютерные Вес Высота 00002 Дата выпуска 00011 Длина 00006 Память 00008 Тип корпуса «е> JO0004 1 Частота •- 00009 [Ширина Тип значения JED » В ' Число Число Дата СправочникСсылка. .}»«¦*«« Ло-Со:*- Число П еречислениеСсылка.ТипКорпуса ™ Я Число Число ш ¦
Глава 3. Объекты конфигурации 1-161 Визуально пользовательские дополнительные свойства отличаются раммой (дополнена зачеркнутым кружком красного цвета). Эти значения нельзя удалить и изменить их тип. Для пользовательских значений все рекви- шты доступны для изменения. На рисунке видно, что характеристика Длина имеет тип СправочникСсыл- ка.ЗначениеДопСвойста, где ЗначениеДопСвойств - справочник, указанный в свойстве Дополнительные значения характеристик плана видов теристик. В форме списка регистра сведений ввод записей осуществляется ным образом. Новая запись вводится в форме записи регистра сведений. '•Действия- Щ % % Ч?\Щ, ЩЪ if- Ъ | g ЕЕ еэ ЕЕ ЕЕ Номенклатчра IBC-2311 IBC-2311 IBC-23U Стол ЕЭ Стол компьютерный ЕЕ Вид свойства Дата выпуска Частота Вес Ширима Высота Стол компьютерный Длина Номенклаг 1 Вид свой) Свой! 040620030:00.00 4.5 15 600 800 ШЕШ Ш гура: |Стоя компьютерный |».| гтегс |Длина Щ\ 1 ггво: 1000 | |х| I т Список Значения доп сеойствщЦ ..... ^^тш Я Действия- 4g % % Щ Щ, |g Щ ЪШ-%\ ". I Ml - Коя ^ 21 1 1 4< 3( 000 200 .00 00 Зладелец Ш Длина Длина щ Длина Длина ___ ы При выборе определенного вида характеристики реквизиту Свойство автоматически назначается тип в соответствии со списком ных свойств. В частности, при выборе свойства Длина выбор значения будет производиться из списка подчиненного справочника ЗначениеДопСвойств, чьим владельцем будет выступать свойство Длина. Для обработки и представления введенных значений дополнительных характеристик номенклатуры следует разработать отчет, в модуле которого будет расположен запрос по регистру сведений, содержащему эти ристики.
1-162 1С:Предприятие 8.1. Конфигурирование и администрирование Регистры Регистры 1С:Предприятия 8 предназначены для хранения и обработки различной информации, отражающей хозяйственную или организационную деятельность предприятия. Объекты информационной базы типа Документ и Справочник ны для хранения информации об объектах предметной области, таких как сотрудники, товары, материалы, валюты. Соответственно, каждый объект базы данных отражает соответствующий объект предметной области. В регистрах обычно хранится информация об изменении состояний тов или другая информация, не отражающая непосредственно объекты предметной области. Например, в регистрах может храниться информация о курсах валют или информация о приходе и расходе товаров. Объект базы данных существует независимо от значений его реквизитов и имеет самостоятельную ценность. Например, у сотрудника может ся фамилия, номер паспорта и любые другие реквизиты. При этом он будет оставаться тем же самым физическим лицом. После удаления объект нельзя создать заново. Даже если завести все его реквизиты в соответствии с удаленным объектом, то это будет уже другой объект. Для объекта система хранит внутренний идентификатор - ссылку. Ссылка уникальна в пределах всей информационной базы. Двух объектов с одинаковыми ссылками не может существовать на всем протяжении жизни информационной базы. Ссылки удаленных объектов не присваиваются вновь созданным объектам. Система предоставляет возможность хранить в полях базы данных ссылки на объекты базы данных. Единицей хранения информации в регистрах является запись. Прикладная нагрузка записи регистра определяется исключительно хранящимися в ней данными. Например, сама запись о курсе валюты не представляет собой ничего существенного. Она не соответствует никакому объекту в ной области. Существенным является только то, что в ней содержится валюта, дата и курс валюты, установленный на эту дату. Можно удалить эту запись и внести такую же - это не повлияет на логику работы системы. Соответственно, у записей регистров не существует ссылок и в полях базы данных нельзя хранить ссылки на записи регистров. Описание регистров сведений и накоплений приведено в данной главе. О регистрах расчета и бухгалтерии см. главы «Периодические расчеты» и «Организация бухгалтерского учета».
Глава 3. Объекты конфигурации 1-163 Регистры сведений В этом параграфе будет рассказано о понятии «регистр сведений» и об основах использования этих регистров. Общая информация о регистрах сведений Основная задачарегистра сведений- хранить существенную для прикладной задачи информацию, состав которой развернут по определенной ции значений и при необходимости развернут во времени. Например, если мы хотим хранить информацию о ценах конкурентов на продаваемые нами товары, то собранная информация' о ценах разворачивается по товарам и конкурентам. А если мы хотим отслеживать динамику изменений цен и будем заносить их периодически, то хранимая информация ется также и во времени. В системе 1С:Предприятие 8.1 для хранения подобных данных и работы с ними используется специальный механизм -регистры сведений. Регистр сведений фактически представляет собой в общем случае мерный массив данных, необходимый для реализации функции, которая может выдать нужную информацию по определенному набору аргументов. Аргументы функции называются измерениями, а результат функции сами. В приведенном выше примере двумерный регистр ЦеныКонкурентов будет содержать измерения Конкурент и Товар и ресурс Цена. Ресурсов может быть больше, чем один: например, можно хранить оптовую и ную цены. Помимо измерений и ресурсов для регистра сведений может быть создан мибор реквизитов. Реквизиты позволяют включать в записи регистров различную дополнительную информацию. Реквизиты не влияют на значения ресурсов регистра и могут использоваться для анализа записей регистра. Регистры сведений, информация в которых развернута во времени, ются периодическими. Для периодических регистров сведений система поддерживает такие стандартные операции, как получение наиболее позднего или наиболее раннего значения (например, получение последней ииеденной цены по конкретному товару и конкретному конкуренту), а также получение среза наиболее поздних или ранних значений. Например, могут быть получены все последние введенные цены по различным товарам и конкурентам. Для разворота информации во времени используется поле Период регистра. Оно не вносится в качестве измерения, а добавляется системой ки при создании периодического регистра. Поле Период для периодических регистров включается в состав списка данных окна Размещение данных.
1-164 1С:Предприятие 8.1. Конфигурирование и администрирование Для регистров сведений можно не создавать измерений. В этом случае регистр будет представлять набор периодических данных. Такие тры могут использоваться, например, для хранения фамилий различных должностных лиц, чьи подписи располагаются в документах. В процессе ведения хозяйственной деятельности документы создаются и ются должностными лицами, имеющими право подписи в определенный момент времени. В параграфе «Константы» показывалось, как вать значения констант для подобных целей. Недостатком данного приема в случае смены значения константы является то, что при открытии архивного документа будет указана новая фамилия ответственного лица, выбранная из константы. В таких случаях нужно использовать не константу, а кий регистр сведений, который хранит данные об изменениях, а в документах используется выбор значений из регистра сведений по дате документа. Наиболее характерный пример одномерной периодической величины - курс валюты. При выполнении каких-либо расчетов (например, при нии рублевой цены пересчетом валютной цены по курсу) важно знать его величину на момент вычисления. Особенно важно знать курс валюты при выполнении каких-либо тов задним числом - в этом случае необходимо «вспоминать» курс за уже прошедшие даты. Чтобы иметь возможность получать подобные сведения, необходимо дать таблицу, графами в которой были бы, очевидно, наименование валюты, дата курса и сама величина курса. Строки такой таблицы содержат курс нескольких валют на конкретную дату. При обращении к подобной таблице следует иметь в виду, что в колонке Курс хранятся конкретные величины курса на определенную дату, и зумевается, что на все последующие даты, до новой величины курса, курс не меняется. Поэтому для получения курса на какую-то промежуточную дату следует брать величину курса на ближайшую предыдущую дату, на которую существует записанный курс. Также следует понимать, что различные значения валют в ке Валюта фактически означают, что ведется параллельная история курсов нескольких валют. Иначе говоря, приведенную выше таблицу можно отобразить по-другому. Дата 31.01.2002 31.01.2002 28.02.2002 28.02.2002 •30.03.2002 30.03.2002 Валюта USD EUR USD EUR USD EUR Курс 30,1372 26,5456 30,9404 26,7120 31,1192 27,1515 Дата 31.01.2002 • 28.02.2002 30.03.2002 Курс USD 30,1372 30,9404 31,1192 Курс EUR 26,5456 26,7120 27,1515
Глава 3. Объекты конфигурации 1-165 Подобных колонок курсов в таблице может быть столько, сколько курсов разных валют требуется хранить. 1хли регистр не периодический, то поле Период для него не создается. И приведенном примере регистр ЦеныКонкурентов может быть ческим, если мы не хотим хранить историю изменения цен, а хотим иметь только актуальные цены. Тогда функция регистра сможет ответить на вопрос «Какая сейчас цена у такого-то конкурента на такой-то товар», но не сможет ответить на вопрос «Какая была цена у такого-то конкурента на такой-то ювар в начале года». II'* описанных принципов работы регистра сведений вытекает то, что м системе может быть только одна запись с определенным набором и дом измерений. Действительно, по одному товару одного конкурента может быть только одна цена. Если по какой-либо причине мы можем получить несколько цен и хотим занести эту информацию в базу данных, то нам нужно создать еще одно измерение для хранения того значения, по которому ни цены могут различаться. Например, можно завести измерение Источ- иикИнформации. Тогда можно будет вводить цены конкурентов в разрезе источников. Уникальность записей по набору измерений принципиально отличает регистры сведений от регистров накоплений, которые позволяют вводить несколько записей с одинаковым значением измерений и периодом. Записи регистра сведений ('гроки регистра сведений, содержащие информацию о значениях ресурсов для определенных значений измерений и конкретного периода, называют- »'н записями. Записи в регистр сведений можно вносить двумя способами: «ручную или документами. Выбор режима внесения записей описан ниже м мираграфе «Редактирование регистра сведений». ' )i и два варианта влияют на способ внесения информации, а не на основную ни ику работы регистра. Документ, которым вносится запись в регистр сведений, называется тратором. Саистры, записываемые независимо, могут свободно редактировать- гм нручную или средствами встроенного языка. При этом если измерение niKoro регистра назначено как «ведущее» и значением измерения являет- i'ii ссылка на объект базы данных, то будет считаться, что запись регистра имеет смысл, только пока существует этот объект. Например, если чить ведущим измерение Конкурент, то считается, что запись имеет смысл KuibKO как информация по данному конкуренту. Соответственно, при нии конкурента записи по нему будут удалены автоматически.
1 -166 1С:Предприятие 8.1. Конфигурирование и администрирование Если регистр записывается регистратором, то это значит, что записи будут жестко подчинены регистраторам — документам. Обычно это значит, что записи будут порождаться при проведении документов. Соответственно при удалении документа записи будут удаляться автоматически. В отличие от ведущих измерений, регистратор может быть только один. Редактирование регистра сведений Для работы с регистрами сведений предназначена ветвь Регистры сведений дерева конфигурации. При редактировании регистра определяются его свойства, разрабатывается структура регистра: создаются наборы измерений, ресурсов и реквизитов регистра, создаются экранные формы просмотра и редактирования записей регистра и, если необходимо, печатные формы регистра (см. параграф «Окно редактирования объекта» на стр. 1-60). В этом параграфе будут описаны уникальные свойства регистра сведений, в дополнение к общим свойствам объектов конфигурации. Регистр редактируется в окне редактирования Регистр сведений. Свойства регистра собраны на закладках. Периодичность — это свойство позволяет указать, с какой периодичностью регистр должен сохранять значения ресурсов. Это свойство напрямую влияет на возможность получения значений ресурсов регистра методами встроенного языка. Для непериодического регистра можно получить только последнее введенное значение ресурсом регистра - информация за предыдущие периоды в таком регистре отсутствует.
Глава 3. Объекты конфигурации 1-167 Для периодических регистров нельзя получить значение с периодичностью меньшей, чем установленная периодичность регистра. Периодичность не зависит от способа редактирования регистра. Режим записи - свойство определяет, каким образом будут вноситься записи: независимо (например, вручную) или подчиняются регистратору мер, документами). 1:сли для регистра указано, что он периодический и выбран мый режим записи, то становится доступным свойство Осноаной отбор по периоду. Если флажок установлен, то наряду с основными измерениями и реквизитами регистра, участвующими в отборе записей при регистрации I вменений, можно указывать отбор по полю Период. На закладке Данные формируется структура данных регистра. Создаются (пмерения и ресурсы, а также реквизиты. I la закладке Регистраторы производится управление списком регистраторов. Чпкладка доступна, если в свойстве Режим записи установлено подчинение регистратору. ЯМ! Основные Данные [">Регистраторы Формы Макеты Подсистемы Права Интерфейсы Планы обмена Прочее Регистраторы: а"- _ Q « Аккредитив С С ВиутреннмйЗакаэ Q i ВозвратТоваровОтПокугителя Q | ВоэвратТоваровПоставщикч Доверенность Q Sj ЭаказПокчпатвля ПЭ ЗэказПоставщику Закрьл-меЗзказовПокупателей О sD ЗакрьгтиеЗаказоеПоставщикам \у\ Щ ИзменениеЛимитовВозвратнойТары П Щ ИзмененнеСкиаокКомпанни 11 верхнем списке производится управление списком регистраторов ливаются или снимаются отметки), а в нижнем списке приводится список и I меченных объектов, являющихся регистраторами. Аналогично описанному для регистров сведений механизму управления списком регистраторов производится управление списком регистраторов дли других видов регистров. Особенностью ресурсов регистров сведений является широкая ция данных, в отличие от регистров других типов, где ресурсы могут быть шлько числовыми.
! 1-168 1С:Предприятие 8.1. Конфигурирование и администрирование Приемы создания форм и макетов описаны в параграфе «Окно ния объекта» на стр. 1-60. . Разработка структуры регистра сведений Разработка структуры регистра заключается в создании наборов измерений, ресурсов и реквизитов. Для управления списком измерений, ресурсов и реквизитов регистра и тирования их свойств служат управляющие элементы групп Измерения, Ресурсы, Реквизиты окна редактирования Регистр. С точки зрения настройки элементы этих групп одинаковы. Про порядок использования этих ющих элементов можно прочитать на стр. 1-49. Свойства измерения (ресурса, реквизита) регистра сведений Свойства измерений, ресурсов и реквизитов редактируются при помощи палитры свойств. В основном они совпадают с общими свойствами тов конфигурации. Ниже в этом параграфе будут описаны уникальные свойства измерений, ресурсов и реквизитов. Ведущее - установка этого свойства имеет смысл для измерений, тип данных которых — ссылка на объект конфигурации. В этом случае ся, что запись регистра сведений имеет смысл, только пока существует этот объект. При удалении объекта записи по нему из регистра будут удалены автоматически. Запрет пустых значений - установка этого флажка включает механизм та записи регистра с пустым значением измерения. Индексировать — для измерений свойство доступно для редактирования, [ если измерение не является ведущим (см. выше). Для измерений, ресурсов и | реквизитов с установленным свойством Индексировать создается отдельный индекс, что увеличивает производительность при работе с регистром. Для ведущих измерений индекс создается всегда. При просмотре регистра в режиме 1С:Предприятие существует возможность j сортировать записи регистра по индексированным измерениям, ресурсам и реквизитам. Необходимое число форм для просмотра и редактирования регистра должно быть создано в процессе разработки конфигурации. Упорядочивание списка измерений регистра сведений Порядок расстановки измерений регистра сведений имеет важное значение.
Глава 3. Объекты конфигурации 1 -169 Измерения, к которым необходим быстрый доступ, следует располагать и начале списка измерений. Последовательность расстановки измерений регистра сведений влияет па возможность применения методов встроенного языка, использующих позиционный доступ к измерениям. Также необходимо иметь в виду, что изменение порядка измерений требует реструктуризации информационной базы. Регистры накопления 1'сгистры в системе 1С:Предприятие 8.1 используются для накопления информации о наличии и движении каких-либо величин - материальных, денежных и других. Вся информация о хозяйственных операциях, которая шюдится с использованием документов или формируется при помощи расче- гов, должна быть накоплена в регистрах. Тогда эту информацию можно будет извлечь, проанализировать и представить пользователю в виде ных форм. I) тгом параграфе будет рассказано о понятии регистр накопления и даны сисдения об основах использования. Общая информация о регистрах накопления Регистр накопления - это объект конфигурации, предназначенный для ния движений регистра и итоговой информации. Проблема, которая обычно возникает при создании «хранилища» сводной информации, состоит в определении его структуры: в каких разрезах следу- (?| накапливать сводные данные, чтобы затем можно было извлечь нужную информацию без утомительной обработки. Система 1С:Предприятие 8:1 использует простые и в то же время гибкие средства для создания ров накопления: достаточно просто задать, в каких разрезах и какие данные грсбуется хранить в регистре, а система сама обеспечит запись и получение Нужных данных простыми языковыми средствами. Методы встроенного языка позволяют получить остатки регистра накопления пи заданный момент времени. Есть возможность фильтрации по значениям И пиерений, а также получения остатков в разрезе других измерений. Рассмотрим пример. Предположим, что в создаваемой программе торго- Mi-складского учета требуется хранить сведения о количестве и стоимости Кпждого товара на каждом складе. В дальнейшем предполагается получать информацию такого типа: «остаток конкретного товара на конкретном складе», «остаток конкретного товара всего, на всех складах», «стоимость всех товаров l конкретном складе».
1 -170 1С:Предприятие 8.1. Конфигурирование и администрирование В идеологии системы 1С:Предприятие 8.1 регистр накопления такого вида представляет собой прямоугольную систему координат, на одной оси которой находятся склады, на другой - товары, а на пересечении ного склада и конкретного товара находятся цифры количества товара и стоимости товара. Товары i Товар «Б» Количество Сумма | Склад «А» Склады Физический смысл регистра накопления сформулировать довольно сложно, и, скорее всего, регистр накопления не имеет материального аналога. тому определим, что регистр накопления — это n-мерная система координат, в узлах которой хранятся совокупные данные. Оси такой системы координат будем называть измерениями регистра, а хранящиеся в узлах данные сурсами регистра. Движения регистра накопления Изменение состояния регистров накопления выполняется обычно при дении документа. Процедура проведения документа расположена в модуле документа и содержит алгоритм формирования сведений об изменениях и егистрах, которые необходимо выполнить при проведении документа. Эти сведения называются движениями регистра. Механизм подсчета итогои использует движения регистров для выполнения непосредственных ний в регистрах накопления. Таким образом, движения регистров содержа i только приращения (со знаком плюс или минус) значений ресурсов регист- а, а не итоговые величины значений. Специалист, выполняющий конфигурирование системы, имеет ность предоставить конечному пользователю средства просмотра движении регистров. Конфигуратор позволяет создавать экранные и печатные формы для просмотра и анализа движений регистров. В процессе разработки конфигурации можно создать неограниченное количество регистров накопления. Однако следует учитывать, что запись изменений в большом числе регистров при проведении документа можс! вызывать уменьшение скорости работы системы в целом.
Глава 3. Объекты конфигурации 1-171 Помимо измерений и ресурсов для регистра накопления может быть создан набор реквизитов. Реквизиты позволяют включать в движения регистров различную дополнительную информацию. Реквизиты не влияют на значения ресурсов регистра и могут использоваться для анализа движений регистра. Итоги регистра накопления Как было написано выше, изменения в регистрах вносятся движениями регистра. Движения регистров оказывают влияние на его итоги. Итоги - это сводная информация регистров, которая получается путем суммирования шачений, вносимых движениями регистров. Итоги регистра накопления можно представить в виде таблицы с количес- том колонок, равным сумме измерений и ресурсов регистра накопления. Количество строк таблицы будет зависеть от количества различных ний измерения и ресурсов. Товар Стол Стол Шкаф 'Шкаф Шкаф Склад Розничный Оптовый Временный Оптовый Розничный Количество 10 5 7 2 10 Сумма 5000 2500 10500 3000 15000 Hi таблицы видно, что измерение Товар принимает значения Стол, Шкаф, II измерение Склад - Временный, Оптовый и Розничный. В колонках Количест- N0 и Сумма, отражающих ресурсы регистра накопления, записано количество И сумма каждого товара на каждом складе. И отличие от движений регистра, нет возможности непосредственно ривать итоги регистра накопления. Для обращения к итогам в конфигурации может быть создано необходимое число отчетов, которые будут обращать- 141 к итогам и выдавать их в виде товарных отчетов, складских карточек и иедомостей и т. д. Регистры остатков и регистры оборотов II системе 1С:Предприятие 8.1 возможно использование регистров нии двух типов: регистры остатков к регистры оборотов. Дли регистра остатков методы встроенного языка позволяют получить остатки регистра накопления на заданный момент времени. Есть ное гь фильтрации по значениям измерений, а также получения остатков и ршрезе других измерений.
1-172 Ю.Предприятие 8.1. Конфигурирование и администрирование Регистры оборотов предназначены для хранения информации, для которой понятие остатка лишено смысла, например, сумм продаж в разрезе пателей. Рассмотрим в качестве примера отслеживание взаиморасчетов с покупателями товаров, которые производит или продает предприятие (потребителями услуг, оказываемых предприятием, и так далее). Можно утверждать, что ведение подобного учета - обязательная часть общего учета на любом предприятии. Для того чтобы оперативно получать информацию о взаимной ти предприятия и покупателя, потребуется регистр Взаиморасчеты, в котором для каждого покупателя будет храниться сумма задолженности. При шении хозяйственной операции состояние регистра будет соответствующим образом изменяться, каждый раз отражая текущее состояние тов. Регистр Взаиморасчеты - это регистр остатков. Однако быстро получить информацию об объеме закупок, совершенных данным покупателем за какой-либо период времени, из регистра четы нельзя - он такой информации не хранит. Поэтому придется приложить дополнительные усилия для ее получения: например, можно включить в структуру регистра реквизит Контрагент, а затем отбирать движения тра по нужному контрагенту и вычислить общую сумму закупок. Но когда необходимо получать эти сведения оперативно (например, при нии определенного объема закупок покупателю должна предоставляться скидка), такой способ, конечно же, не подходит. В этом случае решением проблемы может быть использование ра оборотов. В таком регистре - назовем его Объем закупок - для каждого покупателя будет храниться информация об объеме закупок (об обороте покупателя). Теперь при совершении хозяйственных операций необходимо будет изменять не только состояние регистра Взаиморасчеты, но и регистр Объем закупок. В этот регистр при совершении клиентом каждой покупки будет заноситься информация о сумме покупки. В результате в регистре Объем закупок буде! постоянно накапливаться информация об общем объеме закупок клиента. Из всего сказанного выше можно сделать выводы о преимуществах зования регистров. Прежде всего, регистры используются для хранения информации, к которой требуется получать оперативный доступ. «Уровень ности» и, соответственно, целесообразность использования регистр.1 должен определять специалист, выполняющий конфигурирование системы 1С:Предприятие 8.1, в соответствии с требованиями пользователей темы.
Глава 3. Объекты конфигурации 1-173 Также можно сказать, что регистры позволяют получать наиболее верную информацию о состоянии средств. Так как процессы сохранения документа и записи изменений в регистрах разделены (допускается нение документа без его проведения), может возникать расхождение между данными документов и информацией в регистрах. Но регистр, в отличие от документа, является хранилищем итоговой информации, поэтому именно запись изменений в регистры служит подтверждением того, что ная операция совершена. Редактирование регистра накопления Для работы с регистрами накопления предназначена ветвь Регистры ления дерева конфигурации. Редактирование свойств объектов типа Регистр накопления и создание ненных объектов выполняются в окне редактирования (см. параграф «Окно редактирования объекта» на стр. 1-60). При редактировании регистра накопления определяется его вид, тывается структура регистра: создаются наборы измерений, ресурсов и реквизитов регистра; если необходимо, создаются экранные и печатные фермы просмотра движений регистра. В этом параграфе будут описаны уникальные свойства регистра ния, в дополнение к общим свойствам объектов. Вид регистра. Если регистр предназначен для хранения остатков, выберите из списка значение Остатки; если для хранения оборотов - значение ты. Разница между регистрами остатков и оборотов рассматривалась выше. Основные формы. Для регистра может быть создано несколько форм для просмотра его движений. Если форм для ввода и выбора несколько, то в свойстве Основная форма можно указать форму, которая будет ваться по умолчанию. Разрешить разделение итогов. Если флаг установлен в значение Истина, то будет задействован механизм разделителя итогов, который чивает более высокую параллельность работы при записи в регистр. При одновременной записи движений несколькими сеансами система не будет обновлять одни и те же записи итогов, а будет записывать изменения итогов отдельно. При получении итогов эти данные складываются. Таким образом обеспечивается и поддержание в актуальном состоянии итогов (для быстрого получения отчетов, например), и параллельность записи ний. Этот режим требует дополнительных расходов ресурсов (например, увеличивается количество данных в итоговых таблицах). Поэтому свойства есть и в конфигурации, и в языке для управления этим режимом.
1 -174 1 С'.Предприятие 8.1. Конфигурирование и администрирование Записи будут «размножаться» только при параллельно выполняемых циях. Их количество по каждой комбинации измерений будет зависеть от максимального количества одновременно выполняемых транзакций. При пересчете итогов накопленные отдельные записи сворачиваются. Режим разделения итогов может быть изменен пользователем в режиме работы 1С:Предприятие, в диалоге Управление итогами. По умолчанию свойство выключено. Разработка структуры регистра накопления Разработка структуры регистра заключается в создании наборов измерений, ресурсов и реквизитов на закладке Данные (параграф «Окно редактирования объекта» на стр. 1-60). Свойства измерения (ресурса, реквизита) регистра накопления Свойства измерений, ресурсов и реквизитов редактируются при помощи палитры свойств. В основном они совпадают с общими свойствами тов. Ниже в этом параграфе будут описаны уникальные свойства измерений, ресурсов и реквизитов. Тип данных. В отличие от измерений и реквизитов, объекты вида Ресурс могут хранить только один тип данных — Число. Запрет незаполненных значений. Установка этого флажка для измерения включает механизм запрета записи движений регистра с пустым ем измерения. Индексировать. Данное свойство можно установить только для измерений. Установка свойства позволяет ускорить выполнение операций, ющихся к данным регистра, например, если выбираются движения по конкретному значению данного измерения. К таким операциям относятся запросы с условием равенства данного измерения указанному значению, а также временный расчет и методы обхода движений объекта РегистрНакоп- ления встроенного языка, использующие отбор по определенному значению измерения. Использование в итогах. Если свойство не установлено, измерения исключаются из хранимых итогов регистра (свойство используется только для измерений оборотного регистра). Если такое измерение используется в запросе или в условии виртуальной таблицы, то виртуальная таблица не будет использовать хранимые итоги, а будет рассчитывать данные только по таблице движений.
Глава 3. Объекты конфигурации 1-175 Упорядочивание списка измерений регистра накопления Порядок расстановки измерений регистра накопления влияет на цию доступа к итогам регистра: измерения, к которым необходим быстрый доступ, следует располагать в начале списка измерений. Формы объектов конфигурации Форма - это специально созданный объект для ввода и просмотра какой-либо информации, а также для выполнения управления различными ми. С помощью созданных форм программа запрашивает у пользователя ту информацию, которая необходима ей для дальнейшей работы, либо выдает какую-либо информацию пользователю для просмотра и редактирования. Основное назначение формы - предоставить пользователю удобное средс- тио для ввода и просмотра информации. Как и бумажный документ, форма позволяет быстро ввести необходимую информацию и запомнить ее для последующей обработки, а при необходимости вновь вернуться к ранее иведенным данным для просмотра или корректировки. Форма состоит из диалога, модуля и реквизитов формы. Диалог формы представляет собой прямоугольную область экрана, которая м самом общем случае содержит различные элементы управления, мер, поясняющие надписи, поля ввода информации, элементы управления (например, кнопки) и т. д. С его помощью осуществляется взаимодействие пользователя с программой. Модуль формы - программа на встроенном языке, отвечающая за работу с мюментами управления формы, отработку предопределенных процедур и пыполняющая различные вспомогательные вычисления. В модуле водится подготовка и обработка реквизитов формы, а также обработка действий пользователя. Реквизиты формы - совокупность объектов различных типов, щих форме. В списке реквизитов может быть основной реквизит (выделен «ирным шрифтом), через который производится доступ к свойствам формы (подробнее см. стр. 1-179, описание свойства Тип значения). Также список содержит реквизиты, размещенные дополнительно. Окно для создания формы содержит три закладки, располагающихся снизу. Им закладке Диалог производится проектирование собственно диалога формы. На закладке Модуль производится редактирование модуля формы. Пи закладке Реквизиты разработчик формы имеет возможность добавить новые реквизиты формы и указать им нужный тип.
1-176 1С:Предприятие 8.1. Конфигурирование и администрирование Наиболее трудоемкая часть при создании формы — проектирование диалога, поэтому в настоящей главе основное место будет уделено описанию ка создания и редактированию диалога формы. В дальнейшем вместо термина диалог формы будет использоваться термин форма. При описании работы в модуле формы или реквизитов и их зования будут применяться термины модуль формы и реквизит формы или реквизиты формы. Формы объектов по умолчанию Система 1С:Предприятие 8.1 предоставляет возможность не создавать ные формы объектов, а использовать так называемые формы по умолчанию. Эти формы создаются системой автоматически в момент работы в режиме 1С:Предприятие. Для использования форм по умолчанию (формы элемента справочника, формы документа, списка, выбора и др.) достаточно создать в ции нужные прикладные объекты. Данная особенность в основном используется для целей отладки, а также в случаях, когда предоставляемые интерфейсные возможности форм по умолчанию (ввод, редактирование, просмотр, выбор) достаточны для работы с объектами и не нужна обработка и анализ производимых действий путем написания программы на встроенном языке. Если требуется организовать более сложные решения, то необходимо создать требуемый вид формы и произвести ее редактирование. Создание формы Для разработки форм объектов конфигурации используется специальный инструмент, называемый Конструктор формы, который вызывается при создании нового объекта типа Форма. Например: • из окна редактирования объекта конфигурации на закладке Основное нажатием кнопки Добавить; • из контекстного меню объекта конфигурации в окне Конфигурация выбором пункта Добавить. Разработку форм рекомендуется выполнять в разрешении 96 dpi, т. к. устанавливаемые привязки (см. стр. 2-693) будут работать некорректно на компьютерах с другим dpi.
Глава 3. Объекты конфигурации 1-177 Свойства формы Категория свойств «Основные» Заголовок - заголовок формы (строка, которая выводится в заголовке формы). Ширина - определяет ширину формы. Высота - определяет высоту формы. Поведение Enter - тип поведения формы при нажатии клавиши Enter. Это свойство описывает поведение обхода элементов при нажатии клавиши Enter. Возможные значения: Кнопка По умолчанию и Переход по элементам формы. Если выбран первый тип поведения формы, то при нажатии клавиши Enter в любом элементе формы становится активной кнопка, указанная как кнопка но умолчанию. Если выбран второй тип поведения формы, то при нажатии клавиши Enter активным становится тот элемент формы, который стоит следующим в очередности обхода элементов формы. Автопривязка границ - автоматическая привязка границ. Автопорядок обхода - автоматический порядок обхода. Конфигуратор позволяет установить разный режим обхода для формы и для панели, щенной в форме. Если свойство установлено, то устанавливается автоматический порядок обхода элементов управления в форме при нажатии клавиш Enter, Tab, Shift + Tab. В этом случае действует правило: «Слева направо, сверху вниз». *и~йс==г==Э Ojm_jJilni^ Э Диалог _| Модуль я Реквизиты Если свойство не установлено, то порядок обхода элементов управления определяется при создании формы. В этом случае становится доступным пункт Форма - Порядок обхода. При его выборе на экран выводится текущая страница формы, все элементы которой имеют в верхнем левом углу поля с порядковым номером обхода.
1-178 1С:Предприятие 8.1. Конфигурирование и администрирование Установка порядка обхода производится мышью. Необходимо тельно щелкать мышью по элементам управления в той последовательности, в которой следует производить обход. При этом в поле показывается ковый номер обхода и фон номера меняет цвет с темно-серого на синий. Завершение установки порядка обхода производится щелчком клавишей мыши в любое другое место формы. Порядок обхода можно установить с помощью окна Настройка порядка обхода. Для его вызова используйте пункт Форма - Настройка порядка обхода. С помощью кнопок Вверх и Вниз, расположенных в верхнем правом углу окна, установите нужный порядок следования элементов управления. Если форма или панель состоит из нескольких страниц, то порядок обхода устанавливается для предварительно выбранной страницы. Режим прокруч. страниц - если свойство установлено, форма будет жаться следующим образом: будут показываться все элементы всех страниц формы, при этом располагаться страницы будут в последовательном ке сверху вниз. Каждая страница имеет заголовок с кнопками перехода и управления просмотром. По кнопке ¦** производится переход к предыдущей странице формы, по кнопке ** - переход к следующей странице. Кнопка Ў сворачивает цу, кнопка i разворачивает страницу. Если страниц много, можно воспользоваться переходом к нужной странице. Для этого щелкните правой кнопкой мыши в форме и в контекстном меню выберите нужную страницу. Если свойство Режим прокруч. страниц установлено, то в палитре свойств формы будет отсутствовать категория свойств Использование. Данные - имя значения, используемого для хранения данных, мых элементом управления. Для свойств формы это имя называют основным реквизитом формы. Он отображается на закладке Реквизиты формы жирным шрифтом.
Глава 3. Объекты конфигурации 1-179 Тип значения - тип данных, указанных в свойстве Данные. Для свойств формы определяет поведение всей формы и состав команд панели ментов. Выбор типа основного значения данных равнозначен указанию типа формы при ее создании с помощью конструктора форм (см. стр. 2-660). Чтобы продемонстрировать, как выбор типа данных влияет на ние формы, выберем любую форму, например, форму списка документа Расходная накладная. Основной реквизит имеет имя Список, тип данных ДокументСписокРасходнаяНакладная. Для элемента управления типа Панель инструментов в качестве источника действий выбран Список. Свойство Заполнять автоматически установлено. Состав панели инструментов ит из команд, предназначенных для управления списком документов (выбор периода, установка отбора и др.). Изменим тип значения. Например, выберем тип СправочникОбъект.Номенкла- тура (данный выбор предлагается, чтобы увидеть произошедшие изменения, реально такая замена не имеет смысла). Для панели инструментов обновим состав команд. Для этого выберем панель инструментов, снимем и снова установим флажок свойства нять автоматически. Панель инструментов теперь содержит другой состав команд, свойственный форме элемента справочника (закончить рование, переместить и упорядочить элементы справочника). Упомянутые пыше команды управления списком документов отсутствуют. Помимо состава команд панели инструментов выбор типа значения формы (основного реквизита) влияет на поведение при открытии, редактировании или закрытии формы. Например, для типов ДокументОбъект при закрытии программа будет автоматически запрашивать подтверждение на проведение документа. В случае списков такое действие выполняться не будет. При создании форм с помощью конструктора формы выбор типа вольная форма не приводит к созданию основного реквизита. В этом случае поведение формы определяется только настройками пользователя. Автоматический заголовок- признак автоматического формирования ки формы. Например, для документа, если свойство установлено, заголовок формируется из названия документа, его номера и даты. Если свойство не установлено, то он выбирается из свойства Заголовок. Доступность - устанавливает, будут ли доступны все элементы управления формы или нет. Если свойство не установлено, элементы формы недоступны. Категория свойств «Использование» Отображать закладки - вариант отображения закладок (показывается, если смойство Режим прокруч. страниц не установлено).
1 -180 1 С:Предприятие 8.1. Конфигурирование и администрирование Распределять по страницам - устанавливает, будет ли панель распределять элементы управления по отдельным страницам (показывается, если тво Режим прокруч. страниц не установлено). Использование - указывается, для каких типов элементов (группа, элемент или для обоих) требуется применить форму. Свойство появляется, если выбрана форма элемента или форма группы справочника. Категория свойств «Оформление» В свойствах категории Оформление указывается оформление всей формы. Стиль - выбор стиля формы из определенных на ветви дерева ции Общие/Стили. Свойства Цвет фона и Цвет текста определяют цвет фона и текста для формы. В свойстве Шрифт определяется шрифт текста. Свойства Рамка и Цвет рамки определяют стиль и цвет рамки. Свойства Картинка и Размер картинки предназначены для выбора ния картинки, которая будет располагаться на поверхности формы, и режима определения размера картинки в зависимости от размера формы. Категория свойств «Редактирование» Использовать выравнивающие линии - если свойство установлено, то в форме можно расположить выравнивающие линии и осуществлять нивание элементов по этим линиям (подробнее см. стр. 2-685). Выравнивать по сетке — использовать сетку и производить выравнивание элементов управления по сетке (подробнее см. стр. 2-684). Гор. шаг сетки - горизонтальный шаг сетки. Вер. шаг сетки - вертикальный шаг сетки. Исп. только видимую область - если свойство установлено, запрещает щать элементы управления за пределами видимой области панели. Если флажок снят, то элементы управления можно перемещать за видимые цы, при этом появляются линейки прокрутки. Категория свойств «Текущая страница» Имя — имя страницы. По имени страницы производится управление показом страницы средствами встроенного языка. В случае сравнения конфигураций, при сравнении форм, страницам с одинаковыми именами будет установлено соответствие (см. стр. 2-785).
Глава 3. Объекты конфигурации 1-181 Заголовок страницы - строка, которая будет выводиться на закладке. По значению заголовка также производится установка соответствия страниц при сравнении конфигураций. Картинка заголовка - картинка, которая будет выводиться на закладке. Если не задан заголовок страницы, то по значению картинки также производится установка соответствия страниц при сравнении конфигураций. Видимость страницы - устанавливает, будет ли данная страница видна или нет. Доступность страницы - устанавливает, будет ли доступна данная страница или нет. Категория свойств «Окно» Свойства категории Окно определяют, какое состояние окна формы будет при первом открытии, может ли окно соединяться с другими окнами, вается направление прикрепления для состояния Прикрепленное, может ли изменяться размер формы. Подробнее о поведении окон в зависимости от состояния см. параграф «Состояние (режим размещения) окна» на стр. 2-896. Изменять «пособ отображения окна - разрешает или запрещает изменять способ отображения окна. Если выбран режим Авто, то изменение зависит от состояния окна. Если у формы установлено состояние окна Обычное, то изменять способ отображения можно; если Свободное, то нельзя. Режим рабочего стола - разрешает или запрещает окну занимать все пространство рабочего стола. Свойства элементов управления В параграфе описываются свойства всех типов элементов управления. Элементы представлены в алфавитном порядке. Процесс размещения элемента управления в форме описан на стр. 2-680. Поведение элементов управления настраивается в палитре свойств путем установки и выбора значений. Некоторые свойства элементов управления присущи всем или большинству типов элементов управления. Такие тва описаны ниже. Индивидуальные свойства приводятся в справке по нстроенному языку для каждого элемента управления. Общие свойства элементов управления Существует ряд свойств, которые присущи всем или большинству типов элементов управления. Обычно такие свойства имеют одинаковое чение и редактируются одинаковым образом. Ниже будут описаны такие
1-182 1С:Предприятие 8.1. Конфигурирование и администрирование свойства, а в параграфах, посвященных отдельным типам элементов управления, будет изложен порядок редактирования уникальных свойств элементов. Для удобства описания свойства будут сгруппированы по категориям ры свойств. Некоторые свойства, описываемые ниже, для некоторых элементов ния могут отсутствовать. Категория свойств «Основные» Описание таких свойств, как Имя, Синоним, Комментарий, смотрите в рафе «Свойства формы». Изменяет данные - если свойство установлено, то элемент управления непосредственно не связан с данными, но косвенно изменяет их. Пропускать при вводе - если свойство установлено, элемент управления будет пропущен при обходе элементов управления по клавише Enter. При обычном обходе (по клавише Tab или Shift + Tab) элемент управления щен не будет. Первый в группе — если свойство установлено, то элемент управления является первым в группе однотипных элементов управления, ных последовательно в порядке обхода формы (в основном используется для элементов типа Переключатель). Группировка элементов управления в форме влияет на обход элементов управления с помощью клавиш управления курсором. С помощью этих клавиш обход осуществляется только в пределах группы. Это справедливо для любых типов элементов управления, которые не отрабатывают ятельно нажатие клавиш управления курсором. Группа может состоять из элементов управления любого типа, в том числе и из нескольких типов. Это справедливо для всех типов элементов ния, кроме элементов типа Переключатель, которые образуют группы только между однотипными элементами управления (переключателями). Видимость - устанавливает, будет ли элемент управления виден или нет. Доступность - устанавливает, будет ли доступен элемент управления или нет. Авто контекстное меню — свойство присутствует для некоторых элементов управления (ПолеСписка и ТабличноеПоле). Установка данного свойства разрешает использование для элемента управления автоматического тного меню, иначе будет использовано контекстное меню, выбранное в свойстве Контекстное меню. Контекстное меню — доступно, если не установлено свойство Авто тное меню. Состав списка определяется составом команд командной панели, размещенной в форме.
Глава 3. Объекты конфигурации 1-183 Категория свойств «Расположение» Свойства данной категории позволяют позиционировать элемент ния в форме, выполнить привязки, установить порядок обхода для данного элемента, определить необходимость активирования элемента при тии формы. Привязка границ — по ссылке Установить правила производится установка привязки границ элемента управления (см. стр. 2-693). Привязка влияет на изменение расположения и размеров при изменении размеров формы или движениях разделителей. Лево - позиция левой границы расположения элемента управления. Верх - позиция верхней границы расположения элемента управления. Ширина - ширина элемента управления. Высота - высота элемента управления. Порядковый номер - номер элемента управления в порядке обхода формы (см. стр. 1-177). Активизировать по умолчанию - если свойство установлено, данный элемент управления будет активизирован при открытии формы. На одной це формы может быть только один элемент управления с установленным свойством. Установка свойства для другого элемента приводит к снятию свойства у элемента, для которого оно было установлено. Категория свойств «Оформление» Свойства данной категории позволяют осуществить настройку оформления (выбрать цвет фона, рамку, ввести текст подсказки и других параметров). Цвет фона... - цвет фона элемента управления. Цвет выбирается из палитры цветов или из стилей. Рамка - тип рамки, отображаемой вокруг элемента управления. Выбирается тип рамки по образцу или из стилей. Цвет рамки - цвет рамки, отображаемой вокруг элемента управления. Подсказка - текст подсказки (длина не ограничена), которая будет ся для пояснения назначения элемента управления. Для элементов управления, имеющих в своем составе текст (Рамка, Кнопка, Флажок, Поле календаря, Регулятор, Поле списка и др.), состав свойств категории Оформление дополнительно содержит следующие свойства: • Цвет текста - цвет текста (поля редактирования, выбора, надписи и т. д.) элемента управления.
1 -184 1 С:Предприятие 8.1. Конфигурирование и администрирование • Шрифт - шрифт текста элемента управления. Задается вид шрифта, размер, начертание или выбирается из стиля. • Прозрачный фон - если свойство установлено, то отображение та управления производится с прозрачным фоном. При установке этого свойства фон элемента управления будет совпадать с фоном формы или панели. Если у формы или панели установлено свойство Картинка, то фон прозрачного элемента управления будет отображать эту картинку. Категория «События» В данной категории определяют поведение формы или элементов управления при определенных действиях, например, при открытии формы, при начале выбора значения, при начале редактирования, при переходе с одной строки на другую в табличном поле и т. д. При работе с элементами управления большинство действий может ировать запуск связанных с этими действиями процедур. В теле каждой процедуры языковыми средствами описывается обработка события. Инициализация создания процедуры, отвечающей за отработку события, производится нажатием кнопки @ палитры свойств, расположенной справа от реквизита с наименованием события в категории События. Процедуры создаются в модуле формы объекта конфигурации, в который вставлен элемент управления. Для быстрого перехода к имеющейся процедуре-обработчику можно воспользоваться следующим приемом. Выберите нужный элемент ления или составляющую элемента (например, выберите нужную ячейку табличного поля) и в контекстном меню выберите наименование нужной процедуры. Состав и количество процедур определяются типом элемента управления и числом созданных процедур. В режиме работы с элементом управления при наступлении событий ление выполнением программы передается процедуре, связанной с этим событием. При выполнении некоторых действий могут запускаться сразу ко процедур. Например, при переходе между ячейками табличного поля инициируются события: ПриАктивизацииЯчейки, ПриАктивизацииСтроки (если при переходе сменилась строка), ПриАктивизацииКолонки (если при переходе сменилась колонка). В модуле формы можно создать несколько процедур, запускаемых по одному виду событий. В реквизите свойств, соответствующему событию, следует из поля списка процедур выбрать ту, которая будет запускаться при возникновении данного события. Если при этом выборе в конфигураторе
Глава 3. Объекты конфигурации 1-185 обнаружится, что другая процедура не используется, то на экран выводится запрос на удаление этой процедуры. Если для нескольких событий можно указать одну процедуру-обработчик и такая процедура уже создана в модуле формы, то процедуру можно выбрать из выпадающего списка в данном событии палитры свойств. В список включаются только те процедуры, которые удовлетворяют нужному сису (имеют нужное число параметров). Если в реквизите выбора процедуры вручную изменить наименование существующей процедуры, то в конфигураторе анализируется зование прежнего названия. Если обнаружится, что прежняя процедура не используется, то на экран выводится запрос на переименование этой процедуры. Если ответить утвердительно, то прежняя процедура новывается, иначе будет создана новая процедура с введенным именем. Если в палитре свойств по указанному событию очистить имя процедуры- обработчика, то после утвердительного ответа на запрос об удалении из модуля этой процедуры весь текст будет удален. Если имеются комментарии по данной процедуре (расположены выше процедуры), то на экран ся дополнительный вопрос об удалении этих комментариев. Другой способ формирования процедур-обработчиков прямо в модуле формы описан на стр. 2-724. Список событий формы или элементов ления, а также условия их наступления приведены в справке по встроенному языку в описании соответствующего объекта. Особенные свойства элементов управления К таким свойствам относятся Данные и Тип данных. Данные - указывается реквизит формы, чье значение будет редактироваться элементом управления. Тип значения - если свойство Данные не выбрано, то указывается тип та управления. Если свойство Данные выбрано, то поведение элемента управления ляется свойствами реквизита формы. Например, если требуется, чтобы значение реквизитов можно было просмотреть или отредактировать в различных местах формы (на разных страницах, закладках), то можно поместить элемент управления Поле ввода (или Надпись для просмотра) и в свойстве Данные указать имя реквизита, который является местом хранения информации. Таких дополнительных элементов управления можно расположить столько, сколько требуется. Другим примером может служить использование элементов управления Индикатор и Полоса регулирования.
1-186 1С:Предприятие 8.1. Конфигурирование и администрирование Пример использования и настройки формы с помощью свойств Данные и Тип значения также см. в параграфе «Пример создания формы журнала» на стр. 1-145 главы «Объекты конфигурации». Свойство Ориентация определяет поведение элемента управления в кальном или горизонтальном направлении. Так элемент управления Индикатор будет выводить информацию в соответствии со своей цией. Если выбрано значение свойства Авто, то ориентация выбирается по соотношению сторон. Если высота больше ширины, то элемент ван вертикально, если высота меньше ширины, то элемент ориентирован горизонтально. Для элементов управления Индикатор, Командная панель, Полоса ния, Разделитель и Рамка группы привязка к границам формы осуществляется в зависимости от ориентации элемента управления. ActiveX В форму можно вставить элемент управления типа ActiveX. Для этого выберите пункт Форма - Вставить ActiveX. На экран выводится диалог выбора типа элемента управления. Я ¦J VideoSoft FlexArray Control В 1 C.V7 Диаграмма ActionBvr Class ActiveXPIugin Object I ActoiBvr Class j adbanner Class Adobe PDF Reader Apple QuickTime Control 2.0 ¦ Behavior Object Bookmark Piev'iew Frame Control Builder Class , CDDBAppleControl Class CDDBNSWinampControl Class 1 CodeMaK Edit Control 2.11 ' ColorBvr Class CommonDial g Class I OK | | Отмена j | Справка | осле выбора поместите элемент в форму. Обращение к элементу управления производится по его имени. Настройка и управление элементом средствами встроенного языка возлагаются на разработчика данной формы. Внимание! Программы для создания ActiveX не входят в комплект поставки. Это отдельные Windows-приложения, являющиеся зионными программными продуктами. Об использовании вызванной программы следует читать в поставляемой с ней документации.
Глава 3. Объекты конфигурации 1 -187 Диаграмма Диаграмма — графическое представление табличных данных (например, результатов отчетов). Основные понятия Элемент управления Диаграмма можно размещать в форме и табличном документе. Элемент управления Диаграмма состоит из собственно диаграммы, в торой расположены три области: построения, легенды и заголовка. Каждую область можно перемещать внутри диаграммы, изменять ее размер, вать или убирать из диаграммы (кроме области построения). При изменении размеров диаграммы размеры областей также меняются пропорционально изменению размеров элемента. После создания диаграмму нужно активизировать, например двойным щелчком мыши, и настроить ее внешний вид. Свойства диаграммы можно разделить на две группы. В первую группу входят свойства диаграммы в целом, как графического объекта. Для редактирования этих свойств используется панель свойств, которую можно вызвать, выбрав пункт Правка - Свойства. Вторую группу свойств диаграммы образуют свойства ее составных частей: общей области диаграммы, области построения диаграммы, заголовки и легенды. Диаграмма представляет собой определенную фигуру, которая ся на основе матрицы данных. Данные, организованные в виде матрицы, удобно представить как значения, полученные в результате замеров, причем замеры производились сериями. Для матрицы значений размером [M,N] М - количество точек, замерами в которых получены значения, N - тво серий значений (далее - серий). Для количественной ориентации в диаграмме используются координатные оси. Каждому значению, отмеченному на оси, соответствует поясняющая метка (далее - метка). В зависимости от типа координатной оси метка может быть рассчитанной или определяться при заполнении данными. Например, для объемной диаграммы по одной горизонтальной оси откладываются номера замеров A,2,3...), по другой — наименования серий, а по ной оси - значения (числовые данные, по которым строится диаграмма). С точки зрения настройки диаграмма состоит из четырех областей: • общая область диаграммы или, для краткости, просто область мы - совокупность всех областей, образующих диаграмму;
1-188 1С:Предприятие 8.1. Конфигурирование и администрирование I • область построения диаграммы - содержит координатное тво и изображенную на нем фигуру; • заголовок диаграммы; • легенда-вспомогательная область, содержащая список меток, твующих сериям. Создание элемента управления «Диаграмма» Для размещения диаграммы в форме откройте форму и выберите пункт Форма - Вставить элемент управления. В открывшемся окне выбора тов выберите диаграмму. Для размещения диаграммы в табличном документе выберите пункт ца - Вставить рисунок - Диаграмма. Если перед вставкой элемента управления Диаграмма область диаграммы не выделена, то после размещения элемента управления на экран ся окно Диапазон для определения области данных, на основании которых строится диаграмма. Выделите область данных (если данных пока нет, то можно просто указать место, в котором они будут расположены) и нажмите кнопку В окна Диапазон. Если для диаграммы нет реальных данных, то показываются тестовые данные (имена точек и серий, значения). Если в режиме показа тестовых данных число серий и точек равно 0, то показываются четыре точки и четыре серии. Настройка диаграммы Настройка диаграммы обычно проводится на этапе конфигурирования. Задача настройки состоит в определении формата, специфического для каждой из областей, размера и расположения. При этом настройка чена пределами, определяемыми теми требованиями, которые различные типы диаграмм предъявляют к организации данных (см. ниже). Для получения доступа к свойствам диаграммы в форме выберите элемент Диаграмма, а в табличном документе дважды щелкните по нему мышью. Если требуется выделить одну из областей, после выбора элемента ния Диаграмма просто щелкните эту область мышью еще раз. После этого с помощью палитры свойств можно настроить поведение области диаграммы. Для возврата к свойствам диаграммы снова щелкните мышью выбранную область.
Глава 3. Объекты конфигурации 1 -189 Формат общей области диаграммы | Категория свойств «Основные» t Имя - только для элемента, расположенного в форме. Служит для доступа к | свойствам диаграммы из модуля. i Тип диаграммы - служит для выбора типа диаграммы. Максимум серий - указывает алгоритм построения диаграммы в мости от числа серий. Если выбрано Не задано, то в диаграмму выводятся псе серии. Если выбрано Ограниченно, то в область построения и область |,11егенды будет выводиться число серий не больше, чем указано в свойс- (Тве Количество. В случае, когда общее число серий превышает предельное, (формируется дополнительная серия Сводная. Общее число серий будет i определяться максимальным количеством (с учетом Сводной). Кроме нее (будут показаны только те серии, которые выбираются по следующему юлгоритму: по каждой серии ищется максимальное точечное значение (по (Модулю), эти значения сортируются, и выбирается то их число, которое розможно для показа (равно значению свойства Количество минус 1). ния непоказанных серий суммируются в сводной серии по каждой точке, ^я примера рассмотрим таблицу значений. Указано значение Максимум серий, Ограниченно (три серии). На вой диаграмме будут показаны три серии (для показа выбрана ная точка 4) — серия С и D, т. к. они имеют максимальные ния. Для указанного примера максимумы будут следующими (по убыванию): 9.3 (D), 5.2 (В), 4.1 (С), 3.7 (А). Выбираются две серии с максимальными значениями: D и В. Сводная серия состоит из ний. Значения секций А и С попадают в сводную секцию по выбранной точке C.1+ 3.7 = 6.8). Если выбрано значение Максимум серий, Процент, то няется другой алгоритм показа серий. Выбирается ный максимум по всем точкам fcex серий; вычисляется пороговое значение отбора (выбранное значение , 1* fc— 1 2 3 4 Серии А 1.5 3.7 2.2 3.1 В 2.2 5.2 3.3 . 1.5 С 3.3 2.2 4.1 3.7 D 9.3 3.1 1.5 3.3 I
1 -190 1С:Предприятае 8.1. Конфигурирование и администрирование умножается на величину процента, заданного в реквизите Величина). Если в серии есть значения, превышающие это пороговое значение, эта серия будет показана. Значения непоказанных серий суммируются в сводной серии по каждой точке. Выбирается абсолютный максимум 9.3 (D) и определяется пороговое значение по значению реквизита Величина (в примере выбрано 60%). Значение порогового значения равно 5,58. Только одно ное значение больше порогового - значение 9.3 секции D. Сводная серия состоит из значений секций А, В и С (для выбранной точки 4: 3.1 + 1.5 + 3.7 = 8.3). Активная точка — выбор точки, для которой производится построение диаграммы всех разновидностей типов Круговая. Активная серия - выбор серии, для которой производится построение диаграммы всех разновидностей типов Биржевая. Базовое значение - указывает начальное значение координат ты). Часто бывает, что изменение параметра, показываемого в диаграмме, несоизмеримо мало по сравнению с его минимальным значением. Для этого случая рекомендуется установить в качестве базового значение, ющееся к минимальному значению. Пропускать точки с базовым значением — если свойство установлено, то для определенных типов диаграмм (кроме круговых, биржевых, ков с накоплением и графиков с областями, изометрической непрерывной и изометрической лентами) базовые значения, определенные в свойстве Базовое значение, не показываются. Авто максимум - автоматическое определение максимального значения. Если свойство установлено, то значение максимального значения будет рассчитываться автоматически на основе исходных данных. Если свойств» не установлено, то максимальное значение указывается в свойстве мальное значение. Свойство показывается для отдельных типов диаграмм. Авто минимум - автоматическое определение минимального значения. Если свойство установлено, то значение минимального значения будет рассчи тываться автоматически на основе исходных данных. Если свойство ни I установлено, то минимальное значение указывается в свойстве Минималь | ное значение. Свойство показывается для отдельных типов диаграмм. Пример 2. Ограничение показа серий Сводная 83 D3.3 «D Щ Сводная
Глава 3. Объекты конфигурации 1-191 Изменяет данные - только для элемента, расположенного в форме. Элемент формы непосредственно не связан с данными, но косвенно изменяет их. Пропускать при вводе - только для элемента, расположенного в форме. Если данное свойства установлено, элемент управления будет пропущен при обходе клавишей Enter. Первый в группе — только для элемента, расположенного в форме. ливает элемент управления первым в группе элементов управления, расположенных последовательно в порядке обхода формы. Видимость - только для элемента, расположенного в форме. Устанавливает, будет ли данный элемент управления виден или нет. Доступность - определяет, будет ли доступен элемент управления Диаграмма. Категория свойств «Характеристики» Отображать заголовок - если свойство установлено, то показывается область шголовка. Отображать легенду — если свойство установлено, то показывается область легенды. Автоматическое транспонирование - если установлено, то будет ся автоматическое транспонирование в зависимости от размерности данных. Установка свойства желательна для оптимального расположения данных в случае, когда число точек или серий не соответствует типу диаграммы. 1и:ли диаграмма вставлена в табличный документ, то в палитре свойств показываются следующие свойства: • Серии в - указывается расположение серий (в строках или колонках исходных данных). Данные для построения диаграммы могут располагаться в самом ном документе. В этом случае требуется указать диапазон ячеек. Диапазон - задает диапазон ячеек, в которых расположены исходные данные для построения диаграммы. Диапазон может быть чен, для этого в свойстве Диапазон нажмите кнопку выбора 0- На экран выводится окно Диапазон. IR2C2REC6 Введите новый диапазон или с помощью указателя мыши выделите новый диапазон (при выделении диапазона учтите, что левая колонка и верхняя строка определяют серии и точки диаграммы). В ве диапазона можно указывать именованные области. Для окончания выбора диапазона нажмите кнопку Ы окна Диапазон. Щ в
1 -192 1 ^Предприятие 8.1. Кооперирование и администрирование Категория свойств «Оформление» Состав свойств данной категории зависит от выбранного типа диаграммы. Есть общие свойства, присущие всем типам диаграмм. Рамка - определяет тип рамки. Цвет рамки - если рамка задана, то в реквизите определяется ее цвет. Прозрачный фон - определяет прозрачность фона под диаграммой. Цвет фона - определяет цвет фона. В зависимости от выбранного типа диаграммы в данной категории свойств могут присутствовать следующие свойства. Окантовка — окантовка черным цветом областей на диаграмме. Режим пробелов - пробелы между точками на гистограммах. Окантовка — окантовка черным цветом областей на диаграмме. Градиент - градиентная закраска плоских гистограмм. Свет - осветление и затемнение участков объемных диаграмм. Вид подписей к круговой диаграмме - способ формирования подписей к| круговым диаграммам. Автоматическое раздвижение секторов - режим раздвижения секторов вых диаграмм. Ориентация - ориентация координатной системы для изометрических диаграмм. Окантовка Без окантовки С окантовкой
Глава 3. Объекты конфигурации 1 -193 Режим пробелов - возможные варианты выбора: Без пробела, Половинная ширина и Полная ширина. 35 3 25 2 15 1 3.S ¦W 1 D1 ¦А № 3.5 3 25 15 1 0.5 _|. Ж Н4 № ° 1 2 Без пробела Градиент Половинная ширина Полная ширина Свет - используется для объемных диаграмм. Без света Со светом Вид подписей к круговой диаграмме - возможные значения: Нет (нет сей), Имя серии, Значение, Процент, Имя серии + процент, Имя серии + значение, Имя серии + значение + процент, Значение + процент.
1 -194 1 С:Предприятие 8.1. Конфигурирование и администрирование Пример выбора вида подписей D1~] D1~ / ^\ Ша Ща ,„/ \ A1.5t21.429X) V^\ D7143%), V / 7 В22C142ЗД Ш ^^—-^ Пс Пс Значение Имя серии + значение + процент Выбирать вид подписей нужно осмотрительно, т. к. программа вает подписи целиком за счет уменьшения размера, что хорошо видно из рисунков. Автоматическое раздвижение секторов - возможные значения: Нет (нет выдвижения), Все (выдвигаются все секции), Максимальная серия гается секция, имеющая максимальное значение), Минимальная секция (выдвигается секция, имеющая минимальное значение). Максимальная секция Минимальная секция Категория свойств «Серии» Генерация имен серий - если заранее не известно, сколько серий будет показано в диаграмме, то их имена можно формировать автоматически. Если свойство установлено, то программа будет генерировать имена новых серий (например, Серия-!, Серия2 и т. д.). Настройка серий - если свойство установлено, то становятся доступными свойства серий (имя, оформление серии и др.). Устанавливаемые настройки будут запоминаться. Если свойство не установлено или в процессе ния количество серий или точек превысило число настроенных, то свойства
Глава 3. Объекты конфигурации 1-195 новых серий (точек) будут генерироваться по следующему алгоритму: линии сплошные, толщина 3. Цвета: есть восемь стандартных цветов. Цвет ется по остатку от деления номера серии на 8. Настройки по умолчанию для объединенной серии выбираются как для серии 7. Ниже перечислены свойства для диаграммы, вставленной в табличный документ. Количество серий - задает максимальное число показываемых серий. ные серии будут объединены в сводную серию. Текущая серия - выбирается серия, для которой требуется произвести настройку. Имя - задается имя выбранной в свойстве Текущая серия серии ся в области легенды и на осях области построения диаграммы). Раздвигать - свойство применимо для круговых типов диаграмм. Если установлено, то определяет поведение сектора, при котором сектор мы, относящийся к выбранной в свойстве Текущая серия, будет отображаться отодвинутым от центра. Индикатор - только для типа диаграммы Гистограмма (любых видов). Если установлено, то для серии, выбранной в свойстве Текущая серия, значения будут показываться в виде графика. Для настройки индикатора используйте настройки в свойствах Цвет, Маркер, Стиль линии. Цвет - определяет цвет линий и областей выбранной серии. Маркер - свойство применимо для диаграмм типа График. Определяется вид маркера, которым будет помечаться каждая точка выбранной серии. Стиль линии - свойство применимо для диаграмм типа График. ся вид и толщина линии, которой рисуется график выбранной серии. Категория свойств «Точки» Генерация имен точек - если заранее не известно, сколько серий будет показано в диаграмме, то их имена можно формировать автоматически. Если свойство установлено, то программа будет генерировать имена новых точек. Настройка точек - если свойство установлено, то доступны для ния другие свойства точки (число точек должно быть больше 0). Количество точек - свойство появляется, если диаграмма вставлена в форму; задается максимальное число точек. Для табличного документа число точек задается выбором диапазона в категории Область данных.
1-196 1С:Предприятие 8.1. Конфигурирование и администрирование Текущая точка - выбирается точка, для которой требуется редактировать имя (только для элемента формы). Имя - задается имя точки (только для элемента формы). Категория «События» Категория появляется, если диаграмма вставлена в форму. О событиях смотрите соответствующий раздел справки по встроенному языку. Формат областей построения, легенды и заголовка диаграммы Для указанных областей (кроме области построения) палитра свойств жит только категорию Оформление. С помощью свойств данной категории выбирается вид рамки, ее цвет, на, определяется фон. Для надписей определяются шрифты (вид, размер, начертание) и цвет текста. Для области заголовка указывается текст. Для всех областей общими настройками будет выбор рамки, ее цвета, цвета фона области (доступен только для табличного документа) и его ти, выбор шрифта текста (заголовок диаграммы, наименования серий, точек, показания шкалы). Шрифт показа значений круговой диаграммы ся по установкам других значения Тип диаграммы, например, Гистограмма. Для области построения диаграммы в палитре свойств задается мость показа шкалы, выбирается стиль разметочных линий, задается цвет линий шкалы диаграммы и текста области построения. Для области построения палитра свойств содержит категорию свойств Таблица данных. Если свойство Показывать таблицу данных установлено, то в область построения помещается таблица данных. В эту таблицу в режиме 1 приятие будут выводиться значения, по которым построена диаграмма. Также становятся доступными свойства оформления таблицы. ся необходимость показа вертикальных и горизонтальньк линий, задается выравнивание и форматирование данных. Диаграмма Ганта Диаграмма Ганта (также называемая ленточной) представляет собой диаграмму интервалов по шкале времени. Она позволяет в удобном для восприятия виде изображать план работ или распределение ресурсов во времени для набора объектов. Примеры применения: 1. Управление проектом. Точки - задачи, которые следует решить в рамках проекта, серия одна, отводимое время.
Глава 3. Объекты конфигурации 1 -197 2. График отсутствия сотрудников. Точки - сотрудники, серии - отпуска, командировки, болезни и т. д. 3. График использования оборудования или помещений. Точки - ления или сотрудники. Серий может быть несколько (например, на одной диаграмме нужно показывать занятость нескольких объектов). I In рисунке ниже приведен пример диаграммы Ганта. warn НВЕ. Этапы работ 27.10.03 Ш1103 1G11C3 171103 241103 011203 О8Л203 15.1203 ) В Строительство сарая Разработка проекта Осушениг болота Завоз материалов Рытье котлована Строительство Сдача вэксплуатацию В Заготовка сена Ремонт орудий труда Покостравы Вязание стогов Иерархия точек и серий обеспечивается средствами встроенного языка. Основные понятия С помощью диаграммы Ганта показывается использование некоторых ресурсов во времени. Точками диаграммы Ганта называются объекты, использующие сы. Сами ресурсы называются сериями диаграммы Ганта. Использование ресурсов показывается в виде интервалов времени. Совокупность интервалов времени, которая соответствует данной серии II гочке, называется значением диаграммы Ганта. Один объект может использовать несколько ресурсов, а каждый ресурс может быть использован произвольное число раз. Каждое использование описывается датой начала и датой окончания. I) диаграмме Ганта по горизонтали располагается шкала времени, по верти- кцли - список точек. Серии показываются в области легенды. Каждая серия (ресурс) имеет цвет, которым отображаются интервалы использования ресурса.
1 -198 1 (^Предприятие 8.1. Конфигурирование и администрирование С точки зрения настройки диаграмма состоит из пяти областей: • общая область диаграммы или, для краткости, просто область мы - совокупность всех областей, образующих диаграмму; • область построения диаграммы - содержит координатное тво и изображенную на нем фигуру; • область заголовка диаграммы; • область легенды — вспомогательная область, содержащая список серий. Создание элемента управления «Диаграмма Ганга» Для размещения диаграммы Ганта в форме откройте форму и выберите пункт Форма - Вставить элемент управления, в открывшемся окне выбора элементов выберите диаграмму Ганта. Для размещения диаграммы Ганта в табличном документе выберите пунш Таблица - Вставить рисунок-Диаграмма Ганта. Для наглядности возможностей и первичных настроек в диаграмме Гаити показываются тестовые данные. Настройка диаграммы Ганта Настройка диаграммы Ганта состоит в определении формата, кого для каждой из областей, размера и расположения, а также настройки шкалы времени. Для получения доступа к свойствам диаграммы Ганта в форме выберите элемент Диаграмма Ганта. Если требуется выделить одну из областей, после выбора элемента управления Диаграмма Ганта просто щелкните по этой области мышью еще раз. После этого с помощью палитры свойств можно настроить поведение области диаграммы Ганта. Для возврата к свойствам диаграммы Ганта снова щелкните мышью выбранную область. Формат общей области Категории свойств «Характеристики» С помощью свойств данной категории производится основная настройка диаграммы Ганта. В свойствах Отображать заголовок, Отображать легенду, Отображать пустыо значения указьшается необходимость отображения заголовка, легенды и пустых значений. Число всех значений диаграммы Ганта определяется как произведение числа точек и числа серий. Некоторые из них могут быть пустыми. Это означает, что соответствующее значение диаграммы не жит ни одного интервала.
Глава 3. Объекты конфигурации 1-199 Поддержка масштаба - выбирается вариант поддержки масштаба в видимой области при изменении размеров формы. • Все данные - означает, что в области построения будут представлены все данные. Начало и конец шкалы времени будут совпадать с ной и конечной датами полного интервала. При выборе этого значения следует учитывать, что если интервал отчета достаточно большой, чтобы отобразить основную единицу элемента шкалы, элемент шкалы не будет показан. • Автоматически - означает, что масштаб будет автоматически ляться исходя из минимального элемента шкалы времени, даже если он невидим. • Фиксированный - означает, что для шкалы времени будет задан ленный масштаб. Масштаб задается двумя величинами. Выбирается единица времени и указывается число символов, которые отводятся для представления данной единицы. • Период — означает, что для шкалы времени будет задан ный период. Период задается двумя величинами. Выбирается единица времени и указывается количество этих единиц. Ксли видимый интервал времени не перекрывает полный интервал (как он |вдан или автоматически рассчитан), то внизу области построения ется линейка прокрутки. Автоматический интервал - автоматическое определение полного интервала. Исли свойство установлено и в поддержке масштаба выбрано Все данные, то будет вычислен полный интервал с учетом максимальной единицы шкалы ирсмени. В области построения будут представлены все данные. Если спойство не установлено, то добавляются свойства Начало полного ла и Конец полного интервала, в которых указываются даты начала и конца полного интервала. Лвтоустановка текста точек - если свойство установлено, то для новых точек будет выполнена генерация текста по схеме Точка1\1. Автоустановка текста серий - если свойство установлено, то для новых серий будет выполнена генерация текста по схеме СерияМ Растягивание по вертикали - в свойстве выбирается вариант изображения диаграммы при избыточной высоте области построения. Выбор значения Растягивать строки означает, что по вертикали будут растягиваться только с I роки (наименование точек). Растягиваются строки так, чтобы полностью шнять область построения. Выбор значения Растягивать строки и данные Гошачает, что по вертикали будут растягиваться строки и данные нии интервалов). Данные будут занимать всю высоту строки.
1 -200 1 С:Предприятие 8.1. Конфигурирование и администрирование Вертикальная прокрутка - если свойство установлено, то при ной высоте области построения просмотр не поместившихся данных будет выполняться с помощью вертикальной прокрутки. Если свойство не лено, то высота строк будет автоматически выбрана таким образом, чтобы все данные были представлены в области построения. При этом вания точек не выводятся, если высота строки меньше, чем требуется для используемого шрифта. Отображение текста значения - в свойстве указывается вариант отображения текста значений. Если выбрано Отображать справа, то справа от жения интервалов показывается текст, содержащий наименование точки и серии. Категории свойств «Оформление» С помощью свойств категории Оформление производится настройка оформления области диаграммы. Выбирается стиль рамки, указывается необходимость использования прозрачного фона или определяется цвет фона, а также задается стиль отображения интервалов. Категории свойств «События» Для диаграммы определены два события, обработка которых может быть произведена в модуле формы. Описание этих событий смотрите в параграфе «Диаграмма Ганга» раздела «Интерфейсные объекты» справки по ному языку. Формат области построения В свойстве Заголовок указывается текст заголовка, который помещается над или под списком точек. Категории свойств «Оформление» С помощью свойств категории производится настройка оформления ти построения диаграммы. Выбирается стиль линий внутри области, шрифт, которым отображается текст в области (заголовок, текст точек текст значений, текст шкалы времени), стиль рамки вокруг области ния, задается прозрачность фона или устанавливается его цвет, указывается необходимость использования прозрачного фона, а также задается стиль отображения интервалов. В свойстве Цвет за границей полного интервала указывается цвет, которым показывается интервал за пределами полного интервала. Категории свойств «Шкала времени» Ссылка Открыть в свойстве Шкала времени открывает диалог настройки шкалы времени и масштаба.
Глава 3. Объекты конфигурации 1 -201 "i.r.TiirFTT нам ¦ ППП'Т Щ Элементы шкалы времени: Единица ер» |Кретность ;|В|иш.клть День . Час 1J0 r~wt ы Формат дня День месяц» Формат t * -ШШЧ Линии делен... [Цвет линий — Сплсим ja'|[^'i ^iivet lie -- Точечная SS 132,132. -Поддержка масштаба при изменении размеров окна- О Все данные О Автоматически • фиксированный! Масштаб: { 72.44 j*j символов на |День О Период Показывать 1 С День О Вертикальная прокрутка Закрыть |[ Справка Настройка шкапы времени и масштаба Для вызова окна настройки шкалы времени и масштаба также можно и области построения в контекстном меню выбрать пункт Шкала времени и масштаб... 11ри любом изменении настроек изображение будет сразу изменяться (если изменения носят ощутимый характер). Настройка шкапы времени Шкала времени представляет собой список элементов шкалы времени, кпждый из которых имеет собственные настройки. Управление списком осуществляется с помощью кнопок командной ипнелй. Настройка каждого элемента производится редактированием его свойств и колонках списка. Рис положение элементов шкалы относительно друг друга можно менять г помощью кнопок Переместить вверх и Переместить вниз. Нктройка элемента шкапы времени )лсмент шкалы характеризуется единицей времени и кратностью. мер, выбор День и 1 означает, что минимальной единицей шкалы времени будет I день. I ели требуется получить возможность более детального просмотра, можно годовать дополнительные элементы. Так, если для приведенного выше примера требуется ввести промежуточное деление дня на часы, следует ииссти новый элемент и выбрать в нем в качестве единицы времени Час II фебуемую кратность. II колонке Видимость устанавливается видимость элемента шкалы.
1-202 1С:Предприятие 8.1. Конфигурирование и администрирование В колонке Формат дня выбирается предпочтительный (если позволит место) формат представления дня. Выбор доступен, если в колонке Единица ни выбрано значение День. В колонке Линии делений выбирается стиль линии, с помощью которой выполняется отрисовка вертикальных координатных линий. В режиме Конфигуратор дополнительно можно настроить формат ления единицы времени и цвет линии. Если формат единицы времени задан, такой элемент шкалы не убирается автоматически и контроль за тем, чтобы подписи помещались в отведенном месте, не производится. Настройка масштаба Управляющие элементы для настройки масштаба диаграммы Ганта ложены ниже списка элементов шкалы времени. С помощью переключателей выбирается режим отображения данных. Настройка масштаба описана в свойстве Поддержка масштаба. Настройка вертикальной прокрутки Если точек достаточно много, чтобы информация о них могла ся в область представления, то можно использовать линейку прокрутки или отключить вертикальную прокрутку с помощью флажка Вертикальная прокрутка. Категории свойств «Элемент шкалы времени» С помощью свойств категории производится настройка элемента шкалы времени. Активный (настраиваемый) элемент шкалы выбирается мышью и выделяется темным фоном. Действия по настройке описаны в параграфе «Настройка элемента шкалы времени» выше. Формат заголовка В свойстве Текст указывается текст заголовка. В свойствах категории Оформление задается стиль рамки области, шрифт, которым показывается заголовок, задается прозрачность фона или ливается его цвет, указывается необходимость использования прозрачного фона. Формат легенды В свойствах категории Оформление задается стиль рамки области, шрифт и цвет, которым показываются серии, задается прозрачность фона или ливается его цвет, указывается необходимость использования прозрачного фона.
Глава 3. Объекты конфигурации 1-203 Дендрограмма Дендрограмма - специальный механизм для отображения последовательных связей между объектами. Дендрограмма часто используется при отображении результата кластерного анализа, произведенного иерархическими методами. Как и другие виды диаграмм, дендрограмма может размещаться как в личном документе, так и в форме. Размещение дендрограммы в табличном документе Для размещения дендрограммы в табличном документе выберите пункт Таблица - Рисунки - Дендрограмма и укажите прямоугольную область для размещения. Каждая дендрограмма, размещенная в табличном документе, имеет имя. При создании дендрограммы ей по правилам имен присваивается имя по умолчанию. Имя можно изменить в палитре свойств. Для этого выберите дсндрограмму и в палитре свойств выберите вид объекта. Состав свойств дендрограммы Кок и другие виды диаграмм, дендрограмма состоит из нескольких тей - области заголовка и области построения. Дендрограмма не имеет дбласти легенды. Все области принадлежат собственно дендрограмме. Большинство свойств сводной дендрограммы и ее областей совпадают с аналогичными свойствами обычной диаграммы. Описание основных свойств, характерных для дендрограммы, см. в параг- рифе «Дендрограмма» раздела «Интерфейсные объекты» справки по «строенному языку. Индикатор ')лемент управления Индикатор предназначен для индикации текуще- го состояния реквизита формы (элемента управления), используемого для хранения данных (указывается в свойстве Данные). Сам элемент не рует никаких событий и не изменяет значения этого элемента управления. 11истройка индикатора заключается в выборе реквизита, указании ного и максимального числовых значений реквизита, выборе ориентации и сгиля отображения. Поле календаря )лемент управления Поле календаря предназначен для выбора и ния даты в виде календаря. В зависимости от размеров элемента календарь может содержать информацию за несколько месяцев.
1-204 1 С:Предприятие 8.1. Конфигурирование и администрирование Данные - свойство указывает источник данных, чье значение будет но в календаре. Разрешить начало перетаскивания - разрешает перетаскивание данных из этого элемента управления. Разрешить перетаскивание - разрешает перетаскивание данных в этот элемент управления. Подробнее о механизме перетаскивания см. описание объекта Парамет- рыПеретаскивания раздела «Интерфейсные объекты» справки по встроенному языку. Кнопка Элемент управления Кнопка предназначен для запуска определенной дуры-обработчика (процедуры на встроенном языке, расположенной в модуле формы на закладке Модуль) нажатия этого элемента (по клавише Enter или мышью). При нажатии кнопки программа запускает процедуру- обработчик, определенную в событии Нажатие категории События. Кнопка может содержать картинку. Текст кнопки может быть выровнен по вертикали и горизонтали. ется перенос длинного заголовка. Если для кнопки в свойстве Режим меню выбрать Использовать или зовать дополнительно, то кнопка приобретает свойства командной панели (можно добавлять подменю, действия и разделители). Состав возможных действий определяется источником действий, указанным в свойстве ник действий. Если в свойстве Режим меню указано Использовать, то в кнопку справа добавляется значок т. В этом случае в режиме 1С:Предприятие нажатие на кнопку вызовет открытие выпадающего меню, состав которого ся на этапе конфигурирования (см. стр. 2-666). Если в свойстве Режим меню указано Использовать дополнительно, то и кнопку также добавляется значок Ў, нов отличие от предыдущего случая кнопка разделяется на две части. В режиме 1С:Предприятие нажатие на кнопку вызовет выполнение действия, установленного для кнопки. Нажатие на часть с треугольником вызывает открытие выпадающего меню, состав которого определяется на этапе конфигурирования. В палитре свойств категории События можно выбрать обработчик события Нажатие или установить новый обработчик, описанный в модуле формы. Состав действий зависит от значения свойства Источник действий. мер, если выбран источник действий табличное поле и список предназначен
Глава 3. Объекты конфигурации 1-205 для редактирования данных, то в список возможных действий ся такие действия, как добавление, изменение, удаление и другие действия, связанные с этим списком; если в качестве источника выбрана форма, то список состоит из действий, относящихся только к форме (закрыть, получить справку). Состав действий также зависит от типа формы. Например, для форм элемента и документа будет добавлена команда Найти в списке, по которой в режиме 1С:Предприятие открывается форма списка (если еще не открыта) и производится позиционирование на строке, содержащей ссылку на элемент (документ). Для форм списка иерархических объектов (справочники, планы видов характеристик и др.) будет добавлена команда Найти в дереве. Многострочный режим - если установлено, то возможно отображение го текста кнопки в несколько строк. Командная панель Элемент управления Командная панель (панель инструментов) значен для размещения в форме набора команд. С помощью этих команд производится управление информацией, размещенной в форме. ная панель представляет собой окно с набором кнопок. Нажатие мышью иа любую из кнопок вызывает немедленное выполнение связанной с этой кнопкой команды. В форме может быть несколько командных панелей. В конфигураторе их число не ограничено. Любую командную панель можно дополнить новыми командами, а ные введенные команды удалить. Приемы работы по редактированию командной панели в основном совпадают с приемами работы с командным интерфейсом. Если кнопка командной панели создана пользователем, то с помощью контекстного меню кнопки (в меню указывается наименование процедуры) осуществляется переход к процедуре-обработчику нажатия. Размещение разделителя также возможно с помощью пункта го меню, вызываемого на пользовательской кнопке, перед которой нужно поместить разделитель. Если выбрана системная кнопка, то разделитель нставляется перед первой пользовательской кнопкой. Вспомогательная - определяет поведение панели инструментов. Если свойство не установлено, то панель участвует в порядке обхода элементов управления формы и обходит клавишей Tab или Shift + Tab все свои кнопки. При нажатии на кнопку панели и выполнении действия активность остается и панели. Если свойство установлено (по умолчанию), то поведение панели
1-206 1С:Предприятие 8.1. Конфигурирование и администрирование стандартное. В режиме 1С:Предприятие для активизации командной панели можно использовать комбинацию клавиш Alt + F10, предварительно зировав элемент управления, являющийся источником действий для данной командной панели. АвтоЗаполнение - для каждой панели можно установить это свойство и выбрать источник действий. В этом случае в конфигураторе будет ведено формирование состава команд панели автоматически на основе вида формы и указанных источников. Вставленные таким образом ды удалить и исправить нельзя, можно только добавить новые команды. При снятии флажка свойства командной панели АвтоЗаполнение ся все команды, вставленные автоматически. В командной панели остаются только команды, вставленные вручную. Если выбрано одно из значений Все источники, Форма или основной реквизит формы, то фон командной панели и расположенных в ней кнопок изменяется с Фон формы на Авто (по нию это фон кнопок). Свойство Источник действия определяет источник действий для командной панели. Можно указать Все источники или выбрать конкретный источник действий. Элементы управления, размещенные в форме, «способны» ставлять набор действий, связанный с их собственными свойствами. Так, например, со списком можно производить различные действия по лению, редактированию, удалению, отбору, просмотру и другие действия; со списком-деревом — действия отбора и сортировки; с табличным лем - действия по добавлению, редактированию, удалению, упорядочивания и сортировке. Кроме того, сама форма также может являться источником. В свойстве можно указать конкретный элемент или форму или выбрать в качестве источника все элементы и форму. Если свойство АвтоЗаполнение командной панели установлено, то щение созданных кнопок в область расположения системных кнопок не допускается. Для создания новой кнопки выберите кнопку i.vi и в палитре свойств те ее тип. Если указано Действие, то значение действия выбирается из списка действий. В список входят все системные действия, определенные для формы данного типа, а также действия, созданные разработчиком. Для создания нового действия щелкните кнопку 5:. В модуле формы ратора создается процедура-обработчик нажатия кнопки, и новое действие включается в список действий. Свойства кнопок командной панели Кнопки командной панели также имеют собственные свойства. Тип - определяет общее назначение кнопки. Если выбрано значение Действие, то нажатие кнопки командной панели приводит к выполнению определенного
Глава 3. Объекты конфигурации 1-207 действия, указанного в свойстве Действие. Если выбрано значение тель, то кнопка представляет разделитель, единственной функцией которого является визуальное отделение одной логической группы кнопок от другой. Если выбрано Подменю, то кнопка представляет наименование группы кнопок, при нажатии которой происходит показ вложенного списка команд. Кнопка, имеющая тип Разделитель, не имеет других свойств. Кнопка командной панели, имеющая тип Действие, обладает следующими свойствами: • Доступность - определяет, будет ли доступной данная кнопка при открытии формы. Доступность может быть также установлена вами встроенного языка, если нет системных ограничений. • Действие - указывается конкретное действие, которое выполняется при нажатии на кнопку. Выбор действий производится из списка действий, которые предоставляют источники. • Пометка — если установлено, то при открытии формы кнопка будет изображаться в нажатом состоянии. Пометка может быть также лена средствами встроенного языка, если нет системных ограничений. Для кнопок с типом Действие и Подменю палитра свойств но содержит категорию свойств Представление, в которой описываются перечисленные ниже свойства. Кнопка по умолчанию - если для командной панели не установлено тво Вспомогательная, то любую кнопку, созданную разработчиком, можно назначить кнопкой по умолчанию. Для такой кнопки вьтолнение нажатия иозможно с помощью нажатия комбинации клавиш Ctrl + Enter. Если кнопка отображается в виде надписи, то для такой кнопки текст надписи будет выведен жирным шрифтом. Для кнопок, представленных картинками, нужно создавать специальные картинки, которые отличались (ii.i от картинок, предназначенных для аналогичных действий без установки данного свойства. Текст - текст элемента командной панели, который будет отображаться при соответствующем стиле отображения (см. описание свойства жение). Подсказка - текст краткой подсказки. Пояснение - текст пояснения, которое будет отображено в панели сос- юиния. Картинка - картинка элемента командной панели, которая будет отобра- «иться при соответствующем стиле отображения (см. описание свойства Отображение).
1 -208 1 С:Предприятие 8.1. Конфигурирование и администрирование Отображение - стиль отображения элемента командной панели. В тве можно явно указать, какое представление необходимо для кнопки, или выбрать режим Авто. Если для элемента указано только свойство Текст или только Картинка, то выбор свойства Отображение не имеет значения. Если для элемента определены свойства Текст и Картинка и выбран режим Авто, то показ определяется расположением кнопки. Когда кнопка ложена в подменю, то показывается и текст, и картинка, а когда кнопка расположена в меню - только картинка. Сочетание клавиш - указывается сочетание клавиш, которое ет быстро выполнить выбранное действие. Сочетание указывается путем непосредственного выполнения нажатия. Например, требуется указать сочетание Ctrl + F3. Для этого нажмите клавишу Ctrl и, не отпуская ее, те клавишу F3. Надпись Элемент управления Надпись предназначен для размещения в форме ных поясняющих надписей, а также ссылок (гиперссылок), когда свойство Гиперссылка установлено. В свойстве Данные может указываться источник данных для надписи. Если представление данных содержит символ &, то он показывается. Надпись может выводиться в режиме бегущей строки. Возможные ния: Не использовать, Очень медленно, Медленно, Нормально, Быстро, Очень быстро. Механизм ссылки позволяет организовать отработку нажатия надписи (по клавише Enter или мышью). По ссылке программа запускает процедуру, определенную в событии Нажатие категории События. Если надпись используется для вывода числовых значений, можно ить показ отрицательных чисел специальным цветом. Формат представления данных указывается в свойстве Формат (об вании конструктора форматной строки см. стр. 2-673). Надпись может содержать картинку. Положение картинки но основной части элемента управления задается в свойстве Положение картинки. Режим определения размера картинки в зависимости от размера элемента управления задается в свойстве Размер картинки. При нии режима бегущей строки картинка неподвижна.
Глава 3. Объекты конфигурации 1-209 Панель Элемент управления Панель предназначен для облегчения редактирования форм, динамически меняющих состав своих элементов в зависимости от действий пользователя. Свойства панели практически полностью совпадают со свойствами формы. При вставке элемента управления Панель в форму появляется элемент, содержащий одну закладку Страница 1. Страница — это воображаемая хность, параллельная плоскости формы, предназначенная для размещения других элементов управления. Панель может содержать несколько страниц. Элементы управления можно распределить по различным страницам панели для того, чтобы в зависимости от ситуации показывать на форме только нужные элементы, а остальные - скрывать. Свойство Отображение закладки определяет вариант отображения закладок. Выбирается не только граница, вдоль которой производится размещение закладки, но и ориентация текста закладки (для закладок, расположенных справа или слева). Управление страницами панели также производится средствами го языка. Переключатель Элементы управления Переключатель используют в тех случаях, когда ется выбрать (указать) только одно значение из небольшого числа возможных фиксированных вариантов (например, пол сотрудника «Мужской» или «Женский»). Поэтому такие элементы не размещают в одиночку. Для переключателей, относящихся к одной категории, существует понятие «группа», а элемент, который обычно располагается в форме первым, должен иметь установленное свойство Первый в группе. Первый элемент обозначен в группе цифрой 1, помещенной в кружок. Независимо от числа элементов типа Переключатель, входящих в группу, все они будут определять выбор •шачения только одного реквизита. Для первого элемента в группе можно выбрать реквизит формы, который хранит состояние переключателя, или использовать собственно реквизит Переключатель, который создается при размещении в форме. В этом случае такой реквизит имеет тип Число. Если в форме расположены несколько групп переключателей, то для каждой группы должен существовать элемент с установленным свойством Первый в группе. Если такие группы располагаются последовательно, то нужно указать, какие их них относятся к одной группе, а какие - к другой.
1-210 1С:Предприятие 8.1. Конфигурирование и администрирование Это делается с помощью механизма установки порядка обхода элементов в форме (см. стр. 1-177). Если при установке порядка обхода выбран элемент с установленным свойством Первый в группе, то все последующие ные элементы типа Переключатель будут относиться к этому элементу до появления элемента другого типа или другого элемента с установленным свойством Первый в группе. Для элемента с установленным свойством Первый в группе в свойстве Данные можно указать данные, которые используются для хранения ния. В этом случае тип переключателя определяется типом этих данных. Выбираемое значение - задает значение, которое будет присвоено связанной с группой переключателей переменной при выборе данного переключателя. Положение заголовка — устанавливается положение заголовка (слева или справа относительно поля редактирования элемента управления). Горизонтальное положение - выбирается выравнивание текста по тали. Вертикальное положение - выбирается выравнивание текста по вертикали. Если требуется обработать смену значения переключателя, то необходимо в свойстве При изменении указать процедуру-обработчик события. Несмотря на то, что обработчик события можно указать для любого элемента ния группы, при изменении состояния всегда будет вызываться обработчик события, назначенный элементу управления с установленным свойством Первый в группе. Поле HTML-документа Поле HTML-документа - элемент управления, предназначенный для визуального представления HTML-ресурсов. Также может использоваться для просмотра или редактирования информации. Режим использования выбирается в свойстве Режим. Если ся режим Просмотр, то для командной панели, для которой источником действий выступает данное поле с установленным свойством ние, будет определен набор кнопок навигации. Также возможно добавление кнопки Остановить. Для использования данное поле необходимо настроить (например, в дуре инициализации указать URL ресурса, разместить в форме командную панель, связанную с данным элементом, и т. д.). В категории События указываются наименования процедур-обработчиков событий, источником которых является поле HTML-документа.
Глава 3. Объекты конфигурации 1-211 Если используется режим Редактирование, то в режиме 1С:Предприятие в данном поле допускается редактирование HTML-документа. Поле ввода Элемент управления Поле ввода предназначен для ввода и редактирования информации. Поле ввода является одним из наиболее распространенных элементов управления. Оно используется для ввода значений твенно в поле, для выбора значений из списков и для выбора ссылок на различные объекты. Набор различных кнопок управления существенно расширяет сферу его применения. Поле ввода связано с объектом Реквизит формы, используемым для ния данных и имеющим различный тип данных. Выбор типа определяет способ редактирования. Категория свойств «Основные» В свойстве Данные указывается имя данных, используемых для хранения значений, редактируемых элементом управления. Для форм типообразу- ющих объектов данных (Справочник, Документ и т. д.) допускается выбор любого реквизита из списка, доступного для выбора. В этом случае тво Тип значения становится недоступным. В свойстве Тип значения указывается тип данных, используемых для ния значений, редактируемых элементом управления. В зависимости от выбранного типа данных могут появиться ные свойства, определяющие длину и точность для чисел, длину для строки, состав даты, а также формат представления чисел и дат. Если в поле ввода редактируются данные, имеющие составной тип, то кнопка выбора содержит символ «Т». В режиме 1С:Предприятие при нажатии кнопки выбора сначала выбирается тип, а затем конкретное значение. Если составной тип данных содержит неразрешенные типы (например, СправочникОбъект.<Имя справочника>), то такие типы ются Undefined. В режиме 1С:Предприятие при нажатии кнопки выбора такие типы не включаются в список типов для выбора. Свойство Многострочный режим определяет возможность ввода ного текста. Если свойство установлено, то становится доступным свойство Расширенное редактирование. При установленном свойстве в поле ввода позволяется вводить табуляции и выполнять поиск. Следует учитывать, что для данного режима недоступен переход к следующему элементу ния по клавише Tab. Свойство Состав даты определяет, какие составляющие даты можно вать: только дату, дату и время или только время.
1 -212 1С:Предприятие 8.1. Конфигурирование и администрирование Свойство Формат - если не производить настройку формата изображения, то формат будет выбран из региональных настроек информационной базы (о форматной строке, используемой по умолчанию, см. стр. 2-864). Форматную строку можно ввести вручную или с помощью конструктора форматной строки. При нажатии кнопки выбора на экран выводится окно настройки формата отображения. Закладки окна соответствуют типу данных, форматная строка которых формируется в окне. Элементы управления, с помощью которых выбирается формат ления, размещены на трех закладках по типам данных: число, дата и логические значения. Для числа выберите закладку Число. ¦MJMJ.IJ.JJ.IILJII.I,IJ.I.IJIH-Tl-t-F— О Язык (Страна) _«й Число I Дета Логическое значение 0 Длина Q [^Точность Г D Сдвиг Г" °Ш О Разделитель дробной части [_ 0 Разделитель групп Г B3 Группировка [ЗД О Представление нуля П Представление отрицательных чисел | П Выводить лидирующие нули -Пример ¦ ВЗ 987 654.321 |Ш| а* |-987 654.32: ЧЦ-12. Ч ДЦ-2; ЧРГ>: ЧМ.0 .".,?L~.-.11 Отмена | [ Справка В поле Длина (параметр ЧЦ) указывается общее число десятичных знаков (целой и дробной частей). В поле Точность (параметр ЧДЦ) указывается ло десятичных знаков дробной части. В поле Сдвиг (параметр ЧС) указывается сдвиг разрядов. Если ный, то производится деление числа на 10 в соответствующей степени, если отрицательный - умножение. В поле Разделитель дробной части (параметр ЧРД) задается символ лителя. В поле Разделитель групп (параметр ЧРГ) задается символ разделителя групп. Если в качестве разделителя использовать пустую строку, то лителем будет символ неразрывного пробела.
Глава 3. Объекты конфигурации 1-213 В поле Группировка (параметр ЧГ) выбирается вариант группировки цифр в целой части числа (см. стр. 2-864). В поле Представление нуля (параметр ЧН) выбирается вариант ния нулевого значения. Параметр можно использовать в форматной строке, для поля ввода он не используется. В поле Представление отрицательных чисел (параметр 40) выбирается вариант представления отрицательных чисел. Если флажок Выводить лидирующие нули (параметр ЧВН) установлен, то лидирующие нули выводятся. Результат выбора настройки можно посмотреть в разделе «Пример». В нижней части окна расположена область, в которую выводится форматная строка, соответствующая произведенному выбору настроек. Для настройки даты выберите закладку Дата. ГЛ Язык (Страна! | Число ГДагга! Логическое значение !7Ц»<у^пуД |ммм» П Локальный Формат даты I О Представление пустой даты Г .-Пример: — ¦ — |l1 200311 35-09|а|х| # J25.1i.03 ДФ-ddMM^y \ OK ji Отмена] \ Справка В поле Формат даты (параметр ДФ) выбирается вариант представления даты. В поле Локальный формат даты (параметр ДЛФ) выбирается локальный риант представления даты. Для поля ввода не допускается выбор значения параметра ДД (DD). В поле Представление пустой даты (параметр ДП) выбирается вариант представления пустой даты. Параметр можно использовать в форматной строке, для поля ввода он не используется. В
1-214 1С:Предприятие 8.1. Конфигурирование и администрирование Для данных типа Булево выберите закладку Логическое значение. [~| Язык (Страна) Число Дата | Логическое значение j 1 0 Представление логического значения ложь [Выключено fy*j Представление логического значения истина (Включено 10 IZZB т |БЛ=Выкяючено, БИ=Включено (l 0IC ^| | Отмена I \ Справка j Если какое-то значение не выбрано, то оно выбирается из настроек, устанав-* ливаемых по умолчанию. При нажатии кнопки ОК форматная строка заносится в свойство Формат. i Сформированная в окне форматная строка может быть изменена вручную. I Подробнее о параметрах форматной строки см. описание параметра Формат^ ная строка метода Формат() в описании встроенного языка. Если в качестве типа значения выбрано Список значений, то данный элемент» управления будет содержать значение, представляющее собой список значе-ij ний. Если выбран элемент формы Поле ввода или Поле выбора, то в ру свойств добавляется свойство Тип зн. списка, в котором указывается, какие типы данных будут жаться в списке значений. В режиме 1С:Предприятие при вводе данных в поле ввода на экран ся окно редактирования списка. ж Монигср17'РЫр 107520 Николаев *4* Сфока Ц Дата ^] Булево Контрагенты Номене-лагеди Склады
Глава 3. Объекты конфигурации 1-215 Если тип значения списка составной, то при вводе нового значения ся диалог выбора типа данных, как показано на рисунке. Сформированный список значений хранится в реквизите, связанном с данным полем ввода. Для настройки режимов ввода или выбора значений в поле ввода, в рии свойств Использование, производится выбор кнопок. Возможный состав зависит от типа данных. Категория свойств «Использование» В категории определяется набор кнопок элемента. Автоотметка незаполненного - если установлено, то в режиме 1С:Предприя- тие незаполненные поля ввода будут иметь подчеркивание в виде тонкой инии красного цвета. Рекомендуется устанавливать для реквизитов формы, заполнение которых обязательно. Автовыбор незаполненного - если свойство установлено, то при нии курсора в поле ввода выбор значения будет производиться по нажатии клавиши Enter, или форма выбора будет открываться сразу при активизации (в зависимости от значения свойства Режим выбора незаполненного). Режим выбора из списка - в некоторых случаях бывает полезным давать возможность использовать поле ввода как поле выбора. Для этих целей следует установить данное свойство. В этом случае тип значения поля ввода автоматически меняется на Произвольный. В режиме 1С:Предприятие выбор значения производится как из поля выбора. Значения для выбора должны быть предварительно сформированы. Быстрый выбор - если установлено, то для данных, имеющих ный тип (например, СправочникСсылка, ПланВидовХарактеристикСсылка, ПланСчетовСсылка, ПланВидовРасчетовСсылка), выбор будет выполняться из выпадающего списка, независимо от значения свойства Способ выбора для форм ссылочного типа. Выбор групп и элементов - свойство доступно только для поля ввода типа СправочникСсылка и ПланВидовХарактеристикСсылка. Определяется выбор •элементов, групп или групп и элементов. При создании формы с помощью конструктора форм, а также в случае использования формы, мой программой по умолчанию (в конфигураторе форма не определена), установлено значение Элементы. Если в свойстве Тип значения выбран не примитивный тип (Число, Строка), а объект конфигурации (например. СправочникСсылка.Номенклатура), то в кате- i орию свойств Использование добавляются два свойства: • Форма выбора - свойство позволяет выбрать форму, которая будет использоваться для выбора.
1-216 1 С:Предприятие 8.1. Конфигурирование и администрирование • Связь по типу - устанавливает связь с элементом управления, который будет «поставлять» тип для данного элемента. Имеет смысл задавать свойство для данных, имеющих составные типы. Желательно, чтобы тип данных элемента был подмножеством составного типа элемента, являющегося поставщиком типа. Например, в форме есть два поля ввода - ПолеВвода1 и ПолеВвода2. У поля ПолеВвода1 тип ПланВидовХарактеристик..., тип значения характеристики которого СправочникСсылка.ЗначенияДопСвойств, СправочникСсылка.Контра- генты, СправочникСсылка.Конкуренты, Число, Строка, Дата. У поля ПолеВвода2 составной тип, набор которого повторяет тип значения характеристики. При выборе связи на закладке Данные следует выбрать ПолеВвода1. В режиме 1С:Предприятие при выборе вида характеристики типа Число поле По- леВвода1 поставляет для поля ПолеВвода2 свой тип. При начале ввода данных (в случае когда поле ПолеВвода2 не содержит данных этого типа) на экран выводится диалог выбора типа с единственной строкой Число, после выбора которой в поле ПолеВвода2 могут вводиться данные только этого типа вплоть до смены вида характеристики в поле ПолеВвода1. Если (в случае несовпадения типов данных) в режиме 1С:Предприятие в поле ПолеВводаЧ, выбрана характеристика, чей тип отсутствует в описании типа поля ПолеВвода2, то диалог выбора типа будет содержать все ные для поля ПолеВвода2 типы. Связь по владельцу- элемент формы, который поставляет значение ца, и событие, по которому оно будет обновляться. Сочетание клавиш - определяет комбинацию клавиш, по которой может производиться активизация поля. Категория свойств «Характеристики» Выбирать тип - для данных, имеющих составной тип. Показьюает, будет ли запрашиваться тип при нажатии на кнопку выбора. Если не установлено, то будет предоставляться выбор значения такого типа, значение которого присвоено полю ввода в момент выбора. Режим выбора незаполненного - если установлено свойство Автовыбор незаполненного, то при значении При нажатии Enter форма выбора (для непримитивных типов) будет открываться по нажатии клавиши Enter в поле ввода. При значении При активизации форма выбора (для непримитивных типов) будет открываться автоматически при активизации поля ввода. Только просмотр - полностью запрещает изменение значения (и ванием текста, и кнопками). Редактирование текста — доступно или нет редактирование текста в поле ввода (не влияет на использование кнопок).
Глава 3. Объекты конфигурации 1-217 Автоперенос строк - разрешен или нет автоматический перенос строк. Выделять отрицательные - выводить отрицательные числа специальным цветом или нет (если выбран числовой тип). Фикс, длина дробной части - в дробной части числа всегда будут вьшодиться все разряды (в противном случае незначащие нули вводиться не будут). Вертикальное положение - определяет выравнивание текста по вертикали. Горизонтальное положение - определяет выравнивание текста по тали. Категория свойств «Оформление» Картинка - выбор изображения картинки, располагающейся в поле ввода. Картинка кнопки выбора - картинка, которая будет отображаться на кнопке выбора. Высота списка выбора - высота списка выбора в строках (если не указана, то выбирается автоматически). Доступно, если установлено свойство Быстрый выбор. Ширина списка выбора - ширина списка выбора в так называемых средних символах шрифта, который используется в поле ввода (если не указана, то выбирается автоматически). Доступно, если установлено свойство Быстрый выбор. Поле выбора Элемент управления Поле ^ВШШШШШШШШЕШ к' ' и выбора предназначен для организации выбора значения из списка значений, ного заранее в свойстве Строки списка выбора палитры свойств или сформированного в модуле формы. Формирование списка значений средствами ратора производится в форме. При добавлении новой строки на экран выводится диалог выбора типа. После выбора типа вводится значение и ние данного значения. **%* 1 ложь 2 истина 1 (радетавяение Отсутствует В наличии ОДПустс ' ишшш1 я ^шяшшшшшшшш *Ц Строка Щ Дата ^Ь Булево 1 , .<* , | f Отмена j D
1-218 1С:Предприятие 8.1. Конфигурирование и администрирование Для поля можно указать использование различных кнопок для работы со значением, располагаемым в поле выбора (выбор, очистка, регулирование и открытие объекта). Поле географической схемы Элемент управления Поле географической схемы предназначен для ния в форме географической схемы. Настройки географической схемырассмотрены в книге «1 С:Предприятие 8.1. Руководство пользователя», в приложении 5 «Редактор географической схемы». Поле графической схемы Элемент управления Поле графической схемы предназначен для размещения в форме структурных схем, бизнес-схем, схем потоков данных, схем действия объектов. Настройки графической схемы рассмотрены в книге «1С:Предприятие 8.1. Руководство пользователя», в приложении 4 «Редактор графической схемы». Поле картинки Элемент управления Поле картинки предназначен для размещения в форме различных картинок. Механизм ссылок позволяет связать с полем картинки некоторые действия, выполняемые при нажатии на нее. Для размещения в поле нужного изображения в свойстве Картинка ется картинка. Свойство Размер картинки определяет размер картинки в зависимости от размера элемента управления. Для картинки можно установить свойство Гиперссылка. В этом случае элемент управления может использоваться для вызова других режимов. Допускается использование «анимированных» типов картинок. Если изображение не помещается в поле картинки и если свойство ровать установлено, то в поле картинки показываются линейки прокрутки. Если требуется отображать при нажатии правой клавиши мыши тное меню с командами масштабирования и копирования изображения, то необходимо установить свойство Использовать контекстное меню. Разрешить начало перетаскивания - разрешает перетаскивание данных из данного элемента управления. Разрешить перетаскивание - разрешает перетаскивание данных в данный элемент управления.
Глава 3. Объекты конфигурации 1-219 Подробнее о механизме перетаскивания см. описание объекта Парамет- рыПеретаскивания раздела «Интерфейсные объекты» справки по встроенному языку. Поле списка Элемент управления Поле списка предназначен для визуализации объекта данных типа СписокЗначений. Все действия по управлению списком значег ний (добавление значения в список, удаление значения из списка, сортировка списка и другие) выполняются только средствами встроенного языка. Настройки поля списка позволяют установить отображение картинок и пометок в колонке. Поле табличного документа Информацию по элементу управления Поле табличного документа см. на стр. 2-742. Разрешить начало перетаскивания - разрешает перетаскивание данных из данного элемента управления. Разрешить перетаскивание - разрешает перетаскивание данных в данный элемент управления. Подробнее о механизме перетаскивания см. описание объекта ПараметрыПере- таскивания в разделе «Интерфейсные объекты» справки по встроенному языку. Поле текстового документа Элемент управления Поле текстового документа предназначен для ния текстового редактора в разрабатьюаемой форме. Элементы этого типа не связываются с объектами конфигурации. Содержимое формируется и сохраняется только из модуля формы. Категория свойств «Оформление» Рамка - тип рамки, отображаемой вокруг элемента управления. Цвет рамки - выбор цвета рамки. Категория свойств «Характеристики» Только просмотр - включает и отключает запрет на любые изменения. Расширение - используемое расширение редактора. Возможные ния: Не указано, Язык запросов, Встроенный язык, Текстовый макет, HTML. В зависимости от выбранного расширения будет автоматически выбираться режим текстового редактора для данного поля.
1 -220 1С:Предприятие 8.1. Конфигурирование и администрирование Полоса регулирования Элемент управления Полоса регулирования предназначен для быстрого и наглядного ввода значений типа Число. По внешнему виду он напоминает обычный линейный регулятор, у которого введенное значение ся положением «бегунка» и значениями минимума (левой/нижней границы) и максимума (правой/верхней границы). Перемещение «бегунка» можно производить клавишами управления ром, но удобнее с помощью указателя мыши. Шаг перемещения «бегунка» настраивается. Дополнительно устанавливается отображение и шаг жения разметки, а также ориентация элемента управления. Разделитель Специальный элемент управления Разделитель предназначен для зации и управления областями формы. В режиме 1С:Предприятие (если для элементов управления типа Разделитель установлены свойства Доступность и Видимость) с помощью разделителей производится перераспределение области формы (см. стр. 2-695). Разделитель можно «захватывать» мышью и перемещать в пределах формы с учетом возможности расположения других элементов управления и тации разделителя. При этом все элементы управления, привязанные к разделителю, будут изменять свои размеры или перемещаться в соответствии с установленными привязками. Размеры формы при этом не изменяются. Это позволяет использовать разделители для перераспределения тва формы без изменения ее размеров. Перемещение разделителя возможно, только если он не «упирается» в неперемещаемый элемент управления или перемещаемые им элементы имеют возможность перемещаться. Если требуется, чтобы с помощью разделителя можно было управлять перераспределением областей формы, рекомендуется установить тва Видимость и Доступность, а в свойстве Рамка выбрать Нет рамки. В этом случае в режиме просмотра, при подведении указателя мыши к телю, форма указателя принимает вид «» или Ф, и положение разделителя может быть изменено. Чтобы разделитель был виден, можно использовать установку цвета фона, немного отличающегося от цвета фона формы. Элементы управления этого типа не имеют свойства Тип данных и не ваются ни с какими другими объектами конфигурации. Рамка группы Элемент управления Рамка группы предназначен для оформления формы. С его помощью производится визуальное объединение нескольких элементов управления, относящихся к определенной смысловой группе элементов.
Глава 3. Объекты конфигурации 1-221 Для рамки можно установить заголовок и рамку. Только для элемента ния Рамка группы возможен выбор режима вывода скругленной рамки. Сводная диаграмма Сводные диаграммы - универсальный механизм представления и тивного анализа многомерных данных, полученных как результаты запросов, в графическом виде. Как и другие виды диаграмм, сводные диаграммы могут размещаться как в табличном документе, так и в форме. Для использования сводных диаграмм необходимо: • Сформировать запросы (см. стр. 2-644). • Разместить нужное число сводных диаграмм в табличном документе или форме. • Установить связь результатов запросов со сводными диаграммами. Размещение сводной диаграммы в табличном документе Для размещения сводной диаграммы в табличном документе выберите пункт Таблица - Рисунки - Сводная диаграмма и укажите прямоугольную область для размещения. Каждая сводная диаграмма, размещенная в табличном документе, имеет имя. При создании сводной диаграммы ей по правилам имен ся имя по умолчанию. Имя можно изменить в палитре свойств. Для этого выберите сводную диаграмму и в палитре свойств выберите вид объекта. Состав свойств сводной таблицы Как и другие виды диаграмм, сводная диаграмма состоит из нескольких областей—области заголовка, области легенды, области построения и тей полей. Все области принадлежат собственно диаграмме. Большинство свойств сводной диаграммы и ее областей совпадают с аналогичными твами обычной диаграммы. Описание основных свойств, характерных для сводной диаграммы, см. в параграфе «Сводная диаграмма» раздела «Интерфейсные объекты» справки но встроенному языку. Источники данных В качестве источника данных сводной диаграммы могут выступать Резуль- татЗапроса или ПостроительОтчета.
1:222 1 С.Предприятие 8.1. Конфигурирование и администрирование Табличное поле Элемент управления Табличное поле предназначен для ввода и ления информации в окне для связанных с табличным полем данных различного типа. Установка связи табличного поля с данными может производиться в ре свойств конфигуратора (свойство Данные) или средствами встроенного языка модуля формы (реквизит объекта или переменная модуля), см. ние свойства Значение объекта ТабличноеПоле, а также пример для объекта ТаблицаЗначений справки по встроенному языку. Элемент управления Табличное поле состоит из собственно табличного поля, шапки, подвала и ячеек. Каждую часть элемента можно настраивать. После создания (размещения в форме) табличное поле нужно вать и настроить его внешний вид. Свойства табличного поля можно разделить на две группы. В первую группу входят свойства табличного поля в целом как элемента. Вторую группу свойств табличного поля образуют свойства его составных частей. Настройка табличного поля Задача настройки состоит в определении формата, специфического для каждой из частей, размера и расположения. Для редактирования этих свойств табличного поля используется панель свойств, которую можно вызвать, выбрав пункт Правка - Свойства. Если требуется выделить одну из составляющих частей элемента, после выбора элемента управления Табличное поле просто щелкните эту область мышью. После этого с помощью палитры свойств можно настроить ние каждой составляющей элемента. Для просмотра свойств самого элемента управления достаточно указателем мыши щелкнуть рамку элемента. Другие приемы описаны на стр. 1-55. Свойства табличного поля Категория свойств «Основные» Данные - имя данных, используемых для хранения значений, мых элементом управления. Рассмотрим пример создания формы списка справочника Сотрудники, для которого определена табличная часть Члены семьи, состоящая из тов ФИО (члена семьи), Степень родства, Возраст и Образование. Табличную часть требуется также разместить в форме списка. -J
Глава 3. Объекты конфигурации 1 -223 С помощью конструктора форм создадим форму списка справочника. [Дйииа^^^^и, ЩЪЪ ЙС Коп Сотрадник Должность -. Поместим табличное поле для вывода данных о составе семьи сотрудника и присвоим ему имя ЧленыСемьиСотрудника. ч *iia + AIR5JL5' 8 Код Сструаник Должность ни ... .... i<a-Q N ФИО СтеленьРодства Ьозраст tW ... i ш Для табличного поля ЧленыСемьиСотрудника в палитре свойств свойства Данные укажем связь с табличной частью ЧленыСемьи, как показано на рисунке. В СправочникСписок В-ЗяементыФормы ЁЬ Список j ВТ е ущие Данные Ш ЧяеныСемьиСотрщмика I ок | Отмена j Помощь [ ! L После нажатия кнопки ОК окна выбора данных табличное поле будет держать колонки, соответствующие реквизитам табличной части. Добавим командную панель для управления списком табличной части и установим для нее свойство Заполнять автоматически.
1 -224 1 С:Предприятие 8.1. Конфигурирование и администрирование Тип значения - тип данных, используемых для хранения данных, мых элементом управления. При ручном размещении тип данных назначается (по умолчанию) ТаблицаЗначений. Если в данных выбран основной реквизит, то выбор типа данных будет недоступен. При этом состав свойств та управления может быть различным. При выборе объекта конфигурации в таблицу автоматически вставляются колонки, соответствующие реквизитам объекта конфигурации. Состав свойств табличного поля также может ся (определяется свойствами объекта конфигурации). Тип значений может быть следующим: ТаблицаЗначений, ДеревоЗначений, СписокЗначений, различные списки прикладных объектов (справочников и их табличных частей, документов и их табличных частей, регистров, критериев отборов), а также КоллекцияПолей, Отбор и Порядок. Для типа данных ДеревоЗначений табличное поле может быть вано. В режиме показа иерархического списка сортировка выполняется в пределах текущей группы. Когда иерархический просмотр отключен, сортировка выполняется по всему дереву значений. Авто контекстное меню - если установлено, то для данного табличного поля доступно контекстное меню, состав которого определяется свойством Тип значения и назначением формы. Если свойство Авто контекстное меню не установлено, то становится ным свойство Контекстное меню, в котором выбирается источник команд для состава меню. Категория свойств «Использование» Только просмотр - если данное свойство установлено, запрещено изменение значения (и редактированием текста, и кнопками). Изменять состав строк - если не установлено, то в командную панель, для которой источником является данное табличное поле, не вставляются, а также не обрабатываются команды добавления и удаления строк.
Глава 3. Объекты конфигурации 1 -225 Разрешить начало перетаскивания — разрешает перетаскивание данных из данного элемента управления. Разрешить перетаскивание - разрешает перетаскивание данных в данный элемент управления. Подробнее о механизме перетаскивания см. описание объекта Парамет- рыПеретаскивания раздела «Интерфейсные объекты» справки по встроенному языку. Изменять настройку колонок - разрешить/запретить изменение настройки колонок. Если свойство установлено, то вызов настройки колонок телем в режиме 1С:Предприятие разрешен. Изменять позицию колонок - разрешить/запретить изменение ния колонок в табличном поле. Если свойство установлено, то изменение положения колонок пользователем в режиме 1С:Предприятие разрешено. Вывод - разрешить/запретить вывод информации на печать, сохранение в файл, копирование в буфер обмена. Дерево - свойство появляется только для иерархических объектов. Если данное свойство установлено, то табличное поле предназначается для показа иерархической структуры и может содержать средства ления иерархическими списками (для колонки в категории Характеристики следует установить свойство Отображать иерархию). Поведение ческого списка при открытии задается в свойстве Нач. отображение дерева категории Характеристики. Если свойство Дерево не установлено (например, табличное поле значается для показа списка элементов), то палитра свойств содержит три дополнительных свойства: • Иерархический просмотр - если свойство установлено, то список элементов будет показываться по родителям; иначе - целиком. • Изменять иерархический просмотр - если свойство установлено, то пользователь может менять режим иерархического просмотра справочника. • Изменять текущего родителя — если свойство установлено, то текущий родитель может быть изменен интерактивно. Если свойство не лено, то пользователь не может стандартными способами изменить просмотр элементов текущей группы. В этом случае просмотр элементов других групп возможен только при отключенном режиме интерактивного просмотра.
1 r226 1 С:Предприятие 8.1. Конфигурирование и администрирование Если свойство Изменять текущего родителя установлено, то с помощью конфигуратора можно настроить поведение списка справочника при активном выборе группы в элементе управления Дерево (подробнее см. описание свойства Связь по родителю). Важно! Для установки интерактивного выбора или смены строки в элементе управления Дерево необходимо, чтобы свойство Изменять текущего родителя было установлено. Режим просмотра иерархического списка задается перечисленными ниже свойствами. Просмотр групп и элементов - производится выбор варианта показа: будут показываться только группы, только элементы или и те, и другие. Изменять способ редактирования — свойство присутствует, если выбран режим редактирования Обоими способами (т. е. в форме и в списке). Если свойство Изменять способ редактирования установлено, то для лей разрешено выбирать способ редактирования - в отдельной форме или в списке. В режиме 1С:Предприятие в список команд добавляется пункт Редактировать в диалоге, который представляет собой переключатель. При «нажатом» состоянии пункта редактирование производится в диалоге, при «отжатом» — в списке. Разрешить настройку периода - если установлено, то команда Установить интервал дат будет доступна даже в том случае, если запрещен ный отбор по дате (только для динамических списков документов, журналов документов, регистров, бизнес-процессов и задач). Проверка отображения новой строки - если для свойства установлено ние Сообщать о несоответствии отбору, то в режиме 1С:Предприятие при окончании ввода новой строки будет осуществлена проверка соответствия введенной строки отбору, и, если строка не соответствует, будет вьщано соответствующее сообщение. Связь по родителю - элемент формы, который поставляет текущего ля, и событие, по которому оно будет обновляться. Свойство показывается, если не установлено свойство Дерево. Связь по текущему элементу - элемент формы, который поставляет значение текущего элемента, и событие, по которому оно будет обновляться. тво имеет смысл использовать, если установлено свойство Дерево. Рассмотрим настройку поведения списка справочника более подробно. Предположим, что в табличном поле (справа) требуется отображать элементы, относящиеся к выбранной в элементе управления СправочникДерево (на рисунке - слева) группе.
Глава 3. Объекты конфигурации 1-227 Действия- ^iff^-gL'Ssl'^l.lfPIIIl Ъ~% Перейти- Q Наименование И- № ^=J—, :—Ш к. ¦ Наименование диница. измер Закчпочная цена | м Отображение должно производиться при активизации строки дерева. Настройка осуществляется в свойстве Связь по родителю. Нажмем кнопку выбора в этом поле свойства. На экран выводится окно Выбор связи. На закладке События выберем событие СправочникДерево.ПриАктивизацииСтроки. Благодаря этой настройке табличное поле будет показывать те элементы ника, которые относятся к текущей строке дерева. При этом список ляется при смене строки в элементе СправочникДерево. Если выбрать событие СправочникДерево.Выбор, то при переходе по строкам в элементе во состав списка элементов справочника меняться не будет. Для смены ся выбрать группу (указать ее в списке элемента СправочникДерево и нажать клавишу Enter). Если требуется, чтобы выбор группы производился по значению реквизита, размещенного в форме, следует нить следующие настройки. В форму нужно поместить поле ввода (имя НоменклатураГруппа), указать ему тип данных СправочникСсылка.Номенклатура. В свойстве Связь по родителю элемента СправочникДерево установить связь по данным НоменклатураГруппа, как но на рисунке. I м Данные | События [_ рОбработкаАктивизацииОбъекта Б-СправочникДерево -Выбор i Справка Я Данные События 0~СпрзвочникСписок ЕЬСправочникДерево Ш-ЭлементыФормы Г РК ""] ["^тмёнй^З |~~Сп^ака
1 -228 1 С:Предприятие 8.1. Конфигурирование и администрирование В свойстве Выбор групп и элементов для элемента управления Номенк- латураГруппа нужно указать Группы. Если при этом установлена связь табличного поля с элементом СправочникДерево по событию Дерево.ПриАк- тивизацииСтроки, то в режиме 1С:Предприятие при выборе значения группы НоменклатураГруппа в элементе СправочникДерево программой будет зирована строка с группой, а в табличном поле будут показаны элементы справочника, относящиеся к данной группе. Замечание. У табличных полей, отображающих списки справочника или планов видов характеристик, связь по текущему элементу будет также отрабатываться табличным полем, отображаемым в виде списка. Категория свойств «Характеристики» Свойства этой категории позволяют настроить режим ввода строк. ляется, где будет создаваться новая строка (в конце списка, в конце окна, после или перед текущей строкой); задается режим выделения (множественный или одиночный); задается показ шапки и подвала; вается высота шапки и подвала; указывается вариант вывода горизонтальной и вертикальной линеек прокрутки; устанавливается количество ванных колонок и строк (при прокрутке указанное число колонок или строк не будет прокручиваться); устанавливается начальное отображение списка при открытии (переход в начало или конец списка) и начальное поведение дерева при открытии формы и другие свойства. Режим выделения - режим выделения строк (одиночный или ный). Множественное выделение строк выполняется стандартными для Microsoft Windows приемами. Для выделенных объектов возможно нение различных действий (например, удаление или установка/снятие пометки удаления, перенос элементов (для иерархических справочников) из одной группы в другую). Для табличного поля, связанного с объектом, имеющим иерархическую структуру (иерархический справочник), в палитре свойств появляются свойства для настройки работы с такими объектами. Авто ввод новой строки — если установлено, то после завершения го) ввода новой строки автоматически начинается ввод следующей. Нач. отображение списка - определяет вариант перехода на строку (начало или конец) связанного с табличным полем списка или набором данных при открытии.
Глава 3. Объекты конфигурации 1 -229 Категория свойств «Оформление» Свойства этой категории позволяют настроить оформление табличного поля: выбрать цвет фона и текста поля; тип рамки, отображаемой вокруг элемента управления; определить шрифт, которым будут выводиться данные; ление строк, шапки, подвала и другие параметры. Смысл устанавливаемых свойств понятен из их названия. Добавление, размещение и удаление колонок Табличное поле состоит из колонок и строк. Число строк определяется числом данных, а число колонок, их заголовки, расположение, оформление и другие свойства обычно определяются на этапе разработки конфигурации. При использовании конструктора форм (см. стр. 2-660) элементы ния типа Табличное поле размещаются в форме автоматически и содержат указанные в конструкторе колонки. Если табличное поле размещается в форме вручную или требуется добавить к имеющемуся новые колонки, то в контекстном меню табличного поля выберите пункт Добавить колонку. В результате будет вставлена новая ка. Ей будет присвоено имя и текст шапки по умолчанию, состоящий из строки Колонка и числа, обозначающего порядковый номер колонки в ваемом табличном поле. Текст шапки можно изменить. Чтобы связать колонку с данными в свойстве Данные, выберите требуемый реквизит. Допускается копирование колонки с помощью буфера обмена. При вставке колонки значение свойства Данные не переносится. Для удаления колонки выберите ее и в контекстном меню выберите пункт Удалить колонку. Новые колонки размещаются в табличном поле справа. Они имеют ширину, устанавливаемую по умолчанию. Чтобы переместить колонку на другое место, выберите ее (щелкните по шапке колонки мышью), в шапке ки нажмите левую кнопку мыши и, не отпуская ее, переместите на новое место. При перемещении новая позиция колонки будет показываться парой красных маркеров в виде стрелок - место установки выбранной колонки. Если отпустить кнопку мыши, колонка устанавливается на новое место. Если в процессе перетаскивания достигнут край видимой области колонок (вне этой области есть еще колонки), то при продолжении перетаскивания осуществляется динамическая прокрутка видимых колонок. Если в табличное поле вставлено больше колонок, чем может быть показано в окне элемента, для доступа к нужной колонке воспользуйтесь тальной линейкой прокрутки, расположенной в табличном поле. Если свойство Подвал установлено, то вместе с колонкой перемещается и подвал, относящийся к этой колонке.
1 -230 1 С:Предприятие 8.1. Конфигурирование и администрирование Ширину колонки можно установить с помощью мыши. Для этого те указатель мыши к правой границе колонки. Он примет вид Ф. Потяните аницу влево или вправо. При изменении размеров выбранной колонки зменяется размер колонок, расположенных справа. Если при изменении ширины колонки нажать клавишу Ctrl, то будет изменяться ширина только данной колонки. Для выделенной колонки в категории свойств ние, в свойстве Ширина, также можно задать ширину колонки. Она задается в пикселях. Если в табличное поле требуется добавить новую колонку, ную для нового реквизита, то это можно также сделать с помощью пункта Форма - Размещение данных. При размещении колонки ее свойства ляются свойствами реквизита. Свойства колонок Если выделить колонку (щелкнуть указателем мыши в области шапки ки), станет доступна палитра свойств указанной колонки. В палитре свойств задается текст шапки и расположение колонки, тип данных, их ние, выбирается оформление. Некоторые свойства можно устанавливать для группы колонок тельно нужно выделить группу колонок). Выделенные колонки можно удалить. Категория свойств «Основные» Имя - имя элемента управления, по которому будет выполняться обращение к колонке в алгоритме модуля. Данные - содержит имя переменной, связанной с колонкой. Для элементов управления, редактирующих данные, изменение значения в элементе ления автоматически влечет изменение значения связанной переменной. Для элементов управления, в которых не осуществляется редактирование, позволяет связать элемент управления и данные для удобства работы. Если табличное поле представляет список, то категория содержит тво Элемент управления - выбирается элемент управления, который будет использован в качестве редактора значения ячейки в данной колонке ного поля (можно выбрать поле ввода, поле выбора, флажок). Тип значения - тип данных, используемых для хранения значений, емых элементом управления. Если табличное поле имеет тип Табл ицаЗначений или ДеревоЗначений, то свойство Тип значения доступно. Выбор ется из примитивных типов данных и из прикладных типов данных. При выборе примитивных типов могут дополнительно выводиться реквизиты панели свойств, относящиеся к выбранному типу (для типа Строка ется дополнительно указать ее размер, для типа Дата - режим ввода даты: голько дату, дату и время или только время и т. д.).
Глава 3. Объекты конфигурации 1-231 Данные флажка - содержит имя колонки дерева значений, значения которой необходимо отображать и редактировать во флажке ячейки табличного поля. Данные картинки — содержит имя колонки дерева значений, из которой ет брать картинку для отображения в колонке табличного поля (подробнее см. справку по встроенному языку). Доступность - если установлено, то данная колонка доступна. Видимость - если установлено, то данная колонка выводится при работе. Если свойство не установлено, колонка показывается заштрихованной. В режиме 1С:Предприятие при первом открытии формы такие колонки не видны, но пользователь может управлять их показом с помощью диалога Настройка списка (если вызов настройки предусмотрен при вании). Только просмотр - если установлено, то полностью запрещает изменение значения (любым способом). Текст шапки — указывается текст шапки (заголовок колонки). Текст подвала — указывается текст подвала. ГиперСсылка - данная колонка может использоваться как гиперссылка. В режиме 1С:Предприятие щелчок мыши по ячейке данной колонки будет Эквивалентен нажатию на клавишу Enter. Категория свойств «Характеристики» Положение - выбирается положение колонки. Возможные значения: Новая колонка, На следующей строке, В той же колонке. Если выбрано Новая колонка, то текущая колонка (Колонка2) будет располагаться следующим образом. Если выбрано На следующей строке, то текущая колонка (Колонка2) будет располагаться следующим образом. I I Котика! ¦ ¦ КолонкаЗ .. ч . , .
1-232 1 С:Предприятие 8.1. Конфигурирование и администрирование Если выбрано В той же колонке, то текущая колонка (КолонкаЗ) будет лагаться следующим образом. Если требуется расположить колонки как на рисунке ниже, то в свойствах Положение колонки Колонка2 нужно указать В той же колонке, для колонки КолонкаЗ - На следующей строке. Кояонка1 |Кояонка2 КолонкаЗ L Г ад "ТИГ^Я! 1 1.МЧЯ*» IW U  1 . Щ Подсказка в шапке — текст подсказки в шапке. Горизонт, положение в шапке — выбирается положение текста в шапке колонки. Горизонтальное положение — выбирается положение текста в области данных. При выборе значения Автоматически программа будет производить выравнивание исходя из типа данных (строки выравниваются влево, а ла—вправо). Горизонт, положение в подвале - выбирается положение текста в подвале колонки. Режим редактирования - режим редактирования значения. Режим тирования Непосредственно предназначен для того, чтобы не нужно было нажимать Enter и использовать двойной клик для перехода в режим тирования. Если выбрано значение Вход, то для начала редактирования необходимо нажать клавишу Enter. Если выбрано значение Вход при вводе, то при начале набора значения ячейка сразу переходит в режим редактирования (если для ввода предусмотрена отдельная форма, то открывается эта форма). Активизировать по умолчанию - если установлено, то данная колонка будет автоматически выделяться при активизации табличного поля. Изменение размера колонки - разрешить/запретить изменение размера колонки.
Глава 3. Объекты конфигурации 1-233 Изменение видимости - разрешает или запрещает изменять видимость колонки. Пропускать при вводе - при вводе значения в предшествующей колонке данная колонка будет пропущена при переходе. Формат - формат отображения содержимого ячейки. Высота ячейки - устанавливает фиксированную высоту ячейки (в строках). Автовысота ячейки - если установлено, производится автоматическое ление высоты ячеек колонки в пределах установленного в свойстве Высота ячейки значения. Изменять настройку - разрешить/запретить изменение настройки. Если свойство установлено, то настройка колонки пользователем в режиме 1С:Предприятие разрешена. Изменять позицию - разрешить/запретить изменение положения колонки в табличном поле. Если свойство установлено, то изменение позиции ки пользователем в режиме 1С:Предприятие разрешено. Свойства ячеек Ячейки табличного поля располагаются под колонками так, как показано на рисунке. шшш ffldZZZ? . Ячейка относится к той колонке, под которой она расположена. Выбор ячейки осуществляется с помощью щелчка мышью в предполагаемое место ячейки. При выборе ячейки подсвечивается колонка, к которой относится ячейка. Допускается выделение группы ячеек. Для группы ячеек можно вать отдельные свойства. Категория свойств «Основные» Доступность - если свойство установлено, то все ячейки данной колонки будут доступны. В зависимости от типа данных колонки может содержать свойства, ющие данные (например, для чисел - формат, минимальное и максимальное значение). I I
1 -234 1 С:Предприятие 8.1. Конфигурирование и администрирование Категория свойств «Использование» Категория свойств показывается в палитре свойств, если табличное поле связано с объектом конфигурации. Свойства данной категории устаналлилают использование кнопок списка, выбора, очистки, регулирования и открытия. Режим выбора из списка—если свойство установлено, то ячейка ввода ет как поле выбора и может хранить одно из значений произвольного типа, имеющихся в списке. Категория свойств «Характеристики» Выбирать тип - если значение в данном элементе управления может мать разные типы, то установленное свойство разрешает выбор типа пользователем. Только просмотр - если свойство установлено, то полностью запрещается изменение значения (любым способом). Редактирование текста - если свойство установлено, то устанавливается доступность редактирования текста в поле ввода (не влияет на ние кнопок). Авто перенос строк — устанавливает, разрешен или нет автоматический перенос строк (доступен для строковых типов значений). Фиксированная длина дробной части — если свойство установлено, то в дробной части числа всегда будут выводиться все разряды (в противном случае незначащие нули вводиться не будут). Доступно для числовых типов значений. Вертикальное положение - выбирается способ выравнивания текста по кали (возможные значения: прижать вверх, центрировать, прижать вниз). Горизонтальное положение — выбирается способ выравнивания текста по горизонтали (возможные значения: прижать влево, центрировать, прижать вправо, автоматически; в последнем случае выравнивание выбирается по типу данных — для строковых выравнивается влево, для числовых — вправо). Автоотметка незаполн. значений — если свойство установлено, то чески будут отмечаться незаполненные (пустые) значения. Флажок Элемент управления Флажок может принимать два состояния (включен, выключен) или три (включен, выключен, не определено). Флажок предназначен для выбора одного значения. От количества состояний флажка зависит тип связанного с флажком значения: флажок со значени-
Глава 3. Объекты конфигурации 1 -235 ем типа Булево может иметь только два состояния (установлен, снят), со значением типа Число может иметь три состояния (установлен, снят, не определено). Переключение состояния флажка осуществляется клавишей пробел или левой кнопкой мыши. Для флажка с двумя состояниями также ется переключение клавишами «+» и «-». Реквизиты документов и справочников типа Число и Булево можно связать с элементом управления типа Флажок через свойство Имя. Категория свойств «Основные» Заголовок - текст надписи элемента управления. Три состояния — свойство доступно для числового типа данных. Если не установлено, то флажок может принимать два состояния (включен, выключен), если установлено, то три (включен, выключен, не определено). Для типа Булево подразумевается, что флажок может принимать только два значения. Категория свойств «Характеристики» Положение заголовка — положение заголовка относительно поля вания элемента управления (текст справа или слева). Горизонтальное положение - определяет выравнивание текста по тали. Вертикальное положение - определяет выравнивание текста по вертикали.
Глава 4 Встроенный язык 1 (^Предприятие 8.1 является гибкой настраиваемой системой, с помощью которой можно решать широкий круг задач в сфере автоматизации ности предприятий. Специфические алгоритмы конфигурации описываются в конфигураторе системы 1С:Предприятие 8.1, в программных модулях, жащих тексты на встроенном языке системы 1С:Предприятие 8.1. Назначение и краткая характеристика встроенного языка Встроенный язык системы 1С:Предприятие 8.1 предназначен для ния (на стадии разработки конфигурации) алгоритмов функционирования прикладной задачи. Встроенный язык (далее по тексту-язык)представляетсобойпредметно-ориен- тированный язык программирования, специально разработанный с учетом возможности его применения не только профессиональными ми. В частности, все операторы языка имеют как русское, так и англоязычное написание, которое можно использовать одновременно в одном исходном тексте. Основной язык, описываемый в данной книге, - русский, однако для каждого оператора языка приводится его англоязычный синоним. При своей относительной простоте язык обладает некоторыми объектно- ориентированными возможностями, например, правила доступа к свойствам и методам специализированных типов данных (документам, справочникам и т. п.) подобны свойствам и методам объектов, используемых в других объектно- ориентированных языках. Однако специализированные типы данных не могут определяться средствами самого языка, а задаются в визуальном режиме. Типизация переменных в языке не жесткая, т. е. тип переменной определяется ее значением. Переменные не обязательно объявляй, в явном виде. Неявным определением переменной является ее первое упоминание в левой части оператора прис «айкания. Возможно также явное объявление переменных при помощи соответствующего оператора. Допускается применение массивов, структур, соответствий и других универсальных коллекций значений.
Глава 4. Встроенный язык 1-237 Формат исходных текстов программных модулей Что такое программный модуль? Программные модули в конфигурации системы 1 (^Предприятие 8.1 не являются самостоятельными программами в общепринятом понимании этого слова, поскольку они являются только частью всей конфигурации. Программный модуль - это текст на встроенном языке, в котором ны тексты процедур и функций с необходимыми алгоритмами, вызываемые системой в определенные моменты работы. Поэтому программный модуль не имеет формальных границ своего описания типа: «Начало модуля» - «Конец модуля». Место размещения конкретного программного модуля предоставляется конфигуратором в тех точках конфигурации, которые требуют описания специфических алгоритмов функционирования. Эти алгоритмы следует оформлять в виде процедур или функций, которые будут вызваны самой системой в заранее предусмотренных ситуациях (например, при нажатии кнопки в диалоговом окне). Каждый отдельный программный модуль воспринимается системой как единое целое, поэтому все процедуры и функции программного модуля выполняются в едином контексте. Контекст выполнения программного модуля Каждый программный модуль связан с остальной частью конфигурации. Эта связь называется контекстом выполнения модуля. Следует различать два вида контекста: • глобальный контекст задачи; • локальный контекст выполнения конкретного модуля. Глобальный контекст Глобальный контекст образуется: • значениями свойств и методов глобального контекста; • системными перечислениями и системными наборами значений (например, КодВозвратаДиалога и Символы). Глобальный контекст виден всем программным модулям и определяет общую языковую среду конфигурации.
1-238 1С:Предприятие 8.1. Конфигурирование и администрирование Локальный контекст Локальный контекст модуля образуется тем конкретным местом рации задачи, для которого использован программный модуль. Локальный контекст виден только конкретному программному модулю и определяет для модуля набор непосредственно доступных модулю объектов, их свойств и методов (см. параграф «Виды программных модулей»). Виды программных модулей В системе 1С:Предприятие8.1 существуют несколько видов программных модулей. Они различаются по месту размещения и доступному контексту. Модуль приложения Модуль приложения находится в корневом разделе конфигурации. В нем располагаются процедуры-обработчики событий, которые руются при старте и окончании работы системы. В модуле приложения возможно объявление переменных, а также объявление и описание процедур и функций, которые будут доступны в любом модуле конфигурации (кроме общих модулей и модуля внешнего соединения). В контексте модуля жения доступны экспортируемые процедуры и функции общих модулей. Модуль внешнего соединения Модуль внешнего соединения расположен, как и модуль приложения, в корневом разделе конфигурации. В нем располагаются процедуры- обработчики событий, которые инициализируются при старте и окончании работы системы в режиме внешнего соединения (СОМ-соединения). В, модуле внешнего соединения возможно объявление переменных, а также объявление и описание процедур и функций, которые будут доступны для внешнего приложения. Объекты 1С:Предприятия 8.1, доступные извне через СОМ-соединение: • экспортируемые переменные и процедуры/функции модуля внешнего соединения; • экспортируемые переменные и процедуры/функции общих модулей: • включение и исключение модулей целиком с помощью установки свойств общих модулей; • включение и исключение фрагментов общих модулей с помощью препроцессора. • глобальный контекст 1С:Предприятия 8.1: • за исключением объектов, жестко связанных с клиентским жением (ТекстовыйДокумент, ТабличныйДокумент...).
Глава 4. Встроенный язык 1-239 Модуль присутствует только в сессии внешнего соединения. В данном режиме характерно полное отсутствие пользовательского интер1 фейса. Модуль сеанса Модулем сеанса называется модуль, который автоматически выполняется при старте системы 1С:Предприятие 8.1 в момент загрузки конфигурации. Модуль сеанса предназначен для инициализации параметров сеанса и отработки действий, связанных с сеансом работы. Модуль сеанса всегда исполняется в привилегированном режиме в кластере серверов тия 8.1. Установка параметров сеанса выполняется в обработчике события Установ- каПараметровСеанса(). Исполнение модуля сеанса происходит после начала исполнения модуля приложения (модуля внешнего соединения), до вызова обработчика события ПередНачаломРаботыСистемы (ПриНачалеРаботыСистемы, в случае модуля внешнего соединения). Модуль сеанса может содержать только определения процедур и функций. Модуль сеанса не содержит экспортируемых процедур и функций и может использовать процедуры из общих модулей конфигурации. Общие модули Общие модули располагаются в отдельной ветке дерева метаданных. ным назначением общих модулей является содержание общих алгоритмов конфигурации, доступных из разных модулей. В общих модулях ет раздел определения переменных и раздел основной программы, то есть они содержат только раздел процедур и функций (см. раздел «Структура программного модуля»). В контексте общего модуля недоступны экспортируемые переменные, процедуры и функции модуля приложения. В любом общем модуле возможно объявление и описание процедур и функций, которые будут доступны в любом модуле конфигурации. Модули прикладных объектов Набор прикладных объектов имеет собственные модули. К таким объектам относятся: • менеджеры значения константы; , • Справочники; • Документы;
1 -240 1 (^Предприятие 8.1. Конфигурирование и администрирование • Отчеты; • Обработки; • Планы видов характеристик; • Планы счетов; • Планы видов расчетов; • Бизнес-процессы; • Задачи; • Регистры. Модули располагаются в ветках конфигурации, в которых содержатся сами объекты, и являются свойствами объектов. Каждый объект имеет свой индивидуальный модуль. В этих модулях возможно объявление ных, процедур и функций, которые будут доступны при работе с объектом извне во встроенном языке, дополняя контекст объекта. В контексте модуля прикладного объекта есть доступ к реквизитам и ным частям объекта, а также его методам и событиям. Модули форм Эти модули содержатся в формах конфигурации. Каждая форма имеет свой индивидуальный модуль. В этих модулях возможно объявление ных, процедур и функций, которые будут доступны при работе с формой извне во встроенном языке, дополняя контекст формы. В контексте модуля формы доступны реквизиты формы, а также ее тва, методы и события. Если у формы назначен основной реквизит, то в модуле формы становятся доступны свойства и методы прикладного объекта, используемого в качестве основного реквизита. Формат программного модуля Исходный текст программного модуля может состоять из операторов и комментариев. Комментарии Комментарий используется для размещения в исходном тексте много модуля всякого рода пояснений к работе модуля. Хорошим тоном программирования считается, когда исходный текст содержит щий комментарий с описанием алгоритма. В режиме исполнения программы комментарии пропускаются. В тексте программного модуля комментарий начинается парой символов «//» и заканчивается концом строки. Это значит, что комментарий можно начинать с начала строки или записывать его после
Глава 4. Встроенный язык 1-241 оператора на той же строке. После начала комментария нельзя писать тор на той же строке, необходимо закончить комментарий концом строки. Пример i А=В; // Это - комментарий / Это тоже комментарий Формат операторов Операторы имеют вид стандартного обращения к процедуре, за исключением оператора присваивания (А = В;) и синтаксических конструкций ного языка (например, таких как Для, Пока, Если). Между собой операторы обязательно следует разделять символом точка с запятой. Конец строки не является признаком конца оператора, т. е. операторы могут свободно переходить через строки и продолжаться на другой строке. Можно гать произвольное число операторов в одной строке, разделяя их символом точка с запятой. Операторы языка в программном модуле можно подразделить на две рии: операторы объявления переменных и исполняемые операторы. Операторы объявления переменных создают имена переменных, которыми манипулируют исполняемые операторы. Любой исполняемый оператор может иметь метку, используемую в качестве точки перехода в операторе Перейти. В общем случае формат оператора языка следующий: ~метка:Оператор[ (параметры) ] [ДобКлючевоеСяово]'; В качестве меток используются специальные идентификаторы, щиеся с символа тильда и состоящие из последовательности букв, цифр и символов подчеркивание. Чтобы пометить оператор, надо поместить перед ним метку и следующий за ней символ двоеточие. Пример ~мйткаТк=В; :i,t,,- Имена переменных, процедур и функций Именем переменной, объявленной процедуры или функции может быть любая последовательность букв, цифр и знаков подчеркивания, яся с буквы или знака подчеркивания. Вновь создаваемые имена не должны совпадать с зарезервированными словами языка или именами свойств, непосредственно доступных в текущем контексте. Распознавание имен переменных, процедур и функций ведется без учета регистра букв.
1 -242 1 С.-Предприятие 8.1. Конфигурирование и администрирование Язык написания программных модулей Встроенный язык системы 1С:Предприятие 8.1 является двуязычным. Почти все зарезервированные слова, имена типов значений, свойств, методов, событий имеют два имени: русское и английское. Исключение ют слова, не имеющие аналогов в русском языке. В тексте программных модулей эти имена можно свободно смешивать, используя то русские, то английские имена без каких-либо ограничений. Регистры букв при написании программных модулей Регистр букв (строчные или заглавные) при написании имен переменных, свойств, методов, процедур, функций, а также функций встроенного языка не имеет значения. Зарезервированные слова Приведенные далее ключевые слова являются зарезервированными и не гут использоваться в качестве создаваемых имен переменных, реквизитов объектов конфигурации и объявляемых процедур и функций. В данном рианте языка каждое из ключевых слов имеет два представления — русское и английское. Русское имя Если Тоща ИначеЕсли Иначе КонецЕсли Для Каждого Из По Пока Цикл КонецЦикла Процедура Функция КонецПроцедуры КонецФункции Перем Перейти Возврат Продолжить Английское имя If Then Elslf Else Endlf For Each In To While Do EndDo Procedure Function EndProcedure EndFunction Var Goto Return Continue
Глава 4. Встроенный язык 1-243 Русское имя Прервать И Или Не Попытка Исключение ВызватьИсключение КонецПопытки Новый Выполнить Английское имя Break And Or Not Try Except Raise EndTry New Execute Структура программного модуля Структуру программного модуля можно подразделить на следующие разделы: • раздел определения переменных; • раздел процедур и функций; • раздел основной программы. В конкретном программном модуле любой из разделов может вовать. Раздел определения переменных размещается от начала текста модуля до первого оператора Процедура, или оператора Функция, или любого няемого оператора. В этом разделе могут находиться только операторы объявления переменных Перем. Раздел процедур и функций размещается от первого оператора Процедура или оператора Функция до любого исполняемого оператора вне тела ния процедур или функций. Раздел основной программы размещается от первого исполняемого ра вне тела процедур или функций до конца модуля. В этом разделе могут находиться только исполняемые операторы. Раздел основной программы исполняется в момент инициализации модуля. Обычно в разделе основной программы имеет смысл размещать операторы инициализации переменных какими-либо конкретными значениями, которые необходимо провести до первого вызова любой из процедур или функций модуля.
1-244 1С:Г)редприятие 8.1. Конфигурирование и администрирование Специальные символы, используемые в исходном тексте // I ~ ; С) П • » п 1 t + - * / % > >= < <= = о Двумя знаками косая черта начинается комментарий. Комментарием считается весь текст от знака // до конца текущей строки Вертикальная черта в начале строки используется только в строковых тах и означает, что данная строка является продолжением предыдущей (перенос строки) Знаком тильда начинается метка оператора Двоеточием заканчивается метка оператора Точка с запятой является символом разделения операторов В круглые скобки заключается список параметров методов, процедур, функций и конструкторов. Также они используются в выражениях встроенного языка С помощью оператора квадратные скобки производится обращение к твам объекта по строковому представлению имени свойства. Также возможно обращение к элементам коллекций по индексу или другому параметру Запятая разделяет параметры в списке параметров методов, процедур, функций и конструкторов В двойные кавычки заключаются строковые литералы В одинарные кавычки заключаются литералы даты Десятичная точка в числовых литералах. Разделитель, используемый для обращения к свойствам и методам объектов встроенного языка Символ плюс обозначает операцию сложения и конкатенации Символ минус обозначает операцию вычитания Символ звездочка обозначает операцию умножения Символ косая черта обозначает операцию деления Получение остатка от деления. Допускается использования дробных значений делимого и делителя Правая угловая скобка обозначает логическую операцию Больше Логическая операция Больше или равно Левая угловая скобка обозначает логическую операцию Меньше Логическая операция Меньше или равно Знак равенства обозначает присвоение или логическую операцию Равно Две угловые скобки обозначают логическую операцию Не равно Примитивные типы данных Во встроенном языке системы 1С:Предприятие 8.1 поддерживается набор примитивных типов данных. Для большинства примитивных типов данных предусмотрена возможность использования в тексте модуля литералов,
Глава 4. Встроенный язык 1 -245 то есть указание значения соответствующего типа непосредственно в модуле. Пример /¦/ Пример использования литерала типа Строка А = 'Моя строка"; // Пример использования литерала типа Булево > Б = Истина; г // Пример использования литерала типа Число j В = 12345.6789; NULL Описание Значения данного типа используются исключительно для определения отсутствующего значения при работе с базой данных, например, при нении таблиц. Литералы NULL Булево (Boolean) Описание Значения данного типа имеют два значения - Истина и Ложь, задаваемых соответствующими литералами. Значения данного типа возвращаются в качестве результата вычисления логических выражений. Примечание В операциях сравнения встроенного языка используются логические ния. Это означает, что в выражении сравнения не обязательно писать так: 1 •» -"-•- " •.-- ~ ¦ .—г-,—• ,«- ~,. — ¦--,-»-,- ,-. -а, Е и М яП рем нная Ис ина То , .. Достаточно написать так: Если МояПеременная Тогда КонецЕсли; Литералы Истина (True) Ложь (False)
1-246 1С:Предприятие 8.1. Конфигурирование и администрирование Дата (Date) Описание Значения данного типа содержат дату от Рождества Христова (с 01 января 0001 года) и время с точностью до секунды. Литералы Строка цифр, заключенная в одинарные кавычки вида ТГГГММДДччммсс', где: • ГПТ - четыре цифры года (включая тысячелетие и век); • ММ - две цифры месяца: • ДЦ - две цифры даты; • чч - две цифры часа (в 24-часовом формате); • мм — две цифры минут; • ее - две цифры секунд; Во встроенном языке в литерале типа Дата обязательно должно ся значение года, месяца и дня. Для задания даты, соответствующей началу отсчета, достаточно указать '00010101'. Допускается при указании лов типа Дата опускать последние символы (секунды, минуты, часы и т. д.). Это означает, что данные параметры будут равны нулю (для времени) или единице (для даты). В литерале даты допускается использование различных разделителей. Например: Дата('2003.03.23 10:45:23')= 3.03.2003 10:45:23". Неопределено (Undefined) Описание Значение данного типа применяется, когда необходимо использовать пустое значение, не принадлежащее ни к одному другому типу. Например, такое значение изначально имеют реквизиты с составным типом значения. твует одно-единственное значение данного типа, задаваемое литералом. Литералы Неопределено (Undefined) Строка (String) Описание Значения данного типа содержат строку произвольной длины в формате Unicode.
Глава 4. Встроенный язык 1-247 Литералы Литералы строкового типа представляют собой набор символов, ченных в кавычки. Для задания в строке символа " (кавычка) необходимо записать две кавычки подряд. Кроме того, допускаются «многострочные» строковые константы. В ном тексте многострочные константы могут задаваться двумя способами: • Между фрагментами, представляющими отдельные строки строчной строки, не должно встречаться никаких символов, за исключением пробелов, переводов строки и строк комментариев. • Каждая отдельная составляющая не замыкается кавычками, а на каждой последующей строке помещен символ переноса строки (вертикальная черта). В этом варианте комментарии между открывающей и ющей кавычками не допускаются. Пример // Пример строки МояСтрока = "Это правильная строка"; // Пример 1 многострочной строки МояМногострочиаяСтрока = "Это Iправильная Iмногострочная I строка"; i // Пример 2 многострочной строки МояМногострочиаяСтрока = "Это тоже" //Здесь можно указать // комментарии "правильная" "многострочная" "строка"; • // Пример 3 строки с кавычками НазваниеФирмы = О0 ""Василек"""; Результат вывода на экран или печать строки НазваниеФирмы (пример 3) будет выглядеть следующим образом: 000 "Басил Тип (Туре) Описание Значения данного типа используются для идентификации типов ний. Это необходимо для определения и сравнения типов. Данный тип не имеет литералов и возвращается функциями встроенного языка ТипЗнч и Тип (см. ниже).
1-248 1С:Предприятие 8.1. Конфигурирование и администрирование Число (Number) Описание Числовым типом может быть представлено любое десятичное число. Определены основные арифметические операции над данными числового типа: сложение, вычитание, умножение и деление. Максимально мая разрядность числа — 32 знака. Литералы Набор цифр, написанных непосредственно в тексте модуля вида: [+|-]{0|1|2|3|4|5|6|7|8|9}[.{0|1|2|3|4|5|6|7|8|9}] В качестве разделителя целой и дробной части используется знак (точка). Пример А = 15; Б = -968.612; Оператор присваивания Синтаксис <Назначение> = <Источник>; Параметры <Назначение> В качестве назначения может выступать переменная или свойство объекта встроенного языка, которое допускает запись. <Источник> Выражение, значение которого необходимо присвоить. Описание Оператор присваивания (символ =) означает присваивание значения <Источ- ник> переменной, обозначенной как <Назначение>. Пример " А = В; Стр1 = 77"; * ДатаДокумента = '20020717'; Выражения языка Выражение — это математическая, логическая или строковая формула, ящая из соответствующих операций, по которой вычисляется значение.
Глава 4. Встроенный язык 1-249 Математическое и логическое выражение может стоять справа от знака тва в операторах присваивания, быть параметром процедур или функций. Логическое выражение также может быть условием в управляющих циях Если, Пока, Для. Выражения состоят из констант, переменных и функций, связанных символами логических и/или арифметических операций. Арифметические операции В языке определены следующие виды арифметических операций. Сложение Вычитание Умножение Деление Остаток от деления Унарный минус (Оп1 + Оп2) (Оп1 - Оп2) (Оп1 * Оп2) (Оп1 / Оп2) (Оп1 % Оп2) (-Оп1) Арифметические операции имеют один или два операнда, в зависимости от типа которых операция имеет ту или иную семантику. Тот или иной тический вариант операции определяется по первому операнду. В случае несовпадения типа второго операнда с требуемым значение преобразуется к требуемому типу в соответствии с правилами преобразования типов. Если тип первого операнда не соответствует ни одному из допустимых типов, то в зависимости от ситуации может производиться преобразование типов или возбуждаться состояние ошибки выполнения. Сложение определено для следующих типов операндов Вычитание определено для следующих типов операндов Умножение Деление Остаток от деления Число+Число Дата+Чиспо (к дате прибавляется число секунд) Число-Число Дата-Чиспо (от даты отнимается число секунд) Дата-Дата (результатом является разница между двумя датами, измеренная в секундах) Число*Число Число/Число Число%Число Операция конкатенации Операция конкатенации (+) используется для того, чтобы присоединить одну строку к другой. Длина результирующей строки равна сумме длин емых строк. В случае несовпадения типа данных второго или последующих операндов со строковым типом их значение преобразуется к строковому типу в соответствии с правилами преобразования типов.
1-250 1С:Предприятие 8.1. Конфигурирование и администрирование Пример ФИО - Фамилия + » * * имя,/*- ¦¦' " + ©гчеагво; Логические операции Логическая операция сравнивает операнды и вырабатывает значение типа Булево: Истина или Ложь. Существует два вида логических операций: ции сравнения и булевы операции. В операциях сравнения сравниваются два значения. Булевы операции выполняются над значениями типа Булево, реализуя булеву алгебру. Символы булевых операций могут ся, образуя составные операции. Операции сравнения В языке определены следующие виды операций сравнения. Больше Больше или равно Равно Не равно Меньше Меньше или равно (Оп1 > Оп2) (Оп1 >= Оп2) (Оп1 = Оп2) (Оп1 о Оп2) (Оп1 < Оп2) (Оп1 <='Оп2) Операции сравнения определены для следующих типов операндов. Больше Больше или равно Меньше Меньше или равно Равно Не равно Число>Число Строка>Строка Дата>Дата Число>=Число Строка>=Строка Дата>=Дата Число<Число Строка<Строка Дата^ата Число<=Число Строка<=Строка Дата<=Дата Любой тип=Любой тип Любой типоЛюбой тип
Глава 4. Встроенный язык 1-251 Булевы операции В языке определены следующие виды булевых операций: И (AND) ИЛИ (OR) НЕ (NOT) конъюнкция (булево И) дизъюнкция (булево ИЛИ) логическое отрицание (булево отрицание НЕ) Логические выражения вычисляются слева направо. Для того чтобы избежать неоднозначности и управлять последовательностью операндов, следует применять круглые скобки. Уровни старшинства логических операций: Уровень 1 Уровень 2 Уровень 3 Уровень 4 операнды, заключенные в скобки НЕ И ИЛИ Замечание. При вычислении логического выражения вычисляются только необходимые части выражения. Например, в выражении на > 0) И ПроверкаСуммы(), если Цена <= 0, то функция ПроверкаСуммы() не вызывается. Операторы и синтаксические конструкции ? (вычислить выражение по условию) Синтаксис ?(<Логическое выражение^ <Выражение 1>, <Выражение 2>) Параметры Логическое выражение> Логическое выражение, результат вычисления которого определяет одно из результирующих выражений, которые будут вычислены. Если результат его вычисления Истина, то будет вычисляться <Выражение 1>. Если результат Ложь, то <Выражение 2>. <Выражение 1> Результирующее выражение, которое будет вычисляться, если результат логического выражения Истина. <Выражение 2> Результирующее выражение, которое будет вычисляться, если результат логического выражения Ложь.
1 -252 1 С:Предприятие 8.1. Конфигурирование и администрирование Возвращаемое значение Результат вычисления одного из результирующих выражений. Описание Позволяет вычислить одно из двух заданных выражений в зависимости от результата вычисления логического выражения. Пример Статус = ?(ПолучитьСкидку() > 10, "Особый клиент", "Обычный клиент"); • Предупреждение(Статус); ВызватьИсключение (Raise) Синтаксис ВызватьИсключение <Выражение> Англоязычный синтаксис Raise <Выражение> Описание При использовании данной формы оператора вызывается новое ние. Результат вычисления выражения преобразуется к строке, и данная строка используется в качестве описания исключения. Пример ВызватьИсключение "Документ не может быть провеяев"; См. также Описание оператора Попытка. Выполнить (Execute) Синтаксис Выполнить(<Строка>) Параметры <Строка> Строка, содержащая текст исполняемого кода. Описание Позволяет выполнить фрагмент кода, который передается ему в качестве строкового значения. Замечание. Исполняемый код не должен содержать в себе отдельных процедур или функций, т. к. исполнение кода само по себе идет в ках процедуры или функции, в которой использован этот оператор. А также не должен содержать явного объявления переменных.
Глава 4. Встроенный язык 1-253 Важно! Не рекомендуется реализовывать с помощью этого метода существенную часть функциональности прикладных решений. Пример // Выводит в окно сообщений текущую дату. ! Выполнить{"Сообщить(ТекущаяДата())"); Для (For) Синтаксис Для <Имя переменной> = <Выражение 1> По <Выражение 2> Цикл // Операторы [Прервать;] // Операторы [Продолжить;] // Операторы КонецЦикла; Англоязычный синтаксис For <Имя переменной> = <Выражение 1> То <Выражение 2> Do // Операторы [Break;] // Операторы [Continue;] // Операторы EndDo; Параметры <Имя переменной> Идентификатор переменной (счетчика цикла), значение которой чески увеличивается на 1 при каждом повторении цикла. Так называемый счетчик цикла. <Выражение 1> Числовое выражение, которое задает начальное значение, присваиваемое счетчику цикла при первом проходе цикла. По Синтаксическая связка для параметра <Выражение 2>.
1-254 1С:Предприятие 8.1. Конфигурирование и администрирование <Выражение 2> Максимальное значение счетчика цикла. Когда переменная <Имя ное становится больше чем <Выражение 2>, выполнение оператора цикла Для прекращается. Цикл Операторы, следующие за ключевым словом Цикл, выполняются, пока значение переменной <Имя переменной> меньше или равно значению <Выражение 2>. // Операторы Исполняемый оператор или последовательность таких операторов. Прервать Позволяет прервать выполнение цикла в любой точке. После выполнения этого оператора управление передается оператору, следующему за вым словом КонецЦикла. Продолжить Немедленно передает управление в начало цикла, где производится ление и проверка условий вьшолнения цикла. Операторы, следующие в теле цикла за ним, на данной итерации обхода не выполняются. КонецЦикла Ключевое слово, которое завершает структуру оператора цикла. Описание Оператор цикла Для предназначен для циклического повторения ров, находящихся внутри конструкции Цикл - КонецЦикла. Перед началом выполнения цикла значение <Выражение 1> присваивается переменной <Имя переменной>. Значение <Имя переменной> автоматически увеличивается при каждом проходе цикла. Величина приращения счетчика при каждом нении цикла равна 1. Цикл выполняется, пока значение переменной <Имя переменной> меньше или равно значению <Выражение 2>. Условие ния цикла всегда проверяется вначале, перед выполнением цикла. Пример ! // Перебор дней текущего месяца • ПоследнийДеньМесяца = День(КонецМесяца(РабочаяДата)) ,- i Для ТекДень = 1 по ПоследнийДеньМесяца Цикя Состояние("Обрабатывается день: " + ТекДень); // Операторы обработки очередного дня месяца КонецЦикла;
Глава 4. Встроенный язык 1-255 Для каждого (For each) Синтаксис Для каждого <Имя переменной 1> Из <Имя переменной 2> Цикл // Операторы [Прервать;] // Операторы [Продолжить;] // Операторы КонецЦикла Англоязычный синтаксис For each <Имя переменной 1> In <Имя переменной 2> Do // Операторы [Break;] // Операторы г- [Continue;] // Операторы EndDo; Параметры <Имя переменной 1> Переменная, которой при каждом повторении цикла присваивается ние очередного элемента коллекции. Из Синтаксическая связка для параметра <Имя переменной 2>. <Имя переменной 2> Переменная или выражение, предоставляющее коллекцию. Элементы этой коллекции будут присваиваться параметру <Имя переменной 1>. Цикл Операторы, следующие за ключевым словом Цикл, выполняются до тех пор, пока не будут перебраны все элементы коллекции. // Операторы Исполняемый оператор или последовательность таких операторов. Прервать Позволяет прервать выполнение цикла в любой точке. После выполнения чтого оператора управление передается оператору, следующему за ключе- иым словом КонецЦикла.
1 -256 1 С:Предприятие 8.1. Конфигурирование и администрирование Продолжить Немедленно передает управление в начало цикла, где производится ление и проверка условий выполнения цикла. Операторы, следующие в теле цикла за ним, на данной итерации обхода не выполняются. КонецЦикла Ключевое слово, которое завершает структуру оператора цикла. Описание Оператор цикла Для каждого предназначен для циклического обхода коллекций значений. При каждой итерации цикла возвращается новый элемент коллекции. Обход осуществляется до тех пор, пока не будут перебраны все элементы ции, или может быть завершен досрочно при выполнении оператора Прервать. Пример // Перебор строк табличной части документа. Документ = Документы.РасходнаяНакладная.НайтиПоКоду<12345); // Проверим, найден нужный нам документ или нет Если Не Документ.Пустая() Тогда Для каждого СтрокаСостава из Документ.Состав Цикл Состояние("Строка: " + Документ.Состав.Индекс(СтрокаСостава) + 1) ;" // Операторы обработки очередной строки табличной части КонецЦикла; КонецЕсли; Если (If) Синтаксис Если Логическое выражение> Тогда // Операторы [ИначеЕсли Логическое выражение> Тогда] // Операторы [Иначе] // Операторы КонецЕсли; Англоязычный синтаксис If Логическое выражение> Then // Операторы [Elslf Логическое выражение> Then] // Операторы [Else] // Операторы Endlf;
Глава 4. Встроенный язык 1-257 Параметры Логическое выражение> Логическое выражение. Тогда Операторы, следующие за Тогда, выполняются, если результатом логическо1 го выражения является значение Истина. // Операторы Исполняемый оператор или последовательность таких операторов. ИначеЕсли Логическое выражение, следующее за ключевым словом ИначеЕсли, ляется только тогда, когда условия в Если и всех предшествующих ИначеЕсли оказались равны Ложь. Операторы, следующие за конструкцией ли - Тогда, выполняются, если результат логического выражения в данном ИначеЕсли равен Истина. Иначе Операторы, следующие за ключевым словом Иначе, вьшолняются, если результаты логических выражений в конструкции Если и всех ющих конструкциях ИначеЕсли оказались равны Ложь. КонецЕсли Ключевое слово, которое завершает структуру оператора условного нения. Описание Оператор Если управляет выполнением программы, основываясь на тате одного или более логических выражений. Оператор может содержать любое количество групп операторов, возглавляемых конструкциями чеЕсли - Тогда. Пример • Если ДеньНеде и РабочаяДат То да Сообщить("Сегодня суббота."); ¦ ИначеЕсли ДеньНедели(РабочаяДата) = 7 Тогда Сообщить("Сегодня воскресенье."); ' Иначе Сообщить!"Сегодня рабочий день."); | КонецЕсли;
1т258 1С:Предприятие 8.1. Конфигурирование и администрирование Новый (New) Синтаксис (вариант 1) Новый <Имя типа>[(<Парам 1> <Парам N>)] Параметры Имя типа Указывается имя типа, значение которого создается. <Парам 1>,..., <Парам N> После имени типа в скобках могут указываться параметры, если они лены в конструкторах для данного типа. Допустимое количество параметров и их назначение указываются в описании конструкторов объекта. Синтаксис (вариант 2) Новый (<Тип>[, <Параметры конструктора>]) Параметры Тип Имя типа или значение типа Тип. <Параметры конструктора> Массив параметров конструктора. Описание Оператор позволяет создать значение указанного типа. Допустим только для тех типов, для которых разрешено создание новых значений. Пример 1 // Пример создания массива из трех элементов. Массив = Новый МассивC); Пример 2 ТипЗначения = ТипСКвалификаторыСтроки") ,- Параметры = Новый МассивB); Параметры[0] = 20; Параметры[1] = ДопустимаяДлина.Переменная; КвСтр = Новый(ТипЗначения, Параметры); Перейти (Goto) Синтаксис Перейти <Метка>;
Глава 4. Встроенный язык 1-259 Описание Безусловная передача управления на другой оператор программы. Передает управление от одного оператора к другому. Область действия оператора ограничивается программным модулем, процедурой или функцией; он не может передать управление за пределы программного модуля, процедуры или функции. Замечание 1. Метка в этом операторе не должна быть меткой да на оператор Процедура или Функция. Замечание 2. Оператор безусловного перехода не может быть зован для передачи управления на операторы, находящиеся внутри конструкций: Пока - КонецЦикла, Для - КонецЦикла, Для каждого - Конец- Цикла, Если - КонецЕсли, Попытка - Исключение - КонецПопытки извне этих конструкций. Пример Перейти -Метка1; *»I ~ Метка1: Сообщить("Осуществлен переход по метке,"); Перем (Var) Синтаксис Перем <Имя переменной 1> [Экспорт] [, <Имя переменной 2>,...] Англоязычный синтаксис \/аг<Имя переменной 1> [Export] [, <Имя переменной 2>,...] Параметры <Имя переменной 1>[, <Имя переменной 2>,...] Задается имя или имена объявляемых переменных. Экспорт Необязательное ключевое слово. Указывает, что данная переменная на при обращении к контексту этого модуля из других модулей. Данное ключевое слово необходимо указывать для каждой объявляемой ной отдельно. Не имеет смысла при объявлении переменных отдельных процедур или функций. Описание Позволяет в явном виде объявить переменную.
1-260 1С:Предприятие 8.1. Конфигурирование и администрирование Пример // Пример объявления одной переменной • Перем А Экспорт; Перем Б; // Пример объявления нескольких переменных одним оператором Перем А, Б Экспорт; Неявное объявление переменных В языке не обязательно объявлять переменные в явном виде. Неявным определением переменной является первое ее появление в левой части оператора присваивания. Тип переменной определяется типом го ей значения. Не допускается использование в выражениях переменных, не объявленных ранее в явном или неявном виде. Область использования переменной Область использования переменных зависит от места их определения в конфигурации задачи. Существует три области, в которых можно объявить переменные: • В разделе определения переменных программного модуля приложения. • В разделе определения переменных модуля. Это переменные модуля. • В процедуре или функции. Это локальные переменные. Глобальные переменные, объявленные с ключевым словом Экспорт, доступны для использования в исполняемых операторах, выражениях, в любой процедуре и функции любого программного модуля конфигурации задачи. Переменные модуля доступны для использования в исполняемых рах, выражениях, в любой процедуре и функции того программного модуля, в пределах которого они объявлены. Если они объявлены с ключевым словом Экспорт, то они доступны из других модулей через контекст модуля, в котором они объявлены. Локальные переменные доступны в пределах той процедуры или функции, в которой они объявлены. Если переменная определена как глобальная, то она видна из всех дур и функций любого программного модуля конфигурации задачи. Если же переменная определена внутри процедуры, то ее областью видимости является данная процедура или функция. Таким образом, если две переменные с одинаковыми именами используются в двух различных процедурах модуля и имя этой переменной не ся как глобальная переменная, то это две различные переменные, локальные для процедур. Если же переменная определена как глобальная, то любое
Глава 4. Встроенный язык 1-261 использование имени этой переменной будет приводить к обращению к одной и той же переменной. Единственный способ создать для процедуры локальную переменную с именем, совпадающим с именем переменной, определенной как ная, '— это объявить ее явно при помощи оператора Перем. Пока (While) Синтаксис Пока Логическое выражение> Цикл // Операторы [Прервать;] // Операторы [Продолжить;] // Операторы КонецЦикла Англоязычный синтаксис While Логическое выражение> Do //Операторы [Break;] // Операторы [Continue;] // Операторы EndDo; Параметры Логическое выражение> Логическое выражение. Цикл Операторы, следующие за ключевым словом Цикл, выполняются, пока результат логического выражения равен Истина. //Операторы Исполняемый оператор или последовательность таких операторов. Прервать I юзволяет прервать выполнение цикла в любой точке. После выполнения пого оператора управление передается оператору, следующему за ключе- мым словом КонецЦикла.
1-262 1С:Предприятие 8.1. Конфигурирование и администрирование Продолжить Немедленно передает управление в начало цикла, где производится ление и проверка условий выполнения цикла. Операторы, следующие в теле цикла за ним, на данной итерации обхода не выполняются. КонецЦикла Ключевое слово, которое завершает структуру оператора цикла. Описание Оператор цикла Пока предназначен для циклического повторения ров, находящихся внутри конструкции Цикл - КонецЦикла. Цикл выполняется, пока логическое выражение равно Истина. Условие выполнения цикла всегда проверяется вначале, перед выполнением цикла. Пример ВыборкаДок = Документы.РасходнаяНакладная.Выбрать(); // Цикл по всем документам I Пока ВыборкаДок.Следующий() Цикл // отобразим Документ в панели состояния Состояние("Обрабатывается документ К" + ВыборкаДок.Номер); // Операторы выполнения действий над документом ' КонецЦикла; Попытка (Try) Синтаксис Попытка // Операторы попытки Исключение // Операторы исключения {ВызватьИсключение;] // Операторы исключения КонецПопытки; Англоязычный синтаксис Try // Операторы попытки Except //Операторы исключения [Raise;] // Операторы исключения EndTry;
Глава 4. Встроенный язык 1-263 Параметры II Операторы попытки Исполняемый оператор или последовательность таких операторов. Исключение Операторы, следующие за ключевым словом Исключение, выполняются, если при выполнении последовательности операторов произошла ошибка нремени выполнения. // Операторы исключения Исполняемый оператор или последовательность операторов, которые обрабатывают исключительную ситуацию. ВызватьИсключение Оператор позволяет вызвать исключение в тех случаях, когда, несмотря на отработку исключительной ситуации, необходимо прервать выполнение модуля с ошибкой времени выполнения. Оператор допустим только внутри операторных скобок Исключение - КонецПопытки. Выполнение данного оператора прекращает выполнение ности операторов исключения, и производится поиск более «внешнего» обработчика исключения (при вложенных попытках). Если таковой есть, то управление передается на его первый оператор. Если нет, то исключительная Ситуация обрабатывается системно, выдается сообщение о первоначально иозникшей ошибке, а выполнение модуля прекращается. КонецПопытки Ключевое слово, которое завершает структуру оператора обработки чительных ситуаций. Описание Оператор Попытка управляет выполнением программы, основываясь на иозникающих при выполнении модуля ошибочных (исключительных) ситуациях и определяет обработку этих ситуаций. И качестве ошибочных (исключительных) ситуаций воспринимаются «шибки времени выполнения модуля. Не предусмотрено определяемых пользователем исключений. Мели при выполнении последовательности операторов попытки произош- >Ш ошибка времени выполнения, то выполнение оператора, вызвавшего ошибку, прерывается и управление передается на первый оператор последо- интельности операторов исключения. При этом управление будет передано дюке в том случае, если ошибку вызвал оператор, находящийся в процедуре или функции, вызванной из операторов попытки. Если ошибка произош- щ| в вызванной процедуре или функции, то ее выполнение будет прервано,
1 т264 1 С:Предприятие 8.1. Конфигурирование и администрирование а локальные переменные- уничтожены. Это справедливо для любой вложенности вызовов. После выполнения последовательности операторов исключения управление передается на следующий за ключевым словом КонецПопытки оператор. Если же последовательность операторов попытки выполнилась без ошибок, то последовательность операторов исключения будет пропущена и управление также будет продолжено с оператора, ющего за ключевым словом КонецПопытки. Конструкции Попытка - Исключение - КонецПопытки могут быть вложенными. При этом при возникновении исключительной ситуации управление ется на тот обработчик, в попытке которого произошла ошибка. Если же в последовательности операторов исключения этого обработчика ется оператор ВызватьИсключение, выполнение передается вышестоящему обработчику исключения и так далее. Если вышестоящего обработчика нет, исключительная ситуация обрабатывается системно с прекращением нения программного модуля. В выдаче диагностики помощь может оказать встроенная функция Описа- ниеОшибки (см. описание функций встроенного языка). Пример i Процедура СформироватьВЕхсе!() Попытка // Пытаемся обратиться к программе MS Excel Табл = Новый ComObjectt"Excel.Application"); Исключение Предупреждение(ОписаниеОшибки()); Возврат; КонецПопытки; ! // Операторы формирования отчета 1 КонецПроцедуры Процедура (Procedure) Синтаксис Процедура <Имя_процедуры>([[Знач] <Парам 1> [=<ДефЗнач>], ... ,[3нач] <Парам N> [=<ДефЗнач>]])[Экспорт] // Объявления локальных переменных; // Операторы; [Возврат;] // Операторы; КонецПроцедуры
Глава 4. Встроенный язык 1-265 Англоязычный синтаксис Procedure <Имя_проц>([[\/а1] <Парам 1> [=<ДефЗнач>] [Val] <Парам Ы>[=<ДефЗнач>]])[Ехрог1] // Объявления локальных переменных; //Операторы; [Return;] // Операторы; EndProcedure Параметры <Имя_проц> Назначает имя процедуры. Знач Необязательное ключевое слово, которое указывает на то, что следующий за ним параметр передается по значению, т. е. изменение значения го параметра при выполнении процедуры никак не повлияет на фактический параметр, переданный при вызове процедуры. Если это ключевое слово не указано, то параметр процедуры передается по ссылке, то есть изменение внутри процедуры значения формального параметра приведет к изменению значения соответствующего фактического параметра. <Парам 1> <Парам N> Необязательный список формальных параметров, разделяемых ми. Значения формальных параметров должны соответствовать значениям передаваемых при вызове процедуры фактических параметров. В этом списке определяются имена каждого из параметров так, как они используются в тексте процедуры. Список формальных параметров может быть пуст. =<ДефЗнач> Необязательная установка значения параметра по умолчанию. Параметры с установленными значениями по умолчанию можно располагать в любом месте списка формальных параметров (подробнее см. раздел «Передача параметров процедур и функций»). Экспорт Необязательное ключевое слово, которое указывает на то, что данная дура является доступной из других программных модулей. // Объявления локальных переменных Объявляются локальные переменные, на которые можно ссылаться только в рамках этой процедуры (см. оператор Перем).
1 -266 1 С:Предприятие 8.1. Конфигурирование и администрирование // Операторы Исполняемые операторы процедуры. Возврат Необязательное ключевое слово, которое завершает выполнение процедуры и осуществляет возврат в точку программы, из которой было обращение к процедуре. Использование данного оператора в процедуре необязательно. КонецПроцедуры Обязательное ключевое слово, обозначающее конец исходного текста дуры, завершение выполнения процедуры. Возврат в точку, из которой было обращение к процедуре. Описание Ключевое слово Процедура начинает секцию исходного текста, ние которого можно инициировать из любой точки программного модуля, просто указав Имя_процедуры со списком параметров (если параметры не передаются, то круглые скобки, тем не менее, обязательны). Если в модуле приложения или общем программном модуле в теле описания процедуры использовано ключевое слово Экспорт, то это означает, что данная процедура является доступной из всех других программных модулей конфигурации. При выполнении оператора Возврат процедура заканчивается и возвращает управление в точку вызова. Если в тексте процедуры не встретился оператор Возврат, то после выполнения последнего исполняемого оператора ходит выполнение неявного оператора Возврат. Конец программной секции процедуры определяется по оператору КонецПроцедуры. Переменные, объявленные в теле процедуры в разделе Объявления локальных переменных, являются локальными переменными данной процедуры, му доступны только в этой процедуре (за исключением случая передачи их как параметров при вызове других процедур, функций или методов). Замечание. Ключевые слова Процедура, КонецПроцедуры являются не операторами, а операторными скобками, поэтому не должны ваться точкой с запятой (это может приводить к оугибкам выполнения модуля). Приме) Перем Глоб; // Описание процедуры Процедура МояПроцедура(Пар1, Пар2, ПарЗ) Экспорт Гяоб = Глоб + Пар! + Пар2 + ПарЗ; Возврат; КонецПроцедуры Глоб = 123; МояПроцедураE, 6, 7); // Вызов процедуры
Глава 4. Встроенный язык 1-267 Функция (Function) Синтаксис Функция <Имя_функции>([[Знач] <Парам 1>[=<ДефЗнач>] [Знач] <Парам 1М>[=<ДефЗнач>]])[Экспорт] // Объявления локальных переменных; // Операторы; Возврат <Возвращаемое значением // Операторы; Конецфункции Англоязычный синтаксис Function <Имя_функции>([[\/а1] <Парам 1>[=<ДефЗнач>],..., [Val] <Парам М>[=<ДефЗнач>]])[Ехроп] // Объявления локальных переменных; // Операторы; Return <Возвращаемое значением // Операторы; EndFunction Параметры <Имя_функции> Назначает имя функции. Знач Необязательное ключевое слово, которое указывает на то, что следующий за ним параметр передается по значению, т. е. изменение значения го параметра при выполнении функции никак не повлияет на фактический параметр, переданный при вызове функции. Если это ключевое слово не указано, то параметр функции передается по ссылке, то есть изменение внутри функции значения формального параметра приведет к изменению значения соответствующего фактического параметра. <Парам 1>,..., <Парам N> Необязательный список формальных параметров, разделяемых ми. Значения формальных параметров должны соответствовать значениям передаваемых при вызове функции фактических параметров. В этом списке определяются имена каждого из параметров так, как они используются в тексте функции. Список формальных параметров может быть пуст.
1 -268 1 С:Предприятие 8.1. Конфигурирование и администрирование =<ДефЗнач> Необязательная установка значения параметра по умолчанию. Параметры с установленными значениями по умолчанию можно располагать в любом месте списка формальных параметров (подробнее см. раздел «Передача параметров процедур и функций»). Экспорт Необязательное ключевое слово, которое указывает на то, что данная функция является доступной из других программных модулей. // Объявления локальных переменных Объявляются локальные переменные, на которые можно ссылаться только в рамках этой функции (см. оператор Перем). // Операторы Исполняемые операторы функции. Возврат <Возвращаемое значение> Ключевое слово, которое завершает выполнение функции и возвращает анное значение в выражение, в котором используется функция. В качестве возвращаемого значения может выступать выражение или переменная, значение которого содержит результат обращения к функции. КонецФункции Ключевое слово, обозначающее конец исходного текста функции. Описание Ключевое слово Функция начинает секцию исходного текста функции, ние которой можно инициировать из любой точки программного модуля, просто указав Имя_функции со списком параметров (если параметры не передаются, то круглые скобки, тем не менее, обязательны). Если в модуле приложения или общем программном модуле в теле описания функции использовано ключевое слово Экспорт, то это означает, что данная функция является доступной из всех других программных модулей конфигурации. Выполнение функции заканчивается оператором Возврат. Функции ются от процедур только тем, что возвращают ВозвращаемоеЗначение. Конец программной секции функции определяется по оператору КонецФункции. Вызов любой функции в тексте программного модуля можно записывать как вызов процедуры, т. е. в языке допускается не принимать от функции возвращаемое значение. Если ключевое слово Возврат в теле функции не указано или строка модуля, его содержащая, не выполнена, то функция возвращает значение типа Неопределено.
Глава 4. Встроенный язык 1-269 Переменные, объявленные в теле функции в разделе Объявления локальных переменных, являются локальными переменными данной функции, поэтому доступны только в этой функции (за исключением случая передачи их как параметров при вызове других процедур, функций или методов). Замечание. Ключевые слова Функция, КонецФункции являются не ми, а операторными скобками, поэтому не должны заканчиваться точкой с запятой (это может приводить к ошибкам выполнения модуля). Пример I Перем Гпоб; // Описание функции Функция МояФушщия(Пар1, Пар2, ПарЗ) Экспорт Гпоб = Гпоб + Пар1 + Пар2 + ПарЗ; Возврат Глоб; КонецФункции Гпоб =123; Рез = МояФункцияE, 6, 7); // Вызов функции ДобавитьОбработчик (AddHandler) Синтаксис ДобавитьОбработчик <Событие>, <ОбработчикСобытия>; Англоязычный синтаксис AddHandler <Событие>, <ОбработчикСобытия>; Параметры <Событие> Событие, которому добавляется обработчик. Событие задается в форме <Выражение>.<Имя_события>, где: • <Выражение> - произвольное выражение на встроенном языке. Его результатом должен быть объект, к событию которого добавляется обработчик; • <Имя_события> - идентификатор (имя) события. <ОбработчикСобытия> Процедура/функция-обработчик события. Обработчиком события может являться метод объекта встроенного языка. Тогда <ОбработчикСобытия> задается как <Выражение>.<Имя_обработчика>, где: • <Выражение> - произвольное выражение на встроенном языке, том которого должен быть объект, метод которого служит обработчиком события; • <Имя_обработчика> - имя метода обработчика события.
1 -270 1 С:Предприятие 8.1. Конфигурирование и администрирование Также в качестве обработчика события может быть задана процедура/ функция, находящаяся в области видимости. В этом случае обработчик события задается как имя процедуры/функции. Описание Добавляет обработчик события. При добавлении обработчика события производится проверка соответствия числа параметров события числу параметров метода, назначаемого в тве обработчика. Пример ; Обработка = Обработки.КонтрольДокумента.Создать О; Накладная = Документы.Накладная.СоздатьДокумент(); ДобавитьОбработчик Накладная.ПриЗаписи, Обработка.ПриЗаписиДокумента; , msword = Новый СОМОбъект("Word.Application"); ДобавитьОбработчик msword.DocumentChange, ПриИзмененииДокумента ; Процедура ПриИзмененииДокумента() Сообщить("Документ изменен"); КонецПроцедуры : __ __ __ __ _ J УдалитьОбработчик^етоуеНапсНег) Синтаксис УдалитьОбработчик <Событие>, <ОбработчикСобытия>; Англоязычный синтаксис RemoveHandler <Событие>, <ОбработчикСобытия>; Параметры <Событие> Событие, обработчик которого удаляется. Событие задается в форме <Выражение>.<Имя_события>, где: • <Выражение> - произвольное выражение на встроенном языке. Его результатом должен быть объект, обработчик события которого ется; • <Имя_события> — идентификатор (имя) события. <ОбработчикСобытия> Процедура/функция-обработчик события.
Глава 4. Встроенный язык 1-271 Обработчиком события может являться метод объекта встроенного языка. Тогда <ОбработчикСобытия> задается как <Выражение>.<Имя_обработчика>, где: • <Выражение> - произвольное выражение на встроенном языке. Его результатом должен быть объект, метод которого служит обработчи- ' ком события; • <Имя_обработчика> - имя метода обработчика события. Также в качестве обработчика события может быть задана процедура/ функция, находящаяся в области видимости. В этом случае обработчик события задается как имя процедуры/функции. Описание 'Удаляет обработчик события. При удалении обработчика события производится проверка соответствия числа параметров события числу параметров метода, назначенного в тве обработчика. Пример УдалитьОбработчик Накладная.ПриЗаписк; Обработка аписи.чокумснта ; ' J. Основные приемы работы Обращение к свойствам объектов Помимо основного обращения через точку, в языке системы 1 тие 8 предусмотрен механизм обращения к свойствам объектов по строке с именем свойства с помощью оператора [] (квадратные скобки). Синтаксис <Объект>[<Имя свойства>] Параметры <Объект> Объект, к свойству которого идет обращение. <Имя свойства> Тип Строка. Имя свойства, к которому необходимо обратиться. Описание Такая конструкция позволяет обращаться к свойствам объектов так же, как iro делается через точку с указанием имени свойства.
1 -272 1 С:Предприятие 8.1. Конфигурирование и администрирование Пример Спр = Справочники.Номенклатура.НайтиПоКоду(ИскомыйКод); // Обращение к наименованию справочника по строке с именем свойства| А = Спр["Наименование"]; // Обращение к наименованию справочника по имени свойства А = Спр.Наименование; // Оба эти обращения к свойству абсолютно равнозначны Дополнение контекста объектов и форм В языке есть возможность при обращении к объектам и формам извне, из других программных модулей, обращаться к переменным, процедурам и функциям этих модулей, как к свойствам и методам самих объектов и форм. Можно обращаться к тем переменным, процедурам и функциям, которые объявлены с ключевым словом Экспорт. Для форм дополнительно возможно обращение к реквизитам формы. Пример // Пример использования процедуры печати документов из жур // документов. Допустим, у нас есть несколько различных докуме""">в, // причем у всех есть процедура Печать(). В модуле журнала документов I // располагается кнопка "Печать", которая вызывает процедуру ' печати // текущего документа журнала. | Процедура ПечатьНажатие(Элемент) // Получим текущий документ, на котором установлен курсор. ТекДок = ЭлементыФормы.ЖурналСписок.ТекущаяСтрока; // Получим основную форму текущего документа. ФрмТекДок = ТекДок.ПолучитьФорму(); // Вызовем процедуру печати, расположенную //в модуле формы документа. ФрмТекДок. Печать {) ,- КонецПроцедуры Передача параметров процедур и функций По умолчанию параметры методов, процедур и функций передаются по ссылке, то есть изменение внутри процедуры или функции значения формального параметра ведет к изменению значения соответствующего фактического параметра. При передаче параметра по значению изменение значения формального параметра никак не влияет на фактический параметр вызова процедуры. Для указания того, что тот или иной параметр следует передавать по значению, следует в исходном тексте процедуры или функции перед именем параметра записать ключевое слово Знач.
Глава 4. Встроенный язык 1-273 Если параметру задано значение по умолчанию и он является последним в списке, то при вызове процедуры его можно опускать в списке ваемых фактических параметров и не ставить запятую перед опущенным параметром. Если параметру не задано значения по умолчанию, то при вызове ры его можно опускать в списке передаваемых фактических параметров, но разделительную запятую надо ставить. Если параметр при вызове процедуры опущен, то он принимает либо установленное по умолчанию значение (если оно есть), либо значение Неопределено. Если при вызове метода, процедуры или функции параметры не передаются (пустой список параметров), то, тем не менее, круглые скобки обязательно требуется ставить. Пример Перем Глоб; // Описание функции Функция МояФункцияОнач Itapl, Пар2, ПарЗ) Экспорт , Лок = Глоб + Пар1 + Пар2 + ПарЗ; Пар1 = 40; Возврат Лок; КонецФугащии; // Описание процедуры Процедура МояПроцедура(Пар1, Пар2, ПарЗ) Экспорт Лок = Глоб + Пар1 + Пар2 + ПарЗ; Пар1 = 40; КонецПроцедуры; Глоб = 100; А = 10; Рез = МояФункция(А, 10, 10); // Вызов функции ? // Здесь Рез = 130, а переменная А = 10, несмотря на то, что в теле // функции значение параметра Пар1 изменено на 40. МояПроцедура(А, 10, 10); // Вызов процедуры // Здесь переменная А = 40, поскольку в теле // процедуры значение параметра Пар1 изменено на 40. Работа с коллекциями значений Ряд объектов в языке системы 1С:Предприятие 8 представляет собой коллекции значений. Большинство коллекций имеют набор схожих методов и свойств, таких как Количество(), Индекс(), Добавить(), Удалить() и т.д. В качестве свойств коллекции, как правило, выступают ее элементы. Для коллекций доступен обход элементов коллекции посредством конструкции
1-274 1С:Предприятие 8.1. Конфигурирование и администрирование Для каждого - Из - Цикл. Для большинства коллекций доступно обращение к элементам коллекции с помощью оператора [<Аргумент>] (квадратные скобки). Как правило, в качестве аргумента передается индекс элемента коллекции. Индексирование элементов коллекции начинается с 0. Это означает, что индекс последнего элемента равен количеству элементов в коллекции минус 1. Подробнее описание конкретных коллекций, их свойств, методов и приемов работы с ними см. в описаниях конкретных объектов. Использование номеров и индексов В языке системы 1С:Предприятие 8 есть ряд объектов, отдельные части которых имеют нумерацию. К таким объектам, например, относится строка, символы которой имеют номер в строке, или табличный документ, строки и колонки которого имеют номер, и т. п. При обращении к частям объектов обычно используется понятие Номер. Номера начинаются с 1. При обращении к элементам коллекций используется понятие Индекс. Индексирование элементов коллекций начинается с 0. Работа с системными перечислениями Во встроенном языке системы 1С:Предприятие 8 существует понятие системных перечислений. Они предназначены для определения го ограниченного набора предопределенных значений. Доступ к системным перечислениям осуществляется как к свойствам глобального контекста его имени. Конкретные значения указываются через точку от имени го перечисления. Системные перечисления используются, как правило, для задания значений параметров системных методов или свойств объектов, а также в качестве возвращаемых значений методов. Особенности режимов запуска системы Система 1С:Предприятие 8.1 может использоваться в файловом и клиент- серверном вариантах, в сессии СОМ-соединения, а также в виде Web-сервисов (см. стр. 2-612). Конфигуратор позволяет настроить использование процедур и функций общих модулей и модулей объектов для каждого варианта. Исполнение процедур и функций Для указания разрешения применения процедур и функций общих модулей и модулей объектов используют инструкции препроцессору. J
Глава 4. Встроенный язык 1-275 Синтаксис инструкций препроцессору следующий: #Если Логическое выражение> Тогда #ИначеЕсли Логическое выражение> Тогда #Иначе #КонецЕсли Логическое выражение> = [НЕ] <Символ препроцессора> [<Булева операция> [НЕ] <Символ препроцессора> [<Булева операция> [НЕ] <Символ препроцессора^...] <Символ препроцессора> = {Клиент | Сервер | ВнешнееСоединение} <Булева операция> = {И | ИЛИ} Русское имя #Если #Тогда #ИначеЕсли #Иначе #КонецЕсли Клиент Сервер ВнешнееСоединение И ИЛИ НЕ Английское имя #If #Then #ElsIf #Else . #EndIf Client Server ExternalConnection AND OR NOT Регистр букв (строчные или заглавные) при написании не имеет значения. В варианте клиент-сервер Если используется клиент-серверный вариант запуска системы 1 ятие 8, то можно организовывать вьшолнение различных процедур и функций на сервере приложения или на клиентском месте. Для выполнения на сервере: #Если Сервер Тогда #КонецЕсли Для выполнения на клиентском месте: i #Если Клиент Тогда '... I ¦"'''* : Ко ецЕсли
1-276 1С:Предприятие 8.1. Конфигурирование и администрирование Для того чтобы процедура присутствовала и была вызвана на стороне ра, фрагмент кода должен выглядеть следующим образом: ' #Есяи Сервер Тогда Процедура Проц1() Экспорт •• КонецПроцедуры [#КонецЕсли Важно! В приведенном тексте вся процедура, а не ее часть, находится внутри блока #Если Сервер Тогда ... #КонецЕсли. При запуске конфигурации на выполнение производится загрузка и ляция конфигурации. Экземпляры всех общих модулей создаются как на серверной, так и на клиентской стороне. Если в каком-то из общих модулей содержится приведенный фрагмент кода, то он в соответствии с цией препроцессора #Если Сервер Тогда ... #КонецЕсли будет скомпилирован только на стороне сервера, а на стороне клиента данный фрагмент «выпадет» из компилируемого текста, и, таким образом, процедура на стороне клиента не будет представлена совсем. Далее, при компиляции на стороне клиента модулей, в которых ся обращение к данной процедуре, будет произведен ее поиск на стороне клиента. На стороне клиента таковой процедуры нет, следовательно, она не будет найдена. Тогда будет произведен поиск процедуры в общих модулях на стороне сервера, где она будет обнаружена, и все вызовы будут ляться для выполнения на сервер 1С:Предприятия 8. Если блок #Если Сервер Тогда ... #КонецЕсли включает только часть дуры, то процедура будет присутствовать как на стороне клиента, так и на стороне сервера. Только на клиентской стороне она будет без той части, которая заключена в блок, поэтому результат выполнения процедуры может зависеть от того, где обрабатывается вызов этой процедуры. Для правильного понимания ситуации в случае использования клиент- серверного варианта информационной базы важным понятием является «экземпляр модуля». Экземпляр модуля содержит скомпилированный код модуля, значения глобальных переменных модуля и т. п. Экземпляры всех общих модулей создаются как на стороне клиента, так и на стороне ра. Экземпляры модулей таких объектов, как документы или элементы справочников, существуют при своих объектах и могут появляться как на клиентской, так и на серверной стороне, в зависимости от того, где ся тот или иной объект. Общие модули образуют некоторую общедоступную библиотеку процедур и функций, которые могут быть использованы во всех других модулях.
Глава 4. Встроенный язык 1-277 Предположим, что модуль некоторого объекта, например документа Д, содержит обращение к процедуре П(), определенной в одном из общих модулей. При этом «вокруг» процедуры П() нет никаких операторов препроцессора. В этом случае процедура П() будет содержаться как в экземпляре общего модуля на клиентской стороне, так и в экземпляре общего модуля на серверной стороне. Таким образом, модуль документа, созданного на стороне клиента, будет обращаться к процедуре П() из общего модуля на стороне клиента, а модуль документа, созданного на стороне сервера, будет обращаться к процедуре общего модуля на стороне сервера. Теперь предположим, что процедура П() заключена в блок #Если Сервер Тогда ... #КонецЕсли. В этом случае экземпляр общего модуля на клиентской стороне не будет содержать процедуру П(), и все обращения к ней как со стороны клиента, так и со стороны сервера всегда будут разрешаться за счет экземпляра общего модуля на серверной стороне. То есть все вызовы процедуры П() всегда будут обрабатываться на сервере. А теперь предположим, что процедура П() заключена в блок #Если Клиент Тогда ... #КонецЕсли. В этом случае экземпляр общего модуля на стороне сервера не будет содержать процедуру П(), и обращение к ней будет но только на стороне клиента. А экземпляр модуля, содержащий обращение к процедуре П(), не сможет быть создан на стороне сервера, так как вызовы клиентских процедур с сервера не поддерживаются, и обращение к процедуре П() на серверной стороне останется неразрешенным. В файловом варианте все намного проще: клиентская и серверная сторона считаются «слившимися». При компиляции всех модулей Сервер и Клиент считаются определенными, и фрагменты кода, находящиеся внутри блоков #Если Сервер Тогда... #КонецЕсли и #Если Клиент Тогда ... #КонецЕсли, не будут «вырезаться» при компиляции модулей. В файл-серверном варианте В файловом варианте инструкции препроцессору #Если Сервер... или #Если Клиент... пропускаются, поэтому экземпляр кода будет присутствовать всегда. В сессии СОМ-соединения Для включения возможности использования процедур и функций в сессии внешнего соединения применяется инструкция препроцессора. * #Если БнешнееСоединение Тогда ' #КонецЕслн
1 -278 1С:Предприятие 8.1. Конфигурирование и администрирование Особенности использования объектов, их свойств и методов Недоступен на сервере 1С Предприятия 8.1. Как уже указывалось выше, при исполнении встроенного языка на сервере 1С:Предприятия 8.1 не все объекты, а также их свойства и методы могут быть доступны. Например, недоступны объекты глобального контекста, предназначенные для ния интерфейсом, за исключением функции Сообщить. Также возможна ситуация, когда сам объект доступен для использования на сервере, а его свойства или методы нет. Поэтому их использование на ре теряет смысл. Для сессии внешнего соединения доступен весь глобальный контекст, за исключением объектов, жестко связанных с клиентским приложением (Тексто- выйДокумент, ТабличныйДокумент). Если объект, его свойство или метод доступен на сервере, то специального упоминания об этом в данном описании производиться не будет. В противном случае в документации будет указано на невозможность использования на сервере. Исключения составляют значения системных перечислений. В них возможность использования указывается только для самих объектов. зумевается, что значения перечислений «наследуют» эту возможность. Важно! Если для объекта указано, что он недоступен на сервере, то тва и методы данного объекта также недоступны. Поэтому специального упоминания об этом при описании свойств и методов не приводится. Не используется в режиме внешнего соединения. Аналогичное правило вводится для возможности использования объектов, их свойств и методов в сеансе внешнего соединения. Сериализуется. Указывает возможность сохранения значения объектов (например, методами СохранитьЗначение() и ЗначениеВФайл(), сохранение параметров форм отчетов и обработок), а также помещение в ХранилищеЗна- чения. XML-сериализация. Указывает возможность поддержки чтения/записи значений данных системы 1С:Предприятие 8.1 в/из XML. Подробнее см. главу «Механизмы обмена данными». Возможен обмен с сервером. Указывает возможность обмена значениями данного типа между клиентом и сервером. Поддержка отображения в XDTO. Указывает на то, что данный тип имеет возможность отображения в модель данных XDTO. При этом указывается квалифицированное имя типа (типов) (указывается URI пространство имен и имя типа), в который отображается данный тип. Например, для типа Храни- лищеЗначения:{ппр://у8.1с.ги/8.1Ма1а/соге}\/а1ие8югаде.
Глава 5 Работа с запросами Для формирования и выполнения запросов к таблицам базы данных в ме используется специальный объект Запрос. Запрос удобно использовать, когда необходимо получить сложную выборку данных, сгруппированную и отсортированную нужным образом. Одним из классических примеров его применения может служить сводка по состоянию регистра учета на ленный момент времени. Кроме того, механизм запросов позволяет легко получать информацию в различных временных разрезах. Источники данных (таблицы) запросов В качестве источников данных языка запросов выступают таблицы базы данных. Таблицы подразделяются на два основных класса: реальные и виртуальные. Реальные таблицы хранятся в базе данных, то есть интерпретируются из реально существующей таблицы базы данных. В случае ния реальной таблицы могут присутствовать вычисляемые поля, значения которых вычисляются как функция нескольких реальных полей. Виртуальные таблицы не хранятся в базе данных. При обращении к мации виртуальных таблиц система автоматически собирает информацию реальных таблиц базы данных для выполнения запроса. Виртуальная ца может быть параметризована, то есть реальное наполнение виртуальной таблицы может определяться значениями параметров, фактические ния которых задаются в тексте запроса. Для каждой виртуальной таблицы определяется имя, которое используется в запросах для идентификации таблицы. Имя таблицы может быть задано на английском и русском языках. Например, Справочник.Товары. Имена таблиц и полей не могут совпадать с ключевыми словами языка запросов. Отдельный подкласс таблиц образуют так называемые объектные таблицы. В качестве объектной таблицы обязательно выступает реальная ца базы данных. Смысловое отличие объектных таблиц от прочих следует из названия - объектные таблицы предназначены для хранения состояния
1 -280 1 С:Предприятие 8.1. Конфигурирование и администрирование объектов системы 1С:Предприятие 8, таких как справочники, ты и т. п. Каждой объектной таблице соответствует тип объектов системы 1С:Предприятие 8. Например, объектам типа Справочник.Товары твует одна таблица, объектам типа Справочник.Контрагенты - другая. Каждая отдельная запись объектной таблицы хранит состояние отдельного объекта соответствующего типа. В соответствии с этим у каждой объектной таблицы определено поле типа Ссылка на текущую запись. Кроме того, для ных таблиц определен способ получения пользовательского представления объекта из содержимого полей записи. Объектные таблицы могут быть также иерархическими. Для иерархических таблиц определяется специально выделенное поле Родитель, содержащее ссылку на запись, которой в соответствии с иерархией подчиняется текущая запись. В качестве поля таблицы может фигурировать: • поле виртуальной или реальной таблицы; • вложенная таблица. Основное отличие обычного поля от вложенной таблицы состоит в том, что в рамках одной записи обычному полю соответствует одно-единственное значение, а вложенной таблице соответствует значение типа РезультатЗа- проса с заранее заданным набором колонок. Примером вложенной таблицы может являться табличная часть документа или справочника. В качестве типов значения полей таблиц может выступать значение типа NULL. Такие значения содержатся в полях записей таблиц, для которых данное поле не определено или не имеет смысла. Например, значения такого типа содержатся в записях, относящихся к группам справочника, по полям, для которых установлено, что они могут иметь значение только у элементов этого справочника. Язык запросов Как было описано выше, для выполнения запроса необходимо составить текст запроса. Текст запроса - это инструкция, в соответствии с которой должен быть выполнен запрос. В тексте запроса описывается, какие цы информационной базы используются в качестве источников данных запроса, поля таблиц, которые требуется обрабатывать в запросе, правила группировки, сортировки результатов и т. д. Инструкция составляется на специальном языке (языке запросов) и состоит из отдельных частей - секций, предложений, слов, функций и ев. Далее в этой главе рассматривается назначение и способы использования всех конструкций языка запросов.
Глава 5. Работа с запросами 1-281 Синтаксическая диаграмма конструкций языка запросов В данной главе синтаксис языка запросов описывается при помощи набора правил. Каждое правило описывает одну конструкцию языка. Каждая конструкция языка может содержать в себе ключевые тели (точки, запятые, круглые скобки), в свою очередь, другие конструкции языка. Пример <Конструкция языка> ЭТО_КЛЮЧЕВОЕ_СЛОВО <Это конструкция языка>, <Это конструкция языка> ЭТО_ФУНКЦИЯ (Ото конструкция языка>) В правилах, описывающих язык запросов, конструкции языка ся в угловых скобках. Ключевые слова и названия функций описываются заглавными буквами. Конструкции языка могут- содержать необязательные элементы - вые слова и пр. В правилах, описывающих язык запросов, необязательные элементы заключены в квадратные скобки: [ЭТО_НЕОБЯЗАТЕЛЬНОЕ_СЛОВО] [<Это необязательная конструкция^ В некоторых случаях в конструкции языка может использоваться один из нескольких альтернативных элементов. Такие элементы в правилах ляются через вертикальную черту: ЛИБО_ЭТО_СЛОВО | ЛИБО_ЭТО_СЛОВО <Либо эта конструкция> | <Либо эта конструкция> Описания всех конструкций сопровождаются примерами, поясняющими порядок их использования в языке запросов. Комментарии в языке запросов Текст запроса может включать комментарии. Комментарием считается часть строки, начинающаяся с последовательности символов // и ющаяся до конца строки: // Это комментарий При выполнении запроса комментарии игнорируются.
1 -282 1 С:Предприятие 8.1. Конфигурирование и администрирование Использование предопределенных данных конфигурации Текст запроса может содержать предопределенные данные конфигурации, такие как: • значения перечислений; • предопределенные данные: • справочников; • планов видов характеристик; • планов счетов; • планов видов расчетов; • пустые ссылки; • значения точек маршрута бизнес-процессов. Также текст запроса может содержать значения системных перечислений, которые могут быть присвоены полям в таблицах базы данных: ВидДвиже- нияНакопления, ВидСчета и ВидДвижения Бухгалтерии. Обращение в запросах к предопределенным данным конфигурации и значениям системных перечислений осуществляется с помощью литерала функционального типа: ЗНАЧЕНИЕ(<ПредставлениеЗначения>) Для системных перечислений представление значение имеет вид: <ИмяСистемногоПеречисления>.<Значение> Допустимые имена системных перечислений приведены выше, с перечнем допустимых для каждого из них значений можно ознакомиться в его нии. Для предопределенных данных конфигурации представление значения имеет вид: <ТипПредопределенногоЗначения>.<ИмяОбъектаМетаданных>.<Значение> Тип предопределенного значения может быть: Справочник (Catalog); nnaHBHfloBXapaKTepHCTHK(ChartOfCharacteristicTypes); ПланСчетов (ChartOfAccounts); ПланВидовРасчетаССпагЮГСаЫайопТурев); Перечисление (Enum). В качестве имени объекта метаданных указывается имя объекта ных, как оно задано в конфигураторе. J
Глава 5. Работа с запросами 1-283 Для определенных в конфигурации перечислений значение указывается как имя соответствующего объекта метаданных типа ЗначениеПеречисления. Для всех остальных типов предопределенных значений - как имя пределенного элемента данных, как оно указано в конфигураторе, или ПустаяСсылка (EmptyRef) для указания пустой ссылки. Для точек маршрутов бизнес-процессов представление значения имеет вид: БизнесПроцесс.<ИмяОбъектаМетаданных>.ТочкаМаршрута.<ИмяТочкиМаршрута>. Ниже приведено несколько фрагментов запросов, поясняющих ние предопределенных данных в запросах. ГДЕ Город = ЗНАЧЕНИЕ(Справочник.Города.Москва) ГДЕ Город = ЗНАЧЕНИЕ(Справочник.Города. ПустаяСсылха) I ГДЕ ТилТовара = ЗНАЧЕНИЕ(Перечисление.ВидыТоваров.Услуга) {"«ГДЕ ВидДвижения = ЗНАЧЕНИЕ (ВидДвюсенияНакопления. Приход) j •#ш&$ | ГДЕ ТочкаМаршрута = ЗНАЧЕНИЕ(ВизкесПроцесс.ВиэнесПроцесс1.ТочкаМаршрута. Действие1) Двуязычное представление ключевых слов Одной из существенных особенностей языка запросов системы ятие 8 является то, что, как и во встроенном языке, все ключевые слова имеют два варианта написания: на русском и английском языках. Далее в этой главе указываются русские варианты написания ключевых слов. Ниже в це приведены соответствия русского и английского вариантов написания ключевых слов языка запросов. Русское написание АВТОУПОРЯДОЧИВАНИЕ БУЛЕВО В ВНЕШНЕЕ. ВНУТРЕННЕЕ ВОЗР ВСЕ ВЫБОР ВЫБРАТЬ ВЫРАЗИТЬ ГДЕ ГОД Английское написание AUTOORDER BOOLEAN IN OUTER INNER ASC ALL CASE SELECT CAST WHERE YEAR
1-284 1С:Предприятие 8.1. Конфигурирование и администрирование Русское написание ДАТА ДАТАВРЕМЯ ДЕКАДА ДЕНЬ ДЕНЬГОДА ДЕНЬНЕДЕЛИ ДЛЯ ИЗМЕНЕНИЯ ДОБАВИТЬКДАТЕ ЕСТЬ ECTbNULL ЗНАЧЕНИЕ И ИЕРАРХИИ ИЕРАРХИЯ ИЗ ИЛИ ИМЕЮЩИЕ ИНАЧЕ ИНДЕКСИРОВАТЬ ПО ИСТИНА ИТОГИ... ПО КАК КВАРТАЛ КОГДА КОЛИЧЕСТВО КОНЕЦПЕРИОДА КОНЕЦ ЛЕВОЕ ЛОЖЬ МАКСИМУМ МЕЖДУ МЕСЯЦ МИНИМУМ МИНУТА НАЧАЛОПЕРИОДА ' НЕ НЕДЕЛЯ НЕОПРЕДЕЛЕНО ОБЩИЕ ОБЪЕДИНИТЬ ПЕРВЫЕ ПЕРИОДАМИ ПОДОБНО Английское написание DATE DATETIME TENDAYS DAY DAYOFYEAR WEEKDAY FOR UPDATE [OF] DATEADD IS ISNULL VALUE AND HIERARCHY HIERARCHY FROM OR HAVING ELSE INDEX BY TRUE TOTALS ...BY AS QUARTER .WHEN COUNT ENDOFPERIOD END LEFT FALSE MAX BETWEEN MONTH MIN MINUTE BEGINOFPERIOD NOT WEEK UNDEFINED OVERALL UNION TOP PERIODS LIKE '
Глава 5. Работа с запросами 1-285 Русское написание ПОЛНОЕ ' ПОЛУГОДИЕ ПОМЕСТИТЬ ПРАВОЕ ПРЕДСТАВЛЕНИЕ ПУСТАЯТАБЛИЦА РАЗЛИЧНЫЕ СГРУППИРОВАТЬ ПО СЕКУНДА СОЕДИНЕНИЕ ... ПО СПЕЦСИМВОЛ ПОДСТРОКА СЕКУНДА СРЕДНЕЕ ССЫЛКА СТРОКА СУММА ТОГДА ТОЛЬКО УБЫВ УПОРЯДОЧИТЬ ПО ЧАС ЧИСЛО УНИЧТОЖИТЬ Английское написание FULL HALFYEAR INTO RIGHT -PRESENTATION EMPTYTABLE DISTINCT GROUPBY SECOND JOIN ...ON ESCAPE SUBSTRING SECOND AVG REFS STRING SUM THEN .ONLY DESC ORDER BY HOUR- NUMBER DROP Основные секции текста запроса Текст запроса можно описать следующим правилом: <Текш Запроса> <Описание запроса> [Объединение запросов>] ^Упорядочивание результатов>] [АВТОУПОРЯДОЧИВАНИЕ] [•"Описание итогов>] Как видно из этого правила, текст запроса состоит из нескольких частей^ или секций. Описание запроса> - это единственная обязательная секция в тексте са, и во многих случаях достаточно указать только ее. В секции определяются источники данных запроса, поля выборки, группировки и т. д. Эта секция, в свою очередь, описывается целым набором правил и подробно ется ниже.
1 -286 1 С:Предприятие 8.1. Конфигурирование и администрирование •^Объединение запросов> - язык запросов позволяет объединять результаты выполнения нескольких запросов. Объединение запросов описано в рафе «Объединение запросов». В секции Упорядочивание результатов> можно определить условия дочивания строк в результате запроса. Упорядочивание результата запроса рассматривается в параграфе «Упорядочивание результатов запроса». Секция АВТОУПОРЯДОЧИВАНИЕ позволяет включить режим го упорядочивания строк в результате запроса. Данный режим описывается в параграфе «Автоупорядочивание результатов». В секции <Описание итогов> можно указать, какие итоги необходимо тывать в запросе. Описание данной секции приводится в параграфе «Расчет итогов запроса». Описание запроса Как уже было сказано, в тексте запроса должна обязательно присутствовать секция описания запроса, в которой определяются: • поля, которые будут содержаться в результате запроса; • источники данных запроса - исходные таблицы; • условия, влияющие на выборку данных в запросе; • порядок группировки результатов запроса. Секция описания запроса состоит из нескольких взаимосвязанных жений: <Описание запроса> ВЫБРАТЬ [РАЗРЕШЕННЫЕ] [РАЗЛИЧНЫЕ] [ПЕРВЫЕ <Количество>] •Список полей выборки> [ИЗ <Список источников>] [ГДЕ <Условие отбора>] [СГРУППИРОВАТЬ ПО <Поля группировки^ [ИМЕЮЩИЕ <Условие отбора>] [ДЛЯ ИЗМЕНЕНИЯ [[OF]<CnncoK таблиц верхнего уровня>]] Описание запроса начинается с обязательного ключевого слова ВЫБРАТЬ. Ключевое слово РАЗРЕШЕННЫЕ (ALLOWED) означает, что запрос выберет только те записи, на которые у текущего пользователя есть права. Если ное слово не указать, то запрос отработает с ошибкой, когда он выберет записи, на которые у пользователя нет прав. Данное ключевое слово может присутствовать только в предложении ВЫБРАТЬ верхнего уровня и страняется на весь запрос, включая вложенные запросы.
Глава 5. Работа с запросами 1 -287 С помощью ключевого слова РАЗЛИЧНЫЕ можно указать, что в результат не должны попадать повторяющиеся строки. Конструкция ПЕРВЫЕ <Количество> позволяет задать предельное количество строк в результате запроса. Будут отобраны самые первые (в соответствии с правилами упорядочивания результатов запроса) строки. Количество ся целым числом. В языке запросов добавлена возможность исполнения упорядочивания во вложенных запросах в случае, если вложенный запрос содержит конструкцию ПЕРВЫЕ. В секции <Список полей выборки> описываются поля, которые должны жаться в результате запроса. Подробно правила описания полей выборки рассматриваются в параграфе «Описание полей выборки». В предложении ИЗ <Список источников> указываются источники данных - таблицы информационной базы, содержимое которых обрабатывается в запросе. Описание источников может быть опущено только в том случае, если они полностью определены в списке полей выборки. Правила ния источников данных запроса рассматриваются в параграфе «Описание источников запроса». Предложение ГДЕ <Условие отбора> позволяет отфильтровать результат запроса. В результат попадают только те записи, для которых указанное условие оказывается истинным. Правила описания условий отбора риваются в параграфе «Фильтрация результатов запроса». Предложение ДЛЯ ИЗМЕНЕНИЯ предназначено для указания необходимости блокировки считываемых в транзакции данных. Считанные данные вятся недоступными для чтения в других сессиях. Для файлового варианта блокируются указанные таблицы, а для клиент-серверного варианта - только выбранные записи. Блокировка снимается после завершения транзакции. Предложение СГРУППИРОВАТЬ позволяет описать порядок группировки результатов запроса. Подробно группировка рассматривается в параграфе «Группировка результатов запроса». Предложение ИМЕЮЩИЕ позволяет накладывать условия на результаты группировки (см. параграф «Условия на значения агрегатных функций»). Во всех примерах запросов в данной главе приводится текст запроса и результат запроса. Подразумевается, что текст запроса передается в тве параметра методу Выполнить объекта Запрос. Приведем пример достаточно простого запроса, состоящего из одного тора ВЫБРАТЬ и списка полей выборки.
1 -288 1 С:Предприятие 8.1. Конфигурирование и администрирование Пример //В отчет необходимо вывести список товарных накладных. Выбрать Документ, Расходнаянакладная.Ссылка i f „\ ..rrt.T.i.MT.u. ^ w,i,.i.w. ) J-, Результат запроса Ссылка Расходная накладная 00007 от 25.02.2002 21:03:21 i Расходная накладная 00006 от 25.02.2002 0:00:00 Расходная накладная 00005 от 01.03.2002 20:58:28 Расходная накладная 00004 от 01.03.2002 20:50:40 Расходная накладная 00003 от 23.02.2002 0:00:00 Расходная накладная 00002 от 15.01.2002 0:00:01 Расходная накладная 00001 от 25.02.2002 0:00:00 Расходная накладная 00009 от 01.03.2002 10:10:22 : Расходная накладная 00016 от 07.07.2002 0:00:00 Расходная накладная 00012 от 14.03.2002 21:27:41 Расходная накладная 00015 от 05.06.2002 19:13:03 Расходная накладная 00014 от 04.06.2002 17:18:12 Расходная накладная 00013 от 04.06.2002 17:18:22 Использование слова РАЗЛИЧНЫЕ Во многих ситуациях желательно, чтобы одинаковые строки в отчете не повторялись. Пример // Необходимо узнать, каким вообще контрагентам // отгружался товар за период. : 1 Выбрать , Документ.РасходнаяНакладная.Контрагент Результат запроса Контрагент Павильон 45 на оптовом рынке Павильон 45 на оптовом рынке Торговый дом «Буденовский» Торговый дом «Буденовский» Торговый дом «Буденовский» Торговый дом «Буденовский» Ярмарка одежды Торговый дом «Буденовский» Павильон 45 на оптовом рынке
Глава 5. Работа с запросами 1-289 Контрагент Трикотажная фабрика «Заря» Торговый дом «Буденовский» Торговый дом «Буденовский» Бавария - фарфор Видно, что в результате запроса много повторяющихся строк, что снижает его наглядность. Чтобы избежать повторений, в описании запроса следует указать ключевое слово РАЗЛИЧНЫЕ. Пример Выбрать Различные Документ.РасходнаяНакладная.Контрагент Результат запроса Контрагент Трикотажная фабрика «Заря» "^ Ярмарка одежды Торговый дом «Буденовский» Павильон 45 на оптовом рынке Бавария - фарфор Использование слова ПЕРВЫЕ В некоторых случаях необходимо вывести в отчет ограниченное тво строк. Для этого в описании запроса следует указать ключевое слово ПЕРВЫЕ и после него - требуемое количество строк. Пример // Необходимо отобрать пять самых дорогих товаров. *" ¦ // Выборка должна осуществляться в порядке убывания цены товара. Выбрать Первые 5 Справочник.Номенклатура.Наименование, ' Справочник.Номенклатура.3 акупочнаяЦена i I Упорядочить По ,. , , Справочник.Номенклатура.3 акупочнаяЦена Убыв Результат запроса Наименование Кухонный комбайн «Крупе» Джинсы женские Рубашка «Ковбойка» Брюки детские Смеситель «Ультра» ЗакупочнаяЦена 15 000 1500 1 100 '800 460
•1 -290 1С:Предприятие 8.1. Конфигурирование и администрирование Описание полей выборки После обязательного ключевого слова ВЫБРАТЬ (и уточняющих слов РАЗЛИЧНЫЕ и ПЕРВЫЕ) в тексте запроса задается список полей выборки. Эти поля будут обрабатываться при выборке данных в запросе. Результат са также будет иметь набор полей, определенный в данном списке. Поля выборки описываются по следующим правилам: <Список полей выборки? <Поле выборки>[, <Поле выборки>[,...]] | * <Поле выборки> <0писание поля> [[КАК] <Псевдоним поля>] <0писание поля> <Выражение>[.<Группа полей>]|<Описание пустой таблицы> <Описание пустой таблицы> ПУСТАЯТАБЛИЦА.(<Списокпсевдонимов>) <Список псевдонимов> [<Псевдоним поля>][,<Список псевдонимов>] Список полей выборки состоит из одного или нескольких элементов, ленных запятыми. Каждое поле выборки состоит из описания поля выборки и необязательного псевдонима поля. Вместо перечисления полей в списке выборки можно указать звездочку (*). Это будет означать, что результат запроса должен содержать все поля, которые есть в исходных таблицах - источниках данных запроса, ных в списке источников. Замечание 1. При указании звездочки (*) в списке полей выборки в результат не включаются виртуальные поля исходных таблиц. Замечание 2. Получение выборок очень большого размера (более 64 Мб) требует наличия достаточного количества свободного места на диске, используемом для размещения временных файлов сервера и клиента. Описание поля определяет, каким образом должны формироваться значения поля. В простейшем случае поле выборки является ссылкой на поле ной таблицы. Ссылка может задаваться с указанием таблицы, содержащей это поле, или без указания самой таблицы. Разыменование полей вается в параграфе «Разыменование полей». В общем случае поле выборки может представлять собой не только ссылку на поле исходной таблицы, а некоторое выражение. Подробно выражения рассмотрены в параграфе «Дополнение дат».
Глава 5. Работа с запросами 1-291 Результаты запроса могут быть сгруппированы с помощью агрегатных функций, указанных в качестве выражений в полях выборки. Группировка результатов запроса рассматривается в параграфе «Группировка результатов запроса». Агрегатные функции описаны в параграфе «Агрегатные функции языка запросов». Каждому полю выборки может быть назначен псевдоним. В дальнейшем псевдоним поля может использоваться для более удобного обращения к данному полю. Применение псевдонимов полей рассмотрено в параграфе «Псевдонимы полей в списке выборки». Группа полей может указываться только тогда, когда поле выборки ет на вложенную таблицу. В этом случае можно указать, какие поля должны обрабатываться в выборке по вложенной таблице. Если группа полей не указана, в выборке будут обрабатываться все поля вложенной таблицы. Обращение к вложенным таблицам описывается в параграфе «Вложенные таблицы в списке полей выборки». Псевдонимы полей в списке выборки Если полю выборки назначить псевдоним, то в дальнейшем к этому полю можно будет обращаться, используя его псевдоним, в предложениях ДОЧИТЬ ПО и ИТОГИ, а также при работе с результатом запроса. Такое обращение может быть более удобным и наглядным, а в некоторых случаях единственно возможным. Ключевое слово КАК может предшествовать псевдониму поля. Это слово можно не указывать вообще, но если оно указано, повышается наглядность и удобочитаемость текста запроса. Псевдонимы полей задаются в соответствии с правилами назначения фикаторов переменных. Псевдонимы в запросе не могут совпадать. Назначение псевдонимов полям само по себе никак не влияет на выборку данных в запросе. Пример // Необходимо внбрать из справочника товаров // наименования товаров и наименования групп. Выбрать Справочник.Номенклатура.Наименование Как Товар, Справочник.Номенклатура.Родитель.Наименование Как Группа Из Справочник.Номенклатура
1 -292 1С:Предприятие 8.1. Конфигурирование и администрирование Результат запроса Товар Брюки детские Рубашка «Ковбойка» Одежда Джинсы женские Свитер детский Сантехника Бытовая техника Раковина «Лилия» Мойдодыр «Аквариум» Смеситель «Ультра» Кухонный комбайн «Крупе» Мясорубка «Браун» Электронож «Крупе» Зажигалка для газовой плиты «Огонек» Калькулятор бухгалтерский Кухонная техника Оргтехника Группа Одежда Одежда Одежда Одежда Сантехника Сантехника Сантехника Кухонная техника Кухонная техника Кухонная техника Бытовая техника Оргтехника Бытовая техника Обратите внимание, что поля в результате запроса называются Товар и Группа. Если бы псевдонимы полей не были указаны, поля в результате запроса назывались бы Наименование и Наименование1 (названия полей в результате запроса не могут совпадать, поэтому к названию второго поля автоматически добавлено «1»), что менее наглядно. Вложенные таблицы в списке полей выборки Поле в списке выборки может ссылаться на вложенную таблицу ка данных запроса. В этом случае поле результата запроса будет иметь тип РезультатЗапроса, то есть содержать вложенный результат запроса, рованный на основе вложенной таблицы - источника. По умолчанию во вложенный результат включаются все поля вложенной таблицы - источника данных. Имеется возможность явно определить группу полей, которые должны содержаться во вложенном результате запроса. Группа полей вложенного результата описывается по следующему правилу: <Группа полей> (<Список вложенных полей>) | * <Список вложенных полей> <Вложенное поле>[, <Вложенное поле>[,...]] <Вложенное полё> <Выражение> [[КАК] <Псевдоним поля>]
Глава 5. Работа с запросами 1-293 Список вложенных полей состоит из одного или нескольких элементов^ разделенных запятыми. Если список состоит из одного элемента, его не обязательно заключать в скобки. Вместо перечисления вложенных полей можно указать звездочку (*); это будет означать, что результат запроса должен содержать все поля, которые есть во вложенной таблице. Вложенное поле может представлять некоторое выражение. В шем случае выражение - это ссылка на поле вложенной таблицы. Подробно выражения рассмотрены в параграфе «Дополнение дат». Каждому вложенному полю может быть назначен псевдоним. В дальнейшем псевдоним поля может использоваться для более удобного обращения к данному полю, аналогично псевдонимам полей списка выборки - см. раздел «Псевдонимы полей в списке выборки». Псевдонимы вложенным полям могут быть назначены независимо от того, задан ли псевдоним самой вложенной таблице. Пример // В отчет необходимо вывести спецификацию товарных накладных // сам документ, номенклатуру и количество. i Выбрать [ Документ.РасходнаяНакладная.Ссылка, Документ.РасходнаяНакладная.Состав.{Номенклатура Как Товар, Количество)! Результат запроса Ссылка Расходная накладная 00007 от 25.02.2002 21:03:21 Расходная накладная 00006 от 25.02.2002 0:00:00 Расходная накладная 00005 от 01.03.2002 20:58:28 Расходная накладная 00004 от 01.03.2002 20:50:40 Расходная накладная 00003 от 23.02.2002 0:00:00 Состав Товар Джинсы женские Товар Джинсы женские Рубашка «Ковбойка» Товар Джинсы женские Товар Джинсы женские Количество 4 Количество 5 5 Количество 1 Количество 1 Товар Мойдрдыр «Аквариум» Раковина «Лилия» Смеситель «Ультра» Количество 5 8 10
1 -294 1 С:Предприятие 8.1. Конфигурирование и администрирование Обратите внимание, что поле Состав результата запроса представляет собой вложенную таблицу, имеющую поля Номенклатура и Количество. Пример i // В отчет вывести все поля табличной части накладной. i Выбрать • Документ.РасходнаяНакладная.Ссылка, Документ.РасходнаяНакладная.Состав.* Пустые вложенные таблицы в списке выборки Если в запросе используется объединение и в некоторых частях нения присутствуют вложенные таблицы, а в некоторых - нет, возникает необходимость дополнения списка выборки полями — пустыми ми таблицами. Делается это при помощи ключевого слова ПУСТАЯТАБЛИЦА после которого в скобках указываются псевдонимы полей, из которых будет состоять вложенная таблица. Пример // Выбрать поля Номер и Состав ! // из виртуальной таблицы Документ.РасхНакл ВЫБРАТЬ Ссылка.Номер, ПУСТАЯТАБЛИЦА.(Ном, Тов, Кол) КАК Состав jM3 Документ.РасхНакл ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ Ссылка.Номер, Состав.(НомерСтроки, Товар, Количество) |ИЗ Документ.РасхНакл Документ.РасходнаяНакладная.Состав.* Описание источников запроса Задача предложения ИЗ состоит в том, чтобы обозначить список исходных таблиц - источников данных, используемых в данном операторе ВЫБРАТЬ. Следует отметить, что предложение ИЗ в языке запросов является нальным. Оно может быть опущено в том случае, если источники данных полностью квалифицированы в описании списка полей выборки, щегося в предложении ВЫБРАТЬ. Обратите внимание, что ряд примеров предыдущих разделах не содержал предложения ИЗ. После ключевого слова ИЗ указывается список источников. В общем случае список источников описывается следующим набором правил: <Список источников> <Источник>[, <Источник>[,...]] <ИсточниК> •«Описание источника> Г <Перечень соединение 1
Глава 5. Работа с запросами 1-295 Описание источника> <Таблица> [[КАК] <Псевдоним источника>] <Таблица> <Имя таблицы>[(<Параметры>)] | (Описание запроса>) Источники данных запроса перечисляются в списке источников через запятую. Каждый источник в списке источников обязательно включает в себя описание источника; кроме того, может быть указан перечень ний - правила соединений источника с другими источниками. Спецификации соединений описываются в параграфе «Спецификации соединений». Если в качестве источника данных выступает таблица информационной базы, описание источника содержит имя таблицы. Если исходная таблица виртуальная, могут быть указаны параметры ее формирования. Подробно параметры виртуальных таблиц описаны в ле «Источники данных запросов». В качестве источника данных запроса может выступать также вложенный запрос. В этом случае описание источника содержит описание запроса. Использование вложенных запросов описано в параграфе «Вложенные запросы в списке источников». В описании источника данных может быть также назначен его псевдоним. В дальнейшем псевдоним источника может использоваться для более го обращения к данному источнику. Применение псевдонимов источников данных рассмотрено в параграфе «Псевдонимы источников данных». Спецификации соединений При определении нескольких источников в списке для каждой записи из первой таблицы-источника осуществляется выборка из второй таблицы- источника и т. д. Таким образом, в результате запроса формируются все возможные комбинации всех записей из всех указанных источников. Пример ыбрать | Контрагенты.Ссылка Как Контрагент, I Банки.Ссылка Как Банк ¦ I Ш ' л * • • Из Справочник.Контрагенты Как Контрагенты, [ Справочник.Банки Как Банки
1-296 1С:Предприятие 8.1. Конфигурирование и администрирование Результат запроса Контрагент Поставщики Поставщики Трикотажная фабрика «Заря» Трикотажная фабрика «Заря» Фабрика джинсовой одежды Фабрика джинсовой одежды Покупатели Покупатели Ярмарка одежды Ярмарка одежды Торговый дом «Буденовский» Торговый дом «Буденовский» Павильон 45 на оптовом рынке Павильон 45 на оптовом рынке Бавария - фарфор , Бавария - фарфор Фабрика джинсовой одежды Фабрика джинсовой одежды АКБ Промстройбанк АКБ ПромСтройБанк Банк АКБ ИвестБанк АКБ Промстройбанк АКБ ИвестБанк АКБ ПромСтройБанк АКБ ИвестБанк АКБ ПромСтройБанк АКБ ИвестБанк АКБ ПромСтройБанк АКБ ИвестБанк АКБ ПромСтройБанк АКБ ИвестБанк АКБ ПромСтройБанк АКБ ИвестБанк АКБ ПромСтройБанк АКБ ИвестБанк АКБ ПромСтройБанк. АКБ ИвестБанк АКБ ПромСтройБанк АКБ ИвестБанк АКБ ПромСтройБанк Результат запроса содержит комбинации всех контрагентов со всеми банками. Как правило, такой результат сам по себе смысла не имеет. Обычно комбинации записей из разных исходных таблиц требуется ограничить какими-либо ми. В языке запросов имеется возможность описать такое соединение источников, указывая сами источники и определяя условия, в соответствии с которыми нации записей из этих источников требуется включить в результат запроса. Соединения бывают нескольких видов; они описываются следующими правилами: <Перечень соединение <Соединение> [<Перечень соединений>] <Соединение> [ВНУТРЕННЕЕ] СОЕДИНЕНИЕ Описание источника> ПО <Условие отбора> | ЛЕВОЕ [ВНЕШНЕЕ] СОЕДИНЕНИЕ Описание источника> ПО <Условие отбора> | ПРАВОЕ [ВНЕШНЕЕ] СОЕДИНЕНИЕ Описание источника> ПО <Условие отбора> | ПОЛНОЕ [ВНЕШНЕЕ] СОЕДИНЕНИЕ Описание источника> ПО <Условие отбора> | В общем случае перечень соединений может содержать и описывать не только одно соединение (двух источников), но и несколько соединении нескольких источников сразу.
Глава 5. Работа с запросами 1-297 Описание источника содержит описание исходной таблицы (см. раздел «Описание источников запроса»). Условие отбора содержит условия, в соответствии с которыми в выборке необходимо соединить данные из исходных таблиц - источников запроса. Правила описания условий в языке запросов рассматриваются в параграфе «Условия в языке запросов». Ключевые слова ЛЕВОЕ, ПРАВОЕ и ПОЛНОЕ уточняют характер соединения. Слова ВНУТРЕНЕЕ или ВНЕШНЕЕ можно не указывать вообще, они ют наглядность и удобочитаемость текста запроса. Соединяемые источники не равнозначны между собой, и в некоторых ях результат зависит от того, какая таблица указана первой, до ключевого слова СОЕДИНЕНИЕ (слева от него), а какая - второй (справа). Внутреннее соединение Внутреннее соединение означает, что из обеих исходных таблиц - ков данных в результат запроса необходимо включить только те комбинации записей, которые соответствуют указанному условию. Остальные записи в результат не попадают. Пример ' // Необходимо выяснить, какие банки являются одновременно // контрагентами {одинаковые наименования присутствуют //ив справочнике Контрагенты, и в справочнике Банки). Выбрать Контрагенты.Ссылка Как Контрагент, Банки.Ссылка как Банк. Из Справочник.Контрагенты Как Контрагенты- Внутреннее Соединение Справочник.Банки Как Банки По Контрагенты.Наименование = Банки.Наименование Результат запроса Контрагент АКБ ПромСтройБанк Банк АКБ ПромСтройБанк Левое внешнее соединение Левое внешнее соединение означает, что в результат запроса надо включить комбинации записей из обеих исходных таблиц, которые соответствуют указанному условию. Но, в отличие от внутреннего соединения, в результат
1-298 1С:Предприятие 8.1. Конфигурирование и администрирование запроса надо включить также еще и записи из первого (указанного слева от слова СОЕДИНЕНИЕ) источника, для которых не найдено соответствующих условию записей из второго источника. Таким образом, в результат запроса будут включены все записи из первого источника; они будут соединены с записями из второго источника при нении указанного условия. Строки результата запроса, для которых не найдено соответствующих условию записей из второго источника, будут содержать NULL в полях, формируемых на основании записей из этого источника. Пример I // В отчет необходимо вывести всех контрагентов, а для тех, // кто является также банком, указать ссылку на банк. Выбрать Контрагенты.Ссылка Как Контрагент, Банки.Ссылка Как Банк. Из Справочник.Контрагенты Как Контрагенты Левое Внешнее Соединение Справочник.Банки Как Банки По Контрагенты.Наименование = Банки.Наименование Результат запроса Контрагент Поставщики Трикотажная фабрика «Заря» Фабрика джинсовой одежды Покупатели Ярмарка одежды Торговый дом «Буденовский» Павильон 45 на оптовом рынке Бавария - фарфор Фабрика джинсовой одежды АКБ Промстройбанк Банк NULL NULL NULL NULL NULL NULL NULL NULL NULL АКБ Промстройбанк Правое внешнее соединение Правое внешнее соединение означает, что в результат запроса нужно из обеих исходных таблиц включить комбинации записей, которые твуют указанному условию. Кроме того, в результат запроса нужно также включить еще и записи из второго (указанного справа от слова СОЕДИ-
Глава 5. Работа с запросами 1-299 НЕНИЕ) источника, для которых не найдено соответствующих условию записей из первого источника. Таким образом, в результат запроса будут включены все записи из второго источника; они будут соединены с записями из первого источника при нении указанного условия. Строки результата запроса, для которых не найдено соответствующих условию записей из первого источника, будут содержать NULL в полях, формируемых на основании записей из этого источника. Пример //В отчет необходимо вывести все банки, а для тех, // кто является также и контрагентом, указать ссылку на контрагента. ВЫБРАТЬ j Контрагенты.Ссылка Как Контрагент, Банки.Ссылка Как Банк i j Из Справочник.Контрагенты Как Контрагенты j Правое Внешнее Соединение I Справочник.Банки Как Банки j По онтрагенты. Наименование Банки. Наименование -, Результат запроса Контрагент NULL АКБ ПромСтройБанк Банк АКБ ИвестБанк АКБ ПромСтройБанк Полное внешнее соединение Полное внешнее соединение означает, что в результат запроса нужно включить комбинации записей из обеих исходных таблиц, которые соответствуют указанному условию. Кроме того, в результат запроса нужно пключить еще и те записи из обоих источников, для которых не найдено соответствий. Таким образом, в результат запроса будут включены все записи из обоих источников; они будут соединены друг с другом при выполнении указанного условия. Строки результата запроса, для которых не найдено ющих условию записей из какого-либо источника, будут содержать NULL II полях, формируемых на основании записей из этого источника.
1-300 1С:Предприятие 8.1. Конфигурирование и администрирование , // В отчет необходимо вывести всех контрагентов и все банки, //а тех, кто является и тем, и другим, вывести в одной строке. [ Выбрать Контрагенты.Ссылка Как Контрагент, Банки.Ссылка Как Банк Из Справочник.Контрагенты Как Контрагенты Полное Внешнее Соединение Справочник.Банки Как Банки По Контрагенты.Наименование = Банки.Наименование Результат запроса Контрагент Поставщики Трикотажная фабрика «Заря» Фабрика джинсовой одежды Покупатели Ярмарка одежды Торговый дом «Буденовский» Павильон 45 на оптовом рынке Бавария - фарфор Фабрика джинсовой одежды АКБ ПромСтройБанк NULL Банк NULL NULL NULL NULL NULL NULL NULL NULL NULL АКБ ПромСтройБанк АКБ ИвестБанк Псевдонимы источников данных Если источнику данных назначить псевдоним, то в дальнейшем к этому источнику можно будет обращаться, используя этот псевдоним (и уже нельзя будет обращаться через указание имени таблицы). Такое обращение может быть более удобным и наглядным, а в некоторых случаях но возможным. Псевдоним задается в соответствии с правилами назначения идентификатор ров переменных. Псевдонимы в запросе не могут совпадать. Ключевое слово КАК может предшествовать псевдониму источника. Это слово можно не указывать вообще, но если оно указано, повышается ность и удобочитаемость текста запроса. Назначение псевдонимов источникам само по себе никак не влияет иа выборку данных в запросе.
Глава 5. Работа с запросами 1-301 Пример Выбрать Товар.Наименование, Товар.Родитель Из Справочник.Номенклатура Как Товар Данный пример демонстрирует использование в списке полей выборки нима Товар, назначенного исходной таблице Справочник.Номенклатура. Вложенные таблицы в списке источников В списке источников могут фигурировать и вложенные таблицы — ные части справочников и документов. Пример ____„ //В отчет необходимо вывести спецификацию товарных накладных // показать сам документ, номенклатуру и количество. // В списке источников указана вложенная таблица "Состав" - // табличная часть накладной. // Выборка ограничена восемью записями, чтобы не перегружать пример. Выбрать Первые 8 i Ссылка, Номенклатура, Количество Из Документ.РасходнаяНакладная.Состав Результат запроса Ссылка Расходная накладная 00007 от 25.02.2002 21:03:21 Расходная накладная 00006 *•¦ от 25.02.2002 0:00:00 Расходная накладная 00006 от 25.02.2002 0:00:00 Расходная накладная 00005 от 01.03.2002 20:58:28 Расходная накладная 00004 от 01.03.2002 20:50:40 Расходная накладная 00003 от 23.02.2002 0:00:00 Расходная накладная 00003 от 23.02.2002 0:00:00 Расходная накладная 00003 от 23.02.2002 0:00:00 Номенклатура Джинсы женские Джинсы женские Рубашка «Ковбойка» Джинсы женские Джинсы женские Мойдодыр «Аквариум» Раковина «Лилия» Смеситель «Ультра» Количество 4 5 lw<* 5 1 1 5 8 10
1-302 1С:Предприятие 8.1. Конфигурирование и администрирование Обратите внимание, что при указании вложенной таблицы в списке ников допускается обращение как к полям самой вложенной таблицы, так и к полям таблицы верхнего уровня (той, которая содержит вложенную цу) через поле Ссылка. В данном случае происходит обращение к полю Ссылка.НаименованиеПоля самого документа. Вложенные запросы в списке источников В списке источников запроса в качестве таблицы-источника может зоваться вложенный запрос. В этом случае описание источника содержит описание вложенного запроса. Описание вложенного запроса составляется точно так же, как и обычного (см. параграф «Описание запроса»). Использование вложенного запроса в качестве источника данных ничем не отличается от использования таблицы информационной базы. В тве полей такого источника доступны все поля, описанные в списке полей выборки вложенного запроса. Пример ! Выбрать Ссылка, Номенклатура, Количество Из ( Выбрать Первые 8 Ссылка, Номенклатура, Количество Из Документ.РасходнаяНакладная.Состав > 1 Как ВложенныиЗапрос Результат будет точно таким же, как и в предыдущем примере. Фильтрация результатов запроса Предложение ГДЕ <Условие отбора> позволяет задать условие отбора данных из исходных таблиц - источников запроса; в запросе будут обрабатываться только те записи, для которых данное условие оказывается истинным. Воспользуемся примером из раздела «Спецификации соединений», сав его с использованием предложения ГДЕ.
Глава 5. Работа с запросами 1-303 Пример // Необходимо выяснить, какие банки являются одновременноf // контрагентами (одинаковые наименования присутствуют //ив справочнике Контрагенты, и в справочнике Ванки). Выбрать Контрагенты.Ссылка Как Контрагент, Банки.Ссылка Как Банк Из Справочник.Контрагенты Как Контрагенты, Справочник. Ванки Как Банки Где , Контрагенты.Наименование = Банки.Наименование Результат запроса Контрагент АКБ ПромСтройБанк Банк АКБ ПромСтройБанк Результат, как и в примере параграфа «Внутреннее соединение», содержит всего одну запись. Обратите внимание: совершенно необязательно, чтобы поле, щее в предложении ГДЕ, входило в список выборки. Условие отбора может определяться и как простое логическое выражение, и как более сложное, в котором простые логические выражения ся между собой логическими операторами И, ИЛИ, НЕ. Подробно правила описания условий в языке запросов рассматриваются в параграфе «Условия в языке запросов». Группировка результатов запроса Исходные данные в запросе могут быть сгруппированы с помощью ных функций, указанных в качестве полей в списке выборки. Это означает, что строки в результате запроса будут содержать результаты вычисления ных агрегатных функций, рассчитанные (сгруппированные) по записям исходных таблиц. Сами агрегатные функции указываются в списке полей выборки. В жении СГРУППИРОВАТЬ ПО <Поля группировке необходимо указать список полей, по которым следует произвести группировку. В запросе будут группироваться записи исходных таблиц, содержащие одинаковые значения указанных полей.
1 -304 1 С:Предприятие 8.1. Конфигурирование и администрирование Список полей группировки содержит ссылки на поля исходных таблиц — источников запроса, указанные через запятую: <Поля группировке <Разыменование поля> [, <Раэыменование поля> [,...]] Важно! При группировке результатов запроса в списке полей ки обязательно должны быть указаны агрегатные функции, а помимо них допускается указывать только поля, по которым осуществляется группировка. Исключение составляют ситуации, когда агрегатные функции применены к полям вложенной таблицы. В этом случае в списке полей выборки возможны обращения к полям таблицы верхнего уровня, без группировки результатов по этим полям. При использовании агрегатных функций предложение СГРУППИРОВАТЬ ПО может быть и не указано совсем; при этом все результаты запроса будут сгруппированы в одну-единственную строку. Пример // Требуется получить статистику по продаже товаров: // максимальную, минимальную и среднюю цены в расходных накладных. Выбрать ¦ Накладная.Номенклатура, Среднее (Накладная.Цена) Как Среднее, Максимум (Накладная.Цена) Как Максимум, Минимум (Накладная.цена) Как Минимум Из Документ.РасходнаяНакладная.Состав Как Накладная Сгруппировать По Накладная.Номенклатура Результат запроса Номенклатура Брюки детские Рубашка «Ковбойка» Джинсы женские Свитер детский Раковина «Лилия» Мойдодыр «Аквариум» Смеситель «Ультра» Кухонный комбайн «Крупе» Среднее <1500 800 1520 800 2 250 3 166,666667 1500 1 500 Максимум 1 500 800 1 700 800 2 500 4 000 1 500 1500 Минимум 1 500 • 800 1500 800 . 2 000 2 000 1500 1500
Глава 5. Работа с запросами 1-305 Условия на значения агрегатных функций Предложение ИМЕЮЩИЕ <Усповие отбора> позволяет накладывать условия на значения агрегатных функций. В других конструкциях языка запросов, например в предложении ГДЕ, указывать в условиях агрегатные функции нельзя. Пример // Необходимо выбрать товары, которых продали более 20 штук. Выбрать Накладная.Номенклатура, Сумма (Накладная.Количество) Как Количество Из Документ.РасходнаяНакладная.Состав Как Накладная Сгруппировать По Накладная.Номенклатура Имеющие Сумма (Накладная.Количество) > 20 Результат запроса Номенклатура Рубашка «Ковбойка» Джинсы женские Мойдодыр «Аквариум» Количество 30 43 27 Важно! В условии отбора можно использовать только агрегатные функции и поля, по которым осуществляется группировка. Объединение запросов В языке запросов имеется возможность объединять несколько запросов; при этом записи, полученные с помощью каждого из объединяемых запросов, будут собраны в один результат запроса. При объединении каждый запрос собирает данные независимо, а такие операции, как упорядочивание результатов и расчет итогов, выполняются уже над результатом объединения запросов. Поля результата запроса будут назьшаться так, как описано в списке полей выборки первого из объединяемых запросов. Поля выборки остальных запросов сопоставляются с полями результата в соответствии с порядком их следования в списке полей выборки. Объединяемые запросы должны иметь одинаковое количество полей в списке полей выборки. Если поля выборки объединяемых запросов имеют разный тип, то поля результата запроса будут иметь составной тип.
1-306 1С:Предприятие 8.1. Конфигурирование и администрирование Объединение запросов описывается по следующему правилу: Объединение запросов> ОБЪЕДИНИТЬ [ВСЕ] <0писание запроса> [<Объединение запросов>] Объединение запросов начинается с обязательного ключевого слова ОБЪЕДИНИТЬ, после которого следует описание присоединяемого запроса. Далее может присоединяться еще один запрос и т. д. По умолчанию при объединении запросов полностью одинаковые строки в результате запроса, сформированные разными запросами, заменяются одной. Если требуется, чтобы были оставлены разные строки, необходимо указать ключевое слово ВСЕ. Пример Выбрать Накладная.Контрагент, Накладная.Номенклатура, Сумма (Накладная.Количество) Как Приход. Сумма @) Как Расход Из Документ.ПриходнаяНакладная.Состав Накладная Сгруппировать по Контрагент, Номенклатура Объединить Все Выбрать Накладная.Контрагент, Накладная.Номенклатура, Сумма @), Сумма (Накладная.Количество) Из Документ.РасходнаяНакладная.Состав Как Накладная 1 Сгруппировать По Контрагент, Номенклатура Упорядочить До Контрагент, Номенклатура Итоги По Контрагент Итоги Общи
Глава 5. Работа с запросами 1-307 Результат запроса Контрагент Трикотажная фабрика «Заря» Трикотажная фабрика «Заря» Трикотажная фабрика «Заря» Трикотажная фабрика «Заря» Трикотажная фабрика «Заря» Трикотажная фабрика «Заря» Трикотажная фабрика «Заря» Трикотажная фабрика «Заря» Ярмарка одежды Ярмарка одежды Ярмарка одежды Ярмарка одежды Торговый дом «Буденовский» Торговый дом «Буденовский» Торговый дом «Буденовский» Торговый дом «Буденовский» Торговый дом «Буденовский» Торговый дом «Буденовский» Торговый дом «Буденовский» Торговый дом «Буденовский» Торговый дом «Буденовский» Павильон 45 на оптовом рынке Павильон 45 на оптовом рынке Павильон 45 на оптовом рынке Павильон 45 на оптовом рынке Павильон 45 на оптовом рынке Бавария - фарфор Бавария — фарфор Бавария - фарфор Бавария - фарфор Бавария - фарфор Бавария - фарфор Номенклатура Брюки детские Брюки детские Рубашка «Ковбойка» Джинсы женские Джинсы женские Свитер детский Кухонный комбайн «Крупе» Рубашка «Ковбойка» Джинсы женские Мойдодыр «Аквариум» Брюки детские Рубашка «Ковбойка» Джинсы женские Свитер детский Раковина «Лилия» Мойдодыр «Аквариум» Смеситель «Ультра» Кухонный комбайн «Крупе» Рубашка «Ковбойка» Джинсы женские Раковина «Лилия» Мойдодыр «Аквариум» Брюки детские Джинсы женские Раковина «Лилия» Мойдодыр «Аквариум» Смеситель «Ультра» Приход 1943 .443 100 200 80 60 3 1500 270 230 1000 Расход 151 4 3 1 42 20 20 2 53 10 5 12 1 8 5 10 2 44 5 9 10 20 8 7 1
1 -308 1 С:Предприятие 8.1. Конфигурирование и администрирование Упорядочивание результатов запроса Предложение УПОРЯДОЧИТЬ ПО позволяет сортировать строки в те запроса. Упорядочивание результ тов> УПОРЯДОЧИТЬ ПО <Условия упорядочивания> <Условия упорядочивание <Поле упорядочивания> [<Порядок>][, <Поле упорядочивания> [<Порядок>][,...]] <Поле упорядочиеания> <Выражение> <Порядок> ВОЗР | УБЫВ | ИЕРАРХИЯ | ИЕРАРХИЯ УБЫВ В предложении УПОРЯДОЧИТЬ ПО через запятую перечисляются условия, в соответствии с которыми необходимо упорядочить результат запроса. Выборки упорядочиваются сначала по первому условию, потом по му и т. д. Условие упорядочивания в общем случае может представлять собой рое выражение. Строки результата запроса будут упорядочены по значениям этого выражения, рассчитанным для каждой строки. Выражения языка запросов рассматриваются в параграфе «Дополнение дат». Упорядочивание может осуществляться в порядке возрастания или ния значений, а для таблиц, для которых задано свойство иерархичности, - также и по иерархии (описано в параграфе «Упорядочивание по хии»). Порядок может задаваться для каждого поля независимо. Правила сравнения значений описаны в параграфе «Правила сравнения значений». Поле, фигурирующее в условиях упорядочивания, совсем необязательно должно попадать в результат запроса. Пример // Требуется отобрать 5 самых дорогих товаров, // расположив их в порядке убывания цены. Выбрать Первые 5 Справочник.Номенклатура.Наименование, Справочник.Номенклатура.ЗакупочнаяЦена i Упорядочить По Справочник.Номенклатура.ЗакупочнаяЦена Убыв
Глава 5. Работа с запросами 1-309 Результат запроса Наименование Кухонный комбайн «Крупе» Джинсы женские Рубашка «Ковбойка» Брюки детские Смеситель «Ультра» ЗакупочнаяЦена 15 000 1500 1 100 800 460 Упорядочивание по иерархии Для справочников можно назначать упорядочивание по иерархии ника. '-. Пример Выбрать Справочник.Контрагенты.Наименование, Справочник.Контрагенты.ПолноеНаименование : Упорядочить По Справочник.Контрагенты.Наименование Иерархия Результат запроса Наименование Покупатели Павильон 45 на оптовом рынке Торговый дом «Буденовский» Фабрика джинсовой одежды Ярмарка одежды Поставщики АКБ Промстройбанк Бавария — фарфор Трикотажная фабрика «Заря» Фабрика джинсовой одежды ПолноеНаименовакие ПБЮЛ «Красина» АО «Буденовский ТД» ООО «Джинсовая одежда» ООО «Ярмарка одежды» ООО «Джинсовая одежда» Иерархически сортировать можно только по полю, но не по некоторой операции над ним: поле упорядочивания должно содержать ссылку на поле исходной таблицы - источника данных запроса. Важно понимать, что упорядочивание по иерархии имеет смысл задавать в том случае, если в качестве источника определена именно таблица справочника, а не какая-либо другая таблица, содержащая только ссылку на справочник.
1-310 1 (^Предприятие 8.1. Конфигурирование и администрирование Пример Выбрать Накладная.Контрагент.Наименование, Накладная.Номер, 1 Накладная.Сумма « J Из 1 Документ.РаскоднаяНакладная Как Накладная Упорядочить По Накладная.Контрагент Иерархия В данном примере иерархического упорядочивания не получится, ку нет связи со справочником, и группы из этого справочника в результат запроса не попадут. Для упорядочивания по иерархии необходимо организовать соединение со справочником. Пример Выбрать Контрагент.Наименование, ¦ Накладная.Номер, Накладная.Сумма I Из ¦ Справочник.Контрагенты Как Контрагент Левое Соединение ¦ Документ.РасходнаяНакладная Как Накладная . По ' Накладная.Контрагент = Контрагент.Ссылка Упорядочить По ; Контрагент.Наименование Иерархия Результат запроса Наименование Покупатели Павильон 45 на оптовом рынке Павильон 45 на оптовом рынке Павильон 45 на оптовом рынке Торговый дом «Буденовский» Торговый дом «Буденовский» Торговый дом «Буденовский» Торговый дом «Буденовский» Номер 00007 00006 00016 00004 00003 00002 00009 Сумма 6 000 11500 80 000,23 1 500 52 500 16 000 555
Глава 5. Работа с запросами 1-311 Наименование Торговый дом «Буденовский» Торговый дом «Буденовский» Торговый дом «Буденовский» Фабрика джинсовой одежды Ярмарка одежды Поставщики АКБ ПромСтройБанк Бавария - фарфор Трикотажная фабрика «Заря» Фабрика джинсовой одежды Номер 00015 00014 00005 00001 00013 00012 Сумма 16 500 1500 54 000 12 000,22 4 500 Упорядочивание во вложенных таблицах В предложении УПОРЯДОЧИТЬ ПО можно определять также и условия дочивания записей из вложенных таблиц; причем их можно комбинировать с условиями упорядочивания по таблице верхнего уровня. При этом важен порядок указания полей таблицы одного уровня ной или верхнего уровня) относительно друг друга, но не важно, в каком порядке указаны поля таблицы одного уровня относительно полей цы другого уровня: упорядочивание выполняется всегда сначала по таблице верхнего уровня, а потом по вложенной таблице. Пример //В отчет необходимо вывести спецификацию товарных накладных - // показать сам документ, номенклатуру и количество. // Документы требуется упорядочить по номеру, //а состав - по наименованию товара. Выбрать Документ.РасходнаяНакладная.Ссылка, Документ.РасходнаяНакладная.Состав.(номенклатура Как Товар, Количество)! Упорядочить По Документ. РасходнаяНакладная. Номер, Документ.РасходнаяНакладная.Состав.Номенклатура.Наименование Автоупорядочивание результатов Предложение АВТОУПОРЯДОЧИВАНИЕ позволяет включить режим ческого формирования полей для упорядочивания результата запроса. Автоупорядочивание работает по следующим принципам: • Если в запросе было указано предложение УПОРЯДОЧИТЬ ПО, то каждая ссылка на таблицу, находящаяся в этом предложении, будет заменена полями, по которым по умолчанию сортируется таблица (для справочни-
1-312 1 С:Предприятие 8.1. Конфигурирование и администрирование ков это код или наименование, для документов - дата документа). Если поле для упорядочивания ссылается на иерархический справочник, то будет применена иерархическая сортировка по этому справочнику. • Если в запросе отсутствует предложение УПОРЯДОЧИТЬ ПО, но есть предложение ИТОГИ, тогда результат запроса будет упорядочен по полям, присутствующим в предложении ИТОГИ после ключевого слова ПО, в той же последовательности; и если итоги рассчитывались по полям-ссылкам, то по полям сортировки по умолчанию таблиц, на которые были ссылки. • Если в запросе отсутствуют предложения УПОРЯДОЧИТЬ ПО и ИТОГИ, но есть предложение СГРУППИРОВАТЬ ПО, тогда результат запроса будет упорядочен по полям, присутствующим в предложении, в той же последовательности; и если группировка велась по полям-ссылкам, то по полям сортировки по умолчанию таблиц, на которые были ссылки. • Если в запросе отсутствуют предложения УПОРЯДОЧИТЬ ПО, ИТОГИ и СГРУППИРОВАТЬ ПО, результат будет упорядочен по полям сортировки по умолчанию для таблиц, из которых выбираются данные, в порядке их появления в запросе. Расчет итогов запроса Предложение ИТОГИ позволяет определить, расчет каких итогов необходим запросе. При расчете итогов вычисляются значения агрегатных функций о выборкам с одинаковыми значениями полей - контрольных точек. Итоги добавляются в результат запроса как итоговые строки. Порядок расчета итогов запроса описывается в соответствии со ми правилами: «Описание итогое> <Итоги> [Описание итогов>] <Итоги> ИТОГИ [<Список итоговых_полей>] ПО [ОБЩИЕ] Описок контрольных точек> <Список итоговых_полей> <Итоговое_поле> [,<Список_итоговых_полей> [,...]] <Итоговое_поле> <Агрегатная_функция> | <Выражение> [[КАК] <Псевдоним_поля>] <Список контрольных точек> контрольнаяточка> [, контрольнаяточка> [,...]]
Глава 5. Работа с запросами 1-313 Контрольная точка> <Выражение> [[ТОЛЬКО] ИЕРАРХИЯ] | [ПЕРИОДАМИ(Секунда | Минута | Час | День | Неделя | Месяц | Квартал | Год | Декада | Полугодие [, <Литерал типа DATE> ^Идентификатор параметра>] [ ,<Литерал типа DATE> | идентификатор параметра>])] [[КАК] Псевдоним поля] Описание итогов начинается с обязательного ключевого слова ИТОГИ. Список агрегатных функций содержит перечень агрегатных функций, которые необходимо рассчитывать в итогах. Агрегатные функции риваются в параграфе «Агрегатные функции языка запросов». Ключевое слово ОБЩИЕ означает, что необходимо сформировать итоговую строку по всему результату запроса. Подробнее расчет общих итогов описан в параграфе «Общие итоги». Помимо общих итогов можно задать расчет итогов по контрольным точкам. Для этого после обязательного ключевого слова ПО необходимо указать Описок контрольных точек>. Каждая контрольная точка содержит выражение, вычисляемое при выполнении запроса. По каждой комбинации значений этих выражений будут рассчитаны и добавлены в результат запроса вые строки. Если контрольная точка является ссылкой на справочник, возможен расчет итогов по иерархии справочника. Для этого после такой ссылки нужно указать обязательное ключевое слово ИЕРАРХИЯ. Иерархические итоги описаны в параграфе «Итоги по иерархии». Расчет итогов во вложенных таблицах В настоящей версии программы не поддерживается расчет итогов по ным таблицам. Итоги по иерархии Есть возможность рассчитать итоги по иерархии. Для этого после имени поля, для которого вычисляются итоги, необходимо указать ключевое слово ИЕРАРХИЯ. В результате будут рассчитаны итоги по контрольным точкам и итоги по иерархии для контрольных точек. Пример ВЫБРАТЬ Док.Товар, Док.Количество, Док.Ссылка.Номер, Док.Ссылка.Получатель ИЗ Документ.РасхНакя.Состав Как Док УПОРЯДОЧИТЬ ПО Док.Товар ИТОГИ СУММА(Количество) ПО Док.Товар ИЕРАРХИЯ
1-314 1С:Предприятие 8.1. Конфигурирование и администрирование Результат запроса Товар Сантехника Кран Кран Кран Кран Кран Вантуз Вантуз Вантуз Вантуз Мебель Стол Стол Стол Стол Стул . Стул Стул Стул Стул Количество 104 84 10 8 44 22 20 5 1 14 134 26 1 15 10 108 55 5 32 16 Номер РНк-1 РНк-3 РНк-4 РНк-5 РНк-1 РНк-3 РНк-4 РНк-1 РНк-2 РНк-4 РНк-2 РНк-3 РНк-4 РНк-5 Получатель Урюпинскторг Маг. «Хозяин» Маг. «Гигант» Урюпинскторг Урюпинскторг Маг. «Хозяин» Маг. «Гигант» Урюпинскторг Маг. «Мебель» Маг. «Гигант» Маг. «Мебель» Маг. «Хозяин» Маг. «Гигант» Урюпинскторг При необходимости можно рассчитать только итоги значений по иерархии, без расчета итогов в контрольных точках. Для этого перед ключевым словом ИЕРАРХИЯ нужно указать ключевое слово ТОЛЬКО. Пример ВЫБРАТЬ Док.Товар, Док.Количество, Док.Ссылка.Номер, Док.Ссылка.Получатель ИЗ Документ,РасхНакл.Состав Как Док УПОРЯДОЧИТЬ ПО Док.Товар ИТОГИ СУММА(Количество) ПО Док.Товар ТОЛЬКО ИЕРАРХИЯ Результат запроса Товар Сантехника Кран Кран Кран Кран Вантуз Вантуз Количество 104 10 8 44 22 5 1 Номер РНк-1 РНк-3 РНк-4 РНк-5 РНк-1 РНк-3 Получатель Урюпинскторг Маг. «Хозяин» Маг. «Гигант» Урюпинскторг Урюпинскторг Маг. «Хозяин»
Глава 5. Работа с запросами 1-315 Товар Вантуз Мебель Стол Стол Стол Стул Стул Стул Стул Количество 14 134 1 ^5 10 55 5 32 16 Номер РНк-4 РНк-1 lPHk-2 РНк-4 РНк-2 РНк-3 РНк-4 РНк-5 Получатель Маг. «Гигант» Урюпинскторг Маг. «Мебель» Маг. «Гигант» Маг. «Мебель» Маг. «Хозяин» Маг. «Гигант» Урюпинскторг Дополнение дат В случае если поле, по которому рассчитьшаем итоги, является полем типа Дата, возможно дополнение результатов датами в заданном периоде. ся это при помощи ключевого слова ПЕРИОДАМИ, после которого в скобках указывается вид периода (Секунда, Минута, Час, День, Неделя, Месяц, Квартал, Год, Декада, Полугодие), начальная и конечная даты интересуемого периода. Если начальная и конечная даты не указаны, будут использованы первая и последняя даты, участвующие в результате. Пример // Получить количество продаж по клиентам по месяцам Выбрать Получатель, НачаяоПериода(Дата, Месяц) Период, Количество(Ссылка) КоличествоПокупок Из Документ.РасхНакл Сгруппировать По Получатель, НачалоПериода(Дата, Месяц) Итоги Сумма(КоличествоПокупок) ПО Период Периодами(Месяц, ДатаВремяB000, 07, 01), ДатаВремяB000, 12, 01)>} Результат запроса Получатель Маг. «Мебель» Урюпинскторг Маг. «Хозяин» Маг. «Гигант» Урюпинскторг Период 01.07.2000 0:00:00 01.07.2000 0:00:00 01.07.2000 0:00:00 01.07.2000 0:00:00 01.08.2000 0:00:00 01.08.2000 0:00:00 01.09.2000 0:00:00 01.09.2000 0:00:00 01.10.2000 0:00:00 01.11.2000 0:00:00 01.12.2000 0:00:00 КоличествоПокупок 3 0 0 0
1-316 1С:Предприятие 8.1. Конфигурирование и администрирование Такое представление результата получится, только если при обходе тата по группировке Период использовать в качестве источника измерения все записи периода. Расчет общих итогов Для расчета итогов по всей таблице в предложении ИТОГИ следует указать слово ОБЩИЕ. В этом случае будут вычислены значения агрегатных функций для всех записей таблицы. Пример ВЫБРАТЬ Док.Товар, Док.Количество, Док.Ссылка.Номер, Док.Ссылка.Получатели ИЗ Документ.РасхНакл.Состав Как Док ИТОГИ СУММА(Количество) По ОБЩИЕ Результат запроса Товар Кран Кран Кран Кран Вантуз Вантуз Вантуз Стол Стол Стол Стул Стул Стул Стул Количество 238 10 8 44 22 5 г1 14 1 15 10 55 5 32 16 Номер РНк-1 РНк-3 РНк-4 РНк-5 РНк-1 РНк-3 _j РНк-4 РНк-1 РНк-2 РНк-4 РНк-2 РНк-3 РНк-4 РНк-5 Получатель Урюпинскторг Маг. «Хозяин» Маг. «Гигант» Урюпинскторг Урюпинскторг Маг. «Хозяин» Маг. «Гигант» Урюпинскторг Маг. «Мебель» Маг. «Гигант» Маг. «Мебель» Маг. «Хозяин» Маг. «Гигант» Урюпинскторг Совместное использование итогов и группировки Если итоги используются совместно с группировкой и для итогов не указан список агрегатных функций, он будет автоматически формироваться из агрегатных полей списка выборки. Если запрос содержит объединение, агрегатные функции будут браться из первого запроса. Пример ВЫБРАТЬ Док.Товар, Док.ссылка.Получатель, СУММА(Док.Количество) ИЗ Документ.РасхНакл.Состав Как Док СГРУППИРОВАТЬ ПО Док.Товар, Док.Ссылка.Получатель ИТОГИ ПО Док.Товар
Глава 5. Работа с запросами 1-317 Результат запроса Товар Кран Кран Кран Кран Вантуз Вантуз Вантуз Вантуз Стол Стол Стол Стол Стул Стул Стул Стул Стул Получатель Урюпинскторг Маг. «Хозяин» Маг. «Гигант» Урюпинскторг Маг. «Хозяин» Маг. «Гигант» Урюпинскторг Маг. «Мебель» Маг. «Гигант» Урюпинскторг Маг. «Мебель» Маг. «Хозяин» Маг. «Гигант» Количество 84 32 8 44 20 5 1 14 26 1 15 10 108 16 55 5 32 Псевдонимы итогов Полям итогов - контрольным точкам, для которых считаются итоги, можно назначить псевдоним, для последующего обращения к ним из го языка предприятия. Для этого после выражения - контрольной точки необходимо указать имя псевдонима аналогично тому, как это делается в списке полей выборки. Пример ' ВЫБРАТЬ Док.Товар, Док.Количество, Док.ссылка.Номер, Док.Ссылка. Получатель ИЗ Документ.РасхНакл.Состав Как Док УПОРЯДОЧИТЬ ПО Док.Товар ИТОГИ СУММА(Количество) ПО док.Товар ТОЛЬКО ИЕРАРХИЯ Как Товары В случае если псевдоним не указан, система сама даст имя итогу так, чтобы оно было уникально. В приведенном выше примере итог будет иметь имя Товары.
1-318 1 С:Предприятие 8.1. Конфигурирование и администрирование Выражения в языке запросов Во многих конструкциях языка запросов могут использоваться выражения. Выражения языка запросов описываются следующим набором правил: <Выражение> <Разыменование поля> | <Агрегатная функция> | <Встроенная функция> | Операция выбора> | ¦Приведение типа>[.<Разыменование поля>] | <3начение>| <Выражение> <Бинарная операция> <Выражение> | <Унарная операция> <Выражение> | (<Выражение>) <Бинарная операция> + I-KI/ <Унарная операция> -| + В простейшем случае выражение является ссылкой на поле исходной цы - источника данных запроса. Ссылка может задаваться с указанием таблицы, содержащей это поле, или без указания самой таблицы. вание полей рассматривается в параграфе «Разыменование полей». Выражения в списке полей выборки, в предложениях ИМЕЮЩИЕ, ИТОГИ, УПОРЯДОЧИТЬ ПО, могут быть агрегатными функциями. Агрегатные функции описаны в параграфе «Агрегатные функции языка запросов». Выражение может быть встроенной функцией языка запросов. ные функции описаны в параграфе «Встроенные функции языка запросов». Могут использоваться операции выбора, описанные в параграфе «Операции выбора в языке запросов», и операции приведения типа значения, ные в параграфе «Приведение типа в языке запросов». В выражениях могут непосредственно указываться значения логических, числовых, строковых и др. констант; также могут использоваться значения параметров запроса, как описано в параграфе «Константы и параметры в языке запросов». В вьфажениях к значениям соответствующих типов могут применяться бинарные и унарные операции.
Глава 5. Работа с запросами 1-319 Разыменование полей Выражения языка запросов в простейшем случае представляют собой ссылки на поля таблиц информационной базы. В общем виде ссылки ваются следующими правилами: <Разыменование поля> [<Таблица>.]<Имя поля>[.<Имя поля>[...]| <Таблица> <Имя таблицы> | <Псевдоним источника> Разыменование поля начинается с имени таблицы, содержащей это поле. Если имя поля уникально - существует только у одной из таблиц среди указанных в списке источников, таблица может быть опущена. Если поле имеет ссылочный тип, язык запросов позволяет обращаться к полям таблицы, на которую ссылается поле, и так далее. Имена полей ваются через точку. ., Если исходной таблице в списке источников присвоен псевдоним ка, он может использоваться вместо имени таблицы в разыменовании полей этой таблицы. В противном случае указывается имя таблицы (см. описание источников данных запроса). Агрегатные функции языка запросов В языке запросов предусмотрены агрегатные функции, которые ся при группировке результатов запроса и при подсчете итогов. Агрегатные функции предназначены для обобщения значений указанного параметра. Определены следующие агрегатные функции: <Агрегатная функция> СУММА (<Выражение>) | СРЕДНЕЕ (<Выражение>) | МИНИМУМ (<Выражение>) | МАКСИМУМ (<Выражение>) | КОЛИЧЕСТВО ([РАЗЛИЧНЫЕ] <Выражение> | *)
1 -320 1 С:Предприятие 8.1. Конфигурирование и администрирование Пример Выбрать Накладная.Номенклатура.Наименование, Сумма (Накладная.Сумма) Как Сумма, Среднее (Накладная.Сумма) Как Среднее, 1 Максимум (Накладная.Сумма) Как Максимум, Минимум (Накладная.Сумма) Как Минимум, Количество (Накладная.Сумма) Как Колич Из > Документ.РасходнаяНакладная.Состав Как Накладная ; Сгруппировать По , Накладная.Номенклатура j Итоги Общие Результат запроса Наименование Брюки детские Рубашка «Ковбойка» Джинсы женские Свитер детский Раковина «Лилия» Мойдодыр «Аквариум» Смеситель «Ультра» Кухонный комбайн «Крупе» Сумма 265 955,45 28 500,22 24 000 63 555 6 400 60 000,23 65 500 15 000 3 000 Среднее 12 511,12 9 500,07 8 000 6 355,5 6400 30 000,115 21 833,33 15 000 3 000 Максимум 40 000,23 15 000 16 000 30 000 6400 40 000,23 40 000 15 000 3 000 Минимум 555 3 000 4 000 555 6400 20 000 8 000 15 000 3 000 Количество 8 3 3 10 1 2 3 1 1 Агрегатные функции могут использоваться в списке полей выборки, жениях ИМЕЮЩИЕ, ИТОГИ, УПОРЯДОЧИТЬ ПО. СУММА Функция вычисляет арифметическую сумму всех попавших в выборку значений поля. В качестве параметра функции можно указывать только поля, содержащие числовое значение.
Глава 5. Работа с запросами 1-321 Если поле не может содержать числовых значений, то применение функции СУММА к такому полю вызовет ошибку. Данная функция может быть нена к такому полю, только если поле может содержать числовые значения (имеет составной тип данных). Но если среди значений поля в выборке тится нечисловое значение (помимо значений NULL), это вызовет ошибку. СРЕДНЕЕ Функция вычисляет среднее значение всех попавших в выборку значений поля. В качестве параметра функции можно указывать только ссылки на поля, содержащие числовое значение. Если поле не может содержать числовых значений, то применение функции СРЕДНЕЕ к такому полю вызовет ошибку. Данная функция может быть нена к такому полю в том случае, если поле может содержать числовые значения (имеет составной тип данных). Но если среди значений поля в выборке тится нечисловое значение (помимо значений NULL), это вызовет ошибку. МИНИМУМ Функция вычисляет минимальное значение из всех попавших в выборку значений поля. В качестве параметра функции можно указывать ссылки на поля, щие значения любого типа. При определении минимального значения применяются правила сравнения значений, описанные в параграфе «Правила сравнения значений». МАКСИМУМ Функция вычисляет максимальное значение из всех попавших в выборку значений поля. В качестве параметра функции можно указывать ссылки на поля, щие значения любого типа. При определении максимального значения применяются правила сравнения значений, описанные в параграфе «Правила сравнения значений». КОЛИЧЕСТВО Функция подсчитывает количество значений параметра, попавших в борку. В отличие от других агрегатных функций, функция КОЛИЧЕСТВО допускает три способа использования: • функция позволяет подсчитать количество значений указанного поля, не равных NULL;
1-322 1С:Предприятие 8.1. Конфигурирование и администрирование • функция позволяет подсчитать количество различных значений ного поля, не равных NULL. Для этого перед спецификацией поля надо указать ключевое слово РАЗЛИЧНЫЕ; • функция позволяет подсчитать количество строк в результате запроса. Для этого в качестве параметра функции нужно указать звездочку «*». В качестве параметра функции можно указывать ссылки на поля, щие значения любого типа. Пример ' ВЫБРАТЬ Количество (*) Как Всего, 1 Количество (Различные Накладная.Номенклатура) Как Разные Из ] Документ.РасходнаяНахладная.Состав Как Накладная Результат запроса Всего 24 Разные 8 Встроенные функции языка запросов В языке запросов определены встроенные функции, которые могут зоваться в выражениях в списке полей выборки (см. параграф «Описание полей выборки») и в условии отбора в предложении ГДЕ (см. параграф «Фильтрация результатов запроса»). Определены следующие встроенные функции: <Встроенная функция> ПОДСТРОКА (<Выражение>, <3начение>, <3начение>) | ГОД (<Выражение>) | КВАРТАЛ (<Выражение>) | МЕСЯЦ (<Выражение>) | ДЕНЬГОДА (<Выражение>) | ДЕНЬ (<Выражение>) | НЕДЕЛЯ (<Выражение>) | ДЕНЬНЕДЕЛИ (<Выражение>) | ЧАС (<Выражение>) | МИНУТА (<Выражение>) | СЕКУНДА (<Выражение>) | НАЧАЛОПЕРИОДА(<Выражение>, Минута | Час | День | Неделя | Месяц | Квартал | Год | Декада | Полугодие) КОНЕЦПЕРИОДА(<Выражение>,
Глава 5. Работа с запросами 1-323 Минута | Час | День | Неделя | Месяц | Квартал | Год | Декада | Полугодие) ДОБАВИТЬКДАТЕ (<Выражение>, Минута | Час | День | Неделя | Месяц | Квартал | Год J Декада | Полугодие, <Выражение>) РАЗНОСТЬДАТ(<Выражение>, <Выражение>, Секунда | Минута | Час | День | Месяц | Квартал | Год) ПРЕДСТАВЛЕНИЕ(<Выражение>) ECTbNULL(<Bыpaжeниe>I<Bыpaжeниe>) ПОДСТРОКА Данная функция предназначена для выделения подстроки из строки. В кцию передаются три параметра: • строка, из которой необходимо выделить подстроку. Выражение, г имеющее тип Строка; • позиция символа, с которого начинается выделяемая из строки ка. Значение типа Число; • длина выделяемой подстроки. Значение типа Число. Если в качестве первого параметра фигурирует строка, то результатом функции будет строка (возможно нулевой длины). Если в качестве го параметра будет использовано значение NULL, то результатом функции также будет значение NULL. Другие значения считаются недопустимыми и вызывают состояние ошибки. Пример Выбрать Справочник.Контрагенты.Наименование, Подстрока (Справочник.Контрагенты.Наименование, 3, 5) Как Подстрока Результат запроса Наименование Поставщики Трикотажная фабрика «Заря» Фабрика джинсовой одежды Покупатели Ярмарка одежды Торговый дом «Буденовский» Павильон 45 на оптовом рынке Бавария - фарфор Фабрика джинсовой одежды АКБ ПромСтройБанк Подстрока ставщ икота брика купат марка рговы вильо вария брика Б Про
1 -324 1С:Предприятие 8.1. Конфигурирование и администрирование год Данная функция предназначена для вычисления номера года из значения типа Дата. Параметр функции — это выражение, имеющее тип Дата. Если в качестве параметра фигурирует значение типа Дата, то том функции будет значение типа Число. Если в качестве параметра будет использовано значение NULL, то результатом функции также будет значение NULL. Другие значения считаются недопустимыми и вызывают состояние ошибки. КВАРТАЛ Данная функция предназначена для вычисления номера квартала из ния типа Дата. Номер квартала находится в диапазоне 1—4. Параметр функции - это выражение, имеющее тип Дата. Если в качестве параметра фигурирует значение типа Дата, то том функции будет значение типа Число. Если в качестве параметра будет использовано значение NULL, то результатом функции также будет значение NULL. Другие значения считаются недопустимыми и вызывают состояние ошибки. МЕСЯЦ Данная функция предназначена для вычисления номера месяца из значения типа Дата. Номер месяца находится в диапазоне 1-12. Параметр функции - это выражение, имеющее тип Дата. Если в качестве параметра фигурирует значение типа Дата, то том функции будет значение типа Число. Если в качестве параметра будет использовано значение NULL, то результатом функции также будет значение NULL. Другие значения считаются недопустимыми и вызывают состояние ошибки. ДЕНЬГОДА Данная функция предназначена для вычисления дня года из значения типа Дата. День года находится в диапазоне 1—366. Параметр функции - это выражение, имеющее тип Дата. Если в качестве параметра фигурирует значение типа Дата, то том функции будет значение типа Число. Если в качестве параметра будет использовано значение NULL, то результатом функции также будет значение NULL. Другие значения считаются недопустимыми и вызывают состояние ошибки.
Глава 5. Работа с запросами 1-325 ДЕНЬ Данная функция предназначена для вычисления дня месяца из значения типа Дата. День месяца находится в диапазоне 1—31. Параметр функции - это выражение, имеющее тип Дата. Если в качестве параметра фигурирует значение типа Дата, то том функции будет значение типа Число. Если в качестве параметра будет использовано значение NULL, то результатом функции также будет значение NULL. Другие значения считаются недопустимыми и вызывают состояние ошибки. НЕДЕЛЯ Данная функция предназначена для вычисления номера недели года из значения типа Дата. Параметр функции — это выражение, имеющее тип Дата. Если в качестве параметра фигурирует значение типа Дата, то том функции будет значение типа Число. Если в качестве параметра будет использовано значение NULL, то результатом функции также будет значение NULL. Другие значения считаются недопустимыми и вызывают состояние ошибки. ДЕНЬНЕДЕЛИ Данная функция предназначена для вычисления дня недели из значения типа Дата. День недели находится в диапазоне 1 (понедельник) - 7 сенье). Параметр функции - это выражение, имеющее тип Дата. Если в качестве параметра фигурирует значение типа Дата, то результатом функции будет значение типа Число. Если в качестве параметра будет зовано значение NULL, то результатом функции также будет значение NULL. Другие значения считаются недопустимыми и вызывают состояние ошибки. ЧАС Данная функция предназначена для вычисления часа суток из значения типа Дата. Час суток находится в диапазоне 0-23. Параметр функции - это выражение, имеющее тип Дата. Если в качестве параметра фигурирует значение типа Дата, то том функции будет значение типа Число. Если в качестве параметра будет использовано значение NULL, то результатом функции также будет значение NULL. Другие значения считаются недопустимыми и вызывают состояние ошибки.
11326 1 С:Предприятие 8.1. Конфигурирование и администрирование МИНУТА Данная функция предназначена для вычисления минуты часа из значения типа Дата. Минута часа находится в диапазоне 0-59. Параметр функции - это выражение, имеющее тип Дата. Если в качестве параметра фигурирует значение типа Дата, то том функции будет значение типа Число. Если в качестве параметра будет использовано значение NULL, то результатом функции также будет значение NULL. Другие значения считаются недопустимыми и вызывают состояние ошибки. СЕКУНДА Данная функция предназначена для вычисления секунды минуты из ния типа Дата. Секунда минуты находится в диапазоне 0-59. Параметр функции - это выражение, имеющее тип Дата. Если в качестве параметра фигурирует значение типа Дата, то том функции будет значение типа Число. Если в качестве параметра будет использовано значение NULL, то результатом функции также будет значение NULL. Другие значения считаются недопустимыми и вызывают состояние ошибки. НАЧАЛОПЕРИОДА Функция предназначена для выделения определенной даты из заданной даты. Параметры функции - это выражение, имеющее тип Дата, и тип риода - одно из значений: Минута, Час, День, Неделя, Месяц, Квартал, Год, Декада, Полугодие. Примеры ВЫБРАТЬ НачаяоПе ио а( атаВремяB002, 10, 12, 10, 15, 34), Месяц) Результат Поле! 01.10.2002 0:00:00 Г ВЫБРАТЬ НачалоПериода(ДаТ;. ;..-=к,*!2002, 10, 12, ..ены Результат Поле! 12.10.2002 0:00:00
Глава 5. Работа с запросами 1-327 КОНЕЦПЕРИОДА Функция предназначена для выделения определенной даты из заданной даты. Параметры функции - это выражение, имеющее тип Дата, и тип риода - одно из значений: Минута, Час, День, Неделя, Месяц, Квартал, Год, Декада, Полугодие. Примеры ВЫБРАТЬ КонецПе?иОда(ДатаВремяB002, 10, 12, 10, 15, 34), Неделя)!) Результат Поле! 13.10.2002 23:59:59 ВЫБРАТЬ КонедПериода <ДатаЯремлB(Ш . ', 34), Год) Результат Поле! 31.12.2002 23:59:59 ДОБАВИТЬКДАТЕ Функция предназначена для прибавления к дате некоторой величины. Первый параметр - исходная дата, к значению которой требуется добавить заданную величину, определяемую вторым и третьим параметрами; ние, имеющее тип Дата. Второй параметр — тип увеличения, одно из значений: Секунда, Минута, Час, День, Неделя, Месяц, Квартал, Год, Декада, Полугодие. Третий параметр - величина, на которую требуется увеличить дату, мую первым параметром; тип Число (дробная часть игнорируется). Примеры Г ВЫБРАТЬ ДобавитьКДате(ДатаВремяB002, 10, 12, 10, 15, 34), Месяц, 1)"", Результат Поле1 12.11.2002 10:15:34 ВЫБРАТЬ ДобавжгьВДате(ДатаВремя{2002, 10, 12, 10, 15, 34), День, 5) 1
1 -328 1 С:Предприятие 8.1. Конфигурирование и администрирование Результат Поле1 17.10.2002 10:15:34 РАЗНОСТЬДАТ Функция предназначена для получения разницы между двумя датами. Первый параметр — выражение типа Дата. Второй параметр - выражение типа Дата. Третий параметр - тип разности, одно из значений: Секунда, Минута, Час, День, Месяц, Квартал, Год. Примеры ! ВЫБРАТЬ РАЗНОСТЬДАТ(ДАТАВРЕМЯB002, 10, 12, 10, 15, 34), 1 ДАТАВРЕМЯB002, 10, 14, 9, 18, 06), ДЕНЬ) Результат Поле! _2 ** " ^ - щш " % ЫБРА Ь РА НОСТЬДАТ ДатаВремя 2002 1), 12), (ДатаВремя{2 , 11, 03), МЕСЯЦ) Результат Поле! 1 Внимание! Функция рассчитывает календарную разницу между двумя датами, поэтому ее нельзя использовать там, где необходимо тать количество банковских или рабочих дней между двумя датами. ПРЕДСТАВЛЕНИЕ Данная функция предназначена для получения строкового представления значения произвольного типа. Параметр функции - выражение любого типа. Возвращаемое значение - представление значения, тип Строка. Результат работы функции не может быть использован внутри других функций, за исключением функции ПРЕДСТАВЛЕНИЕ. Пример ВЫБРАТЬ ПРЕДСТАВЛЕНИЕ(РасхНакл.Получатель) КАК Получатель, . ПРЕДСТАВЛЕНИЕ(РасхНакл.Дата) КАК Дата ИЗ Документ.РасхНакл КАК РасхНакл
Глава 5. Работа с запросами 1 -329 Результат Получатель Урюпинскторг Маг. «Мебель» Маг. «Хозяин» Маг. «Гигант» Урюпинскторг Дата 01.07.2000 12:00:00 01.07.2000 12:00:00 10.07.2000 12:00:00 02.08.2000 12:00:00 03.09.2000 12:00:00 CTbNULL (ISNULL) Функция предназначена для замены значения NULL на другое значение. Параметры функции: • первый параметр - выражение любого типа; • второй параметр - выражение любого типа. Возвращаемое значение: значение первого параметра, если первый параметр не содержит значение NULL; значение второго параметра в противном случае. Второй параметр будет преобразован к типу первого в том случае, если тип первого параметра является строкой или числом. Пример^ „ „„ ., , .,„. ,,. ,.,,,,. II Получить сумму по поле Количество. В случае если нет // записей, получить 0 ВЫБРАТЬ ECTbNULL(СУММА(Количество), 0) КАК Количество j ИЗ Документ.РасхНакл.Состав Операции выбора в языке запросов В выражениях языка запросов могут применяться операции выбора, которые позволяют получить одно из возможных значений в соответствии с ными условиями. Операция выбора описывается следующим набором правил: <Операция выбора> ВЫБОР <Альтернативы выбора> [ИНАЧЕ <Выражение>] КОНЕЦ <Альтернативы выбора> Одиночный выбор> [<Альтернативы выбора>]
1 -330 1С:Предприятие 8.1. Конфигурирование и администрирование «Одиночный выбор> КОГДА Логическое выражение> ТОГДА <Выражение> В операции выбора может указываться неограниченное количество альтернативных одиночных выборов КОГДА... ТОГДА. Они ся в запросе последовательно. Если логическое выражение имеет значение ИСТИНА, обработка операции выбора завершается. Результатом операции является значение выражения, указанного после слова ТОГДА. кие выражения описаны в параграфе «Логические выражения в языке запросов». Значение выражения, указанного после слова ИНАЧЕ, используется в тве результата операции выбора в том случае, если во всех ранее указанных альтернативных одиночных выборах предикат имел значение ЛОЖЬ. Пример^ ' Выбрать ' Справочник.Номенклатура.Наименование, Выбор Когда Справочник.Номенклатура.Этогруппа = Истина Тогда "Это Группа" Когда Справочник.Номенклатура.ЗакупочнаяЦена > 1000 Тогда 000 -" Когда Справочник.Номенклатура.ЗакупочнаяЦена > 100 Тогда 00 - 1000" Когда Справочник.Номенклатура.ЗакупочнаяЦена > 10 Тогда 0 - 100" Когда Справочник.Номенклатура.ЗакупочнаяЦена > 0 Тогда  - 10" Иначе "Не Задана" Конец КАК Цена Результат запроса Наименование Брюки детские Рубашка «Ковбойка» Одежда Джинсы женские Свитер детский Сантехника Бытовая техника Раковина «Лилия» Мойдодыр «Аквариум» Смеситель «Ультра» Кухонный комбайн «Крупе» Мясорубка «Браун» Цена 100-1000 1000- Это группа 1000- Не задана Это группа Это группа Не задана Не задана 100-1000 1000- Не задана I
Глава 5. Работа с запросами 1-331 Наименование Электронож «Крупе» Зажигалка для газовой плиты «Огонек» Калькулятор бухгалтерский Кухонная техника Оргтехника Цена Не задана Не задана Не задана Это группа Это группа Приведение типа в языке запросов Поля исходных таблиц могут иметь составной тип. Для таких полей возникает необходимость привести значения поля к какому-либо определенному типу. В языке запросов предусмотрена возможность приведения типа. Ею можно пользоваться в списке полей выборки и в условии отбора в предложении ГДЕ. , Приведение типа> ВЫРАЗИТЬ (<Выражение> КАК <Тип значения>) <Тип значений> Булево | Число [(Длина[, Точность])]| Строка [(Длина)]| Дата| <Имя табпицы> <Длина> Число <Точносшь> Число Выражение приводится к одному из примитивных типов или к ссылочному типу данных. В последнем случае имя таблицы указывает на щую таблицу информационной базы. Если выражение содержит в составном типе требуемый тип значения, то приведение типа считается осуществимым, и для каждого значения ного типа результатом будет это самое значение. Для значений других типов результатом приведения типа будет значение NULL. Если выражение не содержит в составном типе требуемый тип значения, то выполнение данного запроса завершится ошибкой из-за принципиальной невозможности совершить приведение типов.
1 -332 1С:Предприятие 8.1. Конфигурирование и администрирование Константы и параметры в языке запросов В выражениях языка запросов могут напрямую указываться значения типа Булево, Число, Строка или Дата. Также могут использоваться значения параметров запроса: <3начение> ИСТИНА| ЛОЖЬ| <Литерап типа Число> | <Литерал типа Строка> | <Литерап типа Дата> | <Имя параметра> | НЕОПРЕДЕЛЕНО| NULL <Литерал типа Число <Цепое чиспо>[.<Целое чиспо>] <Литерал типа Строка> '^Последовательность символов>" <Литерал типаДата> ДАТАВРЕМЯ (<Целое число> <Цепое число>, <Целое чиспо>[, <Целое чиспо>, <Целое число>, <Цепое число>]) Значения типа Булево, Число, Строка в языке запросов задаются так же, как и во встроенном языке. Значения типа Дата задаются с помощью ключевого слова ДАТАВРЕМЯ, после которого в скобках последовательно указываются год, месяц, день, час, минута, секунда. Последние три указывать необязательно. Максимальная дата, которую возможно задать при помощи литерала ДАТАВРЕМЯ, - 31.12.3999 23:59:59. В запрос могут передаваться параметры (см. описание объекта Запрос). Значения параметров могут использоваться в выражениях языка запросов. Для этого необходимо указать символ & и после него имя параметра. Условия в языке запросов В языке запросов используются условия отбора, в соответствии с которыми осуществляется отбор данных в предложениях ГДЕ, ИМЕЮЩИЕ и СОЕДИНЕНИЕ.
Глава 5. Работа с запросами 1-333 Условия описываются по следующим правилам: <Услоеие отбора> Логическое слагаемое> [ИЛИ Логическое слагаемое>] Логическое слагаемое> Логический сомножитель> [И Логический сомножитепь>] Логический сомножитель> НЕ Логический сомножитель> | (<Условие отбора>) | Логическое выражение> В простейшем случае условие является выражением, результат которого имеет значение логического типа. Логические выражения описаны в рафе «Логические выражения в языке запросов». Условия могут определяться и как более сложные логические ния, где фигурируют простые логические выражения, соединенные между собой с помощью логических операторов И, ИЛИ, НЕ. Логические операторы имеют приоритет. Самый высокий приоритет имеет логический оператор НЕ. Следующим по приоритету является оператор И. Самый низкий приоритет у ра ИЛИ. В условиях сначала вычисляются простые логические выражения, затем операции НЕ, затем операции И, в последнюю очередь - операции ИЛИ. Для того чтобы обеспечить другой порядок вычислений, можно использовать круглые скобки (). Логические выражения в языке запросов В языке запросов в операциях выбора и в условиях отборов используются логические выражения: Логическое выражение> <Выражение> | <Выражение> <Операция сравнения> <Выражение> | <Выражение> [НЕ] В [ИЕРАРХИИ] (<Список значений>) | <Выражение> [НЕ] В [ИЕРАРХИИ] (<Описание запроса>) | <Выражение> [НЕ] МЕЖДУ <Выражение> И <Выражение> | <Выражение> ЕСТЬ [НЕ] NULL | <Выражение> ССЫЛКА <Имя таблицы> | <Выражение> [НЕ] ПОДОБНО <Литерап типа СТРОКА> [СПЕЦСИМВОЛ <Литерал типа СТРОКА>]
1 -334 1 С:Предприятие 8.1. Конфигурирование и администрирование «Операция сравнение >1<1=1>=1<=1<> <Список значений> <Выражение>[, <Выражение> [,...]] Логическим выражением может быть: • обычное выражение языка запросов, если его результат имеет кий тип; • операция сравнения двух выражений языка запросов; выполняется в соответствии с правилами сравнения значений, описанными в рафе «Правила сравнения значений»; • оператор проверки совпадения/несовпадения значения выражения с одним из перечисленных или со значениями, содержащимися в результате другого запроса; • оператор проверки вхождения значения выражения в диапазон; • оператор проверки значения выражения на NULL; • оператор проверки ссылочного значения выражения на ссылку на определенную таблицу; • оператор проверки строкового значения наподобие шаблону. При сравнении значений используются правила сравнения значений, описанные ниже. Правила сравнения значений Поскольку в языке запросов могут сравниваться значения разных типов, определены правила, по которым выполняется сравнение двух значений. Данные правила используются: • для сравнения значений в операторах сравнения; • для определения максимального и минимального значений в ных функциях МИНИМУМ и МАКСИМУМ; • для упорядочивания записей результата запроса в соответствии с рядком, заданным в предложении УПОРЯДОЧИТЬ ПО. Если типы значений отличаются друг от друга, то отношения между ниями определяются на основании приоритета типов: • тип NULL (самый низший); • тип Булево; • тип Число;
Глава 5. Работа с запросами 1-335 • тип Дата; • тип Строка; • ссылочные типы. Отношения между различными ссылочными типами определяются на основе внутренних ссылочных номеров таблиц, соответствующих тому или иному типу. Если типы данных совпадают, то производится сравнение значений по следующим правилам: • у типа Булево значение ИСТИНА больше значения ЛОЖЬ; • у типа Число обычные правила сравнения для чисел; • у типа Дата более ранние даты меньше более поздних; • у типа Строка сравнение производится в соответствии с ми национальными особенностями базы данных; • ссылочные типы сравниваются на основе своих значений (номера записи и т. п.); • не допускается сравнение полей неограниченной длины (строки ниченной длины, ХранилищеЗначения, поле ТипЗначения из таблицы планов видов характеристик). Важно! Любая операция сравнения двух значений, в которой ет хотя бы одно значение NULL, дает результат, аналогичный значению ЛОЖЬ. Оператор проверки совпадения значения Форма оператора В для проверки совпадения с одним из перечисленных Оператор В позволяет проверить, совпадает ли значение выражения, ного справа от него, с одним из значений, описанных слева. Если совпадает хотя бы с одним, результатом оператора будет ИСТИНА, иначе - ЛОЖЬ. нение НЕ изменяет действие оператора на обратное. Сравнение значений производится по правилам, описанным в параграфе «Правила сравнения значений». Пример Выбрать Справочник.Номенклатура.Наименование 1 Где Справочник.Номенклатура.Родитель.Наименование В ("Бытовая техника", "Оргтехника")
1 -336 1 С:Предприятие 8.1. Конфигурирование и администрирование i Форма оператора В для проверки принадлежности по иерархии Для справочников проверка может осуществляться и на принадлежность по иерархии. Результатом оператора В ИЕРАРХИИ будет ИСТИНА, если ние выражения слева является ссылкой на элемент справочника и входит во множество значений справа или иерархически принадлежит какой-нибудь группе, содержащейся в этом множестве. Пример //В качестве параметра Группа в запрос передается ссыпка //на какую-либо группу справочника Номенклатура. Выбрать Справочник.Номенклатура.Наименование Где Справочник.Номенклатура.Ссылка В ИЕРАРХИИ (&Группа) В качестве множества значений, на совпадение с которыми выполняется проверка, может фигурировать и результат запроса. В этом случае справа от оператора В необходимо указать описание запроса. Пример Выбрать Справочник.Номенклатура.Наименование "Где Справочник.Номенклатура.Ссылка В ИЕРАРХИИ { ВЫБРАТЬ Справочник.Номенклатура.Ссылка ГДЕ Справочник.Номенклатура.Наименование = "Одежда" Форма оператора В для проверки совпадения значения с одним из результатов запроса Примером применения данного оператора может послужить следующий. Примеру // Выбрать названия товаров, которые присутствовали в расходных накладаых ВЫБРАТЬ Товары. Наименование " ¦-, ИЗ Справочник.Товары КАК Товары Е Товары.Ссылка В ( ВЫБРАТЬ РасхНаклСостав.Товар ИЗ Документ.РасхНакл.Состав КАК РасхНаклСостав ) i'4\
Глава 5. Работа с запросами 1-337 Результат запроса Товары Кран Вантуз Стол Ступ Для получения противоположного результата, то есть если нужно лить, что значение не совпадает ни с одним из результатов запроса, запрос выглядит следующим образом. Пример // Выбрать названия товаров, которне присутствовали в расходных накладных ВЫБРАТЬ Товары. Наименование *'*¦ ИЗ . Справочник.Товары КАК Товары •ГДЕ Товары.Ссылка НЕ В ВЫБРАТЬ РасхНаклСостав.Товар ИЗ Документ.РасхНакл.Состав КАК РасхНаклСостав Результат запроса Товары Сантехника Мебель Заметим, что из запроса операции В возможно обращение к полям таблиц, которые встречались во внешнем запросе до появления операции. Пример // Выбрать названия товаров, которые присутствовали в расходных накладных ВЫБРАТЬ Товары.Наименование 'ИЗ I Справочник.Товары КАК Товары ГДЕ Товары.Ссылка В ( ВЫБРАТЬ РасхНаклСостав.Товар ИЗ Документ.РасхНакл.Состав КАК РасхНаклСостав ГДЕ РасхНаклСостав.Товар = Товары.Ссылка )
1L338 1С:Предприятие 8.1. Конфигурирование и администрирование Результат запроса Товары Кран Вантуз Стол Стул Использование операции В (НЕ В) по нескольким полям Синтаксис для вложенного запроса: (выражение^ выражение2,..., выражениеЫ) В (ВЫБРАТЬ выражение^ выражение2,..., выражениеЫ...) Синтаксис для таблицы значений: (выражение^ выражение2 выражение^ В (&Параметр) В качестве параметра следует передавать таблицу значений, первые N колонок которой будут использоваться для операции В. Оператор проверки вхождения значения в диапазон Оператор МЕЖДУ позволяет проверить, входит ли значение выражения, указанного слева от него, в диапазон, указанный справа. Если входит, татом оператора будет ИСТИНА, иначе - ЛОЖЬ. Применение НЕ изменяет действие оператора на обратное. Сравнение значений производится по правилам, описанным в параграфе «Правила сравнения значений». Пример %— Выбрать Справочник.Номенклатура.Наименование, Справочник.Номенклатура.ЗакупочнаяЦена Где |, Справочник.Номенклатура.ЗакупочнаяЦена МЕЖДУ 100 И 1000 Оператор проверки значения на NULL Оператор ECTbNULL позволяет проверить значение выражения слева от него на NULL. Если значение равно NULL, результатом оператора будет ИСТИНА, иначе — ЛОЖЬ. Применение НЕ изменяет действие оператора на обратное. Пример ___^^_ Выбрать ¦ Справочник.Номенклатура.Наименование, Справочник.Номенклатура.ЗакупочнаяЦена i Где Справочник.Номенклатура.ЗакупочнаяЦена Есть HULL
Глава 5. Работа с запросами 1-339 Оператор проверки ссылочного значения Оператор ССЫЛКА позволяет проверить, является ли значение выражения, указанного слева от него, ссылкой на таблицу, указанную справа. Если да, результатом оператора будет ИСТИНА, иначе - ЛОЖЬ. Разыменование таблиц описано в параграфе «Разыменование полей». Пример Выбрать I Справочник.Номенклатура.Наименование, 4 Справочник.Номенклатура,ЕдиницаИзмерения \ Где ! Справочник.Номенклатура.ЕдиницаИзмерения Ссылка Справочник. ЕдиницыИзмерения Оператор проверки строки на подобие шаблону Оператор ПОДОБНО позволяет сравнить значение выражения, указанного слева от него, со строкой шаблона, указанной справа. Значение выражения должно иметь тип Строка. Если значение выражения удовлетворяет ну, результатом оператора будет ИСТИНА, иначе - ЛОЖЬ. Следующие символы в строке шаблона являются служебными и имеют смысл, отличный от символа строки: • % (процент): последовательность, содержащая любое количество произвольных символов; • _ (подчеркивание): один произвольный символ; • [...] (в квадратных скобках один или несколько символов): любой ный символ из перечисленных внутри квадратных скобок. В перечислении могут встречаться диапазоны, например a-z, означающие произвольный символ, входящий в диапазон, включая концы диапазона; • [л...] (в квадратных скобках значок отрицания, за которым следует один или несколько символов): любой одиночный символ, кроме тех, которые перечислены следом за значком отрицания. Любой другой символ означает сам себя и не несет никакой ной нагрузки. Если в качестве самого себя необходимо записать один из перечисленных символов, то ему должен предшествовать спецсимвол. Сам спецсимвол (любой подходящий символ) определяется в этом же операторе после вого слова СПЕЦСИМВОЛ. Например, шаблон "%АБВ[0-9][абвг]\_абв%" СПЕЦСИМВОЛ "\" означает подстроку, состоящую из последовательности символов: буквы А; буквы Б; буквы В; одной цифры; одной из букв а, б, в или г; символа подчеркивания; буквы а; буквы б; буквы в. Причем перед этой последовательностью может располагаться произвольный набор символов.
1-340 1С:Предприятие 8.1. Конфигурирование и администрирование Выполнение и работа с запросами во встроенном языке Для формирования запросов, выборки и обработки результатов запросов в языке предусмотрен специальный набор объектов. С помощью этих тов выполняется формирование запроса, обход записей запроса и т. д. Основные приемы работы Основные приемы работы с запросами во встроенном языке системы 1С:Предприятие 8 удобнее всего рассматривать на примерах. Приведем типичный пример использования запроса. // Создадим Запрос • Запрос = Новый Запрос("ВЫБРАТЬ Товар.Наименование Наименование, I Товар.Родитель.Наименование НаименованиеРодителя |ИЗ Справочник.Товары Товар"); t // Выполним запрос и запишем результат в переменную РезультатЗапроса. РезультатЗапроса = Запрос.Выполнить(); ' // Получим выборку из результата запроса. , Выборка = РезультатЗапроса.ВыбратьС); // Пока в выборке есть записи ... , Пока Выборка.Следующий() Цикл // ... выведем в окно сообщений поля из результата. Товар = Выборка.Наименование; Родитель = Выборка.НаименованиеРодителя; Сообщить("Товар: " + Товар + * Родитель: " + Родитель); , КонецЦикла; Как видно из этого примера, работа с запросом ведется при помощи трех основных объектов: • Запрос - объект, вьшолняющий сам запрос. Представлен в примере переменной с именем Запрос. • РезультатЗапроса - объект, содержащий полученные при выполнении запроса данные. Представлен в примере переменной с именем РезультатЗапроса. • ВыборкаИзРезупьтатаЗапроса — объект, позволяющий обходить (т. е. ребрать) записи из результата. Представлен в примере переменной с именем Выборка. Рассмотрим подробнее объект ВыборкаИзРезупьтатаЗапроса. Для этого нам понадобится следующий запрос. Выбрать 1 Товар, Количество [Из ' Документ.РасхНакл.Состав ! Упорядочить по Товар Итоги Сумма(Количество) По Товар, Товар Иерархия
Глава 5. Работа с запросами 1-341 Его результат представлен в таблице. № 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Товар Сантехника Кран Кран Кран Кран Кран Смеситель Смеситель Смеситель Смеситель Мебель Стол Стол Стол Стол Стул Стул Стул Стул Стул Количество 104 84 10 8 44 22 20 5 1 14 134 26 1 15 10 70S 55 5 32 16 В этой таблице мы добавили столбец № 1. У него нет в результате запроса, но он будет использоваться нами в дальнейшем для идентификации записи в результате. Итоговые записи в таблице выделены курсивом, итоговые записи для иерархических уровней справочника выделены жирным шрифтом. Способы обхода результата запроса Линейный обход результата Первый и самый простой способ обхода - линейный. При линейном обходе выборка будет выдавать записи в той последовательности, в которой они располагаются в результате запроса. В нашем примере это будут записи с номерами 1,2, 3,4, 5 и так далее до записи с номером 20. Для получения линейной выборки из результата необходимо вызвать метод Выбрать() объекта РезультатЗапроса без параметров либо с параметром ОбходРезультатаЗапроса.Прямой.
1-342 1С:Предприятие 8.1. Конфигурирование и администрирование Пример СпособБыборки = ОбходРезультатаЗапроса.Прямой; Выборка! = РезуяьтатЗапроса.Выбрать(СпособБыборки) // что равнозначно записи Выборка! = РезуяьтатЗапроса.ВыбратьО; Иерархический обход результата Следующий способ обхода результата - иерархический. При данном способе обходятся только записи, находящиеся на одном уровне. Для чения иерархической выборки из результата необходимо вызвать метод Выбрать() объекта РезультатЗапроса с параметром ОбходРезультатаЗапроса. ПоГруппировкамСИерархией. Пример СпособБыборки = ОбходРезультатаЗапроса.ПоГруппировкамСИерархией; Выборка2 = РезультатЗапроса.Выбрать(СпособБыборки); Выборка из результата с иерархическим обходом в нашем примере обойдет только записи с номерами 1 и 11, так как только эти две записи находятся на самом верхнем уровне. Проиллюстрируем это, представив наш результат в виде дерева, где узлами будут итоговые записи, а листьями дерева - ные записи. Вот что у нас получится: Яря» 3 i S 6 Кран Кран Кран Кз?ан 10 8 и 22 ¦>! 11 I Мебель -И 12 I Стал -Ц ¦№ I Оми Сттл Сгуя Стул 13 10 S5 5 32 16
Глава 5. Работа с запросами 1-343 Из этого рисунка видно, что именно записи с номерами 1 и 11 и только они находятся на первом уровне дерева, в результате чего только они и попадают в первый проход иерархической выборки. Возникает вопрос: как получать остальные записи результата запроса? Для этого у объекта ВыборкаИзРезулыатаЗапроса можно получить еще одну выборку, которая будет обходить подчиненные записи текущей записи выборки. В нашем примере в момент, когда объект Выборка2 будет нирован на запись с номером 1, мы запросим у него иерархическую выборку. Таким образом мы получим выборку, которая нам вернет записи с ми 2, 7. А когда Выборка2 будет спозиционирована на записи с номером 11, полученная у нее иерархическая выборка вернет записи с номерами 12, 16. Так реализуется иерархический обход результатов запроса. Заметим, что у выборки можно получать вложенные выборки любого типа. Так, если бы мы запросили у объекта Выборка2, спозиционированной на записи 1, линейную выборку, то с ее помощью мы бы получили записи с номерами со 2-го по 10-й. Проиллюстрируем описанную методику на примере. Пример Процедура ВыполнитьЗапрос() // Создадим запрос. Запрос = Новый Запрос; // Установим текст запроса Запрос.Текст = "Выбрать I Товар, Количество |Из i Документ.РасхНакя.Состав I Упорядочить по Товар IИтоги Сумма(Количество) По Товар, Товар Иерархия"; // Выполним запрос и запишем результат в переменную // РезультатЗапроса. РезультатЗапроса = Запрос.Выполнить(); // Получим выборку из результата запроса, t СпособВыборки = ОбходРезультатаЗапроса.ПоГруппировкамСИерархией; Выборка = РезультатЗапроса.Выбрать(СпособВыборки); ВьщатьРекурсивно(Выборка); КонецПроцедуры Процедура ВьщатьРекурсивно(Выборка) // Пока в выборке есть записи ... Пока Выборка.Следующий() Цикл // ... выведем в окно сообщений поля из результата Товар = Выборка.Наименование; Количество = Выборка. Количество,- Сообщить("Товар: " + Товар + " Количество: " + Количество); // Продолжим выборку подчиненных записей СпособВыборки = ОбходРезультатаЗапроса.ПоГруппировкамСИерархией; ВьщатьРекурсивно(Выборка.Выбрать(СпособВыборки); КонецЦикла; КонецПроцедуры
1 -344 1 С:Предприятие 8.1. Конфигурирование и администрирование Обход результата по группам Третий и последний способ обхода результата - по группам. Он сходен с иерархическим обходом, но с одним различием: записи с иерархическими итогами при обходе в нем рассматриваются как детальные, а не как итоговые. Для получения выборки по группам из результата запроса необходимо вызвать метод Выбрать() объекта РезультатЗапроса с параметром ОбходРезультатаЗапросаЛоГруппировкам. Пример СпособВыборки = ОбходРезультатаЗапроса.ПоГруппировкам; . Выборка2 = РезультатЗапроса.Выбрать(СпособВыборки); Перебрав в ней все, мы получим записи с номерами 1,2, 7, 11, 12,16. Пример Процедура ВыполяитьЗапрос() // Создадим запрос. Запрос = Новый Запрос; // Установим текст запроса Запрос.Текст = "Выбрать IТовар, Количество |Из IДокумент.РасхНакл.Состав I Упорядочить по Товар IИтоги Сумма(Количество) По Товар, Товар Иерархия"; // Выполним запрос и запишем результат в переменную // РезультатЗапроса. РезультатЗапроса = Запрос.Выполнить(); // Получим выборку из результата запроса СпособВыборки = ОбходРезультатаЗапроса.ПоГруппировкам; Выборка = РезультатЗапроса.Выбрать(СпособВыборки); // Пока в выборке есть записи ... Пока Выборка.Следующий() Цикл // ... выведем в окно сообщений поля из результата Товар = Выборка.Наименование; Количество = Выборка.Количество; Сообщить("Товар: "+Товар+" Итого по товару: "+Количество); ВыдатьДочерниеЗаписи(Выборка.Выбрать()); КонецЦикла; КонецПронедуры Процедура ВыдатьДочерниеЗаписи (Выборка) // Пока в выборке есть записи ... Пока Выборка.Следующий() Цикл // ... выведем в окно сообщений поля из результата Товар = Выборка.Наименование; Количество = Выборка.Количество; t Сообщить(* овар. " То р " Количеств • " Количеств ), е ! КонецПроцедуры
Глава 5. Работа с запросами 1-345 Работа с выборкой Объект ВыборкаИзРезультатаЗапроса предназначен для обхода записей результата запроса. Можно представить себе выборку как некоторый объект, который содержит указатель на текущую запись в результате и ляет программе доступ ко всем полям текущей записи. Для навигации по записям запроса используются три метода: • Следующий - перейти к следующей записи результата в соответствии с порядком обхода выборки. При первом вызове позиционирует ку на первую запись. Когда будут выбраны все записи, данный метод просигнализирует об этом, вернув значение Ложь. • СледующийПоЗначениюПоля - получить следующую запись со значением в заданном поле, отличающимся от значения в этом поле текущей записи. • НайтиСледующий - найти запись с заданными значениями некоторых полей. Использование метода СледующийПоЗначениюПоля() Метод позволяет сгруппировать записи результата по значениям полей. Пример ¦__ I Выбрать „ Док.Товар, Док.Получатель, Док.Количество Из Документ.РасхНакл.Состав Док , Упорядочить по Док.Товар.Наименование, Док.Получателе- '„ Наименование. Его результат представлен в таблице. № 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Товар Смеситель Смеситель Смеситель Кран Кран Кран Кран Стол Стол Стол Стул Стул Стул Стул Получатель Маг. «Гигант» Маг. «Хозяин» Мосгорторг Маг. «Гигант» Маг. «Хозяин» Мосгорторг Мосгорторг Маг. «Гигант» Маг. «Мебель» Мосгорторг Маг. «Гигант» Маг. «Мебель» Маг. «Хозяин» Мосгорторг Количество 14 1 5 44 8 10 22 10 15 1 32 55 5 16
1 -346 1 С:Предприятие 8.1. Конфигурирование и администрирование Получим линейную выборку из результата запроса и обойдем выборку при помощи метода СледующийПоЗначениюПоля(). Пример Выборка = РезультатЗапроса.Выбрать(}; ¦ Пока Выборка.СледующийПоЗка-чениюПоля("Товар") Цикл // здесь мы получим записи с номерами 1, 4, 8, 11 Пока Выборка.СяедующийПоЗначениюПоля("Получатель") Цикл // здесь мы сначала получим записи с номерами 1, 2, 3 // затем 4, 5, 6 // затем 8, 9, 10 // затем 11, 12, 13, 14 КонецЦикла; , КонецЦикла; Следует обратить внимание на то, что во внутреннем цикле не была выбрана запись с номером 7, т. к. в ней такое же значение поля Получатель, как и в предыдущей записи. Заметим, что если в цикле получения по значению поля получать записи при помощиметодаСледующий(), то будутвыбранывсе записисравнымзначением поля, заданного в предыдущем вызове метода СледующийПоЗначениюПоля(). Пример I Выборка = РезультатЗапроса.Выбрать)); Пока Выборка.СледующийПоЗначешдаПоля("Товар") Цикл // здесь мы получим записи с номерами 1, 4, 6, 11 Пока Выборка.Следующий() Цикл // здесь мы сначала получим записи с номерами 1, 2, 3 // затем 4, 5, б, 7 // затем 8, 9, 10 // затем 11, 12, 13, 14 КонецЦикла; 1 КонецЦикла; Методы определения типа текущей записи В тот момент, когда выборка позиционирована на записи, мы можем у ки узнать характеристики этой записи. Получение характеристик записи осуществляется следующими методами: • Уровень - определяет уровень записи в результате запроса. • ТипЗаписи - определяет принадлежность записи к одному из щих типов: • групповой итог; • итого по иерархии; • детальная запись; • общий итог. • Группировка - определяет имя поля, по которому были рассчитаны итоги.
Глава 5. Работа с запросами 1-347 Для иллюстрации работы этих методов посмотрим, что они будут щать в виде записей для запроса, рассматриваемого в начале главы. * Выбрать • Товар, Количество Количество J Из I Документ.РасхНакя.Состав , Упорядочить по Товар | Итоги Сумма (Количество) По Товар, Товар Иерархия.', Результат представлен в таблице. № 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Товар Сантехника Кран Кран Кран Кран Кран Смеситель Смеситель Смеситель Смеситель Мебель Стол Стол Стол Стол Стул Стул Стул Стул Стул чество 104 84 10 8 44 22 20 5 1 14 134 26 1 15 10 108 55 5 32 16 Уровень 0 1 2 2 2 2 1 2 2 2 0 1 2 2 2 1 2 2 2 2 ТипЗаписи ИтогПоИерархии ИтогПоГруппировке ДетальнаяЗапись ДетальнаяЗапись ДетальнаяЗапись ДетальнаяЗапись ИтогПоГруппировке ДетальнаяЗапись ДетальнаяЗапись ДетальнаяЗапись ИтогПоИерархии ИтогПоГруппировке ДетальнаяЗапись ДетальнаяЗапись ДетальнаяЗапись ИтогПоГруппировке ДетальнаяЗапись ДетальнаяЗапись ДетальнаяЗапись ДетальнаяЗапись Группировка Товар Товар Товар Товар Товар Товар Работа с временными таблицами Язык запросов системы 1С:Предприятие 8 позволяет использовать ные таблицы в запросах. Использование временных таблиц помогает повысить производительность запросов и сделать текст сложных запросов более легким для восприятия. Работа с временными таблицами обеспечивается двумя составляющими: • объектом встроенного языка МенеджерВременныхТаблиц, который хранит в себе данные временных таблиц;
1-348 1С:Предприятие 8.1. Конфигурирование и администрирование • синтаксисом язьжа запросов, позволяющим создавать новые ные таблицы и использовать существующие временные таблицы. Менеджер временных таблиц Менеджер временных таблиц предназначен для управления временем твования временных таблиц, создаваемых в процессе работы прикладного решения. В одном прикладном решении может быть создано произвольное количество экземпляров менеджера временных таблиц, каждый из которых хранит свой набор временных таблиц. Каждая временная таблица однозначно цируется своим именем, и в пределах одного менеджера временных таблиц все временные таблицы должны иметь уникальные имена. Экземпляр менеджера временных таблиц может быть создан с помощью конструктора Новый. Например: i МенеджерВременныхТаблиц = Новнй МенеджерВременныхТаблиц; Все временные таблицы, созданные в данном экземпляре менеджера, твуют до тех пор, пока существует сам экземпляр менеджера временных таблиц. При уничтожении экземпляра менеджера все временные таблицы, содержащиеся в нем, также удаляются. Менеджер временных таблиц можно закрыть принудительно при помощи метода Закрыть(). При этом будут удалены все созданные в нем таблицы. Дальнейшая работа с данным экземпляром менеджера будет невозможна. Создание временных таблиц Создание временных таблиц осуществляется с помощью объекта Запрос встроенного языка системы 1 (^Предприятие 8.1. Связь запроса с менеджером временных таблиц осуществляется с помощью свойства МенеджерВременныхТаблиц запроса, в котором указывается тот экземпляр менеджера, в котором должны создаваться временные таблицы. Например: , — _ . . „ „ ..gj-^,_ ^ , МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц; Запрос = Новый Запрос- Запрос. МенеджерВременныхТаблиц = МенеджерВременныхТаблиц; Временная таблица может быть создана на основе данных базы данных или на основе внешнего источника данных (например, таблицы значений). Для того чтобы создать временную таблицу на основе данных базы данных, следует установить объекту Запрос менеджер временных таблиц, а затем выполнить запрос к базе данных, используя ключевое слово
Глава 5. Работа с запросами 1-349 ПОМЕСТИТЬ, после которого указать имя создаваемой временной таблицы. Ключевое слово ПОМЕСТИТЬ располагается после списка выборки запроса. Например: ВЫБРАТЬ КОД, Наименование ПОМЕСТИТЬ ВремевнаяТаблица ИЗ Справочник.Номенклатура Результат исполнения такого запроса будет содержать одну строку с одной колонкой Количество, в которой будут находиться записи, помещенные в созданную таблицу. Если менеджер временных таблиц не установлен, или был закрыт, или в установленном менеджере временных таблиц уже существует таблица с указанным именем, будет выдана ошибка. При необходимости создания индекса для временной таблицы следует в запросе указать ключевое слово ИДЕКСИРОВАТЬ ПО, после которого перечислить поля, по которым нужно построить индекс. Например: "ВЫБРАТЬ Код, Наименование ПОМЕСТИТЬ ВременнаяТабяица ИЗ Справочник.Номенклатура ИНДЕКСИРОВАТЬ ПО Код Поля, по которым происходит индексирование, должны находиться в списке выборки. Для того чтобы создать временную таблицу и заблокировать данные таблиц, на основании которых создается временная, следует использовать цию ДЛЯ ИЗМЕНЕНИЯ, например: ВЫБРАТЬ РасходнаяНакладная.Ссылка, РасходнаяНакладная.Номер, РасходнаяНакладная.Дата ' ПОМЕСТИТЬ ВременнаяТаблица ИЗ Документ.РасходнаяНакладная КАК РасходнаяНакладная ' ГДЕ РасходнаяНакладная.Ссылка В(&Документы) ДЛЯ ИЗМЕНЕНИЯ Для того чтобы создать временную таблицу на основании внешнего ника, следует в тексте запроса в списке источников указать имя параметра, в который будет помещен внешний источник. Остальной синтаксис чен обычному созданию временной таблицы.
1 -350 1 СгПредприятие 8.1. Конфигурирование и администрирование В качестве внешнего источника могут выступать: • таблица значений; • табличная часть; • результат запроса. Ниже приведен пример создания временной таблицы на основе внешнего источника. ВЫБРАТЬ Код, Наименование ПОМЕСТИТЬ ВременнаяТаблица ИЗ &ВнешнийИсточник КАК ВнешнийИсточник В данном примере во временную таблицу ВременнаяТаблица будет помещено содержимое колонок Код и Наименование из внешнего источника, например, таблицы значений, переданной в качестве параметра ВнешнийИсточник. Если временная таблица создается на основании внешнего источника, в запросе нельзя использовать объединения и соединения. А также нельзя использовать поля, являющиеся реквизитами полей таблиц, на основании которых создается временная таблица. Использование временных таблиц Для использования существующих временных таблиц в запросе ет установить объекту Запрос менеджер временных таблиц, после чего к временным таблицам, содержащимся в данном менеджере временных таблиц, можно обращаться по имени, как к обычным таблицам запроса. Удаление временных таблиц Для удаления временной таблицы из менеджера временных таблиц ет воспользоваться ключевым словом языка запроса УНИЧТОЖИТЬ, после которого указывается имя уничтожаемой таблицы, например: УНИЧ ОЖИТЬ ВременнаяТаблица , v, Если уничтожаемой таблицы не существует, будет выдана ошибка. Работа с пакетными запросами Платформа системы 1С:Предприятие 8.1 позволяет работать с пакетами запросов. В пакетном запросе тексты запросов разделяются символом «;». Запросы исполняются последовательно, при этом временные таблицы, которые были созданы во время исполнения какого-либо запроса, будут существовать до окончания исполнения всего пакета запроса или до
Глава 5. Работа с запросами 1-351 исполнения в пакете запроса, уничтожающего данную временную таблицу, например: Запрос = Новый Запрос; Запрос.Текст= "ВЫБРАТЬ I УчетНоменклатурыОстаткиИОбороты.Номенклатура, I УчетНоменклатурыОстаткиИОбороты.КоличествоПриход, ! I УчетНоменклатурыОстаткиИОбороты.КояичествоРасход, I УчетНоменклатурыОстатхшИОбороты.КоличествоКонечныйОстаток IПОМЕСТИТЬ УчетНоменкяатуры |ИЗ I РегистрНахшпяения.УчетНоменклатуры.ОстаткийОбороты(, , Авто, , ) I КАК УчетНоменкяатурыОстаткиИОбороты I ВЫБРАТЬ I УчетНоменклатуры.Номенклатура, I УчетНоменклатуры.КояичествоРасход, I УчетНоменклатуры.КоличествоКонечныйОстаток |ИЗ I УчетНоменклатуры КАК УчетНоменкяатуры i} Резуяьтат=Запрос. Выполнить (); Первый запрос создает временную таблицу, данные из которой ся во втором запросе. Если объекту Запрос, исполняющему пакетный запрос, установлен менеджер временных таблиц, временные таблицы, которые не были жены в рамках пакетного запроса, сохранятся в установленном менеджере. В тексте пакетного запроса возможно использование и уничтожение ных таблиц, которые существовали в установленном менеджере временных таблиц на момент запуска пакета на исполнение. Метод ВыполнитьПакет() Кроме метода Выпопнить(), последовательно выполняющего все запросы пакета и возвращающего результат последнего запроса в пакете, платформа системы 1С:Предприятие 8 предоставляет еще один метод - ВыполнитьПакет(). Этот метод последовательно выполняет все запросы и возвращает массив результатов для каждого запроса из пакета в последовательности ложения запросов в тексте пакета. Результатом вьшолнения запроса на уничтожение временной таблицы является значение Неопредепено, которое также помещается в массив результатов.
Глава 6 Работа с данными Механизм объектных блокировок При работе с объектными данными (справочники, документы, счета и пр.) система 1С:Предприятие 8.1 обеспечивает два вида объектных вок - пессимистическую и оптимистическую. Они позволяют выполнять целостные изменения объектов при одновременной работе нескольких пользователей. Пессимистическая блокировка Механизм пессимистической блокировки объектов базы данных чен для того, чтобы запретить изменение данных объекта другими сеансами или данным сеансом до тех пор, пока блокировка не будет снята этим том встроенного языка. В основном механизм пессимистической блокировки используется мой 1С:Предприятие 8.1 для блокировки объектов, редактируемых в форме. В то же время разработчик имеет возможность задействовать этот механизм, используя средства встроенного языка. Система 1С:Предприятие 8.1 использует механизм пессимистической ровки с помощью расширений форм прикладных объектов. В тот момент, когда пользователь начинает модификацию объекта в форме, расширение формы устанавливает пессимистическую блокировку. Если после этого другой пользователь, например, попытается выполнить редактирование того же объекта, ему будет выдано сообщение о том, что не удалось ровать объект. Когда пользователь, редактировавший объект, закроет форму объекта, расширение формы снимет пессимистическую блокировку. Разработчик, для того чтобы задействовать пессимистическую ку, может использовать метод объекта Заблокировать^). Этот метод позволяет установить пессимистическую блокировку объекта. Однако следует вать, что сам по себе факт установки блокировки не препятствует изменению
Глава 6. Работа с данными 1-353 или удалению объекта в базе данных. Поэтому для того, чтобы обеспечить невозможность изменения заблокированного объекта, операции изменения объекта в другом сеансе также должна предшествовать попытка ровки этого объекта. Блокировка заблокированного объекта базы данных вызывает исключение, которое может быть обработано конструкцией Попытка ... Исключение ... КонецПопытки. ОбъектЭкземпляр1 = Справочники.Номенклатура.НайтиПоКодуA). ПолучитьОбъект(); ОбъектЭкземпляр2 = Справочники.Номенклатура.НайтиПоКодуA) . ПолучитьОбъект(); I г~~ ; ;' 0бъектЭкземпляр1. Заблокировать () ; i 1 Попытка ¦ " 0бъе'ктЭкземшшр2 . Заблокировать () ; Г I •¦ II Изменение данных объекта \ II ... сключение tf-fV' Сообщить("Изменение объекта невозможно, Iданные объекта заблокированы"); КонецПопытки; Для снятия пессимистической блокировки разработчик может использовать метод объекта Разблокировать^). Также существует метод объекта Заблокировано, который позволяет лить, заблокированы ли данные объекта базы данных этим объектом встроенного языка. При работе с механизмом пессимистической блокировки средствами встроенного языка следует помнить о том, что блокировка устанавливается при выполнении метода конкретного экземпляра объекта встроенного языка. Соответственно, снять блокировку можно, только выполнив метод Разблокировал^) этого же экземпляра объекта. Чтобы узнать, установлена ли блокировка на данные объекта или нет, нужно использовать метод Заблокировать^). Если блокировка уже установлена каким-либо объектом встроенного языка, будет вызвано исключение. Пессимистическая блокировка и транзакции Операции блокировки объектов влияют только на выполнение других операций блокировки объектов и не влияют на операции над данными и на процесс течения транзакций. Блокировка заблокированного объекта базы данных вызывает исключение, которое может быть обработано и не приводит к обязательному откату транзакции. Если в течение транзакции при выполнении метода
1 -354 1 С:Предприятие 8.1. Конфигурирование и администрирование Заблокировать) возникло исключение, то оно может быть обработано конструкцией Попытка... Исключение... КонецПопытки и не требует обязательного отката транзакции. Блокировки объектов, установленные в течение транзакции, сохраняются при фиксации транзакции и снимаются при откате транзакции. Оптимистическая блокировка Оптимистическая блокировка запрещает запись объекта в базу данных, если после считывания объекта он был изменен в базе данных. Строго говоря, оптимистическая блокировка представляет собой проверку, которая выполняется перед записью объекта в базу данных. Когда объект встроенного языка считывает данные из базы данных, в числе прочего считывается и версия объекта, хранящегося в базе данных. Если до начала редактирования данных пользователем (до установки мистической блокировки) данные объекта в базе данных были изменены (например, другим пользователем), то номер версии объекта, хранящийся в базе данных, также изменится. При попытке пользователя записать этот объект будет выполнена проверка соответствия версии объекта, гося в памяти, и версии объекта, хранящейся в базе данных. Так как версии отличаются, будет выдано предупреждение о том, что версия объекта изменилась или он был удален, то есть сработает оптимистическая ровка. Оптимистическая блокировка гарантирует, что если пользователь изменяет объект, то его изменения не «затрут» изменения, сделанные другими ми или другими программными объектами этого же сеанса. Механизм транзакций Независимо от выбранного варианта работы (файловый или ный) система 1С:Предприятие8.1 обеспечивает работу с информацией, хранящейся в базе данных с использованием механизма транзакций. Транзакция — это неделимая с точки зрения воздействия на базу данных последовательность операций манипулирования данными. Она няется по принципу «все или ничего» и переводит базу данных из одного целостного состояния в другое целостное состояние. Если по каким-либо причинам одно из действий транзакции невыполнимо или произошло какое- либо нарушение работы системы, база данных возвращается в то состояние, которое было до начала транзакции (происходит откат транзакции). Транзакции могут использоваться как самой системой 1С:Предприятие8.1, так и разработчиком при написании модулей.
Глава 6. Работа с данными 1-355 Система 1С:Предприятие 8.1 осуществляет неявный вызов транзакций при выполнении любых действий, связанных с модификацией информации, хранящейся в базе данных. Например, все обработчики событий, женные в модулях объектов и наборов записей, связанные с модификацией данных базы данных, вызываются в транзакции. Наряду с этим разработчик может использовать работу с транзакциями в явном виде. Для этого используются процедуры глобального контекста НачатьТранзакцию(), ЗафиксироватьТранзакцию() и ОтменитьТранзакцию(). Использование явного вызова транзакций Процедура НачатьТранзакцию() позволяет открыть транзакцию. После этого все изменения информации базы данных, выполняемые последующими операторами, могут быть либо целиком приняты, либо целиком отвергнуты. Для принятия всех выполненных изменений используется процедура ЗафиксироватьТранзакцию(). Для того чтобы отменить все изменения, выполнявшиеся в открытой транзакции, используется процедура ОтменитьТранзакцию(). Таким образом, схема работы с транзакцией в общем виде может выглядеть следующим образом. ¦ НачатьТранзакцию(); • // Последовательность операторов I ••• | Попытка // Последовательность выполняемых операторов | Исключение ОтменитьТранзакцию(); • КонецПопытки; I // Последовательность выполняемых операторов !- I ЗафиксироватьТранзадциюО ; При использовании такой схемы следует помнить о том, что не все ошибки, возникающие при работе с базой данных, обрабатываются системой одинаково. В общем случае все ошибки базы данных можно разделить на две категории: • невосстановимые, • восстановимые.
1 -356 1 С:Предприятие 8.1. Конфигурирование и администрирование Невосстановимые ошибки — это ошибки, при возникновении которых нормальное функционирование системы 1С:Предприятие 8.1 может быть нарушено, например могут быть испорчены данные. При возникновении невосстановимой ошибки выполнение системы 1С:Предприятие 8.1 щается в любом случае. Если невосстановимая ошибка произошла в процессе выполнения ции, то все изменения, сделанные в рамках этой транзакции, отменяются системой. Восстановимые ошибки — это ошибки, не вызывающие серьезных нарушений в работе системы 1С:Предприятие 8.1. В случае возникновения восстановимой ошибки дальнейшая работа системы может быть продолжена. При этом, естественно, сама операция, вызвавшая ошибку, прекращается, и вызывается исключение, которое может быть перехвачено и обработано конструкцией Попытка... Исключение... КонецПопытки. Если восстановимая ошибка произошла в процессе выполнения транзакции, то система автоматически не выполняет отмену транзакции, ляя разработчику возможность самостоятельно обработать сложившуюся ситуацию. В зависимости от характера произошедшей ошибки возможны различные сценарии обработки этой ситуации. Если произошедшая ошибка не связана с базой данных, то возможно жение транзакции и дальнейшей работы модуля. Если разработчик считает это необходимым, он может отменить транзакцию или, наоборот, жить выполнение транзакции, если произошедшая ошибка не нарушает" атомарность транзакции. Если же исключительная ситуация была вызвана ошибкой базы данных, то система фиксирует факт возникновения ошибки в этой транзакции, и< дальнейшее продолжение транзакции или ее фиксация становятся можны. Единственная операция с базой данных, которую разработчик* может произвести в данной ситуации, - это отмена транзакции. После этого' он может осуществить попытку выполнения этой транзакции еще раз. Например, фрагмент кода, реализующий этот подход при записи некоторых данных в базу данных, может выглядеть следующим образом. . // Признак окончания попыток выполнения записи i Записано = Локь; // Попытки записи выполняются в цикле Пока Не Записано Цикл ,ji Попытка '4 НачатьТ; анзакцик>{); ]
Глава 6. Работа с данными 1-357 Данные.Записать(); ЗафиксироватьТранзакцию (); //В случае фиксации транзакции прекратить попытки записи Записано = Истина,- Исключение //В случае неудачи отменить текущую транзакцию и следующую // попытку начать с новой транзакции ОтменитьТранзакцию(); КонецДрпытки; КонецЦикла; Вложенный вызов транзакций В рамках уже выполняемой транзакции можно обращаться к рам НачатьТранзакцию(), ЗафиксироватьТранзакцию() и ОтменитьТранзакцию(). Например, может использоваться следующая схема вызовов. НачатьТранзакцию(); // Вложенный вызов транзакции > НачатьТранзакцию(); ЗафиксироватьТранзакцию(); // Вложенный вызов транзакции НачатьТранзакцию(); ЗафиксироватьТранзакцию!); ЗафиксироватьТранзакцию(); Однако подобное обращение не означает начала новой транзакции в рамках уже выполняющейся. Система 1С:Предприятие 8.1 не поддерживает ных транзакций. Это означает, что всегда действует только транзакция самого верхнего уровня. Все транзакции, вызванные внутри уже открытой ции, фактически относятся к той же транзакции, а не образуют вложенную транзакцию. Таким образом, отмена изменений, выполняемая во вложенной транзакции, будет приводить в конечном счете не к отмене изменений самой вложенной транзакции, а к отмене всех изменений транзакции верхнего уровня. В то же время фиксация изменений, выполненная во вложенной транзакции, игнорируется.
1 -358 1 С:Предприятие 8.1. Конфигурирование и администрирование Влияние транзакций на работу программных объектов В общем случае программные объекты, используемые системой тие 8.1, абсолютно «прозрачны» для транзакций базы данных. Иначе говоря, транзакции базы данных могут вызываться при выполнении различных методов программных объектов, однако, например, действия, выполняемые базой данных при откате транзакции, в общем случае никак не влияют на соответствующие программные объекты. Из этого следует, что при отмене транзакций базы данных разработчик (если в этом есть необходимость) должен самостоятельно обеспечивать ное изменение данных соответствующих программных объектов. Это можно выполнять путем перечитывания всех данных объекта или путем изменения некоторых реквизитов программного объекта (если, например, это димо для отображения в интерфейсе). Однако, как в любом правиле, здесь тоже есть исключения. В силу значительной прикладной специфики программных объектов системы 1С:Предприятие 8.1 в некоторых случаях откат изменений, выполненных в базе данных, все же может влиять на значения свойств соответствующих программных объектов. Это происходит следующих случаях: • при отмене транзакции признак проведенности документа ливает значение, которое было до начала транзакции; • если объект был создан и записан в транзакции, то при откате ции очищается значение ссылки; • если объект создавался вне транзакции и при записи его в ции использовался код/номер, сгенерированный автоматически, то при отмене транзакции код/номер очищается. Механизм управляемых блокировок Общие сведения о блокировках В идеальном случае в любой СУБД транзакции должны обеспечивать цию изменений, выполняемых в базе данных. Иными словами, несколько транзакций, выполняющих изменение данных, не должны мешать друг другу. Самым простым способом решения этой проблемы является ное выполнение транзакций. Следующая транзакция выполняется после того, как закончилась предыдущая. Однако в реальной ситуации, при многопользовательской работе, такой подход приводит к резкому снижению производительности системы.
Глава 6. Работа с данными 1-359 Поэтому на практике используются механизмы, позволяющие выполнять несколько транзакций одновременно. Для того чтобы одновременное выполнение транзакций стало возможным, используется несколько уровней изоляции транзакций. На самом низком уровне изоляции транзакции могут сильно влиять друг на друга. На самом высоком уровне они полностью изолированы. Таким образом, за большую изоляцию транзакций приходится платить большими накладными расходами и замедлением работы системы. Возможность изоляции одних транзакций от других обычно реализуется благодаря блокировкам, накладываемым на используемые ими данные. В зависимости от уровня изоляции накладываются различные типы блокировок на различные объекты базы данных, на различное время. С точки зрения системы 1С:Предприятие 8.1 работа с данными может няться в одном из двух режимов: • в транзакции; • вне транзакции. Режим работы с данными вне транзакции допускает только операции чтения данных. Этот режим введен для того, чтобы обеспечить максимальную скорость и параллельность чтения данных. Поэтому любая операция чтения данных, выполняемая вне транзакции, считается безответственной. Это означает, что такая операция чтения может вернуть устаревшие данные или даже незафиксированные изменения, произведенные другой транзакцией, т. е. чтение выполняется «не глядя» на блокировки данных, расставленные другими транзакциями. Режим работы с данными в транзакции допускает любые операции чтения и модификации данных. При этом должны соблюдаться следующие правила: • чтение данных должно быть воспроизводимым, т. е. любая ющая операция чтения данных с тем же условием выборки должна возвращать такой же результат; • результат чтения должен содержать наиболее актуальные данные. Это означает, что никакая другая транзакция не может изменить данные, считанные в данной транзакции, до тех пор, пока данная транзакция не будет завершена; • результат чтения не должен содержать незафиксированные изменения данных базы данных.
1-360 1С:Предприятие 8.1. Конфигурирование и администрирование Управляемые блокировки Система 1С:Предприятие 8.1 позволяет использовать два режима работы с базой данных: режим автоматических блокировок в транзакции и режим управляемых блокировок в транзакции. Принципиальное отличие этих режимов заключается в следующем. Режим автоматических блокировок не требует от разработчика каких-либо действий по управлению блокировками в транзакции для того, чтобы лись перечисленные выше правила работы с данными в транзакции. Эти правила обеспечиваются платформой системы 1С:Предприятие 8.1 за счет использования определенных уровней изоляции транзакций в той или иной СУБД. Такой режим работы является наиболее простым для разработчика, однако в некоторых случаях (например, при интенсивной одновременной работе большого количества пользователей) используемый уровень ции транзакций в СУБД не может обеспечить достаточной параллельности работы, что проявляется в виде большого количества конфликтов блокиро- вок при работе пользователей. При работе в режиме управляемых блокировок система 1С:Предприятие 8.1 использует гораздо более низкий уровень изоляции транзакций в СУБД; что позволяет значительно повысить параллельность работы лей прикладного решения. Однако, в отличие от режима автоматических блокировок, данный уровень изоляции транзакций уже не может сам по себе обеспечить выполнение всех правил работы с данными в транзакции (в частности, не обеспечивается воспроизводимость чтения данных в ции). Поэтому при работе в управляемом режиме от разработчика требуется самостоятельно управлять блокировками, устанавливаемыми в транзакции.! В сводном виде отличия при работе в режиме автоматических блокировок И в режиме управляемых блокировок приведены в следующей таблице. Режим блокировки в транзакции кий Управляемый СУБД Вид блокировок Уровень изоляции транзакций Вид блокировок Уровень изоляции транзакций Файловая база данных Таблиц Serializable Таблиц Serializable Microsoft SQL Server Записей Repeatable Read или Serializable Записей Read Committed IBM DB2 Записей Serializable Записей Read Committed PostgreSQL Таблиц Read Committed Записей Read Committed
Глава 6. Работа с данными 1-361 Установка режима блокировок в конфигурации Конфигурация имеет свойство Режим управления блокировкой данных. Каждый прикладной объект конфигурации также имеет свойство Режим управления блокировкой данных. Режим управления блокировкой данных для всей конфигурации в целом может быть установлен в значения Автоматический, Управляемый и тический и управляемый. Значения Автоматический и Управляемый означают, что соответствующий режим блокировки будет использоваться для всех объектов конфигурации, независимо от значений, установленных для го из объектов. Значение Автоматический и управляемый означает, что для конкретного объекта конфигурации будет использован тот режим, который указан в его свойстве Режим управления блокировкой данных: кий или Управляемый. Следует отметить, что режим управления блокировкой данных, ный для объекта метаданных, устанавливается для тех транзакций, которые инициируются системой 1С:Предприятие 8.1 при работе с данными этого объекта (например, при модификации данных объекта). Если же, например, операция записи объекта выполняется в ции, инициированной разработчиком (метод НачатьТранзакцию()), то режим управления блокировкой данных будет определяться значением параметра Режим блокировок метода НачатьТранзакцию(), а не значением свойства та метаданных Режим управления блокировкой данных. По умолчанию параметр Режим блокировок имеет значение РежимУправленияБлокировкойДанных.Автоматический, поэтому для того, чтобы в явной транзакции использовать режим управляемых блокировок, следует указывать значение этого параметра РежимУправленияБлокировкойДанных.Управляемый. Работа с управляемыми блокировками средствами встроенного языка Для управления блокировками в транзакции предназначен объект ного языка ЕлокировкаДанных. Экземпляр этого объекта может быть создан с помощью конструктора и позволяет описать необходимые пространства блокировок и режимы блокировок. Для установки всех созданных ровок используется метод Заблокировать^) объекта ЕлокировкаДанных. Если этот метод выполняется в транзакции (явной или неявной), блокировки станавливаются, и при окончании транзакции будут сняты автоматически. ели метод Заблокировать^) выполняется вне транзакции, то блокировки не будут установлены.
1 -362 1 С:Предприятие 8.1. Конфигурирование и администрирование Объект БлокировкаДанных представляет собой коллекцию элементов блокировки данных, каждый из которых описывает блокировки одного пространства блокировок. Пространства блокировок определены в ме системы 1С:Предприятие 8.1 и соответствуют структуре прикладных объектов конфигурации. Для каждого пространства блокировок в ме определены имена полей, значения которых могут анализироваться при установке тех или иных блокировок. Допустимы следующие имена пространств блокировок и имена полей пространств блокировок. Имя пространства блокировки Справочник.<имя> Документ.<имя> ПланОбмена.<имя> ПланСчетов.<имя> БизнесПроцесс.<имя> Задача.<имя> ПланВидовРасчета.<имя> ПланВидовХарактеристик.<имя> РегистрСведений.<имя>.НаборЗаписей - только для регистра сведений, подчиненного тору РегистрСведений.<имя> РегистрНакопления.<имя>.НаборЗаписей РегистрНакопления.<имя> РегистрБухгалтерии.<имя>.НаборЗаписей РегистрБухгалтерии.<имя> РегистрРасчета.<имя>.НаборЗаписей РегистрРасчета.<имя> Перерасчет.<имя>.НаборЗаписей Последовательность.<имя>.НаборЗаписей Последовательность.<имя> Константа.<имя> Имя поля пространства блокировки Ссылка Ссылка Ссылка Ссылка Ссылка Ссылка Ссылка Ссылка Регистратор Период — если есть; <имя измерения> Регистратор Период; <имя измерения> Регистратор Период; <имя измерения>; <вид движения> - значение системного перечисления ВидДвиженияБухгалтерии; Счет; Субконто<Ы>; <вид субконто> Регистратор ПериодРегистрации; ПериодДействия; <имя измерения> ОбъектПерерасчета Регистратор <имя измерения>
Глава 6. Работа с данными 1-363 Для каждого пространства блокировки может быть задано произвольное количество условий на поля, по которым будут определяться записи, жащие блокировке. Условия задаются на равенство значения поля указанному значению или на вхождение значения поля в указанный диапазон. Условия могут быть заданы двумя способами: • с помощью явного указания имени поля и значения (метод УстановитьЗначение() объекта ЭлементБлокировкиДанных); • С помощью указания источника данных, содержащего необходимые значения (свойство ИсточникДанных объекта ных). При явном указании значения поля в параметры метода УстановитьЗначение() передается имя поля и значение. Например: i Блокировка = Новый БлокировкаДанных; ; ЭлементБлокировки = Блокировка. Добавить("РегистрНакопления.ТоварыНаСкладах"); : ЭлементБлокировки.УстановитьЗначение("Качество", Справочники.Качество НайтиПоКоду(")); Следует иметь в виду, что одну и ту же запись регистра можно ровать дважды: первый раз блокируя саму запись, а второй раз блокируя набор, в который эта запись входит. В качестве значения может быть передан также объект встроенного языка зон, который создается с помощью конструктора и позволяет задать верхнюю и нижнюю границы диапазона (границы диапазона включаются в диапазон). При использовании источника данных устанавливается значение свойства ИсточникДанных, азатем с помощью метода ИспользоватьИзИсточникаДанных() задается соответствие полей области блокировки полям источника данных. Например: I Блокировка = Новый БлокировкаДанных; ¦ ЭлементБлокировки = Блокировка. Добавить("РегистрНакопления.ТоварыНаСкладах"); ЭлементБлокировки.ИсточникДанных = ДокументОбъект.ВозвратнаяТара; j ЭлементБлокиро вки. ИспользоватьИзИсточникаДанных("Номенклатура", "Номенклатура"); ! ЭлементБлокировки.ИспользоватьИзИсточникаДанных!"Склад", "Склад");] В качестве источника данных может выступать результат запроса, табличная часть, набор записей или таблица значений. Соответственно при установке соответствия полей именами полей источника будут являться имена колонок результата запроса, имена реквизитов табличной части, имена измерений или имена колонок таблицы значений. Объект Диапазон также может ся значением поля источника данных.
1-364 1С:Предприятие 8.1. Конфигурирование и администрирование Для каждого элемента блокировки может быть задан один из двух режимов блокировки: • разделяемый; • исключительный. Режим блокировки задается с помощью свойства Режим объекта ЭлементБлокировкиДанных. Таблица совместимости управляемых блокировок выглядит следующим образом. Разделяемая блокировка Исключительная блокировка Разделяемая блокировка + - Исключительная блокировка - - Разделяемый режим блокировки подразумевает, что заблокированные данные не могут быть изменены другой транзакцией до окончания текущей транзакции. Исключительный режим блокировки подразумевает, что заблокированные данные не могут быть изменены другой транзакцией до окончания текущей транзакции, а также не могут быть прочитаны другой транзакцией, ливающей разделяемую блокировку на эти данные. Говоря о совместимости действий, выполняемых в транзакции, следует учитывать, что помимо явных управляемых блокировок, устанавливаемых пользователем, система 1С:Предприятие8.1 устанавливает также неявные управляемые исключительные блокировки при записи данных в ции. При чтении данных объекта из базы данных (получении объекта и обращении к ссылке) не выполняется транзакционная блокировка объекта. Если блокировка необходима, то ее нужно устанавливать средствами языка до обращения к объекту. Таким образом, таблица совместимости действий, выполняемых в ции при использовании режима управляемых блокировок, выглядит следующим образом. Без блокировки Разделяемая блокировка Исключительная блокировка чтение запись чтение запись чтение запись Без блокировки чтение + + + + + + запись + - - - - - Разделяемая блокировка чтение + - + - - - запись + - - - - - Исключительная блокировка чтение + - - - - - запись + - - - - -
Глава 6. Работа с данными 1 -365 Особенности работы в режиме «Автоматический и управляемый» Режим управления блокировками Автоматический и управляемый предназначен для решения проблем, возникающих при параллельной работе с отдельными объектами конфигурации. Например, существует большая конфигурация, которую сложно в один момент перевести в режим управляемых блокировок в транзакции, однако есть один или два документа, являющиеся «камнем преткновения» при одновременной работе с ними большого количества пользователей. В этом случае вся конфигурация может быть переведена в режим Автоматический и управляемый, а затем сам документ и затрагиваемые при его записи ты конфигурации - в режим Управляемый. Это позволит настроить работу с данным документом в режиме управляемых блокировок, в то время как основная часть конфигурации будет продолжать функционировать в тическом режиме управления блокировками. При работе в режиме управления блокировками Автоматический и мый следует учитывать две особенности: • независимо от режима, указанного для данной транзакции, система будет устанавливать соответствующие управляемые блокировки; • режим управления блокировками определяется транзакцией самого «верхнего» уровня. Другими словами, если к моменту начала ции была начата другая транзакция, то начинаемая транзакция может быть выполнена только в том в режиме, который установлен для уже выполняющейся транзакции. Рассмотрим перечисленные особенности более подробно. Первая особенность заключается в том, что даже если для транзакции используется автоматический режим управления блокировками, система установит дополнительно и соответствующие управляемые блокировки при записи данных в этой транзакции. Из этого следует, что транзакции, исполняющиеся в режиме управляемых блокировок, могут конфликтовать с транзакциями, исполняющимися в режиме автоматического управления блокировками. Вторая особенность заключается в том, что режим управления ми, указываемый для объекта метаданных в конфигурации или указываемый при начале транзакции в явном виде (как параметр метода НачатьТранзак- цию()), является лишь «желаемым» режимом. Фактический режим управления блокировками, в котором будет исполняться транзакция, зависит от того, является ли данный вызов начала транзакции первым, или к этому моменту уже начата другая транзакция в данной сессии системы 1С:Предприятие 8.1.
1-366 1С:Предприятие 8.1. Конфигурирование и администрирование Например, если требуется управлять блокировками при записи наборов записей регистра, при проведении документа, то управляемый режим блокировок должен быть установлен как для самого регистра, так и для документа, поскольку запись наборов записей регистра будет выполняться в транзакции, открытой при записи документа. Возможны четыре различных сочетания режимов управления ми в транзакции, которые представлены в следующей таблице. Режим существующей транзакции Автоматический Управляемый Автоматический Управляемый Режим начинаемой транзакции Автоматический Управляемый Управляемый Автоматический Результат Начинаемая транзакция будет выполнена в автоматическом режиме Начинаемая транзакция будет выполнена в управляемом режиме Начинаемая транзакция будет выполнена в автоматическом режиме Будет вызвана исключительная ситуация Модификация конфигураций при переходе к режиму управляемых блокировок При переходе к частичной или полной работе в режиме управляемых ровок прикладное решение требует доработки. Доработка заключается в том, что необходимо выявить участки кода, которые требуют наличия мых блокировок, и затем в этих участках кода установить требуемый режим блокировки данных. Определение участков кода, требующих доработки Управляемые блокировки необходимо устанавливать в тех участках кода, которые удовлетворяют одному из следующих условий: • считываются данные, которые в дальнейшем должны быть изменены; • считывается некоторая согласованная совокупность данных щихся в нескольких объектах), и согласованность считанных данных необходимо поддержать. В этом случае данные из этой совокупности должны быть заблокированы либо единовременно перед ем, либо по мере считывания отдельных элементов. Если некоторый элемент данных считывается однократно, не связан логически с ми элементами данных и при этом не будет изменен в той же транзакции, то его можно не блокировать; • важно обеспечить неизменность считываемых данных до конца транзакции. Например, некоторые данные, считываемые в транзакции, могут быть прочитаны еще раз, и важно обеспечить их неизменность.
Глава 6. Работа с данными 1-367 Типичным примером таких операций может служить запрос к остаткам номенклатуры в модуле проведения документа. Выбор режима управляемой блокировки Для операций, описанных выше, режим блокировки следует устанавливать исходя из следующих соображений: • исключительный режим блокировки следует устанавливать для тех данных, которые должны быть изменены в рамках этой же транзакции. Это позволит предотвратить конфликты блокировок; • разделяемый режим блокировки следует устанавливать для тех данных, которые только считываются и изменять которые не предполагается, но заблокировать все-таки требуется. Примеры доработки конфигурации Далее приведем пример установки управляемых блокировок в модуле набора записей регистра накопления ТоварыНаСкладах. Прежде всего, следует создать управляемую блокировку. Блокировка = Новый ЕлокировкаД Затем следует проанализировать текст запроса, формируемого в модуле, и создать необходимые блокировки. Исключительная блокировка на регистр ТоварыНаСкладах В ходе выполнения модуля набора записей формируется запрос, щий следующий фрагмент: г// ... ' " " 'ЛЕВОЕ СОЕДИНЕНИЕ ,|' РегистрНакопления.ТоварыНаСкладах.Остатки(, Номенклатура В (ВЫБРАТЬ РАЗЛИЧНЫЕ >'.¦ Номенклатура фг ИЗ "\as.o Документ. РеализацияТоваровУслуг., Товары ГДЕ Ссылка = &ДокументСсылка)) // ... В данном случае следует установить следующие блокировки: БлокировкаТоварыНаСкладах! = Блокировка. Добавить ("РегистрНакопления. ТоварыНаСкладах*!) ; ,' БлокировкаТоварыНаСкладах!.Режим = РежимБлокировкиДашщх ; Исключительный;
1-368 1С:Предприятие 8.1. Конфигурирование и администрирование Б*ло?ировкаТоварьШаСкладах1.Источникдавных = ДокументОбъект. Товары; ВлокировкаТоварыНаСкладах!. ИспользоватьИзИсточникаДанных("Номенклатура", "Номенклатура"); 1 ВлокировкаТоварыНаСкладах!. ИспользоватьИзИсточникаДанных("Характеристиканоменклатуры", "Характеристиканоменклатуры"); ; ВлокировкаТоварыНаСкладах!. ИспользоватьИзИсточникаДанных("Склад", "Склад"); . Разделяемая блокировка на регистр ТоварыВРезервеНаСкладах В ходе выполнения модуля формируется запрос, содержащий следующий фрагмент: п'Г ЛЕВОЕ СОЕДИНЕНИЕ ! РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки(, Номенклатура В (ВЫБРАТЬ РАЗЛИЧНЫЕ Номенклатура ИЗ Документ.РеализацияТоваровУслуг. Товары ГДЕ Ссылка = &ДокументСсылка)) // ... В данном случае следует установить следующие блокировки: БлокировкаТоварыВРезервеНаСкладах1 = Блокировка. Доба вить("РегистрНакопления.ТоварыВРезервеНаСкладах"); * '1 БлокировкаТоварыВРезервеНаСкладах!.Режим = РежимБлокировкиДанных. 1 Разделяемый; БлокировкаТоварыВРезервеНаСкладах!.ИсточникДанных = ДокументОбъект.Товары; БлокировкаТоварыБРезервеНаСкладах1. ИспользоватьИзИсточникаДанных("Номенклатура", "Номенклатура"); ВлокировкаТоварыБРезервеНаСкладах1. ИспользоватьИзИсточникаДанных("Характеристиканоменклатуры", "Характеристиканоменклатуры"); БлокировкаТоварыВРезервеНаСкласах1. Использо-ьа'т.нИэИсточникаДанных ("Склад" , "СкЛЛ*.* ) ;
Глава 6. Работа с данными 1-369 Разделяемая блокировка на регистр ТоварыКПередачеСоСкладов В ходе вьшолнения модуля формируется запрос, содержащий следующий фрагмент: // ... ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыКПередачеСоСкладов.Остатки(, Номенклатура В (ВЫБРАТЬ РАЗЛИЧНЫЕ Номенклатура ИЗ Документ. РеализацияТоваровУс|1уг. Товары ГДЕ Ссылка = &ДокументСсылка) // - ',,_ В данном случае следует установить следующие блокировки: БлокировкаТоварыКПередачеСоСкладов1 - Блокировка Добавить("РегистрНакопления.ТоварыКПередачеСоСкладо&"); 4 j БлокировкаТоварыКПередачеСоСкладов1. Режим = ,. РехимБлокировкиданных. ' ¦ Разделяемый; БлокировкаТоварыКПередачеСоСкладов1.ИсточникДанных = ДокументОбъект.Товар || БлокировкаТоварыКПередачеСоСкладов!. ИспользоватьИзИсточникаДанных ("Номенклатура", "Номенклатура ") ,- БлокировкаТоварыКПередачеСоСкладов1. ИспользоватьИзИсточникаДанных ("ХарактеристикаНоменклатуры", .',' "ХарактеристикаНоменклатурт ") ;; ВлокировкаТоварыКПередачеСоСкладов!. ИспользоватьИзИсточникаДанных (" Склад ", * Склад ") ; «^ Блокировки по табличной части ВозвратнаяТара. Исключительная блокировка на регистр ТоварыНаСкладах В ходе выполнения модуля формируется запрос, содержащий следующий фрагмент: // ... '""*", ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки(, , Номенклатура В (ВЫБРАТЬ РАЗЛИЧНЫЕ Документ.РеализациятоваровУслуг.ВозвратнаяТара.Номенклатура т ИЗ документ.РеализацияТоваровУслуг.ВозвратнаяТара ГДЕ Документ.РеализацияТоваровУслуг.ВозвратнаяТара.Ссылка = &ДокументСсылка) И Качество = &Новый)
1 -370 1С:Предприятие 8.1. Конфигурирование и администрирование В данном случае следует установить следующие блокировки: БлокировкаТоварыНаСкладахй = Блокировка. Добавить("РегистрНакопления.ТоварыНаСкладах"); | БлокировкаТоварыНаСкладах2.Режим= РежимБлокировкиДанных. > Исключительный; БлакировкаТоварыНаСкладах2-ИсточкикДакных = ДокументОбъект. | Воз вратнаяТара; БлокировкаТоварыНаСкладах2. ИспользоватьИзИсточникаДанных("Номенклатура", "Номенклатура"); 1 ВлокировкаТоварыНаСкладах2. ИспользоватьИзИсточникаДанных("Склад", "Склад"); . ВлокировкаТоварыНаСкладах2.УстановитьЗначение("качество", Справочники.Качество. НайтиПоКоду(")); Блокировки по табличной части ВозвратнаяТара. Разделяемая блокировка на регистр ТоварыВРезервеНаСкладах В ходе выполнения модуля формируется запрос, содержащий следующий фрагмент: // ... I ЛЕВОЕ СОЕДИНЕНИЕ ] РегистрНакогшения.ТоварыВРезервеНаСкладах.Остатки(, Номенклатура Б (ВЫБРАТЬ РАЗЛИЧНЫЕ Документ.РеализацияТоваровУслуг.ВозвратнаяТара.Номенклатура ИЗ Документ.РеализацияТоваровУслуг.ВозвратнаяТара ГДЕ Документ.РеализацияТоваровУслуг.ВозвратнаяТара.Ссылка = &ДокументСсыяка)) КАК Резервы // - , В данном случае следует установить следующие блокировки: БлокировкаТоварыВРезервеНаСкладах2 = Блокировка. Добавить("РегистрНакопления.ТоварыВРезервеНаСкладах"); ¦ БлокировкаТоварыВРезервеНаСкладах2.Режим = РежимБлокировкиДанных. 'Разделяемый; ; ВлокировкаТоварыВРезервеНаСкладах2.ИсточникДанных = ДокументОбъект. [ВозвратнаяТара; ' БлокировкаТоварыВРезервеНаСкладах2. ИспользоватьИзИсточникаДанных("Номенклатура", "Номенклатура"); БлокировкаТоварыВРезервеНаСкладах2. ИспользоватьИзИсточникаДанных("Склад", "Склад");
Глава 6. Работа с данными 1-371 Блокировки по табличной части ВозвратнаяТара. Разделяемая блокировка на регистр ТоварыКПередачеСоСкладов В ходе выполнения модуля формируется запрос, содержащий следующий фрагмент: // ... ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыКПередачеСоСкладов.Остатки{, Номенклатура В (ВЫБРАТЬ РАЗЛИЧНЫЕ Документ.РеализацияТоваровУслуг.ВозвратнаяТара.Номенклатура ИЗ Документ.РеализацияТоваровУслуг.ВозвратнаяТара ГДЕ Документ.РеализацияТоваровУслуг.ВозвратнаяТара.Ссылка = &ДокументСсылка)) КАК ТоварвКПередаче( " - . , J В данном случае следует установить следующие блокировки: ВлокировкаТоварыКПередачеСоСкладов2 = Блокировка. Добавить{"РегистрНакопления.ТоварыКПередачеСоСкладов"); j ВлокировкаТоварыКПередачеСоСкладов2.Режим = РежимВяокировкиДанных. Разделяемый; БлокировкаТоварыКПередачеСоСкладов2.ИсточникДанных = ДокумеятОбъект. ¦ВозвратнаяТара; ВлокировкаТоварыКПередачеСоСкладов2. ИспользоватьИзИсточникаДанных("Номенклатура", "Номенклатура"); БлокировкаТоварыКПередачеСоСкладов2. ИспользоватьИзИсточникаДанных{"Склад", "Склад"); После того, как все необходимые блокировки созданы, следует вать перечисленные данные. i Влокировка.Заблокировать(); i // ... далее следует прежний текст модуля
Глава 7 Организация бухгалтерского учета Ведение бухгалтерского учета в системе 1С:Предприятие8.1 ют объекты конфигурации Планы счетов и Регистры бухгалтерии. Так как эти объекты тесно связаны между собой, в данной главе дается общая ристика возможностей, предоставляемых этими объектами. В последующих параграфах будут рассмотрены вопросы конфигурирования перечисленных объектов. Обзор Средства конфигуратора позволяют организовать учет по нескольких планам счетов, при этом для каждого плана счетов может строиться произвольная иерархия субсчетов большой вложенности. Бухгалтерские итоги хранятся системой 1С:Предприятие 8.1 раздельно для каждого плана счетов. В планах счетов может применяться гибкая нумерация счетов с нием цифр и букв. Аналитический учет можно вести для любого счета или субсчета и включать различные разрезы аналитики. Объекты аналитического учета могут представлять собой элементы справочников системы 1С:Предприятие 8.1, документы или произвольные числа, даты и строки. Средства конфигурирования позволяют вести неограниченное число видов учета для каждого плана счетов. Типичными примерами видов учета служит количественный и валютный учет. Включение вида учета выполняется при редактировании планов счетов. Для каждого счета можно указать, будет ли на этом счете вестись тот или иной вид учета. Конфигуратор предоставляет средства для настройки ведения ского учета для нескольких предприятий в одной информационной базе. Итоговую информацию можно получать как по отдельному предприятию, так и в целом, по всем предприятиям. Такая возможность будет полезна для предприятий с консолидированным балансом.
Глава 7. Организация бухгалтерского учета 1 -373 Планы счетов План счетов является одним из основных понятий бухгалтерского учета. Планом счетов называется совокупность синтетических счетов, предназначенных для группировки информации о хозяйственной деятельности предприятия. Информация, накапливаемая на таких синтетических счетах, позволяет получить полную картину состояния средств предприятия в денежном выражении. В Российской Федерации система бухгалтерских счетов устанавливается государством в лице Министерства финансов и называется «План счетов бухгалтерского учета финансово-хозяйственной деятельности ятий». Этот план счетов должен применяться на всех предприятиях, кроме банков, страховых организаций и организаций, состоящих на бюджете, для которых установлены специальные планы счетов. Система ЮЛредприятие 8.1 предоставляет гибкие возможности по ведению планов счетов. Собственно, путем настройки плана счетов и организуется требуемая система учета. Несколько планов счетов. В системе 1С:Предприятие 8.1 может быть несколько планов счетов и учет по всем планам счетов можно вести одновременно. Общее число планов счетов, которое может быть организовано в системе, с технической точки зрения не ограничено и определяется исключительно реальными ностями учета. Например, такой «многоплановый» учет, очевидно, понадобится для тных предприятий, которым требуется вести учет одновременно по двум или более стандартам бухгалтерского учета. Субсчета. Планы счетов в системе 1С:Предприятие 8.1 поддерживают многоуровневую иерархию «счет - субсчета». Каждый план счетов может включать неограниченное число счетов первого уровня. К каждому счету может быть открыто также неограниченное количество субсчетов. В свою очередь, каждый субсчет может иметь свои субсчета и так далее. во уровней субсчетов в системе 1С:Предприятие 8.1 не ограничено. Структура кода счета может быть задана при создании плана счетов в виде шаблона, состоящего из произвольной последовательности символов. чески структура кода счета не влияет на иерархию счетов, однако при создании структуры счетов рекомендуется придерживаться структуры кодов. Разделенное редактирование счетов. Известно, что зачастую ошибки в бухгалтерском учете возникают из-за неправильного применения денного плана счетов. Наиболее распространенная ситуация - отсутствие аналитического учета на тех счетах, по которым необходимо получать развернутое сальдо. Тогда бухгалтерский учет, являясь верным по форме
1 -374 1 С:Предприятие 8.1. Конфигурирование и администрирование (все «сходится»), по сути дает неправильные результаты. Поэтому зачастую бывает полезно ограничить творчество конечных пользователей в части настройки планов счетов. С этой целью система 1С:Предприятие8.1 позволяет разделять процесс редактирования плана счетов. Во-первых, редактирование планов счетов может выполняться в фигураторе специалистом, выполняющим конфигурирование системы 1С:Предприятие 8.1. В конфигураторе могут создаваться новые планы счетов. При ровании планов счетов задаются их основные характеристики: длина кода счета и наименования счета; максимальное количество субконто, которое может быть у одного счета (субсчета), и другие. Здесь же в планы счетов могут быть введены требуемые счета и субсчета (предопределенные счета), а также выполнена настройка видов учета на счетах. Во-вторых, при работе с системой 1С:Предприятие8.1 конечный тель может добавлять собственные счета и субсчета в планы счетов, однако он не сможет удалять предопределенные счета и субсчета, созданные в конфигураторе. Хранение бухгалтерских итогов. Хранение бухгалтерских итогов вляется в регистрах бухгалтерии в соответствии со структурой плана счетов. Итоговая информация может быть просмотрена в формах регистра, а также извлекается средствами встроенного языка системы 1С:Предприятие 8.1, для этого в языке существуют методы получения остатков и оборотов по счетам по любому виду учета, как в целом по счету или субсчету, так и с разбивкой по объектам аналитического учета. Аналитический учет Информация о средствах предприятия, которая накапливается на счетах бухгалтерского учета, зачастую имеет обобщающий характер. Например, в «стандартном» плане счетов существует счет 10 «Материалы», который предназначен «.. .для обобщения информации о наличии и движении длежащих предприятию сырья, материалов, топлива, запасных частей, тары и т. п. ценностей». К счету 10 могут быть открыты субсчета для учета различных видов материалов. Но при такой организации учета на субсчетах будет накапливаться информация об общей стоимости материалов одного вида, а в целом на счете 10 — стоимость всех материалов. Для получения детальной информации о наличии конкретных лов необходима организация аналитического учета по материалам. В этом случае общие суммы на субсчетах разбиваются на более мелкие - ти конкретных материалов.
Глава 7. Организация бухгалтерского учета 1 -375 В системе 1С:Предприятие 8.1 аналитический учет организуется при помощи специального механизма субконто. Понятие «субконто». Субконто в системе 1С:Предприятие 8.1 называется объект аналитического учета. Термином «субконто» могут быть обозначены любые объекты аналитического учета: основные средства, нематериальные активы, материалы, организации, подотчетные лица, договоры, бюджеты. Видом субконто, в свою очередь, называется множество однотипных объектов аналитического учета. Например, учет задолженности предприятия перед покупателями и ками обязательно ведется, согласно нормативным документам, отдельно по каждому покупателю и заказчику. В системе 1С:Предприятие 8.1 такой список покупателей и заказчиков (предположим, что это только организации) будет называться «видом субконто «Организации»», а любая организация из этого списка будет именоваться «субконто». Конфигуратор системы 1С:Предприятие 8.1 позволяет создать любое тво видов субконто в соответствии с требованиями полноты аналитического учета на предприятии. В качестве универсальных средств описаний свойств объектов кого учета используются объекты типа План видов характеристик. Для плана видов характеристик, используемого в качестве видов субконто плана счетов, не рекомендуется использовать примитивные типы. Это может существенно сказаться на производительности при записи движений ра бухгалтерии. Рекомендуется использовать только ссылочные типы. Организация аналитического учета. В системе 1С:Предприятие8.1 тический учет можно вести по любому счету или субсчету. Для этого при редактировании планов счетов к требуемому счету или субсчету ляется» нужный вид субконто. К счету или субсчету можно прикрепить несколько видов разных субконто (их максимальное число определяется в свойстве Макс, количество субконто) и таким образом организовать ведение аналитического учета в любых необходимых разрезах. Ввод информации о хозяйственных операциях в систему ятие 8.1 выполняется в виде записей регистров бухгалтерии. Для каждого из корреспондирующих счетов записи, если для этих счетов указано ведение аналитического учета, необходимо указать объекты аналитического учета. Например, на производственных предприятиях к счету учета затрат на водство можно прикрепить виды субконто: Виды затрат для учета по видам затрат, Продукция для учета по видам выпускаемой продукции (работ, услуг) и Подразделения — для учета по подразделениям предприятия. кую информацию по затратам можно получать по любому из этих видов субконто.
1-376 1 С:Предприятие 8.1. Конфигурирование и администрирование Кроме этого возможности ведения аналитического учетав системе тие 8.1 позволяют вести учет одного и того же объекта аналитики в разных разрезах. Так, один и тот же справочник может быть назначен разными видами то. Например, организация закупает комплектующие у поставщиков, а продает готовую продукцию покупателям. В этом случае в системе 1С:Предприятие 8.1 справочник Организации можно назначить видом субконто Поставщики и видом субконто Покупатели. Субконто и субсчета. Свойства планов счетов в системе 1С:Предприятие 8.1 (в частности, большое число уровней вложенности субсчетов или большая длина кода субсчета), тем не менее, позволяют организовать ведение аналитического учета с использованием субсчетов, а не субконто. Однако возможности, которые предоставляет ведение аналитического учета на субсчетах и с использованием субконто, принципиально различаются. Субсчета представляют собой иерархическую структуру, подчиненную конкретному счету синтетического учета. Например, для учета задолженности предприятию со стороны покупателей на синтетическом счете учета расчетов с покупателями (в стандартном плане счетов это счет 62) для каждого теля можно открыть отдельный субсчет и вести учет задолженности на этом субсчете. Такая схема позволит получить информацию как о сумме женности предприятия перед конкретным покупателем, так и общую сумму задолженности перед всеми покупателям — она получится путем ния информации о суммах задолженности со всех субсчетов. Однако если какая-либо из организаций-покупателей становится также и поставщиком, то потребуется также организовать учет расчетов с этой организацией как с поставщиком. При ведении аналитического учета на субсчетах для нового поставщика, очевидно, потребуется открыть новый субсчет уже на счете учета расчетов с поставщиками (счет 60). Теперь, если вести учет по этому субсчету, можно получить информацию о тах с организацией как с поставщиком. Но чтобы получить данные об общем состоянии взаиморасчетов с ей, необходимо объединить информацию о расчетах с этой организаций с двух счетов. Для этого необходимо помнить, какой субсчет на счете учета тов с покупателями и какой субсчет на счете учета расчетов с поставщиками соответствуют конкретной организации, получить информацию о состоянии расчетов именно с этих субсчетов и каким-то образом ее обработать. При использовании субконто один и тот же список субконто, мер Организации, прикрепляется ко всем счетам (субсчетам), на которых предполагается вести аналитический учет по организациям. Учет с конкретной организацией как с поставщиком ведется на соответствующем синтетическом счете. Если организация становится еще и покупателем, нет
Глава 7. Организация бухгалтерского учета 1-377 необходимости создавать новую позицию в списке организаций - она уже присутствует в этом списке как поставщик. Объединение информации для одной организации с двух счетов синтетических счетов в значительной мере выполняется системой 1С:Предприятие8.1 автоматически. Аналогичным образом можно объединять данные с любых счетов, на которых велся учет операций с участием конкретной организации. Многоуровневая аналитика. Многоуровневая аналитика позволяет получать бухгалтерские итоги с разной степенью детализации. Если для ведения аналитического учета используются субконто, то для реализации уровневой аналитики необходимо назначать видами субконто план видов характеристик (см. параграф «Планы видов характеристик» на стр. 1-157). Использование объектов Планы видов характеристик позволяет вести учет с необходимой степенью детализации. Ограничение по числу уровней вложенности накладывает использование типа значения характеристики (например, в качестве типа значения может быть выбран любой ческий справочник, а также допускается использование составного типа). При ведении аналитического учета с использованием субсчетов невый аналитический учет реализуется за счет использования субсчетов разных уровней. Виды учета Как уже говорилось выше, система 1С:Предприятие 8.1 позволяет вести неограниченное число видов учета. Примерами видов учета может служить количественный и валютный учет. Конфигуратор предоставляет возможность настроить неограниченное количество разнообразных учетов. Виды учета определяются ми объектами типа Признак учета объекта План счетов. Записи и наборы записей регистров бухгалтерии Основным понятием бухгалтерского учета является понятие хозяйственная операция. Операцией считается любое хозяйственное действие, способное вызывать изменение состояния средств предприятия. Для ввода информации о хозяйственных операциях в системе 1С:Предприя- тие8.1 используются документы. Документ позволяет занести в систему информацию о хозяйственной операции, зафиксировать дату и время шения операций, сумму и содержание операции. Учетные данные по операции автоматически формируются на основе та (объекта данных типа Документ) и фиксируются в регистрах бухгалтерии.
1 -378 1 С:Предприятие 8.1. Конфигурирование и администрирование Порядок такой генерации определяется в конфигураторе средствами енного языка. При записи данных по операции можно описать заполнение реквизитов операции различной информацией из документа, породившего эту операцию. В системе 1С:Предприятие 8.1 учет хозяйственной операции всегда ся с породившим ее документом: если документ необходимо отредактировать, то при его проведении данные по операции будут сформированы заново; при удалении документа будут удалены и данные хозяйственной операции. Каждая хозяйственная операция состоит в общем случае из го числа проводок. В системе 1С:Предприятие 8.1 каждой бухгалтерской проводке соответствует запись регистра бухгалтерии, а набор записей тра бухгалтерии является аналогом хозяйственной операции. Процедура работы с проводками описывается в параграфе «Регистры бухгалтерии» на стр. 1-382. Ведение консолидированного учета В соответствии с действующим законодательством организации, имеющие структурные подразделения, в том числе и выделенные на отдельный баланс (филиалы, представительства), составляют отчетность с учетом деятельности всех структурных подразделений. Для таких организаций важным моментом будет являться возможность вести в одной онной базе бухгалтерский учет всех структурных подразделений и получать консолидированную отчетность. При составлении бухгалтерской ти, кроме того, целесообразно отдельно представлять основные показатели деятельности структурных подразделений во избежание лишних вопросов со стороны налоговых органов. Инструментальные средства для ведения бухгалтерского учета системы 1С:Предприятие 8.1 позволяют вести в одной информационной базе терию нескольких предприятий (или структурных подразделений одного предприятия) одновременно. Решение подобных задач осуществляется за счет формирования измерений регистра бухгалтерии, в котором будет указываться ссылка на структурное подразделение. Информация, которая вводится в это измерение при работе с системой 1С:Предприятие 8.1, используется в качестве признака для раздельного ния бухгалтерских итогов. Программа 1С:Предприятие 8.1 автоматически организует систему хранения бухгалтерских итогов, разделяя их по нию указанного измерения. При помощи встроенного языка информацию из итогов можно извлекать и по конкретному предприятию, и в целом по всем предприятиям.
Глава 7. Организация бухгалтерского учета 1-379 Создание плана счетов Для ведения планов счетов в системе 1С:Предприятие 8.1 используются объекты конфигурации План счетов. Объектами данных этого типа янляются ские счета — учетные регистры, по которым будет выполняться группировка средств при работе с системой 1С:Предприятие8.1. Конфигуратор позволяет создавать практически неограниченное количество планов счетов. Все ные в конфигураторе планы счетов можно использовать одновременно. Как описывалось выше, планы счетов в системе 1С:Предприятие 8.1 рживают многоуровневую иерархию «счет - субсчета». Свойства планов счетов Редактирование свойств объектов типа План счетов и создание ных объектов выполняются в окне редактирования (см. параграф «Окно редактирования объекта» на стр. 1-60), а также в палитре свойств. В этом параграфе будут описаны специфические свойства объекта конфигурации типа План счетов. , Маска кода — используется для описания структуры кода счетов и тов. В строке маски допустимо использование следующих специальных символов: • ! - любой введенный символ преобразуется в верхний регистр; • 9 - допустимо ввести произвольный символ цифры; • # - допустимо ввести произвольный символ цифры, или - (знак минус), или + (знак плюс), или пробел; • N — допустимо ввести любые алфавитно-цифровые символы (буквы или цифры); • U - допустимо ввести любые алфавитно-цифровые символы (буквы или цифры) и любой введенный символ преобразуется в верхний регистр; • X (латинского алфавита) - допустимо ввести произвольный символ; • @ - допустимо ввести любые алфавитно-цифровые символы (буквы или цифры) в верхнем регистре или пробел; • А - недопустимо вводить этот символ интерактивно пользователем, он может устанавливаться только из языка; • h - допустим ввод символов обозначения шестнадцатеричных цифр. Для того чтобы использовать в маске один из специальных символов, нужно поставить перед ним символ «\». Если маска кода содержит точки или не содержит запятых, то при вводе кода счета все точки будут автоматически заменяться на запятые.
1 -380 1 С:Предприятие 8.1. Конфигурирование и администрирование Автопорядок по коду— если свойство установлено, то вместо упорядочивания по коду счета будет использоваться упорядочивание по полю Порядок. Длина порядка — если длина больше нуля, то поле Порядок используется по умолчанию для упорядочивания плана счетов. Реквизиты - задаются различные описания счета или субсчета, например, наименование счета 10 «Материалы». Признаки учета - задается список видов учета. Типовым примером служит валютный и количественный учет. Разработчики конфигурации могут вать столько видов учета, сколько им требуется для реализации конкретной задачи. Табличные части — для «стандартных» планов счетов не используются табличные части. Примером использования подчиненных объектов типа Табличная часть может служить организация одновременного учета данных в разных планах счетов для обеспечения развернутой корреспонденции счетов различных планов счетов. Максимальное количество субконто - определяет максимальное количество субконто (до 50), используемых для организации аналитического учета. Виды субконто — указывается объект типа План видов характеристик (см. параграф «Планы видов характеристик» на стр. 1-157). Признаки учета субконто — создается список признаков учета субконто. При настройке аналитического учета по счетам данные признаки позволяют установить признак использования того или иного вида субконто при ровании предопределенных счетов. Организация различных видов учета Для каждого плана счетов можно установить произвольное число видов учета. Для каждого счета или субсчета при их создании необходимо указать признак использования каждого определенного для данного плана счетов вида учета. Формирование списка счетов (предопределенные счета) Бухгалтерские счета как объекты данных создаются в конфигураторе. Для создания списка предопределенных счетов в палитре свойств объекта типа План счетов в свойстве Предопределенные щелкните ссылку Открыть. На экран выводится окно списка счетов.
Глава 7. Организация бухгалтерского учета 1-381 д«™. e^^ftl В Счета (—Вспомогательный [ [ СвОрганизации >- |щдз@до АмортизацияОсновн. (—АмортизацияОС .. L- АмортиэацияОС_ ДонодныеВяожения Клл 00 011 012 02 021 с; 2 03 Наименование |Вид 1 Вспомогательный счет |Актнвньй. Основные средства в ор. Активный Выбытие основных сред. .Активный Амортизация основных Пассивный Амортизация основных Амортизация основных . Доходные вложения в м. ^-МЦвОрганизации '031 !М •¦, ив ценности. МЦ_Предоставле Пассивный Пассивный Активный Активный 032 Материальные ценности. Активный Задала. ПрочиеДоходные. 03.4 Прочие покодные вложе Активный ¦—ВыбыгиеМЦ 035 Выбытие материальных {Активный НематериальныеАкт 04 Нематериальные активы Активный Нематериальные 041 Нематериальные актив. Активный г—Амортиэаииямемате. 05 Амортизация нематериа. Пассивный И" " ¦J^*Wfi Порядок 00 01 1 01.2 02 021 022 03 031 03 2 03 4 оаб 04 041 05 Ваяют Кояиче. Счбконто 1 ОсновныеСред ОсновныеСред- ОсновныеСред. ОсновныеСред ОсновныеСрел- Контрагенты ОсновныеСред.. Контрагенты Контрагенты ОсновныеСред Нематериа льн. Нематериальна гДО5*:ЗДйЗде*&~ ДО nfSBLSS&JUWi Счбкиго2 ОсновныеСр. ОсновныеСр. ОсновныеСр. СчбконтсЖ 1 , А 1 \ Ведение списка счетов осуществляется командами меню Действия. Данные по счету формируются в окне редактирования счета. Родитель. |Вяожения8о8 | Имя: |СтроительсгБоОбъектовОсноБны>Сг:| Код. |08 3 { Наименование: | Строительство объектов основных с 8ид; (Активный {¦*[ П Забалансовый . ' Порядок: J 08.3 Признак учета Валютный Количественный а Учитывать ? ? 4*4 t * Вид сцбконто В ивы СтатьиРасхсдов Только обороты D 0 Счммовой 0 s Валютный 0 0 Количественный [ н н CZ ок || Отмена j | Справка В реквизите Вид указывается вид счета: Активный, Пассивный или Активный/ Пассивный. Для забалансовых счетов установите флажок Забалансовый. Итоговые данные забалансовых счетов не учитываются при подведении баланса. Поле Порядок предназначено для произвольного упорядочивания счетов. Длина поля задается в свойстве Длина порядка. Если длина поля больше нуля, то данное поле используется по умолчанию для упорядочивания плана счетов. Если у плана счетов установлено свойство Автопорядок
1-382 1С:Предприятие 8.1. Конфигурирование и администрирование по коду, то вместо упорядочивания по коду счета или наименованию будет использоваться упорядочивание по полю Порядок. Для заполнения поля Порядок по коду счета используется метод ПолучитьПорядокКода(), формирующий строку порядка счета с учетом маски кода счета. В первом списке перечислены признаки учета, определенные для та План счетов. Для указания того, что редактируемый счет принадлежит определенному виду учета, установите флажок в колонке Учитывать. По каждой записи нижнего списка указываются следующие параметры. В колонке Вид субконто выбирается один из предопределенных видов характеристик. Если для данного плана счетовнаветви Признаки учета субконто определены подчиненные объекты, то в список добавляются колонки по числу этих объектов. Для каждого вида субконто следует установить флажок, если по данному виду субконто требуется вести аналитический учет. В режиме 1С:Предприятие конечный пользователь может добавлять ные счета и субсчета в планы счетов и редактировать свойства счетов, однако он не сможет удалять счета и субсчета, созданные в конфигураторе. Регистры бухгалтерии Для отражения в бухгалтерском учете информации о хозяйственных циях в системе 1С:Предприятие8.1 используются регистры бухгалтерии, описываемые на ветви дерева конфигурации Регистры бухгалтерии. Свойства егистра бухгалтерии По своему виду регистр бухгалтерии напоминает регистр накопления. При его редактировании разрабатывается структура регистра: создаются наборы измерений, ресурсов и реквизитов регистра; если необходимо, создаются экранные и печатные формы просмотра движений регистра (см. параграф «Окно редактирования объекта» на стр. 1-60). Отличительной особенностью регистра бухгалтерии является его связь с планом счетов и поддержка механизма двойной записи. Каждая запись регистра содержит обязательные реквизиты Счет Дт (счет дебета) и Счет Кт (счет кредита) для регистров, поддерживающих корреспонденцию, и зит Счет для не поддерживающих. Свойство Разрешить разделение итогов позволяет задействовать механизм разделителя итогов, который обеспечивает более высокую параллельность работы при записи в регистр (подробнее см. описание аналогичного тва для регистров накопления на стр. 1-173).
Глава 7. Организация бухгалтерского учета 1 -383 Записи регистра бухгалтерии Чтобы введенная документом хозяйственная операция вызвала изменение в бухгалтерских итогах, такой документ должен формировать записи тра бухгалтерии. Записи конкретного документа составляют группу (по тору) и при любых изменениях в реквизитах документа или в самих записях всегда «держатся» вместе. Порядок генерации записей также определяется средствами встроенного языка. Структура записи строится системой 1С:Предприятие 8.1 динамически в зависимости от настройки различных элементов учета, выполненной при редактировании планов счетов. Так, например, запись может содержать реквизиты для ввода корреспондирующих счетов, сумм, объектов ческого учета, количества, вида валюты и суммы в валюте. Помимо этих реквизитов в конфигураторе можно создать для записи димое число дополнительных реквизитов для отражения любой другой необходимой информации. Например, это может быть реквизит для ния комментария записи. При работе с системой 1С:Предприятие 8.1 пользователь может «отключать» записи и затем вновь «включать» их. «Отключенные» записи не влияют на бухгалтерские итоги - остатки и обороты по счетам. Отключение и ние записей производятся с помощью свойства Активность. Такая возможность удобна для учета плановых хозяйственных операций - тех, что должны произойти в будущем. Отключив записи такой операции, можно не изменять реальные бухгалтерские итоги. В момент ного совершения хозяйственного действия достаточно установить для этих записей активность. При вводе записей система 1С:Предприятие 8.1 выполняет различные предопределенныедействия,облегчающиеиускоряющиеработупользователя с системой. Например, если по какому-либо из корреспондирующих счетов указано ведение аналитического учета, то система автоматически откроет требуемый список объектов аналитического учета (субконто) для того, чтобы пользователь выбрал нужный объект. Многие аспекты поведения системы 1С:Предприятие8.1 могут быть настроены путем редактирования свойств записей регистра бухгалтерии.
Глава 8 Периодические расчеты Периодические расчеты - это вычисления, осуществляемые с определенной периодичностью, тесно связанные друг с другом по некоторым правилам и взаимно влияющие друг на друга в пределах некоторого периода. Механизмы периодических расчетов позволяют настроить порядок и связь вычислений и организовать учет их результатов. Наиболее типичным примером использования периодических расчетов является расчет заработной платы, при котором производятся расчеты начислений и удержаний. Расчеты обычно выполняются с месячной дичностью, а результаты расчетов одного вида могут зависеть от наличия и результатов расчетов другого вида. Ведение периодических расчетов в системе 1С:Предприятие 8.1 ют объекты конфигурации Планы видов расчета и Регистры расчета. Так как эти объекты тесно связаны между собой, в данной главе дается общая теристика возможностей, предоставляемых этими объектами. В последующих параграфах будут рассмотрены вопросы конфигурирования перечисленных объектов. Основные понятия Период. Для расчетов важным является понятие периода. Обычно период описывается датой начала и датой окончания. Если для расчета на периодичность (см. описание ниже), то для описания периода (действия, регистрации) данного расчета достаточно указать любую дату. По этой дате вычисляется дата начала периода, и именно эта дата будет описывать период. Такой порядок определения периода позволяет оптимизировать выполнение запросов, в которых требуется выбрать записи, относящиеся к указанному периоду. ериодичность расчетов. Определяет, с каким периодом будут (могут) выполняться расчеты, учитываемые данным регистром. Задается в тве Периодичность регистра расчетов. По значению этого свойства (если
Глава 8. Периодические расчеты 1 -385 регистр периодический) определяется период действия записи ра расчета. Например, регистр имеет периодичность Месячный, тогда при формировании записи регистра в качестве периода действия выбирается дата документа (например, некий расчет за ноябрь 2003 г.), и по ней система определяет период действия на начало 01.11.2003. Период регистрации - дата начала периода, указанного при регистрации расчета (вычисляется по дате документа-регистратора). Например, в июне 2003 г. производится начисление оклада за май 2003 г. (расчеты с ностью Месяц). Май 2003 г. - период действия (в базе данных записывается дата 01.05.2003), а июнь 2003 г.-период регистрации (в базе данных вается дата 01.06.2003). Период действия — начальная дата периода, определяемая в соответствии со значением свойства Периодичность. Например, в документе указывается, что расчет производится за май 2003 г. Для значения свойства ность регистра Месячный период действия определяется датой 01.05.2003; для регистра Квартальный - 01.04.2003. Период действия расчета - указьшает период, за который производится расчет. Период определяется датой начала и датой окончания периода. Например, запись о больничном за май 2003 г. имеет период действия 01.05.2003, а период действия расчета определяется датой начала (например, 06.05.2003) и датой окончания (например, 15.05.2003). Механизм вытеснения или конкуренция за период действия расчета - проявление связи видов расчетов по периоду действия расчетов. ренция возникает вследствие невозможности выполнения нескольких видов расчетов одновременно. Необходимо выбрать тот расчет, который в данном периоде будет выполнен. Настройка механизма вытеснения ся в описании конкретного вида расчета. Такая настройка выполняется в разделе Вытесняющие (виды расчетов). Например, расчет Оплата по окладу не может применяться одновременно с расчетом Оплата по больничному листу. При этом говорят, что расчет больничного вытесняет расчет оклада, т. е. за период, в котором «действует» больничный, оклад не начисляется. Описание механизма вытеснения см. также в параграфе «Механизм нения» на стр. 1-390. Фактический период действия — если расчет не вытесняется другими расчетами, то фактический период совпадает с периодом действия. Если есть вытесняющие виды расчетов, то фактический период определяется как совокупность непересекающихся периодов, в которых данный расчет не вытеснялся. На рисунке приводится графическое представление фактического периода действия в случае вытеснения расчетом Больничный расчета Оклад.
1-386 1С:Предприятие 8.1. Конфигурирование и администрирование расчет «Оклад» расчет «Больничный» > «Оклад» «Окладов! г Ш 1 Период действия | расчета «Больничный» ¦* =* %. Период действия I расчета «Оклад» "W* Фактический период действия расчета «Оклад» Фактический период действия представляет собой вторичные данные, т. е. результат вычислений, выполняемых системой. Пересчет го периода действия выполняется при любой записи набора, в том числе пустого (отмена проведения). Важно I Результат расчетов не зависит от последовательности ввода (регистрации) данных. Базовый период — определяет период, за который будут выбираться таты расчетов, используемых (являющихся базовыми) для данного расчета. Например, при начислении премии за май 2003 г. учитываются результаты начислений, выполненных определенными видами расчетов за некоторый период (это могут быть Оклад, Доплата, Отпуск). Этот период и будет являться базовым для расчета премии. Настройка связи видов расчетов по му периоду производится в описании конкретного вида расчета в разделе Базовые (виды расчетов). Планы видов расчета Объекты конфигурации данного вида предназначены для создания видов расчетов, используемых в регистрах расчета. Ссылка на вид расчета - одно из основных свойств записей регистра та, которое позволяет придать качественные различия разным учетным записям регистра расчета. Редактирование свойств объектов типа План видов расчета и создание подчиненных объектов выполняются в окне редактирования (см. параграф «Окно редактирования объекта» на стр. 1-60), а также в палитре свойств. Далее будут описаны уникальные свойства плана видов расчета, в ние к общим свойствам.
Глава 8. Периодические расчеты 1-387 Категория свойств «Расчет» Зависимость от базы — если свойство Зависимость от базы отличается от значения Не зависит, то видам расчета такого плана видов расчета можно задать список базовых видов расчета. Состав базовых видов расчета ляется свойством Базовые планы видов расчета. Базовые планы видов расчета — задается список планов видов расчета, виды расчета которых могут включаться в список базовых видов расчета. Этот список базовых видов расчета используется регистром расчета при работе механизма получения базы. Использует период действия - если свойство установлено, то данный план видов расчета может быть назначен регистру расчета с периодом действия. При этом для каждого вида расчета может быть задан список щих видов расчета. Список вытесняющих видов расчета определяет работу механизма вытеснения соответствующего регистра расчета (см. ция за период действия»). Указанные в данной категории свойства определяют состав реквизитов, включаемых в список при создании форм вида расчета. Если выбрано значение свойства Зависимость от базы - Зависит от периода действия (регистрации), то в форме можно разместить табличное поле для выбора тех видов расчетов, которые являются базовыми для редактируемого расчета. Если свойство Использует период действия установлено, то в форме можно разместить табличное поле для выбора видов расчетов, которые являются вытесняющими для редактируемого вида расчета. Предопределенные виды расчета Особенностью плана видов расчета является наличие предопределенных видов расчета, сформированных на этапе конфигурирования. В режиме 1С:Предприятие пользователь не может их удалить. Для редактирования списка предопределенных видов расчета перейдите в палитре свойств на закладку Прочее и щелкните по кнопке деленные. На экран вьшодится список предопределенных видов расчета данного плана видов расчета. Например, для основных начислений это гут быть следующие. % План видов расчета ОсновныеНачисления: Предопределенные... _ D X Действия» ¦§ 1g •§?. ^ т ¦*¦ ¦ ¦ ¦ Имя Доплата ДоплатаСуммой Отпуск Больничный Оклад Код дпл ДПЛС отп БЛН окл Наименование Доплата к окладу Доплата суммой Оплата отпуска Оплата по больничному листу Оплата по окладу I ттттшттшт иаишшшрмммшию
1 -388 1 С:Предприятие 8.1. Конфигурирование и администрирование Редактирование списка предопределенных видов расчета производится с помощью пунктов меню Действия. Состав реквизитов (базовые и ведущие) предопределенных видов расчета зависит от установленных свойств данного объекта плана видов расчета, размещенных в категории Расчет. Каждый предопределенный вид расчета редактируется в модальном окне. На закладке Основное вводятся основные свойства вида расчета. ИМЯ .г ™Ч Q Основное Базовые Вытесняющие Имя: (Больничный | Код 1БЛН | Наименование: | ( плата по больничному листу ? Период действия является базовым периодом 0К j | Отмена | J €г?рвека | Если выбрано значение свойства Зависимость от базы - Зависит от периода действия (регистрации), то форма имеет закладку Базовые. На ней ются те виды расчета, которые являются базовыми для данного вида расчета и определяют работу механизма получения базы соответствующего тра расчета. ¦ТЩУ—^jj4yi Яг Основное] Базовые Вытесняющие Ведущие 3 Доплата -TJ] ДоплатаСуммой -Г Отпуск -Q Больничный О, ¦Справка Так, в приведенном примере для вида расчета Больничный базовыми видами расчета являются Оклад и Доплата. Если свойство Использует период действия установлено, то форма имеет закладку Вытесняющие. На ней указываются те виды расчета, которые вытесняют данный вид расчета по периоду действия и таким образом настраивают работу механизма вытеснения соответствующего регистра расчета.
Глава 8. Периодические расчеты 1 -389 1|Ц Основное Базовые | Вытесняющие | Ведущие f я D ДоплатаСцммой ? Отпуск ? Оклад OK J J Отмена j ] Справка | Из перечисленных в списке расчетов следует указать вытесняющий вид расчета. В приведенном примере для вида расчета Больничный таких нет. Но при описании расчета Оклад следует отметить Больничный. На закладке Ведущие указываются те виды расчета, которые определяют работу механизма пферасчетов соответствующего регистра расчета (т. е. того, которому назначен данный план видов расчета). ТЕ -3 Основное Базовые Вытесняющие Ведущие @ Оклад ~0 Доплата -Q Отпуск -{71 Больничный Премии НалогиФизлиц —УдержанияСотрудников -НалогиФОТ 0-Го^^мачт1е^численияМУдер;кания ~П Оклад -Q Больничный ~П Отпуск -Q Сдельно ВыплатьСотрудникам ОК 3 L- etiaL_J 1. !r?IS^,,,, Помимо предопределенных видов расчета пользователь в режиме 1С:Пред- приятие может создавать собственные виды расчета и устанавливать им нужные свойства. Для этих целей в конфигураторе необходимо создать му элемента, в которой следует разместить табличные поля для указания базовых, ведущих и вытесняемых видов расчета в зависимости от ленных свойств данного плана видов расчета.
1 -390 1С:Предприятие 8.1. Конфигурирование и администрирование Регистры расчета Общая информация о регистрах расчета Регистр расчета - это объект конфигурации, который позволяет вать учет результатов вычислений, выполненных расчетами, указанными в плане видов расчетов. Регистры расчета позволяют, например, реализовать регистрацию начислений в пользу физических лиц (оплата труда, оплата больничных листов, оплата дней отпуска и т. д.). Учетные записи регистра расчета могут влиять на состояние других записей регистра. Различают два характера взаимного влияния учетных записей регистра расчета: конкуренция за период действия и зависимость по му периоду. Поясним эти способы взаимного влияния учетных записей на примерах. Механизм вытеснения Конкуренцию за период действия можно пояснить на примере начислений в пользу физического лица оплаты по основной форме оплаты труда (по окладу) и оплаты дней отпуска. Учетная запись, соответствующая оплате по окладу, и учетная запись, соответствующая оплате отпуска, не могут соответствовать одному и тому же промежутку времени, т. е. промежутки времени, за которые произведены такие начисления, не могут каться. В регистре расчета такое поведение учетных записей (движений регистра) реализовано за счет использования понятия период действия записи регистра. Каждая запись регистра расчета имеет фактический период действия, задаваемый в общем случае набором из нескольких промежутков времени. Так, если учетная запись, соответствующая отпуску, имеет период действия с 03.03.2003 по 13.03.2003, то учетная запись, соответствующая начислению по окладу, может, например, иметь фактический период действия, ящий из двух промежутков: с 01.03.2003 по 02.03.2003 и с 14.03.2003 по 20.03.2003. Конкуренция за период действия поддерживается механизмом ния регистра расчета, работа которого определяется составом вытесняющих видов расчета, датами периода действия и т. д. Механизм перерасчетов Зависимость учетных записей по базовому периоду действия можно рассмотреть на примере начислений в пользу физического лица оплаты по окладу и зависящего от него начисления по среднему заработку. Если в регистре происходит изменение состояния учетных записей оплаты
Глава 8. Периодические расчеты 1-391 по окладу в некотором периоде (удаление, изменение или ввод новых учетных записей), то это приводит к необходимости пересмотра результатов учетных записей оплаты по среднему заработку, если такие записи имеются в соответствующем периоде. Для реализации такого взаимного влияния учетных записей регистра расчета введено понятие базовый период записи регистра. Так, если учетная запись, соответствующая оплате по среднему заработку, имеет базовый период с 01.01.2003 по 31.03.2003 (т. е. использует средний заработок за три месяца), то любые изменения в учетных записях оплаты по окладу за этот период приведут к необходимости пересмотра учетной записи оплаты по среднему заработку. Редактирование регистра расчета Для работы с регистрами расчета предназначена ветвь Регистры расчета дерева конфигурации. При редактировании регистра расчета определяется план видов расчета, поддержка периода действия и базового периода, периодичность, батывается структура регистра: создаются наборы измерений, ресурсов и реквизитов регистра; если необходимо, создаются экранные и печатные формы просмотра движений регистра. В этом параграфе будут описаны уникальные свойства регистра расчета, в дополнение к общим свойствам объектов. Редактирование свойств объектов типа Регистр расчета и создание ненных объектов выполняются в окне редактирования (см. параграф «Окно редактирования объекта» на стр. 1-60). План видов расчета — основная характеристика регистра Подробнее см. параграф «Планы видов расчета». Для регистра расчета можно указать только один план видов расчета. Период действия — -если свойство установлено, то взаимное влияние движений данного регистра принимает конкурирующий характер. Примером конкурирующих движений может служить начисление заработной платы и оплата больничного листа - нельзя одновременно и болеть, и работать, т. е. получать и оклад, и деньги по больничному листу. Такие расчеты взаимно исключают друг друга во времени, и система должна гарантировать, что ввод одного из них приведет к исключению другого. График - свойство доступно, если установлено свойство Период действия. Свойство представляет ссылку на регистр сведений, в котором описывается временная схема исходных данных, участвующих в расчете. График следует указывать для тех расчетов, которые зависят от исходных данных, ленных в пределах периода действия по определенному правилу. Например, это может быть график учета рабочего времени организации с разбивкой по дням, учет лекционных часов с разбивкой по часам и т. д.
1 -392 1 С:Предприятие 8.1. Конфигурирование и администрирование Значение графика - свойство доступно, если установлено свойство Период действия. В свойстве выбирается ресурс регистра сведений, определенного в свойстве График. Например, в качестве графика указан регистр сведений ГрафикРабо- тыОрганизации. Этот регистр имеет реквизиты РабочийДень (тип Булево) и РабочиеЧасы (тип Число). В первом указывается признак, является ли данная дата рабочим днем, а во втором - число рабочих часов в рабочем дне. Выбор реквизита РабочийДень означает, что при расчете будет анализироваться, является ли конкретный день периода расчета рабочим (т. е. следует ли производить расчет заработной платы за указанный день). Выбор реквизита РабочиеЧасы означает, что при расчете будет выбираться число рабочих часов и на основе этого значения будет произведен указанный расчет. Собственно распределение задается в режиме 1С:Предприятие (вручную или средствами встроенного языка). Цата графика — свойство доступно, если установлено свойство Период действия. В свойстве выбирается измерение регистра сведений, ного в свойстве График и имеющее тип Дата. По значению данного свойства осуществляется привязка к значениям ресурса регистра сведений, го в свойстве Значение графика. Базовый период - если свойство установлено, то устанавливается ный характер взаимного влияния движений данного регистра. Примером связанных движений может служить связь расчета сумм начисления выплат по средней от сумм начисления в базовом периоде. Периодичность - определяет период, с которым регистрируются движения и в пределах которого движения могут влиять друг на друга (для регистров, поддерживающих период действия). Перерасчеты - подчиненные объекты регистра, которые позволяют задать правила взаимного влияния движений регистров. В группе Связь ры свойств объекта в свойстве Измерение регистра указывается основное измерение текущего регистра, которое следует пересчитать при изменении данных ведущих регистров, указанных в свойстве Данные ведущих ров. Например, перерасчет суммы удержания по физическому лицу будет формироваться при изменениях начислений (оплата труда, премии). Если установлено свойство Базовый период, то формирование данных перерасчетов будет выполнено автоматически. Если свойство не лено, то формирование данных перерасчетов должно производиться пользователем вручную (при проектировании следует разработать альную форму ввода перерасчетов и механизм их выполнения).
с Глава 9 Бизнес-процессы и задачи Основные понятия Бизнес-процессы в системе 1С:Предприятие 8 предназначены для ния отдельных операций в цепочки взаимосвязанных действий, приводящих к достижению конкретной цели. Например, цепочку по выписке счета, приему наличной оплаты и отпуску товара со склада можно представить как бизнес-процесс Продажа товара за наличный расчет. Бизнес-процессы в системе 1С:Предприятие 8 позволяют формализовать процедуры обработки тех или иных событий, возникающих в деятельности организации, и обеспечить участие в них исполнителей. Применение механизмов бизнес-процессов в прикладных решениях ляет повысить их эффективность, улучшить конечный результат и получить новые возможности. Бизнес-процессы дают возможность перейти к процессному управлению и качественно улучшить деятельность предприятия за счет реинжиниринга и автоматизации бизнес-процессов. Наибольший эффект дает автоматизация ключевых бизнес-процессов, которые начинаются и заканчиваются во внешней по отношению к зации среде. Цепочки взаимосвязанных действий бизнес-процесса представляются с помощью карты маршрута бизнес-процесса. Карта маршрута ет логику бизнес-процесса и весь его жизненный цикл от точки старта до точки завершения в виде схематического изображения последовательности прохождения взаимосвязанных точек маршрута. Последовательное выполнение цепочки взаимосвязанных действий будем называть движением бизнес-процесса. Точка маршрута — отражает этап жизненного цикла бизнес-процесса, связанный с выполнением, как правило, одной автоматической или ручной операции.
1-394 1С:Предприятие 8.1. Конфигурирование и администрирование Задачи в системе 1С:Предприятие 8 позволяют вести учет заданий по нителям и служат отражением продвижения бизнес-процессов по точкам маршрута При этом задачи могут создаваться не только бизнес-процессами, но и другими объектами информационной базы, и непосредственно вателями. Общая часть Механизм бизнес-процессов в системе 1С:Предприятие 8 обеспечивается сразу несколькими объектами конфигурирования: • Бизнес-процессы; • Задачи; • Регистр сведений; • Параметр сеанса Как правило, типы реквизитов адресации задачи и измерений ра сведений имеют ссылочный тип (например, СправочникСсылка, поэтому к четырем вышеперечисленным видам добавляются еще справочники). / Бизнес- Л^ »/ V процесс J V Параметр у \ / сеанса ) V У ( Справочники Задачи J ( Регистр V сведений Основные объекты — бизнес-процессы и задачи — взаимодействуют с друг другом (например, бизнес-процесс создает задачи, а задача в процессе нения приводит к продвижению его по маршруту). Вспомогательные объекты - параметр сеанса, регистр сведений и ники — не используют друг друга и основные объекты. При создании карты маршрута бизнес-процесса используются ки с предопределенными данными (ролями, подразделениями и пр.) для установки их значений в свойства адресации точек маршрута. Бизнес- процессы создают задачи при переходе на точки маршрута и используют Адресацию (регистр сведения, см. ниже) для обработки групповых точек.
Глава 9. Бизнес-процессы и задачи 1-395 Задачи сообщают бизнес-процессам о своем выполнении, чем вызывают их движение дальше по маршруту. Регистр сведения используется ими для отбора задач для текущего исполнителя в соответствии с установленным параметром сеанса. С Маршрутизация Бизнес-процессы в системе 1С:Предприятие 8 допускают следующие виды маршрутизации: • Жесткая. Бизнес-процесс имеет строгую карту маршрута, не включающую в себя условных и параллельных переходов, с жестко определенными адресатами для каждой точки маршрута. Данный вид не допускает свободной и условной маршрутизации. • Свободная. Адресаты точки карты маршрута бизнес-процесса не установлены и определяются программно или интерактивно в течение жизненного цикла бизнес-процесса. • Условная. Карта маршрута предусматривает проверку условий и переход по соответствующим ветвям. Переходы могут быть как ными (условие), так и множественными (выбор варианта). • Параллельная. Карта маршрута предусматривает разделение бизнес- процесса на параллельные ветви с возможностью последующего слияния (ожидания). Продвижение бизнес-процесса по каждой из параллельных ветвей происходит независимо по мере выполнения соответствующих задач. Как правило, в реальных картах бизнес-процессов встречаются все эти типы маршрутизации. Система адресации Ключевым понятием в механизме бизнес-процессов и задач в приятии 8 является система адресации. Основное назначение системы адресации - обеспечить возможность не только персональной, но и ролевой адресации задач участникам бизнес-процессов. Ролевая адресация (ролевая маршрутизация) - набор правил и соглашений, зафиксированных в настройках объектов метаданных, который ет определять конечного адресата (исполнителя), исходя из назначенных ему ролей, принадлежности к подразделению, а также других реквизитов адресации. Реквизиты адресации задачи задают размерность адресного пространства в контексте автоматизируемой предметной области и используются для определения принадлежности задач конкретным исполнителям.
1 -396 1С:Предприятие 8.1. Конфигурирование и администрирование Определение конкретного исполнителя осуществляется с помощью свойств задачи - Адресация, Основной реквизит адресации и Текущий исполнитель. Процесс определения основного реквизита адресации из остальных зитов адресации называется разыменованием. Адресация - регистр сведений, который хранит актуальную на текущий момент информацию о соответствии исполнителей (основной реквизит адресации) структурным подразделениям, рабочим группам, выполняемым функциям и т. д., то есть всем остальным реквизитам адресации задач. Один из реквизитов адресации задачи является основным и означает ного сотрудника - исполнителя заданий. Задача Регистр сведений Реквизиты адресации задачи Сотрудник Подразделение Роль Измерения регистра сведений Сотрудник Подразделение Роль Поясним на примере работу системы адресации. Допустим, что есть регистр сведений, состоящий из двух измерений - роль и сотрудник, в который внесены следующие записи. Роль Кассир Менеджер Сотрудник Иванов Петров Допустим, что есть бизнес-процесс (например, Принять наличную оплату), в одной из точек которого в свойствах адресации установлена только роль Кассир. При переходе бизнес-процесса на эту точку будет сформирована одна задача. Свойство задачи Наименование Роль Сотрудник Значение Принять наличную оплату Кассир - При просмотре сотрудником Ивановым списка задач для себя система ции покажет ему эту задачу, т. к. в регистре сведений есть запись о том, что для Иванова установлена роль Кассир. Сотрудник Петров эту задачу не увидит.
Глава 9. Бизнес-процессы и задачи 1 -397 Приведем примерную последовательность действий для создания двух различных бизнес-процессов. Будем исходить из того, что выбрана 3-мерная система адресации - сотрудник, роль, подразделение. Создадим справочники для каждого из планируемых измерений ции (Сотрудники, Роли, Подразделения) и заполним их предопределенными значениями, например: Сотрудники Иванов Петров Сидоров Роли Кассир Менеджер Руководитель отдела Подразделения Бухгалтерия Отдел продаж Склад Создадим регистр сведений и добавим к нему измерения, по одному для каждого из ранее созданных справочников. Тип измерений следует вить как ссылку на соответствующий справочник, например: Измерение Сотрудник Роль Подразделение Тип СправочникСсылка.Сотрудники СправочникСсылка.Роль СправочникСсылка.Подразделения Создадим параметр сеанса Текущий Исполнитель и установим ему тип СправочникСсылка.Сотрудники. Проинициализируем параметр сеанса при запуске системы, например: Процедура ПриНачалеРаботыСистемы{) ПараметрыСеанса.ПараметрТехущийИсяолнитепь = Справочники.Исполнители.НайтиПоНаименованию(ИмяПользователя()) ; 1 КокецЛроц§дуры Создадим задачу. Установим созданный ранее регистр сведений в свойство задачи сация. Добавим к задаче реквизиты адресации аналогично измерениям регистра сведений - Сотрудник, Роль, Подразделение. Установим для созданных реквизитов адресации задачи тип в виде ссылки на соответствующий справочник и в свойстве Измерение адресации вим ссылку на измерение регистра сведений. Реквизит адресации Сотрудник Роль Подразделение Тип СправочникСсылка.Сотрудники СправочникСсылка.Роль СправочникСсылка.Подразделения Измерение адресации Сотрудник Роль Подразделение
1-398 1С:Предприятие 8.1. Конфигурирование и администрирование Выберем реквизит Сотрудник в качестве главного реквизита адресации, установив его в соответствующем свойстве задачи. Создадим первый бизнес-процесс и установим у него ссылку на созданную ранее задачу (свойство Задача). Спроектируем маршрутную карту бизнес-процесса, устанавливая нужные реквизиты адресации для точек маршрута, выбирая их из ных данных соответствующих справочников. Создадим следующий бизнес-процесс и установим у него ссылку на эту же задачу. Спроектируем маршрутную карту созданного бизнес-процесса. И так далее... Старт I I I I ^Менеджер //// .-у/у <- Вьктиска /// счете 7ТТ ¦ i fc Руководитель сггдеяа Утверждение счете Получение наличной оплаты - Да '- Г'4— Счет & Нет утвержден? *— 1 Кладовщик Отгрузка товара со склада i J^Nv. I 1 Нормальнее I | завершение 1 J 1 В дальнейшем будем использовать этот пример для комментирования вых особенностей бизнес-процессов в системе 1С:Предприятие 8. Рассмотрим подробнее несколько ключевых особенностей механизма бизнес-процессов. Старт бизнес-процесса Бизнес-процесс стартует при вызове метода Старт() или нажатии кнопки ОК в форме объекта.
Глава 9. Бизнес-процессы и задачи 1-399 Нижеследующий фрагмент кода показывает программное создание, запись и старт бизнес-процесса. БП = БизнесПроцессы.Согласование.СоздатьБизнесПроцессО; " БП.Дата = Текущаядата(); 1 БП.Записать О; ! БП.Сте?>т(); При старте выполняется следующая последовательность действий. № 1 2 3 Внутренний механизм Продвижение по карте маршрута до точки действия Формирование задач нее см. параграф «Формирование задач») Обработчики на встроенном языке Вызов обработчика ПередСтартом у точки старта Бизнес-процесс может быть записан, но не стартован. Это может оказаться полезным, если создание бизнес-процесса и его старт разделены во ни. Например, когда бизнес-процесс стартует при наступлении некоторого события. Выполнение задач При вызове метода ВыполнитьЗадачу() осуществляется проверка нения, после которой задача помечается как выполненная и об этом оповещается бизнес-процесс. Если все необходимые условия выполнены, то бизнес-процесс осуществляет переход на следующую точку маршрута. № 1 2 3 4 5 6 7 8 Внутренний механизм Начало транзакции Установка свойства Выполнена у задачи равным Истина Запись объекта задачи Переход бизнес-процесса на следующую точку маршрута Обработчики на встроенном языке Вызов обработчика ПередВыполнением у задачи Вызов обработчика ПередВыполнением у соответствующей точки маршрута Вызов обработчика ПриВыполнении у задачи Вызов обработчика ПриВыполнении у соответствующей точки маршрута
1 -400 1 С:Предприятие 8.1. Конфигурирование и администрирование № 9 10 Внутренний механизм Формирование задач по новой точке маршрута (подробнее см. «Формирование задач») Завершение транзакции Обработчики на встроенном языке Разделение и слияние Для разделения бизнес-процесса на несколько параллельно (одновременно и независимо) исполняемых ветвей используется точка разделения. Точка разделения имеет один вход и неограниченное количество выходов. Для синхронизации разделенных ранее ветвей используется точка слияния. Бизнес-процесс не будет выполняться дальше точки слияния, пока все щие в нее ветви не будут пройдены. Таким образом, точка слияния является этапом бизнес-процесса, на котором должны быть завершены все задачи по разделенным ранее веткам. Допускается вложенное разделение и слияние. При этом каждая точка слияния будет синхронизировать только ветки «своей» точки разделения. Разделение может быть и без слияния. В этом случае бизнес-процесс будет иметь несколько параллельных ветвей до своего завершения. Слияние без разделения не допускается, о чем выдается соответствующее сообщение при проверке карты маршрута - Не все линии, вошедшие в точку слияния, вышли из точки разделения. Ручное управление Признаки завершения бизнес-процесса и выполнения у задачи можно устанавливать вручную, в обход механизма бизнес-процессов, однако делать это нужно с полным пониманием всех возможных последствий. Признак завершенности бизнес-процесса Если установить признак завершенности, то бизнес-процесс будет ся завершенным даже несмотря на то, что связанные с ним задачи еще не выполнены. И при выполнении этих задач завершенный бизнес-процесс уже не будет двигаться дальше по маршруту. Признак завершения можно установить у нестартованного са. В этом случае его старт в дальнейшем будет невозможен. Если вручную снять признак завершения с завершенного са, то связанные с ним задачи все равно останутся выполненными. Таким
Глава 9. Бизнес-процессы и задачи 1-401 образом, бизнес-процесс не будет завершен, но по нему не будет ни одной невыполненной задачи. Повторный старт такого бизнес-процесса жен, т. к. система будет считать его стартованным (по нему есть одна или более задач). Поэтому при ручном снятии признака завершения нужно снять признаки выполнения у нужных задач таким образом, чтобы вернуть бизнес-процесс на нужную точку маршрута. Признак выполнения задачи Если установить признак выполнения задачи вручную, то это не приведет к продвижению бизнес-процесса дальше по маршруту. При этом также не будут вызваны обработчики событий ПередВыполнением() и ПриВыполнении() у задачи и соответствующей ей точке маршрута. Ручная установка признака выполнения может привести к остановке бизнес-процесса - он не будет завершен, но по нему не будет ни одной невыполненной задачи. Снятие признака выполнения у задачи может привести к появлению параллельного потока в незавершенном бизнес-процессе. Допустим, бизнес-процесс еще не завершен и по нему есть одна выполненная и одна невыполненная задача. Если снять признак выполнения с выполненной задачи, то у данного бизнес-процесса появятся две невыполненные задачи. При выполнении каждой из них бизнес-процесс будет двигаться дальше по карте маршрута от точки, соответствующей выполненной задаче. При этом бизнес-процесс будет считаться завершенным, когда все задачи в обеих параллельных ветвях будут выполнены. Снятие признака выполнения у задачи, бизнес-процесс которой уже завершен, приведет к тому, что задача будет видна в списках как ненная, но ее выполнение не будет продвигать бизнес-процесс дальше по маршруту. Удаление задач Если удалить невыполненные задачи незавершенного бизнес-процесса, то он может остановиться. Такой бизнес-процесс будет незавершенным, но по нему не будет ни одной активной (невыполненной) задачи. Задачи используются для отображения реальной карты маршрута бизнес- процесса, чтобы показать уже пройденные точки маршрута и активные (невыполненные). Поэтому удаление задач может привести к тному и противоречивому отображению пройденных и активных точек маршрута. Удаление всех задач для незавершенного бизнес-процесса переводит его в статус нестартованного.
1-402 1С:Предприятие 8.1. Конфигурирование и администрирование Добавление задач Если вручную создать новую задачу по завершенному бизнес-процессу, то бизнес-процесс все равно будет считаться завершенным и выполнение этой задачи не приведет к его продвижению по карте маршрута. Если вручную создать новую задачу для еще не стартовавшего бизнес- процесса, то он получает статус стартованного и выполнение этой задачи приведет к его продвижению дальше по карте маршрута. Создание новой задачи для уже стартованного и незавершенного бизнес- процесса приводит к его распараллеливанию. Условный переход Для условного ветвления бизнес-процесса используется точка условного перехода. Важной особенностью этой точки является обработчик ки условия, наличие которого обязательно и контролируется при проверке карты маршрута перед сохранением бизнес-процесса. Если обработчик отсутствует, то будет выдано предупреждение: Точка условия не имеет обработчика события «Проверка условия». Этот обработчик должен вернуть результат проверки условия, от которого будет зависеть выбор следующей точки маршрута. Если результат Истина, то бизнес-процесс пойдет по ветке Да, в противном случае — по ветке Нет. По умолчанию результат устанавливается равным значению Ложь. Обработчик проверки условия может, например, иметь такой вид: Процедура ОграничениеСкидкиПроверкаУсловия(ТочкаМаршрутаБП, Результат) Если ПолучитьСкидкуПоСчету i > > ПолучитъОбьгчнуюСкидку () Тогда Результат = Истина; Иначе Результат = Ложь; КонецЕсли; ¦ КонецПроцедуры Для реализации многовариантного выбора можно использовать несколько последовательно соединенных точек условного перехода, однако удобнее для этого применять точку выбора варианта. Выбор варианта Для выбора одного из нескольких возможных путей используется точка выбора варианта. Важной особенностью этой точки является чик выбора варианта, наличие которого обязательно и контролируется при проверке карты маршрута перед сохранением бизнес-процесса. Если обработчик отсутствует, то будет выдано предупреждение: Точка выбора варианта не имеет обработчика события Выбор варианта.
Глава 9. Бизнес-процессы и задачи 1-403 Этот обработчик должен установить параметр ВариантТочкиБП равным одному из предусмотренных вариантов. Процедура-обработчик может иметь примерно такой вид: Процедура ВыборВарианта (ТочкаБП, ВариантТочкиБП) Если ВидОплаты = Перечисления.ВидОгшаты.Наличная Тогда ВариантТочкиБП = ТочкаВЛ.Варианты.Наличная; ИначеЁсли ВидОплаты = Перечисления.ВидОплаты.Безналичная Тогда ВариантТочкиБП = ТочкаБП.Варианты.Безналичная; ИначеЁсли ВидОплаты = Перечисления.ВидОплаты.Взаимозачет Тогда ВариантТочкиБП = ТочкаБП.Варианты.Взаимозачет; Щ, ИначеЁсли ВидОплаты = Перечисления.ВидОплаты.Кредит Тогда | ВариантТочкиБП = ТочкаБП.Варианты.Кредит; КонецЕсли; КонецПроцедуры В этом обработчике ВидОплаты — реквизит бизнес-процесса. Если в процедуре-обработчике выбора варианта не установить какое-либо значение параметра ВариантТочкиБП, то это приведет к ошибке и отмене транзакции, в рамках которой выполнялся выбор варианта. Формирование задач Задачи формируются только при поступлении бизнес-процесса в точки действия или точки вложенных бизнес-процессов. При прохождении других точек (условный переход, разделение, слияние, обработка и пр.) бизнес- процесс автоматически выполняет предусмотренные действия и переходит к следующей точке в соответствии с картой маршрута. Рассмотрим, например, процесс перехода бизнес-процесса на первую точку действия в результате вызова у него метода Старт(). При прохождении маршрута бизнес-процесс в точках действия или точках вложенных бизнес-процессов может создавать одну или несколько задач. Несколько задач будут сформированы в том случае, если у точки маршрута установлен признак «групповая». В этом случае бизнес-процесс отбирает в регистре сведений (Адресация) все записи, соответствующие ным в данной точке реквизитам адресации, и для каждой из них формирует свою задачу. Например, если в точке маршрута установлена адресация только по роли Кассир, а в регистре сведений имеются две записи вида, то будут ваны две задачи, у которых будут установлены оба реквизита адресации - и роль, и конечный исполнитель. Сотрудник Иванов Петров Роль Кассир Кассир Подразделение
1-404 1 СгПредприятие 8.1. Конфигурирование и администрирование Таким образом, для групповых точек маршрута ролевая маршрутизация применяется только один раз —в момент формирования списка задач. Рассмотрим последовательность вызова обработчиков событий на ном языке в момент перехода на первую точку маршрута Выписка счета. № 1 2 3 4 5 6 7 8 9 Внутренний механизм Начало транзакции Формирование списка задач Запись всех рованных задач Запись задачи Завершение ции Обработчики на встроенном языке Вызов обработчика ПередСозданиемЗадач(Точка МаршрутаБизнесПроцесса, ФормируемыеЗадачи, СтандартнаяОбработка) Вызов обработчика ПриСозданииЗадач(ТочкаМарш- рутаБизнесПроцесса, ФормируемыеЗадачи, Отказ) Вызов обработчика ПередЗаписьюО у задачи * Вызов обработчика ПриЗаписи() у задачи На втором шаге происходит вызов обработчика ПередСозданиемЗадач (ТочкаМаршрутаБизнесПроцесса, ФормируемыеЗадачи, СтандартнаяОбработка). Этот обработчик вызывается до формирования списка задач самим бизнес- процессом, поэтому ему передается пустой массив формируемых задач с тем, чтобы его можно было сформировать самостоятельно и отказаться от стандартной обработки. На третьем шаге бизнес-процесс проверяет, вернул ли предыдущий чик СтандартнаяОбработка = Истина. Если да, то производится разыменование установленных в точке маршрута реквизитов адресации и формируется одна задача или список задач (для групповой точки) по количеству результатов разыменования (например, количество сотрудников отдела). При этом каждой сформированной задаче устанавливается наименование, ссылка на бизнес- процесс и точку маршрута и соответствующие реквизиты адресации. На четвертом шаге осуществляется вызов обработчика ПриСозданииЗадач (ТочкаМаршрутаБизнесПроцесса, ФормируемыеЗадачи, Отказ). В этот обработчик передается список задач, сформированный ранее в обработчике ПередСозданиемЗадач() или самим бизнес-процессом. Задачи еще не записаны. В этом обработчике можно предусмотреть тонкую настройку
Глава 9. Бизнес-процессы и задачи 1-405 сформированных задач - установку контрольного срока, приоритета и других дополнительных реквизитов. Также в этом обработчике можно добавить к массиву сформированных задач новые задачи. На пятом шаге проверяется нормальное завершение обработчика ПриСозда- нииЗадач(). Если обработчик в параметре Отказ вернул значение Истина, то процесс создания задач прерывается и вызывается исключение. В нашем случае это приведет к отмене выполнения метода Старт(). Если же каз = Ложь, то производится запись всех задач из сформированного массива с вызовом обработчиков ПередЗаписью() и ПриЗаписи() у каждой отдельной задачи (шаги 6 и 8 соответственно). При формировании бизнес-процессом массива задач у них автоматически заполняются следующие реквизиты: • наименование устанавливается равным наименованию щей точки маршрута, например Выписка счета; • ссылка на экземпляр бизнес-процесса, породившего эту задачу; • ссылка на точку маршрута бизнес-процесса; • реквизиты адресации задачи устанавливаются равными реквизитам адресации соответствующей точки маршрута. Например, если точка маршрута адресована роли Кассир, то в реквизит адресации задачи Роль будет установлено Кассир. Интерактивная активация бизнес-процесса Интерактивная активация бизнес-процесса происходит в следующих случаях: • нажатие кнопки ОК в форме нового объекта бизнес-процесса, что дит к записи, старту и интерактивной активации бизнес-процесса; • выбор пункта Действия - Активировать; • вызов метода АктивироватьИнтерактивно() у объекта бизнес-процесса на встроенном языке. При этом выполняется следующая последовательность действий. № 1 2 Внутренний механизм Получение списка всех невыполненных задач по данному бизнес- процессу и по текущему исполнителю Обработчики на встроенном языке Вызов обработчика ОбработкаИнтерактивнойАк- тивации(СтандартнаяОбработка)убизнес-процесса. Если СтандартнаяОбработка изменена, то шая обработка прекращается
1-406 1С:Предприятие 8.1. Конфигурирование и администрирование № 3 4 Внутренний механизм Обработчики на встроенном языке Вызов обработчика ОбработкаИнтерактивнойАк- тивации(СтандартнаяОбработка) у задачи. Если СтандартнаяОбработка изменена, то дальнейшая обработка прекращается Вызов обработчика ОбработкаИнтерактивнойАк- тивации(ТочкаМаршрутаБизнесПроцесса, Задача, СтандартнаяОбработка) у соответствующей точки маршрута. Использование интерактивной активации бизнес-процесса позволяет тить переход к выполнению задач при работе со списком бизнес-процессов или при старте новых бизнес-процессов. Интерактивная активация задачи Интерактивная активация задачи происходит в следующих случаях: • двойной щелчок мыши или нажатие клавиши Enter в списке задач (если иное не предусмотрено в конфигурации); • выбор пункта Действия - Активировать списка задач; • вызов метода АктивироватьИнтерактивно() у объекта задачи на ном языке; • вызов метода АктивироватьИнтерактивно() у соответствующего бизнес- процесса задачи на встроенном языке (см. выше). При этом выполняется следующая последовательность действий. № 1 2 3 Внутренний механизм Открытие формы объекта или переход к редактированию та в списке Обработчики на встроенном языке Вызов обработчика ОбработкаИнтерактивнойАк- тивации(СтандартнаяОбработка) у задачи. Если СтандартнаяОбработка изменена, то дальнейшая обработка прекращается Вызов обработчика ОбработкаИнтерактивнойАк- тивации(ТочкаМаршрутаБизнесПроцесса, Задача, СтандартнаяОбработка) у соответствующей точки маршрута. Если СтандартнаяОбработка изменена, то дальнейшая обработка прекращается
Глава 9. Бизнес-процессы и задачи 1-407 Как правило, обработчик ОбработкаИнтерактивнойАктивации() указывается в точке маршрута при проектировании карты бизнес-процесса и ется для открытия форм документов (например, счет) или других объектов информационной базы, обработка которых предусмотрена данной задачей (например, согласование скидки по счету). Интерактивное выполнение задач Интерактивное выполнение задач происходит при вызове команды нить в списке задач или форме объекта задачи, если иное не предусмотрено конфигурацией. При этом выполняется следующая последовательность действий. № 1 2 3 4 5 6 7 8 9 10 Внутренний механизм Начало транзакции Установка свойства нена у задачи разным Истина Запись объекта задачи Завершение транзакции Обработчики на встроенном языке Вызов обработчика ПередИнтерактивнымВы- полнением(Отказ) у задачи Вызов обработчика ПередИнтерактивнымВыпо- лнением(ТочкаМаршрутаБизнесПроцесса, Задача, Отказ) у соответствующей точки рута Вызов обработчика ПередВыполнением(Отказ) у задачи Вызов обработчика ПередВыполнением(Точ- каМаршрутаБизнесПроцесса, Задача, Отказ) у соответствующей точки маршрута Вызов обработчика ПриВыпопнении(Отказ) у задачи Вызов обработчика ПриВыполнении(ТочкаМарш- рутаБизнесПроцесса, Задача, Отказ) у соответствующей точки маршрута. Если хоть в одном из обработчиков Отказ установлен равным Истине, то дальнейшая обработка выполнения прекращается, и задача не помечается как выполненная. Если при этом были начаты транзакции, то они отменяются. Видно, что до начала транзакции вызываются два обработчика ПередИнтер- активнымВыполнением() - для задачи и точки маршрута. В этих обработчиках можно предусмотреть интерактивное взаимодействие с пользователем для
1 -408 1 С:Предприятие 8.1. Конфигурирование и администрирование получения дополнительной информации, необходимой для выполнения задачи или продвижения бизнес-процесса дальше по маршруту. Вызов неинтерактивного метода Выполнить() у объекта задачи из го языка приводит к выполнению шагов с 3-го по 10-й из приведенной выше таблицы. Проверка выполнения Выполнение задач может осуществляться не только пользователями, но и автоматизированными процедурами. Например, если задача ет проведение документа, то автоматическая процедура слежения за такими задачами может определять, что нужный документ уже проведен, и помечать задачу как выполненную путем вызова у нее метода Выполнить(). Для организации такого рода автоматизированных процедур предназначен метод ПроверкаВыполнения() у задачи и соответствующие ему обработчики у точек маршрута. Рассмотрим последовательность действий, которая произойдет в результате работы следующего кода на встроенном языке. Если Задача.ПроверитьБыполнение{) Тогда Задача.ВыполнитьЗадачу(); КонецЕсли № 1 2 3 4 Внутренний механизм Обработка вызова метода Прове- ритьВыполнение() Возврат результата вызова обработчика из предыдущего пункта и, если он равен Истина, вызов метода ВыполнитьЗада- чу() Обработчики на встроенном языке Вызов обработчика ОбработкаПрове- ркиВыполнения(Результат) у задачи. Если Результат равен Ложь, то метод ПроверитьВыполнение() сразу возвращает Ложь Вызов обработки ОбработкаПроверкиВы- полнения(ТочкаМаршрутаБизнесПро- цесса, Задача, Результат) у щей точки маршрута Один из способов использования автоматизированного выполнения задач описан в параграфе «Обратная связь» на стр. 1-412.
Глава 9. Бизнес-процессы и задачи 1-409 Выполнение вложенных процессов При проектировании маршрутной карты можно предусматривать старт вложенных бизнес-процессов. В этом случае основной бизнес-процесс ждет завершения вложенного бизнес-процесса и только после этого переходит к следующей точке маршрута. При переходе на точку маршрута вида Вложенный бизнес-процесс ется следующая последовательность действий. № 1 2 3 4 5 6 7 8 9 Внутренний механизм Начало транзакции Если СгандартнаяОбра- ботка, то формируется массив задач Запись массива рованных задач и созданиемассивавлсжен- ных бизнес-процессов Запись и старт сформированных бизнес-процессов Завершение транзакции Обработчики на встроенном языке ПередСозданиемВложенныхБизнесПро- цессов(ТочкаМаршрутаБизнесПроцесса, ФормируемыеПроцессы, Отказ) Вызов обработчика ПередСозданиемЗадач(Точ- каМаршрутаБизнесПроцесса, ФормируемыеЗада- чи, СтандартнаяОбработка) для точки маршрута ПриСозданииЗадач(ТочкаМаршрутаБизнесПро- цесса, ФормируемыеЗадачи, Отказ) ПриСозданииВложенныхБизнесПроцессов(Точ- каМаршрутаБизнесПроцесса, цессы, Отказ) . Рассмотрим подробнее. На втором шаге происходит вызов обработчика ПередСозданиемВло- женныхБизнесПроцессов(), в котором можно добавить свои бизнес-процессы в массив формируемых бизнес-процессов (по умолчанию в обработчик массив приходит пустым). Если были добавлены бизнес-процессы в массив, то стандартная механика генерации бизнес-процессов будет отменена. На третьем шаге происходит вызов обработчика ПередСозданиемЗадач(). В него передается пустой, еще не сформированный массив задач.
1-410 1С:Предприятие 8.1. Конфигурирование и администрирование Если этот обработчик не изменит стандартную обработку, то ванный им массив задач будет очищен на третьем шаге и заполнен одной задачей с установленным наименование и ссылками на бизнес-процесс и точку маршрута. На пятом шаге можно донастроить сформированные задачи и добавить к ним новые, в случае необходимости. На шестом шаге происходит запись сформированных задач, после чего по каждой из них создается вложенный бизнес-процесс установленного в точке маршрута типа. У созданных бизнес-процессов устанавливается дата и ссылка на ведущую задачу. На седьмом шаге происходит вызов обработчика ПриСозданииВложен- ныхБизнесПроцессов(). Обработчик этого события может «донастроить» автоматически сформированные бизнес-процессы (их количество равно количеству задач после обработчика ПриСозданииЗадач()) или удалить торые из них, а также добавить к ним новые бизнес-процессы. Запись списка бизнес-процессов будет осуществлена после завершения обработчика. Завершение бизнес-процесса Завершение является последним этапом в жизненном цикле бизнес-процесса. Бизнес-процесс автоматически становится завершенным (свойству шен устанавливается значение Истина) при достижении точки завершения и при условии отсутствия невыполненных задач по этому бизнес-процессу. Если у бизнес-процесса установлено свойство Ведущая задача, т. е. он является вложенным, то при своем завершении он помечает эту задачу как выполненную. Это, в свою очередь, приводит к продвижению основного бизнес-процесса дальше по маршруту. При переходе на точку завершения вызывается обработчик ПриЗаверше- нии(ТочкаМаршрутаБизнесПроцесса, Отказ). Если он установит Отказ равным Истине, например если не выполнены все необходимые условия ния бизнес-процесса, то обработка прерывается. Задача по точке маршрута, выполнение которой привело к переходу на точку завершения, при этом остается невыполненной. Установка свойству Завершен значения Истина (средствами го языка или интерактивно) может использоваться для прерывания хода бизнес-процесса или для исключения его из списка активных ных) бизнес-процессов. При этом никакие обработчики, кроме ПередЗаписью и ПриЗаписи, не вызываются. Выполнение ведущей задачи при этом не водится.
Глава 9. Бизнес-процессы и задачи 1-411 Предопределенные поля бизнес-процессов и задач В таблицах перечислены предопределенные поля бизнес-процессов и задач. Предопределенные поля бизнес-процессов Реквизит ПометкаУдаления Номер Дата Завершен ВедущаяЗадача Ссылка Тип Булево Строка или Число Дата Булево ЗадачаСсылка.<Имя задачи> БизнесПроцессСсылка.<Имябизнес-процесса> Предопределенные поля задач Реквизит ПометкаУдаления Номер Дата Наименование Выполнена БизнесПроцесс ТочкаМаршрута Ссылка Тип Булево Строка или Число Дата Строка Булево БизнесПроцессСсылка.<Имябизнес-процесса> БизнесПроцессСсылка.<Имябизнес-процесса> ЗадачаСсылка.<Имя задачи> Бизнес-процессы с несколькими точками старта Наличие нескольких точек старта предполагает, что выбор конкретной точки для старта определяется внешними по отношению к су условиями. Если же бизнес-процесс обладает всей необходимой информацией, чтобы при старте самостоятельно принять решение о выборе того или иного маршрута, то достаточно одной точки старта, следом за которой будет идти точка проверки условия или точка выбора варианта. Если бизнес-процесс имеет несколько точек старта, то при вызове метода Старт() необходимо указать конкретную точку, в противном случае будет выдано сообщение об ошибке. Поэтому при создании бизнес-процесса с несколькими точками старта необходимо сделать следующее: • Переопределить команду Старт в форме списка и в форме объекта бизнес-процесса.
1 -412 1 С:Предприятие 8.1. Конфигурирование и администрирование • Переопределить кнопку ОК в форме объекта бизнес-процесса. • Если данный бизнес-процесс является вложенным для других бизнес- процессов, то в соответствующих точках маршрута нужно прописать обработчик ПриСозданииВложенныхБизнесПроцессов(ТочкаМаршрутаБиз- несПроцесса, ФормируемыеПроцессы, Отказ) так, чтобы записывать и стартовать с нужной точки все бизнес-процессы из массива сформированных. Например: ' Процедура ВложенноеСогласованиеПриСозданииВложенныхВГКТочкаМарщрутаБП, ФормируемыеПроцессы, Отказ) Для каждого БизнесПроцесс из ФормируемыеПроцессы БизнесПроцесс.Записать() ; Точки = ВизнесПроцессы.СогяасованиеДокумента.ТочкиМаршрута; БизнесПроцесс.Старт(Точки.УпрощенноеСогласование); КонецЦикла КонецПроцедуры В остальном использование бизнес-процессов с несколькими точками старта ничем не отличается от обычных бизнес-процессов. Обратная связь Другие объекты информационной базы (документы, элементы ков) вовлекаются в бизнес-процессы и влияют на них. Для эффективного использования механизма бизнес-процессов ет необходимость автоматически выполнять соответствующие задачи при выполнении требуемых операций с другими объектами ной базы (например, при проведении документа, при установке скидки по выписанному счету, при резервировании товара на складе и т. д.). Важной особенностью механизма бизнес-процессов в системе 1С:Предприятие 8 является то, что он не требует существенного изменения используемых прикладных решений. Поэтому реакция бизнес-процессов и задач на изменение других объектов информационной базы может иваться без существенного изменения этих объектов. Рассмотрим сказанное на примере. Допустим, что задача требует ния документа и нужно, чтобы при проведении документа она выполнялась автоматически и пользователю не требовалось открывать список задач, находить в нем нужную задачу и выполнять ее. Для этого последовательно выполним следующие действия: Добавим оповещение в форму документа. Процедура ПослеЗаписи(Отказ) Если Быпопроведение Тогда Оповестить("ПроведениеДокумента", , ЭтотОбъект.Ссылка); ' КонецЕСЛИ; КонецПроцедуры
Плава 9. Бизнес-процессы и задачи 1-413 Создадим обработчик ожидания. Процедура ОбработчикПроведенияДокумента (ИмяСобыти1=, Параметр, Источник) Экспорт 1 Если ИмяСобытия = "ПроведениеДокумента" Тогда Запрос = Новый Запрос; Запрос.УстановитьПараметр("Парам", Источник); Запрос.Текст = «ВЫБРАТЬ I v Ссылка 1ИЗ I Задача.Задача.ЗадачиПоИсполнителю 1 1ГДЕ I Документ = агарам"; Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий(! Цикл ТекущаяЗадача = Выборка.Ссылка.ПояучитьОбъектО; Если ТекущаяЗадача.ПроверитьВыполнениеО Тогда ТекущаяЗадача.БьшолнитьЗадачу(); КонецЕсли КонецЦикла; КонецЕсли; КонецПроце дуры ,;" Зарегистрируем обработчик оповещения, например в момент открытия списка задач. IE"' ,-•>'¦ — — •- - г - г- - ,-т ; ! ip- ! ПодключитьОбработчикОповещения("ОбработчикПроведенияДокум ") ; Другим способом автоматизированного выполнения задач является создание и подключение обработчика оповещения, который будет отбирать все задачи по нужному исполнителю, проверять их выполнение и, в случае ной проверки, автоматически выполнять их. Рассмотрим специфические особенности конфигурирования объектов бизнес-процессов и задач. Редактирование бизнес-процесса В процессе конфигурирования может быть создано произвольное количество видов бизнес-процессов. Назначение каждого бизнес-процесса определяет его структуру и свойства, которые описываются в конфигурации. Конфигуратор позволяет описать структуру бизнес-процесса, создать формы и карту маршрута бизнес-процесса. Свойства бизнес-процессов редактируются в палитре свойств или окне редактирования объекта (см. параграф «Окно редактирования объекта» на стр. 1-60).
1-414 1С:Предприятие 8.1. Конфигурирование и администрирование Наряду с общими свойствами, присущими всем объектам метаданных, бизнес-процессы обладают рядом специфических свойств. Задачи. Свойство определяет ссылку на сконфигурированный ранее объект задачи. Бизнес-процессу обязательно должна быть назначена одна задача из числа уже существующих в конфигурации. Задачи используются бизнес- процессом для формирования заданий по исполнителям или для запуска вложенных бизнес-процессов. Если задача не назначена, то при нии конфигурации базы данных будет выдана ошибка: Не выбрана задача бизнес-процесса. Это свойство можно отредактировать в секции Данные палитры свойств или на закладке Основные окна редактирования объекта. Автонумерация. Установка свойства приводит к тому, что вновь введенному бизнес-процессу номер будет присваиваться автоматически. Автоматически присвоенный номер можно исправить. Длина номера. Устанавливает максимальную длину номера бизнес-процесса. Конфигуратор позволяет установить длину номера равной 0, если в бизнес- процессе данного вида номер не используется. Тип номера. Свойство позволяет выбрать тип значения для номера бизнес- процесса - Число или Строка. Это свойство аналогично свойству Тип номера документа (см. параграф «Индексирование реквизитов объектов» на стр. 1-65). Выбор строкового типа кода бывает полезен, когда используется сложная система нумерации, и номер может включать помимо цифр также буквы и символы-разделители. Контроль уникальности. Если это свойство установлено, то при вводе нового бизнес-процесса его номер проверяется на уникальность в пределах, установленных в свойстве Периодичность. Периодичность. Свойство устанавливает пределы контроля ти номеров бизнес-процессов и период повторяемости номеров. Если установлено свойство Контроль уникальности, то в свойстве Периодичность указывается, в каких пределах будет осуществляться этот контроль. При установленном свойстве Автонумерация система тие 8.1 будет присваивать очередной порядковый номер каждому новому бизнес-процессу. После завершения периода, установленного в свойстве Периодичность, нумерация бизнес-процессов начнется с 1. Помимо основных реквизитов можно создать набор реквизитов, щих хранить дополнительную информацию. Если объект предметной области, которой соответствует бизнес-процесс, имеет не только такие «простые» свойства, как, например, дату, номер, важность или контрольный срок, но и составные (списочные) свойства,
Глава 9. Бизнес-процессы и задачи 1 -415 как, например, список документов на согласование, список резолюций, список участников бизнес-процесса, для бизнес-процесса может быть создан набор табличных частей. Карта маршрута Карта маршрута описывает логику бизнес-процесса и весь его жизненный цикл от точки старта до точки завершения в виде схематического ния последовательности прохождения взаимосвязанных точек маршрута. Для редактирования карты маршрута на закладке Прочее окна ния бизнес-процесса нажмите кнопку Карта маршрута. Редактирование задачи Объекты типа Задачи предназначены для выдачи и исполнения заданий пользователями системы. Задания могут формироваться как самими вателями, так и конкретными бизнес-процессами. Задачи могут применяться самостоятельно или использоваться для ния функционирования бизнес-процессов разного вида. В процессе конфигурирования может быть создано произвольное тво видов задач, однако, как правило, задача создается одна для всех видов бизнес-процессов. Описываемые в конфигурации структура и свойства задачи определяются особенностями автоматизируемой предметной области. Для каждой задачи может быть создано несколько форм списка, выбора, просмотра и редактирования. Все задачи характеризуются номером, датой, временем и наименованием. При формировании задач бизнес-процессами наименование вается аналогичным наименованию соответствующей точки маршрута бизнес-процесса. Свойства задачи редактируются в палитре свойств или окне редактирования объекта (см. параграф «Окно редактирования объекта» на стр. 1-60). Наряду с общими свойствами, присущими всем объектам метаданных, задачи обладают рядом специфических свойств. Адресация. Задаче может быть назначен непериодический регистр сведений, с измерениями которого можно связать реквизиты адресации задачи. Это связывание позволяет определять значение основного реквизита адресации задачи на основании данных, содержащихся в соответствующем тре сведений, что делает возможной не только прямую адресацию задач конкретным исполнителям, но и ролевую.
1-416 1С:Предприятие 8.1. Конфигурирование и администрирование Основной реквизит адресации. Один из реквизитов адресации задачи может быть назначен основным. В этом случае именно в этом реквизите ции необходимо будет указывать конкретного исполнителя задания. Если исполнитель не будет указан, то значение этого реквизита адресации будет определяться из связанного с задачей регистра сведений (см. свойство Адресация). Текущий исполнитель. Это свойство устанавливает ссылку на параметр сеанса, в котором будет храниться текущий исполнитель. Свойство зуется, например, как значение по умолчанию для свойства Исполнитель табличного поля списка задач. Автопрефикс номера задачи. Может принимать значения НеИспользовать и НомерБизнесПроцесса. Если это свойство установлено в значение НомерБизнесПроцесса, то при создании новой задачи ее номер автоматически дополняется номером соответствующего ей бизнес-процесса. Группа подчиненных объектов Реквизиты адресации устанавливает набор реквизитов, которые определяют тип и размерность системы адресации задач этого вида в контексте автоматизируемой предметной области. Один из этих реквизитов может быть установлен основным (см. свойство Основной зит адресации). Реквизиты адресации можно связать с измерениями регистра сведений. Это связывание используется системой для определения значения основного реквизита адресации, если оно не указано и делает возможным не только прямую, но и ролевую адресацию. Длина номера. Устанавливает максимальную длину номера задачи. Тип номера. Свойство позволяет выбрать тип значения для номера чи - Число или Строка. Выбор строкового типа кода бывает полезен, когда используется сложная система нумерации и номер может включать помимо цифр также буквы и символы-разделители. Контроль уникальности. Если это свойство установлено, то при вводе новой задачи ее номер проверяется на уникальность. Автонумерация. Установка свойства приводит к тому, что вновь введенной задаче номер будет присваиваться автоматически. Автоматически ный номер можно исправить. Если объект предметной области, которой соответствует задача, имеет не только такие «простые» свойства, как, например, дату, номер, важность или контрольный срок исполнения, но и составные (списочные) свойства, как, например, список документов для согласования, то может быть создан набор табличных частей.
Глава 10 Построитель отчета Конфигуратор предоставляет разработчикам конфигураций ный объект Построитель отчета (далее построитель), предназначенный для интеллектуального построения отчетов. Основные области применения построителя: • стандартные отчеты; • аналитические отчеты; • произвольные выборки для обработки информации; • создание универсальных отчетов: • разработка отчетов конечными пользователями без доработки конфигурации; • библиотеки отчетов пользователей. • создание системы взаимосвязанных отчетов. Схема работы отчета Схема работы отчета, использующего построитель, представлена на рисунке. Внутренняя часть '~Mw»t~N~Запро<Р)' произвольный^ jnwun v?aiiK>uv j ИСТОМИН г та ¦> Построитель отчета "а-" — т - —~ Г Вывод отчета i \ 1 Пользовательские настройки ¦Отбор •Порядок ¦Измерения ¦Поля Табличный документ Диаграмма Сводная таблица х L Детализация
1-418 1 С:Предприятие 8.1. Конфигурирование и администрирование Для формирования отчета построителю достаточно указать исходный текст запроса и макет или произвольный источник данных (ТаблицаЗначений, РезультатЗапроса, ОбластьЯчеекТабличногоДокумента). При этом итель автоматически формирует параметры настройки из текста запроса, а в случае отсутствия макета производит его автоматическое создание. Отчет выводится в табличный документ. Для предоставления пользователям возможности самим настраивать отчет требуется разместить в форме элементы управления для ввода настроек. Язык запросов построителя отчета Для формирования текста запроса построителя отчета используется обычный язык запросов (см. параграф «Язык запросов» раздела «Работа с запросами») с дополнительными синтаксическими элементами, значенными для работы построителя. Элементы языка построителя заключаются в фигурные скобки. Эти конструкции игнорируются при выполнении обычного запроса. В общем случае предложение языка запросов построителя запросов имеет синтаксис: {КЛЮЧЕВОЕ_СЛОВО <список полей>} <список полей> - перечисление полей (через запятую), которые будут доступны в настройках построителя отчета. В качестве полей могут быть использованы как поля таблиц исходного запроса, так и их псевдонимы. Для каждого поля допускается указание псевдонима с помощью го слова КАК. Существуют следующие ключевые слова. ВЫБРАТЬ - в этом предложении описываются поля, которые пользователь сможет выбирать для вывода. Если поля, перечисленные в этом предложении, совпадают с полями ки запроса или с их псевдонимами, то они также автоматически будут добавлены в выбранные поля построителя отчета. ГДЕ — описываются поля, на которые пользователь сможет накладывать ограничения. Поля будут добавлены только в доступные поля построителя. УПОРЯДОЧИТЬ ПО - описываются поля для обозначения порядка. Если поля, перечисленные в этом предложении, совпадают с полями, перечисленными в соответствующем предложении запроса, и в нии построителя отчета для них не заданы псевдонимы, то эти поля будут автоматически добавлены в порядок построителя отчета с теми условиями, которые заданы в тексте запроса.
Глава 10. Построитель отчета 1-419 ИТОГИ ПО - описываются поля, по которым будут выводиться итоговые значения. Если поля, перечисленные в этом предложении, совпадают с полями, перечисленными в соответствующем предложении запроса, и нии построителя отчета для них не заданы псевдонимы, то эти поля будут автоматически добавлены в измерения строки построителя отчета. После всех этих элементов через запятую перечисляются поля, которые могут являться как «реальными» полями, так и псевдонимами полей из списка выборки. После поля можно указывать псевдоним поля для ителя отчета. Пример ' {ИТОГИ ПО Номенклатура КАК Товар, Контрагент КАК Покупатель} Если после поля поставить «.*», то это будет означать, что кроме самого поля построитель предоставляет возможность использовать и все поля через точку от данного поля. Пример {ИТОГИ по Номенклатура.* КАК Товар, Контра еят КАК ПОкупат'ель} В данном примере пользователь сможет выбирать в качестве измерения не только номенклатуру, но также и любые ее реквизиты, например Номенклатура.ОсновнойПоставщик. Предложения языка запроса могут не содержать ключевых слов. Такой способ используется для передачи построителю отчета параметров альных таблиц. В таких случаях тип полей зависит от типа параметра, в котором ются элементы. Пример ; выбрать УчетНоменкяатурыОбороты.Номенклатура КАК Номенклатура, УчетНоменклатурыОбороты.Склад КАК Склад, УчетНоменкяатурыОбороты.КоличествоПриход КАК КоличествоПриход, УчетНоменкяатурыОбороты.КоличествоРасход КАК КоличествоРасход ИЗ РегиетрНакопления.УчетНоменклатуры.Обороты({ЬДатаНачала}, {ЬДатаКонца}, ,{Номенклатура.*, Склад.*}) КАК УчетНоменклатурыОбороты
1 -420 1С:Предприятие 8.1. Конфигурирование и администрирование В этом примере поля ДатаНачала, ДатаКонца, Номенклатура, Склад станут доступными в отборе, т. е. пользователь сможет указать для них условия отбора. Возможно обозначение таблиц как «необязательных». Это делается при помощи заключения части соединения в фигурные скобки. В этом случае построитель отчета будет включать выделенное соединение в ющий запрос только тогда, когда пользователь где-либо задействует любое поле из таблиц соединения. Пример ВЫБРАТЬ ( {ВЫБРАТЬ СправочникНоменклатуры.Код КАК Код, СправочникНоменклатуры.Наименование КАК Наименование, СправочникНоменклатуры.СтранаПроисхождения, УчетНоменклатурыОстатки.КоличествоОстаток КАК Остаток} СправочникНоменклатуры.Код КАК Код, СправочникНоменклатуры.Наименование КАК Наименование, СправочникНоменклатуры.СтранаПроисхождения, УчетНоменклатурыОстатки.КоличествоОстаток КАК Остаток ИЗ {ГДЕ Справочник.Номенклатура КАК СправочникНоменклатуры {ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.УчетНоменклатуры.Остатки КАК УчетНоменклатурыОстатки ПО УчетНоменклатурыОстатки.Номенклатура = СправочникНоменклатуры.Ссылка} СправочникНоменклатуры.Ссылка.* КАК Номенклатура, УчетНоменклатурыОстатки.КоличествоОстаток КАК Остаток) ГДЕ СправочникНоменклатуры.ЭтоГруппа = Ложь {УПОРЯДОЧИТЬ ПО Код, Наименование} {ИТОГИ ПО СправочникНоменклатуры.Ссылка.* КАК Номенклатура} ИТОГИ СУММА(Остаток) ПО ОБЩИЕ АВТОУПОРЯДОЧИВАНИЕ
Глава 10. Построитель отчета 1-421 В приведенном примере таблица РегистрНакопления.УчетНоменкла- туры .Остатки будет включаться в запрос только в том случае, если тель выберет любое поле из нее либо в отборе, либо в выбранных полях. Построитель отчета и построитель запроса переносят информацию о нении группировки периодами в результирующий запрос. Если группировка, выводимая на первом уровне, в строках или колонках имеет дополнение периодами, то при выводе отчета будут выведены все даты с указанной периодичностью за указанный период. Пример ВЫБРАТЬ ПродаииОбороты.Период КАК Период, ПродаииОбороты.Номенклатура КАК Номенклатура. ПРЕДСТАВЛЕНИЕ(ПродажиОбороты.Номенклатура), ПродажиОбороты.КоличествоОборот КАК КоличествоОборот ИЗ РегистрНакопяения.Продажи.Обороты(, , НЕДЕЛЯ, ) КАК ПродажиОбороты УПОРЯДОЧИТЬ ПО Период, Номенклатура ИТОГИ СУММА(КоличествоОборот) ¦ ПО ОБЩИЕ, Период ПЕРИОДАМИ(НЕДЕЛЯ, , ), Номенклатура В случае использования такого запроса и использования группировки Период в результирующий запрос будет помещена группировка, ненная периодами. Если группировка Период будет находиться на первом уровне в строках или колонках отчета, в отчет будут выведены все даты за период, присутствующий в отчете с периодичностью НЕДЕЛЯ. В отличие от языка запросов, язык запросов построителя отчета допускает использование повторяющихся псевдонимов. Повторяющиеся псевдонимы могут быть использованы для того, чтобы облегчить пользователю выбор полей, выводимых в отчет. Если несколько полей имеют одинаковые нимы, то выбор такого псевдонима будет равносилен выбору каждого поля, имеющего этот псевдоним. Автоматическое заполнение построителя При необходимости можно настроить построитель для работы с обычным текстом запроса. Для этого средствами встроенного языка после установки текста запроса построителю необходимо вызвать его метод ЗаполнитьНастройки().
т 1 -422 1 С:Предприятие 8.1. Конфигурирование и администрирование При автоматическом заполнении построитель выполнит следующие действия: • Поля из списка выборки и все их подчиненные поля добавит в ные поля для порядка, отбора, выбранных полей. • Поля из списка выборки добавит в список выбранных полей. • Поля и их подчиненные поля из предложения ИТОГИ ПО добавит в поля, доступные для выбора в измерения. • Поля из предложения ИТОГИ ПО добавит в измерения по строкам. • Параметры виртуальных таблиц добавит в доступные отборы. При установке текста запроса построитель отчета заполнит свою коллекцию доступных полей таким образом, что поля секций языка построителя отчета попадут в доступные поля для соответствующих коллекций. Кроме того, поля, которые присутствовали в секции ВЫБРАТЬ языка запроса и секции ВЫБРАТЬ построителя отчета, попадают в список выбранных полей. Поля, которые присутствовали только в секции ВЫБРАТЬ построителя отчета, попадут в доступные поля, однако не попадут в выбранные поля. Поля, присутствующие только в списке выборки запроса, не попадут ни в ные, ни в выбранные поля, однако будут присутствовать в результирующем запросе. Аналогичная картина наблюдается с полями, расположенными в секциях ИТОГИ ПО и УПОРЯДОЧИТЬ ПО. Построение запроса При построении запроса алгоритм работы построителя основан на щих правилах: • В запрос будут добавлены все поля из измерений выбранных полей. • Если поле, которое добавлено в измерения или список выбранных полей, отсутствовало в списке выборки исходного текста запроса, в результирующий список выборки, кроме самого поля, будет лено поле-представление. Представление будет добавлено только для полей ссылочного типа. Макет построителя отчета При выводе отчета построителю можно установить макет - табличный документ. По умолчанию в установленном макете используются щие области: • Для вывода строк-измерений используются области с именем, соответствующим имени измерения. Например, для вывода измерения Номенклатура будет использована область с именем Номенклатура.
Глава 10. Построитель отчета 1-423 • Для вывода строк-измерений по иерархии используются области с именем, соответствующим имени измерения плюс слово Иерархия (Hierarchy). Например, для вывода иерархических строк измерения Номенклатура будет использована область с именем НоменклатураИе- рархия. • Для кынода подвала измерения используется имя области, состоящее из имени измерения плюс ключевого слова Подвал (Footer), а для подвала иерархического итога - имя измерения плюс ключевое слово ПодвалИерар- хия (HierarchyFooter). • Для вывода измерения по уровням используются области макета с именем, состоящим из имени измерения, плюс ключевое слово Уровень (Level), плюс номер уровня. • Для вывода подвала измерения по уровням используются области макета с именем, состоящим из имени измерения, плюс ключевое слово ПодвалУровень (FooterLevel), плюс номер уровня. • Для вывода детальных записей будет использоваться область с именем Детали (Details). • Для вывода заголовка отчета будет использована область с именем Заголовок (Header). • Для вывода подвала отчета будет использована область с именем Подвал (Footer). • Для вывода шапки таблицы будет использована область с именем ШапкаТаблицы (TableHeader). • Для вывода подвала таблицы будет использована область с именем ПодвалТаблицы (TableFooter). Кроме того, при выводе кросс-отчета используются следующие тельные области: • ШапкаСтрок (RowsHeader) - для вывода заголовка измерений, гаемых в строках. • ЗаголовокИтогаПоСтроке (RowTotalHeader) - для отображения заголовка итога по строке. • ЗаголовокИтогаПоКолонке (ColumnTotalHeader) — для отображения заголовка итога по колонке. • Ресурсы (Resources) - для отображения ресурсов кросс-таблицы. • РесурсыИерархия (ResourcesHierarchy) - для отображения ресурсов в строках для иерархических итогов. • РесурсыУровень (ResourcesLevel) - для отображения ресурсов твующего уровня итогов.
1 -424 1 СгПредприятие 8.1. Конфигурирование и администрирование РесурсыПодвал (ResourcesFooter) - для отображения ресурсов в ле группировки. РесурсыПодвалУровень (ResourcesFooterLevel) - для отображения сов в подвале группировки соответствующего уровня. РесурсыПодвалИерархия (ResourcesFooterHierarchy) - для отображения ресурсов в подвале иерархической группировки. Ресурсы ИтогПоСтроке (ResourcesRowTotal) - для отображения итогов по строке ресурсов кросс-таблицы. РесурсыИтогПоСтрокеИерархия (ResourcesRowTotalHierarchy) - для отображения итогов по строке ресурсов в строках для иерархических итогов. РесурсыИтогПоСтрокеУровень (ResourcesRowTotalLevel) - для ния итогов по строке ресурсов соответствующего уровня итогов. РесурсыИтогПоСтрокеПодвал (ResourcesRowTotalFooter) - для ния итогов по строке ресурсов в подвале группировки. РесурсыИтогПоСтрокеПодвалУровень (ResourcesRowTotalFooterLevel) - для итогов по строке отображения ресурсов в подвале группировки соответствующего уровня. PecypcbiHTOrnoCTpoKenoflBanHepapxHfl(ResourcesRowTotalFooterHierarchy)- для итогов по строке отображения ресурсов в подвале иерархической группировки. РесурсыИтогПоКолонке (ResourcesColumnTotal) - для отображения итогов по колонке ресурсов. РесурсыГруппировкаДетали (ResourcesGroupDetails) - область для вывода ресурсов на последнем уровне группировок. РесурсыИтогПоСтрокеГруппировкаДетали (ResourcesRowTotalGroupDetails) - область для вывода итогов по строке для ресурсов на последнем уровне группировок. Все области, касающиеся вывода ресурсов, могут быть также определены и для группировок. Для этого необходимо в начало имени области включить имя группировки. Изменить имена областей можно при помощи соответствующих свойств построителя отчета и его измерений. Для вывода расшифровки при заданном макете необходимо установить в параметре расшифровки имя предопределенного параметра ка (Details). Имена остальных параметров полностью соответствуют псевдонимам полей в запросе.
Глава 10. Построитель отчета 1 -425 Макет оформления построителя отчета Макет оформления представляет собой табличный документ, содержащий именованные области. Оформление именованных областей применяется к соответствующим областям макета при выводе отчета с помощью построителя отчета и к соответствующим областям сводной таблицы. Система 1С:Предприятие 8.1 содержит набор готовых макетов оформления, список которых содержится в системном перечислении СтандартноеОформ- ление. Получить стандартный макет оформления можно при помощи метода глобального контекста ПопучитьМакетОформления(). Для использования макета оформления необходимо записать в свойство МакетОформления построителя отчета или сводной таблицы нужный макет оформления. Пример | ПостроительОтчета.МакетОформления = ДолучитьМакетОформяения(Стандартное: I ;Длатин< Оформление отчета При применении оформления с помощью макета оформления к областям макета отчета применяются все оформительские свойства ячеек, за чением следующих свойств: Формат (Format) - формат содержимого ячейки. РазмещениеТекста (TextPlacement) - размещение текста в ячейке. ГоризонтальноеПоложение (HorizontalAlign) - выравнивание текста по ризонтали. ПоВыделеннымКолонкам (BySelectedColumns) - выравнивать текст относительно колонок. ОриентацияТекста (TextOrientation) — угол наклона текста. ВыделятьОтрицательные (MarkNegatives) - выделение отрицательных чисел. АвтоОтметкаНезаполненного (AutoMarklncomplete) - автоматическая отметка незаполненных значений.
1 .-426 1 С:Предприятие 8.1. Конфигурирование и администрирование Области макета оформления Макет оформления содержит следующие области: • Группировка (Group) - оформление области группировки. • ГруппировкаИерархия (GroupHierarchy) - оформление области ческой группировки. • ГруппировкаУровень (GroupLevel) — оформление области группировки заданного уровня. Номер уровня проставляется после имени области. • ГруппировкаПодвал (GroupFooter) - оформление области подвала ровки заданного уровня. • ГруппировкаПодвалИерархияFгоирРоо1егЫегагс1ту)-оформление ти подвала иерархической группировки. " ГруппировкаПодвалУровень (GroupFooterLevel) - оформление области подвала иерархической группировки заданного уровня. Номер уровня проставляется после имени области. • ОбщиеИтоги (Overalls) - оформление области общих итогов. • ГруппировкаДетали (GroupDetails) - оформление области группировки, находящейся на последнем уровне в отсутствие детальных записей. • РесурсыГруппировкаДетали (ResourcesGroupDetails) - оформление ресурсов области группировки, находящейся на последнем уровне в отсутствие детальных записей. • РесурсыИтогГруппировкаДетали (ResourcesTotalGroupDetails) - ние итогов ресурсов области группировки, находящейся на последнем уровне в отсутствие детальных записей. • Заголовок (Header) - оформление заголовка отчета. • Подвал (Footer) - оформление подвала отчета. • Детали (Details) — оформление области детальных записей. • Ресурсы (Resources) — оформление области ресурсов. • РесурсыДетали (ResourcesDetails) - оформление ресурсов в области детальных записей. • РесурсыИтогДетали (ResourcesTotalDetails) - оформление итогов в тальных записях. • РесурсыИерархия (ResourcesHierarchy) - оформление ресурсов в ти иерархических группировок. • РесурсыУровень (ResourcesLevel) - оформление ресурсов в области группировок заданного уровня. Номер уровня проставляется после имени области. • РесурсыИтог (ResourcesTotal) - оформление области итогов.
Глава 10. Построитель отчета 1-427 РесурсыИтогИерархия (ResourcesTotalHierarchy) - оформление области итогов по иерархии. РесурсыИтогУровень (ResourcesTotalLevel) - оформление области итогов для заданного уровня. Номер уровня проставляется после имени области. РесурсыОбщийИтог (ResourcesOverall) - оформление области общих итогов. РесурсыИтогОбщийИтог (ResourcesTotalOverall) общих итогов. оформление области оформление области ресурсов РесурсыПодвал (ResourcesFooter) в подвале группировки. РесурсыИтогПодвал (ResourcesTotalFooter) - оформление области итогов ресурсов в подвале группировки. РесурсыПодвалИерархия (ResourcesFooterHierarchy) - оформление области ресурсов в подвале иерархической группировки. РесурсыИтогПодвалИерархия (ResourcesTotalFooterHierarchy) - ние области итогов ресурсов в подвале иерархической группировки. РесурсыПодвалУровень (ResourcesFooterLevel) - оформление области ресурсов в подвале группировки на заданном уровне. Номер уровня проставляется после имени области. РесурсыИтогПодвалУровень (ResourcesTotalFooterLevel) - оформление области итогов ресурсов в подвале группировки на заданном уровне. Номер уровня проставляется после имени области. ШапкаТаблицы (TableHeader) - оформление шапки таблицы. ПодвалТаблицы (TableFooter) - оформление подвала таблицы. Взаимодействие с пользователем Одна из составляющих частей версальности отчетов, использующих построитель, заключается в ти указания пользователем различных условий отборов, состава полей, строек во всевозможных комбинациях. Для этих целей в форме отчета ботчик размещает табличные поля и указывает их тип, используя свойства построителя. С ]-0тчет0бъект — ДостулныеПоля —Порядок —ВыбракныеПаля —ИзмеренияСтроки - ИзмеренияКолонки '—НасгройкнПостроителя ВыбТипДиаграммы Е-ЭлеменгыФсрмы I ок I | Отмена | Справка Использование табличных полей позволяет ввести неограниченное число различных условий отбора, применяемых в расчетах полей, порядка ления, полей для вывода в отчет, измерений.
1 -428 1С:Предприятие 8.1. Конфигурирование и администрирование Табличное поле типаДоступныеПоля содержит все допустимые поля, емые из текста запроса. В список включаются измерения таблиц, параметров, указанных с использованием расширения запроса, поля итогов. Для настройки пользователь может внести любые изменения в состав списков, выбрав поля в списке доступных полей и указав их размещение в нужном списке. Для этого следует использовать контекстное меню табличного поля доступных полей. Кроме того, список любого поля можно сформировать, используя команды управления списком каждого табличного поля. Важно! Порядок следования данных в списках выбранных полей, упоря? дочивания и измерений влияет на вид отчета. Для каждой строки табличного поля условий отбора можно указать условие и значение отбора. Для табличных полей по измерениям строк и колонок указывается, какие данные будут выводиться в строках, а какие - в колонках. Если зуется иерархический тип данных, то по каждой строке указывается вид итоговых данных. При указании значения Элемент итоговые данные будут выводиться по каждой позиции. При указании значения Иерархия данные выводятся в виде иерархического представления (присутствуют итоговые данные как по группам, так и по элементам). При указании значения Только иерархия данные представляются итоговыми значениями по каждой группе. Если выбрано значение Иерархия или Только иерархия, данные в отчет будут выводиться с использованием группировки. В табличном поле установки упорядочивания производится настройка порядка. Вывод отчета Для вывода отчета в модуле построителя необходимо написать следующий код: ПостроительОтчета,Выполнить(}г i ПостромтельОтчета.Вывести(); Отчет формируется в виде табличного документа. Если необходимо использовать расшифровки отчета, то нужно в форме разместить поле табличного документа. Для вывода отчета в поле табличного документа следует в методе Вывести() указать имя поля табличного документа.
Глава 10. Построитель отчета 1-429 Для построителя можно указать заранее сделанные макеты заголовка, подвала, шапки таблицы, подвала таблицы, области измерений и детальных записей. Если каких-либо макетов не указывать, построитель производит автоматическое формирование макета на основании параметров. Важно! Если для формирования итогового документа ся макет, назначаемый разработчиком, построитель также может автоматически заполнить расшифровки в формируемом ном документе. Для этого должны быть указаны стандартные имена параметра расшифровки для ячеек макета, у которых должна няться расшифровка. Если вид расшифровки построителя отчета установлен Расшифровка, тогда имя параметра расшифровки в макете должно быть ка ^Details). Если вид расшифровки построителя отчета установлен ЗначенияГруп- пировок (GroupValues), тогда имена параметров расшифровки в макете должны совпадать с именами группировок. Отчет можно вывести в диаграмму. Для этого следует в методе Вывести() указать имя элемента управления Диаграмма. Для вывода отчета в сводную таблицу следует для сводной таблицы в тве источника данных указать построитель. СводнаяТаблица.ИсточникДанных = ПостроительОтчета; СводнаяТаблица.Обновить(); Если для сводной таблицы в отчете средствами встроенного языка сформированы поля, то результат работы построителя сразу показывается. В противном случае пользователь должен самостоятельно настроить сводную таблицу. В отличие от обычного использования сводной таблицы, в списке полей поля непримитивных типов данных представлены в виде иерархии полей. В списке можно выбрать свойства и ссылки на другие объекты, а для иерархических — способ представления данных (Без иерархии - только данные элементов, Только иерархия — вывод данных по группам). О настройке сводной таблицы см. стр. 2-751 данного Руководства. О приемах работы со сводной таблицей см. параграф «Сводные таблицы» книги «1С:Предприятие 8.1. Руководство пользователя». I.» [Без иерархии] Ц (Только иерархия) t~ ПометкаУдаления t-v Предопределенный Е-1~ Родитель —L, ЭтоГруппа -V-Код Ц Наименование 1-* Вид S-1-* ОсновнойРС E-U ТипЦен Номенклатура —1-. Период ~9 КоличествоОбЪрот ~ СуммаОборот Поместить в строки .лшрчи^яиии^яяяяиржижэиуиадд pupil
1 -430 1С:Предприятие 8.1. Конфигурирование и администрирование Дополнительные возможности Построитель отчета легко позволяет организовать получение различных детализированных отчетов на основании текущих полученных данных. Типовым примером является получение развернутого по контрагентам отчета по итоговым данным номенклатуры или получение детальных (по документам) данных по итоговым данным. Для этих целей достаточно в процедуре-обработчике события расшифровки построителю в методе НастроитьРасшифровку() указать в качестве го текущий построитель, а также значение самой расшифровки. Разумеется, в макете необходимо предварительно указать параметр расшифровки. Для организации сохранения историй перехода по расшифровкам необходимо организовать хранение и восстановление настроек построителя. Для получения и загрузки настроек необходимо использовать методы построителя ПолучитьНастройки() и УстановитьНастройки().
Цля заметок
ПРАВО ТИРАЖИРОВАНИЯ ПРОГРАММНЫХ СРЕДСТВ И ДОКУМЕНТАЦИИ ПРИНАДЛЕЖИТ ФИРМЕ «1С» Приобретая систему «1С:Предприятие 8», Вы тем самым даете согласие не допускать копирования программ и документации без письменного разрешения фирмы «1С». ©ЗАО «1С», 1996-2008 Фирма «1С», Москва, 123056, а/я 64 Отдел продаж: Селезневская ул., 21, телефон: +7 D95) 737-92-57, факс: +7 D95) 681-44-07 E-mail: 1c@1c.ru URL: htfp://www. 1c.ru http://www.v8.1c.ru http://users.v8.1c.ru/ Группа разработки программ - А. Алексеев, Д. Бескоровайнов, А. Безбородов,! А. Виноградов, А. Волков, Е. Горностаев, Г. Дамье, О. Дерут, Д. Зарецкий! Д. Ивашов, С. Копиенко, С. Кравченко, М. Лейбович, Г. Леонтьев, А. ЛеханД A. Медведев, А. Митрофанов, Е. Митрошкин, С. Мурзин, С. Нуралиев! Д. Павленко, В. Пискарев, Д. Русанов, Д. Службин, П. СолодкийЯ B. Сосновский, В. Филиппов, В. Тунегов, П. Чиков, А. Чичерин. Документация - В. Байдаков, В. Дранищев, А. Краюшкин, И. Кузнецов^ М. Лавров, А. Моничев, М. Радченко, Е. Цагикян. Группа консультационной поддержки - О. Багрова, Е. Баканова, А. Басалюк^ В. Давыдова, О. Дмитренко, Ю. Жестков, О. Завальская, Н. ЗаявлинаЯ Г. Коробка, Ю. Лаврова, С. Лепешкина, С. Марков, А. Морсина! В. Николаева, А. Павликов, М. Полканова, С. Постнова, А. Прокуровскивд Е. Романова, Г. Степаненко, Н. Степанов, Т. Токарева. Наименование книги: «1С:Предприятие 8.1. Конфигурирование и администрирование» Номер издания: 81.002.04 Дата выхода: 25 апреля 2008 г.
ЛИНИЯ КОНСУЛЬТАЦИЙ Для пользователей системы 1С:Предприятие 8 услуги линии консультаций предоставляются по линии информационно-технологического сопровождения I (ИТС). Получение консультаций возможно только после регистрации программного продукта (для чего необходимо заполнить регистрационную анкету и выслать ; ее в фирму «1С») и оформления подписки на ИТС. В стоимость комплекта поставки программного продукта включено обслуживание по линии ИТС в течение периода, указанного в Вашей регистрационной анкете. Купон на бесплатное обслуживание по линии ИТС, а также конверт с маркой и адресом входят в состав приобретенного Вами комплекта программ. По истечении периода бесплатного обслуживания получение консультаций возможно только по договору на ИТС. Для заключения договора обращайтесь к партнерам фирмы «1С». Телефон и адрес электронной почты для консультаций указаны на диске , ИТС. Линия консультаций работает с 9.30 до 17.30 по московскому времени, кроме суббот, воскресений и праздничных дней (по распорядку московских | предприятий). Обращаясь к линии консультаций, следует находиться рядом со своим компьютером, иметь под рукой настоящее руководство и свою половину регистрационной анкеты. Желательно заранее уточнить типы используемого \ компьютера и принтера. Набрав телефон линии консультаций, Вы должны услышать ответ дежурного сотрудника. После этого сообщите наименование Вашей организации, номер Вашего экземпляра системы (он обозначен на CD-ROM комплекта , поставки и на Вашей половине регистрационной анкеты) и, возможно, другую регистрационную информацию по запросу сотрудника линии консультаций. Названная Вами информация будет проверена по данным, указанным в I отосланной в фирму «1С» половине регистрационной анкеты. Отвечая на возникшие у Вас вопросы, дежурный сотрудник может воспроизвести возникшую ситуацию на своем компьютере. Он даст Вам рекомендации сразу же или после обсуждения с разработчиками. Вам не нужно просить к телефону конкретных специалистов: мы отвечаем за работу всего персонала. Работа линии консультаций регистрируется, поэтому при повторных обращениях по сложным проблемам Вы можете сослаться на I дату и время предыдущего разговора. МЫ ВСЕГДА РАДЫ ВАМ ПОМОЧЬ!
Оглавление Часть 1 Введение 1-13 Структура Руководства 1-13 Что вы должны знать 1-15 Книги документации 1-16 Методические материалы и дополнительные возможности 1-16 Сопроводительные файлы комплекта поставки 1-17 ИТС - информационно-технологическое сопровождение 1-17 Сайт системы программ 1-19 Пользовательский сайт 1-20 Раздел сайта для разработчиков 1-21 • Методики разработки конфигураций 1-21 Учебные курсы 1-22 Книги, буклеты, статьи 1-22 Программа работы с файлами 1-23 Принятые обозначения 1-23 Глава 1. Концепция системы 1-25 Конфигурируемость 1-25 Функционирование системы 1-25 Основные понятия системы 1-27 Понятие «конфигурация» 1-27 Объект конфигурации 1-28 Форма 1-40 Модуль 1-40 Макет 1-41 Технологические средства конфигурирования и администрирования 1-42 Глава 2. Конфигурирование 1-46 Открытие конфигурации 1-46 Сохранение конфигурации 1-47 Закрытие конфигурации 1-47 Сохранение конфигурации в файл 1-47 Загрузка конфигурации из файла 1-48 Дерево объектов конфигурации 1-48 Настройка сортировки 1-49 Создание и удаление объекта конфигурации 1-49 Создание объекта конфигурации 1-49 Удаление объекта конфигурации 1-51 Ссылки на объект конфигурации 1-52 Палитра свойств 1-52 Некоторые приемы выбора элементов управления 1-55 Окно «Дополнительно» 1-57 Окно редактирования объекта 1-60 Основные свойства объектов конфигурации 1-64 Индексирование реквизитов объектов 1-65 Свойства конфигурации 1-66 Категория свойств «Основные» 1-68 Категория свойств «Представление» 1-67 Категория свойств «Разработка» 1-68 Категория свойств «Справочная информация» 1-69 Создание описания объекта конфигурации 1-69 Работа с конфигурацией базы данных 1-69 Дерево объектов конфигурации базы данных 1-69 Обновление конфигурации базы двнных 1-69
Оглавление 2-435 Сохранение конфигурации базы данных в файл 1-72 Сравнение конфигурации и конфигурации базы данных 1-72 Отказ от изменений в конфигурации 1-72 Запуск системы 1-72 Выгрузка и загрузка файлов конфигурации 1-73 Отчет по конфигурации 1-73 Глобальный поиски замена 1-74 Настройка рабочей области конфигуратора 1-77 Настройка панелей 1-78 Глава 3. Объекты конфигурации 1-80 Модуль приложения 1-80 Модуль внешнего соединения 1-81 Модуль сеанса 1-81 Ветвь конфигурации «Общие» 1-82 Подсистемы 1-82 Общие модули 1-83 Параметры сеанса 1-85 Роли и права доступа 1-85 Планы обмена 1-96 Критерии отбора 1-96 Подписки на события 1-98 Регламентные задания 1-99 Общие формы 1-99 Интерфейсы 1-101 Общие макеты _ 1-101 Общие картинки 1-102 XDTO-пакеты 1-104 Web-сервисы 1-112 WS-ссылки 1-116 Стили 1-117 Языки 1-120 Константы 1-122 Свойства константы 1-123 Справочники 1-123 Свойства справочника 1-126 Документы 1-131 Свойства документа 1-132 Нумераторы 1-136 [Последовательности документов 1-137 Ввод документов на основании 1-141 Журналы документов 1-143 Создание журнала 1-143 Редактирование журнала 1-143 Перечисления 1-148 Редактирование перечисления 1-149 Отчеты и обработки 1-150 Сохранениеи восстановление значений настроек отчетов иобработок 1-152 Внешние отчеты и обработки 1-152 Планы видов характеристик 1-157 Пример создания и использоаания плана видов характеристик 1-160 Регистры 1-162 Регистры сведений 1-163 Общая информация о регистрах сведений 1-163 Редактирование регистра сведений 1-166 Разработка структуры регистра сведений 1-168 Регистры накопления 1-169 Общая информация о регистрах накопления 1-169 Редактирование регистра накопления 1-173 Разработка структуры регистра накопления 1-174 Формы объектов конфигурации 1-175
Si HI ¦ — I a—^— 2-436 1С:Предприятие 8.1. Конфигурирование и администрирование Формы объектов по умолчанию 1-176 Создание формы 1-176 Свойства формы 1-177 Свойства элементов управления 1 -181 Глава 4. Встроенный язык 1-236 Назначение и краткая характеристика встроенного языка 1-236 Формат исходных текстов программных модулей 1-237 Что такое программный модуль? 1-237 Формат программного модуля 1-240 Специальные символы, используемые в исходном тексте 1-244 Примитивные типы данных 1-244 Оператор присваиаания 1-248 Выражения языка 1-248 Арифметические операции 1-249 Операция конкатенации 1-249 Логические операции 1-250 Операторы и синтаксические конструкции 1-251 Основные приемы работы 1-271 Обращение к свойствам объектов 1-271 Дополнение контекста объектов и форм 1-272 Передача параметров процедур и функций 1-272 Работа с коллекциями значений 1-273 Использование номеров и индексов 1-274 Работа с системными перечислениями 1-274 Особенности режимов запуска системы 1-274 Исполнение процедур и функций 1-274 Особенности использования объектов, их свойств и методов 1-278 Глава 5. Работа с запросами 1-279 Источники данных (таблицы) запросов 1-279 Язык запросов 1-280 Синтаксическая диаграмма конструкций языка запросов 1-281 Комментарии в языке запросов 1-281 Использование предопределенных данных конфигурации 1-282 Двуязычное представление ключевых слов 1-283 Основные секции текста запроса 1-285 Описание запроса 1-286 Описание полей выборки 1-290 Описание источников запроса 1-294 Фильтрация результатов запроса 1 -302 Группировка результатов запроса 1-303 Условия на значения агрегатных функций 1-305 Объединение запросов 1-305 Упорядочивание результатов запроса 1-308 Автоупорядочивание результатов 1-311 Расчет итогоа запроса 1-312 Выражения в языке запросов 1-318 Условия в языке запросов 1-332 Выполнение и работа с запросами во встроенном языке 1-340 Основные приемы работы 1 -340 Работа с временными таблицами 1-347 Работа с пакетными запросами 1-350 Глава 6. Работа с данными 1-352 Механизм объектных блокировок 1-352 Пессимистическая блокировка 1-352 Оптимистическая блокировка 1-354 Механизм транзакций 1-354 Использование явного вызова транзакций 1-355 Вложенный вызов транзакций 1-357
Оплавление 2-437 Влияние транзакций на работу программных объектов 1-358 Механизм управляемых блокировок 1-358 Общие сведения о блокировках 1-358 Управляемые блокировки 1-360 Установка режима блокировок в конфигурации 1-361 Работа с управляемыми блокировками федствами встроенного языка 1-361 Особенности работы в режиме «Автоматический и управляемый» 1-365 Модификация конфигураций при переходе к режиму управляемых блокировок 1-366 Глава 7. Организация бухгалтерского учета 1-372 Обзор 1-372 Планы счетов 1-373 Аналитический учет 1-374 Виды учета 1-377 Записи и наборы записей регистров бухгалтерии 1-377 Ведение консолидированного учета 1-378 Создание плана счетов .• 1-379 Свойства планов счетов 1-379 Формирование списка счетов (предопределенные счета) 1-380 Регистры бухгалтерии 1-382 Свойства регистра бухгалтерии 1-382 Записи регистра бухгалтерии 1 -383 Глава 8. Периодические расчеты 1-384 Основные понятия 1-384 Планы видов расчета .". 1-386 Категория свойств «Расчет» 1-387 Предопределенные виды расчета 1-387 Регистры расчета 1-390 Общая информация о регистрах расчета 1-390 Редактирование регистра рвсчета 1 -391 Глава 9. Бизнес-процессы и задачи 1-393 Основные понятия „ 1-393 Общая часть 1-394 Маршрутизация 1-395 Система адресации 1-395 Старт бизнес-процесса 1-398 Выполнение задач 1-399 Разделение и слияние 1-400 Ручное управление 1-400 Условный переход 1-402 Выбор варианта .- 1-402 Формирование задач 1-403 Интерактивная активация бизнес-процесса 1 -405 Интерактивная активация задачи 1-406 Интерактивное выполнение задач 1-407 Проверка выполнения 1-408 Выполнение вложенных процессов 1 -409 Завершение бизнес-процесса 1-410 Предопределенные поля бизнес-процессов и задач 1-411 Бизнес-процессы с несколькими точками старта 1-411 Обратная связь 1-412 Редактирование бизнес-процесса 1-413 Карта маршрута 1-415 Редактирование задачи 1-415 Глава 10. Построитель отчета 1-417 Схема работы отчета 1-417 Язык запросов построителя отчета 1-418
2-438 1 С:Предприятие 8.1. Конфигурирование и администрирование Автоматическое заполнение построителя 1-421 Построение запроса 1-422 Макет построителя отчета 1-422 Макет оформления построителя отчета 1-425 Взаимодействие с пользователем 1-427 Вывод отчета 1-428 Дополнительные возможности 1-430 Часть 2 Глава 11. Система компоновки данных 2-443 Построитель отчета и система компоновки данных 2-443 Общие саедения о компоновке данных 2-444 Общие объекты системы компоновки данных 2-448 Свойство «Использование» 2-448 Поле системы компоновки данных 2-448 Параметры системы компоновки данных 2-448 Схема компоновки данных '. 2-448 Составные части схемы компоновки данных 2-449 Работа с несколькими наборами данных 2-457 Расширение языка запросов для системы компоновки данных 2-463 Конструктор схемы компоновки данных 2-465 Настройки компоновки данных 2-474 Макет компоновки данных 2-481 Процессор компоновки данных 2-511 Результат компоновки данных 2-512 Вывод результата компоновки в табличный документ 2-514 Вывод результата компоновки в таблицу и дерево значений 2-515 Расчет итогов по полям остатка в системе компоновки данных .72-517 Расчет итогов по полям остатка 2-517 Расчет итогов по полям бухгалтерских остатков 2-518 Компоновка макета 2-519 Работа с иерархией в системе компоновки данных 2-519 Иерархические группировки 2-519 Иерархические детальные записи 2-521 Вывод одного элемента в нескольких родительских записях 2-522 Условие В ИЕРАРХИИ 2-524 Использование системы компоновки данных при разработке прикладных решений 2-524 Глава 12. Анализ данных и прогнозирование 2-527 Основные объекты механизма 2-527 Типы анализа 2-529 Глава 13. Механизмы обмена данными 2-530 Цели и задачи 2-530 Универсальные механизмы обмена данными 2-530 Распределенные информационные базы 2-531 Универсальные механизмы обмена данными 2-531 Средства чтения и записи документов XML 2-531 XML-сериализация 2-532 Планы обмена 2-544 Распределенные информационные базы 2-558 Общие принципы 2-558 Планы обмена 2-559 Работа с распределенной информационной базой 2-566 Сценарии обмена данными в распределенной информационной базе 2-572 Глава 14. Механизм XDTO 2-577 Фабрика XDTO 2-578 Получение фабрики XDTO из файла-схемы XSD 2-580
Оглавление 2-439 Типы данных XDTO 2-581 Тип значения XDTO 2-582 Тип объекта XDTO 2-584 Свойство XDTO 2-586 Экземпляры данных XDTO 2-587 Значение XDTO 2-587 Объект XDTO ." 2-589 Последовательность XDTO 2-591 Список XDTO 2-592 XPath 2-593 XML-сериализация на основе XDTO 2-596 Рекомендации по оформлению схем XML 2-597 Схема XML не должна содержать анонимных типов 2-597 Для контента сложных типов следует использовать только модель sequence 2-598 Свойства объектов должны представляться в XML только как элементы 2-598 Не следует использовать модель mixed content 2-599 Правила проверки фабрики XDTO 2-599 Правила проверки пакета XDTO 2-600 Правила проверки типа значения XDTO 2-601 Правила ограничения фасетов 2-604 Правила проверки типа объекта XDTO 2-607 Глава 15. Механизм Web-сервисов 2-612 Предоставление функциональности через Web-сервисы 2-613 Пример реализации Web-сервиса 2-614 Работа с веб-сервисами сторонних поставщиков VJ, 2-617 Пример использования статической WS-ссылки 2-617 Пример использования динамической WS-ссылки 2-619 Настройка поддержки Web-сервисов 2-619 Настройка поддержки Web-сервисов для IIS 5.1 2-619 Настройка поддержки Web-сервисов для IIS 6.0 2-620 Настррйка поддержки Web-сервисов для Apache 2.0 под Windows 2-620 Настройка поддержки Web-сервисов для Apache 2.2 под Windows 2-621 Настройка поддержки Web-сераисов для Apache 2.0 под Linux. 2-621 Настройка поддержки Web-сераисов для Apache 2.2 под Linux 2-622 Безопасность Web-сервисов 2-622 Аутентификация 2-622 Работа по защищенному каналу 2-624 Редактирование свойств Web-сервиса .-...2-624 Глава 16. Механизм заданий 2-626 Фоновые задания -. 2-627 Регламентные задания 2-628 Особенности выполнения фоноаых заданий в файловом и клиент-серверном вариантах 2-630 Создание метаданных регламентного задания 2-631 Примеры 2-634 Глава 17. Механизм полнотекстового поиска в данных 2-635 Общие сведения о полнотекстовом индексировании 2-635 Выполнение полнотекстового поиска в данных 2-637 Использование дополнительных словарей 2-642 Глава 18. Инструменты конфигурирования 2-644 Конструктор запроса 2-644 Конструктор выходной формы 2-645 Конструктор движений регистров 2-653 Конструктор печати 2-655 Конструктор ввода на основании 2-657 Конструктор форм объектов конфигурации 2-660 Особенности конструктора форм констант 2-663 [lillllllllilllll
2-440 1С Предприятие 8.1. Конфигурирование и администрирование Особенности конструктора форм для иерархических справочников 2-663 Конструктор макета 2-664 Конструктор пользовательских интерфейсов 2-666 Свойства панели 2-668 Редактор интерфейсов 2-669 Конструктор форматной строки 2-673 Конструктор строк на разных языках 2-674 Редактор форм 2-675 Редактирование формы , 2-675 Элементы управления 2-678 Модуль 2-718 Редактор текстов 2-719 Редактирование модулей „ 2-719 Редактирование текстовых макетов ..2-731 Редактирование текстов шаблонов 2-739 Редактор текста запросов 2-742 Редактор табличных документов 2-742 Что такое табличный документ в системе 1С:Предприятие 8.1 2-742 Макет 2-743 Табличный документ, размещенный в форме 2-748 Сводные таблицы 2-751 Редактор карты маршрута* 2-752 Редактирование карты маршрута 2-752 Элементы карты маршрута в карте маршрута 2-753 Модуль 2-759 Редактор картинок 2-759 Редактирование картинки 2-760 Коллекции картинок 2-764 Отладчик и замеры производительности 2-765 Использование отладчика 2-766 Точка останова 2-770 Пошаговое выполнение 2-772 Отладка внешних обработок 2-774 Управление отладкой 2-775 Окно «Выражение» 2-775 Табло 2-778 Стек вызовов 2-779 Особенности отладки защищенных модулей 2-779 Замеры производительности 2-780 Сравнение и объединение конфигураций 2-785 Условия сравнения конфигураций 2-785 Запуск режима сравнения и объединения конфигураций 2-787 Сравнение конфигураций 2-788 Окно «Сравнение и объединение конфигураций» 2-789 Редактирование объектов 2-791 Установка соответствия объектов 2-792 Режим объединения 2-793 Установка порядка подчиненных объектов 2-796 Просмотр различий 2-797 Сравнение модулей 2-798 Отбор объектов и запуск процесса объединения 2-800 Загрузка конфигурации из файла 2-802 Локализация конфигураций .-. 2-802 Механизм анализа удобства работы с решениями, созданными на основе платформы 1 СгПредприятия 8 2-807 Глава 19. Групповая разработка конфигурации 2-808 Хранилище конфигурации 2-809 Создание хранилища 2-809 Подключение к хранилищу 2-810 Администрирование хранилища конфигурации 2-813
Оглавление 2-441 Работа с хранилищем конфигурации 2-815 Сравнение хранилища с текущей конфигурацией 2-820 Сравнение объекта хранилища с объектом текущей конфигурации 2-820 Сохранение хранилища как конфигурации 2-820 Отключение от хранилища 2-820 История хранилища 2-820 История объекта 2-825 Выполнение действий с хранилищем без подключения 2-826 Удаленная работа с хранилищем конфигурации 2-826 Назначение 2-826 Обзор архитектуры 2-827 Установка 2-830 Запуск 2-832 Подключение клиента к серверу хранилища конфигурации 2-833 Создание хранилища конфигурации 2-834 Подключение к существующему хранилищу конфигурации 2-834 Особенности удаленной работы с хранилищем конфигурации 2-834 Рекомендации по использованию хранилища 2-834 Глава 20. Поставка и поддержка конфигурации 2-836 Поставка конфигурации 2-837 Настройка поставки 2-837 Создание файлов поставки 2-838 Подготовка комплекта поставки тиражных конфигураций 2-840 Поддержка конфигурации 2-847 Постановка конфигурации на поддержку 2-847 Настройка поддержки .". 2-848 Обновление конфигурации 2-852 Файл описания каталога шаблонов 2-856 Глава 21. Администрирование 2-858 Ведение списка пользователей 2-859 Добавление нового пользователя 2-860 Копирование пользователя 2-861 Установка пароля 2-862 Удаление пользователя 2-862 Редактирование свойств пользователя 2-862 Установка отбора 2-863 Список активных пользователей 2-863 Блокировка установки соединений пользователями 2-864 Региональные установки информационной базы 2-864 Параметры информационной базы 2-867 Выгрузка информационной базы данных в файл 2-868 Загрузка информационной базы данных из файла 2-869 Создание резервной копии информационной базы 2-869 Преобразование информационной базы для использования в клиент-серверном варианте 2-870 Тестирование и исправление информационной базы 2-870 Выполнение централизованной проверки конфигурации 2-872 Журнал регистрации 2-874 Настройка журнала регистрации 2-874 Сохранение журнала регистрации .-. 2-876 Технологический журнал .". 2-878 Конфигурационный файл технологического журнала 2-879 Структура конфигурационного файла 2-880 Вывод контекстов исключений 2-892 Вывод информации о взаимных блокировках 2-893 Структура технологического журнала 2-894 Глава 22. Сервисные возможности 2-896 Управление окнами 2-896
2-442 1 (^Предприятие 8.1. Конфигурирование и администрирование Состояние (режим размещения) окна 2-896 Диалог настройки окон 2-899 Использование режима «Новое окно» 2-900 Служебные окна 2-901 Закрытие окон 2-901 История переходов между окнами 2-901 Настройка параметров конфигуратора 2-902 Установка параметров текстового редактора 2-902 Установка параметров текста модуля 2-903 Установка параметров редактирования формы...". 2-906 Запуск системы 2-908 Настройка режима показа справочной информации 2-909 Калькулятор 2-909 Календарь 2-909 Шаблоны текста 2-909 Ведение списка шаблонов 2-909 Редактирование шаблона 2-910 Синтакс-Помощник 2-915 Закладка «Содержание» Синтакс-Помощника 2-915 Копирование элементов встроенного языка 2-916 Поиск в Синтаке-Помощнике 2-917 Панели инструментов 2-921 Сравнение файлов 2-921 Сравнение внешних обработок 2-922 Встроенная система получения справочной информации 2-922 Окно справочной информации 2-923 Приложение А. Утилита восстановления файлового варианта базы данных 2-924 Приложение Б. Основные понятия XBase 2-925 Поля и записи 2-925 Таблица, структура таблицы, файл базы данных 2-925 Индексы, выражения индекса и фильтра, индексный файл 2-926 Запись изменений в базу данных 2-926 Работа с индексными файлами 2-926 Удаление записей 2-927 Создание базы данных, индекса, индексного файла 2-927 Ограничения 2-927 Приложение В. Формат файла настройки прокси по умолчанию inetcfg.xml ...2-928 protocols 2-928 user 2-929 password 2-929 bypassOnLocal 2-929 bypassOnAddresses 2-930 Ntlm 2-930 Приложение Г. Формат файла настройки пула соединений wsconnectionpool.xml 2-931 poolTimeout 2-931 maxConnections 2-931 maxConnectionsLifetime 2-931 Приложение Д. Используемые компоненты 2-932 Приложение Е. Лицензии 2-934 ICU License - ICU 1.8.1 and later 2-934 Apache License 2-935
Глава 11 Система компоновки данных Система компоновки данных предназначена для создания отчетов 1С:Предприятия 8.1 на основе их декларативного описания. ние декларативного описания отчетов позволяет реализовать следующие возможности: • создание отчета без программирования; • использование автоматически генерируемых форм просмотра и ройки отчета; ___ • разбиение исполнения отчета на этапы; • исполнение отдельных этапов построения отчета на различных компьютерах; • независимое использование отдельных частей системы компоновки данных; • программное влияние на процесс выполнения отчета; • настройки структуры отчета; • совмещение в отчете нескольких таблиц; • создание вложенных отчетов и др. Построитель отчета и система компоновки данных И построитель отчета, и система компоновки данных являются средствами для создания отчетов в системе 1С:Предприятие 8.1. Однако они обладают но разными возможностями, на которых следует остановиться отдельно. Задачей построителя отчета является динамическое создание запроса для получения данных на основании настроек, которые указал пользователь. Кроме этого построитель отчета выполняет динамическое формирование макета для вывода отчета и непосредственно вывод отчета в табличный документ или диаграмму. Исходя из перечисленного, можно рассматривать построитель отчета как средство для исполнения отчетов. Несмотря на богатые возможности, jiiiiM^ 'ЦП"
2-444 1С:Предприятие 8.1. Конфигурирование и администрирование которые предоставляет построитель отчета, он позволяет создать далеко не все возможные отчеты, которые могут понадобиться в бизнес-приложении. Основной особенностью построителя отчета является отсутствие ного описания отчета. Отчет описывается запросом, который не позволяет управлять всеми возможностями отчета. Например, нельзя указать ление для поля, применимость ресурса для измерений, роль поля и т. д. В отличие от построителя отчета, в механизме компоновки данных отчет описывается целостно, в схеме компоновки данных. Другая особенность построителя отчета заключается в невозможности работы с несколькими наборами данных в одном отчете, в то время как система компоновки данных позволяет использовать произвольное тво источников данных. Также следует заметить, что построитель отчета рассчитан на вывод в отчет лишь одной таблицы, тогда как с использованием механизма ки данных, за счет более гибкой структуры настроек, в отчет может быть выведено несколько таблиц, диаграмм и вложенных отчетов. Настройки компоновки данных Схема компоновки данных Общие сведения о компоновке данных Система компоновки данных представляет собой совокупность элементов, каждый из которых соответствует определенному этапу выполнения отчета. Таким образом, весь процесс выполнения отчета в системе компоновки данных сводится к, последовательному переходу от одного элемента к другому, доходя в итоге до готового отчета. Каждый элемент системы компоновки данных имеет твенное декларативное описание, возможность программного до- ступаивозможностьсериализации в/из XML. Такой подход ет гибко управлять различными этапами выполнения отчета. Основные элементы системы компоновки данных ны на следующей схеме. Рвзу * Макет компоновки данных ¦ г льтат компоновки дан Элемент результата компоновки данных ... Элемент результата компоновки данных «ых Табличный документ Други формы представления данных ~ ~аШ HHiHHiniiiniiiiHimiiiii тптптптптпт
Глава 11. Система компоновки данных 2-445 • Схема компоновки данных — описывает суть данных, которые ставляются отчету (откуда получать данные и как можно управлять компоновкой данных). Представляет собой базу, на основе которой могут быть сформированы всевозможные отчеты. Может содержать: • текст запроса с инструкциями системы компоновки данных; • описание нескольких наборов данных; • описание доступных полей; • описание связей между несколькими наборами данных; • описание параметров получения данных; • описание макетов полей и группировок и др. • Настройки компоновки данных - описывают все, что может ить разработчик или пользователь в некоторой установленной схеме компоновки данных. Могут содержать: • отбор; • упорядочивание; • условное оформление; • структуру отчета (составные части будущего отчета); • параметры получения данных; • параметры вывода данных и др. • Макет-компоновки данных — представляет собой уже готовое описание того, как должен быть сформирован отчет. В нем соединяется схема компоновки и настройки компоновки. Фактически представляет собой результат применения, конкретных настроек к схеме компоновки и является готовым заданием процессору компоновки на формирование отчета нужной структуры с учетом ных настроек. • Элемент результата компоновки данных - результат компоновки данных ляется набором элементов результата компоновки данных. Как "самостоятельная логическая сущность результат компоновки данных не существует, существуют только его элементы. Элементы результата новки данных можно вывести в табличный документ для представления их конечному пользователю или в другие виды документов. I Ipouccc компоновки данных состоит из нескольких пниов, которые представлены на следующей схеме. Создание схемы компоновки данных Редактирование настроек компоновки данных Подготовка к исполнению Исполнение компоновки данных Вывод результата компоновки данных
2-446 1С:Предприятие 8.1. Конфигурирование и администрирование Создание схемы компоновки данных данных может быть выполнено: создание схемы компоновки • визуально, при помощи конструктора схемы компоновки данных; • визуально, при помощи любого редактора, позволяющего ровать текст XML; • программно, при помощи объектов встроенного языка системы 1С:Предприятие 8. • Редактирование настроек компоновки данных - для редактирования настроек компоновки в системе предусмотрен ряд объектов ного языка и расширений табличного поля. • Подготовка к исполнению — процесс формирования макета ки данных. В данном процессе формируются запросы, необходимые для получения данных, указанных в настройках, формируются макеты областей отчета. • Исполнение компоновки данных — это процесс получения, агрегации, оформления данных. • Вывод результата компоновки данных — полученный результат компоновки может быть выведен в документ, который будет показан пользователю. Отчет может быть выведен в различных форматах. Следующая схема в обобщенном виде представляет объекты системы новки данных, используемые на различных этапах создания отчета. • Конструктор схемы компоновки данных - может быть зован для создания схемы компоновки Создание схемы компоновки данвых _t -Jk. * Конструктор схемы компоновки данных Редактирование настроек системы компоновки данных -. ;aiu_ данных. Компоновщик строек ки данных — может быть использован для редактирования настроек системы компоновки данных. Компоновщик та компоновки ных — используется для подготовки к исполнению. Компоновщик настроек компоновки данных Настройки системы У, компоновки данных «? Подготовка к исполнение Ко поновщн макета компоновки данных Макет компоновки данных И Исполнение компоновки данных Процессор компоновки данных LJ Результат компоновки данных [jj лЖ»«гмвЛ »лв«*.аг;1Л».ажм1(*'Л5йЛ2вв» 1 I Процессор вывода результата компоновки данных в табличный документ rm штпштттшгтшп
Глава 11. Система компоновки данных 2-447 • Процессор компоновки данных - осуществляет исполнение новки данных. • Процессор вывода результата компоновки данных в табличный документ—выводит элементы результата компоновки данных в ный документ. Отличительной особенностью отчета, получаемого с помощью системы компоновки данных, является то, что он может иметь сложную структуру, включающую в себя различное сочетание следующих элементов: • группировка; • таблица; • диаграмма; • вложенный отчет. Таким образом, отчет, полученный с помощью системы компоновки данных, представляет собой не таблицу, а сложную иерархическую структуру, в которой участвуют перечисленные элементы. В^Отчет I НЭП Дурачив 0 Точки | - {3]ия Контрагент В Серии -Q*n Ноиенкмчуоа.Наменкмтуонад группа 6@«1 Ноиенкпатура.Ноненклатурная группа " &®ИЭ 1«бпица |0 Строки • {v)«a Ноиенглатура G. Колонки J31 Контрагент тзг ЦКондиционеры ^Обувьжвиская 01 Обувь мужская [7]тапееп?оры ЩХолодильники _ Э лектросоксеыжи Электрочайник ¦zm &ш заа яви -3№ -sow.. Ноумясптур» Ноывнкмтуриая группа Вентилятор JPONC(Teus )„еентил И>а{антарь Выручи SSSBSL- Выручка оборот "ймвнклатурвИомеиклотуриая ipymo Кокдицноиеры Выручка оборот 20S Ноыеныштра Ноиамиитурная группа |Иимж»Ц>~ KonHHwoHepHRMSTAR12M, Кондиционеры (Выручка НсллеикмтуваНс^юлатурная группа Ooytb женская Выручка oSopcr -528.29 Нсманкмт HowfcMarJfpnttrpyma" f j3tkw>Hl Женские ботфорты noptrw вые :женс*ав Жеисз^с;юо1ис искусственным мехом ОС ь женская Выручка Выручка оборот
2-448 1 С.'Предприятие 8.1. Конфигурирование и администрирование На данном рисунке приведен пример отчета, содержащего на первом уровне иерархии диаграмму и группировку по номенклатурным группам. А внутри группировки по номенклатурным группам расположена таблица, щая обороты номенклатуры, принадлежащей указанной номенклатурной группе. Общие объекты системы компоновки данных Свойство «Использование» Многие объекты, в основном подсистемы настроек компоновки данных, имеют свойство булевого типа Использование. Это свойство позволяет чать часть функциональности без ее физического удаления. Значение этого свойства по умолчанию - Истина, кроме отдельно описанных случаев. Поле системы компоновки данных Это объект, представляющий путь к данным поля. Поле реализовано в виде отдельного типа с целью устранить неоднозначность в свойствах некоторых объектов, которые могут принимать значения как строк, так и полей. Имеет конструктор с параметром Строка; свойств и методов не имеет. Параметры системы компоновки данных Механизм параметров был реализован для единообразного использования и редактирования коллекций некоторых значений, состав и тип элементов которых определен заранее и не может быть изменен. Механизм параметров состоит из двух частей: • доступные параметры - определяют состав коллекции и допустимые типы ее элементов. Параметр является аналогом поля системы новки данных; • значения параметров. Схема компоновки данных Схема компоновки данных представляется объектом встроенного языка системы 1С:Предприятие 8 СхемаКомпоновкиДанных и состоит из множества других вложенных объектов. Схема компоновки данных имеет ние в виде XML; таким образом, может быть создана любыми средствами, позволяющими генерировать XML, равно как и использована любыми средствами, которые могут читать XML.
Глава 11. Система компоновки данных 2-449 Схема компоновки данных используется для предоставления информации о доступных настройках, а также при формировании макета компоновки данных (см. стр. 2-481), т. е. при исполнении компоновки данных. Для визуального редактирования схемы компоновки данных предназначен конструктор схемы компоновки данных (см. стр. 2-465). Загрузку схемы компоновки данных из XML можно осуществить ными средствами встроенного языка. Пример 1 ЧтениеХМЬ = Новый ЧтениеХМЬ; • ЧтениеХМЬ.УстановитьСтроку(ЭлементыФормы.ТекстСхемыКомпоновкиДанныхi. ПолучитьТекст()) i| ! СКД = СериализаторХОТО.ПрочитатьХМЬ(ЧтениеХМЬ, Тип( "СхемаКомлоновкиДанны;-.")); Все выражения, описываемые в схеме компоновки данных, записываются на языке выражений системы компоновки данных (см. стр. 2-484). Составные части схемы компоновки данных Каждая схема компоновки данных содержит множество объектов, ющих ту или иную часть. Рассмотрим эти составные части. Схема компоновки данных Наборы данных - Источники данных - ' Связи наборов данных Вложенные схемы Макеты полей Макеты заголовков груп лировок Поля итога Вычисляемые поля Параметры Макеты Макеты группировок Источники данных Схема компоновки данных может содержать несколько источников данных. Под источником данных подразумевается источник, из которого будут получаться данные. В качестве источника данных выступает ная база системы 1С:Предприятие 8.
2-450 1 С:Предприятие 8.1. Конфигурирование и администрирование Источники данных описываются в свойстве ИсточникиДанных схемы, которое содержит коллекцию значений, состоящую из элементов ИсточникДанныхСхемыКомпоновкиДанных. Пример описания источника данных с именем Main: <dataSource> <name>Main</name> <dataSourceType>Local</dataSourceType> </dataSource> Наборы данных Наборы данных в схеме компоновки данных содержат информацию о том, какие поля можно получать из данного набора, какие поля набора данных можно использовать в отборе и т. п. В схеме компоновки данных допускается наличие нескольких наборов данных (см. стр. 2-457). Наборы данных описываются в свойстве НаборыДанных схемы. тво содержит коллекцию значений, в которую могут входить следующие элементы: • запрос (НаборДанныхЗапросСхемыКомпоновкиДаных) - получение данных описывается при помощи языка запросов; • объект (НаборДанныхОбъектСхемыКомпоновкиДаных) - описывается имя внешнего набора данных, из которого будут получаться данные; • объединение (НаборДанныхОбъединениеСхемыКомпоновкиДанных) - описываются наборы данных - составные части объединения. Все три набора данных содержат ряд общих свойств: • Имя - имя набора данных, под которым к этому набору данных можно будет обращаться из других объектов схемы компоновки данных. В рамках одной схемы компоновки данных имена наборов данных должны быть уникальными; • Поля - описания полей, доступных для набора данных (см. стр. 2-453). Кроме этого наборы данных — запрос и объект содержат свойство ИсточникДанных — имя источника данных, из которого будут получаться данные. Оно должно содержать имя одного источника данных, присутствующего в схеме компоновки данных (см. стр. 2-463). Набор данных - запрос содержит свойство Запрос - текст запроса, при помощи которого будут получаться данные из источника данных. Текст запроса записывается в терминах источника данных. Так, для типа ника данных Local текст запроса будет записан в терминах языка запросов
Глава 11. Система компоновки данных 2-451 системы 1С:Предприятие 8, с применением специального расширения - расширения языка запросов для системы компоновки данных (см. стр. 2-463). Набор данных - объединение содержит свойство Элементы, содержащее перечень наборов данных, входящих в объединение (см. стр. 2-482). Набор данных - запрос Пример набора данных - запрос: <dataSet xsi:type="DataSetQuery"> <dataSource>McT04tMKflaHHbixl</dataSource> * <query> ВЫБРАТЬ ПродажиОбороты.Контрагент, ПродажиОбороты. Номенклатура, ¦¦¦•¦•¦ ПродажиОбороты.КоличествоОборот, ПродажиОбороты.СуммаОборот ИЗ РегистрНакопления.Продажи.Обороты КАК ПродажиОбороты</query> </dataSet> В приведенном примере отсутствует описание полей. " Набор данных - объект Пример набора данных - объект: <dataSet xsi:type="DataSetObject"> <пате>НаборДанных1</пате> <field xsi:type="DataSetFieldField"> <dataPath>HoMeHKnaTypa</dataPath> < f i e1d>HoMeHKnaTypa</fie1d> - <title xsi:type="v8:LocalStringType"> <v8:item> <v8:lang>ru</v8:lang> <v8:content>HoMeHKnaTypa</v8:content> </v8:item> </title> <valueType> <v8:Type xmlns:d5pl="http://v8.lc.ru/8.1/ data/enterprise/current-config">d5pl:CatalogRef.HoMeHKnaTypa</v8:Type> </valueType> . </field> <field xsi:type="DataSetFieldField"> <dataPath>CyMMa</dataPath> <field>CyMMa</field> <title xsi:type="v8:LocalStringType"> <v8:item> <v8:lang>ru</v8:lang> <v8:content>CyMMa</v8:content> </v8:item> </title>
2-452 1С:Предприятие 8.1. Конфигурирование и администрирование <valueType> <v8: Type>xsd:decimal</v8:Type> <v8:NumberQualifiers> <v8:Digits>10</v8:Digits> <v8:FractionDigits>2</v8: FractionDigits> <v8:AllowedSign>Any</v8:AllowedSign> </v8 :NumberQualifiers> </valueType> </field> <dataSource>McT04HHKHaHHHxl</dataSource> <objectName>CyMMaHoMeHKnaTypH</objectName> . </dataSet> Как видно из примера, наборы данных - объект содержат только описания полей и имя объекта, из которого получаются данные. Набор данных - объединение Набор данных - объединение содержит свойство Элементы, описывающее наборы данных, которые необходимо объединить. Пример набора данных - объединение: ' <dataSet xsi:type="DataSetUnion"> <пате>Документы</пате> - ') <field xsi:type="DataSetFieldField"> <dataPath>CcsraKa</dataPath> <field>CctoiKa</f ield> </field> <field xsi:type="DataSetFieldField"> <dataPath>CyMMaflOK</dataPath> <field>CyMMafloK</field> </field> <field xsi:type="DataSetFieldField"> <dataPath>CyMMaIIpMx< /dataPath> <field> CyMManpnxoH</field> </field> <field xsi:type="DataSetFieldField"> <dataPatli>CyMMaPacx</dataPath> <field> CyMMaPacxofl</field> </?ield> <item xsi:type="DataSetQuery"> <пате>РасходныеНакладные</name> <field xsi:type="DataSetFieldField"> <dataPath>Cci?ntKa</dataPath> <f ield>CcbniKa</field> </field> <field xsi:type="DataSetFieldField"> <dataPath>CyMMaIIpMxofl</dataPath> <field>CyMMafloK</field> </field> <dataSource>HcT04HMKflaHHHxl</dataSource> <query> ВЫБРАТЬ РасходнаяНакладная.ссылка, РасходнаяНакладная.Номер, РасходнаяНакладная.Дата, РасходнаяНакладная.СуммаДок
Глава 11. Система компоновки данных 2-453 ИЗ '{ Документ.РасходнаяНакладная КАК РасходнаяНакладная</диегу> </item> <item xsi:type="DataSetQuery"> <пате>ПриходныеНакладные</пате> , , <field xsi:type="DataSetFieldField"> <dataPath>CcbmKa</dataPath> <field>CctJHKa</field> </field> <field xsi:type="DataSetFieldField"> <dat aPaъЬ>СуммаРасход</dataPath> <field>CyMMafloK</field> </field> <dataSource>McT04HMKflaHHbixl</dataSovirce>,, ,,. <query> ВЫБРАТЬ ПриходнаяНакладная. Ссылка, ПриходнаяНакладная.Номер, ПриходнаяНакладная.Дата, ПриходнаяНакладная.СуммаДок > ИЗ Документ.ПриходнаяНакладная КАК ПриходнаяНакладная</ф1егу> </item> </dataSet> Заметим, что значения полей набора данных - объединение будут получаться из полей вложенных наборов данных по их пути к данным. Так, в приведенном примере у внешнего набора данных будет поле СуммаРасх; данные для него будут получаться из вложенных наборов данных, у которых путь к данным - СуммаРасход. Поле набора данных схемы компоновки данных Набор данных может содержать описания полей, которые будут доступны для этого набора данных. Поля набора данных описываются в свойстве Поля наборов данных, которое содержит коллекцию значений, состоящую из элементов ПолеНабораДан- С емыКо понов иДанных. Пример описания поля набора данных с именем Контрагент: <field> <dataPath>KoHTpareHT</dataPath> < f i e 1 d>KoHTpareHT< 'I f i e ld> <role> <dscom:dimension>true<7 dscom:dimension> </role> </field> Это поле имеет путь к данным Контрагент и является полем измерения.
2-454 1С:Предприятие 8.1. Конфигурирование и администрирование Связи наборов данных Наборы данных, присутствующие в схеме компоновки данных, могут быть связаны друг с другом. Связи наборов данных описываются в свойстве СвязиНаборовДанных схемы компоновки данных, которое содержит коллекцию значений, состоящую из элементов СвязьНаборовДанныхСхемыКомпоновкиДанных. Ниже приведен пример описания двух связей наборов данных. В первом случае связываются наборы данных Продажи и НоменклатураИерархия по полям Номенклатура. При этом связь устанавливается по списку, содержащему набор ссылок. Во втором случае набор данных НоменклатураИерархия связьшается сам с собой по полям Родитель и Номенклатура. Связь также устанавливается по списку, содержащему набор ссылок. <dataSetLink> <sourceDataSet>npofla3KM</sourceDataSet> «JestinationDataSet>HoMeKKnaTypaHepapxHH</destinationDataSet> <sourceExpression>HOMeHKnaTypa</sourceExpression> «Jest inat ionExpress1оп>Номекклатура</destinat i onExpress ion> <parameter>CcbinKJt< /parameter> <parameterListAllowed>true</parameterListAllowed> </dataSetbink> <dataSetiiink> <sourceDataSet>HoMeHMaTypaMepapxj«i</sourceDataSet> <destinationDataSet>HoMeHKnaTypaMepapKHH</destinationDataSet> <sourceExpression>PoflKTenb</sourceExpression> <destinationExpression>HoMeHKnaTypa</destinationExpression> <parameter>CcbPiKn</parameter> <parameterListAllowed>true</parameterListAllowed> </dataSetLink> Вычисляемые поля В схеме компоновки данных существует возможность описать поля, которые будут вычисляться по некоторым выражениям с использованием полей наборов данных. Данные поля могут быть использованы в настройках точно так же, как поля набора данных. Вычисляемые поля описываются в свойстве ВычисляемыеПоляСхемыКом- поновкиДанных схемы компоновки данных, которое содержит коллекцию значений, состоящую из элементов ВычисляемоеПолеСхемыКомпоновкиДан- ных. 'iiifflffliimfflimnmiimimmmmiii ж
Глава 11. Система компоновки данных 2-455 Поля ресурсов В схеме компоновки данных возможно описание полей ресурсов, значения которых будут вычисляться для групповых записей. Осуществляется это при помощи описания поля итога. Поля итога описываются в свойстве ПоляИтога схемы компоновки ' данных, которое содержит коллекцию значений, состоящую из элементов ПолеИтогаСхемыКомпоновкиДанных. При расчете ресурсов каждая запись набора данных, для которого рассчитывается ресурс, участвует в расчете ресурса только один раз. Ниже приведен пример описания поля итога, имеющего путь к данным КоличествоОборот. Выражение для расчета итога определено для этого поля как Сумма(КоличествоОборот). <fieldTotal> «3ataPath>KoOTi4ecTBo06opoT</dataPath> <expression>CyMMa(КоличествоОборот)</ ession> </fieldTotal> Параметры Схема компоновки данных содержит описание параметров данных. 11араметры данных описываются в свойстве Параметры схемы компоновки динных, которое содержит коллекцию значений, состоящую из элементов П раметрСхемыКомпоновкиДанных. Ниже приведен пример описания параметра с именем КонецПерио- Дв, имеющего значение 00:00:00 31.12.2006 типа Дата. Значение данного параметра может быть изменено пользователем. «parameter> <пате>КонецПериода</name> <title>KoHeq nepMOfla</title> <valueType> <Type xmlns="http://v8.1c.m/8 Л/data/core''>xsd:dateTiroe</Type> <DateQualifiers xmlns="http://v8.1c.ru/8.1/data/core"> <DateFractions>DateTime</DateFractions> </DateQualifiers> ¦ -/valueType> • value xsi:type="xsd:dateTime">2006-12-31T00:00:00</value> -restrictUse>false</restrictUse> /pnrameter> |!|Ш!НШ|ПШШШП1ТТ,П tTITTImil III
2-456 1С Предприятие 8.1. Конфигурирование и администрирование Вложенные схемы Схема компоновки данных может содержать описания вложенных схем компоновки данных. Вложенные схемы компоновки данных описываются в свойстве Вложен- ныеСхемыКомпоновкиДанных схемы компоновки данных, которое содержит коллекцию значений, состоящую из элементов ВложеннаяСхемаКомпонов- киДанных. Пример описания вложенной схемы компоновки данных с именем ОстаткиИОбороты: ' <dcssch:nestedScheme> t г 1 <dc ssch:пате>ОстаткийОбороты</dcssch:паяе> <dcssch:title>OcTaTKM и обороты</dcssch:title> <dcssch:scheme> Далее идет описание схемы i </dcssch:scheme> | </dcsschmestedScheme> Макеты В схеме компоновки данных можно описать макеты, которые будут ваться для вьшода поля или группировки. При указании макета для поля или группировки указывается имя макета, описанного в данном свойстве. Макеты описываются в свойстве Макеты схемы компоновки данных. Свойство содержит коллекцию значений, состоящую из элементов Описа- ниеМакетаСхемыКомпоновкиДанных. Макеты полей Для каждого поля в схеме компоновки данных может быть указано имя макета, используемого для вывода данного поля в результат компоновки. Набор данных Схема компоновки данных Поле набора данных Поле набора 1 данных Попе Поле Макет ПОПЯ Макет ПО пя Маквг Макет Макет 1 9 птшттттштиттпттттпттп i
Глава 11. Система компоновки данных 2-457 Связь поля с макетом описывается с помощью объекта МакетПоляСхе- мыКомпоновкиДанных. Коллекция этих объектов содержится в свойстве МакетыПолей объекта СхемаКомпоновкиДанных. Макеты группировок Для каждой группировки в схеме компоновки данных можно указать имя макета, который будет использоваться при выводе данной группировки. Связь группировки с макетом описывается с помощью объекта МакетГруп- пировкиСхемыКомпоновкиДанных. Коллекция этих объектов содержится в свойстве МакетыГруппировок объекта СхемаКомпоновкиДанных. Макеты заголовков группировок Для каждой группировки могут описываться также макеты заголовков группировок. Связь заголовка группировки с макетом описьшается с помощью объекта МакетГруппировкиСхемыКомпоновкиДанных (см. предыдущий раздел). ция этих объектов содержится в свойстве МакетыЗаголовковГруппировок объекта СхемаКомпоновкиДанных. Настройки по умолчанию Схема компоновки данных содержит настройки компоновки данных по умолчанию, которые могут быть заданы разработчиком. Данные настройки пудут применяться при открытии отчета, а также могут быть использованы для программной установки настроек по умолчанию. Подробнее о настрой- кпх компоновки данных см. стр. 2-474. Работа с несколькими наборами данных ('истема компоновки данных позволяет использовать в одной компоновке несколько наборов данных. Для того чтобы в одной компоновке использовать несколько наборов данных, необходимо внести в схему описания наборов данных, которые вши использовать, и указать связи между наборами данных. (•посмотрим следующий пример. Чипишем три набора данных: 11|)ВйсЛист, Остатки и Продажи. Схема компоновки данных Наборы данных ПрайсЛиот Остатки Продажи
2-458 1 С:Предприятие 8.1. Конфигурирование и администрирование Набор данных ПрайсЛист имеет следующий вид: ' <dataSet> <name >ПрайсЛист</name> <dataSource>McT04HMKBaHHbixl</dataSource> <query>BbffiPATb Номенклатура.Ссылка КАК Номенклатура, Номенклатура.Код, Номенклатура.Наименование, Номенклатура.ЗакупочнаяЦена, Номенклатура. Представление {ВЫБРАТЬ Номенклатура.*, Код, Наименование, ЗакупочнаяЦена} ИЗ ГДЕ {ГДЕ Справочник.Номенклатура КАК Номенклатура Номенклатура.ЭтоГруппа = ЛОЖЬ Номенклатура.Ссылка.* КАК Номенклатура, Номенклатура.Код, Номенклатура.Наименование, Номенклатура.ЗакупочнаяЦена} {УПОРЯДОЧИТЬ ПО Номенклатура.*, Код, Наименование, 3 акупочнаяЦена} {ИТОГИ ПО Номенклатура.*}</query </dataSet> Набор данных Остатки имеет следующий вид: <dataSet> <пате>Остатки</name> <dataSource>HcT04HMKflaHHHxi</dataSource> <query>BHBPATb УчетНоменклатурыОстатки.Номенклатура, УчетНоменклатурыОстатки.Склад, ПРЕДСТАВЛЕНИЕ(УчетНоменклатурыОстатки.Склад), УчетНоменклатурыОстатки.КоличествоОстаток {ВЫБРАТЬ Номенклатура.*, Склад.*, КоличествоОстаток} ИЗ РегистрНакопления.УчетНоменклатуры.Остатки(, Номенклатура В (&атр;Номенклатура) {Склад}) КАК УчетНоменклатурыОстатки 11111ПШ11ШП]] [ПТП II
Глава 11. Система компоновки данных 2-459 {ГДЕ УчетНоменклатурыОстатки.Склад.*, УчетНоменклатурыОстатки.КоличествоОстаток} | {УПОРЯДОЧИТЬ ПО Склад.*, КоличествоОстаток} {ИТОГИ ПО Склад.*}</guery> <field> <dataPath>KonH4ecTBoOcTaTOK</dataPath> <f 1е1C>КоличествоОстаток< / f ield> <title>Koni«ecTBO ocTaTOK</title> </field> <field> <dataPath>HoMeHKnaTypa</dataPath> %" '" <field>HoMeHKnaTypa</field> <title>HoMeHKnaTypa</title> <useRestriction> <field>true</field> <condition>true</condi6ion> <group>t*rue< /group> <order>true</order> </useRestriction> <attributeUseRestriction> <field>true</field> <condition>true</condition> <group>true</group> <order>true</order> </attributeUseRestriction> </field> •./dataSet> I 11пбор данных Продажи имеет следующий вид: •dataSet> <пате>Продажи</пате> tj " <dataSource>McT04HMKHaHHbixi</dataSourcS ' <диегу>ВЫБРАТЬ ПродажиОбороты.Контрагент, ПРЕДСТАВЛЕНИЕ(ПродажиОбороты.Контрагент), ПродажиОбороты.Номенклатура, ПродажиОбороты.КоличествоОборот, ПродажиОбороты.СуммаОборот {ВЫБРАТЬ Контрагент.* > Номенклатура.*, КоличествоОборот, СуммаОборот} ИЗ РегистрНакогшения.Продажи.Обороты(, , Номенклатура В (&агпр; Номенклатура) {Контрагент}) КАК Hi • ммжиОбороты {ГДЕ |М1ШИ1^^
2-460 1С:Предприятие 8.1. Конфигурирование и администрирование ПродажиОбороты.Контрагент.*, ПродажиОбороты.КоличествоОборот, ПродажиОбороты.СуммаОборот} {УПОРЯДОЧИТЬ ПО Контрагент.*, КоличествоОборот, СуммаОборот} {ИТОГИ ПО Контрагент.*}</query> <field> <dataPath>HoMerauiaTypa</dataPath> <field>HoMeHKnaTypa</field> <title>HoMeHiuiaTypa</title> <useRestriction> <field>true</field> <condition>true</condition> <group>true</group> <order>true</order> </useRestriction> <attributeUseRestriction> <field>true</field> <condition>true</condition> <group> fc rue</group> <order>true</order> </attributeUseRestriction> </field> </dataSet> Опишем связи между наборами данных. Связь от набора данных ПрайсЛист к набору данных Остатки будет выглядеть следующим образом: <dataSetLink> <sourceDataSet>npaucnMCT</sourceDataSet> <destinationDataSet>OCTaTKH</destinationDataSet> <sourceExpression>HoMeHsmaTypa</sourceExpression> <deBtinationExpression>HoMeHKnaTypa</destinationExpression>] <parameter>HoMeHKnaTypa</parameter> <parameterListAllowed>true</parameterListAllowed> \ </dataSetLink> Связь от набора данных ПрайсЛист к набору данных Продажи будет выгля деть следующим образом: <dataSetLink> <sourceDataSet>npaJ5cIUiCT</sourceDataSet> <destinationDataSet>npofla»ai</destinationDataSet> <sourceExpression>HoMeHKnaTypa</sourceExpression> <destinationExpression>HoMeHKnaTypa</destinationExpression>! <parameter>HoMeHKnaTypa</parameter> <parameterListAllowed>true</parameterListAllowed> </dataSetLink>
Глава 11. Система компоноаки данных 2-461 Дополнительно опишем поля-итоги: i <rfieldTotai> <dataPath>KcOT€4ecTBoOCTaTOK</dataPath> <expression>CyMMa(КоличествоОстаток)</expression> </fieldTotal> i <fieldTotal> <dataPath>Kojra4ecTB006opoT</dataPath? <expression>CyMMa(КояичествоОборот)</expression> </fieldTotal> <fieldTotal> <dataPath>CyMMa06opoT</dataPath> <expression>CyMMa(СуммаОборот)</expression> </fieldTotal> Если в системе компоновки данных описывается связь между двумя наборами данных, то набор данных, к которому идет связь, будет считаться зависимым. Набор данных, от которого идет связь, будет считаться ским по отношению к зависимому от него набору данных. В приведенных примерах зависимыми наборами данных будут наборы данных Остатки и Продажи. А "родительским по отношению к обоим этим наборам - Прайс- Лист. ПрайсЛиот I Остатки I • Продажи 13 схеме компоновки данных нет указания типа связи. Все связи считаются левыми внешними соединениями. Т. е. запись родительского набора данных будет использоваться в компоновке даже в том случае, если для нее не ны записи в зависимом наборе. В макете компоновки данных (см. стр. 2-481) возможно указание типа снязи. Тип связи генерируется компоновщиком макета (см. стр. 2-510) в ¦лшисимости от накладываемых глобальных отборов. Если на поле набора данных, являющегося зависимым, накладывается глобальный отбор, генерируемые связи в макете компоновки данных от этого набора данных до всех его родительских наборов (вплоть до начала иерархии наборов данных) будут иметь тип Внутренняя. Это означает, что записи родительского набора дпнных будут участвовать в компоновке только в том случае, если будут нпйдены записи в зависимых наборах данных. Набор данных "ПрайсЛист" Набор данных "Оотатки" Щ) • "Склад" Например, если пользователь наложит ный отбор на поле Склад, наборы данных ПрайсЛист и Остатки будут связаны ней связью. Если набор данных зависит от го набора и в связи указана возможность использования списка параметров, данные
2-462 1С:Предприятие 8.1. Конфигурирование и администрирование Из зависимого набора данных будут получаться порциями по 1000 записей. В случае если использование списка параметров в связи не разрешено, записи будут получаться по одной. Если и зависимый, и родительский набор данных содержит поле с ковым именем, данное поле будет получаться из родительского набора данных. В приведенных примерах поле Номенклатура всегда будет ся из набора данных ПрайсЛист. 1 Набор данных "ПрайсЛист" _ __ 1 . . Поле "Номенклатура" Набор данных "Остатки" 1 ' Набор данных "Продажи" Поле "Номенклатура" Поле "Номенклатура" Не связанные наборы данных не могут содержать поля с одинаковыми именами, если у них нет общего родителя, в котором данное поле также присутствует. Так, наборы данных Остатки и Обороты могут содержать поле Номенклатура, но не могли бы оба содержать поле Контрагент. В описании связи, в выражении источника, используются поля из набора данных источника (родительского набора); в выражении связи приемника используются поля набора данных приемника (зависимого набора данных) Так, при описании связи между наборами данных ПрайсЛист и Остатки выражение Номенклатура в свойстве ВыражениеИсточник использует поле набора данных ПрайсЛист, а выражение Номенклатура в свойстве Выраже- ниеПриемник использует поле набора данных Остатки. В одной группировке не могут быть использованы поля из не связан ных друг с другом наборов данных, при этом наборы данных, имеющие общие родительские наборы данных, связанными не считаются. Исключе ние сделано для полей-итогов, которые могут быть использованы в любой группировке. В приведенном примере мы не сможем в одной группиров ке задействовать поля Склад и Контрагент. Однако поля КоличествоОстата и СуммаОборот - сможем, т. к. они являются ресурсами. Данные зависимого набора данных не могут быть получены без получена данных родительского набора. Т. е. при получении данных из зависимог набора автоматически будут получаться и данные из родительского набор (и всех родителей родителя). В нашем примере при получении набор- данных Остатки будут получаться данные и из набора ПрайсЛист.
Глава 11. Система компоновки данных 2-463 Если в группировке используются наборы данных из нескольких наборов данных, при исполнении компоновки будет осуществляться обход по последнему зависимому набору данных. Так, если в группировке будут использоваться поля наборов ПрайсЛист и Остатки, обход будет происходить по набору Остатки. Если ни одного поля из связанного набора данных в настройках не вовано, набор данных не будет включен в макет компоновки данных. Расширение языка запросов для системы компоновки данных Расширение языка запросов для системы компоновки данных ется при помощи специальных синтаксических инструкций, заключаемых в фигурные скобки и помещаемых непосредственно в текст запроса. Синтаксические элементы расширения языка запросов системы компоновки данных ВЫБРАТЬ В этом предложении описываются поля, которые пользователь сможет выбирать для вывода. После данного ключевого слова через запятую перечисляются псевдонимы полей из основного списка выборки запроса, которые будут доступными для настройки. Например: (ВЫБРАТЬ Номенклатура, Склад) После псевдонима поля может находиться комбинация символов «.*», что обозначает возможность использования дочерних полей от данного поля. Например, запись Номенклатура.* обозначает возможность использования них полей поля Номенклатура (например, поля Номенклатура.Код). Элемент ВЫБРАТЬ может присутствовать только в первом запросе объединения. ГДЕ Описываются поля, на которые пользователь сможет накладывать отбор. 13 данном предложении используются поля таблиц. Использование псевдонимов полей списка выборки недопустимо. Каждая часть объединения может содержать собственный элемент ГДЕ. Например: (ГДЕ Номенклатура.*, Склад } (ГДЕ Документ.Дата >= ЬДатаНачаяа, Документ.Дата <= КДатаКонца}
2-464 1 С:Предприятие 8.1. Конфигурирование и администрирование Если значения параметров не заданы, то предложение ГДЕ в щий запрос не включается. ХАРАКТЕРИСТИКИ Для обеспечения работы с характеристиками в расширение языка запросов для системы компоновки данных введен синтаксис описания характеристик. Ниже приведен пример описания характеристик. ! {ХАРАКТЕРИСТИКИ ТИЩСправочник.Номенклатура) I СПИСОК (ВЫБРАТЬ ВидыДопСвойств.Ссылка, ВидыДопСвойств.Наименование, ВидыДопСвойств.ТипЗначения ; ИЗ ПяанВидовХарактеристик.ВидыДопСвойств КАК ВидыДопСвойств) ! ИДЕНТИФИКАТОР Ссылка - ИМЯ Наименование ТИПЗНАЧЕНИЯ ТипЗначения ЗНАЧЕНИЯ РегистрСведений.ДопСвойства ОБЪЕКТ Номенклатура ХАРАКТЕРИСТИКА ВидСвойства I ЗНАЧЕНИЕ Свойство В данном примере описываются характеристики для полей типа Ссылка на справочник Номенклатура. В характеристиках описываются следующие свойства: • ТИП - имя типа, для которого описываются характеристики; • СПИСОК - имя таблицы или запрос для получения списка характеристик; • ИДЕНТИФИКАТОР — имя поля, содержащего идентификатор ристики; • ИМЯ - имя поля, содержащего имя характеристики; • ТИПЗНАЧЕНИЯ - имя поля, содержащего тип значения ки. Если тип значения не указан, считается, что характеристика имеет тип Булево; • ЗНАЧЕНИЯ - имя таблицы или запрос для получения значений теристик; • ОБЪЕКТ - имя поля, содержащего идентификатор объекта (например, ссылка номенклатуры); • ХАРАКТЕРИСТИКА — имя поля, содержащего идентификатор ристики; • ЗНАЧЕНИЕ — имя поля, содержащего значение характеристики. Если! не указано, значение будет равно Истина (если такая характеристика] у объекта есть), Ложь - в противном случае.
Глава 11. Система компоновки данных 2-465 Параметры Кроме основных элементов система компоновки данных принимает ты, записанные в параметрах виртуальных таблиц. В таких случаях тип полей зависит от типа параметра, в котором располагаются элементы. Например: ВЫБРАТЬ УчетНоменклатурыОбороты.Номенклатура КАК Номенклатура, УчетНоменклатурыОбороты.Склад КАК Склад, УчетНоменклатурыОбороты. КоличествоПриход КАК КоличествоПриход^* УчетНоменклатурыОбороты.КоличествоРасход КАК КоличествоРасход ИЗ РегистрНакопления.УчетНоменклатуры.Обороты({ЬдатаНачала}, {ЬДатаКонца}, ,{Номенклатура.*, Склад.*}) КАК УчетНоменклатурыОбороты В этом примере поля ДатаНачала, ДатаКонца, Номенклатура и Склад станут доступными в отборе, т.-е. пользователь сможет применять для них фильтры. Автоматическое заполнение доступных полей При автоматическом заполнении доступных полей запроса выполняются следующие действия: • все поля списка выборки и их дочерние поля становятся доступными для выбора, упорядочивания, группировки, отбора и др.; • параметры виртуальных таблиц становятся доступными для отбора. Конструктор схемы компоновки данных Конструктор схемы компоновки данных представляет собой объект енного языка КонструкторСхемыКомпоновкиДанных, предназначенный для мизуального конструирования схемы компоновки данных. Кроме того, конструктор схемы компоновки данных используется в конфигураторе при редактировании схемы компоновки данных. ДДИМДДДДДДД1 ¦ ? ' V ¦'ИГ*" Наборы ванных j Связи наборов данных Вычисляемые поля Ресурсы Параметры Манты Вложенные схемы Настроит
2-466 1 С:Предприятие 8.1. Конфигурирование и администрирование Ниже приведен пример открытия окна конструктора схемы компоновки данных и последующей сериализации полученной схемы компоновки в XML. Процедура КоманднаяПанельРедактораОтчета (Кнопка) Конструктор = Новый КонструкторСхемыКомпоновкиДанных; Конструктор.УстановитьСхему(ПояучитьСхемуКомпоновкиДанннх()); Конструктор.Редактировать(ЭтаФорма); КонецПроцедуры Процедура ОбработкаБыбора(ЗначениеБыбора, Источник) Если ТипЗнч(Источник) = Тип("КонструкторСхемыКомпоновкиДанных") Тогда. СхемаКомдоновкиДаявых = Источник.ПолучитьСхему{); ЗаписьХМЬ = Новый ЗаписьХМЬ; ЗаписьХМЬ.УстановитьСтроку(); СериализаторХОТО.ЗаписатьХМЬ( ЗаписьХМЬ, СхемаКомлоновкиДанных, "dataCompositionScheme", "http://v8.lc.rU/8.l/data-coraposition-system/scheme"); ЭлементыФормы.ТекстСхемыКомпоновкиДанных. УстановитьТекст{ЗаписьХМЬ.Закрыть{));{ КонецЕсли; КонецПроцедуры Работа со схемой компоновки данных подразделяется на следующие этапы: • редактирование наборов данных; • редактирование полей наборов данных; • редактирование связей наборов данных; • редактирование вычисляемых полей; • редактирование ресурсов; • редактирование параметров; • редактирование макетов; • редактирование вложенных настроек; • редактирование настроек системы компоновки данных. Редактирование наборов данных Система компоновки данных поддерживает три вида набора данных: • набор данных - запрос; • набор данных - объект; • набор данных — объединение; • редактирование полей запроса.
Глава 11. Система компоновки данных 2-467 При добавлении набора данных ему автоматически генерируется имя и источник данных (если источника данных не существует). аваава r-iiiriiTiil-JM' Наборы данных [ Связи наб^юваауых , Бь*ч j ¦топя Рвсурш t Параметры : Макеты Втжилмесиемы Натаройки ibfeam.. ос аафос с© ib&BHTbHa64>iBHHt<3i объект 6D /Ьбавитьнабфданных объединение ч* J ш ОК Отмоно Оравга Редактирование набора данных - запрос Редактирование набора данных - запрос заключается в составлении са к данным. Для этого можно воспользоваться конструктором запроса или редактировать текст запроса непосредственно в окне конструктора схемы компоновки данных. as iД I -iiiT i if Наборы данных | Связи наборов данных , Вычисляемые поля Ресурса Параметра Макеты , Вложенные аемы Настройки fe-H В-Набори ых Лш Ограничение дрсгу, Отттттмощ Ш„ Ус Документ Дм^мент «отчество Когичесгво Ксгичестао Номенкпатуя Воиенкгвт^, НомерСтр. ВомерСтроки Ноиер строки Сумма Сумма Цена йена Q аа fl»-Mt о п а,, а аа DiD D О ? ? D D а_а п а ? д ? а а_а ? п о ? а о а а D О п_а_ а а р а D D а_о. Выражения Прооерна иерархи* J Набор.дажых, Запрос: ^KuHi [структор запроса ВЫБРАТЬ сходна лкладнаяСостав Ссыпка КАК Документ, жодна акладнаяСостав Номенклатура, РасходнаяНакладн яСосжав Количество, РасходнаяНакладнаяСосгав.Це РасходнаяНакладнаяСостав.Сумма, Par»L >,н.* и Я '. 1гладааяСостав. НомерСтроки Документ РасходнаяНакладаая Состав КАК РасходнаяНаяла Автоэапотение 0 ОК Отмена Справка - Цели флаг Автозаполнение установлен, то система компоновки данных автоматически заполняет поля схемы компоновки данных на основании созданного запроса (см. стр. 2-465). ПИ [ЩргслгсяЩ!!!!^^
2-468 1С:Предприятие 8.1. Конфигурирование и администрирование Редактирование набора данных - объект Редактирование набора данных - объект заключается в ровании имени объекта, содержащего данные; в добавлении/редактировании полей и группировок. тшшшшшшшшшшшштг. _ Наборы данных Связи данных Вычиспяемвйполи Ресурсы Параметра Макеты Вложенные схемы L Настройки ! Поля. В~Наборы ва*ыя 41 tt|g НаборДзнных1 в Wit 4S JS Ы ОК Опинк Отрввиа Редактирование набора данных - объединение Редактирование набора данных — объединение заключается в нии объединенных полей из состава полей, подчиненных данному набору данных. Созданные наборы данных - запросы и объекты можно добавлять в набор данных — объединение, перемещая их мышкой. ЕЯ ттйЯЯмЯНЯ ттт •Л i i jp, Наборыдажых Слизи >• '¦¦: + данных Вычисляемые поля г"*^ . Магеты Л ы _ш СкгяаНаименов. СхгадНаии Скгад Номенклаг Номенкгат Номенклатура DDD пап Цена Цена Цена ТипШн Тип цен DDD D ? ? DDD о а п DDD 1DPQ Измерение ж> ©К Отмене' Сг^ивкз liiiiiii iiiiiiiiiiiiiii
Глава 11. Система компоновки данных 2-469 Редактирование полей набора данных При редактировании полей существует возможность задать: заголовок поля; ограничение доступности поля; ограничение доступности полей-реквизитов; роль для поля; представление поля; выражения упорядочивания; способ проверки иерархии (набор данных и параметр); тип значения поля; оформление поля. Следует заметить, что роль поля, представление, выражение вания, параметр, тип значения" и оформление поля редактируются только на верхнем уровне иерархии наборов данных. _ Роль поля изначально определяется в запросе, но есть возможность ее изменения в отдельном диалоге. I о ® ? зезроги Териод. [г 3;Ьг_. Г*"ДвпогмитепьмыЙ Родитель: {j * , fWr счет \ Вид. -. Имя: (Сумма . ., | Тип: {Начальный остаток [*j i Бух.шп \Дрбо |*| ' Попегаетэ | Лн^щ-.иг SHSWeWMlNUii f (Ж {[ Отмена || Сдошкз Для поля счета в параметре Вид необходимо явно указать ссылку на вид счета. Для поля измерения в параметре Измерение можно указать путь к данным родительского измерения.
2-470 1С:Предприятие 8.1. Конфигурирование и администрирование Установленный признак Игнорировать значения NULL означает, что в тат не будут включены групповые записи по данному полю, если оно содержит значение NULL. В результирующем наборе данных Обязательные поля будут присутствовать всегда. Выражения упорядочивания поля, тип значения и оформление также могут быть отредактированы в отдельном диалоге. Редактирование связей наборов данных При наличии нескольких наборов данных верхнего уровня существует возможность настроить связь между ними по одному или нескольким полям. B-D данных Связи наборов данных Вдокляемыелоля Petwa ГЦжмв-р-' Шкеты Влэженныеоюмы ч«_ч*»ч* ал *ЁЙ шя Ис^чнихшац ГфодажиРепистр Поиемник связи Продажи/Документ Йькмжв*» mm Номенклатура Вырзфтяяр^ Номенкгвтура УШмет 0гтт1т>^!^(гШ4ШЫашыкжа-0еатгтшш1^^ Номенкп. шшшт Е m я {Ж Отмена Сграяка ! Источником и приемником связи являются наборы данных. Выражениями источника и приемника - поля наборов данных. В данном примере связь настраивается между наборами данных ки и обороты по регистру накопления и документу); связь осуществляется по номенклатуре - по полю Номенклатура в документе и полю ра в регистре накопления. Редактирование вычисляемых полей Закладка Вычисляемые поля позволяет создавать и редактировать щие свойства/характеристики вычисляемых полей: путь к данным; выражение; заголовок; ограничение доступности; выражение представления; выражения упорядочивания; тип значения; оформление; доступные значения. Выражения упорядочивания редактируются в отдельном диалоге. ц»)[[ ¦ /' mi|m[[»|iMMM[MH!i|i!i»M!»»!»[»ii»»H[!»[[»»[i|||m||ffiii»»ifni|mi
г Глава 11. Система компоновки данных 2-471 Редактирование ресурсов Вычисление ресурсов возможно по всем полям всех наборов данных и по вычисляемым полям. В левом табличном поле отображается список ных и неиспользованных полей. В правом табличном поле отображаются поля, по которым будут формироваться итоги и выражения их вычисления. нваавававд Наборы данных Саяэ* на юроа данных $уи*•¦***» nopaj Ресурса | Параметры Макеты _ Вложенные стены Настроим КогичесгвоОстаток Номенклатура НоменкгатииЗакупочнаяЦе — Номенкпэт>рэНэименование •ш Скгвд — СкгвдНаименование Поле 1 'Г JBwaxetme г/ |й§рШи t 'Ш - КогичесгюОборот Сумма\,*«-по г, ;.:.-: ¦ - КогичесгвоОстаток |Cyt wyt»nwcT»:-L ИМ | ш ОК Отмена Справка По умолчанию для числовых полей устанавливается функция Сумма, для нечисловых полей - Количество. Нажатием на кнопку » можно добавить в ресурсы все поля типа Число. При этом допускается ввод нескольких строк для одного ресурса. Компоновщик макета, получая выражение для са, использует информацию о том, для какой группировки оно получается, выдаст соответствующее выражение. Если для ресурса было указано, что его можно рассчитывать только в разрезе некоторой группировки (то есть в колонке Рассчитывать по... было но хотя бы одно поле группировки), то данный ресурс будет выводиться в результат только для этой группировки и группировок в нее вложенных. Редактирование параметров Редактирование параметров включает в себя: редактирование имени параметра; редактирование заголовка; редактирование доступных типов и значений параметра; определение значения и доступности списка значений параметра; определение выражения; определение параметра в качестве доступного поля настройки новки данных; ограничение доступности. i|t||ltl|MH|t|lllljlllt ШТТТТПМИМШ I II I III II ИШТТТТП1ШЩЩП1ТП1ИIИ И11Г
Тщт 2-472 1С:Предприятие 8.1. Конфигурирование и администрирование Нэ&рыдаиш Сюда наборов д**Ыж ВюШШжтт I Pwgpra* j Параметры f Мадаты вложенные сеемы Настрой^ i «lEtt » НачапэЛериодя Началэпериода Дата 1 О Конец! Шмвда Конец пвэиодв М 1 и в П п -фй' . 4 ГИС 'Утчвпв Отжка 1 | При неопределенном значении параметра считается, что значение - нулевая ссылка на заданный тип. В параметрах могут использоваться ленные данные и перечисления (режим Конфигуратор). В колонке Доступные значения редактируются значения, которые могут быть выбраны пользователем в качестве параметров схемы компоновки данных. Если флажок в колонке Доступен список значений установлен, то это ет, что можно будет использовать несколько значений параметра. Также имеется возможность программного редактирования параметров при помощи методов объекта КоллекцияЗначенийПараметровКомпоновкиДанных (подробнее о методах см. справку по встроенному языку). Редактирование макетов Добавление макетов осуществляется нажатием кнопки Добавить макет на командной панели. и Предлагается выбрать один из вариантов макетов: • макет поля; • макет группировки; • макет заголовка группировки; • макет ресурсов таблицы. Для макета группировки и заголовка группировки можно задать имя ровки или поля группировки, тип макета.
Глава 11. Система компоновки данных 2-473 Щ ® florm груплироам ^tg-g,*fe Для макета ресурса таблицы можно задать макеты для двух группировок, на пересечении которых он находится. Колонка табличного поля Область указывает координаты области макета в табличном документе. Редактирование областей го документа возможно с помощью панели свойств, вызываемой Alt + Enter. Редактируется как внешний вид, так и содержимое ячейки и параметр ровки для нее. Макет может редактироваться на всех языках, поддерживаемых системой. При задании параметра или шаблона ячейке табличного документа ры добавляются в макет и отображаются п колонке Имя параметра табличного поля Пара метры "макета. Возможно редактирование выражения параметра макета При загрузке области макета разделяются пустыми строками. Вложенные схемы Зпкладка Вложенные схемы позволяет создавать и редактировать ные схемы компоновки данных. В роли схемы могут выступать вложенные схемы, редактируемые конструктором схемы компоновки данных.
2-474 1С:Предприятие 8.1. Конфигурирование и администрирование Настройки Схема компоновки данных содержит настройки компоновки данных по умолчанию, которые могут быть заданы разработчиком. ЁН ggggas щ" Отчет ОтчетПоНоменк Наборы ванных Связи наборов. Вычисляемые. Ресурсы Параметра Макеты вгеженниесх... В-|?Щ -?7|иаэ Номенклатура О-01П Таблица Е-Строки l-^jma Номенклатура (Иерарзмя) В-Колзнки L0ttn Склад ВМ?\$Ь Диаграмма В-Точки 1 *-[^)дд Склад *—¦Серии I ii 1 а f rtl & Наетройга« Настройки {Отчет] Отчет Параметра да 1 Выбранные топя. Отбор Сортировка Условное оФор ИПараметр Л Период Попьзовательс. - Значение ГЬллэ.юпь-' -я вага Лрупда наетро.. Дата 4 б1 Настройки компоновки данных Настройки схемы компоновки данных могут быть выполнены с помощью конструктора настроек или вручную. Подробнее об этом см. книгу «1С:Предприятие 8.1. Руководство пользователя», главу 6 «Отчеты и обработки», параграф «Работа с отчетами, использующими систему новки данных». Настройки компоновки данных представляются объектом встроенного языка системы 1С:Предприятие 8.1 НастройкиКомпоновкиДанных и состоят из множества других вложенных объектов. Для визуального редактирования пользователем настроек компоновки данных предназначен компоновщик настроек компоновки данных. Если табличное поле настроек находится в режиме Только просмотр (например, при работе с хранилищем конфигурации), то двойной щелчок или нажатие на Enter в ячейках отбора, оформляемых полей, оформления в условном оформлении, пользовательского поля откроет диалог, в котором в режиме Только просмотр можно просмотреть содержимое ячейки.
Глава 11. Система компоновки данных 2-475 Если в конфигурации определено несколько языков, то в конструкторе схемы компоновки существует возможность редактировать заголовки полей, групп полей на разных языках. При помощи механизма сравнения и объединения конфигураций части настроек можно сравнивать и объединять. Подробнее о механизме ния см. на стр. 2-785. Загрузку схемы компоновки данных из XML можно осуществить ными средствами встроенного языка. Структура настроек компоновки данных Структура - это некоторый скелет настроек. Она определяет взаимное расположение их основных элементов. Структура настроек доступна через свойство Структура объекта НастройкиКомпоновкиДанных. Элементами структуры настроек могут быть: • группировки; • таблицы (ТаблицаКомпоновкиДанных); • диаграммы (ДиаграммаКомпоновкиДанных); • вложенные объекты .настройки (НастройкиВложенногоОбъектаСистемыКом- поновкиДанных). Группировка Для реализации группировки в структуре настроек предусмотрено три разных типа данных: • группировки (ГруппировкаКомпоновкиДанных); • группировки таблиц (ГруппировкаТаблицыКомпоновкиДанных); • группировки диаграмм (ГруппировкаДиафаммыКомпоновкиДанных). Наличие трех типов связано с необходимостью реализовать ограничения, i итоженные на взаимное расположение элементов в дереве структуры: тпблицы и диаграммы не могут включать в себя ничего, кроме группировок. Соответственно, все объекты группировок имеют идентичную объектную модель, они различаются типом вложенной коллекции значений и составом пираметров вывода. Поля группировки Ипбор полей, по которым осуществляется группировка, описывается с помощью объекта ПоляГруппировкиСистемыКомпоновкиДанных. В свойстве Элементы этого объекта содержится коллекция полей группировки, состоящая из объектов ПолеГруппировкиСистемыКомпоновкиДанных.
2-476 1 С:Предприятие 8.1. Конфигурирование и администрирование Замечание. При выполнении группировки по полю-периоду в группировку автоматически добавляется родительское поле-период, не являющееся дополнительным периодом, в том случае, если в родительских ровках не осуществлялась группировка по этому родительскому полю-периоду. Например, если группировка осуществляется по полю Регистратор, то в группировку автоматически будет добавлено поле ПериодСекунда. При этом создание группировок по реквизитам полей-периодов щено. Автополе группировки Перед использованием автополе будет преобразовано в набор полей ровки. Формирование набора происходит следующим образом. Берутся мые выбранные поля со следующими условиями: • они доступны для использования в полях группировки; • не являются ресурсами; • не зависят от других выбранных полей; • не зависят от уже существующих полей группировки. Если поле уже включено в данные поля группировки, повторно оно не бавляется. Таблица Описание таблицы в структуре настроек выполняется с помощью объекта ТаблицаСистемыКомпоновкиДанных. Диаграмма Описание диаграммы в структуре настроек выполняется с помощью та ДиаграммаСистемыКомпоновкиДанных. Вложенный объект Описание вложенного объекта в структуре настроек выполняется с помощью объекта НастройкиВложенногоОбъектаСистемыКомпоновкиДанных. Для объекта реализовано свойство Имя, предназначенное для ции вложенного отчета в сгенерированном макете компоновки данных.
Глава 11. Система компоновки данных 2-477 Свойства настроек компоновки данных Выбор Набор полей, выводимых в результат компоновки. Описывается с помощью объекта ВыбранныеПоляКомпоновкиДанных. В свойстве Элементы этого объекта содержится коллекция выбранных полей, состоящая из объектов ВыбранноеПолеКомпоновкиДанных. Группа выбранных полей Используется для группировки полей. Описывается с помощью объекта паВыбранныхПолейКомпоновкиДанных. товыбранное поле Перед использованием автополе будет преобразовано в набор выбранных молей. Состав набора полей зависит от того, какому элементу структуры принадлежит разворачиваемое автополе и в какой части структуры этот >лемент располагается. Для каждого элемента система обходит все ские элементы структуры отчета и из выбранных полей этих элементов отбирает по следующим правилам ресурсы и поля: • Для группировки и группировки таблицы на место автополя ются все используемые поля этой группировки, которые доступны для использования в выбранных полях; поля, которые являются ми ее полей группировки, и ресурсы родительских элементов. Внимание! Система при обходе учитывает только те группировки, тип которых Без иерархии или Иерархия. • Для группировки диаграммы ресурсы не выбираются, а обходятся все родительские элементы структуры настроек, и из выбранных полей этих элементов выбираются поля группировок, если по данному полю была задана группировка типа Только иерархия. • Для группировок типа Детальные записи (группировка, группи- 1ровка таблицы, группировка диаграммы) из основных выбранных полей настроек, которым принадлежит группировка, выбираются все используемые поля, кроме полей, участвовавших в вышестоящих группировках, и реквизитов этих полей. Если же такая группировка имеет тип Только иерархия, то ее поля и реквизиты будут ся системой при формирования набора полей выбора. Для группировки диаграммы ресурсы также не выбираются. • Для диаграммы автополе выбора заменяется ресурсом, первым из1 встреченных при описанном выше обходе. • Для таблицы автополе выбора преобразовывается в набор мых родительскими элементами ресурсов.
2-478 1С:Предприятие 8.1. Конфигурирование и администрирование Замечание. Если поле уже включено в данные выбранные поля, но оно не добавляется. При этом поля добавляются в набор в следующем порядке: вначале поля собственных полей группировки (для группировок), потом поля из глобальных настроек (для группировок типа Детальные записи) и самыми последними - ресурсы и поля из родительских элементов. Отбор Используется для фильтрации записей, попадающих в результат новки. Кроме того, может использоваться для отбора записей, к которым применяется некоторое оформление (условное оформление) и для создания пользовательских полей выбора. Описывается с помощью объекта ОтборКомпоновкиДанных. В свойстве Элементы этого объекта содержится коллекция элементов отбора, щая из объектов ЭлементОтбораКомпоновкиДанных. Группа элементов отбора Используется для группировки элементов отбора, которая упорядочивает данные результата. Описывается с помощью объекта ГруппаЭлементовОтбо- раКомпоновкиДанных. Порядок Описывает, каким образом нужно упорядочивать записи, выводимые в результат. Представляет собой объект ПорядокКомпоновкиДанных. В свойстве Элементы этого объекта содержится коллекция элементов порядка, состоящая из объектов ЭлементПорядкаКомпоновкиДанных. Автоэлемент порядка Перед использованием автоматический элемент порядка будет ван в набор элементов порядка. Формирование набора происходит по следующим правилам: ресурсы ляются безусловно, а из полей не ресурсов в порядок добавляются поля, являющиеся реквизитами поля группировки, и само поле группировки (для детальных записей будут занесены все поля). Поля группировки, которые не были указаны в глобальном упорядочивании, попадут в конец порядка. Если поле уже включено в данный порядок, повторно оно не добавляется. Условное оформление Описание того, каким образом оформлять различные поля результата. Представляет собой объект УсловноеОформлениеКомпоновкиДанных. В свойстве Элементы этого объектасодержится коллекция элементов порядка, состоящая из объектов ЭлементУсловногоОформленияКомпоновкиДанных.
Глава 11. Система компоновки данных , 2-479 В оформлении компоновки данных конструктора компоновки данных параметры Формат, Текст редактируются как многоязычные. Оформляемые поля Поля, к которым применяется оформление. Описываются с помощью та ОформляемыеПоляКомпоновкиДанных. В свойстве Элементы этого объекта содержится коллекция оформляемых полей, состоящая из объектов Оформ- ляемоеПолеКомлоновкиДанных. Если поля не указаны, оформление будет применено ко всей области. Параметры вывода Значения параметров вывода определяют внешний вид соответствующих объектов. Для части параметров поддерживается наследование. В связи с этим коллекция параметров вывода для элемента может содержать ры, не относящиеся к нему самому, но используемые в элементах, которые могут быть вставлены в подчиненную часть структуры настроек. Параметры данных Значения параметров данных, как правило, используются в запросах для фильтрации выборки. Пользовательские поля Пользовательские поля позволяют пользователю расширить множество используемых доступных полей, определяя собственные выражения либо наборы вариантов с условиями использования конкретного варианта. Пользовательские поля описываются с помощью объекта Пользователь- скиеПоляКомпоновкиДанных. В свойстве Элементы этого объекта содержится коллекция пользовательских полей, состоящая из объектов двух видов: • поле-выражение (объект ПользовательскоеПолеВыражениеКомпонов- киДанных); • поле-выбор (объект ПользовательскоеПолеВыборКомпоновкиДанных). Тип поля определяется системой автоматически, на основе его свойств. Варианты пользовательского поля Описание набора альтернатив, определяющих значение поля выбора Описываются с помощью объекта ВариантыПользовательскогоПоляВыборКом- поновкиДанных. В свойстве Элементы этого объекта содержится коллекция вариантов пользовательского поля-выбора, состоящая из объектов Вари- антПользовательскогоПоляВыборКомпоновкиДанных.
2-480 1С:Предприятие 8.1. Конфигурирование и администрирование Работа с автополями Если один элемент структуры настроек содержит автополя АвтоПолеГруппировкиСистемыКомпоновкиДанных, АвтоВыбранноеПолеСис- темыКомпоновкиДанных и АвтоЭлементПорядкаСистемыКомпоновкиДанных, они преобразовываются в следующем порядке: • АвтоПолеГруппировкиСистемыКомпоновкиДанных; • АвтоВыбранноеПолеСистемыКомпоновкиДанных; • АвтоЭлементПорядкаСистемыКомпоновкиДанных. Доступные объекты Доступные объекты - набор, определяющий объекты, которые могут быть использованы в компоновке как вложенные. Например, вложенные отчеты. Доступные поля Доступные поля - это множество полей, которые могут быть использованы при настройке компоновки данных и будут распознаны и правильно таны на последующих этапах компоновки. Доступные поля различаются по применению. Всего выделено 7 коллекций полей: • поля для выбора (свойство ДоступныеПоляВыбора); • поля группировок (свойство ДоступныеПоляГруппировок); • поля порядка (свойство ДоступныеПоляПорядка); • поля параметров данных (свойство ДоступныеПоляПараметровДанных); • поля отбора (свойство ДоступныеПоляОтбора); • поля отбора элементов структуры — используются во всех элементах структуры, кроме верхнего (свойство ДоступныеПоляОтбораЭлемен- товСтруктуры); • поля дополнительных отборов — используются в условном оформлении (свойство ДоступныеПоляДополнительныхОтборов). Все перечисленные свойства содержат коллекции значений, элементами которых являются объекты ДоступноеПолеКомпоновкиДанных. В конструкторе схемы компоновки данных и в настройках схемы компоновки данных отчета доступные поля располагаются в следующей ности: вначале поля, не являющиеся ресурсами, в алфавитном порядке по заголовкам, после них поля-ресурсы в алфавитном порядке по заголовком. Последними в списке отражаются системные папки.
Глава 11. Система компоновки данных 2-481 Доступное поле отбора Для использования в отборах реализован специальный тип доступных полей. Он обладает всеми свойствами обычного доступного поля, а также предоставляет наборы доступных видов сравнения и доступных значений ноля, необходимых для корректного построения элементов отбора. Компоновщик настроек компоновки данных Компоновщик настроек представляется объектом встроенного языка мы 1С:Предлриятие 8.1 КомпоновщикНастроекКомпоновкиДанных. Объект предназначен для связи настроек компоновки данных и схемы компоновки данных. На основе схемы компоновки данных строится источник ных настроек для работы конструктора настроек. Макет компоновки данных Макет компоновки данных представляется объектом встроенного языка системы 1С:Предприятие 8.1 МакетКомпоновкиДанных и состоит из множества других вложенных объектов. Макет компоновки данных является цией по выполнению компоновки данных для системы компоновки данных. Макет компоновки уже содержит в себе описание макетов областей, тексты исполняемых запросов, расположение группировок и т. д. Составные части макета компоновки данных Каждый макет компоновки данных содержит множество объектов, ющих ту или иную часть. Рассмотрим эти составные части. _ Макет компоновки данных Значения параметров Макеты Тепо Наборы данных Источники данных Связи наборов данных . Группировка Детальные записи Таблица Диаграмма Макет
2-482 1 С:Предприятие 8.1. Конфигурирование и администрирование Источники данных Макет компоновки данных может содержать несколько описаний ков данных. Под источником данных подразумевается источник, из которого будут получаться данные. В качестве источника данных выступает ная база системы 1С:Предприятие 8.1. Источники данных описываются в свойстве ИсточникиДанных макета, которое содержит коллекцию значений, состоящую из элементов Источ- никДанныхМакетаКомпоновкиДанных. Допускается создание нескольких источников данных, указывающих при помощи строки соединения на одну информационную базу. Наборы данных Наборы данных макета компоновки данных содержат описание того, какие данные необходимо получать в компоновке данных. Они описываются в свойстве НаборыДанных макета компоновки данных. Допускается наличие нескольких наборов данных. Поле набора данных макета компоновки данных Набор данных может содержать описания полей, которые будут доступны для этого набора данных. Поля, описания которых в наборе данных твуют, являются недоступными. Если некоторое поле присутствует в запросе набора данных, но отсутствует в описании полей набора данных, то поле не будет доступно для использования. Поля набора данных описываются в свойстве Поля набора данных, которое содержит коллекцию значений, состоящую из элементов ПолеНабораДан- ныхМакетаКомпоновкиДанных. Значения параметров макета компоновки данных Макет компоновки данных может содержать параметры в любых ях, присутствующих в нем. Значения параметров описываются в свойстве ЗначенияПараметров макета компоновки данных, которое содержит коллекцию значений, состоящую из элементов ЗначениеПараметраМакетаКомпоновкиДанных. Связи наборов данных макета компоновки данных Наборы данных, присутствующие в макете компоновки данных, могут быть связаны друг с другом. Связи между наборами данных описываются в макете компоновки данных.
Глава 11. Система компоновки данных 2-483 (!цязи наборов данных описываются в свойстве СвязиНаборовДанных макета компоновки данных, которое содержит коллекцию значений, состоящую II»элементов СвязьНаборовДанныхМакетаКомпоновкиДанных. Макеты областей макета компоновки данных При исполнении компоновки в результат компоновки будут выводиться мнкеты областей. Эти макеты областей также находятся в макете ки данных. Описания макетов находятся в свойстве Макеты макета компоновки дипных, которое содержит коллекцию значений, состоящую из элементов ОписаниеМакетаОбластиМакетаКомпоновкиДанных. Тело макета компоновки данных Предыдущие составные части макета компоновки данных содержали инфор- мпцию о том, откуда получать информацию. Само же указание, как следует скомпоновать данные, находится в теле макета компоновки данных. Тело микста компоновки данных состоит из элементов. Иозможно использование следующих типов элементов: • группировка - описывает выводимую в результат группировку; • детальные записи - описывает выводимые в результат детальные записи набора данных; • таблица - описывает таблицу, выводимую в результат; • диаграмма - описывает диаграмму, выводимую в результат; • макет - описывает макеты, используемые при выводе. Группировка таблицы Описывает группировку таблицы и представляется объектом встроенного и пика ГруппировкаТаблицыМакетаКомпоновкиДанных. [^уппировка таблицы содержит те же свойства, что и обычная группировка, но следующими различиями: • тело группировки таблицы и иерархическое тело группировки таблицы могут содержать только те элементы, которые содержатся в теле таблицы, т. е. только группировки таблицы, детальные записи таблицы, макеты группировки таблицы. Иерархическое тело может дополнительно содержать иерархическую группировку таблицы, обозначающую место, в которое будут выводиться иерархические записи группировки; ' в качестве макетов заголовков и подвала используются макеты ровки таблицы;
2-484 1С:Предприятие 8.1. Конфигурирование и администрирование • возможно использование свойств: • МакетОбщихИтогов (OverallsTemplate) - указывает макет, исполь- i зуемый при выводе общих итогов по группировке, типа | МакетГруппировкиТаблицыМакетаКомпоновкиДанных. • РасположениеОбщихИтогов (OverallsPlacement) - содержит расположение общих итогов для группировки, типа Расположе- ниеИтоговКомпоновкиДанных. Детальные записи таблицы Описывают детальные записи таблицы и представляются объектом енного языка ЗаписиТаблицыМакетаКомпоновкиДанных. Макет группировки таблицы Макет группировки таблицы описывает макеты, используемые при выводе группировки таблицы, и представляется объектом встроенного языка Ма- кетГруппировкиТаблицыМакетаКомпоновкиДанных. Группировка диаграммы Описывает группировку диаграммы и представляется объектом го языка ТелоГруппировкиДиаграммыМакетаКомпоновкиДанных. Группировка диаграммы содержит те же свойства, что и обычная ровка, со следующими различиями: • тело группировки диаграммы и иерархическое тело группировки диаграммы могут содержать только макеты группировки диаграммы и группировки диаграммы. Иерархическое тело может дополнительно содержать иерархическую группировку диаграммы, обозначающую место, в которое будут выводиться иерархические записи группировки; • отсутствуют макеты для заголовка и подвала. Макет группировки диаграммы Макет группировки диаграммы описывает макеты, используемые при выводе группировки диаграммы, и представляется объектом встроенного языка МакетГруппировкиДиаграммыМакетаКомпоновкиДанных. Язык выражений системы компоновки данных Язык выражений системы компоновки данных предназначен для записи выражений, используемых в различных частях системы. Выражения используются в следующих подсистемах: • схема компоновки данных - для описания вычисляемых полей, полей I итогов, выражений связи и т. д.; • настройки компоновки данных - для описания выражений пользова- | тельских полей;
Глава 11. Система компоновки данных 2-485 макет компоновки данных — для описания выражений связи наборов данных, описания параметров макета и т. д. Литералы В выражении могут присутствовать литералы следующих типов: • Строка; • Число; • Дата; • Булево. Строка Строковый литерал записывается в символах «"», например: "Строковый литерал ,, :¦ 11ри необходимости использования внутри строкового литерала символа «"» следует использовать два таких символа, например: "Литерал ""в кавычках""" Число Число записывается без пробелов, в десятичном формате. Дробная часть отделяется при помощи символа «.», например: 10.5 ,!00 . Дата Литерал типа Дата записывается при помощи ключевого литерала ДА- ТАВРЕМЯ (DATETIME). После данного ключевого слова в скобках, через ншятую, перечисляются год, месяц, день, часы, минуты, секунды. Указание ирсмени необязательно, например: ДЛТАВРЕМЖ1975, 1, 06) - Шестое января 1975 года ДЛТЛВРЕМЖ2006, 12, 2, 23, 56, 57) - Второе декабря 2006 года, 23 часа 56 минут 57 секунд * Булево Ьулсвы значения могут быть записаны при помощи литералов ИСТИНА i (TRUE), ЛОЖЬ (FALSE). Значение Дня указания литералов других типов (системных перечислений, деленных данных) используется ключевое слово ЗНАЧЕНИЕ, после которого и скобках идет указание имени литерала.
2-486 1 С:Предприятие 8.1. Конфигурирование и администрирование ЗНАЧЕНИЕ(ВидСчета. Активный) Поля В выражениях могут использоваться поля наборов данных. Поле цируется путем к данным. Части пути к данным отделяются друг от друга символом «.». Имя поля не является чувствительным к регистру, например: Номенклатура.Артикул ! Продажи.СуммаОборот Параметры Выражения могут использовать параметры. Для использования в нии параметра достаточно написать его имя, которому будет предшествовать символ &, например: ЬКонтрагент ЬДатаНачала Операции над числами Унарный - Данная операция предназначена для изменения знака числа на обратный, например: -Продажи.Количество Унарный + Данная операция не выполняет над числом никаких действий, например: +Продажи.Количество Бинарный - Данная операция предназначена для вычисления разности двух чисел, например: ' ОстаткиИОбороты.НачальныйОстаток - ОстаткиИОбороты.КонечныйОстаток ОстаткиИОбороты.НачальныйОстаток - 100 ___400_- 357 Бинарный + Данная операция предназначена для вычисления суммы двух чисел, например: ОстаткиИОбороты.НачальныйОстаток + ОстаткиИОбороты.Оборот ОстаткиИОбороты.НачальныйОстаток + 100 400 + 357
Глава 11. Система компоновки данных 2-487 Произведение Данная операция предназначена для вычисления произведения двух чисел, например: Номенклатура.Цена * 1,2 2 * 3.14 Деление Данная операция предназначена для получения результата деления одного операнда на другой, например: Номенклатура.Цена / 1.2 2/3.14 Остаток от деления Данная операция предназначена для получения остатка от деления одного операнда на другой, например: Номенклатура.Ценп % 1.2, г % з.14 : Операции над строками Конкатенация (Бинарный +) Данная операция предназначена для конкатенации двух строк, например: нклатура.Ар икуя + ": "+ Номенклатура.Наименование ПОДОБНО (LIKE) Данная операция проверяет соответствие строки переданному шаблону. Значением оператора ПОДОБНО является Истина, если значение выражения удовлетворяет шаблону, и Ложь — в противном случае. Следующие символы в строке шаблона имеют смысл, отличный от просто очередного символа строки: • % - процент: последовательность, содержащая ноль и более ных символов; • _ — подчеркивание: один произвольный символ; • [...]- один или несколько символов в квадратных скобках: один символ, любой из перечисленных внутри квадратных скобок. В перечислении могут встречаться диапазоны, например a-z, означающие ный символ, входящий в диапазон, включая концы диапазона; • [л...] - в квадратных скобках значок отрицания, за которым следует один или несколько символов: любой символ, кроме тех, которые ны следом за значком отрицания;
2-488 1 (^Предприятие 8.1. Конфигурирование и администрирование Любой другой символ означает сам себя и не несет никакой дополнительной нагрузки. Если в качестве самого себя необходимо записать один из ленных символов, то ему должен предшествовать спецсимвол, указанный после ключевого слова СПЕЦСИМВОЛ (ESCAPE). Например, приведенный ниже шаблон означает подстроку, состоящую из последовательности символов: буквы А; буквы Б; буквы В; одной цифры; одной из букв а, б, в или г; символа подчеркивания; буквы а; буквы б; буквы в. Причем эта последовательность может располагаться начиная с вольной позиции в строке. .' "%АБВ[0-9Пабвг]\_абв%" СПЕЦСИМВОЛ »\- Операции сравнения РАВНО Данная операция предназначена для сравнения двух операндов на тво, например: j Продажи.Контрагент = Продажи.НоменклатураОсновнойПоставщик . .1, , ,П Г,, ¦ . ¦ . I v-_ I, „| т i— А* НЕ РАВНО Данная операция предназначена для сравнения двух операндов на тво, например: | Продави.Контра: ажи.ИомвикяатураОсно Фавцяк меньше" Данная операция предназначена для проверки того, что первый операнд меньше второго, например: I ПродажиТекущие.Сумма < ПродажиПрощлые.Сумм. ЙЦм^."' I tHi II J»-«.l^. -Г ....^-U»TA»!3 БОЛЬШЕ Данная операция предназначена для проверки того, что первый операнд больше второго, например: j ПродажиТекущие.Сумма > ПродажйПрошлые.Сумма МЕНЬШЕ ИЛИ РАВНО Данная операция предназначена для проверки того, что первый операнд меньше либо равен второму, например: j ПродажиТекущие. Сумма «4= Продазшпроюше. Сумма
Глава 11. Система компоновки данных 2-489 БОЛЬШЕ ИЛИ РАВНО Данная операция предназначена для проверки того, что первый операнд больше либо равен второму. Например: ПродаашТекущие.Сумма >=* ЛродажШрошяые. Сумма Операция В (IN) Двнная операция осуществляет проверку наличия значения в переданном списке значений. Результатом операции будет Истина, если значение но, или Ложь - в противном случае, например: Номенклатура В (&Товар1, &Товар2) Операция проверки наличия значения в наборе данных Операция осуществляет проверку наличия значения в указанном наборе дппных. Набор данных для проверки должен содержать одно поле, например: Продажи.Контрагент В Контрагенты Операция проверки значения на NULL ЕСТЬ NULL (IS NULL) Дпиная операция возвращает значение Истина, если оно является значением NULL, например: , 11родажи. Контрагент ЕСТЬ WLL Операция проверки значения на неравенство NULL ЕСТЬ НЕ NULL A3 NOT NULL) Дпиная операция возвращает значение Истина, если оно не является нием NULL, например: Продажи.Контрагент ЕСТЬ НЕ NULL Логические операции Логические операции принимают в качестве операндов выражения, имеющие тип Булево. Операция НЕ (NOT) Операция НЕ возвращает значение Истина, если ее операнд имеет значение Ложь, и значение Ложь, если ее операнд имеет значение Истина, например: 1Ш Документ.Грузополучатель = Документ,Грузоотправитель Операция И (AND) Операция И возвращает значение Истина, если оба операнда имеют ние Истина, и значение Ложь, если один из операндов имеет значение Ложь, иниример: Документ.Грузополучатель = Документ.Грузоотправитель И j Документ.Грузополучатель = &Контрагент
2-490 1 С:Предприятие 8.1. Конфигурирование и администрирование Операция ИЛИ (OR) Операция ИЛИ возвращает значение Истина, если один из операндов имеет значение Истина, и Ложь, если оба операнда имеют значение Ложь, например: , Документ.Грузополучатель = Документ.Грузоотправитель ИЛИ Документ.Грузополучатель = ЬКонтрагент Агрегатные функции Агрегатные функции осуществляют некоторое действие над набором данных. СУММА (SUM) Агрегатная функция СУММА рассчитывает сумму значений выражений, переданных ей в качестве аргумента для всех детальных записей, например: СУММА(Продажи.СуммаОборот) КОЛИЧЕСТВО (COUNT) Функция КОЛИЧЕСТВО рассчитывает количество значений, отличных от значения NULL, например: КОЛИЧЕСТВО(Продажи.Контрагент) КОЛИЧЕСТВО (РАЗЛИЧНЫЕ) (COUNT (DISTINCT)) Эта функция рассчитывает количество различных значений, например: КОЛИЧЕСТВО(Различные Продажи.Контрагент) МАКСИМУМ (МАХ) Функция получает максимальное значение, например: МАКСИМУМ(Остатки.Количество) МИНИМУМ (MIN) Функция получает минимальное значение, например: МИНИМУМ(Остатки.Количество) СРЕДНЕЕ (AVG) Функция получает среднее значение для значений, отличных от NULL, например: СРЕДНЕЕ(Остатки.Количество)
Глава 11. Система компоновки данных 2-491 Другие операции Операция ВЫБОР Операция ВЫБОР предназначена для осуществления выбора одного из нескольких значений при выполнении некоторых условий, например: ВЫБОР Когда Сумма > 1000 Тогда Сумма Иначе 0 Конец Правила сравнения двух значений Пели типы сравниваемых значений отличаются друг от друга, то отношения между значениями определяются на основании приоритета типов: • NULL (самый низший); • Булево; • Число; • Дата; • Строка; • ссылочные типы. О i ношения между различными ссылочными типами определяются на основе Ссылочных номеров таблиц, соответствующих тому или иному типу. 1',слн типы данных совпадают, то производится сравнение значений ио следующим правилам: • у типа Булево значение ИСТИНА больше значения ЛОЖЬ; • у типа Число обычные правила сравнения для чисел; • у типа Дата более ранние даты меньше более поздних; • у типа Строка сравнения строк в соответствии с установленными нальными особенностями базы данных; • ссылочные типы сравниваются на основе своих значений (номера записи и т. п.). Работа со значением NULL Любая операция, в которой значение одного из операндов NULL, будет давать |№ 1ул1.тат NULL. 14" и. исключения: операция И будет возвращать NULL только в случае, если ни один in операндов не имеет значение Ложь; • операция ИЛИ будет возвращать NULL только в случае, если ни один нч операндов не имеет значение Истина.
2-492 1С:Предприятие 8.1. Конфигурирование и администрирование Приоритеты операций Операции имеют следующие приоритеты (первая строка имеет низший приоритет): • ИЛИ; • И; • НЕ; • В, ЕСТЬ NULL, ЕСТЬ НЕ NULL; • =, о, <=, <, >=, >; • Бинарный +, Бинарный -; , /, /о, • Унарный +, Унарный -. Функции ВЫЧИСЛИТЬ (EVAL) Функция ВЫЧИСЛИТЬ предназначена для вычисления выражения в те некоторой группировки. Функция имеет следующие параметры: • Выражение — строка, содержащая вычисляемое выражение; • Группировка—строка, содержащая имя группировки, в контексте которой необходимо вычислить выражение. Если в качестве имени группировки используется пустая строка, вычисление будет выполнено в сте текущей группировки. Если в качестве имени группировки будет использована строка ОбщийИтог, вычисление будет выполнено в сте общего итога. В остальных случаях вычисление будет выполняться в контексте родительской группировки с таким именем; Тип расчета - строка, содержащая тип расчета. Если данный параметр имеет значение ОбщийИтог, выражение будет вычисляться для всех! записей группировки. Если значение параметра - Группировка, значения будут вычисляться для текущей групповой записи группировки, например: I Сумма(Продажи.СуммаОборот) / ВЫЧИСЛИТЬ("Сумма(Продажи СуммаОборот)"| "ОбщийИтог") В данном примере в результате получится отношение суммы по полю Продажи.СуммаОборот записи группировки к сумме того же поля во всей компоновке. УРОВЕНЬ (LEVEL) Функция предназначена для получения текущего уровня записи. VEvEEHLO j t
Глава 11. Система компоновки данных 2-493 OBEHbBrpynnHPOBKE(LEVELINGROUP) Функция предназначена для получения уровня записи относительно корня группировки. РОВЕНЬВГРУШШРОВКЕ () ' ' ' ¦ - —- , ... %*,и.1 i ч-п, — ш —м .1.. -«и» к,,,*, ..I %Шшт HA4EHHE3AnonHEHO{VALUEISFILLED) Возвращает Истину, если значение отлично от значения данного типа по умолчанию, отлично от значения NULL, отлично от пустой ссылки, но от значения Неопределено. Для логических значений осуществляется проверка на значение NULL. Для строк осуществляется проверка на отсутс- i пие не пробельных символов. МЕРПОПОРЯДКУ (SERIALNUMBER) Получить следующий порядковый номер. НОМЕРПОПОРЯДКУО MEPnOnOPflflKyBrpynriHPOBKE(GROUPSERIALNUMBER) Возвращает следующий порядковый номер в текущей группировке. НОМЕРПОПОРЯДКУВГРУППИР0ВКЕ() ФОРМАТ (FORMAT) Получить отформатированную строку переданного значения. Форматная отрока задается в соответствии с форматной строкой системы 1С:Пред- приятие 8. 11ираметры: • Значение, - • Форматная строка. ФОРМАТ(РасходныеНакладные.суммаДок, "ЧДЦ=2") НАЧАЛОПЕРИОДА (BEGINOFPERIOD) Функция предназначена для выделения определенной даты из заданной даты. Параметры: Выражение типа Дата; Тип периода - строка, содержащая одно из значений: • Минута, • Час, • День,
¦ 2-494 1 С:Предприятие 8.1. Конфигурирование и администрирование • Неделя, • Месяц, • Квартал, • Год, • Декада, • Полугодие. ЧАЛОПЕРИОДА(ДатаВремя 20 2, 10, 12, 10; 15, 34) , "Нес.щ") t .Д Результат: 01.10.2002 0:00:00 КОНЕЦПЕРИОДА (END0FPERI0D) Функция предназначена для выделения определенной даты из заданной даты. Параметры: • Выражение типа Дата; • Тип периода — строка, содержащая одно из значений: • Минута, • Час, • День, • Неделя, • Месяц, • Квартал, • Год, • Декада, • Полугодие. . КОНЕЦПЕРИОДА(ДатеСфвИЯ('2002, 10, 12, 10. .:. -Неделя') Результат: 13.10.2002 23:59:59 ДОБАВИТЬКДАТЕ (DATEADD) Функция предназначена для прибавления к дате некоторой величины Параметры: • Выражение типа Дата; • Тип увеличения - строка, содержащая одно из значений: • Секунда, • Минута,
Глвва 11. Система компоновки данных 2-495 • Час, • День, • Неделя, • Месяц, • Квартал, • Год, • Декада, • Полугодие. • Величина - на сколько необходимо увеличить дату. Тип Число. Дробная часть игнорируется. ДОВАВИТЬКДАТЕ(ДатаВремяB002, 10, 12, 10, 15, 34), "Месяц", 1) Результат: 12.11.2002 10-.15-.34 A3H0CTbflAT(DATEDIFF) •Пункция предназначена для получения разницы между двумя датами. 11праметры: • Выражение типа Дата; • Выражение типа Дата; • Тип разности - одно из значений: • Секунда, • Минута, • Час, • День, • Месяц, • Квартал, • Год. 1'Л-|||ОСТЬДАТ(ДАТАВРЕМЯB002, 10, 12, 10, 15, 34), ДАТАВРЕМЯB002, 10,-14, 9, 18, 06), "ДЕНЬ") 1Чпультат: 2
2-496 1 С:Предприятие 8.1. Конфигурирование и администрирование ТЕКУЩАЯДАТА (CURRENTDATE) Возвращает системную дату. При компоновке макета компоновки во всех выражениях, которые присутствуют в компоновке, функция ТекущаяДата() заменяется значением текущей даты. ' ТЕКУЩАЯДАТА () ПОДСТРОКА (SUBSTRING) Данная функция предназначена для выделения подстроки из строки. Параметры: • выражение, имеющее строковый тип; • позиция символа, с которого начинается выделяемая из строки подстрока; • длина выделяемой подстроки. Подстрока<коктрагей*а.Адрес I, 4} ДЛИНАСТРОКИ (STRINGLENGTH) Функция предназначена для определения длины строки. Параметр - ние строкового типа. ДЛИНАСТРОКИ(Контрагенты.Адрес ГОД (YEAR) Данная функция предназначена для выделения года из значения типа Дата. Единственный параметр - это выражение, имеющее тип Дата. ГОД(РасхНакл.Дата) КВАРТАЛ (QUARTER) Данная функция предназначена для выделения номера квартала из значения типа Дата. Номер квартала в норме находится в диапазоне от 1 до 4. твенный параметр функции - это выражение, имеющее тип Дата. Г КВАРТАЛ(РасхНакл.Дата) МЕСЯЦ (MONTH) Данная функция предназначена для выделения номера месяца из значенг типа Дата. Номер месяца в норме находится в диапазоне от 1 до 12. Единс твенный параметр функции - это выражение, имеющее тип Дата. ,' МЕСЯЦ (РасхНакл. Дата)
Глава 11. Система компоновки данных 2-497 flEHbrOflA(DAYOFYEAR) Данная функция предназначена для получения дня года из значения типа Дата. День года в норме находится в диапазоне от 1 до 365 C66). ный параметр функции - это выражение, имеющее тип Дата. ДЕНЬГОДА(РасхНакл.Дата) ДЕНЬ (DAY) Данная функция предназначена для получения дня месяца из значения типа Дата. День месяца в норме находится в диапазоне от 1 до 31. Единственный параметр функции - это выражение, имеющее тип Дата. ДРНЬ(РасхНакл.дата) НЕДЕЛЯ (WEEK) Дниная функция предназначена для получения номера недели года из шпмения типа Дата. Недели года-нумеруются, начиная с 1. Единственный ипраметр функции - это выражение, имеющее тип Дата. ИГ'ЖЛЖРасхНакл.Дата) ДЕНЬНЕДЕЛИ (WEEKDAY) Дпииая функция предназначена для получения дня недели из значения типа Дета. День недели в норме находится в диапазоне от 1 (понедельник) до 7 (иоскресенье). Единственный параметр функции - это выражение, имеющее i ни Дата. I ИЬНЕДЕЛИ(РасхНакл.Дата) ЧАС (HOUR) * Дпииая функция предназначена для получения часа суток из значения типа Дпгв. Час суток находится в диапазоне от 0 до 23. Единственный параметр и - это выражение, имеющее тип Дата. (РасхНакл. Дата) ' /¦ j МИНУТА (MINUTE) Дшшпи функция предназначена для получения минуты часа из значения ниш Дата. Минута часа находится в диапазоне от 0 до 59. Единственный нирнмстр функции — это выражение, имеющее тип Дата. 'РЛ( РасхНакл. Дата) _
2-498 1С:Предприятие 8.1. Конфигурирование и администрирование СЕКУНДА (SECOND) Данная функция предназначена для получения секунды минуты из значения типа Дата. Секунда минуты находится в диапазоне от 0 до 59. Единственный параметр функции - это выражение, имеющее тип Дата. СЕКУНДА(РасхНакл.Дата) ВЫРАЗИТЬ (CAST) Данная функция предназначена для выделения типа из выражения, которое может содержать составной тип. Если выражение будет содержать тип, отличный от требуемого, будет возвращено значение NULL. Параметры: • Преобразуемое выражение; • Тип — строка, содержащая строку типа. Например, Число, Строка и т. п. Кроме примитивных типов данная строка может содержать имя цы. В таком случае будет осуществлена попытка выразить к ссылке на указанную таблицу. .ВЫРАЗИТЬ (Данные. Реквизит!, "Число A0 Л) ") ECTbNULL(ISNULL) Данная функция возвращает значение второго параметра, если значение первого параметра NULL. В противном случае будет возвращено значение первого параметра ЕСТЬНОЬЬ(Сумма(Продажи.Сумма.Об рот) , 0) Функции общих модулей Выражение механизма компоновки данных может содержать вызовы функций глобальных общих модулей конфигурации и неглобальных общих модулей с установленным свойством Клиент. Никакого дополнительно синтаксиса для вызова таких функций не требуется. СОКРАЩЕННОЕНАИМЕНОВАНИЕ!Документы.Ссылка, Документы.Дата, Документы.Номер) В данном примере будет осуществлен вызов функции СОКРАЩЕННОЕНА- ИМЕНОВАНИЕ() из общего модуля конфигурации. Отметим, что использование функций общих модулей разрешено только при указании соответствующего параметра процессора компоновки данных. Кроме того, функции общих модулей не могут быть использованы в ниях пользовательских полей.
Глава 11. Система компоновки данных 2-499 Макеты областей Мпкет области представляет собой декларативное описание расположения иыводимых данных, а также их визуальное оформление, необходимое для ii ы вода данных в документы различных форматов. 1'уществуют несколько принципиально различных макетов областей: • собственно макет области, • макеты областей диаграммы. (' i руктура макетов показана на рисунке. Макеты Макет сблаоти Макет группировки диаграммы Макет диаграммы Макет ресурса диаграммы • Во встроенном языке системы 1С:Предприятие 8 макет области представляется объектом типа МакетОбластиКомпоновкиДанных. Данный объект является коллекцией объектов СтрокаТаблицыОбластиКомпонов- киДанных. Структура макета области Кик было сказано выше, макет области представляет собой коллекцию иОьектов типа СтрокаТаблицыОбластиКомпоновкиДанных. Строка таблицы представляет собой коллекцию ячеек, расположенных горизонтально слева Нипрлво. Таким образом, несколько идущих подряд строк таблицы области компоновки данных образуют прямоугольную таблицу. Коллекция ячеек таблицы щ объект представляет собой коллекцию ячеек строки таблицы. I •инсывается объектом встроенного языка ЯчейкиТаблицыОбластиКомпонов- ниДвнных. Элементами коллекции являются ячейки таблицы - объекты типа !юйкаТаблицыОбластиКомпоновкиДанных ЯчсПка таблицы представляет собой прямоугольную область, мую для вывода данных в документы различных форматов. Внутри ячейки Mot у г содержаться выводимые поля, текст и оформления. Коллекция элементов макета коллекция элементов макета (объект ЭлементыМакетаОбластиКомпо- ипйКиДвнных) представляет собой коллекцию полей (объектов типа ИшюОбластиКомпоновкиДанных). Данные объекты могут содержаться в йил/юкции в произвольном порядке. Данные, содержащиеся в этих объек- М1Ч, используются при выводе в документы различных форматов.
2-500 1 С:Предприятие 8.1. Конфигурирование и администрирование Поле Этот элемент представляет собой поле, выводимое в ячейке таблицы или в элементе списка. Внутри поля может содержаться произвольное значение и его оформление. Поле описывается объектом встроенного языка ПолеОб- ластиКомпоновкиДанных. Оформление ячейки таблицы Оформление ячейки таблицы представляет собой коллекцию объектов, описывающих оформление ячейки таблицы. Описывается объектом енного языка ОформлениеЯчейкиТаблицыОбластиКомпоновкиДанных. Оформление поля Оформление поля представляет собой коллекцию, содержащую всего один объект — элемент оформления Формат. Описывается объектом встроенного языка ОформлениеПоляОбластиКомпоновкиДанных. Структура макетов областей диаграммы Существует три типа макетов областей диаграммы: • макет диаграммы - объект типа МакетДиаграммыОбластиКомпоновкиДан- ных; • макет ресурса диаграммы - объект типа МакетРесурсаДиаграммыОблас- тиКомпоновкиДанных; • макет группировки диаграммы - объект типа МакетГруппировкиДиаграм- мыОбластиКомпоновкиДанных. При создании макетов диаграммы формируется один макет диаграммы, один макет ресурса диаграммы и несколько макетов группировок мы. Количество макетов группировок соответствует количеству точек и серий в диаграмме. Принцип работы Макеты областей используются при выводе отчетов в документы различных форматов. Макет области является составной частью определения макета компоновки данных - объекта типа ОпределениеМакетаМакетаКомпонов- киДанных. Для того чтобы в ячейках или элементах списка макета области выводились значения выводимых полей отчета, необходимо свойству Значение поля области компоновки данных (объект типа ПолеОбластиКомпоновкиДанных) присвоить значение типа ПараметрСистемыКомпоновкиДанных, содержащее, имя параметра. Сам параметр необходимо добавить к списку параметров определения макета и в качестве имени присвоить имя параметра, а в тве выражения — имя выводимого поля или выражение в терминах языка выражений системы компоновки данных.
Глава 11. Система компоновки данных 2-501 Макет диаграммы Макет диаграммы используется для описания типа диаграммы. Описывается объектом встроенного языка МакетДиаграммыОбластиКомпоновкиДанных. Макет ресурса диаграммы Макет ресурса диаграммы используется для формирования значений диаграммы и описывается объектом встроенного языка МакетРесурсаДиа- раммыОбластиКомлоновкиДанных. Макет группировки диаграммы Макет группировки диаграммы используется для формирования точек и серий диаграммы. Описывается объектом встроенного языка МакетГруппировкиДиа- граммыОбластиКомпоновкиДанных. Макеты оформления Макет оформления представляет собой декларативное описание деленных областей отчета. Данные описания используются генератором областей макетов при формировании макетов областей на основании элемен- 1Ш настройки компоновки данных. Для интфактивного создания макета оформления необходимо при создании мнкета с помощью конструктора макетов указать его тип Макет оформления компоновки данных и нажать кнопку Готово. На экран выводится окно макета оформления. щ' Конфигурация Шмонстра«1оннзяКЫфигураиияПримеры81: Мл Области фШЗЗЖИ ШШт I * При»*. [ Подваг группировки 11-Звгшювгж ЩЦЩ^0Ш л. Л группировки A-Прярагтьу^»—с»р<1 группировки [ ] Заголовок группироюм списка [ Г-Лодвалфупгвфовт списка (г-Загогрввк ШЩЩЯШШЛШ группировки с Подвал л <арин»с«зв ipyrrupoem списка Заголовок группировки колонки • Подвал группировки колонки Оформление взраиир7 -Цвет фона JNMftwe ' 0.0 0 ¦ 0.0.0 ¦Цвет в диграмме |0.0.0 Цвет границы 200.132.173 ? |-Стигыраницц Сппжтая Шрифт Шрифтдаатгоем меню "¦Отступ Авто отступ —nfcjjjggBgMjgnonoJ Прижать влево "в J| Щ Стандартный мэ№т Очистить макет Пример отчета Параметры данных Отбор: Параметр* 01.01.20060:00 00 Группировка! Содержит Трупе Пример таблицы Группировка! Группи ровка1 Иерарх Группировке _, Группировка! Иерархия Группировка* 1 Грути?ировкд2Иерархия Груптфовка2-1 Группнров«а2-1 Грулпнровта2-2 Гругтмровга2 -2 Грутировкагиерархия Группнровдг! -< Группировке Ресурс 10 Груп ров» -1 . Расу Щ.
2-502 1С:Предприятие 8.1. Конфигурирование и администрирование Окно конструктора состоит из списка областей оформления, таблицы настройки оформления и поля табличного документа Пример для показа результата выбранных настроек. Непустые области макета отображаются жирным шрифтом. С помощью контекстного меню перетаскивания параметры ния могут быть скопированы параметрами из одной области в другую или заменены. С помощью кнопки Стандартный макет можно загрузить уже ный макет из списка стандартных макетов, в который также войдут общие макеты конфигурации. Кнопка Очистить макет удаляет оформление в макете. Последовательность действий для настройки оформления следующая: • выбирается область оформления; • в таблице настроек указываются (устанавливаются пометки) ры, оформление которых требуется изменить, и указываются значения оформления; • результат внесенных изменений контролируется в поле Пример. Если предполагается, что в отчет будет выведено несколько уровней ровки, то нужно в списке областей для каждой области, в которой будут уровни, создать подчиненные области по числу уровней группировки. Для создания уровня области укажите область и нажмите кнопку Добавить дной панели. В список областей добавляется строка, имя которой УровеньЫ, где N - номер уровня группировки. Выбор оформления уровня группировки выполняется как описано выше. Замечание. Если было указано несколько уровней, то при удалении уровня группировки всегда удаляется самый нижний уровень текущей области, независимо от того, какой уровень в списке был выбран. Структура макета оформления Каждый макет оформления состоит из некоторого количества областей макета оформления. Область макета оформления имеет имя — строку из перечня областей макетов оформления, указывающую, к какой области применять данный макет, и коллекцию элементов оформления. Элемент оформления имеет два свойства: • Уровень—положительное число, причем если уровень равен 0, то ется, что оформление применяется по умолчанию ко всем макетам области определенного типа; • Оформление - коллекция, содержащая имена свойств оформления и га значения.
Глава 11. Система компоновки данных 2-503 Во встроенном языке системы 1 (^Предприятие 8 макет оформления ляется объектом типа МакетОформленияКомпоновкиДанных. Макет оформления компоновки данных Данный объект представляет собой коллекцию областей макета оформления. Эта коллекция реализована в виде значений параметров. Именем параметра является имя области. Имя области является предопределенной строкой из перечня областей. Значением параметра является объект типа ОбластьМаке- табформленияКомпоновкиДанных. Область макета оформления компоновки данных Данный объект представляет собой описание предопределенной области и является коллекцией элементов области макета оформления (объектов типаЭлементОбластиМакетаОформленияКомпоновкиДанных). Элемент области макета оформления компоновки данных Данный объект представляет собой описание области макета для ленного уровня иерархии. Если в качестве номера уровня указан 0, то считается, что данный макет оформления применяется ко всем областям данного типа. _ Генератор областей макетов Генератор областей макетов позволяет динамически формировать макеты тей компоновки данных, используемых для вывода результата компоновки дпнных в документы различных форматов. Под макетом области ся декларативное описание расположения выводимых данных и их оформление. При работе генератора областей макетов можно выделить следующие •щшы: • формирование общих макетов отчета; • формирование макетов группировок; • расположение группировок; • расположение выводимых полей группировок; • применение макета оформления; • применение условных оформлений; • объединение ячеек. Рассмотрим каждый этап работы генератора областей макетов. Формирование общих макетов отчета II и данном этапе генератором областей макетов на основании настройки компоновки данных создаются общие макеты. Тип и количество макетов шнисят от типа элемента настройки компоновки данных.
2-504 1С:Предприятие 8.1. Конфигурирование и администрирование Макет группировки Для группировки формируется специальный макет - шапка группировки. Данный макет содержит названия выводимых полей в левой части макета и названия выводимых ресурсных полей в правой части макета, например: Контрагент Номенклатура Контрагент.Код Номенклатура.Код Номенклатура.Наиме- нование Количество Сумма Макет таблицы Для таблицы формируется следующая группа макетов: . • Макет шапки таблицы. Данный макет содержит названия выводимых полей строк таблицы, например: Контрагент Контрагент.Код Номенклатура Номенклатура-Код НоменклатураЛаименование Макет итогов по строкам. Данный макет содержит специальное слово Итого и названия ресурсных полей, если они выводятся горизонтально, например: .Итого Количество Сумма Макет итогов по колонкам. Данный макет содержит специальное слово Итого и названия ресурсных полей, если они расположены но, например: Итого Количество Сумма Макет общих итогов. Данный макет содержит ресурсные поля, мые в таблице и необходимые для отображения в таблице общих итогов, например: Представление( Сумма(Продажи.КоличествоОборот)) Представление( Сумма(Продажи.СуммаОборот)) Расположение данных макетов внутри таблицы показано ниже. Шапка таблицы Область строк Макет итогов по колонкам Область колонок Область ресурсов Область итогов по колонкам Макет итогов по строкам Область итогов по строкам Макет общих итогов
Глава 11. Система компоновки данных 2-505 Расположение макетов итогов по строкам и колонкам управляется свойст- пими РасположениеОбщихИтоговПоГоризонтали и РасположениеОбщихИто- говПоВертикали соответственно. Возможны следующие варианты жения общих итогов: • Нет - общие итоги не выводятся. Шапка таблицы бласть строк Область колонок Область ресурсов Начало - общие итоги выводятся в первой колонке или в первой строке таблицы соответственно. Шапка таблицы Макет итогов по колонкам Область строк Макет итогов по строкам Макет общих итогов Область итогов по строкам Область колонок Область итогов по колонкам Область ресурсов Конец - общие итоги выводятся в последней колонке или в последней строке таблицы соответственно. Шапка таблицы Область строк Макет итогов по колонкам Область колонок Область ресурсов Область итогов по колонкам Макет итогов по строкам Область итогов по строкам Макет общих итогов • НачалоЙКонец — общие итоги выводятся в первой колонке/строке, а также в последней колонке/строке таблицы. Шапка таблицы Макет итогов но колонкам ()бласть строк Макет итогов по колонкам • Авто - итог по строкам Макет итогов по строкам Макет общих - итогов Область итогов по строкам Макет общих итогов и по колонкам pacnoj - в последней колонк Область колонок Область итогов по колонкам Область ресурсов Область итогов по колонкам [агаются в послед Макет итогов по строкам Макет общих итогов Область итогов по строкам Макет общих итогов ней строке, а итоги
2-506 1 С:Предприятие 8.1. Конфигурирование и администрирование Макет диаграммы В макете содержатся оформительские свойства диаграммы. Формирование макетов группировок В настройке компоновки данных существует три вида группировок: • группировка; • группировка таблицы; • группировка диаграммы. Для каждого вида группировок формируется свой набор макетов областей. Однако расположение группировок друг относительно друга, расположение выводимых полей внутри областей группировок и расположение ресурсных полей делается единообразно. При формировании любого макета области группировки можно выделить следующие этапы: • Определение типа макета группировки. Тип макета ки получается из параметра ТипМакетаГруппировкиКомпоновкиДанных объекта ЗначенияПараметровВыводаКомпоновкиДанных. Данное тво имеет смысл только для простых группировок, т. е. группировок, не входящих в таблицу и диаграмму. Возможны следующие варианты расположения выбранных полей: • Авто - автоматическое определение расположения выбранных полей: если в группировке есть вложенная таблица, диаграмма, вложенный отчет или группировка с типом макета ки Вертикальный, то выбранные поля располагаются вертикально, иначе - горизонтально. • Горизонтальный - расположение выбранных полей горизонтально, друг за другом слева направо. Контрагент Номенклатура Алекс-2002 1С:Аспект 7.7 Контрагент.Код Номенклатура.Код Номенклатура.Наименование 00009 00015 1С:Аспект 7.7. Компактная торговая система • Вертикальный - расположение выбранных полей вертикально, друг под другом. Контрагент Контрагент.Код Номенклатура Номенклатура.Код Номенклатура. Наименование Алекс-2002 00009 1С:Аспект 7.7 00015 1С:Аспект 7.7. Компактная торговая система
Глава 11. Система компоновки данных 2-507 Расположение группировок друг относительно друга. ние группировок друг относительно друга управляется параметром РасположениеПолейТруппировки объекта ЗначенияПараметровВыво- даКомпоновкиДанных. Возможны следующие варианты расположения: • Вместе - группировки располагаются друг под другом. Например, для группировок по контрагенту и номенклатуре. Контрагент Номенклатура Алекс-2002 1С:Аспект 7.7 Контрагент.Код Номенклатура.Код Номенклатура.Наименование 00009 00015 1С:Аспект 7.7. Компактная торговая система • Отдельно — каждая группировка располагается в отдельной ти. Группировки располагаются друг за другом слева направо. Выводимые поля группировки выводятся также и во вложенных группировках. Контрагент Алекс-2002 Ллекс-2002 гент.Код 00009 00009 Номенклатура Номенклату- ра.Код нование 1С:Аспект 7.7 00015 Ю.Аспект 7.7. Компактная торговая система • ОтдельноИТолькоВИтогах - каждая группировка располагается в отдельной области. Группировки располагаются друг за другом слева направо. Выводимые поля выводятся только в данной группировке. Контрагент Ллекс-2002 Контрагент.Код 00009 Номенклатура Номенкла- тура.Код именование 1С: Аспект 7.7 00015 1С: Аспект 7.7. Компактная торговая система Расположение выводимых полей. Существуют поля двух видов: собственно выводимые поля (поля-владельцы и/или их реквизиты) и ресурсные поля. Вывод данных полей имеет существенные различия: • Вывод полей. Как указано выше, существуют цы и поля-реквизиты. Поля-владельцы выводятся в макет области в соответствии с их порядком следования в настройке компоновки данных. Расположение полей-реквизитов управляется специальным параметром РасположениеРеквизитов объекта Значе- нияПараметровВыводаКомпоновкиДанных. Возможны следующие варианты расположения: ° Вместе - поля реквизитов располагаются вместе в отдельной колонке и при выводе разделяются запятой.
2-508 1С:Предприятие 8.1. Конфигурирование и администрирование Контрагент Номенклатура Контрагент.Код Номенклатура.Код, Номенклатура.Наименование | Отдельно - каждое поле реквизита располагается в отдельной колонке. Контрагент Номенклатура Контрагент.Код Номенклатура.Код Номенклатура.Наименование ВместеСВладельцем - поля реквизитов располагаются в одной колонке с их полем-владельцем и при выводе разделяются запятой. Контрагент, Контрагент.Код Номенклатура, Номенклатура-Код, НоменклатураЛаименование ВСпециальной Позиции - поля-реквизиты располагаются в специальной колонке, размещенной правее всех остальных колонок группировки. Контрагент Номенклатура 'КонтрагентКод Номенклатура.Код, НоменклатураНаименование Вьшод полей, расположенных в папках. Расположение данных полей управляется свойством Расположение папки. Возможны следующие варианты расположения: D Авто - поля выводятся в зависимости от типа группировки. Если группировка простая, то поля выводятся горизонтально, если группировка табличная, то вертикально. Контрагент Номенклатура Реквизиты номенклатуры Номенклату- ра.Код нование Номенклатура.ОснПост Контрагент Реквизиты номенклатуры Номенклатура Номенклатура.Код Номенклатур а.Наименование Номенклатура.ОснПост Горизонтально - поля выводятся горизонтально слева направо. Контрагент Номенклатура Реквизиты номенклатуры Номенклату- ра.Код нование Номенклатура.ОснПост
Глава 11. Система компоновки данных 2-509 Вертикально - поля выводятся вертикально друг под другом. Контрагент Номенклатура Реквизиты номенклатуры Номенклатура.Код Номенклатура.Наименование Номенклатура. ОснПост ВОтдельнойКолонке - поля выводятся в отдельной колонке, расположенной правее всех остальных колонок. Контрагент Контра- гент.Код Номенклатура Реквизиты номенклатуры ра.Код нование Номенклату- ра.ОснПост Вместе - поля выводятся вместе и при выводе разделяются запятой. нтрагент Номенклатура — Реквизиты номенклатуры , Номенклатура.Код, Номенклатура.Наименование, Номенклатура.ОсновнойПоставщик Вывод ресурсных полей. Специальное свойство РасположениеРесурсов объекта ПараметрыВывода управляет расположением ресурсных полей. Возможны следующие варианты расположения: Горизонтально - поля ресурсов располагаются горизонтально слева направо. Вертикально - поля ресурсов располагаются вертикально друг под другом. 1'.сли для папки не установлен заголовок, то место для заголовка в макете ми выделяется. В этом случае поля выводятся в соответствии со значением пюйства Расположение папки. Применение макета оформления После расположения группировок и полей к сформированной области применяется макет оформления. Смысл применения макета оформления гостоит в том, что всем элементам макета области добавляются ранее определенные свойства оформления, например ЦветФона или ЦветТекста. Сюит отметить, что существует большое количество макетов оформления мАлостей.
2-510 1С:Предприятие 8.1. Конфигурирование и администрирование Применение условных оформлений После применения макета оформления к макету области применяются ! условные оформления. Применение условного оформления заключается в том, что в макет области добавляются свойства оформления, содержащие логические выражения. В результате вычисления логического выражения j принимается решение, какое значение оформительского свойства необходи- I мо применить. Объединение ячеек После формирования макета области в ней могут оказаться незаполнен-1 ные ячейки. Такие ячейки необходимо объединять для более наглядного I представления макета области. Возможны следующие варианты расположе-1 ния ячеек. • Незаполненные ячейки расположены справа от заполненных ячеек. Ячейки, расположенные справа, объединяются с ячейками слева. | =» I 1 —> • Незаполненные ячейки расположены под заполненными ячейками. Ячейки, расположенные снизу, объединяются с ячейками вверху. • Незаполненные ячейки расположены и справа, и под заполненными ячейками. Ячейки, расположенные справа, объединяются с ячейками слева. Затем ячейки, расположенные снизу, объединяются с ячейками вверху. ¦———??——+¦ I i > 1 Формирование макета компоновки данных Формирование макета компоновки данных осуществляется на основание схемы компоновки данных и настроек. Схема компоновки данных создаете! разработчиком отчета, настройки вводятся пользователем. Формирование макета компоновки осуществляется при помощи объект! встроенного языка КомпоновщикМакетаКомпоновкиДанных. Данный объект не имеет свойств и имеет один метод Выполнить(), в которы! передается схема компоновки данных, настройки компоновки данных переменная, в которую помещается объект ДанныеРасшифровки, и макет оформ ления. Данный метод возвращает созданный макет компоновки данных.
Глава 11. Система компоновки данных 2-511 В процессе работы компоновщик макета: • создает макет компоновки; • модифицирует запросы наборов данных для получения нужной вателю информации и помещает их в макет компоновки; • формирует фильтры в тексте запроса или описании набора данных; • при необходимости создает наборы данных для получения и проверки иерархии; • в макете компоновки данных создает нужные параметры со ми, установленными пользователем; • заполняет элементы тела макета компоновки данных, в которые помещает группировки, таблицы и т. д., заполняет их параметры; • использует генератор областей макета (см. стр. 2-503). Если указан макет оформления (четвертый параметр), данный макет будет зоваться для оформления генерируемого макета; • если указан третий параметр, создает объект ДанныеРасшифровки и помещает его в переданную переменную. Созданный таким образом объект нужно использовать при работе процессора компоновки и при отработке расшифровки. Пример кода: • 'хемаКомпоновкиДанных = ПолучитьСхемуКомпоновкиДашшх(); ИсполняемыеНастройки = ПолучитьИсполняемыеНастройки(); КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; МлкетКомпоновки = КоююновщикМакета. Выполнить (СхемаКоююновкиДанных,! ИсполняемыеНастройки); ('(сданный макет компоновки данных может быть использован для нения, т. е. для получения результата. Процессор компоновки данных Исполнение компоновки данных осуществляется при помощи объекта системы 1С:Предприятие 8.1 ПроцессорКомпоновкиДанных. Пп вход процессору компоновки данных передается макет компоновки дшшых. I'nftnrn с процессором компоновки данных предельно проста: после усишовки процессору компоновки данных макета компоновки данных у итого объекта можно последовательно получать элементы результата компоновки данных, которые в дальнейшем можно использовать, например, in пывода в табличный документ или сохранить для последующего использования.
2-512 1С:Предприятие 8.1. Конфигурирование и администрирование Ниже приведен пример работы с процессором компоновки данных. *i ЭлементыФормы.ТДРезулътатТабличныйДокумент.Очистить(); МакетКошюновкиДанных = ПолучитьМакетКомпоновки(); ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных; ЛроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновкиДанных) ;t ПроцессорВывода = Новый ПроцессорВыводаРезультатаКошюновкиДанныхВТабличныйДокумент ;< ПроцессорВывода.УстановитьДокумент( ЭлементыФормы.ТДРезультатТабяичныйДокумент); j ПроцессорВывода.НачатьВывод(); Пока Истина Цикл ЭлементРезультатаКомпоновкиДанных = ПроцессорКомпоновкиДанных.Следующий)); Если ЭлементРезультатаКомпоновкиДанных = Неопредеяено Тогда Прервать; КонецЕсли; ПроцессорВывода. ВывестиЭлемент(ЭлементРезультатаКомпоновкиДанных); КонецЦикла; j ПроцессорВывода.ЗакончитьВывод(); При инициализации процессора компоновки данных можно но указать: • объект — внешние наборы данных — структуру, у которой в качестве ключа содержится имя внешнего набора данных, а в качестве ения - набор данных; • данные расшифровки - объект, в который будет помещаться ция о расшифровке; • возможность использования внешних функций — признак, можно ли в выражениях использовать функции общих модулей конфигурации. Результат компоновки данных Результат компоновки данных представляется набором элементов результата компоновки данных. Как объект встроенного языка системы 1С:Предприя- тие 8.1 результат компоновки данных не существует, существует лишь набор элементов результата компоновки данных, которые и образуют результат. При необходимости элементы результата компоновки данных могут быть помещены в некоторую универсальную коллекцию значений, например Массив, для того, чтобы манипулировать результатом как единым целым, J
Глава 11. Система компоновки данных 2-513 Элементы результата могут быть получены при помощи объекта Процес- порКомпоновкиДанных, а также могут быть созданы и заполнены средствами lie троенного языка. Элементы результата компоновки данных можно вывести в табличный документ при помощи процессора вывода. Рассмотрим пример элементов данных. Элемент 1 Свойство Тип элемента Макеты Расположение пложенных чггементгт Значение Начало ЗаголовокТаблнцы, ЗаголовокКолонки, ЗаголовокСтроки, Ресурсы Вертикально Элемент 2 Свойство Тип элемента Расположение вложенных элементов нение Начало Горизонтально * Элемент 3 Свойство Тип элемента Имя макета Значение *** НачалоКонец ЗаголовокТаблнцы Элемент 4 Свойство Тип элемента Имя макета Значение НачалоКонец ЗаголовокКолонки Элемент 5 Свойство Тип элемента Значение Конец Элемент 6- Ювойство ' 111 Тип элемента Расположение вложенных элементов Начало Горизонтально Элемент 9 Элемент 10 Свойство Тип элемента 'Значение Конец Элемент 7 Свойство Тип элемента Имя макета Значение НачалоКонец ЗаголовокСтроки Элемент 8 Свойство Тип элемента Имя макета Зчгшсиие НачалоКонец Ресурсы Свойство Тип элемента Значение Конец
2-514 1С:Предприятие 8.1. Конфигурирование и администрирование Результат вывода таких элементов должен выглядеть следующим образом: ЗаголовокТаблицы ЗаголовокСтроки ЗаголовокКолонки Ресурсы Если бы элемент 2 содержал макеты ЗаголовокТаблицы и ЗаголовокСтроки, то при выводе элемента 3 использовался бы макет из этого элемента, однако при выводе элемента 7 использовался бы макет из элемента 1, т. к. элемент 2 завершается элементом 5. Элементы результата могут быть сохранены в XML стандартными вами, например: ЗаписьХМЬ = Новый ЗаписьХМЬ; ЗаписьХМЬ.УстановитьСтроку(); ЗаписьХМЬ.ЗаписатьНачалоЭлемента("result"); МакетКомпоновкиДанных = ПолучитьМакетКомпоновки(); ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновкиДанных. Инициализировать (МакетКомпоновкиДанных),- I Пока Истина Цикл ЭлементРезультатаКомпоновкиДанных = ПроцессорКомпоновкиДанных.Следующий(); Если ЭлементРезультатаКомпоновкиДанных = Неопределено Тогда Прервать; КонецЕсли; СериализаторХОТО.3 аписатьХМЬ( ЗаписьХМЬ, ЭлементРезультатаКомпоновкиДэнных, "item", "http://v8.1c.ru/8.1/data-coHiposition-system/result"); КонецЦикла; ЗаписьХМЬ.ЗаписатьКонецЭлемента(); ЭлементыФормы.РезультатКомпоновкиДанных. УстановитьТекст(ЗаписьХМЬ.Закрыть()); Вывод результата компоновки в табличный документ Вывод отчета в табличный документ осуществляется при помощи объектд ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент. Элементы результата компоновки могут быть получены при помощи процессора компоновки данных либо сформированы любыми другими средствами.
Глава 11. Система компоновки данных 2-515 11ример вывода результата компоновки данных в табличный документ: ')лементыФормы. ТДРезультатТабличныйДокумент. Очистить () ; МакетКомпоновкиДанных = ПояучитьМакетКомпоновки(); ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновкиДанных); . ИроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ИроцессорВывода.УстановитьДокумент( |ЭлементыФормы.ТДРезультатТабличныйДокумент); i ИроцессорВывода.НачатьВывод(); Пока Истина Цикл ЭлементРезультатаКомпоновкиДанных = ПроцессорКомпоновкиДанных.Следующий(); Если ЭлементРезультатаКомпоновкиДанных = Неопределено Тогда Прервать; КонецЕсли; 11роцессорВывода.ВывестиЭлемент( ЭлементРезультатаКомпоновкиДанных); IонецЦикла; ИроцессорВывода.ЗакончитьВывод(); — Гикже имеется возможность использовать метод Вывести() объекта ИроцессорВывода. В качестве параметраметода следует указать поновкиДанных. В этом случае вывод результата компоновки будет выгаядеть шк: ill if )цессорВывода. Вывести ШроцессорКомпоновкиДаняьос); Вывод результата компоновки й таблицу и дерево значений II 1.1 под отчета в таблицу или дерево значений осуществляется при помощи мГн.скта ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений. Mirnvt УстановитьОбъект() является аналогом метода УстановитьДокумент(). I «'ни метод УстановитьОбъект() не был вызван, результат будет выведен в палицу значений. •цементы результата компоновки могут быть получены при помощи процессора компоновки данных либо сформированы любыми другими • |»f летами. 11|)Нмср вывода результата компоновки данных в дерево значений: ¦ гщиновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; • т. гЮмпоновкиДаннах = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, ^ < >мпоновщикНа строек.Настройки, , , Гин("ГенераторМакетаКомпоновкиДанныхДляКоялекцииЗначений"));
2-516 1С:Предприятие 8.1. Конфигурирование и администрирование \ ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных,- 1 ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновкиДанных);'. ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗыачекий; ПроцессорВывода.УстановитьОбъект(ДеревоРезультата); ПроцессорВывода.НачатьВывод(); Пока Истина Цикл ЭлементРезультатаКомпоновкиДанных = ПроцессорКомпоновкиДанных.Следующий(); Если ЭлементРезультатаКомлоновкиДанных = Неопределено Тогда Прервать; КонецЕсли; ПроцессорВывода.ВывестиЭлемент(ЭлементРезультатаКомпоновкиДанных); КоыецЦикла; ПроцессорВывода.ЗакоычитьВывод(); При выводе результата компоновки в таблицу или дерево значений вуют следующие ограничения: • в настройках должны присутствовать только группировки и ные записи. Использование таблиц, диаграмм и вложенных отчетов не допускается; • все папки, указанные в выбранных полях, игнорируются; • не используется условное оформление, а также оформление для поля, указанное в схеме компоновки данных; • из параметров вывода используются только следующие: • расположение общих итогов по вертикали; • тип заголовка полей; • количество записей; • процент записей. • предопределенные макеты не используются. Для вывода результата в таблицу или дерево значения реализовано два вида' макетов: макет для заголовка (МакетЗаголовкаКоллекцииЗначенийОблас-i ти КомпоновкиДанных) и макет содержимого (МакетКоллекцииЗначенийОб- ластиКомпоновкиДанных). Вывод данных в сводную таблицу Данные схемы компоновки можно выводить в сводную таблицу. Текущее состояние сводной таблицы можно сохранять как настройки системы компоновки. Сводная таблица выведет данные на основе настроек схемы I компоновки, при этом как структуру настроек, так и состав выбранные полей первоначальных настроек можно изменять.
Глава 11. Система компоновки данных 2-517 Для организации взаимодействия схемы компоновки данных со сводной тблицей в системе предусмотрен объект ИсточникДанныхСводнойТаблицы- КомпоновкиДанных. Устанавливая настройки этого объекта, следует иметь в инду следующие факторы: • глобальные выбранные поля настроек соответствуют измеримым ресурсам сводной таблицы; • . на данные сводной таблицы влияют глобальные отбор, ние и параметры; • структура группировок строк и столбцов первой таблицы настроек служит образцом для формирования структуры измерений в строках и столбцах сводной таблицы соответственно. При этом в расчет маются только группировки с одним полем группировки. Группировки с единственным полем группировки, которое уже использовано в одной из ранее рассмотренных группировок, игнорируются. Выбранные поля найденных группировок соответствуют атрибутам измерений в сводной таблице. Кроме самой структуры настроек и выбранных полей на данные в сводной таблице влияют также отборы и упорядочивания групп, соответствующих измерениям. Расчет итогов по полям остатка ¦ системе компоновки данных Полем остатка с точки зрения макета компоновки данных является то, V которого в роли проставлен признак Остаток. Расчет итогов по полям остатка Hum в макете компоновки данных в некотором наборе данных присутствует ионе начального остатка, то в наборе данных также должно присутствовать ' i оотлетствующее ему поле конечного остатка, и наоборот. Mi'C поля-периоды, описанные в наборе данных, должны иметь ную нумерацию, начинающуюся с единицы. Дни корректного расчета итогов по полям источника данных данные Ишжиы удовлетворять следующему правилу: в данных должна соблюдать- i к уникальность значений полей-периодов и полей-измерений, т. е. данные ни должны содержать строк с одинаковыми значениями полей-периодов К нолей-измерений. 11|Ш рпечете итогов по полям-остаткам используется следующий алгоритм: • если требуется осуществить расчет итога поля-остатка для ки по полю-периоду: • если по всем полям-периодам уже была осуществлена ровка: I
2-518 1С:Предприятие 8.1. Конфигурирование и администрирование для каждой комбинации полей измерений, по которым влялась группировка: ¦ получается запись, ближайшая к текущему периоду; ¦ если полученная запись была на текущий период, то из данной записи будут получаться начальные и конечные остатки; ¦ иначе, если полученная запись имеет предыдущий период, конечный остаток записи будет использован как начальный и конечный остаток; ¦ иначе начальный остаток полученной записи будет зоваться как начальный и конечный остаток. • иначе (группировка еще не произведена по всем полям-периодам): D для каждой комбинации полей измерений, по которым влялась группировка: ¦ получается первая и последние записи, у которых пол« использованных периодов равны текущему периоду; ¦ если записи найдены, то первая запись будет ся как начальный, последняя - как конечный; ¦ если записи не найдены, то получается ближайшая запись я ее остатки используются как начальные остатки и конченые остатки в зависимости от того, предшествует ли найденн; запись текущему периоду. • иначе (не группировка по полю-периоду): • первые по хронологии записи для неиспользованных полей-измере ний будут использоваться в качестве записей начального остатка последние — в качестве конечного. Расчет итогов по полям бухгалтерских остатков Расчет итогов по полям бухгалтерских остатков выполняется аналогичн< расчету итогов по обычным полям-остаткам. Кроме того, при расчете итого по таким полям используется информация о поле-счете. Если итоги рассчи тываются для группировки по полю-счету или если до группировки, дл которой считаются итоги, была осуществлена группировка по полю-счет] при расчете итога используется вид счета. В противном случае вид счеп считается активно-пассивным. В зависимости от вида счета итоговый остаток будет вычисляться по следу ющим формулам. Если полученный остаток > 0 Если полученный остаток < О Активный Пассивный АП Дт Остаток 0 Остаток Кт 0 - Остаток 0 Активный Пассивный АП Дт Остаток 0 0 Кт 0 1 - Остаток! - Остаток!
Глава 11. Система компоновки данных 2-519 Компоновка макета Для обеспечения расчета корректных итогов компоновщик макета при I еиерации макета выполняет дополнительные действия: если используется начальный остаток, автоматически добавит в запрос и поле конечного остатка, даже если он не используется, и наоборот; • если в отчете используется поле-реквизит измерения, автоматически добавит в запрос само поле-измерение, даже если оно не используется. Работа с иерархией в системе компоновки данных II системе компоновки данных имеются следующие аспекты использования иерархии: • иерархические группировки; • условие В ИЕРАРХИИ. 1'нссмотрим перечисленные аспекты подробнее. Иерархические группировки I | и создании группировки пользователь может указать для некоторого поля I руипировки необходимость выполнения иерархической группировки. Дни того чтобы система выполнила иерархическую группировку, процес- t'tipy компоновки данных необходимо знать, откуда получать данные для Построения иерархии. Реализуется это путем создания набора данных с ушииием связи набора данных самого к себе. 1'нссмотрим пример. Допустим, необходимо построить иерархию для поля ниш Справочник.'Номенклатура. I lllfiop данных для построения иерархии будет выглядеть так: мшрать "*| Номенклатура.Ссылка КАК Ссылка, Номенклатура.Родитель КАК Родитель м i j Справочник.Номенклатура КАК Номенклатура 1 "* I Номенклатура.Ссылка В(&Ссьшки) Дни )Toro набора данных должна быть определена связь от поля Родитель ii нолю Номенклатура с параметром Ссылка. Таким образом, набор данных шпнолит последовательно получить всех родителей элемента. Iliiflup данных для построения иерархии может быть либо явно описан И i емс компоновки данных, либо будет автоматически сгенерирован компо- П нищи ком макета компоновки данных.
2-520 1 С:Предприятие 8.1. Конфигурирование и администрирование В случае указания набора данных иерархии в схеме компоновки необходимо добавить, например, запрос следующего вида: ВЫБРАТЬ Номенклатура.Ссылка КАК Ссылка, Номенклатура.Родитель КАК Родитель {ВЫБРАТЬ Ссылка.*, Родитель} ИЗ I ГДЕ Справочник.Номенклатура КАК Номенклатура Номенклатура.Ссылка В(ЬСсылки) Этот набор данных необходимо связать сам с собой, как было описано выше. Кроме того, к набору данных нужно создать связь от поля, для которого требуется создать иерархию, например: 1 <dataSet> ; <пате>Продажи</пате> I <dataSource>Main</dataSource> <query> ВЫБРАТЬ ПродажиОбороты.Контрагент КАК Контрагент, ПродажиОбороты.Номенклатура КАК Номенклатура, ПродажиОбороты.КоличествоОборот КАК КоличествоОборот, | ПродажиОбороты.СуммаОборот КАК СуммаОборот {ВЫБРАТЬ Контрагент.*, Номенклатура, КоличествоОборот, СуммаОборот} ИЗ РегистрНакопления.Продажи.Обороты КАК ПродажиОбороты (ГДЕ ПродажиОбороты.Контрагент.*, ПродажиОбороты.Номенклатура, ПродажиОбороты.КоличествоОборот, ПродажиОбороты.СуммаОборот} </query> </dataSet> <dataSet> <пате>НоменкяатураИерархия</name> <dataSource>Main</dataSource> <guery> ВЫБРАТЬ Номенклатура.Ссылка КАК Ссылка, Номенклатура.Родитель КАК Родитель {ВЫБРАТЬ Ссылка.*, Родитель} ИЗ Справочник.Номенклатура КАК Номенклатура ГДЕ Номенклатура.Ссылка В(&атр;Ссылки)</query> ' <?ield> -, к ¦ , <dataPath>Pp^HTejib</TdataPat^>-i-ti ,u „_„^,„.*»_*_„,;_,J.. ^ .„.„.t
Глава 11. Система компоновки данных 2-521 <?1е1<5>Родитеяь</ЙГе13>*'" " 'Т <useRestriction> <field-»true</field> <condition>true</condition> ' <group>t rue</group> <order>true</order> </useRestriction> <-/field> •-t'ield> '-'•' s.r„, <dataPath>HoMeHKJtaTypa</dataPath> <field>C<a«iKa</field> <useRest riction> <field>true</field> <condition>true</condition> <group>true</group> <order>true</оrder> </useRestriction> ¦ /field> /dataSet> dataSetLink> <sourceDataSet>npofiansn</sourceDataSet> <dest inat ionDataSet>HoMeHKflaTypaHepapxMH</dest inat ionDataSet> <sourceExpression>HoMerauiaTypa</sourceExpression> <destinationExpression>HoMeHKnaTypa</destinatidlExpression> <parameter>CcHflKH</parameter> <parameterldstAllowed>true</parameterListAllowed> /dataSetLink> l.'itaSetLink> <sonrceDataSet>HoMeHKnaiypaMepapxMH</sourceDataSet> <dest inat ionDataSet>HoMeHKHaTypaHepapxHH</dest inat ionDataSeti* <sourceExpression>PofiKTenb</sourceExpression> <destinationExpression>HoMeKKnaTypa</destinationExpression> ,. <parameter>CcbwiKK</parameter> ,«.*tv*: <parameterListAllowed>true</parameterListAllowed> /ilataSetLink> Иерархические детальные записи 1'утествует возможность выводить в отчет детальные записи с иерархией, используя настройки связей наборов данных. 11киример, определим набор данных Номенклатура: I'NHPATb 1 Номенклатура.Ссыпка, Номенклатура.Родитель, Номенклатура.Код, Номенклатура.Наименование, Номенклатура.ЭтоГруппа и i Справочник.Номенклатура КАК Номенклатура i И Номенклатура.Родитель В (ЬРодитель) I )црсделим связь набора данных Номенклатура с самим собой.
2-522 1 С:Предприятие 8.1. Конфигурирование и администрирование 1 яаваЕЕд Нафрыдаиньй! Связи наборов данных f 8ычнсяяЁауые пойя , Реезрсы . Параметры .Макеты , б/тен^сяе^^ Настройки, Номенклатура Номенклатура Ссылка Родитель В качестве поля выражения-источника установим поле Ссылка, в качестве выражения-приемника - поле Родитель. Параметр связи - поле Родитель, с возможностью получения списка параметров. Таким образом, из каждой строки набора данных система будет выбирать значение поля Ссылка, и для него будут получены записи, в которых это значение содержится в поле Родитель. Для того чтобы дочерние элементы выбирались только в группах, установим выражение условия связи, равное полю ЭтоГруппа. В качестве начального значения иерархической связи будем использовать выражение Значение(Справочник.Номенклатура.ПустаяСсылка). Оно означает, что на первом уровне иерархического набора данных будут получены записи, поле Родитель в которых является пустой ссылкой на справочник Номенклатура. Для вывода такого набора данных в отчет в настройках схемы компоновки достаточно вывести детальные записи. Полученный результат приведен на рисунке: Действия» > С<щатцялть ^Констрдкгор настроев. Настройки. JL Мони 15' LG Studioworks 575N Мони 17' 1G7S20 Мони 19" Hitachi CM71 SET Монитор LCD 221 M8537ZM/A Системные блоки и комплектующее Сист блок Hewlett-Packard Brio BA410 Мониторы Сист блок Hewlett-Packard Vectra VL420 Сист блок IBM MetVista А22р Сист блок IBM NetVist M41 D$s?P"y$P$WJ,!rP, j?anon LBP-810 ffa.?gPflb|ft.?j?!lHJeJ 5250197-203 Minolta-QMS .й8.?.^"^!^."^^"!^.^.^^.^^2^^1^1 m Системные блоки и комплектующее Системные блоки и комплектую шуге Системные оки и шу\е _ -»fajL^." Щ Вывод одного элемента в нескольких родительских записях Система компоновки данных позволяет выводить один элемент в ких родительских записях при построении иерархии. Приведем пример. В конфигурации создадим два справочника: Дети и Сотрудники.
Слева 11. Система компоновки данных 2-523 И справочнике Сотрудники создадим записи: Иванова Мария, Иванов Иван. II справочнике Дети создадим запись: Иванов Степан. Допустим, в регистре сведений Дети сотрудников есть записи: I' бенок 11 пнов Степан 11 нов Степан Родитель Иванов Иван Иванова Мария Совдадим запрос набора данных Дети, который будет получать список детей: ННБРАТЪ Дети.Ссылка ич Справочник.Дети как Дети Создадим также запрос набора данных Иерархия, который будет получать иерархические записи: ИЗБРАТЬ ДетиСсотрудников.Ребенок КАК Ссылка, ' _ ДетиСотрудников. РодительРебенка КАК Родитель ., НЧ I РегистрСведений.ДетиСотрудников КАК ДетиСотрудников 1'ДЕ ДетиСотрудников.Ребенок В(&Ссылка) ПКЪЕДИНИТЬ ВСЕ . ,,, HIJDPATb Сотрудники.Ссылка, NOLL "'' - I Справочник.Сотрудники КАК Сотрудники ' 1ДЕ Сотрудники.Ссылка В(ЬСсылка) :<;, .,_,_, ,..„ _„,.,,s) 11срвое объединение запроса выбирает родителей детей. Вторая часть си ныбирает сотрудников, так как иерархический набор должен содержать и тми иерархические записи. ()пишем связи между наборами данных. II качестве источника связки укажем набор данных Дети, приемника - набор пых Иерархия. Выражение-источник - поле Ссылка, ник - поле Ссылка. Параметром связи укажем поле Ссылка; укажем, что Но ниожен список параметров. • )|шшем иерархическую связь. Набор данных Иерархия свяжем сам с собой, шшс-источник - Родитель, поле-приемник - Ссылка. Параметром связи укижем поле Ссылка и укажем возможность списка параметров.
2-524 1С:Предприятие 8.1. Конфигурирование и администрирование Внимание! Поле иерархического набора данных, с которым вляется связь набора данных, должно именоваться так же, как и вш исходном наборе данных. В противном случае система не сможет получать реквизиты полей для иерархического набора, в том числе не- сможет получать представление для иерархических значений. Ребено Иванов Иван Иванов Степан Иванова Мария Иванов Степан В настройках отчета создадим иерархическую ровку по полю Ссылка, представление которого изменим на Родитель, и выполним отчет. В результате запись Иванов Степан выведена в обеих группировках. Условие В ИЕРАРХИИ Пользователь может указать для поля условие В ИЕРАРХИИ. В этом случа пользователю должны выдаться записи, находящиеся в иерархии указанно] ссылки. Если такое условие наложено в глобальном фильтре, оно попадет в текс запроса в виде условия В ИЕРАРХИИ. Если условие используется не в глоб ном фильтре, то, чтобы отработать условие, процессору компоновки данны необходимо иметь набор данных, который будет содержать ссылки, удовле воряющие условиям. Такой набор данных может быть либо явно описан в схеме компоновю данных, либо будет автоматически сгенерирован компоновщиком макета. Использование системы компоновки данных при разработке прикладных решений В процессе разработки прикладных решений система компоновки данны| может быть использована средствами встроенного языка в соответстви с описанной выше объектной моделью. Кроме этого система компоновки данных может быть задействована пр| визуальном вании отчетов. Например, после создания объекта конфигурации Отчет можно создать макет этого отчета, содержащий схему новки данных. Для этого следует нажать кнопку открытия у поля ввода Основная схема компоновки данных. диви. > Основные Данные Фермы Макеты Подсистемы Права Интерфейсы Прочее Имя: [Отчет! Синоним | Отчет! Комментарий: I Основная скема омпоновк.и хинным: Открыть еиемз компоновки денньи [ Действия *] <Назда j Далее> } [ Закрыть [] | '&№&*_ .. -..- .. . IIII ....JU'.'P.J.. jg-^w
Гпава 11. Система компоновки данных 2-525 И результате этих действий будет открыт конструктор макета, который позволит создать макет, содержащий схему компоновки данных. ISffllfffflfffBFffi Г ¦ ТГ'| ' Н — J9 Имя: ' Синоним: Комментарий; Ос ют шОм* »&якооктшйа*** Основная схема компоновки данных ¦Быберигетнп макета. R Табличный документ —_ Текстовый документ Двоичные данные Active document НТМ1 документ Географическая схема Графическая снемз •> Схема компановки дзниш . J Макет оформления компоновки данный И. /0^8&к1'.Л i Отмена j Справка j После нажатия кнопки Готово будет открыт конструктор схемы ки дпнных, с помощью которого можно создать схему компоновки данных U'M. стр. 2-465) или загрузить существующую схему компоновки из докумен- UI XML. После создания схемы компоновки данных отчет готов к работе и может fli J11> запущен в режиме 1С:Предприятие. Система при запуске отчета автома- ичсски сгенерирует форму отчета и форму настроек. I In мкладке Формы кроме основной формы отчета можно указать основную фирму настроек отчета, которая будет появляться при выполнении коман- 41.1 Настройки отчета в режиме 1С:Предприятие и которая используется для и шипения состава элементов, выводимых в отчете, их порядка и нии. Основные Данные ' Макеты 1 Подсистемы Права Интерфейсы ! Прочее 1 Зсновная Форма отчета: • Зсновная Форма настроек: ^t«t 1 ? Зшшш ДЗР ¦ н*м и*ы : , , ,—,———¦ ¦""—¦ | Действия *| j <Назад j j Далее? | | Закрыть | Ставка \
2-526 1С:Предприятие 8.1. Конфигурирование и администрирование Нажатие на кнопку Открыть схему компоновки данных на вкладке Основные позволит открыть основную схему компоновки данных. Если схемы нет, то будет создана новая и назначена основной. Если существует необходимость модификации формы отчета, генерируемой по умолчанию, то для этого можно воспользоваться конструктором формы отчета. Конструктор позволяет создавать формы, использующие систему компоновки данных. _ja Cfj53 §Ито#*>ос-вть систему компоновку данных рормаОтчета Синоним: [Форма отчет Комментарий: Г [^Команд! ,ная панель формы сверху ?Командная панель формы снизу <Намд | Далее > | | Готово | | Отмена | Справка | Также следует заметить, что кроме работы с объектом конфигурации Отчя существует возможность создания общих форм, содержащих схему компв новки данных. Такие формы могут быть использованы при работе с системоЯ компоновки данных средствами встроенного языка. J
Глава 12 Анализ данных и прогнозирование Механизм анализа данных предназначен для поиска и анализа ностей в данных информационной базы. Основные объекты механизма Механизм представляется совокупностью объектов встроенного языка системы 1С:Предприятие 8. Схема взаимодействия основных объектов механизма показана на рисунке ниже. Схема объектов механизма анализа данных Выборка для прогноза Настройка колонок анализа данных Параметры анализа данных Анализатор Настройка колонок выборки Настройка колонок результата Модель прогноза Результат работы модели Объекты, которые могут быть использованы на сервере системы 1С:Предприятие 8.1, отображены на схеме в блоках с белым фоном; объекты, используемые только на клиенте, помещены в блоки с темным фоном.
2-528 1С Предприятие 8.1. Конфигурирование и администрирование I Настройка колонок анализа данных — совокупность настроек входных! колонок анализа данных. Для каждой колонки указывается тип данных, содержащихся в ней; роль, выполняемая колонкой; дополнительные ки, зависящие от типа производимого анализа. Параметры анализа данных - набор параметров производимого анализа данных. Состав параметров зависит от типа анализа. Например, для кластера >- го анализа указывается количество кластеров, на которые необходимо разбить исходные объекты, тип измерения расстояния между объектами и т. п. Исходные данные - источник данных для анализа. В качестве источник ка данных может выступать результат запроса, область ячеек табличного документа, таблица значений. Анализатор - объект, непосредственно выполняющий анализ данных. Объекту устанавливается источник данных, задаются параметры. Резуль тагом работы данного объекта является результат анализа данных, тип которого зависит от типа анализа. Результат анализа данных — специальный объект, содержащий информа цию о результате анализа. Для каждого вида анализа предусмотрен сво :\ результат. Например, результатом анализа данных дерево решения будет объект типа РезультатАнализаДанныхДеревоРешений. В дальнейшем тат может быть выведен в табличный документ при помощи построителя отчета анализа данных; может быть выведен посредством программно! >> доступа к его содержимому; может быть использован для создания модел прогноза. Любой результат анализа данных может быть сохранен для после дующего использования. Модель,прогноза — специальный объект, позволяющий выполнять прогно! на основании входных данных. Тип модели зависит от типа анализа данных^ Например, модель, созданная для анализа данных поиск ассоциаций, будс иметь тип МодельПрогнозаПоискаАссоциаций. Такая модель сможет выдавать прогнозы следующего типа: так как данный покупатель купил заданный набор товаров, то с определенной вероятностью он должен купить и другой набор товаров. На вход модели прогноза передается источник данных для прогноза. Результатом является таблица значений, содержащая емые значения. Выборка для прогноза - таблица значений, результат запроса или область табличного документа, содержащая информацию, по которой мо построить прогноз. Например, для модели прогноза поиск ассоциаций выборка может содержать перечень продуктов документа продажи. тат же работы модели может рекомендовать, какие товары можно еще предложить покупателю. Настройка колонок выборки — набор специальных объектов, щих соответствие между колонками модели прогноза и колонками выборки
Глава 12. Анализ данных и прогнозирование 2-529 прогноза. Например, колонке модели прогноза с именем Товар может соответствовать колонка выборки Номенклатура. Настройка колонок результата - позволяет управлять тем, какие колонки будут помещены в результирующую таблицу модели прогноза. Например, для поиска ассоциаций мы можем вывести в результат номенклатуру, которую, скорее всего, приобретет клиент, и вероятность подобной покупки. \\чулътат работы модели - таблица значений, состоящая из колонок, как указано в настройках результирующих колонок, и содержащая емые данных. Конкретное содержимое определяется типом анализа. Построитель отчета анализа данных - объект, позволяющий выводить in чет о результате анализа данных. Кроме того, построитель отчета предо- ептляет специальные объекты для связи с данными, чтобы позволить пользователю интерактивно управлять параметрами анализа, настройкой hojiOHOK источника данных, настройкой колонок модели прогноза и т. п. Типы анализа Мохшшзм позволяет выполнять следующие типы анализаг • общая статистика; • поиск ассоциаций; • поиск последовательностей; • дерево решений; • кластерный анализ.
Глава 13 Механизмы обмена данными Цели и задачи Механизмы обмена данными — это набор средств системы 1 С:Предприятие 8, i предназначенных для организации обмена данными между различными, информационными базами, а также информационными базами и внешними программными системами. Механизмы обмена данными могут быть услов-J но разделены на два уровня: • универсальные механизмы обмена данными, • распределенные информационные базы. Универсальные механизмы обмена данными Универсальные механизмы обмена данными могут использоваться как' вместе, так и по отдельности, в различных комбинациях, для организа-j ции обмена данными информационных баз системы 1С:Предприятие 8 с I различными программными системами. В качестве программных систем, с которыми организуется обмен, могут выступать другие информационные базы системы 1С:Предприятие 8. При этом обменивающиеся между собой информационные базы могут в общем случае иметь разные конфигурации. Кроме того, универсальные механизмы обмена данными могут ваться для организации обмена с программами, не основанными на системе 1С:Предприятие 8. Этому способствуют следующие факторы: • Формат обмена данными основан на языке XML, являющемся на няшний день общепринятым средством представления данных. • Средства обмена данными, благодаря своей модульной организации и высокой гибкости, могут быть использованы для организации разных схем обмена данными. • Протоколы, предлагаемые механизмами обмена данными, несложны и могут быть воспроизведены во внешних программных системах.
Глава 13. Механизмы обмена данными 2-531 Распределенные информационные базы Распределенная информационная база представляет собой иерархическую структуру, состоящую из отдельных информационных баз системы 1С:Предприятие 8 - узлов распределенной информационной базы, между которыми организован обмен данными с целью синхронизации конфигурации и данных. Механизмы управления распределенными информационными базами базируются на универсальных механизмах обмена данными, но содержат некоторые дополнительные возможности, недоступные через ные механизмы. Главное отличие распределенных информационных баз от универсальных механизмов обмена данными заключается в том, что универсальные мы обмена данными позволяют выстраивать достаточно произвольные схемы обмена данными, в то время как распределенные информационные базы имеют более узкую специализацию. Универсальные механизмы обмени данными К универсальным механизмам обмена данными могут быть отнесены: • средства чтения и записи документов XML; • XML-сериализация; • планы обмена. Средства чтения и записи документов XML Предполагается, что участники обмена данными обмениваются ями в формате XML. Таким образом, средства чтения и записи документов XML образуют базовый уровень обмена данными. Средства чтения и записи документов XML обеспечивают работу с документами XML в самом общем виде. Данный набор средств не ляет способов представления данных системы 1С:Предприятие 8.1 в формате XML. К средствам чтения и записи документов XML, предоставляемым системой 1С:Предприятие 8.1, относятся объекты: ЧтениеХМЦ ЗаписьХМ и ПреобразованиеХБЬ Также платформа предоставляет возможность работать с XML-данными в формате Fastlnfoset, для чего существуют объекты MTeHweFastlnfoset и 3a™cbFastlnfoset.
2-532 1 С:Предприятие 8.1. Конфигурирование и администрирование XML-сериализация Основная задача XML-сериализации - поддержка чтения/записи объектов данных системы 1С:Предприятие 8 в/из XML. Базовые средства чтения и записи документов XML не предоставляют достаточной основы для решения данной задачи. Они не определяют форматов представления данных системы 1С:Предприятие 8 в XML и не предоставляют средств для чтения/записи объектов данных в/из XML в принятом формате как единого целого. Представление данных в XML-сериализации В конечном счете каждый объект данных системы 1С:Предприятие8 представляется как элемент XML, содержащий значение объекта данных. С точки зрения представления в XML типы значений делятся на простые и сложные. К простым типам данных относятся типы, значения которых представляются подсистемой XML-сериализации в виде элементов XML только с текстовым содержимым. Значения сложных типов представляются в виде элементов XML, щих вложенные элементы. Каждому из типов данных системы 1С:Предприятие 8, значения которых могут быть представлены в XML, ставится в соответствие тип данных XML. Каждый тип данных XML характеризуется именем типа и пространством имен, к которому относится тип. Тип данных XML может быть следующим: • одним из типов, определенных в документе XML Schema Part 2: Datatypes консорциума W3C (пространство имен - http://www. w3.org/2001/XMLSchema); • предопределенным типом системы 1С:Предприятие 8 (пространство имен - http://v8.1c.ru/data); • типом, производным от метаданных конфигурации системы 1С:Предприятие 8 (не относится ни к какому пространству имен). В представлении объекта данных в XML тип данных XML может быть задан в явном виде. Для задания типа данных XML элемент XML, щий представление значения, должен содержать атрибут type, относящийся к пространству имен http://www.w3.org/2001/XMLSchema-instance, значение которого содержит тип данных XML.
Глава 13. Механизмы обмена данными 2-533 Другим возможным способом задания типа данных XML является имя вого элемента XML, содержащего представление значения. Имя корневого •шемента, представляющего объект данных, жестко не специфицируется и может быть произвольным. Однако если при записи значения в XML имя корневого элемента не задано, то оно будет установлено в соответствии с типом записываемого значения. При чтении данных из XML тип значения, ¦ если он не задан в атрибуте type, может быть установлен по имени го элемента. При рассмотрении примеров представления различных значений в XML и при дальнейшем изложении будем исходить из предположения, что лены следующие соответствия пространств имен: xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:v8="http://v8.1c.ru/data" Представление значений простых типов в XML К простым типам с точки зрения представления в ХМТ^относятся щие типы системы 1С:Предприятие 8.1: Число, Строка, Дата, • Булево, ДвоичныеДанные, NULL, УникальныйИдентификатор, ХранилищеЗначения, • все ссылки на объекты базы данных, • ссылки на перечисления, определяемые в метаданных. Типу Число соответствует тип данных XML decimal из пространства имен hllp://www.w3.org/2001/XMLSchema. Правила представления значений данного типа определены в документе XML Schema Part 2: Datatypes. Ниже приведены примеры представления шпчений типа Число в XML. • I— Не задано явно имя корневого элемента 4 • (leciffial>45684.087</decimal> •!-- Явно задано имя корневого элемента XML —> ¦Amount>523</Amount> ¦ I -- Явно указан тип данных XML --> >Dnta xsi:type="xsd:decimal">64793.01</Data>
2-534 1С:Предприятие 8.1. Конфигурирование и администрирование Типу Строка соответствует тип данных string из пространства имен http://www. w3.org/2001/XMLSchema. Строка записывается в XML как есть. Ниже приведены примеры представления в XML значений типа Строка. <!— Не задано явно имя корневого элемента —> <string>3TO такая CTpoKa</string> <!— Явно задано имя корневого элемента XML —> <Name>I4BaHOB</Name> <!-- Явно указан тип данных XML --> <Data xsi:type="xsd:string">3TO такая строка</ОаЬа> Значения типа Дата представляются в виде CCYY-MM-DDTHH:MM:SS, где CCYY - год, представленный в виде четырех цифр, ММ - месяц, ленный двумя цифрами, DD — день месяца двумя цифрами, Т - латинская буква Т, НН - час суток, ММ - минута, SS - секунда. Такой формат даты определен как допустимый в документе XML Schema Part 2: Datatypes. Ниже приведены примеры представления в XML значений типа Дата. <!— Не задано явно имя корневого элемента —> <dateTime>2003-ll-21T12:00:00</dateTime> <!— Явно задано имя корневого элемента XML —> <Started>2001-10-30T19:00:00</Started> <!— Явно указан тип данных XML --> <Data xsi:type="xsd:dateTime">1980-08-25T10:00:00</Data> Типу Булево соответствует тип данных boolean из пространства имен http:// www.w3.org/2001/XMLSchema. Значение Ложь представляется строкой false, а значение Истина — строкой true. Такой формат предусмотрен в документе XML Schema Part 2: Datatypes. Ниже приведены примеры представления в XML значений типа Булево. <!— Не задано явно имя корневого элемента —> <boolean>false</boolean> <!— Явно задано имя корневого элемента XML --> <Posted>true</Posted> <!— Явно указан тип данных XML --> <Data xsi:type="xsd:boolean*>true</Data> Типу ДвоичныеДанные соответствует тип данных XML base64Binary из пространства имен http://www.w3.org/2001/XMLSchema. Значения данного типа представляются как двоичные данные, ные с использованием алгоритма Base64, описанного в RFC 2045. Ниже приведены примеры представления в XML значений типа ныеДанные. <!— Не задано явно имя корневого элемента —> <base64Binary>YWJjZGVm</base64Binary>
Глава 13. Механизмы обмена данными 2-535 <|— Явно задано имя корневого элемента XML —> <BinaryData>YW j ZGVm</BinaryData> <!— Явно указан тип данных XML --> <Data xsi:type="xsd:base64Binary">YWJjZGVm</Data> Типу Null соответствует тип данных XML Null из пространства имен http://v8.1c.ru/data. Данный тип имеет одно-единственное значение, которое представляется пустой строкой. Ниже приведены примеры представления в XML значений типа Null. 1 <!— Не задано явно имя корневого элемента —> <v8:Null/> <|— Явно задано имя корневого элемента XML —> <Selected/> <!— Явно указан тип данных XML —> <Data xsi:type="v8:Null"/> Типу УникальныйИдентификатор соответствует тип данных XML UUID in пространства имен http://v8.1c.ru/data. Значения данного типа представляются в XML в соответствии с принятой практикой и стандартами (ISO-11578, DCE 1.1: Remote Procedure ("nil - Universal Unique Identifier). 11нже приведены примеры представления в XML значений типа ныйИдентификатор. <!-- Не задано явно имя корневого элемента —> •-v8:UUID>3294be0f-c039-41a9-bd65-596da0dcfe68</v8:UUID> I— Явно задано имя корневого элемента XML —> •td>da035e32-3f7a-4d87-9c6d-acc?7db8cb4b</Id> >. I— Явно указан тип данных XML —> ittota xsi:type="v8:UUID"> 08893b0b-5ec3-4a53-a9f5-173312316919</Data>- Тнпу ХранилищеЗначения соответствует тип данных XML ValueStorage из пространства имен http://v8.1c.ru/data. '(качения данного типа представляются в XML как данные щеЗначения, сохраненные в файл, а затем закодированные с использованием илгоритма Base64. 11нже приведены примеры представления в XML значений типа щеЗначения. !-- Не задано явно имя корневого элемента --> .vB:ValueStorage>AQEOAAAAAAAAAO+7v3siUyIsIjHQoSJ9</v8: '¦' <lueStorage> I - Явно задано имя корневого элемента XML —> I ч ta>AQEOAAAAAAAAAO+7v3siUylsIjHQoSJ9</Data> I •- Явно указан тип данных XML --> linta xsi:type="v8:ValueStorage">AQEOAAAAAAAAAO+7v3siUyIsIjHQoSJ9</Data>
2-536 1 С:Предприятие 8.1. Конфигурирование и администрирование Каждому из типов ссылок на объекты базы данных соответствует свой собственный тип данных XML. Имя типа данных XML для ссылок на ты базы данных соответствует англоязычному имени типа значения ссылки системы 1С:Предприятие 8.1. Так, например, для справочника Валюты англоязычное имя типа ссылки будет выглядеть как CatalogRef.BanreTbi. Так же будет выглядеть и имя типа данных XML. Типы данных XML для ссылок на объекты базы данных не относятся ни к какому пространству имен. Значения ссылок представляются в XML как значения типа УникальныйИден- тификатор, полученные из ссылок. Ниже приведены примеры представления в XML значений ссылок на ты базы данных. I <!— Не задано явно имя корневого элемента --> <<CatalogRef.BaHKH>911b5b8b-llf5-4993-9673-2c9a7a8995d5</ CatalogRef.Банки> ;<!-- Явно задано имя корневого элемента XML --> •<Ref>911b5b8b-llf5-4993-9673-2c9a7a8995d5</Ref> ;<!-- Явно указан тип данных XML —> <Data xsi:type="CatalogRef.Банхи">911Ь5Ь8Ь-11?5-4993-9673- I_2c9a7a8995d5</Data> Каждому из типов ссьшок на значения перечислений, определенных в конфигурации, соответствует свой собственный тип данных XML. Имя типа данных XML для ссылок на значения перечисления соответствует Ч англоязычному имени типа системы 1С:Предприятие 8.1. Так, например, для перечисления ВидыАдресов англоязычное имя типа ссылки на значение будет выглядеть как EnumRef.BHflbiAflpecoB. Так же будет выглядеть и имя типа данных XML. Типы данных XML для ссылок на значения перечислений не относятся ни к какому пространству имен. В XML ссылки на значения перечислений представляются в виде имени соответствующего значения перечисления. Ниже приведены примеры представления в XML ссьшок на значения перечислений. <:— Не задано явно имя корневого элемента —> <EnumRef .ВидыДдресов>К)ридический</ЕпшпЕе?.ВидыАдресов > "<!— Явно задано имя корневого элемента XML --> <Re f>Юридиче ский</Re f> '<!-- Явно указан тип данных XML --> j<Data xsi:type=*EnumRef.ВидыАдресов">Физический</0аЪа> -.,-«.л ,--.
Глава 13. Механизмы обмена данными 2-537 Представление значений сложных типов в XML К сложным типам, значения которых могут быть представлены в XML, ш носятся следующие типы системы 1С:Предприятие 8. • Тип, • ОписаниеТипов, • КонстантаМенеджерЗначения.<Имя константы>, • все объекты базы данных, • наборы записей регистров, последовательностей, перерасчетов, • УдалениеОбъекта. Типу Тип соответствует тип данных XML Type из пространства имен http://v8.1c.ru/data. Элемент XML, представляющий значение данного типа, содержит текст, в котором записано имя типа XML, соответствующего типу чинных системы 1С:Предприятие 8. 11рнмеры представления в XML значений типа Тип приведены ниже. ¦I-- Не задано явно имя корневого элемента —> ¦v8:Type>v8:ValueStorage</v8:Type> "~ •I-- Явно задано имя корневого элемента XML —> Tp>xsd:string</Tp> •I-- Явно указан тип данных XML —> • li.ita xsi: type="v8:Type">v8:Valuestorage<Data> Пи первый взгляд тип Тип относится не к сложным, а к простым типам /щи пых, так как элемент, представляющий значение данного типа, не 1'одсржит вложенных элементов. Однако это не так. Вложенных элемен- i действительно нет. Но при этом текст элемента, содержащий имя типа одпшых XML, содержит префикс пространства имен типа, который должен ими. определен-в данном элементе или одном из родительских элементов, •по делает текст элемента не вполне самодостаточным. Поэтому данный тип иц отнесен к простым типам. limy ОписаниеТипов соответствует тип данных XMLTypeDescription из простран- l иш имен http://v8.1c.ru/data. Корневой элемент, представляющий значение ниш ОписаниеТипов, включает в себя ряд вложенных элементов, каждый из ногорых содержит некоторую составляющую часть описания типов. I hi шачение составляющих частей понятно из приведенного ниже примера. vB:TypeDescription> <v8:Types> <v8:Type>v8:UUID</v8:Type> <v8:Type>CatalogRef.Банки</v8:Type> <v8:Type>xsd:boolean</v8: Type> <v8:Type>xsd:decimal</v8:Type> </v8:Types>
2-538 1 (^Предприятие 8.1. Конфигурирование и администрирование <v8:NumberQualifiers> <v8:Digits>l0</v8:Digits> <v8:FractionDigits>2</v8:FractionDigits> <v8:AllowedSign>Any</v8:AllowedSign> </v8:NumberQualifiers> <v8:StringQualifiers> <v8:Length>3 0</v8:Length> <v8:AlloweflLength>Variable</v8:AllowedLength> </v8:StringQualifiers> <v8:DateQuali fiers> <v8: DateFractions>gate</v8: DateFractionp> .«4,н,,„,,4,„ </v8:DateQualifiers> J TypeDescription> Вложенный элемент Types из пространства имен http://v8.1c.ru/data жит представления отдельных типов, входящих в описание типов. Элемент с именем NumberQualifiers из пространства имен http://v8.1c.ru/data содержит квалификаторы числового значения. А элементы с именами StringQualifiers и DateQualifiers из того же пространства имен содержат квалификаторы строки и даты соответственно. Каждому из типов КонстантаМенеджерЗначения.<Имя константы> ет тип данных XML ConstantValueManager.<MMfl константы>, не относящийся ни к какому пространству имен. Пример приведен ниже. <ConstantValueManager.НазваниеОрганизации> <Value>000 "Мебиус"</Уа1ие> </ConstantValueManager.Название0рганизации> Объекты базы данных представляются в XML как совокупность значений реквизитов и табличных частей. Имя типа данных XML, го объекту базы данных, определяется как англоязычное имя типа значения системы 1С:Предприятие 8. Типы данных XML для объектов базы данных не относятся ни к какому пространству имен. Состав элементов XML, ных в корневой элемент, определяется типом объекта, а также составом реквизитов и табличных частей. Каждый из реквизитов представляется элементом XML, имя которого соответствует имени реквизита. Если тип значения реквизита не может быть однозначно определен из метаданных, то элемент XML, представляющий реквизит, содержит атрибут xsi:type, в котором указан тип значения XML. Каждая из табличных частей представляется элементом XML, имя которого совпадает с именем табличной части. Каждая из строк табличной части представляется элементом XML с именем Row. Реквизиты табличной части представлены элементами XML, ными в элемент Row. </v8:
Глава 13. Механизмы обмена данными 2-539 11нже приведен пример представления в XML объекта типа Документ.Заказ- Покупателя. •iDocumentOb j ect. ЗаказПокупателя> <Ref>8dl06783-9726-lld7-9334-0050ba8480bd</Ref <DeletionMark>false</DeleticmMark> ate>2003 04-15T12:00:00</Date> Д-,-;,-. и ..¦•:¦';}¦<¦*¦ ••' <Nturiber>00O00O06</Number> < Post ed>true</Posted> <ПодразделениеКомпании>317?130а-5а08-1Ы7-9324-0050Ьа8480М</ НодразделениеКомпании> <СтруктурнаяЕдииица xsi:type="CatalogRef.КассыКомлании">3171:12f4-| Пп08-1М7-9324-0050Ьа8480М</СтруктурнаяЕдиница> <KoHxpareHT>12952ac7-5a08-lld7-9324-0050ba8480bd</KoHTpareHT> <ЮрФизЛицоКонтрагента xsi:type="CatalogRef .K)pnOT>i4ecKMeflima">0aad| Г»81-5а08-11а7-9324-0050Ьа8480Ьа</ЮрФизЛицоКонтрагента> <ВалютаДокумента>029156Ь4-5а08-1Ы7-9324-0050Ьа8480Ьа</ ИплютаДокумента> < КурсДокумента>1</КурсДокумента> <УчитыватьНДС>Ьгие</УчитыватьНДС> <УчитыватьНП>?а18е</УчитыватьНП> <СуммаВключаетНДС>?а1ве</СуммаВключаетНДС> <СуммаВключаетНП>?а18е</СуммаВключаетНП> •(Комментарий/> <СуммаДокумента>44077.14</СуммаДокумента> <ВидОперании>СчетНа0плату</ВидОперации> .~ <ДоговорВзаиморасчетов>Ь0401?23-6е84-1Ы7-932с-0050Ьа8480Ьа</ ЙоговорВзаиморасчетов> <СкладКомпании>317П317-5а08-11а7-9324-0050Ьа8480Ьа</ i' и падКомпании> <Trai4eH>317fl311-5a08-lld7-9324-0050ba8480bd</TMnlHeH> <ДатаОплаты>2003-04-15Т00:00:00</ДатаОплаты> <АвтоРезёрвирование>?а1ве</АвтоРезервирование> «.АвтоРазмещение^а1зе</АвтоРазмещение> <КурсВзаиморасчетов>33.4209</КурсБзаиморасчетов> •;ТипСкидкиНаценки>00000000-0000-0000-0000-000000000000</ I »нСкидкиНаценки> <Организация>317?1308-5а08-11а7-9324-0050Ьа8480ЬЗ</Организация> | <ДатаОтгрузки>2003-04-15Т00:00:00</ДатаОтгрузки> ^OTBeTCTBeHHHu>4ff40e0b-5ac5-lld7-9325-0050ba8480bd</OTBeTCTBeHHHii> <КратностьДокумента>1</КратностьДокумента> <КратностьВзаиморасчетов>1</КратностьВзаиморасчетов> •Товары> <Row> <Номенклатура>297с6534-5а08-1Ы7-9324-0050Ьа8480М</Номенклатура> <ЕдиницаИзмерения>297с6535-5а08-1Ы7-9324-0050Ьа8480Ьа<*/ II циницаИзмерения> <Цена>4537.56</Цена> <Сумма>13612.68</Сумма> <СтавкаНДС>НДС20</СтавкаНДС> <СуммаНДС>2722.54</СуммаНДС> <CTaBKaHn>lac73736-5a08-lld7-9324-0050ba8480bd</CTaBKaHIl>J <СуммаШ1> 0 </СуммаНП> <ХарактеристикаНоменклатуры>00000000-0000-0000-0000- |И1П000000000</ХарактеристикаНоменклатуры> ^Размещение xsi:nil="true"/> <Коэффициент>1</Коэффициент> <Количество>3</Количество> <ПроцентСкидкиНацеыки>0</ПроцентСкидкиНаценки> </Row> <Row>
2-540 1С:Предприятие 8.1. Конфигурирование и администрирование <HoMerauiaTypa>317fl2d8~5a08-lld7-9324-0050ba8480bd<:/ Номенклатура> <ЕдиницаИзмерения>317?12аэ-5а08-11а7-9324-0050Ьа8480Ьа</ ЕдиницаИзмерения> <Цена>4915.55</Цена> <Сумма>19662.2</Сумма> <СтавкаНДС>НДС2 0</СтавкаНДО <СуммаНДС>3 9 3 2.4 4</СуммаНДО <СтавкаНП>1ас73736-5а08-1Ы7-9324~0050Ьа8480М</СтавкаНП> <Сумма НП> 0 </СуммаНП> <ХарактеристикаНоменклатуры>00000000-0000-0000-0000- |000000000000</ХарактеристикаНоменклатуры> <Размещекие xsi :nil=*'true*'/> <Коэффициент>1</Коэффициент> <Количество>4</Количество> <ЦроценгСкидкиНаценки>0</ПроцентСкидкиНаценки> I </Row> | </Товары> 1 <ВозвратнаяТара/> </DocumentObject.ЗаказПокупателя> Примечание. В используемом примере, а также в других примерах данной главы присутствуют длинные строки (например, <ЕдиницаИзме' peHMfl>3l7f12d9-5a08-11d7-9324-0050ba8480bd</EflMHML|all3MepeHMfl>). В связг с ограничением, накладываемым форматом книги, такие строки приво дятся с переносом на следующую строку текста. Реально такие строи записываются в модуле в одну строку. \ =====—=—=====— j Представление в XML набора записей включает отбор, по которому получен] набор записей, и сами записи, входящие в отбор. Значения отбора представ: лены во вложенном элементе XML с именем Filter, не относящимся н| к какому пространству имен. А все записи, составляющие набор записе» представлены во вложенном элементе с именем Records, также не относя щимся ни к какому пространству имен. Записи представлены элементам! XML с именем Record, вложенными в элемент Records. Имя элемента Recof также не относится ни к какому пространству имен. Ниже приведен пример представления в XML набора записей регистр накопления ОстаткиТоваровКомпании. <AccumuIationRegisterRecordSet.ОстаткиТоваровКомпании> <Filter> <Recorder xsi:type="DocumentRef.PeanM3a4MHToBapOB">1725f36e- i6f35-lld7-932d-0050ba8480bd</Recorder> j </Filter> <Records> <Record> I <Recorder xsi:type="DocumentRef.РеализацияТоваров">1725f3S| '-6f35-lld7-932d-0050ba8480bd</Recorder> j <Period>2003-04-13T17:45:39</Period> <MovementType>Expense</MovementType> <Active>true</Active> <HOMeHKnaTypa>297c6556-5a08-lld7-9324-0050ba8480bd</ J
Глава 13. Механизмы обмена данными 2-541 Номенклатура> <СкладКомпании>317П317-5а08-1Ы7-9324-0050Ьа8480Ьа</ I -к ладКомпании> <3аказ xsi:nil="true"/> <ЦенаВРознице>0</ЦенаВРознице> <ХарактеристикаНоменклатуры>00000000-0000-0000-0000- 000000000000</ХарактеристикаНоменкяатуры> <Количество>2</Количество> <ПодразделениеКомпании>317?130<3-5а08-11<37-9324- A05 0ba848 0bd< /ПодразделениеКомпании> </Record> <Record> <Recorder xsi:type="DocumentRef.РеализацияТоваров">1725?36е (if35-lld7-932d-0050ba8480bd</Recorder> <Period>2003-04-13T17:45:39</Period> '" k-Jt <MovementType>Expense</MovementType> <Active>true</Active> <Номенклатура>297с6558-5а08-11а7-9324-0050Ьа8480Ьа</ Hi >менклатура> <СкладКомпании>317?1317-5а08-иа7-9324-0050Ьа8480Ьа</ iкладКомпании> <3аказ xsi:nil="true"/> <ЦенаВРознице>0</ЦенаВРознице> <ХарактеристикаНоменклатуры>ас47а77е-5ес7-11<37-932 9- IHI'Hba8480bd</XapaKTepMCTHKaHoMeHKnaTypbi> <Количество>2</Количество> <ПодразделениеКомпании>317П30а-5а08-11а7-9324- iM)*iOba8480bd< /Подраздел ениеКомпании> </Record> •/Records> »/AccumulationRegisterRecordSet.ОстаткиТоваровКомпании> limy УдалениеОбъекта соответствует тип данных XML ObjectDeletion из Пространства имен http://v8.1c.ru/data. Корневой элемент XML-представ- нопия значения типа УдалениеОбъекта содержит один вложенный элемент i именем Ref из пространства имен http://v8.1c.ru/data, в котором находится Представление ссылки на объект базы данных. Ниже приведен пример представления в XML объекта типа УдалениеОбъ- »ито. WisObjectDeletion xmlns="http://v8.1c.ru/data"> <v8:Ref xsi:type='*CatalogRef .BaHKM">60c5cec3-7f6f-4ec3- 4f..'0-e757fe3614ca</v8:Ref> /W(lsObjectDeletion> Доступ к средствам XML-сериализации из встроенного языка Цчн работы с XML-представлениями значений простых типов ны иш метода глобального контекста - ХМ1.Строка() и ХМ1.3начение().
2-542 1 С:Предприятие 8.1. Конфигурирование и администрирование Метод ХМ1.Строка() имеет единственный параметр - значение, для которого нужно получить XML-представление. Это значение должно относиться к типу, являющемуся простым с точки зрения XML-сериализации. В ном случае будет вызвано исключение. При нормальном завершении функция возвращает строку, которая может быть использована как текст элемента XML, представляющего значение простого типа. Метод ХМ1.3начение() выполняет противоположную задачу. У этого метода два параметра: тип значения, которое нужно получить из строки, сама строка. Для преобразования типа данных системы 1С:Предприятие 8 в тип данным XML и наоборот предназначены методы ХМ1Лип() и ИзХМ1Липа(). МетоЯ XMLTunQ имеет один параметр - тип, для которого надо получить соответс-J твующий тип данных XML. Если соответствующий тип данных ХМШ определен, то метод возвращает значение типа ТипДанныхХМЬ. Если жм соответствующего типа данных XML нет, то метод возвращает значение Неопределено. Метод ИзХМ1Типа() имеет два варианта вызова. В первом варианте метол имеет единственный параметр типа ТипДанныхХМЬ. Во втором вариаь те параметра два: имя типа XML и пространство имен. В обоих случая* метод возвращает соответствующий типу данных XML тип данных системъ 1С:Предприятие 8, если таковой имеется, или Неопределено в противно* случае. Для записи и чтения различных значений в/из XML предназначены методЬ глобального контекста ЗаписатьХМЦ) и ПрочитатьХМЦ). Метод ЗаписатьХМЦ) имеет два обязательных параметра. Первый пара метр - это объект типа ЗаписьХМЦ через который осуществляется записи XML; а второй - значение, которое должно быть записано в XML. Необязя тельные параметры образуют три различных варианта вызова метода. В простейшем случае параметра три, и в качестве третьего параметру указывается значение перечисления НазначениеТипаХМЦ определяющее необходимость явного указания типа данных XML в атрибуте xsktype корнг вого элемента XML. У следующего варианта вызова в качестве третьего параметра использу» ется строковое значение, указывается имя корневого элемента XML. При этом подразумевается, что пространство имен не определено. Четверты параметр - значение типа НазначениеТипаХМЦ определяющее мость явного указания типа данных XML. И, наконец, у последнего варианта вызова после параметра, указывающего имя корневого элемента XML, появляется еще один параметр - строковое значение, обозначающее пространство имен, к которому относится корневой элемент. Последний параметр по-прежнему имеет тип НазначениеТипаХМЦ
Глава 13. Механизмы обмена данными 2-543 Зкач = "Строка такая"; ЗаписатьХМЫЗп, Знач); ЗаписатьХМЫЗп, Зкач, "Root", НазначениеТипаХМЬ.Явное) ; ЗаписатьХМЬ(Зп, Знач, "Root", "urn:some-namespace"); щ\ В результате выполнения приведенного выше фрагмента будет получен следующий XML-фрагмент. <string>OrpoKa TaKa#</string> <Root xsi:type="xsd:string">CTpoKa TaKa#</Root> <dlpl:Root xmlns:dlpl="urn:some-namespace">CTpoKa тaкaя</dlpl:Root> j Если в качестве значения, помещаемого в XML, будет передано значение типа, который не может быть представлен в XML, то будет вызвано чение. Метод ПрочитатьХМЦ) предназначен для чтения значений из XML. Данный метод имеет один обязательный параметр - объект ЧтениеХМЦ из которого должно быть прочитано значение. В качестве второго параметра может быть указан тип значения, которое должно быть прочитано из XML. Если тип •шачения явно указан в XML, то в качестве второго параметра может быть указано значение Неопределенно, или же он может быть вообще опущен. И этом случае метод ПрочитатьХМЦ) пытается определить тип читаемого значения по содержимому атрибута xsi:type, а если атрибут xsktype твует, то по имени элемента. Если не удалось установить тип или значение указанного типа не может быть прочитано из XML, то вызывается ние. При удачном завершении метод ПрочитатьХМЦ) возвращает считанное шачение. Следует обратить внимание на то, как считываются менеджеры значений констант, объекты базы данных и наборы записей. После успешного нения чтения метод ПрочитатьХМЦ) возвращает считанное из XML значение, но это значение еще не записано в базу данных. Если, например, считан ¦шемент справочника, то для того, чтобы считанный элемент справочника оказался записанным в базу данных, необходимо обратиться к его методу Звписать(), как и при «обычной» записи измененного состояния объекта. 'Это же относится и к другим объектам базы данных, менеджерам записи констант и наборам записей. При чтении объекта базы данных из XML в базе данных производится поиск объекта с таким же значением ссылки. Если такой объект найден, то считы- иие из XML выглядит так, как будто объект был прочитан из базы данных, после чего значения его реквизитов, табличных частей и т. п. перезапи-
2-544 1С:Предприятие 8.1. Конфигурирование и администрирование сываются полученными из XML значениями. Если же объект по ссылке не найден, то считывание из XML выглядит как создание нового объекта, установка ему значения ссылки и заполнение его содержимого значениями, прочитанными из XML. Метод ВозможностьЧтенияХМЦ) определяет, возможно ли считывание ния из объекта ЧтениеХМЦ находящегося в текущей позиции документа XML. Объект ЧтениеХМЬ передается данному методу в качестве параметра. Если метод возвращает Истина, то чтение возможно; если Ложь - значение не может быть считано. Метод ПолучитьХМ1Лип() позволяет получить из объекта ЧтениеХМЬ тип данных XML, соответствующий текущей позиции документа XML. Данный метод также имеет один параметр - ЧтениеХМЬ. Планы обмена Планы обмена являются центром, вокруг которого группируются прочие механизмы, связанные с обменом данными. В одной конфигурации жет быть определено произвольное количество планов обмена. Каждый из планов обмена определяет набор данных, которыми предполагается ваться в рамках данного плана обмена. Вместе с набором данных могут определяться и специфические форматы представления этих данных. Предполагается, что форматы данных основаны на XML, но благодаря гибкости языка XML и наличию развитых средств работы с XML в системе ,1С:Предприятие 8 остается достаточно большое пространство для ва в области способов представления данных. В планах обмена можно выделить две значимые составляющие: структура сообщений и служба регистрации изменений. Элементами данных плана обмена являются узлы плана обмена, подобно тому, как элементами данных справочника являются элементы ка. Каждый из узлов плана обмена обозначает участника обмена данными по данному плану обмена. Один из узлов соответствует данной мационной базе, а остальные — другим участникам, с которыми данная информационная база может обмениваться данными. Данные переносятся между узлами с помощью сообщений. Средства работы с сообщениями образуют инфраструктуру сообщений. Каждое сообщение относится к определенному плану обмена, имеет определенный тель и определенный узел-получатель. Сообщение не может быть отправлено неизвестному узлу и не может быть принято от неизвестного узла. Каждое сообщение имеет свой собственный целочисленный номер. Служба регистрации изменений предназначена для регистрации изменений данных, производимых системой 1С:Предприятие 8, чтобы при обмене ми иметь возможность передавать не все данные, а только измененные.
Глава 13. Механизмы обмена данными 2-545 Таким образом, планы обмена определяют набор механизмов, ченных для организации обмена данными. Рассмотрим эти механизмы подробнее. Узлы планов обмена При создании нового плана обмена в нем автоматически создается один узел — этот узел, или узел плана обмена, соответствующий данной мационной базе. Остальные узлы, то есть узлы, с которыми данный узел может обмениваться данными, в рамках плана обмена автоматически не создаются. Для каждого узла должен быть определен уникальный код, так как при обмене данными узел идентифицируется по коду. Коды узлов задаются таким образом, чтобы обменивающиеся стороны «узнали» друг друга. Предположим, требуется организовать обмен данными между двумя мационными базами по плану обмена с именем УдаленныеСклады. Одна из этих информационных баз выполняет функции центрального офиса, к другая - удаленного склада. И этом случае было бы целесообразно в качестве значения кода этого узла плана обмена УдаленныеСклады в первой информационной базе задать значение Офис (если, конечно, позволяет длина кода), а во второй - Склад1. Таким образом, эти узлы будут поименованы. Но этого недостаточно, ведь нпдо еще задать узлы, с которыми будет производиться обмен данными. Для этого в первой информационной базе в плане обмена УдаленныеСклады Следует создать узел с кодом Склад"!, а во второй информационной базе — узел с кодом Офис. Тпким образом, первая информационная база будет «знать», что в рамках плана обмена УдаленныеСклады ее саму «зовут» Офис и она будет вести обмен с узлом по имени Склад"!; а вторая - что ее «зовут» Склад1, а обмени- иигься данными она будет с узлом Офис. Инфраструктура сообщений Ипжнейшей составляющей инфраструктуры сообщений являются сами сообщения. Как уже отмечалось, сообщения передаются в рамках плана обмена от одного узла другому. То есть каждое сообщение точно ассоцииро- миио с планом обмена, имеет одного отправителя и одного получателя.
2-546 1С:Предприятие 8.1. Конфигурирование и администрирование Рассмотрим, что такое сообщение. Сообщение оформляется как документ XML, имеющий определенную структуру. В качестве примера приведем следующее сообщение: <v8msg .-Message xmins:v8msg="http://v8.lc.ru/messages"> <v8msg:Header> <v8msg:ЕхсЬапдеР1ап>УдаленныеСклады</v8rasg:ExchangePlan> <v8msg:То>Склад1</v8rasg:To> <v8msg:Frот>Офис</v8msg:From> <v8msg:MessageNo>20</v8msg:MessageNo> <v8msg:ReceivedNo>15</v8msg:ReceivedNo> , </v8msg:Header> <v8msg:Body> <J— Тело сообщения --> </v8msg:Body> </v8msg:Mes sage> Все сообщение находится внутри элемента XML с именем Message, щимся к пространству имен http://v8.1c.ru/messages. Сообщение делится на заголовок и тело сообщения. Соответственно, элемент Message содержит два вложенных элемента с именами Header и Body. Оба относятся к пространству имен http://v8.1c.ru/messages. Элемент Header содержит заголовок сообщения. Структура заголовка жестко задана. Информация заголовка представлена в нескольких элементах XML, вложенных в элемент Header. Все элементы, вложенные в элемент Header, относятся к пространству имен http://v8.1c.ru/messages. Элемент с именем ExchangePlan содержит имя плана обмена, к которому относится сообщение. Элемент с именем То содержит код узла-отправителя. Элемент с именем From содержит код узла, для которого предназначено сообщение. Элемент с именем MessageNo содержит номер данного сообщения. Номер сообщения является положительным целым числом и присваивается узлом- отправителем. Номер каждого последующего сообщения равен номеру предыдущего отправленного сообщения плюс 1. Элемент с именем ReceivedNo содержит максимальный номер сообщения, которое узел-отправитель данного сообщения принял от узла-получателя данного сообщения. Данное значение включено в состав заголовка ния для подтверждения приема сообщений. Тело сообщения содержится в элементе XML с именем Body, относящимся к пространству имен http://v8.1c.ru/messages. Данный элемент может иметь произвольное содержимое, определяемое прикладными потребностями. Инфраструктурой сообщений содержимое тела сообщения никак не ментируется.
Глава 13. Механизмы обмена данными 2-547 Служба регистрации изменений Суть регистрации изменений состоит в том, чтобы иметь перечень измененных элементов данных. Эти элементы данных должны быть переданы в очередном сообщении тому или иному узлу, с которым производится обмен данными. При каждом изменении данных должно быть зарегистрировано, что имеются изменения и их предстоит передать во все узлы, с которыми поддерживается обмен этими данными. При получении подтверждения приема сообщения, в котором были отправлены изменения, записи регистрации изменений должны быть удалены. Регистрация изменений может выполняться для следующих элементов данных: • КонстантаМенеджерЗначения.<Имя константы>; • Объекты базы данных: • СправочникОбъект.<Имя справочникам • ДокументОбъект.<Имя документам • ПланСчетовОбъект.<Имя плана счетов>; • ПланВидовХарактеристикОбъект.<Имя плана видов характеристику • ПланВидовРасчетаОбъект.<Имя плана видов расчетам • БизнесПроцессОбъект.<Имя бизнес-процессам • ЗадачаОбъект.<Имя задачи>. • Наборы записей: • РегистрСведенийНаборЗаписей.<Имя регистра сведенийм • РегистрБухгалтерииНаборЗаписей.<Имя регистра бухгалтериим • РегистрНакопленияНаборЗаписей.<Имя регистра накоплениям • ПоследовательностьНаборЗаписей.<Имя последовательности>; • РегистрРасчетаНаборЗаписей.<Имя регистра расчетам • ПерерасчетНаборЗаписей.<Имя перерасчетам Для каждого из приведенных элементов данных ведется своя таблица регистрации изменений. Таблицы имеют разную структуру, в зависимости iti того, для каких элементов данных регистрируются изменения, но нес-таки структуры таблиц подобны. В структуре можно выделить три «•оставляющих: • ключ элемента данных, для которого регистрируются изменения; • ссылка на узел, в который изменение должно быть передано; • номер сообщения, в котором изменение передано в первый раз.
2-548 1 С:Предприятие 8.1. Конфигурирование и администрирование Структуры таблиц регистрации изменений для разных данных отличаются ключом, так как ключи у разных данных разные. Для константы ключом является идентификатор константы. Для объектов базы данных в качестве ключа используется ссылка на объект. Для наборов записей, для которых определен регистратор, в качестве ключа используется ссылка на объект-регистратор. Для набора записей регистра сведений, если регистратор не определен, в качестве ключа используется совокупность измерений, входящих в ной отбор. А если регистр сведений является периодическим и включен основной отбор по периоду, то в ключ входит еще и период. При изменении элемента данных его изменение должно быть но для всех узлов, в которые изменение должно быть передано. Таким образом, в результате изменения элемента данных в таблице регистрации изменений / должно появиться N записей, где N - количество узлов, для которых рируются изменения. В каждой из этих записей указано одно и то же значение ключа элемента данных и различные значения ссылки на узел. Непосредственно после выполнения регистрации изменения номер ния имеет значение NULL. При первой отправке изменения в данное поле помещается номер сообщения, в котором изменение отправлено. При конфигурировании плана обмена определяется так называемый состав плана обмена. В состав плана обмена включаются объекты метаданных. ( Вхождение объекта метаданных в состав плана обмена показывает, что j изменения данных, соответствующих объекту метаданных, могут регистри- , роваться для узлов данного плана обмена. Если объект метаданных не входит j в состав ни одного плана обмена, то для данного объекта не создается таблица I регистрации изменений и регистрация изменений данных не выполняется. При определении вхождения объекта метаданных в состав плана обмена I указывается свойство Авторегистрация. Авторегистрацию можно разрешить I или запретить. Если авторегистрация разрешена, то при изменении данных | регистрация будет выполнена автоматически. Если запрещена, то регистра- I цию изменения можно выполнить вручную. Доступ к механизмам планов обмена средствами встроенного языка 1 Для работы с планами обмена из встроенного языка предусмотрен ряд i объектов. Объект ПланыОбменаМенеджер помимо традиционной для такого рода менеджеров функциональности содержит методы для работы со службой I регистрации изменений ЗарегистрироватьИзменения(), УдалитьРегистрациюИз-
Глава 13. Механизмы обмена данными 2-549 менений(), ИзменениеЗарегистрировано(), ВыбратьИзменения(), а также методы для создания объектов, читающих и записывающих сообщения: СоздатьЧте- ниеСообщения(), СоздатьЗаписьСообщения(). Для объекта ПланОбменаМенеджер.<Имя плана обмена> наиболее важной особенностью является наличие метода ЭтотУзел(), возвращающего ссылку на узел данного плана обмена, соответствующий данной информационной базе. ПланОбменаОбъект.<Имя плана обмена> соответствует узлу плана обмена. Особого внимания заслуживают свойства НомерОтправленного и НомерПринятого. Свойство НомерОтправленного содержит номер последнего сообщения, отправленного из данной информационной базы в адрес узла, которому соответствует объект ПланОбменаОбъект.<Имя плана обмена>. Свойство НомерПринятого содержит максимальный из номеров сообщений, принятых данной информационной базой от узла, которому соответствует объект ПланОбменаОбъект.<Имя плана обмена>. Регистрация изменений Кик уже отмечалось, регистрация изменений может выполняться тически при записи или удалении элемента данных. Рассмотрим, как это происходит. У каждого из объектов, перечисленных в параграфе «Служба регистрации изменений» на стр. 2-547, имеется свойство ОбменДанными с типом ПараметрыОбменаДанными. Данное свойство может быть исполь- 'ювано только для чтения и предназначено для управления различными нпраметрами при обмене данными. У объекта ПараметрыОбменаДанными есть свойство Получатели, имеющее run НаборУзлов. В данном свойстве хранится перечень узлов, для которых будет выполняться регистрация изменений при записи или удалении дииных. Список получателей заполняется автоматически перед тем, как будет вызван обработчик ПередЗаписью() при выполнении записи данных или ПередУдалением() при выполнении удаления. Однако автоматическое ннюлнение будет выполнено только в том случае, если свойство Лвтозаполнение объекта НаборУзлов имеет значение Истина (Истина является шипением по умолчанию для свойства Автозаполнение). При автоматическом ншолнении в список получателей попадают ссылки на все узлы всех планов обмена, в состав которых входит соответствующий объект метаданных, при условии, что значением свойства Авторегистрация является Разрешить. Само собой разумеется, что узлы, соответствующие данной информационной базе, При этом в список получателей не попадут. При выполнении автоматического ишолнения список получателей предварительно очищается.
2-550 1С:Предприятие 8.1. Конфигурирование и администрирование В обработчике ПередЗаписью() (и/или ПередУдалением()) в список лей можно внести изменения: добавить или удалить ссылки на узлы. Однако следует помнить, что список получателей может содержать только ссылки на узлы, относящиеся к планам обмена, в состав которых входит твующий объект метаданных. В приведенном ниже примере обработчик ПередЗаписью() исключает из списка получателей узел с кодом Особый плана обмена УдаленныеСклады. Процедура ПередЗаписыо () Узел = ПяаныОбмена.УдаленныеСклады.НайтиПоКоду("Особый"); ОбменДанными.Получатели.Удалить(Узел); КонецПроцедуры Присвоив свойству Автозаполнение значение Ложь, можно добиться того, что автоматическое заполнение списка получателей выполняться не будет. В этом случае действия со списком получателей можно производить не только в обработчике ПередЗаписью(), но и в любом фрагменте кода, как показано в примере. Объект = Ссылка.ПолучитьОбъект(); Узел = ПланыОбмена.УдаленныеСклады.НайтиПоКоду (*Склад1") ,- Объект.ОбменДанными.Получатели.Автозаполнение = Ложь; Объект.ОбменДанными.Получатели.Добавить(Узел); , Объект.3 аписать(); Ряд методов для регистрации изменений содержит объект ПланыОбменаМе- неджер. Прежде всего это метод ЗарегистрироватьИзменения(). Данный метод позволяет выполнять регистрацию изменений одиночных элементов данных или целых групп для одного или нескольких узлов. Первый параметр го метода - ссылка на узел плана обмена или массив ссылок на узлы, для которых выполняется регистрация изменений. Если первый параметр представляет собой одиночную ссылку на узел, то второй параметр может быть опущен. При этом выполняется регистрация изменений всех элементов данных, которые на данный момент присутствуют в базе данных и ния которых могут быть зарегистрированы для данного узла. Это может быть полезно для организации начальной передачи данных вновь созданному узлу. Узел = ПланыОбмена.УдаленныеСклады.НайтиПоКоду("Новый"); ПланыОбмена.ЗарегистрироватьИзменения(Узел); Если же первый параметр представляет собой массив ссылок на узлы, то второй параметр обязательно должен быть указан. Впрочем, второй параметр может присутствовать и в том случае, если первый параметр — одиночная ссылка на узел. В зависимости от способа задания второго параметра можно зарегистрировать изменения одного элемента данных или же всех данных, относящихся к одному объекту метаданных.
Глава 13. Механизмы обмена данными 2-551 Для регистрации изменений одного элемента в качестве второго параметра может быть указан сам элемент данных, ссылка на объект базы данных или объект типа УдалениеОбъекта. Если указан элемент данных, то регистрируется его изменение. Если указана ссылка на объект базы данных, то регистрируется изменение этого объекта. Цели второй параметр имеет тип УдалениеОбъекта, то регистрируется ние объекта базы данных, ссылку на который содержит УдалениеОбъекта. Узлы = Новый МассивB); Узлы[0] = ПланыОбмена.УдаленныеСклады.НайтиПоКоду("Склад1"); Узлы[1] = ПланыОбмена.УдаленныеСклады.НайтиПоКоду("Склад2"); Данные = Справочники.Номенклатура.НайтиПоКоду<"ТП00127"); ПланыОбмена.ЗарегистрироватьИзменения(Узлы, Данные); Для регистрации изменений всех данных, относящихся к объекту ных, в качестве второго параметра должен быть указан соответствующий объект метаданных. Узлы = Новый МассивB); Узлы[0] = ПланыОбмена.УдаленныеСклады.НайтиПоКоду(*Склад1"); Узлы[1] = ПланыОбмена.УдаленныеСклады.НайтиПоКоду(Тклад2"); ПланыОбмена.ЗарегистрироватьИзменения(Узлы, Метаданные Справочники.Номенклатура); Для удаления записей регистрации изменений у объекта ПланыОбменаМенед- иер имеется, метод УдалитьРегистрациюИзменений(). С его помощью можно исполнить удаление записей регистрации изменений для всех данных, когорые зарегистрированы для узла. Узел = ПланыОбмена.УдаленныеСклады.НайтиПоКоду("Склад1"); ИланыОбме а.УдалитьРегистрациюИзменений(узел); i - , .in» . ,1 a. it- ,.* -I i; ¦ . jj.j i u_e , Можно удалить, записи регистрации изменений конкретного элемента |цых для одного или нескольких узлов. '/ ты = Новый МассивB),• Viiiu[0] = ПланыОбмена.УдаленныеСклады.НайтиПоКоду ("Склад1") ; УшыЦ] = ПланыОбмена.УдаленныеСклады.НайтиПоКоду("Склад2") ; Хинные = Справочники.Номенклатура.НайтиПоКоду("ТП00127"); II п.шыОбмена. УдалитьРегистрациюИзменений (Узлы, Данные) ; ! ¦ ¦¦ , ¦¦ 'г ¦ .. I. ... it !_i I 1икже можно удалить записи регистрации изменений всех данных, щихся к объекту метаданных для одного или нескольких узлов. ^ i мы = Новый МассивB); • н|м[0] = ПланыОбмена.УдаленныеСклады.НайтиПоКоду("Склад1"); .'iiiufl] = ПланыОбмена.УдаленныеСклады.НайтиПоКоду("Склад2"); и ii шыОбмена. УдалитьРегистрациюИзменений (Узлы, Метаданные 1 щмпочники.Номенклатура) ; I |1»мс того, если в качестве первого параметра указан одиночный узел, in и качестве второго параметра может быть указан номер сообщения.
2-552 1С:Предприятие 8.1. Конфигурирование и администрирование В этом случае метод УдалитьРегистрациюИзменений() удаляет из всех таблиц регистрации изменений все записи, относящиеся к указанному узлу, у которых номер сообщения меньше или равен значению второго ра (но не NULL). Данная форма метода предназначена для удаления записей регистрации изменений, по которым получено подтверждение приема изменений от узла, указанного в первом параметре. Для проверки, зарегистрировано ли изменение элемента данных для того или иного узла, служит метод ИзменениеЗарегистрировано(). Первый параметр данного метода — ссылка на узел, а второй параметр - элемент Данные, ссылка на объект базы данных или УдалениеОбъекта. Запись сообщений обмена данными Для записи сообщений предназначен объект ЗаписьСообщенияОбмена. Объект ЗаписьСообщенияОбмена создается при обращении к методу СоздатьЗаписьСообщения() объекта ПланыОбменаМенеджер. Объект ЗаписьСообщенияОбмена имеет три метода: НачатьЗапись(), Закон- читьЗапись() и ПрерватьЗапись(). У метода НачатьЗапись() два параметра: объект типа 3anncbXML, через который будет записываться сообщение, и ссылка на узел, которому адресовано сообщение. Метод НачатьЗаписЦ) вычисляет номер сообщения путем прибавления 1 к номеру го сообщения; производит запись начала элемента XML, содержащего все сообщение, заголовка сообщения целиком, а также начала элемента XML, содержащего тело сообщения. После этого можно приступать к записи содержимого тела сообщения. Для нормального завершения записи сообщения предназначен метод Закон- читьЗапись(). При обращении к этому методу производится запись конца элемента XML, содержащего тело сообщения, и конца элемента XML, содержащего все сообщение. После успешной записи элементов XML, завершающих сообщение, сообщение считается отправленным, и его номер запоминается как номер последнего отправленного сообщения от данного узла узлу-получателю. Если есть необходимость прервать запись сообщения и не считать его отправленным, то следует обратиться к методу ПрерватьЗапись(). Ниже приведен типовой фрагмент кода, выполняющий запись сообщения обмена данными. .'ЗаписьХМЬ = Новый ЗаписьХМЬ(); ЗаписьХМЬ.ОткрытьФайл(ИмяФайлаСообщения); | Узел = ПланыОбмена.УдаленныеСклады.НайтиПоКоду(КодУзла) ЗаписьСообщения = ПланыОбмена.СоздатьЗаписьСообщения(); 3' ' ЗаписьСообщения.НачатьЗапись(ЗаписьХМЬ, Узел); 1 // Запись тела сообщения ЗаписьСообщения.ЗакончитьЗапись();
Глава 13. Механизмы обмена данными 2-553 Тело сообщения может содержать любые данные, представленные в XML, в зависимости от того, какой формат принят для того или иного плана обмена. Здесь же будет рассмотрен случай, когда сообщение содержит данные, изменения которых зарегистрированы службой регистрации изменений. Для реализации этого следует выбрать зарегистрированные изменения, обойти их и поместить XML-представления измененных данных в сообщение. Для выборки изменений предназначен метод ВыбратьИзменения() та ПланыОбменаМенеджер. Данный метод имеет два параметра: ссылка на узел, для которого выбираются изменения, и номер сообщения, в которое изменения должны быть помещены. Метод ВыбратьИзменения() щает объект типа ВыборкаДанных, содержащий ключи данных, изменения которых были зарегистрированы для узла, переданного в качестве первого параметра. Кроме того, метод ВыбратьИзменения() помещает номер ния, переданный в качестве второго параметра, в соответствующие поля отобранных записей таблиц регистрации изменений, если в этих полях содержалось значение NULL. Пели изменение уже было выбрано при предыдущем обращении, то номер сообщения в соответствующей записи таблицы регистрации изменений не модифицируется; а если изменение еще не выбиралось, то при ке запоминается номер первого сообщения, для которого изменения были выбраны. Для обхода выбранных изменений объект ВыборкаДанных имеет методы Следующий() и Получить(). При обращении к методу Следующий() происходит переход к следующему ключу в выборке. При первом обращении к методу Следующий() происходит переход к первому ключу. При обращении к методу Получить() происходит выборка из базы данных элемента данных, соответс- шующего текущему ключу выборки. Здесь следует сделать отдельное •шмечание относительно удаленных объектов базы данных. Если трация изменения объекта базы данных была выполнена в результате его удаления, то метод Получить() вернет не объект базы данных, а объект типа УдалениеОбъекта. Помещение XML-представления элементов данных в сообщение ется при помощи метода ЗаписатьХЛЩ) глобального контекста. Ниже приведен фрагмент кода, в котором выполняется формирование сообщения и в тело которого помещаются зарегистрированные изменения дпиных. L ЧаписьХМЬ = Новый ЗаписьХМЬ(); i ЧаписьХМЬ.ОткрытьФайл(ИмяФайлаСообщения); I Узел = ПланыОбмена.УдаленныеСклады.НайтиПоКоду(КодУзла); ЧаписьСообщения = ПланьЮбмена.СоздатьЗаписьСообщенияО ; ЧаписьСообщения.НачатьЗапись(ЗаписьХМЬ, Узел);
2-554 1С:Предприятие 8.1. Конфигурирование и администрирование г Выборка = Пл» Обмена. ШбратьИзменения (Узел, ЗаписьСообаеиия ' НсмерОообщекля); ' Пока Выборка.Следующий(} Цикл Данные = Выборка.Получить(); ЗаписатьКММЗаписьХМЬ, Данные); i КонецЦикла; 1 ЗаписьСообщения.ЗакончитьЗапись(); Чтение сообщений обмена данными Для чтения сообщений обмена данными предназначен объект ЧтениеСооб- • щенияОбмена. т Объект создается при обращении к методу СоздатьЧтениеСообщения() объек- • та ПланыОбменаМенеджер. '¦ Объект ЧтениеСообщенияОбмена имеет три метода: НачатьЧтение(), Закон- < читьЧтение() н ПрерватьЧтение(). У метода НачатьЧтение() два параметра: | объект типа ЧтениеХМЦ через который производится чтение сообщения, и значение перечисления ДопустимыйНомерСообщения. Метод НачатьЧтение() считывает начало элемента XML, содержащего все 4 сообщение, читает заголовок сообщения и проверяет его приемлемость определен ли план обмена, к которому относится сообщение, правильно ли заданы отправитель и получатель сообщения, а также допустимый ли номер имеет сообщение. Допустимость номера сообщения определяется с учетом значения второго параметра. Если второй параметр имеет значение ДопустимыйНомерСообще- нияЛюбой, то читаемое сообщение может иметь любой номер. Если значение * второго параметра ДопустимыйНомерСообщения.Следующий, то номер, сообщения должен быть в точности на 1 больше максимального из номеров ранее принятых сообщений. А если второй параметр принимает значение ДопустимыйНомерСообщения.Больший, то номер сообщения просто должен быть больше максимального из номеров ранее принятых сообщений, i Значением по умолчанию для второго параметра является ДопустимыйНо-1 мерСообщения.Больший. После этого считывается начало элемента XML, содержащего тело сообще ния. Если сообщение не является допустимым или при чтении произопш ошибка, то вызывается исключение. Если же все нормально, то можно приступать к чтению тела сообщения. Для нормального завершения чтения сообщения используется метод Закона читьЧтение(). Данный метод считывает конец элемента XML, содержащей)) тело элемента, и конец элемента XML, содержащего все сообщения. ЕслИ| все хорошо, то сообщение считается принятым, и номер сообщения, если oil больше максимального из номеров ранее принятых сообщений, запоминает" ся как максимальный номер принятого сообщения. J
Глава 13. Механизмы обмена данными 2-555 Метод ПрерватьЧтение() позволяет прервать чтение сообщения в любой момент. Ниже приведен типовой фрагмент кода, в котором показано использование объекта ЧтениеСообщенияОбмена. t ЧтениеХМЬ = Новый ЧтениеХМЬ(); | ЧтениеХМЬ.ОткрытьФайл(ИмяФайлаСообщения); ' ЧтениеСообщения = Планы0бмена.СоздатьЧтениеСообщения(); , ЧтениеСообщения.НачатьЧтение(ЧтениеХМЬ, ДоцустимьйНомерСообщения. Больший); J ¦ II Чтение тела сообщения 1 ЧтениеСообщения.ЗакончитьЧтение(); Как уже отмечалось, тело сообщения может в принципе содержать любую информацию, но здесь будет рассмотрен случай считывания из тела ния измененных данных. Фрагмент кода, в котором производится чтение сообщения, содержащего измененные данные, выглядит следующим образом. ЧтениеХМЬ = Новый ЧтениеХМЬ(); ЧтениеХМЬ.ОткрытьФайл(ИмяФайлаСообщения); ЧтениеСообщения = ПланыОбмена.СоздатьЧтениеСЙЬбщенйя^); ЧтениеСообщения.НачатьЧтение(ЧтениеХМЬ); ИланыОбмена.УдалитьРегистрациюИзменений(ЧтениеСообщения Отправитель, ЧтениеСообщения.НомерСообщения) ,- Пока ВозможностьЧтенияХМЬ(ЧтениеХМЬ) Цикл Данные = ПрочитатьХМЬ(ЧтениеХМЬ); Данные.ОбменДанными.Отправитель = ЧтениеСообщения.Отправитель; Данные.ОбменДанными.Загрузка = Истина; Данные.Записать(); КонецЦикла; 'I гениеСообщения. ЗакончитьЧтение () ; • Юращение к методу УдалитьРегистрациюИзменений() объекта МенеджерПла- иовОбмена предназначено для удаления записей регистрации, по которым (цншзведено подтверждение приема. Далее из тела сообщения с помощью мшода ПрочитатьХМЦ) считываются данные, пока имеется возможность i читывания. Перед записью данных в базу данных производится изменение iinyx свойств объекта ПараметрыОбменаДанными, принадлежащего объек- iVi представляющему считанные из XML данные. В свойстве Отправитель Мнывастся узел-отправитель данных, чтобы не производить цию изменений для отправки в узел, откуда эти данные только что были иомучсны. Установка свойству Загрузка значения Истина означает, что запись !1|||ипводится в рамках загрузки данных, а не обычной записи. В этом случае При шписи не будут производиться некоторые проверки.
2-556 1 С:Предприятие 8.1. Конфигурирование и администрирование Гарантированная доставка сообщений В рассмотренных примерах чтения и записи сообщений обмена данными предполагалось, что отправленные сообщения могут быть потеряны по тем или иным причинам. Поэтому при записи сообщений в них помещались все зарегистрированные изменения, в том числе и те, которые уже были лены, но по ним еще не получено подтверждение приема. При приеме допустимым считается сообщение с номером большим, чем максимальный из номеров принятых сообщений. Удаление регистрации изменений производится только для номеров сообщений, прием которых подтвержден. ЧтениеСообщения. Начать Чтение (ЧтениеХМЬ) ,- ПланыОбмена .УдалитьРегистрациюИзменений(ЧтениеСообщения Отправитель, ЧтениеСообщения.НомерПринятого); Такая логика считается типовой при реализации обмена данными. Однако можно реализовать и вариант, при котором доставка сообщений ется гарантированной. В этом случае удаление регистрации изменений должно производиться непосредственно после удачного завершения записи сообщения, чтобы отправка уже отправленных изменений не повторялась. А приниматься может только то сообщение, номер которого на 1 больше максимального из номеров ранее принятых сообщений. В этом случае ранее приведенный фрагмент кода, в котором выполняется запись сообщения, будет выглядеть следующим образом. ЗаписьХМЬ = Новый ЗаписьХМЬ(); ЗаписьХМЬ.ОткрытьФайл(ИмяФайлаСообщения); Узел = ПланыОбмена.УдаленныеСклады.НайтиПоКоду(КодУзла); ЗаписьСообщения = ПланыОбмена.СоздатьЗаписьСообщенияО; ЗаписьСообщения.НачатьЗапись(ЗаписьХМЬ, Узел); Выборка = ГшаныОбмекд.ВыбратьИзменения(Узел, ЗаписьСообщения НомерСообщения); Пока Выборка.Следующий() Цикл Данные = Выборка.Получить(); ЗаписатьХМЬ(ЗаписьХМЬ, Данные); КонецЦикла; НомерСообщения = ЗаписьСообщения.НомерСообщения; ЗаписьСообщения.ЗакончитьЗапись(); ПланыОбмена.УдалитьРегистрациюИзменений(Узел, НомерСообщения); Фрагмент кода, в котором происходит прием сообщения, будет выглядел, следующим образом. ЧтениеХМЬ = Новый ЧтениеХМЬ(); ЧтениеХМЬ.ОткрытьФайл(ИмяФайлаСообщения); ¦ ЧтениеСообщения = ПланыОбмена.СоздатьЧтениеСообщения(); ЧтениеСообщения.НачатьЧтение(ЧтениеХМЬ, ДопустимыйНомерСообщения. Следующий); Пока ВозможностьЧтенияХМЬ(ЧтениеХМЬ) Цикл Данные = ПрочитатьХМЬ(ЧтениеХМЬ);
Глава 13. Механизмы обмена данными 2-557 Данные.ОбменДанными.Ornpasfiieib тениеСообщения.Отправитель; Данные.ОбменДанными.Загрузка = Истина; Данные.Записать(); ' КонецЦикла; I ЧтениеСообщения.ЗакончитьЧтение(); I—, т: „..f,. .i^i.is.ii .ajffe.i.—,. i! Mi ...j^UJir. tLni!<ii\—,—,———l . ,. .—— . . -—.. Следует учитывать, что организация гарантированной доставки может быть достаточно сложной, и в большинстве случаев предпочтительно повторно посылать изменения до получения подтверждения их приема. Разрешение коллизий 13 приведенных выше примерах чтения и записи сообщений не лось, что при обмене данными один и тот же элемент данных может быть изменен одновременно в двух обменивающихся данными узлах. В этом случае непонятно, какое из изменений должно быть в конечном счете то. Такая ситуация называется коллизией. Одним из способов разрешения коллизий может быть определение, какой MJ узлов является главным, а какой - подчиненным. При этом должно быть принято изменение, сделанное в главном узле; а изменение, сделанное н подчиненном узле, должно быть отвергнуто. Для реализации этого при приеме сообщения перед записью данных необходимо установить, зарегистрировано ли изменение этих данных, и, в шиисимости от роли узла в данной паре получатель-отправитель, принять решение: записывать или не записывать данные. 11иже приведен пример реализации стратегии «главный - подчиненный» при чтении сообщения. Предполагается, что для хранения роли узла в плане обмена был определен реквизит Главный, имеющий тип Булево. ЧтениеХМЬ = Новый ЧтениеХМЬ(); ЧтениеХМЬ.ОткрытьФайл(ИмяФайлаСообщения); ЧтениеСообщения = ПланыОбмена.СоздатьЧтениеСообщенияО ; Ч гениесообщения.НачатьЧтение(ЧтениеХМЬ); ПнаныОбмена.УдалитьРегистрациюИзменений(ЧтениеСообщения «)тправитель, ЧтениеСообщения.НомерСообщевия); i Управитель = ЧтениеСообщения.Отправитель; Iмавный = Отправитель.Главный; Пока ВозможностьЧтенияХМЬ(ЧтениеХМЬ) Цикл Jr i Данные = ЦрочитатьХМЬ(ЧтениеХМЬ); Если Главный Или не ПланыОемЕка.ИзменениеЗарегистрировано(Отправитель, Данные) ТогдаЩ Данные.ОбменДанными.Отправитель = ЧтениеСообщения.Отправитель; Данные.ОбменДанными.Загрузка = Истина; Данные.Записать(); КонецЕсли; КицецЦикла; 4, Чечниесообщения.ЗакончитьЧтение();
2-558 1 С:Предприятие 8.1. Конфигурирование и администрирование Задание соответствий пространств имен При записи сообщения, после выполнения метода НачатьЗапись() объекта ЗаписьСообщенияОбмена, не определено никаких соответствий пространств имен. В то же время ряд пространств имен может многократно ваться при записи отдельных элементов данных. В этом случае определения соответствий одних и тех же пространств имен будут многократно чаться в теле сообщения. Поэтому целесообразно после начала записи сообщения, но до начала записи тела сообщения поместить несколько строк кода, в которых будут определяться соответствия для наиболее часто зуемых пространств имен. Например, как это сделано в приведенном ниже фрагменте записи ния. ЗаписьХМЬ = Новый ЗаписьХМЬ(); ЗаписьХМЬ.ОткрытьФайл(ИмяФайлаСообщения); Узел = ПланыОбмена.УдаленныеСклада.НайтиПоКоду(КодУзла); " ЗаписьСообщения = ПланыОбмена.СоздатьЗаписьСообщения(); ЗаписьСообщения.НачатьЗапись(ЗаписьХМЬ, Узел); ЗаписьХМЬ.ЗаписатьСоответствиеПространстваИмен("xsd", "http://www.w3.oxg/2001/XMLSchettia") А ЗаписьХМЬ.ЗаписатьСоответстпиеПространстваИмен("xsi", "http://www.w3.org/2001/XMLSchema-instance"); ЗаписьХМЬ. ЗаписатьСоответствиеПространстваИмен ("\г8", •http://v8.lc.ru/data") ;'• • Выборка = ПланыОбмена.ВыбратьИзменения(Узел, ЗаписьСообщения. НомерСообщения); Пока Выборка.Следующий() Цикл Данные = Выборка.Получить(); ЗаписатьХМЬ(ЗаписьХМЬ, Данные); 1 КонецЦикла; 1 НомерСообщения = ЗаписьСообщения.НомерСообщения; ЗаписьСообщения.ЗакончитьЗапись(); ПланыОбмена.УдалитьРегистрациюИзменений(Узел, НомерСообщения); В ряде случаев такой прием поможет ощутимо уменьшить размер та XML, в котором находится сообщение обмена данными. Распределенные информационные базы Общие принципы Распределенная информационная база — это совокупность ных баз системы 1С:Предприятие 8 (узлов распределенной информационной базы), в которых поддерживается синхронизация конфигурации и данных. Распределенная информационная база имеет иерархическую структуру. У каждого узла распределенной информационной базы может быть один
Глава 13. Механизмы обмена данными 2-559 главный и произвольное число подчиненных узлов. «Самый главный узел», или узел, у которого нет главного узла, называется корневым узлом деленной информационной базы. Каждый из узлов может обмениваться данными только со своими «соседями», то есть со своими главным и ненными узлами. Изменения конфигурации допускаются только в корневом узле деленной информационной базы с последующим ее распространением но иерархии от корневого узла к его подчиненным и т. д. Таким образом, механизм управления распределенными информационными базами чивает наличие во всех узлах распределенной информационной базы одной и той же конфигурации. Изменение данных допускается в любом узле распределенной онной базы. Синхронизация данных достигается путем распространения изменений данных, произведенных в одном узле, во все структуры деленной информационной базы. При организации работы последовательности документов в ленной информационной базе нужно учитывать, что участие документа п последовательности имеет смысл только в одном узле распределенной информационной базы. Это может быть либо узел, в котором документ был создан, либо другой узел, но узел должен быть один. Нарушение данно- W принципа может привести к различным проблемам в процессе работы С системой; например, невозможности восстановления последовательности документов. Нсли в рамках всей распределенной информационной базы ся полная идентичность конфигурации, то полная идентичность данных не обязательна. Состав данных, изменения которых передаются в рамках деленной информационной базы, может регулироваться как «по вертикали» (путем определения множества объектов метаданных, данные которых участ- liyior в обмене), так и «по горизонтали» (путем задания условий на передачу и прием изменений на уровне отдельных элементов данных). Планы обмена Планы обмена занимают центральное место и в управлении ми информационными базами. Но для того, чтобы тот или иной план обмена оказался пригоден для организации распределенной информационной базы, у него при конфигурировании должно быть установлено свойство ленная информационная база. Дннные в распределенной информационной базе переносятся с помощью сообщений, предоставляемых инфраструктурой сообщений. В отличие 1УГ универсальных механизмов обмена данными, содержимое ний, передаваемых между узлами распределенной информационной базы,
2-560 1С:Предприятие 8.1. Конфигурирование и администрирование не может быть произвольным, а является регламентированным протоколом обмена, принятым для распределенной информационной базы. Номенклатура данных, изменениями которых будет производиться обмен в рамках распределенной информационной базы, определяется вом плана обмена. Вхождение объекта метаданных в состав плана обмена показывает, что изменения данных, соответствующих объекту метаданных, могут регистрироваться для узлов данного плана обмена. Но в отличие от универсальных механизмов обмена данными, номенклатура данных, обмен которыми может производиться в рамках распределенной информационной базы, строго ограничена составом соответствующего плана обмена. Для регистрации изменений данных в распределенной информационной базе задействована служба регистрации изменений. Элементы данных помещаются в сообщение с использованием механизмов XML-сериализации. Помимо изменений данных между узлами распределенной информационной базы передаются изменения конфигурации, а также некоторая тельная служебная информация. Регистрация изменений конфигурации и их передача в распределенной информационной базе осуществляются полностью автоматически и недоступны для пользователя и разработчика конфигураций. В отличие от универсальных механизмов обмена данными, формирование и прием сообщения обмена данными в распределенной информационной базе производятся «в одно действие», то есть все содержимое сообщения формируется путем вызова одного метода встроенного языка. Аналогично и считывание содержимого сообщения производится путем вызова одного метода. Для того чтобы управлять составом данных, помещаемых в ние, а также считываемых из сообщения и помещаемых в базу данных, на уровне отдельных элементов данных в модуле плана обмена могут быть определены обработчики событий ПриОтправкеДанныхПодчиненному, ПриОтправкеДанныхГлавному, ПриПолученииДанныхОтПодчиненного, ПриПолу- ченииДанныхОтГлавного. Таким образом, в распределенной информационной базе практически полностью задействованы универсальные механизмы обмена данными, но имеются и некоторые дополнительные возможности, недоступные вне распределенной информационной базы. Главный и подчиненный узлы Как было указано выше, у каждого из узлов распределенной онной базы может быть один главный и произвольное число подчиненных узлов. Для своего главного узла узел является подчиненным и, но, для своих подчиненных — главным. Узел, у которого нет главного узла, является корневым узлом распределенной информационной базы. Корневой
Глава 13. Механизмы обмена данными ' 2-561 узел распределенной информационной базы — это единственное место, где разрешено вносить изменения в конфигурацию информационной базы. Распределенная информационная база может быть построена на основе нескольких планов обмена, с установленным свойством Распределенная информационная база. Взаимодействие в каждой паре узлов ный - подчиненный» производится в соответствии с одним из определенных и конфигурации планов обмена. Никаких ограничений на использование того или иного плана обмена в том или ином узле распределенной ционной базы не накладывается. Каждый из узлов распределенной информационной базы, как и в случае использования универсальных механизмов обмена данными, «знает» только своих «соседей», то есть свой главный и свои подчиненные узлы. Таким образом, полная схема распределенной информационной базы при наличии более чем двух уровней неизвестна никакому из узлов. Разрешение коллизий 11а основе отношения «главный - подчиненный» в распределенной инфор- мпционной базе организована типовая процедура разрешения коллизий, пптоматически выполняемая при приеме сообщения. Считается, что изменение элемента данных, произведенное в главном узле, имеет высший приоритет по отношению к изменению, произведенному в подчиненном узле. Таким образом, если сообщение, пришедшее от подчиненного узла, содержит элемент данных, изменения которого зарегистрированы для этого подчиненного узла, то никаких действий предпринято не будет, то есть этот элемент данных не будет помещен в базу данных и запись регистрации ичменений не будет удалена. Пели сообщение, пришедшее от главного узла, содержит элемент данных, и шенения которого зарегистрированы для главного узла, то элемент данных будет записан в базу данных, а запись регистрации изменения будет удалена. Начальный образ узла распределенной информационной базы ()бычно при работе с распределенной информационной базой подчиненный V юл порождается из главного. То есть для подчиненного узла, ного в плане обмена, на основании конфигурации и данных, содержащихся и главном узле, создается новая информационная база, соответствующая подчиненному узлу. Такая информационная база называется начальным образом узла распределенной информационной базы. 11ри создании начального образа выполняются следующие действия: из главного узла в начальный образ без изменений переносится гурация;
2-562 1С:Предприятие 8.1. Конфигурирование и администрирование • в начальном образе в плане обмена, в соответствии с которым ся начальный образ, создаются объекты-узлы, проинициализированные таким образом, чтобы не требовалось дополнительной настройки для начала обмена данными между главным и подчиненным узлами; • из главного узла в начальный образ переносятся данные в соответствии с правилами, определяемыми планом обмена (составом плана обмена и результатами выполнения обработчика события ПриОтправкеДан- ныхПодчиненному). Процедура создания начального образа может повторяться для одного и того же узла неоднократно. Это может иметь смысл для тех случаев, когда информационная база подчиненного узла была потеряна безвозвратно. При создании начального образа все записи регистрации изменений для узла, для которого создается начальный образ, удаляются, так как считается, что история данного подчиненного узла начинается с начала. Сообщение обмена данными в распределенной информационной базе Для передачи изменений данных и конфигурации в распределенной информационной базе используются сообщения обмена данными, ставляемые инфраструктурой сообщений. Если в случае применения универсальных механизмов обмена данными разработчик конфигурации сам определяет, что и как помещается в тело сообщения, то в случае деленной информационной базы структура и состав данных, помещаемых в тело сообщения, четко определены. Рассмотрим структуру сообщения обмена данными, используемого в деленной информационной базе. В качестве примера приведем следующее сообщение. <v8msg:Message xrolns:v8msg="http;//v8.1c.ru/roessages"> <v8msg:Header> <v8msg:ЕхсЬапдеР1ап>УдаленныеСклады<^8тзд:ExchangePlan> <v8msg:То>Склад1</v8msg:To> <v8msg:Ргот>Офис</v8msg:From> <v8msg:MessageNo>2 0</v8msg:MessageNo <v8msg:ReceivedNo>l5</v8msg:ReceivedNc» </v8msg:Header> <v8msg:Body> <v8de:Changes xmlns:v8de="http://v8.lc.ru/dataexchange"> <v8de:Signature>7b4d5320-f69c-4a7b-9273-ff56607fc8atx/v8de:Signature> <v8de:Config xmlns:v8md="http://v8.1c.ru/metadata"> <!— Измененные объекты конфигурации --> <v8de:Digestl>88d3fЗабЬаЗf4df03c7ec00f154837fc</v8de:Digestl> : <v8de:Digest2>OOcf636b02a488103a64c7a2cf81069e</v8de:Digest2> 1 </v8de:Config> <v8de:Nodes>
Глава 13. Механизмы обмена данными 2-563 <v8de:No<3e> <!— Данные главного узла —k> <yv8de:Node> <v8de:Node> <!— Данные подчиненного узла —> </v8de:Node> </v8de:Nodes> <v8de:Data> <!~ Измененные элементы данных > </v8de:Data> </v8de:Changes> </vSmsg:Body> </v8asg:Message> Как видно из примера, все особенности сообщения обмена данными, пользуемого в распределенной информационной базе, сосредоточены п теле сообщения. Тело сообщения (элемент Body, относящийся к тву имен http://v8.1c.ru/messages) содержит один-единственный элемент XML - Changes, относящийся к пространству имен http://v8.1 cru/dataexchange. Внутри этого элемента сосредоточены все данные, передаваемые при обмене данными в распределенной информационной базе. Элемент Changes может содержать четыре вложенных элемента, ся к тому же пространству имен: • Элемент Signature содержит «подпись» плана обмена, в соответствии с которым получено сообщение. • Элемент Config содержит изменения конфигурации, а также данные, идентифицирующие состояние конфигурации. Необязательные менты Metadata, вложенные в Config, содержат изменения отдельных объектов конфигурации. Если изменения конфигурации не передаются в сообщении, то элементы Metadata отсутствуют. Такие элементы могут присутствовать только в сообщениях, передаваемых от главного узла подчиненному. Элементы Digestl и Digest2 содержат цифровые подписи передаваемых в данном сообщении изменений конфигурации и всей конфигурации за вычетом изменений. Элементы Digestl и Digest2 присутствуют во всех сообщениях, передаваемых от главного узла подчиненному и наоборот. • Элемент Nodes может присутствовать только в сообщениях, ваемых от главного узла подчиненному. Этот элемент содержит два вложенных элемента Node, первый из которых содержит данные го узла (отправителя), а второй — подчиненного (получателя). • И, наконец, элемент Data содержит измененные элементы данных, передаваемые в сообщении. Элементы данных помещаются в ние с помощью XML-сериализации.
2-564 1С:Предприятие 8.1. Конфигурирование и администрирование Конфигурирование плана обмена для работы с распределенной информационной базой Как было отмечено выше, для того чтобы план обмена мог быть ван для организации распределенной информационной базы, у него должно быть установлено свойство Распределенная информационная база. При конфигурировании плана обмена, используемого для организации распределенной информационной базы, необходимо определить состав плана обмена, так как именно состав определяет номенклатуру данных, по которым будет вестись регистрация изменений и которые могут ваться при обмене данными в распределенной информационной базе. Следует отметить, что если в конфигурации уже работающей ной информационной базы в состав обмена будет включен еще какой-либо объект метаданных, то это не повлечет автоматически никаких действий по регистрации изменений элементов данных, соответствующих этому объекту метаданных. Таким образом, если при включении в состав плана обмена нового объекта есть необходимость передать уже существующие данные другим узлам, об этом надо позаботиться отдельно. Обработчики событий плана обмена При необходимости у объекта ПланыОбменаОбъект.<Имя плана обмена> могут быть определены обработчики событий ПриОтправкеДанныхПодчиненному, ПриОтправкеДанныхГлавному, ПриПолученииДанныхОтПодчиненного, ПриПолу- ченииДанныхОтГлавного, позволяющие управлять помещением в сообщение и считыванием из сообщения отдельных элементов данных. Обработчик события ПриОтправкеДанныхПодчиненному вызывается при помещении элемента данных в сообщение, отправляемое подчиненному узлу распределенной информационной базы. Первый параметр содержит сам элемент данных; значением второго параметра при вызове чика является ОтправкаЭлементаДанных.Авто, но это значение может быть изменено обработчиком. Если значением второго параметра в результате выполнения обработчика останется ОтправкаЭлементаДанных.Авто, то это соответствует поведению по умолчанию (элемент данных будет помещен в сообщение). Если второму параметру в обработчике будет присвоено ние ОтправкаЭлементаДанных.Удалить, то в сообщение будет помещен объект, соответствующий удалению элемента данных. Для объектов базы данных - это объект типа УдалениеОбъекта, проинициализированный ссылкой на удаляемый объект базы данных; а для наборов записей - это пустой набор записей. Только для менеджера записи константы поведение, щее значению ОтправкаЭлементаДанных.Удалить, не отличается от поведения, соответствующего значению ОтправкаЭлементаДанных.Авто. Если же второму параметру будет присвоено значение ОтправкаЭлементаДанных.Игнорировать,
Глава 13. Механизмы обмена данными 2-565 то в сообщение не будет помещено ничего соответствующего элементу данных, переданному в первом параметре. Обработчик события ПриОтправкеДанныхГлавному отличается от го только тем, что вызывается при помещении элемента данных в сообщение, отправляемое главному узлу. Обработчик ПриПолученииДанныхОтПодчиненного вызывается после ния элемента данных из сообщения и перед записью элемента в базу данных. Первый параметр содержит элемент данных, считанный из сообщения. Второй параметр при вызове обработчика имеет значение ПолучениеЭле- ментаДанных.Авто, что соответствует поведению по умолчанию. То есть если в данном узле не было зарегистрировано изменений элемента данных для узла-отправителя, то элемент будет записан в базу данных. Если же изменения зарегистрированы, то элемент в базу данных записан не будет. Значение второго параметра может быть изменено обработчиком. Если иторой параметр получит значение ПолучениеЭлементаДанных.Принять, то ¦>лемент данных будет записан в базу данных независимо от того, были ли зарегистрированы его изменения для узла-отправителя. Если изменения были зарегистрированы, то соответствующая запись регистрации изменений удаляется. Если же второй параметр получит значение ПолучениеЭлемен- таДанных.Игнорировать, то никаких действий предпринято не будет (элемент не будет записан в базу данных и не будет произведено никаких действий с записями регистрации изменений). Третий параметр позволяет лять регистрацией изменений элемента данных для узла-отправителя. При иызове обработчика данный параметр имеет значение Ложь. Если это ние не будет изменено обработчиком, то никаких дополнительных действий произведено не будет. Если в обработчике события присвоить параметру шачение Истина, то при отсутствии зарегистрированных изменений элемен- гп данных для узла-отправителя такая регистрация будет выполнена. Обработчик события ПриПолученииДанныхОтГлавного имеет тот же набор пираметров, что и предыдущий обработчик, и отличается от него тем, что ывается при чтении сообщения, принимаемого от главного узла деленной информационной базы. Соответственно, несколько отличаются действия, выполняемые при получении элемента данных. Значения второ- го параметра ПолучениеЭлементаДанных.Авто и ПолучениеЭлементаДанных. Принять, присвоенные обработчиком, производят одинаковый эффект, i ПК как согласно принятой стратегии разрешения коллизий в ном узле считанный из сообщения элемент данных должен быть записан и Сазу данных независимо от того, зарегистрированы его изменения или Нет. В остальном значения параметров и смысл предпринимаемых действий иишюгичны описанным выше.
|1Инш,и1ШЯ| 2-566 1 С:Предприятие 8.1. Конфигурирование и администрирование Работа с распределенной информационной базой В работе с распределенной информационной базой можно выделить ющие основные действия: " создание начального образа подчиненного узла распределенной мационной базы; " запись сообщения обмена данными для отправки в другой узел деленной информационной базы; " чтение сообщения обмена данными, отправленного из другого узла распределенной информационной базы. I Если для доступа к возможностям, предоставляемым ми механизмами обмена данными, без встроенного языка не обойтись, то перечисленные действия могут быть выполнены как из встроенного язьжа, так и интерактивно с помощью команд меню Действия формы списка плана обмена или иными средствами, определенными при конфигурировании. Кроме того, для каждого из узлов распределенной информационной базы может быть установлен и, соответственно, получен его главный узел. Эта операция не может быть отнесена к основным операциям, производимым в распределенной информационной базе, поэтому интерактивное действие как аналог этой операции не предусмотрено. Работа с распределенной информационной базой из встроенного языка Создание начального образа подчиненного узла распределенной информационной базы Для создания начального образа подчиненного узла распределенной информационной базы объект ПланыОбменаМенеджер содержит метод СоздатьНачальныйОбраз(). В качестве первого параметра данному методу должно быть передано ние типа ПланыОбменаСсылка.<Имя плана обмена>, представляющее собой ссылку на подчиненный узел распределенной информационной базы, или значение типа Планы06менаОбъект.<Имя плана обмена>, представляющее такой узел. Второй параметр должен содержать строку соединения, щую информационную базу, в которую будет помещен начальный o6pai подчиненного узла. Информационная база, используемая для создания начального образа, должна быть пустой или не должна существовать вовсе. Как было отмечено выше, конфигурация информационной базы ся в начальный образ без изменений. Данные, соответствующие объектам
Глава 13. Механизмы обмена данными 2-567 метаданных, не входящим в состав плана обмена, не будут помещены в начальный образ. Кроме того, при переносе элементов данных в ный образ для каждого элемента данных вызывается обработчик события ПриОтправкеДанныхПодчиненному. Соответственно, в начальный образ могут попасть только те данные, которые должны туда попасть в соответствии с правилами, установленными планом обмена. ¦В плане обмена, в соответствии с которым создается начальный образ, в информационной базе начального образа будут созданы и проинициализи- рованы два узла, соответственно для главного и этого узлов. Таким образом, сразу после создания начального образа информационная база го узла готова к обмену данными со своим главным узлом. Все операции по переносу данных в начальный образ выполняются в рамках одной транзакции базы данных главного узла. Это необходимо для чения согласованности данных, помещаемых в начальный образ. Однако при интенсивном изменении данных в информационной базе главного узла другими пользователями возможны конфликты между транзакцией, в рамках которой выполняется создание начального образа, и транзакциями других пользователей. В таких случаях перед созданиемлачального образа целесообразно установить монопольный режим для информационной базы главного узла. Примечание. Работа информационной базы в монопольном режиме не переводит базу данных Microsoft SQL в однопользовательский режим. Запись сообщения обмена данными распределенной информационной базы Кик было показано, сообщение обмена данными распределенной мационной базы отличается от сообщения обмена данными в общем виде ииолне конкретным наполнением тела сообщения. Таким же образом шличается и процедура записи сообщения обмена данными ной информационной базы от записи сообщения в общем виде. Для записи тела сообщения обмена данными распределенной онной базы менеджер планов обмена содержит метод ЗаписатьИзменения(). II качестве первого параметра данному методу передается объект типа ЯиписьСообщенияОбмена, через который осуществляется запись сообщения. У данного объекта уже должен быть вызван метод НачатьЗапись(), но еще не должен быть вызван метод ЗакончитьЗапись(). 11собязательный второй параметр указывает максимальное число элементов цииных, которые будут помещаться в сообщение в рамках одной транзакции. Гели в качестве значения параметра указано 0 (значение по умолчанию), то нес формирование сообщения будет выполнено в одной транзакции. В таком
2-568 1С:Предприятие 8.1. Конфигурирование и администрирование режиме обеспечивается наилучшая согласованность данных, помещаемых в сообщение, но возможны конфликты с транзакциями, выполняемыми другими пользователями. При меньшем числе элементов, обрабатываемых в одной транзакции, вероятность конфликтов транзакций меньше, но больше вероятность помещения в сообщение несогласованных данных. му рекомендуется без острой необходимости не использовать для второго параметра значения, отличные от значения по умолчанию. Метод ЗаписатьИзменения() записывает элемент XML Changes в тело сообщения обмена данными, помещая туда всю требуемую информацию, как это было показано выше. При этом в соответствующие фрагменты сообщения помещаются объекты конфигурации и элементы данных, изменения которых были зарегистрированы для узла-получателя сообщения. Фактическое помещение элемента данных в сообщение определяется результатом выполнения обработчика события ПриОтправкеДанныхГлавному (ПриОтправкеДанныхПодчиненному), вызываемому у объекта типа Пла- ныОбменаОбъект.<Имя плана обмена>, представляющего узел-получатель сообщения. Ниже приведен типовой фрагмент кода, выполняющий запись сообщения обмена данными распределенной информационной базы. * ЗаписьХМЬ = Новый ЗаписьХМЫ) ; ЗаписьХМЬ.ОткрытьФайл(ЙмяФайлаСообщения); \ Узея = ПтаныОбмена.УдаленныеСклады.НайтиПоКоду(КодУзяа); ! ЗагдасьСообщения = ПланыОбмена.СоздатьЗаписьСообшенияО ; I ЗагдасьСообщения.НачатьЗаписМЗаписьХМЬ, Узел); | ПяаныОбмена.ЗалисатьИзменения(ЗаписьСообщения); j ЗаписьСообщения.ЗакончитьЗапись()г Чтение сообщения обмена данными распределенной информационной базы Для чтения тела сообщения обмена данными распределенной онной базы менеджер планов обмена содержит метод ПрочитатьИзменения(). В качестве первого параметра методу передается объект типа ЧтениеСооб- щенияОбмена, через который осуществляется чтение сообщения в целом. У этого объекта уже должен быть вызван метод НачатьЧтение(), но еще не вызван метод ЗакончитьЧтение(). Настоятельно рекомендуется, чтобы при обращении к методу НачатьЧтение() объекта ЧтениеСообщенияОбмена значение второго параметра не указывалось или же указывалось значение по умолчанию - ДопустимыйНомерСообщения.Больший. Это связано с тем, что вся логика обмена данными в распределенной информационной базе построена с учетом того, что отдельные сообщения обмена данными могут быть утеряны, но при этом не допускается повторный прием одного и того же сообщения.
Глава 13. Механизмы обмена данными 2-569 В качестве значения необязательного второго параметра может быть но максимальное число элементов данных, считываемых из сообщения и помещаемых в базу данных в рамках одной транзакции. Значение ра по умолчанию 0 означает, что все чтение сообщения будет выполняться и одной транзакции. Если все чтение сообщения выполняется в одной Транзакции, то в случае возникновения ошибок не может оказаться так, что часть элементов данных была считана из сообщения и помещена в базу данных, а часть - нет. Но при таком режиме может случиться, что число изменений базы данных, которое надо выполнить в рамках одной ции, окажется слишком большим. Кроме того, повышается вероятность конфликтов между транзакцией, в которой происходит чтение сообщения, и транзакциями, выполняемыми другими пользователями. Для того чтобы избежать неприятностей такого рода, введена возможность ограничения числа элементов данных, обрабатываемых в одной транзакции. Но если нет острой нужды, рекомендуется использовать режим по умолчанию, то есть производить считывание всех элементов данных в одной транзакции. Последовательность действий, выполняемая методом ПрочитатьИзменения(), пыглядит примерно следующим образом: • считывается и проверяется «подпись» плана обмена, чтобы с мальной достоверностью убедиться, что сообщение прибыло от ожидаемого плана обмена ожидаемой конфигурации; • из сообщения считываются изменения конфигурации. При нии проводится проверка цифровых подписей конфигурации, чтобы исключить возможность того, что в узле-отправителе и текущем узле распределенной информационной базы находятся несовместимые конфигурации. Для каждого из считанных измененных объектов гурации проверяется, является ли этот объект конфигурации фактически измененным. Напомним, что измененные объекты конфигурации могут содержаться только в сообщениях, передаваемых от главного узла ненному; • удаляются записи регистрации изменений объектов конфигурации и элементов данных, отправленных в сообщениях, для которых но подтверждение приема. Напомним, что максимальный из номеров, принятых узлом-отправителем сообщений, содержится в заголовке сообщения и доступен через свойство НомерПринятого объекта Чте- ниеСообщенияОбмена; • если в результате проверки цифровых подписей конфигурации удалось установить, что конфигурация в текущем узле распределенной мационной базы отличается от конфигурации узла-отправителя, то возможны два варианта дальнейших действий. Если текущий узел является главным по отношению к лю, то дальнейший прием данного сообщения невозможен ни при каких
щщ 2-570 1 СгПредприятие 8.1. Конфигурирование и администрирование условиях. Если же текущий узел является подчиненным по отношению к узлу-отправителю, то перед продолжением приема сообщения димо обновить конфигурацию базы данных, приведя ее в соответствие с конфигурацией узла-отправителя. При обновлении конфигурации базы данных в нее будут перенесены ранее принятые, сохраненные и измененные объекты конфигурации. Далее в обоих случаях вызывается исключение с соответствующим текстом сообщения об ошибке. И если в первом случае сообщение не может быть прочитано, то во втором случае после обновления конфигурации базы данных, которое может быть выполнено в режиме Конфигуратор, то же самое сообщение может быть успешно прочитано и принято; • если производится прием сообщения обмена данными, го из главного узла распределенной информационной базы, то данные текущего узла и узла-отправителя приводятся в соответствие с ми об этих узлах, содержащимися в сообщении обмена данными. Если сообщение обмена данными получено от подчиненного узла, то там таких данных быть не должно (подробнее см. «Сообщение обмена данными в распределенной информационной базе» на стр. 2-562); • производится считывание из сообщения и запись в базу данных элементов данных. При этом в сообщении могут содержаться только элементы данных, соответствующие объектам метаданных, щих в состав плана обмена, к которому относится данное сообщение. Для каждого прочитанного из сообщения элемента данных у объекта типа ПланыОбменаОбъект.<Имя плана обмена> вызывается обработчик события ПриПолученииДанныхОтГлавного (ПриПолученииДанныхОтПод- чиненного). Дальнейшие действие по каждому из элементов данных определяются результатами действий обработчика (подробнее см. выше «Обработчики событий плана обмена» на стр. 2-564). Получение и установка главного узла распределенной информационной базы Для корневого узла распределенной информационной базы характерно, что у него нет главного узла. У всех остальных главный узел есть. В типовом сценарии работы с распределенной информационной базой нужды в дительной установке главного узла не возникает. Но в некоторых случаях ] такая возможность может все-таки пригодиться. Например, может возникнуть i потребность выделить какое-либо из поддеревьев распределенной ционной базы в самостоятельную информационную базу или переподчинить какой-либо из узлов распределенной информационной базы. Для установки главного узла распределенной информационной базы предназначен метод УстановитьГлавныйУзел() объекта ПланыОбменаМенеджер. Метод имеет один параметр. Если в качестве параметра данному методу передано значение типа ПланыОбменаОбъект.<Ймя плана обмена> или
Глава 13. Механизмы обмена данными 2-571 ПланыОбменаСсылка.<Имя плана обмена>, то у плана обмена, к которому относится ссылка или объект, должно быть установлено свойство Распределенная информационная база. В этом случае для данной информационной базы будет установлен главный узел. Если в качестве значения параметра передано Неопределено, то назначение главного узла отменятся. Для успешного выполнения данного метода требуется, чтобы у онной базы не было других активных пользователей, в том числе и в режиме Конфигуратор. Для получения главного узла предназначен метод ГлавныиУзелО объекта ПланыОбменаМенеджер. Если текущая информационная база не является узлом распределенной информационной базы или главный узел для нее не определен (она сама является корневым узлом), метод возвращает Неопре- двлено. Если же главный узел для информационной базы определен, то метод иозвращает значение типа ПланыОбменаСсылка.<Имя плана обмена>. Интерактивная работа с распределенной информационной базой Как было отмечено выше, ряд наиболее часто выполняемых действий с распределенной информационной базой может быть произведен тивно через меню Действия формы списка плана обмена. Соответствующие команды вставляются в меню при автоматическом заполнении. Для выполнения каждой из этих команд следует выделить в списке узел плана обмена, для которого предполагается выполнить команду, а затем ныбрать соответствующий пункт меню Действия. Команда Действия - Создать начальный образ... предназначена для создания нпчального образа подчиненного узла распределенной информационной Лпы. После обращения к данному пункту меню на экране появляется диалог, и котором предлагается выбрать тип расположения информационной базы. 11осле нажатия кнопки Готово появляется второй диалог. В нем ется задать параметры информационной базы, в которой будет создаваться ипчальный образ. После нажатия кнопки Готово в этом диалоге ется создание начального образа. Сама процедура создания начального иораза при интерактивном выполнении ничем не отличается от процедуры, имлолняемой при обращении к методу СоздатьНачальныйОбраз() объекта ПланыОбменаМенеджер. Команда Действия - Записать изменения... предназначена для записи в файл сообщения обмена данными. После обращения к данному пункту меню на 1Крпне появляется диалог. В нем необходимо задать имя файла, в который Аудст записано сообщение обмена данными, и число элементов данных, i рабатываемых в одной транзакции.
2-572 1 С:Предприятие 8.1. Конфигурирование и администрирование Команда Действия - Прочитать изменения... предназначена для чтения из файла сообщения обмена данными. После обращения к данному пункту меню на экране появляется диалог. В нем необходимо задать имя файла, из которого будет читаться сообщение обмена данными, и число элементов данных, обрабатываемых в одной транзакции. Сценарии обмена данными в распределенной информационной базе Обработчики событий ПриОтправкеДанныхПодчиненному, ПриОтправкеДан- ныхГлавному, ПриПолученииДанныхОтПодчиненного, ПриПолученииДан- ныхОтГлавного позволяют достаточно гибко управлять обменом данными в распределенной информационной базе. С использованием этих ков может быть построено большое разнообразие сценариев обмена данными. В этом разделе в качестве примера будет рассмотрена организация ких сценариев. Поведение по умолчанию Данный сценарий является наиболее простым и соответствует поведению распределенной информационной базы по умолчанию. Для этого сценария характерно следующее: • каждое изменение элемента данных, произведенное в любом из узлов распределенной информационной базы, стремится распространиться по всем узлам; • разрешение коллизий производится на основании отношения узлов «главный — подчиненный». Для реализации такого сценария все обработчики не должны изменять значения переданных им параметров, или же обработчики могут быть не определены вовсе. Распределение данных по подчиненным узлам Данный сценарий подразумевает, что для некоторых элементов данных, для которых он реализуется, выполняется следующее: • вся совокупность элементов данных присутствует в главном узле; • присутствие того или иного элемента данных в том или ином ненном узле определяется на основе сравнения значений некоторых реквизитов элемента данных с реквизитами подчиненного узла плана обмена; • разрешение коллизий производится на основании отношения узлов «главный — подчиненный».
Глава 13. Механизмы обмена данными 2-573 Для реализации данного сценария надо обеспечить, чтобы при записи сообщения обмена данными в главном узле в сообщение не попадали элементы данных, которые не должны присутствовать в подчиненном узле. Кроме того, если значения реквизитов элемента данных могут быть ны в подчиненном узле, то необходимо обеспечить, чтобы при получении сообщения обмена данными в главном узле производилась регистрация изменений для тех объектов, которых в соответствии со значениями их реквизитов в подчиненном узле быть не должно. Для более детального рассмотрения примера предположим, что в ве типа элементов данных, для которых реализуется сценарий, выступает документ РасходнаяНакладная. У данного документа имеется реквизитСклад типа СправочникСсылка.Склады. Обмен данными организован в соответствии с планом обмена Склады. У этого плана обмена также определен реквизит Склад типа СправочникСсылка.Склады. В соответствии с этим планом обмена организована распределенная информационная база, в которой корневым узлом является центральный офис, а его подчиненными узлами - склады. У каждого из подчиненных узлов плана обмена значение реквизита Склад установлено так, чтобы обозначать, какому складу соответствует этот узел. Все документы РасходнаяНакладная должны присутствовать в корневом узле, а условием присутствия документов в подчиненных узлах является равенство значений реквизитов Склад в документе и узле плана обмена. В этом случае для того, чтобы документы РасходнаяНакладная не попадали и те подчиненные узлы, куда они попадать не должны, обработчик события ПриОтправкеДанныхПодчиненному должен иметь следующий вид: ] Процедура ПриОтправкеДанныхПодчиненному(ЭлементДанных.ОтправкаЭлемента) 1 I ТипДанных = ТипЗнч(ЭлементДанных); Если ТипДанных = Тип("ДокументОбъект.РасходнаяНакладная") Тогда Если ЭлементДанных.Склад о Склад Тогда ОтправкаЭлемента = ОтправкаЭлементаДанных.Удалять; КонецЕсли; КонецЕсли; КонецПроцедуры ч 1... „. ¦;t.-..hl , — „_ Ь™~, J В приведенном примере обработчика анализируется тип элемента данных, it если он равен ДокументОбъект.РасходнаяНакладная, то значение реквизита Склад документа сравнивается со значением реквизита Склад узла плана обмена. Если значения реквизитов равны, то значение параметра ОтправкаЭлемента можно не изменять (при вызове параметр имеет •шачение ОтправкаЭлементаДанных.Авто). При этом в сообщение будет помещено XML-представление документа. Если же значения реквизитов не равны, то параметру ОтправкаЭлемента присваивается значение ОтправкаЭлементаДанныхУдалить. В этом случае в сообщение будет помещено
2-574 1С:Предприятие 8.1. Конфигурирование и администрирование XML-представление объекта УдалениеОбъекта, проинициализированного ссылкой на соответствующий документ РасходнаяНакладная. Может показаться странным, что в случае неравенства значений реквизитов Склад параметру ОтправкаЭлемента присваивается значение ОтправкаЭлементаДанных.Удалить,анеОтправкаЭлементаДанных.Игнорировать, так как в случае значения ОтправкаЭлементаДанных.Удалить ставление объекта УдалениеОбъекта будет помещаться в сообщения, отправляемые всем подчиненным узлам, кроме того узла, в который будет отправлен сам документ. Таким образом, в значительной части случаев объект УдалениеОбъекта будет отправлен тем узлам, где никогда не было документа, который требуется удалить. Это действительно так, но в данном примере рассмотрен наиболее общий случай. Если же, например, известно, что значение реквизита Склад та РасходнаяНакладная может быть установлено только при создании документа и в дальнейшем не может быть изменено, то параметру каЭлемента в данном обработчике действительно могло бы быть присвоено значение ОтправкаЭлементаДанных.Игнорировать. Если же значение реквизита Склад документа РасходнаяНакладная может быть изменено в подчиненном узле, то в плане обмена необходимо лить обработчик события ПриПолученииДанныхОтПодчиненного следующего вида: Процедура ПриПолученииДанныхОтПодчиненного(ЭлементДанных, ПолучениеЭлемента, ОтправкаНазад) ТипДанных = ТипЗнч(ЭлементДанных); Если ТипДанных = ТипСДокументОбъект.РасходнаяНакладная") Тогда Если ЭлементДанных.Склад о Склад Тогда ОтправкаНазад = Истина; КонецЕсли; КонецЕсли; ; КонецПроцедуры В приведенном примере обработчика анализируется тип элемента данных, и если он равен ДокументОбъект.РасходнаяНакладная, то значение реквизита Склад документа сравнивается со значением реквизита Склад узла плана обмена. Если значения реквизитов равны, то значения параметров ПолучениеЭлемента и ОтправкаНазад можно не изменять, обеспечив этим поведение по умолчанию при приеме элемента данных. Если же значения реквизитов не равны, то параметру ОтправкаНазад присваивается значение Истина. Тем самым гарантируется, что изменения документа будут зарегистрированы и при отправке сообщения подчиненному узлу будет отправлен объект УдалениеОбъекта, если, конечно, реквизит Склад документа не будет изменен в главном узле так, что он окажется равен значению реквизита Склад соответствующего узла плана обмена.
Глава 13. Механизмы обмена данными 2-575 Если же значение реквизита Склад документа РасходнаяНакладная не может быть изменено после создания документа, то обработчик ПриПолученииДан- ныхОтПодчиненного можно не определять. Нестандартное разрешение коллизий Данный сценарий подразумевает, что для некоторых элементов данных, для которых он реализуется, выполняется следующее: • каждое изменение элемента данных, произведенное в любом из узлов распределенной информационной базы, стремится распространиться по всем узлам; • разрешение коллизий производится на основании отношения узлов «главный - подчиненный», но более высокий приоритет имеет ненный узел. Для рассмотрения данного случая воспользуемся приведенным выше ром с документом РасходнаяНакладная и планом обмена Склады. В данном случае требуется определить обработчики событий ПриПолуче- нииДанныхОтПодчиненного и ПриПолученииДанныхОтГлавного. Обработчик ПриПолученииДанныхОтПодчиненного будет иметь следующий вид: 1 Процедура ПриПолученииДанныхОтПодчиненного(ЭлементДанных, ПолучениеЭлемента, ОтправкаНаэад) j ТипДанных- = ТипЗнч(ЭлементДанных); | Если ТипДанных = Тип("ДокументОбъект.РасходнаяНакладная") Тогда ПолучениеЭлемента = ПолучениеЭлементаДанных.Принять; • КонецЕсли; 1КонецПроцедуры Приведенный обработчик весьма прост: проверяется тип элемента данных, и если элемент данных относится к интересующему нас типу, то ру ПолучениеЭлемента присваивается значение ПолучениеЭлементаДанных. Принять, что приводит к безусловному приему элемента данных, мо от того, зарегистрированы его изменения или нет. Обработчик события ПриПолученииДанныхОтГлавного выглядит следующим образом: 1 Процедура ПриПолученииДанныхОтГлавного(ЭлементДанных, ПолучениеЭлемента, ОтцравкаНазад) ТипДанных = ТипЗнч(ЭлементДанных); Если ТипДанных = Тип("ДокументОбъект.РасходнаяНакладная") Тогда Если ПпаныОбмнна.ИзменениеЗарегистрировано(Ссьшка, ЭлементДзнных) 'Тогда ПолучениеЭлемента = ПолучениеЭлементаДанных. Игнорировать,- КонецЕсли КонецЕсли; КонецПроцедуры
2-576 1С:Предприятие 8.1. Конфигурирование и администрирование Этот обработчик несколько сложнее. Если элемент данных относится к интересующему нас типу, то производится проверка: зарегистрированы ли изменения элемента данных для узла-отправителя сообщения. Если ния зарегистрированы, то параметру ПолучениеЭлемента присваивается значение ПолучениеЭлементаДанных.Игнорировать. В результате прочитанный элемент данных не записывается в базу данных, а регистрация изменений сохраняется, что позволит поместить элемент данных в сообщение, ляемое главному узлу. Другие сценарии Рассмотренные сценарии являются только некоторыми из возможных риев организации обмена данными в распределенной информационной базе. На базе описанных выше обработчиков можно реализовать большое образие различных сценариев. Какие-то из них могут быть комбинацией рассмотренных выше, а какие-то могут быть принципиально другими.
Глава 14 Механизм XDTO 'Произвольная информационная система Л X Web-сервис 1 1. Ъ, ФайлХМЬ у Механизм XDTO является универсальным способом представления данных для взаимодействия с различными внешними источниками данных и программными системами. Аббревиатура XDTO чает XML Data Transfer Objects. Механизм XDTO позволяет создать модель представления данных (модель типов и ний), которая, с одной стороны, обеспечивает возможность просто и естественно пулировать данными в среде системы 1С:Предприятие8.1, а с другой стороны, данная дель хорошо приспособлена для прозрачного ния данных в другие форматы, главным образом XML. Можно выделить несколько задач, для решения которых используется механизм XDTO: • обмен данными между конфигурациями системы 1С:Предприятие 8.1 с существенно разными схемами данных; • обмен данными на основе схем XML, не привязанных к той или иной конфигурации (например, обмен с информационными системами, построенными не на основе системы 1С:Предприятие 8); • организация работы с Web-сервисами. Механизм XDTO позволяет описывать типы параметров и возвращаемых значений Web-сервисов, а также манипулировать передаваемыми и возвращаемыми данными. Система 1С:Предприятие 8.1 г Система типов и значений XDTO Система типов и значений конфигурации
2-578 1 С:Предприятие 8.1. Конфигурирование и администрирование Механизм XDTO обладает следующими ключевыми свойствами: • интероперабельность работы с XML; • привычная модель работы с данными. В настоящее время обмен данными с различными программными мами и системами реализуется с использованием XML: XML-документы служат для представления данных, а схема XML используется для ния форматов и структур данных. Механизм XDTO позволяет создавать требуемые для обмена схемы XML и формировать XML-документы, удовлетворяющие этим схемам. В то же время использование механизма XDTO позволяет выполнять эти действия в привычной для большинства разработчиков системы 1 приятие 8 манере. Разработчик имеет дело с типами и объектами данных, объекты данных содержат свойства, свойствам присваиваются значения и т. д. При ровании данными с помощью XDTO разработчик максимально изолирован от подробностей, связанных с тем, как эти данные представлены в XML. Конечно, совсем избавиться от этих подробностей невозможно, но важно, что они проявляются только там, где это действительно нужно. Фабрика XDTO Ключевым понятием механизма XDTO является фабрика XDTO. ка XDTO содержит описание всех типов, с которыми оперирует некоторая ( система. В частности, для любой конфигурации системы 1С:Предприятие 8.1 существует глобальная фабрика XDTO, которая описывает все типы, зуемые в конфигурации, в терминах XDTO (эта фабрика XDTO доступна через свойство глобального контекста ФабрикаХйТО). Все описания типов, которые содержит фабрика XDTO, сгруппированы в 1 один или несколько пакетов XDTO. Если проводить аналогию между XDTO 1 и XML, то можно сказать, что пакет XDTO соответствует схеме XML. Таким ] образом, фабрика XDTO может соответствовать нескольким схемам XML. Фабрика XDTO является полностью самодостаточной. То есть любой из ] типов, зарегистрированных в фабрике XDTO, может ссылаться только на I типы из той же самой фабрики XDTO. В общем случае фабрика XDTO создается единовременно на основании I описаний всех типов, которые должны быть зарегистрированы в фабрике. ] Для создания фабрики XDTO средствами встроенного языка используется | конструктор объекта ФабрикаХОТО, которому передается набор схем XML, содержащийся в объекте Ha6opCxeMXML. Сценарий, при котором типы XDTO | J
Глава 14. Механизм XDTO 2-579 добавляются в фабрику по одному или группами, не поддерживается. Ниже приведен пример создания фабрики XDTO на основе схемы XML, содержащейся в файле XML. Так как механизм XDTO представляет собой абстракцию, построенную «над» XML, то для получения схемы XML из файла XML необходимо последовательно «пройти» несколько уровней работы с данными XML: сначала низкоуровневое чтение/запись файлов XML, а затем объектную модель XML, из которой уже может быть получен объект встроенного языка СхемаХМЦ содержащий данные схемы XML. ФабрикаХОТО . . CxeMaXML j L ДокументРОМ • > HtshhsXML i . Файл XML Объектная модель XDTO Объектная модель схемы XML Объектная модель XML Низкоуровневое чтение/запись файлов XML // Создать фабрику XDTO на основе схемы XML, содержащейся в файле >НЬ // Создать объект чтения XML по умолчанию НовоеЧтениеХМЬ = Новый ЧтениеХМЬ; // Открыть файл XML НовоеЧтениеХМЬ.ОткрытьФайл("D:/MySchema.xsd"); // Создать построитель документа DOM по умолчанию ИовыйПостроительГОМ = Новый ПостроительООМ; // Прочитать файл XML в документ DOM ИовыйДокументООМ = НовыйПостроительООМ.Прочитать(НовоеЧтениеХМЬ), // Создать построитель схемы XML по умолчанию ПовыйПостроительСхемыХМЬ = Новый ПостроительСхемХМЬ,-
2-580 1С Предприятие 8.1. Конфигурирование и администрирование // Получить схему XML из документа DOM НоваяСхемаХШд = НовыйПостроительСхемыХМЬ. СоздатьСхемуХМЬ(НовыйДокументГОМ); ! // Создать набор схем XML по умолчанию НовыйНаборСхемХМЬ = Новый НаборСхемХМЬ; . // Добавить схему XML в набор схем XML I НовыйНаборСхемХМЬ.ДобавитьШоваяСхемаХМЬ); // Создать фабрику XDTO на основе набора схем XML | НоваяФабрикаХОТО = Новый ФабрикаХОТОШовыйНаборСхемХМЮ; В приведенном примере сначала создается объект ЧтениеХМ!. и открывается файл XML, расположенный на диске. После этого с помощью построителя документа DOM создается объект ДокументиОМ, содержащий данные файла XML. Затем с помощью построителя схемы XML на основе документа DOM создается новый объект Схеи/iaXML, содержащий данные схемы XML. В чение создается пустой набор схем XML, в который добавляется имеющаяся схема XML, и на основании этого набора создается фабрика XDTO. Получение фабрики XDTO из файла-схемы XSD Схемы = Новый Массив; ¦ Схемы,Добавить("путь!"}; j Схемы.Добавить("цуть2"); Пакеты = Новый Массив; Пакеты.Добавить(ФабрикаХОТО.Пакеты. Получить{"URI пространства имен пакета из конфигурации 1")); \ Пакеты.Добавить(ФабрикаХОТО.Пакеты. Получить("UM пространства имен пакета из конфигурации 2")); « Мояфабрика = СоэдатьФ брикуХШХНСхемы, Пакеты); В отличие от произвольной фабрики XDTO, которую может создать разработчик, глобальная фабрика XDTO создается системой автоматически, при создании новой информационной базы, и допускает добавление типов XDTO по одному или группами. Для этого используются средства визуального конструирования, позволяющие добавлять пакеты XDTO в ветку дерева метаданных Общие - XDTO. Все пакеты, содержащиеся в глобальной фабрике XDTO, можно разделить на три вида: • один пакет XDTO, содержащий описание типов платформы. Этот пакет является одинаковым для всех конфигураций системы Ю.Предприя- тие 8.1; • один пакет XDTO, содержащий описание типов конфигурации, ных в результате редактирования метаданных (создания и изменения свойств справочников, документов и пр.);
Глава 14. Механизм XDTO 2-581 • один или несколько пакетов XDTO, описанных непосредственно в дереве конфигурации, в ветке Общие - XDTO. Пакет XDTO содержит описание некоторого множества типов, жащих одному пространству имен - пространству имен пакета. Кроме непосредственно описаний типов пакет XDTO может содержать ссылки на пакеты, которые используются данным пакетом, а также список ний глобальных свойств пакета. Ссылки на другие пакеты содержатся в свойстве Зависимости пакета XDTO и представляют собой объект КолпекцияПакетовХОТО. Пакеты этой ции содержат типы из пространства имен, на которые имеются ссылки в данном пакете. В пакете можно ссылаться на глобальные свойства из других пакетов. Типы данных XDTO Каждый из типов данных XDTO является либо типом значения XDTO, либо типом объекта XDTO. Соответственно, для описания типа значения используется объект ТипЗначенияХОТО, а для описания" типа объекта - ТипОбъектаХОТО. Объект ТипЗначенияХОТО используется для описания типов простых неделимых значений, в которых не могут быть выделены отдельные составляющие. рами простых значений являются разнообразные строки, числа, даты и т. п. Объект ТипОбъектаХОТО используется для описания типов экземпляров данных, имеющих некоторое состояние, представляемое как совокупность чначений свойств этого экземпляра данных. При этом типы свойств этого экземпляра данных могут являться как типами значений XDTO, так и типами объектов XDTO. И ТипЗначенияХОТО, и ТипОбъектаХОТО имеют два одинаковых свойства: • Имя - имя типа; • иИПространстваИмен - URI пространства имен, в котором определен данный тип. Значения этих свойств совпадают с аналогичными параметрами, с которыми Din определяется в схеме XML. Имя типа и URI пространства имен ют уникальный идентификатор типа. Имя типа должно быть обязательно определено. При этом свойство игоПространстваИмен может содержать пустую строку, хотя это и нежелательно.
2-582 1 С:Предприятие 8.1. Конфигурирование и администрирование Тип значения XDTO Тип значения XDTO в соответствии с правилами для simple type из схемы XML может определяться тремя способами: • ограничением, когда задается базовый тип (свойство БазовыйТип) и набор ограничений на множество возможных значений (свойство Фасеты); • объединением, когда тип получается в результате объединения ких типов значений (объединяемые типы перечисляются в свойстве ТипыЧленовОбъединения); • списком, когда значение представляет собой список значений (тип значения элементов, составляющих список значений, задается в тве ТипЭлементаСписка). Помимо свойств Имя и 1Ж1ПространстваИмен тип значения XDTO содержит следующие свойства: • БазовыйТип — базовый тип для данного типа значения XDTO. Базовые типы могут наследоваться, но только от других типов значений XDTO. Допустимое множество значений унаследованного типа ет собой подмножество возможных значений базового типа. Верхним уровнем в иерархии простых типов является предопределенный тип anySimpleType из пространства имен http://www.w3.org/2001/XMLSchema. Все типы значений прямо или опосредованно унаследованы от этого типа. Типы, образованные объединением или списком, всегда редственно унаследованы от anySimpleType; • Фасеты - список фасетов, ограничивающих множество допустимых значений по отношению к базовому типу. Список фасетов задается только для типов значений XDTO, определенных ограничением го типа. Каждый отдельный фасет представляет собой пару: имя фасета и значение. Определен список имен допустимых фасетов. Причем не любой из допустимых фасетов может быть применен к любому типу. Список фасетов и применимость их к тому или иному типу ются по правилам XML Schema (http://www.w3.org/TR/xmlschema-2/); • ТипыЧленовОбъединения - список типов, образующих объединение. Объединяться могут только типы значений XDTO. Если тип ван объединением, то список ТипыЧленовОбъединения содержит по крайней мере один тип. При этом список Фасеты должен быть пустым, а свойство ТипЭлементаСписка должно возвращать неопределенное значение; • ТипЭлементаСписка - в случае, когда тип значения XDTO ся списком, данное свойство показывает тип элемента списка. При этом списки Фасеты и ТипыЧленовОбъединения должны быть пустыми.
Глава 14. Механизм XDTO 2-583 Список имен допустимых фасетов (определяется системным ем ВидФасетаХОТО): • Длина - фасет длины. Содержит количество единиц длины, причем единица длины имеет различный смысл для различных типов. Для типов string и anyURI длина содержит количество символов. Для типов hexBinary и base64Binary длина содержит количество байт двоичных данных. Для типов, определяемых списком, длина содержит во элементов списка; • МаксВключающее - фасет максимума, включающего границу. чивает пространство значений данного типа максимальным значением. Любое значение данного типа меньше либо равно указанному нию; • МаксДлина — фасет максимальной длины. Содержит максимальное количество единиц длины, причем единица длины имеет ный смысл для различных типов. Для типа string максимальная длина содержит максимальное количество символов. Для типов hexBinary и base64Binary максимальная длина содержит максимальное количество байт двоичных данных. Для типов, определяемых списком, ная длина содержит максимальное количество элементов списка; • МаксИсключающее-фасетмаксимума, не включающегограницу. чивает пространство значений данного типа максимальным значением. Любое'значение данного типа меньше указанного значения; • МинВключающее - фасет минимума, включающего границу. чивает пространство значений данного типа минимальным значением. Любое значение данного типа больше либо равно указанному нию; • МинДлина - фасет минимальной длины. Содержит минимальное количество единиц длины, причем единица длины имеет различный смысл дляразличных типов. ДлятипазМпд минимальная длинасодержит минимальное количество символов. Для типов hexBinary и base64Binary минимальная длина содержит минимальное количество байт двоичных данных. Для типов, определяемых списком, минимальная длина жит минимальное количество элементов списка; • МинИсключающее-фасетминимума, не включающего границу. чивает пространство значений данного типа минимальным значением. Любое значение данного типа больше указанного значения; • Образец - фасет образца. Содержит регулярное выражение, ющее пространство значений данного типа; • Перечисление - фасет перечисления. Определяет набор допустимых значений данного типа;
2-584 1С:Предприятие 8.1. Конфигурирование и администрирование • ПробельныеСимволы - фасет пробельных символов. Может принимать одно из трех значений: • Сохранять - строка может содержать любые пробельные символы; • Заменять - строка не должна содержать #х9 (табуляция), #хА (перевод строки) и #xD (возврат каретки). Если они существуют, то должны быть заменены символом #х20 (пробел); • Сворачивать - дополнительно к требованиям, указанным для ния replace, строка не должна содержать парных символов #х20 (пробел), а также лидирующих и завершающих символов #х20 (пробел); • ЦифрВсего - фасет общего количества цифр. Содержит общее тво разрядов числа (целая часть плюс дробная часть); • ЦифрДробнойЧасти - фасет количества цифр дробной части. Содержит количество разрядов дробной части числа. Инфраструктура XDTO определяет набор предопределенных типов значений XDTO. Этот набор совпадает с набором примитивных типов, определенных в XML Schema Part 2: Datatypes. Предопределенные типы образуют хию в соответствии с XML Schema Part 2: Datatypes. Имена типов совпадают с именами типов XML Schema и принадлежат URI пространства имен - http://www.w3.org/2001/XMLSchema. Предопределенные типы являются автоматически зарегистрированными в любой фабрике XDTO. Тип объекта XDTO Помимо свойств Имя и 1Ж1ПространстваИмен тип объекта XDTO содержит следующие свойства: • БазовыйТип — базовый тип для данного типа. Это может быть только тип объекта XDTO. Базовым в иерархии типов объектов XDTO является предопределенный тип апуТуре из пространства имен http://www.w3.org/2001/XMLSchema. Все типы объектов XDTO прямо или опосредованно унаследованы от этого типа; • Открытый - признак того, является ли тип объекта XDTO открытым. Данное свойство показывает, может ли экземпляр объекта XDTO жать дополнительные свойства, не определенные в его типе, то есть реализует модель open content. Соответствует появлению в XML-схеме для данного типа описаний: <anyElement>, <anyAttribute>, <any>. • Абстрактный — признак того, является ли тип объекта XDTO ным. Соответствует появлению в схеме для данного элемента атрибута abstract="true"; • Упорядоченный - признак того, является ли порядок следования
Глава 14. Механизм XDTO 2-585 элементов, представляющих значения свойств, строго щим порядку следования свойств в типе объекта XDTO. Если задана модель контента xsd:all, то порядок следования элементов XML может быть произвольным. При этом допустимым является порядок, твующий порядку следования свойств в типе. То есть если свойство Упорядоченный имеет значение Ложь, то на входе порядок следования элементов XML не контролируется, а на выходе определяется ком следования свойств, если только признак Последовательный не имеет значение Истина; • Последовательный - это свойство показывает, содержит ли экземпляр соответствующего объекта XDTO последовательность XDTO. Данный признак равен значению Истина в тех случаях, когда порядок ния вложенных элементов XML не может однозначно определяться порядком следования свойств в типе (например, в схеме XML контент задан как <sequence ... maxOccurs=10 ... >) или для соответствующего типа XML в схеме определен атрибут mixed="true". Последовательность XDTO позволяет задать в явном виде порядок следования элементов, как они будут представлены в документе XML. Для объектов типов, у которых свойство Последовательный установлено в значение Ложь, порядок следования вложенных элементов соответствует порядку следования свойств; • Смешанный - свойство показывает, определен ли в схеме XML для данного типа mixed content. Если значение свойства Смешанный равно Истина, то значение Последовательный обязательно равно Истина, так как mixed content невозможно смоделировать без применения вательности XDTO; • Свойства - список свойств, определенных для данного типа объекта XDTO. Каждое из свойств представляется в виде экземпляра объекта СвойствоХОТО. Список содержит полный список свойств, в том числе свойства, определенные в базовом типе. Существует предопределенный тип объекта XDTO с именем апуТуре и URI пространства имен http://www.w3.org/2001/XMLSchema. Данный тип ся базовым для любого типа объекта XDTO, но у него нет базового типа. Он является открытым, не абстрактным, подразумевает наличие тельности и имеет пустой список свойств. Данный тип объекта XDTO соответствует типу апуТуре, определенному и XML Schema Part 2: Datatypes.
2-586 1С Предприятие 8.1. Конфигурирование и администрирование Свойство XDTO Отдельно взятое свойство отдельного типа объекта XDTO описывается с помощью экземпляра объекта СвойствоХОТО. Это означает, что один и тот же экземпляр объекта СвойствоХОТО не может быть использован для ния свойств в различных типах объектов XDTO и двух различных свойств одного типа объекта XDTO. Объект СвойствоХОТО содержит следующие свойства: • Имя - имя свойства. В пределах одного типа объекта XDTO имена свойств должны быть уникальными; • Тип - тип свойства. Может быть как экземпляром объекта ТипЗначе- нияХОТО, так и экземпляром объекта ТипОбъектаХОТО; • ВерхняяГраница - свойство типа объекта XDTO может быть лено как содержащее одно или множество значений. Свойство считается содержащим одно значение, если равно 1. Если же тво ВерхняяГраница больше 1, то считается, что оно может содержать множество значений. Такое свойство в структуре объекта руется как список (не путать со списком в описании типа значения XDTO). Свойство ВерхняяГраница показывает максимальное тво значений свойства. Значение > 1 может быть задано только для свойств, представляемых в виде элемента XML. Свойство ница соответствует атрибуту xsdrmaxOccurs в XML Schema. Значение -1 соответствует "unbounded"; • НижняяГраница — минимальное количество значений свойства. Минимальное количество значений свойства может принимать ния >= 0. Естественно, значение НижняяГраница должно быть меньше или равно значению ВерхняяГраница (если, конечно, ВерхняяГраница не равно-1); • ВозможноПустое — показывает, может ли свойство принимать деленное значение. Неопределенное значение свойства представляется в XML в виде элемента следующего вида: <elem xsi:nil="true" />. Таким образом, свойство ВозможноПустое, равное Истина, может быть лено только для свойств с формой представления Элемент. Свойство ВозможноПустое соответствует атрибуту xsd:nillable в XML Schema. Если значение свойства ВерхняяГраница > 1, неопределенное значение является допустимым для элемента списка значений свойства; • ЗначениеПоУмолчанию - значение свойства по умолчанию. нием свойства по умолчанию может быть только ЗначениеХОТО. При этом данное значение должно быть того же типа, что и тип свойства или же унаследованного типа. При создании объекта XDTO свойство, если
Глава 14. Механизм XDTO 2-587 оно допускает единственное значение, принимает значение по нию (метод Установлено() объекта XDTO возвращает значение Ложь для этого свойства). Для свойств со множеством значений список значений изначально пуст, независимо от того, определено или нет значение по умолчанию; • Фиксированное - указывает, является ли значение свойства ванным. Если установлено в значение Истина, то само фиксированное значение можно получить через свойство ЗначеииеПоУмопчанию. • Форма - форма представления свойства в XML. Это может быть Текст, Элемент или Атрибут. Если формой представления является Атрибут или Текст, то значение свойства ВерхняяГраница не может быть ше 1. Если свойство принимает значение Текст, то значение свойства НижняяГраница также должно быть равным 1. У одного типа только одно свойство может иметь форму представления Текст, при этом остальные свойства должны иметь форму представления Атрибут. • ЛокальноеИмя - локальное имя атрибута или элемента, го для представления свойства. Для свойств с формой представления Текст - пустая строка. • 1Ж1ПространстваИмен - URI пространства имен для атрибута или элемента, используемого для представления свойства. Пустая строка, если пространство имен отсутствует. Экземпляры данных XDTO Экземпляры данных XDTO могут являться значениями XDTO (Значе- HMeXDTO) или объектами XDTO (ОбъектХОТО). Значение XDTO Чиачение XDTO представляет собой простое неделимое значение, в котором не могут быть выделены отдельные составляющие. Примерами простых шачений являются разнообразные строки, числа, даты и т. п. Экземпляры простых значений являются немутабельными. Новое значение XDTO может быть создано с помощью метода Создать() фпбрики XDTO: • на основе типа значения XDTO и значения; • на основе типа значения XDTO и лексического представления значения.
2-588 1 С:Предприятие 8.1. Конфигурирование и администрирование Ниже приведены примеры создания значения XDTO. ГлобальнаяФабрикаХОТО = ФабрикаХШХ); // Создать значение XDTO из ссылки СсылкаНаЭлементСправочиика = Справочники.Номенклатура. НайтиПоКоду!000001"); , ТияЗначенияХОТОСоздаваемогоЗначения = ГлобальнаяФабрикаХОТО.Тип("urn:schemas-v8-lc-ru:config-data", "CatalogRef.Номенклатура"); НовоеЗначениеХОТО = ГлобальнаяФабрикаХИГО.Создать{ТипЗначенияХПГОСоздаваемогоЗначения, ' СсылкаНаЭлементСправочника); // Создать значение XDTO из лексического представления значения ТипЗначенияХОТОСоздаваемогоЗначения = ГлобальнаяФабрикаХОТО.Тип("http://www.w3.org/2001/XMLSchema"A "dateTime"); ' НовоеЗначениеХОТО = ГлобальнаяФабрикаХОТО. Создать (ТипЗначеншШЗТОСоздаваемогоЗначения, ' 006~04-20Т12:00:30"> ; Новое значение XDTO может быть получено также путем чтения файла XML. ГлобальнаяФабрикаХОТО = ФабрикаХВТО;, \ II Прочитать данные значения XDTO из файла XML НовоеЧтениеХМО. = Новый ЧтениеХМЬ; НовоеЧтениеХМЬ.ОткрытьФайл("D:/Exchange.xml"); НовоеЗначениеХОТО = ГлобальнаяФабрикаХОТО. ПрочитатьХМЬ(НовоеЧтениеХМЬ); _ , ..,.1 ..-. .,, ,¦•'<,.¦.-* „. ¦ I, -• Значение XDTO может быть записано в файл XML. ГлооальнаяФабрикаХОТО = ФабрикаХБТО; i // Записать данные значения XDTO в файл XML НоваяЗаписьХМЬ = Новый ЗаписьХМЬ; НоваяЗаписьХМЬ.ОткрытьФайл("D:/Exchange.xml"); ГлобальнаяФабрикаХОТО.ЗалисатьХМЫНоваяЗаписьХМЬ, НовоеЗначениеХОТО); i _
Глава 14. Механизм XDTO 2-589 Объект XDTO В противовес простому значению состояние объекта XDTO представляется как совокупность значений его свойств. Экземпляры объекта XDTO ся мутабельными, то есть во время жизни объекта XDTO его состояние может быть изменено с помощью значений отдельных его свойств. В качестве значений свойств могут фигурировать любые экземпляры данных XDTO, как значение XDTO, так и объект XDTO. Когда значением свойства является объект XDTO, говорят, что значением свойства является ссылка на объект. Новый объект XDTO может быть создан с помощью метода Создать() ки XDTO, на основе типа объекта XDTO. После этого следует присвоить соответствующие значения свойствам объекта XDTO. Ниже приведен пример создания объекта XDTO и заполнения его свойств. рГлобальнаяФабрикаХТЯО = ФабрикаХОТО,- [ j // Создать "пустой" объект XDTO ТипОбъектаХОТОСоздаваемогоОбъекта = ГлобальнаяФабрикаХОТО.Тип{"http://www.1с.ru/demos/products", "Номенклатура"); НовыйОбъектХОТО = ГлобальнаяФабрикаХОТО.Создать(ТипОбъектаХОТОСоздаваемогоОбъекта); I , // Заполнить значения свойств объекта XDTO ! ОбъектСправочника = СсыякаНаЭлементСправочника.ПолучитьОбъектО ; 1 . [ j НовыйОбъеетЖОТО.Наименование = ОбъектСправочника. Наименование; | НовыйОбъектХОТО.ПолноеНаименование = ОбъектСправочника. ПолноеНаименование; i НовыйОбъектХОТО.ЗакупочкаяЦена = ОбъектСправочника.ЗакупочнаяЦенаг', I НовыйОбъектХОТО.ШтрихКод = ОбъектСправочника.ШтрихКод; Так же как и значение XDTO, данные объекта XDTO могут быть прочитаны из файла XML или записаны в файл XML. | ГлобальнаяФабрикаХГЯО = ФабрикаХОТО; , I // Прочитать данные обьекта XDTO из файла XML • ИовоеЧтениеХМЬ = Новый ЧтениеХМЬ; I ПовоеЧтениеХМЬ.ОткрытьФайя("П:/ЕхсЬапде.хт1"); ИовыйОбъектХГЖ) = ГлобальнаяФабрикаХОТО. ПрочитатьХММНовоеЧтениеХМ!,); i // Записать данные объекта XDTO в файл XML ИоваяЗаписьХМЬ = Новый ЗаписьХМЬ; 11оваяЗаписьХМЬ.ОткрытьФайл(*D:/Exchange.xml"); ! ГлобальнаяФабрикаХОТО. ЗаписатьХММНоваяЗаписьХМЬ, НовыйОбъектХОТО); ;
2-590 1 С:Предприятие 8.1. Конфигурирование и администрирование Объект ОбъектХОТО содержит следующие методы: • Тип() - возвращает тип данного объекта XDTO (ТипОбъектаХОТО); • Установить(<Выражение>), Установить(<Свойство>, <3начение>) - ет установить значение свойства. Выражение — выражение на XPath, указывающее свойство. Свойство - имя свойства, Значение - устанавливаемое значение свойства. Если Выражение задано неправильно или Значение не может быть присвоено свойству (например, тип несовместим с типом свойства), то вызывается исключение. Если свойству присваивается неопределенное значение, а свойство ВозможноПустое равно Ложь, то выдается чение. Если свойству присваивается ссылка на объект XDTO и ссылка на этот объект XDTO уже является значением какого-либо другого свойства, то данная ссылка перестает быть значением этого другого свойства. Цепочки ссылок на объекты XDTO, содержащиеся в свойствах тов, не могут образовывать циклов. Поэтому при присваивании ссылки на объект XDTO, вызывающем образование цикла, ется исключение. Если свойство допускает множество значений, то для него применение метода Установить() недопустимо и приводит к вызову исключения. При присваивании значения свойству дится проверка на допустимость присваивания данного типа значения свойству. Значение может быть присвоено в том случае, если его тип совпадает с типом свойства, является унаследованным от типа свойства или является одним из типов, входящих в объединение. При вании, если формой представления значения свойства в XML является Текст или Атрибут, производится приведение значения к типу свойства. Если формой представления является Элемент, значение ся как есть; • Получить(<Свойство>), Получить(<Выражение>) - получение значения свойства. Свойство - имя свойства. Выражение - выражение на XPath, указывающее свойство. Для свойств со множеством значений данный метод возвращает список значений свойства - СписокХОТО. Все операции модификации значений свойства должны выполняться через этот список; • Сбросить(<Свойство>), Сбросить (<Выражение>) - сброс значения свойства. Свойство - имя свойства. Выражение - выражение на XPath, указывающее свойство. Действие метода Сбросить() для различных свойств различно. Для свойств, допус-
Глава 14. Механизм XDTO 2-591 кающих множество значений (ВерхняяГраница> 1), выполнение метода Сбросить() приводит к очистке списка значений; • Установлено() - проверяет установленность значения свойства. Непосредственно после создания объекта у всех свойств результатом выполнения метода Установлено() будет значение Ложь; • Последовательность() — возвращает объект-последовательность (ПоследовательностьХОТО), принадлежащий данному объекту XDTO. С помощью последовательности XDTO также можно вать состояние объекта. Данный метод возвращает последовательность XDTO только в том случае, если у типа объекта установлено свойство Последовательный; • Проверить() - данный метод позволяет проверить правильность заполнения значений свойств объекта XDTO. При проверке ются также объекты, ссылки на которые являются значениями свойств. Предметом проверки является соответствие количества значений свойств свойствам НижняяГраница и ВерхняяГраница, правильность следования значений свойств в последовательности XDTO, если тво Упорядоченный имеет значение Истина. Проверка прекращается при нахождении первой же ошибки. При этом выдается исключение. Последовательность XDTO С помощью объекта ПоследовательностьХОТО моделируется порядок ния элементов и фрагментов текста, как они выглядят в XML-представлении объекта. Последовательность состоит из пар «свойство - значение». В честве свойств могут выступать только свойства с формой представления Элемент, так как порядок следования атрибутов не важен. Свойство в паре «свойство - значение» может также иметь неопределенное значение. В этом случае считается, что данный элемент последовательности представляет фрагмент текста. Появление элементов последовательности, щих фрагменты текста, допустимо только для объектов типов, у которых точение свойства Смешанный равно Истина. При формировании содержимого объекта XDTO с помощью присваивания ншчений свойствам порядок присваивания отражается в последовательнос- m XDTO. 11оследовательность XDTO содержит следующие методы: • Количество() - возвращает число элементов последовательности; • ПолучитьСвойство(<Индекс>) - возвращает свойство, которому твует значение, находящееся по индексу Индекс. Если Индекс находится за границами допустимых значений, выдается исключение. Метод может вернуть неопределенное значение, если элементу ти соответствует фрагмент текста из смешанного содержания (текст и элементы);
2-592 1 С:Предприятие 8.1. Конфигурирование и администрирование • ПолучитьЗначение(<Индекс>) — возвращает значение, находящееся по индексу Индекс. Если Индекс находится за границами допустимых значений, выдается исключение; • УстановитьЗначение(<Индекс>, <Элемент>) - устанавливает значение Элемент по индексу Индекс. Индекс должен иметь значение в не допустимых индексов. Элемент должен иметь допустимое значение для свойства, для которого он устанавливается, или для текста; • Добавить(<Свойство>, <Элемент>) — добавляет пару «свойство - ние» к последовательности. Значение должно быть допустимым для свойства; • Добавить(<Текст>) - добавляет фрагмент текста к ти. Если у типа объекта свойство Смешанный имеет значение Ложь, то выдается исключение; • Вставить(<Индекс>, <Свойство>, <Эпемент>) - вставляет пару во - значение» в позицию Индекс последовательности. Индекс должен иметь значение внутри диапазона индексов. Элемент в позиции Индекс и все элементы с большими значениями индекса сдвигаются вправо на одну позицию; • Вставить(<Индекс>, <Текст>) - вставляет текст Текст в позицию Индекс последовательности. Индекс должен иметь значение внутри диапазона индексов. Элемент в позиции Индекс и все элементы с большими ниями индекса сдвигаются вправо на одну позицию; • Удалить(<Индеке>) - удаляет элемент последовательности в позиции Индекс. Индекс должен иметь значение внутри диапазона допустимых. Список XDTO С помощью объекта СписокХОТО моделируется список значений для свойств с множественными значениями (ВерхняяГраница > 1). Список ляет собой упорядоченный набор объектов, которые могут являться как значениями XDTO, так и объектами XDTO. Среди них могут иметь место неопределенные значения, если свойство ВозможноПустое имеет значение Истина. Но понятие «установленности» для элемента списка не определено. Объект СписокХОТО содержит следующие методы: • Количество() — возвращает размер списка; • Получить(<Индекс>) - получает значение, находящееся по индексу Индекс. Индекс должен находиться в диапазоне допустимых. В протай- ном случае выдается исключение; • Установить(<Индекс>, <Элемент>) - устанавливает значение Элемен! в позицию Индекс. Устанавливаемое значение замещает ранее
Глава 14. Механизм XDTO 2-593 присутствовавшее значение. Индекс должен находиться в диапазоне допустимых, а Элемент должен быть допустимым для свойства. В противном случае выдается исключение; • Добавить(<Элемент>) - добавляет значение в хвост списка. Элемент должен быть допустимым для свойства. В противном случае ся исключение; • Вставить(<Индекс>, <Эпемент>) - внесение значения Элемент в позицию Индекс. Индекс должен находиться в диапазоне допустимых, а Элемент должен быть допустимым для свойства. В противном случае ся исключение. Значение в позиции Индекс и значения с большими позициями сдвигаются вправо на одну позицию; • Удалить(<Индекс>) - удаление значения в позиции Индекс. Индекс должен находиться в диапазоне допустимых. Значения с большими позициями сдвигаются на освободившееся место. XPath Для навигации по дереву объектов могут использоваться выражения на XPath. Строго говоря, это не совсем XPath, а скорее несколько модифициро- панное подмножество XPath. Основной конструкцией данного языка является путь к значению, который состоит из отдельных шагов. Шаги в пути отделяются друг от друга символами / (слеш). В качестве шага пути выступает имя свойства или предопределенные конструкции . (точка) и .. (две точки). Выражение приведенного ниже вида обозначает свойство с именем ИмяСвойства текущего объекта, а именно объекта, у которого вызвали метод Получить() или Установить(). ИмяСвойства Имражение приведенного ниже вида означает, что у текущего объекта но значение свойства ИмяСвойства"!, а у объекта, ссылка на который является точением свойства ИмяСвойства"!, получено свойство ИмяСвойства2. ||мяСвойства1/ИмяСвойства2 , , ,,,, ¦; I '«ответственно, шаг, обозначенный как точка, означает текущий объект, и дне точки - объект-владелец текущего. К'ли путь поиска начинается с символа слеш, то это означает поиск от корня дерева объектов. Если какое-либо свойство в пути не найдено, то это W «лвает исключение. Если в пути встречается свойство с множественным шнчением, то результатом является весь список значений данного свойства.
2-594 1С:Предприятие 8.1. Конфигурирование и администрирование Например, если в пути, приведенном ниже, свойство Список имеет венное значение, то результат данного выражения - это список (СписокХРТО) значений данного свойства. Свойство/Список , Для того чтобы получить отдельное значение из этого списка, надо через точку от имени свойства указать 0-базированный индекс значения в списке, как это показано ниже. Свойство/Список.О Индекс должен быть задан как целое число, находящееся в пределах диапазона допустимых индексов. В противном случае будет вызвано исключение. Можно получить отдельное значение из списка с использованием 1-базиро- ванного индекса. Для этого применяется конструкция следующего вида: 1 Свойство/Список[1) Индекс может принимать значения от 1 до числа элементов в списке. Имеется также возможность поиска в списке (только для объектов). ние для поиска выглядит следующим образом: ' Ц || i i I I ' ¦ ——| Свойство/Список[ИмяСвойства='СтрокаПоиска') Здесь Список — это свойство со множественным значением. Значением списка являются объекты, у которых имеется свойство с именем ИмяСвой- ства. Результатом будет первый объект в списке, значение свойства Свойство которого равно строковому значению 'СтрокаПоиска'. Если ни одного та не найдено, то результатом является неопределенное значение. Свойство ИмяСвойства также может присутствовать не у всех объектов в списке. А может и не присутствовать ни у кого. Значение, с которым сравнивается значение свойства, может быть задано в виде числа, логического значения (True или False) или строкового литерала. Свойство/Список[ИмяСвойства!='СтрокаПоиска'] Приведенное выше выражение аналогично предыдущему примеру, за чением того, что результатом будет первый объект в списке, значение свойства ИмяСвойства которого не равно строковому значению 'СтрокаПоиска'. Ниже приведено определение описываемого подмножества XPath. <Путь> [/] <Список шагов> <Список шагов> <Шаг> [/<Список шагов>] | <Шаг> <Имя свойства> [<Уточнение>] |.. |. |
Глава 14. Механизм XDTO 2-595 <Имя свойства> [<Буква> | _]<Остаток имени> <Остаток имени> {<Буква> | <Цифра> | _} <Остаток имени> | <Уточнение> <0-базированный индекс> | [<Имя свойства>=<Значение>] | [<Имя свойства>!=<Значение>] | [<1-базированный индекс>] <0-базированный индеко <Целое без знака> <1-базированный индеко <Целое без знака> Целое без знака> <Цифра> <Цифры> <Цифра> 0|1|2|3|4|5|6|7|8|9 <Цифры> <Цифра> <Цифры> | <3начение> <Число> | <Строка> | <Булево> <Число> [+|-]<Целое без знака>[.<Целое без знака>] <Строка> "<Символы>" | '<Символы>' <Булево> true | false Замечание. В строке с ограничителями «"» среди символов не может ttrтрепаться «"». Аналогично в строке с разделителями «V не может пстречатъся символ «'». При сравнении значения свойства со значением, заданным в виделитера- ча, значение, заданное в виде литерала, приводится к типу свойства по правилам приведения, после чего производится сравнение.
2-596 1С:Предприятие 8.1. Конфигурирование и администрирование XML-сериализация на основе XDTO Значения типов конфигураций системы 1С:Предприятие 8.1 могут быть сериализованы непосредственно в(из) файл(а) XML на основе XDTO. Для этого используется объект СериализаторХРТО, который может быть получен с помощью конструктора на основе существующей фабрики XDTO. Работа с объектом СериализаторХОТО аналогична работе с ными процедурами и функциями работы с XML. Например, сериализация ссылки на справочник Номенклатура в файл XML может быть выполнена с помощью следующего кода: ; // Получить ссылку на элемент справочника Номенклатура СсылкаНаЭлементСправочника = Справочники.Номенклатура. НайтиПоКодуС'0000001"); ; ; // Создать сериализатор XDTO для глобальной фабрики XDTO I НовыйСериализаторХОТО = Новый СериализаторХОТО(ФабрикаХОТО); | // Создать объект записи XML и открыть файл I НоваяЗаписьХМЬ = Новый ЗаписьХМЬ; t НоваяЗаписьХМЬ.ОткрытьФайлС'О:/Exchange.xml") ; \ 11 ... > // Сериализовать ссылку в XML | НовыйСериализаторХИТО. ЗаписатьХМЬ (НоваяЗаписьХМЬ, СсылкаНаЭлементСправочника, НазначениеТипаХМЬ.Явное); Ниже приведен пример сериализации ссылки на справочник Номенклатура из файла XML: // Создать сериализатор XDTO для глобальной фабрики XDTO НовыйСериализаторХОТО = Новый СериализаторХОТО(ФабрикаХОТО); // Прочитать данные объекта XDTO из файла XML НовоеЧтениеХМЬ = Новый ЧтениеХМЬ; НовоеЧтениеХМЬ.ОткрытьФайл("D;/Exchange.xml"); I II Сериализовать ссылку из XML i 'НоваяСсылкаНаСправочник = НовыйСериализаторХОТО. ПрочитатьХМЫНовоеЧтениеХМЬ); ^ ._.„_.. _ .... . I
лава 14 Механизм XDTO 2-597 Рекомендации по оформлению схем XML Преобразование НаборСхемХМЬ -> ФабрикаХОТО -> НаборСхемХМЬ в общем случае не дает на выходе набор схем XML, эквивалентный исходному. нако следование набору рекомендаций по оформлению схем XML позволит добиться эквивалентности выходного набора схем исходному, а именно: • для преобразования НаборСхемХМЬ -> ФабрикаХРТО -> НаборСхемХМ!. будет соблюдаться эквивалентность выходного набора схем исходному; • успешная проверка правильности заполнения свойств объекта Объ- ект-XDTO (метод Проверить()) гарантирует, что представление объекта в XML будет соответствовать схеме XML; • обеспечивается максимальная гибкость и отсутствие искажений при использовании полиморфизма. Схема XML, полученная на основе фабрики XDTO, для типов которой не переопределялись значения по умолчанию параметров, ответственных за XML-представление данных, безусловно соответствует приведенным рекомендациям. В общем, приведенный далее список рекомендаций представляет собой набор правил, позволяющий добиться наилучших результатов с различных точек зрения. Схема XML не должна содержать анонимных типов Недопустимы конструкции следующего вида: '• <element name="Person"> ; <coinplexType> <sequence> <element name="FirstName" type="string" /> , <element name="FamilyName" type="string" /> </sequence> I </complexType> ' </element> , , Этот фрагмент следует оформить следующим образом: <element name="Person" type="tns:PersonType"> ' <complexType name="PersonType"> <sequence> <element name="FirstName" type="string" /> ' <element name="FamilyName" type="string" />; , </sequencer I </coraplexType> 1 _„ _ ^._ . ^. _ , i„ _„,,_,,„,„_.,, ,,..,&J
2-598 1С:Предприятие 8.1. Конфигурирование и администрирование Для контента сложных типов следует использовать только модель sequence Для моделирования контента у сложных типов (complexType) ет использовать только единственный блок sequence без переопределения значений по умолчанию атрибутов minOccurs и maxOccurs. •ccomplexType name="PersonType"> <sequence> <element name="FirstName™ type="string" /> <element name="FamilyName" type="string" /> </seguence> </complexType> Модель all не нарушает тождественность исходной и результирующей схемы при преобразовании НаборСхемХМ1_-> ФабрикаХРТО-> НаборСхемХМЦ однако имеет ряд ограничений. В частности, значение атрибута maxOccurs для элементов в модели all не может быть больше 1. Модель choice нарушает эквивалентность исходной и результирующей схем и не позволяет с помощью метода Проверить() проверить соответствие нения данных объекта схеме XML. По тем же причинам не следует использовать в рамках одного сложного типа комбинацию из нескольких моделей контента или же определять для sequence значения атрибутов minOccurs и maxOccurs, отличные от значений по умолчанию. Свойства объектов должны представляться в XML только как элементы Представление свойств как атрибутов XML не влияет на эквивалентность исходной и результирующей схем. Однако имеется ряд ограничений: • в атрибуте не может быть представлено значение объектного типа - только типов-значений; • в атрибуте не могут быть представлены свойства с множественными значениями; • в случае полиморфных типов у свойства, представленного как атрибут XML, может происходить искажение типа значения. А именно: при присваивании значения свойству тип значения приводится точно к типу свойства, так как только для значения свойства в элементе XML можно указать атрибут xsi:type, который позволяет точно указать тип значения свойства. Как следствие не надо использовать simpleContent для complexType, так как эта модель для хранения значений подразумевает использование свойств атрибутов и текста включающего элемента XML.
Глава 14. Механизм XDTO 2-599 Не следует использовать модель mixed content Применение в схеме XML конструкции приведенного ниже вида означает, что в элементе XML, соответствующем описываемому типу, текст может быть перемешан с элементами XML. <complexType name="FormLetter" mixed="true*> </complexType> Для поддержки такого информационного содержимого у соответствующего объекта ТипОбъектаХРГО значения свойств Последовательный и Смешанный установлены в значение Истина, а у каждого экземпляра соответствующего объекта ОбъектХОТО появляется последовательность XDTO (объект После- довательностьХОТО). Управление информационным содержимым таких объектов намного сложнее, чем у объектов, состояние которых но только набором значений свойств. К счастью, в подавляющем большинстве случаев в применении mixed content не возникает необходимости. Свойство ФормаЭлементовПоУмолчанию у схемы XML должно иметь ние Квалифицированная. Данная рекомендация является элементом хорошего стиля, и XDTO живается этого стиля. Правила проверки фабрики XDTO Общая схема кодирования идентификаторов сообщений об ошибках ки фабрики XDTO выглядит следующим образом: х<Л;о-<область>-<раздел>[—справило]: «эписание ошибки> • <область> - область проверки (фабрика XDTO, пакет XDTO, тип ния XDTO, фасет XDTO, тип объекта XDTO); • <раздел> — номер раздела, проверка правила которого завершилась неудачей; • <правило> - правило раздела; • <описание ошибки> - описание ошибки. При проверке непосредственно фабрики XDTO ошибки кодируются сом model. При этом общий префикс будет иметь следующий вид: х^о-то<Зе1-<раздел>[-<правило>] : «эписание ошибки>
ПЩ 2-600 1 СгПредприятие 8.1. Конфигурирование и администрирование • Пакеты, входящие в модель, должны иметь уникальные TJRI тва имен — дублирование пакетов в рамках модели запрещено. • Директива импорта должна определять непустое URI пространства имен импортируемого пакета. • Директивы импорта пакетов должны определять существующие пакеты типов. • Пакеты типов, определенные в модели, должны удовлетворять лам проверки пакетов. Правила проверки пакета XDTO При проверке правильности пакета XDTO ошибки кодируются префиксом package. При этом общий префикс будет иметь следующий вид: х^о-рас|даде-<раздёл>С-<цра»иж>>] : «даис^ние оибки> • Пакет XDTO должен иметь установленное свойство 1Ж1Пространства- Имен. • Типы, определяемые в пакете XDTO, могут иметь ссылки только на типы, указанные в списке импортируемых (свойство Зависимости). • Директивы импорта должны удовлетворять следующим правилам: • директивы импорта должны определять пакеты XDTO, в которых не могут содержаться директивы импорта, указывающие на данный пакет XDTO, - зацикливание импортируемых директив не допускается; • директива импорта должна определять непустое свойство URinpo- странстваИмен импортируемого пакета XDTO. • директивы импорта должны определять существующие пакеты XDTO. • Свойства пакета должны удовлетворять следующим правилам: • имена свойств пакета должны быть установлены и не являться пустыми; • имена свойств пакета должны быть уникальны в пределах пакета; • тип свойства пакета должен быть установлен или определен; • типы свойств пакета должны быть определены в пакете или его зависимостях; • задание одновременно имени типа глобального свойства и ного определения типа глобального свойства недопустимо; • свойство пакета не должно ссылаться на определение другого свойства пакета;
Глава 14. Механизм XDTO 2-601 • свойство пакета не должно определять границы количества ний свойства; • свойство пакета может иметь форму представления только Атрибут или Элемент. Правила проверки типа значения XDTO При проверке правильности типа значения XDTO ошибки кодируются префиксом valueType. При этом общий префикс будет иметь следующий вид: '¦ 1И »»,ТЧ ¦ ¦•'•»*-• *-,..гг--*г^« --JT-.**. ( xato-valueType-<pa3flen>[-<npaBj«ro>]: «описание одибки> ,. • Общие правила проверки типа значения XDTO: • если тип определен в рамках пакета типов, то должны выполняться следующие условия: ° тип значения XDTO должен иметь установленное свойство Имя, содержащее непустое имя; ° имя типа значения XDTO должно быть уникальным в пределах пакета XDTO (среди всех типов пакета XDTO); • если тип определен в рамках другого определения типа значения или в рамках определения свойства объектного типа, то должно выполняться следующее условие: свойство Имя определения типа не должно быть установлено; • тип значения XDTO не может содержать ссылок на самого себя ни в базовом типе, ни в типе элемента списка, ни в одном из типов объединения на всю глубину иерархии. • Правила проверки базового типа - свойство БазовыйТип: • если свойство БазовыйТип не установлено: ° если свойство Вариант не установлено, а свойство ТипыЧленовОбъединения не установлено или свойство Вариант установлено и имеет значение Атомарный: если свойство ОпределениеТипа содержит твенное значение, то это определение типа является определением анонимного базового типа; п в противном случае базовым типом считается тип anySimpleType пространства имен XML схемы (http://www.w3.org/2001/ XMLSchema);
2-602 1С:Предприятие 8.1. Конфигурирование и администрироввние • если свойство БазовыйТип определения типа установлено, то должны выполняться следующие условия: базовый тип должен удовлетворять второму правилу ки пакета XDTO; •> базовый тип должен являться типом значения XDTO; ° базовый тип не может являться данным типом значения XDTO. • Правила проверки типа элемента списка - свойство ТипЭлементаСписка: • если свойство ТипЭлементаСписка определения типа установлено, то должны выполняться следующие условия: а тип элемента списка должен удовлетворять второму правилу проверки пакета XDTO; п тип элемента списка должен являться типом значения XDTO; п тип элемента списка не может являться данным типом значения XDTO; ° тип значения XDTO, являющийся элементом списка, должен быть либо атомарным, либо объединением типов ний XDTO, состоящим только из атомарных типов значений XDTO. • если свойство Вариант не установлено, а свойство БазовыйТип установлено или свойство Вариант установлено и имеет значение Список: ° если свойство ОпределениеТипа содержит единственное значение, то это определение типа является определением анонимного типа элемента списка; • в противном случае значение свойства ТипЭлементаСписка ляется из соответствующего свойства базового типа значения XDTO. • Правила проверки типа объединения - свойство ТипыЧленовОбъеди- нения: • если свойство ТипыЧленовОбъединения определения типа XDTO установлено, то должны выполняться следующие условия: тип объединения должен удовлетворять второму правилу проверки пакета XDTO; ° тип объединения должен являться типом значения XDTO; ° тип объединения не должен являться данным типом значения XDTO. тип значения XDTO, являющийся объединением, должен быть либо атомарным, либо списком;
Глава 14. Механизм XDTO 2-603 • если свойство Вариант не установлено, а свойство БазовыйТип установлено или свойство Вариант установлено и имеет значение Объединение: ° свойство ОпределениеТипа содержит значения, являющиеся анонимными определениями типов объединения; • в противном случае значение свойства ТипыЧленовОбъединения определяется значением свойства ТипыЧленовОбъединения го типа значения XDTO. Наследование типов значений XDTO считается правильным, если выполнятся следующие условия: • для атомарных типов значений XDTO (после выполнения правил проверки типа элемента списка и правил проверки типа нения свойства ТипЭлементаСписка и ТипыЧленовОбъединения не установлены) должны выполняться следующие условия: тип значения XDTO, являющийся базовым, должен быть атомарным, т. е. свойства ТипЭлементаСписка и ТипыЧленовОбъединения базового типа XDTO не должны быть установлены; ° предком типа значения XDTO должен быть один из тивных типов пространства имен схемы XML (http://www. w3.org/2001/XMLSchema); ° состав фасетов, установленных в описании типа значения XDTO, должен соответствовать списку допустимых фасетов для тивного типа, являющегося предком данного типа XDTO; ° значение каждого фасета, установленного в типе значения XDTO, должно удовлетворять правилам ограничения тивного значения аналогичного фасета базового типа XDTO; • для типов элемента списка (после выполнения правил ки типа элемента списка и правил проверки типа объединения установлено свойство ТипЭлементаСписка): ° базовый тип XDTO не может являться типом объединения, т. е. свойство ТипыЧленовОбъединения базового типа XDTO не должно быть установлено; если свойство ТипЭлементаСписка базового типа XDTO установлено, то значение этого свойства должно лять базовый тип для типа элемента списка, определенного в свойстве ТипЭлементаСписка данного типа значения XDTO; ° еслибазовымтипомявляетсятипапуЭт^еТурвпространстваимен ХМЬсхемы (http://www.w3.org/2001/XMLSchema), то среди списка фасетов допускается только фасет ПробельныеСимволы;
2-604 1С:Предприятие 8.1. Конфигурирование и администрирование ° в противном случае могут быть определены только фасеты: Образец, Перечисление, Длина, МинДлина, МаксДлина и ПробельныеСимволы, значение каждого фасета, установленного в типе, должно удовлетворять правилам ограничения эффективного значения аналогичного фасета базового типа; • для типов объединения (после вьшолнения правил проверки типа элемента списка и правил проверки типа объединения установлено свойство ТипыЧленовОбъединения): ° базовым типом может являться тип anySimpleType тва имен XML схемы (http://www.w3.org/2001/XMLSchema) или тип объединения, т. е. у базового типа должно быть лено свойство ТипыЧленовОбъединения; D если базовым типом является тип объединения, должны выполняться следующие условия: • количество типов объединения базового типа не должно быть больше количества типов объединения данного типа; ¦ типы объединения должны быть потомками твующих им типов объединения базового типа в порядке следования в списке типов объединения; ° если базовым типом является тип anySimpleType тва имен XML схемы (http://www.w3.org/2001/XMLSchema), то определение фасетов не допускается; ° в противном случае могут быть определены только фасеты Образец и Перечисление; ° значение каждого фасета, установленного в типе, должно удовлетворять правилам ограничения эффективного значения аналогичного фасета базового типа. Если свойство Вариант (модель содержания) определения типа лено, то оно не должно противоречить определению типа: • если свойство имеет значение Атомарный, то тип имеет ную модель содержания и должен удовлетворять правилам xdto-valueType-5.1; '• если свойство имеет значение Список, то тип имеет модель ния Список и должен удовлетворять правилам xdto-valueType-5.2; • если свойство имеет значение Объединение, то тип имеет модель содержания Объединение и должен удовлетворять правилам xdto valueType-5.3.
Глава 14. Механизм XDTO 2-605 Правила ограничения фасетов При проверке правильности фасета XDTO ошибки кодируются префиксом facet. При этом общий префикс будет иметь следующий вид: &xdto-facet-<разяел>1-<П!равило>'П «описание ошибки> • Правила для фасета Длина: • значение фасета должно совпадать с эффективным значением фасета базового типа; •' если установлено значение фасета МинДлина, то оно должно удовлетворять следующим условиям: значение фасета МинДлина должно быть меньше или равно значению фасета Длина; ° в базовом типе не установлено значение фасета Длина, или значение фасета МинДлина не отличается от эффективного значения фасета МинДлина базового типа; • если установлено значение фасета МаксДлина, то оно должно удовлетворять следующим условиям: ° значение фасета МаксДлина должно быть меньше или равно значению фасета Длина;' ° в базовом типе не установлено значение фасета Длина, или значение фасета МаксДлина не отличается от эффективного значения фасета МаксДлина базового типа. • Правила для фасета МинДлина: • значение фасета должно быть больше или равно эффективному значению фасета в базовом классе; • значение фасета должно быть меньше или равно эффективному значению фасета МаксДлина. • Правила для фасета МаксДлина: • значение фасета должно быть меньше или равно эффективному значению фасета в базовом классе; • значение фасета должно быть больше или равно эффективному значению фасета МинДлина. • Правила для фасета ПробельныеСимволы: • если эффективное значение фасета базового типа равно collapse, то значение фасета не может принимать другое значение; • если эффективное значение фасета базового типа равно preserve, то значение фасета не может принимать значение replace. • Правила для фасета МинВключающее: • значение фасета должно быть меньше эффективного значения фасета МаксИсключающее данного типа;
2-606 1С:Предприятие 8.1. Конфигурирование и администрирование • значение фасета должно быть больше или равно эффективному значению фасета базового типа; • если установлено значение фасета МаксВключающее, то оно должно быть меньше или равно эффективному значению фасета чающее базового типа; • если установлено значение фасета МинИсключающее, то оно должно быть больше эффективного значения фасета ющее базового типа; • если установлено значение фасета МаксИсключающее, то> оно должно быть меньше эффективного значения фасета ющее базового типа. • Правила для фасета МинИсключающее: • установка значения фасета МинИсключающее и МинВключающее фасета в определении типа не допускается; • если установлено значение фасета МаксВключающее, то значение фасета МинИсключающее должно быть меньше значения фасета МаксВключающее данного типа; • значение фасета должно быть больше или равно эффективному значению фасета базового типа; • если установлено значение фасета МаксВключающее, то оно должно быть меньше или равно эффективному значению фасета чающее базового типа; • если установлено значение фасета МинВключающее, то оно должно быть больше или равно эффективному значению фасета чающее базового типа; • если установлено значение фасета МаксИсключающее, то оно должно быть меньше эффективного значения фасета ющее базового типа. • Правила для фасета МаксВключающее: • значение фасета должно быть больше или равно значению фасета МинВключающее данного типа; • если установлено значение фасета МаксИсключающее, то оно должно быть меньше эффективного значения базового типа; • если установлено значение фасета МинВключающее, то оно должно быть больше или равно эффективному значению базового типа; • если установлено значение фасета МинИсключающее, то оно должно быть больше эффективного значения базового типа. • Правила для фасета МаксИсключающее: • установка значения фасета МаксИсключающее и МаксВключающее фасета в определении типа не допускается;
Глава 14. Механизм XDTO 2-607 • если установлено значение фасета МинИсключающее, то значение фасета МаксИсключающее должно быть больше значения фасета МинИсключающее данного типа; • значение фасета должно быть меньше или равно эффективному значению фасета базового типа; • если установлено значение фасета МаксВключающее, то оно должно быть меньше или равно эффективному значению базового типа; • если установлено значение фасета МинИсключающее, то оно должно быть больше эффективного значения базового типа; • если установлено значение фасета МинВключающее, то оно должно быть больше эффективного значения базового типа. • Правило для фасета ЦифрВсего: • значение фасета должно быть меньше или равно эффективному значению фасета базового типа. • Правила для фасета ЦифрДробнойЧасти: • значение фасета должно быть меньше или равно эффективному значению фасета ЦифрВсего; • значение фасета должно быть меньше или равно эффективному значению фасета базового типа. Правила проверки типа объекта XDTO При проверке правильности типа объекта XDTO ошибки кодируются сом objectType. При этом общий префикс будет иметь следующий вид: хдМ-оадесСТуре-<раздел>[-<правшго>] : «шисание ошибки> • Общие правила проверки типа объекта XDTO: • если тип определен в рамках пакета типов, то должны соблюдаться следующие условия: п тип объекта XDTO должен иметь установленное свойство Имя, ¦ содержащее непустое имя; п имя типа объекта XDTO должно быть уникальным в пределах пакета (среди всех типов пакета); • если тип определен в рамках свойства объектного типа, то должны соблюдаться следующие условия: свойство Имя определения типа не должно быть установлено. • Правила проверки базового типа - свойство БазовыйТип: • если свойство БазовыйТип не установлено, то базовым типом считается тип апуТуре пространства имен XML схемы (http://www. w3.org/2001/XMLSchema);
2-608 1 С:Предприятие 8.1. Конфигурирование и администрирование • если свойство БазовыйТип типа объекта XDTO установлено, то должны выполняться следующие условия: базовый тип должен удовлетворять второму правилу проверки пакета XDTO; с базовый тип должен являться типом объекта XDTO; базовый тип не может являться данным типом объекта XDTO. • Каждое свойство типа объекта XDTO должно удовлетворять щим правилам: • имя свойства должно быть определено; ° имя свойства не может быть пустым; ° имя свойства должно быть уникальным для типа объекта XDTO; • если свойство Тип установлено, то должны выполняться щие условия: ° имя типа должно определять существующий тип объекта XDTO или тип значения XDTO; тип свойства должен удовлетворять второму правилу ки пакета XDTO; ° свойство не может содержать определение анонимного типа; • если свойство Тип не установлено, то должны выполняться ющие условия: ° если у свойства имеется определение анонимного типа, то типом свойства является тип, соответствующий данному определению; ° в противном случае типом свойства считается тип апуТуре пространства имен XML схемы (http://www.w3.org/2001/ XMLSchema); • если у свойства определено значение по умолчанию, то должны быть выполнены следующие условия: п тип свойства ЗначениеПоУмолчанию должен быть типом значе- ния-XDTO; ° лексическое представление значения по умолчанию должно соответствовать пространству значений типа свойства XDTO; • XML-представление свойства XDTO должно удовлетворять ющим требованиям: ° если свойство ЛокальноеИмя свойства XDTO не установлено, то в качестве локального имени XML представления свойства XDTO используется свойство Имя свойства XDTO; ° если свойство 1Ж1ПространстваИмен свойства XDTO не установлено, то URI пространства имен XML представления свойства XDTO определяется следующим образом: ¦ если формой XML представления свойства XDTO тво Форма) является Элемент, то используется URI
Глава 14. Механизм XDTO 2-609 пространства имен типа, которому принадлежит данное свойство; ¦ в противном случае URI пространства имен XML-представления свойства XDTO считается ющим; D свойство XDTO должно быть уникально по нию в пределах типа объекта XDTO; i ° если свойство XDTO имеет форму XML-представления Текст, то должны выполняться следующие правила: ¦ имя и URI пространства имен должны быть ными или быть пустыми; ¦ среди свойств типа объекта XDTO допускается наличие свойств XDTO с формой XML представления Атрибут; п если свойство XDTO имеет форму XML представления Элемент, то наличие среди свойств типа объекта XDTO тва XDTO с формой XML-представления Текст запрещено; • значение нижней границы количества появления значений тва НижняяГраница может принимать значения неотрицательных . целых чисел. Значение нижней границы НижняяГраница должно быть меньше или равно значению верхней границы ва появления значений свойств ВерхняяГраница, при условии, что данное значение не равно -1; • значение верхней границы количества значений свойства няяГраница может принимать значения неотрицательных целых чисел или -1. Если данное значение равно -1, то это означает неограниченное количество значений свойства; • если значение свойства Фиксированное установлено, то по умолчанию должно быть установлено ЗначениеПоУмолчанию, соответствующее пространству значений типа свойства XDTO; • если установлена ссылка на определение глобального свойства, то должны выполняться следующие правила: ° определение свойства не может переопределять значения свойств глобального определения; глобальное свойство, на определение которого ся данное определение свойства, должно быть определено в рамках данного пакета или пакетов-зависимостей. Если среди свойств типа объекта XDTO имеется свойство XDTO, дающее по имени или XML-представлению со свойством базового типа, то вид наследования определяется как наследование ограниче-
2-610 1С:Предприятие 8.1. Конфигурирование и администрирование нием. При таком виде наследования должны выполняться следующие условия: • для каждого свойства XDTO должны выполняться следующие условия: в базовом типе должно быть определено свойство XDTO с тем же именем - переопределяемое свойство; ° если базовый тип определяет порядок следования свойств (свойство Упорядоченный), то позиция переопределяемого свойства должна быть идентична позиции свойства в типе- наследнике; ° форма XML-представления переопределяемого свойства и свойства данного типа должна совпадать; ° локальное имя XML-представления переопределяемого тва и свойства данного типа должно совпадать; 0 URI пространства имен XML-представления мого свойства и свойства данного типа должна совпадать; и если переопределяемое свойство определяет фиксированное значение, то: ¦ наличие фиксированного значения не может быть но в типе-наследнике; ¦ фиксированное значение в базовом типе и типе-наследнике должно совпадать; ° нижняя граница количества значений свойств должна быть меньше или равна нижней границе количества значений пределяемого свойства; верхняя граница количества значений свойства должна быть больше или равна верхней границе количества значений пределяемого свойства; ° тип свойства должен являться потомком типу мого свойства; • если базовый тип не обладает смешанным содержанием (свойство Смешанный), то смешанная модель не может быть установлена в типе-наследнике; • если порядок следования свойств базового типа фиксирован (свойство Упорядоченный), то порядок не может быть изменен в типе-наследнике; • если базовый тип не определяет наличие последовательности (свойство Последовательный), то наличие последовательности не может быть установлено в типе-наследнике;
Глава 14. Механизм XDTO 2-611 • если базовый тип не определяет открытую модель содержания (свойство Открытый), то открытая модель содержания не может быть установлена в типе-наследнике. В противном случае (см. четвертое правило) вид наследования ляется как наследование расширением. Для данного вида наследования должны выполняться следующие правила: • если модель содержания базового типа является смешанной (свойство Смешанный), то она не может быть изменена в типе- наследнике; • если порядок следования свойств базового типа не фиксирован (свойство Упорядоченный), то порядок не может быть изменен в типе-наследнике; • если базовый тип определяет наличие последовательности тво Последовательный), то последовательность не может быть запрещена в типе-наследнике; •, если базовый тип определяет открытую модель содержания тво Открытый), то модель содержания не может быть изменена в типе-наследнике. При любом виде наследования должны выполняться следующие условия: • если модель содержания является смешанной (свойство ный), то наличие последовательности (свойство Последовательный) не может быть запрещено; • если модель содержания является открытой (свойство Открытый), то наличие последовательности (свойство Последовательный) не может быть запрещено.
Глава 15 Механизм Web-сервисов Механизм Web-сервисов в системе 1С:Предприятие 8.1 является твом поддержки сервисно ориентированной архитектуры (Service-Oriented Architecture, SOA). Сервисно ориентированная архитектура представляет собой прикладную архитектуру, в которой все функции определены как независимые сервисы с вызываемыми интерфейсами. Обращение к этим сервисам в определенной последовательности позволяет реализовать тот или иной бизнес-процесс. Сервисно ориентированная архитектура предлагает новый подход к нию распределенных информационных систем, в которых программные ресурсы рассматриваются как сервисы, предоставляемые по сети. Такой подход позволяет обеспечить быструю консолидацию распределенных компонентов - сервисов - в единое решение для поддержки определенных бизнес-процессов. Механизм Web-сервисов позволяет использовать систему 1С:Предприятие 8.1 как набор сервисов в сложных распределенных и гетерогенных системах, а также позволяет интегрировать ее с другими промышленными системами с использованием сервисно ориентированной архитектуры. Конфигурация системы 1С:Предприятие 8.1 может экспортировать свою функциональность через Web-сервисы. Определения Web-сервисов задаются в дереве конфигурации и становятся доступны произвольным онным системам благодаря публикации их на веб-сервере. Кроме этого система 1С:Предприятие 8.1 может обращаться к Web-сервисам сторонних производителей как через статические ки, определенные в дереве конфигурации, так и зуя динамические ссылки, создаваемые средствами встроенного языка. Файл- сервер Сервер баз данных База данных Кластер серверов Веб>сер8ер ЯЗДрасЬе Менеджер сервисов Пуп соединений Соединение! Соединением Внешний клиент
Глава 15. Механизм Web-сервисов 2-613 В основе сервисной архитектуры системы 1С:Предприятие 8.1 находится менеджер сервисов. Менеджер сервисов выполняет следующие функции: • управление пулом соединений с информационными базами; • поддержка WSDL описания сервиса; • реализация протокола SOAP, сериализация сообщений, вызов соответс7 твующего сервиса. Менеджер сервисов вьшолняется в процессе сервисного хоста, который выполняет функцию приема/передачи сообщений из/в менеджер сов. В качестве сервисного хоста может использоваться веб-сервер IIS или Apache. Менеджер сервисов содержит в себе пул соединений, через которые идет взаимодействие с базами данных системы 1С:Предприятие 8.1. Механизм Web-сервисов, реализованный в системе 1С:Предприятие 8.1, поддерживает следующие стандарты: • SOAP 1.1; • WSDL 1.1; • WS-I Basic Profile 1.1; • HTTP 1.1; • SSL3.0/TLS1.0. Предоставление функциональности через Web-сервисы Для того чтобы функциональность системы 1С:Предприятие 8.1 могла быть доступна внешним потребителям Web-сервисов, следует выполнить ющие действия: • настроить поддержку Web-сервисов системы 1С:Предприятие 8.1; • создать в конфигурации необходимое количество Web-сервисов; • опубликовать Web-сервисы. 11пстройка поддержки Web-сервисов заключается в настройке го веб-сервера на работу с менеджером сервисов и установке прав доступа К каталогам исполняемых файлов и базы данных (для файлового варианта работы). Настройка поддержки Web-сервисов подробно описана в разделе «I (истройка поддержки Web-сервисов» на стр. 2-619. Публикация Web-сервисов заключается в размещении конфигурационных фийлов Web-сервисов в соответствующем каталоге веб-сервера с соответс-
2-614 1 С:Предприятие 8.1. Конфигурирование и администрирование твующими настройками для веб-сервера. Публикация Web-сервисов подробно описана в разделе «Публикация Web-сервисов» на стр. 1-115. Создание Web-сервиса заключается в добавлении в дерево метаданных объекта конфигурации Web-сервис, описании операций, которые может полнять данный Web-сервис, и описании параметров операций. Объект конфигурации Web-сервис содержит модуль, в котором создаются ры на встроенном языке, выполняемые при вызове тех или иных операций Web-сервиса. Типы параметров операций Web-сервиса описываются с мощью типов XDTO и могут представлять собой либо значения XDTO, либо объекты XDTO. При вызове Web-сервиса, определенного в системе 1С:Предприятие 8.1, исходит исполнение модуля сеанса, а затем исполняется модуль вызванного сервиса. И тот и другой модуль всегда исполняются на сервере в гированном режиме. Модуль сеанса служит для инициализации параметров сеанса и ния некоторого набора команд при вызове любого Web-сервиса системы 1С:Предприятие 8.1. Модуль сеанса не содержит экспортируемых процедур и может использовать процедуры из общих модулей конфигурации. В модуле сеанса может быть определен обработчик события УстановкаПара- метровСеанса, который предназначен для инициализации параметров сеанса (см. стр. 1-81). Пример реализации Web-сервиса Например, требуется создать Web-сервис системы 1С:Предприятие 8.1, который должен по переданному номеру расходной накладной возвращать состав ее табличной части. Для описания возвращаемого значения создадим пакет XDTO ДанныеРас- ходнойНакладной с пространством имен http://www.MyCompany.ru/shipment, содержащий три типа объектов XDTO: • Номенклатура — для передачи данных элемента справочника тура. Этот тип объекта XDTO будет содержать следующие свойства: • Наименование - тип string из пространства имен http://www. w3.org/2001/XMLSchema; • Полное наименование - тип string из пространства имен http://www. w3.org/2001/XMLSchema; • ШтрихКод - тип string из пространства имен http://www.w3.org/2001/ XMLSchema; • ЗакупочнаяЦена -тип int из пространства имен http://www.w3.org/2001/ XMLSchema.
Глава 15. Механизм Web-сервисов 2-615 • СтрокаРасходнойНакладной - для передачи данных одной строки расходной накладной. Этот тип объекта XDTO будет содержать ющие свойства: • Номенклатура — тип Номенклатура из пространства имен http:// www.MyCompany.ru/shipment. Представляет собой ссылку на объект XDTO, который мы определили выше; • Количество - тип int из пространства имен http://www.w3.org/2001/ XMLSchema; • Цена - тип int из пространства имен http://www.w3.org/2001/ XMLSchema; • Сумма - тип int из пространства имен http://www.w3.org/2001/ XMLSchema. • РасходнаяНакладная - для передачи данных всех строк расходной накладной. Этот тип объекта XDTO будет содержать единственное свойство: • Состав - тип СтрокаРасходнойНакладной из пространства имен http:// www.MyCompany.ru/shipment. Представляет собой ссылку на объект XDTO, который мы определили выше. Для того чтобы это свойство могло содержать неограниченное множество значений, необходимо установить его свойство Верхняя граница в значение -1; После того, как необходимые типы XDTO созданы, следует добавить в фигурацию новый Web-сервис ДанныеРасходнойНакладной со следующими шачениями свойств: • URI Пространства имен - http://www.MyCompany.ru/shipment; • Пакеты XDTO - ДанныеРасходнойНакладной; • Имя файла публикации - shipment.1cws. У созданного Web-сервиса следует определить операцию Получить со ющими значениями свойств: • Тип возвращаемого значения - РасходнаяНакладная из пространства имен http://www.MyCompany.ru/shipment; • Возможно пустое —установлен; • Имя процедуры - Получить. У операции Получить следует определить параметр НомерДокумента со 1'ледующими значениями свойств: • Тип значения - тип string из пространства имен http://www.w3.org/2001/ XMLSchema; • Направление передачи - входной.
2-616 1С Предприятие 8.1. Конфигурирование и администрирование После этого следует открыть модуль созданного Web-сервиса и разместить в нем функцию Получить, которая будет вьшолняться при вызове данного Web-сервиса. Функция Получить(НомерДокумента) Экспорт i // Получить объект расходной накладкой по переданному номеру} ДокументСсылка = Документы.РасходнаяНакладная. НайтиПоНомеру(НомерДокумента, Текущаядата()); • Если ДокументСсылка.Пустая() Тогда Возврат Неопределено; КонецЕсли; i i Документ = ДокументСсылка.ПолучитьОбъект(); // Получить типы объектов XDTO НомеиклатураТип = ФабрикаХОТО. Тип("http://www.MyCompany.ru/shipment "Номенклатура"); РасходнаяНакладнаяТип = ФабрикаХОТО. TimChttp: //www.MyCompany.ru/ehipment",' "РасходнаяНакладная"); СтрокаРасходнойНакладнойТип = ФабрикаХОТО. Тип("http://www.MyCompany. ru/shipment", "СтрокаРасходнойНакладной"); // Создать объект XDTO расходной накладной РасходнаяНакладная = ФабрикаХОТО.Создать(РасходнаяНакладнаяТип); Для Каждого СтрокаДокумента Из Документ.Состав Цикл // Создать объекты XDTO строки расходной накладной //и номенклатуры СтрокаРасходнойНакладной = ФабрикаХОТО. Создать(СтрокаРасходнойНакладнойТип) ; Номенклатура = ФабрикаХОТО.Создать(НомеиклатураТип); // Заполнить свойства номенклатуры Номенклатура.Наименование = СтрокаДокумента.Номенклатура. Наименование; Номенклатура.ПолноеНаименование = СтрокаДокумента. Номенклатура. ПолноеНаименование; Номенклатура.ШтрихКод = СтрокаДокумента Номенклатура. ШтрихКод; Номенклатура.ЗакупочнаяЦена = СтрокаДокумента Номенклатура. ЗакупочяаяЦена; // Заполнить свойства строки расходной накладной СтрокаРасходнойНакладной. Номенклатура = Номенклатуре» j
Глава 15. Механизм Web-сервисов 2-617 Строка асходн акладной^ колйчёстао-=~Строка окумёнта:; ¦ Количество; •' ¦ [ СтрокаРасходнойНакладной.Цена = СтрокаДокумента.Ц<; •.; СтрокаРасходнойНакладной. Сумма = СтрокаДокумента.Сумма;; // Добавить строку расходной накладной РасходнаяНакладная.Состав.Добавить(СтрокаРасходнойНакладной) КонецЦикла; // Вернуть расходную накладную Возврат РасходнаяНакладная; I КонецФункции В заключение следует опубликовать созданный Web-сервис на веб-сервере, например http://www.MyCompany.ru в каталоге shipment. Работа с веб-сервисами сторонних поставщиков Система 1С:Предприятие 8.1 может использовать веб-сервисы, емые другими поставщиками, двумя способами: • с помощью статических ссьшок, создаваемых в дереве конфигурации; • с помощью динамических ссьшок, создаваемых средствами ного языка. 11реимущество использования статических ссьшок заключается в большей скорости работы, т. к. описание веб-сервиса поставщика получается один риз, при создании ссылки. В дальнейшем при обращении к данному веб- ссрвису используется существующее описание веб-сервиса. 11ри использовании динамических ссьшок описание веб-сервиса поставщика будет получаться системой 1С:Предприятие 8.1 каждый раз при вызове веб- 1'ервиса, что, естественно, будет замедлять работу с данным веб-сервисом. Однако преимуществом такого подхода является возможность ния актуального описания веб-сервиса поставщика. При использовании »кс статических ссьшок для получения актуального описания веб-сервиса гледует выполнить повторный импорт WSDL-описания средствами конфи- I урптора и сохранение измененной конфигурации. Пример использования статической WS-ссылки II качестве примера использования веб-сервисов стороннего ки рассмотрим обращение к Web-сервису, созданному в разделе «Пример ришшзации Web-сервиса» на стр. 2-614.
2-618 1 С.'Предприятие 8.1. Конфигурирование и администрирование Прежде всего, следует добавить в дерево конфигурации новый объект конфигурации WS-ссылка с именем ДанныеРасходнойНакладной, щийся на опубликованный сервис. Для этого следует выполнить импорт WSDL-описания опубликованного сервиса и в качестве URL указать http:// www.MyCompany.ru/shipment/Shipment.1cws7wsdl. Подробнее об импорте WSDL-описания можно прочитать в разделе «Добавление WS-ссылки» на стр. 1-116. После этого, например в модуле приходной накладной, можно создать процедуру, приведенную ниже. Она заполняет табличную часть документа данными расходной накладной поставщика, полученными с помощью веб- сервиса поставщика. Процедура ПояучитьДанныеРасходнойНакладной(НомерНакладнойПоставщика) // Создать WSnpoKCM на основании ссылки // и выполнить операцию Получить() Прокси = ЭДЗСсылки.ДанныеРасходнойНакладной. СоздатьЭДБПрокси("http://www.MyCompany. ru/shipment", "ДанныеРасходнойНакладной", "ДанныеРасходнойНакладнойЗоар"); ДанныеНакяадной = Прокси.Получить О; Если ДанннеНакладной = Неопредеяено Тогда Возврат; КонецЕсли; // Заполнить приходную накладную полученными данными Для Каждого СтрокаНакладной Из ДанныеНакладной.Состав Цикл НоваяСтрока = ДокументОбъект.Состав.Добавить(); НоваяСтрока.Количество = СтрокаНакладной.Количество; НоваяСтрока.Цена = СтрокаНакладной.Цена; НоваяСтрока.Сумма = СтрокаНакладной.Сумма; // Найти элемент номенклатуры по переданным данным // (например, по штрихкоду) НоваяСтрока.Номенклатура = Справочники.Номенклатура. НайтиПоРеквизиту("ШтрихКод", СтрокаНакладной.Номенклатура.ШтрихКод); КонецЦикла; ' КонецПроцедуры
Глава 15. Механизм Web-сервисов 2-619 Пример использования динамической WS-ссылки Использование динамической ссылки отличается от использования ческой ссылки только способом создания WS-прокси и отсутствием необходимости создавать WS-ссылку в дереве конфигурации. Если провести сравнение с примером, представленным в предыдущем разделе, то, в отличие от создания прокси на основе статической ссылки, при использовании динамической ссылки WS-прокси создается с помощью конструктора следующим образом: // Создать WSnpoKCK на основании ИЭопределения //и выполнить операцию Получить() Определение = Новый ИБОпределения( "http://www.MyCompany.ru/shipment/Shipment. lcws?ws<31") ; Прокси = Новый WSnpoKCH(Определение, "http://www.MyCompany.ru/shipment", " ДанныеРасходнойНакладной" , "ДанныеРасходнойНакладнойБоар"); ДанныеНакладной = Прокси.Получить(); Создание WS-прокси на основе статической ссылки: // Создать WSnpoKCH на основании ссылки //и выполнить операцию Получить() t Прокси = ИЗСсылки.ДанныеРасходнойНакладной. СоздатьИБПрокси("http://www.MyCompany.ru/shipment", "ДанныеРасходнойНакладной", "ДанныеРасходнойНакладнойБоар"); ДанныеНакладной = Прокси.Получить(); Настройка поддержки Web-сервисов 11нетройка поддержки Web-сервисов заключается в настройке используемо- m исб-сервера на работу с менеджером сервисов и в установке прав доступа к кпталогам исполняемых файлов и базы данных (для файлового варианта |М|ЛоТЫ). Настройка поддержки Web-сервисов для IIS 5.1 Зарегистрировать менеджер сервисов (wsisapi.dll). Для этого ет запустить утилиту регистрации wsinst.exe (находится в каталоге bin файлов системы 1С:Предприятие 8.1) с ключом-iis. Создать виртуальный каталог, где будут располагаться файлы веб- сервисов. Создать приложение IIS на основе этого виртуального каталога.
2-620 1 С:Предприятие 8.1. Конфигурирование и администрирование • Дать права чтения пользователю, от лица которого запускается жер сервисов wsisapi.dll (IWAM_XXX), на каталог bin файлов системы 1С:Предприятие 8.1. • Дать права на модификацию пользователю, от лица которого ются запросы (IUSR_XXX), на каталог информационной базы и каталог bin файлов системы 1С:Предприятие 8.1. Настройка поддержки Web-сервисов для IIS 6.0 • Выполнить настройку поддержки Web-сервисов для IIS 5.1. • Добавить Mime типы системы 1С:Предприятие 8.1 в настройки HTTP заголовков виртуальной директории веб-сервисов (расширения .lews и .1crs, Mime тип text/xml). • Разрешить запуск менеджера сервисов wsisapi.dll на IIS (в ях Web-сервисов IIS добавить wsisapi.dll как расширение Web-сервисов и разрешить ему запуск). • Если путь к wsisapi.dll содержит пробелы и другие разделители, при регистрации необходимо указывать путь в кавычках. Настройка поддержки Web-сервисов для Apache 2.0 под Windows • Создать каталог, где будут располагаться файлы Web-сервисов. • Добавить в конфигурационный файл apache (conf\httpd.conf) цию модуля обработки Web-сервисов системы 1С:Предприятие 8.1: LoadModule _lcws„mo<3ule <1C:Enterprise Eoot>\bin\wsapch2.dll w ... , , ..i ¦ i»*»....-—,.*^—~. ^—^.^,. rtlis \ ,.i>t^«(Al w~ — • Добавить в конфигурационный файл apache регистрацию виртуальной директории доступа к Web-сервисам, например: Alias /ws C:\InetPub\WWWRoot <Location /ws> DirectorySlash Off SetHandler lews-process </Location> • Дать права пользователю, от лица которого запускается apache, ни каталог bin файлов системы 1С:Предприятие 8.1 (чтение и выполнение) и каталог информационной базы (чтение и запись).
Глава 15. Механизм Web-сервисов 2-621 Настройка поддержки Web-сервисов для Apache 2.2 под Windows • Создать каталог, где будут располагаться файлы Web-сервисов. • Добавить в конфигурационный файл apache (conf\httpd.conf) цию модуля обработки Web-сервисов системы 1С:Предприятие 8.1. I LoadModule _lcwis_module <iC;Eutexprlse Root>\bin\wsap22.dll (#. .>.- • Добавить в конфигурационный файл apache регистрацию виртуальной директории доступа к Web-сервисам, например: I Alias /ws C:\InetPub\WWWRoot\ws I I <Location /ws> DirectorySlash Off SetHandler lews-process Allow from all i -r/Location> Настройка поддержки Web-сервисов для Apache 2.0 под Linux • Создать каталог, где будут располагаться файлы Web-сервисов. • Добавить в конфигурационный файл apache (conf/httpd.conf) цию модуля обработки Web-сервисов системы 1С:Предприятие 8.1. boadModule _lcws_module «:1С: Enterprise Root>/bin/wsapch2.so • Добавить в конфигурационный файл apache регистрацию виртуальной директории доступа к Web-сервисам, например: Alias /ws /var/www Location /ws> DirectorySlash Off SetHandler ws-process 'l.ocation> Дать права пользователю, от лица которого запускается apache, на каталог bin файлов системы 1С:Предприятие 8.1 (чтение и выполнение) и каталог информационной базы (чтение и запись).
2-622 1С:Предприятие 8.1. Конфигурироввние и администрирование Настройка поддержки Web-сервисов для Apache 2.2 под Linux • Создать каталог, где будут располагаться файлы Web-сервисов. • Добавить в конфигурационный файл apache (conf/httpd.conf) цию модуля обработки Web-сервисов системы 1С:Предприятие 8.1. LoadModule _lcws_module <1C:Enterprise Root>/foin/wsap22.so • Добавить в конфигурационный файл apache регистрацию виртуальной директории доступа к Web-сервисам, например: ' Alias /ws /var/www <Location /ws> DirectorySlash Off SetHandler lews-process Allow from all : </Location> • Дать права пользователю, от лица которого запускается apache, на каталог bin файлов системы 1С:Предприятие 8.1 (чтение и выполнение) и каталог информационной базы (чтение и запись). Безопасность Web-сервисов Аутентификация Платформа системы 1С:Предприятие 8.1 поддерживает следующие виды аутентификации при работе с Web-сервисами: • HTTP Basic аутентификацию; • анонимную аутентификацию; • аутентификацию средствами системы 1С:Предприятие 8.1; • аутентификацию средствами Windows. При взаимодействии клиента и сервера Web-сервисов применяется стандар тная HTTP Basic аутентификация. Она использует challenge-response протокол обмена данными. Алгоритм HTTP Basic аутентификации заклю чается в следующем: • клиент посылает запрос серверу Web-сервисов; • если Web-сервис требует аутентификации и запрос клиента не содержи i реквизитов пользователя, сервер посылает ошибку аутентификации;
Глава 15. Механизм Web-сервисов 2-623 • если Web-сервис не требует аутентификации, запрос обрабатывается стандартным образом; • если клиент получил ошибку аутентификации, он посылает серверу реквизиты пользователя - имя пользователя и пароль; • если Web-сервис требует аутентификации и запрос клиента содержит зиты пользователя, сервер выполняет аутентификацию пользователя; • если аутентификация прошла успешно, запрос обрабатывается тным образом; • если аутентификация не выполнена, сервер посылает ошибку фикации. Выполнение аутентификации на сервере может производиться средствами системы 1С:Предприятие 8.1 и средствами Windows (только для IIS). Для того чтобы аутентификация выполнялась средствами системы приятие 8.1, нужно в настройках веб-сервера установить анонимный доступ к Web-сервису (в IIS DirectorySecurity/AuthenticationMethods/AnonymousAccess). Учетные записи пользователей системы 1С:Предприятие 8.1,.ггод которыми планируется вход в систему, не должны быть привязаны к учетным записям Windows. При входе в систему в этом случае нужно задавать имя ния и пароль учетной записи пользователя системы 1С:Предприятие 8.1. Для того чтобы аутентификация выполнялась средствами Windows, нужно И настройках IIS установить HTTP Basic аутентификацию (DirectorySecurity/ AuthenticationMethos/BasicAuthentication). Учетные записи пользователей гистемы 1С:Предприятие 8.1, под которыми планируется вход в систему, должны быть привязаны к учетным записям Windows. При входе в му н этом случае нужно задавать имя пользователя и пароль учетной записи пользователя Windows. При аутентификации средствами системы 1С:Предпрятие 8.1 можно ши гь анонимный вход в систему. В этом случае, если клиент не задает (««визиты пользователя, они берутся из дескриптора сервиса. I Ipii конфигурировании IIS стоит обратить внимание на учетные записи пользова- iuiieli Windows, под которыми работает Web-сервис. Учетная запись, под которой i ицпует процесс Web-сервиса, должна иметь право на запуск бинарных файлов нийлога установки системы 1С:Предприятие 8.1. Учетная запись, под которой •наполняется запрос, должна иметь право на запуск бинарных файлов каталога и ншовки системы 1С:Предприятие 8.1 и права на чтение и изменение данных в мииюге информационной базы (только для файлового варианта). Учетная запись, инд которой выполняется запрос, в случае анонимной аутентификации I IS задается и ийсгройках виртуальной директории Web-сервиса, в случае Basic аутентифика- ш определяется реквизитами пользователя, выполнившего запрос.
2-624 1С:Предприятие 8.1. Конфигурирование и администрирование Работа по защищенному каналу При взаимодействии клиента и сервера Web-сервисов обмен данными может вестись по защищенному каналу. Защищенный канал работает по протоколу обмена SSL 3.0/TLS 1.0. Для того чтобы включить возможность работы по протоколу SSL, нужно: • получить серверный сертификат для веб-сайта, для которого ется использовать SSL. Сертификат выдается Центром Сертификации и привязывается к этому веб-сайту; • корневой сертификат Центра Сертификации должен быть добавлен в файл cacert.pem из каталога установки системы 1С:Предприятие 8.1 на всех клиентах, которым необходим доступ по защищенному каналу. Сертификат должен быть в формате РЕМ (Privacy Enhanced Mail); • для виртуальной директории Web-сервиса нужно включить поддержку SSL (для IIS - DirectorySecurity/SecureCommunication/ RequireSecureChannel). Редактирование свойств Web-сервиса На закладке Основные вводится имя, синоним и комментарий объекта. На закладке Операции создаются подчиненные объекты Операции, которые, в свою очередь, могут иметь подчиненные объекты Параметры, мые для работы с объектами данного типа. Описание подчиненных объектов ыполняется в палитре свойств. Свойства «Операции» Помимо общих свойств объектов конфигурации операция Web-сервиса содержит следующие свойства: • Тип возвращаемого значения - тип значения, которое возвращает ция Web-сервиса. Может являться типом значения XDTO или типом объекта XDTO; • Возможно пустое значение - показывает, может ли возвращаемое ние принимать неопределенное значение; • В транзакции - показывает, будет ли выполняться код модуля Web-серви са в транзакции или нет. Если свойство установлено, то при вызове Web-сервиса автоматически будет начата транзакция, а при нии транзакция будет либо зафиксирована, либо произойдет откат транзакции (в зависимости от результатов выполнения). Если свойство не установлено, при начале исполнения модуля Web-сервиса ция не будет начата;
Глава 15. Механизм Web-сервисов 2-625 • Имя метода - имя экспортной процедуры модуля Web-сервиса, которая будет выполнена при вызове данного свойства. Свойства «Параметр» Помимо общих свойств объектов конфигурации параметр операции Web- сервиса содержит следующие свойства: • Тип значения - тип значения параметра операции Web-сервиса. Может являться типом значения XDTO или типом объекта XDTO; • Возможно пустое значение — показывает, может ли значение параметра операции принимать неопределенное значение; • Направление передачи - определяет направление передачи данных с помощью данного параметра. Возможные значения: • Входной—означает, что параметр используется для передачи данных Web-сервису; • Выходной - означает, что параметр используется для получения данных от Web-сервиса; • Входной - Выходной - означает, что параметр может использоваться как для передачи данных, так и для их получения от Web-сервиса. На закладке Подсистемы указывается, к каким подсистемам относятся ты данного типа. На закладке Прочее определяются следующие свойства: • URI пространства имен - содержит URI пространства имен са. Каждый Web-сервис может быть однозначно идентифицирован по своему имени и URI пространству имен, которому он принадлежит; • Пакеты XDTO - перечень пакетов XDTO, типы которых могут зоваться в качестве типов возвращаемого значения операций и типов параметров операций Web-сервиса; • Имя файла публикации - имя файла описания Web-сервиса, который расположен на веб-сервере (о публикации Web-сервисов см. стр. 1-115). Но кнопке Модуль открывается редактор модуля Web-сервиса.
Глава 16 Механизм заданий Механизм заданий предназначен для вьшолнения какой-либо прикладной функциональности по расписанию или асинхронно. Механизм заданий решает следующие задачи: • возможность определения регламентных процедур на этапе рирования системы; • выполнение заданных действий по расписанию; • выполнение вызова заданной процедуры или функции асинхронно,! т. е. без ожидания ее завершения; • отслеживание хода выполнения определенного задания и получение' его статуса завершения (значения, указывающего успешность или неуспешность его выполнения); • получение списка текущих заданий; • возможность ожидания завершения одного или нескольких заданий; л • управление заданиями (возможность отмены, блокировка выполнения и др.). Механизм заданий состоит из следующих компонентов: • метаданных регламентных заданий; • регламентных заданий; • фоновых заданий; • планировщика заданий. Фоновые задания предназначены для выполнения прикладных задач ронно, реализуются средствами встроенного языка. Регламентные задания предназначены для выполнения прикладных задач по расписанию. Регламентные задания хранятся в информационной базе и создаются на основе метаданных, определяемых в конфигурации. Метадан- \
Глава 16. Механизм заданий 2-627 ные регламентного задания содержат такую информацию, как наименование, метод, использование и т. д. Регламентное задание имеет расписание, которое определяет, в какие ты времени нужно выполнять связанный с регламентным заданием метод. Расписание, как правило, задается в информационной базе, но может быть задано и на этапе конфигурирования (например, для предопределенных регламентных заданий). Планировщик заданий используется для планирования выполнения ных заданий. Для каждого регламентного задания планировщик периодически проверяет, соответствует ли текущая дата и время расписанию регламентного задания. Если соответствует, планировщик назначает такое задание на нение. Для этого по данному регламентному заданию планировщик создает фоновое задание, которое и выполняет реальную обработку. Фоновые задания Фоновые задания удобно использовать для выполнения сложных ний, когда результат вычисления может быть получен через продолжительное время. Механизм заданий имеет средства для выполнения таких ний асинхронно. С фоновым заданием связан метод, который вызывается при вьшолнении фонового задания. В качестве метода фонового задания может выступать любая процедура или функция неглобального общего модуля, которую можно вызвать на сервере. Параметрами фонового задания могут быть любые значения, которые разрешено передавать на сервер. Параметры фонового задания должны в точности соответствовать параметрам той процедуры или функции, которую оно вызывает. Если методом фонового тдания является функция, то ее возвращаемое значение игнорируется. Фоновое задание может иметь ключ - любое прикладное значение. Ключ иподит ограничение на запуск фоновых заданий - в единицу времени может иыполняться только одно фоновое задание с определенным значением ключа и заданным именем метода фонового задания (имя метода состоит из имени модуля и имени процедуры или функции). Ключ позволяет ровать фоновые задания, имеющие одинаковые методы, по определенному прикладному признаку с тем, чтобы в рамках одной группы выполнялось не более одного фонового задания. Создание и управление фоновыми заданиями выполняются программно из шобого соединения. Создавать фоновое задание разрешено любому пользо- шнелю. При этом оно выполняется от имени того пользователя, который ОГО создал. Получать задания, а также ожидать их завершения разрешено И'| любого соединения пользователю с административными правами либо Пользователю, который создал эти фоновые задания.
2-628 1 (^Предприятие 8.1. Конфигурирование и администрирование Фоновое задание является чисто сеансовым объектом, но не жит какому-либо пользовательскому сеансу. Для каждого задания создается специальный системный сеанс, выполняющийся от имени того пользователя, который выполнил вызов. Фоновые задания не имеют сохраняемого ния. Фоновое задание может порождать другие фоновые задания. В клиент- серверном варианте это позволяет распараллеливать сложные вычисления по рабочим процессам кластера, что может значительно ускорить процесс вычисления в целом. Распараллеливание реализуется порождением ких дочерних фоновых заданий с ожиданием завершения каждого из них в основном фоновом задании. Завершившиеся успешно или аварийно фоновые задания хранятся в течение суток, а потом удаляются. Если количество выполнившихся фоновых заданий превышает 1000, то наиболее старые фоновые задания также удаляются. Регламентные задания Регламентные задания используются, когда необходимо выполнить ленные периодические или однократные действия в соответствии с расписанием. Регламентные задания хранятся в информационной базе и создаются на основе метаданных регламентного задания, определенных в конфигурации. Метаданные задают такие параметры регламентного задания, как емый метод, наименование, ключ, возможность использования, признак предопределенности и др. При создании регламентного задания нительно можно указать расписание (может быть указано в метаданных), значения параметров метода, имя пользователя, от имени которого должно выполняться регламентное задание, и др. Создание и управление регламентными заданиями выполняется мно из любого соединения и разрешено только пользователям, имеющим административные права. , Примечание. При работе в файловом варианте создавать и тировать регламентные задания возможно без запуска планировщика заданий. С регламентным заданием связан метод, который вызывается при нии регламентного задания. В качестве метода регламентного задания можс! выступать любая процедура или функция неглобального общего модуля, которую можно вызвать на сервере. Параметрами регламентного задания могу i быть любые значения, которые разрешено передавать на сервер. Параметры регламентного задания должны в точности соответствовать параметрам той
Глава 16. Механизм заданий 2-629 процедуры или функции, которую оно вызывает. Если методом го задания является функция, то ее возвращаемое значение игнорируется. Регламентное задание может иметь ключ - любое прикладное значение. Ключ вводит ограничение на запуск регламентных заданий, т. к. в единицу времени среди регламентных заданий, связанных с одним и тем же том метаданных, может выполняться только одно регламентное задание с определенным значением ключа. Ключ позволяет группировать ментные задания, связанные с одним и тем же объектом метаданных, по определенному прикладному признаку с тем, чтобы в рамках одной группы выполнялось не более одного регламентного задания. При конфигурировании можно определить предопределенные регламентные задания. Предопределенные регламентные задания ничем не отличаются от обычных регламентных заданий, за исключением того, что их нельзя явно создавать и удалять. Если в метаданных регламентного задания лен признак предопределенного регламентного задания, то при обновлении конфигурации в информационной базе автоматически будет создано пределенное регламентное задание. Если признак предопределенности снят, то при обновлении конфигурации в информационной базе чески будет удалено предопределенное регламентное задание. Начальные вначения свойств предопределенного регламентного задания (например, расписание) устанавливаются в метаданных. В дальнейшем при работе приложения их можно менять. Предопределенные регламентные задания не имеют параметров. расписание регламентного задания определяет, в какие моменты времени регламентное задание должно быть запущено. Расписание позволяет задавать дату и время начала и окончания выполнения задания; период выполнения; цни недели и месяцы, по которым нужно выполнять регламентное задание и ip. (см. описание встроенного языка). 11римеры расписаний регламентных заданий: Каждый час, только один день ПериодПовтораДней = О, ПериодПовтораВТечениеДня = 3600 Каждый день один раз в день ПериодПовтораДней = 1, ПериодПовтораВТечениеДня = 0 )дин день, один раз ПериодПовтораДней = 0 Через день один раз в день ПериодПовтораДней = 2 Каждый час с 01.00 до 07.00 каждый день ПериодПовтораДней = 1 ПериодПовтораВТечениеДня = 3600 ВремяНачала = 01.00 ВремяКонца = 07.00 Каждую субботу и воскресенье И09.00 ПериодПовтораДней = 1 ДниНедели = 6, 7 ВремяНачала = 09.00
2-630 1С:Предприятие 8.1. Конфигурирование и администрирование Каждый день одну неделю, неделя пропуска В 01.00 один раз Последнее число каждого месяца в 9.00 Пятое число каждого месяца в 9.00 Вторая среда каждого месяца в 9.00 ПериодПовтораДней = 1 ПериодНедель = 2 ВремяНачала = 01.00 ПериодПовтораДней = 1 ДеньВМесяце = -1 ВремяНачала = 09.00 ПериодПовтораДней = 1 ДеньВМесяце = 5 ВремяНачала = 09.00 ПериодПовтораДней = 1 ДеньНеделиВМесяце = 2 ДниНедели = 3 ВремяНачала = 09.00 Можно проверять, выполняется ли задание для заданной даты (метод Требу- етсяВыполнение() объекта РасписаниеРегламентныхЗаданий). Регламентные задания всегда выполняются от имени определенного пользователя. Если пользователь регламентного задания не указан, то выполнение происходит от имени пользователя, по умолчанию имеющего административные права. Выполнение регламентных заданий происходит с использованием фоновых заданий. Когда планировщик определяет, что регламентное задание должно быть запущено, то автоматически на основе данного регламентного задания создается фоновое задание, которое и выполняет всю дальнейшую ку. Если данное регламентное задание уже выполняется, то оно не будет запущено повторно, вне зависимости от его расписания. Регламентные задания имеют возможность перезапуска. Это особенно актуально, когда метод регламентного задания должен быть гарантированно выполнен. Перезапуск регламентного задания осуществляется в том случае, когда оно завершено аварийно, либо когда рабочий процесс (в ном варианте) или клиентский процесс (в файловом варианте), на котором выполнялось регламентное задание, завершен аварийно. В регламентном задании можно указать, сколько раз нужно его перезапускать, а также интервал между перезапусками. При реализации метода перезапускаемого ного задания нужно учитывать, что при перезапуске его выполнение будет начато с начала, а не продолжено с момента аварийного завершения. Особенности выполнения фоновых заданий в файловом и клиент-серверном вариантах Механизмы выполнения фоновых заданий в файловом и клиент-серверном вариантах различаются. В файловом варианте необходимо создать выделенный клиентский процесс, который будет заниматься выполнением фоновых заданий. Для этого
Глава 16. Механизм заданий 2-631 в клиентском процессе должна периодически вызываться функция ного контекста ВыполнитьОбработкуЗаданий(). Только один клиентский процесс на информационную базу должен выполнять обработку фоновых заданий (и, соответственно, вызывать данную функцию). Если не создано клиентского процесса для обработки фоновых заданий, то при программном доступе к механизму заданий будет выдана ошибка: Менеджер заданий не активен. Не рекомендуется использовать клиентский процесс, щий обработку фоновых заданий, для других функций. После того как клиентский процесс, выполняющий обработку фоновых заданий, запущен, остальные клиентские процессы получают возможность программного доступа к механизму фоновых заданий, т. е. могут запускать и управлять фоновыми заданиями. В клиент-серверном варианте для выполнения фоновых заданий используется планировщик заданий, который физически находится в менеджере ра. Планировщик получает наименее загруженный рабочий процесс для всех поставленных в очередь на выполнение фоновых заданий и использует его для выполнения соответствующего фонового задания. Рабочий процесс выполняет задание и уведомляет планировщик о результатах выполнения. В клиент-серверном варианте имеется возможность блокирования нения регламентных заданий. Блокирование выполнения регламентных чаданий происходит в следующих случаях: • на информационную базу установлена явная блокировка регламентных заданий. Блокировка может быть установлена через консоль кластера; • на информационную базу установлена блокировка соединения. ровка может быть установлена через консоль кластера; • из встроенного языка вызван метод УстановитьМонопольныйРежим() с параметром Истина; • в некоторых других случаях (например, при обновлении конфигурации базы данных). Создание метаданных регламентного задания 11сред тем как программно создать регламентное задание в ной базе, необходимо создать для него объект метаданных. Для создания объекта метаданных регламентного задания в ветке Общие дерева конфигурации для ветки Регламентные задания выполните команду Добавить и в палитре свойств заполните следующие свойства регламентно- I о здания: • Имя метода - указывается имя метода регламентного задания; • Ключ - указывается произвольное строковое значение, которое будет использовано в качестве ключа регламентного задания;
2-632 1 С:Предприятие 8.1. Конфигурирование и администрирование Расписание - указывается расписание регламентного задания. Для формирования расписания щелкните ссылку Открыть и в открывшейся форме расписания установите нужные значения. • На закладке Общее указывается дата начала и завершения задания и режим повтора. Обцее [Ддиное Недельное Местмое Дата начата J02102006 Дата J&011.2007 |в|-|:| М»|:| Повторять южные | 4JC|w- Вшюлнять: с 2 октября 2Ш36 г. по нояфя 2007 г. каждый 4й лень, по янямиадям ^юнедвльник. вторник, среда, четверг пятница ?сО:09;30 по COIIM) каждые 360 сек, завершать посте ШШЮ Отмена ){ Qrpaam На закладке Дневное указывается дневное расписание задания. Общее 10*едаое (Недешюе Месимое 5>емя начата |335930 [xjCJ Повтарятьчерез: | 360|С| сек. ^жмяоюнчания: |315Ш jxfCj Повторять сгедэй | 0|?| сек. Завершатьпоспв:} : : ix}~i Заеершвтьчерез. | 0J*| сек. Детатюе расписание дня: =* г* и .акт ¦-:.„.-j i i—t ii ^¦i^.- ; i ||с23.!9ЭгпоЭ15::ка:«:о»Жмк 1 Вм№тять.с2окп*фя2006г поЭ0ноя(ря2007г каждый 4ййень, по шпмнехги (понедельник, вторник, пятница сДОота, воофесенье fc с 235Э:30по Э-15:00 каждое 360 сек. | OK li Оя**а Ц Справка - 1 ¦ . В расписании можно указать: • время начала и окончания задания; • время завершения задания, после которого оно будет но завершено; • период повтора задания;
Глава 16. Механизм заданий 2-633 • продолжительность паузы между повторами; • продолжительность выполнения. Допускается указание произвольного сочетания условий. • На закладке Недельное указывается недельное расписание задания. ОЙцее Днешое |Недеялое [Меся-мов А#> - lb to Q> Чг Пг CI Be В В В В В П ? Повтарятывждые Ж Вшютятъ. с 2 октяЗ» 2006 г. го 30 нояфв 2007 г. лаааоА 4ft пень, по »иич неани Ёкпвдепьн41С8Л]{]ии1^феда>четадоа1пым«а1:сЭД 1 ОК Отмена Установите флажки по тем дням недели, по которым задание будет ся. Если требуется повторять задание, укажите интервал повтора в неделях. 11ппример, задание выполняется через 2 недели, значение повтора - 2. • На закладке Месячное указывается месячное расписание задания. Ойцее Днешое Нелишне 1 Месячное [ Месиш БЗЯшфь БЗЛгрепь @Иоп> 0Октяфь 0Март БЗИть ЕЗ&ипфь ^Декабрь Бототмтъв: I 01*| Бмгютлтъв. 1 jt] деньнедвшвиесяце jc начат Випотять. с 2октя5» 200Б г.по ЗОнояфя 2007 г од*1 дгнъ,го даямнеавш Понедельник вторник, среда, четверг, пятнив 11 -Й двиьнедези в иесяк с 23:59:30 по 9-15-00 жавдые 360 cetcj [ OK Оравкв Установите флажки по тем месяцам, в которых задание будет выполняться. При необходимости можно указать конкретный день (месяца или недели) ммиолнения с начала месяца/недели или конца.
2-634 1С:Предприятие 8.1. Конфигурирование и администрирование • Использование — если установлено, то задание будет выполняться согласно расписанию. • Предопределенное — если установлено, то задание является деленным. • Количество повторов при аварийном завершении - указывает количество повторов при аварийном завершении. • Интервал повтора при аварийном завершении - указывает интервал повтора при аварийном завершении. Примеры Создание фонового задания Обновление индекса полнотекстового поиска: ФововыеЗадания.Выполнитьt"Обнови ^даеИндексаПолнотекстовогоПоиска");j Создание регламентного задания Восстановление последовательностей: I Ji !l " I ¦ i !¦ II inn J i IJ . -~щ Расписание = Новый РасписаниеРегламентногоЗадания; , Расписание.ПериодПовтораДней = 1; ' Расписание.ПериодПовтораВТечениеДня = 0; Задание = РегламентныеЗадания.СоздатьРегламентноеЗадание( "ВосстановлениеПоследовательностей"); Задание.Расписание = Расписание; Задание.Записать(); „ .aiffi^to. _~™_ __-^____^. ^_ I. .i, ЕЙ
Глава 17 Механизм полнотекстового поиска в данных Механизм полнотекстового поиска в данных системы 1С:Предприятие 8.1 позволяет осуществлять поиск в базе данных с указанием поисковых торов (И, ИЛИ, НЕ, РЯДОМ и др.). Механизм полнотекстового поиска основан на использовании двух ляющих: • полнотекстового индекса, который создается в базе данных и затем периодически, по мере необходимости, обновляется; • средств выполнения полнотекстового поиска. Создание и обновление полнотекстового индекса может быть выполнено интерактивно в режиме 1С:Предприятие или программно средствами енного языка. Поиск данных в базе данных выполняется только средствами встроенного языка. Для выполнения интерактивного полнотекстового индексирования используется команда меню Операции - Управление полнотекстовым поиском... в режиме 1С:Предприятие. Общие сведения о полнотекстовом индексировании Объектами полнотекстового поиска являются данные следующих объектов конфигурации: • Планы обмена, ' • Справочники, • Документы, • Планы видов характеристик, • Планы счетов, • Планы видов расчета, 1 Регистры сведений,
2-636 1С:Предприятие 8.1. Конфигурирование и администрирование • Регистры накопления, • Регистры бухгалтерии, • Регистры расчета, • Бизнес-процессы, • Задачи. Для каждого из перечисленных объектов конфигурации реализовано тво Полнотекстовый поиск, которое позволяет включать или исключать данные объекта в/из полнотекстового индексирования. Для фиксации изменений объектов полнотекстового поиска система 1 тие 8.1J ведет журнал регистрации изменений. Запись в этот журнал осуществляется в процессе записи объектов в базу данных. В файлы трации изменений попадают только те объекты, которые настроены для полнотекстового индексирования. Если в результате отката транзакции запись объекта в базу данных будет отменена, то запись в журнале рации изменений останется. Полнотекстовое индексирование выполняется в привилегированном режиме (в контексте сервера) и не требует монопольного захвата базы данных. В процессе полнотекстового индексирования выполняется чтение файлов регистрации изменений и получение измененных объектов из базы данных, а также транслитерация слов и замещение букв в словах, введенных латиницей на кириллицу (при этом индекс хранит обе формы слова). сированию подлежат только реквизиты следующих типов: • Строка, • Дата, • Число, • ссылочные типы, • ХранилищеЗначения. о ¦- > Для каждого объекта и реквизита в полнотекстовый индекс ся его тип - синоним объекта метаданных — на всех языках конфигурации. Системные и пользовательские реквизиты индексируются на всех языках, что позволяет проводить поиск на всех языках конфигурации (например, русский и английский). При полнотекстовом индексировании и поиске слова с буквой «ё» буквы «ё» заменяются на «е». Индексы полнотекстового поиска хранятся в наборе файлов, который лагается в кластере серверов (в случае клиент-серверного варианта работы) либо в каталоге, в котором находится файл информационной базы MCD (в случае файлового варианта работы).
Глава 17. Механизм полнотекстового поиска в данных 2-637 В результате полнотекстового индексирования создается основной индекс, а в ходе последующего изменения данных базы данных - дополнительный, который содержит информацию по данным, измененным после последнего обновления основного индекса. Поиск по основному индексу выполняется эффективно, в то время как поиск по дополнительному индексу выполняется медленнее. Поэтому в се.индексирования предусмотрена возможность слияния индексов, которая позволяет добавить результат последних изменений данных к основному индексу. При этом следует учитывать, что эта операция может оказаться довольно длительной (если размер основного индекса большой), поэтому рекомендуется выполнять ее в периоды минимальной нагрузки на систему (в ночное время или по выходным). Полнотекстовый поиск инициируется пользователем в контексте клиентского приложения, а выполняется в контексте сервера. Это означает, что в файло- пом режиме работы поиск будет выполняться на клиентском компьютере, н в клиент-серверном -в кластере серверов системы 1С:Предприятие 8.1. Иолнотекстовый поиск в данных осуществляется в соответствии с правами пользователя (в том числе и в соответствии с ограничениями-прав доступа на уровне записей и полей базы данных). При этом поиск можно вести и по словам, которые были введены в базу данных с ошибками: например, если в слове вместо русской «с» стоит английская «с» и если при наборе слова была нечаянно смене- пи раскладка клавиатуры и в результате слово приняло вид, например, «систем6> имеете «система», эти слова все равно попадут в результат поиска. 1'с1ультаты поиска возвращаются частями, размер которых определяется при выполнении команды полнотекстового поиска. Рпнжирование полученных результатов осуществляется в порядке щих приоритетов: «вес» объекта метаданных: чем больше ссылок на этот объект в зитах других объектов, тем выше его «вес»; дата объекта (более новые объекты будут находиться в начале). Выполнение полнотекстового поиска в данных Иолнотекстовый поиск в данных осуществляется средствами встроенного тыка. • иойство глобального контекста ПолнотекстовыйПоиск возвращает менеджер ишиютекстового поиска - объекта типа МенеджерПолнотекстовогоПоиска. Методы менеджера полнотекстового поиска позволяют: получить информацию о состоянии полнотекстового индекса; выполнить полнотекстовое индексирование;
2-638 1С:Предприятие 8.1. Конфигурирование и администрирование • инициировать процесс выполнения полнотекстового поиска в данных. Для получения информации о состоянии полнотекстового индекса значены следующие методы: • ПолучитьРежимПолнотекстовогоПоиска() - возвращает значение Истина, если использование полнотекстового поиска разрешено, или Ложь — в противном случае; • ДатаАктуальности() — дата последнего момента, когда были сированы все данные и не было информации о новых объектах для индексирования; • ИндексАктуален() — возвращает значение Истина, если индекс текстового поиска полностью соответствует текущему состоянию информационной базы; • 06новлениеИндексаЗавершено() - возвращает значение Истина, если слияние полнотекстового индекса не требуется. Для выполнения полнотекстового индексирования предназначены щие методы: • УстановитьРежимПолнотекстовогоПоиска() - устанавливает режим полнотекстового поиска (Разрешить или Запретить). Если поиск был запрещен, то вызов этого метода с параметром Истина автоматически очищает имеющийся полнотекстовый индекс; • ОбновитьИндекс() - обновляет индекс полнотекстового поиска. Если индексы отсутствовали, выполняет полную переиндексацию всей базы данных. В параметрах метода передаются условия индексирования: • РазрешитьСлияние - если передается значение Истина, будет нено слияние основного и дополнительного индексов; • Порционное - значение Истина указывает, что индексирование будет выполняться порциями из 10 тысяч объектов. После сирования данных одной порции процесс завершается. Время индексирования одной порции сильно зависит от данных. мер, на типовой конфигурации «Управлении Производственным Предприятием» занимает 3-5 минут. • ОчиститьИндекс() - удаляет все файлы полнотекстового индекса. Этот метод рекомендуется использовать в тех случаях, когда данные были полностью или почти полностью обновлены (например, при нии загрузки информационной базы). После очистки индекса нужно выполнить индексирование (если требуется). Инициирование процесса полнотекстового поиска в данных выполняется с помощью метода СоздатьСписок(). В метод передаются два параметра: • СтрокаПоиска - строка, содержащая поисковое выражение; • РазмерПорции - число, задающее количество объектов, которые буду) возвращены в одной части полнотекстового поиска.
Глава 17. Механизм полнотекстового поиска в данных 2-639 Поддерживается следующий синтаксис поисковых выражений: Оператор Пробел И AND & ИЛИ OR I НЕ NOT РЯДОМ/[±]п NEAR/[±]n РЯДОМ NEAR НИ 0 * Пример выражения 1С Архив 1С И Архив 1С AND Архив 1С & Архив 1С ИЛИ Архив 1С OR Архив 1С | Архив 1С, Архив 1С НЕ архив 1С NOT архив 1С ~ архив Пример 1: фен РЯДОМ/3 воздух Пример 2: фенРЯДОМУ+3 воздух Пример 3; фен РЯДОМ/-3 воздух Библиотека РЯДОМ имени РЯДОМ Достоевского "администратор сети" (технология | изготовление) & (сыра | творога) арх* арх* & документооб* Поиснение Должно быть и слово «1С», и слово «Архив» Должно быть хотя бы одно из слов «1С» или «Архив» Должно быть слово «1С», но не должно быть слова «Архив» Поиск данных, содержащих в одном реквизите указанные слова с учетом морфологии на расстоянии п слов между словами. Знак указывает, в каком направлении от первого слова будет искаться второе слово («+»— после первого; «-» - до первого слова). Если знак не указан, то будут найдены данные, содержащие указанные слова на дистанции п слов друг от друга. Порядок слов не имеет значения. В примере 1 будут найдены данные, в которых слово «воздух» находится не более трех слов до или после слова «фен». , В примере 2 будут найдены данные, в которых слово «воздух» находится не • более трех слов после слова «фен». В примере 3 будут найдены данные, в которых слово «воздух» находится не более трех слов перед словом «фен» Краткая форма. Запрос найдет данные, в которых слова встречаются в одном реквизите не дальше, чем на 8 слов друг от друга в любую сторону Поиск точной фразы (эквивалентно администратор РЯДОМ/+1 сети) Группировка слов(сколько угодно уровней вложенности) Поиск с wildcard - поддерживается только «*» в конце слова. То есть запрос «арх*» найдет «архив», «археология»
2-640 1С:Предприятие 8.1. Конфигурирование и администрирование Оператор # 1 Пример выражения #Система Система#2 [красный кафель Пояснение Нечеткий поиск слов с заданным количеством отличий от указанного в строке поиска. Запрос «#Система» (эквивалентно запросу Система#1) найдет «систама», «сивтема». Запрос «Система#2» найдет «ситтама», «сеггема». Только для полнотекстового поиска в данных! Поиск с учетом синонимов русского, английского и украинского языков. Оператор «!» ставится перед соответствующим словом. Пример: поиск «!красный кафель», найдет еще и «алый кафель» и «коралловый кафель» Замечание. Для поиска спецсимволов, используемых в тексте, их ет заключать в кавычки. Например: "ПолучитьДанныеНоменклатурыО","()","++". Метод СоздатьСписок() возвращает объект СписокПолнотекстовогоПоиска, который позволяет выполнять полнотекстовый поиск и получать результаты полнотекстового поиска. Этот объект может быть использован но для выполнения поиска с различными условиями. Свойства объекта СтрокаПоиска и РазмерПорции позволяют изменять используемое поисковое выражение и размер порции получаемых данных. Для выполнения полнотекстового поиска и получения «первых» результатов используется метод ПерваяЧасть(). Для получения последующих результатов полнотекстового поиска используются методы СледующаяЧасть() и Предыду- щаяЧасть(), которые заполняют список полнотекстового поиска результатами поиска. Метод НачальнаяПозиция() указывает на позицию, начиная с которой получена очередная часть элементов. Метод Количество() содержит тво элементов в текущей части (для последней части оно будет меньше либо равно размеру порции), а метод ПолноеКоличество() содержит полное количество элементов, найденных в результате полнотекстового поиска. Метод ПерваяЧасть() заполняет список первыми найденными элементами, количество которых равно размеру порции. При этом начальная позиция становится равной 0. Метод СпедующаяЧастьО заполняет список следующими элементами в соответствии со значением размера порции. При этом текущая позиция
Глава 17. Механизм полнотекстового поиска в данных 2-641 увеличивается на количество данных, содержащихся в полученной части. Если данных для получения очередной порции нет (достигнут конец данных), будет вызвано исключение, которое может быть обработано конструкцией Попытка... Исключение... КонецПопытки. Метод ПредыдущаяЧасть() заполняет список предыдущими найденными элементами в соответствии с размером порции. Если данных для получения очередной порции нет (достигнуто начало данных), будет вызвано ние, которое может быть обработано конструкцией Попытка... Исключение... КонецПопытки. Метод СлишкомМногоРезультатов() возвращает значение Истина если во время поиска, по соображениям производительности, было произведено усечение количества результатов, что может сказаться на точности поиска (не все объекты будут найдены). Анализ значения, возвращаемого этим методом, имеет смысл выполнять при получении последней порции ных данных для информирования пользователя о том, что получены не все результаты, которые содержатся в базе данных. Свойство ПолучатьОписание содержит признак получения описания для результатов поиска. Если он установлен в значение Истина, то для го из результатов поиска будет заполнено значение Описание, помогающее понять контекст найденных слов. В то же время установка этого свойства в значение Ложь ускоряет поиск. Список полнотекстового поиска представляет собой коллекцию элементов списка полнотекстового поиска, которую можно обойти с помощью тора Для Каждого... Из... Цикл. Каждый элемент списка полнотекстового поиска представляется объектом ЭлементСпискаПолнотекстовогоПоиска и содержит следующие свойства: • Значение - идентифицирует данные (объект или набор записей), в которых найдено поисковое выражение; • Метаданные - объект метаданных, описывающий те данные, в которых найдено поисковое выражение; • Представление - текстовое представление найденного объекта; • Описание - содержит (с новой строки) пары <реквизит>:<значение>, где: • <реквизит> - реквизит объекта, в значении которого найдено выражение поиска; • <значение> — значение этого реквизита. Результат поиска с помощью метода ПолучитьОтображение() можно предста- иить в виде объекта ЧтениеХМ!. или в виде строки с текстом в формате HTML, и котором средствами HTML найденные слова подсвечены (жирный шрифт И цвет фона).
2-642 1 С:Предприятие 8.1. Конфигурирование и администрирование Использование дополнительных словарей Дополнительные словари морфологии и синонимов для го поиска расширяют системные словари и могут содержать в себе особые термины и слова, которые используются при работе с конфигурацией. В качестве дополнительных словарей могут выступать макеты из ных данных и текстовые макеты, а также константы строкового типа и типа Хранилище значений. Указание дополнительных словарей выполняется в свойстве Дополнительные словари корневого объекта метаданных. При этом они должны иметь следующее содержание: <?xml version=.0"?> <Dictionary> <Words> <lemma>pyHeT</lemmaxforms>pyHeTa рунете pyHeTOM</?orms> <leirnna>BaHecca</lemmaxforins>BaHecce Ванессы Ванессу</forms> < Words> <Synonyms> <item>oira6Ka баг c6oii</item> <item>CTptiM noTOK</item> </Synonyms> . </Dictionary> Элемент <Dictionary> предназначен для хранения собственно словаря. Словарь может содержать две секции: • дополнительные слова (леммы) и их формы; • ряды синонимов. В секции <Words> слова содержатся в следующем виде: • в элементе <lemma> слово хранится в его основной форме ном падеже); • в элементе <forms> содержатся падежные формы слова. Замечание. По умолчанию нечеткий поиск не производится. Для того чтобы выполнить нечеткий поиск, следует использовать оператор «*». Пример: поиск «руне*» найдет и «рунет», и «рунета», и «рунете», и «руне1том». В секции <Synonyms> хранятся ряды синонимов. Каждый ряд заключается в теги <item>.
Глава 17. Механизм полнотекстового поиска в данных 2-643 Замечание. Для того чтобы синонимы участвовали в полнотекстовом поиске, следует использовать оператор «!». При этом поиск «/ошибка» найдет и «ошибка», и «баг», и «сбой». Подробная таблица поисковых выражений приведена на стр. 2-919. Секции <Synonyms> и <Words> могут идти в любом порядке. Словари загружаются системой при первом вызове поиска или ровании. Если в макете содержатся ошибки, то заполнение словарей будет остановлено на месте ошибки. Если содержимое словаря было изменено, нужно перезапустить клиент, и тогда система будет использовать измененный словарь. При этом индекс автоматически не обновляется, и нужно перестроить индекс вручную (то есть очистить его и заново обновить при помощи диалога, вызываемого командой Операции - Управление полнотекстовым поиском), хотя при поиске используются новые словари.
Глава 18 Инструменты конфигурирования Конструктор запроса Конструктор запросов позволяет сформировать текст запроса в модуле и отредактировать имеющийся запрос. Для вызова конструктора запросов откройте модуль, выберите процедуру, в которой необходимо разместить запрос, установите указатель в той части процедуры, в которой располагается или должно располагаться тело са, выберите пункт Текст - Конструктор запросов. Если запроса нет, то на экран выводится вопрос: Не найден текст запроса. Создать новый? При выборе Да на экран выводится окно Конструктор сов. Если запрос редактируется, то на экран выводится окно Конструктор запросов, содержащее данные текущего запроса. Дальнейшая работа с конструктором запросов описана в параграфе «Конструктор выходной формы» на стр. 2-645. Для некорректного текста запроса при вызове конструктора запросов происходит автоматическая установка курсора в строку запроса, в которой обнаружена ошибка. В отличие от конструктора выходных форм, конструктор запросов не жит закладку Выходная форма, а также поддерживает работу с временными таблицами (см. стр. 1-347). Для указания временной таблицы, в которую должен быть помещен тат запроса, на закладке Дополнительно используется флаг Поместить и поле ввода для ввода имени временной таблицы. Если флаг Поместить лен, становится доступна закладка Индекс построителя запроса. С помощью этой закладки можно выбрать поля, по которым будет индексироваться создаваемая временная таблица. Если текст, из которого был открыт конструктор запроса, находился в режиме Только чтение или же если запрос был изменен, конструктор выведет на экран предупреждение.
Глава 18. Инструменты конфигурирования 2-645 Конструктор выходной формы Для запуска конструктора в окне Конфигурация укажите требуемый объект. В контекстном меню выберите пункт Конструкторы - Конструктор выходных форм. На экран выводится диалог, в котором следует указать имя емой или существующей формы. В последнем случае созданные прежде форма и макет будут полностью заменены вновь создаваемыми. Конструктор выходной <№pMt - Виынм еорма- ®Е<59 Ж |Отчет Сущестз^ощая ОК Отмена После указания имени формы нажмите кнопку ОК. На экран выводится конструктор выходной формы. Та&мцымпопа {Грутпирмка «j*» Дргщмитапыю ОЙъвдиенмЛТовмоннмм . Порядок Ивнм Прстроитаж» Qfflgr ¦ вытштшфрш , ф-»«1 Документы ¦ -V .ТрюиднаяНзкгалная Из» &L РаоюднаяНакгадная I РааюднаяНакгндная И: М ОпгатаПоставшику •\ ОпгвтаПоставщикуУ,; И ОщвтаОтПоюпателя -V ОпгатэОтПокупателя И: .?С Последовательности Е 2 Перечисления Ш-© ныВидов)йрактерис™к i+hTF^ ПтинаСчетов f-fa я- а. Рю. «4 I ЕЭ-Ш ПризвднаяНакладная t [ ^ I — Ссыпка г—— ПометюУдаленмя 1 « — Номер — Дата -- Пройден >- Контрагент i Eh- Скгвд — Вэпчттэ — Представление • — МоментВремени j а<*а pfM клаачая.Контрэгент ПРЕВЕТАВПЕШЕРЪюютаяНахттая ПяюашФЪтът Состав ¦-' Сснгка № ПРЕДСТАВПЕНИЕ^ЪоаогЬ! -— НомерСтронл — Номенклатура Ы — Киичество Цена Сумма Д|^~* Контр Запрос «Назад [ Даше» jl Отч \[ Рт»яиа"~|1 Оуадка^ щитдиллчютшвцчии -xt-mumiw-u—.j'b- С помощью кнопки Упорядочить список, расположенной над списком База данных, можно упорядочить список объектов. Повторное нажатие кнопки отменяет упорядочивание. С помощью кнопки Отображать таблицы изменений Ш можно отобра- нггь таблицы изменений объектов конфигурации в списке объектов в виде отдельной ветки Константы (Изменения). Повторное нажатие кнопки скроет истку в списке.
2-646 1С:Предприятие 8.1. Конфигурирование и администрирование Для того чтобы создать вложенный запрос, нажмите кнопку Создать вложенный запрос Чй. В открывшемся конструкторе запроса сформируйте требуемый запрос и нажмите кнопку ОК. Вложенный запрос отобразится в, списке Таблицы. Для того чтобы использовать созданную временную таблицу, нажми-4 те кнопку Создать описание временной таблицы fe. В отобразившейся^ форме введите имя таблицы, имена нужных полей и, при необходимости,-^ укажите тип значения полей. С помощью кнопок Далее> довательно пройдите по закладкам и выберите необходимые исходные данные, укажите группировки и условия, установите нужный порядок и опишите итоговые данные. В результате работы конструктора будет создана форма и макет, которые будут располагаться на соответствующих ветвях. По кнопке Запрос в любой момент можно открыть окно с текстом сформированного на основании указанных данных запроса. Для корректировки данных используйте кнопку <Назад. На закладке Таблицы и поля выберите нужные объекты и перенесите wd в разделы Таблицы и Поля. Для указания дополнительных условий можно воспользоваться режимом формирования произвольных выражений в запросе. Для этого в списке Поля в контекстном меню выберите пункт Добавить. На экран выводится окно произ-1 вольного выражения. С (Отмена It шттштття — ПринаднаяНакладная.Контрагент fM ПРЕДСТАВЛЕНИЕ1ПритодмаяНан.ладнаяКа Sis) ПрикоднаяНакладная Состав — Номенклатура -fM ПРЕДСТАВЛЕНЩПрикоднаяНаклэдная ¦— Количество - [Щ -— Сумма Все поля Е--*» Функции языка запросов Ш- П Функции ¦г Операторы Й-«г Арифметические операторы ш ш Е Ш- „ Логические операторы Прочие операторы Прочее ПрикоднаяНакладная. Состав.Сумма - ПриходнаяНакладная. Состав. Цена Г~ OK J [ Отмена | [ Справка
Глава 18. Инструменты конфигурирования 2-647 В нижнем поле формируется текст выражения. Выражение можно набирать с помощью клавиатуры. Для удобства ввода наименований реквизитов но перетаскивать мышью нужные поля из списка полей и выбирать нужные функции языка запросов из списка, также перетаскивая их мышью в поле ввода выражения. Если указано несколько таблиц, то в конструктор добавляется закладка Связи. j^B Т италя и | Групгшрс »ка Условия Дополнительно С&ъеаинешя/Нс. Итоги Лосгрмлаяь Пакет эагюосов Отчет быхоамая форма •SHE-si* № 1 Таблица! Щ Приходш вкладная See D Таблица 2 й ВложенньйЗапрос Все п о 3 УсЛОВИв СВЯЗИ . |] — 1) «Накладная Состав Homshk. — В№женныйЗйпрос,Ноименсва- J*4>x 1 | <H*.-*i || Я мм || OR )| Отмена || Op№a 1 ; На закладке Связи формируются условия, которые накладываются на связи между полями таблиц. Для ввода нового условия нажмите кнопку Добавить и в колонке Таблица1 выберите одну из таблиц; в колонке Таблица2 те таблицу, поля которой связаны с полями первой. Ниже списка условий расположены элементы управления, с помощью которых формируется условие связи таблиц. На закладке Группировка, если требуется, выберите реквизиты, по которым будет выполнена группировка. Табяицыи .. ' Связи i Группировка \ Условия Дополнится. Объединен... Итоги Построитель Пакетзапр. Отчет ВыкоонаяФ [ г— ПрмхвдначНакладная.Контрагент -ГИПРЕДСТАВЛЕНИЦПрикеднаяНвкладнаяКонтраг D ПриходнаяНакладная Сост —— Количество -— Цена —— Сумма Все поля < . :¦ — --*-~- л. ¦> » < « > » < « -ВСд&и^д^^^у-ц^^^^^^^^^^^^^^Н^ИЗ^^В^ИСЯ^ПШ^И^^НИ^^^ИИ *— — Номенклатура i 2wk | | h?:« !] ?»>**/ J | 0». | | йтмчнв | | Cnpms
2-648 1С:Предприятие 8.1. Конфигурирование и администрирование На закладке Условия, если требуется, укажите условия, по которым будет выполняться отбор исходных данных. ДЯДЯ ЕЕ ? >\?1 Тгэ&мцыия IpjrmwagTf Уотргод | Допм»*гоп Обьеданани Порядок *зЙтоги Построитель Отчет бмюднэязв ¦— Ссыпка —. По «Удаления м Номер —*. Проведен 11— Кэнтрагенг Склад Ш-— Вапога I ]-|Щ) Состав Представление МоментВремени 1 v' . ¦ ¦ •, -. Дата ЕЖДУЛДата И40а Зацдае .,,<jjjfega.„.J I ', '>, 1 Г . '.QK || I j 11" СярамеГ' По каждому выбранному полю необходимо выбрать вид условия (для вольного условия в колонке Произвольное установите флажок). Если флажок не установлен, то следует выбрать вид условия и указать наименование параметра. Если флажок Произвольное установлен, то можно ваться окном формирования произвольных выражений (см. выше). На закладке Дополнительно указываются дополнительные условия. Та8ямцьш№ Грущроека Усдавня j Допш^ельно) Объединения i Псрядок Итсгн Построитель j Пакет запрос.- . Отчет Вьардная ФО-- - Выборка записей—— diss; д| П Без лоетцквощнхся П Разрешенные ' Выборка aaw«>w , Создание щммекной таблицы ¦ Уничтожение временной таблицы Пия еременнойтвблииы: ОЕлокировлгъ ггаяачаемые данные для последшеге изменения f'liii^ii-i'ii-itssEa———ш— ^Наэад^ ] [., ДДД^>.,„] |. -.....9^,,,, ,) [.'J^jjf„J Справка На закладке Объединения/Псевдонимы, если требуется, введите мы полей. ИЗ Табяицнипо. р^упировка _Ыспоеии Дсшянитепьив ] Объединения (Порядок . Итог Построитель Пакет запрос Отчет ВыкаднаяФо.. щччt * t * Й-Bjl Состав —Ы Номенклат;д]аПреястаЕленме ¦ Приходна^акладная. Контрагент h-fM ПРЕДСТАВЛЕНИЕ(При*одна^а*ладиая.Коитра? Ehggj ПриходнаяНакладная. Состав РЕДСТАВЛЕНИЕЛриношаяНакладная.Сос... |—— Количество [—. Цена 34пь*: ] №?ИВД9ИМЯ!ВЯНИЙ«!1« jiiiilji.|jii HgMMSI МШ« Н^ц~~] | Да-ч-с j [""' Ь>' '1 [~"р-.,"на "| [ Спг>м.а
Глава 18. Инструменты конфигурирования 2-649 В таблице показано соответствие выбранных полей и исходных данных. Имена полей и соответствие можно изменить. Для изменения имени те поле и нажмите клавишу Enter, введите новое имя поля. Для изменения соответствия в колонке Запрос выберите нужную строку и нажмите шу Enter. В выпадающем списке выберите нужное значение. Если требуется выбрать только уникальные значения, то установите флажок в колонке Без дубп. Псевдонимы полей, которые изменены пользователем, или были загружены из текста запроса, или при генерации псевдонима конструктор определил, что данный псевдоним обязателен, выделяются жирным шрифтом. На закладке Порядок, если требуется, укажите порядок вывода полученных данных. Таблицыипо. Грчлпмровкд , Условия Дополнительно Объединения, ЩШ Состав Ш*2 Все поля Запрос | » < « БЕЗ ] Порядок, I Итоги Построитель Пак^т запрос. Отчет Выходная фо. Поле Контрагент О ¦' - ¦ - -¦- - - " Возрастание * R Убывание Мерариия Иерархия по убыванию ( <Назаа j| Да t * : ! ¦ лва> {| GK |[ Отмона }| Справке Как показано на рисунке, выбран порядок вывода данных, отсортированных по дате, а в пределах одной даты выполняется сортировка по физлицу. На закладке Итоги, если требуется, укажите, по каким полям нужно выводить промежуточные итоговые данные, а также укажите необходимость рования общих итогов. Таблицы йт Группировка Успок» Ш Ш Состав Й g Все поля :*х*х | Дополнительно Объединен».. Поржкж. (Йт'от! Лосгро«гв<ъ Пакет запрос Отчет выходная Фа. > » < « > » < « Контрагент Тип итогов Элементы сеййоним Контрагент Q Общие итоги t \ Назад 11 Йвлее > \\ Ш | ( Отмена } j Справка \ ~" " — ¦'¦ ' ""'и-
2-650 1С:Предприятие 8.1. Конфигурирование и администрирование При нажатии кнопки », расположенной рядом с групповыми полями, в поля для группировки будут помещены все ссылочные поля. При нажатии кнопки », расположенной рядом с суммируемыми полями, в список руемых полей будут помещены все поля, имеющие числовой тип. На закладке Построитель выполняется настройка построителя отчетов. Выбираются таблицы и поля, указываются условия и порядок ния, а также описываются итоговые данные. • На закладке Таблицы редактируются параметры построителя отчета для виртуальных таблиц, а также отмечаются необязательные таблицы. • Для редактирования параметров виртуальных таблиц необходимо выделить таблицу, для которой требуется настроить параметры, вызвать команду Параметры виртуальной таблицы, после чего в ся диалоге ввести необходимые параметры таблицы для построителя отчета. Для того чтобы отметить таблицу как необязательную, димо снять флажок Обязательная напротив имени таблицы, которую необходимо пометить. Кроме того, для необязательных таблиц можно указать номер группы необязательных таблиц. Необязательные цы, находящиеся рядом в списке соединений и имеющие одинаковые номера групп, будут объединены в одну необязательную группу. зательные таблицы с различными номерами групп будут разнесены по различным группам необязательных таблиц. • На закладке Поля выбираются поля, которые построитель отчета будет использовать в качестве доступных полей для вывода в отчет. • На закладке Условия выбираются поля, которые построитель отчета будет использовать в качестве доступных полей для отбора. • На закладке Порядок выбираются поля, которые построитель отчета будет использовать в качестве доступных полей для упорядочивания результата. Таблщыи Гримировка "Условия Дополнительно 0#мад&иения.. В Щ Состав Ш-S Бее поля > » < ЕЕ S Порядок 1 Итоги Построитель Пакет запрос Отчет Выходная «щ_ Поле Контрагент ?Аетоупорядоадеанме } Запрос ,..| Возрастемте W Убывание Иерархия Иерархия № убыванию t Назад | Далее j | 0? | Отмена j Справка i - ---шятттшт»
Глава 18. Инструменты конфигурирования 2-651 • На закладке Итоги выбираются поля, которые построитель отчета будет использовать в качестве доступных полей для группировки отчета. • На закладке Порядок, если требуется, укажите порядок вывода ных данных. Как показано на рисунке, выбран порядок вывода данных, отсортированных по дате, а в пределах одной даты выполняется сортировка по физлицу. • На закладке Пакет запросов при работе с пакетными запросами ся последовательность запросов пакета. Каждый запрос редактируется и настраивается в этом же окне, а на всех предыдущих закладках можно переключаться между настраиваемыми запросами. zMjl Таблицы Гр^ппиро Условия Дополнит Ш Щ Ооътаии©. Порядок Итоги Построит (Пекетзап. (Отчет Выходная 'StEtit * Запрос Запрос пакета 1 Запрос пакета 2 - Запрос } | <Яаэай 11 Даяее> || OK j | Отмена \ j Справка .На закладке Отчет производится настройка формирования отчета. В группе Выводить отчет в указывается, в каком виде требуется получить отчет. Для каждого выбранного вида в форму ра добавляется закладка для настройки. Смысл настроек понятен из пояснительного текста. Таблицы и i Группировка Условия Дополните.. Объединен. Порядок Итош. Построитель Пакет эап... J Отчет } Выходная Выводить отчет в П сводную таблицу Опмаграмьщ Q сводную диаграмма 0 Использовать построитель отчета Табличный документ | ¦Размещение группировок ©в одной колонке О в отдельных колонках О в отдельных колонках итолько в итогах f~ Размещение реквизитов О с группировками 0 е отдельных колонках О в отдельной колонке Размещение ое шапке О в подвале О только в подвале О в шапке и подвале Запрос Оформление йГруппироеать строки Q Использовать Фиксированный макет Назад ] f йате ] Г ОК I [ Отмена j I Справка ИЩ ¦JUUI1..4IUIUJIJIJUIHIIIJIIIIUI 11Л1Ц iHJXI | IPVWHW На закладке Выходная форма производится формирование сведений о расположении всех составляющих выходной формы.
2-652 1 С:Предприятие 8.1. Конфигурирование и администрирование На закладке Формы - формирование процедуры, которая будет выполняться при нажатии кнопки вызова данной формы. Укажите наименование выходной формы и место ее расположения в ции, скорректируйте список параметров формы. Таблицы и Группировка Недавня Дополните Объединен- Поряа . Итоги Построитель Пакет запр Отчет] Вьиодная. Ферма j Ф(^1анасттмйкипск^хая^5^^зТ, Название выходной Формы | Отчет (-Расположение процедуры——— ©Модуль Формы Заголовок выходной Формы; |Отчвт Заголовок кнопки ]СФорм» Параметры: % $ Расположение элементов дправяения О Сзщеспмрхцая форма ФсрмаСписка ФормаДокумента ©Номя Форма щРедактнроватьв'форме [Тип параметра Запрос ^^•^—^—'г——^—¦^—'"¦^—— j '{Назад J Дален*' ['||м! „рк', ',..'.) j J [ Счмтеа_ На закладке Форма настройки построителя отчета производится ка построителя отчета. Поля настройки доступны, если на закладке Выходная форма установлено использование построителя отчета. Таблицы I* Группировка Условия Дополните Объединен. Порток tfron* Построитель Пакет запр. Отчет j Выходная Ферма [Фор^а настройки построители отчета { Состав Формы настройки—ч (-Расположение элементов упвввленк п f Порядок Выбранные поля © р$плировкн строк И Группировки колонок И Условно* оформление JI/j Отборе Форме отчете О Сащвствающая форма ФормаСписка ФормаДокамента ©Новая Форма I^^Maaaa^J Дапве> |П Отмена j j^OipaBK^" В группе свойств Состав формы настройки следует установить флажки для тех настроек, которые должны быть включены в форму. Назначение флажков понятно из их названий. Если флажок Оформление установлен, то при использовании отчета ватель может изменить настройки условного оформления отчета в форме астройки отчета. В любой момент можно открыть запрос, который формируется в процессе создания выходной формы.
Глава 18. Инструменты конфигурирования 2-653 Для приведенного примера на завершающей стадии текст запроса будет следующим: ВЫБРАТЬ ВыплатаСотрудникам.Номер, ВыплатаСотрудникам.Дата КАК Дата, , ВыплатаСотрудникам.Организация, I ВыплатаСотрудникам.Список.( Размер, Физлицо КАК ФИО ) • ИЗ Документ.ВыплатаСотрудникам КАК ВыплатаСотрудникам ГДЕ ВыплатаСотрудникам.Дата МЕЖДУ &ДатаНач И КДатаКон | ДЛЯ ИЗМЕНЕНИЯ Документ.ВыплатаСотрудникам ; упорядочить по 1 Дата, Ц,* ВыплатаСотрудникам.Список.Физлицо.Представление у Данный текст может быть исправлен и дополнен в любой момент времени. Текст запроса помещается в тело процедуры формирования отчета, щаемой в модуле создаваемой формы. Когда все данные указаны, нажмите кнопку ОК. Результатомработыконструк- тора будет форма для задания исходных значений параметров, макет для формирования выходного табличного документа и процедура ния данного отчета. Конструктор движений регистров Конструктор движений регистров применяется для документов. Для запуска конструктора движений регистров в окне редактирования документа на закладке Движения укажите состав регистров, движения которых осуществляет данный документ, и нажмите кнопку Конструктор движений. Если для выбранного документа определен состав движений хотя бы по одному регистру, то указанный пункт контекстного меню будет доступен. При запуске конструктор запрашивает выбор регистра, по которому будет произведено формирование процедуры ОбработкаПроведения(), и открывает окно конструктора.
2-654 1 С:Предприятие 8.1. Конфигурирование и администрирование Первоначально список содержит только указанный регистр. Список можно изменить, добавляя регистры из списка регистров, отмеченных на закладке Движения окна редактирования документа. Для каждого регистра в зависимости от его типа необходимо указать рительные настройки. Для регистров накопления остатков укажите тип движения. Для регистров бухгалтерии, не поддерживающих корреспонденцию, укажите вид корреспонденции и счет; для регистров, поддерживающих корреспонденцию, укажите счет дебета и счет кредита. Если у документа есть табличные части и их данные должны влиять на состояние регистров, то включение табличной части производится в списке выбора Табличная часть. Затем для каждого регистра производится заполнение формул атрибутов по данным реквизитов документа. В список формул нужно поместить формулы, определяющие, как вычислять движения регистра по выбранным реквизитам документа. Эти формулы можно создавать «вручную» следующим образом. Формула вводится в колонке Формула для каждого атрибута регистра, выделенного в списке. Можно вручную набрать ее в этом поле (а также вручную редакти-
Глава 18. Инструменты конфигурирования 2-655 ровать в нем созданную ранее формулу). Правильность написания формул конструктор не проверяет. Можно также двойным щелчком в списке реквизитов документа помещать данные соответствующего реквизита в формулу. Конструктор не проверяет соответствие типов выбранных реквизитов. Если есть хотя бы один тип, принадлежащий как реквизиту, так и нию/ресурсу регистра и при этом их наименования совпадают, то для таких подчиненных объектов можно применить режим Автозаполнение. нование реквизитов при нажатии кнопки Заполнить заносится в колонку Формула и может быть отредактировано. В результате работы конструктора в модуле объекта создается дура ОбработкаПроведения. В начало процедуры конструктор помещает предупреждение: Данный фрагмент построен конструктором. При повторном использовании конструктора внесенные вручную изменения будут потеряны! Конструктор печати Конструктор печати предназначен для создания макета с заданными ванными областями и процедуры печати для объекта конфигурации. Конструктор печати работает с объектами конфигурации: Справочники, Документы, Журналы документов, Планы видов характеристик, Планы счетов, Планы расчетов, Регистры сведений. Основные приемы работы с конструктором печати будут рассмотрены ниже на примере работы со справочником. Для других видов объектов рации работа с конструктором может несколько отличаться. Для запуска конструктора печати в окне Конфигурация укажите требуемый объект. В контекстном меню выберите пункт Конструкторы - Конструктор печати. В связи с тем, что результатом работы конструктора печати является процедура печати, располагаемая в модуле объекта, конструктор сначала проверяет доступность данного модуля. Если модуль объекта имеет чение доступа, на экран выводится запрос пароля. После ввода пароля на экран выводится окно конструктора. Конструктор предлагает выбрать место расположения процедуры формирования отчета Новая процедура и ввести имя процедуры, которая будет выполнять построение печатной формы. По умолчанию это имя Печать.
2-656 1С Предприятие 8.1. Конфигурирование и администрирование Для справочника окно конструктора печати выглядит следующим образом: Конструктор печати справочник XI ¦©|СоэдагьУп.>11 v-ц^1!- •] 0 б модуле: (?) Печать элемента О Печать списке справочника » б модуле формы: - Печать Имя процедуры - ) Использовать найденную процедуру <Назад Далее) ОК Отмена Справка Место расположения выбирается для новой формы. Оно может быть в модуле и в модуле формы (если выбрано последнее, то указывается, в какой именно форме будет расположена процедура). Важно! Если такая процедура уже присутствует, то можно выбрать ее, и конструктор перепишет ее заново. При этом введенный ранее в тело процедуры текст будет потерян. После нажатия ки Далее> конструктор переходит к выбору реквизитов шапки. С помощью кнопок реноса сформируйте список реквизитов. Если объект рации имеет табличные части, то после тия кнопки Далее> конструктор переходит к выбору реквизитов t I ^ Сброс I «именование I ПолноеНаименование I ЕдиницаИэмерения I ПолноеНаименование I ЕдиницаИэмерения I СтранаПроисхошения | Ошена ] { Справа | ] ¦•чщрцивдщ mm ipirn щщщпарт^т
Глава 18. Инструменты конфигурирования 2-657 очередной табличной части. Список печати формируется аналогично ку реквизитов шапки. Если объект конфигурации имеет табличные части, то после нажатия кнопки Далее> конструктор переходит к выбору реквизитов подвала. Для справочника эти действия конструктора могут отсутствовать в том случае, когда выбрана форма списка, даже если справочник имеет ные части. Если указанных реквизитов нет или выбрана форма списка, то конструктор предлагает выбрать режим вызова процедуры и режим просмотра печатной формы. г-Вызое процедуры 0 не вставлять вызов процедуры новая кнопка Печать ' еьйоать кнопку О Печатать без предварительного про О Таблица "только для чтения" [ЯЕЗащита таблица? (~ <Назад~~"] Нажатие кнопки ОК завершает работу конструктора печати. В результате будет сформирован макет, а в указанной форме будет чески сформирована процедура печати. Конструктор ввода на основании Конструктор ввода на основании облегчает задачу разработки процедуры, с помощью которой будет формироваться новый объект. Конструктор ввода на основании применяется для справочников, тов, планов видов характеристик, планов счетов, планов видов расчета, планов обмена, бизнес-процессов и задач. Для запуска конструктора в окне Конфигурация укажите требуемый объект. В контекстном меню выберите пункт Конструкторы - Конструктор ввода на основании. Если для выбранного объекта конфигурации определен смотра Далее> - OR I ~4 j { Отмена ! ..- | Справка I
2-658 1 С.Предприятие 8.1. Конфигурирование и администрирование режим ввода на основании, то указанный пункт контекстного меню будет доступен. При запуске открывается окно Конструктор ввода на основании. рад— • Объект являющийся основанием: Реквизиты объекта основания: Л Код «¦ Наименование м ПолноеНаименование Формула заполнения реквизита Код N Реквизиты - Код м Н ¦ i *-теи:мл**л ш ПолноеНаименование м» ЕдиницаИзмерения м СгранаПроисхождения м Картинка м ЗакупочнаяЦена |?Шй^ьйэме|^нмя| 1пШ * | Основание.Наименование Основание ПолноеНаименование 0 снование.Ссы лка <Назад Даяее> | it- • -rv..i-vi Ml ОамстигьФорм)лы OK Отмена Справка В верхней части содержится список объектов-оснований; список тов объекта-основания, выбранного в первом списке. В нижней части расположен список реквизитов результирующего объекта. В список реквизитов объекта нужно поместить формулы, определяющие, как заполнять реквизиты документа по выбранным реквизитам объекта- основания. Эти формулы можно создавать «вручную» следующим образом. Формула определяется в поле ввода Формула заполнения реквизита для реквизита объекта, вьщеленного в списке. Можно вручную набрать ее в этом поле (а также вручную редактировать в нем созданную ранее формулу). Правильность написания формул конструктор не проверяет. Можно также двойным щелчком в списке реквизитов объекта-основания помещать данные соответсгвующего реквизита в поле Формула заполнения реквизита, причем сразу в правильной записи. Конструктор не проверяет соответствие типов выбранных реквизитов.
Глава 18. Инструменты конфигурирования 2-659 Возможна и комбинация двух описанных способов: данные из списка зитов объектов-оснований при помещении в поле ввода замещают не всю имеющуюся там информацию, а только выделенные символы. По кнопке Автозаполнение после запроса и подтверждения программа сама создаст формулы для заполнения по реквизитам объекта-основания. Ранее заполненные формулы при автоматическом заполнении не ся. Подбор среди реквизитов объекта-основания соответствий реквизитам документа осуществляется с учетом имен реквизитов, их идентификаторов и типов. По кнопке Очистить формулы после запроса и подтверждения очищаются все формулы, созданные как автоматически, так и вручную. Формулы, созданные для объекта-основания, выбранного в списке тов-оснований, запоминаются при переходе к другому объекту-основанию этого списка. Поэтому можно, не прекращая работы конструктора, создать процедуры ввода на основании для нескольких документов-оснований. Можно также возвращаться к редактированию процедуры для какого-либо объекта-основания, снова выбирая его в списке. _ Для прекращения работы конструктора служат кнопки ОК и Отмена (соответственно с сохранением и без сохранения сделанных изменений). Кнопка Обновить позволяет отразить в модуле формы сделанные изменения без выхода из окна конструктора. В результате работы конструктора в модуле объекта создается ра 0бработка3аполнения(). В начало процедуры конструктор помещает предупреждение: Данный фрагмент построен конструктором. При повторном использовании конструктора внесенные вручную изменения будут потеряны! При повторном использовании конструктора все формулы, ванные ранее для какого-либо документа-основания, будут появляться в списке реквизитов документа при выделении соответствующего та-основания в списке документов-оснований. Конструктор предъявит для просмотра и редактирования формулы, сформированные при предыдущем его запуске, как с помощью кнопки Заполнить формулы автоматически, так и вручную. Более того, он учтет и формулы, вручную внесенные в модуль документа, если они помещены в формируемую им процедуру. ность этих формул конструктор не проверяет. Например, если для какого-то реквизита документа указано заполнение двумя различными ми документа-основания, конструктор для показа выберет один из них (по плфавиту). Именно он останется в модуле после обновления результатов работы конструктора. Вторая строка, соответствующая тому же реквизиту, будет удалена.
2-660 1С:Предприятие 8.1. Конфигурирование и администрирование Конструктор форм объектов конфигурации Для каждого объекта конфигурации, в составе которого могут находиться подчиненные объекты типа Форма, при добавлении новой формы кается Конструктор формы. Это специальный мастер, с помощью которого производится выбор типа формы и размещаются реквизиты объекта гурации. Несмотря на существенные различия типов объектов, для которых производится создание формы, конструкторы имеют много общего. му рассмотрим работу конструктора форм на примере конструктора формы документа. При создании новой формы объекта на экран выводится конструктор формы. т у. г. ¦ Выберите тип Формы; - О Форма списка документа О Форма выборадокумента О Произвольная Форма D Назначить Форму основной С) Основная форма списка и выбора ФормаДокумента1 Имя: Синоним; [форма документа! Комментарий; I ?3 Командная панель Формы сверху 0 Командная панель Формы снизу «Назад [^Даяее^ Готово ' j j Ртмеиа f | Стража Группа элементов управления Выберите тип формы предназначена для выбора типа формы (состав определяется видом выбранного объекта конфигурации, для которого создается форма). Для объекта^конфигурации Документ это следующие формы: • форма списка документов; • форма выбора документа; • форма документа; г • произвольная форма (пустая форма). Число форм по каждому типу форм неограниченно. Если у объекта ко форм одного типа, то одну из них можно выбрать в качестве основной. Если при вызове формы объекта не указано явно, какую именно форму следует вызвать, на экран будет выводиться основная форма. Для указа-
Глава 18. Инструменты конфигурирования 2-661 ния основной формы при создании установите флажок Назначить форму основной. В дальнейшем выбор основной формы можно изменить в окне дактирования объекта (на стр. 1-60) на закладке Формы. Выбор типа Произвольная форма не приводит к созданию основного зита. В этом случае форма имеет типовое поведение. Выбор иного типа формы влечет создание основного реквизита и определяет отличительное от типового поведение формы. Данные отличия описываются объектами, называемыми расширение формы (см. описание соответствующих объектов справки по встроенному языку). Выбор типа формы определяет тип основного реквизита и, следовательно, поведение всей формы, а также возможный состав команд панели ментов. Укажите имя формы, синоним и комментарий. При создании формы в ней могут быть размещены две стандартные дные панели. Для панелей конструктор указывает в качестве источника действий значение <Форма>. Источник действий в дальнейшем может быть изменен, а состав команд может быть расширен пользовательскими дами. Состав команд командных панелей определяется источником действий и типом основного реквизита формы. Если нажать кнопку Готово, то конструктор самостоятельно разместит элементы управления в форме и откроет форму для редактирования. Для нестандартного размещения основных элементов управления мер, не нужно размещать щ некоторые элементы или требуется отличный от стандартного вид ставления) нажмите кнопку Далее >. Состав реквизитов ся выбором типа формы. Для типа формы ма документа состав реквизитов состоит из реквизитов шапки и личной части. На этом шаге ра формы следует выбрать реквизиты, которые обходимо разместить ш в— а и Располагать элементы управления в HJCl колонку^] Реквизиты I С Е •* Номер -tgflara r-Q Проведен "LJ Пометка удаления i-j5j Контрагент г-0 Склад -0 Сумме док ч/ Состав >/ Номер строки енклатдоа *f Количество u[v5 Цена -{j/j Сумма •* Доп. расходы ч/ Номер строки ДопРасхода |—1«/| Счмма !SfliHtttfftr«&^7ESfi^^&1^^' *Ю Поле ввода дъЗ Попе ввода дъЗ Поле ввода Ты) Поле ввода дъЗ Поле ввода Ты) Лоле ввояа *Ю Поле ввода [Щ Табличное поле аЩ Поле ввода Ты) Поле ввода *Ю Поле ввода дъЗ Поле ввода [Л| Табличное поле |» ПМ Поле выбора Т Надпись иляпншв* "'<ti'ag^~J Далее [, I^ffffilj [ZZSS^^Tl I Спрайт" j_i ишшч i i
2-662 1С:Предприятие 8.1. Конфигурирование и администрирование в форме. Выбор осуществляется в колонке Реквизиты установкой пометки слева от наименования элемента. Тип представления выбирается в колонке Элементы формы для каждого реквизита. Важно! Конструктор формы не включает в список те реквизиты, чей тип не имеет визуального представления (например, Хранилище значений). Укажите вид представления основных элементов управления (надпись, ле ввода, флажок и др.). В дальнейшем можно изменить состав реквизитов с помощью окна Размещение данных. Для вызова окна выберите пункт ма - Размещение данных главного меню. Подробное описание работы с окном см. ниже на стр. 2-683. В приведенном примере в состав реквизитов вошел реквизит Учет латуры. Это табличное поле для учета данных по движению регистра ления Учет номенклатуры, указанному на закладке Движения окна вания объекта В реквизите Располагать элементы управления в ... колонку(и) указывается число колонок, емых в форме элементов. Нажмите кнопку Готово. Если установлен флажок Открыть форму для тирования, то на экран выводится созданная форма, которую можно вать (вставлять элементы управления, настраивать их поведение и т. д.). После работы ра формможно продолжить работу с формой. мер, разместить в ней щвяшвшт. 1 Основные | Данные Нумерация > Движения Пэсма'мтьтом Журналы Формы Макеты Подсистемы Ввод на основании Права Интерфейсы Прочее Проведение [Разрешить [Ў) Зперативмое проведение. (Разрешить [*] EJ-j§jjJ Регистры сведений 1 HZHfel МаркетимгЦен В ¦ Регистры накопления it) Продажи ОИ СтоимостнойУчетНоменклатуры |i$f Конструктордвижений \ 'Назад. | \ Деяее> \ \ Закрыть \ \ Справка шшшшшщшищщ ШМттШШтттттяШттт 1 Номер; | | Цагк) Контрагент F^ Склад. | По счету: ] Сумма: Г 1 "UM ' 1-1*1 W-I ода S^»%P.t » '(DQ In U- Номенкяатчоа Количество Цена "' 1 ¦ ¦•¦¦'—' v-ьч dial's G) РГ Ном» записи (Активность г W .. —J „-.Л . OK j ( Загнет» 11 Закрыть j | Диалог ' Модуль J g Реквизиты " :Н Лепмоп 1 rJ
Глава 18. Инструменты конфигурирования 2-663 новые страницы, дополнительные элементы управления, изменить жение элементов относительно друг друга, распределить их по страницам и т. д. В результате получаем форму документа РасходнаяНакладная. Документ] Движения! Номер | По счета. 1 K<Wрагент | Склад _]Дата 1_ Ш Р«мя | | ^ф^ П ровед |.4х|Типцен;| |-(х] |.:.Н Оргениэа ( им |1Ш Полеевода> ¦пн Ш Пол Щ Поле в Ш Полеввэда> Ш |Итого »— ч 1 |. Печать <j ^3 °К Записать ] Правеем f Закрыть Документ | Движения | 1 ¦ь \Ш \Ш ве. | (Номвнюнтчм [Склад [Количество | П ввод | П |ЕИ П е 1 1 "Г | Печать - ?3 ОК Записать Провести Закрыть Особенности конструктора форм констант При создании формы констант на втором шаге конструктора в окне выводится список констант, которые могут быть размещены в форме. Если какие- либо константы не отметить, то в форме не будут сформированы элементы управления, соответствующие неотмеченным константам. Если выбрать пункт Форма - Размещение данных, то окно будет содержать только те константы, которые были отмечены в конструкторе. Изменить состав можно также в свойстве Состав. Свойство формы Состав (в палитре свойств присутствует только для формы констант) в этом случае становится доступным. Если требуется включить в форму все константы, достаточно установить свойство Использовать все константы. При установленном свойстве в форме могут использоваться все константы, определенные в конфигурации. Для их размещения используйте окно Размещение данных. В случае удаления константы она автоматически удаляется из свойства Состав. Особенности конструктора форм для иерархических справочников При создании формы списка иерархического справочника конструктор формы на втором шаге предлагает для размещения в форме дерево и список. Если для справочника выбран вид иерархии Иерархия групп и элементов, то конструктор позволяет разместить дерево и список. Если для справочника выбран вид иерархии Иерархия элементов, ю конструктор позволяет разместить или дерево, или список.
2-664 1С:Предприятие 8.1. Конфигурирование и администрирование Конструктор макета Конструктор макета используется для создания макетов объектов рации и общих макетов. Окно конструктора выводится на экран при выполнении пункта Дейст- ЕДИНИВ л. g ~a Имя: Синоним Комментарий: - ¦Выберктетип макете:—— ' ® Табличныйдокумвнг О Текстовыйдокумент 0 Двоичные данные О Active document О НТМ1.докаменг О Географическая схема О Графическая схема О Схема компоновки данных О Макет оформления компоновки данных вия - Добавить, если выбрана ветвь подчиненного объекта Макеты или Общие макеты. Укажите имя, синоним и комментарий и выберите тип макета. Тип макета Табличный документ предполагает пользование стандартной технологии созданияиисполь- зования макетов табличных документов системы 1С:Пред- приятие8.1. ТипмакетаТекстовыйдокумент предполагает ние специально подготовленных в качестве макетов текстовых документов. Для текстового документа свойство Расширение имеет значение Текстовый макет. Выбор типа Двоичные данные подразумевает, что разработчик ции знает, как работать с объектом данного типа. Тип макета Active document позволяет использовать технологию OLE tive document. Если нажать кнопку Готово, то конструктор производит поиск доступных типов Active ШЯШШШШШШШШШШШШШШШШШШ Загрузить из Файла: т р„^.ГЩЖ.Ц11 OrMBHaTj | и Сфаша^] Object bipe ^J* CreateJJew *™ Create from ?fe Result —* I MspAbClass Image Document Диаграмма М Excel Документ Microsoft ord Лист Microsoft E Презентация Microsoft PowerPoint Г J document и предлагает выбрать один из найденных. Можно выбрать готовый Active document, служащий основой для создания макета (загрузить из файла прототип макета). Если выбран файл, чей тип не попадает в список ваемых Active document, то конструктор выводит предупреждение. Указанный документ будет храниться в конфигурации. Работа с макетом должна быть организована с использованием свойств и методов, ляемых выбранной технологической платформой. Insert a new Лист Microsoft E xcel ccject into уош document
Глава 18. Инструменты конфигурирования 2-665 Если выбран тип HTML-документ, то открывается редактор HTML-макета. В данном режиме поддерживаются все возможности HTML-редактора (см. книгу «1С:Предприятие 8.1. Руководство пользователя», приложение 3 «Редактор HTML-документа»). В дополнение к этому редактор HTML- макета позволяет использовать картинки библиотеки картинок, из файла, из файла-коллекции или из «внутренних» картинок. Внутренние картинки — это уже выбранные из файла картинки, они хранятся «внутри» макета. Для помещения картинки в макет выберите пункт Элементы - Картинка... JE-S Я Адрес: [Общий макет Макет2\Картинка Текст п В 5 рРавюломнмв Вы<аам««4* Толщина рамки: (Не задано) |»( °|:| № 31 Отмена | [ Справка^ Для выбора картинки нажмите кнопку выбора. В открывшемся окне те нужную картинку. м | Из библиотеки] Из Файла Подбориз Внутренние Из [ Стандартные АВС_АнализПродаж MSOutlook ^ OuMookExpress Щ TheBAT JJ3 Хт2_АнализПокупат... Щ Хг7_АнализПродаж Щ& Хт2_КлассиФикация. - JJ3 ДВС_АнализПокупат... 'gg Очистить Сохранить ОК Отмена Выбор типа Географическая схема позволяет использовать ные редактором географических схем (см. книгу «1С:Предприятие 8.1. Руководство пользователя», приложение 5 «Редактор географической схемы») документы для создания макета.
2-666 1 С:Предприятие 8.1. Конфигурирование и администрирование Выбор типа Графическая схема позволяет использовать графические схемы, подготовленные в редакторе графических схем (см. книгу «1С:Предпри- ятие 8.1. Руководство пользователя», приложение 4 «Редактор графической схемы»), или загрузить схему из файла и использовать ее в качестве макета. Выбор типа Схема компоновки данных открывает конструктор схемы новки данных (см. стр. 2-443). Выбор типа Макет оформления компоновки данных открывает окно тора макета оформления (см. стр. 2-501). Конструктор пользовательских интерфейсов При создании в список интерфейсов добавляется новая строка и ся палитра свойств этого интерфейса. Совет. Желательно задавать пользовательским интерфейсам смысловые названия, которые бы отражали должность или тер выполняемых функций того пользователя, для которого создается данный пользовательский интерфейс. Новый пользовательский интерфейс создается пустым - он не содержит меню и панелей инструментов. Для создания главного меню и панелей инструментов выберите ветвь фейсы и пункт Действия -Добавить. На экран выводится конструктор главного меню. Подменю Документы Отчеты g| Обработки $Щ Прочие Q ЬСервис Открыть список регистров с. - [j/j Номенклатура) Открыть спр.„. О Номенклатура: Ввести элем- : О Номенклатура: Ввести групп— V Единицы измерения: Открыт 0 Конкуренты Открыть справ- Валюты Открыть справочник ¦ О Валюты Ввести элемент спр— Склады: Открыть справочник 0 Контрагенты' Открыть справ- Q Контрагенты: Ввести элемен— Справка Иль подсистемам ¦ Конструктор содержит два списка: список подменю и список команд (кнопок) подменю. Первый содержит список подменю, создаваемых по умолчанию. Отметьте те строки списка, которые необходимо включить в состав главного меню. Для уточнения состава команд выберите подменю и в списке команд отметьте те команды, которые следует включить в этом подменю. Например, для подменю Справочники будут показаны команды для работы с ми в конфигурации справочниками.
Глава 18. Инструменты конфигурирования 2-667 Чтобы расположить кнопки и команды меню в нужном порядке, те кнопки Переместить ваерх и Переместить вниз. По умолчанию списки подменю и команд формируются по всем мам конфигурации (подробнее о подсистемах см. параграф «Подсистемы» на стр. 1-82). Если в конфигурации определено несколько подсистем и создаваемый интерфейс предназначен для определенного вида ти, то с помощью выбора подсистем можно легко сформировать нужные подменю и команды, относящиеся к этой деятельности. Для этого нажмите кнопку По подсистемам и укажите те подсистемы, которые относятся к создаваемому интерфейсу. шттттшт ДемонстрационнаяКонФигурация -? ТорговыйУчет ~Й Маркетинг | D-Q РасчетЗэрплаты t-Q ЗарплэтаСотруцнжов LQ ЗарплэтаРаботников -(""] БукгалтерскийУчет *—1~~| УправленческийУчет В ключать объекты подчиненных подсистем ? Включать объекты родительских подсистем Е? | У еновмгь ] | Отключить j | Отмена j | Справка j Допускается указание ких подсистем. Если выбранная подсистема имеет подчиненные подсистемы, то для включения всех объектов данной подсистемы точно установить флажок у этой ветви и флажок реквизита окна Включать объекты подчиненных подсистем. Если указываемая подсистема не верхнего уровня, то для включения ектов, относящихся к подсистемам верхних уровней, установите флажок Включать объекты родительских подсистем. Например (см. рисунок выше), следует выбрать все объекты подсистемы Маркетинг и общие объекты, сящиеся ко всей конфигурации, но без объектов подсистемы ТорговыйУчет. Выберите подсистему Маркетинг и установите флажок реквизита окна чать объекты родительских подсистем, как показано на рисунке выше. Для выбранной подсистемы конструктор меню включит в списки подменю и команд только те объекты, которые имеют отношение к указанной ме, и позволит разработчику вручную произвести коррекцию этих списков. Для построения главного меню нажмите ку Построить. На экран ся окно редактора интерфейсов. т При создании нового фейса программа создает панель Главное меню. В адЕдащдиш т Добавить панель У_далить панель | f Список панелей интерфейса; * * Файл Операции Окна Справка Справочники Документы Отчеты Обработки Прочие <Новая> Сервис Номенклатура Единицы измерения Конкуренты Валюты Склады ¦м
2-668 1С:Предприятие 8.1. Конфигурирование и администрирование окне редактора панели создаются системные и пользовательские подменю. Системные подменю отмечены подчеркиванием. Окно состоит из панели инструментов, списка панелей созданного интерфейса (при создании нового интерфейса содержит только главное меню) и ра панели. Для каждого объекта типа Интерфейс можно создать только одно главное меню и неограниченное количество панелей инструментов. С точки зрения редактора интерфейсов действия по редактированию го меню и панели инструментов очень схожие. Поэтому в дальнейшем в данном параграфе будем называть меню и панели инструментов ном «панель». Если в контексте описания может возникнуть двусмысленное понимание, то будет использоваться точный термин. Некоторые различия понятий «меню» и «панели инструментов» будут описаны особо. Новые пользовательские интерфейсы можно создавать путем ния существующих интерфейсов, как внутри текущей конфигурации, так и между конфигурациями. Для копирования используются возможности буфера обмена. Имя скопированного интерфейса должно быть но с целью соблюдения уникальности. В палитре свойств интерфейса есть свойство Переключаемый, с помощью которого производится настройка показа интерфейсов при нии (см. описание метода ПереключитьИнтерфейс() справки по встроенному языку). Если свойство установлено, то интерфейсом можно управлять; если нет, то данный интерфейс будет показываться всегда. Удаление пользовательского интерфейса осуществляется стандартным для объекта конфигурации образом. После удаления пользовательского интерфейса следует отредактировать свойства пользователей, которым был назначен удаленный ский интерфейс (указать для них другой пользовательский интерфейс). Свойства панели В списке панелей окна редактирования интерфейса для нужной панели откройте палитру свойств. Заголовок — в свойстве задается наименование панели. Тип - в свойстве задается тип панели (Меню или Панель инструментов). Заголовок главного меню не редактируется. Расположение — в свойстве задается место панели в окне программы. Панель .можно расположить вверху, внизу, справа и слева. Пользовательский интерфейс может содержать несколько панелей. Они могут располагаться последовательно в одной строке или начинаться с новой строки.
Глава 18. Инструменты конфигурирования 2-669 С новой строки - установите свойство, если данная панель должна лагаться с новой строки. Если свойство не установлено, то панель будет расположена справа от предыдущей. Данное свойство определяет ложение панели при первом открытии. В дальнейшем пользователь может изменить расположение панели. Показывать - если свойство установлено, то при запуске программы данная панель будет показываться. Редактор интерфейсов Для редактирования интерфейса выберите в дереве объектов ции нужный интерфейс и в палитре свойств свойства Интерфейс щелкните ссылку Открыть. Для каждого пользовательского интерфейса можно создать несколько панелей инструментов. Для создания новой панели инструментов в меню редактора интерфейсов выберите пункт Добавить панель. В список панелей добавляется панель, имеющая тип Панель инструментов. Редактирование панели производится в редакторе панели редактора фейсов. Структура меню и панели инструментов Меню и панели инструментов имеют древовидную структуру. На первом уровне находятся основные подменю. Как правило, названия подменю первого уровня обозначают основные функциональные блоки задачи. На последующих уровнях могут располагаться элементы трех типов: Действие, Подменю и Разделитель. Элемент Действие непосредственно связан с выполнением каких-либо действий. Элемент Подменю служит для дополнительной группировки команд и ню. Выбор подменю непосредственного выполнения каких-либо операций не вызывает, а только открывает список, который, в свою очередь, также может состоять из команд, подменю и разделителей. При выборе подменю (щелкнуть мышью наименование) открывается список вложенных подменю. Названия команд и подменю, которые появляются в меню при его работе, также называют пунктами меню. В панели инструментов команду называют кнопкой панели инструментов. Элемент Разделитель никакой функциональной нагрузки не несет и служит только для визуальной группировки логически связанных пунктов меню или
2-670 1 С:Предприятие 8.1. Конфигурирование и администрирование кнопок панели инструментов. В работающем меню разделитель выглядит как горизонтальная или вертикальная черта между двумя пунктами меню. Для панели инструментов обычно все команды располагаются на первом уровне и отображаются картинкой. Допускается использование текстовых команд и подменю (например, Действия). Главное меню может содержать стандартные подменю (например, Файл, Помощь, Сервис и т. д.). Такие подменю имеют ряд особенностей. В торе панели стандартные подменю имеют подчеркнутое наименование. Эти подменю предназначены для выполнения стандартных действий, например, открытие и сохранение файлов, настройки печати и проч. В стандартных подменю можно расположить пользовательские команды и подменю. При выборе стандартного подменю показывается список подменю, который первоначально состоит их трех строк, разделенных разделителями. Верхняя и нижняя строки имеют наименование Стандартные действия... Они не выбираются и не редактируются. В них программа автоматически ет команды и подменю, связанные с выбранным подменю верхнего уровня. Добавление подменю в стандартном подменю производится в строке <Новая>. Создание нового подменю Список подменю панели пользовательского интерфейса может быть изменен. Можно добавить новые или удалить ненужные подменю, изменить названия существующих. Для создания нового подменю выберите: для главного меню - подменю <Новая>, для панели инструментов - кнопку -..-.О- В свойстве Тип укажите тип (Действие - для команды, Подменю или Разделитель). Если выбран самый верхний уровень, то в зависимости от типа панели ню или панель инструментов) будет указан следующий тип по умолчанию: Тип панели Меню Панель инструментов Уровень .Верхний Другой Любой Тип по умолчанию Подменю Действие Действие При выборе типа подменю Действие в свойстве Действие ся конкретное действие с объектом конфигурации. Для этого в свойстве Действие щелкните мышью кнопку выбора •••. На экране открывается окно Выбор действия. Окно имеет три закладки: действия над объектами гурации, по запуску процедур модуля приложения и общих модулей или
Глава 18. Инструменты конфигурирования 2-671 стандартные действия общего назначения. Жирным шрифтом ся выбранные действия (объекты, процедуры). На закладке Конфигурация выбирается вид действия, выполняемого над объектом конфигурации. Кдшмгващм | Модуги Майе Объект метаданных: Действие: ft Нивнииицца ft Оборудование Объекты^ в **f я .ткызсАктвов ft Организации •ft Осня—Ощ— -ft Цлч«:1^я«дмИРасаиды ft РаоюлыНаНИОКР Сотрудники ft СтатшРвстшм ft Субконто ежеееэ ft РегпаментгфоважыеОтчеты Открыть справочник Типовые операции Ввести элемент Офавочника Типовые операнда ?перации ыеоперэцда | | ОК Г~Ш^р" j| dpawa" Например, Открыть справочник, Ваести элемент, открыть общую форму и т. д. В качестве действий можно также выбрать открытие общей формы. На закладке Модули выбирается процедура, расположенная в модуле жения или общих модулях, как глобальных, так и неглобальных. Конфигурация) Мтули | Общие Процадчра ПериодическийЗапускРоботаНаПроведвние ПроцедураРобота ЛолучитьТ аблицуКодировок ПолучитьСписокКодировок ПолучитьДоступныеУчетмыеЗаписи Медчда: ЛМЬ* ¦fSMfrt."--'--'^. ОбщийГлобаяьныйМсдуль Роботы ЭлектроннаяПочта Э лектронмаяПочта ЭлектроннаяПочта 1ЕЕ&шйащщщ1ввшшш?В&ЗЩШ Н ОпределигьСчетаУчетаПроизводственныхРасх. УказаниеПроектовВТабличнойЧастиДокуменг... Сформировать! аблицуЗэтрат ЗаполнтъДамныаПоУмолчаниюДляКокт'актно. ОттфШьС™тсокК.онтактнькПмц,Кон;рагетов УчетНДС УправлениеПроизводством УлравлемиеПроизеояством УправлениеОтношениямиСПост УправяеииеОтмошениямйСПост С Справка *ЧЧ9*шрим»»**РИ«-«^«РРКМ^Р«ЩЧ*ЧР" В список процедур включаются только внешние (имеют в заголовке дуры описание Экспорт), не имеющие формальных параметров. Обращение к процедуре или функции производится через имя общего модуля, мер, УчетНДС.ОпределитьСчетаУчетаКосвенныхРасходов, где УчетНДС - имя неглобальиого модуля, а ОпределитьСчетаУчетаКосвенныхРасходов - ция этого модуля.
2-672 1С:Предприятие 8.1. Конфигурирование и администрирование На закладке Общие выбирается стандартное действие, например: ние и печать документа, завершение работы программы и т. д. . Конфигурация Модули I Общие | Действие Вертикально разделит Закрыть Закрыть все Расположить подряд Расположить горизонт... Расположить вертикал.» (Список, окон) ЧЦ^Окна- Щ1| Служебные сообщения Панель состояния Панель окон ? Справка Содержание справки Индекс справки ЁЬ 0 программе... Пояснение j& Разбить окно на панели вертикальной линией 1 1 Закрыть окно Закрыть все окна Расположение окон каскадом Расположение окон в виде горизонтальной не пере. Расположение окон в веде вертикальной, не перек. 1 | Управление открытыми окнами Открыть окно служебным сообщений Показать/спрятать панель состояния Tj Показать/спрягать панель окон П Открыть справку И г Вызвать содержание справки Вызвать индекс справки Щ 1 Показать информацию о программе ^ | ОК || Отмена 11 Справка | Для выбора действия укажите его в окне и нажмите кнопку ОК. Если при выборе типа подменю выбрать разделитель, то он сразу ся в панель. Для разделителя не существует дополнительных свойств. Если выбран не разделитель, то палитра свойств содержит следующие свойства: • В свойстве Текст указывается наименование подменю. Для ния горячей клавиши перед любым символом текста можно ввести символ &. Горячая клавиша показывается в панели подчеркиванием и может быть только одна. • В свойстве Подсказка введите краткое пояснение, которое будет ваться в виде ярлыка при подведении указателя мыши (только для команд панели инструментов). • В свойстве Пояснение введите пояснительный текст, который будет показываться в панели состояния. • Для кнопок панели инструментов и команд меню можно выбрать картинку и способ отображения текста и картинки. Картинка указывается в свойстве Картинка и выбирается из библиотеки картинок (стандартные картинки или содержащиеся в конфигурации), из отдельного файла или файла-коллекции картинок. • В свойстве Отображение укажите, как будет показан пункт меню (в виде надписи, картинки или надписи и картинки одновременно). Если выбран способ Авто, то для подменю будет показан текст, для пункта меню - и текст, и картинка, а для кнопки панели тов — только картинка.
Глава 18. Инструменты конфигурирования 2-673 • Для быстрого вызова укажите сочетание клавиш. Для этого установите курсор в свойстве Сочетание клавиш и нажмите нужную комбинацию клавиш (допускается использование комбинаций клавиш). • Для пунктов подменю можно установить упорядочивание по ванию текста. Для этого выберите нужное подменю, пункты которого требуется отсортировать, и в свойстве Порядок кнопок выберите порядок сортировки. Упорядочивание пунктов подменю производится в лах разделителей. Перемещение и копирование подменю Созданные подменю можно копировать и перемещать как внутри одной панели, так и между панелями и между интерфейсами, а также между конфигурациями. Перемещение и копирование выполняются с использоват нием стандартных приемов перемещения и копирования. Расположение и показ панелей Расположение панели на экране, а также порядок следования нескольких панелей пользовательского интерфейса можно настроить. - Откройте пользовательский интерфейс, в редакторе панели те нужную панель. Откройте палитру свойств. В свойстве Расположение задается место панели в окне программы. Панель можно расположить вверху, внизу, справа и слева. Пользовательский интерфейс может содержать несколько панелей. Панель Главное меню всегда располагается с новой строки. Для остальных можно настроить относительное расположение строк панелей. Для этого выберите панель в списке панелей и установите свойство С новой строки, если данная панель должна располагаться с новой строки. Если свойство не но, то панель будет расположена справа от предыдущей. Если свойство Показывать установлено, то при первом запуске программы при выборе этого пользовательского интерфейса данная панель будет показы- паться. Если пользователь в процессе работы уберет панель с экрана, то этот пыбор запоминается и в следующем сеансе панель показана не будет. 1?сли свойство Показывать не установлено, то панель при первом запуске программы не показывается. Если пользователь в процессе работы устано- liiiT показ панели, то в следующем сеансе панель также будет показана. Конструктор форматной строки Для написания выражений, использующих представление числа, даты и логического выражения, можно использовать конструктор форматной II роки. I I
нчншпч 2-674 1С:Предприятие 8.1. Конфигурирование и администрирование Для вызова конструктора установите курсор в требуемое место текста модуля и выберите пункт Текст - Конструктор форматной строки. Для новой строки редактор выводит сообщение: Форматная строка не найдена. Создать новую форматную строку? После нажатия на кнопку Да на экран выводится окно конструктора. Описание работы с конструктором см. на стр. 1-212. В результате использования конструктора форматной строки в текст будет вставлена сформированная строка. Для исправления имеющейся форматной строки установите курсор внутри форматной строки и выберите пункт Текст-Конструктор форматной строки. Конструктор строк на разных языках Конструктор позволяет отредактировать строки на всех языках ции и дополнительно тех, чьи коды содержатся в редактируемом наборе, однако конфигурация не содержит языков с таким кодом. Результатом работы конструктора будет строка вида: <код_языка1> = <Строка_1>; <код_языка2> = <Строка_2>;... Конструктор удобно использовать при создании параметра Исходная строка функции глобального контекста НСтр(). Для вызова конструктора установите курсор в нужное место модуля и выберите пункт Текст - Конструктор строк на разных языках. Редактор анализирует текст модуля в области курсора и, когда найдена конструкция, открывает окно конструктора. Если конструкция не найдена, то конструктор сообщает об этом. В окне конструктора будет столько полей для ввода текста, сколько языков определено для конфигурации. ¦щиищриииррг -——-—" ! ж Руссами Добрый вечер1 Г—-йг-1 ) Отмена j йнгсийозай Good Evening! Введите тексты и нажмите кнопку ОК. Результатом работы конструктора будет строка: ш = 'Добрый вечер!'; en = 'Good Evening!'
Глава 18. Инструменты конфигурирования 2-675 Редактор форм Редактирование формы Большинство видов объектов конфигурации имеют формы, с помощью которых производится ввод данных, ее просмотр и выбор, а также ные управляющие действия (например, построение отчетов). Для редактирования формы выберите конкретный объект конфигурации, в списке форм укажите нужную форму и в палитре свойств в свойстве Форма нажмите ссылку Открыть. Любая формасостоитизосновнойпанелииэлементовуправления,размещенных на этой панели при создании формы. В форму можно вставлять другие панели, в которых также можно располагать другие элементы управления. Элементы управления можно также вставлять в элементы Поле табличного документа и Табличное поле. Признаком размещения элемента управления является его перемещение вместе с элементом, в который он вставлен. Независимо от того, в каком элементе будет расположен элемент, он будет принадлежать форме. Поэтому обращение к этому элементу из модуля формы также не зависит от места его размещения (например: ЭлементыФормы.Спстсок.ТекущаяСтрока, где Список - имя элемента управления типа ТабличноеПоле, а ТекущаяСтрока - свойство объекта типа ТабличноеПоле, с помощью которого осуществляется доступ к текущей строке табличного поля). Процесс редактирования формы заключается в выборе размеров, числа страниц и свойств формы, а также в размещении в форме элементов ления различных типов, редактировании их свойств и настройке поведения элементов при изменении размеров формы. Вставка в форму элементов управления описана на стр. 2-680. Для редактирования окна формы вы можете использовать мышь или клавиатуру. При появлении редактируемой формы на экране становятся доступными кнопки панели инструментов Редактор форм. Установка правил поведения формы производится с помощью палитры свойств (см. стр. 1-52). Описание свойств формы см. на стр. 1-177. Страницы формы Расположение закладок по границам формы и стиль написания заголовков страниц влияют на восприятие формы, придают форме собственный мый стиль, делают доступ к данным простым и понятным, а также позволяют разместить большой объем информации на ограниченной площади. Например, если закладки содержат картинки или редко читаемый текст, то их можно разместить вертикально справа (европейский стиль), как алфавит в записной книжке, - в результате можно сэкономить немного места.
2-676 1С:Предприятие 8.1. Конфигурирование и администрирование Расположение закладок снизу, скорее всего, будет к месту, если наиболее важные данные размещены на первой странице, а данные других страниц бывают редко востребованы. В этом случае внимание пользователя не будет отвлекаться чтением заголовков закладок (подсознательно просмотр осуществляется слева направо сверху вниз). В некоторых случаях используют вложенные панели. При этом на странице формы располагается основной текст, остающийся неизменным (например, наименование, кнопки), а на вложенной панели располагается информация, которая может листаться с помощью закладок вложенной панели. ние вертикальных и горизонтальных основных закладок и закладок во вложенных панелях поможет визуально их отделять друг от друга. нием закладок можно управлять из модуля с помощью методов встроенного языка. При создании новой формы в ней создается главная панель, которая ит из одной страницы. Если данных в создаваемой форме достаточно много, чтобы разместить их на одной странице, или нужно подчеркнуть зависимость параметров, их принадлежность к определенной логической группе, то в таких случаях в форму можно добавить новые страницы и на них расположить элементы управления. Для добавления страницы выберите в контекстном меню формы пункт Добавить страницу. Каждая страница может иметь закладку, щелкнув которую получают доступ к элементам управления, расположенным на этой странице. Закладка может иметь заголовок и картинку. Эти свойства задаются в палитре свойств, в категории Текущая страница. Свойства можно не указывать (они могут быть заданы средствами встроенного языка), но для управления параметрами страницы, а также для облегчения процесса сравнения конфигураций (см. главу 18 параграф «Сравнение и объединение конфигураций») хотя бы один из них рекомендуется указать. Расположением закладок и стилем их написания можно управлять (текст заголовка закладки может располагаться как горизонтально, так и кально, в заголовок можно добавить картинку или использовать только картинку и т. д.). Расположение закладок определяется в палитре свойств формы, в тве Отображение закладки категории Использование. Возможные варианты выбора: • Не отображать; • Сверху; • Сверху (с прокруткой); • Сверху (в несколько строк);
Глава 18. Инструменты конфигурирования 2-677 • Сверху (в несколько строк с перестановкой); • Снизу; • Снизу (с прокруткой); • Снизу (в несколько строк); • Снизу (в несколько строк с перестановкой); • Слева (вертикально); • Слева (горизонтально); • Справа (вертикально); • Справа (горизонтально). Если выбрано значение Не отображать, то закладки не показьшаются (выбор нужной страницы будет осуществляться средствами встроенного языка или с помощью контекстного меню). В этом режиме заголовок страницы вается в центре формы. Порядком следования страниц также можно управлять. Для этого укажите нужную страницу и в контекстном меню формы выберите пункт Сдвинуть вперед или Сдвинуть назад. Выбранная страница будет передвинута в ветствии с выбранной командой. Ненужные страницы формы можно удалить. Для этого укажите страницу и в контекстном меню формы выберите пункт Удалить страницу. Для переноса элементов управления в одной страницы панели на другую: • выделите переносимые элементы; • с помощью мыши начните перетаскивание на требуемую закладку (после небольшой паузы страница откроется); • переместите элементы в нужное место страницы; • отпустите кнопку мыши. Перенос также возможен с помощью буфера обмена. Режим прокручиваемых страниц Если у формы есть несколько страниц, то обычно содержимое страниц просматривают, щелкая мышью закладки. Для просмотра можно также использовать режим прокручиваемых страниц. Для этого установите тво формы Режим прокручиваемых страниц. Закладки в этом режиме не показьшаются, а содержимое страниц размещается последовательно. Вначале следует заголовок страницы, а слева от заголовка располагаются элементы управления просмотром страницы (кнопки перехода по цам и свертки).
2-678 1С:Предприятие 8.1. Конфигурирование и администрирование В форме показываются только те элементы управления, которые ются в видимую часть формы. Для просмотра других элементов управления следует использовать вертикальную линейку прокрутки. Щелчок мыши по кнопке перехода » или « приводит к переходу к щей или предыдущей странице. Кнопка свертки сворачивает страницу или разворачивает, т- - означает, что страница показывается. При нажатии на кнопку страница сворачивается, а сама кнопка принимает вид >. Повторное нажатие на кнопку ет страницу. При двойном щелчке мышью в наименование страницы страница вается, если до этого она бьша свернута, и сворачивается, если бьша показана. Элементы управления Рекомендации по оформлению Чтобы формой было удобно пользоваться, она должна содержать нужные элементы управления, расположенные в определенном месте формы. Размещение элементов управления должно выполняться осознанно. Строго формализовать правила размещения невозможно, но некоторых ций стоит придерживаться. Размещение элементов управления должно быть таким, чтобы информацию можно было легко читать и вводить. Элементы управления должны быть объединены в логические группы по смысловому содержанию. Порядок следования элементов должен соответствовать естественному порядку следования исходных данных. Выравнивание границ элементов и их размеров, а также установка наковых вертикальных промежутков между ними воспринимаются как принадлежность элементов к одной группе. Если в форме присутствует несколько групп элементов, то каждую группу желательно выделить пример, поместить в рамку, расположить в другой колонке или строке, сделать большой промежуток, установить текстовые или графические делители). Если создаваемая форма является виртуальным эквивалентом реального документа, то желательно располагать элементы управления в соответствии со структурой исходного документа. Целесообразно выделить рабочую зону, в которой производится ввод данных, и служебные объекты для управления формой (обычно ются командные панели).
Глава 18. Инструменты конфигурирования 2-679 Кнопки в форме должны быть единого размера (желательно во всех формах конфигурации использовать единые размеры кнопок). но использование больших кнопок (они не воспринимаются как кнопки). Кнопки следует располагать в определенных местах и последовательности (в зависимости от вида формы). Наименования кнопок должны маться однозначно. Использование картинок должно быть единообразным в различных формах и соответствовать смыслу действия, выполняемого при нажатии кнопки. Использование акселераторов и «горячих клавиш» также должно быть стандартизовано для различных форм. При создании надписей желательно использовать одинаковые шрифты. Использование другого шрифта является дополнительным средством привлечения внимания (например, заголовок группы элементов ния). Надписи, относящиеся к элементам одной группы, также желательно выравнивать, чтобы поставить им в соответствие элементы управления, которые эти надписи описывают. Каждое поле ввода должно иметь описание. Обход элементов управления должен быть в естественнем порядке - слева направо, сверху вниз. Поведение элементов управления при изменении размеров формы также является важной характеристикой удобства пользования формой. Редактор форм позволяет размещать в форме различные элементы ления, распределять их по страницам, задавать их размеры и выравнивать границы, определять механизм поведения в зависимости от различных действий пользователя (например, изменение размеров формы, выбора закладки, выбора режима) и т. д. Для облегчения размещения элементов управления редактор форм ставляет различные сервисные средства. Это использование разметочной сетки, выравнивающих линий, механизма специальных маркеров, ма привязки элементов к границам формы, а также выполнение различных действий (выравнивание, распределение в форме, установка размеров и т. д.) над группой элементов. В качестве дополнительных возможностей можно использовать альное оформление элементов управления. С помощью свойств категории Оформление производится настройка цвета текста и фона поля, шрифта текста; выбирается вид и цвет рамки, использование картинки, подсказки и другие приемы оформления. Состав свойств зависит от типа элемента управления.
2-680 Ю.Предприятие 8.1. Конфигурирование и администрирование Вставка элементов управления в форму Для создания всего многообразия форм используются элементы управления различных типов. Для вставки в форму элементов управления выберите пункт Форма - Вставить элемент управления. На экран выводится конструктор вставки элемента. Т Надпись Табпр*ювпапв Поле ввода 0 Фтажж ® Перекпочатепь [""""Попеогпсха Поле выбора [_ Рамка группы Командная панель Поле картинки И Панель J» Раздегитепь г г Попе тэб/мчнопэ документа \ Поле текстового документа V Геофа4мческая схема j Попе графической схемы _Л Полоса регулирования Индикатор- Попе календаря ?«*} Вы&Ърлериода Попе HTML документа || диаграмма Н Дгаграмма Гвнта Щ Сводная диаграмма И Дзндрограмма Гегжэгагтштычмпогоаан [Центрировать Сочетание клавиш \ _^^ Ог&данадаумотам" ВСоздать процедуру Зодскзака- ?Мсшпьввватьпри t. Pit ~)[ Отмена- Справка 'J'UI ШШРШЛПу Окно состоит из ка элементов управления и реквизитов для ввода значений свойств ляемого элемента. Список содержит перечень типов элементов управления и конструкций элементов, которые могут быть мещены в форме. Состав свойств определяется пом элемента управления. Значения свойств можно в дальнейшем изменить в палитре свойств. Для размещаемого та управления можно указать имя, синоним и комментарий. Если они не заданы, то конструк^ тор назначает их самостоятельно. При задании имени нужно исходить из| общего правила формирования имен и уникальности имени в пределах] используемого контекста Проверка уникальности выполняется при обнов*-! пении конфигурации базы данных и при подготовке поставки. Помимо основных свойств практически для всех элементов управления! можно указать ряд сопутствующих характеристик. Так, для кнопки можно! указать необходимость создания процедуры-обработчика нажатия кнопки. I К категории конструкции элементов относятся такие элементы, как полеч ввода, поле выбора, поле списка. Их размещение производится с размещение ем элемента Надпись. При этом элементы управления Надпись вставляются с именем Надпись<ИмяПоляВвода>. Для размещения в форме конструкции, предназначенной для указания перио| да, конструктор предоставляет конструкцию Выбор периода. Она состоит из двух элементов типа Надпись, двух элементов типа Поле ввода и кнопки! для которой устанавливается процедура-обработчик нажатия ВыбПериодНа^ жатие(), в которой производится установка периода.
Глава 18. Инструменты конфигурирования 2-681 Для элемента управления Картинка, если в диалоге конструктора вставки выбрано изображение и режим растяжения Реальный размер, конструктор вставляет элемент управления размером с изображение (с учетом рамки). Все картинки, поддерживающие прозрачность, вставляются прозрачными, если имеется фоновая картинка. Для элемента управления Переключатель конструктор предоставляет возможность создать столько элементов управления, сколько требуется для размещаемой группы. Если установить флажок Использовать при вставке, то при обычной вставке элемента управления (с помощью кнопок панели инструментов Элементы управления) будет вызываться конструктор настройки параметров ного элемента управления. Он содержит только поля, необходимые для настройки выбранного элемента управления. Для размещения укажите нужный элемент, введите значения свойств и нажмите кнопку ОК. Размещение элемента в форме производится тным способом. Каждый размещаемый элемент управления имеет прямоугольную форму с маркерами управления размерами в виде небольших квадратов п по углам прямоугольника и на серединах сторон. Точное позиционирование и задание размеров элемента производятся в палитре свойств, в категории Расположение. Перемещение и изменение размеров элементов управления производится стандартными для Microsoft Windows способами. Однако имеется ряд особенностей. Для изменения положения элемента управления с точностью до точки экрана или шага разметочной сетки (если установлено свойство нивать по сетке) можно использовать клавиши управления курсором. Для изменения размеров с точностью до точки или шага разметочной сетки (если установлено свойство Выравнивать по сетке) можно использовать клавиши управления курсором с нажатым Shift. О временном включении и отключении свойства Выравнивать по сетке при перемещении элемента управления см. параграф «Разметочная сетка» ниже. Если при перемещении элемента управления мышью нажать комбинацию клавиш Shift + Alt, то перемещение производится либо по горизонтали, либо по вертикали. Выбор направления определяется положением указателя мыши в данный момент времени. Для понимания механизма условно проведите луч под 45° между вертикальным и горизонтальным лучами перемещения. Этот луч разделит область на две части. В зависимости от того, в какой части
2-682 1 С:Предприятие 8.1. Конфигурирование и администрирование окажется указатель мыши, выбирается направление перемещения элемента управления. Настройка элемента управления (указание элементу правил поведения, оформления и других свойств) производится в палитре свойств элемента. При перемещении элементов управления следует иметь в виду, что элементы управления должны полностью располагаться в пределах формы. Вынести элемент за границы формы нельзя. Вставка элементов управления в поле табличного документа В поле табличного документа, который выступает как элемент управления формы (т. е. расположенный в форме), также можно размещать элементы управления. Вставка производится аналогично вставке элемента ния в форму (подробнее см. стр. 2-680). Копирование элементов управления Новые элементы управления можно вставить в форму путем копирования их из любой формы (в том числе и текущей) любой конфигурации. Для копирования выделите любым способом элемент управления или группу элементов, поместите их в буфер обмена, затем в текущей форме те вставку из буфера обмена. При этом вставленные элементы управления будут размещены в форме. Если имя вставленного элемента управления уникально, то оно не меняется. Если в форме уже есть элемент управления с таким именем, новому элементу будет присвоено новое имя. При копировании элемента управления или группы элементов с нием буфера обмена запоминаются также имена элементов, которые можно вставить в любой текст. Скопировать элемент управления или группу элементов можно также путем перетаскивания с нажатой клавишей Ctrl. Работа с реквизитами формы На закладке формы Реквизиты содержится список реквизитов и панель инструментов, с помощь которой можно создавать новые реквизиты, ровать имеющиеся и удалять ненужные. Если при создании формы не был выбран тип извольная форма, то один ЯИУ1ЯН1 SE В Ш Диалог Модуль ' g Реквизиты
Глава 18. Инструменты конфигурирования 2-683 из реквизитов является основным. Он определяет отличительное от типового поведение формы. Данные отличия описываются объектами, называемыми расширение формы. Его тип определяет возможный состав команд панели инструментов. Кроме того, в меню Действия с помощью пункта Перейти ся переход к элементу управления, расположенному в диалоге формы, соответствующему выбранному реквизиту. Использование режима «Размещение данных» Если в процессе разработки конфигурации для объекта конфигурации были добавлены реквизиты, то для их размещения в форму можно использовать пункт Форма - Размещение данных. На экран выводится окно, в котором следует в колонке Данные отметить нужные данные, а в колонке ты формы выбрать вид элемента управления, с помощью которого в форме будет представлен (размещен) данный реквизит. Состав элементов формы зависит |2 Н_ от типа данных. Например, для числа это может быть индикатор, флажок, полоса регулирования, поле ввода, переключатель, поле выбора, надпись. Для размещения данных нажмите кнопку ОК. Если флажок щать в диалоге автоматически не был установлен, то после закрытия окна указатель курсора примет вид +. Подведите его в нужное место формы и произведите вставку. Если флажок Размещать в диалоге автоматически был установлен, то после нажатия кнопки ОК указанные данные размещаются в окне автоматически. Если флажок Вставить надписи был установлен, то при размещении каждого реквизита будет дополнительно вставлена поясняющая надпись из свойства Синоним, а при его отсутствии - из свойства Имя. Важно! При размещении новых данных не снимайте пометки для данных, уже размещенных в форме, иначе соответствующие им ты управления будут удалены. Данные г0|Ков1 ИЗ] Наименование \~& Родитель Элементы формы |Щ Поле ввода Ш Поле ввода |Щ Поле ввода НИ Полное наименова. ЩЗ Поле ввода (—[>/} Единица, измер. Н*9 Страна происхожу 413 Картинка Ш Поле ввода Щ Поле ввода [Щ Поле ввода Q Вставить надписи D Разместить в диалоге автоматически | OK j | Отмена Помощь j
2-684 1 С:Предприятие 8.1. Конфигурирование и администрирование Сходные возможности предоставляет диалог размещения данных, мый из контекстного меню табличного поля. t/ Наименование О Рвдитель [j| ПометкаУдаления | 111редопределеиный Q ПояноеНаименование [j| ЕдиницаИзмерения Q СтранаПроискождения Q Картинка [j| ЗакупсчнаяЦена П ОсновнойПоставщнк 0 Услуга I. ок,,. "~'"*~ "^"^ *"* Щ *щ & 1 ¦ }[ Отмена )j Сгтраека j Отличительной особенностью данного диалога является возможность размещения реквизитов объекта, связанного с данным элементом ния, как колонок табличного поля. Разметочная сетка Стратегия выравнивания заключается в создании компактных форм, не требующих больших усилий по выравниванию элементов управления. Одним из простых приемов выравнивания элементов управления ся выравнивание границ и размеров элементов по разметочной сетке. Она представляет собой сетку из горизонтальных и вертикальных линий, тируясь на которые можно задавать точное положение элементов управления в окне формы и устанавливать их размеры. Вы можете управлять шагом разметочной сетки, включать и выключать привязку элементов формы к сетке, а также показывать сетку или прятать ее. При создании новой формы размер шага разметочной сетки (по умолчанию) устанавливается из настроек параметров конфигуратора (выберите пункт Сервис- Параметры, откройте закладку Форма). При перетаскивании элемента выравнивание всегда производится по му левому углу. Если размер элемента не был кратным шагу сетки, то при перетаскивании не производится изменение его размера. Управление разметочной сеткой производится в категории свойств формы Редактирование. Если для формы установлено свойство Выравнивать по сетке, разметка изображается точками, расположенными в местах пересечения линий разметки (можно использовать режим показа точек сетки в шахматном порядке).
Глава 18. Инструменты конфигурирования 2-685 Если свойство Выравнивать по сетке установлено, все располагаемые ты управления будут автоматически размещаться вдоль линий разметки. Размер вставляемых элементов также будет автоматически устанавливаться кратным шагу сетки. При изменении размера элемента (любым способом: указателем мыши или клавиатурой) изменяемая граница всегда размещается точно по разметочной сетке, несмотря на то, выровнена ли по разметочной сетке противоположная граница элемента управления или нет. Изменение размеров формы при установленном свойстве Выравнивать по сетке также производится кратно шагу сетки. При перетаскивании элемента управления мышью можно оперативно чать (если свойстве Выравнивать по сетке не установлено) или отключать (если свойстве Выравнивать по сетке установлено) выравнивание по точной сетке. Для этого нажмите клавишу Alt. Нажимать ее можно в любой момент времени как до начала, так и во время перетаскивания. Вы можете задать шаг сетки - размер ячеек сетки по горизонтали и ли. Для этого в свойствах формы Гор. шаг сетки или Верт. шаг сетки введите целое число от 1 до 99. Числа, задающие размер ячеек по горизонтали и тикали, могут быть разными. При выборе шага сетки нужно руководствоваться следующими ями: при маленьком шаге сложней производить выравнивание и требуется выполнить больше действий, а при большом остаются большие промежутки между элементами, что приводит к увеличению размеров формы. му для создания «типовых» форм рекомендуется устанавливать шаг сетки от 4 до 8. Выравнивание элементов управления Выравнивающие линии Выравнивающие линии - условные линии (видимые только при создании формы), которые служат для облегчения выравнивания и взаимного ложения элементов управления формы. Выравнивающие линии могут отсутствовать. Для установки режима зования выравнивающих линий в свойствах формы установите свойство Использовать выравнивающие линии. Если свойство установлено, то по умолчанию каждая страница формы содержит выравнивающие линии по периметру формы. Это краевые нивающие линии. Все элементы управления располагаются на странице в пределах, установленных этими линиями.
2-686 1С:Предприятие 8.1. Конфигурирование и администрирование Положение выравнивающих линий можно изменять с помощью мыши. На странице можно расположить дополнительные вертикальные и тальные выравнивающие линии и также осуществлять по ним привязку места расположения элементов управления. Для этого установите тель мыши в нужное место формы и в контекстном меню выберите пункт Добавить вертикальную выравнивающую линию или Добавить горизонтальную выравнивающую линию. Вставленную линию можно перемещать с помощью мыши. Перемещение допускается в пределах, определенных краевыми выравнивающими линиями, и выполняется так же, как и перемещение краевых выравнивающих линий. Положение линии при перемещении показывается в панели состояния. Выравнивающую линию можно копировать. Выполните те же действия, что и при перетаскивании, но с нажатой клавишей Ctrl. Для удаления выравнивающей линии подведите указатель мыши к линии (так, чтобы он принял вид «-> или I) и в контекстном меню выберите пункт Удалить выравнивающую линию. Если требуется удалить все выравнивающие линии, в контекстном меню формы выберите пункт Удалить все выравнивающие линии. В этом случае сбрасываются все дополнительные выравнивающие линии, а краевые линии устанавливаются по периметру формы с отступом. При этом если свойство Использовать выравнивающие линии установлено, то возможность прикрепления элементов управления к выравнивающим линиям (см. ниже) остается. Прикрепление выравнивающей линии к элементу управления При перемещении выравнивающей линии в момент ее приближения к це элемента управления линия «прикрепляется» к элементу (сдвигается скачком, а сама линия «промаргивает»), а при продолжении перемещения не сразу открепляется от границы элемента. Таким образом можно прикрепить все границы элемента. Прикрепление происходит также при перемещении элемента управления с помощью мыши. Прикрепленные элементы можно перемещать и менять их размеры с помощью выравнивающих линий. Для этого достаточно переместить нивающую линию в нужном направлении. При этом перемещаются или изменяют размер все прикрепленные к перемещаемой линии элементы. Если у элемента прикреплена только одна или две смежные границы, то при перемещении выравнивающей линии элемент перемещается. Если прикрепить две противоположные границы элемента управлений (двумя выравнивающими линиями), то при перемещении любой из этт линий размер элемента изменяется.
Глава 18. Инструменты конфигурирования 2-687 Невидимые выравнивающие линии Если свойство Использовать выравнивающие линии установлено, то тор форм устанавливает так называемые невидимые выравнивающие линии вдоль границ элемента управления (линии не видны при просмотре формы, но видны при перемещении элемента вдоль линий). Линии обладают твом прикрепления элементов. Назначение невидимой выравнивающей линии - облегчать размещение элементов управления, если требуется добавить элемент к уже ным и выровненным элементам. Когда граница перемещаемого с помощью мыши элемента управления достигает границы линии, линия «промаргивает». Если в этот момент тить элемент, он прикрепится к линии. Если выровнены два элемента управления, то невидимая выравнивающая линия действует при перемещении любого из этих элементов. Если в результате перемещения (перемещение закончено: захваченный мышью элемент управления отпущен) одного из двух выровненных тов управления выравнивание нарушается, то невидимая выравнивающая линия снимается. Если вставлять новый элемент управления (указатель мыши в виде го перекрестия) и, не отпуская левую кнопку мыши, менять его размеры, то при достижении линии выравнивания с другим элементом управления по любой из одноименных границ будет показываться выравнивающая линия {с «промаргиванием»). Если отпустить кнопку мыши в момент промаргива- иия, добавляемый элемент управления будет выровнен по границе другого элемента. Выравнивание элементов управления с помощью специальных маркеров Выравнивание можно производить по координатам расположения те управления в панели состояния, но можно воспользоваться механизмом специальных маркеров выравнивания. Это синие и красные маркеры, рпсполагающиеся рядом с угловыми маркерами элемента управления. Они «рпботают» только в ограниченной зоне действия, которая определяется кик зона в ±16 точек экрана (пикселей) от установленного элемента (от его ближайшей границы). 1'пссмотрим следующий пример: необходимо произвести выравнивание иеной границы двух элементов, расположенных один под другим. Укажи- IC (щелкните мышью) устанавливаемый элемент (например, нижний). Переместите его любым способом в место, расположенное под другим шементом. Если положения левых границ совпали, то специальный маркер
2-688 1С:Предприятие 8.1. Конфигурирование и администрирование не показывается. Если размещаемый элемент расположен не точно, то рядом с угловым маркером будет показан специальный маркер выравнивания в виде синего треугольника. Его угол ет направление желаемого смещения. Перемещайте элемент или границу элемента в указанном направлении, пока специальный маркер не пропадет. С помощью специальных маркеров красного цвета показывается наложение одного элемента авления на другой. Направление угла ра указывает, в какую сторону нужно сместить элемент или границу элемента, чтобы избежать наложения. Выполнение действий с группой выделенных элементов Некоторые действия по выравниванию, изменению положения и другие выполняются с группой выделенных элементов. Выбор группы производится стандартным образом с помощью мыши. Положение и размер группы элементов показываются в панели состояния, как если бы это был один элемент управления. С группой выделенных элементов управления можно выполнять различные действия по выравниванию и изменению размеров с помощью специальных команд. К таким действиям относятся: • управление выравниванием; • распределение элементов управления; • установка размера. Для группы элементов в палитре свойств можно установить одинаковые значения свойств (например, для пояснительных надписей указать кальное и горизонтальное положение, размер и цвет шрифта и т. д.). Элементам группы можно также устанавливать и изменять привязки (о ивязках см. стр. 2-693). '¦ ¦¦¦ "'—"¦-'— ! ' ' ' — "¦" '¦" ¦' '"- ' " '¦ '¦' ' .-I—т.—. — ¦ i-i i— ¦ Замечание. Все действия с группой выделенных элементов могут осуществляться только в том случае, когда элементы расположены в одной панели. Для любой выделенной группы можно выполнять только изменение или установку общих свойств элементов управления, щих в группу.
Глава 18. Инструменты конфигурирования 2-689 Групповые операции (установить одинаковый размер, выровнять по редине, распределить горизонтально/вертикально) не выполняются, если в результате их предполагаемого выполнения какие-либо границы элементов управления оказываются за краевыми выравнивающими линиями или за границами видимой области, если установлено свойство формы Исп. только видимую область. Если свойство не установлено, элементы управления можно размещать за краевыми выравнивающими линиями. Размер формы при этом увеличивается. Управление выравниванием и распределением элементов управления Выравнивание элементов производится с помощью выбора пунктов ма - Выравнивание или соответствующим этим командам кнопок панели инструментов Выравнивание. Пункты меню доступны (выравнивание производится), если выбрано более одного элемента управления. Команды Выровнять влево Выровнять вправо Выровнять вверх Выровнять вниз Выровнять по центру вертикально Выровнять по центру горизонтально Выровнять автоматически Действия Производит выравнивание левых границ выбранных элементов. При этом их левые границы располагаются вдоль одной вертикальной прямой Производит выравнивание правых границ Производит выравнивание верхних границ Производит выравнивание нижних границ Производит выравнивание по центру элементов вертикально Производит выравнивание по центру элементов горизонтально Производит автоматическое выравнивание группы выделенных элементов управления Выравнивание по центру (вертикально или горизонтально) производится по осям элементов. При центрировании никаких изменений элементов внутри группы не произ- иодится. Вся группа элементов перемещается так, как если бы перемещался один элемент, образованный из всех выбранных элементов группы.
2-690 1 С:Предприятие 8.1. Конфигурирование и администрирование Автоматическое выравнивание Автоматическое выравнивание выполняется над группой элементов управления выбором команды Форма - Выравнивание - Автоматическое выравнивание. Цель автоматического выравнивания - упростить выравнивание уже ложенных элементов управления в форме. Основные решаемые задачи: • установка стандартной высоты однострочных полей ввода; • установка логической связи надписей и полей ввода; • установка вертикального выравнивания; • установка стандартных размеров кнопок, переключателей, флажков, надписей; • формирование кнопок в горизонтальные группы и их выравнивание. Автоматическое выравнивание применяется только к выделенным там управления и применяет к ним следующие правила: • высота однострочных полей ввода устанавливается минимальной A9 точек); • одиноко расположенные надписи, переключатели, флажки ются по ширине так, чтобы не занимать лишнего места; • высота переключателей и флажков уменьшается до минимально возможной; • высота надписей приравнивается к минимальной высоте го поля ввода; • рядом стоящие кнопки формируются в горизонтальные группы и равниваются по горизонтальной линии; • кнопкам (если позволяет ширина ее текста) проставляются размеры по умолчанию G0x20 точек); • если слева от поля ввода расположена надпись, то надпись придвигается к полю ввода; высота надписи приравнивается к высоте поля ввода. Если таких пар несколько и они (пары) расположены друг над другом, пары выравниваются по вертикальной линии, которая образуется левыми сторонами полей ввода. Для надписей в данном случае устанавливается одинаковая ширина (исходя из самой широкой), и они тоже выравниваются по вертикальной линии. Для полей ввода также устанавливается одинаковая ширина по самому широкому полю ввода.
Глава 18. Инструменты конфигурирования 2-691 • элементы управления, расположенные друг над другом, могут вывать группы; в этом случае они выравниваются по вертикальной линии, образованной левыми сторонами. Минимальное расстояние между элементами управления после нивания составляет 5 точек. Рекомендуется применять автовыравнивание к «типовым» случаям. нение автовыравнивания ко всем элементам управления, расположенным в форме, может не дать положительного результата. Распределение элементов в форме Чтобы обеспечить равномерное распределение элементов управления в заданном пространстве формы, удобно воспользоваться командами ню Форма - Распределить. Команда Распределить по вертикали Распределить по горизонтали Действия Равномерно распределяет все элементы группы между самым верхним и самым нижним элементом Равномерно распределяет все элементы группы между самым верхним и самым нижним элементом Команды доступны, если выбрано более двух элементов управления. При выполнении команды крайние элементы управления остаются на местах, а все остальные распределяются таким образом, чтобы промежутки между всеми выбранными элементами были одинаковыми. Средние ты распределяются без привязки к разметочной сетке, даже если режим использования разметочной сетки установлен. Установка размера С помощью команд подменю Форма - Размер можно установить одинаковые размеры всех элементов, входящих в группу. Следует обратить внимание на то, что за образец выбирается тот элемент, маркеры которого имеют вид а. Этот элемент называется мастером (на рисунке - верхний элемент). Другие элементы имеют маркеры вида ¦ Чтобы сменить мастера, в выделенной группе элементов щелкните мышью нужный элемент. ¦Мастер'
2-692 1 С:Предприятие 8.1. Конфигурирование и администрирование Команда Одинаковая ширина Одинаковая высота Одинаковый размер Действия Устанавливает одинаковую ширину всех элементов группы Устанавливает одинаковую высоту всех элементов группы Устанавливает одинаковый размер всех элементов группы Результат применения команды Одинаковая ширина для различных тов-мастеров иллюстрирует следующий рисунок (в примере 1 мастером является верхний элемент, в примере 2 — нижний): До установки После установки До установки После установки Порядок элементов Когда элементы управления пересекаются (накладываются), то один элемент закрывает частично или полностью второй элемент. Установка порядка следования элементов производится с помощью команд подменю Форма - Порядок. Команда Поместить вверх Поместить вниз На передний план На задний план Действия Перемещает указанный элемент на один слой вверх Перемещает указанный элемент на один слой вниз Перемещает указанный элемент на передний план Перемещает указанный элемент на задний план Эти действия применяются как к одному элементу управления, так и к группе элементов.
Глава 18. Инструменты конфигурирования 2-693 Привязка элементов управления к границам В режиме Ю.Предприятие в процессе работы с данными (просмотр, ввод или редактирование) иногда возникает необходимость изменения размеров открытых на экране форм. Например, форму растягивают, чтобы увидеть больше информации, или уменьшают, чтобы одновременно разместить на экране больше разных форм. При этом желательно так настроить поведение различных элементов ния, чтобы определенная информация или элементы управления (например, кнопки) не пропадали за рамками формы, чтобы элементы перемещались или изменяли свои размеры в соответствии с изменением размеров формы, и при этом нужно, чтобы сохранялась общая структура экранной формы. Для обеспечения естественного восприятия информации поведение тов управления при изменении размеров формы должно быть различным. Часть элементов должна оставаться на месте, одна часть перемещаться вместе с границами, а другая часть элементов должна изменять свой размер в соответствии с изменениями размеров формы. Привязка - это зависимость положения границ элемента управления от ложения границ другого элемента или формы. Границу элемента управления можно привязывать как к границе или центру формы, так и к границе или центру другого элемента. Далее для обозначения объекта привязки границы элемента управления (т. е. к чему привязывается выбранная граница - к границе или центру мы или к границе или центру элементов управления) для краткости будет использоваться термин «граница», подразумевая как сами границы, так и центр формы и элементов управления. Редактор форм предоставляет разнообразные средства настройки зок. Настройку производят на этапе создания формы для каждого элемента управления или группы элементов. Привязке доступны элементы ния любого типа. Существует два вида привязок: ручная (простая и сложная привязка границ элементов) и автоматическая привязки (автопривязка). Ручная привязка может осуществляться в упрощенном режиме - выбор стратегии привязывания (механизм поведения элемента при изменении размеров формы) элемента управления и индивидуальная установка зок производятся для каждой границы элемента по отдельности. Стратегию привязки также можно менять. Например, при простой тальной привязке элемента к правой границе формы элемент будет изменять свое положение при смещении правой границы формы. Расстояние между этими границами не меняется. Если установить пропорциональную мость, то при смещении границы формы границы элемента также будут
2-694 1 (^Предприятие 8.1. Конфигурирование и администрирование смещаться. При этом расстояние между каждой границей до границ формы будет изменяться пропорционально соотношению расстояний каждой цы до границ формы. В связи с тем, что число типов элементов и вариантов их расположения в форме достаточно велико, число всевозможных комбинаций привязок практически бесконечно. Поэтому рассмотрим основные приемы привязки и поведение элементов управления при изменении размеров формы. Наличие привязки всегда показывается специальными маркерами, женными рядом с маркерами сторон элемента (элемент должен быть выбран). Для освоения приемов привязки рекомендуется создать опытную форму и расположить на ней несколько элементов управления нужного типа. Также включите режим просмотра привязок (выберите пункт Форма - Показать привязки, при этом в нем выставляется флажок). По мере освоения приемов привязок используйте их для ки поведения элементов управления в конкретных формах. Реальные формы обычно содержат большое число элементов управления, и использование режима показа привязок будет затруднять просмотр и тирование формы. Чтобы отключить этот режим, снова выберите пункт Форма - Показать привязки. Для наглядности в Руководстве примеры привязок приведены с ленным режимом просмотра привязок. Для облегчения понимания сути привязок они показываются линиями, проведенными между привязанными границами. Линии имеют цвет и бывают сплошными и пунктирными. • Сплошная линия - это первичная привязка (Привязать к...). • Пунктирная — это вторичная привязка (Сохранять пропорции до...). • Красные линии идут от панели. • Синие - от элементов управления. • Стрелка указывает направление влияния привязки, т. е. какую границу толкнет (потянет за собой) данная привязка при изменении размеров формы. Настройка привязок производится в окне Привязка границ для элемента..., запускаемого по ссылке Установить правила свойства Привязка границ рии Расположение. Устанавливать и изменять привязки (одинаковые) можно сразу к нескольким элементам (предварительно следует выделить нужную группу элементов).
Глава 18. Инструменты конфигурирования 2-695 Для проверки поведения элементов управления формы (привязок) при изменении размеров формы воспользуйтесь режимом Проверить. Для его включения выберите пункт Форма - Проверить. Важно! Каждую проектируемую форму нужно обязательно проверить на поведение элементов управления при изменении размеров формы. При этом следует опробовать все направления изменения в самых ных комбинациях. Рекомендуем проводить тестирование с помощью мыши. Запустите режим проверки формы. «Захватите» мышью любой угол проверяемой формы и начните перемещение границ во всех лениях. Внимательно следите за поведением элементов управления. «Неправильное» поведение элементов управления следует исправить с помощью ручной привязки границ. Простая привязка границ Настройка привязок производится на закладке Простая. Группа тов окна Привязать горизонтально предназначена для настройки поведения элемента при горизонтальном изменении размеров формы. Группа зитов окна Привязать вертикально - для настройки поведения элемента при вертикальном изменении размеров формы. Действия по настройке ки в этих группах одинаковы, поэтому рассмотрим настройку на примере горизонтальной привязки. В реквизите Привязать к... указывается, к какому объекту будет на привязка. При простой привязке элемент может быть привязан как к самой форме или панели, так и к элементам управления типа Разделитель (см. стр. 1-220). При этом в список объектов включаются только те разделители, которые попадают в зону пересечения с привязываемым элементом. Зона пересечения определяется следующим образом: если мысленно перемещать один элемент вдоль выбранного направления (горизонтально или вертикально) и он пересечется с другим элементом, то они находятся в зоне пересечения. При этом следует учитывать способность элемента зываться в указанном направлении (см. таблицу автопривязок элементов управления). Зона пересечения определяется для состояния расположения элементов, как они расположены в форме при просмотре в режиме ратор. В режиме 1С:Предприятие зона пересечения при изменении размеров формы не пересчитывается. Примеры взаимодействия нескольких тов см. на стр. 2-703. Разделитель будет включен в список объектов, если он попал в зону ресечения привязываемого элемента управления. При этом учитывается
2-696 1С:Предприятие 8.1. Конфигурирование и администрирование ориентация разделителя (см. стр. 1-185). При горизонтальном нии элемента не учитываются горизонтальные разделители («лежащие»); и наоборот, при вертикальном перемещении элемента не учитываются кальные разделители. В реквизите Тип привязки указывается способ привязки. • К левой границе Элемент привязывается к левой границе области (элемент целиком перемещается вместе с перемещением левой границы области). Простая: к Левой границ К правой границе Элемент привязывается к правой границе области (элемент целиком перемещается вместе с перемещением правой границы области). Простая; к правой грамнцоН Растягивать Правая граница элемента (пример на рисунке ниже) привязывается к правой границе области (при горизонтальном изменении размеров области правая граница элемента перемещается вместе с перемещением правой границы области, при этом расстояние между границами остается неизменным). Простая: растягмват
Глава 18. Инструменты конфигурирования 2-697 Пропорционально Правая граница элемента (пример на рисунке ниже) привязывается к правой границе области таким образом, что при изменении размеров области соотношение расстояний от правой границы элемента до левой и правой границ области остается постоянным, аналогично привязывается левая граница элемента. Простая: пропорциональней К центру Правая и левая границы элемента привязываются к центру области. К центру формы: Простая: к середин К центру элемента: Во всех приведенных выше примерах, кроме пропорциональной привязки, элемент управления привязан жестко: при такой привязке изменения ния границ элемента относительно привязанной границы не происходит. Аналогично производится настройка поведения элемента при вертикальном изменении размеров формы. Реквизит Ручная привязка окна Привязка границ для элемента., чен для блокировки механизма автопривязки. предназна- Сложная привязка границ Привязка производится на закладке Сложная. На закладке находятся четыре группы реквизитов, заключенных в рамки. Каждая группа осуществляет привязку одной границы элемента. Заголовок рамки группы соответствует
2-698 1С:Предприятие 8.1. Конфигурирование и администрирование названию привязываемой границы элемента (например, группа Левая ца отвечает за привязку левой границы элемента). Действия по настройке привязки в этих группах одинаковы, поэтому рассмотрим настройку на примере привязки одной границы. Реквизиты Привязать к... осуществляют первичную привязку. Следует выбрать объект, к которому привязывается граница, затем указывается, к какой границе этого объекта будет привязан элемент. В списке границ выберите границу, к которой будет привязываться элемент. В список объектов ются все элементы управления текущей страницы формы. В том числе и сам привязываемый элемент управления, чтобы привязать одну границу к другой. Это делается для установки таких привязок, которые не приводят к нию размеров элемента (за исключением привязки к центру), но элемент при этом может быть привязан к другим элементам области. Если в этом случае нужно будет перепривязать элемент к другому элементу, то достаточно будет изменить привязку только одной его границы. Запрещается привязывать границу элемента к самой себе и запрещаются противоречащие привязки (например, Привязать к... и Сохранять пропорции до... к одной и той же границе). В этом случае выдается предупреждение: Правила привязки указаны неверно! Привязка не может быть отработана. Реквизит Сохранять пропорции до... осуществляет вторичную привязку. При расстановке пропорциональных привязок необходимо принимать во внимание некоторые особенности их обработки. Пропорциональная привязка границы элемента управления к границе формы описывается формулой: Dl = DL*AC/AB, где DI - величина изменения положения границы элемента; DL - величина изменения положения границы формы; АС - первоначальное расстояние от левой границы формы до границы элемента; АВ - первоначальный размер формы. На рисунке продемонстрирована указанная формула для привязки элемента управления к правой це формы. Верхний рисунок представляет исходное состояние, нижний - после изменения размера. Как видно из формулы, изменение положения цы элемента линейно зависит от изменения размера формы, а значение коэффициента пропорциональности зависит от положения границы элемента управле- АС Al '¦ШШИ»'ь>-.:\ Ж С
Глава 18. Инструменты конфигурирования 2-699 ния. Чем ближе граница элемента управления к правой границе формы, тем больше этот коэффициент. На практике это приводит к тому, что два поля ввода, имеющие изначально одинаковый размер, но расположенные на разных расстояниях от цы привязки, после изменения размера формы будут иметь разный размер. Элементы управления, расположенные левее, будут изменять свой размер на меньшую величину, чем расположенные ближе к правой границе формы. Одним из решений, компенсирующих данный эффект, является размещение разделителей слева и справа от элементов управления. Чтобы разделители не были заметны, в свойстве Рамка выберите Нет рамки. Автоматическая привязка границ Назначение автопривязки Автоматическая привязка границ - это свойство формы или панели, при котором элементы привязываются к границам автоматически. Если свойство установлено, то каждый элемент управления (за исключением некоторых), располагаемый в форме, будет привязываться к форме или другим там по специальному алгоритму, применяемому автоматически. Важно! Если режим просмотра привязок не установлен, то при ке режима автопривязки внешне в форме ничего не меняется (элементы управления остаются на своих местах). Заметить изменение ния элементов можно только при включенном режиме показа привязок и при изменении размеров формы в режиме просмотра. При снятии флажка Автопривязка границ установленные в автоматическом режиме привязки не снимаются. Если свойство Автопривязка границ лено по ошибке, то его отмена не приведет к прежнему результату (до установки). Поэтому, прежде чем устанавливать этот режим, вы должны отчетливо представлять, для чего вам это нужно. В танных (готовых) формах этот режим лучше не устанавливать. Привяжи, установленные при установке свойства Автопривязка границ, не снимаются при выборе пункта Правка - Отменить. Совет. Для полного снятия привязок у группы элементов управления выделите все эти элементы, в категории Расположение свойства ка границ по ссылке Установить правила откройте окно привяжи границ и нажмите кнопку Сбросить все привязки. Если свойство Автопривязка границ установлено, установите реквизиты Ручная привязка.
2-700 1 (^Предприятие 8.1. Конфигурирование и администрирование Автопривязка границ элементов управления При создании новой формы или панели свойство Автопривязка границ в категории свойств Основные установлено. Это означает, что при нии размеров формы или панели эти элементы управления будут изменять свои размеры или будут перемещаться в соответствии с привязками. Привязки, установленные автоматически, не всегда могут соответствовать желаемому результату, поэтому стратегию автопривязок необходимо менять вручную. Режим автопривязок можно отменять. Если при отключенном режиме ривязок требуется, чтобы элементы управления «отслеживали» изменение размеров формы, то разработчик формы должен установить привязки вручную. В случае повторной установки свойства Автопривязка границ программно ко всем элементам формы, для которых не установлен режим Ручная ка, будет применена автоматическая привязка. Если до этого элемент был привязан, но флажок Ручная привязка не был установлен, то привязки этого элемента также будут изменены. Каждый новый элемент также будет автоматически привязываться к цам формы. Более того, при перемещении элемента будут изменяться и его привязки. В таблице показаны возможности элемента управления изменять свои размеры при изменении размеров формы в режиме автопривязки в мости от типа элемента. Элемент управления ActiveX Диаграмма Диаграмма Ганта Дендрограмма Индикатор Поле календаря Поле географической схемы Кнопка Растягивается по горизонтали Нет Да Да Да Да ^ (если ориентирован горизонтально) Да Да Нет Растягивается по вертикали Нет Да Да Да Да (если ориентирован вертикально) Да Да Нет
Глава 18. Инструменты конфигурирования 2-701 Элемент управления Командная панель Надпись Панель Переключатель Поле HTML- документа Поле ввода Поле выбора Поле графической схемы Поле картинки Поле списка Поле табличного документа Поле текстового документа Полоса регулирования Разделитель Рамка группы Сводная диаграмма Табличное поле Флажок Растягивается по горизонтали Да (если ориентирован горизонтально) Нет Да Нет Да Да Да Да Да Да Да ,Да Да (если ориентирован горизонтально) Да (если ориентирован горизонтально) Да (если внутри есть растягиваемые по горизонтали элементы) Да Да Нет Растягивается по вертикали Да (если ориентирован вертикально) Нет Да Нет Да Да (если многострочный) Нет Да Да Да Да Да Да (если ориентирован вертикально) Да (если ориентирован вертикально) Да (если внутри есть растягиваемые по вертикали элементы) Да Да Нет
2-702 1 С:Предприятие 8.1. Конфигурирование и администрирование Как видно из таблицы, такие элементы управления, как Кнопка, Надпись, Переключатель и Флажок, автоматически не привязываются к границам формы. В режиме просмотра привязок такие элементы показываются так: ДД]— ^Л Элементы управления Индикатор, Командная панель, Полоса регулирования, Разделитель и Рамка группы привязываются к границам формы в зависимости от ориентации элемента управления (см. описание свойства Ориентация на стр. 1-186). В режиме просмотра привязок такие элементы показываются так: 1 — вертикально ориентированный разделитель. 2 - горизонтально ориентированный разделитель. Рамка группы привязывается к границе формы, если внутри есть элементы управления, растягиваемые по горизонтали или вертикали. Указанные элементы управления можно привязать в режиме Ручная привязка (см. параграф «Простая привязка границ» и «Сложная привязка границ»). Все остальные элементы могут привязываться к границам формы при установленной автопривязке границ. С помощью автоматической привязки не всегда удается реализовать более сложные механизмы взаимодействия элементов. С такими задачами ляет справиться ручная привязка (см. стр. 2-695 и 2-697). Область действия привязок Областью действия привязок в общем случае является форма. Если в форму вставлен элемент управления типа Панель, границы этой панели будут являться границами действия привязок для всех элементов, женных на этой панели. Для каждой панели можно установить или отменить режим автопривязки границ. Так как панель может содержать несколько страниц, то режим ки действует на все страницы панели. Режим автопривязки, установленный для формы, не действует в области панели. На рисунке показан пример действия привязок в форме, в которую вставлен элемент типа Панель, содержащий, в свою очередь, другие ты управления. Кнопка 1 D 2 " I- ' зззз Страница 1 | Ст(и*Ч. ( 1 Г Реквизит 111 1 i 1 1 Реквизит 12{| J, Реквизит 13}] I 1 \_ Реквизит 21 ?j_ 1 Реквизит 22|| Jj Реквизит 23 JJ I-—• I, р I, I1 »-i_ .= г— г— к-
Глава 18. Инструменты конфигурирования 2-703 Элементы управления, расположенные в панели, привязываются к цам панели или к границам элементов управления, расположенным в панели. К границам формы эти элементы управления привязать нельзя. Для организации области привязок применяют специальный элемент ления Разделитель. Разделитель разбивает форму на области, внутри которых могут находиться элементы управления. В форме может быть размещено несколько разделителей. В этом случае форма будет разбита на ' несколько областей в соответствии с правилами определения зон ния. Если в форме уже были размещены элементы управления и для них не использовалась ручная привязка границ, то привязка их границ, попадающих в зону пересечения (о зоне пересечения см. стр. 2-695) с разделителем, будет изменена на привязку к границам разделителя автоматически. So раз ния разделителя 1Я1 После размещения саэделитеяя взшшв э* Чтобы разделитель не был виден в действующей форме, у него можно снять установку флажка в свойстве Видимость. При этом все связанные с телем привязки будут действовать. Если требуется, чтобы с помощью разделителя можно было управлять перераспределением областей формы (не изменяя размеры формы), нужно установить свойство Видимость, а в свойстве Рамка выбрать Нет рамки. В этом случае в режиме просмотра, при подведении указателя мыши к разделителю, форма указателя принимает вид «» или Ф, и положение разделителя может быть изменено. Если в форме нет разделителя, то вся форма является одной областью. Дальнейшее описание взаимодействия элементов управления будет водиться для отдельной области. Автоматическая привязка нескольких элементов управления Помимо привязки к границам формы на поведение элементов управления оказывает влияние их взаимное расположение. При рассмотрении взаимной привязки нужно отдельно рассматривать горизонтальное и вертикальное направления изменения размеров формы. Два и более элемента управления могут привязываться друг к друг^ если они расположены в зоне пересечения (см. стр. 2-695).
2-704 1 (^.Предприятие 8.1. Конфигурирование и администрирование В самом простом случае, когда в области (по горизонтали ограничена левой границей формы и разделителем) расположен один элемент управления или несколько не взаимодействующих с друг другом элементов, щих свойством растягиваться по горизонтали (полей ввода), как показано на рисунке, привязка осуществляется следующим образом: г ч I | Реквизит 1* |j I j Реквизите |[ ^... т По горизонтали: • левая граница полей ввода не привязывается. При изменении размеров формы положение левой границы остается неизменным; • правая граница полей ввода привязывается к правой границе области (разделителю). При изменении размеров формы расстояние от правой границы до границы области также остается неизменным. Рамку разделителя оставим видимой, чтобы наблюдать взаимосвязь тов. Запустим режим проверки (выберите пункт Форма - Проверить). При горизонтальном увеличении размера окна происходит изменение размеров элементов, изображенное на рисунке. Реквизит 1 | [ П Реквизит 2 | | Как видим, надписи остались на прежнем месте, т. к. они не были привязаны к границам области. Левые границы полей ввода также не привязаны и тались на месте. Правые границы полей ввода привязаны к правой границе области (к левой границе разделителя) и перемещаются вместе с нием разделителя (расстояние от правой границы элементов до разделителя осталось прежним), поэтому размер полей ввода увеличился. Расстояние между разделителем и правой границей формы увеличилось. Это связано с тем, что автопривязка разделителя производится в режиме Пропорционально. При такой привязке соотношение расстояний от границы элемента до границ области всегда остается одинаковым при любом нии размера формы.
Глава 18. Инструменты конфигурирования 2-705 При уменьшении размеров формы нужно учитывать, что для некоторых элементов управления (например, поле ввода) существует минимальный размер, достигнув которого элемент перестает уменьшаться. При такой привязке размер элементов управления будет изменяться ровно настолько, насколько изменился размер области. Этот режим называется Растягивать. Аналогичным образом привязка осуществляется для верхней и нижней границ элементов, обладающих свойствами изменять размеры при кальном изменении размеров формы. В режиме редактирования формы при перемещении элемента управления его автопривязки могут изменяться. Если элемент управления, обладающий свойством привязываться, попадает в зону пересечения с другим элементом, эти элементы привязываются друг к другу. Если элемент уходит из зоны пересечения с другим элементом, он привязывается к границам области или к границам других элементов, находящихся в зоне пересечения. Следующий пример иллюстрирует привязки непересекающихся полей ввода: мин—i В этом случае изменение размера формы изменяет размеры элементов следующим образом: ересекающихся полем A2345Б78Э01234SB7890123456789 12345678901234567890123456789 Ujiilii. mi— i Поля изменили свой размер одинаково (введенный текст позволяет в этом убедиться). Если правый нижний элемент переместить вверх настолько, чтобы он попал в зону пересечения другого элемента, то редактор форм произведет их ривязку, как показано на рисунке:
2-706 1С:Предприятие 8.1. Конфигурирование и администрирование В этом случае изменение размера формы изменяет размеры элементов следующим образом: К Пример пере 123456789012 4567890 123456789012345678301 23456 Как видите, расстояние между полями ввода осталось постоянным, а их размеры стали разными. Если форма содержит много взаимодействующих друг с другом элементов управления разных типов, механизм автопривязки довольно сложен. Ниже описываются принципы автопривязки нескольких элементов управления, освоив которые можно проектировать более сложные формы. Если требуется отключить действие привязки некоторых элементов, то для этого нужно в окне установки привязок нажать кнопку Сбросить все ки и установить режим Ручная привязка, чтобы при перемещениях элемента и при размещении в форме других элементов для этого элемента не дилась автопривязка границ (подробнее см. стр. 2-695 и 2-697). Если для элемента управления применялась настройка привязки с помощью окна Привязка границ для элемента..., то для этого элемента чески устанавливается режим Ручная привязка. Поэтому на него не будет действовать механизм автопривязки (изменение привязок при перемещении элемента, размещение новых элементов управления). Рассмотрим пример, приведенный на рисунке, поясняющий привязку элементов друг к другу. В форме с установленной автопривязкой границ расположены три поля ввода одинакового размера. Запустим режим проверки (выберите пункт Форма - Проверить). При горизонтальном увеличении размера окна дит следующее изменение размеров элементов, изображенное на рисунке. ГТЯВДж- ) 1234567ВЭ012345678Э| 1234567890123456789012 |Т23456789012345678901234567й|
Глава 18. Инструменты конфигурирования 2-707 Как видим, левая граница первого (слева) элемента привязана к левой це формы и осталась на месте. Правая граница третьего (слева) элемента привязана к правой границе формы и перемещается вместе с нием правой границы (расстояние от элемента до правой границы формы осталось прежним). Расстояния между элементами также остались ми, т. к. соседние границы привязаны жестко. При создании формы поля ввода имели одинаковый размер. Но при нии заметно, что их размер изменился неодинаково. Это результат жесткой привязки соседних границ элементов. Если слева от элемента управления, который не обладает свойством ривязки границ (например, кнопка), расположен элемент, способный изменять свой размер (например, поле ввода), то привязываемый элемент будет сдвигать непривязываемый элемент. На рисунке представлена форма, иллюстрирующая данный пример: Кнопка Режим проверки позволяет в этом убедиться: Надпись CEED I В некоторых случаях использование автопривязки не требует ручной настройки привязок. На рисунке в форме размещены элементы управления Список значений, Поле табличного документа, Многострочное поле для ввода и кнопки: • ЗЗЗШаШД 1 и' " : '~.щшт —* ¦' ' 1 1 2 3 4 S 6 7 8 4* " 1 2 3, ¦ 13 1 1 1 J шшшШ _nif^a t t „.. ; Ш II Закрыть ! i 1.,., ., w .„,»,,,„,„,„—iwwfi.. ...—„-,.„,.,.-.. — ! \1 !
2-708 1С:Предприятие 8.1. Конфигурирование и администрирование Как видите, изменение размеров формы не приводит к нежелательным последствиям. ? Авто-привязки 3 1 2 3 4 1 2 _. Э 4 5 Щ и Щ ip щ—""¦-" • - '"•'— ?г:'—>1^ч>№.щм щщт^твяшяшшшшшвшйит^тшшшшвщт' шттштшщт При размещении элементов управления в поле табличного документа они привязываются к ячейке, в которой находится их верхний левый угол. При этом в режиме просмотра привязок привязки элементов управления в ном документе не показываются. При изменении положения табличного документа расположенные в нем элементы управления будут ся вместе с табличным документом. Подробнее про размещение элементов управления в табличном документе см. на стр. 2-742. Пересекающиеся элементы управления При рассмотрении механизма работы привязок следует учитывать, что при перемещении границ формы элементы не могут пересекаться (если до этого не были пересекающимися), т. е. не накладываются друг на друга. Если при перемещении границ формы пересекающиеся элементы станут ющимися, то при обратном перемещении границ такие элементы не могут принять первоначальное положение. Если после некоторых изменений размеров формы граница одного элемента достигнет границы другого элемента, то дальнейшее перемещение границы этого элемента становится невозможным, а вместе с ним также прекращают перемещения границы всех других элементов. Рассмотрим следующий пример: т !  НЕ ? Верхнее поле ввода пересекается с разделителем. Границы другого поля привязаны к правой границе формы. А граница разделителя привязана пропорционально, поэтому характер перемещения границ этих элементов будет разный.
Глааа 18. Инструменты конфигурирования 2-709 Запустим режим проверки. Увеличение размеров формы не приводит к необратимому состоянию, т. к. правая граница поля ввода перемещается «быстрее» разделителя. ЗЕВ! ЕЕ_ Уменьшим горизонтальный размер формы. Граница верхнего поля ввода, благодаря жесткой привязке к границе формы, быстрее приближается к левой границе формы, чем разделитель, поэтому поле ввода в какой-то момент перестанет пересекаться с разделителем (как показано на левом рисунке). Затем попробуем снова увеличить размер формы (как показано на правом рисунке): ? ? ¦=1 пцз Изменение положения границы первого поля ввода прекращается, когда она достигает разделителя. Как видите, другое поле также прекращает изменение своих размеров, т. к. его правая граница привязана к разделителю. Использование разделителей для коррекции механизма автопривязок Проектирование формы должно осуществляться с учетом изменения размеров форм. Поведение элементов управления необходимо настроить таким образом, чтобы сохранялась структура формы, не нарушалось выравнивание тов, а сами элементы изменяли свои размеры сообразно здравому смыслу. В примере, приведенном на рисунке, расположены пять полей ввода и одна надпись, размещенные в форме в три колонки. Привязки элементов вляются с установленным свойством Автопривязка границ.
2-710 1С:Предприятие 8.1. Конфигурирование и администрирование В режиме Проверить поведение элементов выглядит следующим образом: "И ШШ EH Щ 112345Б78Э01234SS7B9C ] Надшсь |12345676901234567890123456789012345678 112Э45678Э012345G78SC j 12345Б78Э0123456789О1 12345678901234567890123456 При увеличении размеров формы элементы левой колонки но увеличивают свой размер. Левые границы элементов средней колонки смещаются под воздействием правых границ элементов левой колонки. Надпись смещается, но ее размер остается неизменным; это приводит к тому, что нарушается выравнивание левых границ правой колонки. Правые границы правой колонки привязаны к правой границе формы и выровнены. В результате для верхнего поля правой колонки нарушается выравнивание. Для корректировки поведения вставим два разделителя между колонками элементов управления. С I Надпись " i В режиме Проверить поведение элементов выглядит следующим образом: |1234567В9012345678901 |123456789012345678901 ~т Надпись |12345678Э012345678Э0| Щ ' |12345678901234567890123| J12345678901234567890123| Как видим, изменение размеров полей ввода происходит неравномерно - размер полей правой колонки больше. Чтобы компенсировать разницу, установим еще один разделитель между правыми границами правой колонки и правой границей формы, как показано на рисунке: В режиме Проверить проверим размеры полей для ввода.
Глава 18. Инструменты конфигурирования 2-711 j|J 2Э456789012345В78Э0' | |12345678S01234567890J Надпись 112345S7B9012345B7S9Q J J123456799012345673ЭСГ j |123456789012345678ЭСГ| Выводы. Использование разделителей для коррекции поведения тов управления при изменении размеров формы — самый простой, но не самый оптимальный способ, т. к. любой элемент управления в форме расходует системные ресурсы и вызывает лишние вычисления при каждом изменении размеров формы. Использование разделителей может быть полезно для понимания того, что нужно предпринять, чтобы произвести ручную коррекцию привязок. Установка ручных привязок Стандартное поведение автопривязки элементов управления не всегда соответствует желаемому. Например, пара элементов, состоящая из поля ввода и поясняющей надписи (рисунок слева), при изменении размеров формы будет вести себя так, как показано на рисунке справа. Предположим, нужно добиться, чтобы надпись изменяла свой размер в соответствии с изменениями размера формы. Необходимо выполнить ручную привязку. На закладке Сложная правую границу надписи следует привязать к форме с сохранением пропорций по правой границе формы, как показано на рисунке. - Правая граница 1 I Привязать к: I PECP" 1*1 IB Л^ |->| Сохранять пропорции до. I [форма 1113 Правая Н В результате привязки будут выглядеть следующим образом:
2-712 1С:Предприятие 8.1. Конфигурирование и администрирование Запустим режим Проверить. Как видно из рисунка, надпись меняет свой азмер в соответствии с изменениями размеров формы. Размер текста надписи меняется при изменении размеров Формы |[_ им ... .1. I llll^wшlц^и^wиш8^^sвgвaw^^ggдg8яa^м^4J*шш4j8таишшaellм^l^^lww^и^W^ Усложним задачу. Поле ввода многострочное. В этом случае желательно, чтобы надпись также могла быть многострочной. Изменим привязку нижней границы надписи следующим образом: р Нмжняя граница — | Привязать к. «Форме НЕ Нижняя } f?1 | Ссмранятьпропорциийо: | Щ| Н привязано t J m At Л',! .У. In. h.fc ..И.. I. ...Г ..'.,'¦' i'.J Нижняя граница жестко привязана в нижней границе формы, как и нижняя граница поля ввода (свойство автопривязки многострочного поля ввода). Размер те. Проверяем привязку. Размер текста надписи меняется при изменении размеров Формы wen Снова усложним задачу. В созданную форму слева от надписи добавим еще одно многострочное поле ввода так, как показано на рисунке: В режиме Проверить поведение элементов выглядит так: Размер текста надписи
Глава 18. Инструменты конфигурирования 2-713 При увеличении размеров формы вертикальное изменение отрабатывается хорошо, а при горизонтальном фиксированное положение левой цы надписи препятствует растягиванию полей ввода. Одним из простых решений может быть размещение разделителя между новым полем ввода и надписью, как показано на рисунке: Г^азмер те \ fe* Е Левая граница надписи привязана к разделителю: - Левая граница Привязать к. | Разделитель fclloi Сохранять пропорции да Непривйзано> •1 Правая ш ш ' .¦¦ , м , ' В режиме Проверить поведение элементов выглядит так: рзшт Размер текста надписи меняется при изменении размеров формы L ! Как видно, такое поведение элементов управления способствует лучшему восприятию информации. Недостатком является наличие разделителя (как лишнего элемента). Используем знания о привязке левой границы надписи к разделителю и вместо разделителя выберем правую границу левого поля ввода (ПолеВвода2): Г Левая гранща - Притязать к I |ПояеВвода2у j \Щ Правая" Сохранять пропорции да |<Не привязано При проверке поведение элементов будет следующим: здвг Размер текста надписи меняется при изменении размера Формы JSB
2-714 1 С:Предприятие 8.1. Конфигурирование и администрирование Примеры форм Рассмотрим действие механизма автопривязки на примере типовых форм и некоторые приемы коррекции поведения автопривязок. Форма документа Платежное поручение, сформированная в режиме вязки, показана на рисунке. yCN*3498574958iW?rfcHiH'*,T:w: e '? 'Межданарещныйпромышлвнныйбанк' Счет получателя Срок платежа чередность платежа Е [латвжное поручение Щ_ М^--?-нде1 ж ъхюЩ- х 1-АетоподстаноБкавтексгплвтежного поражения- Л :уммаМЮ,втч.НДС20^ (РОД, 1 ШМ&Й?Ш?ШШЙ В режиме Проверить изменим горизонтальный размер формы и ем ее поведение. — т : ' [ Р/С N*349857 у^г&РШвКБЧАтАфщтньйгршьшмтюйбтк" Получатель] Счет получатели] Основание^ начение платеже:] Платежное поручение № | ¦ 1-1 1-1 Сумма. 1 Ставка НДС | НДС:| Z>CI И вт)Щ 1-1 шюрЦ 1 ВидплатежаГ Срок платежа] Очередность платежа]! Комментарий! ) 1 1*1 4 И«1 .1 Н рАетоподстамовка в текст платежного поручения ¦ — ] I !¦••! Сумма 0-Ш. вт ч НДС 203; ¦ @-00). 1 Печать ]Г Ок || Зурить }Щ!Й | Перечисление налога] Как видите, надпись Платежное поручение № и поле ввода номера «отстают» от других полей, а кнопка Перечисление налога не переместилась с правой границей формы (кнопка не привязана к границам, а ее граница была нена по правой границе полей ввода Комментарий). Разместим вертикальный разделитель между надписью Платежное ние № и полем ввода номера. Чтобы его было хорошо видно, на рисунке он выделен заливкой. По вертикали разделитель должен захватить все поля до поля ввода Назначение платежа, как показано на рисунке.
Глава 18. Инструменты конфигурирования 2-715 Ш> УС 349ES7495S74 в КБ 'Международный промышленный банк" Т. Платежное получение Щ Счетпо^тагеля Назначение платежа Срок платежа Очередность платежа Комментарий "Zip^h Щ ДстеакаНДс! шм ж одо|Й OJOlgt- ^Двтолодстановка в текст платежного поручения Щ Щ;№ Ж lyj-jaaWO.er НДС21К |М01| ЧАШвяяшшщаА ¦ Кроме того, надпись Платежное поручение № привяжем к разделителю, а кнопку Перечисление налога - к правой границе формы. Привязка для надписи Привязка для кнопки - Горизонтальная Привязать к J Разделитель 0 Ручная привязка Типгри&язкм: [ ] \Щ левой границе [wj ! 1 -Горизонтальная—— Привязать к.. Ц Форма ТЗ Ручная привязка Тип привяжи Э \Щ к правой границе )*¦} При проверке на изменение размеров форма будет вести себя следующим образом: _. _ . ^ |Q Р/С № 34385?49587453Ю4С91в 7Ж в КБ 'Международный промьшленный банк" Платежное поручение № По/щчатель| |—| Сумма Счет получателя] L.J Ставка НДС Основание^ j.-| НДС Назначение платеже] Срокппетежа| (Ц3*! Очередность платежа] \Ш\ 1 ш |сг | . Н _ОД°. Ё ~3 ШЮ|В) И .. _. j-ii Сумма 0-00. в т ч НДС 20? -10-001 Комментарий^ . . i {^Печать || Ок \\ Закрыл» \\$\\^\ | Перечисление налога j Как видите, структура формы сохраняется, поля и надписи остаются нены. Кнопка перемещается вместе с перемещением правой границы формы. 11ривязки границ, образующиеся при этом, можно посмотреть на закладке Сложная привязка окна Привязка границ для элемента... и использовать их при выполнении ручной коррекции привязок. Левую границу поля ввода номера привязывают к левой границе поля ввода суммы, а правую границу надписи Платежное поручение № - к левой границе поля ввода номера.
2-716 1С:Предприятие 8.1. Конфигурирование и администрирование Следующий пример иллюстрирует часть стандартной формы платежного документа. f/C№ 3438574958745983405987340 в №"М-- i промышленный банк' ?_СчегМ.| ЦН . . |Ш[ Заказчик: Ин~Плательщж^ Щ*- ¦ При проверке изменение размеров формы нарушает выравнивание рых полей. С И Q Р/С № 3438574958745983405987340 в № "Международный промыи»*** банк" Счет№ | Заказчик: j j...j Плательщик j о,| И н Установим разделитель, как показано на рисунке, между полем выбора заказчика и надписями Счет № и Плательщик. Р/С К* 34985749587'*' ?''± ' 4нл'4)е КБ "Международный промышленный банк" ч [[Заказчик: |Д В режиме Проверить видно, что выравнивание сохраняется. 3 ? Р/С N* 34S3574958745983405987340 в КБ •* Заказчик | J...J ^Т еждународный промышленный банк" Счет N* | | от | Плательщик: | м . hi ¦ ¦ . Привязки границ, образующиеся при этом, можно посмотреть на закладке Сложная привязка и использовать их при выполнении ручной коррекции привязок. В данном случае достаточно левую границу надписи Счет № привязать к левой границе надписи Плательщик.
Глава 18. Инструменты конфигурирования 2-717 Список элементов управления формы Когда в форме размещено достаточно много элементов управления, поиск нужного бывает затруднителен. Также сложно выбрать элемент управления в тех случаях, когда один элемент перекрывает другой или элемент жен на одной из страниц панели. Для быстрого поиска предназначен диалог, вызываемый пунктом Форма - Список элементов управления формы. -ИЕ9 (ДоговорВим«тр»''*гое} "Т Сделка: -Щ (Сделка) —Т По договора 250 USD. 1 USD = 30 руб. (ИнфНадписьДояга) —Т Бездоговора(ИнфНадписьДолга11 ш -г -г in г т т Й"В1 (ОсновнаяПанель) ф-Товары и услуги (Товары} ¦Тара (Тара} р-П5 (КомзнднаяПанельВозвратнаяТара) Ш1 (ВозвратнаяТара} -Дополнительно (Дополнительно} Оптовые цены. Скидка 20% [ИнфНадписьТоварыИтоги} ceroXISD (НадписьВсего} (BceroJ Счет Фактура: (НадписьСчетФактура! Ввести счет-Фактуру (ГиперссылкаСчетФактура} НДС(вт.ч.):1Наопись8сегоНДС) (ВсегоНДС) Комментарий: 1НадписьКомментарий1 (Комментарий) (ОсновныеДействияФормы) 6, Ш е, | ЗакрьУь Справка В диалоге показывается дерево всех элементов управления, размещенных в текущей форме. Для поиска нужного элемента в форме достаточно выбрать его в списке, при этом элемент автоматически выбирается в форме. Если элемент управления расположен на странице, которая перед выбором была закрыта, она открывается и выбранный элемент показывается. Если открыта палитра свойств, в ней показываются свойства данного элемента управления. Справа от имени элемента управления может размещаться пиктограмма, вид которой показывает на особенности расположения данного элемента. Пиктограммами показывается наложение элемента управления на другой элемент, отсутствие выравнивания. В случае полного расположения над или под другим элементом показывается прямоугольник с красным пунктиром внутри). Если форма содержит несколько страниц или многостраничные панели, то список показывается в виде дерева. Если у формы одна страница,
2-718 1С Предприятие 8.1. Конфигурирование и администрирование то при открытии диалога она (страница) как ветка не отображается. Если страниц больше одной, ветки отображаются. Все вложенные панели всегда отображаются со страницами-ветками вне зависимости от их количества. В дереве элементов управления раскрытыми отображаются только ветви текущих страниц панелей в форме. Остальные страницы отображаются нераскрытыми ветвями. Если закрыть диалог, то в форме показывается выбранный элемент и вается (если была закрыта) палитра свойств. Модуль Как уже говорилось, форма - это совокупность трех составляющих: диалога, который представляет визуальное средство представления и ввода ции; модуля, в котором находится программа на встроенном языке; и списка реквизитов, в которых хранятся дополнительные данные, размещенные в диалоге. Программы, расположенные в форме, выполняют различные действия с реквизитами формы, выполняют различную подготовительную обработку данных и событий, непосредственно связанных с диалогом. Помимо модулей формы некоторые типы объектов конфигурации могут иметь модуль, в котором производится выполнение основных действий для данного объекта. К таким объектам относятся объекты типа Справочник, Документ, Отчет и Обработка. Независимо от числа форм модуль для каждого объекта может быть только один. В модуле производятся основные действия, связанные с ем объекта. В нем производится обработка предварительно введенных и установленных в диалоге формы значений реквизитов, запись или выборка требуемой информации или формирование выходной формы с нием макетов. К процедурам и функциям, расположенным в модуле, можно обращаться средствами встроенного языка через точку. Например, для объекта документа РасходнаяНакладная в модуле определена процедура Печать(), объявленная с ключевым словом Экспорт. Если в какой-либо другой форме ся объекты типа ДокументОбъект.РасходнаяНакладная, то распечатать форму данного документа можно простым вызовом процедуры Печать(): ВыбДок = Документы.РасходнаяНакладная.Выбрать(ДатаНач, ДатаКон); Пока ВыбДок.Следующий() Цикл ВыбДок.ПолучитьОбъект().Печать(); КонецЦикла;
Глава 18. Инструменты конфигурирования 2-719 Редактор текстов Текстовый редактор системы 1С:Предприятие 8.1 предоставляет телю все основные функции, необходимые при редактировании текстов. При работе с текстовым редактором доступны операции с блоками текста, функции поиска и замены, цветовое выделение синтаксических элементов программных модулей. В системе 1С:Предприятие8.1 текстовый редактор используется в двух режимах: для редактирования текстовых документов и как составная часть редактора форм для редактирования текстов модулей. В данной главе приводится описание особенностей работы редактора текстов при редактировании текстов модулей. О редактировании текстовых документов см. книгу «1С:Предприятие 8.1. Руководство пользователя», приложение 1 «Редактор текстов». Так как работа с любым текстовым редактором в системе Microsoft Windows осуществляется примерно одинаковым образом, в данном разделе будет но описание специфических возможностей текстового редактора системы 1С:Предприятие 8.1. Таблицу сочетаний клавиш для редактора текстов см. в справке при зовании программы. Редактирование модулей Редактирование модулей выполняется в процессе создания формы объекта конфигурации, а также при разработке модулей (модуль приложения, модуль внешнего соединения, общие модули, модули прикладных объектов). При создании формы текстовый редактор выступает как составная часть редактора форм и вызывается щелчком мыши на закладке Модуль в окне редактора форм. Для редактирования модуля приложения, модуля внешнего соединения, общего модуля и модуля объекта текстовый редактор вызывается в виде отдельного окна. Для открытия модуля приложения и модуля внешнего соединения щелкните правой кнопкой мыши по имени конфигурации (самая верхняя строка дерева конфигурации) и в контекстном меню выберите пункт Открыть модуль приложения или Открыть модуль внешнего соединения. Для редактирования модуля объекта выберите объект и в контекстном меню выберите пункт Открыть модуль объекта. Для редактирования общего модуля в окне Конфигурация на ветви Общие/Общие модули выберите нужный модуль и в контекстном меню выберите пункт Открыть модуль.
2-720 1 С.'Предприятие 8.1. Конфигурирование и администрирование Процесс редактирования текста программного модуля ничем не отличается от процесса редактирования текстовых документов — вы можете вать все возможности редактора текстов. В этом разделе будут описаны специфические режимы редактора текстов, которые доступны при редактировании модулей. Выделение цветом синтаксических конструкций Для удобства редактирования текстов модулей текстовый редактор име- ! ет функцию выделения цветом элементов встроенного языка системы 1С:Предприятие 8.1 - ключевых слов, констант (не объектов рации) различных типов, операторов, комментариев и других. Цвета, которыми будут выделяться разные типы синтаксических конструкций, I можно установить в окне Параметры, которое открывается выбором пункта Сервис - Параметры (о настройке параметров текстового редактора см. па- , раграф «Установка параметров текста модуля» на стр. 2-903). Названия встроенных функций цветом не выделяются (цвет совпадает с цветом идентификаторов). В общем случае, когда текстовый редактор вызывается для редактирования текста модуля, эта функция включается автоматически. Однако в некоторых случаях текст модуля может быть расположен во внешнем текстовом файле. , Тогда при открытии такого файла конфигуратор не распознает модуль и будет считать его обычным текстовым документом. В этом случае при редактировании текста будет недоступно выделение цветом синтаксических конструкций и автоматическое форматирование текста модуля. Для указания ц конфигуратору, что редактируется модуль, а не текстовый документ, служит i пункт Текст - Встроенный язык, выполняющий функцию переключателя. Когда он включен (слева от слов Встроенный язык в меню появляется отметка И), текстовый редактор считает загруженный в него текст текстом модуля и выделяет цветом найденные синтаксические конструкции. Если этот режим включен при редактировании обычного текстового документа, для вывода текста будет также использоваться шрифт, ленный для текстов модулей в настройке параметров конфигуратора (пункт Сервис- Параметры, закладка Тексты, реквизит Шрифт). Настройка параметров системы 1С:Предприятие 8.1 позволяет отключить режим выделения цветом синтаксических конструкций, тогда выбор пункта Встроенный язык не включит выделение цветом синтаксических ций модуля, а будет использовать только установки шрифта модуля и шага табуляции. Если режим выделения цветом синтаксических конструкций выключен, для вывода текста используются цвета операционной системы.
Глава 18. Инструменты конфигурирования' 2-721 Группировка В модулях или в текстовых документах, просматриваемых в режиме Встроенный язык, некоторые синтаксические конструкции автоматически объединяются в группы. К таким конструкциям относятся Если..Тогда... КонецЕсли, Пока.. .Цикл.. .КонецЦикла, Процедура.. .КонецПроцедуры и другие. Группы текста позволяют лучше воспринимать различные части текста, а также переносить и копировать группу целиком. В первой строке, в крайней левой колонке окна редактора текстов, для чения группы программа размещает специальный маркер В с вертикальной линией на всю длину группы. Свернутая группа помечается маркером EEL Свернуть и развернуть группу можно с помощью мыши. Для этого точно щелкнуть левой кнопкой мыши в маркер группы. Щ Общий модуль ЛроцедурыРа Функция РассчитатьУдер»;ание(СтрокаДвижений, Индекс, ДанныеБазы) |7| Процедура РассчитатьПремии(Ссылка, НаборДвиж) Зкспорт[Г] " Функция Рассчитать1гремига1СтрокаДвиз:ений, Индекс, ДанныеБазы) [Г) Функция ПолучитьПраздничныеДни(J Экспорт [д] ПраздмичныеДни. Добавить('20020101 "Jr ПразаничныеДни ДобавигьГ20020107]: Праздничг1ыеДни.Добавить('200201О7'}! // Автоматическое заполнение рабочего] ПраздничмыеДмиДобавигь('20020223 ПродолжительностьДня = 24*60*60, НаборЗаписейТрафика = РегистрыСведеня НаборЗаписейТрафика.Прочитать[) Процедура АвтозаполнитьГрафикКояпании(Дат ПраздничныеДни»НовыйСписокЗначеннй; ПраздничныеДни " ПолучитьПраздничныеД] Пр здничмыеДниД баеигь(' ПраздничныеДни.ДобавигьГ20020501'1; • ПраздничныеДни Добавить('200205021); // сначала удаляем записи заполняемогъ ngjwo да — ¦ Номер =0; Пока Истина Цикл Если Номер >- НаборЗагшсейТрафика.Количество!) Тог»да[Г) СтрокаГрафика •» НаВорЗаписейГрафика[Номер] ; Если СтрокаГрафика.День >= ДатаНачала И СтрокаГрафика.День НаборЗаписейТрафика.Удалить(СтрокаГрафика) ; . Иначе 3 & Если при этом нажать клавишу Ctrl, то сворачивание и разворачивание будет производиться также для подчиненных групп (условий, циклов и проч.). Свернутый текст замещается маркером В, располагаемым в конце первой строки группы. При подведении указателя мыши к этому маркеру на экран выводится содержание свернутой группы в виде подсказки (см. рисунок). Если текст группы достаточно большой, то выводится только его ная часть. С помощью команд, выполняемых с клавиатуры, можно легко управлять состоянием групп.
2-722 1 С:Предприятие 8.1. Конфигурирование и администрирование Клавиши Ctrl + Num- Ctrl + Num + Ctrl +Shift+ Num- Ctrl + Shift + Num + CtrlH-Shift+ R Действия Сворачивает группу (курсор может быть в любом месте группы) Разворачивает группу (курсор должен быть в первой строке группы) Сворачивает все группы Разворачивает все группы Обновить группировки При написании текста модуля, во время завершения написания синтаксической конструкции, автоматически создаются группы для всех синтаксических конструкций любого уровня вложенности. Обновление группировок выполняется с помощью пункта Текст - Группировки - Обновить группировки или автоматически при сохранении текста согласно настройке показа групп. Первым считается уровень описания процедур и функций, вторым - сических конструкций, вложенных только в тело процедуры или функции, но не в тело других синтаксических конструкций. Режим показа групп можно настроить. О настройке режима см. параграф «Настройка показа группировки» на стр. 2-905. Форматирование модуля Редактор текстов системы 1С:Предприятие 8.1 включает ряд режимов, чающих разработку модулей. Форматирование синтаксических конструкций Хорошим стилем написания модулей считается использование сического отступа - выделения лидирующими пробелами (табуляцией) управляющих конструкций встроенного языка системы 1С:Предприятие 8.1, например так, как это показано в приведенном ниже фрагменте модуля. Процедура СледующийЭлемент(Справочник, Выборка) Пока Истина Цикл Если Выборка.Следующий() = Ложь Тогда Выборка = Справочник.Выбрать (); Продолжить; Иначе Прервать; КонецЕсяи; Если Выборка.ЭтоГруппа Тогда Продолжить; КонецЕсли; Возврат; КонецЦикла г КонецПроцедуры
Глава 18. Инструменты конфигурирования 2-723 В данном фрагменте строки модуля, расположенные внутри структурных операторов Если...Тогда...КонецЕсли и Пока...Цикл...КонецЦикла, смещены вправо, чтобы подчеркнуть их «вложенность». Текст модуля, ванный с использованием синтаксического отступа, удобнее в восприятии и проще в отладке. Текстовый редактор системы 1С:Предприятие 8.1 предоставляет функции автоматического форматирования управляющих конструкций встроенного языка. Для настройки автоматического форматирования в режиме установки параметров системы (меню Сервис главного меню конфигуратора, закладка Модули) можно выбрать один из двух видов отступа. Синтаксический отступ выполняет автоматическое форматирование текста модуля, смещая вправо текст, расположенный внутри щих конструкций типа Если...Тогда...КонецЕсли и Пока...Цикл...КонецЦикла и подобных. Смещение выполняется за счет добавления в начало строк необходимого количества знаков табуляции. «Обыкновенный» отступ автоматически выравнивает текст строки по левой границе предыдущей строки. Если автоотступ отключен, никаких дополнительных символов в текст добавляться не будет. Кроме автоматического форматирования текста модуля в процессе ввода можно также отформатировать уже введенный текст. Для этого необходимо выделить блок текста, который требуется отформатировать, и выбрать пункт Текст- Блок- Форматировать. При этом текстовый редактор проанализирует текст модуля и выполнит его форматирование, при котором содержимое каждой синтаксической конструкции будет сдвинуто вправо на величину табуляции независимо от первоначального расположения строк (лидирующих пробелов). В пустые строки устанавливаются знаки табуляции в соответствии с синтаксической конструкцией. Блок текста также можно целиком сдвигать вправо или влево с шагом табуляции. Для этого необходимо выделить блок текста и выбрать команду Текст - Блок - Сдвинуть вправо (Текст - Блок - Сдвинуть влево). Текстовый редактор системы 1С:Предприятие 8.1 осуществляет ческое удаление пробелов на концах строк. Это выполняется при записи модуля. Вставка/удаление признака комментария При отладке модулей зачастую бывает необходимо на время «отключить» некоторые строки модуля, чтобы они не исполнялись при работе системы. Обычно это выполняется путем превращения таких строк в комментарии - добавлением перед ними признака комментария «//». Позднее, чтобы опять
2-724 1С:Предприятие 8.1. Конфигурирование и администрирование «включить» закомментированные строки в работу, признак комментария удаляется. Для выключения (и последующего включения) больших фрагментов модуля удобно использовать режим автоматической установки признаков тария у всех строк выделенного блока или текущей строки (ее выделять необязательно). Для этого следует выделить блок текста или установить указатель на нужную строку и выбрать пункт Текст - Блок - Добавить комментарий (Текст - Блок - Удалить комментарий). При удалении комментария, если перед строкой установлено несколько признаков комментария, удаляется только один. Вставка/удаление переноса строки При написании значения строковых констант для переноса строки зуется символ «|». Текстовый редактор позволяет легко добавлять или удалять этот символ в предварительно выделенные строки. Для вставки/удаления символа переноса у всех строк выделенного блока или текущей строки (ее выделять необязательно) укажите область и выберите пункт Текст - Блок - Добавить перенос строки для вставки и Текст - Блок - Удалить перенос строки для удаления. Символ переноса вставляется в первую значимую (не пробел и не знак табуляции) позицию каждой строки. Переход по процедурам и функциям модуля При значительном количестве имеющихся в модуле описаний процедур и функции удобно использовать режим поиска процедур, который ляет редактор текстов системы 1С:Предприятие 8.1. Если воспользоваться пунктом Правка - Процедуры и функции, на экран будет выдано окно, содержащее список всех дур и функции редактируемого модуля. Имена процедур и функций в списке выдаются в порядке их расположения в модуле. Если включена опция Сортировка, список будет отсортирован по алфавиту. Wli ОтобразитьКартинку |рп| ВыбратьИзФайлаНажагие [р~>| ОчиститьНажатие |рп] ПередЗакрьггием |{pnj ПриЗаписи |{рп) ПриИзмененииДанных <ПерадСткрытием> <ПриОткрьггии> <ПрнП г-; .-•-"... <ОбноеяениеОтображения> <ПерадЗакрытием> <ПриЗакрьггии> <ОбработкаВыбора> <0бработкаАктивизации0бъекта> | Перейти ( I Отмена '¦ | Справка j Г_]Сортировка
Глава 18. Инструменты конфигурирования 2-725 Имена процедур и функций, уже расположенных в форме, имеют рамму слева от наименования. Для перехода к нужной процедуре или функции необходимо выделить ее имя в списке и нажать кнопку Перейти. В списке процедур и функций в угловых скобках показываются ния' событий, процедура-обработчик которого еще не создана. Созданные процедуры и функции имеют перед наименованием пиктограмму (Р() и F(x) соответственно). Состав событий, которые могут быть обработаны, ляются типом объекта и видом формы, а также составом элементов управления, расположенных в форме. При выборе такой строки в модуль добавляется текст предопределенной процедуры, а в соответствующее событие категории События - ссылка на эту процедуру. Важно! Создание процедур-обработчиков событий, определенных системой для данного модуля, необходимо выполнять в палитре свойств для формы в категории свойств События, или с помощью окна Процедуры и функции, или из поля списка Процедуры и функции. При простом вании процедур-обработчиков событий из других модулей обработчики событий для формы не будут инициированы системой и скопированные процедуры не будут вызываться для обработки событий. При перемещении указателя в строку модуля наименование текущей процедуры или функции показывается в поле выбора процедуры панели инструментов Модуль (команда Процедуры и функции). С помощью этого списка можно также перейти к нужной процедуре или функции. Для перехода к процедуре, функции и переменным достаточно указать мышью их наименование и нажать клавишу F12. Переход возможен только для процедур, функций и переменных, расположенных в данном модуле, или к экспортируемым процедурам, функциям и переменным модуля жения, общих модулей и модулей объектов. Если записанное выражение состоит из частей, определенных в разных тах конфигурации, перед переходом на экран будет выведен список таких объектов для выбора перехода. Переход может осуществляться к лению переменной, определению объекта метаданных, тип которого имеет текущее выражение, или определению процедуры или функции, зуемой в выражении (например, в модуле объекта, тип которого имеет выражение). Например, для выражения Спр.НайтиПоКоду(), где Спр определен как справочник Валюты, при нажатии клавиши F12 будет выведен список перехода к определению переменной Спр и определению объекта метаданных Справочники Валюты в дереве объектов конфигурации.
2-726 1С:Предприятие 8.1. Конфигурирование и администрирование Контекстная подсказка при вводе текстов модулей Текстовый редактор системы 1С:Предприятие 8.1 предоставляет средство контекстного ввода выражений с использованием системных объектов, их свойств, методов, процедур и функций, наименований объектов, ленных в конфигурации, а также переменных, процедур и функций, определенных в общих модулях, модулях прикладных объектов и модулях форм. В список включаются предопределенные элементы справочников, планов счетов, планов видов характеристик и планов видов расчетов. В список контекстной подсказки могут быть включены шаблоны текстов и ключевые слова. Замечание. Контекстная подсказка текста не поддерживается мой для текстовых документов с установленным свойством Встроенный язык. Ввод осуществляется из списка, который выводится в виде контекстного меню в месте текущего расположения курсора (с учетом близости границ экрана). Список вызывается нажатием комбинации клавиш Ctrl + <клавиша Пробел> на любой стадии набора выражения или автоматически после ввода ла «.» (точка) после выражения, представляющего собой объект, имеющий свойства и/или методы (при разрешенном вызове контекстной подсказки - см. параграф «Настройка вызова контекстной подсказки» на стр. 2-906). Состав списка зависит от контекста выполнения программного модуля (см. раздел «Общее описание языка» справки по встроенному языку) и предварительно введенного текста. На начальном этапе, когда текст еще не введен или введены только начальные символы выражения, состав списка определяется контекстом выполнения. Список представлен в виде строк текста, отсортированных по алфавиту. Если при открытии списка был введен фрагмент текста, то список онируется на первой строке, наименование которой максимально включает набранный или выделенный текст (от начала наименования). Если ный текст не содержится в строках списка, то список позиционируется на сроке, в которой максимально представлен набранный текст. Если набранное выражение представляет собой системное перечисление, то для вызова списка достаточно нажать клавишу <=>. При открытом списке можно продолжить набор текста. В этом случае список будет последовательно позиционироваться на строках, щих с набираемым текстом.
Глава 18. Инструменты конфигурирования 2-727 Список можно просмотреть стандартным способом. При нажатии ши Enter содержимое выбранной строки переносится в модуль, заменяя выделенный или набранный текст. Замечание. При переносе текста в модуль не вставляются параметры методов и используется контекст клиентского приложения. В левой части строк имеются пиктограммы, показывающие вид объекта и тип места его расположения. Пиктограмма еэ (черная) еэ (зеленая) сэ (синяя) сэ (красная) Р() (черная) Р() (зеленая) Р() (синяя) Р() (красная) F() (черная) F() (зеленая) F() (синяя) F() (красная) =•" а Объект Свойства глобального контекста, системные наборы значений, перечисления Свойства объектов универсальных коллекций значений, свойства интерфейсных объектов, реквизиты прикладного объекта, предопределенные элементы Экспортируемые переменные модулей Локальные переменные модуля Процедуры глобального контекста Процедуры интерфейсных и прикладных объектов Экспортируемые процедуры других модулей Локальные процедуры модуля Функции глобального контекста Функции интерфейсных объектов и прикладных объектов Экспортируемые функции других модулей Локальные функции модуля Ключевые слова (Если, Цикл, Попытка и др.) Шаблон текста Шаблон текста включается в список только в том случае, если в нем лена строка автозамены.
2-728 1С:Предприятие 8.1. Конфигурирование и администрирование Если в результате набора или после выбора из списка текст будет лять выражение, имеющее свойства или методы, то после ввода символа «.» (точка) на экран автоматически будет выведен список, содержащий ный набор свойств и методов, предоставляемых данным выражением. Например, при вводе текста Справочники, выводится список, содержащий наименования всех справочников, описанных в данной конфигурации. После выбора конкретного справочника и ввода символа «.» на экран снова будет выведен список, но, в отличие от предыдущего, в нем будут содержаться наименования процедур и функций работы со справочником, а также пределенные элементы справочника. При выборе метода, возвращающего значение некоторого типа, также имеющего свойства и методы, контекстный ввод может быть продолжен (нужно в конце наименования ввести щую и закрывающую скобки). Список контекстной подсказки содержит только возможный набор, определяемый типом введенного выражения. Для переменных модулей также можно использовать механизм контекстной подсказки. Контекстная подсказка может использоваться при вводе оператора Новый, а также для переменных, созданных с помощью оператора Новый. Контекстная подсказка может использоваться при вводе различных ключевых слов (например, Если, Для, Цикл и др.). Ключевые слова входят в список, вызываемый стандартным образом нажатием комбинации клавиш Ctrl + <клавиша Пробел> на любой стадии набора слова. Показ в списке ключевых слов можно настроить (см. параграф «Настройка вызова контекстной подсказки» на стр. 2-906). Если для какой-либо переменной или метода список состоит только из одной строчки, то нажатие комбинации клавиш Ctrl + <клавиша Пробел> приводит к непосредственной вставке этой строки. Таким образом, механизм контекстной подсказки текстового редактора системы 1С:Предприятие 8.1 предоставляет способ быстрого и правильного набора текстов модулей. Синтаксический контроль модуля Редактируемый модуль может быть проверен на правильность ния синтаксических конструкций встроенного языка. Для выполнения синтаксического контроля модуля необходимо ваться пунктом Текст - Синтаксический контроль. Синтаксический контроль выполняется в следующей последовательности: • общие модули, • модуль приложения,
Глава 18. Инструменты конфигурирования 2-729 • модуль объекта, • модуль формы. При этом контроль модулей выполняется, если модуль еще не проходил контроля или был модифицирован. При контроле модуля проверяются только те модули, которые в списке расположены до данного модуля. Например, при проверке модуля жения проверяются только общие модули. Модуль внешнего соединения проверяется только при его редактировании. При наличии ошибок их список будет выдан в окне сообщений с указанием полного адреса месторасположения и описания ошибки. При подведении указателя мыши к строке, содержащей сообщение об ошибке, он ет вид увеличительного стекла. Для перехода к строке модуля, вызвавшей ошибку, следует дважды щелкнуть мышью по этому сообщению. Если модуль, содержащий ошибку, закрыт, он будет открыт автоматически. Если ошибки не обнаружены, в окно сообщений будет выдано сообщение об отсутствии ошибок в модуле. В режиме настройки параметров конфигуратора (пункт Сервис- Параметры, закладка Текст модуля, реквизит Проверять автоматически) можно включить режим автоматической проверки модуля. В этом случае, если модуль был изменен, при закрытии окна модуля или при сохранении конфигурации в целом будет выполняться синтаксический контроль модуля. Режим автоматической проверки удобно использовать, когда производится отладка какого-либо элемента конфигурации. Для полного синтаксического контроля всех модулей конфигурации за один проход следует выбрать пункт Конфигурация - Синтаксический контроль модулей. В процессе исправления ошибок в модулях можно получить подсказку, по встроенному языку, вызвав Синтакс-Помощник и найдя в нем описание нужного элемента встроенного языка (см. параграф «Синтакс-Помощник» на стр. 2-915). Подсказку по конкретному элементу языка (оператору, процедуре, функции, свойству, методу) можно получить, если поместить курсор в модуле на этот элемент языка и нажать клавиши Ctrl + F1. В Синтакс-Помощнике будет выдано описание выбранного элемента встроенного языка.
2-730 1 С:Предприятие 8.1. Конфигурирование и администрирование Ограничение доступа к модулям конфигурации Для всех модулей, кроме модулей формы, можно установить пароль доступа. Основное назначение пароля - защита авторских прав разработчиков гураций. Ограничения: • не защищаются модули форм; • не защищаются модули, включающие директивы препроцессора. Установка пароля доступа Для установки пароля откройте требуемый модуль и выберите команду Текст - Установить пароль. Пункт доступен, если модуль открыт для записи. Если модуль содержит директивы препроцессору, то программа вьшодит предупреждение: Защищенный модуль не должен содержать директив цессора. Продолжить? Если нажать кнопку Нет, то попытка установки пароля не производится. Если нажать кнопку Да, то установка пароля становится возможной, и подразумевается, что в дальнейшем директивы будут удалены. Если директивы не удалить, то в режиме 1С:Предприятие система выдаст предупреждение: Ошибка компиляции: модуль <наименование модуля>. ный текст модуля недоступен, и скомпилированный образ отсутствует. На экран выводится диалог ввода пароля. Введите пароль и повторите его. Для установки пароля нажмите кнопку ОК, для отказа от установки - кнопку Отмена. в Пароль: "Подтверждение: j**™1™* | Q^.-Jr^y^. хгяавшякЕЕП 'liNi'tiVlili В ведите пароль для просмотра текста модуля Открытие защищенного модуля Если на модуль лен пароль доступа, то при попытке открыть модуль выводится диалог ввода пароля. Если пароль указан верно, то модуль открывается. Если введен ный пароль, то выводится предупреждение Некорректный пароль и модуль не открывается. Закрыть
Глава 18. Инструменты конфигурирования 2-731 Смена пароля Для смены пароля откройте модуль и выберите команду Текст - Установить пароль. На экран выводится диалог ввода пароля. Введите прежний пароль. Если пароль введен правильно, то на экран выводится диалог ввода нового пароля (см. стр. 2-730). Для снятия пароля очистите поля для ввода пароля и, не вводя значения пароля, нажмите кнопку ОК. Редактирование текстовых макетов Если в конструкторе макетов в качестве типа макета выбран Текстовый макет, то открывается текстовый редактор в режиме ввода текстового макета. Режим редактирования текстового макета также доступен для текстовых документов с установленным расширением Текстовый макет. Формат текстового макета Весь текст макета делится на области. Области должны следовать друг за другом и не могут пересекаться или включаться друг в друга. В тексте макета области выделяются следующим образом: Юбласть ХХХХХ #КонецОбласти ХХХХХ — имя области. Конец области указывать необязательно. Объявление начала области ет окончание предыдущей области. Для хранения вариантов области на нескольких языках после имени области может следовать код языка, для которого написана область. ' Юбласть Заголовок! RU #КонецОбласти ¦ #Область Заголовок1 EN #КонецОбласти Если для какого-либо варианта области код языка не указан, то этот вариант области будет возвращаться, когда в метод ПолучитьОбласть() передан код языка, не указанный ни в одном из вариантов описаний областей. Каждая область состоит из служебной и текстовой частей. I «Область ХХХХХ | [служебная часть] [текстовая часть] #КонецОбласти
Г 2-732 1С:Предприятие 8.1. Конфигурирование и администрирование Служебная часть области Служебная часть области не имеет явных границ. В нее входят все строки от начала области, которые начинаются специальным символом #. В служебной части описываются поля текстового макета, используемые внутри области. Если нет надобности в служебной части, она может отсутствовать. Управляющие конструкции текстового макета выделяются цветом. Структура служебной части области Служебная часть области состоит из описаний некоторых общих ров области и описаний форматов полей, входящих в область. Все описания, сделанные в служебной части области, действуют только в пределах ти. Если в некоторой области описан формат поля и оно же встречается в другой области без описания формата, для него в другой области будет использоваться формат по умолчанию. В начале служебной части области может следовать ключевое слово общей области #ЗаменаСимвола А В. С его помощью будет производиться замена символов внутри строк области. А - символ, который будет заменен; В — символ, которым будет заменен символ А. Символы должны быть заключены в одинарные кавычки. Например, если написать #ЗаменаСимвола "@" "#", то внутри строк символы @, не входящие в названия полей, будут заменены на #. Имеет смысл использовать данное ключевое слово в тех случаях, когда в оформление строк макета должен входить символ # (его непосредственное использование указывало бы на служебный характер текста). Описания полей После описания замены следует описание форматов полей, используемых в области. Поле создается с помощью ключевого слова #Поле ПППП, где ПППП — имя поля, формат которого будет описываться. Далее на следующих строках размещаются ключевые слова для описания поля. Описание поля действует до начала описания следующего поля. #Выравнивание {Лево | Право | Центр | ПоШирине} - указывает выравнивание поля в пределах отведенных для него знакомест. #Поле ВидРаботы #Выравнивание ПоШирине #Формат <Форматная строка> - указывает форматную строку для вывода поля.
Глава 18. Инструменты конфигурирования 2-733 #Поле Дата1 #Формат "ДФ=б.с1.ММ.уу" ', Моле Bpl #Формат "ЧЦ=4; ЧДЦ=0; ЧРД=." . #3абивать <Параметр> - указывает необходимость забивки области, ной для поля, символами #. Если <Параметр> = Истина и содержимое поля не помещается в отведенное место, будет выполняться забивка. ¦ #Поле ИтогОтчета #Формат "ЧЦ=18; ЧДЦ=2; ЧРД=." #3абивать Истина Текстовая часть области Текстовая часть области состоит собственно из строк текстового макета. Она начинается после последней строки, принадлежащей служебной части области, и продолжается до конца области. Внутри строк текстового макета можно указать имя поля: [ПППП]. Количество знакомест, отводимых под поле, соответствует количеству знакомест, указанных скобками (включая скобки). Если размер поля ляет один символ, допускается использование одной скобки. Например: i ![Имя ]! [Код ]! [Наименование ] I _____ ,! Если имя поля прижато к левой скобке, считается, что поле имеет левое пыравнивание, а если к правой скобке, то правое выравнивание. Если лы есть слева и справа от имени поля, оно будет центрироваться в пределах отведенных под него знакомест. Если имя поля больше, чем количество знакомест, отводимых под поле, имя поля указывается с помощью ключевого слова Поля. Например: #Поле Номер #Формат "ЧЦ=3; ЧДЦ=0" ИПоле Код #Формат "ЧЦ=5; ЧДЦ=0" Моле Пометка #Формат "ЧЦ=1" 1 [ ]! [ Код]![ Наименование ]! [! #Поля Номер Пометка 11праметры в ключевом слове Поля указываются только для тех полей, имена которых не указаны в теле макета в скобках.
2-734 1 С:Предприятие 8.1. Конфигурирование и администрирование Автоматический перенос Если текст не умещается в отведенный размер поля, может возникнуть необходимость использовать автоматический перенос текста на новую строку. Для этого предлагается использовать указание расположения поля в макете в фигурных и угловых скобках: • {ПППП} - область поля ограничена фигурными скобками. Они ют, что автоперенос текста, хранящегося в поле ПППП, возможен на эту строку, и указывают область для непоместившегося ранее в поле ПППП текста. При этом, даже если в строке нет необходимости выводить ни одно из полей, строка все равно будет выведена. • <ПППП> - область поля ограничена угловыми скобками. Они вают, что автоперенос текста, хранящегося в поле ПППП, возможен, и указывают область для непоместившегося на предшествующей строке в поле ПППП текста. При этом, если все поля, имеющиеся в строке, указаны в угловых скобках, но ни одно из них не потребовалось для вывода текста, строка не будет выведена. Если при выводе текста из поля в строку, в которой поле размещено в угловых скобках, текст все равно не уместится, такая строка будет размножена до тех пор, пока не удастся вывести весь текст из поля. Например: [ YY] [XX {XX <хх ]![ }! >! ZZ] В этом примере указывается, что поле XX размещается на первой строке. На второй строке размещается та часть поля XX, которая не поместилась на первой строке. На третьей строке размещается часть поля XX, которая не поместилась ни на первой, ни на второй строке. При этом если в поле XX для третьей строки текста не осталось, она совсем не выводится, а если осталось, то третья строка будет выводиться до тех пор, пока не закончится гекст из поля XX. Описание ключевых слов текстового макета Описание области Область (Area) Синтаксис Юбласть <Имя области> <Код языка> <Имя области> Обязательный Указывается имя области, по которому производится ее получение методом ПолучитьОбластьП текстового документа.
Глава 18. Инструменты конфигурирования 2-735 <Код языка> Необязательный Указывается код языка области. Если предполагается использование фигурации на нескольких языках, то в текстовом макете можно указать несколько областей с одинаковыми именами, но тогда каждая область должна содержать код языка. Если код языка не указан, то такая область выбирается в том случае, когда область запрашивается с кодом языка, сутствующим в описании областей. Описание Указывается начало области макета, а если предшествующая область не закончена, то конец предшествующей. КонецОбласти (EndOfArea) Синтаксис #КонецОбласти Описание Указывается явный конец области макета. Описание области ЗаменаСимвола (ReplaceChar) Синтаксис #ЗаменаСимвола Заменяемый символ> <Символ замены> Заменяемый символ> Обязательный В одинарных кавычках указывается символ, который будет заменен. <Символ замены> Обязательный Указывается символ, на который будет заменен Заменяемый символ>. Описание С помощью данного ключевого слова будет производиться замена символов внутри строк области. Описание поля Поле (Field) Синтаксис #Поле <Имя поля> <Имя поля> Обязательный Имя поля.
2-736 1С:Г)редприятие 8.1. Конфигурирование и администрирование Описание Указывается поле, для которого необходимо указать ключевые слова тирования. Описание форматирования поля Выравнивание (Align) Синтаксис #Выравнивание <Параметр выравнивания> ¦«Параметр выравнивания> Обязательный Значение выравнивания поля. Может принимать следующие значения: • Лево (Left), • Право (Right), • Центр (Center), • ПоШирине (Justify). Описание Указывается выравнивание при выводе содержимого поля. Формат (Format) Синтаксис #Формат <Форматная строка> <Форматная строка> Обязательный Определяет формат представления значения поля. Например, для даты: ¦ДФ=ЛШМ.уу" Описание Указывается формат вывода поля. Забивать (Block) Синтаксис #3абивать <Параметр> <Параметр> Необязательный Определяет необходимость забивки поля. Может принимать значения: • Истина (True), • Ложь (False).
Глава 18. Инструменты конфигурирования 2-737 Описание Если значение параметра Истина, то устанавливается забивка, при которой в поле, значение которого не помещается в отведенное место, выводится символ # во всем отведенном месте. Список полей Поля (Fields) Синтаксис #Попя <Имя поля 1> <Имя поля 2>... <Имя поля N> <Имя поля> Обязательный Имя поля. Обязательно указывать все имена полей, которые не указаны в тексте области макета. Описание Указывается список полей, имена которых нельзя указать в месте их ложения. Пример печати расходной накладной Предполагается, что объект конфигурации Документ с именем Расходная накладная имеет в списке макетов текстового типа макет с именем ПечатьТекст: ' #Область Шапка RU Расходная накладная N [НомерДокумента ] От: [От ] Кому: [Кому ] I N1 Наименование I Цена 1Штук| Сумма I 1 #Облаеть Строка RU #Поле Цена #Формат "ЧЦ=10; ЧДЦ=2; ЧРД=." #Поле Штук #Выравнивание Право #Формат "ЧЦ=4; ЧДЦ=0; ЧРД=." #Поле Сумма #Формат "ЧЦ=12; ЧДЦ=2; ЧРД=." • | —+ + + + | ![]I[Наименование ]i[ Цена]I[ ]I[ Сумма]|#Поля Номер Штук i I<Наименование >| II I #06ласть Подвал RU #Поле ИтогоШтук #Вьгравнивание Право #Формат "ЧЦ=4; ЧДЦ=0; ЧРД=." #Поле ИтогоСумма #Вьгравнивание Право #Формат "ЧЦ=12; ЧДЦ=2; ЧРД=." Итого [ ] [ИтогоСумма] #Поля ИтогоШтук Директор: [Директор ]
2-738 1С:Предприятие 8.1. Конфигурирование и администрирование Макет содержит следующие области: Шапка - для вывода заголовка отчета; Строка - для вывода табличной части; Подвал - для вывода итоговых данных. В форме документа размещена кнопка Печать. Ее нажатие вызывает событие Нажатие(), процедура-обработчик которого размещена в модуле формы. Процедура ПечатьВТекст(Кнопка) ТекДок = Новый ТекстовыйДокумент(); ПечатьТекст(ТекДок); ТекДок.Показать{); КоиецПроцедуры В процедуре создается текстовый документ ТекДок и вызывается ра ПечатьТекст(ТекДок), которая заполняет текстовый документ на основе данных расходной накладной. Процедура расположена в модуле документа. После заполнения документа он выводится на экран. Текст процедуры ПечатьТекст(): Процедура ПечатьТекст(ТекДок) Экспорт //Получение макета Макет = ЛолучитьМакет("ПечатьТекст"); // Установим код языка Макет.КодЯзыкаМакета = "RU"; //Заголовок Область = Макет.ПолучитьОбласть("Шапка"); Область.Параметры.НомерДокумента = Номер; Область. Параметры. От = Формат (Дата, "ДФ=б<3. ММ. уууу"); Область.Параметры.Кому = Контрагент; ТекДок.Вывести(Область); // Обработка табличной части "Состав" СтрИтого = Новый Структура("ИтогоМтук, ИтогоСумма",0,0); Для Каждого СтрСостава Из Состав Цикл Область = Макет.ПолучитьОбласть("Строка"); Область.Параметры.Номер = СтрСостава.НомерСтроки; Область.Параметры.Наименование = СтрСостава.Номенклатура; Область.Параметры.Штук = СтрСостава.Количество; Область.Параметры.Цена = СтрСостава.Цена; Область.Параметры.Сумма = СтрСостава.Сумма; ТекДок.Вывести(Область); СтрИтого.ИтогоШтук = СтрИтого.ИтогоШтук + СтрСостава.Количествоц СтрИтого.ИтогоСумма = СтрИтого. ИтогоСумма + СтрСостава. Сумма;.} КонецЦикла; //Подвал Область = Макет.ПолучитьОбласть("Подвал"); Область.Параметры.Заполнить(СтрИтого); PC = РегистрыСведений.ОтветственныеСотрудники; Область.Параметры.Директор = РС.ПолучитьПоследнее(Дата) .Директор,-! ТекДок.Вывести(Область); КоиецПроцедуры
Глава 18. Инструменты конфигурирования 2-739 Редактирование текстов шаблонов Помимо возможностей текстового редактора модулей редактор текстов шаблонов позволяет создавать и редактировать имеющиеся шаблоны (о шаблонах см. параграф «Шаблоны текста» на стр. 2-909). При создании шаблона текст шаблона можно размещать с помощью режима вставки (см. стр. 2-911). Созданный текст можно редактировать в текстовом поле Текст шаблона. [ ftp C:\1cv8\Bin413\bin\npo6a.sl " № g<? f * j E-fiB Проба • U-Если .ЧИН Текст шаблона: ™ I % |-,л Пока <?"Условие"> Цикл <?> КонецЦихла; ¦аЖЗ Название: Я Пока й» 1 Автоматически заменять строка: |Пока | • • Вставка... - 1 s V Структурно шаблон может состоять из статической (неизменяемой ти) и динамической, содержание которой контекстно зависимо и не может быть задано заранее. Для управления динамической частью шаблона в тексте шаблона щают управляющие конструкции — последовательности символов, которые при вставке заменяющего текста шаблона вызывают выполнение каких- либо действий. В теле шаблона допускается использование неограниченного числа ляющих конструкций. Нельзя применять вложенные конструкции. Редактор производит выделение синтаксических конструкций шаблонов. Тело шаблона заключено в угловые скобки красного цвета.
2-740 1С:Предприятие 8.1. Конфигурирование и администрирование Виды управляющих конструкций Произвольный запрос <?"Подсказка"> где "Подсказка" - текст поясняющей надписи. Используется для ввода вольного текста. При использовании такого шаблона на экран выводится диалог на ввод контекстно зависимой части шаблона. Установка курсора <?> Конструкция используется для установки курсора в указанное место после вставки текста шаблона. Специальный запрос <?"Подсказка",<Ключевое слово>[, <Параметр1>[,<Параметр2>...]] где "Подсказка" - поясняющий текст в запросе на ввод, <Ключевое слово> - вид запроса, <Параметр1>...— параметры запроса. Конструкция используется для ввода объектов конфигурации, ленных элементов и других данных. Описания специальных запросов приведены в следующей таблице. Русский вариант БизнесПроцесс ВариантВыбора <Подсказка 1>, <Строка для вставки 1>,..., <ПодсказкаК>, <Строка для вставки N> ВыборТипа Документ ЖурналДокументов Задача ЗначениеПеречисления ИмяПользователя КонструкторОписанияТипов ПолноеИмяПользователя Английский вариант BusinessProcess VariantChoice <Подсказка 1>, <Строка для вставки !>,..., <Подсказка N>, <Строка для вставки N> TypeChoice Document DocumentJoumal Task EnumValue UserName TypeDescriptionConstractor UserFullName Описание Выбор вида бизнес-процесса При использовании данного шаблона на экран выводится список строк для выбора. Каждая строка списка состоит из подсказки и текста вставки. Например: «Подсказка I»- параметр, поясняющий текст первой строки списка; «Строка для вставки 1» - параметр, текст, который будет вставлен при выборе первой строки Выбор типа Выбор вида документа Выбор вида журнала документов Выбор вида задачи Выбор значения перечисления Ввод имени пользователя Конструктор описания типов Ввод полного имени пользователя
Глава 18. Инструменты конфигурирования 2-741 Русский вариант ИмяПолъзователяХранилшцаКон фигурации Константа КритеркЙОтборо Обработка Отчет Перерасчет Перечисление ПланВидовРасчета Шан&скаХфщггеристик ПланОбмена ПланСчетов ПланВидовРасчетаПредопределен- ныеДанные ПлмйнлмХ^шосрнспжГ^ахре- дстаолкЛнные ПланСчетовПредопределен- ныеДанные ОбъектМетаданных Последовательность РегистрБухгалтернн РегастрНакопления РегистрРасчета РегистрСведений Справочник СправочннкПредопределе- нныеДанные ТекстЗапроса ДатаВремя, <Форматная строка> ФорматнаяСтрока Английский вариант Constant FalteiCriterion Processing Report Recalculation Enum ChartOfCalculationTypes ChartOflCharacteristicTypes ExchangePlan ChartOfAccounts ChartOfCalculationTypesPre- defmedData ChartOfCharacteristicTy- pesPredefinedData OunOrAccoiuittProdduiod' *ия MDObjectsSubset Sequence AccountingRegister AccumulationReglster CalculationRegister InformatfonRegister Catalog CatalogPredefinedData QueryText DateTime, <Форматная строка> FormatString Описание Ввод полного имени пользователя хранилища конфигурации Выбор константы Выбор критерия отбора Выбор обработки Выбор отчета Выбор перерасчета Выбор перечисления Выбор плана видов расчета Выбор плана видов характеристик Выбор плана обмена Выбор плана счетов расчета. Сначала выбирается план видов расчета, а затем значение предопределенных данных Выбор предопределенных данных плана видов характеристик. Сначала выбирается план видр] характеристик, а затем значение предопределенных данных Выбор предопределенных данных плана счетов. Сначала выбирается план счетов, а затем значение Предопределенный счет Выбор объектов метаданных. При форыфпваинн шаблона выводится диалог, в котором следует отметить виды объектов метаданных. При выборе шаблона на экран выводится окно выбора, в котором содержатся все объекты метаданных указанных видов Выбор г>ослсдов*гельнос~н Выбор регистра бухгалтерии Выбор регистра накопления Выбор регистра расчета Выбор регистра сведений Выбор справочника Выбор предопределенных данных справочника. Сначала выбирается справочник, а затем значение Предопределенный счет Осуществляется ввод текста запроса с использованием конструктора запросов Ввод текущей даты в формате, указанном в параметре Форматная строка> Осуществляется ввод текста форматной строки с использованием конструктора форматной строки
2-742 1 С:Предприятие 8.1. Конфигурирование и администрирование Редактор текста запросов В данном режиме текстовый редактор помимо основных тей, описанных в книге «1С:Предприятие 8.1. Руководство пользователя», приложение 1 «Редактор текстов», обладает рядом дополнительных. Синтаксические конструкции языка запросов выделяются цветом. ние языковых конструкций см. в разделе «Работа с запросами» справки по встроенному языку. В список доступных команд текстового редактора добавляются команды установки и снятия комментария. В режиме 1С:Предприятие пользователям, обладающим административными правами, предоставляется возможность вызова конструктора запросов. Помимо текста запроса выполняется редактирование текстов запросов для текстового документа, у которого установлено расширение Язык запросов; для поля текстового документа с установленным расширением Язык запросов. Редактор табличных документов Для создания различных печатных форм, а также форм, ных для представления и ввода информации с использованием табличных документов, в системе 1С:Предприятие 8.1 используется ный редактор табличных документов. Таблицу сочетаний клавиш для редактора табличных документов см. в справке при использовании программы. Что такое табличный документ в системе 1С:Предприятие 8.1 Хотя в программе реализована возможность использования табличного документа для непосредственного ввода, обработки и отображения данных различных типов, как в «обычных» электронных таблицах ние табличных документов, размещенных в форме), табличные документы в системе 1С:Предприятие 8.1 используются в основном для представления уже обработанной информации, в частности, описания печатной формы отчета. Обработка информации и помещение ее в нужные места табличного документа для большинства объектов конфигурации выполняются мными модулями на языке системы 1С:Предприятие 8.1. В системе программ 1 С:Предприятие 8.1 табличный редактор применяется для работы с отдельными табличными документами и макетами печатных форм. Табличный документ хранится вне конфигурации, в файле на диске. Обычно он представляет «готовую» печатную форму и используется самостоятельно.
Глава 18. Инструменты конфигурирования 2-743 Макет хранится внутри конфигурации. Макеты бывают общими лагаются на ветви Общие - Макеты; например, макеты стандартных платежных документов, печатающихся из различных документов), а также могут относиться к определенному объекту конфигурации (например, карточка основного средства). Объект конфигурации может иметь ко различных макетов печатных форм. В форме также можно расположить табличный документ. Для этого димо использовать элемент управления Поле табличного документа. В этом режиме в табличный документ можно вставить другие элементы ния (подробнее об этом см. стр. 2-675). С точки зрения приемов работы с макетами и табличными документами они практически полностью совпадают. Описание работы с табличными документами приведено в книге «1С:Предприятие 8.1. Руководство вателя», в приложении 2 «Редактор табличных документов». Табличные документы (отдельные файлы и макеты) можно сравнивать и объединять (см. книгу «1С:Предприятие8.1. Руководство пользователя», главу «Сервисные возможности», параграф «Сравнение файлов»). Макет Создание макета производится конструктором макетов (подробнее на стр. 2-664) и конструктором выходной формы (подробнее на стр. 2-645). Общие принципы проектирования макета Проектирование макета заключается в «рисовании» составных частей, кирпичиков — именованных областей, из которых затем будет «собрана» готовая выходная форма - отчет. Так как практически все деловые ты имеют «прямоугольную» структуру, удобнее всего создавать макеты таких документов в редакторе, способном манипулировать ми элементами. Именно таким редактором и является табличный редактор, входящий в систему 1С:Предприятие 8.1. В процессе создания макета вы можете вводить и ячейки табличного документа разнообразный текст; задавать параметры форматирования (ячейке в целом); изменять высоту строк и ширину колонок; включать в макет рисованные элементы - линии и прямоугольники, а также другие графические объекты: картинки, OLE-объекты и диаграммы, ные элементы управления; определять оформление как всего табличного документа, так и отдельных ячеек или групп ячеек. При создании макета отчета руководствуются следующим. Практически каждый отчет состоит из так называемой шапки (заголовка) отчета, в которой указывается наименование отчета, исходные ры построения. Для формирования таких данных создают именованную
2-744 1 С:Предприятие 8.1. Конфигурирование и администрирование область, которую чаще всего называют Шапка. Если в отчете присутствует табличная часть, то в шапку обычно включают наименования колонок. Для вывода строк создают именованные области (в показанном на рисунке примере это Строка), отвечающие за вывод различной информации в ную часть. Число строк табличной части обычно невозможно узнать при подготовке макета, но структурно информация в табличной части повторяется, поэтому при построении отчета используют одни и те же области, ющие отдельную строку. Ячейкам, предназначенным для вывода конкретной информации, ставят в соответствие параметры (в приведенном примере это Счет, Наименование, Цена, Сумма и др.). При выводе очередной строки этим параметрам присваивают содержимое каждой выводимой строки, а затем уже включают сформированную область в состав отчета. Так происходит до тех пор, пока не будет выведена вся информация табличной части. Обычно отчет завершается выводом итоговых данных и реквизитами ответственных лиц. Эти данные обычно размещают в области, именуемой Подвал. В окончательном виде макет представляет собой совокупность ных областей, каждая из которых служит для выдачи какой-то части готового отчета: область для выдачи заголовочной части (наименования, даты и т. п.); область для выдачи шапки табличной части и так далее. Сам процесс построения отчета происходит следующим образом. Вначале отчет строится как пустой табличный документ. Необходимо иметь в виду, что макет не связан напрямую с готовым отчетом. Скорее макет пред-
Глава 18. Инструменты конфигурирования 2-745 ставляет собой некий конструктор, набор областей, из которых в процессе работы программного модуля складывается готовый отчет. В процессе обработки алгоритма отчета из макета в нужном порядке извлекаются поименованные области, транслируются (вместо параметров подставляются их значения) и копируются в табличный документ готового отчета. Средства язьжа формирования отчетов позволяют наращивать отчет как вниз, так и вправо. Подробнее о работе с именованными областями см. книгу «1С:Предпри- ятие8.1. Руководство пользователя», приложение «Редактор табличных документов», параграф «Имена». Свойства ячеек макета Категория свойств «Макет» Категория свойств Макет показывается, если в свойствах табличного документа установлено свойство Макет. Заполнение - пункты свойства Заполнение устанавливают, какого рода информация введена в ячейку. Свойство показывается, если в категории Значения не установлено свойство Содержит значение. Пункты не изменяют внешний вид ячейки, а используются только в процессе обработки шаблона, при формировании готового табличного документа. Пункты этого списка имеют следующий смысл (см. таблицу). Формат данных Текст Параметр Шаблон Пояснение Информация в ячейке является текстом и при формировании табличного документа будет перенесена из макета в готовый табличный документ без изменений Информация в ячейке представляет собой параметр, имя которого указывается в свойстве Параметр Информация в ячейке представляет собой текст с ными в него именами параметров, заключенных в квадратные скобки. При формировании табличного документа ные будут вычислены и включены в текст. Место, отводимое в тексте для вывода значений параметров, определяется длиной этих значений. Пример шаблона: Директор: [Директор] Информация в ячейке готового табличного документа преобразуется в тип Строка.
2-746 1С:Предприятие 8.1. Конфигурирование и администрирование Параметр — имя параметра для вывода содержимого ячейки. Свойство показывается, если в категории Значения установлено свойство Содержит значение или когда в свойстве Заполнение категории Макет выбрано ние Параметр. Параметр расшифровки — указывается имя параметра, по которому ма производит обработку расшифровки значения, находящегося в ячейке. Имеет смысл использовать, когда результирующий табличный документ размещен в форме (элемент управления Поле табличного документа). Когда готовый табличный документ открыт в режиме Только просмотр, при помещении указателя мыши над ячейкой, содержащей заполненное свойство Параметр расшифровки, указатель принимает форму ^ или \) (для ячейки- ссылки; требуется, чтобы свойство ячейки Гиперссылка было установлено). Это значит, что возможна детализация (расшифровка) данных табличного документа. Теперь, если дважды щелкнуть левой кнопкой мыши на этой ячейке (или сделать ее активной и нажать клавишу Enter, а для гиперссылки просто щелкнуть мышью), значение поля будет выдано на экран: • значения типа Строка, Число, Дата и Перечисление будут выданы для просмотра; • если значение имеет тип Документ, соответствующий документ будет открыт для просмотра и редактирования; • если значение является элементом справочника, этот элемент будет открыт для просмотра и редактирования в диалоге. Если при ке свойств справочника было задано редактирование в списке, будет открыта форма списка справочника, а указатель в табличном поле будет установлен на нужный элемент справочника. Эта обработка расшифровки называется стандартной и не требует никаких дополнительных настроек. Если требуется, чтобы обработка расшифровки производилась особенным образом, то необходимо в свойствах поля табличного документа в рии События для события Обработка расшифровки указать имя процедуры, осуществляющей обработку события, возникающего при выборе ячейки с расшифровкой. В модуле формы в теле этой процедуры нужно средствами встроенного языка описать обработку расшифровки. Проиллюстрируем сказанное примером. Для отчета создана форма и макет Шаблон. Макет содержит именованные области Шапка, Строка и Итоги. Область Строка содержит ячейку, в параметрах расшифровки которой указано имя параметра расшифровки Расшифровка. В форме размещен элемент управления Поле табличного документа с именем ТаблицаРезультат В категории свойств События этого элемента для свойства Обработка расшифровки указывается на процедуру обработки выбора ячейки РезультатОбработкиРасшифровки, расположенной в модуле отчета.
Глава 18. Инструменты конфигурирования 2-747 Формирование табличного документа производится по следующей ной схеме: // Инициализация табличного документа ТабДок = ЭлементыФормы.ТаблицаРезультат; ТабДок.Очистить(); Макет = ОбработкаОбъект.НолучитьМакет("Еабяон"); // Вывод шапки Секция = Макет.ПолучитьОбластьС'Шапка"); Секция. Параметры. Периоде = Периоде,- Секция.Параметры.ПериодПо = ПериодПо; // также формируются другие параметры шапки ТабДок.Вывести(Секция),- // сформируем запрос // // запрос сформирован и выполнен // обработка строк запроса Пока указывается условие цикла> Цикл Секция = Макет.ПояучитьОбласть("Строка"); Секция.Параметры.Наименование = <указывается значение>; Секция.Параметры.Расшифровка = <указывается значение >; // также формируются другие параметры строки ТабДок.Вывести(Секция); КонецЦикла; // Вывод в документ итоговой записи Секция = Макет.ПояучитьОбласть("Итоги"); Секция.Параметры.Количество = ОбщиеИтогиКоличество; Секция.Параметры.Сумма = ОбдиеИтогиСумма; // также формируются другие параметры ТабДок.Вывести(Секция); // обновим документ ТабДок.ТолькоПросмотр = Истина; ТабДок.Показать(); Пример реализации процедуры обработки выбора расшифровки: Процедура РезуяьтатОбработкаРасшифровки(Эл, Расшифровка, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; J ТипРасшифровки = ТипЗнч(Расшифровка); Если ТипРасшифровки = Тип("СправочникСсылка.Контрагенты") Тогда ИмяФормыОтчета = "ФормаОтчета!"; Иначе ИмяФормыОтчета = "Форма0тчета2"; i КонецЕсли; ФормаОтчета = ОбработкаОбъект.ПолучитьФорму(ИмяФормыОтчета),- ФормаОтчета.ВыполнитьОтчет(Расшифровка, Периоде, ПериодПо); ФормаОтчета.Открыть(); КонецПроцедуры
2-748 1 С:Предприятие 8.1. Конфигурирование и администрирование ФормаОтчета1 и ФормаОтчета2 - имена форм, разработанных специально для детализированных отчетов (обычно такие формы содержат поле ного документа, в которое выводится результат). Использование расшифровки - определяется область использования ровки. При выборе ячейки расшифровка возможна только для указанной ячейки; при выборе строки расшифровка действует в каждой ячейке текущей строки. Если выбрано Не использовать и указана расшифровка, расшифровка не действует: указатель не принимает форму ^ или ф (для ячейки-ссылки) и выбор в ячейке не отрабатывается. Категория свойств «Значения» Содержит значение - если установлено, то ячейка содержит значение. Установка свойства влияет на состав свойств других категорий. Тип значения - тип значения ячейки. Для табличного документа перечень содержит типы Число, Строка, Дата и Булево. Для элемента управления формы Поле табличного документа помимо примитивных типов перечень дополнительно содержит типы, определенные для текущей конфигурации, - документы, справочники, перечисления и т. д. Кроме того, можно установить тип данных Произвольный. В таком случае он может быть определен уже во время заполнения формы с помощью средств встроенного языка. Элемент управления - выбирается элемент управления для редактирования содержимого ячейки. Список возможных значений зависит от выбранного типа содержимого. Например, при выборе в типе данных значения Число в качестве редактора можно выбрать Поле ввода или Флажок. Для выбранного типа редактора в список объектов (Ячейки, Табличный документ) будет добавлена строка, содержащая тип редактора Поле ввода или Флажок. Состав свойств палитры свойств данного объекта определяется типом выбранного элемента управления. Формат - задается форматная строка, которая будет использоваться при выводе значения. Если не производить настройку формата изображения, то формат будет выбран из региональных настроек информационной базы (о форматной строке, используемой по умолчанию, см. стр. 2-864). Формат можно ввести вручную или с помощью окна (см. описание свойства Формат на стр. 1-212). Табличный документ, размещенный в форме Другой способ построения отчета заключается в том, что пользователь вводит данные в предназначенные для этого ячейки табличного документа, размещенного в форме как элемент управления.
Глава 18. Инструменты конфигурирования 2-749 В процессе ввода эти данные обрабатываются процедурами, написанными на встроенном языке, располагаемыми в модуле формы. Результаты расчетов могут использоваться при вычислении других ячеек табличного документа. После ввода данных можно распечатать отчет и сохранить его для ющей работы. Настройка ячейки, предназначенной для ввода данных, заключается в тановке следующих значений свойств: • в свойстве Имя можно указать имя ячейки, по которому будет диться доступ к связанному с этой ячейкой значению; • свойство Защита не установлено; • свойство Содержит значение установлено; • в свойстве Тип значения выбирается тип значения данных, мых в ячейке; • в свойстве Элемент управления выбирается вид элемента управления, с помощью которого производится ввод данных. Настройка элемента управления, указанного в настройках ячейки, чается в указании процедур-обработчиков событий, связанных с данным элементом управления. Например, для поля ввода можно обрабатывать событие ПриИзменении(). В этой процедуре могут располагаться вычисления значений других ячеек, связанных с данной. Вставка элементов управления в табличный документ В табличный документ, размещенный в форме, можно вставлять различные элементы управления. Вставка осуществляется стандартным образом, как описывается на стр. 2-675. Во вставленные элементы управления (например, панель, поле табличного документа) также можно вставлять элементы управления. Привязка элементов управления Вставленный элемент управления автоматически привязывается к табличному документу. Привязка осуществляется для верхнего левого и нижнего правого углов объекта. При изменении ширины или высоты строк или колонок, ложенных между этими углами, размер элемента также меняется. Размещение элементов управления в табличном документе Размещение элементов управления в табличном документе, вставленном в форму, имеет свои особенности. При размещении в табличном те элемента управления у него в палитре свойств добавляется свойство
2-750 1 (^.Предприятие 8.1. Конфигурирование и администрирование Встроен в ячейку. Если свойство установлено, то элемент полностью нимает ячейку, к которой привязан верхний левый угол. Если свойство не установлено, то элемент можно расположить поверх других ячеек. Для каждой ячейки, в которую встроен элемент управления, в список тов палитры свойств (верхняя строка палитры) добавляется строка для получения доступа к свойствам этого элемента. Если в палитре свойств встроенного элемента управления не установлено свойство Видимость, то в режиме 1С:Предприятие доступ к этому ту производится двойным щелчком мыши по ячейке, в которой расположен элемент управления. Для проверки работы элемента управления, размещенного в форме, в конфигураторе можно запустить режим просмотра формы (выберите пункт Форма - Проверить). Свойства табличного документа, размещенного в форме Если табличный документ размещен в форме, то для просмотра и рования его свойств необходимо, чтобы был выделен именно сам элемент управления, а не ячейка табличного документа. Если выделена ячейка, то для вьщеления элемента управления достаточно нажать клавишу Esc или щелкнуть мышью рамку элемента управления. Элемент управления можно выделить при переходе между элементами управления с использованием клавиши Tab (или Shift + Tab). Категория свойств «Использование» Защита - если свойство установлено, то табличный документ полностью защищается не только от редактирования, но и от копирования (в том числе через буфер обмена Microsoft Windows). Только просмотр - если свойство установлено, то табличный документ недоступен для редактирования. Этот режим используется для применения механизма расшифровок. Сохранять позицию - если свойство установлено, то текущая ячейка ного документа будет выбрана при открытии формы. Отображение сетки - если свойство установлено, то в табличном документе показывается сетка. Отображение заголовков - если свойство установлено, то в табличном документе показываются заголовки. Сохранять позицию фиксации - если свойство установлено, то сохраняется указанная позиция фиксации (число строк и колонок).
Глава 18. Инструменты конфигурирования 2-7'51 Отображать группы - если свойство установлено, то в табличном документе показываются группы. Разрешить начало перетаскивания. Разрешить перетаскивание — указывает использование обработки событий перетаскивания из табличного та и в табличный документ. Отображение выделения - указывает режим отображения выделения ячеек, когда документ неактивен. Сводные таблицы Сводные таблицы - универсальный механизм представления и ного анализа многомерных данных, полученных как результаты запросов, в табличном документе. Сводные таблицы сочетают простоту создания и многообразие форм представления полученных в запросе данных. Для представления данных необходимо: • сформировать запросы (см. стр. 2-644); • создать макет отчета или разместить в форме элемент управления Поле табличного документа; • разместить нужное число сводных таблиц в табличном документе; • установить связь результатов запросов со сводными таблицами. Размещение сводной таблицы в табличном документе Для размещения сводной таблицы в табличном документе выберите пункт Таблица - Встроенные таблицы - Вставить встроенную таблицу. Редактор таблиц размещает сводную таблицу, начиная с текущей ячейки (верхний левый угол таблицы). Сводная таблица состоит из области строк и области колонок - это области, в которые выводятся измерения запроса, а также области данных, в которую выводятся данные (ресурсы запроса). Каждая сводная таблица, размещенная в табличном документе, имеет имя. При создании ей по правилам имен присваивается имя по умолчанию вида СводнаяТаблицаМ, гдеN- порядковый номер сводной таблицы, размещенной в табличном документе. Имя можно изменить в палитре свойств. Для этого выберите сводную таблицу и в палитре свойств выберите вид объекта.
2-752 1С:Предприятие 8.1. Конфигурирование и администрирование Установка связи Для установки связи результата запроса со сводной таблицей необходимо в процедуре вывода данных в табличный документ указать в качестве источника данных результат запроса. Например: ! СводнаяОбласть = Макет.ПолучитьОбласть("СтрокаТаблицы"); ' ТабДокумент.Вывести(СводнаяОбласть); t ТабДок.ВстроенныеТаблжда.СводнаяТаблица!.Источник = РезультатЗапроса; Область макета СтрокаТаблицы - именованная область, в которой ложена сводная таблица СводнаяТаблица1. РезультатЗапроса - результат запроса. Запрос должен содержать расчет итогов запроса. Редактор карты маршрута Карта маршрута - это схематическое изображение последовательности выполнения действий, предусмотренных бизнес-процессом. Она является частным случаем графической схемы. Основное отличие карты маршрута от графической схемы - особая ка специальных элементов схемы (точка старта, завершения, действия, условия и т. д.). Карта маршрута является одновременно и инструкцией системе по нению последовательности действий бизнес-процесса, и иллюстрацией для пользователя структуры этих действий, а также средством отображения текущего состояния бизнес-процесса (см. описание метода ПолучитьКартуМаршрута() справки по встроенному языку). Карта маршрута представляет собой прямоугольную область экрана, которая в самом общем случае содержит различные элементы карты маршрута, например, точку старта, точку завершения, декорации, соединительные j линиии т. д. Описание редактора графической схемы приведено в книге «1С:Пред- приятие 8.1. Руководство пользователя», в приложении 4 «Редактор графической схемы». Редактирование карты маршрута Для редактирования карты маршрута в окне редактирования са на закладке Прочее нажмите кнопку Карта маршрута. Процесс редактирования карты маршрута заключается в размещении на карте маршрута элементов карты различных типов, редактировании их свойств и соединении их друг с другом соединительными линиями. J
Глава 18. Инструменты конфигурирования 2-753 Размещение на карте маршрута ее элементов описано в книге «1С:Предпри- ятие 8.1. Руководство пользователя», в приложении «Редактор графической схемы». Для редактирования карты маршрута используется мышь или клавиатура (некоторые операции выполняются только с помощью мыши - например, соединение элементов карты маршрута с помощью соединительных линий). При появлении редактируемой карты маршрута на экране становятся доступными кнопки панели инструментов Вставка элементов карты та и пункт меню верхнего уровня Карта маршрута. Установка свойств карты маршрута производится с помощью палитры свойств (см. стр. 1-52). Описание свойств карты маршрута см. на стр. 1-66. Элементы карты маршрута в карте маршрута Рекомендации по оформлению Наилучшим подходом для рисования карт маршрута является вертикальная ориентация карты.Картамаршрутапредполагаетвертикальноерасположение (сверху вниз). Например, при добавлении элемента карты маршрута (далее в данном разделе «элемента») Точка действия он сразу создается с исходящей соединительной линией, направленной вниз. При создании надписей желательно использовать одинаковые шрифты. Использование другого шрифта является дополнительным средством привлечения внимания (например, заголовок декорации, выделяющей группу элементов). Редактор карты маршрута позволяет размещать в карте маршрута ные элементы, задавать их размеры и выравнивать границы и т. д. Для облегчения размещения элементов редактор карты маршрута ляет различные сервисные средства. Это использование разметочной сетки, а также выполнение различных действий над группой элементов вание, распределение в карте маршрута, установка размеров и т. д.). В качестве дополнительных возможностей можно использовать альное оформление элементов. С помощью свойств категории Оформление производится настройка цвета текста и фона поля, шрифта текста, ется вид и цвет рамки, использование картинки, подсказки и другие приемы оформления. Состав свойств зависит от типа элемента. Порядок элементов В отличие от обычной графической схемы, в карте маршрута даже после изменения порядка определенные типы элементов все равно сохраня-
2-754 1 С:Предприятие 8.1. Конфигурирование и администрирование ют порядок, характерный для данного типа. А именно: декорации всегда находятся на заднем плане (внизу), т. е. менять порядок декораций можно только относительно друг друга - относительно других элементов они всегда будут ниже. Следом за декорациями (выше их) идут ные линии, и на самом верху - все остальные элементы (визуализирующие точки бизнес-процесса). Таким образом, элементы, составляющие логику карты маршрута, всегда лежат выше декораций и декоративных тельных линий по порядку отрисовки. Работа с соединительными линиями Смысл карты маршрута состоит в описании последовательности действий бизнес-процесса - она задается именно связью элементов с помощью элемента Соединительная линия. Соединительные линии нельзя вставлять просто так - они всегда присоединены к каким-либо точкам са и не могут существовать сами по себе. Соединительные линии нельзя удалить, если это не предусмотрено точкой бизнес-процесса (например, точка разделения и точка выбора варианта). Связывать друг с другом можно все элементы, визуализирующие точки бизнес-процесса, т. е. все элементы, кроме элементов Декорация, тельная линия и Декоративная линия. По умолчанию большинство элементов, визуализирующие точки бизнес-процесса, вставляются в карту маршрута с одной исходящей линией, которую нельзя ни отсоединить, ни удалить. Ее можно только передвинуть на другой порт (порт — область элемента, куда может быть присоединена линия - обычно это середина стороны угольника, занимаемого элементом. На схеме незанятый порт обозначается синим крестиком). Для работы с элементом карты маршрута Соединительная линия надо выбрать ее нажатием мыши на любом сегменте (отрезке) соединительной линии либо перейти к ней с помощью клавиши Tab (Shift + Tab). Если конец линии не присоединен ни к какому элементу, то прямоугольник на конце линии имеет красный цвет, а стрелка имеет контурный вид, т. е. не закрашена внутри. Для присоединения надо мышью захватить конец нительной линии (серый или красный прямоугольник) и, потащив в область порта какого-либо элемента, там отпустить. После этого ная линия автоматически перестроится. Можно также переприсоединить соединительную линию (присоединив ее конец к другому элементу). При этом действует следующее ограничение: нельзя напрямую зациклить один элемент на втором (точка1 -> точка2 и точка2 -> точка1), если ни один из этих элементов не является элементом карты маршрута Точка условия или Точка выбора варианта. При вставке элемента в карту маршрута автоматически происходит попытка присоединить незанятые порты этого элемента к близлежащим неприсо-
Глава 18. Инструменты конфигурирования 2-755 единенным линиям. При перемещении или изменении размера элемента автоматически происходит попытка присоединить незанятые порты этого элемента к близлежащим свободным (неприсоединенным) линиям, а также исходящие из этого элемента линии, чей конец не присоединен к незанятым портам других элементов, находящимся в непосредственной близости. Элемент Декоративная линия предназначен для соединения декораций и точек карты маршрута. В карте маршрута может быть размещено вольное число декоративных линий. Проверка корректности карты маршрута При выборе пункта Карта маршрута - Проверить, а также автоматически при сохранении карты маршрута происходит проверка корректности карты маршрута. При этом проверяются следующие некорректные ситуации: • зацикливание; • наличие неприсоединенных линий; • наличие точек маршрута, не являющихся точкой старта и при этом не имеющих ни одной входящей линии; • карта маршрута, не имеющая ни одной точки старта; • наличие точек маршрута, не имеющих пути в точку завершения; • карта маршрута, в которой не все линии, вошедшие в точку слияния, вышли из соответствующей ему точки разделения; • карта маршрута, в которой распараллеленные ветки (исходящие из точки разделения) входят в одни и те же точки маршрута (до точки слияния); • карта маршрута с циклами, которые не содержат ни одной точки вида Точка действия, Точка вложенного бизнес-процесса или Точка обработки {цикл — замкнутая уникальная последовательность точек маршрута); • карта маршрута, в которой какая-либо точка маршрута вида Точка условия или Точка выбора варианта не имеет обработчика события (соответственно Проверка условия() либо Выбор варианта()). Далее в параграфе описываются все типы элементов карты маршрута в алфавитном порядке представления элементов. Процесс размещения элемента в карте маршрута аналогичен размещению элементов редактора форм и описан на стр. 2-678. Поведение элементов настраивается в палитре свойств путем ки и выбора значений. Некоторые свойства элементов присущи всем или большинству типов элементов. Такие свойства описываются на стр. 1-181. Индивидуальные свойства приводятся в справке по встроенному языку для каждого вида элементов.
2-756 1С:Предприятие 8.1. Конфигурирование и администрирование Общие свойства элементов карты маршрута Существует ряд свойств, которые присущи всем или большинству типов элементов. Обычно такие свойства имеют одинаковое назначение и редактируются одинаковым образом. Ниже будут описаны такие свойства, а в параграфах, посвященных отдельным типам элементов, будет изложен порядок редактирования уникальных свойств элементов. Приводятся только свойства, отличающие элементы карты от щих элементов графической схемы. Для удобства описания свойства будут сгруппированы по категориям ры свойств. Некоторые свойства, описываемые ниже, для некоторых элементов могут отсутствовать. Категория свойств «Основные» НаименованиеЗадачи — наименование задачи, которая будет формироваться в точках вида Точка действия или Точка вложенного бизнес-процесса. Категория свойств «События» Свойства этой категории определяют поведение точек бизнес-процесса, представленных элементами, при определенных действиях, например, при интерактивной активации, при создании задач, при проверке условия (для элементов вида Точка условия) и т. д. При работе с элементами большинство действий может инициировать запуск связанных с этими действиями процедур. В теле каждой процедуры средствами встроенного языка описывается обработка события. Инициализация создания процедуры, отвечающей за отработку события, производится нажатием кнопки Н палитры свойств, расположенной справа от реквизита с наименованием события в категории свойств События. Процедуры создаются в модуле бизнес-процесса, свойством которого является редактируемая карта маршрута. В режиме работы с бизнес-процессом при наступлении события управление выполнением программы передается процедуре, связанной с этим событием. Приемы работы по созданию процедур-обработчиков событий описаны на стр. 1-184. Список событий карты маршрута или элементов, а также условия их наступления приведены в справке по встроенному языку, в описании соответствующего объекта.
Глава 18. Инструменты конфигурирования 2-757 Соединительная линия Элемент карты маршрута Соединительная линия предназначен для ния в карте маршрута элементов, визуализирующих точки бизнес-процесса (например, элемент Точка старта, элемент Точка действия, элемент Точка условия и т. д.). Элемент Соединительная линия автоматически вается при изменении положения элементов. Возможности вмешиваться в алгоритм построения нет. Элемент Соединительная линия вставляется автоматически при вставке других элементов карты маршрута и не может существовать сам по себе. Вставка дополнительных соединительных линий предусмотрена только в элементах карты маршрута вида Точка разделения и Точка выбора варианта. При построении линии система руководствуется правилом выбора шего пути, состоящего из вертикальных и горизонтальных отрезков линий и не пересекающего другие точки карты. Точка действия Элемент карты маршрута вида Точка действия отображает основную точку бизнес-процесса, по которой выдаются и выполняются задачи. Категория свойств «Адресация» Пояснение — строка, дополнительно характеризующая адресацию точки действия. Применяется, когда атрибуты адресации проставляются из ного языка, а не задаются заранее на этапе проектирования карты маршрута. Групповая - если установлено в значение Истина, то задачи на данной точке бизнес-процесса будут выданы каждому члену группы (отдела). В ном случае выдается одна задача на всю группу, например, «Отдел продаж», выполняет ее один человек (первый взявший ее). Реквизиты адресации - этих свойств столько, сколько реквизитов адресации у задачи, указанной в свойстве Задача данного бизнес-процесса. В палитре свойств можно выбрать значение из предопределенных данных, тип которых задан в реквизите адресации задачи (например, из справочника Отделы или Исполнители). Точка разделения Элемент карты маршрута Точка разделения отображает точку са, в которой поток исполнения разделяется на несколько параллельных веток, идущих одновременно. По умолчанию размещается в карте та с тремя исходящими соединительными линиями. Для добавления выходящей линии в контекстном меню выберите пункт Добавить линию. Для удаления - выделите линию, выберите пункт Удалить. При этом нельзя удалить единственную оставшуюся исходящую линию.
2-758 1С:Предприятие 8.1. Конфигурирование и администрирование Точка условия Элемент карты маршрута Точка условия отображает точку бизнес-процесса, из которой есть два выхода, отражающие результат выполнения го условия. По умолчанию элемент Точка условия вставляется в карту маршрута с двумя исходящими слева и справа соединительными линиями. Справарасполагается ветка, по которой идет процесс при возврате значения Истина в обработчике ПроверкаУсловия(). Ветки условия можно поменять местами. Для этого надо выбрать линию, исходящую из элемента Точка условия и, захватив мышью прямоугольник у начала линии, перенести его на противоположную сторону элемента Точка условия. Точка завершения Элемент карты маршрута Точка завершения отображает точку бизнес- процесса, в которой завершается бизнес-процесс. В карте маршрута может быть несколько элементов этого вида. Точка старта Элемент Точка старта отображает точку бизнес-процесса, с которой ется выполнение бизнес-процесса. Для бизнес-процесса, имеющего несколько точек вида Точка старта, при запуске должна быть указана нужная точка старта. В элемент Точка старта не могут входить соединительные линии. Точка слияния Элемент карты маршрута Точка слияния отображает точку са, в которую сходятся параллельные пути исполнения, начавшиеся в точке азделения. Пока исполнение задач по всем параллельным путям не придет в точку слияния, переход к следующей за слиянием точке не будет нен. Одной точке слияния всегда соответствует одна точка разделения (но не наоборот, т. к. могут быть точки разделения без точек слияния). Не ся явно указывать, какому элементу Точка разделения соответствует элемент Точка слияния. Это будет определено автоматически. Точка вложенного бизнес-процесса Элемент карты маршрута Точка вложенного бизнес-процесса отображает точку бизнес-процесса, в которой запускается на исполнение вложенный бизнес-процесс. Исполнение основного (родительского) процесса новляется только после завершения вложенного процесса.
Глава 18. Инструменты конфигурирования 2-759 Категория свойств «Данные» Бизнес-процесс — ссылка на вложенный бизнес-процесс. Точка обработки Элемент карты маршрута Точка обработки отображает точку бизнес-процесса, выполняемую в автоматическом режиме и не имеющую адресата. Точка выбора варианта Элемент карты маршрута Точка выбора варианта отображает точку бизнес- процесса, имеющую несколько выходов (вариантов), из которых, в зависимости от значения возвращаемого параметра Вариант обработчика ОбработкаВыбораВарианта(), выбирается только один. Модуль Карта маршрута не имеет собственного модуля. Обработчики событий помещаются в модуль объекта бизнес-процесса. Редактор картинок Конфигуратор предоставляет средство редактирования картинок и ций картинок. Картинки хранятся в конфигурации на ветви Общие - Общие картинки или в файлах на диске. Для создания новой картинки в конфигурации на ветви Общие - Общие картинки выполните команду Действия - Добавить, а далее откройте ную пустую картинку для редактирования. Для редактирования картинки в конфигурации на ветви Общие - Общие картинки выберите картинку и выполните команду меню Действия - Изменить, далее в открывшемся диалоге нажмите кнопку Редактировать. Для создания новой картинки, расположенной в файле на диске, выполните команду Файл - Новый и в окне выбора типа редактора выберите Картинка. Отредактируйте пустую картинку и сохраните ее командой Файл - нить или Файл - Сохранить как... Для редактирования картинки, расположенной в файле на диске, выполните команду меню Файл - Открыть и в списке файлов выберите нужный файл. Редактор работает в двух режимах: редактирование картинки и ние коллекции картинок. Различие между картинкой и коллекцией картинок носит условный характер. Под коллекцией картинок понимается картинка,
2-760 1С:Предприятие 8.1. Конфигурирование и администрирование состоящая из картинок-элементов, имеющих одинаковый размер. Любую картинку можно представить как коллекцию картинок. Коллекция картинок позволяет хранить и редактировать картинки, чье использование но, например, пиктограммы, картинки кнопок, иконки и т. д. По умолчанию редактор открывается в режиме редактирования картинок. Приемы редактирования картинки не зависят от выбора вида картинки и описаны в параграфе «Редактирование картинки». В параграфе вание коллекции картинок» описываются особенности работы с коллекцией картинок. Редактирование картинки После выбора (или создания) картинки ее можно редактировать. На экран выводится редактор картинок. Действия- \Я\Р J ?&[&-\Х,ЗЬШ t>? та1ЕЗППГ~ ssbsbbdssbbbbsssbs i з шшюпо ВВВВВВВ SBBBBBBBBS! ВВВ шшаввввввввасюаввввввввшопввввввв савиввишшшвясввиввшвнвввшвниввввмввпс ВВВВВВвйОпаОВВВВВШШвНЕПСВЕЗВВНВВИВВИаВЕЗ знивз пввввввввввезсвшвввввВвгсзпвввв В ВВВ ВВВВВВВ Окно редактора состоит из панели инструментов, двух полей для рования картинки (левое представляет картинку в натуральную величину и предназначено для просмотра результата редактирования, а правое поле содержит увеличенное изображение картинки и предназначено для рования) и палитры цветов для выбора цвета. Редактировать картинку можно в любом поле. Редактирование осуществляется мышью. Предварительно нужно выбрать инструмент или фигуру для рисования (карандаш, кисть, аэрограф, линию, прямоугольник, эллипс), в палитре цветов следует выбрать цвет для инструмента. Текущее положение указателя мыши и размер области, а также масштаб показываются в панели состояния.
Глава 18. Инструменты конфигурирования 2-761 Картинка представляет собой прямоугольную область, состоящую из набора точек (пикселей), размер которой можно изменить с помощью мыши, потянув маркер нижней или правой границы или правого нижнего угла. Размеры картинки также можно изменить в окне Параметры картинки (см. ниже). Редактирование сводится к указанию определенного цвета каждой точки картинки. Количество цветов определяется разрешением картинки. Чем больше разрешение, тем больше цветов можно использовать. Важно! Использование разрешения 24 бита на пиксель при больших размерах картинок приводит к увеличению размеров конфигурации. Выбор цвета производится в палитре цветов отдельно для каждой кнопки мыши. Выбранный цвет показывается двойной рамкой. Состав цветов можно менять. Для этого нужно дважды щелкнуть мышью цвет, который требуется изменить. В открывшемся окне выбора цвета выберите нужный из стилей или создайте новый цвет. Размер картинки можно менять. Для этого достаточно с помощью указателя мыши потянуть маркер стороны или угла области картинки. Размер ки показывается в панели состояния. Сетка (пиксельная) предназначена для облегчения редактирования картинки. Сетка показывается прерывистой линией. Для настройки показа сетки те пункт Действия - Сетка. На экран выводится диалог. ВЯУ l.. ,, В PinoTOMfj | OK ~| fj По изображениям | Отмена { |-Размер , | Справка ] . Ширина: , 1С * точек 1 Высота; 16 С точек f Если флажок По точкам установлен, то показывается пиксельная сетка. Если установлен флажок По изображениям, то подразумевается, что картинка представляет собой коллекцию картинок одинакового размера (о вании коллекции см. параграф ниже). В этом случае становятся доступными поля для указания размеров элемента коллекции. Помимо пиксельной сетки в поле редактирования картинки выводится сетка коллекции в виде тонких сплошных линий. При этом режим редактирования не изменяется. При установленном флажке По изображениям изменение размера картинки кратно размеру ячейки. Если флажок не установлен, то размер изменяется с точностью до пикселя. Для рисования используют различные инструменты и набор фигур.
2-762 1 С:Предприятие 8.1. Конфигурирование и администрирование Состав команд панели инструментов: Команда Действие Выбор инструмента Z ^ * */ -^ Выбор карандаша Выбор кисти Выбор аэрографа Режим замена цветов Выбор ластика Фигуры и текст \ *"*>• ? ~ О- О- т Рисование линии Рисование кривой Рисование прямоугольника Рисование прямоугольника с закругленными краями Рисование эллипса Ввод текста Дейавия с областью 1..J Р ,/ & Режим выделения прямоугольной области Режим выделения произвольной области Выбор цвета Заливка Прочее J»: X Ъ Щ ь с* Щ Выбор масштаба Вырезать Копировать Вставить Отменить Вернуть Параметры картинки
Глава 18. Инструменты конфигурирования 2-763 Набор и порядок использования инструментов аналогичны стандартному набору инструментов, используемых в программе Paint, входящей в Microsoft Windows. Таблицу сочетаний клавиш для редактора картинок см. в справке при использовании программы. Но есть и некоторые отличия. По кнопке Масштаб изображение поля тирования может масштабироваться в пределах от 1:1 до 20:1 с шестью ступенями выбора. Нажатие кнопки приводит к выбору следующей ступени масштаба. Когда достигнут масштаб 20:1, очередное нажатие кнопки дит к выбору масштаба 1:1. Нужный масштаб можно выбрать сразу, нажав справа от кнопки масштаба кнопку выбора (с маленьким треугольником вершиной вниз). Если нажать кнопку Масштаб и перевести указатель мыши на любую из областей рисунка, то появляется рамка. Эта рамка обозначает область изображения, которая будет показана при нажатии на клавиши мыши. Изменить масштаб также можно, используя мышь с колесом прокрутки с нажатой клавишей Ctrl. Кнопки рисования фигур (прямоугольник, прямоугольник с-закругленными краями, эллипс) также имеют кнопки выбора, нажав которые можно выбрать вид фигуры (простой, обведенный закрашенный, закрашенный). Кнопка Параметры картинки вызывает на экран диалог: Высота картинки: | 1б|С[ [ Отмена } Разрешение: [8 бит на пиксель \*] j Справка | : В диалоге задается размер картинки и разрешение (определяет ное число используемых цветов). Редактор картинок допускает использование стандартных команд работы с буфером обмена. Для вставки рисунка используйте Ctrl + V, для ния - Ctrl + С, для копирования с удалением - Ctrl + X. Если размер картинки превышает текущий размер, то редактор предлагает изменить его. В палитре инструментов есть многоцелевая кнопка, которая меняет свое назначение в зависимости от выбранного инструмента или фигуры. Она расположена во втором ряду справа, перед кнопкой Параметры картинки. При выборе линии, кривой, прямоугольника и эллипса данная кнопка вает толщину используемой линии, с помощью которой рисуется фигура, в пикселях. Нажатие кнопки приводит к последовательной смене ны (пять ступеней). При нажатии кнопки выбора открывается выпадающее меню, в котором можно выбрать нужную толщину линии рисования фигуры.
2-764 ' 1 С:Предприятие 8.1. Конфигурирование и администрирование Для аэрографа с помощью данной кнопки определяется размер пятна, для кисти - размер и форма кисти, для ластика - размер ластика. При выборе режима выделения или ввода текста кнопка предоставляет возможность задать режим прозрачности. Для ввода текста нажмите кнопку Текст. На экран выводится диалог: ОК || Шрирг | 1С "^ Ш В многострочном поле ввода вводится текст. По кнопке Шрифт ся требуемый шрифт (начертание, размер и другие характеристики). Выбор шрифта осуществляется из системных шрифтов или из стилей, ных в конфигурации. С помощью кнопки Замена цветов просто осуществляется замена ного указателем мыши цвета (указывается пиксель) на цвет, установленный для данной кнопки мыши. Таким образом можно быстро перекрашивать рисунки, используя сразу два цвета на каждую кнопку мыши. Коллекции картинок Коллекция картинок — это картинка, состоящая из отдельных элементов (картинок) одинакового размера. Элементы образуют прямоугольную цу, каждая ячейка которой представляет самостоятельную картинку. Коллекция картинок предназначена для упрощения выбора нужной картинки в элементы управления, заголовки колонок и т. д. Использование коллекции гарантирует выбор картинок одинакового размера для однотипного зования. С помощью редактора картинок можно создавать и редактировать ции картинок. Для перехода в режим редактирования коллекции выберите пункт Режим коллекции. При этом картинка, показанная в поле просмот- а, разбивается на ячейки. Для редактирования картинки-элемента дважды щелкните ячейку мышью - картинка-элемент показывается в поле рования. Приемы редактирования описаны в параграфе выше. В панели инструментов добавляются две кнопки - Добавить колонку и Добавить строку. При нажатии той или иной кнопки в картинку ся новая колонка или строка. Изменить размер элемента можно только в диалоге Параметры картинки (маркеры изменения размера недоступны).
Глава 18. Инструменты конфигурирования 2-765 В группе элементов Параметры картинки задаются размеры картинки в элементах (ячейках). В группе элементов Параметры коллекции задаются размеры ячейки в пикселях (точках). ця^ид^д * i "Я ' ' , . 1 Ширина картинки: Г" Высота картинки: 1 2 [С| ячеек 1 ft j ячеек Разрешение: 4 бита на пиксель Ширина ячейки: Высота ячейки 1Б[^[точек 1б!С|точек i w ; ] Отмена ' j Справка f : ; \ Коллекцию картинок можно также редактировать как обычную картинку. При этом рекомендуется предварительно настроить показ сетки по жениям (см. параграф «Редактирование картинки»). Отладчик и замеры производительности Отладчик - вспомогательный инструмент, облегчающий разработку и отладку программных модулей системы 1С:Предприятие8.1. Отладчик предоставляет следующие возможности: возможность отладки выполнения модулей, как в файловом, так и в клиент-серверном режиме, фоновых заданий; пошаговое выполнение модуля; расстановка точек останова; прерывание и продолжение выполнения модуля; возможность отладки нескольких модулей одновременно; вычисление выражений для анализа состояния переменных; просмотр стека вызовов процедур и функций; возможность остановки по возникновению ошибки; возможность редактирования модуля в процессе отладки. Для описания отладчика используется понятие предмета отладки. Предмет тчадки - это контекст встроенного языка, характеризуемый тью параметров: имя пользователя, от имени которого исполняется код на встроенном языке; тип предмета отладки;
2-766 1С:Предприятие 8.1. Конфигурирование и администрирование • сетевое имя компьютера, на котором исполняется код на встроенном языке; • номер соединения с информационной базой; • номер IP-порта, через который отладчик управляет работой предмета отладки. К типам предметов отладки относятся: • клиент — код на встроенном языке, исполняемый в клиентском жении; • сервер - код на встроенном языке, исполняемый на сервере; • внешнее соединение — код на встроенном языке, исполняемый через COM-connector; • web-сервис - код на встроенном языке, в котором обрабатываются вызовы методов Web-сервисов. • фоновое задание — код на встроенном языке, в котором ся фоновые задания. Использование отладчика Чтобы иметь возможность отлаживать код на встроенном язьпсе, нужно обеспечить запуск приложения, в котором исполняется код, в отладочном режиме. Важно! Для работы режима отладки необходимо, чтобы на тере была включена поддержка сетевого протокола TCP/IP. Включить поддержку протокола TCP/IP можно в настройках соответствующего подключения к сети. Если режим 1С:Предприятие не запущен, то для начала отладки выберите пункт Отладка - Начать отладку. Конфигуратор запускает режим 1С:Пред- приятие в отладочном режиме. Если в настройках конфигуратора установлен режим разрешения отладки или указано, что отладка будет начата при запуске (окно настроек открывается с помощью команды Сервис - Параметры закладка Запуск 1 (^Предприятия), то для начала отладки также можно использовать режим запуска, мый командой Сервис - 1С:Предприятие. Если требуется выполнить отладку кода, выполняемого определенным пользователем, то в форме настроек можно указывать пользователя, от лица которого запускается отладочный режим. Отладчик при поиске предметов отладки и предметы отладки при поиске отладчика используют для поиска IP-адрес 127.0.0.1.
Глава 18. Инструменты конфигурирования 2-767 Для устойчивой работы службы транспорта данных необходимо определить соответствие адреса 127.0.0.1 символическому имени localhost. Для этого можно в файл: C:\Windows\system32\drivers\etc\hosts вписать соответствие: 127.0.0.1 localhost. DNS-сервер используется либо когда в диалоге Предметы отладки имя компьютера, на котором нужно искать предметы отладки, указано не в виде IP-адреса, либо когда в xml-файлах настройки отладки СОМ-соединений и Web-сервисов отладчик указан не в виде IP-адреса. Т. е. URL отладчика используется для СОМ-соединений и Web-сервисов именно в том виде, как она записан в файле. Если там записано имя компьютера, а не его IP-адрес, то по-прежнему будут выполняться обращения к DNS-серверу. Настройка приложения для работы в отладочном режиме Отладка клиентского приложения Для установки отладочного режима можно использовать следующие ты запуска: • в режиме Конфигуратор в форме настроек (открыть с помощью меню Сервис - Параметры) на закладке Запуск 1С:Предприятия установить флажок Устанавливать режим разрешения отладки, далее выполнить подключение предмета отладки. Также можно установить флажок Начинать отладку при запуске, в этом случае при запуске системы 1С:Предприятие 8.1 подключение будет выполнено автоматически; • открыть информационную базу в режиме 1С:Предприятие с ключом командной строки /Debug (отладочный режим); • если запущено клиентское приложение, то в форме настроек (открыть с помощью меню Сервис - Параметры на закладке Системные) вить отладочный режим (установить флажок Отладка разрешена). Следует иметь в виду, что после применения настроек снять установку флажка нельзя; • если режим 1С:Предприятие уже запущен и требуется установить возможность отладки только для следующего запуска, следует в форме настроек (открыть с помощью меню Сервис - Параметры) на закладке Системные установить флажок Устанавливать режим разрешения ки при запуске. Отладка кода на сервере Для установки отладочного режима следует запустить сервер системы 1С:Предприятие 8.1 с ключом командной строки/Debug (ragentexe /debug).
2-768 1 С:Предприятие 8.1. Конфигурирование и администрирование Отладка внешнего соединения и Web-сервисов Для указания внешнему соединению или Web-сервису необходимости запуска в отладочном режиме используют настройки, размещенные в xml- файлах (comcntrcfg.xml и webservicecfg.xml соответственно), которые должны располагаться в подкаталоге conf каталога исполняемого файла системы 1С:Предприятие8.1 (bin). Если файл не найден, приложение открывается в обычном режиме. Пример файла comcntrcfg.xml: <config xmlns="http://v8.lc.ru/v8/comcntrcfg''> «Jebugconfig debug="true" debuggerURL="tcp://localhost:1560"/> </config> Атрибут debug="true" указывает необходимость запуска в отладочном режиме. Атрибут debuggerURL="tcp://localhost:1560" указывает адрес отладчика, к рому нужно автоматически подключиться для отладки, где localhost указывает на поиск на локальном компьютере, 1560 - номер IP-порта. Если порт не указан, то будут проверяться все порты в диапазоне портов 1560:1591; зание "tcp://" эквивалентно "tcp://localhost". Если адрес отладчика не указан, в процессе исполнения кода на встроенном языке отладка производиться не будет. Выполнение отладки Для выполнения отладки модуля нужно, чтобы предмет отладки был чен для отладки. Управление подключением предметов отладки Для управления подключением выберите пункт Отладка - Подключение. На экран выводится окно для выбора предмета отладки. В списке доступных предметов отладки содержатся предметы, с которыми допустимо нение отладки. В список попадают только те предметы отладки, которые относятся к отлаживаемой информационной базе и для которых на возможность отладки. Фоновые задания попадают в список доступных предметов отладки только в тот момент времени, когда управление вьшолнением переходит назначенному обработчику. Так как выполнение может занимать очень незначительное время, для фоновых заданий в клиент-серверной базе рекомендуется устанавливать автоматическое подключение. Обычно список содержит одну строку с указанием на запущенную в режиме 1С:Предприятие конфигурацию. Если запущено несколько приложений системы 1С:Предприятие 8.1 с данной конфигурацией, то список может содержать несколько строк.
Глава 18. Инструменты конфигурирования 2-769 с"*:-^.^-.^*»™^.. »-*гедД|й~- ~s -¦*<iBfT''" К*"' а Доступные гредметы отгадай* Пш^вапг» ~Ьг Комгзыог-> Подключить {@ ]йииц i Нд>т Пвдоттежые предметы оттадо* ^Ат-Т»%*.>. .*.*ть>».">»*1-|»епоягахиение. Забыть Сфавга Если флажок Искать предметы отладки на удаленном компьютере установлен, то в поле, расположенном справа от флажка, следует ввести имя компьютера (или его сетевой адрес) или выбрать имя из ранее вводимых имен. При этом в список доступных предметов отладки будут добавлены предметы ки, найденные на удаленном компьютере. Список подключенных предметов отладки будет содержать те предметы отладки, которые уже подключены к отладчику. Нажатие кнопки Подключить подключает к отладчику выбранный предмет отладки. В окне подключения это отображается переносом предмета ки из списка доступных в список подключенных предметов отладки. Для исключения предмета отладки укажите его в списке ных и нажмите кнопку Отключить. В окне подключения это отображается переносом предмета отладки из списка подключенных в список ных предметов, и к нему можно повторно подключиться. При этом точки останова, установленные в отключенных предметах отладки, не будут «срабатывать» при прохождении выполнения через них. Для закрытия предмета отладки нажмите кнопку Завершить, для останова в месте выполнения - кнопку Остановить. Для открытия диалога настройки диапазона следует нажать кнопку стройки. Диапазон определяет границы, в рамках которых Отладчик ищет предметы отладки на текущем или указанном компьютере. В поле Отладчик диалога ся настройки текущего отладчика, которые можно использовать, мер, в командной строке при запуске клиентского приложения в качестве Щ ;аЯЗЕЕ 5Ж I—Ч Начальный номер порта скжця Кемечнай номер порта сканировала Отгадчик: крУЛЖАСНЕУ-У 1560 J [-,..'.!9Т!!!!У?,..,.,.,.И...fi^,??., I
2-770 1 (^Предприятие 8.1. Конфигурирование и администрирование параметра ключа командной строки /DebuggerURL или в xml-файле с ками отладки для внешнего соединения или Web-сервиса. Я Для автоматического подключения предметов отладки на сервере мы 1С:Предприятие 8.1, работающем в отладочном режиме, можно зоваться диалогом Автоматическое подключение и отметить в нем твующие типы предметов отладки. ¦•"¦---" подкпсчатыа сервере1 Оттщ Оправка Дополнительная настройка диапазона портов Если все порты для подключения в стандартном диапазоне заняты, твует возможность указать дополнительный диапазон. Этот диапазон настраивается в файле debugcfg.xml, который должен располагаться в талоге conf каталога bin. Если файл не найден, то для отладки используются порты из стандартного диапазона A560:1591). Предметы отладки на ре используют те же порты, что и процессы сервера: rmngr и rphost. Указания дополнительных диапазонов портов для предметов отладки на сервере не требуется. Пример конфигурационного файла: <config xmlns="http://v8.1c.ru/v8/debugcfg"> «tebugports range=540:1550"/> </config> Атрибут debugports range содержит дополнительный диапазон портов, используемых при отладке. Для поиска доступных предметов отладки на удаленном компьютере следует установить в настройках отладчика диапазон портов сканирования, жащий диапазон, указанный в файле debugcfg.xml. Файл должен находиться в подкаталоге conf каталога bin удаленного компьютера. Точка останова Точка останова - это место в программном модуле, в котором исполнение программного модуля останавливается и управление передается отладчику. В левой колонке текста модуля специальными значками ются текущая точка останова, места нова и состояние точек останова. • ш о Включенная точка останова Точка останова с условием Отключенная точка останова Точка исполнения текущего предмета отладки
Глава 18. Инструменты конфигурирования 2-771 Точку останова можно установить в любой строке модуля, в любой момент работы с отладчиком. В том случае, если строка, на которой устанавливается точка останова, не содержит операторов (например, пустая строка), жит неисполняемый текст (например, заголовок процедуры или функции, определение переменных) или является продолжением оператора, го на предыдущих строках, положение точки останова будет автоматически скорректировано. Место нахождения точки останова отмечается ным знаком в левой колонке окна модуля. Для включенных и отключенных точек останова используются разные знаки. Точку останова можно также установить или снять с помощью мыши. Для этого в серой области строки, в которой требуется установить точку ва, нужно дважды щелкнуть левой кнопкой мыши. Для управления точками останова используются следующие команды меню Отладка главного меню конфигуратора (см. таблицу). Команда Точка останова Точка останова с условием Отключить точку останова Убрать все точки останова Отключить все точки останова Список точек останова Останавливаться по ошибке Пояснение Устанавливает либо стирает точку останова на той строке, на которой стоит курсор Устанавливает точку останова и открывается диалог дляввода условия останова-логическоговыражения. Если условие было введено, то открывается диалог для редактирования условия. Если в данной строке точка останова была установлена, то открывается диалог для ввода условия останова и устанавливает условие для точки останова с условием. Останов в указанной точке будет выполняться только в том случае, если условие останова истинно Включает либо отключает действие точки останова. Доступна, если в текущей строке есть точка останова Стирает все ранее расставленные точки останова во всех модулях Запрещает действия всех ранее расставленных точек останова во всех модулях, не удаляя их Просмотр и управление точками управления При возникновении ошибки отладчик останавливает выполнение и переходит к строке модуля, вызвавшей ошибку Установленные точки останова запоминаются при закрытии конфигурации. Для просмотра списка точек останова откройте конфигурацию и выберите пункт меню Отладка - Список точек останова.
2-772 1С Предприятие 8.1. Конфигурирование и администрирование Список точек останова: -~г?'- *~ * - Вкл7выкл. Имя I G3 Название модуля {j?j {Название модуля Строка шш ¦ ¦* #©*>•.'! ок ! Условие | Отмена | С помощью флажков в колонке Вкл./выкл. можно управлять состоянием точек останова. Если флажок установлен, то при отладке на данной точке отладчик выполнит остановку. Чтобы убрать точку останова, в панели инструментов окна нажмите кнопку ^§ (Удалить точку остановки). Для перехода к выбранной точке останова в панели инструментов окна нажмите кнопку Ц (Перейти к исходному коду). Пошаговое выполнение В режиме пошагового исполнения предмет отладки, выполнив очередную команду, ждет от отладчика инструкций о продолжении работы. В момент подключения первого из предметов отладки в меню Отладка система добавляет пункты, с помощью которых осуществляется управление процессом отладки. На каждом шаге исполнения модуля существует 5 вариантов продолжения. Для выбора варианта продолжения используются пункты меню Отладка. Команда Шагнуть в Шагнуть через Шагнуть из Идти до курсора Продолжить Пояснение Если следующим выполняемым оператором модуля является вызов функции или процедуры, начинается ее пошаговое нение, иначе отладчик переходит к следующему оператору Если следующим выполняемым оператором модуля является вызов функции или процедуры, она выполняется целиком (не пошагово) и отладчик переходит к следующему оператору Прервать пошаговое выполнение функции или процедуры и остановиться на первом операторе, находящемся после ее вызова Прервать пошаговое выполнение модуля, выполнять все торы до той строки, на которой стоит курсор Прервать пошаговое выполнение модуля и продолжить ное выполнение
Глава 18. Инструменты конфигурирования 2-773 Если выполняется отладка сразу нескольких предметов отладки, то вует ряд особенностей пошагового выполнения: • если выполнена остановка одного предмета отладки, останавливаются при начале исполнения кода и другие; • выполнение команды Продолжить приводит к продолжению ния всех предметов отладки; • выполнение команды Шагнуть через приводит к исполнению ния на следующую строку во всех предметах отладки; • выполнение команды Шагнуть в (если выполняемым оператором модуля является вызов функции или процедуры) приводит к переходу на первый оператор внутри этого вызова, для других предметов ки всегда выполняется команда Шагнуть через. Если производится отладка клиент-серверного варианта и код тельно выполняется на клиенте и на сервере (подключение клиентского и серверного предметов отладки выполнено), то: • выполнение команды Шагнуть в (если выполняемым оператором модуля является вызов функции или процедуры, исполняемой на сервере) приводит к переходу на первый оператор внутри этого вызова; • выполнение команды Шагнуть из или команды Шагнуть через для последнего исполняемого оператора (если выполняемым оператором модуля является код функции или процедуры, исполняемый на ре и вызванной из модуля, выполняемого в клиентском приложении) приводит к переходу на следующий исполняемый оператор внутри этого вызова. Для выбора текущего предмета отладки выводится специальная панель инструментов Предметы отладки. Панель состоит из единственного поля выбора, в котором показывается текущий предмет отладки. Это поле выбора доступно только тогда, когда управление работой какого-либо из подключенных предметов отладки находится в отладчике (например, после срабатывания точки останова). При этом в список предметов ки попадут только те предметы, управление исполнением которых сейчас также находится в отладчике, включая текущий предмет отладки. С помощью табло и диалога Выражение вы можете получить значения интересующих вас выражений. Стек вызовов позволяет проследить довательность вызова процедур и функций. Если выполняется пошаговый процесс выполнения, то стек вызова, ния переменных (в табло и в окне Выражение) показываются для текущего предмета отладки. При смене предмета отладки стек вызова и значения переменных также меняются.
2-774 1С:Предприятие 8.1. Конфигурирование и администрирование Важно! Если выполнено подключение клиентского и серверного тов отладки и осуществлен переход из клиентской части в серверную, то на клиентских уровнях стека вызова любые вычисления не ются. Такие уровни выводятся в окне стека вызовов серым цветом. Если необходимо продолжить выполнение модуля, то с помощью команды Отладка - Продолжить отладку разрешите подключенным предметам ки свободное выполнение модуля (до следующей точки останова). Если для отладки подключено клиентское приложение, то оно активизируется автоматически. Если требуется прервать процесс отладки в целом (кроме фоновых заданий), снимите все точки останова со всех модулей и выполните команду Отладка - Продолжить отладку, если в данный момент сработала точка останова. Если необходимо прервать отладку и завершить работу подключенных тов отладки, воспользуйтесь командой Отладка - Завершить. В последнем случае не будут выполнены процедуры ПередЗавершениемРаботыСистемы() и ПриЗавершенииРаботыСистемы(). В процессе отладки допускается редактирование текущей конфигурации и сохранение изменений. Внимание! Хотя в процессе отладки возможно редактирование ваемого модуля, отладчик не производит компилирование измененного кода - продолжается отладка кода конфигурации базы данных (на момент запуска отладчика или подключения). Для отладки изменений, внесенных в конфигурацию, необходимо выполнить обновление рации базы данных. Если в режиме 1С:Предприятие устанавливается монопольный режим, то сохранение текущей конфигурации невозможно до тех пор, пока монопольный режим не будет снят. Таблицу сочетаний клавиш для работы с отладчиком см. в справке при использовании программы. Отладка внешних обработок Для отладки модуля внешней обработки необходимо открыть файл внешней обработки в конфигураторе, воспользовавшись пунктом Файл - Открыть. В дальнейшем с модулем внешней обработки в отладчике можно работать так же, как и с любым другим модулем.
Глава 18. Инструменты конфигурирования 2-775 Управление отладкой Команда Отладка - Перезапустить полностью прекращает выполнение конфигурации и производит повторный ее запуск в режиме 1С:Предприятие. Если конфигурация была модифицирована, то на экран выдается запрос о необходимости провести обновление конфигурации базы данных. Команда Отладка - Завершить прекращает выполнение модуля и ет работу текущего предмета отладки. Команда Отладка - Остановить останавливает выполнение модуля на текущем операторе. Данная команда позволяет начать отладку модуля, начиная со следующей исполняемой строки. Данная команда полезна при анализе «зацикливания» модуля. Команда Отладка - Остановка по ошибке открывает диалоговое окно ки остановки по ошибке. Положение флажка Останавливаться по ошибке определяет, будет ли тановлена отладка, если в процессе выполнения произошла ошибка. При остановке по ошибке на экран выводится предупреждение": Ошибка времени выполнения, и приводится поясняющий текст о месте и причине вения ошибки. Если установлен флажок Останавливаться только на ошибках, щих текст, то отладка будет остановлена в месте ошибки (если сообщение об ошибке содержит указанную в табличном поле подстроку). Если этот флажок не установлен, то остановка по ошибке будет происходить симо от текста сообщения об ошибке. При этом указанная подстрока будет учитываться, только если флажок напротив нее установлен. На месте возникновения ошибки устанавливается текущая точка ния текущего предмета отладки, а предмет отладки, в котором произошла ошибка, становится текущим. Просмотр значений выражений и ных позволяет установить причину возникновения ошибки. Окно «Выражение» Во время пошагового выполнения имеется возможность рассчитать ние с помощью окна Выражение. Это окно вызывается на экран выбором пункта Отладка - Вычислить выражение.
2-776 1С:Предприятие 8.1. Конфигурирование и администрирование .^^^^^^ §ыраженне (ЗпементыФормы Редупьтаг Wjbm Ш-ДатзКурса I ф-КомендмаяПанепь ~Л*гаЭ»» «*•••* -АвтоКоитекстное -ЛомавФСяпЛ г-Верх "-вишпость -Вспомогательная В КЬмандоаяПанепь истина «истина ложь 0 истина истина !Тип ПопеВвода КЬманднаяЛанель Булево Булево Булево Чисто Булево Булево Р» ¦аь _* ь I а | Ёаеотитате» j BtgraMTbeiaffeu ( Зачзвть | [ ОдовЮ | В поле Выражение этого окна необходимо ввести выражение на встроенном языке системы 1С:Предприятие8.1. Выражение можно ввести «вручную» или из списка ранее введенных выражений. Если при вызове окна Выражение курсор в окне модуля находился на каком-либо выражении или выражение было выделено, оно автоматически подставляется в поле Выражение. Для вычисления выражения следует нажать кнопку Рассчитать. Результат вычисления выражения будет выдан в поле Значение. Кнопка Включить в табло помещает введенное выражение в табло. Это позволит в дальнейшем прослеживать изменение результата вычисления выражения в процессе отладки модуля. При этом выражение размещается в новой строке табло. Если окна табло на экране нет, то оно открывается. Если выражение имеет тип Строка или представляет собой коллекцию значений или массив, то становится доступной кнопка панели тов Показ значения в отдельном окне. Для удобства просмотра длинных строк выводится окно Просмотр ния выражения. Окно содержит элемент управления типа Надпись, в которое выводится значение строки для просмотра. Для удобства просмотра коллекции значений или массива выводится окно, содержащее табличное поле, колонки которого соответствуют именам реквизитов, а строки содержат значения. Выводится количество тов коллекции, а в первой колонке указывается индекс каждого элемента коллекции. Если, в свою очередь, конкретное значение также является коллекцией значений или массивом, а также строкой, то возможен просмотр этих ний в отдельном окне (как показано на рисунке ниже). Для этого выберите нужное значение и в контекстном меню выберите пункт Показать значение в отдельном окне или нажмите клавишу F2.
Глава 18. Инструменты конфигурирования 2-777 Котнки.аШмчнога •' '&" " К01*«ВДЯШЗ|1М4тТО6.) щтщ Ш I Забыть КолонкаТвб. Тип элемента 1КопонкаТаб~ ТЕ "гйртиика" 1&«ина "Кол" Гею "Км ! Офавю ¦] -АвтоВысотвЯче-. гожь ~Лв*< :тивп«К. ложь -Видимость истина ' ЫГЯШТ-. Г**4 ЛЭЖЬ ВысотэЯчейки 1 ГипарСсалка ложь Горизонтально. Авт?*с"чм«гэм Горизонтально.. Прижать влево Булево Бугеао Вугево Булево Число Булево ГориэгмталжРвЛолгагиив Гссм9еиг>пьнпеПоггж»«е Для строки выводится окно, в котором значение строкового выражения выводится в многострочное поле. Это значение можно поместить в буфер обмена. Содержимое табличного поля результата расчета можно вывести в вый или табличный документ по кнопке Вывести список. Если вычисленное значение представлено в виде дерева, то будут выводиться данные только раскрытых строк данного дерева. Текущее значение выражения можно также посмотреть, подведя указатель мыши к выражению. Текущее значение показывается в виде короткой ки рядом с переменной. Просмотр возможен, если значение имеет текстовое представление. Таким же образом можно просмотреть значение свойства. Если свойство представлено в виде <Объект>.[<Объект>. ...]<Свойство> пример: ЭлементыФормы.КоманднПанель.Кнопки.Получение.Доступность), то просмотр значения возможен при подведении указателя мыши к му тексту. Значение показывается, если в тексте не используются круглые и квадратные скобки. Также можно просмотреть значение элемента массива, для которого явно указан его индекс (в виде числа или переменной, ние которой определено на момент просмотра). Для этого нужно выделить идентификатор массива и его индекс. При подведении указателя мыши к отдельному объекту или выделенному объекту или группы объектов в тексте вида <Объект>.[<Объект>. ...]<Свой-
2-778 1 С:Предприятие 8.1. Конфигурирование и администрирование ство> показывается его тип. Например, если в тексте ЭлементыФормы. КоманднаяПанель1 .Кнопки.Получение.Доступность вьщелить ЭлементыФор- мы.КоманднаяПанель1, то будет показан тип КоманднаяПанель. Табло Табло - специальное окно, в котором отображаются результаты вычисления переменных и введенных в него формул в процессе выполнения мы в процессе отладки. Вызов табло на экран выполняется выбором пункта меню Отладка - Табло, доступным при отладке. ШШ } ЕЕ Выражение В СтрокаСостава  i с i | 1 —НомерПтроки ^Номенклатура —Количество —Цена —Сумма Значение Документ! абличнаяЧас.. 1 Фурнитура 1 200 200 Тип . . >' (±1 ДокументТабличиаяЧас. Число ОрввО*«»?с*»*аНом.. Число *-* Число Число Й ] Табло 1 [ Табло 2 Табло 3 Табло 4 Табло представляет собой четырехстраничную форму, каждая ца которой содержит табличное поле для ввода переменных и формул, результаты вычисления которых необходимо контролировать. Формулы могут включать арифметические выражения, выражения с использованием функций встроенного языка системы 1С:Предприятие8.1, а также функции модуля приложения и общих модулей. Каждая формула вводится в первую колонку табличного поля и должна находиться на отдельной строке. Результат вычисления формулы выдается в колонке Значение. В колонке Тип выводится тип выражения. Если ла введена неправильно, то вместо результата появится фраза: Обнаружены синтаксические ошибки! Управление табло и результатами вычислений осуществляется с помощью команд контекстного меню. Результат расчета может быть скопирован в буфер обмена выбором пункта Копировать результат контекстного меню второй колонки. Для некоторых типов данных (см. предыдущий параграф) возможен просмотр значений в отдельном окне. Табло также можно вывести в табличный или текстовый документ. Если в процессе работы исходные данные, используемые в формулах, изменились, то для получения актуальных результатов расчетов мо выполнить обновление. Для этого в контекстном меню табло выберите пункт Пересчитать или Пересчитать все.
Глава 18. Инструменты конфигурирования 2-779 С точки зрения выбора страниц табло работает в двух режимах: в первом страницы выбираются с помощью закладок, располагающихся внизу, во втором - с помощью контекстного меню. Выбор режима производится установкой или снятием флажка в пункте Закладки контекстного меню. Для очистки содержимого строки табло необходимо выбрать строку и жать клавишу Del. Окно табло может размещаться на экране в различных режимах. После завершения отладки окно автоматически закрывается. Стек вызовов Стек вызовов показывает последовательность вызовов процедур и функций, приведшую к строке модуля, которая отлаживается в данный момент. ffiffffl , . !ЕЕ |H»juh»m ____• Счета InproMti » MuacWbCTi»««:>V<in»,i3jrert«wnO 4 Ктент Q8),DRACHEVV 15в2_ МаапЛмммм ii i5iS^(WDRACHEV-V 1562 < > Двойным щелчком мыши на имени процедуры в стеке вызова можно ти в соответствующую строку процедуры. Особенности отладки защищенных модулей Если при выполнении команды Шагнуть в строка модуля содержит вызов процедуры или функции, расположенной в защищенном модуле (см. стр. 2-730), то при первой попытке перехода к выбранной процедуре или функции защищенного модуля отладчик запрашивает пароль доступа. Если пароль введен правильно, то отладчик открывает защищенный модуль и управление переходит на первую строку вызываемой процедуры или функции. При последующих переходах в защищенный модуль в данном сеансе работы пароль не запрашивается. Если отказаться от ввода пароля, то отладчик пропускает защищенный код программы (выполняя его) и переходит на первую строку кода после защищенного модуля. Аналогично выполняется команда Шагнуть из. В стеке вызовов всегда указываются наименования процедур и функций. Если защищенный модуль еще не открывался, то при первой попытке перехода к выбранной процедуре защищенного модуля отладчик вает пароль доступа. При последующих переходах в защищенный модуль из стека вызовов пароль запрашиваться не будет (в текущем сеансе работы).
2-780 1 С:Предприятие 8.1. Конфигурирование и администрирование Замеры производительности Замер производительности позволяет оценить скорость работы всей гурации или ее части, работающей в рамках любого типа предмета отладки. Измеряется частота использования конкретных участков кода и скорость их выполнения; указывается, какой код исполнялся на сервере, а какой - на клиенте; указываются строки кода, приведшие к вызову сервера. Если имеется несколько способов решения какой-либо задачи, можно вать их все, после чего выбрать самый быстрый. При этом необходимо иметь в виду, что сравнение нужно производить в наковых условиях. Например, если во время выполнения задачи одним из сравниваемых способов процессор компьютера был загружен еще бо задачей, это может повлиять на достоверность сравнения. Возможны и другие, менее очевидные причины, по которым условия измерения ся различными. Поэтому при сравнении двух способов выполнения задачи, имеющих близкую производительность, желательно делать с каждым из них несколько замеров - для оценки и усреднения случайного разброса. Для замера производительности выберите команду Отладка - Замер дительности. При повторном выборе команды замер прекратится, и откроется окно с его результатами. Включение и выключение замера ности действуют на все предметы отладки, которые в настоящий момент подключены к отладчику. Варианты порядка действий • Если нужно измерить производительность конфигурации, включая участок, выполняемый при старте системы, необходимо сначала выбрать команду Отладка - Замер производительности, а затем тить систему 1С:Предприятие 8.1. Время, прошедшее между стартом замера и началом работы системы, не будет учитываться в результатах замера. • Если участок, выполняемый при старте системы, включать в замер не требуется, необходимо сначала запустить систему 1С:Предприятие 8.1, подготовить его к выполнению требуемого участка, затем перейти в конфигуратор и включить замер. • Если в замер нужно включить участок, выполняемый при окончании работы системы 1С:Предприятие 8.1, то, независимо от того, вался ли вариант 1 или 2 для начала замера, нужно завершить работу программы, после чего перейти в режим Конфигуратор. В этом случае прекращать замер вручную не нужно. Как только будут подведены итоги замера, его результаты появятся на экране. • Если участок, выполняемый при окончании работы системы 1 (^Предприятия 8.1, включать в замер не требуется, то для появления
Глава 18. Инструменты конфигурирования 2-781 L результатов замера его нужно закончить. Например, для анализа дуры проведения какого-либо документа запустите программу, откройте документ, заполните его, перейдите в режим Конфигуратор, включите замер, перейдите в режим 1 (^Предприятие, проведите документ, дите в режим Конфигуратор и закончите замер. Результаты замера Результаты замера - ссылки на конкретные строки модуля с указанием частоты их выполнения и длительности - представляются в виде го поля, имеющего следующие колонки: Модуль - содержит название модуля; Номер строки - номер строки модуля; Строка — текст данной строки модуля; Кол. - количество вызовов данной строки за время замера; Врем. - суммарное время (сек.) выполнения данной строки за время замера; %(Врем.) - процент суммарного времени выполнения данной строки к общему времени замера (общее время замера равно сумме всех жутков времени, в которые выполнялся код конфигурации), при этом за 100 % принимается время выполнения кода на клиенте; • Клиент - пиктограммой отмечаются строки кода, выполняющиеся на клиенте; • Сервер - пиктограммой отмечаются строки кода, выполняющиеся на сервере; • Обр. сервер - пиктограммами отмечаются строки кода, приводящие к вызову сервера: • Ф - вызов сервера происходил на уровне платформы, или редственно вызывались процедуры или функции, исполняемые на сервере; • > - локальный вызов процедуры или функции, исполняемой на клиенте, внутри которой вызов сервера происходил на уровне платформы или непосредственно вызывались процедуры или функции, исполняемые на сервере; Замечание! Если в строке кода есть вызов сервера или локальный вызов процедуры или функции, исполняемой на клиенте, с вызовом сервера внутри (например, А = Функция1(Функция2()), где Функция1 выполняется на клиенте и в ней есть вызов сервера, а Функция2 - на сервере), то в ке Обр. сервер будет показана пиктограмма Ф.
2-782 1С:Предприятие 8.1. Конфигурирование и администрирование Щ Модуль ОбщийМсдуль . ОбщийМсдуль. ДокуменгРеал. ОбщийМсдуль. !Мсдуль. ОбщийМсдуль. щ ОбщийМсдуль. Документ Реал. ОбщийМсдуль. . ОбщийМсдуль. ОбщийМсдуль- ОбщийМсдуль. ОбщийМсдуль. . ОбщийМсдуль. ОбщийМсдуль. Кол. Г73 Для вызова Номер ст. Строка 3 062!СуммаДолга = Управле,- ЗБ Выборка = ЗагроаВыпо. 3 701 ЕстьРозничныйСклад = ... 2ЕЭ4 1377 580 214 2 415 1926 4162 ?84 3 418 4 042 609 2 814 И спользоватьКолонкуЗ. СтруктураПараметров =. ТаблимЗапроса = Запр. РезультатЗапроса = За.. УправлениеКонтактами. ЗаполнитьЗначенияСво.. ПолмыеПрава. Определи.. МетадамныеНабореПра. ТекстПсдписи = ТекстП . Для Каждого Последов.. Если МетаданныеДоку ВедениеУчетвПоПроект. 0| Врем. { 0ХЮ0000{ Яфрвм) процедур и функций включать время Bt Код 1 10 1 1 1 1 1 1 100 1 10 1 б ?е*л. 00508 0.0363. олззэ.. ОЯ320.. 0.0283... 0.0281 0.0260. 0.0251. 0.0237. 0.0228 0.0227. ОЛ224. ода а гаодаз.. 1 0.0203.. 0 0.0000.. I °.ш| -шолнения iSffiES* 1.07 0.76 0.71 0.67 0J61 0.59 0.55 0.53 0.50 0.48 0.48 0.47 0.46 0.45 0.43 0.00 И к™. • * т ш т ш щ * * т ш * Й&_ 1 Обр. се.. *• "> 1 •> » » я^ 'У » 'У V ЕЗ Клиент ® Сервер В результатах замера производительности время вьшолнения каждой строки складывается из времени выполнения собственно операторов строки тое время») и времени вызова процедуры (функции), если такие в строке есть. С помощью флажка Для вызовов процедур и функций включать время выполнения можно выбирать, какое время требуется показывать: полное время (как сумму времени вызова и «чистого времени») или «чистое мя» выполнения. Если в строке есть хотя бы один вызов процедуры (функции), то время выполнения включает время выполнения собственно операторов строки и время вызова процедуры (функции). Если флажок установлен, то время вызова процедуры (функции) ся в общем времени выполнения. Если флажок снят, в результат замера будет включено только время нения строк кода, но не время работы процедуры (функции), которая вызывается в данной строке. В этом случае суммарное время ния данной строки (в колонке Врем.) не будет отражать реального времени, потраченного системой на отработку данной строки. Необходимо иметь в виду, что выполнение вызванной процедуры (функции) может занимать значительное время, которое в данном случае не будет включено в результат («чистое время»). По умолчанию флажок установлен, а его состояние запоминается между сеансами. При смене состояния изменяются наименования колонок времени. Если флажок Клиент установлен, то будут показаны результаты замера вьшолнения кода на клиенте.
Глава 18. Инструменты конфигурирования 2-783 Если флажок Сервер установлен, то будут показаны результаты замера выполнения кода на сервере. Если флажок Клиент и флажок Сервер установлены, то будут показаны результаты замера выполнения кода на клиенте и сервере. Флажки показываются, если выполняется отладка серверной ной базы. Флажки доступны, если выполняется отладка серверного предмета отладки. Если открыто несколько окон с результатами замера производительности, то при подведении указателя мыши к колонке результатов замера вается подсказка, содержащая URL файла, данные которого в этой колонке отображаются. По двойному щелчку мыши в колонке с результатами замера тельности в редакторе модуля осуществляется переход к соответствующей строке файла с результатами замера производительности. Кроме специального окна результаты замера можно видеть непосредственно в окне с исходным кодом модуля. Если в отладчике открыто окно с замером, в окнах модулей появляется колонка, показывающая количество вызовов данной строки и процент времени ее работы от общего времени. Е—Ш8 1 I 000,005 • 1 ! 000,00* • 01 I : 000.005 Щ 1 : 000,005 Ш 000,005 Щ А 1 000,005 1 0 1,005 1 000,005 3253253 т // Склад в ТЧ всегда должен быть заполнен, иначе проведение будет не; СтруктураОбязателышхПолеЙ. Вставить ("Склад") ; } Если УправлениеЗаказани.Проверять ЗаказЕТабличнойЧасти(ВидОперации, i СтруктураОбязатвльныхПолей.Вставить("ЗаказПокупателя")} КонецЕспи; I ЯополнитьСтруктуруОбязательныхПопейТабличн йЧа тиВоэ»ратнаяТараУпрF I Управление Запасами. КорректировкаСтруктурыОбязательныхПо лей CT0T06*eiw СтруктураПроверкиСтрокТавлЧастиВозвратнаяТара *¦ Новий Структура; СтруктураПр веркиСтрокТа лЧа тиВ вр тнаяТар Вставить ("Пр с ир структураПроверкиСтрокТаблЧастиВозвратнаяТара. вставить (''НетаданкыеРе, Пиктограммами показывается выполнение кода на клиенте или сервере, а также вызовы сервера. Двойным щелчком мыши по строке окна результатов замера можно читься на соответствующую строку в окне модуля. Если открыто несколько замеров одновременно, то в окнах с текстами модулей появится соответствующее количество колонок. Закрытие окна результатов замера убирает из модулей колонки с вом вызовов и процентом времени работы.
2-784 1С:Предприятие 8.1. Конфигурирование и администрирование Сортировка результатов замера Результаты замера могут быть отсортированы по любой колонке отчета. Сортировка осуществляется щелчком мышью на заголовке одной из колонок. Щелчок на заголовках Модуль или Строка дает сортировку по номерам строк, Кол. - по количеству вызовов строки, Врем, или %(Врем.) - по времени работы. Если выполнялся замер производительности выполнения кода на клиенте и на сервере, то сортировка допускается также и по этим колонкам. Выборочное суммирование результатов замера Для анализа результатов замера могут оказаться полезными суммарные теристики. Если в окне результатов отметить несколько строк, их суммарные характеристики - суммы количества вызовов, времени работы в секундах и в процентах - отображаются в нижней части окна. Выбор нескольких строк осуществляется стандартным для Microsoft Windows способом. Флажок Для вызовов процедур и функций включать время выполнения жит для выбора одного из двух методов приблизительного отслеживания уровней вложенности при суммировании. Если в данном модуле имеется и строка, вызывающая некоторую процедуру, и строки текста самой цедуры, то, конечно, не следует помечать и то, и другое: это приведет к повторному учету в сумме одного и того же времени выполнения. Если все же приходится пометить их (например, слишком много усилий пришлось бы потратить на отслеживание), то можно снять флажок, и повторного та не будет. С другой стороны, если все вызываемые процедуры — внешние по отношению к модулю, флажок лучше включить. Тогда в общее время выполнения будет включено время отработки этих процедур, что лучше ражает реальное время работы. Особенности замера производительности при работе клиент-серверной базы При замере производительности результаты замера для кода встроенного языка, выполняемого для одного и того же номера соединения на клиенте и на сервере, будут объединяться в один общий замер ти. При этом указывается, какие строки кода выполнялись на клиенте, а какие - на сервере, из каких строк кода осуществлялся вызов процедуры или функции, исполняемых на сервере, а также системные вызовы (самой платформы, например, оператор Выполнить для запроса, оператор записи объекта базы данных) на сервере. При просмотре результатов можно указать, что показывать в замере: замер для клиента, замер для сервера, замер для клиента и сервера вместе. Выбор
Глава 18. Инструменты конфигурирования 2-785 режима устраивается с помощью флажков в правом нижнем углу окна с результатами замера производительности. Для серверных вызовов учитывается время выполнения серверного вызова на самом сервере. Можно рассматривать происходящее по аналогии со временем исполнения вложенных вызовов процедур и функций для ского приложения. Сохранение результатов Результат замера можно сохранить в файл с помощью команд Файл - нить и Файл - Сохранить как. В стандартном диалоге сохранения выберите каталог и укажите имя файла. Файл результатов имеет расширение *.pff. Открыть файл с замером можно командой Файл - Открыть файл. Для отбора файлов с замерами используйте фильтр Замер производительности (*.pff). Сравнение и объединение конфигураций Режим сравнения и объединения конфигураций позволяет детально сравнить две конфигурации и объединить их. Возможно выборочное объединение по результатам сравнения. Режимом объединения можно воспользоваться, например, когда одну гурацию параллельно разрабатывают несколько человек. Время от времени им необходимо объединять результаты работы (или хотя бы один раз нить все результаты в конце разработки). Режим сравнения и объединения конфигураций можно также использовать для сравнения двух конфигураций без объединения. Наконец, в ситуации, когда в исходную конфигурацию нужно загрузить сделанные изменения, также полезно предварительно просмотреть и оценить их, воспользовавшись режимом сравнения и объединения конфигураций. • Сравнению в этом режиме подвергаются как общие свойства объектов гураций, таких как справочники, документы, журналы, так и их отдельные реквизиты и реквизиты табличных частей. Отдельно сравниваются формы объектов: модули, тексты описаний и макеты. При этом результаты ния можно просмотреть детально. Условия сравнения конфигураций При запуске режима сравнения программа производит анализ ций и устанавливает взаимное соответствие объектов.
ш 2-786 1 С:Предприятие 8.1. Конфигурирование и администрирование Объекты, которым «не досталось пары», могут быть либо новыми, либо удаленными, либо это объекты, относящиеся к одной категории, но емые в разных конфигурациях по-разному. Для этих объектов соответствие можно установить интерактивно (см. стр. 2-792). При автоматической установке соответствия программа анализирует объекты конфигураций, имеющие одинаковые имена. Например, Справочник.Товары в одной конфигурации и Справочник.Товары в другой считаются одним справочником; им устанавливается соответствие, и они будут сравниваться. Среди объектов, имеющих разные имена, отдельно проводится сравнение внутренних идентификаторов, которые конфигуратор присваивает чески при их создании. Присвоение внутренних идентификаторов необходимо для того, чтобы упростить установку соответствия объектов конфигураций и производить ее автоматически. Эта ситуация возникает, например, в том случае, когда в процессе развития конфигурации было изменено имя та. Если имена различны, а внутренние идентификаторы совпадают, то для таких объектов автоматически устанавливается соответствие. Особым образом устанавливается соответствие форм. Форма может стоять из нескольких страниц. Сначала производится анализ по именам; затем для страниц, имеющих разные имена, производят анализ по кам страниц (непустым); затем для страниц, имеющих разные заголовки, производят анализ по картинкам. Если установлено соответствие страниц, то будут сравниваться и объединяться расположенные в них элементы равления. Если соответствие страниц не установлено, то считается, что это разные страницы, и в результирующей форме (после объединения) будут присутствовать все такие страницы отдельно. Для страниц, у которых все три свойства (Внутренний идентификатор, Заголовок и Картинка) пустые, будет производиться попарное объединение в соответствии с выбранным порядком следования. Особенности сравнения предопределенных данных При сравнении предопределенных данных сопоставление элементов водится только по внутреннему идентификатору. Уникальный (в пределах объекта метаданных) внутренний катор присваивается предопределенному элементу при создании. Он сохраняется при любых перемещениях предопределенных данных между конфигурациями при объединении или копировании. В этом поведение идентификатора отличается от поведения соответствующего катора объекта метаданных. Поэтому если в двух конфигурациях создать элементы предопределенных данных с одинаковым именем, при сравнении они будут считаться разными элементами. Единственный способ получить
Глава 18..Инструменты конфигурирования 2-787 одинаковые предопределенные данные в двух конфигурациях - ваться объединением или копированием. При обновлении конфигурации базы данных производится сопоставление предопределенных элементов с существующими объектами базы данных. Неизменность внутреннего идентификатора обеспечивает корректную связь между элементом преопределенных данных и соответствующим ему объектом базы данных при перемещениях между конфигурациями. Для сопоставленных объектов замещение будет производиться в соответствии с выбором приоритетной конфигурации. В связи с тем, что установка соответствия производится по внутренним идентификаторам, для иерархических структур предопределенные данные могут объединяться, даже если они находятся на разных уровнях иерархии. Результат объединения (уровень иерархии, в которой окажется мый элемент) зависит от приоритетности конфигураций. Запуск режима сравнения и объединения конфигураций Как будет видно ниже, хотя сравниваемые конфигурации-можно считать в основном равноправными (приоритет при объединении можно отдать любой из них), в определенном аспекте именно текущая конфигурация считается основной, в нее вносятся не повреждающие ее изменения из загружаемой конфигурации. Исходя из этих соображений, рекомендуется выбрать, какую из двух конфигураций сделать основной. Выбранная конфигурация вится основной, когда с ней запускается система 1 (^Предприятие 8.1 в режиме Конфигуратор. Загружаемую конфигурацию, которую можно будет сравнить и объединить с основной, необходимо предварительно сохранить в файл (см. стр. 1-47). Для загрузки второй конфигурации нужно выбрать пункт Конфигурация - Сравнение и объединение конфигураций. Появится стандартный диалог Открыть файл конфигурации, в котором нужно найти и открыть файл с расширением *.cf загружаемой конфигурации. Если основная конфигурация пустая (процесс конфигурирования еще не начинался), то конфигуратор предложит выполнить полную загрузку конфигурации. При положительном ответе производится полная загрузка указанной конфигурации и открывается окно Конфигурация. При отказе от полной загрузки производится сравнение конфигураций. Процесс загрузки и сравнения загружаемой конфигурации с основной сопровождается сообщениями в панели состояния конфигуратора. В этих сообщениях указываются объекты конфигураций, сравниваемые в щий момент. Также в панели состояния показывается индикатор процесса сравнения.
2-788 1С:Предприятие 8.1. Конфигурирование и администрирование Процесс загрузки и сравнения может занимать продолжительное время, это зависит от размера сравниваемых конфигураций. Сравнение конфигураций В дополнение к основному режиму сравнения и объединения конфигураций, описанному в предыдущем параграфе, при котором одна из сравниваемых конфигураций всегда выбирается основной, конфигуратор предоставляет возможность сравнить две произвольные конфигурации, например, ложенные в файлах, или конфигурацию хранилища (с выбором любой версии) и поставки и т. д. Выбрать сравниваемые конфигурации можно с помощью меню ция - Сравнить конфигурации. На экран выводится диалог: шшшшшшщ ' "-у ~~~- - "•"" г- Первая конфигурация | fo Файл р [cM~cv8ScorfigVICv8.ct |^|Z г- Вторая конфигурация- ¦ ?д Конфигурация хранилища \* [N=4A8.06.200315:1755) |- W\ Устанавливать соответствия по именам объектов Диалог содержит два раздела выбора сравниваемых конфигураций. Приемы работы в разделах одинаковые. Выбор сравниваемых конфигураций может производиться из основной конфигурации, конфигурации базы данных, конфигурации, хранящейся в файле, версии конфигурации хранилища и конфигурации поставщика (если текущая конфигурация находится на поддержке). Если выбран файл или хранилище, то в соответствующий раздел диалога добавляется поле для выбора файла или версии хранилища. Если сравниваемые конфигурации не являются потомками друг друга и поэтому для них не может быть произведена установка соответствия по внутренним идентификаторам, установите флажок Установить соответствие по именам объектов. Для начала сравнения нажмите кнопку ОК. ратор произведет сравнение указанных конфигураций и выведет результат сравнения в окно Сравнение конфигураций. Приемы работы в окне гичны приемам работы, описанным в параграфе «Сравнение и объединение конфигураций», с тем лишь отличием, что в режиме сравнения можно только просмотреть выбранные объекты и получить отчет о различиях. С Отмена I | Справка ]
Глава 18. Инструменты конфигурирования 2-789 Окно «Сравнение и объединение конфигураций» После окончания процедуры сравнения на экран выводится окно ние конфигураций. Оно позволяет: ознакомиться с тем, какие объекты в двух конфигурациях отличаются; выбрать объекты, по которым необходимо детально изучить различия; вызвать указанные объекты для просмотра и редактирования, задать, какие из объектов включить в объединение; установить соответствия объектов; установить режимы объединения конфигураций (для всей ции или по каждому объекту); установить порядок подчиненных объектов (для всей конфигурации или по каждому объекту); сформировать отчет о различиях в конфигурациях; запустить процесс объединения конфигураций. Окно (см. рисунок на стр. 2-793) содержит табличное поле, которое состоит из трех колонок, если конфигурации не связаны друг с другом (о связанных конфигурациях см. подробнее в параграфе «Настройка сравнения гураций» на стр. 2-790). В первой колонке приводятся данные основной конфигурации (той информационной базы, которая открыта тором), во второй колонке - данные загружаемой конфигурации, а третья предназначена для установки режима объединения и порядка подчиненных объектов. Признаком отличия (статус соответствия) объектов является цвет фона строк. Под табличным полем приведены возможные статусы. Ниже расположено поле выбораФильтр, с помощью которого устанавливается режим просмотра изменений. При открытии окна Объединение ций установлен фильтр Показывать отличия в конфигурациях. Выбор других режимов позволяет изучить отличия в конфигурациях или совпадения. Нажатие на кнопку Действия открывает контекстное меню. Пункт Установить режим для всех открывает диалог новки режима объединения (см. стр. 2-793) и установку порядка (см. стр. 2-796) всех объектов. Установить режим для всех объектен г- Режим объединения - I м B? Взять из загружаемой конфигурации О Объединить с приоритетом основной конфигурации © Объединить с приоритетом загружаемой конфигурации -Порядок объектов—¦ О Из основной конфигурации © Из загружаемой конфигурации
2-790 1 С:Предприятие 8.1. Конфигурирование и администрирование Пункты Отметить по подсистемам... позволяет установить отбор по темам. Пункт Отчет о сравнении позволяет получить отчет о сравнении двух гураций с нужной степенью подробности. Настройка сравнения конфигураций Нажатие на кнопку Настройка открывает диалог Настройка сравнения гураций. f-История конфигураций ¦ ¦ ¦—-, ® Основная конфигурация не связана с загружаемой О Загружаемая конфигурация является потомком основной О Основная конфигурация является потомком загружаемой J- Языки сравнения 1 i [71Мспс^>эо»8т> рыСорс**»^ срае**"г по ышшшшшшшшшшшш f-ОбъектыосновнойконФигурации—' ~ ' - j | О Разрешить удаление объектов основной конфигурации -Объекты загружаемой конфигурации —j J r-j Режим копирования объектов(не сохраняются внутренние • *-* идентификаторы объектов) | 0К ~|[ Отмена || Справка | i В диалоге производится выбор режима сравнения конфигураций. По чанию установлен режим сравнения различных конфигураций (не связанных друг с другом). Если конфигурации связаны, выберите характер связи. При закрытии лога настройки (нажата кнопка ОК) в окно Объединение конфигурации добавляется специальная графа, в которой специальными пиктограммами показывается история изменений объектов. Специальная графа добавляется для колонки Загружаемая конфигурация, если загружаемая конфигурация является потомком основной рации; для колонки Основная конфигурация, если основная конфигурация является потомком загружаемой конфигурации. Также в окно добавляется справочная информация для расшифровок сов, объединенных в группу Статусы по истории объектов. Если в конфигурации используется несколько языков, то можно произвести выборочное сравнение по языкам. Для этого установите флажок вать выборочное сравнение по языкам и укажите язык или языки, для которых необходимо произвести сравнение.
Глава 18. Инструменты конфигурирования 2-791 Группа «Объекты основной конфигурации» При выполнении любого объединения конфигураций существует ность удаления объектов основной конфигурации. По умолчанию эта возможность включена только в режиме обновления конфигурации щика. Для включения ее в других режимах следует установить флажок Разрешить удаление объектов основной конфигурации. Расстановка пометок удаления объектов поставщика по умолчанию изводится по следующим правилам. Если пользователь изменял объект поставщика по сравнению с предыдущей версией конфигурации щика, то объект по умолчанию не помечается на удаление; если объект идентичен объекту поставщика предыдущей версии, то он на удаление чается. Если объект был помечен на удаление (автоматически или вручную), то при нажатии кнопки Выполнить происходит контроль ссылочной ности. При обнаружении неразрешимых ссылок на удаляемый объект будет выдано окно показа таких ссылок, но, в отличие от неразрешимых ссылок, образующихся в результате отказа от копирования какого-либо объекта фигурации поставщика (или любой другой конфигурации, участвующей в объединении), возможности продолжить объединение (и удаление та) в этом случае нет. Группа «Объекты загружаемой конфигурации» По умолчанию при объединении конфигурации объекты, отсутствующие в основной конфигурации, добавляются в нее с теми идентификаторами, которые существуют у них в загружаемой конфигурации. Установка флажка Режим копирования объектов... позволяет выполнять добавление новых объектов по правилам, существовавшим в предыдущих версиях платформы: при добавлении объектов, отсутствующих в основной конфигурации, для них всегда генерируются новые идентификаторы. При нажатии кнопки ОК производится повторное сравнение с учетом выбранной настройки. Редактирование объектов В обычном режиме (не используется хранилище и отсутствует поддержка) при открытом окне Объединение конфигураций допускается производить просмотр и редактирование объектов основной конфигурации. Для редактирования свойств объекта укажите нужный объект в ке основной конфигурации и в палитре свойств исправьте значение. Если редактируемый объект представляет собой форму, макет, интерфейс или другой «сложный» объект, его можно открыть для редактирования с мощью выбора пункта Открыть форму (макет/интерфейс) из контекстного меню. Объекты основной конфигурации также можно выбрать для рования в окне Конфигурация.
2-792 1 С:Предприятие 8.1. Конфигурирование и администрирование Объекты загружаемой конфигурации доступны только для просмотра. Процедура доступа к объекту загружаемой конфигурации осуществляется аналогично процедуре доступа к объектам основной конфигурации. i Если было произведено любое изменение, кнопка Выполнить ся недоступной и всем объектам устанавливается статус Неопределенный (показывается серым фоном). Чтобы продолжить работу в окне Объединение конфигураций, следует нажать кнопку Обновить. Конфигуратор производит повторное сравнение конфигураций (с учетом произведенных изменений) и устанавливает соответствие объектов. Особенности редактирования при групповой разработке и поддержке При использовании режима групповой разработки в окне Объединение конфигурации допускается редактирование только захваченных в ще объектов основной конфигурации. Объекты, запрещенные для редактирования, можно только просмотреть. Эти объекты нельзя указать для объединения (отсутствует флажок выбора). Признаком запрета редактирования является наличие пиктограммы в виде замкнутого замка слева от пиктограммы объекта. Кроме того, под табличным полем выводится статус объекта, в который выводится текстовое сообщение о запрете редактирования. Аналогичное поведение окна Объединение конфигурации наблюдается в случае нахождения конфигурации на поддержке. Если для какого-либо объекта установлено правило поставщика, запрещающее изменение, то данный объект можно только просмотреть. Данные объекты можно только сравнить, но объединение таких объектов не допускается. Установка соответствия объектов При сравнении конфигураций программа производит автоматическую установку соответствия объектов двух конфигураций друг другу. Так как соответствие производится по именам объектов, то в сравниваемых гурациях имена объектов могут совпадать. Однако суть объектов может быть разная. С другой стороны, имена могут быть различны, но суть объектов одна. В таких случаях для этих объектов нужно провести ручную установку соответствия объектов. Для отмены установленного соответствия выберите объект и в контекстном меню выберите пункт Отменить соответствие объектов. При этом там устанавливается статус Неопределенный. После завершения отмены соответствия для всех таких объектов нажмите кнопку Обновить. ратор произведет повторное сравнение конфигураций.
Глава 18. Инструменты конфигурирования 2-793 Млкчращга <5>aun СЛМу Ооситеп1Л8.80001МСу8.свЛ - Щ'ОМ* Общие Ё-ЩЛР Справочники Ф'ШЩ*' Номенклатура Ш-Q Свойства l=l-0ii| Формы ф-Ш Форма О- Свойства —Идентификатор Синоним Комментарий Форма — Стиль —Включать в саде... —Справочная инФ— -0Я <Огсугств<(ег> Й-Свойства —Идентификатор —Синоним —Комментарий —Форма —Стиль - Включать в соде., —Справочная ннф.- Й-Щ| Макеты Общие ВтЭ С/травочники &-j?ps Номенллатцра Щ- Свойства Е-5* Формы Ц1~Ш <Отсчтствует> ЁЗ-Свойства —Иденгификат_ Синоним —Комментарий —Форма -Сшъ Включать в с* —Справочная и. Форма fe Свойстве 1— ИдентиФикат - !• Синоним (—Комментарий !~ Форма [-¦Стиль J -Включать в с ^-Cr^aBo-wavL за щ4?| Макеты Порядок из загружаемой конФиг Статусы по соответствиям объектов [^Совпадающие [^Различающиеся LJl Qb основной E?jB Файле j-fl Изменен порядок Фильтр Показывать етлмчия в конфигурациях D Яейсгвия *J(t Настройка { Обновить { Выполнить \\ Закрыть [[ Справа Для основной конфигурации объекты будут показаны бежевым фоном (присутствуют только в основной), для загружаемой - зеленым твуют только в загружаемой). Для установки соответствия выберите объект и в контекстном меню те пункт Установить соответствие объектов. На экран выводится список объектов, с которыми допускается устанавливать соответствие. В список включаются объекты, совпадающие по виду, и для которых соответствие еще не установлено. Выберите объект и нажмите кнопку ОК. Режим объединения Режим объединения можно установить для каждого объединяемого объекта. Существует два вида режима: Взять из загружаемой конфигурации (в мости от загружаемой конфигурации наименование режима объединения может отличаться) и Объединить. Во втором случае обычно указывается приоритет конфигураций при объединении. Выбор режима Взять из загружаемой конфигурации означает, что объект конфигурации будет добавлен, если он новый, или замещен, если он измененный. Причем переносится вся структура объекта, модули, описания, формы. При этом приоритет однозначно отдается загружаемой конфигурации.
2-794 1 С:Предприятие 8.1. Конфигурирование и администрирование При выборе метода Объединить происходящее при объединении ций зависит от установленного приоритета. Если из загружаемой конфигурации необходимо взять только новое и мально сохранить старое, нужно выбрать Объединить с приоритетом основной конфигурации. В этом режиме добавляются только новые объекты. Тексты объединяются следующим образом: Текст Удаленное (имеется в основной конфигурации, отсутствует в загружаемой) Новое (имеется в загружаемой конфигурации и отсутствует в основной) Измененное Удаленное Новое Измененное Приоритет С приоритетом основной С приоритетом загружаемой Результат Остается в тексте Добавляется Добавляется в виде комментариев из загружаемой конфигурации, а то, что было в основной, остается неизменным Превращается в комментарии Добавляется Измененное в основной ции превращается в комментарии, а из загружаемой конфигурации - добавляется Для модуля формы выбор приоритета можно проиллюстрировать щим примером. Текст модуля основной конфигурации: В Процедура Надпись1Нажатие(Элемент) // Вставить содержимое обработчика. Сообщить ("Сообщение из основной конфигурации"?; КонецПроцедуры Текст модуля загружаемой конфигурации: RПроцедура Надпись1Наз:атие(Элемент) // Вставить содержимое обработчика. Сообщить("Сообщение из загружаемой конфигурации"); КонецПроцедуры Результат при объединении с приоритетом основной конфигурации: RПроцедура Надпись1Нажатие(Элемент) // Вставить содержимое обработчика. //UHRG[ <-> ] Сообщить("Сообщение из основной конфигурации" (; //>>HRG[ <-> ] //{{HRG[ <-> ] // Сообщить ("Сообщение из загружаемой конфигурации"); //>>HRG[ <-> ] КонецПроцедуры
Глава 18. Инструменты конфигурирования 2-795 Результат при объединении с приоритетом загружаемой конфигурации: П Процедура Надпись 1Нажатие (Элемент) // Вставить содержимое обработчика. //<{HRG[ <-> ] Сообщить ("Сообщение из загружаемой конфигурации"); //>>HRG[ <-> ] //{<HRG[ <-> ] // Сообщить ("Сообщение из основной конфигурации"); //>>HRG[ <-> ] I КонецПроцедуры Для объектов, значения свойств которых определяются простым указанием в палитре свойств (например, Синоним, Комментарий), зависимость та объединения от приоритета и наличия значений представлена в таблице. Значение в основной Задано Задано Не задано Задано Задано Не задано Значение в загружаемой Задано Не задано Задано Задано Не задано Задано Приоритет конфигурации Приоритет основной Приоритет загружаемой Результат (значение выбирается из...) Основной Основной Загружаемой Загружаемой Основной Загружаемой Если свойство какого-либо объекта может представлять результат го значения объектов двух конфигураций (например, свойство Вводится на основании), то результат определяется простым объединением или ется из загружаемой конфигурации. Если в конфигурации используется несколько языков и в настройке указан режим выборочного сравнения по языкам, то для таких объектов дится сравнение и объединение с учетом указанных в настройке языков. Макеты объединяются следующим образом. Результирующий макет будет состоять из макета основной и загружаемой конфигураций, разделенных строкой, имеющей желтый фон. Сначала в итоговом макете следует макет приоритетной конфигурации, а затем-другой макет через разделитель. Окончательное объединение следует провести вручную после сравнения.
2-796 1 С:Предприятие 8.1. Конфигурирование и администрирование Замечание. В окне Объединение конфигураций свойство Тип макета не показывается. При объединении это свойство объединяется так же, как свойство Макет. Элементы управления, располагаемые в форме, не отображаются в окне Объединение конфигураций. Поэтому при объединении конфигуратор производит анализ состава формы; определяет список совпадающих (по именам) элементов управления, расположенных в пределах группы элементов (страница формы, элемент управления, который может содержать элементы управления, например, табличный документ); и, в зависимости от выбранного режима объединения, производит объединение. Новые элементы управления добавляются в форму. Совпадающие элементы (по именам) в основной форме будут заменены (заменяются свойства, размеры и расположение), если выбран приоритет загружаемой конфигурации, и оставлены без изменения, если выбран приоритет основной формы. Свойства элементов управления не объединяются. Элементы управления, еющие одинаковое имя, но расположенные на разных страницах форм, и объединении будут присутствовать в форме, независимо от выбранного ежима объединения. Для некоторых объектов (реквизитов объектов) выбор режима объединения может отсутствовать. Так, например, для реквизита с примитивным типом (например Число) режим объединения устанавливается только Взять из жаемой конфигурации. некоторых объектов выбор приоритетности также может отсутствовать. Например, для свойства Подсистемы можно выбрать режимы ния Взять из загружаемой конфигурации и Объединить. Если выбран режим Объединить, то происходит простое объединение указанных подсистем двух конфигураций. Объединение предопределенных данных производится по правилам, ным на стр. 2-786. Установка порядка подчиненных объектов Для видов объектов, которые могут иметь неограниченное число ных объектов (например, подчиненные объекты Реквизиты, Формы, Макеты, Табличные части справочников и документов), в некоторых случаях важен порядок следования объектов в каждой такой группе. ели в процессе сравнения конфигураций конфигуратор определил соответствие объектов, входящих в группу, но их порядок в конфигурациях различен, то в колонке Режим объединения и порядок подчиненных объектов ожно указать нужный порядок следования объектов.
Глава 18. Инструменты конфигурирования 2-797 Для указания порядка выберите любой подчиненный объект и в третьей колонке выберите вариант установки порядка: Порядок из основной рации или Порядок из загружаемой конфигурации. Выбор порядка действует на все подчиненные объекты данного вида. Если для выбранного объекта его подчиненные объекты изменены и положены в другом порядке, то в третьей колонке можно выбрать только порядок. Режим объединения указывается в объекте верхнего уровня с щью контекстного меню. Например, в обеих конфигурациях для документа Счет есть несколько подчиненных объектов типа Формы. Они изменены, и порядок их следования также изменен. Для выбора режима объединения укажите объект более высокого уровня (Формы или Счет) и в контекстном меню выберите нужный режим объединения. Просмотр различий Перед объединением конфигураций полезно просмотреть конкретные чия их объектов. Это можно сделать с помощью палитры свойств. Откройте палитру свойств и выберите нужный объект основной или загружаемой конфигурации. Для просмотра форм или макетов их можно открыть. При этом, если ся сравнение с обычным файлом конфигурации, не являющимся поставкой (см. главу «Поставка и поддержка конфигурации» стр. 2-836), можно не просто просмотреть данные загружаемой конфигурации, но и внести в них необходимые исправления. Если исправления сделаны, то после окончания объединения конфигуратор предложит сохранить сделанные в загружаемой конфигурации изменения. Для просмотра различий в модулях в контекстном меню объекта выберите пункт Показать различия в модулях без учета структуры. При выборе этого пункта открывается окно Различие между:... Если ваемые тексты большие, перед открытием окна может пройти несколько секунд. Подробнее о просмотре различий см. параграф «Сравнение файлов» на стр. 2-921. Для выборочного сравнения модулей предназначен режим Объединение модулей (см. ниже), с помощью которого можно также производить ние модулей. Для просмотра различий в макетах выберите в контекстном меню макета пункт Показать различия в макетах. На экран выводится окно сравнения.
2-798 1С:Предприятие 8.1. Конфигурирование и администрирование " Звголсео и ' -2- г * Л1_ 1 Шк *2 -1 Э 1 4 16 t в ] 7 1! nocTvn в панк плат Списано со. ' <НаименонаниеНомер> Сумма <СумтПрспнсыс* прописью <ЛлателыцикИНН> [<Платепьщи1 <Плбтель[цик> Плательщик " БанкПпатепыцика> Заголова — i _г_ Z 7 -§Г л_ 1 I 2 I Э I 4 I G I 6 I 1 Поступ в банк плат. _i_ 1 Списано сЯ <НаименонаниеНомер> Су*шэ <СуммаПролисью> прописью <ПлателыцикИНН> |<Ппатепы j <Лпательщик* Плательщик *БанкПпатепьA^ка> - ; . . _.. . __>и "|Иеизиененныа {^Измененные [_ Военоаной [_jB Сам аонмш i Сравнение табличных документов производится по ячейкам. Если ячейки различны (любые свойства, кроме Параметр расшифровки), то различие показывается цветом. Пояснение цвета показывается внизу окна сравнения. Сравнение модулей При объединении конфигураций можно настроить процесс объединения процедур и функций любого модуля (модуля приложения, общих, модулей объектов, модулей форм). Для этого в окне Объединение конфигурации выберите строку, ющую объединяемым модулям, и в колонке Режим объединения и порядок подчиненных объектов активизируйте выбор порядка (щелкните мышью ячейку). Справа появятся кнопки выбора порядка и объединения модулей. Щелкните кнопку Щ. На экран выводится окно Сравнение модулей. Основная конфигурация Раздел определения переменных Отсутствуете [Загружаемая конфигурация Режим адинения jjjj] <Отсутствует> (wij КоманднаяПанельДействне [7Г<0тсугствует> fp<j СписокВыбор lyjftjj СписокПриВыбореЗначения jvj] <Отсугствует> jpnj Кнопк^ДеЙствие ?3 КоманднаяПанельДействие К ПоказзтьЗаголовок. Q СписокВыбор jv1 СписокПриВыбореЗначения Раздел основной программ* рГ'ЗЩи. Взять из загружаемой конфигурации Взять из загружаемой конфигурации Взять из загружаемой конфигурации Взять из загружаемой конфигурации 2 Процедура Test(Элемент) 3 Сообщить (Элемент. Текст!); 4 а&шеиИроцея^ры Ц ^Неизмененные [^Измененные ?jB основной []В загружаемой Порядок. [Из загружаемой конфигурации W Фильтр: [Показывать все ? Показыватьрезультат Действия~ 1 Режим для всех |Г_~ ¦ ¦ jj Отмена Н Г Справка
Глава 18. Инструменты конфигурирования 2-799 Верхняя часть окна содержит табличное поле, смысл которого соответствует табличному полю окна Объединение конфигураций с тем лишь отличием, что содержимое колонок формируется из наименований частей модуля: раздел определения переменных, раздел процедур и функций и раздел основной программы (далее объекты). Любой из этих разделов может отсутствовать. Состав табличного поля соответствует установленному фильтру (реквизит Фильтр). В первой колонке по различающимся объектам следует установить ки для тех объектов, по которым требуется произвести объединение. Для помеченных объектов можно установить режим объединения. Сравнение производится по каждому разделу отдельно. ся только те объекты, которым установлено соответствие. Первоначально производится автоматическая установка соответствия по именам. Любое установленное соответствие процедур и функций можно отменить. Для этого выберите в списке строку с объектом и в контекстном меню выберите пункт Отменить соответствие объектов. Если в сравниваемых модулях имена объектов были изменены, но суть их осталась прежней и требуется их сравнить, то следует произвести ручную установку соответствия объектов. Для этого выберите любой из объектов, для которого будет произведена установка, и в контекстном меню выберите пункт Установить соответствие объектов. В приведенном на рисунке выше примере процедура основной ции Test() логически соответствует в загружаемой конфигурации процедуре ПоказатьЗаголовок(). После ручной установки соответствия окно Сравнение модулей покажет различия этих объектов (см. рис. ниже). ТВНЯЯВ—; ШКнопкаДейстеие КоманднаяПанельДействие Q Выбор СТ СтсокЛриЗыбореЗначекия Раздел основной программы Взять из загружаемой конфигурации 11м Взять из загружаемой конфигурации Пропедура Test (Элемент) Сообщить (Элемент. Текст) t КонецПроцедуры таш. -и СообДОХЗ* - .- . .. "+Эяеме»т.Текст) КонецПроыедуры 31 [3Нвиэм5ненные [3Изменежые D^ виновной ?§В загружаемой #* Порядок. ИззагружаеьгюйконФи-ыращ* ( Показывать результат 'I Фильтр; [Показывать все Действия- |'Режим_для_всех \^ (Ж " ' jf. | Отмена Ji,. J-foaefti ~|
2-800 1 СгПредприятие 8.1. Конфигурирование и администрирование Различие объектов показывается при снятом флажке Показывать результат. Если флажок установлен, то показывается результат объединения с учетом режима объединения. Установка порядка следования объектов модуля определяется в твии со значением реквизита Порядок. Для просмотра результата сравнения модулей без учета структуры те пункт Действия и выберите пункт Показать различия в модулях без учета структуры. На экран будет выведено окно Различия между. Подробнее о смотре различий см. параграф «Сравнение файлов» на стр. 2-921. Для просмотра предварительного результата объединения модулей те пункт Действия и выберите пункт Показать результат объединения. После установки соответствия, определения порядка и режима объединения для сохранения настройки объединения модулей нажмите кнопку ОК. Для отказа - кнопку Отмена. После завершения процедуры объединения модулей в колонке Режим нения и порядок подчиненных объектов окна Объединение конфигураций для модуля появится запись Индивидуальная настройка. Если в списке режимов объединения выбрать иной режим, то произведенная настройка теряется. Собственно объединение модулей по выполненной настройке производится только для всей конфигурации. Отбор объектов и запуск процесса объединения Список объединяемых объектов формируется путем установки ки слева от пиктограммы объекта основной конфигурации. Установка или снятие пометки для объекта верхнего уровня производят установку или снятие пометки для всех подчиненных объектов. Установленная пометка показывает, что данные объекты двух конфигураций будут объединяться. Пометка объекта принимает состояние Неопределено, если для части ненных объектов пометка установлена, а для другой части снята. При открытии окна Объединение конфигурации конфигуратор включает в список объединяемых объектов все допустимые объекты. При нажатии кнопки Выполнить конфигуратор производит анализ данных конфигураций по установленным пометкам. Если не ся причин, препятствующих объединению, производится объединение. Объединенная конфигурация сохраняется автоматически. Если производится выборочное объединение и выбраны такие объекты, которые ссылаются на другие объекты, не включенные в список объединя-
Глава 18. Инструменты конфигурирования 2-801 емых, то конфигуратор выводит список неразрешимых ссылок. Примером неразрешимой ссылки может служить выбор объекта, реквизит го представляет ссылку на другой объект загружаемой конфигурации, не включенный в список объединяемых. X Неразрешимые ссылки Обнаружены ссылки на следующие объекты, непомеченные на участие в объединении: SMS ННЗггу 'в- j Конфигурация В-§Ь Общие В-?\ Подсистемы t* < Отсутствуете "» < Отсутствуем B-J3P Справочники \-$j? <ОтсутстБует> мая ия В-"j ДемонстрационнаяКонфигурация B-pt Общие 6Чк Подсистемы tb ТорговыйУчет ¦" Маркетинг B-JJP Справочники \~Ejp ЕдиницыИзмерения В-Щ Регистры сведений Ё Цр <0тсутствует> B-JL- Измерения В-йй Регистры сведений В-||| ЦеныНомен латуры E-JL+ Измерения B-J5 Справочники B-i§fP <0тсутствует> В-Свойствз { *—Вводится на основании В- 2 Реквизиты Й- — < Отсутствуем В~Свойства B-J Справочники В"й? Номенклатура - 1~ Свойства *—Вводится на основании В-"Я Реквизиты В- *- ОсновнойПоставщик В-Свойства в U .а Пометитьвсе дяя объединений \L5^^S_J[ Продолжить][ Справка Окно содержит два табличных поля. Верхнее содержит иерархический список всех найденных объектов, связанных с отмеченными объектами окна Объединение конфигурации. Нижнее - иерархический список тов, использующих объект, указанный в верхнем списке. Данное окно позволяет изучить связи выбранных объектов и принять решение о необходимости включения этих объектов в список няемых. По кнопке Пометить все для объединения происходит установка пометок для всех объектов, необходимых для полноценного объединения. При нажатии кнопки данное окно закрывается, а в окне Объединение конфигурации устанавливаются пометки для всех необходимых объектов. По кнопке Продолжить происходит объединение только помеченных тов без учета наличия неразрешимых ссылок. В этом случае ответственность за результат объединения возлагается на специалиста, вьшолняющего объединение.
2-802 1 С:Предприятие 8.1. Конфигурирование и администрирование Загрузка конфигурации из файла Если в процессе эксплуатации системы 1С:Предприятие 8.1 требуется стью заменить конфигурацию, то для обновления нужно воспользоваться режимом загрузки конфигурации из файла. Для загрузки изменений необходимо выбрать пункт Конфигурация - зить конфигурацию из файла главного меню программы. На экран будет выдан стандартный диалог открытия файла, при помощи которого следует найти и открыть новый файл конфигурации (по нию 1Cv8.cf). Если текущая конфигурация не пустая, то на экран выводится вопрос: гурация не пустая. При загрузке измененной конфигурации она будет потеряна. Продолжить? Если нажать кнопку Да, то начнется процесс анализа чий старой и новой структур конфигурации и выполнение необходимых преобразований. На экран выдается вопрос о необходимости проведения обновления конфигурации базы данных. Режим загрузки конфигурации из файла также используется для создания новой конфигурации, основу которой составляет загружаемая рация. Локализация конфигураций Под локализацией конфигураций понимается формирование строковых значений, появляющихся в программе в режиме 1С:Предприятие, на языках, указанных на ветви Общие - Языки дерева объектов конфигурации. Это может быть наименование пунктов в интерфейсе, наименованиях мах) объектов, справочной информации, текстах модулей и т. д. Наиболее сложным при выполнении данной работы является поиск мест, в которых необходимо ввести текст на требуемом языке. Поэтому данным режимом удобно пользоваться даже тогда, когда определен только один язык. Для начала поиска выберите пункт Правка - Редактирование текстов фейса.
Глава 18. Инструменты конфигурирования 2-803 На экран выводится диалог: Настройка редактирования текстов интерФей Область поиска: О Всяконфигцрация |_0 Торговля Демонстрационная |р- §в Общие Пол Общие модули B-'Si, Подсистемы в-Щ LHZlH ОбработкиОбъестов 0Н| Ш-ф» Роли В-Ш Критерии отбора И-Щ Интерфейсы ¦-$& Макеты В-В Картинки На закладке Конфигурации выбираются объекты конфигурации, в которых требуется осуществить редактирование текстов интерфейса. В список конфигураций будут включены все открытые на текущий момент окна конфигураций (помимо основной это может быть конфигурация базы данных, конфигурации, расположенные в файлах, конфигурации ща и поставки). В поле выбора можно выбрать строку Вся конфигурация, и в этом случае будет сформирован полный список объектов конфигурации, которые содержат интерфейсные свойства. Поиск можно осуществлять только в ных объектах, если в поле выбора выбрать этот объект. На закладке Файлы можно выбрать текстовые и табличные документы, внешние обработки, размещенные в файлах. Область поиска. I И* Конфигурации! Файлы [ Модули ПИскать в ФаЙлЫ П Искать в открытых документах Каталоги: I Н«[ v1 Просматривать подкаталоги Типы файлов. !-Ы1-".тя1Лс(Лер( И| \, Мекать \ | Закрыть j | \ Справка \ 1 ; j
2i804 1С:Предприятие 8.1. Конфигурирование и администрирование На закладке Модули установите флажок Искать в функциях "НСтр" ("NStr") в модулях, если требуется определить места использования оператора НСтр() в модулях. Для запоминания области поиска (список объектов конфигураций, файлов и открытые документы) в реквизите Область поиска укажите наименование текущих установок. При повторном открытии окна поиска в списке тей достаточно выбрать нужную и выполнить поиск. После того, как выбраны нужные объекты, нажмите кнопку Искать. На экран выводится окно: Действия » Щ^ Сворачивать | Совпадающие на языке сортировки р — IWhiiHMu^fenEWI Ш-<Вкождений:192> Е С [ ~Ш ИнтерФейсИнтерФейс |&Не1р ~Ш ИнтерФейсИнтерФейс. &0кна ~тш ИнтерФейсИнтерФейс. [ЬСервис ~Ш щН&'Р-аЙГ! НШ ИнтерФейсИнтерФейс ~~Щ ИнтерФейсИнтерФейс... >-<Вко>вдений:2> ><Вховдений:2> -Н ИнтерФейсИнтер.. L-fS ИнтерФейсИнтер... <ВхожаениЙ: 3> На ИнтерФейсИнтерФейс... ~~Ш Интерфейс-Интерфейс. -Ш ИнтерФейсИнтерФейс ~Я ИнтерФейсИнтерФейс-. ~Ш Интерфемс Интерфейс "Я ИнтерФейсИнтерФейс.» File Help Name Operations Operations Operations Save Service Команды вызова системы помощи Команд i работы с Файлами Окна ОсноБные опер< in с данными инфор Сервисные Функции системы It И ш Рчсский(ш RU} Й ¦ <Различные значения> По&мощь &0кна ] ЬСервис ЬФайл Файл Помощь i ФИО Операции Операции ¦ Операции Записать ., Сервис Команды вывоза сие емы помоши | ¦ Команды работы с файлами Окна 0 сновные one;, i щ ии данныг ;нФОрм Сервисны? функции системы (— Окно содержит табличное поле, в первой колонке которого выводится расположение найденного текста. Другие колонки обычно соответствуют указанным языкам. В табличном поле может быть больше колонок, чем определено языков. Дополнительные колонки появляются в том случае, когда в процессе конфигурирования создавались новые объекты Язык, которые затем либо удалялись, либо у них менялся код языка (при удалении или смене кода языка объектов данного типа конфигуратор не сбрасывает текст интерфейсов, введенных для этих языков). Содержимое табличного поля отсортировано по одной из колонок. Для смены сортировки достаточно щелкнуть заголовок колонки. При повторном щелчке заголовка производится смена направления сортировки. Текст можно также изменить прямо в ячейке. Для этого выберите ячейку и нажмите клавишу Enter. Поле ввода переводится в режим редактирования. Введите нужный текст и снова нажмите клавишу Enter. Измененный текст показывается красным цветом.
Глааа 18. Инструменты конфигурирования 2-805 Для быстрого доступа к тексту интерфейса определенного объекта достаточно в колонке Расположение дважды щелкнуть мышью нужную строку. На экран выводится форма, в которой данный текст используется. В палитре свойств можно также произвести просмотр и замену найденного текста. Если текст изменялся вне окна редактирования, то табличное поле можно обновить. Над табличным полем расположены элементы управления, ные для выполнения различных действий и настройки окна. В поле выбора Сворачивать производится выбор режима сворачивания текстов на разных языках. Если выбрано значение Нет, то сворачивание не производится. Если выбрано Совпадающие на языке сортировки, то все элементы, имеющие одинаковый текст в колонке, по которой производится сортировка, сворачиваются. При этом в первой колонке показывается значок группы (+), щелкнув который можно развернуть группу. В первой колонке будет показан текст <Вхождений N> (где N - число вхождений). Если в других колонках по этой группе будут различные значения текста, то в ячейке этих колонок будет надпись <Различные значениям Если выбрано Совпадающие на всех языках, то все элементы, имеющие одинаковый текст, сворачиваются. Для свернутых строк можно производить групповую замену текста. Для этого в ячейке нужного языка достаточно ввести его так, как если -бы это была одна строка. Введенный текст заменяет текст сразу во всех строках, входящих в группу. С помощью пункта Действия - Новый поиск открывается окно настройки для изменения разделов конфигурации, в которых будет произведен поиск С помощью пункта Действия - Копировать тексты производится полное копирование текстов одного языка в другой язык. Эта операция дуется тогда, когда используемые слова и фразы на различных языках в основном совпадают. Пункт Действия - Очистить тексты производит полную очистку текстов указанного языка. Пункт Действия - Заполнить тексты производит оперативный перевод синонимов, заголовков, подсказок и текстов интерфейсов с использованием файла соответствия. Он представляет собой табличный документ, щий из нескольких колонок (по числу используемых языков). В первой строке каждой колонки должен быть написан код языка (например, ru или lv). В остальных строках следуют образцы соответствий. Никаких требований к упорядочиванию (сортировке) строк не предъявляется. Строки могут дублироваться.
2-806 1С:Предприятие 8.1. Конфигурирование и администрирование После выбора файла соответствия укажите основной язык (По языку) и языки, на которые требуется нить перевод текста (В языки). Установка флажка Заполнять только незаполненные приводит к блокировке перезаписи уже локализованных строк. л *Йайл соответствия такств: C:\1cvS4Trand mri i По языку. j^ Русский tu_RU) В языки 0«Й А"т<Еп) 0 ТОГЬКв *' H»ti* J] Отмена Справка Выбор ключевого языка и языков для заполнения осуществляется из числа языков, которые были обнаружены в процессе поиска интерфейсных текстов. Требуется, чтобы все выбранные для заполнения языки были определены в файле соответствий (в нем должнь! быть колонки с заголовками, соответствующими кодам этих языков). Замечание. Если при открытии окна Редактирование текстов интер, фейса обнаружены строки только на одном языке, команда Заполнить тексты будет недоступна. Нажатие кнопки ОК производит заполнение текстов интерфейсов. При этом выполняется заполнение текстов с проверкой соответствия не только по тому языку, на основании которого выполняется загрузка, но и по всем языкам, которые присутствуют в файле соответствия текстов. Это позволяет, например, поставить в соответствие одинаковым строкам на одном языке разные строки на другом. Для этого можно в двуязычной конфигурации завести еще один вспомогательный язык для комментиро! вания текстов интерфейса и по-разному заполнять такой комментарий для омонимов основного языка. Например, для слова «Счет» на русском языке можно написать комментарии «бухгалтерский счет» и «документ счет». Это даст возможность при заполнении текстов из файла соответствия текстов сопоставить с первым из этих слов английское «Account», а со вторым - «Invoice». Пункт Действия - Экспорт в табличный документ производит выгрузку содержимого табличного поля в табличный документ. Выполнение команд ды осуществляет вывод только уникальных строк. С помощью пункта Действия - стройка осуществляется настройка показа табличного поля и ка режима открытия редакторов при групповой замене. Настройка окна редактирования тексто Г Расположение колонок- Щ\ О Комбинировано \uw\wm &? О Комбинировано с выделением языка сортировки (¦/) При сворачивании отображать в виде дерева Q Открывать редакторы при изменении П Изображать другим цветом этреажтцма ш»»ге строки [~ ОК """] [ Отмена 11 Справка
Глава 18. Инструменты конфигурирования 2-807 В группе Расположение колонок производится выбор способа расположения колонок. Горизонтально - это так, как показано на рисунке выше. Комбинировано - располагает колонки одна под другой. Комбинировано с выделением языка сортировки - размещает колонки следующим образом: справа от колонки Расположение будет колонка с языком, по которому производится сортировка, а правее будут располагаться одна под другой колонки с другими языками. При щелчке мышью в области заголовка колонки выполняется сортировка по этой колонке, и она располагается справа от колонки Расположение. Колонка, по которой ранее выполнялась сортировка, занимает место выбранной колонки. Если языков всего два, то колонки просто меняются местами. Если флажок При сворачивании отображать в виде дерева установлен, то доступ к свернутым строкам возможен, а свернутые группы показываются в виде дерева. Рекомендуется не устанавливать флажок Открывать редакторы при групповой замене, если число вхождений достаточно большое. Если флажок Изображать другим цветом отредактированные строки лен, то измененный текст строк будет показан другим цветом. Механизм анализа удобства работы с решениями, созданными на основе платформы 1С:Предприятия 8 Запуск клиентского приложения с ключом /logui командной строки создаст на компьютере пользователя в папке файлов приложений %APPDATA%\1C\ 1081\<Уникальный идентификатор MB>\logui.txt" файл logui.txt, в котором будут регистрироваться все интерактивные действия пользователя (нажатия клавиш, щелчки мыши). Например: Infopase: Демонстрационная конфигурация iC:Предприятия 8.1 A.0.0.1) 6.Об.200? 11:46-.20","Event Form&ctivate" , "Name ЖурналДокументов.- I ДокументыКонтрагентов.Форма.ФормаСгшска" 6.06.200? 11:46:19","Event LClick","Type Menu","Detail Документы" 1 6.06.2007 11:46:29"."Event LClick","Type DropDownMemi","Detail 'Документы контрагентов" 6.06.200? 11-.46:34", "Event FormActivate","Name Документ. I ПоступлениеТоваровУслуг.Форма.ФормаДокумента" В приведенном примере пользователь вызвал из меню Документы журнал документов Документы котрагентов и открьш форму документа Поступление товаров и услуг.
Глава 19 Групповая разработка конфигурации В главе описываются средства конфигуратора, позволяющие производить групповую разработку конфигурации. Разработка конфигурации авторским коллективом может ся последовательно, когда разработчики договариваются о модификации объектов конфигурации, производят изменения, а затем объединяют тат. Такой режим связан с риском случайного изменения других объектов, с необходимостью понимания всех процессов изменений и взаимосвязи объектов. Объединение конфигураций при этом должен производить алист, хорошо представляющий направление разработки. Снизить вероятность ошибок, повысить производительность и упростить процесс разработки призван механизм групповой разработки ции, рассматриваемый в данной главе. Под групповой разработкой понимается одновременная работа группы пользователей (разработчиков) по изменению конфигурации, при которой модификация объекта конфигурации доступна только тому разработчику, который предварительно захватил данный объект. Для групповой разработки в общедоступном каталоге (общий сетевой ресурс) создается хранилище, в которое средствами конфигуратора помещается конфигурация. Для хранилища назначается администратор, который вляет формирование списка пользователей, имеющих доступ к хранилищу. Административные права могут быть назначены и другим пользователям. При групповой разработке конфигурация рассматривается как набор тов, закрытых для изменения. Чтобы произвести изменения в объекте, его нужно захватить. Одновременно объект может быть захвачен только одним пользователем. Пользователь может захватить произвольное число не ченных другими пользователями объектов. Приемы работы с захваченными объектами конфигурации ничем не ются от приемов работы в обычном режиме. Допускается редактирование свойств самого объекта, удаление и создание подчиненных объектов.
Глава 19. Групповая разработка конфигурации 2-809 Для добавления объектов требуется, чтобы бьш захвачен объект, которому он подчинен. Например, для добавления константы необходимо захватитв корневой объект конфигурации. Для добавления реквизита или формы объекта - сам объект. Для удаления незахваченного объекта требуется захватить сам объект, а также объект, которому он подчинен, и все подчиненные ему объекты. После работы с захваченными объектами результат их модификации можно поместить в хранилище. С другой стороны, если какие-либо незахваченные объекты были изменены, то можно получить обновление данных объектов сразу после помещения этих объектов в хранилище конфигурации автором изменений. Результаты работы с хранилищем можно просмотреть в истории лища. Версии конфигурации, сохраненные в хранилище, можно открыть для просмотра, сравнить с текущей конфигурацией, конфигурацией базы данных, а также сравнить различные версии хранилища. Объекты конфигурации тесно взаимосвязаны друг с другом. Поэтому лище конфигурации поддерживает целостность метаданных при захвате или помещении объектов в хранилище. Таким образом, механизм групповой разработки обеспечивает цию работы группы разработчиков по модификации конфигурации. Хранилище конфигурации Создание хранилища Хранилище конфигурации создается для разделения доступа к объектам конфигурации. Для создания хранилища выберите пункт Конфигурация -Хранилище гурации - Создать хранилище. На экран выводится диалог: Создание хранилища конфигураци Каталог хранилища: (CADernoConf В <Назоа явиитеиряян»»я?дааиагчяядавюн Даяве> | у 0К Отмена . Л1 ..Л .-Л-.-J J В поле Каталог хранилища укажите каталог расположения хранилища.
2-810 1С:Предприятие 8.1. Конфигурирование и администрирование По указанному каталогу не должно быть зарегистрировано другое ще конфигурации. Нажмите кнопку Далее>. a Имя адм*«стр*гор* (Администратор Пароль: | | Подтверждение пароля: j j J <Назад | Дзте> ОК } | Отмена | Укажите имя администратора хранилища и пароль доступа. Администратор хранилища производит формирование списка пользователей, щих право доступавхранилище конфигурации. После нажатия клавиши ОК конфигуратор производит анализ данных, формирование структуры тов и запись данных в указанный каталог. Этот процесс может занять некоторое время (в зависимости от размера конфигурации). По окончании формирования хранилища конфигуратор предлагает пользователю читься к хранилищу. Если по указанному адресу (каталогу) зарегистрировано хранилище гурации, то конфигуратор выводит предупреждение о невозможности создания хранилища. Подключение к хранилищу Для подключения к хранилищу конфигурации выберите пункт ция - Хранилище конфигурации- Подключиться к хранилищу. Если текущая конфигурация не была подключена к хранилищу, то перед подключением конфигуратор сообщает, что текущая конфигурация будет замещена конфигурацией из хранилища, и запрашивает подтверждение на подключение. Важно! Конфигурация, полученная из хранилища, заменяет текущую конфигурацию и сохраняется на диске без дополнительных сообщений. После утвердительного ответа на экран выводится диалог подключения: Введите имя пользователя и пароль, если он задан. Если под указанным именем никто не зарегистрирован, выводится реждение: Ошибка аутентификации! Проверьте правильность введенного имени пользователя и пароля. Каталог хранилища: [CADemoConf |»-| Имя щомсмтсля j Администратор [ Пароль: 1 1 | ОК J | Отмена 11 Справка |
Глава 19. Групповая разработка конфигурации 2-811 Для каждого пользователя к данному хранилищу может быть на только одна конфигурация. Поэтому конфигуратор сначала производит проверку регистрации подключения по данному пользователю. Первичное подключение к хранилищу. Если имя пользователя рировано и для этого пользователя информационная база еще не была подключена к хранилищу конфигураций, то производится подключение и устанавливается связь: в хранилище по данному пользователю ется информация о конфигурации и ее месте расположения. Если конфигурация пользователя подключена и связь не изменялась, то выводится окно конфигурации и пользователь может начинать работу с объектами. Если для данного пользователя в данный момент времени есть открытая конфигурация, связанная с указанным пользователем, то конфигуратор выводит предупреждение об аутентификации. Если для данного пользователя в данный момент времени нет открытой информационной базы, но данные о месте расположения не совпадают с данными о связи (конфигурация расположена в другом каталоге, или подключение производится с другого рабочего места), то конфигуратор выводит сообщение: Для данного пользователя уже имеется конфигурация, связанная с данным хранилищем конфигурации. Продолжить? Если нажать кнопку Да, то происходит установка нового подключения, текущая конфигурация заменяется конфигурацией из хранилища и устанавливается новая связь текущей конфигурации с хранилищем для данного пользователя. После подключения конфигуратор выводит окно конфигурации: ^щ ^^2 Действий- % <& Ч[ f If Erjb Общие Ш-^jP1 Константы Eh,SP Справочники ф-й? Номенклатура B-jJa? ЕдинииыИэмерения E-jJ-jP Конкуренты ф-jS*1 Валюты Ё_$Р Склады "^й? Контрагенты T-pj РасчетныеСчета -л Банки B-jgP ИсточникиИнФормации ЕЬе*зЯ ТипыЦен Ш-jjp Подразделения E-?j§ Журналы документов Ш-{..,| Перечисления щ \ 3 *й » ? й в i в »U а '*\ В! в 1 S Состояние объектов конфигурации отображается специальными значками, размещенными вдоль правой границы окна Конфигурация. Значки объекта
2-812 1С:Предприятие 8.1. Конфигурирование и администрирование и подчиненного объекта отличаются размером (для подчиненного объектов они меньше) и видом (у подчиненных объектов присутствует изображение ветви дерева). • Состояние не захваченного ни одним пользователем объекта чается значком в виде закрытого замка 8. Этот объект можно только просмотреть. • Состояние захваченного объекта обозначается значком в виде того замка с отметкой красного цвета *да. Данный объект может быть модифицирован. • Состояние захваченного другим пользователем объекта обозначается значком в виде закрытого замка с желтым перечеркнутым кружком <^. Данный объект может быть модифицирован только тем пользователем, который захватил данный объект. Подсказка к объекту метаданных, появляющаяся над пиктограммой текущего состояния объекта в лище конфигурации, содержит имя пользователя, захватившего объект, дату захвата объекта пользователем, имя компьютера, с которого было осуществлено соединение пользователя с хранилищем конфигурации, и месторасположение информационной базы. • Созданные пользователем и еще не помещенные в хранилище объекты, а также объекты, удаленные из хранилища, но еще присутствующие в локальной конфигурации, обозначаются значком в виде отметки красного цвета. При первом подключении конфигуратор запоминает параметры ния (каталог хранилища, имя пользователя) для данной информационной базы. При очередном открытии конфигурации конфигуратор выводит запрос на соединение с хранилищем перед открытием окна Конфигурация. Если при подключении к хранилищу конфигурации неправильно указано имя пользователя или пароль или указано имя пользователя, го к данному хранилищу в данный момент времени, то выдается сообщение: Ошибка аутентификации! Проверьте правильность введенного имени вателя и пароля. Если производится попытка подключения ранее не подключенной гурации к хранилищу конфигурации с указанием имени пользователя, для которого зарегистрировано подключение (установлена связь) к данному хранилищу, но для иной информационной базы (в данный момент не той), то конфигуратор выводит сообщение: Для данного пользователя уже имеется конфигурация, связанная с данным хранилищем конфигурации. должить? При утвердительном ответе производится загрузка конфигурации из хранилища (текущая конфигурация полностью замещается и сохраняется на диске) и устанавливается новая связь информационной базы и лища. В этом случае прежняя связь будет утеряна (информационная база,
Глава 19. Групповая разработка конфигурации 2-813 которая была ранее подключена к хранилищу, уже не сможет соединиться с этим пользователем без переподключения). Если производится попытка подключения к хранилищу конфигурации для открытой в данный момент конфигурации, то конфигуратор выдает реждение об ошибке с указанием имени пользователя. Администрирование хранилища конфигурации Для администрирования хранилища конфигурации предназначено альное окно, вызываемое пунктом меню Конфигурация - Хранилище конфигураций -Администрирование хранилища. На экран выводится окно: Администрирование хранилища конфигцраци, Пользователи | Подключения Отмена закеата Действия» «fj ^fe* Иванов 1 j Закрыть 1J Обновить | Справа На закладке Пользователи расположены элементы управления списком зователей-разработчиков конфигурации (далее в этой главе - пользователи). Всем пользователям доступен режим изменения собственных параметров (имя, пароль), кроме смены прав. Добавление, удаление и смена прав ступны только пользователям, имеющим административные права. На закладке Подключение выводится список пользователей, подключенных к хранилищу. Администрирование хранилища Дользователи _ ] Подключения [Отмена захвата Администратор Компьютер (DRANEV QQIIM^ Информационная база C:\1cv8\Demo C:\Mjp Documents\Cp. Отключить Закрыть | Г Обновить ] | Справка щтят
2-814 1С:Предприятие 8.1. Конфигурирование и администрирование С помощью кнопки Отключить можно отключить от хранилища любого из указанных пользователей, не работающих в данный момент с хранилищем. Данная кнопка доступна пользователям, имеющим административные права. На закладке Отмена захвата производится отмена захвата объектов для указанного пользователя. Администрирование хранилища конфигурация 'Пользователи Подключения | Отменазанвага[ | Пользователь: [Иванов |»| Захваченные объекты г? гмг. я , 1^Л Спраеочник.Валюты || -прас-оч L;.Ban j ы.Фсрмз.ФсрмаС'писка || Справочник.В зпк ы.ф|_рмэ.ф|_рмзЭл мента - в Отменить захват | | Закрыть 11 Обновить II Стража При этом пользователь, захвативший объекты, лишается возможности поместить изменения этих объектов в хранилище. Данная кнопка доступна пользователям, имеющим административные права. Ведение списка пользователей хранилища Для создания нового пользователя хранилища выберите пункт меню фигурация - Хранилище конфигураций - Администрирование хранилища и на закладке Пользователи выберите пункт Действия - Добавить. На экран выводится окно редактирования информации о пользователе. На закладке Основные вводятся наименование пользователя и пароль доступа к лищу. Параметры пользователя хранилища конфигурац Основные [ Права Имя: [Даминистратор Пароль: | ¦—«™~> j Поатрершаегчв пароля: ] »™™»»°™" | ОК |[ Отмена 1&равка^ На закладке Права указывается, какими правами обладает данный ватель.
Глава 19. Групповая разработка конфигурации 2-815 ® Изменение состава версий @ Захват объектов { ОК || Отмена | [ Справка I Административные функции — пользователь имеет права создания, удаления и отключения пользователей, отмены захвата. Изменение состава версий - пользователь имеет права выполнения отката и сокращения версий (подробнее см. параграф «Работа с историей ща»). Захват объектов - пользователям с данным правом доступны захват и ние изменений в конфигурацию хранилища. Если право не установлено, то объекты хранилища можно только просмотреть. Работа с хранилищем конфигурации Захват, получение, помещение объектов в хранилище и другие действия с объектами хранилища удобнее выполнять в окне Хранилище конфигурации. Для его открытия выберите пункт Конфигурация - Хранилище ции-Хранилище. Действия» Вид» I Щ Ц| Q "$ Их | ' Е]-|до Конфигурация 5 г [ [ ]-Jb Общие ]-^Р Константы Д Справочники В-ЙР Валюты [ С С [ С с В Щ Формы *-Ш ФормаСписка 3-^р Физлица В-Ш^ Формы L-tiU Фоомаиписка Должности ]-gt|p РабочмеГрафики ]-g|? Организации '"^Р1 ПодразделенияОрганиза... El-^jP ПодразделенияКорпорац.. 1-?ц Документы Текущий гсбльаователь. ЩШвШЩШШ BSD JL ¦¦> Ф Пользоват.^ Ааминист... Петров [Хранилище Дата 29.0420041.. 29.04 20041_ 28.04 20041_ 28.04.20041„ 29.04.2004 U 29.04.2004 U. 29.04.20041... 29.04.20041... Компьютер CHICHEV PETROV информационная база ¦ СЛОетоСогАРасч O:\DemoConf [сМАОТеЮО ' Окно Хранилище конфигурации состоит из панели инструментов и го поля, в первой колонке которого показывается иерархическая структура
2-816 1С:Предприятие 8.1. Конфигурирование и администрирование объектов хранилища или список объектов в зависимости от режима ра (меню Вид). Если режим показа удаленных объектов установлен (подменю Вид), то в списке удаленные объекты показываются более светлым шрифтом. Во второй колонке пиктограммами показывается состояние захваченных объектов. Захваченные текущим пользователем объекты показываются пиктограммой, содержащей красную галочку. В колонке Пользователь вается пользователь, захвативший объект. В колонке Дата показывается дата захвата (если объект на данный момент захвачен) или дата го обновления объекта. В колонке Компьютер указывается имя компьютера пользователя, а в колонке Информационная база - имя локального каталога информационной базы на компьютере пользователя. Важно! В окне хранилища не показываются созданные пользователем новые объекты (еще не помещенные в хранилище). Фильтр хранилища Для удобства работы с конфигурацией можно настроить показ объектов в графе Объект окна Хранилище конфигурации. Фильтр вызывается пунктом меню Действия - Фильтр. На экран выводится окно: • Все -вьет.! С* Все захваченные С1 Захваченные пользователем: Администратор^ **• | ОК | Г Отмена | | Справка | Смысл элементов управления понятен из их названия. Захват объектов хранилища Захват объекта предназначен для монопольного владения объектом хранилища с целью его редактирования. Захваченный объект для других пользователей становится недоступным для изменений (возможен только просмотр и получение измененного объекта для использования). Для захвата в окне Хранилище конфигурации укажите нужный объект кается множественный выбор) и выполните команду Действия - Захватить в хранилище...
Глава 19. Групповая разработка конфигурации 2-817 | [Объект [j/j \ 3 Демонст ионнаяКонФмгчрация ^ + Константа.АдресОрганизацни ji/j + Щ ОбщаяКартинкаФонТаблиц _ a Захватить D 0 ? ~Ji Выполнять рекурсивно Ц Разрешать получать | (Ж захваченные 11 Отмена || Справка | Если объект связан с другими объектами, то в список будут также ны эти объекты. В этом случае выбранный объект показывается жирным шрифтом. Захват выбранного объекта возможен только в случае получения этих объектов из хранилища. При этом в список включаются также те объекты, которые не связаны непосредственно с выбранным объектом, а имеют косвенную связь. Пример сказанного приведен на рисунке выше. Картинка ФонТаблиц не связана с захватываемой константой АдресОрганизации, однако косвенная связь через корневой объект конфигурации ДемонстрационнаяКонфигурация требует получения объекта картинки. Для получения этих объектов необходимо установить флажок в первой колонке списка. Если также требуется захватить объекты, то для них димо установить флажок в колонке Захват. Если не все требуемые для захвата объекты отмечены для получения, конфигуратор выдает ние Для выполнения операции требуется получение объектов и перечисляет требуемые объекты. Захват в данном случае не производится. Установите флажок Захватить рекурсивно, если объекты содержат ные объекты и требуется захват подчиненных объектов. Если требуется получить данные уже захваченных объектов, то установите флажок Получать захваченные. Важно! Если флажок Получать захваченные установлен, изменения, сделанные в захваченных и повторно получаемых объектах, будут потеряны. После захвата указанные объекты будут помечены специальным значком. Для добавления новых объектов в конфигурацию нужно захватить ский объект. Например, для создания нового справочника необходимо захватить корневой объект конфигурации; для создания новой формы или реквизита справочника - захватить сам объект-справочник.
2-818 1С:Предприятие 8.1. Конфигурирование и администрирование После захвата родительского объекта можно создавать подчиненные ты. Затем все новые и захваченный родительский объекты нужно поместить в хранилище. Помещение объекта в хранилище Модифицированный объект можно поместить в хранилище, чтобы другие пользователи могли обновить этот объект в своих конфигурациях. Для этого выполните команду Действия - Поместить в хранилище. На экран ся диалог: штмяттт<ттт1тттм в |Обьект И ^ Е ¦' ' ' '' ДанныеПоКонграгентч бщиимовдль.СтанаартныеОтчеты Комментарий: Текущее обновление 3 Выполнять рекурсивно 0 Оставить захваченными ~СНравка] I Установите флажки для тех объектов, которые будут помещены в лище. Для описания произведенных изменений введите их в многострочное поле Комментарий. Этот текст можно просмотреть в истории хранилища. Установите флажок Выполнять рекурсивно, если объекты содержат ненные объекты и требуется их помещение в хранилище. Установите флажок Оставить захваченными, если требуется, чтобы ные объекты оставались захваченными. Если в хранилище помещаются объекты, связанные с другими объектами конфигурации, в диалог выводится полный список таких объектов. Помещение объектов в хранилище конфигурацн» =а 1 |Обьект 0 0 V (Га Демонстраци ннаяКонфигурация +, *¦* Константа. Ад реорганизации Комментарий: Новая константа "Адрес организации" О Выполнять рекурсиено ^\Юег^(тьз^й^^ш^4 ОК jj Отмена || Справка
Глава 19. Групповая разработка конфигурации 2-819 | |Обьект 1 ^j % Li] ВалютыФормаСписка ! 1 ZI ^ ЕЗ РабочиеГрафики *г\ \ Ф лиц Фор аСписка g\ + ша Константа.АдресОрганизации 0 Выполнять рекурсивно LJ Разрешать получать захваченные | ОК )| Отмена || Справка j Для помещения в хранилище новых объектов в окне Конфигурация те объект и в контекстном меню выберите пункт Поместить в хранилище... На экран выводится окно помещения объектов в хранилище. Помимо этого объекта в список могут быть включены и другие объекты, связанные с данным объектом. В этом случае в списке объектов ный объект выделен жирным шрифтом. Поместить объект в хранилище без помещения (обновления) этих объектов нельзя. Получение объектов из хранилища Чтобы получить объекты, измененные другими пользователями, в списке объектов хранилища укажите нужные объекты и выполните команду Действия - Получить из лища. На экран выводится диалог: В строках списка объектов установите флажки для тех объектов, которые требуется получить из хранилища. Установите флажок Получать рекурсивно, если объекты содержат подчиненные объекты и требуется их получение. Если выбранный объект уже захвачен, то установка флажка Получать ченные приведет к потере произведенных изменений в данном объекте. В этом случае производится восстановление данных объекта данными из хранилища. Отмена захвата объектов Если не требуется сохранять произведенные в объекте хранилища изменения или нужно предоставить данный объект для модификации другому вателю, данный объект можно отпустить. Для этого выполните команду Действия - Отменить захват в хранилище... Во второй колонке списка тограмма показывает отличие объекта в конфигурации и хранилище. Если ма отсутствует, то объекты совпадают. Установите флажок Выполнять рекурсивно, если объекты содержат ненные объекты и требуется отмена их захвата. Е } {Объект j Щ \Л ОбщийМ 0 бьектов Й V Ш ОбщийМощль.СтачааргныеОтчеты ! D Выполнять рекурсивно ( ОК (| Отмена II Справка j После отмены захвата объекты будут получены из хранилища.
2-820 1 С:Предприятие 8.1. Конфигурирование и администрирование Обновление статуса объектов хранилища Если требуется обновить информацию об объектах, размещенных в лище, выполните команду Обновить статус. По этой команде производится обновление информации о захвате или отмене захвата, появлении новых объектов по всему хранилищу. Сравнение хранилища с текущей конфигурацией В любой момент времени можно произвести сравнение текущей ции с хранилищем. Для этого выполните команду Конфигурация - Хранилище конфигураций - Сравнить хранилище с текущей конфигурацией. На экран выводится окно сравнения. Работа по сравнению описана на стр. 2-785. Сравнение объекта хранилища с объектом текущей конфигурации Иногда нужно произвести сравнение конкретного объекта в хранилище и в текущей конфигурации. Для этого в окне Хранилище конфигурации выберите объект и выполните команду Действия - Сравнить с объектом конфигурации. На экран выводится вопрос: Отображать сравнение конфигураций? В случае утвердительного ответа производится сравнение конфигураций, ся окно сравнения конфигураций, в окне сравнения активизируется строка с выбранным объектом и на экран выводится диалог настройки отчета. В случае отрицательного ответа окно сравнения конфигураций на экран не выводится. Сохранение хранилища как конфигурации Сохранение хранилища как конфигурации производится обычным образом, как описано на стр. 1-47. Отключение от хранилища Для отключения от хранилища выберите пункт Конфигурация - Хранилище конфигурации - Отключиться от хранилища. История хранилища Система групповой разработки конфигурации поддерживает ведение истории изменения информации об объектах конфигурации. В истории записываются результаты помещения объектов.
Глааа 19. Групповая разработка конфигурации 2-821 Каждое изменение объекта можно просмотреть, сравнить с текущим янием, сравнить версии конфигурации, а также получить конфигурацию указанной версии из хранилища. Для открытия окна истории хранилища выберите пункт Конфигурация - Хранилище - История хранилища. и— в Пейс™»-! 5 fclBIW^IIS N 1 2 Версий ко ;.1 Дэта 8.0.1ОО01 22.05.20031 а0.ЮО01 |о2.0620031 / 4Ja0.1O.O01 J02 06.20031. Fiifin.innn? 1п?.Пн?ПЛ31 Пользователь 1Админнстрат | Иванов Метка (Иванов {Релиз 1 ] 3 Комментарий: Добавлена константа Ч + Объект | ДемонстрационнаяКонФигурация 1,3 Константа АдресОрганизации В табличном поле, расположенном с левой части окна, выводится гический список версий конфигурации. Ниже списка версий расположено поле для показа комментария по ной версии. В табличном поле, расположенном с правой части окна, выводится список тов, которые были изменены, добавлены или удалены в выбранной версии. В списке версий допускается множественный выбор версий. В этом случае в поле Комментарий выводятся комментарии всех выбранных версий, а в списке объектов - список всех объектов по данным версиям. Каждый объект списка объектов окна История хранилища можно открыть для просмотра, посмотреть историю изменений данного объекта и сравнить с объектом текущей конфигурации. Эти действия выполняются с помощью команд контекстного меню списка объектов. Работа с версией хранилища Каждую версию хранилища конфигурации можно открыть для просмотра, загрузить вместо текущей, сравнить с текущей, сохранить в файл на диске. Также предоставлена возможность сравнения версии хранилища конфигурации с конфигурацией, хранящейся в файле. Все действия выполняются с помощью команд меню Действия окна История хранилища. Для вывода информации по истории хранилища можно использовать альный отчет. Для запуска отчета в окне История хранилища выберите пункт Действия - Отчет по истории хранилища. На экран выводится окно для ния параметров отчета.
2-822 1 СПредприятие 8.1. Конфигурирование и администрирование Отчет по истории хранилищ* г Отчет по:- Ш Q Версиям хранилища © |Обьадда ра »р*;от> и О Комментариям к версиям кранилисца (-Выводить в:- Щ О Текстовыйдокуменг ^© Табличный документ -Парзметры- © Не выводить строки комментария начинающиеся с "//..." Отбор ОК Отмена |[ Справка \ MSI4*^aB«eB«4?™4e» В группе Отчет по выбирают вид группировки информации в отчете. В каждой группе информация сортируется по алфавиту. Если выбран вид Версиям ща, то информация группируется по номерам версий. Если выбран вид Объектам разработки, то ция группируется по объектам. Если выбран вид Комментариям к ям, то информация группируется по комментариям в истории хранилища. В группе Выводить в выбирают вид представления отчета (текстовый или табличный документ). В группе Параметры указываются дополнительные параметры отчета. Для исключения строк комментария, начинающихся с «II», следует вить соответствующий флажок. Для указания объектов, по которым требуется выполнить отчет, и интервала дат нажмите кнопку Отбор. В открывшемся окне задания отбора установите параметры отбора. Для начала построения отчета нажмите кнопку ОК. Возврат к предыдущим версиям Если в хранилище конфигурации были опубликованы ненужные версии, конфигуратор предоставляет возможность отката до нужной версии лища. Для этого в списке версий выберите ту, до которой следует откатиться, и выберите пункт Действия - Откатить до версии. На экран выводится вопрос-предупреждение: При выполнении отката информация об емых версиях будет удалена без возможности восстановления. Продолжить? В случае утвердительного ответа будет произведен откат, при котором из ранилища удаляются все версии, помещенные после указанной. Сокращение версий Если ранние версии конфигураций становятся ненужными, их можно удалить из хранилища. Для этого в списке версий выберите ту, до которой ет сократить, и выберите пункт Действия - Сократить до версии. На экран выводится вопрос-предупреждение: При выполнении информация об мых версиях будет уничтожена без возможности восстановления. Продолжить? В случае утвердительного ответа будет произведено сокращение, при котором из хранилища удаляются все версии, помещенные до указанной.
Глава 19. Грулповая разработка конфигурации 2-823 Объединение версий Несколько последовательных версий хранилища можно объединять. Для этого в окне История хранилища вьщелите объединяемые версии (при этом в разделе Комментарий формируется сводный комментарий, состоящий из комментариев версий, а в списке объектов показываются все объекты, над которыми были выполнены любые действия, выбранных версий) и те пункт Действия - Объединить версии. В результате в истории хранилища будет сформирована одна версия, ющая сводные изменения указанных версий. Установка меток версий Для каждой версии конфигурации в окне История хранилища можно вить метку. Для этого выберите нужную версию и в контекстном меню выберите пункт Изменить. На кран выводится диалог: _х -Ч Номер версии; 4 Версия конфигурации: 8.80 ОШ Дат 1а.0Ь2ИЙ15Д755 Пользователь Администратор Метка. (Релиз 1 Комментарии Добавлено перечисление "Образование". Изменена форма з л-та сравочника Физлица Комментарий метки: Подготовлена конфигурация для выпуска поставки iff-,v,r ¦¦^^,'-',г',,.и1 r^^^^^^Z.r'.'l i.j-,^H^^!L. "¦^^^^ Введите значение метки. При вводе первого символа становится ным поле Комментарий метки, в которое записывается текст, описывающий назначение данной метки. Метки в основном играют роль отметок ния определенных логических этапов или действий (выпуск новых версий конфигураций, подготовка поставки и др.).
2-824 1С:Предприятие 8.1. Конфигурирование и администрирование Отбор Диалог отбора списка История хранилища отличается от стандартного. 1ш1г1'И'Н'1||||1т1|1'1ш1||г ; Щ S'S ш-,&& . : -...- 0 Иванов 0 Петров E-4F Константы Е Справочники ЕгСШ АдресныеСокращения Ш-Q АаресныйКлассификатор Ш-П^ Банки ^ В-Г~1 БанковскиеСчета Ш-%м| Документы sji -Диапазон версий хранилище ¦ ©Сеерсни |0 ~ |х|*| ©Поверсию |0 |х);| ОСдагы >7я~АШ<Вк ОПодатн TtBxfT] - Дополнительно В Выводить метки П Выводить только метки Версия конфигурации: С [ ОК [[Отмена ~| И | Справка | ^^^^М1^^ММ^ИМИ^ШМММ>РШШШШШМШШ^ШШМ Отбор версий вьшолняется в интервале времени, в интервале версий лища (или в комбинации версии и даты), по указанному списку пользователей хранилища, выполнивших размещение версий, по определенным объектам конфигурации, по определенной версии конфигурации. Кроме того, можно указать необходимость вывода версий, помеченных метками, а также ния в выборку только тех версий, которые помечены метками. По каждой выбранной версии списка версий в левой части окна История хранилища содержится список объектов, которые были добавлены, изменены или удалены. Этот список всегда полный для данной версии (не зависит от условий отбора). Если в условиях отбора указываются конкретные объекты конфигурации (не вся конфигурация), то в списке объекты, щие условию отбора, выделяются другим цветом фона. Сравнение версий хранилища Иногда нужно произвести сравнение версий конфигурации хранилища. Для этого в окне История хранилища выберите две сравниваемые версии (выбор производится с нажатой клавишей Ctrl) и выполните команду Действия - Сравнить версии конфигурации. Производится сравнение указанных версий конфигураций друг с другом, и выводится окно сравнения конфигураций.
Глава 19. Групповая разработка конфигурации 2-825 История объекта Для просмотра истории изменения объекта в списке объектов ща или в окне Конфигурация укажите объект и выберите пункт Действия - История объекта. На экран выводится диалог отбора истории: * ключзть i .чиненные <ъ -ти Период с |oi.06.2D03 0.00.00 )Ш) по: {30.062003 0.ИЮ0 123 Выводить метки Q Выводить только метки | ОК || Отмена ]| Справка т чшж4* -4дщ1-шад»1 j. щи. Укажите нужные параметры отбора и нажмите кнопку ОК. На экран выводится окно истории объекта. Действия " ^ Перейти - J ^l Y$ \fy N Версия конфи.. 8.0.10.001 ' Т эта Пользователь Метка Ш ОбщаяКартинка.Об'щаяКар. 02.0G.200311 Администратор 1Ш ОбщаяКартинка-ФонТаблиц |02.0Б.200312. Администратор Каждое изменение объекта можно просмотреть, сравнить с текущим состоянием, сравнить версии (для этого необходимо в списке выбрать две версии). ' По каждой версии объекта можно просмотреть комментарии и метки гично версиям конфигурации (см. выше), а также получить конфигурацию указанной версии из хранилища. В списке версий объекта можно выполнить отбор. Отбор выполняется аналогично описанному выше отбору в истории хранилища. Единственным отличием является выбор и отметка в списке объектов текущего объекта. Если требуется перейти в окно истории хранилища, то в подменю Перейти окна истории объектов выберите пункт История хранилища. Если ся открыть окно истории хранилища с одновременной установкой отбора по текущему объекту, выберите пункт История хранилища по объекту.
2-826 1 С:Предприятие 8.1. Конфигурирование и администрирование Выполнение действий с хранилищем без подключения В данной главе описывалась работа с хранилищем конфигурации в режиме подключения. Некоторые действия с хранилищем можно выполнять без подключения. Если конфигурация не подключена к хранилищу, то предварительно нужно установить соединение с хранилищем. Для этого выберите любой ный пункт из группы Конфигурация - Хранилище конфигурации. На экран выводится диалог соединения с хранилищем: Соединение с хранилищем конфигуращ Каталог хранилища: C:\1cv8 Имя пользователя: |Аш .министратор Пароль: | ОК |) Отмена j| Справка Укажите те же данные, что и при подключении, и нажмите кнопку ОК. После установки соединения при выборе других доступных пунктов меню диалог соединения не выводится. В режиме соединения доступны все действия, связанные с просмотром данных хранилища, сравнением объектов и конфигураций, а также трирование хранилища в полном объеме (для пользователей, имеющих административные права). Недоступны действия, связанные с получением объектов из хранилища. В режиме соединения пользователи, имеющие административные права, могут выполнять все действия, связанные с историей хранилища. Удаленная работа с хранилищем конфигурации Назначение Механизм удаленной работы с хранилищем конфигурации расширяет возможности групповой разработки конфигурации: • хранилище конфигурации может быть расположено на компьютере, работающем под управлением операционных систем Windows или Linux; • доступ к хранилищу конфигурации могут иметь пользователи ной сети (по протоколу tcp) и пользователи сети Интернет (по протоколу http).
Глава 19. Групповая разработка конфигурации 2-827 Для прикладного разработчика удаленная работа с хранилищем гурации практически ничем не отличается от работы с хранилищем, расположенным на общем сетевом ресурсе, за исключением некоторых особенностей, описанных в разделе «Особенности удаленной работы с нилищем конфигурации» на стр. 2-834. Замечание. Механизм удаленной работы с хранилищем ориентирован в основном на работу с соединением с высокой пропускной тью. Кроме этого следует учитывать, что при использовании удаленной работы может существенно возрастать время операций, требующих обмена большим количеством информации, например таких, как ние полной версии хранилища. Обзор архитектуры Удаленную работу с хранилищем конфигурации обеспечивает специальное приложение—сервер хранилища конфигурации (crserver.exe). Компьютер, на котором функционирует приложение crserver.exe, также называется сервер хранилища конфигурации. В зависимости от протокола работы (tcp или http) используются различные схемы удаленного взаимодействия клиентского приложения и хранилища конфигурации. При этом обеспечивается менная работа с хранилищем конфигурации как удаленно, так и «локально», как с общим файловым ресурсом.
2-828 1С:Предприятие 8.1. Конфигурирование и администрирование Взаимодействие по протоколу tcp Когда используется протокол tcp, клиентское приложение взаимодействует с сервером хранилища конфигурации, который, в свою очередь, твует непосредственно с самим хранилищем конфигурации. Набем«я станция JSfi- Сервер хранилища конфигурации Клиентское приложение 1cv8exe, Хранилище конфигурации V Взаимодействие по протоколу http Когда используется протокол http, взаимодействие осуществляется по ющей цепочке: клиентское приложение — веб-сервер — сервер хранилища конфигурации — хранилище конфигурации. РаЧемпа станция [ Клиентское ^ ( припоюиио V tcv8.exe л \ J Шр f < Веб-варвар / IIS или Apache \ \чу^^ Адаптерах / web-cepe» \ 1С:П Bjj Copses хранилища конфигурации Сервер хранилища конфигурации егаеглм» Общая схема работы с хранилищем конфигурации В общем случае система 1С:Предприятие 8.1 обеспечивает одновременную работу с хранилищем конфигурации с использованием всех трех протоколов.
Глава 19. Групповая разработка конфигурации 2-829 Рабочая станция J6B_ Рабочая станция JBE_ Рабочая станция / Клиентское sl [ приложение jA. 1cv8 exe л tcp &ШШй&шаи. Сервер хранилища конфигурации При этом один и тот же сервер хранилища конфигурации позволяет работать клиентам с различными хранилищами конфигурации. Единственное ограничение - все хранилища должны быть расположены в одной корневой директории. Рабочая станция Рабочая станция ^ подключение к хранилищу 1 а?
2-830 1 С:Предприятие 8.1. Конфигурирование и администрирование Установка Для функционирования удаленного хранилища конфигурации необходимо установить на сервере хранилища конфигурации следующие программные компоненты: • клиентские компоненты системы 1С:Предприятие 8.1 AС:Предприятие 8.1); • серверные компоненты системы 1С:Предприятие 8.1 (сервер ятия 8.1); • адаптер Web-сервисов системы 1 С:Предприятие 8.1 (только в том случае, если планируется удаленная работа с хранилищем по протоколу http); • компоненты сервера хранилища конфигурации. Установка для операционной системы Windows Процедура установки клиентских, серверных компонентов и адаптера Web-сервисов системы 1С:Предприятие 8.1 под операционной системой Windows описана в документации (раздел «Установка 1С:Предприятия 8.1 для работы с информационными базами в варианте клиент-сервер книги «1С:Предприятие 8.1. Клиент-сервер. Особенности установки и использования»). Компоненты удаленного хранилища следует скопировать в каталог бинарных файлов системы 1С:Предприятае 8.1 (по умолчанию C:\Program Files\1cv81\bin). Замечание 1. Сервер хранилища конфигурации является 32-разрядным приложением. Поэтому для совместной работы следует вать также 32-разрядный сервер системы 1С:Предприятие 8.1. Замечание 2. Если сервер хранилища конфигурации не планируется использовать в качестве центрального сервера кластера, ся устанавливать сервер системы 1С:Предприятие 8.1 как приложение. В противном случае при установке серверных компонентов на тере будет автоматически создан кластер по умолчанию. Установка для операционной системы Linux Процедура установки клиентских, серверных компонентов и ра Web-сервисов системы 1С:Предприятие 8.1 под операционной системой Linux описана в документации (раздел «Установка 1С Предприятия 8.1 для работы с информационными базами в варианте клиент-сервер книги «1С:Предприятие 8.1. Клиент-сервер. Особенности установки и зования»). Для функционирования удаленного хранилища конфигурации необходимо установить на сервере хранилища конфигурации следующие rpm-пакеты:
Глава 19. Групповая разработка конфигурации 2-831 1 C_Enterprise-common-8.1 .<X>-<Y>.i386.rpm; 1 C_Enterprise-server-8.1 .<X>-<Y>.i386.rpm; lC_Enterprise-ws-8.1.<X>-<Y>.i386.rpm (только в том случае, если планируется удаленная работа с хранилищем по протоколу http); lC_Enterprise-crs-8.1.<X>-<Y>.i386.rprn (компоненты сервера лища конфигурации). Замечание. Сервер хранилища конфигурации является 32-разрядным приложением. Поэтому для совместной работы следует вать также 32-разрядный сервер системы 1С:Предприятие 8.1. Настройка веб-сервера Если планируется удаленная работа с хранилищем по протоколу http, то кроме настройки сервера хранилища конфигурации необходимо настроить и веб-сервер на работу с системой 1С:Предприятие 8.1 и сервером ща конфигурации. Настройка заключается в следующих действиях: •• настроить поддержку Web-сервисов системы 1С:Предприятие 8.1; • опубликовать конфигурационный файл Web-сервиса работы с ром хранилища конфигурации. Настройка поддержки Web-сервисов описана в документации, в разделе «Настройка поддержки Web-сервисов» книги «1С:Предприятие 8.1. гурирование и администрирование». Публикация конфигурационного файла Web-сервиса работы с сервером хранилища конфигурации сводится к размещению файла с ем leer в виртуальном каталоге файлов Web-сервисов, который был создан на этапе настройки поддержки Web-сервисов системы 1С:Предприятие 8.1*. Конфигурационный файл может иметь произвольное имя (расширение leer обязательно), формат XML и содержит единственный узел с ным именем и атрибутом connectString — в этом атрибуте указывается адрес сервера хранилища в схеме tcp. Например, такой конфигурационный файл может иметь имя repository.lccr и следующее содержание: <?xml version=.0" encoding="UTF-8"?> .<repository connectString="tcp://RepServ"/> В данном случае в качестве произвольного имени узла выбрано имя repository, а адрес сервера хранилища конфигурации - tcp://RepServ.
2-832 1 С:Предприятие 8.1. Конфигурирование и администрирование Запуск В операционной системе Windows сервер хранилища конфигурации может быть запущен как приложение или установлен как сервис. В операционной системе Linux сервер хранилища конфигурации может быть запущен как процесс или как демон. Для запуска сервера хранилища конфигурации используются следующие ключи командной строки. Для операционной системы Windows crserver.exe-instsrvc-usr <пользователь> -pwd <пароль> -port <порт> -d<iOTanor> | -rmsrvc | -start | -stop | -srvc • -instsrvc - регистрация сервера как сервиса (имя сервиса -1 C:Enterprise 8.1 Configuration Repository Server); • -usr - имя пользователя, от имени которого будет зарегистрирован сервис. Этот пользователь должен обладать правом Вход в систему как сервис. Кроме этого он должен обладать правами на чтение бинарного каталога файлов системы 1С:Предприятие 8.1 (по умолчанию C:\Program Files\1cv81\bin) и полными правами на корневой каталог хранилища конфигурации (%APPDATA%YIC\1Cv81\ по умолчанию или тот каталог, который указан в параметре -d); -pwd - пароль пользователя, от имени которого будет зарегистрирован сервис; -port - рабочий порт сервера хранилища. По умолчанию используется порт 1542; -d - корневой каталог для хранилищ конфигурации. По умолчанию используется каталог %APPDATA%\1C\1Cv81\; -start - запуск сервиса lCrEnterprise 8.1 Configuration Repository Server; -stop - остановка сервиса lC:Enterprise 8.1 Configuration Repository Server; -rmsrvc — удаление регистрации сервера как сервиса; -srvc — режим работы сервера в качестве сервиса. Добавляется тически в параметры зарегистрированного сервиса. В командной строке запуска не используется. Для операционной системы Linux ./crserver -daemon -port <порт> -d<KaTaror> • -daemon - запуск сервера как демона;
Глава 19. Групповая разработка конфигурации 2-833 • -port - рабочий порт сервера хранилища. По умолчанию используется порт 1542; • -d — корневой каталог для хранилищ конфигурации. По умолчанию используется каталог %APPDATA%\1C\1Cv81\. Подключение клиента к серверу хранилища конфигурации Подключение клиента к хранилищу конфигурации при удаленной работе осуществляется так же, как и при работе с хранилищем, расположенным на общем сетевом ресурсе. Отличие заключается лишь в способе указания каталога хранилища. В зависимости от используемого протокола каталог хранилища может быть указан двумя способами. Для протокола tcp ' tcp://<имя сервера храншряца>/- относительней путь к хрмщлизду> Для протокола http <адрес файла описания веб-ejep-- .-„а--, ^..-шосздеяьный путь Зф Например: . tcp://RepServ/MyConfRep или i http://www.MyCompany.ru/ws/repository.lccr/MyConfRep • • RepServ — имя сервера хранилища конфигурации; http://www.MyCompany.ru - адрес веб-сервера, на котором опубликован файл описания Web-сервиса; http://www.MyCompany.ru/ws/repository.1ccr-полный адрес файла описания Web-сервиса в схеме http; MyConfRep - относительный путь к хранилищу конфигурации. Замечание. Относительный путь указывается от каталога по нию (%APPDATA%\1C\1Cv81\), если каталог не был задан в явном виде, или от каталога, указанного в параметре -d при запуске сервера ща. Если относительный путь к хранилищу не указан, будет выполнено подключение к хранилищу по умолчанию (каталог maincr).
2-834 1 С:Предприятие 8.1. Конфигурирование и администрирование Создание хранилища конфигурации При первом запуске сервера хранилища конфигурации на компьютере будет создан каталог по умолчанию для размещения хранилища конфигурации. Такой каталог имеет имя maincr. Если при запуске сервера не был указан ключ -о", то хранилище конфигурации по умолчанию будет располагаться в каталоге %APPDATA%\1C\1Cv81\maincr. Для создания нового хранилища конфигурации следует из клиентского приложения в режиме Конфигуратор выполнить создание хранилища, указав в качестве каталога хранилища требуемый новый каталог. Замечание. Для обеспечения максимальной производительности рекомендуется размещать корневой каталог хранилища ции на сервере хранилища конфигурации. Система 1С:Предприятие 8.1 поддерживает размещение каталогов хранилища на сетевых ресурсах, доступных серверу хранилища, однако такой вариант работы может приводить к снижению производительности. Подключение к существующему хранилищу конфигурации Для подключения к существующему хранилищу конфигурации следует из ского приложения в режиме Конфигуратор выполнить подключение к хранилищу, указав в качестве каталога хранилища требуемый каталог хранилища. Особенности удаленной работы с хранилищем конфигурации • При удаленной работе с хранилищем конфигурации не ся автоматическое обновление состояния объектов в хранилище. Для обновления информации об объектах, размещенных в хранилище, следует выполнить команду Действия - Обновить статусы. • Активные пользователи, работающие с хранилищем конфигурации удаленно, не выделяются жирным шрифтом в списке пользователей хранилища. Рекомендации по использованию хранилища Для обеспечения группы разработчиков информацией о внесенных изменениях каждый разработчик одновременно с помещением в ще измененных объектов конфигурации составляет описание внесенных изменений.
Глава 19. Групповая разработка конфигурации 2-835 Для описания изменений надо сформировать текстовый отчет о сравнении рабочей конфигурации с конфигурацией хранилища (только по мым в хранилище объектам конфигурации) и поместить его в доступное место. Администратор хранилища периодически (период определяется ностью работы) должен производить архивирование хранилища и отчетов об изменениях разработчиков. I-
Глава 20 Поставка и поддержка конфигурации Типовые конфигурации регулярно меняются. Это может быть связано с изменениями законодательства, добавлением новых функциональных возможностей или внесением исправлений. Поэтому большое значение для пользователей типовых конфигураций представляет механизм поддержки этих конфигураций. Для описания механизмов поддержки используются термины поставка и поддержка конфигурации, а также комплект поставки. Поставка. Различают полную поставку и поставку обновлений. Полная поставка представляет файл конфигурации формата *.cf, сформированный специальным образом. Поставка обновлений представляет файл ний формата *.cfu. Поддержка. Поддержка конфигурации заключается в способности гурации быть обновляемой средствами конфигуратора с использованием файлов поставки. Назначение механизма поддержки - в защите логической целостности конфигурации. В описании также применяется термин гурация, находящаяся на поддержке. Комплект поставки. Комплект поставки представляет собой дистрибутив, в состав которого входит программа установки setup.exe и файлы поставки, сжатые в файл-архив 1cv8.efd. Язык получаемого дистрибутива ет языку конфигуратора (локализованные ресурсы дистрибутива находятся в каталоге дистрибутива, в подкаталоге с именем, соответствующим имени языка). Конфигуратор позволяет разработчикам типовых конфигураций влять поставки не только новых версий конфигураций, но и установить режим поддержки этих конфигураций с учетом произведенных изменений в пользовательских конфигурациях.
Глава 20. Групповая разработка конфигурации 2-837 Поставка конфигурации Настройка поставки Настройка поставки заключается в указании правил поставщика на ние объектов конфигурации разработчиками, осуществляющими поддержку конфигураций конечных пользователей. Для настройки прав выберите пункт Конфигурация - Поставка ций - Настройка поставки. Открывается диалог настройки поставки: Настройка поставки - —- - - в ^Изменьггь «^Изменить подчиненные Объект [Qfiggngo „, „„ Е]--|Ь Общие ЁЬЧР Константы Ep'-JfP Справочники Ш -<«¦ Документы В -j|fj Журналы документе i i Е С С [ Н. -||fj Торговля ~fel Педчиненнь еДокуменгы ^ Перечисления —{...{ ВидыКонграгентов -{ .} ВидыДопРаскодов -{..} СостояниеФизлица -{...} ВидыРабочикГраФиков -{...} ДоходыНДФЛ —{...) ТипыРасчето Работника... 1-Щ Отчеты >Jg Обработки Ж < Й Планы видов характеристик ^5р Измен ния разрешены Ц| Изменения разрешены Ц» Изменения разрешены Цц Изменения разрешены *4| Изменения разрешены ^1 Изменения разрешены *4* Изменения разрешены *4| Изменения разрешены ¦1ПТЛ1П1И1ГШГ1ПИГ-Г1ТТТГП | , Г 1 г : ; i ; . to ! " " Л1__,- - ¦ -_.* EF 0 Файл поставки может использоваться для обновления ( Закрыть Л Справка В иерархическом списке объектов конфигурации доступны только объекты первого уровня. По каждому объекту следует указать правило изменения. Для этого те объект и нажмите кнопку Изменить, а для изменения правил для группы объектов выберите группу и нажмите кнопку Изменить подчиненные. Настройка правил поставщика и текстов модул 9 Правило- вния ¦ jpeuem^ *•% ©.изменения не Xj О Изменения запрещены г-Поставка модулей объекта | Ш1 Включать в поставку исходный текст модулей объекта 0К Отмена Справка В дереве объектов ется множественный выбор. В этом случае настройка выполняется для ных объектов.
2-838 1 С:Предприятие 8.1. Конфигурирование и администрирование Допускается указание следующих правил: - • Изменения разрешены - допускается любое изменение в ской конфигурации. • Изменения не рекомендуются - изменения в пользовательской рации не рекомендуются. • Изменения запрещены - изменения полностью запрещены. Данное право не позволяет изменение объектов, находящихся на поддержке. Объект с таким правилом нельзя снять с поддержки. Для изменения такого объекта надо снимать с поддержки всю конфигурацию. По умолчанию конфигуратор устанавливает правило Изменения разрешены. Установите флажок Включать в поставку исходный текст модулей объекта, если в поставку включается только скомпилированный текст модуля. В этом случае функциональность не нарушается, но текст модуля недоступен для просмотра. Для настройки файла поставки флажок Файл поставки может ся для обновления следует установить, если файл поставки предназначается для обычного обновления конфигурации. Снимите флажок в том случае, когда предполагается использовать полученный файл поставки как жуточный, когда требуется произвести ряд последовательных обновлений. Например, смена типа реквизита при обычной технологии может ти к потерям введенных данных пользователей. Поэтому часто используют промежуточную версию, в которой вводят новый реквизит с нужным типом, а прежний реквизит остается. Обычно подготавливается только файл ления. Специальная обработка выполняет преобразование данных. Затем используют следующую версию конфигурации, в которой имя гательного реквизита, имеющего нужный тип, заменяется на прежний. Назначение второй версии - только в выполнении переходной функции, поэтому его нельзя использовать как отдельное обновление. После указания прав нажмите кнопку Закрыть. Создание файлов поставки Для создания файлов поставки и обновлений выберите пункт ция - Поставка конфигурации - Создать файлы поставки и обновления фигурации. Предварительно в категории свойств Разработка должны быть указаны свойства Поставщик и Версия. Поставщик - наименование поставщика конфигурации. Версия — версия конфигурации (строка).
Глава 20. Групповая разработка конфигурации 2-839 Рекомендуемая структура номера версии: <версия>.<подверсия>.<релиз> .<построение>, где элементы структуры представляют собой десятичные числа. Такая структура упрощает идентификацию версии конфигурации при последовательной разработке и построении файлов (комплектов) поставки. В списке шаблонов и обновлений конфигураций конфигурации ся по номерам версий с учетом структуры номера. Если конфигурация или база данных модифицирована, то конфигуратор просит произвести сохранение конфигурации и обновить конфигурацию базы данных. На экран выводится окно формирования поставки: Создание Файлов поставки и обновления конфигурации Файл дистрибутива- Й Создать Файл поставки Имя Файла поставки: (c\cStrib\8.00.003M Cv8.cf 5 - Файл обновления конфигурации 0 Создать Файл обновления конфигурации Имя Файла обновления: |C\distnb\8.00 003YICv8.cfu Конфигурации для обновления. Имя Конфигурация Конфигурация Версия 8.00.001 18.00.002 1^ Добавить из предьдущих релизов ^ ^ Имя Файла CAdistrib\8.00.001 \1 Cvfc.cf C:4dislrib\8.00.002M CVS.c/ ' Каталог файлов поставки | Выполнить || Отмена |j Справка По кнопке Каталог файлов поставки формируется каталог, который будет использован для создания каталогов поставки новых версий. Имя каталога версии совпадает с номером версии. Для создания файла поставки установите флажок Создать файл поставки. В поле задания имени по умолчанию будет предложено имя файла поставки. Для создания файла обновления установите флажок Создать файл ния конфигурации. В поле задания имени по умолчанию будет предложено имя файла обновления. Если флажок Создать файл обновления конфигурации установлен, то ся включить в файл обновления прежние обновления. Для этого выполните команду Добавить из предыдущих версий и выберите файлы поставки прежних версий.
2-840 1 С:Предприятие 8.1. Конфигурирование и администрирование Для формирования указанных файлов нажмите кнопку Выполнить. Полученные файлы передаются разработчикам, осуществляющим поддержку конфигураций конечных пользователей. Подготовка комплекта поставки тиражных конфигураций Для создания комплекта поставки сначала необходимо сформировать ние комплекта (хранится в файле), а затем в соответствии с этим описанием создать комплект поставки. Описание комплекта поставки Для формирования описания комплекта поставки выберите пункт рация - Поставка конфигурации - Комплект поставки. На экран выводится диалог: ДДДЗДДДДД "Г" -г - д Выберите описание комплекта поставки- О Открыть описание комплекта поставки; |С\1 су8уТгаае\Комплект поставки! edf В © Создать новое описание комплекта поставки | (Ж JI Отмена || Справкаь В диалоге выбирается режим работы с описанием. Установите переключатель Открыть описание комплекта поставки, если требуется внести изменения в имеющееся описание. Файл описания вается в поле ввода. Для создания нового описания установите переключатель Создать новое описание. Создание нового описания комплекта поставки На экран выводится окно помощника создания описания: т "Tiiiii-i1 ДЯДИ 9 Укажите 1ч»#*еномм«е поставки и поставщика: Н«ю«иомммп [Управлениеторговлей, редакция ЮЛ Поставщик: (Фирма С . Указанные нц»ют|н« поставки и поставщик будут использоваться е интерфейсе программы установки ' < Назад | Далее > || ГотовоЦ Отмена ||" Справка чв^^ва^да
Глава 20. Групповая разработка конфигурации 2-841 Укажите наименование комплекта поставки и поставщика. Нажмите кнопку Далее>. На следующем шаге указываются параметры шаблона. Создание описания комплекта поставг Я» Укажите параметры шаблона: @ Определять параметры по текущей конфигурации Поставщик. f Фирма С" Имя. [УправлениеТоргорпей Версия. '8.10.1.6 Путь: [КаталогПоставщика Параметры шаблона и в манифест шаблона, входящего в комплект поставки. | <Нагая I Далее> | Готово^) Отмена )| Справка- По умолчанию (установлен флажок Определять параметры по текущей конфигурации) параметры выбираются из соответствующих свойств гурации. Если флажок не установлен, эти параметры можно изменить. В параметре Путь указывается каталог, в котором будет создан файл- манифест. Параметры шаблона записываются в манифест, который входит в комплект поставки. О манифесте см. книгу «Руководство по установке и запуску», приложение «Создание информационных баз с использованием нов». На следующем шаге указываются параметры шаблона. Создание описания i Выберите файлы шаблона: 0 Текущая конфигурация Файл с текущей конфигурацией может создания новой ияуормааноиноД базы не содержащей данный. 0 Текущая ъиформециоииг^ база Файл с текущей инФормаоиочсй базой может использоваться для создания новой ««фаомадиомнсй базы как копии текущей. fyj] Каталог дополнительны* Файлов C:\1cvfl\Trede10 Дополнительно в шаблон могут быть включены файлы, находящиеся в указанном каталоге и подкаталогах этого каталога. < Назад ] Далеа> |l 'Дэтоета Д [ Отмена ] (Справка Отметьте файлы шаблона, которые должны войти в описание комплекта поставки. Для дополнительных файлов, включаемых в комплект, укажите
2-842 1С:Предприятие 8.1. Конфигурирование и администрирование каталог их расположения. Все файлы этого каталога, в том числе и логи, будут включены в описание комплекта поставки. Для создания описания нажмите кнопку Готово. На экран выводится окно редактирования описания комплекта поставки. Редактирование описания комплекта поставки Окно редактирования описания комплекта поставки открывается после создания описания (см. параграф выше) или при выборе режима тирования, как описано в параграфе «Описание комплекта поставки» на стр. 2-840. dp C:\1cv8\Tiade10\Комплект поставки!.ed Действия" <*? Ч& Создать комплект Создать Файлы комплекта ' В Комплект установки ^-Л, Шаблоны конфигураций Й-А УправлениеТорговлей (Фирма С. версия 8.10.1.G] Файл выгрузки информационной базы Файл конфигурации ~,- Группа Файлов Й"^ Варианты поставки -^ Полный -4§& tSs22 -ji?^ Базовые каталоги Ё-щ^ Языки Lett _ Jfj По умолчанию В окне редактирования описания поставки выполняется настройка для создания комплекта поставки. Описание представляет собой дерево, состоящее из четырех основных ветвей: шаблоны конфигураций, варианты поставки, базовые каталоги и языки. По любой ветке возможно добавление новых данных, удаление ненужных и изменение свойств существующих. Все действия по составу выполняются с помощью команд меню Действие. Редактирование свойств производится в палитре свойств. Шаблоны конфигураций Шаблоны конфигураций представляют собой основные элементы та поставки. В состав шаблонов конфигураций входят файлы и группы файлов.
Глава 20. Групповая разработка конфигурации 2-843 Файлы могут быть как произвольными (или наборами файлов, емыми по маске), так и файлами конфигурации или выгрузки данных, получаемыми из текущей информационной базы. Каждый шаблон имеет свое размещение в каталоге шаблонов, твенно файлы и группы файлов размещаются в каталоге шаблонов, исходя из адреса файла-манифеста (группы файлов представляют при этом талоги). В файл-манифест включаются только файлы конфигурации и выгрузки данных. Остальные файлы просто размещаются в каталоге шаблона гурации. Шаблоны Для настройки свойств шаблона выберите шаблон и укажите его свойства. Текущая конфигурация — если флажок установлен, то данные (поставщик, имя, версия) выбираются из текущей информационной базы. Если флажок снят, то допускается редактирование этих свойств. Поставщик — поставщик конфигурации (соответствует свойству ции Поставщик). Имя - имя конфигурации (соответствует свойству конфигурации Имя). Версия - версия конфигурации (соответствует свойству конфигурации Версия). Размещение манифеста - относительный путь к файлу-манифесту шаблона в каталоге шаблонов. Файлы и группы файлов Для добавления файла выберите шаблон и пункт Действия - Добавить. На экран выводится диалог выбора файла. винйёд а ВыберитеД---^ -¦- - О Текущая конФш О Текущая Шфор ЫЮтдеяьныЯ Фай О Набор Файлов Каталог: Маски Файлов: Е Включать по В диалоге указывается местонахождение добавляемого элемента шаблона. I элемент шаблона: •урацня чало пая база Л СЛ1 су8ШП\СЫ034.гта1" -" жагалс ги 1 ок X ]| Отмена || Справка
2-844 1С:Предприятие 8.1. Конфигурирование и администрирование Файл может располагаться в текущей конфигурации, текущей ционной базе, в отдельном файле, а также представлять набор файлов указанного каталога, отбираемый по маске файлов (допускается включение файлов подкаталогов). Для настройки свойств файла выберите файл и укажите его свойствам ¦ Наименование - наименование файла. Данные — источник данных для файла (файл, текущая конфигурация или текущая информационная база). Базовый каталог - базовый каталог для ссылки на файл. Файл/каталог - относительный (относительно базового каталога) или абсолютный путь к файлу. Поставить на поддержку — для файла конфигурации или выгрузки данных - поставить файл на поддержку. Включать в манифест - для файла конфигурации или выгрузки данных включать файл в манифест. Наименование в шаблоне - наименование в каталоге шаблонов. нование является локализуемым в соответствии с языками комплекта установки. Размещение - каталог для информационной базы, предлагаемый по нию. Наименование для обновлений - использовать наименование файла в ге шаблонов для наименования обновлений. Для добавления группы файлов выберите шаблон и пункт Действия - Новая группа. В палитре свойств введите наименование группы. Если в списке указать группу и выбрать пункт Действия - Добавить, то в данную группу добавляется файл. Число файлов в группе неограниченно. Допускается создание вложенных групп файлов. Варианты поставки Варианты поставки представляют собой различные комбинации файлов поставки. Такие комбинации могут использоваться для различной тации поставки (например, при полной поставке или же при поставке только обновлений). Наименование - наименование варианта поставки. Поставляемые файлы - набор поставляемых файлов. По умолчанию ся полный вариант, в который включены все файлы. Если указано несколько
Глава 20. Групповая разработка конфигурации 2-845 вариантов построения, то состав файлов можно сформировать, нажав для него в палитре свойств ссылку Редактировать. м быберит Фзйл*|.евдацие в вариант построения <Ж Б--.&. Шаблоны конфигураций! О УправлениеТорговлей (Фирма '1С", версия В Л 0.1.Б] "*П«1<1 ^вйл вьгруаки ^формаииогпойбоэы ~Г_ЗЯ Файл конфигирации ~QiP Грцппа файлов Отмена \ Сгразка Установите отметки для тех файлов, которые будут включены в выбранный вариант построения. Файл описания поставки - описание, показываемое пользователю после проведения установки продукта. Базовый каталог и Каталог — используются для указания на место создания комплекта поставки или набора файлов поставки. Если эти каталоги ны, то при запросе места создания они будут автоматически подставлены в диалог запроса. Базовые каталоги Базовые каталоги используются для переносимого между различными компьютерами указания файлов поставки. В качестве базового каталога может быть указано значение переменной среды или имя каталога. После этого имя файла поставки может быть указано как комбинация базового каталога и относительного пути от этого каталога. Наименование - наименование базового каталога. База - может принимать два значения: Переменная среды или Каталог. Переменная среды/Каталог - содержит имя переменной среды или ный адрес каталога в зависимости от значения свойства База. Языки Языки предназначены для представления локализуемых наименований элементов шаблонов. Для корректного отображения наименований следует создавать языки в соответствии с наименованиями каталогов платформы системы приятие 8.1, содержащими соответствующие локализованные интерфейсы. Один из языков является языком по умолчанию (локализованная по умолчанию строка наименования используется при отсутствии строки, соответствующей текущему языку платформы).
2-846 1С:Предприятие 8.1. Конфигурирование и администрирование Наименование - наименование языка. Каталог ресурсов - имя каталога языковых ресурсов, соответствующее этому языку. Создание комплекта Для создания комплекта поставки выберите пункт Действия - Создать комплект. При этом будет создан комплект поставки, соответствующий указанному варианту поставки. Для создания комплекта файлов поставки выберите пункт Действия - Создать комплект файлов поставки. При этом будут созданы файлы поставки (не сжатые в пакет установки) без программы установки, соответствующие указанному варианту поставки. Если при этом описание комплекта поставки не было сохранено, тор предлагает его сохранить. Если количество вариантов больше одного, то на экран выводится диалог выбора варианта построения. В диалоге нужно выбрать требуемый вариант. Создазаемые файлы комплекта обновления следует размещать в каталоге сов, указанном в свойстве Адрес каталога обновлений (см. главу 20 «Поддержка конфигурации», параграф «Обновление конфигурации», описание режима поиска отдельных обновлений). Помимо лицензирования с использованием аппаратного ключа, ющего общее количество рабочих мест и не контролирующего используемые конфигурации, допускается использование электронных лицензий, которые выдаются на конкретное рабочее место и контролируют использование на нем определенных конфигураций, записанных в лицензии. Программные лицензии выдаются центром лицензирования фирмы «1С» и сохраняются на компьютере пользователя. Для создания комплекта поставки конфигурации, распространяемой по схеме лицензирования рабочего места пользователя, реализован параметр -DigiSign ключей командной строки CreateDistributionFiles и CreateDistributive, позволяющий задать файл с параметрами лицензирования. Возможность создания и распространения конфигураций, поддерживающих схему лицензирования рабочего места пользователя, может быть получена партнером на основании отдельного договора с ЗАО «1С».
Глава 20. Групповая разработка конфигурации 2-847 Поддержка конфигурации Новую версию конфигурации можно получить в виде поставки (файл поставки конфигурации новой версии и/или в виде обновления). Конфигурации пользователей, которые могут быть обновлены с учетом полученных файлов поставки, должны находиться на поддержке. Режим поддержки объектов можно менять, предварительно отказавшись от полной поддержки. Возможность устанавливать правила пользователя (изменение объектов) зависит от правил, заданных поставщиком, и текущих блокировок пользовательской конфигурации. Для конфигураций, находящихся на поддержке, предусмотрен режим ния с поставкой, сравнения новой поставки с прежней, а также сравнение текущего состояния конфигурации с первоначальным. Если конфигурация находится на поддержке, то в окне Конфигурация ты помечаются специальными пиктограммами, располагающимися справа от объекта, вдоль границы окна. Пиктограмма Цц (желтый кубик с замком красного цвета) означает, что данный объект поставщика находится на поддержке и не редактируется. Пиктограмма % (желтый кубик) означает, что данный объект поставщика редактируется с сохранением поддержки. Пиктограмма % (серый кубик) означает, что данный объект снят с ржки. Пиктограмма ** (желтый кубик со светлыми гранями и с двумя маленькими замками красного цвета) означает, что данный объект поставщика снят с поддержки, но имеются подчиненные объекты, препятствующие удалению. Постановка конфигурации на поддержку После установки типовой конфигурации она автоматически ся на поддержку. Если конфигурация не находится на поддержке, то для постановки ее на поддержку выберите пункт Конфигурация - Сравнить, объединить с гурацией из файла, а в качестве сравниваемого файла выберите файл поставки. В этом случае конфигуратор предлагает произвести постановку рации на поддержку. На экран выводится диалог, в котором помещен текст Обнаружена возможность объединения с постановкой на поддержку и ются основные параметры конфигурации поставщика. Производится запрос на постановку.
2-848 1С:Предприятие 8.1. Конфигурирование и администрирование При нажатии на кнопку Да будет открыто окно сравнения и объединения конфигураций. После указания условий и режимов объединения нажмите кнопку нить. Будет произведен пообъектный анализ конфигураций на соответствие правил поставщика правилам объединения. Если обнаруживаются объекты, по которым правила поставщика вступают в противоречие с правилами объединения, то на экран выводится окно со списком этих объектов. В окне сравнения выполните нужные настройки, чтобы снять противоречия, и повторите попытку объединения. Если противоречий в правилах нет, то производится объединение ций с постановкой текущей конфигурации на поддержку. Если текущая конфигурация подключена к хранилищу конфигураций, то при постановке конфигурации на поддержку требуется, чтобы все ты конфигурации, которые должны быть полностью взяты из конфигурации поставщика, а также корневой объект конфигурации должны быть ны в хранилище. Настройка поддержки Настройка поддержки заключается в установке правил пользователя для каждого объекта конфигурации. Для настройки поддержки выберите пункт Конфигурация - Поддержка - Настройка поддержки. На экран выводится окно настройки правил поддержки. Р I ¦¦———Я Конфигурация находится на поддержке с возможностью изменения Конфигурация поставщика. УправлениеТорговлей 6.0 Поставщик {1С 8ерсия:|80.г14 Снять с поддержки Йаыки поддержки || Сохранить в файл j ¦ Настройка праеил поддержки объектов— Объект УправлениеТорговлей m-fjt Общие Константы -та НазваниеКомпании 1 ОсновнойСклзд *° ОсновнаяВагиотаКомпанми ДатаЗапрет УчитыватьВыплатыВ рганизацияк авкаНД Ш-jSf Справочники ©•^Документы Журналы документов Правила поставщика ¦ -¦ — Ц| Объект редактируется ! Объект гарекомету^ся редактировать Правила попьзоватепя.- >Ц Объект не редактируется Й-ц Объект не редактируется у Объект редактируется с сохранением поддержки ^ Объект снят с поддержки Сравнив, объединить \ Закрыть \\ Справка
Глава 20. Групповая разработка конфигурации 2-849 В верхней строке окна настройки конфигуратор сообщает, в каком нии поддержки находится данная конфигурация. Ниже указывается имя конфигурации, поставщик и текущая версия гурации. В разделе Настройка правил поддержки объектов размещено дерево объектов и показываются правила поддержки поставщика и правила пользователя по каждому объекту. Правила поддержки поставщика не могут быть изменены. Можно менять только правила пользователя (при условии, что конфигурация снята с полной поддержки). В окне настройки допускается использование множественного выбора для настройки одинаковых правил поддержки выбранным объектам. В этом случае для изменения правил поддержки используйте контекстное меню в колонке правил поддержки. Комплект поставки может жать данные на нескольких языках. С помощью выбора языков поддержки можно указать те из них, которые используются данной ей. Для этого нажмите кнопку Языки поддержки и в открывшемся окне укажите эти языки. |й Испояьеовапь еыбррошуопаддержкя го (Зшкам; ?^Анчийиий 5тмен2_ || Спдзьк \ Полная (автоматическая) поддержка Если в строке состояния окна настройки поддержки указано Конфигурация находится на поддержке, то это означает, что все объекты данной ции находятся на поддержке и не могут быть изменены (отредактированы). В этом случае конфигурацию можно обновить автоматически. Для выполнения автоматического обновления текущей версии конфигурации: • выберите пункт Конфигурация - Поддержка - Обновить конфигурацию; • выберите файл поддержки. Обновление производится без вывода окна Сравнение и объединение. В данном состоянии изменение правил пользователя для любого объекта конфигурации недоступно независимо от правил поддержки поставщика. Поддержка с возможностью обновления Часто требуется изменить типовую конфигурацию, чтобы учесть вания конкретного пользователя. В таких случаях необходимо отказаться полностью (объект поставщика снят с поддержки) или частично (объект поставщика редактируется с возможностью поддержки) от поддержки некоторых объектов.
2-850 1С:Предприятие 8.1. Конфигурирование и администрирование Для получения доступа к установке правил поддержки пользователя в окне настройки поддержки нажмите кнопку Включить возможность изменения. После нажатия кнопки на экран выводится предупреждение: ние режима приведет к невозможности выполнять обновление конфигурации полностью автоматически. Продолжить? Если выбрать Да, то статус гурации изменится, и она будет находиться на поддержке с возможностью изменения. Если не требуется менять режим поддержки (действия были выполнены по ошибке), закройте конфигурацию без сохранения. После отказа от полной поддержки, заново установить поддержку для всей конфигурации возможно только выполнив последовательно следующие действия: • снимите конфигурацию с поддержки (в окне настройки укажите корневой объект конфигурации и выберите пункт Действия - Снять с поддержки); • выберите пункт Конфигурация - Загрузить конфигурацию из файла; • выберите файл поставки. Изменение правил поддержки объектов Для изменения правил поддержки в дереве объектов окна настройки ржки выберите нужный объект и в контекстном меню выберите Установить правило поддержки. В диалоге выберите нужное правило пользователя из трех возможных: • объект поставщика не редактируется; • объект поставщика редактируется с сохранением поддержки; • объект поставщика снят с поддержки. Доступность правил определяется установленным правилом поддержки поставщика. Если установлено правило поддержки поставщика Изменения разрешены, то доступна установка любого правила поставщика. Если установлено правило поддержки поставщика Изменения не дуются, то также доступна установка любого правила поставщика, но при изменении данного правила будет выдано предупреждающее сообщение. Если установлено правило поддержки поставщика Изменения запрещены, то установка правил поставщика невозможна. Следует обратить внимание, что после установки правила ля Объект поставщика снят с поддержки нельзя «вернуть» правило Объект поставщика не редактируется.
Глава 20. Групповая разработка конфигурации 2-851 Если выбранный объект содержит подчиненные объекты, то для изменения правил поддержки одновременно и для этих объектов установите флажок Установить для подчиненных объектов. Полный отказ от поддержки. Для отказа от поддержки всех объектов гурации выберите пункт Действия - Снять с поддержки. На экран выводится предупреждение: Снятие с поддержки приведет к невозможности получать обновления от поставщика. Продолжить? Для снятия с поддержки выберите кнопку Да. Конфигурация полностью снимается с поддержки. Если данные действия выполнены по ошибке, закройте конфигурацию без сохранения. Важно! Отказ от поддержки не означает, что данную конфигурацию невозможно обновлять методом сравнения и объединения. Сравнение и объединение с конфигурацией поставщика Из окна настройки поддержки можно выполнить сравнение и объединение с первоначальным (предыдущим) файлом поставки. Для этого те пункт Действия - Сравнить, объединить с конфигурацией поставщика. На экран выводится окно сравнения и объединения. швввшвн Основная конфигурация B-|jj] J ДемонстрационнаяКонфигур.. B-@J2P Справочники В &?? Конкуренты ^'Ш Табличные части 6-ЦЗ Состав -Свойства — Аарес Ш- — Телефон В'йШ ФормаСписка В-0 Свойства Конфигурация поставщика т тот щ S-J ДемонстрационнаяКонФ. EhSI Справочники H-?j? Конкуренты E"Q Табличные час.. B-gJJ <0тсутстБ. Ёг*Свойства Ш-- <0тсл. - <Отсу., В' Режим объединения и порядок, подчинен Статусы ло соответствиям объектов ¦ ¦ [~] Совпадающие [~"| Различающиеся [~"| Неопределенные [~]В основной [33 В конфигурации.. [Й] Изменен порядок Статусы по истории объектов 'Неизмененные \ Измененные ? Неопределенные + Добавленные — Удаленные || Изменен порядок Фильтр. [Показывать отличия в конфигурациях Действия ¦- Настройка Обновить Выполнить ||и| За^р^^ JI Справка | Основные приемы сравнения и объединения описаны на стр. 2-785. В отличие от «обычного» режима сравнения и объединения конфигураций, в окно сравнения добавлена строка показа правил поставщика и ля, а также кнопка Изменить для изменения правила пользователя. При сравнении с файлом поставки текущая конфигурация всегда ся потомком конфигурации поставщика, поэтому кнопка выбора режима настройки конфигураций отсутствует.
2-852 1С:Предприятие 8.1. Конфигурирование и администрирование Обновление конфигурации Для выполнения обновления конфигурации, находящейся на поддержке, выберите пункт Конфигурация - Поддержка - Обновить конфигурацию. На экран выводится помощник обновления. wm ЗШ MB- Ж Заберите источник обневлэний мэнзигдоздда ГЫсждосгянш обновлений может i-jtuMrwwws. в указанных каталогах, акгючая каталоги па съемных тштетхи сераерах аит-е^нет» О Выбор Файла обновления ФзЗлс&ювлгния поста гсв како ФаЙп для обюапзния «owiwrjpaiseM «Назад [ Дапее> 11 Qrweia Оливка На первом шаге пользователь для обновления конфигурации может выбрать отдельный файл обновления или начать поиск по возможным местам ложения файлов обновлений. Если выбран отдельный файл обновления, то на следующем шаге этот файл выбирается. I.U.I.UIJ.IU.JI А Укажите евйлебчовлания pVmgram ВввМстЗ 4mpta 1сЧБЧирпи 1_1_9_3\1c»8jf Информадая об о&ювгении Гею» Отав Ощввт ) При нажатии кнопки Готово выводится диалог, в котором указываются основные параметры текущей конфигурации и конфигурации поставщика (см. рисунок). Если выбран поиск отдельных обновлений, то после нажатия кнопки Далее> помощник обновления переходит к выбору возможных мест расположения обновлений.
Глава 20. Групповая разработка конфигурации 2-853 Вибэрите ойгас-ътаиска -$aAroBo6*osnet«-a {*?) Искать в текущем каталоге шаблонов и обновлений* СЛРгодгат HesMcvtPtn-pto 1c @ Искать обновления в каталогах: *Ц <^ -^ @ httpy/downloadB v8 Iciuftmplts/ Ца:\<яискета) B^\v8npdales (CD-ROM) j <Иазад~|i[I-"^^^^-l I Отмена ~) [ Справка В качестве возможных мест расположения приводятся: • текущий каталог шаблонов; • съемные диски (при этом для дисков CR-ROM добавляется каталог v8updates); • адрес, указанный в конфигурации как адрес каталога обновления. По указанным каталогам производится поиск обновлений следующим образом: • для локальных каталогов производится поиск файлов обновлений и файлов списка шаблонов в указанных каталогах и в подкаталогах. Найденные файлы списка шаблонов должны описывать каталоги шаблонов и находиться в корне этих каталогов; • для удаленных каталогов производится поиск файлов списка шаблонов только в указанных каталогах. Если в свойстве конфигурации Адрес каталога обновлений указан адрес, с которого можно получить обновление конфигурации, то при нажатии кнопки Далее> выполняется аутентификация пользователя. 51 Введете параметры пользователя для доступа к cepaepr Сервер downloads v8.1с Л1 Пмъамвтк || | Пароль. { | Доступ через грокш-сероер Пользователь: [_ Пароль- [ ОД ' | Отщ | Oipawa | Необходимо ввести имя и пароль пользователя для получения доступа к серверу, на котором размещен комплект обновления, а также имя и пароль для доступа через прокси-сервер.
2-854 1 С:Предприятие 8.1. Конфигурирование и администрирование На третьем шаге показываются обновления, для которых найдены твующие им шаблоны. В списке этих обновлений жирным шрифтом выделяется обновление, которое наиболее вероятно подходит для ния конфигурации. Обновление конфигурации Выберите необходимое обновление: В-*1 Бухгалтерия предприятия Й-ЁЯ Бухгалтерия предприятия UJ1 5 2.Б .и 1 Б 5.Б ifl 1.5.Б.7 -В 1.5.7.2 0 Показывать конфигурации < Назад Готово Отмена Справка Если выбирается обновление, которое находится в удаленном каталоге, то это обновление копируется в текущий каталог шаблонов, если он является окальным. Нажатие кнопки Готово завершает поиск файла обновления. Текущая конфигурация поставщика: Имя: |БаигалгерияПреяпрнягня Поставщик: J1C Версия [ 1.5.57 Новая конфигурация поставщика: Имя: (БунгалгермяПредгриятия Поставщик, J1C ] Версия. 11.5.71 Г'-ЭД ' !|| Отмена Сгфавка На экран выводится диалог, в котором указываются основные параметры текущей конфигурации и конфигурации поставщика. Для продолжения нажмите кнопку ОК. Конфигуратор производит сравнение конфигураций и выводит на экран окно Обновление конфигурации.
Глава 20. Групповая разработка конфигурации 2-855 Основная щдф^сшащд аш ш - Новая конфигурация пс ИоваякшФьг1?ащвдшсш ика Режим объединения и порядок „прдчи. * В- J Лен»етр«ш(М«л*?омо ft В Свойства В -J2P Справочники 11-gg? Номенклатура Й я Реквизиты Щ « ПояноеНа. B-gg? ЕдиницыИзмерен.. В-« Реквизиты Н — ПояноеНа.. В@ J ЛономстрйШО*«Аом»*гф_ В- И Свойства Е"® JP Справочники B-0gjP Номенклатура В @ 3 Реквизиты B-[s?j-. ПоямоеНаиме» Й-®^ ЕдиницыИзмерения В-Ця Реквизиты EHj/]-. ПолноеНаиме_. Й-® 2 Реквизиты Ш-j»/]-. Аарес Й-0 «¦ Телефон В ¦ 2 Реквизиты IB— Адрес Ш — Телефон it Порядок из новой конфигурации It Порядок из новой конфигурации ™ Поставщик. {Изменения разрешены Статусы по соответствиям объектов I [Совпадающие [^Различающиеся 1 Неопределенные 1 1в основной Г^Виовойконфигу UM Изменен порядок Статусы по истории объектов Неизмененные V Измененные ? Неопределенные + Добавленные — Удаленные 4t Изменен порядок Действия » Фильтр Настройка Выполнить | Закрыть || Справка j Основные приемы сравнения и объединения описаны на стр. 2-785. По сравнению с обычным режимом сравнения и объединения в табличное поле добавлены две колонки, показывающие статусы по истории тов. Расшифровка пиктограмм статусов приведена в нижней части окна. С помощью пиктограмм легко понять, какого рода и в какой конфигурации были выполнены изменения. Так, например, из рисунка видно, что в основной конфигурации были добавлены реквизиты Адрес и Телефон для справочника Конкуренты; в конфигурации поставщика изменены реквизиты справочников тура и Единицы измерений; и также добавлены реквизиты Адрес и Телефон для справочника Конкуренты, но их порядок следования отличен от порядка в основной конфигурации. Для того чтобы посмотреть правила поставщика, укажите объект в ном поле. Правило будет показано в реквизите, расположенном сразу под табличным полем. Для анализа произведенных изменений в конфигурациях удобно вать специальный фильтр, настройка которого вызывается по кнопке Фильтр.
2-856 1 С:Предприятие 8.1. Конфигурирование и администрирование На экран выводится окно настройки: ¦¦MJM.IllUUBI» —— ¦ -- Шаблоны Фильтров: [Показывать отличия основной и новой конфигурации поставщика от старой конфигурации постаЕЩ §gl Конфигурация УлравлениеТорговлей Поставщик: ]1С Версия: |8.0.2.14 Фильтр |Иет |$ Конфигурация ' | | Управление7 эрговдей 1вн-^я Поставщик: ]1С Версия: |8.0.2.15 • - I I М - Основная конфигурациям Старая конфигурация поставщика —— ^Конфигурация: |<f Конфигурация: УправяениеТорговяей >у~?-' rGgog^ - | | ЫправлениеТорговлея7 Поставщик: |1С IdfSb Поставщик: |1С Версия: в.0.2.14 Версия: в.0.2.14 Фильтр: Показьюать отличия в конфигурациях f- Новая конфигурация поставщика <- Старая конфигурация поставщика — ~ |^ Конфигурация: |-jf Конфигурация. |ЦправяениеТсрговлей j j УлравлениеТорговлей" Поставщик 1С " L&J. Поставщик. 1С ення Версия [8.0-2.15 Версия: Фильтр- I Показывать отличия в конфигурациях [^l ДПоказыватьтолькодваадыизмененныесвойства |[." .".Ж .,1. ,Л1 Отмена jj Справка Фильтр позволяет изучить изменения в конфигурациях путем выбора тов сравнения и установки режимов показа отличий. В качестве объектов сравнения выступает основная (текущая) конфигурация, новая и старая конфигурации поставщика. Поэтому окно настройки фильтра состоит из трех разделов, схожих по составу реквизитов. Каждый раздел предназначен для настройки режима сравнения любой пары конфигураций. С помощью настроек фильтра можно производить установки режимов показа отличий сразу по всем конфигурациям. Для удобства сравнения можно использовать шаблон фильтров. В шаблоне сформированы наиболее распространенные варианты сочетаний установок. На основе данных об изменениях и правилах поддержки пользователь принимает решение по объединению. Файл описания каталога шаблонов Для настройки получения обновлений конфигураций, находящихся на http(s) и ftp-серверах, необходимо создать каталог шаблонов конфигураций и файл описания каталога шаблонов. Каталог шаблонов конфигураций не обязательно находится в каталоге установки системы 1С:Предприятие 8.1. Настройка адреса каталога шаблонов конфигураций по умолчанию производится в диалоге запуска программы.
Глава 20. Групповая разработка конфигурации 2-857 Для описания каталогов, находящихся на http(s) и ftp-серверах, ся файл описания каталога шаблонов. Этот файл содержит в себе описание всего каталога шаблонов и находится в корне каталога шаблонов. Для его создания и редактирования выберите пункт Конфигурация - ржка - Шаблоны конфигураций и обновлений. Редактирование каталога шаблонов конфигураций заключается в удалении из него элементов шаблонов (или шаблонов вместе с элементами целиком) и добавлении в него шаблонов конфигураций из других каталогов. Для добавления шаблонов в каталог выберите пункт Действия - Добавить. На экран выводится помощник выбора каталога и элементов шаблонов. Выберите каталог, из которого будет производиться добавление, а затем выберите элементы, отсутствующие в текущем каталоге. Для удаления шаблонов из каталога выберите пункт Действия - Удалить. На экран выводится диалог удаления. Выберите нужный способ удаления (только указанные элементы или шаблоны целиком, в которые входят эти элементы) и нажмите кнопку ОК. Создание файла описания каталога шаблонов выполняется с помощью пункта Действия - Создать файл списка шаблонов. Данный пункт нужно обязательно выполнить для сохранения внесенных изменений в описание каталога шаблонов.
Глава 21 Администрирование При работе пользователей с системой 1С:Предприятие 8.1 в сети значение приобретают два вопроса: интеграция и разделение доступа. Каждый пользователь системы должен иметь свободный доступ к общей информации, такой как справочники, константы или перечисления. С другой стороны, необходимо, чтобы каждый пользователь имел дело только с той информацией, которая необходима ему для работы, и никак не мог своими неосторожными действиями повлиять на работу других вателей или на работоспособность системы в целом. Конфигуратор содержит развитые средства администрирования, ченные для решения указанных задач. Прежде всего, в процессе создания конфигурации создается мое число типовых наборов прав {ролей и интерфейсов), описывающих полномочия различных категорий пользователей на доступ к информации, обрабатываемой системой. Роли могут быть заданы в достаточно широких пределах - от возможности только просмотра ограниченного числа видов документов до полного набора прав по вводу, просмотру, корректировке и удалению любых видов данных. Порядок создания типовых наборов ролей и их редактирование излагается на стр. 1-85. Создание пользовательских интерфейсов описано на стр. 2-666. Для эффективной работы пользователей в процессе настройки ции задачи для каждого пользователя может быть создан индивидуальный пользовательский интерфейс. Такой интерфейс включает команды го меню и панели инструментов, настроенные на работу пользователя с той информацией, доступ к которой разрешен его набором прав. Наконец, в системе 1С:Предприятие 8.1 существует возможность создания списка пользователей, которым разрешена работа с системой. Этот список будет использоваться для авторизации пользователя при его входе в систему. Следует обратить внимание, что список пользователей системы тие 8.1 не является частью конфигурации задачи: он создается отдельно в конкретной организации, в которой используется система.
Глава 21. Администрирование 2-859 Для каждого пользователя может быть установлен пароль на вход в му. Пароль используется для подтверждения прав пользователей на работу в системе 1С:Предприятие 8.1. Другой важной задачей административного характера является ведение архива информационной базы. Проведение этой процедуры должно няться периодически, чтобы в случае разрушения базы данных иметь возможность с минимальными потерями восстановить исходные данные. Частота определяется интенсивностью изменений данных. Чем чаще меняются данные, тем чаще следует производить резервное копирование. В этой главе будут рассмотрены вопросы ведения списка пользователей системы 1С:Предприятие 8.1 и назначения пользователям наборов прав и интерфейсов, а также описана процедура выгрузки и загрузки ционной базы. Ведение списка пользователей Список пользователей вызывается на экран выбором пункта вание - Пользователи. 1 ¦¦К татя*^1^^ЩЛЪЩ*Ъ $ [Ими " ^|Попноеимя Бипвданов (менеджер по |2 Борисова (растет 1 зарплаты) 1 Ш Ганибаеа(менед. йлпывнов Атексей Николаевич Борисова Надежда Дамияанна Ганибаев Дмитрий Егор А^те * <* * Аутем Рот Потные права Право вдминисгриров Право настройки торгового оборудования Основной жтерфейс Потный Потный Pac4eT3awrr«rr.<0pn!.. . ИНапэг Основно w РУССКИЙ рА РуССКИЙ Русский j I Руссюй д Огбор- Когмчестао 1S г Окно со списком пользователей имеет панель инструментов и_табличное поле с двумя колонками. В колонке Имя вьшодится список пользователей, зарегистрированных для работы с системой 1С:Предприятие 8.1. Колонка Полное имя может содержать расшифровку имени, выданного в первой колонке. Пользователи, для которых определен пароль доступа, отображаются пиктограммами с замочком (на рисунке пользователь Бильданов). Пользователи, для которых не определена роль или аутентификация, жаются пиктограммами с вопросом (на рисунке у пользователя Борисовой не определена аутентификация, у пользователя Ганибаева - роль).
2-860 1С:Предприятие 8.1. Конфигурирование и администрирование С помощью пунктов меню Действия осуществляется ведение списка пользователей, настойка показа списка (отбор, состав и порядок колонок, сортировка), а также вывод списка в табличный или текстовый документы. Добавление нового пользователя Для добавления нового теля необходимо выбрать пункт Действия - Добавить в окне Список пользователей. На экран будет выдано окно для редактирования параметров пользователя. На закладке Основные указывается имя и полное имя пользователя. ЕВ SL Основные j Прочие Имя: Петров Полное имя: Петров Иван Сергеевич @ А;л;ентифик.ация 10Предприяшя: Пароль Подтверждение пароля: [_ Показывать в списке выбора 0 D Аутентификация Windows: Пользователь I [гаг Отмена Ж щ Справка Совет. Желательно задавать пользователям смысловые именаЛ используя фамилию сотрудника, наименование должности, характеру выполняемых им функций и тому подобное. В дальнейшем это имя будет использоваться сотрудником для входа в систему 1С:Предприя-| тие8.1. Для пользователя необходимо указать способ аутентификации. Можно' выбрать определение пользователя системой 1С:Предприятие 8.1 и ми Windows (доступно для операционных систем Windows NT 4.0, Windows i 2000 и Windows XP). Аутентификация средствами системы 1С:Предприятие 8.1. тель может быть аутентифицирован средствами системы 1С:Предприятие 8.1 j с помощью ввода его имени и пароля (в диалоге аутентификации, в виде I параметров командной строки или строки соединения с СОМ-сервером). Если установлен флаг Пользователю запрещено изменять пароль, то это! означает, что данный пользователь не может изменять свой пароль (исполь-) зуется, если включена аутентификация системы 1С:Предприятие 8.1). Если флажок Показывать в списке выбора установлен, то данный пользова-' тель будет отображаться в списке выбора при соединении с информационной базой системы 1С:Предприятие 8.1. Если пользователю запрещена фикация средствами системы 1С:Предприятие 8.1, то флаг Показывать в списке становится недоступным для редактирования, а пользователь не будет j отображен в списке выбора при соединении с информационной базой.
Глава 21. Администрирование 2-861 Аутентификация средствами Windows. Пользователь может быть аутен- тифицирован неявно средствами Windows. Для этого пользователю должен быть поставлен в соответствие некоторый Windows-пользователь. Если при старте системы 1С:Предприятие 8.1 выбран пользователь, которому лен в соответствие текущий пользователь Windows, то пользователь системы 1С:Предприятие 8.1 считается аутентифицированным, и диалог кации не отображается. В этом случае для принудительного отображения диалога аутентификации используйте параметр командной строки /WA+. По умолчанию используется параметр командной строки /WA-. Введите имя Windows-пользователя для аутентификации средствами Windows в формате: \\имя_домена\имя_пользователя Windows-пользователь может быть указан явно или выбран из доменов и пользователей, видимых с данного компьютера. Если для пользователя сняты оба флажка аутентификации, то данному пользователю закрыт доступ к этой конфигурации. На закладке Прочие указывают- Щ ~ """" " . ' " ' ЕИ ся доступные роли, основной интерфейс и язык. Если ролей в конфигурации определено ко, то для пользователя можно также указать несколько ролей. В окне для редактирования свойств пользователя не обязательно нять сразу все поля - это можно сделать позднее. Копирование пользователя Нового пользователя можно создать путем копирования существующего. Используя такую возможность, нет необходимости создавать нового зователя «с нуля» - достаточно скопировать одного из уже существующих в списке пользователей и отредактировать его свойства. Для копирования выберите исходную строку списка пользователей и ните команду Действия - Скопировать. При копировании имя пользователя может быть преобразовано с целью соблюдения уникальности. Остальные свойства нового пользователя будут такие же, как и у пользователя, выбранного в качестве образца (кроме пароля). Основные I Прочие [ Доступные роли: ?] Администратор Q Менеджер [*Q Маркетолог Основной интерфейс: Язык. (Маркетинг {Русский И* |...|х ОК | Г Отмена ~~] [~ Сгравка
2-862 1С:Предприятие 8.1. Конфигурирование и администрирование Установка пароля С целью предотвращения входа пользователей в систему 1С:Предприятие 8.1 под чужими именами каждому пользователю, которому разрешена работа с мой, может быть установлен пароль на вход. Как и имя пользователя, пароль служит для подтверждения полномочий пользователя на работу в системе. В поле для ввода пароля введите пароль пользователя. Пароль представляет собой произвольную строку, состоящую из букв и цифр. Пароль не должен содержать пробелов и специальных символов, размер пароля не должен превышать 255 символов. При вводе пароль отображается звездочками, поэтому будьте внимательны. В поле Подтверждение пароля укажите введенный пароль еще раз для исключения ошибки ввода. Если повторно введенный пароль отличается от первоначального, то при нажатии кнопки ОК на экран выводится реждение Пароль и подтверждение пароля не совпадают, и пароль не будет установлен. Если вы передумали устанавливать пароль, нажмите кнопку Отмена. Внимание! Присвоенный пользователю пароль нельзя посмотреть, поэтому будьте внимательны при установке пароля и твердо ните его. Если пользователь забыл свой пароль, необходимо задать ему новый пароль. Пользователи, имеющие пароль, отличаются в списке пользователей раммой (замочек на пиктограмме). Удаление пользователя Для удаления пользователя следует в списке пользователей выделить его имя и выбрать пункт Действия - Удалить окна Список пользователей. Для подтверждения удаления пользователя в появившемся на экране се следует нажать ОК. Редактирование свойств пользователя Для редактирования параметров пользователя предназначен пункт Администрирование - Пользователи меню конфигуратора. Выбрав нужного пользователя в списке, следует выбрать пункт Действия - Изменить меню окна Список пользователей. В окне Параметры пользователя можно изменить параметры выбранного пользователя.
Глава 21. Администрирование 2-863 Установка отбора Для удобства просмотра списка пользователей можно использовать отбор. В списке пользователей выбирается пункт Действия - Установить отбор... В . Я Интерфейсы ®@ -/ Маркетолог |Е Менеджер |Е Представитель @ Бухгалтер [¦?] Расчетчик. !3 Основной 5)Маркетинг */ Общий j5jj БукгаятерскийУчет !«/) РасчетЗарплатьСотрадни. Языки: СчАнглмйский Аутентификация 1С:Преприятия: Не учитывать Аутентификация Windows: He учитывать Отмена }[ Справка Отбор можно выполнить по роли, интерфейсу и языку, а также с учетом аутентификации пользователя. Список активных пользователей В процессе работы бывает необходимо определить, какие пользователи работают в данный момент с информационной базой. Для получения списка пользователей выберите пункт Сервис - Активные пользователи. На экран выводится окно со списком пользователей, ющих в данный момент с базой данных. Действия» tf*3 ^ jC? При открытии текущая строка показывает данные пользователя, го окно (текущее соединение). Текущий пользователь отличается в списке пиктограммой (имеет пометку на пиктограмме). С помощью пунктов меню Действия можно настроить показ списка, а также вывести его в табличный или текстовый документ. Список активных пользователей можно сортировать по любой колонке.
2-864 1С:Предприятие 8.1. Конфигурирование и администрирование Блокировка установки соединений, пользователями Система 1С:Предприятие 8.1 позволяет устанавливать блокировки ний пользователей с информационной базой. Можно запретить установку соединения пользователей с информационной базой с отображением ния о причине запрета. Эта возможность полезна, например, когда для выполнения тивных действий требуется, чтобы текущие пользователи завершили свои сеансы работы и в то же время новые пользователи не могли подключиться к информационной базе. При работе в клиент-серверном варианте работы установка блокировки может быть выполнена с помощью утилиты администрирования кластера серверов 1С:Предприятия8.1. Кроме этого при работе в любом режиме установка блокировки может быть выполнена средствами встроенного языка. Для этого используется объект встроенного языка БлокировкаУстановкиСоединений, который можно создать с помощью конструктора и установить необходимые свойства блокировки установки соединений. Метод глобального контекста УстановитьБлокировкуУстановкиСоединений() позволяет установить созданную блокировку, а метод ПолучитьБлокировкуУс- тановкиСоединений() - получить установленную блокировку. Предусмотрена возможность соединения с информационной базой в обход установленной блокировки соединений. Для этого используется параметр командной строки /UC<KOfl доступа> и параметр строки соединения 11С<код доступам Если при установке блокировки задан непустой код доступа, то для установки соединения в обход блокировки необходимо в параметре /UC указать этот код доступа. Региональные установки информационной базы Режим настройки региональных установок информационной базы позволяет управлять форматом отображения даты, времени, чисел, логических констант и влияет на порядок сортировки строк в списках информационной базы данных. Для вызова режима выберите пункт Администрирование - Региональные установки ИБ. Если какое-либо свойство не установлено, то форматы отображения чисел, даты и времени будут определяться установками по умолчанию, принятыми
Глава 21. Администрирование 2-865 в системе 1С:Предприятие8.1 для указанного языка (страны). Язык (страна) определены при нии информационной базы. В нижней части диалога ся примеры отображения числа, даты и времени с выбранными в диалоге установками. Язык. Выбор языка (страны) для данной установки ной базы. Внимание! Если в качестве СУБД используется PostgreSQL, то для существующей информационной базы изменение языка (страны) не может быть выполнено произвольным образом. Установленное ние языка (страны) можно изменить только на такое, которое будет использовать тот же порядок сортировки строк (collation) СУБД, что и существующее значение. Например, русский (Россия) может быть изменен на белорусский (Беларусь), но не может быть изменен на украинский (Украина). Если в качестве СУБД используется ЮМ DB2, то смена значения языка (страны) не поддерживается. Разделитель дробной части. Символ-разделитель целой и дробной части чисел можно выбрать из выпадающего списка или указать самостоятельно в поле ввода. Пример символа будет выведен в рамке слева от поля ввода. Разделитель групп. Символ-разделитель групп цифр в целой части числа можно выбрать из выпадающего списка или указать самостоятельно в поле ввода. Пример символа будет выведен в рамке слева от поля ввода. Группировка. Свойство задает формат группировки цифр в целой части числа. Форматную строку можно выбрать из выпадающего списка или" указать самостоятельно. Формат группировки указывается следующим образом: •«количество цифр в группе><символ-разделитель> <0>. ки информационной баз! Язык (Страна) | Русский {Россия]. . J^| * Разделитель дробной части Разделитель групп Группировка Представление отрицательных чисел Формат даты Формат времени . Логическое ложь Логическое истина EL Точка I-M BE Запятая ж С 3.0 ж хчисел \ U н ldd.MM.iroi т« jhrcmm.ss. ш |Нет и |Да Irl -Примеры: —— | -987 654.321 |ш| | 2Э072Ш2| | ] | 22:49:051 | |-987 321 | |2ЭО720О2 | |10-49:05 | Шмена
2-866 1С:Предприятие 8.1. Конфигурирование и администрирование В качестве символа-разделителя можно использовать любой символ, ный от цифры. Например, последовательность символов 3,2,0 означает, что цифры будут сгруппированы следующим образом (отсчет цифр в числе идет слева во только в целой части): • первую группу образуют первые три цифры числа; • затем идет символ-разделитель групп (заданный настройками онной системы или указанный в свойстве Разделитель групп); • все оставшиеся цифры числа будут сгруппированы по две. Символ 0 в конце форматной строки означает «и так же — до конца». То есть если в вышеприведенном примере форматной строки убрать 0, указав 3,2, группировка изменится следующим образом: первую группу образуют первые три цифры числа; затем идет символ-разделитель групп; вторую группу образуют следующие 2 цифры числа; затем идет символ-разделитель групп; все оставшиеся цифры числа будут собраны вместе. Выбор одного символа 0 в этом поле означает, что цифры в целой части чисел не будут разделяться на группы. Представление отрицательных чисел. Из выпадающего списка можно выбрать вид отрицательных чисел. Выбор Авто означает, что вид тельных чисел будет определяться установками операционной системы. Формат даты. Устанавливает формат отображения даты. Можно вать в различных сочетаниях следующие символы: d - число месяца. Числа меньше 10 выводятся без лидирующего нуля; dd - число месяца. Числа меньше 10 выводятся с лидирующим нулем; М — номер месяца. Номера месяцев меньше 10 выводятся без ющего нуля; ММ - номер месяца. Номера месяцев меньше 10 выводятся с щим нулем; ММММ - наименование месяца словами; у - две последние цифры года. Года меньше 10 выводятся без ющего нуля; уу - две последние цифры года. Года меньше 10 выводятся с щим нулем; УУУУ ~ г°Д четырьмя цифрами.
Глава 21. Администрирование 2-867 Перечисленные выше символы и группы символов можно указывать в любой последовательности. Для разделения дня, месяца и года можно указывать различные символы-разделители. Формат времени. Устанавливает формат отображения времени. Можно использовать в различных сочетаниях следующие символы: • h, Н - часы в 12-часовом (h) или 24-часовом (Н) формате. Часы меньше 10 выводятся без лидирующего нуля; • hh, НН - часы в 12-часовом (hh) или 24-часовом (НН) формате. Часы меньше 10 выводятся с лидирующим нулем; • m - минуты. Минуты меньше 10 выводятся без лидирующего нуля; • mm - минуты. Минуты меньше 10 выводятся с лидирующим нулем; • s - секунды. Секунды меньше 10 выводятся без лидирующего нуля; • ss — секунды. Секунды меньше 10 выводятся с лидирующим нулем. Перечисленные выше символы и группы символов можно указывать в любой последовательности. Для разделения часов, минут и секунд можно указывать различные символы-разделители. Важно! При использовании региональных настроек для определения представления даты в поле ввода следует выбирать только такие настройки, которые поддерживаются полем ввода. Логическое ложь, логическое истина. Позволяет указать вид логических констант. Можно выбрать из выпадающего списка либо ввести тельно. Параметры информационной базы Режим настройки параметров информационной базы позволяет задавать время ожидания блокировки данных и указывать необходимость использования ограничений на пароли пользователей. Для настройки доступны ленные ниже параметры. Параметры информационной базы^И Время ожидания блокировки данных (в секундах) Минимальная длина паролей пользователей Проверка сложности паролей пользователей | ОК || Отмена | С ? щ И:| *|:| Справка ] Время ожидания блокировки данных (в секундах). Определяет ное время ожидания установки транзакционной блокировки сервером баз данных. Например, если текущая транзакция должна установить ку на запись, а запись уже заблокирована другой транзакцией, то текущая транзакция будет ожидать снятия блокировки, но не дольше, чем значение
2-868 1 С:Предприятие 8.1. Конфигурирование и администрирование данного параметра. Аналогичным образом этот параметр регулирует время ожидания транзакционной блокировки в режиме управляемых блокировок системы 1С:Предприятие8.1. Минимальная длина паролей пользователей. Указывает минимальную длину пароля пользователя. Если установлен параметр Проверка ти паролей пользователей, то минимальная длина пароля пользователя не может быть менее 7 символов. Проверка сложности паролей пользователей. Если данный параметр установлен, пароли пользователей должны удовлетворять следующим требованиям: • длина пароля не должна быть менее значения, указанного в параметре Минимальная длина паролей пользователей; • пароль должен состоять из символов, относящихся как минимум к трем из перечисленных групп: • заглавные буквы; • строчные буквы; • цифры; • специальные символы. • пароль не должен совпадать с именем пользователя; • пароль не должен являться последовательностью символов. Использование ограничений на пароли пользователей информационной базы не влияет на существующие пароли. Ограничения будут применены только при изменении существующего пароля или при добавлении нового пользователя информационной базы. Выгрузка информационной базы данных в файл Текущую информационную базу данных можно сохранить в файл на диске. Для сохранения данных в файл выберите пункт Администрирование - зить информационную базу данных в файл. На экран выводится стандартный диалог выбора файла. Выберите каталог и укажите имя файла, в который будут записаны данные. Этот механизм предназначен прежде всего для получения образа ционной базы независимо от способа хранения данных. Иногда этот режим используют также для создания резервной копии мационной базы, однако такой вариант его использования обладает рядом недостатков.
Глава 21. Администрирование 2-869 Основным недостатком является необходимость использования зовательского режима для выполнения этой операции. Примечание. Работа информационной базы в монопольном режиме не переводит базу данных MS SQL в однопользовательский режим. При большом объеме информационной базы перерыв в работе лей может быть достаточно велик, и это не всегда приемлемо. Загрузка информационной базы данных из файла Для восстановления информационной базы данных из файла ся пункт Администрирование - Загрузить информационную базу данных из файла. На экран выводится стандартный диалог выбора файла. Необходимо выбрать каталог и указать имя файла, в который будут записаны данные. Важно! При восстановлении текущая информационная база данных будет полностью заменена. Создание резервной копии информационной базы Процессы создания копии информационной базы при работе в файловом и клиент-серверном варианте работы системы 1С:Предприятие 8.1 могут отличаться. Ниже рассматривается создание резервной копии в файловом варианте. Важно!Для обеспечения целостности и согласованности данных работа пользователей с информационной базой во время создания резервной копии должна быть запрещена. Создание резервной копии осуществляется в любой программе, вающей работу с файлами, например, в программе Проводник (Explorer) Microsoft Windows. С помощью программы работы с файлами необходимо открыть каталог с информационной базой. Для создания копии онной базы можно просто скопировать файл 1cv8.1cd в отдельный каталог. Для восстановления (в случае утери, порчи и т. д.) информационной базы достаточно скопировать сохраненный файл в прежний каталог. Заметим, что для копирования информационной базы также можно зовать специализированное программное обеспечение, предназначенное для резервного копирования и восстановления данных.
2-870 1С:Предприятие 8.1. Конфигурирование и администрирование Преобразование информационной базы для использования в клиент-серверном варианте Выгрузка/загрузка информационной базы в файл может быть использована, например, для преобразования файлового варианта в клиент-серверный. Важно! Перед выполнением выгрузки и загрузки все сеансы работы с данной информационной базой необходимо закрыть. Выполните выгрузку информационной базы (пункт ние - Выгрузить информационную базу данных). Затем создайте пустую информационную базу в варианте использования клиент-сервер. Откройте базу в режиме Конфигуратор и выполните загрузку информационной базы (пункт Администрирование - Загрузить информационную базу данных). Тестирование и исправление информационной базы В процессе работы системы 1С:Предприятие 8.1 могут возникать ные внештатные ситуации - отключение питания компьютера, «зависание» операционной системы, сбои оборудования и прочее. Такие ситуации, возникшие в процессе записи изменений в информационную базу системы 1 С:Предприятие 8.1, могут привести к ее некорректному состоянию. Внешние проявления некорректного состояния информационной базы могут быть различными, вплоть до невозможности запуска. Процедура Тестирование и исправление информационных баз() предназначена для диагностики и устранения ошибочных состояний информационных баз, имеющих различный формат (файловый или клиент-серверный).
Глава 21. Администрирование 2-871 Для запуска режима используется пункт Администрирование - Тестирование и исправление ИБ. На экран выводится диалог: Лрэвер»4 и ре даты: ч/ Реиндекшдня табгицин - |бази (j/j Проверка лоп-мгсвпй дашсгносга ««Зормадотой бвзд П эоверка ссыло*юй целостности информационной базы 0 Перететитогов [71 Сжатие табпдц иююриационной баэы Q Поглая pv струкгюиэв^»! табллц информационной базы О Только пестрое © Тестирован*; и иарангаиие Принашч оситакна При част*аюй потере иеодесгщкзщие объекты данных объектов' , Создавать объекта Омшавать объекты Оищать семгам ^ Удалть объект • Не изменять * Не измщ^ят» i j Лредотаитьгрерванное рэнеа тестирование ОГ%?Ч>ватьаипогнениег?)овф(мч^зез 0 * часов 0 * нин | Выполнить | | Закрыть j | Справка | В списке проверок и режимов следует установить требуемые виды няемых действий. Виды тестирования можно производить независимо друг от друга. Для файлового варианта информационной базы возможно нение реиндексирования и сжатия базы данных. Для обоих вариантов (файловый и клиент-серверный) возможна проверка логической ти данных и пересчет итогов. Для некоторых распределенных информационных баз, у которых возможно получение данных, содержащих ссылки на объекты, не расположенные в тестируемой информационной базе, снятие флажка Проверка ссылочной целостности информационной базы позволит отключить создание «несуществующих» данных и как следствие не приведет к передаче этих данных в другие узлы распределенной информационной базы. Под списком режимов расположены три группы настроек. В первой группе выбирается, что необходимо выполнить: тестирование или тестирование и исправление. В первом случае программа проведет проверку информационной базы без внесения в нее каких-либо изменений. Во втором случае будут выполнены директивы, указанные во второй группе настроек. Смысл переключателей понятен из их названия. Третья группа элементов управления позволяет выполнять длительные дуры тестирования и исправления в несколько сессий. Флаг Прервать выполнение проверки через позволяет задать интервал мени, по истечении которого тестирование будет прервано, а параметры
2-872 1С:Предприятие 8.1. Конфигурирование и администрирование тестирования и исправления сохранены до следующей сессии ратора. Флаг Продолжить прерванное ранее тестирование позволяет продолжить процесс с того места, на котором он был прерван в предыдущей сессии тестирования и исправления. События тестирования и исправления отображаются в журнале регистрации. Для запуска тестирования необходимо нажать кнопку Выполнить. Программа произведет анализ возможности установки го режима и устанавливает монопольный режим. В случае обнаружения невозможности установки на экран выводится предупреждение: Не удалось переключить доступ в монопольный режим. Имеются работающие тели. Для получения информации о работающих пользователях откройте список активных пользователей (выберите пункт ные пользователи). Если монопольный режим установлен, запускается процесс выполнения указанных действий и на экран выводится информационная страница га о выполнении тестирования. Примечание. Работа информационной базы в монопольном режиме не переводит базу данных MS SQL в однопользовательский режим. После завершения работы монопольный режим снимается. В комплект поставки входит утилита восстановления файлового варианта базы данных. Описание работы с утилитой см. в приложении. Выполнение централизованной проверки конфигурации Для выполнения проверки конфигурации выберите пункт Конфигурация - Проверка конфигурации. На экран выводится окно: В --l-,N,-[',< Настройка проверки J3* 0 Проверка погаиеской целостности конфигурации [5J Поиск негорректных осыпок -Синтакшческий контроль модулей ¦—¦ В Работа кгиентсмэго приложений Ц Работа внешнего соединения Q Работа кгивитскоп) приложения в режиме клиент-сервер Г") Работа внешнего соединения врежиме клиент-сервер |~~| Работа сервера КНТрегприя™» |~~| Поставка модулей безисминштекстов -Логическая проверка модулей —— ГП Поиск неишопьзуеммхпроиеди? и Функций ? Проверка существования назначенных офаботедков Поиск пуетыхофаботчишв t^gir.'lb». If О^маП
Глава 21. Администрирование 2-873 Механизм проверки конфигурации предоставляет следующие тесты: 1. Проверка логической целостности конфигурации. Стандартная ка, обычно выполняемая перед обновлением базы данных. 2. Поиск некорректных ссылок. Поиск ссылок на удаленные объекты. Выполняется по всей конфигурации, включая права, формы, макеты, интерфейсы и т. д. Также осуществляется поиск логически ных ссылок. 3. Работа клиентского приложения. Проверка компиляции модулей в режиме проверки среды клиентского приложения, выполняемого в файловом режиме. 4. Работа внешнего соединения. Проверка компиляции модулей в режиме проверки среды внешнего соединения, выполняемого в файловом режиме. 5. Работа клиентского приложения в режиме клиент-сервер. Проверка компиляции модулей в режиме проверки среды клиентского ния, выполняемого в режиме клиент-сервер. 6. Работа внешнего соединения. Проверка компиляции модулей в режиме проверки среды внешнего соединения, выполняемого в режиме клиент- сервер. 7.' Работа сервера системы 1С:Предприятие 8.1. Проверка компиляции модулей в режиме проверки среды сервера системы 1С:Предприятие 8.1. 8. Поставка модулей без исходных текстов. В случае если в настройках поставки конфигурации для некоторых модулей указана поставка без исходных текстов, проверяется возможность генерации образов этих модулей. 9. Поиск неиспользуемых процедур и функций. Поиск локальных (не экспортных) процедур и функций, на которые отсутствуют ссылки. В том числе осуществляется поиск неиспользуемых обработчиков событий. 10. Проверка существования назначенных обработчиков. Проверка твования обработчиков событий интерфейсов, форм и элементов управления. 11. Поиск пустых обработчиков. Поиск назначенных обработчиков событий, в которых не выполняется никаких действий. Существование таких обработчиков может привести к падению производительности системы. Выбранную совокупность настроек можно сохранить для дальнейшего использования. Для этого в поле Настройка проверки укажите имя ки. Для использования прежней настройки достаточно выбрать (или ввести) имя настройки.
2-874 1 С:Предприятие 8.1. Конфигурирование и администрирование Все сообщения об ошибках выдаются в окно сообщений. Для прерывания проверки конфигурации используйте комбинацию клавиш Ctrl + Break. Примечание. В начальной стадии проверки прерывание может быть обработано с задержкой. При проверке конфигурации, подключенной к хранилищу, во избежание ошибок, связанных с информацией о метаданных, рекомендуется захватить корневой объект конфигурации. Журнал регистрации Для выполнения административных обязанностей часто требуется выяснить, какие события происходили в определенный момент времени или какие действия выполнял тот или иной пользователь. Для этих целей предназначен журнал регистрации. В этом журнале могут фиксироваться различные события. С его помощью администратор может получить историю работы пользователей с системой. При работе пользователей система 1С:Предприятие 8.1 фиксирует в журнале основные действия, выполняемые пользователем по модификации данных информационной базы, выполнению регламентных операций, нию и отключению от системы и т. д. Журнал регистрации работает как в режиме Конфигуратор, так и в режиме 1С:Предприятие. Работа с журналом регистрации описана в книге «1С:Предприятие8.1. Руководство пользователя», в главе 12. Настройка журнала регистрации С помощью пункта меню Администрирование - Настройка журнала ции можно настроить учет событий в журнале регистрации. г- Регистрировать в журнале события ¦ О Не регистрировать О Регистрировать ошибвд О Ретарирсватьошибю! гредаятрежяения О Регистрировать ошибад предугрежвегсля. ижэфиедю ©У*гухл><г--ватьазд&зд .ц«у,тиг«:«,т»мя +*щ****»,, гринечанйя! Разделять ранение жденаги по периодам |День \**\ Г Оплатить | ил Отнена Ссцмвт
Глава 21. Дцминистрирование 2-875 В случае сетевой работы выбранную установку можно сохранить только тогда, когда с конфигурацией кроме администратора никто не работает. Записи журнала регистрации хранятся в файлах. Каждый файл содержит записи определенного периода. Размер периода задается в поле Разделять хранение журнала регистрации по периодам. Новый файл открывается при наступлении каждого нового часа, дня, недели, месяца или года, в мости от установленного значения параметра настройки. При создании новой информационной базы для журнала ся режим регистрации событий всех уровней важности и периодичность разделения на файлы - день. Также можно не разделять журнал ции на файлы. В процессе эксплуатации системы в журнале регистрации может ся значительное число записей. Для сокращения числа записей откройте окно настройки журнала и нажмите кнопку Сократить. На экран ся окно: Сократить журнал регистрации^! Текущий диапазон событий: 09.10.2006-09.10.2006 Удалить события до 115.09.2006 |Ш| ^,.,,^&^.~^^.™~l_l I ок I - |c\1C\events.elf |... гарэкрантъ разделение хранения журнала по периодам I Отмена ] ., ¦ I Справка | i Сокращение записей производится до указанной в поле Удалить события до даты. Если требуется сохранить удаляемые записи, то установите флажок Записать удаляемые записи в файл и укажите имя файла-архива. Если требуется периодически сокращать журнал и при этом иметь ность просматривать уже удаленные события журнала, то установите флажок Сохранять разделение хранения журнала по периодам и объединять с сохраненным ранее журналом. Для сохранения разделения по периодам при запуске конфигуратора в командном режиме можно также использовать команду /ReduceEventLogSize KeepSplitting. Для просмотра архива записей журнала регистрации выберите пункт Файл - Открыть и в стандартном диалоге выбора файла укажите тип файла Журнал регистрации f.elf). Выберите нужный файл архива и нажмите ку Открыть (Open). Настройка автоматического обновления и интервала обновления дится стандартным для табличного поля механизмом настройки списка.
2-876 1С:Предприятие 8.1. Конфигурирование и администрирование События в журнале регистрации идентифицируются строкой. При этом для системных событий используются комбинации символов _$" и $_ (например, _$InfoBase$_.MasterNodeUpdate или _$PerformError$_). _ $InfoBase$_.MasterNodeUpdate отобразится в виде строки Информационная база. Изменение главного узла. Использование этих комбинаций в именах событий, записываемых из встроенного языка, с помощью метода ЗаписьЖур- налаРегистрации (WriteLogEvent) запрещено. Созданные при помощи этого метода события отображаются как есть. Сохранение журнала регистрации Для сохранения журнала регистрации откройте его и выберите пункт Файл - Сохранить копию. На экран выводится диалог выбора каталога и файла, в который будет произведена выгрузка, а также тип файла (по нию указывается тип журнала регистрации *.elf). Выгрузка также возможна в формате XML. Формат XML-документа выгрузки журнала регистрации Пространство имен: http://v8.1c.ru/eventLog. Префикс пространства имен (по умолчанию): v8e. Пример выгрузки журнала регистрации: <v8e: Event Log xmlns:v8e = "http://v8.lc.ru/eventLog" xmlns-.xsd = "http://www.w3.org/2001/XMLSchema" xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"> <v8e:Event> <v8e:Level>Warning</v8e:Level> <v8e:Date>Haia co6broCT</v8e:Date> <v8e:Application>Enterprise</v8e-.Application> <v8e:ApplicationPresentation>lC:Предприятиемv8e: ApplicationPresentation> <v8e:EventName>WMH событиж/vSe:EventName> <v8e:EventPresentation>npe3eHTat(HH событиж/vSe: .EventPresentation> <v8e:UserID>00000000-0000-0000-0000-000000000001</v8e:UserID> <v8e:UserMame>MBaHOB</v8e:UserName> <v8e-.Computer>Ivanov</v8e:Computer> <v8e:MetadataName>CnpaB04HMKH.HoMeKnaTypa</v8e:MetadataName> <v8e:MetadataPresentation>CnpaB04HMKH HoMejuia*rypa</v8e: 'MetadataPresentation> <v8e: Coniment>KoMMeHTapMii</v8e: Comment> <v8e:Data xsi:type="xsd:string">Какие-то flaHHHe</v8e:Data> <v8e:DataPresentation>0nMcaHMe flaHHHx</v8e:DataPresentation> </v8e:Event> </v8e:EventLog>
Глава 21. Администрирование 2-877 Элемент EventLog Корневой элемент документа. Содержит собственно события журнала регистрации. Event Содержит элементы, описывающие событие журнала регистрации. Элемент Level Тип перечисления уровня события. Значение уровня события. Элемент, Date Тип: ДатаВремя. Значение даты и времени события. Элемент Application Тип: Строка. Имя приложения, в котором событие произошло. Элемент ApplicationPresentation Тип: Строка. Представление приложения, в котором событие произошло. Элемент EventName Тип: Строка. Имя произошедшего события. Элемент EventPresentation Тип: Строка. Представление произошедшего события. Элемент UserlD Тип: UUID. Идентификатор пользователя, инициировавшего событие. Элемент UserName Тип: Строка. Имя пользователя, инициировавшего событие. Элемент MetadataName Тип: Строка. Составное имя в англоязычном варианте термов и с использованием имен метаданных.
2-878 1С:Предприятие 8.1. Конфигурирование и администрирование Элемент MetadataPresentation Тип: Строка. Представление объекта метаданных на языке пользователя (синонимы). Элемент Comment Тип: Строка. Комментарий к событию. Элемент Data Тип: Произвольный. Данные события. Если тип данных не может быть представлен в виде XML, то производится запись значения Неопределено (пустой элемент с том xsknil = "true"). Чтобы определить точный тип значения, его необходимо указывать при выгрузке в атрибуте xsi:type. Элемент DataPresentation Тип: Строка. Представление данных события. Технологический журнал Система 1С:Предприятие 8.1 обеспечивает возможность ведения ческого журнала, в который помещается информация от всех приложений, относящихся к системе 1С:Предприятие 8.1. Технологический журнал предназначен для выявления ошибок, щих при эксплуатации системы, и диагностики работы системы службой технической поддержки фирмы «1С», а также для анализа технологических характеристик работы системы. Состав и свойства событий технологического журнала могут меняться при выпуске обновлений платформы. Поскольку технологический журнал представляет собой набор текстовых файлов, хранящихся в различных каталогах, он может быть использован разработчиками прикладных решений для анализа различных режимов работы системы 1С:Предприятие 8.1 и прикладных решений. Технологический журнал может вестись на любом компьютере, на котором имеется инсталляция системы 1С:Предприятие 8.1. За ведение кого журнала отвечает конфигурационный файл, в котором описываются: • каталог, в котором будут располагаться файлы технологического журнала; • состав информации, которая будет помещаться в технологический журнал; • время, в течение которого хранятся файлы технологического журнала; • параметры дампа, создаваемого при аварийном завершении приложения.
Глава 21. Администрирование 2-879 По умолчанию конфигурационный файл отсутствует. Это означает, что технологический журнал включен и настроен на сохранение минимальных дампов при аварийном завершении приложения в каталог C:\Documents and 8егйпд8\<ИмяПользователя>\1-оса1 SettingsXApplication Data\1C\1Cv8\dumps. При необходимости может быть выполнена произвольная настройка журнала регистрации с помощью отдельного конфигурационного файла. Этот файл должен иметь имя logcfg.xml и располагаться в подкаталоге conf каталога программных файлов системы 1С:Предприятие 8.1 (bin). Система 1С:Предприятие 8.1 автоматически, с периодичностью 60 секунд, опрашивает каталог программных файлов на наличие конфигурационного файла и его состав. Таким образом, изменение параметров го журнала может быть выполнено «на ходу», без перезапуска работающих приложений системы 1С:Предприятие 8.1. При определенных настройках объем технологического журнала может быть достаточно большим, поэтому в конфигурационном файле желательно указьшать время, в течение которого хранятся файлы журнала. По истечении указанного времени система 1С:Предприятие 8.1 удалит устаревшие файлы журнала. Если после удаления устаревших файлов каталог, в котором лагались эти файлы, оказывается пустым, то такой каталог тоже удаляется. Таким образом, все дерево каталогов технологического журнала не жит устаревших файлов и папок. Если работа системы выполняется в среде Linux, управление выдачей аварийных дампов (core) выполняется средствами операционной мы. При этом в технологический журнал помещается информация о факте аварийного завершения процесса и о номере сигнала, повлекшего за собой это завершение. Конфигурационный файл технологического журнала Для настройки параметров технологического журнала предназначен гурационный файл. Конфигурационный файл располагается в подкаталоге conf каталога загрузочных модулей системы 1С:Предприятие 8.1 (bin). Он называется logcfg.xml и имеет формат XML. В простейшем виде конфигурационный файл может иметь, например, ющее содержимое: 1 <config xmlns="http://v8.1c.ru/v8/tech-log"> <log location="c:\v81Mogs" history="l"> <event> <eq property="Name" value="CONN"/> </event </log> > <dump location="c:\v81\dumps" create="l" type="/> </config>
2-880 1С:Предприятие 8.1. Конфигурирование и администрирование Данный конфигурационный файл указывает на следующее: • в технологическом журнале регистрируются все события установки и разрыва клиентского соединения с сервером; • файлы технологического журнала располагаются в каталоге c:\v81\logs; • файлы технологического журнала хранятся в течение одного часа; • файлы дампа помещаются в каталог c:\v81\dumps; • файлы дампа содержат всю доступную информацию (содержимое всей памяти процесса). При отсутствии конфигурационного файла используются следующие параметры: • дампы минимального размера; • каталоги дампов создаются в каталоге C:\Documents and Settings^ <ИмяПользователя>\1_оса1 Settings\Application Data\1C\1Cv81\. Имя каждого подкаталога технологического журнала одного процесса будет иметь вид: <ИмяПроцесса>_<ИдентификаторПроцесса>, например: rphost_2488. Структура конфигурационного файла Корневым элементом конфигурационного файла является элемент <config>, который определяет настройки технологического журнала. Он может жать несколько элементов <log> и один элемент <dump>. <config .„> , «clog ...> ... </log> «clog ...> ... «c/log> <log ...> ._ </log> <dump ... /> </cortfig> Элемент <log> определяет каталог технологического журнала. Его атрибуты: • location - имя каталога, в котором будет размещаться технологический журнал; Необходимо иметь в виду, что каталог технологического журнала не значен для хранения в нем файлов, которые не относятся к технологическому журналу. Поэтому не следует размещать в нем дампы. Очистка каталога нологического журнала от устаревших файлов журнала выполняется 1 раз в час. При этом посторонние файлы, помещенные в каталог кого журнала, удаляются. В элементах <log 1осатюп="каталог технологического журнала" history= 4"> </1од> и <dump 1осайоп="каталог дампов" create=" type=7> следует вать разные каталоги.
Глава 21. Администрирование 2-881 • history - количество часов, через которое информация будет удаляться из технологического журнала. В элемент <log> могут быть вложены элементы <event> и <property>, состав которых определяет условие записи в журнал каждого события и условия записи каждого свойства события. Если этот элемент не содержит ни одного элемента <event>, то никакие события в журнал записываться не будут. Элемент <dump> определяет каталог для записи дампов аварийного шения. Элемент <event> Последовательность элементов <event> определяет условие, при нии которого событие будет помещено в журнал. В журнал помещаются только такие события, которые удовлетворяют условию. Иначе говоря, если условие, определяемое последовательностью элементов <event>, принимает значение Истина, то событие будет записано в журнал. Событие ся в журнал, если оно удовлетворяет всем условиям внутри хотя бы одного из элементов <event>. To есть условия внутри <event> объединяются по И, а элементы <event> объединяются по ИЛИ. Условия задаются элементами: • eq - равно; • пе - не равно; • gt — больше; • де - больше или равно; • It - меньше; • le - меньше или равно; • like - соответствие маске. Каждый из этих элементов, кроме элемента like, определяет простое ние значения параметра события (имя которого задается атрибутом property) со значением атрибута value. Например: <event> <eq property="Name" value="PROC"/> </event> | В данном случае в технологическом журнале будут регистрироваться события, относящиеся к группе с именем PROC. Доступны следующие имена групп событий: • PROC - события, относящиеся к процессу целиком и влияющие на дальнейшую работоспособность процесса. Например: старт, ние, аварийное завершение и т. п.;
ж 2-882 1 СПредприятие 8.1. Конфигурирование и администрирование • SCOM — события создания или удаления серверного контекста, обычно связанного с информационной базой; • ЕХСР — исключительные ситуации приложений системы 1С:Предприя- тие8.1, которые штатно не обрабатываются и могут послужить причиной аварийного завершения серверного процесса или ненного к нему клиентского процесса; • EXCPCNTX - события, которые начались, но не закончились в момент возникновения нештатной ситуации; • SDBL — события, связанные с исполнением запросов к модели базы данных системы 1С:Предприятие 8.1; • QERR— события, связанные с обнаружением ошибок компиляции запроса или ограничения на уровне записей и полей базы данных; • PERR - события, связанные с обнаружением ошибок работы с ками пользователя; • CONN — установка или разрыв клиентского соединения с сервером; • ADMIN — управляющие воздействия администратора кластера серверов системы 1С:Предприятие8.1; • DBV8DBEng - исполнение операторов SQL файловой СУБД; • DBMSSQL - исполнение операторов SQL СУБД Microsoft SQL Server; • DBPOSTGRS - исполнение операторов SQL СУБД PostgreSQL; • DB2 - исполнение операторов SQL СУБД DB2; • CALL - удаленный вызов; • TLOCK - управление транзакционными блокировками в управляемом режиме. Следует заметить, что на клиентском компьютере могут возникать только те события, которые относятся к группам PROC, ЕХСР, SDBL. Также на ском компьютере могут возникать события из группы DBV8DBEng, если используется файловый вариант работы системы 1С:Предприятие 8.1. Также следует заметить, что события из групп PROC, SCOM, ЕХСР, CONN и ADMIN возникают относительно редко и содержат небольшое количество информации, в то время как регистрация событий из групп SDBL, DBV8DBEng и DBMSSQL может приводить к значительному росту объема го журнала. Элемент like определяет, соответствует ли свойство события го журнала некоторой маске. Маска представляет собой последовательность символов, некоторые из которых означают сами себя, а некоторые являются шаблонами и служат для описания группы символов. Например, элемент <like property="sql" value="%reference%7> означает ку значения свойства sql события технологического журнала на соответствие маске %referertce%.
Глава 21. Администрирование 2-883 К шаблонам относятся: • % - 0 или более произвольных символов; • _ — 1 произвольный символ; • [...] - один из перечисленных символов, причем [...] может содержать произвольные символы, а также диапазоны вида с-С, где с — начальный символ диапазона, С - конечный символ диапазона; • [Л...] — один любой символ, кроме перечисленных; • \ — префиксный символ. Игнорируется и означает, что следующий за ним символ - это просто символ, означающий сам себя (а не шаблон). Все другие символы - это простые символы, которые означают сами себя. При сравнении простых символов регистры букв не различаются. Примеры шаблонов "шаблон" - строка с конкретным текстом. В этом случае сравнение like не отличается от сравнения eq. Регистры букв не различаются. "%reference%" - строка, содержащая контекст reference в произвольном месте. Регистры букв не различаются. "reference%" - строка, содержащая контекст reference в начале. Регистры букв не различаются. '"^reference" - строка, содержащая контекст reference в конце. Регистры букв не различаются. "%[a-z]" — строка с маленькой английской буквой от а до z в конце. "%[Ла-г]%" - строка, содержащая хотя бы один символ, отличающийся от маленькой английской буквы. Замечание. Фильтрация событий по шаблонам медленнее, чем при использовании других элементов сравнения. Использование сложной фильтрации событий и свойств технологического журнала может несколько замедлить работу системы 1С:Предприятие 8.1. В каждом элементе <event> может быть задано несколько условий. В этом случае условия объединяются логической операцией И. Если элементов <event> несколько и хотя бы один из них выполняется, то событие попадает в журнал. Например: <log location="c:\logs" history="l"> <event> <eq property="Name" value="PROC"/> </event> <event> <eq property="Name" value="SCOM"/> </event> <event> <eq property="Name" value="CONN"/> </event> <event> <eq property="Name" value="EXCP"/> </event> <event> <eq property="Name" value="DBMSSQL"/> </event> </log>
2-884 1С:Предприятие 8.1. Конфигурирование и администрирование В данном примере указывается, что в технологическом журнале будут трироваться события, относящиеся к группам PROC, SCOM, CONN, EXCP и DBMSSQL. Все события имеют свойство ргосе88=<ИмяПриложения>, например: 30:28.9222-1,DBMSSQL/2,;process=rphost,p:processKame=e00074708, t:' 1clientID=17, t: applic il i..;nNvt>e=0OHOBoe задание, t: computerName=, t: cormectID=14,Sql=SELECT * KROM DBSchema,Rows=l Элемент <property> Элемент <property> определяет условия попадания в журнал значения вого свойства события, имя которого является значением атрибута name при условии, что само событие в журнал попадает. Условия задаются ми элементами <event> по таким же правилам, что и для событий. Если элемент <property> с определенным именем отсутствует, то ющее свойство не пишется. Если элемент <property> не содержит вложенных элементов <event>, то определяемое им свойство пишется для всех событий, попадающих в журнал, в которых оно присутствует. Если элемент <property> содержит вложенные элементы <event>, то свойство будет записано только для событий, удовлетворяющих условию (если само событие в журнал записывается и событие имеет данное свойство). Элемент <property name="all"> </property> включает записи в журнал всех свойств событий. Приведенный ниже элемент <log> определяет запись в журнал событий: процесса, серверного контекста, соединения, исключений и исполнение операторов SQL. Причем текст оператора SQL будет помещен в журнал, только если он исполнялся более секунды. Журнал располагается в каталоге c:\logs и хранится 1 час. <log location="c:\iogs" history="l"> <event> <eq property="Name" value="PROC"/> *./event> <event> <eq property="Hame" value="SCOM"/> </event> <event> <eq property="Name" value="CONN"/> </event> <event> <eq property="Name" value="EXCP"/> </event> <event> <eq property="Name" value="DBMSSQL"/> </event> ^property name="sql"> <event> <eq property="Name" value="MSSQL"/> <gt property="Duration" value=00OO"/> </event> </property> </log> Каждое событие имеет набор свойств. Каждое свойство имеет имя. Возмож- о присутствие в событии нескольких ключевых свойств с одинаковыми именами. Имена свойств могут использоваться для фильтрации событий и свойств. Большие и малые буквы при сравнении имен не различаются.
Глава 21. Администрирование 2-885 Пустое условие в элементе <property> будет означать, что свойство будет выводиться при любом условии. Примечание. Свойство события выводится, только если для него присутствует элемент <property>. Далее перечислены основные свойства событий, которые могут боваться для настройки конфигурационного файла или просмотра технологического журнала: Administrator - имя администратора кластера или центрального сервера; Process - наименование приложения, как его представляет ная система (имя файла загрузочного модуля приложения); Calls - количество обращений клиентского приложения к серверному приложению через TCP; Cluster - номер основного порта кластера серверов; Connection — номер соединения с информационной базой; Context - контекст исполнения; Dbpid — строковое представление идентификатора соединения сервера системы 1С:Предприятие 8.1 с сервером баз данных в терминах сервера баз данных (для событий DBMSSQL, DBPOSTGRS, DB2); Descr - пояснения к программному исключению; DumpError - описание ошибки, произошедшей в процессе построения дампа; DumpFile - имя файла с дампом; Duration - длительность события в десятитысячных долях секунды; Err - консольное сообщение: 0 - информационные, 1 - об ошибке; Exception - наименование программного исключения; Finish - причина завершения процесса; Func - наименование выполняемого действия: beginTransaction - начало транзакции (событие типа SDBL выводится в журнал в момент начала транзакции и не имеет длительности); Transaction—начало транзакции (событие типа SDBL начинается при начале транзакции, заканчивается при завершении транзакции); commitTransaction — фиксация транзакции; rollbackTransaction - отмена транзакции; setRollbackOnly - установка флага наличия в транзакции ошибки (ее можно только откатить); getTransactionSplitter - получение разделителя итогов; quicklnsert - быстрая вставка данных в таблицу базы данных; insertRecords - добавление записи в таблицу базы данных;
2-886 1С Предприятие 8.1. Конфигурирование и администрирование • suspendlndexing - отмена индексирования таблиц базы данных; • resumelndexing - восстановление индексирования таблиц базы данных; • holdConnection - удержание соединения; • saveObject - сохранение объекта; • restoreObject - восстановление объекта; • readFile - чтение файла; • createFile - создание файла; • deleteFile — удаление файла; • searchFile - поиск файла; • modifyFile - обновление файла; • isProperLocale - проверка национальных настроек, установленных для базы данных; • changeLocale - изменение национальных настроек базы данных; • takeKeyVal — получение значения ключа записи табличной части; • lockRecord - блокировка записи; • serializeTable - сохранение данных таблицы в файл; • deserializeTable - восстановление данных таблицы базы данных из файла; • xlockTables — установка исключительной блокировки на таблицу; • xlockTablesShared - установка разделяемой блокировки на таблицу; • copyMoveFile — копирование/перемещение фрагмента конфигурации между записями таблиц базы данных; • moveFile - перемещение файла; • secured Insert - вставка записей с наложением ограничений доступа к данным; • selectFileName - выбор имени файла; • setSingleUser - установка монопольного режима; • insertlBRegistry - создание кластера; • eraselBRegistry - удаление кластера; • setRegMultiProcEnable-установказначенияфлагаподдержки ром многих рабочих процессов; • setServerProcessCapacity - установка значения пропускной ности рабочего процесса; • agentAuthenticate — аутентификация администратора центрального сервера;
Глава 21. Администрирование 2-887 • insertAgentUser - добавление администратора центрального вера; • eraseAgentUser - удаление администратора центрального сервера; • setRegSecLevel - установка уровня безопасности кластера; • setReg Descr - установка описания кластера; • setlnfoBaseDescr - установка описания информационной базы; • insertServerProcess - добавление рабочего процесса; • eraseServerProcess - удаление рабочего процесса; • regAuthenticate - аутентификация администратора кластера; • insertRegUser - добавление администратора кластера; • eraseRegUser - удаление администратора кластера; • setServerProcessEnable - установка значения флага разрешения запуска рабочего процесса; • insertRegServer - добавление рабочего сервера; • eraseRegServer - удаление рабочего сервера; • updateRegServer - изменение параметров рабочего сервера; • authenticateAdmin - аутентификация администратора ной базы; • create InfoBase - создание информационной базы; • droplnfoBase - удаление информационной базы; • killClient - разрыв соединения клиента с кластером серверов мы 1С:Предприятие8.1; • authenticateSrvrUser - аутентификация администратора кластера в рабочем процессе; • setlnfoBaseConnectingDeny - установка режима блокировки ки соединений с информационной базой; • lookupTmpTable - получение/создание временной таблицы базы данных; • returnTmpTable - освобождение временной таблицы базы данных. Host - имя компьютера; Name - имя события; OLEDBException - описание исключения от Microsoft SQL Server; OS Exception — описание исключения операционной системы; p:processName - имя серверного контекста, который обычно совпадает с именем информационной базы;
2-888 1С:Предприятие 8.1. Конфигурирование и администрирование Port - номер основного IP-порта процесса; ProcessName - наименование процесса; Reason - номер исключения; Ref - имя информационной базы; Rows — количество полученных записей базы данных; RowsAffected - количество измененных записей базы данных; RunAs - режим запуска процесса (приложение или сервис); SDBL - текст запроса на встроенном языке модели базы данных; ServerName - имя рабочего сервера; Sql - текст оператора SQL; SyncPort - номер вспомогательного IP-порта процесса; t:applicationName - идентификатор клиентской программы; t:clientlD - идентификатор соединения с клиентом по TCP; t:computerName — имя клиентского компьютера; t:connectlD - идентификатор соединения с информационной базой; Trans—идентификатор активности транзакции намоментначала события A - транзакция была открыта, 0 - транзакция не была открыта); Txt - текст консольного сообщения; Usr— имя пользователя информационной базы (если в информационной базе не определены пользователи, это свойство будет иметь значение DefUser); • V8DBEngException - описание ошибки СУБД для файловой СУБД; • Val - значение, смысл зависит от значения параметра Func. Используя свойства элемента <property>, в технологический журнал можно записывать контекст исполнения. Контекст исполнения может быть двух видов: контекст встроенного языка и интерфейсный контекст. Контекст встроенного языка представляет собой список операторов встроенного языка и содержит в себе: • название модуля; • номер строки модуля; • текстовое представление элемента списка вызова встроенного языка соответствующей строки модуля. Интерфейсный контекст включает в себя: полное имя формы; тип активного элемента формы; имя активного элемента формы; имя кнопки командной панели (если она была нажата); действие, выполняемое элементом формы.
Глава 21. Администрирование 2-889 Например, контекст встроенного языка в файле технологического журнала может иметь следующий вид: Документ.ПриходнаяНакладвая : 23 : Движения.УчетНоменклатуры.Записать(); i ¦' МодульПриложения : 18 : ПроверитьПодключениеОбработчикаОжидания(Истина); ! МодульПриложения : 230 : Если нпПолучитьЗначениеПоУмолчанию (глТекувдайПользователь, "ИспользоватьНапоминания") ОбщийМодуль.нпНастройкиПользователей : 481 : Выборка = Запрос. Выполнить () . Выбрать () ,- Интерфейсный контекст в файле технологического журнала может иметь такой вид: {Документ.Документ!.ФормаСписка}/{ТабличноеПоле : ДокументСписок}/{ОбновлениеОтображения} {Документ.Документ!.Форма.ФормаДокумента}/{ КоманднаяПанель : ОсновныеДействияФормы}/{ОсновкыеДействияФормыОК} j {Документ.Документ!.Форма.ФормаДокумента}/{ Кнопка : I Кнопка!}/{Нажатие} Чтобы включить запись контекста, нужно среди фильтров свойств записать элемент <property name="context"> или элемент <property name="all">. Если нужно записывать события SDBL (SDBL-запросы) и DBMSSQL торы SQL к СУБД MS SQL Server) с контекстом исполнения, то содержимое файла настройки технологического журнала будет выглядеть следующим образом: <config xmlns="http://v8.lc.ru/v8/tech-log"> <log location="c:\v81\llogs" history="l"> <event> <eq property="Name" value="SDBL"/> </event> <event> <eq property="Name" value="DBMSSQL"/у \ </event> <property name="Context"> </property> </log> </config> Чтобы записывать события SDBL (SDBL-запросы) и DBMSSQL (операторы SQL к СУБД MS SQL Server) без контекста исполнения, файл настройки технологического журнала нужно заполнить следующим образом: <config xmlns-"http://v8.lc.ru/v8/tech-log"> <log location="c:\v81\llogs" history="l"> <event>• <eq property="Name" val\xe="SDBL"/>,t </event> <event> <eq property="Kame" value="DBMSSQL"/> ;'' </event> </log> </config> : 1
2-890 1 С:Предприятие 8.1. Конфигурирование и администрирование Чтобы записывать события SDBL (SDBL-запросы) и DBMSSQL (операторы SQL к СУБД MS SQL Server) без контекста исполнения, но со всеми ми свойствами, файл настроек должен содержать: •oconfig xmlns="htcp://v8.1c.ru/v8/tech-log"> <log location="c:\v81\llogs" history="l"> <event> <eq property="Name" value="SDBL"/> </event> <event> <eq property="Name" value="DBMSSQL"/> </event> i <property name="all"> </property> <property name="Context"> <eq property="Name" value=""/> </property> </log> </config> Для того чтобы записывать события SDBL (SDBL-запросы) с том исполнения и DBMSSQL (операторы SQL к СУБД MS SQL Server) без контекста исполнения, содержимое файла настройки должно иметь ющий вид: — I— i -»^ ¦ II <config xmlns="http://v8.lc.ru/v8/tech-log"> <log location="c:\v81\llogs" history="l"> <event> <eq property="Name" value="SDBL"/> </event> <event> <eq property="Name" value="DBMSSQL"/> </event> <property name=*'Context"> <event> <eq property="Name" value=*'SDBL*'/> </event> </property> </log> </config> Наличие элемента <property name="Context"> означает, что для записываемых в журнал событий при выполнении условий, указанных в данном элементе, будет записана информация о контексте. После этого в каждое событие логического журнала будет добавлена информация о контексте исполнения в текущем процессе, а после события будет добавлено мгновенное событие, несущее информацию о контексте исполнения клиентского процесса. В технологический журнал могут быть записаны сообщения об тельных ситуациях, связанных с менеджером блокировок. Для этого файл конфигурации должен иметь примерно следующий вид: <config xmlns="http://v8.1c.ru/v8/tech-log"> <log location="c:\v81\logs" history="> <event> <eq property="Name" value="EXCP"/>
Глава 21. Администрирование 2-891 </event> <event> <eq property="Name" value="TLOCK"/> <gt property="Duration" value=00000"/> </event> <property name="all"/> <property name="Context"> <event> <eg property="Name" value=""/> </event> </property> </log> <dump location="c:\v81\dumps" create="l" type="/> </config> В приведенном примере будут регистрироваться все исключительные ситуации, связанные с блокировками (в частности, DEADLOCK - взаимные блокировки сессий и TIMEOUT - истечение предопределенного времени, при этом в обоих случаях в текст сообщения об исключительной ситуации включается номер сессии, которая вызвала эту исключительную ситуацию), и ожидания, превысившие 10 секунд. При этом будет записана информация по всем свойствам, кроме Context. Элемент <dump> Элемент <dump> определяет параметры дампа, создаваемого при аварийном завершении приложения. Чтобы отключить запись дампов, нужно в элементе <dump> установить значение параметра create = " или create = "false". Если элемент <dump> отсутствует, то для записи дампов будет использоваться каталог %USERPROFILE%\Local Settings\Applicatioh DataVI CM Cv81\Dumps. Атрибуты каталога: • location - имя каталога, в который будут помещаться файлы дампов; • create - 0 ("false") - не создавать, 1 ("true") - создавать; • type - тип дампа, произвольная комбинация приведенных ниже флагов, представленная в десятичной или шестнадцатеричной ме. Представление в шестнадцатеричной системе должно начинаться с символа 'х', например, х0002. Доступны следующие значения: 0 (хОООО) - минимальный; 1 (хООШ) - дополнительный сегмент данных; 2 (х0002) - содержимое всей памяти процесса; 4 (х0004) — данные хэндлов; 8 (х0008) - оставить в дампе только информацию, необходимую для восстановления стеков вызовов;
2-892 1 С:Предприятие 8.1. Конфигурирование и администрирование • 16 (хОО 10) - если стек содержит ссылки на память модулей, то добавить флаг 0x0040; • 32 (х0020) - включить в дамп память из-под выгруженных модулей; • 64 @x0040) - включить в дамп память, на которую есть ссылки; • 128 (х0080) - добавить в дамп подробную информацию о файлах модулей; • 256 @x0100) - добавить в дамп локальные данные потоков; • 512 @x0200) - включение в дамп памяти из всего доступного ного адресного пространства; • prntscrn - тип Булево. Истина - создать файл копии экрана при ном завершении клиентской части системы 1С:Предприятие 8.1. Файлы копии экрана создаются в том же каталоге, что и дампы (атрибут location). Имя файла совпадает с именем файла дампа, но имеет рение png. По умолчанию копии экрана не создаются. При аварийном завершении программы 1С:Предприятие 8.1 система выдает диалог с информацией о процессе записи дампа, который автоматически закрывается после завершения записи дампа. Вывод контекстов исключений Контекст исключения представляет собой последовательность событий технологического журнала типа EXCPCNTX. Каждое событие типа EXCPCNTX является одним из длительных событий, которые начались, но не чились в момент возникновения нештатной ситуации в работе системы 1С:Предприятие 8.1. При этом события выводятся в порядке убывания уровня вложенности. Тип события, исходного для события EXCPCNTX, становится значением свойства SrcName события EXCPCNTX. Контекст исключения выводится в технологический журнал, если гический журнал включен (в файле logcfg.xml имеется хотя бы один элемент log) и произошла одна из следующих нештатных ситуаций: • при работе системы 1С:Предприятие 8.1 произошло исключение ционной системы, процесс (клиент или сервер) завершен аварийно, построен дамп аварийного завершения; • возникло исключение в базе данных, приводящее к отображению сообщения об ошибке и закрытию приложения системы тие 8.1. При возникновении любой ошибки базы данных в технологический журнал записывается событие типа ЕХСР, если оно удовлетворяет условиям, ным в конфигурационном файле технологического журнала (logcfg.xml).
Глава 21. Администрирование 2-893 Вывод информации о взаимных блокировках При любом обращении к СУБД, но не чаще, чем 1 раз в 2 секунды, няется дополнительное обращение к СУБД с запросом, какой поток был заблокирован и каким потоком. Результатом такого запроса является ца пар («жертва блокировки», «источник блокировки»), где: • «жертва блокировки» - идентификатор соединения с СУБД, которое ожидает блокировки; • «источник блокировки» - идентификатор соединения с СУБД, которое установило блокировку. Если в кластере несколько рабочих процессов, то запрос выполняется одним из них. Запросы о взаимных блокировках нумеруются. Данные из полученной таблицы добавляются к контексту каждого потока, которому соответствуют полученные идентификаторы соединений с СУБД, и будут отображены в качестве значения блокировочных свойств го события технологического журнала. После того как в потоке, к контексту которого добавлена информация о блокировках, будет завершено ное событие технологического журнала, к этому событию будут добавлены блокировочные свойства. При этом если поток был жертвой блокировки, то события блокировки будут очищены после вывода. Если поток был ком, то очистка выполняется при закрытии или откате транзакции. Информация о блокировках добавляется к потокам в следующем порядке: • если поток-жертва еще не знает об этом, то ему устанавливается номер запроса и идентификатор потока-источника блокировки; • к потоку-источнику блокировки добавляется номер запроса, только если у него есть жертвы, которые об этом еще не знали. Информация о блокировках • Поток является источником, момент обнаружения. • Поток является жертвой, момент обнаружения. • Номер запроса (если поток является жертвой). • Список номеров запросов (если поток является источником). • Номер соединения источника (если поток является жертвой). Блокировочные свойства событий: • Ika' 1' - поток является источником блокировки. • IkpT - поток является жертвой блокировки. • Ikpid - номер запроса к СУБД, «кто кого заблокировал» (только для потока-жертвы блокировки). Например, '423'.
2-894 1С:Предприятие 8.1. Конфигурирование и администрирование • Ikaid - список номеров запросов к СУБД, «кто кого заблокировал» (только для потока-источника блокировки). Например, '271,273,274'. • Iksrc - номер соединения источника блокировки, если поток является жертвой, например, '23'. • Ikpto - время в секундах, прошедшее с момента обнаружения, что поток является жертвой. Например: '15'. • Ikato - время в секундах, прошедшее с момента обнаружения, что поток является источником блокировок. Например, '2 Г. Таким образом, для анализа блокировок необходимо найти в ческих журналах процессов rphost первое событие со свойствами Ika и Ikp, узнать значения свойств Ikaid, Ikpid и найти все события с этими значениями свойств в журналах всех рабочих процессов кластера. По найденной группе событий можно установить, кто кого заблокировал, на сколько времени и что они при этом делали. Структура технологического журнала Технологический журнал представляет собой каталог, в подкаталогах которого располагаются файлы с собранными технологическими данными. Каталог журнала имеет следующую структуру: <каталог журнала> <идентификатор процесса операционной системы> <файлы журнала одного процесса> Каждый файл журнала содержит события за 1 час и имеет имя yymmddhh. log, где: • уу - две последние цифры года; • mm - номер месяца; • dd - номер дня; • hh - номер часа. Файлы журнала имеют текстовый формат. В файле сведения о завершении каждого события записываются с новой строки. Например: ¦ H:33.0312-l,DBV8DBEng,2,Func=selectFileName,FileName=versidns.new ; 11:33.0313-3,DBV8DBEng/l,Func=modifyFile,CatName=ConfigSave, , FileName= versions.new,What=content Строка окончания события имеет формат: mm:ss.tttt-d, <наименование>, <уровень>, <ключевые свойства> • mm - номер минуты в текущем часе; • ss — номер секунды в текущей минуте;
Глава 21. Администрирование 2-895 tttt - номер десятитысячной доли текущей секунды; d — длительность события в десятитысячных секунды; <наименование> - наименование события; <уровень> - уровень события в стеке текущего потока; <ключевые свойства>- <ключевое свойством <ключевое свойством ...; <Ключевое свойство> - <имя> = <значение>; <наименование>, <имя>, <значение> - произвольный текст. Если в нем присутствуют символы «конец строки» или «запятая», то текст чается в кавычки или апострофы, в зависимости от того, каких символов в строке меньше, а кавычки или апострофы в тексте удваиваются.
Глава 22 Сервисные возможности Система 1С:Предприятие 8.1 включает в себя массу различных сервисных возможностей и вспомогательных режимов. Они описаны в этой главе. Управление окнами Состояние (режим размещения) окна Установка режимов размещения Окна могут размещаться на экране в разных режимах: • обычное расположение, когда окно располагается только внутри рабочей области программы; • свободное расположение, когда окно может свободно перемещаться по всему экрану (не только внутри рабочей области программы); • прикрепляемое, когда окно может «прикрепиться» к границам рабочей области программы; • прячущееся. Для изменения способа размещения в контекстном меню заголовка окна выберите требуемый режим размещения. Окна в режиме Свободное всегда располагаются поверх окон, находящихся в других режимах. Если несколько окон находятся в режиме Свободное, то активное окно всегда будет поверх других окон. Для окон в состоянии Обычное и Свободное доступна установка способности окна соединяться. Если для пары окон, находящихся в одинаковом янии, установлено свойство Соединяемое (в контекстном меню заголовка окна), то данные окна могут соединяться. Чтобы соединить окна, еся в состоянии Обычное, требуется при их перемещении нажать клавишу Shift. Для соединенных окон также можно устанавливать способность няться с другими окнами.
Глава 22. Сервисные возможности 2-897 Если свойство Соединяемое не установлено, то выбор режимов Прикреплен1 ное и Прячущееся недоступен. Для режимов Прикрепленное и Прячущееся свойство Соединяемое всегда установлено и не может быть изменено. Особого описания требует режим состояния окна Прикрепленное. В этом режиме окно может быть: • прикреплено к одной из сторон окна конфигуратора; • прикреплено к любой стороне другого окна, для которого установлен режим состояния Прикрепленное; • расположено поверх другого прикрепляемого окна (совмещенные окна). Если для окна выбран режим Прикрепленное, то окно прикрепляется к одной из границ рабочей области или к другому окну, находящемуся в режиме Прикрепленное. Для изменения размера прикрепленного окна подведите указатель мыши к свободной (обращенной в сторону рабочей области) границе. Он примет форму ~т~ или . Потяните границу мышью. В режиме Свободное при перетаскивании окна и приближении к границе рабочей области программы или другому окну, находящемуся в режиме Прикрепленное, контур окна может измениться скачкообразно. Если в этот момент отпустить кнопку мыши, то окно прикрепится и его состояние станет Прикрепленное. Для прикрепленных окон изменить состояние можно также с помощью перетаскивания окна мышью. Для перетаскивания окна следует в области заголовка окна нажать левую кнопку мыши и, не отпуская ее, перетащить окно в другое место. Состояние окна меняется на Свободное. Для прикрепляемых окон важной особенностью являются различные способы прикрепления нескольких окон к одной стороне окна конфигуратора или другого окна. Окна можно расположить слоями, когда каждое окно будет занимать всю сторону рабочей области окна конфигуратора или другого окна. Можно расположить окна последовательно, когда каждое окно будет расположено в одном слое вдоль границы другого окна. Если прикрепляемых окон более двух, то можно часть из них расположить слоями, а часть - последовательно. Для расположения одного прикрепляемого окна (совмещение) поверх го выполните следующие действия: • захватите мышью заголовок окна; • переместите окно так, чтобы его заголовок оказался над заголовком другого прикрепляемого окна. При этом контур перетаскиваемого окна должен иметь снизу контур закладки; • отпустите кнопку мыши.
2-898 1С:Предприятие 8.1. Конфигурирование и администрирование Результатом этих действий будет прикрепляемое окно, внизу которого будут закладки. Текст закладок совпадает с текстом заголовков окон. На закладках располагаются совмещенные окна. Для показа нужного окна щелкните нужную закладку. Команда Закрыть в этом случае закроет только активную закладку. Чтобы разделить совмещенные окна, достаточно захватить мышью закладку нужного окна и перетащить ее в сторону (контролируйте перенос контуром перемещаемого окна). Если при переносе указатель мыши остается в области закладок, то таким способом можно изменить порядок следования закладок. Если на экране есть совмещенные окна, то при совмещении с ними го окна можно перетаскивать его не на заголовок, а в область закладок. При этом можно сразу выбрать порядок следования закладок. Окна можно размещать на экране в режиме Прячущееся. Если выбрать режим Прячущееся, то сбоку рабочей области программы появляется дополнительная строка для ярлыков окон, в которую добавляется ярлык текущего окна, а само окно прикрепляется к этой стороне рабочей области. Расположение этой строки определяется расположением окна в режиме Прикрепленное. В этом режиме окно остается на экране, пока активно. Как только активизировать любое другое окно, предыдущее окно прячется. Чтобы показать это окно, необходимо подвести указатель мыши к ярлыку данного окна (щелкать кнопкой мыши не нужно). При выводе указателя мыши вне окна прячущееся окно автоматически убирается с экрана. Для соединенных окон также можно устанавливать режим состояния, которое отличается от состояния совмещенных окон. Например, удобно установить режим Прячущееся. В этом случае в дополнительной строке показываются только пиктограммы ярлыков окон. При подведении к любой ме указателя мыши показывается окно, а в дополнительной строке кроме пиктограммы показывается и его наименование. Восстановление положения окна Как описывалось выше, положение, размер и состояние окон можно изменять. При этом при закрытии последние параметры показа окна сохраняются, и при повторном открытии окно открывается с последними значениями параметров показа. Для восстановления первоначального положения, размера и состояния окна следует в контекстном меню заголовка окна (или заголовка панели окон) выбрать пункт Восстановить положение окна. При этом запомненные значения параметров показа сбрасываются и восстанавливаются первоначальные, какие были при первом открытии. Окно закрывается и вновь открывается с новыми параметрами показа.
Глава 22. Сервисные возможности 2-899 Выбор режима окон для форм объектов Режим состояния окон для форм прикладных объектов при их первом тии в режиме 1С:Предприятие можно настроить. Настройка производится в категории свойств Окно для каждой формы объекта. Состояние окна - указывается, в каком состоянии будет окно при первом открытии. Если выбрано Обычное, то для данного окна недоступно ние состояния окна. Соединяемое окно - указывает на способность окна соединяться с другими окнами. Положение окна - если указано Авто, то положение окна определяется в мости от состояния и размеров рабочей области. Если указано Центрировать, то положение окна при первом открытии будет выбираться по центру рабочей области. Если указано Не перекрывать впадепьца, то при открытии ненного окна при наличии свободного пространства рабочей области экрана положение окна будет выбираться таким образом, чтобы не перекрывать окно- владельца или элемент управления; если не найдено место для его размещения, подчиненное окно «пытается» не закрывать левую часть окна владельца, при условии, что удастся освободить 50 % ширины окна владельца. Положение прикрепленного окна - определяется положение окна формы в прикрепленном состоянии относительно рабочей области. Изменять размер - разрешает или запрещает изменять размер. Выбор ния НеИзменять не влияет на способность изменения размера в состоянии Прикрепленное и Прячущееся. Диалог настройки окон Диалог предназначен для работы со списком всех открытых окон. С его помощью производится переход к выбранному открытому окну, сохранение сделанных изменений, управление расположением окон, закрытие одного, группы или всех открытых окон. Для вызова диалога окон выберите пункт Окна - Окна... В диалоге ся список окон, открытых к настоящему моменту. В список включаются только те окна, которые имеют статус состояния Обычное. Если содержимое открытого окна модифицировано, то такое окно в строке списка помечается символом «*», располагающимся слева от наименования окна. Все действия выполняются с одним или несколькими окнами, ми в списке. Выбор или отмена выбора нескольких строк осуществляются стандартным образом.
21900 1С:Предприятие 8.1. Конфигурирование и администрирование Действия, которые выполняются с одним или группой открытых окон, описаны в следующей таблице. Кнопка Активизировать Сохранить Закрыть окна Расположить Соединить Разъединить ОК 'Действие Активизирует указанное окно Производится сохранение произведенных изменений для некоторых видов документов (например, текстовых и табличных документов), для которых это предусмотрено ' Закрываются все выбранные окна Производится управление расположением окон на экране. Горизонтально — располагает выбранные окна слева направо. Вертикально — располагает . выбранные окна сверху вниз. Подряд—располагает выбранные окна подряд Производится соединение двух окон Производится разъединение соединенных окон Закрывает диалог «Окна» Число выбранных окон (условие) Одно Любое Любое Больше одного Установлено разрешение соединения Любое Использование режима «Новое окно» Пункт Окна - Новое окно позволяет сделать копию любого окна редактора форм, текстового или табличного редактора. При этом на рабочей ти программы открывается новое окно-копия. Его содержимое полностью совпадает с исходным. В заголовке окна программа выводит порядковый номер окна. В этом режиме удобно производить просмотр, сравнение и редактирование информации, размещенной в окне. Изменения, внесенные в любом месте любого окна, сразу отображаются во всех других окнах-копиях. Рекомендуется использовать данный режим, если окно представляет форму объекта конфигурации, элементы которой распределены по страницам, и требуется одновременно просматривать эти страницы; или требуется одновременно просматривать модуль и диалог формы. Таким же образом
Глава 22. Сервисные возможности 2-901 использование данного режима позволяет редактировать тексты или макеты. При этом в одном окне можно просматривать одну часть текста или макета, а в другом - другую часть. Служебные окна В процессе работы с конфигуратором для выдачи пользователю ной вспомогательной информации используются служебные окна. К таким окнам относятся: • , окно сообщений; • окно результата поиска во всех текстах; • шаблоны текста; • Синтакс-Помощник. Первые два вида окон автоматически вызываются на экран в случае необходимости (шаблоны текста и Синтакс-Помощника вызываются вателем). Назначение каждого из перечисленных окон описано в соответствующих параграфах данного Руководства, а в настоящем параграфе будут изложены общие приемы работы с такими окнами. Для управления окнами используются контекстные меню, вызываемые в заголовке окна и внутри окна. С помощью первых производится ние поведением самого окна (подробнее см. параграф «Состояние (режим размещения) окна» настоящей главы), а с помощью вторых - действия с держимым окна. Содержимое окна сообщений автоматически не очищается. Для его очистки следует выполнить команду Очистить контекстного меню. Закрытие окон Любое окно можно закрыть стандартным для Microsoft Windows способом, используя мышь, а также с помощью клавиатуры, используя комбинацию клавиш Shift + Esc. История переходов между окнами История перемещения активности между окнами запоминается в течение сеанса. Данный сервис можно использовать, например, для возврата к исходному окну при переходе к месту определения переменных, дур и функций.
2-902 1С:Предприятие 8.1. Конфигурирование и администрирование Для перемещения по истории переходов назад выберите пункт Окна - Переместиться назад. Для перемещения по истории переходов вперед выберите пункт Окна - Переместиться вперед. Настройка параметров конфигуратора Для установки различных параметров работы конфигуратора используется функция Сервис - Параметры. Окно Параметры организовано в виде картотеки. Все параметры, которые можно установить, объединены в группы. Для доступа к управляющим элементам конкретной группы щелкните мышью на соответствующей закладке окна. Установка параметров текстового редактора Управляющие элементы закладки Тексты позволяют настроить поведение редактора текстовых документов. Перетаскивание текста. В редакторе текстов для перемещения и вания блоков текста можно использовать режим drag & drop (перенеси и оставь). Разрешить помещать курсор после концов строк. Если установлено, то курсор можно помещать после концов строк. В противном случае ние курсора ограничивается положением символа Перевод строки. Отображать пробелы и табуляцию. Если установлено, то символы лов и табуляции будут показываться в тексте. Этот режим устанавливается для проверки форматирования текста. Если установлено свойство жать пробелы и табуляцию, то становятся доступными свойства Пробел и Табуляция для ввода символов, которыми будет осуществляться показ пробелов и табуляции. • Пробел - указывается символ показа пробелов; • Табуляция - указывается символ показа табуляции. Заменять табуляцию при вводе. Если установлено, то при вводе текста символ табуляции заменяется на установленное в свойстве Ширина ции число пробелов. Ширина табуляции. Устанавливает соответствие символа табуляции числу символов при вводе текста. Автоотступ. Устанавливает или отменяет автоматический отступ при вводе символа Перевод строки (нажатие клавиши Enter).
Глава 22. Сервисные возможности 2-903 Шрифт. Выбор шрифта, используемого при вводе текста. Для ввода текста модулей рекомендуется выбирать моноширинные шрифты (например, Courier). Автозамена. Если свойство включено, то вводимый текст, если он дает с текстом, указанным в шаблоне, в реквизите Автоматически заменять строку, будет заменяться на текст шаблона. Если выбрано значение Включать с подсказкой, то при наборе заменяемого текста после небольшой паузы будет выведен текст шаблона. Если выбрано значение Только подсказка, то после небольшой паузы будет выводиться текст шаблона, но замена текста не будет производиться. Для того чтобы вводимый текст заменялся на текст шаблона, нужно после набора строки нажать клавишу Пробел или Enter. Установка параметров текста модуля Управляющие элементы закладки Тексты модулей позволяют настроить выделение цветом синтаксических конструкций в модулях, автоотступ, задать шаг табуляции для модулей, настроить группировку. Настройки объединены в два раздела, и каждый размещен на отдельной закладке. Редактирование На закладке Редактирование определяется выделение цветом ческих конструкций в модулях, автоотступ и задается шаг табуляции для модулей. Выделение цветом синтаксических конструкций. Воспринимать текст модуля легче, если определенные синтаксические конструкции (константы, имени, оператора, комментария и т. д.) будут выделены цветом. Цвет также выполняет дополнительную функцию проверки правильности при вводе текста модуля. В случае неправильного написания наименования оператора он не будет выделен нужным цветом. Для каждой конструкции (константы, имени, оператора, комментария и т. д.) можно определить свой цвет. Запретить выделение цветом. Если установлено, то текст модуля будет показан как обычный текст, а настройка выделения цветом будет недоступна. Автозамена. Если свойство включено, то вводимый текст, если он дает с текстом, указанным в шаблоне, в реквизите Автоматически заменять строку, будет заменяться на текст шаблона. Если значение свойства выбрано Включить с подсказкой, то при наборе заменяемого текста после небольшой паузы будет выведен текст шаблона. Если значение свойства выбрано Только подсказка, то при наборе заменяемого текста после небольшой паузы будет выведен текст подсказки.
2-904 1С:Предприятие 8.1. Конфигурирование и администрирование Для того чтобы вводимый текст заменялся на текст шаблона, нужно после набора строки нажать клавишу Пробел или Enter. Если значение свойства Автозамена выбрано Отключить или Только подсказка, то данные действия не выполняются. Использовать автозамену в комментариях. Если установлено, то при вводе в комментариях текста, совпадающего с текстом, указанным в шаблоне, будет выведен текст шаблона. Заменять табуляцию при вводе. Если установлено, то при вводе текста символ табуляции заменяется на установленное в свойстве Ширина ции число пробелов. Ширина табуляции. Указывается эквивалентное число символов Пробел для одного символа табуляции. Автоотступ. Устанаалинаст или отменяет автоматический отступ при вводе символа Перевод строки (нажатие клавиши Enter). При выборе значения Синтаксический ввод текста модуля будет производиться с учетом текущей синтаксической конструкции. Шрифт. Выбор шрифта, используемого при вводе текста. Для ввода текста модулей рекомендуется выбирать моноширинные шрифты (например, Courier). Настройка проверки модулей На закладке Проверка производится установка режимов проверки модулей. I liFfffflfflfl -чгпг Тексты | Тексты модулей j Форма Запаек 1С.Предприятия Справка ^ Проверка Г вка Контекстная подсказка -Режимы проверки — |7j Работа клиентского приложения Г~1 Работа внешнего соеданения Q Работа сервера ГСПретриятия {*?} Проверятьавтоматически С помощью ек проверки модулей осуществляется подбор подходящей среды, в которой может быть осуществлена компиляция. При этом используется следующий алгоритм. Для общих модулей вляется компиляция в среде исполнения ского приложения и, если она удачна, сохраняет- ъ*т*тштжяяшшттцщшшштшщт*м1Ш!№щшт!!т ся полученный образ модуля. Если нет, последовательно осуществляется компиляции в среде внешнего соединения и сервера системы 1 тие 8.1, при условии, что свойства модуля допускают его исполнение в этих средах. Если хоть одна из компиляций прошла удачно, то сохраняется образ модуля, если нет - выдается ошибка создания образа модуля. ОК | j Отмена J }Применить | Справка"
Глава 22. Сервисные возможности 2-905 Для модуля приложения осуществляется компиляция в среде исполнения клиентского приложения. Для модуля внешнего соединения осуществляется компиляция в среде исполнения внешнего соединения. Для модулей объектов последовательно осуществляется компиляция в средах исполнения клиентского приложения, внешнего соединения и сервера системы 1С:Предприятие 8.1, и если хоть один из результатов удачен, сохраняется образ модуля. Если установлен флажок Работа клиентского приложения, то определены параметры Клиент и Сервер. Проверка выполняется для всех модулей, кроме модуля внешнего соединения. Если установлен флажок Работа внешнего соединения, то определен метр ВнешнееСоединение. Выполняется проверка только общих модулей, модулей объектов и наборов записей и модуля внешнего соединения. Если установлен флажок Работа сервера 1С:Предприятия, то лен параметр Сервер. Проверка выполняется только для-общих модулей, модулей объектов и наборов записей. Если установлен флажок Проверять автоматически, то текст модуля будет автоматически проверяться на наличие синтаксических ошибок при записи и закрытии. Настройка показа группировки На закладке Группировка производится установка режимов ки и сворачивания различных синтаксических конструкций. В таблице по строкам представлены виды конструкций. В колонке Группировать установленный флажок означает, что данная синтак- сическая конструкция будет автоматически вана. Следует учитывать, что группируются только синтаксические ции второго уровня вложенности. В колонке Сворачивать установленный флажок означает, что данная синтаксическая конструкция будет автоматически та при открытии модуля. Тексты | Тексты модулей {форма Запуск КПрадприятия Справка H«uaj.n<<*a>fci Проверка 1 Группировка [Контекстнаяподсказка 1 Группировать при открытии: Hftjwe* *1*22 Грчппировшъ Комментарии процедур, и Функций Циклы Условия н п . _П__. __ Сворачивать н и A^XL—, _ ..?__.. J [ Шмеиа~1 Применить Г Справка J щщттттйщяттттт
2-906 1С:Предприятие 8.1. Конфигурирование и администрирование Настройка вызова контекстной подсказки На закладке Контекстная подсказка производится настройка запуска тной подсказки при вводе текстов модулей. Если флажок кая ПОДСКаЗКа ПрИ НаООре . . Тексты рГекстымодылей | Форма Запуск ШПредприятия Справка Редактирование Проверка Группировка ] Контекстная подсказка [ ??J Автоматическая подсказка при наборе "=** [~3 Включать шаблоны в список подсказок «/ Включать ключевые слова в список подсказок 1 Pft Т1 [~^М8на_ ] Применить Г Справк.д J I ¦I i . i н * ¦¦¦¦¦«_•¦•¦¦¦¦• F П установлен, то контекстная подсказка будет вызываться автоматически при наборе символа".". Если флажок кая подсказка при наборе "=" установлен, то тная подсказка для выбора значений системных перечислений будет автоматически вызываться при наборе символа "=' Если флажок Включать шаблоны в список подсказок установлен, то в список будут включаться те шаблоны, у которых определена строка автозамены. Если флажок Включать ключевые слова в список подсказок установлен, то в список будут включены все ключевые слова (например, Если, Процедура, Цикл, Возврат и т. д.). Установка параметров редактирования формы На закладке Форма окна настройки параметров Параметры указываются значения некоторых свойств форм, устанавливаемых по умолчанию при создании каждой новой формы. Поэтому установку параметров в окне Настройка следует производить с таким расчетом, чтобы устанавливаемые параметры были типичными в большинстве случаев. Например, ка свойства Отображать сетку приводит к тому, что при создании новой формы сразу будет показываться разметочная сетка. Отображение сетки для конкретной формы можно отменить. Но если для большинства форм нивание элементов управления производится не по разметочной сетке, то у данного параметра лучше снять установку. Сетка Выравнивать по сетке - если установлено, то в новой форме при размещении элементов управления может использоваться разметочная сетка (вставляемые элементы управления будут выравниваться по линиям сетки и принимать размер, кратный шагу сетки).
Глава 22. Сервисные возможности 2-907 Отображать сетку — если установлено, то в новой форме разметочная сетка будет показываться. Шахматный порядок - если установлено, то в новой форме разметочная сетка будет показываться точками, расположенными в шахматном порядке. Если не установлено, то точки располагаются в местах пересечения разметочных линий. Шаг по горизонтали - указывается размер разметочной сетки для новой формы по горизонтали. Шаг по вертикали - указывается размер разметочной сетки для новой формы по вертикали. Указатели При пересечении - если установлено, то в новой форме будут показываться маркеры выравнивания для пересекающихся элементов управления. При неровном взаиморасположении - если установлено, то в новой форме будут показываться маркеры выравнивания для элементов управления, чьи границы не выровнены. При привязке границ - если установлено, то в новой форме будут ся маркеры привязки границ элементов управления. Подсказка при вставке - если установлено, то при размещении нового ляющего элемента в форму редактор форм будет контуром показывать возможное место расположения. Автопрокрутка Использовать - если установлено, то в форме (свойство Исп. только видимую область не установлено, т. е. разрешено перемещать элементы управления за пределы видимой области формы) при переносе элемента управления за видимую границу формы; при изменении размеров, при котором граница начинает выходить за пределы формы; а также при начале вьвделения группы элементов, при котором указатель мыши начинает выходить за пределы видимой области формы, включается режим автопрокрутки. В форму ляется горизонтальная и/или вертикальная линейка прокрутки, с помощью которой производится просмотр формы. Режим автопрокрутки ся при приближении к границе формы B0 пикселей). При этом чем ближе приближение, тем быстрее производится прокрутка. Прокрутка ся не сразу, а спустя некоторое время, чтобы можно было успеть разместить элемент управления непосредственно у края формы. Пауза перед началом - определяет паузу (в сек.) перед началом прокрутки.
2-908 1 С:Предприятие 8.1. Конфигурирование и администрирование Выравнивающие линии Использовать - если установлено, то в новой форме будут использоваться выравнивающие линии (см. стр. 2-685). Область срабатывания —указываетсяразмер области срабатывания ления к выравнивающей линии при размещении элементов управления. Запуск системы На закладке выбирается способ указания пользователя при запуске системы 1С:Предприятие 8.1, а также может быть указан параметр. Текущий - из списка пользователей. Имя — указывается конкретный пользователь (аналог параметру, мому через ключ командной строки /N). Использовать аутентификацию Windows — если установлен, то пользователь будет выбран по аутентификации Windows (аналог параметру, му через ключ командной строки /WA). Файл служебных сообщений - если требуется автоматически сохранять служебные сообщения в файл, то в данном параметре указывается его имя (аналог параметру, передаваемому через ключ командной строки /OUT). Не очищать файл перед запуском - если флажок установлен, то при ющем запуске сообщения будут добавляться в указанный файл (аналог параметру, передаваемому через ключ командной строки /OUT с параметром -NoTruncate). Параметр - параметр запуска (аналог параметру, передаваемому через ключ командной строки /С); доступен для обработки через свойство глобального контекста ПараметрЗапуска. Выбор интерфейса — указывается национальный интерфейс (аналог параметру, передаваемому через ключ командной строки /L). Не выдавать предупреждения при запуске - если флажок установлен, то при запуске подавляются стартовые сообщения: Конфигурация базы данных не соответствует сохраненной конфигурации. Продолжить?; Возможностей Вашего компьютера недостаточно для редактирования справки по рации. Для редактирования справки необходимо установить Microsoft Internet Explorer версии 6.0 или выше; Возможностей Вашего компьютера недостаточно для редактирования html-документов, в том числе разделов справки. Для тирования html-документов необходимо установить Microsoft Internet Explorer версии 6.0 или выше. В данном запуске редактирование html-документов будет недоступно (аналог параметру, передаваемому через ключ командной строки /DisableStartupMessages).
Глава 22. Сервисные возможности 2-909 Установить режим разрешения отладки — если флажок установлен, то при запуске в режиме 1С:Предприятие возможно выполнение отладки (аналог параметру, передаваемому через ключ командной строки /Debug). Начинать отладку при запуске - если флажок установлен, то при запуске системы 1С:Предприятие 8.1 подключение будет выполнено автоматически. Настройка режима показа справочной информации На закладке производится настройка вида показа различной справочной информации. Справочная информация может быть показана в одном окне или же на по нескольким независимым окнам. Синтакс-Помощник может располагаться горизонтально или вертикально и использовать оба языка для терминов. Калькулятор Описание работы с калькулятором см. в параграфе «Калькулятор» тва пользователя. Календарь Описание работы с календарем см. в параграфе «Календарь» Руководства пользователя. Шаблоны текста Конфигуратор имеет возможность сохранения часто используемых тов текста и быстрой вставки запомненных фрагментов в редактируемый текстовый документ или модуль. Фрагменту текста ставится в соответствие условная комбинация лов - краткое имя фрагмента, называемое шаблоном. Если в параметрах конфигуратора включен режим автоподстановки, то нужный фрагмент текста будет автоматически вставляться в редактор при вводе шаблона мание: режим автоподстановки включается отдельно для модулей и текста на разных закладках окна настройки параметров конфигуратора!). Ведение списка шаблонов Текстовый редактор позволяет использовать шаблоны, расположенные в различных файлах.
2-910 1С:Предприятие 8.1. Конфигурирование и администрирование Настройка шаблонов выполняется в окне Шаблоны текста, в режиме, который можно вызвать, выбрав пункт Сервис - Шаблоны текста. Шаблоны хранятся в файлах. Для включения файлов шаблонов выберите пункт вия - Файлы шаблонов окна Шаблоны текста, а экран выводится окно Настройка шаб- понов. ^ffi йействия* ЕНМ{ Если Цикл "Для" Цикл'Пока" Попытка . 'Процедура *-4>умкция I— Строка-разделитель ЁНШ Специальные ^ Удалить Существует Предупреждение СоздатьО&ьект ЙЯ8 ЗВ" ГЬйкпсиатьстакедртные Файлы шаблонов @ Иатапьзуемые Файлы шаблонов; •ш t # C:\Rugram Hes\1oi81\bh4flertemp(juj«l C:\1C\Shablonsl В списке файлов помимо стандартных файлов нов можно включить пользовательские файлы. Для добавления файла на нажмите кнопку Добавить панели инструментов окна настройки шаблонов. В новой строке справа нажмите кнопку § и выберите файл шаблона. Для упорядочивания файлов в списке используйте кнопки Переместить вверх и Переместить вниз. Для удаления ненужного шаблона выберите его в списке файлов и нажмите кнопку Удалить. 1L13ML1Z|| О"*»*» 11 Орашя Редактирование шаблона Для редактирования ющего файла выберите пункт Действия - Изменить. На экран выводится окно ния шаблонов, расположенных в файле. В реквизите Название вается название шаблона, как он показывается в списке шаблонов. В реквизите тически заменять строку ывается строковая довательность, после набора торой конфигуратор позво- Mlora НПопумтъ/устаномть 1 |Еам№даче Аатомвдиаски заменять строку Ш (jw^r-iv в «гшексяное ¦ Если <?"Условие1"*> Тогда <?> ИначеЕсли <?"Усаовие2*"> Тогда <7> Иначе <?> li_
Глава 22. Сервисные возможности 2-911 I ляет заменить ее на шаблон. Замена производится при нажатии клавиши Пробел или Enter. Кроме того, после набора строки на экран выдается подсказка, содержащая текст шаблона, как показано на рисунке ниже. Ф процедура приовЕомеюио Окно редактирования шаблонов содер- пояякмссш - полныйколо.- жит панель инструментов, с помощью !ыдЕсгмИна5у.- которой ведется создание групп шаб- ш // полу«ш« сщою.гттд лонов и отдельных шаблонов, удаление в процедура полу-итаьстроку о у ненужных шаблонов и упорядочивание списка. В левой части окна расположено дерево шаблонов. В правой части производится редактирование ния группы шаблонов и редактирование шаблона. Для удобства использования шаблоны можно группировать по папкам. Для создания группы щелкните мышью кнопку + . Введите наименование группы в реквизите Название. Для создания шаблона выберите группу, в которой будет размещен шаблон, и щелкните мышью кнопку fe*. В реквизите Название укажите ние шаблона (по этому наименованию производится выбор нужного шаблона при вставке в редактируемый текст). В поле Автоматически заменять строку укажите начальную часть строки, при написании которой в окне текстового документа программа произведет подстановку написанного текста текстом из шаблона (если включен режим автоподстановки). Автоподстановка дится после набора последовательности и нажатии клавиши Е nter или клавиши Пробел. В многострочном поле Текст шаблона введите текст, которым должен быть заменен текст, указанный в поле Автоматически заменять строку, или который записывается в текст документа при выборе шаблона. Чтобы шаблон был доступен при интерактивном выборе, установите флажок Включать в контекстное меню. Выбор шаблона для вставки в текст (модуль) осуществляется из тного меню, из списка шаблонов. Шаблоны размещаются в списке, если установлен флажок Включать в контекстное меню. Управляющие конструкции шаблона Структурно шаблон может состоять из статической (неизменяемой) и динамической части, содержание которой контекстно зависимо и не может быть задано наперед. Например, оператор Если встроенного языка имеет следующую конструкцию: Если <?"Условие 1"> Тогда ИначеЕсли <?"Условие 2"> Тогда КонецЕсли; <?"Условие..."> Это контекстно зависимые части шаблона.
2-912 1С:Предприятие8.1. Конфигурирование и администрирование Для универсальности использования шаблона применяется механизм вставки управляющей конструкции. В тексте шаблона размещают ющие конструкции - последовательности символов, которые при вставке заменяющего текста шаблона вызывают выполнение каких-либо действий. Например, управляющие конструкции позволяют запрашивать у теля какую-либо информацию и помещать эту информацию во вставляемый текст. Управляющие конструкции можно вставлять в шаблон вручную или зовать специальный запрос для интерактивной вставки управляющих конструкций. Установите курсор в то место шаблона, которое содержит переменную часть, и нажмите кнопку <->Вставка... На экран выводится диалог Вставка управляющей конструкции. ШШШШШШШШШтт Л В реквизите ка указывается строка текста, которая выводит- I ся в виде пояснения к выполняемому действию при запросе на ввод контекстно мой части шаблона. Так как шаблон может содержать несколько управляющих конструкций, ввод которых осуществляется последовательно, этот текст поясняет суть няемых действий и место размещения переменной части. Группа переключателей позволяет выбрать вид управляющей конструкции, вставляемой в шаблон. Произвольный запрос - используется для ввода произвольного текста. В тексте шаблона появится управляющая конструкция вида <?"Текст подсказки">. Управляющая конструкция типа Произвольный запрос используется ющим образом. Если в заменяющем тексте встречается конструкция <?"Текст подсказки">, то перед вставкой заменяющего текста на экран будет выдан запрос с текстом подсказки и полем для ввода текста. В поле ввода можно указать текст, который будет вставлен в заменяющий текст вместо конструкции <?"Текст подсказки">. Конструкций типа Произвольный запрос в заменяющем тексте может быть несколько, причем несколько ций могут иметь одинаковый текст подсказки. При вставке заменяющего текста на каждую из различающихся конструкций будет выдан свой запрос для ввода текста. На каждый набор одинаковых конструкций будет выдан один общий запрос, а введенный в запрос текст заменит все одинаковые конструкции. иааш Подсказка ¦ Выберите управлпоцую конструкцию, вставлемую в шаблон - Произвольный запрос (•) Специальный запрос О [Документ Установка курсора О ОК | [ Отмена [ [~~Свравка~
Глава 22. Сервисные возможности 2-913 Специальный запрос - используется для выбора объектов конфигурации. Для помещения в шаблон управляющей конструкции выбора типа та конфигурации с помощью окна Вставка управляющей конструкции нужно в поле Подсказка поместить имя запроса и в списке выбрать конструкцию (выбор объекта конфигурации, предопределенного элемента объекта гурации или специальной конструкции), например Справочник. Вдд ¦ -'-~--—'-'*-—"--¦¦' ~- ^. Подсказка I -Выберите управляющею конструкцию, вставляема»© в шаблон Произвольный запрос О Специаршыйзагоос © Ц§| Sffff Установкакдомра О СпРаЕОЧН* Справочник Предопределенныеданные Текст запроса Текущая Дата/Время Форматная строка 1 При использовании такого шаблона на экран выводится список объектов конфигурации для выбора. Наименование выбранного объекта ляется вместо набранного текста. Позиция выбранной строки списка запоминается, и при следующем выборе данного шаблона список будет позиционирован на эту строку. В числе возможных значений специального запроса дополнительно опишем выбор варианта. При формировании шаблона с выбором данного типа запроса после нажатия ОК на экран выводится окно формирования списка возможных значений. ШШШ Ш Ш ± Ж Подсказка; F рВыберите денвлявшдп конструкцию, вставляет.*)» в шаблон- Приоеольный запрос О Специальный запрос ® [Выбор варианта УстанЖЩ [УПТЯ Выберите вариант пля подстановки «*ЧГ Валюты Полечить пося. НасгройкаПериадаЫс.. ПояичигьДэтаНдчаяа ПолычитьДатДОкончан.. Выборка.Пояч><итьОбь.. Выборка.ПояцчитьОбъ.. ВыборкаПоярчигьОбь.., Строка для вставки Констангы.ПолучигьсРор|у^).От»фыгьA. Per, ЖярсыВаяюг Поя9чигьПосяеднее1Дата,- Настройк^ериодаУстамовигьПериодЩэтвНачаов. Дата... Нвстрой«,аП^>иоаа.ПояачитьДдг^ацаяаО: НастройкаПериодаПояччигьДат^кончанияО, ,Выборка.Пояу1игь06ьектО Выборка ПоячмигьЬбьектП.Удалигь{|, Выборка.Поя^ить0бъект[).УстановитьПометк^Удалемия1., c^:^7ll °™*"* 1 рвядардавдаширшриирч В колонке Подсказка вводится текст, который появляется в списке выбора при использовании данного шаблона. В колонке Строка вставки вводится текст, который размещается в текстовом документе.
2-914 1С:Предприятие 8.1. Конфигурирование и администрирование Редактировать список можно только в самом тексте шаблона. При ном вызове вставки конструкции будет добавлена новая конструкция. После нажатия ОК в текст шаблона будет помещена управляющая конструкция. Щ Ш Q • ? ¦=* t * Название. -Попумгь/установить Р* -д™ Обходэгементовтрврмчеам 1—УгТ^ЛЯИТ». Ш {Обэадэгвментов | Атоматичео** ааменять стоку: a i в контекстное меню Тексгшабгонв- * Bcrawa Выборка - Справочники <?"", Огровочник>.Выбрать () J Пока Выборка СледупщийО Цикл <?> КонецЦикла; ¦ . ; 1* В дфеве шаблонов (или при автоподстановке) выберем данный шаблон: ^ Вьриатъ pj Запомнить Щ] Вставить СЬкУ CtrkC CbkV Поиск, в Смита ие-Пемошникб Вьввшгьвсе Повторить поиск i\ Нейти следящий * айги грелыадщий [gj Переход к стропе QjbA F3 Sh«tF3 Ctrl.G И" Если В этом случае на экран выводится запрос выбора вида справочника. иш —ji-jp Номенклатура —j?jp ЕдиницыИзмерення —j^pJ Валюты -(?р Склады -?§}> Контрагенты -gjjp РасчетныеСчета —?з? Банки кё. <^4 . .„ . 1 & 1 ок | [ Отмена \
Глава 22. Сервисные возможности 2-915 В результате выбора будет сформирован следующий текст: ! Выборка = Справочники.Конкуренты.Выбрать(); ' Пока Выборка.Следующий() Цикл j КонецЦикла; Установка курсора — используется для установки курсора в указанное место после вставки текста шаблона. В заменяющий текст шаблона будет лена конструкция вида <?>. Такая конструкция указывает, куда следует поместить курсор после ввода заменяющего текста. Если таких ций в заменяющем тексте несколько, то курсор будет установлен на место первой по порядку конструкции <?>. При написании текста шаблона допускается многократное использование управляющих конструкций, а также использование уже готовых шаблонов. Синтакс-Помощник Синтакс-Помощник - средство, облегчающее разработку модулей. ная задача Синтакс-Помощника — предоставить специалисту, выполняющему конфигурирование системы 1С:Предприятие8.1, оперативную подсказку по встроенному языку. Для вызова Синтакс-Помощника служит пункт Сервис- Синтакс-Помощник. Окно Синтакс-Помощника разделено на две части. Разделение может быть выполнено по вертикали или по горизонтали (настройка окна описана в параграфе «Настройка режима показа справочной информации» на стр. 2-909, по умолчанию применяется горизонтальное разделение, которое используется в данном разделе). В нижнюю часть выводится описание выбранного раздела встроенного языка. Содержимое верхней части определяется выбранной закладкой. Окно содержит три закладки: Содержание, Индекс и Поиск. На первой размещается иерархической список элементов встроенного языка мы 1С:Предприятие 8.1: операторов, управляющих конструкций, процедур и функций, системных констант и др., а вторая и третья предназначены для поиска по наименованию элемента встроенного языка и произвольного поиска по тексту описания соответственно. Закладка «Содержание» Синтакс-Помощника Для удобства все элементы встроенного языка объединены в тематические разделы, представленные в виде ветвей дерева, которое показывается в верхнем поле окна Синтакс-Помощника.
2-916 1С:Предприятие 8.1. Конфигурирование и администрирование Т"' Содержание Ij^^jn^ffiL. JE, ЕЬ-^g Всгроежый язык Ёг-^ Оператор** ^гевыоперащм Ehi^ Примитивные типы Ег-ц^ Встроенные <jiyHia*M El <^ *Рунм*м рабэты со значениями типа Строка «а-о- Вороенны BttK Itf лмг) Синтаксис: Врег[<Строка>) Параметры: Тип. Строка. Исходная строка. Возвращаемое значение: Тип: Строка. Строка, полученная в результате преобразования. Описание: Преобразует все символы строки в верхний регистр. Пример: ГосНомер = Врег(Основн'лСр**хть.'.ГосНоиер); яяжииииявриив г Приемы работы в окне Синтакс-Помощника стандартны для иерархических структур данных, представленных в виде дерева. Для быстрого тия ветви рекомендуем использовать клавиши «+», «-» и «*» цифровой клавиатуры: «+» раскрывает ветвь на один уровень, «-» - сворачивает, «*» - раскрывает все подветви данной ветви. Для получения описания следует в верхней части окна Синтакс-Помощника выбрать наименование элемента языка. Описание элемента показывается в нижней части окна. Описание может содержать ссылки на описания наемых элементов встроенного языка. В окне расположена панель инструментов, с помощью которой можно просмотреть историю выбранных ранее описаний. Для показа местоположения в структуре элементов встроенного языка та, текущее описание которого в данный момент выведено в нижнюю часть, в панели инструментов нажмите кнопку Найти текущий элемент в дереве. Копирование элементов встроенного языка Синтакс-Помощник имеет функцию копирования выбранного элемента встроенного языка в редактор текстов. Для копирования необходимо выделить наименование нужного элемента языка в древовидном списке и использовать буфер обмена. В окно тора текстов, в место расположения курсора, будет перенесена «заготовка» элемента встроенного языка.
Глава 22. Сервисные возможности 2-917 Кроме использования буфера обмена для переноса «заготовок» тов встроенного языка можно использовать режим drag & drop (перенеси и оставь): достаточно перетащить мышью выбранный элемент встроенного языка из окна Синтакс-Помощника в окно редактора текстов. Поиск в Синтакс-Помощнике Поиск в Синтакс-Помощнике может выполняться по наименованию элемента встроенного языка и по произвольному тексту описания. На закладке Индекс окна Синтакс-Помощника выполняется поиск по нованию элемента встроенного языка. В верхней части содержится поле для ввода наименования нужного элемента языка и полный список ний элементов. В процессе ввода наименования программа производит специальный режим контекстного поиска, при котором с каждым набранным символом осуществляется переход на первое наименование списка, которое ся вводимым текстом. Для вызова режима контекстного поиска необходимо выбрать пункт Поиск в Синтакс-Помощнике в контекстном меню текстового редактора. На экран выводится окно Синтакс-Помощника, открытого на закладке Индекс. Картинкэ-8ид №ртинка.3зписать Кдптмнуа ПппииитьЛипишн J Назад * Вперед ¦« Цношш TSBfetm ] Картинка f Picture! |Е Использование. Чтение и запись. Описание: Тип: Картинка. Содержит картинку, г.1»У;-лж4е»»у» на кнопке. Недоступен на сервере ЮПредприятие. Не используется в модуле внешнего соединения. Примечание: Оптимальный размер картинки определяется размером элемента управления и размером его шрифта. Если найденный (указанный) элемент используется в нескольких объектах, то на экран выводится окно Выбор главы, содержащее список вхождений, относящихся к выбранному элементу.
2-918 1С:Предприятие 8.1. Конфигурирование и администрирование I__ZZ___________ Г" I " В Внберите тэвуиз списка. Системные перечиспэнияА1нтерФейсныеЛеофэФическая схена/ТипОтофаженияСерииСлояГеогра^ическойСяемы/Кар., Системные nepcwim |«.Лтн1е4Ш^сные/ГеограФимесгая сяема/Т*»ОтЫ^)вэвэ«1-ТочечногоОбьектаГеофаФическойСае ' Системные перечисгения/Имтер41ейсныеЮтоб^жвние?й10п№КомандиойПане™/Картинка Универсагтычые коллеедим значений/Список значений/ЭпементСписта »*-»»*лСхЛс!'^^^в1-»ямка Интерфейсные объекты/Элементы 1правления/Кноп». • -СяОвсгшЖптинга Интерфейсные объекты/Элементы отравления/Табличное лоле/ОформпениеЯчейки/СаойстваЛ^ртинка Интерфейсные объекты/Элементы утравлзнийЛЪш ШлЛШй1ь?шЛВШ/}ЛОп***а Интерфейсные объекты/Элементы утравпения/КЬмандная панепь/г&юпкаКонандиойПт«п«/0 с*став.Х- тинка Интерфейсные объекты/Элементы утравления/Диафамма Ганта/ГочкаДиафаммыГ»«тУСас0сг^/Каг>тинка Я | Показать! j Отмена |j Справка Теперь, если нажать кнопку Показать, в окне Синтакс-Помощника будет выдано описание найденного элемента языка, выбранное в окне вхождений. Описание элемента встроенного языка можно искать в Синтакс-Помощни- ке непосредственно при редактировании модуля. Для выполнения поиска следует поместить курсор на элемент встроенного языка, по которому требуется получить описание, или выделить блок текста и нажать клавиши Ctrl + F1. Если слово, на котором находится текстовый курсор, или выделенный блок, является элементом встроенного языка, описанным в Синтакс-Помощни- ке, сразу откроется окно Синтакс-Помощника с описанием этого элемента языка. Если элемент встроенного языка описан в нескольких тематических лах Синтакс-Помощника, то сначала откроется окно Выбор главы для выбора нужного тематического раздела. Если выбранное слово или блок текста не являются элементами встроенного языка, при нажатии клавиш Ctrl + F1 также будет открыто окно контекстного поиска в Синтакс-Помощнике. Произведенный поиск запоминается в списке, который можно вызвать, в поле ввода наименования. Для просмотра главы выберите ее в списке и нажмите клавишу Enter. ние выбранной главы показывается в нижнем поле. На закладке Поиск окна Синтакс-Помощника выполняется поиск по вольному тексту описания. В верхней части содержится поле для ввода строки поиска и поле списка найденных глав описаний элементов ного языка. Для начала поиска начинайте вводить текст. В процессе ввода программа выполняет поиск глав, в которых встречается введенный текст. Регистр ввода может быть любым, слова текста учитываются целиком (если не использован оператор «*») и с учетом морфологии. Допускается использование поисковых операторов (см. параграф «Формат поисковых выражений» на стр. 2-919).
Глава 22. Сервисные возможности 2-919 В процессе ввода программа оперативно выводит список этих глав. Если введенный текст нигде не встречается, то ниже поля ввода программа выводит об этом сообщение. В И . 32 Содержание IИндекс {Поиск { Найдено 28S БидПодписейКДиаграмме.СерияТочкаЗначение (ChartLabelType.SeriesPoi... Щ ВидПодписейКДиаграмме. Точка (ChartLabelType.Point) ВидПодписейКДиаграмме.ТочкаЗначение(СЬага.аЬе1Туре.Ро1ПЙа1ие:) ВидПодписейКДиаграмме.ТочкаЗмачениеПроцент(СЬаЛ1аЬе1Туре.Ро1П№„ BHflTo4KMMapiupyTaEH3Hecnpouecca.Bbi6opBapHaMTaCBusinessProcessRout.., Диаграмна.Точки (Chart.Points) Диаграмма.УстановитьТочку (CharLSetPoint) »-«¦ А Использование: Чтение и запись. Описание: Тип Булево Разрешить генерацию текста для новых по схеме ТочкаГГ, Если Ложь, то у новой ННбудет пустой текст. При открытии главы программа покажет описание таким образом, чтобы было видно первое вхождение указанного текста. Для просмотра главы выберите ее в списке и нажмите клавишу Enter. ние выбранной главы показывается в нижнем поле. После того, как глава описания элемента встроенного языка найдена и окно Синтакс-Помощника открыто, для поиска положения главы в дереве описаний используйте кнопку командной панели Найти текущий элемент в дереве. Если в процессе просмотра выбирались несколько страниц, то с помощью команд Вперед и Назад можно вернуться к просмотренным страницам. Формат поисковых выражений Поиск может осуществляться по нескольким словам, с использованием поисковых операторов и поиском по точной фразе. По умолчанию поиск с учетом синонимов и нечеткий поиск не производятся. Для вьшолнения поисков этих видов следует использовать соответствующие операторы. В строке ввода допускается использование следующих поисковых торов: Оператор И AND & Пример запись И документ проведение AND документ запись & документ Пояснение Будут найдены все разделы, содержащие и слово «проведение», и слово «документ» с учетом морфологии
2-920 1 С:Предприятие 8.1. Конфигурирование и администрирование Оператор ИЛИ OR I НЕ NOT РЯДОМ/[±]п NEAR/[±]n РЯДОМ NEAR п п 0 * Пример запись ИЛИ документ проведение OR документ запись | документ запись, документ закрытие НЕ месяц закрытие NOT месяц закрытие ~ месяц Пример 1: право РадОМ/3 пользователь Пример 2: право РЯДОМ/+3 пользователь Пример 3: право РадОМ/-3 пользователь Библиотека РЯДОМ имени РЯДОМ Достоевского "проведение документа" (проведение | выписка) & (счета, документа) доку* Пояснение Будут найдены все разделы, содержащие хотя бы одно из слов «запись» или «документ» с учетом морфологии Будут найдены все разделы, содержащие слово «закрытие», но не содержащие слова «месяц» с учетом морфологии. Использование «~» в начале строки не допускается Поиск раздела, содержащего указанные слова с учетом морфологии на расстоянии п слов между словами. Знак указывает, в каком направлении от первого слова будет искаться второе слово («+» - после первого; «-»- до первого слова). Если знак не указан, то будет найден текст, содержащий указанные слова на дистанции п слов друг от друга. Порядок слов не имеет значения. В примере 1 будут найдены разделы, в которых слово «пользователь» находится не более трех слов до или после слова «право». В примере 2 будут найдены разделы, в которых слово «пользователь» находится не более трех слов после слова «право». В примере 3 будут найдены разделы, в которых слово «пользователь» находится не более трех слов перед словом «право». .Краткая форма. Запрос в короткой форме найдет разделы, в которых слова встречаются не дальше, чем на 8 слов друг от друга в любую сторону Поиск точной фразы с учетом морфологии (эквивалентно проведение РЯДОМ/+1 документ) Группировка слов (сколько угодно уровней вложенности) Поиск с использованием группового символа (замена окончания слова). Должно быть введено более 1 значащего символа. (Если в индексе поиска окажется более 300 слов, начинающихся с «цоку», • система попросит уточнить запрос.) Запрос едоку*» найдет «документ», «документировать», «документальный» и др.
Глава 22. Сервисные возможности 2-921 Если не указано никаких операторов (слова набраны через пробел), то программа осуществляет поиск всех слов из запроса с использованием оператора И. Замечание 1. Написание операторов И (AND), ИЛИ (OR), HE (NOT), РЯДОМ (NEAR) допускается только в верхнем регистре. Замечание 2. Операторы не используются как унарные (в начале строки поиска). Например, нельзя сделать выбор всех глав, в которых отсутствует указанный текст. Замечание 3. Все символы в поле поиска, кроме символов поисковых операторов, букв и цифр, игнорируются. Для поиска спецсимволов, используемых в тексте, их следует заключать в кавычки. Например: "ПолучитьДанныеНоменклатуры()","()" Панели инструментов Приемы настройки панелей инструментов описаны в книге «Ю.Предпри- ятие8.1. Руководство пользователя», глава «Сервисные возможности», параграф «Панели инструментов». Сравнение файлов Режим сравнения файлов дает возможность пользователю сравнить два любых файла. Для этого необходимо выбрать пункт Файл - Сравнить файлы. На экран будет выдан диалог для выбора сравниваемых файлов. Сравнить- С Как: С:\Мои пскументыУГМРдатчетОСрввнении! ,mxl |» 1... 11 С\МоипокументьАТМР\ОтчетОСрвЕнении2.тх1 * jigg Табличный документ » ' Ч 9? 1 1 Отмене | Справка | В полях Сравнить и С необходимо указать имена сравниваемых файлов. Имена файлов можно ввести вручную, выбрать из выпадающего списка или нажатием кнопки В вызвать стандартный диалог открытия файла и выбрать файл в этом диалоге. В диалоге, в поле Тип файлов, можно указать любой тип исходного файла. В поле Как указывается вид сравнения файлов. Сравниваются текстовый и табличный документы, внешняя обработка. Также допускается двоич-
2-922 1С:Предприятие 8.1. Конфигурирование и администрирование ное сравнение, при котором сравнение производится на двоичном уровне. В этом случае результатом сравнения будет сообщение о совпадении или различии файлов. Если в полях Сравнить и С указаны файлы различных типов, то выбранные файлы будут интерпретироваться при сравнении к виду, указанному в поле Как. Затем выполняется сравнение, и на экран выводится информация о его результатах. Для начала сравнения нажмите кнопку ОК. Если выбран вид сравнения Текстовый документ, то выбранные файлы будут интерпретироваться при сравнении как текстовые, несмотря на то, что в полях Сравнить и С могут быть выбраны не текстовые (по расширению) файлы. Если указанные файлы или один из них не может быть рован как текстовый, то производится двоичное сравнение. Описание сравнения текстовых и табличных документов приведено в книге «1С:Предприятие 8.1. Руководство пользователя», глава «Сервисные возможности», параграф «Сравнение файлов». Сравнение внешних обработок Если сравниваются внешние обработки, то выполняется стандартная дура сравнения внешних обработок (подробнее см. параграф «Сравнение и объединение конфигураций»). Выбор флажка Устанавливать соответствие по именам объектов означает, что установка соответствия объектов сначала будет производиться по именам, а затем по внутренним идентификаторам. Если флажок не установлен, то установка соответствия производится по внутренним идентификаторам. Встроенная система получения справочной информации Информацию по работе с системой 1С:Предприятие 8.1 и по конкретным объектам и режимам можно получить, используя систему справочной информации. Она вызывается в любой момент вызовом пункта Справка или нажатием клавиши F1. При этом вызывается раздел справочной информации, соответствующий тому режиму, в котором сейчас работает пользователь. Пункт меню Содержание и клавиша Shift + F1 позволяют обратиться к общему содержанию справочной информации, из которого можно получать информацию по работе в режиме Конфигуратор.
Глава 22. Сервисные возможности 2-923 Погу-гение справки 0-1^5 Конфигурирование B-^S Поддержка юнфипрэиии ¦^ i<j Спег^лиаированные редакторы ¦ Сервисные мы ^3 министрирсвание - -^ Хранилище юэнфипрахии и ^Jj Поставка юнФигурадаи -¦¦ Сочетания клавиш (Конфигуратор) Ш ^g /Допогнитепьное управление с помощью мыши (КанФигдоа^ Г^Оч*рмеС ¦5" Встроенный язык Ш Гпобапш тантекст > 4} Общие объекты 1 ¦ Универсальные мэллвицад значений X .% Интерфейсные объекты *> Работа с запросами .-' тф Прикладные объекты I ^ Систем ые наборы значений _ -Щ Системные перечисления Справочная информация содержит описания разделов вания, описания встроенного языка и дополнительной справочной информации. Окно справочной информации В верхней части окна справочной информации расположена панель ментов, с помощью которых осуществляется навигация и поиск информации. Ниже панели инструментов отображается содержание справки. Работа с окном справочной информации описана в книге ятие 8.1. Руководство пользователя», в главе 13.
Приложение А Утилита восстановления файлового варианта базы данных Утилита предназначена для автономной проверки и исправления файлов базы данных. Для запуска утилиты в каталоге установки системы 1С:Предприятие 8.1 запустите приложение ChDBFI.exe. На экран выводится окно: ИмяФайшШ |ЁЛ!--*¦;;¦> т-л'. ю\ Cv8.1CD Hi '?Иаравпятьо&«здаозннывевм6я« i | I Штвять \\\ Зшршъ ii -«-*»« В поле Имя файла БД указывается или выбирается имя файла онной базы. Установите флажок Исправлять обнаруженные ошибки, если требуется исправлять обнаруженные при проверке ошибки. Для начала работы утилиты нажмите кнопку Выполнить. К этому моменту выбранная информационная база не должна быть открыта конфигуратором или в режиме 1С:Предприятие. Сообщения о найденных ошибках выводятся в текстовое поле. Ниже текстового поля выводятся сообщения о результатах работы утилиты. Также эта утилита может использоваться и для проверки хранилища гурации. Исправлять хранилище этой утилитой не рекомендуется. Однако в случае потери копии последней версии конфигурации в хранилище можно попытаться выполнить исправление файла базы данных ща для того, чтобы получить из него последнюю версию конфигурации, ип основе которой создать новое хранилище.
Приложение Б Основные понятия XBase Для облегчения понимания материала данного раздела читателем, не имеющим опыта работы с базами данных, ниже приводятся пояснения терминов, использованных при описании средства встроенного языка для работы с базами данных - объекта XBase. Поля и записи Если вы не знакомы с концепцией базы данных, то ее можно.себе представить в виде упорядоченного хранилища информации типа картотеки. Хорошим примером базы данных может служить телефонный справочник организации. Он содержит фамилии, номера телефонов и номера комнат всех ков организации. Каждая строка справочника соответствует одной записи, а каждая колонка - полю. Каждое поле имеет наименование и характеристики информации, для хранения которой оно предназначено: тип, длина, точность. Содержимое поля для конкретной записи называется значением поля. мер, телефонный справочник может быть организован в виде таблицы с колонками (полями) Фамилия Имя Отчество, № комнаты, Телефон. Каждая строка (запись) содержит информацию об одном абоненте. Таблица, структура таблицы, файл базы данных Весь справочник целиком в терминах баз данных называется таблицей. Состав входящих в таблицу полей определяет структуру таблицы, а состав входящих в таблицу записей - ее содержание. Каждая запись в таблице состоит из того же набора полей, что и таблица целиком, поэтому иногда употребляется термин «структура записи». Это понятие адекватно структуре таблицы, хотя употребление первого термина представляется более корректным, т. к. таблица имеет структуру независимо от того, имеется ли в ней хотя бы одна запись. Реализация баз данных формата DBF подразумевает, что каждая таблица хранится в отдельном файле. Поэтому в дальнейшем мы будем применять термин «файл базы данных» или «файл БД», имея в виду таблицу базы данных.
2-926 1 С:Предприятие 8.1. Конфигурирование и администрирование Индексы, выражения индекса и фильтра, индексный файл Для организации упорядочивания содержимого файла базы данных и поиска в ней по значению одного или нескольких полей применяется механизм индексов. Его применение можно сравнить с сортировкой картотеки по определенному признаку (совокупности признаков). Однако, в отличие от картотеки, файл базы данных может иметь сразу несколько индексов и, соответственно, являться упорядоченным одновременно по нескольким признакам. Каждый индекс имеет наименование, признак ти, выражение индекса и фильтр. Наименование индекса используется для идентификации индекса. Выражение индекса и фильтр представляют собой написанные на специальном языке выражения, вычисление значения которых для каждой записи позволяют определить ее место при чивании и необходимость помещения ее в упорядоченный список (индекс может содержать упоминание не обо всех записях таблицы, а только об удовлетворяющих выражению фильтра). Уникальный индекс (имеющий установленный признак уникальности) позволяет иметь в индексе ссылки на записи только с различным значением индексного выражения. Индексы хранятся в индексном файле. Индексный файл может содержать информацию более чем об одном индексе. Запись изменений в базу данных Каждый объект представляет собой структуру данных, расположенных в памяти компьютера. И изменение содержимого свойств объекта не ет немедленного изменения в файлах базы данных. При включенном режиме автосохранения запись содержимого объекта в файлы базы данных дит при изменении позиционирования (переход к следующей записи, поиск по ключу и т. д.), при выключенном режиме автосохранения запись ний происходит только при вызове соответствующего метода объекта. Работа с индексными файлами Следует иметь в виду, что объект XBase одновременно может быть связан не более чем с одним индексным файлом. Все изменения в базе данных, сделанные в сеансе работы с одним индексным файлом, никак не ся на остальных. Поэтому не рекомендуется иметь более одного индексного файла для базы данных. В противном случае после каждого открытия базы данных с индексным файлом, отличным от открытого в предыдущем сеансе работы с базой, следует производить переиндексацию (обновление жимого индексного файла).
Приложение Б. Основные понятия XBase 2-927 Удаление записей Удаление записи из базы данных не приводит к физическому нию ее на диске. В этом случае в специальном служебном поле записи, недоступном обычными средствами, ставится пометка об удалении. На записи, помеченные удаленными, позиционирования не происходит, если не включен специальный режим просмотра удаленных записей. Имеется свойство, управляющее специальным режимом просмотра, а также набор методов для определения, является ли спозиционированная запись ной, и восстановления удаленной записи. Метод сжатия базы вызывает физическое уничтожение записей, ных как удаленные. Метод очистки базы вызывает физическое уничтожение всех записей. После применения этих методов восстановление удаленных записей становится невозможным. Создание базы данных, индекса, индексного файла Помимо работы с существующими базами данных, объект XBase имеет набор методов, позволяющих создать новую базу данных произвольной ры, новые индексы и новый индексный файл. Следует отметить, что если использование методов, изменяющих структуру базы данных, возможно только для объектов, не связанных с существующей базой данных (т. е. для вновь создаваемых баз данных), то создание новых индексов и индексного файла возможно как для создаваемых баз данных, так и для уже ющих и открытых. Ограничения Основное назначение объектов XBase - организация экспорта-импорта информации в/из внешних файлов формата DBF. Объекты XBase не поддерживают поля типа memo. Объекты XBase поддерживают только монопольный доступ к файлам. Объекты XBase поддерживают индексные файлы в формате CDX. Однако использование внешними программами (например, FoxBase) индексных файлов, ных с помощью объектов XBase, так же, как и использование объектами индексных файлов, созданных внешними программами, не рекомендуется из-за возможной несовместимости версий.
Приложение В Формат файла настройки прокси по умолчанию inetcfg.xml Файл inetcfg.xml позволяет задавать настройки прокси по умолчанию и имеет больший приоритет над настройками прокси по умолчанию в Windows. Файл располагается в каталоге conf каталога исполняемых файлов системы 1С:Предприятие 8.1, и его наличие не является обязательным. Если он отсутствует, то настройки в Windows берутся из настроек InternetExplorer. В Linux, если есть необходимость работать через прокси, файл inetcfg.xml должен присутствовать. Корневой элемент InternetProxy, задающий настройки прокси по нию, имеет рассмотренную ниже структуру (атрибуты). protocols protocols: строка (необязательное) - задает имя и порт хоста для протоколов. Имеет следующий формат: ПараметрыПроксиПротокола1 ПараметрыПроксиПротокола2 ... ПараметрыПроксиПротоколаМ ПараметрыПроксиПротокола:= [Протокол] "=" хост":"порт Список параметров прокси-протоколов разделен пробелами. Каждый параметр состоит из необязательного имени протокола, знака "=", имени хоста и порта прокси-сервера, разделенных двоеточием. Если имя ла не указано, то параметры прокси используются для всех протоколов, для которых они явно не указаны. Протоколы могут иметь следующие имена: • http; • https; • ftp.
Приложение В. Формат файла настройки прокси по умолчанию inetcfg.xml 2-929 Регистр является значимым, другие имена протоколов н одерживаются, например: protoeol-s=«http=10.1,D.8:8080 10.1.0.9:8080" If «у . _ - _*__.. . . 'S.J _ ...... В примере для протокола http определены параметры прокси: хост -10.1.0.8, порт — 8080. Для остальных протоколов (https, ftp): хост - 10.1.0.9, порт - 8080. user user: строка (необязательное) - имя пользователя для аутентификации на прокси-сервере, например: user="proxyOser" , password password : строка (необязательное) - пароль пользователя для ции на прокси-сервере, например: password="proxyPasswor<3" bypassOnLocal bypassOn Local : булево (необязательное) - признак того, использовать ли прокси-сервер для локальных адресов: • true - не использовать; • false — использовать. Локальность адреса определяется по наличию точки в DNS имени адреса (т. е. все IP-адреса не являются локальными). Поэтому может получиться гак, что фактически локальный адрес не распознается как локальный. Например, <пользовать>.<домен> является в WmdowsXP локальным адресом, но не распознается как локальный. Для того чтобы запретить использовать прокси для адресов, которые воспринимаются как локальные, используется следующий параметр: bypassOnLocal="true" Для всех остальных адресов нужно использовать параметр bypassOnAddresses.
930 1 С:Предприятие 8.1. Конфигурирование и администрирование bypassOnAddresses bypassOnAddresses : строка (необязательное) - список адресов, для которых прокси не используется. Имеет следующий формат: хост1 хост2 ...xoctN Имена хостов разделяются пробелами. Имя хоста может содержать альные символы маски: * - любое количество символов, ? - любой символ. Например, чтобы блокировать прокси для всех хостов домена, нужно использовать: *.<имя домена>, например:: bypassOjAddr^sse " 12 .0.0.1 *.master" •' '' В примере для адреса 127.0.0.1 (localhost) и для всех адресов домена master прокси не используется. Общий пример файла inetcfg.xml: ! <InternetProxy protocols="http=10.1.0.8:8080 10.1.0.9:8080* user="proxyUser" password="proxyPassword" bypassOnLacal="true" bypassOnAddresses=27.0.0.1 *. master" Ntlm Ntlm : булево - признак использования механизма NTLM-аутентифика- ции: • true - NTLM-аутентификация включена; • false - выключена. По умолчанию NTLM-аутентификация включена.
Приложение Г Формат файла настройки пула соединений wsconnectionpool.xml Файл wsconnectionpool.xml предназначен для настройки пула соединений к информационной базе в Web-сервисах. Файл располагается в подкаталоге conf каталога исполняемых файлов системы 1С:Предприятие 8.1 (bin), и его наличие не является обязательным. Файл имеет следующий формат: <WSConneclionPoolpoolTimeout="..."maxConnections="..."maxConnectionLifetime="..."/> Корневой элемент WSConnectionPool, задающий настройки лула соединений по умолчанию, имеет рассмотренную ниже структуру (атрибуты). poolTimeout poolTimeout: число - максимальное время жизни неиспользуемого ния в секундах (по умолчанию - 0). poolTimeout=0" maxConnections maxConnections : число - максимальное количество соединений в пуле (по умолчанию - 0). шахСоюдес ions*"* 0 i maxConnectionsLifetime maxConnectionsLifetime : число - максимальное время жизни соединения в пуле в секундах (по умолчанию - 0). Если какой-либо параметр не задан, используется значение по умолчанию. В случае отсутствия файла значения по умолчанию используются для всех параметров. Настройки пула обновляются автоматически. Таким образом, можно тировать этот файл в процессе работы Web-сервисов, и новые настройки пула войдут в действие через несколько секунд.
Приложение Д Используемые компоненты В программном продукте были использованы следующие компоненты: • Словари, используемые в полнотекстовом поиске, основаны на ных базах и словарях тезауруса русского, украинского и английского языков, предоставленных компанией «Информатик». • zlib general purpose compression library version 1.1.3. July 9, 1998 Copyright © 1995-1998 Jean-loup Gailly and Mark Adler. • Portions of this software are based in part on the work of the Independent JPEG Group. • PNG reference library. libpng version 1.0.5 - October 15,1999 Copyright © 1995, 1996 Guy Eric Schalnat, Group 42, Inc. Copyright © 1996, 1997 Andreas Dilger Copyright © 1998,1999 Glenn Randers-Pehrson. • TIFF Software Distribution. Copyright © 1988-1997 Sam Leffler Copyright © 1991-1997 Silicon Graphics, Inc. • Various 1С products provide read/write capability and/or other LZW capability covered by Unisys-owned U.S. patent 4,558,302. Licensing information can be obtained by contacting Unisys at the following address: • Unisys Corporation Welch Licensing Dept. - MSC1SW19 Township Line and Unionjyleeting Roads P.O. Box 500 Blue Bell, PA 19424-0001 Fax: B15) 986-3090. • PROJ 4 release 4.4 Copyright (c) 2000, Frank Warmerdam. • Copyright (c) 1990-2004 Info-ZIP. All rights reserved. Dr. Gladman's AES library: (A Password Based File Encryption Example with AES and HMAC-SHA1).
Приложение Д. Используемые компоненты 2-933 Copyright (с) 2002, Dr Brian Gladman, Worcester, UK. All rights reserved. This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit (http://www.openssl.org/). This product includes cryptographic software written by Eric Young (eay@ cryptsoft.com). 1CU 3.4.1. Copyright © 1997-2006 International Business Machines Corporation and others. All Rights Reserved Xerces-C++ version 2.6.0. Copyright © 1999-2005 The Apache Software Foundation. All Rights Reserved. Xalan-C++ version 1.9. Copyright © 1999-2005 The Apache Software Foundation. All Rights Reserved.
Приложение Е Лицензии ICU License- ICU 1.8.1 and later COPYRIGHT AND PERMISSION NOTICE Copyright (c) 1995-2005 International Business Machines Corporation and others All rights reserved. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the «Software»), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, provided that the above copyright notice(s) and this permission notice appear in all copies of the Software and that both the above copyright notice(s) and this permission notice appear in supporting documentation. THE SOFTWARE IS PROVIDED «AS IS», WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR ANCE OF THIS SOFTWARE. Except as contained in this notice, the name of a copyright holder shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization of the copyright holder. All trademarks and registered trademarks mentioned herein are the property of their respective owners.
Приложение Е. Лицензии 2-935 Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND TION 1. Definitions. «License» shall mean the terms and conditions for use, reproduction, and bution as defined by Sections 1 through 9 of this document. «Licensor» shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. «Legal Entity» shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or wise, or (ii) ownership of fifty percent E0%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. «You» (or «Your») shall mean an individual or Legal Entity exercising sions granted by this License. «Source» form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. «Object» form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. «Work» shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is ed in or attached to the work (an example is provided in the Appendix below). «Derivative Works» shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. «Contribution» shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit
2-936 1 С:Предприятие 8.1. Конфигурирование и администрирование on behalf of the copyright owner. For the purposes of this definition, ted» means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is ly marked or otherwise designated in writing by the copyright owner as "Not a Contribution." «Contributor» shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently porated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and ute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no- charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such utor that are necessarily infringed by their Contributions) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or ative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You ute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the tive Works; and
Приложение Е. Лицензии 2-937 (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the bution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the ing places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, tion, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any bution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and ducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its tions) on an «AS IS» BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any ties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited
2-938 1 С:Предприятие 8.1. Конфигурирование и администрирование to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, tance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own ing information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same «printed page» as the copyright notice for easier identification within third-party archives. Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the «License»); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.Org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an «AS IS» BASIS, WITHOUT TIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Приложение Е. Лицензии 2-939 Перевод интерфейса выполнен: Язык Румынский Латышский Литовский Болгарский Казахский Грузинский Вьетнамский Компания «Contabilizare-Prof S.R.L.» «SkySoft, S.R.L.» ОСЮ«АНДИМ» АОЗТ «AVAKOMPAS» «DAVID Holding Inc.» ООО «Зерде» ООО «Интегрированные Бизнес Решения» (IBS) «1 VS»JSC