ВыборкаОсн = СформироватьВыборкуОсн();
ЗаполнитьНабор(НаборОсн, ВыборкаОсн);
РасчитатьНабор(НаборОсн, ОсновныеНачисления);
ВыборкаДоп = СформироватьВыборкуДоп();
ЗаполнитьНабор(НаборДоп, ВыборкаДоп);
РасчитатьНабор(НаборДоп, ДополнительныеНачисления);
НаборОсн. Очистить();
НаборОсн. Записать();
НаборДоп. Очистить();
НаборДоп. Записать();
КонецПроцедуры;
Модуль формы:
&НаСервере
Процедура РасчитатьНаСервере()
Док = РеквизитФормыВЗначение("Объект");
Док. Расчитать();
ЗначениеВДанныеФормы(Док, Объект);
КонецПроцедуры
&НаКлиенте
Процедура Расчитать(Команда)
РасчитатьНаСервере();
КонецПроцедуры
Отчет «АнализНачислений»
ВЫБРАТЬ
ДН. Бригада,
ДН. Сотрудник,
ДН. Процент КАК ПроцентНадбавки,
ДН. Размер КАК СуммаПродаж,
ЕСТЬNULL(ДН. Результат, 0) КАК СуммаНадбавки
ИЗ
РегистрРасчета. ДН КАК ДН
ГДЕ
ДН. ВидРасчета = ЗНАЧЕНИЕ(ПланВидовРасчета. ДополнительныеНачисления. Надбавка)
И ДН. ПериодРегистрации МЕЖДУ &НачалоПериода И &КонецПериода


ПВР ОсновныеНачисления


ПВР ДополнительныеНачисления


Премия:

РС «ГрафикиРаботы»

РН «Продажи» (обороты)
Изм. Бригада, рес. Сумма
РР «ОН»


РР «ДН»


Обработка «ЗаполнениеГрафика»
Процедура ЗаполнитьГрафик(ДатаНачала, ДатаОкончания, ВыходныеДни) Экспорт
Набор = РегистрыСведений. ГрафикиРаботы. СоздатьНаборЗаписей();
Набор. Прочитать();
ЧислоСекундВСутках = 86400;
Дат = ДатаНачала;
Для к = 0 По Набор. Количество()-1 Цикл
Запись = Набор[к];
Если Запись. Дата < ДатаНачала Тогда
Продолжить;
ИначеЕсли Запись. Дата =Дат Тогда
Если Найти(ВыходныеДни, Строка(ДеньНедели(Дат))) Тогда
Запись. Значение = 0;
Иначе
Запись. Значение = 8;
КонецЕсли;
Дат = Дат + ЧислоСекундВСутках;
Иначе
Пока Дат < Мин(Запись. Дата, ДатаОкончания) Цикл
НоваяЗапись = Набор. Добавить();
НоваяЗапись. Дата = Дат;
Если Найти(ВыходныеДни, Строка(ДеньНедели(Дат))) Тогда
НоваяЗапись. Значение = 0;
Иначе
НоваяЗапись. Значение = 8;
КонецЕсли;
Дат = Дат + ЧислоСекундВСутках;
КонецЦикла;
Если Запись. Дата > ДатаОкончания Тогда
Прервать;
Иначе
Если Найти(ВыходныеДни, Строка(ДеньНедели(Дат))) Тогда
Запись. Значение = 0;
Иначе
Запись. Значение = 8;
КонецЕсли;
КонецЕсли;
Дат = Дат + ЧислоСекундВСутках;
КонецЕсли;
КонецЦикла;
Набор. Записать();
Пока Дат <= ДатаОкончания Цикл
Запись = Набор. Добавить();
Запись. Дата = Дат;
Если Найти(ВыходныеДни, Строка(ДеньНедели(Дат))) Тогда
Запись. Значение = 0;
Иначе
Запись. Значение = 8;
КонецЕсли;
Дат = Дат + ЧислоСекундВСутках;
КонецЦикла;
Набор. Записать();
КонецПроцедуры
Бизнес процессы

Сотрудник | Подразделение | Должность |
Васина | Бухгалтерия | Кассир |
Мишина | Бухгалтерия | Кассир |
Мишина | Бухгалтерия | Бухгалтер |
Кротов | Бухгалтерия | Бухгалтер |
Иванов | Бухгалтерия | Гл. бухгалтер |
Онопко | Отдел закупок | Начальник отдела |
Бельдыев | Отдел закупок | Менеджер |
Рахимов | Отдел закупок | Менеджер |
Мансуров | Отдел закупок | Менеджер |
Жупиков | Отдел закупок | Кладовщик |
Хабибулин | Отдел продаж | Начальник отдела |
Галкин | Отдел продаж | Менеджер |
Палкин | Отдел продаж | Менеджер |
Малкин | Отдел продаж | Менеджер |
Справочник «Должности»
Создаем пользователей Васина, Петров с ролью ПолныеПрава.
Создаем параметр сеанс «ТекущийПользователь» (спр. ФизЛица)
В модуле сеанса:
Процедура УстановкаПараметровСеанса(ТребуемыеПараметры)
ТекПользователь = Справочники. ФизическиеЛица. НайтиПоНаименованию(ИмяПользователя(), Истина);
Если ТекПользователь. Пустая() Тогда
НовыйПользователь = Справочники. ФизическиеЛица. СоздатьЭлемент();
НовыйПользователь. Наименование = ИмяПользователя();
НовыйПользователь. Записать();
ТекПользователь = НовыйПользователь. Ссылка;
КонецЕсли;
ПараметрыСеанса. ТекущийПользователь = ТекПользователь;
КонецПроцедуры
Заполняем в режиме 1С: Предприятие РегистрСведений РегистрАдресации (измерения Исполнитель, Подразделение, Должность).
Исполнитель | Подразделение | Должность |
Бельдыев | Менеджер | |
Рахимов | Менеджер | |
Галкин | Менеджер | |
Палкин | Менеджер | |
Малкин | Менеджер | |
Мансуров | Менеджер | |
Петров | ||
Васина | Кассир | |
Мишина | Кассир |
Создаем задачу «Задача»
Адресация: РегистрАдресации
Осн. реквизит: Исполнитель
Тек. Исп: ТекущийПользователь
Реквизиты адресации: Исполнитель, Подразделение, Должность – СВЯЗЫВАЕМ С ИЗМЕРЕНИЯМИ РЕГИСТРА АДРЕСАЦИИ!!!
Создаем форму списка для задачи, в свойствах реквизита «Список» устанавливаем в качестве Основной таблицы – ЗадачаПоИсполнителю.
Создаем команду «Переключить»
&НаСервере
Процедура ПереключитьНаСервере()
Если Список. ОсновнаяТаблица = "Задача. Задача. ЗадачиПоИсполнителю" Тогда
Список. ОсновнаяТаблица = "Задача. Задача";
Заголовок = "Все задачи";
Иначе
Список. ОсновнаяТаблица = "Задача. Задача. ЗадачиПоИсполнителю";
Заголовок = "Задачи пользователя";
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура Переключить(Команда)
ПереключитьНаСервере();
КонецПроцедуры
Создаем БизнесПроцесс, привязываем к Задаче.
Создаем форму бизнес процесса: создаем реквизит Карта (поле графической схемы) и выводим на форму.
Создаем команду ОбновитьКарту.
Модуль формы:
&НаСервере
Процедура ОбновитьКартуНаСервере()
БП = РеквизитФормыВЗначение("Объект");
ЭтаФорма. Карта = БП. ПолучитьКартуМаршрута();
КонецПроцедуры
&НаКлиенте
Процедура ОбновитьКарту(Команда)
ОбновитьКартуНаСервере();
КонецПроцедуры
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
ОбновитьКартуНаСервере();
КонецПроцедуры
Создаем карту маршрута
Отчет о проделанной работе: <>, < >, Менеджер ГРУППОВАЯ
Начисление зарплаты: Петров, <>, <>
Выплата зарплаты: <>, < >, Кассир
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 |


