- •«Московский городской педагогический университет» Факультет прикладной информатики Кафедра прикладной информатики в управлении
- •Организационно-методические указания по подготовке и проведению занятия Рекомендации по подготовке к занятию
- •План работы
- •I. Основная часть
- •3.1. Общие сведения о системе 1с:Предприятие 8.1. Порядок создания информационной базы с пустой конфигурацией
- •3.2. Порядок работы с деревом конфигурации
- •3.3. Порядок работы с объектом конфигурации Справочник
- •3.3.1. Создание справочника "Клиенты"
- •3.3.2. Создание справочника "Сотрудники"
- •3.3.3. Создание справочника "Номенклатура"
- •3.3.4. Создание справочника "Склады"
- •3.4. Порядок работы с объектом конфигурации Документ
- •3.4.1. Создание документа " ПриходнаяНакладная "
- •3.4.2. Создание собственной формы документа "ПриходнаяНакладная"
- •3.4.3. Создание процедуры обработки события в модуле формы документа "ПриходнаяНакладная"
- •3.4.4. Создание документа "ОказаниеУслуги"
- •3.5. Порядок работы с объектом конфигурации Регистр накопления
- •3.5.1. Создание регистра накопления "Остатки Материалов"
- •3.5.2. Создание движений документа "ПриходнаяНакладная"
- •3.5.3. Создание движений документа "ОказаниеУслуги"
- •3.6. Порядок работы с объектом конфигурации Отчет
- •3.7. Порядок работы с объектом конфигурации Макет
- •3.7.1. Создание макета документа "Оказание услуги"
- •3.7.2. Редактирование макета документа "Оказание услуги"
- •3.7.3. Редактирование формы документа "Оказание услуги"
- •3.8. Порядок работы с объектом конфигурации Регистр сведений
- •3.8.1. Создание периодического регистра сведений Цены
- •3.8.2. Создание функции РозничнаяЦена()
- •3.8.3. Автоматическое заполнение цены в документе ОказаниеУслуги
- •3.9. Порядок работы с объектом конфигурации Перечисление
- •3.9.1. Реорганизация справочника "Номенклатура"
- •3.9.1. Изменение процедуры проведения документа "Оказание услуги"
- •3.10. Порядок проведения документа по нескольким регистрам
- •3.10.1. Создание регистра "Стоимость материалов"
- •3.10.2. Изменение процедуры проведения документа "ПриходнаяНакладная"
- •3.10.3. Изменение процедуры проведения документа "ОказаниеУслуги"
- •3.11. Порядок работы с объектом конфигурации Оборотный регистр накопления
- •3.11.1. Создание оборотного регистра накопления "Продажи"
- •3.11.2. Изменение процедуры проведения документа "Оказание услуги"
- •3.12. Порядок работы с объектом встроенного языка Запрос
- •3.12.1. Создание отчета "Реестр документов Оказание услуги"
- •3.12.2. Создание отчета "Рейтинг услуг"
- •3.12.3. Создание отчета "Выручка мастеров"
- •3.12.4. Создание отчета "Перечень услуг"
- •3.12.5. Создание отчета "Рейтинг клиентов"
- •3.12.6. Создание отчета "Универсальный"
- •3.12.7. Создание отчета "Универсальный 2"
- •3.13. Оптимизация документа "ОказаниеУслуги"
- •3.14. Порядок работы с объектом конфигурации План видов характеристик
- •3.14.1. Создание новых объектов конфигурации
- •3.14.2. Доработка справочника Номенклатура
- •3.14.3. Доработка справочника Варианты номенклатуры
- •3.14.4. Доработка регистра накопления ОстаткиМатериалов
- •3.14.5. Доработка документа ПриходнаяНакладная
- •3.14.6. Создание наборов свойств в справочнике Номенклатура
- •3.14.7. Создание отчета "Остатки материалов по свойствам"
- •3.15. Порядок организации и ведения бухгалтерского учета
- •3.15.1. Создание объекта конфигурации План видов характеристик ВидыСубконто
- •3.15.2. Порядок работы с объектом конфигурации План счетов
- •3.15.3. Порядок работы с объектом конфигурации Регистр бухгалтерии
- •3.15.4. Изменение движений документа ПриходнаяНакладная
- •3.15.5. Изменение движений документа ОказаниеУслуги
- •3.15.6. Создание отчета Оборотно-сальдовая ведомость
- •3.16. Порядок расчета заработной платы
- •3.16.1. Создание плана видов расчета ОсновныеНачисления
- •3.16.2. Порядок работы с объектом конфигурации Регистр расчета
- •3.16.3. Создание регистра расчета Начисления
- •3.16.4. Создание документа НачисленияСотрудникам
- •3.16.5. Создание отчета Перерасчет
- •3.16.6. Создание процедуры расчета записей регистра Начисления
- •3.16.7. Создание отчета Начисления сотрудникам
- •3.16.8. Выполнение перерасчета записей регистра расчета
- •3.16.9. Графическое представление начислений с помощью диаграммы Ганта
- •3.16.10. Создание отчета Диаграмма начислений
- •3.17. Создание документа ввода начальных остатков
- •3.18. Порядок работы с объектом конфигурации Подсистема
- •3.18.1. Создание подсистем Бухгалтерия, РасчетЗарплаты, УчетМатериаловИУслуг
- •3.19. Порядок работы с объектами конфигурации роль и интерфейс
- •3.19.1. Создание ролей
- •3.19.2. Создание интерфейсов
- •3.19.3. Администрирование работы пользователей
- •4. Практическая часть
- •4.1. Порядок проведения работы
- •4.2. Содержание отчета
- •4.3. Зачет по лабораторной работе
- •II. Перечень заданий для выполнения работы
3.16.7. Создание отчета Начисления сотрудникам
Создайте в конфигураторе новый объект конфигурации Отчет. Назовите его НачисленияСотрудникам и запустите конструктор основной схемы компоновки данных.
Добавьте Новый набор данных – запрос (НаборДанных1) и нажмите кнопку "Конструктор запроса". Выберите таблицу регистра расчета Начисления (рис. 262).
Рис. 262. Состав полей таблицы Начисления
Из нее выберите следующие поля: Сотрудник, ВидРасчета, ПериодДействияНачало, ПериодДействияКонец, Регистратор и Результат (рис. 263).
Рис. 263. Выбранные поля
На закладке Объединения/Псевдонимы определите следующие псевдонимы полей ПериодДействияНачало – Начало и ПериодДействияКонец – Окончание (рис. 264).
Рис. 264. Задайте псевдонимы полей
Нажмите кнопку "ОK". Перейдите на закладку Ресурсы и укажите, что должна быть рассчитана сумма по полю Результат.
После этого перейдите на закладку Настройки и создайте структуру отчета. Добавьте группировку по полю Сотрудник и в ней – подчиненную группировку детальных записей (без указания группировочного поля (рис. 265)
Рис. 265. Структура отчета
В качестве полей, выводимых в отчет, выберите поля ВидРасчета, Начало, Окончание, Регистратор и Результат. На закладке Сортировка укажите, что сортировка должна выполняться по возрастанию значения поля Сотрудник и Регистратор. И в заключение на закладке Другие настройки задайте заголовок отчета – Начисления cотрудникам. Создание схемы компоновки данных закончено.
Запустите 1С:Предприятие в режиме отладки и посмотрите на результат работы отчета Начисления сотрудникам (рис. 266):
Рис. 266. Отчет НачисленияСотрудникам
3.16.8. Выполнение перерасчета записей регистра расчета
Итак, в алгоритме работы с данными расчета осталось одно "узкое" место – контроль актуальности данных, содержащихся в регистре расчета. До сих пор пользователь использовал служебный отчет Перерасчет для того, чтобы определить, являются ли данные в регистре расчета актуальными или же они требуют перерасчета.
Теперь необходимо создать специальную процедуру, которая будет определять, требуется ли перерасчет данных регистра расчета и, если такая необходимость есть, выполнять перерасчет.
Поскольку единственным способом получения итоговой информации о начислениях сотрудникам в учебной конфигурации является отчет НачисленияСотрудникам, для вызова этой процедуры необходимо создать основную форму этого отчета и добавить кнопку Перерасчитать в командную панель ДействияФормы (рис. 267).
Рис. 267. Командная панель формы отчета НачисленияСотрудникам
В обработчик события нажатия кнопки Перерасчитать вставьте текст вызова процедуры перерасчета, очистки табличного поля и вывода нового результата:
Процедура ДействияФормыПерерасчитать(Кнопка)
ПерерасчитатьНачисления(ПланыВидовРасчета.ОсновныеНачисления.Оклад);
ПерерасчитатьНачисления(ПланыВидовРасчета.ОсновныеНачисления.Премия);
ЭлементыФормы.Результат.Очистить();
ОтчетОбъект.СкомпоноватьРезультат(ЭлементыФормы.Результат, ДанныеРасшифровки);
КонецПроцедуры
Саму процедуру перерасчета поместите в общем модуле ПроведениеРасчетов:
Процедура ПерерасчитатьНачисления(ТребуемыйВидРасчета) Экспорт
// Здесь следует выбрать из набора записей перерасчета
// записи в следующей последовательности:
// записи документа1 для сотрудников из списка,
// записи документа2 для сотрудников из списка,
// и т. д.
Запрос = Новый Запрос(
"ВЫБРАТЬ
| НачисленияПерерасчет.ОбъектПерерасчета,
| НачисленияПерерасчет.Сотрудник
|ИЗ
| РегистрРасчета.Начисления.Перерасчет КАК НачисленияПерерасчет
|
|ГДЕ
| НачисленияПерерасчет.ВидРасчета = &ТребуемыйВидРасчета
|
|ИТОГИ ПО
| НачисленияПерерасчет.ОбъектПерерасчета");
Запрос.УстановитьПараметр("ТребуемыйВидРасчета", ТребуемыйВидРасчета);
СписокСотрудников = Новый СписокЗначений;
// Перебрать группировку по регистратору.
ВыборкаПоРегистратору = Запрос.Выполнить().Выбрать
(ОбходРезультатаЗапроса.ПоГруппировкам);
Пока ВыборкаПоРегистратору.Следующий() Цикл
Регистратор = ВыборкаПоРегистратору.ОбъектПерерасчета;
// Перебрать группировку по сотрудникам
// для выбранного регистратора
// и создать список сотрудников.
ВыборкаПоСотрудникам = ВыборкаПоРегистратору.Выбрать();
СписокСотрудников.Очистить();
Пока ВыборкаПоСотрудникам.Следующий() Цикл
СписокСотрудников.Добавить(ВыборкаПоСотрудникам.Сотрудник);
КонецЦикла;
// Получить набор записей регистра расчета
// для выбранного регистратора.
НаборЗаписей = РегистрыРасчета.Начисления.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Регистратор.Значение = Регистратор;
НаборЗаписей.Прочитать();
РасчитатьНачисления(НаборЗаписей, ТребуемыйВидРасчета, СписокСотрудников);
НаборЗаписей.Записать( , Истина);
// Очистить перерасчитанные записи в перерасчете.
НаборЗаписейПерерасчета =
РегистрыРасчета.Начисления.Перерасчеты.Перерасчет.СоздатьНаборЗаписей();
НаборЗаписейПерерасчета.Отбор.ОбъектПерерасчета.Значение = Регистратор;
НаборЗаписейПерерасчета.Записать();
КонецЦикла;
КонецПроцедуры
В самом начале процедуры запросом выбираются данные о записях перерасчетов, содержащие переданный вид расчета и сгруппированные по объекту перерасчета. Далее, при обходе результата запроса, для каждого объекта перерасчета формируется список сотрудников, читаются соответствующие записи регистра расчета и вызывается процедура РасчитатьНачисления, которая использовалась вами при расчете записей документа НачисленияСотрудникам. После того, как расчет записей выполнен, набор записей записывается без формирования записей перерасчета и записи перерасчета очищаются по тому объекту перерасчета, который только что был обработан.
Запустите 1С:Предприятие и проверьте, как выполняется перерасчет записей регистра расчета.
Отмените проведение всех документов Начисления сотрудникам и проведите документ Начисления сотрудникам №1 и затем №2. Сформируйте отчет Начисления сотрудникам (рис. 268).
Теперь откройте документ Начисления сотрудникам №1, измените оклад Гусакова на 10000 и проведите документ. В отчете НачисленияСотрудникам нажмите кнопку "Перерасчитать". Будет выполнен перерасчет начисления премии Гусакову и Деловому (рис. 269).
Результат работы отчета будет содержать новые значения премии Гусакова (рис. 270).
Рис. 268. Отчет Начисления сотрудникам
Рис. 269. Окно служебных сообщений
Рис. 270. Отчет Начисления сотрудникам
И, наконец, проведите документ Начисления сотрудникам №3 и нажмите кнопку "Перерасчитать" в отчете НачисленияСотрудникам. Снова будет произведен перерасчет оклада и премии Гусакова (рис. 271).
Рис. 271. Окно служебных сообщений
А данные отчета будут содержать актуальные значения начисления оклада и премии (рис. 272).
Рис. 272. Отчет Начисления сотрудникам