Файл: Информационные технологии и платформы разработки информационных систем(Создание констант).pdf

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

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

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

Добавлен: 15.05.2023

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

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

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

Процедура печати:

Процедура Печатъ (Элемент)

ТабДок = Новый ТабличныйДокумент;

Макет = Документы. ЗаявкиПокупателя. ПолучитьМакет ("Печать");

// Заголовок

Область = Макет. ПолучитьОбласть ("Заголовок");

ТабДок. Вывести (Область);

// Шапка

Шапка = Макет. ПолучитьОбласть ("Шапка");

Шапка. Параметры. Заполнить (ЭтотОбъект);

ТабДок. Вывести (Шапка);

// Товары

Область = Макет. ПолучитьОбласть ("ТоварыШапка");

ТабДок. Вывести (Область);

КолВо = 0;

ОбластьТовары = Макет. ПолучитьОбласть ("Товары");

Для Каждого ТекСтрокаТовары Из Товары Цикл

ОбластьТовары. Параметры. Заполнить (ТекСтрокаТовары);

КолВо = КолВо + 1;

ТабДок. Вывести (ОбластьТовары);

КонецЦикла;

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

Документ «Приход товара» включает дополнительные реквизиты:

- в шапке документа: «Фирма», «Поставщик», «Комментарий»;

- в табличной части: «Наименование», «Количество», «Цена», «Сумма».

Поле «Наименование» должно иметь кнопку выбора для выбора товара из справочника.

Поле «Количество» должно иметь кнопку выбора для вызова калькулятора.

Значение поля «Цена» должно подставляться из справочника, а в модуле объекта пишем:

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

Строка=ЭлементыФормы. Товары. ТекущиеДанные;

Строка. Цена=Строка. Наименование. ЦенаПокупки;

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

При изменении количества изменяется сумма на это число, прописываем эту процедуру в модуле документа:

Процедура ТоварыКолВоПриИзменении (Элемент)

Строка=ЭлементыФормы. Товары. ТекущиеДанные;

Строка. Сумма=Строка. КолВо*Строка. Цена;

СуммаДок=Товары. Итог ("Сумма");

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

Под табличной частью выводится итоговая сумма по всем строкам.

И прописываем процедуру при открытии:

Процедура ПриОткрытии ()

Фирма=Константы. НаименованиеФирмы. Получить ();

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

Теперь пропишу модуль объекта для того, чтобы документ можно было сразу вывести на печать.

Процедура печати:

Процедура Печать1 (Элемент)

ТабДок = Новый ТабличныйДокумент;

Макет = Документы. ПриходТовара. ПолучитьМакет ("Печать");


// Заголовок

Область = Макет. ПолучитьОбласть ("Заголовок");

Область. Параметры. Заполнить (ЭтотОбъект);

ТабДок. Вывести (Область);

// Шапка

Шапка = Макет. ПолучитьОбласть ("Шапка");

Шапка. Параметры. Заполнить (ЭтотОбъект);

ТабДок. Вывести (Шапка);

// Товары

Область = Макет. ПолучитьОбласть ("ТоварыШапка");

ТабДок. Вывести (Область);

КолВо = 0;

ОбластьТовары = Макет. ПолучитьОбласть ("Товары");

Для Каждого ТекСтрокаТовары Из Товары Цикл

ОбластьТовары. Параметры. Заполнить (ТекСтрокаТовары);

КолВо = КолВо + 1;

ТабДок. Вывести (ОбластьТовары);

КонецЦикла;

// вывод области "Всего"

Область = Макет. ПолучитьОбласть ("Всего");

Область. Параметры. ИтогСумма = Товары. Итог ("Сумма");

СуммаДок = Область. Параметры. ИтогСумма;

СуммаНДС = СуммаДок - (СуммаДок/1.18);

Область. Параметры. СуммаНДС = СуммаНДС;

Область. Параметры. Заполнить (ЭтотОбъект);

ТабДок. Вывести (Область);

// вывод области "Сумма"

Область = Макет. ПолучитьОбласть ("Сумма");

Область. Параметры. СуммаДокумента = ЧислоПрописью (СуммаДок,, "Рубль, рубля, рублей, м, копейка, копейки, копеек, ж");

Область. Параметры. КолВо = КолВо;

Область. Параметры. Заполнить (ЭтотОбъект);

ТабДок. Вывести (Область);

ТабДок. ОтображатьСетку = Ложь;

ТабДок. Защита = Ложь;

ТабДок. ТолькоПросмотр = Ложь;

ТабДок. ОтображатьЗаголовки = Ложь;

ТабДок. Показать ();

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

3.3 Документ «Продажа товара»

Документ «Продажа товара» включает дополнительные реквизиты

- в шапке документа: «Фирма», «Покупатель», «Скидка», «Комментарий»;

- в табличной части: «Наименование», «Кол-во», «Цена», «Сумма».

Поле «Наименование» и «Количество» настраиваем также, как и дл предыдущих документов.

Значение поля «Цена» должно рассчитываться как «Цена покупки+Наценка–Скидка». Сумма в строке должна рассчитываться автоматически. Под табличной частью должна выводиться итоговая сумма по всем строкам. Если сумма по накладной превышает значение «Объем закупки» из справочника «Скидка», то данному покупателю дается скидка на уровне «Уровень скидки» и записывается в справочник контрагентов. И формируется печатная форма документа в виде расходной накладной. В печатных формах документов рассчитывается и указывается сумма НДС. Документ «Продажа товара» должен формироваться на основании документа «Заявка покупателя».


Процедура для модуля объектов:

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

Строка=ЭлементыФормы. Товары. ТекущиеДанные;

Строка. Цена=Строка. Наименование. ЦенаПокупки;

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

Процедура ТоварыКолВоПриИзменении (Элемент)

Строка=ЭлементыФормы. Товары. ТекущиеДанные;

Строка. Сумма=Строка. КолВо*Строка. Цена;

СуммаДок=Товары. Итог ("Сумма");

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

Процедура ПриОткрытии ()

Фирма=Константы. НаименованиеФирмы. Получить ();

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

Процедура Печать (Элемент)

ТабДок = Новый ТабличныйДокумент;

Макет = Документы. ПродажаТовара. ПолучитьМакет ("Печать");

// Заголовок

Область = Макет. ПолучитьОбласть ("Заголовок");

Область. Параметры. Заполнить (ЭтотОбъект);

ТабДок. Вывести (Область);

// Шапка

Шапка = Макет. ПолучитьОбласть ("Шапка");

Шапка. Параметры. Заполнить (ЭтотОбъект);

ТабДок. Вывести (Шапка);

// Товары

Область = Макет. ПолучитьОбласть ("ТоварыШапка");

ТабДок. Вывести (Область);

КолВо = 0;

ОбластьТовары = Макет. ПолучитьОбласть ("Товары");

Для Каждого ТекСтрокаТовары Из Товары Цикл

ОбластьТовары. Параметры. Заполнить (ТекСтрокаТовары);

КолВо = КолВо + 1;

ТабДок. Вывести (ОбластьТовары);

КонецЦикла;

// вывод области "Всего"

Область = Макет. ПолучитьОбласть ("Всего");

Область. Параметры. ИтогСумма = Товары. Итог ("Сумма");

СуммаДок = Область. Параметры. ИтогСумма;

СуммаНДС = СуммаДок - (СуммаДок/1.18);

Область. Параметры. СуммаНДС = СуммаНДС;

Область. Параметры. Заполнить (ЭтотОбъект);

ТабДок. Вывести (Область);

// вывод области "Сумма"

Область = Макет. ПолучитьОбласть ("Сумма");

Область. Параметры. СуммаДокумента = ЧислоПрописью (СуммаДок,, "Рубль, рубля, рублей, м, копейка, копейки, копеек, ж");

Область. Параметры. КолВо = КолВо;

Область. Параметры. Заполнить (ЭтотОбъект);

ТабДок. Вывести (Область);

ТабДок. ОтображатьСетку = Ложь;

ТабДок. Защита = Ложь;

ТабДок. ТолькоПросмотр = Ложь;

ТабДок. ОтображатьЗаголовки = Ложь;

ТабДок. Показать ();

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

Процедура для модуля объекта, которая позволяет документу «Продажа товара» формироваться на основании другого документа, в моем случае это документ «Заявка покупателя»:


Процедура ОбработкаЗаполнения (ДанныеЗаполнения, СтандартнаяОбработка)

Если ТипЗнч (ДанныеЗаполнения) = Тип ("ДокументСсылка. ЗаявкиПокупателя") Тогда

// Заполнение шапки

Покупатель = ДанныеЗаполнения. Покупатель;

СуммаДок = ДанныеЗаполнения. СуммаДок;

Фирма = ДанныеЗаполнения. Фирма;

Для Каждого ТекСтрокаТовары Из ДанныеЗаполнения. Товары Цикл

НоваяСтрока = Товары. Добавить ();

НоваяСтрока. КолВо = ТекСтрокаТовары. КолВо;

НоваяСтрока. Наименование = ТекСтрокаТовары. Наименование;

НоваяСтрока. Сумма = ТекСтрокаТовары. Сумма;

НоваяСтрока. Цена = ТекСтрокаТовары. Цена; КонецЦикла;

КонецЕсли;

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

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

Процедура проведения:

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

Процедура ОбработкаПроведения (Отказ, Режим)

// регистр ОстаткиТовара Приход

Движения. ОстаткиТовара. Записывать = Истина;

Движения. ОстаткиТовара. Очистить ();

Для Каждого ТекСтрокаТовары Из Товары Цикл

Движение = Движения. ОстаткиТовара. Добавить ();

Движение. ВидДвижения = ВидДвиженияНакопления. Приход;

Движение. Период = Дата;

Движение. Товары = ТекСтрокаТовары. Наименование;

Движение. Контрагент = Поставщик;

Движение. Сумма = ТекСтрокаТовары. Сумма;

Движение. КолВо = ТекСтрокаТовары. КолВо;

КонецЦикла;

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

Для документа «Заявка покупателя»:

Процедура ОбработкаПроведения (Отказ, Режим)

// регистр ОстаткиТовара Приход

Движения. ОстаткиТовара. Записывать = Истина;

Движения. ОстаткиТовара. Очистить ();

Для Каждого ТекСтрокаТовары Из Товары Цикл

Движение = Движения. ОстаткиТовара. Добавить ();

Движение. ВидДвижения = ВидДвиженияНакопления. Приход;

Движение. Период = Дата;

Движение. Контрагент = Покупатель;

Движение. Товары = ТекСтрокаТовары. Наименование;

Движение. Сумма = ТекСтрокаТовары. Сумма;

Движение. КолВо = ТекСтрокаТовары. КолВо;

КонецЦикла;

Для документа «ПродажаТовара»:

Процедура ОбработкаПроведения (Отказ, Режим)

// регистр ОстаткиТовара Расход

Движения. ОстаткиТовара. Записывать = Истина;


Движения. ОстаткиТовара. Очистить ();

Для Каждого ТекСтрокаТовары Из Товары Цикл

Движение = Движения. ОстаткиТовара. Добавить ();

Движение. ВидДвижения = ВидДвиженияНакопления. Расход;

Движение. Период = Дата;

Движение. Товары = ТекСтрокаТовары. Наименование;

Движение. Контрагент = Покупатель;

Движение. Сумма = ТекСтрокаТовары. Сумма;

Движение. КолВо = ТекСтрокаТовары. КолВо;

КонецЦикла;

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

4. Работа с журналами.

Для начала я создам два журанала – это «Документы по продажам» и «Документы по закупкам». Оба журнала должны включать в себя дополнительные реквизиты «Контрагент» и «Сумма по документу»

4.1 Журнал «Документы по продажам»

Создаю журнал «Документы по продажам», во вкладке «Данные» добавляю регистрруемый документ «Продажа товара» и две графы: «Контрагент» и «Сумма по документу».

4.2 Журнал «Документы по закупкам».

Создаю журнал «Документы по закупкам», во вкладке «Данные» добавляю регистрруемый документ «Продажа товара» и две графы: «Контрагент» и «Сумма по документу».

5. Работа с регистрами

Создам регистр накопления «Остаток».

Во вкладке «Данные», в «Измерения» добавлю «Контрагент» и «Товары».

А в «Ресурсы» добавляю «Количество» и «Сумму».

6. Создание пользователей.

Чтобы в 1С предприятии 8.3 создать пользователя нужно на верхней панели нажать на вкладку «Администрирование», потом «Пользователи» и тогда откроется окно, где можно работать с пользователями.

Для создания нового нажимаю кнопку «+» или клавишу «Ins» .

Заполняем в появившемся окне поля и нажимаем «Ок».

Заключение