Автоматический пересчет суммы в строках документа



Лабораторная работа №4.

Работа с объектом документ системы 1С: Предприятие 8.2

Цель работы: работа с объектом документ, создание нескольких документов и последовательности действий.

Оборудование: ПК

Программное обеспечение: Браузер Google Chrome. Онлайн версия1С: Предприятие 8.2

Теоретические сведения:

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

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

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

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

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

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

Например, после создания объекта Справочник Склады, сразу же появились новые типы данных, связанные с этим справочником. Среди них СправочникСсылкаСклады. Если мы укажем какому-либо реквизиту этот тип данных, то сможем хранить в нем ссылку на конкретный объект справочника Склады.

Ход работы:

Документ «Приходная накладная»

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

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

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

Откройте конфигуратор и добавьте новый объект – Документ. Задайте имя – ПриходнаяНакладная. Представление объекта не задаѐм, Представление списка задайте Приходные накладные. Перейдите на вкладку Подсистемы и отметьте УчетМатериалов и Бухгалтерия. Перейдите на вкладку Данные и создайте реквизит документа с именем Склад с помощью кнопки Добавить. Выберите для реквизита ссылочный тип данных СправочникСсылка.Склады. Этот тип стал доступен в конфигурации после создания справочника Склады.

Работа в нашей фирме организована так, что почти всегда поступающие товары идут на основной склад, поэтому установим для созданного реквизита свойство автозаполнения. В свойствах реквизита найдите Значение заполнения и выберите в нем Основной. Таким образом, при создании нового документа склад будет сразу заполняться значением Основной и пользователю не придется делать это вручную, что удобно.

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

Создайте реквизиты табличной части Материалы:

· Материал, тип СправочникСсылка.Номенклатура;

· Количество, тип Число, длина 15, точность 2 знака после запятой, неотрицательное;

· Цена, тип Число, длина 15, точность 2, неотрицательное;

· Сумма, тип Число, длина 15, точность 2, неотрицательное.

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

Закройте окно свойств справочника.

Отредактируем командный интерфейс, чтобы в подсистеме УчетМатериалов была доступна команда создания новых документов. Выделите ветвь Подсистемы, вызовите контекстное меню – Все подсистемы. В группе Панель действий. Создать включите видимость у команды Приходная накладная: создать.

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

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

Пока в нашей базе данных нет ни одного документа Приходная накладная, поэтому выполните команду Приходная накладная в панели действий раздела Учет материалов и создайте новую приходную накладную. Перед Вами откроется основная форма документа. Заголовок этой формы совпадает с синонимом документа.

Система автоматически подставит текущую дату создания документа и нулевое время, т.к. документ еще не проведѐн. Поле Номер не заполнено, но система сама его сгенерирует, т.к. свойство Автонумерация (на вкладке Нумерация в свойствах документа) включено по умолчанию. Обратите внимание, что поле Склад уже заполнено значением Основной, как мы и задавали в свойствах реквизита. Заполните табличную часть приходной накладной материалами для ремонта телевизоров как показано на рисунке. При нажатии кнопки выбора в поле Материал открывается форма для выбора элементов справочника Номенклатура, т.к. этот реквизит имеет ссылочный тип данных и ссылается на справочник Номенклатура. Также можно начать набирать название материала в поле Материал и система выдаст всплывающий список подходящих под описание материалов. После заполнения нажмите Провести и закрыть.

Документ будет сохранен и проведен, ему будет присвоен автоматически сгенерированный номер и текущее время проведения документа.

Аналогичным способом создайте второй документ, который будет приходовать на Основной склад материалы для установки стиральных машин.

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

Зеленая галочка около документа означает, что он проведен.

Автоматический пересчет суммы в строках документа

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

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

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

Откроется конструктор форм. Там ничего не меняете и сразу нажмите Готово. Откроется окно редактора форм.

Разработчик не может нарисовать форму, а только может указать из каких элементов будет состоять форма.

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

Обработчик события

У системы существуют события, которые связаны с различными моментами еѐ функционирования. В том числе, связанные с функционированием форм и элементов в формах.

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

Дважды щелкните на элементе формы МатериалыКоличество (или контекстное меню – Свойства). Справа возникнет окно свойств, прокрутите его до конца вниз, найдите поле ПриИзменении и нажмите на значок лупы рядом с ним.

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

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

СтрокаТабличнойЧасти.Сумма = СтрокаТабличнойЧасти.Количество * СтрокаТабличнойЧасти.Цена;

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


Дата добавления: 2021-03-18; просмотров: 179; Мы поможем в написании вашей работы!

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






Мы поможем в написании ваших работ!