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