|
v7: Продолжаю старую тему "Нужна помощь по формированию квитанций" Ø (Злопчинский 13.05.2015 01:50) | ☑ | ||
---|---|---|---|---|
0
tinuvel
11.05.15
✎
13:43
|
В 1с предприятие при переходе "отчеты->квитанция общая(квартплата и кап ремонт)" есть пункт "печать квитанций с переплатой и суммой к оплате =0" когда отмечаешь этот пункт квитанции с остатком меньше 100 не выводятся на печать. Нужно чтобы не выводились менее 500.
Выкладываю модуль <pre>Перем ФлагПечати; Перем Таб,Лист,Начисл,Начисл1,Начисл2; Перем ПолучательПл,Банк,МФО,РасчСчет,РасчСчет1,ПолучательПл1,Банк1,МФО1,РасчСчет2 ,ПолучательПл2,Банк2,МФО2; Перем Объектт,Дома,ФИО,ЛицСч,Сведения; Перем КОплате,ЕдИзм,ДатаДолга,Неоплата,Оплата,Пеня,ВсегоНач,СуммаВсег,Справка,СуммаДолга,Субсидия; Перем Колич,Тариф,ВсегоСпр; Перем СуммаНач,ИтогоНач; Перем Предоплата,СуммаСПредоплатой; Перем Объектт1,Дома1,ФИО1,ЛицСч1,Сведения1; Перем КОплате1,ЕдИзм1,ДатаДолга1,Неоплата1,Оплата1,Пеня1,Пеня1К,Пеня1К_,ВсегоНач1,СуммаВсег1,СуммаВсег1К,СуммаВсег1К_,Справка1,СуммаДолга1,Субсидия1; Перем Колич1,Тариф1,ВсегоСпр1; Перем СуммаНач1,ИтогоНач1; Перем Предоплата1,СуммаСПредоплатой1; Перем Сум[41],Спр[41],СумЕ[41],СумК[41],СумТ[41],Печ[41]; Перем Единицы; Перем Дескриптр; Перем Датты,СчетчикПеч,СчетчикПеч1; Перем ЕдИзмП[35],КоличП[35],ТарифП[35],СуммаНачП[35],ИтогоНачП[35],НачислП[35],СправкаП[35]; Перем ЕдИзмВ[35],КоличВ[35],ТарифВ[35],СуммаНачВ[35],ИтогоНачВ[35],НачислВ[35],СправкаВ[35]; Перем ДатаДолгаП[60],СуммаДолгаП[60],СуммаПениП[60],ДатаДолгаПК[60],ДатаДолгаПК_[60],СуммаДолгаПК[60],СуммаПениПК[60],СуммаДолгаПК_[60],СуммаПениПК_[60]; Перем ДатаДолгаВ[60],СуммаДолгаВ[60],СуммаПениВ[60],ДатаДолгаВК[60],СуммаДолгаВК[60],СуммаПениВК[60],ДатаДолгаВК_[60],СуммаДолгаВК_[60],СуммаПениВК_[60]; Перем Долги,Долги1,Долги2; Перем ТекстОтчета; Перем ДатПред; Перем КОплате1П,КОплате1ПК,КОплате1ПК_,Пени1,Пени1К,Пени1К_,ИтогПред1,ИтогПред1К,ИтогПред1К_,Предоплата1К,КОплате1К,Предоплата1К_,КОплате1К_,ВсегоСДолгом1,ВсегоСДолгом1К ,ВсегоСДолгом1К_,Итого1,Оплата1К,Оплата1К_,ВсегоНач1К,ВсегоСпр1К,ВсегоНач1К_,ВсегоСпр1К_; Перем Перерасчет,Перерасчет1,Перерасчет2; Перем СальдоДоп,СальдоДоп1,СальдоДоп2,СальдоДп,СальдоДп1,СальдоДп2; /// Перем ОбъекттН,ОбъекттН1,ОбъекттН2,СальдоНач,СальдоНач1,СальдоНач2; Перем Кол,Кол1,Кол2,Льг,Льг1,Льг2,ПлОбщ,ПлЖил,ПлОбщ1,ПлЖил1,ПлОбщ2,ПлЖил2; Перем Ж,З; Перем СуммаЛьготП[35],СправкаИндП[35],СуммаЛьготВ[35],СправкаИндВ[35],СуммаЛьготТ[35],СправкаИндТ[35] ,СуммаЛьготЧ[35],СправкаИндЧ[35]; Перем СумЛ[41],СумИнд[41]; Перем СуммаЛьг,СуммаЛь1,СуммаЛь2,СуммаПер,СуммаПр1,СуммаПр2,СумИн,СумИн1,СумИн2; Перем Общая; Перем Период; Перем СуммаВсегПен,СуммаВсегПен1,СуммаВсегПен1К,СуммаВсегПен1К_; Перем Сммм; Перем СумВсегПен1,СумВсегПен1К,СумВсегПен1К_,СумВсегПен; Перем Коментарии,Коментарии1,пояснения; Перем СЗ,СЗ1; Перем СальдоН1,СальдоН1К,СальдоН1К_; Перем ИтогоК; ПЕрем Субс1,Субс2,Субс3,Субс; Перем Группа,СЗемлей,ДвеКв; ///телефоны Перем Имя1,Имя2,Имя3,Имя_1,Имя_2,Имя_3; Перем Т1,Т2,Т3,Т_1,Т_2,Т_3; Перем Имя1Б,Имя2Б,Имя3Б,Имя_1Б,Имя_2Б,Имя_3Б; Перем ПолучательПл_Б,ПолучательПл_1Б; Перем ПолучательПлБ,ПолучательПл1Б,ПолучательПл2Б; Перем БанкБ,Банк1Б,БанкБ2; Перем ПолучательПл_,ПолучательПл_1; Перем _КОплате1_,_Пеня1_,_Сальдо1_,_Сальдо11_,_Сальдо12_; Перем Начислено1Гр,Начислено2Гр,Начислено3Гр,СальдоН1К__; Перем ФлагПрохода; ///показания Перем ПокХВН,ПокХВН1,ПокГВН,ПокГВН1,ПокХВК,ПокХВК1,ПокГВК,ПокГВК1; Перем Адресная; //10.11 Перем ПоНормеХв,ПоНормеКНС,СуммаПоНормеХВ,СуммаПоНормеКНС; Процедура РасчетПоСчетчику(Квартиры_,Документы_,ПоНормеХВ,ПоНормеКНС,СуммаПоНормеХВ,СуммаПоНормеКНС) ////10.11 ПоНормеХВ=0;ПоНормеКНС=0;СуммаПоНормеХВ=0;СуммаПоНормеКНС=0; Документы_.ВыбратьСтроки(); Пока Документы_.ПолучитьСтроку()=1 Цикл Если Документы_.Квартира=Квартиры_ Тогда ПоНормеХВ=ПоНормеХВ+Документы_.ПоНормеХВ;; ПоНормеКНС=ПоНормеКНС+Документы_.ПоНормеКНС; СуммаПоНормеХВ=СуммаПоНормеХВ+Документы_.СуммаПоНормеХВ; СуммаПоНормеКНС=СуммаПоНормеКНС+Документы_.СуммаПоНормеКНС; КонецЕсли; КонецЦикла; КонецПроцедуры //10.11 Процедура ОкруглениеОплаты(Сммм); Смм=0; Смм=Окр(Сммм,-1,1); КонецПроцедуры Процедура ПроверкаУлицы() Форма.ФлагПоказа.Доступность(1); Форма.ФлагПоказа.Видимость(1); Форма.Дом.Доступность(1); Форма.Дом.Видимость(1); Форма.Х1.Видимость(1); Если Число(ФлагВсех)=0 Тогда Дом=""; Форма.ФлагПоказа.Доступность(0); Форма.ФлагПоказа.Видимость(0); Форма.Дом.Доступность(0); Форма.Дом.Видимость(0); Форма.Х1.Видимость(0); КонецЕсли; КонецПроцедуры Процедура ПроверкаМеста() Форма.Место.Доступность(1); Форма.Место.Видимость(1); Форма.ФлагПоказа1.Доступность(1); Форма.ФлагПоказа1.Видимость(1); Форма.Х2.Видимость(1); Если Число(Места)=0 Тогда Место=""; Форма.Место.Доступность(0); Форма.Место.Видимость(0); Форма.ФлагПоказа1.Доступность(0); Форма.ФлагПоказа1.Видимость(0); Форма.Х2.Видимость(0); КонецЕсли; КонецПроцедуры Процедура ВидимостьПени() Если Число(РасчетПени)=1 Тогда Форма.ДатаНачПени.Видимость(1); Форма.ДатаПени.Видимость(1); Форма.Макс.Видимость(1); Форма.МаксКолМесяцевДолга.Видимость(1); Иначе Форма.ДатаНачПени.Видимость(0); Форма.ДатаПени.Видимость(0); Форма.Макс.Видимость(0); Форма.МаксКолМесяцевДолга.Видимость(0); КонецЕсли; КонецПроцедуры Процедура ПриОткрытии() ПечатьН =1; Показания=1; МаксКолМесяцевДолга=Константа.МаксКолМесяцевДолга; Если МаксКолМесяцевДолга=0 Тогда МаксКолМесяцевДолга=Константа.МаксКолМесяцевДолга; КонецЕсли; Если Константа.УчитыватьЕдиныйЛицевойСчет=Перечисление.Булево.Да Тогда Форма.елс.Видимость(1); ЕЛС=1; Иначе Форма.елс.Видимость(0); ЕЛС=0; КонецЕсли; Форма.ИспользоватьЗакладки(1); Форма.Закладки.ДобавитьЗначение(1,"Основные сведения"); Форма.Закладки.ДобавитьЗначение(2,"Коментарий,реклама"); Форма.ИспользоватьСлой("Основной",2); РасчетПени=0; Если Константа.ПризнакДолгов=0 Тогда ДолгКОплате=1; Иначе ДолгКОплате=0; КонецЕсли; Если Константа.ПереходящийОстаток=0 Тогда ДолгКОплате1=1; Иначе ДолгКОплате1=0; КонецЕсли; Группа=Перечисление.Группы.ПерваяГруппаНачислений; Если ПустоеЗначение(Форма.Параметр)=0 тогда Квартиры=СоздатьОбъект("Справочник.Квартиры"); Код=Форма.Параметр; Квартиры.НайтиПоКоду(Код); Дом=Квартиры.ТекущийЭлемент(); КонецЕсли; Группировк=0; ФлагВсех=1; ФлагРасш=0; Места=0; Форма.Флаги.Видимость(0); Форма.СумКОплате.Видимость(0); ВидПечати1=0; ВидПечати2=0; ВидПечати3=0; ВидПечати4=0; Форма.ВидПечати1.Доступность(1); Форма.ВидПечати2.Доступность(1); Форма.ВидПечати1.Видимость(1); Форма.ВидПечати2.Видимость(1); Форма.ВидПечати3.Доступность(1); Форма.ВидПечати4.Доступность(1); Форма.ВидПечати3.Видимость(1); Форма.ВидПечати4.Видимость(1); ДвеКв=0; СЗемлей=1; ПроверкаМеста(); ПроверкаУлицы(); Если Константа.ПризнакГВПоОплате=Перечисление.Булево.Да Тогда Форма.ПечГВ.Видимость(1); Иначе Форма.ПечГВ.Видимость(0); КонецЕсли; КонецПроцедуры Процедура ПриВыбореЗакладки(Ном,Значение); Если Значение=1 Тогда Форма.ИспользоватьСлой("Основной",2); Форма.Флаги.Видимость(0); Форма.СумКОплате.Видимость(0); ПроверкаМеста(); ПроверкаУлицы(); ИначеЕсли Значение=2 Тогда Форма.ИспользоватьСлой("Коментарий",2); КонецЕсли; КонецПроцедуры Процедура ПроверкаКвартиры() Форма.Флаги.Видимость(0); Форма.СумКОплате.Видимость(0); Форма.СумКОплате.Доступность(0); Форма.ФлагРасш.Доступность(1); Форма.ФлагРасш.Видимость(1); Если Число(ФлагВсех)=1 Тогда Если (Дом.Уровень()=3) Тогда Форма.Флаги.Видимость(1); Форма.СумКОплате.Видимость(1); Форма.СумКОплате.Доступность(1); КонецЕсли; КонецЕсли; КонецПроцедуры Процедура ПроверкаПредоплаты() Форма.ВидПечати3.Доступность(1); Форма.ВидПечати4.Доступность(1); Форма.ВидПечати3.Видимость(1); Форма.ВидПечати4.Видимость(1); Если Число(ВидПечати2)=0 Тогда ВидПечати3=0; ВидПечати4=0; Форма.ВидПечати3.Доступность(0); Форма.ВидПечати4.Доступность(0); Форма.ВидПечати3.Видимость(0); Форма.ВидПечати4.Видимость(0); КонецЕсли; КонецПроцедуры Процедура Обнуление() Перерасчеты=0; Перерасчеты1=0; i=1; for i=1 to 41 do Сум[i]=0; Спр[i]=0; СумЕ[i]=""; СумК[i]=0; СумТ[i]=0; Печ[i]=""; СумЛ[i]=0; СумИнд[i]=0; enddo; КонецПроцедуры ///расчет показаний счетчиков (показания) Процедура ПоискПоказанийСчетчиков(Квартира,ПокХВН,ПокХВН1,ПокГВН,ПокГВН1,ПокХВК,ПокХВК1,ПокГВК,ПокГВК1) ЖрнОстатки=СоздатьОбъект("ЖурналРасчетов.Остатки"); ПоказанияНачХВ=0;ПоказанияНачГВ=0;ПоказанияКонХВ=0;ПоказанияКонГВ=0; ПоказанияНачХВ1=0;ПоказанияНачГВ1=0;ПоказанияКонХВ1=0;ПоказанияКонГВ1=0; ЖрнОстатки.ВыбратьПериодПоОбъекту(Квартира,Дата(НачМесяца(ДатаОтчета)-1)); Пока ЖрнОстатки.ПолучитьЗапись()=1 Цикл ПоказанияНачХВ=ПоказанияНачХВ+ЖрнОстатки.СчетчикХВ; ПоказанияНачКНС=ПоказанияНачКНС+ЖрнОстатки.СчетчикКНС; ПоказанияНачГВ=ПоказанияНачГВ+ЖрнОстатки.СчетчикГВ; ПоказанияНачХВ1=ПоказанияНачХВ1+ЖрнОстатки.СчетчикХВ1; ПоказанияНачКНС1=ПоказанияНачКНС1+ЖрнОстатки.СчетчикКНС1; ПоказанияНачГВ1=ПоказанияНачГВ1+ЖрнОстатки.СчетчикГВ1; КонецЦикла; ЖрнОстатки.ВыбратьПериодПоОбъекту(Квартира,Дата(ДатаОтчета)); Пока ЖрнОстатки.ПолучитьЗапись()=1 Цикл ПоказанияКонХВ=ПоказанияКонХВ+ЖрнОстатки.СчетчикХВ; ПоказанияКонКНС=ПоказанияКонКНС+ЖрнОстатки.СчетчикКНС; ПоказанияКонГВ=ПоказанияКонГВ+ЖрнОстатки.СчетчикГВ; ПоказанияКонХВ1=ПоказанияКонХВ1+ЖрнОстатки.СчетчикХВ1; ПоказанияКонКНС1=ПоказанияКонКНС1+ЖрнОстатки.СчетчикКНС1; ПоказанияКонГВ1=ПоказанияКонГВ1+ЖрнОстатки.СчетчикГВ1; КонецЦикла; ПокХВН=ПоказанияНачХВ;ПокГВН=ПоказанияНачГВ;ПокХВК=ПоказанияКонХВ;ПокГВК=ПоказанияКонГВ; ПокХВН1=ПоказанияНачХВ1;ПокГВН1=ПоказанияНачГВ1;ПокХВК1=ПоказанияКонХВ1;ПокГВК1=ПоказанияКонГВ1; ПоказанияКонХВ=0;ПоказанияКонГВ=0; ЖрнОстатки.ВыбратьПериодПоОбъекту(Квартира,(КонМесяца(ДатаОтчета)+1)); Пока ЖрнОстатки.ПолучитьЗапись()=1 Цикл Если Лев(ЖрнОстатки.Документ,7)="Остатки" Тогда ПоказанияКонХВ=ПоказанияКонХВ+ЖрнОстатки.СчетчикХВ; ПоказанияКонКНС=ПоказанияКонКНС+ЖрнОстатки.СчетчикКНС; ПоказанияКонГВ=ПоказанияКонГВ+ЖрнОстатки.СчетчикГВ; ПоказанияКонХВ1=ПоказанияКонХВ1+ЖрнОстатки.СчетчикХВ1; ПоказанияКонКНС1=ПоказанияКонКНС1+ЖрнОстатки.СчетчикКНС1; ПоказанияКонГВ1=ПоказанияКонГВ1+ЖрнОстатки.СчетчикГВ1; КонецЕсли; КонецЦикла; Если (ПоказанияКонХВ>0) и (ПокХВК>ПоказанияКонХВ) Тогда ПокХВК=ПоказанияКонХВ; ЖрнОстатки.ВыбратьПериодПоОбъекту(Квартира,Дата(ДатаОтчета)); Пока ЖрнОстатки.ПолучитьЗапись()=1 Цикл Если Лев(ЖрнОстатки.Документ,7)<>"Остатки" Тогда ПокХВН=ПокХВК-ЖрнОстатки.СчетчикХВ; КонецЕсли; КонецЦикла; КонецЕсли; Если (ПоказанияКонГВ>0) и (ПокГВК>ПоказанияКонГВ) Тогда ПокГВК=ПоказанияКонГВ; ЖрнОстатки.ВыбратьПериодПоОбъекту(Квартира,Дата(ДатаОтчета)); Пока ЖрнОстатки.ПолучитьЗапись()=1 Цикл Если Лев(ЖрнОстатки.Документ,7)<>"Остатки" Тогда ПокГВН=ПокГВК-ЖрнОстатки.СчетчикГВ_; КонецЕсли; КонецЦикла; КонецЕсли; Если (ПоказанияКонХВ>0) и (ПокХВК>ПоказанияКонХВ) Тогда ПокХВК=ПоказанияКонХВ;ПокХВН=ПокХВК; ЖрнОстатки.ВыбратьПериодПоОбъекту(Квартира,Дата(ДатаОтчета)); Пока ЖрнОстатки.ПолучитьЗапись()=1 Цикл Если Лев(ЖрнОстатки.Документ,7)<>"Остатки" Тогда ПокХВН=ПокХВК-ЖрнОстатки.СчетчикХВ; КонецЕсли; КонецЦикла; КонецЕсли; Если ПокХВК<ПокХВН Тогда ПокХВН=ПокХВК; ЖрнОстатки.ВыбратьПериодПоОбъекту(Квартира,Дата(ДатаОтчета)); Пока ЖрнОстатки.ПолучитьЗапись()=1 Цикл Если Лев(ЖрнОстатки.Документ,7)<>"Остатки" Тогда ПокГВН=ПокГВК-ЖрнОстатки.СчетчикГВ_; КонецЕсли; КонецЦикла; КонецЕсли; Если ПокГВК<ПокГВН Тогда ПокГВН=ПокГВК; ЖрнОстатки.ВыбратьПериодПоОбъекту(Квартира,Дата(ДатаОтчета)); Пока ЖрнОстатки.ПолучитьЗапись()=1 Цикл Если Лев(ЖрнОстатки.Документ,7)<>"Остатки" Тогда ПокГВН=ПокГВК-ЖрнОстатки.СчетчикГВ_; КонецЕсли; КонецЦикла; КонецЕсли; /// КонецПроцедуры Процедура НачислениеКвартплаты(_Квартира,Количеств,Тарифы,Суммы, КоличествДП,ТарифыДП,СуммыДП, КоличествЛП,ТарифыЛП,СуммыЛП, Колич100,Тариф100,СмКапРем100, Колич50,Тариф50,СмКапРем50); ОкрТарифов=2; ДатаКонМес=ДатаОтчета; ТарифКвартплаты=Константа.ТарифКвартплаты.получить(ДатаКонМес); ТарифСебКвартплаты=Константа.ТарифСебКвартплаты.Получить(ДатаКонМес); ФлагЗаписи=Перечисление.Булево.Нет; НормаПрив=0; НормаМетр=Константа.НормаПл.Получить(ДатаКонМес); НормаМетрСемья=Константа.НормаСемья.Получить(ДатаКонМес); //процент льготирования квартплаты Процент=0; Процент=_Квартира.Процент.Получить(ДатаКонМес); //площадь по норме , либо льготируемая ПлощадьНорма=0; Сум50=0; СумКапРем50=0; ПлКапРем50=0; //площадь дополнительно льготируемая ПлощадьДоп=0; Сум100=0; ПлКапРем100=0; СумКапРем100=0; //площадь по себестоимости ПлощадьСебест=0; СумСеб=0; //расчет квартплаты 8.05.2015 Если (_Квартира.КолЧеловек.Получить(ДатаКонМес)=0) или (_Квартира.ФлагСебестоимости.Получить(ДатаКонМес)=Перечисление.Булево.Да) Тогда ТарифСебКвартплаты_=ТарифСебКвартплаты; Если Константа.ТарифСебКвартплатыПусто.Получить(ДатаКонМес)>0 Тогда ТарифСебКвартплаты_=Константа.ТарифСебКвартплатыПусто.Получить(ДатаКонМес); КонецЕсли; Сум500=Окр((_Квартира.ПлОбщая.Получить(ДатаКонМес)*ТарифСебКвартплаты_*(1-Процент/100)),Константа.ОкрИтогов.Получить(ДатаКонМес),1); ПлощадьДоп=_Квартира.ПлОбщая.Получить(ДатаКонМес); ПлКапРем100=(_Квартира.ПлОбщая.Получить(ДатаКонМес)); СумКапРем100=Окр(Сум100*Константа.КапРемонт.Получить(ДатаКонМес)/100,Константа.ОкрИтогов.Получить(ДатаКонМес),1); КоличествДП=ПлощадьДоп; ТарифыДП=Окр(ТарифСебКвартплаты_*(1-Процент/100),ОкрТарифов,1); СуммыДП=Сум100; //кап ремонт 100% Колич100=ПлКапРем100; Тариф100=Окр(ТарифСебКвартплаты_*(1-Процент/100)*Константа.КапРемонт.Получить(ДатаКонМес)/100,ОкрТарифов,1); СмКапРем100=СумКапРем100; Иначе ФлагЛьготы=Перечисление.Булево.Нет; Если (_Квартира.ФормаСобственности.Получить(ДатаКонМес).ПризнакПрив=Перечисление.Булево.Да) Тогда //приватизированные квартиры Если (_Квартира.ЧелЛьготы.Получить(ДатаКонМес)=0) и (_Квартира.Льготы.Получить(ДатаКонМес).ДопПлощадь.Получить(ДатаКонМес)>Константа.НормаСемья.Получить(ДатаКонМес)) Тогда ФлагЛьготы=Перечисление.Булево.Да; КонецЕсли; НормаПрив=Константа.НормаПрив.Получить(ДатаКонМес); Иначе //неприватизированные квартиры Если (_Квартира.ЧелЛьготы.Получить(ДатаКонМес)=0) и (_Квартира.Льготы.Получить(ДатаКонМес).ДопПлощадь1.Получить(ДатаКонМес)>Константа.НормаСемья.Получить(ДатаКонМес)) Тогда ФлагЛьготы=Перечисление.Булево.Да; КонецЕсли; КонецЕсли; Если (_Квартира.ЧелЛьготы.Получить(ДатаКонМес)=0) и (ФлагЛьготы=Перечисление.Булево.Нет) Тогда ПлощадьНорма=0; ПлощадьИзл=0; ПлощадьНорма=(_Квартира.КолЧеловек.Получить(ДатаКонМес))*НормаМетр+НормаМетрСемья+НормаПрив;//-_Квартира.Льготы.Получить(ДатаКонМес).НеоплПл.Получить(ДатаКонМес); ПлощадьИзл=_Квартира.ПлОбщая.Получить(ДатаКонМес)-ПлощадьНорма; Если _Квартира.КолКомнат.Получить(ДатаКонМес)=1 Тогда ПлощадьНорма=_Квартира.ПлОбщая.Получить(ДатаКонМес); ПлощадьИзл=0; Конецесли; //Если (_Квартира.ФормаСобственности.Получить(ДатаКонМес).ПризнакПрив=Перечисление.Булево.Да) Тогда // ПлощадьНорма=_Квартира.ПлОбщая.Получить(ДатаКонМес); // ПлощадьИзл=0; //Конецесли; Если (ПлощадьИзл<0) или (_Квартира.Чернобыль.Получить(ДатаКонМес)=Перечисление.Булево.Да) Тогда ПлощадьИзл=0; ПлощадьНорма=_Квартира.ПлОбщая.Получить(ДатаКонМес);//-_Квартира.Льготы.Получить(ДатаКонМес).НеоплПл.Получить(ДатаКонМес); КонецЕсли; КоличествДП=ПлощадьНорма; Сум100=Окр((ПлощадьНорма*ТарифКвартплаты*(1-Процент/100)),Константа.ОкрИтогов.Получить(ДатаКонМес),1); СумСеб=Окр((ПлощадьИзл*ТарифСебКвартплаты*(1-Процент/100)),Константа.ОкрИтогов.Получить(ДатаКонМес),1); ПлКапРем100=_Квартира.ПлОбщая.Получить(ДатаКонМес); СумКапРем100=Окр(_Квартира.ПлОбщая.Получить(ДатаКонМес)*Окр(ТарифКвартплаты*(1-Процент/100),ОкрТарифов,1)* Константа.КапРемонт.Получить(ДатаКонМес)/100,Константа.ОкрИтогов.Получить(ДатаКонМес),1); Иначе ПлощадьНорма=(_Квартира.ЧелЛьготы.Получить(ДатаКонМес))*НормаМетр;//-_Квартира.Льготы.Получить(ДатаКонМес).НеоплПл.Получить(ДатаКонМес); Если (_Квартира.ЧелЛьготы.Получить(ДатаКонМес)=0) Тогда Если _Квартира.Льготы.Получить(ДатаКонМес).ПроцентНормы.Получить(ДатаКонМес)=100 Тогда ПлощадьНорма=0; Иначе ПлощадьНорма=(_Квартира.КолЧеловек.Получить(ДатаКонМес))*НормаМетр;//-_Квартира.Льготы.Получить(ДатаКонМес).НеоплПл.Получить(ДатаКонМес); КонецЕсли; КонецЕсли; Если (_Квартира.ФормаСобственности.Получить(ДатаКонМес).ПризнакПрив=Перечисление.Булево.Да) Тогда Если _Квартира.Льготы.Получить(ДатаКонМес).ДопПлощадь.Получить(ДатаКонМес)=0 Тогда ПлощадьИзл=НормаМетрСемья; Иначе ПлощадьИзл=_Квартира.Льготы.Получить(ДатаКонМес).ДопПлощадь.Получить(ДатаКонМес); КонецЕсли; Иначе Если _Квартира.Льготы.Получить(ДатаКонМес).ДопПлощадь1.Получить(ДатаКонМес)=0 Тогда ПлощадьИзл=НормаМетрСемья; Иначе ПлощадьИзл=_Квартира.Льготы.Получить(ДатаКонМес).ДопПлощадь1.Получить(ДатаКонМес); КонецЕсли; КонецЕсли; Норм=0; Если _Квартира.ЧелЛьготы.Получить(ДатаКонМес)<_Квартира.КолЧеловек.Получить(ДатаКонМес) Тогда Если (_Квартира.ФормаСобственности.Получить(ДатаКонМес).ПризнакПрив=Перечисление.Булево.Да) Тогда Если Число(_Квартира.Льготы.Получить(ДатаКонМес).ДопПлощадь.Получить(ДатаКонМес))<>0 Тогда Норм=_Квартира.КолЧеловек.Получить(ДатаКонМес)*НормаМетр+_Квартира.Льготы.Получить(ДатаКонМес).ДопПлощадь.Получить(ДатаКонМес); Иначе Норм=_Квартира.КолЧеловек.Получить(ДатаКонМес)*НормаМетр+НормаМетрСемья; КонецЕсли; Иначе Если Число(_Квартира.Льготы.Получить(ДатаКонМес).ДопПлощадь1.Получить(ДатаКонМес))<>0 Тогда Норм=_Квартира.КолЧеловек.Получить(ДатаКонМес)*НормаМетр+_Квартира.Льготы.Получить(ДатаКонМес).ДопПлощадь1.Получить(ДатаКонМес); Иначе Норм=_Квартира.КолЧеловек.Получить(ДатаКонМес)*НормаМетр+НормаМетрСемья; КонецЕсли; КонецЕсли; Если Норм>=ПлощадьИзл Тогда ПлощадьИзл=Норм-ПлощадьНорма; КонецЕсли; КонецЕсли; ПлощадьСеб=_Квартира.ПлОбщая.Получить(ДатаКонМес)-ПлощадьНорма-ПлощадьИзл;//-_Квартира.Льготы.Получить(ДатаКонМес).НеоплПл.Получить(ДатаКонМес); Если ПлощадьСеб<0 Тогда Если _Квартира.ПлОбщая.Получить(ДатаКонМес)>(ПлощадьНорма) Тогда//+_Квартира.Льготы.Получить(ДатаКонМес).НеоплПл.Получить(ДатаКонМес)) Тогда ПлощадьИзл=_Квартира.ПлОбщая.Получить(ДатаКонМес)-ПлощадьНорма;//-_Квартира.Льготы.Получить(ДатаКонМес).НеоплПл.Получить(ДатаКонМес); ПлощадьСеб=0; Иначе ПлощадьНорма=_Квартира.ПлОбщая.Получить(ДатаКонМес);//-_Квартира.Льготы.Получить(ДатаКонМес).НеоплПл.Получить(ДатаКонМес); ПлощадьИзл=0; ПлощадьСеб=0; КонецЕсли; КонецЕсли; Если (_Квартира.КолКомнат.Получить(ДатаКонМес)=1) или (_Квартира.Чернобыль.Получить(ДатаКонМес)=Перечисление.Булево.Да) Тогда ПлощадьИзл=ПлощадьИзл+ПлощадьСеб; ПлощадьСеб=0; Конецесли; Если (_Квартира.ФормаСобственности.Получить(ДатаКонМес).ПризнакПрив=Перечисление.Булево.Да) Тогда Если _Квартира.Льготы.Получить(ДатаКонМес).ПроцентНормы.Получить(ДатаКонМес)=100 Тогда ПлощадьИзл=ПлощадьИзл+ПлощадьНорма-_Квартира.Льготы.Получить(ДатаКонМес).НеоплПл.Получить(ДатаКонМес); ПлощадьНорма=0; Сум100=Окр((ПлощадьИзл*ТарифКвартплаты*(1-Процент/100)),Константа.ОкрИтогов.Получить(ДатаКонМес),1); Иначе ПлощадьНорма=ПлощадьНорма-_Квартира.Льготы.Получить(ДатаКонМес).НеоплПл.Получить(ДатаКонМес); Сум50=Окр(((ПлощадьНорма)*ТарифКвартплаты*(1-Процент/100)*_Квартира.Льготы.Получить(ДатаКонМес).ПроцентНормы.Получить(ДатаКонМес)/100),Константа.ОкрИтогов.Получить(ДатаКонМес),1); КонецЕсли; Иначе Если _Квартира.Льготы.Получить(ДатаКонМес).ПроцентНормы1.Получить(ДатаКонМес)=100 Тогда ПлощадьИзл=ПлощадьИзл+ПлощадьНорма-_Квартира.Льготы.Получить(ДатаКонМес).НеоплПл.Получить(ДатаКонМес); ПлощадьНорма=0; Сум100=Окр((ПлощадьИзл*ТарифКвартплаты*(1-Процент/100)),Константа.ОкрИтогов.Получить(ДатаКонМес),1); Иначе ПлощадьНорма=ПлощадьНорма-_Квартира.Льготы.Получить(ДатаКонМес).НеоплПл.Получить(ДатаКонМес); Сум50=Окр(((ПлощадьНорма)*ТарифКвартплаты*(1-Процент/100)*_Квартира.Льготы.Получить(ДатаКонМес).ПроцентНормы1.Получить(ДатаКонМес)/100),Константа.ОкрИтогов.Получить(ДатаКонМес),1); КонецЕсли; КонецЕсли; Если Сум100=0 Тогда Сум100=Окр((ПлощадьИзл*ТарифКвартплаты*(1-Процент/100)),Константа.ОкрИтогов.Получить(ДатаКонМес),1); КонецЕсли; СумСеб=Окр((ПлощадьСеб*ТарифСебКвартплаты*(1-Процент/100)),Константа.Окритогов.Получить(ДатаКонМес),1); /// (_Квартира.ПлОбщая.Получить(ДатаКонМес)-ПлощадьНорма); ПлКапРем100=(_Квартира.ПлОбщая.Получить(ДатаКонМес)); СумКапРем100=Окр((_Квартира.ПлОбщая.Получить(ДатаКонМес))*Окр(ТарифКвартплаты*(1-Процент/100),ОкрТарифов,1)* Константа.КапРемонт.Получить(ДатаКонМес)/100,Константа.ОкрИтогов.Получить(ДатаКонМес),1); //ПлКапРем50=(ПлощадьНорма); //СумКапРем50=Окр(ПлощадьНорма*Окр(ТарифКвартплаты,Константа.ОкрИтогов.Получить(ДатаКонМес),1)*(1-Процент/100)/2* //Константа.КапРемонт.Получить(ДатаКонМес)/100,Константа.ОкрИтогов.Получить(ДатаКонМес),1); КонецЕсли; //50% Количеств=ПлощадьНорма; Тарифы=Окр(ТарифКвартплаты*(1-Процент/100)/2,ОкрТарифов,1); Суммы=Сум50; //100% Если (_Квартира.ЧелЛьготы.Получить(ДатаКонМес)=0) и (ФлагЛьготы=Перечисление.Булево.Нет) Тогда КоличествДП=ПлощадьНорма; КоличествЛП=ПлощадьИзл; Иначе КоличествДП=ПлощадьИзл; КоличествЛП=ПлощадьСеб; КонецЕсли; ТарифыДП=Окр(ТарифКвартплаты*(1-Процент/100),ОкрТарифов,1); СуммыДП=Сум100; //себестоимость ТарифыЛП=Окр(ТарифСебКвартплаты*(1-Процент/100),ОкрТарифов,1); СуммыЛП=СумСеб; //кап ремонт 100% Колич100=ПлКапРем100; Тариф100=Окр(Окр(ТарифКвартплаты*(1-Процент/100),ОкрТарифов,1) *Константа.КапРемонт.Получить(ДатаКонМес)/100,ОкрТарифов,1); СмКапРем100=СумКапРем100; //кап ремонт 50% Колич50=ПлКапРем50; Тариф50=Окр(Окр(ТарифКвартплаты*(1-Процент/100),ОкрТарифов,1)/2* Константа. |
|||
1
tinuvel
11.05.15
✎
13:44
|
Если нужно могу дать удаленку на виртуалхост. Чтобы поковырять. Только вечером.
|
|||
2
Otkr
11.05.15
✎
13:47
|
2000 в час
|
|||
3
Garykom
гуру
11.05.15
✎
14:04
|
(2) сначала код глянь... там и 5000 в час маловато будет ))
|
|||
4
Масянька
11.05.15
✎
14:06
|
(3) Поддержу... :))))
|
|||
5
0xFFFFFF
11.05.15
✎
14:52
|
НормаКролика, НормаСвиньи вот это жжжжесть!!!! Думаю, надо пару справочников и весь овнокод сократится до нескольких строк. Вот это поделие...
|
|||
6
Garykom
гуру
11.05.15
✎
14:55
|
(5) это не раскрывай... ))
|
|||
7
Garykom
гуру
11.05.15
✎
14:57
|
(5) а вообще да даже страшно сколько там констант
|
|||
8
Torquader
11.05.15
✎
15:05
|
(7) Видимо, реализация была "в лоб", о том, что данные можно где-то хранить, программист не знал.
|
|||
9
НП
11.05.15
✎
18:33
|
(0) Видимо, есть смысл обратиться к специалисту. В любом случае, такие простыни никто смотреть не будет.
|
|||
10
НубВ1С8
11.05.15
✎
18:41
|
вообще-то модуль не весь - не влез. нужна только процедура печати
|
|||
11
Garykom
гуру
11.05.15
✎
19:15
|
(10) проще md-ник выложить куда то, описать как в фейсе нажимают эту печать и попросить помочь
|
|||
12
kisobol
12.05.15
✎
02:23
|
Голова кружится от количества свиней
|
|||
13
tinuvel
12.05.15
✎
07:03
|
Модуль писал ни я. Только пришел на работу и вот такой писец попался(
|
|||
14
kisobol
12.05.15
✎
07:31
|
Скидывай мдху
|
|||
15
tinuvel
12.05.15
✎
13:23
|
Всем спасибо за участие. Уже сам разобрался. Оказалось что модуль был внешний. Там изменил вывод на печать. Чтобы при сумме превышающей 500 квитанция не выводилась на печатную форму. Еще раз спасибо. Тему можно закрыть.
|
|||
16
stix2010
12.05.15
✎
16:10
|
(0) Бюджет озвучьте?
|
|||
17
kisobol
13.05.15
✎
01:29
|
tinuvel это ТСЖ было?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |