public void КорректировкаСписания(/*ДатаНач, ДатаКон, ТаблицаТоваров, РегламентныйДокумент,
Организация,
ВидОтраженияВУчете,
НеСписыватьНаПостоянныеЗатраты = Ложь, ДопПараметры = Неопределено, ПоследнийПередел = Ложь,
ВстречныйВыпуск = Ложь*/)
{
/*//Признак того, что в параметр ДопПараметры передана структура и ее необходимо вернуть из процедуры
*/
//флТребуетсяВозвратДопПараметров = истина;
if(true/*ТипЗнч(ДопПараметры) <> Тип("Структура")*/)
{
//флТребуетсяВозвратДопПараметров = Ложь;
//ДопПараметры = Новый Структура;
}
if(true/*ВидОтраженияВУчете = Перечисления.ВидыОтраженияВУчете.ОтражатьВУправленческомУчете*/)
{
//СпособВеденияПартионногоУчетаПоОрганизации = УправлениеЗапасами.ПолучитьСпособВеденияПартионногоУчетаПоОрганизации(Организация, ДатаКон);
//ДопПараметры.Вставить("Организация", УправлениеЗапасами.ПолучитьОрганизациюВСоответствииСоСпособомВеденияПартионногоУчетаПоОрганизациям(Организация,СпособВеденияПартионногоУчетаПоОрганизации));
}
//ДопПараметры.Вставить("НеСписыватьНаПостоянныеЗатраты", НеСписыватьНаПостоянныеЗатраты);
/*// Приведение структуры доп.параметров к виду структуры параметров из основного алгоритма списания партий
*/
/*//
*/
//ДопПараметры.Вставить("ОтражатьВУправленческомУчете" , (ВидОтраженияВУчете = Перечисления.ВидыОтраженияВУчете.ОтражатьВУправленческомУчете));
//ДопПараметры.Вставить("ОтражатьВБухгалтерскомУчете" , (ВидОтраженияВУчете = Перечисления.ВидыОтраженияВУчете.ОтражатьВБухгалтерскомУчете));
//ДопПараметры.Вставить("ОтражатьВНалоговомУчете" , (ВидОтраженияВУчете = Перечисления.ВидыОтраженияВУчете.ОтражатьВНалоговомУчете));
//ДопПараметры.Вставить("ОтражатьВМеждународномУчете" , (ВидОтраженияВУчете = Перечисления.ВидыОтраженияВУчете.ОтражатьВМеждународномУчете));
//ДопПараметры.Вставить("ЕстьСтрокиОтражатьВУправленческомУчете" , (ВидОтраженияВУчете = Перечисления.ВидыОтраженияВУчете.ОтражатьВУправленческомУчете));
//ДопПараметры.Вставить("ЕстьСтрокиОтражатьВБухгалтерскомУчете" , (ВидОтраженияВУчете = Перечисления.ВидыОтраженияВУчете.ОтражатьВБухгалтерскомУчете));
//ДопПараметры.Вставить("ЕстьСтрокиОтражатьВНалоговомУчете" , (ВидОтраженияВУчете = Перечисления.ВидыОтраженияВУчете.ОтражатьВНалоговомУчете));
//ДопПараметры.Вставить("ЕстьСтрокиОтражатьВМеждународномУчете" , (ВидОтраженияВУчете = Перечисления.ВидыОтраженияВУчете.ОтражатьВМеждународномУчете));
//ДопПараметры.Вставить("КэшПоВидамСубконто", Новый Соответствие);
if(true/*НЕ ДопПараметры.Свойство("КодыОпераций")*/)
{
//ДопПараметры.Вставить("КодыОпераций", Перечисления.КодыОперацийПартииТоваров);
}
if(true/*НЕ РегламентныйДокумент = Неопределено*/)
{
//ДопПараметры.Вставить("ТипЗначенияРегистратора", ТипЗнч(РегламентныйДокумент));
}
//ДопПараметры.Вставить("ВстречныйВыпуск",ВстречныйВыпуск);
//СкорректироватьСписание(ДатаНач, ДатаКон, ТаблицаТоваров, РегламентныйДокумент, ДопПараметры);
/*// Корректировка стоимости реализации комплектов продукции должна выполняться только после последнего передела,
*/
/*// когда известна себестоимость всей продукции
*/
/*// Получим список номенклатуры появившейся в результате комплектации
*/
/*// Это упрощенный способ, имеющий свои ограничения
*/
/*// Так можно рассчитать только себестоимость реализации комплектов, скомплектованных одним документом "комплектация"
*/
/*// Более сложные схемы с многоуровневыми комплектациями - разукомплектациями и передачами комплектов в производство
*/
/*// обслуживаются только специализированными производственными документами
*/
if(true/*ПоследнийПередел*/)
{
//ТаблицаКомплектов = ПолучитьТаблицуПартийПоКодуОперации(ДатаНач,ДатаКон,ДопПараметры,Перечисления.КодыОперацийПартииТоваров.Комплектация,ВидДвиженияНакопления.Приход);
/*// Если комплектов нет - корректировать нечего
*/
if(true/*ТаблицаКомплектов <> Неопределено*/)
{
//ДопПараметры.Вставить("КорректироватьКомплектыПродукции");
//СкорректироватьСписание(ДатаНач, ДатаКон, ТаблицаКомплектов, РегламентныйДокумент, ДопПараметры);
}
/*// Если возврат от покупателя текущего месяца осуществляется по документу поступления - стоимость соответствующего состояния
*/
/*// может быть уменьшена документом списания и стоимость возврата может не соотвествовать стоимости реализации
*/
/*// Поэтому корректировка стоимости возвратов от покупателя текущего месяца должна выполняться последней
*/
//ТаблицаВозвратов = ПолучитьТаблицуПартийПоКодуОперации(ДатаНач,ДатаКон,ДопПараметры,Перечисления.КодыОперацийПартииТоваров.ВозвратОтПокупателяТекущийМесяц,ВидДвиженияНакопления.Расход);
if(true/*ТаблицаВозвратов <> Неопределено*/)
{
//ДопПараметры.Вставить("КорректироватьСтоимостьВозвратовТекущегоМесяца");
//СкорректироватьСписание(ДатаНач, ДатаКон, ТаблицаВозвратов, РегламентныйДокумент, ДопПараметры);
}
}
if(true/*флТребуетсяВозвратДопПараметров*/)
{
/*// Последних переделов может быть несколько
*/
if(true/*ДопПараметры.Свойство("КорректироватьКомплектыПродукции")*/)
{
//ДопПараметры.Удалить("КорректироватьКомплектыПродукции");
}
if(true/*ДопПараметры.Свойство("КорректироватьСтоимостьВозвратовТекущегоМесяца")*/)
{
//ДопПараметры.Удалить("КорректироватьСтоимостьВозвратовТекущегоМесяца");
}
}
}