Методика добавления в конфигурацию УТП возможности ручной корректировки движений документов (как в бухгалтерии для Украины)

Публикация № 1044891

Программирование - Практика программирования

Корректировка движений документов УТП БП

1
Показан процесс внесения изменений (доработки) в конфигурацию УТП для Украины, для добавления возможности - ручной корректировки движений аналогичной той, которая используется в конфигурации Бухгалтерия для Украины ред. 1.2.

Описание задачи.

В конфигурации 1С:Бухгалтерия для Украины ред. 1.2. (БП) существует возможность ручной корректировки движений документов.  Необходимо перенести данную возможность в конфигурацию Управление торговым предприятием для Украины (УТП).

 

Решение задачи.

  • Минусы - конфигурацию нужно снимать с замка и дорабатывать.
  • Плюсы - Доработки будут сделаны с минимальным влиянием на обновление.

1. Снимем конфигурацию с замка.

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

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

После того как программа "подумает", кнопка Включить возможность изменения исчезнет. Это означает что можно продолжать.

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

 

Теперь аналогичные манипуляции необходимо проделать с документом Платежное поручение исходящее

Для этого раскрываем ветку Документы, находим в ней ПлатежноеПоручениеИсходящее и проделываем аналогичные манипуляции. 

На этом подготовка конфигурации завершена. 

 

2. Добавляем новые общие модули. 

Для этого разворачиваем ветку Общие, находим ветку Общие модули, и добавляем три новых общих модуля:

  • script_ОбщегоНазначения
  • script_ПлатежноеПоручениеИсходящее
  • script_ПодпискиНаСобытияФорм

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

Теперь нужно вставить в каждый общий модуль текст программного кода, который можно взять из спойлеров расположенных ниже. Для этого нужно два раза щелкнуть ЛКМ на общем модуле. После этого программа откроет окно редактора текста общего модуля, в который нужно скопировать и вставить текст из соответствующего спойлера.

 
 Текст общего модуля - script_ОбщегоНазначения
 
 Текст общего модуля - script_ПлатежноеПоручениеИсходящее
 
 Текст общего модуля - script_ПодпискиНаСобытияФорм

С общими модулями тоже закончили. Идем дальше.

 

3. Добавление подписок на событие.

Теперь необходимо добавить две подписки на события:

  • Обработка проведения
  • Обработка отмены проведения

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

Для этого в дереве метаданных находим ветку Подписки на события и добавляем новые подписки:

  • script_РучнаяКорректировка_ОбработкаПроведения
  • script_РучнаяКорректировка_ОбработкаУдаленияПроведения

После этого каждую подписку нужно настроить так, как показано на картинке ниже. 

С подписками тоже разобрались.

 

4. Добавление нового реквизита - Ручная корректировка.

Теперь в документ Платежное поручение исходящее необходимо добавить новый реквизит объекта - Ручная корректировка.  

Примечание

В УТП установлен режим совместимости 8.2.13. Из-за этого мы не можем использовать объект метаданных - Общие реквизиты. Но разработчик всегда может самостоятельно поднять режим совместимости до версии 8.2.14. Это позволит не добавлять новый реквизит в каждый документ, но добавить один общий для всех реквизит Ручная корректировка. 

Но мы пойдем по пути добавления реквизита в документ.

Открываем окно дерева метаданных, разворачиваем ветку Документы, находим в ней документ ПлатежноеПоручениеИсходящее, и раскрываем его ветку. Далее раскрываем ветку Реквизиты и добавляем новый реквизит script_РучнаяКорректировка (Тип значения: Булево).

 

5. Изменения в форме документа.

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

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

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

Для этого разворачиваем ветку Формы, находим в ней - ФормаДокумента и копируем ее. В результате появится еще одна форма - ФормаДокумента1. Переименовываем ее на scipt_ФормаДокумента. 

Далее два раза щелкаем ЛКП на строке с именем документа - ПлатежноеПоручениеИсходящее. В результате откроется окно, в котором нужно перейти на закладку Формы. На этой закладке нам нужно заменить оригинальную форму документа на новую scipt_ФормаДокумента.

После этих манипуляций основной формой документа станет новая скопированная форма.

Теперь будем вносить изменения в модуль новой формы. 

Для этого щелкаем на ней ЛКМ, и переходим на закладку Модуль. Опускаемся в самый конец текста и после всех строк вставляем кусок кода, расположенный ниже под спойлером:

 
 Код для вставки

 

6. Изменения в форме списка (журнале) документов.

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

После этого открываем скопированную форму, переходим в конец модуля и вставляем следующий кусок кода:

 
 Код для вставки

 

7. Добавление обработки - Корректировка движений.

Главным элементом данного механизма является встроенная в БП обработка Корректировка движений.  Необходимо ее сохранить из БП на диск, немного доработать и вставить в УТП в ветку Обработки.

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

После этого программа попросит выбрать файл внешней обработки с диска. После выбора файла, в конце списка должна появится наша новая обработка - script_КорректировкаДвижений.

Готовую обработку Корректировка движений можно скачать ниже.

 

Проверяем.

Сохраняем изменения. Для этого нажимаем на клавиатуре F7 и соглашаемся со всеми предложениями программы. 

Запускаем программу в пользовательском режиме, переходим в список документов Платежное поручение исходящее.

Нажимаем в списке на кнопку ДтКт и ... Вуаля.

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

Откроем документ и тоже проверим работоспособность нового механизма.

После этого попытаемся провести документ. Если движения были отредактированы вручную, программа должна выдать сообщение об ошибке: Движения документа исправлены вручную!

При отмене проведения признак ручной корректировки будет снят, а все движения документа удалены.

1

Скачать файлы

Наименование Файл Версия Размер
Обработка - Корректировка движений
.epf 88,57Kb
17.04.19
3
.epf 88,57Kb 3 Скачать

См. также

Специальные предложения

Избранное Подписка Сортировка: Древо
В этой теме еще нет сообщений.
Оставьте свое сообщение