новое событие
Информационный поток
Задания вакансии материалы разработки сообщения форума
Матвеев Денис
Приватное сообщение

Доработать проведение документа Амортизация ОС в типовой 1С:Бухгалтерии

Москва(Россия )
09.04.1975(49 лет)
15 |  1
13 августа 2024 в 00:22:54 (14 недель 5 дней 17 часов назад)
54890
Текст задания
Доработать проведение документа Амортизация ОС в типовой 1С:Бухгалтерии

Задача разработать расширение конфигурации:
Имя файла: ВР_Доработки_ДатаВерсии
Имя: ВР_Доработки
Версия: Дата версии расширения
Префикс расширения: ВР_ (Русские буквы ВР)

Требования:
1. Добавляем Константу ВР_ДатаПримененияИзмененийАлгоритмов, типа Дата без времени.
Все доработанные алгоритмы должны применяться, если ДатаДокумента>=Константа.ВР_ДатаПримененияИзмененийАлгоритмов.



2. Суть задачи:
При выполнении регламентной операции Амортизация и износ основных средств среди прочих формируются проводки

СчетДт=20.01
ПодразделениеДт=ОснРаботники Подразделение
НоменклатурнаяГруппаДт = Основная Номенклатурная Группа Основное средство
СтатьяЗатратДт = Амортизация
СчетКт = 02.01
ПодразделениеКт = ...
ОсновноеСредствоКт = ...

Необходимо в дополнение к типовым проводкам добавить проводки, распределяющие суммы типовых проводок Дт20.01, внутри счета 20.01 пропорционально СуммеДт за период по Статье затрат ОплатаТруда.

Предлагаемый способ решения (если программист предложит вариант проще, готов обсудить)
1. Получить ТЗ по оборотам Дт за месяц даты документа Амортизация с отбором по Статье затрат Оплата Труда такой структуры:
• ПодразделениеДт20.01
• НоменклатурнаяГруппаДт20.01
• ПродукцияДт20.01
• СуммаОплатаТрудаДт20.01
• КоэфРаспределения
где КоэфРаспределения = СуммОплатаТрудаДт20.01 / ОбщийОборотДт за период по СтатьеЗатрат=ОплатаТруда

2. Получаем ТЗ проводок текущего документа, соответствующих условиям:
СчетДт = 20.01
ПодразделениеДт = Основные Работники
НоменклатурнаяГруппаДт = Основная Номенклатурная Группа
РаспределеннаяСумма = 0;
СуммаКРаспределению = Сумма всех строк ТЗ;

Для каждой строки ТЗ цикл
Добавить новую проводку:
СчетДт = 20.01;
ПодразделениеДт = ТЗ.ПодразделениеКт;
НоменклатурнаяГруппаДт = Основная Номенклатурная Группа;
СтатьяЗатратДт = Амортизация;

СчетКт = 20.01;
ПодразделениеКт = ОсновныеРаботники;
НоменклатурнаяГруппаКт = Основная Номенклатурная Группа;
СтаьяЗатрат = Амортизация

Сумма =ТЗ.Сумма * КоэфРаспределения

Если СтрокаТЗ Не Последняя Тогда
Сумма =ТЗ.Сумма * КоэфРаспределения
РаспределеннаяСумма = РаспределеннаяСумма + Сумма;
Иначе
Сумма = СуммаКРаспределению -РаспределеннаяСумма; // в сумме последней проводки учитываем ошибки округления операции ТЗ.Сумма * КоэфРаспределения
КонецЕсли

КонецЦикла
0
Отклики (2)