РБП может находится как на 97 счете так и на 76.01.9 (по логике бух учета это возможно, и в организации где я работаю ведется РБП на обоих счетах), в обработке есть 2 функции
1. Которая получает данные по 76.01.9 счету - "ОстаткиРБП76091" и по 97 счету - "ВыборкаРБПРегистр". В случае если данные по 76.01.9 не нужны можно закоментировать этот кусок кода:
Для Каждого СтрокаРБП Из ВыборкаРБП76091 Цикл
n=n+1;
НоваяСтрока = Об.РБП.Добавить();
НоваяСтрока.Регистровый = Ложь;
НоваяСтрока.Регистратор = Документы.РаспределениеРасходовБудущихПериодов.ПустаяСсылка();
НоваяСтрока.РБП = СтрокаРБП.РБП;
НоваяСтрока.КодРБП = СтрокаРБП.РБПКод;
НоваяСтрока.СуммаПервоначальная = СтрокаРБП.СуммаДокументаПервоначальная;
НоваяСтрока.СписаноНаНачалоИнвентаризации = НоваяСтрока.СуммаПервоначальная - СтрокаРБП.СуммаОстатокДт;
НоваяСтрока.ОстатокНаНачалоИнвентаризации = СтрокаРБП.СуммаОстатокДт;
НоваяСтрока.СрокНачисления = СтрокаРБП.СрокНачисления;
НоваяСтрока.ДатаНачалаСписания = СтрокаРБП.ДатаНачалаСписания;
НоваяСтрока.ДатаОкончанияСписания = СтрокаРБП.ДатаОкончанияСписания;
//это76
Если СтрокаРБП.РБП= Null Тогда
Сообщить("Не выбрана аналитика РБП!");
Иначе
Если Не ЗначениеЗаполнено(СтрокаРБП.ДатаНачалаСписания) или не ЗначениеЗаполнено(СтрокаРБП.ДатаОкончанияСписания) Тогда
НоваяСтрока.СрокПогашения=0;
РасчетнаяСуммаСписанияНаНачалоИнвентаризации=0;
СуммаСписанияЗаМесяц=0;
Сообщить("У элемента "+ СтрокаРБП.РБП+" не задана дата начала или окончания списания! Расчет невозможен!");
Иначе
НоваяСтрока.СрокПогашения = РасчетМесяцевВПериоде(СтрокаРБП.ДатаНачалаСписания, СтрокаРБП.ДатаОкончанияСписания);
НоваяСтрока.СрокНачисления = РасчетМесяцевВПериоде(СтрокаРБП.ДатаНачалаСписания, Об.ДатаНачалаИнвентаризации);
РасчетнаяСуммаСписанияНаНачалоИнвентаризации = Окр(СтрокаРБП.Сумма * НоваяСтрока.СрокНачисления / НоваяСтрока.СрокПогашения, 2, 1);
НоваяСтрока.СписаноНаНачалоИнвентаризации = СтрокаРБП.СуммаНакопленногоСписания; //РасчетнаяСуммаСписанияНаНачалоИнвентаризации; //
НоваяСтрока.ОстатокНаНачалоРасчетный = ПолучитьОстатокСписанияБУ(Об.ДатаОкончанияИнвентаризации, СтрокаРБП.РБП);//НоваяСтрока.СуммаПервоначальная - РасчетнаяСуммаСписанияНаНачалоИнвентаризации;
НоваяСтрока.СуммаДосписания = 0;//?(НоваяСтрока.ОстатокНаНачалоРасчетный<НоваяСтрока.ОстатокНаНачалоИнвентаризации,
//НоваяСтрока.ОстатокНаНачалоИнвентаризации - НоваяСтрока.ОстатокНаНачалоРасчетный,
//0);//?(НоваяСтрока.ОстатокНаНачалоРасчетный<НоваяСтрока.ОстатокНаНачалоИнвентаризации,
НоваяСтрока.СуммаИзлишнеСписанная = ?(НоваяСтрока.ОстатокНаНачалоРасчетный>НоваяСтрока.ОстатокНаНачалоИнвентаризации,
НоваяСтрока.ОстатокНаНачалоРасчетный - НоваяСтрока.ОстатокНаНачалоИнвентаризации,
0);
КонецЕсли;
КонецЕсли;
//Состояние("Обрабтывается строка " + n + " из " + ОбщКол,n*100/ОбщКол,,);
КонецЦикла;
//это76
Показать