Главная Обратная связь

Дисциплины:






Создание печатной формы документа



Введенный документ в любое время может быть распечатан, если конфигурацией предусмотрено наличие у него печатной формы.

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

Созданная печатная форма открывается в стандартном редакторе таблиц системы 1С:Предприятие. Если в окне редактора таблиц видна только часть формы, можно использовать клавиши управления курсором и линейки прокрутки для вывода на экран остальной части формы.

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

Отредактированная печатная форма может быть сохранена в файле на диске. Для этого следует выбрать пункт «Сохранить» или «Сохранить как» в меню «Файл» главного меню программы.

У документа может быть несколько шаблонов печатных форм. Средствами встроенного языка (метод ИсходнаяТаблица) задается тот шаблон печатной формы, который будет использоваться.

 

 

Новый документ в системе 1С можно ввести различными методами:

1. Вариант первый. Пользователь выбирает Пункт меню Документы и в подменю щелкает по названию необходимого документа. Документу присваивается номер, устанавливаются дата, начинается обработка операторов предопределеннной процедуры модуля формы документа ВводНового(), после чего открывается экранная форма с вызовом процедуры ПриОткрытии(). Новый документ создается в памяти, а для того, чтобы он был записан в базу, необходимо нажать кнопку Записать.

2. Второй вариант предполагает создание нового документа путем копирования такого же. При копировании документу присваивается новый номер, а все реквизиты заполняются данными из скопированного документа. Вот почему, если в процедуре ВводНового() вы заполняете некоторые реквизиты при создании нового документа, то необходимо в начале этой процедуры задать проверку факта копирования, для того, чтобы не сбить значения реквизитов.

3. При третьем варианте новый документ создается на основании существующего документа другого вида. В такой ситуации вместо процедуры ВводНового() будет вызвана процедура ВводНаОсновании(). В ней нужно описать, какие реквизиты нового документа будут заполнены значениями из документа-основания. Естественно, что заполняемые реквизиты нового документа должны иметь тот же тип, что и соответствующие реквизиты-источники. Пример заполнения расходной накладной на основании счета:



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

РасчетныйСчет = ДокОсн.РасчетныйСчет;
МестоХранения = глЗначениеПоУмолчанию("ОсновнойСклад");
Контрагент = ДокОсн.Контрагент;
Договор = ДокОсн.Договор;
ВариантРасчетаНалогов = ДокОсн.ВариантРасчетаНалогов;

ДокОсн.ВыбратьСтроки();
Пока ДокОсн.ПолучитьСтроку() = 1 Цикл

НоваяСтрока();
Товар = ДокОсн.Товар;
Количество = ДокОсн.Количество;
Цена = ДокОсн.Цена;
Сумма = ДокОсн.Сумма;
НДС = ДокОсн.НДС;
Всего = ДокОсн.Всего;

КонецЦикла;

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

При вызове процедуры происходит установка значений некоторых полей и флажков накладной значениями из счета. Сначала мы заполнили реквизиты шапки, а затем организовали цикл считывания строк табличной части счета операторами ВыбратьСтроки() и ПолучитьСтроку(). В этом же цикле на каждую строку основания вводится и заполняется новая строка накладной (команда НоваяСтрока()).
Доступ к реквизитам счета осуществляется через переменную ДокОсн, которая является параметром процедуры. Как мы помним (см. описание предопределенных процедур модуля формы документа), в неё передается контекст документа-основания.

4. Программный способ - для него в языке 1С предусмотрены специальные команды.

«ОбработкаПроведения ([Параметр])». Процедура «ОбработкаПроведения» выполняется системой при проведении документа. Процедура принимает один параметр. Этот параметр передается в процедуру в том случае, когда проведение документа было инициировано при помощи встроенного языка — применением метода документа «Провести». Если в метод «Провести» передать некоторое значение в виде параметра, то этот параметр будет передан процедуре «ОбработкаПроведения».

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

· Создание проводок в операции документа.

· Движение регистров.

· Создание записей журнала расчетов.

· Установка периодических реквизитов справочника при помощи метода «УстановитьРеквизитСправочника» (см. ниже).

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

Отчеты предназначены для вывода информации из базы данных.

Структура отчета

У любого отчета в системе 1С есть экранная форма— Диалог, который пользователь видит на экране. В диалоге пользователь обычно задает параметры формирования отчета, например, период времени. Также у отчета обычно есть одна или несколько бумажных форм— Таблиц. С помощью таблиц отчет печатается на бумаге. Алгоритм формирования отчета записывается в модуле отчета на встроенном языке 1С.

Секция — это область таблицы, предназначенная для многократного вывода. Секции могут быть горизонтальными или вертикальными. Можно также выводить пересечения горизонтальных и вертикальных секций.





sdamzavas.net - 2019 год. Все права принадлежат их авторам! В случае нарушение авторского права, обращайтесь по форме обратной связи...