Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Часть IV. Краткий справочник разработчика




Низкие цены выделим другим цветом

Если АктуальнаяЦена<500 тогда

ОформлениеСтроки.Ячейки.Цена.ЦветТекста = WЕВЦвета.Васильковый; КонецЕсли;

//... раздвинуть строку если длинное наименование

Если СтрДлина(СокрЛП(ДанныеСтроки.Наименование))>30 Тогда ОформлениеСтроки.Ячейки.Наименование.АвтоВысотаЯчейки = Истина; ОформлениеСтроки.Ячейки.Наименование.ВысотаЯчейки = 3; КонецЕсли; КонецЕсли; КонецПроцедуры


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


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

Запустим 1С:Предприятие в режиме отладки и посмотрим на результат:



 


 


528



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


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

Ф

ирма «1С» использует ряд стандартов, регламентирующих порядок разработки типовых конфигураций на платформе «1С:Предприятие 8.0». В этой главе мы дадим некоторые выдержки из этих стандартов, которые касаются формирования имен объектов конфигурации, переменных, процедур, функций, элементов управления и т. д.

Правила образования имен переменных

И

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

Из имени переменной должно быть понятно ее назначение. Имена следует образовывать путем «склеивания» слов - удаления пробелов между словами. Каждое отдельное слово в «склеенном» имени пишется с прописной буквы. Предлоги и местоимения из одной буквы также пишутся прописными буквами.

Например:

работа с каталогом - РаботаСКаталогом

количество пачек в коробке - КоличествоПачекВКоробке

Имена переменных не следует начинать с подчеркивания.

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


Именование переменных-флагов

В

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

Например, если нужна переменная, в которой хранится признак наличия ошибок в процедуре, то такая переменная должна называться «ЕстьОшибки». Или если есть признак того, что товар относится к возвратной таре, то такой признак должен называться «ЭтоТара».

Правила образования имен процедур (функций)

И

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

правильно ПроверитьДублиСтрок(), неправильно ПроверкаДублейСтрок();

правильно ЗагрузитьКонтрагента(), неправильно ЗагрузкаКонтрагента().

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

Примеры хороших имен: ПроверитьДублиСтрок(), ПодобратьВидРасчета(), ПолучитьИнформациюОПроводке()

Примеры плохих имен:

OK(), Есть(), ЕщеФлажки(), НамПодходит().


 


530



Краткий справочник разработчика


^Стандарты именования переменных, процедур и объектов конфигуряни,,


 


Именование функций-флагов

Ф

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

Например, если функция должна проверить наличие дублей строк в табличной части документа, то она должна называться «ЕстьДублиСтрок». Или если функция должна проверить принадлежность документа к накладным, то она должна называться «ЭтоНакладная».

Однако, если функция (или процедура) «ЕстьДублиСтрок» и проверяет наличие дублей строк, и выполняет объединение дублирующих строк, при этом не возвращает значения, ее следует именовать «СвернутьДублиСтрок».

Имена обработчиков событий

И

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

<имя элемента управления> + <название события>

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

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

Правила образования имен элементов управления

Имена надписей образуются по следующим правилам:

• - если надпись относится к элементу управления, имя
составляет как «Надпись»+ ИмяЭлементаУправления;

• - в остальных случаях им составляется как
«Надпись»+ИмяНадписи.

Для именрамок используется префикс «Рамка». Для командной панели формы используется префикс «КоманднаяПанель».


Для имен командных панелей табличных частей формы используется префикс «КоманднаяПанель»+ИмяТабличнойЧасти, например, «КоманднаяПанельСпецификация».

Элементы управления, связанные с данными, называются так же, как данные.

Общие требования к имени объекта конфигурации

И

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

Для реквизитов объектов допускается переставлять слова из синонима местами, например: синоним «Полное наименование», имя «НаименованиеПолное».

Для ведущих объектов подобное не допускается.

Общие требования к синониму объекта конфигурации

С

иноним объекта должен быть определен так, чтобы осмысленно описывать объект. Сокращения допускаются только общепринятые, например, «ОКЕИ», «ИНН». Следует избегать излишне длинных синонимов, но и укорачивать их с потерей смысла тоже плохо. Синоним начинается с большой буквы, точки ставятся только после сокращений.

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

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

Для форм синоним должен начинаться со слов, генерируемых конструктором при создании формы («Форма списка...», «Форма элемента...» и т. д.), далее, в случае наличия нескольких форм одного


 


532



Краткий справочник разработчика


назначения, обязательно должно следовать уточнение, например «Форма элемента полная», «Форма элемента упрощенная».

Для макетов унифицированных форм синоним должен состоять из названия формы, например: «ТОРГ-12».

Общие требования к комментарию объекта конфигурации

К

омментарий задается только в тех случаях, когда необходимы какие-либо пояснения. Комментарий начинается с большой буквы, точки ставятся только после сокращений. Если в синониме использовано сокращение, в комментарии необходимо его расшифровать, например: «Общероссийский классификатор единиц измерения».

Для реквизитов объектов в комментариях в необходимых случаях должно содержаться уточнение, например: «Сумма со всеми налогами».


Немного о конфигурациях

П

ри первом знакомстве с системой 1С:Предприятие может возникнуть естественный вопрос: если у нас есть две конфигурации: одна, которую можно редактировать, и другая, с которой работают пользователи, то почему же тогда основной называется редактируемая конфигурация? Ведь с точки зрения конечного продукта, основной является именно конфигурация, с которой работают пользователи!

Дело в том, что в данном случае название «основная» дано с точки зрения разработчика и это имеет глубокий практический смысл.

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


 



 


 


534



Краткий справочник разработчика


 


 


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

Файлы новой поставки могут существовать в виде файлов конфигураций (полная поставка) и файлов обновлений (поставка обновлений).

Хранилище конфигурации содержит конфигурацию,

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

Теперь представьте, что между всеми этими видами конфигураций существует возможность сравнения и обновления конфигураций. В этом случае очень легко запутаться и название Основная конфигурация как нельзя лучше отражает конечную цель всех изменений.


Объекты, объекты, объекты...

Ч

то такое объект, применительно к 1С? Этот вопрос зачастую ставит в тупик не только начинающих разработчиков, но и людей, имеющих определенный опыт разработки на платформе 1С.

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

Как правило, термин объект употребляется в одном из трех контекстов:

• конфигурация,

• база данных,

• встроенный язык,

Говоря о конфигурации, термином объект конфигурации мы обозначаем некоторую совокупность описания данных и алгоритмов работы с этими данными. Например, в конфигурации может существовать объект справочник «Сотрудники».

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

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

Например, в базе данных существует справочник «Сотрудники» в котором есть сотрудник Иванов. В этом случае элемент справочника, содержащий информацию о сотруднике Иванов, будет являться объектом базы данных. И если в документе «ПриходнаяНакладная» будет существовать реквизит «ОтветственноеЛицо», то тип значения этого реквизита будет ссылка на объект базы данных, т.е. на элемент справочника, содержащий информацию об Иванове.

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


 


536



Краткий справочник разработчика


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

Существует целый ряд объектов встроенного языка, позволяющих работать со справочниками (СправочникиМенеджер СправочникМенеджер^имя>, СправочникСсылка.<имя> и т.д.)' Среди них есть один объект, который предоставляет доступ к объекту справочника в базе данных - СправочникОбъект.<имя>.


Справочники и документы

И

нтересно обратить внимание на разницу в употреблении единственного и множественного числа при именовании объектов вида «Справочник» и объектов вида «Документ». Если вы откроете дерево типовой конфигурации, то увидите, что все объекты, расположенные в ветке «Справочники», как правило, именованы во множественном числе. В ветке же «Документы» все объекты, как правило, именованы в единственном числе. Может сложиться впечатление что, создавая объект «Справочник», мы создаем «хранилище» для записей этого справочника, а, создавая «Документ», мы создаем некий шаблон этого документа. На самом деле это не так.

Создавая в конфигураторе объект вида «Справочник» мы даем ему наименование во множественном числе («Товары»), подразумевая тем самым, что в базе данных этот объект будет состоять из записей, каждая из которых описывает один товар (в единственном числе).

Создавая в конфигураторе объект вида «Документ» мы даем ему наименование в единственном числе («Приходная накладная»), однако на самом деле мы создаем такое же «хранилище», как и в случае со справочником. Каждая запись этого «хранилища» будет описывать одну приходную накладную (в единственном числе). Поэтому концептуально правильно было бы в конфигураторе задавать наименование объекта вида «Документ» во множественном числе, подчеркивая тем самым описание набора документов этого вида (например, «Приходные накладные»).

Однако, психология человека такова, что, открывая ветку «Документы», он ожидает увидеть перечисление их в единственном числе, а никак не во множественном. Так происходит потому, что в реальной жизни трудно найти подходящий термин для описания совокупности документов одного вида (совокупность записей одного вида обозначить гораздо проще - справочник, план и т.д.). Поэтому соответствующая ветка объектов конфигурации имеет название «Документы», а объекты, создаваемые в этой ветке, именуются в единственном числе, хотя, по сути, сама ветка содержит описания «хранилищ» документов разных видов, а каждый элемент в этой ветке описывает набор всех документов одного вида.


 


538



Понятие момента времени

Д

ля определения положения документа на оси времени используется реквизит документа «Дата». Дата содержит время с точностью до секунды. Это позволяет контролировать последовательность записи документов. Однако при большом объеме создаваемых документов вероятна ситуация, когда несколько документов будут иметь одинаковое значение даты (т.е. будут созданы в течение одной секунды). Как в этом случае определить последовательность созданных документов?

Для обработки подобных ситуаций было введено понятие момент времени. Момент времени представляет собой совокупность даты, времени и ссылки на объект базы данных. Момент времени позволяет однозначно идентифицировать любой объект ссылочного типа базы данных на оси событий, но имеет смысл, в основном, только для документов. Кроме того, момент времени позволяет идентифицировать и не объектные данные, например, записи регистров, подчиненных регистратору.

Понятие момента времени реализовано во встроенном языке при помощи универсального объекта МоментВремени. Этот объект имеет свойства «Дата» и «Ссылка», которые позволяют получить «составляющие» момента времени, и один метод - Сравнить(), при помощи которого возможно сравнение двух моментов времени между собой. Кроме этого объект МоментВремени имеет конструктор и может быть создан в явном виде для любого объекта базы данных ссылочного типа.

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


Концепция оперативного и неоперативного проведения документов

П

ри разработке конфигураций на платформе 1С:Предприятие 8.0 принято использовать концепцию оперативного и неоперативного проведения документов.

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

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

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

При неоперативном проведении документов не производится ряд проверок, в частности контроль остатков. Подразумевается, что если в процессе неоперативного проведения документов были допущены ошибки (например, списано такое количество номенклатуры, которого нет на складе), то анализ полученного состояния базы данных является отдельной задачей, не относящейся к неоперативному проведению и выполняющейся отдельно от него.

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


 


540



Механизмосн овныхф»гм


Механизм основных форм

У

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

Создание этих форм происходит динамически, в процессе работы системы. Форма создается в тот момент, когда к ней происходит обращение. Причем не важно, интерактивное это обращение или программное. Так для констант форма будет создана как при интерактивном выборе в меню Операции | Константы, так и при программном вызове метода ПолучитьФорму() объекта КонстантыМенеджер:


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


Константы.ПолучитьФорму();

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

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

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

Конструктор форм, напротив, исходит из потребностей разработчика. Если разработчик посчитает нужным использовать ДЛЯ


542



Окно редактирования объекта конфигурации и палитпя


CBOJ


 


Окно редактирования объекта конфигурации и палитра свойств

Н

а первый взгляд окно редактирования объекта и палитра свойств дублируют друг друга. В самом деле, в палитре свойств отображены все свойства объекта конфигурации. Зачем было создавать еще и окно редактирования объекта? Ц если существует окно редактирования объекта, то зачем тогда палитра свойств, которая содержит все то же самое, только в другом виде?

Окно редактирования объекта конфигурации предназначено в первую очередь для быстрого создания новых объектов. Быстрое создание подразумевает ввод исчерпывающей информации об объекте. Значит нужно очень хорошо знать структуру объекта, а на это требуется время.... Выходит, что быстро создать объект не получится? Получится! Окно редактирования объекта имеет в своей основе механизм «мастеров»: разработчику в нужной последовательности предлагается ввести необходимые данные. Последовательность ввода данных разработана таким образом, чтобы предыдущие данные могли служить основой для ввода последующих данных. Движение управляется кнопками «Далее» и «Назад». На каждом шаге предлагается ввести группу логически связанных между собой данных.

Но, предположим, что вы уже освоились со структурой объектов или вам просто нужно изменить несколько свойств объекта. Чтобы при этом не нужно было опять «прокручивать» все с самого начала, окно редактирования объекта содержит закладки, которые позволяют вам перейти непосредственно к тому шагу, на котором вводятся интересующие вас данные.

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

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


«запоминать», какое свойство объекта в ней выбрано, и при переходе в дереве к другому объекту, она будет подсвечивать «у себя» все то же свойство, но уже другого объекта.

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


 


544



Обработчики событий

П

ри работе с событиями в платформе 1С:Предприятие 8.0, следует различать два типа событий: события, связанные с формой и элементами управления, расположенными в форме, и все остальные события.

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

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

Назначаемый обработчик может иметь произвольное имя, и если имя процедуры совпадает с именем события формы или элемента управления - этого совсем не достаточно для того, чтобы процедура вызывалась для обработки события с таким именем. Требуется явное назначение этой процедуры обработчиком этого события. Таким образом любая процедура, расположенная в модуле формы может быть назначена обработчиком любого события (или сразу нескольких событий) формы или элемента управления, расположенного в форме. Имя обработчика в этом случае не имеет значения, важно лишь то, что он назначен обрабатывать какое-либо событие.

Назначение обработчика может выполняться интерактивно, при работе с формой в конфигураторе, или программно, используя методы формы и элементов управления - УстановитьДействие().


События, связанные с формой

С

обытия, обрабатываемые формой, довольно разнообразны и на них стоит остановиться отдельно.

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

" Узнай больше!

В случае, когда в форме объекта редактируются дополнительные, логически связанные данные, существует два способа для отслеживания изменения объекта и синхронизации этих данных:

1. Для синхронизации данных, которые изменяются и
записываются синхронно с объектом, нужно использовать событие
расширения формы объекта
- «ПриИзмененииДанных».

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

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

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

ПодключитьОбработчикИзмененияДанных("СправочнжОбъект. Ссылка", "ПриИзмененииСсылки", Ложь);


 


546



Краткий справочник разработчика


События, связанные


с фор»


 


Сам же обработчик «ПриИзмененииСсылки()» будет выглядеть следующим образом:

ПроцедураПриИзмененииСсылки(Путъ)

СписокКурсов. Отбор.Валюта. Установить{Ссылка); КонецПроцедуры.

Также для объекта Форма существует возможность указать
обработчик ожидания, который будет вызываться в период ожидания
системы каждый раз по истечению указанного интервала времени. Для
этого используется метод ПодключитьОбработчикОжидания()
(соответственно обратный метод

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

Кроме этого существует ряд событий, позволяющих формам взаимодействовать друг с другом.

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

Во-первых, форма может обрабатывать событие ОбработкаАктивизацииОбъекта(), которое возникает при изменении активного объекта в одной из подчиненных форм или при вызове в одной из подчиненных форм метода ОповеститьОбАктивизацииОбъекта().

Во-вторых, форма может обрабатывать событие ОбработкаВыбора(), которое возникает при выборе объекта в одной из подчиненных форм или при вызове в одной из подчиненных форм методаОповеститьОВыбореОбъекта().

В-третьих, форма может обрабатывать событие ОбработкаЗаписиНовогоОбъекта(), которое возникает при записи объекта в одной из подчиненных форм или при вызове в одной из подчиненных форм метода ОповеститьОЗаписиНовогоОбъекта().

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


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

ОбработкаВнешнегоСобытия(). Это событие возникает при посылке внешним приложением сообщения, сформированного в специальном формате. Так вот, внешнее событие сначала будет предложено обработать всем открытым формам (по событию ВнешнееСобытие()), а затем уже это внешнее событие может быть обработано обработчиком модуля приложения.


 


548



Способы работы с коллекцией

М

ногие объекты встроенного языка являются коллекциями Коллекция представляет собой совокупность объектов. Существуют общие принципы работы с любой коллекцией. Во-первых, доступ к каждому объекту коллекции возможен путем перебора элементов коллекции в цикле. Для этого используется конструкция языка Для Каждого из... Цикл...:

Для Каждого СтрокаТабличнойЧасти из ТабличнаяЧасть Цикл

Сообпшть(СтрокаТабличнойЧасти.Услуга,); КонецЦикла;

Во-вторых, возможен доступ напрямую к элементу коллекции, без перебора коллекции в цикле. Здесь возможны различные комбинации двух обращений:

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

Справочники.Сотрудники; Справочники [«Сотрудники»];

2. Если нет смысла в «персонификации» элементов коллекции, тогда обращение к элементу коллекции, как правило, возможно по индексу (индекс первого элемента коллекции - ноль):

ТабличнаяЧасть[0];

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


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

Д

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

Менеджер информационных структур одного вида - этот вид
объектов является коллекцией значений, содержащей менеджеры всех
информационных структур этого вида, существующих в базе данных
(например, менеджер справочников - СправочникиМенеджер -
коллекция значений, содержащая объекты

СправочникМенеджер.<имя>). Предназначен для доступа к отдельным менеджерам информационных структур.

Менеджер конкретной информационной структуры - этот вид
объектов предоставляет средства для работы с конкретной
информационной структурой (например, менеджер документа
Приходная накладная -




Поделиться с друзьями:


Дата добавления: 2014-11-16; Просмотров: 990; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.155 сек.