Работа с финансовой документацией, поступающей в экономический отдел НОКДЦ

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование



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

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

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

Для учета расходов в режиме конфигурации 1С: Предприятие создается Документ Учет всех расходов (рисунок 15).

Рисунок 15 - Закладка Данные окна редактирования документа Учет всех расходов

Информационная структура, создаваемая на основании документа Учет всех расходов, будет фиксировать факт конкретного расходования средств на оплату счета фирме-поставщику.

Данный документ содержит реквизиты Поставщик, Ответственный, Наименование, КОСГУ, Средство оплаты, которые можно заполнить данными из соответствующих справочников. Для этого необходимо в окне свойств этих реквизитов в качестве типа данных указать ссылку на нужный справочник.

Для создания формы документа на закладке Формы окна редактирования документа, напротив Основные формы документа щелкнем по изображению лупы (рисунок 16).

Рисунок 16 - Закладка Формы окна редактирования документа Учет всех расходов

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

Рисунок 17 - Форма документа Учет всех расходов в режиме конфигуратора

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

Листинг 2 - Процедура, выполняемая при заполнении поля Количество

Процедура СодержаниеСчетаКоличествоПриИзменении(Элемент)

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

РаботаСДокументами. РассчитатьСумму(СтрокаТабличнойЧасти);

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

Третья строка кода говорит о том, что код заполнения ячейки Сумма находится в общем модуле Работа с документами. Данный код представлен в листинге 3.

Листинг 3 - Процедура расчета суммы в модуле Работа с документами

Процедура РассчитатьСумму(СтрокаТабличнойЧасти) Экспорт

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

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

Поле Цена с НДС заполняется автоматически при указании цены без НДС и размера НДС аналогичным образом.

У документа Учет всех расходов создается печатная форма аналогичным способом, как для справочников. Процедура печати представлена в листинге 4.

Листинг 4 - Процедура печати документа Учет всех расходов

// {{_КОНСТРУКТОР_ПЕЧАТИ_ЭЛЕМЕНТ(Печать)

// Данный фрагмент построен конструктором.

// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!

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

Макет = Документы. УчетВсехРасходов. ПолучитьМакет (Печать);

// Заголовок

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

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

// Шапка

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

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

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

// СодержаниеСчета

Область = Макет. ПолучитьОбласть (СодержаниеСчетаШапка);

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

ОбластьСодержаниеСчета = Макет. ПолучитьОбласть (СодержаниеСчета);

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

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

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

КонецЦикла;

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

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

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

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

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

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

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

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

// }}_КОНСТРУКТОР_ПЕЧАТИ_ЭЛЕМЕНТ

В документе Учет всех расходов есть поле ввода Группа товаров, в которое выводится наименование группы товаров, работ или услуг, указанных в счете. Процедура заполнения этого поля приведена в листинге 5.

Листинг 5 - Процедура заполнения поля ввода Группа товаров

Процедура СодержаниеСчетаПриАктивизацииСтроки(Элемент)

ЭлементыФормы. ПолеВвода1. Значение=ЭлементыФормы. СодержаниеСчета. ТекущиеДанные. Наименование. Родитель;

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

2.3.4Разработка регистров

Объект конфигурации Регистр накопления является прикладным объектом и