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