Ссылка
|
ЦенаВида (за 1 занятие)
|
Модуль объекта
Процедура СформироватьОтчетПоПосещаемости(ТабДок) Экспорт
Макет = ПолучитьМакет("Посещаемость");
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ПосещаемостьОстаткиИОбороты.Клиент.Представление,
| ПосещаемостьОстаткиИОбороты.ОсталосьЗанятийПриход,
| ПосещаемостьОстаткиИОбороты.ОсталосьЗанятийРасход,
|ПосещаемостьОстаткиИОбороты.ОсталосьЗанятийКонечныйОстаток
|ИЗ
| РегистрНакопления.Посещаемость.ОстаткиИОбороты КАК
ПосещаемостьОстаткиИОбороты";
Результат = Запрос.Выполнить();
ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");
ОбластьПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы");
ОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("Детали");
ТабДок.Очистить();
ТабДок.Вывести(ОбластьЗаголовок);
ТабДок.Вывести(ОбластьШапкаТаблицы);
ТабДок.НачатьАвтогруппировкуСтрок();
ВыборкаДетали = Результат.Выбрать();
Пока ВыборкаДетали.Следующий() Цикл
ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетали);
ТабДок.Вывести(ОбластьДетальныхЗаписей, ВыборкаДетали.Уровень());
КонецЦикла;
ТабДок.ЗакончитьАвтогруппировкуСтрок();
ТабДок.Вывести(ОбластьПодвалТаблицы);
ТабДок.Вывести(ОбластьПодвал);
КонецПроцедуры
Процедура СформироватьОтчетПоЗарплате (ТабДок) Экспорт
Макет = ПолучитьМакет("Начисления");
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Начисления.Мастер.Представление КАК Мастер,
| ПРЕДСТАВЛЕНИЕ(Начисления.ВидРасчета) КАК ВидРасчета,
| Начисления.ПериодДействияНачало КАК Начало,
| Начисления.ПериодДействияКонец КАК Конец,
| Начисления.Регистратор.Представление КАК Регистратор,
| Начисления.Результат КАК Результат
|ИЗ
| РегистрРасчета.Начисления КАК Начисления
|ИТОГИ
| СУММА(Результат)
|ПО
| ОБЩИЕ,
| Мастер КАК Мастер
|АВТОУПОРЯДОЧИВАНИЕ";
Результат = Запрос.Выполнить();
ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");
ОбластьПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы");
ОбластьОбщийИтог = Макет.ПолучитьОбласть("ОбщиеИтоги");
ОбластьМастер = Макет.ПолучитьОбласть("Мастер");
ОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("Детали");
ТабДок.Очистить();
ТабДок.Вывести(ОбластьЗаголовок);
ТабДок.Вывести(ОбластьШапкаТаблицы);
ТабДок.НачатьАвтогруппировкуСтрок();
ВыборкаОбщийИтог =
Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
ВыборкаОбщийИтог.Следующий(); // Общий итог
ОбластьОбщийИтог.Параметры.Заполнить(ВыборкаОбщийИтог);
ТабДок.Вывести(ОбластьОбщийИтог, ВыборкаОбщийИтог.Уровень());
ВыборкаТренер =
ВыборкаОбщийИтог.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Пока ВыборкаМастер.Следующий() Цикл
ОбластьМастер.Параметры.Заполнить(ВыборкаМастер);
ТабДок.Вывести(ОбластьМастер, ВыборкаМастер.Уровень());
ВыборкаДетали = ВыборкаМастер.Выбрать();
Пока ВыборкаДетали.Следующий() Цикл
ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетали);
ТабДок.Вывести(ОбластьДетальныхЗаписей, ВыборкаДетали.Уровень());
КонецЦикла;
КонецЦикла;
ТабДок.ЗакончитьАвтогруппировкуСтрок();
ТабДок.Вывести(ОбластьПодвалТаблицы);
ТабДок.Вывести(ОбластьПодвал);
КонецПроцедуры
Процедура СформироватьУслуги(ТабДок) Экспорт
Макет = ПолучитьМакет("Услуги");
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ПРЕДСТАВЛЕНИЕ(ОформлениеАбонемента.Клиент),
| ПРЕДСТАВЛЕНИЕ(ОформлениеАбонемента.Мастер),
| ОформлениеАбонемента.Покупка.(
| ТипАбонемента.Представление,
| ВидУслуги.Представление
| )
|ИЗ
| Документ.ОформлениеАбонемента КАК ОформлениеАбонемента";
Результат = Запрос.Выполнить();
ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");
ОбластьПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы");
ОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("Детали");
ПокупкаОбластьШапкаТаблицы =
Макет.ПолучитьОбласть("ПокупкаШапкаТаблицы");
ПокупкаОбластьПодвалТаблицы =
Макет.ПолучитьОбласть("ПокупкаПодвалТаблицы");
ПокупкаОбластьДетальныхЗаписей =
Макет.ПолучитьОбласть("ПокупкаДетали");
ТабДок.Очистить();
ТабДок.Вывести(ОбластьЗаголовок);
ТабДок.Вывести(ОбластьШапкаТаблицы);
ТабДок.НачатьАвтогруппировкуСтрок();
ВыборкаДетали = Результат.Выбрать();
Пока ВыборкаДетали.Следующий() Цикл
ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетали);
ТабДок.Вывести(ОбластьДетальныхЗаписей, ВыборкаДетали.Уровень());
ТабДок.НачатьГруппуСтрок();
ТабДок.Вывести(ПокупкаОбластьШапкаТаблицы);
ТабДок.НачатьАвтогруппировкуСтрок();
ПокупкаВыборкаДетали = ВыборкаДетали.Покупка.Выбрать();
Пока ПокупкаВыборкаДетали.Следующий() Цикл
ПокупкаОбластьДетальныхЗаписей.Параметры.Заполнить(ПокупкаВыборкаДетали);
ТабДок.Вывести(ПокупкаОбластьДетальныхЗаписей,
ПокупкаВыборкаДетали.Уровень());
КонецЦикла;
ТабДок.ЗакончитьАвтогруппировкуСтрок();
ТабДок.Вывести(ПокупкаОбластьПодвалТаблицы);
ТабДок.ЗакончитьГруппуСтрок();
КонецЦикла;
ТабДок.ЗакончитьАвтогруппировкуСтрок();
ТабДок.Вывести(ОбластьПодвалТаблицы);
ТабДок.Вывести(ОбластьПодвал);
КонецПроцедуры
Процедура ОборотноСальдоваяВедомостьСформировать (ТабДок) Экспорт
Макет = ПолучитьМакет("ОборотноСальдоваяВедомость");
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Основной.Код КАК Код,
| Основной.Наименование,
|БухгалтерияОстаткиИОбороты.СуммаНачальныйРазвернутыйОстатокДт КАК
СальдоНачДт,
|БухгалтерияОстаткиИОбороты.СуммаНачальныйРазвернутыйОстатокКт КАК
СальдоНачКт,
| БухгалтерияОстаткиИОбороты.СуммаОборотДт КАК ОборотДт,
| БухгалтерияОстаткиИОбороты.СуммаОборотКт КАК ОборотКт,
|БухгалтерияОстаткиИОбороты.СуммаКонечныйРазвернутыйОстатокДт КАК
СальдоКонДт,
|БухгалтерияОстаткиИОбороты.СуммаКонечныйРазвернутыйОстатокКт КАК
СальдоКонКт
|ИЗ
| ПланСчетов.Основной КАК Основной
| ЛЕВОЕ СОЕДИНЕНИЕ
РегистрБухгалтерии.Бухгалтерия.ОстаткиИОбороты КАК БухгалтерияОстаткиИОбороты
| ПО БухгалтерияОстаткиИОбороты.Счет = Основной.Ссылка
|
|УПОРЯДОЧИТЬ ПО
| Код
|ИТОГИ
| СУММА(СальдоНачДт),
| СУММА(СальдоНачКт),
| СУММА(ОборотДт),
| СУММА(ОборотКт),
| СУММА(СальдоКонДт),
| СУММА(СальдоКонКт)
|ПО
| ОБЩИЕ";
Результат = Запрос.Выполнить();
ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");
ОбластьПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы");
ОбластьОбщийИтог = Макет.ПолучитьОбласть("ОбщиеИтоги");
ОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("Детали");
ТабДок.Очистить();
ТабДок.Вывести(ОбластьЗаголовок);
ТабДок.Вывести(ОбластьШапкаТаблицы);
ТабДок.НачатьАвтогруппировкуСтрок();
ВыборкаОбщийИтог =
Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
ВыборкаОбщийИтог.Следующий(); // Общий итог
ОбластьОбщийИтог.Параметры.Заполнить(ВыборкаОбщийИтог);
ТабДок.Вывести(ОбластьОбщийИтог, ВыборкаОбщийИтог.Уровень());
ВыборкаДетали = ВыборкаОбщийИтог.Выбрать();
Пока ВыборкаДетали.Следующий() Цикл
ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетали);
ТабДок.Вывести(ОбластьДетальныхЗаписей, ВыборкаДетали.Уровень());
КонецЦикла;
ТабДок.ЗакончитьАвтогруппировкуСтрок();
ТабДок.Вывести(ОбластьПодвалТаблицы);
ТабДок.Вывести(ОбластьПодвал);
КонецПроцедуры
Процедура Косметика(ТабДок) Экспорт
Макет = ПолучитьМакет("Косметика");
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| КосметикаОстаткиИОбороты.Косметика,
| ПРЕДСТАВЛЕНИЕ(КосметикаОстаткиИОбороты.Косметика),
| КосметикаОстаткиИОбороты.КоличествоНачальныйОстаток КАК
КоличествоНачальныйОстаток,
| КосметикаОстаткиИОбороты.КоличествоПриход,
| КосметикаОстаткиИОбороты.КоличествоРасход,
| КосметикаОстаткиИОбороты.КоличествоКонечныйОстаток
|ИЗ
| РегистрНакопления.Косметика.ОстаткиИОбороты КАК
КосметикаОстаткиИОбороты
|
|УПОРЯДОЧИТЬ ПО
| КоличествоНачальныйОстаток";
Результат = Запрос.Выполнить();
ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");
ОбластьПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы");
ОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("Детали");
ТабДок.Очистить();
ТабДок.Вывести(ОбластьЗаголовок);
ТабДок.Вывести(ОбластьШапкаТаблицы);
ТабДок.НачатьАвтогруппировкуСтрок();
ВыборкаДетали = Результат.Выбрать();
Пока ВыборкаДетали.Следующий() Цикл
ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетали);
ТабДок.Вывести(ОбластьДетальныхЗаписей, ВыборкаДетали.Уровень());
КонецЦикла;
ТабДок.ЗакончитьАвтогруппировкуСтрок();
ТабДок.Вывести(ОбластьПодвалТаблицы);
ТабДок.Вывести(ОбластьПодвал);
КонецПроцедуры
Процедура СформироватьВидыУслуг (ТабДок)Экспорт
Макет = ПолучитьМакет("ВидыУслуг");
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ВидыУслуг.Ссылка,
| ВидыУслуг.Представление,
| ЦеныВидыУслугСрезПоследних.ЦенаВида
|ИЗ
| РегистрСведений.ЦеныВидыУслуг.СрезПоследних КАК
ЦеныВидыУслугСрезПоследних
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВидыУслуг КАК ВидыУслуг
| ПО ЦеныВидыУслугСрезПоследних.ВидУслуги =
ВидыУслуг.Ссылка";
Результат = Запрос.Выполнить();
ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");
ОбластьПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы");
ОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("Детали");
ТабДок.Очистить();
ТабДок.Вывести(ОбластьЗаголовок);
ТабДок.Вывести(ОбластьШапкаТаблицы);
ТабДок.НачатьАвтогруппировкуСтрок();
ВыборкаДетали = Результат.Выбрать();
Пока ВыборкаДетали.Следующий() Цикл
ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетали);
ТабДок.Вывести(ОбластьДетальныхЗаписей, ВыборкаДетали.Уровень());
КонецЦикла;
ТабДок.ЗакончитьАвтогруппировкуСтрок();
ТабДок.Вывести(ОбластьПодвалТаблицы);
ТабДок.Вывести(ОбластьПодвал);
КонецПроцедуры
Модуль формы
Процедура ПриОткрытии()
НачПериод = ТекущаяДата() - 604800;
КонПериод = ТекущаяДата();
ЭлементыФормы.Диаграмма.Видимость=Ложь;
ЭлементыФормы.ДиаграммаГанта.Видимость=Ложь;
КонецПроцедуры
Процедура Кнопка1Нажатие(Элемент)
ЭлементыФормы.ПолеТабличногоДокумента1.Очистить();
ЭлементыФормы.Диаграмма.Видимость=Ложь;
ЭлементыФормы.ДиаграммаГанта.Видимость=Ложь;
СформироватьОтчетПоПосещаемости(ЭлементыФормы.ПолеТабличногоДокумента1);
ЭлементыФормы.ПолеТабличногоДокумента1.ТолькоПросмотр = Истина;
КонецПроцедуры
Процедура Кнопка2Нажатие(Элемент)
ЭлементыФормы.ПолеТабличногоДокумента1.Очистить();
ЭлементыФормы.Диаграмма.Видимость=Ложь;
ЭлементыФормы.ДиаграммаГанта.Видимость=Ложь;
Косметика(ЭлементыФормы.ПолеТабличногоДокумента1);
ЭлементыФормы.ПолеТабличногоДокумента1.ТолькоПросмотр = Истина;
КонецПроцедуры
Процедура Кнопка3Нажатие(Элемент)
ЭлементыФормы.ПолеТабличногоДокумента1.Очистить();
ЭлементыФормы.Диаграмма.Видимость=Ложь;
ЭлементыФормы.ДиаграммаГанта.Видимость=Ложь;
СформироватьОтчетПоЗарплате (ЭлементыФормы.ПолеТабличногоДокумента1);
ЭлементыФормы.ПолеТабличногоДокумента1.ТолькоПросмотр=Истина;
КонецПроцедуры
Процедура Кнопка4Нажатие(Элемент)
ЭлементыФормы.ПолеТабличногоДокумента1.Очистить();
ЭлементыФормы.Диаграмма.Видимость =Истина;
ЭлементыФормы.ДиаграммаГанта.Видимость=Ложь;
Запрос = Новый Запрос;
Запрос.Текст=
"ВЫБРАТЬ
| ПосещаемостьОбороты.Клиент.Представление КАК Клиент,
| ПосещаемостьОбороты.ОсталосьЗанятийРасход КАК Посещаемость
|ИЗ
| РегистрНакопления.Посещаемость.Обороты КАК ПосещаемостьОбороты
|
|УПОРЯДОЧИТЬ ПО
| Посещаемость УБЫВ";
ЭлементыФормы.Диаграмма.ИсточникДанных=Запрос.Выполнить().Выгрузить();
ПолеВыбора=ТипДиаграммы.ГистограммаОбъемная;
КонецПроцедуры
Процедура Кнопка5Нажатие(Элемент)
ЭлементыФормы.ПолеТабличногоДокумента1.Очистить();
ЭлементыФормы.Диаграмма.Видимость=Ложь;
ЭлементыФормы.ДиаграммаГанта.Видимость=Ложь;
СформироватьУслуги(ЭлементыФормы.ПолеТабличногоДокумента1);
ЭлементыФормы.ПолеТабличногоДокумента1.ТолькоПросмотр = Истина;
КонецПроцедуры
Процедура Кнопка6Нажатие(Элемент)
ЭлементыФормы.ПолеТабличногоДокумента1.Очистить();
ЭлементыФормы.Диаграмма.Видимость=Ложь;
ЭлементыФормы.ДиаграммаГанта.Видимость=Ложь;
ОборотноСальдоваяВедомостьСформировать
(ЭлементыФормы.ПолеТабличногоДокумента1);
ЭлементыФормы.ПолеТабличногоДокумента1.ТолькоПросмотр=Истина;
КонецПроцедуры
Процедура ПереченьНажатие(Элемент)
ЭлементыФормы.ПолеТабличногоДокумента1.Очистить();
ЭлементыФормы.Диаграмма.Видимость=Ложь;
ЭлементыФормы.ДиаграммаГанта.Видимость=Ложь;
СформироватьВидыУслуг(ЭлементыФормы.ПолеТабличногоДокумента1);
ЭлементыФормы.ПолеТабличногоДокумента1.ТолькоПросмотр=Истина;
КонецПроцедуры
Отчеты
Список
литературы
1. Радченко
М.Г. 1С:Предприятие 8.1 Практическое пособие разработчика. Электронное издание.
. Севостьянов
А.Д., Володина Е.В., Севостьянова Ю.М. 1С:Бухгалтерия 8.0 Практика применения
. Габец
А.П., Гончаров Д.И., Козырев Д.В., Кухлевский Д.С., Радченко М.Г.
Профессиональная разработка в системе 1С: Предприятие 8
. Габец
А.П., Гончаров Д.И. Профессиональная разработка в системе 1С: Предприятие 8.0
Простые примеры разработки
Приложение 1
Блок схема модуля документа "Посещение"
Приложение 2
Блок схема модуля документа "ПокупкаКосметики"
Приложение 3
Блок схема модуля документа "Зарплата"
Приложение 4
Блок схема процедуры общего модуля ОбщегоНазначения
"РасчитатьНачисления", связанного с документом "Зарплата"
Приложение 5
Блок схема модуля объекта обработки "Работа", для отчета
"Посещаемость"
Приложение 6
Блок схема модуля объекта обработки "Работа", для отчета
"Начисления"
Приложение 7
Схема связи созданных объектов