Файл: Разработка конфигураций «Продажи» в среде 1С: Предприятие 8.3. (1. Разработка конфигурации).pdf
Добавлен: 30.06.2023
Просмотров: 107
Скачиваний: 7
Введение
1С: Предприятие — программный продукт компании «1С», предназначенный для автоматизации деятельности на предприятии.
Первоначально «1С: Предприятие» было предназначено для автоматизации бухгалтерского и управленческого учётов (включая начисление зарплаты и управление кадрами), но сегодня этот продукт находит своё применение в областях, далёких от собственно бухгалтерских задач.
С выходом платформы версии 8.3 фирма 1С начала перевод основных конфигураций на новую платформу. Новая конфигурации 1С: Бухгалтерия предприятия 3.0 (начиная с выпуска 3.0.28) работает только с платформой 8.3.
Целью данной работы является разработка конфигурации «Продажи» в среде 1С : Предприятие 8.3.
Задачи работы : разработать конфигурацию, провести разработку управляемого приложения, реализовать процесс «Продажи», произвести анализ данных в системе 1С:8.3.
Структура курсовой работы состоит из введения, двух глав, которые содержат подпункты, заключения и библиографического списка, приложения.
1 Разработка конфигурации
Работа с константами. Константы нужны для хранения одного значения в базе данных. Обычно в константах хранится редко изменяемая информация, например, название организации, фамилия руководителя, основная валюта организации, параметры конфигурации в целом и т.д.
В 1С константы выглядит следующим образом:
Рисунок 1 - окно константы
Для каждой константы нужно обязательно указать ее имя и тип данных. Кроме того, желательно указывать синоним, комментарий. Обратите внимание на свойство "Допустимая длина" для констант строкового типа. Можно задать фиксированную или переменную длину константы.
При фиксированной длине константа будет хранить заданное количество символов, а если реальное значение содержит меньше символов, то в конец строки будут добавлены пробелы до заданной длины. При переменной длине строки в базе данных хранится только реальное количество символов.
Рисунок 2 - окно свойства константы
Работа со справочниками. Справочник Контрагенты имеет иерархическую структуру с группами Поставщики и Покупатели. Он включает дополнительные реквизиты Адрес, Телефон, ЭлПочта.
Рисунок 3 - Создание справочника контрагенты
Справочник Товары: Поставщики и Покупатели. Дополнительные реквизиты: Производитель, Цена покупки, Наценка (в %), Скидка (в %), Цена продажи.
Рисунок 4 - Создание справочника товары
Цена продажи формируется при вводе элемента справочника.
Рисунок 5 - Окно модуля формы элемента
Работа с документами. Создаем 3 документа: заявка покупателя, приход товара и продажа товара.
Документ Приход товара включает дополнительные реквизиты в шапке документа: Фирма, поставщик, Комментарий; в табличной части: Наименование, количество, Цена, Сумма.
Рисунок 6 - Окно создания документа
Поле Наименование имеет кнопку выбора для выбора товара из справочника, это указывается в свойствах:
Рисунок 7 - Окно свойства Товары Наименование
Поле Количество должно иметь кнопку выбора для вызова калькулятора:
Рисунок 8 - Окно свойства Товары Количество
Значение поля Цена подставляется из справочника, и в модуле документа прописываем процедуру:
Процедура ТоварыНаименованиеПриИзменении (Элемент)
Строка=ЭлементыФормы. Товары. ТекущиеДанные;
Строка. Цена=Строка. Наименование. ЦенаПокупки;
КонецПроцедуры.
При изменении количества изменяется сумма на это число, прописываем эту процедуру в модуле документа:
Процедура ТоварыКолВоПриИзменении (Элемент)
Строка=ЭлементыФормы. Товары. ТекущиеДанные;
Строка. Сумма=Строка. КолВо*Строка. Цена;
СуммаДок=Товары. Итог ("Сумма");
КонецПроцедуры.
Под табличной частью выводится итоговая сумма по всем строкам.
Рисунок 9 - Окно документа Приход товара
В модуле также прописываем процедуру при открытии:
Процедура ПриОткрытии ()
Фирма=Константы. НаименованиеФирмы. Получить ();
КонецПроцедуры.
Формируется печатная форма документа виде в виде приходной накладной.
Процедуру прописываем в модуле:
Процедура Печать1 (Элемент)
ТабДок = Новый ТабличныйДокумент;
Макет = Документы. ПриходТовара. ПолучитьМакет ("Печать");
// Заголовок
Область = Макет. ПолучитьОбласть ("Заголовок");
Область. Параметры. Заполнить (ЭтотОбъект);
ТабДок. Вывести (Область);
// Шапка
Шапка = Макет. ПолучитьОбласть ("Шапка");
Шапка. Параметры. Заполнить (ЭтотОбъект);
ТабДок. Вывести (Шапка);
// Товары
Область = Макет. ПолучитьОбласть ("ТоварыШапка");
ТабДок. Вывести (Область);
КолВо = 0;
ОбластьТовары = Макет. ПолучитьОбласть ("Товары");
Для Каждого ТекСтрокаТовары Из Товары Цикл
ОбластьТовары. Параметры. Заполнить (ТекСтрокаТовары);
КолВо = КолВо + 1;
ТабДок. Вывести (ОбластьТовары);
КонецЦикла;
// вывод области "Всего"
Область = Макет. ПолучитьОбласть ("Всего");
Область. Параметры. ИтогСумма = Товары. Итог ("Сумма");
СуммаДок = Область. Параметры. ИтогСумма;
СуммаНДС = СуммаДок - (СуммаДок/1.18);
Область. Параметры. СуммаНДС = СуммаНДС;
Область. Параметры. Заполнить (ЭтотОбъект);
ТабДок. Вывести (Область);
// вывод области "Сумма"
Область = Макет. ПолучитьОбласть ("Сумма");
Область. Параметры. СуммаДокумента = ЧислоПрописью (СуммаДок,, "Рубль, рубля, рублей, м, копейка, копейки, копеек, ж");
Область. Параметры. КолВо = КолВо;
Область. Параметры. Заполнить (ЭтотОбъект);
ТабДок. Вывести (Область);
ТабДок. ОтображатьСетку = Ложь;
ТабДок. Защита = Ложь;
ТабДок. ТолькоПросмотр = Ложь;
ТабДок. ОтображатьЗаголовки = Ложь;
ТабДок. Показать ();
КонецПроцедуры.
Документ Заявка Покупателя включает дополнительные реквизиты в шапке документа: Фирма, Покупатель, Комментарий; в табличной части: Наименование, Количество, Цена, Сумма. Поле Наименование должно иметь кнопку выбора для выбора товара из справочника, поле Количество должно иметь кнопку выбора для вызова калькулятора. Значение поля Цена должно подставляться из справочника. Сумма в строке должна рассчитываться автоматически. Под табличной частью должна выводиться итоговая сумма по всем строкам. Должна формироваться печатная форма документа в виде Счета.
Процедура Печатъ (Элемент)
ТабДок = Новый ТабличныйДокумент;
Макет = Документы. ЗаявкиПокупателя. ПолучитьМакет ("Печать");
// Заголовок
Область = Макет. ПолучитьОбласть ("Заголовок");
ТабДок. Вывести (Область);
// Шапка
Шапка = Макет. ПолучитьОбласть ("Шапка");
Шапка. Параметры. Заполнить (ЭтотОбъект);
ТабДок. Вывести (Шапка);
// Товары
Область = Макет. ПолучитьОбласть ("ТоварыШапка");
ТабДок. Вывести (Область);
КолВо = 0;
ОбластьТовары = Макет. ПолучитьОбласть ("Товары");
Для Каждого ТекСтрокаТовары Из Товары Цикл
ОбластьТовары. Параметры. Заполнить (ТекСтрокаТовары);
КолВо = КолВо + 1;
ТабДок. Вывести (ОбластьТовары);
КонецЦикла;
// вывод области "Всего"
Область = Макет. ПолучитьОбласть ("Всего");
Область. Параметры. ИтогСумма = Товары. Итог ("Сумма");
СуммаДок = Область. Параметры. ИтогСумма;
СуммаНДС = СуммаДок - (СуммаДок/1.18);
Область. Параметры. СуммаНДС = СуммаНДС;
Область. Параметры. Заполнить (ЭтотОбъект);
ТабДок. Вывести (Область);
// вывод области "Сумма"
Область = Макет. ПолучитьОбласть ("Сумма");
Область. Параметры. СуммаДокумента = ЧислоПрописью (СуммаДок,, "Рубль, рубля, рублей, м, копейка, копейки, копеек, ж");
Область. Параметры. КолВо = КолВо;
Область. Параметры. Заполнить (ЭтотОбъект);
ТабДок. Вывести (Область);
ТабДок. ОтображатьСетку = Ложь;
ТабДок. Защита = Ложь;
ТабДок. ТолькоПросмотр = Ложь;
ТабДок. ОтображатьЗаголовки = Ложь;
ТабДок. Показать ();
КонецПроцедуры.
Документ Продажа товара включает дополнительные реквизиты в шапке документа: Фирма, Покупатель, Комментарий; в табличной части: Наименование, Количество, Цена, Сумма. Поле Наименование должно иметь кнопку выбора для выбора товара из справочника, поле Количество должно иметь кнопку выбора для вызова калькулятора. Значение поля Цена должно подставляться из справочника. Сумма в строке должна рассчитываться автоматически. Под табличной частью должна выводиться итоговая сумма по всем строкам. Должна формироваться печатная форма документа в виде расходной накладной. В печатных формах всех документов рассчитывается и указывается сумма НДС, общее количество наименований товара и сумма прописью. Документы должны иметь возможность записи без проведения и с проведением.
Текст процедур прописываем в модуле документа:
Процедура ТоварыНаименованиеПриИзменении (Элемент)
Строка=ЭлементыФормы. Товары. ТекущиеДанные;
Строка. Цена=Строка. Наименование. ЦенаПокупки;
КонецПроцедуры.
Процедура ТоварыКолВоПриИзменении (Элемент)
Строка=ЭлементыФормы. Товары. ТекущиеДанные;
Строка. Сумма=Строка. КолВо*Строка. Цена;
СуммаДок=Товары. Итог ("Сумма");
КонецПроцедуры
Процедура ПриОткрытии ()
Фирма=Константы. НаименованиеФирмы. Получить ();
КонецПроцедуры
Процедура Печать (Элемент)
ТабДок = Новый ТабличныйДокумент;
Макет = Документы. ПродажаТовара. ПолучитьМакет ("Печать");
// Заголовок
Область = Макет. ПолучитьОбласть ("Заголовок");
Область. Параметры. Заполнить (ЭтотОбъект);
ТабДок. Вывести (Область);
// Шапка
Шапка = Макет. ПолучитьОбласть ("Шапка");
Шапка. Параметры. Заполнить (ЭтотОбъект);
ТабДок. Вывести (Шапка);
// Товары
Область = Макет. ПолучитьОбласть ("ТоварыШапка");
ТабДок. Вывести (Область);
КолВо = 0;
ОбластьТовары = Макет. ПолучитьОбласть ("Товары");
Для Каждого ТекСтрокаТовары Из Товары Цикл
ОбластьТовары. Параметры. Заполнить (ТекСтрокаТовары);
КолВо = КолВо + 1;
ТабДок. Вывести (ОбластьТовары);
КонецЦикла;
// вывод области "Всего"
Область = Макет. ПолучитьОбласть ("Всего");
Область. Параметры. ИтогСумма = Товары. Итог ("Сумма");
СуммаДок = Область. Параметры. ИтогСумма;
СуммаНДС = СуммаДок - (СуммаДок/1.18);
Область. Параметры. СуммаНДС = СуммаНДС;
Область. Параметры. Заполнить (ЭтотОбъект);
ТабДок. Вывести (Область);
// вывод области "Сумма"
Область = Макет. ПолучитьОбласть ("Сумма");
Область. Параметры. СуммаДокумента = ЧислоПрописью (СуммаДок,, "Рубль, рубля, рублей, м, копейка, копейки, копеек, ж");
Область. Параметры. КолВо = КолВо;
Область. Параметры. Заполнить (ЭтотОбъект);
ТабДок. Вывести (Область);
ТабДок. ОтображатьСетку = Ложь;
ТабДок. Защита = Ложь;
ТабДок. ТолькоПросмотр = Ложь;
ТабДок. ОтображатьЗаголовки = Ложь;
ТабДок. Показать ();
КонецПроцедуры
Печатная форма в виде расходной накладной.
Документ Продажа товара формируется на основании документа Заявка покупателя. Процедура прописывается в модуле объекта документа Продажа и строится с помощью конструктора:
Процедура Обработка Заполнения (ДанныеЗаполнения, СтандартнаяОбработка)
Если ТипЗнч (ДанныеЗаполнения) = Тип ("ДокументСсылка. ЗаявкиПокупателя") Тогда
// Заполнение шапки
Покупатель = ДанныеЗаполнения. Покупатель;
СуммаДок = ДанныеЗаполнения. СуммаДок;
Фирма = ДанныеЗаполнения. Фирма;
Для Каждого ТекСтрокаТовары Из ДанныеЗаполнения. Товары Цикл
НоваяСтрока = Товары. Добавить ();
НоваяСтрока. КолВо = ТекСтрокаТовары. КолВо;
НоваяСтрока. Наименование = ТекСтрокаТовары. Наименование;
НоваяСтрока. Сумма = ТекСтрокаТовары. Сумма;
НоваяСтрока. Цена = ТекСтрокаТовары. Цена; КонецЦикла;
КонецЕсли;
КонецПроцедуры.
Для того чтобы документ имел возможность записи с проведением, нам необходимо создать регистр накопления ОстаткиТовара, который имеет измерения Товары и Контрагент, ресурсы - сумма и количество. Процедура проведения описывается в модуле объекта каждого из документов.
Документ ПриходТовара: