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

К сожалению, типовой функционал программ 1С не всегда удовлетворяет все запросы бухгалтера или директора. И тут на помощь приходят программисты, которые дописывают обработки, отчеты, расширения под желания своих заказчиков. А вы хоть раз задумывались, что общего у бухгалтера и программиста? Ведь на первых шагах своего взаимодействия они общаются одинаково… Первый со вторым, а второй с компьютером, так как будто последний ничего не знает и все указания воспринимает буквально. В этой публикации мы рассмотрим популярные изменения конфигурации: печатные формы (отчеты), расширения и другие изменения конфигурации, а также дадим рекомендации как не напороться на рифы необновляемой конфигурации. 

Как говорил известный ученый и специалист по компьютерам Эдсгер Дейкстра «Если отладка – процесс удаления ошибок, то программирование должно быть процессом их внесения».

Для примера взаимодействия и упрощения терминов языка программирования представим, что пишем программу, указывающую компьютеру как приготовить бутерброд:

Программист: «Возьми хлеб!»

Компьютер: «Ошибка отладчика: «Я не понимаю, что такое возьми и хлеб».

Программист: «Протяни руку туда, куда я скажу и схвати то, что там будет!»

Компьютер: «Ошибка отладчика: «Я не понимаю, что такое рука!»

Программист (вздыхая): «Вот это штука (указывая на руку)».

Компьютер: «Понял».

Программист: «Протяни руку туда, куда я скажу и схвати хлеб!»

Компьютер: «Ошибка отладчика: «Я не понимаю, что такое схвати!»

Программист: «Протяни руку туда, куда я скажу и согни 5 пальцев вот так (показывает)»

Компьютер: Протягивает руку к хлебу, сжимает пальцы и разжимает (Хлеб остается на месте) …

«Дурацкий пример!» - скажете вы, но именно так или почти так строится первое взаимодействие: Компьютер (язык программирования) не может понять то, что программист в точности не определил, а любой процесс, который он пытается описать нуждается в полном и однозначном определении! Аналогично и при общении с бухгалтером это взаимодействие похоже на известную игру «Испорченный телефон».

Именно в этом и заключается сложность программирования: одна единственная неточная или ошибочная команда делает все программу нерабочей. Аналогично работает и при изменении команд.

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

Как автор статьи хочу немного добавить от себя: помню, как учился в ВУЗе писать программы на языке C++ и как расстраивался, когда много часов искал пропущенную точку с запятой, из-за которой не работала моя программа и вдобавок омрачали слова преподавателя: «Вы никогда не будете использовать пузырьковую сортировку в реальных программах, но мы все равно будем ее изучать согласно программы ВУЗа!».

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

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

Все рифы необновляемой конфигурации легко обойти по карте, которая вырисовывается из вышеописанного определения программирования:

1. Дать верную (полную) входную информацию;

2. Дать верную (точную) последовательности шагов (алгоритм);

3. Обозначить верные (конкретные) выходные результаты.

Пройдемся подробнее по каждому пункту:

Верная входная информация для печатных форм заключается в:

• Определении источника для печати – документа и его конкретной формы или нескольких форм. Печатные формы (далее ПФ) в 1С привязаны к документу(ам), данные которого они выводят на экран в виде шаблона(таблицы) печатной формы из кнопки печать.

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

• Определении вариантов подстановки полей, которые должны подставляться из 1С – какое поле брать для справочника (наименование или полное наименование), в каком падеже склонения выводить на макет.

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

• Определении размеров и параметров печати на принтере – умещать на одну страницу или переносить, сохраняя часть текста в заголовке, необходимость сохранять и конвертировать в другие форматы файлов Excel, Word и др.

• Видимость, доступность для разных пользователей в зависимости от их прав доступа.

Согласно принципу Парето, только 20% доработок имеют обоснование, а 80% делаются по незнанию типового функционала Заказчиком, или Исполнителем.

Далее рассматриваем эти 80% процентов:

1. Многие печатные формы типовых 1С доступны для редактирования пользователям и такие простейшие задачи как изменить шапку приказа (ссылку на унифицированную формы, шрифт, и другие элементы) решаются как в привычных офисных документах WORD(*.doc) и Excel (*.xls).

Редактирование макетов печатных форм (табеля, счета и акта) мы ранее уже рассматривали в статьях. Макеты открываются из раздела «Администрирование» и позволяют добавить/удалить/заменить данные в макете, добавить вычисляемое или логическое выражение, а также восстановить стандартные настройки макета, если изменения стали не актуальны.

2. В 1С: ЗУП КОРП ред. 3.1 часто возникает необходимость кадровикам создать какой-то отдельный приказ (награждение конкурса, организация спортивных и других мероприятий), которого нет в программе и при этом учитывать его и контролировать отсутствие дублей номеров, а также хранить копии шаблонов таких приказов для повторного использования. Тогда можно использовать механизм «Произвольные кадровые приказы» доступный из раздела настройка: 



Каждый шаблон разрабатывает сам пользователь без привлечения программиста или наличия умения программировать:



♦ Перечисляя подставляемые поля приказа:



♦ Указывая как оформляется приказ: на каждого сотрудника или один на несколько сотрудников:



♦ Добавляя или разрабатывая с программистом внешнюю печатную форму, чтобы можно было распечатать и подписать или опубликовать приказ:



♦ Указывая подписантов:



♦ И используя этот шаблон для приказа, в котором подписанты заполняются актуальные на эту дату. И по кнопке «Создать на основании» можем создать документ «Премия», в котором указанные сотрудники будут заполнены автоматически:



Таким образом можно настроить аналогичные другие приказы, например, об организации мероприятий:



3. Настроить разные полномочия подписантов.

1С: ЗУП КОРП позволяет отразить:

– для разных документов – разные подписи,

– добавить для одного сотрудника разные доверенности с разными сроками действия,

– сменить подписанта.

Ответственные лица доступны из справочника организации на закладке «Учетная политика и другие настройки»:



Здесь же можно посмотреть основания полномочий ответственных лиц и показать неактуальные доверенности.

В документах подписанты подставляются автоматически. Если пользователю нужно выбрать другого подписанта, то программа спросит нужно ли запомнить данное изменение:



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



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



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

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

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

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

Чаще всего расширения используют:

• Для сохранения типового функционала и беспрепятственного обновления;

• Для раздельных настроек для каждого из филиалов, при режиме разделения данных;

• Для внедрений, когда доработки делаются под себя собственными ИТ-специалистами или специалистами Подрядчика;

Расширения не используют:

♦ Когда требуется добавить новые объекты конфигурации или изменять их тип данных;

♦ В старых конфигурациях, в которых механизм использовать невозможно;

На сайте 1С есть страница посвященная расширениям, там есть раздел «Назначение» и «Сценарии использования», можно ознакомиться с ними еще более подробнее.

Подведем итоги:

Подход к доработке 1С схож с двумя вопросами, которые задают себе спасатели перед началом спасательных работ:

1) Что грозит мне?

2) И что грозит им?

И если первая угроза больше, то спасатель ждет подмогу, чтобы не стать самому пострадавшим, ожидающим помощи.

Поэтому давайте разберем алгоритм доработок по возрастанию затрат и рисков:

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

2. Дорабатывать внешними объектами (отчеты, обработки, расширения).

3. Изменять основную конфигурацию следуя системе стандартов и методик разработки конфигурации от фирмы 1С.

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

Автор статьи: Сергей Барбатько

Понравилась статья? Подпишитесь на рассылку новых материалов


Добавить комментарий


Защитный код
Обновить

Поиск по сайту

Наши курсы

Мы Вконтакте

Форма входа

Яндекс.Метрика
Политика конфиденциальности
Согласие на обработку персональных данных
Оферта