Главная Регистрация Форум Поиск по форуму Продать разработку Программное обеспечение Опубликовать статью Статьи по программированию Общение Сообщества Фриланс Добавить проект Web-бухгалтерия Железо Книги

forum1C8.ru

Социальная сеть программистов
 


 Авторизация
Логин:

Пароль:



 Забыли пароль ?

 Регистрация
На сайте:
Содержание

Как определить бизнес процесс, в котором количество последовательных этапов определяется индивидуально на момент старта экземпляра процесса?


Процедура ПередВыполнением(Отказ) 
Если Исполнитель.Пустая() Тогда
Исполнитель = ПараметрыСеанса.ТекущийИсполнитель;
КонецЕсли;
ДатаВыполнения=ТекущаяДата();
КонецПроцедуры
ПолучитьФорму("Маршрут").Открыть();
СтандартнаяОбработка = Ложь;
Если ТочкиМаршрута.Количество() = 0 Тогда
Сообщить("Не определен маршрут!!!");
Отказ = Истина;
КонецЕсли;
Результат = ПолучитьТочкуМаршрута().Пустая();
Функция ПолучитьТочкуМаршрута()
Запрос=Новый Запрос;
Запрос.Текст= "ВЫБРАТЬ ПЕРВЫЕ 1
| НаМаршрутеТочкиМаршрута.НомерСтроки КАК НомерСтроки,
| НаМаршрутеТочкиМаршрута.Склад
|ИЗ
| БизнесПроцесс.НаМаршруте.ТочкиМаршрута КАК НаМаршрутеТочкиМаршрута
|ГДЕ
| (НаМаршрутеТочкиМаршрута.Склад НЕ В
| (ВЫБРАТЬ РАЗЛИЧНЫЕ
| ЭтапПути.Склад
| ИЗ
| Задача.ЭтапПути КАК ЭтапПути
| ГДЕ
| ЭтапПути.БизнесПроцесс = &БизнесПроцесс ))
| И
| (Ссылка = &БизнесПроцесс)
|УПОРЯДОЧИТЬ ПО
| НомерСтроки";
Запрос.УстановитьПараметр("БизнесПроцесс", Ссылка);
Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() Тогда
Возврат (Выборка.Склад);
Иначе
Возврат(Справочники.Склады.ПустаяСсылка());
КонецЕсли;
КонецФункции
ФормируемыеЗадачи[0].Склад = ПолучитьТочкуМаршрута();
ПолучитьФорму("ПутевойЛист").Открыть();
СтандартнаяОбработка = Ложь;
Если ПоказанияСпидометраКонечные = 0 ИЛИ Ссылка.РасходТоплива = 0 Тогда
Сообщить("Не введены данные по путевому листу!");
Отказ = Истина;
КонецЕсли;
Copyright © 2012-2018 forum1C8.ru
http://www.forum1c8.ru
Сделать стартовой
Добавить в Избранное

Нравится

Программирование finansoft.ru