- •Курсовая работа
- •Реферат
- •Содержание
- •Введение
- •1 Теоретические основы учёта бракованной продукции
- •1.1 Общие сведения по учёту бракованной продукции
- •1.2 Концепция будущей информационной системы
- •2 Создание конфигурации «Учёт бракованной продукции»
- •2.1 Характеристика констант, перечислений
- •2.2 Характеристика справочников
- •2.3 Характеристика документов
- •2.4 Характеристика регистров накопления
- •2.5 Характеристика регистров бухгалтерии, плана видов
- •2.6 Характеристика отчётов
- •2.7 Характеристика пользовательского интерфейса
- •Заключение
- •Список использованных источников
- •Приложение а Корреспонденция счета 28 с другими счетами
- •Приложение г Формы документов
- •Приложение д Предопределённые счета
- •Приложение е Формы отчётов
- •Приложение ж Подсистемы пользовательского интерфейса
- •Приложение и Листинги модулей документов Листинг и.1 – Код модуля объекта документ АктОбИсправимомБраке
- •Листинг и.2 – Код модуля формы документа АктОбИсправимомБраке
Приложение и Листинги модулей документов Листинг и.1 – Код модуля объекта документ АктОбИсправимомБраке
Примечание – Источник: собственная разработка
Процедура ОбработкаПроведения(Отказ, Режим)
ФСЗН = ПолучитьКонстанты.ПолучитьПроцентФСЗН() / 100;
Страховые = ПолучитьКонстанты.ПолучитьПроцентСтраховыхОтчислений() / 100;
Движения.ИсправимыйВнутреннийБрак.Записывать = Истина;
Движения.Управленческий.Записывать = Истина;
// регистр Управленческий Д28 К10
// сумма всех используемых материалов для исправления брака будет списываться пропорционально количеству бракованных партий продукции
ОбщаяСуммаМатериалов = 0;
Для Каждого ТекСтрока Из МатериалыНаИсправление Цикл
Движение = Движения.Управленческий.Добавить();
Движение.СчетДт = ПланыСчетов.Управленческий.БракВПроизводстве;
Движение.СчетКт = ПланыСчетов.Управленческий.Материалы;
Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконто.Подразделение] = Подразделение;
Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконто.МОЛ] = МОЛ;
Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконто.ПричинаБрака] = ПричинаБрака;
Движение.Период = Дата;
Движение.Сумма = ТекСтрока.Сумма;
ОбщаяСуммаМатериалов = ОбщаяСуммаМатериалов + ТекСтрока.Сумма;
Движение.КоличествоКт = ТекСтрока.Количество;
Движение.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконто.Номенклатуры] = ТекСтрока.Номенклатура;
КонецЦикла;
КоличествоПартий = СписокБракованныхТоваров.Количество();
Для Каждого ТекСтрокаСписокБракованныхТоваров Из СписокБракованныхТоваров Цикл
// рагистр ИсправимыйВнутреннийБрак
Движение = Движения.ИсправимыйВнутреннийБрак.Добавить();
Движение.Период = Дата;
Движение.Подразделение = Подразделение;
Движение.МОЛ = МОЛ;
Движение.Номенклатура = ТекСтрокаСписокБракованныхТоваров.Номенклатура;
Движение.ПричинаБрака = ПричинаБрака;
Движение.ОтветственныйЗаИсправление = ОтветственныйЗаИсправление;
Движение.КоличествоБракованныхТоваров = ТекСтрокаСписокБракованныхТоваров.Количество;
// стоимость оплаты за исправление и стоимость затраченных ресурсов записываются пропорционально количеству бракованных партий продукции
Движение.ОплатаЗаИсправление = ОплатаЗаИсправление / КоличествоПартий;
Движение.СтоимостьЗатраченныхМатериалов = ОбщаяСуммаМатериалов / КоличествоПартий;
Если (ПричинаБрака = Перечисления.ПричинаБрака.Технический) тогда
// регистр Управленческий Д28 К70
Движение = Движения.Управленческий.Добавить();
Движение.СчетДт = ПланыСчетов.Управленческий.БракВПроизводстве;
Движение.СчетКт = ПланыСчетов.Управленческий.РасчетыСПерсоналомПоОплатеТруда;
Движение.Период = Дата;
Движение.Сумма = ОплатаЗаИсправление / КоличествоПартий;
Движение.КоличествоДт = ТекСтрокаСписокБракованныхТоваров.Количество;
Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконто.Подразделение] = Подразделение;
Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконто.МОЛ] = МОЛ;
Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконто.ПричинаБрака] = ПричинаБрака;
Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконто.Номенклатуры] = ТекСтрокаСписокБракованныхТоваров.Номенклатура;
Движение.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконто.МОЛ] = ОтветственныйЗаИсправление;
// регистр Управленческий Д28 К69
Движение = Движения.Управленческий.Добавить();
Движение.СчетДт = ПланыСчетов.Управленческий.БракВПроизводстве;
Движение.СчетКт = ПланыСчетов.Управленческий.РасчетыПоСоциальномуСтрахованиюИОбеспечению;
Движение.КоличествоДт = ТекСтрокаСписокБракованныхТоваров.Количество;
Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконто.Подразделение] = Подразделение;
Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконто.МОЛ] = МОЛ;
Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконто.ПричинаБрака] = ПричинаБрака;
Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконто.Номенклатуры] = ТекСтрокаСписокБракованныхТоваров.Номенклатура;
Движение.Период = Дата;
Движение.Сумма = ОплатаЗаИсправление * ФСЗН / КоличествоПартий;
Движение.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконто.МОЛ] = ОтветственныйЗаИсправление;
// регистр Управленческий Д28 К76
Движение = Движения.Управленческий.Добавить();
Движение.СчетДт = ПланыСчетов.Управленческий.БракВПроизводстве;
Движение.СчетКт = ПланыСчетов.Управленческий.РасчетыПоИмущественномуИЛичномуСтрахованию;
Движение.КоличествоДт = ТекСтрокаСписокБракованныхТоваров.Количество;
Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконто.Подразделение] = Подразделение;
Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконто.МОЛ] = МОЛ;
Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконто.ПричинаБрака] = ПричинаБрака;
Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконто.Номенклатуры] = ТекСтрокаСписокБракованныхТоваров.Номенклатура;
Движение.Период = Дата;
Движение.Сумма = ОплатаЗаИсправление * Страховые / КоличествоПартий;
Движение.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконто.МОЛ] = ОтветственныйЗаИсправление;
// регистр Управленческий Д20 К28
Движение = Движения.Управленческий.Добавить();
Движение.СчетДт = ПланыСчетов.Управленческий.ОсновноеПроизводство;
Движение.СчетКт = ПланыСчетов.Управленческий.БракВПроизводстве;
Движение.Период = Дата;
Движение.Сумма = (ОбщаяСуммаМатериалов / КоличествоПартий) + (ОплатаЗаИсправление / КоличествоПартий) + (ОплатаЗаИсправление * ФСЗН / КоличествоПартий) + (ОплатаЗаИсправление * Страховые / КоличествоПартий);
Движение.КоличествоДт = ТекСтрокаСписокБракованныхТоваров.Количество;
Движение.КоличествоКт = ТекСтрокаСписокБракованныхТоваров.Количество;
Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконто.Номенклатуры] = ТекСтрокаСписокБракованныхТоваров.Номенклатура;
Движение.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконто.Подразделение] = Подразделение;
Движение.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконто.МОЛ] = МОЛ;
Движение.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконто.ПричинаБрака] = ПричинаБрака;
Движение.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконто.Номенклатуры] = ТекСтрокаСписокБракованныхТоваров.Номенклатура;
ИначеЕсли (МОЛ <> ОтветственныйЗаИсправление) тогда
// регистр Управленческий Д28 К70
Движение = Движения.Управленческий.Добавить();
Движение.СчетДт = ПланыСчетов.Управленческий.БракВПроизводстве;
Движение.СчетКт = ПланыСчетов.Управленческий.РасчетыСПерсоналомПоОплатеТруда;
Движение.Период = Дата;
Движение.Сумма = ОплатаЗаИсправление / КоличествоПартий;
Движение.КоличествоДт = ТекСтрокаСписокБракованныхТоваров.Количество;
Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконто.Подразделение] = Подразделение;
Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконто.МОЛ] = МОЛ;
Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконто.ПричинаБрака] = ПричинаБрака;
Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконто.Номенклатуры] = ТекСтрокаСписокБракованныхТоваров.Номенклатура;
Движение.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконто.МОЛ] = ОтветственныйЗаИсправление;
// регистр Управленческий Д28 К69
Движение = Движения.Управленческий.Добавить();
Движение.СчетДт = ПланыСчетов.Управленческий.БракВПроизводстве;
Движение.СчетКт = ПланыСчетов.Управленческий.РасчетыПоСоциальномуСтрахованиюИОбеспечению;
Движение.КоличествоДт = ТекСтрокаСписокБракованныхТоваров.Количество;
Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконто.Подразделение] = Подразделение;
Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконто.МОЛ] = МОЛ;
Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконто.ПричинаБрака] = ПричинаБрака;
Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконто.Номенклатуры] = ТекСтрокаСписокБракованныхТоваров.Номенклатура;
Движение.Период = Дата;
Движение.Сумма = ОплатаЗаИсправление * ФСЗН / КоличествоПартий;
Движение.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконто.МОЛ] = ОтветственныйЗаИсправление;
// регистр Управленческий Д28 К76
Движение = Движения.Управленческий.Добавить();
Движение.СчетДт = ПланыСчетов.Управленческий.БракВПроизводстве;
Движение.СчетКт = ПланыСчетов.Управленческий.РасчетыПоИмущественномуИЛичномуСтрахованию;
Движение.КоличествоДт = ТекСтрокаСписокБракованныхТоваров.Количество;
Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконто.Подразделение] = Подразделение;
Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконто.МОЛ] = МОЛ;
Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконто.ПричинаБрака] = ПричинаБрака;
Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконто.Номенклатуры] = ТекСтрокаСписокБракованныхТоваров.Номенклатура;
Движение.Период = Дата;
Движение.Сумма = ОплатаЗаИсправление * Страховые / КоличествоПартий;
Движение.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконто.МОЛ] = ОтветственныйЗаИсправление;
// регистр Управленческий Д73 К28
Движение = Движения.Управленческий.Добавить();
Движение.СчетДт = ПланыСчетов.Управленческий.РасчетыПоВозмещениюУщерба;
Движение.СчетКт = ПланыСчетов.Управленческий.БракВПроизводстве;
Движение.КоличествоКт = ТекСтрокаСписокБракованныхТоваров.Количество;
Движение.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконто.Подразделение] = Подразделение;
Движение.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконто.МОЛ] = МОЛ;
Движение.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконто.ПричинаБрака] = ПричинаБрака;
Движение.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконто.Номенклатуры] = ТекСтрокаСписокБракованныхТоваров.Номенклатура;
Движение.Период = Дата;
Движение.Сумма = (ОбщаяСуммаМатериалов / КоличествоПартий) + (ОплатаЗаИсправление / КоличествоПартий) + (ОплатаЗаИсправление * ФСЗН / КоличествоПартий) + (ОплатаЗаИсправление * Страховые / КоличествоПартий);
Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконто.МОЛ] = МОЛ;
Иначе
// регистр Управленческий Д20 К28
// В случае отсутствия затрат проводка не формируется
Если (ОбщаяСуммаМатериалов > 0) тогда
Движение = Движения.Управленческий.Добавить();
Движение.СчетДт = ПланыСчетов.Управленческий.ОсновноеПроизводство;
Движение.СчетКт = ПланыСчетов.Управленческий.БракВПроизводстве;
Движение.Период = Дата;
Движение.Сумма = (ОбщаяСуммаМатериалов / КоличествоПартий) + (ОплатаЗаИсправление / КоличествоПартий) + (ОплатаЗаИсправление * ФСЗН / КоличествоПартий) + (ОплатаЗаИсправление * Страховые / КоличествоПартий);
Движение.КоличествоДт = ТекСтрокаСписокБракованныхТоваров.Количество;
Движение.КоличествоКт = ТекСтрокаСписокБракованныхТоваров.Количество;
Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконто.Номенклатуры] = ТекСтрокаСписокБракованныхТоваров.Номенклатура;
Движение.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконто.Подразделение] = Подразделение;
Движение.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконто.МОЛ] = МОЛ;
Движение.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконто.ПричинаБрака] = ПричинаБрака;
Движение.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконто.Номенклатуры] = ТекСтрокаСписокБракованныхТоваров.Номенклатура;
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
