2.4 Регистры
1) Цены На Билеты (регистр сведений) – независимый, цены вводятся пользователем.
Измерения:
Поезд
Места
Ресурсы:
Цена
2) Продажа Билетов (регистр сведений) – регистратором является документ Билет.
Измерения:
Номер Билета
Пассажир
Ресурсы:
Цена
3) Информация О поездах (регистр сведений) – регистратором является документы Билет и Расписание Поездов.
Измерения:
Поезд
Станция Отправления
Станция Прибытия
Дата Отправления
4) Проданные Билеты (регистр остатков) – регистратором является документы Билет, Возврат Билетов.
Измерения:
Пассажир
Ресурсы:
Номер Билета
5) Касса (регистр остатков) – регистратором является документы Билет, Возврат Билетов, Бронирование Билетов .
Ресурсы:
Сумма.
Реквизиты:
Пассажир.
2.5 Журналы
1) Касса.
Реестр документов:
2.6 Отчеты
1) ЦеныНаБилеты
Диалог:
Печатная форма:
Модуль отчёта:
процедура Действия Формы Цены На Билеты Сформировать (Кнопка)
//{{КОНСТРУКТОР_ВЫХОДНЫХ_ФОРМ_ПРОЦЕДУРА_ВЫЗОВА(Цены На Билеты)
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
ТабДок = Элементы Формы. Поле Табличного Документа ;
Цены На Билеты (ТабДок);
//}}КОНСТРУКТОР_ВЫХОДНЫХ_ФОРМ_ПРОЦЕДУРА_ВЫЗОВА
Конец Процедуры
Процедура Цены На Билеты(ТабДок) Экспорт
//{{КОНСТРУКТОР_ВЫХОДНЫХ_ФОРМ(Цены На Билеты)
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
Макет = Отчет Объект. Получить Макет ("Цены На Билеты ");
Запрос = Новый Запрос;
Запрос. Текст =
"ВЫБРАТЬ
| Цены На Билеты. Период ,
| Цены На Билеты. Поезд,
| ПРЕДСТАВЛЕНИЕ(Цены На Билеты. Поезд),
| Цены На Билеты. Места,
| Цены На Билеты. Цена
|ИЗ
| Регистр Сведений. Цены На Билеты КАК Цены На Билеты ";
Результат = Запрос. Выполнить ();
Область Заголовок = Макет. Получить Область("Заголовок");
Область Подвал = Макет. Получить Область("Подвал");
Область Шапка Таблицы = Макет. Получить Область ("Шапка Таблицы");
Область Подвал Таблицы = Макет. Получить Область ("Подвал Таблицы ");
Область Детальных Записей = Макет. Получить Область ("Детали");
ТабДок. Очистить();
ТабДок. Вывести(Область Заголовок );
ТабДок. Вывести(Область Шапка Таблицы);
ТабДок. Начать Автогруппировку Строк();
Выборка Детали = Результат .Выбрать();
Пока Выборка Детали. Следующий() Цикл
Область Детальных Записей. Параметры. Заполнить (Выборка Детали);
ТабДок. Вывести (Область Детальных Записей, Выборка Детали. Уровень());
Конец Цикла;
ТабДок. Закончить Автогруппировку Строк();
ТабДок. Вывести(Область Подвал Таблицы);
ТабДок. Вывести(Область Подвал );
//}}КОНСТРУКТОР_ВЫХОДНЫХ_ФОРМ
Конец Процедуры
Информация о поездах
2) Диалог:
Печатная форма:
Модуль отчёта:
Процедура ДействияФормыИнформацияОПоездахСформировать(Кнопка)
//{{КОНСТРУКТОР_ВЫХОДНЫХ_ФОРМ_ПРОЦЕДУРА_ВЫЗОВА(ИнформацияОПоездах)
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
ТабДок = ЭлементыФормы.ПолеТабличногоДокумента;
ИнформацияОПоездах(ТабДок, ДатаКонца, ДатаНачала);
//}}КОНСТРУКТОР_ВЫХОДНЫХ_ФОРМ_ПРОЦЕДУРА_ВЫЗОВА
КонецПроцедуры
Процедура ИнформацияОПоездах(ТабДок, ДатаКонца, ДатаНачала) Экспорт
//{{КОНСТРУКТОР_ВЫХОДНЫХ_ФОРМ(ИнформацияОПоездах)
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
Макет = ОтчетОбъект.ПолучитьМакет("ИнформацияОПоездах");
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ИнформацияОПоездах.Период,
| ИнформацияОПоездах.Поезд,
| ИнформацияОПоездах.СтанцияОтправления,
| ИнформацияОПоездах.СтанцияПрибытия,
| ИнформацияОПоездах.ДатаОтправления,
| ИнформацияОПоездах.ДатаПрибытия
|ИЗ
| Регистр Сведений.ИнформацияОПоездах КАК Информация О Поездах
|ГДЕ
| ИнформацияОПоездах.Период МЕЖДУ &ДатаНачала И &ДатаКонца";
Запрос.УстановитьПараметр("ДатаКонца", ДатаКонца);
Запрос.УстановитьПараметр("ДатаНачала", ДатаНачала);
Результат = Запрос.Выполнить();
ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");
ОбластьПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы");
ОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("Детали");
ТабДок.Очистить();
ТабДок.Вывести(ОбластьЗаголовок);
ТабДок.Вывести(ОбластьШапкаТаблицы);
ТабДок.НачатьАвтогруппировкуСтрок();
ВыборкаДетали = Результат.Выбрать();
Пока ВыборкаДетали.Следующий() Цикл
ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетали);
ТабДок.Вывести(ОбластьДетальныхЗаписей, ВыборкаДетали.Уровень());
КонецЦикла;
ТабДок.ЗакончитьАвтогруппировкуСтрок();
ТабДок.Вывести(ОбластьПодвалТаблицы);
ТабДок.Вывести(ОбластьПодвал);
//}}КОНСТРУКТОР_ВЫХОДНЫХ_ФОРМ
Конец Процедуры
3) Расписание поездов
Диалог:
Печатная форма:
Модуль:
Процедура Действия Формы Расписание Поездов Сформировать(Кнопка)
//{{КОНСТРУКТОР_ВЫХОДНЫХ_ФОРМ_ПРОЦЕДУРА_ВЫЗОВА(Расписание Поездов)
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
ТабДок = Элементы Формы. Поле Табличного Документа;
Расписание Поездов (ТабДок);
//}}КОНСТРУКТОР_ВЫХОДНЫХ_ФОРМ_ПРОЦЕДУРА_ВЫЗОВА
Конец Процедуры
Процедура Расписание Поездов(ТабДок) Экспорт
//{{КОНСТРУКТОР_ВЫХОДНЫХ_ФОРМ(Расписание Поездов)
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
Макет = Отчет Объект. Получить Макет ("Расписание Поездов ");
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| РасписаниеПоездов.НомерПоезда,
| РасписаниеПоездов.НазваниеПоезда,
| ПРЕДСТАВЛЕНИЕ(РасписаниеПоездов.НазваниеПоезда),
| РасписаниеПоездов.СтанцияОтправления,
| РасписаниеПоездов.СтанцияПрибытия,
| РасписаниеПоездов.ДатаОтправления,
| РасписаниеПоездов.ДатаПрибытия
|ИЗ
| Документ.РасписаниеПоездов КАК РасписаниеПоездов";
Результат = Запрос.Выполнить();
ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");
ОбластьПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы");
ОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("Детали");
ТабДок.Очистить();
ТабДок.Вывести(ОбластьЗаголовок);
ТабДок.Вывести(ОбластьШапкаТаблицы);
ТабДок.НачатьАвтогруппировкуСтрок();
ВыборкаДетали = Результат.Выбрать();
Пока ВыборкаДетали.Следующий() Цикл
ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетали);
ТабДок.Вывести(ОбластьДетальныхЗаписей, ВыборкаДетали.Уровень());
КонецЦикла;
ТабДок.ЗакончитьАвтогруппировкуСтрок();
ТабДок.Вывести(ОбластьПодвалТаблицы);
ТабДок.Вывести(ОбластьПодвал);
//}}КОНСТРУКТОР_ВЫХОДНЫХ_ФОРМ
КонецПроцедуры
4) Проданные билеты
Диалог:
Печатная форма:
Модуль:
Процедура ДействияФормыПроданныеБилетыСформировать(Кнопка)
//{{КОНСТРУКТОР_ВЫХОДНЫХ_ФОРМ_ПРОЦЕДУРА_ВЫЗОВА(ПроданныеБилеты)
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
ТабДок = ЭлементыФормы.ПолеТабличногоДокумента;
ПроданныеБилеты(ТабДок, ДатаКонца, ДатаНачала);
//}}КОНСТРУКТОР_ВЫХОДНЫХ_ФОРМ_ПРОЦЕДУРА_ВЫЗОВА
КонецПроцедуры
Процедура ПроданныеБилеты(ТабДок, ДатаКонца, ДатаНачала) Экспорт
//{{КОНСТРУКТОР_ВЫХОДНЫХ_ФОРМ(ПроданныеБилеты)
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
Макет = ОтчетОбъект.ПолучитьМакет("ПроданныеБилеты");
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ПроданныеБилеты.Период,
| ПроданныеБилеты.Пассажир,
| ПроданныеБилеты.НомерБилета
|ИЗ
| РегистрНакопления.ПроданныеБилеты КАК ПроданныеБилеты
|ГДЕ
| ПроданныеБилеты.Период МЕЖДУ &ДатаНачала И &ДатаКонца";
Запрос.УстановитьПараметр("ДатаКонца", ДатаКонца);
Запрос.УстановитьПараметр("ДатаНачала", ДатаНачала);
Результат = Запрос.Выполнить();
ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");
ОбластьПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы");
ОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("Детали");
ТабДок.Очистить();
ТабДок.Вывести(ОбластьЗаголовок);
ТабДок.Вывести(ОбластьШапкаТаблицы);
ТабДок.НачатьАвтогруппировкуСтрок();
ВыборкаДетали = Результат.Выбрать();
Пока ВыборкаДетали.Следующий() Цикл
ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетали);
ТабДок.Вывести(ОбластьДетальныхЗаписей, ВыборкаДетали.Уровень());
КонецЦикла;
ТабДок.ЗакончитьАвтогруппировкуСтрок();
ТабДок.Вывести(ОбластьПодвалТаблицы);
ТабДок.Вывести(ОбластьПодвал);
//}}КОНСТРУКТОР_ВЫХОДНЫХ_ФОРМ
КонецПроцедуры
5) Билет
Диалог:
Печатная форма:
Модуль:
Процедура ДействияФормыБилетСформировать(Кнопка)
//{{КОНСТРУКТОР_ВЫХОДНЫХ_ФОРМ_ПРОЦЕДУРА_ВЫЗОВА(Билет)
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
ТабДок = ЭлементыФормы.ПолеТабличногоДокумента;
Билет(ТабДок, ФИО);
//}}КОНСТРУКТОР_ВЫХОДНЫХ_ФОРМ_ПРОЦЕДУРА_ВЫЗОВА
КонецПроцедуры
Процедура Билет(ТабДок, ФИО) Экспорт
//{{КОНСТРУКТОР_ВЫХОДНЫХ_ФОРМ(Билет)
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
Макет = ОтчетОбъект.ПолучитьМакет("Билет");
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Билет.ФИО,
| ПРЕДСТАВЛЕНИЕ(Билет.ФИО),
| Билет.НомерБилета,
| Билет.Документ,
| ПРЕДСТАВЛЕНИЕ(Билет.Документ),
| Билет.Поезд,
| ПРЕДСТАВЛЕНИЕ(Билет.Поезд),
| Билет.СтанцияОтправления,
| Билет.СтанцияПрибытия,
| Билет.ДатаОтправления,
| Билет.ДатаПрибытия,
| Билет.Вагон.(
| НомерСтроки,
| ТипВагона,
| НомерВагона
| ),
| Билет.Место.(
| НомерМеста,
| Цена,
| НДС,
| Сумма
| ),
| Билет.СуммаДокумента КАК СуммаДокумента
|ИЗ
| Документ.Билет КАК Билет
|ГДЕ
| Билет.ФИО = &ФИО";
Запрос.УстановитьПараметр("ФИО", ФИО);
Результат = Запрос.Выполнить();
ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");
ОбластьПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы");
ОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("Детали");
Вагон Область Шапка Таблицы = Макет. Получить Область ("Вагон Шапка Таблицы");
Вагон Область Подвал Таблицы = Макет. Получить Область("Вагон Подвал Таблицы");
Вагон Область Детальных Записей = Макет. Получить Область("Вагон Детали");
Место Область Шапка Таблицы = Макет. Получить Область("Место Шапка Таблицы");
Место Область Подвал Таблицы = Макет. Получить Область("Место Подвал Таблицы");
Место Область Детальных Записей = Макет. Получить Область("Место Детали");
ТабДок.Очистить();
ТабДок.Вывести(ОбластьЗаголовок);
ТабДок.Вывести(ОбластьШапкаТаблицы);
ТабДок.НачатьАвтогруппировкуСтрок();
ВыборкаДетали = Результат.Выбрать();
Пока ВыборкаДетали.Следующий() Цикл
ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетали);
ТабДок.Вывести(ОбластьДетальныхЗаписей, ВыборкаДетали.Уровень());
ТабДок.НачатьГруппуСтрок();
ТабДок.Вывести(ВагонОбластьШапкаТаблицы);
ТабДок.НачатьАвтогруппировкуСтрок();
ВагонВыборкаДетали = ВыборкаДетали.Вагон.Выбрать();
Пока ВагонВыборкаДетали.Следующий() Цикл
ВагонОбластьДетальныхЗаписей.Параметры.Заполнить(ВагонВыборкаДетали);
ТабДок.Вывести(ВагонОбластьДетальныхЗаписей, ВагонВыборкаДетали.Уровень());
КонецЦикла;
ТабДок.ЗакончитьАвтогруппировкуСтрок();
ТабДок.Вывести(ВагонОбластьПодвалТаблицы);
ТабДок.Вывести(МестоОбластьШапкаТаблицы);
ТабДок.НачатьАвтогруппировкуСтрок();
МестоВыборкаДетали = ВыборкаДетали.Место.Выбрать();
Пока МестоВыборкаДетали.Следующий() Цикл
МестоОбластьДетальныхЗаписей.Параметры.Заполнить(МестоВыборкаДетали);
ТабДок.Вывести(МестоОбластьДетальныхЗаписей, МестоВыборкаДетали.Уровень());
КонецЦикла;
ТабДок.ЗакончитьАвтогруппировкуСтрок();
ТабДок.Вывести(МестоОбластьПодвалТаблицы);
ТабДок.ЗакончитьГруппуСтрок();
КонецЦикла;
ТабДок.ЗакончитьАвтогруппировкуСтрок();
ТабДок.Вывести(ОбластьПодвалТаблицы);
ТабДок.Вывести(ОбластьПодвал);
//}}КОНСТРУКТОР_ВЫХОДНЫХ_ФОРМ
КонецПроцедуры
6) Движение наличности за период
Диалог:
Печатная форма:
Модуль:
Процедура ДействияФормыДвижениеНаличностиЗаПериодСформировать(Кнопка)
//{{КОНСТРУКТОР_ВЫХОДНЫХ_ФОРМ_ПРОЦЕДУРА_ВЫЗОВА(ДвижениеНаличностиЗаПериод)
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
ТабДок = ЭлементыФормы.ПолеТабличногоДокумента;
ДвижениеНаличностиЗаПериод(ТабДок, ДатаКонца, ДатаНачала);
//}}КОНСТРУКТОР_ВЫХОДНЫХ_ФОРМ_ПРОЦЕДУРА_ВЫЗОВА
КонецПроцедуры
Процедура ДвижениеНаличностиЗаПериод(ТабДок, ДатаКонца, ДатаНачала) Экспорт
//{{КОНСТРУКТОР_ВЫХОДНЫХ_ФОРМ(ДвижениеНаличностиЗаПериод)
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
Макет = Отчет Объект. Получить Макет("Движение Наличности За Период");
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Касса.Период,
| Касса.Сумма КАК Сумма,
| Касса.Пассажир КАК Пассажир,
| Касса.Регистратор,
| ПРЕДСТАВЛЕНИЕ(Касса.Регистратор)
|ИЗ
| РегистрНакопления.Касса КАК Касса
|ГДЕ
|ИТОГИ
| СУММА(Сумма)
|ПО
| ОБЩИЕ";
Запрос.УстановитьПараметр("ДатаКонца", ДатаКонца);
Запрос.УстановитьПараметр("ДатаНачала", ДатаНачала);
Результат = Запрос.Выполнить();
ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");
ОбластьПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы");
ОбластьОбщийИтог = Макет.ПолучитьОбласть("ОбщиеИтоги");
ОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("Детали");
ТабДок.Очистить();
ТабДок.Вывести(ОбластьЗаголовок);
ТабДок.Вывести(ОбластьШапкаТаблицы);
ТабДок.НачатьАвтогруппировкуСтрок();
Выборка Общий Итог = Результат. Выбрать(Обход Результата Запроса. По Группировкам);
ВыборкаОбщийИтог.Следующий(); // Общий итог
ОбластьОбщийИтог.Параметры.Заполнить(ВыборкаОбщийИтог);
ТабДок.Вывести(ОбластьОбщийИтог, ВыборкаОбщийИтог.Уровень());
ВыборкаДетали = ВыборкаОбщийИтог.Выбрать();
Пока ВыборкаДетали.Следующий() Цикл
ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетали);
ТабДок.Вывести(ОбластьДетальныхЗаписей, ВыборкаДетали.Уровень());
КонецЦикла;
ТабДок.ЗакончитьАвтогруппировкуСтрок();
ТабДок.Вывести(ОбластьПодвалТаблицы);
ТабДок.Вывести(ОбластьПодвал);
//}}КОНСТРУКТОР_ВЫХОДНЫХ_ФОРМ
КонецПроцедуры
2.7 Администрирование
В программе были созданы три пользователя с различными правами и интерфейсами:
1) Администратор. Этому пользователю предоставляются полные администраторские права.
Интерфейс:
2) Бухгалтер. Этому пользователю предоставляются права выполнять все возможные действия, помимо административных, в подсистеме «Бухгалтерия».
Интерфейс:
3) Кассир. Этому пользователю предоставляются права выполнять все возможные действия, помимо административных, в подсистеме «Кассир».
Интерфейс:
Заключение
Работа была выполнена в среде 1С:Предприятие 8.0. В результате данной работы была создана автоматизированная информационно-справочная система, которая полностью решает поставленную задачу и удовлетворяет всем поставленным требованиям.
Типовая конфигурация 1С Предприятие 8.0 реализует наиболее общие схемы учета и может использоваться в большинстве организаций. Для отражения специфики учета конкретного предприятия типовую конфигурацию можно изменить в соответствии с требованиями учета.
Разнообразные возможности системы позволяют использовать ее как средство полной автоматизации учета от ввода первичных документов до формирования отчетности.
1С Предприятие 8.0 позволяет вести торговый учет, производственный учет, учет в сфере оказания услуг, налоговый учет и т.д., а также несложный расчет заработной платы. 1С Предприятие 8.0 включает набор форм бухгалтерской и налоговой отчетности. Разнообразные возможности системы позволяют использовать ее как средство полной автоматизации учета от ввода первичных документов до формирования отчетности.
Гибкость платформы позволяет применять «1С:Предприятие 8.0» в самых разнообразных областях:
автоматизация производственных и торговых предприятий, бюджетных и финансовых организаций, предприятий сферы обслуживания и т.д.;
поддержка оперативного управления предприятием;
автоматизация организационной и хозяйственной деятельности;
ведение бухгалтерского учета с несколькими планами счетов и произвольными измерениями учета, регламентированная отчетность;
широкие возможности для управленческого учета и построения аналитической отчетности, поддержка многовалютного учета;
решение задач планирования, бюджетирования и финансового анализа;
другие области примене
0 комментариев