Диплом: Автоматизация учета расхода материалов на производство в компании ООО "Звезда"

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

Смотрите также:

"Автоматизация обработки заявок ООО "Проектно-Строительная Компания"
"Автоматизация процесса аттестации персонала для ООО "Нэт Бай Нэт Холдинг"
"Анализ интернет-активности конкурентов ( на примере конкурентов "Газпром нефть")
"Бухгалтерский учёт и аудит расчётов с подотчётними лицами в организации на примере ООО "ЛОЦ 10""
«Психологическое сопровождение персонала в организации на примере ООО «Крокус»
Agile-методология в управлении проектами на примере ООО «Ресурсный центр «Академия КлассИнфо»
Aвтoмaтизaция пpoцecca вeдeния инфopмaциoннoй бaзы o дoлжнocтяx и вaкaнcияx c укaзaниeм тpeбoвaний к уpoвню знaний и нaвыкoв кaндидaтoв для гpуппы кaдpoв вoйcкoвoй чacти 3474»
Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
Cовершенствование управления рентабельности предприятия (на примере гуипп «бендерская типография «полиграфист»)
Event - менеджмент: реализация проекта (на примере ООО "АГРОПАК")