|
Правильно ли? | ☑ | ||
---|---|---|---|---|
0
Новичёк123123
11.08.11
✎
18:43
|
Доброго времени суток) Написал один отчетик, старший сказал что в принципе работает, но написано не правильно. Вопрос прав ли старший?
Код Процедура КнопкаСформироватьНажатие(Кнопка) Запрос=Новый Запрос; Запрос.Текст="ВЫБРАТЬ | ХозрасчетныйОстатки.Субконто1 КАК ОсновноеСредство, | ПервоначальныеСведенияОСБухгалтерскийУчетСрезПоследних.ИнвентарныйНомер КАК ИнвНом, | ХозрасчетныйОстатки.Счет КАК Счет, | ПервоначальныеСведенияОСБухгалтерскийУчетСрезПоследних.СпособНачисленияАмортизации КАК СпособНачисленияАмортизации, | ПервоначальныеСведенияОСБухгалтерскийУчетСрезПоследних.ПервоначальнаяСтоимость КАК ПервоначальнаяСтоимость, | ПараметрыАмортизацииОСБухгалтерскийУчетСрезПоследних.ЛиквидационнаяСтоимость КАК ЛиквидационнаяСтоимость, | ПараметрыАмортизацииОСБухгалтерскийУчетСрезПоследних.СрокПолезногоИспользования КАК СрокПолезногоИспользования, | ПараметрыАмортизацииОСБухгалтерскийУчетСрезПоследних.СрокИспользованияДляВычисленияАмортизации КАК ИспользованиеДляВычисленияАмортизации, | ХозрасчетныйОстатки.СуммаОстаток КАК СуммаОстаток, | ПервоначальныеСведенияОСБухгалтерскийУчетСрезПоследних.ПервоначальнаяСтоимость - ПараметрыАмортизацииОСБухгалтерскийУчетСрезПоследних.ЛиквидационнаяСтоимость КАК ОстаточнаяСтоимостьНач, | ПервоначальныеСведенияОСБухгалтерскийУчетСрезПоследних.ПервоначальнаяСтоимость / ПараметрыАмортизацииОСБухгалтерскийУчетСрезПоследних.СрокПолезногоИспользования КАК АмортизацияЗаМесяц, | ПервоначальныеСведенияОСБухгалтерскийУчетСрезПоследних.ПервоначальнаяСтоимость / ПараметрыАмортизацииОСБухгалтерскийУчетСрезПоследних.СрокПолезногоИспользования * &КоличествоМесяцев КАК СуммаАмортизации, | ПервоначальныеСведенияОСБухгалтерскийУчетСрезПоследних.ПервоначальнаяСтоимость - ПараметрыАмортизацииОСБухгалтерскийУчетСрезПоследних.ЛиквидационнаяСтоимость - ПервоначальныеСведенияОСБухгалтерскийУчетСрезПоследних.ПервоначальнаяСтоимость / ПараметрыАмортизацииОСБухгалтерскийУчетСрезПоследних.СрокПолезногоИспользования * &КоличествоМесяцев КАК ОстаточнаяСтоимость |ИЗ | РегистрБухгалтерии.Хозрасчетный.Остатки(&Дата, Счет В (&Счет), , Организация = &Организация) КАК ХозрасчетныйОстатки | ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ПараметрыАмортизацииОСБухгалтерскийУчет.СрезПоследних(&Дата, Организация = &Организация) КАК ПараметрыАмортизацииОСБухгалтерскийУчетСрезПоследних | ПО ХозрасчетныйОстатки.Субконто1 = ПараметрыАмортизацииОСБухгалтерскийУчетСрезПоследних.ОсновноеСредство | И ХозрасчетныйОстатки.Организация = ПараметрыАмортизацииОСБухгалтерскийУчетСрезПоследних.Организация | ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ПервоначальныеСведенияОСБухгалтерскийУчет.СрезПоследних( | &Дата, | ПервоначальнаяСтоимость > 0.1 | И Организация = &Организация) КАК ПервоначальныеСведенияОСБухгалтерскийУчетСрезПоследних | ПО ХозрасчетныйОстатки.Субконто1 = ПервоначальныеСведенияОСБухгалтерскийУчетСрезПоследних.ОсновноеСредство | И ХозрасчетныйОстатки.Организация = ПервоначальныеСведенияОСБухгалтерскийУчетСрезПоследних.Организация | |УПОРЯДОЧИТЬ ПО | ХозрасчетныйОстатки.Субконто1.Наименование |ИТОГИ | СУММА(ПервоначальнаяСтоимость), | СУММА(ЛиквидационнаяСтоимость), | СУММА(СуммаОстаток), | СУММА(ОстаточнаяСтоимостьНач), | СУММА(АмортизацияЗаМесяц), | СУММА(СуммаАмортизации), | СУММА(ОстаточнаяСтоимость) |ПО | Счет"; СП=Новый СписокЗначений; СП.Добавить(ПланыСчетов.Хозрасчетный.МашиныИОборудование); СП.Добавить(ПланыСчетов.Хозрасчетный.ТранспортныеСредства); СП.Добавить(ПланыСчетов.Хозрасчетный.ИнструментыПриборыИИнвентарь); Если Месяц(ДатаКон)-Месяц(ДатаНач)<0 Тогда КоличествоМесяцев=Месяц(ДатаКон)-Месяц(ДатаНач)+12 Иначе КоличествоМесяцев=Месяц(ДатаКон)-Месяц(ДатаНач); КонецЕсли; Запрос.УстановитьПараметр("Дата", новый Граница(КонецДня(ДатаКон),ВидГраницы.Включая)); Запрос.УстановитьПараметр("Организация", Организация); Запрос.УстановитьПараметр("Счет", СП); КолМес=КоличествоМесяцев+1; Запрос.УстановитьПараметр("КоличествоМесяцев", КолМес); Результат=Запрос.Выполнить(); Результат=Результат.Выбрать(); ТабДок=ЭлементыФормы.ТабДок; ТабДок.Очистить(); Макет=ПолучитьМакет("Макет"); ОбластьШапки=Макет.ПолучитьОбласть("Шапка"); ОбластьМесяца=Макет.ПолучитьОбласть("Месяц"); ОбластьСтроки=Макет.ПолучитьОбласть("Строка"); ОбластьАмортизации=Макет.ПолучитьОбласть("Амортизация"); ОбластьПродолженияСтроки=Макет.ПолучитьОбласть("ПродолжениеСтроки"); ОбластьПодстроки=Макет.ПолучитьОбласть("Подстрока"); ОбластьШапки.Параметры.Организация=Организация; ОбластьШапки.Параметры.ДатаНач=ДатаНач; ОбластьШапки.Параметры.ДатаКон=ДатаКон; ТабДок.Вывести(ОбластьШапки); Для Сч=0 По КоличествоМесяцев Цикл Если Месяц(ДатаНач)=01 Тогда Месяц="Январь"; ИначеЕсли Месяц(ДатаНач)=02 Тогда Месяц="Фефраль"; ИначеЕсли Месяц(ДатаНач)=03 Тогда Месяц="Март"; ИначеЕсли Месяц(ДатаНач)=04 Тогда Месяц="Апрель"; ИначеЕсли Месяц(ДатаНач)=05 Тогда Месяц="Май"; ИначеЕсли Месяц(ДатаНач)=06 Тогда Месяц="Июнь"; ИначеЕсли Месяц(ДатаНач)=07 Тогда Месяц="Июль"; ИначеЕсли Месяц(ДатаНач)=08 Тогда Месяц="Август"; ИначеЕсли Месяц(ДатаНач)=09 Тогда Месяц="Сентябрь"; ИначеЕсли Месяц(ДатаНач)=10 Тогда Месяц="Октябрь"; ИначеЕсли Месяц(ДатаНач)=11 Тогда Месяц="Ноябрь"; ИначеЕсли Месяц(ДатаНач)=12 Тогда Месяц="Декабрь"; КонецЕсли; ОбластьМесяца.Параметры.Месяц=Месяц; ТабДок.Присоединить(ОбластьМесяца); ДатаНач=ДобавитьМесяц(ДатаНач,1); КонецЦикла; ОбластьПродолженияШапки=Макет.ПолучитьОбласть("ПродолжениеШапки"); ОбластьПродолженияШапки.Параметры.ДатаКон=ДатаКон; ТабДок.Присоединить(ОбластьПродолженияШапки); Пока Результат.Следующий()=1 Цикл ОбластьСтроки.Параметры.ОсновноеСредство=Результат.ОсновноеСредство; ОбластьСтроки.Параметры.ИнвНом=Результат.ИнвНом; Если ЗначениеЗаполнено(Результат.ОсновноеСредство)=1 Тогда ОбластьСтроки.Параметры.СчетУчета=Результат.Счет; ОбластьСтроки.Параметры .СпособНачисления=Результат.СпособНачисленияАмортизации; ОбластьСтроки.Параметры.ПервоначальнаяСтоимость=Результат.ПервоначальнаяСтоимость; ОбластьСтроки.Параметры.ЛиквидационнаяСтоимость=Результат.ЛиквидационнаяСтоимость; ОбластьСтроки.Параметры.СрокПолезногоИспользования=Результат.СрокПолезногоИспользования; ОбластьСтроки.Параметры.ИспользованиеДляВычисленияАмортизации=Результат.ИспользованиеДляВычисленияАмортизации; ОбластьСтроки.Параметры.ОстаточнаяСтоимостьНач=Результат.ОстаточнаяСтоимостьНач; ТабДок.Вывести(ОбластьСтроки); Для Сч=0 По КоличествоМесяцев Цикл ОбластьАмортизации.Параметры.АмортизацияЗаМесяц=Окр(Результат.АмортизацияЗаМесяц,3); ТабДок.Присоединить(ОбластьАмортизации); КонецЦикла; ОбластьПродолженияСтроки.Параметры.АмортизацияНаКонецПериода=Окр(Результат.СуммаАмортизации,3); ОбластьПродолженияСтроки.Параметры.ОстаточнаяСтоимостьКон=Окр(Результат.ОстаточнаяСтоимость,3); ТабДок.Присоединить(ОбластьПродолженияСтроки); Иначе ЦифраСчета=Прав(Результат.Счет,1); ОбластьСтроки.Параметры.СчетУчета="131"+ЦифраСчета; ОбластьСтроки.Параметры.ПервоначальнаяСтоимость=Результат.ПервоначальнаяСтоимость; ОбластьСтроки.Параметры.ЛиквидационнаяСтоимость=Результат.ЛиквидационнаяСтоимость; ОбластьСтроки.Параметры.ОстаточнаяСтоимостьНач=Результат.ОстаточнаяСтоимостьНач; ТабДок.Вывести(ОбластьСтроки); Для Сч=0 По КоличествоМесяцев Цикл ОбластьАмортизации.Параметры.АмортизацияЗаМесяц=Окр(Результат.АмортизацияЗаМесяц,3); ТабДок.Присоединить(ОбластьАмортизации); КонецЦикла; ОбластьПродолженияСтроки.Параметры.АмортизацияНаКонецПериода=Окр(Результат.СуммаАмортизации,3); ОбластьПродолженияСтроки.Параметры.ОстаточнаяСтоимостьКон =Окр(Результат.ОстаточнаяСтоимость,3); ТабДок.Присоединить(ОбластьПродолженияСтроки); КонецЕсли; КонецЦикла; ТабДок.Показать("Отчет по амортизации"); КонецПроцедуры макет: http://saveimg.ru/show-image.php?id=0460f62b97ea5c72171b0291d0065408 |
|||
1
iamnub
11.08.11
✎
18:44
|
Старший всегда прав.
|
|||
2
Родной
11.08.11
✎
18:46
|
а не судьба спросить что не правильно ?
|
|||
3
Новичёк123123
11.08.11
✎
18:48
|
Спросил Говорит что как бы раз работает то не плохо, но
Пока Результат.Следующий()=1 Цикл ОбластьСтроки.Параметры.ОсновноеСредство=Результат.ОсновноеСредство; ОбластьСтроки.Параметры.ИнвНом=Результат.ИнвНом; Если ЗначениеЗаполнено(Результат.ОсновноеСредство)=1 Тогда ОбластьСтроки.Параметры.СчетУчета=Результат.Счет; ОбластьСтроки.Параметры .СпособНачисления=Результат.СпособНачисленияАмортизации; ОбластьСтроки.Параметры.ПервоначальнаяСтоимость=Результат.ПервоначальнаяСтоимость; ОбластьСтроки.Параметры.ЛиквидационнаяСтоимость=Результат.ЛиквидационнаяСтоимость; ОбластьСтроки.Параметры.СрокПолезногоИспользования=Результат.СрокПолезногоИспользования; ОбластьСтроки.Параметры.ИспользованиеДляВычисленияАмортизации=Результат.ИспользованиеДляВычисленияАмортизации; ОбластьСтроки.Параметры.ОстаточнаяСтоимостьНач=Результат.ОстаточнаяСтоимостьНач; ТабДок.Вывести(ОбластьСтроки); Для Сч=0 По КоличествоМесяцев Цикл ОбластьАмортизации.Параметры.АмортизацияЗаМесяц=Окр(Результат.АмортизацияЗаМесяц,3); ТабДок.Присоединить(ОбластьАмортизации); КонецЦикла; ОбластьПродолженияСтроки.Параметры.АмортизацияНаКонецПериода=Окр(Результат.СуммаАмортизации,3); ОбластьПродолженияСтроки.Параметры.ОстаточнаяСтоимостьКон=Окр(Результат.ОстаточнаяСтоимость,3); ТабДок.Присоединить(ОбластьПродолженияСтроки); Иначе ЦифраСчета=Прав(Результат.Счет,1); ОбластьСтроки.Параметры.СчетУчета="131"+ЦифраСчета; ОбластьСтроки.Параметры.ПервоначальнаяСтоимость=Результат.ПервоначальнаяСтоимость; ОбластьСтроки.Параметры.ЛиквидационнаяСтоимость=Результат.ЛиквидационнаяСтоимость; ОбластьСтроки.Параметры.ОстаточнаяСтоимостьНач=Результат.ОстаточнаяСтоимостьНач; ТабДок.Вывести(ОбластьСтроки); Для Сч=0 По КоличествоМесяцев Цикл ОбластьАмортизации.Параметры.АмортизацияЗаМесяц=Окр(Результат.АмортизацияЗаМесяц,3); ТабДок.Присоединить(ОбластьАмортизации); КонецЦикла; ОбластьПродолженияСтроки.Параметры.АмортизацияНаКонецПериода=Окр(Результат.СуммаАмортизации,3); ОбластьПродолженияСтроки.Параметры.ОстаточнаяСтоимостьКон =Окр(Результат.ОстаточнаяСтоимость,3); ТабДок.Присоединить(ОбластьПродолженияСтроки); КонецЕсли; нужно было бы выразить через группировки. А по мне так зачем когда там можно условием обойтись. |
|||
4
unregistered
11.08.11
✎
18:48
|
(0) Ссылка на макет битая
|
|||
5
Новичёк123123
11.08.11
✎
18:49
|
<a href='http://saveimg.ru/show-image.php?id=0460f62b97ea5c72171b0291d0065408'> <img src='http://saveimg.ru/thumbnails/11-08-11/3212cbd483cbbd38cdb75b871c8e4122.JPG' alt='загрузи изображение бесплатно' border='0'> </a>
|
|||
6
Новичёк123123
11.08.11
✎
18:49
|
||||
7
Новичёк123123
11.08.11
✎
18:49
|
вот последняя работает
|
|||
8
zladenuw
11.08.11
✎
18:51
|
а печатную форму отчета покаж
|
|||
9
unregistered
11.08.11
✎
18:55
|
Что-то я с месяцами ни фига не понял. Там что в каждый месяц одна и та же цифирь кладется? А занафига? А если в разных месяцах разная сумма амортизации реально была (модернизации там всякие)?
|
|||
10
Новичёк123123
11.08.11
✎
18:55
|
http://saveimg.ru/show-image.php?id=2bf382f14ac95d3975ffac812ceca54e
при прямолинейной амортизации сумма одинакова на все месяца) |
|||
11
unregistered
11.08.11
✎
18:59
|
(10) >> при прямолинейной амортизации сумма одинакова на все месяца)
Что за бред? А если ты модернизировал основное средство через год с начала его эксплуатации? У тебя стопудово измениться его стоимость для начисления амортизации. А вот срок полезного использования может остаться и неизменным или измениться непропорционально изменению стоимости. |
|||
12
Новичёк123123
11.08.11
✎
19:02
|
примем за аксиому, что модернизация ОС проводиться не будет
|
|||
13
unregistered
11.08.11
✎
19:04
|
(12) Тебе бухи мамой клялись? Ну, ну....
|
|||
14
Новичёк123123
11.08.11
✎
19:05
|
(13) Проверкой налоговой поклялись)
|
|||
15
unregistered
11.08.11
✎
19:14
|
(14) Верить бухам в таких впросах - большая ошибка. Поймешь когда тебя в грубой форме поимеют за неправильно работающий отчет, а твои слова типа "ну вы же сами мне обещали" ни кто слушать не будет.
По сути вопроса в (0): старший прав. правильнее через обход по группировкам. Ошибка может быть в том, что если в регистре нарисуются записи с пустым значением Субконто1, твой отчет воспримет это как итоговую строку по счету. Конечно если учет ведется правильно, то таких записей быть не должно, но чисто технически такое вполне допустимо и возможно. |
|||
16
Новичёк123123
11.08.11
✎
19:16
|
понятно) спасибо) Старший тоже передал спасибо)
|
|||
17
Mnemonic1C
11.08.11
✎
19:55
|
(0) Правильные отчета всегда пишутся на СКД
|
|||
18
zladenuw
11.08.11
✎
19:56
|
(17) ну да и про построитесь отчета скажи забыли :)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |