101 совет начинающим разработчикам в системе «1С:Предприятие 8» [Елена Юрьевна Хрусталева] (pdf) читать постранично, страница — 3
Книга в формате pdf! Изображения и текст могут не отображаться!
внимания уже на нуле, легко потерять, например, закрывающую скобку при написании какого-то выражения или
можно забыть/пропустить закрывающую конструкцию от парных конструкций вроде: Если, Цикл, Для Каждого. В результате при
синтаксической проверке модуля вы можете получить несколько связанных друг с другом ошибок и долго и нудно искать, где же вы
ошиблись.
Для того чтобы не допустить такую ошибку или, если уж она случилась, помочь исправить ее, в конфигураторе есть специальные
средства. Они позволяют выделять цветом границы блока (начало и конец процедуры, начало и конец цикла, начала и конец условного
перехода, парные скобки) в тексте модуля.
Эта возможность включена стандартно. Например, если установить курсор на ключевое слово Процедура, будет выделено окончание
этой процедуры – КонецПроцедуры. Если установить курсор на ключевое слово Если, будет выделено окончание этого условия –
КонецЕсли. Если выделить открывающую скобку, будет выделена соответствующая ей закрывающая скобка (рис. 6).
Рис. 6. Подсветка синтаксических конструкций в модуле
Это очень удобно и полезно для самоконтроля написанного кода, еще до синтаксической проверки модуля. В процессе написания кода
это удобно тем, что когда вы пишете закрывающую конструкцию, подсвечивается открывающая. То есть визуально вы видите, что
оператор (или скобки) написаны правильно. А при исправлении подобных ошибок подсветка удобна для того, чтобы быстро найти
конструкции, у которых нет «пары».
Если по какой-то причине подсветка парных синтаксических конструкций у вас отключена, то включить ее можно в параметрах
конфигуратора: Сервис > Параметры > Модули > Редактирование, окно Выделение цветом синтаксических конструкций > Границы блока.
Там же вы можете восстановить стандартное выделение и других элементов. Например, обычно ключевые слова выделяются красным
цветом текста, идентификаторы – синим, комментарии – зеленым и т. д.
ПРИМЕЧАНИЕ
Стандартно границы блока в модуле выделяются светлым серо-коричневым цветом фона. Если для вас это недостаточно ярко, то можно
выделить границы блока другим, более заметным цветом фона.
Автоматически подсвечивать текущие идентификаторы
Предположим, вы набираете вручную, без использования контекстной подсказки, имя переменной, которую вы уже использовали ранее.
Для контроля правильности ее написания удобно, когда в модулях настроена подсветка текущих идентификаторов, которые находятся в
данный момент «под курсором». В этом случае можно легко визуально увидеть, совпадает имя переменной с тем, что вы уже набрали
выше, или нет.
При стандартных настройках текущие идентификаторы не подсвечиваются. Но вы можете изменить это в параметрах конфигуратора
(Сервис > Параметры > Модули > Редактирование) и выделить, например, текущие идентификаторы зеленым цветом фона (рис. 7).
Рис. 7. Настройка подсветки текущих идентификаторов
Теперь, например, в обработке проведения документа создайте менеджер временных таблиц и сохраните его в переменной
МенеджерВТ. Ниже в тексте модуля используйте эту переменную еще раз. Если вы написали имя переменной правильно, то
переменная, написанная выше, будет подсвечена зеленым цветом так же, как и ваша текущая переменная (рис. 8).
Рис. 8. Выделение цветом текущих идентификаторов в тексте модуля
Если ранее написанное не подсвечивается, то, значит, в данном месте вы ошиблись.
Подсвечивать выбранные идентификаторы
Предположим, вы хотите быстро найти все места модуля, где содержится идентификатор, на который вы смотрите в данный момент.
В этом случае удобно, чтобы в модулях была настроена подсветка выбранных идентификаторов. Выбрав находящийся перед вами
идентификатор двойным щелчком мыши, можно затем быстро пролистать модуль и найти нужное место с этим идентификатором.
При стандартных настройках выбранные идентификаторы не подсвечиваются. Но вы можете изменить это в параметрах конфигуратора
(Сервис > Параметры > Модули > Редактирование) и, например, выделить выбранные идентификаторы желтым цветом фона (рис. 9).
Рис. 9. Настройка подсветки выбранных идентификаторов
Теперь, выделив какой-то идентификатор двойным щелчком мыши, вы можете легко увидеть все места в тексте модуля, где
используется данный идентификатор.
Например, выделив идентификатор Движения в процедуре проведения документа, вы можете быстро найти все места в модуле, где
создаются и изменяются движения документа (рис. 10).
Рис. 10. Выделение цветом выбранных идентификаторов в тексте модуля
ПРИМЕЧАНИЕ
Надо заметить, что если у вас включена подсветка текущих идентификаторов, то смысл подсветки выбранных пропадает. То есть
используется либо одна, либо другая настройка, одновременно использовать обе настройки нет смысла.
Если вам не нравится, когда при простом перемещении курсора по тексту он вдруг начинает подсвечиваться, то есть
Оформление кода в модуле
В системе 1С, при работе с модулем используется единое оформление. Данное оформление модуля можно изменить.
Стандартное оформление:
Цвета:
Красным цветом выделяются операторы и ключевые слова.
Зеленым оформляются комментарии.
А синим оформляются идентификаторы.
Отступ у вложенных блоков, к примеру у операторах цикла имеют отступ 4 символа.
Изменение оформления:
Данное оформление можно изменить, к примеру если у вам маленький экран. Для этого необходимо зайти в меню «Сервис > Параметры». В открывшемся окне «Параметры», откроем закладку Модули, а в ней Редактирование.
В данной закладке можно:
-
- Настроить выделение синтаксических конструкций, для этого есть список Выделение цветом синтаксических конструкций .
- Запретить выделение цветом
- включить Автозамену , об этом расскажу позже. В общем данная опция позволяет автоматически заменять вводимый текст, на текст из шаблонов.
- включить автоматическую замену в комментариях.
- Заменять табуляцию при вводе , включая данную опцию табуляция будет заменятся на пробелы.
- Ширина табуляции позволяет указать отступ в конструкции встроенного языка.
- Автоотступ — позволяет обрабатывать автоотступ при переноси строки. По умолчанию обрабатывается с учетом синтаксических конструкций.
- И последние, это возможность выбора шрифта .
Лично я, не изменяю ничего кроме Автозамена. Еще я уменьшаю Ширина табуляции, на 2 символа, но только для нетбука.
Форматирование кода
В 1С можно автоматически форматировать текст кода, т.е. расставлять отступы. У меня на картинке изображен кусок кода который оформлен не верно. Что бы привести в порядок код, выделим его и нажмем на кнопку 1.
Такого рода конструкции можно писать сразу нормально, т.к. при переносе система сама ставит отступы. Но бывает когда код занимает много места и из него удаляется цикл, что влечет за собой смещение операторов внутри цикла.
Так же в 1С, можно смещать выделенные строки 1 знак табуляции влево и вправо. Для этого есть кнопка 2 и 3, которые изображены на рисунке.
1С. Тематические записки. им xzorkiix

Вводная Если на форме есть элемент управления со списком выбора, в моем конкретном примере это Колонка Значение (Число (3,0)) с настроенным списком выбора. По умолчанию платформа отображает именно строковое значения, а не текст представления из списка выбора (когда как при выборе значения из списка показываются именно представления). Решение Для Управляемых форм необходимо настроить правила условного оформления, для обычных форм — оформление ячеек при выводе данных.
Поделиться
- Получить ссылку
- Электронная почта
- Другие приложения
Табличный Документ. Разная ширина колонки в строках
Когда нужно в макете (табличном документе) изменить ширину колонки для конкретных строк: 1. Выделить всю строку (строки). Именно всю, фокус для выделенной области не работает. 2. Нажимаем и не отпускает Ctrl 3. С помощью мыши изменяют ширину любой из колонок — будет задан вопрос об создании нового формата строк — соглашаемся. Как же прекрасен мир, где для модификаций не достаточно просто использовать контекстное меню и диалог редактора свойств, где нужно знать заветные слова и таинства танца. 90ые, моё почтение. UPD Программно, тоже самое, можно сделать через ТабДок = Новый ТабличныйДокумент(); ТабДок.Область(1,,1,).СоздатьФорматСтрок(); ТабДок.Область(1,1).ШиринаКолонок = 70; ТабДок.Область(1,2).ШиринаКолонок = 30; ТабДок.Область(2,,2,).СоздатьФорматСтрок(); ТабДок.Область(2,1).ШиринаКолонок = 30; ТабДок.Область(2,2).ШиринаКолонок = 70; ТабДок.Показать();
Поделиться
- Получить ссылку
- Электронная почта
- Другие приложения
Расширение конфигурации + Связанные документы (Режим совместимости 8.3.12)
Вводная: реализовать ввод Заказа поставщику на основании Заказа на Ремонт. решить через расширения конфигурации. Хочу обратить ваше внимание, не нужно добавлять в расширение критерий отбора, для 8.3.12 нам не доступно добавление\изменение состава критерия. Более того может зависать конфигуратор (столкнулся с последней версией 8.3.14 + ERP) Разработку рекомендую вести с применением хранилища и для расширения. Иначе устанете потом выгребать чего лишнего включили в расширение при добавлении таких или схожих обектов с составными типами и подобное. Все текущие типовые решения сейчас идут в режиме совместимости 8.3.12, в прочем и для 8.3.14 (и даже 8.3.15 ничего не поменялось). Что нам нужно было бы сделать при отказе от поддержки: 1) добавить наш документ в Критерий отбора (состав, реквизиты); 2) в раздел Ввод на основании целевого документа. И что с целью сохранения поддержки. Как сделать это же для расширения: 1) Добавить реквизит расширения Документы.ЗаказПоставщику._За
Поделиться
- Получить ссылку
- Электронная почта
- Другие приложения
1С:Предприятие 8. Редактор текстов и модулей
Редактор текстов и модулей предоставляет пользователю все основные функции, необходимые при редактировании как простых текстов, так и текстов программных модулей. Конфигуратор 1С:Предприятия 8.0 использует этот редактор в двух режимах:
- для редактирования текстовых документов;
- для редактирования текстов модулей (как составную часть редактора форм).
Редактирование текстовых документов
В режиме редактирования текстовых документов редактор поддерживает все стандартные функции редактирования текста:
- создание нового документа или открытие одного из существующих документов;
- ввод и редактирование текста;
- сохранение отредактированного текста;
- печать текста.
В процессе редактирования текста можно переходить к конкретной строке документа, сдвигать блоки текста на позицию табуляции, выполнять поиск и замену и использовать закладки. Закладки могут быть размещены на любой строке текста:
В дальнейшем быстрый переход по закладкам возможен по сочетанию клавиш или команде меню:
Редактирование текстов модулей
Редактирование текстов модулей может выполняться в процессе создания формы объекта прикладного решения, непосредственно при разработке модулей объектов или всего приложения, и при редактировании внешнего текстового файла, содержащего текст модуля.
Помимо стандартных действий, присущих любому текстовому редактору, редактор текстов и модулей имеет ряд специфических особенностей:
Выделение цветом синтаксических конструкций
Для удобства редактирования текстов модулей редактор может выделять цветом элементы встроенного языка: ключевые слова, языковые константы, операторы, комментарии и пр.:
Разработчик может использовать цвета выделения, установленные по умолчанию, или настроить их самостоятельно. В общем случае система сама отслеживает необходимость включения режима выделения цветом. Однако в ситуации, когда система «не знает» о том, что редактируется текст модуля (например, если редактируется внешний текстовый файл, содержащий текст модуля), разработчик может включить режим выделения цветом вручную, используя меню конфигуратора:
Группировка
При просмотре модулей редактор позволяет объединять некоторые синтаксические конструкции языка в группы, сворачивать и разворачивать их. Использование группировки синтаксических конструкций позволяет лучше воспринимать различные части текста, а также переносить и копировать группы целиком:
Свернутый текст замещается специальным маркером, который позволяет просмотреть содержимое свернутой группы в виде подсказки:
Разработчику предоставляется возможность настраивать режим группировки, указывая какие синтаксические конструкции могут группироваться и каким должно быть исходное состояние группировки (свернутая или развернутая) при открытии документа. Таким образом, он может настроить, например, использование группировок «по максимуму»:
Операции с блоками
Редактор позволяет выполнять ряд операций над выделенными блоками текста модуля:
Форматирование модуля
Хорошим стилем написания модулей считается использование синтаксического отступа для выделения управляющих конструкций встроенного языка. Редактор позволяет автоматически форматировать текст при его вводе, и кроме этого, выполнять автоматическое форматирование уже введенного текста.
Исходный текст:
Результат автоматического форматирования:
Увеличение/уменьшение отступа
Наряду с автоматическим форматированием всего выделенного текста, редактор поддерживает также операции сдвига выделенного блока вправо или влево на шаг табуляции.
Это облегчает ручное форматирование больших фрагментов кода.
Добавление/удаление комментариев
Также редактор содержит очень удобную для разработчика функцию автоматической (одним нажатием мыши) установки и снятия комментариев на выделенный текст. Такая возможность часто используется при отладке модулей:
Добавление/удаление переноса строки
Использование добавления и удаления переноса строки часто применяется при переносе текстов запроса между модулем и, например, консолью запросов.
Таким образом, отладив запрос в консоли запросов, разработчик может просто скопировать текст запроса из консоли, вставить его в модуль и одним движением добавить перенос строки ко всем строкам текста запроса:
Переход по процедурам и функциям
В ситуации, когда модуль содержит большое количество процедур и функций, удобно использовать режим поиска процедур, который поддерживается редактором. Процедуры и функции отображаются в отдельном окне в порядке их расположения в модуле, однако разработчик может отсортировать их по алфавиту. Пиктограммы слева от названия обозначают имеющиеся процедуры и функции, а имена в угловых скобках соответствуют предопределенным процедурам, которые в настоящий момент отсутствуют, но могут быть размещены в данном модуле.
Если установить курсор на той процедуре, которая еще отсутствует в модуле, и нажать Перейти, конструктор автоматически вставит в текст модуля заголовок предопределенной процедуры.
Переход к определению процедур и функций
Редактор позволяет автоматически переходить к определению процедуры или функции, использованной в тексте модуля. Для этого достаточно установить курсор на имени нужной функции в теле модуля и выполнить команду контекстного меню или нажать «горячую» клавишу. В окне редактора будет открыт текст искомой процедуры или функции:
Контекстная подсказка
Редактор предоставляет средство контекстного ввода выражений с использованием системных объектов, их свойств, методов и пр. В процессе ввода текста или при нажатии комбинации клавиш редактор выводит контекстный список, позволяющий выбрать нужное свойство, метод, функцию и т.д., что позволяет быстро и правильно набирать тексты модулей:
Копирование имен объектов и реквизитов
При написании текста модуля разработчик может просто перетаскивать мышью имена объектов или их реквизитов из дерева метаданных в нужное место модуля:
Синтаксический контроль
Редактируемый модуль может быть проверен на правильность использования синтаксических конструкций встроенного языка:
При наличии ошибок в модуле, их список выдается в окне состояния. Щелкнув мышью на сообщении об ошибке, можно перейти к строке модуля, вызвавшей ошибку. При желании разработчик может включить автоматическое выполнение синтаксического контроля модуля при его закрытии или сохранении всей конфигурации.
Кроме этого конфигуратор поддерживает выполнение полного синтаксического контроля всех модулей, содержащихся в прикладном решении.
В процессе работы с модулем разработчик имеет возможность получать контекстную подсказку по встроенному языку, используя синтакс-помощник. Для этого достаточно установить курсор на интересующий элемент языка и нажатием комбинации клавиш (или по контекстному меню) перейти к описанию этого элемента языка в синтакс-помощнике.
Ограничение доступа к модулю
Для большинства модулей прикладного решения можно установить пароль доступа, защищающий авторские права разработчика конфигурации. При попытке открыть защищенный модуль выводится диалог ввода пароля:
Использование шаблонов
При редактировании текстовых документов и модулей конфигуратор предоставляет разработчику возможность использовать механизм шаблонов для автоматической подстановки часто используемых фрагментов текста.
Дополнительная информация
Вы можете познакомиться с использованием редактора текстов и модулей в реальном режиме времени. Для этого можно скачать демонстрационный ролик «Пример разработки торговой мини-системы», в котором показан процесс разработки торговой мини-системы с использованием этого редактора для редактирования модуля формы «Расходная накладная» и форм отчетов «Анализ продаж» и «Анализ продаж по периодам».