|
<!DOCTYPE HTML PUBLIC «-//W3C//DTD HTML 4.01 Transitional//EN»> |
|
<html> |
|
<head> |
|
<meta http-equiv=»Content-Type» content=»text/html; charset=Windows-1251«> |
|
<title>Глава 27. Инструменты разработки</title> |
|
<LINK REL=»stylesheet» href=»style.css?_=1496848987«> |
|
<SCRIPT src=»script.js?_=1496848987» TYPE=»text/javascript«></script> <!—[if !IE]>—><SCRIPT src=»zeroclipboard.js?_=1496848987» TYPE=»text/javascript«></script><!—<![endif]—> |
|
<meta name=»robots» content=»noarchive«> |
|
<meta name=»googlebot» content=»noarchive«> |
|
<link href=»/db/content/v8310doc/src/руководство разработчика/глава 27. инструменты разработки.htm» rel=»canonical«> |
|
<link href=»/static/its.content.css?_=1490872753» type=»text/css» rel=»stylesheet«> |
|
<script type=»text/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 class=»v8310doc«> |
|
<a name=»_ref425413183«></a><a name=»_ref301191309«></a><a name=»_ref237783554«></a><a id=»TI000000929» class=»bookmark«><h1>Глава 27. Инструменты разработки</h1></a> |
|
|
|
<a name=»_ref222321022«></a><a name=»_ref141014934«></a><a name=»_ref141003681«></a><a name=»_ref214865442«></a><a id=»TI000000930» class=»bookmark» name=»issogl1_27.1_редактор_формы«><h2>27.1. Редактор формы</h2></a> |
|
|
|
<a name=»_ref347413325«></a><a name=»_ref347413324«></a><a name=»_ref423610858«></a><a id=»TI000000931» class=»bookmark» name=»issogl2_27.1.1_описание_редактора«><h3>27.1.1. Описание редактора</h3></a> |
|
|
|
<p class=»MsoNormal«>Редактор |
|
формы позволяет выполнять все действия, которые возникают при создании и |
|
изменении формы. Редактор формы представляет собой группу из нескольких |
|
связанных между собой редакторов:</p> |
|
|
|
<p class=»MsoListBulletCxSpFirst«>● |
|
реквизитов – закладка <span class=»Interface«>Реквизиты</span>;</p> |
|
|
|
<p class=»MsoListBulletCxSpMiddle«>● |
|
команд – закладка <span class=»Interface«>Команды</span>;</p> |
|
|
|
<p class=»MsoListBulletCxSpMiddle«>● |
|
элементов – закладка <span class=»Interface«>Элементы</span>;</p> |
|
|
|
<p class=»MsoListBulletCxSpMiddle«>● |
|
параметров – закладка <span class=»Interface«>Параметры</span>;</p> |
|
|
|
<p class=»MsoListBulletCxSpMiddle«>● |
|
модуля – закладка <span class=»Interface«>Модуль</span>;</p> |
|
|
|
<p class=»MsoListBulletCxSpLast«>● |
|
командного интерфейса – закладка <span class=»Interface«>Командный интерфейс</span>.</p> |
|
|
|
<p class=»Regularbeforepicture«>В |
|
нижней части окна расположена форма в режиме предварительного просмотра.</p> |
|
|
|
<p class=»Picture«><IMG src=»_img/img00482.gif?_=1496848987» WIDTH=»766» ALT HEIGHT=»501«></p> |
|
|
|
<p class=»MsoCaption«>Рис. |
|
474. Редактор формы</p> |
|
|
|
<p class=»MsoNormalCxSpFirst«>В |
|
редакторах доступно множественное выделение. В этом случае в палитре свойств |
|
будут отражены только те свойства, которые присутствуют у всех выделенных |
|
объектов. Изменения, которые сделаны в палитре свойств, будут применены для |
|
всех выделенных объектов.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Добавление |
|
элементов формы обычно осуществляется перетаскиванием реквизита формы на панель |
|
элементов. При этом имя элемента формы становится равным имени реквизита, а в |
|
качестве данных элемента формы установлен путь к реквизиту. В дальнейшем имя |
|
элемента можно изменить. Система автоматически определяет как элемент формы, с |
|
помощью которого будет отображаться реквизит, так и вид этого элемента, если |
|
такое возможно. Аналогичным образом выполняется добавление на форму команд (как |
|
команд формы, так и глобальных команд). Если реквизит формы или команда размещена |
|
на форме, то справа от названия у нее выводится специальный маркер серого |
|
цвета.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Если |
|
элемент формы добавляется перетаскиванием из другой формы, то следует помнить о |
|
том, что для таких элементов свойство <span class=»Interface«>Данные</span> не будет |
|
перенесено. Для всех элементов, перенесенных таким образом, будет необходимо |
|
заново установить корректные пути к данным.</p> |
|
|
|
<p class=»Regularbeforepicture«>При |
|
выборе элемента формы на закладке <span class=»Interface«>Элементы</span> |
|
происходит автоматическое позиционирование на выбранный элемент в окне |
|
предварительного просмотра. Если элемент выделяется в окне предварительного |
|
просмотра, то происходит автоматическое выделение этого элемента в дереве |
|
элементов формы на закладке <span class=»Interface«>Элементы</span>.</p> |
|
|
|
<p class=»Picture«><IMG src=»_img/img00483.gif?_=1496848987» WIDTH=»766» ALT HEIGHT=»501«></p> |
|
|
|
<p class=»MsoCaption«>Рис. |
|
475. Связь редакторов</p> |
|
|
|
<p class=»Regularbeforetable«>Выделять |
|
элементы формы можно как в редакторе элементов, так и в окне предварительного |
|
просмотра. При этом возможности, доступные в окне предварительного просмотра, |
|
практически совпадают с таковыми в списке элементов. В частности, доступны |
|
контекстные меню элементов, открытие окна свойств, перетаскивание элементов и т. д. |
|
Если выделить элемент в окне предварительного просмотра, вокруг элемента |
|
возникает рамка, которая в зависимости от элемента может быть нескольких цветов.</p> |
|
|
|
<table class=»MsoNormalTable» border=»0» cellspacing=»0» cellpadding=»0«> |
|
<tr> |
|
<td valign=»top«> |
|
<p class=»MsoNormalCxSpFirst«><b>Цвет |
|
рамки</b></p> |
|
</td> |
|
|
|
<td valign=»top«> |
|
<p class=»MsoNormalCxSpMiddle«><b>Описание</b></p> |
|
</td> |
|
|
|
</tr> |
|
<tr> |
|
<td valign=»top«> |
|
<p class=»MsoNormalCxSpMiddle«>Синяя</p> |
|
</td> |
|
|
|
<td valign=»top«> |
|
<p class=»MsoNormalCxSpMiddle«>Выделение обычного элемента</p> |
|
</td> |
|
|
|
</tr> |
|
<tr> |
|
<td valign=»top«> |
|
<p class=»MsoNormalCxSpMiddle«>Оранжевая</p> |
|
</td> |
|
|
|
<td valign=»top«> |
|
<p class=»MsoNormalCxSpMiddle«>Выделение автоматически созданных кнопок и |
|
подменю командных панелей. Служит для индикации того, что для данного |
|
элемента невозможно выполнить никаких настроек (свойства, положение)</p> |
|
</td> |
|
|
|
</tr> |
|
<tr> |
|
<td valign=»top«> |
|
<p class=»MsoNormalCxSpMiddle«>Серая</p> |
|
</td> |
|
|
|
<td valign=»top«> |
|
<p class=»MsoNormalCxSpMiddle«>Выделение родительского элемента, если |
|
выбранный элемент невозможно выделить в окне предварительного просмотра. |
|
Например, если в списке элементов выбрать контекстное меню поля ввода, то |
|
поле ввода будет выделено в окне предварительного просмотра серым цветом</p> |
|
</td> |
|
|
|
</tr> |
|
<tr> |
|
<td valign=»top«> |
|
<p class=»Regularbeforepicture«>Зеленая</p> |
|
</td> |
|
|
|
<td valign=»top«> |
|
<p class=»MsoNormalCxSpFirst«>Используется при перетаскивании элементов |
|
и отображает элемент, в который выполняется перетаскивание (например, таблицу |
|
или группу формы), и индикатор того, где будет размещен перетаскиваемый |
|
элемент</p> |
|
</td> |
|
|
|
</tr> |
|
</table> |
|
|
|
<p class=»Regularbeforepicture«>Щелчок |
|
мышью по заголовку окна в окне предварительного просмотра эквивалентен выбору |
|
элемента <span class=»Interface«>Форма</span> (на |
|
закладке <span class=»Interface«>Элементы</span>). |
|
Контекстное меню, которое возникает в этом случае, также эквивалентно |
|
контекстному меню, соответствующему элементу <span class=»Interface«>Форма</span>.</p> |
|
|
|
<p class=»Picture«><IMG src=»_img/img00484.gif?_=1496848987» WIDTH=»545» ALT HEIGHT=»315«></p> |
|
|
|
<p class=»MsoCaption«>Рис. |
|
476. Индикация перетаскивания</p> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Если |
|
необходимо выделить родительский элемент (например, группу, в которую входит |
|
поле) для какого-либо другого элемента, это можно сделать двумя |
|
последовательными щелчками левой кнопкой мыши на подчиненном элементе. Такое |
|
выделение сработает, если интервал между щелчками составляет от 1 до 2 секунд. |
|
При меньшем времени система может воспринять щелчки как двойной щелчок, при |
|
большем – как раздельные действия. Если в момент первого щелчка было |
|
выделено несколько элементов, то выделение родительского элемента не будет |
|
выполнено.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Для |
|
быстрого перехода к связанным объектам существует команда <span class=»Interface«>Перейти</span>. Эта |
|
команда расположена в контекстном меню объекта, в редакторах элементов, |
|
фрагментов командного интерфейса, реквизитов, команд и окне предварительного |
|
просмотра. С помощью этой команды можно, например, быстро перейти от элемента |
|
формы (выделенного в списке элементов или окне предварительного просмотра) к |
|
реквизиту формы, который отображается этим элементом. Если доступно несколько |
|
объектов, к которым возможен переход, будет открыто окно с предложением выбрать |
|
нужный объект.</p> |
|
|
|
<p class=»Regularbeforepicture«>Также |
|
в редакторе формы возможно быстрое создание (или переход) обработчиков событий |
|
того или иного элемента формы с помощью подменю <span class=»Interface«>События</span> контекстного |
|
меню элемента.</p> |
|
|
|
<p class=»Picture«><IMG src=»_img/img00485.gif?_=1496848987» WIDTH=»694» ALT HEIGHT=»444«></p> |
|
|
|
<p class=»MsoCaption«><a name=»_ref289263314«>Рис. </a>477. Меню «События»</p> |
|
|
|
<p class=»MsoNormalCxSpFirst«>В |
|
состав этого меню входят все события, которые доступны для данного элемента |
|
формы в окне свойств этого элемента. Если в меню указано имя события в угловых |
|
скобках, это значит, что обработчик события не определен (например, для события |
|
<span class=»Term«>Очистка</span> элемента <span class=»Term«>Организация</span> на <a href=»#_ref289263314«>рис.477</a>). Для создания обработчика следует выбрать нужное |
|
событие – произойдет переход в редактор модуля формы с созданием |
|
необходимого обработчика.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Если |
|
обработчик для события уже создан, то выбор соответствующего пункта в подменю <span class=»Interface«>События</span> вызовет |
|
переход к существующему обработчику в редакторе формы (например, обработчик <span class=»Term«>ОрганизацияПриИзменении()</span> на <a href=»#_ref289263314«>рис. |
|
477</a>).</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Для |
|
кнопки подменю <span class=»Interface«>События</span> не |
|
формируется, а команда перехода к обработчику соответствующей команды расположена |
|
непосредственно в контекстном меню элемента.</p> |
|
|
|
<p class=»Regularbeforepicture«>Если |
|
выполняется создание клиентского обработчика, то система предлагает на выбор |
|
несколько вариантов его создания:</p> |
|
|
|
<p class=»Picture«><IMG src=»_img/img00486.gif?_=1496848987» WIDTH=»368» ALT HEIGHT=»154«></p> |
|
|
|
<p class=»MsoCaption«>Рис. |
|
478. Создание клиентского обработчика</p> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Первый |
|
вариант (<span class=»Interface«>Создать на клиенте</span>) |
|
предполагает создание только клиентского обработчика событий. Вариант <span class=»Interface«>Создать на клиенте и |
|
процедуру на сервере без контекста</span> предполагает создание клиентского |
|
обработчика события, внеконтекстной серверной процедуры и вызов процедуры из |
|
клиентского обработчика. Последний вариант отличается от предыдущего тем, что |
|
серверная процедура создается контекстной. Если в каком либо клиентском |
|
обработчике события не рекомендуется использовать контекстные серверные вызовы |
|
(информация об этом доступа в Синтакс-помощнике), то использование последнего |
|
варианта (с контекстной серверной процедурой) недоступно. Удаление обработчика |
|
события не приводит к удалению серверной процедуры (если при создании |
|
обработчика события она создавалась).</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>При |
|
удалении реквизита (из списка реквизитов формы) на экран выводится вопрос <span class=»Interface«>Удалить связанные |
|
элементы?</span> Если ответ отрицательный, то у связанных элементов формы |
|
очищается свойство <span class=»Term«>Данные</span>. При положительном ответе выполняется |
|
удаление элементов формы, которые связаны с удаляемым реквизитом. Если связь с |
|
этим реквизитом для элемента не является основной (данные подвала, данные, |
|
отображаемые в заголовке группы, и т. д.), то такой элемент не |
|
удаляется, но очищается связь с удаляемым реквизитом. Вне зависимости от ответа |
|
на вопрос об удалении будут удалены команды командного интерфейса формы, |
|
связанные с удаляемым реквизитом.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Если |
|
удалить команды формы, также предлагается удалить связанные элементы. При |
|
отрицательном ответе элементы формы не удаляются, но очищается свойство |
|
элемента <span class=»Interface«>Команда</span>. При |
|
положительном ответе удаляются кнопки, связанные с удаляемой командой.</p> |
|
|
|
<p class=»Regularbeforepicture«>При |
|
разработке формы, которая должна отображаться и в интерфейсе <span class=»Interface«>Такси</span> и в |
|
интерфейсе 8.2, требуется видеть, как форма отображается в обоих режимах |
|
интерфейса. Это можно сделать непосредственно в редакторе формы.</p> |
|
|
|
<p class=»Picture«><IMG src=»_img/img00487.gif?_=1496848987» WIDTH=»591» ALT HEIGHT=»501«></p> |
|
|
|
<p class=»MsoCaption«><a name=»_ref352237003«>Рис. </a>479. Переключение |
|
режима интерфейса</p> |
|
|
|
<p class=»MsoNormalCxSpFirst«>На <a href=»#_ref352237003«>рис.479</a> приведен пример того, как меняется отображение при |
|
смене режима интерфейса с интерфейса <span class=»Interface«>Такси</span> (верхняя |
|
левая часть рисунка) на интерфейс версии 8.2 (нижняя правая часть рисунка). Однако следует помнить, что в режиме тестирования формы в |
|
интерфейсе <span class=»Interface«>Такси</span>, некоторые элементы изображаются в интерфейсе 8.2.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Кнопка |
|
<span class=»Interface«>Вариант интерфейса</span> |
|
доступна только в том случае, когда свойство <span class=»Interface«>Режим совместимости |
|
интерфейса</span> установлено в значение <span class=»Interface«>Такси. Разрешить |
|
Версия 8.2</span> или <span class=»Interface«>Версия 8.2. Разрешить |
|
Такси</span>. В остальных случаях кнопка не отображается в редакторе формы.</p> |
|
|
|
<p class=»Regularbeforepicture«>В |
|
особых случаях требуется разрабатывать формы, для которых можно выбирать |
|
масштаб отображения (см. <A href=»/db/content/v8310doc/src/руководство разработчика/глава 7. формы.htm?_=1496848987#_ref419713193«>здесь</a>). Если у самой формы свойство <span class=»Interface«>Вариант масштаба</span> |
|
установлено в значение <span class=»Interface«>Авто</span>, то в |
|
редакторе формы имеется возможность выбора, в каком масштабе будет отображаться |
|
превью формы.</p> |
|
|
|
<p class=»Picture«><IMG src=»_img/img00488.gif?_=1496848987» WIDTH=»613» ALT HEIGHT=»501«></p> |
|
|
|
<p class=»MsoCaption«>Рис. |
|
480. Переключение варианта масштаба</p> |
|
|
|
<p class=»Regularbeforepicture«>Если |
|
форма будет использоваться только в интерфейсе <span class=»Interface«>Такси</span>, и при |
|
этом не будет использоваться компактный режим отображения, в редакторе формы |
|
можно проверить, как форма будет отображаться с нестандартным масштабом.</p> |
|
|
|
<p class=»Picture«><IMG src=»_img/img00489.gif?_=1496848987» WIDTH=»766» ALT HEIGHT=»501«></p> |
|
|
|
<p class=»MsoCaption«>Рис. |
|
481. Выбор масштаба формы</p> |
|
|
|
<p class=»MsoNormal«>Изменение |
|
масштаба приведет к соответствующему изменению формы в окне предварительного |
|
просмотра. Для того чтобы изменить реальный масштаб формы – следует |
|
использовать свойство формы <span class=»Interface«>Масштаб</span>.</p> |
|
|
|
<p class=»Regularbeforepicture«>В |
|
связи с тем, что формы системы «1С:Предприятие» могут отображаться на |
|
устройствах с разным разрешением, в процессе разработки требуется проверять, |
|
как будет выглядеть разрабатываемая форма на том или ином разрешении. Для этого |
|
в редакторе реализована возможность быстрого выбора разрешения, для которого |
|
система будет выполнять размещение элементов в панели превью формы.</p> |
|
|
|
<p class=»Picture«><IMG src=»_img/img00490.gif?_=1496848987» WIDTH=»766» ALT HEIGHT=»501«></p> |
|
|
|
<p class=»MsoCaption«>Рис. |
|
482. Выбор разрешения превью</p> |
|
|
|
<p class=»MsoNormal«>При |
|
выборе разрешения форма будет перестраиваться так, как будто в панели превью |
|
установлено выбранное разрешение. При этом физические размеры формы не будут |
|
изменяться.</p> |
|
|
|
<p class=»Regularbeforepicture«>Кроме |
|
большого набора разрешений, мобильные устройства могут в процессе работы |
|
изменять ориентацию своего экрана. Для проверки того, как будет выглядеть форма |
|
при смене ориентации экрана, имеется возможность быстро эмулировать этой операции |
|
в редакторе формы.</p> |
|
|
|
<p class=»Picture«><IMG src=»_img/img00491.gif?_=1496848987» WIDTH=»800» ALT HEIGHT=»630«></p> |
|
|
|
<p class=»MsoCaption«><a name=»_ref423610588«>Рис. </a>483. Выбор |
|
ориентации экрана</p> |
|
|
|
<p class=»MsoNormal«>Так, |
|
на <a href=»#_ref423610588«>рис.483</a> приведен пример того, как форма будет отображаться в |
|
разрешении 1024×768 в ландшафтной (верхняя часть рисунка) и портретной (нижняя |
|
часть рисунка) ориентации.</p> |
|
|
|
<p class=»Regularbeforepicture«>Если |
|
в процессе разработки формы будут обнаружены различные ошибки задания свойств |
|
элементов, которые будут приводить к проблемам при размещении элементов формы, |
|
имеется возможность отобразить эти ошибки с помощью специальной кнопки.</p> |
|
|
|
<p class=»Picture«><IMG src=»_img/img00492.gif?_=1496848987» WIDTH=»450» ALT HEIGHT=»298«></p> |
|
|
|
<p class=»MsoCaption«>Рис. |
|
484. Показать ошибки размещения</p> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Если |
|
нужно открыть форму для проверки, следует нажать сочетание клавиш<span class=»Interface«> Ctrl + R</span>. |
|
Форма будет открыта в отдельном окне.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>При |
|
переименовании или удалении реквизита, параметра или элемента формы, система |
|
ищет случаи использования переименуемого (удаляемого) объекта в модуле формы и |
|
во всей конфигурации (если это разрешено в настройках конфигуратора, |
|
см. <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 id=»TI000000932» class=»bookmark» name=»issogl2_27.1.2_ролевая_настройка_формы«><h3>27.1.2. Ролевая настройка формы</h3></a> |
|
|
|
<p class=»MsoNormalCxSpFirst«>В |
|
редакторе формы имеется возможность выполнить ролевую настройку поведения |
|
формы.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Данная |
|
возможность предоставляется для следующих свойств:</p> |
|
|
|
<p class=»MsoListBulletCxSpFirst«>● |
|
<span class=»Interface«>Просмотр</span> – свойство |
|
реквизита формы. Отсутствие возможности просмотра исключает реквизит из данных |
|
формы (реквизит не передается с сервера). Изменить эту настройку пользователь |
|
не может.</p> |
|
|
|
<p class=»MsoListBulletCxSpMiddle«>● |
|
<span class=»Interface«>Редактирование</span> – |
|
свойство реквизита формы. Отсутствие возможности редактирования делает |
|
связанный с реквизитом элемент формы доступным только для просмотра. Вне |
|
зависимости от состояния данного свойства редактирование будет недоступно, если |
|
недоступен просмотр реквизита формы. Изменить эту настройку пользователь не |
|
может.</p> |
|
|
|
<p class=»MsoListBulletCxSpMiddle«>● |
|
<span class=»Interface«>Пользовательская видимость</span> – |
|
свойство элемента формы. Определяет видимость элемента формы по умолчанию. При |
|
этом пользователь может самостоятельно изменить это свойство в редакторе |
|
настройки формы.</p> |
|
|
|
<p class=»MsoListBulletCxSpLast«>● |
|
<span class=»Interface«>Использование</span> – |
|
свойство команды формы. Если у команды выключено использование, то в командном |
|
интерфейсе отсутствуют все связанные с ней кнопки. Изменить эту настройку |
|
пользователь не может.</p> |
|
|
|
<p class=»Regularbeforepicture«>Редакторы |
|
всех вышеперечисленных свойств выглядят одинаково и имеют одинаковый принцип |
|
работы. Рассмотрим работу редактора на примере свойства <span class=»Interface«>Просмотр</span>.</p> |
|
|
|
<p class=»Picture«><IMG src=»_img/img00493.gif?_=1496848987» WIDTH=»350» ALT HEIGHT=»212«></p> |
|
|
|
<p class=»MsoCaption«>Рис. |
|
485. Редактирование свойства «Просмотр» реквизита формы</p> |
|
|
|
<p class=»MsoNormal«>Свойство |
|
<span class=»Interface«>Просмотр</span> (в |
|
верхней части окна редактора) определяет состояние просмотра для каждой роли, у |
|
которой флажок находится в «третьем» состоянии (серый фон флажка). Затем |
|
состояния просмотра для всех доступных ролей складываются «по ИЛИ», и |
|
результат этого сложения будет определять итоговое свойство <span class=»Interface«>Просмотр</span> для редактируемого |
|
объекта.</p> |
|
|
|
<a name=»_ref236645687«></a><a name=»_ref219791919«></a><a id=»TI000000933» class=»bookmark» name=»issogl1_27.2_редактор_текстов«><h2>27.2. Редактор текстов</h2></a> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Текстовый редактор системы «1С:Предприятие» |
|
предоставляет пользователю все основные функции, необходимые при редактировании |
|
текстов. При работе с текстовым редактором доступны операции с блоками текста, |
|
функции поиска и замены, цветовое выделение синтаксических элементов программных |
|
модулей.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>В системе «1С:Предприятие» текстовый |
|
редактор используется в двух режимах: для редактирования текстовых документов |
|
и как составная часть редактора форм для редактирования текстов |
|
модулей.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>В данной главе приводится описание |
|
особенностей работы редактора текстов при редактировании текстов модулей.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Так как работа с любым текстовым редактором |
|
в системе Microsoft Windows осуществляется |
|
примерно одинаковым образом, в данном разделе будет дано описание специфических |
|
возможностей текстового редактора системы «1С:Предприятие».</p> |
|
|
|
<p class=»Note«><span class=»Note«>Примечание.</span> В текстовом редакторе |
|
невозможно ввести символы, недопустимые с точки зрения спецификации XML версии |
|
1.0 (<a href=»http://www.w3.org/TR/xml/» target=»_blank«>http://www.w3.org/TR/xml/</a>). |
|
При попытке ввода такого символа он просто игнорируется, при вставке из буфера |
|
обмена недопустимые символы пропускаются и во вставленный текст не попадают.</p> |
|
|
|
<p class=»MsoNormal«>Таблицу сочетаний клавиш для редактора |
|
текстов можно посмотреть в справке при использовании программы.</p> |
|
|
|
<a name=»_ref219791988«></a><a name=»_ref470015459«></a><a id=»TI000000934» class=»bookmark» name=»issogl2_27.2.1_редактирование_модулей«><h3>27.2.1. Редактирование модулей</h3></a> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Редактирование модулей выполняется в |
|
процессе создания формы объекта конфигурации, а также при разработке модулей (модуль |
|
приложения, модуль внешнего соединения, общие модули, модули прикладных объектов).</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>При создании формы текстовый редактор |
|
выступает как составная часть редактора форм и вызывается щелчком мыши на закладке |
|
<span class=»Interface«>Модуль</span> в окне редактора форм, в остальных случаях |
|
текстовый редактор вызывается в виде отдельного окна. Для открытия модуля управляемого |
|
приложения, модуля внешнего соединения, модуля сеанса и модуля обычного приложения |
|
нужно щелкнуть правой кнопкой мыши по имени конфигурации (самая верхняя строка |
|
дерева конфигурации) и в контекстном меню выбрать соответствующий пункт меню.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Для редактирования модуля объекта выбрать |
|
объект и в контекстном меню выбрать пункт <span class=»Interface«>Открыть модуль объекта</span>.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Для редактирования модуля менеджера (если |
|
такой модуль есть у объекта) следует выбрать объект и в контекстном меню выбрать |
|
пункт <span class=»Interface«>Открыть модуль менеджера</span>.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Чтобы отредактировать модуль команды, нужно |
|
дважды щелкнуть мышью по команде или в контекстном меню команды выбрать пункт <span class=»Interface«>Открыть модуль команды</span>.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Для редактирования общего модуля в окне <span class=»Interface«>Конфигурация,</span> в ветви <span class=»Interface«>Общие – Общие модули</span> выбрать нужный модуль и в |
|
контекстном меню выбрать пункт <span class=»Interface«>Открыть модуль</span>.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Процесс редактирования текста программного |
|
модуля ничем не отличается от процесса редактирования текстовых документов – |
|
можно использовать все возможности редактора текстов.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>В этом разделе будут описаны специфические |
|
режимы редактора текстов, которые доступны при редактировании модулей.</p> |
|
|
|
<a id=»TI000000935» class=»bookmark» name=»issogl3_27.2.1.1_выделение_цветом_синтаксических_конструкций«><h4>27.2.1.1. Выделение цветом синтаксических конструкций</h4></a> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Для удобства редактирования текстов модулей |
|
текстовый редактор имеет функцию выделения цветом элементов встроенного языка |
|
системы «1С:Предприятие» – ключевых слов, констант (не объектов |
|
конфигурации) различных типов, операторов, комментариев и других. Цвета, |
|
которыми будут выделяться разные типы синтаксических конструкций, можно |
|
установить в окне <span class=»Interface«>Параметры</span>, которое открывается выбором пункта <span class=»Interface«>Сервис – Параметры</span> (о настройке параметров |
|
текстового редактора см. <A href=»/db/content/v8310doc/src/руководство разработчика/глава 33. сервисные возможности.htm?_=1496848987#_ref217356703«>здесь</a>).</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Названия встроенных функций цветом не |
|
выделяются (цвет совпадает с цветом идентификаторов).</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>В общем случае когда текстовый редактор |
|
вызывается для редактирования текста модуля, эта функция включается автоматически. |
|
Однако в некоторых случаях текст модуля может быть расположен во внешнем |
|
текстовом файле. Тогда при открытии такого файла конфигуратор не распознает модуль |
|
и будет считать его обычным текстовым документом. В этом случае при редактировании |
|
текста будет недоступно выделение цветом синтаксических конструкций и автоматическое |
|
форматирование текста модуля. Для указания конфигуратору, что редактируется |
|
модуль, а не текстовый документ, служит пункт <span class=»Interface«>Текст – Встроенный язык</span>, выполняющий функцию переключателя.</p> |
|
|
|
<p class=»Regularbeforepicture«>Когда он включен (слева от слов <span class=»Interface«>Встроенный язык</span> в меню появляется отметка), текстовый |
|
редактор считывает загруженный в него текст текстом модуля и выделяет цветом найденные |
|
синтаксические конструкции.</p> |
|
|
|
<p class=»Picture«><IMG src=»_img/img00494.gif?_=1496848987» WIDTH=»238» ALT HEIGHT=»123«></p> |
|
|
|
<p class=»MsoCaption«>Рис. 486. Включено выделение |
|
цветом</p> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Если этот режим включен при редактировании |
|
обычного текстового документа, для вывода текста будет также использоваться |
|
шрифт, установленный для текстов модулей в настройке параметров конфигуратора |
|
(пункт <span class=»Interface«>Сервис – Параметры</span>, закладка <span class=»Interface«>Тексты</span>, реквизит <span class=»Interface«>Шрифт</span>).</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Настройка параметров системы «1С:Предприятие» |
|
позволяет отключить режим выделения цветом синтаксических конструкций. Тогда |
|
выбор пункта <span class=»Interface«>Встроенный язык</span> не включит выделение цветом |
|
синтаксических конструкций модуля, а будет использовать только установки шрифта |
|
модуля и шага табуляции.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Если режим выделения цветом синтаксических |
|
конструкций выключен, для вывода текста используются цвета операционной |
|
системы.</p> |
|
|
|
<a name=»_ref354052189«></a><a id=»TI000000936» class=»bookmark» name=»issogl3_27.2.1.2_группировка«><h4>27.2.1.2. Группировка</h4></a> |
|
|
|
<p class=»MsoNormal«>В модулях или в текстовых документах, |
|
просматриваемых в режиме <span class=»Interface«>Встроенный язык</span>, некоторые синтаксические конструкции |
|
автоматически объединяются в группы. К таким конструкциям относятся <span class=»Term«>Если … Тогда … КонецЕсли</span>, |
|
<span class=»Term«>Пока … Цикл … КонецЦикла</span>, |
|
<span class=»Term«>Процедура … КонецПроцедуры</span> |
|
и другие.</p> |
|
|
|
<p class=»Regularbeforepicture«>Группы текста позволяют лучше воспринимать |
|
различные части текста, а также переносить и копировать группу целиком. Отображение |
|
группировок можно увидеть на <a href=»#_ref216231523«>рис.487</a>.</p> |
|
|
|
<p class=»Picture«><IMG src=»_img/img00495.gif?_=1496848987» WIDTH=»452» ALT HEIGHT=»458«></p> |
|
|
|
<p class=»MsoCaption«><a name=»_ref216231523«>Рис. </a>487. Группировки в текстовом редакторе</p> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Свернуть и развернуть группу можно с помощью |
|
мыши. Для этого достаточно щелкнуть левой кнопкой мыши по маркеру группы.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Если при этом нажать клавишу <span class=»Interface«>Ctrl</span>, то сворачивание и разворачивание будет |
|
производиться также для подчиненных групп (условий, циклов и проч.).</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Для отображения свернутого текста необходимо |
|
подвести курсор к маркеру, как показано на <a href=»#_ref216231523«>рис. |
|
487</a>. Если текст группы достаточно большой, то выводится |
|
только его начальная часть.</p> |
|
|
|
<p class=»Regularbeforepicture«>В процессе разработки возникает |
|
необходимость группировать фрагменты модуля. Например, нужно выделить логически |
|
связанные процедуры и функции или выделить фрагменты алгоритма в рамках одной |
|
процедуры или функции. Это можно сделать с помощью инструкций препроцессора <span class=»Term«>#Область … |
|
#КонецОбласти</span> (<span class=»Term«>#Region … |
|
#EndRegion</span>).</p> |
|
|
|
<p class=»Picture«><IMG src=»_img/img00496.gif?_=1496848987» WIDTH=»662» ALT HEIGHT=»323«></p> |
|
|
|
<p class=»MsoCaption«><a name=»_ref341458587«>Рис. </a>488. Группировка строк</p> |
|
|
|
<p class=»MsoNormal«>Все строки, которые находятся внутри |
|
области, ограниченные директивами препроцессора, в редакторе модуля можно |
|
свернуть (аналогично другим конструкциям встроенного языка). Каждая область должна |
|
обладать собственным именем, которое формируется по правилам встроенного языка. |
|
В примере, показанном на <a href=»#_ref341458587«>рис.488</a>, именем области является идентификатор <span class=»Term«>ФайлКартинки</span>. |
|
Области могут быть вложенными, но не могут пересекаться с другими синтаксическими |
|
конструкциями языка. Далее приведены примеры использования областей, как |
|
корректные, так и некорректные:</p> |
|
|
|
<a class=»copy_source» href=»#_top» onClick=»return false«>Копировать в буфер обмена</a> |
|
<pre class=»src_res«> |
|
// Верный пример использования области |
|
#Область Верно |
|
… |
|
#Если Клиент Тогда |
|
… |
|
#КонецЕсли |
|
… |
|
#КонецОбласти |
|
// Вложенные области |
|
#Область АлгоритмРасчета |
|
… |
|
#Область Этап1 |
|
… |
|
#КонецОбласти |
|
… |
|
#Область Этап2 |
|
… |
|
#КонецОбласти |
|
… |
|
#КонецОбласти |
|
// Неверный пример использования области |
|
#Область Неверно |
|
… |
|
#Если Клиент Тогда |
|
… |
|
#КонецОбласти |
|
… |
|
#КонецЕсли |
|
// Неверный пример использования области |
|
#Область Неверно |
|
Процедура ПолучитьДанные() |
|
… |
|
#КонецОбласти |
|
… |
|
КонецПроцедры |
|
</pre> |
|
|
|
<p class=»MsoNormal«>Область может описываться комментарием, |
|
располагающимся перед началом области (<span class=»Term«>#Область</span>). |
|
Этот комментарий также может группироваться.</p> |
|
|
|
<p class=»Regularbeforetable«>С помощью команд, выполняемых с клавиатуры, |
|
можно легко управлять состоянием групп.</p> |
|
|
|
<table class=»MsoNormalTable» border=»0» cellspacing=»0» cellpadding=»0«> |
|
<tr> |
|
<td valign=»top«> |
|
<p class=»MsoNormalCxSpFirst«><b>Клавиши</b></p> |
|
</td> |
|
|
|
<td valign=»top«> |
|
<p class=»MsoNormalCxSpMiddle«><b>Действия</b></p> |
|
</td> |
|
|
|
</tr> |
|
<tr> |
|
<td valign=»top«> |
|
<p class=»MsoNormalCxSpMiddle«><span class=»Interface«>Ctrl + Num-</span></p> |
|
</td> |
|
|
|
<td valign=»top«> |
|
<p class=»MsoNormalCxSpMiddle«>Сворачивает |
|
группу (курсор может быть в любом месте группы)</p> |
|
</td> |
|
|
|
</tr> |
|
<tr> |
|
<td valign=»top«> |
|
<p class=»MsoNormalCxSpMiddle«><span class=»Interface«>Ctrl + Num+</span></p> |
|
</td> |
|
|
|
<td valign=»top«> |
|
<p class=»MsoNormalCxSpMiddle«>Разворачивает |
|
группу (курсор должен быть в первой строке группы)</p> |
|
</td> |
|
|
|
</tr> |
|
<tr> |
|
<td valign=»top«> |
|
<p class=»MsoNormalCxSpMiddle«><span class=»Interface«>Ctrl + Shift + Num-</span></p> |
|
</td> |
|
|
|
<td valign=»top«> |
|
<p class=»MsoNormalCxSpMiddle«>Сворачивает |
|
все группы</p> |
|
</td> |
|
|
|
</tr> |
|
<tr> |
|
<td valign=»top«> |
|
<p class=»MsoNormalCxSpMiddle«><span class=»Interface«>Ctrl + Shift + Num+</span></p> |
|
</td> |
|
|
|
<td valign=»top«> |
|
<p class=»MsoNormalCxSpMiddle«>Разворачивает |
|
все группы </p> |
|
</td> |
|
|
|
</tr> |
|
<tr> |
|
<td valign=»top«> |
|
<p class=»MsoNormalCxSpMiddle«><span class=»Interface«>Ctrl + Shift + R</span></p> |
|
</td> |
|
|
|
<td valign=»top«> |
|
<p class=»MsoNormalCxSpMiddle«>Обновить |
|
группировки </p> |
|
</td> |
|
|
|
</tr> |
|
</table> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>При написании текста модуля, во время |
|
завершения написания синтаксической конструкции, автоматически создаются группы |
|
для всех синтаксических конструкций любого уровня вложенности. Обновление |
|
группировок выполняется с помощью пункта <span class=»Interface«>Текст – Группировки – Обновить группировки</span> или |
|
автоматически при сохранении текста согласно настройке показа групп.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Первым считается уровень описания процедур, функций |
|
и областей, вторым – синтаксических конструкций, вложенных только в тело |
|
процедуры или функции, но не в тело других синтаксических конструкций. Режим |
|
показа групп можно настроить. О настройке режима см. <A href=»/db/content/v8310doc/src/руководство разработчика/глава 33. сервисные возможности.htm?_=1496848987#_ref217356754«>здесь</a>.</p> |
|
|
|
<a name=»_ref389477376«></a><a id=»TI000001457» class=»bookmark» name=»issogl3_27.2.1.3_работа_с_закладками«><h4>27.2.1.3. Работа с закладками</h4></a> |
|
|
|
<p class=»Regularbeforepicture«>В процессе работы с текстом модуля |
|
разработчик может отметить какую-либо строку текста для того, чтобы потом |
|
быстро перейти к отмеченному фрагменту. Такая отметка называется <span class=»Bold«>закладкой</span>.</p> |
|
|
|
<p class=»Picture«><IMG src=»_img/img00497.gif?_=1496848987» WIDTH=»782» ALT HEIGHT=»283«></p> |
|
|
|
<p class=»MsoCaption«>Рис. 489. Закладки в тексте</p> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Для установки следует воспользоваться |
|
командой <span class=»Interface«>Текст – Установить/снять закладку</span>. Закладка |
|
отмечается цветовой меткой в колонке, левее текста модуля.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Также имеется возможность перейти к следующей |
|
(команда <span class=»Interface«>Текст – Следующая закладка</span>) или предыдущей закладке |
|
(команда <span class=»Interface«>Текст – Предыдущая закладка</span>), а также удалить все |
|
установленные закладки (<span class=»Interface«>Текст – Убрать все закладки</span>).</p> |
|
|
|
<p class=»Regularbeforepicture«>Список всех установленных закладок можно |
|
увидеть в специльном списке, который открывается с помощью команды <span class=»Interface«>Правка – Список закладок</span>.</p> |
|
|
|
<p class=»Picture«><IMG src=»_img/img00498.gif?_=1496848987» WIDTH=»472» ALT HEIGHT=»278«></p> |
|
|
|
<p class=»MsoCaption«>Рис. 490. Список закладок</p> |
|
|
|
<p class=»MsoNormalCxSpFirst«>С помощью данного списка можно перейти сразу |
|
к нужной закладке, удалить одну, конкретную, закладку или сразу все. Следует |
|
помнить, что переход к закладке осуществляется только с помощью специальной |
|
кнопки. Нажатие на кнопку <span class=»Interface«>ОК</span> не вызывает переход к отмеченной закладке.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Также следует отметить, что система |
|
сохраняет список закладок между сеансами редактирования документов и работы |
|
конфигуратора.</p> |
|
|
|
<a id=»TI000000937» class=»bookmark» name=»issogl3_27.2.1.4_форматирование_модуля«><h4>27.2.1.4. Форматирование модуля</h4></a> |
|
|
|
<p class=»MsoNormal«>Редактор текстов системы «1С:Предприятие» |
|
включает ряд режимов, облегчающих разработку модулей.</p> |
|
|
|
<a name=»_ref401225227«></a><a id=»TI000000938» class=»bookmark» name=»issogl4_27.2.1.4.1_форматирование_синтаксических_конструкций«><h5>27.2.1.4.1. Форматирование синтаксических конструкций</h5></a> |
|
|
|
<p class=»MsoNormal«>Хорошим стилем написания модулей считается |
|
использование синтаксического отступа – выделения лидирующими пробелами |
|
(табуляцией) управляющих конструкций встроенного языка системы «1С:Предприятие», |
|
например, так, как это показано в приведенном ниже фрагменте модуля.</p> |
|
|
|
<a class=»copy_source» href=»#_top» onClick=»return false«>Копировать в буфер обмена</a> |
|
<pre class=»src_dev«><span class=»keyword«>Процедура</span> СледующийЭлемент<span class=»operator«>(</span>Справочник<span class=»operator«>,</span> Выборка<span class=»operator«>)</span> |
|
<span class=»keyword«>Пока</span> <span class=»keyword«>Истина</span> <span class=»keyword«>Цикл</span> |
|
<span class=»keyword«>Если</span> Выборка<span class=»operator«>.</span>Следующий<span class=»operator«>(</span><span class=»operator«>)</span> <span class=»operator«>=</span> <span class=»keyword«>Ложь</span> <span class=»keyword«>Тогда</span> |
|
Выборка <span class=»operator«>=</span> Справочник<span class=»operator«>.</span><span class=»keyword«>Выбрать</span><span class=»operator«>(</span><span class=»operator«>)</span><span class=»operator«>;</span> |
|
<span class=»keyword«>Продолжить</span><span class=»operator«>;</span> |
|
<span class=»keyword«>Иначе</span> |
|
<span class=»keyword«>Прервать</span><span class=»operator«>;</span> |
|
<span class=»keyword«>КонецЕсли</span><span class=»operator«>;</span> |
|
<span class=»keyword«>Если</span> Выборка<span class=»operator«>.</span>ЭтоГруппа <span class=»keyword«>Тогда</span> |
|
<span class=»keyword«>Продолжить</span><span class=»operator«>;</span> |
|
<span class=»keyword«>КонецЕсли</span><span class=»operator«>;</span> |
|
<span class=»keyword«>Возврат</span><span class=»operator«>;</span> |
|
<span class=»keyword«>КонецЦикла</span><span class=»operator«>;</span> |
|
<span class=»keyword«>КонецПроцедуры</span></pre> |
|
|
|
<p class=»MsoNormalCxSpFirst«>В данном фрагменте строки модуля, |
|
расположенные внутри структурных операторов <span class=»Term«>Если … Тогда … КонецЕсли</span> |
|
и <span class=»Term«>Пока … Цикл … КонецЦикла</span>, |
|
смещены вправо, чтобы подчеркнуть их «вложенность». Текст модуля, отформатированный |
|
с использованием синтаксического отступа, удобнее в восприятии и проще в |
|
отладке.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Текстовый редактор системы «1С:Предприятие» |
|
предоставляет функции автоматического форматирования управляющих конструкций |
|
встроенного языка. Для настройки автоматического форматирования в режиме установки |
|
параметров системы (команда <span class=»Interface«>Сервис – Параметры</span> главного меню конфигуратора, закладка |
|
<span class=»Interface«>Модули</span>) можно выбрать один из двух видов отступа.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Синтаксический отступ выполняет |
|
автоматическое форматирование текста модуля, смещая вправо текст, расположенный |
|
внутри управляющих конструкций типа <span class=»Term«>Если … Тогда … КонецЕсли</span> |
|
и <span class=»Term«>Пока … Цикл … КонецЦикла</span> |
|
и подобных. Смещение выполняется за счет добавления в начало строк необходимого |
|
количества знаков табуляции.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>«Обыкновенный» отступ автоматически выравнивает |
|
текст строки по левой границе предыдущей строки.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Если автоотступ отключен, никаких |
|
дополнительных символов в текст добавляться не будет.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Кроме автоматического форматирования текста |
|
модуля в процессе ввода можно также отформатировать уже введенный текст. Для |
|
этого необходимо выделить блок текста, который требуется отформатировать, и |
|
выбрать пункт <span class=»Interface«>Текст – Блок – Форматировать</span>. При этом текстовый |
|
редактор проанализирует текст модуля и выполнит его форматирование, при котором |
|
содержимое каждой синтаксической конструкции будет сдвинуто вправо на величину |
|
табуляции независимо от первоначального расположения строк (лидирующих |
|
пробелов). В пустые строки устанавливаются знаки табуляции в соответствии с |
|
синтаксической конструкцией.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Блок текста также можно целиком сдвигать |
|
вправо или влево с шагом табуляции. Для этого необходимо выделить блок текста и |
|
выбрать команду <span class=»Interface«>Текст – Блок – Сдвинуть вправо</span> (<span class=»Interface«>Текст – Блок – Сдвинуть влево</span>).</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Текстовый редактор системы «1С:Предприятие» |
|
осуществляет автоматическое удаление пробелов на концах строк. Это выполняется |
|
при записи модуля.</p> |
|
|
|
<a id=»TI000000939» class=»bookmark» name=»issogl4_27.2.1.4.2_вставка_удаление_признака_комментария«><h5>27.2.1.4.2. Вставка/удаление признака комментария</h5></a> |
|
|
|
<p class=»MsoNormalCxSpFirst«>При отладке модулей зачастую бывает |
|
необходимо на время «отключить» некоторые строки модуля, чтобы они не исполнялись |
|
при работе системы. Обычно это выполняется путем превращения таких строк в |
|
комментарии – добавлением перед ними признака комментария «<span class=»Interface«>//</span>». Позднее, чтобы опять «включить» закомментированные |
|
строки в работу, признак комментария удаляется.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Для выключения (и последующего включения) |
|
больших фрагментов модуля удобно использовать режим автоматической установки |
|
признаков комментария у всех строк выделенного блока или текущей строки (ее |
|
выделять не обязательно).</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Для этого следует выделить блок текста или |
|
установить указатель на нужную строку и выбрать пункт <span class=»Interface«>Текст – Блок – Добавить комментарий</span> (<span class=»Interface«>Текст – Блок – Удалить комментарий</span>).</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>При удалении комментария, если перед строкой |
|
установлено несколько признаков комментария, удаляется только один.</p> |
|
|
|
<a id=»TI000000940» class=»bookmark» name=»issogl4_27.2.1.4.3_вставка_удаление_переноса_строки«><h5>27.2.1.4.3. Вставка/удаление переноса строки</h5></a> |
|
|
|
<p class=»MsoNormalCxSpFirst«>При написании значения строковых констант |
|
для переноса строки используется символ «<span class=»Interface«>|</span>».</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Текстовый редактор позволяет легко добавлять |
|
или удалять этот символ в предварительно выделенные строки.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Для вставки/удаления символа переноса у всех |
|
строк выделенного блока или текущей строки (ее выделять не обязательно) нужно |
|
указать область и выбрать пункт <span class=»Interface«>Текст – Блок – Добавить перенос строки</span> для |
|
вставки и <span class=»Interface«>Текст – Блок – Удалить перенос строки</span> для |
|
удаления.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Символ переноса вставляется в первую |
|
значимую (не пробел и не знак табуляции) позицию каждой строки.</p> |
|
|
|
<a name=»_ref373336579«></a><a id=»TI000000941» class=»bookmark» name=»issogl3_27.2.1.5_переход_по_процедурам_и_функциям_модуля«><h4>27.2.1.5. Переход по процедурам и функциям модуля</h4></a> |
|
|
|
<p class=»MsoNormal«>При значительном количестве имеющихся в |
|
модуле описаний процедур и функций удобно использовать режим поиска процедур, |
|
который предоставляет редактор текстов системы «1С:Предприятие».</p> |
|
|
|
<p class=»Regularbeforepicture«>Если воспользоваться командой <span class=»Interface«>Текст – Процедуры и функции</span>, то на экран будет |
|
выдано окно, содержащее список всех процедур и функций редактируемого модуля.</p> |
|
|
|
<p class=»Picture«><IMG src=»_img/img00499.gif?_=1496848987» WIDTH=»391» ALT HEIGHT=»291«></p> |
|
|
|
<p class=»MsoCaption«>Рис. 491. Список процедур и |
|
функций</p> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Имена процедур и функций в списке выдаются в |
|
порядке их расположения в модуле. Если установлен флажок <span class=»Interface«>Сортировка</span>, список будет отсортирован по алфавиту.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Имена процедур и функций, уже расположенных |
|
в форме, имеют пиктограмму слева от наименования.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Для перехода к нужной процедуре или функции |
|
необходимо выделить ее имя в списке и нажать кнопку <span class=»Interface«>Перейти</span>.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>В списке процедур и функций в угловых |
|
скобках показываются наименования событий, процедура-обработчик которых еще не |
|
создана. Созданные процедуры и функции имеют перед наименованием пиктограмму (<span class=»Interface«>P()</span> и <span class=»Interface«>F(х)</span> соответственно). Состав событий, которые могут быть |
|
обработаны, определяются типом объекта и видом формы, а также составом |
|
элементов управления, расположенных в форме. При выборе такой строки в модуль |
|
добавляется текст предопределенной процедуры, а в соответствующее событие категории |
|
<span class=»Interface«>События</span> – ссылка на эту процедуру.</p> |
|
|
|
<p class=»Note«><span class=»Note«>ВНИМАНИЕ!</span> Создание |
|
процедур-обработчиков событий, определенных системой для данного модуля, необходимо |
|
выполнять в палитре свойств для формы в категории свойств <span class=»Interface«>События</span>, или с помощью окна <span class=»Interface«>Процедуры и функции</span>, или из поля списка <span class=»Interface«>Процедуры и функции</span>. При простом копировании |
|
процедур-обработчиков событий из других модулей обработчики событий для формы |
|
не будут инициированы системой, и скопированные процедуры не будут вызываться |
|
для обработки событий.</p> |
|
|
|
<p class=»MsoNormal«>При перемещении указателя в строку модуля |
|
наименование текущей процедуры или функции показывается в поле выбора процедуры |
|
панели инструментов <span class=»Interface«>Модуль</span> (команда <span class=»Interface«>Процедуры и функции</span>). С помощью этого списка можно также |
|
перейти к нужной процедуре или функции.</p> |
|
|
|
<p class=»Regularbeforepicture«>Для перехода к процедуре, функции и |
|
переменным достаточно указать мышью их наименование и нажать клавишу <span class=»Interface«>F12</span>. Переход возможен только для процедур, функций и |
|
переменных, расположенных в данном модуле, или к экспортируемым процедурам, |
|
функциям и переменным модуля приложения, общих модулей и модулей объектов. Для |
|
того чтобы вернуться к точке, из которой был осуществлен переход к определению, |
|
необходимо нажать сочетание клавиш <span class=»Interface«>Ctrl+ "-"</span> (рядом с клавишей "<span class=»Interface«>=</span>").</p> |
|
|
|
<p class=»Picture«><IMG src=»_img/img00500.gif?_=1496848987» WIDTH=»760» ALT HEIGHT=»376«></p> |
|
|
|
<p class=»MsoCaption«>Рис. 492. Перейти к определению</p> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Если записанное выражение состоит из частей, |
|
определенных в разных местах конфигурации, перед переходом на экран будет |
|
выведен список таких объектов для выбора перехода. Переход может осуществляться |
|
к определению переменной, определению объекта метаданных, тип которого имеет |
|
текущее выражение, или определению процедуры или функции, используемой в выражении |
|
(например, в модуле объекта, тип которого имеет выражение).</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Например, для выражения <span class=»Term«>Спр.НайтиПоКоду()</span>, |
|
где <span class=»Term«>Спр</span> |
|
определен как справочник <span class=»Term«>Валюты</span>, |
|
при нажатии клавиши <span class=»Interface«>F12</span> будет выведен список перехода к определению |
|
переменной <span class=»Term«>Спр</span> |
|
и определению объекта метаданных <span class=»Interface«>Справочники – Валюты</span> в дереве объектов |
|
конфигурации.</p> |
|
|
|
<p class=»Regularbeforepicture«>Существует возможность выполнить поиск мест |
|
использования переменной, процедуры или функции. Поиск будет выполняться по |
|
всей конфигурации. Для выполнения такого поиска следует поместить курсор «внутрь» |
|
того имени, использование которого нужно найти, и вызвать команду контекстного |
|
меню редактора текстов <span class=»Interface«>Найти использование</span> (или нажать сочетание клавиш <span class=»Interface«>Alt+F12</span>).</p> |
|
|
|
<p class=»Picture«><IMG src=»_img/img00501.gif?_=1496848987» WIDTH=»800» ALT HEIGHT=»290«></p> |
|
|
|
<p class=»MsoCaption«>Рис. 493. Найти использование</p> |
|
|
|
<p class=»MsoNormalCxSpFirst«>После выполнения поиска открывается окно с |
|
результатами поиска. Из этого окна можно перейти в соответствующий модуль с |
|
помощью двойного щелчка мышью по требуемой строке.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Первый символ в результатах поиска описывает |
|
достоверность определения каждого найденного использования. Символ «<span class=»Interface«>i</span>» означает, что использование определено полностью и |
|
однозначно, а символ "<span class=»Interface«>!</span>" означает, что использование переменной, процедуры |
|
или функции определено не четко.<a name=»_ref349150912«></a></p> |
|
|
|
<a name=»_ref371695051«></a><a id=»TI000000942» class=»bookmark» name=»issogl3_27.2.1.6_контекстная_подсказка_при_вводе_текстов_модулей«><h4>27.2.1.6. Контекстная подсказка при вводе текстов модулей</h4></a> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Текстовый |
|
редактор системы «1С:Предприятие» предоставляет средство контекстного ввода |
|
выражений с использованием системных объектов, их свойств, методов, процедур и |
|
функций, наименований объектов, определенных в конфигурации, а также переменных, |
|
процедур и функций, определенных в общих модулях, модулях прикладных объектов и |
|
модулях форм. В список включаются предопределенные элементы справочников, планов |
|
счетов, планов видов характеристик и планов видов расчетов.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>В |
|
список контекстной подсказки могут быть включены шаблоны текстов и ключевые |
|
слова.</p> |
|
|
|
<p class=»Note«><span class=»Note«>Примечание.</span> Контекстная подсказка текста не поддерживается |
|
системой для текстовых документов с установленным свойством <span class=»Interface«>Встроенный язык</span>.</p> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Ввод |
|
осуществляется из списка, который выводится в виде контекстного меню в месте |
|
текущего расположения курсора (с учетом близости границ экрана).</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Список |
|
вызывается нажатием комбинации клавиш <span class=»Interface«>Ctrl + <клавиша |
|
Пробел></span> на любой стадии набора выражения или автоматически после |
|
ввода символа «<span class=»Interface«>.</span>» после выражения, |
|
представляющего собой объект, имеющий свойства и/или методы (при разрешенном вызове |
|
контекстной подсказки – см. <A href=»/db/content/v8310doc/src/руководство разработчика/глава 33. сервисные возможности.htm?_=1496848987#_ref217356805«>здесь</a>).</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Состав |
|
списка зависит от контекста выполнения программного модуля (см. раздел «Общее |
|
описание языка» справки по встроенному языку) и предварительно введенного текста.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>На |
|
начальном этапе, когда текст еще не введен или введены только начальные символы |
|
выражения, состав списка определяется контекстом выполнения.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Список |
|
представлен в виде строк текста, отсортированных по алфавиту.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Если |
|
при открытии списка был введен фрагмент текста, то список позиционируется на |
|
первой строке, наименование которой максимально включает набранный или |
|
выделенный текст (от начала наименования). Если набранный текст не содержится в |
|
строках списка, то список позиционируется на строке, в которой максимально |
|
представлен набранный текст.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>При |
|
открытом списке можно продолжить набор текста. В этом случае список будет |
|
последовательно позиционироваться на строках, совпадающих с набираемым текстом.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Список |
|
можно просмотреть стандартным способом. При нажатии клавиши <span class=»Interface«>Enter</span> |
|
содержимое выбранной строки переносится в модуль, заменяя выделенный или набранный |
|
текст.</p> |
|
|
|
<p class=»Note«><span class=»Note«>Примечание.</span> При переносе текста в модуль не вставляются |
|
параметры методов и используется контекст клиентского приложения.</p> |
|
|
|
<p class=»Regularbeforetable«>В |
|
левой части строк имеются пиктограммы, показывающие вид объекта и тип места его |
|
расположения. </p> |
|
|
|
<table class=»MsoNormalTable» border=»0» cellspacing=»0» cellpadding=»0«> |
|
<tr> |
|
<td valign=»top«> |
|
<p class=»MsoNormalCxSpFirst«><b>Пиктограмма</b></p> |
|
</td> |
|
|
|
<td valign=»top«> |
|
<p class=»MsoNormalCxSpMiddle«><b>Объект</b></p> |
|
</td> |
|
|
|
</tr> |
|
<tr> |
|
<td valign=»top«> |
|
<p class=»MsoNormalCxSpLast«>черта (черная)</p> |
|
</td> |
|
|
|
<td valign=»top«> |
|
<p class=»MsoListBulletCxSpFirst«>● |
|
Свойства глобального контекста,</p> |
|
<p class=»MsoListBulletCxSpMiddle«>● |
|
Системные наборы значений,</p> |
|
<p class=»MsoListBulletCxSpLast«>● |
|
Перечисления</p> |
|
</td> |
|
|
|
</tr> |
|
<tr> |
|
<td valign=»top«> |
|
<p class=»MsoNormalCxSpMiddle«>черта (зеленая)</p> |
|
|
|
<p class=»MsoNormalCxSpLast«> </p> |
|
</td> |
|
|
|
<td valign=»top«> |
|
<p class=»MsoListBulletCxSpFirst«>● |
|
Свойства объектов универсальных коллекций |
|
значений,</p> |
|
<p class=»MsoListBulletCxSpMiddle«>● |
|
Свойства интерфейсных объектов,</p> |
|
<p class=»MsoListBulletCxSpMiddle«>● |
|
Реквизиты прикладного объекта,</p> |
|
<p class=»MsoListBulletCxSpLast«>● |
|
Предопределенные элементы</p> |
|
</td> |
|
|
|
</tr> |
|
<tr> |
|
<td valign=»top«> |
|
<p class=»MsoNormalCxSpMiddle«>черта (синяя)</p> |
|
</td> |
|
|
|
<td valign=»top«> |
|
<p class=»MsoNormalCxSpMiddle«>Экспортируемые переменные модулей</p> |
|
</td> |
|
|
|
</tr> |
|
<tr> |
|
<td valign=»top«> |
|
<p class=»MsoNormalCxSpMiddle«>черта (красная)</p> |
|
</td> |
|
|
|
<td valign=»top«> |
|
<p class=»MsoNormalCxSpMiddle«>Локальные переменные модуля</p> |
|
</td> |
|
|
|
</tr> |
|
<tr> |
|
<td valign=»top«> |
|
<p class=»MsoNormalCxSpMiddle«>Р() (черная)</p> |
|
</td> |
|
|
|
<td valign=»top«> |
|
<p class=»MsoNormalCxSpMiddle«>Процедуры глобального контекста</p> |
|
</td> |
|
|
|
</tr> |
|
<tr> |
|
<td valign=»top«> |
|
<p class=»MsoNormalCxSpMiddle«>Р() (зеленая)</p> |
|
</td> |
|
|
|
<td valign=»top«> |
|
<p class=»MsoNormalCxSpMiddle«>Процедуры интерфейсных и прикладных |
|
объектов</p> |
|
</td> |
|
|
|
</tr> |
|
<tr> |
|
<td valign=»top«> |
|
<p class=»MsoNormalCxSpMiddle«>Р() (синяя)</p> |
|
</td> |
|
|
|
<td valign=»top«> |
|
<p class=»MsoNormalCxSpMiddle«>Экспортируемые процедуры других модулей</p> |
|
</td> |
|
|
|
</tr> |
|
<tr> |
|
<td valign=»top«> |
|
<p class=»MsoNormalCxSpMiddle«>Р() (красная)</p> |
|
</td> |
|
|
|
<td valign=»top«> |
|
<p class=»MsoNormalCxSpMiddle«>Локальные процедуры модуля</p> |
|
</td> |
|
|
|
</tr> |
|
<tr> |
|
<td valign=»top«> |
|
<p class=»MsoNormalCxSpMiddle«>F() (черная)</p> |
|
</td> |
|
|
|
<td valign=»top«> |
|
<p class=»MsoNormalCxSpMiddle«>Функции глобального контекста</p> |
|
</td> |
|
|
|
</tr> |
|
<tr> |
|
<td valign=»top«> |
|
<p class=»MsoNormalCxSpMiddle«>F() (зеленая)</p> |
|
</td> |
|
|
|
<td valign=»top«> |
|
<p class=»MsoNormalCxSpMiddle«>Функции интерфейсных объектов и прикладных |
|
объектов</p> |
|
</td> |
|
|
|
</tr> |
|
<tr> |
|
<td valign=»top«> |
|
<p class=»MsoNormalCxSpMiddle«>F() (синяя)</p> |
|
</td> |
|
|
|
<td valign=»top«> |
|
<p class=»MsoNormalCxSpMiddle«>Экспортируемые функции других модулей</p> |
|
</td> |
|
|
|
</tr> |
|
<tr> |
|
<td valign=»top«> |
|
<p class=»MsoNormalCxSpMiddle«>F() (красная)</p> |
|
</td> |
|
|
|
<td valign=»top«> |
|
<p class=»MsoNormalCxSpMiddle«>Локальные функции модуля</p> |
|
</td> |
|
|
|
</tr> |
|
<tr> |
|
<td valign=»top«> |
|
<p class=»MsoNormalCxSpMiddle«>Цветные<br> |
|
строки</p> |
|
</td> |
|
|
|
<td valign=»top«> |
|
<p class=»MsoNormalCxSpMiddle«>Ключевые слова (<span class=»Term«>Если</span>, <span class=»Term«>Цикл</span>, <span class=»Term«>Попытка</span> и др.)</p> |
|
</td> |
|
|
|
</tr> |
|
<tr> |
|
<td valign=»top«> |
|
<p class=»MsoNormalCxSpMiddle«>Картинка<br> |
|
шаблонов</p> |
|
</td> |
|
|
|
<td valign=»top«> |
|
<p class=»MsoNormalCxSpMiddle«>Шаблон текста</p> |
|
</td> |
|
|
|
</tr> |
|
</table> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Шаблон |
|
текста включается в список только в том случае, если в нем определена строка |
|
автозамены.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Если |
|
в результате набора или после выбора из списка текст будет представлять |
|
выражение, имеющее свойства или методы, то после ввода символа «<span class=»Interface«>.</span>» на экран |
|
автоматически будет выведен список, содержащий возможный набор свойств и |
|
методов, предоставляемых данным выражением.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Например, |
|
при вводе текста «<span class=»Interface«>Справочники.</span>» |
|
выводится список, содержащий наименования всех справочников, описанных в данной |
|
конфигурации. После выбора конкретного справочника и ввода символа «<span class=»Interface«>.</span>» на экран снова |
|
будет выведен список, но, в отличие от предыдущего, в нем будут содержаться |
|
наименования процедур и функций работы со справочником, а также предопределенные |
|
элементы справочника. При выборе метода, возвращающего значение некоторого |
|
типа, также имеющего свойства и методы, контекстный ввод может быть продолжен |
|
(нужно в конце наименования ввести открывающую и закрывающую скобки). Список |
|
контекстной подсказки содержит только возможный набор, определяемый типом |
|
введенного выражения.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Для |
|
переменных модулей также можно использовать механизм контекстной подсказки. При использовании объявления переменных следует помнить о |
|
следующей особенности: для того, чтобы явно объявленные переменные попадали в |
|
контекстную подсказку, каждая переменная доллжна быть оформлена «своим» |
|
оператором <span class=»Term«>Перем</span> |
|
(см. <A href=»/db/content/v8310doc/src/руководство разработчика/глава 4. встроенный язык.htm?_=1496848987#_ref395796162«>здесь</a>). В противном случае контекстная подсказка будет |
|
отображать только первую переменную из каждого оператора <span class=»Term«>Перем</span>. |
|
В следующем примере будут отображаться все объявленные переменные:</p> |
|
|
|
<a class=»copy_source» href=»#_top» onClick=»return false«>Копировать в буфер обмена</a> |
|
<pre class=»src_res«> |
|
Перем ИмяМакета; |
|
Перем СкрыватьСкидку; |
|
Перем СальдоВзаиморасчетов; |
|
</pre> |
|
|
|
<p class=»MsoNormal«>В следующем примере контекстная подсказка |
|
будет отображать только одну переменную: <span class=»Term«>ИмяМакета</span>:</p> |
|
|
|
<a class=»copy_source» href=»#_top» onClick=»return false«>Копировать в буфер обмена</a> |
|
<pre class=»src_res«>Перем ИмяМакета, СкрыватьСкидку, СальдоВзаиморасчетов;</pre> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Контекстная |
|
подсказка может использоваться при вводе оператора <span class=»Term«>Новый</span>, а также для переменных, созданных с помощью |
|
оператора <span class=»Term«>Новый</span>.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Контекстная |
|
подсказка может использоваться при вводе различных ключевых слов (например, <span class=»Term«>Если</span>, <span class=»Term«>Для</span>, <span class=»Term«>Цикл</span> и др.). Ключевые слова входят в список, |
|
вызываемый стандартным образом нажатием комбинации клавиш <span class=»Interface«>Ctrl + <клавиша |
|
Пробел></span> на любой стадии набора слова.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Показ |
|
в списке ключевых слов можно настроить (см. <A href=»/db/content/v8310doc/src/руководство разработчика/глава 33. сервисные возможности.htm?_=1496848987#_ref217356805«>здесь</a>).</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Если |
|
для какой-либо переменной или метода список состоит только из одной строчки, то |
|
нажатие комбинации клавиш <span class=»Interface«>Ctrl + <клавиша |
|
Пробел></span> приводит к непосредственной вставке этой строки.</p> |
|
|
|
<p class=»Regularbeforepicture«>Контекстная |
|
подсказка также позволяет отображать перечень параметров какого-либо метода и |
|
его тип. Параметры отображаются как для объектов глобального контекста и |
|
объектов встроенного языка, так и для методов прикладного решения, описание |
|
которых соответствует определенным требованиям. Для |
|
операторов встроенного языка контекстная подсказка по параметрам не |
|
отображается. Отображение параметров начинается после ввода символов "<span class=»Interface«>(</span>" или |
|
"<span class=»Interface«>,</span>" (можно |
|
настроить, подробнее см. <A href=»/db/content/v8310doc/src/руководство разработчика/глава 33. сервисные возможности.htm?_=1496848987#_ref217356805«>здесь</a>) или после нажатия комбинации клавиш <span class=»Interface«>Ctrl + Shift + <клавиша |
|
Пробел></span>, если она нажата после символа "<span class=»Interface«>(</span>" вызова |
|
процедуры или функции.</p> |
|
|
|
<p class=»Picture«><IMG src=»_img/img00502.gif?_=1496848987» WIDTH=»735» ALT HEIGHT=»222«></p> |
|
|
|
<p class=»MsoCaption«>Рис. |
|
494. Контекстная подсказка параметров</p> |
|
|
|
<p class=»Regularbeforepicture«>Если |
|
у метода есть несколько вариантов синтаксиса, то будет отображен первый по |
|
порядку вариант. Однако перед описанием синтаксиса будут присутствовать стрелки |
|
вверх и вниз, с помощью которых можно переключаться между различными вариантами. |
|
Переключаться можно также с помощью клавиш <span class=»Interface«>Ctrl + <Стрелка |
|
вверх></span> и <span class=»Interface«>Ctrl + <Стрелка |
|
вниз></span>.</p> |
|
|
|
<p class=»Picture«><IMG src=»_img/img00503.gif?_=1496848987» WIDTH=»503» ALT HEIGHT=»168«></p> |
|
|
|
<p class=»MsoCaption«>Рис. |
|
495. Несколько вариантов синтаксиса в контекстной подсказке |
|
параметров</p> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Под |
|
описанием параметра отображается тип значения, которое можно передавать в этот |
|
параметр. Если значение может быть нескольких типов, эти типы будут перечислены |
|
через запятую. Имя типа является гиперссылкой, нажатие на которую приведет к |
|
открытию синтакс-помощника (см. <A href=»/db/content/v8310doc/src/руководство разработчика/глава 33. сервисные возможности.htm?_=1496848987#_ref223167849«>здесь</a>) с информацией о типе. Контекстная подсказка |
|
параметров закрывается после ввода символа "<span class=»Interface«>)</span>" или |
|
нажатия клавиши <span class=»Interface«>Esc</span> при |
|
открытом окне контекстной подсказки параметров.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Для |
|
того чтобы контекстная подсказка показывала описание параметров и их типы для |
|
методов прикладного решения, перед началом метода должен располагаться |
|
комментарий, выполненный по определенным правилам. В общем случае, описание процедуры |
|
или функции состоит из следующих секций:</p> |
|
|
|
<p class=»MsoListBulletCxSpFirst«>● |
|
секция <span class=»Interface«>Описание</span> – |
|
содержит краткое описание назначения и/или принципов работы процедуры или функции, |
|
может быть единственной секцией для функций без параметров;</p> |
|
|
|
<p class=»MsoListBulletCxSpMiddle«>● |
|
секция <span class=»Interface«>Параметры</span> – |
|
описывает параметры процедуры или функции. Если параметров нет – секция |
|
пропускается;</p> |
|
|
|
<p class=»MsoListBulletCxSpMiddle«>● |
|
секция <span class=»Interface«>Возвращаемое значение</span> – |
|
описывает тип и содержание возвращаемого значения функции. Для процедур эта |
|
секция отсутствует;</p> |
|
|
|
<p class=»MsoListBulletCxSpLast«>● |
|
секция <span class=»Interface«>Пример</span> – содержит |
|
пример использования процедуры или функции.</p> |
|
|
|
<p class=»MsoNormal«>Общий |
|
формат комментария следующий:</p> |
|
|
|
<a class=»copy_source» href=»#_top» onClick=»return false«>Копировать в буфер обмена</a> |
|
<pre class=»src_res«> |
|
<Комментарий> = |
|
[<СекцияЗаголовка>] |
|
[<СекцияПараметров>] |
|
[<СекцияВозвращаемогоЗначения>] |
|
[<СекцияПримера>] |
|
<НоваяСтрока> = Начало строки модуля |
|
<Имя> = Идентификатор встроенного языка |
|
<Тип> = <Имя> | <Имя>"."<Имя> |
|
<СписокТипов> = <Тип>{","<Тип>} |
|
<СтрокаТекста> = Произвольный текст без перевода на другую строку |
|
<Текст> = <СтрокаТекста> {<НоваяСтрока> <СтрокаТекста>} |
|
<СекцияЗаголовка> = [<Текст>] |
|
<СекцияПараметров> = <НоваяСтрока> ("Параметры:" | "Parameters:") {<ОписаниеПараметра> {<ОписаниеТипа>} } |
|
<ОписаниеПараметра> = <НоваяСтрока> <Имя> ["-" <СписокТипов>] "-" [<Текст>] |
|
<ОписаниеТипа> = <НоваяСтрока> "-" <СписокТипов>] "-" [<Текст>] |
|
<СекцияВозвращаемогоЗначения> = <НоваяСтрока> ("Возвращаемое значение:" | "Returns:") <ОписаниеЗначения> |
|
<ОписаниеЗначения> = <НоваяСтрока> [<СписокТипов> "-"] [<Текст>] |
|
<СекцияПримера> = <НоваяСтрока> ("Пример:" | "Sample:") <НоваяСтрока> <Текст> |
|
</pre> |
|
|
|
<p class=»Regularbeforepicture«>В результате, комментарий перед началом |
|
процедуры или функции, оформленный в соответствии с описанным форматом, приведет |
|
к тому, что контекстная подсказка параметров методов будет адекватно показывать |
|
подсказку для метода прикладного решения.</p> |
|
|
|
<p class=»Picture«><IMG src=»_img/img00504.gif?_=1496848987» WIDTH=»800» ALT HEIGHT=»235«></p> |
|
|
|
<p class=»MsoCaption«>Рис. 496. Контекстная подсказка |
|
параметров методов прикладного решения</p> |
|
|
|
<p class=»MsoNormal«>Таким |
|
образом, механизм контекстной подсказки текстового редактора системы «1С:Предприятие» |
|
предоставляет способ быстрого и правильного набора текстов модулей.</p> |
|
|
|
<a name=»_ref371683520«></a><a id=»TI000001308» class=»bookmark» name=»issogl3_27.2.1.7_средства_рефакторинга«><h4>27.2.1.7. Средства рефакторинга</h4></a> |
|
|
|
<a id=»TI000001832» class=»bookmark» name=»issogl4_27.2.1.7.1_общая_информация«><h5>27.2.1.7.1. Общая информация</h5></a> |
|
|
|
<p class=»MsoNormalCxSpFirst«><span class=»Bold«>Рефакторинг</span> – процесс |
|
переработки кода на встроенном языке с целью добиться улучшения читаемости кода |
|
и общей внутренней структуры при полном и точном сохранении изначального смысла |
|
и поведения. Конфигуратор предлагает несколько встроенных инструментов, которые |
|
могут помочь при проведении рефакторинга прикладного решения. Доступ к этим |
|
инструментам выполняется с помощью подменю <span class=»Interface«>Рефакторинг</span> контекстного меню редактора текста |
|
встроенного языка или с помощью одноименного подменю меню <span class=»Interface«>Текст</span> главного меню конфигуратора.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Далее средства рефакторинга будут |
|
рассмотрены более подробно. В этом рассмотрении будут использоваться следующие |
|
термины:</p> |
|
|
|
<p class=»MsoListBulletCxSpFirst«>● |
|
<span class=»Bold«>Блок</span> – множество |
|
строк между ключевыми словами <span class=»Term«>Тогда</span>…<span class=»Term«>КонецЕсли</span>, |
|
<span class=»Term«>Тогда</span>…<span class=»Term«>Иначе</span>, |
|
<span class=»Term«>Тогда</span>…<span class=»Term«>ИначеЕсли</span>, |
|
<span class=»Term«>Цикл</span>…<span class=»Term«>КонецЦикла</span>, |
|
<span class=»Term«>Попытка</span>…<span class=»Term«>Исключение</span>, |
|
<span class=»Term«>Исключение</span>…<span class=»Term«>КонецПопытки</span>, |
|
<span class=»Term«>Процедура</span>…<span class=»Term«>КонецПроцедуры</span>, |
|
<span class=»Term«>Функция</span>…<span class=»Term«>КонецФункции</span>;</p> |
|
|
|
<p class=»MsoListBulletCxSpLast«>● |
|
<span class=»Bold«>Терминальный вызов</span> – |
|
вызов, являющийся последней выполняемой инструкцией метода встроенного языка:</p> |
|
|
|
<p class=»MsoListBullet2CxSpFirst«>● |
|
Располагается перед ключевым словом <span class=»Term«>КонецПроцедуры</span>, |
|
<span class=»Term«>КонецФункции</span> |
|
или <span class=»Term«>Возврат</span>;</p> |
|
|
|
<p class=»MsoListBullet2CxSpLast«>● |
|
Является последним в рекурсивно-последнем блоке |
|
инструкций метода.</p> |
|
|
|
<p class=»MsoListBullet«>● |
|
<span class=»Bold«>Асинхронный метод</span> – |
|
метод, который может использоваться в цепочках вызовов с использованием |
|
обработчиков оповещений.</p> |
|
|
|
<a name=»_ref373334311«></a><a id=»TI000001309» class=»bookmark» name=»issogl4_27.2.1.7.2_выделить_фрагмент«><h5>27.2.1.7.2. Выделить фрагмент</h5></a> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Данная команда преобразует |
|
выделенный, синтаксически целостный, фрагмент кода в отдельную процедуру или |
|
функцию. Тип выделяемого фрагмента зависит от итоговых областей видимости |
|
переменных родительского метода и структуры фрагмента.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>В том случае, когда выделенный фрагмент |
|
может выступать источником в операторе присваивания (см. <A href=»/db/content/v8310doc/src/руководство разработчика/глава 4. встроенный язык.htm?_=1496848987#_ref371692195«>здесь</a>), фрагмент будет выделен как функция. Так же в |
|
функцию выделяется фрагмент, в котором инициализируется единственная |
|
переменная, которая используется в оставшейся части родительского метода. В |
|
остальных случаях фрагмент выделяется в процедуру.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>В случае использования переменных выделяемого |
|
фрагмента в оставшейся части родительского метода, эти переменные передаются |
|
выделяемому методу в виде параметров, с их предварительной инициализацией или |
|
объявлением (при наличии такой необходимости).</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Если |
|
родительский метод (<span class=»Bold«>из</span> которого выделяется фрагмент) |
|
предваряется какой-либо директивой компиляции (см. <A href=»/db/content/v8310doc/src/руководство разработчика/глава 4. встроенный язык.htm?_=1496848987#_ref371693648«>здесь</a>), то выделяемый метод также будет предваряться точно |
|
такой же директивой компиляции.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Код |
|
нового метода размешается сразу после кода родительского метода (из которого |
|
выделяется фрагмент) и соответствующим образом форматируется |
|
(см. <a href=»#_ref401225227«>здесь</a>).</p> |
|
|
|
<a name=»_ref420333675«></a><a id=»TI000001310» class=»bookmark» name=»issogl4_27.2.1.7.3_переименовать«><h5>27.2.1.7.3. Переименовать</h5></a> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Данная |
|
команда предназначена для изменения имени переменной или метода. Если |
|
обращение к экспортной переименуемой переменной или методу нельзя определить |
|
однозначно, то переименование не выполняется и выводится список использования переменной |
|
или метода.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Для экспортных переменных и методов модуля |
|
формы производится анализ уникальности идентификатора в рамках всей конфигурации |
|
и отсутствия синонимов среди методов и свойств объектов платформы. В случае |
|
выполнения этого условия пользователю предлагается возможность глобальной |
|
замены идентификатора во всех местах его возможного использования.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Переименование параметра метода не приводит |
|
к изменению имени этого параметра в комментариях, включая и описание метода |
|
(созданное любым образом).</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>В случае переименования методов выполняется дополнительная |
|
проверка передачи их имени в качестве строкового литерала:</p> |
|
|
|
<p class=»MsoListBullet«>● |
|
в конструкторы объектов:</p> |
|
|
|
<p class=»MsoListBullet2CxSpFirst«>● |
|
<span class=»Term«>Действие</span>;</p> |
|
|
|
<p class=»MsoListBullet2CxSpLast«>● |
|
<span class=»Term«>ОписаниеОповещения</span>.</p> |
|
|
|
<p class=»MsoListBullet«>● |
|
методы глобального контекста:</p> |
|
|
|
<p class=»MsoListBullet2CxSpFirst«>● |
|
<span class=»Term«>УстановитьДействие()</span>;</p> |
|
|
|
<p class=»MsoListBullet2CxSpMiddle«>● |
|
<span class=»Term«>ПодключитьОбработчикИзмененияДанных()</span>;</p> |
|
|
|
<p class=»MsoListBullet2CxSpMiddle«>● |
|
<span class=»Term«>ОтключитьОбработчикОжидания()</span>;</p> |
|
|
|
<p class=»MsoListBullet2CxSpMiddle«>● |
|
<span class=»Term«>ПодключитьОбработчикОжидания()</span>;</p> |
|
|
|
<p class=»MsoListBullet2CxSpLast«>● |
|
<span class=»Term«>ПодключитьОбработчикОповещения()</span>.</p> |
|
|
|
<p class=»MsoNormal«>Переименование метода-обработчика в модуле |
|
формы приводит к автоматически замене ссылки на переименуемый обработчик в |
|
соответствующих свойствах элементов формы и командах. Когда выполняется |
|
переименование метода-обработчика из палитры свойств элемента формы или команды – |
|
автоматически переименовываются все вызовы данного обработчика из программного |
|
кода (если таковые встречаются).</p> |
|
|
|
<a id=»TI000001311» class=»bookmark» name=»issogl4_27.2.1.7.4_создать_описание_метода«><h5>27.2.1.7.4. Создать описание метода</h5></a> |
|
|
|
<p class=»MsoNormal«>Команда создает перед объявлением метода |
|
комментарий, который будет использоваться для контекстной подсказки при вводе |
|
текста модулей (см. <a href=»#_ref371695051«>здесь</a>).</p> |
|
|
|
<a id=»TI000001339» class=»bookmark» name=»issogl4_27.2.1.7.5_создать_обработку_оповещения«><h5>27.2.1.7.5. Создать обработку оповещения</h5></a> |
|
|
|
<p class=»MsoNormal«>Данная команда предназначена для упрощения |
|
применения асинхронных методов встроенного языка (см. <A href=»/db/content/v8310doc/src/руководство разработчика/глава 4. встроенный язык.htm?_=1496848987#_ref405477267«>здесь</a>). Команда становится доступной после того, как |
|
введено имя метода и открывающая круглая скобка (курсор должен располагаться на |
|
имени метода). Дальнейшее поведение команды эквивалентно поведению команды |
|
рефакторинга <span class=»Interface«>Преобразовать вызов</span>, за исключением переименования |
|
метода, к которому применена команда рефакторинга. Если метод уже содержит |
|
передачу объекта типа <span class=»Term«>ОписаниеОповещения</span>, |
|
то перед продолжением работы пользователю предлагается подтвердить выполнение |
|
команды.</p> |
|
|
|
<a name=»_ref400540074«></a><a id=»TI000001320» class=»bookmark» name=»issogl4_27.2.1.7.6_работа_с_нерекомендуемыми_синхронными_вызовами«><h5>27.2.1.7.6. Работа с нерекомендуемыми синхронными вызовами</h5></a> |
|
|
|
<a id=»TI000001833» class=»bookmark» name=»issogl5_общая_информация«><h6>Общая информация</h6></a> |
|
|
|
<p class=»MsoNormal«>Данный раздел описывает команды |
|
рефакторинга, которые помогают при переработке кода прикладного решения для |
|
использования асинхронных вызовов взамен синхронных вызовов (см. <A href=»/db/content/v8310doc/src/руководство разработчика/глава 4. встроенный язык.htm?_=1496848987#_ref400551070«>здесь</a>).</p> |
|
|
|
<a name=»_ref373246646«></a><a id=»TI000001312» class=»bookmark» name=»issogl5_преобразовать_вызов«><h6>Преобразовать вызов</h6></a> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Команда |
|
заменяет тривиальные и простые случаи использования синхронных методов на |
|
их асинхронные аналоги (см. <A href=»/db/content/v8310doc/src/руководство разработчика/глава 4. встроенный язык.htm?_=1496848987#_ref400551070«>здесь</a>).</p> |
|
|
|
<p class=»MsoNormalCxSpLast«><span class=»Bold«>Тривиальным</span> |
|
считается случай, преобразование которого затрагивает только один метод и не |
|
требует операций, отличных от выделения фрагмента. При наличии следующих |
|
признаков, использование модального вызова считается тривиальным:</p> |
|
|
|
<p class=»MsoListNumberCxSpFirst«>1. |
|
Вызов расположен в процедуре, не вызываемой из |
|
других процедур и функций, за исключением рекурсивно-терминальных вызовов. При |
|
анализе на терминальность допустима неопределенность принадлежности вызывающих |
|
методов. Если данный признак не наблюдается, то случай может быть простым или |
|
требовать преобразование в асинхронную процедуру (см. <a href=»#_ref373333924«>здесь</a>).</p> |
|
|
|
<p class=»MsoListNumberCxSpMiddle«>2. |
|
Вызов расположен вне блоков цикла, за |
|
исключением случая инструкций <span class=»Term«>Прервать</span> |
|
или <span class=»Term«>Возврат</span>, |
|
следующих на том же уровне вложенности.</p> |
|
|
|
<p class=»MsoListNumberCxSpMiddle«>3. |
|
Вызов расположен вне блоков перехвата исключения.</p> |
|
|
|
<p class=»MsoListNumberCxSpMiddle«>4. |
|
Уровень вложенности модального вызова не превышает |
|
2, за исключением рекурсивно-последних инструкций блока. Уровень вложенности |
|
модального вызова можно уменьшить с помощью команды выделения фрагмента (см. <a href=»#_ref373334311«>здесь</a>). Если выделяемый фрагмент содержит оператор <span class=»Term«>Возврат</span>, |
|
то для выделения такого фрагмента следует использовать команду выделения |
|
фрагмента в асинхронную процедуру (см. <a href=»#_ref373334775«>здесь</a>).</p> |
|
|
|
<p class=»MsoListNumberCxSpLast«>5. |
|
Параметры процедуры не изменяются после вызова |
|
модального диалога – ни в самой процедуре, ни в одном из вложенных вызовов.</p> |
|
|
|
<p class=»MsoNormalCxSpFirst«><span class=»Bold«>Простым</span> считается |
|
случай, не удовлетворяющий только первому условию тривиальности и, требующий |
|
дополнительно только преобразование процедуры или функции, содержащей синхронный |
|
вызов в асинхронный вид. При обнаружении такого синхронного вызова, и если |
|
такое преобразование возможно, система автоматически предлагает выполнить |
|
преобразование в асинхронную процедуру (см. <a href=»#_ref373334775«>здесь</a>).</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Результатом преобразования являются:</p> |
|
|
|
<p class=»MsoListBulletCxSpFirst«>● |
|
Исходная процедура с заменой синхронного вызова |
|
на асинхронный вызов;</p> |
|
|
|
<p class=»MsoListBulletCxSpMiddle«>● |
|
Процедура обработки оповещения. Если синхронный |
|
вызов являлся последней инструкцией родительского блока – решение о |
|
создании пустой процедуры принимает пользователь</p> |
|
|
|
<p class=»MsoListBulletCxSpLast«>● |
|
Фрагмент-окончание – общий для исходной |
|
процедуры и процедуры обработки оповещения код, в случае, когда вызов синхронного |
|
метода не входит в единственную последовательность выполнения кода.</p> |
|
|
|
<p class=»MsoNormal«>Если случай не соответствует одному или |
|
нескольким требованиям, пользователю предоставляется возможность выполнить частичное |
|
преобразование: максимальный синтаксически-корректный фрагмент кода будет |
|
выделен в процедуру обработки оповещения, и после вызова асинхронного метода |
|
будет вызвано исключение. В код модуля будет так же добавлен комментарий с описанием |
|
причин несоответствия.</p> |
|
|
|
<a name=»_ref373333924«></a><a id=»TI000001313» class=»bookmark» name=»issogl5_преобразовать_в_асинхронную_процедуру«><h6>Преобразовать в асинхронную процедуру</h6></a> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Команда используется для преобразования метода к виду, который допускает |
|
использование метода в асинхронных вызовах. Преобразование затрагивает все уже |
|
существующие последовательности вызовов с участием выбранного метода, |
|
однако методы, которые вызываются из преобразуемого метода, не подвергаются |
|
преобразованию. Данную команду следует применять в тех случаях, когда |
|
необходимо преобразовать модальный вызовы (один или несколько) внутри функции |
|
или процедуры, вызываемой из других методов. После выполнения данной команды |
|
будет необходимо преобразовать модальный вызов в его блокирующий аналог с |
|
помощью команды преобразования модального вызова (см. <a href=»#_ref373246646«>здесь</a>).</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Преобразование |
|
методов, изменяющих свои ссылочные параметры, не |
|
поддерживается в целях предотвращения труднодиагностируемых логических ошибок. |
|
Также не поддерживается преобразование |
|
последовательностей вызовов, содержащих непосредственный вызов процедур |
|
обработки событий форм и объектов метаданных в связи со строго фиксированным |
|
списком их формальных параметров. Если преобразование затрагивает несколько |
|
модулей – от пользователя требуется дополнительное подтверждение.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Рассмотрим пример преобразования вызова в |
|
асинхронный вид.</p> |
|
|
|
<p class=»Note«><span class=»Note«>Примечание.</span> Данный пример служит |
|
исключительно для демонстрации процесса преобразования и не является примером |
|
выполнения каких-либо действий.</p> |
|
|
|
<p class=»MsoNormal«>Допустим, в модуле формы имеется следующая |
|
цепочка вызовов:</p> |
|
|
|
<a class=»copy_source» href=»#_top» onClick=»return false«>Копировать в буфер обмена</a> |
|
<pre class=»src_dev«><span class=»preprocessor«>&НаКлиенте</span> |
|
<span class=»keyword«>Перем</span> ПроцедураВыполнена<span class=»operator«>;</span> |
|
<span class=»preprocessor«>&НаКлиенте</span> |
|
<span class=»keyword«>Перем</span> ФункцияВыполнена<span class=»operator«>;</span> |
|
<span class=»preprocessor«>&НаКлиенте</span> |
|
<span class=»keyword«>Процедура</span> КомандаФормы<span class=»operator«>(</span>Команда<span class=»operator«>)</span> |
|
ПроцедураВыполнена <span class=»operator«>=</span> <span class=»keyword«>Ложь</span><span class=»operator«>;</span> |
|
ФункцияВыполнена <span class=»operator«>=</span> <span class=»keyword«>Ложь</span><span class=»operator«>;</span> |
|
ВыполнитьПроцедуру<span class=»operator«>(</span><span class=»operator«>)</span><span class=»operator«>;</span> |
|
<span class=»keyword«>КонецПроцедуры</span> |
|
<span class=»preprocessor«>&НаКлиенте</span> |
|
<span class=»keyword«>Процедура</span> ВыполнитьПроцедуру<span class=»operator«>(</span><span class=»operator«>)</span> |
|
Результат <span class=»operator«>=</span> ВыполнитьФункцию<span class=»operator«>(</span><span class=»operator«>)</span><span class=»operator«>;</span> |
|
ПроцедураВыполнена <span class=»operator«>=</span> <span class=»keyword«>Истина</span><span class=»operator«>;</span> |
|
<span class=»keyword«>КонецПроцедуры</span> |
|
<span class=»preprocessor«>&НаКлиенте</span> |
|
<span class=»keyword«>Функция</span> ВыполнитьФункцию<span class=»operator«>(</span><span class=»operator«>)</span> |
|
ПоказатьДиалог<span class=»operator«>(</span><span class=»operator«>)</span><span class=»operator«>;</span> |
|
ФункцияВыполнена <span class=»operator«>=</span> <span class=»keyword«>Истина</span><span class=»operator«>;</span> |
|
<span class=»keyword«>Возврат</span> <span class=»keyword«>Истина</span><span class=»operator«>;</span> |
|
<span class=»keyword«>КонецФункции</span> |
|
<span class=»preprocessor«>&НаКлиенте</span> |
|
<span class=»keyword«>Процедура</span> ПоказатьДиалог<span class=»operator«>(</span><span class=»operator«>)</span> |
|
Предупреждение<span class=»operator«>(</span><span class=»string«>"Предупреждение!"</span><span class=»operator«>)</span><span class=»operator«>;</span> |
|
<span class=»keyword«>КонецПроцедуры</span> </pre> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Выполнять преобразование следует для метода <span class=»Term«>ПоказатьДиалог()</span>.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Цепочка вызовов начинается при вызове из |
|
обработчика команды формы (процедура <span class=»Term«>КомандаФормы()</span>) |
|
процедуры <span class=»Term«>Процедура1()</span>. |
|
Действия, выполняемые в методах <span class=»Term«>ВыполнитьПроцедуру()</span> |
|
и <span class=»Term«>ВыполнитьФункцию()</span> |
|
в данном примере являются демонстрацией наличия некоторого программного кода |
|
после вызова другой процедуры.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Цепочка вызовов выглядит следующим образом: <span class=»Term«>КомандаФормы()</span> |
|
-> <span class=»Term«>ВыполнитьПроцедуру()</span> |
|
-> <span class=»Term«>ВыполнитьФункцию()</span> |
|
-> <span class=»Term«>ПоказатьДиалог()</span>.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Т.к. в самом «низу» стека вызовов вызывается |
|
модальный диалог, то всю цепочку вызовов методов необходимо преобразовать к |
|
асинхронному виду. Метод <span class=»Term«>Предупреждение()</span> |
|
может быть заменен на асинхронный аналог, для других процедур этот аналог будет |
|
создаваться системой.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Выполним преобразование метода <span class=»Term«>ПоказатьДиалог()</span> |
|
и отказаться от предложения создания пустых обработчиков оповещения. В |
|
результате получится следующий программный код:</p> |
|
|
|
<a class=»copy_source» href=»#_top» onClick=»return false«>Копировать в буфер обмена</a> |
|
<pre class=»src_dev«><span class=»preprocessor«>&НаКлиенте</span> |
|
<span class=»keyword«>Перем</span> ПроцедураВыполнена<span class=»operator«>;</span> |
|
<span class=»preprocessor«>&НаКлиенте</span> |
|
<span class=»keyword«>Перем</span> ФункцияВыполнена<span class=»operator«>;</span> |
|
<span class=»preprocessor«>&НаКлиенте</span> |
|
<span class=»keyword«>Процедура</span> КомандаФормы<span class=»operator«>(</span>Команда<span class=»operator«>)</span> |
|
ПроцедураВыполнена <span class=»operator«>=</span> <span class=»keyword«>Ложь</span><span class=»operator«>;</span> |
|
ФункцияВыполнена <span class=»operator«>=</span> <span class=»keyword«>Ложь</span><span class=»operator«>;</span> |
|
ВыполнитьПроцедуру<span class=»operator«>(</span><span class=»keyword«>Неопределено</span><span class=»operator«>)</span><span class=»operator«>;</span> |
|
<span class=»keyword«>КонецПроцедуры</span> |
|
<span class=»preprocessor«>&НаКлиенте</span> |
|
<span class=»keyword«>Процедура</span> ВыполнитьПроцедуру<span class=»operator«>(</span><span class=»keyword«>Знач</span> Оповещение<span class=»operator«>)</span> |
|
Результат <span class=»operator«>=</span> <span class=»keyword«>Неопределено</span><span class=»operator«>;</span> |
|
ВыполнитьФункцию<span class=»operator«>(</span><span class=»keyword«>Новый</span> ОписаниеОповещения<span class=»operator«>(</span><span class=»string«>"ВыполнитьПроцедуруЗавершение"</span><span class=»operator«>,</span> ЭтотОбъект<span class=»operator«>,</span> <span class=»keyword«>Новый</span> Структура<span class=»operator«>(</span><span class=»string«>"Оповещение"</span><span class=»operator«>,</span> Оповещение<span class=»operator«>)</span><span class=»operator«>)</span><span class=»operator«>)</span><span class=»operator«>;</span> |
|
<span class=»keyword«>КонецПроцедуры</span> |
|
<span class=»preprocessor«>&НаКлиенте</span> |
|
<span class=»keyword«>Процедура</span> ВыполнитьПроцедуруЗавершение<span class=»operator«>(</span>Результат1<span class=»operator«>,</span> ДополнительныеПараметры<span class=»operator«>)</span> <span class=»keyword«>Экспорт</span> |
|
Оповещение <span class=»operator«>=</span> ДополнительныеПараметры<span class=»operator«>.</span>Оповещение<span class=»operator«>;</span> |
|
Результат <span class=»operator«>=</span> Результат1<span class=»operator«>;</span> |
|
ПроцедураВыполнена <span class=»operator«>=</span> <span class=»keyword«>Истина</span><span class=»operator«>;</span> |
|
ВыполнитьОбработкуОповещения<span class=»operator«>(</span>Оповещение<span class=»operator«>)</span><span class=»operator«>;</span> |
|
<span class=»keyword«>КонецПроцедуры</span> |
|
<span class=»preprocessor«>&НаКлиенте</span> |
|
<span class=»keyword«>Процедура</span> ВыполнитьФункцию<span class=»operator«>(</span><span class=»keyword«>Знач</span> Оповещение<span class=»operator«>)</span> |
|
ПоказатьДиалог<span class=»operator«>(</span><span class=»keyword«>Новый</span> ОписаниеОповещения<span class=»operator«>(</span><span class=»string«>"ВыполнитьФункциюЗавершение"</span><span class=»operator«>,</span> ЭтотОбъект<span class=»operator«>,</span> <span class=»keyword«>Новый</span> Структура<span class=»operator«>(</span><span class=»string«>"Оповещение"</span><span class=»operator«>,</span> Оповещение<span class=»operator«>)</span><span class=»operator«>)</span><span class=»operator«>)</span><span class=»operator«>;</span> |
|
<span class=»keyword«>КонецПроцедуры</span> |
|
<span class=»preprocessor«>&НаКлиенте</span> |
|
<span class=»keyword«>Процедура</span> ВыполнитьФункциюЗавершение<span class=»operator«>(</span>Результат<span class=»operator«>,</span> ДополнительныеПараметры<span class=»operator«>)</span> <span class=»keyword«>Экспорт</span> |
|
Оповещение <span class=»operator«>=</span> ДополнительныеПараметры<span class=»operator«>.</span>Оповещение<span class=»operator«>;</span> |
|
ФункцияВыполнена <span class=»operator«>=</span> <span class=»keyword«>Истина</span><span class=»operator«>;</span> |
|
ВыполнитьОбработкуОповещения<span class=»operator«>(</span>Оповещение<span class=»operator«>,</span> <span class=»keyword«>Истина</span><span class=»operator«>)</span><span class=»operator«>;</span> |
|
<span class=»keyword«>Возврат</span><span class=»operator«>;</span> |
|
<span class=»keyword«>КонецПроцедуры</span> |
|
<span class=»preprocessor«>&НаКлиенте</span> |
|
<span class=»keyword«>Процедура</span> ПоказатьДиалог<span class=»operator«>(</span><span class=»keyword«>Знач</span> Оповещение<span class=»operator«>)</span> |
|
Предупреждение<span class=»operator«>(</span><span class=»string«>"Предупреждение!"</span><span class=»operator«>)</span><span class=»operator«>;</span> |
|
ВыполнитьОбработкуОповещения<span class=»operator«>(</span>Оповещение<span class=»operator«>)</span><span class=»operator«>;</span> |
|
<span class=»keyword«>КонецПроцедуры</span> </pre> |
|
|
|
<p class=»MsoNormal«>Во время преобразования не был изменен вызов |
|
модального вызова <span class=»Term«>Предупреждение()</span> |
|
в методе <span class=»Term«>ПоказатьДиалог()</span>, т. к. |
|
замена модального вызова не является задачей описываемой команды. Также стоит |
|
отметить, что все преобразуемые методы теперь получают в качестве входного |
|
параметра описание оповещения. Теперь цепочка вызовов выглядит следующим |
|
образом: <span class=»Term«>КомандаФормы()</span> |
|
-> <span class=»Term«>ВыполнитьПроцедуру()</span> |
|
-> <span class=»Term«>ВыполнитьФункцию()</span> |
|
-> <span class=»Term«>ПоказатьДиалог()</span> |
|
-> <span class=»Term«>ВыполнитьФункциюЗавершение()</span> |
|
-> <span class=»Term«>ВыполнитьПроцедуруЗавершение()</span>. |
|
Вызов методов с суффиксом <span class=»Term«>Завершение</span> |
|
выполняется с помощью передачи оповещений.</p> |
|
|
|
<a name=»_ref373334775«></a><a id=»TI000001314» class=»bookmark» name=»issogl5_выделить_в_асинхронную_процедуру«><h6>Выделить в асинхронную процедуру</h6></a> |
|
|
|
<p class=»MsoNormal«>Данная |
|
команда преобразует выделенный, синтаксически целостный, фрагмент кода в |
|
отдельную процедуру или функцию, одновременно преобразуя выделяемый метод к |
|
асинхронному виду.</p> |
|
|
|
<a id=»TI000001317» class=»bookmark» name=»issogl5_найти_вызовы_модуля«><h6>Найти вызовы модуля</h6></a> |
|
|
|
<p class=»MsoNormal«>Команда выводит список использования нерекомендуемых |
|
синхронных методов в текущем модуле.</p> |
|
|
|
<a id=»TI000001315» class=»bookmark» name=»issogl5_преобразовать_вызовы_модуля«><h6>Преобразовать вызовы модуля</h6></a> |
|
|
|
<p class=»MsoNormal«>Команда выполняет преобразование всех |
|
тривиальных (см. <a href=»#_ref373246646«>здесь</a>) случаев использования нерекомендуемых синхронных |
|
вызовов в их асинхронные версии (см. <A href=»/db/content/v8310doc/src/руководство разработчика/глава 7. формы.htm?_=1496848987#_ref373246737«>здесь</a>). Преобразование выполняется в рамках текущего |
|
модуля.</p> |
|
|
|
<a name=»_ref448859736«></a><a id=»TI000001319» class=»bookmark» name=»issogl5__анализ_нерекомендуемых_синхронных_вызовов_конфигурации«><h6> Анализ нерекомендуемых синхронных вызовов конфигурации</h6></a> |
|
|
|
<p class=»MsoNormalCxSpFirst«>С помощью данной команды (<span class=»Interface«>Главное меню – Конфигурация – Рефакторинг – Анализ |
|
нерекомендуемых синхронных вызовов конфигурации</span>) во всей конфигурации |
|
выполняется поиск нерекомендуемых синхронных вызовов и анализ возможности их преобразования. |
|
Если в каком-то случае преобразование будет невозможно – система укажет |
|
причину этой невозможности.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Во |
|
время выполнения анализа нерекомендуемых синхронных вызовов, учитываются |
|
следующие особенности прикладного решения:</p> |
|
|
|
<p class=»MsoListBulletCxSpFirst«>● |
|
Выполняется анализ всех модулей, которые могут |
|
исполняться на стороне клиентского приложения.</p> |
|
|
|
<p class=»MsoListBulletCxSpLast«>● |
|
Не выполняется анализ модулей, которые не могут |
|
исполняться на стороне клиентского приложения:</p> |
|
|
|
<p class=»MsoListBullet2CxSpFirst«>● |
|
модули Web-сервисов;</p> |
|
|
|
<p class=»MsoListBullet2CxSpMiddle«>● |
|
модули HTTP-сервисов;</p> |
|
|
|
<p class=»MsoListBullet2CxSpMiddle«>● |
|
общие модули, которые могут исполняться только |
|
на стороне сервера;</p> |
|
|
|
<p class=»MsoListBullet2CxSpLast«>● |
|
общие модули, которые могут исполняться только |
|
во внешнем соединении.</p> |
|
|
|
<p class=»MsoListBullet«>● |
|
Выполняется анализ процедур и функций, которые |
|
предваряются следующими директивами компиляции (см. <A href=»/db/content/v8310doc/src/руководство разработчика/глава 4. встроенный язык.htm?_=1496848987#_ref371693648«>здесь</a>):</p> |
|
|
|
<p class=»MsoListBullet2CxSpFirst«>● |
|
<span class=»Term«>&НаКлиенте</span>;</p> |
|
|
|
<p class=»MsoListBullet2CxSpMiddle«>● |
|
<span class=»Term«>&НаКлиентеНаСервере</span>;</p> |
|
|
|
<p class=»MsoListBullet2CxSpLast«>● |
|
<span class=»Term«>&НаКлиентеНаСервереБезКонтекста</span>.</p> |
|
|
|
<p class=»MsoListBullet«>● |
|
Выполняется анализ фрагментов текста процедур и |
|
функций, которые обрамлены инструкциями препроцессора (см. <A href=»/db/content/v8310doc/src/руководство разработчика/глава 4. встроенный язык.htm?_=1496848987#_ref448859501«>здесь</a>):</p> |
|
|
|
<p class=»MsoListBullet2CxSpFirst«>● |
|
<span class=»Term«>Клиент</span>;</p> |
|
|
|
<p class=»MsoListBullet2CxSpMiddle«>● |
|
<span class=»Term«>ТонкийКлиент</span>;</p> |
|
|
|
<p class=»MsoListBullet2CxSpMiddle«>● |
|
<span class=»Term«>ВебКлиент</span>;</p> |
|
|
|
<p class=»MsoListBullet2CxSpMiddle«>● |
|
<span class=»Term«>ТолстыйКлиентУправляемоеПриложение</span>;</p> |
|
|
|
<p class=»MsoListBullet2CxSpLast«>● |
|
<span class=»Term«>ТолстыйКлиентОбычноеПриложение</span>.</p> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Флажок <span class=»Interface«>Отображать методы объектов неопределенного типа</span> |
|
указывает системе, что следует включать в результат поиска методы, которые |
|
являются синхронными, но однозначно нельзя определить объект, у которого они |
|
вызываются.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Если в диалоге настройки поиска выбран флажок |
|
<span class=»Interface«>Производить преобразование найденных вызовов</span>, то |
|
выполняется преобразование только тривиальных (см. <a href=»#_ref373246646«>здесь</a>) случаев использования синхронных вызовов с выводом |
|
результатов операции.</p> |
|
|
|
<a id=»TI000000943» class=»bookmark» name=»issogl3_27.2.1.8_синтаксический_контроль_модуля«><h4>27.2.1.8. Синтаксический контроль модуля</h4></a> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Редактируемый модуль может быть проверен на |
|
правильность использования синтаксических конструкций встроенного языка.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Для выполнения синтаксического контроля |
|
модуля необходимо воспользоваться пунктом <span class=»Interface«>Текст – Проверка модуля</span>.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Синтаксический контроль выполняется в |
|
следующей последовательности:</p> |
|
|
|
<p class=»MsoListBulletCxSpFirst«>● |
|
общие модули,</p> |
|
|
|
<p class=»MsoListBulletCxSpMiddle«>● |
|
модуль управляемого приложения,</p> |
|
|
|
<p class=»MsoListBulletCxSpMiddle«>● |
|
модуль объекта,</p> |
|
|
|
<p class=»MsoListBulletCxSpLast«>● |
|
модуль формы.</p> |
|
|
|
<p class=»MsoNormalCxSpFirst«>При этом контроль модулей выполняется, если |
|
модуль еще не проходил контроля или был модифицирован.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>При контроле модуля проверяются только те |
|
модули, которые в списке расположены до данного модуля. Например, при проверке |
|
модуля приложения проверяются только общие модули. Модуль внешнего соединения |
|
проверяется только при его редактировании.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>При наличии ошибок их список будет выдан в |
|
окне сообщений с указанием полного адреса месторасположения и описания ошибки. |
|
При подведении указателя мыши к строке, содержащей сообщение об ошибке, он |
|
принимает вид увеличительного стекла. Для перехода к строке модуля, вызвавшей |
|
ошибку, следует дважды щелкнуть мышью по этому сообщению. Если модуль, содержащий |
|
ошибку, закрыт, он будет открыт автоматически.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Если ошибки не обнаружены, в окно сообщений |
|
будет выдано сообщение об отсутствии ошибок в модуле.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>В режиме настройки параметров конфигуратора |
|
(пункт главного меню <span class=»Interface«>Сервис – Параметры</span>, закладка <span class=»Interface«>Модули</span>, закладка <span class=»Interface«>Проверка</span>, реквизит <span class=»Interface«>Проверять автоматически</span>) можно включить режим автоматической |
|
проверки модуля. В этом случае, если модуль был изменен, при закрытии окна |
|
модуля или при сохранении конфигурации в целом будет выполняться синтаксический |
|
контроль модуля.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Режим автоматической проверки удобно |
|
использовать, когда производится отладка какого-либо элемента конфигурации.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Для полного синтаксического контроля всех |
|
модулей конфигурации за один проход следует выбрать пункт <span class=»Interface«>Конфигурация – Синтаксический контроль модулей</span>.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>В процессе исправления ошибок в модулях |
|
можно получить подсказку по встроенному языку, вызвав синтакс-помощник и найдя |
|
в нем описание нужного элемента встроенного языка (см. <A href=»/db/content/v8310doc/src/руководство разработчика/глава 33. сервисные возможности.htm?_=1496848987#_ref223167849«>здесь</a>).</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Подсказку по конкретному элементу языка |
|
(оператору, процедуре, функции, свойству, методу) можно получить, если |
|
поместить курсор в модуле на этот элемент языка и нажать клавиши <span class=»Interface«>Ctrl + F1</span>. В синтакс-помощнике будет выдано |
|
описание выбранного элемента встроенного языка.</p> |
|
|
|
<a name=»_ref216238506«></a><a id=»TI000000944» class=»bookmark» name=»issogl3_27.2.1.9_ограничение_доступа_к_модулям_конфигурации«><h4>27.2.1.9. Ограничение доступа к модулям конфигурации</h4></a> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Для некоторых модулей можно установить |
|
пароль доступа. Основное назначение пароля – защита авторских прав разработчиков |
|
конфигураций.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>При установке пароля существуют следующие ограничения:</p> |
|
|
|
<p class=»MsoListBulletCxSpFirst«>● |
|
не защищается модуль управляемого приложения;</p> |
|
|
|
<p class=»MsoListBulletCxSpMiddle«>● |
|
не защищаются модули форм;</p> |
|
|
|
<p class=»MsoListBulletCxSpMiddle«>● |
|
не защищаются модули команд;</p> |
|
|
|
<p class=»MsoListBulletCxSpMiddle«>● |
|
не защищаются модули, включающие директивы |
|
препроцессора;</p> |
|
|
|
<p class=»MsoListBulletCxSpLast«>● |
|
не защищаются клиентские общие модули, |
|
работающие в управляемом режиме (тонкий клиент, веб-клиент и управляемый режим |
|
толстого клиента).</p> |
|
|
|
<a name=»_ref216063996«></a><a id=»TI000000945» class=»bookmark» name=»issogl4_27.2.1.9.1_установка_пароля_доступа«><h5>27.2.1.9.1. Установка пароля доступа</h5></a> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Для установки пароля нужно открыть требуемый |
|
модуль и выбрать команду <span class=»Interface«>Текст – Установить пароль</span>. Пункт доступен, если |
|
модуль открыт для записи.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Если модуль содержит директивы препроцессору, |
|
то программа выводит предупреждение: <span class=»Interface«>Защищенный модуль не должен содержать директив препроцессора. |
|
Продолжить?</span> Если нажать кнопку <span class=»Interface«>Нет</span>, то попытка установки пароля не производится. Если |
|
нажать кнопку <span class=»Interface«>Да</span>, то установка пароля становится возможной, и подразумевается, |
|
что в дальнейшем директивы будут удалены. Если директивы не удалить, то в |
|
режиме 1С:Предприятие методы такого общего модуля будут недоступны (ошибка <span class=»Interface«>Метод объекта не обнаружен <Имя метода></span>).</p> |
|
|
|
<p class=»Regularbeforepicture«>На экран выводится диалог ввода пароля.</p> |
|
|
|
<p class=»Picture«><IMG src=»_img/img00505.gif?_=1496848987» WIDTH=»277» ALT HEIGHT=»110«></p> |
|
|
|
<p class=»MsoCaption«>Рис. 497. Установка пароля на |
|
модуль</p> |
|
|
|
<p class=»MsoNormal«>Нужно ввести пароль и повторить его. Для |
|
установки пароля нажать кнопку <span class=»Interface«>ОК</span>, для отказа от установки – кнопку <span class=»Interface«>Отмена</span>.</p> |
|
|
|
<a id=»TI000000946» class=»bookmark» name=»issogl4_27.2.1.9.2_открытие_защищенного_модуля«><h5>27.2.1.9.2. Открытие защищенного модуля</h5></a> |
|
|
|
<p class=»Regularbeforepicture«>Если на модуль установлен пароль доступа, то |
|
при попытке открыть модуль выводится диалог ввода пароля.</p> |
|
|
|
<p class=»Picture«><IMG src=»_img/img00506.gif?_=1496848987» WIDTH=»346» ALT HEIGHT=»139«></p> |
|
|
|
<p class=»MsoCaption«>Рис. 498. Открытие модуля с |
|
установленным паролем</p> |
|
|
|
<p class=»MsoNormal«>Если пароль указан верно, то модуль |
|
открывается. Если введен неправильный пароль, то выводится предупреждение <span class=»Interface«>Некорректный пароль</span> и модуль не открывается.</p> |
|
|
|
<a id=»TI000000947» class=»bookmark» name=»issogl4_27.2.1.9.3_смена_пароля«><h5>27.2.1.9.3. Смена пароля</h5></a> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Для смены пароля нужно открыть модуль и выбрать |
|
команду <span class=»Interface«>Текст – Установить пароль</span>. На экран выводится |
|
диалог ввода пароля. Следует ввести прежний пароль. Если пароль введен |
|
правильно, то на экран выводится диалог ввода нового пароля (см. <a href=»#_ref216063996«>здесь</a>).</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Для снятия пароля нужно очистить поля для |
|
ввода пароля и, не вводя значения пароля, нажать кнопку <span class=»Interface«>ОК</span>.</p> |
|
|
|
<a name=»_ref219791978«></a><a name=»_ref216075442«></a><a id=»TI000000948» class=»bookmark» name=»issogl2_27.2.2_редактирование_текстовых_макетов«><h3>27.2.2. Редактирование текстовых макетов</h3></a> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Если в конструкторе макетов в качестве типа |
|
макета выбран <span class=»Interface«>Текстовый документ</span>, то открывается текстовый редактор в |
|
режиме ввода текстового макета.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Режим редактирования текстового макета также |
|
доступен для текстовых документов с установленным расширением <span class=»Interface«>Текстовый макет</span>.</p> |
|
|
|
<a id=»TI000000949» class=»bookmark» name=»issogl3_27.2.2.1_формат_текстового_макета«><h4>27.2.2.1. Формат текстового макета</h4></a> |
|
|
|
<p class=»MsoNormal«>Весь текст макета делится на области. |
|
Области должны следовать друг за другом и не могут пересекаться или включаться |
|
друг в друга. В тексте макета области выделяются следующим образом:</p> |
|
|
|
<a class=»copy_source» href=»#_top» onClick=»return false«>Копировать в буфер обмена</a> |
|
<pre class=»src_dev«><span class=»preprocessor«>#Область ХХХХХ</span> |
|
<span class=»preprocessor«>#КонецОбласти</span></pre> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Где <span class=»Term«>ХХХХХ</span> – |
|
имя области.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Конец области указывать не обязательно. |
|
Объявление начала области означает окончание предыдущей области.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Для хранения вариантов области на нескольких |
|
языках после имени области может следовать код языка, для которого написана |
|
область.</p> |
|
|
|
<a class=»copy_source» href=»#_top» onClick=»return false«>Копировать в буфер обмена</a> |
|
<pre class=»src_dev«><span class=»preprocessor«>#Область Заголовок1 RU</span> |
|
<span class=»preprocessor«>#КонецОбласти</span> |
|
<span class=»preprocessor«>#Область Заголовок1 EN</span> |
|
<span class=»preprocessor«>#КонецОбласти</span></pre> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Если для какого-либо варианта области код |
|
языка не указан, то этот вариант области будет возвращаться, когда в метод <span class=»Term«>ПолучитьОбласть()</span> |
|
передан код языка, не указанный ни в одном из вариантов описаний областей.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Каждая область состоит из служебной и |
|
текстовой частей.</p> |
|
|
|
<a class=»copy_source» href=»#_top» onClick=»return false«>Копировать в буфер обмена</a> |
|
<pre class=»src_dev«><span class=»preprocessor«>#Область ХХХХХ</span> |
|
<span class=»operator«>[</span>служебная часть<span class=»operator«>]</span> |
|
<span class=»operator«>[</span>текстовая часть<span class=»operator«>]</span> |
|
<span class=»preprocessor«>#КонецОбласти</span></pre> |
|
|
|
<a id=»TI000000950» class=»bookmark» name=»issogl3_27.2.2.2_служебная_часть_области«><h4>27.2.2.2. Служебная часть области</h4></a> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Служебная часть области не имеет явных |
|
границ. В нее входят все строки от начала области, которые начинаются специальным |
|
символом «<span class=»Term«>#</span>». |
|
В служебной части описываются поля текстового макета, используемые внутри |
|
области. Если нет надобности в служебной части, она может отсутствовать.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Управляющие конструкции текстового макета |
|
выделяются цветом.</p> |
|
|
|
<a id=»TI000000951» class=»bookmark» name=»issogl4_27.2.2.2.1_структура_служебной_части_области«><h5>27.2.2.2.1. Структура служебной части области</h5></a> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Служебная часть области состоит из описаний |
|
некоторых общих параметров области и описаний форматов полей, входящих в |
|
область. Все описания, сделанные в служебной части области, действуют только в |
|
пределах области. Если в некоторой области описан формат поля и оно же |
|
встречается в другой области без описания формата, для него в другой области |
|
будет использоваться формат по умолчанию.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>В начале служебной части области может |
|
следовать ключевое слово общей области <span class=»Term«>#ЗаменаСимвола |
|
A B</span>. С его помощью будет производиться замена символов внутри |
|
строк области;</p> |
|
|
|
<p class=»MsoListBulletCxSpFirst«>● |
|
<span class=»Term«>A</span> – символ, который будет заменен;</p> |
|
|
|
<p class=»MsoListBulletCxSpLast«>● |
|
<span class=»Term«>B</span> – символ, которым будет заменен символ <span class=»Term«>A</span>.</p> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Символы должны быть заключены в одинарные |
|
кавычки.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Например, если написать <span class=»Term«>#ЗаменаСимвола |
|
"@" "#"</span>, то внутри строк символы «<span class=»Term«>@</span>», |
|
не входящие в названия полей, будут заменены на «<span class=»Term«>#</span>».</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Имеет смысл использовать данное ключевое |
|
слово в тех случаях, когда в оформление строк макета должен входить символ # |
|
(его непосредственное использование указывало бы на служебный характер текста).</p> |
|
|
|
<a id=»TI000000952» class=»bookmark» name=»issogl4_27.2.2.2.2_описания_полей«><h5>27.2.2.2.2. Описания полей</h5></a> |
|
|
|
<p class=»MsoNormalCxSpFirst«>После описания замены следует описание |
|
форматов полей, используемых в области.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Поле создается с помощью ключевого слова <span class=»Term«>#Поле ПППП</span>, |
|
где <span class=»Term«>ПППП</span> – |
|
имя поля, формат которого будет описываться.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Далее на следующих строках размещаются |
|
ключевые слова для описания поля. Описание поля действует до начала описания |
|
следующего поля.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«><span class=»Term«>#Выравнивание {Лево | Право | Центр | ПоШирине}</span> – |
|
указывает выравнивание поля в пределах отведенных для него знакомест.</p> |
|
|
|
<a class=»copy_source» href=»#_top» onClick=»return false«>Копировать в буфер обмена</a> |
|
<pre class=»src_dev«><span class=»preprocessor«>#Поле ВидРаботы</span> |
|
<span class=»preprocessor«>#Выравнивание ПоШирине</span></pre> |
|
|
|
<p class=»MsoNormal«><span class=»Term«>#Формат <Форматная строка></span> – указывает |
|
форматную строку для вывода поля.</p> |
|
|
|
<a class=»copy_source» href=»#_top» onClick=»return false«>Копировать в буфер обмена</a> |
|
<pre class=»src_dev«><span class=»preprocessor«>#Поле Дата1</span> |
|
<span class=»preprocessor«>#Формат "ДФ=dd.MM.yy"</span> |
|
<span class=»preprocessor«>#Поле Вр1</span> |
|
<span class=»preprocessor«>#Формат "ЧЦ=4; ЧДЦ=0; ЧРД=."</span></pre> |
|
|
|
<p class=»MsoNormal«><span class=»Term«>#Забивать <Параметр></span> – указывает |
|
необходимость забивки области, отведенной для поля, символами «<span class=»Term«>#</span>». |
|
Если <span class=»Term«><Параметр> |
|
= Истина</span> и содержимое поля не помещается в отведенное место, |
|
будет выполняться забивка.</p> |
|
|
|
<a class=»copy_source» href=»#_top» onClick=»return false«>Копировать в буфер обмена</a> |
|
<pre class=»src_dev«><span class=»preprocessor«>#Поле ИтогОтчета</span> |
|
<span class=»preprocessor«>#Формат "ЧЦ=18; ЧДЦ=2; ЧРД=."</span> |
|
<span class=»preprocessor«>#Забивать Истина</span></pre> |
|
|
|
<a id=»TI000000953» class=»bookmark» name=»issogl3_27.2.2.3_текстовая_часть_области«><h4>27.2.2.3. Текстовая часть области</h4></a> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Текстовая часть области состоит собственно |
|
из строк текстового макета. Она начинается после последней строки, принадлежащей |
|
служебной части области, и продолжается до конца области. Внутри строк |
|
текстового макета можно указать имя поля: <span class=»Term«>[ПППП]</span>.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Количество знакомест, отводимых под поле, |
|
соответствует количеству знакомест, указанных скобками (включая скобки). Если |
|
размер поля составляет один символ, допускается использование одной скобки. |
|
Например:</p> |
|
|
|
<a class=»copy_source» href=»#_top» onClick=»return false«>Копировать в буфер обмена</a> |
|
<pre class=»src_dev«><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span> |
|
!<span class=»operator«>[</span>Имя <span class=»operator«>]</span>! <span class=»operator«>[</span>Код <span class=»operator«>]</span>! <span class=»operator«>[</span>Наименование <span class=»operator«>]</span> ! |
|
<span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span></pre> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Если имя поля прижато к левой скобке, |
|
считается, что поле имеет левое выравнивание, а если к правой скобке, то правое |
|
выравнивание. Если пробелы есть слева и справа от имени поля, оно будет |
|
центрироваться в пределах отведенных под него знакомест.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Если имя поля больше, чем количество |
|
знакомест, отводимых под поле, имя поля указывается с помощью ключевого слова <span class=»Term«>Поля</span>.</p> |
|
|
|
<p class=»Lang-subheader«>Пример:</p> |
|
|
|
<a class=»copy_source» href=»#_top» onClick=»return false«>Копировать в буфер обмена</a> |
|
<pre class=»src_dev«><span class=»preprocessor«>#Поле Номер</span> |
|
<span class=»preprocessor«> #Формат "ЧЦ=3; ЧДЦ=0"</span> |
|
<span class=»preprocessor«>#Поле Код</span> |
|
<span class=»preprocessor«> #Формат "ЧЦ=5; ЧДЦ=0"</span> |
|
<span class=»preprocessor«>#Поле Пометка</span> |
|
<span class=»preprocessor«> #Формат "ЧЦ=1"</span> |
|
<span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span> |
|
!<span class=»operator«>[</span> <span class=»operator«>]</span>! <span class=»operator«>[</span> Код<span class=»operator«>]</span>!<span class=»operator«>[</span> Наименование <span class=»operator«>]</span>! <span class=»operator«>[</span>! #Поля Номер Пометка |
|
<span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span></pre> |
|
|
|
<p class=»MsoNormal«>Параметры в ключевом слове <span class=»Term«>Поля</span> |
|
указываются только для тех полей, имена которых не указаны в теле макета в скобках.</p> |
|
|
|
<a id=»TI000000954» class=»bookmark» name=»issogl4_27.2.2.3.1_автоматический_перенос«><h5>27.2.2.3.1. Автоматический перенос</h5></a> |
|
|
|
<p class=»MsoNormal«>Если текст не умещается в отведенный размер |
|
поля, может возникнуть необходимость использовать автоматический перенос текста |
|
на новую строку. Для этого предлагается использовать указание расположения поля |
|
в макете в фигурных и угловых скобках:</p> |
|
|
|
<p class=»MsoListBulletCxSpFirst«>● |
|
<span class=»Term«>{ПППП}</span> – область поля ограничена фигурными |
|
скобками. Они показывают, что автоперенос текста, хранящегося в поле <span class=»Term«>ПППП</span>, |
|
возможен на эту строку, и указывают область для не поместившегося ранее в поле <span class=»Term«>ПППП</span> |
|
текста. При этом, даже если в строке нет необходимости выводить ни одно из |
|
полей, строка все равно будет выведена.</p> |
|
|
|
<p class=»MsoListBulletCxSpLast«>● |
|
<span class=»Term«><ПППП></span> – область поля ограничена |
|
угловыми скобками. Они показывают, что автоперенос текста, хранящегося в поле <span class=»Term«>ПППП</span>, |
|
возможен, и указывают область для не поместившегося на предшествующей строке в |
|
поле <span class=»Term«>ПППП</span> |
|
текста. При этом, если все поля, имеющиеся в строке, указаны в угловых скобках, |
|
но ни одно из них не потребовалось для вывода текста, строка не будет выведена. |
|
Если при выводе текста из поля в строку, в которой поле размещено в угловых |
|
скобках, текст все равно не уместится, такая строка будет размножена до тех |
|
пор, пока не удастся вывести весь текст из поля.</p> |
|
|
|
<p class=»Lang-subheader«>Пример:</p> |
|
|
|
<a class=»copy_source» href=»#_top» onClick=»return false«>Копировать в буфер обмена</a> |
|
<pre class=»src_dev«><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span> |
|
!<span class=»operator«>[</span> YY<span class=»operator«>]</span>! <span class=»operator«>[</span>XX <span class=»operator«>]</span>!<span class=»operator«>[</span> ZZ<span class=»operator«>]</span>! |
|
! ! {XX }! ! |
|
! ! <span class=»operator«><</span>XX <span class=»operator«>></span>! ! |
|
<span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span></pre> |
|
|
|
<p class=»MsoNormal«>В этом примере указывается, что поле <span class=»Term«>XX</span> |
|
размещается на первой строке. На второй строке размещается та часть поля <span class=»Term«>XX</span>, |
|
которая не поместилась на первой строке. На третьей строке размещается часть |
|
поля <span class=»Term«>ХХ</span>, |
|
которая не поместилась ни на первой, ни на второй строке. При этом если в поле <span class=»Term«>ХХ</span> |
|
для третьей строки текста не осталось, она совсем не выводится, а если |
|
осталось, то третья строка будет выводиться до тех пор, пока не закончится |
|
текст из поля <span class=»Term«>XX</span>.</p> |
|
|
|
<a id=»TI000000955» class=»bookmark» name=»issogl3_27.2.2.4_описание_ключевых_слов_текстового_макета«><h4>27.2.2.4. Описание ключевых слов текстового макета</h4></a> |
|
|
|
<p class=»Lang«>Область (Area)</p> |
|
|
|
<p class=»Lang-subheader«>Описание:</p> |
|
|
|
<p class=»MsoNormal«>Указывается начало области макета, а если |
|
предшествующая область не закончена, то конец предшествующей.</p> |
|
|
|
<p class=»Lang-subheader«>Синтаксис:</p> |
|
|
|
<p class=»MsoNormal«><span class=»Term«>#Область <Имя области> <Код языка></span></p> |
|
|
|
<p class=»Lang-subheader«>Параметры:</p> |
|
|
|
<p class=»Lang-parameter«><Имя области> Обязательный</p> |
|
|
|
<p class=»MsoNormal«>Указывается имя области, по которому |
|
производится ее получение методом <span class=»Term«>ПолучитьОбласть()</span> |
|
текстового документа.</p> |
|
|
|
<p class=»Lang-parameter«><Код языка> Необязательный</p> |
|
|
|
<p class=»MsoNormal«>Указывается код языка области. Если |
|
предполагается использование конфигурации на нескольких языках, то в текстовом |
|
макете можно указать несколько областей с одинаковыми именами, но тогда каждая |
|
область должна содержать код языка. Если код языка не указан, то такая область |
|
выбирается в том случае, когда область запрашивается с кодом языка, |
|
отсутствующим в описании областей.</p> |
|
|
|
<p class=»Lang«>КонецОбласти (EndOfArea)</p> |
|
|
|
<p class=»Lang-subheader«>Описание:</p> |
|
|
|
<p class=»MsoNormal«>Указывается явный конец области макета.</p> |
|
|
|
<p class=»Lang-subheader«>Синтаксис:</p> |
|
|
|
<p class=»MsoNormal«><span class=»Term«>#КонецОбласти</span></p> |
|
|
|
<p class=»Lang«>ЗаменаСимвола (ReplaceChar)</p> |
|
|
|
<p class=»Lang-subheader«>Описание:</p> |
|
|
|
<p class=»MsoNormal«>С помощью данного ключевого слова будет |
|
производиться замена символов внутри строк области.</p> |
|
|
|
<p class=»Lang-subheader«>Синтаксис:</p> |
|
|
|
<p class=»MsoNormal«><span class=»Term«>#ЗаменаСимвола <Заменяемый символ> <Символ |
|
замены></span></p> |
|
|
|
<p class=»Lang-subheader«>Параметры:</p> |
|
|
|
<p class=»Lang-parameter«><Заменяемый символ> Обязательный</p> |
|
|
|
<p class=»MsoNormal«>В одинарных кавычках указывается символ, |
|
который будет заменен.</p> |
|
|
|
<p class=»Lang-parameter«><Символ замены> Обязательный</p> |
|
|
|
<p class=»MsoNormal«>Указывается символ, на который будет заменен |
|
<span class=»Term«><Заменяемый |
|
символ></span>.</p> |
|
|
|
<p class=»Lang«>Поле (Field)</p> |
|
|
|
<p class=»Lang-subheader«>Описание:</p> |
|
|
|
<p class=»MsoNormal«>Указывается поле, для которого необходимо |
|
указать ключевые слова форматирования.</p> |
|
|
|
<p class=»Lang-subheader«>Синтаксис:</p> |
|
|
|
<p class=»MsoNormal«><span class=»Term«>#Поле <Имя поля></span></p> |
|
|
|
<p class=»Lang-subheader«>Параметры:</p> |
|
|
|
<p class=»Lang-parameter«><Имя поля> Обязательный</p> |
|
|
|
<p class=»MsoNormal«>Имя поля.</p> |
|
|
|
<p class=»Lang«>Выравнивание (Align)</p> |
|
|
|
<p class=»Lang-subheader«>Описание:</p> |
|
|
|
<p class=»MsoNormal«>Указывается выравнивание при выводе содержимого |
|
поля.</p> |
|
|
|
<p class=»Lang-subheader«>Синтаксис:</p> |
|
|
|
<p class=»MsoNormal«><span class=»Term«>#Выравнивание <Параметр выравнивания></span></p> |
|
|
|
<p class=»Lang-subheader«>Параметры:</p> |
|
|
|
<p class=»Lang-parameter«><Параметр выравнивания> Обязательный</p> |
|
|
|
<p class=»MsoNormal«>Значение выравнивания поля. Может принимать |
|
следующие значения:</p> |
|
|
|
<p class=»MsoListBulletCxSpFirst«>● |
|
<span class=»Term«>Лево</span> (<span class=»Term«>Left</span>),</p> |
|
|
|
<p class=»MsoListBulletCxSpMiddle«>● |
|
<span class=»Term«>Право</span> (<span class=»Term«>Right</span>),</p> |
|
|
|
<p class=»MsoListBulletCxSpMiddle«>● |
|
<span class=»Term«>Центр</span> (<span class=»Term«>Center</span>),</p> |
|
|
|
<p class=»MsoListBulletCxSpLast«>● |
|
<span class=»Term«>ПоШирине</span> (<span class=»Term«>Justify</span>).</p> |
|
|
|
<p class=»Lang«>Формат (Format)</p> |
|
|
|
<p class=»Lang-subheader«>Описание:</p> |
|
|
|
<p class=»MsoNormal«>Указывается формат вывода поля.</p> |
|
|
|
<p class=»Lang-subheader«>Синтаксис:</p> |
|
|
|
<p class=»MsoNormal«><span class=»Term«>#Формат <Форматная строка></span></p> |
|
|
|
<p class=»Lang-subheader«>Параметры:</p> |
|
|
|
<p class=»Lang-parameter«><Форматная строка> Обязательный</p> |
|
|
|
<p class=»MsoNormal«>Определяет формат представления значения поля.</p> |
|
|
|
<p class=»Lang-subheader«>Пример:</p> |
|
|
|
<a class=»copy_source» href=»#_top» onClick=»return false«>Копировать в буфер обмена</a> |
|
<pre class=»src_dev«><span class=»string«>"ДФ=dd.MM.yy"</span></pre> |
|
|
|
<p class=»Lang«>Забивать (Block)</p> |
|
|
|
<p class=»Lang-subheader«>Описание:</p> |
|
|
|
<p class=»MsoNormal«>Если значение параметра <span class=»Term«>Истина</span>, |
|
то устанавливается забивка, при которой в поле, значение которого не помещается |
|
в отведенное место, выводится символ «<span class=»Term«>#</span>» |
|
во всем отведенном месте.</p> |
|
|
|
<p class=»Lang-subheader«>Синтаксис:</p> |
|
|
|
<p class=»MsoNormal«><span class=»Term«>#Забивать <Параметр></span></p> |
|
|
|
<p class=»Lang-subheader«>Параметры:</p> |
|
|
|
<p class=»Lang-parameter«><Параметр> Необязательный</p> |
|
|
|
<p class=»MsoNormal«>Определяет необходимость забивки поля. Может |
|
принимать значения:</p> |
|
|
|
<p class=»MsoListBulletCxSpFirst«>● |
|
<span class=»Term«>Истина</span> (<span class=»Term«>True</span>),</p> |
|
|
|
<p class=»MsoListBulletCxSpLast«>● |
|
<span class=»Term«>Ложь</span> (<span class=»Term«>False</span>).</p> |
|
|
|
<p class=»Lang«>Поля (Fields)</p> |
|
|
|
<p class=»Lang-subheader«>Описание:</p> |
|
|
|
<p class=»MsoNormal«>Указывается список полей, имена которых |
|
нельзя указать в месте их расположения.</p> |
|
|
|
<p class=»Lang-subheader«>Синтаксис:</p> |
|
|
|
<p class=»MsoNormal«><span class=»Term«>#Поля <Имя поля 1> <Имя поля 2> … <Имя поля |
|
N></span></p> |
|
|
|
<p class=»Lang-subheader«>Параметры:</p> |
|
|
|
<p class=»Lang-parameter«><Имя поля> Обязательный</p> |
|
|
|
<p class=»MsoNormal«>Имя поля. Обязательно указывать все имена |
|
полей, которые не указаны в тексте области макета.</p> |
|
|
|
<a id=»TI000000956» class=»bookmark» name=»issogl3_27.2.2.5_пример_печати_расходной_накладной«><h4>27.2.2.5. Пример печати расходной накладной</h4></a> |
|
|
|
<p class=»MsoNormal«>Предполагается, что объект конфигурации <span class=»Term«>Документ</span> |
|
с именем <span class=»Interface«>Расходная накладная</span> имеет в списке макетов текстового |
|
типа макет с именем <span class=»Term«>ПечатьТекст</span>:</p> |
|
|
|
<a class=»copy_source» href=»#_top» onClick=»return false«>Копировать в буфер обмена</a> |
|
<pre class=»src_dev«><span class=»preprocessor«>#Область Шапка RU</span> |
|
Расходная накладная N <span class=»operator«>[</span>НомерДокумента <span class=»operator«>]</span> |
|
От: <span class=»operator«>[</span>От <span class=»operator«>]</span> |
|
Кому: <span class=»operator«>[</span>Кому <span class=»operator«>]</span> |
|
<span class=»operator«>=</span><span class=»operator«>=</span><span class=»operator«>=</span><span class=»operator«>=</span><span class=»operator«>=</span><span class=»operator«>=</span><span class=»operator«>=</span><span class=»operator«>=</span><span class=»operator«>=</span><span class=»operator«>=</span><span class=»operator«>=</span><span class=»operator«>=</span><span class=»operator«>=</span><span class=»operator«>=</span><span class=»operator«>=</span><span class=»operator«>=</span><span class=»operator«>=</span><span class=»operator«>=</span><span class=»operator«>=</span><span class=»operator«>=</span><span class=»operator«>=</span><span class=»operator«>=</span><span class=»operator«>=</span><span class=»operator«>=</span><span class=»operator«>=</span><span class=»operator«>=</span><span class=»operator«>=</span><span class=»operator«>=</span><span class=»operator«>=</span><span class=»operator«>=</span><span class=»operator«>=</span><span class=»operator«>=</span><span class=»operator«>=</span><span class=»operator«>=</span><span class=»operator«>=</span><span class=»operator«>=</span><span class=»operator«>=</span><span class=»operator«>=</span><span class=»operator«>=</span><span class=»operator«>=</span><span class=»operator«>=</span><span class=»operator«>=</span><span class=»operator«>=</span><span class=»operator«>=</span><span class=»operator«>=</span><span class=»operator«>=</span><span class=»operator«>=</span><span class=»operator«>=</span><span class=»operator«>=</span> |
|
| N| Наименование | Цена |Штук| Сумма | |
|
<span class=»preprocessor«>#Область Строка RU</span> |
|
<span class=»preprocessor«> #Поле Цена</span> |
|
<span class=»preprocessor«> #Формат "ЧЦ=10; ЧДЦ=2; ЧРД=."</span> |
|
<span class=»preprocessor«> #Поле Штук</span> |
|
<span class=»preprocessor«> #Выравнивание Право</span> |
|
<span class=»preprocessor«> #Формат "ЧЦ=4; ЧДЦ=0; ЧРД=."</span> |
|
<span class=»preprocessor«> #Поле Сумма</span> |
|
<span class=»preprocessor«> #Формат "ЧЦ=12; ЧДЦ=2; ЧРД=."</span> |
|
|<span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>+</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>+</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>+</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>+</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span><span class=»operator«>—</span>| |
|
<span class=»preprocessor«>|<span class="operator">[</span><span class="operator">]</span>|<span class="operator">[</span>Наименование <span class="operator">]</span>|<span class="operator">[</span> Цена<span class="operator">]</span>|<span class="operator">[</span> <span class="operator">]</span>|<span class="operator">[</span> Сумма<span class="operator">]</span>|#Поля Номер Штук</span> |
|
| |<span class=»operator«><</span>Наименование <span class=»operator«>></span>| | | | |
|
<span class=»preprocessor«>#Область Подвал RU</span> |
|
<span class=»preprocessor«> #Поле ИтогоШтук</span> |
|
<span class=»preprocessor«> #Выравнивание Право</span> |
|
<span class=»preprocessor«> #Формат "ЧЦ=4; ЧДЦ=0; ЧРД=."</span> |
|
<span class=»preprocessor«> #Поле ИтогоСумма</span> |
|
<span class=»preprocessor«> #Выравнивание Право</span> |
|
<span class=»preprocessor«> #Формат "ЧЦ=12; ЧДЦ=2; ЧРД=."</span> |
|
<span class=»operator«>=</span><span class=»operator«>=</span><span class=»operator«>=</span><span class=»operator«>=</span><span class=»operator«>=</span><span class=»operator«>=</span><span class=»operator«>=</span><span class=»operator«>=</span><span class=»operator«>=</span><span class=»operator«>=</span><span class=»operator«>=</span><span class=»operator«>=</span><span class=»operator«>=</span><span class=»operator«>=</span><span class=»operator«>=</span><span class=»operator«>=</span><span class=»operator«>=</span><span class=»operator«>=</span><span class=»operator«>=</span><span class=»operator«>=</span><span class=»operator«>=</span><span class=»operator«>=</span><span class=»operator«>=</span><span class=»operator«>=</span><span class=»operator«>=</span><span class=»operator«>=</span><span class=»operator«>=</span><span class=»operator«>=</span><span class=»operator«>=</span><span class=»operator«>=</span><span class=»operator«>=</span><span class=»operator«>=</span><span class=»operator«>=</span><span class=»operator«>=</span><span class=»operator«>=</span><span class=»operator«>=</span><span class=»operator«>=</span><span class=»operator«>=</span><span class=»operator«>=</span><span class=»operator«>=</span><span class=»operator«>=</span><span class=»operator«>=</span><span class=»operator«>=</span><span class=»operator«>=</span><span class=»operator«>=</span><span class=»operator«>=</span><span class=»operator«>=</span><span class=»operator«>=</span><span class=»operator«>=</span> |
|
Итого <span class=»operator«>[</span> <span class=»operator«>]</span> <span class=»operator«>[</span>ИтогоСумма<span class=»operator«>]</span> #Поля ИтогоШтук |
|
Директор: <span class=»operator«>[</span>Директор <span class=»operator«>]</span></pre> |
|
|
|
<p class=»MsoNormal«>Макет содержит следующие области:</p> |
|
|
|
<p class=»MsoListBulletCxSpFirst«>● |
|
<span class=»Term«>Шапка</span> – для вывода заголовка отчета;</p> |
|
|
|
<p class=»MsoListBulletCxSpMiddle«>● |
|
<span class=»Term«>Строка</span> – для вывода табличной части;</p> |
|
|
|
<p class=»MsoListBulletCxSpLast«>● |
|
<span class=»Term«>Подвал</span> – для вывода итоговых данных.</p> |
|
|
|
<p class=»MsoNormal«>В форме документа размещена кнопка <span class=»Term«>Печать</span>. |
|
Ее нажатие вызывает событие <span class=»Term«>Нажатие()</span>, |
|
процедура-обработчик которого размещена в модуле формы.</p> |
|
|
|
<a class=»copy_source» href=»#_top» onClick=»return false«>Копировать в буфер обмена</a> |
|
<pre class=»src_dev«><span class=»keyword«>Процедура</span> ПечатьВТекст<span class=»operator«>(</span>Кнопка<span class=»operator«>)</span> |
|
ТекДок <span class=»operator«>=</span> <span class=»keyword«>Новый</span> ТекстовыйДокумент<span class=»operator«>(</span><span class=»operator«>)</span><span class=»operator«>;</span> |
|
ПечатьТекст<span class=»operator«>(</span>ТекДок<span class=»operator«>)</span><span class=»operator«>;</span> |
|
ТекДок<span class=»operator«>.</span>Показать<span class=»operator«>(</span><span class=»operator«>)</span><span class=»operator«>;</span> |
|
<span class=»keyword«>КонецПроцедуры</span></pre> |
|
|
|
<p class=»MsoNormal«>В процедуре создается текстовый документ <span class=»Term«>ТекДок</span> |
|
и вызывается процедура <span class=»Term«>ПечатьТекст(ТекДок)</span>, |
|
которая заполняет текстовый документ на основе данных расходной накладной. |
|
Процедура расположена в модуле документа. После заполнения документа он |
|
выводится на экран.</p> |
|
|
|
<p class=»Lang-subheader«>Текст процедуры <span class=»Term«>ПечатьТекст()</span>:</p> |
|
|
|
<a class=»copy_source» href=»#_top» onClick=»return false«>Копировать в буфер обмена</a> |
|
<pre class=»src_dev«><span class=»keyword«>Процедура</span> ПечатьТекст<span class=»operator«>(</span>ТекДок<span class=»operator«>)</span> <span class=»keyword«>Экспорт</span> |
|
<span class=»comment«>// Получение макета</span> |
|
Макет <span class=»operator«>=</span> ПолучитьМакет<span class=»operator«>(</span><span class=»string«>"ПечатьТекст"</span><span class=»operator«>)</span><span class=»operator«>;</span> |
|
<span class=»comment«>// Установим код языка</span> |
|
Макет<span class=»operator«>.</span>КодЯзыкаМакета <span class=»operator«>=</span> <span class=»string«>"RU"</span><span class=»operator«>;</span> |
|
<span class=»comment«>// Заголовок</span> |
|
Область <span class=»operator«>=</span> Макет<span class=»operator«>.</span>ПолучитьОбласть<span class=»operator«>(</span><span class=»string«>"Шапка"</span><span class=»operator«>)</span><span class=»operator«>;</span> |
|
Область<span class=»operator«>.</span>Параметры<span class=»operator«>.</span>НомерДокумента <span class=»operator«>=</span> Номер<span class=»operator«>;</span> |
|
Область<span class=»operator«>.</span>Параметры<span class=»operator«>.</span>От <span class=»operator«>=</span> Формат<span class=»operator«>(</span>Дата<span class=»operator«>,</span><span class=»string«>"ДФ=dd.MM.yyyy"</span><span class=»operator«>)</span><span class=»operator«>;</span> |
|
Область<span class=»operator«>.</span>Параметры<span class=»operator«>.</span>Кому <span class=»operator«>=</span> Контрагент<span class=»operator«>;</span> |
|
ТекДок<span class=»operator«>.</span>Вывести<span class=»operator«>(</span>Область<span class=»operator«>)</span><span class=»operator«>;</span> |
|
<span class=»comment«>// Обработка табличной части "Состав"</span> |
|
СтрИтого <span class=»operator«>=</span> <span class=»keyword«>Новый</span> Структура<span class=»operator«>(</span><span class=»string«>"ИтогоШтук, ИтогоСумма"</span><span class=»operator«>,</span><span class=»number«>0</span><span class=»operator«>,</span><span class=»number«>0</span><span class=»operator«>)</span><span class=»operator«>;</span> |
|
<span class=»keyword«>Для</span> <span class=»keyword«>Каждого</span> СтрСостава <span class=»keyword«>Из</span> Состав <span class=»keyword«>Цикл</span> |
|
Область <span class=»operator«>=</span> Макет<span class=»operator«>.</span>ПолучитьОбласть<span class=»operator«>(</span><span class=»string«>"Строка"</span><span class=»operator«>)</span><span class=»operator«>;</span> |
|
Область<span class=»operator«>.</span>Параметры<span class=»operator«>.</span>Номер <span class=»operator«>=</span> СтрСостава<span class=»operator«>.</span>НомерСтроки<span class=»operator«>;</span> |
|
Область<span class=»operator«>.</span>Параметры<span class=»operator«>.</span>Наименование <span class=»operator«>=</span> СтрСостава<span class=»operator«>.</span>Номенклатура<span class=»operator«>;</span> |
|
Область<span class=»operator«>.</span>Параметры<span class=»operator«>.</span>Штук <span class=»operator«>=</span> СтрСостава<span class=»operator«>.</span>Количество<span class=»operator«>;</span> |
|
Область<span class=»operator«>.</span>Параметры<span class=»operator«>.</span>Цена <span class=»operator«>=</span> СтрСостава<span class=»operator«>.</span>Цена<span class=»operator«>;</span> |
|
Область<span class=»operator«>.</span>Параметры<span class=»operator«>.</span>Сумма <span class=»operator«>=</span> СтрСостава<span class=»operator«>.</span>Сумма<span class=»operator«>;</span> |
|
ТекДок<span class=»operator«>.</span>Вывести<span class=»operator«>(</span>Область<span class=»operator«>)</span><span class=»operator«>;</span> |
|
СтрИтого<span class=»operator«>.</span>ИтогоШтук <span class=»operator«>=</span> СтрИтого<span class=»operator«>.</span>ИтогоШтук <span class=»operator«>+</span> СтрСостава<span class=»operator«>.</span>Количество<span class=»operator«>;</span> |
|
СтрИтого<span class=»operator«>.</span>ИтогоСумма <span class=»operator«>=</span> СтрИтого<span class=»operator«>.</span>ИтогоСумма <span class=»operator«>+</span> СтрСостава<span class=»operator«>.</span>Сумма<span class=»operator«>;</span> |
|
<span class=»keyword«>КонецЦикла</span><span class=»operator«>;</span> |
|
<span class=»comment«>// Подвал</span> |
|
Область <span class=»operator«>=</span> Макет<span class=»operator«>.</span>ПолучитьОбласть<span class=»operator«>(</span><span class=»string«>"Подвал"</span><span class=»operator«>)</span><span class=»operator«>;</span> |
|
Область<span class=»operator«>.</span>Параметры<span class=»operator«>.</span>Заполнить<span class=»operator«>(</span>СтрИтого<span class=»operator«>)</span><span class=»operator«>;</span> |
|
РС <span class=»operator«>=</span> РегистрыСведений<span class=»operator«>.</span>ОтветственныеСотрудники<span class=»operator«>;</span> |
|
Область<span class=»operator«>.</span>Параметры<span class=»operator«>.</span>Директор <span class=»operator«>=</span> РС<span class=»operator«>.</span>ПолучитьПоследнее<span class=»operator«>(</span>Дата<span class=»operator«>)</span><span class=»operator«>.</span>Директор<span class=»operator«>;</span> |
|
ТекДок<span class=»operator«>.</span>Вывести<span class=»operator«>(</span>Область<span class=»operator«>)</span><span class=»operator«>;</span> |
|
<span class=»keyword«>КонецПроцедуры</span></pre> |
|
|
|
<a id=»TI000000957» class=»bookmark» name=»issogl2_27.2.3_редактирование_текстов_шаблонов«><h3>27.2.3. Редактирование текстов шаблонов</h3></a> |
|
|
|
<p class=»MsoNormal«>Помимо возможностей текстового редактора |
|
модулей, редактор текстов шаблонов позволяет создавать и редактировать имеющиеся |
|
шаблоны (подробнее о шаблонах см. <A href=»/db/content/v8310doc/src/руководство разработчика/глава 33. сервисные возможности.htm?_=1496848987#_ref61615516«>здесь</a>).</p> |
|
|
|
<a id=»TI000000958» class=»bookmark» name=»issogl2_27.2.4_редактор_текста_запросов«><h3>27.2.4. Редактор текста запросов</h3></a> |
|
|
|
<p class=»MsoNormalCxSpFirst«>В данном режиме текстовый редактор помимо |
|
основных возможностей обладает рядом дополнительных.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Синтаксические конструкции языка запросов |
|
выделяются цветом. Описание языковых конструкций см. <A href=»/db/content/v8310doc/src/руководство разработчика/глава 8. работа с запросами.htm?_=1496848987#_ref216234624«>здесь</a> или раздел «Работа с запросами» справки по |
|
встроенному языку.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>В список доступных команд текстового |
|
редактора добавляются команды установки и снятия комментария.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>В режиме 1С:Предприятие пользователям, |
|
обладающим административными правами, предоставляется возможность вызова |
|
конструктора запросов.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Помимо текста запроса выполняется |
|
редактирование текстов запросов для текстового документа, у которого |
|
установлено расширение <span class=»Interface«>Язык запросов</span>; для поля текстового документа с |
|
установленным расширением <span class=»Interface«>Язык запросов</span>.</p> |
|
|
|
<a name=»_ref374982623«></a><a id=»TI000000959» class=»bookmark» name=»issogl1_27.3_редактор_командного_интерфейса_конфигурации«><h2>27.3. Редактор командного интерфейса конфигурации</h2></a> |
|
|
|
<p class=»Regularbeforepicture«>Редактор командного интерфейса конфигурации |
|
позволяет настроить начальный порядок разделов в панели разделов (см. <A href=»/db/content/v8310doc/src/руководство разработчика/глава 3. интерфейс приложения.htm?_=1496848987#_ref220738931«>здесь</a>) и начальную видимость разделов в разрезе ролей.</p> |
|
|
|
<p class=»Picture«><IMG src=»_img/img00507.gif?_=1496848987» WIDTH=»508» ALT HEIGHT=»262«></p> |
|
|
|
<p class=»MsoCaption«><a name=»_ref220739176«>Рис. </a>499. Редактор «Командный интерфейс конфигурации»</p> |
|
|
|
<p class=»MsoNormalCxSpFirst«>В колонке <span class=»Interface«>Команда</span> имеется возможность задавать порядок |
|
расположения разделов.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>В колонках <span class=»Interface«>Видимость</span> и <span class=»Interface«>Видимость по ролям</span> задается видимость команд открытия |
|
подсистем по умолчанию.</p> |
|
|
|
<a name=»_ref220744784«></a><a id=»TI000000960» class=»bookmark» name=»issogl2_27.3.1_общие_правила_установки_видимости«><h3>27.3.1. Общие правила установки видимости</h3></a> |
|
|
|
<p class=»MsoNormalCxSpFirst«>В табличном поле размещается общая колонка |
|
управления видимостью (колонка <span class=»Interface«>Видимость</span>) и столько колонок, сколько ролей определено в |
|
конфигурации.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Изначально порядок отображения команд и |
|
настройки их видимости устанавливаются системой. Однако при этом можно вручную настраивать |
|
видимость для всех команд или отбирать команды по ролям, которым они доступны.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Установка видимости объекта в командном |
|
интерфейсе может осуществляться несколькими способами:</p> |
|
|
|
<p class=»MsoListBulletCxSpFirst«>● |
|
Редактирование колонки <span class=»Interface«>Видимость</span>. В этом случае видимость команды задается |
|
сразу для всех ролей. Видимость команды для конкретной роли будет определяться |
|
по состоянию колонки <span class=»Interface«>Видимость</span> в том случае, если для конкретной роли выбрано |
|
особое состояние флажка видимости (см. видимость подсистемы <span class=»Interface«>Продажи</span> на <a href=»#_ref220739176«>рис.499</a>).</p> |
|
|
|
<p class=»MsoListBulletCxSpLast«>● |
|
Указание конкретного значения (установленное или |
|
сброшенное) видимости для конкретной роли означает, что команда будет по |
|
умолчанию видна (или не видна – в зависимости от состояния флажка) для |
|
данной роли. Общее состояние (колонка <span class=»Interface«>Видимость</span>) в этом случае игнорируется. Так, на <a href=»#_ref220739176«>рис.499</a> для роли <span class=»Interface«>Администратор</span> видимость раздела <span class=»Interface«>Товарные запасы</span> отключена (несмотря на то, что общая |
|
видимость этого раздела включена), а для роли <span class=»Interface«>Менеджер по продажам</span> по умолчанию видима команда |
|
перехода к подсистеме <span class=»Interface«>Предприятие</span> (несмотря на то, что по умолчанию видимость |
|
этого раздела отключена).</p> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Возможно множественное изменение видимости |
|
сразу для нескольких команд в списке.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Для того чтобы в списке <span class=»Interface«>Команда</span> показать только видимые команды, следует нажать |
|
кнопку <span class=»Interface«>Скрыть невидимые по умолчанию</span>.</p> |
|
|
|
<a name=»_ref220744816«></a><a id=»TI000000961» class=»bookmark» name=»issogl2_27.3.2_отбор_по_ролям«><h3>27.3.2. Отбор по ролям</h3></a> |
|
|
|
<p class=»MsoNormal«>В поле <span class=»Interface«>Отбор по ролям</span> можно задать несколько ролей, которые |
|
будут определять текущее отображение списка команд. В список будут включаться |
|
только команды, доступные этим ролям. Для отключения отбора нужно выбрать <span class=»Interface«>Не установлен</span>. Список выбора позволяет быстро включать |
|
один из нескольких последних установленных отборов.</p> |
|
|
|
<a name=»_ref217103609«></a><a name=»_ref370382069«></a><a name=»_ref370382068«></a><a id=»TI000000962» class=»bookmark» name=»issogl1_27.4_настройка_рабочей_области_начальной_страницы«><h2>27.4. Настройка рабочей области начальной страницы</h2></a> |
|
|
|
<a name=»_ref370731128«></a><a id=»TI000001304» class=»bookmark» name=»issogl2_27.4.1_с_помощью_редактора_рабочей_области_начальной_страницы«><h3>27.4.1. С помощью редактора рабочей области начальной страницы</h3></a> |
|
|
|
<p class=»Regularbeforepicture«>Данный |
|
редактор позволяет настроить общую схему расположения форм на начальной |
|
странице, а также состав форм, которые могут быть отображены на начальной |
|
странице.</p> |
|
|
|
<p class=»Picture«><IMG src=»_img/img00508.gif?_=1496848987» WIDTH=»631» ALT HEIGHT=»323«></p> |
|
|
|
<p class=»MsoCaption«>Рис. |
|
500. Редактор «Рабочая область начальной страницы»</p> |
|
|
|
<p class=»MsoNormal«>Общую |
|
схему расположения форм на начальной странице можно задать с помощью поля <span class=»Interface«>Шаблон начальной |
|
страницы</span>:</p> |
|
|
|
<p class=»MsoListBulletCxSpFirst«>● |
|
<span class=»Interface«>Одна колонка</span> – |
|
формы будут отображаться в одну колонку.</p> |
|
|
|
<p class=»MsoListBulletCxSpMiddle«>● |
|
<span class=»Interface«>Две колонки одинаковой |
|
ширины</span> – для форм будут доступны две колонки одинаковой ширины.</p> |
|
|
|
<p class=»MsoListBulletCxSpLast«>● |
|
Две колонки разной ширины |
|
(2:1) – будут отображаться две колонки, причем левая колонка |
|
будет в два раза шире правой.</p> |
|
|
|
<p class=»MsoNormalCxSpFirst«>После |
|
выбора необходимых форм можно указать порядок их расположения на начальной |
|
странице, а также высоту каждой формы (колонка <span class=»Interface«>Высота</span>).</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Редактор |
|
видимости работает аналогично другим ролевым редакторам свойств (см. <a href=»#_ref200447246«>здесь</a>).</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>При |
|
разработке интерфейса начальной страницы следует обращать особое внимание на |
|
то, чтобы этот интерфейс содержал наиболее важные формы. На начальной странице |
|
нужно размещать те формы, с которыми наиболее часто выполняется работа |
|
пользователя с тем или иным составом ролей.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Следует |
|
помнить, что формы, на которые у пользователя нет прав, не будут отображены на начальной |
|
странице вне зависимости от состояния колонки <span class=»Interface«>Видимость</span>.</p> |
|
|
|
<a name=»_ref217280689«></a><a name=»_ref370382071«></a><a name=»_ref370382070«></a><a id=»TI000001305» class=»bookmark» name=»issogl2_27.4.2_программная«><h3>27.4.2. Программная</h3></a> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Настройку |
|
состава и положения форм на начальной странице (рабочем столе) можно выполнить |
|
также из встроенного языка. Для выполнения настройки следует воспользоваться |
|
методами <span class=»Term«>ПолучитьСоставФорм()</span> и <span class=»Term«>УстановитьСоставФорм()</span> объекта <span class=»Term«>НастройкиНачальнойСтраницы</span>. Таким образом, |
|
имеется возможность получить текущее состояние начальной страницы (рабочего |
|
стола) клиентского приложения, модифицировать этот состав необходимым образом и |
|
установить обратно.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Настройки |
|
состава и расположения форм начальной страницы (рабочего стола) хранятся в |
|
стандартном хранилище системных настроек. Ключ настроек – <span class=»Interface«>Общее/НастройкиНачальнойСтраницы</span> |
|
(см. <A href=»/db/content/v8310doc/src/руководство разработчика/приложение 4. перечень автоматически сохраняемых настроек.htm?_=1496848987#_ref363646570«>здесь</a>). Чтобы изменить настройки необходимо в начале |
|
прочитать их из хранилища:</p> |
|
|
|
<a class=»copy_source» href=»#_top» onClick=»return false«>Копировать в буфер обмена</a> |
|
<pre class=»src_dev«>НастройкиНачальнойСтраницы <span class=»operator«>=</span> ХранилищеСистемныхНастроек<span class=»operator«>.</span>Загрузить<span class=»operator«>(</span><span class=»string«>"Общее/НастройкиНачальнойСтраницы"</span><span class=»operator«>)</span><span class=»operator«>;</span></pre> |
|
|
|
<p class=»MsoNormal«>Затем |
|
настройки начальной страницы (рабочего стола) можно модифицировать и поместить |
|
обратно в хранилище:</p> |
|
|
|
<a class=»copy_source» href=»#_top» onClick=»return false«>Копировать в буфер обмена</a> |
|
<pre class=»src_dev«>ХранилищеСистемныхНастроек<span class=»operator«>.</span>Сохранить<span class=»operator«>(</span><span class=»string«>"Общее/НастройкиНачальнойСтраницы"</span><span class=»operator«>,</span> <span class=»string«>""</span><span class=»operator«>,</span> НастройкиНачальнойСтраницы<span class=»operator«>)</span><span class=»operator«>;</span></pre> |
|
|
|
<p class=»MsoNormalCxSpFirst«>После сохранения нового состава форм, |
|
необходимо выполнить перестроение интерфейса клиентского приложения с помощью |
|
вызова метода <span class=»Term«>ОбновитьИнтерфейс()</span>.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Среди разнообразных вариантов |
|
применения механизма, можно выделить несколько основных сценариев |
|
использования:</p> |
|
|
|
<p class=»MsoListBulletCxSpFirst«>● |
|
Необходимо предложить пользователю добавить |
|
новую форму на начальную страницу (рабочий стол). Это можно сделать с помощью |
|
программного кода, который вызывается из обработчика события <span class=»Term«>ПриНачалеРаботыСистемы</span>. После изменения |
|
настроек начальной страницы (рабочего стола) необходимо обновить интерфейс, |
|
чтобы изменения стали доступны.</p> |
|
|
|
<p class=»MsoListBulletCxSpMiddle«>● |
|
Для каких-либо пользователей необходимо |
|
поддерживать фиксированный набор форм, который определяется не на этапе |
|
конфигурирования, а некоторыми данными информационной базы. В этом случае |
|
настройку начальной страницы (рабочего стола) рекомендуется выполнять в |
|
обработчике события <span class=»Term«>УстановкаПараметровСеанса</span> модуля сеанса. В |
|
этом случае не требуется вызывать метод <span class=»Term«>ОбновитьИнтерфейс()</span>, т. к. |
|
считывание настроек начальной страницы (рабочего стола) выполняется после |
|
выполнения данного обработчика.</p> |
|
|
|
<p class=»MsoListBulletCxSpLast«>● |
|
Необходимо однократно изменить состав форм начальной |
|
страницы (рабочего стола) для всех пользователей информационной базы. В этом |
|
случае рекомендуется написать программный модуль, который переберет настройки |
|
начальной страницы (рабочего стола) для всех пользователей и внесет в них |
|
необходимые изменения. Следует помнить, что изменение интерфейса, выполненные |
|
таким образом, будут доступны пользователю только при следующем вход в систему.</p> |
|
|
|
<p class=»MsoNormal«>Рассмотрим пример, в рамках которого |
|
необходимо при каждом начале работы системы принудительно размещать на начальной |
|
странице две формы: форму списка справочника <span class=»Term«>Товары</span> |
|
и стандартную форму полнотекстового поиска (<span class=»Term«>ФормаПоиска</span>). |
|
Для реализации примера необходим общий модуль с установленными признаками <span class=»Interface«>Сервер</span> |
|
и <span class=»Interface«>Вызов сервера</span>. |
|
Пусть общий модуль имеет имя <span class=»Term«>РаботаСИнтерфейсом</span>. |
|
В общем модуле необходимо поместить следующую процедуру:</p> |
|
|
|
<a class=»copy_source» href=»#_top» onClick=»return false«>Копировать в буфер обмена</a> |
|
<pre class=»src_dev«><span class=»keyword«>Процедура</span> ПростаяНачальнаяСтраница<span class=»operator«>(</span><span class=»operator«>)</span> <span class=»keyword«>Экспорт</span> |
|
НачальнаяСтраница <span class=»operator«>=</span> <span class=»keyword«>Новый</span> НастройкиНачальнойСтраницы<span class=»operator«>;</span> |
|
СоставФорм <span class=»operator«>=</span> <span class=»keyword«>Новый</span> СоставФормНачальнойСтраницы<span class=»operator«>;</span> |
|
СоставФорм<span class=»operator«>.</span>ЛеваяКолонка<span class=»operator«>.</span>Добавить<span class=»operator«>(</span><span class=»string«>"Справочник.Товары.ФормаСписка"</span><span class=»operator«>)</span><span class=»operator«>;</span> |
|
СоставФорм<span class=»operator«>.</span>ПраваяКолонка<span class=»operator«>.</span>Добавить<span class=»operator«>(</span><span class=»string«>"ФормаПоиска"</span><span class=»operator«>)</span><span class=»operator«>;</span> |
|
НачальнаяСтраница<span class=»operator«>.</span>УстановитьСоставФорм<span class=»operator«>(</span>СоставФорм<span class=»operator«>)</span><span class=»operator«>;</span> |
|
ХранилищеСистемныхНастроек<span class=»operator«>.</span>Сохранить<span class=»operator«>(</span><span class=»string«>"Общее/НастройкиНачальнойСтраницы"</span><span class=»operator«>,</span> <span class=»string«>""</span><span class=»operator«>,</span> НачальнаяСтраница<span class=»operator«>)</span><span class=»operator«>;</span> |
|
<span class=»keyword«>КонецПроцедуры</span> </pre> |
|
|
|
<p class=»MsoNormal«>В модуле управляемого приложения |
|
необходимо разместить обработчик события <span class=»Term«>ПриНачалеРаботыСистемы</span>:</p> |
|
|
|
<a class=»copy_source» href=»#_top» onClick=»return false«>Копировать в буфер обмена</a> |
|
<pre class=»src_dev«><span class=»keyword«>Процедура</span> ПриНачалеРаботыСистемы<span class=»operator«>(</span><span class=»operator«>)</span> |
|
РаботаСИнтерфейсом<span class=»operator«>.</span>ПростаяНачальнаяСтраница<span class=»operator«>(</span><span class=»operator«>)</span><span class=»operator«>;</span> |
|
ОбновитьИнтерфейс<span class=»operator«>(</span><span class=»operator«>)</span><span class=»operator«>;</span> |
|
<span class=»keyword«>КонецПроцедуры</span></pre> |
|
|
|
<p class=»MsoNormalCxSpFirst«>В |
|
результате, вне зависимости от того, какие настройки начальной страницы |
|
(рабочего стола) настройки осуществил пользователь в предыдущем сеансе работы, |
|
каждый новый сеанс будет начинаться с фиксированных настроек начальной страницы |
|
(рабочего стола).</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>При |
|
формировании настроек начальной страницы (рабочего стола) можно указывать как |
|
полные имена форм объектов конфигурации (например, <span class=»Term«>Справочник.Товары.Форма.ИмяФормы</span>), так и |
|
стандартные имена форм (например, <span class=»Term«>Справочник.Товары.ФормаСписка</span>). Также нужно |
|
помнить, что программная настройка начальной страницы (рабочего стола) не изменить |
|
шаблон начальной области (рабочего стола). При программной настройке будет |
|
использовать тот шаблон начальной страницы (рабочего стола), который выбран при |
|
настройке начальной страницы (рабочего стола) при помощи соответствующего |
|
редактора (см. <a href=»#_ref370731128«>здесь</a>).</p> |
|
|
|
<a id=»TI000000963» class=»bookmark» name=»issogl1_27.5_редактор_командного_интерфейса_основного_раздела«><h2>27.5. Редактор командного интерфейса основного раздела</h2></a> |
|
|
|
<p class=»Regularbeforepicture«>Редактор |
|
позволяет настроить состав команд каждой командной панели, порядок отображения |
|
и видимость элементов командного интерфейса по ролям.</p> |
|
|
|
<p class=»Picture«><IMG src=»_img/img00509.gif?_=1496848987» WIDTH=»718» ALT HEIGHT=»484«></p> |
|
|
|
<p class=»MsoCaption«>Рис. |
|
501. Редактор «Командный интерфейс основного раздела»</p> |
|
|
|
<p class=»MsoNormal«>В |
|
редакторе располагаются два табличных поля. В одном (справа) выполняется |
|
собственно редактирование командного интерфейса, а другое (слева) содержит |
|
иерархический список доступных команд конфигурации, которые могут быть |
|
добавлены в интерфейс основного раздела. Команды, которые попадают в список <span class=»Interface«>Доступные команды</span>, |
|
отвечают следующим условиям:</p> |
|
|
|
<p class=»MsoListBulletCxSpFirst«>● |
|
команда не имеет параметра;</p> |
|
|
|
<p class=»MsoListBulletCxSpLast«>● |
|
группа, которая указана для команды, относится к |
|
панели навигации или панели действий.</p> |
|
|
|
<p class=»MsoNormalCxSpFirst«>В |
|
табличном поле редактора интерфейса, в колонке <span class=»Interface«>Команда</span>, выводится |
|
структура команд, сгруппированных по группам панели действий (<span class=»Interface«>Важное</span>, <span class=»Interface«>Обычное</span>, <span class=»Interface«>См. также</span>), панели |
|
навигации (<span class=»Interface«>Создать</span>, <span class=»Interface«>Отчеты</span>, <span class=»Interface«>Сервис</span>) и |
|
группы команд, определенных в ветке дерева метаданных <span class=»Interface«>Общие – Группы |
|
команд</span>. В табличном поле размещена колонка <span class=»Interface«>Общая видимость |
|
команды</span>. Также система размещает колонки настройки видимости команд |
|
для каждой определенной в конфигурации роли.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Для |
|
выбора команды следует раскрыть нужную ветвь таблицы доступных команд и выбрать |
|
команду. Чтобы перенести команду в командный интерфейс, следует указать |
|
команду и нажать кнопку <span class=»Interface«>Добавить команду в |
|
основной раздел</span> (или нажать клавишу <span class=»Interface«>Enter</span>, или |
|
дважды щелкнуть мышью строку с командой). Выбранная команда переносится в |
|
панель и группу, определенную для команды при настройке текущего объекта |
|
метаданных (свойство <span class=»Interface«>Группа</span>), |
|
команда которого переносится. Если кнопка <span class=»Interface«>Добавить команду в основной |
|
раздел</span> недоступна, то выбранную команду перенести в основной раздел |
|
нельзя. Например, если для перечисления не установлено свойство <span class=»Interface«>Использовать |
|
стандартные команды</span>.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Изначально |
|
порядок отображения команд в командном интерфейсе рабочего стола и настройки их |
|
видимости устанавливаются системой. При этом можно настраивать видимость как |
|
для всех команд или отобрать команды по ролям, которым они доступны.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Можно |
|
использовать кнопку <span class=»Interface«>Переместить команду</span> |
|
для перемещения команд между группами. Также команды можно перемещать, |
|
перетаскивая их на нужное место мышью в пределах групп одной панели. Для |
|
установки порядка команд в группе нужно использовать кнопки перемещения вверх и |
|
вниз.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Нажатие |
|
кнопки <span class=»Interface«>Установить свойства по |
|
умолчанию</span> заменяет настройки видимости команды и вхождение в группу на |
|
настройки, установленные системой по умолчанию.</p> |
|
|
|
<p class=»Regularbeforepicture«>Если |
|
в конфигурации нет ни одной подсистемы, то редактор имеет другой вид:</p> |
|
|
|
<p class=»Picture«><IMG src=»_img/img00510.gif?_=1496848987» WIDTH=»639» ALT HEIGHT=»393«></p> |
|
|
|
<p class=»MsoCaption«>Рис. |
|
502. Нет подсистем</p> |
|
|
|
<p class=»MsoNormalCxSpFirst«>В |
|
этом случае на рабочем столе доступны все команды системы, и необходимо только |
|
расставить доступность команд по умолчанию.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Общие |
|
правила управления видимостью см. <a href=»#_ref220744784«>здесь</a>. Описание отбора по ролям см. <a href=»#_ref220744816«>здесь</a>.</p> |
|
|
|
<a id=»TI000000964» class=»bookmark» name=»issogl1_27.6_редактор_командного_интерфейса«><h2>27.6. Редактор командного интерфейса</h2></a> |
|
|
|
<p class=»MsoNormal«>Редактор командного интерфейса позволяет |
|
настроить состав команд каждой командной панели, порядок отображения и видимость |
|
элементов командного интерфейса по ролям.</p> |
|
|
|
<p class=»Regularbeforepicture«>В табличном поле в первой (слева) колонке |
|
выводится полный список команд, сгруппированный по группам (как системные <span class=»Interface«>Важное</span>, <span class=»Interface«>Обычное</span>, <span class=»Interface«>См. также</span>, <span class=»Interface«>Отчеты</span>, <span class=»Interface«>Сервис</span> и др., так и группы, определенные в ветке дерева |
|
метаданных <span class=»Interface«>Группы команд</span>) панелей действий и |
|
навигации. Затем в табличном поле следует колонка для управления |
|
общей видимостью команд.</p> |
|
|
|
<p class=»Picture«><IMG src=»_img/img00511.gif?_=1496848987» WIDTH=»682» ALT HEIGHT=»449«></p> |
|
|
|
<p class=»MsoCaption«>Рис. 503. Редактор «Командный |
|
интерфейс»</p> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Система устанавливает порядок команд |
|
автоматически. При необходимости ручной настройки порядка отображения команд в |
|
группах следует использовать кнопки перемещения или перетаскивать команды. При |
|
этом рядом с группой будет отображаться строка <span class=»Interface«>Ручной порядок команд</span>. Чтобы отменить изменения порядка, |
|
нужно у группы в контекстном меню выбрать пункт контекстного меню <span class=»Interface«>Восстановить автоматический порядок команд</span>.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Можно использовать кнопку <span class=»Interface«>Переместить команду</span> для перемещения команд |
|
между группами. |
|
Также команды можно перемещать, перетаскивая их на нужное место мышью в |
|
пределах групп одной панели. Для установки порядка команд в группе нужно |
|
использовать кнопки перемещения вверх и вниз.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Нажатие кнопки <span class=»Interface«>Установить свойства по умолчанию</span> заменяет настройки |
|
видимости команды и вхождение в группу на настройки, установленные системой по |
|
умолчанию.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Общие правила управления видимостью см. <a href=»#_ref220744784«>здесь</a>. Описание отбора по ролям см. <a href=»#_ref220744816«>здесь</a>.</p> |
|
|
|
<a name=»_ref217219607«></a><a id=»TI000000965» class=»bookmark» name=»issogl1_27.7_редактор_все_подсистемы«><h2>27.7. Редактор «Все подсистемы»</h2></a> |
|
|
|
<p class=»MsoNormal«>Редактор <span class=»Interface«>Все подсистемы</span> предназначен для удобного решения |
|
следующих задач:</p> |
|
|
|
<p class=»MsoListBulletCxSpFirst«>● |
|
редактирование командного интерфейса любой |
|
подсистемы,</p> |
|
|
|
<p class=»MsoListBulletCxSpMiddle«>● |
|
задание состава и свойств любой подсистемы,</p> |
|
|
|
<p class=»MsoListBulletCxSpMiddle«>● |
|
настройка порядка следования подсистем,</p> |
|
|
|
<p class=»MsoListBulletCxSpLast«>● |
|
редактирование состава подсистем.</p> |
|
|
|
<p class=»Note«><span class=»Note«>Примечание.</span> Редактор командного |
|
интерфейса подсистемы можно также открыть из свойства подсистемы <span class=»Interface«>Командный интерфейс</span> по ссылке <span class=»Interface«>Открыть</span>.</p> |
|
|
|
<p class=»Regularbeforepicture«>В списке <span class=»Interface«>Подсистемы</span> устанавливается порядок подсистем в дереве |
|
конфигурации. Этот порядок не влияет на порядок следования подсистем в панели |
|
разделов.</p> |
|
|
|
<p class=»Picture«><IMG src=»_img/img00512.gif?_=1496848987» WIDTH=»708» ALT HEIGHT=»404«></p> |
|
|
|
<p class=»MsoCaption«>Рис. 504. Редактор «Все |
|
подсистемы»</p> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Для того чтобы установить порядок подсистем |
|
на панели разделов, следует в списке <span class=»Interface«>Подсистемы</span> перейти на нужный элемент и выполнить |
|
необходимое редактирование (порядок и перемещение подсистемы).</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Для редактирования свойств подсистемы нужно |
|
использовать палитру свойств или редактор подсистемы (выбрать подсистемы и нажать |
|
кнопку <span class=»Interface«>Изменить текущий элемент</span>).</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Чтобы переместить подсистемы (вместе с |
|
подчиненными подсистемами), нужно выбрать подсистему и нажать кнопку <span class=»Interface«>Переместить подсистему</span>. В открывшемся окне выбора |
|
объекта указать подсистему, в которую будет перенесена текущая подсистема. |
|
Запрещается перенос в подсистемы, входящие в текущую подсистему.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Общие правила управления видимостью см. <a href=»#_ref220744784«>здесь</a>. Описание отбора по ролям см. <a href=»#_ref220744816«>здесь</a>.</p> |
|
|
|
<a id=»TI000000966» class=»bookmark» name=»issogl2_27.7.1_настройка_состава_подсистемы«><h3>27.7.1. Настройка состава подсистемы</h3></a> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Под списком подсистем находится |
|
иерархический список <span class=»Interface«>Состав</span>, в котором формируется состав метаданных, |
|
относящийся к текущей подсистеме списка подсистем. Следует учитывать, что в |
|
показываемый состав не включаются метаданные, относящиеся к подчиненным |
|
подсистемам, если в этих подсистемах эти метаданные не определены.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Для изменения состава следует нажать кнопку <span class=»Interface«>Редактировать состав подсистемы</span>. Открывается окно выбора |
|
объекта, которое содержит дерево метаданных. Объекты, у которых установлены |
|
флажки, включены в состав подсистемы.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>В окне выбора нужно указать те объекты, |
|
которые должны быть включены в состав подсистемы. Нажатие кнопки <span class=»Interface«>OK</span> закрывает окно выбора и формирует состав подсистемы.</p> |
|
|
|
<a id=»TI000000967» class=»bookmark» name=»issogl2_27.7.2_настройка_командного_интерфейса_подсистемы«><h3>27.7.2. Настройка командного интерфейса подсистемы</h3></a> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Настройка командного интерфейса подсистемы |
|
осуществляется в табличном поле, расположенном справа от списка подсистем и |
|
состава команд подсистемы.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Общие правила управления видимостью см. <a href=»#_ref220744784«>здесь</a>. Описание отбора по ролям см. <a href=»#_ref220744816«>здесь</a>.</p> |
|
|
|
<a id=»TI000000968» class=»bookmark» name=»issogl1_27.8_конструктор_запросов«><h2>27.8. Конструктор запросов</h2></a> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Конструктор запросов позволяет сформировать |
|
текст запроса в модуле и отредактировать имеющийся запрос.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Для вызова конструктора запросов нужно |
|
открыть модуль, выбрать процедуру, в которую необходимо поместить запрос, установить |
|
указатель в той части процедуры, в которой располагается или должно |
|
располагаться тело запроса, выбрать пункт <span class=»Interface«>Текст – Конструктор запросов</span>.</p> |
|
|
|
<p class=»Regularbeforepicture«>Если запроса нет, то на экран выводится |
|
вопрос: <span class=»Interface«>Не |
|
найден текст запроса. Создать новый?</span> При выборе <span class=»Interface«>Да</span> на экран выводится окно <span class=»Interface«>Конструктор запросов</span>. Если запрос редактируется, то на |
|
экран выводится окно <span class=»Interface«>Конструктор запросов</span>, содержащее данные текущего запроса.</p> |
|
|
|
<p class=»Picture«><IMG src=»_img/img00513.gif?_=1496848987» WIDTH=»631» ALT HEIGHT=»564«></p> |
|
|
|
<p class=»MsoCaption«><a name=»_ref221519723«>Рис. </a>505. Конструктор запроса в конструкторе выходной формы</p> |
|
|
|
<p class=»MsoNormalCxSpFirst«>С помощью кнопки <span class=»Interface«>Упорядочить список</span>, расположенной над списком <span class=»Interface«>База данных</span>, можно упорядочить список объектов. Повторное |
|
нажатие кнопки отменяет упорядочивание.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>С помощью кнопки <span class=»Interface«>Отображать таблицы изменений</span> можно отобразить таблицы |
|
изменений объектов конфигурации в списке объектов в виде отдельных веток <span class=»Interface«><ИмяОбъекта>.Изменения</span>. Повторное нажатие кнопки |
|
скроет такие ветки в списке.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Для того чтобы создать вложенный запрос, нужно |
|
нажать кнопку <span class=»Interface«>Создать |
|
вложенный запрос</span> (см. <a href=»#_ref221519723«>рис.505</a>). В открывшемся конструкторе запроса сформировать |
|
требуемый запрос и нажать кнопку <span class=»Interface«>ОК</span>. Вложенный запрос отобразится в списке <span class=»Interface«>Таблицы</span>.</p> |
|
|
|
<p class=»Regularbeforepicture«>Для использования созданной временной таблицы |
|
следует нажать кнопку <span class=»Interface«>Создать описание временной таблицы</span> (см. <a href=»#_ref221519723«>рис.505</a>). В отобразившейся форме ввести имя таблицы, имена |
|
нужных полей и, при необходимости, указать тип значения полей.</p> |
|
|
|
<p class=»Picture«><IMG src=»_img/img00514.gif?_=1496848987» WIDTH=»364» ALT HEIGHT=»351«></p> |
|
|
|
<p class=»MsoCaption«>Рис. 506. Описание временной |
|
таблицы</p> |
|
|
|
<p class=»MsoNormalCxSpFirst«>С помощью кнопок <span class=»Interface«>Далее ></span> конструктора запроса нужно последовательно |
|
пройти по закладкам и выбрать необходимые исходные данные, указать группировки |
|
и условия, установить нужный порядок и описать итоговые данные. В результате |
|
работы конструктора создадутся форма и макет, которые будут располагаться в |
|
соответствующих ветвях. По кнопке <span class=»Interface«>Запрос</span> в любой момент можно открыть окно с текстом |
|
сформированного на основании указанных данных запроса.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Для корректировки данных следует использовать |
|
кнопку <span class=»Interface«>< Назад</span>.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>На закладке <span class=»Interface«>Таблицы и поля</span> выбрать нужные объекты и перенести их в |
|
разделы <span class=»Interface«>Таблицы</span> |
|
и <span class=»Interface«>Поля</span>.</p> |
|
|
|
<p class=»Regularbeforepicture«>Для указания дополнительных условий можно воспользоваться |
|
режимом формирования произвольных выражений в запросе. Для этого в списке <span class=»Interface«>Поля</span> контекстного меню нужно выбрать пункт <span class=»Interface«>Добавить</span>. На экран выводится окно произвольного |
|
выражения.</p> |
|
|
|
<p class=»Picture«><IMG src=»_img/img00515.gif?_=1496848987» WIDTH=»473» ALT HEIGHT=»369«></p> |
|
|
|
<p class=»MsoCaption«>Рис. 507. Конструктор |
|
произвольного выражения</p> |
|
|
|
<p class=»MsoNormal«>В нижнем поле формируется текст выражения. |
|
Выражение можно набирать с помощью клавиатуры. Для удобства ввода наименований |
|
реквизитов можно перетаскивать мышью нужные поля из списка полей и выбирать |
|
нужные функции языка запросов из списка, также перетаскивая их мышью в поле |
|
ввода выражения.</p> |
|
|
|
<p class=»Regularbeforepicture«>Если указано несколько таблиц, то в форму |
|
конструктора запроса добавляется закладка <span class=»Interface«>Связи</span>.</p> |
|
|
|
<p class=»Picture«><IMG src=»_img/img00516.gif?_=1496848987» WIDTH=»631» ALT HEIGHT=»367«></p> |
|
|
|
<p class=»MsoCaption«>Рис. 508. Определение условий |
|
связи между таблицами</p> |
|
|
|
<p class=»MsoNormal«>На закладке <span class=»Interface«>Связи</span> формируются условия, которые накладываются на |
|
связи между полями таблиц. Для ввода нового условия нужно нажать кнопку <span class=»Interface«>Добавить</span> и в колонке <span class=»Interface«>Таблица1</span> выбрать одну из таблиц; в колонке <span class=»Interface«>Таблица2</span> выбрать таблицу, поля которой связаны с полями |
|
первой. Ниже списка условий расположены элементы управления, с помощью которых |
|
формируется условие связи таблиц.</p> |
|
|
|
<p class=»Regularbeforepicture«>На закладке <span class=»Interface«>Группировка</span>, если требуется, нужно выбрать реквизиты, по |
|
которым будет выполнена группировка.</p> |
|
|
|
<p class=»Picture«><IMG src=»_img/img00517.gif?_=1496848987» WIDTH=»631» ALT HEIGHT=»367«></p> |
|
|
|
<p class=»MsoCaption«>Рис. 509. Группировка результата |
|
запроса</p> |
|
|
|
<p class=»Regularbeforepicture«>На закладке <span class=»Interface«>Условия</span>, если требуется, следует указать условия, по |
|
которым будет выполняться отбор исходных данных.</p> |
|
|
|
<p class=»Picture«><IMG src=»_img/img00518.gif?_=1496848987» WIDTH=»631» ALT HEIGHT=»367«></p> |
|
|
|
<p class=»MsoCaption«>Рис. 510. Условия запроса</p> |
|
|
|
<p class=»MsoNormal«>По каждому выбранному полю необходимо выбрать |
|
вид условия (для произвольного условия в колонке <span class=»Interface«>Произвольное</span> установить флажок). Если флажок не |
|
установлен, то следует выбрать вид условия и указать наименование параметра. |
|
Если флажок <span class=»Interface«>Произвольное</span> |
|
установлен, то можно воспользоваться окном формирования произвольных выражений |
|
(см. выше).</p> |
|
|
|
<p class=»Regularbeforepicture«>На закладке <span class=»Interface«>Дополнительно</span> указываются дополнительные условия.</p> |
|
|
|
<p class=»Picture«><IMG src=»_img/img00519.gif?_=1496848987» WIDTH=»631» ALT HEIGHT=»367«></p> |
|
|
|
<p class=»MsoCaption«>Рис. 511. Дополнительные |
|
параметры запроса</p> |
|
|
|
<p class=»Regularbeforepicture«>Если на закладке <span class=»Interface«>Дополнительно</span> выбрано создание временной таблицы, то на |
|
появившейся закладке <span class=»Interface«>Индекс</span> можно будет выбрать поля, по которым будет |
|
построен индекс.</p> |
|
|
|
<p class=»Picture«><IMG src=»_img/img00520.gif?_=1496848987» WIDTH=»631» ALT HEIGHT=»367«></p> |
|
|
|
<p class=»MsoCaption«>Рис. 512. Индекс временной |
|
таблицы</p> |
|
|
|
<p class=»Regularbeforepicture«>На закладке <span class=»Interface«>Объединения/Псевдонимы</span>, если требуется, нужно ввести |
|
псевдонимы полей.</p> |
|
|
|
<p class=»Picture«><IMG src=»_img/img00521.gif?_=1496848987» WIDTH=»631» ALT HEIGHT=»367«></p> |
|
|
|
<p class=»MsoCaption«>Рис. 513. Объединения/псевдонимы |
|
запроса</p> |
|
|
|
<p class=»MsoNormalCxSpFirst«>В таблице показано соответствие выбранных |
|
полей и исходных данных. Имена полей и соответствие можно изменить. Для изменения |
|
имени нужно выбрать поле и нажать клавишу <span class=»Interface«>Enter</span>, ввести новое имя поля. Для изменения соответствия |
|
в колонке <span class=»Interface«>Запрос</span> |
|
выбрать нужную строку и нажать клавишу <span class=»Interface«>Enter</span>. В выпадающем списке выбрать нужное значение.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Если требуется выбрать только уникальные |
|
значения, то следует установить флажок в колонке <span class=»Interface«>Без дубл</span>.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Псевдонимы полей, которые изменены |
|
пользователем, или были загружены из текста запроса, или при генерации |
|
псевдонима конструктор определил, что данный псевдоним обязателен, выделяются |
|
жирным шрифтом.</p> |
|
|
|
<p class=»Regularbeforepicture«>На закладке <span class=»Interface«>Порядок</span>, если требуется, нужно указать порядок вывода |
|
полученных данных.</p> |
|
|
|
<p class=»Picture«><IMG src=»_img/img00522.gif?_=1496848987» WIDTH=»631» ALT HEIGHT=»367«></p> |
|
|
|
<p class=»MsoCaption«><a name=»_ref215036265«>Рис. </a>514. Настройка упорядочивания результата запроса</p> |
|
|
|
<p class=»MsoNormal«>Как показано на <a href=»#_ref215036265«>рис.514</a>, выбран порядок вывода данных, отсортированных по |
|
дате, а в пределах одной даты выполняется сортировка по <span class=»Interface«>Поставщику</span>.</p> |
|
|
|
<p class=»Regularbeforepicture«>На закладке <span class=»Interface«>Итоги</span>, если требуется, следует указать, по каким полям |
|
нужно выводить промежуточные итоговые данные, а также указать необходимость |
|
формирования общих итогов.</p> |
|
|
|
<p class=»Picture«><IMG src=»_img/img00523.gif?_=1496848987» WIDTH=»631» ALT HEIGHT=»367«></p> |
|
|
|
<p class=»MsoCaption«>Рис. 515. Установка итогов для |
|
результата запроса</p> |
|
|
|
<p class=»MsoNormalCxSpFirst«>При нажатии кнопки <span class=»Interface«>>></span>, расположенной рядом с групповыми полями, в |
|
поля для группировки будут помещены все ссылочные поля. При нажатии кнопки <span class=»Interface«>>></span>, расположенной рядом с суммируемыми полями, в |
|
список суммируемых полей будут помещены все поля, имеющие числовой тип.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>На закладке <span class=»Interface«>Построитель</span> выполняется настройка построителя отчетов. |
|
Выбираются таблицы и поля, указываются условия и порядок представления, а также |
|
описываются итоговые данные.</p> |
|
|
|
<p class=»MsoListBulletCxSpFirst«>● |
|
На закладке <span class=»Interface«>Таблицы</span> редактируются параметры построителя отчета для |
|
виртуальных таблиц, а также отмечаются необязательные таблицы. Для |
|
редактирования параметров виртуальных таблиц необходимо выделить таблицу, для |
|
которой требуется настроить параметры, вызвать команду <span class=»Interface«>Параметры виртуальной таблицы</span>, после чего в появившемся |
|
диалоге ввести необходимые параметры таблицы для построителя отчета. Для того |
|
чтобы отметить таблицу как необязательную, необходимо снять флажок <span class=»Interface«>Обязательная</span> напротив имени таблицы, которую нужно |
|
пометить. Кроме того, для необязательных таблиц можно указать номер группы. |
|
Необязательные таблицы, находящиеся рядом в списке соединений и имеющие одинаковые |
|
номера групп, будут объединены в одну необязательную группу. Необязательные |
|
таблицы с различными номерами групп будут разнесены по различным группам |
|
необязательных таблиц.</p> |
|
|
|
<p class=»MsoListBulletCxSpMiddle«>● |
|
На закладке <span class=»Interface«>Поля</span> выбираются поля, которые построитель отчета будет |
|
использовать в качестве доступных полей для вывода в отчет.</p> |
|
|
|
<p class=»MsoListBulletCxSpMiddle«>● |
|
На закладке <span class=»Interface«>Условия</span> выбираются поля, которые построитель отчета |
|
будет использовать в качестве доступных полей для отбора.</p> |
|
|
|
<p class=»MsoListBulletCxSpMiddle«>● |
|
На закладке <span class=»Interface«>Порядок</span> выбираются поля, которые построитель отчета |
|
будет использовать в качестве доступных полей для упорядочивания результата.</p> |
|
|
|
<p class=»MsoListBulletCxSpLast«>● |
|
На закладке <span class=»Interface«>Итоги</span> выбираются поля, которые построитель отчета будет |
|
использовать в качестве доступных полей для группировки отчета.</p> |
|
|
|
<p class=»Regularbeforepicture«>На закладке <span class=»Interface«>Пакет запросов</span> при работе с пакетными запросами |
|
создается последовательность запросов пакета. Каждый запрос редактируется и |
|
настраивается в этом же окне, а на всех предыдущих закладках можно |
|
переключаться между настраиваемыми запросами.</p> |
|
|
|
<p class=»Picture«><IMG src=»_img/img00524.gif?_=1496848987» WIDTH=»631» ALT HEIGHT=»367«></p> |
|
|
|
<p class=»MsoCaption«>Рис. 516. Пакет запросов</p> |
|
|
|
<p class=»MsoNormalCxSpFirst«>По нажатию кнопки <span class=»Interface«>ОК</span> в программном модуле формируется текст запроса. Если |
|
происходит попытка открыть конструктором некорректный текст запроса, то при |
|
вызове конструктора запросов происходит автоматическая установка курсора в |
|
строку запроса, в которой обнаружена ошибка, и выдается диагностическое |
|
сообщение.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>В зависимости от того, откуда вызывается |
|
конструктор запроса (система компоновки данных, запрос с обработкой результата |
|
и т. д.), в форме конструктора могут добавляться новые закладки, |
|
описание которых можно увидеть в описании того механизма, откуда вызывается |
|
конструктор запроса.</p> |
|
|
|
<a name=»_ref150073309«></a><a name=»_ref141014984«></a><a name=»_ref141002886«></a><a id=»TI000000969» class=»bookmark» name=»issogl1_27.9_конструктор_запроса_с_обработкой_результата«><h2>27.9. Конструктор запроса с обработкой результата</h2></a> |
|
|
|
<p class=»MsoNormal«>Конструктор предназначен для генерации |
|
программного кода обработки результатов запроса. Данный конструктор помогает |
|
создавать следующие варианты обработки результатов запроса:</p> |
|
|
|
<p class=»MsoListBulletCxSpFirst«>● |
|
простой обход результатов запроса,</p> |
|
|
|
<p class=»MsoListBulletCxSpMiddle«>● |
|
вывод результатов запроса в табличный документ,</p> |
|
|
|
<p class=»MsoListBulletCxSpLast«>● |
|
вывод результатов запроса в диаграмму.</p> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Для вызова конструктора предназначен пункт <span class=»Interface«>Конструктор запроса с обработкой результата</span> контекстного |
|
меню редактора модулей.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>При вызове конструктор ищет в текущей строке |
|
код, который мог быть создан конструктором. Если такой код найден, то конструктор |
|
загружает найденный код (включая имена макетов и т. д.).</p> |
|
|
|
<p class=»Regularbeforepicture«>Окно конструктора запроса будет отличаться от |
|
описанного выше редактора запросов (см. <a href=»#_ref222321022«>здесь</a>).</p> |
|
|
|
<p class=»Picture«><IMG src=»_img/img00525.gif?_=1496848987» WIDTH=»716» ALT HEIGHT=»419«></p> |
|
|
|
<p class=»MsoCaption«>Рис. 517. Конструктор запроса с |
|
обработкой результата</p> |
|
|
|
<p class=»MsoNormal«>В конструкторе, открытом в таком режиме:</p> |
|
|
|
<p class=»MsoListBullet«>● |
|
На закладке <span class=»Interface«>Обработка результата</span> происходит выбор типа обработки |
|
результата запроса:</p> |
|
|
|
<p class=»MsoListBullet2CxSpFirst«>● |
|
<span class=»Interface«>Обход результата</span>,</p> |
|
|
|
<p class=»MsoListBullet2CxSpMiddle«>● |
|
<span class=»Interface«>Вывод в табличный документ</span>,</p> |
|
|
|
<p class=»MsoListBullet2CxSpLast«>● |
|
<span class=»Interface«>Вывод в диаграмму</span>.</p> |
|
|
|
<p class=»MsoListBullet«>● |
|
При выборе режима <span class=»Interface«>Вывод в табличный документ</span> и <span class=»Interface«>Вывод в диаграмму</span> отображаются параметры вывода в данные |
|
объекты.</p> |
|
|
|
<p class=»MsoNormalCxSpFirst«>После нажатия кнопки <span class=»Interface«>ОК</span> генерируется программный код, который будет вставлен |
|
в текущую позицию модуля. Если конструктор вызывался над уже сгенерированным |
|
кодом, старый код заменяется.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Если вывод осуществлялся в табличный |
|
документ, то в объекте метаданных, в модуле объекта или модуле формы которого |
|
он вызывался, создается макет для вывода в табличный документ. Он же |
|
модифицируется при повторном вызове конструктора. Данный макет удаляется, если |
|
ранее конструктор использовался для создания табличного документа, а теперь |
|
вызывается для генерации другого способа обработки результатов запроса. Если |
|
конструктор вызывается в общем модуле, то создается общий макет.</p> |
|
|
|
<p class=»Note«><span class=»Note«>Примечание.</span> Если у конфигурации |
|
установлен режим редактирования конфигурации для режимов запуска в управляемом |
|
приложении, то в меню объектов метаданных недоступна команда вызова |
|
конструктора выходных форм.</p> |
|
|
|
<a name=»_ref141014676«></a><a name=»_ref141003552«></a><a id=»TI000000970» class=»bookmark» name=»issogl1_27.10.конструктор_движений_регистров«><h2>27.10.Конструктор движений регистров</h2></a> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Конструктор движений регистров применяется |
|
для документов.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Для запуска конструктора движений регистров в |
|
окне редактирования документа, на закладке <span class=»Interface«>Движения</span> нужно указать состав регистров, движения |
|
которых осуществляет данный документ, и нажать кнопку <span class=»Interface«>Конструктор движений</span>. Если для выбранного документа определен |
|
состав движений хотя бы по одному регистру, то указанный пункт контекстного |
|
меню будет доступен.</p> |
|
|
|
<p class=»Regularbeforepicture«>При запуске конструктор запрашивает выбор |
|
регистра, по которому будет произведено формирование процедуры <span class=»Term«>ОбработкаПроведения()</span>, |
|
и открывает окно конструктора.</p> |
|
|
|
<p class=»Picture«><IMG src=»_img/img00526.gif?_=1496848987» WIDTH=»492» ALT HEIGHT=»410«></p> |
|
|
|
<p class=»MsoCaption«>Рис. 518. Конструктор движений |
|
регистров</p> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Первоначально список содержит только |
|
указанный регистр. Список можно изменить, добавляя регистры из списка регистров, |
|
отмеченных на закладке <span class=»Interface«>Движения</span> окна редактирования документа.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Для каждого регистра в зависимости от его |
|
типа необходимо указать предварительные настройки: для регистров накопления |
|
остатков указать тип движения; для регистров бухгалтерии, не поддерживающих |
|
корреспонденцию, – вид корреспонденции и счет; для регистров, |
|
поддерживающих корреспонденцию, – счет дебета и счет кредита.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Если у документа есть табличные части и их |
|
данные должны влиять на состояние регистров, то включение табличной части производится |
|
в списке выбора <span class=»Interface«>Табличная часть</span>.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Затем для каждого регистра производится |
|
заполнение формул атрибутов по данным реквизитов документа.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>В список формул нужно поместить формулы, |
|
определяющие, как вычислять движения регистра по выбранным реквизитам документа.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Эти формулы можно создавать «вручную» |
|
следующим образом. Формула вводится в колонке <span class=»Interface«>Формула</span> для каждого атрибута регистра, выделенного в |
|
списке. Можно вручную набрать ее в этом поле (а также вручную редактировать в |
|
нем созданную ранее формулу). Правильность написания формул конструктор не |
|
проверяет.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Можно также двойным щелчком в списке |
|
реквизитов документа помещать данные соответствующего реквизита в формулу. Конструктор |
|
не проверяет соответствие типов выбранных реквизитов.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Если есть хотя бы один тип, принадлежащий как |
|
реквизиту, так и измерению/ресурсу регистра и при этом их наименования совпадают, |
|
то для таких подчиненных объектов можно применить режим <span class=»Interface«>Автозаполнение</span>. Наименование реквизитов при нажатии |
|
кнопки <span class=»Interface«>Заполнить |
|
выражения</span> заносится в колонку <span class=»Interface«>Выражение</span> и может быть отредактировано.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>В результате работы конструктора в модуле |
|
объекта создается процедура <span class=»Term«>ОбработкаПроведения()</span>. |
|
В начало процедуры конструктор помещает предупреждение: <span class=»Interface«>Данный фрагмент построен конструктором. При повторном |
|
использовании конструктора внесенные вручную изменения будут потеряны!</span></p> |
|
|
|
<a name=»_ref141014572«></a><a name=»_ref141002742«></a><a name=»_ref425413158«></a><a id=»TI000000971» class=»bookmark» name=»issogl1_27.11.конструктор_печати«><h2>27.11.Конструктор печати</h2></a> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Конструктор печати предназначен для создания |
|
макета с заданными именованными областями и процедуры печати для объекта |
|
конфигурации.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Конструктор печати работает с объектами конфигурации:</p> |
|
|
|
<p class=»MsoListBulletCxSpFirst«>● |
|
Справочники,</p> |
|
|
|
<p class=»MsoListBulletCxSpMiddle«>● |
|
Документы,</p> |
|
|
|
<p class=»MsoListBulletCxSpMiddle«>● |
|
Журналы документов,</p> |
|
|
|
<p class=»MsoListBulletCxSpMiddle«>● |
|
Планы видов характеристик,</p> |
|
|
|
<p class=»MsoListBulletCxSpMiddle«>● |
|
Планы счетов,</p> |
|
|
|
<p class=»MsoListBulletCxSpMiddle«>● |
|
Планы расчетов,</p> |
|
|
|
<p class=»MsoListBulletCxSpLast«>● |
|
Планы обмена.</p> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Основные приемы работы с конструктором печати |
|
будут рассмотрены ниже на примере работы со справочником. Для других видов |
|
объектов конфигурации работа с конструктором может несколько отличаться.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Для запуска конструктора печати в окне <span class=»Interface«>Конфигурация</span> нужно указать требуемый объект. В |
|
контекстном меню выбрать пункт <span class=»Interface«>Конструкторы – Конструктор печати</span>.</p> |
|
|
|
<p class=»Regularbeforepicture«>В связи с тем, что результатом работы |
|
конструктора печати является процедура печати, располагаемая в модуле менеджера |
|
объекта, конструктор сначала проверяет доступность данного модуля. Если модуль |
|
объекта имеет ограничение доступа, на экран выводится запрос пароля. После |
|
ввода пароля на экран выводится окно конструктора.</p> |
|
|
|
<p class=»Picture«><IMG src=»_img/img00527.gif?_=1496848987» WIDTH=»578» ALT HEIGHT=»436«></p> |
|
|
|
<p class=»MsoCaption«>Рис. 519. Выбор варианта работы</p> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Вначале конструктор предлагает выбрать, для |
|
какого варианта запуска будет формироваться модуль печати.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Затем конструктор предлагает создать новую |
|
команду печати или изменить существующую команду. В случае создания новой |
|
команды предлагается указать ее имя. По умолчанию для команды предлагается имя <span class=»Interface«>Печать</span>. Указанное имя будет использоваться в качестве:</p> |
|
|
|
<p class=»MsoListBulletCxSpFirst«>● |
|
имени команды объекта;</p> |
|
|
|
<p class=»MsoListBulletCxSpMiddle«>● |
|
имени серверного метода модуля команды;</p> |
|
|
|
<p class=»MsoListBulletCxSpLast«>● |
|
имени метода менеджера объекта, который |
|
непосредственно реализует процедуру печати.</p> |
|
|
|
<p class=»Picture«><IMG src=»_img/img00528.gif?_=1496848987» WIDTH=»578» ALT HEIGHT=»436«></p> |
|
|
|
<p class=»MsoCaption«>Рис. 520. Создание команды печати</p> |
|
|
|
<p class=»MsoNormal«>Если выбрано изменение существующей команды, |
|
то в модуле команды объекта будут замещены тексты обработчика <span class=»Term«>ОбработкаКоманды()</span>, |
|
серверного метода с именем команды (в данном случае – <span class=»Term«>Печать()</span>), |
|
метода модуля менеджера объекта с именем команды и макета.</p> |
|
|
|
<p class=»Regularbeforepicture«>После нажатия кнопки <span class=»Interface«>Далее ></span> конструктор переходит к выбору |
|
реквизитов шапки. С помощью кнопок переноса нужно сформировать список |
|
реквизитов.</p> |
|
|
|
<p class=»Picture«><IMG src=»_img/img00529.gif?_=1496848987» WIDTH=»578» ALT HEIGHT=»436«></p> |
|
|
|
<p class=»MsoCaption«>Рис. 521. Выбор реквизитов шапки</p> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Если объект конфигурации имеет табличные |
|
части, то после нажатия кнопки <span class=»Interface«>Далее ></span> конструктор переходит к выбору реквизитов |
|
очередной табличной части. Список печати формируется аналогично списку |
|
реквизитов шапки.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Если объект конфигурации имеет табличные |
|
части, то после нажатия кнопки <span class=»Interface«>Далее ></span> конструктор переходит к выбору реквизитов |
|
подвала.</p> |
|
|
|
<p class=»Regularbeforepicture«>Затем следует указать, к какой группе будет |
|
отнесена созданная команда, и указать некоторые параметры сформированного табличного |
|
документа.</p> |
|
|
|
<p class=»Picture«><IMG src=»_img/img00530.gif?_=1496848987» WIDTH=»578» ALT HEIGHT=»436«></p> |
|
|
|
<p class=»MsoCaption«>Рис. 522. Настройка конструктора |
|
печати</p> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Нажатие кнопки <span class=»Interface«>ОК</span> завершает работу конструктора печати.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>В результате работы конструктора:</p> |
|
|
|
<p class=»MsoListBulletCxSpFirst«>● |
|
У выбранного объекта создается макет <span class=»Interface«>Макет</span> с печатной формой (имя формы соответствует имени |
|
созданной команды).</p> |
|
|
|
<p class=»MsoListBulletCxSpMiddle«>● |
|
У выбранного объекта создается команда, которая |
|
подготавливает табличный документ и вызывает серверную процедуру (с именем |
|
команды), заполняющую переданный табличный документ.</p> |
|
|
|
<p class=»MsoListBulletCxSpLast«>● |
|
В модуле менеджера выбранного объекта |
|
генерируется процедура, параметры которой позволяют печатать сразу несколько |
|
объектов (список). Созданная команда получает права, аналогичные праву <span class=»Interface«>Просмотр</span> объекта, для которого вызывается конструктор.</p> |
|
|
|
<a name=»_ref141014854«></a><a name=»_ref141014711«></a><a name=»_ref141014641«></a><a name=»_ref141003107«></a><a id=»TI000000972» class=»bookmark» name=»issogl1_27.12.конструктор_ввода_на_основании«><h2>27.12.Конструктор ввода на основании</h2></a> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Конструктор ввода на основании облегчает |
|
задачу разработки процедуры, с помощью которой будет формироваться новый объект.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Конструктор ввода на основании применяется:</p> |
|
|
|
<p class=»MsoListBulletCxSpFirst«>● |
|
для справочников,</p> |
|
|
|
<p class=»MsoListBulletCxSpMiddle«>● |
|
документов,</p> |
|
|
|
<p class=»MsoListBulletCxSpMiddle«>● |
|
планов видов характеристик,</p> |
|
|
|
<p class=»MsoListBulletCxSpMiddle«>● |
|
планов счетов,</p> |
|
|
|
<p class=»MsoListBulletCxSpMiddle«>● |
|
планов видов расчета,</p> |
|
|
|
<p class=»MsoListBulletCxSpMiddle«>● |
|
планов обмена,</p> |
|
|
|
<p class=»MsoListBulletCxSpMiddle«>● |
|
бизнес-процессов,</p> |
|
|
|
<p class=»MsoListBulletCxSpLast«>● |
|
задач.</p> |
|
|
|
<p class=»MsoNormal«>Для запуска конструктора в окне <span class=»Interface«>Конфигурация</span> нужно указать требуемый объект. В |
|
контекстном меню выбрать пункт <span class=»Interface«>Конструкторы – Конструктор ввода на основании</span>. Если |
|
для выбранного объекта конфигурации определен режим ввода на основании, то |
|
указанный пункт контекстного меню будет доступен.</p> |
|
|
|
<p class=»Regularbeforepicture«>При запуске открывается окно <span class=»Interface«>Конструктор ввода на основании</span>.</p> |
|
|
|
<p class=»Picture«><IMG src=»_img/img00531.gif?_=1496848987» WIDTH=»598» ALT HEIGHT=»488«></p> |
|
|
|
<p class=»MsoCaption«>Рис. 523. Конструктор ввода на |
|
основании</p> |
|
|
|
<p class=»MsoNormalCxSpFirst«>В верхней части содержится список |
|
объектов-оснований; список реквизитов объекта-основания, выбранного в первом |
|
списке.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>В нижней части расположен список реквизитов |
|
результирующего объекта. В список реквизитов объекта нужно поместить выражения, |
|
определяющие, как заполнять реквизиты документа по выбранным реквизитам |
|
объекта-основания.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Эти формулы можно создавать «вручную» |
|
следующим образом. Выражение определяется в поле ввода <span class=»Interface«>Формула</span> заполнения реквизита для реквизита объекта, |
|
выделенного в списке. Можно вручную набрать ее в этом поле (а также вручную |
|
редактировать в нем созданную ранее формулу). Правильность написания формул |
|
конструктор не проверяет.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Можно также двойным щелчком в списке |
|
реквизитов объекта-основания помещать данные соответствующего реквизита в поле <span class=»Interface«>Формула</span> заполнения реквизита, причем сразу в правильной |
|
записи. Конструктор не проверяет соответствие типов выбранных реквизитов.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Возможна и комбинация двух описанных |
|
способов: данные из списка реквизитов объектов-оснований при помещении в поле |
|
ввода замещают не всю имеющуюся там информацию, а только выделенные символы.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>По кнопке <span class=»Interface«>Автозаполнение после запроса</span> и подтверждения программа |
|
сама создаст формулы для заполнения по реквизитам объекта-основания. Ранее |
|
заполненные формулы при автоматическом заполнении не изменяются. Подбор среди |
|
реквизитов объекта-основания соответствий реквизитам документа осуществляется с |
|
учетом имен реквизитов, их идентификаторов и типов.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>По кнопке <span class=»Interface«>Очистить формулы</span> после запроса и подтверждения очищаются |
|
все формулы, созданные как автоматически, так и вручную.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Формулы, созданные для объекта-основания, |
|
выбранного в списке объектов-оснований, запоминаются при переходе к другому |
|
объекту-основанию этого списка. Поэтому можно, не прекращая работы |
|
конструктора, создать процедуры ввода на основании для нескольких |
|
документов-оснований. Можно также возвращаться к редактированию процедуры для |
|
какого-либо объекта-основания, снова выбирая его в списке.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Для прекращения работы конструктора служат |
|
кнопки <span class=»Interface«>ОК</span> |
|
и <span class=»Interface«>Отмена</span> |
|
(соответственно с сохранением и без сохранения сделанных изменений).</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>В результате работы конструктора в модуле |
|
объекта создается процедура <span class=»Term«>ОбработкаЗаполнения()</span>. |
|
В начало процедуры конструктор помещает предупреждение: <span class=»Interface«>Данный фрагмент построен конструктором. При повторном |
|
использовании конструктора внесенные вручную изменения будут потеряны!</span></p> |
|
|
|
<p class=»MsoNormalCxSpLast«>При повторном использовании конструктора все |
|
формулы, сформированные ранее для какого-либо документа-основания, будут |
|
появляться в списке реквизитов документа при выделении соответствующего |
|
документа-основания в списке документов-оснований. Конструктор предъявит для |
|
просмотра и редактирования формулы, сформированные при предыдущем его запуске, |
|
как с помощью кнопки <span class=»Interface«>Заполнить</span> формулы автоматически, так и вручную. Более |
|
того, он учтет и формулы, вручную внесенные в модуль документа, если они |
|
помещены в формируемую им процедуру. Правильность этих формул конструктор не |
|
проверяет. Например, если для какого-то реквизита документа указано заполнение |
|
двумя различными реквизитами документа-основания, конструктор для показа |
|
выберет один из них (по алфавиту). Именно он останется в модуле после |
|
обновления результатов работы конструктора. Вторая строка, соответствующая тому |
|
же реквизиту, будет удалена.</p> |
|
|
|
<a name=»_ref219792197«></a><a name=»_ref219791782«></a><a name=»_ref216266793«></a><a name=»_ref441854797«></a><a id=»TI000000973» class=»bookmark» name=»issogl1_27.13.конструктор_форм_объектов_конфигурации«><h2>27.13.Конструктор форм объектов конфигурации</h2></a> |
|
|
|
<p class=»MsoNormal«>Для каждого объекта конфигурации, в составе |
|
которого могут находиться подчиненные объекты типа <span class=»Interface«>Форма</span>, при добавлении новой формы запускается <span class=»Interface«>Конструктор формы</span>. Это специальный мастер, с помощью |
|
которого производится выбор типа формы и размещаются реквизиты объекта конфигурации. |
|
Несмотря на существенные различия типов объектов, для которых производится |
|
создание формы, конструкторы имеют много общего. Поэтому рассмотрим работу конструктора |
|
форм на примере конструктора формы документа.</p> |
|
|
|
<p class=»Regularbeforepicture«>При создании новой формы объекта на экран |
|
выводится конструктор формы.</p> |
|
|
|
<p class=»Picture«><IMG src=»_img/img00532.gif?_=1496848987» WIDTH=»449» ALT HEIGHT=»420«></p> |
|
|
|
<p class=»MsoCaption«>Рис. 524. Конструктор формы</p> |
|
|
|
<p class=»MsoNormal«>Группа элементов управления <span class=»Interface«>Выберите тип формы</span> предназначена для выбора типа формы |
|
(состав определяется видом выбранного объекта конфигурации, для которого создается |
|
форма). Для объекта конфигурации <span class=»Term«>Документ</span> |
|
это следующие формы:</p> |
|
|
|
<p class=»MsoListBulletCxSpFirst«>● |
|
форма документа;</p> |
|
|
|
<p class=»MsoListBulletCxSpMiddle«>● |
|
форма списка документа;</p> |
|
|
|
<p class=»MsoListBulletCxSpMiddle«>● |
|
форма выбора документа;</p> |
|
|
|
<p class=»MsoListBulletCxSpLast«>● |
|
произвольная форма (пустая форма).</p> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Число форм по каждому типу форм неограниченно. |
|
Если у объекта несколько форм одного типа, то одну из них можно выбрать в |
|
качестве основной. Если при вызове формы объекта не указано явно, какую именно |
|
форму следует вызвать, на экран будет выводиться основная форма. Для указания основной |
|
формы при создании нужно установить флажок <span class=»Interface«>Назначить форму основной</span>. В дальнейшем выбор основной |
|
формы можно изменить в окне редактирования объекта (см. <A href=»/db/content/v8310doc/src/руководство разработчика/глава 2. работа с конфигурацией.htm?_=1496848987#_ref216514138«>здесь</a>), на закладке <span class=»Interface«>Формы</span>.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Выбор типа <span class=»Interface«>Произвольная форма</span> не приводит к созданию основного |
|
реквизита. В этом случае форма имеет типовое поведение. Выбор иного типа формы |
|
влечет создание основного реквизита и определяет отличительное от типового поведение |
|
формы. Данные отличия описываются объектами, называемыми расширение формы (см. описание |
|
соответствующих объектов справки по встроенному языку).</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Выбор типа формы определяет тип основного |
|
реквизита и, следовательно, поведение всей формы, а также возможный состав команд |
|
панели инструментов.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Нужно указать имя формы, синоним и |
|
комментарий.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Состав команд командных панелей определяется |
|
источником действий и типом основного реквизита формы.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Если нажать кнопку <span class=»Interface«>Готово</span>, то конструктор самостоятельно разместит элементы |
|
управления в форме и откроет форму для редактирования.</p> |
|
|
|
<p class=»Regularbeforepicture«>Если необходимо изменить состав реквизитов |
|
формы, следует нажать кнопку <span class=»Interface«>Далее ></span>. Состав реквизитов определяется основным |
|
реквизитом формы.</p> |
|
|
|
<p class=»Picture«><IMG src=»_img/img00533.gif?_=1496848987» WIDTH=»449» ALT HEIGHT=»422«></p> |
|
|
|
<p class=»MsoCaption«>Рис. 525. Выбор реквизитов формы</p> |
|
|
|
<p class=»MsoNormal«>На этом шаге конструктора формы следует |
|
выбрать реквизиты, которые необходимо разместить в форме. Выбор осуществляется |
|
в колонке <span class=»Interface«>Реквизиты</span> |
|
установкой пометки слева от наименования элемента.</p> |
|
|
|
<p class=»Note«><span class=»Note«>ВНИМАНИЕ!</span> Конструктор формы не |
|
включает в список те реквизиты, чей тип не имеет визуального представления (например, |
|
<span class=»Term«>ХранилищеЗначения</span>).</p> |
|
|
|
<a name=»_ref217280928«></a><a id=»TI000000974» class=»bookmark» name=»issogl2_27.13.1_особенности_конструктора_форм_констант«><h3>27.13.1. Особенности конструктора форм констант</h3></a> |
|
|
|
<p class=»Regularbeforepicture«>Каждая константа может иметь собственную |
|
форму редактирования. Для создания такой формы необходимо выполнить команду <span class=»Interface«>Создать форму констант</span> контекстного меню нужной |
|
константы.</p> |
|
|
|
<p class=»Picture«><IMG src=»_img/img00534.gif?_=1496848987» WIDTH=»324» ALT HEIGHT=»349«></p> |
|
|
|
<p class=»MsoCaption«>Рис. 526. Создание формы |
|
редактирования констант</p> |
|
|
|
<p class=»Regularbeforepicture«>После выполнения данной команды будет открыт |
|
конструктор общей формы, где в качестве данных будут перечислены все константы |
|
системы и текущая константа будет единственным выбранным реквизитом (по |
|
умолчанию).</p> |
|
|
|
<p class=»Picture«><IMG src=»_img/img00535.gif?_=1496848987» WIDTH=»702» ALT HEIGHT=»420«></p> |
|
|
|
<p class=»MsoCaption«>Рис. 527. Выбор редактируемых |
|
констант</p> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Такая же форма будет автоматически создана |
|
системой, если у константы не будет заполнено свойство <span class=»Interface«>Основная форма</span>, но будет установлено свойство <span class=»Interface«>Использовать стандартные команды</span>.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Если необходимо создать форму редактирования |
|
нескольких констант, то следует создать общую форму типа <span class=»Interface«>Форма констант</span>, а затем на странице выбора реквизитов |
|
указать константы, которые необходимо редактировать.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Формы констант будут входить в командный |
|
интерфейс тех подсистем, куда входит сама константа (если у константы установлено |
|
свойство <span class=»Interface«>Использовать |
|
стандартные команды</span>) и общая форма редактирования константы (если у |
|
общей формы установлено свойство <span class=»Interface«>Использовать стандартные команды</span>).</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Если для константы, у которой установлено |
|
свойство <span class=»Interface«>Использовать |
|
стандартные команды</span>, создается форма редактирования, то конструктор |
|
общей формы сбрасывает свойство <span class=»Interface«>Использовать стандартные команды</span> для формы. Таким |
|
образом, формы редактирования константы будут попадать в командные интерфейсы |
|
только тех подсистем, куда входит сама константа.</p> |
|
|
|
<a name=»_ref141015030«></a><a name=»_ref141003509«></a><a id=»TI000000975» class=»bookmark» name=»issogl1_27.14.конструктор_макета«><h2>27.14.Конструктор макета</h2></a> |
|
|
|
<p class=»MsoNormal«>Конструктор макета используется для создания |
|
макетов объектов конфигурации и общих макетов.</p> |
|
|
|
<p class=»Regularbeforepicture«>Окно конструктора выводится на экран при |
|
выполнении пункта <span class=»Interface«>Действия – Добавить</span>, если выбрана ветвь подчиненного |
|
объекта <span class=»Interface«>Макеты</span> |
|
или <span class=»Interface«>Общие макеты</span>.</p> |
|
|
|
<p class=»Picture«><IMG src=»_img/img00536.gif?_=1496848987» WIDTH=»449» ALT HEIGHT=»437«></p> |
|
|
|
<p class=»MsoCaption«>Рис. 528. Конструктор макета</p> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Нужно указать имя, синоним и комментарий и выбрать |
|
тип макета.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Тип <span class=»Interface«>Табличный документ</span> предполагает использование |
|
стандартной технологии создания и использования макетов табличных документов |
|
системы «1С:Предприятие».</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Тип макета <span class=»Interface«>Текстовый документ</span> предполагает использование специально |
|
подготовленных в качестве макетов текстовых документов. Для текстового |
|
документа свойство <span class=»Interface«>Расширение</span> имеет значение <span class=»Interface«>Текстовый макет</span>.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Выбор типа <span class=»Interface«>Двоичные данные</span> подразумевает, что разработчик |
|
конфигурации знает, как работать с объектом данного типа.</p> |
|
|
|
<p class=»Regularbeforepicture«>Тип макета <span class=»Interface«>Active document</span> позволяет использовать технологию <span class=»Interface«>OLE Active document</span>. Если нажать кнопку <span class=»Interface«>Готово</span>, то конструктор производит поиск доступных типов <span class=»Interface«>Active document</span> и предлагает выбрать один из найденных.</p> |
|
|
|
<p class=»Picture«><IMG src=»_img/img00537.gif?_=1496848987» WIDTH=»506» ALT HEIGHT=»277«></p> |
|
|
|
<p class=»MsoCaption«>Рис. 529. Вставка Active document</p> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Можно выбрать готовый <span class=»Interface«>Active document</span>, служащий основой для создания макета |
|
(загрузить из файла прототип макета). Если выбран файл, чей тип не попадает в |
|
список поддерживаемых <span class=»Interface«>Active document</span>, то конструктор выводит предупреждение.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Указанный документ будет храниться в |
|
конфигурации. Работа с макетом должна быть организована с использованием |
|
свойств и методов, предоставляемых выбранной технологической платформой.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Если выбран тип <span class=»Interface«>HTML-документ</span>, то открывается редактор HTML-макета. В |
|
данном режиме поддерживаются все возможности HTML-редактора. В дополнение к |
|
этому редактор HTML-макета позволяет использовать картинки библиотеки картинок, |
|
из файла, из файла-коллекции или из «внутренних» картинок. Внутренние картинки – |
|
это уже выбранные из файла картинки, они хранятся «внутри» макета.</p> |
|
|
|
<p class=»Regularbeforepicture«>Чтобы поместить картинку в макет, нужно |
|
выбрать пункт <span class=»Interface«>Элементы – |
|
Картинка…</span></p> |
|
|
|
<p class=»Picture«><IMG src=»_img/img00538.gif?_=1496848987» WIDTH=»352» ALT HEIGHT=»193«></p> |
|
|
|
<p class=»MsoCaption«>Рис. 530. Вставка картинки</p> |
|
|
|
<p class=»Regularbeforepicture«>Для выбора картинки нажать кнопку выбора. В открывшемся |
|
окне выбрать нужную картинку.</p> |
|
|
|
<p class=»Picture«><IMG src=»_img/img00539.gif?_=1496848987» WIDTH=»469» ALT HEIGHT=»353«></p> |
|
|
|
<p class=»MsoCaption«>Рис. 531. Выбор картинки</p> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Выбор типа <span class=»Interface«>Географическая схема</span> позволяет использовать |
|
подготовленные редактором географических схем документы для создания макета.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Выбор типа <span class=»Interface«>Графическая схема</span> позволяет использовать графические |
|
схемы, подготовленные в редакторе графических схем, или загрузить схему из |
|
файла и использовать ее в качестве макета.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Выбор типа <span class=»Interface«>Схема компоновки данных</span> открывает конструктор схемы |
|
компоновки данных (см. <A href=»/db/content/v8310doc/src/руководство разработчика/глава 10. система компоновки данных.htm?_=1496848987#_ref166301286«>здесь</a>).</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Выбор типа <span class=»Interface«>Макет оформления компоновки данных</span> открывает окно |
|
конструктора макета оформления (см. <A href=»/db/content/v8310doc/src/руководство разработчика/глава 10. система компоновки данных.htm?_=1496848987#_ref166301515«>здесь</a>).<br> |
|
Выбор типа <span class=»Interface«>Внешняя |
|
компонента</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 id=»TI000000976» class=»bookmark» name=»issogl1_27.15.конструктор_форматной_строки«><h2>27.15.Конструктор форматной строки</h2></a> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Для написания выражений, использующих |
|
представление числа, даты и логического выражения, можно использовать конструктор |
|
форматной строки.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Чтобы вызвать конструктор, нужно установить |
|
курсор в требуемое место текста модуля и выбрать пункт <span class=»Interface«>Текст – Конструктор форматной строки</span>. Для новой |
|
строки редактор выводит сообщение: <span class=»Interface«>Форматная строка не найдена. Создать новую форматную строку?</span> |
|
После нажатия кнопки <span class=»Interface«>Да</span> на экран выводится окно конструктора.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Также конструктор можно вызвать из свойств <span class=»Interface«>Формат</span> и <span class=»Interface«>Формат редактирования</span> элемента формы. Для этого нужно |
|
нажать кнопку выбора соответствующего свойства.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Закладки окна соответствуют типу данных, |
|
форматная строка которых формируется в окне.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Элементы управления, с помощью которых |
|
выбирается формат представления, размещены на трех закладках по типам данных:</p> |
|
|
|
<p class=»MsoListBulletCxSpFirst«>● |
|
число,</p> |
|
|
|
<p class=»MsoListBulletCxSpMiddle«>● |
|
дата,</p> |
|
|
|
<p class=»MsoListBulletCxSpLast«>● |
|
логические значения.</p> |
|
|
|
<p class=»MsoNormal«>Поле <span class=»Interface«>Язык (Страна)</span> (параметр <span class=»Term«>Л</span>) |
|
определяет представление информации в соответствии с национальными |
|
представлениями. Значения, заданные на следующих закладках, являются более приоритетными |
|
по отношению к указанию страны.</p> |
|
|
|
<p class=»Regularbeforepicture«>Для числа нужно выбрать закладку <span class=»Interface«>Число</span>.</p> |
|
|
|
<p class=»Picture«><IMG src=»_img/img00540.gif?_=1496848987» WIDTH=»467» ALT HEIGHT=»397«></p> |
|
|
|
<p class=»MsoCaption«>Рис. 532. Конструктор форматной |
|
строки для числа</p> |
|
|
|
<p class=»MsoNormalCxSpFirst«>В поле <span class=»Interface«>Длина</span> (параметр <span class=»Term«>ЧЦ</span>) указывается общее число десятичных знаков |
|
(целой и дробной частей). В поле <span class=»Interface«>Точность</span> (параметр <span class=»Term«>ЧДЦ</span>) указывается число десятичных знаков дробной |
|
части.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>В поле <span class=»Interface«>Сдвиг</span> (параметр <span class=»Term«>ЧС</span>) указывается сдвиг разрядов. Если значение |
|
поля положительное, то производится деление числа на 10 в соответствующей |
|
степени, если отрицательное – умножение.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>В поле <span class=»Interface«>Разделитель дробной части</span> (параметр <span class=»Term«>ЧРД</span>) задается символ разделителя.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>В поле <span class=»Interface«>Разделитель групп</span> (параметр <span class=»Term«>ЧРГ</span>) задается символ разделителя групп. Если в |
|
качестве разделителя использовать пустую строку, то разделителем будет символ |
|
неразрывного пробела.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>В поле <span class=»Interface«>Группировка</span> (параметр <span class=»Term«>ЧГ</span>) выбирается вариант группировки цифр в |
|
целой части числа.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>В поле <span class=»Interface«>Представление нуля</span> (параметр <span class=»Term«>ЧН</span>) выбирается вариант представления нулевого |
|
значения. Параметр можно использовать в форматной строке, для поля ввода он не |
|
используется.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>В поле <span class=»Interface«>Представление отрицательных чисел</span> (параметр <span class=»Term«>ЧО</span>) выбирается вариант представления |
|
отрицательных чисел.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Если флажок <span class=»Interface«>Выводить лидирующие нули</span> (параметр <span class=»Term«>ЧВН</span>) установлен, то лидирующие нули выводятся.</p> |
|
|
|
<p class=»Note«><span class=»Note«>Совет.</span> В нижней части окна |
|
конструктора расположена область, в которую выводится результат действия форматной |
|
строки (группа <span class=»Interface«>Пример</span>) и сама форматная строка.</p> |
|
|
|
<p class=»Regularbeforepicture«>Для настройки даты нужно выбрать закладку <span class=»Interface«>Дата</span>.</p> |
|
|
|
<p class=»Picture«><IMG src=»_img/img00541.gif?_=1496848987» WIDTH=»467» ALT HEIGHT=»397«></p> |
|
|
|
<p class=»MsoCaption«>Рис. 533. Конструктор форматной |
|
строки для даты</p> |
|
|
|
<p class=»MsoNormalCxSpFirst«>В поле <span class=»Interface«>Формат даты</span> (параметр <span class=»Term«>ДФ</span>) выбирается вариант представления даты. Рекомендуется |
|
использовать этот формат в том случае, когда требуется получить в точности тот |
|
или иной формат представления даты, вне зависимости от параметров локализации. |
|
Например, для форматной строки <span class=»Term«>ДФ=гггг-ММ-дд</span>, |
|
представление даты всегда будет выглядеть как <span class=»Interface«>2015-12-01</span>.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>В поле <span class=»Interface«>Локальный формат даты</span> (параметр <span class=»Term«>ДЛФ</span>) выбирается локальный вариант |
|
представления даты. Для поля ввода не допускается выбор значения параметра <span class=»Term«>ДД</span>. Этот вариант представления рекомендуется |
|
выбирать в тех случаях, когда при формировании представления даты следует |
|
учитывать текущие параметры локализации. Параметры локализации могут |
|
указываться как непосредственно в форматной строке, так и получаться из |
|
региональных настроек информационной базы.</p> |
|
|
|
<p class=»Lang-subheader«>Пример:</p> |
|
|
|
<a class=»copy_source» href=»#_top» onClick=»return false«>Копировать в буфер обмена</a> |
|
<pre class=»src_res«> |
|
Формат(‘20151201’, "Л=ru;ДЛФ=Д") = 01.12.2015 |
|
Формат(‘20151201’, "Л=en_US;ДЛФ=Д") = 12/1/2015 |
|
Формат(‘20151201’, "Л=ru;ДЛФ=ДB") = 01.12.2015 0:00:00 |
|
Формат(‘20151201’, "Л=en_US;ДЛФ=ДВ") = 12/1/2015 12:00:00 AM |
|
</pre> |
|
|
|
<p class=»MsoNormal«>В поле <span class=»Interface«>Представление пустой даты</span> (параметр <span class=»Term«>ДП</span>) выбирается вариант представления пустой |
|
даты. Параметр можно использовать в форматной строке, для поля ввода он не используется.</p> |
|
|
|
<p class=»Note«><span class=»Note«>Совет.</span> В нижней части окна |
|
конструктора расположена область, в которую выводится результат действия форматной |
|
строки (группа <span class=»Interface«>Пример</span>) и сама форматная строка.</p> |
|
|
|
<p class=»Regularbeforepicture«>Для данных типа <span class=»Term«>Булево</span> |
|
нужно выбрать закладку <span class=»Interface«>Логическое значение</span>.</p> |
|
|
|
<p class=»Picture«><IMG src=»_img/img00542.gif?_=1496848987» WIDTH=»467» ALT HEIGHT=»397«></p> |
|
|
|
<p class=»MsoCaption«>Рис. 534. Конструктор форматной |
|
строки для логического значения</p> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Если какое-то значение не выбрано, то оно |
|
выбирается из настроек, устанавливаемых по умолчанию.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Подробнее о параметрах форматной строки написано |
|
в описании параметра <span class=»Term«>ФорматнаяСтрока</span> |
|
метода <span class=»Term«>Формат()</span> |
|
в описании встроенного языка.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>В результате использования конструктора |
|
форматной строки в текст (или поле ввода) будет вставлена сформированная строка |
|
(при нажатии кнопки <span class=»Interface«>ОК</span>).</p> |
|
|
|
<p class=»Note«>Совет. В |
|
редакторе текстов можно установить курсор внутри форматной строки и выбрать |
|
пункт меню <span class=»Interface«>Текст – Конструктор |
|
форматной строки</span> для изменения существующей форматной строки.</p> |
|
|
|
<a id=»TI000000977» class=»bookmark» name=»issogl1_27.16.конструктор_строк_на_разных_языках«><h2>27.16.Конструктор строк на разных языках</h2></a> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Конструктор позволяет отредактировать строки |
|
на всех языках конфигурации и дополнительно тех, чьи коды содержатся в редактируемом |
|
наборе, однако конфигурация не содержит языков с таким кодом.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Результатом работы конструктора будет строка |
|
вида:</p> |
|
|
|
<a class=»copy_source» href=»#_top» onClick=»return false«>Копировать в буфер обмена</a> |
|
<pre class=»src_res«><код_языка1> = <Строка_1>; <код_языка2> = <Строка_2>;…</pre> |
|
|
|
<p class=»MsoNormal«>Конструктор удобно использовать при создании |
|
параметра <span class=»Term«>ИсходнаяСтрока</span> |
|
функции глобального контекста <span class=»Term«>НСтр()</span>.</p> |
|
|
|
<p class=»Regularbeforepicture«>Для вызова конструктора следует установить |
|
курсор в нужное место модуля и выбрать пункт <span class=»Interface«>Текст – Конструктор строк на разных языках</span>. Редактор |
|
анализирует текст модуля в области курсора и, когда найдена конструкция, |
|
открывает окно конструктора. Если конструкция не найдена, то конструктор сообщает |
|
об этом.</p> |
|
|
|
<p class=»Picture«><IMG src=»_img/img00543.gif?_=1496848987» WIDTH=»386» ALT HEIGHT=»190«></p> |
|
|
|
<p class=»MsoCaption«>Рис. 535. Конструктор строк на |
|
разных языках</p> |
|
|
|
<p class=»MsoNormalCxSpFirst«>В окне конструктора будет столько полей для |
|
ввода текста, сколько языков определено для конфигурации.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Нужно ввести тексты и нажать кнопку <span class=»Interface«>ОК</span>. Результатом работы конструктора будет строка:</p> |
|
|
|
<a class=»copy_source» href=»#_top» onClick=»return false«>Копировать в буфер обмена</a> |
|
<pre class=»src_res«>ru = ‘Доброе утро!’; en = ‘Good Morning!’</pre> |
|
|
|
<a name=»_ref219791844«></a><a name=»_ref216072559«></a><a id=»TI000000978» class=»bookmark» name=»issogl1_27.17.редактор_табличных_документов«><h2>27.17.Редактор табличных документов</h2></a> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Для создания различных печатных форм, а также |
|
форм, предназначенных для представления и ввода информации с использованием |
|
табличных документов, в системе «1С:Предприятие» используется специализированный |
|
редактор табличных документов.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Таблицу сочетаний клавиш для редактора |
|
табличных документов можно найти в справке при использовании программы.</p> |
|
|
|
<a id=»TI000000979» class=»bookmark» name=»issogl2_27.17.1_что_такое_табличный_документ_в_системе_1с_предприятие«><h3>27.17.1. Что такое табличный документ в системе «1С:Предприятие»</h3></a> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Хотя в программе реализована возможность |
|
использования табличного документа для непосредственного ввода, обработки и |
|
отображения данных различных типов, как в «обычных» электронных таблицах |
|
(использование табличных документов, размещенных в форме), табличные документы |
|
в системе «1С:Предприятие» используются в основном для представления уже обработанной |
|
информации, в частности, описания печатной формы отчета. Обработка информации и |
|
помещение ее в нужные места табличного документа для большинства объектов конфигурации |
|
выполняются программными модулями на языке системы «1С:Предприятие».</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>В системе программ «1С:Предприятие» табличный |
|
редактор применяется для работы с отдельными табличными документами и макетами |
|
печатных форм.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Сформированный табличный документ можно |
|
сохранить в файл на диске в различных форматах. Если документ сохранен в |
|
формате MXL, то в дальнейшем этот документ можно просмотреть с помощью |
|
программы работы с файлами, скачать которую можно по этому адресу: <a href=»http://v8.1c.ru/metod/fileworkshop.htm» target=»_blank«>http://v8.1c.ru/metod/fileworkshop.htm</a>.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Макет хранится внутри конфигурации. Макеты |
|
бывают общими (располагаются в ветви <span class=»Interface«>Общие – Макеты</span>; например, макеты стандартных |
|
платежных документов, печатающихся из различных документов), а также могут |
|
относиться к определенному объекту конфигурации (например, карточка основного |
|
средства). Объект конфигурации может иметь несколько различных макетов печатных |
|
форм.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>В форме также можно расположить табличный документ. |
|
Для этого необходимо использовать элемент управления <span class=»Interface«>Поле табличного документа</span>. В этом режиме в табличный документ |
|
можно вставить другие элементы управления.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Макеты и табличные документы с точки зрения |
|
приемов работы практически полностью совпадают.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Табличные документы (отдельные файлы и |
|
макеты) можно сравнивать и объединять.</p> |
|
|
|
<a id=»TI000000980» class=»bookmark» name=»issogl2_27.17.2_макет«><h3>27.17.2. Макет</h3></a> |
|
|
|
<p class=»MsoNormal«>Создание макета производится конструктором |
|
макетов (см. <a href=»#_ref141015030«>здесь</a>) и конструктором запроса с обработкой результата (см. <a href=»#_ref141002886«>здесь</a>).</p> |
|
|
|
<a id=»TI000000981» class=»bookmark» name=»issogl3_27.17.2.1_общие_принципы_проектирования_макета«><h4>27.17.2.1. Общие принципы проектирования макета</h4></a> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Проектирование макета заключается в |
|
«рисовании» составных частей, кирпичиков – именованных областей, из которых |
|
затем будет «собрана» готовая выходная форма – отчет. Так как практически |
|
все деловые документы имеют «прямоугольную» структуру, удобнее всего создавать |
|
макеты таких документов в редакторе, способном манипулировать прямоугольными |
|
элементами.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Именно таким редактором и является табличный |
|
редактор, входящий в систему «1С:Предприятие». В процессе создания макета можно |
|
вводить в ячейки табличного документа разнообразный текст; задавать параметры |
|
форматирования (ячейке в целом); изменять высоту строк и ширину колонок; |
|
включать в макет рисованные элементы – линии и прямоугольники, а также |
|
другие графические объекты: картинки, OLE-объекты и диаграммы, различные |
|
элементы управления; определять оформление как всего табличного документа, так |
|
и отдельных ячеек или групп ячеек.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>При создании макета отчета руководствуются |
|
следующим.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Практически каждый отчет состоит из так |
|
называемой шапки (заголовка) отчета, в которой указывается наименование отчета, |
|
исходные параметры построения. Для формирования таких данных создают |
|
именованную область, которую чаще всего называют <span class=»Interface«>Шапка</span>. Если в отчете присутствует табличная часть, то в |
|
шапку обычно включают наименования колонок.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Для вывода строк создают именованные области |
|
(в показанном на <a href=»#_ref212448386«>рис.536</a> примере это <span class=»Term«>Строка</span>), |
|
отвечающие за вывод различной информации в табличную часть. Число строк |
|
табличной части обычно невозможно узнать при подготовке макета, но структурно |
|
информация в табличной части повторяется, поэтому при построении отчета используют |
|
одни и те же области, описывающие отдельную строку. Ячейкам, предназначенным |
|
для вывода конкретной информации, ставят в соответствие параметры (в |
|
приведенном примере это <span class=»Interface«>Счет</span>, <span class=»Interface«>Наименование</span>, <span class=»Interface«>Цена</span>, <span class=»Interface«>Сумма</span> и др.). При выводе очередной строки этим |
|
параметрам присваивают содержимое каждой выводимой строки, а затем уже включают |
|
сформированную область в состав отчета. Так происходит до тех пор, пока не будет |
|
выведена вся информация табличной части.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Обычно отчет завершается выводом итоговых |
|
данных и реквизитами ответственных лиц. Эти данные обычно размещают в области, |
|
именуемой <span class=»Interface«>Подвал</span>.</p> |
|
|
|
<p class=»Regularbeforepicture«>В окончательном виде макет представляет собой |
|
совокупность прямоугольных областей, каждая из которых служит для выдачи |
|
какой-то части готового отчета: область для выдачи заголовочной части |
|
(наименования, даты и т. п.); область для выдачи шапки табличной |
|
части и так далее.</p> |
|
|
|
<p class=»Picture«><IMG src=»_img/img00544.gif?_=1496848987» WIDTH=»800» ALT HEIGHT=»504«></p> |
|
|
|
<p class=»MsoCaption«><a name=»_ref212448386«>Рис. </a>536. Пример макета</p> |
|
|
|
<p class=»MsoNormal«>Сам процесс построения отчета происходит |
|
следующим образом:</p> |
|
|
|
<p class=»MsoListBulletCxSpFirst«>● |
|
Вначале отчет строится как пустой табличный документ. |
|
Необходимо иметь в виду, что макет не связан напрямую с готовым отчетом. Скорее |
|
макет представляет собой некий конструктор, набор областей, из которых в |
|
процессе работы программного модуля складывается готовый отчет.</p> |
|
|
|
<p class=»MsoListBulletCxSpLast«>● |
|
В процессе обработки алгоритма отчета из макета |
|
в нужном порядке извлекаются поименованные области, транслируются (вместо |
|
параметров подставляются их значения) и копируются в табличный документ |
|
готового отчета. Средства языка формирования отчетов позволяют наращивать отчет |
|
как вниз, так и вправо.</p> |
|
|
|
<a id=»TI000000982» class=»bookmark» name=»issogl3_27.17.2.2_свойства_ячеек_макета«><h4>27.17.2.2. Свойства ячеек макета</h4></a> |
|
|
|
<a id=»TI000000983» class=»bookmark» name=»issogl4_категория_свойств_макет«><h5>Категория свойств «Макет»</h5></a> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Категория свойств <span class=»Interface«>Макет</span> показывается, если в свойствах табличного |
|
документа установлено свойство <span class=»Interface«>Макет</span>.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«><span class=»Interface«>Заполнение</span> – |
|
пункты свойства <span class=»Interface«>Заполнение</span> устанавливают, какого рода информация введена |
|
в ячейку. Свойство показывается, если в категории <span class=»Interface«>Значения</span> не установлено свойство <span class=»Interface«>Содержит значение</span>. Пункты не изменяют внешний вид |
|
ячейки, а используются только в процессе обработки шаблона, при формировании |
|
готового табличного документа.</p> |
|
|
|
<p class=»Regularbeforetable«>Пункты этого списка имеют следующий смысл:</p> |
|
|
|
<table class=»MsoNormalTable» border=»0» cellspacing=»0» cellpadding=»0«> |
|
<tr> |
|
<td valign=»top«> |
|
<p class=»MsoNormalCxSpFirst«><b>Формат данных</b></p> |
|
</td> |
|
|
|
<td valign=»top«> |
|
<p class=»MsoNormalCxSpMiddle«><b>Пояснение</b></p> |
|
</td> |
|
|
|
</tr> |
|
<tr> |
|
<td valign=»top«> |
|
<p class=»MsoNormalCxSpMiddle«>Текст</p> |
|
</td> |
|
|
|
<td valign=»top«> |
|
<p class=»MsoNormalCxSpMiddle«>Информация |
|
в ячейке является текстом и при формировании табличного документа будет |
|
перенесена из макета в готовый табличный документ без изменений</p> |
|
</td> |
|
|
|
</tr> |
|
<tr> |
|
<td valign=»top«> |
|
<p class=»MsoNormalCxSpMiddle«>Параметр</p> |
|
</td> |
|
|
|
<td valign=»top«> |
|
<p class=»MsoNormalCxSpMiddle«>Информация |
|
в ячейке представляет собой параметр, имя которого указывается в свойстве <span class=»Term«>Параметр</span></p> |
|
</td> |
|
|
|
</tr> |
|
<tr> |
|
<td valign=»top«> |
|
<p class=»MsoNormalCxSpMiddle«>Шаблон</p> |
|
</td> |
|
|
|
<td valign=»top«> |
|
<p class=»MsoNormalCxSpMiddle«>Информация |
|
в ячейке представляет собой текст с включенными в него именами параметров, |
|
заключенных в квадратные скобки. При формировании табличного документа |
|
переменные будут вычислены и включены в текст. Место, отводимое в тексте для |
|
вывода значений параметров, определяется длиной этих значений.</p> |
|
<p class=»MsoNormalCxSpMiddle«>Пример |
|
шаблона: <span class=»Interface«>Директор: [Директор]</span></p> |
|
</td> |
|
|
|
</tr> |
|
</table> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Информация в ячейке готового табличного |
|
документа преобразуется в тип <span class=»Term«>Строка</span>.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«><span class=»Interface«>Параметр</span> – имя |
|
параметра для вывода содержимого ячейки. Свойство показывается, если в |
|
категории <span class=»Interface«>Значения</span> |
|
установлено свойство <span class=»Interface«>Содержит значение</span> или когда в свойстве <span class=»Interface«>Заполнение</span> категории <span class=»Interface«>Макет</span> выбрано значение <span class=»Interface«>Параметр</span>.</p> |
|
|
|
<p class=»Regularbeforepicture«><span class=»Interface«>Параметр расшифровки</span> – |
|
указывается имя параметра, по которому программа производит обработку расшифровки |
|
значения, находящегося в ячейке. Имеет смысл использовать, когда результирующий |
|
табличный документ размещен в форме (элемент управления <span class=»Interface«>Поле табличного документа</span>).</p> |
|
|
|
<p class=»Picture«><IMG src=»_img/img00545.gif?_=1496848987» WIDTH=»343» ALT HEIGHT=»421«></p> |
|
|
|
<p class=»MsoCaption«><a name=»_ref216235574«>Рис. </a>537. Виды курсоров в табличном документе</p> |
|
|
|
<p class=»MsoNormal«>Когда готовый табличный документ открыт в |
|
режиме <span class=»Interface«>Только |
|
просмотр</span>, при помещении указателя мыши над ячейкой, содержащей |
|
заполненное свойство <span class=»Interface«>Параметр расшифровки</span>, указатель мыши может принимать |
|
форму как на <a href=»#_ref216235574«>рис.537</a> (курсор вида <span class=»Interface«>Гиперссылка</span> будет появляться тогда, когда для |
|
ячейки-ссылки установлено свойство <span class=»Interface«>Гиперссылка</span>). Это значит, что возможна детализация |
|
(расшифровка) данных табличного документа. Теперь, если дважды щелкнуть левой |
|
кнопкой мыши на этой ячейке (или сделать ее активной и нажать клавишу <span class=»Interface«>Enter</span>, а для гиперссылки просто щелкнуть мышью), значение |
|
поля будет выдано на экран:</p> |
|
|
|
<p class=»MsoListBulletCxSpFirst«>● |
|
Значения типа <span class=»Term«>Строка</span>, |
|
<span class=»Term«>Число</span>, <span class=»Term«>Дата</span> |
|
и <span class=»Term«>Перечисление</span> будут выданы для просмотра.</p> |
|
|
|
<p class=»MsoListBulletCxSpMiddle«>● |
|
Если значение имеет тип <span class=»Term«>Документ</span>, |
|
соответствующий документ будет открыт для просмотра и редактирования.</p> |
|
|
|
<p class=»MsoListBulletCxSpLast«>● |
|
Если значение является элементом справочника, |
|
этот элемент будет открыт для просмотра и редактирования в диалоге. Если при |
|
настройке свойств справочника было задано редактирование в списке, будет открыта |
|
форма списка справочника, а указатель в табличном поле будет установлен на |
|
нужный элемент справочника.</p> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Эта обработка расшифровки называется |
|
стандартной и не требует никаких дополнительных настроек.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Если требуется, чтобы обработка расшифровки |
|
производилась особенным образом, то необходимо в свойствах поля табличного |
|
документа, в категории <span class=»Interface«>События</span> для события <span class=»Interface«>Обработка расшифровки</span> указать имя процедуры, осуществляющей |
|
обработку события, возникающего при выборе ячейки с расшифровкой. В модуле |
|
формы в теле этой процедуры нужно средствами встроенного языка описать обработку |
|
расшифровки.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Приведем пример. Для отчета создана форма и |
|
макет <span class=»Interface«>МакетПечати</span>. |
|
Макет содержит именованные области <span class=»Interface«>Заголовок</span>, <span class=»Interface«>Шапка</span>, <span class=»Interface«>ТоварыШапка</span> и <span class=»Interface«>Товары</span>. Область <span class=»Interface«>Товары</span> содержит ячейку, в параметрах расшифровки которой |
|
указано имя параметра расшифровки <span class=»Interface«>Расшифровка</span>. В форме размещен элемент формы типа <span class=»Interface«>Таблица</span>, связанный с реквизитом формы <span class=»Term«>ТабДок</span> |
|
типа <span class=»Term«>ТабличныйДокумент</span>. В категории свойств <span class=»Interface«>События</span> этого элемента для свойства <span class=»Interface«>Обработка расшифровки</span> указывается на процедуру обработки |
|
выбора ячейки <span class=»Term«>РезультатОбработкиРасшифровки()</span>, |
|
расположенной в модуле отчета.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Формирование табличного документа |
|
производится по следующей примерной схеме:</p> |
|
|
|
<a class=»copy_source» href=»#_top» onClick=»return false«>Копировать в буфер обмена</a> |
|
<pre class=»src_dev«>ТабДок<span class=»operator«>.</span>ОтображатьСетку <span class=»operator«>=</span> <span class=»keyword«>Ложь</span><span class=»operator«>;</span> |
|
ТабДок<span class=»operator«>.</span>ОтображатьЗаголовки <span class=»operator«>=</span> <span class=»keyword«>Ложь</span><span class=»operator«>;</span> |
|
ТабДок<span class=»operator«>.</span>Защита <span class=»operator«>=</span> <span class=»keyword«>Истина</span><span class=»operator«>;</span> |
|
ТабДок<span class=»operator«>.</span>ТолькоПросмотр <span class=»operator«>=</span> <span class=»keyword«>Истина</span><span class=»operator«>;</span> |
|
Макет <span class=»operator«>=</span> Документы<span class=»operator«>.</span>РасходТовара<span class=»operator«>.</span>ПолучитьМакет<span class=»operator«>(</span><span class=»string«>"МакетПечати"</span><span class=»operator«>)</span><span class=»operator«>;</span> |
|
<span class=»comment«>// Заголовок</span> |
|
Область <span class=»operator«>=</span> Макет<span class=»operator«>.</span>ПолучитьОбласть<span class=»operator«>(</span><span class=»string«>"Заголовок"</span><span class=»operator«>)</span><span class=»operator«>;</span> |
|
ТабДок<span class=»operator«>.</span>Вывести<span class=»operator«>(</span>Область<span class=»operator«>)</span><span class=»operator«>;</span> |
|
<span class=»comment«>// Шапка</span> |
|
Шапка <span class=»operator«>=</span> Макет<span class=»operator«>.</span>ПолучитьОбласть<span class=»operator«>(</span><span class=»string«>"Шапка"</span><span class=»operator«>)</span><span class=»operator«>;</span> |
|
Шапка<span class=»operator«>.</span>Параметры<span class=»operator«>.</span>Заполнить<span class=»operator«>(</span>ЭтотОбъект<span class=»operator«>)</span><span class=»operator«>;</span> |
|
ТабДок<span class=»operator«>.</span>Вывести<span class=»operator«>(</span>Шапка<span class=»operator«>)</span><span class=»operator«>;</span> |
|
<span class=»comment«>// Товары</span> |
|
Область <span class=»operator«>=</span> Макет<span class=»operator«>.</span>ПолучитьОбласть<span class=»operator«>(</span><span class=»string«>"ТоварыШапка"</span><span class=»operator«>)</span><span class=»operator«>;</span> |
|
ТабДок<span class=»operator«>.</span>Вывести<span class=»operator«>(</span>Область<span class=»operator«>)</span><span class=»operator«>;</span> |
|
ОбластьТовары <span class=»operator«>=</span> Макет<span class=»operator«>.</span>ПолучитьОбласть<span class=»operator«>(</span><span class=»string«>"Товары"</span><span class=»operator«>)</span><span class=»operator«>;</span> |
|
<span class=»keyword«>Для</span> <span class=»keyword«>Каждого</span> ТекСтрокаТовары <span class=»keyword«>Из</span> Товары <span class=»keyword«>Цикл</span> |
|
ОбластьТовары<span class=»operator«>.</span>Параметры<span class=»operator«>.</span>Заполнить<span class=»operator«>(</span>ТекСтрокаТовары<span class=»operator«>)</span><span class=»operator«>;</span> |
|
ТабДок<span class=»operator«>.</span>Вывести<span class=»operator«>(</span>ОбластьТовары<span class=»operator«>)</span><span class=»operator«>;</span> |
|
<span class=»keyword«>КонецЦикла</span><span class=»operator«>;</span></pre> |
|
|
|
<p class=»MsoNormal«>Пример реализации процедуры обработки выбора |
|
расшифровки:</p> |
|
|
|
<a class=»copy_source» href=»#_top» onClick=»return false«>Копировать в буфер обмена</a> |
|
<pre class=»src_dev«><span class=»keyword«>Процедура</span> РезультатОбработкаРасшифровки<span class=»operator«>(</span>Эл<span class=»operator«>,</span> Расшифровка<span class=»operator«>,</span> СтандартнаяОбработка<span class=»operator«>)</span> |
|
СтандартнаяОбработка <span class=»operator«>=</span> <span class=»keyword«>Ложь</span><span class=»operator«>;</span> |
|
ТипРасшифровки <span class=»operator«>=</span> ТипЗнч<span class=»operator«>(</span>Расшифровка<span class=»operator«>)</span><span class=»operator«>;</span> |
|
<span class=»keyword«>Если</span> ТипРасшифровки <span class=»operator«>=</span> Тип<span class=»operator«>(</span><span class=»string«>"СправочникСсылка.Номенклатура"</span><span class=»operator«>)</span> <span class=»keyword«>Тогда</span> |
|
ИмяФормыОтчета <span class=»operator«>=</span> <span class=»string«>"ФормаОтчета1"</span><span class=»operator«>;</span> |
|
<span class=»keyword«>Иначе</span> |
|
ИмяФормыОтчета <span class=»operator«>=</span> <span class=»string«>"ФормаОтчета2"</span><span class=»operator«>;</span> |
|
<span class=»keyword«>КонецЕсли</span><span class=»operator«>;</span> |
|
ФормаОтчета <span class=»operator«>=</span> ОбработкаОбъект<span class=»operator«>.</span>ПолучитьФорму<span class=»operator«>(</span>ИмяФормыОтчета<span class=»operator«>)</span><span class=»operator«>;</span> |
|
ФормаОтчета<span class=»operator«>.</span>ВыполнитьОтчет<span class=»operator«>(</span>Расшифровка<span class=»operator«>,</span> ПериодС<span class=»operator«>,</span> ПериодПо<span class=»operator«>)</span><span class=»operator«>;</span> |
|
ФормаОтчета<span class=»operator«>.</span>Открыть<span class=»operator«>(</span><span class=»operator«>)</span><span class=»operator«>;</span> |
|
<span class=»keyword«>КонецПроцедуры</span></pre> |
|
|
|
<p class=»MsoNormalCxSpFirst«><span class=»Term«>ФормаОтчета1</span> и <span class=»Term«>ФормаОтчета2</span> – |
|
имена форм, разработанных специально для детализированных отчетов (обычно такие |
|
формы содержат поле табличного документа, в которое выводится результат).</p> |
|
|
|
<p class=»MsoNormalCxSpLast«><span class=»Interface«>Использование |
|
расшифровки</span> – определяется область использования расшифровки. При |
|
выборе ячейки расшифровка возможна только для указанной ячейки; при выборе |
|
строки расшифровка действует в каждой ячейке текущей строки. Если выбрано <span class=»Interface«>Не использовать</span> и указана расшифровка, расшифровка не |
|
действует: указатель мыши не изменяет форму (возможные виды курсоров (см. <a href=»#_ref216235574«>рис.537</a>) и выбор в ячейке не отрабатывается.</p> |
|
|
|
<a id=»TI000000984» class=»bookmark» name=»issogl4_категория_свойств_значения«><h5>Категория свойств «Значения»</h5></a> |
|
|
|
<p class=»MsoNormalCxSpFirst«><span class=»Interface«>Содержит значение</span> – |
|
если установлено, то ячейка содержит значение. Установка свойства влияет на |
|
состав свойств других категорий.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«><span class=»Interface«>Тип значения</span> – |
|
тип значения ячейки. Для табличного документа перечень содержит типы <span class=»Term«>Число</span>, |
|
<span class=»Term«>Строка</span>, <span class=»Term«>Дата</span> |
|
и <span class=»Term«>Булево</span>. Для элемента управления формы <span class=»Interface«>Поле табличного документа</span> помимо примитивных типов |
|
перечень дополнительно содержит типы, определенные для текущей конфигурации, – |
|
документы, справочники, перечисления и т. д. Кроме того, можно |
|
установить тип данных <span class=»Term«>Произвольный</span>. |
|
В таком случае он может быть определен уже во время заполнения формы с помощью |
|
средств встроенного языка.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«><span class=»Interface«>Элемент управления</span> – |
|
выбирается элемент управления для редактирования содержимого ячейки. Список возможных |
|
значений зависит от выбранного типа содержимого. Например, при выборе в типе |
|
данных значения <span class=»Term«>Число</span> |
|
в качестве редактора можно выбрать <span class=»Interface«>Поле ввода</span> или <span class=»Interface«>Флажок</span>. Для выбранного типа редактора в список объектов |
|
(<span class=»Interface«>Ячейки</span>, <span class=»Interface«>Табличный документ</span>) будет добавлена строка, содержащая |
|
тип редактора <span class=»Interface«>Поле |
|
ввода</span> или <span class=»Interface«>Флажок</span>. Состав свойств палитры свойств данного объекта |
|
определяется типом выбранного элемента управления.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«><span class=»Interface«>Формат</span> – задается |
|
форматная строка, которая будет использоваться при выводе значения. Если не |
|
производить настройку формата изображения, то формат будет выбран из региональных |
|
настроек информационной базы.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«><span class=»Interface«>Формат редактирования</span> – |
|
задается форматная строка, которая будет использоваться для отображения |
|
значения при его редактировании. Если не производить настройку формата изображения, |
|
то формат будет выбран из региональных настроек информационной базы.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Формат можно ввести вручную или с помощью конструктора |
|
форматной строки (см. <a href=»#_ref216235847«>здесь</a>).</p> |
|
|
|
<p class=»Note«><span class=»Note«>Примечание.</span> При редактировании |
|
табличного документа в тонком клиенте недоступны следующие свойства ячейки: <span class=»Interface«>Содержит значение</span>, <span class=»Interface«>Тип значения</span>, <span class=»Interface«>Элемент управления</span>, <span class=»Interface«>Формат редактирования</span>.</p> |
|
|
|
<a id=»TI000000985» class=»bookmark» name=»issogl2_27.17.3_табличный_документ_в_режиме_ввода_данных«><h3>27.17.3. Табличный документ в режиме ввода данных</h3></a> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Другой способ построения отчета заключается в |
|
том, что пользователь вводит данные в предназначенные для этого ячейки табличного |
|
документа, размещенного в элементе формы.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>В процессе ввода эти данные обрабатываются |
|
процедурами, написанными на встроенном языке, располагаемыми в модуле формы. |
|
Результаты расчетов могут использоваться при вычислении других ячеек табличного |
|
документа.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>После ввода данных можно распечатать отчет и |
|
сохранить его для последующей работы.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Общая схема работы с табличным документом в |
|
режиме ввода данных выглядит следующим образом:</p> |
|
|
|
<p class=»MsoListBulletCxSpFirst«>● |
|
формируется макет типа <span class=»Interface«>Табличный документ</span>, подготовленный особым образом, в |
|
который будет выполняться ввод данных;</p> |
|
|
|
<p class=»MsoListBulletCxSpMiddle«>● |
|
формируется форма, в которой будет расположено |
|
поле вида <span class=»Interface«>Табличный |
|
документ</span>, и в нем будет организован ввод данных;</p> |
|
|
|
<p class=»MsoListBulletCxSpLast«>● |
|
формируются обработчики элемента формы вида <span class=»Interface«>Табличный документ</span>, которые будут обрабатывать данные, |
|
введенные пользователем (при необходимости).</p> |
|
|
|
<p class=»Regularbeforepicture«>Рассмотрим перечисленные этапы подробнее на |
|
примере формирования бланка доставки товара из документа <span class=»Term«>ДоставкаТоваров</span>. |
|
Желаемый бланк приведен на <a href=»#_ref229918383«>рис. |
|
538</a>. В этом бланке поля, выделенные подчеркиванием, |
|
должны вводиться пользователем. Причем поле <span class=»Interface«>Дата доставки</span> будет автоматически рассчитываться как |
|
поле <span class=»Interface«>Дата оформления,</span> |
|
увеличенное на <span class=»Interface«>Срок доставки</span>. <span class=»Interface«>Дата оформления</span> является датой документа.</p> |
|
|
|
<p class=»Picture«><IMG src=»_img/img00546.gif?_=1496848987» WIDTH=»549» ALT HEIGHT=»197«></p> |
|
|
|
<p class=»MsoCaption«><a name=»_ref229918383«>Рис. </a>538. Бланк доставки</p> |
|
|
|
<a id=»TI000000986» class=»bookmark» name=»issogl3_27.17.3.1_подготовка_табличного_документа«><h4>27.17.3.1. Подготовка табличного документа</h4></a> |
|
|
|
<p class=»Regularbeforepicture«>Для того чтобы реализовать табличное поле в |
|
режиме ввода данных, необходимо создать макет типа <span class=»Interface«>Табличный документ</span> (с именем <span class=»Term«>БланкДоставки</span>). |
|
Затем нужно открыть сформированный макет и установить свойство <span class=»Interface«>Макет</span> в значение <span class=»Term«>Ложь</span>.</p> |
|
|
|
<p class=»Picture«><IMG src=»_img/img00547.gif?_=1496848987» WIDTH=»320» ALT HEIGHT=»350«></p> |
|
|
|
<p class=»MsoCaption«>Рис. 539. Свойства табличного |
|
документа</p> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Далее нужно сформировать необходимую |
|
структуру документа, который будет формироваться.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Сформируем необходимые поля:</p> |
|
|
|
<p class=»MsoListBullet«>● |
|
<span class=»Interface«>Адрес доставки</span>. Нужно |
|
объединить несколько ячеек и затем определить следующие свойства:</p> |
|
|
|
<p class=»MsoListBullet2CxSpFirst«>● |
|
<span class=»Interface«>Имя</span> – <span class=»Term«>АдресДоставки</span>;</p> |
|
|
|
<p class=»MsoListBullet2CxSpMiddle«>● |
|
<span class=»Interface«>Защита</span> – <span class=»Term«>Ложь</span>;</p> |
|
|
|
<p class=»MsoListBullet2CxSpMiddle«>● |
|
<span class=»Interface«>Содержит значение</span> – |
|
<span class=»Term«>Истина</span>;</p> |
|
|
|
<p class=»MsoListBullet2CxSpMiddle«>● |
|
<span class=»Interface«>Тип значения</span> – |
|
<span class=»Term«>Строка</span>;</p> |
|
|
|
<p class=»MsoListBullet2CxSpLast«>● |
|
<span class=»Interface«>Элемент управления</span> – |
|
<span class=»Interface«>Поле ввода</span>.</p> |
|
|
|
<p class=»MsoListBullet«>● |
|
<span class=»Interface«>Срок доставки</span>. Для |
|
ячейки определить следующие свойства:</p> |
|
|
|
<p class=»MsoListBullet2CxSpFirst«>● |
|
<span class=»Interface«>Имя</span> – <span class=»Term«>СрокДоставки</span>;</p> |
|
|
|
<p class=»MsoListBullet2CxSpMiddle«>● |
|
<span class=»Interface«>Защита</span> – <span class=»Term«>Ложь</span>;</p> |
|
|
|
<p class=»MsoListBullet2CxSpMiddle«>● |
|
<span class=»Interface«>Содержит значение</span> – |
|
<span class=»Term«>Истина</span>;</p> |
|
|
|
<p class=»MsoListBullet2CxSpMiddle«>● |
|
<span class=»Interface«>Тип значения</span> – |
|
<span class=»Term«>Число</span>, длина <span class=»Term«>3</span>, |
|
точность – <span class=»Term«>0</span>, |
|
неотрицательное;</p> |
|
|
|
<p class=»MsoListBullet2CxSpLast«>● |
|
<span class=»Interface«>Элемент управления</span> – |
|
<span class=»Interface«>Поле ввода</span>.</p> |
|
|
|
<p class=»MsoListBullet«>● |
|
<span class=»Interface«>Дата доставки</span>. Для |
|
ячейки определить следующие свойства:</p> |
|
|
|
<p class=»MsoListBullet2CxSpFirst«>● |
|
<span class=»Interface«>Имя</span> – <span class=»Term«>ДатаДоставки</span>;</p> |
|
|
|
<p class=»MsoListBullet2CxSpMiddle«>● |
|
<span class=»Interface«>Защита</span> – <span class=»Term«>Ложь</span>;</p> |
|
|
|
<p class=»MsoListBullet2CxSpMiddle«>● |
|
<span class=»Interface«>Содержит значение</span> – |
|
<span class=»Term«>Истина</span>;</p> |
|
|
|
<p class=»MsoListBullet2CxSpMiddle«>● |
|
<span class=»Interface«>Тип значения</span> – |
|
<span class=»Term«>Дата</span>, состав даты – <span class=»Interface«>Дата</span>;</p> |
|
|
|
<p class=»MsoListBullet2CxSpLast«>● |
|
<span class=»Interface«>Элемент управления</span> – |
|
<span class=»Interface«>Поле ввода</span>.</p> |
|
|
|
<p class=»MsoListBullet«>● |
|
<span class=»Interface«>Дата оформления</span>. Для |
|
ячейки определить следующие свойства:</p> |
|
|
|
<p class=»MsoListBullet2CxSpFirst«>● |
|
<span class=»Interface«>Имя</span> – <span class=»Term«>ДатаОформления</span>;</p> |
|
|
|
<p class=»MsoListBullet2CxSpMiddle«>● |
|
<span class=»Interface«>Защита</span> – <span class=»Term«>Истина</span>;</p> |
|
|
|
<p class=»MsoListBullet2CxSpMiddle«>● |
|
<span class=»Interface«>Содержит значение</span> – |
|
<span class=»Term«>Истина</span>;</p> |
|
|
|
<p class=»MsoListBullet2CxSpMiddle«>● |
|
<span class=»Interface«>Тип значения</span> – |
|
<span class=»Term«>Дата</span>, состав даты – <span class=»Interface«>Дата</span>;</p> |
|
|
|
<p class=»MsoListBullet2CxSpMiddle«>● |
|
<span class=»Interface«>Элемент управления</span> – |
|
<span class=»Interface«>Поле ввода</span>;</p> |
|
|
|
<p class=»MsoListBullet2CxSpLast«>● |
|
<span class=»Interface«>Формат</span> – <span class=»Interface«>ДЛФ=DD</span>.</p> |
|
|
|
<p class=»Regularbeforepicture«>В результате должен получиться табличный |
|
документ, представленный на <a href=»#_ref229919603«>рис. |
|
540</a>.</p> |
|
|
|
<p class=»Picture«><IMG src=»_img/img00548.gif?_=1496848987» WIDTH=»588» ALT HEIGHT=»202«></p> |
|
|
|
<p class=»MsoCaption«><a name=»_ref229919603«>Рис. </a>540. Готовый макет</p> |
|
|
|
<p class=»MsoNormal«>Макет представлен с включенным режимом <span class=»Interface«>Отображать именованные ячейки</span> (можно включить с помощью |
|
команды меню <span class=»Interface«>Таблица – |
|
Имена – Отображать именованные ячейки</span>).</p> |
|
|
|
<p class=»Note«><span class=»Note«>Примечание.</span> Свойства, которые |
|
могут быть заданы для поля ввода в макете, не сохраняются и не используются |
|
системой при формировании полей ввода в табличном документе в режиме ввода |
|
данных.</p> |
|
|
|
<a id=»TI000000987» class=»bookmark» name=»issogl3_27.17.3.2_подготовка_формы_к_вводу_данных«><h4>27.17.3.2. Подготовка формы к вводу данных</h4></a> |
|
|
|
<p class=»MsoNormalCxSpFirst«>После того как подготовлен макет табличного |
|
документа, следует сформировать форму, в которой будет выполняться ввод данных, |
|
и реализовать ее вызов из документа.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>В документе нужно создать команду формы <span class=»Term«>ОформитьДоставку</span> |
|
со следующим программным текстом:</p> |
|
|
|
<a class=»copy_source» href=»#_top» onClick=»return false«>Копировать в буфер обмена</a> |
|
<pre class=»src_dev«><span class=»preprocessor«>&НаКлиенте</span> |
|
<span class=»keyword«>Процедура</span> ОформитьДоставку<span class=»operator«>(</span>Команда<span class=»operator«>)</span> |
|
ПараметрыДоставки <span class=»operator«>=</span> <span class=»keyword«>Новый</span> Структура<span class=»operator«>(</span><span class=»string«>"ДатаДокумента"</span><span class=»operator«>,</span> Объект<span class=»operator«>.</span>Дата<span class=»operator«>)</span><span class=»operator«>;</span> |
|
ОткрытьФормуМодально<span class=»operator«>(</span><span class=»string«>"Документ.ДоставкаТоваров.Форма.ОформлениеДоставки"</span><span class=»operator«>,</span> ПараметрыДоставки<span class=»operator«>)</span><span class=»operator«>;</span> |
|
<span class=»keyword«>КонецПроцедуры</span></pre> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Команду следует разместить на форме.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Теперь необходимо создать форму, в которой |
|
будет происходить ввод данных.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Для этого следует в документе <span class=»Term«>ДоставкаТоваров</span> |
|
создать произвольную форму <span class=»Term«>ОформлениеДоставки</span>. |
|
В ней нужно создать следующие элементы:</p> |
|
|
|
<p class=»MsoListBulletCxSpFirst«>● |
|
параметр формы <span class=»Term«>ДатаДокумента</span> |
|
типа <span class=»Term«>Дата</span>;</p> |
|
|
|
<p class=»MsoListBulletCxSpMiddle«>● |
|
реквизит формы <span class=»Term«>ДатаДокумента</span> |
|
типа <span class=»Term«>Дата</span>;</p> |
|
|
|
<p class=»MsoListBulletCxSpMiddle«>● |
|
реквизит формы <span class=»Term«>ТабличныйДокумент</span> |
|
типа <span class=»Term«>ТабличныйДокумент</span>;</p> |
|
|
|
<p class=»MsoListBulletCxSpLast«>● |
|
элемент формы <span class=»Term«>ТабличныйДокумент</span>, |
|
связанный с реквизитом формы <span class=»Term«>ТабличныйДокумент</span>.</p> |
|
|
|
<p class=»Picture«><IMG src=»_img/img00549.gif?_=1496848987» WIDTH=»531» ALT HEIGHT=»376«></p> |
|
|
|
<p class=»MsoCaption«>Рис. 541. Форма «ОформлениеДоставки»</p> |
|
|
|
<p class=»MsoNormal«>Затем необходимо реализовать в форме |
|
следующие обработчики:</p> |
|
|
|
<a class=»copy_source» href=»#_top» onClick=»return false«>Копировать в буфер обмена</a> |
|
<pre class=»src_dev«><span class=»preprocessor«>&НаСервере</span> |
|
<span class=»keyword«>Процедура</span> ПриСозданииНаСервере<span class=»operator«>(</span>Отказ<span class=»operator«>,</span> СтандартнаяОбработка<span class=»operator«>)</span> |
|
<span class=»comment«>// Запомним дату формирования документа</span> |
|
ДатаДокумента <span class=»operator«>=</span> Параметры<span class=»operator«>.</span>ДатаДокумента<span class=»operator«>;</span> |
|
<span class=»comment«>// Установим подготовленный макет</span> |
|
ТабличныйДокумент <span class=»operator«>=</span> Документы<span class=»operator«>.</span>ДоставкаТоваров<span class=»operator«>.</span>ПолучитьМакет<span class=»operator«>(</span><span class=»string«>"БланкДоставки"</span><span class=»operator«>)</span><span class=»operator«>;</span> |
|
<span class=»comment«>// Установим дату создания документа в поле табличного документа</span> |
|
ТабличныйДокумент<span class=»operator«>.</span>Область<span class=»operator«>(</span><span class=»string«>"ДатаОформления"</span><span class=»operator«>)</span><span class=»operator«>.</span>Значение <span class=»operator«>=</span> ДатаДокумента<span class=»operator«>;</span> |
|
<span class=»keyword«>КонецПроцедуры</span> |
|
<span class=»preprocessor«>&НаКлиенте</span> |
|
<span class=»keyword«>Процедура</span> ПриОткрытии<span class=»operator«>(</span>Отказ<span class=»operator«>)</span> |
|
<span class=»comment«>// Активизируем область табличного документа</span> |
|
Элементы<span class=»operator«>.</span>ТабличныйДокумент<span class=»operator«>.</span>ТекущаяОбласть <span class=»operator«>=</span> ТабличныйДокумент<span class=»operator«>.</span>Область<span class=»operator«>(</span><span class=»string«>"АдресДоставки"</span><span class=»operator«>)</span><span class=»operator«>;</span> |
|
<span class=»keyword«>КонецПроцедуры</span></pre> |
|
|
|
<p class=»Regularbeforepicture«>В результате получается следующая форма, |
|
заполненная данными:</p> |
|
|
|
<p class=»Picture«><IMG src=»_img/img00550.gif?_=1496848987» WIDTH=»530» ALT HEIGHT=»464«></p> |
|
|
|
<p class=»MsoCaption«>Рис. 542. Бланк доставки</p> |
|
|
|
<a id=»TI000000988» class=»bookmark» name=»issogl3_27.17.3.3_реализация_реакции_на_изменение_ячеек_табличного_документа«><h4>27.17.3.3. Реализация реакции на изменение ячеек табличного документа</h4></a> |
|
|
|
<p class=»MsoNormalCxSpFirst«>В получившейся форме отсутствует |
|
автоматический пересчет полей <span class=»Interface«>Срок доставки</span> и <span class=»Interface«>Дата доставки</span> при их изменении.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Для того чтобы такой пересчет стал возможным, |
|
следует реализовать обработку соответствующего события для реквизита формы, |
|
связанного с табличным документом.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Нужно добавить обработчик <span class=»Term«>ПриИзмененииСодержимогоОбласти</span> |
|
для элемента формы <span class=»Term«>ТабличныйДокумент</span>. |
|
В обработчике должен располагаться следующий программный текст:</p> |
|
|
|
<a class=»copy_source» href=»#_top» onClick=»return false«>Копировать в буфер обмена</a> |
|
<pre class=»src_dev«><span class=»preprocessor«>&НаКлиенте</span> |
|
<span class=»keyword«>Процедура</span> ТабличныйДокументПриИзмененииСодержимогоОбласти<span class=»operator«>(</span>Элемент<span class=»operator«>,</span> Область<span class=»operator«>)</span> |
|
СекундВСутках <span class=»operator«>=</span> <span class=»number«>24</span> <span class=»operator«>*</span> <span class=»number«>60</span> <span class=»operator«>*</span> <span class=»number«>60</span><span class=»operator«>;</span> |
|
<span class=»keyword«>Если</span> Область<span class=»operator«>.</span>Имя <span class=»operator«>=</span> <span class=»string«>"ДатаДоставки"</span> <span class=»keyword«>Тогда</span> |
|
ТабличныйДокумент<span class=»operator«>.</span>Область<span class=»operator«>(</span><span class=»string«>"СрокДоставки"</span><span class=»operator«>)</span><span class=»operator«>.</span>Значение <span class=»operator«>=</span> <span class=»operator«>(</span>ТабличныйДокумент<span class=»operator«>.</span>Область<span class=»operator«>(</span><span class=»string«>"ДатаДоставки"</span><span class=»operator«>)</span><span class=»operator«>.</span>Значение – НачалоДня<span class=»operator«>(</span>ДатаДокумента<span class=»operator«>)</span><span class=»operator«>)</span> <span class=»operator«>/</span> СекундВСутках<span class=»operator«>;</span> |
|
<span class=»keyword«>ИначеЕсли</span> Область<span class=»operator«>.</span>Имя <span class=»operator«>=</span> <span class=»string«>"СрокДоставки"</span> <span class=»keyword«>Тогда</span> |
|
ТабличныйДокумент<span class=»operator«>.</span>Область<span class=»operator«>(</span><span class=»string«>"ДатаДоставки"</span><span class=»operator«>)</span><span class=»operator«>.</span>Значение <span class=»operator«>=</span> НачалоДня<span class=»operator«>(</span>ДатаДокумента<span class=»operator«>)</span> <span class=»operator«>+</span> ТабличныйДокумент<span class=»operator«>.</span>Область<span class=»operator«>(</span><span class=»string«>"СрокДоставки"</span><span class=»operator«>)</span><span class=»operator«>.</span>Значение <span class=»operator«>*</span> СекундВСутках<span class=»operator«>;</span> |
|
<span class=»keyword«>КонецЕсли</span> |
|
<span class=»keyword«>КонецПроцедуры</span></pre> |
|
|
|
<p class=»MsoNormal«>Теперь табличный документ обрел желаемую |
|
интерактивность.</p> |
|
|
|
<a name=»_ref214456149«></a><a name=»_ref214261058«></a><a name=»_ref214261055«></a><a id=»TI000000989» class=»bookmark» name=»issogl1_27.18.редактор_карты_маршрута«><h2>27.18.Редактор карты маршрута</h2></a> |
|
|
|
<p class=»MsoNormalCxSpFirst«><span class=»Bold«>Карта маршрута</span> – |
|
это схематическое изображение последовательности выполнения действий, |
|
предусмотренных бизнес-процессом. Она является частным случаем графической |
|
схемы.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Основное отличие карты маршрута от |
|
графической схемы – особая обработка специальных элементов схемы (точка |
|
старта, завершения, действия, условия и т. д.).</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Карта маршрута является одновременно и |
|
инструкцией системе по выполнению последовательности действий бизнес-процесса, |
|
и иллюстрацией для пользователя структуры этих действий, а также средством |
|
отображения текущего состояния бизнес-процесса (описание метода <span class=»Term«>ПолучитьКартуМаршрута()</span> |
|
справки по встроенному языку).</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Карта маршрута представляет собой |
|
прямоугольную область экрана, которая в самом общем случае содержит различные |
|
элементы карты маршрута, например, точку старта, точку завершения, декорации, |
|
соединительные линии и т. д.</p> |
|
|
|
<a id=»TI000000990» class=»bookmark» name=»issogl2_27.18.1_редактирование_карты_маршрута«><h3>27.18.1. Редактирование карты маршрута</h3></a> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Для редактирования карты маршрута в окне |
|
редактирования бизнес-процесса, на закладке <span class=»Interface«>Прочее</span> нужно нажать кнопку <span class=»Interface«>Карта маршрута</span>.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Процесс редактирования карты маршрута |
|
заключается в размещении на карте маршрута элементов карты различных типов, редактировании |
|
их свойств и соединении их друг с другом соединительными линиями.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Для редактирования карты маршрута |
|
используется мышь или клавиатура (некоторые операции выполняются только с помощью |
|
мыши – например, соединение элементов карты маршрута с помощью |
|
соединительных линий). При появлении редактируемой карты маршрута на экране |
|
становятся доступными кнопки панели инструментов <span class=»Interface«>Вставка элементов карты маршрута</span> и пункт меню верхнего |
|
уровня <span class=»Interface«>Карта |
|
маршрута</span>.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Установка свойств карты маршрута производится |
|
с помощью палитры свойств (см. <A href=»/db/content/v8310doc/src/руководство разработчика/глава 2. работа с конфигурацией.htm?_=1496848987#_ref216235939«>здесь</a>).</p> |
|
|
|
<a id=»TI000000991» class=»bookmark» name=»issogl2_27.18.2_элементы_карты_маршрута«><h3>27.18.2. Элементы карты маршрута</h3></a> |
|
|
|
<a id=»TI000000992» class=»bookmark» name=»issogl3_27.18.2.1_рекомендации_по_оформлению«><h4>27.18.2.1. Рекомендации по оформлению</h4></a> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Наилучшим подходом для рисования карт |
|
маршрута является вертикальная ориентация карты. Карта маршрута предполагает |
|
вертикальное расположение (сверху вниз). Например, при добавлении элемента |
|
карты маршрута (далее в данном разделе «элемента») <span class=»Interface«>Точка действия</span> он сразу создается с исходящей |
|
соединительной линией, направленной вниз.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>При создании надписей желательно использовать |
|
одинаковые шрифты. Использование другого шрифта является дополнительным средством |
|
привлечения внимания (например, заголовок декорации, выделяющей группу элементов).</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Редактор карты маршрута позволяет размещать в |
|
карте маршрута различные элементы, задавать их размеры и выравнивать границы и т. д.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Чтобы облегчить размещение элементов, редактор |
|
карты маршрута предоставляет различные сервисные средства. Это использование |
|
разметочной сетки, а также выполнение различных действий над группой элементов |
|
(выравнивание, распределение в карте маршрута, установка размеров и т. д.).</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>В качестве дополнительных возможностей можно |
|
использовать индивидуальное оформление элементов. С помощью свойств категории <span class=»Interface«>Оформление</span> производится настройка цвета текста и фона |
|
поля, шрифта текста, выбирается вид и цвет рамки, использование картинки, |
|
подсказки и другие приемы оформления. Состав свойств зависит от типа элемента.</p> |
|
|
|
<a id=»TI000000993» class=»bookmark» name=»issogl3_27.18.2.2_порядок_элементов«><h4>27.18.2.2. Порядок элементов</h4></a> |
|
|
|
<p class=»MsoNormal«>В отличие от обычной графической схемы, в |
|
карте маршрута даже после изменения порядка определенные типы элементов все |
|
равно сохраняют порядок, характерный для данного типа. А именно:</p> |
|
|
|
<p class=»MsoListBulletCxSpFirst«>● |
|
Декорации всегда находятся на заднем плане |
|
(внизу) (т. е. менять порядок декораций можно только относительно друг друга – |
|
относительно других элементов они всегда будут ниже).</p> |
|
|
|
<p class=»MsoListBulletCxSpMiddle«>● |
|
Следом за декорациями (выше их) идут соединительные |
|
линии.</p> |
|
|
|
<p class=»MsoListBulletCxSpLast«>● |
|
На самом верху – все остальные элементы |
|
(визуализирующие точки бизнес-процесса). Таким образом, элементы, составляющие |
|
логику карты маршрута, всегда лежат выше декораций и декоративных соединительных |
|
линий по порядку отрисовки.</p> |
|
|
|
<a id=»TI000000994» class=»bookmark» name=»issogl3_27.18.2.3_работа_с_соединительными_линиями«><h4>27.18.2.3. Работа с соединительными линиями</h4></a> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Смысл карты маршрута состоит в описании |
|
последовательности действий бизнес-процесса – она задается именно связью |
|
элементов с помощью элемента <span class=»Interface«>Соединительная линия</span>. Соединительные линии нельзя |
|
вставлять просто так – они всегда присоединены к каким-либо точкам |
|
бизнес-процесса и не могут существовать сами по себе. Соединительные линии |
|
нельзя удалить, если это не предусмотрено точкой бизнес-процесса (например, |
|
точка разделения и точка выбора варианта).</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Связывать друг с другом можно все элементы, |
|
визуализирующие точки бизнес-процесса, т. е. все элементы, кроме |
|
элементов <span class=»Interface«>Декорация</span>, |
|
<span class=»Interface«>Соединительная линия</span> |
|
и <span class=»Interface«>Декоративная линия</span>. |
|
По умолчанию большинство элементов, визуализирующие точки бизнес-процесса, вставляются |
|
в карту маршрута с одной исходящей линией, которую нельзя ни отсоединить, ни |
|
удалить. Ее можно только передвинуть на другой порт (<span class=»Bold«>порт</span> – |
|
область элемента, куда может быть присоединена линия – обычно это середина |
|
стороны прямоугольника, занимаемого элементом; на схеме незанятый порт обозначается |
|
синим крестиком).</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Для работы с элементом карты маршрута <span class=»Interface«>Соединительная линия</span> нужно выбрать ее нажатием мыши на |
|
любом сегменте (отрезке) соединительной линии либо перейти к ней с помощью |
|
клавиши <span class=»Interface«>Tab</span> |
|
(<span class=»Interface«>Shift + Tab</span>).</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Если конец линии не присоединен ни к какому |
|
элементу, то прямоугольник на конце линии имеет красный цвет, а стрелка имеет |
|
контур, т. е. не закрашена внутри. Для присоединения нужно мышью |
|
захватить конец соединительной линии (серый или красный прямоугольник) и, |
|
потащив в область порта какого-либо элемента, там отпустить. После этого |
|
соединительная линия автоматически перестроится. Можно также переприсоединить соединительную |
|
линию (присоединив ее конец к другому элементу). При этом действует следующее |
|
ограничение: нельзя напрямую зациклить один элемент на втором (<span class=»Interface«>точка1</span> " <span class=»Interface«>точка2</span> и <span class=»Interface«>точка2</span> " <span class=»Interface«>точка1</span>), если ни один из этих элементов не является элементом |
|
карты маршрута <span class=»Interface«>Точка условия</span> или <span class=»Interface«>Точка выбора варианта</span>.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>При вставке элемента в карту маршрута |
|
автоматически происходит попытка присоединить незанятые порты этого элемента к |
|
близлежащим неприсоединенным линиям. При перемещении или изменении размера |
|
элемента автоматически происходит попытка присоединить незанятые порты этого |
|
элемента к близлежащим свободным (неприсоединенным) линиям, а также исходящие |
|
из этого элемента линии, чей конец не присоединен к незанятым портам других |
|
элементов, находящимся в непосредственной близости.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Элемент <span class=»Interface«>Декоративная линия</span> предназначен для соединения декораций |
|
и точек карты маршрута. В карте маршрута может быть размещено произвольное |
|
число декоративных линий.</p> |
|
|
|
<a id=»TI000000995» class=»bookmark» name=»issogl3_27.18.2.4_проверка_корректности_карты_маршрута«><h4>27.18.2.4. Проверка корректности карты маршрута</h4></a> |
|
|
|
<p class=»MsoNormal«>При выборе пункта <span class=»Interface«>Карта маршрута – Проверить</span>, а также автоматически |
|
при сохранении карты маршрута происходит проверка корректности карты маршрута. |
|
При этом проверяются следующие некорректные ситуации:</p> |
|
|
|
<p class=»MsoListBulletCxSpFirst«>● |
|
зацикливание;</p> |
|
|
|
<p class=»MsoListBulletCxSpMiddle«>● |
|
наличие неприсоединенных линий;</p> |
|
|
|
<p class=»MsoListBulletCxSpMiddle«>● |
|
наличие точек маршрута, не являющихся точкой |
|
старта и при этом не имеющих ни одной входящей линии;</p> |
|
|
|
<p class=»MsoListBulletCxSpMiddle«>● |
|
карта маршрута, не имеющая ни одной точки |
|
старта;</p> |
|
|
|
<p class=»MsoListBulletCxSpMiddle«>● |
|
наличие точек маршрута, не имеющих пути в точку |
|
завершения;</p> |
|
|
|
<p class=»MsoListBulletCxSpMiddle«>● |
|
карта маршрута, в которой не все линии, вошедшие |
|
в точку слияния, вышли из соответствующей ему точки разделения;</p> |
|
|
|
<p class=»MsoListBulletCxSpMiddle«>● |
|
карта маршрута, в которой распараллеленные ветки |
|
(исходящие из точки разделения) входят в одни и те же точки маршрута (до точки |
|
слияния);</p> |
|
|
|
<p class=»MsoListBulletCxSpMiddle«>● |
|
карта маршрута с циклами, которые не содержат ни |
|
одной точки вида <span class=»Interface«>Точка действия</span>, <span class=»Interface«>Точка вложенного бизнес-процесса</span> или <span class=»Interface«>Точка обработки</span> (цикл – замкнутая уникальная |
|
последовательность точек маршрута);</p> |
|
|
|
<p class=»MsoListBulletCxSpLast«>● |
|
карта маршрута, в которой какая-либо точка маршрута |
|
вида <span class=»Interface«>Точка условия</span> |
|
или <span class=»Interface«>Точка выбора варианта</span> |
|
не имеет обработчика события (соответственно <span class=»Term«>ПроверкаУсловия()</span> |
|
либо <span class=»Term«>ВыборВарианта()</span>).</p> |
|
|
|
<a id=»TI000000996» class=»bookmark» name=»issogl2_27.18.3_элементы_карты_маршрута«><h3>27.18.3. Элементы карты маршрута</h3></a> |
|
|
|
<p class=»MsoNormalCxSpFirst«>В разделе описываются все типы элементов карты |
|
маршрута в алфавитном порядке представления элементов.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Поведение элементов настраивается в палитре |
|
свойств путем установки и выбора значений. Некоторые свойства элементов присущи |
|
всем или большинству типов элементов. Индивидуальные свойства приводятся в |
|
справке по встроенному языку для каждого вида элементов.</p> |
|
|
|
<a id=»TI000000997» class=»bookmark» name=»issogl3_27.18.3.1_общие_свойства_элементов_карты_маршрута«><h4>27.18.3.1. Общие свойства элементов карты маршрута</h4></a> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Существует ряд свойств, которые присущи всем |
|
или большинству типов элементов. Обычно такие свойства имеют одинаковое |
|
назначение и редактируются одинаковым образом. Ниже будут описаны такие |
|
свойства, а в разделах, посвященных отдельным типам элементов, будет изложен порядок |
|
редактирования уникальных свойств элементов.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Приводятся только свойства, отличающие |
|
элементы карты от соответствующих элементов графической схемы.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Для удобства описания свойства будут |
|
сгруппированы по категориям палитры свойств.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Некоторые свойства, описываемые ниже, для |
|
некоторых элементов могут отсутствовать.</p> |
|
|
|
<a id=»TI000000998» class=»bookmark» name=»issogl4_27.18.3.1.1_категория_свойств_основные«><h5>27.18.3.1.1. Категория свойств «Основные»</h5></a> |
|
|
|
<p class=»MsoNormal«><span class=»Interface«>Наименование задачи</span> – |
|
наименование задачи, которая будет формироваться в точках вида <span class=»Interface«>Точка действия</span> или <span class=»Interface«>Точка вложенного бизнес-процесса</span>.</p> |
|
|
|
<a id=»TI000000999» class=»bookmark» name=»issogl4_27.18.3.1.2_категория_свойств_события«><h5>27.18.3.1.2. Категория свойств «События»</h5></a> |
|
|
|
<p class=»MsoNormal«>Свойства этой категории определяют поведение |
|
точек бизнес-процесса, представленных элементами, при определенных действиях, |
|
например, при интерактивной активации, при создании задач, при проверке условия |
|
(для элементов вида <span class=»Interface«>Точка условия</span>) и т. д.</p> |
|
|
|
<p class=»Regularbeforepicture«>При работе с элементами большинство действий |
|
может инициировать запуск связанных с этими действиями процедур. В теле каждой |
|
процедуры средствами встроенного языка описывается обработка события.</p> |
|
|
|
<p class=»Picture«><IMG src=»_img/img00551.gif?_=1496848987» WIDTH=»433» ALT HEIGHT=»165«></p> |
|
|
|
<p class=»MsoCaption«><a name=»_ref227566424«>Рис. </a>543. Создание обработчика события</p> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Инициализация создания процедуры, отвечающей |
|
за отработку события, производится нажатием специальной кнопки палитры свойств, |
|
расположенной справа от реквизита с наименованием события в категории свойств <span class=»Interface«>События</span> (см. <a href=»#_ref227566424«>рис. |
|
543</a>).</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Процедуры создаются в модуле бизнес-процесса, |
|
свойством которого является редактируемая карта маршрута.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>В режиме работы с бизнес-процессом при |
|
наступлении события управление выполнением программы передается процедуре, связанной |
|
с этим событием.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Список событий карты маршрута или элементов, |
|
а также условия их наступления приведены в справке по встроенному языку, в |
|
описании соответствующего объекта.</p> |
|
|
|
<a id=»TI000001000» class=»bookmark» name=»issogl3_27.18.3.2_соединительная_линия«><h4>27.18.3.2. Соединительная линия</h4></a> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Элемент карты маршрута <span class=»Interface«>Соединительная линия</span> предназначен для соединения в карте |
|
маршрута элементов, визуализирующих точки бизнес-процесса (например, элемент <span class=»Interface«>Точка старта</span>, элемент <span class=»Interface«>Точка действия</span>, элемент <span class=»Interface«>Точка условия</span> и т. д.). Элемент <span class=»Interface«>Соединительная линия</span> автоматически перестраивается при |
|
изменении положения элементов. Возможности вмешиваться в алгоритм построения |
|
нет.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Элемент <span class=»Interface«>Соединительная линия</span> вставляется автоматически при |
|
вставке других элементов карты маршрута и не может существовать сам по себе. |
|
Вставка дополнительных соединительных линий предусмотрена только в элементах |
|
карты маршрута вида <span class=»Interface«>Точка разделения</span> и <span class=»Interface«>Точка выбора варианта</span>.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>При построении линии система руководствуется |
|
правилом выбора кратчайшего пути, состоящего из вертикальных и горизонтальных |
|
отрезков линий и не пересекающего другие точки карты.</p> |
|
|
|
<a id=»TI000001001» class=»bookmark» name=»issogl3_27.18.3.3_точка_действия«><h4>27.18.3.3. Точка действия</h4></a> |
|
|
|
<p class=»MsoNormal«>Элемент карты маршрута вида <span class=»Interface«>Точка действия</span> отображает основную точку |
|
бизнес-процесса, по которой выдаются и выполняются задачи.</p> |
|
|
|
<a id=»TI000001002» class=»bookmark» name=»issogl4_27.18.3.3.1_категория_свойств_адресация«><h5>27.18.3.3.1. Категория свойств «Адресация»</h5></a> |
|
|
|
<p class=»MsoNormalCxSpFirst«><span class=»Interface«>Пояснение</span> – |
|
строка, дополнительно характеризующая адресацию точки действия. Применяется, |
|
когда атрибуты адресации проставляются из встроенного языка, а не задаются |
|
заранее на этапе проектирования карты маршрута.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«><span class=»Interface«>Групповая</span> – |
|
если установлено в значение <span class=»Term«>Истина</span>, |
|
то задачи на данной точке бизнес-процесса будут выданы каждому члену группы |
|
(отдела). В противном случае выдается одна задача на всю группу, например, |
|
«Отдел продаж», выполняет ее один человек (первый взявший ее).</p> |
|
|
|
<p class=»MsoNormalCxSpLast«><span class=»Interface«>Реквизиты адресации</span> – |
|
этих свойств столько, сколько реквизитов адресации у задачи, указанной в |
|
свойстве <span class=»Interface«>Задача</span> |
|
данного бизнес-процесса. В палитре свойств можно выбрать значение из |
|
предопределенных данных, тип которых задан в реквизите адресации задачи |
|
(например, из справочника <span class=»Interface«>Отделы</span> или <span class=»Interface«>Исполнители</span>).</p> |
|
|
|
<a id=»TI000001003» class=»bookmark» name=»issogl3_27.18.3.4_точка_разделения«><h4>27.18.3.4. Точка разделения</h4></a> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Элемент карты маршрута <span class=»Interface«>Точка разделения</span> отображает точку бизнес-процесса, в |
|
которой поток исполнения разделяется на несколько параллельных веток, идущих одновременно. |
|
По умолчанию размещается в карте маршрута с тремя исходящими соединительными |
|
линиями.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Для добавления выходящей линии в контекстном |
|
меню нужно выбрать пункт <span class=»Interface«>Добавить линию</span>. Для удаления – выделить линию, выбрать |
|
пункт <span class=»Interface«>Удалить</span>. При |
|
этом нельзя удалить единственную оставшуюся исходящую линию.</p> |
|
|
|
<a id=»TI000001004» class=»bookmark» name=»issogl3_27.18.3.5_точка_условия«><h4>27.18.3.5. Точка условия</h4></a> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Элемент карты маршрута <span class=»Interface«>Точка условия</span> отображает точку бизнес-процесса, из |
|
которой есть два выхода, отражающие результат выполнения логического условия.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>По умолчанию элемент <span class=»Interface«>Точка условия</span> вставляется в карту маршрута с двумя |
|
исходящими слева и справа соединительными линиями. Справа располагается ветка, |
|
по которой идет процесс при возврате значения <span class=»Term«>Истина</span> |
|
в обработчике <span class=»Term«>ПроверкаУсловия()</span>. |
|
Ветки условия можно поменять местами. Для этого нужно выбрать линию, исходящую |
|
из элемента <span class=»Interface«>Точка |
|
условия</span> и, захватив мышью прямоугольник у начала линии, перенести его на |
|
противоположную сторону элемента <span class=»Interface«>Точка условия</span>.</p> |
|
|
|
<a id=»TI000001005» class=»bookmark» name=»issogl3_27.18.3.6_точка_завершения«><h4>27.18.3.6. Точка завершения</h4></a> |
|
|
|
<p class=»MsoNormal«>Элемент карты маршрута <span class=»Interface«>Точка завершения</span> отображает точку бизнес-процесса, в |
|
которой завершается бизнес-процесс. В карте маршрута может быть несколько элементов |
|
этого вида.</p> |
|
|
|
<a id=»TI000001006» class=»bookmark» name=»issogl3_27.18.3.7_точка_старта«><h4>27.18.3.7. Точка старта</h4></a> |
|
|
|
<p class=»MsoNormal«>Элемент <span class=»Interface«>Точка старта</span> отображает точку бизнес-процесса, с которой |
|
начинается выполнение бизнес-процесса. Для бизнес-процесса, имеющего несколько |
|
точек вида <span class=»Interface«>Точка |
|
старта</span>, при запуске должна быть указана нужная точка старта. В элемент <span class=»Interface«>Точка старта</span> не могут входить соединительные линии.</p> |
|
|
|
<a id=»TI000001007» class=»bookmark» name=»issogl3_27.18.3.8_точка_слияния«><h4>27.18.3.8. Точка слияния</h4></a> |
|
|
|
<p class=»MsoNormal«>Элемент карты маршрута <span class=»Interface«>Точка слияния</span> отображает точку бизнес-процесса, в |
|
которую сходятся параллельные пути исполнения, начавшиеся в точке разделения. |
|
Пока исполнение задач по всем параллельным путям не придет в точку слияния, |
|
переход к следующей за слиянием точке не будет выполнен. Одной точке слияния |
|
всегда соответствует одна точка разделения (но не наоборот, т. к. |
|
могут быть точки разделения без точек слияния). Не требуется явно указывать, какому |
|
элементу <span class=»Interface«>Точка |
|
разделения</span> соответствует элемент <span class=»Interface«>Точка слияния</span>. Это будет определено автоматически.</p> |
|
|
|
<a id=»TI000001008» class=»bookmark» name=»issogl3_27.18.3.9_точка_вложенного_бизнес-процесса«><h4>27.18.3.9. Точка вложенного бизнес-процесса</h4></a> |
|
|
|
<p class=»MsoNormal«>Элемент карты маршрута <span class=»Interface«>Точка вложенного бизнес-процесса</span> отображает точку |
|
бизнес-процесса, в которой запускается на исполнение вложенный бизнес-процесс. |
|
Исполнение основного (родительского) процесса возобновляется только после |
|
завершения вложенного процесса.</p> |
|
|
|
<a id=»TI000001009» class=»bookmark» name=»issogl4_27.18.3.9.1_категория_свойств_данные«><h5>27.18.3.9.1. Категория свойств «Данные»</h5></a> |
|
|
|
<p class=»MsoNormal«><span class=»Interface«>Бизнес-процесс</span> – |
|
ссылка на вложенный бизнес-процесс.</p> |
|
|
|
<a id=»TI000001010» class=»bookmark» name=»issogl3_27.18.3.10_точка_обработки«><h4>27.18.3.10. Точка обработки</h4></a> |
|
|
|
<p class=»MsoNormal«>Элемент карты маршрута <span class=»Interface«>Точка обработки</span> отображает точку бизнес-процесса, |
|
выполняемую в автоматическом режиме и не имеющую адресата.</p> |
|
|
|
<a id=»TI000001011» class=»bookmark» name=»issogl3_27.18.3.11_точка_выбора_варианта«><h4>27.18.3.11. Точка выбора варианта</h4></a> |
|
|
|
<p class=»MsoNormal«>Элемент карты маршрута <span class=»Interface«>Точка выбора варианта</span> отображает точку бизнес-процесса, |
|
имеющую несколько выходов (вариантов), из которых, в зависимости от значения |
|
возвращаемого параметра <span class=»Interface«>Вариант</span> обработчика <span class=»Term«>ОбработкаВыбораВарианта()</span>, |
|
выбирается только один.</p> |
|
|
|
<a id=»TI000001012» class=»bookmark» name=»issogl2_27.18.4_модуль«><h3>27.18.4. Модуль</h3></a> |
|
|
|
<p class=»MsoNormal«>Карта маршрута не имеет собственного |
|
модуля. Обработчики событий помещаются в модуль объекта бизнес-процесса.</p> |
|
|
|
<a name=»_ref221519000«></a><a id=»TI000001013» class=»bookmark» name=»issogl1_27.19.редактор_картинок«><h2>27.19.Редактор картинок</h2></a> |
|
|
|
<a id=»TI000001836» class=»bookmark» name=»issogl2_27.19.1_общая_информация«><h3>27.19.1. Общая информация</h3></a> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Конфигуратор предоставляет средство редактирования |
|
картинок и коллекций картинок.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Картинки хранятся в конфигурации в ветви <span class=»Interface«>Общие – Общие картинки</span> или в файлах на диске.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Для создания новой картинки в конфигурации в |
|
ветви <span class=»Interface«>Общие – Общие |
|
картинки</span> нужно выполнить команду <span class=»Interface«>Действия – Добавить</span>, а далее открыть созданную |
|
пустую картинку для редактирования.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Для редактирования картинки в конфигурации в |
|
ветви <span class=»Interface«>Общие – Общие |
|
картинки</span> следует выбрать картинку и выполнить команду меню <span class=»Interface«>Действия – Изменить</span>, далее в открывшемся диалоге нажать |
|
кнопку <span class=»Interface«>Редактировать</span>. |
|
Если картинка хранится в формате, отличном от формата <span class=»Interface«>PNG</span>, то при открытии будет предложено конвертировать |
|
картинку в формат <span class=»Interface«>PNG</span>. При отказе от конвертации редактировать картинку |
|
невозможно.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Картинки формата <span class=»Interface«>WMF</span>, <span class=»Interface«>EMF</span> и <span class=»Interface«>SVG</span> редактировать невозможно.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Чтобы создать новую картинку, расположенную в |
|
файле на диске, нужно выполнить команду <span class=»Interface«>Файл – Новый</span> и в окне выбора типа редактора выбрать |
|
<span class=»Interface«>Картинка</span>. Далее |
|
отредактировать пустую картинку и сохранить ее командой <span class=»Interface«>Файл – Сохранить</span> или <span class=»Interface«>Файл – Сохранить как…</span></p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Для редактирования картинки, расположенной в |
|
файле на диске, следует выполнить команду меню <span class=»Interface«>Файл – Открыть</span> и в списке файлов выбрать нужный |
|
файл.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Редактор работает в двух режимах: |
|
редактирование картинки и редактирование коллекции картинок. Различие между картинкой |
|
и коллекцией картинок носит условный характер. Под коллекцией картинок |
|
понимается картинка, состоящая из картинок-элементов, имеющих одинаковый размер. |
|
Любую картинку можно представить как коллекцию картинок. Коллекция картинок |
|
позволяет хранить и редактировать картинки, чье использование однотипно, например, |
|
пиктограммы, картинки кнопок, иконки и т. д. По умолчанию редактор открывается |
|
в режиме редактирования картинок.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Приемы редактирования картинки не зависят от |
|
выбора вида картинки (см. <a href=»#_ref236792735«>здесь</a>). Особенности работы с коллекцией картинок см. <a href=»#_ref236792752«>здесь</a>.</p> |
|
|
|
<a name=»_ref236792735«></a><a name=»_ref216064573«></a><a id=»TI000001014» class=»bookmark» name=»issogl2_27.19.2_редактирование_картинки«><h3>27.19.2. Редактирование картинки</h3></a> |
|
|
|
<p class=»Regularbeforepicture«>После выбора (или создания) картинки ее можно |
|
редактировать с помощью редактора картинок.</p> |
|
|
|
<p class=»Picture«><IMG src=»_img/img00552.gif?_=1496848987» WIDTH=»585» ALT HEIGHT=»599«></p> |
|
|
|
<p class=»MsoCaption«>Рис. 544. Редактор картинок</p> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Окно редактора состоит из панели |
|
инструментов, двух полей для редактирования картинки (левое представляет картинку |
|
в натуральную величину и предназначено для просмотра результата редактирования, |
|
а правое поле содержит увеличенное изображение картинки и предназначено для |
|
редактирования) и палитры цветов для выбора цвета.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Редактировать картинку можно в любом поле. |
|
Редактирование осуществляется мышью. Предварительно нужно выбрать инструмент |
|
или фигуру для рисования (карандаш, кисть, аэрограф, линию, прямоугольник, |
|
эллипс), в палитре цветов следует выбрать цвет для инструмента.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Текущее положение указателя мыши и размер |
|
области, а также масштаб показываются в панели состояния.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Картинка представляет собой прямоугольную |
|
область, состоящую из набора точек (пикселей), размер которой можно изменить с |
|
помощью мыши, потянув маркер нижней или правой границы или правого нижнего |
|
угла. Размеры картинки также можно изменить в окне <span class=»Interface«>Параметры картинки</span> (см. ниже).</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Редактирование сводится к указанию |
|
определенного цвета каждой точки картинки. Количество цветов определяется |
|
разрешением картинки. Чем больше разрешение, тем больше цветов можно |
|
использовать.</p> |
|
|
|
<p class=»Note«><span class=»Note«>ВНИМАНИЕ!</span> Использование разрешения |
|
24 бита на пиксель при больших размерах картинок приводит к увеличению размеров |
|
конфигурации.</p> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Выбор цвета производится в палитре цветов |
|
отдельно для каждой кнопки мыши. Выбранный цвет показывается двойной рамкой.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Состав цветов можно менять. Для этого нужно |
|
дважды щелкнуть мышью цвет, который требуется изменить. В открывшемся окне |
|
выбора цвета выбрать нужный из стилей или создать новый цвет.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Размер картинки можно менять. Для этого |
|
достаточно с помощью указателя мыши потянуть маркер стороны или угла области |
|
картинки.</p> |
|
|
|
<p class=»Regularbeforepicture«>Сетка (пиксельная) предназначена для |
|
облегчения редактирования картинки. Сетка показывается прерывистой линией. Для |
|
настройки показа сетки нужно выбрать пункт <span class=»Interface«>Действия – Сетка</span>. На экран выводится диалог.</p> |
|
|
|
<p class=»Picture«><IMG src=»_img/img00553.gif?_=1496848987» WIDTH=»264» ALT HEIGHT=»152«></p> |
|
|
|
<p class=»MsoCaption«>Рис. 545. Установка параметров |
|
сетки</p> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Если флажок <span class=»Interface«>По точкам</span> установлен, то показывается пиксельная сетка.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Если установлен флажок <span class=»Interface«>По изображениям</span>, то подразумевается, что картинка |
|
представляет собой коллекцию картинок одинакового размера (о редактировании коллекции |
|
(см. раздел ниже). В этом случае становятся доступными поля для указания |
|
размеров элемента коллекции. Помимо пиксельной сетки в поле редактирования |
|
картинки выводится сетка коллекции в виде тонких сплошных линий. При этом режим |
|
редактирования не изменяется.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>При установленном флажке <span class=»Interface«>По изображениям</span> изменение размера картинки кратно |
|
размеру ячейки. Если флажок не установлен, то размер изменяется с точностью до |
|
пикселя.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Для рисования используют различные инструменты |
|
и набор фигур. Набор и порядок использования инструментов аналогичны |
|
стандартному набору инструментов, используемых в программе <span class=»Interface«>Paint</span>, входящей в Microsoft Windows. Таблицу |
|
сочетаний клавиш для редактора картинок (см. в справке при использовании |
|
программы).</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Но есть и некоторые отличия. По кнопке <span class=»Interface«>Масштаб</span> изображение поля редактирования может |
|
масштабироваться в пределах от 1:1 до 20:1 с шестью ступенями выбора. Нажатие |
|
кнопки приводит к выбору следующей ступени масштаба. Когда достигнут масштаб |
|
20:1, очередное нажатие кнопки приводит к выбору масштаба 1:1. Нужный масштаб |
|
можно выбрать сразу, нажав справа от кнопки масштаба кнопку выбора (с маленьким |
|
треугольником вершиной вниз).</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Если нажать кнопку <span class=»Interface«>Масштаб</span> и перевести указатель мыши на любую из областей |
|
рисунка, то появляется рамка. Эта рамка обозначает область изображения, которая |
|
будет показана при нажатии на клавиши мыши.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Изменить масштаб также можно, используя мышь |
|
с колесом прокрутки с нажатой клавишей <span class=»Interface«>Ctrl</span>.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Кнопки рисования фигур (прямоугольник, |
|
прямоугольник с закругленными краями, эллипс) также имеют кнопки выбора, нажав |
|
которые можно выбрать вид фигуры (простой, обведенный закрашенный, |
|
закрашенный).</p> |
|
|
|
<p class=»Regularbeforepicture«>Кнопка <span class=»Interface«>Параметры картинки</span> вызывает на экран диалог:</p> |
|
|
|
<p class=»Picture«><IMG src=»_img/img00554.gif?_=1496848987» WIDTH=»322» ALT HEIGHT=»102«></p> |
|
|
|
<p class=»MsoCaption«>Рис. 546. Параметры картинки</p> |
|
|
|
<p class=»MsoNormal«>В диалоге задается размер картинки и |
|
разрешение (определяет максимальное число используемых цветов). Для картинок, у |
|
которых разрешение установлено в 1, 4 или 8 бит на пиксель, невозможно использовать |
|
альфа-канал. Разрешается использование только одного прозрачного цвета. |
|
Использовать альфа-канал можно в случае, если разрешение больше 8 бит на |
|
пиксель.</p> |
|
|
|
<p class=»Note«><span class=»Note«>Примечание.</span> Не следует |
|
использовать в конфигурациях альфа-канал у картинок, чей размер превышает 40 000 |
|
точек (например, картинка 200х200 точек). Для таких картинок не поддерживается |
|
корректное отображение в веб-клиенте, который работает в веб-браузере Microsoft Internet Explorer 6.0. Это правило не |
|
относится к картинкам-коллекциям, размер элементов которых меньше указанного |
|
ограничения.</p> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Редактор картинок допускает использование |
|
стандартных команд работы с буфером обмена. Для вставки рисунка нужно использовать |
|
<span class=»Interface«>Ctrl + V</span>, |
|
для копирования – <span class=»Interface«>Ctrl + С</span>, для копирования с удалением – <span class=»Interface«>Ctrl + X</span>. Если размер картинки превышает текущий |
|
размер, то редактор предлагает изменить его.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>В палитре инструментов есть многоцелевая |
|
кнопка, которая меняет свое назначение в зависимости от выбранного инструмента |
|
или фигуры. Она расположена во втором ряду справа, перед кнопкой <span class=»Interface«>Параметры картинки</span>. При выборе линии, кривой, прямоугольника |
|
и эллипса данная кнопка показывает толщину используемой линии, с помощью |
|
которой рисуется фигура, в пикселях. Нажатие кнопки приводит к последовательной |
|
смене толщины (пять ступеней). При нажатии кнопки выбора открывается выпадающее |
|
меню, в котором можно выбрать нужную толщину линии рисования фигуры. Для аэрографа |
|
с помощью данной кнопки определяется размер пятна, для кисти – размер и |
|
форма, для ластика – размер. При выборе режима выделения или ввода текста |
|
кнопка предоставляет возможность задать режим прозрачности.</p> |
|
|
|
<p class=»Regularbeforepicture«>Для ввода текста нужно нажать кнопку <span class=»Interface«>Текст</span>. На экран выводится диалог:</p> |
|
|
|
<p class=»Picture«><IMG src=»_img/img00555.gif?_=1496848987» WIDTH=»276» ALT HEIGHT=»117«></p> |
|
|
|
<p class=»MsoCaption«>Рис. 547. Диалог ввода текста</p> |
|
|
|
<p class=»MsoNormalCxSpFirst«>В многострочном поле ввода вводится текст. По |
|
кнопке <span class=»Interface«>Шрифт</span> |
|
выбирается требуемый шрифт (начертание, размер и другие характеристики). Выбор |
|
шрифта осуществляется из системных шрифтов или из стилей, определенных в конфигурации.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>С помощью кнопки <span class=»Interface«>Замена цветов</span> просто осуществляется замена выбранного |
|
указателем мыши цвета (указывается пиксель) на цвет, установленный для данной |
|
кнопки мыши. Таким образом можно быстро перекрашивать рисунки, используя сразу |
|
два цвета на каждую кнопку мыши.</p> |
|
|
|
<a name=»_ref236792752«></a><a name=»_ref469412072«></a><a name=»_ref469412071«></a><a name=»_ref469410939«></a><a id=»TI000001015» class=»bookmark» name=»issogl2_27.19.3_коллекции_картинок«><h3>27.19.3. Коллекции картинок</h3></a> |
|
|
|
<p class=»MsoNormalCxSpFirst«><span class=»Bold«>Коллекция картинок</span> – |
|
это картинка, состоящая из отдельных элементов (картинок) одинакового размера. |
|
Элементы образуют прямоугольную матрицу, каждая ячейка которой представляет |
|
самостоятельную картинку.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Коллекция картинок предназначена для |
|
упрощения выбора нужной картинки в элементы управления, заголовки колонок и т. д. |
|
Использование коллекции гарантирует выбор картинок одинакового размера для |
|
однотипного использования.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>С помощью редактора картинок можно создавать |
|
и редактировать коллекции картинок. Для перехода в режим редактирования |
|
коллекции нужно выбрать пункт <span class=»Interface«>Режим коллекции</span>. При этом картинка, показанная в поле |
|
просмотра, разбивается на ячейки. Для редактирования картинки-элемента следует дважды |
|
щелкнуть ячейку мышью – картинка-элемент показывается в поле редактирования. |
|
Приемы редактирования описаны в разделе выше.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>В панели инструментов добавляются две кнопки – |
|
<span class=»Interface«>Добавить колонку</span> |
|
и <span class=»Interface«>Добавить строку</span>. |
|
При нажатии той или иной кнопки в картинку добавляется новая колонка или |
|
строка.</p> |
|
|
|
<p class=»Regularbeforepicture«>Изменить размер элемента можно только в |
|
диалоге <span class=»Interface«>Параметры |
|
картинки</span> (маркеры изменения размера недоступны).</p> |
|
|
|
<p class=»Picture«><IMG src=»_img/img00556.gif?_=1496848987» WIDTH=»351» ALT HEIGHT=»204«></p> |
|
|
|
<p class=»MsoCaption«>Рис. 548. Параметры коллекции</p> |
|
|
|
<p class=»MsoNormalCxSpFirst«>В группе элементов <span class=»Interface«>Параметры картинки</span> задаются размеры картинки в элементах |
|
(ячейках). В группе элементов <span class=»Interface«>Параметры коллекции</span> задаются размеры ячейки в пикселях |
|
(точках). Параметры коллекции задаются с помощью сооветствующих атрибутов файла |
|
манифеста картинки с вариантами (подробнее см. <A href=»/db/content/v8310doc/src/руководство разработчика/глава 5. объекты конфигурации.htm?_=1496848987#_ref469411751«>здесь</a>).</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Коллекцию картинок можно также редактировать |
|
как обычную картинку. При этом рекомендуется предварительно настроить показ |
|
сетки по изображениям (см. <a href=»#_ref216064573«>здесь</a>).</p> |
|
|
|
<a name=»_ref216075447«></a><a id=»TI000001016» class=»bookmark» name=»issogl1_27.20.редактор_html-документа«><h2>27.20.Редактор HTML-документа</h2></a> |
|
|
|
<a id=»TI000001837» class=»bookmark» name=»issogl2_27.20.1_общая_информация«><h3>27.20.1. Общая информация</h3></a> |
|
|
|
<p class=»Regularbeforepicture«>Данный редактор предоставляет основные |
|
возможности по редактированию HTML-документов. Также с помощью этого редактора |
|
редактируется справочная информация для объектов конфигурации.</p> |
|
|
|
<p class=»Picture«><IMG src=»_img/img00557.gif?_=1496848987» WIDTH=»387» ALT HEIGHT=»252«></p> |
|
|
|
<p class=»MsoCaption«>Рис. 549. Редактор |
|
HTML-документа</p> |
|
|
|
<p class=»MsoNormal«>Редактор состоит из трех закладок:</p> |
|
|
|
<p class=»MsoListBulletCxSpFirst«>● |
|
<span class=»Interface«>Редактирование</span> – |
|
с помощью этой закладки имеется возможность редактировать документ в визуальном |
|
режиме.</p> |
|
|
|
<p class=»MsoListBulletCxSpMiddle«>● |
|
<span class=»Interface«>Текст</span> – с |
|
помощью этой закладки имеется возможность редактировать документ |
|
непосредственно с помощью языка разметки HTML. При этом возможности редактора |
|
совпадают с возможностями редактора текстов (см. <a href=»#_ref236645687«>здесь</a>).</p> |
|
|
|
<p class=»MsoListBulletCxSpLast«>● |
|
<span class=»Interface«>Просмотр</span> – на |
|
этой закладке можно посмотреть, как будет выглядеть созданный документ, однако |
|
недоступно непосредственное изменение документа.</p> |
|
|
|
<a id=»TI000001017» class=»bookmark» name=»issogl2_27.20.2_визуальное_редактирование«><h3>27.20.2. Визуальное редактирование</h3></a> |
|
|
|
<a id=»TI000001018» class=»bookmark» name=»issogl3_27.20.2.1_форматирование_текста«><h4>27.20.2.1. Форматирование текста</h4></a> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Текст HTML-документа можно форматировать, т. е. |
|
устанавливать его стиль (шрифт, размер, оформление, отступы, выравнивание и т. д.).</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>При копировании текста из других текстовых |
|
редакторов, например, Microsoft Word, |
|
сохраняется исходное форматирование текста.</p> |
|
|
|
<a id=»TI000001019» class=»bookmark» name=»issogl3_27.20.2.2_вставка_и_работа_с_таблицей«><h4>27.20.2.2. Вставка и работа с таблицей</h4></a> |
|
|
|
<p class=»MsoNormalCxSpFirst«>В HTML-документ можно вставлять таблицы. Для |
|
вставки таблицы нужно выбрать пункт <span class=»Interface«>Таблица – Вставить таблицу</span>. В открывшемся диалоге указать |
|
количество строк и колонок.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Если в дальнейшем в процессе редактирования |
|
выяснится, что указанного количества строк или колонок не хватает, их можно |
|
добавить.</p> |
|
|
|
<p class=»Regularbeforetable«>Для работы с таблицей (вставка, удаление |
|
строк, колонок и ячеек) предназначены команды, выполняемые при выборе пунктов |
|
меню <span class=»Interface«>Таблица</span> главного меню конфигуратора.</p> |
|
|
|
<table class=»MsoNormalTable» border=»0» cellspacing=»0» cellpadding=»0«> |
|
<tr> |
|
<td valign=»top«> |
|
<p class=»MsoNormalCxSpFirst«><b>Пункт меню «Таблица»</b></p> |
|
</td> |
|
|
|
<td valign=»top«> |
|
<p class=»MsoNormalCxSpMiddle«><b>Действие</b></p> |
|
</td> |
|
|
|
</tr> |
|
<tr> |
|
<td valign=»top«> |
|
<p class=»MsoNormalCxSpMiddle«>Вставить |
|
строку</p> |
|
</td> |
|
|
|
<td valign=»top«> |
|
<p class=»MsoNormalCxSpMiddle«>Сверху |
|
от текущей строки добавляется новая строка</p> |
|
</td> |
|
|
|
</tr> |
|
<tr> |
|
<td valign=»top«> |
|
<p class=»MsoNormalCxSpMiddle«>Удалить |
|
строку</p> |
|
</td> |
|
|
|
<td valign=»top«> |
|
<p class=»MsoNormalCxSpMiddle«>Удаляется |
|
текущая строка</p> |
|
</td> |
|
|
|
</tr> |
|
<tr> |
|
<td valign=»top«> |
|
<p class=»MsoNormalCxSpMiddle«>Вставить |
|
колонку</p> |
|
</td> |
|
|
|
<td valign=»top«> |
|
<p class=»MsoNormalCxSpMiddle«>Справа |
|
от текущей колонки добавляется новая колонка</p> |
|
</td> |
|
|
|
</tr> |
|
<tr> |
|
<td valign=»top«> |
|
<p class=»MsoNormalCxSpMiddle«>Удалить |
|
колонку</p> |
|
</td> |
|
|
|
<td valign=»top«> |
|
<p class=»MsoNormalCxSpMiddle«>Удаляется |
|
текущая колонка</p> |
|
</td> |
|
|
|
</tr> |
|
<tr> |
|
<td valign=»top«> |
|
<p class=»MsoNormalCxSpMiddle«>Вставить |
|
ячейку</p> |
|
</td> |
|
|
|
<td valign=»top«> |
|
<p class=»MsoNormalCxSpMiddle«>В |
|
таблицу слева от текущей ячейки добавляется ячейка. При этом все ячейки |
|
справа сдвигаются</p> |
|
</td> |
|
|
|
</tr> |
|
<tr> |
|
<td valign=»top«> |
|
<p class=»MsoNormalCxSpMiddle«>Удалить |
|
ячейку</p> |
|
</td> |
|
|
|
<td valign=»top«> |
|
<p class=»MsoNormalCxSpMiddle«>Удаляет |
|
текущую ячейку. Все ячейки справа сдвигаются влево</p> |
|
</td> |
|
|
|
</tr> |
|
<tr> |
|
<td valign=»top«> |
|
<p class=»MsoNormalCxSpMiddle«>Объединить |
|
ячейки</p> |
|
</td> |
|
|
|
<td valign=»top«> |
|
<p class=»MsoNormalCxSpMiddle«>Объединяет |
|
две ячейки: текущую и ячейку, расположенную справа от текущей. При этом |
|
введенная информация в этих ячейках также объединяется. Если требуется |
|
объединить больше чем две ячейки, нужно выполнить эту операцию несколько раз</p> |
|
</td> |
|
|
|
</tr> |
|
<tr> |
|
<td valign=»top«> |
|
<p class=»MsoNormalCxSpMiddle«>Разбить |
|
ячейку</p> |
|
</td> |
|
|
|
<td valign=»top«> |
|
<p class=»MsoNormalCxSpMiddle«>Разделяет |
|
текущую ячейку на две ячейки</p> |
|
</td> |
|
|
|
</tr> |
|
</table> |
|
|
|
<p class=»MsoNormalCxSpLast«>Таблицы могут быть вложенными. Для создания |
|
вложенной таблицы необходимо создать новую таблицу в ячейке уже существующей |
|
таблицы.</p> |
|
|
|
<a name=»_ref449006777«></a><a id=»TI000001020» class=»bookmark» name=»issogl3_27.20.2.3_вставка_картинки«><h4>27.20.2.3. Вставка картинки</h4></a> |
|
|
|
<p class=»MsoNormalCxSpFirst«>В HTML-документ можно вставлять картинки.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Для вставки картинки нужно выбрать пункт <span class=»Interface«>Элементы – Картинка</span>. В открывшемся диалоге указать |
|
адрес картинки (путь и имя файла картинки) или выбрать файл в стандартном |
|
диалоге выбора файла. В поле <span class=»Interface«>Текст</span> ввести поясняющий текст, который будет появляться |
|
в режиме просмотра в виде всплывающей подсказки при помещении указателя мыши |
|
над картинкой.</p> |
|
|
|
<p class=»Regularbeforetable«>В группе реквизитов <span class=»Interface«>Расположение</span> необходимо указать, если требуется, |
|
выравнивание картинки (как располагается картинка в документе).</p> |
|
|
|
<table class=»MsoNormalTable» border=»0» cellspacing=»0» cellpadding=»0«> |
|
<tr> |
|
<td valign=»top«> |
|
<p class=»MsoNormalCxSpFirst«><b>Значение<br> |
|
выравнивания</b></p> |
|
</td> |
|
|
|
<td valign=»top«> |
|
<p class=»MsoNormalCxSpMiddle«><b>Действия</b></p> |
|
</td> |
|
|
|
</tr> |
|
<tr> |
|
<td valign=»top«> |
|
<p class=»MsoNormalCxSpMiddle«>Не |
|
задано </p> |
|
</td> |
|
|
|
<td valign=»top«> |
|
<p class=»MsoNormalCxSpMiddle«>Картинка |
|
располагается в тексте</p> |
|
</td> |
|
|
|
</tr> |
|
<tr> |
|
<td valign=»top«> |
|
<p class=»MsoNormalCxSpMiddle«>Лево</p> |
|
</td> |
|
|
|
<td valign=»top«> |
|
<p class=»MsoNormalCxSpMiddle«>Картинка |
|
располагается в новой строке, прижата к левой границе документа</p> |
|
</td> |
|
|
|
</tr> |
|
<tr> |
|
<td valign=»top«> |
|
<p class=»MsoNormalCxSpMiddle«>Право</p> |
|
</td> |
|
|
|
<td valign=»top«> |
|
<p class=»MsoNormalCxSpMiddle«>Картинка |
|
располагается в новой строке, прижата к правой границе документа</p> |
|
</td> |
|
|
|
</tr> |
|
<tr> |
|
<td valign=»top«> |
|
<p class=»MsoNormalCxSpMiddle«>Низ</p> |
|
</td> |
|
|
|
<td valign=»top«> |
|
<p class=»MsoNormalCxSpMiddle«>Картинка |
|
располагается в тексте с выравниванием текста по нижней границе картинки</p> |
|
</td> |
|
|
|
</tr> |
|
<tr> |
|
<td valign=»top«> |
|
<p class=»MsoNormalCxSpMiddle«>Центр</p> |
|
</td> |
|
|
|
<td valign=»top«> |
|
<p class=»MsoNormalCxSpMiddle«>Картинка |
|
располагается в тексте с выравниванием текста по центру картинки</p> |
|
</td> |
|
|
|
</tr> |
|
<tr> |
|
<td valign=»top«> |
|
<p class=»MsoNormalCxSpMiddle«>Верх</p> |
|
</td> |
|
|
|
<td valign=»top«> |
|
<p class=»MsoNormalCxSpMiddle«>Картинка |
|
располагается в тексте с выравниванием текста по верхней границе картинки</p> |
|
</td> |
|
|
|
</tr> |
|
</table> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Если требуется поместить картинку в рамку, в |
|
реквизите диалога <span class=»Interface«>Рамка</span> нужно указать толщину рамки. Если толщина не |
|
указана или равна 0, то рамка не рисуется. Для вставки картинки нажать кнопку <span class=»Interface«>ОК</span>. Указанные в диалоге реквизиты можно изменить в палитре |
|
свойств картинки.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Вставленную картинку можно переместить. Для |
|
этого следует указать картинку и перетащить ее мышью в нужное место документа. |
|
При этом свойство картинки <span class=»Interface«>Положение</span> не меняется, т. е. если установлено |
|
не <span class=»Interface«>Лево</span> и не <span class=»Interface«>Право</span>, то картинку можно расположить в тексте, в |
|
противном случае картинка будет располагаться в новой строке.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>При вставке картинки в формате <span class=»Interface«>SVG</span>, если в HTML-странице отсутствует элемент вида: <span class=»Term«><meta |
|
http-equiv="X-UA-Compatible" content="IE=*"/></span>, |
|
то на страницу добавится такой элемент с текстом <span class=»Term«>content="IE=Egde"</span>. |
|
Этот элемент выключает режим совместимости Microsoft Internet Explorer (по |
|
умолчанию, страница отрисовывается в режиме совместимости с Microsoft Internet Explorer версии 7). После |
|
добавления такого элемента, веб-браузер перезагружает страницу без режима совместимости |
|
(теряется текущая позиция курсора).</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Если на компьютере установлен Microsoft Internet Explorer версии ниже 9, то в |
|
редакторе HTML картинка в формате SVG отображаться не будет.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Картинку можно копировать. Копирование |
|
осуществляется стандартным образом (с помощью буфера обмена или с помощью мыши |
|
при нажатой клавише <span class=»Interface«>Ctrl</span>).</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Картинку можно расположить в любой части |
|
HTML-документа (текст, таблица и надпись).</p> |
|
|
|
<a id=»TI000001021» class=»bookmark» name=»issogl3_27.20.2.4_надпись«><h4>27.20.2.4. Надпись</h4></a> |
|
|
|
<p class=»MsoNormalCxSpFirst«><span class=»Interface«>Надпись</span> – специальный |
|
объект HTML-документа. Он представляет собой область, в которую можно поместить |
|
текст, таблицу, картинку или другую надпись. При просмотре надписи вложенные |
|
объекты непрерывно прокручиваются справа налево.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Для вставки линии нужно выбрать пункт <span class=»Interface«>Элементы – Надпись</span>.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Размер надписи можно изменить. Для этого следует |
|
выделить надпись и с помощью мыши переместить маркер надписи.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Надписи можно располагать в тексте и в |
|
таблице.</p> |
|
|
|
<a id=»TI000001022» class=»bookmark» name=»issogl3_27.20.2.5_гиперссылка«><h4>27.20.2.5. Гиперссылка</h4></a> |
|
|
|
<p class=»MsoNormal«>Для создания гиперссылки в HTML-документе |
|
можно создавать ссылки.</p> |
|
|
|
<p class=»Regularbeforepicture«>Нужно выделить объект (текст или картинку), выбрать |
|
пункт <span class=»Interface«>Элементы – Ссылка</span>. На экран выводится диалог |
|
формирования ссылки.</p> |
|
|
|
<p class=»Picture«><IMG src=»_img/img00558.gif?_=1496848987» WIDTH=»648» ALT HEIGHT=»476«></p> |
|
|
|
<p class=»MsoCaption«>Рис. 550. Вставка гиперссылки</p> |
|
|
|
<p class=»MsoNormal«>В реквизите <span class=»Interface«>Адрес</span> нужно указать:</p> |
|
|
|
<p class=»MsoListBulletCxSpFirst«>● |
|
Адрес гиперссылки.</p> |
|
|
|
<p class=»MsoListBulletCxSpMiddle«>● |
|
Ссылку на справочную информацию по объекту |
|
конфигурации.</p> |
|
|
|
<p class=»MsoListBulletCxSpMiddle«>● |
|
Ссылку на системный раздел справки. Если режим |
|
редактирования конфигурации установлен в значение <span class=»Interface«>Управляемое приложение</span>, то будут отображены только |
|
разделы справки, относящиеся к управляемому приложению (а также колонка, |
|
описывающая доступность раздела в веб-клиенте). Если режим редактирования |
|
конфигурации установлен в значение <span class=»Interface«>Управляемое приложение и обычное приложение</span>, то будут |
|
отображены все разделы справки с указанием доступности раздела в управляемом |
|
приложении, веб-клиенте и обычном приложении.</p> |
|
|
|
<p class=»MsoListBulletCxSpLast«>● |
|
Имя закладки (предваренное символом «<span class=»Interface«>#</span>»).</p> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Для создания ссылки следует нажать кнопку <span class=»Interface«>ОК</span>.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Выделенный объект форматируется в соответствии |
|
со стилем гиперссылки. Обычно это синий цвет текста с подчеркиванием. Картинка |
|
помещается в рамку синего цвета.</p> |
|
|
|
<a id=»TI000001023» class=»bookmark» name=»issogl3_27.20.2.6_закладки«><h4>27.20.2.6. Закладки</h4></a> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Для создания внутренней ссылки в |
|
HTML-документе можно создавать закладки. Для этого следует выделить объект |
|
(текст или картинку) и выбрать пункт <span class=»Interface«>Элементы – Закладка</span>. На экран выводится диалог ввода |
|
имени закладки. Выделенный объект при этом не форматируется.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Закладки используются для организации |
|
внутренней ссылки.</p> |
|
|
|
<a id=»TI000001024» class=»bookmark» name=»issogl3_27.20.2.7_линия«><h4>27.20.2.7. Линия</h4></a> |
|
|
|
<p class=»MsoNormal«>С помощью линий производится зрительное |
|
разделение документа.</p> |
|
|
|
<a name=»_ref353279027«></a><a name=»_ref353279026«></a><a id=»TI000001025» class=»bookmark» name=»issogl2_27.20.3_редактирование_в_html-формате«><h3>27.20.3. Редактирование в HTML-формате</h3></a> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Возможности редактора HTML-документов, |
|
предоставляемые на закладке <span class=»Interface«>Редактирование</span>, ограниченны. На закладке <span class=»Interface«>Текст</span> разработчик может отредактировать документ в формате |
|
HTML-кода.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Следует помнить, что |
|
ручное изменение кодировки с помощью атрибута <span class=»Term«>charset</span> тега <span class=»Term«>META</span> не оказывают влияние на поведение |
|
редактора. При сохранении HTML-документ будет записан в кодировке utf-8 с |
|
неизменным тегом <span class=»Term«>charset</span>, а при чтении тег <span class=»Term«>charset</span> будет установлен в значение utf-8.</p> |
|
|
|
<a id=»TI000001026» class=»bookmark» name=»issogl2_27.20.4_просмотр_результата«><h3>27.20.4. Просмотр результата</h3></a> |
|
|
|
<p class=»MsoNormal«>Для просмотра результата редактирования |
|
HTML-документа нужно перейти на закладку <span class=»Interface«>Просмотр</span> и проверить работу объектов документа.</p> |
|
|
|
<a name=»_ref428285443«></a><a id=»TI000001027» class=»bookmark» name=»issogl1_27.21.локализация_конфигураций«><h2>27.21.Локализация конфигураций</h2></a> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Под локализацией конфигураций понимается |
|
формирование строковых значений, появляющихся в программе в режиме |
|
1С:Предприятие, на языках, указанных в ветви <span class=»Interface«>Общие – Языки</span> дерева объектов конфигурации. Это |
|
может быть наименование пунктов в интерфейсе, наименованиях (синонимах) |
|
объектов, справочной информации, текстах модулей и т. д.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Наиболее сложным при выполнении данной работы |
|
является поиск мест, в которых необходимо ввести текст на требуемом языке. |
|
Поэтому данным режимом удобно пользоваться даже тогда, когда определен только |
|
один язык.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Для начала поиска нужно выбрать пункт <span class=»Interface«>Правка – Редактирование текстов интерфейса</span>.</p> |
|
|
|
<p class=»Regularbeforepicture«>На экран выводится диалог:</p> |
|
|
|
<p class=»Picture«><IMG src=»_img/img00559.gif?_=1496848987» WIDTH=»486» ALT HEIGHT=»445«></p> |
|
|
|
<p class=»MsoCaption«>Рис. 551. Редактирование текстов |
|
интерфейса</p> |
|
|
|
<p class=»MsoNormalCxSpFirst«>На закладке <span class=»Interface«>Конфигурации</span> выбираются объекты конфигурации, в которых |
|
требуется осуществить редактирование текстов интерфейса.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>В список конфигураций будут включены все |
|
открытые на текущий момент окна конфигураций (помимо основной это может быть |
|
конфигурация базы данных, конфигурации, расположенные в файлах, конфигурации |
|
хранилища и поставки).</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>В поле выбора можно выбрать строку <span class=»Interface«>Вся конфигурация</span>, и в этом случае будет сформирован |
|
полный список объектов конфигурации, которые содержат интерфейсные свойства. |
|
Поиск можно осуществлять только в определенных объектах, если в поле выбора |
|
выбрать этот объект.</p> |
|
|
|
<p class=»Regularbeforepicture«>На закладке <span class=»Interface«>Файлы</span> можно выбрать текстовые и табличные документы, |
|
внешние обработки, размещенные в файлах.</p> |
|
|
|
<p class=»Picture«><IMG src=»_img/img00560.gif?_=1496848987» WIDTH=»486» ALT HEIGHT=»236«></p> |
|
|
|
<p class=»MsoCaption«>Рис. 552. Настройка поиска в |
|
файлах</p> |
|
|
|
<p class=»MsoNormalCxSpFirst«>На закладке <span class=»Interface«>Модули</span> нужно установить флажок <span class=»Interface«>Искать в функциях "НСтр" ("NStr") в модулях</span>, |
|
если требуется определить места использования оператора <span class=»Term«>НСтр()</span> |
|
в модулях. При использовании данного флажка следует помнить, что обработка |
|
оператора <span class=»Term«>НСтр()</span> выполняется |
|
без применения синтаксического анализа. Так, операторы <span class=»Term«>НСтр()</span> |
|
в комментариях также будут обработаны, при этом если строки на разных языках |
|
будут включать переносы строк, то признак комментария (<span class=»Interface«>//</span>) перед такими («добавленными») строками не будет |
|
добавлен.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Для запоминания области поиска (список |
|
объектов конфигураций, файлов и открытые документы) в реквизите <span class=»Interface«>Область поиска</span> следует указать наименование текущих |
|
установок. При повторном открытии окна поиска в списке областей достаточно |
|
выбрать нужную и выполнить поиск.</p> |
|
|
|
<p class=»Regularbeforepicture«>После того как выбраны нужные объекты, следует |
|
нажать кнопку <span class=»Interface«>Искать</span>. |
|
На экран выводится окно:</p> |
|
|
|
<p class=»Picture«><IMG src=»_img/img00561.gif?_=1496848987» WIDTH=»486» ALT HEIGHT=»262«></p> |
|
|
|
<p class=»MsoCaption«><a name=»_ref237746507«>Рис. </a>553. Окно с результатами поиска</p> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Окно содержит табличное поле, в первой |
|
колонке которого выводится расположение найденного текста. Другие колонки |
|
обычно соответствуют указанным языкам. В табличном поле может быть больше |
|
колонок, чем определено языков. Дополнительные колонки появляются в том случае, |
|
когда в процессе конфигурирования создавались новые объекты <span class=»Interface«>Язык</span>, которые затем либо удалялись, либо у них менялся |
|
код языка (при удалении или смене кода языка объектов данного типа конфигуратор |
|
не сбрасывает текст интерфейсов, введенных для этих языков).</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Содержимое табличного поля отсортировано по |
|
одной из колонок. Для смены сортировки достаточно щелкнуть заголовок колонки. |
|
При повторном щелчке заголовка производится смена направления сортировки.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Текст можно также изменить прямо в ячейке. |
|
Для этого нужно выбрать ячейку и нажать клавишу <span class=»Interface«>Enter</span>. Поле ввода переводится в режим редактирования. Следует |
|
ввести нужный текст и снова нажать клавишу <span class=»Interface«>Enter</span>. Измененный текст показывается красным цветом.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Для быстрого доступа к тексту интерфейса |
|
определенного объекта достаточно в колонке <span class=»Interface«>Расположение</span> дважды щелкнуть мышью нужную строку. На |
|
экран выводится форма, в которой данный текст используется. В палитре свойств |
|
можно также произвести просмотр и замену найденного текста. Если текст |
|
изменялся вне окна редактирования, то табличное поле можно обновить.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Над табличным полем расположены элементы |
|
управления, предназначенные для выполнения различных действий и настройки окна.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>В поле выбора <span class=»Interface«>Сворачивать</span> производится выбор режима сворачивания |
|
текстов на разных языках. Если выбрано значение <span class=»Interface«>Нет</span>, то сворачивание не производится. Если выбрано <span class=»Interface«>Совпадающие на языке сортировки</span>, то все элементы, |
|
имеющие одинаковый текст в колонке, по которой производится сортировка, |
|
сворачиваются. При этом в первой колонке показывается значок группы (<span class=»Interface«>+</span>), щелкнув который можно развернуть группу. В первой |
|
колонке будет показан текст <span class=»Interface«><Вхождений N></span> (где <span class=»Interface«>N</span> – число вхождений). Если в других колонках по |
|
этой группе будут различные значения текста, то в ячейке этих колонок будет |
|
надпись <span class=»Interface«><Различные |
|
значения></span>.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Если выбрано <span class=»Interface«>Совпадающие на всех языках</span>, то все элементы, имеющие |
|
одинаковый текст, сворачиваются.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Для свернутых строк можно производить |
|
групповую замену текста. Для этого в ячейке нужного языка достаточно ввести его |
|
так, как если бы это была одна строка. Введенный текст заменяет текст сразу во |
|
всех строках, входящих в группу.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>С помощью пункта <span class=»Interface«>Действия – Новый поиск</span> открывается окно настройки |
|
для изменения разделов конфигурации, в которых будет произведен поиск.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>С помощью пункта <span class=»Interface«>Действия – Копировать тексты</span> производится полное |
|
копирование текстов одного языка в другой язык. Эта операция рекомендуется |
|
тогда, когда используемые слова и фразы на различных языках в основном совпадают.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Пункт <span class=»Interface«>Действия – Очистить тексты</span> производит полную |
|
очистку текстов указанного языка.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Пункт <span class=»Interface«>Действия – Заполнить тексты</span> производит оперативный |
|
перевод синонимов, заголовков, подсказок и текстов интерфейсов с использованием |
|
файла соответствия. Он представляет собой табличный документ, состоящий из |
|
нескольких колонок (по числу используемых языков).</p> |
|
|
|
<p class=»Regularbeforepicture«>В первой строке каждой колонки должен быть |
|
написан код языка (например, <span class=»Interface«>ru</span> или <span class=»Interface«>lv</span>). В остальных строках следуют образцы соответствий. |
|
Никаких требований к упорядочиванию (сортировке) строк не предъявляется. Строки |
|
могут дублироваться.</p> |
|
|
|
<p class=»Picture«><IMG src=»_img/img00562.gif?_=1496848987» WIDTH=»310» ALT HEIGHT=»292«></p> |
|
|
|
<p class=»MsoCaption«>Рис. 554. Заполнение текстов</p> |
|
|
|
<p class=»MsoNormalCxSpFirst«>После выбора файла соответствия нужно указать |
|
основной язык (<span class=»Interface«>По языку</span>) и языки, для которых требуется выполнить перевод |
|
текста (<span class=»Interface«>В |
|
языки</span>). Установка флажка <span class=»Interface«>Заполнять только незаполненные</span> приводит к блокировке |
|
перезаписи уже локализованных строк.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Выбор ключевого языка и языков для заполнения |
|
осуществляется из числа языков, которые были обнаружены в процессе поиска интерфейсных |
|
текстов. Требуется, чтобы все выбранные для заполнения языки были определены в |
|
файле соответствий (в нем должны быть колонки с заголовками, соответствующими |
|
кодам этих языков).</p> |
|
|
|
<p class=»Note«><span class=»Note«>Примечание.</span> Если при открытии окна |
|
<span class=»Interface«>Редактирование текстов |
|
интерфейса</span> обнаружены строки только на одном языке, команда <span class=»Interface«>Заполнить тексты</span> будет недоступна.</p> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Нажатие кнопки <span class=»Interface«>ОК</span> производит заполнение текстов интерфейсов. При этом |
|
выполняется заполнение текстов с проверкой соответствия не только по тому |
|
языку, на основании которого выполняется загрузка, но и по всем языкам, которые |
|
присутствуют в файле соответствия текстов.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Это позволяет, например, поставить в |
|
соответствие одинаковым строкам на одном языке разные строки на другом. Для |
|
этого можно в двуязычной конфигурации завести еще один вспомогательный язык для |
|
комментирования текстов интерфейса и по-разному заполнять такой комментарий для |
|
омонимов основного языка. Например, для слова «<span class=»Interface«>Счет</span>» на русском языке можно написать комментарии «<span class=»Interface«>бухгалтерский счет</span>» и «<span class=»Interface«>документ счет</span>». Это даст возможность при заполнении |
|
текстов из файла соответствия текстов сопоставить с первым из этих слов |
|
английское «<span class=»Interface«>Account</span>», |
|
а со вторым – «<span class=»Interface«>Invoice</span>».</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Пункт <span class=»Interface«>Действия – Экспорт в табличный документ</span> производит |
|
выгрузку содержимого табличного поля в табличный документ. Выполнение команды |
|
осуществляет вывод только уникальных строк.</p> |
|
|
|
<p class=»Regularbeforepicture«>С помощью пункта <span class=»Interface«>Действия – Настройка</span> осуществляется настройка |
|
показа табличного поля и установка режима открытия редакторов при групповой |
|
замене.</p> |
|
|
|
<p class=»Picture«><IMG src=»_img/img00563.gif?_=1496848987» WIDTH=»358» ALT HEIGHT=»206«></p> |
|
|
|
<p class=»MsoCaption«>Рис. 555. Настройка окна |
|
редактирования текстов интерфейса</p> |
|
|
|
<p class=»MsoNormal«>В группе <span class=»Interface«>Расположение колонок</span> производится выбор способа |
|
расположения колонок:</p> |
|
|
|
<p class=»MsoListBulletCxSpFirst«>● |
|
<span class=»Interface«>Горизонтально</span> – |
|
это так, как показано на <a href=»#_ref237746507«>рис.553</a>.</p> |
|
|
|
<p class=»MsoListBulletCxSpMiddle«>● |
|
<span class=»Interface«>Комбинированно</span> – |
|
располагает колонки одна под другой.</p> |
|
|
|
<p class=»MsoListBulletCxSpLast«>● |
|
<span class=»Interface«>Комбинированно, с |
|
выделением языка сортировки</span> – размещает колонки следующим образом: |
|
справа от колонки <span class=»Interface«>Расположение</span> будет колонка с языком, по которому |
|
производится сортировка, а правее будут располагаться одна под другой колонки с |
|
другими языками. При щелчке мышью в области заголовка колонки выполняется сортировка |
|
по этой колонке, и она располагается справа от колонки <span class=»Interface«>Расположение</span>. Колонка, по которой ранее выполнялась |
|
сортировка, занимает место выбранной колонки. Если языков всего два, то колонки |
|
просто меняются местами.</p> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Если флажок <span class=»Interface«>При сворачивании отображать в виде дерева</span> установлен, то |
|
доступ к свернутым строкам возможен, а свернутые группы показываются в виде |
|
дерева.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Рекомендуется не устанавливать флажок <span class=»Interface«>Открывать редакторы при групповой замене</span>, если число |
|
вхождений достаточно большое.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Если флажок <span class=»Interface«>Изображать другим цветом отредактированные строки</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 id=»TI000001028» class=»bookmark» name=»issogl1_27.22.выполнение_централизованной_проверки_конфигурации«><h2>27.22.Выполнение централизованной проверки конфигурации</h2></a> |
|
|
|
<p class=»Regularbeforepicture«>Для выполнения проверки конфигурации нужно |
|
выбрать пункт <span class=»Interface«>Конфигурация – Проверка конфигурации</span>. На экран |
|
выводится окно:</p> |
|
|
|
<p class=»Picture«><IMG src=»_img/img00564.gif?_=1496848987» WIDTH=»506» ALT HEIGHT=»627«></p> |
|
|
|
<p class=»MsoCaption«>Рис. 556. Проверка конфигурации</p> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Рассмотрим подробнее, как выполняется |
|
проверка конфигурации. Любой прикладной код в системе «1С:Предприятие» выполняется |
|
в некотором окружении. Это окружение характеризуется некоторым набором |
|
определенных инструкций препроцессора (см. <A href=»/db/content/v8310doc/src/руководство разработчика/глава 4. встроенный язык.htm?_=1496848987#_ref231122750«>здесь</a>) и набором доступных объектов. Соответственно, при |
|
выполнении проверки конфигуратор определяет инструкции препроцессора для |
|
каждого отмеченного пункта и выполняет проверку. Следует отметить, что если проверяется |
|
клиентское приложение в клиент-серверном варианте, то на стороне клиента |
|
проверяется весь прикладной код, а на стороне сервера – только те общие |
|
модули, которые доступны для вызова из клиентской части приложения. В том |
|
случае, если в проверяемом приложении существует общий модуль, поставляемый без |
|
исходных текстов, то при проверке конфигурации все вызовы методов этого общего |
|
модуля будут отмечаться как возможно ошибочные.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Так как различных режимов работы получается |
|
достаточно много, то проверки разделены на две группы:</p> |
|
|
|
<p class=»MsoListBulletCxSpFirst«>● |
|
Группа проверок, доступная для принудительной и |
|
автоматической проверки при редактировании конфигурации. Эти режимы доступны |
|
для выбора на закладке <span class=»Interface«>Модули – Проверка</span> диалога настройки параметров конфигуратора |
|
(см. <A href=»/db/content/v8310doc/src/руководство разработчика/глава 33. сервисные возможности.htm?_=1496848987#_ref289357633«>здесь</a>).</p> |
|
|
|
<p class=»MsoListBulletCxSpLast«>● |
|
Весь список проверок, который можно вызвать при |
|
централизованной проверке конфигурации (описываемый режим).</p> |
|
|
|
<p class=»MsoNormal«>Далее будет описано, какие инструкции |
|
препроцессора будут определены при выборе каждого режима проверки, описаны особенности |
|
режима (если они есть), а также описаны режимы проверки, не имеющие отношения к |
|
определению окружения проверяемого исходного кода.</p> |
|
|
|
<p class=»Lang-parameter«>Общие параметры</p> |
|
|
|
<p class=»Lang-subheader«>Проверка логической целостности конфигурации</p> |
|
|
|
<p class=»MsoNormal«>Стандартная проверка, обычно выполняемая |
|
перед обновлением базы данных. При выполнении данной |
|
проверки выполняется удаление некорректной информации, которая могла оказаться |
|
в конфигурации после редактирования предыдущими версиями системы.</p> |
|
|
|
<p class=»Lang-subheader«>Поиск некорректных ссылок</p> |
|
|
|
<p class=»MsoNormal«>Поиск ссылок на удаленные объекты. |
|
Выполняется по всей конфигурации, включая формы, макеты, интерфейсы и т. д. |
|
Также выполняется поиск некорректных ссылок на предопределенные данные для |
|
планов счетов (если для плана счетов задано свойство <span class=»Interface«>Виды субконто</span>) и планов видов расчетов.</p> |
|
|
|
<p class=»Lang-parameter«>Синтаксический контроль модулей</p> |
|
|
|
<p class=»Lang-subheader«>Тонкий клиент</p> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Проверка компиляции модулей в режиме |
|
проверки среды тонкого клиента в режиме управляемого приложения, выполняемого в |
|
файловом варианте.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Определены инструкции препроцессора: <span class=»Term«>Клиент</span>, |
|
<span class=»Term«>ТонкийКлиент</span>.</p> |
|
|
|
<p class=»Lang-subheader«>Веб-клиент</p> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Проверка компиляции модулей в режиме |
|
проверки среды веб-клиента в режиме управляемого приложения, выполняемого в файловом |
|
варианте.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Определены инструкции препроцессора: <span class=»Term«>Клиент</span>, |
|
<span class=»Term«>ВебКлиент</span>.</p> |
|
|
|
<p class=»Lang-subheader«>Сервер</p> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Проверка компиляции модулей в режиме |
|
проверки среды сервера «1С:Предприятия».</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Определены инструкции препроцессора: <span class=»Term«>Сервер</span>.</p> |
|
|
|
<p class=»Lang-subheader«>Внешнее соединение</p> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Проверка компиляции модулей в режиме |
|
проверки среды внешнего соединения, выполняемого в файловом варианте.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Определены инструкции препроцессора: <span class=»Term«>ВнешнееСоединение</span>, |
|
<span class=»Term«>Сервер</span>.</p> |
|
|
|
<p class=»Lang-subheader«>Внешнее соединение (вариант клиент-сервер)</p> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Проверка компиляции модулей в режиме |
|
проверки среды внешнего соединения, выполняемого в варианте клиент-сервер.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Определены инструкции препроцессора: <span class=»Term«>ВнешнееСоединение</span>.</p> |
|
|
|
<p class=»Lang-subheader«>Мобильный приложение – клиент</p> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Проверка компиляции |
|
модулей в режиме проверки среды клиентского приложения, выполняемого на |
|
мобильной платформе.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Определены |
|
инструкции препроцессора: <span class=»Term«>Клиент</span>, <span class=»Term«>НаКлиенте</span>, <span class=»Term«>МобильноеПриложениеКлиент</span>.</p> |
|
|
|
<p class=»Lang-subheader«>Мобильное приложение – сервер</p> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Проверка компиляции модулей в режиме |
|
проверки среды клиентского приложения, выполняемого на мобильной платформе.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Определены инструкции препроцессора: <span class=»Term«>Сервер</span>, |
|
<span class=»Term«>НаСервере</span>, <span class=»Term«>МобильноеПриложениеСервер</span>.</p> |
|
|
|
<p class=»Lang-subheader«>Толстый клиент (управляемое приложение)</p> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Проверка компиляции модулей в режиме |
|
проверки среды управляемого клиента, выполняемого в файловом варианте.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Если |
|
свойство конфигурации <span class=»Interface«>Использовать обычные формы в управляемом приложении</span> имеет значение <span class=»Term«>Ложь</span>, то модули обычных форм не проверяются при выборе этого теста.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Определены инструкции препроцессора: <span class=»Term«>Клиент</span>, |
|
<span class=»Term«>ТолстыйКлиентУправляемоеПриложение</span>, |
|
<span class=»Term«>Сервер</span>.</p> |
|
|
|
<p class=»Lang-subheader«>Толстый клиент (управляемое приложение, |
|
вариант клиент-сервер)</p> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Проверка компиляции модулей в режиме |
|
проверки среды управляемого клиента, выполняемого в варианте клиент-сервер.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Если |
|
свойство конфигурации <span class=»Interface«>Использовать обычные формы в управляемом приложении</span> имеет значение <span class=»Term«>Ложь</span>, то модули обычных форм не проверяются при выборе этого теста.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Определены инструкции препроцессора: <span class=»Term«>Клиент</span>, |
|
<span class=»Term«>ТолстыйКлиентУправляемоеПриложение</span>.</p> |
|
|
|
<p class=»Lang-subheader«>Поставка модулей без исходных текстов</p> |
|
|
|
<p class=»MsoNormal«>Если в настройках поставки конфигурации для |
|
некоторых модулей указана поставка без исходных текстов, проверяется возможность |
|
генерации образов этих модулей.</p> |
|
|
|
<p class=»Lang-parameter«>Логическая проверка модулей</p> |
|
|
|
<p class=»Lang-subheader«>Поиск неиспользуемых процедур и функций</p> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Поиск локальных (не экспортируемых) процедур |
|
и функций, на которые отсутствуют ссылки. В том числе осуществляется поиск |
|
неиспользуемых обработчиков событий.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Процедура или функция модуля формы будет |
|
считаться используемой, если ее имя встречается в виде <span class=»Interface«>"ИмяПроцедуры"</span> (включая кавычки), т. е. |
|
является параметром какого-либо метода, например, назначение обработчика |
|
какого-либо события.</p> |
|
|
|
<p class=»Lang-subheader«>Проверка существования назначенных |
|
обработчиков</p> |
|
|
|
<p class=»MsoNormal«>Проверка существования обработчиков событий |
|
интерфейсов, форм, элементов управления, элементов карт маршрута.</p> |
|
|
|
<p class=»Lang-subheader«>Поиск пустых обработчиков</p> |
|
|
|
<p class=»MsoNormal«>Поиск назначенных обработчиков событий, в |
|
которых не выполняется никаких действий. Существование таких обработчиков может |
|
привести к падению производительности системы.</p> |
|
|
|
<p class=»Lang-subheader«>Расширенная проверка</p> |
|
|
|
<p class=»MsoNormal«>Для ограниченного набора типов выполняется |
|
проверка обращений к методам и свойствам объектов «через точку». Также выполняется |
|
проверка корректности указания параметров, заданных строкой, для ограниченного |
|
набора методов.</p> |
|
|
|
<p class=»Lang-subheader«>Поиск использования модальности</p> |
|
|
|
<p class=»MsoNormal«>Данный флажок становится доступным только в |
|
том случае, если включена расширенная проверка конфигурации. В этом режиме |
|
конфигуратор выполняет поиск в модулях методов, открывающих модальные |
|
диалоговые окна. Свойство конфигурации <span class=»Interface«>Режим использования модальности</span> не влияет на работу |
|
механизма проверки. При включении данного флажка ошибки будут выдаваться и в |
|
том случае, если свойство <span class=»Interface«>Режим использование модальности</span> установлено в значение <span class=»Interface«>Использовать</span> или <span class=»Interface«>Использовать с предупреждением</span>.</p> |
|
|
|
<p class=»Lang-subheader«>Поиск использования синхронных вызовов</p> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Данный флажок становится доступным только в |
|
том случае, если включена расширенная проверка конфигурации. В этом режиме |
|
конфигуратор выполняет поиск в модулях фрагментов кода на встроенном языке, в |
|
которых используются синхронные вызовы. Свойство конфигурации <span class=»Interface«>Режим использования синхронных вызовов расширений платформы и |
|
внешних компонент</span> не влияет на работу механизма проверки. При включении |
|
данного флажка ошибки будут выдаваться и в том случае, если свойство <span class=»Interface«>Режим использование модальности</span> установлено в значение <span class=»Interface«>Использовать</span> или <span class=»Interface«>Использовать с предупреждением</span>.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Более |
|
подробно особенности поиска синхронных вызовов см. <a href=»#_ref448859736«>здесь</a>.</p> |
|
|
|
<p class=»Lang-parameter«>Проверка мобильного приложения</p> |
|
|
|
<p class=»Lang-subheader«>Поиск неподдерживаемой функциональности</p> |
|
|
|
<p class=»MsoNormal«>Проверка в этом режиме показывает:</p> |
|
|
|
<p class=»MsoListBulletCxSpFirst«>● |
|
Наличие в прикладном решении объектов |
|
конфигурации, которые не реализованы для мобильной платформы;</p> |
|
|
|
<p class=»MsoListBulletCxSpMiddle«>● |
|
Наличие в прикладном решении планов обмена, у |
|
которых установлено свойство <span class=»Interface«>Распределенная информационная база</span>;</p> |
|
|
|
<p class=»MsoListBulletCxSpLast«>● |
|
Использование объектов конфигурации, которые не поддерживаются |
|
мобильной платформой:</p> |
|
|
|
<p class=»MsoListBullet2CxSpFirst«>● |
|
В свойствах <span class=»Interface«>Тип</span> реквизитов объектов конфигурации, констант, |
|
параметров сеанса;</p> |
|
|
|
<p class=»MsoListBullet2CxSpMiddle«>● |
|
В свойстве <span class=»Interface«>Тип параметра команды</span> объекта <span class=»Term«>Команда</span>;</p> |
|
|
|
<p class=»MsoListBullet2CxSpLast«>● |
|
В свойстве <span class=»Interface«>Тип</span> реквизитов и колонок реквизита формы.</p> |
|
|
|
<p class=»MsoListBulletCxSpFirst«>● |
|
Наличие неуправляемых форм;</p> |
|
|
|
<p class=»MsoListBulletCxSpMiddle«>● |
|
Наличие в формах элементов, которые не поддерживаются |
|
мобильной платформой. Эта проверка не делается для форм, у которых свойство <span class=»Interface«>Назначения использования</span> не предполагает использование |
|
на мобильной платформе.</p> |
|
|
|
<p class=»MsoListBulletCxSpLast«>● |
|
Проверка, что начальная страница состоит не |
|
более чем из одной формы.</p> |
|
|
|
<p class=»MsoNormalCxSpFirst«> </p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Выбранную совокупность настроек можно |
|
сохранить для дальнейшего использования. Для этого в поле <span class=»Interface«>Настройка проверки</span> нужно указать имя настройки. Для |
|
использования прежней настройки достаточно выбрать имя настройки.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Все сообщения об ошибках выдаются в окно |
|
сообщений. Для прерывания проверки конфигурации следует использовать комбинацию |
|
клавиш <span class=»Interface«>Ctrl + Break</span>.</p> |
|
|
|
<p class=»Note«><span class=»Note«>Примечание.</span> В начальной стадии |
|
проверки прерывание может быть обработано с задержкой.</p> |
|
|
|
<p class=»MsoNormalCxSpFirst«>При проверке конфигурации, подключенной к |
|
хранилищу, во избежание ошибок, связанных с информацией о метаданных, рекомендуется |
|
захватить корневой объект конфигурации.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Если параметр <span class=»Interface«>Редактирование конфигурации для режимов запуска</span> (см. <A href=»/db/content/v8310doc/src/руководство разработчика/глава 33. сервисные возможности.htm?_=1496848987#_ref222823825«>здесь</a>) имеет значение <span class=»Interface«>Управляемое приложение и обычное приложение</span>, то в диалоге |
|
добавляются следующие параметры:</p> |
|
|
|
<p class=»MsoListBulletCxSpFirst«>● |
|
<span class=»Interface«>Толстый клиент (обычное |
|
приложение)</span>;</p> |
|
|
|
<p class=»MsoListBulletCxSpLast«>● |
|
<span class=»Interface«>Толстый клиент (обычное |
|
приложение, вариант клиент-сервер)</span>.</p> |
|
|
|
<p class=»Regularbeforepicture«>При этом диалог приобретает следующий вид:</p> |
|
|
|
<p class=»Picture«><IMG src=»_img/img00565.gif?_=1496848987» WIDTH=»506» ALT HEIGHT=»610«></p> |
|
|
|
<p class=»MsoCaption«>Рис. 557. Проверка конфигурации</p> |
|
|
|
<p class=»MsoNormal«>Далее приводится описание этих тестов.</p> |
|
|
|
<p class=»Lang-subheader«>Толстый клиент (обычное приложение)</p> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Проверка компиляции модулей в режиме |
|
проверки среды клиентского приложения, выполняемого в файловом варианте.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Если свойство конфигурации<span class=»Interface«> Использовать управляемые формы в обычном приложении</span> имеет значение <span class=»Term«>Ложь</span>, то модули управляемых форм и модули |
|
команд не проверяются при выборе этого теста. Модуль формы, указанной в |
|
свойстве <span class=»Interface«>Основная форма |
|
констант</span>, проверяется при выборе этого теста независимо от значения |
|
свойства <span class=»Interface«>Использовать |
|
управляемые формы в обычном приложении</span>.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Определены инструкции препроцессора: <span class=»Term«>Клиент</span>, |
|
<span class=»Term«>ТолстыйКлиентОбычноеПриложение</span>, |
|
<span class=»Term«>Сервер</span>.</p> |
|
|
|
<p class=»Lang-subheader«>Толстый клиент (обычное приложение, вариант |
|
клиент-сервер)</p> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Проверка компиляции модулей в режиме |
|
проверки среды клиентского приложения, выполняемого в варианте клиент-сервер.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Если свойство конфигурации<span class=»Interface«> Использовать управляемые формы в обычном приложении</span> |
|
имеет значение <span class=»Term«>Ложь</span>, |
|
то модули управляемых форм и модули команд не проверяются при выборе этого теста. |
|
Модуль формы, указанной в свойстве <span class=»Interface«>Основная форма |
|
констант</span>, проверяется при выборе этого теста независимо от значения |
|
свойства <span class=»Interface«>Использовать |
|
управляемые формы в обычном приложении</span>.</p> |
|
|
|
<p class=»MsoNormalCxSpLast«>Определены |
|
инструкции препроцессора: <span class=»Term«>Клиент</span>, <span class=»Term«>ТолстыйКлиентОбычноеПриложение</span>.</p> |
|
|
|
<a id=»TI000001029» class=»bookmark» name=»issogl1_27.23.механизм_анализа_эргономики_работы_с_решениями_созданными_на_платформе_1с_предприятие«><h2>27.23.Механизм анализа эргономики работы с решениями, созданными на платформе «1С:Предприятие»</h2></a> |
|
|
|
<p class=»MsoNormal«>Запуск клиентского приложения с ключом командной |
|
строки<span class=»Interface«> /logui</span> создаст |
|
на компьютере пользователя в папке файлов приложений <span class=»Interface«>%APPDATA%1C1Cv82<Уникальный идентификатор></span> файл |
|
<span class=»Interface«>logui.txt</span>, в |
|
котором будут регистрироваться все интерактивные действия пользователя (нажатия |
|
клавиш, щелчки мыши). Например:</p> |
|
|
|
<a class=»copy_source» href=»#_top» onClick=»return false«>Копировать в буфер обмена</a> |
|
<pre class=»src_res«> |
|
"19.06.2008 16:22:49","Event FormActivate","Name Документ.ПриходТовара.Форма.ФормаСписка","t=0" |
|
"19.06.2008 16:22:49","Event FormActivate","Name Документ.ПриходТовара.Форма.ФормаСписка","t=0" |
|
"19.06.2008 16:22:49","Event Lclick","Form РегистрНакопления.Взаиморасчеты.Форма.ТекущиеВзаиморасчеты", "Type TableBox","t=0","beg" |
|
</pre> |
|
|
|
<p class=»MsoNormalCxSpFirst«>Запись интерактивных действий выполняется для |
|
толстого и тонкого клиентов и не выполняется для веб-клиента.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«>Подробнее о формате файла |
|
<span class=»Interface«>logui.txt</span> см. <a href=»/db/v8310doc/bookmark/adm/TI000000410» target=»_top«>здесь</a>.</p> |
|
|
|
<p class=»MsoNormalCxSpMiddle«> </p> |
|
|
|
<br> <script type=»text/javascript«>listenCopy(‘zeroclipboard.swf’);</script> |
|
</body> |
|
</html> |