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

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

                Продолжить;

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

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

                               Запись. Дни = 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