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