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

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

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

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

Добавлен: 05.04.2023

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

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

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

2.

//объект ДокументыМенеджер

// .

// []

// Для Каждого … Из … Цикл … КонецЦикла;

// Пример: получить макет для печати документа "Оказание услуги".

Макет = Документы["ОказаниеУслуги"].ПолучитьМакет("Печать");

// Пример: получить ссылку на каждый из документов, существующих в конфигурации.

Для Каждого ОчереднойДокумент Из Документы Цикл

Ссылка = ОчереднойДокумент.ПолучитьСсылку();

КонецЦикла;

3.

// объект ДокументМенеджер.

// НайтиПоНомеру()

// НайтиПоРеквизиту()

// ПустаяСсылка()

// Пример: Проверить, проведен ли документ ПриходнаяНакладная с номером 3.

Если Документы.ПриходнаяНакладная.НайтиПоНомеру(3).Проведен Тогда

Сообщить("Документ с номером 3 проведен");

КонецЕсли;

// Пример: Проверить, что во всех документах ПриходнаяНакладная заполнен реквизит Склад.

ПустаяСсылкаСклада = Справочники.Склады.ПустаяСсылка();

Если Не Документы.ПриходнаяНакладная.НайтиПоРеквизиту("Склад", ПустаяСсылкаСклада).Пустая() Тогда

Сообщить("Есть документы, у которых не заполнен реквизит Склад");

КонецЕсли;

4.

// объект ДокументМенеджер.

// Выбрать()

// Пример: Выбрать все документы ПриходнаяНакладная за текущий месяц.

Выборка = Документы.ПриходнаяНакладная.Выбрать(НачалоМесяца(ТекущаяДата()), КонецМесяца(ТекущаяДата()));

Пока Выборка.Следующий() Цикл

Сообщить(Выборка);

КонецЦикла;

5.

// объект ДокументМенеджер.

// СоздатьДокумент()

// Пример: Создать новый документ ПриходнаяНакладная.

НовыйДокумент = Документы.ПриходнаяНакладная.СоздатьДокумент();

НовыйДокумент.Дата = ТекущаяДата();

НовыйДокумент.Склад = Справочники.Склады.Основной;

// Заполнить табличную часть Материалы

НоваяСтрокаТабличнойЧасти = НовыйДокумент.Материалы.Добавить();

НоваяСтрокаТабличнойЧасти.Материал = Справочники.Номенклатура.НайтиПоКоду(6);

НоваяСтрокаТабличнойЧасти.Количество = 10;

НоваяСтрокаТабличнойЧасти.Цена = 22.5;

НоваяСтрокаТабличнойЧасти.Сумма = 225;

НовыйДокумент.Записать();

6.

// объект ДокументОбъект., объект ДокументСсылка.

// Ссылка

// Пример: в модуле объекта вызвать процедуру проверки заполнения реквизитов документа.

Если Не ПроверитьЗаполнениеРеквизитов(ЭтотОбъект.Ссылка) Тогда

Сообщить("Реквизиты документа не заполнены!");

КонецЕсли;

7.

// объект ДокументСсылка., объект ДокументОбъект.


// ПолучитьОбъект()

// Скопировать()

// Пример: пометить документ на удаление.

НенужныйДокумент = Документы.ОказаниеУслуги.НайтиПоНомеру(13).ПолучитьОбъект();

НенужныйДокумент.УстановитьПометкуУдаления(Истина);

8.

// объект ДокументВыборка.

// Ссылка

// Сформировать список ссылок на все документы "ПриходнаяНакладная" за текущий месяц.

СписокНакладных = Новый СписокЗначений;

Выборка = Документы.ПриходнаяНакладная.Выбрать(НачалоМесяца(ТекущаяДата()), КонецМесяца(ТекущаяДата()));

Пока Выборка.Следующий() Цикл

СписокНакладных.Добавить(Выборка.Ссылка);

КонецЦикла;

9.

// объект ДокументВыборка.

// ПолучитьОбъект()

// Пример: удалить все документы "ПриходнаяНакладная".

Выборка = Документы.ПриходнаяНакладная.Выбрать();

Пока Выборка.Следующий() Цикл

Выборка.ПолучитьОбъект().Удалить();

КонецЦикла;

Р ис. 16. Пр имер ы использован ия объектов

Докумен т Пр иход товар а включает дополн ительн ые р еквизиты в шапке докумен та: Фир ма, поставщик, Коммен тар ий; в табличн ой части: Н аимен ован ие, количество, Цен а, Сумма. (рис.17) [2 с 33]

Рис. 17 Окн о создан ия докумен та

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

Рис.18 Окн о свойства Товар ы Н аимен ован ие

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

Рис.19 Окн о свойства Товар ы Количество

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

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

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

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

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

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

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

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


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

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

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

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

Рис.20 Окн о докумен та Пр иход товар а

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

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

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

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

Фор мир уется печатн ая фор ма докумен та виде в виде пр иходн ой н акладн ой:

Рис.21 Окн о печатн ой фор мы докумен та

Пр оцедур у пр описываем в модуле:

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

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

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

// Заголовок

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

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

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

// Шапка

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

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

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

// Товары

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

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

КолВо = 0;

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

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

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

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

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

КонецЦикла;

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

Докумен т Заявка Покупателя включает дополн ительн ые р еквизиты в шапке докумен та: Фир ма, Покупатель, Коммен тар ий; в табличн ой части: Н аимен ован ие, Количество, Цен а, Сумма. Поле Н аимен ован ие должн о иметь кн опку выбор а для выбор а товар а из спр авочн ика, поле Количество должн о иметь кн опку выбор а для вызова калькулятор а. Зн ачен ие поля Цен а должн о подставляться из спр авочн ика. Сумма в стр оке должн а р ассчитываться автоматически. Под табличн ой частью должн а выводиться итоговая сумма по всем стр окам. Должн а фор мир оваться печатн ая фор ма докумен та в виде Счета.

Рис. 22 Окн о печатн ой фор мы докумен та

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

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

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

// Заголовок

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

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

// Шапка

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

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

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

// Товары

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

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

КолВо = 0;

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

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

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

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

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

КонецЦикла;

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

Докумен т Пр одажа товар а включает дополн ительн ые р еквизиты в шапке докумен та: Фир ма, Покупатель, Коммен тар ий; в табличн ой части: Н аимен ован ие, Количество, Цен а, Сумма. Поле Н аимен ован ие должн о иметь кн опку выбор а для выбор а товар а из спр авочн ика, поле Количество должн о иметь кн опку выбор а для вызова калькулятор а. Зн ачен ие поля Цен а должн о подставляться из спр авочн ика. Сумма в стр оке должн а р ассчитываться автоматически. Под табличн ой частью должн а выводиться итоговая сумма по всем стр окам. Должн а фор мир оваться печатн ая фор ма докумен та в виде р асходн ой н акладн ой. В печатн ых фор мах всех докумен тов р ассчитывается и указывается сумма Н ДС, общее количество н аимен ован ий товар а и сумма пр описью. Докумен ты должн ы иметь возможн ость записи без пр оведен ия и с пр оведен ием.

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

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

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

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

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

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

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

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

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

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

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

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