Лабораторная работа № 14 РАЗРАБОТКА КОНФИГУРАЦИИ ДЛЯ УЧЕТА ПРОДАЖ ТОВАРОВ С СОПУТСТВУЮЩИМИ УСЛУГАМИ ПОКУПАТЕЛЯМ
Сложность: ** Теги: справочник, документ, функциональная опция, схема компоновки данных ЗАДАНИЕ Заказчик просит разработать конфигурацию для учета продаж товаров с сопутствующими услугами покупателям. Необходимо предусмотреть опциональную возможность использования различных валют. При многовалютном учете пользователь системы при оформлении продажи должен обязательно указать валюту. Итоговая стоимость заказа должна формироваться автоматически. Следует построить Отчет по продажам с возможностью выбора нужной валюты. Форма отчета:
Отчет выводит информацию по выбранной валюте, а также подводит общий итог.
Выполнение
Из условия следует, что необходимо хранить информацию о покупателях, товарах и услугах, а также валютах. Для решения этой задачи нам понадобятся справочники.
Определение Справочник – это объект конфигурации, который хранит справочную информацию, например, перечень товаров или список сотрудников (более подробно про справочники можно прочитать здесь: https://v8.1c.ru/platforma/spravochniki/). Создадим справочник «Номенклатура».
Перейдем на вкладку «Данные» и добавим реквизит «ЭтоУслуга», тип – «Булево». Данный реквизит необходим для того, чтобы отличать товары от услуг в справочнике.
Создадим справочник «Контрагенты».
Создадим справочник «Валюты».
Обязательной валютой в данной информационной системе является рубль. Создадим предопределенный элемент.
Определение Предопределенные элементы – это такие элементы, которые создает разработчик в конфигураторе для удобства работы пользователя. Созданный таким образом элемент будет доступен пользователю с первого запуска программы. Для создания такого элемента перейдем на вкладку «Прочее» и откроем список предопределенных элементов справочника.
Откроем программу в режиме «1С:Предприятие» и добавим в каждый справочник несколько элементов.
Обратите внимание, что поля «Код» и «Наименование» система сгенерировала самостоятельно при добавлении нового справочника. Эти поля являются стандартными реквизитами. Стандартные реквизиты платформа создает автоматически, исходя из свойств конкретного объекта конфигурации. Поле «Код» заполнять не нужно, система сделает это автоматически. Поле «Наименование» является обязательным для заполнения.
Аналогично добавим элементы в справочники «Номенклатура» и «Валюты».
Заметим, что предопределенные элементы в справочнике отмечены желтым маркером.
«Заказчик просит разработать конфигурацию для учета продаж товаров с сопутствующими услугами покупателям». Для регистрации продаж следует воспользоваться объектом конфигурации документ.
Определение Документ – это объект конфигурации, хранящий информацию о каких-либо событиях, произошедших в «жизни» предприятия. Например, с помощью документа можно зарегистрировать (то есть сохранить данные документа для последующей обработки) продажу товаров или начисление зарплаты (подробнее про документы можно прочитать здесь: https://v8.1c.ru/platforma/dokumenty/). Добавим новый документ «Продажи».
Для настройки структуры документа переходим на вкладку «Данные»
«При многовалютном учете пользователь системы при оформлении продажи должен обязательно указать валюту. Итоговая стоимость заказа должна формироваться автоматически». Из условия следует, что при продаже обязательно нужно указывать покупателя и валюту. Также будем хранить и итоговую стоимость.
Добавим реквизит «Покупатель», тип – «СправочникСсылка.Контрагенты».
Далее добавим реквизит «Валюта».
Пользователь может не использовать возможность ведения учета в различных валютах. В этом случае поле «Валюта» у него будет отсутствовать (этот функционал мы реализуем далее), но системе необходимо понимать, к чему привязана итоговая стоимость: к рублям или, например, долларам.
Поэтому установим значения заполнения по умолчанию на вкладке «Представление».
Таким образом, у пользователя по умолчанию будет указана валюта «Рубль», причем пользователь об этом может даже и не знать.
Последним реквизитом в шапку документа добавим «ВсегоКОплате».
Чтобы регистрировать продажу товаров и услуг в одном документе, необходимо добавить две табличные части.
Сначала добавим табличную часть «СписокТоваров».
Добавим реквизит табличной части (колонку) «Товар».
Поскольку мы ссылаемся на общий справочник номенклатура, то нам нужно на вкладке «Представление» настроить отбор только по тем элементам, у которых значение реквизита «ЭтоУслуга» установлено в положение «Ложь». Таким образом, пользователь будет в списке выбора видеть только товары.
Поскольку в справочнике «Номенклатура» мы указывали для этого реквизита тип «Булево», то в значении параметра нужно указать именно его.
Для товаров значение «ЭтоУслуга» будет установлено в положении «Ложь».
Далее добавим реквизит табличной части «Сумма».
Табличная часть «СписокУслуг» структурно будет совпадать с уже созданной табличной частью «СписокТоваров». Для увеличения скорости разработки скопируем существующую табличную часть и несколько изменим ее.
Во-первых, изменим свойство «Имя» у скопированной табличной части. Назовите табличную часть «СписокУслуг».
Во-вторых, изменим свойство «Имя» у реквизита табличной части «Товар». Поскольку данная табличная часть будет хранить перечень услуг, то и реквизиту нужно дать имя «Услуга».
В-третьих, на вкладке «Представление» изменим параметры выбора: для услуг значение типа «Булево» будет в положении «Истина».
Чтобы итоговая стоимость формировалась автоматически, нужно описать событие в модуле объекта документа «Продажи».
Для этого перейдем на вкладку «Прочее» и откроем «Модуль объекта».
Перед нами откроется модуль объекта, в котором нужно определить событие, при наступлении которого будет происходить описываемый алгоритм. Нам понадобится системное событие, вызовем его через главное меню «Текст» ? «Процедуры и функции».
В открывшемся окне выберем «ПередЗаписью».
В модуле объекта сформируется обработчик события.
Далее нам нужно описать подсчет итоговой суммы как итог по товарам и услугам.