Темы статей
Выбрать темы

Доработка интерфейса отчетов

Редакция БК
Статья

Доработка интерфейса отчетов

 

img 1

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

В статье приведен порядок доработки «1С: Бухгалтерии для Украины», релиз 7.70.277. Аналогичные изменения несложно внести в любую другую конфигурацию «1С: Предприятия 7.7».

Эдвард МЕХЕДОВ, программист, главный бухгалтер ООО «Эйдос», г. Днепропетровск, e-mail: mexedov@mail.ru, тел. 8 (050) 583-81-64

 

Что мы имеем?

Сформировали мы оборотно-сальдовую ведомость. Проанализировали. Нашли ошибку, предположим, кредитовый остаток на начало периода по активному счету. Что в этом случае необходимо сделать? Правильно! Перейти на один период назад. Какие действия для этого необходимо выполнить?! Навести указатель мыши на кнопку «

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

img 2

Вспомним, как переход между периодами осуществляется во многих других программах. Как говорит один мой знакомый, одним нажатием кнопки. Ну одним нажатием — не обещаю, хотя и это возможно, только доработка будет сложнее. Но вот двойным щелчком левой кнопки мыши — можно без особенных ухищрений. О том, как это сделать, я и собираюсь вам поведать.

Хочу отметить, что изменения, которые надо внести в отчетные формы, весьма однотипны и предельно просты. Но для того чтобы более уверенно себя чувствовать, все изменения надо вносить под присмотром программиста, пусть даже и не самого опытного.

 

Что мы получим?

На рис. 1 показана обычная оборотно-сальдовая ведомость. Обратите внимание на серую полосу в верхней части отчета. Она содержит только кнопки «

Обновить» и «Настройка». На рис. 2 приведен модернизированный отчет. Теперь для перехода между периодами можно просто сделать двойной щелчок мышью на соответствующей кнопке. Например, кнопка со значком «<» будет переносить нас на месяц назад, кнопка со значком «>» — на месяц вперед.

img 3

Условные обозначения и назначение кнопок приведены в табл. 1.

Таблица 1

Условные обозначения и назначения кнопок

Условные обозначения

Действие кнопки

<

Переход на месяц назад

>

Переход на месяц вперед

<<<

Переход на квартал назад

>>>

Переход на квартал вперед

1кв.

Позиционироваться на 1-й квартал текущего года

2кв.

Позиционироваться на 2-й квартал текущего года

І п.г.

Позиционироваться на период 1-е полугодие

3кв.

Позиционироваться на 3-й квартал текущего года

9мес.

Позиционироваться на период 9 месяцев

4кв.

Позиционироваться на 4-й квартал текущего года

Год

Позиционироваться на интервал за текущий год

 

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

 

Доработка

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

 

О

боротно-сальдовая ведомость

Рассмотрим проведение доработки на примере отчета «

Оборотно-сальдовая ведомость». Откроем Конфигуратор и отыщем этот отчет в ветви «Отчеты» конфигурации. Для достижения необходимого результата нам нужно дополнить процедуру «ПриОткрытии» модуля отчета. Перейдем на закладку «Модуль» и отыщем в нем строку 618 с текстом «Если Обновить <> 2 Тогда» этой процедуры. Перед этой строкой (на строчку выше) добавим строки согласно листингу 1. Как всегда, добавляемые строки помечены в листинге полужирным шрифтом, существующие строки — обычным шрифтом.

 

Листинг 1

ПланСчетов = ВыбранныйПланСчетов();

Если глИспользуетсяРазделительУчета =1 Тогда

РазделительУчета = глВосстановитьЗначение(,″БазФирма″);

ПоВсемРУ = 0;

КонецЕсли;

КонецЕсли; // строка 616

 

// ==== Начало вставки Мехедов, Б&К №1-2(73-74), 2010 ====

// КВАРТАЛ НАЗАД

Если Обновить = 3 Тогда

Дата1=ДобавитьМесяц(Дата1,-3);

Дата2=КонКвартала(Дата1);

КонецЕсли;

 

// КВАРТАЛ ВПЕРЕД

Если Обновить = 4 Тогда

Дата1=ДобавитьМесяц(Дата1,3);

Дата2=КонКвартала(Дата1);

КонецЕсли;

 

// МЕСЯЦ НАЗАД

Если Обновить = 5 Тогда

Дата1=ДобавитьМесяц(Дата1,-1);

Дата2=КонМесяца(Дата1);

КонецЕсли;

 

// МЕСЯЦ ВПЕРЕД

Если Обновить = 6 Тогда

Дата1=ДобавитьМесяц(Дата1,1);

Дата2=КонМесяца(Дата1);

КонецЕсли;

 

// 1 КВАРТАЛ

Если Обновить = 11 Тогда

Дата1=НачГода(Дата1);

Дата2=КонМесяца(Дата1+89);

КонецЕсли;

 

// 2 КВАРТАЛ

Если Обновить = 12 Тогда

Дата1=НачМесяца(НачГода(Дата1)+95);

Дата2=КонМесяца(ДобавитьМесяц(Дата1,2));

КонецЕсли;

 

// 3 КВАРТАЛ

Если Обновить = 13 Тогда

Дата1=НачМесяца(НачГода(Дата1)+187);

Дата2=КонМесяца(ДобавитьМесяц(Дата1,2));

КонецЕсли;

 

// 4 КВАРТАЛ

Если Обновить = 14 Тогда

Дата1=НачМесяца(НачГода(Дата1)+278);

Дата2=КонМесяца(ДобавитьМесяц(Дата1,2));

КонецЕсли;

 

// ВЕСЬ ГОД

Если Обновить = 15 Тогда

Дата1=НачГода(Дата1);

Дата2=КонГода(Дата1);

КонецЕсли;

 

// 1 ПОЛУГОДИЕ

Если Обновить = 16 Тогда

Дата1=НачГода(Дата1);

Дата2=ДобавитьМесяц(Дата1,6)-1;

КонецЕсли;

 

// 9 МЕСЯЦЕВ

Если Обновить = 19 Тогда

Дата1=НачГода(Дата1);

Дата2=ДобавитьМесяц(Дата1,9)-1;

КонецЕсли;

//==== Конец вставки Мехедов, Б&К №1-2(73-74), 2010 ====

 

Если Обновить <> 2 Тогда // бывшая строка 618

Сформировать();

СтатусВозврата(0);

Возврат;

КонецЕсли;

 

Однако это еще не все. Теперь самое сложное. Будьте предельно внимательны! Перейдите на вкладку «

Таблица» или «Таблица_Укр», в зависимости от значения константы «Формы на украинском». Здесь необходимо разместить так называемые кнопки для перехода между периодами. На самом деле это не кнопки в обычном нашем понимании, а рисунки-объекты. Два таких объекта уже присутствуют в печатной форме отчета. Это «Обновить» и «Настройка». Давайте один из них скопируем для проведения дальнейших экспериментов над ним. В принципе можно просто создать новый объект, ничего не копируя. Для этого необходимо выбрать в меню «Таблица → Вставить рисунок → Прямоугольник» и растянуть этот объект на печатной форме. Правда, после этого новому объекту придется задать цвет фона, ширину, высоту, ровненько вписать в верхнюю строку на манер уже имеющихся кнопок «Настройка» и «Обновить». Поэтому просто скопируем кнопку «Настройка» и используем ее как образец.

Наведем указатель мыши на кнопку «

Настройка», нажмем и удержим клавишу «Ctrl». Теперь необходимо, нажав левую кнопку мыши и не отпуская клавишу «Ctrl», перетащить «клонированный» объект вправо по серой линии (она еще называется «Секция_6»). После остановки курсора мыши и позиционирования объекта в нужном месте формы необходимо последовательно отпустить левую кнопку мыши и только затем — клавишу «Ctrl». Вместо пунктирной рамки в том месте экрана, где мы остановились, окажется скопированный графический объект «Настройка» (рис. 3).

img 4

Теперь давайте озаглавим нашу клонированную кнопку и определим действие программы, вызываемое при двойном щелчке на ней. Для этого необходимо навести курсор на новую кнопку и сделать щелчок правой кнопкой мыши. В появившемся контекстном меню выберем пункт «Свойства». Приведем содержимое палитры свойств вставленного объекта в соответствие с рис. 4. Корректировки требуют только два реквизита показанной на рисунке закладки «Текст»:

1) в поле ввода надписи вместо названия кнопки «Настройка» введем символ «>» (без кавычек);

2) в реквизите «Расшифровка» вместо кода «РасшифровкаОбновить(2)» введем код «РасшифровкаОбновить(5)».

Все остальные реквизиты на закладке «Текст

» и на всех остальных закладках окна свойств рисунка (см. рис. 4) оставляем без изменения. Новая кнопка будет выглядеть примерно так же, как исходная. Она будет отличаться надписью и выполняемым действием: при двойном щелчке мышью на ней не будет вызываться окно настройки отчета. Будет произведено то действие, которое мы описали в добавленном фрагменте кода, а именно установка периода отчета на предыдущий месяц.

img 5

Полученную в результате наших действий кнопку мы клонируем подобным образом еще десять раз. Реквизиты всех добавленных кнопок правим так, как указано в табл. 2.

 

Таблица 2

Реквизиты добавленных кнопок

№ п/п

Надпись

Реквизит «

Расшифровка»

1

<

РасшифровкаОбновить(5)

2

>

РасшифровкаОбновить(6)

3

<<<

РасшифровкаОбновить(3)

4

>>>

РасшифровкаОбновить(4)

5

1кв.

РасшифровкаОбновить(11)

6

2кв.

РасшифровкаОбновить(12)

7

І п. г.

РасшифровкаОбновить(16)

8

3кв.

РасшифровкаОбновить(13)

9

9мес.

РасшифровкаОбновить(19)

10

4кв.

РасшифровкаОбновить(14)

11

Год

РасшифровкаОбновить(15)

 

Важно!

Обратите внимание на содержимое поля «Расшифровка» в свойствах объектов. Именно оно и определяет поведение формы при двойном щелчке мышью на соответствующей кнопке.

Отчет «

Оборотно-сальдовая ведомость» имеет две печатные формы — на русском и на украинском языке. Изменения желательно внести в обе формы. Это сделать несложно: нужно просто скопировать вновь введенные кнопки в соседнюю таблицу.

Выделим все созданные кнопки и скопируем их. Для этого необходимо выделить каждый объект поочередно одним щелчком левой кнопки мыши, удерживая при этом нажатой клавишу «

Shift». Выделяемые кнопки будет охватывать рамка. Когда все нововведенные объекты будут выделены, просто щелкните на них правой кнопкой мыши и выберите из меню пункт «Запомнить». Затем перейдите на следующую печатную форму и, нажав правую кнопку мыши, выберите пункт «Вставить». Далее с помощью управляющих стрелок на вашей клавиатуре переместите скопированные кнопки в необходимое место.

 

остальные отчеты

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

Следует помнить, что дополнения вносятся как в печатную форму отчета, так и в его модуль. Процедура модуля, в которую внедряются дополнения, во всех отчетах носит название «

ПриОткрытии». Думаю, что, если вы укажете номер строки в модуле, перед которой необходимо вставить текст листинга 1 (см. табл. 3), это значительно облегчит работу и сэкономит ваше время.

 

Таблица 3

Номер строки модуля отчета, перед которой необходимо вставить текст листинга 1

№ п/п

Наименование отчета

Номер строки

1

Оборотно-сальдовая ведомость

618

2

Шахматка

254

3

Оборотно-сальдовая ведомость по счету

499

4

Анализ счета

167

5

Анализ счета по датам

160

6

Анализ счета по субконто

489

7

Главная книга

259

8

Анализ субконто

377

9

Карточка субконто

344

10

Карточка счета

480

11

Обороты между субконто

672

12

Отчет по проводкам

266

13

Сводные проводки

181

14

Журнал-ордер по субконто

919

15

Расширенный анализ субконто

702

 

Важно!

Номера строк в табл. 3 даны для релиза 7.70.277. Если вы работаете с более ранним релизом конфигурации, то вам придется самостоятельно отыскать необходимое место в модуле. Не забывайте, что вставку надо делать в процедуре «ПриОткрытии» перед строкой «Если Обновить <> 2 Тогда».

Не забудьте скопировать и кнопки, точно так же, как это проделывалось выше при доработке отчета «

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

 

Тонкости обновления конфигурации

Хочу отдельно отметить, что внесенные изменения придется учитывать при следующих обновлениях конфигурации.

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

Итак, первым делом внимательно читаем прилагающийся к обновлению текстовый файл («

update») с описанием внесенных в новый релиз изменений. Убеждаемся в том, что отчеты в новом релизе не изменяются. Если некоторые отчеты претерпели изменения, записываем их названия на листок бумаги.

Сделав архивную копию рабочей базы данных, начинаем ее обновление. Открываем базу в Конфигураторе, в меню «

Конфигурация» выбираем пункт «Объединение конфигураций». В окне «Открыть файл конфигурации» выбираем файл метаданных «1Cv7.MD» нового релиза конфигурации. Программа произведет анализ изменений в структуре документов, справочников, отчетов и обработок и выведет на экран показанное на рис. 5 окно.

Важно!

Если отчеты в новом релизе не изменялись, снимите пометку с пункта «Отчеты» (см. рис. 5).

img 6

Сняв пометку с какого-либо объекта или группы объектов, вы тем самым укажете программе, что неотмеченный объект обновлять не нужно.

Убедитесь, что переключатели в окне объединения конфигураций стоят на реквизитах «

Загружаемая конфигурация» и «Замещать объекты», и щелкните на кнопке «ОК». Конфигурация будет обновлена, но отчеты со сделанными вами доработками останутся без изменений.

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

 

Выбрав программу для ведения учета, вы выбираете средство автоматизации, а не готовое решение непосредственно для вашей организации. Исключение составляют лишь программы, написанные по заказу именно для вашего предприятия или предприятия с аналогичной спецификой деятельности. Иначе говоря, покупая типовую конфигурацию, будьте уверены, что пусть и минимальные, но коррективы внести в нее придется. Это относится к любой бухгалтерской программе, как-то «1С: Бухгалтерия для Украины» или любая другая программа с типовой конфигурацией.

Не бойтесь усовершенствовать программу — ваши усилия окупятся сторицей!

App
Скачайте наше мобильное приложение Factor

© Factor.Media, 1995 -
Все права защищены

Использование материалов без согласования с редакцией запрещено

Ознакомиться с договором-офертой

Присоединяйтесь
Адрес
г. Харьков, 61002, ул. Сумская, 106а
Мы принимаем
ic-privat ic-visa ic-visa

Мы используем cookie-файлы, чтобы сделать сайт максимально удобным для вас и анализировать использование наших продуктов и услуг, чтобы увеличить качество рекламных и маркетинговых активностей. Узнать больше о том, как мы используем эти файлы можно здесь.

Спасибо, что читаете нас Войдите и читайте дальше