Печатные формы, расширения и изменения конфигурации: как не напороться на рифы необновляемой конфигурации 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. После каждого обновления проводить аудит и решать требуется ли еще доработка или она уже реализована типовым механизмом и от нее следует отказаться, чтобы не платить за ее адаптацию с каждым обновлением.

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

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


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


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

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

Форма входа

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