Файл: Настройка конфигурации, подсистем, справочников, перечислений.pdf
Добавлен: 21.10.2018
Просмотров: 5891
Скачиваний: 18
30
Листинг 2.3
&НаКлиенте
Процедура ПереченьНоменклатурыКоличествоПриИзменении(Элемент)
СтрокаТабличнойЧасти =Элементы.ПереченьНоменклатуры.ТекущиеДанные;
РаботаСДокументами.РассчитатьСумма(СтрокаТабличнойЧасти);
КонецПроцедуры
&НаКлиенте
Процедура ПереченьНоменклатурыЦенаПриИзменении(Элемент)
СтрокаТабличнойЧасти =Элементы.ПереченьНоменклатуры.ТекущиеДанные;
РаботаСДокументами.РассчитатьСумма(СтрокаТабличнойЧасти);
КонецПроцедуры
&НаКлиенте
Процедура ПереченьНоменклатурыСуммаПриИзменении(Элемент)
СтрокаТабличнойЧасти =Элементы.ПереченьНоменклатуры.ТекущиеДанные;
РаботаСДокументами.РассчитатьСумма(СтрокаТабличнойЧасти);
КонецПроцедуры
8. Отредактировать командный интерфейс, чтобы в подсистеме Оказание
Услуг была доступна команда создания новых документов. Выполним это задание
другим способом: развернуть ветку Общие, развернуть группу Подсистемы, двой-
ным щелчком открыть подсистему Оказание Услуг, нажать на кнопку Команд-
ный интерфейс (рис. 2.14).
Рисунок 2.14 Подсистема Оказание услуг
9. В группе Панель действий включить видимость у команды Оказание
услуги: создать (рис 2.15).
31
Рисунок 2.15 Видимость команды Оказание услуги: создать
10.
Сохранить настройки, нажав кнопку ОК.
11. Обновить базу данных и запустить 1С:Предприятие. Открыть подсистему
Оказание Услуг, сформировать документ Оказание услуги № 1(рис 2.16). Вер-
нуться в режим конфигуратора.
Рисунок 2.16 Создание документа Оказание услуги №1
Задание 2.5. Создать макет печатной формы документа Оказание Услуги. Макет
предназначен для хранения различных форм представления данных. Макет может
содержать табличный или текстовый документ, двоичные данные и др. инфор-
мацию. Макет может существовать как сам по себе, так и может быть подчи-
нен какому-либо объекту конфигурации. Одно из предназначений макета, подчи-
ненному объекту конфигурации – создание печатной формы этого объекта.
32
Порядок работы:
1. Открыть в конфигураторе документ ОказаниеУслуги. Перейти на вкладку
Макеты. Запустить конструктор печати (рис.2.17). В окне конструктора печати
отображается имя команды Печать для формирования печатной формы документа.
Нажать Далее.
Рисунок 2.17 Конструктор печати
2. Перенести все реквизиты документа в область Реквизиты Шапки кноп-
кой, помеченной двойными угловыми скобками (рис. 2.18). Нажать Далее.
Рисунок 2.18 Реквизиты шапки отчета
33
3. В следующем окне перенести реквизиты документа в область Реквизиты
Табличной Части ПереченьНоменклатуры (рис.2.19). Нажать Далее.
Рисунок 2.19 Реквизиты табличной части
4. Учитывая, что подвал документа отсутствует, то следующее окно пропу-
стить. Нажать Далее.
5. Следующее окно оставить без изменения, нажать ОК. на экране отобража-
ется макет печатной формы (рис.2.20).
Рисунок 2.20 Макет печатной формы
6. В нижней части макета печатной формы отображаются кнопки модулей:
модуль команды, модуль менеджера документа , в нижней части (рис.2.21).
Рисунок 2.21 Панель модулей
7. Откройте модуль команды (рис. 2. 21). Отображается листинг обработчика,
вызывающего процедуру печати документа (листинг 2.4., 2.5). просмотрите и срав-
ните полученные листинги.
Листинг 2.4
&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
34
ТабДок = Новый ТабличныйДокумент;
Печать(ТабДок, ПараметрКоманды);
ТабДок.ОтображатьСетку = Ложь;
ТабДок.Защита = Ложь;
ТабДок.ТолькоПросмотр = Ложь;
ТабДок.ОтображатьЗаголовки = Ложь;
ТабДок.Показать();
КонецПроцедуры
Листинг 2.5
&НаСервере
Процедура Печать(ТабДок, ПараметрКоманды)
Документы.ОказаниеУслуги.Печать(ТабДок, ПараметрКоманды);
КонецПроцедуры
8. Откройте модуль менеджера. В этом модуле помещена сама процедура пе-
чати документа (листинг 2.6).
Листинг 2.6
Процедура Печать(ТабДок, Ссылка) Экспорт
Макет = Документы.ОказаниеУслуги.ПолучитьМакет("Печать");
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
|
ОказаниеУслуги.Дата,
|
ОказаниеУслуги.клиент,
|
ОказаниеУслуги.Мастер,
|
ОказаниеУслуги.Номер,
|
ОказаниеУслуги.Склад,
|
ОказаниеУслуги.ПереченьНоменклатуры.(
|
НомерСтроки,
|
номенклатура,
|
цена,
|
количество,
|
сумма
|
)
|ИЗ
|
Документ.ОказаниеУслуги КАК ОказаниеУслуги
|ГДЕ
|
ОказаниеУслуги.Ссылка В (&Ссылка)";
Запрос.Параметры.Вставить("Ссылка", Ссылка);
Выборка = Запрос.Выполнить().Выбрать();
ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
Шапка = Макет.ПолучитьОбласть("Шапка");
ОбластьПереченьНоменклатурыШапка = Ма-
кет.ПолучитьОбласть("ПереченьНоменклатурыШапка");
ОбластьПереченьНоменклатуры = Ма-
кет.ПолучитьОбласть("ПереченьНоменклатуры");
ТабДок.Очистить();
ВставлятьРазделительСтраниц = Ложь;