Какой должен быть порядок определения процедур и функций в программном модуле
Перейти к содержимому

Какой должен быть порядок определения процедур и функций в программном модуле

  • автор:

Процедуры и функции

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

Параметры

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

Передача параметров в процедуру или функцию

В функцию или процедуру параметры передаются по ссылке(не создается отдельная копия, а передается ссылка на эту переменную, изменение параметра повлечет за собой изменение переменной), но если при определении процедуры/функции перед параметром указать Знач например:

Процедура(Знач ПростоПараметр)

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

Процедура Тест(ПараметрРаз, ПараметрДва = 123, . ПараметрN) //Указывать ПараметрДва необязательно, в таком случае он будет равен 123 КонецПроцедуры;

Документирование

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

// Возвращает начало следующего дня // // Параметры: // ТекДата - дата, относительно которой будет вычисляться дата начала следующего дня. Функция НачалоСледующегоДня(ТекДата) Возврат КонецДня(ТекДата) + 1; КонецФункции

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

Описание процедур и функций

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

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

При разработке на платформе 1С:Предприятие 8.3 текст комментария также выводится в контекстной подсказке процедур, функций и их параметров. Подробнее см. раздел «Контекстная подсказка при вводе текстов модулей» главы 27 «Инструменты разработки» в документации к платформе.

При разработке в 1C:Enterprise Development Tools (EDT) текст комментария также используется для уточнения типизации параметров и возвращаемого значения процедур и функций, и тем самым помогает выявлять ошибки кодирования на этапе разработки.

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

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

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

4. Следует избегать комментариев, не дающих дополнительных пояснений о работе не-экспортной процедуры (функции).
Например, неправильно:

// Процедура - обработчик события "ПриОткрытии" формы // &НаКлиенте Процедура ПриОткрытии() // Процедура-обработчик команды "Рассчитать" // &НаКлиенте Процедура Рассчитать() // Процедура-обработчик события "ПриИзменении" элемента формы "РедактированиеТолькоВДиалоге" // &НаКлиенте Процедура РедактированиеТолькоВДиалогеПриИзменении(Элемент)

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

// Функция возвращает статью движения денежных средств по данным документа Функция СтатьяДвиженияДенежныхСредств(ДанныеДокумента)

Этот комментарий не дает никакой дополнительной информации о функции.

5. Комментарий размещается перед объявлением процедуры (функции) и имеет следующий вид.

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

Может быть единственной секцией для процедур без параметров. Описание не должно совпадать с именем процедуры (функции). Для процедур и функций секция должна начинаться с глагола. Для функций это, как правило: «Возвращает…». В тех случаях, когда возвращаемый результат является не основным в работе функции, – то с основного действия, например: «Проверяет…», «Сравнивает…», «Вычисляет…» и т.п. Не рекомендуется начинать описание с избыточных слов «Процедура. », «Функция. », а также с имени самой процедуры (функции), от удаления которых смысл не меняется.

// Конструктор объекта WSПрокси. // . Функция WSПрокси(ПараметрыПрокси) Экспорт // Функция СтрокаТаблицыЗначенийВСтруктуру создает структуру со свойствами, соответствующими. Функция СтрокаТаблицыЗначенийВСтруктуру(СтрокаТаблицыЗначений) Экспорт
// Создает прокси на основе определения веб-сервиса и связывает // его с точкой подключения веб-сервиса. // В дополнении к платформенному конструктору Новый WSПрокси: // - включает в себя вызов конструктора WSОпределения; // - на время сеанса кэширует файл WSDL для оптимизации частых обращений к веб-сервису; // - не требует явного указания ИнтернетПрокси (он подставляется автоматически, если настроен); // - выполняет быструю проверку доступности веб-сервиса с помощью операции Ping. // . Функция WSПрокси(ПараметрыПрокси) Экспорт // Создает структуру со свойствами, соответствующими. Функция СтрокаТаблицыЗначенийВСтруктуру(СтрокаТаблицыЗначений) Экспорт

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

5.2.1. Описание параметра начинается с новой строки, далее имя параметра, затем дефис и список типов (*), далее дефис и текстовое описание параметра.

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

Описание типа является обязательным. Тип может быть описан явно, при этом может быть указан или один тип или список типов. Под «списком типов» подразумеваются имена типов, разделенные запятыми. Имя типа может быть простым (в одно слово) или составным — в два слова, разделенных точкой.
Например: Строка, Структура, Произвольный, СправочникСсылка.Сотрудники .

В качестве типов значений следует использовать только существующие в платформе типы, а также специальные типы, предусмотренные в EDT: ОпределяемыйТип. , СправочникСсылка , ОбъектМетаданныхОтчет , РасширениеДекорацииФормыДляНадписи и т.п.

// КоллекцияСтрок - КоллекцияЗначений – коллекция для сравнения;// ФормируемыйОтчет - ОбъектМетаданных: Отчет// ПрисоединенныйФайлОбъект - элемент справочника файлов.
// КоллекцияСтрок – ТаблицаЗначений, Массив, СписокЗначений – коллекция для сравнения.// ФормируемыйОтчет – ОбъектМетаданныхОтчет// ПрисоединенныйФайлОбъект - ОпределяемыйТип.ПрисоединенныйФайлОбъект - элемент справочника файлов.

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

// Проверяет, что переданные адреса включены в задачу. Если проверка не проходит – генерируется исключение.
//
// Параметры:
// Адреса — Строка — строка, содержащая электронные адреса
// ЗадачаИсполнителя — ЗадачаСсылка.ЗадачаИсполнителя – проверяемая задача
//
Процедура ПроверитьАдресаЗадачи( Адреса, ЗадачаИсполнителя)

// Проверяет, что переданные адреса включены в задачу. Если проверка не проходит – генерируется исключение.
//
// Параметры:
// Адреса — Строка — содержит электронные адреса, разделенные запятой. Например, support@mycorp.ru,v8@localdomain.
// ЗадачаИсполнителя — ЗадачаСсылка.ЗадачаИсполнителя
//
Процедура ПроверитьАдресаЗадачи(Адреса, ЗадачаИсполнителя)

В данном примере текстовое описание для параметра «Адреса» нужно чтобы

  • указать правило передачи нескольких адресов (через зяпятую);
  • привести пример.

Текстовое описание для параметра ЗадачаИсполнителя не нужно.

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

// Заполняет цены в строке табличной части
// Параметры:
// ТекущаяСтрока – СтрокаТабличнойЧасти
// ПараметрыЗаполненияЦен – см. ЦенообразованиеСервер.ПараметрыЗаполненияЦен
//
Процедура ЗаполнитьЦеныВСтрокеТЧ(ТекущаяСтрока, ПараметрыЗаполненияЦен);

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

5.2.3. Для параметров типа Массив следует указывать тип элементов с помощью ключевого слова «из» (англ. «of» ):

// МассивПеренаправленныхЗадач - Массив - массив перенаправленных задач.// МассивПеренаправленныхЗадач - Массив - задачи (ЗадачаСсылка.ЗадачаИсполнителя), перенаправленные другому исполнителю.

Правильно:
// СведенияОбОбновлении — Массив из см. ОбновлениеИнформационнойБазы.ПараметрыОбновления

Допускается не указывать тип элементов массивов только в методах, которые работают с массивами универсальным образом. Например, в Библиотеке стандартных подсистем есть методы ДополнитьМассив , УдалитьВсеВхожденияЗначенияИзМассива и т.д.

5.2.4. Также для параметра типа СтрокаТаблицыЗначений ( СтрокаДереваЗначений ) возможно задать состав свойств, соответствующий колонкам его таблицы-владельца (дерева-владельца):
Например:

// СведенияОРегионе – СтрокаТаблицыЗначений: см. РегистрыСведений.АдресныеОбъекты.КлассификаторСубъектовРФ

где КлассификаторСубъектовРФ — экспортная функция модуля менеджера регистра сведения АдресныеОбъекты, которая возвращает таблицу значений.

5.2.5. Также для каждого параметра можно задать одно или несколько дополнительных описаний типов параметра. Каждое дополнительное описание начинается с новой строки, затем обязательный дефис, далее список типов параметра далее дефис и текстовое описание.
Например:

// Параметры: // Реквизиты - Строка - имена реквизитов, перечисленные через запятую. // Например, "Код, Наименование, Родитель". // - Структура, ФиксированнаяСтруктура - в качестве ключа передается // псевдоним поля для возвращаемой структуры с результатом, // а в качестве значения (опционально) фактическое имя поля в таблице. // Если значение не определено, то имя поля берется из ключа. // - Массив Из Строка, ФиксированныйМассив Из Строка - имена реквизитов.

5.2.6. Описание также могут быть заданы с помощью ссылки на функцию-конструктор в формате «см. ПутьКФункции» (англ «see MethodPath» ).
Например:

// ПараметрыУказанияСерий — см. НоменклатураКлиентСервер.ПараметрыУказанияСерий
// Дубли — см. ОбработкаОбъект.ПоискИУдалениеДублей.ГруппыДублей
// РеквизитыКомпонент — Массив из см. ВнешниеКомпоненты.РеквизитыКомпоненты

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

// Запросы — см. Обработки.КонсольЗапросов.ТабличнаяЧасть.Запросы
// ТипыДанных — см. Обработки.КонсольЗапросов.Реквизит.ДоступныеТипыДанных
// Вложения — см. Справочники.ШаблоныСообщений.ФормаЭлемента.Вложения
// КонтактнаяИнформация — см. Документы.ЗаказПокупателя.ФормаДокумента.Объект.КонтактнаяИнформация

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

// См. ПодключаемыеКомандыПереопределяемый.ПриОпределенииКомандПодключенныхКОбъекту
//
Процедура ПриОпределенииКомандПодключенныхКОбъекту(НастройкиФормы, Источники, ПодключенныеОтчетыИОбработки, Команды) Экспорт

// Параметры:
// НастройкиФормы — см. ПодключаемыеКомандыПереопределяемый.ПриОпределенииКомандПодключенныхКОбъекту.НастройкиФормы
// Источники — см. ПодключаемыеКомандыПереопределяемый.ПриОпределенииКомандПодключенныхКОбъекту.Источники
// ПодключенныеОтчетыИОбработки — см. ПодключаемыеКомандыПереопределяемый.ПриОпределенииКомандПодключенныхКОбъекту.ПодключенныеОтчетыИОбработки
// Команды — см. ПодключаемыеКомандыПереопределяемый.ПриОпределенииКомандПодключенныхКОбъекту.Команды
//
Процедура ПриОпределенииКомандПодключенныхКОбъекту(НастройкиФормы, Источники, ПодключенныеОтчетыИОбработки, Команды) Экспорт

5.3. Секция «Возвращаемое значение» (англ. «Returns» ) описывает тип и содержание возвращаемого значения функции. Для процедур эта секция отсутствует. Предваряется строкой «Возвращаемое значение:». Затем с новой строки тип возвращаемого значения, дефис и текст описания. При использовании возвращаемого значения составного типа следует каждый тип писать с новой строки и с дефиса. Например:

// Возвращаемое значение: // Строка // Возвращаемое значение: // Булево - Истина, если хотя бы одна из переданных ролей доступна текущему пользователю, либо у него есть административные права. // Возвращаемое значение: // - ЛюбаяСсылка - ссылка на предопределенный элемент. // - Неопределено - если предопределенный элемент есть в метаданных, но не создан в ИБ. // Возвращаемое значение: // - СправочникСсылка.Пользователи // - СправочникСсылка.ВнешниеПользователи

Текстовое описание возвращаемого значения рекомендуется заполнять в том случае, когда только одного описания функции недостаточно, либо требуется дать дополнительную информацию о типе, например, о составе свойств или колонок возвращаемого значения. Также может быть приведен пример с ожидаемым значением возвращаемого значения, либо сквозной пример размещается в секции «Пример» ниже.
Формат описания возвращаемого значения с типом Массив аналогичен описанному в п. 5.2.3.
Формат описания возвращаемого значения с типом Структура и ТаблицаЗначений описан в стандарте Структуры и таблицы значений в качестве параметров процедур и функций.

5.4. Секция «Пример» (англ. «Example» ) содержит пример использования процедуры, или функции. Предваряется строкой «Пример:». Далее с новой строки пример использования. Имя процедуры (функции) следует писать вместе с именем общего модуля, в котором она расположена. Из примера должно быть понятно, что передается на входе и что возвращается на выходе.
Например, неправильно:

// Пример: // ПодставитьПараметрыВСтроку(ШаблонСтроки, СтрокаЗамены);
// Пример: // СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru='%1 пошел в %2'"), "Вася", "Зоопарк") = "Вася пошел в Зоопарк".

5.4.1. В переопределяемых модулях в секции «Пример» следует размещать пример реализации переопределяемой процедуры, а не пример ее вызова. Например, для процедуры ПриОпределенииОбщихПараметровБазовойФункциональности(ОбщиеПараметры):

// Пример: // ОбщиеПараметры.МинимальноНеобходимаяВерсияПлатформы = "8.3.4.365"; // ОбщиеПараметры.РекомендуемыйОбъемОперативнойПамяти = 2;

5.5. В редких случаях, когда сразу несколько параметров имеют дополнительные типы, рекомендуется добавить секцию «Варианты вызова» (англ. «Сall options» ), в которой дать описания наиболее частых или всех возможных вариантов вызова функции с различными комбинациями типов параметров. Секция начинается фразой «Варианты вызова:» с новой строки, затем идут описания вариантов, каждое начинается с новой строки. Каждый вариант вызова представляется в виде имени функции со списком типов, перечисленных через запятую в круглых скобках, затем следует дефис и текстовое описание варианта.

// . // // Параметры: // Параметр1 - Тип11, Тип12 - . // Параметр2 - Тип21, Тип22, Тип23 - . // // Варианты вызова: // УниверсальнаяПроцедура(Тип11, Тип21) - описание . // УниверсальнаяПроцедура(Тип12, Тип22) - описание . // УниверсальнаяПроцедура(Тип11, Тип23) - описание . // Процедура УниверсальнаяПроцедура(Параметр1, Параметр2) Экспорт

5.6. В любом месте документирующего комментария можно добавить переход к другим объектам конфигурации, процедурам и функциям (в частности, для перехода к функциям-конструкторам структур). При использовании 1C:Enterprise Development Tools среда оформит такие переходы в виде гиперссылки.
Например:

// Описание универсальной процедуры. // // См. УправлениеДоступом.ЗаполнитьНаборыЗначенийДоступа // // Параметры: // Параметр1 – Произвольный – описание параметра см. Справочник.Контрагенты. // Процедура УниверсальнаяПроцедура(Параметр1)

5.7. В случаях когда возникает необходимость отметить процедуру (функцию) как устаревшую, в первой строке ее описания размещается слово «Устарела» (англ. «Deprecated» ).
Например:

// Устарела. Следует использовать ОбщегоНазначения.РазделениеВключено и // ОбщегоНазначения.ДоступноИспользованиеРазделенныхДанных // . Функция ИспользованиеРазделителяСеанса() Экспорт

6. Если требуется прокомментировать процедуру или функцию с директивой компиляции, то вначале следует размещать комментарий, а затем —
директиву компиляции. Например:

// Процедура - обработчик события формы ПриСозданииНаСервере. // Обрабатывает параметры формы и заполняет реквизиты формы значениями. // А также выполняет следующие действия: // . // &НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

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

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

Примеры описания процедур и функций

Пример описания функции с одним параметром:

// Определяет доступность ролей ИменаРолей текущему пользователю, // а также доступность административных прав. // // Параметры: // ИменаРолей - Строка - имена ролей, доступность которых проверяется, разделенные запятыми. // // Возвращаемое значение: // Булево - Истина, если хотя бы одна из переданных ролей доступна текущему пользователю, // либо у него есть административные права. // // Пример: // Если РолиДоступны("ИспользованиеРассылокОтчетов,ОтправкаПоПочте") Тогда . // Функция РолиДоступны(ИменаРолей) Экспорт

Пример описания процедуры без параметров:

// В обработчике события ПередЗаписью документа выполняется; // - очистка табличной части услуги, в случае если указан договор с комиссионером; // - проверка заполнения реквизита ЕдиницаИзмеренияМест табл. части Товары; // - синхронизация с "подчиненным" счетом-фактурой; // - заполнение склада и заказа покупателя в табличных частях Товары и ВозвратнаяТара; // - удаление неиспользуемых строк табличной части "Серийные номера"; // - заполнение переменной модуля объекта УдалятьДвижение. // Процедура ПередЗаписью() КонецПроцедуры

Для автоматического упорядочивания комментариев к процедурам или функциям с директивами компиляции можно воспользоваться приложенной обработкой ФорматированиеДирективКомпиляции.epf .

Для этого необходимо:

  1. Выгрузить модули конфигурации (команда меню Конфигурация -> Выгрузить файлы конфигурации. )
  2. Открыть обработку в режиме 1С:Предприятие и указать каталог, в который были выгружены модули — далее нажать кнопку «Форматировать»
  3. Загрузить модули в конфигурацию (команда меню Конфигурация -> Загрузить файлы конфигурации. )

Вопрос 8 Какой должен быть порядок определения процедур и функций в программном модуле?

1. Описание функций должно идти выше описания процедур и раздела основной программы 2. Описание вызываемых процедур и функций должно идти выше вызывающих 3. Порядок следования процедур и функций не имеет значения 4. Порядок следования процедур и функций зависит от типа модуля Вопрос 9 Какое высказывание о модуле приложения верно? 1. Модуль приложения используется для обработки событий, связанных с началом и завершением работы системы 2. Модуль приложения используется для объявления глобальных переменных 3. Модуль приложения используется для объявления глобальных процедур и функций, доступных в любых других модулях 4. Верны все вышеперечисленные высказывания 5. Верны ответы 1 и 2 Вопрос 10 Только определения процедур и функций может содержать только следующий вид модуля: 1. модуль приложения 2. общий модуль 3. модуль сеанса 4. модуль объекта 5. верны ответы 2,3 6. верны ответы 2,4 Вопрос 11 Модуль сеанса (выберите наиболее полный правильный ответ): 1. предназначен для инициализации параметров сеанса и отработки действий, связанных с сеансом работы 2. не содержит экспортируемых процедур и функций 3. в кластере серверов 1С:Предприприятия 8 исполняется в привилегированном режиме 4. исполнение происходит после начала исполнения модуля приложения (модуля внешнего соединения) 5. верны ответы 1,3 6. верны ответы 1,2,3,4 Вопрос 12 Имя общего модуля может совпадать с именем свойства гло бального контекста (например «Отчеты»): 1. может в любом случае 2. может, но только если модуль глобальный 3. может, но только если модуль не глобальный Вопрос 13 Какие функции отсутствуют во встроенном языке «1С:Предприятие 8»: 1. Функции работы со значениями типа Дата 2. Функции работы со значениями типа Время 3. Функции работы со значениями типа Строка 4. Функции работы со значениями типа Число 5. Все вышеперечисленные функции имеются во встроенном языке Вопрос 14 Ключ может быть произвольного типа. 1. у структуры 2. у соответствия 3. у массива 4. ни у одного из вышеперечисленных Вопрос 15 Что произойдет, если удалить запись регистра сведений и создать новую с такими же полями (измерениями, ресурсами, реквизитами)? 1. Ничего, на логику программы это никак не повлияет 2. У этой записи будет другой внутренний идентификатор (ссылка) и это может повлиять на логику программы 3. Возникнет исключительная ситуация Вопрос 16 Как повлияет удаление элемента справочника, который уже используется в других объектах, а потом создать новый с такими же реквизитами, на поведение программы? 1. Ничего, на логику программы это никак не повлияет 2. У элемента будет другой внутренний идентификатор (ссылка) и это может повлиять на логику программы 3. Возникнет исключительная ситуация Вопрос 17 В каком свойстве хранится дата документа? 1. Дата 2. ДатаДок 3. ДатаДокумента 4. Нет правильного ответа Вопрос 18 С помощью объекта какого типа можно перебирать элементы справочника? 1. СправочникиМенеджер 2. СправочникМенеджер 3. СправочникВыборка 4. СправочникОбъект 5. СггравочникСписок Вопрос 19 Где располагаются процедуры-обработчики событий при кладных объектов, например, ПриЗаписи, ПередУдалением? 1. В модуле формы 2. В модуле объекта 3. В модуле приложения 4. Таких событий у прикладных объектов нет Вопрос 20 Что такое «системные перечисления»? 1. Перечень значений, заданный на этапе разработки конфигурации (ветвь Перечисления в дереве конфигурации) 2. Перечень значений, заданный в платформе «1С:Предприятие 8.0» 3. Конструкция встроенного языка, используемая разработчиком для объ-явления перечислимых типов данных 4. Системные перечисления отсутствуют в системе «1С:Предприятие 8.0» Вопрос 21 Какая коллекция из нижеперечисленных не относится к универсальным? 1. Массив 2. СписокЗначений 3. ДеревоЗначений 4. Коллекция строк табличной части документа 5. Верны ответы 3 и 4 Вопрос 22 Что необходимо для того, чтобы написанная программистом процедура дополнила контекст документа (объекта типа ДокументОбъект)? 1. Она должна быть определена в модуле документа 2. Она должна быть определена в общем модуле 3. Она должна быть определена с ключевым словом Экспорт 4. Одновременно должны выполняться условия 1 и 3 5. Одновременно должны выполняться условия 2 и 3 Вопрос 23 В каком свойстве хранится время документа? 1. Время 2. ВремяДок 3. Дата 4. Нет правильного ответа Вопрос 24 Для чего предназначен объект ДокументСписок? 1. Для перебора (выборки) документов средствами встроенного языка 2. Для управления списком документов, выводимых в табличное поле, т.е. для решения интерфейсных задач 3. Для операций над документами как объектами базы данных, создания и удаления документов 4. Верны ответы 1 и 2 Вопрос 25 С какого значения начинается индексирование элементов коллекций? 1. О (с нуля) 2. 1 (с единицы) 3. С начального индекса, заданного программистом при создании коллекции 4. Элементы коллекций не индексируются Вопрос 26 Объект какого типа позволяет изменить элемент справочника в базе данных? 1. СправочникМенеджер 2. СправочникОбъект 3. СправочникСсылка 4. Все перечисленные объекты 5. Верны ответы 1 и 2 Вопрос 27 Какие утверждения относительно NULL справедливы? 1. NULL — это литерал 2. NULL — относится к примитивным типам данных 3. NULL — обозначает отсутствующее значение 4. Верны все перечисленные ответы 5. Верны ответы 2 и 3 Вопрос 28 В выражении использована конструкция: ( Сумма 1. 1200 2. 1440 3.0.12 4. 2000 5. Данная конструкция использована некорректно Вопрос.29 Какого типа является свойство глобального контекста «Справочники»? 1. СправочникиМенеджер 2. СправочникМенеджер 3. СправочникОбъект 4. СправочникВыборка 5. СправочникСсылка Вопрос 30 Какой литерал представляет значение типа «дата» по умолчанию (пустая дата)? 1.01010001 2.01010001000000 3.00010101 4.00010101000000 5. Верны ответы 1 и 2 6. Верны ответы 3 и 4 Вопрос 31 Как можно обратиться к менеджеру справочника «Номенклатура»? 1. Спр = СоздатьОбъект(«Справочник.Номенклатура») 2. Спр = Справочники.Номенклатура 3. Спр = Новый Справочник.Номенклатура 4. Верны ответы 2 и 3 Вопрос 32 Где может размещаться процедура-обработчик события «Нажатие» кнопки диалога? 1. В модуле формы 2. В модуле объекта 3. В общем модуле 4. В модуле приложения 5. Возможно либо в модуле формы, либо в модуле объекта. Определяется разработчиком Вопрос.33 Что необходимо выполнить в процедуре «ОбработкаПроведения» в модуле документа для отмены проведения? 1. СтатусВозврата(О) 2. Отказ = Истина 3. Отказ = Ложь 4. Режим = Ложь 5. РежимЗаписи = РежимЗаписиДокумента.ОтменаПроведения Вопрос.34 Пусть Переменная1 имеет тип Дата (состав даты — «Дата») и значение, равное 1 марта 2005 года. Чему будет равно значение выражения «Переменная1+20»? 1.21 марта 2005 г 00 ч 00 мин 00 сек 2. 1 марта 2005 г 00 ч 00 мин 20 сек 3. 1 марта 2005 г 20 ч 00 мин 00 сек 4. 21 марта 2005 г 00 ч 00 мин 20 сек 5. Возникнет ошибка преобразования типов

01.11.2018 228.86 Кб 3 история экономики.doc

17.04.2019 182.78 Кб 6 История. 25.doc

27.03.2015 70.71 Кб 7 история.docx

27.03.2015 90.21 Кб 3 ИсторияНапару.docx

27.03.2015 441.79 Кб 19 Истороия.pdf

27.03.2015 23.55 Mб 409 источник_Вопросы с ответами 2010_8.2.docx

27.03.2015 174.59 Кб 39 Источники гражданского права (1).doc

27.03.2015 67.85 Кб 102 источниковедение.docx

29.09.2019 42.84 Кб 5 ису — магазин горящих путевок.docx

14.08.2019 900.1 Кб 6 ИСЭ(ч.2).doc

24.11.2019 688.23 Кб 8 ИТ лекции.docx

Ограничение

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

Разбор тестирования 1С:Профессионал и PMP

Процедуры и функции каждого модуля можно просмотреть списком, по хоткею Ctrl + Alt + P, либо через соответствующий пункт меню:

Вопрос 06.01 экзамена 1С:Профессионал по платформе. Какие виды программных модулей существуют в «1С:Предприятие 8»?

  1. Общие модули, модуль сеанса, модули форм
  2. Модуль обычного приложения, модуль управляемого приложения, общие модули, модуль сеанса, модули объектов, модули форм
  3. Модуль обычного приложения, модуль управляемого приложения, модуль внешнего соединения, модуль сеанса, общие модули и модули форм
  4. Модуль обычного приложения, модуль управляемого приложения, модуль внешнего соединения, модуль сеанса, общие модули, модули форм и модули макетов
  5. Модуль обычного приложения, модуль управляемого приложения, модуль внешнего соединения, модуль сеанса, модуль команды, общие модули, модули менеджера, модули форм, модули объектов и модули набора записей
  6. Модуль приложения, модуль внешнего соединения, модуль сеанса, общие модули, модули форм, модули макетов, модули объектов и модули набора записей

Правильный ответ пятый, перечень выше.

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

  1. Описание функций должно идти выше описания процедур и раздела основной программы
  2. Описание вызываемых процедур и функций должно идти выше вызывающих
  3. Порядок следования процедур и функций не имеет значения
  4. Порядок следования процедур и функций зависит от типа модуля

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

Вопрос 06.09 экзамена 1С:Профессионал по платформе. Только определения процедур и функций может содержать только следующий вид модуля:

  1. модуль приложения
  2. общий модуль
  3. модуль сеанса
  4. модуль объекта
  5. верны ответы 2,3
  6. верны ответы 2,4

Правильный ответ пятый, см. выше.

1 комментарий:

добавились вопросы по теме модулей:

6.66 К каком модуле должно находиться описание процедуры-метода, если
обращение к ней идет следующим образом: Справочники.Номенклатура.Метод1(); ?
1. Модуль приложения
2. Глобальный общий модуль
3. Не глобальный общий модуль
4. Модуль менеджера
5. Модуль объекта
6. Модуль формы

правильный ответ — вариант 4. Проверено в официальном тренажере 1с.

6.67 К каком модуле должно находиться описание процедуры-метода, если
обращение к ней идет следующим образом: Справочники.Номенклатура.СоздатьОбъект.Метод1(); ?
1. Модуль приложения
2. Глобальный общий модуль
3. Не глобальный общий модуль
4. Модуль менеджера
5. Модуль объекта
6. Модуль формы

правильный ответ — вариант 5. Проверено в официальном тренажере 1с. Ответить Удалить

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *