Автоматизация учета клиентов туристического агентства

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    1,44 Мб
  • Опубликовано:
    2014-06-25
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Автоматизация учета клиентов туристического агентства













ДИПЛОМНЫЙ ПРОЕКТ НА ТЕМУ:

Автоматизация учета клиентов туристического агентства

Содержание

Введение. Специальная часть

. Постановка задачи

. Формализация

. Описание среды программирования

.1 Требования к техническому обеспечению

.2 Требования к программному обеспечению

. Методика разработки проекта

.1 Алгоритмизация задачи

.1.1 Описание алгоритма

.1.2 Структурная схема

.2 Программирование

.3 Аномалии и защитное программирование

.4 Тестирование и отладка

. Анализ результатов решения

. Инструкция пользователю. Экономическая часть

Заключение

Литература

Приложение

Введение

Туристическое агентство «Отпуск» - поставщик туристических услуг, предоставляет клиентам туры, как на внутреннем рынке, так и международный туризм.

Основное направление в международном туризме - это Турция и Египет, Таиланд, затем следуют страны Европы (экскурсионные, учебные, отдых, лечение на курортах), на третьем месте горнолыжные курорты, морские круизы и экзотические страны и острова (Юго-Восточная Азия, Индия, Канарские острова и т.д.).

Клиентская база, сложившаяся за несколько лет работы очень разнообразна. Она включает в себя как клиентов с небольшими доходами, предпочитающих низкобюджетные туры (автобусные туры на Черноморское побережье, отдых на турбазах, экскурсионные поездки на 1-5 дней) так и клиентов VIP (высокобюджетные туры).

На рынке туристских услуг эта фирма работает более 6 лет и, конечно, накопила большой опыт в этой деятельности, а также высокий объем информации, для которой необходима систематизация.

Создание автоматизированного учета клиентов в туристическом агентстве «Отпуск» позволит сделать работу данного агентства более эффективной, упростит ввод и поиск нужной в работе информации, а также, соответственно, повысит уровень дохода фирмы.

I. Специальная часть

. Постановка задачи

Задача дипломного проекта - разработать конфигурацию в среде «1С:Предприятие 7.7» для учета клиентов в туристической фирме, которая позволит:

Автоматизировать процедуру учета клиентов.

Вводить и хранить данные о клиентах и заключенных с ними договоров.

Автоматически формировать пакет документов для путешествия.

Формировать и выводить на печать документы для оформления и отчетные формы.

автоматизация учет клиент данный

2. Формализация

Для решения, поставленной задачи необходимо провести формализацию задачи, как необходимый этап разработки задачи, который заключается в построении структуры справочников, схемы взаимосвязей документов со справочниками и описания алгоритмов обработки.

Структурная схема исполнения программы:

Схема 1. Структурная схема исполнения программы

.

Как правило, разработка проекта реализации задачи выполняется в несколько этапов, начиная с анализа той информации, которая является выходной (формы, отчеты). Только после выяснения структуры и состава этой информации, можно сделать вывод о структуре и составе справочников. Какие измерения и ресурсы необходимо создать в регистрах оперативного учета, данными какого характера будут заполняться, проводиться документы.

На следующем этапе уточняется структура полей в справочниках и документах, определяются правила ввода информации.

Затем происходит возврат к проектированию запросов для форм и отчетов, проектируются формы документов и отчетов. Уточняться измерения и ресурсы в регистрах оперативного учета.

На заключительном этапе создаются различные пользовательские меню, журналы документов, различные дополнительные обработки, определяются права пользователей. В процессе отладки и доработки, возможен возврат на любой этап процесса разработки.

В следующих разделах пояснительной записки все объекты задачи рассматриваются более подробно. Основные особенности ведения учета задаются (настраиваются) в конфигураторе.

В основе данной конфигурации лежит принцип ввода информации в программу «От документа». Это значит, что в программе возможно создание и хранение в электронном виде документов и автоматическое проведение их по регистрам оперативного учета. Технология «От документа» позволяет вводить любую информацию в программу однократно и многократно ее использовать. Веденная информация автоматически обобщается, что позволяет формировать необходимую отчетность за любой период времени.

Отчеты, входящие в конфигурацию, позволяют оперативно получать необходимые регистры учета и представлять информацию в удобном для анализа виде.

3. Описание среды программирования

«1C: Предприятие 7.7» является универсальной системой для автоматизации ведения учета. Она может поддерживать различные системы учета, различные методологии учета, использоваться на предприятиях различных типов деятельности. Система программ «1C:Предприятие 7.7» предназначена для решения широкого спектра задач автоматизации учета и управления, стоящих перед динамично развивающимся предприятиями.

«1С:Предприятие» является гибкой настраиваемой системой, с помощью ко­торой можно решать широкий круг задач в сфере автоматизации деятельности предприятий. Специфические алгоритмы конфигурации описываются в систе­ме «1С:Предприятие» при помощи программной компоненты Конфигуратор в программных модулях, содержащих тексты на встроенном языке системы.

Встроенный язык системы «1С:Предприятие» предназначен для описания (на стадии разработки конфигурации) алгоритмов. Результатом конфигурирования является Конфигурация, которая представляет собой модель предметной области.

Конфигурацией в системе «1С: Предприятие» называется совокупность трех взаимосвязанных составных частей:

•Структуры метаданных

•Набора пользовательских интерфейсов

•Набора прав

Метаданными в системе «1С: Предприятие» называется совокупность объектов метаданных, настроенных на хранение и обработку информации о хозяйственной деятельность конкретного предприятия.

Под объектами метаданных понимается формальное описание группы понятий предметной область со сходными характеристиками и одинаковым предназначением.

Рассмотрим объекты метаданных, используемых в дипломном проекте:

•Справочники - предназначены для работы с постоянной и условно постоянной информацией. Примерами справочников в дипломом проекте являются списки стран, предоставляемых туров, организаций -туроператоров, работающих с агентством, сотрудников и др.

•Перечисления - используются для описания постоянных наборов значений, не изменяемых для конкретной конфигурации. На этапе конфигурирования можно описать практически неограниченное количество видов перечислений. В отличие от справочника, значения перечислений задаются на этапе конфигурирования, и не могут быть изменены на этапе исполнения.

Типичным примером перечислений, использованном в дипломном проекте, является тип клиентов (физические лица, юридические лица).

•Документы - предназначены для хранения основной информации обо всех событиях, происходящих на предприятии, и, разумеется, имеющих смысл с точки зрения экономики. При помощи документов отражаются и платежи с расчетного счета, и операции по кассе, и кадровые перемещения, и движения по складу, прочие подобные события. Примерами документов могут служить такие документы как «Договор», «Акт выполненных работ».

•Журналы документов - предназначены для просмотра документов. Каждый вид документа может быть отнесен к определенному журналу. Сам журнал документов не добавляет новых данных в систему, а служит только как средство просмотра списка документов одного или нескольких видов.

•Отчеты и обработки - для описания отчетов и процедур произвольной обработки на этапе конфигурирования может быть создано неограниченное количество форм отчетов. Каждая форма имеет свой диалог настройки, который позволяет определить набор параметров формирования отчетов.

•Регистры (компонента «Оперативный учет»)- предназначены для анализа остатков и движений средств в системе «1С: Предприятие».

Регистр представляет собой многомерную систему хранения остатков или оборотов. Каждый регистр на этапе конфигурации описывается набором измерений и ресурсов.

Под измерением понимается набор значений, которые детализируют движения средств, и в разрезе которых хранятся остатки; под ресурсом - числовая величина, которая является количественным или суммовым значением, отражающих размер движение (остатка).

Под пользовательским интерфейсом в системе «1С: Предприятие» понимается совокупность команд главного меню и панелей инструментов, настроенных на работу с конкретными объектами данных - документами, справочниками, журналами и т.д. Как правило, пользовательский интерфейс создается для конкретной категории пользователей. Цель создания интерфейса - обеспечить быстрый доступ пользователей к той информации, которая необходима им в соответствии с их обязанностями.

Под набором прав в системе «1С: Предприятие» понимается определение полномочий пользователей на работу с информацией, которая обрабатывается в системе.

Большинство объектов метаданных в системе «1С: Предприятие» могут иметь визуальное представление. В самом лучшем случае визуальное представление состоит из следующих частей:

•Экранный диалог, используемый для ввода и редактирования информации, хранящейся в объекте метаданных;

•Печатная форма объекта метаданных (печатных форм может быть несколько)

•Модуль формы - программа на встроенном языке системы «1С: Предприятие». Как правило, модуль формы содержит алгоритм построения печатной формы объекта метаданных, а также может выполнять обработку вводимой в диалог информации для целей входного контроля, выполнения расчетов и т.п.

3.1 Требования к техническому обеспечению

Для оптимальной работы рекомендуется использовать компьютер с процессором Intel Pentium-III или выше, и не менее 128 Мб оперативной памяти.

печатающее устройство;совместимый дисплей (рекомендуется SVGA дисплей).

.2 Требования к программному обеспечению

Для работы программы необходимо, чтобы на компьютере были установлены:

операционная Microsoft Windows 2000 или выше;

Программа 1С:Предприятие 7.7. (Многопользовательская версия).

4. Методика разработки программы

.1 Алгоритмизация задачи

.1.1 Описание алгоритма

Конфигурация «Автоматизация учета клиентов туристического агентства» разрабатывалось в среде в «1C:Предприятие 7.7» с нуля.

В ходе разработки программного приложения были созданы следующие справочники:

Справочник №1 «ФизЛица»

Таблица 1.

Идентификатор

Синоним

Тип значения

Ред-ние

Обязательное поле

Код

-

Число

В диалоге

Да

Наименование

-

Строка


Да

Пол

-

Перечисление.Пол


Нет

Паспорт

-

Число


Нет

П_Выдан

Выдан

Строка


Нет

Дата_выдачи

Дата выдачи

Дата


Нет

Адрес

-

Строка


Нет

Дата_рожд

Дата рождения

Дата


Нет

Дом_телефон

Домашний телефон

Строка


Нет

Моб_телефон

Мобильный телефон

Строка


Нет

Тип_клиента

Тип клиента

Перечисление. Тип_клиента


Нет


Справочник №2 «ЮрЛица»

Таблица 2.

Идентификатор

Синоним

Тип значения

Ред-ние

Обязательное поле

Код

-

Число

В диалоге

Да

Наименование

-

Строка


Да

ФИО_рук

ФИО руководителя

Строка


Нет

Юр_адрес

Юр.адрес

Строка


Нет

Факт_адрес

Факт.адрес

Строка


Нет

Тел

Тел

Строка


Нет

Факс

-

Строка


Нет

ИНН

-

Число


Нет

рс

р/с

Строка


Нет

в_отд_банк

-

Строка


Нет

кс

к/счет

Строка


Нет

кс_в_банк

-

Строка


Нет

БИК

-

Число


Нет

email

-

Строка


Нет

Тип_клиента

Тип клиента

Перечисление. Тип_клиента


Нет


Справочник №3 «Туристы»

Таблица 3.

Идентификатор

Синоним

Тип значения

Ред-ние

Обязательное поле

Код

-

Число

В диалоге

Да

Наименование

-

Строка


Да

Имя

-

Строка


Нет

Пол

-

Перечисление.Пол


Нет

Гражданство

-

Перечисление. Гражданство


Нет

Дата_рожд

Дата рождения

Дата


Нет

Номер_З_паспорта

Номер паспорта

Число


Нет

Дата_окончания

Дата окончания

Дата


Нет

Виза

-

Строка


Нет

Адрес_прож

-

Строка


Нет

Тел_моб

-

Строка


Нет


Справочник №4 «Операторы»

Таблица 4.

Идентификатор

Синоним

Тип значения

Ред-ние

Обязательное поле

Код

-

Число

 В диалоге

Да

Наименование

-

Строка


Да

Полное_наименование

-

Строка


Нет

Реестровый_номер

-

Строка


Нет

Почт_адрес

Почтовый адрес

Строка


Нет

Юр_адрес

Юр.адрес

Строка


Нет

Тел

Тел.

Строка


Нет

Факс

Факс

Строка


Нет

ИНН_КПП

ИНН/КПП

Строка


Нет

РС

р/сч

Строка


Нет

Наим_Б

Банк

Строка


Нет

БИК

-

Число


Нет

КС

к/с

Строка


Нет

Отв_лицо

Ответственное лицо

Строка

В диалоге

Нет

ФинОб

Размер финансового обеспечения

Число


Нет

ном_дог_страх

Номер договора страхования

Строка


Нет

дог_страх_от

дата от

Дата


Нет

дог_страх_до

дата до

Дата


Нет

Наимен_орг_страх_полн

Наименование организации, предоставившей фин.обеспечение

Строка

В диалоге

Нет

Наимен_орг

наименование организации

Строка


Нет

Юр_почт_адрес

Юридический и почтовый адрес


Нет

Место_нахожд

Место нахождения

Строка


Нет


Справочник №5 «Отели»

Таблица 5.

Идентификатор

Синоним

Тип значения

Ред-ние

Обязательное поле

Код

-

Число

В диалоге

Да

Наименование

-

Строка


Да

Категория

-

Перечисление. Категория_отеля


Нет

Адрес

-

Строка


Нет


Справочник №6 «Туры»

Таблица 6.

Идентификатор

Синоним

Тип значения

Ред-ние

Обязательное поле

Код

-

Число

В диалоге

Да

Наименование

-

Строка


Да

Страна

-

Справочник.Страны


Нет

Город

-

Строка


Нет

Адрес

-

Строка


Нет

Отель

-

Справочник. Отели


Нет


Справочник №7 «Страны»

Таблица 7.

Идентификатор

Синоним

Тип значения

Ред-ние

Обязательное поле

Код

-

Число

В диалоге

Да

Наименование

-

Строка


Да


Справочник №8 «Сотрудники»

Таблица 8.

Идентификатор

Синоним

Тип значения

Ред-ние

Обязательное поле

Код

-

Число

В диалоге

Да

Наименование

-

Строка


Да

Должность

-

Строка


Нет

Телефон

-

Строка


Нет


Справочник №9 «Аэропорты»

Таблица 9.

Идентификатор

Синоним

Тип значения

Ред-ние

Обязательное поле

Код

-

Число

В диалоге

Да

Наименование

-

Строка


Да

Аэропорты

-

Строка


Нет

Добраться

-

Строка


Нет


Справочник №10 «Авиакомпании»

Таблица 10.

Идентификатор

Синоним

Тип значения

Ред-ние

Обязательное поле

Код

-

Число

В диалоге

Да

Наименование

-

Строка


Да


Программа имеет следующие документы:

Документ «Договор»

Этот документ предназначен для оформления договора-поручения с клиентом, который может быть как юридическим, так и физическим лицом, а также для автоматического формирования всех приложений к договору. Для формирования документа необходимо заполнить все поля документа, из которых берутся данные для заполнения печатных форм документа.

Для начала необходимо выбрать тип клиента. В зависимости от выбранного типа клиента на форме документа появятся поля для заполнения ФИО клиента или же наименования организации, с которой агентство заключает договор. Дальше необходимо выбрать период, на который оформляется путешествие. После чего нужно выбрать Курорт из имеющегося перечня курортов, предоставляемых турагенством. Далее, заполняется остальная информация, необходимая для формирования дополнительных приложений к договору.

Этот документ также содержит кнопки «Ок», «Закрыть», «Печать договора», «Печать акта», «Страхование от невыезда», «Путевка (Л-1)», «Путевка (Л-2)», «Памятка» и «Заявка на бронирование тура».

Рис.1 Выбран режим для заполнения данных о Физ. Лицах, а также информация о туре.

Рис.2 Режим для Юридических лиц и заполнения данных о туроператоре изменяет внешний вид формы.

По кнопке «Печать договора» формируется «Договор-ПОРУЧЕНИЕ», который содержит большинство данных с формы.

При нажатии на кнопку «Печать акта» формируется «Акт об оказании услуг», который является Приложением №1 к текущему договору. По кнопке «Страхование от невыезда» формируется «Приложение №2» к договору. По кнопке «Путевка(Л-1)» формируется «Приложение к путевке», лист первый, где указываются данные туриста и выбранного им курорта. При нажатии на кнопку «Путевка(Л-2)» формируется «Приложение к путевке», лист второй, с отрывным талоном и информацией, расшифровывающей сокращения в турпутевке.

При нажатии на кнопку «Памятка» выводится на печать памятка для клиентов о высокопатогенном гриппе.

При нажатии на кнопку «Заявка на бронирование тура», формируется «Заявка», которая отправляется туроператору после оформления всей документации с клиентом.

Пример печатных форм приводится в пункте V. «Приложение» на стр. 49 (Приложение 1).

Документ «Акт выполненных работ».

Документ представляет собой Акт выполненных работ, который формируется на основе уже заключенного договора. В данном документе требуется ввести только номер акта, а также номер договора.

Рис 3. Внешний вид формы Акта выполненных работ.

Этот документ также содержит кнопки «Ок», «Закрыть» и «Печать». При нажатии на кнопку «Печать», формируется печатная форма. Пример печатной формы приводится в пункте V. «Приложение» на стр. 69 (Приложение 2).

Программа имеет следующие отчеты:

Отчет «Статистика по направлениям»

Рис 4. Внешний вид формы отчета.

Данный отчет показывает общее количество заключенных договоров по направлениям за указанный период, то есть, сколько за определенный период и по каким направлениям было поездок.

Пользователь может выбрать период, за который нужно сформировать отчет. Пример печатной формы приводится в пункте V. «Приложение» на стр. 72 (Приложение 3).

Отчет «Отчет по клиентам»

Рис 5. Внешний вид формы отчета.

Данный отчет позволяет определить, на какую общую сумму какой клиент заключал договоры за определенный период, кроме того, отбор также ведется по типам клиентов. Можно выбрать формирование отчета либо по физическим, либо по юридическим лицам. Пример печатной формы приводится в пункте V. «Приложение» на стр. 74 (Приложение 3)

Отчет «Информация о путешествиях»

Рис 6. Внешний вид формы отчета.

Данный отчет показывает заключенные договоры, а также направления за указанный период.

Пользователь может выбрать период, за который нужно сформировать отчет, а также может ограничить выборку конкретным типом клиента и ФИО клиента или наименованием организации, и можно сформировать детализированный отчет. Пример печатной формы приводится в пункте V. «Приложение» на стр. 76 (Приложение 3).

4.1.2 Структурная схема

Схема 2. Структурная схема конфигурации.

.2 Программирование

В соответствии со структурно схемой, приведенной выше в пункте «Структурная схема», в представленной программе разработаны тексты программных модулей на встроенном языке «1C:Предприятие 7.7». Тексы, соответствующие программе и запросам, приведены в пункте V. «Приложение».

4.3 Аномалии и защищенное программирование

Таблица 11.

Описание аномалии

Реакции на аномалию

Способ защиты

Попытка ввести дату меньше текущей.

Дата автоматически исправляется на текущую дату.

Защищено разработчиком

Попытка ввести в числовое поле текстовые значения.

Нет возможности ввести благодаря использованию маски ввода.

Защищено разработчиком

Не выбраны какие-либо значения, либо оставлены пустые поля.

При попытке напечатать или провести документ, система выдает ошибку с указанием незаполненных полей.

Защищено разработчиком


С целью повышения надежности функциональности программы необходимо обеспечить контроль:

Ввода корректных данных дат, конечная дата должна быть больше начальной, иначе выводиться сообщение об ошибке;

Невозможность записи данных в справочнике, если не записаны некоторые необходимые данные в окна ввода информации;

Невозможность проведения документа, если не введены или не выбраны некоторые необходимые параметр или наименования.

.4 Тестирование и отладка

Тестирование - процесс многократного выполнения программы с целью выявления ошибок. Отладка - исправление ошибок, найденных с помощью тестирования. При тестировании должны использоваться следующие принципы:

Необходимой частью каждого теста должно являться описание ожидаемых результатов работы программы, чтобы можно было быстро выяснить наличие или отсутствие ошибки в ней;

Т.к. присутствует тот фактор, что обнаружение недостатков в своей деятельности противоречит человеческой психологии и по многим другим факторам, тестирование должно производить посторонний человек или организация;

Должны являться правилом досконального изучение результатов каждого теста, чтобы не пропустить малозаметную на поверхностный взгляд ошибку в программе;

Необходимо тщательно подбирать тест не только для правильных (предусмотренных) входных данных, но и для неправильных (непредусмотренных);

При анализе результатов каждого теста необходимо проверить, не делает ли программу того, что она не должна делать;

Следует сохранять использованные тесты (для повышения эффективности повторного тестирования программы после ее модификации или установки у заказчика);

Следует учитывать так называемый «принцип скопления ошибок»: вероятность наличия не обнаруженных ошибок в некоторой части программы прямо пропорциональна числу ошибок, уже обнаруженных в этой части;

Хотя программа прошла тестирование успешно, в ней, тем не менее, могут содержаться ошибки, т.к.

программа может не соответствовать своей внешней спецификации, что в частности, может привести к тому, что в ее управляющей графе окажутся пропущенными некоторые необходимые пути;

) не будут обнаружены ошибки, появление которых зависит от обрабатываемых данных (т.е. на одних исходных данных программа работает правильно, а на других - с ошибкой).

5. Анализ результатов решения

В соответствии с пунктом 4.4 тестирование и отладка производились непосредственно во время разработки проекта. После завершения работы над конфигурацией было еще раз произведено полное тестирование всей программы. Все найденные ошибки были успешно устранены.

Получившаяся в результате конфигурация удовлетворяет всем предъявленным требованиям, полностью работоспособна, не требует принципиальных доработок, и готов к эксплуатации.

6. Инструкция пользователю

Общие сведения о программе «Автоматизация учета клиентов туристического агентства».

Данное программное приложение разработано для более эффективной и быстрой работы с информацией о клиентах, обработке туристической документации, а так же для автоматического формирования всех необходимых для заключения договора с клиентом документов.

Программа позволяет:

Вводить и хранить данные о клиентах и заключенных с ними договоров.

На основании введенных данных от клиента автоматически формировать договор, приложения и другие документы для упрощенного оформления всего пакета документов для путешествия.

Осуществлять автоматизированный отбор нужной информации.

Формировать и выводить на печать документы для оформления и отчетные формы.

Достоинства программы «Автоматизация учета клиентов туристического агентства»:

удобство и простота в эксплуатации;

небольшой объём занимаемой памяти на HDD;

оперативное обслуживание клиентов.

Запуск программы.

Запуск программы осуществляется двойным нажатием левой клавиши мыши на ярлыке программы «1С: Предприятие 7.7», далее необходимо выбрать конфигурацию «Турагенство «Отпуск»» и нажать кнопку «ОК».

Рис 7. Запуск программы «1С:Предприятие».

Далее появиться окно авторизации доступа, в нем необходимо выбрать пользователя.

Рис 8. Окно входа в программу «1С:Предприятие». Ввод имени пользователя и пароля.

После запуска программного модуля в системе «1С: Предприятие 7.7» на экране появится «Рабочее окно системы 1С: Предприятие 7.7», в нем

отображается меню и панель инструментов в соответствии с выбранным пользователем, оно выглядит следующим образом:

Рис. 9 Внешний вид меню конфигурации.

Работа с меню

Данное меню можно разделить на стандартное:

меню «Файл»;

меню «Операции»;

меню «Сервис»;

меню «Окна»;

меню «Помощь»,

и индивидуальное, созданное разработчиком в соответствии с задачами конкретного пользователя, рассмотрим его подробнее на примере пользователя «Менеджер»:

меню «Справочники»;

Рис. 10 Внешний вид меню Справочники.

ФизЛица открывает Справочник «ФизЛица», который также открывается при нажатии на кнопку ФизЛица на панели инструментов. В списке представлены наименования клиентов - физических лиц, а также их контактная информация. Редактирование и ввод нового клиента производиться в форме диалога.

ЮрЛица открывает Справочник «ЮрЛица», который также открывается при нажатии на кнопку ЮрЛица на панели инструментов. В списке представлены наименования клиентов - юридических лиц, а также их контактная информация и реквизиты. Редактирование и ввод нового клиента производиться в форме диалога

Туристы открывает Справочник «Туристы», который также открывается при нажатии на кнопку "Туристы" на панели инструментов. В списке представлены наименования туристов, а также их контактная информация. Редактирование и ввод нового туриста производиться в форме диалога.

Операторы открывает Справочник «Операторы», который также открывается при нажатии на кнопку "Операторы" на панели инструментов. В списке представлены наименования туроператоров, с которым работает или работало турагенство, а также их контактная информация и реквизиты. Редактирование и ввод нового оператора производиться в форме диалога.

Отели открывает Справочник «Отели», является вспомогательным справочником к справочнику «Туры», который также открывается при нажатии на кнопку "Отели" на панели инструментов. В списке представлены наименования отелей, а также информация об адресе и количестве "звезд". Редактирование и ввод нового отеля производиться в форме диалога.

Туры открывает Справочник «Туры», который также открывается при нажатии на кнопку «Туры» на панели инструментов.

В списке представлены наименования туров, а также информация об отеле, стране и городе тура. Редактирование и ввод нового тура производиться в форме диалога.

Страны открывает Справочник «Страны», который также открывается при нажатии на кнопку «Страны» на панели инструментов. В списке представлено большинство наименований стран, в которые возможны туры. Редактирование и ввод нового значения производиться в форме списка.

Сотрудники открывает Справочник «Сотрудники», который также открывается при нажатии на кнопку "Сотрудники" на панели инструментов. В списке представлены наименования сотрудников турагенства, а также их должность и контактная информация. Редактирование и ввод нового сотрудника производиться в форме диалога.

Аэропорты открывает Справочник «Аэропорты», который также открывается при нажатии на кнопку «Аэропорты» на панели инструментов. В списке представлены наименования аэропортов, а также их описание и информация о том, как до него добраться. Редактирование и ввод нового туриста производиться в форме диалога. Есть возможность вывести информацию из данного справочника на печать. Для этого нужно выбрать позицию и нажать «Печать».

Авиакомпании открывает Справочник «Авиакомпании», который также открывается при нажатии на кнопку «Авиакомпании» на панели инструментов. В списке представлены наименования авиакомпаний, совершающих чартерные авиарейсы по странам мира, а также компании, которые имеют лицензию на перевозку пассажиров по туристическим направлениям. Редактирование и ввод новой авиакомпании производиться в форме списка.

меню «Документы»;

Рис. 11 Внешний вид меню Документы.

Акт - создает новый документ «Акт выполненных работ».

Договор - создает новый документ «Договор - поручении».

меню «Журналы»;

Рис. 12 Внешний вид меню Журналы.

Акты - открывает журнал «Акты», в котором содержаться все документы, сформированные за определенный период.

Договоры- открывает журнал «Договоры», в котором содержаться все договоры, производящие движения денежных средств, созданные за определенный период.

Общий - открывает журнал «Общий», в котором содержаться все документы созданные за определенный период.

меню «Отчеты».

Рис. 13 Внешний вид меню Отчеты.

Статистика по направлениям - открывает форму отчета, для выбора параметров.

Суммы заключенных договоров - открывает форму отчета, для выбора параметров.

Информация о путешествии - открывает форму отчета, для выбора параметров.

Справка программы находиться в стандартном меню «Помощь», в пункте «Общее описание». В ней вы узнаете общие сведения о программе, предназначение и рекомендации по работе с документами и отчетами.

Рис. 14 Внешний вид справки конфигурации.

II. Экономическая часть

Экономический эффект от реализации и внедрения программного продукта.

Для того чтобы доказать необходимость внедрения конфигурации «Автоматизация учета клиентов туристического агентства», необходимо посчитать экономический эффект от его внедрения.

Экономический эффект состоит в сокращении временных затрат сотрудника на ввод данных. Прежде всего, это экономия денежных средств предприятия, которая может быть достигнута за счет:

сокращения времени на качественный и удобный учет лекарств;

снижение времени на обработку данных;

. Расчет затрат на разработку.. Разработка

Распределение трудоемкости по стадиям разработки приведено в таблице 12.

Таблица 12.

Этап разработки

Содержание работ

Трудоемкость ч.

Постановка задачи

Предпроектное обследование. Разработка, согласование и утверждение технико-экономического обоснования.

10

Технический проект

Уточнение структуры и формы представления входных и выходных данных. Разработка алгоритма решения задачи. Разработка структуры программы. Разработка плана мероприятий по разработке и внедрению ПП. Разработка пояснительной записки. Согласование и утверждение технического проекта.

67

Этап разработки

Содержание работ

Трудоемкость ч.

Рабочий проект

Описание программы на языке программирования. Разработка, согласование и утверждение порядка и методики испытаний, корректировка программы.

60

Документация и внедрение.

Разработка программной документации. Подготовка к сдаче программы и программной документации.

29

Итого:

166

. Расчет коэффициента

. Коэффициент сложности задачи c характеризует относительную сложность программы по отношению к так называемой типовой задаче, реализующей стандартные методы решения, сложность которой принята равной единице (величина c лежит в пределах от 0,5 до 1,5). Для программного продукта, включающего в себя алгоритмы ввода данных, сложность задачи берем 0,8 так как данный программный продукт уступает по сложности типовым решениям данной задачи, таким как «1С:Предприятие 7.7» Версия 7.7.= 0,8 - коэффициент сложности программы.

. Коэффициент коррекции программы p - увеличение объема работ за счет внесения изменений в алгоритм или программу по результатам уточнения постановок. С учетом того, что в данном случае заказчик, представлял себе, что он хочет получить, что приводило к немногочисленным доработкам, возьмем коэффициент p = 0,3.

р = 0,3 - коэффициент коррекции программы в ходе разработки.

. Коэффициент b увеличение затрат труда, вследствие недостаточного описания задачи, в зависимости от сложности задачи принимается от 1,2 до 1,5, в связи с тем, что данная задача, не потребовала уточнения и больших доработок, примем b = 1,3.= 1,3 - коэффициент увеличение затрат труда.

. Коэффициент квалификации разработчика k определяется в зависимости от стажа работы и составляет:

для работающих до 2 лет - 0,8;

от 3 до 5 лет - 1,0;

от 5 до 8 лет - 1,2;

свыше 8 лет - 1,5.

Разработчик, которому было поручено это задание, имел опыт работы по специальности менее двух лет, поэтому примем k = 0,8.= 0,8 - коэффициент квалификации разработчика.. Расчет затрат предприятия.

. Оклад программиста составляет 6,000 рублей. В связи с коэффициентами заработной платы, основная заработная плата разработчика программного продукта составит:

ЗП осн = ЗП * с * (р + 1) * b * k = 6000* 0,8 * (0,3 + 1) * 1,3 * 0,8

ЗП осн = 6489,6 рублей.

. Страховые отчисления берутся в размере 26% от основной заработной платы, и равны: 6489,6 *26% = 1687,30 руб.

Поскольку дополнительная заработная плата в виде премии работнику за это время не выплачивалась, то суммарная заработная плата (ЗП сум) за весь период разработки программного продукта составит:

ЗП Сум = (6489,6руб. +1687,30руб ) * 166 ч. = 7712,30

ч.

(рублей за период разработки)

. Содержание и эксплуатация вычислительной техники.

Амортизация.

Содержание и эксплуатация вычислительного комплекса считается следующим образом: Свт = См-ч * Число_часов_отладки,

где См-ч - стоимость машинного - часа.

Число часов отладки составляет:

Уточнение структуры и формы представления, входных и выходных данных, разработка алгоритма решения задачи, разработка структуры программы, разработка плана мероприятий по разработке и внедрению ПП, разработка пояснительной записки, согласование и утверждение технического проекта составили по времени 67 часа.

Описание программы на языке программирования, разработка, согласование и утверждение порядка и методики испытаний, корректировка программы составила 60 часов.

Разработка программной документации, подготовка к сдаче программы и программной документации составила 29 часов.

Итого число часов отладки составляет: 67 + 60 + 29= 156 часов.

Стоимость машинного - часа рассчитывается, как сумма составляющих:

(Ст-ть_эл_эн_в_год + Аморт_в_год + Затраты_на_ремонт_за_год) / Фвт

где Фвт - действительный фонд времени работы вычислительного комплекса.

.Стоимость электроэнергии.

Стоимость 1кВт/час электроэнергии составляет: 3 руб.

Один компьютер потребляет 300 ВТ в час.

В год отчисления за электроэнергию, потребляемую одной ЭВМ, составляет:

С_эл_эн_в_год = 8 ч. * 22 дня * 12 мес. * 0,3 кВт/ч. * 3 руб. = 1900,8 руб.

. Отчисления зависит от срока полезного использования компьютера, а так как срок эксплуатации компьютера, равный 3 годам, еще не истек, то необходимо исчислить амортизационные отчисления и учитывать их в дальнейших амортизационных отчислениях.

Расчет амортизационных отчислений:

Отчисления = Стоимость ПК \ Срок полезного использования.

При стоимости ПК 24 000 и сроке полезного использования в 4 года при реальном сроке в 3 года, отчисления составят:

\4 = 6000 (1 год амортизации.)

Затраты на ремонт компьютера составляют 5% от его стоимости.

000 *5% = 1200 рублей в год.


Фвт = Фном - Фпроф, где

Фном - номинальный фонд времени работы вычислительного комплекса,

Фпроф - годовые затраты времени на профилактические работы

(принимаются 5% от Фном).

Стоимость ремонта ЭВМ = 5% от стоимости ПК

Стоимость ремонта ЭВМ = 24 000* 5% = 1200 рублей в год.

Компьютер в год работает 2 112 часов ( 22 дня в месяц * 12 месяцев в год *8 часов работы в день = Фном) при условии, что на

плановый ремонт уходит 5 % рабочего времени. Окончательное время

работы:

Фвт = Фном - Фпроф) = 2212 - 5% = 2 101 ч.

Рассчитаем стоимость машинного часа:

Стоимость машинного часа = С_эл_эн_в_год + 1 год амортизации + затраты на ремонт компьютера.

Стоимость машинного часа = (1900,8+6000+1200)/2101 = 4,5 руб.

Стоимость машинного часа составляет 4,5 руб.

Содержание и эксплуатация вычислительного комплекса составляет:

ч. * 4,5 руб. = 702 руб при написании конфигурации.

Покупка нового компьютера не требуется, так как данная конфигурация будет работать и на старом компьютере, имеющемся в распоряжении организации.

Для работы моей конфигурации не потребовалось приобретать лицензионную версию «1С:Предприятие 7.7», так как она была приобретена и установлена в 2003 году, привлечение дополнительных так же не требуется.

Смета затрат на разработку данной конфигурации приведена в таблице 13.

Таблица 13.

Наименование статьи расходов

Затраты руб.

1

Основная заработная плата

6489,6

2

Страховые отчисления

1687,30

3

Содержание и эксплуатация вычислительного комплекса

702

4

Программное обеспечение

0

Итого:

8878,9


Экономический эффект

Рассчитаем экономический эффект, получаемый за счет экономии рабочего времени менеджера. Благодаря этой экономии он сможет выполнить большее количество работ. В нашем случае это заключение договоров с клиентами.

Для ведения расчетов введем следующее обозначения:

Т1 = время, затрачиваемое на операцию до внедрения конфигурации.

Т2 = время, затрачиваемое на эти работы после внедрения конфигурации.

Т = время, сэкономленное в результате внедрения конфигурации.

До внедрения конфигурации данные вводились вручную и на то, чтобы качественно оформить документацию для клиента сотрудник в среднем в день тратил около 1 ч на полное оформление документации одного клиента:

Т1 = 1 ч.

После внедрения конфигурации время сократится до 25 минут или 0,25 ч. (за одну операцию) за счет автоматизации ввода и удобного, эргономичного интерфейса:

Т2= 25 минуты или 0,25 ч.

Усредненное количество операций ввода данных за день одним сотрудником офиса в среднем составляет 8 операций за день или 176 операций ввода данных в месяц (8 операций * 22 дня). Количество операций за год равна:

Х = 8 операций * 22 дня * 12 мес. = 2112 (опер.\год)

операций * 1 ч. = 2112 час./ год,

тогда Т1 = 2112 час./ год - общее время за год, до внедрения программного приложения.

операций * 0,25 ч. = 528 час./ год,

тогда Т2 = 528 час./ год - общее время за год, после внедрения программного приложения.

Разница в затрачиваемом на работу времени:

Т = Т1 - Т2 = 2112 - 528 = 1584 час./ год - годовая экономия средств.

А теперь рассчитаем заработную плату сотрудника офиса, который обслуживает клиентов.

Основная заработная плата одного сотрудника офиса составляет 10 000 рублей в месяц. Дополнительная заработная плата не выплачивается.

Страховые отчисления рассчитываются, как 26 % от основной заработной платы, что составляет: 10 000 руб. * 26 % = 2600 руб.

В общем, на одного сотрудника затрачивается:

+ 2600 = 12600 руб. (в месяц)

руб. / (8 час.*22 дня) = 71, 5 руб. - стоимость одного часа работы сотрудника офиса.

Общий экономический эффект для туристического агентства составит:

час.* 71,5 руб. = 113 256 руб. в год при внедрении

Итак, общий экономический эффект при внедрении конфигурации в туристическое агентство составит 113 256 руб. в год, при этом заметно сократится время сотрудников, что повысит продуктивность работы.

Срок окупаемости проекта = затраты на внедрении программного приложения / общий экономический эффект = 8878,9\113 256 руб = 0,08 (год) или 1 месяц.

Следовательно, если офис внедрит конфигурацию «Автоматизация учета клиентов туристического агентства», то она окупится через 1 месяц.

Заключение

В изложенной дипломной работе на тему «Автоматизация учета клиентов туристического агентства» была реализована задача автоматизированного учета клиентов.

Разработанная конфигурация упростила процедуру оформления необходимых документов.

Разработанная конфигурация полностью соответствует п. 1. «Постановка задачи».

Была произведена экономическая оценка эффективности от внедрения конфигурации, которая показала, что проект экономически целесообразен и может быть одобрен на внедрение в туристическую организацию.

Срок окупаемости конфигурации 1 месяц.

 Литература

А. Михайлов, «1С.Предприятие 7.7/8.0. Системное программирование», 2-ое издание, Изд-во фирмы БХВ-Петербург, 2007 г.://www.mista.ru/

Дехтярь Г.М. «Лицензирование и сертификация в туризме», Изд-во фирмы Финансы и статистика, 2007 г.

Бабкин А.В. «Специальные виды туризма», Изд-во фирмы Ростов-на-Дону: Феникс, 2008 г.

 Приложение

Документы.

Документ «Договор».

Приложение 1.

Код модуля формы:

Процедура ПриОткрытии()

//регулировка начального отображения слоев

ПриЗаписиПерепроводить(1);

Тип = Перечисление.Тип_клиента.Физ_лицо;

Невыезд = Перечисление.Невыезд.Да;

Форма.ИспользоватьСлой("Основной",1);

Если Тип = Перечисление.Тип_Клиента.Физ_лицо тогда

Форма.ИспользоватьСлой("Физ_Лица",1);

Форма.ИспользоватьСлой("Тур",1);

Форма.ИспользоватьСлой("Тур_оператор",0);

Форма.ИспользоватьСлой("Юр_лица",0);

Форма.ИспользоватьСлой("Таблица",0);

Форма.кн_тур.Видимость(0);

Иначе

Форма.ИспользоватьСлой("Физ_Лица",0);

Форма.ИспользоватьСлой("Тур",1);

Форма.ИспользоватьСлой("Тур_оператор",0);

Форма.ИспользоватьСлой("Юр_лица",1);

Форма.ИспользоватьСлой("Таблица",0);

Форма.кн_тур.Видимость(0);

КонецЕсли;

КонецПроцедуры

Процедура Переключать()

//переключатель слоя в зависимости от типа клиента

Если Тип = Перечисление.Тип_Клиента.Физ_лицо Тогда

Форма.ИспользоватьСлой("Физ_Лица",1);

Форма.ИспользоватьСлой("Юр_лица",0);

Иначе Тип = Перечисление.Тип_Клиента.Юр_лицо;

Форма .ИспользоватьСлой("Юр_лица",1);

Форма. ИспользоватьСлой("Физ_Лица",0);

КонецЕсли;

КонецПроцедуры

Процедура АвтоЗапКлиент()

/ /Автозаполнение данных о клиенте

Паспорт_клиента = Наименование_Клиента.Паспорт;

Паспорт_выдан_кем = Наименование_Клиента.П_Выдан;

П_выдан_когда = Наименование_Клиента.Дата_выдачи;

Адрес_клиента = Наименование_Клиента.Адрес;

Тел_клиента = Наименование_Клиента.Дом_телефон + " " + Наименование_Клиента.Моб_телефон;

КонецПроцедуры

Процедура АвтоЗапЮр()

//Автозаполнение данных о юр.лице

ФИО_рук = Юр_орг.ФИО_рук;

Юр_адрес = Юр_орг.Юр_адрес;

Юр_Факт_адрес = Юр_орг.Факт_адрес;

Юр_тел = Юр_орг.Тел;

Юр_факс = Юр_орг.Факс;

Юр_ИНН = Юр_орг.ИНН;

Юр_рс = Юр_орг.рс;

Юр_в_отд_банк = Юр_орг.в_отд_банк;

Юр_кс = Юр_орг.кс;

Юр_кс_в_банк = Юр_орг.кс_в_банк;

Юр_БИК = Юр_орг.БИК;

Юр_email= Юр_орг.email;

КонецПроцедуры 

Процедура АвтоЗапОператор()

//Автозаполнение данных о туроператоре

Полн_наимен_операт = Наим_туро.Полное_наименование;

Реестр_ном = Наим_туро.Реестровый_номер;

Место_нахожд = Наим_туро.Юр_адрес;

Размер_фин_об = Наим_туро.ФинОб;

Ном_дог_страх = Наим_туро.ном_дог_страх;

дог_страх_от = Наим_туро.дог_страх_от;

дог_страх_до = Наим_туро.дог_страх_до;

наимен_орг_страх_полн = Наим_туро.Наимен_орг_страх_полн;

Наимен_орг = Наим_туро.Наимен_орг;

Юр_почт_адрес = Наим_туро.Юр_почт_адрес;

Место_нахожд_страх_орг = Наим_туро.Место_нахожд;

КонецПроцедуры

Процедура ВидимСлои()

// процедура, позволяющая отображать слои

Форма.ИспользоватьСлой("Тур",0);

Форма.ИспользоватьСлой("Тур_оператор",1);

Форма.ИспользоватьСлой("Таблица",0);

Форма.кн_туроп.Видимость(0);

Форма.кн_тур.Видимость(1);

КонецПроцедуры

Процедура ВидимСлои1()

// процедура, позволяющая отображать слои

Форма.ИспользоватьСлой("Тур",1);

Форма.ИспользоватьСлой("Тур_оператор",0);

Если Налич_групп = Перечисление.Группа.Нет Тогда

Форма.ИспользоватьСлой("Таблица",0);

Иначе

Форма.ИспользоватьСлой("Таблица",1);

КонецЕсли;

Форма.кн_туроп.Видимость(1);

Форма.кн_тур.Видимость(0);

КонецПроцедуры

Процедура ВидимТ()

// процедура, позволяющая отображать таблицу

Если Налич_групп = Перечисление.Группа.Нет Тогда

Форма.ИспользоватьСлой("Таблица",0);

Иначе

Форма.ИспользоватьСлой("Таблица",1);

КонецЕсли

КонецПроцедуры

Процедура ВалидацияДат()

Если Прибытие > Отъезд Тогда

Отъезд = Прибытие;

ИначеЕсли Прибытие < ТекущаяДата() тогда

Прибытие = ТекущаяДата();

КонецЕсли

КонецПроцедуры

//Таблица автовыбор

Процедура АвтоТуристы()

Если Фамилия_групп <> "" тогда

Имя_групп = Фамилия_групп.Имя;

Пол = Фамилия_групп.Пол;

Гражданство = Фамилия_групп.Гражданство;

Дата_рожд_групп = Фамилия_групп.Дата_рожд;

Паспорт_групп = Фамилия_групп.Номер_З_паспорта;

Дата_оконч = Фамилия_групп.Дата_окончания;

Адрес_Т = Фамилия_групп.Адрес_прож;

Тел_Т = Фамилия_групп.Тел_моб;

Виза = Фамилия_групп.Виза;

КонецЕсли;

_Ном = 0;

паспорт=Паспорт_групп;

Выбратьстроки();

пока Получитьстроку()=1 цикл

если Паспорт_групп=паспорт тогда

Если _Ном > 0 Тогда

Фамилия_групп="";

сообщить("Такой турист уже выбран! Выберите другое значение или удалите строку!");

Прервать;

Ном = НомерСтроки;

КонецЕсли;

_Ном = НомерСтроки;

Конецесли;

конеццикла;

КонецПроцедуры

Процедура АвтоКурорт()

Страна = Курорт.Страна;

Город = Курорт.Город;

Отель = Курорт.Отель;

Категория = Отель.Категория;

КонецПроцедуры

Процедура Налич()

Если Тип = Перечисление.Тип_Клиента.Юр_лицо

тогда

Налич_групп = Перечисление.Группа.Да;

форма.Налич_групп.Доступность(0);

Форма.ИспользоватьСлой("Таблица",1);

Иначе Форма.Налич_групп.Доступность(1);

КонецЕсли;

КонецПроцедуры

//Нет к дополнительным услугам:

Процедура НетДоп()

Если Ф_доп = 1

тогда доп = "нет";

Форма.Доп.Доступность(0);

иначе доп = "";

Форма.Доп.Доступность(1);

КонецЕсли

КонецПроцедуры

Процедура Аэропорт()

Прибытие_обр = Вылет_туда;

Вылет_обр = Прибытие_туда;

КонецПроцедуры

Процедура Печать()

Если Номер_дог = " - / " тогда

сообщить("Введите номер договора! Печать невозможна.");

возврат;

конецесли;

Если Тип = Перечисление.Тип_клиента.Физ_лицо тогда

Если Наименование_Клиента.выбран()=0 тогда

сообщить("Выберите клиента! Печать невозможна.");

возврат;

конецесли;

ИначеЕсли Тип = Перечисление.Тип_клиента.Юр_лицо тогда

Если Юр_орг.выбран()=0 тогда

сообщить("Выберите клиента! Печать невозможна.");

возврат;

конецесли;

Конецесли;

Если Цена_договора=0 тогда

сообщить("Не указана цена договора! Печать невозможна.");

возврат;

конецесли;

Если Наим_туро.выбран()=0 тогда

сообщить("Выберите туроператора! Печать невозможна.");

возврат;

конецесли;

Если курорт.выбран()=0 тогда

сообщить("Выберите куророт! Печать невозможна.");

возврат;

конецесли;

Если Пансион.выбран()=0 тогда

сообщить("Выберите пансион! Печать невозможна.");

возврат;

конецесли;

Если Номер.выбран()=0 тогда

сообщить("Выберите номер! Печать невозможна.");

возврат;

конецесли;

Если Мед_Страх.выбран()=0 тогда

сообщить("Выберите значение Мед.страх! Печать невозможна.");

возврат;

конецесли;

Если ПустоеЗначение(Прибытие)=1 тогда

сообщить("Введите дату прибытия! Печать невозможна.");

возврат;

конецесли;

Если ПустоеЗначение(Отъезд)=1 тогда

сообщить("Введите дату отъезда! Печать невозможна.");

возврат;

конецесли;

Если Самолет_туда.выбран()=0 тогда

сообщить("Выберите вид самолета! Печать невозможна.");

возврат;

конецесли;

Если Самолет_обр.выбран()=0 тогда

сообщить("Выберите вид самолета! Печать невозможна.");

возврат;

конецесли;

Если Вылет_туда.выбран()=0 тогда

сообщить("Выберите аэропорт вылета! Печать невозможна.");

возврат;

конецесли;

Если ПустоеЗначение(Прибытие_туда)=1 тогда

сообщить("Выберите значение Мед.страх! Печать невозможна.");

возврат;

конецесли;

Если ПустоеЗначение(Рейс_туда)=1 тогда

сообщить("Введите номер рейса! Печать невозможна.");

возврат;

конецесли;

Если ПустоеЗначение(Рейс_обр)=1 тогда

сообщить("Введите номер рейса! Печать невозможна.");

возврат;

конецесли;

Если Пустое значение(Экс)=1 тогда

сообщить("Введите значение в поле Дополнительные экскурсии или поставьте нет! Печать невозможна.");

возврат;

конецесли;

Таб = СоздатьОбъект("Таблица"); //создаем таблицу в "" название таблице

Если Тип = Перечисление.Тип_Клиента.Физ_лицо тогда //если стоит галочка, то выводится накл№1"Таблица" иначе накл№2"Таблица1"

Таб.ИсходнаяТаблица("Таблица");

иначе

Таб.ИсходнаяТаблица("Таблица1"); //к юр-лицу

КонецЕсли;

Пропись("");

ДатаПрописью = Формат(ДатаДок,"Д (0)ДДММММГГГГ");

Таб.ВывестиСекцию("Шапка");

Если Налич_групп = Перечисление.Группа.Да Тогда

п =0;

Таб.ВывестиСекцию("Группа_Ш");

ВыбратьСтроки();

Пока ПолучитьСтроку()=1 цикл

п = п + 1;

Таб.ВывестиСекцию("Группа");

Конеццикла;

КонецЕсли;

РазмПрописью = Формат(Размер_фин_об,"ЧПДС");

Цена_договора = Цена_договора;

СумПроп = Формат(Цена_договора,"ЧПДС");

Прибытие2=Прибытие - 7;

Таб.ВывестиСекцию("Подвал");

Таб.ПараметрыСтраницы(2,,,,,0,0,,,1);

Таб.ТолькоПросмотр(1);

Таб.Показать("Печать договора","");

КонецПроцедуры

Процедура ПечатьАкта()

Если Номер_дог = " - / " тогда

сообщить("Введите номер договора! Печать невозможна.");

возврат;

конецесли;

Если Тип = Перечисление.Тип_клиента.Физ_лицо тогда

сообщить("Выберите клиента! Печать невозможна.");

возврат;

конецесли;

ИначеЕсли Тип = Перечисление.Тип_клиента.Юр_лицо тогда

Если Юр_орг.выбран()=0 тогда

сообщить("Выберите клиента! Печать невозможна.");

возврат;

конецесли;

Конецесли;

Таб = СоздатьОбъект("Таблица"); //создаем таблицу в "" название таблице

Если Тип = Перечисление.Тип_Клиента.Физ_лицо тогда

Таб.ИсходнаяТаблица("АктФиз");

иначе

Таб.ИсходнаяТаблица("АктЮр"); //к юр-лицу

КонецЕсли;

Пропись("");

ДатаПрописью = Формат(ДатаДок,"Д (0)ДДММММГГГГ");

Таб.ВывестиСекцию("Акт");

Таб.ПараметрыСтраницы(2,,,,,0,0,,,1);

Таб.ТолькоПросмотр(1);

Таб.Показать("Печать приложения № 1","");

КонецПроцедуры

Процедура ПечатьСтрах()

Если (Номер_дог = " - / ") или (Номер_дог = " ") тогда

сообщить("Введите номер договора! Печать невозможна.");

возврат;

конецесли;

Если Тип = Перечисление.Тип_клиента.Физ_лицо тогда

Если Наименование_Клиента.выбран()=0 тогда

сообщить("Выберите клиента! Печать невозможна.");

возврат;

конецесли;

ИначеЕсли Тип = Перечисление.Тип_клиента.Юр_лицо тогда

Если Юр_орг.выбран()=0 тогда

сообщить("Выберите клиента! Печать невозможна.");

возврат;

конецесли;

КонецЕсли;

Если Невыезд.выбран()=0 тогда

сообщить("Выберите значение Страхование от невыезда! Печать невозможна.");

возврат;

конецесли;

Таб = СоздатьОбъект("Таблица");

Таб.ИсходнаяТаблица("Страхование");

Пропись("");

ДатаПрописью = Формат(ДатаДок,"Д (0)ДДММММГГГГ");

Таб.ВывестиСекцию("Шапка");

Если Тип = Перечисление.Тип_Клиента.Физ_лицо тогда

Таб.ВывестиСекцию("Физ");

Иначе Тип = Перечисление.Тип_Клиента.Юр_лицо;

Таб.ВывестиСекцию("Юр");

КонецЕсли;

Таб.ВывестиСекцию("Текст");

Если Невыезд = Перечисление.Невыезд.Да тогда

Таб.ВывестиСекцию("СДа");

Иначе Невыезд = Перечисление.Невыезд.Нет;

Таб.ВывестиСекцию("СНет");

КонецЕсли;

Если Тип = Перечисление.Тип_Клиента.Физ_лицо тогда

Таб.ВывестиСекцию("ПФиз");

Иначе Тип = Перечисление.Тип_Клиента.Юр_лицо;

Таб.ВывестиСекцию("ПЮр");

КонецЕсли;

Пропись("");

ДатаПрописью = Формат(ДатаДок,"Д (0)ДДММММГГГГ");

Таб.ВывестиСекцию("Дата");

Таб.ПараметрыСтраницы(2,,,,,0,0,,,1);

Таб.ТолькоПросмотр(1);

Таб.Показать("Печать приложения № 2","");

КонецПроцедуры

Процедура ПечатьПутевки1()

Если Серия = " № " тогда

сообщить("Введите серию и номер путевки! Печать невозможна.");

возврат;

конецесли;

Если Тип = Перечисление.Тип_клиента.Физ_лицо тогда

Если Наименование_Клиента.выбран()=0 тогда

сообщить("Выберите клиента! Печать невозможна.");

возврат;

конецесли;

ИначеЕсли Тип = Перечисление.Тип_клиента.Юр_лицо тогда

Если Юр_орг.выбран()=0 тогда

сообщить("Выберите клиента! Печать невозможна.");

возврат;

конецесли;

Конецесли;

Если Наим_туро.выбран()=0 тогда

сообщить("Выберите туроператора! Печать невозможна.");

возврат;

конецесли;

Если курорт.выбран()=0 тогда

сообщить("Выберите куророт! Печать невозможна.");

возврат;

конецесли;

Если Пансион.выбран()=0 тогда

сообщить("Выберите пансион! Печать невозможна.");

возврат;

конецесли;

Если Номер.выбран()=0 тогда

сообщить("Выберите номер! Печать невозможна.");

возврат;

конецесли;

Если Мед_Страх.выбран()=0 тогда

сообщить("Выберите значение Мед.страх! Печать невозможна.");

возврат;

конецесли;

Если ПустоеЗначение(Прибытие)=1 тогда

сообщить("Введите дату прибытия! Печать невозможна.");

возврат;

конецесли;

Если ПустоеЗначение(Отъезд)=1 тогда

сообщить("Введите дату отъезда! Печать невозможна.");

возврат;

конецесли;

Если Самолет_туда.выбран()=0 тогда

сообщить("Выберите вид самолета! Печать невозможна.");

возврат;

конецесли;

Если Самолет_обр.выбран()=0 тогда

сообщить("Выберите вид самолета! Печать невозможна.");

возврат;

конецесли;

Если Вылет_туда.выбран()=0 тогда

сообщить("Выберите аэропорт вылета! Печать невозможна.");

возврат;

конецесли;

Если ПустоеЗначение(Прибытие_туда)=1 тогда

сообщить("Выберите значение Мед.страх! Печать невозможна.");

возврат;

конецесли;

Если ПустоеЗначение(Рейс_туда)=1 тогда

сообщить("Введите номер рейса! Печать невозможна.");

возврат;

конецесли;

Если ПустоеЗначение(Рейс_обр)=1 тогда

сообщить("Введите номер рейса! Печать невозможна.");

возврат;

конецесли;

Если Рук_группы.выбран()=0 тогда

сообщить("Выберите значение: Наличие руководителя группы! Печать невозможна.");

возврат;

конецесли;

Если Леч.выбран()=0 тогда

сообщить("Выберите значение: наличие лечения! Печать невозможна.");

возврат;

конецесли;

Если Пустоезначение(Экс)=1 тогда

сообщить("Введите значение в поле Дополнительные экскурсии или поставьте нет! Печать невозможна.");

возврат;

конецесли;

Если Пустоезначение(Доп)=1 тогда

сообщить("Выберите значение: Дополнительные оплаченные услуги или поставьте нет ! Печать невозможна.");

возврат;

конецесли;

Таб = СоздатьОбъект("Таблица");

Таб.ИсходнаяТаблица("ПутевкаЛ1");

Таб.ВывестиСекцию("Шапка");

Если Тип = Перечисление.Тип_Клиента.Физ_лицо тогда

Таб.ВывестиСекцию("Физ");

Иначе Тип = Перечисление.Тип_Клиента.Юр_лицо;

Таб.ВывестиСекцию("Юр");

КонецЕсли;

Если Налич_групп = Перечисление.Группа.Да Тогда

Таб.ВывестиСекцию("Туристы");

ВыбратьСтроки();

п=0;

Пока ПолучитьСтроку()=1 цикл

п = п + 1;

Таб.ВывестиСекцию("Строка");

Конеццикла;

КонецЕсли;

Пропись("");

ДатаПрописью = Формат(ДатаДок,"Д (0)ДДММММГГГГ");

Таб.ВывестиСекцию("Низ");

Таб.ПараметрыСтраницы(2,,,,,0,0,,,1);

Таб.ТолькоПросмотр(1);

Таб.Показать("Печать листа путевки № 1","");

КонецПроцедуры

Процедура ЭНет()

Если Э_н = 1

тогда экс = "нет"

Форма.экс.Доступность(0);

иначе

экс = "";

Форма.экс.Доступность(1);

КонецЕсли;

КонецПроцедуры

Процедура ПечатьПутевки2()

Если Номер_дог = " - / " тогда

сообщить("Введите номер договора! Печать невозможна.");

возврат;

конецесли;

Таб = СоздатьОбъект("Таблица");

Таб.ИсходнаяТаблица("ПутевкаЛ2");

Пропись("");

ДатаПрописью = Формат(ДатаДок,"Д (0)ДДММММГГГГ");

Таб.ВывестиСекцию("Путевка");

Таб.ПараметрыСтраницы(2,,,,,0,0,,,1);

Таб.ТолькоПросмотр(1);

Таб.Показать("Печать листа путевки № 2","");

КонецПроцедуры

Процедура ПечатьПамятки()

Таб = СоздатьОбъект("Таблица");

Таб.ИсходнаяТаблица("Памятка");

Таб.ВывестиСекцию("Памятка");

Таб.ПараметрыСтраницы(2,,,,,0,0,,,1);

Таб.ТолькоПросмотр(1);

Таб.Показать("Печать памятки","");

КонецПроцедуры

Процедура ЗапСотр()

Должность = ФИО_сотр.Должность;

Тел_сотр = ФИО_сотр.Телефон;

КонецПроцедуры

Процедура ПечатьЗаявки()

Если Тип = Перечисление.Тип_клиента.Физ_лицо тогда

Если Наименование_Клиента.выбран()=0 тогда

сообщить("Выберите клиента! Печать невозможна.");

возврат;

конецесли;

ИначеЕсли Тип = Перечисление.Тип_клиента.Юр_лицо тогда

Если Юр_орг.выбран()=0 тогда

сообщить("Выберите клиента! Печать невозможна.");

возврат;

конецесли;

Конецесли;

Если Пансион.выбран()=0 тогда

сообщить("Выберите пансион! Печать невозможна.");

возврат;

конецесли;

Если Номер.выбран()=0 тогда

сообщить("Выберите номер! Печать невозможна.");

возврат;

конецесли;

Если Вылет_туда.выбран()=0 тогда

сообщить("Выберите аэропорт вылета! Печать невозможна.");

возврат;

конецесли;

Если ПустоеЗначение(Прибытие_туда)=1 тогда

сообщить("Выберите значение Мед.страх! Печать невозможна.");

возврат;

конецесли;

Если ФИО_Сотр.выбран()=0 тогда

сообщить("Выберите сотрудника, заключившего договор! Печать невозможна.");

возврат;

конецесли;

Если ПустоеЗначение(Прибытие)=1 тогда

сообщить("Введите дату прибытия! Печать невозможна.");

возврат;

конецесли;

Если ПустоеЗначение(Отъезд)=1 тогда

сообщить("Введите дату отъезда! Печать невозможна.");

возврат;

конецесли;

Таб = СоздатьОбъект("Таблица");

Таб.ИсходнаяТаблица("Заявка");

Ночи = Отъезд - Прибытие;

Таб.ВывестиСекцию("Шапка");

ВыбратьСтроки();

п=0;

Пока ПолучитьСтроку()=1 цикл

п = п + 1;

Таб.ВывестиСекцию("Строка");

Конеццикла;

Таб.ВывестиСекцию("Подвал");

Таб.ПараметрыСтраницы(2,,,,,0,0,,,1);

Таб.ТолькоПросмотр(1);

Таб.Показать("Печать заявки на бронирование тура","");

КонецПроцедуры

Код модуля документа:

Процедура ОбработкаПроведения()

Если (Номер_дог = " - / ") или (Номер_дог = " ") тогда

сообщить("Введите номер договора! Документ не проведен.");

непроводитьдокумент();

возврат;

конецесли;

Если Серия = " № " тогда

сообщить("Введите серию и номер путевки! Документ не проведен.");

непроводитьдокумент();

возврат;

конецесли;

Если Тип = Перечисление.Тип_клиента.Физ_лицо тогда

Если Наименование_Клиента.выбран()=0 тогда

сообщить("Выберите клиента! Документ не проведен.");

непроводитьдокумент();

возврат;

конецесли;

ИначеЕсли Тип = Перечисление.Тип_клиента.Юр_лицо тогда

Если Юр_орг.выбран()=0 тогда

сообщить("Выберите клиента! Документ не проведен.");

непроводитьдокумент();

возврат;

конецесли;

Конецесли;

Если Цена_договора=0 тогда

сообщить("Не указана цена договора! Документ не проведен.");

непроводитьдокумент();

возврат;

конецесли;

Если Наим_туро.выбран()=0 тогда

сообщить("Выберите туроператора! Документ не проведен.");

непроводитьдокумент();

возврат;

конецесли;

Если курорт.выбран()=0 тогда

сообщить("Выберите куророт! Документ не проведен.");

непроводитьдокумент();

возврат;

конецесли;

Если Пансион.выбран()=0 тогда

сообщить("Выберите пансион! Документ не проведен.");

непроводитьдокумент();

возврат;

конецесли;

Если Номер.выбран()=0 тогда

сообщить("Выберите номер! Документ не проведен.");

непроводитьдокумент();

возврат;

конецесли;

Если Мед_Страх.выбран()=0 тогда

сообщить("Выберите значение Мед.страх! Документ не проведен.");

непроводитьдокумент();

возврат;

конецесли;

Если ПустоеЗначение(Прибытие)=1 тогда

сообщить("Введите дату прибытия! Документ не проведен.");

непроводитьдокумент();

возврат;

конецесли;

Если ПустоеЗначение(Отъезд)=1 тогда

сообщить("Введите дату отъезда! Документ не проведен.");

непроводитьдокумент();

возврат;

конецесли;

Если Самолет_туда.выбран()=0 тогда

сообщить("Выберите вид самолета! Документ не проведен.");

непроводитьдокумент();

возврат;

конецесли;

Если Самолет_обр.выбран()=0 тогда

сообщить("Выберите вид самолета! Документ не проведен.");

непроводитьдокумент();

возврат;

конецесли;

Если Вылет_туда.выбран()=0 тогда

сообщить("Выберите аэропорт вылета! Документ не проведен.");

непроводитьдокумент();

возврат;

конецесли;

Если ПустоеЗначение(Прибытие_туда)=1 тогда

сообщить("Выберите значение Мед.страх! Документ не проведен.");

возврат;

конецесли;

Если ПустоеЗначение(Рейс_туда)=1 тогда

сообщить("Введите номер рейса! Документ не проведен.");

непроводитьдокумент();

возврат;

конецесли;

Если ПустоеЗначение(Рейс_обр)=1 тогда

сообщить("Введите номер рейса! Документ не проведен.");

непроводитьдокумент();

возврат;

конецесли;

Если Рук_группы.выбран()=0 тогда

сообщить("Выберите значение: Наличие руководителя группы! Документ не проведен.");

непроводитьдокумент();

возврат;

конецесли;

Если Леч.выбран()=0 тогда

сообщить("Выберите значение: наличие лечения! Документ не проведен.");

непроводитьдокумент();

возврат;

конецесли;

Если Пустоезначение(Экс)=1 тогда

сообщить("Введите значение в поле Дополнительные экскурсии или поставьте нет! Документ не проведен.");

непроводитьдокумент();

возврат;

конецесли;

Если Пустоезначение(Доп)=1 тогда

сообщить("Выберите значение: Дополнительные оплаченные услуги или поставьте нет ! Документ не проведен.");

непроводитьдокумент();

возврат;

конецесли;

Если ФИО_Сотр.выбран()=0 тогда

сообщить("Выберите сотрудника, заключившего договор! Документ не проведен.");

непроводитьдокумент();

возврат;

конецесли;

Регистр.Продажа.Привязыватьстроку(1);

Выбратьстроки();

Пока Получитьстроку() = 1 Цикл

Регистр.Продажа.Курорт = Курорт;

Регистр.Продажа.Страна = Страна;

Регистр.Продажа.Цена = Цена_договора;

Регистр.Продажа.ДвижениеПриходВыполнить();

КонецЦикла;

КонецПроцедуры

Документ имеет следующие печатные формы:

Рис.15 Внешний вид договора для физических лиц.

Рис.16 Внешний вид договора для юридических лиц.

Рис. 17 Внешний вид акта для физических лиц.

Рис. 18 Внешний вид акта для юридических лиц.

Рис. 19 Внешний вид Приложения 2 к договору.

Рис. 20 Внешний вид Приложения к Путевке.

Рис. 21 Внешний вид оборотной стороны листа Приложения к Путевке.

Рис. 21 Внешний вид памятки о высокопатогенном гриппе.

Рис. 22 Внешний вид заявки на бронирование тура.

 Приложение 2

Код модуля формы:

ПроцедураПриОткрытии()

ПриЗаписиПерепроводить(1);

Исполнитель="НОфондМониторинг";

Адрес_исп="249038г.Обнинскул.Гурьяновад.19";

КонецПроцедуры

ПроцедураАвт()

Цена=Договор.Цена_договора;

Ед_изм="шт";

Колво="1";

Сумма=Цена;

Предмет_счета="Предоставлениеуслугпоорганизациисанаторно-курортноголечениясотрудниковпредприятия"

КонецПроцедуры

ПроцедураАвтоподстановка()

Еслидоговор.тип=перечисление.тип_клиента.физ_лицотогда

Сообщить("ДанныйтипдокументаимеетсмыслтолькодляЮридическихлиц!Выберитедругойдоговор!");

Договор="";

Возврат;

Иначе

Клиент=Договор.Юр_орг;

Адрес=Клиент.Юр_адрес;

Дат_Дог=ДатаДок;

Номер_дог=Договор.Номер_дог;

Авт();

КонецЕсли

КонецПроцедуры

ПроцедураПечать()

Таб=СоздатьОбъект("Таблица");

Таб.ИсходнаяТаблица("Таблица");

ЕслиПустоезначение(договор)=1тогда

Сообщить("Выберитеномердоговора!Печатьневозможна!");

Возврат;

ИначеЕслиПустоезначение(Номер_акта)=1тогда

Сообщить("Выберитеномеракта!Печатьневозможна!");

Возврат;

ИначеЕслиКоличествоСтрок()<>1тогда

Сообщить("Предметсчетаможетбытьтолькоодин!Печатьневозможна!");

НеПроводитьДокумент();

Возврат;

Иначе

СуммаПрописью=Формат(Цена,"ЧПДС");

Пропись("");

ДатаПрописью=Формат(Дат_Дог,"Д(0)ДДММММГГГГ");

Таб.ВывестиСекцию("Акт");

Таб.ПараметрыСтраницы(2,,,,,0,0,,,1);

Таб.ТолькоПросмотр(1);

Таб.Показать("Печатьактавыполненныхработ","");

КонецЕсли;

КонецПроцедуры

Код модуля документа:

Процедура ОбработкаПроведения()

Если Пустоезначение(договор) = 1 тогда

Сообщить("Выберите номер договора! Документ не проведен!");

НеПроводитьДокумент();

Возврат;

ИначеЕсли Пустоезначение(Номер_акта) = 1 тогда

Сообщить("Выберите номер акта! Документ не проведен!");

НеПроводитьДокумент();

Возврат;

ИначеЕсли КоличествоСтрок() <> 1 тогда

Сообщить("Предмет счета может быть только один!Документ не проведен!");

НеПроводитьДокумент();

Возврат;

КонецЕсли;

Регистр.Продажа.Привязыватьстроку(1);

Выбратьстроки();

Пока Получитьстроку() = 1 Цикл

Регистр.Продажа.Цена = Цена;

Регистр.Продажа.ДвижениеПриходВыполнить();

КонецЦикла;

КонецПроцедуры

Печатная форма данного документа:

Рис. 23 Внешний вид печатной формы акта.

Приложение 3

Отчет по заключенным договорам за период (Статистика).

Рис. 24 Внешний вид печатной формы отчета.

Код модуля:

// Процедура генерации запроса Сформировать.

Процедура Сформировать()

Перем Запрос, ТекстЗапроса, Таб;

если пустоезначение(ВыбНачПериода)=1 тогда

сообщить("Выберете начальную дату формирования отчета!");

возврат;

конецесли;

если пустоезначение(ВыбКонПериода)=1 тогда

сообщить("Выберете конечную дату формирования отчета!");

возврат;

конецесли;

если(ВыбКонПериода)<(ВыбНачПериода) тогда

сообщить("Неправельный диапазон дат!");

возврат;

конецесли;

//Создание объекта типа Запрос

Запрос = СоздатьОбъект("Запрос");

ТекстЗапроса =

"//{{ЗАПРОС(Сформировать)

|Период с ВыбНачПериода по ВыбКонПериода;

|Обрабатывать НеПомеченныеНаУдаление;

|Договор = Документ.Договор.ТекущийДокумент;

|Номер_дог = Документ.Договор.Номер_дог;

|ДатаДок = Документ.Договор.ДатаДок;

|Функция ДоговорЦена_договораСумма = Сумма(Договор.Цена_договора);

|Группировка Договор упорядочить по Договор.Курорт, Договор.Номер_дог, Договор.ДатаДок без групп все ВошедшиеВЗапрос;

|"//}}ЗАПРОС

;

// Если ошибка в запросе, то выход из процедуры

Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда

Возврат;

КонецЕсли;

// Подготовка к заполнению выходных форм данными запроса

Таб = СоздатьОбъект("Таблица");

Таб.ИсходнаяТаблица("Сформировать");

// Заполнение полей "Заголовок"

Таб.ВывестиСекцию("Заголовок");

Состояние("Заполнение выходной таблицы...");

Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0);

Пока Запрос.Группировка(1) = 1 Цикл

// Заполнение полей Договор

Таб.ВывестиСекцию("Договор");

КонецЦикла;

// Заполнение полей "Итого"

Таб.ВывестиСекцию("Итого");

// Вывод заполненной формы

Таб.ТолькоПросмотр(1);

Таб.Показать("Сформировать", "");

КонецПроцедуры

Суммы заключенных договоров (Отчет по клиентам).

Рис. 25 Внешний вид печатной формы отчета.

Код модуля:

Процедура ПриОткрытии()

ВТип = Перечисление.Тип_клиента.Физ_лицо;

КонецПроцедуры

Процедура ВалидацияДат()

Если ВыбНачПериода > ВыбКонПериода Тогда

ВыбКонПериода = ВыбНачПериода;

ИначеЕсли ВыбНачПериода < ТекущаяДата() тогда

ВыбНачПериода = ТекущаяДата();

КонецЕсли

КонецПроцедуры

Процедура Сформировать()

Таб = СоздатьОбъект("Таблица");

Таб.ИсходнаяТаблица("Сформировать");

Таб.ВывестиСекцию("Шапка");

Таб.Опции(0,0,0,0);

Таб.ТолькоПросмотр(1);

Таб.Показать("Сформировать","");

КонецПроцедуры

// Процедура генерации запроса Сформиро.

Процедура Сформиро()

Перем Запрос, ТекстЗапроса, Таб;

//Создание объекта типа Запрос

Запрос = СоздатьОбъект("Запрос");

Если ВТип = Перечисление.Тип_Клиента.Физ_лицо тогда

Текстзапроса = "

|Период с ВыбНачПериода по ВыбКонПериода;

|Договор = Документ.Договор.ТекущийДокумент;

|Наименование_Клиента = Документ.Договор.Наименование_Клиента;

|Тип = Документ.Договор.Тип;

|Функция ДоговорЦена_договораСумма = Сумма(Договор.Цена_договора);

|Группировка Договор упорядочить по Договор.Наименование_Клиента;

|Условие(Тип = ВТип);";

Иначе

Текстзапроса = "

|Период с ВыбНачПериода по ВыбКонПериода;

|Договор = Документ.Договор.ТекущийДокумент;

|Юр_орг = Документ.Договор.Юр_орг;

|Тип = Документ.Договор.Тип;

|Функция ДоговорЦена_договораСумма = Сумма(Договор.Цена_договора);

|Группировка Юр_орг упорядочить по Юр_орг.Наименование все ВошедшиеВЗапрос;

|Условие(Тип = ВТип);";

КонецЕсли;

// Если ошибка в запросе, то выход из процедуры

Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда

Возврат;

КонецЕсли;

// Подготовка к заполнению выходных форм данными запроса

Таб = СоздатьОбъект("Таблица");

Таб.ИсходнаяТаблица("Сформиро");

// Заполнение полей "Заголовок"

Таб.ВывестиСекцию("Заголовок");

Состояние("Заполнение выходной таблицы...");

Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0);

Если ВТип = Перечисление.Тип_Клиента.Физ_лицо тогда

Пока Запрос.Группировка(1) = 1 Цикл

// Заполнение полей Физ_лица

Таб.ВывестиСекцию("Физ_лица");

КонецЦикла;

ИначеЕсли ВТип = Перечисление.Тип_Клиента.Юр_лицо тогда

Пока Запрос.Группировка(1) = 1 Цикл

// Заполнение полей Юр_орг

Таб.ВывестиСекцию("Юр_орг");

КонецЦикла;

КонецЕсли;

// Заполнение полей "Итого"

Таб.ВывестиСекцию("Итого");

// Вывод заполненной формы

Таб.ТолькоПросмотр(1);

Таб.Показать("Отчет по клиентам", "");

КонецПроцедуры

Информация о путешествиях.

Рис. 26 Внешний вид печатной формы отчета.

Код модуля:

Процедура Переключать()

//переключатель слоя в зависимости от типа клиента

Если ВыбТип_клиента = Перечисление.Тип_Клиента.Физ_лицо Тогда

Форма.в_орг.Видимость(0);

Форма.ВыбЮрЛица.Видимость(0);

Форма.ВыбФизЛица.Видимость(1);

Форма.В_к.Видимость(1);

Форма.отчет_ю.Видимость(0);

Форма.отчет_ф.Видимость(1);

Иначе

ВыбТип_клиента = Перечисление.Тип_Клиента.Юр_лицо;

Форма.в_орг.Видимость(1);

Форма.ВыбЮрЛица.Видимость(1);

Форма.ВыбФизЛица.Видимость(0);

Форма.В_к.Видимость(0);

Форма.отчет_ю.Видимость(1);

Форма.отчет_ф.Видимость(0);

КонецЕсли;

КонецПроцедуры

Процедура ПриОткрытии()

ВыбТип_клиента = Перечисление.Тип_Клиента.Физ_лицо;

Переключать()

КонецПроцедуры

Процедура ВалидацияДат()

Если ВыбНачПериода > ВыбКонПериода Тогда

ВыбКонПериода = ВыбНачПериода;

ИначеЕсли ВыбНачПериода < ТекущаяДата() тогда

ВыбНачПериода = ТекущаяДата();

КонецЕсли

КонецПроцедуры

//

Процедура отчет()

Перем Запрос, ТекстЗапроса, Таб;

//Создание объекта типа Запрос

Если ВыбЮрЛица.выбран()=0 тогда

сообщить("Выберите клиента!");

Возврат;

КонецЕсли;

Запрос = СоздатьОбъект("Запрос");

ТекстЗапроса =

"//{{ЗАПРОС(отчет)

|Период с ВыбНачПериода по ВыбКонПериода;

|Обрабатывать НеПомеченныеНаУдаление;

|Курорт = Документ.Договор.Курорт;

|Цена_договора = Документ.Договор.Цена_договора;

|ДатаДок = Документ.Договор.ДатаДок;

|Номер_дог = Документ.Договор.Номер_дог;

|Юр_орг = Документ.Договор.Юр_орг;

|Тип = Документ.Договор.Тип;

|Группировка Юр_орг без групп все ВошедшиеВЗапрос;

|Группировка Курорт без групп;

|Группировка Номер_дог;

|Группировка ДатаДок;

|Группировка Цена_договора;

|Условие(Юр_орг = ВыбЮрЛица);

|Условие(Тип = ВыбТип_клиента);

|"//}}ЗАПРОС

;

// Если ошибка в запросе, то выход из процедуры

Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда

Возврат;

КонецЕсли;

// Подготовка к заполнению выходных форм данными запроса

Таб = СоздатьОбъект("Таблица");

Таб.ИсходнаяТаблица("отчет");

// Заполнение полей "Заголовок"

Таб.ВывестиСекцию("Заголовок");

Состояние("Заполнение выходной таблицы...");

Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0);

Пока Запрос.Группировка(1) = 1 Цикл

// Заполнение полей Юр_орг

//Таб.ВывестиСекцию("Юр_орг");

Пока Запрос.Группировка(2) = 1 Цикл

// Заполнение полей Курорт

//Таб.ВывестиСекцию("Курорт");

Пока Запрос.Группировка(3) = 1 Цикл

// Заполнение полей Номер_дог

//Таб.ВывестиСекцию("Номер_дог");

// Заполнение полей ДатаДок

//Таб.ВывестиСекцию("ДатаДок");

Пока Запрос.Группировка(5) = 1 Цикл

// Заполнение полей Цена_договора

Таб.ВывестиСекцию("Цена_договора");

КонецЦикла;

КонецЦикла;

КонецЦикла;

КонецЦикла;

КонецЦикла;

// Вывод заполненной формы

Таб.ТолькоПросмотр(1);

Таб.Показать("Отчет по Юр.лицам", "");

КонецПроцедуры

//*******************************************

// Процедура генерации запроса Физлица.

//

Процедура Физлица()

Перем Запрос, ТекстЗапроса, Таб;

//Создание объекта типа Запрос

Если ВыбФизЛица.выбран()=0 тогда

сообщить("Выберите клиента!");

Возврат;

КонецЕсли;

Запрос = СоздатьОбъект("Запрос");

ТекстЗапроса =

"//{{ЗАПРОС(Физлица)

|Период с ВыбНачПериода по ВыбКонПериода;

|Обрабатывать НеПомеченныеНаУдаление;

|Курорт = Документ.Договор.Курорт;

|Наименование_Клиента = Документ.Договор.Наименование_Клиента;

|ДатаДок = Документ.Договор.ДатаДок;

|Номер_дог = Документ.Договор.Номер_дог;

|Тип = Документ.Договор.Тип;

|Цена_договора = Документ.Договор.Цена_договора;

|Группировка Наименование_Клиента;

|Группировка Курорт;

|Группировка Номер_дог;

|Группировка ДатаДок;

|Группировка Цена_договора;

|Условие(Тип = ВыбТип_клиента);

|Условие(Наименование_Клиента = ВыбФизЛица);

|"//}}ЗАПРОС;

// Если ошибка в запросе, то выход из процедуры

Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда

Возврат;

КонецЕсли;

// Подготовка к заполнению выходных форм данными запроса

Таб = СоздатьОбъект("Таблица");

Таб.ИсходнаяТаблица("Физлица");

// Заполнение полей "Заголовок"

Таб.ВывестиСекцию("Заголовок");

Состояние("Заполнение выходной таблицы...");

Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0);

Пока Запрос.Группировка(1) = 1 Цикл

// Заполнение полей Наименование_Клиента

//Таб.ВывестиСекцию("Наименование_Клиента");

Пока Запрос.Группировка(2) = 1 Цикл

// Заполнение полей Курорт

//Таб.ВывестиСекцию("Курорт");

Пока Запрос.Группировка(3) = 1 Цикл

// Заполнение полей Номер_дог

//Таб.ВывестиСекцию("Номер_дог");

Пока Запрос.Группировка(4) = 1 Цикл

// Заполнение полей ДатаДок

//Таб.ВывестиСекцию("ДатаДок");

Пока Запрос.Группировка(5) = 1 Цикл

// Заполнение полей Цена_договора

Таб.ВывестиСекцию("Цена_договора");

КонецЦикла;

КонецЦикла;

КонецЦикла;

КонецЦикла;

КонецЦикла;

// Вывод заполненной формы

Таб.ТолькоПросмотр(1);

Таб.Показать("Отчет по физ.лицам", "");

КонецПроцедуры

Похожие работы на - Автоматизация учета клиентов туристического агентства

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!