Основы автоматизированного бухгалтерского учета

Тип работы:
Контрольная
Предмет:
Программирование


Узнать стоимость

Детальная информация о работе

Выдержка из работы

Федеральное государственное бюджетное образовательное учреждение

высшего профессионального образования

«ВОЛГОГРАДСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»

Факультет подготовки инженерных кадров

Кафедра САПР и ПК

КОНТРОЛЬНАЯ РАБОТА

«Основы автоматизированного бухгалтерского учета»

Выполнил:

студент гр. АУЗ-461с

_____________ И.А. Тюляева

Проверил:

Проф. каф. САПР и ПК,

доктор технических наук

_____________ Кравец А. Г.

Волгоград, 2014

Задание 1. 40

Организация занимается торговлей скоропортящимися продуктами. Для каждого товара указывается норма естественной убыли при транспортировке. Доставка товара покупателю отражается документом «Расходная накладная», оплата покупателя — документом «Приход денег». При получении товара покупатель по каждой накладной составляет акт (документ «Акт приема-передачи товаров»), о фактическом поступлении товара, за вычетом испортившегося при транспортировке.

В том случае, когда потери товара не превышают нормы естественной убыли, покупатель оплачивает весь товар. Если потери товара превышают нормы, то покупатель оплачивает только фактически полученный товар.

Оплата покупателя поступает общей суммой по нескольким накладным (накладные указываются в табличной части, сумма в шапке). При проведении документа оплаты должны автоматически распределяться по накладным, начиная с самой ранней недооплаченной, причем оплаты должны распределяться с учетом фактической задолженности покупателя. Следует считать, что переплат и авансов нет.

Учет товаров ведется в разрезе складов. Отгрузка по одной накладной возможна только по одному складу (склад реквизит шапки). Стоимость товаров рассчитывается как средняя по складу.

Необходимо создать отчеты о состоянии взаиморасчетов с покупателями и отгрузках товаров за период.

бухгалтерский учет товар оплата

Взаиморасчеты с покупателями за период с 01. 01. 2009 по 31. 03. 2009

Покупатель

Документ

Нач. Задолж.

Отгрузка

Оплата

Кон. задолж.

Красный цветок

1000

1200

800

1400

Расх. Накл № 4

500

Расх. Накл. № 6

700

Приход денег № 2

800

Красный октябрь

1000

1000

Расх. Накл. № 3

1000

Приход денег № 3

1000

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

Отгрузки товаров за период с 01. 01. 2009 по 31. 03. 2009

Товар

Отгружено

Потери в

Потери сверх

фактически

пределах норм

норм

Куртка замшевая

10

2

1

Портсигар

50

5

Фактически отгруженное количество должно отображать общее количество товаров, отгруженных нами покупателю, без учета того, сколько он реально получил.

Справочники

1. Справочник «Номенклатура» — предназначен для хранения информации о товарах.

2. Справочник «Контрагенты» — предназначен для хранения базы данных организаций и физических лиц, с которыми компания вступает в расчетные отношения.

3. Справочник «Склады» — предназначен для ведения списка мест хранения товарно-материальных ценностей.

Документы и регистры

1. Документ «Расходная накладная» предназначен для отражения операций по реализации товаров.

Модуль объекта

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

Движения. Взаиморасчеты. Записывать = Истина;

Для Каждого ТекСтрокаСписокНоменклатуры Из СписокНоменклатуры Цикл

Движение = Движения. Взаиморасчеты. Добавить ();

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

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

Движение. Контрагент = Контрагент;

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

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

КонецЦикла;

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

Для Каждого ТекСтрокаСписокНоменклатуры Из СписокНоменклатуры Цикл

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

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

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

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

КонецЦикла;

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

Процедура ПередЗаписью (Отказ, РежимЗаписи, РежимПроведения)

СуммаПоДокументу = СписокНоменклатуры. Итог («Сумма»);

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

2. Документ «Приход денег» — предназначен для добавления нового поступления денег и сведений о нем.

Модуль объекта:

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

Движения. Взаиморасчеты. Записать ();

Движения. Взаиморасчеты. Записывать = Истина;

Блокировка = Новый БлокировкаДанных;

ЭлементБлокировки = Блокировка. Добавить («РегистрНакопления. Взаиморасчеты»);

ЭлементБлокировки. УстановитьЗначение («Контрагент», Контрагент);

ЭлементБлокировки. Режим = РежимБлокировкиДанных. Исключительный;

ЭлементБлокировки. ИсточникДанных = СписокНакладных;

ЭлементБлокировки. ИспользоватьИзИсточникаДанных («Документ», «Накладная»);

Блокировка. Заблокировать ();

Запрос = Новый Запрос;

Запрос. Текст = «ВЫБРАТЬ

| ПриходДенегСписокНакладных. Накладная КАК Накладная

|ПОМЕСТИТЬ ВТСписок

|ИЗ

| Документ. ПриходДенег. СписокНакладных КАК ПриходДенегСписокНакладных

|ГДЕ

| ПриходДенегСписокНакладных. Ссылка = & Ссылка

|

|ИНДЕКСИРОВАТЬ ПО

| Накладная

|;

|

|////////////////////////////////////////////////////////////////////////////////

|ВЫБРАТЬ

| ВТСписок. Накладная,

| ЕСТЬNULL (ВзаиморасчетыОстатки. СуммаОстаток, 0) КАК СуммаОстаток

|ИЗ

| ВТСписок КАК ВТСписок

| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления. Взаиморасчеты. Остатки (

| & Момент,

| Документ В

| (ВЫБРАТЬ

| Т. Накладная

| ИЗ

| ВТСписок КАК Т)

| И Контрагент = & Контрагент) КАК ВзаиморасчетыОстатки

| ПО ВТСписок. Накладная = ВзаиморасчетыОстатки. Документ

|

|УПОРЯДОЧИТЬ ПО

| ВТСписок. Накладная. МоментВремени

|ИТОГИ

| СУММА (СуммаОстаток)

|ПО

| ОБЩИЕ";

Запрос. УстановитьПараметр («Ссылка», Ссылка);

Запрос. УстановитьПараметр («Момент», ?(Режим = РежимПроведенияДокумента. Неоперативный, МоментВремени (), Неопределено));

Запрос. УстановитьПараметр («Контрагент», Контрагент);

Выборка = Запрос. Выполнить (). Выбрать (ОбходРезультатаЗапроса. ПоГруппировкам);

Если Выборка. Следующий () Тогда

Превышение = СуммаПоДокументу + Выборка. СуммаОстаток;

Если Превышение > 0 Тогда

Отказ = Истина;

Сообщить («Сумма оплаты превышает имеющуюся задолженность на «+ Превышение);

Возврат;

КонецЕсли;

КонецЕсли;

ВыборкаДет = Выборка. Выбрать ();

СуммаРаспределения = СуммаПоДокументу;

Пока ВыборкаДет. Следующий () И СуммаРаспределения > 0 Цикл

ТекСумма = Мин (СуммаРаспределения, -ВыборкаДет. СуммаОстаток);

Движение = Движения. Взаиморасчеты. Добавить ();

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

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

Движение. Контрагент = Контрагент;

Движение. Документ = ВыборкаДет. Накладная;

Движение. Сумма = ТекСумма;

СуммаРаспределения = СуммаРаспределения — ТекСумма;

КонецЦикла;

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

3. Документ «Акт приема-передачи» предназначен для фиксации факта передачи документов от одной стороны другой.

Модуль объекта:

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

//{{__КОНСТРУКТОР_ВВОД_НА_ОСНОВАНИИ

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

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

Если ТипЗнч (ДанныеЗаполнения) = Тип («ДокументСсылка. РасходнаяНакладная») Тогда

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

Накладная = ДанныеЗаполнения. Ссылка;

Контрагент = ДанныеЗаполнения. Контрагент;

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

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

НоваяСтрока. КоличествоОтправлено = ТекСтрокаСписокНоменклатуры. Количество;

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

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

НоваяСтрока. Цена = ТекСтрокаСписокНоменклатуры. Цена;

КонецЦикла;

КонецЕсли;

//}}__КОНСТРУКТОР_ВВОД_НА_ОСНОВАНИИ

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

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

// регистр ОтгрузкиТоваров

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

Для Каждого ТекСтрокаСписокНоменклатуры Из СписокНоменклатуры Цикл

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

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

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

Движение. КоличествоПолучено = ТекСтрокаСписокНоменклатуры. КоличествоПолучено;

КонецЦикла;

// Снижение долга при недопоставке

Движения. Взаиморасчеты. Записать ();

Движения. Взаиморасчеты. Записывать = Истина;

Запрос = Новый Запрос;

Запрос. Текст = «ВЫБРАТЬ

| АктПриемаПередачиСписокНоменклатуры. Номенклатура КАК Номенклатура,

| СУММА (АктПриемаПередачиСписокНоменклатуры. КоличествоОтправлено) КАК КоличествоОтправлено,

| СУММА (АктПриемаПередачиСписокНоменклатуры. КоличествоПолучено) КАК КоличествоПолучено,

| СУММА (АктПриемаПередачиСписокНоменклатуры. Цена) КАК Цена

|ПОМЕСТИТЬ ВТСписок

|ИЗ

| Документ. АктПриемаПередачи. СписокНоменклатуры КАК АктПриемаПередачиСписокНоменклатуры

|ГДЕ

| АктПриемаПередачиСписокНоменклатуры. Ссылка = & Ссылка

|

|СГРУППИРОВАТЬ ПО

| АктПриемаПередачиСписокНоменклатуры. Номенклатура

|

|ИНДЕКСИРОВАТЬ ПО

| Номенклатура

|;

|

|////////////////////////////////////////////////////////////////////////////////

|ВЫБРАТЬ

| ВТСписок. Номенклатура,

| ВЫБОР

| КОГДА ВТСписок. КоличествоОтправлено — ВТСписок. КоличествоПолучено <= ВТСписок. КоличествоОтправлено * ЕСТЬNULL (НормыУбыли. НормаУбылиПроцент, 0) / 100

| ТОГДА 0

| ИНАЧЕ ВТСписок. КоличествоОтправлено — ВТСписок. КоличествоПолучено — ВТСписок. КоличествоОтправлено * ЕСТЬNULL (НормыУбыли. НормаУбылиПроцент, 0) / 100

| КОНЕЦ КАК ПревышениеПотерь,

| ВТСписок. Цена,

| ВТСписок. КоличествоОтправлено — ВТСписок. КоличествоПолучено КАК ПотериФакт

|ИЗ

| ВТСписок КАК ВТСписок

| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений. НормыУбыли КАК НормыУбыли

| ПО ВТСписок. Номенклатура = НормыУбыли. Номенклатура";

Запрос. УстановитьПараметр («Ссылка», Ссылка);

Выборка = Запрос. Выполнить (). Выбрать ();

СнижениеДолга = 0;

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

Если Выборка. ПревышениеПотерь > 0 Тогда

СнижениеДолга = СнижениеДолга + Выборка. Цена * Выборка. ПотериФакт;

КонецЕсли;

КонецЦикла;

Если СнижениеДолга > 0 Тогда

Движение = Движения. Взаиморасчеты. Добавить ();

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

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

Движение. Контрагент = Контрагент;

Движение. Документ = Накладная;

Движение. Сумма = СнижениеДолга;

КонецЕсли; ;

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

4. Регистр накопления «Взаиморасчеты» — предназначен для хранения информации о взаимных расчетах с контрагентами.

5. Регистр накопления «Отгрузки товаров» — предназначен для хранения информации об отгрузках товаров контрагентам.

Отчеты

1. Отчет «Отгрузки товаров» — предназначен для отображения информации об отгрузках товаров контрагентам.

Запрос:

ВЫБРАТЬ

ОтгрузкиТоваровОбороты. Номенклатура,

ОтгрузкиТоваровОбороты. КоличествоОтправленоОборот,

ОтгрузкиТоваровОбороты. КоличествоПолученоОборот,

ЕСТЬNULL (НормыУбыли. НормаУбылиПроцент, 0) * ОтгрузкиТоваровОбороты. КоличествоОтправленоОборот / 100 КАК ДопустимаяУбыль,

ОтгрузкиТоваровОбороты. КоличествоОтправленоОборот — ОтгрузкиТоваровОбороты. КоличествоПолученоОборот КАК ПотеряноФакт

ПОМЕСТИТЬ ВТСписок

ИЗ

РегистрНакопления. ОтгрузкиТоваров. Обороты КАК ОтгрузкиТоваровОбороты

ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений. НормыУбыли КАК НормыУбыли

ПО ОтгрузкиТоваровОбороты. Номенклатура = НормыУбыли. Номенклатура

;

////////////////////////////////////////////////////////////////////////////////

ВЫБРАТЬ

ВТСписок. Номенклатура КАК Товар,

ВЫБОР

КОГДА ВТСписок. ДопустимаяУбыль > ВТСписок. ПотеряноФакт

ТОГДА ВТСписок. ПотеряноФакт

ИНАЧЕ ВТСписок. ДопустимаяУбыль

КОНЕЦ КАК ПотериВПределахНорм,

ВЫБОР

КОГДА ВТСписок. ДопустимаяУбыль > ВТСписок. ПотеряноФакт

ТОГДА 0

ИНАЧЕ ВТСписок. ПотеряноФакт — ВТСписок. ДопустимаяУбыль

КОНЕЦ КАК ПотериСверхНорм,

ВТСписок. КоличествоОтправленоОборот КАК ОтгруженоФактически

ИЗ

ВТСписок КАК ВТСписок

2. Отчет «Взаиморасчеты» — предназначен для отображения информации о взаимных расчетах с контрагентами.

Запрос:

ВЫБРАТЬ

ВзаиморасчетыОстаткиИОбороты. Регистратор. Накладная,

ВзаиморасчетыОстаткиИОбороты. СуммаПриход

ПОМЕСТИТЬ ВТ

ИЗ

РегистрНакопления. Взаиморасчеты. ОстаткиИОбороты (,, Регистратор, ,) КАК ВзаиморасчетыОстаткиИОбороты

ГДЕ

ВзаиморасчетыОстаткиИОбороты. Регистратор ССЫЛКА Документ. АктПриемаПередачи

;

////////////////////////////////////////////////////////////////////////////////

ВЫБРАТЬ

ВзаиморасчетыОстаткиИОбороты. Контрагент КАК Покупатель,

-ВзаиморасчетыОстаткиИОбороты. СуммаНачальныйОстаток КАК НачальнаяЗадолженность,

ВзаиморасчетыОстаткиИОбороты. СуммаПриход КАК Оплата,

ВзаиморасчетыОстаткиИОбороты. СуммаРасход — ЕСТЬNULL (ВТ. СуммаПриход, 0) КАК Отгрузка,

-ВзаиморасчетыОстаткиИОбороты. СуммаКонечныйОстаток КАК КонечнаяЗадолженность,

ВзаиморасчетыОстаткиИОбороты. Регистратор КАК Документ

ИЗ

РегистрНакопления. Взаиморасчеты. ОстаткиИОбороты (,, Регистратор, ,) КАК ВзаиморасчетыОстаткиИОбороты

ЛЕВОЕ СОЕДИНЕНИЕ ВТ КАК ВТ

ПО ВзаиморасчетыОстаткиИОбороты. Регистратор = ВТ. РегистраторНакладная

ГДЕ

НЕ ВзаиморасчетыОстаткиИОбороты. Регистратор ССЫЛКА Документ. АктПриемаПередачи

ПоказатьСвернуть
Заполнить форму текущей работой