Главная » 1С Предприятие » ФУНКЦИИ ДЛЯ АДМИНИСТРАТОРА

0

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

Функции  среды исполнения

Таблица 1.6

Функция

Что возвращает

заголовокСтар = ЗаголовокСистемы ([заголовок]);

Возвращает и/или устанавливает заголовок окна системы

имяЭВМ= ИмяКомпьютера();

Сетевое имя работающего  с программой компьютера

пользователь = ИмяПользователя();

Имя работающего с программой пользователя, взятое из списка пользователей (см. рис. 1.9)

полноеИмя = ПолноеИмяПользователя( );

Полное  имя работающего  с программой пользователя (см. рис.  1.10)

наборПрав = НазваниеНабораПрав( );

Название набора прав пользователя

право = ПравоДоступа

(названиеПрава, объект);

Единицу, если пользователь имеет право доступа, заданное  именем названиеПрава, к объекту, заданного именем  объект,  или нуль  в противном случае

интерфейс = НазваниеИнтерфейса();

Название интерфейса,  заданное пользователю в конфигураторе

Функция

Что  возвращает

каталог =  КаталогПользователя();

Заданное в  конфигураторе  имя рабочего  каталога пользователя

каталогБазы =  КаталогИБ();

Имя каталога информационной базы данных

каталог1С =  КаталогПрограммы( );

Имя каталога с исполняемыми файлами  1С

времКат = КаталогВременныхФайлов( );

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

режим = МонопольныйРежим();

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

язык = ОсновнойЯзык();

Единицу, если основной язык русский, или нуль, если английский

Пример:

процедура Выполнить()                        //              Связана с кнопкой Пуск обработки Проба  ОчиститьОкноСообщений();

ЗаголовокСистемы("Система  с учебными формами");

Сообщить(ИмяКомпьютера());

//

DEFAULT

Сообщить(ИмяПользователя());

//

Ученик

Сообщить(ПолноеИмяПользователя());

//

Николаев Н. А.

Сообщить(НазваниеНабораПрав());

//

ПолныеПрава

Сообщить(ПравоДоступа("ВводНового",     "Справочник.КадровыеДанные"));       //1

// Для справочников регулируются права доступа со следующими названиями:

// чтение;

// любыеИзменения;

// вводНового;

// удаление;

// пометкаНаУдаление;

// снятиеПометкиНаУдаление;

// корректировка

Сообщить(ПазваниеИнтерфейса());

//

Ученик

Сообщить(КаталогПользователя()); Сообщить(КаталогИБ());

//

,

//D:\lCv77\Test\ D:\lCv77\Test\

Сообщить(КаталогПрограммы());

//

D:\l         CV77\BIN\

Сообщить(КаталогВременныхФайлов());     //     С:\ТЕМР\

Сообщить(МонопольныйРежим());                    //1

Сообщить(ОсновнойЯзык());                              //1 конецПроцедуры // Выполнить

Замечания:

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

ОсновнойЯзык();

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

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

процедура Выполнить( )                 //           Связана с кнопкой  Пуск обработки Проба перем х;

ОчиститьОкноСообщений(); х = 0;

Лог(х);

конецПроцедуры // Выполнить получим сообщения

х = 0;

{D:\lCV77\TEST\EXTFORMS\ПРОБA.ERT(3)}: Деление на 0

1.15.  ВЫВОДЫ

Приведенные  сведения позволяют  сделать  ряд выводов.

1.     Для  каждого пользователя можно (и  нужно) создать  свой интерфейс  с  определенными правами доступа.

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

3.       Формы разрабатываются в конфигураторе, а запускаются в  1С:Предприятии.

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

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

6.      Существуют по-настоящему  глобальные   имена  (разд.   1.6),  доступные  в  каждом программном  модуле.

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

8.       Такие объекты, как  Таблица и  Список  значений, становятся  доступными  в  модуле формы после их размещения в диалоге формы (разд.  1.8).

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

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

11.  Производительность работы   повысится,  если   на  стадии   отладки   кода   модуля использовать возможности команды #ЗагрузитьИзФайла (разд.   1.11).

12.  Отчет  (обработку)  можно   открыть  из  любой  другой  формы, применив  функцию ОткрытьФорму (ОткрытьФормуМодально) или  метод  ОткрытьПодбор.

13.   Контекст  обработки  это объект агрегированного типа ГрупповойКонтекст,  обеспечивающий  доступ к переменным  диалога обработки  и  к  определенным  для нее методам.

14.   Контекст  обработки  может быть передан  в  качестве входного/выходного  параметра процедуре (функции) модуля  самой  обработки  и глобального  модуля;

15.   Контекст  открываемой формы  возвращает  функция  ОткрытьФорму  (ОткрытьФормуМодально) .

16.   Для  получения  сведений о среде  исполнения  и управления работой  пользователей полезны рассмотренные  в разд.  1.12. функции.

2. БАЗОВЫЕ ПОНЯТИЯ

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

2.1. ОБЪЕКТЫ И ТИПЫ ДАННЫХ

В программах  1С  можно  оперировать следующими  объектами данных:

• буквальными и системными константами (не путать с рассмотренными выше определенными в конфигурации системы константами);

•   переменными.

Объекты данных  могут  иметь следующие типы:

•   числовой;

•   символьный;

•   дата;

•   агрегатные, например Справочник.

Замечания:

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

Сообщить(Лог(2.5));

выведет в окно  сообщений число 0.91629073187415

имеющее  14 знаков после десятичной  точки. Правда, Сообщить(Лог(5.0));                                             //1.6094379124341 вернет число только  с 13 знаками после  десятичной  точки, а

Сообщить(1.0/Лог(1.01));                             //100.499170807131365574

напечатает число с  18 знаками после  десятичной точки: Оператор

Сообщить(2 / 3);                          //               0.66666666666666666667

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

2.     Агрегатный  тип  данных   имеет  разновидности.  Например,  разновидностями  типа Справочник являются  Справочник.Должности, Справочник.Сотрудники  и др. Агрегатный  тип данных  мы  рассмотрим  в гл. 3.

3.     Некоторые методы, например  приведенный  в  табл.   1.2  метод  НазначитьТип,  принимают  в  качестве  параметра символьное  представление  типа данных  или  разновидности  типа.  Это   символьное  представление  для   числового типа  задается   как "Число",  для символьного как  "Строка". Для  остальных типов оно  дублирует имя типа или  его  разновидности. Например, символьное  представление  разновидности типа Справочник.Города это  строка "Справочник.Города".

Источник: Бартеньев О. В. 1С:Предприятие:  программирование для  всех.  Базовые объекты и расчеты на одной дискете. М.: Диалог-МИФИ, 2005. 464 с.

По теме:

  • Комментарии