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

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

Оклад
Отпуск

РС «ГрафикиРаботы» (непериод, независим)

РС «СведенияОСотрудниках» (в пределах дня, независим)

РС «ГрафикиПодразделений» (непер, незав)

РР «ОсновныеНачисления»


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

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


