ВыборкаОсн = СформироватьВыборкуОсн();

       ЗаполнитьНабор(НаборОсн, ВыборкаОсн);

       РасчитатьНабор(НаборОсн, ОсновныеНачисления);

       

       ВыборкаДоп = СформироватьВыборкуДоп();

       ЗаполнитьНабор(НаборДоп, ВыборкаДоп);

       РасчитатьНабор(НаборДоп, ДополнительныеНачисления);

       

       НаборОсн. Очистить();

       НаборОсн. Записать();

       

       НаборДоп. Очистить();

       НаборДоп. Записать();

       

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

Модуль формы:

&НаСервере

Процедура РасчитатьНаСервере()

       Док = РеквизитФормыВЗначение("Объект");

       Док. Расчитать();

       ЗначениеВДанныеФормы(Док, Объект);

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

&НаКлиенте

Процедура Расчитать(Команда)

       РасчитатьНаСервере();

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

Отчет «АнализНачислений»

ВЫБРАТЬ

       ДН. Бригада,

       ДН. Сотрудник,

       ДН. Процент КАК ПроцентНадбавки,

       ДН. Размер КАК СуммаПродаж,

       ЕСТЬNULL(ДН. Результат, 0) КАК СуммаНадбавки

ИЗ

       РегистрРасчета. ДН КАК ДН

ГДЕ

       ДН. ВидРасчета = ЗНАЧЕНИЕ(ПланВидовРасчета. ДополнительныеНачисления. Надбавка)

НЕ нашли? Не то? Что вы ищете?

       И ДН. ПериодРегистрации МЕЖДУ &НачалоПериода И &КонецПериода


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

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

Премия:

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

РН «Продажи» (обороты)

Изм. Бригада, рес. Сумма        

РР «ОН»

РР «ДН»

Обработка «ЗаполнениеГрафика»

Процедура ЗаполнитьГрафик(ДатаНачала, ДатаОкончания, ВыходныеДни) Экспорт

       

       Набор = РегистрыСведений. ГрафикиРаботы. СоздатьНаборЗаписей();

       

       Набор. Прочитать();

       

       ЧислоСекундВСутках = 86400;

       

       Дат = ДатаНачала;

       Для к = 0 По Набор. Количество()-1 Цикл

               

               Запись = Набор[к];

               Если Запись. Дата < ДатаНачала Тогда

                Продолжить;

               ИначеЕсли Запись. Дата =Дат Тогда

                       Если Найти(ВыходныеДни, Строка(ДеньНедели(Дат))) Тогда

                               Запись. Значение = 0;

                       Иначе        

                               Запись. Значение = 8;

                       КонецЕсли;

                       Дат = Дат + ЧислоСекундВСутках;

               Иначе

                       Пока Дат < Мин(Запись. Дата, ДатаОкончания) Цикл

                               НоваяЗапись = Набор. Добавить();

                               НоваяЗапись. Дата = Дат;

                               Если Найти(ВыходныеДни, Строка(ДеньНедели(Дат))) Тогда

                                       НоваяЗапись. Значение = 0;

                               Иначе        

                                       НоваяЗапись. Значение = 8;

                               КонецЕсли;

                               Дат = Дат + ЧислоСекундВСутках;

                       КонецЦикла;

                       Если Запись. Дата > ДатаОкончания Тогда

                               Прервать;

                       Иначе

                               Если Найти(ВыходныеДни, Строка(ДеньНедели(Дат))) Тогда

                                       Запись. Значение = 0;

                               Иначе        

                                       Запись. Значение = 8;

                               КонецЕсли;

                       КонецЕсли;

                       Дат = Дат + ЧислоСекундВСутках;

               КонецЕсли;

       КонецЦикла;

       Набор. Записать();

       Пока Дат <= ДатаОкончания Цикл

               Запись = Набор. Добавить();

               Запись. Дата = Дат;

               Если Найти(ВыходныеДни, Строка(ДеньНедели(Дат))) Тогда

                       Запись. Значение = 0;

               Иначе        

                       Запись. Значение = 8;

               КонецЕсли;

               Дат = Дат + ЧислоСекундВСутках;

       КонецЦикла;

       Набор. Записать();

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

Бизнес процессы


Сотрудник

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

Должность

Васина

Бухгалтерия

Кассир

Мишина

Бухгалтерия

Кассир

Мишина

Бухгалтерия

Бухгалтер

Кротов

Бухгалтерия

Бухгалтер

Иванов

Бухгалтерия

Гл. бухгалтер

Онопко

Отдел закупок

Начальник отдела

Бельдыев

Отдел закупок

Менеджер

Рахимов

Отдел закупок

Менеджер

Мансуров

Отдел закупок

Менеджер

Жупиков

Отдел закупок

Кладовщик

Хабибулин

Отдел продаж

Начальник отдела

Галкин

Отдел продаж

Менеджер

Палкин

Отдел продаж

Менеджер

Малкин

Отдел продаж

Менеджер


Справочник «Должности»

Создаем пользователей Васина, Петров с ролью ПолныеПрава.

Создаем параметр сеанс «ТекущийПользователь» (спр. ФизЛица)

В модуле сеанса:

Процедура УстановкаПараметровСеанса(ТребуемыеПараметры)

       ТекПользователь = Справочники. ФизическиеЛица. НайтиПоНаименованию(ИмяПользователя(), Истина);

       Если ТекПользователь. Пустая() Тогда

               НовыйПользователь = Справочники. ФизическиеЛица. СоздатьЭлемент();

               НовыйПользователь. Наименование = ИмяПользователя();

               НовыйПользователь. Записать();

               ТекПользователь = НовыйПользователь. Ссылка;

       КонецЕсли;

       ПараметрыСеанса. ТекущийПользователь = ТекПользователь;

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

Заполняем в режиме 1С: Предприятие РегистрСведений РегистрАдресации (измерения Исполнитель, Подразделение, Должность).


Исполнитель

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

Должность

Бельдыев

Менеджер

Рахимов

Менеджер

Галкин

Менеджер

Палкин

Менеджер

Малкин

Менеджер

Мансуров

Менеджер

Петров

Васина

Кассир

Мишина

Кассир


Создаем задачу «Задача»

Адресация: РегистрАдресации

Осн. реквизит: Исполнитель

Тек. Исп: ТекущийПользователь

Реквизиты адресации: Исполнитель, Подразделение, Должность – СВЯЗЫВАЕМ С ИЗМЕРЕНИЯМИ РЕГИСТРА АДРЕСАЦИИ!!!

Создаем форму списка для задачи, в свойствах реквизита «Список» устанавливаем в качестве Основной таблицы – ЗадачаПоИсполнителю.

Создаем команду «Переключить»

&НаСервере

Процедура ПереключитьНаСервере()

       Если Список. ОсновнаяТаблица = "Задача. Задача. ЗадачиПоИсполнителю" Тогда

               Список. ОсновнаяТаблица = "Задача. Задача";

               Заголовок = "Все задачи";

       Иначе

               Список. ОсновнаяТаблица = "Задача. Задача. ЗадачиПоИсполнителю";

               Заголовок = "Задачи пользователя";

       КонецЕсли;

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

&НаКлиенте

Процедура Переключить(Команда)

       ПереключитьНаСервере();

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

Создаем БизнесПроцесс, привязываем к Задаче.

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

Создаем команду ОбновитьКарту.

Модуль формы:

&НаСервере

Процедура ОбновитьКартуНаСервере()

       БП = РеквизитФормыВЗначение("Объект");

       ЭтаФорма. Карта = БП. ПолучитьКартуМаршрута();

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

&НаКлиенте

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

       ОбновитьКартуНаСервере();

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

&НаСервере

Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

       ОбновитьКартуНаСервере();

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

Создаем карту маршрута

Отчет о проделанной работе: <>, < >, Менеджер ГРУППОВАЯ

Начисление зарплаты: Петров, <>, <>

Выплата зарплаты: <>, < >, Кассир


Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9