Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Разработка алгоритма работы информационной системы



Читайте также:
  1. I. Задание для самостоятельной работы
  2. I. Задания для самостоятельной работы
  3. I. Задания для самостоятельной работы
  4. I. Задания для самостоятельной работы
  5. I. Задания для самостоятельной работы
  6. I. Задания для самостоятельной работы
  7. I. Задания для самостоятельной работы

В информационной системе «Предприятие LADA-сервис» представлены следующие справочники: «Автомобили», «Сотрудники», «Контрагенты», «Банки», «БанковскиеСчета», «БанковскийСчетФирмы», «Наценки», «ОбъемДвигателя», «КПП», «ТипКузова», «ТипТоплива», «Цвет», «Авто», «Должность», «Кассы», «Склады», «Филиалы», «ИнфоПоФирме».

В справочнике «Автомобили» хранится номенклатура товаров, а именно автомобилей, с которыми работает предприятие. Алгоритм создания справочника «Автомобили»:

– в режиме конфигуратора открыть диалоговое окно конфигурации с помощью кнопки на панели инструментов «Конфигурация»;

 

 

Рисунок 4 – Окно нового справочника

 

– в открывшемся окне выбрать элемент «Справочники», вызвать контекстное меню, выбрать «Новый справочник»;

– появится окно нового справочника, он представлен на рисунке 4. Ввести в поле «Идентификатор» наименование справочника, установить длину наименования – 100. В поле «Реквизиты» создать с помощью кнопки «Новый» следующие реквизиты: «Марка» (тип значения: «Строка», длина – 50), «Модель» (тип значения: «Справочник.Авто»), «ЛС» (тип значения: «Строка», длина – 10), «ОбъемДвигателя» (тип значения: «Справочник. ОбъемДвигателя»), «КПП» (тип значения: «Справочник.КПП»), «ТипКузова» (тип значения: «Справочник.ТипКузова»), «ТипТоплива» (тип значения: «Справочник.ТипТоплива»), «ГодВыпуска» (тип значения: «Строка», длина – 14), «Цвет» (тип значения: «Справочник.Цвет»), «Цена» (тип значения: «Число», длина – 15, точность – 2);

 

 

Рисунок 5 – Форма элемента справочника «Автомобили»

 

– открыть форму элемента с помощью кнопки «Форма элемента». Откроется окно «Размещение реквизитов справочника», выбрать все поля, кроме поля «Марка». Далее нажать кнопку «Вставить» и оформить форму как показано на рисунке 5, предварительно создав «Поле со списком» с идентификатором «МаркаАвто»;

– к кнопкам «+» и «О» в свойствах на вкладе «Дополнительно» в поле «Формула» ввести «ОткрытьСпр()» и «ПриОткрытии()» соответственно;

– в вкладку «Модуль» ввести следующий код:

перем prov;

Процедура ОткрытьСпр()

ОткрытьФорму("Справочник.Авто");

КонецПроцедуры

Процедура ПриОткрытии()

МаркаАвто.УдалитьВсе();

Спр = СоздатьОбъект("Справочник.Авто");

Спр.ВыбратьЭлементы();

Пока Спр.ПолучитьЭлемент() = 1 Цикл

Если Спр.ЭтоГруппа() = 1 Тогда

МаркаАвто.ДобавитьЗначение(Спр.ТекущийЭлемент());

КонецЕсли

КонецЦикла;

МаркаАвто.ВставитьЗначение(1, Марка);

КонецПроцедуры

Процедура ПриЗаписи()

Результат=0;

НомерСтр=0;

НомерСтр=МаркаАвто.ТекущаяСтрока();

Результат = МаркаАвто.ПолучитьЗначение(НомерСтр);

Наименование=0;

Наименование = СокрЛП(Результат)+" "+Модель+" "+"("+ОбъемДвигателя+" "+ТипТоплива+" "+КПП+" "+ТипКузова+" "+ СокрЛП(ГодВыпуска)+"г. "+Цвет+")";

Марка = СокрЛП(Результат);

КонецПроцедуры

В информационной системе «Предприятие LADA-сервис» предусмотрены следующие документы для хранения основной информации о всех событиях, происходящих на предприятии: «ЗаказАвто», «ПоступлениеАвто», «СчетФактураПолученный», «ПлатежноеПоручение», «СтрокаВыпискиРасход», «Реализация», «СчетФактураВыданный», «СтрокаВыпискиПриход», «ПКО», «РКО», «ЗаявкаКлиента», «ВводОстатков».

Документ «ЗаказАвто» нужен для фиксации в системе факта заказа автомобилей поставщику и для автоматического формирования документа для печати.

Алгоритм создания документа «ЗаказАвто»:

– в режиме конфигуратора открыть диалоговое окно конфигурации с помощью кнопки на панели инструментов «Конфигурация»;

– в открывшемся окне выбрать элемент «Документы», вызвать контекстное меню, выбрать «Новый документ». Появится окно нового документа;

– ввести данные согласно рисунку 6. В область реквизитов шапки добавить следующие реквизиты: «Поставщик» (тип значения: «Справочник.Поставщики»), «ДатаОтгрузки» (тип значения: «Дата»), «ДатаОплаты» (тип значения: «Дата»), «Филиал» (тип значения: «Справочник.Филиалы»), «ИнфоПоФирме» (тип значения: «Справочник.ИнфоПоФирме»).

 

 

Рисунок 6 – Окно редактирования документа «ЗаказАвто»

 

В область «Реквизиты табличной части» ввести следующие реквизиты: «НаименованиеАвто» (тип значения: «Справочник.НаименованиеАвто»), «Количество» (тип значения: «Число», длина – 15), «Цена» (тип значения: «Число», длина – 15), «Сумма» (тип значения: «Число», длина – 15);

– зайти в форму документа с помощью кнопки «Форма», вставить предлагаемые поля и разместить их согласно рисунку 7. С помощью инструмента «Кнопка» создать кнопки «Основание», «Подбор», «Печать». В свойствах этих кнопок на вкладке «Дополнительно» в поле «Формула» ввести «КнПоОсн()», «Подбор()», «Печать()» соответственно. Далее создаем с помощью инструмента «Текст» надписи, в свойствах которых в поле «Формула» пишем «Итог("Сумма")», «док»;

 

 

Рисунок 7 – Форма документа «ЗаказАвто»

– в модуль формы пишем следующий код:

перем сумм;

перем rez;

перем док;

Процедура ВводНаОсновании(ДокОснование)

док = ДокОснование;

Если ДокОснование.Вид() = "ЗаказАвто" Тогда

Поставщик = ДокОснование.Поставщик;

ДатаОтгрузки = ДокОснование.ДатаОтгрузки;

ДатаОплаты = ДокОснование.ДатаОплаты;

СуммаПоДок = ДокОснование.СуммаПоДок;

ИнфоПоФирме = ДокОснование.ИнфоПоФирме;

Филиал = ДокОснование.Филиал;

ИнфоПоФирме = ДокОснование.ИнфоПоФирме;

ДокОснование.ВыбратьСтроки();

Пока ДокОснование.ПолучитьСтроку() = 1 Цикл

НоваяСтрока();

НаименованиеАвто = ДокОснование.НаименованиеАвто;

Количество = ДокОснование.Количество;

Цена = ДокОснование.Цена;

Сумма = ДокОснование.Сумма;

КонецЦикла;

ИначеЕсли ДокОснование.Вид() = "ПоступлениеАвто" Тогда

КонецЕсли;

КонецПроцедуры

Процедура КнПоОсн()

ОткрытьПодбор("Журнал.Общий");

КонецПроцедуры

Процедура Подбор()

Если ПустаяСтрока(Поставщик) = 1 Тогда

Предупреждение("Не указано наименование поставщика!", 60);

Активизировать("Поставщик");

СтатусВозврата(0); Возврат;

КонецЕсли;

ОткрытьПодбор("Справочник.Автомобили", "ДляПодбора");

КонецПроцедуры

процедура ОбработкаПодбора(ВыбЗнач, КонтФормыПодбора)

Перем ТаблЧасть, ТаблицаПодбора;

ТипЗнач = ТипЗначенияСтр(ВыбЗнач);

Если ТипЗнач = "Документ" Тогда

ВводНаОсновании(ВыбЗнач);

Возврат;

КонецЕсли;

ТипЗнач = ТипЗначенияСтр(ВыбЗнач);

Если ТипЗнач = "СписокЗначений" Тогда

ТаблицаПодбора = ВыбЗнач.Получить("ТаблицаПодбора");

Иначе

Возврат;

КонецЕсли;

ВыгрузитьТабличнуюЧасть(ТаблЧасть);

ТаблицаПодбора.ВыбратьСтроки();

Пока ТаблицаПодбора.ПолучитьСтроку() = 1 Цикл

НоваяСтрока();

НаименованиеАвто = ТаблицаПодбора.Наименование;

Количество = ТаблицаПодбора.Количество;

Цена = ТаблицаПодбора.Цена;

Сумма = Количество*Цена;

КонецЦикла;

КонецПроцедуры

Процедура ПриОкончанииРедактированияСтроки()

Сумма = Цена*Количество;

КонецПроцедуры

 

Процедура Печать()

Таб = СоздатьОбъект("Таблица");

Таб.ИсходнаяТаблица("Печать");

Таб.ВывестиСекцию("Шапка");

Таб.Опции(0,0,0,0);

ВыбратьСтроки();

Пока ПолучитьСтроку() = 1 Цикл

Таб.ВывестиСекцию("Строка");

КонецЦикла;

Таб.ВывестиСекцию("Подвал");

Таб.ТолькоПросмотр(1);

Таб.Показать("Печать ЗаказАвто","");

КонецПроцедуры

Функция Фирма(rez)

СпрФирм = СоздатьОбъект("Справочник.ИнфоПоФирме");

СпрФирм.ВыбратьЭлементы();

Пока СпрФирм.ПолучитьЭлемент() = 1 Цикл

Фирма = СпрФирм.ПолнНаим;

КонецЦикла;

Возврат(Фирма);

КонецФункции

Функция ФиоРуковод(rez)

СпрФирм = СоздатьОбъект("Справочник.ИнфоПоФирме");

СпрФирм.ВыбратьЭлементы();

Пока СпрФирм.ПолучитьЭлемент() = 1 Цикл

ФиоРуковод = СпрФирм.ФИОруковод;

КонецЦикла;

Возврат(ФиоРуковод);

КонецФункции

Функция ГлБух(REZ)

СпрФирм2 = СоздатьОбъект("Справочник.Должность");

СпрФирм2.ВыбратьЭлементы();

СпрФирм2.НайтиПоКоду(2);

Услов = СпрФирм2.ТекущийЭлемент();

СпрСотр = СоздатьОбъект("Справочник.Сотрудники");

СпрСотр.ВыбратьЭлементы();

Пока СпрСотр.ПолучитьЭлемент() = 1 Цикл

Если (СпрСотр.Должность = услов) Тогда

Если (СпрСотр.Филиал = Филиал) Тогда

РЕЗ = СпрСотр.ТекущийЭлемент();

КонецЕсли;

КонецЕсли;

КонецЦикла;

Возврат(РЕЗ);

КонецФункции;

Также в информационной системе представлены отчеты, предоставляющая различную информацию: «ПоГруппамАвто», «ОстаткиНаСкладе», «ПоЗаказамПоставщику», «БанковскиеДвижения», «КассовыеДвиежения», «РеализАвт», «Реализация», «ЗаявкиКлиентов».

Отчет «ПоГруппеАвто» предоставляет информацию клиенту перечень автомобилей поддержанных, либо новых. Алгоритм разработки:

– в режиме конфигуратора открыть диалоговое окно конфигурации с помощью кнопки на панели инструментов «Конфигурация»;

– в открывшемся окне выбрать элемент «Отчеты», вызвать контекстное меню, выбрать «Конструктор отчета»;

– вызвать конструктор, добавить переменные «Справочник.Автомобили.Родитель», «Справочник.Автомобили.Наименование», «Справочник.Автомобили.Цена». Далее, выбрать группировку по наименованию автомобиля, указать условие «Родитель в ВыбРодитель»;

– добавить в отчет с помощью инструмента «Реквизит диалога» поле с идентификатором «ВыбРодитель» и оформить форму;

– оформить таблицу «Сформировать» согласно рисунку 8;

 

 

Рисунок 8 – Таблица отчета «ПоГруппамАвто»

 

– отредактировать в модуле отчета процедуру «Сформировать()» так, чтобы он был идентичен коду:

Процедура Сформировать()

Перем Запрос, ТекстЗапроса, Таб;

//Создание объекта типа Запрос

Запрос = СоздатьОбъект("Запрос");

ТекстЗапроса =

"//{{ЗАПРОС(Сформировать)

|Родитель = Справочник.Автомобили.Родитель;

|Наименование = Справочник.Автомобили.Наименование;

|Цена = Справочник.Автомобили.Цена;

|Группировка Наименование;

|Условие(Родитель в ВыбРодитель);

|"//}}ЗАПРОС

;

Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда

Возврат;

КонецЕсли;

Таб = СоздатьОбъект("Таблица");

Таб.ИсходнаяТаблица("Сформировать");

// Заполнение полей "Заголовок"

Таб.ВывестиСекцию("Заголовок");

Состояние("Заполнение выходной таблицы...");

Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0);

Пока Запрос.Группировка(1) = 1 Цикл

Таб.ВывестиСекцию("Строка");

КонецЦикла;

Таб.ВывестиСекцию("Подвал");

Таб.ТолькоПросмотр(1);

Таб.Показать("Сформировать", "");

КонецПроцедуры

Все листинги документов и отчетов представлены в приложении Б.

 


Дата добавления: 2015-07-10; просмотров: 89 | Нарушение авторских прав






mybiblioteka.su - 2015-2024 год. (0.021 сек.)