public void РаспределитьЗатратыВНезавершенноеПроизводство(/*
СтруктураШапкиДокумента,
ВыборкаПоЗатратам,
ВыборкаРаспределениеПоПроектам,
ХарактерЗатрат,
СпособРаспределения,
ХарактерРаспределенияЗатрат,
РаспределятьНаПодчиненныеПодразделения,
ЕНВД,
НомерПередела,
ВсегоПеределов,
СуммаОстаток,
ПостояннаяРазницаОстаток,
ВременнаяРазницаОстаток,
ПостроительЗапроса,
ПостроительЗапросаНаПродукцию,
НаборЗаписейНезавершенноеПроизводство,
НаборЗаписейЗатраты,
НаборЗаписейЗатратыОбороты,
НаборЗаписейЗатратыНаВыпуск,
РегистрБухгалтерииНаборЗаписей
*/)
{
if(true/*СуммаОстаток = 0
И ПостояннаяРазницаОстаток = 0
И ВременнаяРазницаОстаток = 0*/)
{
}
/*// Отберем строки базы распределения.
*/
/*// ОпределятьПоЕНВД
*/
/*// ОпределятьПоСчетуУчету
*/
/*// ОтборПоПродукции
*/
/*ПостроительЗапроса
);*/
if(true/*УстановленНовыйОтбор*/)
{
//ПостроительЗапроса.Выполнить();
}
//РезультатЗапросаБаза = ПостроительЗапроса.Результат;
/*// Отберем строки базы распределения на продукцию.
*/
/*// ОпределятьПоЕНВД
*/
/*// ОпределятьПоСчетуУчету
*/
/*// ОтборПоПродукции
*/
/*ПостроительЗапросаНаПродукцию
);*/
if(true/*УстановленНовыйОтбор*/)
{
//ПостроительЗапросаНаПродукцию.Выполнить();
}
//РезультатЗапросаБазаНаПродукцию = ПостроительЗапросаНаПродукцию.Результат;
//ВыборкаБазаНаПродукцию = РезультатЗапросаБазаНаПродукцию.Выбрать();
//ВсегоБазаРаспределения = 0;
//МассивКоэф = Новый Массив;
//МассивКоэфНУ = Новый Массив;
//ВыборкаБаза = РезультатЗапросаБаза.Выбрать();
while(true/*ВыборкаБаза.Следующий()*/)
{
//МассивКоэф.Добавить(ВыборкаБаза.БазаПриход * ВыборкаБаза.БазаНаПодчиненные);
if(true/*СтруктураШапкиДокумента.ОтражатьВНалоговомУчете*/)
{
//МассивКоэфНУ.Добавить(ВыборкаБаза.БазаПриходНУ * ВыборкаБаза.БазаНаПодчиненныеНУ);
}
//ВсегоБазаРаспределения = ВсегоБазаРаспределения + (ВыборкаБаза.БазаПриход * ВыборкаБаза.БазаНаПодчиненные);
}
if(true/*ВсегоБазаРаспределения = 0*/)
{
if(true/*НомерПередела = ВсегоПеределов*/)
{
/*ОбщегоНазначения.Сообщение("Сумма базы коэф. по " + СпособРаспределения + " равна 0, для:
|Подразделение: " + ВыборкаПоЗатратам.Подразделение + "
|Статья затрат: " + ВыборкаПоЗатратам.СтатьяЗатрат + "
|Заказ: " + ВыборкаПоЗатратам.Заказ + "
|Номенклатурная группа: " + ВыборкаПоЗатратам.НоменклатурнаяГруппа, СтатусСообщения.Важное);*/
}
}
//МассивСумма = ОбщегоНазначения.РаспределитьПропорционально(СуммаОстаток, МассивКоэф, 2);
if(true/*СтруктураШапкиДокумента.ОтражатьВНалоговомУчете*/)
{
//ОбщаяСумма = СуммаОстаток + ПостояннаяРазницаОстаток + ВременнаяРазницаОстаток;
//МассивОбщаяСумма = ОбщегоНазначения.РаспределитьПропорционально(ОбщаяСумма, МассивКоэф, 2);
//МассивПостояннаяРазница = ОбщегоНазначения.РаспределитьПропорционально(ПостояннаяРазницаОстаток, МассивКоэф, 2);
//МассивВременнаяРазница = ОбщегоНазначения.РаспределитьПропорционально(ВременнаяРазницаОстаток, МассивКоэф, 2);
//МассивСуммаНУ = ОбщегоНазначения.РаспределитьПропорционально(СуммаОстаток, МассивКоэфНУ, 2);
}
//Индекс = 0;
//ВыборкаБаза.Сбросить();
while(true/*ВыборкаБаза.Следующий()*/)
{
if(true/*СтруктураШапкиДокумента.ОтражатьВНалоговомУчете*/)
{
//СуммаНУ = ?(МассивСуммаНУ = Неопределено, 0, МассивСуммаНУ[Индекс]);
//СуммаБУ = ?(МассивСумма = Неопределено, 0, МассивСумма[Индекс]);
//ПостояннаяРазница = ?(МассивПостояннаяРазница = Неопределено, 0, МассивПостояннаяРазница[Индекс]);
//ВременнаяРазница = ?(МассивВременнаяРазница = Неопределено, 0, МассивВременнаяРазница[Индекс]);
//ОбщаяСумма = ?(МассивОбщаяСумма = Неопределено, 0, МассивОбщаяСумма[Индекс]);
//ВременнаяРазница = ВременнаяРазница + СуммаБУ - СуммаНУ;
//Сумма = СуммаНУ;
/*// Скорректируем сумму затрат по временной или постоянной разнице для исключения ошибок округления.
*/
if(true/*Сумма + ПостояннаяРазница + ВременнаяРазница <> ОбщаяСумма*/)
{
if(true/*ВременнаяРазница <> 0*/)
{
//ВременнаяРазница = ОбщаяСумма - (Сумма + ПостояннаяРазница);
}
}
}
if(true/*Сумма <> 0
ИЛИ ПостояннаяРазница <> 0
ИЛИ ВременнаяРазница <> 0*/)
{
/*// Формирование приходных движений по регистру "Незавершенное производство".
*/
/*// Затрата
*/
/*// ХарактеристикаЗатраты
*/
/*// СерияЗатраты
*/
/*// Количество
*/
/*Сумма,
ПостояннаяРазница,
ВременнаяРазница,
ВидДвиженияНакопления.Приход,
НаборЗаписейНезавершенноеПроизводство
);*/
/*// Формирование движений по регистру бухгалтерии.
*/
if(true/*Не СтруктураШапкиДокумента.ОтражатьВУправленческомУчете*/)
{
/*СформироватьДвиженияПоРегиструБухгалтерииРаспределениеЗатрат(
СтруктураШапкиДокумента,
СтруктураШапкиДокумента.ВидОтраженияВУчете,
ВыборкаПоЗатратам,
ВыборкаБаза,
ВыборкаПоЗатратам.СтатьяЗатрат,
ХарактерЗатрат,
Сумма,
ПостояннаяРазница,
ВременнаяРазница,
РегистрБухгалтерииНаборЗаписей
);*/
}
/*// Распределение затрат на выпуск продукции по базе.
*/
/*//СтатусМатериальныхЗатрат
*/
/*НомерПередела,
Сумма,
ПостояннаяРазница,
ВременнаяРазница,
НаборЗаписейНезавершенноеПроизводство,
НаборЗаписейЗатратыНаВыпуск,
РегистрБухгалтерииНаборЗаписей
);*/
}
//Индекс = Индекс + 1;
}
/*// Формирование движений по регистру "Затраты".
*/
/*СформироватьДвиженияПоРегиструЗатратыРаспределениеЗатрат(
СтруктураШапкиДокумента,
ВыборкаПоЗатратам,
ХарактерЗатрат,
СуммаОстаток,
ПостояннаяРазницаОстаток,
ВременнаяРазницаОстаток,
ВидДвиженияНакопления.Расход,
НаборЗаписейЗатраты
);*/
/*// Формирование движений по регистру "Затраты (обороты)".
*/
if(true/*СтруктураШапкиДокумента.ОтражатьВУправленческомУчете*/)
{
/*РаспределитьСписанныеЗатратыПоПроектам(
СтруктураШапкиДокумента,
ВыборкаПоЗатратам,
ВыборкаРаспределениеПоПроектам,
СуммаОстаток,
НаборЗаписейЗатратыОбороты
);*/
}
}