Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
16 апр 2024, 22:43

Регламентный отчет Форма 11 Годовая

Автор ls600, 21 мая 2013, 09:13

0 Пользователей и 1 гость просматривают эту тему.

ls600

Доброго времени суток коллеги!
Платформа:     1С:Предприятие 8.2 (8.2.18.61)
Конфигурация:  Бухгалтерия для Казахстана, редакция 2.0,  (2.0.9.7)

Регламентированный отчет Форма 11 Годовая был немного доработан. т.к у Организации есть филиалы.
Ситуация такая,  при создании отчета (рис 1)  выбирается организация и филиал. после формирования отчета на странице 11 попадают данные "Незавершенного строительства организации".(рис 2). В филиале ни какого строительства не ведется.  Как с этим бороться?




ls600

Процедура ЗаполнитьАвто1() // для раздела 1
// сначала определимся с МОЛ (филиалы)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| СоответствиеМОЛФилиаламСрезПоследних.МОЛ
|ИЗ
| РегистрСведений.СоответствиеМОЛФилиалам.СрезПоследних(&Дата, ) КАК СоответствиеМОЛФилиаламСрезПоследних
|ГДЕ
| СоответствиеМОЛФилиаламСрезПоследних.Филиал = &Филиал";
Запрос.УстановитьПараметр("Дата", мДатаКонцаПериодаОтчета);
Запрос.УстановитьПараметр("Филиал", Филиал);
СписокМОЛ = Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("МОЛ");

Состояние("Заполнение Формы № 11 ОС. Раздел 1");
ТаблицаДанных1.Строки.Очистить();
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ РАЗРЕШЕННЫЕ
| ЗапросДляГруппировки.КодКоф КАК КодКоф,
| ЗапросДляГруппировки.ОстатокНаНачало КАК ОстатокНаНачало,
| ЗапросДляГруппировки.Поступило КАК Поступило,
| ЗапросДляГруппировки.Выбыло КАК Выбыло,
| ЗапросДляГруппировки.ОстатокНаКонец КАК ОстатокНаКонец,
| ЗапросДляГруппировки.Дооценка КАК Дооценка,
| ЗапросДляГруппировки.Уценка КАК Уценка,
| ЗапросДляГруппировки.Амортизация КАК Амортизация,
| ЗапросДляГруппировки.АмортизацияНаКонец КАК АмортизацияНаКонец,
| ЗапросДляГруппировки.АмортизацияСписано КАК АмортизацияСписано,
| ЗапросДляГруппировки.Списано КАК Списано,
| ЗапросДляГруппировки.ПрочееВыбыло КАК ПрочееВыбытие,
| ЗапросДляГруппировки.Приобретено КАК Приобретено,
| ЗапросДляГруппировки.ПрочееПоступило КАК ПрочееПоступление,
| ЗапросДляГруппировки.ОстатокНаКонецБаланс КАК ОстатокНаКонецБаланс,
| ЗапросДляГруппировки.ДоходОтРеализации КАК ДоходОтРеализации,
| ЗапросДляГруппировки.ОС
|ИЗ
| (ВЫБРАТЬ
| ЗапросДляРасчета.ОС КАК ОС,
| ЗапросДляРасчета.КодКоф КАК КодКоф,
| ЗапросДляРасчета.ОстатокНаНачало КАК ОстатокНаНачало,
| ЗапросДляРасчета.Поступило КАК Поступило,
| ЗапросДляРасчета.Выбыло КАК Выбыло,
| ЗапросДляРасчета.ОстатокНаКонец КАК ОстатокНаКонец,
| ЗапросДляРасчета.Дооценка КАК Дооценка,
| ЗапросДляРасчета.Уценка КАК Уценка,
| ЗапросДляРасчета.Амортизация КАК Амортизация,
| ЗапросДляРасчета.АмортизацияНаКонец КАК АмортизацияНаКонец,
| ЗапросДляРасчета.АмортизацияСписано КАК АмортизацияСписано,
| ВЫБОР
| КОГДА ЗапросДляРасчета.ОстатокНаКонец = &Ноль
| ТОГДА ЗапросДляРасчета.Выбыло - ВЫБОР
| КОГДА ЗапросДляРасчета.Уценка ЕСТЬ NULL
| ТОГДА 0
| ИНАЧЕ ЗапросДляРасчета.Уценка
| КОНЕЦ
| ИНАЧЕ 0
| КОНЕЦ КАК Списано,
| ВЫБОР
| КОГДА ЗапросДляРасчета.ОстатокНаКонец <> &Ноль
| ТОГДА ЗапросДляРасчета.Выбыло - ВЫБОР
| КОГДА ЗапросДляРасчета.Уценка ЕСТЬ NULL
| ТОГДА 0
| ИНАЧЕ ЗапросДляРасчета.Уценка
| КОНЕЦ
| ИНАЧЕ 0
| КОНЕЦ КАК ПрочееВыбыло,
| ВЫБОР
| КОГДА ЗапросДляРасчета.ОстатокНаНачало = &Ноль
| ТОГДА ЗапросДляРасчета.Поступило - ВЫБОР
| КОГДА ЗапросДляРасчета.Дооценка ЕСТЬ NULL
| ТОГДА 0
| ИНАЧЕ ЗапросДляРасчета.Дооценка
| КОНЕЦ
| ИНАЧЕ 0
| КОНЕЦ КАК Приобретено,
| ВЫБОР
| КОГДА ЗапросДляРасчета.ОстатокНаНачало <> &Ноль
| ТОГДА ЗапросДляРасчета.Поступило - ВЫБОР
| КОГДА ЗапросДляРасчета.Дооценка ЕСТЬ NULL
| ТОГДА 0
| ИНАЧЕ ЗапросДляРасчета.Дооценка
| КОНЕЦ
| ИНАЧЕ 0
| КОНЕЦ КАК ПрочееПоступило,
| ЗапросДляРасчета.ОстатокНаКонец - ВЫБОР
| КОГДА ЗапросДляРасчета.АмортизацияНаКонец ЕСТЬ NULL
| ТОГДА 0
| ИНАЧЕ ЗапросДляРасчета.АмортизацияНаКонец
| КОНЕЦ КАК ОстатокНаКонецБаланс,
| ВЫБОР
| КОГДА ЗапросДляРасчета.ОстатокНаКонец = &Ноль
| ТОГДА ЗапросДляРасчета.ДоходОтРеализации
| ИНАЧЕ 0
| КОНЕЦ КАК ДоходОтРеализации
| ИЗ
| (ВЫБРАТЬ
| ТиповойОстаткиИОборотыОС.Субконто1 КАК ОС,
| ТиповойОстаткиИОборотыОС.Субконто1.КодКОФ КАК КодКоф,
| ТиповойОстаткиИОборотыОС.СуммаНачальныйОстатокДт КАК ОстатокНаНачало,
| ТиповойОстаткиИОборотыОС.СуммаОборотДт КАК Поступило,
| ТиповойОстаткиИОборотыОС.СуммаОборотКт КАК Выбыло,
| ТиповойОстаткиИОборотыОС.СуммаКонечныйОстатокДт КАК ОстатокНаКонец,
| ПереоценкаВнеоборотныхАктивовОбороты.СуммаПереоценкиСтоимостиПриход КАК Дооценка,
| ПереоценкаВнеоборотныхАктивовОбороты.СуммаПереоценкиСтоимостиРасход КАК Уценка,
| ТиповойОстаткиИОборотыАморт.СуммаОборотКт КАК Амортизация,
| ТиповойОстаткиИОборотыАморт.СуммаКонечныйОстатокКт КАК АмортизацияНаКонец,
| ТиповойОборотыДтКтАморт.СуммаОборот КАК АмортизацияСписано,
| ЕСТЬNULL(ТиповойОстаткиИОборотыДоходыОтРеализ.СуммаОборотКт, 0) КАК ДоходОтРеализации
| ИЗ
| РегистрБухгалтерии.Типовой.ОстаткиИОбороты(&ДатаНач, &ДатаКон, , , Счет В ИЕРАРХИИ (&СписокСчетов), , Организация В ИЕРАРХИИ (&СписокОрганизаций)) КАК ТиповойОстаткиИОборотыОС
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ПереоценкаВнеоборотныхАктивов.Обороты(&ДатаНач, &ДатаКон, , Организация В ИЕРАРХИИ (&СписокОрганизаций)) КАК ПереоценкаВнеоборотныхАктивовОбороты
| ПО ТиповойОстаткиИОборотыОС.Субконто1 = ПереоценкаВнеоборотныхАктивовОбороты.ВнеоборотныйАктив
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Типовой.ОстаткиИОбороты(&ДатаНач, &ДатаКон, , , Счет В ИЕРАРХИИ (&СписокСчетовАмортизации), , Организация В ИЕРАРХИИ (&СписокОрганизаций)) КАК ТиповойОстаткиИОборотыАморт
| ПО ТиповойОстаткиИОборотыОС.Субконто1 = ТиповойОстаткиИОборотыАморт.Субконто1
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Типовой.ОборотыДтКт(&ДатаНач, &ДатаКон, , СчетДт В ИЕРАРХИИ (&СписокСчетовАмортизации), , СчетКт В ИЕРАРХИИ (&СписокСчетов), , ) КАК ТиповойОборотыДтКтАморт
| ПО ТиповойОстаткиИОборотыОС.Субконто1 = ТиповойОборотыДтКтАморт.СубконтоКт1
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Типовой.ОстаткиИОбороты(&ДатаНач, &ДатаКон, , , Счет В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Типовой.ДоходыОтВыбытияАктивов)), , Организация В ИЕРАРХИИ (&СписокОрганизаций)) КАК ТиповойОстаткиИОборотыДоходыОтРеализ
| ПО ТиповойОстаткиИОборотыОС.Субконто1 = ТиповойОстаткиИОборотыДоходыОтРеализ.Субконто2
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.МестонахождениеОСБухгалтерскийУчет.СрезПоследних(&ДатаКон) КАК МестонахождениеОСБухгалтерскийУчетСрезПоследних
| ПО ТиповойОстаткиИОборотыОС.Субконто1 = МестонахождениеОСБухгалтерскийУчетСрезПоследних.ОсновноеСредство
| ГДЕ
| МестонахождениеОСБухгалтерскийУчетСрезПоследних.МОЛ В(&СписокМОЛ)) КАК ЗапросДляРасчета) КАК ЗапросДляГруппировки
|ИТОГИ
| СУММА(ОстатокНаНачало),
| СУММА(Поступило),
| СУММА(Выбыло),
| СУММА(ОстатокНаКонец),
| СУММА(Дооценка),
| СУММА(Уценка),
| СУММА(Амортизация),
| СУММА(АмортизацияНаКонец),
| СУММА(АмортизацияСписано),
| СУММА(Списано),
| СУММА(ПрочееВыбытие),
| СУММА(Приобретено),
| СУММА(ПрочееПоступление),
| СУММА(ОстатокНаКонецБаланс),
| СУММА(ДоходОтРеализации)
|ПО
| КодКоф";

Запрос.УстановитьПараметр("СписокМОЛ", СписокМОЛ);
Запрос.УстановитьПараметр("ДатаНач", мДатаНачалаПериодаОтчета);
Запрос.УстановитьПараметр("ДатаКон", мДатаКонцаПериодаОтчета);
Запрос.УстановитьПараметр("Ноль", 0);
Запрос.УстановитьПараметр("СписокОрганизаций", мСписокСтруктурныхЕдиниц);
СписокСчетов = Новый СписокЗначений;
СписокСчетов.Добавить(ПланыСчетов.Типовой.ИнвестицииВНедвижимость);
СписокСчетов.Добавить(ПланыСчетов.Типовой.ОсновныеСредства);
СписокСчетов.Добавить(ПланыСчетов.Типовой.Растения);
СписокСчетов.Добавить(ПланыСчетов.Типовой.Животные);
Запрос.УстановитьПараметр("СписокСчетов", СписокСчетов);
СписокСчетовАмортизации = Новый СписокЗначений;
СписокСчетовАмортизации.Добавить(ПланыСчетов.Типовой.АмортизацияИнвестицийВНедвижимость);
СписокСчетовАмортизации.Добавить(ПланыСчетов.Типовой.АмортизацияОсновныхСредств);
Запрос.УстановитьПараметр("СписокСчетовАмортизации", СписокСчетовАмортизации);
ТаблицаДанных1 = Запрос.Выполнить().Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкам);

НедоамортизированнаяСтоимость = 0;
Для Каждого СтрокаТЗ Из ТаблицаДанных1.Строки Цикл
ЗаполнитьСтрокуЗначений1(СтрокаТЗ);
НедоамортизированнаяСтоимость = НедоамортизированнаяСтоимость +
Макс(?(СтрокаТЗ.Списано=null,0,СтрокаТЗ.Списано) - ?(СтрокаТЗ.АмортизацияСписано=null,0,СтрокаТЗ.АмортизацияСписано), 0);
КонецЦикла;
Значение("070", , НедоамортизированнаяСтоимость, ЭлементыФормы.ПолеТабличногоДокумента12);

//на начало года
Запрос = Новый Запрос(
"ВЫБРАТЬ РАЗРЕШЕННЫЕ
| ТиповойОстатки.СуммаОстатокДт
|ИЗ
| РегистрБухгалтерии.Типовой.Остатки(&ДатаЗапроса, Счет = &СчетНезавершенноеСтроительство, , Организация В ИЕРАРХИИ (&СписокОрганизаций)) КАК ТиповойОстатки");

Запрос.УстановитьПараметр("ДатаЗапроса", мДатаНачалаПериодаОтчета);
Запрос.УстановитьПараметр("СчетНезавершенноеСтроительство", ПланыСчетов.Типовой.НезавершенноеСтроительство);
Запрос.УстановитьПараметр("СписокОрганизаций", мСписокСтруктурныхЕдиниц);

РезультатЗапроса = Запрос.Выполнить();

Если Не РезультатЗапроса.Пустой() Тогда

ВыборкаРезультатов = РезультатЗапроса.Выбрать();
ВыборкаРезультатов.Следующий();

Значение("063","1", ВыборкаРезультатов.СуммаОстатокДт, ЭлементыФормы.ПолеТабличногоДокумента12);

КонецЕсли;

// на конец года
Запрос = Новый Запрос(
"ВЫБРАТЬ РАЗРЕШЕННЫЕ
| ТиповойОстатки.СуммаОстатокДт
|ИЗ
| РегистрБухгалтерии.Типовой.Остатки(&ДатаЗапроса, Счет = &СчетНезавершенноеСтроительство, , Организация В ИЕРАРХИИ (&СписокОрганизаций)) КАК ТиповойОстатки");

Запрос.УстановитьПараметр("ДатаЗапроса", Новый Граница(КонецДня(мДатаКонцаПериодаОтчета), ВидГраницы.Включая));
Запрос.УстановитьПараметр("СчетНезавершенноеСтроительство", ПланыСчетов.Типовой.НезавершенноеСтроительство);
Запрос.УстановитьПараметр("СписокОрганизаций", мСписокСтруктурныхЕдиниц);

РезультатЗапроса = Запрос.Выполнить();


Если Не РезультатЗапроса.Пустой() Тогда   

ВыборкаРезультатов = РезультатЗапроса.Выбрать();
ВыборкаРезультатов.Следующий();

Значение("063","11", ВыборкаРезультатов.СуммаОстатокДт, ЭлементыФормы.ПолеТабличногоДокумента12);
   
КонецЕсли;


фрагмент кода, Значение("063","11", ВыборкаРезультатов.СуммаОстатокДт, ЭлементыФормы.ПолеТабличногоДокумента12);
если убрать этот код соответственно и пропадут данные итогов незавершенного строительства.
если нужен будет отчет скину.





Добавлено: 22 мая 2013, 08:28


Разобрался, условие переписал. Пока такой вариант нашел.
Если Не РезультатЗапроса.Пустой()Тогда   

ВыборкаРезультатов = РезультатЗапроса.Выбрать();
ВыборкаРезультатов.Следующий();
Если Не Филиал.Наименование="Филиал ...." И Филиал.Наименование="Филиал...." Тогда
Значение("063","11", ВыборкаРезультатов.СуммаОстатокДт, ЭлементыФормы.ПолеТабличногоДокумента12);
Иначе
Значение("063","11",,ЭлементыФормы.ПолеТабличногоДокумента12);
КонецЕсли;
КонецЕсли;


Добавлено: 22 мая 2013, 12:42


кто нибудь может подсказать где в коде отчета рассчитывается "Лицензионное соглашение"?
код не стал вписывать весь, т.к в типовой конфигурации 1С Бухгалтерии 8.2 этот отчет есть.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск