У ч е т
во
белыпому
сче ту
Г
Артем Cosmic ШМАНЦЫРЕВ
Каждый пользователь программы
7 С
должен иметь возможность не только вводить данные в
заготовленные нами формочки, но и видеть их итоговую наглядную интерпретацию — отчет. Отчет в
1
C — явление очень обширное, однако хоть как-то рассмотреть нам его просто необходимо, ведь без
отработанной отчетности любая разработанная нами конфигурация будет готова лишь наполовину.
П р о д ол ж е н и е , н а ч а л о см. в М К , № 3 6 , 3 8 , 4 0 , 4 2 (3 1 1 , 3 1 3 , 3 1 5 , 3 1 7 )
%
П
еред тем как приступить к созданию отчетов в системе 1
С,
мы должны определиться, какого рода данные мы хотим ви-
деть в отчетах. Сразу м о у сказать, что отчеты в 1С могут
строиться по данным из четырех источников — бухгалтерско-
го и оперативного учета, расчета и введенных документов. Так как
мы используем только документы, ничего не рассчитываем, не дви-
гаем регистры и не создаем операции, соответственно, будем ис-
пользовать выборку только из введенных документов. Для этого в
среде 1С существует специальный встроенный язык запросов, с
которым мы попробуем разобраться в сегодняшней статье.
Для начала определим, что именно мы хотим видеть в отче-
те. Во-первых, желательно сформировать отчет за определен-
ный период. Это значит, что в него должны попасть только те до-
кументы, которые были созданы в течение указанного периода.
Период в системе 1С можно указать сколь угодно большим, то
есть все нужды по учету компьютерной техники смогут удовле-
творяться нашей конфигурацией еще на протяжении, по край-
ней мере, пары сотен лет ©.
Кроме того, было бы желательно фильтровать введенные на-
ми документы по датам заказа и сборки. Согласитесь, пользо-
ватель был бы рсщ видеть только те компьютеры, которые были
заказаны или собраны в определенный период. Неплохо бы ото-
бражать основные комплектующие, вошедшие в конфигурацию,
чтобы было легче визуально отличить одну конфигурацию от дру-
гой. Также можно фильтровать документы по самому факту сбор-
ки или заказа — но пусть это будет вашим домашним заданием
к следующей лекции.
.. то бишь статье ©.
Теперь, в соответствии с оговоренными условиями, давайте
создадим новый отчет (в дереве метаданных, с которым вы уже
наверняка разобрались, отчеты хранятся в соответствующем пунк-
те верхнего уровня) и нарисуем на его окошке соответствующие
реквизиты (рис. 1).
Поясню функционал.
Первые два элемента диа-
лога (с идентификатора-
ми
НаЧИнт
и
конИнт
соот-
ветственно) отвечают за
период выборки докумен-
тов. Флажки (с идентифи-
каторами
Чек
1
и
Чек2,
их
не видно на рисунке) от-
вечают за последние на-
■ -IT1VI
О гче! по компы-, торам
Дсжу/генты
созваны
С
|н* -'.'л- ~3 ПО
|0| 1
ф г - - - - - '
д-зте з-зказа С
|Дет<>
':
'. . Г
дате сборки С |Г- ■-
; ■
" 0
' /ГЧ/-ЛУ ■
___
' . __
' IqJ . , n? F
«сс:
ГЗ ТгаШ;-.--С С| ;
С^ослизоввть)
Рис.1
ши фильтры по периоду сборки и периоду заказа. Как вы, уверен,
помните, идентификатор элемента диалога можно установить в
свойствах этого элемента диалога. Если включен флажок
Чек
1
,
в
строку условия запроса (о ней позже) включается условие фильт-
рования по дате заказа, а если включен
Чек2,
то мы получаем воз-
можность фильтрования также и по г ериоду
сборки. Остальные элементы, идентификато-
ры которых видны на рисунке 1, очевидно, от-
вечают за периоды сборки и заказа.
Также стоит вручную выставить порядок
обхода элементов (рис 2). О том, как это
сделать, было рассказано в одной из пре-
дыдущих статей цикла. Не забывайте об удоб-
стве пользователей — в будущем при под-
держке конфигурации вам за это воздастся
сторицей.
Ш к Рис.2
В чот по комлькп ерам
; т '.-
-j
-
у
'/
-
‘У
.-
Щументы стйданмС B|ii'i--
йвагь г»:;;
ш
joj
Как видите, окно создания отчета в 1С мало чем отличается
от других аналогичных окон системы. Здесь мы встретим те же
вкладки, что и при создании документа (Диалог, Модуль и Таб-
лица). Данные, полученные в результате выполнения отчета, бу-
дут выводиться в уже известную вам печатную форму отчета. По-
рядок работы с печатной формой отчета аналогичен описанно-
му в предыдущей статье, поэтому подробно останавливаться на
этом не буду. Основные особенности, присущие нашей конфи-
гурации, мы рассмотрим чуть позже, а сейчас давайте откроем
вкладку М одуль и начнем постепенно разбираться в исходном
тексте нашего отчета.
Чтобы не усложнять и без того запутанную жизнь, скажу лишь,
что каждый запрос представляет собой объект системы 1
С, соз-
даваемый стандартной функцией
Создать0бъект().
Например:
Запрос = СоздатьОбъект("Запрос");
Каждому запросу в параметрах должно быть передана неко-
торая логическая структура, в соответствии с которой при вы-
полнении запроса из системы выбираются необходимые данные.
Проще всего организовать эту структуру в виде текстовой пере-
менной, в качестве значения которой должны быть описаны со-
ответствующие условия. В нашем случае текстовая переменная
должна принять следующее значение:
ТекстЗапроса =
"// { {ЗАПРОС (Сформировать)
IПериод с НачИнт по КонИнт;
I Обрабатывать Документы Все;
I Док = Документ.Компьютер.ТекущийДокумент;
IНомер = Документ.Компьютер.НомерДок;
IДатаЗаказа=Документ.Компьютер.ДатаДок;
IДатаСборки=Документ.Компьютер.ДатаСборки;
IМатерикскалПлата = документ.Компьютер. Материнская
Плата;
I Процессор = Документ. Компьютер. Процессор ,-
IОперативнаяПамять=Документ.Компьютер.Оперативная
Память;
IВидеоадаптер - Документ.Компьютер.Видеоадаптер;
IЖесткийДиск=Документ.Компьютер.ЖесткийДиск;
1 ОптическимПривод = Документ.Компьютер.Оптический
Привод;
IМонитор - Документ.Компьютер.Монитор;
I Группировка Док упорядочить по Док. НомерДок ;
I";//}}ЗАПРОС
Как видите, условие запроса представляет собой обыкновен-
ную текстовую переменную, разделенную для удобочитаемости
на строки. Разберем строение этой переменной подробнее.
Общий синтаксис переменной запроса аналогичен синтакси-
су 1С — здесь каждое логическое выражение тоже нужно закан-
чивать знаком точки с запятой. Как видно из
исходного текста переменной, перенос зна-
чения текстовой переменной на другую стро-
ку осуществляется при помощи вертикаль-
ной черты, хотя в принципе можно этого и
не делать.
Первая строка переменной, равно как и
последняя, в общем-то не обязательны, но ес-
ли их не напиоать, вы не сможете произво-
дить синтаксический контроль запроса, сле-
довательно, возникает риск синтаксической
т
EgO
Э
1
№ 44/319 01 ноября-08 ноября 2004
предыдущая страница 38 Мой Компьютер 2004 44 читать онлайн следующая страница 40 Мой Компьютер 2004 44 читать онлайн Домой Выключить/включить текст