ПОМОЩНИК ПЕЧАТИ В ЗИК 7.7

21.08.09

База данных - HighLoad оптимизация

Как оптимально использовать штатные средства системы программ 1С в версии 7.7. Использование помощника печати для настойки общих для всех пользователей отчетов.

ПОМОЩНИК ПЕЧАТИ ИЛИ ПРОИЗВОЛЬНЫЕ ОТЧЕТЫ

Как оптимально использовать штатные средства системы программ 1С в версии 7.7. Пособие для начинающих администраторов 1С.

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

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

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

Я пошел следующим путем:

  • выделил обработку «ПомощникПечати» во внешнюю обработку;
  • изменил две строчки текста в обработке;
  • записал ее в папку «ExtForms», для того, чтобы она появилась в меню «Дополнительные возможности»;
  • создал набор самых ходовых отчетов. Файлам с настройками отчетов присвоил атрибут “R” – для чтения (чтобы пользователи не испортили созданные отчеты);
  • показал пользователям как работать с отчетами (написал инструкцию).

 

1.      Где прячутся произвольные отчеты

Первый вопрос, который у меня возник «Как удалить старый отчет»? Быстро выяснилось, что отчеты сохраняются в файлах “1Cv7.CFG”. Если в системе установлен неавторизированный доступ, то этот файл общий для всех пользователей и находится в папке с данными. К этой папке можно обратиться из программы с помощью функции «КаталогИБ()».

В файле “1Cv7.CFG” сохраняются различные настройки среды выполнения программы (фильтры, строки поиска, настройки отчетов и т.д.). При отсутствии авторизированного доступа все пользователи обращаются к этому файлу, сохраняют в нем значения среды выполнения и получают из него сохраненные значения. Это очень неудобно.

При авторизованном доступе к данным файл “1Cv7.CFG” у каждого пользователя свой и находится в личной папке пользователя, указанной в конфигураторе при создании нового пользователя.

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

Замечание по поводу файла “1Cv7.CFG”. Этот файл имеет тенденцию к непомерному увеличению размеров. При этом наступают следующие проблемы:

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

Происходит это из-за того, что в файле сохранено очень много внутренних переменных программы. Файл “1Cv7.CFG” текстовый и его можно открыть в текстовом редакторе. Структура его тоже не очень сложна, но разобраться в нем непросто, когда там сохранено много всяких настроек, так что корректно отредактировать его сложно.

Для ускорения работы программы файл “1Cv7.CFG” можно удалить, но при этом удалятся все пользовательские настройки, в том числе и произвольные отчеты. Пользователю нужно заново создать свои любимые настройки. Делать это приходится довольно регулярно.

Для более продуктивной работы можно хранить «эталонный файл“1Cv7.CFG”» и отделить произвольный отчеты.

  

2.      Изменение обработки

Для отделения произвольных отчетов от файла “1Cv7.CFG” необходимо обработку «ПомощникПечати» сохранить как внешнюю обработку, например в файл «Произвольные отчеты.ert».

Затем в сохраненной обработке изменить две строки (строка 2501и 2624) и две добавить:

//СохранитьЗначение("_Помощник_ПЕЧАТИ_ОТЧЕТЫ_"+ТипОтчета+"_",СЗОтчетов);

ЗначениеВФайл(КаталогИБ()+"ExtForms\Пр_Отчет_"+ТипОтчета+".cfg",СЗОтчетов);
//СЗОтчетов = ВосстановитьЗначение("_Помощник_ПЕЧАТИ_ОТЧЕТЫ_"+ТипОтчета+"_"); СЗОтчетов = ЗначениеИзФайла(КаталогИБ()+"ExtForms\Пр_Отчет_"+ТипОтчета+".cfg");

 Две исходных строки нужно закомментировать, две строки добавить. Как видно в исходной обработке описания произвольных отчетов хранились в переменных  "_Помощник_ПЕЧАТИ_ОТЧЕТЫ_1_" (всего 3 таких переменных по количеству типов отчетов). Они сохранялись в файле “1Cv7.CFG”с помощью функций «СохранитьЗначение(,)» и «ВосстановитьЗначение()».

 Эти функции позволяют сохранять в файл “1Cv7.CFG” множество переменных и их значений. Для разделения хранения отчетов от прочих переменных предлагается сохранять каждую переменную в отдельный файл «Пр_Отчет_1.cfg», всего 3 файла для для 3-х типов отчетов:

  • «Пр_Отчет_1.cfg» - для отчетов по кадровым данным сотрудников;
  • «Пр_Отчет_2.cfg» - для отчетов по журналу расчетов;
  • «Пр_Отчет_3.cfg» - для отчетов по журналу ФОТ.

Файлы находятся в папке “ExtForms” каталога информационной базы. Туда же необходимо скопировать новую внешнюю обработку «Произвольные отчеты.ert».

ExtForms” – это специальная папка для хранения внешних отчетов и обработок. В программе есть средства для работы с ней: нужно в меню «Сервис» выбрать пункт «Дополнительные возможности». На экране появится таблица.

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

 

3.      Формирование отчетов

Затем можно приступить к формированию типовых отчетов в каждой из 3-х групп.

В процессе работы выплыли некоторые «ляпы»:

  • в адресных полях не работает операция «содержит»;
  • отсутствуют операции сравнения у полей с датами.

По завершению отчетов на файлы с описаниями отчетов можно установить атрибут файла “R” (readonly).

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

 

4.      Что получили

В результате несложных действий мы получили две совершенно одинаковых обработки:

  • первая работает в стандартном варианте: вызывается из меню «Отчеты» и описание отчетов записывает в личный файл “1Cv7.CFG” пользователя;
  • вторая – общая для всех и находится в стандартном месте.

  

5.      Структура файла с описаниями отчетов

            Как уже говорилось файлы с описанием отчетов – текстовые файлы. Они имеют следующую структуру:

 

{“VL”, {

{ {“VL”,}, },

….

{ {“VL”,}, },

}}

 

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

Пример можно скачать по ссылке //infostart.ru/projects/5252/

См. также

Блокировки SQL базы данных 1С 7.7

HighLoad оптимизация Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Конфигурация на 1С 7.7, показывающая блокировки на MS SQL сервере и доменных пользователей по SPID. Используется 1С++ и классы.

1 стартмани

09.11.2021    4613    8    ShoDm    17    

11

Ускорение работы 1С 7

HighLoad оптимизация Платформа 1С v7.7 Конфигурации 1cv7 Бесплатно (free)

Недорогое повышение скорости работы 1С

31.05.2013    12996    ins-post    22    

-1

Удаление нулевых значений в промежуточных регистрах

Чистка данных HighLoad оптимизация Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

По статье "Зачем в 1С нужно периодически пересчитывать итоги по регистрам?" http://infostart.ru/public/177171/ Обработка для 7.7, чтобы посмотреть что же творится в БД для SQL

1 стартмани

13.03.2013    23178    53    maxpiter    15    

8

Не гибкие блокировки в "1С:Предприятие 7.7", но чуть-чуть "Управляемые".

HighLoad оптимизация Оперативный учет 7.7 Бухгалтерский учет 7.7 Расчет 7.7 Конфигурации 1cv7 Россия Бесплатно (free)

Обратились ко мне с вопросом по теме форума: http://forum.mista.ru/topic.php?id=558772 Автор темы: "DennizzM". Название: "v7: 1c v7.7 ошибки транзакции - как отловить виновника?" Текст с сокращениями: "Вопрос наверняка не новый... Итак - есть база 1c v7.7 (самописная конфа). Периодически у пользователей возникает ошибка при проведении транзакции. База работает под терминалом. Нагрузка на дисковую подсистему небольшая, CPU на нуле, RAM до черта свободного. Вопрос вот в чем - как отловить инициатора первой транзакции которая всех держит? Итак - как мне выкрутиться? ;) ...я не имею права и не могу лезть внутрь конфы и модифицировать ее.".

13.07.2011    26197    hogik    16    

11
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Tatitutu 3855 24.07.09 15:12 Сейчас в теме
Сергей , статья позновательная - спасибо. А вот ссылку на сайт (главная страница к этой статье не имеет никакого отношения, кроме автора) зачем разместил ? Накрутка посещаемости своего сайта, реклама другого продукта ? Размести его здесь - это будет более честно и правильно.
2. daulberg 502 09.09.09 12:45 Сейчас в теме
3. Re:аниматор 338 24.11.09 07:26 Сейчас в теме
а как в произвольном отчете получить графы в отчет Дата приема и Дата увольнения?
Оставьте свое сообщение