Главная страница

Диплом. автоматизация приема и обработки заявок отделом техподдержки ооо "компьютерные бизнес системы"


Скачать 3.38 Mb.
Названиеавтоматизация приема и обработки заявок отделом техподдержки ооо "компьютерные бизнес системы"
АнкорДиплом
Дата18.05.2023
Размер3.38 Mb.
Формат файлаpdf
Имя файла2019-3.pdf
ТипРеферат
#1141515
страница11 из 11
1   2   3   4   5   6   7   8   9   10   11
ПодЗадачаОбъект.Записать(РежимЗаписиДокумента.Проведение,
РежимПроведенияДокумента.Неоперативный);
КонецПроцедуры
// распровести ПодЗадача
&НаСервере
Процедура РасПровестиПодЗадачуНаСервере(ПодЗадача)
ПодЗадачаОбъект = ПодЗадача.ПолучитьОбъект();
ПодЗадачаОбъект.Записать(РежимЗаписиДокумента.ОтменаПроведения,
РежимПроведенияДокумента.Неоперативный);
КонецПроцедуры
// по команде ДеревоСвернутьВсе - свернуть все узлы, кроме самого верхнего

145
&НаКлиенте
Процедура ДеревоСвернутьВсе(Команда)
Для Каждого СтрокаДерева Из ДеревоПодзадач.ПолучитьЭлементы() Цикл
Для Каждого Строка1 Из СтрокаДерева.ПолучитьЭлементы() Цикл
Элементы.ДеревоПодзадач.Свернуть(Строка1.ПолучитьИдентификатор());
КонецЦикла;
КонецЦикла;
КонецПроцедуры
// по команде ДеревоСвернутьДоТекущей - свернуть все узлы, но развернуть путь до текщего узла
&НаКлиенте
Процедура ДеревоСвернутьДоТекущей(Команда)
ПутьВДереве
=
ПолучитьПутьВДереве(Элементы.ДеревоПодзадач.ТекущиеДанные); // запомниь путь до текущего элемента
Для Каждого СтрокаДерева Из ДеревоПодзадач.ПолучитьЭлементы() Цикл
Для Каждого Строка1 Из СтрокаДерева.ПолучитьЭлементы() Цикл
Элементы.ДеревоПодзадач.Свернуть(Строка1.ПолучитьИдентификатор());
КонецЦикла;
КонецЦикла;
ЗаполнитьДеревоПодзадач(); // перстроить дерево подзадач
Элементы.ДеревоПодзадач.ТекущаяСтрока
=
СпозиционироватьсяВДеревеПодзадач(ДеревоПодзадач,
ПутьВДереве,
ПутьВДереве.Количество()-1); // спозиционироваться
КонецПроцедуры
// по команде ДеревоФильтрПроведенные - отобразить в дереве только
Проведенные/Непроведенные/Все
&НаКлиенте
Процедура ДеревоФильтрПроведенные(Команда)
ФильтрПроведенные = ФильтрПроведенные - 1; // при каждом входе в команду - уменьшить значенеи фильтра на 1
Если ФильтрПроведенные = -1 Тогда
ФильтрПроведенные = 2; // по кругу
КонецЕсли;
// заголовок кнопки
Если ФильтрПроведенные = 2 Тогда
Элементы.ДеревоПодзадачПроведенные.Заголовок = "Все";

146
ИначеЕсли ФильтрПроведенные = 1 Тогда
Элементы.ДеревоПодзадачПроведенные.Заголовок = "Выполеннные";
ИначеЕсли ФильтрПроведенные = 0 Тогда
Элементы.ДеревоПодзадачПроведенные.Заголовок
=
"Не выполеннные";
КонецЕсли;
ЗаполнитьДеревоПодзадач(); // перестроить дерево с отбором, удовлетворяющем фильтру
КонецПроцедуры
&НаКлиенте
Процедура ДеревоПоШаблону(Команда)
ОткрытьФорму("Справочник.Этапы.ФормаВыбора", ,ЭтаФорма);
// Продолжение см. в ОбработкаВыбора формы
КонецПроцедуры
//--------------------------------------------------------------------------------
// ЗАКЛАДКА РЕСУРСЫ
// при выборе/изменении номенклатуры
&НаКлиенте
Процедура НоменклатураНоменклатураПриИзменении(Элемент)
ЭтотОбъект.Элементы.Номенклатура.ТекущиеДанные.Количество = 1;
ЭтотОбъект.Элементы.Номенклатура.ТекущиеДанные.Коэфф = 1;
ОсновнаяЕдиницаОтгрузки
=
ОбщийСрв.ПолучитьОсновнуюЕдиницуОтгрузкиНоменклатуры(ЭтотОбъект.Элем енты.Номенклатура.ТекущиеДанные.Номенклатура);
Если Не ОсновнаяЕдиницаОтгрузки.Пустая() Тогда
ЭтотОбъект.Элементы.Номенклатура.ТекущиеДанные.ЕдИзмерения =
ОсновнаяЕдиницаОтгрузки;
ЭтотОбъект.Элементы.Номенклатура.ТекущиеДанные.Коэфф =
ОбщийСрв.ПолучитьКоэффициент(ЭтотОбъект.Элементы.Номенклатура.Текущие
Данные.ЕдИзмерения);
КонецЕсли;
ОбщийСрв.РассчитатьСуммуСтроки(Объект.Дата,
ЭтотОбъект.Элементы.Номенклатура.ТекущиеДанные.Номенклатура,
ЭтотОбъект.Элементы.Номенклатура.ТекущиеДанные.Количество,

147
ЭтотОбъект.Элементы.Номенклатура.ТекущиеДанные.Коэфф,
Объект.ТипЦен,
ЭтотОбъект.Элементы.Номенклатура.ТекущиеДанные.Цена,
ЭтотОбъект.Элементы.Номенклатура.ТекущиеДанные.Сумма);
КонецПроцедуры
&НаКлиенте
Процедура НоменклатураКоличествоПриИзменении(Элемент)
ОбщийСрв.РассчитатьСуммуСтроки(Объект.Дата,
ЭтотОбъект.Элементы.Номенклатура.ТекущиеДанные.Номенклатура,
ЭтотОбъект.Элементы.Номенклатура.ТекущиеДанные.Количество,
ЭтотОбъект.Элементы.Номенклатура.ТекущиеДанные.Коэфф,
Объект.ТипЦен,
ЭтотОбъект.Элементы.Номенклатура.ТекущиеДанные.Цена,
ЭтотОбъект.Элементы.Номенклатура.ТекущиеДанные.Сумма);
КонецПроцедуры
&НаКлиенте
Процедура НоменклатураЕдИзмеренияПриИзменении(Элемент)
ЭтотОбъект.Элементы.Номенклатура.ТекущиеДанные.Коэфф
=
ОбщийСрв.ПолучитьКоэффициент(ЭтотОбъект.Элементы.Номенклатура.Текущие
Данные.ЕдИзмерения);
ОбщийСрв.РассчитатьСуммуСтроки(Объект.Дата,
ЭтотОбъект.Элементы.Номенклатура.ТекущиеДанные.Номенклатура,
ЭтотОбъект.Элементы.Номенклатура.ТекущиеДанные.Количество,
ЭтотОбъект.Элементы.Номенклатура.ТекущиеДанные.Коэфф,
Объект.ТипЦен,
ЭтотОбъект.Элементы.Номенклатура.ТекущиеДанные.Цена,

148
ЭтотОбъект.Элементы.Номенклатура.ТекущиеДанные.Сумма);
КонецПроцедуры
// при выборе номенклатуры - проверка резерва
&НаКлиенте
Процедура
НоменклатураНоменклатураОбработкаВыбора(Элемент,
ВыбранноеЗначение, СтандартнаяОбработка)
Если Зарезервировано(ВыбранноеЗначение) Тогда
СтандартнаяОбработка = Ложь;
КонецЕсли;
КонецПроцедуры
// проверка не зарезервирована ли ВыбНоменклатура в других задачах
&НаСервере
Функция Зарезервировано(ВыбНоменклатура)
Если Не ВыбНоменклатура.ВидНоменклатуры.Резервируется Тогда
Возврат Ложь;
КонецЕсли;
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
|
ЗадачаНоменклатура.Номенклатура,
|
Задача.Ссылка
КАК СамаЗадача
|ИЗ
|
Документ.Задача.Номенклатура КАК ЗадачаНоменклатура
|
ЛЕВОЕ СОЕДИНЕНИЕ Документ.Задача КАК Задача
|
ПО ЗадачаНоменклатура.Ссылка = Задача.Ссылка
|ГДЕ
|
ЗадачаНоменклатура.Номенклатура = &ВыбНоменклатура
|
И Задача.Проведен = Ложь
|
И
(
(&ДатаНачалаРезерва
МЕЖДУ
Задача.Дата
И
Задача.ОжидаемаяДатаВыполнения)
|
ИЛИ
(&ДатаОкончанияРезерва
МЕЖДУ
Задача.Дата
И
Задача.ОжидаемаяДатаВыполнения)
|
ИЛИ
(Задача.Дата
МЕЖДУ
&ДатаНачалаРезерва
И
&ДатаОкончанияРезерва)
|
ИЛИ
(Задача.ОжидаемаяДатаВыполнения
МЕЖДУ
&ДатаНачалаРезерва И &ДатаОкончанияРезерва)
|
)
|";
Запрос.УстановитьПараметр("ВыбНоменклатура",
ВыбНоменклатура);

149
Запрос.УстановитьПараметр("ДатаНачалаРезерва",
НачалоДня(Объект.Дата));
Запрос.УстановитьПараметр("ДатаОкончанияРезерва",
КонецДня(Объект.ОжидаемаяДатаВыполнения));
Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();
Пока Выборка.Следующий() Цикл
Сообщить(ВыбНоменклатура.Наименование + " зарезервировано "+
ОбщийСрв.ПредставлениеЗадачи(Выборка.СамаЗадача));
Возврат Истина
КонецЦикла;
Возврат Ложь;
КонецФункции
// при изменени даты документа проверить - нет ли зарезервированных ресурсов
&НаКлиенте
Процедура ДатаПриИзменении(Элемент)
Для Каждого ТекСтрокаНоменклатура Из Объект.Номенклатура Цикл
Зарезервировано(ТекСтрокаНоменклатура.Номенклатура);
КонецЦикла;
КонецПроцедуры
//--------------------------------------------------------------------------------
// ЗАКЛАДКА ФАЙЛЫ
// по команде Создать новый файл
&НаКлиенте
Процедура ФайлыСоздать(Команда)
П = Новый Структура;
П.Вставить("Документ", Объект.Ссылка);
ОткрытьФорму("Справочник.ХранимыеФайлы.ФормаОбъекта",
П,
ЭтотОбъект.Элементы.Файлы);
// результат выбора см. в ОбработкаВыбора элемента формы Файлы (таблица)
КонецПроцедуры
&НаКлиенте
Процедура
ФайлыОбработкаВыбора(Элемент,
ВыбранноеЗначение,
СтандартнаяОбработка)
НоваяСтрока = Объект.Файлы.Добавить();

150
НоваяСтрока.Файл = ВыбранноеЗначение.Получить(0).Значение;
НоваяСтрока.Комментарий = ВыбранноеЗначение.Получить(0).Значение;
КонецПроцедуры
&НаКлиенте
Процедура ОткрытьФайл(Команда)
ХранимыйФайл = ЭтотОбъект.Элементы.Файлы.ТекущиеДанные.Файл;
ОткрытьХранимыйФайл(ХранимыйФайл);
КонецПроцедуры
&НаКлиенте
Процедура ОткрытьХранимыйФайл(ХранимыйФайл)
Если ХранимыйФайл = Неопределено Тогда
Возврат;
КонецЕсли;
Файл = Новый Файл(ОбщийСрв.ПолучитьИмяФайла(ХранимыйФайл));
ИмяФайла = ПолучитьИмяВременногоФайла(Файл.Расширение);
Адрес = ПолучитьНавигационнуюСсылку(ХранимыйФайл, "ДанныеФайла");
ПолучитьФайл(Адрес, ИмяФайла, Ложь);
ЗапуститьПриложение(ИмяФайла);
КонецПроцедуры
1   2   3   4   5   6   7   8   9   10   11


написать администратору сайта