Материал: Автоматизация приема и обработки заявок отделом техподдержки ООО "Компьютерные бизнес-системы"

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
147
ЭтотОбъект.Элементы.Номенклатура.ТекущиеДанные.Коэфф,
Объект.ТипЦен,
ЭтотОбъект.Элементы.Номенклатура.ТекущиеДанные.Цена,
ЭтотОбъект.Элементы.Номенклатура.ТекущиеДанные.Сумма);
КонецПроцедуры
&НаКлиенте
Процедура НоменклатураКоличествоПриИзменении(Элемент)
ОбщийСрв.РассчитатьСуммуСтроки(Объект.Дата,
ЭтотОбъект.Элементы.Номенклатура.ТекущиеДанные.Номенклатура,
ЭтотОбъект.Элементы.Номенклатура.ТекущиеДанные.Количество,
ЭтотОбъект.Элементы.Номенклатура.ТекущиеДанные.Коэфф,
Объект.ТипЦен,
ЭтотОбъект.Элементы.Номенклатура.ТекущиеДанные.Цена,
ЭтотОбъект.Элементы.Номенклатура.ТекущиеДанные.Сумма);
КонецПроцедуры
&НаКлиенте
Процедура НоменклатураЕдИзмеренияПриИзменении(Элемент)
ЭтотОбъект.Элементы.Номенклатура.ТекущиеДанные.Коэфф =
ОбщийСрв.ПолучитьКоэффициент(ЭтотОбъект.Элементы.Номенклатура.Текущие
Данные.ЕдИзмерения);
ОбщийСрв.РассчитатьСуммуСтроки(Объект.Дата,
ЭтотОбъект.Элементы.Номенклатура.ТекущиеДанные.Номенклатура,
ЭтотОбъект.Элементы.Номенклатура.ТекущиеДанные.Количество,
ЭтотОбъект.Элементы.Номенклатура.ТекущиеДанные.Коэфф,
Объект.ТипЦен,
ЭтотОбъект.Элементы.Номенклатура.ТекущиеДанные.Цена,
148
ЭтотОбъект.Элементы.Номенклатура.ТекущиеДанные.Сумма);
КонецПроцедуры
// при выборе номенклатуры - проверка резерва
&НаКлиенте
Процедура НоменклатураНоменклатураОбработкаВыбора(Элемент,
ВыбранноеЗначение, СтандартнаяОбработка)
Если Зарезервировано(ВыбранноеЗначение) Тогда
СтандартнаяОбработка = Ложь;
КонецЕсли;
КонецПроцедуры
// проверка не зарезервирована ли ВыбНоменклатура в других задачах
&НаСервере
Функция Зарезервировано(ВыбНоменклатура)
Если Не ВыбНоменклатура.ВидНоменклатуры.Резервируется Тогда
Возврат Ложь;
КонецЕсли;
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ЗадачаНоменклатура.Номенклатура,
| Задача.Ссылка КАК СамаЗадача
|ИЗ
| Документ.Задача.Номенклатура КАК ЗадачаНоменклатура
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.Задача КАК Задача
| ПО ЗадачаНоменклатура.Ссылка = Задача.Ссылка
|ГДЕ
| ЗадачаНоменклатура.Номенклатура = &ВыбНоменклатура
| И Задача.Проведен = Ложь
| И ( (&ДатаНачалаРезерва МЕЖДУ Задача.Дата И
Задача.ОжидаемаяДатаВыполнения)
| ИЛИ (&ДатаОкончанияРезерва МЕЖДУ Задача.Дата И
Задача.ОжидаемаяДатаВыполнения)
| ИЛИ адача.Дата МЕЖДУ &ДатаНачалаРезерва И
&ДатаОкончанияРезерва)
| ИЛИ (Задача.ОжидаемаяДатаВыполнения МЕЖДУ
&ДатаНачалаРезерва И &ДатаОкончанияРезерва)
| )
|";
Запрос.УстановитьПараметр("ВыбНоменклатура",
ВыбНоменклатура);
149
Запрос.УстановитьПараметр("ДатаНачалаРезерва",
НачалоДня(Объект.Дата));
Запрос.УстановитьПараметр("ДатаОкончанияРезерва",
КонецДня(Объект.ОжидаемаяДатаВыполнения));
Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();
Пока Выборка.Следующий() Цикл
Сообщить(ВыбНоменклатура.Наименование + " зарезервировано "+
ОбщийСрв.ПредставлениеЗадачи(Выборка.СамаЗадача));
Возврат Истина
КонецЦикла;
Возврат Ложь;
КонецФункции
// при изменени даты документа проверить - нет ли зарезервированных ресурсов
&НаКлиенте
Процедура ДатаПриИзменении(Элемент)
Для Каждого ТекСтрокаНоменклатура Из Объект.Номенклатура Цикл
Зарезервировано(ТекСтрокаНоменклатура.Номенклатура);
КонецЦикла;
КонецПроцедуры
//--------------------------------------------------------------------------------
// ЗАКЛАДКА ФАЙЛЫ
// по команде Создать новый файл
&НаКлиенте
Процедура ФайлыСоздать(Команда)
П = Новый Структура;
П.Вставить("Документ", Объект.Ссылка);
ОткрытьФорму("Справочник.ХранимыеФайлы.ФормаОбъекта", П,
ЭтотОбъект.Элементы.Файлы);
// результат выбора см. в ОбработкаВыбора элемента формы Файлы (таблица)
КонецПроцедуры
&НаКлиенте
Процедура ФайлыОбработкаВыбора(Элемент, ВыбранноеЗначение,
СтандартнаяОбработка)
НоваяСтрока = Объект.Файлы.Добавить();
150
НоваяСтрока.Файл = ВыбранноеЗначение.Получить(0).Значение;
НоваяСтрока.Комментарий = ВыбранноеЗначение.Получить(0).Значение;
КонецПроцедуры
&НаКлиенте
Процедура ОткрытьФайл(Команда)
ХранимыйФайл = ЭтотОбъект.Элементы.Файлы.ТекущиеДанные.Файл;
ОткрытьХранимыйФайл(ХранимыйФайл);
КонецПроцедуры
&НаКлиенте
Процедура ОткрытьХранимыйФайл(ХранимыйФайл)
Если ХранимыйФайл = Неопределено Тогда
Возврат;
КонецЕсли;
Файл = Новый Файл(ОбщийСрв.ПолучитьИмяФайла(ХранимыйФайл));
ИмяФайла = ПолучитьИмяВременногоФайла(Файл.Расширение);
Адрес = ПолучитьНавигационнуюСсылку(ХранимыйФайл, "ДанныеФайла");
ПолучитьФайл(Адрес, ИмяФайла, Ложь);
ЗапуститьПриложение(ИмяФайла);
КонецПроцедуры
Источник: https://baza.diplomsite.ru/previewfile/1978