Отправляет email-рассылки с помощью сервиса Sendsay

1С:Предприятие 8 в примерах.

  Все выпуски  

1С:Предприятие 8.0 в примерах. 12. Отчеты. Реестр документов.


Постоянный адрес:

http://masich.info/articles/24/1/12-Ioaou-Daanod-aieoiaioia/Nodaieoa1.html

 

 Добавление отчета; Б. Выборка документов; В. Работа с формой (выбор периода); Г. Работа с формой (флажки); Д. Код процедуры.

А. Сегодня делаем отчет «Реестр документов». В отчет будут выводиться документы, согласно заданных условий. В качестве условий установим период и вид документов. Для начала создадим новый отчет в дереве метаданных.

Рисунок 1. 

Добавим форму отчета:

 Рисунок 2. 

Для выбора периода на форму добавим реквизиты два поля ввода типа «Дата».

Рисунок 3. 

Отдельно следует остановиться на свойстве «Состав даты». В восьмой версии значение типа «Дата» может включать в себя кроме даты еще и время. В нашем случае нам интересна только дата.

Скопируем указанный элемент и переименуем его в «пвДатаПо» («пв» в имени означает «Поле ввода»). Копирование рекомендую осуществлять простым перетаскиванием с прижатой кнопкой «Ctrl».

Б. Для начала выведем список всех документов без каких-либо условий. В отличие от седьмой версии в восьмой это не так просто. Если в семерке было достаточно создать объект типа «Документ», то в восьмерке иерархия более трудная. В процедуре обработчика нажатия на кнопку «Сформировать»:

 Рисунок 4. 

В предприятии открываем отчет

Рисунок 5. 

Если все правильно, то по нажатию в строке сообщение должно нарисоваться примерно следующее (у меня по одному документу каждого вида):

Рисунок 6. 

Как видно, первый цикл обходит виды документов, а второй уже собственно документы. На иерархии видов объектов более детально остановимся в следующий статье. А пока добавим условия выбора по периоду и виду документов.

В. Мы уже добавили на форму поля для выбора периода. Сделаем работу с периодом более удобной. Для этого: а) установим даты по умолчанию; б) добавим функцию выбора периода, а не отдельных дат.

В обработчике открытия формы пропишем присвоение значений реквизитам пвДатаПо = рабочей даты, пвДатаС = начало месяца рабочей даты:

Рисунок 7. 

Для работы с периодом предназначен объект «НастройкаПериода». Модернизируем форму следующим образом:

Рисунок 8. 

В обработчик нажатия кнопки поместим работу с периодом:

 

Рисунок 9. 

Что такое «УстановитьПериод», «Редактировать» и остальные методы можно посмотреть в синтаксис-помощнике. Для этого выделяем искомое слово и жмем «Ctrl+F1».

Г. Для добавления условия вывода по виду документов добавим на форму два флажка:

 Рисунок 10. 

Основные свойства флажков представлены ниже (естественно, что разница между свойствами приходного и расходного в одном слове):

Рисунок 11. 

Создадим элементарный макет:

 Рисунок 12. 

Д. Осталось привести окончательный код процедуры:

 Рисунок 13.

В указанном примере следует обратить внимание на следующие моменты:

1. Функция «Формат». Применяется для форматирования выводимых значений в виде, наиболее подходящем в данном случае. Больше о ней можно прочесть в синтаксис-помощнике.

2. Условие по виду документа (Метка «1»). Скажу сразу, что этот способ применять в реальных системах, как минимум, неразумно. Настоящий пример носит чисто иллюстративный характер. Кроме собственно наложения условия, в данном примере продемонстрирована возможность переноса строк кода.

3. Условие по периоду документов (Метка «2»).

 

Пока все. В следующей статье более подробно рассмотрим иерархию видов объектов.


В избранное