В УТ 11 по ряду причин после закрытия смены документ ВыемкаДенежныхСредствИзКассыККМ становится недоступным для редактирования. И если обстоятельства вынуждают корректировать кассу и выручку, то это вызывает ряд затруднений. Данную операцию можно реализовать стандартными средствами, через групповую обработку. Но это не всегда эффективно. Также возможно вмешаться в конфигурацию и снять запрет редактирования реквизита СуммаДокумента, но это тоже может оказаться не лучшим вариантом, если конфигурацию предполагается регулярно обновлять. Вполне приемлемым решением может быть подключение внешней обработки.
Как правило, при сведении выручки и касс открытие документов происходит не через списки документов, а через отчёты и расшифровки отчётов, и желателен вариант изменений внешней обработкой именно из формы документа. Что и реализовано в данной обработке.
Подключение внешних обработок с видом "ЗаполнениеОбъекта" подразумевает вариант вызова из списка документов, либо из формы документа. Но реализация этих двух вариантов не идентична. При вызове внешней обработки "ЗаполнениеОбъекта" передаются параметр - массив со списком ссылок. При работе из списка документов подразумевается, что сами объекты в этот момент закрыты, и с ними можно выполнять операции перезаписи. В случае же вызова из формы документа возникает сложность. Необходимо получить экземпляр объекта, который открыт в ФормеДокумента, и выполнить изменения именно с ЭТИМ экземпляром, чтобы все изменения отразились в этой же открытой форме. Поэтому варианты реализации в первом и втором случае могут существенно отличаться. В первом случае допустим вызов серверного метода. Во втором случае необходим вызов клиентского метода. И это накладывает ряд особенностей. В обработке из параметра "ссылка" определяется окно, в котором открыт объект, и работа идёт с контекстом открытой формы. При этом контекст формы НЕ передаётся во внешнюю обработку, а определяется внутри обработки. Результат отражается непосредственно в форме открытого документа.
Клиентский метод обработки также накладывает ряд ограничений при использовании модальных окон. Например, методы Вопрос(), ВвестиЧисло() и некоторые другие вызывают сообщение об ограничении использования модальных окон в данной конфигурации. В обработке реализован более корректный вариант подобных методов без использования модальных окон.
Обработку можно применять непосредственно по своему назначению, а также как вариант шаблона внешней обработки ЗаполнениеОбъекта с вызовом из формы документа.