Автоматизация работы старшего администратора пансионата ФГУП "ОК "Рублево-Успенский" УДП РФ

Характеристика деятельности предприятия. Анализ существующей информационной системы пансионата и проектирование доработки к ней, позволяющей автоматизировать работу старшего администратора. Программные компоненты ИС. Экономическая эффективность проекта.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 18.12.2012
Размер файла 3,0 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

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

2.3.4 Описание программных модулей

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

Рисунок 16: Базовые отчеты

2.4 Контрольный пример реализации проекта и его описание

При открытии обработки появляется основная форма, из которой возможен переход на остальные формы информационной системы. На главной форме выполняется основная функция старшего администратора - проверка взаиморасчетов и корректировка начислений. На риунке 15. представлена основная форма обработки. С отображением общей суммы по взаиморасчетам за весь период проживания и без фильтрации по коренным размещениям либо лицевым счетам. Также на рисунке 17 можно увидеть список документов бронирования за весь период. Список документов бронирования отображен в табличной части в низу формы.

Рисунок 17: Главная форма программы

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

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

Рисунок 18: Основная форма с табличной частью «Размещения»

Для просмотра и корректировки документов «Акт об оказании услуг» необходимо перейти на вкладку «Услуги» на основной форме обработки (Рисунок 19) и дважды щелкнуть на искомой строчке.

Рисунок 19: Основная форма с табличной частью «Услуги»

Документы оплаты это единственные документы в системе, не подлежащие редактированию. Оплаты можно только сторнировать возвратами покупателю. Табличная часть с документами «Чек на оплату» представлена на рисунке 20.

Рисунок 20: Основная форма с табличной частью «Чеки»

Так же при изменении тарифа проживания необходимо изменить период и сумму документе «Путевка», если документ уже присвоен размещению. Чтобы открыть и отредактировать документ «Путевка» достаточно двойного клика на искомой строчке в табличной части «Путевки», которая доступна на одноименной вкладке на основной форме обработки (Рисунок 21).

Рисунок 21: Основная форма с табличной частью «Путевки»

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

Список документов «Выписка» показан на рисунке 22.

Рисунок 22: Основная форма с табличной частью «Банковские выписки»

На рисунке 23 в табличной части «Распределения» представлены документы «Распределения оплат» с отбором по гостю, созданные на основании документов «Выписка» и распределяющие средства с договора контрагента на гостей.

Рисунок 23: Основная форма с табличной частью «Распределение оплат»

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

Рисунок 24: Основная форма с табличной частью «Выезды»

Итогом долгих проб и ошибок в обработку была добавлена вкладка «Долги», которая содержит табличную часть с долгами. Долги в табличной части отфильтрованы по документам размещения, либо документа по начислению дополнительных услуг. Табличную часть «Долги» можно увидеть на рисунке 25.

Рисунок 25: Основная форма с табличной частью «Долги»

На рисунке 26 представлена форма отчета «Платежи, которая формируется из формы обработки с отборами по гостю и периоду. В отчете видно дату и сумму поступления денежных средств на погашение долга, либо авансом.

Рисунок 26: Форма отчета «Платежи»

Часто гостем запрашивается отчет по начисленным услугам, как проживания, так и дополнительным. Для этого в обработке есть возможность построить отчет «Продажи за период», который отображен на рисунке 27.

Рисунок 27: Форма отчета «Продажи за период»

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

Рисунок 28: Регистр «Взаиморасчеты с гостями»

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

Рисунок 29: Регистр «Продажи»

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

Рисунок 30: Консоль запросов.

Для более читабельно вида отбираемой информации на основании запроса можно построить отчет через «Консоль отчетов» рисунок 31.

Рисунок 31: Консоль отчетов

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

Рисунок 32: Корректировка начислений за услуги проживания

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

Рисунок 33: Поиск и замена значений

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

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

3. Обоснование экономической эффективности проекта

3.1 Выбор и обоснование методики расчёта экономической эффективности

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

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

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

· Сравнение вариантов организации информационной базы комплекса задач (файловая организация и организация базы данных).

· Сравнение различных вариантов организации технологического процесса сбора, передачи, обработки и выдачи информации.

· Сравнение технологий обработки информации вычислительными устройствами.

· Сравнение технологий проектирования информационных систем обработки экономической информации.

· Сравнение вариантов организации различных систем обработки экономической информации по комплексу задач (например, сравнение системы обработки информации, предлагаемой в проекте, с ныне существующей).

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

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

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

К трудовым показателям относятся:

Абсолютное снижение трудовых затрат (T)

, где (1)

Т0 - трудовые затраты на обработку информации по базовому варианту;

Т1 - трудовые затраты на обработку информации по предлагаемому варианту;

Коэффициент относительного снижения трудовых затрат (КТ)

, (2)

3. Индекс снижения трудовых затрат, или повышение производительности труда (YТ)

, (3)

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

Абсолютное снижение стоимостных затрат (C)

, где (4)

C0 - стоимостные затраты на обработку информации по базовому варианту;

C1 - стоимостные затраты на обработку информации по предлагаемому варианту;

Коэффициент относительного снижения стоимостных затрат (КС)

, (5)

6. Индекс снижения стоимостных затрат (YC)

, (6)

Помимо рассмотренных показателей целесообразно также рассчитать срок окупаемости затрат на внедрение проекта (ТОК):

, где (7)

KN - в дополнительные затраты на создание проекта машинной обработки экономической информации (затраты на его проектирование и внедрение).

При ручной обработке рассчитываются следующие типовые показатели:

1. Трудоемкость обработки одного i-ого документа (TОi):

(8)

2. Трудовые затраты при ручной обработке (ТО):

(9)

3. Стоимостные затраты при ручной обработке (СО):

, где (10)

, , , , - соответственно объем символов записи, объем логических преобразований, объем символов сложения, объем символов умножения и объем символов деления в i-ом документе;

N - количество документов, обрабатываемых вручную;

p - часовая тарифная ставка сотрудника;

Kg - коэффициент, учитывающий дополнительную заработную плату, отчисления на социальное страхование, косвенные и накладные расходы. Kg = 0,53 ч 0,85

При машинной обработке рассчитываются следующие показатели:

Трудоемкость операции:

(кроме ЭВМ) (11)

(ЭВМ) (12),

где:, - трудоемкость j-ой операции и обработки на ПЭВМ соответственно;

- объем работы на j-ой операции;

- среднечасовая норма выработки на j-ой операции;

- машинное время решения задачи на ЭВМ.

Заработная плата операторов:

(кроме ЭВМ) (13)

Прочие расходы:

(кроме ЭВМ) (14)

Стоимость амортизации машин:

(кроме ЭВМ) (15)

Операционные расходы:

(кроме ЭВМ) (16)

, (17)

где: , , - соответственно заработная плата оператора, прочие расходы и стоимость амортизации на j-ой операции;

- часовая тарифная ставка операции;

- коэффициент, учитывающий дополнительную заработную плату, отчисления на социальное страхование, косвенные и накладные расходы;

- часовая сумма амортизации;

, - общие стоимостные затраты на j-ой операции и при обработке на ЭВМ соответственно;

- стоимость машинного часа ЭВМ;

Трудовые затраты при машинной обработке (T1):

(с учетом ЭВМ) (18)

Стоимостные затраты при машинной обработке (C1):

(19) Годовой экономический эффект от работы и внедрения ЭИС служит для сравнения различных направлений капитальных вложений и рассчитывается по формуле:

, (20)

где: Э - годовой экономический эффект;

П - годовая экономия (годовой прирост прибыли), руб.;

КП - единовременные капитальные затраты, руб.;

Ен - нормативный коэффициент эффективности капитальных вложений.

Представляет собой минимальную норму эффективности капитальных вложений, ниже которой они нецелесообразны. Значение Ен принимается равным 0,15.

К единовременным затратам (КП) относятся затраты на проектирование и программирование комплекса задач, а также затраты на отладку и внедрение программ.

Расчетный коэффициент экономической эффективности капитальных затрат (ЕР) представляет собой отношение годовой экономии (годового прироста прибыли) к капитальным затратам на разработку и внедрение СОЭИ:

(21)

3.2 Расчёт показателей экономической эффективности проекта

Произведем сравнение суммы затрат для базового варианта и при использовании разработанной доработки к системе. Средняя зарплата сотрудника склада составляет 25000, что в перерасчете на час при 21 восьмичасовом рабочем дне составляет 148 рублей в час.

Используемые в работе разработанной системы документы имеют следующий объем:

Сведения о продажах - 50 строкозаписей;

Сведения об оплатах- 20 строкозаписей;

Корректировка начислений - 5 строкозаписей;

Мониторинг долгов- 70 строкозаписей (раз в неделю).

Тогда за год получаем:

Всего сведений о продажах - 50*21*12=12600 строкозаписей;

Всего сведений об оплатах - 20*21*12=5040 строкозаписей;

Всего корректировок начислений - 5*21*12=1260 строкозаписей;

Всего отслеживания долгов- 70*4*12=3360 строкозаписей.

Учтем также, что при использовании разработанной системы амортизация компьютера составит 20% от его первоначальной стоимости (15000 рублей) при сроке эксплуатации 3 года, то есть в час:

5000/(21*12*8)=2,5 рубля в час.

Накладные расходы при текущем варианте составят:

Бумага:

10 пачек*12 месяцев*100 рублей=12000 в год или 12000/(21*12*8)=6 рублей в час;

Другие канцелярские изделия - около 1000 в год, то есть около 0,5 рублей в час, итого имеем 6,5 рублей в час.

Тогда операции технологического процесса при базовом и проектном варианте за год и их характеристики представлены в таблицах 9 и 10.

Таблица 9

Базовый вариант работы старшего администратора

№ п/п

Наименование операций технологического процесса, решения комплекса задач

Оборудование

Ед. изм.

Объем работы в год

Норма выработки / (опер/в час.)

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

Средне-часовая зарплата специалиста (руб.)

Часовая норма амортизации (руб. за час) / ст. 1 маш.часа (руб.)

Стоимостные затраты

1

2

3

4

5

6

7

8

9

10

1.

Проверка продаж

ПК

строкозапись

12600

120

105

148

9

15540

2.

Проверка оплат

ПК

строкозапись

5040

130

38,769

148

9

5737,812

3.

Корректировка начислений

ПК

строкозапись

1260

150

8,4

148

9

1243,2

4.

Мониторинг долгов

ПК

строкозапись

3360

70

48

148

9

7104

Итого:

200,169

29625,012

Таблица 10

Проектный вариант

№ п/п

Наименование операций технологического процесса решения комплекса задач

Оборудование

Ед. Изм.

Объем работы в год

Норма выработки / (опер/в час.)

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

Средне-часовая зарплата специалиста (руб.)

Часовая норма амортизации (руб. за час) / ст. 1 маш. часа (руб.)

Стоимостные затраты

1

2

3

4

5

6

7

8

9

10

1.

Проверка продаж

ПК

строкозапись

12600

360

35

148

9

5180

2.

Проверка оплат

ПК

строкозапись

5040

390

12,923

148

9

1912,604

3.

Корректировка начислений

ПК

строкозапись

1260

750

1,68

148

9

248,64

4.

Мониторинг долгов

ПК

строкозапись

3360

350

9,6

148

9

1420,8

Итого:

59,203

8762,044

Размещено на http://www.allbest.ru/

Результаты расчета показателей экономической эффективности приведены в таблице 11.

Таблица 11

Расчёт показателей эффективности от внедрения проекта

Затраты

Снижение затрат

Коэффициент изменения трудовых затрат

Индекс изменения трудовых затрат

Базовый вариант

Проектный вариант

Стоимость

(руб.)

(руб.)

(руб.)

29625,012

8762,044

20862,968

0,70

3,38

Рассчитаем затраты на проектирование доработки к системе. Для этого учтем заработную плату разработчика. При средней заработной плате 35000 рублей, привлечении разработчика и общем сроке разработки 10 рабочий дне.

Рассчитаем стоимость доработки, принимаем стоимость разработки (35000\21)*10 = 16666,7 рублей.

Срок окупаемости затрат на внедрение проекта машинной обработки информации:

Ток = 16666,7/8762=1,9 года.

На рисунке 31. приведена диаграмма сравнения базового и проектного вариантов стоимостных затрат.

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

Заключение

В дипломном проекте рассмотрена деятельность ФГАУ «Оздоровительный комплекс «Рублево-Успенский» УДП РФ. В частности рассмотрена организационно-штатная структура управления предприятием, особо детально рассмотрены функции работы пансионата.

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

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

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

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

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

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

В проектной части выбран стандарт жизненного цикла информационной системы (ISO/IEC 12207:1995), описано содержание его основных процессов применительно к разрабатываемой системе, а также оценены возможные риски при проектировании системы.

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

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

· «Бронирование»;

· «Размещение»;

· «Путевка»;

· «Чек на оплату»;

· «Выписка»;

· «Распределение оплат»;

· «Акт об оказании услуг».

· «Выезд».

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

· Гости.

· Контрагенты.

· Номенклатура.

Экономический итог работы с системой подробно описан в контрольном примере реализации проекта. Из итога становится понятно, что окупаемость составит 1,9 года, а временные затраты по всем пунктам работ старшего администратора сокращаются от 3 до 7 раз.

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

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

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

Цели и задачи по автоматизации работы старшего администратора пансионата считаю выполненными.

автоматизирование информационный система администратор

Список литературы

1. Автоматизированные информационные системы, базы и банки данных. Вводный курс: Учебное пособие, М.: Гелиос АРВ, 2007. - 368 стр.

2. Вигерс Карл, Разработка требований к программному обеспечению, Пер, с англ. - М.: Издательско-торговый дом "Русская Редакция", 2008. -576 стр.

3. Гвоздева Т.В., Б.А. Баллод, Проектирование информационных систем, М, Издательство: Феникс, 2009 г., 512 стр.

4. ГОСТ Р ИСО/МЭК 12207/99. Государственный стандарт РФ. Информационная технология. Процессы жизненного цикла информационных систем. Издание официальное. - М., 1999

5. Емельянова Н.З., Партыка Т.Л., И.И. Попов, Проектирование информационных систем, М, Издательство: Форум, 2009 г., 432 стр.

6. Емельянова Н.З., Т. Л. Партыка, И.И. Попов, М, Издательство Форум, 2007 г., , 416 стр.

7. Илюшечкин В.М., Основы использования и проектирования баз данных, М, Издательство Юрайт, 2010 г., 224 стр.

8. Котляров В.П., Т.В. Коликова, Основы тестирования программного обеспечения, Издательства: Интернет-университет информационных технологий, Бином. Лаборатория знаний, 2009 г., 288 стр.

9. Кузнецов С.Д., Основы баз данных, М, Издательства: Бином. Лаборатория знаний, Интернет-университет информационных технологий, 2007 г., 488 стр.

10. Молчанов А.Ю., Системное программное обеспечение, М, Издательство: Питер, 2010 г., 400 стр.

11. Незнанов А.А., Программирование и алгоритмизация, М, Издательство: Академия, 2010 г., 304 стр.

12. Профессиональная разработка в системе 1С:Предприятие 8, Ажеронок В.А., Габец А.П, Издательство: 1С-Паблишинг, 2009 г., 416 стр.

13. Схемы алгоритмов, программ, данных и систем. Условные обозначения и правила выполнения. ГОСТ 19.701-90 (ИСО 5807-85) / Государственный комитет СССР по управлению качеством продукции и стандартам, 01.01.1992.

14. Фирма 1С. WWW:http://www.1c.ru

15. Чипига А.Ф., Информационная безопасность автоматизированных систем, М, Издательство: Гелиос АРВ, 2010 г., 336 стр.

Приложение

Листинг модуля формы

//Блок вызова обработок и предворительное заполнение

Процедура КонсольЗапросовНажатие(Элемент)

ОбработкаКонсольЗапросов = Обработки.КонсольЗапросов.Создать();

ОбработкаКонсольЗапросов.ПолучитьФорму(,ЭтаФорма).Открыть();

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

Процедура КонсольОтчетовНажатие(Элемент)

ОбработкаКонсольОтчетов = Обработки.КонсольОтчетов.Создать();

ОбработкаКонсольОтчетов.ПолучитьФорму(,ЭтаФорма).Открыть();

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

Процедура ПоискСсылокНаОбъектыНажатие(Элемент)

ТекущиеДанные = ЭлементыФормы.Гость.Значение;

Если ТекущиеДанные=Неопределено Тогда

Возврат;

КонецЕсли;

ОбработкаПоискСсылок = Обработки.ПоискСсылок.ПолучитьФорму();

ОбработкаПоискСсылок.ОтчетОбъект.ОбъектСсылка = ТекущиеДанные;

ОбработкаПоискСсылок.Открыть();

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

Процедура ПоискИЗаменаЗначенийНажатие(Элемент)

ОбработкаПоискИЗаменаЗначений = Обработки.ПоискИЗаменаЗначений.Создать();

ОбработкаПоискИЗаменаЗначений.ПолучитьФорму(,ЭтаФорма).Открыть();

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

//Блок вызова регистров с предзаполненными отборами по гостю

Процедура РегистрПродажиНажатие(Элемент)

ТекущиеДанные = ЭлементыФормы.Гость.Значение;

Если ТекущиеДанные=Неопределено Тогда

Возврат;

КонецЕсли;

Форма = РегистрыНакопления.Продажи.ПолучитьФормуСписка();

Форма.РегистрНакопленияСписок.Отбор.Гость.ВидСравнения = ВидСравнения.Равно;

Форма.РегистрНакопленияСписок.Отбор.Гость.Значение = ТекущиеДанные;

Форма.РегистрНакопленияСписок.Отбор.Гость.Использование = Истина;

Форма.Открыть();

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

Процедура ВзаиморасчетыСГостямиНажатие(Элемент)

ТекущиеДанные = ЭлементыФормы.Гость.Значение;

Если ТекущиеДанные=Неопределено Тогда

Возврат;

КонецЕсли;

Форма = РегистрыНакопления.ВзаиморасчетыСГостями.ПолучитьФормуСписка();

Форма.РегистрНакопленияСписок.Отбор.Гость.ВидСравнения = ВидСравнения.Равно;

Форма.РегистрНакопленияСписок.Отбор.Гость.Значение = ТекущиеДанные;

Форма.РегистрНакопленияСписок.Отбор.Гость.Использование = Истина;

Форма.Открыть();

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

Процедура ВзаиморасчетыКомпанииНажатие(Элемент)

Если ЗначениеЗаполнено(Гость) Тогда

Контрагент = Гость.КонтрагентПоУмолчанию;

Иначе

Контрагент = Неопределено;

КонецЕсли;

Форма = РегистрыНакопления.ВзаиморасчетыКомпании.ПолучитьФормуСписка();

Форма.РегистрНакопленияСписок.Отбор.Контрагент.ВидСравнения = ВидСравнения.Равно;

Форма.РегистрНакопленияСписок.Отбор.Контрагент.Значение = Контрагент;

Форма.РегистрНакопленияСписок.Отбор.Контрагент.Использование = Истина;

Форма.Открыть();

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

//Блок вызова отчетов с предзаполненными отборами по гостю

Процедура ОтчетПоПлатежам(Элемент)

ТекущиеДанные = ЭлементыФормы.Гость.Значение;

Если ТекущиеДанные=Неопределено Тогда

Возврат;

КонецЕсли;

// заполним параметры отчета

Отчет = Отчеты.Платежи.Создать();

Отчет.ВидОтчета = Перечисления.ВидыОтчетов.Обороты;

Отчет.РежимВыводаОтчета = Перечисления.РежимыВыводаОтчета.ТабличныйДокумент;

Отчет.РежимНастройки = Перечисления.РежимыНастройкиОтчетов.Эксперт;

Отчет.ИмяФормыНастроек = "НастройкиОбороты";

Отчет.ЗаполнитьНачальныеНастройки("ТекстЗапросаОбороты");

//фильтры

Отчет.ДатаНачала = Неопределено;

Отчет.ДатаКонца = Неопределено;

//Отчет.ПостроительОтчета.Отбор.("Гость");

Отчет.ПостроительОтчета.Отбор.Гость.ВидСравнения = ВидСравнения.Равно;

Отчет.ПостроительОтчета.Отбор.Гость.Значение = ТекущиеДанные;

Отчет.ПостроительОтчета.Отбор.Гость.Использование = Истина;

// измерения

Отчет.ПостроительОтчета.ИзмеренияСтроки.Очистить();

Отчет.ПостроительОтчета.ИзмеренияКолонки.Очистить();

// получить отчет и выведем его

ФормаОтчета = ПолучитьОбщуюФорму("Отчет",,ЭтаФорма);

ФормаОтчета.ОтчетОбъект = Отчет;

ФормаОтчета.Заголовок = "Продажи товаров";

ФормаОтчета.Открыть();

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

Процедура ОтчетПоПродажам(Элемент)

ТекущиеДанные = ЭлементыФормы.Гость.Значение;

Если ТекущиеДанные=Неопределено Тогда

Возврат;

КонецЕсли;

// заполним параметры отчета

Отчет = Отчеты.Продажи.Создать();

Отчет.ВидОтчета = Перечисления.ВидыОтчетов.Обороты;

Отчет.РежимВыводаОтчета = Перечисления.РежимыВыводаОтчета.ТабличныйДокумент;

Отчет.РежимНастройки = Перечисления.РежимыНастройкиОтчетов.Эксперт;

Отчет.ИмяФормыНастроек = "НастройкиОбороты";

Отчет.ЗаполнитьНачальныеНастройки("ТекстЗапросаОбороты");

//фильтры

Отчет.ДатаНачала = Неопределено;

Отчет.ДатаКонца = Неопределено;

Отчет.ПостроительОтчета.Отбор.Гость.ВидСравнения = ВидСравнения.Равно;

Отчет.ПостроительОтчета.Отбор.Гость.Значение = ТекущиеДанные;

Отчет.ПостроительОтчета.Отбор.Гость.Использование = Истина;

// измерения

Отчет.ПостроительОтчета.ИзмеренияСтроки.Очистить();

Отчет.ПостроительОтчета.ИзмеренияКолонки.Очистить();

// получить отчет и выведем его

ФормаОтчета = ПолучитьОбщуюФорму("Отчет",,ЭтаФорма);

ФормаОтчета.ОтчетОбъект = Отчет;

ФормаОтчета.Заголовок = "Продажи товаров";

ФормаОтчета.Открыть();

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

Процедура ГостьПриИзменении(Элемент)

ОбновитьДанные()

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

Процедура ОбновитьДанные()

ТекущиеДанные = ЭлементыФормы.Гость.Значение;

//Продажи на госте

Если ТекущиеДанные<>Неопределено Тогда

Запрос = Новый Запрос("ВЫБРАТЬ

|ПродажиОбороты.Гость,

|ПродажиОбороты.ХозОперация,

|ПродажиОбороты.СтавкаНДС,

|ПродажиОбороты.Плательщик,

|ПродажиОбороты.КоличествоОборот,

|ПродажиОбороты.КоличествоДопОборот,

|ПродажиОбороты.СуммаОборот,

|ПродажиОбороты.СуммаУпрОборот,

|ПродажиОбороты.СуммаНДСОборот

|ИЗ

|РегистрНакопления.Продажи.Обороты КАК ПродажиОбороты

|ГДЕ

|ПродажиОбороты.Гость = &ТекГость

|И ПродажиОбороты.Плательщик = ПродажиОбороты.Гость");

Запрос.УстановитьПараметр("ТекГость", ТекущиеДанные);

РезультатЗапросаВзаиморасчетов = Запрос.Выполнить();

Продажи = 0;

Если НЕ РезультатЗапросаВзаиморасчетов.Пустой() тогда

ТекущиеВзаиморасчеты = РезультатЗапросаВзаиморасчетов.Выбрать();

Пока ТекущиеВзаиморасчеты.Следующий() цикл

Продажи = Продажи + ТекущиеВзаиморасчеты.СуммаОборот;

КонецЦикла;

КонецЕсли;

ИтогоПродажи = Продажи;

ЭлементыФормы.Продажи.Значение = ИтогоПродажи;

КонецЕсли;

//Продажи на контрагенте

Если ТекущиеДанные<>Неопределено Тогда

Запрос = Новый Запрос("ВЫБРАТЬ

|ПродажиОбороты.Гость,

|ПродажиОбороты.ХозОперация,

|ПродажиОбороты.СтавкаНДС,

|ПродажиОбороты.Плательщик,

|ПродажиОбороты.КоличествоОборот,

|ПродажиОбороты.КоличествоДопОборот,

|ПродажиОбороты.СуммаОборот,

|ПродажиОбороты.СуммаУпрОборот,

|ПродажиОбороты.СуммаНДСОборот

|ИЗ

|РегистрНакопления.Продажи.Обороты КАК ПродажиОбороты

|ГДЕ

|ПродажиОбороты.Гость = &ТекГость

|И ПродажиОбороты.Плательщик <> ПродажиОбороты.Гость");

Запрос.УстановитьПараметр("ТекГость", ТекущиеДанные);

РезультатЗапросаВзаиморасчетов = Запрос.Выполнить();

ПродажиНаКонраненте = 0;

Если НЕ РезультатЗапросаВзаиморасчетов.Пустой() тогда

ТекущиеВзаиморасчеты = РезультатЗапросаВзаиморасчетов.Выбрать();

Пока ТекущиеВзаиморасчеты.Следующий() цикл

ПродажиНаКонраненте = ПродажиНаКонраненте + ТекущиеВзаиморасчеты.СуммаОборот;

КонецЦикла;

КонецЕсли;

ИтогоПродажиНаКонтрагенте = ПродажиНаКонраненте;

ЭлементыФормы.ПродажиНаКонтрагенте.Значение = ИтогоПродажиНаКонтрагенте;

КонецЕсли;

//Платежи гостя

Если ТекущиеДанные<>Неопределено Тогда

Запрос = Новый Запрос("ВЫБРАТЬ

|ВзаиморасчетыСГостямиОстаткиИОбороты.Гость,

|ВзаиморасчетыСГостямиОстаткиИОбороты.СуммаОплатПриход

|ИЗ

|РегистрНакопления.ВзаиморасчетыСГостями.ОстаткиИОбороты КАК ВзаиморасчетыСГостямиОстаткиИОбороты

|ГДЕ

|ВзаиморасчетыСГостямиОстаткиИОбороты.Гость = &ТекГость");

Запрос.УстановитьПараметр("ТекГость", ТекущиеДанные);

РезультатЗапросаПлатежей = Запрос.Выполнить();

Платежи = 0;

Списано = 0;

Если НЕ РезультатЗапросаПлатежей.Пустой() тогда

ТекущиеВзаиморасчетыПлатежи = РезультатЗапросаПлатежей.Выбрать();

Пока ТекущиеВзаиморасчетыПлатежи.Следующий() цикл

Платежи = Платежи + ТекущиеВзаиморасчетыПлатежи.СуммаОплатПриход;

КонецЦикла;

КонецЕсли;

//ИтогоСписано = Списано;

ИтогоПлатежи = Платежи;

ЭлементыФормы.Платежи.Значение = ИтогоПлатежи;

//ПлатежиМинусСписано = ИтогоПлатежи - ИтогоСписано;

КонецЕсли;

//Остаток

ОстатокИтого = ИтогоПродажи - ИтогоПлатежи;

ЭлементыФормы.Остаток.Значение = ОстатокИтого;

// Продажи и начисления по рекистру "Взаиморасчеты с гостями"

//Если ТекущиеДанные<>Неопределено Тогда

//Запрос = Новый Запрос("ВЫБРАТЬ

// |ВзаиморасчетыСГостямиОстаткиИОбороты.Гость,

// |ВзаиморасчетыСГостямиОстаткиИОбороты.СуммаОплатКонечныйОстаток,

// |ВзаиморасчетыСГостямиОстаткиИОбороты.СуммаОплатПриход,

// |ВзаиморасчетыСГостямиОстаткиИОбороты.СуммаОплатРасход

// |ИЗ

// |РегистрНакопления.ВзаиморасчетыСГостями.ОстаткиИОбороты КАК ВзаиморасчетыСГостямиОстаткиИОбороты

// |ГДЕ

// |ВзаиморасчетыСГостямиОстаткиИОбороты.Гость = &ТекГость");

//Запрос.УстановитьПараметр("ТекГость", ТекущиеДанные);

//РезультатЗапросаПлатежей = Запрос.Выполнить();

// ПлатежиРег = 0;

// ПродажиРег = 0;

// СписаноРег = 0;

//Если НЕ РезультатЗапросаПлатежей.Пустой() тогда

//ТекущиеВзаиморасчетыПлатежи = РезультатЗапросаПлатежей.Выбрать();

//Пока ТекущиеВзаиморасчетыПлатежи.Следующий() цикл

//

//ПлатежиРег = ПлатежиРег + ТекущиеВзаиморасчетыПлатежи.СуммаОплатПриход;

//ПродажиРег = ПродажиРег + ТекущиеВзаиморасчетыПлатежи.СуммаОплатРасход;

//

//КонецЦикла;

//КонецЕсли;

//ИтогоСписаноРег = ПродажиРег;

//ИтогоПлатежиРег = ПлатежиРег;

//ЭлементыФормы.ПлатежиРег.Значение = ПлатежиРег;

//ЭлементыФормы.ПродажиРег.Значение = ПродажиРег;

//ЭлементыФормы.ОстатокРег.Значение = ТекущиеВзаиморасчетыПлатежи.СуммаОплатКонечныйОстаток;

//КонецЕсли;

// Путевки гостя

мДатаНачала = ?(ЗначениеЗаполнено(ДатаНачала), ДатаНачала, '19000101');

мДатаОкончания = ?(ЗначениеЗаполнено(ДатаОкончания), ДатаОкончания, '39991231');

//ТекущиеДанные = ЭлементыФормы.Гость.Значение;

ТаблицаПутевок.Очистить();

//Отберем путевки по гостю

Если ТекущиеДанные<>Неопределено Тогда

Запрос = Новый Запрос("ВЫБРАТЬ РАЗЛИЧНЫЕ

|Путевка.НомерПутевки КАК НомерПутевки,

|Путевка.ДатаНачала КАК ДатаС,

|Путевка.ДатаКонца КАК ДатаПо,

|Путевка.СуммаДокумента КАК Сумма,

|Путевка.Ссылка КАК Ссылка,

|Путевка.ИсточникФинансирования,

|ВЫБОР

|КОГДА Путевка.СтатусПутевки = ЗНАЧЕНИЕ(Перечисление.СтатусыПутевок.Выдана)

|ТОГДА ИСТИНА

|ИНАЧЕ ЛОЖЬ

|КОНЕЦ КАК Выдана

|ИЗ

|Документ.Путевка КАК Путевка

|ГДЕ

|Путевка.Гость = &ТекГость

|И (Путевка.СтатусПутевки = ЗНАЧЕНИЕ(Перечисление.СтатусыПутевок.Заполнена)

|ИЛИ Путевка.СтатусПутевки = ЗНАЧЕНИЕ(Перечисление.СтатусыПутевок.Выдана))

|И Путевка.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания

|

|УПОРЯДОЧИТЬ ПО

|ДатаС");

Запрос.УстановитьПараметр("ТекГость", ТекущиеДанные);

Запрос.УстановитьПараметр("ДатаНачала", мДатаНачала);

Запрос.УстановитьПараметр("ДатаОкончания", мДатаОкончания);

ТаблицаПутевок = Запрос.Выполнить().Выгрузить();

КонецЕсли;

// Чеки гостя

ТаблицаПлатежей.Очистить();

Если ТекущиеДанные<>Неопределено Тогда

Запрос = Новый Запрос("ВЫБРАТЬ РАЗЛИЧНЫЕ

|ЧекНаОплату.Дата КАК Дата,

|ЧекНаОплату.СуммаДокумента,

|ЧекНаОплату.Автор,

|ЧекНаОплату.Ссылка,

|ЧекНаОплату.ХозОперация

|ИЗ

|Документ.ЧекНаОплату КАК ЧекНаОплату

|ГДЕ

|ЧекНаОплату.Гость = &ТекГость

|И ЧекНаОплату.Проведен = ИСТИНА

|И ЧекНаОплату.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания

|

|УПОРЯДОЧИТЬ ПО

|Дата");

Запрос.УстановитьПараметр("ТекГость", ТекущиеДанные);

Запрос.УстановитьПараметр("ДатаНачала", мДатаНачала);

Запрос.УстановитьПараметр("ДатаОкончания", мДатаОкончания);

ТаблицаПлатежей = Запрос.Выполнить().Выгрузить();

КонецЕсли;

//Акты гостя

Запрос = Новый Запрос("ВЫБРАТЬ РАЗЛИЧНЫЕ

|АктОбОказанииУслуг.Дата КАК Дата,

|АктОбОказанииУслуг.Номер КАК Номер,

|АктОбОказанииУслуг.ПодразделениеКомпании КАК Гостиница,

|АктОбОказанииУслуг.Ссылка,

|ЕСТЬNULL(АктОбОказанииУслуг.СуммаДокумента, 0) КАК СуммаАкта,

|СУММА(ЕСТЬNULL(ЧекНаОплату.СуммаДокумента, 0)) КАК СуммаЧека,

|АктОбОказанииУслуг.ХозОперация КАК ХозОперация,

|АктОбОказанииУслуг.ЛицевойСчет

|ИЗ

|Документ.АктОбОказанииУслуг КАК АктОбОказанииУслуг

|ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЧекНаОплату КАК ЧекНаОплату

|ПО АктОбОказанииУслуг.Ссылка = ЧекНаОплату.ДокументОснование

|ГДЕ

|АктОбОказанииУслуг.Гость = &ТекГость

|И АктОбОказанииУслуг.Проведен = ИСТИНА

|

|СГРУППИРОВАТЬ ПО

|АктОбОказанииУслуг.Ссылка,

|АктОбОказанииУслуг.Дата,

|АктОбОказанииУслуг.Номер,

|АктОбОказанииУслуг.ПодразделениеКомпании,

|ЕСТЬNULL(АктОбОказанииУслуг.СуммаДокумента, 0),

|АктОбОказанииУслуг.ХозОперация,

|АктОбОказанииУслуг.ЛицевойСчет

|

|УПОРЯДОЧИТЬ ПО

|Дата УБЫВ");

Запрос.УстановитьПараметр("ТекГость", ТекущиеДанные);

//Запрос.УстановитьПараметр("ДатаНачала", мДатаНачала);

//Запрос.УстановитьПараметр("ДатаОкончания", мДатаОкончания);

ТаблицаАктов = Запрос.Выполнить().Выгрузить();

Если ТекущиеДанные<>Неопределено Тогда

Запрос = Новый Запрос("ВЫБРАТЬ РАЗЛИЧНЫЕ

|РаспределениеОплат.Дата КАК Дата,

|РаспределениеОплат.Автор,

|РаспределениеОплат.ДоговорВзаиморасчетов,

|РаспределениеОплат.Контрагент,

|РаспределениеОплат.Ссылка,

|РаспределениеОплатДолги.СуммаДолга,

|РаспределениеОплатДолги.Сумма,

|РаспределениеОплатДолги.ЛицевойСчет

|ИЗ

|Документ.РаспределениеОплат.Долги КАК РаспределениеОплатДолги

|ЛЕВОЕ СОЕДИНЕНИЕ Документ.РаспределениеОплат КАК РаспределениеОплат

|ПО РаспределениеОплатДолги.Ссылка = РаспределениеОплат.Ссылка

|ГДЕ

|РаспределениеОплат.Проведен = ИСТИНА

|И РаспределениеОплатДолги.Гость = &ТекГость

|И РаспределениеОплат.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания

|

|УПОРЯДОЧИТЬ ПО

|Дата");

Запрос.УстановитьПараметр("ТекГость", ТекущиеДанные);

Запрос.УстановитьПараметр("ДатаНачала", мДатаНачала);

Запрос.УстановитьПараметр("ДатаОкончания", мДатаОкончания);

ТаблицаРаспределений = Запрос.Выполнить().Выгрузить();

КонецЕсли;

Если ЗначениеЗаполнено(Гость) Тогда

//Контрагент = Гость.КонтрагентПоУмолчанию;

//ЭлементыФормы.КонтрагентПоУмолчанию.Заголовок = "Контрагент по умолчанию"+ ": " +ТекущиеДанные.КонтрагентПоУмолчанию;

КонтрагентВыбор = Гость.КонтрагентПоУмолчанию;

ЭлементыФормы.КонтрагентВыбор.Значение= ТекущиеДанные.КонтрагентПоУмолчанию;

Иначе

//Контрагент = Неопределено;

КонтрагентВыбор = Неопределено;

КонецЕсли;

//Если Контрагент<>Неопределено Тогда

Если КонтрагентВыбор<>Неопределено Тогда

Запрос = Новый Запрос("ВЫБРАТЬ РАЗЛИЧНЫЕ

|Выписка.Дата КАК Дата,

|ВыпискаСостав.Контрагент,

|ВыпискаСостав.ДоговорВзаиморасчетов,

|ВыпискаСостав.СуммаПриход,

|Выписка.Автор,

|Выписка.Ссылка

|ИЗ

|Документ.Выписка.Состав КАК ВыпискаСостав

|ЛЕВОЕ СОЕДИНЕНИЕ Документ.Выписка КАК Выписка

|ПО ВыпискаСостав.Ссылка = Выписка.Ссылка

|ГДЕ

|Выписка.Проведен = ИСТИНА

//|И ВыпискаСостав.Контрагент = &Контрагент

|И ВыпискаСостав.Контрагент = &КонтрагентВыбор

|И Выписка.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания

|

|УПОРЯДОЧИТЬ ПО

|Дата");

Запрос.УстановитьПараметр("КонтрагентВыбор", КонтрагентВыбор);

Запрос.УстановитьПараметр("ДатаНачала", мДатаНачала);

Запрос.УстановитьПараметр("ДатаОкончания", мДатаОкончания);

ТаблицаВыписок = Запрос.Выполнить().Выгрузить();

КонецЕсли;

//Размещения гостя

Если ТекущиеДанные<>Неопределено Тогда

Запрос = Новый Запрос("ВЫБРАТЬ

|Размещение.Ссылка,

|Размещение.ДатаНачала КАК ДатаНачала,

|Размещение.ДатаКонца,

|РазмещениеГости.Гость,

|Размещение.ХозОперация,

|Размещение.Дата КАК Дата,

|Размещение.Номер,

|РазмещениеГости.ЛицевойСчет,

|Размещение.НомерРазмещения

|ИЗ

|Документ.Размещение.Гости КАК РазмещениеГости

|ЛЕВОЕ СОЕДИНЕНИЕ Документ.Размещение КАК Размещение

|ПО РазмещениеГости.Ссылка = Размещение.Ссылка

|ГДЕ

|Размещение.Проведен = ИСТИНА

|И РазмещениеГости.Гость = &ТекГость

|И Размещение.ХозОперация.Код <> ""000465""

|И Размещение.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания

|

|УПОРЯДОЧИТЬ ПО

|Дата,

|Размещение.ДокументОснование");

Запрос.УстановитьПараметр("ТекГость", ТекущиеДанные);

Запрос.УстановитьПараметр("ДатаНачала", мДатаНачала);

Запрос.УстановитьПараметр("ДатаОкончания", мДатаОкончания);

ТаблицаРазмещений = Запрос.Выполнить().Выгрузить();

КонецЕсли;

//Долги гостя

Если ТекущиеДанные<>Неопределено Тогда

Запрос = Новый Запрос("ВЫБРАТЬ РАЗРЕШЕННЫЕ

|ВЫБОР

|КОГДА ВзаиморасчетыСГостямиОстатки.Размещение.ДатаИзмененияПараметров = ДАТАВРЕМЯ(1, 1, 1)

|ТОГДА ВзаиморасчетыСГостямиОстатки.Размещение.ДатаНачала

|ИНАЧЕ ВзаиморасчетыСГостямиОстатки.Размещение.ДатаИзмененияПараметров

|КОНЕЦ КАК НачалоПериода,

|ВзаиморасчетыСГостямиОстатки.Размещение.ПодразделениеКомпании КАК Подразделение,

|ВзаиморасчетыСГостямиОстатки.Гость КАК Гость,

|ВзаиморасчетыСГостямиОстатки.Размещение.Контрагент КАК Контрагент,

|ВзаиморасчетыСГостямиОстатки.Размещение.ДоговорВзаиморасчетов КАК Договор,

|ВзаиморасчетыСГостямиОстатки.Размещение КАК Размещение,

|ВзаиморасчетыСГостямиОстатки.Бронирование КАК Бронирование,

|ВзаиморасчетыСГостямиОстатки.СуммаОстаток,

|ВзаиморасчетыСГостямиОстатки.Размещение.Ссылка

|ПОМЕСТИТЬ втЗадолженности

|ИЗ

|РегистрНакопления.ВзаиморасчетыСГостями.Остатки(, ) КАК ВзаиморасчетыСГостямиОстатки

|ГДЕ

|ВзаиморасчетыСГостямиОстатки.Гость = &ТекГость

|

|ИНДЕКСИРОВАТЬ ПО

|Гость,

|Контрагент,

|Договор,

|Подразделение,

|Размещение,

|Бронирование

|;

|

|////////////////////////////////////////////////////////////////////////////////

|ВЫБРАТЬ

|втЗадолженности.НачалоПериода КАК НачалоПериода,

|ПродажиПроживание.КонецПериода КАК КонецПериода,

|втЗадолженности.Подразделение КАК Подразделение,

|втЗадолженности.Гость КАК Гость,

|втЗадолженности.Контрагент КАК Контрагент,

|втЗадолженности.Договор КАК Договор,

|втЗадолженности.Размещение КАК Размещение,

|втЗадолженности.Бронирование КАК Бронирование,

|ВЫБОР

|КОГДА ПродажиПроживание.КоличествоОборот = 0

|ТОГДА 0

|ИНАЧЕ ПродажиПроживание.СуммаОборот / ПродажиПроживание.КоличествоОборот

|КОНЕЦ КАК ПроживаниеЦена,

|ПродажиПроживание.КоличествоОборот КАК ПроживаниеКоличество,

|ПродажиПроживание.СуммаОборот КАК ПроживаниеСумма,

|ПродажиПрочие.КоличествоОборот КАК ПрочиеКоличество,

|ПродажиПрочие.СуммаОборот КАК ПрочиеСумма,

|втЗадолженности.СуммаОстаток,

|ПродажиПроживание.Размещение.Ссылка

|ПОМЕСТИТЬ втПродажиПроживание

|ИЗ

|втЗадолженности КАК втЗадолженности

|ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ

|МАКСИМУМ(ВЫБОР

|КОГДА ПродажиОбороты.Регистратор.Дата > ПродажиОбороты.Размещение.ДатаКонца

|ТОГДА ПродажиОбороты.Размещение.ДатаКонца

|ИНАЧЕ ПродажиОбороты.Регистратор.Дата

|КОНЕЦ) КАК КонецПериода,

|ПродажиОбороты.Размещение КАК Размещение,

|СУММА(ВЫБОР

|КОГДА ПродажиОбороты.Номенклатура = ЗНАЧЕНИЕ(Справочник.Номенклатура.Проживание)

|ТОГДА ПродажиОбороты.КоличествоОборот

|ИНАЧЕ 0

|КОНЕЦ) КАК КоличествоОборот,

|СУММА(ПродажиОбороты.КоличествоДопОборот) КАК КоличествоДопОборот,

|СУММА(ПродажиОбороты.СуммаОборот) КАК СуммаОборот,

|СУММА(ПродажиОбороты.СуммаУпрОборот) КАК СуммаУпрОборот,

|СУММА(ПродажиОбороты.СуммаНДСОборот) КАК СуммаНДСОборот

|ИЗ

|РегистрНакопления.Продажи.Обороты(

|,

|,

|Регистратор,

|ВСоставеТарифа = ИСТИНА

|И Размещение В

|(ВЫБРАТЬ

|Задолженности.Размещение

|ИЗ

|втЗадолженности КАК Задолженности)) КАК ПродажиОбороты

|

|СГРУППИРОВАТЬ ПО

|ПродажиОбороты.Размещение) КАК ПродажиПроживание

|ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ

|ПродажиОбороты.Размещение КАК Размещение,

|СУММА(ПродажиОбороты.КоличествоОборот) КАК КоличествоОборот,

|СУММА(ПродажиОбороты.КоличествоДопОборот) КАК КоличествоДопОборот,

|СУММА(ПродажиОбороты.СуммаОборот) КАК СуммаОборот,

|СУММА(ПродажиОбороты.СуммаУпрОборот) КАК СуммаУпрОборот,

|СУММА(ПродажиОбороты.СуммаНДСОборот) КАК СуммаНДСОборот

|ИЗ

|РегистрНакопления.Продажи.Обороты(

|,

|,

|Регистратор,

|ВСоставеТарифа = ЛОЖЬ

|И Размещение В

|(ВЫБРАТЬ

|Задолженности.Размещение

|ИЗ

|втЗадолженности КАК Задолженности)) КАК ПродажиОбороты

|

|СГРУППИРОВАТЬ ПО

|ПродажиОбороты.Размещение) КАК ПродажиПрочие

|ПО ПродажиПроживание.Размещение = ПродажиПрочие.Размещение

|ПО втЗадолженности.Размещение = ПродажиПроживание.Размещение

|

|ИНДЕКСИРОВАТЬ ПО

|НачалоПериода,

|КонецПериода,

|Подразделение,

|Гость,

|Контрагент,

|Договор,

|Размещение,

|Бронирование

|;

|

|////////////////////////////////////////////////////////////////////////////////

|ВЫБРАТЬ

|втПродажиПроживание.НачалоПериода КАК НачалоПериода,

|втПродажиПроживание.КонецПериода,

|втПродажиПроживание.Подразделение КАК Подразделение,

|втПродажиПроживание.Размещение.НомерРазмещения КАК НомерРазмещения,

|втПродажиПроживание.Гость КАК Гость,

|втПродажиПроживание.Контрагент,

|втПродажиПроживание.Договор,

|втПродажиПроживание.Размещение,

|втПродажиПроживание.Бронирование,

|втПродажиПроживание.ПроживаниеЦена,

|втПродажиПроживание.ПроживаниеКоличество КАК ПроживаниеКоличество,

|втПродажиПроживание.ПроживаниеСумма КАК ПроживаниеСумма,

|втПродажиПроживание.ПрочиеКоличество КАК ПрочиеКоличество,

|втПродажиПроживание.ПрочиеСумма КАК ПрочиеСумма,

|втПродажиПроживание.СуммаОстаток КАК СуммаОстаток,

|втПродажиПроживание.Размещение.Ссылка

|ИЗ

|втПродажиПроживание КАК втПродажиПроживание

|

|УПОРЯДОЧИТЬ ПО

|НачалоПериода

|ИТОГИ

|СУММА(ПроживаниеКоличество),

|СУММА(ПроживаниеСумма),

|СУММА(ПрочиеКоличество),

|СУММА(ПрочиеСумма),

|СУММА(СуммаОстаток)

|ПО

|Гость,

|Подразделение");

Запрос.УстановитьПараметр("ТекГость", ТекущиеДанные);

ДолгиГостя = Запрос.Выполнить().Выгрузить();

КонецЕсли;

//Выезда гостя

Если ТекущиеДанные<>Неопределено Тогда

Запрос = Новый Запрос("ВЫБРАТЬ

|Выезд.Ссылка,

|Выезд.ХозОперация,

|Выезд.ТипНомера,

|Выезд.НомерРазмещения,

|Выезд.СуммаДокумента,

|Выезд.Дата КАК Дата

|ИЗ

|Документ.Выезд.Гости КАК ВыездГости

|ЛЕВОЕ СОЕДИНЕНИЕ Документ.Выезд КАК Выезд

|ПО ВыездГости.Ссылка = Выезд.Ссылка

|ГДЕ

|Выезд.Проведен = ИСТИНА

|И ВыездГости.Гость = &ТекГость

|

|УПОРЯДОЧИТЬ ПО

|Дата");

Запрос.УстановитьПараметр("ТекГость", ТекущиеДанные);

ТаблицаВыездов = Запрос.Выполнить().Выгрузить();

КонецЕсли;

//Брони гостя

Если ТекущиеДанные<>Неопределено Тогда

Запрос = Новый Запрос("ВЫБРАТЬ

|Бронирование.Дата КАК Дата,

|БронированиеГости.НомерРазмещения,

|БронированиеГости.Гость,

|БронированиеГости.ДатаНачала,

|БронированиеГости.ДатаКонца,

|БронированиеГости.ЛицевойСчет,

|Бронирование.Ссылка,

|Бронирование.ХозОперация КАК ХозОперация

|ИЗ

|Документ.Бронирование.Гости КАК БронированиеГости

|ЛЕВОЕ СОЕДИНЕНИЕ Документ.Бронирование КАК Бронирование

|ПО БронированиеГости.Ссылка = Бронирование.Ссылка

|ГДЕ

|Бронирование.Проведен = ИСТИНА

|И Бронирование.Гости.Гость = &ТекГость

|

|УПОРЯДОЧИТЬ ПО

|Дата,

|ХозОперация

|ИТОГИ ПО

|Бронирование.ПодразделениеКомпании");

Запрос.УстановитьПараметр("ТекГость", ТекущиеДанные);

ТаблицаБроней = Запрос.Выполнить().Выгрузить();

КонецЕсли;

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

//Блок по работе со списками документов

Процедура тпПлатежиВыбор(Элемент, ВыбраннаяСтрока, Колонка, СтандартнаяОбработка)

СтандартнаяОбработка=Ложь;

КоманднаяПанельЧекиПросмотр(Неопределено);

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

Процедура КоманднаяПанельЧекиПросмотр(Кнопка)

ТекущиеДанные = ЭлементыФормы.тпПлатежи.ТекущиеДанные;

Если ТекущиеДанные=Неопределено Тогда

Возврат;

КонецЕсли;

Об = ТекущиеДанные.Ссылка.ПолучитьОбъект();

Форма = Об.ПолучитьФорму("ФормаДокумента",ЭтаФорма);

//Форма.ТолькоПросмотр = Истина;

Форма.Открыть();

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

Процедура тпВыпискиВыбор(Элемент, ВыбраннаяСтрока, Колонка, СтандартнаяОбработка)

СтандартнаяОбработка=Ложь;

КоманднаяПанельВыпискиПросмотр(Неопределено);

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

Процедура КоманднаяПанельВыпискиПросмотр(Кнопка)

ТекущиеДанные = ЭлементыФормы.тпВыписки.ТекущиеДанные;

Если ТекущиеДанные=Неопределено Тогда

Возврат;

КонецЕсли;

Об = ТекущиеДанные.Ссылка.ПолучитьОбъект();

Форма = Об.ПолучитьФорму("ФормаДокумента",ЭтаФорма);

Форма.ТолькоПросмотр = Истина;

Форма.Открыть();

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

Процедура тпРаспределенияВыбор(Элемент, ВыбраннаяСтрока, Колонка, СтандартнаяОбработка)

СтандартнаяОбработка=Ложь;

КоманднаяРаспределенияПросмотр(Неопределено);

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

Процедура КоманднаяРаспределенияПросмотр(Кнопка)

ТекущиеДанные = ЭлементыФормы.тпПлатежи2.ТекущиеДанные;

Если ТекущиеДанные=Неопределено Тогда

Возврат;

КонецЕсли;

Об = ТекущиеДанные.Ссылка.ПолучитьОбъект();

Форма = Об.ПолучитьФорму("ФормаДокумента",ЭтаФорма);

Форма.Открыть();

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

Процедура ТаблицаРазмещенийВыбор(Элемент, ВыбраннаяСтрока, Колонка, СтандартнаяОбработка)

СтандартнаяОбработка=Ложь;

КоманднаяПанельРазмещенияПросмотр(Неопределено);

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

Процедура КоманднаяПанельРазмещенияПросмотр(Кнопка)

ТекущиеДанные = ЭлементыФормы.ТаблицаРазмещений.ТекущиеДанные;

Если ТекущиеДанные=Неопределено Тогда

Возврат;

КонецЕсли;

Об = ТекущиеДанные.Ссылка.ПолучитьОбъект();

Форма = Об.ПолучитьФорму("ФормаДокумента",ЭтаФорма);

Форма.Открыть();

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

Процедура ТаблицаВыездовВыбор(Элемент, ВыбраннаяСтрока, Колонка, СтандартнаяОбработка)

СтандартнаяОбработка=Ложь;

КоманднаяПанельВыездыПросмотр(Неопределено);

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

Процедура КоманднаяПанельВыездыПросмотр(Кнопка)

ТекущиеДанные = ЭлементыФормы.ТаблицаВыездов.ТекущиеДанные;

Если ТекущиеДанные=Неопределено Тогда

Возврат;

КонецЕсли;

Об = ТекущиеДанные.Ссылка.ПолучитьОбъект();

Форма = Об.ПолучитьФорму("ФормаДокумента",ЭтаФорма);

Форма.Открыть();

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

Процедура КонтрагентВыборПриИзменении(Элемент)

Если ЗначениеЗаполнено(КонтрагентВыбор) Тогда

ТекущиеДанные = ЭлементыФормы.КонтрагентВыбор.Значение;

Иначе

КонтрагентВыбор = Неопределено;

КонецЕсли;

Если КонтрагентВыбор<>Неопределено Тогда

Запрос = Новый Запрос("ВЫБРАТЬ РАЗЛИЧНЫЕ

|Выписка.Дата КАК Дата,

|ВыпискаСостав.Контрагент,

|ВыпискаСостав.ДоговорВзаиморасчетов,

|ВыпискаСостав.СуммаПриход,

|Выписка.Автор,

|Выписка.Ссылка

|ИЗ

|Документ.Выписка.Состав КАК ВыпискаСостав

|ЛЕВОЕ СОЕДИНЕНИЕ Документ.Выписка КАК Выписка

|ПО ВыпискаСостав.Ссылка = Выписка.Ссылка

|ГДЕ

|Выписка.Проведен = ИСТИНА

|И ВыпискаСостав.Контрагент = &КонтрагентВыбор

|

|УПОРЯДОЧИТЬ ПО

|Дата");

Запрос.УстановитьПараметр("КонтрагентВыбор", КонтрагентВыбор);

ТаблицаВыписок = Запрос.Выполнить().Выгрузить();

КонецЕсли;

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

Процедура тпПлатежи1ПриПолученииДанных(Элемент, ОформленияСтрок)

Для Каждого ОформлениеСтроки из ОформленияСтрок Цикл

дкСписокПриВыводеСтроки(ЭтаФорма, Элемент, ОформлениеСтроки, ОформлениеСтроки.ДанныеСтроки);

КонецЦикла;

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

Процедура ОбновитьНажатие(Элемент)

ОбновитьДанные()

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

Процедура тпТаблицаАктовВыбор(Элемент, ВыбраннаяСтрока, Колонка, СтандартнаяОбработка)

СтандартнаяОбработка=Ложь;

КоманднаяПанельАктыПросмотр(Неопределено);

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

Процедура КоманднаяПанельАктыПросмотр(Кнопка)

ТекущиеДанные = ЭлементыФормы.тпТаблицаАктов.ТекущиеДанные;

Если ТекущиеДанные=Неопределено Тогда

Возврат;

КонецЕсли;

Об = ТекущиеДанные.Ссылка.ПолучитьОбъект();

Форма = Об.ПолучитьФорму("ФормаДокумента",ЭтаФорма);

//Форма.ТолькоПросмотр = Истина;

Форма.Открыть();

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

Процедура тпПутевкиВыбор(Элемент, ВыбраннаяСтрока, Колонка, СтандартнаяОбработка)

СтандартнаяОбработка=Ложь;

КоманднаяПанельПутевкиПросмотр(Неопределено);

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

Процедура КоманднаяПанельПутевкиПросмотр(Кнопка)

ТекущиеДанные = ЭлементыФормы.тпПутевки.ТекущиеДанные;

Если ТекущиеДанные=Неопределено Тогда

Возврат;

КонецЕсли;

Об = ТекущиеДанные.Ссылка.ПолучитьОбъект();

Форма = Об.ПолучитьФорму("ФормаДокумента",ЭтаФорма);

//Форма.ТолькоПросмотр = Истина;

Форма.Открыть();

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

Процедура ТаблицаБронейВыбор(Элемент, ВыбраннаяСтрока, Колонка, СтандартнаяОбработка)

СтандартнаяОбработка=Ложь;

КоманднаяПанельБрониПросмотр(Неопределено);

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

Процедура КоманднаяПанельБрониПросмотр(Кнопка)

ТекущиеДанные = ЭлементыФормы.ТаблицаБроней.ТекущиеДанные;

Если ТекущиеДанные=Неопределено Тогда

Возврат;

КонецЕсли;

Об = ТекущиеДанные.Ссылка.ПолучитьОбъект();

Форма = Об.ПолучитьФорму("ФормаДокумента",ЭтаФорма);

Форма.Открыть();

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

// печать развернутого счета

Процедура КоманднаяПанельСписокГостейСчет(Кнопка)

ТекущиеДанные = ЭлементыФормы.Гость;

Если ТекущиеДанные<>Неопределено Тогда

// печатаем в общую форму

ПечатнаяФорма = ПолучитьОбщуюФорму("ПечатнаяФормаДокументов", ТекущиеДанные.РазмещениеКорневой.ПолучитьОбъект());

// получим обработку

ИмяОбработки = "ПечатьСчетов_2";

ОбработкаНастройки = обПолучитьВнешнююОбработкуОбъект(ИмяОбработки);

Если ОбработкаНастройки = Неопределено Тогда

ОбработкаНастройки = Обработки[ИмяОбработки].Создать();

КонецЕсли;

ОбработкаНастройки.Размещение = ТекущиеДанные.РазмещениеКорневой;

ОбработкаНастройки.Гость = ТекущиеДанные.Гость;

ОбработкаНастройки.ПодразделениеКомпании = ТекущиеДанные.ПодразделениеКомпании;

ТабДок = ОбработкаНастройки.ПечатьСчета();

// выводим

ПечатнаяФорма.ЭлементыФормы.ТабличныйДокумент.Вывести(ТабДок);

ПечатнаяФорма.Объект = ТекущиеДанные.РазмещениеКорневой.ПолучитьОбъект();

ПечатнаяФорма.ОбъектПредставление = "Счет";

ПечатнаяФорма.Открыть();

КонецЕсли;

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

Процедура ЗаполнитьСписокНАНажатие(Элемент)

Запрос = Новый Запрос("ВЫБРАТЬ

|НочнойАудит.Ссылка,

|НочнойАудит.Дата,

|НочнойАудит.ПодразделениеКомпании

|ИЗ

|Документ.НочнойАудит КАК НочнойАудит

|ГДЕ

|НочнойАудит.Дата МЕЖДУ &ДатаОтбораНАс И &ДатаОтбораНАпо

|И НочнойАудит.ПодразделениеКомпании = &ПодразделениеКомпании");

Запрос.УстановитьПараметр("ПодразделениеКомпании", Подразделение);

Запрос.УстановитьПараметр("ДатаОтбораНАс", ДатаОтбораНАс);

Запрос.УстановитьПараметр("ДатаОтбораНАпо", ДатаОтбораНАпо);

ТабличноеПолеНА = Запрос.Выполнить().Выгрузить();

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

Процедура ПересчитатьНажатие(Элемент)

Запрос = Новый Запрос("ВЫБРАТЬ

|НочнойАудит.Ссылка,

|НочнойАудит.Дата,

|НочнойАудит.ПодразделениеКомпании

|ИЗ

|Документ.НочнойАудит КАК НочнойАудит

|ГДЕ

|НочнойАудит.Дата МЕЖДУ &ДатаОтбораНАс И &ДатаОтбораНАпо

|И НочнойАудит.ПодразделениеКомпании = &ПодразделениеКомпании");


Подобные документы

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

    дипломная работа [108,5 K], добавлен 27.03.2013

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

    курсовая работа [4,4 M], добавлен 15.05.2014

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

    дипломная работа [1,8 M], добавлен 29.01.2013

  • Разработка информационной системы "База администратора автосалона" посредствам прикладной программы Microsoft Office Access, объединяющих между собой реализацию схем потоков данных, их зависимость друг от друга. Создание форм, таблиц и запросов.

    курсовая работа [5,5 M], добавлен 14.10.2014

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

    курсовая работа [37,4 K], добавлен 01.12.2009

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

    реферат [23,4 K], добавлен 11.03.2014

  • Создание модели информационной системы с AllFusion Process Modeler 4.0 в стандарте IDEF0. Дополнение созданной модели процессов организационными диаграммами в нотации DFD. Резервирование номеров. Автоматизация рабочего места администратора гостиницы.

    курсовая работа [1,8 M], добавлен 17.06.2013

  • Разработка автоматизированной информационной системы, способной автоматизировать большую часть деятельности складского учета Лихославльского почтамта. Тестирование работы ИС на данных контрольного примера. Обоснование экономической эффективности проекта.

    дипломная работа [4,2 M], добавлен 24.09.2013

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

    курсовая работа [2,3 M], добавлен 26.10.2012

  • Схема автоматизации магазина и бизнес-процессов администратора отдела продаж автомагазина "Москвич". Снижение трудоемкости подбора автозапчастей. Формирование сведений о запросах. Функционирование автоматизированного рабочего места администратора.

    курсовая работа [730,1 K], добавлен 21.06.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.