gifts2017

Подсистема "Корректировка движений документов"

Опубликовал Алексей Драчков (Bassgood) в раздел Обработки - Обработка документов

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

Функциональность подсистемы:

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

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

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

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

Состав объектов подсистемы:

1. Подсистема "Корректировка движений документов".

2. Роли "Просмотр движений по регистрам" и "Корректировка движений по регистрам".

3. Общая форма "Корректировка движений документа".

4. Общая команда "Корректировка движений".

5. Общий реквизит "Ручная корректировка движений".

6. Подписка на событие "Перед записью документа (корректировка движений)".

7. Общий модуль "Корректировка движений (вызов сервера)".

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

Инструкция для внедрения подсистемы:

1. Из конфигуратора вашей конфигурации выполнить стандартную операцию "Сравнить и объединить с конфигурацией из файла", выбрав файл подсистемы. В окне объединения убрать флаг "Свойства" корня конфигурации и нажать кнопку "Выполнить".

2. Для общей команды "бгКорректировкаДвиженийДокумента" указать в качестве типа параметра те документы конфигурации, по которым необходим функционал по просмотру и корректировки их движений (в случае необходимости изменить свойство "Группа" для смены месторасположения команды в формах документов, по умолчанию используется группа "Панель навигации формы.См. также").   

3. Добавить в состав общего реквизита "бгРучнаяКорректировкаДвижений" те же документы, которые были указаны в качестве параметра общей команды, приведенной в п.2. 

4. Обновить конфигурацию базы данных (F7).

5. В режиме "1С:Предприятие" настроить права тем пользователям, которым необходимо предоставить доступ к команде просмотра и корректировки движений документов, добавив им одну из имеющихся в подсистеме ролей "Просмотр движений по регистрам" или "Корректировка движений по регистрам".

Требования:

Любая конфигурация, функционирующая в режиме управляемого приложения на платформах версий 8.2.16+ и 8.3 (с возможностью режима совместимости с 8.2.16+). Режим использования модальности не важен.

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

Наименование Файл Версия Размер Кол. Скачив.
Подсистема "Корректировка движений документов"
.cf 24,74Kb
14.03.16
23
.cf 1.0.0 24,74Kb 23 Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Сергей Иванов (u_n_k_n_o_w_n) 11.03.16 08:48
Всегда не хватает данного функционала в типовой конфигурации.
2. Евгений (Amedis) 11.03.16 13:07
К сожалению подобные разработки отношу к категории "гранат" полезность которых зависит от того какой мартышке она попадет в руки...
3. Алексей Драчков (Bassgood) 11.03.16 14:12
(2) Amedis, правильно, именно поэтому в ней предусмотрена возможность предоставления доступа к корректировке только определенному кругу пользователей, которые понимают что делают, по большей части это админы и пара-тройка ответственных сотрудников, другим же пользователям можно предоставить возможность только просмотра движений документа.
4. Игорь Мирошниченко (igormiro) 11.03.16 18:01
Изменений движений документа сохраняются журнале регистрации. Лучше если подсистема, то добавить регистр сведений, чтобы хранить информацию по движениям и вернуть назад если нужно.
5. Алексей Драчков (Bassgood) 11.03.16 19:39
(4) igormiro, это уже нужно добавлять сюда систему версионирования, чтобы можно было откатываться на предыдущие версии движений по регистрам, т.е. это уже совсем другая история, здесь же просто в журнале хранится факт такой корректировки и ее причина в виде комментария от корректировщика.
6. Михаил (ILM) 12.03.16 19:38
Редактируются непосредственно движения у документа или создается документ корректировки записей регистров?
7. Алексей Драчков (Bassgood) 12.03.16 20:10
(6) ILM, редактируются непосредственно движения самого документа, в подсистеме отсутствует какой-либо специальный корректировочный документ и нет какой-либо привязки к самой конфигурации, механизм аналогичен тому, который присутствует в "Бухгалтерия предприятия 3.0" (и присутствует в более старых редакциях других типовых конфигураций).
8. Михаил (ILM) 12.03.16 22:14
(7) Bassgood, Спасибо. Для УПП надо будет такое сделать на обычных форм. Я так понял Загрузка = Истина; и запись в движениях)))
9. Алексей Драчков (Bassgood) 12.03.16 22:53
(8) ILM, Для обычных форм не планирую этого делать, т.к. обычные формы постепенно теряют свою актуальность, да и переписывать придется довольно много, а по поводу "Загрузка = Истина" не совсем понял к чему это.
10. Ермоленко Николай (Enik) 15.03.16 19:10
При перепроведение, все затирается?
11. Алексей Драчков (Bassgood) 15.03.16 19:32
(10) Enik, Нет, откорректированные движения документа не затираются при перепроведении, прошу более внимательно читать описание подсистемы: "при этом система не будет позволять проводить или отменять проведение таких документов без предварительного снятия в них признака ручной корректировки движений (о чем система будет оповещать)"
12. Денис Суходулов (DC) 18.03.16 15:23
(5) Bassgood, Версионирование для этого не очень подходит - нельзя давать пользователю делать такой выбор, да и версий только одна получается=). НаборыЗаписей сериализуются - сделать еще один ОбщийРеквизит (ХранилищеЗначений) и при первом проведении списать туда движения. Ну и кнопку с откатом прикрутить - дел на 10 минут=)
13. Алексей Драчков (Bassgood) 18.03.16 16:13
(12) DC, кажущиеся 10 мин всегда переходят в часы, наблюдаю такую практику уже давно :)
Кому давать такую возможность, а кому нет - это уже дело администрирования, каждый решает на свое усмотрение. А про версии я имел ввиду не откат на исходные движения, а хранение истории корректировок движений документа - от исходного состояния до текущего. А вообще идея отката на исходные движения до их корректировки в общем то неплоха (дабы обработка проведения у документа со временем может измениться), возможно в будущем добавлю эту функцию в подсистему.
14. Денис Суходулов (DC) 21.03.16 18:35
(13) Bassgood, что то не приходит в голову практическая задача, где требовалось бы отслеживать историю корректировок. Важен конечный результат и возможность "сделать все как было"(без проведения корректируемого документа), если набедокурил - инструмент в общем то довольно опасный..=)
15. Артем Артеменко (dock) 24.03.16 13:05
инструмент опасный, но просто замечательный :)
замечательная реализация
Bassgood; +1 Ответить
16. Алексей Ермилов (Alex_E) 24.03.16 13:12
Граната та ещё, но возможность просмотра движений - то, что доктор прописал. Реализация, ИМХО, идеально была бы в расширении...
17. Алексей Драчков (Bassgood) 25.03.16 11:53
(16) Alex_E, к сожалению, на сколько я знаю, в расширениях отсутствует возможность добавления в них общих команд и общих реквизитов (последние изменяют структуру БД), да и далеко не у всех конфигурации функционируют на последних версиях платформы, поддерживающую механизм расширений. А так в общем то подсистема реализована в виде надстройки, все равно практически у всех компаний конфигурации сняты с полной поддержки, поэтому я считаю ничего критического в этом нет.
18. Алексей Ермилов (Alex_E) 25.03.16 11:59
(17) Bassgood, В 8.3.8 расширения будут расширены, а по поводу общих модулей - уже сейчас вместо них вполне работают модули менеджера обработок расширения...
По поводу
практически у всех компаний конфигурации сняты с полной поддержки
я бы не был столь категоричен))))
19. Алексей Драчков (Bassgood) 25.03.16 13:53
(18) Alex_E, нуу выпуска 8.3.8 еще дождаться надо, это все еще в проекте, пока компании еще перейдут на нее, еще пару лет пройдет :)
Я уверен, что практически во всех средних и крупных компаниях управленческие конфигурации сняты с полной поддержки и постоянно дорабатываются привычным для всех внесением изменений в структуру конфигурации, по крайней мере другого я пока еще не встречал (чтобы новый функционал обходился только внешними обработками и расширениями).
20. Алексей Ермилов (Alex_E) 25.03.16 14:02
(19) Bassgood, а мелких на типовых за людей считать не бум?))))) Какому нить ИП с базовой розницей или типовой ПРОФ нужны обновления без привлечения, и хочется Вашу подсистему, ан нет - Вы их не считаете)))))
21. Алексей Драчков (Bassgood) 25.03.16 15:04
(20) Alex_E, я бы не был столь категоричен :)
Мелкие конторы обычно спокойно обходятся без подобных фишек, ИП не станет самостоятельно ковыряться в каких-то записях каких-то регистров (в случае необходимости для этого все равно потребуется привлекать кого-то со стороны, чтобы подправить какую-то мелочевку при помощи типовой "корректировки регистров"), это лично мое мнение ;)
22. Алексей Ермилов (Alex_E) 25.03.16 15:20
(21) Bassgood,
я бы не был столь категоричен :)
Мелкие конторы обычно спокойно обходятся без подобных фишек, ИП не станет самостоятельно ковыряться
- и тем не менее Вы столь категоричны... Я просто пытаюсь Вам сказать, что Вы теряете потенциальных клиентов, ибо не будут они снимать конфу с полной поддержки ради интеграции даже интересной им подсистемы, а расширение этот вопрос снимает - т.е. круг клиентов у Вас мог РЕЗКО расшириться - мелких таки гораздо больше чем средних.... Это конечно моё ИМХО, непонятно только, прочему Вы с этим несогласны?
23. Алексей Драчков (Bassgood) 25.03.16 16:44
(22) Alex_E, то, что круг потенциальных клиентов будет шире - с этим спору нет, но вот две запары:
1. По мне так админские штуки малоинтересны мелким конторам ввиду малого количества пользователей и различного рода правил доступа к данным.
2. Данную подсистему невозможно реализовать через механизм расширений, т. к. в нем отсутствует возможность работы с общими реквизитами.
24. Алексей Ермилов (Alex_E) 25.03.16 17:11
(23) Bassgood, Поп.1 - это как раз пор мне так - расширение ... но не суть, а по п.2 - сейчас конечно нельзя в расширении хранить "свои" данные, но...если очень хочется - придумать что нито можно...

В принципе ладно, не понимаю, что Вас так задело, я высказал своё ИМХО, а про расширение - не смотрел ещё как реализована подсистема внутри - тупо нет времени, но думаю даже сейчас в расширение её прикрутить можно. Если проблема в сохранении общих реквизитов - можно присмотреть какой нить "условно" свободный регистр или использовать хранилище или ещё что нибудь - тут вопрос в желании)))

Ещё раз - нисколько не умаляю Вашу подсистему...
25. Алексей Драчков (Bassgood) 25.03.16 17:43
(24) Alex_E, меня это ни сколько не задело, просто точно также высказал свое мнение по этому поводу, ничего более, только ради дискуссии, и могу сразу высказать свое мнение по поводу вот таких способов решения:
Если проблема в сохранении общих реквизитов - можно присмотреть какой нить "условно" свободный регистр или использовать хранилище или ещё что нибудь - тут вопрос в желании)))

При первом решении подсистема перестает быть универсальной (в каждой конфе таким регистром может выступать абсолютно любой из имеющихся), второе решение с моей точки зрения будет некорректным - хранилище не предназначено для реализации подобного функционала и хранения такой информации (еще и с учетом того, что это и без того является "гранатой").
Эту дискуссии я веду к тому, что разработать универсальный функционал, в котором присутствует необходимость хранения каких-либо "важных" данных, на данном этапе развития расширений, к сожалению, невозможно :(
26. Алексей Ермилов (Alex_E) 25.03.16 17:46
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа