Читайте также: |
|
В информационной системе «Предприятие 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 | Нарушение авторских прав