Выполнение команды показать ошибки размещения позволяет

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

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

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

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

Единственный в мире Музей Смайликов

Самая яркая достопримечательность Крыма

Скачать 0.52 Mb.

Название Справочнике Нет в пределах подчинения Нет в пределах подчинения владельцу Нет Варианты 1 и 2 Нет
Анкор Ответ на Профессионал по платформе 1С Предприятие 8.3
Дата 23.05.2023
Размер 0.52 Mb.
Формат файла docx
Имя файла Ответы на проф по платформе 8.3.docx
Тип Справочник
#1152683
страница 41 из 54

Подборка по базе: Матем примеры 1 класс ПРЕДЕЛАХ 10.pdf, При обучении нумерации в пределах 1000 учащиеся знакомят.docx, вычитание в пределах 20.ppt, Практическая работа № 3Проектирование учебного занятия на основа, Тест. Виды подчинения. 9 класс.docx, Карточки для отработки навыков сложения и вычитания чисел в пред, Разработка открытого урока математики для семинара директоров 2 , КР Математика сложение и вычитание в пределах 10.docx, виды подчинения3.docx, Регулятором напряжения поддерживается напряжение в сети в устано


1   …   37   38   39   40   41   42   43   44   …   54

Полуавтоматическая Нет
Верны ответы 1 и 2 Нет
Верны ответы 1, 2 и 3 Нет
В управляемой форме нет привязок Да
10.84 Выполнение команды «Проверить» приводит
к выполнению синтаксического контроля кода модуля формы Нет
к открытию разрабатываемой формы в отдельном окне (без возможности заполнения реквизитов, табличных частей формы)

Да

к открытию разрабатываемой формы в отдельном окне возможностью заполнения реквизитов, табличных частей формы)

Нет

Варианты 1 и 2 Нет
Варианты 1 и 3 Нет
10.85 Выполнение команды «Показать ошибки размещения» позволяет:
отобразить любые элементы формы, с не заполненным свойством «Путь к данным» Нет
отобразить элементы формы, связанные с одним и тем же элементом данных (дубли) Нет
отобразить ошибки задания свойств элементов формы, которые будут приводить к проблемам при их размещении на форме (например ширины)

Да

Варианты 1 и 2 Нет
Варианты 1 и 2 и 3 Нет

10.86

Область предварительного просмотра внешнего вида формы нижней части рисунка)

позволяет просматривать результат:

в разных масштабах Нет
в разных вариантах управляемого интерфейса (Такси/Версия 8.2) Нет
для разных клиентов (персональный компьютер/ мобильный клиент) Нет
Варианты 1 и 2 Нет
Варианты 1 и 2 и 3 Да
10.87 Свойство элемента формы «Пользовательская видимость» позволяет
исключить реквизит из данных формы (реквизит не передается с сервера) для конкретного пользователя системы. Изменить эту настройку пользователь не может.

Нет

исключить реквизит из данных формы (реквизит не передается с сервера) для роли пользователя. Изменить эту настройку пользователь не может.

Нет

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

Да

делает связанный с реквизитом элемент формы доступным только для просмотра Нет

10.88

Кнопки управляющие режимом просмотра в области предварительного просмотра редактора

формы позволяют выбрать режимы:

Персональный компьютер (Такси), отображение Обычное, масштаб 110% Нет
Персональный компьютер (Интерфейс 8.2), отображение Обычное, разрешение монитора из списка Нет
Мобильное устройство (мобильный клиент), модель телефона из списка, масштаб 110% Нет
Вариант 1 или 2 Нет
Вариант 1 или 3 Да
Возможен любой из указанных вариантов Нет
10.89 Свойство «Использовать всегда»
не дает пользователю убирать видимость элементов формы, связанных с данным реквизитом Нет
позволяет пользователю управлять видимостью связанных элементов формы, но данный реквизит всегда будет доступен на стороне клиента в случае наличия связанного с ним элемента формы

Нет

вне зависимости, от того связан ли реквизит формы с элементом формы, определяет его доступность на стороне клиента

Да

10.90 Управлять значением свойства реквизита «Использовать всегда» можно для типов:
число, строка, дата, булево Нет
ссылочных типов Нет
хранилище значения Нет
Варианты 1 и 2 Да
Варианты 1 и 2 и 3 Нет
10.91 В редакторе формы управлять расположением элемента формы (относительно других) можно
в дереве элементов формы, используя команды «Переместить вверх», «Переместить вниз» Нет
в списке реквизитов формы, используя команды «Переместить вверх», «Переместить вниз» Нет
перетаскиванием мышью в окне предварительного просмотра Нет
Вариант 1 или 2 Нет
Вариант 1 или 3 Да
Вариант 1 или 2 или 3 Нет

10.92

При создании реквизита формы типа «ДинамическийСписок» способ формирования запроса к

данным определяется разработчиком:

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

Нет

Верны варианты 1 или 2 Да
10.93 Ключ динамического списка определяется:
автоматически в случае указания основной таблицы Нет
с использованием специализированных свойств динамического списка, в случае если основная

<!DOCTYPE HTML PUBLIC «-//W3C//DTD HTML 4.01 Transitional//EN»> <html> <head> <meta http-equivContent-Type» contenttext/html; charset=Windows-1251«> <title>Глава 27. Инструменты разработки</title> <LINK RELstylesheet» hrefstyle.css?_=1496848987«> <SCRIPT srcscript.js?_=1496848987» TYPEtext/javascript«></script> <!—[if !IE]>—><SCRIPT srczeroclipboard.js?_=1496848987» TYPEtext/javascript«></script><!—<![endif]—> <meta namerobots» contentnoarchive«> <meta namegooglebot» contentnoarchive«> <link href/db/content/v8310doc/src/руководство разработчика/глава 27. инструменты разработки.htm» relcanonical«> <link href/static/its.content.css?_=1490872753» typetext/css» relstylesheet«> <script typetext/javascript» src/static/its.content.js?_=1489758009«></script> <!—[if lt IE 9]><script type=»text/javascript» src=»/static/html5shiv.js?_=1484636606″></script><![endif]—> </head> <body classv8310doc«> <a name_ref425413183«></a><a name_ref301191309«></a><a name_ref237783554«></a><a idTI000000929» classbookmark«><h1>Глава 27. Инструменты разработки</h1></a> <a name_ref222321022«></a><a name_ref141014934«></a><a name_ref141003681«></a><a name_ref214865442«></a><a idTI000000930» classbookmark» nameissogl1_27.1_редактор_формы«><h2>27.1. Редактор формы</h2></a> <a name_ref347413325«></a><a name_ref347413324«></a><a name_ref423610858«></a><a idTI000000931» classbookmark» nameissogl2_27.1.1_описание_редактора«><h3>27.1.1. Описание редактора</h3></a> <p classMsoNormal«>Редактор формы позволяет выполнять все действия, которые возникают при создании и изменении формы. Редактор формы представляет собой группу из нескольких связанных между собой редакторов:</p> <p classMsoListBulletCxSpFirst«>● реквизитов – закладка <span classInterface«>Реквизиты</span>;</p> <p classMsoListBulletCxSpMiddle«>● команд – закладка <span classInterface«>Команды</span>;</p> <p classMsoListBulletCxSpMiddle«>● элементов – закладка <span classInterface«>Элементы</span>;</p> <p classMsoListBulletCxSpMiddle«>● параметров – закладка <span classInterface«>Параметры</span>;</p> <p classMsoListBulletCxSpMiddle«>● модуля – закладка <span classInterface«>Модуль</span>;</p> <p classMsoListBulletCxSpLast«>● командного интерфейса – закладка <span classInterface«>Командный интерфейс</span>.</p> <p classRegularbeforepicture«>В нижней части окна расположена форма в режиме предварительного просмотра.</p> <p classPicture«><IMG src_img/img00482.gif?_=1496848987» WIDTH766» ALT HEIGHT501«></p> <p classMsoCaption«>Рис. 474. Редактор формы</p> <p classMsoNormalCxSpFirst«>В редакторах доступно множественное выделение. В этом случае в палитре свойств будут отражены только те свойства, которые присутствуют у всех выделенных объектов. Изменения, которые сделаны в палитре свойств, будут применены для всех выделенных объектов.</p> <p classMsoNormalCxSpMiddle«>Добавление элементов формы обычно осуществляется перетаскиванием реквизита формы на панель элементов. При этом имя элемента формы становится равным имени реквизита, а в качестве данных элемента формы установлен путь к реквизиту. В дальнейшем имя элемента можно изменить. Система автоматически определяет как элемент формы, с помощью которого будет отображаться реквизит, так и вид этого элемента, если такое возможно. Аналогичным образом выполняется добавление на форму команд (как команд формы, так и глобальных команд). Если реквизит формы или команда размещена на форме, то справа от названия у нее выводится специальный маркер серого цвета.</p> <p classMsoNormalCxSpLast«>Если элемент формы добавляется перетаскиванием из другой формы, то следует помнить о том, что для таких элементов свойство <span classInterface«>Данные</span> не будет перенесено. Для всех элементов, перенесенных таким образом, будет необходимо заново установить корректные пути к данным.</p> <p classRegularbeforepicture«>При выборе элемента формы на закладке <span classInterface«>Элементы</span> происходит автоматическое позиционирование на выбранный элемент в окне предварительного просмотра. Если элемент выделяется в окне предварительного просмотра, то происходит автоматическое выделение этого элемента в дереве элементов формы на закладке <span classInterface«>Элементы</span>.</p> <p classPicture«><IMG src_img/img00483.gif?_=1496848987» WIDTH766» ALT HEIGHT501«></p> <p classMsoCaption«>Рис. 475. Связь редакторов</p> <p classRegularbeforetable«>Выделять элементы формы можно как в редакторе элементов, так и в окне предварительного просмотра. При этом возможности, доступные в окне предварительного просмотра, практически совпадают с таковыми в списке элементов. В частности, доступны контекстные меню элементов, открытие окна свойств, перетаскивание элементов и т. д. Если выделить элемент в окне предварительного просмотра, вокруг элемента возникает рамка, которая в зависимости от элемента может быть нескольких цветов.</p> <table classMsoNormalTable» border0» cellspacing0» cellpadding0«> <tr> <td valigntop«> <p classMsoNormalCxSpFirst«><b>Цвет рамки</b></p> </td> <td valigntop«> <p classMsoNormalCxSpMiddle«><b>Описание</b></p> </td> </tr> <tr> <td valigntop«> <p classMsoNormalCxSpMiddle«>Синяя</p> </td> <td valigntop«> <p classMsoNormalCxSpMiddle«>Выделение обычного элемента</p> </td> </tr> <tr> <td valigntop«> <p classMsoNormalCxSpMiddle«>Оранжевая</p> </td> <td valigntop«> <p classMsoNormalCxSpMiddle«>Выделение автоматически созданных кнопок и подменю командных панелей. Служит для индикации того, что для данного элемента невозможно выполнить никаких настроек (свойства, положение)</p> </td> </tr> <tr> <td valigntop«> <p classMsoNormalCxSpMiddle«>Серая</p> </td> <td valigntop«> <p classMsoNormalCxSpMiddle«>Выделение родительского элемента, если выбранный элемент невозможно выделить в окне предварительного просмотра. Например, если в списке элементов выбрать контекстное меню поля ввода, то поле ввода будет выделено в окне предварительного просмотра серым цветом</p> </td> </tr> <tr> <td valigntop«> <p classRegularbeforepicture«>Зеленая</p> </td> <td valigntop«> <p classMsoNormalCxSpFirst«>Используется при перетаскивании элементов и отображает элемент, в который выполняется перетаскивание (например, таблицу или группу формы), и индикатор того, где будет размещен перетаскиваемый элемент</p> </td> </tr> </table> <p classRegularbeforepicture«>Щелчок мышью по заголовку окна в окне предварительного просмотра эквивалентен выбору элемента <span classInterface«>Форма</span> (на закладке <span classInterface«>Элементы</span>). Контекстное меню, которое возникает в этом случае, также эквивалентно контекстному меню, соответствующему элементу <span classInterface«>Форма</span>.</p> <p classPicture«><IMG src_img/img00484.gif?_=1496848987» WIDTH545» ALT HEIGHT315«></p> <p classMsoCaption«>Рис. 476. Индикация перетаскивания</p> <p classMsoNormalCxSpFirst«>Если необходимо выделить родительский элемент (например, группу, в которую входит поле) для какого-либо другого элемента, это можно сделать двумя последовательными щелчками левой кнопкой мыши на подчиненном элементе. Такое выделение сработает, если интервал между щелчками составляет от 1 до 2 секунд. При меньшем времени система может воспринять щелчки как двойной щелчок, при большем – как раздельные действия. Если в момент первого щелчка было выделено несколько элементов, то выделение родительского элемента не будет выполнено.</p> <p classMsoNormalCxSpLast«>Для быстрого перехода к связанным объектам существует команда <span classInterface«>Перейти</span>. Эта команда расположена в контекстном меню объекта, в редакторах элементов, фрагментов командного интерфейса, реквизитов, команд и окне предварительного просмотра. С помощью этой команды можно, например, быстро перейти от элемента формы (выделенного в списке элементов или окне предварительного просмотра) к реквизиту формы, который отображается этим элементом. Если доступно несколько объектов, к которым возможен переход, будет открыто окно с предложением выбрать нужный объект.</p> <p classRegularbeforepicture«>Также в редакторе формы возможно быстрое создание (или переход) обработчиков событий того или иного элемента формы с помощью подменю <span classInterface«>События</span> контекстного меню элемента.</p> <p classPicture«><IMG src_img/img00485.gif?_=1496848987» WIDTH694» ALT HEIGHT444«></p> <p classMsoCaption«><a name_ref289263314«>Рис. </a>477. Меню «События»</p> <p classMsoNormalCxSpFirst«>В состав этого меню входят все события, которые доступны для данного элемента формы в окне свойств этого элемента. Если в меню указано имя события в угловых скобках, это значит, что обработчик события не определен (например, для события <span classTerm«>Очистка</span> элемента <span classTerm«>Организация</span> на <a href#_ref289263314«>рис.477</a>). Для создания обработчика следует выбрать нужное событие – произойдет переход в редактор модуля формы с созданием необходимого обработчика.</p> <p classMsoNormalCxSpMiddle«>Если обработчик для события уже создан, то выбор соответствующего пункта в подменю <span classInterface«>События</span> вызовет переход к существующему обработчику в редакторе формы (например, обработчик <span classTerm«>ОрганизацияПриИзменении()</span> на <a href#_ref289263314«>рис. 477</a>).</p> <p classMsoNormalCxSpLast«>Для кнопки подменю <span classInterface«>События</span> не формируется, а команда перехода к обработчику соответствующей команды расположена непосредственно в контекстном меню элемента.</p> <p classRegularbeforepicture«>Если выполняется создание клиентского обработчика, то система предлагает на выбор несколько вариантов его создания:</p> <p classPicture«><IMG src_img/img00486.gif?_=1496848987» WIDTH368» ALT HEIGHT154«></p> <p classMsoCaption«>Рис. 478. Создание клиентского обработчика</p> <p classMsoNormalCxSpFirst«>Первый вариант (<span classInterface«>Создать на клиенте</span>) предполагает создание только клиентского обработчика событий. Вариант <span classInterface«>Создать на клиенте и процедуру на сервере без контекста</span> предполагает создание клиентского обработчика события, внеконтекстной серверной процедуры и вызов процедуры из клиентского обработчика. Последний вариант отличается от предыдущего тем, что серверная процедура создается контекстной. Если в каком либо клиентском обработчике события не рекомендуется использовать контекстные серверные вызовы (информация об этом доступа в Синтакс-помощнике), то использование последнего варианта (с контекстной серверной процедурой) недоступно. Удаление обработчика события не приводит к удалению серверной процедуры (если при создании обработчика события она создавалась).</p> <p classMsoNormalCxSpMiddle«>При удалении реквизита (из списка реквизитов формы) на экран выводится вопрос <span classInterface«>Удалить связанные элементы?</span> Если ответ отрицательный, то у связанных элементов формы очищается свойство <span classTerm«>Данные</span>. При положительном ответе выполняется удаление элементов формы, которые связаны с удаляемым реквизитом. Если связь с этим реквизитом для элемента не является основной (данные подвала, данные, отображаемые в заголовке группы, и т. д.), то такой элемент не удаляется, но очищается связь с удаляемым реквизитом. Вне зависимости от ответа на вопрос об удалении будут удалены команды командного интерфейса формы, связанные с удаляемым реквизитом.</p> <p classMsoNormalCxSpLast«>Если удалить команды формы, также предлагается удалить связанные элементы. При отрицательном ответе элементы формы не удаляются, но очищается свойство элемента <span classInterface«>Команда</span>. При положительном ответе удаляются кнопки, связанные с удаляемой командой.</p> <p classRegularbeforepicture«>При разработке формы, которая должна отображаться и в интерфейсе <span classInterface«>Такси</span> и в интерфейсе 8.2, требуется видеть, как форма отображается в обоих режимах интерфейса. Это можно сделать непосредственно в редакторе формы.</p> <p classPicture«><IMG src_img/img00487.gif?_=1496848987» WIDTH591» ALT HEIGHT501«></p> <p classMsoCaption«><a name_ref352237003«>Рис. </a>479. Переключение режима интерфейса</p> <p classMsoNormalCxSpFirst«>На <a href#_ref352237003«>рис.479</a> приведен пример того, как меняется отображение при смене режима интерфейса с интерфейса <span classInterface«>Такси</span> (верхняя левая часть рисунка) на интерфейс версии 8.2 (нижняя правая часть рисунка). Однако следует помнить, что в режиме тестирования формы в интерфейсе <span classInterface«>Такси</span>, некоторые элементы изображаются в интерфейсе 8.2.</p> <p classMsoNormalCxSpLast«>Кнопка <span classInterface«>Вариант интерфейса</span> доступна только в том случае, когда свойство <span classInterface«>Режим совместимости интерфейса</span> установлено в значение <span classInterface«>Такси. Разрешить Версия 8.2</span> или <span classInterface«>Версия 8.2. Разрешить Такси</span>. В остальных случаях кнопка не отображается в редакторе формы.</p> <p classRegularbeforepicture«>В особых случаях требуется разрабатывать формы, для которых можно выбирать масштаб отображения (см. <A href/db/content/v8310doc/src/руководство разработчика/глава 7. формы.htm?_=1496848987#_ref419713193«>здесь</a>). Если у самой формы свойство <span classInterface«>Вариант масштаба</span> установлено в значение <span classInterface«>Авто</span>, то в редакторе формы имеется возможность выбора, в каком масштабе будет отображаться превью формы.</p> <p classPicture«><IMG src_img/img00488.gif?_=1496848987» WIDTH613» ALT HEIGHT501«></p> <p classMsoCaption«>Рис. 480. Переключение варианта масштаба</p> <p classRegularbeforepicture«>Если форма будет использоваться только в интерфейсе <span classInterface«>Такси</span>, и при этом не будет использоваться компактный режим отображения, в редакторе формы можно проверить, как форма будет отображаться с нестандартным масштабом.</p> <p classPicture«><IMG src_img/img00489.gif?_=1496848987» WIDTH766» ALT HEIGHT501«></p> <p classMsoCaption«>Рис. 481. Выбор масштаба формы</p> <p classMsoNormal«>Изменение масштаба приведет к соответствующему изменению формы в окне предварительного просмотра. Для того чтобы изменить реальный масштаб формы – следует использовать свойство формы <span classInterface«>Масштаб</span>.</p> <p classRegularbeforepicture«>В связи с тем, что формы системы «1С:Предприятие» могут отображаться на устройствах с разным разрешением, в процессе разработки требуется проверять, как будет выглядеть разрабатываемая форма на том или ином разрешении. Для этого в редакторе реализована возможность быстрого выбора разрешения, для которого система будет выполнять размещение элементов в панели превью формы.</p> <p classPicture«><IMG src_img/img00490.gif?_=1496848987» WIDTH766» ALT HEIGHT501«></p> <p classMsoCaption«>Рис. 482. Выбор разрешения превью</p> <p classMsoNormal«>При выборе разрешения форма будет перестраиваться так, как будто в панели превью установлено выбранное разрешение. При этом физические размеры формы не будут изменяться.</p> <p classRegularbeforepicture«>Кроме большого набора разрешений, мобильные устройства могут в процессе работы изменять ориентацию своего экрана. Для проверки того, как будет выглядеть форма при смене ориентации экрана, имеется возможность быстро эмулировать этой операции в редакторе формы.</p> <p classPicture«><IMG src_img/img00491.gif?_=1496848987» WIDTH800» ALT HEIGHT630«></p> <p classMsoCaption«><a name_ref423610588«>Рис. </a>483. Выбор ориентации экрана</p> <p classMsoNormal«>Так, на <a href#_ref423610588«>рис.483</a> приведен пример того, как форма будет отображаться в разрешении 1024×768 в ландшафтной (верхняя часть рисунка) и портретной (нижняя часть рисунка) ориентации.</p> <p classRegularbeforepicture«>Если в процессе разработки формы будут обнаружены различные ошибки задания свойств элементов, которые будут приводить к проблемам при размещении элементов формы, имеется возможность отобразить эти ошибки с помощью специальной кнопки.</p> <p classPicture«><IMG src_img/img00492.gif?_=1496848987» WIDTH450» ALT HEIGHT298«></p> <p classMsoCaption«>Рис. 484. Показать ошибки размещения</p> <p classMsoNormalCxSpFirst«>Если нужно открыть форму для проверки, следует нажать сочетание клавиш<span classInterface«> Ctrl + R</span>. Форма будет открыта в отдельном окне.</p> <p classMsoNormalCxSpLast«>При переименовании или удалении реквизита, параметра или элемента формы, система ищет случаи использования переименуемого (удаляемого) объекта в модуле формы и во всей конфигурации (если это разрешено в настройках конфигуратора, см. <A href/db/content/v8310doc/src/руководство разработчика/глава 33. сервисные возможности.htm?_=1496848987#_ref389651957«>здесь</a>).</p> <a name_ref200448720«></a><a name_ref200447246«></a><a name_ref374982339«></a><a idTI000000932» classbookmark» nameissogl2_27.1.2_ролевая_настройка_формы«><h3>27.1.2. Ролевая настройка формы</h3></a> <p classMsoNormalCxSpFirst«>В редакторе формы имеется возможность выполнить ролевую настройку поведения формы.</p> <p classMsoNormalCxSpLast«>Данная возможность предоставляется для следующих свойств:</p> <p classMsoListBulletCxSpFirst«><span classInterface«>Просмотр</span> – свойство реквизита формы. Отсутствие возможности просмотра исключает реквизит из данных формы (реквизит не передается с сервера). Изменить эту настройку пользователь не может.</p> <p classMsoListBulletCxSpMiddle«><span classInterface«>Редактирование</span> – свойство реквизита формы. Отсутствие возможности редактирования делает связанный с реквизитом элемент формы доступным только для просмотра. Вне зависимости от состояния данного свойства редактирование будет недоступно, если недоступен просмотр реквизита формы. Изменить эту настройку пользователь не может.</p> <p classMsoListBulletCxSpMiddle«><span classInterface«>Пользовательская видимость</span> – свойство элемента формы. Определяет видимость элемента формы по умолчанию. При этом пользователь может самостоятельно изменить это свойство в редакторе настройки формы.</p> <p classMsoListBulletCxSpLast«><span classInterface«>Использование</span> – свойство команды формы. Если у команды выключено использование, то в командном интерфейсе отсутствуют все связанные с ней кнопки. Изменить эту настройку пользователь не может.</p> <p classRegularbeforepicture«>Редакторы всех вышеперечисленных свойств выглядят одинаково и имеют одинаковый принцип работы. Рассмотрим работу редактора на примере свойства <span classInterface«>Просмотр</span>.</p> <p classPicture«><IMG src_img/img00493.gif?_=1496848987» WIDTH350» ALT HEIGHT212«></p> <p classMsoCaption«>Рис. 485. Редактирование свойства «Просмотр» реквизита формы</p> <p classMsoNormal«>Свойство <span classInterface«>Просмотр</span> (в верхней части окна редактора) определяет состояние просмотра для каждой роли, у которой флажок находится в «третьем» состоянии (серый фон флажка). Затем состояния просмотра для всех доступных ролей складываются «по ИЛИ», и результат этого сложения будет определять итоговое свойство <span classInterface«>Просмотр</span> для редактируемого объекта.</p> <a name_ref236645687«></a><a name_ref219791919«></a><a idTI000000933» classbookmark» nameissogl1_27.2_редактор_текстов«><h2>27.2. Редактор текстов</h2></a> <p classMsoNormalCxSpFirst«>Текстовый редактор системы «1С:Предприятие» предоставляет пользователю все основные функции, необходимые при редактировании текстов. При работе с текстовым редактором доступны операции с блоками текста, функции поиска и замены, цветовое выделение синтаксических элементов программных модулей.</p> <p classMsoNormalCxSpMiddle«>В системе «1С:Предприятие» текстовый редактор используется в двух режимах: для редактирования текстовых документов и как составная часть редактора форм для редактирования текстов модулей.</p> <p classMsoNormalCxSpMiddle«>В данной главе приводится описание особенностей работы редактора текстов при редактировании текстов модулей.</p> <p classMsoNormalCxSpLast«>Так как работа с любым текстовым редактором в системе Microsoft Windows осуществляется примерно одинаковым образом, в данном разделе будет дано описание специфических возможностей текстового редактора системы «1С:Предприятие».</p> <p classNote«><span classNote«>Примечание.</span> В текстовом редакторе невозможно ввести символы, недопустимые с точки зрения спецификации XML версии 1.0 (<a hrefhttp://www.w3.org/TR/xml/» target_blank«>http://www.w3.org/TR/xml/</a>). При попытке ввода такого символа он просто игнорируется, при вставке из буфера обмена недопустимые символы пропускаются и во вставленный текст не попадают.</p> <p classMsoNormal«>Таблицу сочетаний клавиш для редактора текстов можно посмотреть в справке при использовании программы.</p> <a name_ref219791988«></a><a name_ref470015459«></a><a idTI000000934» classbookmark» nameissogl2_27.2.1_редактирование_модулей«><h3>27.2.1. Редактирование модулей</h3></a> <p classMsoNormalCxSpFirst«>Редактирование модулей выполняется в процессе создания формы объекта конфигурации, а также при разработке модулей (модуль приложения, модуль внешнего соединения, общие модули, модули прикладных объектов).</p> <p classMsoNormalCxSpMiddle«>При создании формы текстовый редактор выступает как составная часть редактора форм и вызывается щелчком мыши на закладке <span classInterface«>Модуль</span> в окне редактора форм, в остальных случаях текстовый редактор вызывается в виде отдельного окна. Для открытия модуля управляемого приложения, модуля внешнего соединения, модуля сеанса и модуля обычного приложения нужно щелкнуть правой кнопкой мыши по имени конфигурации (самая верхняя строка дерева конфигурации) и в контекстном меню выбрать соответствующий пункт меню.</p> <p classMsoNormalCxSpMiddle«>Для редактирования модуля объекта выбрать объект и в контекстном меню выбрать пункт <span classInterface«>Открыть модуль объекта</span>.</p> <p classMsoNormalCxSpMiddle«>Для редактирования модуля менеджера (если такой модуль есть у объекта) следует выбрать объект и в контекстном меню выбрать пункт <span classInterface«>Открыть модуль менеджера</span>.</p> <p classMsoNormalCxSpMiddle«>Чтобы отредактировать модуль команды, нужно дважды щелкнуть мышью по команде или в контекстном меню команды выбрать пункт <span classInterface«>Открыть модуль команды</span>.</p> <p classMsoNormalCxSpMiddle«>Для редактирования общего модуля в окне <span classInterface«>Конфигурация,</span> в ветви <span classInterface«>Общие – Общие модули</span> выбрать нужный модуль и в контекстном меню выбрать пункт <span classInterface«>Открыть модуль</span>.</p> <p classMsoNormalCxSpMiddle«>Процесс редактирования текста программного модуля ничем не отличается от процесса редактирования текстовых документов – можно использовать все возможности редактора текстов.</p> <p classMsoNormalCxSpLast«>В этом разделе будут описаны специфические режимы редактора текстов, которые доступны при редактировании модулей.</p> <a idTI000000935» classbookmark» nameissogl3_27.2.1.1_выделение_цветом_синтаксических_конструкций«><h4>27.2.1.1. Выделение цветом синтаксических конструкций</h4></a> <p classMsoNormalCxSpFirst«>Для удобства редактирования текстов модулей текстовый редактор имеет функцию выделения цветом элементов встроенного языка системы «1С:Предприятие» – ключевых слов, констант (не объектов конфигурации) различных типов, операторов, комментариев и других. Цвета, которыми будут выделяться разные типы синтаксических конструкций, можно установить в окне <span classInterface«>Параметры</span>, которое открывается выбором пункта <span classInterface«>Сервис – Параметры</span> (о настройке параметров текстового редактора см. <A href/db/content/v8310doc/src/руководство разработчика/глава 33. сервисные возможности.htm?_=1496848987#_ref217356703«>здесь</a>).</p> <p classMsoNormalCxSpMiddle«>Названия встроенных функций цветом не выделяются (цвет совпадает с цветом идентификаторов).</p> <p classMsoNormalCxSpLast«>В общем случае когда текстовый редактор вызывается для редактирования текста модуля, эта функция включается автоматически. Однако в некоторых случаях текст модуля может быть расположен во внешнем текстовом файле. Тогда при открытии такого файла конфигуратор не распознает модуль и будет считать его обычным текстовым документом. В этом случае при редактировании текста будет недоступно выделение цветом синтаксических конструкций и автоматическое форматирование текста модуля. Для указания конфигуратору, что редактируется модуль, а не текстовый документ, служит пункт <span classInterface«>Текст – Встроенный язык</span>, выполняющий функцию переключателя.</p> <p classRegularbeforepicture«>Когда он включен (слева от слов <span classInterface«>Встроенный язык</span> в меню появляется отметка), текстовый редактор считывает загруженный в него текст текстом модуля и выделяет цветом найденные синтаксические конструкции.</p> <p classPicture«><IMG src_img/img00494.gif?_=1496848987» WIDTH238» ALT HEIGHT123«></p> <p classMsoCaption«>Рис. 486. Включено выделение цветом</p> <p classMsoNormalCxSpFirst«>Если этот режим включен при редактировании обычного текстового документа, для вывода текста будет также использоваться шрифт, установленный для текстов модулей в настройке параметров конфигуратора (пункт <span classInterface«>Сервис – Параметры</span>, закладка <span classInterface«>Тексты</span>, реквизит <span classInterface«>Шрифт</span>).</p> <p classMsoNormalCxSpMiddle«>Настройка параметров системы «1С:Предприятие» позволяет отключить режим выделения цветом синтаксических конструкций. Тогда выбор пункта <span classInterface«>Встроенный язык</span> не включит выделение цветом синтаксических конструкций модуля, а будет использовать только установки шрифта модуля и шага табуляции.</p> <p classMsoNormalCxSpLast«>Если режим выделения цветом синтаксических конструкций выключен, для вывода текста используются цвета операционной системы.</p> <a name_ref354052189«></a><a idTI000000936» classbookmark» nameissogl3_27.2.1.2_группировка«><h4>27.2.1.2. Группировка</h4></a> <p classMsoNormal«>В модулях или в текстовых документах, просматриваемых в режиме <span classInterface«>Встроенный язык</span>, некоторые синтаксические конструкции автоматически объединяются в группы. К таким конструкциям относятся <span classTerm«>Если … Тогда … КонецЕсли</span>, <span classTerm«>Пока … Цикл … КонецЦикла</span>, <span classTerm«>Процедура … КонецПроцедуры</span> и другие.</p> <p classRegularbeforepicture«>Группы текста позволяют лучше воспринимать различные части текста, а также переносить и копировать группу целиком. Отображение группировок можно увидеть на <a href#_ref216231523«>рис.487</a>.</p> <p classPicture«><IMG src_img/img00495.gif?_=1496848987» WIDTH452» ALT HEIGHT458«></p> <p classMsoCaption«><a name_ref216231523«>Рис. </a>487. Группировки в текстовом редакторе</p> <p classMsoNormalCxSpFirst«>Свернуть и развернуть группу можно с помощью мыши. Для этого достаточно щелкнуть левой кнопкой мыши по маркеру группы.</p> <p classMsoNormalCxSpMiddle«>Если при этом нажать клавишу <span classInterface«>Ctrl</span>, то сворачивание и разворачивание будет производиться также для подчиненных групп (условий, циклов и проч.).</p> <p classMsoNormalCxSpLast«>Для отображения свернутого текста необходимо подвести курсор к маркеру, как показано на <a href#_ref216231523«>рис. 487</a>. Если текст группы достаточно большой, то выводится только его начальная часть.</p> <p classRegularbeforepicture«>В процессе разработки возникает необходимость группировать фрагменты модуля. Например, нужно выделить логически связанные процедуры и функции или выделить фрагменты алгоритма в рамках одной процедуры или функции. Это можно сделать с помощью инструкций препроцессора <span classTerm«>#Область … #КонецОбласти</span> (<span classTerm«>#Region … #EndRegion</span>).</p> <p classPicture«><IMG src_img/img00496.gif?_=1496848987» WIDTH662» ALT HEIGHT323«></p> <p classMsoCaption«><a name_ref341458587«>Рис. </a>488. Группировка строк</p> <p classMsoNormal«>Все строки, которые находятся внутри области, ограниченные директивами препроцессора, в редакторе модуля можно свернуть (аналогично другим конструкциям встроенного языка). Каждая область должна обладать собственным именем, которое формируется по правилам встроенного языка. В примере, показанном на <a href#_ref341458587«>рис.488</a>, именем области является идентификатор <span classTerm«>ФайлКартинки</span>. Области могут быть вложенными, но не могут пересекаться с другими синтаксическими конструкциями языка. Далее приведены примеры использования областей, как корректные, так и некорректные:</p> <a classcopy_source» href#_top» onClickreturn false«>Копировать в буфер обмена</a> <pre classsrc_res«> // Верный пример использования области #Область Верно … #Если Клиент Тогда … #КонецЕсли … #КонецОбласти // Вложенные области #Область АлгоритмРасчета … #Область Этап1 … #КонецОбласти … #Область Этап2 … #КонецОбласти … #КонецОбласти // Неверный пример использования области #Область Неверно … #Если Клиент Тогда … #КонецОбласти … #КонецЕсли // Неверный пример использования области #Область Неверно Процедура ПолучитьДанные() … #КонецОбласти … КонецПроцедры </pre> <p classMsoNormal«>Область может описываться комментарием, располагающимся перед началом области (<span classTerm«>#Область</span>). Этот комментарий также может группироваться.</p> <p classRegularbeforetable«>С помощью команд, выполняемых с клавиатуры, можно легко управлять состоянием групп.</p> <table classMsoNormalTable» border0» cellspacing0» cellpadding0«> <tr> <td valigntop«> <p classMsoNormalCxSpFirst«><b>Клавиши</b></p> </td> <td valigntop«> <p classMsoNormalCxSpMiddle«><b>Действия</b></p> </td> </tr> <tr> <td valigntop«> <p classMsoNormalCxSpMiddle«><span classInterface«>Ctrl + Num-</span></p> </td> <td valigntop«> <p classMsoNormalCxSpMiddle«>Сворачивает группу (курсор может быть в любом месте группы)</p> </td> </tr> <tr> <td valigntop«> <p classMsoNormalCxSpMiddle«><span classInterface«>Ctrl + Num+</span></p> </td> <td valigntop«> <p classMsoNormalCxSpMiddle«>Разворачивает группу (курсор должен быть в первой строке группы)</p> </td> </tr> <tr> <td valigntop«> <p classMsoNormalCxSpMiddle«><span classInterface«>Ctrl + Shift + Num-</span></p> </td> <td valigntop«> <p classMsoNormalCxSpMiddle«>Сворачивает все группы</p> </td> </tr> <tr> <td valigntop«> <p classMsoNormalCxSpMiddle«><span classInterface«>Ctrl + Shift + Num+</span></p> </td> <td valigntop«> <p classMsoNormalCxSpMiddle«>Разворачивает все группы </p> </td> </tr> <tr> <td valigntop«> <p classMsoNormalCxSpMiddle«><span classInterface«>Ctrl + Shift + R</span></p> </td> <td valigntop«> <p classMsoNormalCxSpMiddle«>Обновить группировки </p> </td> </tr> </table> <p classMsoNormalCxSpMiddle«>При написании текста модуля, во время завершения написания синтаксической конструкции, автоматически создаются группы для всех синтаксических конструкций любого уровня вложенности. Обновление группировок выполняется с помощью пункта <span classInterface«>Текст – Группировки – Обновить группировки</span> или автоматически при сохранении текста согласно настройке показа групп.</p> <p classMsoNormalCxSpLast«>Первым считается уровень описания процедур, функций и областей, вторым – синтаксических конструкций, вложенных только в тело процедуры или функции, но не в тело других синтаксических конструкций. Режим показа групп можно настроить. О настройке режима см. <A href/db/content/v8310doc/src/руководство разработчика/глава 33. сервисные возможности.htm?_=1496848987#_ref217356754«>здесь</a>.</p> <a name_ref389477376«></a><a idTI000001457» classbookmark» nameissogl3_27.2.1.3_работа_с_закладками«><h4>27.2.1.3. Работа с закладками</h4></a> <p classRegularbeforepicture«>В процессе работы с текстом модуля разработчик может отметить какую-либо строку текста для того, чтобы потом быстро перейти к отмеченному фрагменту. Такая отметка называется <span classBold«>закладкой</span>.</p> <p classPicture«><IMG src_img/img00497.gif?_=1496848987» WIDTH782» ALT HEIGHT283«></p> <p classMsoCaption«>Рис. 489. Закладки в тексте</p> <p classMsoNormalCxSpFirst«>Для установки следует воспользоваться командой <span classInterface«>Текст – Установить/снять закладку</span>. Закладка отмечается цветовой меткой в колонке, левее текста модуля.</p> <p classMsoNormalCxSpLast«>Также имеется возможность перейти к следующей (команда <span classInterface«>Текст – Следующая закладка</span>) или предыдущей закладке (команда <span classInterface«>Текст – Предыдущая закладка</span>), а также удалить все установленные закладки (<span classInterface«>Текст – Убрать все закладки</span>).</p> <p classRegularbeforepicture«>Список всех установленных закладок можно увидеть в специльном списке, который открывается с помощью команды <span classInterface«>Правка – Список закладок</span>.</p> <p classPicture«><IMG src_img/img00498.gif?_=1496848987» WIDTH472» ALT HEIGHT278«></p> <p classMsoCaption«>Рис. 490. Список закладок</p> <p classMsoNormalCxSpFirst«>С помощью данного списка можно перейти сразу к нужной закладке, удалить одну, конкретную, закладку или сразу все. Следует помнить, что переход к закладке осуществляется только с помощью специальной кнопки. Нажатие на кнопку <span classInterface«>ОК</span> не вызывает переход к отмеченной закладке.</p> <p classMsoNormalCxSpLast«>Также следует отметить, что система сохраняет список закладок между сеансами редактирования документов и работы конфигуратора.</p> <a idTI000000937» classbookmark» nameissogl3_27.2.1.4_форматирование_модуля«><h4>27.2.1.4. Форматирование модуля</h4></a> <p classMsoNormal«>Редактор текстов системы «1С:Предприятие» включает ряд режимов, облегчающих разработку модулей.</p> <a name_ref401225227«></a><a idTI000000938» classbookmark» nameissogl4_27.2.1.4.1_форматирование_синтаксических_конструкций«><h5>27.2.1.4.1. Форматирование синтаксических конструкций</h5></a> <p classMsoNormal«>Хорошим стилем написания модулей считается использование синтаксического отступа – выделения лидирующими пробелами (табуляцией) управляющих конструкций встроенного языка системы «1С:Предприятие», например, так, как это показано в приведенном ниже фрагменте модуля.</p> <a classcopy_source» href#_top» onClickreturn false«>Копировать в буфер обмена</a> <pre classsrc_dev«><span classkeyword«>Процедура</span> СледующийЭлемент<span classoperator«>(</span>Справочник<span classoperator«>,</span> Выборка<span classoperator«>)</span> <span classkeyword«>Пока</span> <span classkeyword«>Истина</span> <span classkeyword«>Цикл</span> <span classkeyword«>Если</span> Выборка<span classoperator«>.</span>Следующий<span classoperator«>(</span><span classoperator«>)</span> <span classoperator«>=</span> <span classkeyword«>Ложь</span> <span classkeyword«>Тогда</span> Выборка <span classoperator«>=</span> Справочник<span classoperator«>.</span><span classkeyword«>Выбрать</span><span classoperator«>(</span><span classoperator«>)</span><span classoperator«>;</span> <span classkeyword«>Продолжить</span><span classoperator«>;</span> <span classkeyword«>Иначе</span> <span classkeyword«>Прервать</span><span classoperator«>;</span> <span classkeyword«>КонецЕсли</span><span classoperator«>;</span> <span classkeyword«>Если</span> Выборка<span classoperator«>.</span>ЭтоГруппа <span classkeyword«>Тогда</span> <span classkeyword«>Продолжить</span><span classoperator«>;</span> <span classkeyword«>КонецЕсли</span><span classoperator«>;</span> <span classkeyword«>Возврат</span><span classoperator«>;</span> <span classkeyword«>КонецЦикла</span><span classoperator«>;</span> <span classkeyword«>КонецПроцедуры</span></pre> <p classMsoNormalCxSpFirst«>В данном фрагменте строки модуля, расположенные внутри структурных операторов <span classTerm«>Если … Тогда … КонецЕсли</span> и <span classTerm«>Пока … Цикл … КонецЦикла</span>, смещены вправо, чтобы подчеркнуть их «вложенность». Текст модуля, отформатированный с использованием синтаксического отступа, удобнее в восприятии и проще в отладке.</p> <p classMsoNormalCxSpMiddle«>Текстовый редактор системы «1С:Предприятие» предоставляет функции автоматического форматирования управляющих конструкций встроенного языка. Для настройки автоматического форматирования в режиме установки параметров системы (команда <span classInterface«>Сервис – Параметры</span> главного меню конфигуратора, закладка <span classInterface«>Модули</span>) можно выбрать один из двух видов отступа.</p> <p classMsoNormalCxSpMiddle«>Синтаксический отступ выполняет автоматическое форматирование текста модуля, смещая вправо текст, расположенный внутри управляющих конструкций типа <span classTerm«>Если … Тогда … КонецЕсли</span> и <span classTerm«>Пока … Цикл … КонецЦикла</span> и подобных. Смещение выполняется за счет добавления в начало строк необходимого количества знаков табуляции.</p> <p classMsoNormalCxSpMiddle«>«Обыкновенный» отступ автоматически выравнивает текст строки по левой границе предыдущей строки.</p> <p classMsoNormalCxSpMiddle«>Если автоотступ отключен, никаких дополнительных символов в текст добавляться не будет.</p> <p classMsoNormalCxSpMiddle«>Кроме автоматического форматирования текста модуля в процессе ввода можно также отформатировать уже введенный текст. Для этого необходимо выделить блок текста, который требуется отформатировать, и выбрать пункт <span classInterface«>Текст – Блок – Форматировать</span>. При этом текстовый редактор проанализирует текст модуля и выполнит его форматирование, при котором содержимое каждой синтаксической конструкции будет сдвинуто вправо на величину табуляции независимо от первоначального расположения строк (лидирующих пробелов). В пустые строки устанавливаются знаки табуляции в соответствии с синтаксической конструкцией.</p> <p classMsoNormalCxSpMiddle«>Блок текста также можно целиком сдвигать вправо или влево с шагом табуляции. Для этого необходимо выделить блок текста и выбрать команду <span classInterface«>Текст – Блок – Сдвинуть вправо</span> (<span classInterface«>Текст – Блок – Сдвинуть влево</span>).</p> <p classMsoNormalCxSpLast«>Текстовый редактор системы «1С:Предприятие» осуществляет автоматическое удаление пробелов на концах строк. Это выполняется при записи модуля.</p> <a idTI000000939» classbookmark» nameissogl4_27.2.1.4.2_вставка_удаление_признака_комментария«><h5>27.2.1.4.2. Вставка/удаление признака комментария</h5></a> <p classMsoNormalCxSpFirst«>При отладке модулей зачастую бывает необходимо на время «отключить» некоторые строки модуля, чтобы они не исполнялись при работе системы. Обычно это выполняется путем превращения таких строк в комментарии – добавлением перед ними признака комментария «<span classInterface«>//</span>». Позднее, чтобы опять «включить» закомментированные строки в работу, признак комментария удаляется.</p> <p classMsoNormalCxSpMiddle«>Для выключения (и последующего включения) больших фрагментов модуля удобно использовать режим автоматической установки признаков комментария у всех строк выделенного блока или текущей строки (ее выделять не обязательно).</p> <p classMsoNormalCxSpMiddle«>Для этого следует выделить блок текста или установить указатель на нужную строку и выбрать пункт <span classInterface«>Текст – Блок – Добавить комментарий</span> (<span classInterface«>Текст – Блок – Удалить комментарий</span>).</p> <p classMsoNormalCxSpLast«>При удалении комментария, если перед строкой установлено несколько признаков комментария, удаляется только один.</p> <a idTI000000940» classbookmark» nameissogl4_27.2.1.4.3_вставка_удаление_переноса_строки«><h5>27.2.1.4.3. Вставка/удаление переноса строки</h5></a> <p classMsoNormalCxSpFirst«>При написании значения строковых констант для переноса строки используется символ «<span classInterface«>|</span>».</p> <p classMsoNormalCxSpMiddle«>Текстовый редактор позволяет легко добавлять или удалять этот символ в предварительно выделенные строки.</p> <p classMsoNormalCxSpMiddle«>Для вставки/удаления символа переноса у всех строк выделенного блока или текущей строки (ее выделять не обязательно) нужно указать область и выбрать пункт <span classInterface«>Текст – Блок – Добавить перенос строки</span> для вставки и <span classInterface«>Текст – Блок – Удалить перенос строки</span> для удаления.</p> <p classMsoNormalCxSpLast«>Символ переноса вставляется в первую значимую (не пробел и не знак табуляции) позицию каждой строки.</p> <a name_ref373336579«></a><a idTI000000941» classbookmark» nameissogl3_27.2.1.5_переход_по_процедурам_и_функциям_модуля«><h4>27.2.1.5. Переход по процедурам и функциям модуля</h4></a> <p classMsoNormal«>При значительном количестве имеющихся в модуле описаний процедур и функций удобно использовать режим поиска процедур, который предоставляет редактор текстов системы «1С:Предприятие».</p> <p classRegularbeforepicture«>Если воспользоваться командой <span classInterface«>Текст – Процедуры и функции</span>, то на экран будет выдано окно, содержащее список всех процедур и функций редактируемого модуля.</p> <p classPicture«><IMG src_img/img00499.gif?_=1496848987» WIDTH391» ALT HEIGHT291«></p> <p classMsoCaption«>Рис. 491. Список процедур и функций</p> <p classMsoNormalCxSpFirst«>Имена процедур и функций в списке выдаются в порядке их расположения в модуле. Если установлен флажок <span classInterface«>Сортировка</span>, список будет отсортирован по алфавиту.</p> <p classMsoNormalCxSpMiddle«>Имена процедур и функций, уже расположенных в форме, имеют пиктограмму слева от наименования.</p> <p classMsoNormalCxSpMiddle«>Для перехода к нужной процедуре или функции необходимо выделить ее имя в списке и нажать кнопку <span classInterface«>Перейти</span>.</p> <p classMsoNormalCxSpLast«>В списке процедур и функций в угловых скобках показываются наименования событий, процедура-обработчик которых еще не создана. Созданные процедуры и функции имеют перед наименованием пиктограмму (<span classInterface«>P()</span> и <span classInterface«>F(х)</span> соответственно). Состав событий, которые могут быть обработаны, определяются типом объекта и видом формы, а также составом элементов управления, расположенных в форме. При выборе такой строки в модуль добавляется текст предопределенной процедуры, а в соответствующее событие категории <span classInterface«>События</span> – ссылка на эту процедуру.</p> <p classNote«><span classNote«>ВНИМАНИЕ!</span> Создание процедур-обработчиков событий, определенных системой для данного модуля, необходимо выполнять в палитре свойств для формы в категории свойств <span classInterface«>События</span>, или с помощью окна <span classInterface«>Процедуры и функции</span>, или из поля списка <span classInterface«>Процедуры и функции</span>. При простом копировании процедур-обработчиков событий из других модулей обработчики событий для формы не будут инициированы системой, и скопированные процедуры не будут вызываться для обработки событий.</p> <p classMsoNormal«>При перемещении указателя в строку модуля наименование текущей процедуры или функции показывается в поле выбора процедуры панели инструментов <span classInterface«>Модуль</span> (команда <span classInterface«>Процедуры и функции</span>). С помощью этого списка можно также перейти к нужной процедуре или функции.</p> <p classRegularbeforepicture«>Для перехода к процедуре, функции и переменным достаточно указать мышью их наименование и нажать клавишу <span classInterface«>F12</span>. Переход возможен только для процедур, функций и переменных, расположенных в данном модуле, или к экспортируемым процедурам, функциям и переменным модуля приложения, общих модулей и модулей объектов. Для того чтобы вернуться к точке, из которой был осуществлен переход к определению, необходимо нажать сочетание клавиш <span classInterface«>Ctrl+ &quot;-&quot;</span> (рядом с клавишей &quot;<span classInterface«>=</span>&quot;).</p> <p classPicture«><IMG src_img/img00500.gif?_=1496848987» WIDTH760» ALT HEIGHT376«></p> <p classMsoCaption«>Рис. 492. Перейти к определению</p> <p classMsoNormalCxSpFirst«>Если записанное выражение состоит из частей, определенных в разных местах конфигурации, перед переходом на экран будет выведен список таких объектов для выбора перехода. Переход может осуществляться к определению переменной, определению объекта метаданных, тип которого имеет текущее выражение, или определению процедуры или функции, используемой в выражении (например, в модуле объекта, тип которого имеет выражение).</p> <p classMsoNormalCxSpLast«>Например, для выражения <span classTerm«>Спр.НайтиПоКоду()</span>, где <span classTerm«>Спр</span> определен как справочник <span classTerm«>Валюты</span>, при нажатии клавиши <span classInterface«>F12</span> будет выведен список перехода к определению переменной <span classTerm«>Спр</span> и определению объекта метаданных <span classInterface«>Справочники – Валюты</span> в дереве объектов конфигурации.</p> <p classRegularbeforepicture«>Существует возможность выполнить поиск мест использования переменной, процедуры или функции. Поиск будет выполняться по всей конфигурации. Для выполнения такого поиска следует поместить курсор «внутрь» того имени, использование которого нужно найти, и вызвать команду контекстного меню редактора текстов <span classInterface«>Найти использование</span> (или нажать сочетание клавиш <span classInterface«>Alt+F12</span>).</p> <p classPicture«><IMG src_img/img00501.gif?_=1496848987» WIDTH800» ALT HEIGHT290«></p> <p classMsoCaption«>Рис. 493. Найти использование</p> <p classMsoNormalCxSpFirst«>После выполнения поиска открывается окно с результатами поиска. Из этого окна можно перейти в соответствующий модуль с помощью двойного щелчка мышью по требуемой строке.</p> <p classMsoNormalCxSpLast«>Первый символ в результатах поиска описывает достоверность определения каждого найденного использования. Символ «<span classInterface«>i</span>» означает, что использование определено полностью и однозначно, а символ &quot;<span classInterface«>!</span>&quot; означает, что использование переменной, процедуры или функции определено не четко.<a name_ref349150912«></a></p> <a name_ref371695051«></a><a idTI000000942» classbookmark» nameissogl3_27.2.1.6_контекстная_подсказка_при_вводе_текстов_модулей«><h4>27.2.1.6. Контекстная подсказка при вводе текстов модулей</h4></a> <p classMsoNormalCxSpFirst«>Текстовый редактор системы «1С:Предприятие» предоставляет средство контекстного ввода выражений с использованием системных объектов, их свойств, методов, процедур и функций, наименований объектов, определенных в конфигурации, а также переменных, процедур и функций, определенных в общих модулях, модулях прикладных объектов и модулях форм. В список включаются предопределенные элементы справочников, планов счетов, планов видов характеристик и планов видов расчетов.</p> <p classMsoNormalCxSpLast«>В список контекстной подсказки могут быть включены шаблоны текстов и ключевые слова.</p> <p classNote«><span classNote«>Примечание.</span> Контекстная подсказка текста не поддерживается системой для текстовых документов с установленным свойством <span classInterface«>Встроенный язык</span>.</p> <p classMsoNormalCxSpFirst«>Ввод осуществляется из списка, который выводится в виде контекстного меню в месте текущего расположения курсора (с учетом близости границ экрана).</p> <p classMsoNormalCxSpMiddle«>Список вызывается нажатием комбинации клавиш <span classInterface«>Ctrl + &lt;клавиша Пробел&gt;</span> на любой стадии набора выражения или автоматически после ввода символа «<span classInterface«>.</span>» после выражения, представляющего собой объект, имеющий свойства и/или методы (при разрешенном вызове контекстной подсказки – см. <A href/db/content/v8310doc/src/руководство разработчика/глава 33. сервисные возможности.htm?_=1496848987#_ref217356805«>здесь</a>).</p> <p classMsoNormalCxSpMiddle«>Состав списка зависит от контекста выполнения программного модуля (см. раздел «Общее описание языка» справки по встроенному языку) и предварительно введенного текста.</p> <p classMsoNormalCxSpMiddle«>На начальном этапе, когда текст еще не введен или введены только начальные символы выражения, состав списка определяется контекстом выполнения.</p> <p classMsoNormalCxSpMiddle«>Список представлен в виде строк текста, отсортированных по алфавиту.</p> <p classMsoNormalCxSpMiddle«>Если при открытии списка был введен фрагмент текста, то список позиционируется на первой строке, наименование которой максимально включает набранный или выделенный текст (от начала наименования). Если набранный текст не содержится в строках списка, то список позиционируется на строке, в которой максимально представлен набранный текст.</p> <p classMsoNormalCxSpMiddle«>При открытом списке можно продолжить набор текста. В этом случае список будет последовательно позиционироваться на строках, совпадающих с набираемым текстом.</p> <p classMsoNormalCxSpLast«>Список можно просмотреть стандартным способом. При нажатии клавиши <span classInterface«>Enter</span> содержимое выбранной строки переносится в модуль, заменяя выделенный или набранный текст.</p> <p classNote«><span classNote«>Примечание.</span> При переносе текста в модуль не вставляются параметры методов и используется контекст клиентского приложения.</p> <p classRegularbeforetable«>В левой части строк имеются пиктограммы, показывающие вид объекта и тип места его расположения. </p> <table classMsoNormalTable» border0» cellspacing0» cellpadding0«> <tr> <td valigntop«> <p classMsoNormalCxSpFirst«><b>Пиктограмма</b></p> </td> <td valigntop«> <p classMsoNormalCxSpMiddle«><b>Объект</b></p> </td> </tr> <tr> <td valigntop«> <p classMsoNormalCxSpLast«>черта (черная)</p> </td> <td valigntop«> <p classMsoListBulletCxSpFirst«>● Свойства глобального контекста,</p> <p classMsoListBulletCxSpMiddle«>● Системные наборы значений,</p> <p classMsoListBulletCxSpLast«>● Перечисления</p> </td> </tr> <tr> <td valigntop«> <p classMsoNormalCxSpMiddle«>черта (зеленая)</p> <p classMsoNormalCxSpLast«> </p> </td> <td valigntop«> <p classMsoListBulletCxSpFirst«>● Свойства объектов универсальных коллекций значений,</p> <p classMsoListBulletCxSpMiddle«>● Свойства интерфейсных объектов,</p> <p classMsoListBulletCxSpMiddle«>● Реквизиты прикладного объекта,</p> <p classMsoListBulletCxSpLast«>● Предопределенные элементы</p> </td> </tr> <tr> <td valigntop«> <p classMsoNormalCxSpMiddle«>черта (синяя)</p> </td> <td valigntop«> <p classMsoNormalCxSpMiddle«>Экспортируемые переменные модулей</p> </td> </tr> <tr> <td valigntop«> <p classMsoNormalCxSpMiddle«>черта (красная)</p> </td> <td valigntop«> <p classMsoNormalCxSpMiddle«>Локальные переменные модуля</p> </td> </tr> <tr> <td valigntop«> <p classMsoNormalCxSpMiddle«>Р() (черная)</p> </td> <td valigntop«> <p classMsoNormalCxSpMiddle«>Процедуры глобального контекста</p> </td> </tr> <tr> <td valigntop«> <p classMsoNormalCxSpMiddle«>Р() (зеленая)</p> </td> <td valigntop«> <p classMsoNormalCxSpMiddle«>Процедуры интерфейсных и прикладных объектов</p> </td> </tr> <tr> <td valigntop«> <p classMsoNormalCxSpMiddle«>Р() (синяя)</p> </td> <td valigntop«> <p classMsoNormalCxSpMiddle«>Экспортируемые процедуры других модулей</p> </td> </tr> <tr> <td valigntop«> <p classMsoNormalCxSpMiddle«>Р() (красная)</p> </td> <td valigntop«> <p classMsoNormalCxSpMiddle«>Локальные процедуры модуля</p> </td> </tr> <tr> <td valigntop«> <p classMsoNormalCxSpMiddle«>F() (черная)</p> </td> <td valigntop«> <p classMsoNormalCxSpMiddle«>Функции глобального контекста</p> </td> </tr> <tr> <td valigntop«> <p classMsoNormalCxSpMiddle«>F() (зеленая)</p> </td> <td valigntop«> <p classMsoNormalCxSpMiddle«>Функции интерфейсных объектов и прикладных объектов</p> </td> </tr> <tr> <td valigntop«> <p classMsoNormalCxSpMiddle«>F() (синяя)</p> </td> <td valigntop«> <p classMsoNormalCxSpMiddle«>Экспортируемые функции других модулей</p> </td> </tr> <tr> <td valigntop«> <p classMsoNormalCxSpMiddle«>F() (красная)</p> </td> <td valigntop«> <p classMsoNormalCxSpMiddle«>Локальные функции модуля</p> </td> </tr> <tr> <td valigntop«> <p classMsoNormalCxSpMiddle«>Цветные<br> строки</p> </td> <td valigntop«> <p classMsoNormalCxSpMiddle«>Ключевые слова (<span classTerm«>Если</span>, <span classTerm«>Цикл</span>, <span classTerm«>Попытка</span> и др.)</p> </td> </tr> <tr> <td valigntop«> <p classMsoNormalCxSpMiddle«>Картинка<br> шаблонов</p> </td> <td valigntop«> <p classMsoNormalCxSpMiddle«>Шаблон текста</p> </td> </tr> </table> <p classMsoNormalCxSpMiddle«>Шаблон текста включается в список только в том случае, если в нем определена строка автозамены.</p> <p classMsoNormalCxSpMiddle«>Если в результате набора или после выбора из списка текст будет представлять выражение, имеющее свойства или методы, то после ввода символа «<span classInterface«>.</span>» на экран автоматически будет выведен список, содержащий возможный набор свойств и методов, предоставляемых данным выражением.</p> <p classMsoNormalCxSpMiddle«>Например, при вводе текста «<span classInterface«>Справочники.</span>» выводится список, содержащий наименования всех справочников, описанных в данной конфигурации. После выбора конкретного справочника и ввода символа «<span classInterface«>.</span>» на экран снова будет выведен список, но, в отличие от предыдущего, в нем будут содержаться наименования процедур и функций работы со справочником, а также предопределенные элементы справочника. При выборе метода, возвращающего значение некоторого типа, также имеющего свойства и методы, контекстный ввод может быть продолжен (нужно в конце наименования ввести открывающую и закрывающую скобки). Список контекстной подсказки содержит только возможный набор, определяемый типом введенного выражения.</p> <p classMsoNormalCxSpLast«>Для переменных модулей также можно использовать механизм контекстной подсказки. При использовании объявления переменных следует помнить о следующей особенности: для того, чтобы явно объявленные переменные попадали в контекстную подсказку, каждая переменная доллжна быть оформлена «своим» оператором <span classTerm«>Перем</span> (см. <A href/db/content/v8310doc/src/руководство разработчика/глава 4. встроенный язык.htm?_=1496848987#_ref395796162«>здесь</a>). В противном случае контекстная подсказка будет отображать только первую переменную из каждого оператора <span classTerm«>Перем</span>. В следующем примере будут отображаться все объявленные переменные:</p> <a classcopy_source» href#_top» onClickreturn false«>Копировать в буфер обмена</a> <pre classsrc_res«> Перем ИмяМакета; Перем СкрыватьСкидку; Перем СальдоВзаиморасчетов; </pre> <p classMsoNormal«>В следующем примере контекстная подсказка будет отображать только одну переменную: <span classTerm«>ИмяМакета</span>:</p> <a classcopy_source» href#_top» onClickreturn false«>Копировать в буфер обмена</a> <pre classsrc_res«>Перем ИмяМакета, СкрыватьСкидку, СальдоВзаиморасчетов;</pre> <p classMsoNormalCxSpFirst«>Контекстная подсказка может использоваться при вводе оператора <span classTerm«>Новый</span>, а также для переменных, созданных с помощью оператора <span classTerm«>Новый</span>.</p> <p classMsoNormalCxSpMiddle«>Контекстная подсказка может использоваться при вводе различных ключевых слов (например, <span classTerm«>Если</span>, <span classTerm«>Для</span>, <span classTerm«>Цикл</span> и др.). Ключевые слова входят в список, вызываемый стандартным образом нажатием комбинации клавиш <span classInterface«>Ctrl + &lt;клавиша Пробел&gt;</span> на любой стадии набора слова.</p> <p classMsoNormalCxSpMiddle«>Показ в списке ключевых слов можно настроить (см. <A href/db/content/v8310doc/src/руководство разработчика/глава 33. сервисные возможности.htm?_=1496848987#_ref217356805«>здесь</a>).</p> <p classMsoNormalCxSpLast«>Если для какой-либо переменной или метода список состоит только из одной строчки, то нажатие комбинации клавиш <span classInterface«>Ctrl + &lt;клавиша Пробел&gt;</span> приводит к непосредственной вставке этой строки.</p> <p classRegularbeforepicture«>Контекстная подсказка также позволяет отображать перечень параметров какого-либо метода и его тип. Параметры отображаются как для объектов глобального контекста и объектов встроенного языка, так и для методов прикладного решения, описание которых соответствует определенным требованиям. Для операторов встроенного языка контекстная подсказка по параметрам не отображается. Отображение параметров начинается после ввода символов &quot;<span classInterface«>(</span>&quot; или &quot;<span classInterface«>,</span>&quot; (можно настроить, подробнее см. <A href/db/content/v8310doc/src/руководство разработчика/глава 33. сервисные возможности.htm?_=1496848987#_ref217356805«>здесь</a>) или после нажатия комбинации клавиш <span classInterface«>Ctrl + Shift + &lt;клавиша Пробел&gt;</span>, если она нажата после символа &quot;<span classInterface«>(</span>&quot; вызова процедуры или функции.</p> <p classPicture«><IMG src_img/img00502.gif?_=1496848987» WIDTH735» ALT HEIGHT222«></p> <p classMsoCaption«>Рис. 494. Контекстная подсказка параметров</p> <p classRegularbeforepicture«>Если у метода есть несколько вариантов синтаксиса, то будет отображен первый по порядку вариант. Однако перед описанием синтаксиса будут присутствовать стрелки вверх и вниз, с помощью которых можно переключаться между различными вариантами. Переключаться можно также с помощью клавиш <span classInterface«>Ctrl + &lt;Стрелка вверх&gt;</span> и <span classInterface«>Ctrl + &lt;Стрелка вниз&gt;</span>.</p> <p classPicture«><IMG src_img/img00503.gif?_=1496848987» WIDTH503» ALT HEIGHT168«></p> <p classMsoCaption«>Рис. 495. Несколько вариантов синтаксиса в контекстной подсказке параметров</p> <p classMsoNormalCxSpFirst«>Под описанием параметра отображается тип значения, которое можно передавать в этот параметр. Если значение может быть нескольких типов, эти типы будут перечислены через запятую. Имя типа является гиперссылкой, нажатие на которую приведет к открытию синтакс-помощника (см. <A href/db/content/v8310doc/src/руководство разработчика/глава 33. сервисные возможности.htm?_=1496848987#_ref223167849«>здесь</a>) с информацией о типе. Контекстная подсказка параметров закрывается после ввода символа &quot;<span classInterface«>)</span>&quot; или нажатия клавиши <span classInterface«>Esc</span> при открытом окне контекстной подсказки параметров.</p> <p classMsoNormalCxSpLast«>Для того чтобы контекстная подсказка показывала описание параметров и их типы для методов прикладного решения, перед началом метода должен располагаться комментарий, выполненный по определенным правилам. В общем случае, описание процедуры или функции состоит из следующих секций:</p> <p classMsoListBulletCxSpFirst«>● секция <span classInterface«>Описание</span> – содержит краткое описание назначения и/или принципов работы процедуры или функции, может быть единственной секцией для функций без параметров;</p> <p classMsoListBulletCxSpMiddle«>● секция <span classInterface«>Параметры</span> – описывает параметры процедуры или функции. Если параметров нет – секция пропускается;</p> <p classMsoListBulletCxSpMiddle«>● секция <span classInterface«>Возвращаемое значение</span> – описывает тип и содержание возвращаемого значения функции. Для процедур эта секция отсутствует;</p> <p classMsoListBulletCxSpLast«>● секция <span classInterface«>Пример</span> – содержит пример использования процедуры или функции.</p> <p classMsoNormal«>Общий формат комментария следующий:</p> <a classcopy_source» href#_top» onClickreturn false«>Копировать в буфер обмена</a> <pre classsrc_res«> &lt;Комментарий&gt; = [&lt;СекцияЗаголовка&gt;] [&lt;СекцияПараметров&gt;] [&lt;СекцияВозвращаемогоЗначения&gt;] [&lt;СекцияПримера&gt;] &lt;НоваяСтрока&gt; = Начало строки модуля &lt;Имя&gt; = Идентификатор встроенного языка &lt;Тип&gt; = &lt;Имя&gt; | &lt;Имя&gt;&quot;.&quot;&lt;Имя&gt; &lt;СписокТипов&gt; = &lt;Тип&gt;{&quot;,&quot;&lt;Тип&gt;} &lt;СтрокаТекста&gt; = Произвольный текст без перевода на другую строку &lt;Текст&gt; = &lt;СтрокаТекста&gt; {&lt;НоваяСтрока&gt; &lt;СтрокаТекста&gt;} &lt;СекцияЗаголовка&gt; = [&lt;Текст&gt;] &lt;СекцияПараметров&gt; = &lt;НоваяСтрока&gt; (&quot;Параметры:&quot; | &quot;Parameters:&quot;) {&lt;ОписаниеПараметра&gt; {&lt;ОписаниеТипа&gt;} } &lt;ОписаниеПараметра&gt; = &lt;НоваяСтрока&gt; &lt;Имя&gt; [&quot;-&quot; &lt;СписокТипов&gt;] &quot;-&quot; [&lt;Текст&gt;] &lt;ОписаниеТипа&gt; = &lt;НоваяСтрока&gt; &quot;-&quot; &lt;СписокТипов&gt;] &quot;-&quot; [&lt;Текст&gt;] &lt;СекцияВозвращаемогоЗначения&gt; = &lt;НоваяСтрока&gt; (&quot;Возвращаемое значение:&quot; | &quot;Returns:&quot;) &lt;ОписаниеЗначения&gt; &lt;ОписаниеЗначения&gt; = &lt;НоваяСтрока&gt; [&lt;СписокТипов&gt; &quot;-&quot;] [&lt;Текст&gt;] &lt;СекцияПримера&gt; = &lt;НоваяСтрока&gt; (&quot;Пример:&quot; | &quot;Sample:&quot;) &lt;НоваяСтрока&gt; &lt;Текст&gt; </pre> <p classRegularbeforepicture«>В результате, комментарий перед началом процедуры или функции, оформленный в соответствии с описанным форматом, приведет к тому, что контекстная подсказка параметров методов будет адекватно показывать подсказку для метода прикладного решения.</p> <p classPicture«><IMG src_img/img00504.gif?_=1496848987» WIDTH800» ALT HEIGHT235«></p> <p classMsoCaption«>Рис. 496. Контекстная подсказка параметров методов прикладного решения</p> <p classMsoNormal«>Таким образом, механизм контекстной подсказки текстового редактора системы «1С:Предприятие» предоставляет способ быстрого и правильного набора текстов модулей.</p> <a name_ref371683520«></a><a idTI000001308» classbookmark» nameissogl3_27.2.1.7_средства_рефакторинга«><h4>27.2.1.7. Средства рефакторинга</h4></a> <a idTI000001832» classbookmark» nameissogl4_27.2.1.7.1_общая_информация«><h5>27.2.1.7.1. Общая информация</h5></a> <p classMsoNormalCxSpFirst«><span classBold«>Рефакторинг</span> – процесс переработки кода на встроенном языке с целью добиться улучшения читаемости кода и общей внутренней структуры при полном и точном сохранении изначального смысла и поведения. Конфигуратор предлагает несколько встроенных инструментов, которые могут помочь при проведении рефакторинга прикладного решения. Доступ к этим инструментам выполняется с помощью подменю <span classInterface«>Рефакторинг</span> контекстного меню редактора текста встроенного языка или с помощью одноименного подменю меню <span classInterface«>Текст</span> главного меню конфигуратора.</p> <p classMsoNormalCxSpLast«>Далее средства рефакторинга будут рассмотрены более подробно. В этом рассмотрении будут использоваться следующие термины:</p> <p classMsoListBulletCxSpFirst«><span classBold«>Блок</span> – множество строк между ключевыми словами <span classTerm«>Тогда</span><span classTerm«>КонецЕсли</span>, <span classTerm«>Тогда</span><span classTerm«>Иначе</span>, <span classTerm«>Тогда</span><span classTerm«>ИначеЕсли</span>, <span classTerm«>Цикл</span><span classTerm«>КонецЦикла</span>, <span classTerm«>Попытка</span><span classTerm«>Исключение</span>, <span classTerm«>Исключение</span><span classTerm«>КонецПопытки</span>, <span classTerm«>Процедура</span><span classTerm«>КонецПроцедуры</span>, <span classTerm«>Функция</span><span classTerm«>КонецФункции</span>;</p> <p classMsoListBulletCxSpLast«><span classBold«>Терминальный вызов</span> – вызов, являющийся последней выполняемой инструкцией метода встроенного языка:</p> <p classMsoListBullet2CxSpFirst«>● Располагается перед ключевым словом <span classTerm«>КонецПроцедуры</span>, <span classTerm«>КонецФункции</span> или <span classTerm«>Возврат</span>;</p> <p classMsoListBullet2CxSpLast«>● Является последним в рекурсивно-последнем блоке инструкций метода.</p> <p classMsoListBullet«><span classBold«>Асинхронный метод</span> – метод, который может использоваться в цепочках вызовов с использованием обработчиков оповещений.</p> <a name_ref373334311«></a><a idTI000001309» classbookmark» nameissogl4_27.2.1.7.2_выделить_фрагмент«><h5>27.2.1.7.2. Выделить фрагмент</h5></a> <p classMsoNormalCxSpFirst«>Данная команда преобразует выделенный, синтаксически целостный, фрагмент кода в отдельную процедуру или функцию. Тип выделяемого фрагмента зависит от итоговых областей видимости переменных родительского метода и структуры фрагмента.</p> <p classMsoNormalCxSpMiddle«>В том случае, когда выделенный фрагмент может выступать источником в операторе присваивания (см. <A href/db/content/v8310doc/src/руководство разработчика/глава 4. встроенный язык.htm?_=1496848987#_ref371692195«>здесь</a>), фрагмент будет выделен как функция. Так же в функцию выделяется фрагмент, в котором инициализируется единственная переменная, которая используется в оставшейся части родительского метода. В остальных случаях фрагмент выделяется в процедуру.</p> <p classMsoNormalCxSpMiddle«>В случае использования переменных выделяемого фрагмента в оставшейся части родительского метода, эти переменные передаются выделяемому методу в виде параметров, с их предварительной инициализацией или объявлением (при наличии такой необходимости).</p> <p classMsoNormalCxSpMiddle«>Если родительский метод (<span classBold«>из</span> которого выделяется фрагмент) предваряется какой-либо директивой компиляции (см. <A href/db/content/v8310doc/src/руководство разработчика/глава 4. встроенный язык.htm?_=1496848987#_ref371693648«>здесь</a>), то выделяемый метод также будет предваряться точно такой же директивой компиляции.</p> <p classMsoNormalCxSpLast«>Код нового метода размешается сразу после кода родительского метода (из которого выделяется фрагмент) и соответствующим образом форматируется (см. <a href#_ref401225227«>здесь</a>).</p> <a name_ref420333675«></a><a idTI000001310» classbookmark» nameissogl4_27.2.1.7.3_переименовать«><h5>27.2.1.7.3. Переименовать</h5></a> <p classMsoNormalCxSpFirst«>Данная команда предназначена для изменения имени переменной или метода. Если обращение к экспортной переименуемой переменной или методу нельзя определить однозначно, то переименование не выполняется и выводится список использования переменной или метода.</p> <p classMsoNormalCxSpMiddle«>Для экспортных переменных и методов модуля формы производится анализ уникальности идентификатора в рамках всей конфигурации и отсутствия синонимов среди методов и свойств объектов платформы. В случае выполнения этого условия пользователю предлагается возможность глобальной замены идентификатора во всех местах его возможного использования.</p> <p classMsoNormalCxSpMiddle«>Переименование параметра метода не приводит к изменению имени этого параметра в комментариях, включая и описание метода (созданное любым образом).</p> <p classMsoNormalCxSpLast«>В случае переименования методов выполняется дополнительная проверка передачи их имени в качестве строкового литерала:</p> <p classMsoListBullet«>● в конструкторы объектов:</p> <p classMsoListBullet2CxSpFirst«><span classTerm«>Действие</span>;</p> <p classMsoListBullet2CxSpLast«><span classTerm«>ОписаниеОповещения</span>.</p> <p classMsoListBullet«>● методы глобального контекста:</p> <p classMsoListBullet2CxSpFirst«><span classTerm«>УстановитьДействие()</span>;</p> <p classMsoListBullet2CxSpMiddle«><span classTerm«>ПодключитьОбработчикИзмененияДанных()</span>;</p> <p classMsoListBullet2CxSpMiddle«><span classTerm«>ОтключитьОбработчикОжидания()</span>;</p> <p classMsoListBullet2CxSpMiddle«><span classTerm«>ПодключитьОбработчикОжидания()</span>;</p> <p classMsoListBullet2CxSpLast«><span classTerm«>ПодключитьОбработчикОповещения()</span>.</p> <p classMsoNormal«>Переименование метода-обработчика в модуле формы приводит к автоматически замене ссылки на переименуемый обработчик в соответствующих свойствах элементов формы и командах. Когда выполняется переименование метода-обработчика из палитры свойств элемента формы или команды – автоматически переименовываются все вызовы данного обработчика из программного кода (если таковые встречаются).</p> <a idTI000001311» classbookmark» nameissogl4_27.2.1.7.4_создать_описание_метода«><h5>27.2.1.7.4. Создать описание метода</h5></a> <p classMsoNormal«>Команда создает перед объявлением метода комментарий, который будет использоваться для контекстной подсказки при вводе текста модулей (см. <a href#_ref371695051«>здесь</a>).</p> <a idTI000001339» classbookmark» nameissogl4_27.2.1.7.5_создать_обработку_оповещения«><h5>27.2.1.7.5. Создать обработку оповещения</h5></a> <p classMsoNormal«>Данная команда предназначена для упрощения применения асинхронных методов встроенного языка (см. <A href/db/content/v8310doc/src/руководство разработчика/глава 4. встроенный язык.htm?_=1496848987#_ref405477267«>здесь</a>). Команда становится доступной после того, как введено имя метода и открывающая круглая скобка (курсор должен располагаться на имени метода). Дальнейшее поведение команды эквивалентно поведению команды рефакторинга <span classInterface«>Преобразовать вызов</span>, за исключением переименования метода, к которому применена команда рефакторинга. Если метод уже содержит передачу объекта типа <span classTerm«>ОписаниеОповещения</span>, то перед продолжением работы пользователю предлагается подтвердить выполнение команды.</p> <a name_ref400540074«></a><a idTI000001320» classbookmark» nameissogl4_27.2.1.7.6_работа_с_нерекомендуемыми_синхронными_вызовами«><h5>27.2.1.7.6. Работа с нерекомендуемыми синхронными вызовами</h5></a> <a idTI000001833» classbookmark» nameissogl5_общая_информация«><h6>Общая информация</h6></a> <p classMsoNormal«>Данный раздел описывает команды рефакторинга, которые помогают при переработке кода прикладного решения для использования асинхронных вызовов взамен синхронных вызовов (см. <A href/db/content/v8310doc/src/руководство разработчика/глава 4. встроенный язык.htm?_=1496848987#_ref400551070«>здесь</a>).</p> <a name_ref373246646«></a><a idTI000001312» classbookmark» nameissogl5_преобразовать_вызов«><h6>Преобразовать вызов</h6></a> <p classMsoNormalCxSpFirst«>Команда заменяет тривиальные и простые случаи использования синхронных методов на их асинхронные аналоги (см. <A href/db/content/v8310doc/src/руководство разработчика/глава 4. встроенный язык.htm?_=1496848987#_ref400551070«>здесь</a>).</p> <p classMsoNormalCxSpLast«><span classBold«>Тривиальным</span> считается случай, преобразование которого затрагивает только один метод и не требует операций, отличных от выделения фрагмента. При наличии следующих признаков, использование модального вызова считается тривиальным:</p> <p classMsoListNumberCxSpFirst«>1. Вызов расположен в процедуре, не вызываемой из других процедур и функций, за исключением рекурсивно-терминальных вызовов. При анализе на терминальность допустима неопределенность принадлежности вызывающих методов. Если данный признак не наблюдается, то случай может быть простым или требовать преобразование в асинхронную процедуру (см. <a href#_ref373333924«>здесь</a>).</p> <p classMsoListNumberCxSpMiddle«>2. Вызов расположен вне блоков цикла, за исключением случая инструкций <span classTerm«>Прервать</span> или <span classTerm«>Возврат</span>, следующих на том же уровне вложенности.</p> <p classMsoListNumberCxSpMiddle«>3. Вызов расположен вне блоков перехвата исключения.</p> <p classMsoListNumberCxSpMiddle«>4. Уровень вложенности модального вызова не превышает 2, за исключением рекурсивно-последних инструкций блока. Уровень вложенности модального вызова можно уменьшить с помощью команды выделения фрагмента (см. <a href#_ref373334311«>здесь</a>). Если выделяемый фрагмент содержит оператор <span classTerm«>Возврат</span>, то для выделения такого фрагмента следует использовать команду выделения фрагмента в асинхронную процедуру (см. <a href#_ref373334775«>здесь</a>).</p> <p classMsoListNumberCxSpLast«>5. Параметры процедуры не изменяются после вызова модального диалога – ни в самой процедуре, ни в одном из вложенных вызовов.</p> <p classMsoNormalCxSpFirst«><span classBold«>Простым</span> считается случай, не удовлетворяющий только первому условию тривиальности и, требующий дополнительно только преобразование процедуры или функции, содержащей синхронный вызов в асинхронный вид. При обнаружении такого синхронного вызова, и если такое преобразование возможно, система автоматически предлагает выполнить преобразование в асинхронную процедуру (см. <a href#_ref373334775«>здесь</a>).</p> <p classMsoNormalCxSpLast«>Результатом преобразования являются:</p> <p classMsoListBulletCxSpFirst«>● Исходная процедура с заменой синхронного вызова на асинхронный вызов;</p> <p classMsoListBulletCxSpMiddle«>● Процедура обработки оповещения. Если синхронный вызов являлся последней инструкцией родительского блока – решение о создании пустой процедуры принимает пользователь</p> <p classMsoListBulletCxSpLast«>● Фрагмент-окончание – общий для исходной процедуры и процедуры обработки оповещения код, в случае, когда вызов синхронного метода не входит в единственную последовательность выполнения кода.</p> <p classMsoNormal«>Если случай не соответствует одному или нескольким требованиям, пользователю предоставляется возможность выполнить частичное преобразование: максимальный синтаксически-корректный фрагмент кода будет выделен в процедуру обработки оповещения, и после вызова асинхронного метода будет вызвано исключение. В код модуля будет так же добавлен комментарий с описанием причин несоответствия.</p> <a name_ref373333924«></a><a idTI000001313» classbookmark» nameissogl5_преобразовать_в_асинхронную_процедуру«><h6>Преобразовать в асинхронную процедуру</h6></a> <p classMsoNormalCxSpFirst«>Команда используется для преобразования метода к виду, который допускает использование метода в асинхронных вызовах. Преобразование затрагивает все уже существующие последовательности вызовов с участием выбранного метода, однако методы, которые вызываются из преобразуемого метода, не подвергаются преобразованию. Данную команду следует применять в тех случаях, когда необходимо преобразовать модальный вызовы (один или несколько) внутри функции или процедуры, вызываемой из других методов. После выполнения данной команды будет необходимо преобразовать модальный вызов в его блокирующий аналог с помощью команды преобразования модального вызова (см. <a href#_ref373246646«>здесь</a>).</p> <p classMsoNormalCxSpMiddle«>Преобразование методов, изменяющих свои ссылочные параметры, не поддерживается в целях предотвращения труднодиагностируемых логических ошибок. Также не поддерживается преобразование последовательностей вызовов, содержащих непосредственный вызов процедур обработки событий форм и объектов метаданных в связи со строго фиксированным списком их формальных параметров. Если преобразование затрагивает несколько модулей – от пользователя требуется дополнительное подтверждение.</p> <p classMsoNormalCxSpLast«>Рассмотрим пример преобразования вызова в асинхронный вид.</p> <p classNote«><span classNote«>Примечание.</span> Данный пример служит исключительно для демонстрации процесса преобразования и не является примером выполнения каких-либо действий.</p> <p classMsoNormal«>Допустим, в модуле формы имеется следующая цепочка вызовов:</p> <a classcopy_source» href#_top» onClickreturn false«>Копировать в буфер обмена</a> <pre classsrc_dev«><span classpreprocessor«>&amp;НаКлиенте</span> <span classkeyword«>Перем</span> ПроцедураВыполнена<span classoperator«>;</span> <span classpreprocessor«>&amp;НаКлиенте</span> <span classkeyword«>Перем</span> ФункцияВыполнена<span classoperator«>;</span> <span classpreprocessor«>&amp;НаКлиенте</span> <span classkeyword«>Процедура</span> КомандаФормы<span classoperator«>(</span>Команда<span classoperator«>)</span> ПроцедураВыполнена <span classoperator«>=</span> <span classkeyword«>Ложь</span><span classoperator«>;</span> ФункцияВыполнена <span classoperator«>=</span> <span classkeyword«>Ложь</span><span classoperator«>;</span> ВыполнитьПроцедуру<span classoperator«>(</span><span classoperator«>)</span><span classoperator«>;</span> <span classkeyword«>КонецПроцедуры</span> <span classpreprocessor«>&amp;НаКлиенте</span> <span classkeyword«>Процедура</span> ВыполнитьПроцедуру<span classoperator«>(</span><span classoperator«>)</span> Результат <span classoperator«>=</span> ВыполнитьФункцию<span classoperator«>(</span><span classoperator«>)</span><span classoperator«>;</span> ПроцедураВыполнена <span classoperator«>=</span> <span classkeyword«>Истина</span><span classoperator«>;</span> <span classkeyword«>КонецПроцедуры</span> <span classpreprocessor«>&amp;НаКлиенте</span> <span classkeyword«>Функция</span> ВыполнитьФункцию<span classoperator«>(</span><span classoperator«>)</span> ПоказатьДиалог<span classoperator«>(</span><span classoperator«>)</span><span classoperator«>;</span> ФункцияВыполнена <span classoperator«>=</span> <span classkeyword«>Истина</span><span classoperator«>;</span> <span classkeyword«>Возврат</span> <span classkeyword«>Истина</span><span classoperator«>;</span> <span classkeyword«>КонецФункции</span> <span classpreprocessor«>&amp;НаКлиенте</span> <span classkeyword«>Процедура</span> ПоказатьДиалог<span classoperator«>(</span><span classoperator«>)</span> Предупреждение<span classoperator«>(</span><span classstring«>&quot;Предупреждение!&quot;</span><span classoperator«>)</span><span classoperator«>;</span> <span classkeyword«>КонецПроцедуры</span> </pre> <p classMsoNormalCxSpFirst«>Выполнять преобразование следует для метода <span classTerm«>ПоказатьДиалог()</span>.</p> <p classMsoNormalCxSpMiddle«>Цепочка вызовов начинается при вызове из обработчика команды формы (процедура <span classTerm«>КомандаФормы()</span>) процедуры <span classTerm«>Процедура1()</span>. Действия, выполняемые в методах <span classTerm«>ВыполнитьПроцедуру()</span> и <span classTerm«>ВыполнитьФункцию()</span> в данном примере являются демонстрацией наличия некоторого программного кода после вызова другой процедуры.</p> <p classMsoNormalCxSpMiddle«>Цепочка вызовов выглядит следующим образом: <span classTerm«>КомандаФормы()</span> -&gt; <span classTerm«>ВыполнитьПроцедуру()</span> -&gt; <span classTerm«>ВыполнитьФункцию()</span> -&gt; <span classTerm«>ПоказатьДиалог()</span>.</p> <p classMsoNormalCxSpMiddle«>Т.к. в самом «низу» стека вызовов вызывается модальный диалог, то всю цепочку вызовов методов необходимо преобразовать к асинхронному виду. Метод <span classTerm«>Предупреждение()</span> может быть заменен на асинхронный аналог, для других процедур этот аналог будет создаваться системой.</p> <p classMsoNormalCxSpLast«>Выполним преобразование метода <span classTerm«>ПоказатьДиалог()</span> и отказаться от предложения создания пустых обработчиков оповещения. В результате получится следующий программный код:</p> <a classcopy_source» href#_top» onClickreturn false«>Копировать в буфер обмена</a> <pre classsrc_dev«><span classpreprocessor«>&amp;НаКлиенте</span> <span classkeyword«>Перем</span> ПроцедураВыполнена<span classoperator«>;</span> <span classpreprocessor«>&amp;НаКлиенте</span> <span classkeyword«>Перем</span> ФункцияВыполнена<span classoperator«>;</span> <span classpreprocessor«>&amp;НаКлиенте</span> <span classkeyword«>Процедура</span> КомандаФормы<span classoperator«>(</span>Команда<span classoperator«>)</span> ПроцедураВыполнена <span classoperator«>=</span> <span classkeyword«>Ложь</span><span classoperator«>;</span> ФункцияВыполнена <span classoperator«>=</span> <span classkeyword«>Ложь</span><span classoperator«>;</span> ВыполнитьПроцедуру<span classoperator«>(</span><span classkeyword«>Неопределено</span><span classoperator«>)</span><span classoperator«>;</span> <span classkeyword«>КонецПроцедуры</span> <span classpreprocessor«>&amp;НаКлиенте</span> <span classkeyword«>Процедура</span> ВыполнитьПроцедуру<span classoperator«>(</span><span classkeyword«>Знач</span> Оповещение<span classoperator«>)</span> Результат <span classoperator«>=</span> <span classkeyword«>Неопределено</span><span classoperator«>;</span> ВыполнитьФункцию<span classoperator«>(</span><span classkeyword«>Новый</span> ОписаниеОповещения<span classoperator«>(</span><span classstring«>&quot;ВыполнитьПроцедуруЗавершение&quot;</span><span classoperator«>,</span> ЭтотОбъект<span classoperator«>,</span> <span classkeyword«>Новый</span> Структура<span classoperator«>(</span><span classstring«>&quot;Оповещение&quot;</span><span classoperator«>,</span> Оповещение<span classoperator«>)</span><span classoperator«>)</span><span classoperator«>)</span><span classoperator«>;</span> <span classkeyword«>КонецПроцедуры</span> <span classpreprocessor«>&amp;НаКлиенте</span> <span classkeyword«>Процедура</span> ВыполнитьПроцедуруЗавершение<span classoperator«>(</span>Результат1<span classoperator«>,</span> ДополнительныеПараметры<span classoperator«>)</span> <span classkeyword«>Экспорт</span> Оповещение <span classoperator«>=</span> ДополнительныеПараметры<span classoperator«>.</span>Оповещение<span classoperator«>;</span> Результат <span classoperator«>=</span> Результат1<span classoperator«>;</span> ПроцедураВыполнена <span classoperator«>=</span> <span classkeyword«>Истина</span><span classoperator«>;</span> ВыполнитьОбработкуОповещения<span classoperator«>(</span>Оповещение<span classoperator«>)</span><span classoperator«>;</span> <span classkeyword«>КонецПроцедуры</span> <span classpreprocessor«>&amp;НаКлиенте</span> <span classkeyword«>Процедура</span> ВыполнитьФункцию<span classoperator«>(</span><span classkeyword«>Знач</span> Оповещение<span classoperator«>)</span> ПоказатьДиалог<span classoperator«>(</span><span classkeyword«>Новый</span> ОписаниеОповещения<span classoperator«>(</span><span classstring«>&quot;ВыполнитьФункциюЗавершение&quot;</span><span classoperator«>,</span> ЭтотОбъект<span classoperator«>,</span> <span classkeyword«>Новый</span> Структура<span classoperator«>(</span><span classstring«>&quot;Оповещение&quot;</span><span classoperator«>,</span> Оповещение<span classoperator«>)</span><span classoperator«>)</span><span classoperator«>)</span><span classoperator«>;</span> <span classkeyword«>КонецПроцедуры</span> <span classpreprocessor«>&amp;НаКлиенте</span> <span classkeyword«>Процедура</span> ВыполнитьФункциюЗавершение<span classoperator«>(</span>Результат<span classoperator«>,</span> ДополнительныеПараметры<span classoperator«>)</span> <span classkeyword«>Экспорт</span> Оповещение <span classoperator«>=</span> ДополнительныеПараметры<span classoperator«>.</span>Оповещение<span classoperator«>;</span> ФункцияВыполнена <span classoperator«>=</span> <span classkeyword«>Истина</span><span classoperator«>;</span> ВыполнитьОбработкуОповещения<span classoperator«>(</span>Оповещение<span classoperator«>,</span> <span classkeyword«>Истина</span><span classoperator«>)</span><span classoperator«>;</span> <span classkeyword«>Возврат</span><span classoperator«>;</span> <span classkeyword«>КонецПроцедуры</span> <span classpreprocessor«>&amp;НаКлиенте</span> <span classkeyword«>Процедура</span> ПоказатьДиалог<span classoperator«>(</span><span classkeyword«>Знач</span> Оповещение<span classoperator«>)</span> Предупреждение<span classoperator«>(</span><span classstring«>&quot;Предупреждение!&quot;</span><span classoperator«>)</span><span classoperator«>;</span> ВыполнитьОбработкуОповещения<span classoperator«>(</span>Оповещение<span classoperator«>)</span><span classoperator«>;</span> <span classkeyword«>КонецПроцедуры</span> </pre> <p classMsoNormal«>Во время преобразования не был изменен вызов модального вызова <span classTerm«>Предупреждение()</span> в методе <span classTerm«>ПоказатьДиалог()</span>, т. к. замена модального вызова не является задачей описываемой команды. Также стоит отметить, что все преобразуемые методы теперь получают в качестве входного параметра описание оповещения. Теперь цепочка вызовов выглядит следующим образом: <span classTerm«>КомандаФормы()</span> -&gt; <span classTerm«>ВыполнитьПроцедуру()</span> -&gt; <span classTerm«>ВыполнитьФункцию()</span> -&gt; <span classTerm«>ПоказатьДиалог()</span> -&gt; <span classTerm«>ВыполнитьФункциюЗавершение()</span> -&gt; <span classTerm«>ВыполнитьПроцедуруЗавершение()</span>. Вызов методов с суффиксом <span classTerm«>Завершение</span> выполняется с помощью передачи оповещений.</p> <a name_ref373334775«></a><a idTI000001314» classbookmark» nameissogl5_выделить_в_асинхронную_процедуру«><h6>Выделить в асинхронную процедуру</h6></a> <p classMsoNormal«>Данная команда преобразует выделенный, синтаксически целостный, фрагмент кода в отдельную процедуру или функцию, одновременно преобразуя выделяемый метод к асинхронному виду.</p> <a idTI000001317» classbookmark» nameissogl5_найти_вызовы_модуля«><h6>Найти вызовы модуля</h6></a> <p classMsoNormal«>Команда выводит список использования нерекомендуемых синхронных методов в текущем модуле.</p> <a idTI000001315» classbookmark» nameissogl5_преобразовать_вызовы_модуля«><h6>Преобразовать вызовы модуля</h6></a> <p classMsoNormal«>Команда выполняет преобразование всех тривиальных (см. <a href#_ref373246646«>здесь</a>) случаев использования нерекомендуемых синхронных вызовов в их асинхронные версии (см. <A href/db/content/v8310doc/src/руководство разработчика/глава 7. формы.htm?_=1496848987#_ref373246737«>здесь</a>). Преобразование выполняется в рамках текущего модуля.</p> <a name_ref448859736«></a><a idTI000001319» classbookmark» nameissogl5__анализ_нерекомендуемых_синхронных_вызовов_конфигурации«><h6> Анализ нерекомендуемых синхронных вызовов конфигурации</h6></a> <p classMsoNormalCxSpFirst«>С помощью данной команды (<span classInterface«>Главное меню – Конфигурация – Рефакторинг – Анализ нерекомендуемых синхронных вызовов конфигурации</span>) во всей конфигурации выполняется поиск нерекомендуемых синхронных вызовов и анализ возможности их преобразования. Если в каком-то случае преобразование будет невозможно – система укажет причину этой невозможности.</p> <p classMsoNormalCxSpLast«>Во время выполнения анализа нерекомендуемых синхронных вызовов, учитываются следующие особенности прикладного решения:</p> <p classMsoListBulletCxSpFirst«>● Выполняется анализ всех модулей, которые могут исполняться на стороне клиентского приложения.</p> <p classMsoListBulletCxSpLast«>● Не выполняется анализ модулей, которые не могут исполняться на стороне клиентского приложения:</p> <p classMsoListBullet2CxSpFirst«>● модули Web-сервисов;</p> <p classMsoListBullet2CxSpMiddle«>● модули HTTP-сервисов;</p> <p classMsoListBullet2CxSpMiddle«>● общие модули, которые могут исполняться только на стороне сервера;</p> <p classMsoListBullet2CxSpLast«>● общие модули, которые могут исполняться только во внешнем соединении.</p> <p classMsoListBullet«>● Выполняется анализ процедур и функций, которые предваряются следующими директивами компиляции (см. <A href/db/content/v8310doc/src/руководство разработчика/глава 4. встроенный язык.htm?_=1496848987#_ref371693648«>здесь</a>):</p> <p classMsoListBullet2CxSpFirst«><span classTerm«>&amp;НаКлиенте</span>;</p> <p classMsoListBullet2CxSpMiddle«><span classTerm«>&amp;НаКлиентеНаСервере</span>;</p> <p classMsoListBullet2CxSpLast«><span classTerm«>&amp;НаКлиентеНаСервереБезКонтекста</span>.</p> <p classMsoListBullet«>● Выполняется анализ фрагментов текста процедур и функций, которые обрамлены инструкциями препроцессора (см. <A href/db/content/v8310doc/src/руководство разработчика/глава 4. встроенный язык.htm?_=1496848987#_ref448859501«>здесь</a>):</p> <p classMsoListBullet2CxSpFirst«><span classTerm«>Клиент</span>;</p> <p classMsoListBullet2CxSpMiddle«><span classTerm«>ТонкийКлиент</span>;</p> <p classMsoListBullet2CxSpMiddle«><span classTerm«>ВебКлиент</span>;</p> <p classMsoListBullet2CxSpMiddle«><span classTerm«>ТолстыйКлиентУправляемоеПриложение</span>;</p> <p classMsoListBullet2CxSpLast«><span classTerm«>ТолстыйКлиентОбычноеПриложение</span>.</p> <p classMsoNormalCxSpFirst«>Флажок <span classInterface«>Отображать методы объектов неопределенного типа</span> указывает системе, что следует включать в результат поиска методы, которые являются синхронными, но однозначно нельзя определить объект, у которого они вызываются.</p> <p classMsoNormalCxSpLast«>Если в диалоге настройки поиска выбран флажок <span classInterface«>Производить преобразование найденных вызовов</span>, то выполняется преобразование только тривиальных (см. <a href#_ref373246646«>здесь</a>) случаев использования синхронных вызовов с выводом результатов операции.</p> <a idTI000000943» classbookmark» nameissogl3_27.2.1.8_синтаксический_контроль_модуля«><h4>27.2.1.8. Синтаксический контроль модуля</h4></a> <p classMsoNormalCxSpFirst«>Редактируемый модуль может быть проверен на правильность использования синтаксических конструкций встроенного языка.</p> <p classMsoNormalCxSpMiddle«>Для выполнения синтаксического контроля модуля необходимо воспользоваться пунктом <span classInterface«>Текст – Проверка модуля</span>.</p> <p classMsoNormalCxSpLast«>Синтаксический контроль выполняется в следующей последовательности:</p> <p classMsoListBulletCxSpFirst«>● общие модули,</p> <p classMsoListBulletCxSpMiddle«>● модуль управляемого приложения,</p> <p classMsoListBulletCxSpMiddle«>● модуль объекта,</p> <p classMsoListBulletCxSpLast«>● модуль формы.</p> <p classMsoNormalCxSpFirst«>При этом контроль модулей выполняется, если модуль еще не проходил контроля или был модифицирован.</p> <p classMsoNormalCxSpMiddle«>При контроле модуля проверяются только те модули, которые в списке расположены до данного модуля. Например, при проверке модуля приложения проверяются только общие модули. Модуль внешнего соединения проверяется только при его редактировании.</p> <p classMsoNormalCxSpMiddle«>При наличии ошибок их список будет выдан в окне сообщений с указанием полного адреса месторасположения и описания ошибки. При подведении указателя мыши к строке, содержащей сообщение об ошибке, он принимает вид увеличительного стекла. Для перехода к строке модуля, вызвавшей ошибку, следует дважды щелкнуть мышью по этому сообщению. Если модуль, содержащий ошибку, закрыт, он будет открыт автоматически.</p> <p classMsoNormalCxSpMiddle«>Если ошибки не обнаружены, в окно сообщений будет выдано сообщение об отсутствии ошибок в модуле.</p> <p classMsoNormalCxSpMiddle«>В режиме настройки параметров конфигуратора (пункт главного меню <span classInterface«>Сервис – Параметры</span>, закладка <span classInterface«>Модули</span>, закладка <span classInterface«>Проверка</span>, реквизит <span classInterface«>Проверять автоматически</span>) можно включить режим автоматической проверки модуля. В этом случае, если модуль был изменен, при закрытии окна модуля или при сохранении конфигурации в целом будет выполняться синтаксический контроль модуля.</p> <p classMsoNormalCxSpMiddle«>Режим автоматической проверки удобно использовать, когда производится отладка какого-либо элемента конфигурации.</p> <p classMsoNormalCxSpMiddle«>Для полного синтаксического контроля всех модулей конфигурации за один проход следует выбрать пункт <span classInterface«>Конфигурация – Синтаксический контроль модулей</span>.</p> <p classMsoNormalCxSpMiddle«>В процессе исправления ошибок в модулях можно получить подсказку по встроенному языку, вызвав синтакс-помощник и найдя в нем описание нужного элемента встроенного языка (см. <A href/db/content/v8310doc/src/руководство разработчика/глава 33. сервисные возможности.htm?_=1496848987#_ref223167849«>здесь</a>).</p> <p classMsoNormalCxSpLast«>Подсказку по конкретному элементу языка (оператору, процедуре, функции, свойству, методу) можно получить, если поместить курсор в модуле на этот элемент языка и нажать клавиши <span classInterface«>Ctrl + F1</span>. В синтакс-помощнике будет выдано описание выбранного элемента встроенного языка.</p> <a name_ref216238506«></a><a idTI000000944» classbookmark» nameissogl3_27.2.1.9_ограничение_доступа_к_модулям_конфигурации«><h4>27.2.1.9. Ограничение доступа к модулям конфигурации</h4></a> <p classMsoNormalCxSpFirst«>Для некоторых модулей можно установить пароль доступа. Основное назначение пароля – защита авторских прав разработчиков конфигураций.</p> <p classMsoNormalCxSpLast«>При установке пароля существуют следующие ограничения:</p> <p classMsoListBulletCxSpFirst«>● не защищается модуль управляемого приложения;</p> <p classMsoListBulletCxSpMiddle«>● не защищаются модули форм;</p> <p classMsoListBulletCxSpMiddle«>● не защищаются модули команд;</p> <p classMsoListBulletCxSpMiddle«>● не защищаются модули, включающие директивы препроцессора;</p> <p classMsoListBulletCxSpLast«>● не защищаются клиентские общие модули, работающие в управляемом режиме (тонкий клиент, веб-клиент и управляемый режим толстого клиента).</p> <a name_ref216063996«></a><a idTI000000945» classbookmark» nameissogl4_27.2.1.9.1_установка_пароля_доступа«><h5>27.2.1.9.1. Установка пароля доступа</h5></a> <p classMsoNormalCxSpFirst«>Для установки пароля нужно открыть требуемый модуль и выбрать команду <span classInterface«>Текст – Установить пароль</span>. Пункт доступен, если модуль открыт для записи.</p> <p classMsoNormalCxSpLast«>Если модуль содержит директивы препроцессору, то программа выводит предупреждение: <span classInterface«>Защищенный модуль не должен содержать директив препроцессора. Продолжить?</span> Если нажать кнопку <span classInterface«>Нет</span>, то попытка установки пароля не производится. Если нажать кнопку <span classInterface«>Да</span>, то установка пароля становится возможной, и подразумевается, что в дальнейшем директивы будут удалены. Если директивы не удалить, то в режиме 1С:Предприятие методы такого общего модуля будут недоступны (ошибка <span classInterface«>Метод объекта не обнаружен &lt;Имя метода&gt;</span>).</p> <p classRegularbeforepicture«>На экран выводится диалог ввода пароля.</p> <p classPicture«><IMG src_img/img00505.gif?_=1496848987» WIDTH277» ALT HEIGHT110«></p> <p classMsoCaption«>Рис. 497. Установка пароля на модуль</p> <p classMsoNormal«>Нужно ввести пароль и повторить его. Для установки пароля нажать кнопку <span classInterface«>ОК</span>, для отказа от установки – кнопку <span classInterface«>Отмена</span>.</p> <a idTI000000946» classbookmark» nameissogl4_27.2.1.9.2_открытие_защищенного_модуля«><h5>27.2.1.9.2. Открытие защищенного модуля</h5></a> <p classRegularbeforepicture«>Если на модуль установлен пароль доступа, то при попытке открыть модуль выводится диалог ввода пароля.</p> <p classPicture«><IMG src_img/img00506.gif?_=1496848987» WIDTH346» ALT HEIGHT139«></p> <p classMsoCaption«>Рис. 498. Открытие модуля с установленным паролем</p> <p classMsoNormal«>Если пароль указан верно, то модуль открывается. Если введен неправильный пароль, то выводится предупреждение <span classInterface«>Некорректный пароль</span> и модуль не открывается.</p> <a idTI000000947» classbookmark» nameissogl4_27.2.1.9.3_смена_пароля«><h5>27.2.1.9.3. Смена пароля</h5></a> <p classMsoNormalCxSpFirst«>Для смены пароля нужно открыть модуль и выбрать команду <span classInterface«>Текст – Установить пароль</span>. На экран выводится диалог ввода пароля. Следует ввести прежний пароль. Если пароль введен правильно, то на экран выводится диалог ввода нового пароля (см. <a href#_ref216063996«>здесь</a>).</p> <p classMsoNormalCxSpLast«>Для снятия пароля нужно очистить поля для ввода пароля и, не вводя значения пароля, нажать кнопку <span classInterface«>ОК</span>.</p> <a name_ref219791978«></a><a name_ref216075442«></a><a idTI000000948» classbookmark» nameissogl2_27.2.2_редактирование_текстовых_макетов«><h3>27.2.2. Редактирование текстовых макетов</h3></a> <p classMsoNormalCxSpFirst«>Если в конструкторе макетов в качестве типа макета выбран <span classInterface«>Текстовый документ</span>, то открывается текстовый редактор в режиме ввода текстового макета.</p> <p classMsoNormalCxSpLast«>Режим редактирования текстового макета также доступен для текстовых документов с установленным расширением <span classInterface«>Текстовый макет</span>.</p> <a idTI000000949» classbookmark» nameissogl3_27.2.2.1_формат_текстового_макета«><h4>27.2.2.1. Формат текстового макета</h4></a> <p classMsoNormal«>Весь текст макета делится на области. Области должны следовать друг за другом и не могут пересекаться или включаться друг в друга. В тексте макета области выделяются следующим образом:</p> <a classcopy_source» href#_top» onClickreturn false«>Копировать в буфер обмена</a> <pre classsrc_dev«><span classpreprocessor«>#Область ХХХХХ</span> <span classpreprocessor«>#КонецОбласти</span></pre> <p classMsoNormalCxSpFirst«>Где <span classTerm«>ХХХХХ</span> – имя области.</p> <p classMsoNormalCxSpMiddle«>Конец области указывать не обязательно. Объявление начала области означает окончание предыдущей области.</p> <p classMsoNormalCxSpLast«>Для хранения вариантов области на нескольких языках после имени области может следовать код языка, для которого написана область.</p> <a classcopy_source» href#_top» onClickreturn false«>Копировать в буфер обмена</a> <pre classsrc_dev«><span classpreprocessor«>#Область Заголовок1 RU</span> <span classpreprocessor«>#КонецОбласти</span> <span classpreprocessor«>#Область Заголовок1 EN</span> <span classpreprocessor«>#КонецОбласти</span></pre> <p classMsoNormalCxSpFirst«>Если для какого-либо варианта области код языка не указан, то этот вариант области будет возвращаться, когда в метод <span classTerm«>ПолучитьОбласть()</span> передан код языка, не указанный ни в одном из вариантов описаний областей.</p> <p classMsoNormalCxSpLast«>Каждая область состоит из служебной и текстовой частей.</p> <a classcopy_source» href#_top» onClickreturn false«>Копировать в буфер обмена</a> <pre classsrc_dev«><span classpreprocessor«>#Область ХХХХХ</span> <span classoperator«>[</span>служебная часть<span classoperator«>]</span> <span classoperator«>[</span>текстовая часть<span classoperator«>]</span> <span classpreprocessor«>#КонецОбласти</span></pre> <a idTI000000950» classbookmark» nameissogl3_27.2.2.2_служебная_часть_области«><h4>27.2.2.2. Служебная часть области</h4></a> <p classMsoNormalCxSpFirst«>Служебная часть области не имеет явных границ. В нее входят все строки от начала области, которые начинаются специальным символом «<span classTerm«>#</span>». В служебной части описываются поля текстового макета, используемые внутри области. Если нет надобности в служебной части, она может отсутствовать.</p> <p classMsoNormalCxSpLast«>Управляющие конструкции текстового макета выделяются цветом.</p> <a idTI000000951» classbookmark» nameissogl4_27.2.2.2.1_структура_служебной_части_области«><h5>27.2.2.2.1. Структура служебной части области</h5></a> <p classMsoNormalCxSpFirst«>Служебная часть области состоит из описаний некоторых общих параметров области и описаний форматов полей, входящих в область. Все описания, сделанные в служебной части области, действуют только в пределах области. Если в некоторой области описан формат поля и оно же встречается в другой области без описания формата, для него в другой области будет использоваться формат по умолчанию.</p> <p classMsoNormalCxSpLast«>В начале служебной части области может следовать ключевое слово общей области <span classTerm«>#ЗаменаСимвола A B</span>. С его помощью будет производиться замена символов внутри строк области;</p> <p classMsoListBulletCxSpFirst«><span classTerm«>A</span> – символ, который будет заменен;</p> <p classMsoListBulletCxSpLast«><span classTerm«>B</span> – символ, которым будет заменен символ <span classTerm«>A</span>.</p> <p classMsoNormalCxSpFirst«>Символы должны быть заключены в одинарные кавычки.</p> <p classMsoNormalCxSpMiddle«>Например, если написать <span classTerm«>#ЗаменаСимвола &quot;@&quot; &quot;#&quot;</span>, то внутри строк символы «<span classTerm«>@</span>», не входящие в названия полей, будут заменены на «<span classTerm«>#</span>».</p> <p classMsoNormalCxSpLast«>Имеет смысл использовать данное ключевое слово в тех случаях, когда в оформление строк макета должен входить символ # (его непосредственное использование указывало бы на служебный характер текста).</p> <a idTI000000952» classbookmark» nameissogl4_27.2.2.2.2_описания_полей«><h5>27.2.2.2.2. Описания полей</h5></a> <p classMsoNormalCxSpFirst«>После описания замены следует описание форматов полей, используемых в области.</p> <p classMsoNormalCxSpMiddle«>Поле создается с помощью ключевого слова <span classTerm«>#Поле ПППП</span>, где <span classTerm«>ПППП</span> – имя поля, формат которого будет описываться.</p> <p classMsoNormalCxSpMiddle«>Далее на следующих строках размещаются ключевые слова для описания поля. Описание поля действует до начала описания следующего поля.</p> <p classMsoNormalCxSpLast«><span classTerm«>#Выравнивание {Лево | Право | Центр | ПоШирине}</span> – указывает выравнивание поля в пределах отведенных для него знакомест.</p> <a classcopy_source» href#_top» onClickreturn false«>Копировать в буфер обмена</a> <pre classsrc_dev«><span classpreprocessor«>#Поле ВидРаботы</span> <span classpreprocessor«>#Выравнивание ПоШирине</span></pre> <p classMsoNormal«><span classTerm«>#Формат &lt;Форматная строка&gt;</span> – указывает форматную строку для вывода поля.</p> <a classcopy_source» href#_top» onClickreturn false«>Копировать в буфер обмена</a> <pre classsrc_dev«><span classpreprocessor«>#Поле Дата1</span> <span classpreprocessor«>#Формат &quot;ДФ=dd.MM.yy&quot;</span> <span classpreprocessor«>#Поле Вр1</span> <span classpreprocessor«>#Формат &quot;ЧЦ=4; ЧДЦ=0; ЧРД=.&quot;</span></pre> <p classMsoNormal«><span classTerm«>#Забивать &lt;Параметр&gt;</span> – указывает необходимость забивки области, отведенной для поля, символами «<span classTerm«>#</span>». Если <span classTerm«>&lt;Параметр&gt; = Истина</span> и содержимое поля не помещается в отведенное место, будет выполняться забивка.</p> <a classcopy_source» href#_top» onClickreturn false«>Копировать в буфер обмена</a> <pre classsrc_dev«><span classpreprocessor«>#Поле ИтогОтчета</span> <span classpreprocessor«>#Формат &quot;ЧЦ=18; ЧДЦ=2; ЧРД=.&quot;</span> <span classpreprocessor«>#Забивать Истина</span></pre> <a idTI000000953» classbookmark» nameissogl3_27.2.2.3_текстовая_часть_области«><h4>27.2.2.3. Текстовая часть области</h4></a> <p classMsoNormalCxSpFirst«>Текстовая часть области состоит собственно из строк текстового макета. Она начинается после последней строки, принадлежащей служебной части области, и продолжается до конца области. Внутри строк текстового макета можно указать имя поля: <span classTerm«>[ПППП]</span>.</p> <p classMsoNormalCxSpLast«>Количество знакомест, отводимых под поле, соответствует количеству знакомест, указанных скобками (включая скобки). Если размер поля составляет один символ, допускается использование одной скобки. Например:</p> <a classcopy_source» href#_top» onClickreturn false«>Копировать в буфер обмена</a> <pre classsrc_dev«><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span> !<span classoperator«>[</span>Имя <span classoperator«>]</span>! <span classoperator«>[</span>Код <span classoperator«>]</span>! <span classoperator«>[</span>Наименование <span classoperator«>]</span> ! <span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span></pre> <p classMsoNormalCxSpFirst«>Если имя поля прижато к левой скобке, считается, что поле имеет левое выравнивание, а если к правой скобке, то правое выравнивание. Если пробелы есть слева и справа от имени поля, оно будет центрироваться в пределах отведенных под него знакомест.</p> <p classMsoNormalCxSpLast«>Если имя поля больше, чем количество знакомест, отводимых под поле, имя поля указывается с помощью ключевого слова <span classTerm«>Поля</span>.</p> <p classLang-subheader«>Пример:</p> <a classcopy_source» href#_top» onClickreturn false«>Копировать в буфер обмена</a> <pre classsrc_dev«><span classpreprocessor«>#Поле Номер</span> <span classpreprocessor«> #Формат &quot;ЧЦ=3; ЧДЦ=0&quot;</span> <span classpreprocessor«>#Поле Код</span> <span classpreprocessor«> #Формат &quot;ЧЦ=5; ЧДЦ=0&quot;</span> <span classpreprocessor«>#Поле Пометка</span> <span classpreprocessor«> #Формат &quot;ЧЦ=1&quot;</span> <span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span> !<span classoperator«>[</span> <span classoperator«>]</span>! <span classoperator«>[</span> Код<span classoperator«>]</span>!<span classoperator«>[</span> Наименование <span classoperator«>]</span>! <span classoperator«>[</span>! #Поля Номер Пометка <span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span></pre> <p classMsoNormal«>Параметры в ключевом слове <span classTerm«>Поля</span> указываются только для тех полей, имена которых не указаны в теле макета в скобках.</p> <a idTI000000954» classbookmark» nameissogl4_27.2.2.3.1_автоматический_перенос«><h5>27.2.2.3.1. Автоматический перенос</h5></a> <p classMsoNormal«>Если текст не умещается в отведенный размер поля, может возникнуть необходимость использовать автоматический перенос текста на новую строку. Для этого предлагается использовать указание расположения поля в макете в фигурных и угловых скобках:</p> <p classMsoListBulletCxSpFirst«><span classTerm«>{ПППП}</span> – область поля ограничена фигурными скобками. Они показывают, что автоперенос текста, хранящегося в поле <span classTerm«>ПППП</span>, возможен на эту строку, и указывают область для не поместившегося ранее в поле <span classTerm«>ПППП</span> текста. При этом, даже если в строке нет необходимости выводить ни одно из полей, строка все равно будет выведена.</p> <p classMsoListBulletCxSpLast«><span classTerm«>&lt;ПППП&gt;</span> – область поля ограничена угловыми скобками. Они показывают, что автоперенос текста, хранящегося в поле <span classTerm«>ПППП</span>, возможен, и указывают область для не поместившегося на предшествующей строке в поле <span classTerm«>ПППП</span> текста. При этом, если все поля, имеющиеся в строке, указаны в угловых скобках, но ни одно из них не потребовалось для вывода текста, строка не будет выведена. Если при выводе текста из поля в строку, в которой поле размещено в угловых скобках, текст все равно не уместится, такая строка будет размножена до тех пор, пока не удастся вывести весь текст из поля.</p> <p classLang-subheader«>Пример:</p> <a classcopy_source» href#_top» onClickreturn false«>Копировать в буфер обмена</a> <pre classsrc_dev«><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span> !<span classoperator«>[</span> YY<span classoperator«>]</span>! <span classoperator«>[</span>XX <span classoperator«>]</span>!<span classoperator«>[</span> ZZ<span classoperator«>]</span>! ! ! {XX }! ! ! ! <span classoperator«>&lt;</span>XX <span classoperator«>&gt;</span>! ! <span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span></pre> <p classMsoNormal«>В этом примере указывается, что поле <span classTerm«>XX</span> размещается на первой строке. На второй строке размещается та часть поля <span classTerm«>XX</span>, которая не поместилась на первой строке. На третьей строке размещается часть поля <span classTerm«>ХХ</span>, которая не поместилась ни на первой, ни на второй строке. При этом если в поле <span classTerm«>ХХ</span> для третьей строки текста не осталось, она совсем не выводится, а если осталось, то третья строка будет выводиться до тех пор, пока не закончится текст из поля <span classTerm«>XX</span>.</p> <a idTI000000955» classbookmark» nameissogl3_27.2.2.4_описание_ключевых_слов_текстового_макета«><h4>27.2.2.4. Описание ключевых слов текстового макета</h4></a> <p classLang«>Область (Area)</p> <p classLang-subheader«>Описание:</p> <p classMsoNormal«>Указывается начало области макета, а если предшествующая область не закончена, то конец предшествующей.</p> <p classLang-subheader«>Синтаксис:</p> <p classMsoNormal«><span classTerm«>#Область &lt;Имя области&gt; &lt;Код языка&gt;</span></p> <p classLang-subheader«>Параметры:</p> <p classLang-parameter«>&lt;Имя области&gt; Обязательный</p> <p classMsoNormal«>Указывается имя области, по которому производится ее получение методом <span classTerm«>ПолучитьОбласть()</span> текстового документа.</p> <p classLang-parameter«>&lt;Код языка&gt; Необязательный</p> <p classMsoNormal«>Указывается код языка области. Если предполагается использование конфигурации на нескольких языках, то в текстовом макете можно указать несколько областей с одинаковыми именами, но тогда каждая область должна содержать код языка. Если код языка не указан, то такая область выбирается в том случае, когда область запрашивается с кодом языка, отсутствующим в описании областей.</p> <p classLang«>КонецОбласти (EndOfArea)</p> <p classLang-subheader«>Описание:</p> <p classMsoNormal«>Указывается явный конец области макета.</p> <p classLang-subheader«>Синтаксис:</p> <p classMsoNormal«><span classTerm«>#КонецОбласти</span></p> <p classLang«>ЗаменаСимвола (ReplaceChar)</p> <p classLang-subheader«>Описание:</p> <p classMsoNormal«>С помощью данного ключевого слова будет производиться замена символов внутри строк области.</p> <p classLang-subheader«>Синтаксис:</p> <p classMsoNormal«><span classTerm«>#ЗаменаСимвола &lt;Заменяемый символ&gt; &lt;Символ замены&gt;</span></p> <p classLang-subheader«>Параметры:</p> <p classLang-parameter«>&lt;Заменяемый символ&gt; Обязательный</p> <p classMsoNormal«>В одинарных кавычках указывается символ, который будет заменен.</p> <p classLang-parameter«>&lt;Символ замены&gt; Обязательный</p> <p classMsoNormal«>Указывается символ, на который будет заменен <span classTerm«>&lt;Заменяемый символ&gt;</span>.</p> <p classLang«>Поле (Field)</p> <p classLang-subheader«>Описание:</p> <p classMsoNormal«>Указывается поле, для которого необходимо указать ключевые слова форматирования.</p> <p classLang-subheader«>Синтаксис:</p> <p classMsoNormal«><span classTerm«>#Поле &lt;Имя поля&gt;</span></p> <p classLang-subheader«>Параметры:</p> <p classLang-parameter«>&lt;Имя поля&gt; Обязательный</p> <p classMsoNormal«>Имя поля.</p> <p classLang«>Выравнивание (Align)</p> <p classLang-subheader«>Описание:</p> <p classMsoNormal«>Указывается выравнивание при выводе содержимого поля.</p> <p classLang-subheader«>Синтаксис:</p> <p classMsoNormal«><span classTerm«>#Выравнивание &lt;Параметр выравнивания&gt;</span></p> <p classLang-subheader«>Параметры:</p> <p classLang-parameter«>&lt;Параметр выравнивания&gt; Обязательный</p> <p classMsoNormal«>Значение выравнивания поля. Может принимать следующие значения:</p> <p classMsoListBulletCxSpFirst«><span classTerm«>Лево</span> (<span classTerm«>Left</span>),</p> <p classMsoListBulletCxSpMiddle«><span classTerm«>Право</span> (<span classTerm«>Right</span>),</p> <p classMsoListBulletCxSpMiddle«><span classTerm«>Центр</span> (<span classTerm«>Center</span>),</p> <p classMsoListBulletCxSpLast«><span classTerm«>ПоШирине</span> (<span classTerm«>Justify</span>).</p> <p classLang«>Формат (Format)</p> <p classLang-subheader«>Описание:</p> <p classMsoNormal«>Указывается формат вывода поля.</p> <p classLang-subheader«>Синтаксис:</p> <p classMsoNormal«><span classTerm«>#Формат &lt;Форматная строка&gt;</span></p> <p classLang-subheader«>Параметры:</p> <p classLang-parameter«>&lt;Форматная строка&gt; Обязательный</p> <p classMsoNormal«>Определяет формат представления значения поля.</p> <p classLang-subheader«>Пример:</p> <a classcopy_source» href#_top» onClickreturn false«>Копировать в буфер обмена</a> <pre classsrc_dev«><span classstring«>&quot;ДФ=dd.MM.yy&quot;</span></pre> <p classLang«>Забивать (Block)</p> <p classLang-subheader«>Описание:</p> <p classMsoNormal«>Если значение параметра <span classTerm«>Истина</span>, то устанавливается забивка, при которой в поле, значение которого не помещается в отведенное место, выводится символ «<span classTerm«>#</span>» во всем отведенном месте.</p> <p classLang-subheader«>Синтаксис:</p> <p classMsoNormal«><span classTerm«>#Забивать &lt;Параметр&gt;</span></p> <p classLang-subheader«>Параметры:</p> <p classLang-parameter«>&lt;Параметр&gt; Необязательный</p> <p classMsoNormal«>Определяет необходимость забивки поля. Может принимать значения:</p> <p classMsoListBulletCxSpFirst«><span classTerm«>Истина</span> (<span classTerm«>True</span>),</p> <p classMsoListBulletCxSpLast«><span classTerm«>Ложь</span> (<span classTerm«>False</span>).</p> <p classLang«>Поля (Fields)</p> <p classLang-subheader«>Описание:</p> <p classMsoNormal«>Указывается список полей, имена которых нельзя указать в месте их расположения.</p> <p classLang-subheader«>Синтаксис:</p> <p classMsoNormal«><span classTerm«>#Поля &lt;Имя поля 1&gt; &lt;Имя поля 2&gt; … &lt;Имя поля N&gt;</span></p> <p classLang-subheader«>Параметры:</p> <p classLang-parameter«>&lt;Имя поля&gt; Обязательный</p> <p classMsoNormal«>Имя поля. Обязательно указывать все имена полей, которые не указаны в тексте области макета.</p> <a idTI000000956» classbookmark» nameissogl3_27.2.2.5_пример_печати_расходной_накладной«><h4>27.2.2.5. Пример печати расходной накладной</h4></a> <p classMsoNormal«>Предполагается, что объект конфигурации <span classTerm«>Документ</span> с именем <span classInterface«>Расходная накладная</span> имеет в списке макетов текстового типа макет с именем <span classTerm«>ПечатьТекст</span>:</p> <a classcopy_source» href#_top» onClickreturn false«>Копировать в буфер обмена</a> <pre classsrc_dev«><span classpreprocessor«>#Область Шапка RU</span> Расходная накладная N <span classoperator«>[</span>НомерДокумента <span classoperator«>]</span> От: <span classoperator«>[</span>От <span classoperator«>]</span> Кому: <span classoperator«>[</span>Кому <span classoperator«>]</span> <span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span> | N| Наименование | Цена |Штук| Сумма | <span classpreprocessor«>#Область Строка RU</span> <span classpreprocessor«> #Поле Цена</span> <span classpreprocessor«> #Формат &quot;ЧЦ=10; ЧДЦ=2; ЧРД=.&quot;</span> <span classpreprocessor«> #Поле Штук</span> <span classpreprocessor«> #Выравнивание Право</span> <span classpreprocessor«> #Формат &quot;ЧЦ=4; ЧДЦ=0; ЧРД=.&quot;</span> <span classpreprocessor«> #Поле Сумма</span> <span classpreprocessor«> #Формат &quot;ЧЦ=12; ЧДЦ=2; ЧРД=.&quot;</span> |<span classoperator«></span><span classoperator«></span><span classoperator«>+</span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«>+</span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«>+</span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«>+</span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span>| <span classpreprocessor«>|&lt;span class=&quot;operator&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;operator&quot;&gt;]&lt;/span&gt;|&lt;span class=&quot;operator&quot;&gt;[&lt;/span&gt;Наименование &lt;span class=&quot;operator&quot;&gt;]&lt;/span&gt;|&lt;span class=&quot;operator&quot;&gt;[&lt;/span&gt; Цена&lt;span class=&quot;operator&quot;&gt;]&lt;/span&gt;|&lt;span class=&quot;operator&quot;&gt;[&lt;/span&gt; &lt;span class=&quot;operator&quot;&gt;]&lt;/span&gt;|&lt;span class=&quot;operator&quot;&gt;[&lt;/span&gt; Сумма&lt;span class=&quot;operator&quot;&gt;]&lt;/span&gt;|#Поля Номер Штук</span> | |<span classoperator«>&lt;</span>Наименование <span classoperator«>&gt;</span>| | | | <span classpreprocessor«>#Область Подвал RU</span> <span classpreprocessor«> #Поле ИтогоШтук</span> <span classpreprocessor«> #Выравнивание Право</span> <span classpreprocessor«> #Формат &quot;ЧЦ=4; ЧДЦ=0; ЧРД=.&quot;</span> <span classpreprocessor«> #Поле ИтогоСумма</span> <span classpreprocessor«> #Выравнивание Право</span> <span classpreprocessor«> #Формат &quot;ЧЦ=12; ЧДЦ=2; ЧРД=.&quot;</span> <span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span> Итого <span classoperator«>[</span> <span classoperator«>]</span> <span classoperator«>[</span>ИтогоСумма<span classoperator«>]</span> #Поля ИтогоШтук Директор: <span classoperator«>[</span>Директор <span classoperator«>]</span></pre> <p classMsoNormal«>Макет содержит следующие области:</p> <p classMsoListBulletCxSpFirst«><span classTerm«>Шапка</span> – для вывода заголовка отчета;</p> <p classMsoListBulletCxSpMiddle«><span classTerm«>Строка</span> – для вывода табличной части;</p> <p classMsoListBulletCxSpLast«><span classTerm«>Подвал</span> – для вывода итоговых данных.</p> <p classMsoNormal«>В форме документа размещена кнопка <span classTerm«>Печать</span>. Ее нажатие вызывает событие <span classTerm«>Нажатие()</span>, процедура-обработчик которого размещена в модуле формы.</p> <a classcopy_source» href#_top» onClickreturn false«>Копировать в буфер обмена</a> <pre classsrc_dev«><span classkeyword«>Процедура</span> ПечатьВТекст<span classoperator«>(</span>Кнопка<span classoperator«>)</span> ТекДок <span classoperator«>=</span> <span classkeyword«>Новый</span> ТекстовыйДокумент<span classoperator«>(</span><span classoperator«>)</span><span classoperator«>;</span> ПечатьТекст<span classoperator«>(</span>ТекДок<span classoperator«>)</span><span classoperator«>;</span> ТекДок<span classoperator«>.</span>Показать<span classoperator«>(</span><span classoperator«>)</span><span classoperator«>;</span> <span classkeyword«>КонецПроцедуры</span></pre> <p classMsoNormal«>В процедуре создается текстовый документ <span classTerm«>ТекДок</span> и вызывается процедура <span classTerm«>ПечатьТекст(ТекДок)</span>, которая заполняет текстовый документ на основе данных расходной накладной. Процедура расположена в модуле документа. После заполнения документа он выводится на экран.</p> <p classLang-subheader«>Текст процедуры <span classTerm«>ПечатьТекст()</span>:</p> <a classcopy_source» href#_top» onClickreturn false«>Копировать в буфер обмена</a> <pre classsrc_dev«><span classkeyword«>Процедура</span> ПечатьТекст<span classoperator«>(</span>ТекДок<span classoperator«>)</span> <span classkeyword«>Экспорт</span> <span classcomment«>// Получение макета</span> Макет <span classoperator«>=</span> ПолучитьМакет<span classoperator«>(</span><span classstring«>&quot;ПечатьТекст&quot;</span><span classoperator«>)</span><span classoperator«>;</span> <span classcomment«>// Установим код языка</span> Макет<span classoperator«>.</span>КодЯзыкаМакета <span classoperator«>=</span> <span classstring«>&quot;RU&quot;</span><span classoperator«>;</span> <span classcomment«>// Заголовок</span> Область <span classoperator«>=</span> Макет<span classoperator«>.</span>ПолучитьОбласть<span classoperator«>(</span><span classstring«>&quot;Шапка&quot;</span><span classoperator«>)</span><span classoperator«>;</span> Область<span classoperator«>.</span>Параметры<span classoperator«>.</span>НомерДокумента <span classoperator«>=</span> Номер<span classoperator«>;</span> Область<span classoperator«>.</span>Параметры<span classoperator«>.</span>От <span classoperator«>=</span> Формат<span classoperator«>(</span>Дата<span classoperator«>,</span><span classstring«>&quot;ДФ=dd.MM.yyyy&quot;</span><span classoperator«>)</span><span classoperator«>;</span> Область<span classoperator«>.</span>Параметры<span classoperator«>.</span>Кому <span classoperator«>=</span> Контрагент<span classoperator«>;</span> ТекДок<span classoperator«>.</span>Вывести<span classoperator«>(</span>Область<span classoperator«>)</span><span classoperator«>;</span> <span classcomment«>// Обработка табличной части &quot;Состав&quot;</span> СтрИтого <span classoperator«>=</span> <span classkeyword«>Новый</span> Структура<span classoperator«>(</span><span classstring«>&quot;ИтогоШтук, ИтогоСумма&quot;</span><span classoperator«>,</span><span classnumber«>0</span><span classoperator«>,</span><span classnumber«>0</span><span classoperator«>)</span><span classoperator«>;</span> <span classkeyword«>Для</span> <span classkeyword«>Каждого</span> СтрСостава <span classkeyword«>Из</span> Состав <span classkeyword«>Цикл</span> Область <span classoperator«>=</span> Макет<span classoperator«>.</span>ПолучитьОбласть<span classoperator«>(</span><span classstring«>&quot;Строка&quot;</span><span classoperator«>)</span><span classoperator«>;</span> Область<span classoperator«>.</span>Параметры<span classoperator«>.</span>Номер <span classoperator«>=</span> СтрСостава<span classoperator«>.</span>НомерСтроки<span classoperator«>;</span> Область<span classoperator«>.</span>Параметры<span classoperator«>.</span>Наименование <span classoperator«>=</span> СтрСостава<span classoperator«>.</span>Номенклатура<span classoperator«>;</span> Область<span classoperator«>.</span>Параметры<span classoperator«>.</span>Штук <span classoperator«>=</span> СтрСостава<span classoperator«>.</span>Количество<span classoperator«>;</span> Область<span classoperator«>.</span>Параметры<span classoperator«>.</span>Цена <span classoperator«>=</span> СтрСостава<span classoperator«>.</span>Цена<span classoperator«>;</span> Область<span classoperator«>.</span>Параметры<span classoperator«>.</span>Сумма <span classoperator«>=</span> СтрСостава<span classoperator«>.</span>Сумма<span classoperator«>;</span> ТекДок<span classoperator«>.</span>Вывести<span classoperator«>(</span>Область<span classoperator«>)</span><span classoperator«>;</span> СтрИтого<span classoperator«>.</span>ИтогоШтук <span classoperator«>=</span> СтрИтого<span classoperator«>.</span>ИтогоШтук <span classoperator«>+</span> СтрСостава<span classoperator«>.</span>Количество<span classoperator«>;</span> СтрИтого<span classoperator«>.</span>ИтогоСумма <span classoperator«>=</span> СтрИтого<span classoperator«>.</span>ИтогоСумма <span classoperator«>+</span> СтрСостава<span classoperator«>.</span>Сумма<span classoperator«>;</span> <span classkeyword«>КонецЦикла</span><span classoperator«>;</span> <span classcomment«>// Подвал</span> Область <span classoperator«>=</span> Макет<span classoperator«>.</span>ПолучитьОбласть<span classoperator«>(</span><span classstring«>&quot;Подвал&quot;</span><span classoperator«>)</span><span classoperator«>;</span> Область<span classoperator«>.</span>Параметры<span classoperator«>.</span>Заполнить<span classoperator«>(</span>СтрИтого<span classoperator«>)</span><span classoperator«>;</span> РС <span classoperator«>=</span> РегистрыСведений<span classoperator«>.</span>ОтветственныеСотрудники<span classoperator«>;</span> Область<span classoperator«>.</span>Параметры<span classoperator«>.</span>Директор <span classoperator«>=</span> РС<span classoperator«>.</span>ПолучитьПоследнее<span classoperator«>(</span>Дата<span classoperator«>)</span><span classoperator«>.</span>Директор<span classoperator«>;</span> ТекДок<span classoperator«>.</span>Вывести<span classoperator«>(</span>Область<span classoperator«>)</span><span classoperator«>;</span> <span classkeyword«>КонецПроцедуры</span></pre> <a idTI000000957» classbookmark» nameissogl2_27.2.3_редактирование_текстов_шаблонов«><h3>27.2.3. Редактирование текстов шаблонов</h3></a> <p classMsoNormal«>Помимо возможностей текстового редактора модулей, редактор текстов шаблонов позволяет создавать и редактировать имеющиеся шаблоны (подробнее о шаблонах см. <A href/db/content/v8310doc/src/руководство разработчика/глава 33. сервисные возможности.htm?_=1496848987#_ref61615516«>здесь</a>).</p> <a idTI000000958» classbookmark» nameissogl2_27.2.4_редактор_текста_запросов«><h3>27.2.4. Редактор текста запросов</h3></a> <p classMsoNormalCxSpFirst«>В данном режиме текстовый редактор помимо основных возможностей обладает рядом дополнительных.</p> <p classMsoNormalCxSpMiddle«>Синтаксические конструкции языка запросов выделяются цветом. Описание языковых конструкций см. <A href/db/content/v8310doc/src/руководство разработчика/глава 8. работа с запросами.htm?_=1496848987#_ref216234624«>здесь</a> или раздел «Работа с запросами» справки по встроенному языку.</p> <p classMsoNormalCxSpMiddle«>В список доступных команд текстового редактора добавляются команды установки и снятия комментария.</p> <p classMsoNormalCxSpMiddle«>В режиме 1С:Предприятие пользователям, обладающим административными правами, предоставляется возможность вызова конструктора запросов.</p> <p classMsoNormalCxSpLast«>Помимо текста запроса выполняется редактирование текстов запросов для текстового документа, у которого установлено расширение <span classInterface«>Язык запросов</span>; для поля текстового документа с установленным расширением <span classInterface«>Язык запросов</span>.</p> <a name_ref374982623«></a><a idTI000000959» classbookmark» nameissogl1_27.3_редактор_командного_интерфейса_конфигурации«><h2>27.3. Редактор командного интерфейса конфигурации</h2></a> <p classRegularbeforepicture«>Редактор командного интерфейса конфигурации позволяет настроить начальный порядок разделов в панели разделов (см. <A href/db/content/v8310doc/src/руководство разработчика/глава 3. интерфейс приложения.htm?_=1496848987#_ref220738931«>здесь</a>) и начальную видимость разделов в разрезе ролей.</p> <p classPicture«><IMG src_img/img00507.gif?_=1496848987» WIDTH508» ALT HEIGHT262«></p> <p classMsoCaption«><a name_ref220739176«>Рис. </a>499. Редактор «Командный интерфейс конфигурации»</p> <p classMsoNormalCxSpFirst«>В колонке <span classInterface«>Команда</span> имеется возможность задавать порядок расположения разделов.</p> <p classMsoNormalCxSpLast«>В колонках <span classInterface«>Видимость</span> и <span classInterface«>Видимость по ролям</span> задается видимость команд открытия подсистем по умолчанию.</p> <a name_ref220744784«></a><a idTI000000960» classbookmark» nameissogl2_27.3.1_общие_правила_установки_видимости«><h3>27.3.1. Общие правила установки видимости</h3></a> <p classMsoNormalCxSpFirst«>В табличном поле размещается общая колонка управления видимостью (колонка <span classInterface«>Видимость</span>) и столько колонок, сколько ролей определено в конфигурации.</p> <p classMsoNormalCxSpMiddle«>Изначально порядок отображения команд и настройки их видимости устанавливаются системой. Однако при этом можно вручную настраивать видимость для всех команд или отбирать команды по ролям, которым они доступны.</p> <p classMsoNormalCxSpLast«>Установка видимости объекта в командном интерфейсе может осуществляться несколькими способами:</p> <p classMsoListBulletCxSpFirst«>● Редактирование колонки <span classInterface«>Видимость</span>. В этом случае видимость команды задается сразу для всех ролей. Видимость команды для конкретной роли будет определяться по состоянию колонки <span classInterface«>Видимость</span> в том случае, если для конкретной роли выбрано особое состояние флажка видимости (см. видимость подсистемы <span classInterface«>Продажи</span> на <a href#_ref220739176«>рис.499</a>).</p> <p classMsoListBulletCxSpLast«>● Указание конкретного значения (установленное или сброшенное) видимости для конкретной роли означает, что команда будет по умолчанию видна (или не видна – в зависимости от состояния флажка) для данной роли. Общее состояние (колонка <span classInterface«>Видимость</span>) в этом случае игнорируется. Так, на <a href#_ref220739176«>рис.499</a> для роли <span classInterface«>Администратор</span> видимость раздела <span classInterface«>Товарные запасы</span> отключена (несмотря на то, что общая видимость этого раздела включена), а для роли <span classInterface«>Менеджер по продажам</span> по умолчанию видима команда перехода к подсистеме <span classInterface«>Предприятие</span> (несмотря на то, что по умолчанию видимость этого раздела отключена).</p> <p classMsoNormalCxSpFirst«>Возможно множественное изменение видимости сразу для нескольких команд в списке.</p> <p classMsoNormalCxSpLast«>Для того чтобы в списке <span classInterface«>Команда</span> показать только видимые команды, следует нажать кнопку <span classInterface«>Скрыть невидимые по умолчанию</span>.</p> <a name_ref220744816«></a><a idTI000000961» classbookmark» nameissogl2_27.3.2_отбор_по_ролям«><h3>27.3.2. Отбор по ролям</h3></a> <p classMsoNormal«>В поле <span classInterface«>Отбор по ролям</span> можно задать несколько ролей, которые будут определять текущее отображение списка команд. В список будут включаться только команды, доступные этим ролям. Для отключения отбора нужно выбрать <span classInterface«>Не установлен</span>. Список выбора позволяет быстро включать один из нескольких последних установленных отборов.</p> <a name_ref217103609«></a><a name_ref370382069«></a><a name_ref370382068«></a><a idTI000000962» classbookmark» nameissogl1_27.4_настройка_рабочей_области_начальной_страницы«><h2>27.4. Настройка рабочей области начальной страницы</h2></a> <a name_ref370731128«></a><a idTI000001304» classbookmark» nameissogl2_27.4.1_с_помощью_редактора_рабочей_области_начальной_страницы«><h3>27.4.1. С помощью редактора рабочей области начальной страницы</h3></a> <p classRegularbeforepicture«>Данный редактор позволяет настроить общую схему расположения форм на начальной странице, а также состав форм, которые могут быть отображены на начальной странице.</p> <p classPicture«><IMG src_img/img00508.gif?_=1496848987» WIDTH631» ALT HEIGHT323«></p> <p classMsoCaption«>Рис. 500. Редактор «Рабочая область начальной страницы»</p> <p classMsoNormal«>Общую схему расположения форм на начальной странице можно задать с помощью поля <span classInterface«>Шаблон начальной страницы</span>:</p> <p classMsoListBulletCxSpFirst«><span classInterface«>Одна колонка</span> – формы будут отображаться в одну колонку.</p> <p classMsoListBulletCxSpMiddle«><span classInterface«>Две колонки одинаковой ширины</span> – для форм будут доступны две колонки одинаковой ширины.</p> <p classMsoListBulletCxSpLast«>● Две колонки разной ширины (2:1) – будут отображаться две колонки, причем левая колонка будет в два раза шире правой.</p> <p classMsoNormalCxSpFirst«>После выбора необходимых форм можно указать порядок их расположения на начальной странице, а также высоту каждой формы (колонка <span classInterface«>Высота</span>).</p> <p classMsoNormalCxSpMiddle«>Редактор видимости работает аналогично другим ролевым редакторам свойств (см. <a href#_ref200447246«>здесь</a>).</p> <p classMsoNormalCxSpMiddle«>При разработке интерфейса начальной страницы следует обращать особое внимание на то, чтобы этот интерфейс содержал наиболее важные формы. На начальной странице нужно размещать те формы, с которыми наиболее часто выполняется работа пользователя с тем или иным составом ролей.</p> <p classMsoNormalCxSpLast«>Следует помнить, что формы, на которые у пользователя нет прав, не будут отображены на начальной странице вне зависимости от состояния колонки <span classInterface«>Видимость</span>.</p> <a name_ref217280689«></a><a name_ref370382071«></a><a name_ref370382070«></a><a idTI000001305» classbookmark» nameissogl2_27.4.2_программная«><h3>27.4.2. Программная</h3></a> <p classMsoNormalCxSpFirst«>Настройку состава и положения форм на начальной странице (рабочем столе) можно выполнить также из встроенного языка. Для выполнения настройки следует воспользоваться методами <span classTerm«>ПолучитьСоставФорм()</span> и <span classTerm«>УстановитьСоставФорм()</span> объекта <span classTerm«>НастройкиНачальнойСтраницы</span>. Таким образом, имеется возможность получить текущее состояние начальной страницы (рабочего стола) клиентского приложения, модифицировать этот состав необходимым образом и установить обратно.</p> <p classMsoNormalCxSpLast«>Настройки состава и расположения форм начальной страницы (рабочего стола) хранятся в стандартном хранилище системных настроек. Ключ настроек – <span classInterface«>Общее/НастройкиНачальнойСтраницы</span> (см. <A href/db/content/v8310doc/src/руководство разработчика/приложение 4. перечень автоматически сохраняемых настроек.htm?_=1496848987#_ref363646570«>здесь</a>). Чтобы изменить настройки необходимо в начале прочитать их из хранилища:</p> <a classcopy_source» href#_top» onClickreturn false«>Копировать в буфер обмена</a> <pre classsrc_dev«>НастройкиНачальнойСтраницы <span classoperator«>=</span> ХранилищеСистемныхНастроек<span classoperator«>.</span>Загрузить<span classoperator«>(</span><span classstring«>&quot;Общее/НастройкиНачальнойСтраницы&quot;</span><span classoperator«>)</span><span classoperator«>;</span></pre> <p classMsoNormal«>Затем настройки начальной страницы (рабочего стола) можно модифицировать и поместить обратно в хранилище:</p> <a classcopy_source» href#_top» onClickreturn false«>Копировать в буфер обмена</a> <pre classsrc_dev«>ХранилищеСистемныхНастроек<span classoperator«>.</span>Сохранить<span classoperator«>(</span><span classstring«>&quot;Общее/НастройкиНачальнойСтраницы&quot;</span><span classoperator«>,</span> <span classstring«>&quot;&quot;</span><span classoperator«>,</span> НастройкиНачальнойСтраницы<span classoperator«>)</span><span classoperator«>;</span></pre> <p classMsoNormalCxSpFirst«>После сохранения нового состава форм, необходимо выполнить перестроение интерфейса клиентского приложения с помощью вызова метода <span classTerm«>ОбновитьИнтерфейс()</span>.</p> <p classMsoNormalCxSpLast«>Среди разнообразных вариантов применения механизма, можно выделить несколько основных сценариев использования:</p> <p classMsoListBulletCxSpFirst«>● Необходимо предложить пользователю добавить новую форму на начальную страницу (рабочий стол). Это можно сделать с помощью программного кода, который вызывается из обработчика события <span classTerm«>ПриНачалеРаботыСистемы</span>. После изменения настроек начальной страницы (рабочего стола) необходимо обновить интерфейс, чтобы изменения стали доступны.</p> <p classMsoListBulletCxSpMiddle«>● Для каких-либо пользователей необходимо поддерживать фиксированный набор форм, который определяется не на этапе конфигурирования, а некоторыми данными информационной базы. В этом случае настройку начальной страницы (рабочего стола) рекомендуется выполнять в обработчике события <span classTerm«>УстановкаПараметровСеанса</span> модуля сеанса. В этом случае не требуется вызывать метод <span classTerm«>ОбновитьИнтерфейс()</span>, т. к. считывание настроек начальной страницы (рабочего стола) выполняется после выполнения данного обработчика.</p> <p classMsoListBulletCxSpLast«>● Необходимо однократно изменить состав форм начальной страницы (рабочего стола) для всех пользователей информационной базы. В этом случае рекомендуется написать программный модуль, который переберет настройки начальной страницы (рабочего стола) для всех пользователей и внесет в них необходимые изменения. Следует помнить, что изменение интерфейса, выполненные таким образом, будут доступны пользователю только при следующем вход в систему.</p> <p classMsoNormal«>Рассмотрим пример, в рамках которого необходимо при каждом начале работы системы принудительно размещать на начальной странице две формы: форму списка справочника <span classTerm«>Товары</span> и стандартную форму полнотекстового поиска (<span classTerm«>ФормаПоиска</span>). Для реализации примера необходим общий модуль с установленными признаками <span classInterface«>Сервер</span> и <span classInterface«>Вызов сервера</span>. Пусть общий модуль имеет имя <span classTerm«>РаботаСИнтерфейсом</span>. В общем модуле необходимо поместить следующую процедуру:</p> <a classcopy_source» href#_top» onClickreturn false«>Копировать в буфер обмена</a> <pre classsrc_dev«><span classkeyword«>Процедура</span> ПростаяНачальнаяСтраница<span classoperator«>(</span><span classoperator«>)</span> <span classkeyword«>Экспорт</span> НачальнаяСтраница <span classoperator«>=</span> <span classkeyword«>Новый</span> НастройкиНачальнойСтраницы<span classoperator«>;</span> СоставФорм <span classoperator«>=</span> <span classkeyword«>Новый</span> СоставФормНачальнойСтраницы<span classoperator«>;</span> СоставФорм<span classoperator«>.</span>ЛеваяКолонка<span classoperator«>.</span>Добавить<span classoperator«>(</span><span classstring«>&quot;Справочник.Товары.ФормаСписка&quot;</span><span classoperator«>)</span><span classoperator«>;</span> СоставФорм<span classoperator«>.</span>ПраваяКолонка<span classoperator«>.</span>Добавить<span classoperator«>(</span><span classstring«>&quot;ФормаПоиска&quot;</span><span classoperator«>)</span><span classoperator«>;</span> НачальнаяСтраница<span classoperator«>.</span>УстановитьСоставФорм<span classoperator«>(</span>СоставФорм<span classoperator«>)</span><span classoperator«>;</span> ХранилищеСистемныхНастроек<span classoperator«>.</span>Сохранить<span classoperator«>(</span><span classstring«>&quot;Общее/НастройкиНачальнойСтраницы&quot;</span><span classoperator«>,</span> <span classstring«>&quot;&quot;</span><span classoperator«>,</span> НачальнаяСтраница<span classoperator«>)</span><span classoperator«>;</span> <span classkeyword«>КонецПроцедуры</span> </pre> <p classMsoNormal«>В модуле управляемого приложения необходимо разместить обработчик события <span classTerm«>ПриНачалеРаботыСистемы</span>:</p> <a classcopy_source» href#_top» onClickreturn false«>Копировать в буфер обмена</a> <pre classsrc_dev«><span classkeyword«>Процедура</span> ПриНачалеРаботыСистемы<span classoperator«>(</span><span classoperator«>)</span> РаботаСИнтерфейсом<span classoperator«>.</span>ПростаяНачальнаяСтраница<span classoperator«>(</span><span classoperator«>)</span><span classoperator«>;</span> ОбновитьИнтерфейс<span classoperator«>(</span><span classoperator«>)</span><span classoperator«>;</span> <span classkeyword«>КонецПроцедуры</span></pre> <p classMsoNormalCxSpFirst«>В результате, вне зависимости от того, какие настройки начальной страницы (рабочего стола) настройки осуществил пользователь в предыдущем сеансе работы, каждый новый сеанс будет начинаться с фиксированных настроек начальной страницы (рабочего стола).</p> <p classMsoNormalCxSpLast«>При формировании настроек начальной страницы (рабочего стола) можно указывать как полные имена форм объектов конфигурации (например, <span classTerm«>Справочник.Товары.Форма.ИмяФормы</span>), так и стандартные имена форм (например, <span classTerm«>Справочник.Товары.ФормаСписка</span>). Также нужно помнить, что программная настройка начальной страницы (рабочего стола) не изменить шаблон начальной области (рабочего стола). При программной настройке будет использовать тот шаблон начальной страницы (рабочего стола), который выбран при настройке начальной страницы (рабочего стола) при помощи соответствующего редактора (см. <a href#_ref370731128«>здесь</a>).</p> <a idTI000000963» classbookmark» nameissogl1_27.5_редактор_командного_интерфейса_основного_раздела«><h2>27.5. Редактор командного интерфейса основного раздела</h2></a> <p classRegularbeforepicture«>Редактор позволяет настроить состав команд каждой командной панели, порядок отображения и видимость элементов командного интерфейса по ролям.</p> <p classPicture«><IMG src_img/img00509.gif?_=1496848987» WIDTH718» ALT HEIGHT484«></p> <p classMsoCaption«>Рис. 501. Редактор «Командный интерфейс основного раздела»</p> <p classMsoNormal«>В редакторе располагаются два табличных поля. В одном (справа) выполняется собственно редактирование командного интерфейса, а другое (слева) содержит иерархический список доступных команд конфигурации, которые могут быть добавлены в интерфейс основного раздела. Команды, которые попадают в список <span classInterface«>Доступные команды</span>, отвечают следующим условиям:</p> <p classMsoListBulletCxSpFirst«>● команда не имеет параметра;</p> <p classMsoListBulletCxSpLast«>● группа, которая указана для команды, относится к панели навигации или панели действий.</p> <p classMsoNormalCxSpFirst«>В табличном поле редактора интерфейса, в колонке <span classInterface«>Команда</span>, выводится структура команд, сгруппированных по группам панели действий (<span classInterface«>Важное</span>, <span classInterface«>Обычное</span>, <span classInterface«>См. также</span>), панели навигации (<span classInterface«>Создать</span>, <span classInterface«>Отчеты</span>, <span classInterface«>Сервис</span>) и группы команд, определенных в ветке дерева метаданных <span classInterface«>Общие – Группы команд</span>. В табличном поле размещена колонка <span classInterface«>Общая видимость команды</span>. Также система размещает колонки настройки видимости команд для каждой определенной в конфигурации роли.</p> <p classMsoNormalCxSpMiddle«>Для выбора команды следует раскрыть нужную ветвь таблицы доступных команд и выбрать команду. Чтобы перенести команду в командный интерфейс, следует указать команду и нажать кнопку <span classInterface«>Добавить команду в основной раздел</span> (или нажать клавишу <span classInterface«>Enter</span>, или дважды щелкнуть мышью строку с командой). Выбранная команда переносится в панель и группу, определенную для команды при настройке текущего объекта метаданных (свойство <span classInterface«>Группа</span>), команда которого переносится. Если кнопка <span classInterface«>Добавить команду в основной раздел</span> недоступна, то выбранную команду перенести в основной раздел нельзя. Например, если для перечисления не установлено свойство <span classInterface«>Использовать стандартные команды</span>.</p> <p classMsoNormalCxSpMiddle«>Изначально порядок отображения команд в командном интерфейсе рабочего стола и настройки их видимости устанавливаются системой. При этом можно настраивать видимость как для всех команд или отобрать команды по ролям, которым они доступны.</p> <p classMsoNormalCxSpMiddle«>Можно использовать кнопку <span classInterface«>Переместить команду</span> для перемещения команд между группами. Также команды можно перемещать, перетаскивая их на нужное место мышью в пределах групп одной панели. Для установки порядка команд в группе нужно использовать кнопки перемещения вверх и вниз.</p> <p classMsoNormalCxSpLast«>Нажатие кнопки <span classInterface«>Установить свойства по умолчанию</span> заменяет настройки видимости команды и вхождение в группу на настройки, установленные системой по умолчанию.</p> <p classRegularbeforepicture«>Если в конфигурации нет ни одной подсистемы, то редактор имеет другой вид:</p> <p classPicture«><IMG src_img/img00510.gif?_=1496848987» WIDTH639» ALT HEIGHT393«></p> <p classMsoCaption«>Рис. 502. Нет подсистем</p> <p classMsoNormalCxSpFirst«>В этом случае на рабочем столе доступны все команды системы, и необходимо только расставить доступность команд по умолчанию.</p> <p classMsoNormalCxSpLast«>Общие правила управления видимостью см. <a href#_ref220744784«>здесь</a>. Описание отбора по ролям см. <a href#_ref220744816«>здесь</a>.</p> <a idTI000000964» classbookmark» nameissogl1_27.6_редактор_командного_интерфейса«><h2>27.6. Редактор командного интерфейса</h2></a> <p classMsoNormal«>Редактор командного интерфейса позволяет настроить состав команд каждой командной панели, порядок отображения и видимость элементов командного интерфейса по ролям.</p> <p classRegularbeforepicture«>В табличном поле в первой (слева) колонке выводится полный список команд, сгруппированный по группам (как системные <span classInterface«>Важное</span>, <span classInterface«>Обычное</span>, <span classInterface«>См. также</span>, <span classInterface«>Отчеты</span>, <span classInterface«>Сервис</span> и др., так и группы, определенные в ветке дерева метаданных <span classInterface«>Группы команд</span>) панелей действий и навигации. Затем в табличном поле следует колонка для управления общей видимостью команд.</p> <p classPicture«><IMG src_img/img00511.gif?_=1496848987» WIDTH682» ALT HEIGHT449«></p> <p classMsoCaption«>Рис. 503. Редактор «Командный интерфейс»</p> <p classMsoNormalCxSpFirst«>Система устанавливает порядок команд автоматически. При необходимости ручной настройки порядка отображения команд в группах следует использовать кнопки перемещения или перетаскивать команды. При этом рядом с группой будет отображаться строка <span classInterface«>Ручной порядок команд</span>. Чтобы отменить изменения порядка, нужно у группы в контекстном меню выбрать пункт контекстного меню <span classInterface«>Восстановить автоматический порядок команд</span>.</p> <p classMsoNormalCxSpMiddle«>Можно использовать кнопку <span classInterface«>Переместить команду</span> для перемещения команд между группами. Также команды можно перемещать, перетаскивая их на нужное место мышью в пределах групп одной панели. Для установки порядка команд в группе нужно использовать кнопки перемещения вверх и вниз.</p> <p classMsoNormalCxSpMiddle«>Нажатие кнопки <span classInterface«>Установить свойства по умолчанию</span> заменяет настройки видимости команды и вхождение в группу на настройки, установленные системой по умолчанию.</p> <p classMsoNormalCxSpLast«>Общие правила управления видимостью см. <a href#_ref220744784«>здесь</a>. Описание отбора по ролям см. <a href#_ref220744816«>здесь</a>.</p> <a name_ref217219607«></a><a idTI000000965» classbookmark» nameissogl1_27.7_редактор_все_подсистемы«><h2>27.7. Редактор «Все подсистемы»</h2></a> <p classMsoNormal«>Редактор <span classInterface«>Все подсистемы</span> предназначен для удобного решения следующих задач:</p> <p classMsoListBulletCxSpFirst«>● редактирование командного интерфейса любой подсистемы,</p> <p classMsoListBulletCxSpMiddle«>● задание состава и свойств любой подсистемы,</p> <p classMsoListBulletCxSpMiddle«>● настройка порядка следования подсистем,</p> <p classMsoListBulletCxSpLast«>● редактирование состава подсистем.</p> <p classNote«><span classNote«>Примечание.</span> Редактор командного интерфейса подсистемы можно также открыть из свойства подсистемы <span classInterface«>Командный интерфейс</span> по ссылке <span classInterface«>Открыть</span>.</p> <p classRegularbeforepicture«>В списке <span classInterface«>Подсистемы</span> устанавливается порядок подсистем в дереве конфигурации. Этот порядок не влияет на порядок следования подсистем в панели разделов.</p> <p classPicture«><IMG src_img/img00512.gif?_=1496848987» WIDTH708» ALT HEIGHT404«></p> <p classMsoCaption«>Рис. 504. Редактор «Все подсистемы»</p> <p classMsoNormalCxSpFirst«>Для того чтобы установить порядок подсистем на панели разделов, следует в списке <span classInterface«>Подсистемы</span> перейти на нужный элемент и выполнить необходимое редактирование (порядок и перемещение подсистемы).</p> <p classMsoNormalCxSpMiddle«>Для редактирования свойств подсистемы нужно использовать палитру свойств или редактор подсистемы (выбрать подсистемы и нажать кнопку <span classInterface«>Изменить текущий элемент</span>).</p> <p classMsoNormalCxSpMiddle«>Чтобы переместить подсистемы (вместе с подчиненными подсистемами), нужно выбрать подсистему и нажать кнопку <span classInterface«>Переместить подсистему</span>. В открывшемся окне выбора объекта указать подсистему, в которую будет перенесена текущая подсистема. Запрещается перенос в подсистемы, входящие в текущую подсистему.</p> <p classMsoNormalCxSpLast«>Общие правила управления видимостью см. <a href#_ref220744784«>здесь</a>. Описание отбора по ролям см. <a href#_ref220744816«>здесь</a>.</p> <a idTI000000966» classbookmark» nameissogl2_27.7.1_настройка_состава_подсистемы«><h3>27.7.1. Настройка состава подсистемы</h3></a> <p classMsoNormalCxSpFirst«>Под списком подсистем находится иерархический список <span classInterface«>Состав</span>, в котором формируется состав метаданных, относящийся к текущей подсистеме списка подсистем. Следует учитывать, что в показываемый состав не включаются метаданные, относящиеся к подчиненным подсистемам, если в этих подсистемах эти метаданные не определены.</p> <p classMsoNormalCxSpMiddle«>Для изменения состава следует нажать кнопку <span classInterface«>Редактировать состав подсистемы</span>. Открывается окно выбора объекта, которое содержит дерево метаданных. Объекты, у которых установлены флажки, включены в состав подсистемы.</p> <p classMsoNormalCxSpLast«>В окне выбора нужно указать те объекты, которые должны быть включены в состав подсистемы. Нажатие кнопки <span classInterface«>OK</span> закрывает окно выбора и формирует состав подсистемы.</p> <a idTI000000967» classbookmark» nameissogl2_27.7.2_настройка_командного_интерфейса_подсистемы«><h3>27.7.2. Настройка командного интерфейса подсистемы</h3></a> <p classMsoNormalCxSpFirst«>Настройка командного интерфейса подсистемы осуществляется в табличном поле, расположенном справа от списка подсистем и состава команд подсистемы.</p> <p classMsoNormalCxSpLast«>Общие правила управления видимостью см. <a href#_ref220744784«>здесь</a>. Описание отбора по ролям см. <a href#_ref220744816«>здесь</a>.</p> <a idTI000000968» classbookmark» nameissogl1_27.8_конструктор_запросов«><h2>27.8. Конструктор запросов</h2></a> <p classMsoNormalCxSpFirst«>Конструктор запросов позволяет сформировать текст запроса в модуле и отредактировать имеющийся запрос.</p> <p classMsoNormalCxSpLast«>Для вызова конструктора запросов нужно открыть модуль, выбрать процедуру, в которую необходимо поместить запрос, установить указатель в той части процедуры, в которой располагается или должно располагаться тело запроса, выбрать пункт <span classInterface«>Текст – Конструктор запросов</span>.</p> <p classRegularbeforepicture«>Если запроса нет, то на экран выводится вопрос: <span classInterface«>Не найден текст запроса. Создать новый?</span> При выборе <span classInterface«>Да</span> на экран выводится окно <span classInterface«>Конструктор запросов</span>. Если запрос редактируется, то на экран выводится окно <span classInterface«>Конструктор запросов</span>, содержащее данные текущего запроса.</p> <p classPicture«><IMG src_img/img00513.gif?_=1496848987» WIDTH631» ALT HEIGHT564«></p> <p classMsoCaption«><a name_ref221519723«>Рис. </a>505. Конструктор запроса в конструкторе выходной формы</p> <p classMsoNormalCxSpFirst«>С помощью кнопки <span classInterface«>Упорядочить список</span>, расположенной над списком <span classInterface«>База данных</span>, можно упорядочить список объектов. Повторное нажатие кнопки отменяет упорядочивание.</p> <p classMsoNormalCxSpMiddle«>С помощью кнопки <span classInterface«>Отображать таблицы изменений</span> можно отобразить таблицы изменений объектов конфигурации в списке объектов в виде отдельных веток <span classInterface«>&lt;ИмяОбъекта&gt;.Изменения</span>. Повторное нажатие кнопки скроет такие ветки в списке.</p> <p classMsoNormalCxSpLast«>Для того чтобы создать вложенный запрос, нужно нажать кнопку <span classInterface«>Создать вложенный запрос</span> (см. <a href#_ref221519723«>рис.505</a>). В открывшемся конструкторе запроса сформировать требуемый запрос и нажать кнопку <span classInterface«>ОК</span>. Вложенный запрос отобразится в списке <span classInterface«>Таблицы</span>.</p> <p classRegularbeforepicture«>Для использования созданной временной таблицы следует нажать кнопку <span classInterface«>Создать описание временной таблицы</span> (см. <a href#_ref221519723«>рис.505</a>). В отобразившейся форме ввести имя таблицы, имена нужных полей и, при необходимости, указать тип значения полей.</p> <p classPicture«><IMG src_img/img00514.gif?_=1496848987» WIDTH364» ALT HEIGHT351«></p> <p classMsoCaption«>Рис. 506. Описание временной таблицы</p> <p classMsoNormalCxSpFirst«>С помощью кнопок <span classInterface«>Далее &gt;</span> конструктора запроса нужно последовательно пройти по закладкам и выбрать необходимые исходные данные, указать группировки и условия, установить нужный порядок и описать итоговые данные. В результате работы конструктора создадутся форма и макет, которые будут располагаться в соответствующих ветвях. По кнопке <span classInterface«>Запрос</span> в любой момент можно открыть окно с текстом сформированного на основании указанных данных запроса.</p> <p classMsoNormalCxSpMiddle«>Для корректировки данных следует использовать кнопку <span classInterface«>&lt; Назад</span>.</p> <p classMsoNormalCxSpLast«>На закладке <span classInterface«>Таблицы и поля</span> выбрать нужные объекты и перенести их в разделы <span classInterface«>Таблицы</span> и <span classInterface«>Поля</span>.</p> <p classRegularbeforepicture«>Для указания дополнительных условий можно воспользоваться режимом формирования произвольных выражений в запросе. Для этого в списке <span classInterface«>Поля</span> контекстного меню нужно выбрать пункт <span classInterface«>Добавить</span>. На экран выводится окно произвольного выражения.</p> <p classPicture«><IMG src_img/img00515.gif?_=1496848987» WIDTH473» ALT HEIGHT369«></p> <p classMsoCaption«>Рис. 507. Конструктор произвольного выражения</p> <p classMsoNormal«>В нижнем поле формируется текст выражения. Выражение можно набирать с помощью клавиатуры. Для удобства ввода наименований реквизитов можно перетаскивать мышью нужные поля из списка полей и выбирать нужные функции языка запросов из списка, также перетаскивая их мышью в поле ввода выражения.</p> <p classRegularbeforepicture«>Если указано несколько таблиц, то в форму конструктора запроса добавляется закладка <span classInterface«>Связи</span>.</p> <p classPicture«><IMG src_img/img00516.gif?_=1496848987» WIDTH631» ALT HEIGHT367«></p> <p classMsoCaption«>Рис. 508. Определение условий связи между таблицами</p> <p classMsoNormal«>На закладке <span classInterface«>Связи</span> формируются условия, которые накладываются на связи между полями таблиц. Для ввода нового условия нужно нажать кнопку <span classInterface«>Добавить</span> и в колонке <span classInterface«>Таблица1</span> выбрать одну из таблиц; в колонке <span classInterface«>Таблица2</span> выбрать таблицу, поля которой связаны с полями первой. Ниже списка условий расположены элементы управления, с помощью которых формируется условие связи таблиц.</p> <p classRegularbeforepicture«>На закладке <span classInterface«>Группировка</span>, если требуется, нужно выбрать реквизиты, по которым будет выполнена группировка.</p> <p classPicture«><IMG src_img/img00517.gif?_=1496848987» WIDTH631» ALT HEIGHT367«></p> <p classMsoCaption«>Рис. 509. Группировка результата запроса</p> <p classRegularbeforepicture«>На закладке <span classInterface«>Условия</span>, если требуется, следует указать условия, по которым будет выполняться отбор исходных данных.</p> <p classPicture«><IMG src_img/img00518.gif?_=1496848987» WIDTH631» ALT HEIGHT367«></p> <p classMsoCaption«>Рис. 510. Условия запроса</p> <p classMsoNormal«>По каждому выбранному полю необходимо выбрать вид условия (для произвольного условия в колонке <span classInterface«>Произвольное</span> установить флажок). Если флажок не установлен, то следует выбрать вид условия и указать наименование параметра. Если флажок <span classInterface«>Произвольное</span> установлен, то можно воспользоваться окном формирования произвольных выражений (см. выше).</p> <p classRegularbeforepicture«>На закладке <span classInterface«>Дополнительно</span> указываются дополнительные условия.</p> <p classPicture«><IMG src_img/img00519.gif?_=1496848987» WIDTH631» ALT HEIGHT367«></p> <p classMsoCaption«>Рис. 511. Дополнительные параметры запроса</p> <p classRegularbeforepicture«>Если на закладке <span classInterface«>Дополнительно</span> выбрано создание временной таблицы, то на появившейся закладке <span classInterface«>Индекс</span> можно будет выбрать поля, по которым будет построен индекс.</p> <p classPicture«><IMG src_img/img00520.gif?_=1496848987» WIDTH631» ALT HEIGHT367«></p> <p classMsoCaption«>Рис. 512. Индекс временной таблицы</p> <p classRegularbeforepicture«>На закладке <span classInterface«>Объединения/Псевдонимы</span>, если требуется, нужно ввести псевдонимы полей.</p> <p classPicture«><IMG src_img/img00521.gif?_=1496848987» WIDTH631» ALT HEIGHT367«></p> <p classMsoCaption«>Рис. 513. Объединения/псевдонимы запроса</p> <p classMsoNormalCxSpFirst«>В таблице показано соответствие выбранных полей и исходных данных. Имена полей и соответствие можно изменить. Для изменения имени нужно выбрать поле и нажать клавишу <span classInterface«>Enter</span>, ввести новое имя поля. Для изменения соответствия в колонке <span classInterface«>Запрос</span> выбрать нужную строку и нажать клавишу <span classInterface«>Enter</span>. В выпадающем списке выбрать нужное значение.</p> <p classMsoNormalCxSpMiddle«>Если требуется выбрать только уникальные значения, то следует установить флажок в колонке <span classInterface«>Без дубл</span>.</p> <p classMsoNormalCxSpLast«>Псевдонимы полей, которые изменены пользователем, или были загружены из текста запроса, или при генерации псевдонима конструктор определил, что данный псевдоним обязателен, выделяются жирным шрифтом.</p> <p classRegularbeforepicture«>На закладке <span classInterface«>Порядок</span>, если требуется, нужно указать порядок вывода полученных данных.</p> <p classPicture«><IMG src_img/img00522.gif?_=1496848987» WIDTH631» ALT HEIGHT367«></p> <p classMsoCaption«><a name_ref215036265«>Рис. </a>514. Настройка упорядочивания результата запроса</p> <p classMsoNormal«>Как показано на <a href#_ref215036265«>рис.514</a>, выбран порядок вывода данных, отсортированных по дате, а в пределах одной даты выполняется сортировка по <span classInterface«>Поставщику</span>.</p> <p classRegularbeforepicture«>На закладке <span classInterface«>Итоги</span>, если требуется, следует указать, по каким полям нужно выводить промежуточные итоговые данные, а также указать необходимость формирования общих итогов.</p> <p classPicture«><IMG src_img/img00523.gif?_=1496848987» WIDTH631» ALT HEIGHT367«></p> <p classMsoCaption«>Рис. 515. Установка итогов для результата запроса</p> <p classMsoNormalCxSpFirst«>При нажатии кнопки <span classInterface«>&gt;&gt;</span>, расположенной рядом с групповыми полями, в поля для группировки будут помещены все ссылочные поля. При нажатии кнопки <span classInterface«>&gt;&gt;</span>, расположенной рядом с суммируемыми полями, в список суммируемых полей будут помещены все поля, имеющие числовой тип.</p> <p classMsoNormalCxSpLast«>На закладке <span classInterface«>Построитель</span> выполняется настройка построителя отчетов. Выбираются таблицы и поля, указываются условия и порядок представления, а также описываются итоговые данные.</p> <p classMsoListBulletCxSpFirst«>● На закладке <span classInterface«>Таблицы</span> редактируются параметры построителя отчета для виртуальных таблиц, а также отмечаются необязательные таблицы. Для редактирования параметров виртуальных таблиц необходимо выделить таблицу, для которой требуется настроить параметры, вызвать команду <span classInterface«>Параметры виртуальной таблицы</span>, после чего в появившемся диалоге ввести необходимые параметры таблицы для построителя отчета. Для того чтобы отметить таблицу как необязательную, необходимо снять флажок <span classInterface«>Обязательная</span> напротив имени таблицы, которую нужно пометить. Кроме того, для необязательных таблиц можно указать номер группы. Необязательные таблицы, находящиеся рядом в списке соединений и имеющие одинаковые номера групп, будут объединены в одну необязательную группу. Необязательные таблицы с различными номерами групп будут разнесены по различным группам необязательных таблиц.</p> <p classMsoListBulletCxSpMiddle«>● На закладке <span classInterface«>Поля</span> выбираются поля, которые построитель отчета будет использовать в качестве доступных полей для вывода в отчет.</p> <p classMsoListBulletCxSpMiddle«>● На закладке <span classInterface«>Условия</span> выбираются поля, которые построитель отчета будет использовать в качестве доступных полей для отбора.</p> <p classMsoListBulletCxSpMiddle«>● На закладке <span classInterface«>Порядок</span> выбираются поля, которые построитель отчета будет использовать в качестве доступных полей для упорядочивания результата.</p> <p classMsoListBulletCxSpLast«>● На закладке <span classInterface«>Итоги</span> выбираются поля, которые построитель отчета будет использовать в качестве доступных полей для группировки отчета.</p> <p classRegularbeforepicture«>На закладке <span classInterface«>Пакет запросов</span> при работе с пакетными запросами создается последовательность запросов пакета. Каждый запрос редактируется и настраивается в этом же окне, а на всех предыдущих закладках можно переключаться между настраиваемыми запросами.</p> <p classPicture«><IMG src_img/img00524.gif?_=1496848987» WIDTH631» ALT HEIGHT367«></p> <p classMsoCaption«>Рис. 516. Пакет запросов</p> <p classMsoNormalCxSpFirst«>По нажатию кнопки <span classInterface«>ОК</span> в программном модуле формируется текст запроса. Если происходит попытка открыть конструктором некорректный текст запроса, то при вызове конструктора запросов происходит автоматическая установка курсора в строку запроса, в которой обнаружена ошибка, и выдается диагностическое сообщение.</p> <p classMsoNormalCxSpLast«>В зависимости от того, откуда вызывается конструктор запроса (система компоновки данных, запрос с обработкой результата и т. д.), в форме конструктора могут добавляться новые закладки, описание которых можно увидеть в описании того механизма, откуда вызывается конструктор запроса.</p> <a name_ref150073309«></a><a name_ref141014984«></a><a name_ref141002886«></a><a idTI000000969» classbookmark» nameissogl1_27.9_конструктор_запроса_с_обработкой_результата«><h2>27.9. Конструктор запроса с обработкой результата</h2></a> <p classMsoNormal«>Конструктор предназначен для генерации программного кода обработки результатов запроса. Данный конструктор помогает создавать следующие варианты обработки результатов запроса:</p> <p classMsoListBulletCxSpFirst«>● простой обход результатов запроса,</p> <p classMsoListBulletCxSpMiddle«>● вывод результатов запроса в табличный документ,</p> <p classMsoListBulletCxSpLast«>● вывод результатов запроса в диаграмму.</p> <p classMsoNormalCxSpFirst«>Для вызова конструктора предназначен пункт <span classInterface«>Конструктор запроса с обработкой результата</span> контекстного меню редактора модулей.</p> <p classMsoNormalCxSpLast«>При вызове конструктор ищет в текущей строке код, который мог быть создан конструктором. Если такой код найден, то конструктор загружает найденный код (включая имена макетов и т. д.).</p> <p classRegularbeforepicture«>Окно конструктора запроса будет отличаться от описанного выше редактора запросов (см. <a href#_ref222321022«>здесь</a>).</p> <p classPicture«><IMG src_img/img00525.gif?_=1496848987» WIDTH716» ALT HEIGHT419«></p> <p classMsoCaption«>Рис. 517. Конструктор запроса с обработкой результата</p> <p classMsoNormal«>В конструкторе, открытом в таком режиме:</p> <p classMsoListBullet«>● На закладке <span classInterface«>Обработка результата</span> происходит выбор типа обработки результата запроса:</p> <p classMsoListBullet2CxSpFirst«><span classInterface«>Обход результата</span>,</p> <p classMsoListBullet2CxSpMiddle«><span classInterface«>Вывод в табличный документ</span>,</p> <p classMsoListBullet2CxSpLast«><span classInterface«>Вывод в диаграмму</span>.</p> <p classMsoListBullet«>● При выборе режима <span classInterface«>Вывод в табличный документ</span> и <span classInterface«>Вывод в диаграмму</span> отображаются параметры вывода в данные объекты.</p> <p classMsoNormalCxSpFirst«>После нажатия кнопки <span classInterface«>ОК</span> генерируется программный код, который будет вставлен в текущую позицию модуля. Если конструктор вызывался над уже сгенерированным кодом, старый код заменяется.</p> <p classMsoNormalCxSpLast«>Если вывод осуществлялся в табличный документ, то в объекте метаданных, в модуле объекта или модуле формы которого он вызывался, создается макет для вывода в табличный документ. Он же модифицируется при повторном вызове конструктора. Данный макет удаляется, если ранее конструктор использовался для создания табличного документа, а теперь вызывается для генерации другого способа обработки результатов запроса. Если конструктор вызывается в общем модуле, то создается общий макет.</p> <p classNote«><span classNote«>Примечание.</span> Если у конфигурации установлен режим редактирования конфигурации для режимов запуска в управляемом приложении, то в меню объектов метаданных недоступна команда вызова конструктора выходных форм.</p> <a name_ref141014676«></a><a name_ref141003552«></a><a idTI000000970» classbookmark» nameissogl1_27.10.конструктор_движений_регистров«><h2>27.10.Конструктор движений регистров</h2></a> <p classMsoNormalCxSpFirst«>Конструктор движений регистров применяется для документов.</p> <p classMsoNormalCxSpLast«>Для запуска конструктора движений регистров в окне редактирования документа, на закладке <span classInterface«>Движения</span> нужно указать состав регистров, движения которых осуществляет данный документ, и нажать кнопку <span classInterface«>Конструктор движений</span>. Если для выбранного документа определен состав движений хотя бы по одному регистру, то указанный пункт контекстного меню будет доступен.</p> <p classRegularbeforepicture«>При запуске конструктор запрашивает выбор регистра, по которому будет произведено формирование процедуры <span classTerm«>ОбработкаПроведения()</span>, и открывает окно конструктора.</p> <p classPicture«><IMG src_img/img00526.gif?_=1496848987» WIDTH492» ALT HEIGHT410«></p> <p classMsoCaption«>Рис. 518. Конструктор движений регистров</p> <p classMsoNormalCxSpFirst«>Первоначально список содержит только указанный регистр. Список можно изменить, добавляя регистры из списка регистров, отмеченных на закладке <span classInterface«>Движения</span> окна редактирования документа.</p> <p classMsoNormalCxSpMiddle«>Для каждого регистра в зависимости от его типа необходимо указать предварительные настройки: для регистров накопления остатков указать тип движения; для регистров бухгалтерии, не поддерживающих корреспонденцию, – вид корреспонденции и счет; для регистров, поддерживающих корреспонденцию, – счет дебета и счет кредита.</p> <p classMsoNormalCxSpMiddle«>Если у документа есть табличные части и их данные должны влиять на состояние регистров, то включение табличной части производится в списке выбора <span classInterface«>Табличная часть</span>.</p> <p classMsoNormalCxSpMiddle«>Затем для каждого регистра производится заполнение формул атрибутов по данным реквизитов документа.</p> <p classMsoNormalCxSpMiddle«>В список формул нужно поместить формулы, определяющие, как вычислять движения регистра по выбранным реквизитам документа.</p> <p classMsoNormalCxSpMiddle«>Эти формулы можно создавать «вручную» следующим образом. Формула вводится в колонке <span classInterface«>Формула</span> для каждого атрибута регистра, выделенного в списке. Можно вручную набрать ее в этом поле (а также вручную редактировать в нем созданную ранее формулу). Правильность написания формул конструктор не проверяет.</p> <p classMsoNormalCxSpMiddle«>Можно также двойным щелчком в списке реквизитов документа помещать данные соответствующего реквизита в формулу. Конструктор не проверяет соответствие типов выбранных реквизитов.</p> <p classMsoNormalCxSpMiddle«>Если есть хотя бы один тип, принадлежащий как реквизиту, так и измерению/ресурсу регистра и при этом их наименования совпадают, то для таких подчиненных объектов можно применить режим <span classInterface«>Автозаполнение</span>. Наименование реквизитов при нажатии кнопки <span classInterface«>Заполнить выражения</span> заносится в колонку <span classInterface«>Выражение</span> и может быть отредактировано.</p> <p classMsoNormalCxSpLast«>В результате работы конструктора в модуле объекта создается процедура <span classTerm«>ОбработкаПроведения()</span>. В начало процедуры конструктор помещает предупреждение: <span classInterface«>Данный фрагмент построен конструктором. При повторном использовании конструктора внесенные вручную изменения будут потеряны!</span></p> <a name_ref141014572«></a><a name_ref141002742«></a><a name_ref425413158«></a><a idTI000000971» classbookmark» nameissogl1_27.11.конструктор_печати«><h2>27.11.Конструктор печати</h2></a> <p classMsoNormalCxSpFirst«>Конструктор печати предназначен для создания макета с заданными именованными областями и процедуры печати для объекта конфигурации.</p> <p classMsoNormalCxSpLast«>Конструктор печати работает с объектами конфигурации:</p> <p classMsoListBulletCxSpFirst«>● Справочники,</p> <p classMsoListBulletCxSpMiddle«>● Документы,</p> <p classMsoListBulletCxSpMiddle«>● Журналы документов,</p> <p classMsoListBulletCxSpMiddle«>● Планы видов характеристик,</p> <p classMsoListBulletCxSpMiddle«>● Планы счетов,</p> <p classMsoListBulletCxSpMiddle«>● Планы расчетов,</p> <p classMsoListBulletCxSpLast«>● Планы обмена.</p> <p classMsoNormalCxSpFirst«>Основные приемы работы с конструктором печати будут рассмотрены ниже на примере работы со справочником. Для других видов объектов конфигурации работа с конструктором может несколько отличаться.</p> <p classMsoNormalCxSpLast«>Для запуска конструктора печати в окне <span classInterface«>Конфигурация</span> нужно указать требуемый объект. В контекстном меню выбрать пункт <span classInterface«>Конструкторы – Конструктор печати</span>.</p> <p classRegularbeforepicture«>В связи с тем, что результатом работы конструктора печати является процедура печати, располагаемая в модуле менеджера объекта, конструктор сначала проверяет доступность данного модуля. Если модуль объекта имеет ограничение доступа, на экран выводится запрос пароля. После ввода пароля на экран выводится окно конструктора.</p> <p classPicture«><IMG src_img/img00527.gif?_=1496848987» WIDTH578» ALT HEIGHT436«></p> <p classMsoCaption«>Рис. 519. Выбор варианта работы</p> <p classMsoNormalCxSpFirst«>Вначале конструктор предлагает выбрать, для какого варианта запуска будет формироваться модуль печати.</p> <p classMsoNormalCxSpLast«>Затем конструктор предлагает создать новую команду печати или изменить существующую команду. В случае создания новой команды предлагается указать ее имя. По умолчанию для команды предлагается имя <span classInterface«>Печать</span>. Указанное имя будет использоваться в качестве:</p> <p classMsoListBulletCxSpFirst«>● имени команды объекта;</p> <p classMsoListBulletCxSpMiddle«>● имени серверного метода модуля команды;</p> <p classMsoListBulletCxSpLast«>● имени метода менеджера объекта, который непосредственно реализует процедуру печати.</p> <p classPicture«><IMG src_img/img00528.gif?_=1496848987» WIDTH578» ALT HEIGHT436«></p> <p classMsoCaption«>Рис. 520. Создание команды печати</p> <p classMsoNormal«>Если выбрано изменение существующей команды, то в модуле команды объекта будут замещены тексты обработчика <span classTerm«>ОбработкаКоманды()</span>, серверного метода с именем команды (в данном случае – <span classTerm«>Печать()</span>), метода модуля менеджера объекта с именем команды и макета.</p> <p classRegularbeforepicture«>После нажатия кнопки <span classInterface«>Далее &gt;</span> конструктор переходит к выбору реквизитов шапки. С помощью кнопок переноса нужно сформировать список реквизитов.</p> <p classPicture«><IMG src_img/img00529.gif?_=1496848987» WIDTH578» ALT HEIGHT436«></p> <p classMsoCaption«>Рис. 521. Выбор реквизитов шапки</p> <p classMsoNormalCxSpFirst«>Если объект конфигурации имеет табличные части, то после нажатия кнопки <span classInterface«>Далее &gt;</span> конструктор переходит к выбору реквизитов очередной табличной части. Список печати формируется аналогично списку реквизитов шапки.</p> <p classMsoNormalCxSpLast«>Если объект конфигурации имеет табличные части, то после нажатия кнопки <span classInterface«>Далее &gt;</span> конструктор переходит к выбору реквизитов подвала.</p> <p classRegularbeforepicture«>Затем следует указать, к какой группе будет отнесена созданная команда, и указать некоторые параметры сформированного табличного документа.</p> <p classPicture«><IMG src_img/img00530.gif?_=1496848987» WIDTH578» ALT HEIGHT436«></p> <p classMsoCaption«>Рис. 522. Настройка конструктора печати</p> <p classMsoNormalCxSpFirst«>Нажатие кнопки <span classInterface«>ОК</span> завершает работу конструктора печати.</p> <p classMsoNormalCxSpLast«>В результате работы конструктора:</p> <p classMsoListBulletCxSpFirst«>● У выбранного объекта создается макет <span classInterface«>Макет</span> с печатной формой (имя формы соответствует имени созданной команды).</p> <p classMsoListBulletCxSpMiddle«>● У выбранного объекта создается команда, которая подготавливает табличный документ и вызывает серверную процедуру (с именем команды), заполняющую переданный табличный документ.</p> <p classMsoListBulletCxSpLast«>● В модуле менеджера выбранного объекта генерируется процедура, параметры которой позволяют печатать сразу несколько объектов (список). Созданная команда получает права, аналогичные праву <span classInterface«>Просмотр</span> объекта, для которого вызывается конструктор.</p> <a name_ref141014854«></a><a name_ref141014711«></a><a name_ref141014641«></a><a name_ref141003107«></a><a idTI000000972» classbookmark» nameissogl1_27.12.конструктор_ввода_на_основании«><h2>27.12.Конструктор ввода на основании</h2></a> <p classMsoNormalCxSpFirst«>Конструктор ввода на основании облегчает задачу разработки процедуры, с помощью которой будет формироваться новый объект.</p> <p classMsoNormalCxSpLast«>Конструктор ввода на основании применяется:</p> <p classMsoListBulletCxSpFirst«>● для справочников,</p> <p classMsoListBulletCxSpMiddle«>● документов,</p> <p classMsoListBulletCxSpMiddle«>● планов видов характеристик,</p> <p classMsoListBulletCxSpMiddle«>● планов счетов,</p> <p classMsoListBulletCxSpMiddle«>● планов видов расчета,</p> <p classMsoListBulletCxSpMiddle«>● планов обмена,</p> <p classMsoListBulletCxSpMiddle«>● бизнес-процессов,</p> <p classMsoListBulletCxSpLast«>● задач.</p> <p classMsoNormal«>Для запуска конструктора в окне <span classInterface«>Конфигурация</span> нужно указать требуемый объект. В контекстном меню выбрать пункт <span classInterface«>Конструкторы – Конструктор ввода на основании</span>. Если для выбранного объекта конфигурации определен режим ввода на основании, то указанный пункт контекстного меню будет доступен.</p> <p classRegularbeforepicture«>При запуске открывается окно <span classInterface«>Конструктор ввода на основании</span>.</p> <p classPicture«><IMG src_img/img00531.gif?_=1496848987» WIDTH598» ALT HEIGHT488«></p> <p classMsoCaption«>Рис. 523. Конструктор ввода на основании</p> <p classMsoNormalCxSpFirst«>В верхней части содержится список объектов-оснований; список реквизитов объекта-основания, выбранного в первом списке.</p> <p classMsoNormalCxSpMiddle«>В нижней части расположен список реквизитов результирующего объекта. В список реквизитов объекта нужно поместить выражения, определяющие, как заполнять реквизиты документа по выбранным реквизитам объекта-основания.</p> <p classMsoNormalCxSpMiddle«>Эти формулы можно создавать «вручную» следующим образом. Выражение определяется в поле ввода <span classInterface«>Формула</span> заполнения реквизита для реквизита объекта, выделенного в списке. Можно вручную набрать ее в этом поле (а также вручную редактировать в нем созданную ранее формулу). Правильность написания формул конструктор не проверяет.</p> <p classMsoNormalCxSpMiddle«>Можно также двойным щелчком в списке реквизитов объекта-основания помещать данные соответствующего реквизита в поле <span classInterface«>Формула</span> заполнения реквизита, причем сразу в правильной записи. Конструктор не проверяет соответствие типов выбранных реквизитов.</p> <p classMsoNormalCxSpMiddle«>Возможна и комбинация двух описанных способов: данные из списка реквизитов объектов-оснований при помещении в поле ввода замещают не всю имеющуюся там информацию, а только выделенные символы.</p> <p classMsoNormalCxSpMiddle«>По кнопке <span classInterface«>Автозаполнение после запроса</span> и подтверждения программа сама создаст формулы для заполнения по реквизитам объекта-основания. Ранее заполненные формулы при автоматическом заполнении не изменяются. Подбор среди реквизитов объекта-основания соответствий реквизитам документа осуществляется с учетом имен реквизитов, их идентификаторов и типов.</p> <p classMsoNormalCxSpMiddle«>По кнопке <span classInterface«>Очистить формулы</span> после запроса и подтверждения очищаются все формулы, созданные как автоматически, так и вручную.</p> <p classMsoNormalCxSpMiddle«>Формулы, созданные для объекта-основания, выбранного в списке объектов-оснований, запоминаются при переходе к другому объекту-основанию этого списка. Поэтому можно, не прекращая работы конструктора, создать процедуры ввода на основании для нескольких документов-оснований. Можно также возвращаться к редактированию процедуры для какого-либо объекта-основания, снова выбирая его в списке.</p> <p classMsoNormalCxSpMiddle«>Для прекращения работы конструктора служат кнопки <span classInterface«>ОК</span> и <span classInterface«>Отмена</span> (соответственно с сохранением и без сохранения сделанных изменений).</p> <p classMsoNormalCxSpMiddle«>В результате работы конструктора в модуле объекта создается процедура <span classTerm«>ОбработкаЗаполнения()</span>. В начало процедуры конструктор помещает предупреждение: <span classInterface«>Данный фрагмент построен конструктором. При повторном использовании конструктора внесенные вручную изменения будут потеряны!</span></p> <p classMsoNormalCxSpLast«>При повторном использовании конструктора все формулы, сформированные ранее для какого-либо документа-основания, будут появляться в списке реквизитов документа при выделении соответствующего документа-основания в списке документов-оснований. Конструктор предъявит для просмотра и редактирования формулы, сформированные при предыдущем его запуске, как с помощью кнопки <span classInterface«>Заполнить</span> формулы автоматически, так и вручную. Более того, он учтет и формулы, вручную внесенные в модуль документа, если они помещены в формируемую им процедуру. Правильность этих формул конструктор не проверяет. Например, если для какого-то реквизита документа указано заполнение двумя различными реквизитами документа-основания, конструктор для показа выберет один из них (по алфавиту). Именно он останется в модуле после обновления результатов работы конструктора. Вторая строка, соответствующая тому же реквизиту, будет удалена.</p> <a name_ref219792197«></a><a name_ref219791782«></a><a name_ref216266793«></a><a name_ref441854797«></a><a idTI000000973» classbookmark» nameissogl1_27.13.конструктор_форм_объектов_конфигурации«><h2>27.13.Конструктор форм объектов конфигурации</h2></a> <p classMsoNormal«>Для каждого объекта конфигурации, в составе которого могут находиться подчиненные объекты типа <span classInterface«>Форма</span>, при добавлении новой формы запускается <span classInterface«>Конструктор формы</span>. Это специальный мастер, с помощью которого производится выбор типа формы и размещаются реквизиты объекта конфигурации. Несмотря на существенные различия типов объектов, для которых производится создание формы, конструкторы имеют много общего. Поэтому рассмотрим работу конструктора форм на примере конструктора формы документа.</p> <p classRegularbeforepicture«>При создании новой формы объекта на экран выводится конструктор формы.</p> <p classPicture«><IMG src_img/img00532.gif?_=1496848987» WIDTH449» ALT HEIGHT420«></p> <p classMsoCaption«>Рис. 524. Конструктор формы</p> <p classMsoNormal«>Группа элементов управления <span classInterface«>Выберите тип формы</span> предназначена для выбора типа формы (состав определяется видом выбранного объекта конфигурации, для которого создается форма). Для объекта конфигурации <span classTerm«>Документ</span> это следующие формы:</p> <p classMsoListBulletCxSpFirst«>● форма документа;</p> <p classMsoListBulletCxSpMiddle«>● форма списка документа;</p> <p classMsoListBulletCxSpMiddle«>● форма выбора документа;</p> <p classMsoListBulletCxSpLast«>● произвольная форма (пустая форма).</p> <p classMsoNormalCxSpFirst«>Число форм по каждому типу форм неограниченно. Если у объекта несколько форм одного типа, то одну из них можно выбрать в качестве основной. Если при вызове формы объекта не указано явно, какую именно форму следует вызвать, на экран будет выводиться основная форма. Для указания основной формы при создании нужно установить флажок <span classInterface«>Назначить форму основной</span>. В дальнейшем выбор основной формы можно изменить в окне редактирования объекта (см. <A href/db/content/v8310doc/src/руководство разработчика/глава 2. работа с конфигурацией.htm?_=1496848987#_ref216514138«>здесь</a>), на закладке <span classInterface«>Формы</span>.</p> <p classMsoNormalCxSpMiddle«>Выбор типа <span classInterface«>Произвольная форма</span> не приводит к созданию основного реквизита. В этом случае форма имеет типовое поведение. Выбор иного типа формы влечет создание основного реквизита и определяет отличительное от типового поведение формы. Данные отличия описываются объектами, называемыми расширение формы (см. описание соответствующих объектов справки по встроенному языку).</p> <p classMsoNormalCxSpMiddle«>Выбор типа формы определяет тип основного реквизита и, следовательно, поведение всей формы, а также возможный состав команд панели инструментов.</p> <p classMsoNormalCxSpMiddle«>Нужно указать имя формы, синоним и комментарий.</p> <p classMsoNormalCxSpMiddle«>Состав команд командных панелей определяется источником действий и типом основного реквизита формы.</p> <p classMsoNormalCxSpLast«>Если нажать кнопку <span classInterface«>Готово</span>, то конструктор самостоятельно разместит элементы управления в форме и откроет форму для редактирования.</p> <p classRegularbeforepicture«>Если необходимо изменить состав реквизитов формы, следует нажать кнопку <span classInterface«>Далее &gt;</span>. Состав реквизитов определяется основным реквизитом формы.</p> <p classPicture«><IMG src_img/img00533.gif?_=1496848987» WIDTH449» ALT HEIGHT422«></p> <p classMsoCaption«>Рис. 525. Выбор реквизитов формы</p> <p classMsoNormal«>На этом шаге конструктора формы следует выбрать реквизиты, которые необходимо разместить в форме. Выбор осуществляется в колонке <span classInterface«>Реквизиты</span> установкой пометки слева от наименования элемента.</p> <p classNote«><span classNote«>ВНИМАНИЕ!</span> Конструктор формы не включает в список те реквизиты, чей тип не имеет визуального представления (например, <span classTerm«>ХранилищеЗначения</span>).</p> <a name_ref217280928«></a><a idTI000000974» classbookmark» nameissogl2_27.13.1_особенности_конструктора_форм_констант«><h3>27.13.1. Особенности конструктора форм констант</h3></a> <p classRegularbeforepicture«>Каждая константа может иметь собственную форму редактирования. Для создания такой формы необходимо выполнить команду <span classInterface«>Создать форму констант</span> контекстного меню нужной константы.</p> <p classPicture«><IMG src_img/img00534.gif?_=1496848987» WIDTH324» ALT HEIGHT349«></p> <p classMsoCaption«>Рис. 526. Создание формы редактирования констант</p> <p classRegularbeforepicture«>После выполнения данной команды будет открыт конструктор общей формы, где в качестве данных будут перечислены все константы системы и текущая константа будет единственным выбранным реквизитом (по умолчанию).</p> <p classPicture«><IMG src_img/img00535.gif?_=1496848987» WIDTH702» ALT HEIGHT420«></p> <p classMsoCaption«>Рис. 527. Выбор редактируемых констант</p> <p classMsoNormalCxSpFirst«>Такая же форма будет автоматически создана системой, если у константы не будет заполнено свойство <span classInterface«>Основная форма</span>, но будет установлено свойство <span classInterface«>Использовать стандартные команды</span>.</p> <p classMsoNormalCxSpMiddle«>Если необходимо создать форму редактирования нескольких констант, то следует создать общую форму типа <span classInterface«>Форма констант</span>, а затем на странице выбора реквизитов указать константы, которые необходимо редактировать.</p> <p classMsoNormalCxSpMiddle«>Формы констант будут входить в командный интерфейс тех подсистем, куда входит сама константа (если у константы установлено свойство <span classInterface«>Использовать стандартные команды</span>) и общая форма редактирования константы (если у общей формы установлено свойство <span classInterface«>Использовать стандартные команды</span>).</p> <p classMsoNormalCxSpLast«>Если для константы, у которой установлено свойство <span classInterface«>Использовать стандартные команды</span>, создается форма редактирования, то конструктор общей формы сбрасывает свойство <span classInterface«>Использовать стандартные команды</span> для формы. Таким образом, формы редактирования константы будут попадать в командные интерфейсы только тех подсистем, куда входит сама константа.</p> <a name_ref141015030«></a><a name_ref141003509«></a><a idTI000000975» classbookmark» nameissogl1_27.14.конструктор_макета«><h2>27.14.Конструктор макета</h2></a> <p classMsoNormal«>Конструктор макета используется для создания макетов объектов конфигурации и общих макетов.</p> <p classRegularbeforepicture«>Окно конструктора выводится на экран при выполнении пункта <span classInterface«>Действия – Добавить</span>, если выбрана ветвь подчиненного объекта <span classInterface«>Макеты</span> или <span classInterface«>Общие макеты</span>.</p> <p classPicture«><IMG src_img/img00536.gif?_=1496848987» WIDTH449» ALT HEIGHT437«></p> <p classMsoCaption«>Рис. 528. Конструктор макета</p> <p classMsoNormalCxSpFirst«>Нужно указать имя, синоним и комментарий и выбрать тип макета.</p> <p classMsoNormalCxSpMiddle«>Тип <span classInterface«>Табличный документ</span> предполагает использование стандартной технологии создания и использования макетов табличных документов системы «1С:Предприятие».</p> <p classMsoNormalCxSpMiddle«>Тип макета <span classInterface«>Текстовый документ</span> предполагает использование специально подготовленных в качестве макетов текстовых документов. Для текстового документа свойство <span classInterface«>Расширение</span> имеет значение <span classInterface«>Текстовый макет</span>.</p> <p classMsoNormalCxSpLast«>Выбор типа <span classInterface«>Двоичные данные</span> подразумевает, что разработчик конфигурации знает, как работать с объектом данного типа.</p> <p classRegularbeforepicture«>Тип макета <span classInterface«>Active document</span> позволяет использовать технологию <span classInterface«>OLE Active document</span>. Если нажать кнопку <span classInterface«>Готово</span>, то конструктор производит поиск доступных типов <span classInterface«>Active document</span> и предлагает выбрать один из найденных.</p> <p classPicture«><IMG src_img/img00537.gif?_=1496848987» WIDTH506» ALT HEIGHT277«></p> <p classMsoCaption«>Рис. 529. Вставка Active document</p> <p classMsoNormalCxSpFirst«>Можно выбрать готовый <span classInterface«>Active document</span>, служащий основой для создания макета (загрузить из файла прототип макета). Если выбран файл, чей тип не попадает в список поддерживаемых <span classInterface«>Active document</span>, то конструктор выводит предупреждение.</p> <p classMsoNormalCxSpMiddle«>Указанный документ будет храниться в конфигурации. Работа с макетом должна быть организована с использованием свойств и методов, предоставляемых выбранной технологической платформой.</p> <p classMsoNormalCxSpLast«>Если выбран тип <span classInterface«>HTML-документ</span>, то открывается редактор HTML-макета. В данном режиме поддерживаются все возможности HTML-редактора. В дополнение к этому редактор HTML-макета позволяет использовать картинки библиотеки картинок, из файла, из файла-коллекции или из «внутренних» картинок. Внутренние картинки – это уже выбранные из файла картинки, они хранятся «внутри» макета.</p> <p classRegularbeforepicture«>Чтобы поместить картинку в макет, нужно выбрать пункт <span classInterface«>Элементы – Картинка…</span></p> <p classPicture«><IMG src_img/img00538.gif?_=1496848987» WIDTH352» ALT HEIGHT193«></p> <p classMsoCaption«>Рис. 530. Вставка картинки</p> <p classRegularbeforepicture«>Для выбора картинки нажать кнопку выбора. В открывшемся окне выбрать нужную картинку.</p> <p classPicture«><IMG src_img/img00539.gif?_=1496848987» WIDTH469» ALT HEIGHT353«></p> <p classMsoCaption«>Рис. 531. Выбор картинки</p> <p classMsoNormalCxSpFirst«>Выбор типа <span classInterface«>Географическая схема</span> позволяет использовать подготовленные редактором географических схем документы для создания макета.</p> <p classMsoNormalCxSpMiddle«>Выбор типа <span classInterface«>Графическая схема</span> позволяет использовать графические схемы, подготовленные в редакторе графических схем, или загрузить схему из файла и использовать ее в качестве макета.</p> <p classMsoNormalCxSpMiddle«>Выбор типа <span classInterface«>Схема компоновки данных</span> открывает конструктор схемы компоновки данных (см. <A href/db/content/v8310doc/src/руководство разработчика/глава 10. система компоновки данных.htm?_=1496848987#_ref166301286«>здесь</a>).</p> <p classMsoNormalCxSpLast«>Выбор типа <span classInterface«>Макет оформления компоновки данных</span> открывает окно конструктора макета оформления (см. <A href/db/content/v8310doc/src/руководство разработчика/глава 10. система компоновки данных.htm?_=1496848987#_ref166301515«>здесь</a>).<br> Выбор типа <span classInterface«>Внешняя компонента</span> позволяет загрузить внешнюю компоненту в zip-архиве. В архив должны входить собственно файлы внешних компонент и специальный манифест. Внешняя компонента, загруженная таким образом, может использоваться как в обычном прикладном решении, так и в мобильном приложении (см. <A href/db/content/v8310doc/src/руководство разработчика/глава 25. разработка решений для мобильной платформы.htm?_=1496848987#_ref335129928«>здесь</a>).</p> <a name_ref216235847«></a><a name_ref216164271«></a><a name_ref452127037«></a><a name_ref452127036«></a><a idTI000000976» classbookmark» nameissogl1_27.15.конструктор_форматной_строки«><h2>27.15.Конструктор форматной строки</h2></a> <p classMsoNormalCxSpFirst«>Для написания выражений, использующих представление числа, даты и логического выражения, можно использовать конструктор форматной строки.</p> <p classMsoNormalCxSpMiddle«>Чтобы вызвать конструктор, нужно установить курсор в требуемое место текста модуля и выбрать пункт <span classInterface«>Текст – Конструктор форматной строки</span>. Для новой строки редактор выводит сообщение: <span classInterface«>Форматная строка не найдена. Создать новую форматную строку?</span> После нажатия кнопки <span classInterface«>Да</span> на экран выводится окно конструктора.</p> <p classMsoNormalCxSpMiddle«>Также конструктор можно вызвать из свойств <span classInterface«>Формат</span> и <span classInterface«>Формат редактирования</span> элемента формы. Для этого нужно нажать кнопку выбора соответствующего свойства.</p> <p classMsoNormalCxSpMiddle«>Закладки окна соответствуют типу данных, форматная строка которых формируется в окне.</p> <p classMsoNormalCxSpLast«>Элементы управления, с помощью которых выбирается формат представления, размещены на трех закладках по типам данных:</p> <p classMsoListBulletCxSpFirst«>● число,</p> <p classMsoListBulletCxSpMiddle«>● дата,</p> <p classMsoListBulletCxSpLast«>● логические значения.</p> <p classMsoNormal«>Поле <span classInterface«>Язык (Страна)</span> (параметр <span classTerm«>Л</span>) определяет представление информации в соответствии с национальными представлениями. Значения, заданные на следующих закладках, являются более приоритетными по отношению к указанию страны.</p> <p classRegularbeforepicture«>Для числа нужно выбрать закладку <span classInterface«>Число</span>.</p> <p classPicture«><IMG src_img/img00540.gif?_=1496848987» WIDTH467» ALT HEIGHT397«></p> <p classMsoCaption«>Рис. 532. Конструктор форматной строки для числа</p> <p classMsoNormalCxSpFirst«>В поле <span classInterface«>Длина</span> (параметр <span classTerm«>ЧЦ</span>) указывается общее число десятичных знаков (целой и дробной частей). В поле <span classInterface«>Точность</span> (параметр <span classTerm«>ЧДЦ</span>) указывается число десятичных знаков дробной части.</p> <p classMsoNormalCxSpMiddle«>В поле <span classInterface«>Сдвиг</span> (параметр <span classTerm«>ЧС</span>) указывается сдвиг разрядов. Если значение поля положительное, то производится деление числа на 10 в соответствующей степени, если отрицательное – умножение.</p> <p classMsoNormalCxSpMiddle«>В поле <span classInterface«>Разделитель дробной части</span> (параметр <span classTerm«>ЧРД</span>) задается символ разделителя.</p> <p classMsoNormalCxSpMiddle«>В поле <span classInterface«>Разделитель групп</span> (параметр <span classTerm«>ЧРГ</span>) задается символ разделителя групп. Если в качестве разделителя использовать пустую строку, то разделителем будет символ неразрывного пробела.</p> <p classMsoNormalCxSpMiddle«>В поле <span classInterface«>Группировка</span> (параметр <span classTerm«>ЧГ</span>) выбирается вариант группировки цифр в целой части числа.</p> <p classMsoNormalCxSpMiddle«>В поле <span classInterface«>Представление нуля</span> (параметр <span classTerm«>ЧН</span>) выбирается вариант представления нулевого значения. Параметр можно использовать в форматной строке, для поля ввода он не используется.</p> <p classMsoNormalCxSpMiddle«>В поле <span classInterface«>Представление отрицательных чисел</span> (параметр <span classTerm«>ЧО</span>) выбирается вариант представления отрицательных чисел.</p> <p classMsoNormalCxSpLast«>Если флажок <span classInterface«>Выводить лидирующие нули</span> (параметр <span classTerm«>ЧВН</span>) установлен, то лидирующие нули выводятся.</p> <p classNote«><span classNote«>Совет.</span> В нижней части окна конструктора расположена область, в которую выводится результат действия форматной строки (группа <span classInterface«>Пример</span>) и сама форматная строка.</p> <p classRegularbeforepicture«>Для настройки даты нужно выбрать закладку <span classInterface«>Дата</span>.</p> <p classPicture«><IMG src_img/img00541.gif?_=1496848987» WIDTH467» ALT HEIGHT397«></p> <p classMsoCaption«>Рис. 533. Конструктор форматной строки для даты</p> <p classMsoNormalCxSpFirst«>В поле <span classInterface«>Формат даты</span> (параметр <span classTerm«>ДФ</span>) выбирается вариант представления даты. Рекомендуется использовать этот формат в том случае, когда требуется получить в точности тот или иной формат представления даты, вне зависимости от параметров локализации. Например, для форматной строки <span classTerm«>ДФ=гггг-ММ-дд</span>, представление даты всегда будет выглядеть как <span classInterface«>2015-12-01</span>.</p> <p classMsoNormalCxSpLast«>В поле <span classInterface«>Локальный формат даты</span> (параметр <span classTerm«>ДЛФ</span>) выбирается локальный вариант представления даты. Для поля ввода не допускается выбор значения параметра <span classTerm«>ДД</span>. Этот вариант представления рекомендуется выбирать в тех случаях, когда при формировании представления даты следует учитывать текущие параметры локализации. Параметры локализации могут указываться как непосредственно в форматной строке, так и получаться из региональных настроек информационной базы.</p> <p classLang-subheader«>Пример:</p> <a classcopy_source» href#_top» onClickreturn false«>Копировать в буфер обмена</a> <pre classsrc_res«> Формат(‘20151201’, &quot;Л=ru;ДЛФ=Д&quot;) = 01.12.2015 Формат(‘20151201’, &quot;Л=en_US;ДЛФ=Д&quot;) = 12/1/2015 Формат(‘20151201’, &quot;Л=ru;ДЛФ=ДB&quot;) = 01.12.2015 0:00:00 Формат(‘20151201’, &quot;Л=en_US;ДЛФ=ДВ&quot;) = 12/1/2015 12:00:00 AM </pre> <p classMsoNormal«>В поле <span classInterface«>Представление пустой даты</span> (параметр <span classTerm«>ДП</span>) выбирается вариант представления пустой даты. Параметр можно использовать в форматной строке, для поля ввода он не используется.</p> <p classNote«><span classNote«>Совет.</span> В нижней части окна конструктора расположена область, в которую выводится результат действия форматной строки (группа <span classInterface«>Пример</span>) и сама форматная строка.</p> <p classRegularbeforepicture«>Для данных типа <span classTerm«>Булево</span> нужно выбрать закладку <span classInterface«>Логическое значение</span>.</p> <p classPicture«><IMG src_img/img00542.gif?_=1496848987» WIDTH467» ALT HEIGHT397«></p> <p classMsoCaption«>Рис. 534. Конструктор форматной строки для логического значения</p> <p classMsoNormalCxSpFirst«>Если какое-то значение не выбрано, то оно выбирается из настроек, устанавливаемых по умолчанию.</p> <p classMsoNormalCxSpMiddle«>Подробнее о параметрах форматной строки написано в описании параметра <span classTerm«>ФорматнаяСтрока</span> метода <span classTerm«>Формат()</span> в описании встроенного языка.</p> <p classMsoNormalCxSpLast«>В результате использования конструктора форматной строки в текст (или поле ввода) будет вставлена сформированная строка (при нажатии кнопки <span classInterface«>ОК</span>).</p> <p classNote«>Совет. В редакторе текстов можно установить курсор внутри форматной строки и выбрать пункт меню <span classInterface«>Текст – Конструктор форматной строки</span> для изменения существующей форматной строки.</p> <a idTI000000977» classbookmark» nameissogl1_27.16.конструктор_строк_на_разных_языках«><h2>27.16.Конструктор строк на разных языках</h2></a> <p classMsoNormalCxSpFirst«>Конструктор позволяет отредактировать строки на всех языках конфигурации и дополнительно тех, чьи коды содержатся в редактируемом наборе, однако конфигурация не содержит языков с таким кодом.</p> <p classMsoNormalCxSpLast«>Результатом работы конструктора будет строка вида:</p> <a classcopy_source» href#_top» onClickreturn false«>Копировать в буфер обмена</a> <pre classsrc_res«>&lt;код_языка1&gt; = &lt;Строка_1&gt;; &lt;код_языка2&gt; = &lt;Строка_2&gt;;…</pre> <p classMsoNormal«>Конструктор удобно использовать при создании параметра <span classTerm«>ИсходнаяСтрока</span> функции глобального контекста <span classTerm«>НСтр()</span>.</p> <p classRegularbeforepicture«>Для вызова конструктора следует установить курсор в нужное место модуля и выбрать пункт <span classInterface«>Текст – Конструктор строк на разных языках</span>. Редактор анализирует текст модуля в области курсора и, когда найдена конструкция, открывает окно конструктора. Если конструкция не найдена, то конструктор сообщает об этом.</p> <p classPicture«><IMG src_img/img00543.gif?_=1496848987» WIDTH386» ALT HEIGHT190«></p> <p classMsoCaption«>Рис. 535. Конструктор строк на разных языках</p> <p classMsoNormalCxSpFirst«>В окне конструктора будет столько полей для ввода текста, сколько языков определено для конфигурации.</p> <p classMsoNormalCxSpLast«>Нужно ввести тексты и нажать кнопку <span classInterface«>ОК</span>. Результатом работы конструктора будет строка:</p> <a classcopy_source» href#_top» onClickreturn false«>Копировать в буфер обмена</a> <pre classsrc_res«>ru = ‘Доброе утро!’; en = ‘Good Morning!’</pre> <a name_ref219791844«></a><a name_ref216072559«></a><a idTI000000978» classbookmark» nameissogl1_27.17.редактор_табличных_документов«><h2>27.17.Редактор табличных документов</h2></a> <p classMsoNormalCxSpFirst«>Для создания различных печатных форм, а также форм, предназначенных для представления и ввода информации с использованием табличных документов, в системе «1С:Предприятие» используется специализированный редактор табличных документов.</p> <p classMsoNormalCxSpLast«>Таблицу сочетаний клавиш для редактора табличных документов можно найти в справке при использовании программы.</p> <a idTI000000979» classbookmark» nameissogl2_27.17.1_что_такое_табличный_документ_в_системе_1с_предприятие«><h3>27.17.1. Что такое табличный документ в системе «1С:Предприятие»</h3></a> <p classMsoNormalCxSpFirst«>Хотя в программе реализована возможность использования табличного документа для непосредственного ввода, обработки и отображения данных различных типов, как в «обычных» электронных таблицах (использование табличных документов, размещенных в форме), табличные документы в системе «1С:Предприятие» используются в основном для представления уже обработанной информации, в частности, описания печатной формы отчета. Обработка информации и помещение ее в нужные места табличного документа для большинства объектов конфигурации выполняются программными модулями на языке системы «1С:Предприятие».</p> <p classMsoNormalCxSpMiddle«>В системе программ «1С:Предприятие» табличный редактор применяется для работы с отдельными табличными документами и макетами печатных форм.</p> <p classMsoNormalCxSpMiddle«>Сформированный табличный документ можно сохранить в файл на диске в различных форматах. Если документ сохранен в формате MXL, то в дальнейшем этот документ можно просмотреть с помощью программы работы с файлами, скачать которую можно по этому адресу: <a hrefhttp://v8.1c.ru/metod/fileworkshop.htm» target_blank«>http://v8.1c.ru/metod/fileworkshop.htm</a>.</p> <p classMsoNormalCxSpMiddle«>Макет хранится внутри конфигурации. Макеты бывают общими (располагаются в ветви <span classInterface«>Общие – Макеты</span>; например, макеты стандартных платежных документов, печатающихся из различных документов), а также могут относиться к определенному объекту конфигурации (например, карточка основного средства). Объект конфигурации может иметь несколько различных макетов печатных форм.</p> <p classMsoNormalCxSpMiddle«>В форме также можно расположить табличный документ. Для этого необходимо использовать элемент управления <span classInterface«>Поле табличного документа</span>. В этом режиме в табличный документ можно вставить другие элементы управления.</p> <p classMsoNormalCxSpMiddle«>Макеты и табличные документы с точки зрения приемов работы практически полностью совпадают.</p> <p classMsoNormalCxSpLast«>Табличные документы (отдельные файлы и макеты) можно сравнивать и объединять.</p> <a idTI000000980» classbookmark» nameissogl2_27.17.2_макет«><h3>27.17.2. Макет</h3></a> <p classMsoNormal«>Создание макета производится конструктором макетов (см. <a href#_ref141015030«>здесь</a>) и конструктором запроса с обработкой результата (см. <a href#_ref141002886«>здесь</a>).</p> <a idTI000000981» classbookmark» nameissogl3_27.17.2.1_общие_принципы_проектирования_макета«><h4>27.17.2.1. Общие принципы проектирования макета</h4></a> <p classMsoNormalCxSpFirst«>Проектирование макета заключается в «рисовании» составных частей, кирпичиков – именованных областей, из которых затем будет «собрана» готовая выходная форма – отчет. Так как практически все деловые документы имеют «прямоугольную» структуру, удобнее всего создавать макеты таких документов в редакторе, способном манипулировать прямоугольными элементами.</p> <p classMsoNormalCxSpMiddle«>Именно таким редактором и является табличный редактор, входящий в систему «1С:Предприятие». В процессе создания макета можно вводить в ячейки табличного документа разнообразный текст; задавать параметры форматирования (ячейке в целом); изменять высоту строк и ширину колонок; включать в макет рисованные элементы – линии и прямоугольники, а также другие графические объекты: картинки, OLE-объекты и диаграммы, различные элементы управления; определять оформление как всего табличного документа, так и отдельных ячеек или групп ячеек.</p> <p classMsoNormalCxSpMiddle«>При создании макета отчета руководствуются следующим.</p> <p classMsoNormalCxSpMiddle«>Практически каждый отчет состоит из так называемой шапки (заголовка) отчета, в которой указывается наименование отчета, исходные параметры построения. Для формирования таких данных создают именованную область, которую чаще всего называют <span classInterface«>Шапка</span>. Если в отчете присутствует табличная часть, то в шапку обычно включают наименования колонок.</p> <p classMsoNormalCxSpMiddle«>Для вывода строк создают именованные области (в показанном на <a href#_ref212448386«>рис.536</a> примере это <span classTerm«>Строка</span>), отвечающие за вывод различной информации в табличную часть. Число строк табличной части обычно невозможно узнать при подготовке макета, но структурно информация в табличной части повторяется, поэтому при построении отчета используют одни и те же области, описывающие отдельную строку. Ячейкам, предназначенным для вывода конкретной информации, ставят в соответствие параметры (в приведенном примере это <span classInterface«>Счет</span>, <span classInterface«>Наименование</span>, <span classInterface«>Цена</span>, <span classInterface«>Сумма</span> и др.). При выводе очередной строки этим параметрам присваивают содержимое каждой выводимой строки, а затем уже включают сформированную область в состав отчета. Так происходит до тех пор, пока не будет выведена вся информация табличной части.</p> <p classMsoNormalCxSpLast«>Обычно отчет завершается выводом итоговых данных и реквизитами ответственных лиц. Эти данные обычно размещают в области, именуемой <span classInterface«>Подвал</span>.</p> <p classRegularbeforepicture«>В окончательном виде макет представляет собой совокупность прямоугольных областей, каждая из которых служит для выдачи какой-то части готового отчета: область для выдачи заголовочной части (наименования, даты и т. п.); область для выдачи шапки табличной части и так далее.</p> <p classPicture«><IMG src_img/img00544.gif?_=1496848987» WIDTH800» ALT HEIGHT504«></p> <p classMsoCaption«><a name_ref212448386«>Рис. </a>536. Пример макета</p> <p classMsoNormal«>Сам процесс построения отчета происходит следующим образом:</p> <p classMsoListBulletCxSpFirst«>● Вначале отчет строится как пустой табличный документ. Необходимо иметь в виду, что макет не связан напрямую с готовым отчетом. Скорее макет представляет собой некий конструктор, набор областей, из которых в процессе работы программного модуля складывается готовый отчет.</p> <p classMsoListBulletCxSpLast«>● В процессе обработки алгоритма отчета из макета в нужном порядке извлекаются поименованные области, транслируются (вместо параметров подставляются их значения) и копируются в табличный документ готового отчета. Средства языка формирования отчетов позволяют наращивать отчет как вниз, так и вправо.</p> <a idTI000000982» classbookmark» nameissogl3_27.17.2.2_свойства_ячеек_макета«><h4>27.17.2.2. Свойства ячеек макета</h4></a> <a idTI000000983» classbookmark» nameissogl4_категория_свойств_макет«><h5>Категория свойств «Макет»</h5></a> <p classMsoNormalCxSpFirst«>Категория свойств <span classInterface«>Макет</span> показывается, если в свойствах табличного документа установлено свойство <span classInterface«>Макет</span>.</p> <p classMsoNormalCxSpLast«><span classInterface«>Заполнение</span> – пункты свойства <span classInterface«>Заполнение</span> устанавливают, какого рода информация введена в ячейку. Свойство показывается, если в категории <span classInterface«>Значения</span> не установлено свойство <span classInterface«>Содержит значение</span>. Пункты не изменяют внешний вид ячейки, а используются только в процессе обработки шаблона, при формировании готового табличного документа.</p> <p classRegularbeforetable«>Пункты этого списка имеют следующий смысл:</p> <table classMsoNormalTable» border0» cellspacing0» cellpadding0«> <tr> <td valigntop«> <p classMsoNormalCxSpFirst«><b>Формат данных</b></p> </td> <td valigntop«> <p classMsoNormalCxSpMiddle«><b>Пояснение</b></p> </td> </tr> <tr> <td valigntop«> <p classMsoNormalCxSpMiddle«>Текст</p> </td> <td valigntop«> <p classMsoNormalCxSpMiddle«>Информация в ячейке является текстом и при формировании табличного документа будет перенесена из макета в готовый табличный документ без изменений</p> </td> </tr> <tr> <td valigntop«> <p classMsoNormalCxSpMiddle«>Параметр</p> </td> <td valigntop«> <p classMsoNormalCxSpMiddle«>Информация в ячейке представляет собой параметр, имя которого указывается в свойстве <span classTerm«>Параметр</span></p> </td> </tr> <tr> <td valigntop«> <p classMsoNormalCxSpMiddle«>Шаблон</p> </td> <td valigntop«> <p classMsoNormalCxSpMiddle«>Информация в ячейке представляет собой текст с включенными в него именами параметров, заключенных в квадратные скобки. При формировании табличного документа переменные будут вычислены и включены в текст. Место, отводимое в тексте для вывода значений параметров, определяется длиной этих значений.</p> <p classMsoNormalCxSpMiddle«>Пример шаблона: <span classInterface«>Директор: [Директор]</span></p> </td> </tr> </table> <p classMsoNormalCxSpMiddle«>Информация в ячейке готового табличного документа преобразуется в тип <span classTerm«>Строка</span>.</p> <p classMsoNormalCxSpLast«><span classInterface«>Параметр</span> – имя параметра для вывода содержимого ячейки. Свойство показывается, если в категории <span classInterface«>Значения</span> установлено свойство <span classInterface«>Содержит значение</span> или когда в свойстве <span classInterface«>Заполнение</span> категории <span classInterface«>Макет</span> выбрано значение <span classInterface«>Параметр</span>.</p> <p classRegularbeforepicture«><span classInterface«>Параметр расшифровки</span> – указывается имя параметра, по которому программа производит обработку расшифровки значения, находящегося в ячейке. Имеет смысл использовать, когда результирующий табличный документ размещен в форме (элемент управления <span classInterface«>Поле табличного документа</span>).</p> <p classPicture«><IMG src_img/img00545.gif?_=1496848987» WIDTH343» ALT HEIGHT421«></p> <p classMsoCaption«><a name_ref216235574«>Рис. </a>537. Виды курсоров в табличном документе</p> <p classMsoNormal«>Когда готовый табличный документ открыт в режиме <span classInterface«>Только просмотр</span>, при помещении указателя мыши над ячейкой, содержащей заполненное свойство <span classInterface«>Параметр расшифровки</span>, указатель мыши может принимать форму как на <a href#_ref216235574«>рис.537</a> (курсор вида <span classInterface«>Гиперссылка</span> будет появляться тогда, когда для ячейки-ссылки установлено свойство <span classInterface«>Гиперссылка</span>). Это значит, что возможна детализация (расшифровка) данных табличного документа. Теперь, если дважды щелкнуть левой кнопкой мыши на этой ячейке (или сделать ее активной и нажать клавишу <span classInterface«>Enter</span>, а для гиперссылки просто щелкнуть мышью), значение поля будет выдано на экран:</p> <p classMsoListBulletCxSpFirst«>● Значения типа <span classTerm«>Строка</span>, <span classTerm«>Число</span>, <span classTerm«>Дата</span> и <span classTerm«>Перечисление</span> будут выданы для просмотра.</p> <p classMsoListBulletCxSpMiddle«>● Если значение имеет тип <span classTerm«>Документ</span>, соответствующий документ будет открыт для просмотра и редактирования.</p> <p classMsoListBulletCxSpLast«>● Если значение является элементом справочника, этот элемент будет открыт для просмотра и редактирования в диалоге. Если при настройке свойств справочника было задано редактирование в списке, будет открыта форма списка справочника, а указатель в табличном поле будет установлен на нужный элемент справочника.</p> <p classMsoNormalCxSpFirst«>Эта обработка расшифровки называется стандартной и не требует никаких дополнительных настроек.</p> <p classMsoNormalCxSpMiddle«>Если требуется, чтобы обработка расшифровки производилась особенным образом, то необходимо в свойствах поля табличного документа, в категории <span classInterface«>События</span> для события <span classInterface«>Обработка расшифровки</span> указать имя процедуры, осуществляющей обработку события, возникающего при выборе ячейки с расшифровкой. В модуле формы в теле этой процедуры нужно средствами встроенного языка описать обработку расшифровки.</p> <p classMsoNormalCxSpMiddle«>Приведем пример. Для отчета создана форма и макет <span classInterface«>МакетПечати</span>. Макет содержит именованные области <span classInterface«>Заголовок</span>, <span classInterface«>Шапка</span>, <span classInterface«>ТоварыШапка</span> и <span classInterface«>Товары</span>. Область <span classInterface«>Товары</span> содержит ячейку, в параметрах расшифровки которой указано имя параметра расшифровки <span classInterface«>Расшифровка</span>. В форме размещен элемент формы типа <span classInterface«>Таблица</span>, связанный с реквизитом формы <span classTerm«>ТабДок</span> типа <span classTerm«>ТабличныйДокумент</span>. В категории свойств <span classInterface«>События</span> этого элемента для свойства <span classInterface«>Обработка расшифровки</span> указывается на процедуру обработки выбора ячейки <span classTerm«>РезультатОбработкиРасшифровки()</span>, расположенной в модуле отчета.</p> <p classMsoNormalCxSpLast«>Формирование табличного документа производится по следующей примерной схеме:</p> <a classcopy_source» href#_top» onClickreturn false«>Копировать в буфер обмена</a> <pre classsrc_dev«>ТабДок<span classoperator«>.</span>ОтображатьСетку <span classoperator«>=</span> <span classkeyword«>Ложь</span><span classoperator«>;</span> ТабДок<span classoperator«>.</span>ОтображатьЗаголовки <span classoperator«>=</span> <span classkeyword«>Ложь</span><span classoperator«>;</span> ТабДок<span classoperator«>.</span>Защита <span classoperator«>=</span> <span classkeyword«>Истина</span><span classoperator«>;</span> ТабДок<span classoperator«>.</span>ТолькоПросмотр <span classoperator«>=</span> <span classkeyword«>Истина</span><span classoperator«>;</span> Макет <span classoperator«>=</span> Документы<span classoperator«>.</span>РасходТовара<span classoperator«>.</span>ПолучитьМакет<span classoperator«>(</span><span classstring«>&quot;МакетПечати&quot;</span><span classoperator«>)</span><span classoperator«>;</span> <span classcomment«>// Заголовок</span> Область <span classoperator«>=</span> Макет<span classoperator«>.</span>ПолучитьОбласть<span classoperator«>(</span><span classstring«>&quot;Заголовок&quot;</span><span classoperator«>)</span><span classoperator«>;</span> ТабДок<span classoperator«>.</span>Вывести<span classoperator«>(</span>Область<span classoperator«>)</span><span classoperator«>;</span> <span classcomment«>// Шапка</span> Шапка <span classoperator«>=</span> Макет<span classoperator«>.</span>ПолучитьОбласть<span classoperator«>(</span><span classstring«>&quot;Шапка&quot;</span><span classoperator«>)</span><span classoperator«>;</span> Шапка<span classoperator«>.</span>Параметры<span classoperator«>.</span>Заполнить<span classoperator«>(</span>ЭтотОбъект<span classoperator«>)</span><span classoperator«>;</span> ТабДок<span classoperator«>.</span>Вывести<span classoperator«>(</span>Шапка<span classoperator«>)</span><span classoperator«>;</span> <span classcomment«>// Товары</span> Область <span classoperator«>=</span> Макет<span classoperator«>.</span>ПолучитьОбласть<span classoperator«>(</span><span classstring«>&quot;ТоварыШапка&quot;</span><span classoperator«>)</span><span classoperator«>;</span> ТабДок<span classoperator«>.</span>Вывести<span classoperator«>(</span>Область<span classoperator«>)</span><span classoperator«>;</span> ОбластьТовары <span classoperator«>=</span> Макет<span classoperator«>.</span>ПолучитьОбласть<span classoperator«>(</span><span classstring«>&quot;Товары&quot;</span><span classoperator«>)</span><span classoperator«>;</span> <span classkeyword«>Для</span> <span classkeyword«>Каждого</span> ТекСтрокаТовары <span classkeyword«>Из</span> Товары <span classkeyword«>Цикл</span> ОбластьТовары<span classoperator«>.</span>Параметры<span classoperator«>.</span>Заполнить<span classoperator«>(</span>ТекСтрокаТовары<span classoperator«>)</span><span classoperator«>;</span> ТабДок<span classoperator«>.</span>Вывести<span classoperator«>(</span>ОбластьТовары<span classoperator«>)</span><span classoperator«>;</span> <span classkeyword«>КонецЦикла</span><span classoperator«>;</span></pre> <p classMsoNormal«>Пример реализации процедуры обработки выбора расшифровки:</p> <a classcopy_source» href#_top» onClickreturn false«>Копировать в буфер обмена</a> <pre classsrc_dev«><span classkeyword«>Процедура</span> РезультатОбработкаРасшифровки<span classoperator«>(</span>Эл<span classoperator«>,</span> Расшифровка<span classoperator«>,</span> СтандартнаяОбработка<span classoperator«>)</span> СтандартнаяОбработка <span classoperator«>=</span> <span classkeyword«>Ложь</span><span classoperator«>;</span> ТипРасшифровки <span classoperator«>=</span> ТипЗнч<span classoperator«>(</span>Расшифровка<span classoperator«>)</span><span classoperator«>;</span> <span classkeyword«>Если</span> ТипРасшифровки <span classoperator«>=</span> Тип<span classoperator«>(</span><span classstring«>&quot;СправочникСсылка.Номенклатура&quot;</span><span classoperator«>)</span> <span classkeyword«>Тогда</span> ИмяФормыОтчета <span classoperator«>=</span> <span classstring«>&quot;ФормаОтчета1&quot;</span><span classoperator«>;</span> <span classkeyword«>Иначе</span> ИмяФормыОтчета <span classoperator«>=</span> <span classstring«>&quot;ФормаОтчета2&quot;</span><span classoperator«>;</span> <span classkeyword«>КонецЕсли</span><span classoperator«>;</span> ФормаОтчета <span classoperator«>=</span> ОбработкаОбъект<span classoperator«>.</span>ПолучитьФорму<span classoperator«>(</span>ИмяФормыОтчета<span classoperator«>)</span><span classoperator«>;</span> ФормаОтчета<span classoperator«>.</span>ВыполнитьОтчет<span classoperator«>(</span>Расшифровка<span classoperator«>,</span> ПериодС<span classoperator«>,</span> ПериодПо<span classoperator«>)</span><span classoperator«>;</span> ФормаОтчета<span classoperator«>.</span>Открыть<span classoperator«>(</span><span classoperator«>)</span><span classoperator«>;</span> <span classkeyword«>КонецПроцедуры</span></pre> <p classMsoNormalCxSpFirst«><span classTerm«>ФормаОтчета1</span> и <span classTerm«>ФормаОтчета2</span> – имена форм, разработанных специально для детализированных отчетов (обычно такие формы содержат поле табличного документа, в которое выводится результат).</p> <p classMsoNormalCxSpLast«><span classInterface«>Использование расшифровки</span> – определяется область использования расшифровки. При выборе ячейки расшифровка возможна только для указанной ячейки; при выборе строки расшифровка действует в каждой ячейке текущей строки. Если выбрано <span classInterface«>Не использовать</span> и указана расшифровка, расшифровка не действует: указатель мыши не изменяет форму (возможные виды курсоров (см. <a href#_ref216235574«>рис.537</a>) и выбор в ячейке не отрабатывается.</p> <a idTI000000984» classbookmark» nameissogl4_категория_свойств_значения«><h5>Категория свойств «Значения»</h5></a> <p classMsoNormalCxSpFirst«><span classInterface«>Содержит значение</span> – если установлено, то ячейка содержит значение. Установка свойства влияет на состав свойств других категорий.</p> <p classMsoNormalCxSpMiddle«><span classInterface«>Тип значения</span> – тип значения ячейки. Для табличного документа перечень содержит типы <span classTerm«>Число</span>, <span classTerm«>Строка</span>, <span classTerm«>Дата</span> и <span classTerm«>Булево</span>. Для элемента управления формы <span classInterface«>Поле табличного документа</span> помимо примитивных типов перечень дополнительно содержит типы, определенные для текущей конфигурации, – документы, справочники, перечисления и т. д. Кроме того, можно установить тип данных <span classTerm«>Произвольный</span>. В таком случае он может быть определен уже во время заполнения формы с помощью средств встроенного языка.</p> <p classMsoNormalCxSpMiddle«><span classInterface«>Элемент управления</span> – выбирается элемент управления для редактирования содержимого ячейки. Список возможных значений зависит от выбранного типа содержимого. Например, при выборе в типе данных значения <span classTerm«>Число</span> в качестве редактора можно выбрать <span classInterface«>Поле ввода</span> или <span classInterface«>Флажок</span>. Для выбранного типа редактора в список объектов (<span classInterface«>Ячейки</span>, <span classInterface«>Табличный документ</span>) будет добавлена строка, содержащая тип редактора <span classInterface«>Поле ввода</span> или <span classInterface«>Флажок</span>. Состав свойств палитры свойств данного объекта определяется типом выбранного элемента управления.</p> <p classMsoNormalCxSpMiddle«><span classInterface«>Формат</span> – задается форматная строка, которая будет использоваться при выводе значения. Если не производить настройку формата изображения, то формат будет выбран из региональных настроек информационной базы.</p> <p classMsoNormalCxSpMiddle«><span classInterface«>Формат редактирования</span> – задается форматная строка, которая будет использоваться для отображения значения при его редактировании. Если не производить настройку формата изображения, то формат будет выбран из региональных настроек информационной базы.</p> <p classMsoNormalCxSpLast«>Формат можно ввести вручную или с помощью конструктора форматной строки (см. <a href#_ref216235847«>здесь</a>).</p> <p classNote«><span classNote«>Примечание.</span> При редактировании табличного документа в тонком клиенте недоступны следующие свойства ячейки: <span classInterface«>Содержит значение</span>, <span classInterface«>Тип значения</span>, <span classInterface«>Элемент управления</span>, <span classInterface«>Формат редактирования</span>.</p> <a idTI000000985» classbookmark» nameissogl2_27.17.3_табличный_документ_в_режиме_ввода_данных«><h3>27.17.3. Табличный документ в режиме ввода данных</h3></a> <p classMsoNormalCxSpFirst«>Другой способ построения отчета заключается в том, что пользователь вводит данные в предназначенные для этого ячейки табличного документа, размещенного в элементе формы.</p> <p classMsoNormalCxSpMiddle«>В процессе ввода эти данные обрабатываются процедурами, написанными на встроенном языке, располагаемыми в модуле формы. Результаты расчетов могут использоваться при вычислении других ячеек табличного документа.</p> <p classMsoNormalCxSpMiddle«>После ввода данных можно распечатать отчет и сохранить его для последующей работы.</p> <p classMsoNormalCxSpLast«>Общая схема работы с табличным документом в режиме ввода данных выглядит следующим образом:</p> <p classMsoListBulletCxSpFirst«>● формируется макет типа <span classInterface«>Табличный документ</span>, подготовленный особым образом, в который будет выполняться ввод данных;</p> <p classMsoListBulletCxSpMiddle«>● формируется форма, в которой будет расположено поле вида <span classInterface«>Табличный документ</span>, и в нем будет организован ввод данных;</p> <p classMsoListBulletCxSpLast«>● формируются обработчики элемента формы вида <span classInterface«>Табличный документ</span>, которые будут обрабатывать данные, введенные пользователем (при необходимости).</p> <p classRegularbeforepicture«>Рассмотрим перечисленные этапы подробнее на примере формирования бланка доставки товара из документа <span classTerm«>ДоставкаТоваров</span>. Желаемый бланк приведен на <a href#_ref229918383«>рис. 538</a>. В этом бланке поля, выделенные подчеркиванием, должны вводиться пользователем. Причем поле <span classInterface«>Дата доставки</span> будет автоматически рассчитываться как поле <span classInterface«>Дата оформления,</span> увеличенное на <span classInterface«>Срок доставки</span>. <span classInterface«>Дата оформления</span> является датой документа.</p> <p classPicture«><IMG src_img/img00546.gif?_=1496848987» WIDTH549» ALT HEIGHT197«></p> <p classMsoCaption«><a name_ref229918383«>Рис. </a>538. Бланк доставки</p> <a idTI000000986» classbookmark» nameissogl3_27.17.3.1_подготовка_табличного_документа«><h4>27.17.3.1. Подготовка табличного документа</h4></a> <p classRegularbeforepicture«>Для того чтобы реализовать табличное поле в режиме ввода данных, необходимо создать макет типа <span classInterface«>Табличный документ</span> (с именем <span classTerm«>БланкДоставки</span>). Затем нужно открыть сформированный макет и установить свойство <span classInterface«>Макет</span> в значение <span classTerm«>Ложь</span>.</p> <p classPicture«><IMG src_img/img00547.gif?_=1496848987» WIDTH320» ALT HEIGHT350«></p> <p classMsoCaption«>Рис. 539. Свойства табличного документа</p> <p classMsoNormalCxSpFirst«>Далее нужно сформировать необходимую структуру документа, который будет формироваться.</p> <p classMsoNormalCxSpLast«>Сформируем необходимые поля:</p> <p classMsoListBullet«><span classInterface«>Адрес доставки</span>. Нужно объединить несколько ячеек и затем определить следующие свойства:</p> <p classMsoListBullet2CxSpFirst«><span classInterface«>Имя</span><span classTerm«>АдресДоставки</span>;</p> <p classMsoListBullet2CxSpMiddle«><span classInterface«>Защита</span><span classTerm«>Ложь</span>;</p> <p classMsoListBullet2CxSpMiddle«><span classInterface«>Содержит значение</span><span classTerm«>Истина</span>;</p> <p classMsoListBullet2CxSpMiddle«><span classInterface«>Тип значения</span><span classTerm«>Строка</span>;</p> <p classMsoListBullet2CxSpLast«><span classInterface«>Элемент управления</span><span classInterface«>Поле ввода</span>.</p> <p classMsoListBullet«><span classInterface«>Срок доставки</span>. Для ячейки определить следующие свойства:</p> <p classMsoListBullet2CxSpFirst«><span classInterface«>Имя</span><span classTerm«>СрокДоставки</span>;</p> <p classMsoListBullet2CxSpMiddle«><span classInterface«>Защита</span><span classTerm«>Ложь</span>;</p> <p classMsoListBullet2CxSpMiddle«><span classInterface«>Содержит значение</span><span classTerm«>Истина</span>;</p> <p classMsoListBullet2CxSpMiddle«><span classInterface«>Тип значения</span><span classTerm«>Число</span>, длина <span classTerm«>3</span>, точность – <span classTerm«>0</span>, неотрицательное;</p> <p classMsoListBullet2CxSpLast«><span classInterface«>Элемент управления</span><span classInterface«>Поле ввода</span>.</p> <p classMsoListBullet«><span classInterface«>Дата доставки</span>. Для ячейки определить следующие свойства:</p> <p classMsoListBullet2CxSpFirst«><span classInterface«>Имя</span><span classTerm«>ДатаДоставки</span>;</p> <p classMsoListBullet2CxSpMiddle«><span classInterface«>Защита</span><span classTerm«>Ложь</span>;</p> <p classMsoListBullet2CxSpMiddle«><span classInterface«>Содержит значение</span><span classTerm«>Истина</span>;</p> <p classMsoListBullet2CxSpMiddle«><span classInterface«>Тип значения</span><span classTerm«>Дата</span>, состав даты – <span classInterface«>Дата</span>;</p> <p classMsoListBullet2CxSpLast«><span classInterface«>Элемент управления</span><span classInterface«>Поле ввода</span>.</p> <p classMsoListBullet«><span classInterface«>Дата оформления</span>. Для ячейки определить следующие свойства:</p> <p classMsoListBullet2CxSpFirst«><span classInterface«>Имя</span><span classTerm«>ДатаОформления</span>;</p> <p classMsoListBullet2CxSpMiddle«><span classInterface«>Защита</span><span classTerm«>Истина</span>;</p> <p classMsoListBullet2CxSpMiddle«><span classInterface«>Содержит значение</span><span classTerm«>Истина</span>;</p> <p classMsoListBullet2CxSpMiddle«><span classInterface«>Тип значения</span><span classTerm«>Дата</span>, состав даты – <span classInterface«>Дата</span>;</p> <p classMsoListBullet2CxSpMiddle«><span classInterface«>Элемент управления</span><span classInterface«>Поле ввода</span>;</p> <p classMsoListBullet2CxSpLast«><span classInterface«>Формат</span><span classInterface«>ДЛФ=DD</span>.</p> <p classRegularbeforepicture«>В результате должен получиться табличный документ, представленный на <a href#_ref229919603«>рис. 540</a>.</p> <p classPicture«><IMG src_img/img00548.gif?_=1496848987» WIDTH588» ALT HEIGHT202«></p> <p classMsoCaption«><a name_ref229919603«>Рис. </a>540. Готовый макет</p> <p classMsoNormal«>Макет представлен с включенным режимом <span classInterface«>Отображать именованные ячейки</span> (можно включить с помощью команды меню <span classInterface«>Таблица – Имена – Отображать именованные ячейки</span>).</p> <p classNote«><span classNote«>Примечание.</span> Свойства, которые могут быть заданы для поля ввода в макете, не сохраняются и не используются системой при формировании полей ввода в табличном документе в режиме ввода данных.</p> <a idTI000000987» classbookmark» nameissogl3_27.17.3.2_подготовка_формы_к_вводу_данных«><h4>27.17.3.2. Подготовка формы к вводу данных</h4></a> <p classMsoNormalCxSpFirst«>После того как подготовлен макет табличного документа, следует сформировать форму, в которой будет выполняться ввод данных, и реализовать ее вызов из документа.</p> <p classMsoNormalCxSpLast«>В документе нужно создать команду формы <span classTerm«>ОформитьДоставку</span> со следующим программным текстом:</p> <a classcopy_source» href#_top» onClickreturn false«>Копировать в буфер обмена</a> <pre classsrc_dev«><span classpreprocessor«>&amp;НаКлиенте</span> <span classkeyword«>Процедура</span> ОформитьДоставку<span classoperator«>(</span>Команда<span classoperator«>)</span> ПараметрыДоставки <span classoperator«>=</span> <span classkeyword«>Новый</span> Структура<span classoperator«>(</span><span classstring«>&quot;ДатаДокумента&quot;</span><span classoperator«>,</span> Объект<span classoperator«>.</span>Дата<span classoperator«>)</span><span classoperator«>;</span> ОткрытьФормуМодально<span classoperator«>(</span><span classstring«>&quot;Документ.ДоставкаТоваров.Форма.ОформлениеДоставки&quot;</span><span classoperator«>,</span> ПараметрыДоставки<span classoperator«>)</span><span classoperator«>;</span> <span classkeyword«>КонецПроцедуры</span></pre> <p classMsoNormalCxSpFirst«>Команду следует разместить на форме.</p> <p classMsoNormalCxSpMiddle«>Теперь необходимо создать форму, в которой будет происходить ввод данных.</p> <p classMsoNormalCxSpLast«>Для этого следует в документе <span classTerm«>ДоставкаТоваров</span> создать произвольную форму <span classTerm«>ОформлениеДоставки</span>. В ней нужно создать следующие элементы:</p> <p classMsoListBulletCxSpFirst«>● параметр формы <span classTerm«>ДатаДокумента</span> типа <span classTerm«>Дата</span>;</p> <p classMsoListBulletCxSpMiddle«>● реквизит формы <span classTerm«>ДатаДокумента</span> типа <span classTerm«>Дата</span>;</p> <p classMsoListBulletCxSpMiddle«>● реквизит формы <span classTerm«>ТабличныйДокумент</span> типа <span classTerm«>ТабличныйДокумент</span>;</p> <p classMsoListBulletCxSpLast«>● элемент формы <span classTerm«>ТабличныйДокумент</span>, связанный с реквизитом формы <span classTerm«>ТабличныйДокумент</span>.</p> <p classPicture«><IMG src_img/img00549.gif?_=1496848987» WIDTH531» ALT HEIGHT376«></p> <p classMsoCaption«>Рис. 541. Форма «ОформлениеДоставки»</p> <p classMsoNormal«>Затем необходимо реализовать в форме следующие обработчики:</p> <a classcopy_source» href#_top» onClickreturn false«>Копировать в буфер обмена</a> <pre classsrc_dev«><span classpreprocessor«>&amp;НаСервере</span> <span classkeyword«>Процедура</span> ПриСозданииНаСервере<span classoperator«>(</span>Отказ<span classoperator«>,</span> СтандартнаяОбработка<span classoperator«>)</span> <span classcomment«>// Запомним дату формирования документа</span> ДатаДокумента <span classoperator«>=</span> Параметры<span classoperator«>.</span>ДатаДокумента<span classoperator«>;</span> <span classcomment«>// Установим подготовленный макет</span> ТабличныйДокумент <span classoperator«>=</span> Документы<span classoperator«>.</span>ДоставкаТоваров<span classoperator«>.</span>ПолучитьМакет<span classoperator«>(</span><span classstring«>&quot;БланкДоставки&quot;</span><span classoperator«>)</span><span classoperator«>;</span> <span classcomment«>// Установим дату создания документа в поле табличного документа</span> ТабличныйДокумент<span classoperator«>.</span>Область<span classoperator«>(</span><span classstring«>&quot;ДатаОформления&quot;</span><span classoperator«>)</span><span classoperator«>.</span>Значение <span classoperator«>=</span> ДатаДокумента<span classoperator«>;</span> <span classkeyword«>КонецПроцедуры</span> <span classpreprocessor«>&amp;НаКлиенте</span> <span classkeyword«>Процедура</span> ПриОткрытии<span classoperator«>(</span>Отказ<span classoperator«>)</span> <span classcomment«>// Активизируем область табличного документа</span> Элементы<span classoperator«>.</span>ТабличныйДокумент<span classoperator«>.</span>ТекущаяОбласть <span classoperator«>=</span> ТабличныйДокумент<span classoperator«>.</span>Область<span classoperator«>(</span><span classstring«>&quot;АдресДоставки&quot;</span><span classoperator«>)</span><span classoperator«>;</span> <span classkeyword«>КонецПроцедуры</span></pre> <p classRegularbeforepicture«>В результате получается следующая форма, заполненная данными:</p> <p classPicture«><IMG src_img/img00550.gif?_=1496848987» WIDTH530» ALT HEIGHT464«></p> <p classMsoCaption«>Рис. 542. Бланк доставки</p> <a idTI000000988» classbookmark» nameissogl3_27.17.3.3_реализация_реакции_на_изменение_ячеек_табличного_документа«><h4>27.17.3.3. Реализация реакции на изменение ячеек табличного документа</h4></a> <p classMsoNormalCxSpFirst«>В получившейся форме отсутствует автоматический пересчет полей <span classInterface«>Срок доставки</span> и <span classInterface«>Дата доставки</span> при их изменении.</p> <p classMsoNormalCxSpMiddle«>Для того чтобы такой пересчет стал возможным, следует реализовать обработку соответствующего события для реквизита формы, связанного с табличным документом.</p> <p classMsoNormalCxSpLast«>Нужно добавить обработчик <span classTerm«>ПриИзмененииСодержимогоОбласти</span> для элемента формы <span classTerm«>ТабличныйДокумент</span>. В обработчике должен располагаться следующий программный текст:</p> <a classcopy_source» href#_top» onClickreturn false«>Копировать в буфер обмена</a> <pre classsrc_dev«><span classpreprocessor«>&amp;НаКлиенте</span> <span classkeyword«>Процедура</span> ТабличныйДокументПриИзмененииСодержимогоОбласти<span classoperator«>(</span>Элемент<span classoperator«>,</span> Область<span classoperator«>)</span> СекундВСутках <span classoperator«>=</span> <span classnumber«>24</span> <span classoperator«>*</span> <span classnumber«>60</span> <span classoperator«>*</span> <span classnumber«>60</span><span classoperator«>;</span> <span classkeyword«>Если</span> Область<span classoperator«>.</span>Имя <span classoperator«>=</span> <span classstring«>&quot;ДатаДоставки&quot;</span> <span classkeyword«>Тогда</span> ТабличныйДокумент<span classoperator«>.</span>Область<span classoperator«>(</span><span classstring«>&quot;СрокДоставки&quot;</span><span classoperator«>)</span><span classoperator«>.</span>Значение <span classoperator«>=</span> <span classoperator«>(</span>ТабличныйДокумент<span classoperator«>.</span>Область<span classoperator«>(</span><span classstring«>&quot;ДатаДоставки&quot;</span><span classoperator«>)</span><span classoperator«>.</span>Значение – НачалоДня<span classoperator«>(</span>ДатаДокумента<span classoperator«>)</span><span classoperator«>)</span> <span classoperator«>/</span> СекундВСутках<span classoperator«>;</span> <span classkeyword«>ИначеЕсли</span> Область<span classoperator«>.</span>Имя <span classoperator«>=</span> <span classstring«>&quot;СрокДоставки&quot;</span> <span classkeyword«>Тогда</span> ТабличныйДокумент<span classoperator«>.</span>Область<span classoperator«>(</span><span classstring«>&quot;ДатаДоставки&quot;</span><span classoperator«>)</span><span classoperator«>.</span>Значение <span classoperator«>=</span> НачалоДня<span classoperator«>(</span>ДатаДокумента<span classoperator«>)</span> <span classoperator«>+</span> ТабличныйДокумент<span classoperator«>.</span>Область<span classoperator«>(</span><span classstring«>&quot;СрокДоставки&quot;</span><span classoperator«>)</span><span classoperator«>.</span>Значение <span classoperator«>*</span> СекундВСутках<span classoperator«>;</span> <span classkeyword«>КонецЕсли</span> <span classkeyword«>КонецПроцедуры</span></pre> <p classMsoNormal«>Теперь табличный документ обрел желаемую интерактивность.</p> <a name_ref214456149«></a><a name_ref214261058«></a><a name_ref214261055«></a><a idTI000000989» classbookmark» nameissogl1_27.18.редактор_карты_маршрута«><h2>27.18.Редактор карты маршрута</h2></a> <p classMsoNormalCxSpFirst«><span classBold«>Карта маршрута</span> – это схематическое изображение последовательности выполнения действий, предусмотренных бизнес-процессом. Она является частным случаем графической схемы.</p> <p classMsoNormalCxSpMiddle«>Основное отличие карты маршрута от графической схемы – особая обработка специальных элементов схемы (точка старта, завершения, действия, условия и т. д.).</p> <p classMsoNormalCxSpMiddle«>Карта маршрута является одновременно и инструкцией системе по выполнению последовательности действий бизнес-процесса, и иллюстрацией для пользователя структуры этих действий, а также средством отображения текущего состояния бизнес-процесса (описание метода <span classTerm«>ПолучитьКартуМаршрута()</span> справки по встроенному языку).</p> <p classMsoNormalCxSpLast«>Карта маршрута представляет собой прямоугольную область экрана, которая в самом общем случае содержит различные элементы карты маршрута, например, точку старта, точку завершения, декорации, соединительные линии и т. д.</p> <a idTI000000990» classbookmark» nameissogl2_27.18.1_редактирование_карты_маршрута«><h3>27.18.1. Редактирование карты маршрута</h3></a> <p classMsoNormalCxSpFirst«>Для редактирования карты маршрута в окне редактирования бизнес-процесса, на закладке <span classInterface«>Прочее</span> нужно нажать кнопку <span classInterface«>Карта маршрута</span>.</p> <p classMsoNormalCxSpMiddle«>Процесс редактирования карты маршрута заключается в размещении на карте маршрута элементов карты различных типов, редактировании их свойств и соединении их друг с другом соединительными линиями.</p> <p classMsoNormalCxSpMiddle«>Для редактирования карты маршрута используется мышь или клавиатура (некоторые операции выполняются только с помощью мыши – например, соединение элементов карты маршрута с помощью соединительных линий). При появлении редактируемой карты маршрута на экране становятся доступными кнопки панели инструментов <span classInterface«>Вставка элементов карты маршрута</span> и пункт меню верхнего уровня <span classInterface«>Карта маршрута</span>.</p> <p classMsoNormalCxSpLast«>Установка свойств карты маршрута производится с помощью палитры свойств (см. <A href/db/content/v8310doc/src/руководство разработчика/глава 2. работа с конфигурацией.htm?_=1496848987#_ref216235939«>здесь</a>).</p> <a idTI000000991» classbookmark» nameissogl2_27.18.2_элементы_карты_маршрута«><h3>27.18.2. Элементы карты маршрута</h3></a> <a idTI000000992» classbookmark» nameissogl3_27.18.2.1_рекомендации_по_оформлению«><h4>27.18.2.1. Рекомендации по оформлению</h4></a> <p classMsoNormalCxSpFirst«>Наилучшим подходом для рисования карт маршрута является вертикальная ориентация карты. Карта маршрута предполагает вертикальное расположение (сверху вниз). Например, при добавлении элемента карты маршрута (далее в данном разделе «элемента») <span classInterface«>Точка действия</span> он сразу создается с исходящей соединительной линией, направленной вниз.</p> <p classMsoNormalCxSpMiddle«>При создании надписей желательно использовать одинаковые шрифты. Использование другого шрифта является дополнительным средством привлечения внимания (например, заголовок декорации, выделяющей группу элементов).</p> <p classMsoNormalCxSpMiddle«>Редактор карты маршрута позволяет размещать в карте маршрута различные элементы, задавать их размеры и выравнивать границы и т. д.</p> <p classMsoNormalCxSpMiddle«>Чтобы облегчить размещение элементов, редактор карты маршрута предоставляет различные сервисные средства. Это использование разметочной сетки, а также выполнение различных действий над группой элементов (выравнивание, распределение в карте маршрута, установка размеров и т. д.).</p> <p classMsoNormalCxSpLast«>В качестве дополнительных возможностей можно использовать индивидуальное оформление элементов. С помощью свойств категории <span classInterface«>Оформление</span> производится настройка цвета текста и фона поля, шрифта текста, выбирается вид и цвет рамки, использование картинки, подсказки и другие приемы оформления. Состав свойств зависит от типа элемента.</p> <a idTI000000993» classbookmark» nameissogl3_27.18.2.2_порядок_элементов«><h4>27.18.2.2. Порядок элементов</h4></a> <p classMsoNormal«>В отличие от обычной графической схемы, в карте маршрута даже после изменения порядка определенные типы элементов все равно сохраняют порядок, характерный для данного типа. А именно:</p> <p classMsoListBulletCxSpFirst«>● Декорации всегда находятся на заднем плане (внизу) (т. е. менять порядок декораций можно только относительно друг друга – относительно других элементов они всегда будут ниже).</p> <p classMsoListBulletCxSpMiddle«>● Следом за декорациями (выше их) идут соединительные линии.</p> <p classMsoListBulletCxSpLast«>● На самом верху – все остальные элементы (визуализирующие точки бизнес-процесса). Таким образом, элементы, составляющие логику карты маршрута, всегда лежат выше декораций и декоративных соединительных линий по порядку отрисовки.</p> <a idTI000000994» classbookmark» nameissogl3_27.18.2.3_работа_с_соединительными_линиями«><h4>27.18.2.3. Работа с соединительными линиями</h4></a> <p classMsoNormalCxSpFirst«>Смысл карты маршрута состоит в описании последовательности действий бизнес-процесса – она задается именно связью элементов с помощью элемента <span classInterface«>Соединительная линия</span>. Соединительные линии нельзя вставлять просто так – они всегда присоединены к каким-либо точкам бизнес-процесса и не могут существовать сами по себе. Соединительные линии нельзя удалить, если это не предусмотрено точкой бизнес-процесса (например, точка разделения и точка выбора варианта).</p> <p classMsoNormalCxSpMiddle«>Связывать друг с другом можно все элементы, визуализирующие точки бизнес-процесса, т. е. все элементы, кроме элементов <span classInterface«>Декорация</span>, <span classInterface«>Соединительная линия</span> и <span classInterface«>Декоративная линия</span>. По умолчанию большинство элементов, визуализирующие точки бизнес-процесса, вставляются в карту маршрута с одной исходящей линией, которую нельзя ни отсоединить, ни удалить. Ее можно только передвинуть на другой порт (<span classBold«>порт</span> – область элемента, куда может быть присоединена линия – обычно это середина стороны прямоугольника, занимаемого элементом; на схеме незанятый порт обозначается синим крестиком).</p> <p classMsoNormalCxSpMiddle«>Для работы с элементом карты маршрута <span classInterface«>Соединительная линия</span> нужно выбрать ее нажатием мыши на любом сегменте (отрезке) соединительной линии либо перейти к ней с помощью клавиши <span classInterface«>Tab</span> (<span classInterface«>Shift + Tab</span>).</p> <p classMsoNormalCxSpMiddle«>Если конец линии не присоединен ни к какому элементу, то прямоугольник на конце линии имеет красный цвет, а стрелка имеет контур, т. е. не закрашена внутри. Для присоединения нужно мышью захватить конец соединительной линии (серый или красный прямоугольник) и, потащив в область порта какого-либо элемента, там отпустить. После этого соединительная линия автоматически перестроится. Можно также переприсоединить соединительную линию (присоединив ее конец к другому элементу). При этом действует следующее ограничение: нельзя напрямую зациклить один элемент на втором (<span classInterface«>точка1</span> &quot; <span classInterface«>точка2</span> и <span classInterface«>точка2</span> &quot; <span classInterface«>точка1</span>), если ни один из этих элементов не является элементом карты маршрута <span classInterface«>Точка условия</span> или <span classInterface«>Точка выбора варианта</span>.</p> <p classMsoNormalCxSpMiddle«>При вставке элемента в карту маршрута автоматически происходит попытка присоединить незанятые порты этого элемента к близлежащим неприсоединенным линиям. При перемещении или изменении размера элемента автоматически происходит попытка присоединить незанятые порты этого элемента к близлежащим свободным (неприсоединенным) линиям, а также исходящие из этого элемента линии, чей конец не присоединен к незанятым портам других элементов, находящимся в непосредственной близости.</p> <p classMsoNormalCxSpLast«>Элемент <span classInterface«>Декоративная линия</span> предназначен для соединения декораций и точек карты маршрута. В карте маршрута может быть размещено произвольное число декоративных линий.</p> <a idTI000000995» classbookmark» nameissogl3_27.18.2.4_проверка_корректности_карты_маршрута«><h4>27.18.2.4. Проверка корректности карты маршрута</h4></a> <p classMsoNormal«>При выборе пункта <span classInterface«>Карта маршрута – Проверить</span>, а также автоматически при сохранении карты маршрута происходит проверка корректности карты маршрута. При этом проверяются следующие некорректные ситуации:</p> <p classMsoListBulletCxSpFirst«>● зацикливание;</p> <p classMsoListBulletCxSpMiddle«>● наличие неприсоединенных линий;</p> <p classMsoListBulletCxSpMiddle«>● наличие точек маршрута, не являющихся точкой старта и при этом не имеющих ни одной входящей линии;</p> <p classMsoListBulletCxSpMiddle«>● карта маршрута, не имеющая ни одной точки старта;</p> <p classMsoListBulletCxSpMiddle«>● наличие точек маршрута, не имеющих пути в точку завершения;</p> <p classMsoListBulletCxSpMiddle«>● карта маршрута, в которой не все линии, вошедшие в точку слияния, вышли из соответствующей ему точки разделения;</p> <p classMsoListBulletCxSpMiddle«>● карта маршрута, в которой распараллеленные ветки (исходящие из точки разделения) входят в одни и те же точки маршрута (до точки слияния);</p> <p classMsoListBulletCxSpMiddle«>● карта маршрута с циклами, которые не содержат ни одной точки вида <span classInterface«>Точка действия</span>, <span classInterface«>Точка вложенного бизнес-процесса</span> или <span classInterface«>Точка обработки</span> (цикл – замкнутая уникальная последовательность точек маршрута);</p> <p classMsoListBulletCxSpLast«>● карта маршрута, в которой какая-либо точка маршрута вида <span classInterface«>Точка условия</span> или <span classInterface«>Точка выбора варианта</span> не имеет обработчика события (соответственно <span classTerm«>ПроверкаУсловия()</span> либо <span classTerm«>ВыборВарианта()</span>).</p> <a idTI000000996» classbookmark» nameissogl2_27.18.3_элементы_карты_маршрута«><h3>27.18.3. Элементы карты маршрута</h3></a> <p classMsoNormalCxSpFirst«>В разделе описываются все типы элементов карты маршрута в алфавитном порядке представления элементов.</p> <p classMsoNormalCxSpLast«>Поведение элементов настраивается в палитре свойств путем установки и выбора значений. Некоторые свойства элементов присущи всем или большинству типов элементов. Индивидуальные свойства приводятся в справке по встроенному языку для каждого вида элементов.</p> <a idTI000000997» classbookmark» nameissogl3_27.18.3.1_общие_свойства_элементов_карты_маршрута«><h4>27.18.3.1. Общие свойства элементов карты маршрута</h4></a> <p classMsoNormalCxSpFirst«>Существует ряд свойств, которые присущи всем или большинству типов элементов. Обычно такие свойства имеют одинаковое назначение и редактируются одинаковым образом. Ниже будут описаны такие свойства, а в разделах, посвященных отдельным типам элементов, будет изложен порядок редактирования уникальных свойств элементов.</p> <p classMsoNormalCxSpMiddle«>Приводятся только свойства, отличающие элементы карты от соответствующих элементов графической схемы.</p> <p classMsoNormalCxSpMiddle«>Для удобства описания свойства будут сгруппированы по категориям палитры свойств.</p> <p classMsoNormalCxSpLast«>Некоторые свойства, описываемые ниже, для некоторых элементов могут отсутствовать.</p> <a idTI000000998» classbookmark» nameissogl4_27.18.3.1.1_категория_свойств_основные«><h5>27.18.3.1.1. Категория свойств «Основные»</h5></a> <p classMsoNormal«><span classInterface«>Наименование задачи</span> – наименование задачи, которая будет формироваться в точках вида <span classInterface«>Точка действия</span> или <span classInterface«>Точка вложенного бизнес-процесса</span>.</p> <a idTI000000999» classbookmark» nameissogl4_27.18.3.1.2_категория_свойств_события«><h5>27.18.3.1.2. Категория свойств «События»</h5></a> <p classMsoNormal«>Свойства этой категории определяют поведение точек бизнес-процесса, представленных элементами, при определенных действиях, например, при интерактивной активации, при создании задач, при проверке условия (для элементов вида <span classInterface«>Точка условия</span>) и т. д.</p> <p classRegularbeforepicture«>При работе с элементами большинство действий может инициировать запуск связанных с этими действиями процедур. В теле каждой процедуры средствами встроенного языка описывается обработка события.</p> <p classPicture«><IMG src_img/img00551.gif?_=1496848987» WIDTH433» ALT HEIGHT165«></p> <p classMsoCaption«><a name_ref227566424«>Рис. </a>543. Создание обработчика события</p> <p classMsoNormalCxSpFirst«>Инициализация создания процедуры, отвечающей за отработку события, производится нажатием специальной кнопки палитры свойств, расположенной справа от реквизита с наименованием события в категории свойств <span classInterface«>События</span> (см. <a href#_ref227566424«>рис. 543</a>).</p> <p classMsoNormalCxSpMiddle«>Процедуры создаются в модуле бизнес-процесса, свойством которого является редактируемая карта маршрута.</p> <p classMsoNormalCxSpMiddle«>В режиме работы с бизнес-процессом при наступлении события управление выполнением программы передается процедуре, связанной с этим событием.</p> <p classMsoNormalCxSpLast«>Список событий карты маршрута или элементов, а также условия их наступления приведены в справке по встроенному языку, в описании соответствующего объекта.</p> <a idTI000001000» classbookmark» nameissogl3_27.18.3.2_соединительная_линия«><h4>27.18.3.2. Соединительная линия</h4></a> <p classMsoNormalCxSpFirst«>Элемент карты маршрута <span classInterface«>Соединительная линия</span> предназначен для соединения в карте маршрута элементов, визуализирующих точки бизнес-процесса (например, элемент <span classInterface«>Точка старта</span>, элемент <span classInterface«>Точка действия</span>, элемент <span classInterface«>Точка условия</span> и т. д.). Элемент <span classInterface«>Соединительная линия</span> автоматически перестраивается при изменении положения элементов. Возможности вмешиваться в алгоритм построения нет.</p> <p classMsoNormalCxSpMiddle«>Элемент <span classInterface«>Соединительная линия</span> вставляется автоматически при вставке других элементов карты маршрута и не может существовать сам по себе. Вставка дополнительных соединительных линий предусмотрена только в элементах карты маршрута вида <span classInterface«>Точка разделения</span> и <span classInterface«>Точка выбора варианта</span>.</p> <p classMsoNormalCxSpLast«>При построении линии система руководствуется правилом выбора кратчайшего пути, состоящего из вертикальных и горизонтальных отрезков линий и не пересекающего другие точки карты.</p> <a idTI000001001» classbookmark» nameissogl3_27.18.3.3_точка_действия«><h4>27.18.3.3. Точка действия</h4></a> <p classMsoNormal«>Элемент карты маршрута вида <span classInterface«>Точка действия</span> отображает основную точку бизнес-процесса, по которой выдаются и выполняются задачи.</p> <a idTI000001002» classbookmark» nameissogl4_27.18.3.3.1_категория_свойств_адресация«><h5>27.18.3.3.1. Категория свойств «Адресация»</h5></a> <p classMsoNormalCxSpFirst«><span classInterface«>Пояснение</span> – строка, дополнительно характеризующая адресацию точки действия. Применяется, когда атрибуты адресации проставляются из встроенного языка, а не задаются заранее на этапе проектирования карты маршрута.</p> <p classMsoNormalCxSpMiddle«><span classInterface«>Групповая</span> – если установлено в значение <span classTerm«>Истина</span>, то задачи на данной точке бизнес-процесса будут выданы каждому члену группы (отдела). В противном случае выдается одна задача на всю группу, например, «Отдел продаж», выполняет ее один человек (первый взявший ее).</p> <p classMsoNormalCxSpLast«><span classInterface«>Реквизиты адресации</span> – этих свойств столько, сколько реквизитов адресации у задачи, указанной в свойстве <span classInterface«>Задача</span> данного бизнес-процесса. В палитре свойств можно выбрать значение из предопределенных данных, тип которых задан в реквизите адресации задачи (например, из справочника <span classInterface«>Отделы</span> или <span classInterface«>Исполнители</span>).</p> <a idTI000001003» classbookmark» nameissogl3_27.18.3.4_точка_разделения«><h4>27.18.3.4. Точка разделения</h4></a> <p classMsoNormalCxSpFirst«>Элемент карты маршрута <span classInterface«>Точка разделения</span> отображает точку бизнес-процесса, в которой поток исполнения разделяется на несколько параллельных веток, идущих одновременно. По умолчанию размещается в карте маршрута с тремя исходящими соединительными линиями.</p> <p classMsoNormalCxSpLast«>Для добавления выходящей линии в контекстном меню нужно выбрать пункт <span classInterface«>Добавить линию</span>. Для удаления – выделить линию, выбрать пункт <span classInterface«>Удалить</span>. При этом нельзя удалить единственную оставшуюся исходящую линию.</p> <a idTI000001004» classbookmark» nameissogl3_27.18.3.5_точка_условия«><h4>27.18.3.5. Точка условия</h4></a> <p classMsoNormalCxSpFirst«>Элемент карты маршрута <span classInterface«>Точка условия</span> отображает точку бизнес-процесса, из которой есть два выхода, отражающие результат выполнения логического условия.</p> <p classMsoNormalCxSpLast«>По умолчанию элемент <span classInterface«>Точка условия</span> вставляется в карту маршрута с двумя исходящими слева и справа соединительными линиями. Справа располагается ветка, по которой идет процесс при возврате значения <span classTerm«>Истина</span> в обработчике <span classTerm«>ПроверкаУсловия()</span>. Ветки условия можно поменять местами. Для этого нужно выбрать линию, исходящую из элемента <span classInterface«>Точка условия</span> и, захватив мышью прямоугольник у начала линии, перенести его на противоположную сторону элемента <span classInterface«>Точка условия</span>.</p> <a idTI000001005» classbookmark» nameissogl3_27.18.3.6_точка_завершения«><h4>27.18.3.6. Точка завершения</h4></a> <p classMsoNormal«>Элемент карты маршрута <span classInterface«>Точка завершения</span> отображает точку бизнес-процесса, в которой завершается бизнес-процесс. В карте маршрута может быть несколько элементов этого вида.</p> <a idTI000001006» classbookmark» nameissogl3_27.18.3.7_точка_старта«><h4>27.18.3.7. Точка старта</h4></a> <p classMsoNormal«>Элемент <span classInterface«>Точка старта</span> отображает точку бизнес-процесса, с которой начинается выполнение бизнес-процесса. Для бизнес-процесса, имеющего несколько точек вида <span classInterface«>Точка старта</span>, при запуске должна быть указана нужная точка старта. В элемент <span classInterface«>Точка старта</span> не могут входить соединительные линии.</p> <a idTI000001007» classbookmark» nameissogl3_27.18.3.8_точка_слияния«><h4>27.18.3.8. Точка слияния</h4></a> <p classMsoNormal«>Элемент карты маршрута <span classInterface«>Точка слияния</span> отображает точку бизнес-процесса, в которую сходятся параллельные пути исполнения, начавшиеся в точке разделения. Пока исполнение задач по всем параллельным путям не придет в точку слияния, переход к следующей за слиянием точке не будет выполнен. Одной точке слияния всегда соответствует одна точка разделения (но не наоборот, т. к. могут быть точки разделения без точек слияния). Не требуется явно указывать, какому элементу <span classInterface«>Точка разделения</span> соответствует элемент <span classInterface«>Точка слияния</span>. Это будет определено автоматически.</p> <a idTI000001008» classbookmark» nameissogl3_27.18.3.9_точка_вложенного_бизнес-процесса«><h4>27.18.3.9. Точка вложенного бизнес-процесса</h4></a> <p classMsoNormal«>Элемент карты маршрута <span classInterface«>Точка вложенного бизнес-процесса</span> отображает точку бизнес-процесса, в которой запускается на исполнение вложенный бизнес-процесс. Исполнение основного (родительского) процесса возобновляется только после завершения вложенного процесса.</p> <a idTI000001009» classbookmark» nameissogl4_27.18.3.9.1_категория_свойств_данные«><h5>27.18.3.9.1. Категория свойств «Данные»</h5></a> <p classMsoNormal«><span classInterface«>Бизнес-процесс</span> – ссылка на вложенный бизнес-процесс.</p> <a idTI000001010» classbookmark» nameissogl3_27.18.3.10_точка_обработки«><h4>27.18.3.10. Точка обработки</h4></a> <p classMsoNormal«>Элемент карты маршрута <span classInterface«>Точка обработки</span> отображает точку бизнес-процесса, выполняемую в автоматическом режиме и не имеющую адресата.</p> <a idTI000001011» classbookmark» nameissogl3_27.18.3.11_точка_выбора_варианта«><h4>27.18.3.11. Точка выбора варианта</h4></a> <p classMsoNormal«>Элемент карты маршрута <span classInterface«>Точка выбора варианта</span> отображает точку бизнес-процесса, имеющую несколько выходов (вариантов), из которых, в зависимости от значения возвращаемого параметра <span classInterface«>Вариант</span> обработчика <span classTerm«>ОбработкаВыбораВарианта()</span>, выбирается только один.</p> <a idTI000001012» classbookmark» nameissogl2_27.18.4_модуль«><h3>27.18.4. Модуль</h3></a> <p classMsoNormal«>Карта маршрута не имеет собственного модуля. Обработчики событий помещаются в модуль объекта бизнес-процесса.</p> <a name_ref221519000«></a><a idTI000001013» classbookmark» nameissogl1_27.19.редактор_картинок«><h2>27.19.Редактор картинок</h2></a> <a idTI000001836» classbookmark» nameissogl2_27.19.1_общая_информация«><h3>27.19.1. Общая информация</h3></a> <p classMsoNormalCxSpFirst«>Конфигуратор предоставляет средство редактирования картинок и коллекций картинок.</p> <p classMsoNormalCxSpMiddle«>Картинки хранятся в конфигурации в ветви <span classInterface«>Общие – Общие картинки</span> или в файлах на диске.</p> <p classMsoNormalCxSpMiddle«>Для создания новой картинки в конфигурации в ветви <span classInterface«>Общие – Общие картинки</span> нужно выполнить команду <span classInterface«>Действия – Добавить</span>, а далее открыть созданную пустую картинку для редактирования.</p> <p classMsoNormalCxSpMiddle«>Для редактирования картинки в конфигурации в ветви <span classInterface«>Общие – Общие картинки</span> следует выбрать картинку и выполнить команду меню <span classInterface«>Действия – Изменить</span>, далее в открывшемся диалоге нажать кнопку <span classInterface«>Редактировать</span>. Если картинка хранится в формате, отличном от формата <span classInterface«>PNG</span>, то при открытии будет предложено конвертировать картинку в формат <span classInterface«>PNG</span>. При отказе от конвертации редактировать картинку невозможно.</p> <p classMsoNormalCxSpMiddle«>Картинки формата <span classInterface«>WMF</span>, <span classInterface«>EMF</span> и <span classInterface«>SVG</span> редактировать невозможно.</p> <p classMsoNormalCxSpMiddle«>Чтобы создать новую картинку, расположенную в файле на диске, нужно выполнить команду <span classInterface«>Файл – Новый</span> и в окне выбора типа редактора выбрать <span classInterface«>Картинка</span>. Далее отредактировать пустую картинку и сохранить ее командой <span classInterface«>Файл – Сохранить</span> или <span classInterface«>Файл – Сохранить как…</span></p> <p classMsoNormalCxSpMiddle«>Для редактирования картинки, расположенной в файле на диске, следует выполнить команду меню <span classInterface«>Файл – Открыть</span> и в списке файлов выбрать нужный файл.</p> <p classMsoNormalCxSpMiddle«>Редактор работает в двух режимах: редактирование картинки и редактирование коллекции картинок. Различие между картинкой и коллекцией картинок носит условный характер. Под коллекцией картинок понимается картинка, состоящая из картинок-элементов, имеющих одинаковый размер. Любую картинку можно представить как коллекцию картинок. Коллекция картинок позволяет хранить и редактировать картинки, чье использование однотипно, например, пиктограммы, картинки кнопок, иконки и т. д. По умолчанию редактор открывается в режиме редактирования картинок.</p> <p classMsoNormalCxSpLast«>Приемы редактирования картинки не зависят от выбора вида картинки (см. <a href#_ref236792735«>здесь</a>). Особенности работы с коллекцией картинок см. <a href#_ref236792752«>здесь</a>.</p> <a name_ref236792735«></a><a name_ref216064573«></a><a idTI000001014» classbookmark» nameissogl2_27.19.2_редактирование_картинки«><h3>27.19.2. Редактирование картинки</h3></a> <p classRegularbeforepicture«>После выбора (или создания) картинки ее можно редактировать с помощью редактора картинок.</p> <p classPicture«><IMG src_img/img00552.gif?_=1496848987» WIDTH585» ALT HEIGHT599«></p> <p classMsoCaption«>Рис. 544. Редактор картинок</p> <p classMsoNormalCxSpFirst«>Окно редактора состоит из панели инструментов, двух полей для редактирования картинки (левое представляет картинку в натуральную величину и предназначено для просмотра результата редактирования, а правое поле содержит увеличенное изображение картинки и предназначено для редактирования) и палитры цветов для выбора цвета.</p> <p classMsoNormalCxSpMiddle«>Редактировать картинку можно в любом поле. Редактирование осуществляется мышью. Предварительно нужно выбрать инструмент или фигуру для рисования (карандаш, кисть, аэрограф, линию, прямоугольник, эллипс), в палитре цветов следует выбрать цвет для инструмента.</p> <p classMsoNormalCxSpMiddle«>Текущее положение указателя мыши и размер области, а также масштаб показываются в панели состояния.</p> <p classMsoNormalCxSpMiddle«>Картинка представляет собой прямоугольную область, состоящую из набора точек (пикселей), размер которой можно изменить с помощью мыши, потянув маркер нижней или правой границы или правого нижнего угла. Размеры картинки также можно изменить в окне <span classInterface«>Параметры картинки</span> (см. ниже).</p> <p classMsoNormalCxSpLast«>Редактирование сводится к указанию определенного цвета каждой точки картинки. Количество цветов определяется разрешением картинки. Чем больше разрешение, тем больше цветов можно использовать.</p> <p classNote«><span classNote«>ВНИМАНИЕ!</span> Использование разрешения 24 бита на пиксель при больших размерах картинок приводит к увеличению размеров конфигурации.</p> <p classMsoNormalCxSpFirst«>Выбор цвета производится в палитре цветов отдельно для каждой кнопки мыши. Выбранный цвет показывается двойной рамкой.</p> <p classMsoNormalCxSpMiddle«>Состав цветов можно менять. Для этого нужно дважды щелкнуть мышью цвет, который требуется изменить. В открывшемся окне выбора цвета выбрать нужный из стилей или создать новый цвет.</p> <p classMsoNormalCxSpLast«>Размер картинки можно менять. Для этого достаточно с помощью указателя мыши потянуть маркер стороны или угла области картинки.</p> <p classRegularbeforepicture«>Сетка (пиксельная) предназначена для облегчения редактирования картинки. Сетка показывается прерывистой линией. Для настройки показа сетки нужно выбрать пункт <span classInterface«>Действия – Сетка</span>. На экран выводится диалог.</p> <p classPicture«><IMG src_img/img00553.gif?_=1496848987» WIDTH264» ALT HEIGHT152«></p> <p classMsoCaption«>Рис. 545. Установка параметров сетки</p> <p classMsoNormalCxSpFirst«>Если флажок <span classInterface«>По точкам</span> установлен, то показывается пиксельная сетка.</p> <p classMsoNormalCxSpMiddle«>Если установлен флажок <span classInterface«>По изображениям</span>, то подразумевается, что картинка представляет собой коллекцию картинок одинакового размера (о редактировании коллекции (см. раздел ниже). В этом случае становятся доступными поля для указания размеров элемента коллекции. Помимо пиксельной сетки в поле редактирования картинки выводится сетка коллекции в виде тонких сплошных линий. При этом режим редактирования не изменяется.</p> <p classMsoNormalCxSpMiddle«>При установленном флажке <span classInterface«>По изображениям</span> изменение размера картинки кратно размеру ячейки. Если флажок не установлен, то размер изменяется с точностью до пикселя.</p> <p classMsoNormalCxSpMiddle«>Для рисования используют различные инструменты и набор фигур. Набор и порядок использования инструментов аналогичны стандартному набору инструментов, используемых в программе <span classInterface«>Paint</span>, входящей в Microsoft Windows. Таблицу сочетаний клавиш для редактора картинок (см. в справке при использовании программы).</p> <p classMsoNormalCxSpMiddle«>Но есть и некоторые отличия. По кнопке <span classInterface«>Масштаб</span> изображение поля редактирования может масштабироваться в пределах от 1:1 до 20:1 с шестью ступенями выбора. Нажатие кнопки приводит к выбору следующей ступени масштаба. Когда достигнут масштаб 20:1, очередное нажатие кнопки приводит к выбору масштаба 1:1. Нужный масштаб можно выбрать сразу, нажав справа от кнопки масштаба кнопку выбора (с маленьким треугольником вершиной вниз).</p> <p classMsoNormalCxSpMiddle«>Если нажать кнопку <span classInterface«>Масштаб</span> и перевести указатель мыши на любую из областей рисунка, то появляется рамка. Эта рамка обозначает область изображения, которая будет показана при нажатии на клавиши мыши.</p> <p classMsoNormalCxSpMiddle«>Изменить масштаб также можно, используя мышь с колесом прокрутки с нажатой клавишей <span classInterface«>Ctrl</span>.</p> <p classMsoNormalCxSpLast«>Кнопки рисования фигур (прямоугольник, прямоугольник с закругленными краями, эллипс) также имеют кнопки выбора, нажав которые можно выбрать вид фигуры (простой, обведенный закрашенный, закрашенный).</p> <p classRegularbeforepicture«>Кнопка <span classInterface«>Параметры картинки</span> вызывает на экран диалог:</p> <p classPicture«><IMG src_img/img00554.gif?_=1496848987» WIDTH322» ALT HEIGHT102«></p> <p classMsoCaption«>Рис. 546. Параметры картинки</p> <p classMsoNormal«>В диалоге задается размер картинки и разрешение (определяет максимальное число используемых цветов). Для картинок, у которых разрешение установлено в 1, 4 или 8 бит на пиксель, невозможно использовать альфа-канал. Разрешается использование только одного прозрачного цвета. Использовать альфа-канал можно в случае, если разрешение больше 8 бит на пиксель.</p> <p classNote«><span classNote«>Примечание.</span> Не следует использовать в конфигурациях альфа-канал у картинок, чей размер превышает 40 000 точек (например, картинка 200х200 точек). Для таких картинок не поддерживается корректное отображение в веб-клиенте, который работает в веб-браузере Microsoft Internet Explorer 6.0. Это правило не относится к картинкам-коллекциям, размер элементов которых меньше указанного ограничения.</p> <p classMsoNormalCxSpFirst«>Редактор картинок допускает использование стандартных команд работы с буфером обмена. Для вставки рисунка нужно использовать <span classInterface«>Ctrl + V</span>, для копирования – <span classInterface«>Ctrl + С</span>, для копирования с удалением – <span classInterface«>Ctrl + X</span>. Если размер картинки превышает текущий размер, то редактор предлагает изменить его.</p> <p classMsoNormalCxSpLast«>В палитре инструментов есть многоцелевая кнопка, которая меняет свое назначение в зависимости от выбранного инструмента или фигуры. Она расположена во втором ряду справа, перед кнопкой <span classInterface«>Параметры картинки</span>. При выборе линии, кривой, прямоугольника и эллипса данная кнопка показывает толщину используемой линии, с помощью которой рисуется фигура, в пикселях. Нажатие кнопки приводит к последовательной смене толщины (пять ступеней). При нажатии кнопки выбора открывается выпадающее меню, в котором можно выбрать нужную толщину линии рисования фигуры. Для аэрографа с помощью данной кнопки определяется размер пятна, для кисти – размер и форма, для ластика – размер. При выборе режима выделения или ввода текста кнопка предоставляет возможность задать режим прозрачности.</p> <p classRegularbeforepicture«>Для ввода текста нужно нажать кнопку <span classInterface«>Текст</span>. На экран выводится диалог:</p> <p classPicture«><IMG src_img/img00555.gif?_=1496848987» WIDTH276» ALT HEIGHT117«></p> <p classMsoCaption«>Рис. 547. Диалог ввода текста</p> <p classMsoNormalCxSpFirst«>В многострочном поле ввода вводится текст. По кнопке <span classInterface«>Шрифт</span> выбирается требуемый шрифт (начертание, размер и другие характеристики). Выбор шрифта осуществляется из системных шрифтов или из стилей, определенных в конфигурации.</p> <p classMsoNormalCxSpLast«>С помощью кнопки <span classInterface«>Замена цветов</span> просто осуществляется замена выбранного указателем мыши цвета (указывается пиксель) на цвет, установленный для данной кнопки мыши. Таким образом можно быстро перекрашивать рисунки, используя сразу два цвета на каждую кнопку мыши.</p> <a name_ref236792752«></a><a name_ref469412072«></a><a name_ref469412071«></a><a name_ref469410939«></a><a idTI000001015» classbookmark» nameissogl2_27.19.3_коллекции_картинок«><h3>27.19.3. Коллекции картинок</h3></a> <p classMsoNormalCxSpFirst«><span classBold«>Коллекция картинок</span> – это картинка, состоящая из отдельных элементов (картинок) одинакового размера. Элементы образуют прямоугольную матрицу, каждая ячейка которой представляет самостоятельную картинку.</p> <p classMsoNormalCxSpMiddle«>Коллекция картинок предназначена для упрощения выбора нужной картинки в элементы управления, заголовки колонок и т. д. Использование коллекции гарантирует выбор картинок одинакового размера для однотипного использования.</p> <p classMsoNormalCxSpMiddle«>С помощью редактора картинок можно создавать и редактировать коллекции картинок. Для перехода в режим редактирования коллекции нужно выбрать пункт <span classInterface«>Режим коллекции</span>. При этом картинка, показанная в поле просмотра, разбивается на ячейки. Для редактирования картинки-элемента следует дважды щелкнуть ячейку мышью – картинка-элемент показывается в поле редактирования. Приемы редактирования описаны в разделе выше.</p> <p classMsoNormalCxSpLast«>В панели инструментов добавляются две кнопки – <span classInterface«>Добавить колонку</span> и <span classInterface«>Добавить строку</span>. При нажатии той или иной кнопки в картинку добавляется новая колонка или строка.</p> <p classRegularbeforepicture«>Изменить размер элемента можно только в диалоге <span classInterface«>Параметры картинки</span> (маркеры изменения размера недоступны).</p> <p classPicture«><IMG src_img/img00556.gif?_=1496848987» WIDTH351» ALT HEIGHT204«></p> <p classMsoCaption«>Рис. 548. Параметры коллекции</p> <p classMsoNormalCxSpFirst«>В группе элементов <span classInterface«>Параметры картинки</span> задаются размеры картинки в элементах (ячейках). В группе элементов <span classInterface«>Параметры коллекции</span> задаются размеры ячейки в пикселях (точках). Параметры коллекции задаются с помощью сооветствующих атрибутов файла манифеста картинки с вариантами (подробнее см. <A href/db/content/v8310doc/src/руководство разработчика/глава 5. объекты конфигурации.htm?_=1496848987#_ref469411751«>здесь</a>).</p> <p classMsoNormalCxSpLast«>Коллекцию картинок можно также редактировать как обычную картинку. При этом рекомендуется предварительно настроить показ сетки по изображениям (см. <a href#_ref216064573«>здесь</a>).</p> <a name_ref216075447«></a><a idTI000001016» classbookmark» nameissogl1_27.20.редактор_html-документа«><h2>27.20.Редактор HTML-документа</h2></a> <a idTI000001837» classbookmark» nameissogl2_27.20.1_общая_информация«><h3>27.20.1. Общая информация</h3></a> <p classRegularbeforepicture«>Данный редактор предоставляет основные возможности по редактированию HTML-документов. Также с помощью этого редактора редактируется справочная информация для объектов конфигурации.</p> <p classPicture«><IMG src_img/img00557.gif?_=1496848987» WIDTH387» ALT HEIGHT252«></p> <p classMsoCaption«>Рис. 549. Редактор HTML-документа</p> <p classMsoNormal«>Редактор состоит из трех закладок:</p> <p classMsoListBulletCxSpFirst«><span classInterface«>Редактирование</span> – с помощью этой закладки имеется возможность редактировать документ в визуальном режиме.</p> <p classMsoListBulletCxSpMiddle«><span classInterface«>Текст</span> – с помощью этой закладки имеется возможность редактировать документ непосредственно с помощью языка разметки HTML. При этом возможности редактора совпадают с возможностями редактора текстов (см. <a href#_ref236645687«>здесь</a>).</p> <p classMsoListBulletCxSpLast«><span classInterface«>Просмотр</span> – на этой закладке можно посмотреть, как будет выглядеть созданный документ, однако недоступно непосредственное изменение документа.</p> <a idTI000001017» classbookmark» nameissogl2_27.20.2_визуальное_редактирование«><h3>27.20.2. Визуальное редактирование</h3></a> <a idTI000001018» classbookmark» nameissogl3_27.20.2.1_форматирование_текста«><h4>27.20.2.1. Форматирование текста</h4></a> <p classMsoNormalCxSpFirst«>Текст HTML-документа можно форматировать, т. е. устанавливать его стиль (шрифт, размер, оформление, отступы, выравнивание и т. д.).</p> <p classMsoNormalCxSpLast«>При копировании текста из других текстовых редакторов, например, Microsoft Word, сохраняется исходное форматирование текста.</p> <a idTI000001019» classbookmark» nameissogl3_27.20.2.2_вставка_и_работа_с_таблицей«><h4>27.20.2.2. Вставка и работа с таблицей</h4></a> <p classMsoNormalCxSpFirst«>В HTML-документ можно вставлять таблицы. Для вставки таблицы нужно выбрать пункт <span classInterface«>Таблица – Вставить таблицу</span>. В открывшемся диалоге указать количество строк и колонок.</p> <p classMsoNormalCxSpLast«>Если в дальнейшем в процессе редактирования выяснится, что указанного количества строк или колонок не хватает, их можно добавить.</p> <p classRegularbeforetable«>Для работы с таблицей (вставка, удаление строк, колонок и ячеек) предназначены команды, выполняемые при выборе пунктов меню <span classInterface«>Таблица</span> главного меню конфигуратора.</p> <table classMsoNormalTable» border0» cellspacing0» cellpadding0«> <tr> <td valigntop«> <p classMsoNormalCxSpFirst«><b>Пункт меню «Таблица»</b></p> </td> <td valigntop«> <p classMsoNormalCxSpMiddle«><b>Действие</b></p> </td> </tr> <tr> <td valigntop«> <p classMsoNormalCxSpMiddle«>Вставить строку</p> </td> <td valigntop«> <p classMsoNormalCxSpMiddle«>Сверху от текущей строки добавляется новая строка</p> </td> </tr> <tr> <td valigntop«> <p classMsoNormalCxSpMiddle«>Удалить строку</p> </td> <td valigntop«> <p classMsoNormalCxSpMiddle«>Удаляется текущая строка</p> </td> </tr> <tr> <td valigntop«> <p classMsoNormalCxSpMiddle«>Вставить колонку</p> </td> <td valigntop«> <p classMsoNormalCxSpMiddle«>Справа от текущей колонки добавляется новая колонка</p> </td> </tr> <tr> <td valigntop«> <p classMsoNormalCxSpMiddle«>Удалить колонку</p> </td> <td valigntop«> <p classMsoNormalCxSpMiddle«>Удаляется текущая колонка</p> </td> </tr> <tr> <td valigntop«> <p classMsoNormalCxSpMiddle«>Вставить ячейку</p> </td> <td valigntop«> <p classMsoNormalCxSpMiddle«>В таблицу слева от текущей ячейки добавляется ячейка. При этом все ячейки справа сдвигаются</p> </td> </tr> <tr> <td valigntop«> <p classMsoNormalCxSpMiddle«>Удалить ячейку</p> </td> <td valigntop«> <p classMsoNormalCxSpMiddle«>Удаляет текущую ячейку. Все ячейки справа сдвигаются влево</p> </td> </tr> <tr> <td valigntop«> <p classMsoNormalCxSpMiddle«>Объединить ячейки</p> </td> <td valigntop«> <p classMsoNormalCxSpMiddle«>Объединяет две ячейки: текущую и ячейку, расположенную справа от текущей. При этом введенная информация в этих ячейках также объединяется. Если требуется объединить больше чем две ячейки, нужно выполнить эту операцию несколько раз</p> </td> </tr> <tr> <td valigntop«> <p classMsoNormalCxSpMiddle«>Разбить ячейку</p> </td> <td valigntop«> <p classMsoNormalCxSpMiddle«>Разделяет текущую ячейку на две ячейки</p> </td> </tr> </table> <p classMsoNormalCxSpLast«>Таблицы могут быть вложенными. Для создания вложенной таблицы необходимо создать новую таблицу в ячейке уже существующей таблицы.</p> <a name_ref449006777«></a><a idTI000001020» classbookmark» nameissogl3_27.20.2.3_вставка_картинки«><h4>27.20.2.3. Вставка картинки</h4></a> <p classMsoNormalCxSpFirst«>В HTML-документ можно вставлять картинки.</p> <p classMsoNormalCxSpLast«>Для вставки картинки нужно выбрать пункт <span classInterface«>Элементы – Картинка</span>. В открывшемся диалоге указать адрес картинки (путь и имя файла картинки) или выбрать файл в стандартном диалоге выбора файла. В поле <span classInterface«>Текст</span> ввести поясняющий текст, который будет появляться в режиме просмотра в виде всплывающей подсказки при помещении указателя мыши над картинкой.</p> <p classRegularbeforetable«>В группе реквизитов <span classInterface«>Расположение</span> необходимо указать, если требуется, выравнивание картинки (как располагается картинка в документе).</p> <table classMsoNormalTable» border0» cellspacing0» cellpadding0«> <tr> <td valigntop«> <p classMsoNormalCxSpFirst«><b>Значение<br> выравнивания</b></p> </td> <td valigntop«> <p classMsoNormalCxSpMiddle«><b>Действия</b></p> </td> </tr> <tr> <td valigntop«> <p classMsoNormalCxSpMiddle«>Не задано </p> </td> <td valigntop«> <p classMsoNormalCxSpMiddle«>Картинка располагается в тексте</p> </td> </tr> <tr> <td valigntop«> <p classMsoNormalCxSpMiddle«>Лево</p> </td> <td valigntop«> <p classMsoNormalCxSpMiddle«>Картинка располагается в новой строке, прижата к левой границе документа</p> </td> </tr> <tr> <td valigntop«> <p classMsoNormalCxSpMiddle«>Право</p> </td> <td valigntop«> <p classMsoNormalCxSpMiddle«>Картинка располагается в новой строке, прижата к правой границе документа</p> </td> </tr> <tr> <td valigntop«> <p classMsoNormalCxSpMiddle«>Низ</p> </td> <td valigntop«> <p classMsoNormalCxSpMiddle«>Картинка располагается в тексте с выравниванием текста по нижней границе картинки</p> </td> </tr> <tr> <td valigntop«> <p classMsoNormalCxSpMiddle«>Центр</p> </td> <td valigntop«> <p classMsoNormalCxSpMiddle«>Картинка располагается в тексте с выравниванием текста по центру картинки</p> </td> </tr> <tr> <td valigntop«> <p classMsoNormalCxSpMiddle«>Верх</p> </td> <td valigntop«> <p classMsoNormalCxSpMiddle«>Картинка располагается в тексте с выравниванием текста по верхней границе картинки</p> </td> </tr> </table> <p classMsoNormalCxSpMiddle«>Если требуется поместить картинку в рамку, в реквизите диалога <span classInterface«>Рамка</span> нужно указать толщину рамки. Если толщина не указана или равна 0, то рамка не рисуется. Для вставки картинки нажать кнопку <span classInterface«>ОК</span>. Указанные в диалоге реквизиты можно изменить в палитре свойств картинки.</p> <p classMsoNormalCxSpMiddle«>Вставленную картинку можно переместить. Для этого следует указать картинку и перетащить ее мышью в нужное место документа. При этом свойство картинки <span classInterface«>Положение</span> не меняется, т. е. если установлено не <span classInterface«>Лево</span> и не <span classInterface«>Право</span>, то картинку можно расположить в тексте, в противном случае картинка будет располагаться в новой строке.</p> <p classMsoNormalCxSpMiddle«>При вставке картинки в формате <span classInterface«>SVG</span>, если в HTML-странице отсутствует элемент вида: <span classTerm«>&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=*&quot;/&gt;</span>, то на страницу добавится такой элемент с текстом <span classTerm«>content=&quot;IE=Egde&quot;</span>. Этот элемент выключает режим совместимости Microsoft Internet Explorer (по умолчанию, страница отрисовывается в режиме совместимости с Microsoft Internet Explorer версии 7). После добавления такого элемента, веб-браузер перезагружает страницу без режима совместимости (теряется текущая позиция курсора).</p> <p classMsoNormalCxSpMiddle«>Если на компьютере установлен Microsoft Internet Explorer версии ниже 9, то в редакторе HTML картинка в формате SVG отображаться не будет.</p> <p classMsoNormalCxSpMiddle«>Картинку можно копировать. Копирование осуществляется стандартным образом (с помощью буфера обмена или с помощью мыши при нажатой клавише <span classInterface«>Ctrl</span>).</p> <p classMsoNormalCxSpLast«>Картинку можно расположить в любой части HTML-документа (текст, таблица и надпись).</p> <a idTI000001021» classbookmark» nameissogl3_27.20.2.4_надпись«><h4>27.20.2.4. Надпись</h4></a> <p classMsoNormalCxSpFirst«><span classInterface«>Надпись</span> – специальный объект HTML-документа. Он представляет собой область, в которую можно поместить текст, таблицу, картинку или другую надпись. При просмотре надписи вложенные объекты непрерывно прокручиваются справа налево.</p> <p classMsoNormalCxSpMiddle«>Для вставки линии нужно выбрать пункт <span classInterface«>Элементы – Надпись</span>.</p> <p classMsoNormalCxSpMiddle«>Размер надписи можно изменить. Для этого следует выделить надпись и с помощью мыши переместить маркер надписи.</p> <p classMsoNormalCxSpLast«>Надписи можно располагать в тексте и в таблице.</p> <a idTI000001022» classbookmark» nameissogl3_27.20.2.5_гиперссылка«><h4>27.20.2.5. Гиперссылка</h4></a> <p classMsoNormal«>Для создания гиперссылки в HTML-документе можно создавать ссылки.</p> <p classRegularbeforepicture«>Нужно выделить объект (текст или картинку), выбрать пункт <span classInterface«>Элементы – Ссылка</span>. На экран выводится диалог формирования ссылки.</p> <p classPicture«><IMG src_img/img00558.gif?_=1496848987» WIDTH648» ALT HEIGHT476«></p> <p classMsoCaption«>Рис. 550. Вставка гиперссылки</p> <p classMsoNormal«>В реквизите <span classInterface«>Адрес</span> нужно указать:</p> <p classMsoListBulletCxSpFirst«>● Адрес гиперссылки.</p> <p classMsoListBulletCxSpMiddle«>● Ссылку на справочную информацию по объекту конфигурации.</p> <p classMsoListBulletCxSpMiddle«>● Ссылку на системный раздел справки. Если режим редактирования конфигурации установлен в значение <span classInterface«>Управляемое приложение</span>, то будут отображены только разделы справки, относящиеся к управляемому приложению (а также колонка, описывающая доступность раздела в веб-клиенте). Если режим редактирования конфигурации установлен в значение <span classInterface«>Управляемое приложение и обычное приложение</span>, то будут отображены все разделы справки с указанием доступности раздела в управляемом приложении, веб-клиенте и обычном приложении.</p> <p classMsoListBulletCxSpLast«>● Имя закладки (предваренное символом «<span classInterface«>#</span>»).</p> <p classMsoNormalCxSpFirst«>Для создания ссылки следует нажать кнопку <span classInterface«>ОК</span>.</p> <p classMsoNormalCxSpLast«>Выделенный объект форматируется в соответствии со стилем гиперссылки. Обычно это синий цвет текста с подчеркиванием. Картинка помещается в рамку синего цвета.</p> <a idTI000001023» classbookmark» nameissogl3_27.20.2.6_закладки«><h4>27.20.2.6. Закладки</h4></a> <p classMsoNormalCxSpFirst«>Для создания внутренней ссылки в HTML-документе можно создавать закладки. Для этого следует выделить объект (текст или картинку) и выбрать пункт <span classInterface«>Элементы – Закладка</span>. На экран выводится диалог ввода имени закладки. Выделенный объект при этом не форматируется.</p> <p classMsoNormalCxSpLast«>Закладки используются для организации внутренней ссылки.</p> <a idTI000001024» classbookmark» nameissogl3_27.20.2.7_линия«><h4>27.20.2.7. Линия</h4></a> <p classMsoNormal«>С помощью линий производится зрительное разделение документа.</p> <a name_ref353279027«></a><a name_ref353279026«></a><a idTI000001025» classbookmark» nameissogl2_27.20.3_редактирование_в_html-формате«><h3>27.20.3. Редактирование в HTML-формате</h3></a> <p classMsoNormalCxSpFirst«>Возможности редактора HTML-документов, предоставляемые на закладке <span classInterface«>Редактирование</span>, ограниченны. На закладке <span classInterface«>Текст</span> разработчик может отредактировать документ в формате HTML-кода.</p> <p classMsoNormalCxSpLast«>Следует помнить, что ручное изменение кодировки с помощью атрибута <span classTerm«>charset</span> тега <span classTerm«>META</span> не оказывают влияние на поведение редактора. При сохранении HTML-документ будет записан в кодировке utf-8 с неизменным тегом <span classTerm«>charset</span>, а при чтении тег <span classTerm«>charset</span> будет установлен в значение utf-8.</p> <a idTI000001026» classbookmark» nameissogl2_27.20.4_просмотр_результата«><h3>27.20.4. Просмотр результата</h3></a> <p classMsoNormal«>Для просмотра результата редактирования HTML-документа нужно перейти на закладку <span classInterface«>Просмотр</span> и проверить работу объектов документа.</p> <a name_ref428285443«></a><a idTI000001027» classbookmark» nameissogl1_27.21.локализация_конфигураций«><h2>27.21.Локализация конфигураций</h2></a> <p classMsoNormalCxSpFirst«>Под локализацией конфигураций понимается формирование строковых значений, появляющихся в программе в режиме 1С:Предприятие, на языках, указанных в ветви <span classInterface«>Общие – Языки</span> дерева объектов конфигурации. Это может быть наименование пунктов в интерфейсе, наименованиях (синонимах) объектов, справочной информации, текстах модулей и т. д.</p> <p classMsoNormalCxSpMiddle«>Наиболее сложным при выполнении данной работы является поиск мест, в которых необходимо ввести текст на требуемом языке. Поэтому данным режимом удобно пользоваться даже тогда, когда определен только один язык.</p> <p classMsoNormalCxSpLast«>Для начала поиска нужно выбрать пункт <span classInterface«>Правка – Редактирование текстов интерфейса</span>.</p> <p classRegularbeforepicture«>На экран выводится диалог:</p> <p classPicture«><IMG src_img/img00559.gif?_=1496848987» WIDTH486» ALT HEIGHT445«></p> <p classMsoCaption«>Рис. 551. Редактирование текстов интерфейса</p> <p classMsoNormalCxSpFirst«>На закладке <span classInterface«>Конфигурации</span> выбираются объекты конфигурации, в которых требуется осуществить редактирование текстов интерфейса.</p> <p classMsoNormalCxSpMiddle«>В список конфигураций будут включены все открытые на текущий момент окна конфигураций (помимо основной это может быть конфигурация базы данных, конфигурации, расположенные в файлах, конфигурации хранилища и поставки).</p> <p classMsoNormalCxSpLast«>В поле выбора можно выбрать строку <span classInterface«>Вся конфигурация</span>, и в этом случае будет сформирован полный список объектов конфигурации, которые содержат интерфейсные свойства. Поиск можно осуществлять только в определенных объектах, если в поле выбора выбрать этот объект.</p> <p classRegularbeforepicture«>На закладке <span classInterface«>Файлы</span> можно выбрать текстовые и табличные документы, внешние обработки, размещенные в файлах.</p> <p classPicture«><IMG src_img/img00560.gif?_=1496848987» WIDTH486» ALT HEIGHT236«></p> <p classMsoCaption«>Рис. 552. Настройка поиска в файлах</p> <p classMsoNormalCxSpFirst«>На закладке <span classInterface«>Модули</span> нужно установить флажок <span classInterface«>Искать в функциях &quot;НСтр&quot; (&quot;NStr&quot;) в модулях</span>, если требуется определить места использования оператора <span classTerm«>НСтр()</span> в модулях. При использовании данного флажка следует помнить, что обработка оператора <span classTerm«>НСтр()</span> выполняется без применения синтаксического анализа. Так, операторы <span classTerm«>НСтр()</span> в комментариях также будут обработаны, при этом если строки на разных языках будут включать переносы строк, то признак комментария (<span classInterface«>//</span>) перед такими («добавленными») строками не будет добавлен.</p> <p classMsoNormalCxSpLast«>Для запоминания области поиска (список объектов конфигураций, файлов и открытые документы) в реквизите <span classInterface«>Область поиска</span> следует указать наименование текущих установок. При повторном открытии окна поиска в списке областей достаточно выбрать нужную и выполнить поиск.</p> <p classRegularbeforepicture«>После того как выбраны нужные объекты, следует нажать кнопку <span classInterface«>Искать</span>. На экран выводится окно:</p> <p classPicture«><IMG src_img/img00561.gif?_=1496848987» WIDTH486» ALT HEIGHT262«></p> <p classMsoCaption«><a name_ref237746507«>Рис. </a>553. Окно с результатами поиска</p> <p classMsoNormalCxSpFirst«>Окно содержит табличное поле, в первой колонке которого выводится расположение найденного текста. Другие колонки обычно соответствуют указанным языкам. В табличном поле может быть больше колонок, чем определено языков. Дополнительные колонки появляются в том случае, когда в процессе конфигурирования создавались новые объекты <span classInterface«>Язык</span>, которые затем либо удалялись, либо у них менялся код языка (при удалении или смене кода языка объектов данного типа конфигуратор не сбрасывает текст интерфейсов, введенных для этих языков).</p> <p classMsoNormalCxSpMiddle«>Содержимое табличного поля отсортировано по одной из колонок. Для смены сортировки достаточно щелкнуть заголовок колонки. При повторном щелчке заголовка производится смена направления сортировки.</p> <p classMsoNormalCxSpMiddle«>Текст можно также изменить прямо в ячейке. Для этого нужно выбрать ячейку и нажать клавишу <span classInterface«>Enter</span>. Поле ввода переводится в режим редактирования. Следует ввести нужный текст и снова нажать клавишу <span classInterface«>Enter</span>. Измененный текст показывается красным цветом.</p> <p classMsoNormalCxSpMiddle«>Для быстрого доступа к тексту интерфейса определенного объекта достаточно в колонке <span classInterface«>Расположение</span> дважды щелкнуть мышью нужную строку. На экран выводится форма, в которой данный текст используется. В палитре свойств можно также произвести просмотр и замену найденного текста. Если текст изменялся вне окна редактирования, то табличное поле можно обновить.</p> <p classMsoNormalCxSpMiddle«>Над табличным полем расположены элементы управления, предназначенные для выполнения различных действий и настройки окна.</p> <p classMsoNormalCxSpMiddle«>В поле выбора <span classInterface«>Сворачивать</span> производится выбор режима сворачивания текстов на разных языках. Если выбрано значение <span classInterface«>Нет</span>, то сворачивание не производится. Если выбрано <span classInterface«>Совпадающие на языке сортировки</span>, то все элементы, имеющие одинаковый текст в колонке, по которой производится сортировка, сворачиваются. При этом в первой колонке показывается значок группы (<span classInterface«>+</span>), щелкнув который можно развернуть группу. В первой колонке будет показан текст <span classInterface«>&lt;Вхождений N&gt;</span> (где <span classInterface«>N</span> – число вхождений). Если в других колонках по этой группе будут различные значения текста, то в ячейке этих колонок будет надпись <span classInterface«>&lt;Различные значения&gt;</span>.</p> <p classMsoNormalCxSpMiddle«>Если выбрано <span classInterface«>Совпадающие на всех языках</span>, то все элементы, имеющие одинаковый текст, сворачиваются.</p> <p classMsoNormalCxSpMiddle«>Для свернутых строк можно производить групповую замену текста. Для этого в ячейке нужного языка достаточно ввести его так, как если бы это была одна строка. Введенный текст заменяет текст сразу во всех строках, входящих в группу.</p> <p classMsoNormalCxSpMiddle«>С помощью пункта <span classInterface«>Действия – Новый поиск</span> открывается окно настройки для изменения разделов конфигурации, в которых будет произведен поиск.</p> <p classMsoNormalCxSpMiddle«>С помощью пункта <span classInterface«>Действия – Копировать тексты</span> производится полное копирование текстов одного языка в другой язык. Эта операция рекомендуется тогда, когда используемые слова и фразы на различных языках в основном совпадают.</p> <p classMsoNormalCxSpMiddle«>Пункт <span classInterface«>Действия – Очистить тексты</span> производит полную очистку текстов указанного языка.</p> <p classMsoNormalCxSpLast«>Пункт <span classInterface«>Действия – Заполнить тексты</span> производит оперативный перевод синонимов, заголовков, подсказок и текстов интерфейсов с использованием файла соответствия. Он представляет собой табличный документ, состоящий из нескольких колонок (по числу используемых языков).</p> <p classRegularbeforepicture«>В первой строке каждой колонки должен быть написан код языка (например, <span classInterface«>ru</span> или <span classInterface«>lv</span>). В остальных строках следуют образцы соответствий. Никаких требований к упорядочиванию (сортировке) строк не предъявляется. Строки могут дублироваться.</p> <p classPicture«><IMG src_img/img00562.gif?_=1496848987» WIDTH310» ALT HEIGHT292«></p> <p classMsoCaption«>Рис. 554. Заполнение текстов</p> <p classMsoNormalCxSpFirst«>После выбора файла соответствия нужно указать основной язык (<span classInterface«>По языку</span>) и языки, для которых требуется выполнить перевод текста (<span classInterface«>В языки</span>). Установка флажка <span classInterface«>Заполнять только незаполненные</span> приводит к блокировке перезаписи уже локализованных строк.</p> <p classMsoNormalCxSpLast«>Выбор ключевого языка и языков для заполнения осуществляется из числа языков, которые были обнаружены в процессе поиска интерфейсных текстов. Требуется, чтобы все выбранные для заполнения языки были определены в файле соответствий (в нем должны быть колонки с заголовками, соответствующими кодам этих языков).</p> <p classNote«><span classNote«>Примечание.</span> Если при открытии окна <span classInterface«>Редактирование текстов интерфейса</span> обнаружены строки только на одном языке, команда <span classInterface«>Заполнить тексты</span> будет недоступна.</p> <p classMsoNormalCxSpFirst«>Нажатие кнопки <span classInterface«>ОК</span> производит заполнение текстов интерфейсов. При этом выполняется заполнение текстов с проверкой соответствия не только по тому языку, на основании которого выполняется загрузка, но и по всем языкам, которые присутствуют в файле соответствия текстов.</p> <p classMsoNormalCxSpMiddle«>Это позволяет, например, поставить в соответствие одинаковым строкам на одном языке разные строки на другом. Для этого можно в двуязычной конфигурации завести еще один вспомогательный язык для комментирования текстов интерфейса и по-разному заполнять такой комментарий для омонимов основного языка. Например, для слова «<span classInterface«>Счет</span>» на русском языке можно написать комментарии «<span classInterface«>бухгалтерский счет</span>» и «<span classInterface«>документ счет</span>». Это даст возможность при заполнении текстов из файла соответствия текстов сопоставить с первым из этих слов английское «<span classInterface«>Account</span>», а со вторым – «<span classInterface«>Invoice</span>».</p> <p classMsoNormalCxSpLast«>Пункт <span classInterface«>Действия – Экспорт в табличный документ</span> производит выгрузку содержимого табличного поля в табличный документ. Выполнение команды осуществляет вывод только уникальных строк.</p> <p classRegularbeforepicture«>С помощью пункта <span classInterface«>Действия – Настройка</span> осуществляется настройка показа табличного поля и установка режима открытия редакторов при групповой замене.</p> <p classPicture«><IMG src_img/img00563.gif?_=1496848987» WIDTH358» ALT HEIGHT206«></p> <p classMsoCaption«>Рис. 555. Настройка окна редактирования текстов интерфейса</p> <p classMsoNormal«>В группе <span classInterface«>Расположение колонок</span> производится выбор способа расположения колонок:</p> <p classMsoListBulletCxSpFirst«><span classInterface«>Горизонтально</span> – это так, как показано на <a href#_ref237746507«>рис.553</a>.</p> <p classMsoListBulletCxSpMiddle«><span classInterface«>Комбинированно</span> – располагает колонки одна под другой.</p> <p classMsoListBulletCxSpLast«><span classInterface«>Комбинированно, с выделением языка сортировки</span> – размещает колонки следующим образом: справа от колонки <span classInterface«>Расположение</span> будет колонка с языком, по которому производится сортировка, а правее будут располагаться одна под другой колонки с другими языками. При щелчке мышью в области заголовка колонки выполняется сортировка по этой колонке, и она располагается справа от колонки <span classInterface«>Расположение</span>. Колонка, по которой ранее выполнялась сортировка, занимает место выбранной колонки. Если языков всего два, то колонки просто меняются местами.</p> <p classMsoNormalCxSpFirst«>Если флажок <span classInterface«>При сворачивании отображать в виде дерева</span> установлен, то доступ к свернутым строкам возможен, а свернутые группы показываются в виде дерева.</p> <p classMsoNormalCxSpMiddle«>Рекомендуется не устанавливать флажок <span classInterface«>Открывать редакторы при групповой замене</span>, если число вхождений достаточно большое.</p> <p classMsoNormalCxSpLast«>Если флажок <span classInterface«>Изображать другим цветом отредактированные строки</span> установлен, то измененный текст строк будет показан другим цветом.</p> <a name_ref348628230«></a><a name_ref348628229«></a><a name_ref335326060«></a><a name_ref335321996«></a><a name_ref335321995«></a><a name_ref320886445«></a><a name_ref320886444«></a><a name_ref310422632«></a><a name_ref310422631«></a><a name_ref305582799«></a><a name_ref222639000«></a><a name_ref420332472«></a><a name_ref420332471«></a><a idTI000001028» classbookmark» nameissogl1_27.22.выполнение_централизованной_проверки_конфигурации«><h2>27.22.Выполнение централизованной проверки конфигурации</h2></a> <p classRegularbeforepicture«>Для выполнения проверки конфигурации нужно выбрать пункт <span classInterface«>Конфигурация – Проверка конфигурации</span>. На экран выводится окно:</p> <p classPicture«><IMG src_img/img00564.gif?_=1496848987» WIDTH506» ALT HEIGHT627«></p> <p classMsoCaption«>Рис. 556. Проверка конфигурации</p> <p classMsoNormalCxSpFirst«>Рассмотрим подробнее, как выполняется проверка конфигурации. Любой прикладной код в системе «1С:Предприятие» выполняется в некотором окружении. Это окружение характеризуется некоторым набором определенных инструкций препроцессора (см. <A href/db/content/v8310doc/src/руководство разработчика/глава 4. встроенный язык.htm?_=1496848987#_ref231122750«>здесь</a>) и набором доступных объектов. Соответственно, при выполнении проверки конфигуратор определяет инструкции препроцессора для каждого отмеченного пункта и выполняет проверку. Следует отметить, что если проверяется клиентское приложение в клиент-серверном варианте, то на стороне клиента проверяется весь прикладной код, а на стороне сервера – только те общие модули, которые доступны для вызова из клиентской части приложения. В том случае, если в проверяемом приложении существует общий модуль, поставляемый без исходных текстов, то при проверке конфигурации все вызовы методов этого общего модуля будут отмечаться как возможно ошибочные.</p> <p classMsoNormalCxSpLast«>Так как различных режимов работы получается достаточно много, то проверки разделены на две группы:</p> <p classMsoListBulletCxSpFirst«>● Группа проверок, доступная для принудительной и автоматической проверки при редактировании конфигурации. Эти режимы доступны для выбора на закладке <span classInterface«>Модули – Проверка</span> диалога настройки параметров конфигуратора (см. <A href/db/content/v8310doc/src/руководство разработчика/глава 33. сервисные возможности.htm?_=1496848987#_ref289357633«>здесь</a>).</p> <p classMsoListBulletCxSpLast«>● Весь список проверок, который можно вызвать при централизованной проверке конфигурации (описываемый режим).</p> <p classMsoNormal«>Далее будет описано, какие инструкции препроцессора будут определены при выборе каждого режима проверки, описаны особенности режима (если они есть), а также описаны режимы проверки, не имеющие отношения к определению окружения проверяемого исходного кода.</p> <p classLang-parameter«>Общие параметры</p> <p classLang-subheader«>Проверка логической целостности конфигурации</p> <p classMsoNormal«>Стандартная проверка, обычно выполняемая перед обновлением базы данных. При выполнении данной проверки выполняется удаление некорректной информации, которая могла оказаться в конфигурации после редактирования предыдущими версиями системы.</p> <p classLang-subheader«>Поиск некорректных ссылок</p> <p classMsoNormal«>Поиск ссылок на удаленные объекты. Выполняется по всей конфигурации, включая формы, макеты, интерфейсы и т. д. Также выполняется поиск некорректных ссылок на предопределенные данные для планов счетов (если для плана счетов задано свойство <span classInterface«>Виды субконто</span>) и планов видов расчетов.</p> <p classLang-parameter«>Синтаксический контроль модулей</p> <p classLang-subheader«>Тонкий клиент</p> <p classMsoNormalCxSpFirst«>Проверка компиляции модулей в режиме проверки среды тонкого клиента в режиме управляемого приложения, выполняемого в файловом варианте.</p> <p classMsoNormalCxSpLast«>Определены инструкции препроцессора: <span classTerm«>Клиент</span>, <span classTerm«>ТонкийКлиент</span>.</p> <p classLang-subheader«>Веб-клиент</p> <p classMsoNormalCxSpFirst«>Проверка компиляции модулей в режиме проверки среды веб-клиента в режиме управляемого приложения, выполняемого в файловом варианте.</p> <p classMsoNormalCxSpLast«>Определены инструкции препроцессора: <span classTerm«>Клиент</span>, <span classTerm«>ВебКлиент</span>.</p> <p classLang-subheader«>Сервер</p> <p classMsoNormalCxSpFirst«>Проверка компиляции модулей в режиме проверки среды сервера «1С:Предприятия».</p> <p classMsoNormalCxSpLast«>Определены инструкции препроцессора: <span classTerm«>Сервер</span>.</p> <p classLang-subheader«>Внешнее соединение</p> <p classMsoNormalCxSpFirst«>Проверка компиляции модулей в режиме проверки среды внешнего соединения, выполняемого в файловом варианте.</p> <p classMsoNormalCxSpLast«>Определены инструкции препроцессора: <span classTerm«>ВнешнееСоединение</span>, <span classTerm«>Сервер</span>.</p> <p classLang-subheader«>Внешнее соединение (вариант клиент-сервер)</p> <p classMsoNormalCxSpFirst«>Проверка компиляции модулей в режиме проверки среды внешнего соединения, выполняемого в варианте клиент-сервер.</p> <p classMsoNormalCxSpLast«>Определены инструкции препроцессора: <span classTerm«>ВнешнееСоединение</span>.</p> <p classLang-subheader«>Мобильный приложение – клиент</p> <p classMsoNormalCxSpFirst«>Проверка компиляции модулей в режиме проверки среды клиентского приложения, выполняемого на мобильной платформе.</p> <p classMsoNormalCxSpLast«>Определены инструкции препроцессора: <span classTerm«>Клиент</span>, <span classTerm«>НаКлиенте</span>, <span classTerm«>МобильноеПриложениеКлиент</span>.</p> <p classLang-subheader«>Мобильное приложение – сервер</p> <p classMsoNormalCxSpFirst«>Проверка компиляции модулей в режиме проверки среды клиентского приложения, выполняемого на мобильной платформе.</p> <p classMsoNormalCxSpLast«>Определены инструкции препроцессора: <span classTerm«>Сервер</span>, <span classTerm«>НаСервере</span>, <span classTerm«>МобильноеПриложениеСервер</span>.</p> <p classLang-subheader«>Толстый клиент (управляемое приложение)</p> <p classMsoNormalCxSpFirst«>Проверка компиляции модулей в режиме проверки среды управляемого клиента, выполняемого в файловом варианте.</p> <p classMsoNormalCxSpMiddle«>Если свойство конфигурации <span classInterface«>Использовать обычные формы в управляемом приложении</span> имеет значение <span classTerm«>Ложь</span>, то модули обычных форм не проверяются при выборе этого теста.</p> <p classMsoNormalCxSpLast«>Определены инструкции препроцессора: <span classTerm«>Клиент</span>, <span classTerm«>ТолстыйКлиентУправляемоеПриложение</span>, <span classTerm«>Сервер</span>.</p> <p classLang-subheader«>Толстый клиент (управляемое приложение, вариант клиент-сервер)</p> <p classMsoNormalCxSpFirst«>Проверка компиляции модулей в режиме проверки среды управляемого клиента, выполняемого в варианте клиент-сервер.</p> <p classMsoNormalCxSpMiddle«>Если свойство конфигурации <span classInterface«>Использовать обычные формы в управляемом приложении</span> имеет значение <span classTerm«>Ложь</span>, то модули обычных форм не проверяются при выборе этого теста.</p> <p classMsoNormalCxSpLast«>Определены инструкции препроцессора: <span classTerm«>Клиент</span>, <span classTerm«>ТолстыйКлиентУправляемоеПриложение</span>.</p> <p classLang-subheader«>Поставка модулей без исходных текстов</p> <p classMsoNormal«>Если в настройках поставки конфигурации для некоторых модулей указана поставка без исходных текстов, проверяется возможность генерации образов этих модулей.</p> <p classLang-parameter«>Логическая проверка модулей</p> <p classLang-subheader«>Поиск неиспользуемых процедур и функций</p> <p classMsoNormalCxSpFirst«>Поиск локальных (не экспортируемых) процедур и функций, на которые отсутствуют ссылки. В том числе осуществляется поиск неиспользуемых обработчиков событий.</p> <p classMsoNormalCxSpLast«>Процедура или функция модуля формы будет считаться используемой, если ее имя встречается в виде <span classInterface«>&quot;ИмяПроцедуры&quot;</span> (включая кавычки), т. е. является параметром какого-либо метода, например, назначение обработчика какого-либо события.</p> <p classLang-subheader«>Проверка существования назначенных обработчиков</p> <p classMsoNormal«>Проверка существования обработчиков событий интерфейсов, форм, элементов управления, элементов карт маршрута.</p> <p classLang-subheader«>Поиск пустых обработчиков</p> <p classMsoNormal«>Поиск назначенных обработчиков событий, в которых не выполняется никаких действий. Существование таких обработчиков может привести к падению производительности системы.</p> <p classLang-subheader«>Расширенная проверка</p> <p classMsoNormal«>Для ограниченного набора типов выполняется проверка обращений к методам и свойствам объектов «через точку». Также выполняется проверка корректности указания параметров, заданных строкой, для ограниченного набора методов.</p> <p classLang-subheader«>Поиск использования модальности</p> <p classMsoNormal«>Данный флажок становится доступным только в том случае, если включена расширенная проверка конфигурации. В этом режиме конфигуратор выполняет поиск в модулях методов, открывающих модальные диалоговые окна. Свойство конфигурации <span classInterface«>Режим использования модальности</span> не влияет на работу механизма проверки. При включении данного флажка ошибки будут выдаваться и в том случае, если свойство <span classInterface«>Режим использование модальности</span> установлено в значение <span classInterface«>Использовать</span> или <span classInterface«>Использовать с предупреждением</span>.</p> <p classLang-subheader«>Поиск использования синхронных вызовов</p> <p classMsoNormalCxSpFirst«>Данный флажок становится доступным только в том случае, если включена расширенная проверка конфигурации. В этом режиме конфигуратор выполняет поиск в модулях фрагментов кода на встроенном языке, в которых используются синхронные вызовы. Свойство конфигурации <span classInterface«>Режим использования синхронных вызовов расширений платформы и внешних компонент</span> не влияет на работу механизма проверки. При включении данного флажка ошибки будут выдаваться и в том случае, если свойство <span classInterface«>Режим использование модальности</span> установлено в значение <span classInterface«>Использовать</span> или <span classInterface«>Использовать с предупреждением</span>.</p> <p classMsoNormalCxSpLast«>Более подробно особенности поиска синхронных вызовов см. <a href#_ref448859736«>здесь</a>.</p> <p classLang-parameter«>Проверка мобильного приложения</p> <p classLang-subheader«>Поиск неподдерживаемой функциональности</p> <p classMsoNormal«>Проверка в этом режиме показывает:</p> <p classMsoListBulletCxSpFirst«>● Наличие в прикладном решении объектов конфигурации, которые не реализованы для мобильной платформы;</p> <p classMsoListBulletCxSpMiddle«>● Наличие в прикладном решении планов обмена, у которых установлено свойство <span classInterface«>Распределенная информационная база</span>;</p> <p classMsoListBulletCxSpLast«>● Использование объектов конфигурации, которые не поддерживаются мобильной платформой:</p> <p classMsoListBullet2CxSpFirst«>● В свойствах <span classInterface«>Тип</span> реквизитов объектов конфигурации, констант, параметров сеанса;</p> <p classMsoListBullet2CxSpMiddle«>● В свойстве <span classInterface«>Тип параметра команды</span> объекта <span classTerm«>Команда</span>;</p> <p classMsoListBullet2CxSpLast«>● В свойстве <span classInterface«>Тип</span> реквизитов и колонок реквизита формы.</p> <p classMsoListBulletCxSpFirst«>● Наличие неуправляемых форм;</p> <p classMsoListBulletCxSpMiddle«>● Наличие в формах элементов, которые не поддерживаются мобильной платформой. Эта проверка не делается для форм, у которых свойство <span classInterface«>Назначения использования</span> не предполагает использование на мобильной платформе.</p> <p classMsoListBulletCxSpLast«>● Проверка, что начальная страница состоит не более чем из одной формы.</p> <p classMsoNormalCxSpFirst«> </p> <p classMsoNormalCxSpMiddle«>Выбранную совокупность настроек можно сохранить для дальнейшего использования. Для этого в поле <span classInterface«>Настройка проверки</span> нужно указать имя настройки. Для использования прежней настройки достаточно выбрать имя настройки.</p> <p classMsoNormalCxSpLast«>Все сообщения об ошибках выдаются в окно сообщений. Для прерывания проверки конфигурации следует использовать комбинацию клавиш <span classInterface«>Ctrl + Break</span>.</p> <p classNote«><span classNote«>Примечание.</span> В начальной стадии проверки прерывание может быть обработано с задержкой.</p> <p classMsoNormalCxSpFirst«>При проверке конфигурации, подключенной к хранилищу, во избежание ошибок, связанных с информацией о метаданных, рекомендуется захватить корневой объект конфигурации.</p> <p classMsoNormalCxSpLast«>Если параметр <span classInterface«>Редактирование конфигурации для режимов запуска</span> (см. <A href/db/content/v8310doc/src/руководство разработчика/глава 33. сервисные возможности.htm?_=1496848987#_ref222823825«>здесь</a>) имеет значение <span classInterface«>Управляемое приложение и обычное приложение</span>, то в диалоге добавляются следующие параметры:</p> <p classMsoListBulletCxSpFirst«><span classInterface«>Толстый клиент (обычное приложение)</span>;</p> <p classMsoListBulletCxSpLast«><span classInterface«>Толстый клиент (обычное приложение, вариант клиент-сервер)</span>.</p> <p classRegularbeforepicture«>При этом диалог приобретает следующий вид:</p> <p classPicture«><IMG src_img/img00565.gif?_=1496848987» WIDTH506» ALT HEIGHT610«></p> <p classMsoCaption«>Рис. 557. Проверка конфигурации</p> <p classMsoNormal«>Далее приводится описание этих тестов.</p> <p classLang-subheader«>Толстый клиент (обычное приложение)</p> <p classMsoNormalCxSpFirst«>Проверка компиляции модулей в режиме проверки среды клиентского приложения, выполняемого в файловом варианте.</p> <p classMsoNormalCxSpMiddle«>Если свойство конфигурации<span classInterface«> Использовать управляемые формы в обычном приложении</span> имеет значение <span classTerm«>Ложь</span>, то модули управляемых форм и модули команд не проверяются при выборе этого теста. Модуль формы, указанной в свойстве <span classInterface«>Основная форма констант</span>, проверяется при выборе этого теста независимо от значения свойства <span classInterface«>Использовать управляемые формы в обычном приложении</span>.</p> <p classMsoNormalCxSpLast«>Определены инструкции препроцессора: <span classTerm«>Клиент</span>, <span classTerm«>ТолстыйКлиентОбычноеПриложение</span>, <span classTerm«>Сервер</span>.</p> <p classLang-subheader«>Толстый клиент (обычное приложение, вариант клиент-сервер)</p> <p classMsoNormalCxSpFirst«>Проверка компиляции модулей в режиме проверки среды клиентского приложения, выполняемого в варианте клиент-сервер.</p> <p classMsoNormalCxSpMiddle«>Если свойство конфигурации<span classInterface«> Использовать управляемые формы в обычном приложении</span> имеет значение <span classTerm«>Ложь</span>, то модули управляемых форм и модули команд не проверяются при выборе этого теста. Модуль формы, указанной в свойстве <span classInterface«>Основная форма констант</span>, проверяется при выборе этого теста независимо от значения свойства <span classInterface«>Использовать управляемые формы в обычном приложении</span>.</p> <p classMsoNormalCxSpLast«>Определены инструкции препроцессора: <span classTerm«>Клиент</span>, <span classTerm«>ТолстыйКлиентОбычноеПриложение</span>.</p> <a idTI000001029» classbookmark» nameissogl1_27.23.механизм_анализа_эргономики_работы_с_решениями_созданными_на_платформе_1с_предприятие«><h2>27.23.Механизм анализа эргономики работы с решениями, созданными на платформе «1С:Предприятие»</h2></a> <p classMsoNormal«>Запуск клиентского приложения с ключом командной строки<span classInterface«> /logui</span> создаст на компьютере пользователя в папке файлов приложений <span classInterface«>%APPDATA%1C1Cv82&lt;Уникальный идентификатор&gt;</span> файл <span classInterface«>logui.txt</span>, в котором будут регистрироваться все интерактивные действия пользователя (нажатия клавиш, щелчки мыши). Например:</p> <a classcopy_source» href#_top» onClickreturn false«>Копировать в буфер обмена</a> <pre classsrc_res«> &quot;19.06.2008 16:22:49&quot;,&quot;Event FormActivate&quot;,&quot;Name Документ.ПриходТовара.Форма.ФормаСписка&quot;,&quot;t=0&quot; &quot;19.06.2008 16:22:49&quot;,&quot;Event FormActivate&quot;,&quot;Name Документ.ПриходТовара.Форма.ФормаСписка&quot;,&quot;t=0&quot; &quot;19.06.2008 16:22:49&quot;,&quot;Event Lclick&quot;,&quot;Form РегистрНакопления.Взаиморасчеты.Форма.ТекущиеВзаиморасчеты&quot;, &quot;Type TableBox&quot;,&quot;t=0&quot;,&quot;beg&quot; </pre> <p classMsoNormalCxSpFirst«>Запись интерактивных действий выполняется для толстого и тонкого клиентов и не выполняется для веб-клиента.</p> <p classMsoNormalCxSpMiddle«>Подробнее о формате файла <span classInterface«>logui.txt</span> см. <a href/db/v8310doc/bookmark/adm/TI000000410» target_top«>здесь</a>.</p> <p classMsoNormalCxSpMiddle«> </p> <br> <script typetext/javascript«>listenCopy(‘zeroclipboard.swf’);</script> </body> </html>

<!DOCTYPE HTML PUBLIC «-//W3C//DTD HTML 4.01 Transitional//EN»>

<html>

<head>

<meta http-equivContent-Type» contenttext/html; charset=Windows-1251«>

<title>Глава 27. Инструменты разработки</title>

<LINK RELstylesheet» hrefstyle.css?_=1496848987«>

<SCRIPT srcscript.js?_=1496848987» TYPEtext/javascript«></script> <!—[if !IE]>—><SCRIPT srczeroclipboard.js?_=1496848987» TYPEtext/javascript«></script><!—<![endif]—>

<meta namerobots» contentnoarchive«>

<meta namegooglebot» contentnoarchive«>

<link href/db/content/v8310doc/src/руководство разработчика/глава 27. инструменты разработки.htm» relcanonical«>

<link href/static/its.content.css?_=1490872753» typetext/css» relstylesheet«>

<script typetext/javascript» src/static/its.content.js?_=1489758009«></script>

<!—[if lt IE 9]><script type=»text/javascript» src=»/static/html5shiv.js?_=1484636606″></script><![endif]—>

</head>

<body classv8310doc«>

<a name_ref425413183«></a><a name_ref301191309«></a><a name_ref237783554«></a><a idTI000000929» classbookmark«><h1>Глава 27. Инструменты разработки</h1></a>

<a name_ref222321022«></a><a name_ref141014934«></a><a name_ref141003681«></a><a name_ref214865442«></a><a idTI000000930» classbookmark» nameissogl1_27.1_редактор_формы«><h2>27.1. Редактор формы</h2></a>

<a name_ref347413325«></a><a name_ref347413324«></a><a name_ref423610858«></a><a idTI000000931» classbookmark» nameissogl2_27.1.1_описание_редактора«><h3>27.1.1. Описание редактора</h3></a>

<p classMsoNormal«>Редактор

формы позволяет выполнять все действия, которые возникают при создании и

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

связанных между собой редакторов:</p>

<p classMsoListBulletCxSpFirst«>

реквизитов – закладка <span classInterface«>Реквизиты</span>;</p>

<p classMsoListBulletCxSpMiddle«>

команд – закладка <span classInterface«>Команды</span>;</p>

<p classMsoListBulletCxSpMiddle«>

элементов – закладка <span classInterface«>Элементы</span>;</p>

<p classMsoListBulletCxSpMiddle«>

параметров – закладка <span classInterface«>Параметры</span>;</p>

<p classMsoListBulletCxSpMiddle«>

модуля – закладка <span classInterface«>Модуль</span>;</p>

<p classMsoListBulletCxSpLast«>

командного интерфейса – закладка <span classInterface«>Командный интерфейс</span>.</p>

<p classRegularbeforepicture«>В

нижней части окна расположена форма в режиме предварительного просмотра.</p>

<p classPicture«><IMG src_img/img00482.gif?_=1496848987» WIDTH766» ALT HEIGHT501«></p>

<p classMsoCaption«>Рис.

474. Редактор формы</p>

<p classMsoNormalCxSpFirst«>В

редакторах доступно множественное выделение. В этом случае в палитре свойств

будут отражены только те свойства, которые присутствуют у всех выделенных

объектов. Изменения, которые сделаны в палитре свойств, будут применены для

всех выделенных объектов.</p>

<p classMsoNormalCxSpMiddle«>Добавление

элементов формы обычно осуществляется перетаскиванием реквизита формы на панель

элементов. При этом имя элемента формы становится равным имени реквизита, а в

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

элемента можно изменить. Система автоматически определяет как элемент формы, с

помощью которого будет отображаться реквизит, так и вид этого элемента, если

такое возможно. Аналогичным образом выполняется добавление на форму команд (как

команд формы, так и глобальных команд). Если реквизит формы или команда размещена

на форме, то справа от названия у нее выводится специальный маркер серого

цвета.</p>

<p classMsoNormalCxSpLast«>Если

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

том, что для таких элементов свойство <span classInterface«>Данные</span> не будет

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

заново установить корректные пути к данным.</p>

<p classRegularbeforepicture«>При

выборе элемента формы на закладке <span classInterface«>Элементы</span>

происходит автоматическое позиционирование на выбранный элемент в окне

предварительного просмотра. Если элемент выделяется в окне предварительного

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

элементов формы на закладке <span classInterface«>Элементы</span>.</p>

<p classPicture«><IMG src_img/img00483.gif?_=1496848987» WIDTH766» ALT HEIGHT501«></p>

<p classMsoCaption«>Рис.

475. Связь редакторов</p>

<p classRegularbeforetable«>Выделять

элементы формы можно как в редакторе элементов, так и в окне предварительного

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

практически совпадают с таковыми в списке элементов. В частности, доступны

контекстные меню элементов, открытие окна свойств, перетаскивание элементов и т. д.

Если выделить элемент в окне предварительного просмотра, вокруг элемента

возникает рамка, которая в зависимости от элемента может быть нескольких цветов.</p>

<table classMsoNormalTable» border0» cellspacing0» cellpadding0«>

<tr>

<td valigntop«>

<p classMsoNormalCxSpFirst«><b>Цвет

рамки</b></p>

</td>

<td valigntop«>

<p classMsoNormalCxSpMiddle«><b>Описание</b></p>

</td>

</tr>

<tr>

<td valigntop«>

<p classMsoNormalCxSpMiddle«>Синяя</p>

</td>

<td valigntop«>

<p classMsoNormalCxSpMiddle«>Выделение обычного элемента</p>

</td>

</tr>

<tr>

<td valigntop«>

<p classMsoNormalCxSpMiddle«>Оранжевая</p>

</td>

<td valigntop«>

<p classMsoNormalCxSpMiddle«>Выделение автоматически созданных кнопок и

подменю командных панелей. Служит для индикации того, что для данного

элемента невозможно выполнить никаких настроек (свойства, положение)</p>

</td>

</tr>

<tr>

<td valigntop«>

<p classMsoNormalCxSpMiddle«>Серая</p>

</td>

<td valigntop«>

<p classMsoNormalCxSpMiddle«>Выделение родительского элемента, если

выбранный элемент невозможно выделить в окне предварительного просмотра.

Например, если в списке элементов выбрать контекстное меню поля ввода, то

поле ввода будет выделено в окне предварительного просмотра серым цветом</p>

</td>

</tr>

<tr>

<td valigntop«>

<p classRegularbeforepicture«>Зеленая</p>

</td>

<td valigntop«>

<p classMsoNormalCxSpFirst«>Используется при перетаскивании элементов

и отображает элемент, в который выполняется перетаскивание (например, таблицу

или группу формы), и индикатор того, где будет размещен перетаскиваемый

элемент</p>

</td>

</tr>

</table>

<p classRegularbeforepicture«>Щелчок

мышью по заголовку окна в окне предварительного просмотра эквивалентен выбору

элемента <span classInterface«>Форма</span> (на

закладке <span classInterface«>Элементы</span>).

Контекстное меню, которое возникает в этом случае, также эквивалентно

контекстному меню, соответствующему элементу <span classInterface«>Форма</span>.</p>

<p classPicture«><IMG src_img/img00484.gif?_=1496848987» WIDTH545» ALT HEIGHT315«></p>

<p classMsoCaption«>Рис.

476. Индикация перетаскивания</p>

<p classMsoNormalCxSpFirst«>Если

необходимо выделить родительский элемент (например, группу, в которую входит

поле) для какого-либо другого элемента, это можно сделать двумя

последовательными щелчками левой кнопкой мыши на подчиненном элементе. Такое

выделение сработает, если интервал между щелчками составляет от 1 до 2 секунд.

При меньшем времени система может воспринять щелчки как двойной щелчок, при

большем – как раздельные действия. Если в момент первого щелчка было

выделено несколько элементов, то выделение родительского элемента не будет

выполнено.</p>

<p classMsoNormalCxSpLast«>Для

быстрого перехода к связанным объектам существует команда <span classInterface«>Перейти</span>. Эта

команда расположена в контекстном меню объекта, в редакторах элементов,

фрагментов командного интерфейса, реквизитов, команд и окне предварительного

просмотра. С помощью этой команды можно, например, быстро перейти от элемента

формы (выделенного в списке элементов или окне предварительного просмотра) к

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

объектов, к которым возможен переход, будет открыто окно с предложением выбрать

нужный объект.</p>

<p classRegularbeforepicture«>Также

в редакторе формы возможно быстрое создание (или переход) обработчиков событий

того или иного элемента формы с помощью подменю <span classInterface«>События</span> контекстного

меню элемента.</p>

<p classPicture«><IMG src_img/img00485.gif?_=1496848987» WIDTH694» ALT HEIGHT444«></p>

<p classMsoCaption«><a name_ref289263314«>Рис. </a>477. Меню «События»</p>

<p classMsoNormalCxSpFirst«>В

состав этого меню входят все события, которые доступны для данного элемента

формы в окне свойств этого элемента. Если в меню указано имя события в угловых

скобках, это значит, что обработчик события не определен (например, для события

<span classTerm«>Очистка</span> элемента <span classTerm«>Организация</span> на <a href#_ref289263314«>рис.477</a>). Для создания обработчика следует выбрать нужное

событие – произойдет переход в редактор модуля формы с созданием

необходимого обработчика.</p>

<p classMsoNormalCxSpMiddle«>Если

обработчик для события уже создан, то выбор соответствующего пункта в подменю <span classInterface«>События</span> вызовет

переход к существующему обработчику в редакторе формы (например, обработчик <span classTerm«>ОрганизацияПриИзменении()</span> на <a href#_ref289263314«>рис.

477</a>).</p>

<p classMsoNormalCxSpLast«>Для

кнопки подменю <span classInterface«>События</span> не

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

непосредственно в контекстном меню элемента.</p>

<p classRegularbeforepicture«>Если

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

несколько вариантов его создания:</p>

<p classPicture«><IMG src_img/img00486.gif?_=1496848987» WIDTH368» ALT HEIGHT154«></p>

<p classMsoCaption«>Рис.

478. Создание клиентского обработчика</p>

<p classMsoNormalCxSpFirst«>Первый

вариант (<span classInterface«>Создать на клиенте</span>)

предполагает создание только клиентского обработчика событий. Вариант <span classInterface«>Создать на клиенте и

процедуру на сервере без контекста</span> предполагает создание клиентского

обработчика события, внеконтекстной серверной процедуры и вызов процедуры из

клиентского обработчика. Последний вариант отличается от предыдущего тем, что

серверная процедура создается контекстной. Если в каком либо клиентском

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

(информация об этом доступа в Синтакс-помощнике), то использование последнего

варианта (с контекстной серверной процедурой) недоступно. Удаление обработчика

события не приводит к удалению серверной процедуры (если при создании

обработчика события она создавалась).</p>

<p classMsoNormalCxSpMiddle«>При

удалении реквизита (из списка реквизитов формы) на экран выводится вопрос <span classInterface«>Удалить связанные

элементы?</span> Если ответ отрицательный, то у связанных элементов формы

очищается свойство <span classTerm«>Данные</span>. При положительном ответе выполняется

удаление элементов формы, которые связаны с удаляемым реквизитом. Если связь с

этим реквизитом для элемента не является основной (данные подвала, данные,

отображаемые в заголовке группы, и т. д.), то такой элемент не

удаляется, но очищается связь с удаляемым реквизитом. Вне зависимости от ответа

на вопрос об удалении будут удалены команды командного интерфейса формы,

связанные с удаляемым реквизитом.</p>

<p classMsoNormalCxSpLast«>Если

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

отрицательном ответе элементы формы не удаляются, но очищается свойство

элемента <span classInterface«>Команда</span>. При

положительном ответе удаляются кнопки, связанные с удаляемой командой.</p>

<p classRegularbeforepicture«>При

разработке формы, которая должна отображаться и в интерфейсе <span classInterface«>Такси</span> и в

интерфейсе 8.2, требуется видеть, как форма отображается в обоих режимах

интерфейса. Это можно сделать непосредственно в редакторе формы.</p>

<p classPicture«><IMG src_img/img00487.gif?_=1496848987» WIDTH591» ALT HEIGHT501«></p>

<p classMsoCaption«><a name_ref352237003«>Рис. </a>479. Переключение

режима интерфейса</p>

<p classMsoNormalCxSpFirst«>На <a href#_ref352237003«>рис.479</a> приведен пример того, как меняется отображение при

смене режима интерфейса с интерфейса <span classInterface«>Такси</span> (верхняя

левая часть рисунка) на интерфейс версии 8.2 (нижняя правая часть рисунка). Однако следует помнить, что в режиме тестирования формы в

интерфейсе <span classInterface«>Такси</span>, некоторые элементы изображаются в интерфейсе 8.2.</p>

<p classMsoNormalCxSpLast«>Кнопка

<span classInterface«>Вариант интерфейса</span>

доступна только в том случае, когда свойство <span classInterface«>Режим совместимости

интерфейса</span> установлено в значение <span classInterface«>Такси. Разрешить

Версия 8.2</span> или <span classInterface«>Версия 8.2. Разрешить

Такси</span>. В остальных случаях кнопка не отображается в редакторе формы.</p>

<p classRegularbeforepicture«>В

особых случаях требуется разрабатывать формы, для которых можно выбирать

масштаб отображения (см. <A href/db/content/v8310doc/src/руководство разработчика/глава 7. формы.htm?_=1496848987#_ref419713193«>здесь</a>). Если у самой формы свойство <span classInterface«>Вариант масштаба</span>

установлено в значение <span classInterface«>Авто</span>, то в

редакторе формы имеется возможность выбора, в каком масштабе будет отображаться

превью формы.</p>

<p classPicture«><IMG src_img/img00488.gif?_=1496848987» WIDTH613» ALT HEIGHT501«></p>

<p classMsoCaption«>Рис.

480. Переключение варианта масштаба</p>

<p classRegularbeforepicture«>Если

форма будет использоваться только в интерфейсе <span classInterface«>Такси</span>, и при

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

можно проверить, как форма будет отображаться с нестандартным масштабом.</p>

<p classPicture«><IMG src_img/img00489.gif?_=1496848987» WIDTH766» ALT HEIGHT501«></p>

<p classMsoCaption«>Рис.

481. Выбор масштаба формы</p>

<p classMsoNormal«>Изменение

масштаба приведет к соответствующему изменению формы в окне предварительного

просмотра. Для того чтобы изменить реальный масштаб формы – следует

использовать свойство формы <span classInterface«>Масштаб</span>.</p>

<p classRegularbeforepicture«>В

связи с тем, что формы системы «1С:Предприятие» могут отображаться на

устройствах с разным разрешением, в процессе разработки требуется проверять,

как будет выглядеть разрабатываемая форма на том или ином разрешении. Для этого

в редакторе реализована возможность быстрого выбора разрешения, для которого

система будет выполнять размещение элементов в панели превью формы.</p>

<p classPicture«><IMG src_img/img00490.gif?_=1496848987» WIDTH766» ALT HEIGHT501«></p>

<p classMsoCaption«>Рис.

482. Выбор разрешения превью</p>

<p classMsoNormal«>При

выборе разрешения форма будет перестраиваться так, как будто в панели превью

установлено выбранное разрешение. При этом физические размеры формы не будут

изменяться.</p>

<p classRegularbeforepicture«>Кроме

большого набора разрешений, мобильные устройства могут в процессе работы

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

при смене ориентации экрана, имеется возможность быстро эмулировать этой операции

в редакторе формы.</p>

<p classPicture«><IMG src_img/img00491.gif?_=1496848987» WIDTH800» ALT HEIGHT630«></p>

<p classMsoCaption«><a name_ref423610588«>Рис. </a>483. Выбор

ориентации экрана</p>

<p classMsoNormal«>Так,

на <a href#_ref423610588«>рис.483</a> приведен пример того, как форма будет отображаться в

разрешении 1024×768 в ландшафтной (верхняя часть рисунка) и портретной (нижняя

часть рисунка) ориентации.</p>

<p classRegularbeforepicture«>Если

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

элементов, которые будут приводить к проблемам при размещении элементов формы,

имеется возможность отобразить эти ошибки с помощью специальной кнопки.</p>

<p classPicture«><IMG src_img/img00492.gif?_=1496848987» WIDTH450» ALT HEIGHT298«></p>

<p classMsoCaption«>Рис.

484. Показать ошибки размещения</p>

<p classMsoNormalCxSpFirst«>Если

нужно открыть форму для проверки, следует нажать сочетание клавиш<span classInterface«> Ctrl + R</span>.

Форма будет открыта в отдельном окне.</p>

<p classMsoNormalCxSpLast«>При

переименовании или удалении реквизита, параметра или элемента формы, система

ищет случаи использования переименуемого (удаляемого) объекта в модуле формы и

во всей конфигурации (если это разрешено в настройках конфигуратора,

см. <A href/db/content/v8310doc/src/руководство разработчика/глава 33. сервисные возможности.htm?_=1496848987#_ref389651957«>здесь</a>).</p>

<a name_ref200448720«></a><a name_ref200447246«></a><a name_ref374982339«></a><a idTI000000932» classbookmark» nameissogl2_27.1.2_ролевая_настройка_формы«><h3>27.1.2. Ролевая настройка формы</h3></a>

<p classMsoNormalCxSpFirst«>В

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

формы.</p>

<p classMsoNormalCxSpLast«>Данная

возможность предоставляется для следующих свойств:</p>

<p classMsoListBulletCxSpFirst«>

<span classInterface«>Просмотр</span> – свойство

реквизита формы. Отсутствие возможности просмотра исключает реквизит из данных

формы (реквизит не передается с сервера). Изменить эту настройку пользователь

не может.</p>

<p classMsoListBulletCxSpMiddle«>

<span classInterface«>Редактирование</span>

свойство реквизита формы. Отсутствие возможности редактирования делает

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

зависимости от состояния данного свойства редактирование будет недоступно, если

недоступен просмотр реквизита формы. Изменить эту настройку пользователь не

может.</p>

<p classMsoListBulletCxSpMiddle«>

<span classInterface«>Пользовательская видимость</span>

свойство элемента формы. Определяет видимость элемента формы по умолчанию. При

этом пользователь может самостоятельно изменить это свойство в редакторе

настройки формы.</p>

<p classMsoListBulletCxSpLast«>

<span classInterface«>Использование</span>

свойство команды формы. Если у команды выключено использование, то в командном

интерфейсе отсутствуют все связанные с ней кнопки. Изменить эту настройку

пользователь не может.</p>

<p classRegularbeforepicture«>Редакторы

всех вышеперечисленных свойств выглядят одинаково и имеют одинаковый принцип

работы. Рассмотрим работу редактора на примере свойства <span classInterface«>Просмотр</span>.</p>

<p classPicture«><IMG src_img/img00493.gif?_=1496848987» WIDTH350» ALT HEIGHT212«></p>

<p classMsoCaption«>Рис.

485. Редактирование свойства «Просмотр» реквизита формы</p>

<p classMsoNormal«>Свойство

<span classInterface«>Просмотр</span>

верхней части окна редактора) определяет состояние просмотра для каждой роли, у

которой флажок находится в «третьем» состоянии (серый фон флажка). Затем

состояния просмотра для всех доступных ролей складываются «по ИЛИ», и

результат этого сложения будет определять итоговое свойство <span classInterface«>Просмотр</span> для редактируемого

объекта.</p>

<a name_ref236645687«></a><a name_ref219791919«></a><a idTI000000933» classbookmark» nameissogl1_27.2_редактор_текстов«><h2>27.2. Редактор текстов</h2></a>

<p classMsoNormalCxSpFirst«>Текстовый редактор системы «1С:Предприятие»

предоставляет пользователю все основные функции, необходимые при редактировании

текстов. При работе с текстовым редактором доступны операции с блоками текста,

функции поиска и замены, цветовое выделение синтаксических элементов программных

модулей.</p>

<p classMsoNormalCxSpMiddle«>В системе «1С:Предприятие» текстовый

редактор используется в двух режимах: для редактирования текстовых документов

и как составная часть редактора форм для редактирования текстов

модулей.</p>

<p classMsoNormalCxSpMiddle«>В данной главе приводится описание

особенностей работы редактора текстов при редактировании текстов модулей.</p>

<p classMsoNormalCxSpLast«>Так как работа с любым текстовым редактором

в системе Microsoft Windows осуществляется

примерно одинаковым образом, в данном разделе будет дано описание специфических

возможностей текстового редактора системы «1С:Предприятие».</p>

<p classNote«><span classNote«>Примечание.</span> В текстовом редакторе

невозможно ввести символы, недопустимые с точки зрения спецификации XML версии

1.0 (<a hrefhttp://www.w3.org/TR/xml/» target_blank«>http://www.w3.org/TR/xml/</a>).

При попытке ввода такого символа он просто игнорируется, при вставке из буфера

обмена недопустимые символы пропускаются и во вставленный текст не попадают.</p>

<p classMsoNormal«>Таблицу сочетаний клавиш для редактора

текстов можно посмотреть в справке при использовании программы.</p>

<a name_ref219791988«></a><a name_ref470015459«></a><a idTI000000934» classbookmark» nameissogl2_27.2.1_редактирование_модулей«><h3>27.2.1. Редактирование модулей</h3></a>

<p classMsoNormalCxSpFirst«>Редактирование модулей выполняется в

процессе создания формы объекта конфигурации, а также при разработке модулей (модуль

приложения, модуль внешнего соединения, общие модули, модули прикладных объектов).</p>

<p classMsoNormalCxSpMiddle«>При создании формы текстовый редактор

выступает как составная часть редактора форм и вызывается щелчком мыши на закладке

<span classInterface«>Модуль</span> в окне редактора форм, в остальных случаях

текстовый редактор вызывается в виде отдельного окна. Для открытия модуля управляемого

приложения, модуля внешнего соединения, модуля сеанса и модуля обычного приложения

нужно щелкнуть правой кнопкой мыши по имени конфигурации (самая верхняя строка

дерева конфигурации) и в контекстном меню выбрать соответствующий пункт меню.</p>

<p classMsoNormalCxSpMiddle«>Для редактирования модуля объекта выбрать

объект и в контекстном меню выбрать пункт <span classInterface«>Открыть модуль объекта</span>.</p>

<p classMsoNormalCxSpMiddle«>Для редактирования модуля менеджера (если

такой модуль есть у объекта) следует выбрать объект и в контекстном меню выбрать

пункт <span classInterface«>Открыть модуль менеджера</span>.</p>

<p classMsoNormalCxSpMiddle«>Чтобы отредактировать модуль команды, нужно

дважды щелкнуть мышью по команде или в контекстном меню команды выбрать пункт <span classInterface«>Открыть модуль команды</span>.</p>

<p classMsoNormalCxSpMiddle«>Для редактирования общего модуля в окне <span classInterface«>Конфигурация,</span> в ветви <span classInterface«>Общие – Общие модули</span> выбрать нужный модуль и в

контекстном меню выбрать пункт <span classInterface«>Открыть модуль</span>.</p>

<p classMsoNormalCxSpMiddle«>Процесс редактирования текста программного

модуля ничем не отличается от процесса редактирования текстовых документов –

можно использовать все возможности редактора текстов.</p>

<p classMsoNormalCxSpLast«>В этом разделе будут описаны специфические

режимы редактора текстов, которые доступны при редактировании модулей.</p>

<a idTI000000935» classbookmark» nameissogl3_27.2.1.1_выделение_цветом_синтаксических_конструкций«><h4>27.2.1.1. Выделение цветом синтаксических конструкций</h4></a>

<p classMsoNormalCxSpFirst«>Для удобства редактирования текстов модулей

текстовый редактор имеет функцию выделения цветом элементов встроенного языка

системы «1С:Предприятие» – ключевых слов, констант (не объектов

конфигурации) различных типов, операторов, комментариев и других. Цвета,

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

установить в окне <span classInterface«>Параметры</span>, которое открывается выбором пункта <span classInterface«>Сервис – Параметры</span> (о настройке параметров

текстового редактора см. <A href/db/content/v8310doc/src/руководство разработчика/глава 33. сервисные возможности.htm?_=1496848987#_ref217356703«>здесь</a>).</p>

<p classMsoNormalCxSpMiddle«>Названия встроенных функций цветом не

выделяются (цвет совпадает с цветом идентификаторов).</p>

<p classMsoNormalCxSpLast«>В общем случае когда текстовый редактор

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

Однако в некоторых случаях текст модуля может быть расположен во внешнем

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

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

текста будет недоступно выделение цветом синтаксических конструкций и автоматическое

форматирование текста модуля. Для указания конфигуратору, что редактируется

модуль, а не текстовый документ, служит пункт <span classInterface«>Текст – Встроенный язык</span>, выполняющий функцию переключателя.</p>

<p classRegularbeforepicture«>Когда он включен (слева от слов <span classInterface«>Встроенный язык</span> в меню появляется отметка), текстовый

редактор считывает загруженный в него текст текстом модуля и выделяет цветом найденные

синтаксические конструкции.</p>

<p classPicture«><IMG src_img/img00494.gif?_=1496848987» WIDTH238» ALT HEIGHT123«></p>

<p classMsoCaption«>Рис. 486. Включено выделение

цветом</p>

<p classMsoNormalCxSpFirst«>Если этот режим включен при редактировании

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

шрифт, установленный для текстов модулей в настройке параметров конфигуратора

(пункт <span classInterface«>Сервис – Параметры</span>, закладка <span classInterface«>Тексты</span>, реквизит <span classInterface«>Шрифт</span>).</p>

<p classMsoNormalCxSpMiddle«>Настройка параметров системы «1С:Предприятие»

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

выбор пункта <span classInterface«>Встроенный язык</span> не включит выделение цветом

синтаксических конструкций модуля, а будет использовать только установки шрифта

модуля и шага табуляции.</p>

<p classMsoNormalCxSpLast«>Если режим выделения цветом синтаксических

конструкций выключен, для вывода текста используются цвета операционной

системы.</p>

<a name_ref354052189«></a><a idTI000000936» classbookmark» nameissogl3_27.2.1.2_группировка«><h4>27.2.1.2. Группировка</h4></a>

<p classMsoNormal«>В модулях или в текстовых документах,

просматриваемых в режиме <span classInterface«>Встроенный язык</span>, некоторые синтаксические конструкции

автоматически объединяются в группы. К таким конструкциям относятся <span classTerm«>Если … Тогда … КонецЕсли</span>,

<span classTerm«>Пока … Цикл … КонецЦикла</span>,

<span classTerm«>Процедура … КонецПроцедуры</span>

и другие.</p>

<p classRegularbeforepicture«>Группы текста позволяют лучше воспринимать

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

группировок можно увидеть на <a href#_ref216231523«>рис.487</a>.</p>

<p classPicture«><IMG src_img/img00495.gif?_=1496848987» WIDTH452» ALT HEIGHT458«></p>

<p classMsoCaption«><a name_ref216231523«>Рис. </a>487. Группировки в текстовом редакторе</p>

<p classMsoNormalCxSpFirst«>Свернуть и развернуть группу можно с помощью

мыши. Для этого достаточно щелкнуть левой кнопкой мыши по маркеру группы.</p>

<p classMsoNormalCxSpMiddle«>Если при этом нажать клавишу <span classInterface«>Ctrl</span>, то сворачивание и разворачивание будет

производиться также для подчиненных групп (условий, циклов и проч.).</p>

<p classMsoNormalCxSpLast«>Для отображения свернутого текста необходимо

подвести курсор к маркеру, как показано на <a href#_ref216231523«>рис.

487</a>. Если текст группы достаточно большой, то выводится

только его начальная часть.</p>

<p classRegularbeforepicture«>В процессе разработки возникает

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

связанные процедуры и функции или выделить фрагменты алгоритма в рамках одной

процедуры или функции. Это можно сделать с помощью инструкций препроцессора <span classTerm«>#Область …

#КонецОбласти</span> (<span classTerm«>#Region …

#EndRegion</span>).</p>

<p classPicture«><IMG src_img/img00496.gif?_=1496848987» WIDTH662» ALT HEIGHT323«></p>

<p classMsoCaption«><a name_ref341458587«>Рис. </a>488. Группировка строк</p>

<p classMsoNormal«>Все строки, которые находятся внутри

области, ограниченные директивами препроцессора, в редакторе модуля можно

свернуть (аналогично другим конструкциям встроенного языка). Каждая область должна

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

В примере, показанном на <a href#_ref341458587«>рис.488</a>, именем области является идентификатор <span classTerm«>ФайлКартинки</span>.

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

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

корректные, так и некорректные:</p>

<a classcopy_source» href#_top» onClickreturn false«>Копировать в буфер обмена</a>

<pre classsrc_res«>

// Верный пример использования области

#Область Верно

#Если Клиент Тогда

#КонецЕсли

#КонецОбласти

// Вложенные области

#Область АлгоритмРасчета

#Область Этап1

#КонецОбласти

#Область Этап2

#КонецОбласти

#КонецОбласти

// Неверный пример использования области

#Область Неверно

#Если Клиент Тогда

#КонецОбласти

#КонецЕсли

// Неверный пример использования области

#Область Неверно

Процедура ПолучитьДанные()

#КонецОбласти

КонецПроцедры

</pre>

<p classMsoNormal«>Область может описываться комментарием,

располагающимся перед началом области (<span classTerm«>#Область</span>).

Этот комментарий также может группироваться.</p>

<p classRegularbeforetable«>С помощью команд, выполняемых с клавиатуры,

можно легко управлять состоянием групп.</p>

<table classMsoNormalTable» border0» cellspacing0» cellpadding0«>

<tr>

<td valigntop«>

<p classMsoNormalCxSpFirst«><b>Клавиши</b></p>

</td>

<td valigntop«>

<p classMsoNormalCxSpMiddle«><b>Действия</b></p>

</td>

</tr>

<tr>

<td valigntop«>

<p classMsoNormalCxSpMiddle«><span classInterface«>Ctrl + Num-</span></p>

</td>

<td valigntop«>

<p classMsoNormalCxSpMiddle«>Сворачивает

группу (курсор может быть в любом месте группы)</p>

</td>

</tr>

<tr>

<td valigntop«>

<p classMsoNormalCxSpMiddle«><span classInterface«>Ctrl + Num+</span></p>

</td>

<td valigntop«>

<p classMsoNormalCxSpMiddle«>Разворачивает

группу (курсор должен быть в первой строке группы)</p>

</td>

</tr>

<tr>

<td valigntop«>

<p classMsoNormalCxSpMiddle«><span classInterface«>Ctrl + Shift + Num-</span></p>

</td>

<td valigntop«>

<p classMsoNormalCxSpMiddle«>Сворачивает

все группы</p>

</td>

</tr>

<tr>

<td valigntop«>

<p classMsoNormalCxSpMiddle«><span classInterface«>Ctrl + Shift + Num+</span></p>

</td>

<td valigntop«>

<p classMsoNormalCxSpMiddle«>Разворачивает

все группы </p>

</td>

</tr>

<tr>

<td valigntop«>

<p classMsoNormalCxSpMiddle«><span classInterface«>Ctrl + Shift + R</span></p>

</td>

<td valigntop«>

<p classMsoNormalCxSpMiddle«>Обновить

группировки </p>

</td>

</tr>

</table>

<p classMsoNormalCxSpMiddle«>При написании текста модуля, во время

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

для всех синтаксических конструкций любого уровня вложенности. Обновление

группировок выполняется с помощью пункта <span classInterface«>Текст – Группировки – Обновить группировки</span> или

автоматически при сохранении текста согласно настройке показа групп.</p>

<p classMsoNormalCxSpLast«>Первым считается уровень описания процедур, функций

и областей, вторым – синтаксических конструкций, вложенных только в тело

процедуры или функции, но не в тело других синтаксических конструкций. Режим

показа групп можно настроить. О настройке режима см. <A href/db/content/v8310doc/src/руководство разработчика/глава 33. сервисные возможности.htm?_=1496848987#_ref217356754«>здесь</a>.</p>

<a name_ref389477376«></a><a idTI000001457» classbookmark» nameissogl3_27.2.1.3_работа_с_закладками«><h4>27.2.1.3. Работа с закладками</h4></a>

<p classRegularbeforepicture«>В процессе работы с текстом модуля

разработчик может отметить какую-либо строку текста для того, чтобы потом

быстро перейти к отмеченному фрагменту. Такая отметка называется <span classBold«>закладкой</span>.</p>

<p classPicture«><IMG src_img/img00497.gif?_=1496848987» WIDTH782» ALT HEIGHT283«></p>

<p classMsoCaption«>Рис. 489. Закладки в тексте</p>

<p classMsoNormalCxSpFirst«>Для установки следует воспользоваться

командой <span classInterface«>Текст – Установить/снять закладку</span>. Закладка

отмечается цветовой меткой в колонке, левее текста модуля.</p>

<p classMsoNormalCxSpLast«>Также имеется возможность перейти к следующей

(команда <span classInterface«>Текст – Следующая закладка</span>) или предыдущей закладке

(команда <span classInterface«>Текст – Предыдущая закладка</span>), а также удалить все

установленные закладки (<span classInterface«>Текст – Убрать все закладки</span>).</p>

<p classRegularbeforepicture«>Список всех установленных закладок можно

увидеть в специльном списке, который открывается с помощью команды <span classInterface«>Правка – Список закладок</span>.</p>

<p classPicture«><IMG src_img/img00498.gif?_=1496848987» WIDTH472» ALT HEIGHT278«></p>

<p classMsoCaption«>Рис. 490. Список закладок</p>

<p classMsoNormalCxSpFirst«>С помощью данного списка можно перейти сразу

к нужной закладке, удалить одну, конкретную, закладку или сразу все. Следует

помнить, что переход к закладке осуществляется только с помощью специальной

кнопки. Нажатие на кнопку <span classInterface«>ОК</span> не вызывает переход к отмеченной закладке.</p>

<p classMsoNormalCxSpLast«>Также следует отметить, что система

сохраняет список закладок между сеансами редактирования документов и работы

конфигуратора.</p>

<a idTI000000937» classbookmark» nameissogl3_27.2.1.4_форматирование_модуля«><h4>27.2.1.4. Форматирование модуля</h4></a>

<p classMsoNormal«>Редактор текстов системы «1С:Предприятие»

включает ряд режимов, облегчающих разработку модулей.</p>

<a name_ref401225227«></a><a idTI000000938» classbookmark» nameissogl4_27.2.1.4.1_форматирование_синтаксических_конструкций«><h5>27.2.1.4.1. Форматирование синтаксических конструкций</h5></a>

<p classMsoNormal«>Хорошим стилем написания модулей считается

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

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

например, так, как это показано в приведенном ниже фрагменте модуля.</p>

<a classcopy_source» href#_top» onClickreturn false«>Копировать в буфер обмена</a>

<pre classsrc_dev«><span classkeyword«>Процедура</span> СледующийЭлемент<span classoperator«>(</span>Справочник<span classoperator«>,</span> Выборка<span classoperator«>)</span>

<span classkeyword«>Пока</span> <span classkeyword«>Истина</span> <span classkeyword«>Цикл</span>

<span classkeyword«>Если</span> Выборка<span classoperator«>.</span>Следующий<span classoperator«>(</span><span classoperator«>)</span> <span classoperator«>=</span> <span classkeyword«>Ложь</span> <span classkeyword«>Тогда</span>

Выборка <span classoperator«>=</span> Справочник<span classoperator«>.</span><span classkeyword«>Выбрать</span><span classoperator«>(</span><span classoperator«>)</span><span classoperator«>;</span>

<span classkeyword«>Продолжить</span><span classoperator«>;</span>

<span classkeyword«>Иначе</span>

<span classkeyword«>Прервать</span><span classoperator«>;</span>

<span classkeyword«>КонецЕсли</span><span classoperator«>;</span>

<span classkeyword«>Если</span> Выборка<span classoperator«>.</span>ЭтоГруппа <span classkeyword«>Тогда</span>

<span classkeyword«>Продолжить</span><span classoperator«>;</span>

<span classkeyword«>КонецЕсли</span><span classoperator«>;</span>

<span classkeyword«>Возврат</span><span classoperator«>;</span>

<span classkeyword«>КонецЦикла</span><span classoperator«>;</span>

<span classkeyword«>КонецПроцедуры</span></pre>

<p classMsoNormalCxSpFirst«>В данном фрагменте строки модуля,

расположенные внутри структурных операторов <span classTerm«>Если … Тогда … КонецЕсли</span>

и <span classTerm«>Пока … Цикл … КонецЦикла</span>,

смещены вправо, чтобы подчеркнуть их «вложенность». Текст модуля, отформатированный

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

отладке.</p>

<p classMsoNormalCxSpMiddle«>Текстовый редактор системы «1С:Предприятие»

предоставляет функции автоматического форматирования управляющих конструкций

встроенного языка. Для настройки автоматического форматирования в режиме установки

параметров системы (команда <span classInterface«>Сервис – Параметры</span> главного меню конфигуратора, закладка

<span classInterface«>Модули</span>) можно выбрать один из двух видов отступа.</p>

<p classMsoNormalCxSpMiddle«>Синтаксический отступ выполняет

автоматическое форматирование текста модуля, смещая вправо текст, расположенный

внутри управляющих конструкций типа <span classTerm«>Если … Тогда … КонецЕсли</span>

и <span classTerm«>Пока … Цикл … КонецЦикла</span>

и подобных. Смещение выполняется за счет добавления в начало строк необходимого

количества знаков табуляции.</p>

<p classMsoNormalCxSpMiddle«>«Обыкновенный» отступ автоматически выравнивает

текст строки по левой границе предыдущей строки.</p>

<p classMsoNormalCxSpMiddle«>Если автоотступ отключен, никаких

дополнительных символов в текст добавляться не будет.</p>

<p classMsoNormalCxSpMiddle«>Кроме автоматического форматирования текста

модуля в процессе ввода можно также отформатировать уже введенный текст. Для

этого необходимо выделить блок текста, который требуется отформатировать, и

выбрать пункт <span classInterface«>Текст – Блок – Форматировать</span>. При этом текстовый

редактор проанализирует текст модуля и выполнит его форматирование, при котором

содержимое каждой синтаксической конструкции будет сдвинуто вправо на величину

табуляции независимо от первоначального расположения строк (лидирующих

пробелов). В пустые строки устанавливаются знаки табуляции в соответствии с

синтаксической конструкцией.</p>

<p classMsoNormalCxSpMiddle«>Блок текста также можно целиком сдвигать

вправо или влево с шагом табуляции. Для этого необходимо выделить блок текста и

выбрать команду <span classInterface«>Текст – Блок – Сдвинуть вправо</span> (<span classInterface«>Текст – Блок – Сдвинуть влево</span>).</p>

<p classMsoNormalCxSpLast«>Текстовый редактор системы «1С:Предприятие»

осуществляет автоматическое удаление пробелов на концах строк. Это выполняется

при записи модуля.</p>

<a idTI000000939» classbookmark» nameissogl4_27.2.1.4.2_вставка_удаление_признака_комментария«><h5>27.2.1.4.2. Вставка/удаление признака комментария</h5></a>

<p classMsoNormalCxSpFirst«>При отладке модулей зачастую бывает

необходимо на время «отключить» некоторые строки модуля, чтобы они не исполнялись

при работе системы. Обычно это выполняется путем превращения таких строк в

комментарии – добавлением перед ними признака комментария «<span classInterface«>//</span>». Позднее, чтобы опять «включить» закомментированные

строки в работу, признак комментария удаляется.</p>

<p classMsoNormalCxSpMiddle«>Для выключения (и последующего включения)

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

признаков комментария у всех строк выделенного блока или текущей строки (ее

выделять не обязательно).</p>

<p classMsoNormalCxSpMiddle«>Для этого следует выделить блок текста или

установить указатель на нужную строку и выбрать пункт <span classInterface«>Текст – Блок – Добавить комментарий</span> (<span classInterface«>Текст – Блок – Удалить комментарий</span>).</p>

<p classMsoNormalCxSpLast«>При удалении комментария, если перед строкой

установлено несколько признаков комментария, удаляется только один.</p>

<a idTI000000940» classbookmark» nameissogl4_27.2.1.4.3_вставка_удаление_переноса_строки«><h5>27.2.1.4.3. Вставка/удаление переноса строки</h5></a>

<p classMsoNormalCxSpFirst«>При написании значения строковых констант

для переноса строки используется символ «<span classInterface«>|</span>».</p>

<p classMsoNormalCxSpMiddle«>Текстовый редактор позволяет легко добавлять

или удалять этот символ в предварительно выделенные строки.</p>

<p classMsoNormalCxSpMiddle«>Для вставки/удаления символа переноса у всех

строк выделенного блока или текущей строки (ее выделять не обязательно) нужно

указать область и выбрать пункт <span classInterface«>Текст – Блок – Добавить перенос строки</span> для

вставки и <span classInterface«>Текст – Блок – Удалить перенос строки</span> для

удаления.</p>

<p classMsoNormalCxSpLast«>Символ переноса вставляется в первую

значимую (не пробел и не знак табуляции) позицию каждой строки.</p>

<a name_ref373336579«></a><a idTI000000941» classbookmark» nameissogl3_27.2.1.5_переход_по_процедурам_и_функциям_модуля«><h4>27.2.1.5. Переход по процедурам и функциям модуля</h4></a>

<p classMsoNormal«>При значительном количестве имеющихся в

модуле описаний процедур и функций удобно использовать режим поиска процедур,

который предоставляет редактор текстов системы «1С:Предприятие».</p>

<p classRegularbeforepicture«>Если воспользоваться командой <span classInterface«>Текст – Процедуры и функции</span>, то на экран будет

выдано окно, содержащее список всех процедур и функций редактируемого модуля.</p>

<p classPicture«><IMG src_img/img00499.gif?_=1496848987» WIDTH391» ALT HEIGHT291«></p>

<p classMsoCaption«>Рис. 491. Список процедур и

функций</p>

<p classMsoNormalCxSpFirst«>Имена процедур и функций в списке выдаются в

порядке их расположения в модуле. Если установлен флажок <span classInterface«>Сортировка</span>, список будет отсортирован по алфавиту.</p>

<p classMsoNormalCxSpMiddle«>Имена процедур и функций, уже расположенных

в форме, имеют пиктограмму слева от наименования.</p>

<p classMsoNormalCxSpMiddle«>Для перехода к нужной процедуре или функции

необходимо выделить ее имя в списке и нажать кнопку <span classInterface«>Перейти</span>.</p>

<p classMsoNormalCxSpLast«>В списке процедур и функций в угловых

скобках показываются наименования событий, процедура-обработчик которых еще не

создана. Созданные процедуры и функции имеют перед наименованием пиктограмму (<span classInterface«>P()</span> и <span classInterface«>F(х)</span> соответственно). Состав событий, которые могут быть

обработаны, определяются типом объекта и видом формы, а также составом

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

добавляется текст предопределенной процедуры, а в соответствующее событие категории

<span classInterface«>События</span> – ссылка на эту процедуру.</p>

<p classNote«><span classNote«>ВНИМАНИЕ!</span> Создание

процедур-обработчиков событий, определенных системой для данного модуля, необходимо

выполнять в палитре свойств для формы в категории свойств <span classInterface«>События</span>, или с помощью окна <span classInterface«>Процедуры и функции</span>, или из поля списка <span classInterface«>Процедуры и функции</span>. При простом копировании

процедур-обработчиков событий из других модулей обработчики событий для формы

не будут инициированы системой, и скопированные процедуры не будут вызываться

для обработки событий.</p>

<p classMsoNormal«>При перемещении указателя в строку модуля

наименование текущей процедуры или функции показывается в поле выбора процедуры

панели инструментов <span classInterface«>Модуль</span> (команда <span classInterface«>Процедуры и функции</span>). С помощью этого списка можно также

перейти к нужной процедуре или функции.</p>

<p classRegularbeforepicture«>Для перехода к процедуре, функции и

переменным достаточно указать мышью их наименование и нажать клавишу <span classInterface«>F12</span>. Переход возможен только для процедур, функций и

переменных, расположенных в данном модуле, или к экспортируемым процедурам,

функциям и переменным модуля приложения, общих модулей и модулей объектов. Для

того чтобы вернуться к точке, из которой был осуществлен переход к определению,

необходимо нажать сочетание клавиш <span classInterface«>Ctrl+ &quot;-&quot;</span> (рядом с клавишей &quot;<span classInterface«>=</span>&quot;).</p>

<p classPicture«><IMG src_img/img00500.gif?_=1496848987» WIDTH760» ALT HEIGHT376«></p>

<p classMsoCaption«>Рис. 492. Перейти к определению</p>

<p classMsoNormalCxSpFirst«>Если записанное выражение состоит из частей,

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

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

к определению переменной, определению объекта метаданных, тип которого имеет

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

(например, в модуле объекта, тип которого имеет выражение).</p>

<p classMsoNormalCxSpLast«>Например, для выражения <span classTerm«>Спр.НайтиПоКоду()</span>,

где <span classTerm«>Спр</span>

определен как справочник <span classTerm«>Валюты</span>,

при нажатии клавиши <span classInterface«>F12</span> будет выведен список перехода к определению

переменной <span classTerm«>Спр</span>

и определению объекта метаданных <span classInterface«>Справочники – Валюты</span> в дереве объектов

конфигурации.</p>

<p classRegularbeforepicture«>Существует возможность выполнить поиск мест

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

всей конфигурации. Для выполнения такого поиска следует поместить курсор «внутрь»

того имени, использование которого нужно найти, и вызвать команду контекстного

меню редактора текстов <span classInterface«>Найти использование</span> (или нажать сочетание клавиш <span classInterface«>Alt+F12</span>).</p>

<p classPicture«><IMG src_img/img00501.gif?_=1496848987» WIDTH800» ALT HEIGHT290«></p>

<p classMsoCaption«>Рис. 493. Найти использование</p>

<p classMsoNormalCxSpFirst«>После выполнения поиска открывается окно с

результатами поиска. Из этого окна можно перейти в соответствующий модуль с

помощью двойного щелчка мышью по требуемой строке.</p>

<p classMsoNormalCxSpLast«>Первый символ в результатах поиска описывает

достоверность определения каждого найденного использования. Символ «<span classInterface«>i</span>» означает, что использование определено полностью и

однозначно, а символ &quot;<span classInterface«>!</span>&quot; означает, что использование переменной, процедуры

или функции определено не четко.<a name_ref349150912«></a></p>

<a name_ref371695051«></a><a idTI000000942» classbookmark» nameissogl3_27.2.1.6_контекстная_подсказка_при_вводе_текстов_модулей«><h4>27.2.1.6. Контекстная подсказка при вводе текстов модулей</h4></a>

<p classMsoNormalCxSpFirst«>Текстовый

редактор системы «1С:Предприятие» предоставляет средство контекстного ввода

выражений с использованием системных объектов, их свойств, методов, процедур и

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

процедур и функций, определенных в общих модулях, модулях прикладных объектов и

модулях форм. В список включаются предопределенные элементы справочников, планов

счетов, планов видов характеристик и планов видов расчетов.</p>

<p classMsoNormalCxSpLast«>В

список контекстной подсказки могут быть включены шаблоны текстов и ключевые

слова.</p>

<p classNote«><span classNote«>Примечание.</span> Контекстная подсказка текста не поддерживается

системой для текстовых документов с установленным свойством <span classInterface«>Встроенный язык</span>.</p>

<p classMsoNormalCxSpFirst«>Ввод

осуществляется из списка, который выводится в виде контекстного меню в месте

текущего расположения курсора (с учетом близости границ экрана).</p>

<p classMsoNormalCxSpMiddle«>Список

вызывается нажатием комбинации клавиш <span classInterface«>Ctrl + &lt;клавиша

Пробел&gt;</span> на любой стадии набора выражения или автоматически после

ввода символа «<span classInterface«>.</span>» после выражения,

представляющего собой объект, имеющий свойства и/или методы (при разрешенном вызове

контекстной подсказки – см. <A href/db/content/v8310doc/src/руководство разработчика/глава 33. сервисные возможности.htm?_=1496848987#_ref217356805«>здесь</a>).</p>

<p classMsoNormalCxSpMiddle«>Состав

списка зависит от контекста выполнения программного модуля (см. раздел «Общее

описание языка» справки по встроенному языку) и предварительно введенного текста.</p>

<p classMsoNormalCxSpMiddle«>На

начальном этапе, когда текст еще не введен или введены только начальные символы

выражения, состав списка определяется контекстом выполнения.</p>

<p classMsoNormalCxSpMiddle«>Список

представлен в виде строк текста, отсортированных по алфавиту.</p>

<p classMsoNormalCxSpMiddle«>Если

при открытии списка был введен фрагмент текста, то список позиционируется на

первой строке, наименование которой максимально включает набранный или

выделенный текст (от начала наименования). Если набранный текст не содержится в

строках списка, то список позиционируется на строке, в которой максимально

представлен набранный текст.</p>

<p classMsoNormalCxSpMiddle«>При

открытом списке можно продолжить набор текста. В этом случае список будет

последовательно позиционироваться на строках, совпадающих с набираемым текстом.</p>

<p classMsoNormalCxSpLast«>Список

можно просмотреть стандартным способом. При нажатии клавиши <span classInterface«>Enter</span>

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

текст.</p>

<p classNote«><span classNote«>Примечание.</span> При переносе текста в модуль не вставляются

параметры методов и используется контекст клиентского приложения.</p>

<p classRegularbeforetable«>В

левой части строк имеются пиктограммы, показывающие вид объекта и тип места его

расположения. </p>

<table classMsoNormalTable» border0» cellspacing0» cellpadding0«>

<tr>

<td valigntop«>

<p classMsoNormalCxSpFirst«><b>Пиктограмма</b></p>

</td>

<td valigntop«>

<p classMsoNormalCxSpMiddle«><b>Объект</b></p>

</td>

</tr>

<tr>

<td valigntop«>

<p classMsoNormalCxSpLast«>черта (черная)</p>

</td>

<td valigntop«>

<p classMsoListBulletCxSpFirst«>

Свойства глобального контекста,</p>

<p classMsoListBulletCxSpMiddle«>

Системные наборы значений,</p>

<p classMsoListBulletCxSpLast«>

Перечисления</p>

</td>

</tr>

<tr>

<td valigntop«>

<p classMsoNormalCxSpMiddle«>черта (зеленая)</p>

<p classMsoNormalCxSpLast«> </p>

</td>

<td valigntop«>

<p classMsoListBulletCxSpFirst«>

Свойства объектов универсальных коллекций

значений,</p>

<p classMsoListBulletCxSpMiddle«>

Свойства интерфейсных объектов,</p>

<p classMsoListBulletCxSpMiddle«>

Реквизиты прикладного объекта,</p>

<p classMsoListBulletCxSpLast«>

Предопределенные элементы</p>

</td>

</tr>

<tr>

<td valigntop«>

<p classMsoNormalCxSpMiddle«>черта (синяя)</p>

</td>

<td valigntop«>

<p classMsoNormalCxSpMiddle«>Экспортируемые переменные модулей</p>

</td>

</tr>

<tr>

<td valigntop«>

<p classMsoNormalCxSpMiddle«>черта (красная)</p>

</td>

<td valigntop«>

<p classMsoNormalCxSpMiddle«>Локальные переменные модуля</p>

</td>

</tr>

<tr>

<td valigntop«>

<p classMsoNormalCxSpMiddle«>Р() (черная)</p>

</td>

<td valigntop«>

<p classMsoNormalCxSpMiddle«>Процедуры глобального контекста</p>

</td>

</tr>

<tr>

<td valigntop«>

<p classMsoNormalCxSpMiddle«>Р() (зеленая)</p>

</td>

<td valigntop«>

<p classMsoNormalCxSpMiddle«>Процедуры интерфейсных и прикладных

объектов</p>

</td>

</tr>

<tr>

<td valigntop«>

<p classMsoNormalCxSpMiddle«>Р() (синяя)</p>

</td>

<td valigntop«>

<p classMsoNormalCxSpMiddle«>Экспортируемые процедуры других модулей</p>

</td>

</tr>

<tr>

<td valigntop«>

<p classMsoNormalCxSpMiddle«>Р() (красная)</p>

</td>

<td valigntop«>

<p classMsoNormalCxSpMiddle«>Локальные процедуры модуля</p>

</td>

</tr>

<tr>

<td valigntop«>

<p classMsoNormalCxSpMiddle«>F() (черная)</p>

</td>

<td valigntop«>

<p classMsoNormalCxSpMiddle«>Функции глобального контекста</p>

</td>

</tr>

<tr>

<td valigntop«>

<p classMsoNormalCxSpMiddle«>F() (зеленая)</p>

</td>

<td valigntop«>

<p classMsoNormalCxSpMiddle«>Функции интерфейсных объектов и прикладных

объектов</p>

</td>

</tr>

<tr>

<td valigntop«>

<p classMsoNormalCxSpMiddle«>F() (синяя)</p>

</td>

<td valigntop«>

<p classMsoNormalCxSpMiddle«>Экспортируемые функции других модулей</p>

</td>

</tr>

<tr>

<td valigntop«>

<p classMsoNormalCxSpMiddle«>F() (красная)</p>

</td>

<td valigntop«>

<p classMsoNormalCxSpMiddle«>Локальные функции модуля</p>

</td>

</tr>

<tr>

<td valigntop«>

<p classMsoNormalCxSpMiddle«>Цветные<br>

строки</p>

</td>

<td valigntop«>

<p classMsoNormalCxSpMiddle«>Ключевые слова (<span classTerm«>Если</span>, <span classTerm«>Цикл</span>, <span classTerm«>Попытка</span> и др.)</p>

</td>

</tr>

<tr>

<td valigntop«>

<p classMsoNormalCxSpMiddle«>Картинка<br>

шаблонов</p>

</td>

<td valigntop«>

<p classMsoNormalCxSpMiddle«>Шаблон текста</p>

</td>

</tr>

</table>

<p classMsoNormalCxSpMiddle«>Шаблон

текста включается в список только в том случае, если в нем определена строка

автозамены.</p>

<p classMsoNormalCxSpMiddle«>Если

в результате набора или после выбора из списка текст будет представлять

выражение, имеющее свойства или методы, то после ввода символа «<span classInterface«>.</span>» на экран

автоматически будет выведен список, содержащий возможный набор свойств и

методов, предоставляемых данным выражением.</p>

<p classMsoNormalCxSpMiddle«>Например,

при вводе текста «<span classInterface«>Справочники.</span>»

выводится список, содержащий наименования всех справочников, описанных в данной

конфигурации. После выбора конкретного справочника и ввода символа «<span classInterface«>.</span>» на экран снова

будет выведен список, но, в отличие от предыдущего, в нем будут содержаться

наименования процедур и функций работы со справочником, а также предопределенные

элементы справочника. При выборе метода, возвращающего значение некоторого

типа, также имеющего свойства и методы, контекстный ввод может быть продолжен

(нужно в конце наименования ввести открывающую и закрывающую скобки). Список

контекстной подсказки содержит только возможный набор, определяемый типом

введенного выражения.</p>

<p classMsoNormalCxSpLast«>Для

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

следующей особенности: для того, чтобы явно объявленные переменные попадали в

контекстную подсказку, каждая переменная доллжна быть оформлена «своим»

оператором <span classTerm«>Перем</span>

(см. <A href/db/content/v8310doc/src/руководство разработчика/глава 4. встроенный язык.htm?_=1496848987#_ref395796162«>здесь</a>). В противном случае контекстная подсказка будет

отображать только первую переменную из каждого оператора <span classTerm«>Перем</span>.

В следующем примере будут отображаться все объявленные переменные:</p>

<a classcopy_source» href#_top» onClickreturn false«>Копировать в буфер обмена</a>

<pre classsrc_res«>

Перем ИмяМакета;

Перем СкрыватьСкидку;

Перем СальдоВзаиморасчетов;

</pre>

<p classMsoNormal«>В следующем примере контекстная подсказка

будет отображать только одну переменную: <span classTerm«>ИмяМакета</span>:</p>

<a classcopy_source» href#_top» onClickreturn false«>Копировать в буфер обмена</a>

<pre classsrc_res«>Перем ИмяМакета, СкрыватьСкидку, СальдоВзаиморасчетов;</pre>

<p classMsoNormalCxSpFirst«>Контекстная

подсказка может использоваться при вводе оператора <span classTerm«>Новый</span>, а также для переменных, созданных с помощью

оператора <span classTerm«>Новый</span>.</p>

<p classMsoNormalCxSpMiddle«>Контекстная

подсказка может использоваться при вводе различных ключевых слов (например, <span classTerm«>Если</span>, <span classTerm«>Для</span>, <span classTerm«>Цикл</span> и др.). Ключевые слова входят в список,

вызываемый стандартным образом нажатием комбинации клавиш <span classInterface«>Ctrl + &lt;клавиша

Пробел&gt;</span> на любой стадии набора слова.</p>

<p classMsoNormalCxSpMiddle«>Показ

в списке ключевых слов можно настроить (см. <A href/db/content/v8310doc/src/руководство разработчика/глава 33. сервисные возможности.htm?_=1496848987#_ref217356805«>здесь</a>).</p>

<p classMsoNormalCxSpLast«>Если

для какой-либо переменной или метода список состоит только из одной строчки, то

нажатие комбинации клавиш <span classInterface«>Ctrl + &lt;клавиша

Пробел&gt;</span> приводит к непосредственной вставке этой строки.</p>

<p classRegularbeforepicture«>Контекстная

подсказка также позволяет отображать перечень параметров какого-либо метода и

его тип. Параметры отображаются как для объектов глобального контекста и

объектов встроенного языка, так и для методов прикладного решения, описание

которых соответствует определенным требованиям. Для

операторов встроенного языка контекстная подсказка по параметрам не

отображается. Отображение параметров начинается после ввода символов &quot;<span classInterface«>(</span>&quot; или

&quot;<span classInterface«>,</span>&quot; (можно

настроить, подробнее см. <A href/db/content/v8310doc/src/руководство разработчика/глава 33. сервисные возможности.htm?_=1496848987#_ref217356805«>здесь</a>) или после нажатия комбинации клавиш <span classInterface«>Ctrl + Shift + &lt;клавиша

Пробел&gt;</span>, если она нажата после символа &quot;<span classInterface«>(</span>&quot; вызова

процедуры или функции.</p>

<p classPicture«><IMG src_img/img00502.gif?_=1496848987» WIDTH735» ALT HEIGHT222«></p>

<p classMsoCaption«>Рис.

494. Контекстная подсказка параметров</p>

<p classRegularbeforepicture«>Если

у метода есть несколько вариантов синтаксиса, то будет отображен первый по

порядку вариант. Однако перед описанием синтаксиса будут присутствовать стрелки

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

Переключаться можно также с помощью клавиш <span classInterface«>Ctrl + &lt;Стрелка

вверх&gt;</span> и <span classInterface«>Ctrl + &lt;Стрелка

вниз&gt;</span>.</p>

<p classPicture«><IMG src_img/img00503.gif?_=1496848987» WIDTH503» ALT HEIGHT168«></p>

<p classMsoCaption«>Рис.

495. Несколько вариантов синтаксиса в контекстной подсказке

параметров</p>

<p classMsoNormalCxSpFirst«>Под

описанием параметра отображается тип значения, которое можно передавать в этот

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

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

открытию синтакс-помощника (см. <A href/db/content/v8310doc/src/руководство разработчика/глава 33. сервисные возможности.htm?_=1496848987#_ref223167849«>здесь</a>) с информацией о типе. Контекстная подсказка

параметров закрывается после ввода символа &quot;<span classInterface«>)</span>&quot; или

нажатия клавиши <span classInterface«>Esc</span> при

открытом окне контекстной подсказки параметров.</p>

<p classMsoNormalCxSpLast«>Для

того чтобы контекстная подсказка показывала описание параметров и их типы для

методов прикладного решения, перед началом метода должен располагаться

комментарий, выполненный по определенным правилам. В общем случае, описание процедуры

или функции состоит из следующих секций:</p>

<p classMsoListBulletCxSpFirst«>

секция <span classInterface«>Описание</span>

содержит краткое описание назначения и/или принципов работы процедуры или функции,

может быть единственной секцией для функций без параметров;</p>

<p classMsoListBulletCxSpMiddle«>

секция <span classInterface«>Параметры</span>

описывает параметры процедуры или функции. Если параметров нет – секция

пропускается;</p>

<p classMsoListBulletCxSpMiddle«>

секция <span classInterface«>Возвращаемое значение</span>

описывает тип и содержание возвращаемого значения функции. Для процедур эта

секция отсутствует;</p>

<p classMsoListBulletCxSpLast«>

секция <span classInterface«>Пример</span> – содержит

пример использования процедуры или функции.</p>

<p classMsoNormal«>Общий

формат комментария следующий:</p>

<a classcopy_source» href#_top» onClickreturn false«>Копировать в буфер обмена</a>

<pre classsrc_res«>

&lt;Комментарий&gt; =

[&lt;СекцияЗаголовка&gt;]

[&lt;СекцияПараметров&gt;]

[&lt;СекцияВозвращаемогоЗначения&gt;]

[&lt;СекцияПримера&gt;]

&lt;НоваяСтрока&gt; = Начало строки модуля

&lt;Имя&gt; = Идентификатор встроенного языка

&lt;Тип&gt; = &lt;Имя&gt; | &lt;Имя&gt;&quot;.&quot;&lt;Имя&gt;

&lt;СписокТипов&gt; = &lt;Тип&gt;{&quot;,&quot;&lt;Тип&gt;}

&lt;СтрокаТекста&gt; = Произвольный текст без перевода на другую строку

&lt;Текст&gt; = &lt;СтрокаТекста&gt; {&lt;НоваяСтрока&gt; &lt;СтрокаТекста&gt;}

&lt;СекцияЗаголовка&gt; = [&lt;Текст&gt;]

&lt;СекцияПараметров&gt; = &lt;НоваяСтрока&gt; (&quot;Параметры:&quot; | &quot;Parameters:&quot;) {&lt;ОписаниеПараметра&gt; {&lt;ОписаниеТипа&gt;} }

&lt;ОписаниеПараметра&gt; = &lt;НоваяСтрока&gt; &lt;Имя&gt; [&quot;-&quot; &lt;СписокТипов&gt;] &quot;-&quot; [&lt;Текст&gt;]

&lt;ОписаниеТипа&gt; = &lt;НоваяСтрока&gt; &quot;-&quot; &lt;СписокТипов&gt;] &quot;-&quot; [&lt;Текст&gt;]

&lt;СекцияВозвращаемогоЗначения&gt; = &lt;НоваяСтрока&gt; (&quot;Возвращаемое значение:&quot; | &quot;Returns:&quot;) &lt;ОписаниеЗначения&gt;

&lt;ОписаниеЗначения&gt; = &lt;НоваяСтрока&gt; [&lt;СписокТипов&gt; &quot;-&quot;] [&lt;Текст&gt;]

&lt;СекцияПримера&gt; = &lt;НоваяСтрока&gt; (&quot;Пример:&quot; | &quot;Sample:&quot;) &lt;НоваяСтрока&gt; &lt;Текст&gt;

</pre>

<p classRegularbeforepicture«>В результате, комментарий перед началом

процедуры или функции, оформленный в соответствии с описанным форматом, приведет

к тому, что контекстная подсказка параметров методов будет адекватно показывать

подсказку для метода прикладного решения.</p>

<p classPicture«><IMG src_img/img00504.gif?_=1496848987» WIDTH800» ALT HEIGHT235«></p>

<p classMsoCaption«>Рис. 496. Контекстная подсказка

параметров методов прикладного решения</p>

<p classMsoNormal«>Таким

образом, механизм контекстной подсказки текстового редактора системы «1С:Предприятие»

предоставляет способ быстрого и правильного набора текстов модулей.</p>

<a name_ref371683520«></a><a idTI000001308» classbookmark» nameissogl3_27.2.1.7_средства_рефакторинга«><h4>27.2.1.7. Средства рефакторинга</h4></a>

<a idTI000001832» classbookmark» nameissogl4_27.2.1.7.1_общая_информация«><h5>27.2.1.7.1. Общая информация</h5></a>

<p classMsoNormalCxSpFirst«><span classBold«>Рефакторинг</span> – процесс

переработки кода на встроенном языке с целью добиться улучшения читаемости кода

и общей внутренней структуры при полном и точном сохранении изначального смысла

и поведения. Конфигуратор предлагает несколько встроенных инструментов, которые

могут помочь при проведении рефакторинга прикладного решения. Доступ к этим

инструментам выполняется с помощью подменю <span classInterface«>Рефакторинг</span> контекстного меню редактора текста

встроенного языка или с помощью одноименного подменю меню <span classInterface«>Текст</span> главного меню конфигуратора.</p>

<p classMsoNormalCxSpLast«>Далее средства рефакторинга будут

рассмотрены более подробно. В этом рассмотрении будут использоваться следующие

термины:</p>

<p classMsoListBulletCxSpFirst«>

<span classBold«>Блок</span> – множество

строк между ключевыми словами <span classTerm«>Тогда</span><span classTerm«>КонецЕсли</span>,

<span classTerm«>Тогда</span><span classTerm«>Иначе</span>,

<span classTerm«>Тогда</span><span classTerm«>ИначеЕсли</span>,

<span classTerm«>Цикл</span><span classTerm«>КонецЦикла</span>,

<span classTerm«>Попытка</span><span classTerm«>Исключение</span>,

<span classTerm«>Исключение</span><span classTerm«>КонецПопытки</span>,

<span classTerm«>Процедура</span><span classTerm«>КонецПроцедуры</span>,

<span classTerm«>Функция</span><span classTerm«>КонецФункции</span>;</p>

<p classMsoListBulletCxSpLast«>

<span classBold«>Терминальный вызов</span>

вызов, являющийся последней выполняемой инструкцией метода встроенного языка:</p>

<p classMsoListBullet2CxSpFirst«>

Располагается перед ключевым словом <span classTerm«>КонецПроцедуры</span>,

<span classTerm«>КонецФункции</span>

или <span classTerm«>Возврат</span>;</p>

<p classMsoListBullet2CxSpLast«>

Является последним в рекурсивно-последнем блоке

инструкций метода.</p>

<p classMsoListBullet«>

<span classBold«>Асинхронный метод</span>

метод, который может использоваться в цепочках вызовов с использованием

обработчиков оповещений.</p>

<a name_ref373334311«></a><a idTI000001309» classbookmark» nameissogl4_27.2.1.7.2_выделить_фрагмент«><h5>27.2.1.7.2. Выделить фрагмент</h5></a>

<p classMsoNormalCxSpFirst«>Данная команда преобразует

выделенный, синтаксически целостный, фрагмент кода в отдельную процедуру или

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

переменных родительского метода и структуры фрагмента.</p>

<p classMsoNormalCxSpMiddle«>В том случае, когда выделенный фрагмент

может выступать источником в операторе присваивания (см. <A href/db/content/v8310doc/src/руководство разработчика/глава 4. встроенный язык.htm?_=1496848987#_ref371692195«>здесь</a>), фрагмент будет выделен как функция. Так же в

функцию выделяется фрагмент, в котором инициализируется единственная

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

остальных случаях фрагмент выделяется в процедуру.</p>

<p classMsoNormalCxSpMiddle«>В случае использования переменных выделяемого

фрагмента в оставшейся части родительского метода, эти переменные передаются

выделяемому методу в виде параметров, с их предварительной инициализацией или

объявлением (при наличии такой необходимости).</p>

<p classMsoNormalCxSpMiddle«>Если

родительский метод (<span classBold«>из</span> которого выделяется фрагмент)

предваряется какой-либо директивой компиляции (см. <A href/db/content/v8310doc/src/руководство разработчика/глава 4. встроенный язык.htm?_=1496848987#_ref371693648«>здесь</a>), то выделяемый метод также будет предваряться точно

такой же директивой компиляции.</p>

<p classMsoNormalCxSpLast«>Код

нового метода размешается сразу после кода родительского метода (из которого

выделяется фрагмент) и соответствующим образом форматируется

(см. <a href#_ref401225227«>здесь</a>).</p>

<a name_ref420333675«></a><a idTI000001310» classbookmark» nameissogl4_27.2.1.7.3_переименовать«><h5>27.2.1.7.3. Переименовать</h5></a>

<p classMsoNormalCxSpFirst«>Данная

команда предназначена для изменения имени переменной или метода. Если

обращение к экспортной переименуемой переменной или методу нельзя определить

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

или метода.</p>

<p classMsoNormalCxSpMiddle«>Для экспортных переменных и методов модуля

формы производится анализ уникальности идентификатора в рамках всей конфигурации

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

выполнения этого условия пользователю предлагается возможность глобальной

замены идентификатора во всех местах его возможного использования.</p>

<p classMsoNormalCxSpMiddle«>Переименование параметра метода не приводит

к изменению имени этого параметра в комментариях, включая и описание метода

(созданное любым образом).</p>

<p classMsoNormalCxSpLast«>В случае переименования методов выполняется дополнительная

проверка передачи их имени в качестве строкового литерала:</p>

<p classMsoListBullet«>

в конструкторы объектов:</p>

<p classMsoListBullet2CxSpFirst«>

<span classTerm«>Действие</span>;</p>

<p classMsoListBullet2CxSpLast«>

<span classTerm«>ОписаниеОповещения</span>.</p>

<p classMsoListBullet«>

методы глобального контекста:</p>

<p classMsoListBullet2CxSpFirst«>

<span classTerm«>УстановитьДействие()</span>;</p>

<p classMsoListBullet2CxSpMiddle«>

<span classTerm«>ПодключитьОбработчикИзмененияДанных()</span>;</p>

<p classMsoListBullet2CxSpMiddle«>

<span classTerm«>ОтключитьОбработчикОжидания()</span>;</p>

<p classMsoListBullet2CxSpMiddle«>

<span classTerm«>ПодключитьОбработчикОжидания()</span>;</p>

<p classMsoListBullet2CxSpLast«>

<span classTerm«>ПодключитьОбработчикОповещения()</span>.</p>

<p classMsoNormal«>Переименование метода-обработчика в модуле

формы приводит к автоматически замене ссылки на переименуемый обработчик в

соответствующих свойствах элементов формы и командах. Когда выполняется

переименование метода-обработчика из палитры свойств элемента формы или команды –

автоматически переименовываются все вызовы данного обработчика из программного

кода (если таковые встречаются).</p>

<a idTI000001311» classbookmark» nameissogl4_27.2.1.7.4_создать_описание_метода«><h5>27.2.1.7.4. Создать описание метода</h5></a>

<p classMsoNormal«>Команда создает перед объявлением метода

комментарий, который будет использоваться для контекстной подсказки при вводе

текста модулей (см. <a href#_ref371695051«>здесь</a>).</p>

<a idTI000001339» classbookmark» nameissogl4_27.2.1.7.5_создать_обработку_оповещения«><h5>27.2.1.7.5. Создать обработку оповещения</h5></a>

<p classMsoNormal«>Данная команда предназначена для упрощения

применения асинхронных методов встроенного языка (см. <A href/db/content/v8310doc/src/руководство разработчика/глава 4. встроенный язык.htm?_=1496848987#_ref405477267«>здесь</a>). Команда становится доступной после того, как

введено имя метода и открывающая круглая скобка (курсор должен располагаться на

имени метода). Дальнейшее поведение команды эквивалентно поведению команды

рефакторинга <span classInterface«>Преобразовать вызов</span>, за исключением переименования

метода, к которому применена команда рефакторинга. Если метод уже содержит

передачу объекта типа <span classTerm«>ОписаниеОповещения</span>,

то перед продолжением работы пользователю предлагается подтвердить выполнение

команды.</p>

<a name_ref400540074«></a><a idTI000001320» classbookmark» nameissogl4_27.2.1.7.6_работа_с_нерекомендуемыми_синхронными_вызовами«><h5>27.2.1.7.6. Работа с нерекомендуемыми синхронными вызовами</h5></a>

<a idTI000001833» classbookmark» nameissogl5_общая_информация«><h6>Общая информация</h6></a>

<p classMsoNormal«>Данный раздел описывает команды

рефакторинга, которые помогают при переработке кода прикладного решения для

использования асинхронных вызовов взамен синхронных вызовов (см. <A href/db/content/v8310doc/src/руководство разработчика/глава 4. встроенный язык.htm?_=1496848987#_ref400551070«>здесь</a>).</p>

<a name_ref373246646«></a><a idTI000001312» classbookmark» nameissogl5_преобразовать_вызов«><h6>Преобразовать вызов</h6></a>

<p classMsoNormalCxSpFirst«>Команда

заменяет тривиальные и простые случаи использования синхронных методов на

их асинхронные аналоги (см. <A href/db/content/v8310doc/src/руководство разработчика/глава 4. встроенный язык.htm?_=1496848987#_ref400551070«>здесь</a>).</p>

<p classMsoNormalCxSpLast«><span classBold«>Тривиальным</span>

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

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

признаков, использование модального вызова считается тривиальным:</p>

<p classMsoListNumberCxSpFirst«>1.

Вызов расположен в процедуре, не вызываемой из

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

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

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

требовать преобразование в асинхронную процедуру (см. <a href#_ref373333924«>здесь</a>).</p>

<p classMsoListNumberCxSpMiddle«>2.

Вызов расположен вне блоков цикла, за

исключением случая инструкций <span classTerm«>Прервать</span>

или <span classTerm«>Возврат</span>,

следующих на том же уровне вложенности.</p>

<p classMsoListNumberCxSpMiddle«>3.

Вызов расположен вне блоков перехвата исключения.</p>

<p classMsoListNumberCxSpMiddle«>4.

Уровень вложенности модального вызова не превышает

2, за исключением рекурсивно-последних инструкций блока. Уровень вложенности

модального вызова можно уменьшить с помощью команды выделения фрагмента (см. <a href#_ref373334311«>здесь</a>). Если выделяемый фрагмент содержит оператор <span classTerm«>Возврат</span>,

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

фрагмента в асинхронную процедуру (см. <a href#_ref373334775«>здесь</a>).</p>

<p classMsoListNumberCxSpLast«>5.

Параметры процедуры не изменяются после вызова

модального диалога – ни в самой процедуре, ни в одном из вложенных вызовов.</p>

<p classMsoNormalCxSpFirst«><span classBold«>Простым</span> считается

случай, не удовлетворяющий только первому условию тривиальности и, требующий

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

вызов в асинхронный вид. При обнаружении такого синхронного вызова, и если

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

преобразование в асинхронную процедуру (см. <a href#_ref373334775«>здесь</a>).</p>

<p classMsoNormalCxSpLast«>Результатом преобразования являются:</p>

<p classMsoListBulletCxSpFirst«>

Исходная процедура с заменой синхронного вызова

на асинхронный вызов;</p>

<p classMsoListBulletCxSpMiddle«>

Процедура обработки оповещения. Если синхронный

вызов являлся последней инструкцией родительского блока – решение о

создании пустой процедуры принимает пользователь</p>

<p classMsoListBulletCxSpLast«>

Фрагмент-окончание – общий для исходной

процедуры и процедуры обработки оповещения код, в случае, когда вызов синхронного

метода не входит в единственную последовательность выполнения кода.</p>

<p classMsoNormal«>Если случай не соответствует одному или

нескольким требованиям, пользователю предоставляется возможность выполнить частичное

преобразование: максимальный синтаксически-корректный фрагмент кода будет

выделен в процедуру обработки оповещения, и после вызова асинхронного метода

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

причин несоответствия.</p>

<a name_ref373333924«></a><a idTI000001313» classbookmark» nameissogl5_преобразовать_в_асинхронную_процедуру«><h6>Преобразовать в асинхронную процедуру</h6></a>

<p classMsoNormalCxSpFirst«>Команда используется для преобразования метода к виду, который допускает

использование метода в асинхронных вызовах. Преобразование затрагивает все уже

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

однако методы, которые вызываются из преобразуемого метода, не подвергаются

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

необходимо преобразовать модальный вызовы (один или несколько) внутри функции

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

будет необходимо преобразовать модальный вызов в его блокирующий аналог с

помощью команды преобразования модального вызова (см. <a href#_ref373246646«>здесь</a>).</p>

<p classMsoNormalCxSpMiddle«>Преобразование

методов, изменяющих свои ссылочные параметры, не

поддерживается в целях предотвращения труднодиагностируемых логических ошибок.

Также не поддерживается преобразование

последовательностей вызовов, содержащих непосредственный вызов процедур

обработки событий форм и объектов метаданных в связи со строго фиксированным

списком их формальных параметров. Если преобразование затрагивает несколько

модулей – от пользователя требуется дополнительное подтверждение.</p>

<p classMsoNormalCxSpLast«>Рассмотрим пример преобразования вызова в

асинхронный вид.</p>

<p classNote«><span classNote«>Примечание.</span> Данный пример служит

исключительно для демонстрации процесса преобразования и не является примером

выполнения каких-либо действий.</p>

<p classMsoNormal«>Допустим, в модуле формы имеется следующая

цепочка вызовов:</p>

<a classcopy_source» href#_top» onClickreturn false«>Копировать в буфер обмена</a>

<pre classsrc_dev«><span classpreprocessor«>&amp;НаКлиенте</span>

<span classkeyword«>Перем</span> ПроцедураВыполнена<span classoperator«>;</span>

<span classpreprocessor«>&amp;НаКлиенте</span>

<span classkeyword«>Перем</span> ФункцияВыполнена<span classoperator«>;</span>

<span classpreprocessor«>&amp;НаКлиенте</span>

<span classkeyword«>Процедура</span> КомандаФормы<span classoperator«>(</span>Команда<span classoperator«>)</span>

ПроцедураВыполнена <span classoperator«>=</span> <span classkeyword«>Ложь</span><span classoperator«>;</span>

ФункцияВыполнена <span classoperator«>=</span> <span classkeyword«>Ложь</span><span classoperator«>;</span>

ВыполнитьПроцедуру<span classoperator«>(</span><span classoperator«>)</span><span classoperator«>;</span>

<span classkeyword«>КонецПроцедуры</span>

<span classpreprocessor«>&amp;НаКлиенте</span>

<span classkeyword«>Процедура</span> ВыполнитьПроцедуру<span classoperator«>(</span><span classoperator«>)</span>

Результат <span classoperator«>=</span> ВыполнитьФункцию<span classoperator«>(</span><span classoperator«>)</span><span classoperator«>;</span>

ПроцедураВыполнена <span classoperator«>=</span> <span classkeyword«>Истина</span><span classoperator«>;</span>

<span classkeyword«>КонецПроцедуры</span>

<span classpreprocessor«>&amp;НаКлиенте</span>

<span classkeyword«>Функция</span> ВыполнитьФункцию<span classoperator«>(</span><span classoperator«>)</span>

ПоказатьДиалог<span classoperator«>(</span><span classoperator«>)</span><span classoperator«>;</span>

ФункцияВыполнена <span classoperator«>=</span> <span classkeyword«>Истина</span><span classoperator«>;</span>

<span classkeyword«>Возврат</span> <span classkeyword«>Истина</span><span classoperator«>;</span>

<span classkeyword«>КонецФункции</span>

<span classpreprocessor«>&amp;НаКлиенте</span>

<span classkeyword«>Процедура</span> ПоказатьДиалог<span classoperator«>(</span><span classoperator«>)</span>

Предупреждение<span classoperator«>(</span><span classstring«>&quot;Предупреждение!&quot;</span><span classoperator«>)</span><span classoperator«>;</span>

<span classkeyword«>КонецПроцедуры</span> </pre>

<p classMsoNormalCxSpFirst«>Выполнять преобразование следует для метода <span classTerm«>ПоказатьДиалог()</span>.</p>

<p classMsoNormalCxSpMiddle«>Цепочка вызовов начинается при вызове из

обработчика команды формы (процедура <span classTerm«>КомандаФормы()</span>)

процедуры <span classTerm«>Процедура1()</span>.

Действия, выполняемые в методах <span classTerm«>ВыполнитьПроцедуру()</span>

и <span classTerm«>ВыполнитьФункцию()</span>

в данном примере являются демонстрацией наличия некоторого программного кода

после вызова другой процедуры.</p>

<p classMsoNormalCxSpMiddle«>Цепочка вызовов выглядит следующим образом: <span classTerm«>КомандаФормы()</span>

-&gt; <span classTerm«>ВыполнитьПроцедуру()</span>

-&gt; <span classTerm«>ВыполнитьФункцию()</span>

-&gt; <span classTerm«>ПоказатьДиалог()</span>.</p>

<p classMsoNormalCxSpMiddle«>Т.к. в самом «низу» стека вызовов вызывается

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

асинхронному виду. Метод <span classTerm«>Предупреждение()</span>

может быть заменен на асинхронный аналог, для других процедур этот аналог будет

создаваться системой.</p>

<p classMsoNormalCxSpLast«>Выполним преобразование метода <span classTerm«>ПоказатьДиалог()</span>

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

результате получится следующий программный код:</p>

<a classcopy_source» href#_top» onClickreturn false«>Копировать в буфер обмена</a>

<pre classsrc_dev«><span classpreprocessor«>&amp;НаКлиенте</span>

<span classkeyword«>Перем</span> ПроцедураВыполнена<span classoperator«>;</span>

<span classpreprocessor«>&amp;НаКлиенте</span>

<span classkeyword«>Перем</span> ФункцияВыполнена<span classoperator«>;</span>

<span classpreprocessor«>&amp;НаКлиенте</span>

<span classkeyword«>Процедура</span> КомандаФормы<span classoperator«>(</span>Команда<span classoperator«>)</span>

ПроцедураВыполнена <span classoperator«>=</span> <span classkeyword«>Ложь</span><span classoperator«>;</span>

ФункцияВыполнена <span classoperator«>=</span> <span classkeyword«>Ложь</span><span classoperator«>;</span>

ВыполнитьПроцедуру<span classoperator«>(</span><span classkeyword«>Неопределено</span><span classoperator«>)</span><span classoperator«>;</span>

<span classkeyword«>КонецПроцедуры</span>

<span classpreprocessor«>&amp;НаКлиенте</span>

<span classkeyword«>Процедура</span> ВыполнитьПроцедуру<span classoperator«>(</span><span classkeyword«>Знач</span> Оповещение<span classoperator«>)</span>

Результат <span classoperator«>=</span> <span classkeyword«>Неопределено</span><span classoperator«>;</span>

ВыполнитьФункцию<span classoperator«>(</span><span classkeyword«>Новый</span> ОписаниеОповещения<span classoperator«>(</span><span classstring«>&quot;ВыполнитьПроцедуруЗавершение&quot;</span><span classoperator«>,</span> ЭтотОбъект<span classoperator«>,</span> <span classkeyword«>Новый</span> Структура<span classoperator«>(</span><span classstring«>&quot;Оповещение&quot;</span><span classoperator«>,</span> Оповещение<span classoperator«>)</span><span classoperator«>)</span><span classoperator«>)</span><span classoperator«>;</span>

<span classkeyword«>КонецПроцедуры</span>

<span classpreprocessor«>&amp;НаКлиенте</span>

<span classkeyword«>Процедура</span> ВыполнитьПроцедуруЗавершение<span classoperator«>(</span>Результат1<span classoperator«>,</span> ДополнительныеПараметры<span classoperator«>)</span> <span classkeyword«>Экспорт</span>

Оповещение <span classoperator«>=</span> ДополнительныеПараметры<span classoperator«>.</span>Оповещение<span classoperator«>;</span>

Результат <span classoperator«>=</span> Результат1<span classoperator«>;</span>

ПроцедураВыполнена <span classoperator«>=</span> <span classkeyword«>Истина</span><span classoperator«>;</span>

ВыполнитьОбработкуОповещения<span classoperator«>(</span>Оповещение<span classoperator«>)</span><span classoperator«>;</span>

<span classkeyword«>КонецПроцедуры</span>

<span classpreprocessor«>&amp;НаКлиенте</span>

<span classkeyword«>Процедура</span> ВыполнитьФункцию<span classoperator«>(</span><span classkeyword«>Знач</span> Оповещение<span classoperator«>)</span>

ПоказатьДиалог<span classoperator«>(</span><span classkeyword«>Новый</span> ОписаниеОповещения<span classoperator«>(</span><span classstring«>&quot;ВыполнитьФункциюЗавершение&quot;</span><span classoperator«>,</span> ЭтотОбъект<span classoperator«>,</span> <span classkeyword«>Новый</span> Структура<span classoperator«>(</span><span classstring«>&quot;Оповещение&quot;</span><span classoperator«>,</span> Оповещение<span classoperator«>)</span><span classoperator«>)</span><span classoperator«>)</span><span classoperator«>;</span>

<span classkeyword«>КонецПроцедуры</span>

<span classpreprocessor«>&amp;НаКлиенте</span>

<span classkeyword«>Процедура</span> ВыполнитьФункциюЗавершение<span classoperator«>(</span>Результат<span classoperator«>,</span> ДополнительныеПараметры<span classoperator«>)</span> <span classkeyword«>Экспорт</span>

Оповещение <span classoperator«>=</span> ДополнительныеПараметры<span classoperator«>.</span>Оповещение<span classoperator«>;</span>

ФункцияВыполнена <span classoperator«>=</span> <span classkeyword«>Истина</span><span classoperator«>;</span>

ВыполнитьОбработкуОповещения<span classoperator«>(</span>Оповещение<span classoperator«>,</span> <span classkeyword«>Истина</span><span classoperator«>)</span><span classoperator«>;</span>

<span classkeyword«>Возврат</span><span classoperator«>;</span>

<span classkeyword«>КонецПроцедуры</span>

<span classpreprocessor«>&amp;НаКлиенте</span>

<span classkeyword«>Процедура</span> ПоказатьДиалог<span classoperator«>(</span><span classkeyword«>Знач</span> Оповещение<span classoperator«>)</span>

Предупреждение<span classoperator«>(</span><span classstring«>&quot;Предупреждение!&quot;</span><span classoperator«>)</span><span classoperator«>;</span>

ВыполнитьОбработкуОповещения<span classoperator«>(</span>Оповещение<span classoperator«>)</span><span classoperator«>;</span>

<span classkeyword«>КонецПроцедуры</span> </pre>

<p classMsoNormal«>Во время преобразования не был изменен вызов

модального вызова <span classTerm«>Предупреждение()</span>

в методе <span classTerm«>ПоказатьДиалог()</span>, т. к.

замена модального вызова не является задачей описываемой команды. Также стоит

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

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

образом: <span classTerm«>КомандаФормы()</span>

-&gt; <span classTerm«>ВыполнитьПроцедуру()</span>

-&gt; <span classTerm«>ВыполнитьФункцию()</span>

-&gt; <span classTerm«>ПоказатьДиалог()</span>

-&gt; <span classTerm«>ВыполнитьФункциюЗавершение()</span>

-&gt; <span classTerm«>ВыполнитьПроцедуруЗавершение()</span>.

Вызов методов с суффиксом <span classTerm«>Завершение</span>

выполняется с помощью передачи оповещений.</p>

<a name_ref373334775«></a><a idTI000001314» classbookmark» nameissogl5_выделить_в_асинхронную_процедуру«><h6>Выделить в асинхронную процедуру</h6></a>

<p classMsoNormal«>Данная

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

отдельную процедуру или функцию, одновременно преобразуя выделяемый метод к

асинхронному виду.</p>

<a idTI000001317» classbookmark» nameissogl5_найти_вызовы_модуля«><h6>Найти вызовы модуля</h6></a>

<p classMsoNormal«>Команда выводит список использования нерекомендуемых

синхронных методов в текущем модуле.</p>

<a idTI000001315» classbookmark» nameissogl5_преобразовать_вызовы_модуля«><h6>Преобразовать вызовы модуля</h6></a>

<p classMsoNormal«>Команда выполняет преобразование всех

тривиальных (см. <a href#_ref373246646«>здесь</a>) случаев использования нерекомендуемых синхронных

вызовов в их асинхронные версии (см. <A href/db/content/v8310doc/src/руководство разработчика/глава 7. формы.htm?_=1496848987#_ref373246737«>здесь</a>). Преобразование выполняется в рамках текущего

модуля.</p>

<a name_ref448859736«></a><a idTI000001319» classbookmark» nameissogl5__анализ_нерекомендуемых_синхронных_вызовов_конфигурации«><h6> Анализ нерекомендуемых синхронных вызовов конфигурации</h6></a>

<p classMsoNormalCxSpFirst«>С помощью данной команды (<span classInterface«>Главное меню – Конфигурация – Рефакторинг – Анализ

нерекомендуемых синхронных вызовов конфигурации</span>) во всей конфигурации

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

Если в каком-то случае преобразование будет невозможно – система укажет

причину этой невозможности.</p>

<p classMsoNormalCxSpLast«>Во

время выполнения анализа нерекомендуемых синхронных вызовов, учитываются

следующие особенности прикладного решения:</p>

<p classMsoListBulletCxSpFirst«>

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

исполняться на стороне клиентского приложения.</p>

<p classMsoListBulletCxSpLast«>

Не выполняется анализ модулей, которые не могут

исполняться на стороне клиентского приложения:</p>

<p classMsoListBullet2CxSpFirst«>

модули Web-сервисов;</p>

<p classMsoListBullet2CxSpMiddle«>

модули HTTP-сервисов;</p>

<p classMsoListBullet2CxSpMiddle«>

общие модули, которые могут исполняться только

на стороне сервера;</p>

<p classMsoListBullet2CxSpLast«>

общие модули, которые могут исполняться только

во внешнем соединении.</p>

<p classMsoListBullet«>

Выполняется анализ процедур и функций, которые

предваряются следующими директивами компиляции (см. <A href/db/content/v8310doc/src/руководство разработчика/глава 4. встроенный язык.htm?_=1496848987#_ref371693648«>здесь</a>):</p>

<p classMsoListBullet2CxSpFirst«>

<span classTerm«>&amp;НаКлиенте</span>;</p>

<p classMsoListBullet2CxSpMiddle«>

<span classTerm«>&amp;НаКлиентеНаСервере</span>;</p>

<p classMsoListBullet2CxSpLast«>

<span classTerm«>&amp;НаКлиентеНаСервереБезКонтекста</span>.</p>

<p classMsoListBullet«>

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

функций, которые обрамлены инструкциями препроцессора (см. <A href/db/content/v8310doc/src/руководство разработчика/глава 4. встроенный язык.htm?_=1496848987#_ref448859501«>здесь</a>):</p>

<p classMsoListBullet2CxSpFirst«>

<span classTerm«>Клиент</span>;</p>

<p classMsoListBullet2CxSpMiddle«>

<span classTerm«>ТонкийКлиент</span>;</p>

<p classMsoListBullet2CxSpMiddle«>

<span classTerm«>ВебКлиент</span>;</p>

<p classMsoListBullet2CxSpMiddle«>

<span classTerm«>ТолстыйКлиентУправляемоеПриложение</span>;</p>

<p classMsoListBullet2CxSpLast«>

<span classTerm«>ТолстыйКлиентОбычноеПриложение</span>.</p>

<p classMsoNormalCxSpFirst«>Флажок <span classInterface«>Отображать методы объектов неопределенного типа</span>

указывает системе, что следует включать в результат поиска методы, которые

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

вызываются.</p>

<p classMsoNormalCxSpLast«>Если в диалоге настройки поиска выбран флажок

<span classInterface«>Производить преобразование найденных вызовов</span>, то

выполняется преобразование только тривиальных (см. <a href#_ref373246646«>здесь</a>) случаев использования синхронных вызовов с выводом

результатов операции.</p>

<a idTI000000943» classbookmark» nameissogl3_27.2.1.8_синтаксический_контроль_модуля«><h4>27.2.1.8. Синтаксический контроль модуля</h4></a>

<p classMsoNormalCxSpFirst«>Редактируемый модуль может быть проверен на

правильность использования синтаксических конструкций встроенного языка.</p>

<p classMsoNormalCxSpMiddle«>Для выполнения синтаксического контроля

модуля необходимо воспользоваться пунктом <span classInterface«>Текст – Проверка модуля</span>.</p>

<p classMsoNormalCxSpLast«>Синтаксический контроль выполняется в

следующей последовательности:</p>

<p classMsoListBulletCxSpFirst«>

общие модули,</p>

<p classMsoListBulletCxSpMiddle«>

модуль управляемого приложения,</p>

<p classMsoListBulletCxSpMiddle«>

модуль объекта,</p>

<p classMsoListBulletCxSpLast«>

модуль формы.</p>

<p classMsoNormalCxSpFirst«>При этом контроль модулей выполняется, если

модуль еще не проходил контроля или был модифицирован.</p>

<p classMsoNormalCxSpMiddle«>При контроле модуля проверяются только те

модули, которые в списке расположены до данного модуля. Например, при проверке

модуля приложения проверяются только общие модули. Модуль внешнего соединения

проверяется только при его редактировании.</p>

<p classMsoNormalCxSpMiddle«>При наличии ошибок их список будет выдан в

окне сообщений с указанием полного адреса месторасположения и описания ошибки.

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

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

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

ошибку, закрыт, он будет открыт автоматически.</p>

<p classMsoNormalCxSpMiddle«>Если ошибки не обнаружены, в окно сообщений

будет выдано сообщение об отсутствии ошибок в модуле.</p>

<p classMsoNormalCxSpMiddle«>В режиме настройки параметров конфигуратора

(пункт главного меню <span classInterface«>Сервис – Параметры</span>, закладка <span classInterface«>Модули</span>, закладка <span classInterface«>Проверка</span>, реквизит <span classInterface«>Проверять автоматически</span>) можно включить режим автоматической

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

модуля или при сохранении конфигурации в целом будет выполняться синтаксический

контроль модуля.</p>

<p classMsoNormalCxSpMiddle«>Режим автоматической проверки удобно

использовать, когда производится отладка какого-либо элемента конфигурации.</p>

<p classMsoNormalCxSpMiddle«>Для полного синтаксического контроля всех

модулей конфигурации за один проход следует выбрать пункт <span classInterface«>Конфигурация – Синтаксический контроль модулей</span>.</p>

<p classMsoNormalCxSpMiddle«>В процессе исправления ошибок в модулях

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

в нем описание нужного элемента встроенного языка (см. <A href/db/content/v8310doc/src/руководство разработчика/глава 33. сервисные возможности.htm?_=1496848987#_ref223167849«>здесь</a>).</p>

<p classMsoNormalCxSpLast«>Подсказку по конкретному элементу языка

(оператору, процедуре, функции, свойству, методу) можно получить, если

поместить курсор в модуле на этот элемент языка и нажать клавиши <span classInterface«>Ctrl + F1</span>. В синтакс-помощнике будет выдано

описание выбранного элемента встроенного языка.</p>

<a name_ref216238506«></a><a idTI000000944» classbookmark» nameissogl3_27.2.1.9_ограничение_доступа_к_модулям_конфигурации«><h4>27.2.1.9. Ограничение доступа к модулям конфигурации</h4></a>

<p classMsoNormalCxSpFirst«>Для некоторых модулей можно установить

пароль доступа. Основное назначение пароля – защита авторских прав разработчиков

конфигураций.</p>

<p classMsoNormalCxSpLast«>При установке пароля существуют следующие ограничения:</p>

<p classMsoListBulletCxSpFirst«>

не защищается модуль управляемого приложения;</p>

<p classMsoListBulletCxSpMiddle«>

не защищаются модули форм;</p>

<p classMsoListBulletCxSpMiddle«>

не защищаются модули команд;</p>

<p classMsoListBulletCxSpMiddle«>

не защищаются модули, включающие директивы

препроцессора;</p>

<p classMsoListBulletCxSpLast«>

не защищаются клиентские общие модули,

работающие в управляемом режиме (тонкий клиент, веб-клиент и управляемый режим

толстого клиента).</p>

<a name_ref216063996«></a><a idTI000000945» classbookmark» nameissogl4_27.2.1.9.1_установка_пароля_доступа«><h5>27.2.1.9.1. Установка пароля доступа</h5></a>

<p classMsoNormalCxSpFirst«>Для установки пароля нужно открыть требуемый

модуль и выбрать команду <span classInterface«>Текст – Установить пароль</span>. Пункт доступен, если

модуль открыт для записи.</p>

<p classMsoNormalCxSpLast«>Если модуль содержит директивы препроцессору,

то программа выводит предупреждение: <span classInterface«>Защищенный модуль не должен содержать директив препроцессора.

Продолжить?</span> Если нажать кнопку <span classInterface«>Нет</span>, то попытка установки пароля не производится. Если

нажать кнопку <span classInterface«>Да</span>, то установка пароля становится возможной, и подразумевается,

что в дальнейшем директивы будут удалены. Если директивы не удалить, то в

режиме 1С:Предприятие методы такого общего модуля будут недоступны (ошибка <span classInterface«>Метод объекта не обнаружен &lt;Имя метода&gt;</span>).</p>

<p classRegularbeforepicture«>На экран выводится диалог ввода пароля.</p>

<p classPicture«><IMG src_img/img00505.gif?_=1496848987» WIDTH277» ALT HEIGHT110«></p>

<p classMsoCaption«>Рис. 497. Установка пароля на

модуль</p>

<p classMsoNormal«>Нужно ввести пароль и повторить его. Для

установки пароля нажать кнопку <span classInterface«>ОК</span>, для отказа от установки – кнопку <span classInterface«>Отмена</span>.</p>

<a idTI000000946» classbookmark» nameissogl4_27.2.1.9.2_открытие_защищенного_модуля«><h5>27.2.1.9.2. Открытие защищенного модуля</h5></a>

<p classRegularbeforepicture«>Если на модуль установлен пароль доступа, то

при попытке открыть модуль выводится диалог ввода пароля.</p>

<p classPicture«><IMG src_img/img00506.gif?_=1496848987» WIDTH346» ALT HEIGHT139«></p>

<p classMsoCaption«>Рис. 498. Открытие модуля с

установленным паролем</p>

<p classMsoNormal«>Если пароль указан верно, то модуль

открывается. Если введен неправильный пароль, то выводится предупреждение <span classInterface«>Некорректный пароль</span> и модуль не открывается.</p>

<a idTI000000947» classbookmark» nameissogl4_27.2.1.9.3_смена_пароля«><h5>27.2.1.9.3. Смена пароля</h5></a>

<p classMsoNormalCxSpFirst«>Для смены пароля нужно открыть модуль и выбрать

команду <span classInterface«>Текст – Установить пароль</span>. На экран выводится

диалог ввода пароля. Следует ввести прежний пароль. Если пароль введен

правильно, то на экран выводится диалог ввода нового пароля (см. <a href#_ref216063996«>здесь</a>).</p>

<p classMsoNormalCxSpLast«>Для снятия пароля нужно очистить поля для

ввода пароля и, не вводя значения пароля, нажать кнопку <span classInterface«>ОК</span>.</p>

<a name_ref219791978«></a><a name_ref216075442«></a><a idTI000000948» classbookmark» nameissogl2_27.2.2_редактирование_текстовых_макетов«><h3>27.2.2. Редактирование текстовых макетов</h3></a>

<p classMsoNormalCxSpFirst«>Если в конструкторе макетов в качестве типа

макета выбран <span classInterface«>Текстовый документ</span>, то открывается текстовый редактор в

режиме ввода текстового макета.</p>

<p classMsoNormalCxSpLast«>Режим редактирования текстового макета также

доступен для текстовых документов с установленным расширением <span classInterface«>Текстовый макет</span>.</p>

<a idTI000000949» classbookmark» nameissogl3_27.2.2.1_формат_текстового_макета«><h4>27.2.2.1. Формат текстового макета</h4></a>

<p classMsoNormal«>Весь текст макета делится на области.

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

друг в друга. В тексте макета области выделяются следующим образом:</p>

<a classcopy_source» href#_top» onClickreturn false«>Копировать в буфер обмена</a>

<pre classsrc_dev«><span classpreprocessor«>#Область ХХХХХ</span>

<span classpreprocessor«>#КонецОбласти</span></pre>

<p classMsoNormalCxSpFirst«>Где <span classTerm«>ХХХХХ</span>

имя области.</p>

<p classMsoNormalCxSpMiddle«>Конец области указывать не обязательно.

Объявление начала области означает окончание предыдущей области.</p>

<p classMsoNormalCxSpLast«>Для хранения вариантов области на нескольких

языках после имени области может следовать код языка, для которого написана

область.</p>

<a classcopy_source» href#_top» onClickreturn false«>Копировать в буфер обмена</a>

<pre classsrc_dev«><span classpreprocessor«>#Область Заголовок1 RU</span>

<span classpreprocessor«>#КонецОбласти</span>

<span classpreprocessor«>#Область Заголовок1 EN</span>

<span classpreprocessor«>#КонецОбласти</span></pre>

<p classMsoNormalCxSpFirst«>Если для какого-либо варианта области код

языка не указан, то этот вариант области будет возвращаться, когда в метод <span classTerm«>ПолучитьОбласть()</span>

передан код языка, не указанный ни в одном из вариантов описаний областей.</p>

<p classMsoNormalCxSpLast«>Каждая область состоит из служебной и

текстовой частей.</p>

<a classcopy_source» href#_top» onClickreturn false«>Копировать в буфер обмена</a>

<pre classsrc_dev«><span classpreprocessor«>#Область ХХХХХ</span>

<span classoperator«>[</span>служебная часть<span classoperator«>]</span>

<span classoperator«>[</span>текстовая часть<span classoperator«>]</span>

<span classpreprocessor«>#КонецОбласти</span></pre>

<a idTI000000950» classbookmark» nameissogl3_27.2.2.2_служебная_часть_области«><h4>27.2.2.2. Служебная часть области</h4></a>

<p classMsoNormalCxSpFirst«>Служебная часть области не имеет явных

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

символом «<span classTerm«>#</span>».

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

области. Если нет надобности в служебной части, она может отсутствовать.</p>

<p classMsoNormalCxSpLast«>Управляющие конструкции текстового макета

выделяются цветом.</p>

<a idTI000000951» classbookmark» nameissogl4_27.2.2.2.1_структура_служебной_части_области«><h5>27.2.2.2.1. Структура служебной части области</h5></a>

<p classMsoNormalCxSpFirst«>Служебная часть области состоит из описаний

некоторых общих параметров области и описаний форматов полей, входящих в

область. Все описания, сделанные в служебной части области, действуют только в

пределах области. Если в некоторой области описан формат поля и оно же

встречается в другой области без описания формата, для него в другой области

будет использоваться формат по умолчанию.</p>

<p classMsoNormalCxSpLast«>В начале служебной части области может

следовать ключевое слово общей области <span classTerm«>#ЗаменаСимвола

A B</span>. С его помощью будет производиться замена символов внутри

строк области;</p>

<p classMsoListBulletCxSpFirst«>

<span classTerm«>A</span> – символ, который будет заменен;</p>

<p classMsoListBulletCxSpLast«>

<span classTerm«>B</span> – символ, которым будет заменен символ <span classTerm«>A</span>.</p>

<p classMsoNormalCxSpFirst«>Символы должны быть заключены в одинарные

кавычки.</p>

<p classMsoNormalCxSpMiddle«>Например, если написать <span classTerm«>#ЗаменаСимвола

&quot;@&quot; &quot;#&quot;</span>, то внутри строк символы «<span classTerm«>@</span>»,

не входящие в названия полей, будут заменены на «<span classTerm«>#</span>».</p>

<p classMsoNormalCxSpLast«>Имеет смысл использовать данное ключевое

слово в тех случаях, когда в оформление строк макета должен входить символ #

(его непосредственное использование указывало бы на служебный характер текста).</p>

<a idTI000000952» classbookmark» nameissogl4_27.2.2.2.2_описания_полей«><h5>27.2.2.2.2. Описания полей</h5></a>

<p classMsoNormalCxSpFirst«>После описания замены следует описание

форматов полей, используемых в области.</p>

<p classMsoNormalCxSpMiddle«>Поле создается с помощью ключевого слова <span classTerm«>#Поле ПППП</span>,

где <span classTerm«>ПППП</span>

имя поля, формат которого будет описываться.</p>

<p classMsoNormalCxSpMiddle«>Далее на следующих строках размещаются

ключевые слова для описания поля. Описание поля действует до начала описания

следующего поля.</p>

<p classMsoNormalCxSpLast«><span classTerm«>#Выравнивание {Лево | Право | Центр | ПоШирине}</span>

указывает выравнивание поля в пределах отведенных для него знакомест.</p>

<a classcopy_source» href#_top» onClickreturn false«>Копировать в буфер обмена</a>

<pre classsrc_dev«><span classpreprocessor«>#Поле ВидРаботы</span>

<span classpreprocessor«>#Выравнивание ПоШирине</span></pre>

<p classMsoNormal«><span classTerm«>#Формат &lt;Форматная строка&gt;</span> – указывает

форматную строку для вывода поля.</p>

<a classcopy_source» href#_top» onClickreturn false«>Копировать в буфер обмена</a>

<pre classsrc_dev«><span classpreprocessor«>#Поле Дата1</span>

<span classpreprocessor«>#Формат &quot;ДФ=dd.MM.yy&quot;</span>

<span classpreprocessor«>#Поле Вр1</span>

<span classpreprocessor«>#Формат &quot;ЧЦ=4; ЧДЦ=0; ЧРД=.&quot;</span></pre>

<p classMsoNormal«><span classTerm«>#Забивать &lt;Параметр&gt;</span> – указывает

необходимость забивки области, отведенной для поля, символами «<span classTerm«>#</span>».

Если <span classTerm«>&lt;Параметр&gt;

= Истина</span> и содержимое поля не помещается в отведенное место,

будет выполняться забивка.</p>

<a classcopy_source» href#_top» onClickreturn false«>Копировать в буфер обмена</a>

<pre classsrc_dev«><span classpreprocessor«>#Поле ИтогОтчета</span>

<span classpreprocessor«>#Формат &quot;ЧЦ=18; ЧДЦ=2; ЧРД=.&quot;</span>

<span classpreprocessor«>#Забивать Истина</span></pre>

<a idTI000000953» classbookmark» nameissogl3_27.2.2.3_текстовая_часть_области«><h4>27.2.2.3. Текстовая часть области</h4></a>

<p classMsoNormalCxSpFirst«>Текстовая часть области состоит собственно

из строк текстового макета. Она начинается после последней строки, принадлежащей

служебной части области, и продолжается до конца области. Внутри строк

текстового макета можно указать имя поля: <span classTerm«>[ПППП]</span>.</p>

<p classMsoNormalCxSpLast«>Количество знакомест, отводимых под поле,

соответствует количеству знакомест, указанных скобками (включая скобки). Если

размер поля составляет один символ, допускается использование одной скобки.

Например:</p>

<a classcopy_source» href#_top» onClickreturn false«>Копировать в буфер обмена</a>

<pre classsrc_dev«><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span>

!<span classoperator«>[</span>Имя <span classoperator«>]</span>! <span classoperator«>[</span>Код <span classoperator«>]</span>! <span classoperator«>[</span>Наименование <span classoperator«>]</span> !

<span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span></pre>

<p classMsoNormalCxSpFirst«>Если имя поля прижато к левой скобке,

считается, что поле имеет левое выравнивание, а если к правой скобке, то правое

выравнивание. Если пробелы есть слева и справа от имени поля, оно будет

центрироваться в пределах отведенных под него знакомест.</p>

<p classMsoNormalCxSpLast«>Если имя поля больше, чем количество

знакомест, отводимых под поле, имя поля указывается с помощью ключевого слова <span classTerm«>Поля</span>.</p>

<p classLang-subheader«>Пример:</p>

<a classcopy_source» href#_top» onClickreturn false«>Копировать в буфер обмена</a>

<pre classsrc_dev«><span classpreprocessor«>#Поле Номер</span>

<span classpreprocessor«> #Формат &quot;ЧЦ=3; ЧДЦ=0&quot;</span>

<span classpreprocessor«>#Поле Код</span>

<span classpreprocessor«> #Формат &quot;ЧЦ=5; ЧДЦ=0&quot;</span>

<span classpreprocessor«>#Поле Пометка</span>

<span classpreprocessor«> #Формат &quot;ЧЦ=1&quot;</span>

<span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span>

!<span classoperator«>[</span> <span classoperator«>]</span>! <span classoperator«>[</span> Код<span classoperator«>]</span>!<span classoperator«>[</span> Наименование <span classoperator«>]</span>! <span classoperator«>[</span>! #Поля Номер Пометка

<span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span></pre>

<p classMsoNormal«>Параметры в ключевом слове <span classTerm«>Поля</span>

указываются только для тех полей, имена которых не указаны в теле макета в скобках.</p>

<a idTI000000954» classbookmark» nameissogl4_27.2.2.3.1_автоматический_перенос«><h5>27.2.2.3.1. Автоматический перенос</h5></a>

<p classMsoNormal«>Если текст не умещается в отведенный размер

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

на новую строку. Для этого предлагается использовать указание расположения поля

в макете в фигурных и угловых скобках:</p>

<p classMsoListBulletCxSpFirst«>

<span classTerm«>{ПППП}</span> – область поля ограничена фигурными

скобками. Они показывают, что автоперенос текста, хранящегося в поле <span classTerm«>ПППП</span>,

возможен на эту строку, и указывают область для не поместившегося ранее в поле <span classTerm«>ПППП</span>

текста. При этом, даже если в строке нет необходимости выводить ни одно из

полей, строка все равно будет выведена.</p>

<p classMsoListBulletCxSpLast«>

<span classTerm«>&lt;ПППП&gt;</span> – область поля ограничена

угловыми скобками. Они показывают, что автоперенос текста, хранящегося в поле <span classTerm«>ПППП</span>,

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

поле <span classTerm«>ПППП</span>

текста. При этом, если все поля, имеющиеся в строке, указаны в угловых скобках,

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

Если при выводе текста из поля в строку, в которой поле размещено в угловых

скобках, текст все равно не уместится, такая строка будет размножена до тех

пор, пока не удастся вывести весь текст из поля.</p>

<p classLang-subheader«>Пример:</p>

<a classcopy_source» href#_top» onClickreturn false«>Копировать в буфер обмена</a>

<pre classsrc_dev«><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span>

!<span classoperator«>[</span> YY<span classoperator«>]</span>! <span classoperator«>[</span>XX <span classoperator«>]</span>!<span classoperator«>[</span> ZZ<span classoperator«>]</span>!

! ! {XX }! !

! ! <span classoperator«>&lt;</span>XX <span classoperator«>&gt;</span>! !

<span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span></pre>

<p classMsoNormal«>В этом примере указывается, что поле <span classTerm«>XX</span>

размещается на первой строке. На второй строке размещается та часть поля <span classTerm«>XX</span>,

которая не поместилась на первой строке. На третьей строке размещается часть

поля <span classTerm«>ХХ</span>,

которая не поместилась ни на первой, ни на второй строке. При этом если в поле <span classTerm«>ХХ</span>

для третьей строки текста не осталось, она совсем не выводится, а если

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

текст из поля <span classTerm«>XX</span>.</p>

<a idTI000000955» classbookmark» nameissogl3_27.2.2.4_описание_ключевых_слов_текстового_макета«><h4>27.2.2.4. Описание ключевых слов текстового макета</h4></a>

<p classLang«>Область (Area)</p>

<p classLang-subheader«>Описание:</p>

<p classMsoNormal«>Указывается начало области макета, а если

предшествующая область не закончена, то конец предшествующей.</p>

<p classLang-subheader«>Синтаксис:</p>

<p classMsoNormal«><span classTerm«>#Область &lt;Имя области&gt; &lt;Код языка&gt;</span></p>

<p classLang-subheader«>Параметры:</p>

<p classLang-parameter«>&lt;Имя области&gt; Обязательный</p>

<p classMsoNormal«>Указывается имя области, по которому

производится ее получение методом <span classTerm«>ПолучитьОбласть()</span>

текстового документа.</p>

<p classLang-parameter«>&lt;Код языка&gt; Необязательный</p>

<p classMsoNormal«>Указывается код языка области. Если

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

макете можно указать несколько областей с одинаковыми именами, но тогда каждая

область должна содержать код языка. Если код языка не указан, то такая область

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

отсутствующим в описании областей.</p>

<p classLang«>КонецОбласти (EndOfArea)</p>

<p classLang-subheader«>Описание:</p>

<p classMsoNormal«>Указывается явный конец области макета.</p>

<p classLang-subheader«>Синтаксис:</p>

<p classMsoNormal«><span classTerm«>#КонецОбласти</span></p>

<p classLang«>ЗаменаСимвола (ReplaceChar)</p>

<p classLang-subheader«>Описание:</p>

<p classMsoNormal«>С помощью данного ключевого слова будет

производиться замена символов внутри строк области.</p>

<p classLang-subheader«>Синтаксис:</p>

<p classMsoNormal«><span classTerm«>#ЗаменаСимвола &lt;Заменяемый символ&gt; &lt;Символ

замены&gt;</span></p>

<p classLang-subheader«>Параметры:</p>

<p classLang-parameter«>&lt;Заменяемый символ&gt; Обязательный</p>

<p classMsoNormal«>В одинарных кавычках указывается символ,

который будет заменен.</p>

<p classLang-parameter«>&lt;Символ замены&gt; Обязательный</p>

<p classMsoNormal«>Указывается символ, на который будет заменен

<span classTerm«>&lt;Заменяемый

символ&gt;</span>.</p>

<p classLang«>Поле (Field)</p>

<p classLang-subheader«>Описание:</p>

<p classMsoNormal«>Указывается поле, для которого необходимо

указать ключевые слова форматирования.</p>

<p classLang-subheader«>Синтаксис:</p>

<p classMsoNormal«><span classTerm«>#Поле &lt;Имя поля&gt;</span></p>

<p classLang-subheader«>Параметры:</p>

<p classLang-parameter«>&lt;Имя поля&gt; Обязательный</p>

<p classMsoNormal«>Имя поля.</p>

<p classLang«>Выравнивание (Align)</p>

<p classLang-subheader«>Описание:</p>

<p classMsoNormal«>Указывается выравнивание при выводе содержимого

поля.</p>

<p classLang-subheader«>Синтаксис:</p>

<p classMsoNormal«><span classTerm«>#Выравнивание &lt;Параметр выравнивания&gt;</span></p>

<p classLang-subheader«>Параметры:</p>

<p classLang-parameter«>&lt;Параметр выравнивания&gt; Обязательный</p>

<p classMsoNormal«>Значение выравнивания поля. Может принимать

следующие значения:</p>

<p classMsoListBulletCxSpFirst«>

<span classTerm«>Лево</span> (<span classTerm«>Left</span>),</p>

<p classMsoListBulletCxSpMiddle«>

<span classTerm«>Право</span> (<span classTerm«>Right</span>),</p>

<p classMsoListBulletCxSpMiddle«>

<span classTerm«>Центр</span> (<span classTerm«>Center</span>),</p>

<p classMsoListBulletCxSpLast«>

<span classTerm«>ПоШирине</span> (<span classTerm«>Justify</span>).</p>

<p classLang«>Формат (Format)</p>

<p classLang-subheader«>Описание:</p>

<p classMsoNormal«>Указывается формат вывода поля.</p>

<p classLang-subheader«>Синтаксис:</p>

<p classMsoNormal«><span classTerm«>#Формат &lt;Форматная строка&gt;</span></p>

<p classLang-subheader«>Параметры:</p>

<p classLang-parameter«>&lt;Форматная строка&gt; Обязательный</p>

<p classMsoNormal«>Определяет формат представления значения поля.</p>

<p classLang-subheader«>Пример:</p>

<a classcopy_source» href#_top» onClickreturn false«>Копировать в буфер обмена</a>

<pre classsrc_dev«><span classstring«>&quot;ДФ=dd.MM.yy&quot;</span></pre>

<p classLang«>Забивать (Block)</p>

<p classLang-subheader«>Описание:</p>

<p classMsoNormal«>Если значение параметра <span classTerm«>Истина</span>,

то устанавливается забивка, при которой в поле, значение которого не помещается

в отведенное место, выводится символ «<span classTerm«>#</span>»

во всем отведенном месте.</p>

<p classLang-subheader«>Синтаксис:</p>

<p classMsoNormal«><span classTerm«>#Забивать &lt;Параметр&gt;</span></p>

<p classLang-subheader«>Параметры:</p>

<p classLang-parameter«>&lt;Параметр&gt; Необязательный</p>

<p classMsoNormal«>Определяет необходимость забивки поля. Может

принимать значения:</p>

<p classMsoListBulletCxSpFirst«>

<span classTerm«>Истина</span> (<span classTerm«>True</span>),</p>

<p classMsoListBulletCxSpLast«>

<span classTerm«>Ложь</span> (<span classTerm«>False</span>).</p>

<p classLang«>Поля (Fields)</p>

<p classLang-subheader«>Описание:</p>

<p classMsoNormal«>Указывается список полей, имена которых

нельзя указать в месте их расположения.</p>

<p classLang-subheader«>Синтаксис:</p>

<p classMsoNormal«><span classTerm«>#Поля &lt;Имя поля 1&gt; &lt;Имя поля 2&gt; … &lt;Имя поля

N&gt;</span></p>

<p classLang-subheader«>Параметры:</p>

<p classLang-parameter«>&lt;Имя поля&gt; Обязательный</p>

<p classMsoNormal«>Имя поля. Обязательно указывать все имена

полей, которые не указаны в тексте области макета.</p>

<a idTI000000956» classbookmark» nameissogl3_27.2.2.5_пример_печати_расходной_накладной«><h4>27.2.2.5. Пример печати расходной накладной</h4></a>

<p classMsoNormal«>Предполагается, что объект конфигурации <span classTerm«>Документ</span>

с именем <span classInterface«>Расходная накладная</span> имеет в списке макетов текстового

типа макет с именем <span classTerm«>ПечатьТекст</span>:</p>

<a classcopy_source» href#_top» onClickreturn false«>Копировать в буфер обмена</a>

<pre classsrc_dev«><span classpreprocessor«>#Область Шапка RU</span>

Расходная накладная N <span classoperator«>[</span>НомерДокумента <span classoperator«>]</span>

От: <span classoperator«>[</span>От <span classoperator«>]</span>

Кому: <span classoperator«>[</span>Кому <span classoperator«>]</span>

<span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span>

| N| Наименование | Цена |Штук| Сумма |

<span classpreprocessor«>#Область Строка RU</span>

<span classpreprocessor«> #Поле Цена</span>

<span classpreprocessor«> #Формат &quot;ЧЦ=10; ЧДЦ=2; ЧРД=.&quot;</span>

<span classpreprocessor«> #Поле Штук</span>

<span classpreprocessor«> #Выравнивание Право</span>

<span classpreprocessor«> #Формат &quot;ЧЦ=4; ЧДЦ=0; ЧРД=.&quot;</span>

<span classpreprocessor«> #Поле Сумма</span>

<span classpreprocessor«> #Формат &quot;ЧЦ=12; ЧДЦ=2; ЧРД=.&quot;</span>

|<span classoperator«></span><span classoperator«></span><span classoperator«>+</span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«>+</span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«>+</span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«>+</span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span><span classoperator«></span>|

<span classpreprocessor«>|&lt;span class=&quot;operator&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;operator&quot;&gt;]&lt;/span&gt;|&lt;span class=&quot;operator&quot;&gt;[&lt;/span&gt;Наименование &lt;span class=&quot;operator&quot;&gt;]&lt;/span&gt;|&lt;span class=&quot;operator&quot;&gt;[&lt;/span&gt; Цена&lt;span class=&quot;operator&quot;&gt;]&lt;/span&gt;|&lt;span class=&quot;operator&quot;&gt;[&lt;/span&gt; &lt;span class=&quot;operator&quot;&gt;]&lt;/span&gt;|&lt;span class=&quot;operator&quot;&gt;[&lt;/span&gt; Сумма&lt;span class=&quot;operator&quot;&gt;]&lt;/span&gt;|#Поля Номер Штук</span>

| |<span classoperator«>&lt;</span>Наименование <span classoperator«>&gt;</span>| | | |

<span classpreprocessor«>#Область Подвал RU</span>

<span classpreprocessor«> #Поле ИтогоШтук</span>

<span classpreprocessor«> #Выравнивание Право</span>

<span classpreprocessor«> #Формат &quot;ЧЦ=4; ЧДЦ=0; ЧРД=.&quot;</span>

<span classpreprocessor«> #Поле ИтогоСумма</span>

<span classpreprocessor«> #Выравнивание Право</span>

<span classpreprocessor«> #Формат &quot;ЧЦ=12; ЧДЦ=2; ЧРД=.&quot;</span>

<span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span><span classoperator«>=</span>

Итого <span classoperator«>[</span> <span classoperator«>]</span> <span classoperator«>[</span>ИтогоСумма<span classoperator«>]</span> #Поля ИтогоШтук

Директор: <span classoperator«>[</span>Директор <span classoperator«>]</span></pre>

<p classMsoNormal«>Макет содержит следующие области:</p>

<p classMsoListBulletCxSpFirst«>

<span classTerm«>Шапка</span> – для вывода заголовка отчета;</p>

<p classMsoListBulletCxSpMiddle«>

<span classTerm«>Строка</span> – для вывода табличной части;</p>

<p classMsoListBulletCxSpLast«>

<span classTerm«>Подвал</span> – для вывода итоговых данных.</p>

<p classMsoNormal«>В форме документа размещена кнопка <span classTerm«>Печать</span>.

Ее нажатие вызывает событие <span classTerm«>Нажатие()</span>,

процедура-обработчик которого размещена в модуле формы.</p>

<a classcopy_source» href#_top» onClickreturn false«>Копировать в буфер обмена</a>

<pre classsrc_dev«><span classkeyword«>Процедура</span> ПечатьВТекст<span classoperator«>(</span>Кнопка<span classoperator«>)</span>

ТекДок <span classoperator«>=</span> <span classkeyword«>Новый</span> ТекстовыйДокумент<span classoperator«>(</span><span classoperator«>)</span><span classoperator«>;</span>

ПечатьТекст<span classoperator«>(</span>ТекДок<span classoperator«>)</span><span classoperator«>;</span>

ТекДок<span classoperator«>.</span>Показать<span classoperator«>(</span><span classoperator«>)</span><span classoperator«>;</span>

<span classkeyword«>КонецПроцедуры</span></pre>

<p classMsoNormal«>В процедуре создается текстовый документ <span classTerm«>ТекДок</span>

и вызывается процедура <span classTerm«>ПечатьТекст(ТекДок)</span>,

которая заполняет текстовый документ на основе данных расходной накладной.

Процедура расположена в модуле документа. После заполнения документа он

выводится на экран.</p>

<p classLang-subheader«>Текст процедуры <span classTerm«>ПечатьТекст()</span>:</p>

<a classcopy_source» href#_top» onClickreturn false«>Копировать в буфер обмена</a>

<pre classsrc_dev«><span classkeyword«>Процедура</span> ПечатьТекст<span classoperator«>(</span>ТекДок<span classoperator«>)</span> <span classkeyword«>Экспорт</span>

<span classcomment«>// Получение макета</span>

Макет <span classoperator«>=</span> ПолучитьМакет<span classoperator«>(</span><span classstring«>&quot;ПечатьТекст&quot;</span><span classoperator«>)</span><span classoperator«>;</span>

<span classcomment«>// Установим код языка</span>

Макет<span classoperator«>.</span>КодЯзыкаМакета <span classoperator«>=</span> <span classstring«>&quot;RU&quot;</span><span classoperator«>;</span>

<span classcomment«>// Заголовок</span>

Область <span classoperator«>=</span> Макет<span classoperator«>.</span>ПолучитьОбласть<span classoperator«>(</span><span classstring«>&quot;Шапка&quot;</span><span classoperator«>)</span><span classoperator«>;</span>

Область<span classoperator«>.</span>Параметры<span classoperator«>.</span>НомерДокумента <span classoperator«>=</span> Номер<span classoperator«>;</span>

Область<span classoperator«>.</span>Параметры<span classoperator«>.</span>От <span classoperator«>=</span> Формат<span classoperator«>(</span>Дата<span classoperator«>,</span><span classstring«>&quot;ДФ=dd.MM.yyyy&quot;</span><span classoperator«>)</span><span classoperator«>;</span>

Область<span classoperator«>.</span>Параметры<span classoperator«>.</span>Кому <span classoperator«>=</span> Контрагент<span classoperator«>;</span>

ТекДок<span classoperator«>.</span>Вывести<span classoperator«>(</span>Область<span classoperator«>)</span><span classoperator«>;</span>

<span classcomment«>// Обработка табличной части &quot;Состав&quot;</span>

СтрИтого <span classoperator«>=</span> <span classkeyword«>Новый</span> Структура<span classoperator«>(</span><span classstring«>&quot;ИтогоШтук, ИтогоСумма&quot;</span><span classoperator«>,</span><span classnumber«>0</span><span classoperator«>,</span><span classnumber«>0</span><span classoperator«>)</span><span classoperator«>;</span>

<span classkeyword«>Для</span> <span classkeyword«>Каждого</span> СтрСостава <span classkeyword«>Из</span> Состав <span classkeyword«>Цикл</span>

Область <span classoperator«>=</span> Макет<span classoperator«>.</span>ПолучитьОбласть<span classoperator«>(</span><span classstring«>&quot;Строка&quot;</span><span classoperator«>)</span><span classoperator«>;</span>

Область<span classoperator«>.</span>Параметры<span classoperator«>.</span>Номер <span classoperator«>=</span> СтрСостава<span classoperator«>.</span>НомерСтроки<span classoperator«>;</span>

Область<span classoperator«>.</span>Параметры<span classoperator«>.</span>Наименование <span classoperator«>=</span> СтрСостава<span classoperator«>.</span>Номенклатура<span classoperator«>;</span>

Область<span classoperator«>.</span>Параметры<span classoperator«>.</span>Штук <span classoperator«>=</span> СтрСостава<span classoperator«>.</span>Количество<span classoperator«>;</span>

Область<span classoperator«>.</span>Параметры<span classoperator«>.</span>Цена <span classoperator«>=</span> СтрСостава<span classoperator«>.</span>Цена<span classoperator«>;</span>

Область<span classoperator«>.</span>Параметры<span classoperator«>.</span>Сумма <span classoperator«>=</span> СтрСостава<span classoperator«>.</span>Сумма<span classoperator«>;</span>

ТекДок<span classoperator«>.</span>Вывести<span classoperator«>(</span>Область<span classoperator«>)</span><span classoperator«>;</span>

СтрИтого<span classoperator«>.</span>ИтогоШтук <span classoperator«>=</span> СтрИтого<span classoperator«>.</span>ИтогоШтук <span classoperator«>+</span> СтрСостава<span classoperator«>.</span>Количество<span classoperator«>;</span>

СтрИтого<span classoperator«>.</span>ИтогоСумма <span classoperator«>=</span> СтрИтого<span classoperator«>.</span>ИтогоСумма <span classoperator«>+</span> СтрСостава<span classoperator«>.</span>Сумма<span classoperator«>;</span>

<span classkeyword«>КонецЦикла</span><span classoperator«>;</span>

<span classcomment«>// Подвал</span>

Область <span classoperator«>=</span> Макет<span classoperator«>.</span>ПолучитьОбласть<span classoperator«>(</span><span classstring«>&quot;Подвал&quot;</span><span classoperator«>)</span><span classoperator«>;</span>

Область<span classoperator«>.</span>Параметры<span classoperator«>.</span>Заполнить<span classoperator«>(</span>СтрИтого<span classoperator«>)</span><span classoperator«>;</span>

РС <span classoperator«>=</span> РегистрыСведений<span classoperator«>.</span>ОтветственныеСотрудники<span classoperator«>;</span>

Область<span classoperator«>.</span>Параметры<span classoperator«>.</span>Директор <span classoperator«>=</span> РС<span classoperator«>.</span>ПолучитьПоследнее<span classoperator«>(</span>Дата<span classoperator«>)</span><span classoperator«>.</span>Директор<span classoperator«>;</span>

ТекДок<span classoperator«>.</span>Вывести<span classoperator«>(</span>Область<span classoperator«>)</span><span classoperator«>;</span>

<span classkeyword«>КонецПроцедуры</span></pre>

<a idTI000000957» classbookmark» nameissogl2_27.2.3_редактирование_текстов_шаблонов«><h3>27.2.3. Редактирование текстов шаблонов</h3></a>

<p classMsoNormal«>Помимо возможностей текстового редактора

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

шаблоны (подробнее о шаблонах см. <A href/db/content/v8310doc/src/руководство разработчика/глава 33. сервисные возможности.htm?_=1496848987#_ref61615516«>здесь</a>).</p>

<a idTI000000958» classbookmark» nameissogl2_27.2.4_редактор_текста_запросов«><h3>27.2.4. Редактор текста запросов</h3></a>

<p classMsoNormalCxSpFirst«>В данном режиме текстовый редактор помимо

основных возможностей обладает рядом дополнительных.</p>

<p classMsoNormalCxSpMiddle«>Синтаксические конструкции языка запросов

выделяются цветом. Описание языковых конструкций см. <A href/db/content/v8310doc/src/руководство разработчика/глава 8. работа с запросами.htm?_=1496848987#_ref216234624«>здесь</a> или раздел «Работа с запросами» справки по

встроенному языку.</p>

<p classMsoNormalCxSpMiddle«>В список доступных команд текстового

редактора добавляются команды установки и снятия комментария.</p>

<p classMsoNormalCxSpMiddle«>В режиме 1С:Предприятие пользователям,

обладающим административными правами, предоставляется возможность вызова

конструктора запросов.</p>

<p classMsoNormalCxSpLast«>Помимо текста запроса выполняется

редактирование текстов запросов для текстового документа, у которого

установлено расширение <span classInterface«>Язык запросов</span>; для поля текстового документа с

установленным расширением <span classInterface«>Язык запросов</span>.</p>

<a name_ref374982623«></a><a idTI000000959» classbookmark» nameissogl1_27.3_редактор_командного_интерфейса_конфигурации«><h2>27.3. Редактор командного интерфейса конфигурации</h2></a>

<p classRegularbeforepicture«>Редактор командного интерфейса конфигурации

позволяет настроить начальный порядок разделов в панели разделов (см. <A href/db/content/v8310doc/src/руководство разработчика/глава 3. интерфейс приложения.htm?_=1496848987#_ref220738931«>здесь</a>) и начальную видимость разделов в разрезе ролей.</p>

<p classPicture«><IMG src_img/img00507.gif?_=1496848987» WIDTH508» ALT HEIGHT262«></p>

<p classMsoCaption«><a name_ref220739176«>Рис. </a>499. Редактор «Командный интерфейс конфигурации»</p>

<p classMsoNormalCxSpFirst«>В колонке <span classInterface«>Команда</span> имеется возможность задавать порядок

расположения разделов.</p>

<p classMsoNormalCxSpLast«>В колонках <span classInterface«>Видимость</span> и <span classInterface«>Видимость по ролям</span> задается видимость команд открытия

подсистем по умолчанию.</p>

<a name_ref220744784«></a><a idTI000000960» classbookmark» nameissogl2_27.3.1_общие_правила_установки_видимости«><h3>27.3.1. Общие правила установки видимости</h3></a>

<p classMsoNormalCxSpFirst«>В табличном поле размещается общая колонка

управления видимостью (колонка <span classInterface«>Видимость</span>) и столько колонок, сколько ролей определено в

конфигурации.</p>

<p classMsoNormalCxSpMiddle«>Изначально порядок отображения команд и

настройки их видимости устанавливаются системой. Однако при этом можно вручную настраивать

видимость для всех команд или отбирать команды по ролям, которым они доступны.</p>

<p classMsoNormalCxSpLast«>Установка видимости объекта в командном

интерфейсе может осуществляться несколькими способами:</p>

<p classMsoListBulletCxSpFirst«>

Редактирование колонки <span classInterface«>Видимость</span>. В этом случае видимость команды задается

сразу для всех ролей. Видимость команды для конкретной роли будет определяться

по состоянию колонки <span classInterface«>Видимость</span> в том случае, если для конкретной роли выбрано

особое состояние флажка видимости (см. видимость подсистемы <span classInterface«>Продажи</span> на <a href#_ref220739176«>рис.499</a>).</p>

<p classMsoListBulletCxSpLast«>

Указание конкретного значения (установленное или

сброшенное) видимости для конкретной роли означает, что команда будет по

умолчанию видна (или не видна – в зависимости от состояния флажка) для

данной роли. Общее состояние (колонка <span classInterface«>Видимость</span>) в этом случае игнорируется. Так, на <a href#_ref220739176«>рис.499</a> для роли <span classInterface«>Администратор</span> видимость раздела <span classInterface«>Товарные запасы</span> отключена (несмотря на то, что общая

видимость этого раздела включена), а для роли <span classInterface«>Менеджер по продажам</span> по умолчанию видима команда

перехода к подсистеме <span classInterface«>Предприятие</span> (несмотря на то, что по умолчанию видимость

этого раздела отключена).</p>

<p classMsoNormalCxSpFirst«>Возможно множественное изменение видимости

сразу для нескольких команд в списке.</p>

<p classMsoNormalCxSpLast«>Для того чтобы в списке <span classInterface«>Команда</span> показать только видимые команды, следует нажать

кнопку <span classInterface«>Скрыть невидимые по умолчанию</span>.</p>

<a name_ref220744816«></a><a idTI000000961» classbookmark» nameissogl2_27.3.2_отбор_по_ролям«><h3>27.3.2. Отбор по ролям</h3></a>

<p classMsoNormal«>В поле <span classInterface«>Отбор по ролям</span> можно задать несколько ролей, которые

будут определять текущее отображение списка команд. В список будут включаться

только команды, доступные этим ролям. Для отключения отбора нужно выбрать <span classInterface«>Не установлен</span>. Список выбора позволяет быстро включать

один из нескольких последних установленных отборов.</p>

<a name_ref217103609«></a><a name_ref370382069«></a><a name_ref370382068«></a><a idTI000000962» classbookmark» nameissogl1_27.4_настройка_рабочей_области_начальной_страницы«><h2>27.4. Настройка рабочей области начальной страницы</h2></a>

<a name_ref370731128«></a><a idTI000001304» classbookmark» nameissogl2_27.4.1_с_помощью_редактора_рабочей_области_начальной_страницы«><h3>27.4.1. С помощью редактора рабочей области начальной страницы</h3></a>

<p classRegularbeforepicture«>Данный

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

странице, а также состав форм, которые могут быть отображены на начальной

странице.</p>

<p classPicture«><IMG src_img/img00508.gif?_=1496848987» WIDTH631» ALT HEIGHT323«></p>

<p classMsoCaption«>Рис.

500. Редактор «Рабочая область начальной страницы»</p>

<p classMsoNormal«>Общую

схему расположения форм на начальной странице можно задать с помощью поля <span classInterface«>Шаблон начальной

страницы</span>:</p>

<p classMsoListBulletCxSpFirst«>

<span classInterface«>Одна колонка</span>

формы будут отображаться в одну колонку.</p>

<p classMsoListBulletCxSpMiddle«>

<span classInterface«>Две колонки одинаковой

ширины</span> – для форм будут доступны две колонки одинаковой ширины.</p>

<p classMsoListBulletCxSpLast«>

Две колонки разной ширины

(2:1) – будут отображаться две колонки, причем левая колонка

будет в два раза шире правой.</p>

<p classMsoNormalCxSpFirst«>После

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

странице, а также высоту каждой формы (колонка <span classInterface«>Высота</span>).</p>

<p classMsoNormalCxSpMiddle«>Редактор

видимости работает аналогично другим ролевым редакторам свойств (см. <a href#_ref200447246«>здесь</a>).</p>

<p classMsoNormalCxSpMiddle«>При

разработке интерфейса начальной страницы следует обращать особое внимание на

то, чтобы этот интерфейс содержал наиболее важные формы. На начальной странице

нужно размещать те формы, с которыми наиболее часто выполняется работа

пользователя с тем или иным составом ролей.</p>

<p classMsoNormalCxSpLast«>Следует

помнить, что формы, на которые у пользователя нет прав, не будут отображены на начальной

странице вне зависимости от состояния колонки <span classInterface«>Видимость</span>.</p>

<a name_ref217280689«></a><a name_ref370382071«></a><a name_ref370382070«></a><a idTI000001305» classbookmark» nameissogl2_27.4.2_программная«><h3>27.4.2. Программная</h3></a>

<p classMsoNormalCxSpFirst«>Настройку

состава и положения форм на начальной странице (рабочем столе) можно выполнить

также из встроенного языка. Для выполнения настройки следует воспользоваться

методами <span classTerm«>ПолучитьСоставФорм()</span> и <span classTerm«>УстановитьСоставФорм()</span> объекта <span classTerm«>НастройкиНачальнойСтраницы</span>. Таким образом,

имеется возможность получить текущее состояние начальной страницы (рабочего

стола) клиентского приложения, модифицировать этот состав необходимым образом и

установить обратно.</p>

<p classMsoNormalCxSpLast«>Настройки

состава и расположения форм начальной страницы (рабочего стола) хранятся в

стандартном хранилище системных настроек. Ключ настроек – <span classInterface«>Общее/НастройкиНачальнойСтраницы</span>

(см. <A href/db/content/v8310doc/src/руководство разработчика/приложение 4. перечень автоматически сохраняемых настроек.htm?_=1496848987#_ref363646570«>здесь</a>). Чтобы изменить настройки необходимо в начале

прочитать их из хранилища:</p>

<a classcopy_source» href#_top» onClickreturn false«>Копировать в буфер обмена</a>

<pre classsrc_dev«>НастройкиНачальнойСтраницы <span classoperator«>=</span> ХранилищеСистемныхНастроек<span classoperator«>.</span>Загрузить<span classoperator«>(</span><span classstring«>&quot;Общее/НастройкиНачальнойСтраницы&quot;</span><span classoperator«>)</span><span classoperator«>;</span></pre>

<p classMsoNormal«>Затем

настройки начальной страницы (рабочего стола) можно модифицировать и поместить

обратно в хранилище:</p>

<a classcopy_source» href#_top» onClickreturn false«>Копировать в буфер обмена</a>

<pre classsrc_dev«>ХранилищеСистемныхНастроек<span classoperator«>.</span>Сохранить<span classoperator«>(</span><span classstring«>&quot;Общее/НастройкиНачальнойСтраницы&quot;</span><span classoperator«>,</span> <span classstring«>&quot;&quot;</span><span classoperator«>,</span> НастройкиНачальнойСтраницы<span classoperator«>)</span><span classoperator«>;</span></pre>

<p classMsoNormalCxSpFirst«>После сохранения нового состава форм,

необходимо выполнить перестроение интерфейса клиентского приложения с помощью

вызова метода <span classTerm«>ОбновитьИнтерфейс()</span>.</p>

<p classMsoNormalCxSpLast«>Среди разнообразных вариантов

применения механизма, можно выделить несколько основных сценариев

использования:</p>

<p classMsoListBulletCxSpFirst«>

Необходимо предложить пользователю добавить

новую форму на начальную страницу (рабочий стол). Это можно сделать с помощью

программного кода, который вызывается из обработчика события <span classTerm«>ПриНачалеРаботыСистемы</span>. После изменения

настроек начальной страницы (рабочего стола) необходимо обновить интерфейс,

чтобы изменения стали доступны.</p>

<p classMsoListBulletCxSpMiddle«>

Для каких-либо пользователей необходимо

поддерживать фиксированный набор форм, который определяется не на этапе

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

настройку начальной страницы (рабочего стола) рекомендуется выполнять в

обработчике события <span classTerm«>УстановкаПараметровСеанса</span> модуля сеанса. В

этом случае не требуется вызывать метод <span classTerm«>ОбновитьИнтерфейс()</span>, т. к.

считывание настроек начальной страницы (рабочего стола) выполняется после

выполнения данного обработчика.</p>

<p classMsoListBulletCxSpLast«>

Необходимо однократно изменить состав форм начальной

страницы (рабочего стола) для всех пользователей информационной базы. В этом

случае рекомендуется написать программный модуль, который переберет настройки

начальной страницы (рабочего стола) для всех пользователей и внесет в них

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

таким образом, будут доступны пользователю только при следующем вход в систему.</p>

<p classMsoNormal«>Рассмотрим пример, в рамках которого

необходимо при каждом начале работы системы принудительно размещать на начальной

странице две формы: форму списка справочника <span classTerm«>Товары</span>

и стандартную форму полнотекстового поиска (<span classTerm«>ФормаПоиска</span>).

Для реализации примера необходим общий модуль с установленными признаками <span classInterface«>Сервер</span>

и <span classInterface«>Вызов сервера</span>.

Пусть общий модуль имеет имя <span classTerm«>РаботаСИнтерфейсом</span>.

В общем модуле необходимо поместить следующую процедуру:</p>

<a classcopy_source» href#_top» onClickreturn false«>Копировать в буфер обмена</a>

<pre classsrc_dev«><span classkeyword«>Процедура</span> ПростаяНачальнаяСтраница<span classoperator«>(</span><span classoperator«>)</span> <span classkeyword«>Экспорт</span>

НачальнаяСтраница <span classoperator«>=</span> <span classkeyword«>Новый</span> НастройкиНачальнойСтраницы<span classoperator«>;</span>

СоставФорм <span classoperator«>=</span> <span classkeyword«>Новый</span> СоставФормНачальнойСтраницы<span classoperator«>;</span>

СоставФорм<span classoperator«>.</span>ЛеваяКолонка<span classoperator«>.</span>Добавить<span classoperator«>(</span><span classstring«>&quot;Справочник.Товары.ФормаСписка&quot;</span><span classoperator«>)</span><span classoperator«>;</span>

СоставФорм<span classoperator«>.</span>ПраваяКолонка<span classoperator«>.</span>Добавить<span classoperator«>(</span><span classstring«>&quot;ФормаПоиска&quot;</span><span classoperator«>)</span><span classoperator«>;</span>

НачальнаяСтраница<span classoperator«>.</span>УстановитьСоставФорм<span classoperator«>(</span>СоставФорм<span classoperator«>)</span><span classoperator«>;</span>

ХранилищеСистемныхНастроек<span classoperator«>.</span>Сохранить<span classoperator«>(</span><span classstring«>&quot;Общее/НастройкиНачальнойСтраницы&quot;</span><span classoperator«>,</span> <span classstring«>&quot;&quot;</span><span classoperator«>,</span> НачальнаяСтраница<span classoperator«>)</span><span classoperator«>;</span>

<span classkeyword«>КонецПроцедуры</span> </pre>

<p classMsoNormal«>В модуле управляемого приложения

необходимо разместить обработчик события <span classTerm«>ПриНачалеРаботыСистемы</span>:</p>

<a classcopy_source» href#_top» onClickreturn false«>Копировать в буфер обмена</a>

<pre classsrc_dev«><span classkeyword«>Процедура</span> ПриНачалеРаботыСистемы<span classoperator«>(</span><span classoperator«>)</span>

РаботаСИнтерфейсом<span classoperator«>.</span>ПростаяНачальнаяСтраница<span classoperator«>(</span><span classoperator«>)</span><span classoperator«>;</span>

ОбновитьИнтерфейс<span classoperator«>(</span><span classoperator«>)</span><span classoperator«>;</span>

<span classkeyword«>КонецПроцедуры</span></pre>

<p classMsoNormalCxSpFirst«>В

результате, вне зависимости от того, какие настройки начальной страницы

(рабочего стола) настройки осуществил пользователь в предыдущем сеансе работы,

каждый новый сеанс будет начинаться с фиксированных настроек начальной страницы

(рабочего стола).</p>

<p classMsoNormalCxSpLast«>При

формировании настроек начальной страницы (рабочего стола) можно указывать как

полные имена форм объектов конфигурации (например, <span classTerm«>Справочник.Товары.Форма.ИмяФормы</span>), так и

стандартные имена форм (например, <span classTerm«>Справочник.Товары.ФормаСписка</span>). Также нужно

помнить, что программная настройка начальной страницы (рабочего стола) не изменить

шаблон начальной области (рабочего стола). При программной настройке будет

использовать тот шаблон начальной страницы (рабочего стола), который выбран при

настройке начальной страницы (рабочего стола) при помощи соответствующего

редактора (см. <a href#_ref370731128«>здесь</a>).</p>

<a idTI000000963» classbookmark» nameissogl1_27.5_редактор_командного_интерфейса_основного_раздела«><h2>27.5. Редактор командного интерфейса основного раздела</h2></a>

<p classRegularbeforepicture«>Редактор

позволяет настроить состав команд каждой командной панели, порядок отображения

и видимость элементов командного интерфейса по ролям.</p>

<p classPicture«><IMG src_img/img00509.gif?_=1496848987» WIDTH718» ALT HEIGHT484«></p>

<p classMsoCaption«>Рис.

501. Редактор «Командный интерфейс основного раздела»</p>

<p classMsoNormal«>В

редакторе располагаются два табличных поля. В одном (справа) выполняется

собственно редактирование командного интерфейса, а другое (слева) содержит

иерархический список доступных команд конфигурации, которые могут быть

добавлены в интерфейс основного раздела. Команды, которые попадают в список <span classInterface«>Доступные команды</span>,

отвечают следующим условиям:</p>

<p classMsoListBulletCxSpFirst«>

команда не имеет параметра;</p>

<p classMsoListBulletCxSpLast«>

группа, которая указана для команды, относится к

панели навигации или панели действий.</p>

<p classMsoNormalCxSpFirst«>В

табличном поле редактора интерфейса, в колонке <span classInterface«>Команда</span>, выводится

структура команд, сгруппированных по группам панели действий (<span classInterface«>Важное</span>, <span classInterface«>Обычное</span>, <span classInterface«>См. также</span>), панели

навигации (<span classInterface«>Создать</span>, <span classInterface«>Отчеты</span>, <span classInterface«>Сервис</span>) и

группы команд, определенных в ветке дерева метаданных <span classInterface«>Общие – Группы

команд</span>. В табличном поле размещена колонка <span classInterface«>Общая видимость

команды</span>. Также система размещает колонки настройки видимости команд

для каждой определенной в конфигурации роли.</p>

<p classMsoNormalCxSpMiddle«>Для

выбора команды следует раскрыть нужную ветвь таблицы доступных команд и выбрать

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

команду и нажать кнопку <span classInterface«>Добавить команду в

основной раздел</span> (или нажать клавишу <span classInterface«>Enter</span>, или

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

панель и группу, определенную для команды при настройке текущего объекта

метаданных (свойство <span classInterface«>Группа</span>),

команда которого переносится. Если кнопка <span classInterface«>Добавить команду в основной

раздел</span> недоступна, то выбранную команду перенести в основной раздел

нельзя. Например, если для перечисления не установлено свойство <span classInterface«>Использовать

стандартные команды</span>.</p>

<p classMsoNormalCxSpMiddle«>Изначально

порядок отображения команд в командном интерфейсе рабочего стола и настройки их

видимости устанавливаются системой. При этом можно настраивать видимость как

для всех команд или отобрать команды по ролям, которым они доступны.</p>

<p classMsoNormalCxSpMiddle«>Можно

использовать кнопку <span classInterface«>Переместить команду</span>

для перемещения команд между группами. Также команды можно перемещать,

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

установки порядка команд в группе нужно использовать кнопки перемещения вверх и

вниз.</p>

<p classMsoNormalCxSpLast«>Нажатие

кнопки <span classInterface«>Установить свойства по

умолчанию</span> заменяет настройки видимости команды и вхождение в группу на

настройки, установленные системой по умолчанию.</p>

<p classRegularbeforepicture«>Если

в конфигурации нет ни одной подсистемы, то редактор имеет другой вид:</p>

<p classPicture«><IMG src_img/img00510.gif?_=1496848987» WIDTH639» ALT HEIGHT393«></p>

<p classMsoCaption«>Рис.

502. Нет подсистем</p>

<p classMsoNormalCxSpFirst«>В

этом случае на рабочем столе доступны все команды системы, и необходимо только

расставить доступность команд по умолчанию.</p>

<p classMsoNormalCxSpLast«>Общие

правила управления видимостью см. <a href#_ref220744784«>здесь</a>. Описание отбора по ролям см. <a href#_ref220744816«>здесь</a>.</p>

<a idTI000000964» classbookmark» nameissogl1_27.6_редактор_командного_интерфейса«><h2>27.6. Редактор командного интерфейса</h2></a>

<p classMsoNormal«>Редактор командного интерфейса позволяет

настроить состав команд каждой командной панели, порядок отображения и видимость

элементов командного интерфейса по ролям.</p>

<p classRegularbeforepicture«>В табличном поле в первой (слева) колонке

выводится полный список команд, сгруппированный по группам (как системные <span classInterface«>Важное</span>, <span classInterface«>Обычное</span>, <span classInterface«>См. также</span>, <span classInterface«>Отчеты</span>, <span classInterface«>Сервис</span> и др., так и группы, определенные в ветке дерева

метаданных <span classInterface«>Группы команд</span>) панелей действий и

навигации. Затем в табличном поле следует колонка для управления

общей видимостью команд.</p>

<p classPicture«><IMG src_img/img00511.gif?_=1496848987» WIDTH682» ALT HEIGHT449«></p>

<p classMsoCaption«>Рис. 503. Редактор «Командный

интерфейс»</p>

<p classMsoNormalCxSpFirst«>Система устанавливает порядок команд

автоматически. При необходимости ручной настройки порядка отображения команд в

группах следует использовать кнопки перемещения или перетаскивать команды. При

этом рядом с группой будет отображаться строка <span classInterface«>Ручной порядок команд</span>. Чтобы отменить изменения порядка,

нужно у группы в контекстном меню выбрать пункт контекстного меню <span classInterface«>Восстановить автоматический порядок команд</span>.</p>

<p classMsoNormalCxSpMiddle«>Можно использовать кнопку <span classInterface«>Переместить команду</span> для перемещения команд

между группами.

Также команды можно перемещать, перетаскивая их на нужное место мышью в

пределах групп одной панели. Для установки порядка команд в группе нужно

использовать кнопки перемещения вверх и вниз.</p>

<p classMsoNormalCxSpMiddle«>Нажатие кнопки <span classInterface«>Установить свойства по умолчанию</span> заменяет настройки

видимости команды и вхождение в группу на настройки, установленные системой по

умолчанию.</p>

<p classMsoNormalCxSpLast«>Общие правила управления видимостью см. <a href#_ref220744784«>здесь</a>. Описание отбора по ролям см. <a href#_ref220744816«>здесь</a>.</p>

<a name_ref217219607«></a><a idTI000000965» classbookmark» nameissogl1_27.7_редактор_все_подсистемы«><h2>27.7. Редактор «Все подсистемы»</h2></a>

<p classMsoNormal«>Редактор <span classInterface«>Все подсистемы</span> предназначен для удобного решения

следующих задач:</p>

<p classMsoListBulletCxSpFirst«>

редактирование командного интерфейса любой

подсистемы,</p>

<p classMsoListBulletCxSpMiddle«>

задание состава и свойств любой подсистемы,</p>

<p classMsoListBulletCxSpMiddle«>

настройка порядка следования подсистем,</p>

<p classMsoListBulletCxSpLast«>

редактирование состава подсистем.</p>

<p classNote«><span classNote«>Примечание.</span> Редактор командного

интерфейса подсистемы можно также открыть из свойства подсистемы <span classInterface«>Командный интерфейс</span> по ссылке <span classInterface«>Открыть</span>.</p>

<p classRegularbeforepicture«>В списке <span classInterface«>Подсистемы</span> устанавливается порядок подсистем в дереве

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

разделов.</p>

<p classPicture«><IMG src_img/img00512.gif?_=1496848987» WIDTH708» ALT HEIGHT404«></p>

<p classMsoCaption«>Рис. 504. Редактор «Все

подсистемы»</p>

<p classMsoNormalCxSpFirst«>Для того чтобы установить порядок подсистем

на панели разделов, следует в списке <span classInterface«>Подсистемы</span> перейти на нужный элемент и выполнить

необходимое редактирование (порядок и перемещение подсистемы).</p>

<p classMsoNormalCxSpMiddle«>Для редактирования свойств подсистемы нужно

использовать палитру свойств или редактор подсистемы (выбрать подсистемы и нажать

кнопку <span classInterface«>Изменить текущий элемент</span>).</p>

<p classMsoNormalCxSpMiddle«>Чтобы переместить подсистемы (вместе с

подчиненными подсистемами), нужно выбрать подсистему и нажать кнопку <span classInterface«>Переместить подсистему</span>. В открывшемся окне выбора

объекта указать подсистему, в которую будет перенесена текущая подсистема.

Запрещается перенос в подсистемы, входящие в текущую подсистему.</p>

<p classMsoNormalCxSpLast«>Общие правила управления видимостью см. <a href#_ref220744784«>здесь</a>. Описание отбора по ролям см. <a href#_ref220744816«>здесь</a>.</p>

<a idTI000000966» classbookmark» nameissogl2_27.7.1_настройка_состава_подсистемы«><h3>27.7.1. Настройка состава подсистемы</h3></a>

<p classMsoNormalCxSpFirst«>Под списком подсистем находится

иерархический список <span classInterface«>Состав</span>, в котором формируется состав метаданных,

относящийся к текущей подсистеме списка подсистем. Следует учитывать, что в

показываемый состав не включаются метаданные, относящиеся к подчиненным

подсистемам, если в этих подсистемах эти метаданные не определены.</p>

<p classMsoNormalCxSpMiddle«>Для изменения состава следует нажать кнопку <span classInterface«>Редактировать состав подсистемы</span>. Открывается окно выбора

объекта, которое содержит дерево метаданных. Объекты, у которых установлены

флажки, включены в состав подсистемы.</p>

<p classMsoNormalCxSpLast«>В окне выбора нужно указать те объекты,

которые должны быть включены в состав подсистемы. Нажатие кнопки <span classInterface«>OK</span> закрывает окно выбора и формирует состав подсистемы.</p>

<a idTI000000967» classbookmark» nameissogl2_27.7.2_настройка_командного_интерфейса_подсистемы«><h3>27.7.2. Настройка командного интерфейса подсистемы</h3></a>

<p classMsoNormalCxSpFirst«>Настройка командного интерфейса подсистемы

осуществляется в табличном поле, расположенном справа от списка подсистем и

состава команд подсистемы.</p>

<p classMsoNormalCxSpLast«>Общие правила управления видимостью см. <a href#_ref220744784«>здесь</a>. Описание отбора по ролям см. <a href#_ref220744816«>здесь</a>.</p>

<a idTI000000968» classbookmark» nameissogl1_27.8_конструктор_запросов«><h2>27.8. Конструктор запросов</h2></a>

<p classMsoNormalCxSpFirst«>Конструктор запросов позволяет сформировать

текст запроса в модуле и отредактировать имеющийся запрос.</p>

<p classMsoNormalCxSpLast«>Для вызова конструктора запросов нужно

открыть модуль, выбрать процедуру, в которую необходимо поместить запрос, установить

указатель в той части процедуры, в которой располагается или должно

располагаться тело запроса, выбрать пункт <span classInterface«>Текст – Конструктор запросов</span>.</p>

<p classRegularbeforepicture«>Если запроса нет, то на экран выводится

вопрос: <span classInterface«>Не

найден текст запроса. Создать новый?</span> При выборе <span classInterface«>Да</span> на экран выводится окно <span classInterface«>Конструктор запросов</span>. Если запрос редактируется, то на

экран выводится окно <span classInterface«>Конструктор запросов</span>, содержащее данные текущего запроса.</p>

<p classPicture«><IMG src_img/img00513.gif?_=1496848987» WIDTH631» ALT HEIGHT564«></p>

<p classMsoCaption«><a name_ref221519723«>Рис. </a>505. Конструктор запроса в конструкторе выходной формы</p>

<p classMsoNormalCxSpFirst«>С помощью кнопки <span classInterface«>Упорядочить список</span>, расположенной над списком <span classInterface«>База данных</span>, можно упорядочить список объектов. Повторное

нажатие кнопки отменяет упорядочивание.</p>

<p classMsoNormalCxSpMiddle«>С помощью кнопки <span classInterface«>Отображать таблицы изменений</span> можно отобразить таблицы

изменений объектов конфигурации в списке объектов в виде отдельных веток <span classInterface«>&lt;ИмяОбъекта&gt;.Изменения</span>. Повторное нажатие кнопки

скроет такие ветки в списке.</p>

<p classMsoNormalCxSpLast«>Для того чтобы создать вложенный запрос, нужно

нажать кнопку <span classInterface«>Создать

вложенный запрос</span> (см. <a href#_ref221519723«>рис.505</a>). В открывшемся конструкторе запроса сформировать

требуемый запрос и нажать кнопку <span classInterface«>ОК</span>. Вложенный запрос отобразится в списке <span classInterface«>Таблицы</span>.</p>

<p classRegularbeforepicture«>Для использования созданной временной таблицы

следует нажать кнопку <span classInterface«>Создать описание временной таблицы</span> (см. <a href#_ref221519723«>рис.505</a>). В отобразившейся форме ввести имя таблицы, имена

нужных полей и, при необходимости, указать тип значения полей.</p>

<p classPicture«><IMG src_img/img00514.gif?_=1496848987» WIDTH364» ALT HEIGHT351«></p>

<p classMsoCaption«>Рис. 506. Описание временной

таблицы</p>

<p classMsoNormalCxSpFirst«>С помощью кнопок <span classInterface«>Далее &gt;</span> конструктора запроса нужно последовательно

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

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

работы конструктора создадутся форма и макет, которые будут располагаться в

соответствующих ветвях. По кнопке <span classInterface«>Запрос</span> в любой момент можно открыть окно с текстом

сформированного на основании указанных данных запроса.</p>

<p classMsoNormalCxSpMiddle«>Для корректировки данных следует использовать

кнопку <span classInterface«>&lt; Назад</span>.</p>

<p classMsoNormalCxSpLast«>На закладке <span classInterface«>Таблицы и поля</span> выбрать нужные объекты и перенести их в

разделы <span classInterface«>Таблицы</span>

и <span classInterface«>Поля</span>.</p>

<p classRegularbeforepicture«>Для указания дополнительных условий можно воспользоваться

режимом формирования произвольных выражений в запросе. Для этого в списке <span classInterface«>Поля</span> контекстного меню нужно выбрать пункт <span classInterface«>Добавить</span>. На экран выводится окно произвольного

выражения.</p>

<p classPicture«><IMG src_img/img00515.gif?_=1496848987» WIDTH473» ALT HEIGHT369«></p>

<p classMsoCaption«>Рис. 507. Конструктор

произвольного выражения</p>

<p classMsoNormal«>В нижнем поле формируется текст выражения.

Выражение можно набирать с помощью клавиатуры. Для удобства ввода наименований

реквизитов можно перетаскивать мышью нужные поля из списка полей и выбирать

нужные функции языка запросов из списка, также перетаскивая их мышью в поле

ввода выражения.</p>

<p classRegularbeforepicture«>Если указано несколько таблиц, то в форму

конструктора запроса добавляется закладка <span classInterface«>Связи</span>.</p>

<p classPicture«><IMG src_img/img00516.gif?_=1496848987» WIDTH631» ALT HEIGHT367«></p>

<p classMsoCaption«>Рис. 508. Определение условий

связи между таблицами</p>

<p classMsoNormal«>На закладке <span classInterface«>Связи</span> формируются условия, которые накладываются на

связи между полями таблиц. Для ввода нового условия нужно нажать кнопку <span classInterface«>Добавить</span> и в колонке <span classInterface«>Таблица1</span> выбрать одну из таблиц; в колонке <span classInterface«>Таблица2</span> выбрать таблицу, поля которой связаны с полями

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

формируется условие связи таблиц.</p>

<p classRegularbeforepicture«>На закладке <span classInterface«>Группировка</span>, если требуется, нужно выбрать реквизиты, по

которым будет выполнена группировка.</p>

<p classPicture«><IMG src_img/img00517.gif?_=1496848987» WIDTH631» ALT HEIGHT367«></p>

<p classMsoCaption«>Рис. 509. Группировка результата

запроса</p>

<p classRegularbeforepicture«>На закладке <span classInterface«>Условия</span>, если требуется, следует указать условия, по

которым будет выполняться отбор исходных данных.</p>

<p classPicture«><IMG src_img/img00518.gif?_=1496848987» WIDTH631» ALT HEIGHT367«></p>

<p classMsoCaption«>Рис. 510. Условия запроса</p>

<p classMsoNormal«>По каждому выбранному полю необходимо выбрать

вид условия (для произвольного условия в колонке <span classInterface«>Произвольное</span> установить флажок). Если флажок не

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

Если флажок <span classInterface«>Произвольное</span>

установлен, то можно воспользоваться окном формирования произвольных выражений

(см. выше).</p>

<p classRegularbeforepicture«>На закладке <span classInterface«>Дополнительно</span> указываются дополнительные условия.</p>

<p classPicture«><IMG src_img/img00519.gif?_=1496848987» WIDTH631» ALT HEIGHT367«></p>

<p classMsoCaption«>Рис. 511. Дополнительные

параметры запроса</p>

<p classRegularbeforepicture«>Если на закладке <span classInterface«>Дополнительно</span> выбрано создание временной таблицы, то на

появившейся закладке <span classInterface«>Индекс</span> можно будет выбрать поля, по которым будет

построен индекс.</p>

<p classPicture«><IMG src_img/img00520.gif?_=1496848987» WIDTH631» ALT HEIGHT367«></p>

<p classMsoCaption«>Рис. 512. Индекс временной

таблицы</p>

<p classRegularbeforepicture«>На закладке <span classInterface«>Объединения/Псевдонимы</span>, если требуется, нужно ввести

псевдонимы полей.</p>

<p classPicture«><IMG src_img/img00521.gif?_=1496848987» WIDTH631» ALT HEIGHT367«></p>

<p classMsoCaption«>Рис. 513. Объединения/псевдонимы

запроса</p>

<p classMsoNormalCxSpFirst«>В таблице показано соответствие выбранных

полей и исходных данных. Имена полей и соответствие можно изменить. Для изменения

имени нужно выбрать поле и нажать клавишу <span classInterface«>Enter</span>, ввести новое имя поля. Для изменения соответствия

в колонке <span classInterface«>Запрос</span>

выбрать нужную строку и нажать клавишу <span classInterface«>Enter</span>. В выпадающем списке выбрать нужное значение.</p>

<p classMsoNormalCxSpMiddle«>Если требуется выбрать только уникальные

значения, то следует установить флажок в колонке <span classInterface«>Без дубл</span>.</p>

<p classMsoNormalCxSpLast«>Псевдонимы полей, которые изменены

пользователем, или были загружены из текста запроса, или при генерации

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

жирным шрифтом.</p>

<p classRegularbeforepicture«>На закладке <span classInterface«>Порядок</span>, если требуется, нужно указать порядок вывода

полученных данных.</p>

<p classPicture«><IMG src_img/img00522.gif?_=1496848987» WIDTH631» ALT HEIGHT367«></p>

<p classMsoCaption«><a name_ref215036265«>Рис. </a>514. Настройка упорядочивания результата запроса</p>

<p classMsoNormal«>Как показано на <a href#_ref215036265«>рис.514</a>, выбран порядок вывода данных, отсортированных по

дате, а в пределах одной даты выполняется сортировка по <span classInterface«>Поставщику</span>.</p>

<p classRegularbeforepicture«>На закладке <span classInterface«>Итоги</span>, если требуется, следует указать, по каким полям

нужно выводить промежуточные итоговые данные, а также указать необходимость

формирования общих итогов.</p>

<p classPicture«><IMG src_img/img00523.gif?_=1496848987» WIDTH631» ALT HEIGHT367«></p>

<p classMsoCaption«>Рис. 515. Установка итогов для

результата запроса</p>

<p classMsoNormalCxSpFirst«>При нажатии кнопки <span classInterface«>&gt;&gt;</span>, расположенной рядом с групповыми полями, в

поля для группировки будут помещены все ссылочные поля. При нажатии кнопки <span classInterface«>&gt;&gt;</span>, расположенной рядом с суммируемыми полями, в

список суммируемых полей будут помещены все поля, имеющие числовой тип.</p>

<p classMsoNormalCxSpLast«>На закладке <span classInterface«>Построитель</span> выполняется настройка построителя отчетов.

Выбираются таблицы и поля, указываются условия и порядок представления, а также

описываются итоговые данные.</p>

<p classMsoListBulletCxSpFirst«>

На закладке <span classInterface«>Таблицы</span> редактируются параметры построителя отчета для

виртуальных таблиц, а также отмечаются необязательные таблицы. Для

редактирования параметров виртуальных таблиц необходимо выделить таблицу, для

которой требуется настроить параметры, вызвать команду <span classInterface«>Параметры виртуальной таблицы</span>, после чего в появившемся

диалоге ввести необходимые параметры таблицы для построителя отчета. Для того

чтобы отметить таблицу как необязательную, необходимо снять флажок <span classInterface«>Обязательная</span> напротив имени таблицы, которую нужно

пометить. Кроме того, для необязательных таблиц можно указать номер группы.

Необязательные таблицы, находящиеся рядом в списке соединений и имеющие одинаковые

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

таблицы с различными номерами групп будут разнесены по различным группам

необязательных таблиц.</p>

<p classMsoListBulletCxSpMiddle«>

На закладке <span classInterface«>Поля</span> выбираются поля, которые построитель отчета будет

использовать в качестве доступных полей для вывода в отчет.</p>

<p classMsoListBulletCxSpMiddle«>

На закладке <span classInterface«>Условия</span> выбираются поля, которые построитель отчета

будет использовать в качестве доступных полей для отбора.</p>

<p classMsoListBulletCxSpMiddle«>

На закладке <span classInterface«>Порядок</span> выбираются поля, которые построитель отчета

будет использовать в качестве доступных полей для упорядочивания результата.</p>

<p classMsoListBulletCxSpLast«>

На закладке <span classInterface«>Итоги</span> выбираются поля, которые построитель отчета будет

использовать в качестве доступных полей для группировки отчета.</p>

<p classRegularbeforepicture«>На закладке <span classInterface«>Пакет запросов</span> при работе с пакетными запросами

создается последовательность запросов пакета. Каждый запрос редактируется и

настраивается в этом же окне, а на всех предыдущих закладках можно

переключаться между настраиваемыми запросами.</p>

<p classPicture«><IMG src_img/img00524.gif?_=1496848987» WIDTH631» ALT HEIGHT367«></p>

<p classMsoCaption«>Рис. 516. Пакет запросов</p>

<p classMsoNormalCxSpFirst«>По нажатию кнопки <span classInterface«>ОК</span> в программном модуле формируется текст запроса. Если

происходит попытка открыть конструктором некорректный текст запроса, то при

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

строку запроса, в которой обнаружена ошибка, и выдается диагностическое

сообщение.</p>

<p classMsoNormalCxSpLast«>В зависимости от того, откуда вызывается

конструктор запроса (система компоновки данных, запрос с обработкой результата

и т. д.), в форме конструктора могут добавляться новые закладки,

описание которых можно увидеть в описании того механизма, откуда вызывается

конструктор запроса.</p>

<a name_ref150073309«></a><a name_ref141014984«></a><a name_ref141002886«></a><a idTI000000969» classbookmark» nameissogl1_27.9_конструктор_запроса_с_обработкой_результата«><h2>27.9. Конструктор запроса с обработкой результата</h2></a>

<p classMsoNormal«>Конструктор предназначен для генерации

программного кода обработки результатов запроса. Данный конструктор помогает

создавать следующие варианты обработки результатов запроса:</p>

<p classMsoListBulletCxSpFirst«>

простой обход результатов запроса,</p>

<p classMsoListBulletCxSpMiddle«>

вывод результатов запроса в табличный документ,</p>

<p classMsoListBulletCxSpLast«>

вывод результатов запроса в диаграмму.</p>

<p classMsoNormalCxSpFirst«>Для вызова конструктора предназначен пункт <span classInterface«>Конструктор запроса с обработкой результата</span> контекстного

меню редактора модулей.</p>

<p classMsoNormalCxSpLast«>При вызове конструктор ищет в текущей строке

код, который мог быть создан конструктором. Если такой код найден, то конструктор

загружает найденный код (включая имена макетов и т. д.).</p>

<p classRegularbeforepicture«>Окно конструктора запроса будет отличаться от

описанного выше редактора запросов (см. <a href#_ref222321022«>здесь</a>).</p>

<p classPicture«><IMG src_img/img00525.gif?_=1496848987» WIDTH716» ALT HEIGHT419«></p>

<p classMsoCaption«>Рис. 517. Конструктор запроса с

обработкой результата</p>

<p classMsoNormal«>В конструкторе, открытом в таком режиме:</p>

<p classMsoListBullet«>

На закладке <span classInterface«>Обработка результата</span> происходит выбор типа обработки

результата запроса:</p>

<p classMsoListBullet2CxSpFirst«>

<span classInterface«>Обход результата</span>,</p>

<p classMsoListBullet2CxSpMiddle«>

<span classInterface«>Вывод в табличный документ</span>,</p>

<p classMsoListBullet2CxSpLast«>

<span classInterface«>Вывод в диаграмму</span>.</p>

<p classMsoListBullet«>

При выборе режима <span classInterface«>Вывод в табличный документ</span> и <span classInterface«>Вывод в диаграмму</span> отображаются параметры вывода в данные

объекты.</p>

<p classMsoNormalCxSpFirst«>После нажатия кнопки <span classInterface«>ОК</span> генерируется программный код, который будет вставлен

в текущую позицию модуля. Если конструктор вызывался над уже сгенерированным

кодом, старый код заменяется.</p>

<p classMsoNormalCxSpLast«>Если вывод осуществлялся в табличный

документ, то в объекте метаданных, в модуле объекта или модуле формы которого

он вызывался, создается макет для вывода в табличный документ. Он же

модифицируется при повторном вызове конструктора. Данный макет удаляется, если

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

вызывается для генерации другого способа обработки результатов запроса. Если

конструктор вызывается в общем модуле, то создается общий макет.</p>

<p classNote«><span classNote«>Примечание.</span> Если у конфигурации

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

приложении, то в меню объектов метаданных недоступна команда вызова

конструктора выходных форм.</p>

<a name_ref141014676«></a><a name_ref141003552«></a><a idTI000000970» classbookmark» nameissogl1_27.10.конструктор_движений_регистров«><h2>27.10.Конструктор движений регистров</h2></a>

<p classMsoNormalCxSpFirst«>Конструктор движений регистров применяется

для документов.</p>

<p classMsoNormalCxSpLast«>Для запуска конструктора движений регистров в

окне редактирования документа, на закладке <span classInterface«>Движения</span> нужно указать состав регистров, движения

которых осуществляет данный документ, и нажать кнопку <span classInterface«>Конструктор движений</span>. Если для выбранного документа определен

состав движений хотя бы по одному регистру, то указанный пункт контекстного

меню будет доступен.</p>

<p classRegularbeforepicture«>При запуске конструктор запрашивает выбор

регистра, по которому будет произведено формирование процедуры <span classTerm«>ОбработкаПроведения()</span>,

и открывает окно конструктора.</p>

<p classPicture«><IMG src_img/img00526.gif?_=1496848987» WIDTH492» ALT HEIGHT410«></p>

<p classMsoCaption«>Рис. 518. Конструктор движений

регистров</p>

<p classMsoNormalCxSpFirst«>Первоначально список содержит только

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

отмеченных на закладке <span classInterface«>Движения</span> окна редактирования документа.</p>

<p classMsoNormalCxSpMiddle«>Для каждого регистра в зависимости от его

типа необходимо указать предварительные настройки: для регистров накопления

остатков указать тип движения; для регистров бухгалтерии, не поддерживающих

корреспонденцию, – вид корреспонденции и счет; для регистров,

поддерживающих корреспонденцию, – счет дебета и счет кредита.</p>

<p classMsoNormalCxSpMiddle«>Если у документа есть табличные части и их

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

в списке выбора <span classInterface«>Табличная часть</span>.</p>

<p classMsoNormalCxSpMiddle«>Затем для каждого регистра производится

заполнение формул атрибутов по данным реквизитов документа.</p>

<p classMsoNormalCxSpMiddle«>В список формул нужно поместить формулы,

определяющие, как вычислять движения регистра по выбранным реквизитам документа.</p>

<p classMsoNormalCxSpMiddle«>Эти формулы можно создавать «вручную»

следующим образом. Формула вводится в колонке <span classInterface«>Формула</span> для каждого атрибута регистра, выделенного в

списке. Можно вручную набрать ее в этом поле (а также вручную редактировать в

нем созданную ранее формулу). Правильность написания формул конструктор не

проверяет.</p>

<p classMsoNormalCxSpMiddle«>Можно также двойным щелчком в списке

реквизитов документа помещать данные соответствующего реквизита в формулу. Конструктор

не проверяет соответствие типов выбранных реквизитов.</p>

<p classMsoNormalCxSpMiddle«>Если есть хотя бы один тип, принадлежащий как

реквизиту, так и измерению/ресурсу регистра и при этом их наименования совпадают,

то для таких подчиненных объектов можно применить режим <span classInterface«>Автозаполнение</span>. Наименование реквизитов при нажатии

кнопки <span classInterface«>Заполнить

выражения</span> заносится в колонку <span classInterface«>Выражение</span> и может быть отредактировано.</p>

<p classMsoNormalCxSpLast«>В результате работы конструктора в модуле

объекта создается процедура <span classTerm«>ОбработкаПроведения()</span>.

В начало процедуры конструктор помещает предупреждение: <span classInterface«>Данный фрагмент построен конструктором. При повторном

использовании конструктора внесенные вручную изменения будут потеряны!</span></p>

<a name_ref141014572«></a><a name_ref141002742«></a><a name_ref425413158«></a><a idTI000000971» classbookmark» nameissogl1_27.11.конструктор_печати«><h2>27.11.Конструктор печати</h2></a>

<p classMsoNormalCxSpFirst«>Конструктор печати предназначен для создания

макета с заданными именованными областями и процедуры печати для объекта

конфигурации.</p>

<p classMsoNormalCxSpLast«>Конструктор печати работает с объектами конфигурации:</p>

<p classMsoListBulletCxSpFirst«>

Справочники,</p>

<p classMsoListBulletCxSpMiddle«>

Документы,</p>

<p classMsoListBulletCxSpMiddle«>

Журналы документов,</p>

<p classMsoListBulletCxSpMiddle«>

Планы видов характеристик,</p>

<p classMsoListBulletCxSpMiddle«>

Планы счетов,</p>

<p classMsoListBulletCxSpMiddle«>

Планы расчетов,</p>

<p classMsoListBulletCxSpLast«>

Планы обмена.</p>

<p classMsoNormalCxSpFirst«>Основные приемы работы с конструктором печати

будут рассмотрены ниже на примере работы со справочником. Для других видов

объектов конфигурации работа с конструктором может несколько отличаться.</p>

<p classMsoNormalCxSpLast«>Для запуска конструктора печати в окне <span classInterface«>Конфигурация</span> нужно указать требуемый объект. В

контекстном меню выбрать пункт <span classInterface«>Конструкторы – Конструктор печати</span>.</p>

<p classRegularbeforepicture«>В связи с тем, что результатом работы

конструктора печати является процедура печати, располагаемая в модуле менеджера

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

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

ввода пароля на экран выводится окно конструктора.</p>

<p classPicture«><IMG src_img/img00527.gif?_=1496848987» WIDTH578» ALT HEIGHT436«></p>

<p classMsoCaption«>Рис. 519. Выбор варианта работы</p>

<p classMsoNormalCxSpFirst«>Вначале конструктор предлагает выбрать, для

какого варианта запуска будет формироваться модуль печати.</p>

<p classMsoNormalCxSpLast«>Затем конструктор предлагает создать новую

команду печати или изменить существующую команду. В случае создания новой

команды предлагается указать ее имя. По умолчанию для команды предлагается имя <span classInterface«>Печать</span>. Указанное имя будет использоваться в качестве:</p>

<p classMsoListBulletCxSpFirst«>

имени команды объекта;</p>

<p classMsoListBulletCxSpMiddle«>

имени серверного метода модуля команды;</p>

<p classMsoListBulletCxSpLast«>

имени метода менеджера объекта, который

непосредственно реализует процедуру печати.</p>

<p classPicture«><IMG src_img/img00528.gif?_=1496848987» WIDTH578» ALT HEIGHT436«></p>

<p classMsoCaption«>Рис. 520. Создание команды печати</p>

<p classMsoNormal«>Если выбрано изменение существующей команды,

то в модуле команды объекта будут замещены тексты обработчика <span classTerm«>ОбработкаКоманды()</span>,

серверного метода с именем команды (в данном случае – <span classTerm«>Печать()</span>),

метода модуля менеджера объекта с именем команды и макета.</p>

<p classRegularbeforepicture«>После нажатия кнопки <span classInterface«>Далее &gt;</span> конструктор переходит к выбору

реквизитов шапки. С помощью кнопок переноса нужно сформировать список

реквизитов.</p>

<p classPicture«><IMG src_img/img00529.gif?_=1496848987» WIDTH578» ALT HEIGHT436«></p>

<p classMsoCaption«>Рис. 521. Выбор реквизитов шапки</p>

<p classMsoNormalCxSpFirst«>Если объект конфигурации имеет табличные

части, то после нажатия кнопки <span classInterface«>Далее &gt;</span> конструктор переходит к выбору реквизитов

очередной табличной части. Список печати формируется аналогично списку

реквизитов шапки.</p>

<p classMsoNormalCxSpLast«>Если объект конфигурации имеет табличные

части, то после нажатия кнопки <span classInterface«>Далее &gt;</span> конструктор переходит к выбору реквизитов

подвала.</p>

<p classRegularbeforepicture«>Затем следует указать, к какой группе будет

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

документа.</p>

<p classPicture«><IMG src_img/img00530.gif?_=1496848987» WIDTH578» ALT HEIGHT436«></p>

<p classMsoCaption«>Рис. 522. Настройка конструктора

печати</p>

<p classMsoNormalCxSpFirst«>Нажатие кнопки <span classInterface«>ОК</span> завершает работу конструктора печати.</p>

<p classMsoNormalCxSpLast«>В результате работы конструктора:</p>

<p classMsoListBulletCxSpFirst«>

У выбранного объекта создается макет <span classInterface«>Макет</span> с печатной формой (имя формы соответствует имени

созданной команды).</p>

<p classMsoListBulletCxSpMiddle«>

У выбранного объекта создается команда, которая

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

команды), заполняющую переданный табличный документ.</p>

<p classMsoListBulletCxSpLast«>

В модуле менеджера выбранного объекта

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

объектов (список). Созданная команда получает права, аналогичные праву <span classInterface«>Просмотр</span> объекта, для которого вызывается конструктор.</p>

<a name_ref141014854«></a><a name_ref141014711«></a><a name_ref141014641«></a><a name_ref141003107«></a><a idTI000000972» classbookmark» nameissogl1_27.12.конструктор_ввода_на_основании«><h2>27.12.Конструктор ввода на основании</h2></a>

<p classMsoNormalCxSpFirst«>Конструктор ввода на основании облегчает

задачу разработки процедуры, с помощью которой будет формироваться новый объект.</p>

<p classMsoNormalCxSpLast«>Конструктор ввода на основании применяется:</p>

<p classMsoListBulletCxSpFirst«>

для справочников,</p>

<p classMsoListBulletCxSpMiddle«>

документов,</p>

<p classMsoListBulletCxSpMiddle«>

планов видов характеристик,</p>

<p classMsoListBulletCxSpMiddle«>

планов счетов,</p>

<p classMsoListBulletCxSpMiddle«>

планов видов расчета,</p>

<p classMsoListBulletCxSpMiddle«>

планов обмена,</p>

<p classMsoListBulletCxSpMiddle«>

бизнес-процессов,</p>

<p classMsoListBulletCxSpLast«>

задач.</p>

<p classMsoNormal«>Для запуска конструктора в окне <span classInterface«>Конфигурация</span> нужно указать требуемый объект. В

контекстном меню выбрать пункт <span classInterface«>Конструкторы – Конструктор ввода на основании</span>. Если

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

указанный пункт контекстного меню будет доступен.</p>

<p classRegularbeforepicture«>При запуске открывается окно <span classInterface«>Конструктор ввода на основании</span>.</p>

<p classPicture«><IMG src_img/img00531.gif?_=1496848987» WIDTH598» ALT HEIGHT488«></p>

<p classMsoCaption«>Рис. 523. Конструктор ввода на

основании</p>

<p classMsoNormalCxSpFirst«>В верхней части содержится список

объектов-оснований; список реквизитов объекта-основания, выбранного в первом

списке.</p>

<p classMsoNormalCxSpMiddle«>В нижней части расположен список реквизитов

результирующего объекта. В список реквизитов объекта нужно поместить выражения,

определяющие, как заполнять реквизиты документа по выбранным реквизитам

объекта-основания.</p>

<p classMsoNormalCxSpMiddle«>Эти формулы можно создавать «вручную»

следующим образом. Выражение определяется в поле ввода <span classInterface«>Формула</span> заполнения реквизита для реквизита объекта,

выделенного в списке. Можно вручную набрать ее в этом поле (а также вручную

редактировать в нем созданную ранее формулу). Правильность написания формул

конструктор не проверяет.</p>

<p classMsoNormalCxSpMiddle«>Можно также двойным щелчком в списке

реквизитов объекта-основания помещать данные соответствующего реквизита в поле <span classInterface«>Формула</span> заполнения реквизита, причем сразу в правильной

записи. Конструктор не проверяет соответствие типов выбранных реквизитов.</p>

<p classMsoNormalCxSpMiddle«>Возможна и комбинация двух описанных

способов: данные из списка реквизитов объектов-оснований при помещении в поле

ввода замещают не всю имеющуюся там информацию, а только выделенные символы.</p>

<p classMsoNormalCxSpMiddle«>По кнопке <span classInterface«>Автозаполнение после запроса</span> и подтверждения программа

сама создаст формулы для заполнения по реквизитам объекта-основания. Ранее

заполненные формулы при автоматическом заполнении не изменяются. Подбор среди

реквизитов объекта-основания соответствий реквизитам документа осуществляется с

учетом имен реквизитов, их идентификаторов и типов.</p>

<p classMsoNormalCxSpMiddle«>По кнопке <span classInterface«>Очистить формулы</span> после запроса и подтверждения очищаются

все формулы, созданные как автоматически, так и вручную.</p>

<p classMsoNormalCxSpMiddle«>Формулы, созданные для объекта-основания,

выбранного в списке объектов-оснований, запоминаются при переходе к другому

объекту-основанию этого списка. Поэтому можно, не прекращая работы

конструктора, создать процедуры ввода на основании для нескольких

документов-оснований. Можно также возвращаться к редактированию процедуры для

какого-либо объекта-основания, снова выбирая его в списке.</p>

<p classMsoNormalCxSpMiddle«>Для прекращения работы конструктора служат

кнопки <span classInterface«>ОК</span>

и <span classInterface«>Отмена</span>

(соответственно с сохранением и без сохранения сделанных изменений).</p>

<p classMsoNormalCxSpMiddle«>В результате работы конструктора в модуле

объекта создается процедура <span classTerm«>ОбработкаЗаполнения()</span>.

В начало процедуры конструктор помещает предупреждение: <span classInterface«>Данный фрагмент построен конструктором. При повторном

использовании конструктора внесенные вручную изменения будут потеряны!</span></p>

<p classMsoNormalCxSpLast«>При повторном использовании конструктора все

формулы, сформированные ранее для какого-либо документа-основания, будут

появляться в списке реквизитов документа при выделении соответствующего

документа-основания в списке документов-оснований. Конструктор предъявит для

просмотра и редактирования формулы, сформированные при предыдущем его запуске,

как с помощью кнопки <span classInterface«>Заполнить</span> формулы автоматически, так и вручную. Более

того, он учтет и формулы, вручную внесенные в модуль документа, если они

помещены в формируемую им процедуру. Правильность этих формул конструктор не

проверяет. Например, если для какого-то реквизита документа указано заполнение

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

выберет один из них (по алфавиту). Именно он останется в модуле после

обновления результатов работы конструктора. Вторая строка, соответствующая тому

же реквизиту, будет удалена.</p>

<a name_ref219792197«></a><a name_ref219791782«></a><a name_ref216266793«></a><a name_ref441854797«></a><a idTI000000973» classbookmark» nameissogl1_27.13.конструктор_форм_объектов_конфигурации«><h2>27.13.Конструктор форм объектов конфигурации</h2></a>

<p classMsoNormal«>Для каждого объекта конфигурации, в составе

которого могут находиться подчиненные объекты типа <span classInterface«>Форма</span>, при добавлении новой формы запускается <span classInterface«>Конструктор формы</span>. Это специальный мастер, с помощью

которого производится выбор типа формы и размещаются реквизиты объекта конфигурации.

Несмотря на существенные различия типов объектов, для которых производится

создание формы, конструкторы имеют много общего. Поэтому рассмотрим работу конструктора

форм на примере конструктора формы документа.</p>

<p classRegularbeforepicture«>При создании новой формы объекта на экран

выводится конструктор формы.</p>

<p classPicture«><IMG src_img/img00532.gif?_=1496848987» WIDTH449» ALT HEIGHT420«></p>

<p classMsoCaption«>Рис. 524. Конструктор формы</p>

<p classMsoNormal«>Группа элементов управления <span classInterface«>Выберите тип формы</span> предназначена для выбора типа формы

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

форма). Для объекта конфигурации <span classTerm«>Документ</span>

это следующие формы:</p>

<p classMsoListBulletCxSpFirst«>

форма документа;</p>

<p classMsoListBulletCxSpMiddle«>

форма списка документа;</p>

<p classMsoListBulletCxSpMiddle«>

форма выбора документа;</p>

<p classMsoListBulletCxSpLast«>

произвольная форма (пустая форма).</p>

<p classMsoNormalCxSpFirst«>Число форм по каждому типу форм неограниченно.

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

качестве основной. Если при вызове формы объекта не указано явно, какую именно

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

формы при создании нужно установить флажок <span classInterface«>Назначить форму основной</span>. В дальнейшем выбор основной

формы можно изменить в окне редактирования объекта (см. <A href/db/content/v8310doc/src/руководство разработчика/глава 2. работа с конфигурацией.htm?_=1496848987#_ref216514138«>здесь</a>), на закладке <span classInterface«>Формы</span>.</p>

<p classMsoNormalCxSpMiddle«>Выбор типа <span classInterface«>Произвольная форма</span> не приводит к созданию основного

реквизита. В этом случае форма имеет типовое поведение. Выбор иного типа формы

влечет создание основного реквизита и определяет отличительное от типового поведение

формы. Данные отличия описываются объектами, называемыми расширение формы (см. описание

соответствующих объектов справки по встроенному языку).</p>

<p classMsoNormalCxSpMiddle«>Выбор типа формы определяет тип основного

реквизита и, следовательно, поведение всей формы, а также возможный состав команд

панели инструментов.</p>

<p classMsoNormalCxSpMiddle«>Нужно указать имя формы, синоним и

комментарий.</p>

<p classMsoNormalCxSpMiddle«>Состав команд командных панелей определяется

источником действий и типом основного реквизита формы.</p>

<p classMsoNormalCxSpLast«>Если нажать кнопку <span classInterface«>Готово</span>, то конструктор самостоятельно разместит элементы

управления в форме и откроет форму для редактирования.</p>

<p classRegularbeforepicture«>Если необходимо изменить состав реквизитов

формы, следует нажать кнопку <span classInterface«>Далее &gt;</span>. Состав реквизитов определяется основным

реквизитом формы.</p>

<p classPicture«><IMG src_img/img00533.gif?_=1496848987» WIDTH449» ALT HEIGHT422«></p>

<p classMsoCaption«>Рис. 525. Выбор реквизитов формы</p>

<p classMsoNormal«>На этом шаге конструктора формы следует

выбрать реквизиты, которые необходимо разместить в форме. Выбор осуществляется

в колонке <span classInterface«>Реквизиты</span>

установкой пометки слева от наименования элемента.</p>

<p classNote«><span classNote«>ВНИМАНИЕ!</span> Конструктор формы не

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

<span classTerm«>ХранилищеЗначения</span>).</p>

<a name_ref217280928«></a><a idTI000000974» classbookmark» nameissogl2_27.13.1_особенности_конструктора_форм_констант«><h3>27.13.1. Особенности конструктора форм констант</h3></a>

<p classRegularbeforepicture«>Каждая константа может иметь собственную

форму редактирования. Для создания такой формы необходимо выполнить команду <span classInterface«>Создать форму констант</span> контекстного меню нужной

константы.</p>

<p classPicture«><IMG src_img/img00534.gif?_=1496848987» WIDTH324» ALT HEIGHT349«></p>

<p classMsoCaption«>Рис. 526. Создание формы

редактирования констант</p>

<p classRegularbeforepicture«>После выполнения данной команды будет открыт

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

системы и текущая константа будет единственным выбранным реквизитом (по

умолчанию).</p>

<p classPicture«><IMG src_img/img00535.gif?_=1496848987» WIDTH702» ALT HEIGHT420«></p>

<p classMsoCaption«>Рис. 527. Выбор редактируемых

констант</p>

<p classMsoNormalCxSpFirst«>Такая же форма будет автоматически создана

системой, если у константы не будет заполнено свойство <span classInterface«>Основная форма</span>, но будет установлено свойство <span classInterface«>Использовать стандартные команды</span>.</p>

<p classMsoNormalCxSpMiddle«>Если необходимо создать форму редактирования

нескольких констант, то следует создать общую форму типа <span classInterface«>Форма констант</span>, а затем на странице выбора реквизитов

указать константы, которые необходимо редактировать.</p>

<p classMsoNormalCxSpMiddle«>Формы констант будут входить в командный

интерфейс тех подсистем, куда входит сама константа (если у константы установлено

свойство <span classInterface«>Использовать

стандартные команды</span>) и общая форма редактирования константы (если у

общей формы установлено свойство <span classInterface«>Использовать стандартные команды</span>).</p>

<p classMsoNormalCxSpLast«>Если для константы, у которой установлено

свойство <span classInterface«>Использовать

стандартные команды</span>, создается форма редактирования, то конструктор

общей формы сбрасывает свойство <span classInterface«>Использовать стандартные команды</span> для формы. Таким

образом, формы редактирования константы будут попадать в командные интерфейсы

только тех подсистем, куда входит сама константа.</p>

<a name_ref141015030«></a><a name_ref141003509«></a><a idTI000000975» classbookmark» nameissogl1_27.14.конструктор_макета«><h2>27.14.Конструктор макета</h2></a>

<p classMsoNormal«>Конструктор макета используется для создания

макетов объектов конфигурации и общих макетов.</p>

<p classRegularbeforepicture«>Окно конструктора выводится на экран при

выполнении пункта <span classInterface«>Действия – Добавить</span>, если выбрана ветвь подчиненного

объекта <span classInterface«>Макеты</span>

или <span classInterface«>Общие макеты</span>.</p>

<p classPicture«><IMG src_img/img00536.gif?_=1496848987» WIDTH449» ALT HEIGHT437«></p>

<p classMsoCaption«>Рис. 528. Конструктор макета</p>

<p classMsoNormalCxSpFirst«>Нужно указать имя, синоним и комментарий и выбрать

тип макета.</p>

<p classMsoNormalCxSpMiddle«>Тип <span classInterface«>Табличный документ</span> предполагает использование

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

системы «1С:Предприятие».</p>

<p classMsoNormalCxSpMiddle«>Тип макета <span classInterface«>Текстовый документ</span> предполагает использование специально

подготовленных в качестве макетов текстовых документов. Для текстового

документа свойство <span classInterface«>Расширение</span> имеет значение <span classInterface«>Текстовый макет</span>.</p>

<p classMsoNormalCxSpLast«>Выбор типа <span classInterface«>Двоичные данные</span> подразумевает, что разработчик

конфигурации знает, как работать с объектом данного типа.</p>

<p classRegularbeforepicture«>Тип макета <span classInterface«>Active document</span> позволяет использовать технологию <span classInterface«>OLE Active document</span>. Если нажать кнопку <span classInterface«>Готово</span>, то конструктор производит поиск доступных типов <span classInterface«>Active document</span> и предлагает выбрать один из найденных.</p>

<p classPicture«><IMG src_img/img00537.gif?_=1496848987» WIDTH506» ALT HEIGHT277«></p>

<p classMsoCaption«>Рис. 529. Вставка Active document</p>

<p classMsoNormalCxSpFirst«>Можно выбрать готовый <span classInterface«>Active document</span>, служащий основой для создания макета

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

список поддерживаемых <span classInterface«>Active document</span>, то конструктор выводит предупреждение.</p>

<p classMsoNormalCxSpMiddle«>Указанный документ будет храниться в

конфигурации. Работа с макетом должна быть организована с использованием

свойств и методов, предоставляемых выбранной технологической платформой.</p>

<p classMsoNormalCxSpLast«>Если выбран тип <span classInterface«>HTML-документ</span>, то открывается редактор HTML-макета. В

данном режиме поддерживаются все возможности HTML-редактора. В дополнение к

этому редактор HTML-макета позволяет использовать картинки библиотеки картинок,

из файла, из файла-коллекции или из «внутренних» картинок. Внутренние картинки –

это уже выбранные из файла картинки, они хранятся «внутри» макета.</p>

<p classRegularbeforepicture«>Чтобы поместить картинку в макет, нужно

выбрать пункт <span classInterface«>Элементы –

Картинка…</span></p>

<p classPicture«><IMG src_img/img00538.gif?_=1496848987» WIDTH352» ALT HEIGHT193«></p>

<p classMsoCaption«>Рис. 530. Вставка картинки</p>

<p classRegularbeforepicture«>Для выбора картинки нажать кнопку выбора. В открывшемся

окне выбрать нужную картинку.</p>

<p classPicture«><IMG src_img/img00539.gif?_=1496848987» WIDTH469» ALT HEIGHT353«></p>

<p classMsoCaption«>Рис. 531. Выбор картинки</p>

<p classMsoNormalCxSpFirst«>Выбор типа <span classInterface«>Географическая схема</span> позволяет использовать

подготовленные редактором географических схем документы для создания макета.</p>

<p classMsoNormalCxSpMiddle«>Выбор типа <span classInterface«>Графическая схема</span> позволяет использовать графические

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

файла и использовать ее в качестве макета.</p>

<p classMsoNormalCxSpMiddle«>Выбор типа <span classInterface«>Схема компоновки данных</span> открывает конструктор схемы

компоновки данных (см. <A href/db/content/v8310doc/src/руководство разработчика/глава 10. система компоновки данных.htm?_=1496848987#_ref166301286«>здесь</a>).</p>

<p classMsoNormalCxSpLast«>Выбор типа <span classInterface«>Макет оформления компоновки данных</span> открывает окно

конструктора макета оформления (см. <A href/db/content/v8310doc/src/руководство разработчика/глава 10. система компоновки данных.htm?_=1496848987#_ref166301515«>здесь</a>).<br>

Выбор типа <span classInterface«>Внешняя

компонента</span> позволяет загрузить внешнюю компоненту в zip-архиве. В архив должны

входить собственно файлы внешних компонент и специальный манифест. Внешняя

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

прикладном решении, так и в мобильном приложении (см. <A href/db/content/v8310doc/src/руководство разработчика/глава 25. разработка решений для мобильной платформы.htm?_=1496848987#_ref335129928«>здесь</a>).</p>

<a name_ref216235847«></a><a name_ref216164271«></a><a name_ref452127037«></a><a name_ref452127036«></a><a idTI000000976» classbookmark» nameissogl1_27.15.конструктор_форматной_строки«><h2>27.15.Конструктор форматной строки</h2></a>

<p classMsoNormalCxSpFirst«>Для написания выражений, использующих

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

форматной строки.</p>

<p classMsoNormalCxSpMiddle«>Чтобы вызвать конструктор, нужно установить

курсор в требуемое место текста модуля и выбрать пункт <span classInterface«>Текст – Конструктор форматной строки</span>. Для новой

строки редактор выводит сообщение: <span classInterface«>Форматная строка не найдена. Создать новую форматную строку?</span>

После нажатия кнопки <span classInterface«>Да</span> на экран выводится окно конструктора.</p>

<p classMsoNormalCxSpMiddle«>Также конструктор можно вызвать из свойств <span classInterface«>Формат</span> и <span classInterface«>Формат редактирования</span> элемента формы. Для этого нужно

нажать кнопку выбора соответствующего свойства.</p>

<p classMsoNormalCxSpMiddle«>Закладки окна соответствуют типу данных,

форматная строка которых формируется в окне.</p>

<p classMsoNormalCxSpLast«>Элементы управления, с помощью которых

выбирается формат представления, размещены на трех закладках по типам данных:</p>

<p classMsoListBulletCxSpFirst«>

число,</p>

<p classMsoListBulletCxSpMiddle«>

дата,</p>

<p classMsoListBulletCxSpLast«>

логические значения.</p>

<p classMsoNormal«>Поле <span classInterface«>Язык (Страна)</span> (параметр <span classTerm«>Л</span>)

определяет представление информации в соответствии с национальными

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

по отношению к указанию страны.</p>

<p classRegularbeforepicture«>Для числа нужно выбрать закладку <span classInterface«>Число</span>.</p>

<p classPicture«><IMG src_img/img00540.gif?_=1496848987» WIDTH467» ALT HEIGHT397«></p>

<p classMsoCaption«>Рис. 532. Конструктор форматной

строки для числа</p>

<p classMsoNormalCxSpFirst«>В поле <span classInterface«>Длина</span> (параметр <span classTerm«>ЧЦ</span>) указывается общее число десятичных знаков

(целой и дробной частей). В поле <span classInterface«>Точность</span> (параметр <span classTerm«>ЧДЦ</span>) указывается число десятичных знаков дробной

части.</p>

<p classMsoNormalCxSpMiddle«>В поле <span classInterface«>Сдвиг</span> (параметр <span classTerm«>ЧС</span>) указывается сдвиг разрядов. Если значение

поля положительное, то производится деление числа на 10 в соответствующей

степени, если отрицательное – умножение.</p>

<p classMsoNormalCxSpMiddle«>В поле <span classInterface«>Разделитель дробной части</span> (параметр <span classTerm«>ЧРД</span>) задается символ разделителя.</p>

<p classMsoNormalCxSpMiddle«>В поле <span classInterface«>Разделитель групп</span> (параметр <span classTerm«>ЧРГ</span>) задается символ разделителя групп. Если в

качестве разделителя использовать пустую строку, то разделителем будет символ

неразрывного пробела.</p>

<p classMsoNormalCxSpMiddle«>В поле <span classInterface«>Группировка</span> (параметр <span classTerm«>ЧГ</span>) выбирается вариант группировки цифр в

целой части числа.</p>

<p classMsoNormalCxSpMiddle«>В поле <span classInterface«>Представление нуля</span> (параметр <span classTerm«>ЧН</span>) выбирается вариант представления нулевого

значения. Параметр можно использовать в форматной строке, для поля ввода он не

используется.</p>

<p classMsoNormalCxSpMiddle«>В поле <span classInterface«>Представление отрицательных чисел</span> (параметр <span classTerm«>ЧО</span>) выбирается вариант представления

отрицательных чисел.</p>

<p classMsoNormalCxSpLast«>Если флажок <span classInterface«>Выводить лидирующие нули</span> (параметр <span classTerm«>ЧВН</span>) установлен, то лидирующие нули выводятся.</p>

<p classNote«><span classNote«>Совет.</span> В нижней части окна

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

строки (группа <span classInterface«>Пример</span>) и сама форматная строка.</p>

<p classRegularbeforepicture«>Для настройки даты нужно выбрать закладку <span classInterface«>Дата</span>.</p>

<p classPicture«><IMG src_img/img00541.gif?_=1496848987» WIDTH467» ALT HEIGHT397«></p>

<p classMsoCaption«>Рис. 533. Конструктор форматной

строки для даты</p>

<p classMsoNormalCxSpFirst«>В поле <span classInterface«>Формат даты</span> (параметр <span classTerm«>ДФ</span>) выбирается вариант представления даты. Рекомендуется

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

или иной формат представления даты, вне зависимости от параметров локализации.

Например, для форматной строки <span classTerm«>ДФ=гггг-ММ-дд</span>,

представление даты всегда будет выглядеть как <span classInterface«>2015-12-01</span>.</p>

<p classMsoNormalCxSpLast«>В поле <span classInterface«>Локальный формат даты</span> (параметр <span classTerm«>ДЛФ</span>) выбирается локальный вариант

представления даты. Для поля ввода не допускается выбор значения параметра <span classTerm«>ДД</span>. Этот вариант представления рекомендуется

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

учитывать текущие параметры локализации. Параметры локализации могут

указываться как непосредственно в форматной строке, так и получаться из

региональных настроек информационной базы.</p>

<p classLang-subheader«>Пример:</p>

<a classcopy_source» href#_top» onClickreturn false«>Копировать в буфер обмена</a>

<pre classsrc_res«>

Формат(‘20151201’, &quot;Л=ru;ДЛФ=Д&quot;) = 01.12.2015

Формат(‘20151201’, &quot;Л=en_US;ДЛФ=Д&quot;) = 12/1/2015

Формат(‘20151201’, &quot;Л=ru;ДЛФ=ДB&quot;) = 01.12.2015 0:00:00

Формат(‘20151201’, &quot;Л=en_US;ДЛФ=ДВ&quot;) = 12/1/2015 12:00:00 AM

</pre>

<p classMsoNormal«>В поле <span classInterface«>Представление пустой даты</span> (параметр <span classTerm«>ДП</span>) выбирается вариант представления пустой

даты. Параметр можно использовать в форматной строке, для поля ввода он не используется.</p>

<p classNote«><span classNote«>Совет.</span> В нижней части окна

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

строки (группа <span classInterface«>Пример</span>) и сама форматная строка.</p>

<p classRegularbeforepicture«>Для данных типа <span classTerm«>Булево</span>

нужно выбрать закладку <span classInterface«>Логическое значение</span>.</p>

<p classPicture«><IMG src_img/img00542.gif?_=1496848987» WIDTH467» ALT HEIGHT397«></p>

<p classMsoCaption«>Рис. 534. Конструктор форматной

строки для логического значения</p>

<p classMsoNormalCxSpFirst«>Если какое-то значение не выбрано, то оно

выбирается из настроек, устанавливаемых по умолчанию.</p>

<p classMsoNormalCxSpMiddle«>Подробнее о параметрах форматной строки написано

в описании параметра <span classTerm«>ФорматнаяСтрока</span>

метода <span classTerm«>Формат()</span>

в описании встроенного языка.</p>

<p classMsoNormalCxSpLast«>В результате использования конструктора

форматной строки в текст (или поле ввода) будет вставлена сформированная строка

(при нажатии кнопки <span classInterface«>ОК</span>).</p>

<p classNote«>Совет. В

редакторе текстов можно установить курсор внутри форматной строки и выбрать

пункт меню <span classInterface«>Текст – Конструктор

форматной строки</span> для изменения существующей форматной строки.</p>

<a idTI000000977» classbookmark» nameissogl1_27.16.конструктор_строк_на_разных_языках«><h2>27.16.Конструктор строк на разных языках</h2></a>

<p classMsoNormalCxSpFirst«>Конструктор позволяет отредактировать строки

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

наборе, однако конфигурация не содержит языков с таким кодом.</p>

<p classMsoNormalCxSpLast«>Результатом работы конструктора будет строка

вида:</p>

<a classcopy_source» href#_top» onClickreturn false«>Копировать в буфер обмена</a>

<pre classsrc_res«>&lt;код_языка1&gt; = &lt;Строка_1&gt;; &lt;код_языка2&gt; = &lt;Строка_2&gt;;…</pre>

<p classMsoNormal«>Конструктор удобно использовать при создании

параметра <span classTerm«>ИсходнаяСтрока</span>

функции глобального контекста <span classTerm«>НСтр()</span>.</p>

<p classRegularbeforepicture«>Для вызова конструктора следует установить

курсор в нужное место модуля и выбрать пункт <span classInterface«>Текст – Конструктор строк на разных языках</span>. Редактор

анализирует текст модуля в области курсора и, когда найдена конструкция,

открывает окно конструктора. Если конструкция не найдена, то конструктор сообщает

об этом.</p>

<p classPicture«><IMG src_img/img00543.gif?_=1496848987» WIDTH386» ALT HEIGHT190«></p>

<p classMsoCaption«>Рис. 535. Конструктор строк на

разных языках</p>

<p classMsoNormalCxSpFirst«>В окне конструктора будет столько полей для

ввода текста, сколько языков определено для конфигурации.</p>

<p classMsoNormalCxSpLast«>Нужно ввести тексты и нажать кнопку <span classInterface«>ОК</span>. Результатом работы конструктора будет строка:</p>

<a classcopy_source» href#_top» onClickreturn false«>Копировать в буфер обмена</a>

<pre classsrc_res«>ru = ‘Доброе утро!’; en = ‘Good Morning!’</pre>

<a name_ref219791844«></a><a name_ref216072559«></a><a idTI000000978» classbookmark» nameissogl1_27.17.редактор_табличных_документов«><h2>27.17.Редактор табличных документов</h2></a>

<p classMsoNormalCxSpFirst«>Для создания различных печатных форм, а также

форм, предназначенных для представления и ввода информации с использованием

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

редактор табличных документов.</p>

<p classMsoNormalCxSpLast«>Таблицу сочетаний клавиш для редактора

табличных документов можно найти в справке при использовании программы.</p>

<a idTI000000979» classbookmark» nameissogl2_27.17.1_что_такое_табличный_документ_в_системе_1с_предприятие«><h3>27.17.1. Что такое табличный документ в системе «1С:Предприятие»</h3></a>

<p classMsoNormalCxSpFirst«>Хотя в программе реализована возможность

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

отображения данных различных типов, как в «обычных» электронных таблицах

(использование табличных документов, размещенных в форме), табличные документы

в системе «1С:Предприятие» используются в основном для представления уже обработанной

информации, в частности, описания печатной формы отчета. Обработка информации и

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

выполняются программными модулями на языке системы «1С:Предприятие».</p>

<p classMsoNormalCxSpMiddle«>В системе программ «1С:Предприятие» табличный

редактор применяется для работы с отдельными табличными документами и макетами

печатных форм.</p>

<p classMsoNormalCxSpMiddle«>Сформированный табличный документ можно

сохранить в файл на диске в различных форматах. Если документ сохранен в

формате MXL, то в дальнейшем этот документ можно просмотреть с помощью

программы работы с файлами, скачать которую можно по этому адресу: <a hrefhttp://v8.1c.ru/metod/fileworkshop.htm» target_blank«>http://v8.1c.ru/metod/fileworkshop.htm</a>.</p>

<p classMsoNormalCxSpMiddle«>Макет хранится внутри конфигурации. Макеты

бывают общими (располагаются в ветви <span classInterface«>Общие – Макеты</span>; например, макеты стандартных

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

относиться к определенному объекту конфигурации (например, карточка основного

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

форм.</p>

<p classMsoNormalCxSpMiddle«>В форме также можно расположить табличный документ.

Для этого необходимо использовать элемент управления <span classInterface«>Поле табличного документа</span>. В этом режиме в табличный документ

можно вставить другие элементы управления.</p>

<p classMsoNormalCxSpMiddle«>Макеты и табличные документы с точки зрения

приемов работы практически полностью совпадают.</p>

<p classMsoNormalCxSpLast«>Табличные документы (отдельные файлы и

макеты) можно сравнивать и объединять.</p>

<a idTI000000980» classbookmark» nameissogl2_27.17.2_макет«><h3>27.17.2. Макет</h3></a>

<p classMsoNormal«>Создание макета производится конструктором

макетов (см. <a href#_ref141015030«>здесь</a>) и конструктором запроса с обработкой результата (см. <a href#_ref141002886«>здесь</a>).</p>

<a idTI000000981» classbookmark» nameissogl3_27.17.2.1_общие_принципы_проектирования_макета«><h4>27.17.2.1. Общие принципы проектирования макета</h4></a>

<p classMsoNormalCxSpFirst«>Проектирование макета заключается в

«рисовании» составных частей, кирпичиков – именованных областей, из которых

затем будет «собрана» готовая выходная форма – отчет. Так как практически

все деловые документы имеют «прямоугольную» структуру, удобнее всего создавать

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

элементами.</p>

<p classMsoNormalCxSpMiddle«>Именно таким редактором и является табличный

редактор, входящий в систему «1С:Предприятие». В процессе создания макета можно

вводить в ячейки табличного документа разнообразный текст; задавать параметры

форматирования (ячейке в целом); изменять высоту строк и ширину колонок;

включать в макет рисованные элементы – линии и прямоугольники, а также

другие графические объекты: картинки, OLE-объекты и диаграммы, различные

элементы управления; определять оформление как всего табличного документа, так

и отдельных ячеек или групп ячеек.</p>

<p classMsoNormalCxSpMiddle«>При создании макета отчета руководствуются

следующим.</p>

<p classMsoNormalCxSpMiddle«>Практически каждый отчет состоит из так

называемой шапки (заголовка) отчета, в которой указывается наименование отчета,

исходные параметры построения. Для формирования таких данных создают

именованную область, которую чаще всего называют <span classInterface«>Шапка</span>. Если в отчете присутствует табличная часть, то в

шапку обычно включают наименования колонок.</p>

<p classMsoNormalCxSpMiddle«>Для вывода строк создают именованные области

(в показанном на <a href#_ref212448386«>рис.536</a> примере это <span classTerm«>Строка</span>),

отвечающие за вывод различной информации в табличную часть. Число строк

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

информация в табличной части повторяется, поэтому при построении отчета используют

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

для вывода конкретной информации, ставят в соответствие параметры (в

приведенном примере это <span classInterface«>Счет</span>, <span classInterface«>Наименование</span>, <span classInterface«>Цена</span>, <span classInterface«>Сумма</span> и др.). При выводе очередной строки этим

параметрам присваивают содержимое каждой выводимой строки, а затем уже включают

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

выведена вся информация табличной части.</p>

<p classMsoNormalCxSpLast«>Обычно отчет завершается выводом итоговых

данных и реквизитами ответственных лиц. Эти данные обычно размещают в области,

именуемой <span classInterface«>Подвал</span>.</p>

<p classRegularbeforepicture«>В окончательном виде макет представляет собой

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

какой-то части готового отчета: область для выдачи заголовочной части

(наименования, даты и т. п.); область для выдачи шапки табличной

части и так далее.</p>

<p classPicture«><IMG src_img/img00544.gif?_=1496848987» WIDTH800» ALT HEIGHT504«></p>

<p classMsoCaption«><a name_ref212448386«>Рис. </a>536. Пример макета</p>

<p classMsoNormal«>Сам процесс построения отчета происходит

следующим образом:</p>

<p classMsoListBulletCxSpFirst«>

Вначале отчет строится как пустой табличный документ.

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

макет представляет собой некий конструктор, набор областей, из которых в

процессе работы программного модуля складывается готовый отчет.</p>

<p classMsoListBulletCxSpLast«>

В процессе обработки алгоритма отчета из макета

в нужном порядке извлекаются поименованные области, транслируются (вместо

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

готового отчета. Средства языка формирования отчетов позволяют наращивать отчет

как вниз, так и вправо.</p>

<a idTI000000982» classbookmark» nameissogl3_27.17.2.2_свойства_ячеек_макета«><h4>27.17.2.2. Свойства ячеек макета</h4></a>

<a idTI000000983» classbookmark» nameissogl4_категория_свойств_макет«><h5>Категория свойств «Макет»</h5></a>

<p classMsoNormalCxSpFirst«>Категория свойств <span classInterface«>Макет</span> показывается, если в свойствах табличного

документа установлено свойство <span classInterface«>Макет</span>.</p>

<p classMsoNormalCxSpLast«><span classInterface«>Заполнение</span>

пункты свойства <span classInterface«>Заполнение</span> устанавливают, какого рода информация введена

в ячейку. Свойство показывается, если в категории <span classInterface«>Значения</span> не установлено свойство <span classInterface«>Содержит значение</span>. Пункты не изменяют внешний вид

ячейки, а используются только в процессе обработки шаблона, при формировании

готового табличного документа.</p>

<p classRegularbeforetable«>Пункты этого списка имеют следующий смысл:</p>

<table classMsoNormalTable» border0» cellspacing0» cellpadding0«>

<tr>

<td valigntop«>

<p classMsoNormalCxSpFirst«><b>Формат данных</b></p>

</td>

<td valigntop«>

<p classMsoNormalCxSpMiddle«><b>Пояснение</b></p>

</td>

</tr>

<tr>

<td valigntop«>

<p classMsoNormalCxSpMiddle«>Текст</p>

</td>

<td valigntop«>

<p classMsoNormalCxSpMiddle«>Информация

в ячейке является текстом и при формировании табличного документа будет

перенесена из макета в готовый табличный документ без изменений</p>

</td>

</tr>

<tr>

<td valigntop«>

<p classMsoNormalCxSpMiddle«>Параметр</p>

</td>

<td valigntop«>

<p classMsoNormalCxSpMiddle«>Информация

в ячейке представляет собой параметр, имя которого указывается в свойстве <span classTerm«>Параметр</span></p>

</td>

</tr>

<tr>

<td valigntop«>

<p classMsoNormalCxSpMiddle«>Шаблон</p>

</td>

<td valigntop«>

<p classMsoNormalCxSpMiddle«>Информация

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

заключенных в квадратные скобки. При формировании табличного документа

переменные будут вычислены и включены в текст. Место, отводимое в тексте для

вывода значений параметров, определяется длиной этих значений.</p>

<p classMsoNormalCxSpMiddle«>Пример

шаблона: <span classInterface«>Директор: [Директор]</span></p>

</td>

</tr>

</table>

<p classMsoNormalCxSpMiddle«>Информация в ячейке готового табличного

документа преобразуется в тип <span classTerm«>Строка</span>.</p>

<p classMsoNormalCxSpLast«><span classInterface«>Параметр</span> – имя

параметра для вывода содержимого ячейки. Свойство показывается, если в

категории <span classInterface«>Значения</span>

установлено свойство <span classInterface«>Содержит значение</span> или когда в свойстве <span classInterface«>Заполнение</span> категории <span classInterface«>Макет</span> выбрано значение <span classInterface«>Параметр</span>.</p>

<p classRegularbeforepicture«><span classInterface«>Параметр расшифровки</span>

указывается имя параметра, по которому программа производит обработку расшифровки

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

табличный документ размещен в форме (элемент управления <span classInterface«>Поле табличного документа</span>).</p>

<p classPicture«><IMG src_img/img00545.gif?_=1496848987» WIDTH343» ALT HEIGHT421«></p>

<p classMsoCaption«><a name_ref216235574«>Рис. </a>537. Виды курсоров в табличном документе</p>

<p classMsoNormal«>Когда готовый табличный документ открыт в

режиме <span classInterface«>Только

просмотр</span>, при помещении указателя мыши над ячейкой, содержащей

заполненное свойство <span classInterface«>Параметр расшифровки</span>, указатель мыши может принимать

форму как на <a href#_ref216235574«>рис.537</a> (курсор вида <span classInterface«>Гиперссылка</span> будет появляться тогда, когда для

ячейки-ссылки установлено свойство <span classInterface«>Гиперссылка</span>). Это значит, что возможна детализация

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

кнопкой мыши на этой ячейке (или сделать ее активной и нажать клавишу <span classInterface«>Enter</span>, а для гиперссылки просто щелкнуть мышью), значение

поля будет выдано на экран:</p>

<p classMsoListBulletCxSpFirst«>

Значения типа <span classTerm«>Строка</span>,

<span classTerm«>Число</span>, <span classTerm«>Дата</span>

и <span classTerm«>Перечисление</span> будут выданы для просмотра.</p>

<p classMsoListBulletCxSpMiddle«>

Если значение имеет тип <span classTerm«>Документ</span>,

соответствующий документ будет открыт для просмотра и редактирования.</p>

<p classMsoListBulletCxSpLast«>

Если значение является элементом справочника,

этот элемент будет открыт для просмотра и редактирования в диалоге. Если при

настройке свойств справочника было задано редактирование в списке, будет открыта

форма списка справочника, а указатель в табличном поле будет установлен на

нужный элемент справочника.</p>

<p classMsoNormalCxSpFirst«>Эта обработка расшифровки называется

стандартной и не требует никаких дополнительных настроек.</p>

<p classMsoNormalCxSpMiddle«>Если требуется, чтобы обработка расшифровки

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

документа, в категории <span classInterface«>События</span> для события <span classInterface«>Обработка расшифровки</span> указать имя процедуры, осуществляющей

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

формы в теле этой процедуры нужно средствами встроенного языка описать обработку

расшифровки.</p>

<p classMsoNormalCxSpMiddle«>Приведем пример. Для отчета создана форма и

макет <span classInterface«>МакетПечати</span>.

Макет содержит именованные области <span classInterface«>Заголовок</span>, <span classInterface«>Шапка</span>, <span classInterface«>ТоварыШапка</span> и <span classInterface«>Товары</span>. Область <span classInterface«>Товары</span> содержит ячейку, в параметрах расшифровки которой

указано имя параметра расшифровки <span classInterface«>Расшифровка</span>. В форме размещен элемент формы типа <span classInterface«>Таблица</span>, связанный с реквизитом формы <span classTerm«>ТабДок</span>

типа <span classTerm«>ТабличныйДокумент</span>. В категории свойств <span classInterface«>События</span> этого элемента для свойства <span classInterface«>Обработка расшифровки</span> указывается на процедуру обработки

выбора ячейки <span classTerm«>РезультатОбработкиРасшифровки()</span>,

расположенной в модуле отчета.</p>

<p classMsoNormalCxSpLast«>Формирование табличного документа

производится по следующей примерной схеме:</p>

<a classcopy_source» href#_top» onClickreturn false«>Копировать в буфер обмена</a>

<pre classsrc_dev«>ТабДок<span classoperator«>.</span>ОтображатьСетку <span classoperator«>=</span> <span classkeyword«>Ложь</span><span classoperator«>;</span>

ТабДок<span classoperator«>.</span>ОтображатьЗаголовки <span classoperator«>=</span> <span classkeyword«>Ложь</span><span classoperator«>;</span>

ТабДок<span classoperator«>.</span>Защита <span classoperator«>=</span> <span classkeyword«>Истина</span><span classoperator«>;</span>

ТабДок<span classoperator«>.</span>ТолькоПросмотр <span classoperator«>=</span> <span classkeyword«>Истина</span><span classoperator«>;</span>

Макет <span classoperator«>=</span> Документы<span classoperator«>.</span>РасходТовара<span classoperator«>.</span>ПолучитьМакет<span classoperator«>(</span><span classstring«>&quot;МакетПечати&quot;</span><span classoperator«>)</span><span classoperator«>;</span>

<span classcomment«>// Заголовок</span>

Область <span classoperator«>=</span> Макет<span classoperator«>.</span>ПолучитьОбласть<span classoperator«>(</span><span classstring«>&quot;Заголовок&quot;</span><span classoperator«>)</span><span classoperator«>;</span>

ТабДок<span classoperator«>.</span>Вывести<span classoperator«>(</span>Область<span classoperator«>)</span><span classoperator«>;</span>

<span classcomment«>// Шапка</span>

Шапка <span classoperator«>=</span> Макет<span classoperator«>.</span>ПолучитьОбласть<span classoperator«>(</span><span classstring«>&quot;Шапка&quot;</span><span classoperator«>)</span><span classoperator«>;</span>

Шапка<span classoperator«>.</span>Параметры<span classoperator«>.</span>Заполнить<span classoperator«>(</span>ЭтотОбъект<span classoperator«>)</span><span classoperator«>;</span>

ТабДок<span classoperator«>.</span>Вывести<span classoperator«>(</span>Шапка<span classoperator«>)</span><span classoperator«>;</span>

<span classcomment«>// Товары</span>

Область <span classoperator«>=</span> Макет<span classoperator«>.</span>ПолучитьОбласть<span classoperator«>(</span><span classstring«>&quot;ТоварыШапка&quot;</span><span classoperator«>)</span><span classoperator«>;</span>

ТабДок<span classoperator«>.</span>Вывести<span classoperator«>(</span>Область<span classoperator«>)</span><span classoperator«>;</span>

ОбластьТовары <span classoperator«>=</span> Макет<span classoperator«>.</span>ПолучитьОбласть<span classoperator«>(</span><span classstring«>&quot;Товары&quot;</span><span classoperator«>)</span><span classoperator«>;</span>

<span classkeyword«>Для</span> <span classkeyword«>Каждого</span> ТекСтрокаТовары <span classkeyword«>Из</span> Товары <span classkeyword«>Цикл</span>

ОбластьТовары<span classoperator«>.</span>Параметры<span classoperator«>.</span>Заполнить<span classoperator«>(</span>ТекСтрокаТовары<span classoperator«>)</span><span classoperator«>;</span>

ТабДок<span classoperator«>.</span>Вывести<span classoperator«>(</span>ОбластьТовары<span classoperator«>)</span><span classoperator«>;</span>

<span classkeyword«>КонецЦикла</span><span classoperator«>;</span></pre>

<p classMsoNormal«>Пример реализации процедуры обработки выбора

расшифровки:</p>

<a classcopy_source» href#_top» onClickreturn false«>Копировать в буфер обмена</a>

<pre classsrc_dev«><span classkeyword«>Процедура</span> РезультатОбработкаРасшифровки<span classoperator«>(</span>Эл<span classoperator«>,</span> Расшифровка<span classoperator«>,</span> СтандартнаяОбработка<span classoperator«>)</span>

СтандартнаяОбработка <span classoperator«>=</span> <span classkeyword«>Ложь</span><span classoperator«>;</span>

ТипРасшифровки <span classoperator«>=</span> ТипЗнч<span classoperator«>(</span>Расшифровка<span classoperator«>)</span><span classoperator«>;</span>

<span classkeyword«>Если</span> ТипРасшифровки <span classoperator«>=</span> Тип<span classoperator«>(</span><span classstring«>&quot;СправочникСсылка.Номенклатура&quot;</span><span classoperator«>)</span> <span classkeyword«>Тогда</span>

ИмяФормыОтчета <span classoperator«>=</span> <span classstring«>&quot;ФормаОтчета1&quot;</span><span classoperator«>;</span>

<span classkeyword«>Иначе</span>

ИмяФормыОтчета <span classoperator«>=</span> <span classstring«>&quot;ФормаОтчета2&quot;</span><span classoperator«>;</span>

<span classkeyword«>КонецЕсли</span><span classoperator«>;</span>

ФормаОтчета <span classoperator«>=</span> ОбработкаОбъект<span classoperator«>.</span>ПолучитьФорму<span classoperator«>(</span>ИмяФормыОтчета<span classoperator«>)</span><span classoperator«>;</span>

ФормаОтчета<span classoperator«>.</span>ВыполнитьОтчет<span classoperator«>(</span>Расшифровка<span classoperator«>,</span> ПериодС<span classoperator«>,</span> ПериодПо<span classoperator«>)</span><span classoperator«>;</span>

ФормаОтчета<span classoperator«>.</span>Открыть<span classoperator«>(</span><span classoperator«>)</span><span classoperator«>;</span>

<span classkeyword«>КонецПроцедуры</span></pre>

<p classMsoNormalCxSpFirst«><span classTerm«>ФормаОтчета1</span> и <span classTerm«>ФормаОтчета2</span>

имена форм, разработанных специально для детализированных отчетов (обычно такие

формы содержат поле табличного документа, в которое выводится результат).</p>

<p classMsoNormalCxSpLast«><span classInterface«>Использование

расшифровки</span> – определяется область использования расшифровки. При

выборе ячейки расшифровка возможна только для указанной ячейки; при выборе

строки расшифровка действует в каждой ячейке текущей строки. Если выбрано <span classInterface«>Не использовать</span> и указана расшифровка, расшифровка не

действует: указатель мыши не изменяет форму (возможные виды курсоров (см. <a href#_ref216235574«>рис.537</a>) и выбор в ячейке не отрабатывается.</p>

<a idTI000000984» classbookmark» nameissogl4_категория_свойств_значения«><h5>Категория свойств «Значения»</h5></a>

<p classMsoNormalCxSpFirst«><span classInterface«>Содержит значение</span>

если установлено, то ячейка содержит значение. Установка свойства влияет на

состав свойств других категорий.</p>

<p classMsoNormalCxSpMiddle«><span classInterface«>Тип значения</span>

тип значения ячейки. Для табличного документа перечень содержит типы <span classTerm«>Число</span>,

<span classTerm«>Строка</span>, <span classTerm«>Дата</span>

и <span classTerm«>Булево</span>. Для элемента управления формы <span classInterface«>Поле табличного документа</span> помимо примитивных типов

перечень дополнительно содержит типы, определенные для текущей конфигурации, –

документы, справочники, перечисления и т. д. Кроме того, можно

установить тип данных <span classTerm«>Произвольный</span>.

В таком случае он может быть определен уже во время заполнения формы с помощью

средств встроенного языка.</p>

<p classMsoNormalCxSpMiddle«><span classInterface«>Элемент управления</span>

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

значений зависит от выбранного типа содержимого. Например, при выборе в типе

данных значения <span classTerm«>Число</span>

в качестве редактора можно выбрать <span classInterface«>Поле ввода</span> или <span classInterface«>Флажок</span>. Для выбранного типа редактора в список объектов

(<span classInterface«>Ячейки</span>, <span classInterface«>Табличный документ</span>) будет добавлена строка, содержащая

тип редактора <span classInterface«>Поле

ввода</span> или <span classInterface«>Флажок</span>. Состав свойств палитры свойств данного объекта

определяется типом выбранного элемента управления.</p>

<p classMsoNormalCxSpMiddle«><span classInterface«>Формат</span> – задается

форматная строка, которая будет использоваться при выводе значения. Если не

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

настроек информационной базы.</p>

<p classMsoNormalCxSpMiddle«><span classInterface«>Формат редактирования</span>

задается форматная строка, которая будет использоваться для отображения

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

то формат будет выбран из региональных настроек информационной базы.</p>

<p classMsoNormalCxSpLast«>Формат можно ввести вручную или с помощью конструктора

форматной строки (см. <a href#_ref216235847«>здесь</a>).</p>

<p classNote«><span classNote«>Примечание.</span> При редактировании

табличного документа в тонком клиенте недоступны следующие свойства ячейки: <span classInterface«>Содержит значение</span>, <span classInterface«>Тип значения</span>, <span classInterface«>Элемент управления</span>, <span classInterface«>Формат редактирования</span>.</p>

<a idTI000000985» classbookmark» nameissogl2_27.17.3_табличный_документ_в_режиме_ввода_данных«><h3>27.17.3. Табличный документ в режиме ввода данных</h3></a>

<p classMsoNormalCxSpFirst«>Другой способ построения отчета заключается в

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

документа, размещенного в элементе формы.</p>

<p classMsoNormalCxSpMiddle«>В процессе ввода эти данные обрабатываются

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

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

документа.</p>

<p classMsoNormalCxSpMiddle«>После ввода данных можно распечатать отчет и

сохранить его для последующей работы.</p>

<p classMsoNormalCxSpLast«>Общая схема работы с табличным документом в

режиме ввода данных выглядит следующим образом:</p>

<p classMsoListBulletCxSpFirst«>

формируется макет типа <span classInterface«>Табличный документ</span>, подготовленный особым образом, в

который будет выполняться ввод данных;</p>

<p classMsoListBulletCxSpMiddle«>

формируется форма, в которой будет расположено

поле вида <span classInterface«>Табличный

документ</span>, и в нем будет организован ввод данных;</p>

<p classMsoListBulletCxSpLast«>

формируются обработчики элемента формы вида <span classInterface«>Табличный документ</span>, которые будут обрабатывать данные,

введенные пользователем (при необходимости).</p>

<p classRegularbeforepicture«>Рассмотрим перечисленные этапы подробнее на

примере формирования бланка доставки товара из документа <span classTerm«>ДоставкаТоваров</span>.

Желаемый бланк приведен на <a href#_ref229918383«>рис.

538</a>. В этом бланке поля, выделенные подчеркиванием,

должны вводиться пользователем. Причем поле <span classInterface«>Дата доставки</span> будет автоматически рассчитываться как

поле <span classInterface«>Дата оформления,</span>

увеличенное на <span classInterface«>Срок доставки</span>. <span classInterface«>Дата оформления</span> является датой документа.</p>

<p classPicture«><IMG src_img/img00546.gif?_=1496848987» WIDTH549» ALT HEIGHT197«></p>

<p classMsoCaption«><a name_ref229918383«>Рис. </a>538. Бланк доставки</p>

<a idTI000000986» classbookmark» nameissogl3_27.17.3.1_подготовка_табличного_документа«><h4>27.17.3.1. Подготовка табличного документа</h4></a>

<p classRegularbeforepicture«>Для того чтобы реализовать табличное поле в

режиме ввода данных, необходимо создать макет типа <span classInterface«>Табличный документ</span> (с именем <span classTerm«>БланкДоставки</span>).

Затем нужно открыть сформированный макет и установить свойство <span classInterface«>Макет</span> в значение <span classTerm«>Ложь</span>.</p>

<p classPicture«><IMG src_img/img00547.gif?_=1496848987» WIDTH320» ALT HEIGHT350«></p>

<p classMsoCaption«>Рис. 539. Свойства табличного

документа</p>

<p classMsoNormalCxSpFirst«>Далее нужно сформировать необходимую

структуру документа, который будет формироваться.</p>

<p classMsoNormalCxSpLast«>Сформируем необходимые поля:</p>

<p classMsoListBullet«>

<span classInterface«>Адрес доставки</span>. Нужно

объединить несколько ячеек и затем определить следующие свойства:</p>

<p classMsoListBullet2CxSpFirst«>

<span classInterface«>Имя</span><span classTerm«>АдресДоставки</span>;</p>

<p classMsoListBullet2CxSpMiddle«>

<span classInterface«>Защита</span><span classTerm«>Ложь</span>;</p>

<p classMsoListBullet2CxSpMiddle«>

<span classInterface«>Содержит значение</span>

<span classTerm«>Истина</span>;</p>

<p classMsoListBullet2CxSpMiddle«>

<span classInterface«>Тип значения</span>

<span classTerm«>Строка</span>;</p>

<p classMsoListBullet2CxSpLast«>

<span classInterface«>Элемент управления</span>

<span classInterface«>Поле ввода</span>.</p>

<p classMsoListBullet«>

<span classInterface«>Срок доставки</span>. Для

ячейки определить следующие свойства:</p>

<p classMsoListBullet2CxSpFirst«>

<span classInterface«>Имя</span><span classTerm«>СрокДоставки</span>;</p>

<p classMsoListBullet2CxSpMiddle«>

<span classInterface«>Защита</span><span classTerm«>Ложь</span>;</p>

<p classMsoListBullet2CxSpMiddle«>

<span classInterface«>Содержит значение</span>

<span classTerm«>Истина</span>;</p>

<p classMsoListBullet2CxSpMiddle«>

<span classInterface«>Тип значения</span>

<span classTerm«>Число</span>, длина <span classTerm«>3</span>,

точность – <span classTerm«>0</span>,

неотрицательное;</p>

<p classMsoListBullet2CxSpLast«>

<span classInterface«>Элемент управления</span>

<span classInterface«>Поле ввода</span>.</p>

<p classMsoListBullet«>

<span classInterface«>Дата доставки</span>. Для

ячейки определить следующие свойства:</p>

<p classMsoListBullet2CxSpFirst«>

<span classInterface«>Имя</span><span classTerm«>ДатаДоставки</span>;</p>

<p classMsoListBullet2CxSpMiddle«>

<span classInterface«>Защита</span><span classTerm«>Ложь</span>;</p>

<p classMsoListBullet2CxSpMiddle«>

<span classInterface«>Содержит значение</span>

<span classTerm«>Истина</span>;</p>

<p classMsoListBullet2CxSpMiddle«>

<span classInterface«>Тип значения</span>

<span classTerm«>Дата</span>, состав даты – <span classInterface«>Дата</span>;</p>

<p classMsoListBullet2CxSpLast«>

<span classInterface«>Элемент управления</span>

<span classInterface«>Поле ввода</span>.</p>

<p classMsoListBullet«>

<span classInterface«>Дата оформления</span>. Для

ячейки определить следующие свойства:</p>

<p classMsoListBullet2CxSpFirst«>

<span classInterface«>Имя</span><span classTerm«>ДатаОформления</span>;</p>

<p classMsoListBullet2CxSpMiddle«>

<span classInterface«>Защита</span><span classTerm«>Истина</span>;</p>

<p classMsoListBullet2CxSpMiddle«>

<span classInterface«>Содержит значение</span>

<span classTerm«>Истина</span>;</p>

<p classMsoListBullet2CxSpMiddle«>

<span classInterface«>Тип значения</span>

<span classTerm«>Дата</span>, состав даты – <span classInterface«>Дата</span>;</p>

<p classMsoListBullet2CxSpMiddle«>

<span classInterface«>Элемент управления</span>

<span classInterface«>Поле ввода</span>;</p>

<p classMsoListBullet2CxSpLast«>

<span classInterface«>Формат</span><span classInterface«>ДЛФ=DD</span>.</p>

<p classRegularbeforepicture«>В результате должен получиться табличный

документ, представленный на <a href#_ref229919603«>рис.

540</a>.</p>

<p classPicture«><IMG src_img/img00548.gif?_=1496848987» WIDTH588» ALT HEIGHT202«></p>

<p classMsoCaption«><a name_ref229919603«>Рис. </a>540. Готовый макет</p>

<p classMsoNormal«>Макет представлен с включенным режимом <span classInterface«>Отображать именованные ячейки</span> (можно включить с помощью

команды меню <span classInterface«>Таблица –

Имена – Отображать именованные ячейки</span>).</p>

<p classNote«><span classNote«>Примечание.</span> Свойства, которые

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

системой при формировании полей ввода в табличном документе в режиме ввода

данных.</p>

<a idTI000000987» classbookmark» nameissogl3_27.17.3.2_подготовка_формы_к_вводу_данных«><h4>27.17.3.2. Подготовка формы к вводу данных</h4></a>

<p classMsoNormalCxSpFirst«>После того как подготовлен макет табличного

документа, следует сформировать форму, в которой будет выполняться ввод данных,

и реализовать ее вызов из документа.</p>

<p classMsoNormalCxSpLast«>В документе нужно создать команду формы <span classTerm«>ОформитьДоставку</span>

со следующим программным текстом:</p>

<a classcopy_source» href#_top» onClickreturn false«>Копировать в буфер обмена</a>

<pre classsrc_dev«><span classpreprocessor«>&amp;НаКлиенте</span>

<span classkeyword«>Процедура</span> ОформитьДоставку<span classoperator«>(</span>Команда<span classoperator«>)</span>

ПараметрыДоставки <span classoperator«>=</span> <span classkeyword«>Новый</span> Структура<span classoperator«>(</span><span classstring«>&quot;ДатаДокумента&quot;</span><span classoperator«>,</span> Объект<span classoperator«>.</span>Дата<span classoperator«>)</span><span classoperator«>;</span>

ОткрытьФормуМодально<span classoperator«>(</span><span classstring«>&quot;Документ.ДоставкаТоваров.Форма.ОформлениеДоставки&quot;</span><span classoperator«>,</span> ПараметрыДоставки<span classoperator«>)</span><span classoperator«>;</span>

<span classkeyword«>КонецПроцедуры</span></pre>

<p classMsoNormalCxSpFirst«>Команду следует разместить на форме.</p>

<p classMsoNormalCxSpMiddle«>Теперь необходимо создать форму, в которой

будет происходить ввод данных.</p>

<p classMsoNormalCxSpLast«>Для этого следует в документе <span classTerm«>ДоставкаТоваров</span>

создать произвольную форму <span classTerm«>ОформлениеДоставки</span>.

В ней нужно создать следующие элементы:</p>

<p classMsoListBulletCxSpFirst«>

параметр формы <span classTerm«>ДатаДокумента</span>

типа <span classTerm«>Дата</span>;</p>

<p classMsoListBulletCxSpMiddle«>

реквизит формы <span classTerm«>ДатаДокумента</span>

типа <span classTerm«>Дата</span>;</p>

<p classMsoListBulletCxSpMiddle«>

реквизит формы <span classTerm«>ТабличныйДокумент</span>

типа <span classTerm«>ТабличныйДокумент</span>;</p>

<p classMsoListBulletCxSpLast«>

элемент формы <span classTerm«>ТабличныйДокумент</span>,

связанный с реквизитом формы <span classTerm«>ТабличныйДокумент</span>.</p>

<p classPicture«><IMG src_img/img00549.gif?_=1496848987» WIDTH531» ALT HEIGHT376«></p>

<p classMsoCaption«>Рис. 541. Форма «ОформлениеДоставки»</p>

<p classMsoNormal«>Затем необходимо реализовать в форме

следующие обработчики:</p>

<a classcopy_source» href#_top» onClickreturn false«>Копировать в буфер обмена</a>

<pre classsrc_dev«><span classpreprocessor«>&amp;НаСервере</span>

<span classkeyword«>Процедура</span> ПриСозданииНаСервере<span classoperator«>(</span>Отказ<span classoperator«>,</span> СтандартнаяОбработка<span classoperator«>)</span>

<span classcomment«>// Запомним дату формирования документа</span>

ДатаДокумента <span classoperator«>=</span> Параметры<span classoperator«>.</span>ДатаДокумента<span classoperator«>;</span>

<span classcomment«>// Установим подготовленный макет</span>

ТабличныйДокумент <span classoperator«>=</span> Документы<span classoperator«>.</span>ДоставкаТоваров<span classoperator«>.</span>ПолучитьМакет<span classoperator«>(</span><span classstring«>&quot;БланкДоставки&quot;</span><span classoperator«>)</span><span classoperator«>;</span>

<span classcomment«>// Установим дату создания документа в поле табличного документа</span>

ТабличныйДокумент<span classoperator«>.</span>Область<span classoperator«>(</span><span classstring«>&quot;ДатаОформления&quot;</span><span classoperator«>)</span><span classoperator«>.</span>Значение <span classoperator«>=</span> ДатаДокумента<span classoperator«>;</span>

<span classkeyword«>КонецПроцедуры</span>

<span classpreprocessor«>&amp;НаКлиенте</span>

<span classkeyword«>Процедура</span> ПриОткрытии<span classoperator«>(</span>Отказ<span classoperator«>)</span>

<span classcomment«>// Активизируем область табличного документа</span>

Элементы<span classoperator«>.</span>ТабличныйДокумент<span classoperator«>.</span>ТекущаяОбласть <span classoperator«>=</span> ТабличныйДокумент<span classoperator«>.</span>Область<span classoperator«>(</span><span classstring«>&quot;АдресДоставки&quot;</span><span classoperator«>)</span><span classoperator«>;</span>

<span classkeyword«>КонецПроцедуры</span></pre>

<p classRegularbeforepicture«>В результате получается следующая форма,

заполненная данными:</p>

<p classPicture«><IMG src_img/img00550.gif?_=1496848987» WIDTH530» ALT HEIGHT464«></p>

<p classMsoCaption«>Рис. 542. Бланк доставки</p>

<a idTI000000988» classbookmark» nameissogl3_27.17.3.3_реализация_реакции_на_изменение_ячеек_табличного_документа«><h4>27.17.3.3. Реализация реакции на изменение ячеек табличного документа</h4></a>

<p classMsoNormalCxSpFirst«>В получившейся форме отсутствует

автоматический пересчет полей <span classInterface«>Срок доставки</span> и <span classInterface«>Дата доставки</span> при их изменении.</p>

<p classMsoNormalCxSpMiddle«>Для того чтобы такой пересчет стал возможным,

следует реализовать обработку соответствующего события для реквизита формы,

связанного с табличным документом.</p>

<p classMsoNormalCxSpLast«>Нужно добавить обработчик <span classTerm«>ПриИзмененииСодержимогоОбласти</span>

для элемента формы <span classTerm«>ТабличныйДокумент</span>.

В обработчике должен располагаться следующий программный текст:</p>

<a classcopy_source» href#_top» onClickreturn false«>Копировать в буфер обмена</a>

<pre classsrc_dev«><span classpreprocessor«>&amp;НаКлиенте</span>

<span classkeyword«>Процедура</span> ТабличныйДокументПриИзмененииСодержимогоОбласти<span classoperator«>(</span>Элемент<span classoperator«>,</span> Область<span classoperator«>)</span>

СекундВСутках <span classoperator«>=</span> <span classnumber«>24</span> <span classoperator«>*</span> <span classnumber«>60</span> <span classoperator«>*</span> <span classnumber«>60</span><span classoperator«>;</span>

<span classkeyword«>Если</span> Область<span classoperator«>.</span>Имя <span classoperator«>=</span> <span classstring«>&quot;ДатаДоставки&quot;</span> <span classkeyword«>Тогда</span>

ТабличныйДокумент<span classoperator«>.</span>Область<span classoperator«>(</span><span classstring«>&quot;СрокДоставки&quot;</span><span classoperator«>)</span><span classoperator«>.</span>Значение <span classoperator«>=</span> <span classoperator«>(</span>ТабличныйДокумент<span classoperator«>.</span>Область<span classoperator«>(</span><span classstring«>&quot;ДатаДоставки&quot;</span><span classoperator«>)</span><span classoperator«>.</span>Значение – НачалоДня<span classoperator«>(</span>ДатаДокумента<span classoperator«>)</span><span classoperator«>)</span> <span classoperator«>/</span> СекундВСутках<span classoperator«>;</span>

<span classkeyword«>ИначеЕсли</span> Область<span classoperator«>.</span>Имя <span classoperator«>=</span> <span classstring«>&quot;СрокДоставки&quot;</span> <span classkeyword«>Тогда</span>

ТабличныйДокумент<span classoperator«>.</span>Область<span classoperator«>(</span><span classstring«>&quot;ДатаДоставки&quot;</span><span classoperator«>)</span><span classoperator«>.</span>Значение <span classoperator«>=</span> НачалоДня<span classoperator«>(</span>ДатаДокумента<span classoperator«>)</span> <span classoperator«>+</span> ТабличныйДокумент<span classoperator«>.</span>Область<span classoperator«>(</span><span classstring«>&quot;СрокДоставки&quot;</span><span classoperator«>)</span><span classoperator«>.</span>Значение <span classoperator«>*</span> СекундВСутках<span classoperator«>;</span>

<span classkeyword«>КонецЕсли</span>

<span classkeyword«>КонецПроцедуры</span></pre>

<p classMsoNormal«>Теперь табличный документ обрел желаемую

интерактивность.</p>

<a name_ref214456149«></a><a name_ref214261058«></a><a name_ref214261055«></a><a idTI000000989» classbookmark» nameissogl1_27.18.редактор_карты_маршрута«><h2>27.18.Редактор карты маршрута</h2></a>

<p classMsoNormalCxSpFirst«><span classBold«>Карта маршрута</span>

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

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

схемы.</p>

<p classMsoNormalCxSpMiddle«>Основное отличие карты маршрута от

графической схемы – особая обработка специальных элементов схемы (точка

старта, завершения, действия, условия и т. д.).</p>

<p classMsoNormalCxSpMiddle«>Карта маршрута является одновременно и

инструкцией системе по выполнению последовательности действий бизнес-процесса,

и иллюстрацией для пользователя структуры этих действий, а также средством

отображения текущего состояния бизнес-процесса (описание метода <span classTerm«>ПолучитьКартуМаршрута()</span>

справки по встроенному языку).</p>

<p classMsoNormalCxSpLast«>Карта маршрута представляет собой

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

элементы карты маршрута, например, точку старта, точку завершения, декорации,

соединительные линии и т. д.</p>

<a idTI000000990» classbookmark» nameissogl2_27.18.1_редактирование_карты_маршрута«><h3>27.18.1. Редактирование карты маршрута</h3></a>

<p classMsoNormalCxSpFirst«>Для редактирования карты маршрута в окне

редактирования бизнес-процесса, на закладке <span classInterface«>Прочее</span> нужно нажать кнопку <span classInterface«>Карта маршрута</span>.</p>

<p classMsoNormalCxSpMiddle«>Процесс редактирования карты маршрута

заключается в размещении на карте маршрута элементов карты различных типов, редактировании

их свойств и соединении их друг с другом соединительными линиями.</p>

<p classMsoNormalCxSpMiddle«>Для редактирования карты маршрута

используется мышь или клавиатура (некоторые операции выполняются только с помощью

мыши – например, соединение элементов карты маршрута с помощью

соединительных линий). При появлении редактируемой карты маршрута на экране

становятся доступными кнопки панели инструментов <span classInterface«>Вставка элементов карты маршрута</span> и пункт меню верхнего

уровня <span classInterface«>Карта

маршрута</span>.</p>

<p classMsoNormalCxSpLast«>Установка свойств карты маршрута производится

с помощью палитры свойств (см. <A href/db/content/v8310doc/src/руководство разработчика/глава 2. работа с конфигурацией.htm?_=1496848987#_ref216235939«>здесь</a>).</p>

<a idTI000000991» classbookmark» nameissogl2_27.18.2_элементы_карты_маршрута«><h3>27.18.2. Элементы карты маршрута</h3></a>

<a idTI000000992» classbookmark» nameissogl3_27.18.2.1_рекомендации_по_оформлению«><h4>27.18.2.1. Рекомендации по оформлению</h4></a>

<p classMsoNormalCxSpFirst«>Наилучшим подходом для рисования карт

маршрута является вертикальная ориентация карты. Карта маршрута предполагает

вертикальное расположение (сверху вниз). Например, при добавлении элемента

карты маршрута (далее в данном разделе «элемента») <span classInterface«>Точка действия</span> он сразу создается с исходящей

соединительной линией, направленной вниз.</p>

<p classMsoNormalCxSpMiddle«>При создании надписей желательно использовать

одинаковые шрифты. Использование другого шрифта является дополнительным средством

привлечения внимания (например, заголовок декорации, выделяющей группу элементов).</p>

<p classMsoNormalCxSpMiddle«>Редактор карты маршрута позволяет размещать в

карте маршрута различные элементы, задавать их размеры и выравнивать границы и т. д.</p>

<p classMsoNormalCxSpMiddle«>Чтобы облегчить размещение элементов, редактор

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

разметочной сетки, а также выполнение различных действий над группой элементов

(выравнивание, распределение в карте маршрута, установка размеров и т. д.).</p>

<p classMsoNormalCxSpLast«>В качестве дополнительных возможностей можно

использовать индивидуальное оформление элементов. С помощью свойств категории <span classInterface«>Оформление</span> производится настройка цвета текста и фона

поля, шрифта текста, выбирается вид и цвет рамки, использование картинки,

подсказки и другие приемы оформления. Состав свойств зависит от типа элемента.</p>

<a idTI000000993» classbookmark» nameissogl3_27.18.2.2_порядок_элементов«><h4>27.18.2.2. Порядок элементов</h4></a>

<p classMsoNormal«>В отличие от обычной графической схемы, в

карте маршрута даже после изменения порядка определенные типы элементов все

равно сохраняют порядок, характерный для данного типа. А именно:</p>

<p classMsoListBulletCxSpFirst«>

Декорации всегда находятся на заднем плане

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

относительно других элементов они всегда будут ниже).</p>

<p classMsoListBulletCxSpMiddle«>

Следом за декорациями (выше их) идут соединительные

линии.</p>

<p classMsoListBulletCxSpLast«>

На самом верху – все остальные элементы

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

логику карты маршрута, всегда лежат выше декораций и декоративных соединительных

линий по порядку отрисовки.</p>

<a idTI000000994» classbookmark» nameissogl3_27.18.2.3_работа_с_соединительными_линиями«><h4>27.18.2.3. Работа с соединительными линиями</h4></a>

<p classMsoNormalCxSpFirst«>Смысл карты маршрута состоит в описании

последовательности действий бизнес-процесса – она задается именно связью

элементов с помощью элемента <span classInterface«>Соединительная линия</span>. Соединительные линии нельзя

вставлять просто так – они всегда присоединены к каким-либо точкам

бизнес-процесса и не могут существовать сами по себе. Соединительные линии

нельзя удалить, если это не предусмотрено точкой бизнес-процесса (например,

точка разделения и точка выбора варианта).</p>

<p classMsoNormalCxSpMiddle«>Связывать друг с другом можно все элементы,

визуализирующие точки бизнес-процесса, т. е. все элементы, кроме

элементов <span classInterface«>Декорация</span>,

<span classInterface«>Соединительная линия</span>

и <span classInterface«>Декоративная линия</span>.

По умолчанию большинство элементов, визуализирующие точки бизнес-процесса, вставляются

в карту маршрута с одной исходящей линией, которую нельзя ни отсоединить, ни

удалить. Ее можно только передвинуть на другой порт (<span classBold«>порт</span>

область элемента, куда может быть присоединена линия – обычно это середина

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

синим крестиком).</p>

<p classMsoNormalCxSpMiddle«>Для работы с элементом карты маршрута <span classInterface«>Соединительная линия</span> нужно выбрать ее нажатием мыши на

любом сегменте (отрезке) соединительной линии либо перейти к ней с помощью

клавиши <span classInterface«>Tab</span>

(<span classInterface«>Shift + Tab</span>).</p>

<p classMsoNormalCxSpMiddle«>Если конец линии не присоединен ни к какому

элементу, то прямоугольник на конце линии имеет красный цвет, а стрелка имеет

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

захватить конец соединительной линии (серый или красный прямоугольник) и,

потащив в область порта какого-либо элемента, там отпустить. После этого

соединительная линия автоматически перестроится. Можно также переприсоединить соединительную

линию (присоединив ее конец к другому элементу). При этом действует следующее

ограничение: нельзя напрямую зациклить один элемент на втором (<span classInterface«>точка1</span> &quot; <span classInterface«>точка2</span> и <span classInterface«>точка2</span> &quot; <span classInterface«>точка1</span>), если ни один из этих элементов не является элементом

карты маршрута <span classInterface«>Точка условия</span> или <span classInterface«>Точка выбора варианта</span>.</p>

<p classMsoNormalCxSpMiddle«>При вставке элемента в карту маршрута

автоматически происходит попытка присоединить незанятые порты этого элемента к

близлежащим неприсоединенным линиям. При перемещении или изменении размера

элемента автоматически происходит попытка присоединить незанятые порты этого

элемента к близлежащим свободным (неприсоединенным) линиям, а также исходящие

из этого элемента линии, чей конец не присоединен к незанятым портам других

элементов, находящимся в непосредственной близости.</p>

<p classMsoNormalCxSpLast«>Элемент <span classInterface«>Декоративная линия</span> предназначен для соединения декораций

и точек карты маршрута. В карте маршрута может быть размещено произвольное

число декоративных линий.</p>

<a idTI000000995» classbookmark» nameissogl3_27.18.2.4_проверка_корректности_карты_маршрута«><h4>27.18.2.4. Проверка корректности карты маршрута</h4></a>

<p classMsoNormal«>При выборе пункта <span classInterface«>Карта маршрута – Проверить</span>, а также автоматически

при сохранении карты маршрута происходит проверка корректности карты маршрута.

При этом проверяются следующие некорректные ситуации:</p>

<p classMsoListBulletCxSpFirst«>

зацикливание;</p>

<p classMsoListBulletCxSpMiddle«>

наличие неприсоединенных линий;</p>

<p classMsoListBulletCxSpMiddle«>

наличие точек маршрута, не являющихся точкой

старта и при этом не имеющих ни одной входящей линии;</p>

<p classMsoListBulletCxSpMiddle«>

карта маршрута, не имеющая ни одной точки

старта;</p>

<p classMsoListBulletCxSpMiddle«>

наличие точек маршрута, не имеющих пути в точку

завершения;</p>

<p classMsoListBulletCxSpMiddle«>

карта маршрута, в которой не все линии, вошедшие

в точку слияния, вышли из соответствующей ему точки разделения;</p>

<p classMsoListBulletCxSpMiddle«>

карта маршрута, в которой распараллеленные ветки

(исходящие из точки разделения) входят в одни и те же точки маршрута (до точки

слияния);</p>

<p classMsoListBulletCxSpMiddle«>

карта маршрута с циклами, которые не содержат ни

одной точки вида <span classInterface«>Точка действия</span>, <span classInterface«>Точка вложенного бизнес-процесса</span> или <span classInterface«>Точка обработки</span> (цикл – замкнутая уникальная

последовательность точек маршрута);</p>

<p classMsoListBulletCxSpLast«>

карта маршрута, в которой какая-либо точка маршрута

вида <span classInterface«>Точка условия</span>

или <span classInterface«>Точка выбора варианта</span>

не имеет обработчика события (соответственно <span classTerm«>ПроверкаУсловия()</span>

либо <span classTerm«>ВыборВарианта()</span>).</p>

<a idTI000000996» classbookmark» nameissogl2_27.18.3_элементы_карты_маршрута«><h3>27.18.3. Элементы карты маршрута</h3></a>

<p classMsoNormalCxSpFirst«>В разделе описываются все типы элементов карты

маршрута в алфавитном порядке представления элементов.</p>

<p classMsoNormalCxSpLast«>Поведение элементов настраивается в палитре

свойств путем установки и выбора значений. Некоторые свойства элементов присущи

всем или большинству типов элементов. Индивидуальные свойства приводятся в

справке по встроенному языку для каждого вида элементов.</p>

<a idTI000000997» classbookmark» nameissogl3_27.18.3.1_общие_свойства_элементов_карты_маршрута«><h4>27.18.3.1. Общие свойства элементов карты маршрута</h4></a>

<p classMsoNormalCxSpFirst«>Существует ряд свойств, которые присущи всем

или большинству типов элементов. Обычно такие свойства имеют одинаковое

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

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

редактирования уникальных свойств элементов.</p>

<p classMsoNormalCxSpMiddle«>Приводятся только свойства, отличающие

элементы карты от соответствующих элементов графической схемы.</p>

<p classMsoNormalCxSpMiddle«>Для удобства описания свойства будут

сгруппированы по категориям палитры свойств.</p>

<p classMsoNormalCxSpLast«>Некоторые свойства, описываемые ниже, для

некоторых элементов могут отсутствовать.</p>

<a idTI000000998» classbookmark» nameissogl4_27.18.3.1.1_категория_свойств_основные«><h5>27.18.3.1.1. Категория свойств «Основные»</h5></a>

<p classMsoNormal«><span classInterface«>Наименование задачи</span>

наименование задачи, которая будет формироваться в точках вида <span classInterface«>Точка действия</span> или <span classInterface«>Точка вложенного бизнес-процесса</span>.</p>

<a idTI000000999» classbookmark» nameissogl4_27.18.3.1.2_категория_свойств_события«><h5>27.18.3.1.2. Категория свойств «События»</h5></a>

<p classMsoNormal«>Свойства этой категории определяют поведение

точек бизнес-процесса, представленных элементами, при определенных действиях,

например, при интерактивной активации, при создании задач, при проверке условия

(для элементов вида <span classInterface«>Точка условия</span>) и т. д.</p>

<p classRegularbeforepicture«>При работе с элементами большинство действий

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

процедуры средствами встроенного языка описывается обработка события.</p>

<p classPicture«><IMG src_img/img00551.gif?_=1496848987» WIDTH433» ALT HEIGHT165«></p>

<p classMsoCaption«><a name_ref227566424«>Рис. </a>543. Создание обработчика события</p>

<p classMsoNormalCxSpFirst«>Инициализация создания процедуры, отвечающей

за отработку события, производится нажатием специальной кнопки палитры свойств,

расположенной справа от реквизита с наименованием события в категории свойств <span classInterface«>События</span> (см. <a href#_ref227566424«>рис.

543</a>).</p>

<p classMsoNormalCxSpMiddle«>Процедуры создаются в модуле бизнес-процесса,

свойством которого является редактируемая карта маршрута.</p>

<p classMsoNormalCxSpMiddle«>В режиме работы с бизнес-процессом при

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

с этим событием.</p>

<p classMsoNormalCxSpLast«>Список событий карты маршрута или элементов,

а также условия их наступления приведены в справке по встроенному языку, в

описании соответствующего объекта.</p>

<a idTI000001000» classbookmark» nameissogl3_27.18.3.2_соединительная_линия«><h4>27.18.3.2. Соединительная линия</h4></a>

<p classMsoNormalCxSpFirst«>Элемент карты маршрута <span classInterface«>Соединительная линия</span> предназначен для соединения в карте

маршрута элементов, визуализирующих точки бизнес-процесса (например, элемент <span classInterface«>Точка старта</span>, элемент <span classInterface«>Точка действия</span>, элемент <span classInterface«>Точка условия</span> и т. д.). Элемент <span classInterface«>Соединительная линия</span> автоматически перестраивается при

изменении положения элементов. Возможности вмешиваться в алгоритм построения

нет.</p>

<p classMsoNormalCxSpMiddle«>Элемент <span classInterface«>Соединительная линия</span> вставляется автоматически при

вставке других элементов карты маршрута и не может существовать сам по себе.

Вставка дополнительных соединительных линий предусмотрена только в элементах

карты маршрута вида <span classInterface«>Точка разделения</span> и <span classInterface«>Точка выбора варианта</span>.</p>

<p classMsoNormalCxSpLast«>При построении линии система руководствуется

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

отрезков линий и не пересекающего другие точки карты.</p>

<a idTI000001001» classbookmark» nameissogl3_27.18.3.3_точка_действия«><h4>27.18.3.3. Точка действия</h4></a>

<p classMsoNormal«>Элемент карты маршрута вида <span classInterface«>Точка действия</span> отображает основную точку

бизнес-процесса, по которой выдаются и выполняются задачи.</p>

<a idTI000001002» classbookmark» nameissogl4_27.18.3.3.1_категория_свойств_адресация«><h5>27.18.3.3.1. Категория свойств «Адресация»</h5></a>

<p classMsoNormalCxSpFirst«><span classInterface«>Пояснение</span>

строка, дополнительно характеризующая адресацию точки действия. Применяется,

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

заранее на этапе проектирования карты маршрута.</p>

<p classMsoNormalCxSpMiddle«><span classInterface«>Групповая</span>

если установлено в значение <span classTerm«>Истина</span>,

то задачи на данной точке бизнес-процесса будут выданы каждому члену группы

(отдела). В противном случае выдается одна задача на всю группу, например,

«Отдел продаж», выполняет ее один человек (первый взявший ее).</p>

<p classMsoNormalCxSpLast«><span classInterface«>Реквизиты адресации</span>

этих свойств столько, сколько реквизитов адресации у задачи, указанной в

свойстве <span classInterface«>Задача</span>

данного бизнес-процесса. В палитре свойств можно выбрать значение из

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

(например, из справочника <span classInterface«>Отделы</span> или <span classInterface«>Исполнители</span>).</p>

<a idTI000001003» classbookmark» nameissogl3_27.18.3.4_точка_разделения«><h4>27.18.3.4. Точка разделения</h4></a>

<p classMsoNormalCxSpFirst«>Элемент карты маршрута <span classInterface«>Точка разделения</span> отображает точку бизнес-процесса, в

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

По умолчанию размещается в карте маршрута с тремя исходящими соединительными

линиями.</p>

<p classMsoNormalCxSpLast«>Для добавления выходящей линии в контекстном

меню нужно выбрать пункт <span classInterface«>Добавить линию</span>. Для удаления – выделить линию, выбрать

пункт <span classInterface«>Удалить</span>. При

этом нельзя удалить единственную оставшуюся исходящую линию.</p>

<a idTI000001004» classbookmark» nameissogl3_27.18.3.5_точка_условия«><h4>27.18.3.5. Точка условия</h4></a>

<p classMsoNormalCxSpFirst«>Элемент карты маршрута <span classInterface«>Точка условия</span> отображает точку бизнес-процесса, из

которой есть два выхода, отражающие результат выполнения логического условия.</p>

<p classMsoNormalCxSpLast«>По умолчанию элемент <span classInterface«>Точка условия</span> вставляется в карту маршрута с двумя

исходящими слева и справа соединительными линиями. Справа располагается ветка,

по которой идет процесс при возврате значения <span classTerm«>Истина</span>

в обработчике <span classTerm«>ПроверкаУсловия()</span>.

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

из элемента <span classInterface«>Точка

условия</span> и, захватив мышью прямоугольник у начала линии, перенести его на

противоположную сторону элемента <span classInterface«>Точка условия</span>.</p>

<a idTI000001005» classbookmark» nameissogl3_27.18.3.6_точка_завершения«><h4>27.18.3.6. Точка завершения</h4></a>

<p classMsoNormal«>Элемент карты маршрута <span classInterface«>Точка завершения</span> отображает точку бизнес-процесса, в

которой завершается бизнес-процесс. В карте маршрута может быть несколько элементов

этого вида.</p>

<a idTI000001006» classbookmark» nameissogl3_27.18.3.7_точка_старта«><h4>27.18.3.7. Точка старта</h4></a>

<p classMsoNormal«>Элемент <span classInterface«>Точка старта</span> отображает точку бизнес-процесса, с которой

начинается выполнение бизнес-процесса. Для бизнес-процесса, имеющего несколько

точек вида <span classInterface«>Точка

старта</span>, при запуске должна быть указана нужная точка старта. В элемент <span classInterface«>Точка старта</span> не могут входить соединительные линии.</p>

<a idTI000001007» classbookmark» nameissogl3_27.18.3.8_точка_слияния«><h4>27.18.3.8. Точка слияния</h4></a>

<p classMsoNormal«>Элемент карты маршрута <span classInterface«>Точка слияния</span> отображает точку бизнес-процесса, в

которую сходятся параллельные пути исполнения, начавшиеся в точке разделения.

Пока исполнение задач по всем параллельным путям не придет в точку слияния,

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

всегда соответствует одна точка разделения (но не наоборот, т. к.

могут быть точки разделения без точек слияния). Не требуется явно указывать, какому

элементу <span classInterface«>Точка

разделения</span> соответствует элемент <span classInterface«>Точка слияния</span>. Это будет определено автоматически.</p>

<a idTI000001008» classbookmark» nameissogl3_27.18.3.9_точка_вложенного_бизнес-процесса«><h4>27.18.3.9. Точка вложенного бизнес-процесса</h4></a>

<p classMsoNormal«>Элемент карты маршрута <span classInterface«>Точка вложенного бизнес-процесса</span> отображает точку

бизнес-процесса, в которой запускается на исполнение вложенный бизнес-процесс.

Исполнение основного (родительского) процесса возобновляется только после

завершения вложенного процесса.</p>

<a idTI000001009» classbookmark» nameissogl4_27.18.3.9.1_категория_свойств_данные«><h5>27.18.3.9.1. Категория свойств «Данные»</h5></a>

<p classMsoNormal«><span classInterface«>Бизнес-процесс</span>

ссылка на вложенный бизнес-процесс.</p>

<a idTI000001010» classbookmark» nameissogl3_27.18.3.10_точка_обработки«><h4>27.18.3.10. Точка обработки</h4></a>

<p classMsoNormal«>Элемент карты маршрута <span classInterface«>Точка обработки</span> отображает точку бизнес-процесса,

выполняемую в автоматическом режиме и не имеющую адресата.</p>

<a idTI000001011» classbookmark» nameissogl3_27.18.3.11_точка_выбора_варианта«><h4>27.18.3.11. Точка выбора варианта</h4></a>

<p classMsoNormal«>Элемент карты маршрута <span classInterface«>Точка выбора варианта</span> отображает точку бизнес-процесса,

имеющую несколько выходов (вариантов), из которых, в зависимости от значения

возвращаемого параметра <span classInterface«>Вариант</span> обработчика <span classTerm«>ОбработкаВыбораВарианта()</span>,

выбирается только один.</p>

<a idTI000001012» classbookmark» nameissogl2_27.18.4_модуль«><h3>27.18.4. Модуль</h3></a>

<p classMsoNormal«>Карта маршрута не имеет собственного

модуля. Обработчики событий помещаются в модуль объекта бизнес-процесса.</p>

<a name_ref221519000«></a><a idTI000001013» classbookmark» nameissogl1_27.19.редактор_картинок«><h2>27.19.Редактор картинок</h2></a>

<a idTI000001836» classbookmark» nameissogl2_27.19.1_общая_информация«><h3>27.19.1. Общая информация</h3></a>

<p classMsoNormalCxSpFirst«>Конфигуратор предоставляет средство редактирования

картинок и коллекций картинок.</p>

<p classMsoNormalCxSpMiddle«>Картинки хранятся в конфигурации в ветви <span classInterface«>Общие – Общие картинки</span> или в файлах на диске.</p>

<p classMsoNormalCxSpMiddle«>Для создания новой картинки в конфигурации в

ветви <span classInterface«>Общие – Общие

картинки</span> нужно выполнить команду <span classInterface«>Действия – Добавить</span>, а далее открыть созданную

пустую картинку для редактирования.</p>

<p classMsoNormalCxSpMiddle«>Для редактирования картинки в конфигурации в

ветви <span classInterface«>Общие – Общие

картинки</span> следует выбрать картинку и выполнить команду меню <span classInterface«>Действия – Изменить</span>, далее в открывшемся диалоге нажать

кнопку <span classInterface«>Редактировать</span>.

Если картинка хранится в формате, отличном от формата <span classInterface«>PNG</span>, то при открытии будет предложено конвертировать

картинку в формат <span classInterface«>PNG</span>. При отказе от конвертации редактировать картинку

невозможно.</p>

<p classMsoNormalCxSpMiddle«>Картинки формата <span classInterface«>WMF</span>, <span classInterface«>EMF</span> и <span classInterface«>SVG</span> редактировать невозможно.</p>

<p classMsoNormalCxSpMiddle«>Чтобы создать новую картинку, расположенную в

файле на диске, нужно выполнить команду <span classInterface«>Файл – Новый</span> и в окне выбора типа редактора выбрать

<span classInterface«>Картинка</span>. Далее

отредактировать пустую картинку и сохранить ее командой <span classInterface«>Файл – Сохранить</span> или <span classInterface«>Файл – Сохранить как…</span></p>

<p classMsoNormalCxSpMiddle«>Для редактирования картинки, расположенной в

файле на диске, следует выполнить команду меню <span classInterface«>Файл – Открыть</span> и в списке файлов выбрать нужный

файл.</p>

<p classMsoNormalCxSpMiddle«>Редактор работает в двух режимах:

редактирование картинки и редактирование коллекции картинок. Различие между картинкой

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

понимается картинка, состоящая из картинок-элементов, имеющих одинаковый размер.

Любую картинку можно представить как коллекцию картинок. Коллекция картинок

позволяет хранить и редактировать картинки, чье использование однотипно, например,

пиктограммы, картинки кнопок, иконки и т. д. По умолчанию редактор открывается

в режиме редактирования картинок.</p>

<p classMsoNormalCxSpLast«>Приемы редактирования картинки не зависят от

выбора вида картинки (см. <a href#_ref236792735«>здесь</a>). Особенности работы с коллекцией картинок см. <a href#_ref236792752«>здесь</a>.</p>

<a name_ref236792735«></a><a name_ref216064573«></a><a idTI000001014» classbookmark» nameissogl2_27.19.2_редактирование_картинки«><h3>27.19.2. Редактирование картинки</h3></a>

<p classRegularbeforepicture«>После выбора (или создания) картинки ее можно

редактировать с помощью редактора картинок.</p>

<p classPicture«><IMG src_img/img00552.gif?_=1496848987» WIDTH585» ALT HEIGHT599«></p>

<p classMsoCaption«>Рис. 544. Редактор картинок</p>

<p classMsoNormalCxSpFirst«>Окно редактора состоит из панели

инструментов, двух полей для редактирования картинки (левое представляет картинку

в натуральную величину и предназначено для просмотра результата редактирования,

а правое поле содержит увеличенное изображение картинки и предназначено для

редактирования) и палитры цветов для выбора цвета.</p>

<p classMsoNormalCxSpMiddle«>Редактировать картинку можно в любом поле.

Редактирование осуществляется мышью. Предварительно нужно выбрать инструмент

или фигуру для рисования (карандаш, кисть, аэрограф, линию, прямоугольник,

эллипс), в палитре цветов следует выбрать цвет для инструмента.</p>

<p classMsoNormalCxSpMiddle«>Текущее положение указателя мыши и размер

области, а также масштаб показываются в панели состояния.</p>

<p classMsoNormalCxSpMiddle«>Картинка представляет собой прямоугольную

область, состоящую из набора точек (пикселей), размер которой можно изменить с

помощью мыши, потянув маркер нижней или правой границы или правого нижнего

угла. Размеры картинки также можно изменить в окне <span classInterface«>Параметры картинки</span> (см. ниже).</p>

<p classMsoNormalCxSpLast«>Редактирование сводится к указанию

определенного цвета каждой точки картинки. Количество цветов определяется

разрешением картинки. Чем больше разрешение, тем больше цветов можно

использовать.</p>

<p classNote«><span classNote«>ВНИМАНИЕ!</span> Использование разрешения

24 бита на пиксель при больших размерах картинок приводит к увеличению размеров

конфигурации.</p>

<p classMsoNormalCxSpFirst«>Выбор цвета производится в палитре цветов

отдельно для каждой кнопки мыши. Выбранный цвет показывается двойной рамкой.</p>

<p classMsoNormalCxSpMiddle«>Состав цветов можно менять. Для этого нужно

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

выбора цвета выбрать нужный из стилей или создать новый цвет.</p>

<p classMsoNormalCxSpLast«>Размер картинки можно менять. Для этого

достаточно с помощью указателя мыши потянуть маркер стороны или угла области

картинки.</p>

<p classRegularbeforepicture«>Сетка (пиксельная) предназначена для

облегчения редактирования картинки. Сетка показывается прерывистой линией. Для

настройки показа сетки нужно выбрать пункт <span classInterface«>Действия – Сетка</span>. На экран выводится диалог.</p>

<p classPicture«><IMG src_img/img00553.gif?_=1496848987» WIDTH264» ALT HEIGHT152«></p>

<p classMsoCaption«>Рис. 545. Установка параметров

сетки</p>

<p classMsoNormalCxSpFirst«>Если флажок <span classInterface«>По точкам</span> установлен, то показывается пиксельная сетка.</p>

<p classMsoNormalCxSpMiddle«>Если установлен флажок <span classInterface«>По изображениям</span>, то подразумевается, что картинка

представляет собой коллекцию картинок одинакового размера (о редактировании коллекции

(см. раздел ниже). В этом случае становятся доступными поля для указания

размеров элемента коллекции. Помимо пиксельной сетки в поле редактирования

картинки выводится сетка коллекции в виде тонких сплошных линий. При этом режим

редактирования не изменяется.</p>

<p classMsoNormalCxSpMiddle«>При установленном флажке <span classInterface«>По изображениям</span> изменение размера картинки кратно

размеру ячейки. Если флажок не установлен, то размер изменяется с точностью до

пикселя.</p>

<p classMsoNormalCxSpMiddle«>Для рисования используют различные инструменты

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

стандартному набору инструментов, используемых в программе <span classInterface«>Paint</span>, входящей в Microsoft Windows. Таблицу

сочетаний клавиш для редактора картинок (см. в справке при использовании

программы).</p>

<p classMsoNormalCxSpMiddle«>Но есть и некоторые отличия. По кнопке <span classInterface«>Масштаб</span> изображение поля редактирования может

масштабироваться в пределах от 1:1 до 20:1 с шестью ступенями выбора. Нажатие

кнопки приводит к выбору следующей ступени масштаба. Когда достигнут масштаб

20:1, очередное нажатие кнопки приводит к выбору масштаба 1:1. Нужный масштаб

можно выбрать сразу, нажав справа от кнопки масштаба кнопку выбора (с маленьким

треугольником вершиной вниз).</p>

<p classMsoNormalCxSpMiddle«>Если нажать кнопку <span classInterface«>Масштаб</span> и перевести указатель мыши на любую из областей

рисунка, то появляется рамка. Эта рамка обозначает область изображения, которая

будет показана при нажатии на клавиши мыши.</p>

<p classMsoNormalCxSpMiddle«>Изменить масштаб также можно, используя мышь

с колесом прокрутки с нажатой клавишей <span classInterface«>Ctrl</span>.</p>

<p classMsoNormalCxSpLast«>Кнопки рисования фигур (прямоугольник,

прямоугольник с закругленными краями, эллипс) также имеют кнопки выбора, нажав

которые можно выбрать вид фигуры (простой, обведенный закрашенный,

закрашенный).</p>

<p classRegularbeforepicture«>Кнопка <span classInterface«>Параметры картинки</span> вызывает на экран диалог:</p>

<p classPicture«><IMG src_img/img00554.gif?_=1496848987» WIDTH322» ALT HEIGHT102«></p>

<p classMsoCaption«>Рис. 546. Параметры картинки</p>

<p classMsoNormal«>В диалоге задается размер картинки и

разрешение (определяет максимальное число используемых цветов). Для картинок, у

которых разрешение установлено в 1, 4 или 8 бит на пиксель, невозможно использовать

альфа-канал. Разрешается использование только одного прозрачного цвета.

Использовать альфа-канал можно в случае, если разрешение больше 8 бит на

пиксель.</p>

<p classNote«><span classNote«>Примечание.</span> Не следует

использовать в конфигурациях альфа-канал у картинок, чей размер превышает 40 000

точек (например, картинка 200х200 точек). Для таких картинок не поддерживается

корректное отображение в веб-клиенте, который работает в веб-браузере Microsoft Internet Explorer 6.0. Это правило не

относится к картинкам-коллекциям, размер элементов которых меньше указанного

ограничения.</p>

<p classMsoNormalCxSpFirst«>Редактор картинок допускает использование

стандартных команд работы с буфером обмена. Для вставки рисунка нужно использовать

<span classInterface«>Ctrl + V</span>,

для копирования – <span classInterface«>Ctrl + С</span>, для копирования с удалением – <span classInterface«>Ctrl + X</span>. Если размер картинки превышает текущий

размер, то редактор предлагает изменить его.</p>

<p classMsoNormalCxSpLast«>В палитре инструментов есть многоцелевая

кнопка, которая меняет свое назначение в зависимости от выбранного инструмента

или фигуры. Она расположена во втором ряду справа, перед кнопкой <span classInterface«>Параметры картинки</span>. При выборе линии, кривой, прямоугольника

и эллипса данная кнопка показывает толщину используемой линии, с помощью

которой рисуется фигура, в пикселях. Нажатие кнопки приводит к последовательной

смене толщины (пять ступеней). При нажатии кнопки выбора открывается выпадающее

меню, в котором можно выбрать нужную толщину линии рисования фигуры. Для аэрографа

с помощью данной кнопки определяется размер пятна, для кисти – размер и

форма, для ластика – размер. При выборе режима выделения или ввода текста

кнопка предоставляет возможность задать режим прозрачности.</p>

<p classRegularbeforepicture«>Для ввода текста нужно нажать кнопку <span classInterface«>Текст</span>. На экран выводится диалог:</p>

<p classPicture«><IMG src_img/img00555.gif?_=1496848987» WIDTH276» ALT HEIGHT117«></p>

<p classMsoCaption«>Рис. 547. Диалог ввода текста</p>

<p classMsoNormalCxSpFirst«>В многострочном поле ввода вводится текст. По

кнопке <span classInterface«>Шрифт</span>

выбирается требуемый шрифт (начертание, размер и другие характеристики). Выбор

шрифта осуществляется из системных шрифтов или из стилей, определенных в конфигурации.</p>

<p classMsoNormalCxSpLast«>С помощью кнопки <span classInterface«>Замена цветов</span> просто осуществляется замена выбранного

указателем мыши цвета (указывается пиксель) на цвет, установленный для данной

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

два цвета на каждую кнопку мыши.</p>

<a name_ref236792752«></a><a name_ref469412072«></a><a name_ref469412071«></a><a name_ref469410939«></a><a idTI000001015» classbookmark» nameissogl2_27.19.3_коллекции_картинок«><h3>27.19.3. Коллекции картинок</h3></a>

<p classMsoNormalCxSpFirst«><span classBold«>Коллекция картинок</span>

это картинка, состоящая из отдельных элементов (картинок) одинакового размера.

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

самостоятельную картинку.</p>

<p classMsoNormalCxSpMiddle«>Коллекция картинок предназначена для

упрощения выбора нужной картинки в элементы управления, заголовки колонок и т. д.

Использование коллекции гарантирует выбор картинок одинакового размера для

однотипного использования.</p>

<p classMsoNormalCxSpMiddle«>С помощью редактора картинок можно создавать

и редактировать коллекции картинок. Для перехода в режим редактирования

коллекции нужно выбрать пункт <span classInterface«>Режим коллекции</span>. При этом картинка, показанная в поле

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

щелкнуть ячейку мышью – картинка-элемент показывается в поле редактирования.

Приемы редактирования описаны в разделе выше.</p>

<p classMsoNormalCxSpLast«>В панели инструментов добавляются две кнопки –

<span classInterface«>Добавить колонку</span>

и <span classInterface«>Добавить строку</span>.

При нажатии той или иной кнопки в картинку добавляется новая колонка или

строка.</p>

<p classRegularbeforepicture«>Изменить размер элемента можно только в

диалоге <span classInterface«>Параметры

картинки</span> (маркеры изменения размера недоступны).</p>

<p classPicture«><IMG src_img/img00556.gif?_=1496848987» WIDTH351» ALT HEIGHT204«></p>

<p classMsoCaption«>Рис. 548. Параметры коллекции</p>

<p classMsoNormalCxSpFirst«>В группе элементов <span classInterface«>Параметры картинки</span> задаются размеры картинки в элементах

(ячейках). В группе элементов <span classInterface«>Параметры коллекции</span> задаются размеры ячейки в пикселях

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

манифеста картинки с вариантами (подробнее см. <A href/db/content/v8310doc/src/руководство разработчика/глава 5. объекты конфигурации.htm?_=1496848987#_ref469411751«>здесь</a>).</p>

<p classMsoNormalCxSpLast«>Коллекцию картинок можно также редактировать

как обычную картинку. При этом рекомендуется предварительно настроить показ

сетки по изображениям (см. <a href#_ref216064573«>здесь</a>).</p>

<a name_ref216075447«></a><a idTI000001016» classbookmark» nameissogl1_27.20.редактор_html-документа«><h2>27.20.Редактор HTML-документа</h2></a>

<a idTI000001837» classbookmark» nameissogl2_27.20.1_общая_информация«><h3>27.20.1. Общая информация</h3></a>

<p classRegularbeforepicture«>Данный редактор предоставляет основные

возможности по редактированию HTML-документов. Также с помощью этого редактора

редактируется справочная информация для объектов конфигурации.</p>

<p classPicture«><IMG src_img/img00557.gif?_=1496848987» WIDTH387» ALT HEIGHT252«></p>

<p classMsoCaption«>Рис. 549. Редактор

HTML-документа</p>

<p classMsoNormal«>Редактор состоит из трех закладок:</p>

<p classMsoListBulletCxSpFirst«>

<span classInterface«>Редактирование</span>

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

режиме.</p>

<p classMsoListBulletCxSpMiddle«>

<span classInterface«>Текст</span> – с

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

непосредственно с помощью языка разметки HTML. При этом возможности редактора

совпадают с возможностями редактора текстов (см. <a href#_ref236645687«>здесь</a>).</p>

<p classMsoListBulletCxSpLast«>

<span classInterface«>Просмотр</span> – на

этой закладке можно посмотреть, как будет выглядеть созданный документ, однако

недоступно непосредственное изменение документа.</p>

<a idTI000001017» classbookmark» nameissogl2_27.20.2_визуальное_редактирование«><h3>27.20.2. Визуальное редактирование</h3></a>

<a idTI000001018» classbookmark» nameissogl3_27.20.2.1_форматирование_текста«><h4>27.20.2.1. Форматирование текста</h4></a>

<p classMsoNormalCxSpFirst«>Текст HTML-документа можно форматировать, т. е.

устанавливать его стиль (шрифт, размер, оформление, отступы, выравнивание и т. д.).</p>

<p classMsoNormalCxSpLast«>При копировании текста из других текстовых

редакторов, например, Microsoft Word,

сохраняется исходное форматирование текста.</p>

<a idTI000001019» classbookmark» nameissogl3_27.20.2.2_вставка_и_работа_с_таблицей«><h4>27.20.2.2. Вставка и работа с таблицей</h4></a>

<p classMsoNormalCxSpFirst«>В HTML-документ можно вставлять таблицы. Для

вставки таблицы нужно выбрать пункт <span classInterface«>Таблица – Вставить таблицу</span>. В открывшемся диалоге указать

количество строк и колонок.</p>

<p classMsoNormalCxSpLast«>Если в дальнейшем в процессе редактирования

выяснится, что указанного количества строк или колонок не хватает, их можно

добавить.</p>

<p classRegularbeforetable«>Для работы с таблицей (вставка, удаление

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

меню <span classInterface«>Таблица</span> главного меню конфигуратора.</p>

<table classMsoNormalTable» border0» cellspacing0» cellpadding0«>

<tr>

<td valigntop«>

<p classMsoNormalCxSpFirst«><b>Пункт меню «Таблица»</b></p>

</td>

<td valigntop«>

<p classMsoNormalCxSpMiddle«><b>Действие</b></p>

</td>

</tr>

<tr>

<td valigntop«>

<p classMsoNormalCxSpMiddle«>Вставить

строку</p>

</td>

<td valigntop«>

<p classMsoNormalCxSpMiddle«>Сверху

от текущей строки добавляется новая строка</p>

</td>

</tr>

<tr>

<td valigntop«>

<p classMsoNormalCxSpMiddle«>Удалить

строку</p>

</td>

<td valigntop«>

<p classMsoNormalCxSpMiddle«>Удаляется

текущая строка</p>

</td>

</tr>

<tr>

<td valigntop«>

<p classMsoNormalCxSpMiddle«>Вставить

колонку</p>

</td>

<td valigntop«>

<p classMsoNormalCxSpMiddle«>Справа

от текущей колонки добавляется новая колонка</p>

</td>

</tr>

<tr>

<td valigntop«>

<p classMsoNormalCxSpMiddle«>Удалить

колонку</p>

</td>

<td valigntop«>

<p classMsoNormalCxSpMiddle«>Удаляется

текущая колонка</p>

</td>

</tr>

<tr>

<td valigntop«>

<p classMsoNormalCxSpMiddle«>Вставить

ячейку</p>

</td>

<td valigntop«>

<p classMsoNormalCxSpMiddle«>В

таблицу слева от текущей ячейки добавляется ячейка. При этом все ячейки

справа сдвигаются</p>

</td>

</tr>

<tr>

<td valigntop«>

<p classMsoNormalCxSpMiddle«>Удалить

ячейку</p>

</td>

<td valigntop«>

<p classMsoNormalCxSpMiddle«>Удаляет

текущую ячейку. Все ячейки справа сдвигаются влево</p>

</td>

</tr>

<tr>

<td valigntop«>

<p classMsoNormalCxSpMiddle«>Объединить

ячейки</p>

</td>

<td valigntop«>

<p classMsoNormalCxSpMiddle«>Объединяет

две ячейки: текущую и ячейку, расположенную справа от текущей. При этом

введенная информация в этих ячейках также объединяется. Если требуется

объединить больше чем две ячейки, нужно выполнить эту операцию несколько раз</p>

</td>

</tr>

<tr>

<td valigntop«>

<p classMsoNormalCxSpMiddle«>Разбить

ячейку</p>

</td>

<td valigntop«>

<p classMsoNormalCxSpMiddle«>Разделяет

текущую ячейку на две ячейки</p>

</td>

</tr>

</table>

<p classMsoNormalCxSpLast«>Таблицы могут быть вложенными. Для создания

вложенной таблицы необходимо создать новую таблицу в ячейке уже существующей

таблицы.</p>

<a name_ref449006777«></a><a idTI000001020» classbookmark» nameissogl3_27.20.2.3_вставка_картинки«><h4>27.20.2.3. Вставка картинки</h4></a>

<p classMsoNormalCxSpFirst«>В HTML-документ можно вставлять картинки.</p>

<p classMsoNormalCxSpLast«>Для вставки картинки нужно выбрать пункт <span classInterface«>Элементы – Картинка</span>. В открывшемся диалоге указать

адрес картинки (путь и имя файла картинки) или выбрать файл в стандартном

диалоге выбора файла. В поле <span classInterface«>Текст</span> ввести поясняющий текст, который будет появляться

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

над картинкой.</p>

<p classRegularbeforetable«>В группе реквизитов <span classInterface«>Расположение</span> необходимо указать, если требуется,

выравнивание картинки (как располагается картинка в документе).</p>

<table classMsoNormalTable» border0» cellspacing0» cellpadding0«>

<tr>

<td valigntop«>

<p classMsoNormalCxSpFirst«><b>Значение<br>

выравнивания</b></p>

</td>

<td valigntop«>

<p classMsoNormalCxSpMiddle«><b>Действия</b></p>

</td>

</tr>

<tr>

<td valigntop«>

<p classMsoNormalCxSpMiddle«>Не

задано </p>

</td>

<td valigntop«>

<p classMsoNormalCxSpMiddle«>Картинка

располагается в тексте</p>

</td>

</tr>

<tr>

<td valigntop«>

<p classMsoNormalCxSpMiddle«>Лево</p>

</td>

<td valigntop«>

<p classMsoNormalCxSpMiddle«>Картинка

располагается в новой строке, прижата к левой границе документа</p>

</td>

</tr>

<tr>

<td valigntop«>

<p classMsoNormalCxSpMiddle«>Право</p>

</td>

<td valigntop«>

<p classMsoNormalCxSpMiddle«>Картинка

располагается в новой строке, прижата к правой границе документа</p>

</td>

</tr>

<tr>

<td valigntop«>

<p classMsoNormalCxSpMiddle«>Низ</p>

</td>

<td valigntop«>

<p classMsoNormalCxSpMiddle«>Картинка

располагается в тексте с выравниванием текста по нижней границе картинки</p>

</td>

</tr>

<tr>

<td valigntop«>

<p classMsoNormalCxSpMiddle«>Центр</p>

</td>

<td valigntop«>

<p classMsoNormalCxSpMiddle«>Картинка

располагается в тексте с выравниванием текста по центру картинки</p>

</td>

</tr>

<tr>

<td valigntop«>

<p classMsoNormalCxSpMiddle«>Верх</p>

</td>

<td valigntop«>

<p classMsoNormalCxSpMiddle«>Картинка

располагается в тексте с выравниванием текста по верхней границе картинки</p>

</td>

</tr>

</table>

<p classMsoNormalCxSpMiddle«>Если требуется поместить картинку в рамку, в

реквизите диалога <span classInterface«>Рамка</span> нужно указать толщину рамки. Если толщина не

указана или равна 0, то рамка не рисуется. Для вставки картинки нажать кнопку <span classInterface«>ОК</span>. Указанные в диалоге реквизиты можно изменить в палитре

свойств картинки.</p>

<p classMsoNormalCxSpMiddle«>Вставленную картинку можно переместить. Для

этого следует указать картинку и перетащить ее мышью в нужное место документа.

При этом свойство картинки <span classInterface«>Положение</span> не меняется, т. е. если установлено

не <span classInterface«>Лево</span> и не <span classInterface«>Право</span>, то картинку можно расположить в тексте, в

противном случае картинка будет располагаться в новой строке.</p>

<p classMsoNormalCxSpMiddle«>При вставке картинки в формате <span classInterface«>SVG</span>, если в HTML-странице отсутствует элемент вида: <span classTerm«>&lt;meta

http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=*&quot;/&gt;</span>,

то на страницу добавится такой элемент с текстом <span classTerm«>content=&quot;IE=Egde&quot;</span>.

Этот элемент выключает режим совместимости Microsoft Internet Explorer (по

умолчанию, страница отрисовывается в режиме совместимости с Microsoft Internet Explorer версии 7). После

добавления такого элемента, веб-браузер перезагружает страницу без режима совместимости

(теряется текущая позиция курсора).</p>

<p classMsoNormalCxSpMiddle«>Если на компьютере установлен Microsoft Internet Explorer версии ниже 9, то в

редакторе HTML картинка в формате SVG отображаться не будет.</p>

<p classMsoNormalCxSpMiddle«>Картинку можно копировать. Копирование

осуществляется стандартным образом (с помощью буфера обмена или с помощью мыши

при нажатой клавише <span classInterface«>Ctrl</span>).</p>

<p classMsoNormalCxSpLast«>Картинку можно расположить в любой части

HTML-документа (текст, таблица и надпись).</p>

<a idTI000001021» classbookmark» nameissogl3_27.20.2.4_надпись«><h4>27.20.2.4. Надпись</h4></a>

<p classMsoNormalCxSpFirst«><span classInterface«>Надпись</span> – специальный

объект HTML-документа. Он представляет собой область, в которую можно поместить

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

объекты непрерывно прокручиваются справа налево.</p>

<p classMsoNormalCxSpMiddle«>Для вставки линии нужно выбрать пункт <span classInterface«>Элементы – Надпись</span>.</p>

<p classMsoNormalCxSpMiddle«>Размер надписи можно изменить. Для этого следует

выделить надпись и с помощью мыши переместить маркер надписи.</p>

<p classMsoNormalCxSpLast«>Надписи можно располагать в тексте и в

таблице.</p>

<a idTI000001022» classbookmark» nameissogl3_27.20.2.5_гиперссылка«><h4>27.20.2.5. Гиперссылка</h4></a>

<p classMsoNormal«>Для создания гиперссылки в HTML-документе

можно создавать ссылки.</p>

<p classRegularbeforepicture«>Нужно выделить объект (текст или картинку), выбрать

пункт <span classInterface«>Элементы – Ссылка</span>. На экран выводится диалог

формирования ссылки.</p>

<p classPicture«><IMG src_img/img00558.gif?_=1496848987» WIDTH648» ALT HEIGHT476«></p>

<p classMsoCaption«>Рис. 550. Вставка гиперссылки</p>

<p classMsoNormal«>В реквизите <span classInterface«>Адрес</span> нужно указать:</p>

<p classMsoListBulletCxSpFirst«>

Адрес гиперссылки.</p>

<p classMsoListBulletCxSpMiddle«>

Ссылку на справочную информацию по объекту

конфигурации.</p>

<p classMsoListBulletCxSpMiddle«>

Ссылку на системный раздел справки. Если режим

редактирования конфигурации установлен в значение <span classInterface«>Управляемое приложение</span>, то будут отображены только

разделы справки, относящиеся к управляемому приложению (а также колонка,

описывающая доступность раздела в веб-клиенте). Если режим редактирования

конфигурации установлен в значение <span classInterface«>Управляемое приложение и обычное приложение</span>, то будут

отображены все разделы справки с указанием доступности раздела в управляемом

приложении, веб-клиенте и обычном приложении.</p>

<p classMsoListBulletCxSpLast«>

Имя закладки (предваренное символом «<span classInterface«>#</span>»).</p>

<p classMsoNormalCxSpFirst«>Для создания ссылки следует нажать кнопку <span classInterface«>ОК</span>.</p>

<p classMsoNormalCxSpLast«>Выделенный объект форматируется в соответствии

со стилем гиперссылки. Обычно это синий цвет текста с подчеркиванием. Картинка

помещается в рамку синего цвета.</p>

<a idTI000001023» classbookmark» nameissogl3_27.20.2.6_закладки«><h4>27.20.2.6. Закладки</h4></a>

<p classMsoNormalCxSpFirst«>Для создания внутренней ссылки в

HTML-документе можно создавать закладки. Для этого следует выделить объект

(текст или картинку) и выбрать пункт <span classInterface«>Элементы – Закладка</span>. На экран выводится диалог ввода

имени закладки. Выделенный объект при этом не форматируется.</p>

<p classMsoNormalCxSpLast«>Закладки используются для организации

внутренней ссылки.</p>

<a idTI000001024» classbookmark» nameissogl3_27.20.2.7_линия«><h4>27.20.2.7. Линия</h4></a>

<p classMsoNormal«>С помощью линий производится зрительное

разделение документа.</p>

<a name_ref353279027«></a><a name_ref353279026«></a><a idTI000001025» classbookmark» nameissogl2_27.20.3_редактирование_в_html-формате«><h3>27.20.3. Редактирование в HTML-формате</h3></a>

<p classMsoNormalCxSpFirst«>Возможности редактора HTML-документов,

предоставляемые на закладке <span classInterface«>Редактирование</span>, ограниченны. На закладке <span classInterface«>Текст</span> разработчик может отредактировать документ в формате

HTML-кода.</p>

<p classMsoNormalCxSpLast«>Следует помнить, что

ручное изменение кодировки с помощью атрибута <span classTerm«>charset</span> тега <span classTerm«>META</span> не оказывают влияние на поведение

редактора. При сохранении HTML-документ будет записан в кодировке utf-8 с

неизменным тегом <span classTerm«>charset</span>, а при чтении тег <span classTerm«>charset</span> будет установлен в значение utf-8.</p>

<a idTI000001026» classbookmark» nameissogl2_27.20.4_просмотр_результата«><h3>27.20.4. Просмотр результата</h3></a>

<p classMsoNormal«>Для просмотра результата редактирования

HTML-документа нужно перейти на закладку <span classInterface«>Просмотр</span> и проверить работу объектов документа.</p>

<a name_ref428285443«></a><a idTI000001027» classbookmark» nameissogl1_27.21.локализация_конфигураций«><h2>27.21.Локализация конфигураций</h2></a>

<p classMsoNormalCxSpFirst«>Под локализацией конфигураций понимается

формирование строковых значений, появляющихся в программе в режиме

1С:Предприятие, на языках, указанных в ветви <span classInterface«>Общие – Языки</span> дерева объектов конфигурации. Это

может быть наименование пунктов в интерфейсе, наименованиях (синонимах)

объектов, справочной информации, текстах модулей и т. д.</p>

<p classMsoNormalCxSpMiddle«>Наиболее сложным при выполнении данной работы

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

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

один язык.</p>

<p classMsoNormalCxSpLast«>Для начала поиска нужно выбрать пункт <span classInterface«>Правка – Редактирование текстов интерфейса</span>.</p>

<p classRegularbeforepicture«>На экран выводится диалог:</p>

<p classPicture«><IMG src_img/img00559.gif?_=1496848987» WIDTH486» ALT HEIGHT445«></p>

<p classMsoCaption«>Рис. 551. Редактирование текстов

интерфейса</p>

<p classMsoNormalCxSpFirst«>На закладке <span classInterface«>Конфигурации</span> выбираются объекты конфигурации, в которых

требуется осуществить редактирование текстов интерфейса.</p>

<p classMsoNormalCxSpMiddle«>В список конфигураций будут включены все

открытые на текущий момент окна конфигураций (помимо основной это может быть

конфигурация базы данных, конфигурации, расположенные в файлах, конфигурации

хранилища и поставки).</p>

<p classMsoNormalCxSpLast«>В поле выбора можно выбрать строку <span classInterface«>Вся конфигурация</span>, и в этом случае будет сформирован

полный список объектов конфигурации, которые содержат интерфейсные свойства.

Поиск можно осуществлять только в определенных объектах, если в поле выбора

выбрать этот объект.</p>

<p classRegularbeforepicture«>На закладке <span classInterface«>Файлы</span> можно выбрать текстовые и табличные документы,

внешние обработки, размещенные в файлах.</p>

<p classPicture«><IMG src_img/img00560.gif?_=1496848987» WIDTH486» ALT HEIGHT236«></p>

<p classMsoCaption«>Рис. 552. Настройка поиска в

файлах</p>

<p classMsoNormalCxSpFirst«>На закладке <span classInterface«>Модули</span> нужно установить флажок <span classInterface«>Искать в функциях &quot;НСтр&quot; (&quot;NStr&quot;) в модулях</span>,

если требуется определить места использования оператора <span classTerm«>НСтр()</span>

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

оператора <span classTerm«>НСтр()</span> выполняется

без применения синтаксического анализа. Так, операторы <span classTerm«>НСтр()</span>

в комментариях также будут обработаны, при этом если строки на разных языках

будут включать переносы строк, то признак комментария (<span classInterface«>//</span>) перед такими («добавленными») строками не будет

добавлен.</p>

<p classMsoNormalCxSpLast«>Для запоминания области поиска (список

объектов конфигураций, файлов и открытые документы) в реквизите <span classInterface«>Область поиска</span> следует указать наименование текущих

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

выбрать нужную и выполнить поиск.</p>

<p classRegularbeforepicture«>После того как выбраны нужные объекты, следует

нажать кнопку <span classInterface«>Искать</span>.

На экран выводится окно:</p>

<p classPicture«><IMG src_img/img00561.gif?_=1496848987» WIDTH486» ALT HEIGHT262«></p>

<p classMsoCaption«><a name_ref237746507«>Рис. </a>553. Окно с результатами поиска</p>

<p classMsoNormalCxSpFirst«>Окно содержит табличное поле, в первой

колонке которого выводится расположение найденного текста. Другие колонки

обычно соответствуют указанным языкам. В табличном поле может быть больше

колонок, чем определено языков. Дополнительные колонки появляются в том случае,

когда в процессе конфигурирования создавались новые объекты <span classInterface«>Язык</span>, которые затем либо удалялись, либо у них менялся

код языка (при удалении или смене кода языка объектов данного типа конфигуратор

не сбрасывает текст интерфейсов, введенных для этих языков).</p>

<p classMsoNormalCxSpMiddle«>Содержимое табличного поля отсортировано по

одной из колонок. Для смены сортировки достаточно щелкнуть заголовок колонки.

При повторном щелчке заголовка производится смена направления сортировки.</p>

<p classMsoNormalCxSpMiddle«>Текст можно также изменить прямо в ячейке.

Для этого нужно выбрать ячейку и нажать клавишу <span classInterface«>Enter</span>. Поле ввода переводится в режим редактирования. Следует

ввести нужный текст и снова нажать клавишу <span classInterface«>Enter</span>. Измененный текст показывается красным цветом.</p>

<p classMsoNormalCxSpMiddle«>Для быстрого доступа к тексту интерфейса

определенного объекта достаточно в колонке <span classInterface«>Расположение</span> дважды щелкнуть мышью нужную строку. На

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

можно также произвести просмотр и замену найденного текста. Если текст

изменялся вне окна редактирования, то табличное поле можно обновить.</p>

<p classMsoNormalCxSpMiddle«>Над табличным полем расположены элементы

управления, предназначенные для выполнения различных действий и настройки окна.</p>

<p classMsoNormalCxSpMiddle«>В поле выбора <span classInterface«>Сворачивать</span> производится выбор режима сворачивания

текстов на разных языках. Если выбрано значение <span classInterface«>Нет</span>, то сворачивание не производится. Если выбрано <span classInterface«>Совпадающие на языке сортировки</span>, то все элементы,

имеющие одинаковый текст в колонке, по которой производится сортировка,

сворачиваются. При этом в первой колонке показывается значок группы (<span classInterface«>+</span>), щелкнув который можно развернуть группу. В первой

колонке будет показан текст <span classInterface«>&lt;Вхождений N&gt;</span> (где <span classInterface«>N</span> – число вхождений). Если в других колонках по

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

надпись <span classInterface«>&lt;Различные

значения&gt;</span>.</p>

<p classMsoNormalCxSpMiddle«>Если выбрано <span classInterface«>Совпадающие на всех языках</span>, то все элементы, имеющие

одинаковый текст, сворачиваются.</p>

<p classMsoNormalCxSpMiddle«>Для свернутых строк можно производить

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

так, как если бы это была одна строка. Введенный текст заменяет текст сразу во

всех строках, входящих в группу.</p>

<p classMsoNormalCxSpMiddle«>С помощью пункта <span classInterface«>Действия – Новый поиск</span> открывается окно настройки

для изменения разделов конфигурации, в которых будет произведен поиск.</p>

<p classMsoNormalCxSpMiddle«>С помощью пункта <span classInterface«>Действия – Копировать тексты</span> производится полное

копирование текстов одного языка в другой язык. Эта операция рекомендуется

тогда, когда используемые слова и фразы на различных языках в основном совпадают.</p>

<p classMsoNormalCxSpMiddle«>Пункт <span classInterface«>Действия – Очистить тексты</span> производит полную

очистку текстов указанного языка.</p>

<p classMsoNormalCxSpLast«>Пункт <span classInterface«>Действия – Заполнить тексты</span> производит оперативный

перевод синонимов, заголовков, подсказок и текстов интерфейсов с использованием

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

нескольких колонок (по числу используемых языков).</p>

<p classRegularbeforepicture«>В первой строке каждой колонки должен быть

написан код языка (например, <span classInterface«>ru</span> или <span classInterface«>lv</span>). В остальных строках следуют образцы соответствий.

Никаких требований к упорядочиванию (сортировке) строк не предъявляется. Строки

могут дублироваться.</p>

<p classPicture«><IMG src_img/img00562.gif?_=1496848987» WIDTH310» ALT HEIGHT292«></p>

<p classMsoCaption«>Рис. 554. Заполнение текстов</p>

<p classMsoNormalCxSpFirst«>После выбора файла соответствия нужно указать

основной язык (<span classInterface«>По языку</span>) и языки, для которых требуется выполнить перевод

текста (<span classInterface«>В

языки</span>). Установка флажка <span classInterface«>Заполнять только незаполненные</span> приводит к блокировке

перезаписи уже локализованных строк.</p>

<p classMsoNormalCxSpLast«>Выбор ключевого языка и языков для заполнения

осуществляется из числа языков, которые были обнаружены в процессе поиска интерфейсных

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

файле соответствий (в нем должны быть колонки с заголовками, соответствующими

кодам этих языков).</p>

<p classNote«><span classNote«>Примечание.</span> Если при открытии окна

<span classInterface«>Редактирование текстов

интерфейса</span> обнаружены строки только на одном языке, команда <span classInterface«>Заполнить тексты</span> будет недоступна.</p>

<p classMsoNormalCxSpFirst«>Нажатие кнопки <span classInterface«>ОК</span> производит заполнение текстов интерфейсов. При этом

выполняется заполнение текстов с проверкой соответствия не только по тому

языку, на основании которого выполняется загрузка, но и по всем языкам, которые

присутствуют в файле соответствия текстов.</p>

<p classMsoNormalCxSpMiddle«>Это позволяет, например, поставить в

соответствие одинаковым строкам на одном языке разные строки на другом. Для

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

комментирования текстов интерфейса и по-разному заполнять такой комментарий для

омонимов основного языка. Например, для слова «<span classInterface«>Счет</span>» на русском языке можно написать комментарии «<span classInterface«>бухгалтерский счет</span>» и «<span classInterface«>документ счет</span>». Это даст возможность при заполнении

текстов из файла соответствия текстов сопоставить с первым из этих слов

английское «<span classInterface«>Account</span>»,

а со вторым – «<span classInterface«>Invoice</span>».</p>

<p classMsoNormalCxSpLast«>Пункт <span classInterface«>Действия – Экспорт в табличный документ</span> производит

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

осуществляет вывод только уникальных строк.</p>

<p classRegularbeforepicture«>С помощью пункта <span classInterface«>Действия – Настройка</span> осуществляется настройка

показа табличного поля и установка режима открытия редакторов при групповой

замене.</p>

<p classPicture«><IMG src_img/img00563.gif?_=1496848987» WIDTH358» ALT HEIGHT206«></p>

<p classMsoCaption«>Рис. 555. Настройка окна

редактирования текстов интерфейса</p>

<p classMsoNormal«>В группе <span classInterface«>Расположение колонок</span> производится выбор способа

расположения колонок:</p>

<p classMsoListBulletCxSpFirst«>

<span classInterface«>Горизонтально</span>

это так, как показано на <a href#_ref237746507«>рис.553</a>.</p>

<p classMsoListBulletCxSpMiddle«>

<span classInterface«>Комбинированно</span>

располагает колонки одна под другой.</p>

<p classMsoListBulletCxSpLast«>

<span classInterface«>Комбинированно, с

выделением языка сортировки</span> – размещает колонки следующим образом:

справа от колонки <span classInterface«>Расположение</span> будет колонка с языком, по которому

производится сортировка, а правее будут располагаться одна под другой колонки с

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

по этой колонке, и она располагается справа от колонки <span classInterface«>Расположение</span>. Колонка, по которой ранее выполнялась

сортировка, занимает место выбранной колонки. Если языков всего два, то колонки

просто меняются местами.</p>

<p classMsoNormalCxSpFirst«>Если флажок <span classInterface«>При сворачивании отображать в виде дерева</span> установлен, то

доступ к свернутым строкам возможен, а свернутые группы показываются в виде

дерева.</p>

<p classMsoNormalCxSpMiddle«>Рекомендуется не устанавливать флажок <span classInterface«>Открывать редакторы при групповой замене</span>, если число

вхождений достаточно большое.</p>

<p classMsoNormalCxSpLast«>Если флажок <span classInterface«>Изображать другим цветом отредактированные строки</span>

установлен, то измененный текст строк будет показан другим цветом.</p>

<a name_ref348628230«></a><a name_ref348628229«></a><a name_ref335326060«></a><a name_ref335321996«></a><a name_ref335321995«></a><a name_ref320886445«></a><a name_ref320886444«></a><a name_ref310422632«></a><a name_ref310422631«></a><a name_ref305582799«></a><a name_ref222639000«></a><a name_ref420332472«></a><a name_ref420332471«></a><a idTI000001028» classbookmark» nameissogl1_27.22.выполнение_централизованной_проверки_конфигурации«><h2>27.22.Выполнение централизованной проверки конфигурации</h2></a>

<p classRegularbeforepicture«>Для выполнения проверки конфигурации нужно

выбрать пункт <span classInterface«>Конфигурация – Проверка конфигурации</span>. На экран

выводится окно:</p>

<p classPicture«><IMG src_img/img00564.gif?_=1496848987» WIDTH506» ALT HEIGHT627«></p>

<p classMsoCaption«>Рис. 556. Проверка конфигурации</p>

<p classMsoNormalCxSpFirst«>Рассмотрим подробнее, как выполняется

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

в некотором окружении. Это окружение характеризуется некоторым набором

определенных инструкций препроцессора (см. <A href/db/content/v8310doc/src/руководство разработчика/глава 4. встроенный язык.htm?_=1496848987#_ref231122750«>здесь</a>) и набором доступных объектов. Соответственно, при

выполнении проверки конфигуратор определяет инструкции препроцессора для

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

клиентское приложение в клиент-серверном варианте, то на стороне клиента

проверяется весь прикладной код, а на стороне сервера – только те общие

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

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

исходных текстов, то при проверке конфигурации все вызовы методов этого общего

модуля будут отмечаться как возможно ошибочные.</p>

<p classMsoNormalCxSpLast«>Так как различных режимов работы получается

достаточно много, то проверки разделены на две группы:</p>

<p classMsoListBulletCxSpFirst«>

Группа проверок, доступная для принудительной и

автоматической проверки при редактировании конфигурации. Эти режимы доступны

для выбора на закладке <span classInterface«>Модули – Проверка</span> диалога настройки параметров конфигуратора

(см. <A href/db/content/v8310doc/src/руководство разработчика/глава 33. сервисные возможности.htm?_=1496848987#_ref289357633«>здесь</a>).</p>

<p classMsoListBulletCxSpLast«>

Весь список проверок, который можно вызвать при

централизованной проверке конфигурации (описываемый режим).</p>

<p classMsoNormal«>Далее будет описано, какие инструкции

препроцессора будут определены при выборе каждого режима проверки, описаны особенности

режима (если они есть), а также описаны режимы проверки, не имеющие отношения к

определению окружения проверяемого исходного кода.</p>

<p classLang-parameter«>Общие параметры</p>

<p classLang-subheader«>Проверка логической целостности конфигурации</p>

<p classMsoNormal«>Стандартная проверка, обычно выполняемая

перед обновлением базы данных. При выполнении данной

проверки выполняется удаление некорректной информации, которая могла оказаться

в конфигурации после редактирования предыдущими версиями системы.</p>

<p classLang-subheader«>Поиск некорректных ссылок</p>

<p classMsoNormal«>Поиск ссылок на удаленные объекты.

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

Также выполняется поиск некорректных ссылок на предопределенные данные для

планов счетов (если для плана счетов задано свойство <span classInterface«>Виды субконто</span>) и планов видов расчетов.</p>

<p classLang-parameter«>Синтаксический контроль модулей</p>

<p classLang-subheader«>Тонкий клиент</p>

<p classMsoNormalCxSpFirst«>Проверка компиляции модулей в режиме

проверки среды тонкого клиента в режиме управляемого приложения, выполняемого в

файловом варианте.</p>

<p classMsoNormalCxSpLast«>Определены инструкции препроцессора: <span classTerm«>Клиент</span>,

<span classTerm«>ТонкийКлиент</span>.</p>

<p classLang-subheader«>Веб-клиент</p>

<p classMsoNormalCxSpFirst«>Проверка компиляции модулей в режиме

проверки среды веб-клиента в режиме управляемого приложения, выполняемого в файловом

варианте.</p>

<p classMsoNormalCxSpLast«>Определены инструкции препроцессора: <span classTerm«>Клиент</span>,

<span classTerm«>ВебКлиент</span>.</p>

<p classLang-subheader«>Сервер</p>

<p classMsoNormalCxSpFirst«>Проверка компиляции модулей в режиме

проверки среды сервера «1С:Предприятия».</p>

<p classMsoNormalCxSpLast«>Определены инструкции препроцессора: <span classTerm«>Сервер</span>.</p>

<p classLang-subheader«>Внешнее соединение</p>

<p classMsoNormalCxSpFirst«>Проверка компиляции модулей в режиме

проверки среды внешнего соединения, выполняемого в файловом варианте.</p>

<p classMsoNormalCxSpLast«>Определены инструкции препроцессора: <span classTerm«>ВнешнееСоединение</span>,

<span classTerm«>Сервер</span>.</p>

<p classLang-subheader«>Внешнее соединение (вариант клиент-сервер)</p>

<p classMsoNormalCxSpFirst«>Проверка компиляции модулей в режиме

проверки среды внешнего соединения, выполняемого в варианте клиент-сервер.</p>

<p classMsoNormalCxSpLast«>Определены инструкции препроцессора: <span classTerm«>ВнешнееСоединение</span>.</p>

<p classLang-subheader«>Мобильный приложение – клиент</p>

<p classMsoNormalCxSpFirst«>Проверка компиляции

модулей в режиме проверки среды клиентского приложения, выполняемого на

мобильной платформе.</p>

<p classMsoNormalCxSpLast«>Определены

инструкции препроцессора: <span classTerm«>Клиент</span>, <span classTerm«>НаКлиенте</span>, <span classTerm«>МобильноеПриложениеКлиент</span>.</p>

<p classLang-subheader«>Мобильное приложение – сервер</p>

<p classMsoNormalCxSpFirst«>Проверка компиляции модулей в режиме

проверки среды клиентского приложения, выполняемого на мобильной платформе.</p>

<p classMsoNormalCxSpLast«>Определены инструкции препроцессора: <span classTerm«>Сервер</span>,

<span classTerm«>НаСервере</span>, <span classTerm«>МобильноеПриложениеСервер</span>.</p>

<p classLang-subheader«>Толстый клиент (управляемое приложение)</p>

<p classMsoNormalCxSpFirst«>Проверка компиляции модулей в режиме

проверки среды управляемого клиента, выполняемого в файловом варианте.</p>

<p classMsoNormalCxSpMiddle«>Если

свойство конфигурации <span classInterface«>Использовать обычные формы в управляемом приложении</span> имеет значение <span classTerm«>Ложь</span>, то модули обычных форм не проверяются при выборе этого теста.</p>

<p classMsoNormalCxSpLast«>Определены инструкции препроцессора: <span classTerm«>Клиент</span>,

<span classTerm«>ТолстыйКлиентУправляемоеПриложение</span>,

<span classTerm«>Сервер</span>.</p>

<p classLang-subheader«>Толстый клиент (управляемое приложение,

вариант клиент-сервер)</p>

<p classMsoNormalCxSpFirst«>Проверка компиляции модулей в режиме

проверки среды управляемого клиента, выполняемого в варианте клиент-сервер.</p>

<p classMsoNormalCxSpMiddle«>Если

свойство конфигурации <span classInterface«>Использовать обычные формы в управляемом приложении</span> имеет значение <span classTerm«>Ложь</span>, то модули обычных форм не проверяются при выборе этого теста.</p>

<p classMsoNormalCxSpLast«>Определены инструкции препроцессора: <span classTerm«>Клиент</span>,

<span classTerm«>ТолстыйКлиентУправляемоеПриложение</span>.</p>

<p classLang-subheader«>Поставка модулей без исходных текстов</p>

<p classMsoNormal«>Если в настройках поставки конфигурации для

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

генерации образов этих модулей.</p>

<p classLang-parameter«>Логическая проверка модулей</p>

<p classLang-subheader«>Поиск неиспользуемых процедур и функций</p>

<p classMsoNormalCxSpFirst«>Поиск локальных (не экспортируемых) процедур

и функций, на которые отсутствуют ссылки. В том числе осуществляется поиск

неиспользуемых обработчиков событий.</p>

<p classMsoNormalCxSpLast«>Процедура или функция модуля формы будет

считаться используемой, если ее имя встречается в виде <span classInterface«>&quot;ИмяПроцедуры&quot;</span> (включая кавычки), т. е.

является параметром какого-либо метода, например, назначение обработчика

какого-либо события.</p>

<p classLang-subheader«>Проверка существования назначенных

обработчиков</p>

<p classMsoNormal«>Проверка существования обработчиков событий

интерфейсов, форм, элементов управления, элементов карт маршрута.</p>

<p classLang-subheader«>Поиск пустых обработчиков</p>

<p classMsoNormal«>Поиск назначенных обработчиков событий, в

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

привести к падению производительности системы.</p>

<p classLang-subheader«>Расширенная проверка</p>

<p classMsoNormal«>Для ограниченного набора типов выполняется

проверка обращений к методам и свойствам объектов «через точку». Также выполняется

проверка корректности указания параметров, заданных строкой, для ограниченного

набора методов.</p>

<p classLang-subheader«>Поиск использования модальности</p>

<p classMsoNormal«>Данный флажок становится доступным только в

том случае, если включена расширенная проверка конфигурации. В этом режиме

конфигуратор выполняет поиск в модулях методов, открывающих модальные

диалоговые окна. Свойство конфигурации <span classInterface«>Режим использования модальности</span> не влияет на работу

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

том случае, если свойство <span classInterface«>Режим использование модальности</span> установлено в значение <span classInterface«>Использовать</span> или <span classInterface«>Использовать с предупреждением</span>.</p>

<p classLang-subheader«>Поиск использования синхронных вызовов</p>

<p classMsoNormalCxSpFirst«>Данный флажок становится доступным только в

том случае, если включена расширенная проверка конфигурации. В этом режиме

конфигуратор выполняет поиск в модулях фрагментов кода на встроенном языке, в

которых используются синхронные вызовы. Свойство конфигурации <span classInterface«>Режим использования синхронных вызовов расширений платформы и

внешних компонент</span> не влияет на работу механизма проверки. При включении

данного флажка ошибки будут выдаваться и в том случае, если свойство <span classInterface«>Режим использование модальности</span> установлено в значение <span classInterface«>Использовать</span> или <span classInterface«>Использовать с предупреждением</span>.</p>

<p classMsoNormalCxSpLast«>Более

подробно особенности поиска синхронных вызовов см. <a href#_ref448859736«>здесь</a>.</p>

<p classLang-parameter«>Проверка мобильного приложения</p>

<p classLang-subheader«>Поиск неподдерживаемой функциональности</p>

<p classMsoNormal«>Проверка в этом режиме показывает:</p>

<p classMsoListBulletCxSpFirst«>

Наличие в прикладном решении объектов

конфигурации, которые не реализованы для мобильной платформы;</p>

<p classMsoListBulletCxSpMiddle«>

Наличие в прикладном решении планов обмена, у

которых установлено свойство <span classInterface«>Распределенная информационная база</span>;</p>

<p classMsoListBulletCxSpLast«>

Использование объектов конфигурации, которые не поддерживаются

мобильной платформой:</p>

<p classMsoListBullet2CxSpFirst«>

В свойствах <span classInterface«>Тип</span> реквизитов объектов конфигурации, констант,

параметров сеанса;</p>

<p classMsoListBullet2CxSpMiddle«>

В свойстве <span classInterface«>Тип параметра команды</span> объекта <span classTerm«>Команда</span>;</p>

<p classMsoListBullet2CxSpLast«>

В свойстве <span classInterface«>Тип</span> реквизитов и колонок реквизита формы.</p>

<p classMsoListBulletCxSpFirst«>

Наличие неуправляемых форм;</p>

<p classMsoListBulletCxSpMiddle«>

Наличие в формах элементов, которые не поддерживаются

мобильной платформой. Эта проверка не делается для форм, у которых свойство <span classInterface«>Назначения использования</span> не предполагает использование

на мобильной платформе.</p>

<p classMsoListBulletCxSpLast«>

Проверка, что начальная страница состоит не

более чем из одной формы.</p>

<p classMsoNormalCxSpFirst«> </p>

<p classMsoNormalCxSpMiddle«>Выбранную совокупность настроек можно

сохранить для дальнейшего использования. Для этого в поле <span classInterface«>Настройка проверки</span> нужно указать имя настройки. Для

использования прежней настройки достаточно выбрать имя настройки.</p>

<p classMsoNormalCxSpLast«>Все сообщения об ошибках выдаются в окно

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

клавиш <span classInterface«>Ctrl + Break</span>.</p>

<p classNote«><span classNote«>Примечание.</span> В начальной стадии

проверки прерывание может быть обработано с задержкой.</p>

<p classMsoNormalCxSpFirst«>При проверке конфигурации, подключенной к

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

захватить корневой объект конфигурации.</p>

<p classMsoNormalCxSpLast«>Если параметр <span classInterface«>Редактирование конфигурации для режимов запуска</span> (см. <A href/db/content/v8310doc/src/руководство разработчика/глава 33. сервисные возможности.htm?_=1496848987#_ref222823825«>здесь</a>) имеет значение <span classInterface«>Управляемое приложение и обычное приложение</span>, то в диалоге

добавляются следующие параметры:</p>

<p classMsoListBulletCxSpFirst«>

<span classInterface«>Толстый клиент (обычное

приложение)</span>;</p>

<p classMsoListBulletCxSpLast«>

<span classInterface«>Толстый клиент (обычное

приложение, вариант клиент-сервер)</span>.</p>

<p classRegularbeforepicture«>При этом диалог приобретает следующий вид:</p>

<p classPicture«><IMG src_img/img00565.gif?_=1496848987» WIDTH506» ALT HEIGHT610«></p>

<p classMsoCaption«>Рис. 557. Проверка конфигурации</p>

<p classMsoNormal«>Далее приводится описание этих тестов.</p>

<p classLang-subheader«>Толстый клиент (обычное приложение)</p>

<p classMsoNormalCxSpFirst«>Проверка компиляции модулей в режиме

проверки среды клиентского приложения, выполняемого в файловом варианте.</p>

<p classMsoNormalCxSpMiddle«>Если свойство конфигурации<span classInterface«> Использовать управляемые формы в обычном приложении</span> имеет значение <span classTerm«>Ложь</span>, то модули управляемых форм и модули

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

свойстве <span classInterface«>Основная форма

констант</span>, проверяется при выборе этого теста независимо от значения

свойства <span classInterface«>Использовать

управляемые формы в обычном приложении</span>.</p>

<p classMsoNormalCxSpLast«>Определены инструкции препроцессора: <span classTerm«>Клиент</span>,

<span classTerm«>ТолстыйКлиентОбычноеПриложение</span>,

<span classTerm«>Сервер</span>.</p>

<p classLang-subheader«>Толстый клиент (обычное приложение, вариант

клиент-сервер)</p>

<p classMsoNormalCxSpFirst«>Проверка компиляции модулей в режиме

проверки среды клиентского приложения, выполняемого в варианте клиент-сервер.</p>

<p classMsoNormalCxSpMiddle«>Если свойство конфигурации<span classInterface«> Использовать управляемые формы в обычном приложении</span>

имеет значение <span classTerm«>Ложь</span>,

то модули управляемых форм и модули команд не проверяются при выборе этого теста.

Модуль формы, указанной в свойстве <span classInterface«>Основная форма

констант</span>, проверяется при выборе этого теста независимо от значения

свойства <span classInterface«>Использовать

управляемые формы в обычном приложении</span>.</p>

<p classMsoNormalCxSpLast«>Определены

инструкции препроцессора: <span classTerm«>Клиент</span>, <span classTerm«>ТолстыйКлиентОбычноеПриложение</span>.</p>

<a idTI000001029» classbookmark» nameissogl1_27.23.механизм_анализа_эргономики_работы_с_решениями_созданными_на_платформе_1с_предприятие«><h2>27.23.Механизм анализа эргономики работы с решениями, созданными на платформе «1С:Предприятие»</h2></a>

<p classMsoNormal«>Запуск клиентского приложения с ключом командной

строки<span classInterface«> /logui</span> создаст

на компьютере пользователя в папке файлов приложений <span classInterface«>%APPDATA%1C1Cv82&lt;Уникальный идентификатор&gt;</span> файл

<span classInterface«>logui.txt</span>, в

котором будут регистрироваться все интерактивные действия пользователя (нажатия

клавиш, щелчки мыши). Например:</p>

<a classcopy_source» href#_top» onClickreturn false«>Копировать в буфер обмена</a>

<pre classsrc_res«>

&quot;19.06.2008 16:22:49&quot;,&quot;Event FormActivate&quot;,&quot;Name Документ.ПриходТовара.Форма.ФормаСписка&quot;,&quot;t=0&quot;

&quot;19.06.2008 16:22:49&quot;,&quot;Event FormActivate&quot;,&quot;Name Документ.ПриходТовара.Форма.ФормаСписка&quot;,&quot;t=0&quot;

&quot;19.06.2008 16:22:49&quot;,&quot;Event Lclick&quot;,&quot;Form РегистрНакопления.Взаиморасчеты.Форма.ТекущиеВзаиморасчеты&quot;, &quot;Type TableBox&quot;,&quot;t=0&quot;,&quot;beg&quot;

</pre>

<p classMsoNormalCxSpFirst«>Запись интерактивных действий выполняется для

толстого и тонкого клиентов и не выполняется для веб-клиента.</p>

<p classMsoNormalCxSpMiddle«>Подробнее о формате файла

<span classInterface«>logui.txt</span> см. <a href/db/v8310doc/bookmark/adm/TI000000410» target_top«>здесь</a>.</p>

<p classMsoNormalCxSpMiddle«> </p>

<br> <script typetext/javascript«>listenCopy(‘zeroclipboard.swf’);</script>

</body>

</html>

120 из 128

(Ссылка на ТС

визуализировать какие-либо операции привязанные к дате и времени

визуализировать какие-либо повторяющиеся операции привязанные к дате и времени

интерактивно вносить данные о каких-либо операциях, привязанных к дате и времени

Варианты 1 и 2

Варианты 1 и 3

Верны все варианты

Предыдущий

Следующий

Texify — Image to Text (OCR) — Photo to Text, [11.01.2023 10:27]

10:22 50,9 КБ/С ИКОН

14 из 128

Избранный

Начальную страницу можно отобразить:

Правильно

Подсказка

В основном окне

40D

Во вспомогательном окне, удерживая клавишу «Shift»

Зависит от настроек конфигурации

Варианты 1 и 2

Предыдущий

Следующий)

128 из 128

Значения параметров формы доступны:

только в обработчике события «При открытии»

только в обработчике события «При создании на сервере»

в обработчике события «При создании на сервере» и ряде других серверных процедурах/функциях

40D

в обработчике события «При создании на сервере», и в ряде других серверных процедурах/функциях (но последнее возможно только для параметров отмеченных как ключевые)

Предыдущий

Следующий)

126 из 128

Параметры формы могут использоваться для:

Правильно

Подсказка

Ссылка на ИТС

описания набора данных, которые будут влиять на открытие формы

расширения состава данных формы

определения состава ключа уникальности формы

Варианты 1 и 2

Варианты 1 и 3

Верны все варианты

127 из 128

Параметры формы могут использоваться для:

описания дополнительных наборов данных, получаемых формой «извне»

определения состава ключа уникальности формы

определения типа формы (обычная/управляемая)

Предыдущий

Варианты 1 и 2

125 из 128

не более 4-х элементов

только один элемент

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

любое количество элементов, но в случае их большого числа отображаться будут не все, доступ к неотображаемым элементам по навигационной команде «Еще»

124 из 128

Расположение шкалы времени у объекта «Планировщик»

может быть

Верх или низ

Лево или право

Только слева

Варианты 1 или 2

123 из 128

Какое может быть количество измерений у объекта

«Планировщик»?

«Предопределенных» измерений нет, все добавляются. Максимальное количество 2, причем одно должно иметь тип «Дата»

«Предопределенных» измерений нет, все добавляются. Максимальное количество 3, причем одно должно иметь тип «Дата»

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

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

122 из 128

Для

визуализации данных по

операциям/событиям

привязанным к интервалам дат (имеющие дату начала и дату окончания) может использоваться

Диаграмма Ганта

Объект Планировщик

Варианты 1 и 2

Нет правильного ответа

120 из 128

Объект «Планировщик» позволяет:

визуализировать какие-либо операции привязанные к дате и времени

визуализировать какие-либо повторяющиеся операции привязанные к дате и времени

интерактивно вносить данные о каких-либо операциях, привязанных к дате и времени

Предыдущий

Варианты 1 и 2

Верны все варианты

119 из 128

Какие действия может выполнить пользователь работая с полем форматируемого документа?

Работать с маркированным и нумерованным

списком

Делать фрагмент текста полужирным, наклонным, подчеркнутым, зачеркнутым

Включать режим рецензирования

Предыдущий

Варианты 1 и 2

118 из 128

Какие действия может выполнить пользователь работая с полем форматируемого документа?

Правильно

Подсказка

Вставлять файлы *.mpeg

Увеличивать, уменьшать размер шрифта

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

Варианты 1 и 2

Варианты 2 и 3

117 из 128

Какие действия может выполнить пользователь работая с Полем форматируемого документа?

Правильно

(Подсказка

Вставлять картинки

Управлять выравниванием текста

Задавать фон текста

Предыдущий

Варианты 1 и 2

Варианты 2 и 3

Верны все варианты

116 из 128

Какие действия может выполнить пользователь работая с Полем форматируемого документа?

Правильно

Подсказка

Изменять шрифт и его параметры

Вставлять гиперссылки

Вставлять специальные символы (например: авторское право)

Предыдущий

Варианты 1 и 2

Варианты 2 и 3

Верны все варианты

115 из 128

Для того, чтобы У B форме форматирования документа необходимо:

Воспользоваться свойством «Отображение командной панели»

Добавить командную панель и указать в качестве источника команд форматированный документ

Ничего делать не нужно, команды появляются

автоматически

Варианты 1 или 3

114 из 128

Какой из реквизитов формы, представленной на рисунке, является основным?

Объект

Документ

Справочник

Объект и справочник

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

113 из 128

Добавить элемент управления в обычную форму можно:

Через пункт главного меню «Форма-Вставить элемент управления»

Выбрав необходимый пункт контекстного меню на панели формы

С помощью командной панели «Элементы управления»

Верны ответы 1 и 3

Верны все варианты

112 из 128

Какой из реквизитов формы, представленной на рисунке, является основным?

объект

Документ

Справочник

Следующий

110 из 128

Закладки на форме могут быть расположены:

Сверху или снизу

Слева (горизонтально) или справа (горизонтально)

Пролистывание (сенсорный экран)

Варианты 1 и 2

Варианты 1 и 3

Верны все варианты

109 из 128

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

Создать реквизит формы типа «ФорматированныйДокумент» и установить для него свойство «Сохраняемые данные»

Реквизит формы типа «ФорматированныйДокумент» сделать основным реквизитом формы

Создать элемент формы типа «Поле ввода» вида «Поле форматированного документа»

Предыдущий

Варианты 1 и 2

Варианты 1 и 3

Варианты 1 и 2 и 3

108 из 128

Для предоставления пользователю

Возможности выполнять редактирование текстов C Оформлением необходимо использовать объект:

Текстовый документ

форматированный документ

Табличный документ

107 И3 128

Для отображения дополнительных данных в динамическом списке (например остатки взаиморасчетов B партнеров) необходимо использовать обработчик события:

Правильно

(Подсказка

(Ссылка на ИТС

При создании на сервере

При открытии

При получении данных на сервере

106 из 128

B динамическом списке управляемой формы выполняется:

по данным текущей колонки динамического списка

по данным всех полей, отображаемых в Динамическом списке

по данным всех полей динамического списка

Варианты 1 или 2 или 3 в зависимости от настройки

105 из 128

Изменить порядок обхода элементов обычной формы

Нельзя, если установлено свойство формы «Автопорядок обхода»

Можно, непосредственно в форме (после выполнения определенной команды)

Можно, в свойствах элемента управления формы

Верны ответы 2 и 3

Верны ответы 1, 2 и 3

104 из 128

Выполнение навигационной команды «Открыть» свойства динамического списка «Настройка

управлять отбором, порядок отображения данных

настраивать группировку, условное оформление

данных

настраивать группировку, условное оформление

данных

определять текст запроса

Варианты 1 и 2

Верны все варианты

103 из 128

Выполнение навигационной команды «Открыть» свойства динамического списка «Настройка списка» (представленной На рисунке) открывает форму в которой можно:

управлять отбором, порядок отображения данных

настраивать группировку, условное оформление

данных

определять текст запроса

Предыдущий

Варианты 1 и 2

102 из 128

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

внутренний идентификатор объекта

ссылку

ключ записи

число

Нет правильного ответа

Предыдущий

Следующий)

Texify — Image to Text (OCR) — Photo to Text, [11.01.2023 10:40]

10:18. 0,8 КБ/С 2004

101 M3128

Ключ динамического списка (в случае если в качестве основной таблицы указана одна из следующих таблиц: основная таблица регистра сведений, регистра накопления, регистра бухгалтерии, регистра расчета, виртуальная таблица регистра бухгалтерии «Движения С Субконто») представляет собой:

внутренний идентификатор объекта

ссылку

ключ записи

число

Нет правильного ответа

100 из 128

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

внутренний идентификатор объекта

Предыдущий

ссылку

ключ записи

99 из 128

Ключ динамического списка (в случае если в качестве основной таблицы указана таблица критерия отбора или таблица задач по исполнителю) представляет собой:

внутренний идентификатор объекта.

ссылку

98 из 128

Избранный

Ключ динамического списка (в случае если в качестве основной таблицы указана одна из следующих таблиц: план обмена, справочник, список документов, журнал Документов, план видов характеристик, план счетов, план видов расчета, бизнес-процесс, задача, таблица точек бизнес-процесса) представляет собой:

число

Нет правильного ответа

ссылку

внутренний идентификатор объекта

Предыдущий

ключ записи

97 и3 128

Свойство динамического списка «Динамическое считывание данных» применимо для:

таблиц критериев отбора

таблиц задач по исполнителю

виртуальной таблицы «Движения ССубконто»

96 из 128

Свойство динамического списка «Динамическое считывание данных» применимо для:

Свойства: Реквизит

объектных таблиц системы

основных таблиц регистров

виртуальных таблиц регистров накопления

Верны варианты 1 и 2

Верны варианты 1 и 3

Верны все варианты

95 из 128

Избранный

При настройке ключа динамического списка в случае указания в свойстве «Вид ключа» значения «Авто» в качестве значения свойства «Поле ключа» может использоваться:

номер строки

ключ динамического списка (может включать несколько полей, но только ссылочных типов)

ключ динамического списка (может включать несколько полей, не обязательно только ссылочных типов)

Верны варианты 1 или 2

Верны варианты 1 или 3

Предыдущий

94 из 128

429

При настройке ключа динамического списка в случае указания в свойстве «Вид ключа» значения «Авто» в качестве значения свойства «Поле ключа» может использоваться:

номер строки

поле динамического списка

ключ динамического списка (может включать несколько полей, но только ссылочных типов)

Верны варианты 1 или 2

93 из 128

Избранный

Ключ динамического списка определяется:

автоматически в случае указания основной таблицы

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

с использованием специализированных свойств Динамического списка в любом случае (выбрана основная таблица или нет)

Верны варианты 1 или 2

92 из 128

«ДинамическийСписок» способ формирования запроса к данным определяется разработчиком:

заданием основной таблицы

ручным формированием запроса

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

Верны варианты 1 или 2

91 из 128

В редакторе формы управлять расположением элемента формы (относительно других) можно

в дереве элементов формы, используя команды «Переместить вверх», «Переместить вниз»

в списке реквизитов формы, используя команды «Переместить вверх», «Переместить вниз»

перетаскиванием мышью в окне предварительного просмотра

Вариант 1 или 2

Вариант 1 или 3

90 из 128

Управлять значением свойства реквизита «Использовать всегда» можно для типов:

число, строка, дата, булево

ссылочных типов

хранилище значения

Варианты 1 и 2

89 из 128

Свойство «Использовать всегда»

не дает пользователю убирать видимость элементов формы, связанных с данным реквизитом

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

вне зависимости, от того связан ли реквизит формы с элементом формы, определяет его доступность на стороне клиента

88 из 128

Кнопки управляющие режимом просмотра B области предварительного просмотра редактора формы позволяют выбрать режимы:

Персональный компьютер (Такси), отображение Обычное, масштаб 110%

Персональный компьютер (Интерфейс 8.2), отображение Обычное, разрешение монитора из

списка

Мобильное устройство (мобильный клиент), модель телефона из списка, масштаб 110%

Вариант 1 или 2

Вариант 1 или 3

Возможен любой из указанных вариантов

87 из 128

Свойство элемента формы «Пользовательская видимость» позволяет

Свойства: Поле

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

исключить реквизит из данных формы (реквизит не передается с сервера) для роли пользователя. Изменить эту настройку пользователь не может.

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

делает связанный с реквизитом элемент формы доступным только для просмотра

Область предварительного просмотра внешнего вида формы (в нижней части рисунка) позволяет просматривать результат:

в разных масштабах

в разных вариантах управляемого интерфейса (Такси/Версия 8.2)

для разных клиентов (персональный компьютер/ мобильный клиент)

Варианты 1 и 2

Варианты 1 и 2 и 3

85 из 128

Выполнение команды «Показать ошибки размещения» позволяет:

отобразить любые элементы формы, с не заполненным свойством «Путь к данным»

отобразить элементы формы, связанные с одним и тем же элементом данных (дубли)

отобразить ошибки задания свойств элементов формы, которые будут приводить к проблемам при Их размещении на форме (например ширины)

84 из 128

Выполнение команды «Проверить» приводит

к выполнению синтаксического контроля кода модуля формы

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

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

83 из 128

В управляемой форме существуют следующие виды привязок:

Ручная

Автоматическая

Полуавтоматическая

Верны ответы 1 и 2

Верны ответы 1 и 2

Верны ответы 1, 2 и 3

в управляемой форме нет привязок

82 из 128

42

Что произойдет, если выполнить команду, показанную на рисунке?

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

Группа «Страница» «Товары» станет первой

81 из 128

Что произойдет, если выполнить команду, показанную на рисунке?

Откроется форма поиска по модулю формы с указанием строк, в которых используется обращение к данному элементу формы

Форма предварительного просмотра внешнего вида формы откроется в отдельном окне

Произойдет переход к реквизиту, свойству реквизита формы, с которым связан данный элемент формы

80 из 128

Избранный

Каким образом в основной управляемой форме объекта разместить список объектов другого типа (например в управляемой форме элемента справочника «Контрагенты» разместить список договоров?

Данное действие можно реализовать только за счет создания табличной части у справочника «Контрагенты», которая будет содержать ссылки на договора

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

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

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

79 из 128

Для чего предназначены элементы формы?

Для хранения данных

Для обеспечения возможности интерактивного

изменения данных

Для обеспечения отображения данных

Предыдущий

Верны 1 и 3

Верны 2 и 3

78 из 128

Что произойдет, если выполнить команду, показанную на рисунке?

Откроется диалог по выбору варианта создания обработчика события

Произойдет переход к процедуре (обработчику события), если таковой определен. В случае его отсутствия процедура будет создана

Произойдет переход к процедуре (обработчику события), если таковой определен. В случае его отсутствия ничего не произойдет

Произойдет создание процедуры обработчика события

77 из 128

На рисунке представлена:

Сводная диаграмма

Дендрограмма

Диаграмма Ганта

76 из 128

Избранный

При обращении к обычной форме «извне» для чтения данных формы

необходимо обращаться к элементам управления, отображающим данные

необходимо обращаться к реквизитам формы и свойствам расширения формы

необходимо передавать данные через экспортные переменные общих модулей

Варианты 1 или 2 (в зависимости от типа элемента управления формы)

75 из 128

Свойство «Вид» элемента формы

нельзя изменить, если задана связь элемента формы с данными

можно менять всегда и любым способом

можно менять только программно

В принципе нельзя изменить

74 из 128

Избранный

На рисунке представлена:

Дендрограмма

Диаграмма Ганта

73 из 128)

Избранный

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

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

Вызов возможен из модуля любой формы конфигурации

Вызов возможен только из подчиненной формы справочника «Номенклатура»

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

72 из 128

Различается ли набор свойств у элемента управления «Поле ввода», созданного в форме и расположенного в таблице этой формы?

Различается

Различается, если только это не поля одного типа значений

Не различается

71 и3128

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

Правильно

Подсказка

Нет, нельзя

Можно. Для этого необходимо выбрать у соответствующего реквизита установить «Автовыбор незаполненного»

Можно. Для этого необходимо отметить у соответствующего реквизита свойство «Быстрый выбор»

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

70 из 128

Можно ли в один элемент формы «Поле ввода» вводить значения разных типов,

Можно, если он связан с реквизитом составного типа, и также отмечено свойство «Выбирать тип»

Нельзя

Можно, если он связан с реквизитом составного типа

69 из 128

Какую кнопку необходимо отобразить у элемента формы «Поле ввода», чтобы для выбора значения можно было использовать выпадающий список?

Кнопку выпадающего списка

Кнопку выбора

Кнопку регулирования

Нет правильного ответа

Предыдущий

Следующий)

68 из 128

439

При ситуации, отображенной на картинке, если обратиться к «Контрагент» в модуле формы документа, то

получим сообщение об ошибке из-за некорректной настройки формы

получим объект, представляющий собой элемент формы

получим значение реквизита документа

получим значение реквизита формы

67 из 128

Состав кнопок, расположенных справа у элемента формы «Поле ввода», определяется:

Значением свойства поля ввода «Тип значения»

Заданием значений соответствующих свойств в свойствах элемента формы

Типом формы

66 из 128

Избранный

ввода» выбрано

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

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

Можно. Для этого необходимо выбрать свойство поля ввода «Автовыбор незаполненного»

Можно. Для этого необходимо выбрать свойство поля ввода «Быстрый выбор»

65 из 128

Тонкая прерывистая линия красного цвета в поле ввода (например, предназначенное для ввода контрагента) означает:

У данного поля определен один (или более) обработчик события

У данного поля создан обработчик события «ПроверкаЗаполнения»

Данное поле недоступно для заполнения

Данное поле обязательно к заполнению

64 из 128

Элемент формы «Поле ввода» предназначен для:

Ввода значений непосредственно в поле, например, с клавиатуры

выбора ссылок на объекты

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

Верны ответы 1 и 2 и 3

Верны ответы 1 и 2

63 из 128

Можно ли одновременно создать элемент управления «Поле ввода» (в обычной форме) вместе с поясняющей надписью, представляющей элемент управления «Надпись»?

Правильно

Можно, для этого необходимо создавать поле ввода, воспользовавшись одноименной кнопкой на панели инструментов «Элементы управления»

Можно, для этого необходимо создавать поле ввода через пункт главного меню «Форма-Вставить элемент управления.»

Нет, нельзя, так как это разные элементы управления

62 из 128

Избранный

Для размещения в управляемой форме табличной части объекта используется элемент формы

Табличный документ

Таблица

Поле

Группа список

Предыдущий

61 из 128

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

Дерево значений

Таблицу значений

Null

Верны ответы 1 и 2

Верны ответы 2 и 3

Верны ответы 1 и 2 и 3

Предыдущий

Следующий

60 из 128

Элемент формы «Поле документа» предназначен для размещения в форме:

Данных в виде динамических списков

Табличного документа

Табличной части

Варианты 1 или 2

Предыдущий

59 из 128

Свойство «Вспомогательная» элемента » управления Командная панель» предназначено:

Для расположения кнопок с командами, относящимися к элементам управления формы, а не к самой форме

Для расположения кнопок с командами, дополняющими команды основной панели формы

Для исключения командной панели из порядка обхода элементов управления в форме

(58 из 128

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

В командную панель каждой из форм необходимо вставить кнопку с выбранной стандартной командой по переходу к подчиненному справочнику

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

Ничего делать не надо, команда всегда автоматически появляется в интерфейсе, но не в командной панели, а в панели навигации формы

Саму команду создавать не нужно, но можно управлять ее видимостью в панели навигации формы

57 из 128

Каким образом для элемента формы группа с видом «Командная панель» реализовать

автоматического заполнения?

В окне свойств достаточно установить флаг «Автозаполнение»

В окне свойств достаточно установить флаг «Изменяет данные»

В окне свойств установить флаг «Изменяет данные» и, обязательно, выбрать значение свойства «Источник команд»

В окне свойств установить флаг «Автозаполнение» и, обязательно, выбрать значение свойства «Источник команд»

Выбрав значение в свойстве «Источник команд»

56 из128

Для управления информацией, расположенной в форме, группа формы C видом «Командная

содержать:

Группу кнопок

Подменю

Дополнение элемента формы

Варианты 1 и 2

Варианты 1 и 3

Варианты 1 и 2 и 3

55 из 128

Сколько элементов формы «Командная панель» расположено на форме?

2

1

4

0

3

54 из 128

Можно ли при нажатии на элемент управляемой формы «Кнопка командной панели» осуществить вызов подменю?

Можно, если в качестве значения свойства «Режим меню» выбрать «Использовать» или «Использовать Дополнительно»

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

Можно, для этого в качестве обработчика события «Нажатие» необходимо выбрать стандартное действие «Меню»

53 из 128

В качестве обработчика события. «Нажатие» элемента управления обычной формы «Кнопка» может быть:

Выбрано стандартное действие

Выбрана процедура модуля формы, в которой расположена кнопка

Выбрана глобальная процедура, описанная в общем модуле

Верны ответы 1 и 2

Верны ответы 1, 2 и 3

52 из 128

Поясняющая информация на элементе формы «Кнопка командной панели» может быть представлена в виде:

Надписи

Картинки

Картинки и надписи

Либо надписи, либо картинки

Верны ответы 1 и 2 и 3

51 и3 128

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

элемента управления «Поле списка»

Элемента управления «Табличное поле»

Элемента управления «Рамка группы»

50 из 128

Элемент управления обычной формы «Разделитель» позволяет:

Визуально разделять элементы управления, размещенные в форме

Перераспределять внутреннее пространство формы, изменяя размеры расположенных в ней элементов управления, при изменении размеров самой формы

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

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

49 из 128

C помощью элемента управляемой формы «Поле текстового документа» можно отображать и редактировать:

Обычный текст

Текст, написанный на языке запросов (с подсветкой синтаксических конструкций)

Текст, написанный на встроенном языке (с подсветкой синтаксических конструкций)

HTML-документы (с подсветкой синтаксических конструкций)

48 из 128

Для выбора значений из списков можно использовать следующие элементы управляемой формы

Поле ввода

Поле выбора

Поле списка

Верны ответы 2 и 3

46 из 128

Список значений, используемый в элементе управляемой формы «Поле ввода», может быть сформирован:

Только в режиме 1С:Предприятие в специальном окне, которое можно открыть в разделе «Использование» палитры свойств элемента формы

Для поля ввода список значений не задается

Только в режиме конфигуратора в специальном окне, которое можно открыть в разделе «Использование» палитры свойств элемента формы

Программно и в режиме конфигуратора в специальном окне, которое можно открыть в разделе «Использование» палитры свойств элемента формы

Только программно

45 из 128

Избранный

HTML-документ в элементе формы «Поле HTML-документа» может быть сформирован:

Программно

Загружен из ресурса, указываемого через URL

Загружен из макета типа HTML-документ

Верны ответы 1 или 2 или 3

44 из 128

Редактировать HTML-документ, отображаемый в элементе управляемой формы «Поле HTML-документа», можно:

в режиме конфигуратора

в режиме 1С:Предприятие, средствами самого элемента формы

в режиме 1С:Предприятие, с использованием других элементов формы

Предыдущий

RanusuITLI 1 и 2

43 из 128

Элемент управления «Поле HTML-документа» управляемой формы предназначен:

Для просмотра HTML-документов

Для редактирования HTML-документов

Для просмотра или редактирования HTML-

документов

42 из 128

Сколько может быть создано форм, подчиненных (кпримеру) объекту конфигурации

«Номенклатура»?

Форма элемента, форма группы (для иерархических справочников) и произвольное количество форм списка

Три или пять в зависимости от настройки иерархии справочника

Произвольное количество

41 и3 128

Если для элемента управления «Поле надписи» в качестве источника данных указан реквизит справочника, TO выводимая надписью информация будет определяться:

свойством «Заголовок» элемента формы «Поле надписи»

значением реквизита, указанного в свойстве «Данные» элемента формы «Поле надписи»

свойством «Заголовок» элемента формы «Поле надписи», если значение реквизита справочника

неопределенно

Варианты 2 и 3

40 из 128

При размещении элементов в форме нельзя…

разместить два элемента формы, отображающие Данные одного и того же реквизита формы на одной странице

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

разместить два элемента формы, отображающие данные одного и того же реквизита формы

разместить один и тот же элемент на двух страницах

39 из 128

Свойство диаграммы «БазовоеЗначение» содержит:

Начальное значение координат.

Шаг измерительной шкалы диаграммы

Максимальное значение текущей серии

38 из 128

Элемент формы «Декорация» предназначен:

Правильно

Подсказка

Для расположения в форме поясняющей информации

Для расположения в форме гиперссылок

Для расположения в форме картинок с поясняющей информацией

Варианты 1 и 2

Варианты 1 и 2 и 3

37,и3 128

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

Через меню «Форма» снять флажок «Автоматический порядок обхода»

Снять флажок «Автопорядок обхода» в свойствах каждой панели формы

Снять флажок «Автопорядок обхода» в свойствах формы

36 из 128

Значение типа «ЗначениеДиаграммы» позволяет получить:

Значение диаграммы в определенной точке и серии

Значение расшифровки в определенной точке и

серии

Текст подсказки

Варианты 1 и 2

Варианты 1 и 3

Варианты 1 и 2 и 3

35 из 128

Каким образом относительно друг Друга использоваться элементы формы с типами: «Группа- Обычная группа», «Группа-Страницы», «Группа-Страница»

«Группа-Страницы» входит в «Группа-Обычная группа»

«Группа-Страницы» входит в «Группа-Страница»

«Группа-Обычная группа» входит в «Группа-Страницы»

Варианты 1 и 2

34 из 128

При расположении в панели обычной формы элементов управления…

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

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

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

панели

их можно привязать к границам панели

33 из 128

Для чего используются привязки в обычной форме,

Для обеспечения управления доступностью элементов управления в зависимости от видимости или доступности других элементов управления

Для обеспечения управления поведением границ элементов управления при изменении размеров формы

Верны все варианты

Для обеспечения управления доступностью элементов управления в зависимости от доступности других элементов управления

32 из 128

Избранный

44

При использовании свойства диаграммы «МаксимумСерий Количество»,если количество

Серий превышает максимальное значение:

Выводятся серии, выбираемы по алгоритму: по каждой серии ищется максимальное точечное значение, эти значения сортируются и из полученного списка выбирается для показа (МаксимумСерийКоличество — 1) серий. Остальные серии игнорируются

Выводятся серии, выбираемы по алгоритму: по каждой серии ищется максимальное точечное значение, эти значения сортируются и из полученного списка выбирается для показа (МаксимумСерий Количество -1) серий. Значения. остальных серий суммируются и выводятся в серии «Сводная»

Выводятся первые серии, количество которых задается этим свойством

31 и3 128

Для хранения значения элемента формы «Поле переключателя»

в управляемой форме можно использовать:

Реквизит формы, создаваемый конструктором при добавлении переключателя в форму

Существовавший ранее (предварительно созданный) реквизит формы

Варианты 1 и 2

30 из 128

В управляемом приложении отображать данные в виде диаграммы можно

в отчетах, использующих механизм компоновки

данных

в основной форме объекта

в любой форме

Предыдущий

Варианты 1 и 2

Варианты 1 и 3

29 из 128

Возможность системы создания «налету» форм по умолчанию в режиме «1С:Предприятие»

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

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

пользователя

следует использовать только для объектов, обладающих простой структурой

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

28 из 128

С помощью элемента формы «Поле переключателя» можно:

Выбрать одно значение из нескольких заранее определенных вариантов

Выбрать несколько значений из заранее определенных вариантов

Выбрать одно или несколько значений из заранее определенных вариантов

27 из 128

Поведение элементов формы

всегда стандартно

определяется подчинением формы соответствующему прикладному объекту

определяется только расширением формы, расширением элементов управления или отображаемыми данными

стандартно, но имеет место специфичное поведение, определяемое расширениями формы, расширениями самих элементов и расширениями, связанными с отображаемыми данными

26 из 128

На рисунке представлена:

Диаграмма Ганта

Сводная диаграмма

Предыдущий

Дендрограммаv

Диаграмма

25 из 128

С помощью элемента формы «Поле индикатора» можно:

Отобразить текущее состояние реквизита формы любого типа

Отобразить текущее состояние реквизита формы только числового типа

Быстро и наглядно ввести значение любого типа

Быстро и наглядно ввести значение только числового типа.

24 из 128

Для добавления команды в виде кнопки на обычной форме можно:

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

добавить в форму элемент управления «Кнопка», назначить команду из списка команд формы и определить алгоритм команды в модуле формы

добавить команду формы в командный интерфейс формы и включить ее видимость

Предыдущий

Варианты 2 и 3

23 из 128

Для добавления команды в виде кнопки на управляемой форме можно:

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

добавить в форму элемент управления «Кнопка», назначить команду из списка команд формы и определить алгоритм команды в модуле формы

перетащить команду в дерево элементов

добавить команду формы в командный интерфейс формы и включить ее видимость

Предыдущий

Варианты 2 и 3

22 из 128

Чем отличается ключевой параметр формы от обычного?

Обычный параметр существует только при создании формы, ключевой — всегда

Обычный параметр существует только при открытии формы, ключевой — только при закрытии формы

Ключевой параметр существует только при создании формы, обычный- всегда

Ключевой параметр существует только при открытии формы, обычный только при закрытии формы

21 и3 128

При наличии одного ключевого параметра можно ли добавить еще один ключевой параметр формы?

Можно посредством назначения соответствующего значения свойства параметра формы

Можно посредством добавления еще одного значения к соответствующему свойству формы

Можно только программно, при обращении к объекту «Форма»

20 из 128

Параметры формы предназначены:

Правильно

Подсказка

для организации функциональной связи между формами

для управления функциональностью формы при открытии

для отображения информации на форме

Варианты 1 и 2

19 из 128

Панель навигации может существовать:

Только в основном окне на рабочем столе

В основном окне и вспомогательных окнах

В основном окне на рабочем столе и в разделах

18 из 128

Какие возможности по настройке порядка обхода элементов в управляемой форме существуют в системе 1С:Предприятие 8?

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

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

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

Порядок обхода единый для всех пользователей и не

может изменяться

17 из 128

Настройка списка управляемой формы B режиме исполнения позволяет:

Изменить видимость существующих в списке

колонок

Удалять колонки из списка

Добавлять колонки в списке

Изменить порядок, настроить группировки, управлять отбором и условным оформлением записей

16 из 128

Настройка формы в режиме исполнения позволяет:

Изменить видимость существующих на форме элементов управления

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

Удалять с формы некоторые элементы управления

Добавлять на форму новые элементы управления

Варианты 1 и 2

Верны все варианты

15 из 128

Управляемые формы списков можно отобразить

В основном окне

Во вспомогательном окне

Зависит от настроек формы

Варианты 1 и 2

13 из 128

Разместить формы в начальной странице можно

По горизонтали не более двух, по вертикали в любом количестве

По горизонтали в любом количестве, по вертикали не более двух

По горизонтали не более двух, по вертикали не более двух

По горизонтали в любом количестве, по вертикали в любом количестве

12 из 128

Как определяется рабочая область начальной страницы?

Набирается из списка управляемых форм

Набирается из списка произвольных форм

Набирается из списка любых определенных в конфигураторе форм

Заполняется автоматически генерируемыми формами на основании стандартных команд

11 из 128

В качестве основной формы можно назначить?

Возможность зависит от настроек конфигуратора

Только обычную

Обычную и управляемую

Только управляемую форму

10 из 128

Для чего нужны основные формы прикладных объектов?

Только из основных форм есть возможность обращаться к контексту объекта напрямую.

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

Основные формы вызываются взамен автоматически генерируемых по умолчанию при соответствующем обращений к объекту.

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

9 из 128

При наличии одного основного реквизита формы можно ли добавить еще один основной реквизит?

Можно посредством назначения соответствующего значения свойства реквизита формы

Можно только программно, при обращении к объекту «Форма»

Это невозможно

Можно посредством добавления еще одного значения к соответствующему свойству формы

8 из 128

Чтобы произвольной обычной форме назначить основной реквизит…

форму нужно сделать основной, основной реквизит при этом определяется автоматически

нужно в свойствах реквизита формы установить флажок «Основной реквизит»

нужно войти в меню «Правка», пункт «Основной реквизит» и выбрать нужное значение

нужно заполнить свойство «Данные» формы, выбрав нужный реквизит формы

Предыдущий

7 из 128

Чтобы произвольной управляемой форме назначить основной реквизит…

форму нужно сделать основной, основной реквизит при этом определяется автоматически

нужно в свойствах реквизита формы установить флажок «Основной реквизит»

нужно войти в меню «Правка», пункт «Основной реквизит» и выбрать нужное значение

нужно заполнить свойство «Данные» формы, выбрав нужный реквизит формы

6 из 128

Для чего нужны реквизиты формы?

Для описания состава данных, которые отображаются, редактируются или хранятся в форме

Для приема «внешних» данных передаваемых форме при открытии

Варианты 1 и 2

Предыдущий

Следующий

5 из 128

Для чего служит основной реквизит формы?

Определяет источник данных для формы в целом

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

Для обеспечения возможности программного обращения к реквизитам объекта из локального контекста формы

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

Варианты 1 и 2

4 из 128

Как реализован механизм автопреобразования обычных форм в управляемые и обратно

С помощью механизма ввода на основании

С помощью изменения свойства формы «Тип формы»

С помощью специального конструктора конвертация форм

Автопреобразование не поддерживается

3 из 128

Использование управляемых форм возможно…

в толстом клиенте в режиме обычного приложения

в толстом клиенте в режиме управляемого приложения

в тонком клиенте

Предыдущий

в веб-клиенте

Варианты 1 и 2

верны все варианты в зависимости от настроек

2 из 128

Использование обычных форм возможно:

в толстом клиенте

в тонком клиенте

в веб-клиенте

Варианты 1 и 2

1 из 128

Какие виды форм позволяет использовать Платформа 8.3?

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

Обычные формы только в режиме совместимости с 8.1

Управляемые формы только в режиме управляемого приложения

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

70 из 70

Шаблоны текста могут использоваться:

в Конфигураторе

в режиме 1С:Предприятие

Верны ответы 1 и 2

69 из 70

Шаблоны текста определены:

Правильно

Подсказка

могут задаваться свои шаблоны

на уровне платформы, но могут изменяться

на уровне платформы и не могут изменяться

Варианты 1 и 2

68 из 70

Шаблоны текста задаются для:

для определения шаблонов сообщений

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

определения часто выводимой информации

определения часто используемых процедур и функций

67, и3 70

Конструктор макета оформления компоновки данных открывается:

из конструктора запросов

из конструктора макетов при указании типа макета «Макет оформления компоновки данных»

из конструктора схемы компоновки данных

из конструктора настроек компоновки данных

66 из 70

Конструктор макета оформления компоновки данных используется для:

для создания и изменения шаблонов вывода информации

определения настройки выводимой информации

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

65 из 70

Конструктор настроек компоновки данных доступен:

Только в режиме 1С:Предприятие

Доступен и в конфигураторе, и 1С:Предприятии

Только в конфигураторе

64 из 70

Конструктор настроек компоновки настроить вывод информации в виде:

Диаграммы

Списка

Таблицы

Верны все варианты

63 из 70

Конструктор настроек компоновки данных позволяет:

изменить текущие настройки

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

определить новые наборы данных

62 из 70

Запрос для системы компоновки данных необходимо определять:

полностью заранее, т.е. статический

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

только таблицы, т.е. определяемый

61 й3 70

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

могут браться из:

Правильно

Подсказка

памяти компьютера

внешних источников

базы данных

Варианты 1 и 2

Верны все варианты

60 из 70

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

Количество источников ограничено

Количество источников не ограниченно

Один

59 из 70

Для определения схемы источника данных в системе компоновки данных используется:

Конструктор запроса

Конструктор настроек компоновки данных

Конструктор запроса с обработкой результата

Конструктор схемы компоновки данных

58 из 70

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

произвести расчет оптимальных агрегатов в конфигураторе

включить отображение оптимальных агрегатов

произвести расчет оптимальных агрегатов в 1С:Предприятие и загрузить их в Конфигураторе

произвести расчет оптимальных агрегатов в 1С:Предприятие

57 и3 70

Если для регистра накопления недоступен конструктор агрегатов, необходимо выполнить следующие действия:

изменить настройку регистра накопления «Вид регистра»

открыть агрегаты и в настройку добавить необходимый регистр накопления

включить в конфигурации использование агрегатов

56 из 70

Конструктор агрегатов может быть вызван:

По кнопке «Агрегаты» в окне редактирования объекта конфигурации на закладке «Данные»

Через контекстное меню в дереве метаданных «открыть агрегаты»

Через контекстное меню в дереве метаданных «Конструкторы — конструктор агрегатов»

Варианты 1 и 2

55 из 70

Конструктор агрегатов предназначен для формирования агрегатов:

Документов

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

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

регистров бухгалтерии

54 из 70

При определении ограничения доступа в конструкторе ограничений доступа к данным текст условия:

начинается с ключевого слова «Выбрать»

начинается только с конструкции «Выбрать Различные»

начинается только с конструкции «Выбрать Разрешенные»

ключевое слово «Выбрать» не определяется

53 из 70

При определении ограничения доступа в конструкторе ограничений доступа к данным:

правило ограничения определяется только на закладке «Связи»

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

правило ограничения определяется только на закладке «Условия»

52 из 70

При определении ограничения доступа в конструкторе ограничений доступа к данным:

текст запроса может быть сформирован только самим конструктором

текст запроса может быть сформирован как самим конструктором, так и вручную

текст запроса может быть введен только вручную

51 из 70

В конструкторе ограничений доступа к данным:

Можно использовать только поля объекта, для которого определяется ограничение

Можно использовать только поля объекта, для которого определяется ограничение и поля вложенных таблиц (по отношению к полям объекта)

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

50 из 70

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

На закладке «Группировка», в списке суммируемых полей при выборе агрегатной функции

На закладке «Итоги», в списке итоговых полей при выборе агрегатной функции

На закладке «Условия»

в конструкторе запросов задать условия на значения агрегатных функций нельзя

49 из 70

Для создания B запросе строк, сгруппированных помощью агрегатных функций, на закладке «Группировка» конструктора запросов обязательно должны быть заполнены:

Правильно

Подсказка

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

Только список суммируемых полей, при этом остальные поля автоматически попадут в секцию «СГРУППИРОВАТЬ ПО» в тексте запроса

Только список групповых полей. Указание суммируемых полей не обязательно

48 из 70

Для создания в конструкторе запросов вычисляемого поля необходимо:

Создать вычисляемое поле можно только изменив текст запроса «вручную»

Открыть закладку «Объединения/Псевдонимы». В командной панели над списком полей нажать кнопку «Добавить» или выбрать одноименный пункт

контекстного меню

Открыть закладку «Таблицы и поля». В командной. панели над деревом «Таблицы» нажать кнопку «Изменить текущий элемент». В открывшемся окне добавить новое поле

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

47 и3 70

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

Открыть закладку «Таблицы и поля». В командной панели над деревом «Поля» нажать кнопку «Добавить» или выбрать одноименный пункт

контекстного меню

В конструкторе запросов создать вложенный запрос

нельзя

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

Открыть закладку «Таблицы и поля». В командной панели над деревом «База данных» нажать кнопку «Добавить» или выбрать одноименный пункт

Контекстного меню

46 из 70

На закладке «Таблицы и поля» конструктора запросов задают:

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

Набор полей из таблиц источников данных запроса

Поля в виде произвольного выражения

Верны ответы 1 и 2

Верны все варианты

45 из 70

Кем может использоваться конструктор запросов?

Разработчиками, так как необходимо знание языка запросов

Квалифицированными пользователями без использования конфигуратора

Верно все вышеперечисленное

Нет верного ответа

44 из 70

Конструктор запросов может быть вызван:

С помощью пункта главного меню «Текст — Конструктор запроса…»

С помощью кнопки «Конструкторы Конструктор запросов» на закладке «Макеты» из окна редактирования объекта

С помощью пункта всплывающего контекстного меню «Конструктор запроса…», появляющегося при нажатии в тексте модуля правой клавиши мыши

Варианты 1 и 3

Верны все варианты

43 из 70

При сохранении текста запроса, открытого повторно с помощью конструктора запроса, без внесения в этот текст изменений:

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

Из первоначального текста будут удалены только комментарии

В первоначальном тексте комментарии останутся, а будут удалены только конструкции языка запросов построителя отчетов

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

42 из 70

Использование конструктора запроса C обработкой результата позволяет:

Сформировать текст нового запроса

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

Отредактировать текст имеющегося запроса

Варианты 1 и 3

Верны все варианты

41 из 70

Использование конструктора запросов позволяет:

Сформировать текст нового запроса

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

Отредактировать текст имеющегося запроса

Варианты 1 и 3

40 и3,70

У документа уже определены все основные формы. При создании новой формы в конструкторе выставляют следующие флажки (см. рисунок). Что произойдет после того, как форма будет создана?

форма2 будет назначена основной формой документа

Ничего, поскольку не выставлен флажок «Основная форма списка и выбора»

форма2 будет назначена основной формой списка Документа

39 из 70

В конструкторе управляемой формы документа при необходимости нестандартного размещения элементов формы:

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

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

Варианты 1 и 2

38 из 70

Можно ли в конструкторе управляемой формы документа На втором шаге (кнопка «Далее») указать размещение таблицы, содержащей данные регистра, для которого Данный документ является регистратором?

Нет, такие действия выполняются уже при работе с формой

Да, только если документ может иметь движения только по одному регистру

Да, при любых условиях

37 из 70

Можно ли в конструкторе формы документа на втором шаге (кнопка «Далее») указать размещение таблицы, содержащей данные документа, на основании которого введен данный документ?

Да, при любых условиях

Да, только если данный документ является основанием только для одного документа

Нет, такие действия нужно выполнять уже при работе с формой

36 из 70

Можно ли в конструкторе формы элемента справочника на втором шаге (кнопка «Далее») указать размещение таблицы, содержащей данные подчиненного справочника?

Нет, такие действия нужно выполнять уже при работе с формой

Да, если текущий справочник является владельцем только для одного справочника

Да, при любых условиях

35 из 70

Конструктор формы списка иерархического справочника при указании размещения дерева:

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

сразу позволяет выбрать просмотр групп и

элементов

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

34 из 70

Конструктор формы списка справочника на закладке «Далее»…

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

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

для иерархических справочников либо список элементов, либо дерево групп

33 из 70

После нажатия на кнопку «Далее», в соответствии с рисунком, на второй закладке конструктора общих форм можно будет:

Список будет пуст (без возможности добавления)

32 из 70

При создании формы конструктором формы количество размещаемых на форме командных панелей:

Только одна

всегда — две (верхняя и нижняя)

Предыдущий

не ограничено

не более двух

31 из 70

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

Можно, предварительно сняв флаг «Основная» свойствах формы, бывшей основной ранее

Нет ни при каких условиях

Нет, пока не будет удалена текущая основная форма

Можно в окне редактирования объекта конфигурации

30 из 70

Как можно Вызвать конструктор форм объектов конфигурации?

Из окна редактирования объекта конфигурации, закладка «Форма», при создании новой формы

При помощи контекстного меню из окна «Конфигурация»

Никак. Конструктор форм является составной частью конструктора выходных форм

Предыдущий

Варианты 1 и 2

29 из 70

Конструктор форм предназначен для:

создания новых объектов типа «форма»

редактирования объектов типа «форма»

Оформления диалоговой части формы и является лишь составной частью конструктора выходных форм

Предыдущий

Варианты 1 и 2

27 из 70

Количество языков для конструктора строк на разных языках:

определяется в конфигурации и может расширяться программно

предопределено в платформе и неизменно

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

языков

задается настройками конфигуратора

26 из 70

Для открытия окна конструктора строк на разных языках необходимо:

нажать кнопку открытия в палитре свойств элемента формы в свойстве «Формат редактирования»

установить курсор в текст модуля и выбрать пункт «Текст — Конструктор строк на разных языках»

находясь в палитре свойств элемента формы в свойстве Формат, выбрать пункт «Текст — Конструктор строк на разных языках»

Предыдущий

Варианты 1 и 2

25 из 70

Конструктор строк на разных языках может использоваться для:

определения строковых представлений интерфейса

на разных языках

определения нескольких форматных строк под разные языки

перевода данных базы на разные языки

Предыдущий

Варианты 1 и 2

24 из 70

Каким образом можно задать текст надписей для элементов формы на выбранном языке?

В палитре свойств элемента управления в свойстве Заголовок нажать на кнопку «Кнопка открытия». В появившемся окне «Строки на разных языках» ввести надпись

Сменить язык редактирования конфигурации, а потом ввести надпись в свойстве Заголовок (или Синоним)

Нет правильного ответа

Предыдущий

Варианты 1 и 2

23 из 70

форматная строка, сформированная в палитре свойств элемента формы при помощи конструктора форматной строки:

недоступна для редактирования

может быть изменена вручную

может быть изменена конструктором форматной

строки

Предыдущий

Варианты 2 и 3

22 из 70

Для открытия окна конструктора форматной строки необходимо…

нажать кнопку выбора в палитре свойств элемента формы в свойстве «Формат редактирования»

установить курсор в текст модуля и выбрать пункт «Текст — Конструктор форматной строки»

находясь в палитре свойств элемента формы в свойстве «Формат редактирования», выбрать пункт «Текст — Конструктор форматной строки»

Предыдущий

Варианты 1 и 2

21 из 70

конструктор форматной строки:

можно вызывать в поле ввода и ячейке табличного Документа

можно использовать при написании текстов модулей

можно вызывать в поле выбора, поле списка

Варианты 1 и 2

20 из 70

Конструктор форматной строки используется для составления текста форматной строки данных:

имеющих тип Число, Дата или Булево

имеющих любой тип

имеющих тип Число, Строка, Дата или Булево

имеющих примитивный тип

19 из 70

Можно ли значение pecypca ‘Количество» задать произвольным выражением?

Нет, нельзя, формулу можно заполнить только значениями из списка реквизитов документа

Да, можно, но конструктор проверит правильность написания формул согласно списку реквизитов Документа

Да, можно, правильность написания формулы конструктор не проверяет

Нет, нельзя, формулу можно заполнить только значениями, выделенными «галочками» в списке реквизитов документа

18 из 70

Если процедура с именем «ОбработкаПроведения» уже

определена в модуле документа, то возможно ли в этом случае использование конструктора движений?

Да, но при этом система попросит подтверждение на замещение алгоритма проведения уже существующей процедуры «Обработка Проведения»

новым

Нет, сначала надо вручную удалить «старую» обработку проведения, а только потом вызывать конструктор

Да, система закомментирует «старую» обработку проведения и создаст «новую»

Да, но система при этом, безусловно, удалит «старую» обработку проведения

17 и3 70

Процедуру с каким именем и в каком контексте определяет конструктор движений документа?

ДвиженияДокумента. Определяется в модуле объекта документа

ДвиженияДокумента. Определяется в модуле формы документа

ОбработкаПроведения. Определяется в модуле формы документа

Обработка Проведения. Определяется в модуле объекта документа

16 из 70

Можно ли произвести автозаполнение выражений и, если «Да», то какими действиями?

Да, можно. Оставить все настройки согласно рисунку и нажать кнопку «Заполнить выражения»

Нет, нельзя. Каждое выражение для поля-приемника необходимо определять «вручную

Да, можно. В элементе формы «Табличная часть» выбрать табличную часть «Состав» документа и нажать кнопку «Заполнить выражения»

15 из 70

Назовите основное назначение конструктора движений Документа

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

Конструктор движений документа в системе отсутствует

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

накопления

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

учета

14 из 70

Назовите инструмент визуального создания алгоритма проведения документа и основное место его вызова

Инструмент визуального создания алгоритма проведения документов в системе отсутствует

Конструктор движений. Основное место вызова через окно редактирования объекта, закладка «Проведение», кнопка «Конструктор движений»

Конструктор движений. Основное место вызова через окно редактирования объекта, закладка «Движения», кнопка «Конструктор движений»

Конструктор движений. Основное место вызова через главное меню «Конструкторы» / «Движения регистров…»

13 из 70

Какое предназначение имеет выделение «галочками» элементов списка «Реквизиты объекта основания»?

Эти реквизиты система впишет в качестве формул заполнения реквизитов «Состав. Количество», «Состав. Сумма» при нажатии кнопки «ОК»

Эти реквизиты предлагаются для заполнения реквизитов «СписокНоменклатуры.Количество», «Состав.СписокНоменклатуры» по принципу

совпадения имен

Эти реквизиты система предлагает в качестве формулы заполнения реквизита «СписокНоменклатуры. Цена» по принципу совпадения типов реквизитов

12 из 70

Если процедура с именем «ОбработкаЗаполнения» уже

определена в модуле документа, то возможно ли в этом случае использование конструктора ввода основании?

Да, но система при этом, безусловно, удалит «старую» обработку заполнения

Да, система закомментирует «старую» обработку заполнения и создаст «новую»

Да, но при этом система попросит подтверждение на полное замещение уже существующей процедуры «ОбработкаЗаполнения» новой процедурой

Нет, сначала надо вручную удалить «старую» обработку заполнения, а только потом вызывать конструктор

11 из 70

Можно ли формулу заполнения поля «СписокНоменклатуры. Цена» задать произвольным выражением?

Нет, нельзя, формулу можно заполнить только значениями из списка «Реквизиты объекта основания»

Нет, нельзя, формулу можно заполнить только значениями, выделенными «галочками» в списке «Реквизиты объекта основания»

Да, можно, правильность написания формулы конструктор не проверяет

Да, можно, но конструктор проверит правильность написания формул согласно списку «Реквизиты объекта основания»

10 из 70

Назовите основное назначение конструктора ввода объекта «на основании».

Конструктор ввода на основании облегчает задачу разработки структуры другого объекта «на основании» структуры «объекта-основания»

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

Конструктор ввода объекта «на основании» в системе отсутствует

Конструктор ввода на основании облегчает задачу формирования движений в регистрах учета «на основании» данных объекта

9 из 70

Назовите инструмент визуального создания алгоритма заполнения объекта «на основании» и основное место его вызова?

Мастер ввода на основании. Основное место вызова через окно редактирования объекта, закладка «Ввод. на основании», кнопка «Мастер ввода на основании»

Конструктор ввода на основании. Основное место вызова через окно редактирования объекта, закладка «Данные», кнопка «Конструктор ввода на основании»

конструктор ввода на основании. Основное место вызова через окно редактирования объекта, закладка «Ввод на основании», кнопка «Конструктор ввода на основании»

Конструктор ввода на основании. Основное место вызова через главное меню «Конструкторы» / «Ввод на приорации

8 из 70

Если в конструкторе печати указано имя процедуры, которая будет выполнять построение печатной формы, и такая процедура уже присутствует в модуле:

то конструктор перепишет ее заново, при этом введенный ранее в тело процедуры текст будет потерян

то конструктор предложит задать другое имя процедуры

то конструктор выполнит объединение текстов модулей, при этом ранее существовавший текст процедуры будет закомментирован

то конструктор выполнит объединение текстов модулей, при этом добавляемый текст процедуры будет закомментирован.

7 из 70

Для чего предназначен конструктор печати?

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

Для создания макета с заданными именованными областями и процедуры печати любых объектов конфигурации

Для создания макета с заданными именованными областями для определенных объектов конфигурации

Для создания макета с заданными именованными областями и процедуры печати отчетов

6 из 70

Выбор в конструкторе макетов типа «Табличный документ»:

позволяет использовать для подготовки макета Текстовый редактор

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

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

Варианты 1 и 2

5 из 70

При работе с конструктором макета необходимо выполнять загрузку из файла при работе с типами макета:

Правильно

Подсказка

HTML-документ, Двоичные данные, Active document, Географическая схема

Табличный документ, Текстовый документ, HTML- документ

Двоичные данные, Active document, Географическая схема

Текстовый документ, Двоичные данные, Active document, Географическая схема

4 из 70

Какие данные может содержать макет, созданный конструктором макетов?

Текстовый документ

Географическую схему

Дерево значений

Варианты 1 или 2

Варианты 1 или 3

3 из 70

Макет какого типа может быть создан конструктором макетов?

Active document

Табличный документ

XML документ

Таблица значений

Варианты 1 или 2

2 из 70

Для открытия окна конструктора макета необходимо…

выполнить пункт «Действия — Добавить», если выбрана ветвь подчиненного объекта «Макеты»

выполнить пункт «Действия — Добавить», если выбрана ветвь «Общие макеты»

установить курсор в текст модуля и выбрать пункт «Текст — Конструктор макета»

Варианты 1 и 2

1 из 70

Конструктор макета можно использовать:

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

для создания общих макетов

при написании текстов модулей

Варианты 1 и 2

//////////////////////////////////////////////////////////////////////////////////////

64 из 70

Как разместить B диалоге управляемой формы графические элементы, например, диаграмму?

Добавить элемент «Поле» и связать с реквизитом, у которого задан тип «Диаграмма»

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

Использовать панель инструментов для размещения элементов заданного типа на форму

Добавить элемент «Поле» и определить у него тип «Диаграмма»

63 из 70

Какие типы элементов можно добавить на форму в редакторе управляемых форм?

Поле, Кнопка, Таблица, Картинка, Группа, Декорация, Диаграмма

Поле, Кнопка, Таблица, Картинка, Диаграмма, Декорация

Поле, Кнопка, Таблица, Картинка, Группа, Декорация

Поле, Кнопка, Таблица, Картинка, Группа, Декорация,

62 из 70

Настройки редактора управляемых форм определяются…

Общие в настройках конфигуратора и индивидуальные в настройке формы

Для всех форм в настройках параметров конфигуратора

Только в настройках самой формы

Платформой без возможности их изменений

61 из 70

Редактор управляемых форм содержит закладки…

Форма, Модуль, Элементы, Команды, Реквизиты, Параметры, Командный интерфейс

Диалог, Модуль, Реквизиты, Элементы, Параметры, Команды формы, Командный интерфейс

Диалог, Модуль, Реквизиты

Форма, Модуль формы, Реквизиты

60 из 70

Редактор обычных форм может использоваться

В любом режиме работы конфигуратора

При установленном режиме совместимости интерфейса «Интерфейс 8.2»

Только в режиме работы конфигуратора «Управляемое приложение и обычное приложение»

Только при установке значения свойства конфигурации «Основной режим запуска» — Обычное приложение

59 и3 70

В редакторе обычных форм диалог создается:

определением структуры размещения элементов

размещением элементов управления в диалоге формы

рисованием с использованием встроенного редактора картинок

Варианты 1 и 2

58 из 70

Какие действия возможны в редакторе обычной формы?

Набор действий определяется пунктом меню «Правка» в главном меню конфигуратора

Набор действий определяется пунктом меню «форма» в главном меню конфигуратора

Набор действий определяется пунктом меню «Редактор форм» в главном меню конфигуратора

Набор действий определяется контекстным меню на закладке «Диалог» редактора форм

Варианты 2 и 4

57 и3 70

При удалении реквизита обычной формы:

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

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

Элемент управления останется и связь с данными будет очищена

Редактор не позволит удалить реквизит, если он связан с элементом управления

56 из 70

Какие настройки можно определить у реквизита обычной формы

«Имя»

«Тип»

«Проверка заполнения»

Верны варианты 1 и 2

Верны все варианты

55 из 70

При добавлении элемента управления на произвольную обычную форму без реквизитов:

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

редактор форм предложит сначала создать реквизит, а потом позволит поместить элемент управления на форме

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

54 из 70

Настройки редактора обычных форм определяются…

Только в настройках самой формы

Платформой без возможности их изменений

Для всех форм в настройках параметров конфигуратора

Общие в настройках конфигуратора и индивидуальные в настройке формы

53 из 70

На что влияет флажок «Использовать при вставке» в диалоге вставки элемента управления?

Редактор формы будет использовать диалог вставки элемента управления только в следующий раз при добавлении данного типа элемента управления на форму

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

Редактор формы будет использовать диалог вставки элемента управления только в следующий раз при добавлении любого элемента управления на форму

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

Texify — Image to Text (OCR) — Photo to Text, [12.01.2023 13:41]

13:40:0,5 КБ/с 0 0

»

52 из 70

Какие способы доступны B конфигураторе для редактирования диалога обычной формы?

Через диалог вставки элементов управления

Через диалог размещения данных

Вставка элемента управления из панели инструментов

Предыдущий

Варианты 1 и 2

Верны все варианты

51 из 70

Редактор обычных форм содержит закладки:

Форма, Модуль, Команды формы, Параметры

Диалог, Модуль, Реквизиты

Форма, Модуль формы, Реквизиты

Диалог, Модуль, Реквизиты, Элементы, Параметры, Команды, Командный интерфейс

49 из 70

Режим «Скрыть невидимые по умолчанию» скрывает:

команды, для которых отключена только видимость по ролям

команды, для которых отключена общая видимость и видимость по ролям

группы, в которых нет команд

Варианты 1 и 2

Варианты 2 и 3

48 из 70

Что определяет серый флажок в видимости команды по ролям?

Видимость определяется программно

Видимость зависит от сочетания ролей

Видимость определяется общей настройкой

47 и3 70

Где отображается список доступных команд?

в редакторе командного интерфейса конфигурации

в редакторе командного интерфейса основного

Do’stlaringiz bilan baham:

Предложите, как улучшить StudyLib

(Для жалоб на нарушения авторских прав, используйте

другую форму
)

Ваш е-мэйл

Заполните, если хотите получить ответ

Оцените наш проект

1

2

3

4

5

Возможно, вам также будет интересно:

  • Выполнение действия webbrowsersettings ошибка обращения к instance setproxy
  • Выполнение действия webbrowsersettings ошибка обращения к instance clearcookie
  • Выполнение действия webbrowserdata ошибка обращения к instance activetab
  • Выполнение действия list ошибка при обработке списка
  • Выполнение действия htmlelement ошибка обращения к instance activetab

  • Понравилась статья? Поделить с друзьями:
    0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии