mirror of
https://github.com/netology-code/1c-homeworks.git
synced 2024-11-24 08:02:20 +02:00
Update homework-5-8.md
This commit is contained in:
parent
9d47439023
commit
23a61e1fce
@ -1,6 +1,6 @@
|
||||
# Задание к занятию "Текстовые документы"
|
||||
|
||||
## Задача 1 Создать текстовый макет в справочнике Номенклатура, добавить команду печати и сохранения
|
||||
## Задача 1 Создать команду печати прайс-листа в справочнике Номенклатура
|
||||
|
||||
### Описание задачи
|
||||
|
||||
@ -10,19 +10,17 @@
|
||||
|
||||
Создадим текстовый макет в Номенклатура
|
||||
|
||||
Добавим возможность вывода на печать и сохранения в файл
|
||||
Добавим возможность вывода на печать
|
||||
|
||||
### Требования к результату
|
||||
|
||||
Текстовый документ содержит информацию о цену и номенклатуру
|
||||
Текстовый документ содержит информацию о прайс листе на текущую дату - цену и номенклатуру
|
||||
|
||||
Есть возможность вывести на печать и сохранить
|
||||
Есть возможность вывести на печать
|
||||
|
||||
### Процесс выполнения
|
||||
|
||||
Получим срез последних по регистру сведений Цены номенклатуры
|
||||
|
||||
Добавим макет "МакетПрайсЛист" с типом Текстовый документ
|
||||
Добавим общий макет "МакетПрайсЛист" с типом Текстовый документ
|
||||
|
||||
Пример текста
|
||||
```
|
||||
@ -45,6 +43,60 @@
|
||||
---------------------------------
|
||||
[Номенклатура ]|[Цена ]
|
||||
```
|
||||
Заполним на основании регистра макет, код добавим в модуле менеджера
|
||||
В форму списка номенклатуры добавим команду "Прайс лист"
|
||||
|
||||
Добавим команду для вывода на просмотр и сохранение
|
||||
Для печати добавим на клиенте
|
||||
```bsl
|
||||
&НаКлиенте
|
||||
Процедура КомандаПрайсЛист(Команда)
|
||||
|
||||
//выделим несколько строк
|
||||
ВыделенныеСтроки = Элементы.СписокРасширенныйПоискНоменклатура.ВыделенныеСтроки;
|
||||
МассивСтрок = Новый Массив();
|
||||
Для каждого НомерСтроки Из ВыделенныеСтроки Цикл
|
||||
МассивСтрок.Добавить(Элементы.СписокРасширенныйПоискНоменклатура.ДанныеСтроки(НомерСтроки));
|
||||
КонецЦикла;
|
||||
//отправим выделенные строки номенклатуры на печать
|
||||
ПечатнаяФорма = СформироватьПечатнуюФормуПрайсЛист(МассивСтрок);
|
||||
|
||||
ПечатнаяФорма.Показать("Прайс-лист");
|
||||
|
||||
КонецПроцедуры
|
||||
```
|
||||
Формируем печатную форму на сервере и возращаем на клиент для печати
|
||||
|
||||
```bsl
|
||||
&НаСервере
|
||||
Функция СформироватьПечатнуюФормуПрайсЛист(МассивСтрок)
|
||||
|
||||
ПечатнаяФорма = Новый ТекстовыйДокумент;
|
||||
|
||||
Макет = ПолучитьОбщийМакет("МакетПрайсЛист");
|
||||
|
||||
// Получаем область шапки и макета по имени
|
||||
Шапка = Макет.ПолучитьОбласть("ШапкаПрайса");
|
||||
// Заполняем параметр Дата
|
||||
Шапка.Параметры.Дата = ТекущаяДата();
|
||||
// Выводим область в документ
|
||||
ПечатнаяФорма.Вывести(Шапка);
|
||||
|
||||
// Получаем область заголовка
|
||||
ТабличнаяЧастьЗаголовок = Макет.ПолучитьОбласть("ТабличнаяЧастьПрайсаЗаголовок");
|
||||
ПечатнаяФорма.Вывести(ТабличнаяЧастьЗаголовок);
|
||||
|
||||
// Получаем область строк для формирования табличной части в цикле
|
||||
ТабличнаяЧастьСтрока = Макет.ПолучитьОбласть("ТабличнаяЧастьПрайсаСтрока");
|
||||
|
||||
Для каждого СтрокаСписка из МассивСтрок Цикл
|
||||
ТабличнаяЧастьСтрока.Параметры.Номенклатура = СтрокаСписка.Наименование;
|
||||
ТабличнаяЧастьСтрока.Параметры.Цена = 100;
|
||||
ПечатнаяФорма.Вывести(ТабличнаяЧастьСтрока);
|
||||
КонецЦикла;
|
||||
|
||||
// Возвращаем печатную форму обратно на клиент
|
||||
Возврат ПечатнаяФорма;
|
||||
|
||||
КонецФункции
|
||||
```
|
||||
|
||||
Получим срез последних по регистру сведений Цены номенклатуры для заполнения цены и вставим в соответствующий параметр
|
||||
|
Loading…
Reference in New Issue
Block a user