Приложение 2 Листинг Документ.Квитанция
//***********************************************************************
//Выбор вида обслуживания
Процедура ПереключательВО()
Если Гарантия = 1 Тогда
ИначеЕсли Гарантия = 2 Тогда
КонецЕсли;
КонецПроцедуры
//*****************************************************************
//Выбор исполнителя
Процедура ПереключательИсп()
Если ВыпТО = 1 Тогда
Форма.РемФирма.Видимость(0);
РемФирма = "";
ИначеЕсли ВыпТО = 2 Тогда
Форма.РемФирма.Видимость(1);
КонецЕсли;
КонецПроцедуры
//*******************************************************************
//Ввод на основании
Процедура ВводНаОсновании(ДокументОснование)
ДокОсн = СоздатьОбъект("Документ");
Если ДокОсн.ВыбратьПодчиненныеДокументы(,,ДокументОснование) <> 0 Тогда
СтатусВозврата(0);
Возврат;
КонецЕсли;
Если ДокументОснование.Проведен() = 0 Тогда
СтатусВозврата(0);
Возврат;
КонецЕсли;
ДокОснование = ДокументОснование;
НомерДок = ДокументОснование.НомерДок;
Клиент = ДокументОснование.Клиент;
СерийныйНомер = ДокументОснование.СерийныйНомер;
Артикул = ДокументОснование.Артикул;
Причина = ДокументОснование.Причина;
СрокИсп = ДокументОснование.СрокИсп;
ДатаПриема = ДокументОснование.ДатаДок;
ТипОбслуживания=ДокументОснование.ТипОбслуживания;
Спр=СоздатьОбъект("Справочник.Оборудование");
Если Спр.НайтиЭлемент(СерийныйНомер)=1 Тогда
Если ДобавитьМесяц(Спр.ДатаПрихода,Спр.СрокГарантии)<РабочаяДата() Тогда
Спр.СтатусГарантии=Перечисление.СтатусыГарантии.ГарантияЗакончилась;
Гарантия=2; // негарантийное обслуживание
Иначе// если случайно изменили, во время отката даты
Спр.СтатусГарантии=Перечисление.СтатусыГарантии.Гарантия;
Гарантия=1; // гарантийное обслуживание
КонецЕсли;
Спр.Записать();
СтатусГарантии=Спр.СтатусГарантии;
Иначе
Предупреждение("Не найден серийный номер!");
КонецЕсли;
ВыпТО = 1;
Автор=глАвтор;
КонецПроцедуры
//**************************************************************************
//Открытие бланка техническое обслуживание
Процедура ПриОткрытии()
Если ПустоеЗначение(ДокОснование) = 1 Тогда
СтатусВозврата(0);
Возврат;
КонецЕсли;
ПереключательВО();
ПереключательИсп();
Если Проведен() = 1 Тогда
Форма.ТолькоПросмотр(1);
Форма.ИККвит.Видимость(1);
Форма.ИКВып.Видимость(0);
Иначе
Форма.ТолькоПросмотр(0);
Форма.ИККвит.Видимость(0);
Если (НазваниеИнтерфейса() = "Техник") ИЛИ (НазваниеИнтерфейса() = "Администратор") Тогда
Форма.ИКВып.Видимость(1);
Иначе
Форма.ИКВып.Видимость(0);
КонецЕсли;
КонецЕсли;
ПриЗаписиПерепроводить(0);
КонецПроцедуры
//
//Перечень Работ
Процедура ПоКнЗИП()
Если Выбран() = 1 Тогда
ЗМ = СоздатьОбъект("Документ");
ЗМ.ВыбратьПодчиненныеДокументы(,,ТекущийДокумент());
Если ЗМ.ПолучитьДокумент() = 1 Тогда
Если Проведен() = 0 Тогда
ОткрытьФорму(ЗМ.ТекущийДокумент(),,0);
Возврат;
Иначе
ОткрытьФорму(ЗМ.ТекущийДокумент(),,1);
Возврат;
КонецЕсли;
Иначе
ОткрытьФорму("Документ.ТОЗИП",Контекст,ТекущийДокумент());
КонецЕсли;
Иначе
ФлагВ = Вопрос("Записать документ Выполнение техническое обслуживание в базу данных?",1,0);
Если ФлагВ = 1 Тогда
Записать();
ОткрытьФорму("Документ.ТОЗИП",Контекст,ТекущийДокумент());
ИначеЕсли ФлагВ = 2 Тогда
Возврат;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
//
//Завершение ТО
Процедура ПоКнВыполнено()
Если ПустоеЗначение(Неисправность) = 1 Тогда
Предупреждение("Не указана неисправность!");
Возврат;
КонецЕсли;
Если (ВыпТО = 2) И (ПустоеЗначение(РемФирма) = 1) Тогда
Предупреждение("Не выбрана обслуживающая фирма!");
Возврат;
КонецЕсли;
ДатаДок = ТекущаяДата();
Записать();
Провести();
//
Если Проведен() = 1 Тогда
Форма.ТолькоПросмотр(1);
Форма.ИККвит.Видимость(1);
Форма.ИКВып.Видимость(0);
Иначе
Форма.ТолькоПросмотр(0);
Форма.ИККвит.Видимость(0);
Форма.ИКВып.Видимость(1);
КонецЕсли;
КонецПроцедуры
//
//Возможность сохранения
Процедура ПоКнОк()
Если Проведен() = 0 Тогда
Если (ВыпТО = 2) И (ПустоеЗначение(РемФирма) = 1) Тогда
Предупреждение("Не выбрана обслуживающая фирма!");
Возврат;
КонецЕсли;
ККР = СоздатьОбъект("Справочник.Оборудование");
Если ККР.НайтиЭлемент(СерийныйНомер) = 1 Тогда
ККР.Клиент = Клиент;
ККР.Записать();
Иначе
Предупреждение("Оборудование с серийным номером "+СерийныйНомер+" не найдено!");
Возврат;
КонецЕсли;
Записать();
КонецЕсли;
Форма.Закрыть(0);
КонецПроцедуры
//
//*********************************************************
//
//Печать квитанции
Процедура ПоКнКвитанция()
//Печать
Таб = СоздатьОбъект("Таблица");
Таб.ИсходнаяТаблица("Таблица1");
Таб.ВывестиСекцию("Секция_2");
Если ВыпТО = 1 Тогда
//Если работы выполнял Сервисный центр
Таб.ВывестиСекцию("Секция_3");
ДЗ = СоздатьОбъект("Документ");
ДЗ.ВыбратьПодчиненныеДокументы(,,ТекущийДокумент());
Если ДЗ.ПолучитьДокумент() = 1 Тогда
ДЗ.ВыбратьСтроки();
Пока ДЗ.ПолучитьСтроку() = 1 Цикл
Ном1 = ДЗ.НомерСтроки;
ЗИП = ДЗ.ЗИП;
ЕдИзм = ДЗ.ЕдИзм;
Количество = ДЗ.Количество;
Таб.ВывестиСекцию("Секция_4");
КонецЦикла;
КонецЕсли;
Таб.ВывестиСекцию("Секция_5");
ВыбратьСтроки();
Пока ПолучитьСтроку() = 1 Цикл
Ном2 = НомерСтроки;
Таб.ВывестиСекцию("Секция_6");
КонецЦикла;
Таб.ВывестиСекцию("Секция_7");
ИначеЕсли ВыпТО = 2 Тогда
//Если работы выполняла сторонняя ремонтная фирма
Таб.ВывестиСекцию("Секция_8");
КонецЕсли;
Таб.Опции(0,0,0,0);
Таб.ТолькоПросмотр(1);
Таб.Показать("Квитанция на техническое обслуживание","");
КонецПроцедуры
//*****************************************************
Процедура ВводНового()
Автор=глАвтор;
КонецПроцедуры
- Федеральное агентство по образованию
- Аннотация
- Оглавление
- Глава 1. Автоматизация бизнес-процесса
- 1.1. Анализ объекта автоматизации
- 1.2. История автоматизации документооборота
- 1.3. Обзор ранее выполненных работ на указанную тему
- 1.4. Функциональный анализ работы сц по стандарту idef0
- Глава 2. Постановка задачи
- 2.1. Содержательная постановка решаемой задачи:
- 2.2. Формальная постановка решаемой задачи:
- Глава 3. Описание средств программирования
- 3.1. Выбор типовой конфигурации
- 3.2. Язык 1с
- Глава 4. Реализация проекта
- 4.1. Алгоритм автоматизации сервисного центра
- 4.2. Интерфейсная часть
- 4.3. Структура данных
- 4.4. Возможности системы
- 4.5. Требования к ао и по
- 4.6. Результаты автоматизации сервисного центра
- Заключение
- Список использованных источников
- Приложение 1
- Приложение 2 Листинг Документ.Квитанция
- Листинг Документ.Заявка