|
Работа в 1С 12Работа в программе 1С Тема 4 Константы Цель: 1) познакомится с понятием «константа», «периодическая константа» в системе 1С; 2) получить и закрепить навыки создания констант, в том числе периодических; 3) получить и закрепить навыки использования методов работы с константами в программных модулях. Пояснения к работе Константа – это агрегатный тип данных, средство работы с постоянными (условно постоянными) величинами. В константах хранится информация, характеризующая конфигурацию в целом, которая может быть как постоянной, так и изменяться с той или иной периодичностью. Основная причина использования констант заключается в том, что в них один раз заносится какая–либо информация, которая затем может многократно использоваться при формировании документов, в расчетах, при построении отчетных форм. Информация, внесенная в константу время от времени может редактироваться, но сути константы это не меняет: единожды введенное в систему, значение константы используется многократно. Рассмотрим такой пример. Наиболее часто на документах предприятия встречается подпись директора и главного бухгалтера. Естественно, что подписи эти должностные лица должны ставить самостоятельно. Но помимо самой подписи, в документах требуется ее расшифровка – фамилия подписавшего документ. Конечно, можно ввести фамилии директора и главного бухгалтера непосредственно в формы документов. Но, если какая–либо из фамилий изменится, то придется вновь редактировать все бланки документов и исправлять фамилии. Поэтому гораздо удобнее создать в Конфигураторе 2 константы – для хранения фамилий директора и главного бухгалтера, ввести эти фамилии в константы один раз, а в многочисленных бланках документов использовать идентификаторы констант для получения их значений. При смене директора или главного бухгалтера достаточно внести изменения только в константы – ввести и них новые фамилии – и все изменения автоматически будут отражены в тех местах, где эти константы используются. Константы могут быть периодическими или нет (это задается в конфигураторе при их создании). Периодические константы – это константы, значения которых связаны с датой. При изменении значения периодической константы старое значение сохраняется, просто новое значение действует с указанной даты, а старое до указанной даты. Пример: // Изначально значение периодической константы Константа.ИмяДиректора было – "Иванов И. И.". В некоторый момент директор сменился. Константа.ИмяДиректора.Установить('01.05.96', "Петров П.П."); // Данный оператор устанавливает новое значение периодической константы с даты '01.05.96', но старое значение – "Иванов И. И." сохраняется до этой даты и может быть получено, например, следующей строкой текста программы: ПрежнДирект = Константа.ИмяДиректора.Получить('01.01.96'); Конфигуратор системы 1С:Предприятие позволяет создавать практически неограниченное количество констант для хранения любой нужной информации. Следует обговорить, что в Конфигураторе создастся только описание константы как места для хранения какой–либо информации. Но в данном контексте для простоты будет использоваться термин «константа». Для создания константы необходимо запустить 1С в режиме Конфигуратор, открыть окно Конфигурация вкладка Метаданные. Щелкнуть правой кнопкой мыши на агрегатном типе Константы и в появившемся контекстном меню выбрать пункт Новая константа. На экране появится окно Свойства константы (рисунок 4.1), где необходимо задать реквизиты создаваемой константы. На вкладке Общие: Идентификатор – имя константы. Представляет собой строку длинной не более 128 символов, состоящую из букв, цифр и знаков подчеркивания. Не должен начинаться с цифры и содержать пробелы. Идентификатор позволяет обращаться к константе из программных модулей. Комментарий – краткое описание объекта. Тип значения – устанавливает, значение какого типа может быть данный объект. Длина – максимальное количество позиций, которое отводится для ввода значения объекта. Длина указывается только для значений типа Строка и Число. Для значения типа Дата его длина всегда равна 8 (ДД.ММ.ГГ), а для значений типа Справочник и Документ указания длины значения не требуется. Точность –устанавливает максимально возможное количество знаков после десятичной точки для числового реквизита. На вкладке Дополнительные: Разделять триады – устанавливает признак разделения триад при отображении значения константы. Неотрицательный – устанавливает признак неотрицательного значения константы. Периодический – устанавливает признак периодического константы (каждое новое значение объекта привязывается к дате его установки. Вкладка Права предназначена для управления правами. После создания константы ее значение можно задать в режиме Предприятие через пункт Константы меню Операции. Средства языка предоставляют возможность непосредственного доступа к созданным в Конфигураторе названиям констант в любом программном модуле, т. к. константы принадлежат глобальному контексту задачи. Работа с периодическими константами осуществляется при помощи методов Получить и Установить или при помощи специального агрегатного типа данных – Периодический. Работа с непериодическими константами осуществляется непосредственно через их идентификаторы (названия). Использование непериодических констант в синтаксисе языка аналогично глобальным переменным, т. е. идентификаторы непериодических констант могут размещаться в левой и правой части оператора присваивания, в выражениях, быть параметрами методов, процедур или функций в любом программном модуле. В качестве имени константы обязательно должно выступать полное имя конкретной константы, как оно объявлено в конфигураторе. Имя константы записывается через точку после ключевого слова Константа, т. е. полное имя константы записывается следующим образом: Константа.<Имя_константы> где <Имя_константы> – название конкретной константы, как оно объявлено в окне Конфигурация вкладка Метаданные конфигуратора. Пример: // Пример работы с непериодическими константами: Константа.Организация = "АО СПЕЦСТРОЙКОНСЕРВБАНК"; Константа.Адрес = "г.Москва, Вернадского, 523, 25"; Р_Счет = Константа.НашСчет; // операторы Если Всего > Константа.МинимальнаяЗарплата Тогда
Иначе
КонецЕсли; Методы констант НазначитьТип(<ИмяКонстанты>, <ИмяТипа>, <Длина>, <Точность>) – позволяет назначить тип для константы, которой в конфигураторе назначен тип Неопределенный. Параметры: <ИмяКонстанты> – строковое выражение – название константы неопределенного типа, как она названа в конфигураторе. <ИмяТипа> – строковое выражение – название типа данных (или Вид субконто), который назначается константе. Например: Строка, Число, Справочник.Товары, Документ.РасходнаяНакладная и т. п. <Длина> – необязательный параметр. Длина поля представления данных. Имеет смысл только при задании числового или строкового типа. <Точность> – необязательный параметр. Число знаков числа после десятичной точки. Имеет смысл только при задании числового типа. Пример: Константа.НазначитьТип("ТМЦ", "Справочник.Товары"); УстановитьАтрибут(<ИмяРеквизита>, <3начение>) – позволяет задать значение константы по имени идентификатора, как оно задано в конфигураторе Параметры: <ИмяРеквизита> – строковое выражение, содержащее имя константы, как оно задано в конфигураторе. <3начение> – выражение, содержащее устанавливаемое значение константы. Пример: Константа.УстановитьАтрибут("ФлагЗапретаРедактирования", 1); ПолучитьАтрибут(<ИмяАтрибута>) – позволяет получить значение константы по идентификатору, как оно задано в метаданных. Параметры: <ИмяАтрибута> – строковое выражение, содержащее имя константы, как оно задано в конфигураторе. Возвращаемое значение – значение константы <ИмяАтрибута>. Пример: ФлЗапрРед = Константа.ПолучитьАтрибут("ФлагЗапретаРедактирования"); Методы периодических констант Получить(<Дата>) – возвращает значение константы на определенную дату. Данный метод можно использовать только для периодических констант. Параметры: <Дата> – выражение со значением требуемой даты. Возвращаемое значение – значение константы на заданную дату. Пример: // Константа.РазмерКомпенсации – периодическая // поэтому получим значение этой константы на дату документа РазмерДК = Константа.РазмерКомпенсации.Получить(ДатаДок); Если РазмерДК <> 0 Тогда
Иначе
КонецЕсли; Установить(<Дата>, <3начение>) – устанавливает значение константы на определенную дату. Данный метод можно использовать только для периодических констант. Параметры: <Дата> – выражение со значением требуемой даты. <3начение> – новое значение константы. Пример: Константа.РасчетныйСчет.Установить('01.07.96', "77889001"); Константа.Директор.Установить('01.01.85', "Иванов П.С.") В конфигурации, созданной на прошлом занятии, создайте следующие константы:
Сохраните конфигурации и запустите 1С в режиме Предприятие. В меню Операции выберите пункт Справочники и задайте конкретные значения констант. Задание: В конфигурациях, созданных на прошлых занятиях, по теме «Работа со справочниками» для перечисленных ниже вариантов создать указанные константы и задать им указанные значения. В глобальном модуле выведите значение констант через процедуру Сообщить. Вариант 1 1) Идентификатор – ЮридическийАдрес Синоним – Адрес Комментарий – Юридический адрес Длина – 40 Опция Периодический не установлена. Устанавливаемое значение – г.Йошкар–Ола, ул.Коммунистическая, д.32. 2) Идентификатор – Владелец Синоним – Владелец Комментарий – Владелец галереи Длина – 30 Опция Периодический установлена. Устанавливаемое значение – Иванов В.В. на дату 01.10.2000, Петров А.В. на дату 01.01.2006 3) Идентификатор – НазваниеГалереи Синоним – Название Комментарий – Название галереи Длина – 40 Опция Периодический не установлена. Устанавливаемое значение – Экзерсис 4) Идентификатор – ГлБух Синоним – ГлавБух Комментарий – Главный бухгалтер Длина – 30 Опция Периодический установлена. Устанавливаемое значение – Сидорова Т.И. на дату 01.10.2000, Петрова О.В. на дату 01.01.2006 Вариант 2 1) Идентификатор – ЮридическийАдрес Синоним – Адрес Комментарий – Юридический адрес Длина – 40 Опция Периодический не установлена. Устанавливаемое значение – г.Йошкар–Ола, ул.Петрова, д.18. 2) Идентификатор – Директор Синоним – Директор Комментарий – Директор склада Длина – 30 Опция Периодический установлена. Устанавливаемое значение – Трумов В.В. на дату 12.09.1997, Щеглова А.В. на дату 24.03.2005 3) Идентификатор – НазваниеСклада Синоним – Название Комментарий – Название склада Длина – 40 Опция Периодический не установлена. Устанавливаемое значение – ОАО «Продтовары» 4) Идентификатор – ГлБух Синоним – ГлавБух Комментарий – Главный бухгалтер Длина – 30 Опция Периодический установлена. Устанавливаемое значение – Лехина Т.И. на дату 01.10.2000, Гонцова О.В. на дату 01.08.2005 Вариант 3 1) Идентификатор – ЮридическийАдрес Синоним – Адрес Комментарий – Юридический адрес Длина – 40 Опция Периодический не установлена. Устанавливаемое значение – г.Йошкар–Ола, ул. К.Маркса, д.40. 2) Идентификатор – ГенДиректор Синоним – Директор Комментарий – Генеральный директор предприятия Длина – 30 Опция Периодический установлена. Устанавливаемое значение – Москвин В.В. на дату 13.11.2002, Удавин А.В. на дату 19.01.2004 3) Идентификатор – НазваниеПредприятия Синоним – Название Комментарий – Название предприятия Длина – 40 Опция Периодический не установлена. Устанавливаемое значение – ОАО «Волгателеком ГТС» 4) Идентификатор – ГлБух Синоним – ГлавБух Комментарий – Главный бухгалтер Длина – 30 Опция Периодический установлена. Устанавливаемое значение – Мромов Т.И. на дату 24.11.2001, Петрова О.В. на дату 01.01.2006 Вариант 4 1) Идентификатор – ЮридическийАдрес Синоним – Адрес Комментарий – Юридический адрес Длина – 40 Опция Периодический не установлена. Устанавливаемое значение – г.Йошкар–Ола, ул.Волкова, д.31. 2) Идентификатор – Заведующий Синоним – Заведующий Комментарий – Заведующий библиотекой Длина – 30 Опция Периодический установлена. Устанавливаемое значение – Федотова В.В. на дату 12.10.2000, Муромов А.В. на дату 01.01.2006 3) Идентификатор – НазваниеБиблиотеки Синоним – Название Комментарий – Название библиотеки Длина – 40 Опция Периодический не установлена. Устанавливаемое значение – Национальная библиотека им.С.Г.Чавайна 4) Идентификатор – ГлБух Синоним – ГлавБух Комментарий – Главный бухгалтер Длина – 30 Опция Периодический установлена. Устанавливаемое значение – Галиева Т.В. на дату 01.12.1998, Петрова О.В. на дату 01.01.2006 Вариант 5 1) Идентификатор – ЮридическийАдрес Синоним – Адрес Комментарий – Юридический адрес Длина – 40 Опция Периодический не установлена. Устанавливаемое значение – г.Йошкар–Ола, ул.Советская, д.54. 2) Идентификатор – Директор Синоним – Директор Комментарий – Директор учреждения Длина – 30 Опция Периодический установлена. Устанавливаемое значение – Иванов В.В. на дату 01.10.2000, Петров А.В. на дату 01.01.2006 3) Идентификатор – НазваниеУчреждения Синоним – Название Комментарий – Название учреждения Длина – 40 Опция Периодический не установлена. Устанавливаемое значение – Налоговая инспекция по РМЭ 4) Идентификатор – ГлБух Синоним – ГлавБух Комментарий – Главный бухгалтер Длина – 30 Опция Периодический установлена. Устанавливаемое значение – Сидорова Т.И. на дату 01.10.2000, Петрова О.В. на дату 01.01.2006 |
Loading
|