Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

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




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

На предыдущем занятии (стр. 141) мы писали код обработчика события МатериалыКоличествоПриИзменении (листинг 4. 1) и кратко объясняли смысл написанного.

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

Синтакс-помощник – инструмент, созданный для помощи разработ- чику, содержащий описание всех программных объектов, которые использует система, их методов, свойств, событий и пр.

Чтобы открыть синтакс-помощник, нужно нажать соответствующую кнопку  на панели инструментов конфигуратора или выполнить команду главного меню Справка } Синтакс-помощник (рис. 5. 20).

Как и любая другая справочная система, он представляет собой древовидную структуру, состоящую из глав, разделов, подраз- делов и т. п. Содержание синтакс-помощника полностью дублирует описание встроенного языка в пяти томах, входящих в стандартный комплект поставки «1С: Предприятия». Однако пользоваться синтакс- помощником, на наш взгляд, удобнее, так как он находится сразу под рукой и имеет возможность контекстной помощи (Ctrl + F1).

Кроме того, в синтакс-помощнике в конце каждого описания находится ссылка Методическая информация (см. рис. 5. 20). По этой ссылке открывается окно браузера, в котором подобраны методиче- ские материалы для выбранного раздела. Источниками материалов являются: ИТС, партнерская конференция, база знаний по техноло- гическим вопросам крупных внедрений, сайт «1С: Предприятия», конференция начинающих разработчиков и др. Ссылки на методиче- ские материалы постоянно обновляются. Таким образом, разработ- чики могут быстро, не отрываясь от работы, найти информацию по нужному вопросу на различных ресурсах фирмы «1С».


Занятие 5



 

 

Рис. 5. 20. Вызов синтакс-помощника

 

Анализ кода с помощью синтакс-помощника

Пользоваться синтакс-помощником удобно в тех случаях, когда нужно разобраться в уже написанном незнакомом коде. На примере нашего обработчика события МатериалыКоличествоПриИзменении (см. листинг 4. 1) продемонстрируем, как понять код обработчика, используя синтакс-помощник.


Первый способ

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

Итак, перед нами первая строка нашего обработчика (листинг 5. 19).

листинг 5. 19. Процедура «МатериалыКоличествоПриИзменении» (первая строка)

СтрокаТабличнойЧасти = Элементы. Материалы. ТекущиеДанные;                                               

Чтобы понять этот код, нужно прежде всего понимать, в каком контексте он исполняется. Программный контекст зависит от того, в каком модуле располагается код. В данном случае процедура обра- ботчика находится в модуле формы, следовательно, мы находимся в контексте модуля формы.

Будем изучать нашу строку последовательно слева направо. Что такое СтрокаТабличнойЧасти? Слева от оператора присваивания (=) находится либо какое-то свойство, доступное нам непосред- ственно в этом контексте, либо переменная.

Согласно алгоритму, изложенному в предыдущем разделе (стр. 175), мы должны проверить:

Объявлена ли в модуле формы переменная СтрокаТабличнойЧасти? Откроем модуль формы (о том, как это сделать, рассказано на стр. 156). Мы не видим здесь строки описания переменной (Перем СтрокаТабличнойЧасти; ), значит это не переменная модуля формы.

„ Есть ли у формы реквизит СтрокаТабличнойЧасти? Откроем

форму документа ПриходнаяНакладная и перейдем в окно рек- визитов формы, расположенное справа вверху редактора форм (рис. 5. 21).

 

Рис. 5. 21. Список реквизитов формы документа «Приходная накладная»


 

 

Мы видим, что у формы один основной (он выделен жирным шрифтом) реквизит Объект. Значит, реквизита СтрокаТаблич- нойЧасти у формы нет.

„ Есть ли у объекта УправляемаяФорма свойство СтрокаТаблич-

нойЧасти? Посмотрим в синтакс-помощнике свойства управ- ляемой формы. Откроем синтакс-помощник на закладке Содержание. Управляемая форма – это объект интерфейса управ- ляемого приложения, поэтому раскроем раздел Интерфейс (управляемый) } Управляемая форма. Затем раскроем объект

УправляемаяФорма и его

Свойства (рис. 5. 22).

 

 

Рис. 5. 22. Список свойств объекта «УправляемаяФорма» в синтакс-помощнике


Свойства расположены в алфавитном порядке. Мы видим, что среди них нет свойства СтрокаТабличнойЧасти.

„ Есть ли у расширения формы свойство СтрокаТабличнойЧасти? Мы знаем, что основной реквизит формы содержит данные объекта ДокументОбъект. ПриходнаяНакладная (см. рис. 5. 21). Следовательно, в модуле формы становятся доступны свойства, методы объекта встроенного языка Расширение управляемой формы для документа (синтакс-помощник – Интерфейс (управляе- мый) } Управляемая форма } Расширение документа). Посмотрим на них (рис. 5. 23).

 

 

Рис. 5. 23. Список свойств объекта «Расширение управляемой формы для документа» в синтакс-помощнике

 

Мы видим, что среди них нет свойства СтрокаТабличнойЧасти.

„ Есть ли свойство глобального контекста СтрокаТабличнойЧасти? Откроем в синтакс-помощнике свойства глобального контекста (рис. 5. 24).


Занятие 5



 

 

Рис. 5. 24. Список свойств глобального контекста в синтакс-помощнике

 

Мы видим, что среди них нет свойства СтрокаТабличнойЧасти. Выражение СтрокаТабличнойЧасти также не может быть именем неглобального общего модуля, так как к его процедурам следует обращаться через точку (СтрокаТабличнойЧасти. ). Также это выражение не может быть экспортируемой процедурой


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

„ Есть ли в модуле управляемого приложения экспортная пере- менная СтрокаТабличнойЧасти? Откроем модуль управляемого приложения (о том, как это сделать, рассказано на стр. 156). Мы не видим здесь строки описания переменных (Перем Стро- каТабличнойЧасти Экспорт; ), значит, это не переменная модуля управляемого приложения.

Таким образом, понятно, что выражение СтрокаТабличнойЧасти – это локальная переменная процедуры МатериалыКоличествоПриИзме- нении. В процессе выполнения программы ей присваивается какое-то значение. Переменные во встроенном языке не типизированные, поэтому в любой момент ей можно присвоить значение любого типа. Если переменная локальная, то есть используется только в контексте данной процедуры, то не требуется и ее явного объявления. Она объявляется в момент первого ее использования.

Справа от оператора присваивания находится выражение Эле- менты. Материалы. ТекущиеДанные. Чтобы понять, что такое Элементы, пройдемся еще раз по тому же алгоритму, что и в случае с локальной переменной СтрокаТабличнойЧасти.

„ Объявлена ли в модуле формы переменная Элементы? Нет.

„ Есть ли у формы реквизит Элементы? Нет.

„ Есть ли у объекта УправляемаяФорма свойство Элементы? Посмо- трим еще раз на список свойств объекта УправляемаяФорма. Найдем в нем строку Элементы, значит это одно из свойств управ- ляемой формы. Чтобы узнать, что это такое, дважды щелкнем мышью на этой строке (рис. 5. 25).

В нижней части окна синтакс-помощника появится описание выде- ленного нами свойства. Из этого описания следует, что, используя свойство Элементы, мы получаем объект ВсеЭлементыФормы, который содержит коллекцию всех элементов формы. Чтобы узнать, что это такое, нажмем на соответствующую ссылку. Откроется описание коллекции ВсеЭлементыФормы (рис. 5. 26).


Занятие 5



 

 

Рис. 5. 25. Описание свойства «Элементы» объекта

«УправляемаяФорма» в синтакс-помощнике


 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...