Студопедия

КАТЕГОРИИ:


Архитектура-(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)

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




Типы данных. Типообразующие объекты конфигурации

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


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


  • В режиме конфигуратор:

Откроем конфигуратор и добавим новый объект конфигурации Документ.
- На закладке Основные: зададим имя документа - ПриходнаяНакладная. На основании имени платформа автоматически заполнит его синоним. Так же зададим Представление списка, как Приходные накладные.
- На закладке Подсистемы: список приходных накладных должен быть доступен в разделах Учет материалов и Бухгалтерия.
- На закладке Данные: создадим реквизит документа с именем Склад (нажать на «+»); далее выберем для реквизита ссылочный тип данных СправочникСсыл­ка. Склады. Этот тип стал доступен в конфигурации после создания объекта конфигурации Справочник Склады. В качестве значения свойства Значение заполнения выберем предопределенный элемент справочника Склады - Основной.

Рис. 4.1. Справочник Склады

После этого добавим в документ табличную часть с именем Материалы. Для этого нажмем кнопку Добавить табличную часть над списком табличных частей документа. Кроме имени табличной части установим свойство Проверка запол­нения в значение Выдавать

Рис. 4.2. Свойства: Материалы

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

  • Материал, тип СправочникСсылка. Номенклатура;
  • Количество, тип Число, длина 15, точность 3, неотрицательное;
  • Цена, тип Число, длина 15, точность 2, неотрицательное;
  • Сумма, тип Число, длина 15, точность 2, неотрицательное.

Для каждого реквизита табличной части также установим свойство Проверка заполнения в значение Выдавать ошибку.
- На закладке Нумерация: убедимся, что свойство Авто-нумерация включено.
- В дереве объектов конфигурации выделим ветвь Под­системы, вызовем ее контекстное меню и выберем пункт Все подсис­темы. В открывшемся окне в списке Подсистемы выделим подсистему УчетМатериалов: включим видимость у команды Приходная накладная: создать, в группе Панель действий.Создать.

  • В режиме 1С:Предприятие

Запустим 1С:Предприятие в режиме отладки и протестируем полу­чившийся документ. В открывшемся окне 1С:Предприятия мы видим, что в панели навигации разделов Бухгалтерия и Учет материалов появилась команда Приходные накладные для открытия списка приходных накладных.

Рис. 4.3. В режиме 1С:Предприятие

Пока в БД нет ни одного документа Приходная накладная, поэтому выполним команду Приходная накладная в панели действий раздела Учет материалов и создадим новую приходную накладную.
Система автоматически подставит текущую дату создания документа и нулевое время, так как документ еще не проведен. В качестве времени документа при оперативном проведении ему присваивается оперативная отметка времени.
Поле Номер не заполнено, но система сама сгенерирует для нового документа уникальный номер, так как свойство Автонумерация для документа включено по умолчанию. Новый номер будет сохранен в момент записи документа. Осталось только заполнить табличную часть приходной накладной материалами (добавьте3 любых записи в накладную). Так же система может вводить данные с клавиатуры и предлагать вам материалы по совпадающим буквам (создайте еще одну накладную таким образом) После чего нажмем Провести и закрыть.
Документ будет сохранен и проведен, ему будет присвоен автомати­чески сгенерированный системой номер и текущее время проведения документа.

Рис. 4.4. Приходные накладные


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

  • В режиме конфигуратор:

Откроем окно редактирования объекта конфигурации Документ ПриходнаяНакладная, далее пройдем на вкладку Формы: чтобы создать форму документа, нажмем кнопку открытия со значком лупы в поле ввода или кнопку Добавить над списком форм. Система вызовет полезный инструмент разработчика - конструктор форм, в нем выберем тип формы Форма документа и нажмем кнопку Готово. Обращаем внимание, что в дереве объектов конфигурации у объекта конфигурации Документ ПриходнаяНакладнаяпоявилась форма ФормаДокумента, а на экране открылось окно редактора форм, содержащее эту форму. Разработчик может через палитру свойств изменить свойства элемента, которые повлияют на его отображение в форме. Он может также изменить структуру элементов формы - создать новое поле, группу полей, добавить табличную часть, связав эти элементы с данными формы. Используя встроенный язык, разработчик может «вклиниться» в эти события и описать собственный алгоритм того, что должно происхо­дить при наступлении этого события.
- Дважды щелкнем на элементе формы Материалы Количествоили правой кнопкой мыши откроем для него палитру свойств: прокрутив список до конца, мы увидим перечень событий, которые могут быть связаны с этим полем. Найдем в списке событий событие ПриИзменении, и нажмем на кнопку открытия (значок лупы), система создаст шаблон процедуры обработчика этого события в модуле нашей формы и откроет закладку Модуль редактора формы.

Листинг 4.1. Форма документа

 

Модуль - это «хранилище» для текста программы на встроенном языке. В модуль формы, в процедуру МатериалыКоличествоПриИзменении(), добавим следующий текст:
СтрокаТабличнойЧасти = Элементы.Материалы.ТекущиеДанные;
СтрокаТабличнойЧасти.Сумма = СтрокаТабличнойЧасти.Количество*СтрокаТабличнойЧасти.Цена;
Таким образом, в результате выполнения первой строки процедуры обработчика переменная СтрокаТабличнойЧасти будет содержать объект ДанныеФормыСтруктура. Этот объект содержит данные, находящиеся в текущей строке табличной части документа (Элементы.Материалы.ТекущиеДанные). Получив этот объект, мы можем обратиться к данным конк­ретной колонки табличной части, указав имя колонки в качестве свойства объекта.




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


Дата добавления: 2015-04-24; Просмотров: 786; Нарушение авторских прав?; Мы поможем в написании вашей работы!


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



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




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