№
|
Наименование
расходов
|
Затраты
(руб.)
|
1
|
Основная
заработная плата
|
3801,6
руб.
|
2
|
Страховые
отчисления
|
1292,54
руб.
|
3
|
Содержание
и эксплуатация вычислительного комплекса
|
670,8
руб.
|
ИТОГО
|
5764,94руб.
|
Расчет экономического эффекта от разработки и
внедрения программного продукта
Рассчитаем экономический эффект, получаемый за
счет экономии рабочего времени сотрудника. Благодаря этой экономии он сможет
выполнить большее количество работ.
Для ведения расчетов введем следующие
обозначения:
Т1 - время, затрачиваемое на операции
до внедрения программного продукта;
Т2 - время, затрачиваемое на операции
после внедрения программного продукта.
1. До внедрения программы большая часть
документации заполнялась вручную. Сотрудник в среднем тратил на 1 операцию
около 10 минут. Также на поиск данных вручную уходило около 10 минут. Общее
число выполняемых операций равно 10.
Т1 = 20мин. или 0,33часа.
2. После внедрения программы время
сократится, и будет составлять 5 мин. на проведение тех же операций, за счет
уменьшения времени выполнения операций и простоты использования программы:
Т2 = 5мин. или 0,08ч.
∆t
= 20 - 5 = 15 мин. Или 0,25 часа.
3. Рассчитаем стоимость выполняемых работ
сотрудника притом, что в месяц он работает 8ч*22дня = 176 часов. Должностной
оклад сотрудника 11000 рублей. Следовательно, стоимость 1 часа работы =
11000/176 = 62,5руб.
Страховые взносы, начисляемы на з/п =
11000*0,34/176 = 21,25 руб.
Определяем суммарные затраты работника с учетом
страховых взносов = 62,5 + 21,25 = 83,75 руб в час - Рсумм.
4. Расчет годовой экономии экономического
эффекта и срока окупаемости.
Рассчитывается годовая экономия времени,
обусловленная внедрением программного продукта. Перемножим выигранное время на
проведение операции, количество операций, количество рабочих дней в месяце,
количество рабочих месяцев.
∆Т = 0,25 * 10 * 22 * 11 = 605 часа.
Рассчитывается размер годовой экономии от
внедрения программного продукта: ∆Т * Рсумм = 605 * 83,75= 50668,75руб.
Экономический эффект составляет величину, равную
годовой экономии средств за вычетом затрат на разработку и реализацию
программного продукта = 50668,75 - 5764,94 = 44903,81руб.
Расчет срока окупаемости = 5764,94/50668,75 =
0,11 года.
Вывод: разработанный и реализованный программный
продукт окупится менее, чем за 2 месяца, что является приемлемым в качестве
срока окупаемости затрат по автоматизации рабочего процесса.
Заключение
Сегодня ЖКХ - это новый перспективный рынок.
Ниша, которая до недавнего времени не использовалась для коммерческих
инвестиций. При соответствующем нормативно-правовом обеспечении отрасль
способна стать одной из самых стабильных, с низким уровнем риска и относительно
высокой рентабельностью. В связи с реализацией реформы ЖКХ появилась надежда на
позитивные перемены.
Вступление в действие Жилищного Кодекса
Российской Федерации коренным образом изменило систему правоотношений между
органами власти, населением и поставщиками жилищно-коммунальных услуг. Ранее
все ответственные решения, связанные с жилищно-коммунальным хозяйством,
принимали органы власти. Сегодня появились такие институты как институт
собственников помещений, управляющих компаний. Возникли и новые экономические
взаимоотношения между ними
Целью написания данной работы было разработать
программу для автоматизации документооборота и учета услуг в фонде жилого дома.
В ходе решения поставленной цели были решены
следующие задачи:
рассмотрены теоретические аспекты АС, понятия и
специфика;
рассмотрена методику разработки программ;
разработана программа для автоматизации,
произведено тестирование и отладка;
произведено внедрение АС в работу фонда жилого
дома;
проанализированы результаты внедрения.
На основании проведенного исследования были
сделаны следующие выводы:
. Программа «1С:Предприятие 7.7» является
универсальной системой автоматизации бизнес-процессов предприятия, например
учет товарных и материальных средств, взаиморасчеты с контрагентами, расчет
заработной платы и т. п. «1С:Предприятие 7.7» может быть использована для
автоматизации самых различных отраслей. Этому свидетельствует большая
популярность данного программного продукта.
.Программа не содержит ограничений по услугам,
поставщикам услуг и прочим параметрам. Анализ быстродействия показал
максимально возможный уровень скорости для программных продуктов данного уровня
сложности и пользования.
.Данный пакет после реконфигурации может быть
использован на любом предприятии оказывающем коммунальные услуги. Все параметры
системы могут изменяться, что предоставляет пользователям и организациям
максимальные возможности.
. Представленный программный продукт вполне
подходит для реализации поставленной задачи. Приложение во многом облегчит
работу сотрудника, занимающегося заполнением справочников, связанных с оплатой,
и непосредственно самим приемом оплаты за коммунальные услуги с юридических
лиц.
В выпускной квалификационной работе был
разработан программный продукт для автоматизированного учета оказанных услуг
жилищно-коммунального хозяйства. Программа разработана при помощи программного
продукта 1С:Предприятие версии 7.7 фирмы 1. Достоинством данной программы
является то, что она доступна в освоении и понимании для любого человека,
который даже не имеет понятий о жилищно-коммунальном хозяйстве.
По результатам экономической оценки данная
конфигурация может успешно эксплуатироваться в компаниях ЖКХ. Срок окупаемости
затрат на автоматизацию приемлемый.
Литература
1. Нуралиев С.В., Федоров Б.Н.,
Филиппов В.С. 1С:Предприятие версия 7.7 /С.В. Нуралиев, Б.Н. Федоров, В.С.
Филиппов// Конфигурирование и администрирование:- Москва - 2009г, С - 654.
. Официальный сайт компании 1С
. Байдаков С.Н. Нуралиев С.В.
Введение в конфигурирование 1С:Бухгалтерия 7.7./ С.В. Байдаков, С.Н.
Нуралиев/:- Москва - 2011г, C
- 309.
. Брага В.В., Левкин А.А.
Компьютерные технологии в бухгалтерском учете на базе автоматизированных
систем. Практикум./ В.В. Брага, A.A
Левкин/ М.: ЗАО «Финстатинформ», 2010.C
- 220.
. Ивлиев М.К. Пошаговая методика
обучения автоматизации бухгалтерского учета/ М.К. Ивлиев/М.: Интеллект-Сервис,
2010. C - 123
. Михайлов C., Черков А., Цветков И.
1С:Бухгалтерия 7.7. Решение типичных проблем пользователя/ С. Михайлов, А.
Черков, И. Цветков/ БХВ-Петербург - 2008. C - 731.
. Сергеева К. 1С:Предприятие 7.7.
Конфигурация «Бухгалтерия для бюджетных учреждений»./ К. Сергеева/ Фирма 1С -
2012. С - 731.
. Рязанцева Н., Рязанцев Д.
1С:Предприятие. Зарплата и кадры. Секреты работы/Н. Рязанцева, Д. Рязанцев/
СПб.: БХВ-Петербург - 2012. С - 304.
. Митичкин С. Практика
программирования в среде 1С: Предприятие 7.7/ С. Митичкин / КомБук - 2010. С -
272.
. Фирма 1С 1С: Предприятие версия
7.7 Конфигурация “Торговля + склад” Редакция 9.2 Описание/ Фирма 1С - 2011. С -
607.
автоматизация программа тестирование
Приложение № 1
Документ “Ввод начального сальдо”
1. Перем ЖрнНачисления;
2. Функция ЗаголовокФормы()
. Перем Заголовок, Название;
. Заголовок= "Ввод начального
сальдо";
. Название = Заголовок+" №";
. Если Выбран() = 1 Тогда
. Если Проведен() = 1 Тогда
. Заголовок = Заголовок + ".
Проведен";
. Иначе
. Заголовок = Заголовок + ". Не
проведен";
. КонецЕсли;
. Иначе
. Заголовок = Заголовок + ".
Новый";
. КонецЕсли;
. Форма.Заголовок(Заголовок);
. Возврат Название;
. КонецФункции
. //*******************************************************
. Процедура Заполнить()
. УдалитьСтроки();
. СпрЖильцов =
СоздатьОбъект("Справочник.Жильцы");
. СпрЛицсчет =
СоздатьОбъект("Справочник.Лицсчет");
. СпрЛицсчет.НайтиПоКоду("Работа",0);//в
группу "Рабочие записи"
. Род=СпрЛицсчет.ТекущийЭлемент();
. СпрЛицсчет.ИспользоватьРодителя(Род);
. СпрЛицсчет.ВыбратьЭлементы();
. Состояние("Заполнение документа
лицевыми счетами...");
. Пока СпрЛицсчет.ПолучитьЭлемент()=1
Цикл
. Если СпрЛицсчет.ПометкаУдаления() =0
Тогда//все кроме помеченных на удаление
. Если СпрЛицсчет.ЭтоГруппа()=0 Тогда
. НоваяСтрока();
. ЛицСчетДок=СпрЛицсчет.ТекущийЭлемент();
. СпрЖильцов.ИспользоватьВладельца(СпрЛицсчет.ТекущийЭлемент());
. //воборка только в подчиненном
. СпрЖильцов.ВыбратьЭлементы();
. Пока СпрЖильцов.ПолучитьЭлемент()=1
Цикл
. Если СпрЖильцов.РодствОтношение =
Перечисление.Родственники.Наниматель Тогда
. квартиросъемщик =
СпрЖильцов.Наименование;
. КонецЕсли;
. КонецЦикла;
. Адрес = "улица:
"+СпрЛицсчет.улица.Наименование + " дом: " + Строка(СпрЛицсчет.дом)
+ " " + СпрЛицсчет.корпус + " квартира: " +
Строка(СпрЛицсчет.квартира);
. КонецЕсли;
. КонецЕсли;
. КонецЦикла;
. СпрЖильцов = 0;
. СпрЛицсчет=0;
. КонецПроцедуры
. //*******************************************************
. //удаление лишних строк
. Процедура УдалитьЛишнее()
. Если ВыбратьСтроки()=1 Тогда
. ПолучитьСтроку();
. Пока 1=1 Цикл
. Если Сумма=0 Тогда //удаление строк с 0
суммами
. УдалитьСтроку();
. Иначе
. Если ПолучитьСтроку()=0 Тогда
. Прервать
. КонецЕсли;
. КонецЕсли;
. КонецЦикла;
. КонецЕсли;
. КонецПроцедуры
. //*******************************************************
. // ПРЕДОПРЕДЕЛЕННЫЕ ПРОЦЕДУРЫ
. //******************************************************
. Процедура ПриОткрытии()
. Форма.ДатаДок.Доступность(0);
. КонецПроцедуры
. //*******************************************************
. Процедура ПриЗаписи()
. УдалитьЛишнее();
. Автор=Константа.Пользователь;
. АвтоВремяТекущее();
. КонецПроцедуры
Приложение № 2
Документ “Заявка мастеру”
1. Процедура ПриОткрытии()
2. ДатаДок=ТекущаяДата();
. ПриЗаписиПерепроводить(1);
. КонецПроцедуры
. //*********************************************
. Процедура Печать()
. Таблица =
СоздатьОбъект("Таблица");
. Таблица.ИсходнаяТаблица("Таблица");
. Таблица.Опции(0,0,,0);
. Датадок=датадок;
. Выдан=Выдан;
. выдал=выдал;
. времянач=времянач;
. времякон=времякон;
. статус=статус;
. Таблица.ВывестиСекцию("Шапка");
. ВыбратьСтроки();
. Пока ПолучитьСтроку() = 1 Цикл
. Задание = Наименование;
. Таблица.ВывестиСекцию("Строка");
. КонецЦикла;
. Таблица.ВывестиСекцию("Шапка2");
. Таблица.Показать("Заявка");
. КонецПроцедуры
. //*********************************************
. Процедура пересчет()
. ЕдИзм=Наименование.ЕдИзм;
. КонецПроцедуры
. //**********************************************
. Процедура ПриВыбореСчета(Откуда)
. Если Откуда=0 Тогда
. //документ новый из журнала
. Иначе
. ЛицСчетДок = Откуда //новый документ из
справочника
. КонецЕсли;
. Если ЛицСчетДок.Выбран()=1 Тогда
. СпрЖильцов =
СоздатьОбъект("Справочник.Жильцы");
. СпрЖильцов.ИспользоватьВладельца(ЛицСчетДок.ТекущийЭлемент());
. //выборка только в подчиненном
. Жильцы = 0;
. СпрЖильцов.ВыбратьЭлементы();
. Пока СпрЖильцов.ПолучитьЭлемент()=1
Цикл
. Жильцы = Жильцы + 1;
. Если СпрЖильцов.РодствОтношение =
Перечисление.Родственники.Наниматель Тогда
. квартиросъемщик =
СпрЖильцов.Наименование;
. КонецЕсли;
. КонецЦикла;
. Адрес = "улица:
"+ЛицСчетДок.улица.Наименование + " дом: " +
Строка(ЛицСчетДок.дом) + " " + ЛицСчетДок.корпус + " квартира:
" + Строка(ЛицСчетДок.квартира);
. СпрЖильцов =0;
. КонецЕсли;
. КонецПроцедуры
Приложение № 3
Документ “Начальное показание”
1. Перем ЖрнНачисления,ТекстЗапросаДокументы;
2. //**********************************************************
. Процедура ПриВводеСчета()
. Если ЛицСчетДок.Выбран() = 1 Тогда
. Адрес = "улица: "+
ЛицСчетДок.улица.Наименование + " дом: " + Строка(ЛицСчетДок.Дом) +
" " + ЛицСчетДок.корпус + " квартира: " +
Строка(ЛицСчетДок.квартира);
. Квартиросъемщик =
ЛицСчетДок.квартиросъемщик;
. КонецЕсли;
. КонецПроцедуры
. //**********************************************************
. Функция
ПолучитьПоказаниеСчетчика(ЛицевойСчет)
. Запрос =
СоздатьОбъект("Запрос");
. ТекущееЭ = "";
. ПредыдущееЭ = "";
. ТекущееГ = "";
. ПредыдущееГ = "";
. ТекущееХ = "";
. ПредыдущееХ = "";
. Если
Запрос.Выполнить(ТекстЗапросаДокументы) = 0 Тогда
. Предупреждение("Ошибка в
выполнении запроса",3);
. Запрос = 0;
. Возврат 0;
. Иначе //запрос выполнен
. Пока Запрос.Группировка(1) = 1 Цикл
. Пока Запрос.Группировка(2) = 1 Цикл
. Дока = Запрос.ТекущийДокумент;
. Дока.ВыбратьСтроки();
. Пока Дока.ПолучитьСтроку() > 0 Цикл
. Если ЛицевойСчет.Электросчетчик = 1
Тогда //"Электросчетчик"
. Если ПустоеЗначение(Дока.ПредыдущееЭ) =
0 Тогда
. ПредыдущееЭ = Дока.ПредыдущееЭ;
. КонецЕсли;
. Если
ПустоеЗначение(Дока.ПоказанияСчетчикаЭ) = 0 Тогда
. ТекущееЭ = Дока.ПоказанияСчетчикаЭ;
. КонецЕсли;
. КонецЕсли;
. Если ЛицевойСчет.ВодосчетчикГ = 1 Тогда
//ВодосчетчикГ
. Если ПустоеЗначение(Дока.ПредыдущееГ) =
0 Тогда
. ПредыдущееГ = Дока.ПредыдущееГ;
. КонецЕсли;
. Если
ПустоеЗначение(Дока.ПоказаниеСчетчикаВодыГ) = 0 Тогда
. ТекущееГ = Дока.ПоказаниеСчетчикаВодыГ;
. КонецЕсли;
. КонецЕсли;
. Если ЛицевойСчет.ВодосчетчикХ = 1 Тогда
//ВодосчетчикХ
. Если ПустоеЗначение(Дока.ПредыдущееХ) =
0 Тогда
. ПредыдущееХ = Дока.ПредыдущееХ;
. КонецЕсли;
. ТекущееХ = Дока.ПоказаниеСчетчикаВодыХ;
. КонецЕсли;
. КонецЕсли;
. КонецЦикла;
. КонецЦикла;
. КонецЦикла;
. КонецЕсли;
. Запрос = 0;
. Если ПустоеЗначение(ТекущееЭ) = 1 Тогда
. ТекущееЭ = ПредыдущееЭ;
. КонецЕсли;
. Если ПустоеЗначение(ТекущееГ) = 1 Тогда
. ТекущееГ = ПредыдущееГ;
. КонецЕсли;
. Если ПустоеЗначение(ТекущееХ) = 1 Тогда
. ТекущееХ = ПредыдущееХ;
. КонецЕсли;
. СохранитьЗначение("ТекущееЭ",ТекущееЭ);
. СохранитьЗначение("ТекущееГ",ТекущееГ);
. СохранитьЗначение("ТекущееХ",ТекущееХ);
. Возврат 1;
. КонецФункции
. //**********************************************************
. Процедура Заполнить()
. ТекстЗапроса =
. "//{{ЗАПРОС(Заполнить)
. |Обрабатывать НеПомеченныеНаУдаление;
. |Без итогов;
. |ЛицСчет =
Справочник.Лицсчет.ТекущийЭлемент;
. |ЛицСчетквартиросъемщик =
Справочник.Лицсчет.квартиросъемщик;
. |ЛицСчетУлица =
Справочник.Лицсчет.улица;
. |ЛицСчетДом = Справочник.Лицсчет.дом;
. |ЛицСчетКв =
Справочник.Лицсчет.квартира;
. |ЛицСчетДатазакрытия =
Справочник.Лицсчет.датазакрытия;
. |Группировка ЛицСчет Без Групп
Упорядочить по ЛицСчет.Код;
. |Условие
((ПустоеЗначение(ЛицСчетДатазакрытия) = 1) ИЛИ (ЛицСчетДатазакрытия > НачМесяца(РабочаяДата())));
. |"//}}ЗАПРОС;
. Если (Улица.Выбран()=1) И
(ПустоеЗначение(дом) = 0) Тогда //улица и дом выбрана
. ТекстЗапроса01 = ТекстЗапроса +
"Условие (ЛицСчетУлица = Улица);";
. ТекстЗапроса01 = ТекстЗапроса01 +
"Условие (ЛицСчетДом = дом);";
. Если ПустоеЗначение(квартира) = 0 Тогда
90. ТекстЗапроса01
= ТекстЗапроса01 + "Условие (ЛицСчетКв = квартира);";
91. КонецЕсли;
92. ИначеЕсли Улица.Выбран()=1 Тогда //улица
выбрана
. ТекстЗапроса01 = ТекстЗапроса +
"Условие (ЛицСчетУлица = Улица);";
. КонецЕсли;
. Если ПустоеЗначение(ТекстЗапроса01) = 1
Тогда
. ТекстЗапроса01 = ТекстЗапроса;
. КонецЕсли;
. Запрос =
СоздатьОбъект("Запрос");
. Если Запрос.Выполнить(ТекстЗапроса01) =
0 Тогда
100. Предупреждение("Ошибка в выполнении
запроса",3);
101. Запрос = 0;
. Возврат;
103. Иначе //запрос выполнен
104. //УдалитьСтроки();
105. Пока Запрос.Группировка() = 1 Цикл
//группировака по лицевым счетам
106. НоваяСтрока();
. ЛицСчетДок = Запрос.ЛицСчет;
108. Адрес = "улица: "+
Запрос.ЛицСчетУлица.Наименование + " дом: " +
Строка(Запрос.ЛицСчетДом) + " " + Запрос.ЛицСчет.корпус + "
квартира: " + Строка(Запрос.ЛицСчет.квартира);
109. Квартиросъемщик =
Запрос.ЛицСчетквартиросъемщик;
. Если
ПолучитьПоказаниеСчетчика(Запрос.ЛицСчет) = 1 Тогда
. Электросчетчик = ВосстановитьЗначение("ТекущееЭ");
. ВодоСчетчикГ =
ВосстановитьЗначение("ТекущееГ");
. ВодоСчетчикХ =
ВосстановитьЗначение("ТекущееХ");
. Иначе
. Электросчетчик = "";
. ВодоСчетчикГ = "";
. ВодоСчетчикХ = "";
. КонецЕсли;
. КонецЦикла;
. КонецЕсли;
. Запрос = 0;
. КонецПроцедуры
. //******************************************************
. // ПРЕДОПРЕДЕЛЕННЫЕ ПРОЦЕДУРЫ
. //******************************************************
. Процедура ПриОткрытии()
. Форма.ДатаДок.Доступность(0);
. Форма.Улица.ВыборГруппы(1);//в графе
"Улица" выбор с учетом групп
. КонецПроцедуры
. //******************************************************
. Процедура ПриЗаписи()
. //если документ введен в прошлом
периоде
. Если ДатаДок <
ЖрнНачисления.НачалоТекущегоПериода() Тогда
. Предупреждение(" Документ прошлого
месяца!
. |Перезапись и проводка
невозможна!",3);
. СтатусВозврата(0);
. Возврат;
. КонецЕсли;
. Автор = Константа.Пользователь;
. АвтоВремяПослеТА();
. ЖрнНачисления = 0;
. КонецПроцедуры
. //******************************************************
. Процедура ВводНового()
. ДатаДок =
ЖрнНачисления.НачалоТекущегоПериода();
. КонецПроцедуры
. //******************************************************
. Процедура ПриЗакрытии()
. //ОткрытьФорму("Обработка.ПровестиНачальныеПоказания");
. КонецПроцедуры
. //*******************************************************
. ЖрнНачисления =
СоздатьОбъект("ЖурналРасчетов.Начисления");
. ДатаНачала = '01.01.2000';
. ДатаКонца =
ЖрнНачисления.НачалоТекущегоПериода()-1;//до начала расчетного месяца
. ТекстЗапросаДокументы =
. "//{{ЗАПРОС(ЗаполнитьДокументы)
. |Обрабатывать НеПомеченныеНаУдаление;
. |С (ДатаНачала) По (ДатаКонца);
. |ЛицСчет = Документ.Оплата.ЛицСчетДок;
. |ТекущийДокумент =
Документ.Оплата.ТекущийДокумент;
. |Группировка ЛицСчет Без Групп
Упорядочить по ЛицСчет.Код;
. |Группировка ТекущийДокумент;
. |Условие (ЛицСчет = ЛицевойСчет);
164. |"//}}ЗАПРОС;
Приложение № 4
Документ “Оплата”
1. Перем ЖрнНачисления,Новый;
2. //*******************************************************
. Функция ПолучитьПоследниеПоказания(ЛицевойСчет,Счетчик)
. Показание = 0;
. Рег =
СоздатьОбъект("Регистр.ПоказанияСчетчиков");
. Рег.УстановитьФильтр(ЛицевойСчет);
. Рег.ОбратныйПорядок(1);
8. Рег.ВыбратьДвижения(,ЖрнНачисления.КонецТекущегоПериода());
9. Послед = 0;
10. Пока Рег.ПолучитьДвижение() > 0 Цикл
. Если Счетчик =
"Электросчетчик" Тогда
. Показание = Рег.ПоказаниеЭлСчетчика;
. ИначеЕсли Счетчик =
"ВодосчетчикХ" Тогда
. Показание = Рег.ПоказаниеСчетчикаХ;
. ИначеЕсли Счетчик =
"ВодосчетчикГ" Тогда
. Показание = Рег.ПоказаниеСчетчикаГ;
. КонецЕсли;
. Прервать;
. КонецЦикла;
. Рег = 0;
. Возврат Показание;
. КонецФункции
. //*******************************************************
. // ЗаголовокФормы()
. Функция ЗаголовокФормы()
. Перем Заголовок, Название;
. Заголовок= "Оплата начисленных
расчетов";
. Название = Заголовок+" №";
. Если Выбран() = 1 Тогда
. Если Проведен() = 1 Тогда
. Заголовок = Заголовок + ".
Проведен";
. Иначе
. Заголовок = Заголовок + ". Не
проведен";
. КонецЕсли;
. Иначе
. Заголовок = Заголовок + ".
Новый";
. КонецЕсли;
. Форма.Заголовок(Заголовок);
. Возврат Название;
. КонецФункции
. //ЗаголовокФормы()
. //*******************************************************
. Процедура ПриВыбореСчета(Откуда)
. Если Откуда = 0 Тогда
. Иначе
. НоваяСтрока();
. ЛицСчетДок = Откуда;
. КонецЕсли;
. ВидОплаты =
Перечисление.ВидОплат.Касса;
. Если ЛицСчетДок.Выбран()=1 Тогда
. СпрЖильцов =
СоздатьОбъект("Справочник.Жильцы");
. СпрЖильцов.ИспользоватьВладельца(ЛицСчетДок.ТекущийЭлемент());
//воборка только в подчиненном
. СпрЖильцов.ВыбратьЭлементы();
. Пока СпрЖильцов.ПолучитьЭлемент()=1
Цикл
. Если СпрЖильцов.РодствОтношение =
Перечисление.Родственники.Наниматель Тогда
. квартиросъемщик =
СпрЖильцов.Наименование;
. КонецЕсли;
. КонецЦикла;
. Адрес = "улица:
"+ЛицСчетДок.улица.Наименование + " дом: " +
Строка(ЛицСчетДок.дом) + " " + ЛицСчетДок.корпус + " квартира:
" + Строка(ЛицСчетДок.квартира);
. СпрЖильцов =0;
. Если
ПустоеЗначение(ЛицСчетДок.Электросчетчик) = 0 Тогда
. ПредыдущееЭ = Число(ПолучитьПоследниеПоказания(ЛицСчетДок.ТекущийЭлемент(),"Электросчетчик"));
. КонецЕсли;
. Если
ПустоеЗначение(ЛицСчетДок.ВодосчетчикХ) = 0 Тогда
. ПредыдущееХ =
Число(ПолучитьПоследниеПоказания(ЛицСчетДок.ТекущийЭлемент(),"ВодосчетчикХ"));
. КонецЕсли;
. Если ПустоеЗначение(ЛицСчетДок.ВодосчетчикГ)
= 0 Тогда
. ПредыдущееГ =
Число(ПолучитьПоследниеПоказания(ЛицСчетДок.ТекущийЭлемент(),"ВодосчетчикГ"));
. КонецЕсли;
. КонецЕсли;
. Форма.Обновить();
. КонецПроцедуры
. //*******************************************************
. Процедура ВывестиКвиток()
. Спр=СоздатьОбъект("Справочник.ЛицСчет");
. Таблица =
СоздатьОбъект("Таблица");
. Таблица.ИсходнаяТаблица("Таблица");
. Таблица.Опции(0,0);
. Д=Формат(датадок,"ДММММГГГГ");
. Адрес=Адрес;
. лс=ЛицСчетДок;
. ДатаДок=ДатаДок;
. Квартиросъемщик=Квартиросъемщик;
. Организация=Константа.Организация;
. ЮрАдрес=Константа.ЮрАдрес;
. ИННОрганизации=Константа.ИННОрганизации;
. Телефон=Константа.Телефон;
. площадь=ЛицСчетДок.жилаяплощадь;
. Если ЛицСчетДок.Выбран()=1 Тогда
. СпрЖильцов =
СоздатьОбъект("Справочник.Жильцы");
. СпрЖильцов.ИспользоватьВладельца(ЛицСчетДок.ТекущийЭлемент());//выборка
только в подчиненном
. Жильцы = 0;
. СпрЖильцов.ВыбратьЭлементы();
. Пока СпрЖильцов.ПолучитьЭлемент()=1
Цикл
. Жильцы = Жильцы + 1;
. КонецЦикла;
. КонецЕсли;
. Таблица.ВывестиСекцию("шапка");
. СуммаОплаты=Константа.ТарифЭлектро*площадь;
. ПоказаниеСч = ПоказанияСчетчикаЭ;
. СуммаОплаты=СуммаОплаты;
. дд= Формат(датадок,"ДММММ");
. Таблица.ВывестиСекцию("шапка2");
. тариф=Константа.ТарифЭлектро;
. площадь=ЛицСчетДок.жилаяплощадь;
. Если жильцы=1 тогда
. норма=константа.НормаКвтЧ1;
. иначеесли жильцы=2 тогда
. норма=константа.НормаКвтЧ2;
. иначеесли жильцы=3 тогда
. норма=константа.НормаКвтЧ3;
. иначеесли жильцы=4 тогда
. норма=константа.НормаКвтЧ4;
. иначеесли жильцы=5 тогда
. норма=константа.НормаКвтЧ5;
. КонецЕсли;
. Таблица.ВывестиСекцию("Строка");
. Таблица.ВывестиСекцию("Подвал");
. Таблица.Показать("Таблица");
. КонецПроцедуры
. //*******************************************************
. // ПРЕДОПРЕДЕЛЕННЫЕ ПРОЦЕДУРЫ
. //*******************************************************
. Процедура ПриОткрытии()
. Если Новый = 1 Тогда
. Форма.ДатаДок.Доступность(1);
. Иначе
. Форма.ДатаДок.Доступность(0);
. конецЕсли;
. СписокПараметров = Форма.Параметр;
. Если
ТипЗначенияСтр(СписокПараметров)="СписокЗначений"
. Тогда
. Счет =
СписокПараметров.Получить("Хозяин");
. Если
ПустоеЗначение(Счет.Электросчетчик) = 0 Тогда
. Форма.Электросчетчик.Видимость(1);
. КонецЕсли;
. Если ПустоеЗначение(Счет.ВодосчетчикХ)
= 0 Тогда
. Форма.Вода_холодная.Видимость(1);
. КонецЕсли;
. Если ПустоеЗначение(Счет.ВодосчетчикГ)
= 0 Тогда
. Форма.Вода_горячая.Видимость(1);
. КонецЕсли;
. Иначе
. Форма.Электросчетчик.Видимость(1);
. Форма.Вода_холодная.Видимость(1);
. Форма.Вода_горячая.Видимость(1);
. КонецЕсли;
. КонецПроцедуры
. //*******************************************************
. Процедура ПриЗаписи()
. //если документ введен в прошлом
периоде
. Если ДатаДок <
ЖрнНачисления.НачалоТекущегоПериода() Тогда
. Предупреждение(" Документ прошлого
месяца!
. |Перезапись и проводка
невозможна!",3);
. СтатусВозврата(0);
. Возврат;
. КонецЕсли;
. ВыбратьСтроки();//открыть перебор по
документу
. Пока ПолучитьСтроку()=1 Цикл
. Если (ПустоеЗначение(ПредыдущееЭ) = 0)
И (ПустоеЗначение(ПоказанияСчетчикаЭ) = 1) Тогда
. ПоказанияСчетчикаЭ = ПредыдущееЭ;
. КонецЕсли;
. Если (ПустоеЗначение(ПредыдущееХ) = 0)
И (ПустоеЗначение(ПоказаниеСчетчикаВодыХ) = 1) Тогда
. ПоказаниеСчетчикаВодыХ = ПредыдущееХ;
. КонецЕсли;
. Если (ПустоеЗначение(ПредыдущееГ) = 0)
И (ПустоеЗначение(ПоказаниеСчетчикаВодыГ) = 1) Тогда
. ПоказаниеСчетчикаВодыГ = ПредыдущееГ;
. КонецЕсли;
. КонецЦикла;
. Автор = Константа.Пользователь;
. АвтоВремяПослеТА();
. ЖрнНачисления = 0;
. КонецПроцедуры
. //*******************************************************
. Процедура ВводНового()
. СписокПараметров = Форма.Параметр;
. Если
ТипЗначенияСтр(СписокПараметров)="СписокЗначений"
. Тогда
. ПриВыбореСчета(СписокПараметров.Получить("Хозяин"));
. КонецЕсли;
. Если ТипЗначенияСтр(Форма.Параметр) =
"Справочник" Тогда
. ПриВыбореСчета(СписокПараметров);
. КонецЕсли;
. ДатаДок = РабочаяДата();
. Новый = 1;
. КонецПроцедуры
. ////////////////////////////////////////////////////////////
. //********************************************************
. ////////////////////////////////////////////////////////////
. ЖрнНачисления =
СоздатьОбъект("ЖурналРасчетов.Начисления");
. Новый = 0;
Приложение № 5
Документ “Отчёт мастера”
1. Процедура ПриОткрытии()
2. ПриЗаписиПерепроводить(1);
. // Инициализируем
. Форма.ИспользоватьЗакладки(1);
. Форма.Закладки.ДобавитьЗначение(1,"Основной");
. Форма.Закладки.ДобавитьЗначение(2,"ХодРаботы");
. Форма.ИспользоватьСлой("Основной,Шапка",2);
. КонецПроцедуры
. //******************************************************
. Процедура
ПриВыбореЗакладки(НомерЗакладки, ЗначениеЗакладки)
. Если НомерЗакладки = 1 Тогда
. Форма.ИспользоватьСлой("Основной");
. Иначе
. Форма.ИспользоватьСлой("ХодРаботы");
. КонецЕсли;
. КонецПроцедуры
. //******************************************************
. Процедура ВводНаОсновании(ДокОснование)
. //{{ВВОД_НА_ОСНОВАНИИ
. //Данный фрагмент построен
конструктором.
. //При повторном использовании
конструктора, внесенные вручную изменения будут потеряны!!!
. Если ДокОснование.Вид() =
"ЗаявкаМастеру" Тогда
. Адрес = ДокОснование.Адрес;
. Выдал = ДокОснование.Выдал;
. Выдан = ДокОснование.Выдан;
. Выдан2 = ДокОснование.Выдан2;
. Выдан3 = ДокОснование.Выдан3;
. Выдан4 = ДокОснование.Выдан4;
. ЛицСчет = ДокОснование.ЛицСчетДок;
. КонецЕсли;
. //}}ВВОД_НА_ОСНОВАНИИ
. КонецПроцедуры
. //******************************************************
. процедура пересчет()
. ЕдИзм=НАименование.ЕдИзм;
. конецпроцедуры
Приложение № 6 - отчёт “Жилой фонд”
1. Перем ЖрнНачисления;
2. Перем ДатаАктуальности;
. Процедура СформироватьОтчет()
. ТекстЗапросаЖФ =
. "//{{ЗАПРОС(ЖилойФонд)
. |Обрабатывать НеПомеченныеНаУдаление;
. |ЛицСчет = Справочник.Лицсчет.ТекущийЭлемент;
. |ЛицСчетУлица =
Справочник.Лицсчет.улица;
. |ЛицСчетДом = Справочник.Лицсчет.дом;
. |ЛицСчетКорпус =
Справочник.Лицсчет.корпус;
. |ЛицСчетКвартира =
Справочник.Лицсчет.квартира;
. |ЛицСчетДатазакрытия =
Справочник.Лицсчет.датазакрытия;
. |ЛицСчетКомнат =
Справочник.Лицсчет.количествокомнат;
. |ЛицСчетОбПлощадь =
Справочник.Лицсчет.общаяплощадь;
. |ЛицСчетЖилая =
Справочник.Лицсчет.жилаяплощадь;
. |ЛицСчетДополнительная =
Справочник.Лицсчет.дополнительнаяплощадь;
. |ЛицСчетСобственность =
Справочник.Лицсчет.типсобственности;
. |Условие (ЛицСчет.Родитель.Код
<>""Архив"");
. |Группировка ЛицСчетУлица Без Групп;
. |Группировка ЛицСчетДом Без Групп;
. |Группировка ЛицСчетКорпус Без Групп;
. |Группировка ЛицСчетКвартира Без Групп;
. |Группировка ЛицСчет Без Групп;
. |"//}}ЗАПРОС;
. ЗапросЖильцы =
СоздатьОбъект("Запрос");
. СпрЖильцов =
СоздатьОбъект("Справочник.Жильцы");
. ТекстЗапросаЖФ01 = ТекстЗапросаЖФ;
. ЗапросЖФ =
СоздатьОбъект("Запрос");
. Если ЗапросЖФ.Выполнить(ТекстЗапросаЖФ01)
= 0 Тогда
. Состояние("Ошибка запроса");
. ЗапросЖФ = 0;
. Возврат;
. Иначе
. Таблица =
СоздатьОбъект("Таблица");
. Таблица.ИсходнаяТаблица("Свод");
. Организация=Константа.Организация;
. ЮрАдрес=Константа.ЮрАдрес;
. Таблица.ВывестиСекцию("Шапка|Жилье");
. пп = 0;
. ДомовИтого = 0;
. КвартирИтого = 0;
. СчетовИтого = 0;
. КомнатИтого = 0;
. ОбщаяИтого = 0;
. ПрописаноИтого = 0;
. Льгота1Итого = 0;
. Льгота2Итого = 0;
. НормаИтого = 0;
. СверхНормыИтого = 0;
. Пока ЗапросЖФ.Группировка(1) = 1 Цикл
//группировка по улицам
. ДомовУлица = 0;
. КвартирУлица = 0;
. СчетовУлица = 0;
. КомнатУлица = 0;
. ОбщаяУлица = 0;
. ПрописаноУлица = 0;
. Льгота1Улица = 0;
. Льгота2Улица = 0;
. НормаУлица = 0;
. СверхНормыУлица = 0;
. пп = пп + 1;
. Пока ЗапросЖФ.Группировка(2) = 1 Цикл
//группировка по домам
. КвартирДом = 0;
. СчетовДом = 0;
. КомнатДом = 0;
. ОбщаяДом = 0;
. ПрописаноДом = 0;
. Льгота1Дом = 0;
. Льгота2Дом = 0;
. НормаДом = 0;
. СверхНормыДом = 0;
. ДомовУлица = ДомовУлица + 1;
. ДомовИтого = ДомовИтого + 1;
. Пока ЗапросЖФ.Группировка(3) = 1 Цикл
//группировка по корпусам
. Пока ЗапросЖФ.Группировка(4) = 1 Цикл
//группировка по квартирам
. ПрописаноКвартира = 0;
. Льгота1Квартира = 0;
. Льгота2Квартира = 0;
. НормаКвартира = 0;
. СверхНормыКвартира = 0;
. КвартирДом = КвартирДом + 1;
. КвартирУлица = КвартирУлица + 1;
. КвартирИтого = КвартирИтого + 1;
. КомнатДом = КомнатДом +
ЗапросЖФ.ЛицСчетКомнат;
. КомнатУлица = КомнатУлица +
ЗапросЖФ.ЛицСчетКомнат;
. КомнатИтого = КомнатИтого +
ЗапросЖФ.ЛицСчетКомнат;
. Пока ЗапросЖФ.Группировка(5) = 1 Цикл
//группировка по счетам
. Счет = ЗапросЖФ.ЛицСчет;
. СчетовДом = СчетовДом + 1;
. СчетовУлица = СчетовУлица + 1;
. СчетовИтого = СчетовИтого + 1;
. Прописано = КолВоПрописанныхИБезРегистрации(ЗапросЖФ.ЛицСчет);
. ПрописаноКвартира = ПрописаноКвартира +
Прописано;
. ПрописаноДом = ПрописаноДом +
ПрописаноКвартира;
. ПрописаноУлица = ПрописаноУлица +
ПрописаноКвартира;
. ПрописаноИтого = ПрописаноИтого +
ПрописаноКвартира;
. СпрЖильцов.ИспользоватьВладельца(ЗапросЖФ.ЛицСчет);//выборка
только в одном счете
. СпрЖильцов.ВыбратьЭлементы();
. Если Прописано = 1 Тогда //если
количество комнат в квартире =1
. Если ЗапросЖФ.ЛицСчетКомнат = 1 Тогда
//если в 1 комнате прописан 1 человек то свя площадь по соц норме
. Норма = ЗапросЖФ.ЛицСчетОбПлощадь;
. Иначе //комнат больше 1 для 1 человека
. Норма =
Константа.Норма1.Получить(ДатаАктуальности);//получили
. количество площади по соц норме для 1
человека
. КонецЕсли;
. ИначеЕсли Прописано > 1 Тогда
//количество прописанных более 1
. Если Прописано = 2 Тогда
. Норма =
Константа.Норма2.Получить(ДатаАктуальности);//получили количество площади по
соц норме для 2 человек
. Иначе
. Норма =
Константа.Норма3.Получить(ДатаАктуальности);//получили количество площади по
соц норме для 3 и более человек
. КонецЕсли;
. Иначе //прописано 0
. Норма = 0;
. КонецЕсли;
. Льгота1Дом = Льгота1Дом +
Льгота1Квартира;
. Льгота1Улица = Льгота1Улица +
Льгота1Квартира;
. Льгота1Итого = Льгота1Итого +
Льгота1Квартира;
. Льгота2Дом = Льгота2Дом +
Льгота2Квартира;
. Льгота2Улица = Льгота2Улица +
Льгота2Квартира;
. Льгота2Итого = Льгота2Итого +
Льгота2Квартира;
. НормаЖилья = Мин((Норма *
Прописано),ЗапросЖФ.ЛицСчетОбПлощадь);
. НормаКвартира = НормаКвартира +
НормаЖилья;
. НормаДом = НормаДом + НормаКвартира;
. НормаУлица = НормаУлица +
НормаКвартира;
. НормаИтого = НормаИтого +
НормаКвартира;
. НормаСверх =
Макс((ЗапросЖФ.ЛицСчетОбПлощадь - НормаЖилья),0);
. СверхНормыКвартира = СверхНормыКвартира
+ НормаСверх;
. СверхНормыДом = СверхНормыДом +
СверхНормыКвартира;
. СверхНормыУлица = СверхНормыУлица +
СверхНормыКвартира;
. СверхНормыИтого = СверхНормыИтого +
СверхНормыКвартира;
. ОбщаяДом = ОбщаяДом +
ЗапросЖФ.ЛицСчетОбПлощадь;
. ОбщаяУлица = ОбщаяУлица +
ЗапросЖФ.ЛицСчетОбПлощадь;
. ОбщаяИтого = ОбщаяИтого +
ЗапросЖФ.ЛицСчетОбПлощадь;
. КонецЦикла;// Группировка по счетам
. Если ПустоеЗначение(ПоказК) = 0 Тогда
. Таблица.ВывестиСекцию("СтрокаКвартира|Жилье");
. КонецЕсли;
. КонецЦикла;// Группировка по квартирам
. КонецЦикла;// Группировка по корпусам
. Если ПустоеЗначение(ПоказД) = 0 Тогда
. Таблица.ВывестиСекцию("СтрокаДом|Жилье");
. КонецЕсли;
. КонецЦикла;// Группировка по домам
. Таблица.ВывестиСекцию("СтрокаУлиц|Жилье");
. КонецЦикла;// Группировка по улицам
. Таблица.ВывестиСекцию("Подвал|Жилье");
. Таблица.ТолькоПросмотр(1);
. Таблица.Опции(0,0,10,0,"_ПАРАМЕТРЫ_ПЕЧАТИ_СЖ_");
. Таблица.ПараметрыСтраницы(2,,,0,0,0,0,0,0,1,1,);
. Таблица.Показать("Свод по жилому
фонду за " + ЖрнНачисления.ОписательПериода(ДатаАктуальности));
. Таблица = 0;
. КонецЕсли;
. СпрЖильцов = 0;
. ЗапросЖФ = 0;
. КонецПроцедуры
. //******************************************************
. // ПРЕДОПРЕДЕЛЕННЫЕ ПРОЦЕДУРЫ
. //******************************************************
. Процедура ПриОткрытии()
. Форма.кнНазад.Видимость(1);
. Форма.кнВперед.Видимость(1);
. КонецПроцедуры
. //*******************************************************
. Процедура ПриЗакрытии()
. ЖрнНачисления = 0;
. ДатаАктуальности = 0;
. КонецПроцедуры
. //******************************************************
. ЖрнНачисления =
СоздатьОбъект("ЖурналРасчетов.Начисления");
. ДатаАктуальности =
ЖрнНачисления.НачалоТекущегоПериода();
Приложение № 7
Отчёт “Отчёт по заявкам”
1. Процедура Сформировать()
2. Если ПустоеЗначение(НачДата) = 1 Тогда
. Сообщить("Укажите начальную дату
формирования отчета!");
. Возврат;
. КонецЕсли;
. Если ПустоеЗначение(кондата) = 1 Тогда
. Сообщить("Укажите конечную дату
формирования отчета!");
. Возврат;
. КонецЕсли;
. Если кондата < начдата Тогда
. Сообщить("Неправельный диапазон
дат!");
. Возврат;
. КонецЕсли;
. Запрос =
СоздатьОбъект("Запрос");
. ТекстЗапроса="
. |Период с НачДата по КонДата;
. |ОбрабатыватьДокументы Проведенные;
. |Д=Документ.ОтчётМастера.ДатаДок;
. |Адрес=Документ.ОтчётМастера.Адрес;
. |ВремяНач=Документ.ОтчётМастера.ВремяНач;
. |ВремяКон=Документ.ОтчётМастера.ВремяКон;
. |выдал=Документ.ОтчётМастера.Выдал;
. |выдан=Документ.ОтчётМастера.Выдан;
. |выдан2=Документ.ОтчётМастера.Выдан2;
. |выдан3=Документ.ОтчётМастера.Выдан3;
. |выдан4=Документ.ОтчётМастера.Выдан4;
. |ход=Документ.ОтчётМастера.текст;
. |Документы=Документ.ОтчётМастера.ТекущийДокумент;
. |Группировка Документы;
. |"//}}ЗАПРОС
. ;
. Запрос.Выполнить(ТекстЗапроса);
. Если Запрос.Выполнить(ТекстЗапроса) = 0
Тогда
. Возврат;
. КонецЕсли;
. Таблица =
СоздатьОбъект("Таблица");
. Таблица.ИсходнаяТаблица("Таблица");
. Таблица.ВывестиСекцию("Шапка");
. Таблица.Опции(0,0,Таблица.ВысотаТаблицы(),0);
. пп=0;
. Пока Запрос.Группировка(1) = 1 Цикл
. Д=Запрос.Д;
. Адрес = Запрос.Адрес;
. ВремяНач = Запрос.ВремяНач;
. ВремяКон = Запрос.ВремяКон;
. выдал = Запрос.выдал;
. выдан = Запрос.выдан;
. выдан2 = Запрос.выдан2;
. выдан3 = Запрос.выдан3;
. выдан4 = Запрос.выдан4;
. ход=Запрос.ход;
. //наим=Запрос.наим;
. пп=пп+1;
. Таблица.ВывестиСекцию("Строка");
. КонецЦикла;
. Запрос.Документы.ВыбратьСтроки();
. Пока Запрос.Документы.ПолучитьСтроку()
= 1 Цикл
. наим = наим +
Запрос.Документы.Наименование;
. Сообщить(Запрос.Документы.Наименовани);
. Таблица.ВывестиСекцию("Строка1");
. КонецЦикла;
. Таблица.ПараметрыСтраницы(2);
. Таблица.ТолькоПросмотр(1);
. Таблица.Показать("Взаиморасчеты с
контрагентами.Приход","");
. КонецПроцедуры
Приложение № 8
Отчёт “Прейскурант”
1. Процедура Сформировать()
2. Спр=СоздатьОбъект("Справочник.СантехУслуги");
. Таблица =
СоздатьОбъект("Таблица");
. Таблица.ИсходнаяТаблица("Таблица");
. Организация=Константа.Организация;
. ЮрАдрес=Константа.ЮрАдрес;
. Дат=ТекущаяДата();
. ГенДир=Константа.ГенДир;
. Таблица.ВывестиСекцию("Шапка");
. Спр.ВыбратьЭлементы();
. ном=0;
. Пока Спр.ПолучитьЭлемент()=1 Цикл
. Если Спр.ЭтоГруппа()=1 Тогда
. Наименование=Спр.Наименование;
. Таблица.ВывестиСекцию("Строка1");
. Иначе
. ном=ном+1;
. пп=ном;
. Наименование=Спр.Наименование;
. ЕдИзм=Спр.ЕдИзм;
. Цена=Спр.Тариф;
. Таблица.ВывестиСекцию("Строка");
. КонецЕсли;
. КонецЦикла;
. ГлЭкономист=Константа.ГлЭкономист;
. Таблица.ВывестиСекцию("Подвал");
. Таблица.Опции(0,0,,0);
. Таблица.Показать("Прейскурант");
. КонецПроцедуры
Приложение № 9
Отчёт “Реестр оплаты”
1. Процедура Сформировать()
2. //формируем запрос
. //проверка данных
. Если ПустоеЗначение(ДатаНачала) = 1
Тогда
. ДатаНачала = РабочаяДата()
. КонецЕсли;
. Если ПустоеЗначение(ДатаОкончания) = 1
Тогда
. ДатаОкончания = РабочаяДата()
. КонецЕсли;
. Если ВыбВидОплат.Выбран() = 0 Тогда
. Предупреждение("Выберите вид
оплаты");
. Возврат;
. КонецЕсли;
. ЗапросОтборСчетовОплаченных =
СоздатьОбъект("Запрос");
. ТекстЗапроса =
"//{{ЗАПРОС(Сформировать)
. |Период с ДатаНачала по ДатаОкончания;
. |ОбрабатыватьДокументы Проведенные;
. |ДокОплаты =
Документ.Оплата.ТекущийДокумент;
. |СуммаОплаты =
Документ.Оплата.СуммаОплаты;
. |СчетЛицевой =
Документ.Оплата.ЛицСчетДок;
. |СчетАдрес = Документ.Оплата.Адрес;
. |СчетКвартиросъемщик =
Документ.Оплата.Квартиросъемщик;
. |ВидОплаты = Документ.Оплата.ВидОплаты;
. |Группировка СчетЛицевой Без Групп;
. |Группировка ДокОплаты;
. |Функция Итого = Сумма(СуммаОплаты);
. |Условие (ВидОплаты = ВыбВидОплат);
. |"//}}ЗАПРОС
. ;
. // Если ошибка в запросе, то выход из
процедуры
. Если
ЗапросОтборСчетовОплаченных.Выполнить(ТекстЗапроса) = 0 Тогда
. ЗапросОтборСчетовОплаченных = 0;
. Сообщить("Ошибка выполнения
запроса");
. Возврат;
. Иначе //запрос выполнен
. //ЗапросОтборСчетовОплаченных.Выгрузить(ТаблЗнач);
. Если ЗапросОтборСчетовОплаченных.Итого
= 0 Тогда
. Предупреждение ("Нет данных за
выбранный период по выбранному виду оплаты");
. ЗапросОтборСчетовОплаченных = 0;
. Возврат;
. КонецЕсли;
. // описание таблицы
. Таблица =
СоздатьОбъект("Таблица");
. Таблица.ИсходнаяТаблица("Таблица");
. Таблица.ВывестиСекцию("Шапка");
. ИтогиСтрокой =
Формат(ЗапросОтборСчетовОплаченных.Итого,"ЧПДС");
. Итого =
Формат(ЗапросОтборСчетовОплаченных.Итого,"Ч10.2");
. Таблица.ВывестиСекцию("Итоги");
. Пока ЗапросОтборСчетовОплаченных.Группировка(1)=1
Цикл //по лицевым счетам
. Пока
ЗапросОтборСчетовОплаченных.Группировка(2)=1 Цикл //по документам лицевого
счета
. ЛицевойСчет =
ЗапросОтборСчетовОплаченных.СчетЛицевой;
. Адрес =
ЗапросОтборСчетовОплаченных.СчетАдрес;
. Квартиросъемщик = ЗапросОтборСчетовОплаченных.СчетКвартиросъемщик;
. СуммаОплаты =
Формат(ЗапросОтборСчетовОплаченных.Итого,"Ч10.2");
. //ЗапросОтборСчетовОплаченных.СчетЛицевой
. Таблица.ВывестиСекцию("Строка");
. КонецЦикла;//конец
. КонецЦикла;//конец Группировкапо
лицевым счетам
. Таблица.ВывестиСекцию("Подвал");
. ////показ таблицы
. Таблица.ТолькоПросмотр(1);
. Таблица.ПовторятьПриПечатиСтроки(9,9);
. Таблица.Опции(0,0,0,0,"_ПАРАМЕТРЫ_ПЕЧАТИ_СВОДНАЯ_ВЕДОМОСТЬ_");
. Таблица.ПараметрыСтраницы(1,,,10,0,0,0,0,0,1,1,);
. Таблица.Показать("Сводная
ведомость платежей за "+ ДатаНачала);
. Таблица = 0;
. КонецЕсли;
. ЗапросОтборСчетовОплаченных = 0;
. КонецПроцедуры
. //*******************************************************
. // ПРЕДОПРЕДЕЛЕННЫЕ ПРОЦЕДУРЫ
. //******************************************************
. Процедура ПриОткрытии()
. ДатаНачала = РабочаяДата();
. ДатаОкончания = РабочаяДата();
. КонецПроцедуры
. //*******************************************************
. Процедура ПриЗакрытии()
. КонецПроцедуры
. //******************************************************
. Процедура
ОбработкаЯчейкиТаблицы(Расшифровка,ФлагОбработки)
. Если
ТипЗначенияСтр(Расшифровка)="Справочник" Тогда
. СпрЛицсчет =
СоздатьОбъект("Справочник.Лицсчет");
. Если
СпрЛицсчет.НайтиПоКоду(Расшифровка.Код,0)=1 Тогда
. Параметр = СпрЛицсчет.ТекущийЭлемент();
. ОткрытьФорму("Справочник.Лицсчет",Параметр);
. КонецЕсли;
. СпрЛицсчет = 0;
. ИначеЕсли
ТипЗначенияСтр(Расшифровка)="Документ" Тогда
. ФлагОбработки = 1;
. КонецЕсли;
. КонецПроцедуры