Файл: Информационные технологии и платформы разработки информационных систем.pdf
Добавлен: 05.04.2023
Просмотров: 348
Скачиваний: 2
КонецПроцедуры
Пр оцедур а Печать (Элемен т)
ТабДок = Н овый Табличн ыйДокумен т;
Макет = Докумен ты. Пр одажаТовар а. ПолучитьМакет ("Печать");
// Заголовок
Область = Макет. ПолучитьОбласть ("Заголовок");
Область. Пар аметр ы. Заполн ить (ЭтотОбъект);
ТабДок. Вывести (Область);
// Шапка
Шапка = Макет. ПолучитьОбласть ("Шапка");
Шапка. Пар аметр ы. Заполн ить (ЭтотОбъект);
ТабДок. Вывести (Шапка);
// Товары
Область = Макет. ПолучитьОбласть ("Товар ыШапка");
ТабДок. Вывести (Область);
КолВо = 0;
ОбластьТовар ы = Макет. ПолучитьОбласть ("Товар ы");
Для Каждого ТекСтр окаТовар ы Из Товар ы Цикл
ОбластьТовар ы. Пар аметр ы. Заполн ить (ТекСтр окаТовар ы);
КолВо = КолВо + 1;
ТабДок. Вывести (ОбластьТовар ы);
КонецЦикла;
// вывод области "Всего"
Область = Макет. ПолучитьОбласть ("Всего");
Область. Пар аметр ы. ИтогСумма = Товар ы. Итог ("Сумма");
СуммаДок = Область. Пар аметр ы. ИтогСумма;
СуммаН ДС = СуммаДок - (СуммаДок/1.18);
Область. Пар аметр ы. СуммаН ДС = СуммаН ДС;
Область. Пар аметр ы. Заполн ить (ЭтотОбъект);
ТабДок. Вывести (Область);
// вывод области "Сумма"
Область = Макет. ПолучитьОбласть ("Сумма");
Область. Пар аметр ы. СуммаДокумен та = ЧислоПр описью (СуммаДок,, "Р убль, р убля, р ублей, м, копейка, копейки, копеек, ж");
Область. Пар аметр ы. КолВо = КолВо;
Область. Пар аметр ы. Заполн ить (ЭтотОбъект);
ТабДок. Вывести (Область);
ТабДок. Отобр ажатьСетку = Ложь;
ТабДок. Защита = Ложь;
ТабДок. ТолькоПр осмотр = Ложь;
ТабДок. Отобр ажатьЗаголовки = Ложь;
ТабДок. Показать ();
КонецПроцедуры
Печатн ая фор ма в виде р асходн ой н акладн ой.
Рис. 23 Окн о печатн ой фор мы докумен та
Докумен т Пр одажа товар а фор мир уется н а осн ован ии докумен та Заявка покупателя. Пр оцедур а пр описывается в модуле объекта докумен та Пр одажа и стр оится с помощью кон стр уктор а:
Пр оцедур а Обр аботкаЗаполн ен ия (Дан н ыеЗаполн ен ия, Стан дар тн аяОбр аботка)
Если ТипЗн ч (Дан н ыеЗаполн ен ия) = Тип ("Докумен тСсылка. ЗаявкиПокупателя") Тогда
// Заполн ен ие шапки
Покупатель = Дан н ыеЗаполн ен ия. Покупатель;
СуммаДок = Дан н ыеЗаполн ен ия. СуммаДок;
Фир ма = Дан н ыеЗаполн ен ия. Фир ма;
Для Каждого ТекСтр окаТовар ы Из Дан н ыеЗаполн ен ия. Товар ы Цикл
Н оваяСтр ока = Товар ы. Добавить ();
Н оваяСтр ока. КолВо = ТекСтр окаТовар ы. КолВо;
Н оваяСтр ока. Н аимен ован ие = ТекСтр окаТовар ы. Н аимен ован ие;
Н оваяСтр ока. Сумма = ТекСтр окаТовар ы. Сумма;
Н оваяСтр ока. Цен а = ТекСтр окаТовар ы. Цен а; Кон ецЦикла;
КонецЕсли;
Кон ецПр оцедур ы.
Для того чтобы докумен т имел возможн ость записи с пр оведен ием, н ам н еобходимо создать р егистр н акоплен ия ОстаткиТовар а, котор ый имеет измер ен ия Товар ы и Кон тр аген т, р есур сы - сумма и количество. Пр оцедур а пр оведен ия описывается в модуле объекта каждого из докумен тов.
Докумен т Пр иходТовар а:
Пр оцедур а Обр аботкаПр оведен ия (Отказ, Р ежим)
// р егистр ОстаткиТовар а Пр иход
Движен ия. ОстаткиТовар а. Записывать = Истин а;
Движен ия. ОстаткиТовар а. Очистить ();
Для Каждого ТекСтр окаТовар ы Из Товар ы Цикл
Движен ие = Движен ия. ОстаткиТовар а. Добавить ();
Движен ие. ВидДвижен ия = ВидДвижен ияН акоплен ия. Пр иход;
Движен ие. Пер иод = Дата;
Движен ие. Товар ы = ТекСтр окаТовар ы. Н аимен ован ие;
Движен ие. Кон тр аген т = Поставщик;
Движен ие. Сумма = ТекСтр окаТовар ы. Сумма;
Движен ие. КолВо = ТекСтр окаТовар ы. КолВо;
КонецЦикла;
Кон ецПр оцедур ы.
Докумен т ЗаявкаПокупателя:
Пр оцедур а Обр аботкаПр оведен ия (Отказ, Р ежим)
// р егистр ОстаткиТовар а Пр иход
Движен ия. ОстаткиТовар а. Записывать = Истин а;
Движен ия. ОстаткиТовар а. Очистить ();
Для Каждого ТекСтр окаТовар ы Из Товар ы Цикл
Движен ие = Движен ия. ОстаткиТовар а. Добавить ();
Движен ие. ВидДвижен ия = ВидДвижен ияН акоплен ия. Пр иход;
Движен ие. Пер иод = Дата;
Движен ие. Кон тр аген т = Покупатель;
Движен ие. Товар ы = ТекСтр окаТовар ы. Н аимен ован ие;
Движен ие. Сумма = ТекСтр окаТовар ы. Сумма;
Движен ие. КолВо = ТекСтр окаТовар ы. КолВо;
КонецЦикла;
Докумен т Пр одажаТовар а:
Пр оцедур а Обр аботкаПр оведен ия (Отказ, Р ежим)
// р егистр ОстаткиТовар а Р асход
Движен ия. ОстаткиТовар а. Записывать = Истин а;
Движен ия. ОстаткиТовар а. Очистить ();
Для Каждого ТекСтр окаТовар ы Из Товар ы Цикл
Движен ие = Движен ия. ОстаткиТовар а. Добавить ();
Движен ие. ВидДвижен ия = ВидДвижен ияН акоплен ия. Р асход;
Движен ие. Пер иод = Дата;
Движен ие. Товар ы = ТекСтр окаТовар ы. Н аимен ован ие;
Движен ие. Кон тр аген т = Покупатель;
Движен ие. Сумма = ТекСтр окаТовар ы. Сумма;
Движен ие. КолВо = ТекСтр окаТовар ы. КолВо;
КонецЦикла;
Кон ецПр оцедур ы.
Р абота с жур н алами докумен тов. Создаем 2 жур н ала: Докумен ты по закупкам и Докумен ты по пр одажам. Жур н алы должн ы включать дополн ительн ые р еквизиты Кон тр аген т и Сумма по докумен ту. [3 с 118]
Р абота с отчетами. Создаем 4 отчета: Пр айс-лист, Остатки товар ов н а складе, Отчет по закупкам и Отчет по пр одажам. Отчёт Остатки товар ов н а складе должен иметь возможн ость детализации по отдельн ым товар ам. Отчёты по закупкам и пр одажам должн ы фор мир оваться за пер иод с детализацией по кон тр аген там. Существует н еобходимость осуществлен ия сложн ой обр аботки дан н ых, котор ую очен ь сложн о получить, н епоср едствен н о р аботая со спр авочн иками, докумен тами, р егистр ами и жур н алами, для выполн ен ия такой обр аботки существует механ изм запр осов. Запр осы мы используем пр и создан ии отчета Остатки, а остальн ые создаем с помощью схемы компон овки дан н ых.
Рис. 24 Окн о отчета Пр айс - лист
Рис. 25 Окн о отчета Отчет по закупкам
Рис. 26 Окн о отчета Отчет по пр одажам
Отчет Остатки товар ов н а складе создали с помощью запр оса, пр оцедур у пр описываем в модуле фор мы отчета.
Пр оцедур а Кн опкаСфор мир оватьН ажатие (Кн опка)
ТабДок = Н овый Табличн ыйДокумен т;
Макет = ЭтотОбъект. ПолучитьМакет ("Макет");
ОбластьМакета = Макет. ПолучитьОбласть ("Шапка");
ОбластьМакета. Пар аметр ы. ТекущаяДата = ТекущаяДата ();
ТабДок. Вывести (ОбластьМакета);
Запр ос = Н овый Запр ос;
Если Товар ы. Н аимен ован ие <> "" Тогда
Запр ос. Текст = "
|Выбрать
| ОстаткиТовар аОстатки. Товар ы,
| ОстаткиТовар аОстатки. Товар ы. Н аимен ован ие КАК Н аимен ован ие,
| ОстаткиТовар аОстатки. КолВоОстаток КАК Количество
| Из
| Р егистр Н акоплен ия. ОстаткиТовар а. Остатки КАК ОстаткиТовар аОстатки
| Где
| ОстаткиТовар аОстатки. Товар ы В (&Товар ы)
|";
Иначе
Запр ос. Текст = "
|ВЫБРАТЬ
| ОстаткиТовар аОстатки. Товар ы,
| ОстаткиТовар аОстатки. Товар ы. Н аимен ован ие КАК Н аимен ован ие,
|ОстаткиТовар аОстатки. КолВоОстаток КАК Количество
| Из
| Р егистр Н акоплен ия. ОстаткиТовар а. Остатки КАК ОстаткиТовар аОстатки
|";
КонецЕсли;
Запр ос. Устан овитьПар аметр ("Товар ы", Товар ы);
Р езультат = Запр ос. Выполн ить ();
Выбор ка = Р езультат. Выбр ать ();
Пока Выбор ка. Следующий () Цикл
ОбластьМакета = Макет. ПолучитьОбласть ("Товар ");
ОбластьМакета. Пар аметр ы. Товар = Выбор ка. Н аимен ован ие;
ОбластьМакета. Пар аметр ы. Количество = Выбор ка. Количество;
ТабДок. Вывести (ОбластьМакета);
КонецЦикла;
ТабДок. Показать ();
КонецПроцедуры
Р ис. 27 Окн о отчета Остатки
Создан ие пользователей.
В системе 1С: Пр едпр иятие 8.3 для автор изации используется список пользователей, для р азгр ан ичен ия полн омочий мы создаем в объекте р оли 2 пользователей и создаем 2 ин тер фейса, устан авливаем в каждом н абор пр ав, для р азр ешен ия доступа только к н еобходимым объектам.
Для р аботы с кон фигур ацией мы создали двух пользователей. Пер вый пользователь - Иван ов (Админ истр атор ) с полн ыми пр авами и ин тер фейсом, а втор ой - Петр ов (мен еджер ) с огр ан ичен н ыми пр авами (н ельзя р едактир овать кон стан ты) и с огр ан ичен н ым ин тер фейсом (н ет пун кта Опер ации в главн ом мен ю). [4 с 124]
Глава 2. Разработка управляемого приложения
Измен яем свойство кон фигур ации Осн овн ой р ежим запуска н а "Упр авляемое пр иложен ие". Создаем подсистемы Закупки и Пр одажи, и опр еделяем состав объектов каждой подсистемы.
Рис. 28 Окн о подсистемы
Для каждой подсистемы сфор мир овываем пан ель н авигации, действий Создать и Отчеты.
Рис. 29 Окн о р абочего стола
Рис. 30 Окн о подсистемы Закупки
Рис. 31 Окн о подсистемы Пр одажи
Сфор мир уем отчет по закупкам в упр авляемом пр иложен ии.
Рис. 32 Окн о отчета
Глава 3. Р еализация бизнес - процесса "Продажа товара"
Р ежим запуска "Обычн ое пр иложен ие". Создаем спр авочн ики Сотр удн ики (дан н ые: Иван ов, Петр ов, Сидор ов), Подр азделен ия (дан н ые: отдел пр одаж, склад), Р оли Исполн ителей (дан н ые: кладовщик, пр одавец, р уководитель отдела). В фор ме докумен та Заявка покупателя создаем р еквизит ОплатаСчета.