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