Файл: Знакомство с платформой 1С: Предприятие 8.3.pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 31.03.2023

Просмотров: 881

Скачиваний: 13

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Создадим перечисление с именем «Категории». В качестве значений примем:

  • МягкаяМебель
  • Кухни
  • Прихожие
  • Стенки
  • Спальни

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

Рис. 43. Перечисление «Категории»

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

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

Рис. 44. Обновленная форма списка справочника «Товары»

Документы

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

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

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


  • Дата (с точностью до секунды)
  • Номер

Учёт поступлений товаров

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

В качестве имени создаваемого объекта конфигурации укажем «ПоступлениеТоваров» (рис. 45). Информационная структура, создаваемая системой на основании данного объекта конфигурации, будет фиксировать факт поступления товаров от одной из наших фирм-партнеров.

Рис. 45. Вкладка «Основные» окна редактирования документа «ПоступлениеТоваров»

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

Рис. 46. Вкладка «Данные» окна редактирования документа «ПоступлениеТоваров»

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

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

В разрабатываемом документе «ПоступлениеТоваров» создадим табличную часть, которую назовем «ПереченьТоваров», а уже в ней разместим набор реквизитов:

  • Товар (тип данных – СправочникСсылка.Товары)
  • Цена (тип данных - число)
  • Количество (тип данных - число)
  • Сумма (тип данных - число)

Форма документа

В окне редактирования объекта конфигурации перейдем на вкладку «Формы» и приступим к созданию формы документа (рис. 47).

Рис. 47. Вкладка «Формы» окна редактирования документа «ПоступлениеТоваров»


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

Для разработке формы требуется щелкнуть на значке лупы в поле «Документа» раздела «Формы» (см. рис. 47) и воспользоваться конструктором формы документа. В первом появившемся окне диалога следует установить параметры в соответствии с рис. 48 (реально они должны быть установлены системой по умолчанию).

Рис. 48. Окно конструктора формы документа

После щелчка на кнопке Далее появляется окно конструктора, в котором требуется установить флажки для отображения на форме всех ранее созданных реквизитов документа (рис. 49).

Рис. 49. Включение реквизитов в форму документа «ПоступлениеТоваров»

Работа в режиме диалога с конструктором формы документа завершается щелчком по кнопке Готово, что приводит к появлению на экране окна редактора форм с формой нашего документа (рис. 50).

Рис. 50. Окно формы документа «ПоступлениеТоваров» в редакторе форм

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

В режиме 1С: Предприятие заполняются документы созданного вида. Один из вариантов заполненного документа «ПоступлениеТоваров» показан на рис. 51.

Рис. 51. Заполнение документа «ПоступлениеТоваров» (исправить)

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

Программирование формы документа

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

Для начала в окне редактирования формы документа необходимо двойным щелчком на пункте ПереченьТоваровКоличество открыть окно свойств этого поля (рис. 52).


Рис. 52. Окно свойств поля ПереченьТоваровКоличество формы документа

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

Рис. 53. Раздел окна свойств для обработки событий в поле ПереченьТоваровКоличество

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

Рис. 54. Окно для создания обработчика событий

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

Рис. 55. Заготовка процедуры обработки события ПриИзменении

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

  • НаКлиените
  • НаСервере
  • НаСервереБезКонтекста
  • НаКлиентеНаСервереБезКонтекста

Отсутствие директивы компиляции перед процедурой означает использование директивы, предлагаемой по умолчанию, каковой является директива НаСервере (более подробно это будет рассмотренно в 5 главе).

Листинг 1.1. Процедура для расчета суммы при вводе количества товаров

&НаКлиенте

Процедура ПереченьТоваровКоличествоПриИзменении(Элемент) \\ Начало процедуры

СтрТабЧасти=Элементы.ПереченьТоваров.ТекущиеДанные; СтрТабЧасти.Сумма=СтрТабЧасти.Цена*СтрТабЧасти.Количество;


КонецПроцедуры \\ Конец процедуры

СтрТабЧасти=Элементы.ПереченьТоваров.ТекущиеДанные;

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

В результате пользователь в режиме 1С:Предприятие после последовательного внесения в табличную часть документа цены товара и необходимого количества получает автоматическое заполнение поля Сумма (рис. 56).

Рис. 56. Автоматическое заполнение поля Сумма при вводе количества товаров

Обеспечим аналогичное автоматическое вычисление суммы после внесения цены товара. Для этого нужно открыть в редакторе формы окно свойств ПереченьТоваровЦена. Далее в этом окне следует перейти к разделу События, где для события ПриИзменении щелкнуть на значке лупы. В результате проделанных действий откроется окно программного кода процедуры, которая автоматически выполняется при внесении (изменении) цены в табличной части документа. Непосредственно сам текст процедуры, которую необходимо написать для решения поставленной задачи, приведен в листинге 1.2. Данный текст аналогичен предыдущей процедуре (см. листинг 1.1) и не требует комментария.

Листинг 1.2. Процедура расчета суммы при вводе цены товаров

&НаКлиенте

Процедура ПереченьТоваровЦенаПриИзменении(Элемент)

СтрТабЧасти=Элементы.ПереченьТоваров.ТекущиеДанные; СтрТабЧасти.Сумма=СтрТабЧасти.Цена*СтрТабЧасти.Количество;

КонецПроцедуры

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

Печатная форма документа

Практически всегда кроме электронных форм документов пользователям в процессе работы требуются и их печатные варианты. Автоматизируем процесс создания печатных форм для объектов системы 1С: Предприятие 8.3.