Реквизит
|
Тип
|
Хранимые
данные
|
Предложение
|
ДокументСсылка.Предложение
|
Ссылка
на документ "Предложение"
|
Операция
|
ПеречислениеСсылка.Операция
|
Вид
операции
|
СтоимостьПокупки
|
Число,
длина 10, точность 2, неотр.
|
Стоимость
ОН/аренды
|
Процент
|
Число,
длина 4, точность 1, неотр
|
Процент
от сделки
|
СтоимостьУслуги
|
Число,
длина 10, точность 2, неотр.
|
Стоимость
услуги
|
Агент
|
СправочникСсылка.Сотрудники
|
Агент
|
Комментарий
|
строка,
длина неограниченная
|
Комментарий
|
Реквизит "Процент" предполагается
заполнять на основании данных регистра сведений "Процент", который
содержит информацию о размере оплаты услуг в виде стоимости сделки (ресурс
"Процент", типа число, длина 4, точность 1, неотрицательное) в
разрезе видов операций (измерение "Операция", типа
ПеречислениеСсылка.Операция).
Документ "Спрос" должен содержать
обработку проведения документа "Преложение", на основании которого он
был создан, а также при проведении делать запись в регистре накопления
"Услуги".
Данный регистр предназначен для хранения
информации о предоставленных платных услугах агентством. На основании его
формируется отчет "Услуги".
Следует также отметить необходимость создания
макетов для каждого из документов. Это связано с тем, что при вводе документа
"Предложение" фактически подписывается соглашение между агентством и
продавцами (арендодателями). Данный бумажный документ целесообразно формировать
с помощью разрабатываемой автоматизированной системы. Аналогично при вводе
документа "Спрос" фактически подписывается договор по оказанию услуг
между агентством и покупателями (арендаторами).
3. Разработка автоматизированной системы учета
риэлтерских операций
Разработка автоматизированной системы учета
риэлторских операций производится на основании спроектированных в предыдущем
разделе объектов конфигурации. Рассмотрим их создание подробнее.
.1 Создание объектов типа "Константа",
"Справочник", "Перечисление", "Регистр сведений"
Для работы с постоянной и условно постоянной
информацией, имеющей единственное значение, в конфигурации предусмотрен объект
"Константа". Создание определенных ранее констант выполняется путем
внесения в свойства вновь созданного объекта таких данных, как имя, синоним и
тип.
Для работы с постоянной и условно постоянной
информацией с некоторым множеством значений в системе используются объекты типа
"Справочник".
Создание каждого из спроектированных
справочников производится в несколько этапов:
1. На закладке "Основные"
диалогового окна редактирования справочника задается определённое для каждого
из них имя.
2. На закладке "Данные" вносятся
определённые для справочников реквизиты, а также длина кода и наименования.
. На закладке "Формы" были созданы
основные формы представления справочников, а также выбирались способы
редактирования справочников.
Справочники "Сотрудники" и
"Клиенты" имеют много реквизитов, поэтому для ввода и редактирования
элементов необходима форма элемента. Другие справочники имеют простую
структуру, поэтому для них такая форма не предусмотрена - ввод и редактирование
элементов осуществляется в списке.
Форма элемента справочника
"Сотрудники" приведена на рисунке 1.
Рисунок 1. Форма элемента справочника
"Сотрудники"
Логично предположить, что реквизит
"ПолноеНаименование" будет вводиться как расширенное значение
реквизита "Наименование", поэтому в модули формы можно прописать
процедуру для вставки в поле ввода "ПолноеНаименование" значения поля
"Наименование" при изменении такового:
Процедура НаименованиеПриИзменении(Элемент)
ЭлементыФормы.ПолноеНаименование.Значение =
Элемент.Значение;
КонецПроцедуры
Использование тех или иных реквизитов
справочника "Клиенты" зависит от того, данные какого лица,
физического или юридического, заносятся в данный момент. Поэтому обосновано
менять форму для ввода и редактирования элемента в зависимости от выбора
значения перечисления в поле "ЮрФизЛицо". Для этого в модуль формы
записывается процедура обработки события изменения данного поля. Она выглядит
следующим образом:
Процедура ЮрФизЛицоПриИзменении(Элемент)
Если ЭлементыФормы.ЮрФизЛицо.Значение =
Перечисления.ЮрФизЛицо.ЮрЛицо Тогда
ЭлементыФормы.Панель1.Страницы.Страница1.Видимость
= Ложь;
ЭлементыФормы.Панель1.Страницы.Страница2.Видимость
= Истина;
Иначе ЭлементыФормы.Панель1.Страницы.Страница2.Видимость
= Ложь;
ЭлементыФормы.Панель1.Страницы.Страница1.Видимость
= Истина;
КонецЕсли
КонецПроцедуры
При этом на странице 1 панели располагаются
реквизиты используемые только для внесения данных о физическом лице, а на
странице 2 - данных о юридическом лице. На рисунке 2 приведена форма элемента
справочника "Клиенты" при выборе в поле "ЮрФизЛицо"
значения "ФизЛицо", а на рисунке 3 - при выборе значения
"ЮрЛицо".
Рисунок 2. Форма элемента справочника
"Клиенты" при значении "ФизЛицо"
Рисунок 3. Форма элемента справочника
"Клиенты" при значении "ЮрЛицо"
Такая же процедура выполняется и при открытии
элемента. Так же при изменении данных реквизита "Наименование"
происходит заполнение реквизита "НаименованиеПолное" этими данными
аналогично как и в форме элемента справочника "Сотрудники".
Перечисления используются в системе 1С:
Предприятие для описания постоянных наборов значений, не изменяемых в процессе
работы конфигурации. При создании перечислений в диалоговом окне редактирования
на закладке "Основные" описаны имя и синоним, а на закладке
"Данные" - значения перечисления. Объект
конфигурации "Регистр сведений" является прикладным объектом и
предназначен для описания структуры хранения данных в разрезе нескольких
измерений. При создании регистра сведений "Процент" на закладке
"Основные" заданы имя регистра и его периодичность: "В пределах
секунды", а на закладке "Данные" определены измерения и ресурсы
данного регистра.
.2 Создание объектов типа "Документ",
"Регистр накопления", "Отчет"
Документы предназначены для отражения
хозяйственных событий предприятия, которые имеют отношение к автоматизируемой
предметной области. Все документы характеризуются номером и датой. Каждый
документ может иметь неограниченное количество реквизитов и табличных частей,
которые задаются на закладке "Данные" окна редактирования объекта. В
разрабатываемой системе предполагаются два документа: "Предложение" и
"Спрос". Множество реквизитов и табличных частей было определено в
процессе проектирования.
Так же для документа создаются формы ввода -
экранные аналоги реальных документов. Рассмотрим их создание детальней.
Документ "Предложение" имеет много
реквизитов, поэтому целесообразно поместить поля ввода на двух вкладках. Форма
данного документа представлена на рисунках 4 и 5.
Рисунок 4. Форма документа
"Предложение", вкладка "Основные данные"
Рисунок 5. Форма документа
"Предложение", вкладка "Дополнительно"
На форме также расположена кнопка
"Печать", при нажатии которой из модуля объекта вызывается процедура
"Печать". Данная процедура формирует макет, соответствующий форме
бумажного документа "Соглашение о представлении интересов продавца
(арендодателя) при продаже (сдаче в аренду) недвижимого имущества". Текст
процедуры, а также печатная форма приведены в приложении 1.
Форма документа "Спрос" приведена на
рисунке 6.
Рисунок 6. Форма документа "Спрос"
Для удобства заполнения данной формы реализована
процедура обработки заполнения на основании документа "Предложение".
Данная процедура формируется с помощью конструктора ввода на основании. Текст
данной процедуры выглядит следующим образом:
Процедура ОбработкаЗаполнения(Основание)
Если ТипЗнч(Основание) =
Тип("ДокументСсылка.Предложение") Тогда
// Заполнение шапки
Операция = Основание.Операция;
Предложение = Основание.Ссылка;
КонецЕсли;
Процент = Процент (Дата, Операция);
СтоимостьУслуги =
РасчетСтоимостиУслуги(СтоимостьПокупки, Процент);
КонецПроцедуры
Элемент формы "Процент" заполняется
автоматически при изменении элемента "Операция" путем вызова в модуле
формы функции из общего модуля "Работа с документами", которая
выглядит следующим образом:
Функция Процент (АктуальнаяДата, Операция)
Экспорт
Отбор = Новый Структура("Операция",
Операция);
ЗначенияРесурсов =
РегистрыСведений.Процент.ПолучитьПоследнее(АктуальнаяДата, Отбор);
Возврат ЗначенияРесурсов.Процент;
КонецФункции
Следует отметить, что изменение элемента
"Операция" происходит и при вводе документа на основании. Поэтому
данную функцию следует вызывать из процедуры обработки заполнения на основании
в модуле объекта.
Элемент формы "СтоимостьУслуги"
рассчитывается на основании данных элементов формы "СтоимостьПокупки"
и "Процент". Поэтому при изменении данных элементов вызывается
функция расчета стоимости услуги из общего модуля "Работа с
документами", которая выглядит следующим образом:
Функция РасчетСтоимостиУслуги (СтоимостьПокупки,
Процент) Экспорт
СтоимостьУслуги = СтоимостьПокупки*Процент/100;
Возврат СтоимостьУслуги;
КонецФункции
Также как и элемент "Операция",
элемент "СтоимостьПокупки" изменяется при введении документа на
основании, поэтому так же, как и функция "Процент", данная функция
вызывается из процедуры обработки заполнения на основании в модуле объекта.
Аналогично документу "Предложение", на
форме документа "Спрос" расположена кнопка "Печать", при
нажатии которой из модуля объекта вызывается процедура "Печать".
Данная процедура формирует макет, соответствующий форме бумажного документа
"Договор по оказанию услуг". Текст процедуры, а также печатная форма
приведены в приложении 2.
Созданные документы "Предложение" и
"Спрос" проводятся по регистрам накопления "Объекты
недвижимости" и "Услуги" соответственно. Рассмотрим создание
данных регистров.
Объект конфигурации "Регистр
накопления" является прикладным объектом и предназначен для описания
структуры накопления данных. На основе этого объекта платформа создает в базе
данных информационную структуру, в которой будут накапливаться данные,
"поставляемые" различными объектами базы данных. Эти данные будут
храниться в регистре в виде отдельных записей, каждая из которых имеет
одинаковую, заданную в конфигураторе структуру.
После создания оборотного регистра накопления
"Объекты недвижимости" с помощью диалогового окна редактирования,
объявления его реквизитов на закладке "Данные", а также указания на
закладке "Регистраторы" документа "Предложение" необходимо
создать процедуру проведения документа по данному регистру. Это можно сделать с
помощью конструктора движения, который вызывается из диалогового окна редактирования
документа "Предложение". Окно конструктора движения представлено на
рисунке 7.
Рисунок 7. Окно конструктора движения для
документа "Заявка"
Конструктор движения автоматически формирует
текст процедуры обработки проведения и записывает ее в модуль документа. Текст
данной процедуры приведен в приложении 3. Для удобного просмотра данных в
регистре создается форма списка.
После введения документа "Спрос" на
основании определенного документа "Предложение" запись,
сформированную последним в регистре "Объекты недвижимости", следует
удалить, т.к. в регистре находятся данные только о тех объектах, которые
выставление на рассмотрение потенциальным покупателям (арендаторам). Это
действие целесообразно реализовать путем помещения на форму документа
"Спрос" специальной кнопки "Выполнить", связанной с
процедурой "ОсновныеДействияФормыДействие(Кнопка)". Текст данной
процедуры выглядит следующим образом:
Процедура ОсновныеДействияФормыДействие(Кнопка)
Объект = ЭлементыФормы.Предложение.Значение.ПолучитьОбъект();
Объект.Продана = Истина;
Объект.Проведен = Ложь;
Объект.Записать(РежимЗаписиДокумента.ОтменаПроведения);
КонецПроцедуры
В ходе выполнения процедуры, кроме отмены
проведения документа "Предложение", проводится изменение реквизита
этого документа "Продана" на значение "Истина".
Также в процессе проектирования был определен
еще один оборотный регистр "Услуги", в котором записи формируются при
проведении документа "Спрос". Поэтому после создания данного регистра
вызывается конструктор движения для данного документа, который формирует
процедуру обработки проведения в модули объекта, текст которой приведен в
приложении 3. На рисунке 8 представлено окно конструктора.
Рисунок 8. Окно конструктора движения для документа
"Спрос"
На основе созданных регистров формируются два
отчета "Выбор ОН" и "Услуги". Рассмотрим их разработку
подробнее.
Отчёты создаются с помощью конструктора выходных
форм, который вызывается из окна редактирования объекта "Отчёт".
Отчет "Выбор ОН" в качестве источника данных для запроса выступают
данные из регистра накопления "Объекты ОН". Т.к. основной задачей
отчета является выбор отдельных строк из регистра по определенным параметрам,
на закладке "Условия" определяются поля, по которым будет
производиться выборка. Данная закладка представлена на рисунке 9.
Рисунок 9. Окно конструктора выходных форм
отчёта "Выбор ОН"
На закладке "Выходная форма" следует
отметить, что данные параметры редактируются в форме. При работе с параметрами
может понадобиться отбор по какому-либо иному полю, поэтому в конструкторе
указывается использование формы настройки отчета и в качестве ее состава
выбирается "Отбор".
Т.к. введение параметров, редактируемых в форме
отчета обязательно, целесообразно при открытии формы отчета присваивать
параметру "Конечная цена" максимально возможное значение. Данная
процедура выглядит следующим образом:
Процедура ПриОткрытии()
КонечнаяЦена = "99999999,99";
КонецПроцедуры
Вследствие этого в случае невведения по
каким-либо причинам параметров "Начальная цена" и "Конечная
цена" в форму выборка будет осуществляться по всем допустимым значениям
реквизита "Цена".
Выходная форма отчета "Выбор ОН"
представлена на рисунке 10.
Рисунок 10. Выходная форма отчета "Выбор
ОН"
Выходная форма отчета "Услуги"
создается также при помощи конструктора. В источника данных выбирается
"Услуги.Обороты". На закладке "Итоги" указывается
группировочное поле "Агент", а в качестве итогового выступает
"СтоимостьУслугиОборот". Данная закладка представлена на рисунке 11.
Рисунок 11. Окно конструктора выходных форм
отчёта "Услуги"
На закладке "Выходная форма"
указывается факт редактирования в форме параметров "ДатаНачала" и
"ДатаОкончания". В результате конструктор формирует форму отчета,
которая представлена на рисунке 11, и макет.
Рисунок 11. Выходная форма отчета
"Услуги"
Конечным этапом разработки стала создание удобного
интерфейса.
Заключение
В данной курсовой работе было рассмотрено анализ
деятельности риэлторской фирмы, разработка функциональных требований к
автоматизированной системе учета риэлторских операций, а также ее
проектирование и разработка автоматизированной системы с помощью использования
платформы "1С: Предприятие 8.0".
В первом разделе были проанализированы
предметная область и работа риелторской фирмы, и в соответствии с этим были
выведены процессы деятельности риэлтора, требующие автоматизации.
Во втором разделе были определены объекты
конфигурации, предназначенные для ввода, хранения, обработки и вывода
информации о клиентах агентства, объектах недвижимости, предоставляемых
услугах, а также других данных, необходимых для работы риэлтора. Также была
спроектирована связь между этими объектами.
В третьем разделе было произведено создание
конфигурации "Риэлтор" путем разработки спроектированных во втором
разделе объектов конфигурации и взаимодействия между ними, а также
пользовательского интерфейса для удобства доступа к данным объектам.
В результате можно выделить следующую
последовательность использования разработанных объектов в процессе деятельности
риэлтора:
· При поступлении предложения от клиента создается
новый элемент справочника "Клиенты" и документ
"Предложение", который содержит процедуру печати бумажного документа
"Соглашение о предоставлении интересов продавца (арендодателя)".
Данный документ при проведении формирует запись в регистре накопления
"Объекты недвижимости"
· При появлении потенциальных покупателей
(арендаторов) с помощью отчета "Выбор ОН", формируемого на основе
регистра накопления "Объекты недвижимости", подбирается подходящие
варианты.
· При согласии клиента приобрести (арендовать)
определенный объект недвижимости создается новый элемент справочника
"Клиенты" и на основании соответствующего документа
"Предложение" вводится документ "Спрос", который содержит
обработку отмены проведения первого. Данный документ содержит процедуру печати
бумажного документа "Договор по оказанию услуг". При проведении он
формирует запись в оборотном регистре накопления "Услуги", на основе
которого формируется отчет "Услуги".
Таким образом, задача данной курсовой работы
(создание автоматизированной системы учета риэлторских операций) была
выполнена.
Список использованных источников
1. Митичкин С.А. Разработка в
системе 1С: Предприятие 8.0.- М.: ООО "1С-Паблишинг", 2003.- 500 с.
2. Радченко М.Г. 1С: Предприятие
8.0. Практическое пособие разработчика. Примеры и типовые приёмы.- М.: ООО
"1С-Паблишинг", 2004.- 656 с., ил.
3. comfort.kiev.ua
4. deal.real.ru
5. wmakler.chat.ru
. exsoft.perm.ru
. reesag.chat.ru
Приложение
Текст процедуры "Печать()", макет и
предварительный просмотр документа "Предложение"
Процедура Печать() Экспорт
ТабДок = Новый ТабличныйДокумент;
Макет =
Документы.Предложение.ПолучитьМакет("Печать");
// Заголовок
Область =
Макет.ПолучитьОбласть("Заголовок");
ТабДок.Вывести(Область);
// Текст
Область =
Макет.ПолучитьОбласть("Текст");
Если Операция =
Перечисления.Операция.ПокупкаПродажа Тогда
Область.Параметры.Продавцы =
"продавцы";
Область.Параметры.Операция =
"продажи";
Иначе Область.Параметры.Продавцы =
"арендодатели";
Область.Параметры.Операция = "сдачи в
аренду";
КонецЕсли;
Область.Параметры.Дата = Формат(Дата,
"ДЛФ=ДД");
Область.Параметры.Адрес =
Константы.Адрес.Получить();
Область.Параметры.Телефоны =
Константы.Телефоны.Получить();
Область.Параметры.НазваниеОрганизации =
Константы.НазваниеОрганизации.Получить();
Область.Параметры.АгентПолное =
Агент.ПолноеНаименование;
ТабДок.Вывести(Область);
// Владельцы
Для Каждого ТекСтрокаВладельцы Из Владельцы Цикл
Область =
Макет.ПолучитьОбласть("Владельцы");
Если
ТекСтрокаВладельцы.УчастникВладения.ЮрФизЛицо = Перечисления.ЮрФизЛицо.ФизЛицо
Тогда
Область.Параметры.УчастникВладения = ТекСтрокаВладельцы.УчастникВладения.НаименованиеПолное;
Иначе Область.Параметры.УчастникВладения =
ТекСтрокаВладельцы.УчастникВладения.НаименованиеПолное + ", представителем
которого является " + ТекСтрокаВладельцы.УчастникВладения.Представитель;
КонецЕсли;
ТабДок.Вывести(Область);
КонецЦикла;
// Текст1
Область =
Макет.ПолучитьОбласть("Текст1");
Если Операция =
Перечисления.Операция.ПокупкаПродажа Тогда
Область.Параметры.Продавец =
"Продавец";
Область.Параметры.Операция =
"продажи";
Область.Параметры.Покупателями =
"покупателями";
Область.Параметры.Продавца =
"Продавца";
Область.Параметры.ОбъектПередачи = "права
собственности на";
Область.Параметры.Покупателю =
"покупателю";
Область.Параметры.ОбъектаСоглашения =
"Недвижимости";
Иначе Область.Параметры.Продавец = "Арендодатель";
Область.Параметры.Операция = "сдачи в
аренду";
Область.Параметры.Покупателями =
"арендаторами";
Область.Параметры.Продавца =
"Арендодателя";
Область.Параметры.ОбъектПередачи = "в
аренду";
Область.Параметры.Покупателю =
"арендатору";
Область.Параметры.ОбъектаСоглашения =
"аренды Недвижимости";
КонецЕсли;
Область.Параметры.ВидОН = ВидОН;
Область.Параметры.Город =
Город.ТипНаселенногоПункта.Наименование + " " + Город;
Область.Параметры.Улица =
Улица.ТипУлицы.Наименование + " " + Улица;
Область.Параметры.Дом = Дом;
Если Квартира = "" Тогда
Иначе Область.Параметры.Квартира = ", кв.
" + Квартира;
КонецЕсли;
ПарПредмета = "рубль, рубля, рублей, м,
копейка, копейки, копеек, ж, 2";
Область.Параметры.Цена = Цена;
Область.Параметры.ЦенаПрописью = ЧислоПрописью(Цена,
"Л = ru_RU", ПарПредмета);
Область.Параметры.Дата = Формат(Дата,
"ДЛФ=ДД");
Область.Параметры.Агент = Агент;
Область.Параметры.НаименованиеОрганизации =
Константы.НазваниеОрганизации.Получить();
Область.Параметры.ИННОрганизации = Константы.ИНН.Получить();
Область.Параметры.КППОрганизации =
Константы.КПП.Получить();
Область.Параметры.АдресОрганизации =
Константы.Адрес.Получить();
Область.Параметры.ТелефоныОрганизации =
Константы.Телефоны.Получить();
Область.Параметры.РасчетныйСчет = Константы.РасчетныйСчет.Получить();
ТабДок.Вывести(Область);
// Владельцы1
Для Каждого ТекСтрокаВладельцы Из Владельцы Цикл
Область =
Макет.ПолучитьОбласть("Владельцы1");
Область.Параметры.НаименованиеПродавца =
ТекСтрокаВладельцы.УчастникВладения.НаименованиеПолное;
Область.Параметры.АдресПродавца =
ТекСтрокаВладельцы.УчастникВладения.Адрес;
Область.Параметры.ТелефонПродавца =
ТекСтрокаВладельцы.УчастникВладения.Телефон;
Если
ТекСтрокаВладельцы.УчастникВладения.ЮрФизЛицо = Перечисления.ЮрФизЛицо.ФизЛицо
Тогда
Область.Параметры.Параметр1 = "дата
р." + ТекСтрокаВладельцы.УчастникВладения.ДатаРождения;
Область.Параметры.Параметр2 =
ТекСтрокаВладельцы.УчастникВладения.Документ;
Иначе Область.Параметры.Параметр1 = "ИНН
" + ТекСтрокаВладельцы.УчастникВладения.ИНН;
Область.Параметры.Параметр2 = "КПП " +
ТекСтрокаВладельцы.УчастникВладения.КПП;
Область.Параметры.Представитель =
ТекСтрокаВладельцы.УчастникВладения.Представитель;
КонецЕсли;
ТабДок.Вывести(Область);
КонецЦикла;
ТабДок.ОтображатьСетку = Ложь;
ТабДок.Защита = Ложь;
ТабДок.ТолькоПросмотр = Ложь;
ТабДок.ОтображатьЗаголовки = Ложь;
ТабДок.Показать();
КонецПроцедуры
Приложение 2
Текст процедуры "Печать()", макет и
предварительный просмотр документа "Спрос"
Процедура Печать() Экспорт
ТабДок = Новый ТабличныйДокумент;
Макет =
Документы.Спрос.ПолучитьМакет("Печать");
// Заголовок
Область =
Макет.ПолучитьОбласть("Заголовок");
Область.Параметры.Номер = Номер;
ТабДок.Вывести(Область);
// Текст
Область =
Макет.ПолучитьОбласть("Текст");
Область.Параметры.Дата = Формат(Дата,
"ДЛФ=ДД");
Область.Параметры.Адрес =
Константы.Адрес.Получить();
Область.Параметры.Телефоны =
Константы.Телефоны.Получить();
Область.Параметры.НазваниеОрганизации =
Константы.НазваниеОрганизации.Получить();
Область.Параметры.АгентПолное =
Агент.ПолноеНаименование;
ТабДок.Вывести(Область);
//Клиенты
Для Каждого ТекСтрокаПокупатели Из Покупатели
Цикл
Область =
Макет.ПолучитьОбласть("Клиенты");
Если ТекСтрокаПокупатели.УчастникПокупки.ЮрФизЛицо
= Перечисления.ЮрФизЛицо.ФизЛицо Тогда
Область.Параметры.УчастникПокупки =
ТекСтрокаПокупатели.УчастникПокупки.НаименованиеПолное;
Иначе Область.Параметры.УчастникПокупки =
ТекСтрокаПокупатели.УчастникПокупки.НаименованиеПолное + ", представителем
которого является " + ТекСтрокаПокупатели.УчастникПокупки.Представитель;
КонецЕсли;
ТабДок.Вывести(Область);
КонецЦикла;
//Текст1
Область =
Макет.ПолучитьОбласть("Текст1");
Если Операция =
Перечисления.Операция.ПокупкаПродажа Тогда
Область.Параметры.Операция =
"покупки";
Область.Параметры.Отчуждающего =
"отчуждающего";
Область.Параметры.Продавцами =
"Продавцами";
Иначе Область.Параметры.Операция =
"аренды";
Область.Параметры.Отчуждающего = "сдающего
в аренду";
Область.Параметры.Продавцами =
"Арендодателями";
КонецЕсли;
Область.Параметры.ВидОН = Предложение.ВидОН;
Область.Параметры.Город =
Предложение.Город.ТипНаселенногоПункта.Наименование + " " +
Предложение.Город;
Область.Параметры.Улица =
Предложение.Улица.ТипУлицы.Наименование + " " + Предложение.Улица;
Область.Параметры.Дом = Предложение.Дом;
Если Предложение.Квартира = "" Тогда
Иначе Область.Параметры.Квартира = ", кв.
" + Предложение.Квартира;
КонецЕсли;
Область.Параметры.СтоимостьУслуги =
СтоимостьУслуги;
ПарПредмета = "рубль, рубля, рублей, м,
копейка, копейки, копеек, ж, 2";
Область.Параметры.СтоимостьУслугиПрописью =
ЧислоПрописью(СтоимостьУслуги, "Л = ru_RU", ПарПредмета);
Область.Параметры.Агент = Агент;
Область.Параметры.НаименованиеОрганизации =
Константы.НазваниеОрганизации.Получить();
Область.Параметры.ИННОрганизации =
Константы.ИНН.Получить();
Область.Параметры.КППОрганизации =
Константы.КПП.Получить();
Область.Параметры.АдресОрганизации =
Константы.Адрес.Получить();
Область.Параметры.ТелефоныОрганизации =
Константы.Телефоны.Получить();
Область.Параметры.РасчетныйСчет =
Константы.РасчетныйСчет.Получить();
Область.Параметры.Агент = Агент;
ТабДок.Вывести(Область);
// Клиенты1
Для Каждого ТекСтрокаПокупатели Из Покупатели
Цикл
Область =
Макет.ПолучитьОбласть("Клиенты1");
Область.Параметры.НаименованиеКлиента =
ТекСтрокаПокупатели.УчастникПокупки.НаименованиеПолное;
Область.Параметры.АдресКлиента =
ТекСтрокаПокупатели.УчастникПокупки.Адрес;
Область.Параметры.ТелефонКлиента =
ТекСтрокаПокупатели.УчастникПокупки.Телефон;
Если ТекСтрокаПокупатели.УчастникПокупки.ЮрФизЛицо
= Перечисления.ЮрФизЛицо.ФизЛицо Тогда
Область.Параметры.Параметр1 = "дата
р." + ТекСтрокаПокупатели.УчастникПокупки.ДатаРождения;
Область.Параметры.Параметр2 =
ТекСтрокаПокупатели.УчастникПокупки.Документ;
Иначе Область.Параметры.Параметр1 = "ИНН
" + ТекСтрокаПокупатели.УчастникПокупки.ИНН;
Область.Параметры.Параметр2 = "КПП " +
ТекСтрокаПокупатели.УчастникПокупки.КПП;
Область.Параметры.Представитель =
ТекСтрокаПокупатели.УчастникПокупки.Представитель;
КонецЕсли;
ТабДок.Вывести(Область);
КонецЦикла;
ТабДок.ОтображатьСетку = Ложь;
ТабДок.Защита = Ложь;
ТабДок.ТолькоПросмотр = Ложь;
ТабДок.ОтображатьЗаголовки = Ложь;
ТабДок.Показать();
КонецПроцедуры
Приложение 3
Текст процедуры проведения документа
"Предложение"
Процедура ОбработкаПроведения(Отказ, Режим)
Движение =
Движения.ОбъектыНедвижимости.Добавить();
Движение.Период = Дата;
Движение.Операция = Операция;
Движение.ВидОН = ВидОН;
Движение.Город = Город;
Движение.Район = Район;
Движение.Улица = Улица;
Движение.Дом = Дом;
Движение.Квартира = Квартира;
Движение.Комнат = Комнат;
Движение.Общая = Общая;
Движение.Жилая = Жилая;
Движение.Кухня = Кухня;
Движение.ПланировкаДома = ПланировкаДома;
Движение.Потолок = Потолок;
Движение.Этаж = Этаж;
Движение.Этажность = Этажность;
Движение.Состояние = Состояние;
Движение.Санузел = Санузел;
Движение.Водоснабжение = Водоснабжение;
Движение.Отопление = Отопление;
Движение.Телефон = Телефон;
Движение.Газ = Газ;
Движение.Канализация = Канализация;
Движение.Лифт = Лифт;
Движение.Мусоропровод = Мусоропровод;
Движение.Свободна = Свободна;
Движение.Цена = Цена;
Движение.Комментарий = Комментарий;
Движения.ОбъектыНедвижимости.Записать();
КонецПроцедуры
Текст процедуры проведения документа
"Спрос"
Процедура ОбработкаПроведения(Отказ, Режим)
Движение = Движения.Услуги.Добавить();
Движение.Период = Дата;
Движение.Агент = Агент;
Движение.СтоимостьУслуги = СтоимостьУслуги;
Движения.Услуги.Записать();
КонецПроцедуры